/*
Theme Name:   StoyFin GP Child
Theme URI:    https://stoyfin.com/
Description:  GeneratePress child theme for StoyFin. Identity direction B2 Plotting Sheet (Прокладка). Pairs with the stoyfin-core plugin.
Author:       StoyFin
Template:     generatepress
Version: 1.0.3
Requires at least: 6.4
Requires PHP: 8.2
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  stoyfin-child
*/

/* ==========================================================================
   1. Fonts. Self-hosted woff2, subsets cyrillic, cyrillic-ext, latin. OFL 1.1.
   Source: @fontsource 5.3.0. No requests to Google Fonts.
   The ruble sign U+20BD sits in the latin-ext subset, which is not shipped.
   It falls back to the system font.
   ========================================================================== */
@font-face{font-family:"Fira Sans";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/fira-sans-cyrillic-ext-400-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Fira Sans";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/fira-sans-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Fira Sans";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/fira-sans-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fira Sans";font-style:italic;font-weight:400;font-display:swap;src:url(assets/fonts/fira-sans-cyrillic-ext-400-italic.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Fira Sans";font-style:italic;font-weight:400;font-display:swap;src:url(assets/fonts/fira-sans-cyrillic-400-italic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Fira Sans";font-style:italic;font-weight:400;font-display:swap;src:url(assets/fonts/fira-sans-latin-400-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fira Sans";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/fira-sans-cyrillic-ext-500-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Fira Sans";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/fira-sans-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Fira Sans";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/fira-sans-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fira Sans Condensed";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/fira-sans-condensed-cyrillic-ext-500-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Fira Sans Condensed";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/fira-sans-condensed-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Fira Sans Condensed";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/fira-sans-condensed-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/jetbrains-mono-cyrillic-ext-400-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/jetbrains-mono-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/jetbrains-mono-cyrillic-ext-500-normal.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/jetbrains-mono-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ==========================================================================
   2. Tokens. Night is the default. Daylight applies:
   a) with data-theme="light" on <html> (the toggle),
   b) under prefers-color-scheme: light when no data-theme is set,
   c) on long essays (data-sf-default="light") when no data-theme is set.
   Panel and grid in daylight are derived values. B2 does not name them.
   ========================================================================== */
