/* Case page GoAff (client work). Scoped to .page-goaff. The page speaks the site's own language: warm paper #fafaf8,
   near-black #040509 blocks, the acid lime #b2d517 as a background (black text on it, 12:1) and as text only on black,
   Alumni Sans in condensed uppercase display, JetBrains Mono for labels and numbers (both OFL, from the GoAff theme).
   Shapes: all sharp, 1px ink borders and a hard lime offset shadow on frames; phones keep their round corners. Light
   and dark sections alternate, the finale sits on lime. Every block reads without the script and without motion. */
@font-face{font-family:'Alumni Sans';font-style:normal;font-weight:300 900;font-display:swap;src:url(assets/goaff/alumni-sans-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Alumni Sans';font-style:normal;font-weight:300 900;font-display:swap;src:url(assets/goaff/alumni-sans-latin.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 500;font-display:swap;src:url(assets/goaff/jetbrains-mono-cyrillic.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 500;font-display:swap;src:url(assets/goaff/jetbrains-mono-latin.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}

.page-goaff{
 --ga-paper:#fafaf8;--ga-ink:#040509;--ga-lime:#b2d517;--ga-lime-hi:#c4e62c;--ga-muted:#55524c;--ga-dim:#6b675f;--ga-line:rgba(4,5,9,.14);
 --ga-night:#0b0c10;--ga-night-2:#15171d;--ga-night-3:#1d2028;--ga-on-night:#f2f2ee;--ga-on-night-muted:#a9abb2;--ga-night-line:rgba(255,255,255,.12);
 --ga-display:'Alumni Sans','Arial Narrow',Manrope,sans-serif;--ga-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Consolas,monospace;
 --ga-ease:cubic-bezier(.23,1,.32,1);--ga-ease-io:cubic-bezier(.77,0,.175,1);
 background:var(--ga-paper);overflow-x:clip
}
.page-goaff main{overflow-x:clip}
.page-goaff a:focus-visible,.page-goaff button:focus-visible,.page-goaff input:focus-visible,.page-goaff .ga-jsteps:focus-visible{outline:2px solid var(--ga-ink);outline-offset:3px}
.page-goaff .ga-dark a:focus-visible,.page-goaff .ga-dark button:focus-visible,.page-goaff .ga-dark input:focus-visible{outline-color:var(--ga-lime)}
:where(.page-goaff) :where(.ga) p+p{margin-top:0}
.ga-vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.ga-display{font-family:var(--ga-display);font-weight:800;text-transform:uppercase;letter-spacing:-.005em;line-height:.9}
.ga-eyebrow{display:inline-flex;align-items:center;gap:10px;font:500 13px/1 var(--ga-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ga-ink)}
.ga-eyebrow::before{content:'';width:10px;height:10px;background:var(--ga-lime);box-shadow:0 0 0 1px var(--ga-ink)}
.ga-eyebrow-dark{color:var(--ga-lime)}
.ga-eyebrow-dark::before{box-shadow:none}
.ga-note{font-size:14px;line-height:1.6;color:var(--ga-dim);max-width:860px}
.ga-section{padding:clamp(84px,9vw,140px) 0}
.ga-dark{background:var(--ga-night);color:var(--ga-on-night)}
.ga-dark .ga-note{color:var(--ga-on-night-muted)}
.ga-head{display:grid;gap:18px;max-width:640px}
.ga-head-wide{max-width:900px}
.ga-head h2{font-size:clamp(46px,5.6vw,88px)}
.ga-head>p:not(.ga-eyebrow){font-size:18px;line-height:1.7;color:var(--ga-muted)}
.ga-dark .ga-head>p:not(.ga-eyebrow){color:var(--ga-on-night-muted)}

/* ───────── Frames and controls ───────── */
.ga-browser{position:relative;margin:0;background:#fff;border:1px solid var(--ga-ink);box-shadow:10px 10px 0 var(--ga-lime)}
.ga-browser img{display:block;width:100%;height:auto}
.ga-bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-bottom:1px solid var(--ga-ink);background:var(--ga-paper);font:500 12px/1 var(--ga-mono);color:var(--ga-dim)}
.ga-bar i{width:9px;height:9px;border:1px solid var(--ga-ink)}
.ga-bar i:first-child{background:var(--ga-lime)}
.ga-bar span{margin-left:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ga-dark .ga-browser{border-color:#30333c;box-shadow:10px 10px 0 rgba(178,213,23,.9)}
.ga-dark .ga-bar{background:#16181e;border-bottom-color:#30333c;color:var(--ga-on-night-muted)}
.ga-dark .ga-bar i{border-color:#4a4e59}
.ga-phone{margin:0;border:1px solid var(--ga-ink);border-radius:24px;overflow:hidden;background:#000;box-shadow:8px 8px 0 var(--ga-lime)}
.ga-phone img{display:block;width:100%;height:auto}
.ga-shot{margin:0}
.ga-shot figcaption,.ga-widget figcaption{margin-top:20px;font-size:14px;line-height:1.6;color:var(--ga-dim);max-width:760px}
.ga-dark .ga-shot figcaption{color:var(--ga-on-night-muted)}
.ga-btn,.ga-toggle{display:inline-flex;align-items:center;gap:10px;font:500 14px/1 var(--ga-mono);text-transform:uppercase;letter-spacing:.03em;padding:13px 18px;border:1px solid var(--ga-ink);background:var(--ga-lime);color:var(--ga-ink);cursor:pointer;transition:background-color .2s ease,transform .16s ease-out,box-shadow .16s ease-out}
.ga-btn:hover{background:var(--ga-lime-hi)}
.ga-btn .icon{width:16px;height:16px}
.ga-btn:active,.ga-toggle:active{transform:translate(2px,2px)}
.ga-toggle{padding:9px 14px;font-size:12px;background:transparent}
.ga-toggle:hover{background:var(--ga-ink);color:var(--ga-paper)}
.ga-tag{display:inline-block;padding:5px 8px;background:var(--ga-lime);color:var(--ga-ink);font:500 12px/1 var(--ga-mono);text-transform:uppercase;letter-spacing:.04em}
.ga-av{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--av);color:#040509;font:700 12px/1 var(--ga-mono)}

/* ───────── Hero ───────── */
.ga-hero{position:relative;padding:26px 0 clamp(80px,8vw,120px);overflow:hidden;background:radial-gradient(circle at 1px 1px,rgba(4,5,9,.09) 1px,transparent 0) 0 0/22px 22px,var(--ga-paper)}
.ga-hero .back-link{margin-bottom:18px;color:var(--ga-dim)}
.ga-hero-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(30px,4vw,64px);align-items:center;min-height:min(780px,calc(100svh - 150px))}
.ga-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font:500 13px/1.4 var(--ga-mono);letter-spacing:.03em;text-transform:uppercase;color:var(--ga-muted);margin-bottom:18px}
.ga-hero h1{font-size:clamp(110px,14vw,220px);line-height:.78;letter-spacing:-.02em;margin-left:-.04em}
.ga-hero h1::after{content:'';display:block;width:62%;height:.12em;margin-top:.06em;background:var(--ga-lime);box-shadow:0 0 0 1px var(--ga-ink)}
.ga-sub{font-size:clamp(19px,1.7vw,24px);font-weight:600;line-height:1.35;margin-top:26px;letter-spacing:-.015em;max-width:560px}
.ga-lead{font-size:17px;line-height:1.75;color:var(--ga-muted);margin-top:18px;max-width:590px}
.ga-meta{margin:28px 0 0;max-width:590px;border-top:1px solid var(--ga-ink)}
.ga-meta>div{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid var(--ga-line)}
.ga-meta dt{font:500 12px/1.4 var(--ga-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ga-dim)}
.ga-meta dd{margin:0;font-size:15px;font-weight:600;line-height:1.5}
.ga-meta-link{display:inline-flex;align-items:center;gap:8px;color:inherit;background:linear-gradient(var(--ga-lime),var(--ga-lime)) 0 100%/100% 6px no-repeat;transition:background-size .25s var(--ga-ease)}
.ga-meta-link .icon{width:16px;height:16px}
.ga-meta-link:hover{background-size:100% 100%}
/* The browser and the board share one grid cell; the board's top margin is % of the width, so the overlap scales. */
.ga-hero-visual{display:grid;align-items:start}
.ga-hero-site{grid-area:1/1;width:88%;justify-self:end}
.ga-board{grid-area:1/1;position:relative;z-index:1;justify-self:start;width:min(66%,470px);margin:33% 0 0;background:var(--ga-ink);color:var(--ga-on-night);border:2px solid var(--ga-lime);background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.07) 1px,transparent 0);background-size:16px 16px;box-shadow:12px 12px 0 rgba(4,5,9,.18)}
.ga-board-head{display:flex;align-items:center;gap:12px;padding:14px 16px 12px;border-bottom:1px solid var(--ga-night-line)}
.ga-board-ico{display:grid;place-items:center;flex:none;width:38px;height:38px;background:var(--ga-lime);color:var(--ga-ink)}
.ga-board-ico .icon{width:20px;height:20px}
.ga-board-head p{display:grid;gap:3px}
.ga-board-head b{font:800 26px/.95 var(--ga-display);text-transform:uppercase;letter-spacing:.005em}
.ga-board-head small{font:500 11px/1.2 var(--ga-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ga-on-night-muted)}
.ga-board-list{list-style:none;margin:0;padding:6px 8px;position:relative}
.ga-brow{display:grid;grid-template-columns:24px 26px minmax(0,1fr) 88px;align-items:center;gap:10px;padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.06)}
.ga-brow:last-child{border-bottom:0}
.ga-brank{font:500 12px/1 var(--ga-mono);color:var(--ga-lime)}
.ga-btext{display:grid;min-width:0}
.ga-btext small{font:500 10px/1.3 var(--ga-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--ga-on-night-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ga-btext span{font-size:12.5px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ga-bscore{display:grid;gap:4px;justify-items:end}
.ga-bscore em{font:500 12px/1 var(--ga-mono);font-style:normal;font-variant-numeric:tabular-nums}
.ga-bscore i{display:block;width:100%;height:4px;background:rgba(255,255,255,.1);position:relative;overflow:hidden}
.ga-bscore i::after{content:'';position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--ga-lime);transition:width .6s var(--ga-ease)}
.ga-brow.is-bump{animation:ga-bump 1.2s var(--ga-ease)}
.ga-brow.is-bump em{color:var(--ga-lime)}
.ga-board-foot{padding:9px 16px 11px;border-top:1px solid var(--ga-night-line);font:500 11px/1.3 var(--ga-mono);color:var(--ga-on-night-muted);text-transform:uppercase;letter-spacing:.04em}
.ga-board-cap{grid-area:2/1;display:grid;gap:10px;justify-items:start;margin-top:30px;max-width:520px}
.ga-board-cap p{font-size:14px;line-height:1.55;color:var(--ga-dim)}
@keyframes ga-bump{0%{background:rgba(178,213,23,.22)}100%{background:transparent}}

/* ───────── Numbers ───────── */
.ga-numbers{background:var(--ga-ink);color:var(--ga-on-night)}
.ga-num-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0}
.ga-num-grid>div{padding:34px 28px 32px;border-left:1px solid var(--ga-night-line)}
.ga-num-grid>div:first-child{border-left:0;padding-left:0}
.ga-num-grid dt{font:800 clamp(64px,6.4vw,100px)/.82 var(--ga-display);color:var(--ga-lime)}
.ga-num-grid dd{margin:14px 0 0;font-size:15px;line-height:1.55;color:var(--ga-on-night-muted);max-width:250px}
.ga-odo-reels{display:inline-flex;vertical-align:top}
.ga-odo-col{display:inline-block;height:1em;overflow:hidden}
.ga-odo-reel{display:block;transform:translate3d(0,0,0)}
.ga-odo-reel span{display:block;height:1em;text-align:center}
.ga-num-grid.ga-in .ga-odo-reel{transform:translate3d(0,calc(var(--d) * -1em),0);transition:transform 1.7s var(--ga-ease) calc(.15s + var(--k) * .12s + var(--i) * .09s)}

/* ───────── Spec ───────── */
.ga-spec-list{list-style:none;margin:clamp(40px,5vw,64px) 0 0;padding:0;border-top:2px solid var(--ga-ink)}
.ga-spec-list li{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(0,1.15fr);gap:22px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--ga-line)}
.ga-spec-n{font:500 13px/1 var(--ga-mono);color:var(--ga-dim)}
.ga-spec-ask{font-size:16.5px;line-height:1.55;font-weight:600}
.ga-spec-done{font-size:15.5px;line-height:1.6;color:var(--ga-muted)}
.ga-pill{display:inline-block;margin-right:10px;padding:3px 7px 4px;background:var(--ga-lime);color:var(--ga-ink);font:500 11px/1 var(--ga-mono);text-transform:uppercase;letter-spacing:.05em;vertical-align:2px}
.ga-pill.is-ready{background:transparent;box-shadow:inset 0 0 0 1px var(--ga-ink)}
.ga-ready .ga-spec-list li.ga-in .ga-pill{animation:ga-stamp .5s var(--ga-ease) both .25s}
@keyframes ga-stamp{from{transform:scale(1.6) rotate(-6deg);opacity:0}to{transform:none;opacity:1}}

/* ───────── Digest simulator ───────── */
.ga-digest{background:var(--ga-night);color:var(--ga-on-night)}
.ga-sim{display:grid;grid-template-columns:minmax(0,.4fr) minmax(0,1fr);gap:clamp(24px,3.4vw,48px);align-items:start;margin-top:clamp(40px,5vw,64px)}
.ga-sim-controls{position:sticky;top:110px;display:grid;gap:20px;padding:24px;background:var(--ga-night-2);border:1px solid var(--ga-night-line)}
.ga-range{display:grid;gap:10px}
.ga-range>span{display:flex;justify-content:space-between;gap:10px;font:500 12px/1.3 var(--ga-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--ga-on-night-muted)}
.ga-range output{color:var(--ga-lime);font-variant-numeric:tabular-nums}
.ga-range input{-webkit-appearance:none;appearance:none;width:100%;height:20px;background:transparent;cursor:pointer;--fill:33%}
.ga-range input::-webkit-slider-runnable-track{height:4px;background:linear-gradient(var(--ga-lime),var(--ga-lime)) 0 0/var(--fill) 100% no-repeat,#343842}
.ga-range input::-moz-range-track{height:4px;background:linear-gradient(var(--ga-lime),var(--ga-lime)) 0 0/var(--fill) 100% no-repeat,#343842}
.ga-range input::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-7px;background:var(--ga-lime);border:2px solid var(--ga-ink);box-shadow:0 0 0 1px var(--ga-lime)}
.ga-range input::-moz-range-thumb{width:16px;height:16px;border-radius:0;background:var(--ga-lime);border:2px solid var(--ga-ink)}
.ga-switch{display:flex;align-items:center;gap:12px;font-size:14.5px;line-height:1.4;cursor:pointer}
.ga-switch input{position:absolute;opacity:0;width:1px;height:1px}
.ga-switch-ui{position:relative;flex:none;width:42px;height:22px;background:#343842;transition:background-color .2s ease}
.ga-switch-ui::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;background:var(--ga-on-night);transition:transform .25s var(--ga-ease)}
.ga-switch input:checked+.ga-switch-ui{background:#e5484d}
.ga-switch input:checked+.ga-switch-ui::after{transform:translateX(20px)}
.ga-switch input:focus-visible+.ga-switch-ui{outline:2px solid var(--ga-lime);outline-offset:3px}
.ga-sim-hint{font-size:14px;line-height:1.6;color:var(--ga-on-night-muted);min-height:4.8em}
.ga-sim-hint b{color:var(--ga-on-night)}
.ga-sim-stats{margin:0;display:grid;gap:8px;padding-top:14px;border-top:1px solid var(--ga-night-line)}
.ga-sim-stats>div{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;color:var(--ga-on-night-muted)}
.ga-sim-stats dd{margin:0;font:500 13.5px/1.4 var(--ga-mono);color:var(--ga-on-night);font-variant-numeric:tabular-nums}
.ga-sim-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;counter-reset:none}
.ga-srow{position:relative;display:grid;grid-template-columns:30px 26px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:12px;row-gap:6px;align-items:center;padding:10px 14px;background:var(--ga-night-2);border:1px solid var(--ga-night-line);transition:opacity .35s ease,background-color .3s ease,border-color .3s ease}
.ga-srank{font:500 13px/1 var(--ga-mono);color:var(--ga-on-night-muted)}
.ga-stext{display:grid;gap:2px;min-width:0}
.ga-stext small{font:500 11px/1.3 var(--ga-mono);color:var(--ga-on-night-muted);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ga-stext span{font-size:14.5px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ga-snums{display:grid;gap:2px;justify-items:end;text-align:right}
.ga-snums em{font:500 14px/1 var(--ga-mono);font-style:normal;font-variant-numeric:tabular-nums;white-space:nowrap}
.ga-snums small{font-size:11.5px;color:var(--ga-on-night-muted);white-space:nowrap}
.ga-sbar{grid-column:3/5;height:3px;background:rgba(255,255,255,.07);position:relative;overflow:hidden}
.ga-sbar i{position:absolute;inset:0 auto 0 0;width:var(--w);background:#5b616d;transition:width .5s var(--ga-ease),background-color .3s ease}
.ga-srow::after{content:attr(data-state);position:absolute;top:8px;right:-1px;transform:translateY(-100%);padding:2px 6px;font:500 10px/1.2 var(--ga-mono);text-transform:uppercase;letter-spacing:.04em;background:var(--ga-night-3);color:var(--ga-on-night-muted);opacity:0;transition:opacity .2s ease}
.ga-srow.is-win{background:#1a1d16;border-color:rgba(178,213,23,.45)}
.ga-srow.is-win .ga-srank{color:var(--ga-lime)}
.ga-srow.is-win .ga-sbar i{background:var(--ga-lime)}
.ga-srow.is-low,.ga-srow.is-cap,.ga-srow.is-out{opacity:.42}
.ga-srow.is-low::after,.ga-srow.is-cap::after{opacity:1}
.ga-srow.is-cap .ga-stext span{text-decoration:line-through;text-decoration-color:rgba(229,72,77,.8)}
.ga-srow.is-cut{margin-top:34px}
.ga-srow.is-cut::before{content:'Не вошли в подборку';position:absolute;left:0;top:-12px;transform:translateY(-100%);font:500 11px/1 var(--ga-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ga-on-night-muted)}
.ga-sim.is-cast .ga-snums em{color:#e5484d}
.ga-rules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:clamp(40px,5vw,60px)}
.ga-rules article{padding:22px 22px 24px;border:1px solid var(--ga-night-line);background:var(--ga-night-2)}
.ga-rules span{font:500 13px/1 var(--ga-mono);color:var(--ga-lime)}
.ga-rules h3{font:800 28px/.95 var(--ga-display);text-transform:uppercase;margin:12px 0 10px}
.ga-rules p{font-size:15px;line-height:1.6;color:var(--ga-on-night-muted)}
.ga-digest .ga-note{margin-top:24px}

/* ───────── Post's path: pinned stage, like the hotel case ───────── */
.ga-journey{margin-top:clamp(40px,5vw,64px)}
.ga-jsteps{list-style:none;margin:0;padding:0;display:grid;gap:clamp(48px,6vw,90px)}
.ga-jstep{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:clamp(24px,4vw,60px);align-items:center}
.ga-jnum{display:flex;align-items:center;gap:10px;font:500 13px/1 var(--ga-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ga-muted)}
.ga-jnum span{padding:4px 6px;background:var(--ga-lime);color:var(--ga-ink)}
.ga-jtext h3{font:800 clamp(34px,3.2vw,48px)/.92 var(--ga-display);text-transform:uppercase;margin:14px 0 12px}
.ga-jtext p:last-child{font-size:17px;line-height:1.7;color:var(--ga-muted)}
.ga-jshot{margin:0}
.ga-term{background:var(--ga-ink);color:#d7dbd2;border:1px solid var(--ga-ink);box-shadow:10px 10px 0 var(--ga-lime);font:500 13.5px/1.6 var(--ga-mono)}
.ga-term-bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-bottom:1px solid #262a33;color:#8b909b;font-size:12px}
.ga-term-bar i{width:9px;height:9px;border:1px solid #4a4e59}
.ga-term-bar i:first-child{background:var(--ga-lime);border-color:var(--ga-lime)}
.ga-term-bar span{margin-left:10px}
.ga-term ol{list-style:none;margin:0;padding:18px 18px 22px;display:grid;gap:8px;min-height:300px}
.ga-term li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px}
.ga-term li b{color:var(--ga-lime);font-weight:500}
.ga-term li.is-cmd{color:#fff}
.ga-term li.is-warn b,.ga-term li.is-warn span{color:#f5c451}
.ga-term li span{overflow-wrap:anywhere}
.ga-term.is-typing li{opacity:0;transform:translateY(4px)}
.ga-term.is-typing li.is-on{opacity:1;transform:none;transition:opacity .25s ease,transform .3s var(--ga-ease)}
.ga-journey-note{margin-top:clamp(28px,3vw,40px)}
.ga-jstage{display:grid;gap:16px;align-content:start}
.ga-jframes{display:grid;width:100%;max-width:calc((100svh - 300px) * 1.6);justify-self:end}
.ga-jframes .ga-jshot{grid-area:1/1;opacity:0;visibility:hidden;filter:blur(6px);transform:translate3d(0,18px,0) scale(.985);transition:opacity .45s ease,filter .45s ease,transform .65s var(--ga-ease),visibility 0s linear .65s}
.ga-jframes .ga-jshot.is-active{opacity:1;visibility:visible;filter:none;transform:none;transition:opacity .45s ease,filter .45s ease,transform .65s var(--ga-ease),visibility 0s}
.ga-jprog{display:flex;align-items:center;gap:18px;width:100%;max-width:calc((100svh - 300px) * 1.6);justify-self:end;margin-top:14px}
.ga-jcount{flex:none;min-width:150px;font:500 13px/1 var(--ga-mono);text-transform:uppercase;color:var(--ga-muted);font-variant-numeric:tabular-nums}
.ga-jcount b{color:var(--ga-ink);font-weight:500}
.ga-jsegs{display:flex;flex:1;gap:6px}
.ga-jsegs button{flex:1;display:grid;align-items:center;height:28px;padding:0;border:0;background:transparent;cursor:pointer}
.ga-jsegs button::before{content:'';height:4px;background:rgba(4,5,9,.14);transition:background-color .3s ease}
.ga-jsegs button:hover::before{background:rgba(4,5,9,.3)}
.ga-jsegs button.is-past::before{background:rgba(4,5,9,.55)}
.ga-jsegs button[aria-current=step]::before{background:var(--ga-lime);box-shadow:0 0 0 1px var(--ga-ink)}
@media (min-width:1024px){
 .ga-journey.is-staged{display:grid;grid-template-columns:minmax(0,.56fr) minmax(0,1.44fr);gap:clamp(32px,4vw,64px);align-items:start}
 .is-staged .ga-jsteps{display:block;padding:4svh 0 18svh}
 .is-staged .ga-jstep{display:flex;flex-direction:column;justify-content:center;min-height:66svh;opacity:.26;transition:opacity .45s ease}
 .is-staged .ga-jstep.is-active{opacity:1}
 .is-staged .ga-jstage{position:sticky;top:calc(90px + 5svh)}
}
@media (max-width:1023px){
 .ga-jstep{grid-template-columns:1fr;gap:22px}
 .ga-journey.is-staged{display:flex;flex-direction:column;gap:18px}
 .is-staged .ga-jstage{order:-1}
 .is-staged .ga-jframes,.is-staged .ga-jprog{max-width:none}
 .is-staged .ga-jsteps{position:relative;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding:2px}
 .is-staged .ga-jsteps::-webkit-scrollbar{display:none}
 .is-staged .ga-jstep{flex:0 0 min(86%,460px);display:block;scroll-snap-align:start;padding:20px 20px 22px;border:1px solid var(--ga-ink);background:#fff;opacity:.5;transition:opacity .3s ease}
 .is-staged .ga-jstep.is-active{opacity:1;box-shadow:6px 6px 0 var(--ga-lime)}
 .is-staged .ga-jtext h3{font-size:30px;margin:10px 0 8px}
 .is-staged .ga-jtext p:last-child{font-size:15.5px;line-height:1.65}
}
.ga-widget{margin:clamp(56px,7vw,100px) 0 0}

/* ───────── Translation ───────── */
.ga-translate{background:var(--ga-night);color:var(--ga-on-night)}
.ga-tr{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(20px,2.6vw,36px);align-items:start;margin-top:clamp(40px,5vw,64px)}
.ga-tr-source,.ga-tr-card{background:var(--ga-paper);color:var(--ga-ink);border:1px solid var(--ga-ink)}
.ga-tr-source{padding:22px 22px 24px;box-shadow:10px 10px 0 var(--ga-lime)}
.ga-tr-label{font:500 11px/1 var(--ga-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ga-dim);margin-bottom:12px}
.ga-tr-source h3,.ga-tr-card h3{font:800 28px/.95 var(--ga-display);text-transform:uppercase}
.ga-tr-source>p:not(.ga-tr-label),.ga-tr-card>p:not(.ga-tr-card-head):not(.ga-tr-slug){font-size:14.5px;line-height:1.55;margin-top:10px;color:var(--ga-muted)}
.ga-tr-source>ul,.ga-tr-card>ul{margin:10px 0 0;padding-left:18px;font-size:14px;line-height:1.55;color:var(--ga-muted)}
.ga-tr-source .ga-tr-label-frags{margin-top:22px;padding-top:16px;border-top:1px solid var(--ga-line)}
.ga-frags{list-style:none;margin:0!important;padding:0!important;display:flex;flex-wrap:wrap;gap:6px}
.ga-frags li{display:inline-flex;align-items:center;gap:6px;padding:4px 7px;border:1px solid var(--ga-line);font-size:12px;color:var(--ga-muted);transition:background-color .2s ease,border-color .2s ease}
.ga-frags code{font:500 11px/1 var(--ga-mono);color:var(--ga-ink)}
.ga-frags li.is-brand{border-style:dashed}
.ga-frags li.is-sent{background:var(--ga-lime);border-color:var(--ga-ink);color:var(--ga-ink)}
.ga-tr-targets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ga-tr-card{position:relative;padding:18px 20px 20px;min-height:100%}
.ga-tr-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.ga-tr-card-head b{padding:4px 7px;background:var(--ga-ink);color:var(--ga-lime);font:500 12px/1 var(--ga-mono)}
.ga-tr-state{font:500 11px/1 var(--ga-mono);text-transform:uppercase;letter-spacing:.05em;color:#3d7a14}
.ga-tr-bar{display:block;height:4px;background:var(--ga-line);margin-bottom:14px;overflow:hidden}
.ga-tr-bar i{display:block;height:100%;width:100%;background:var(--ga-lime);transform-origin:left;transition:transform .35s ease}
.ga-tr-slug{margin-top:12px;padding-top:10px;border-top:1px dashed var(--ga-line)}
.ga-tr-slug code{font:500 11.5px/1.4 var(--ga-mono);color:var(--ga-dim);overflow-wrap:anywhere}
.ga-tr-card.is-wait .ga-tr-state{color:var(--ga-dim)}
.ga-tr-card.is-wait .ga-tr-bar i{transform:scaleX(0)}
.ga-tr .ga-tr-card.is-wait [data-tr-text]{color:transparent;background:linear-gradient(var(--ga-line),var(--ga-line)) 0 50%/100% .7em no-repeat}
.ga-tr-card.is-work{box-shadow:6px 6px 0 var(--ga-lime)}
.ga-tr-card.is-work .ga-tr-state{color:var(--ga-ink)}
.ga-tr-card [data-tr-text].is-typing::after{content:'';display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-2px;background:var(--ga-ink);animation:ga-caret 1s steps(1) infinite}
.ga-tr-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;padding-top:6px}
.ga-tr-foot p{font-size:15px;line-height:1.6;color:var(--ga-on-night-muted);max-width:760px}
.ga-tr-real{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start;margin-top:clamp(56px,7vw,96px)}
.ga-tr-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ga-panel{margin:0}
.ga-panel img{display:block;width:100%;height:auto;border:1px solid #30333c;box-shadow:6px 6px 0 rgba(178,213,23,.9)}
.ga-panel figcaption{margin-top:12px;font:500 11px/1.3 var(--ga-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ga-on-night-muted)}
.ga-facts{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--ga-night-line)}
.ga-facts li{padding:16px 0;border-bottom:1px solid var(--ga-night-line);font-size:15px;line-height:1.6;color:var(--ga-on-night-muted)}
.ga-facts b{display:block;margin-bottom:4px;font:800 24px/1 var(--ga-display);text-transform:uppercase;color:var(--ga-on-night)}
.ga-facts-light{border-top-color:var(--ga-ink)}
.ga-facts-light li{border-bottom-color:var(--ga-line);color:var(--ga-muted)}
.ga-facts-light b{color:var(--ga-ink)}
.ga-translate .ga-note{margin-top:28px}
@keyframes ga-caret{50%{opacity:0}}

/* ───────── URLs ───────── */
.ga-url{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:0;margin-top:clamp(40px,5vw,64px);border:1px solid var(--ga-ink);background:#fff;box-shadow:10px 10px 0 var(--ga-lime)}
.ga-url-controls{display:grid;gap:22px;align-content:start;padding:24px;border-right:1px solid var(--ga-ink)}
.ga-seg{border:0;margin:0;padding:0;display:grid;gap:8px}
.ga-seg legend{margin-bottom:10px;font:500 12px/1 var(--ga-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--ga-dim)}
.ga-seg label{position:relative;display:block;cursor:pointer}
.ga-seg input{position:absolute;opacity:0;width:1px;height:1px}
.ga-seg span{display:block;padding:11px 14px;border:1px solid var(--ga-ink);font-size:15px;font-weight:600;transition:background-color .2s ease}
.ga-seg label:hover span{background:rgba(178,213,23,.25)}
.ga-seg input:checked+span{background:var(--ga-lime)}
.ga-seg input:focus-visible+span{outline:2px solid var(--ga-ink);outline-offset:2px}
.ga-seg-lang{grid-template-columns:repeat(5,minmax(0,1fr))}
.ga-seg-lang legend{grid-column:1/-1}
.ga-seg-lang span{padding:10px 0;text-align:center;font:500 13px/1 var(--ga-mono)}
.ga-url-out{display:grid;gap:22px;align-content:start;padding:24px 26px 26px;min-width:0}
.ga-url-line{display:flex;flex-wrap:wrap;align-items:baseline;font:500 clamp(15px,1.6vw,21px)/1.5 var(--ga-mono);overflow-wrap:anywhere;padding-bottom:18px;border-bottom:1px solid var(--ga-line)}
.ga-url-line>span{display:inline-block;transition:background-color .3s ease}
.ga-url-host{color:var(--ga-dim)}
.ga-url-base{background:var(--ga-lime);box-shadow:0 0 0 1px var(--ga-ink)}
.ga-url-line .is-swap{animation:ga-swap .45s var(--ga-ease)}
.ga-url-redirect{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:14px;color:var(--ga-muted)}
.ga-url-redirect code{font:500 13px/1.4 var(--ga-mono);color:var(--ga-dim);text-decoration:line-through;text-decoration-color:rgba(4,5,9,.4);overflow-wrap:anywhere}
.ga-301{display:inline-block;padding:3px 7px;background:var(--ga-ink);color:var(--ga-lime);font:500 12px/1 var(--ga-mono)}
.ga-url-redirect.is-bounce .ga-301{animation:ga-bounce .6s var(--ga-ease)}
.ga-hreflang{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ga-hreflang li{display:grid;grid-template-columns:160px minmax(0,1fr);gap:10px;align-items:baseline;font:500 12.5px/1.45 var(--ga-mono)}
.ga-hreflang code{color:var(--ga-ink);font:inherit}
.ga-hreflang li code::before{content:'hreflang=';color:var(--ga-dim)}
.ga-hreflang span{color:var(--ga-muted);overflow-wrap:anywhere}
.ga-hreflang li.is-here span{color:var(--ga-ink);background:rgba(178,213,23,.35)}
.ga-seo-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start;margin-top:clamp(56px,7vw,96px)}
@keyframes ga-swap{from{opacity:0;transform:translate3d(0,-6px,0)}to{opacity:1;transform:none}}
@keyframes ga-bounce{0%{transform:none}30%{transform:translateX(10px)}60%{transform:translateX(-3px)}100%{transform:none}}

/* ───────── Roles, ads, theme ───────── */
.ga-roles{background:var(--ga-night);color:var(--ga-on-night)}
.ga-roles-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,40px);margin-top:clamp(40px,5vw,64px)}
.ga-ads-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,4vw,64px);align-items:start}
.ga-ads-shots{display:grid;gap:clamp(28px,3vw,40px)}
.ga-theme{background:var(--ga-night);color:var(--ga-on-night)}
.ga-theme-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(28px,4vw,56px);align-items:center;margin-top:clamp(40px,5vw,64px)}
.ga-phones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ga-phones .ga-phone:nth-child(2){transform:translateY(-22px)}
.ga-theme .ga-phone{border-color:#30333c;box-shadow:6px 6px 0 rgba(178,213,23,.9)}
.ga-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,3vw,44px) clamp(20px,2.6vw,36px);margin-top:clamp(56px,7vw,96px)}

/* ───────── Finale ───────── */
.ga-finale{position:relative;overflow:hidden;background:var(--ga-lime);color:var(--ga-ink);padding:clamp(84px,9vw,130px) 0 clamp(130px,14vw,210px)}
.ga-finale-word{position:absolute;left:50%;bottom:-.16em;transform:translateX(-50%);font:900 clamp(160px,26vw,420px)/.8 var(--ga-display);white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px rgba(4,5,9,.35);pointer-events:none;user-select:none}
.ga-finale-grid{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,5vw,80px);align-items:start}
.ga-finale h2{font-size:clamp(46px,5vw,80px)}
.ga-finale-links{margin-top:24px}
.ga-finale .text-link{color:var(--ga-ink)}
.ga-lessons{list-style:none;margin:0;padding:0;counter-reset:l;border-top:2px solid var(--ga-ink)}
.ga-lessons li{counter-increment:l;display:grid;grid-template-columns:48px minmax(0,1fr);padding:22px 0;border-bottom:1px solid rgba(4,5,9,.25);font-size:16px;line-height:1.7}
.ga-lessons li::before{content:'0' counter(l);grid-row:span 2;font:500 14px/1.6 var(--ga-mono)}
.ga-lessons b{font:800 30px/1 var(--ga-display);text-transform:uppercase;margin-bottom:6px}
.ga-next{margin-top:10px}

/* ───────── Motion: entrances on load (CSS), reveals below the fold (script) ───────── */
.ga-ready [data-ga]{opacity:0;transform:translateY(22px)}
.ga-ready [data-ga].ga-in{opacity:1;transform:none;transition:opacity .75s var(--ga-ease),transform .75s var(--ga-ease)}
@media (min-width:1101px){
 .ga-ready .ga-rules article:nth-child(2).ga-in,.ga-ready .ga-gallery figure:nth-child(even).ga-in{transition-delay:.08s}
 .ga-ready .ga-rules article:nth-child(3).ga-in{transition-delay:.16s}
 .ga-ready .ga-rules article:nth-child(4).ga-in{transition-delay:.24s}
}
@media (prefers-reduced-motion:no-preference){
 .ga-hero .back-link,.ga-hero .ga-kicker{animation:ga-up .7s var(--ga-ease) both}
 .ga-hero h1{animation:ga-rise 1s var(--ga-ease) both .05s}
 .ga-hero h1::after{animation:ga-wipe .9s var(--ga-ease-io) both .45s;transform-origin:left}
 .ga-hero .ga-sub{animation:ga-up .8s var(--ga-ease) both .14s}
 .ga-hero .ga-lead{animation:ga-up .8s var(--ga-ease) both .2s}
 .ga-hero .ga-meta>div{animation:ga-up .7s var(--ga-ease) both .26s}
 .ga-hero .ga-meta>div:nth-child(2){animation-delay:.31s}
 .ga-hero .ga-meta>div:nth-child(3){animation-delay:.36s}
 .ga-hero .ga-meta>div:nth-child(4){animation-delay:.41s}
 .ga-hero-site{animation:ga-unveil 1.1s var(--ga-ease-io) both .1s}
 .ga-board{animation:ga-drop 1s var(--ga-ease) both .5s}
 .ga-board-cap{animation:ga-up .8s var(--ga-ease) both .8s}
}
@supports (animation-timeline:view()){
 @media (prefers-reduced-motion:no-preference){
  .ga-finale-word{animation:ga-drift linear both;animation-timeline:view()}
 }
}
@keyframes ga-up{from{opacity:0;transform:translate3d(0,16px,0)}}
@keyframes ga-rise{from{opacity:0;transform:translate3d(0,.2em,0);filter:blur(10px)}}
@keyframes ga-wipe{from{transform:scaleX(0)}}
@keyframes ga-unveil{from{opacity:0;clip-path:inset(8% 10% 8% 10%)}to{opacity:1;clip-path:inset(-20px -20px -20px -20px)}}
@keyframes ga-drop{from{opacity:0;transform:translate3d(-30px,40px,0)}}
@keyframes ga-drift{from{transform:translateX(-42%)}to{transform:translateX(-58%)}}

@media (prefers-reduced-motion:reduce){
 .ga-ready [data-ga]{opacity:1;transform:none}
 .ga-btn,.ga-toggle,.ga-srow,.ga-sbar i,.ga-bscore i::after,.ga-jstep,.ga-jsegs button::before,.ga-jframes .ga-jshot,.ga-tr-bar i,.ga-seg span,.ga-switch-ui,.ga-switch-ui::after,.ga-meta-link{transition:none!important}
 .ga-brow.is-bump,.ga-url-line .is-swap,.ga-url-redirect.is-bounce .ga-301{animation:none}
}

/* ───────── Responsive ───────── */
@media (max-width:1100px){
 .ga-hero-grid{grid-template-columns:1fr;min-height:0}
 .ga-hero-copy{max-width:720px}
 .ga-hero-visual{max-width:860px}
 .ga-sim{grid-template-columns:1fr}
 .ga-sim-controls{position:static}
 .ga-rules{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ga-tr{grid-template-columns:1fr}
 .ga-tr-real,.ga-seo-grid,.ga-ads-grid{grid-template-columns:1fr}
 .ga-url{grid-template-columns:1fr}
 .ga-url-controls{border-right:0;border-bottom:1px solid var(--ga-ink)}
}
@media (max-width:899px){
 .ga-num-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ga-num-grid>div{padding:26px 20px 24px}
 .ga-num-grid>div:nth-child(odd){border-left:0;padding-left:0}
 .ga-num-grid>div:nth-child(n+3){border-top:1px solid var(--ga-night-line)}
 .ga-spec-list li{grid-template-columns:40px minmax(0,1fr);row-gap:6px}
 .ga-spec-done{grid-column:2}
 .ga-roles-grid,.ga-gallery,.ga-finale-grid,.ga-theme-grid{grid-template-columns:1fr}
 .ga-srow{grid-template-columns:26px 26px minmax(0,1fr);row-gap:4px}
 .ga-snums{grid-column:3;justify-items:start;text-align:left;grid-template-columns:auto auto;align-items:baseline;gap:10px}
 .ga-sbar{grid-column:1/-1}
}
@media (max-width:650px){
 .ga-hero{padding-top:14px}
 .ga-hero h1{font-size:clamp(96px,30vw,140px)}
 .ga-meta>div{grid-template-columns:80px minmax(0,1fr);gap:12px}
 .ga-bar{height:26px;padding:0 10px}
 .ga-bar i{width:7px;height:7px}
 .ga-hero-site{width:100%}
 .ga-board{width:100%;margin-top:42%}
 .ga-brow{grid-template-columns:22px 24px minmax(0,1fr) 74px;gap:8px}
 .ga-browser{box-shadow:6px 6px 0 var(--ga-lime)}
 .ga-rules{grid-template-columns:1fr}
 .ga-tr-targets{grid-template-columns:1fr}
 .ga-tr-panels{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .ga-url-controls,.ga-url-out{padding:18px}
 .ga-phones{gap:8px}
 .ga-phone{border-radius:14px;box-shadow:4px 4px 0 var(--ga-lime)}
 .ga-phones .ga-phone:nth-child(2){transform:translateY(-12px)}
 .ga-lessons li{grid-template-columns:36px minmax(0,1fr)}
 .ga-lessons b{font-size:26px}
}
@media (max-width:374px){
 .ga-meta>div{grid-template-columns:64px minmax(0,1fr);gap:10px}
 .ga-meta dd{font-size:13.5px}
}