:root{
	--sf-bg:#0E171E;--sf-panel:#16232C;--sf-text:#E6EDF0;--sf-accent:#9BE3F2;--sf-muted:#A9B4BA;--sf-negative:#E8872E;--sf-grid:#24343F;--sf-positive:var(--sf-accent);
	--sf-font-display:"Fira Sans Condensed","Fira Sans","Helvetica Neue",Arial,sans-serif;
	--sf-font-text:"Fira Sans","Helvetica Neue",Arial,sans-serif;
	--sf-font-mono:"JetBrains Mono",Menlo,Consolas,monospace;
	--sf-unit:8px;--sf-measure:40rem;--sf-rail:14rem;--sf-gap:4rem;
	--sf-h1:2.5rem;--sf-h1-lh:2.75rem;--sf-h2:1.625rem;--sf-h2-lh:2rem;--sf-h3:1.25rem;--sf-h3-lh:1.75rem;
	--sf-body:1.125rem;--sf-body-lh:1.8125rem;--sf-table:.9375rem;--sf-table-lh:1.375rem;--sf-caption:.8125rem;--sf-caption-lh:1.1875rem;
	--sf-radius:2px;
	color-scheme:dark;
	/* GeneratePress global colours follow the StoyFin tokens. */
	--contrast:var(--sf-text);--contrast-2:var(--sf-muted);--contrast-3:var(--sf-grid);--base:var(--sf-panel);--base-2:var(--sf-bg);--base-3:var(--sf-bg);--accent:var(--sf-accent);
}
@media (prefers-color-scheme:light){
	:root:not([data-theme]){--sf-bg:#F2F5F6;--sf-panel:#E3E9EC;--sf-text:#12202A;--sf-accent:#0F5C80;--sf-muted:#4C5C66;--sf-negative:#A85208;--sf-grid:#C9D3D8;color-scheme:light}
}
:root[data-sf-default="light"]:not([data-theme]),
:root[data-theme="light"]{--sf-bg:#F2F5F6;--sf-panel:#E3E9EC;--sf-text:#12202A;--sf-accent:#0F5C80;--sf-muted:#4C5C66;--sf-negative:#A85208;--sf-grid:#C9D3D8;color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark}

@media (max-width:640px){
	:root{--sf-h1:1.9375rem;--sf-h1-lh:2.1875rem;--sf-h2:1.375rem;--sf-h2-lh:1.75rem;--sf-h3:1.125rem;--sf-h3-lh:1.5rem;--sf-body:1.0625rem;--sf-body-lh:1.6875rem;--sf-table:.875rem;--sf-table-lh:1.3125rem;--sf-caption:.78125rem;--sf-caption-lh:1.125rem;--sf-gap:2rem}
}

/* ==========================================================================
   3. Base
   ========================================================================== */
html{-webkit-text-size-adjust:100%}
body{background:var(--sf-bg);color:var(--sf-text);font-family:var(--sf-font-text);font-size:var(--sf-body);line-height:var(--sf-body-lh);font-weight:400}
body,button,input,select,textarea{font-family:var(--sf-font-text)}
h1,h2,h3,h4,.sf-h1,.sf-h2{font-family:var(--sf-font-display);font-weight:500;color:var(--sf-text);letter-spacing:.01em;text-transform:none}
h1,.sf-h1{font-size:var(--sf-h1);line-height:var(--sf-h1-lh);margin:0 0 calc(var(--sf-unit)*2)}
h2,.sf-h2{font-size:var(--sf-h2);line-height:var(--sf-h2-lh);margin:calc(var(--sf-unit)*5) 0 calc(var(--sf-unit)*2)}
h3{font-size:var(--sf-h3);line-height:var(--sf-h3-lh);margin:calc(var(--sf-unit)*3) 0 var(--sf-unit)}
b,strong{font-weight:500}
p,ul,ol,figure,table{margin:0 0 calc(var(--sf-unit)*2)}
a{color:var(--sf-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover,a:focus{color:var(--sf-text)}
:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px}
::selection{background:var(--sf-accent);color:var(--sf-bg)}
img,svg,video,iframe{max-width:100%}
img{height:auto}
hr{border:0;border-top:1px solid var(--sf-grid);margin:calc(var(--sf-unit)*4) 0}
code,kbd,pre,.sf-num{font-family:var(--sf-font-mono);font-variant-numeric:tabular-nums}
pre{background:var(--sf-panel);border:1px solid var(--sf-grid);padding:calc(var(--sf-unit)*2);overflow-x:auto;font-size:var(--sf-table);line-height:var(--sf-table-lh)}
blockquote{border-left:2px solid var(--sf-grid);margin:0 0 calc(var(--sf-unit)*2);padding:0 0 0 calc(var(--sf-unit)*2);color:var(--sf-muted);font-style:normal}
.tabular-nums,.is-style-tabular-nums{font-variant-numeric:tabular-nums}
.is-style-tabular-nums td,.is-style-tabular-nums th{font-variant-numeric:tabular-nums}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.sf-label{font-family:var(--sf-font-mono);font-size:var(--sf-caption);line-height:var(--sf-caption-lh);color:var(--sf-muted);text-transform:none;letter-spacing:0}
.sf-muted{color:var(--sf-muted)}
.sf-negative{color:var(--sf-negative)}

/* ==========================================================================
   4. GeneratePress overrides (kept small)
   ========================================================================== */
.site-header{background-color:var(--sf-bg);color:var(--sf-text);border-bottom:1px solid var(--sf-grid);
	background-image:linear-gradient(var(--sf-grid) 1px,transparent 1px),linear-gradient(90deg,var(--sf-grid) 1px,transparent 1px);background-size:24px 24px;background-position:-1px -1px}
.inside-header{padding-top:calc(var(--sf-unit)*2);padding-bottom:calc(var(--sf-unit)*2)}
.main-navigation,.main-navigation ul ul,.main-navigation .main-nav ul li a,.menu-toggle{background:transparent;color:var(--sf-text)}
.main-navigation .main-nav ul li a{font-family:var(--sf-font-text);font-size:1rem}
.main-navigation .main-nav ul li a:hover,.main-navigation .main-nav ul li[class*="current-menu-"]>a{color:var(--sf-accent);background:transparent}
.main-navigation ul ul{background:var(--sf-panel)}
.site-content,.separate-containers .inside-article,.one-container .site-content,.inside-page-header,.separate-containers .comments-area,.separate-containers .page-header,.separate-containers .paging-navigation{background:transparent;color:var(--sf-text)}
.sf-template .site-content{display:block}
.sf-template .inside-article{padding:0}
.site-footer,.site-info{background:var(--sf-bg);color:var(--sf-muted);border-top:1px solid var(--sf-grid)}
.site-info a{color:var(--sf-muted)}
.entry-content>*:last-child{margin-bottom:0}
input[type="email"],input[type="text"],input[type="search"],input[type="url"],textarea,select{background:var(--sf-panel);border:1px solid var(--sf-grid);color:var(--sf-text);border-radius:var(--sf-radius)}
button,.button,input[type="submit"],.sf-button,.wp-block-button__link{background:transparent;color:var(--sf-accent);border:1px solid var(--sf-accent);border-radius:var(--sf-radius);font-family:var(--sf-font-text);font-weight:500;font-size:1rem;line-height:1.5rem;padding:calc(var(--sf-unit) - 1px) calc(var(--sf-unit)*2);text-decoration:none;display:inline-block;cursor:pointer}
button:hover,.button:hover,input[type="submit"]:hover,.sf-button:hover,.wp-block-button__link:hover{background:var(--sf-accent);color:var(--sf-bg)}

/* Brand lockup (placeholder mark until the final logo file exists). */
.sf-brand{display:inline-flex;align-items:center;gap:calc(var(--sf-unit)*1.5);color:var(--sf-text);text-decoration:none}
.sf-brand:hover{color:var(--sf-text)}
.sf-brand__logo{display:block;width:124px;height:auto}
.sf-brand__word{font-family:var(--sf-font-display);font-weight:500;font-size:1.375rem;line-height:1;letter-spacing:.01em;display:block}
.sf-brand__desc{font-size:var(--sf-caption);line-height:var(--sf-caption-lh);color:var(--sf-muted);display:block;margin-top:2px}
.main-title{margin:0;font-size:inherit;line-height:1}

/* Theme toggle inside GP's menu bar. */
.sf-toggle{display:inline-flex;align-items:center;gap:var(--sf-unit);border:1px solid var(--sf-grid);color:var(--sf-muted);background:transparent;font-size:var(--sf-caption);line-height:1;padding:6px 10px;margin-left:var(--sf-unit)}
.sf-toggle:hover{background:transparent;color:var(--sf-text);border-color:var(--sf-muted)}
.sf-toggle svg{width:16px;height:16px}
.sf-toggle__day,[data-sf-mode="light"] .sf-toggle__night{display:none}
[data-sf-mode="light"] .sf-toggle__day{display:inline}

/* ==========================================================================
   5. Layout: reading column 40rem, right rail 14rem above 1100px
   ========================================================================== */
.sf-main{padding:calc(var(--sf-unit)*5) 0 calc(var(--sf-unit)*8)}
.sf-layout{display:block}
.sf-content{max-width:var(--sf-measure);margin:0 auto;min-width:0}
.sf-rail{display:none}
@media (min-width:1100px){
	.sf-layout{display:grid;grid-template-columns:minmax(0,var(--sf-measure)) var(--sf-rail);column-gap:var(--sf-gap);justify-content:center;align-items:start}
	.sf-content{margin:0}
	.sf-rail{display:block;position:sticky;top:calc(var(--sf-unit)*3);font-size:var(--sf-caption);line-height:var(--sf-caption-lh);color:var(--sf-muted);border-left:1px solid var(--sf-grid);padding-left:calc(var(--sf-unit)*2);max-height:calc(100vh - 48px);overflow:auto}
}
.sf-wide{max-width:calc(var(--sf-measure) + var(--sf-gap) + var(--sf-rail));margin:0 auto}
.sf-rail__issue{font-family:var(--sf-font-mono);font-size:1rem;color:var(--sf-text);margin-bottom:calc(var(--sf-unit)*2)}
.sf-rail h2{font-family:var(--sf-font-text);font-size:var(--sf-caption);line-height:var(--sf-caption-lh);color:var(--sf-muted);margin:calc(var(--sf-unit)*2) 0 var(--sf-unit);letter-spacing:.02em}
.sf-rail ol,.sf-rail ul{list-style:none;margin:0;padding:0}
.sf-rail li{margin:0 0 6px}
.sf-rail a{color:var(--sf-muted);text-decoration:none}
.sf-rail a:hover{color:var(--sf-accent)}

/* ==========================================================================
   6. Article header
   ========================================================================== */
.sf-crumbs{font-size:var(--sf-caption);line-height:var(--sf-caption-lh);color:var(--sf-muted);margin-bottom:calc(var(--sf-unit)*2)}
.sf-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.sf-crumbs li+li::before{content:"›";margin-right:4px;color:var(--sf-muted)}
.sf-crumbs a{color:var(--sf-muted);text-decoration:none}
.sf-crumbs a:hover{color:var(--sf-accent)}
.sf-eyebrow{font-family:var(--sf-font-mono);font-size:var(--sf-caption);line-height:var(--sf-caption-lh);color:var(--sf-muted);margin-bottom:var(--sf-unit)}
.sf-meta{font-size:var(--sf-caption);line-height:var(--sf-caption-lh);color:var(--sf-muted);margin:0 0 var(--sf-unit)}
.sf-meta a{color:var(--sf-muted)}
.sf-case{font-family:var(--sf-font-mono);font-size:var(--sf-table);line-height:var(--sf-table-lh);color:var(--sf-text);border-left:2px solid var(--sf-accent);padding:2px 0 2px calc(var(--sf-unit)*1.5);margin:calc(var(--sf-unit)*2) 0 calc(var(--sf-unit)*3)}
.sf-case .sf-label{display:block}
.sf-standfirst{font-size:1.25rem;line-height:1.875rem;color:var(--sf-text);margin-bottom:calc(var(--sf-unit)*3)}
.sf-note{font-size:var(--sf-caption);line-height:var(--sf-caption-lh);color:var(--sf-muted);border:1px solid var(--sf-grid);padding:var(--sf-unit) calc(var(--sf-unit)*1.5);border-radius:var(--sf-radius)}
.sf-fixed{color:var(--sf-negative)}
.sf-box{background:var(--sf-panel);border:1px solid var(--sf-grid);border-radius:var(--sf-radius);padding:calc(var(--sf-unit)*2) calc(var(--sf-unit)*2.5);margin:calc(var(--sf-unit)*2) 0 calc(var(--sf-unit)*3)}
.sf-box>:last-child{margin-bottom:0}
.sf-box .sf-label{display:block;margin-bottom:4px}
.sf-box--answer p{font-size:1.1875rem;line-height:1.875rem}
.sf-price-assumes{font-family:var(--sf-font-mono);font-size:1.0625rem;line-height:1.625rem;color:var(--sf-text)}
.sf-formula{font-family:var(--sf-font-mono);font-size:var(--sf-table);line-height:var(--sf-table-lh);background:var(--sf-panel);border:1px solid var(--sf-grid);padding:calc(var(--sf-unit)*1.5) calc(var(--sf-unit)*2);white-space:pre-wrap;overflow-wrap:anywhere}
.sf-body{margin-bottom:calc(var(--sf-unit)*4)}
.sf-body figure figcaption,.wp-element-caption,.sf-caption{font-size:var(--sf-caption);line-height:var(--sf-caption-lh);color:var(--sf-muted);margin-top:var(--sf-unit)}

/* ==========================================================================
   7. YouTube facade
   ========================================================================== */
.sf-yt{position:relative;aspect-ratio:16/9;background:var(--sf-panel);border:1px solid var(--sf-grid);margin:0 0 var(--sf-unit);overflow:hidden}
.sf-yt__play{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent;cursor:pointer}
.sf-yt__play:hover{background:transparent}
.sf-yt__thumb{width:100%;height:100%;object-fit:cover;display:block}
.sf-yt--plain{background:var(--sf-panel)}
.sf-yt__poster-title{position:absolute;left:calc(var(--sf-unit)*3);right:calc(var(--sf-unit)*3);bottom:calc(var(--sf-unit)*3);text-align:left;font-family:var(--sf-font-display);font-weight:500;font-size:var(--sf-h2);line-height:var(--sf-h2-lh);color:var(--sf-text)}
.sf-yt__icon{position:absolute;left:50%;top:50%;width:72px;height:72px;transform:translate(-50%,-50%);color:var(--sf-text)}
.sf-yt__play:hover .sf-yt__icon,.sf-yt__play:focus-visible .sf-yt__icon{color:var(--sf-accent)}
.sf-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sf-yt__note{font-size:var(--sf-caption);line-height:var(--sf-caption-lh);color:var(--sf-muted);margin-bottom:calc(var(--sf-unit)*2)}
.sf-chapters{list-style:none;margin:0 0 calc(var(--sf-unit)*3);padding:0;font-size:var(--sf-table);line-height:var(--sf-table-lh)}
.sf-chapters li{display:flex;gap:calc(var(--sf-unit)*2);padding:4px 0;border-bottom:1px solid var(--sf-grid)}
.sf-chapters time{font-family:var(--sf-font-mono);color:var(--sf-muted);min-width:4.5em}

/* ==========================================================================
   8. Tables: assumption table and generic data tables
   ========================================================================== */
.sf-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 calc(var(--sf-unit)*3);border:1px solid var(--sf-grid);background:var(--sf-panel)}
.sf-table,.entry-content table,.sf-body table{width:100%;border-collapse:collapse;font-size:var(--sf-table);line-height:var(--sf-table-lh);margin:0}
.sf-table caption{text-align:left;font-family:var(--sf-font-display);font-weight:500;font-size:1.0625rem;color:var(--sf-text);padding:calc(var(--sf-unit)*1.5) var(--sf-unit) var(--sf-unit)}
.sf-table th,.sf-table td,.sf-body th,.sf-body td{border:1px solid var(--sf-grid);padding:var(--sf-unit);vertical-align:top;text-align:left}
.sf-table th,.sf-body th{font-weight:500;color:var(--sf-muted);font-size:var(--sf-caption);line-height:var(--sf-caption-lh)}
.sf-table .sf-col-num{font-family:var(--sf-font-mono);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.sf-table .sf-col-text{font-family:var(--sf-font-text)}
.sf-chip{font-family:var(--sf-font-mono);font-size:.8125rem;line-height:1.25rem;color:var(--sf-accent);white-space:nowrap;text-decoration:none}
a.sf-chip:hover{text-decoration:underline}
.sf-source{font-family:var(--sf-font-mono);font-size:var(--sf-caption);line-height:var(--sf-caption-lh);color:var(--sf-muted);margin:var(--sf-unit) 0 calc(var(--sf-unit)*3)}
.sf-positive{color:var(--sf-positive)}

/* ==========================================================================
   9. Disclaimer, opt-in, author
   ========================================================================== */
.sf-disclaimer{font-size:var(--sf-caption);line-height:var(--sf-caption-lh);color:var(--sf-muted);border-top:1px solid var(--sf-grid);padding-top:calc(var(--sf-unit)*1.5);margin:calc(var(--sf-unit)*3) 0}
.sf-optin{border:1px solid var(--sf-grid);border-radius:var(--sf-radius);padding:calc(var(--sf-unit)*2.5);margin:calc(var(--sf-unit)*4) 0;display:flex;flex-wrap:wrap;gap:calc(var(--sf-unit)*2);align-items:center;justify-content:space-between}
.sf-optin__text{margin:0;font-family:var(--sf-font-display);font-weight:500;font-size:1.25rem;line-height:1.75rem;flex:1 1 18rem}
.sf-author{display:flex;gap:calc(var(--sf-unit)*2);border-top:1px solid var(--sf-grid);padding-top:calc(var(--sf-unit)*3);margin-top:calc(var(--sf-unit)*5)}
.sf-author__mark{flex:none;width:32px;height:32px;color:var(--sf-accent)}
.sf-author__name{font-family:var(--sf-font-display);font-weight:500;font-size:1.125rem;margin:0 0 4px}
.sf-author__text{font-size:1rem;line-height:1.625rem;color:var(--sf-muted)}
.sf-author__text p{margin:0 0 var(--sf-unit)}

/* ==========================================================================
   10. Практикум block (Panel card, ring and cross)
   ========================================================================== */
.sf-lab{background:var(--sf-panel);border:1px solid var(--sf-grid);border-radius:var(--sf-radius);padding:calc(var(--sf-unit)*3);margin:calc(var(--sf-unit)*4) 0}
.sf-lab__title{display:flex;align-items:center;gap:var(--sf-unit);margin:0 0 var(--sf-unit)}
.sf-lab__title .sf-mark{width:20px;height:20px}
.sf-mark{flex:none;color:var(--sf-accent);vertical-align:-3px}
.sf-lab__status,.sf-lab__questions,.sf-lab__meta,.sf-lab__type,.sf-lab__login{font-size:var(--sf-caption);line-height:var(--sf-caption-lh);color:var(--sf-muted)}
.sf-lab__status{font-family:var(--sf-font-mono);margin-bottom:calc(var(--sf-unit)*2)}
.sf-lab__subhead{font-family:var(--sf-font-text);font-size:1rem;font-weight:500;margin:calc(var(--sf-unit)*2) 0 var(--sf-unit)}
.sf-lab__contents,.sf-lab__files{list-style:none;margin:0 0 calc(var(--sf-unit)*2);padding:0;font-size:1rem;line-height:1.5rem}
.sf-lab__contents li,.sf-lab__files li{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sf-unit);padding:var(--sf-unit) 0;border-bottom:1px solid var(--sf-grid)}
.sf-lab__cta{font-weight:500;margin:calc(var(--sf-unit)*2) 0 4px}
.sf-lab__case{font-family:var(--sf-font-mono);font-size:var(--sf-table)}
.sf-lab__video{position:relative;aspect-ratio:16/9;margin:0 0 calc(var(--sf-unit)*2);background:var(--sf-bg)}
.sf-lab__video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sf-lab__answers{border:1px solid var(--sf-grid);padding:var(--sf-unit) calc(var(--sf-unit)*2);margin:0 0 calc(var(--sf-unit)*2)}
.sf-lab__answers summary{cursor:pointer;font-weight:500}
.sf-lab__score .sf-num{font-size:1.5rem;color:var(--sf-text)}
.sf-lab .sf-disclaimer{margin-bottom:0}

/* ==========================================================================
   11. Lists: related, prev and next, archives, hubs, glossary, corrections
   ========================================================================== */
.sf-section{margin:calc(var(--sf-unit)*4) 0}
.sf-section>h2{font-size:1.25rem;line-height:1.75rem;margin:0 0 calc(var(--sf-unit)*1.5)}
.sf-links{list-style:none;margin:0;padding:0}
.sf-links li{padding:6px 0;border-bottom:1px solid var(--sf-grid)}
.sf-links a{text-decoration:none}
.sf-links a:hover{text-decoration:underline}
.sf-terms{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sf-unit)}
.sf-terms a{display:inline-block;border:1px solid var(--sf-grid);border-radius:var(--sf-radius);padding:2px 10px;font-size:1rem;text-decoration:none}
.sf-terms a:hover{border-color:var(--sf-accent)}
.sf-pager{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--sf-unit)*2);margin:calc(var(--sf-unit)*4) 0;border-top:1px solid var(--sf-grid);padding-top:calc(var(--sf-unit)*2)}
.sf-pager a{text-decoration:none;display:block}
.sf-pager .sf-label{display:block}
.sf-pager__next{text-align:right}
.sf-list{list-style:none;margin:0;padding:0}
.sf-list__item{padding:calc(var(--sf-unit)*2) 0;border-bottom:1px solid var(--sf-grid)}
.sf-list__item h2{font-size:1.25rem;line-height:1.75rem;margin:0 0 4px}
.sf-list__item h2 a{color:var(--sf-text);text-decoration:none}
.sf-list__item h2 a:hover{color:var(--sf-accent)}
.sf-list__item p{margin:0;color:var(--sf-muted);font-size:1rem;line-height:1.5rem}
.sf-archive-head{margin-bottom:calc(var(--sf-unit)*3)}
.sf-archive-head p{color:var(--sf-muted)}
.sf-tabs{display:flex;flex-wrap:wrap;gap:calc(var(--sf-unit)*2);list-style:none;margin:0 0 calc(var(--sf-unit)*3);padding:0;font-size:1rem}
.sf-tabs [aria-current="page"]{color:var(--sf-text);text-decoration:none}
.pagination,.nav-links{margin-top:calc(var(--sf-unit)*4);font-family:var(--sf-font-mono)}
.sf-module{border-top:1px solid var(--sf-grid);padding:calc(var(--sf-unit)*2.5) 0;scroll-margin-top:calc(var(--sf-unit)*3)}
.sf-module h3{margin:0 0 4px}
.sf-module__id{font-family:var(--sf-font-mono);color:var(--sf-muted);margin-right:var(--sf-unit);font-weight:400}
.sf-module__purpose{color:var(--sf-muted);font-size:1rem;line-height:1.5rem;margin-bottom:var(--sf-unit)}
.sf-module ol{margin:0 0 var(--sf-unit);padding-left:1.75rem}
.sf-module li{margin:2px 0}
.sf-module li::marker{font-family:var(--sf-font-mono);color:var(--sf-muted)}
.sf-soon{font-family:var(--sf-font-mono);font-size:var(--sf-caption);color:var(--sf-muted);margin-left:6px}
.sf-hub-section>h2{border-bottom:1px solid var(--sf-grid);padding-bottom:var(--sf-unit)}
.sf-doors{display:grid;gap:calc(var(--sf-unit)*2);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));list-style:none;margin:0;padding:0}
.sf-doors li{border:1px solid var(--sf-grid);border-radius:var(--sf-radius);padding:calc(var(--sf-unit)*2)}
.sf-doors a{font-weight:500}
.sf-doors p{margin:4px 0 0;color:var(--sf-muted);font-size:1rem;line-height:1.5rem}
.sf-az-nav{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:0 0 calc(var(--sf-unit)*3);padding:0;font-family:var(--sf-font-mono)}
.sf-az-nav a{display:inline-block;min-width:2rem;text-align:center;padding:2px 4px;border:1px solid var(--sf-grid);text-decoration:none}
.sf-az-group{scroll-margin-top:calc(var(--sf-unit)*3)}
.sf-az-group h2{font-family:var(--sf-font-mono);font-weight:500;color:var(--sf-accent);margin:calc(var(--sf-unit)*3) 0 var(--sf-unit)}
.sf-az-group ul{list-style:none;margin:0;padding:0;columns:2 16rem;column-gap:calc(var(--sf-unit)*4)}
.sf-az-group li{break-inside:avoid;padding:4px 0}
.sf-az-group .sf-muted{font-size:var(--sf-caption)}
.sf-corrections{list-style:none;margin:0;padding:0}
.sf-correction{border-top:1px solid var(--sf-grid);padding:calc(var(--sf-unit)*2) 0;scroll-margin-top:calc(var(--sf-unit)*3)}
.sf-correction dl{display:grid;grid-template-columns:minmax(8rem,auto) 1fr;gap:4px calc(var(--sf-unit)*2);margin:var(--sf-unit) 0 0;font-size:1rem;line-height:1.5rem}
.sf-correction dt{color:var(--sf-muted)}
.sf-correction dd{margin:0}
.sf-log{font-size:var(--sf-table);line-height:var(--sf-table-lh)}

/* ==========================================================================
   12. Footer strip (above GP's site info)
   ========================================================================== */
.sf-footer{border-top:1px solid var(--sf-grid);padding:calc(var(--sf-unit)*4) 0;font-size:var(--sf-caption);line-height:var(--sf-caption-lh);color:var(--sf-muted)}
.sf-footer__inner{max-width:calc(var(--sf-measure) + var(--sf-gap) + var(--sf-rail));margin:0 auto;padding:0 calc(var(--sf-unit)*2.5);display:grid;gap:calc(var(--sf-unit)*2)}
.sf-footer a{color:var(--sf-muted)}
.sf-footer a:hover{color:var(--sf-accent)}
.sf-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sf-unit) calc(var(--sf-unit)*3)}

@media (max-width:640px){
	.sf-main{padding-top:calc(var(--sf-unit)*3)}
	.sf-lab{padding:calc(var(--sf-unit)*2)}
	.sf-pager{grid-template-columns:1fr}
	.sf-pager__next{text-align:left}
	.sf-correction dl{grid-template-columns:1fr}
	.sf-toggle__label{display:none}
}
@media print{
	.site-header,.sf-rail,.sf-optin,.sf-footer,.sf-toggle,.sf-yt{display:none!important}
	body{background:#fff;color:#000}
}

/* ==== Home page (25 Oct 2026) ==== */
/*
   Plotting Sheet home. Static core blocks, styled here.
   Every colour is a theme token, so night and daylight both work.
   The line token is --sf-grid (the theme has no --sf-line).
   Every rule sits under a .sf-home- class, or under .home for the buttons.
   Motif: hairline rules with small pencil ticks at their ends (a chart scale),
   panels on --sf-panel, one ring in --sf-accent (hero chart), one accent
   bearing rule (lens line), one filled accent button (opt-in).
   Breakpoints: base 360 px and up, 640 px, 768 px, 880 px.
*/

/* --- Guard: core layout support can add block-gap margins and, if a content
   size is ever set, auto side margins with !important. Grid children below
   set their own spacing, so neutralise both inside the home groups. --- */
.sf-home-hero.wp-block-group > .wp-block-group__inner-container > *,
.sf-home-section.wp-block-group > .wp-block-group__inner-container > *,
.sf-home-pole.wp-block-group > .wp-block-group__inner-container > *,
.sf-home-optin.wp-block-group > .wp-block-group__inner-container > *{max-width:none;margin-left:0!important;margin-right:0!important}

/* ---------- 1. Hero: story, plotting fragment, lens line ---------- */
.sf-home-hero.wp-block-group{margin:calc(var(--sf-unit)*1) 0 0;padding:0}
.sf-home-hero.wp-block-group > .wp-block-group__inner-container > p{max-width:38rem;margin-top:0;margin-bottom:calc(var(--sf-unit)*2.5);text-wrap:pretty}
.sf-home-hero.wp-block-group > .wp-block-group__inner-container > p.sf-home-hero__lead{font-size:1.125rem;line-height:1.75rem;color:var(--sf-text)}

/* The fragment: grid, two bearing lines, the fix and one ring (inline SVG). */
.sf-home-hero.wp-block-group > .wp-block-group__inner-container > .sf-home-chart{display:block;width:100%;height:auto;aspect-ratio:4 / 1;margin-top:calc(var(--sf-unit)*4);margin-bottom:calc(var(--sf-unit)*4);overflow:hidden;border-radius:var(--sf-radius)}
.sf-home-chart svg{display:block;width:100%;height:100%;max-width:none}

/* The lens line: set apart on an accent bearing rule. Bold stays at 500. */
.sf-home-hero.wp-block-group > .wp-block-group__inner-container > p.sf-home-lens{max-width:46rem;margin-top:0;margin-bottom:0;padding:calc(var(--sf-unit)*.5) 0 calc(var(--sf-unit)*.5) calc(var(--sf-unit)*2.5);border-left:2px solid var(--sf-accent);font-family:var(--sf-font-display);font-weight:500;font-size:clamp(1.25rem,1.05rem + .9vw,1.625rem);line-height:1.3;letter-spacing:.005em;color:var(--sf-text);text-wrap:pretty}
.sf-home-lens strong{font-weight:500;color:inherit}

/* ---------- 2. Section frame: H2 on a scale rule ---------- */
.sf-home-section.wp-block-group{margin:calc(var(--sf-unit)*9) 0 0;padding:0}
.sf-home-section.wp-block-group > .wp-block-group__inner-container > h2.wp-block-heading{position:relative;margin-top:0;margin-bottom:calc(var(--sf-unit)*3);padding-top:calc(var(--sf-unit)*2);border-top:1px solid var(--sf-grid);font-family:var(--sf-font-display);font-weight:500;font-size:var(--sf-h2);line-height:var(--sf-h2-lh);text-wrap:balance}
.sf-home-section.wp-block-group > .wp-block-group__inner-container > h2.wp-block-heading::before,
.sf-home-section.wp-block-group > .wp-block-group__inner-container > h2.wp-block-heading::after{content:"";position:absolute;top:-5px;width:1px;height:9px;background:var(--sf-muted)}
.sf-home-section.wp-block-group > .wp-block-group__inner-container > h2.wp-block-heading::before{left:0}
.sf-home-section.wp-block-group > .wp-block-group__inner-container > h2.wp-block-heading::after{right:0}

/* ---------- 3. «Что выходит в StoyFin»: four panels on one hairline grid ---------- */
.sf-home-kinds.wp-block-group > .wp-block-group__inner-container > .wp-block-columns.sf-home-kinds__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1px;margin-top:0;margin-bottom:0;padding:0;background:var(--sf-grid);border:1px solid var(--sf-grid);border-radius:var(--sf-radius);overflow:hidden}
.sf-home-kinds__grid > .wp-block-column.sf-home-kind{min-width:0;margin:0;padding:calc(var(--sf-unit)*2.5) calc(var(--sf-unit)*2.5) calc(var(--sf-unit)*3);background:var(--sf-panel)}
.sf-home-kinds__grid > .wp-block-column.sf-home-kind > p{margin:0;font-size:1rem;line-height:1.625rem;color:var(--sf-text)}
.sf-home-kind .sf-label{display:block;margin-bottom:calc(var(--sf-unit)*1.5);font-family:var(--sf-font-mono);font-size:.875rem;line-height:1.25rem;font-weight:400;color:var(--sf-text)}
.sf-home-kind .sf-home-soon-inline{display:block;margin-top:var(--sf-unit);font-family:var(--sf-font-mono);font-size:var(--sf-caption);line-height:var(--sf-caption-lh);color:var(--sf-muted)}

/* ---------- 4. «С чего начать»: three doors ---------- */
.sf-home-start.wp-block-group > .wp-block-group__inner-container > .wp-block-columns.sf-home-doors{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin-top:0;margin-bottom:0;padding:0;border-bottom:1px solid var(--sf-grid)}
.sf-home-doors > .wp-block-column.sf-home-door{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;margin:0;padding:calc(var(--sf-unit)*2.5) 0 calc(var(--sf-unit)*3.5)}
.sf-home-doors > .wp-block-column.sf-home-door + .wp-block-column.sf-home-door{border-top:1px solid var(--sf-grid)}
.sf-home-doors > .wp-block-column.sf-home-door + .wp-block-column.sf-home-door::before{content:"";position:absolute;left:0;top:-5px;width:1px;height:9px;background:var(--sf-muted)}
.sf-home-doors > .sf-home-door > h3.wp-block-heading{max-width:30rem;margin:0 0 calc(var(--sf-unit)*1.5);font-family:var(--sf-font-display);font-weight:500;font-size:var(--sf-h3);line-height:var(--sf-h3-lh);overflow-wrap:break-word;text-wrap:balance}
.sf-home-doors > .sf-home-door > p{max-width:38rem;margin:0 0 calc(var(--sf-unit)*3);font-size:1rem;line-height:1.625rem;color:var(--sf-text)}
.sf-home-doors > .sf-home-door > .wp-block-buttons{margin:auto 0 0;gap:0}

/* Door 2 has no link yet: the status sits where the button will go, drawn dashed. */
.sf-home-doors > .sf-home-door > p.sf-home-soon{display:inline-flex;align-items:center;min-height:44px;margin:auto 0 0;padding:calc(var(--sf-unit) - 1px) calc(var(--sf-unit)*2);border:1px dashed var(--sf-muted);border-radius:var(--sf-radius);font-family:var(--sf-font-mono);font-size:.875rem;line-height:1.25rem;color:var(--sf-muted)}

/* ---------- 5. Buttons (core wp:button, className sf-btn / sf-btn sf-btn--ghost) ---------- */
:is(.home,[class*="sf-home-"]) .wp-block-button.sf-btn > .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:calc(var(--sf-unit) + 2px) calc(var(--sf-unit)*2.5);border:1px solid var(--sf-accent);border-radius:var(--sf-radius);background:var(--sf-accent);color:var(--sf-bg);font-family:var(--sf-font-text);font-weight:500;font-size:1rem;line-height:1.375rem;text-align:center;text-decoration:none;box-shadow:none;transition:none}
:is(.home,[class*="sf-home-"]) .wp-block-button.sf-btn > .wp-block-button__link:hover{background:var(--sf-text);border-color:var(--sf-text);color:var(--sf-bg)}
:is(.home,[class*="sf-home-"]) .wp-block-button.sf-btn.sf-btn--ghost > .wp-block-button__link{background:transparent;border-color:var(--sf-muted);color:var(--sf-text)}
:is(.home,[class*="sf-home-"]) .wp-block-button.sf-btn.sf-btn--ghost > .wp-block-button__link:hover{background:transparent;border-color:var(--sf-accent);color:var(--sf-accent)}
:is(.home,[class*="sf-home-"]) .wp-block-button.sf-btn > .wp-block-button__link:focus-visible{outline:2px solid var(--sf-accent);outline-offset:3px}
:is(.home,[class*="sf-home-"]) .wp-block-button.sf-btn > .wp-block-button__link:focus:not(:focus-visible){outline:0}

/* ---------- 6. Polarisation line: set apart, large display type ---------- */
.sf-home-pole.wp-block-group{position:relative;margin:calc(var(--sf-unit)*9) 0 0;padding:calc(var(--sf-unit)*5) 0;border-top:1px solid var(--sf-grid);border-bottom:1px solid var(--sf-grid)}
.sf-home-pole.wp-block-group::before,
.sf-home-pole.wp-block-group::after{content:"";position:absolute;width:1px;height:9px;background:var(--sf-muted)}
.sf-home-pole.wp-block-group::before{left:0;top:-5px}
.sf-home-pole.wp-block-group::after{right:0;bottom:-5px}
.sf-home-pole.wp-block-group > .wp-block-group__inner-container > p{max-width:44rem;margin-top:0;margin-bottom:0;font-family:var(--sf-font-display);font-weight:500;font-size:clamp(1.5rem,1.1rem + 1.8vw,2.25rem);line-height:1.22;letter-spacing:.005em;color:var(--sf-text);text-wrap:pretty}

/* ---------- 7. Author line, directly above the opt-in ---------- */
p.sf-home-author{margin:calc(var(--sf-unit)*8) 0 calc(var(--sf-unit)*1.5);font-size:1rem;line-height:1.5rem;color:var(--sf-muted)}
p.sf-home-author a{white-space:nowrap}

/* ---------- 8. Opt-in (overrides the theme's flex .sf-optin on this page only) ---------- */
.sf-optin.sf-home-optin{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "list" "note" "cta";gap:0;align-items:start;justify-content:stretch;margin:0;padding:calc(var(--sf-unit)*3) calc(var(--sf-unit)*2.5);background:var(--sf-panel);border:1px solid var(--sf-grid);border-radius:var(--sf-radius)}
.sf-optin.sf-home-optin > .wp-block-group__inner-container > p.sf-optin__text{grid-area:head;flex:none;max-width:32rem;margin-top:0;margin-bottom:calc(var(--sf-unit)*2.5);font-family:var(--sf-font-display);font-weight:500;font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem);line-height:1.3;color:var(--sf-text);text-wrap:balance}
.sf-optin.sf-home-optin > .wp-block-group__inner-container > ul.sf-home-optin__list{grid-area:list;max-width:40rem;margin-top:0;margin-bottom:calc(var(--sf-unit)*3);padding:0;list-style:none}
.sf-home-optin__list > li{position:relative;margin:0 0 calc(var(--sf-unit)*1.25);padding-left:calc(var(--sf-unit)*3);font-size:1rem;line-height:1.5rem;color:var(--sf-text)}
.sf-home-optin__list > li:last-child{margin-bottom:0}
.sf-home-optin__list > li::before{content:"";position:absolute;left:0;top:.75rem;width:12px;height:1px;background:var(--sf-muted)}
.sf-optin.sf-home-optin > .wp-block-group__inner-container > p.sf-home-optin__note{grid-area:note;margin-top:0;margin-bottom:calc(var(--sf-unit)*2);padding-top:calc(var(--sf-unit)*2);border-top:1px solid var(--sf-grid);font-size:var(--sf-caption);line-height:var(--sf-caption-lh);color:var(--sf-muted)}
.sf-home-optin__note a{color:var(--sf-muted)}
.sf-home-optin__note a:hover,.sf-home-optin__note a:focus{color:var(--sf-accent)}
.sf-optin.sf-home-optin > .wp-block-group__inner-container > .wp-block-buttons.sf-home-optin__cta{grid-area:cta;margin-top:0;margin-bottom:0;gap:0}
.sf-home-optin__cta > .wp-block-button.sf-btn{width:100%}
.sf-home-optin__cta > .wp-block-button.sf-btn > .wp-block-button__link{width:100%}

/* ---------- 9. Responsive ---------- */
@media (min-width:640px){
	.sf-home-kinds.wp-block-group > .wp-block-group__inner-container > .wp-block-columns.sf-home-kinds__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.sf-home-kinds__grid > .wp-block-column.sf-home-kind{padding:calc(var(--sf-unit)*3)}
}
@media (min-width:768px){
	.sf-home-hero.wp-block-group > .wp-block-group__inner-container > p.sf-home-hero__lead{font-size:1.25rem;line-height:1.875rem}
	.sf-home-section.wp-block-group{margin-top:calc(var(--sf-unit)*11)}
	.sf-home-section.wp-block-group > .wp-block-group__inner-container > h2.wp-block-heading{margin-bottom:calc(var(--sf-unit)*4)}
	.sf-home-pole.wp-block-group{margin-top:calc(var(--sf-unit)*11);padding:calc(var(--sf-unit)*7) 0}
	p.sf-home-author{margin-top:calc(var(--sf-unit)*10)}
	.sf-optin.sf-home-optin{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head head" "list list" "note cta";column-gap:0;align-items:center;padding:calc(var(--sf-unit)*4)}
	.sf-optin.sf-home-optin > .wp-block-group__inner-container > p.sf-home-optin__note,
	.sf-optin.sf-home-optin > .wp-block-group__inner-container > .wp-block-buttons.sf-home-optin__cta{align-self:stretch;display:flex;align-items:center;margin-bottom:0;padding-top:calc(var(--sf-unit)*2.5);border-top:1px solid var(--sf-grid)}
	.sf-optin.sf-home-optin > .wp-block-group__inner-container > p.sf-home-optin__note{display:block;padding-right:calc(var(--sf-unit)*4)}
	.sf-home-optin__cta > .wp-block-button.sf-btn,
	.sf-home-optin__cta > .wp-block-button.sf-btn > .wp-block-button__link{width:auto}
}
@media (min-width:880px){
	/* Hero: story column left, the plotting fragment in the margin, lens line across. */
	.sf-home-hero.wp-block-group{display:grid;grid-template-columns:minmax(0,38rem) minmax(0,1fr);column-gap:calc(var(--sf-unit)*6);align-items:start}
	.sf-home-hero.wp-block-group > .wp-block-group__inner-container > *{grid-column:1}
	.sf-home-hero.wp-block-group > .wp-block-group__inner-container > .sf-home-chart{grid-column:2;grid-row:1 / span 4;justify-self:end;width:100%;max-width:288px;height:auto;aspect-ratio:1 / 1;margin-top:6px;margin-bottom:0}
	.sf-home-hero.wp-block-group > .wp-block-group__inner-container > p.sf-home-lens{grid-column:1 / -1;margin-top:calc(var(--sf-unit)*3)}

	/* Doors: three columns divided by hairlines. */
	.sf-home-start.wp-block-group > .wp-block-group__inner-container > .wp-block-columns.sf-home-doors{grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--sf-grid)}
	.sf-home-doors > .wp-block-column.sf-home-door{padding:calc(var(--sf-unit)*3) calc(var(--sf-unit)*3) calc(var(--sf-unit)*3.5)}
	.sf-home-doors > .wp-block-column.sf-home-door:first-child{padding-left:0}
	.sf-home-doors > .wp-block-column.sf-home-door:last-child{padding-right:0}
	.sf-home-doors > .wp-block-column.sf-home-door + .wp-block-column.sf-home-door{border-top:0;border-left:1px solid var(--sf-grid)}
	.sf-home-doors > .wp-block-column.sf-home-door + .wp-block-column.sf-home-door::before{display:none}
	.sf-home-start.wp-block-group > .wp-block-group__inner-container > h2.wp-block-heading{margin-bottom:0;padding-bottom:calc(var(--sf-unit)*3)}
}

/* Classic-theme fix: WordPress wraps core groups in .wp-block-group__inner-container. Make the wrapper transparent so the home grid rules see the real children. */
.home [class*="sf-home-"] > .wp-block-group__inner-container{display:contents}
.home .sf-optin.sf-home-optin > .wp-block-group__inner-container{display:contents}
