/* Generated by scripts/build_public_assets.py; edit the source sheets. */
/* Base: reset, reading typography, focus, page transitions. */
@layer base{
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--subnav-h,0px) + 24px);hanging-punctuation:first}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;min-height:100dvh;background:var(--paper);color:var(--ink);font:400 var(--t-body)/1.6 var(--font-text);
 font-feature-settings:'kern','liga';-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}


img,svg,video,canvas{display:block;max-width:100%}
img{height:auto}
input,button,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
button:disabled{cursor:not-allowed}
a{color:inherit;text-decoration-thickness:1.5px;text-underline-offset:.2em}
p,li,dd,figcaption,blockquote{text-wrap:pretty}
h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:800;line-height:1.08;letter-spacing:var(--track-display);text-wrap:balance;overflow-wrap:break-word}
h1{font-size:var(--t-h1);font-weight:800;line-height:1.02}
/* Phones hyphenate only genuinely long words (13+ letters, 6 on each side), so short ones are never split. */
@media (max-width:640px){h1,h2,.display{hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:13 6 6;-webkit-hyphenate-limit-before:6;-webkit-hyphenate-limit-after:6;overflow-wrap:break-word}}
h2{font-size:var(--t-h2);font-weight:800;line-height:1.05}
h3{font-size:var(--t-h3);font-weight:700;letter-spacing:-.02em;line-height:1.2}
p{margin:0}
ul,ol{margin:0;padding:0}
dl,dd{margin:0}
figure{margin:0}
table{border-collapse:collapse;width:100%}
kbd{font:500 .75rem/1 var(--font-text);padding:3px 6px;border:1px solid var(--rule-strong);border-radius:6px;background:var(--card)}
hr{border:0;border-top:var(--hairline);margin:var(--s-7) 0}
[hidden]{display:none!important}
::selection{background:var(--accent);color:#fffdf8}
mark{background:var(--highlight);color:inherit;border-radius:4px;padding:0;box-shadow:0 0 0 .12em var(--highlight);box-decoration-break:clone;-webkit-box-decoration-break:clone}
html{scrollbar-color:var(--rule-strong) var(--paper)}
*{scrollbar-width:thin}
html{scrollbar-width:auto}
summary{cursor:pointer}
summary::-webkit-details-marker{display:none}

:focus{outline:none}
:focus-visible{outline:3px solid var(--focus-ring-solid,var(--action));outline-offset:2px;border-radius:6px}
main:focus-visible{outline:none;box-shadow:none}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:12px;z-index:calc(var(--z-grain) + 1);padding:12px 18px;border-radius:var(--r-pill);background:var(--ink);color:var(--paper);font-weight:600;text-decoration:none;transform:translateY(-160%);transition:transform var(--d-2) var(--ease-out)}
.skip:focus{transform:none}

.wrap{width:min(100% - 2*var(--gutter),var(--wrap));margin-inline:auto}
main{display:block;min-height:60vh}
.preview-strip{background:var(--highlight);color:#1c1917;text-align:center;font:600 var(--t-xs)/1.4 var(--font-text);padding:8px var(--gutter)}

/* Display voice: Golos 800, обычный регистр, плотный трекинг. */
.display{font-family:var(--font-display);font-weight:800;letter-spacing:var(--track-display);line-height:1}

/* Key word in a headline: brand red with a hand-drawn underline stroke. */
.marker,.hot{color:var(--action)}
.marker{background:linear-gradient(transparent 82%,color-mix(in oklab,var(--accent) 55%,transparent) 82% 92%,transparent 92%);padding-inline:.04em}
/* Заголовок-градиент: серый сверху, крем снизу (так на основном сайте «Почему УБТ», «Кейсы», «Частые вопросы») */
.fade-title{color:var(--ink)}
@media (forced-colors:active){.fade-title{background:none;-webkit-text-fill-color:currentColor;color:CanvasText}}

/* Scroll reveal: communicates reading order on landing pages. Content is visible without support. */
@media (prefers-reduced-motion:no-preference){
 @supports (animation-timeline:view()){
  [data-reveal]{animation:reveal-up linear both;animation-timeline:view();animation-range:entry 0% entry 42%}
  [data-reveal-stagger]>*{animation:reveal-up linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
 }
}
@keyframes reveal-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* Cross-document page transitions: the header stays, content crossfades. */
@media (prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 ::view-transition-old(root){animation:vt-out .16s var(--ease-out) both}
 ::view-transition-new(root){animation:vt-in .24s var(--ease-out) both}
}
@keyframes vt-out{to{opacity:0}}
@keyframes vt-in{from{opacity:0}}

@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:0s!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;transition-delay:0s!important;scroll-behavior:auto!important}
}
}

/* Print sits above every layer: a guide or a brief on paper, nothing interactive. */
@layer print{
@media print{
 body::after,.site-header,.site-footer,.menu-dialog,.search-dialog,.toc-sheet,.reading-progress,.reading-bar,.result-peek,.toast,.skip,
 .article-aside,.next-step,.related-section,.heading-anchor,.share-button,.breadcrumb,.contact-panel,.consent,.brief-aside,.brief-header .result-ricco,
 .brief-faq,.brief-complete .actions,.brief-status,.tool-nav,.scenario-actions,.result-ricco,.tool-next,.rail-controls{display:none!important}
 body{background:#fff;color:#000;font-size:11.5pt}
 .article-layout{display:block}
 .article-body{max-width:none}
 a[href^="http"]::after{content:' (' attr(href) ')';font-size:.8em;color:#555;word-break:break-all}
 .sticker,.callout,.brief-complete,.result-hero{box-shadow:none!important;transform:none!important}
 .brief-page>*:not(.brief-layout),.brief-layout>.brief-aside{display:none!important}
 .brief-layout{display:block}
 .brief-complete{background:none!important;border:0!important;padding:0!important}
 .brief-complete h2{font-size:22pt}
 .brief-complete pre{max-height:none;overflow:visible;border:0;padding:0;background:none;font-size:12pt}
 h1,h2,h3{break-after:avoid}
 [data-reveal],[data-reveal-stagger]>*{animation:none!important;opacity:1!important;transform:none!important}
}
}
/* Components. Semantic class = complete appearance; pages only place them.
   Язык «Рикко»: кремовый лист, почти чёрный текст, красные капсулы, пастельные карточки радиусом 28, тёмные «ночные» блоки. */
@layer components{

/* ─── Ночной блок: тёмная плита на кремовой странице (как «Рабочий стол» и подвал). Токены переопределены, компоненты читаются без правок. ─── */
.night,.sheet.night{--paper:#232321;--ink:#f8f6f0;--card:#2e2e2b;--paper-sunken:#2a2a28;--paper-deep:#3a3a36;--ink-2:#d4d1c7;--ink-3:#aaa79b;
 --rule:rgb(248 246 240 / .16);--rule-strong:rgb(248 246 240 / .34);--field-line:rgb(248 246 240 / .5);--action:#ff7078;--action-press:#ff9399;
 --focus-ring:rgb(255 112 120 / .4);--focus-ring-solid:#ffd24a;--c-grid:rgb(248 246 240 / .12);--lift-1:none;--glow:0 10px 24px -12px rgb(213 44 54 / .7);
 --mint:#27352b;--rose:#3a2a29;--lilac:#2f2c3b;--butter:#38331f;--sky:#25323a;
 background:var(--night);color:var(--ink);border-radius:var(--r-xl)}
.sheet{background:none}

/* ─── Icons ─────────────────────────────────────────── */
.ui-icon{width:1.15em;height:1.15em;flex:none;vertical-align:-.18em;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}

/* ─── Small type roles ──────────────────────────────── */
.eyebrow,.brand-overline{display:inline-block;font:600 var(--t-label)/1.3 var(--font-text);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--ink-3)}
.eyebrow.hot,.eyebrow[data-tone=red]{color:var(--action)}
.source-note{font-size:var(--t-xs);line-height:1.55;color:var(--ink-3)}
.source-note a{color:var(--ink-2)}
.lead,.hero-dek{font-size:var(--t-lead);line-height:1.55;color:var(--ink-2);max-width:56ch}
.notice{padding:14px 18px;border-radius:var(--r-md);background:var(--butter);font-weight:500}
.error{color:var(--bad);font-weight:600}
.index-number{font:800 var(--t-xs)/1 var(--font-display);letter-spacing:0;color:var(--ink-3)}

/* ─── Buttons ────────────────────────────────────────
 Главная: красная капсула со свечением. Вторая: тонкая обводка, при наведении заливается. Текст: красная заглавная ссылка со стрелкой. */
.button,.ui-action,.pill-link,.chip,.filter-chip{--bg:transparent;--fg:var(--ink);--bd:color-mix(in oklab,var(--ink) 25%,transparent);
 position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 26px;border:1px solid var(--bd);border-radius:var(--r-pill);
 background:var(--bg);color:var(--fg);font:600 .9375rem/1.1 var(--font-text);letter-spacing:var(--track-label);text-decoration:none;white-space:nowrap;cursor:pointer;
 transition:background-color var(--d-2),border-color var(--d-2),color var(--d-2),box-shadow var(--d-2),transform var(--d-1);
 -webkit-tap-highlight-color:transparent;touch-action:manipulation}
@media (max-width:480px){.button{max-width:100%;white-space:normal;text-align:center}}
.button,.ui-action[data-variant=primary]{--bg:var(--button);--fg:var(--on-button);--bd:transparent;box-shadow:var(--glow)}
.button.secondary,.ui-action[data-variant=secondary]{--bg:transparent;--fg:var(--ink);--bd:color-mix(in oklab,var(--ink) 25%,transparent);box-shadow:none}
.button.wide{width:100%;white-space:normal;text-align:center;line-height:1.2;padding-block:12px}
/* Компактная кнопка (шапка, подвал): рисуется ниже, зона нажатия остаётся 44 px */
.ui-action[data-size=compact]{min-height:40px;padding:0 20px;font-size:.875rem}
.ui-action[data-size=compact]::before{content:'';position:absolute;inset:-2px -2px}
.button .ui-icon,.ui-action .ui-icon{width:1.1em;height:1.1em;transition:transform var(--d-2) var(--ease-apple)}
@media (hover:hover){
 .button:hover,.ui-action[data-variant=primary]:hover{--bg:var(--button-hover);box-shadow:0 14px 30px -12px rgb(213 44 54 / .75)}
 .button.secondary:hover,.ui-action[data-variant=secondary]:hover{--bg:var(--ink);--fg:var(--paper);--bd:var(--ink);box-shadow:none}
 .pill-link:hover,.chip:hover{--bg:var(--card);--fg:var(--ink);--bd:var(--ink);box-shadow:var(--lift-1)}
 .button:hover .ui-icon,.ui-action:hover .ui-icon{transform:translateX(2px)}
 .button:hover .ui-icon:has(use[href$="#arrow-up-right"]),.ui-action:hover .ui-icon:has(use[href$="#arrow-up-right"]){transform:translate(2px,-2px)}
}
.button:active,.ui-action:not([data-variant=text]):active,.pill-link:active,.chip:active{transform:scale(.97)}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.button:hover,.ui-action[data-variant=primary]:hover{transform:translateY(-2px)}}
.button:disabled,.button[aria-disabled=true]{opacity:.45;transform:none}
.ui-action[data-tone=inverse]{--fg:var(--paper);--bd:var(--paper)}

/* Text link: красная заглавная ссылка со стрелкой */
.text-link,.ui-action[data-variant=text]{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0;border:0;background:none;box-shadow:none;color:var(--ink);font:600 .9375rem/1.2 var(--font-text);letter-spacing:var(--track-label);
 text-decoration:none;transition:color var(--d-1)}
.text-link:hover,.ui-action[data-variant=text]:hover{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px;color:var(--action)}
.text-link .ui-icon,.ui-action[data-variant=text] .ui-icon{width:1.1em;height:1.1em;transition:transform var(--d-2) var(--ease-apple)}
.text-link:hover .ui-icon{transform:translateX(3px)}
.ui-action[data-variant=text][data-tone=inverse]{color:var(--paper)}
.text-button{min-height:44px;font-weight:500;font-size:var(--t-sm);text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:4px;color:var(--ink-2)}
.text-button:hover{color:var(--ink);text-decoration-color:var(--accent)}

.icon-button{display:inline-grid;place-items:center;min-width:44px;min-height:44px;border-radius:var(--r-pill);border:1px solid transparent;color:var(--ink);text-decoration:none;transition:background-color var(--d-1),border-color var(--d-1),transform var(--d-1)}
.icon-button:hover{background:color-mix(in oklab,var(--ink) 10%,transparent)}
.icon-button:active{transform:scale(.94)}
.icon-button .ui-icon{width:20px;height:20px}

/* Chips: filters, quick topics, choices (заглавные, как кнопки-призраки) */
.pill-link,.chip,.filter-chip{min-height:44px;padding:0 18px;font-size:.9rem;font-weight:500}
.filter-chip{--bg:var(--ink);--fg:var(--paper);--bd:var(--ink);gap:8px}
.filter-chip span{font-size:1.1em;line-height:1}
.chip[aria-pressed=true],.chip[aria-current=page],.chip[aria-selected=true]{--bg:var(--ink);--fg:var(--paper);--bd:var(--ink)}

/* Radio/checkbox chips: native inputs */
.choice-group{display:flex;flex-wrap:wrap;gap:8px;border:0;margin:0;padding:0;min-width:0}
.choice{position:relative;display:inline-flex}
.choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.choice span{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid var(--rule-strong);border-radius:var(--r-pill);background:transparent;font-weight:500;font-size:var(--t-sm);line-height:1.2;
 transition:background-color var(--d-1),border-color var(--d-1),color var(--d-1)}
.choice:hover span{border-color:var(--ink)}
.choice input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.choice input:checked+span::before{content:'✓';font-weight:600;color:var(--on-button)}
.choice input:focus-visible+span{outline:3px solid var(--action);outline-offset:2px}
.choice-group[aria-invalid=true] .choice span{border-color:var(--bad)}
.group-error{font-size:var(--t-xs);font-weight:600;color:var(--bad)}

/* ─── Cards (historic name «sticker»): тёмная карточка с тонкой кромкой, как карточки кейсов основного сайта ─── */
.sticker{position:relative;display:block;background:var(--card);border:1px solid var(--rule);border-radius:var(--r-lg);color:inherit;text-decoration:none;box-shadow:var(--lift-1);
 transition:border-color var(--d-3),box-shadow var(--d-3),transform var(--d-3) var(--ease-apple)}
.sticker[data-tint=mint]{background:var(--mint)}.sticker[data-tint=rose]{background:var(--rose)}.sticker[data-tint=lilac]{background:var(--lilac)}
.sticker[data-tint=butter]{background:var(--butter)}.sticker[data-tint=sky]{background:var(--sky)}.sticker[data-tint=ink]{background:var(--night);color:var(--cream)}
.sticker[data-tint]{border-color:transparent}
@media (hover:hover){
 a.sticker:hover,.sticker.is-link:hover,.sticker:has(.stretched:hover){border-color:var(--rule-strong);box-shadow:var(--lift-2);transform:translateY(-3px)}
}
a.sticker:active,.sticker.is-link:active{transform:none}
/* Whole card clickable while the heading link stays the accessible name */
.stretched::after{content:'';position:absolute;inset:0;border-radius:inherit;z-index:1}
.stretched:focus-visible{outline:none;box-shadow:none}
.sticker:has(.stretched:focus-visible){outline:3px solid var(--action);outline-offset:3px}

.circle-arrow{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid var(--rule-strong);border-radius:50%;background:transparent;color:var(--ink);transition:background-color var(--d-2),color var(--d-2),border-color var(--d-2),transform var(--d-2) var(--ease-apple)}
.circle-arrow .ui-icon{width:18px;height:18px}
@media (hover:hover){.sticker:hover .circle-arrow,.editorial-row:hover .circle-arrow,a:hover>.circle-arrow{background:var(--button);border-color:transparent;color:var(--on-button);transform:translateX(2px)}}

/* ─── Section heading ───────────────────────────────── */
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4) var(--s-6);flex-wrap:wrap;margin-bottom:var(--s-6)}
.section-heading h2{max-width:22ch}
.section-heading>div{display:grid;gap:10px}
.section-heading p{color:var(--ink-2);max-width:56ch}

/* ─── Breadcrumbs ───────────────────────────────────── */
.breadcrumb{padding-top:var(--s-4);font:500 var(--t-label)/1.3 var(--font-text);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none}
.breadcrumb li{display:inline-flex;align-items:center;gap:6px;min-width:0}
.breadcrumb li+li::before{content:'/';color:var(--ink-3);margin-right:2px}
.breadcrumb a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink-3);text-decoration:none}
.breadcrumb a:hover{color:var(--ink)}
.breadcrumb [aria-current]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:36ch}
@media (max-width:640px){.breadcrumb li:last-child:not(:first-child){display:none}}

/* ─── Fields ────────────────────────────────────────── */
:where(input:not([type=checkbox],[type=radio],[type=range],[type=hidden],[type=submit]),select,textarea){
 width:100%;min-width:0;min-height:52px;padding:12px 18px;border:1px solid var(--field-line);border-radius:var(--r-md);background:var(--card);color:var(--ink);font-size:1.0625rem;line-height:1.35;
 transition:border-color var(--d-1),box-shadow var(--d-1),background-color var(--d-1)}
:where(textarea){min-height:140px;resize:vertical;line-height:1.55}
:where(select){appearance:none;padding-right:44px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' fill='none'%3E%3Cpath d='M1.5 1.5 7 7l5.5-5.5' stroke='%236a695f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center}
:where(input,select,textarea)::placeholder{color:var(--ink-3);opacity:1}
:where(input:not([type=checkbox],[type=radio],[type=range]),select,textarea):hover{border-color:var(--ink-2)}
:where(input:not([type=checkbox],[type=radio],[type=range]),select,textarea):focus-visible{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px var(--focus-ring);border-radius:var(--r-md)}
:where(input,select,textarea)[aria-invalid=true]{border-color:var(--bad);background:color-mix(in oklab,var(--bad-wash) 60%,var(--card))}
input[type=number]{font-variant-numeric:tabular-nums;appearance:textfield;-moz-appearance:textfield}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
:is(.field,.cp-field) :is(input,select,textarea){scroll-margin-top:36px}
input[type=search]::-webkit-search-cancel-button{display:none}

.field{display:grid;gap:8px;min-width:0;align-content:start}
.field>span:first-child,.field label,.field-heading label{font:500 var(--t-label)/1.3 var(--font-text);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.field small{font-size:var(--t-xs);line-height:1.5;color:var(--ink-3)}
.field .field-error{color:var(--bad);font-weight:600}
.field-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px}
.input-unit{position:relative;display:block}
.input-unit input{padding-right:64px}
.input-unit .unit{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:var(--t-sm);font-weight:500;color:var(--ink-3);pointer-events:none}
.field-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:16px}

/* Field help: native details, floated by Floating UI when available */
.field-help{position:relative}
.field-help summary{display:grid;place-items:center;width:40px;height:40px;margin:-6px -6px -6px 0;border-radius:50%;color:var(--ink-3);transition:color var(--d-1),background-color var(--d-1)}
.field-help summary:hover,.field-help[open] summary{color:var(--ink);background:var(--paper-sunken)}
.field-help summary .ui-icon{width:18px;height:18px}
.field-help-panel{position:absolute;z-index:30;right:0;top:calc(100% + 8px);width:min(320px,80vw);padding:14px 16px;background:var(--night);color:var(--cream);border-radius:var(--r-md);font-size:var(--t-xs);line-height:1.55;box-shadow:var(--float)}
.field-help-panel strong{display:block;margin-bottom:4px;font-size:var(--t-sm)}
.field-help.is-floating .field-help-panel{position:fixed;right:auto}

/* Range paired with a number input (enhanced by JS) */
.range{--fill:50%;width:100%;height:28px;margin:2px 0 0;appearance:none;background:transparent;cursor:pointer}
.range::-webkit-slider-runnable-track{height:6px;border-radius:99px;background:linear-gradient(90deg,var(--accent) var(--fill),var(--paper-deep) var(--fill))}
.range::-moz-range-track{height:6px;border-radius:99px;background:linear-gradient(90deg,var(--accent) var(--fill),var(--paper-deep) var(--fill))}
.range::-webkit-slider-thumb{appearance:none;width:24px;height:24px;margin-top:-9px;border-radius:50%;background:var(--card);border:2px solid var(--ink);box-shadow:0 2px 8px rgb(32 32 30 / .25);transition:transform var(--d-1) var(--ease-apple)}
.range::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--card);border:2px solid var(--ink);box-shadow:0 2px 8px rgb(32 32 30 / .25)}
.range:active::-webkit-slider-thumb{transform:scale(1.08)}
.range:focus-visible{outline:none;box-shadow:none}
.range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--focus-ring),0 2px 8px rgb(32 32 30 / .25)}

/* ─── Disclosure ────────────────────────────────────── */
.disclosure,.method-note,.result-detail,.distribution-settings{border-top:var(--hairline);border-bottom:var(--hairline)}
.disclosure>summary,.method-note>summary,.result-detail>summary,.distribution-settings>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;font-weight:600;list-style:none}
.disclosure>summary::after,.method-note>summary::after,.result-detail>summary::after,.distribution-settings>summary::after{content:'';flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--rule-strong);
 background-image:linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--ink),var(--ink));background-position:center;background-size:10px 1.5px,1.5px 10px;background-repeat:no-repeat;transition:transform var(--d-2) var(--ease-apple)}
.disclosure[open]>summary::after,.method-note[open]>summary::after,.result-detail[open]>summary::after,.distribution-settings[open]>summary::after{transform:rotate(45deg)}
.disclosure>:not(summary),.method-note>:not(summary),.result-detail>:not(summary){padding-bottom:18px}

/* ─── Tables ────────────────────────────────────────── */
.table-scroll{overflow-x:auto;border:var(--hairline);border-radius:var(--r-lg);background:var(--card);-webkit-overflow-scrolling:touch}
.table-scroll table{min-width:520px;font-size:var(--t-sm);font-variant-numeric:tabular-nums}
.table-scroll caption{caption-side:top;text-align:left;padding:14px 16px 8px;font-size:var(--t-xs);color:var(--ink-3)}
.table-scroll th,.table-scroll td{padding:12px 16px;text-align:left;border-bottom:var(--hairline);vertical-align:top}
.table-scroll thead th{font:500 var(--t-label)/1.3 var(--font-text);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);background:var(--paper-sunken)}
.table-scroll tbody tr:last-child>*{border-bottom:0}
.table-scroll tbody th{font-weight:600}

/* ─── Empty & loading ───────────────────────────────── */
.empty{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-5);align-items:center;padding:var(--s-6);border:var(--hairline);border-radius:var(--r-lg);background:var(--card)}
.empty h2{font-size:var(--t-h3);margin:6px 0 8px}
.empty p{color:var(--ink-2)}
.empty .actions{margin-top:18px}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.loading-spinner{display:inline-block;width:1em;height:1em;margin-right:.5em;vertical-align:-.15em;border-radius:50%;border:2px solid var(--rule);border-top-color:var(--accent);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(1turn)}}
.skeleton{border-radius:var(--r-md);background:var(--paper-sunken)}
@media (prefers-reduced-motion:no-preference){.skeleton{background:linear-gradient(100deg,var(--paper-sunken) 30%,var(--paper-deep) 50%,var(--paper-sunken) 70%) 0 0/300% 100%;animation:shimmer 1.4s linear infinite}}
@keyframes shimmer{to{background-position:-150% 0}}

/* ─── Pagination ────────────────────────────────────── */
.pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin:var(--s-7) 0 0;font:600 .9375rem/1.2 var(--font-text)}
.pagination a{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 24px;border:1px solid color-mix(in oklab,var(--ink) 25%,transparent);border-radius:var(--r-pill);text-decoration:none;transition:background-color var(--d-2),border-color var(--d-2),color var(--d-2)}
.pagination a:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.pagination span{color:var(--ink-3);padding:0 8px}

/* ─── Header: кремовая шапка, тонкая линия после прокрутки, красная капсула справа ───── */
.site-header{position:sticky;top:0;z-index:var(--z-header);view-transition-name:site-header;background:var(--paper);border-bottom:1px solid transparent;transition:border-color var(--d-2),background-color var(--d-2)}
.site-header.header-scrolled{background:var(--glass);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);border-bottom-color:var(--rule)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.site-header.header-scrolled{background:var(--paper)}}
@media (prefers-reduced-transparency:reduce){.site-header.header-scrolled{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}}
.header-inner{height:var(--header-h);display:flex;align-items:center;gap:var(--s-5)}
.brand{flex:none;display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--ink)}
.brand-name{font:700 1.5rem/1 var(--font-brand);letter-spacing:-.06em;white-space:nowrap;position:relative}
.brand-spark{display:inline-block;margin-left:.06em;font:400 .75em/1 var(--font-text);color:var(--accent);vertical-align:.5em;letter-spacing:0}
.desktop-nav{display:flex;gap:2px;min-width:0;margin-left:var(--s-5)}
.desktop-nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;font:500 .9375rem/1 var(--font-text);color:var(--ink);text-decoration:none;white-space:nowrap;transition:color var(--d-1)}
.desktop-nav a::after{content:'';position:absolute;left:14px;right:14px;bottom:8px;height:2px;border-radius:2px;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;transition:transform var(--d-2) var(--ease-apple)}
.desktop-nav a:hover{color:var(--action)}
.desktop-nav a:hover::after,.desktop-nav a[aria-current=page]::after{transform:scaleX(1)}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.search-trigger{display:inline-flex;align-items:center;gap:8px;min-width:44px;min-height:44px;padding:0 12px;border-radius:var(--r-pill);color:var(--ink);text-decoration:none;font:500 .9375rem/1 var(--font-text);transition:background-color var(--d-1),color var(--d-1)}
.search-trigger:hover{background:color-mix(in oklab,var(--ink) 8%,transparent)}
.search-trigger .ui-icon{width:19px;height:19px}
.search-trigger-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.search-trigger kbd{font:500 .6875rem/1 var(--font-text);padding:4px 6px;border:1px solid var(--rule-strong);border-radius:6px;background:var(--card);color:var(--ink-3)}
@media (max-width:1100px){.search-trigger kbd{display:none}}
.menu-trigger{display:none;gap:8px;padding:0 4px;color:var(--ink)}
.menu-trigger span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media (max-width:1100px){
 .desktop-nav{display:none}
 .menu-trigger{display:inline-grid}
}
@media (max-width:560px){.header-inner{gap:var(--s-3)}.header-actions{gap:2px}.brand-name{font-size:1.3rem}.header-project .tg-long{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.header-project .ui-action{padding:0 14px}}
@media (max-width:370px){.header-project{display:none}}

/* ─── Dialogs ───────────────────────────────────────── */
dialog{color:var(--ink);padding:0;border:0}
dialog::backdrop{background:rgb(32 32 30 / .5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:16px}

/* Мобильное меню: кремовый лист на весь экран, крупные строки, действие внизу */
.menu-dialog{margin:0;width:100%;height:100dvh;max-height:100dvh;max-width:100%;padding:max(8px,env(safe-area-inset-top)) var(--gutter) max(24px,env(safe-area-inset-bottom));background:var(--paper);overflow-y:auto}
.menu-dialog[open]{display:flex;flex-direction:column;gap:24px}
.menu-dialog .dialog-top{min-height:var(--header-h)}
.menu-dialog .eyebrow{margin-top:8px}
.menu-primary{display:grid}
.menu-primary a{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:0 2px;border-bottom:var(--hairline);font:800 clamp(1.6rem,1rem + 2.4vw,2.4rem)/1.1 var(--font-display);letter-spacing:var(--track-display);text-decoration:none;transition:color var(--d-1)}
.menu-primary a .ui-icon{width:22px;height:22px;color:var(--ink-3)}
.menu-primary a:hover,.menu-primary a[aria-current=page]{color:var(--action)}
.menu-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.menu-secondary a{display:flex;align-items:center;min-height:48px;border-bottom:var(--hairline);font:500 .9375rem/1.2 var(--font-text);color:var(--ink-2);text-decoration:none}
.menu-secondary a:hover{color:var(--ink)}
.menu-dialog>.ui-action,.menu-dialog>a.button{align-self:stretch;min-height:56px;font-size:.8125rem}
.menu-dialog .source-note{margin-top:auto}
@media (min-width:901px){.menu-dialog{width:min(520px,100%);margin:0 0 0 auto;border-left:var(--hairline)}}

/* Поиск: плавающая карточка */
.search-dialog{margin:min(11vh,110px) auto auto;width:min(720px,100% - 24px);max-height:min(78vh,760px);padding:24px;background:var(--card);border:var(--hairline);border-radius:var(--r-lg);box-shadow:var(--float);overflow:auto}
.search-dialog[open]{display:flex;flex-direction:column;gap:16px;overflow:hidden}
.search-dialog[open]>*{flex:none}
.search-dialog[open]>.command-panel:not([hidden]){display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
.quick-search-form{display:grid;gap:10px}
.quick-search-form>label{font:800 var(--t-h3)/1.15 var(--font-display);letter-spacing:var(--track-display)}
.search-input-row{display:grid;grid-template-columns:1fr auto;gap:10px}
.command-input{position:relative;display:flex;align-items:center}
.command-input>.ui-icon{position:absolute;left:18px;width:20px;height:20px;color:var(--ink-3);pointer-events:none}
.command-input input{min-height:56px;padding-left:48px;padding-right:52px;font-size:1.0625rem;border-radius:var(--r-pill)}
.command-input .icon-button{position:absolute;right:6px}
.command-panel{display:grid;gap:8px}
.command-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.command-hint{font-size:var(--t-xs);color:var(--ink-3)}
[data-quick-results]{display:grid;align-content:start;gap:2px;max-height:44vh;overflow:auto;padding:2px}
.search-dialog[open] [data-quick-results]{max-height:none;flex:1 1 auto;min-height:0}
.command-result{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:10px 12px;border-radius:var(--r-md);text-decoration:none}
.command-result[aria-selected=true],.command-result:hover{background:var(--paper-sunken)}
.command-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--paper-sunken);border:var(--hairline)}
.command-copy{display:grid;gap:2px;min-width:0}
.command-kind{font:500 var(--t-label)/1.2 var(--font-text);letter-spacing:.1em;text-transform:uppercase;color:var(--action)}
.command-copy strong{font-size:1rem;line-height:1.3;font-weight:600}
.command-dek{font-size:var(--t-xs);color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.command-status{font-size:var(--t-sm);color:var(--ink-2);min-height:1.4em}
.command-all{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 20px;border-radius:var(--r-md);background:var(--paper-sunken);font:600 .9375rem/1.2 var(--font-text);text-decoration:none}
.command-all:hover{background:var(--paper-deep)}
.quick-links{display:grid;gap:0}
.quick-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;border-bottom:var(--hairline);text-decoration:none;font-weight:400}
.quick-links a:hover{color:var(--action)}
.command-keys{display:flex;flex-wrap:wrap;gap:6px 18px}
.command-keys span{display:inline-flex;gap:4px;align-items:center}
@media (max-width:640px){
 .search-dialog{margin:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;border:0;box-shadow:none;align-content:start}
 .search-input-row{grid-template-columns:1fr}
 .search-submit{display:none}
 .command-keys{display:none}
}

/* ─── Contact panel: розовая карточка «Расскажите о вашей задаче» ─── */
.contact-panel{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:var(--s-6);margin:var(--section) 0;padding:clamp(28px,4.5vw,64px);background:var(--rose);border-radius:var(--r-xl)}
.contact-lead{display:grid;gap:12px}
.contact-lead h2{font-size:var(--t-h2)}
.contact-action{display:grid;gap:16px;justify-items:start}
.contact-action p{color:var(--ink-2);max-width:42ch}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center}
@media (max-width:900px){.contact-panel{grid-template-columns:1fr}.contact-action{grid-column:auto}}

/* ─── Editorial list: строки списка как вопросы на странице «Частые вопросы» основного сайта ─── */
.editorial-list{display:grid;background:var(--card);border:var(--hairline);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--lift-1)}
.editorial-row{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--s-5);padding:28px 32px;border-bottom:var(--hairline);transition:background-color var(--d-2)}
.editorial-row:last-child{border-bottom:0}
.editorial-row .row-copy{display:grid;gap:10px;min-width:0}
.editorial-row .row-title{font:700 clamp(1.1rem,.98rem + .6vw,1.4rem)/1.25 var(--font-display);letter-spacing:-.02em}
.editorial-row .row-title a{text-decoration:none}
.editorial-row .row-title a::after{content:'';position:absolute;inset:0;z-index:1}
.editorial-row .row-title a:focus-visible{outline:none;box-shadow:none}
.editorial-row:has(.row-title a:focus-visible){outline:3px solid var(--action);outline-offset:-3px}
.editorial-row p{color:var(--ink-2);font-size:var(--t-sm);max-width:70ch}
.editorial-row .row-arrow{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--rule-strong);transition:background-color var(--d-2),border-color var(--d-2),color var(--d-2),transform var(--d-2) var(--ease-apple)}
.editorial-row .row-arrow .ui-icon{width:18px;height:18px}
@media (hover:hover){
 .editorial-row:hover{background:var(--paper-sunken)}
 .editorial-row:hover .row-title a{color:var(--action)}
 .editorial-row:hover .row-arrow{background:var(--button);border-color:transparent;color:var(--on-button);transform:translateX(2px)}
}
.story-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font:600 var(--t-label)/1.3 var(--font-text);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.story-meta>span:first-child{color:var(--action)}

/* ─── Footer: ночная плита с гигантским словом LaRicco, как в версии 22.09 ───────────────────────── */
.site-footer{position:relative;margin:clamp(24px,3vw,48px) var(--s-3) var(--s-3);padding:clamp(32px,3vw,48px) 0 28px;border-radius:var(--r-xl)}
.site-footer.sheet{background:var(--night);color:var(--cream);--paper:#232321;--ink:#f8f6f0;--card:#2e2e2b;--paper-sunken:#2a2a28;--ink-2:#d4d1c7;--ink-3:#aaa79b;--rule:rgb(248 246 240 / .16);--rule-strong:rgb(248 246 240 / .34);--action:#ff7078;--action-press:#ff9399;--focus-ring-solid:#ffd24a;--glow:0 10px 24px -12px rgb(213 44 54 / .7)}
.footer-top{display:grid;grid-template-columns:auto minmax(0,1fr);justify-content:space-between;align-items:end;gap:var(--s-5) var(--s-6);padding-bottom:clamp(28px,3vw,48px);border-bottom:var(--hairline)}
.footer-big{font:700 clamp(3rem,.5rem + 11.5vw,11.5rem)/.95 var(--font-brand);letter-spacing:-.07em;text-transform:none;color:var(--cream);white-space:nowrap}
.footer-big span{color:var(--accent);font-size:.5em;vertical-align:.7em;margin-left:.04em;letter-spacing:0;font-family:var(--font-text);font-weight:400}
.footer-pitch{display:grid;justify-items:start;gap:16px;max-width:30ch}
.footer-pitch p{color:var(--ink-2);font-size:var(--t-sm);max-width:36ch;line-height:1.45}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:var(--s-6) var(--s-6);padding:var(--s-7) 0 var(--s-6)}
.footer-grid h2{font:600 var(--t-label)/1.2 var(--font-text);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}
.footer-grid div{display:grid;align-content:start;gap:0}
.footer-grid a{display:inline-flex;min-height:40px;align-items:center;gap:6px;font:500 .9375rem/1.2 var(--font-text);text-decoration:none;width:fit-content;color:var(--ink)}
.footer-grid a:hover{color:var(--action)}
.footer-grid p{font-size:var(--t-xs);color:var(--ink-3);margin-top:8px}
.footer-social{display:flex;flex-wrap:wrap;gap:8px 28px;padding:0 0 20px}
.footer-social a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--ink);font:500 .9375rem/1.2 var(--font-text);text-decoration:none}
.footer-social a:hover{color:var(--action)}
@media (max-width:640px){.footer-social{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;padding-top:20px;border-top:var(--hairline);font:500 .8125rem/1.4 var(--font-text);color:var(--ink-3)}
.footer-bottom>span{margin-right:auto}
.footer-bottom a,.footer-bottom .text-button{color:var(--ink-3);min-height:44px;display:inline-flex;align-items:center}
.footer-bottom a:hover{color:var(--cream)}
@media (min-width:641px) and (max-width:900px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:980px){.footer-top{grid-template-columns:1fr}.footer-pitch{max-width:none}}
@media (max-width:640px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5) var(--s-4)}.footer-grid a{min-height:44px}.site-footer{margin-inline:8px}}

/* ─── Consent ───────────────────────────────────────── */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:var(--z-toast);display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;max-width:720px;margin-inline:auto;padding:18px 22px;background:var(--card);border:var(--hairline);border-radius:var(--r-lg);box-shadow:var(--float)}
@media (prefers-reduced-transparency:reduce){.consent{background:var(--card);-webkit-backdrop-filter:none;backdrop-filter:none}}
.consent p{flex:1 1 300px;font-size:var(--t-sm)}
.consent div{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:520px){.consent{left:12px;right:12px;bottom:12px;padding:14px 16px;gap:12px}.consent div{width:100%}.consent .button{flex:1 1 0;padding-inline:12px}}
body:has(.consent:not([hidden])) :is(.reading-bar,.result-peek,.nx-dock,.dash-dock,.dock){display:none}

/* ─── Toast ─────────────────────────────────────────── */
.toast{position:fixed;left:50%;bottom:24px;z-index:calc(var(--z-toast) + 1);width:max-content;max-width:min(440px,calc(100% - 32px));transform:translateX(-50%);padding:12px 20px 12px 14px;border-radius:var(--r-pill);background:var(--night);color:var(--cream);font-weight:500;font-size:var(--t-sm);box-shadow:var(--float);display:flex;gap:10px;align-items:center}
.toast::before{content:'✓';display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--button);color:#fff;font-weight:600;font-size:.75rem;flex:none}
.toast.is-in{animation:toast-in var(--d-3) var(--ease-apple)}
@media (max-width:980px){.toast{bottom:auto;top:calc(var(--header-h) + 12px)}}
@keyframes toast-in{from{opacity:0;transform:translate(-50%,8px)}}

.share-status,.brief-status{font-size:var(--t-sm);color:var(--ink-2)}
.share-status:empty,.brief-status:empty{display:none}
}
/* Рикко: плоский 2D-персонаж, суставная анимация (static/js/ricco-motion.js). Корпус не масштабируется и не деформируется:
   двигаются только лапы и реквизит, повторное наведение запускает следующую из трёх постановок. */
@layer components{
.mascot{display:block;max-width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:none}
.ricco-actor{display:inline-block;position:relative;vertical-align:middle;aspect-ratio:1;line-height:0;cursor:pointer;touch-action:manipulation;isolation:isolate;border-radius:12px;max-width:100%;flex-shrink:0}
.ricco-actor>img{width:100%;height:100%;object-fit:contain;display:block}
.ricco-actor .ricco-rig{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:hidden}
.ricco-actor.is-rigged>img{visibility:hidden}
.ricco-actor:focus-visible{outline:3px solid var(--focus-ring-solid);outline-offset:6px}
.ricco-cue{pointer-events:none}
.mascot-card{width:100%}
}
@media print{.mascot,.ricco-actor{display:none!important}}
/* Page compositions. Pages place components; they do not restyle them. */
@layer pages{

/* ═══ HOME ═════════════════════════════════════════ */
.home-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(24px,4vw,72px);
 min-height:min(calc(100dvh - var(--header-h)),880px);padding-block:clamp(24px,3.5vw,48px) clamp(32px,4vw,64px)}
.hero-copy{display:grid;gap:22px;align-content:center;min-width:0}
.home-hero h1{font-size:clamp(2.7rem,1.3rem + 4.6vw,5.6rem);line-height:.98;letter-spacing:-.03em;padding-bottom:.16em}
.home-hero .hero-dek{max-width:44ch;font-size:var(--t-lead)}
.home-pathways{display:grid;gap:12px;margin-top:6px;max-width:560px}
.pathway{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;min-height:74px;padding:12px 20px 12px 12px;border:var(--line);border-radius:22px;background:var(--card);text-decoration:none;
 transition:transform var(--d-3) var(--ease-spring),box-shadow var(--d-3) var(--ease-out),background-color var(--d-2)}
.pathway-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;border: 1px solid var(--rule-strong)}
.pathway-icon[data-tint=mint]{background:var(--mint)}.pathway-icon[data-tint=butter]{background:var(--butter)}.pathway-icon[data-tint=rose]{background:var(--rose)}
.pathway-icon .ui-icon{width:22px;height:22px}
.pathway-copy{display:grid;gap:2px;min-width:0}
.pathway-copy strong{font-size:1.08rem;line-height:1.25;letter-spacing:-.01em}
.pathway-copy small{font-size:var(--t-xs);color:var(--ink-2);line-height:1.4}
.pathway>.ui-icon{width:20px;height:20px;transition:transform var(--d-2) var(--ease-out)}
@media (hover:hover){.pathway:hover{transform:translateY(-2px);box-shadow:var(--lift-2)}.pathway:hover>.ui-icon{transform:translateX(4px)}}
.pathway:active{transform:translateY(1px);box-shadow:none;transition-duration:60ms}
.pathway.is-guided{background:var(--butter)}

.hand-note{font-size:var(--t-xs);line-height:1.45;color:var(--ink-3);text-align:center}
@media (hover:none),(max-width:900px){.hover-hint{display:none}}

.platform-strip{display:grid;grid-template-columns:1fr repeat(4,minmax(0,1.1fr));border-block:var(--line)}
.platform-strip>p{align-self:center;padding:18px 20px 18px 0;font-size:var(--t-xs);font-weight:600;color:var(--ink-3);line-height:1.4}
.platform-strip a{position:relative;display:grid;gap:4px;align-content:start;min-height:96px;padding:18px 48px 18px 20px;border-left: 1px solid var(--rule);text-decoration:none;transition:background-color var(--d-2)}
.platform-strip strong{font:600 clamp(1.05rem,.9rem + .5vw,1.35rem)/1.1 var(--font-display);letter-spacing:-.03em}
.platform-strip small{font-size:var(--t-xs);color:var(--ink-3)}
.platform-strip .ui-icon{position:absolute;right:18px;top:20px;width:20px;height:20px;transition:transform var(--d-2) var(--ease-out)}
.platform-strip a:hover{background:var(--butter)}
.platform-strip a:hover .ui-icon{transform:translate(3px,-3px)}

.resume{margin-top:var(--s-7);padding:24px;border: 1px dashed var(--rule-strong);border-radius:var(--r-lg)}
.resume-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.resume-head h2{font-size:var(--t-h3)}
.resume-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px;margin-bottom:14px}
.resume-card{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:center;padding:16px 18px}
.resume-card .ui-icon{grid-row:span 2;width:22px;height:22px}
.resume-card small{font-size:var(--t-xs);color:var(--ink-3);font-weight:600}
.resume-card strong{font-size:var(--t-sm);line-height:1.3}
.resume-meter{grid-column:2;height:6px;border-radius:9px;background:var(--paper-deep);overflow:hidden;margin-top:6px}
.resume-meter i{display:block;height:100%;width:var(--p,0%);background:var(--accent);border-radius:inherit}

.home-knowledge{padding-top:var(--section)}
.story-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:1fr 1fr;gap:24px}
.story-card{display:grid;overflow:hidden}
.story-card.is-featured{grid-row:1/3;grid-template-rows:1fr auto}
.story-card:not(.is-featured){grid-template-columns:minmax(0,.95fr) minmax(0,1fr)}
.story-cover{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,44%);grid-template-rows:auto 1fr;gap:10px 12px;padding:22px;background:var(--mint);border-bottom:var(--line)}
.story-card:not(.is-featured) .story-cover{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;border-bottom:0;border-right:var(--line)}
.story-cover[data-tint=rose]{background:var(--rose)}.story-cover[data-tint=lilac]{background:var(--lilac)}.story-cover[data-tint=mint]{background:var(--mint)}
.cover-label{grid-column:1;align-self:start;justify-self:start;padding:5px 11px;border-radius:var(--r-pill);background:var(--card);border: 1px solid var(--rule-strong);font-size:var(--t-xs);font-weight:600}
.story-cover strong{grid-column:1;align-self:end;font:600 clamp(1.3rem,1rem + 1vw,1.75rem)/1.08 var(--font-display);letter-spacing:-.03em}
.is-featured .story-cover strong{font-size:clamp(1.8rem,1.1rem + 2.2vw,3.1rem);max-width:10ch}
.cover-art{grid-column:2;grid-row:1/3;align-self:end;width:100%;max-width:340px;justify-self:end}
.story-card:not(.is-featured) .cover-art{grid-column:1;grid-row:3;width:min(100%,170px);justify-self:end}
.story-body{display:grid;align-content:start;gap:10px;padding:22px}
.story-body h3{font-size:clamp(1.12rem,1rem + .45vw,1.4rem);line-height:1.22}
.story-body h3 a{text-decoration:none}
.story-body p{font-size:var(--t-sm);color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.story-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;font-size:var(--t-xs);font-weight:600;color:var(--ink-3)}
.story-foot>span:first-child{display:inline-flex;gap:6px;align-items:center}
.story-foot .ui-icon{width:16px;height:16px}
.story-card:not(.is-featured) .story-foot{margin-top:auto}
@media (hover:hover){.sticker:has(.stretched):hover h3 a{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:3px;text-underline-offset:5px}}
@media (hover:hover){.beginner-note:hover{transform:translateY(-2px);box-shadow:var(--lift-2)}}


.home-tools{padding-top:var(--section)}
.rail-controls{display:flex;align-items:center;gap:8px}
.rail-controls .icon-button{border-color:var(--ink);background:var(--card)}
.rail-controls .icon-button:disabled{opacity:.35}
.rail-controls .text-link{margin-left:12px}
.tool-rail{--edge:max(var(--gutter),calc((100% - var(--wrap))/2));display:grid;grid-auto-flow:column;grid-auto-columns:min(340px,80vw);gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;
 padding:10px var(--edge) 30px;scroll-padding-inline:var(--edge);scrollbar-width:none}
.tool-rail::-webkit-scrollbar{display:none}
.tool-rail:focus-visible{outline:3px solid var(--ink);outline-offset:-3px;border-radius:var(--r-lg)}
.tool-card{scroll-snap-align:start;display:grid;grid-template-rows:auto 1fr auto;gap:18px;min-height:460px;padding:22px}
.tool-card[data-tint=mint]{background:var(--mint)}.tool-card[data-tint=rose]{background:var(--rose)}.tool-card[data-tint=butter]{background:var(--butter)}.tool-card[data-tint=sky]{background:var(--sky)}.tool-card[data-tint=lilac]{background:var(--lilac)}
.tool-card-copy{display:grid;align-content:start;gap:10px}
.tool-card h3{font-size:1.3rem;line-height:1.2}
.tool-card h3 a{text-decoration:none}
.tool-card p{font-size:var(--t-sm);color:var(--ink-2)}
.tool-tag{justify-self:start;font-size:var(--t-xs);font-weight:600;padding:4px 10px;border-radius:var(--r-pill);background:color-mix(in oklab,var(--card) 70%,transparent);border: 1px solid var(--rule-strong)}
.tool-card .circle-arrow{justify-self:end}

/* Tool miniatures */
.tool-visual{display:grid;place-items:center;min-height:170px;padding:16px;border:var(--line);border-radius:18px;background:var(--card)}
.tool-visual>.ui-icon{width:48px;height:48px}
.tv-funnel{display:grid;justify-items:center;gap:6px;width:100%;list-style:none}
.tv-funnel li{display:flex;justify-content:center;align-items:baseline;gap:6px;width:var(--w);min-width:max-content;padding:7px 10px;border-radius:10px;background:var(--ink);color:var(--paper);font-size:.72rem;white-space:nowrap}
.tv-funnel li:last-child{background:var(--action)}
.tv-funnel b{font:600 .9rem/1 var(--font-display);letter-spacing:-.03em}
.tv-er{display:grid;justify-items:center;gap:6px;text-align:center}
.tv-er b{font:600 4rem/.9 var(--font-display);letter-spacing:-.03em}
.tv-er small{font-size:.5em;color:var(--action)}
.tv-er span{font-weight:600;font-size:var(--t-sm)}
.tv-er i{font-style:normal;font-size:var(--t-xs);color:var(--ink-3)}
.tv-volume{gap:12px}
.tv-dots{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.tv-dots i{width:18px;height:18px;border-radius:50%;background:var(--ink)}
.tv-dots i:nth-child(7n+1),.tv-dots i:nth-child(7n+7){background:var(--action)}
.tv-caption{font-size:var(--t-xs);color:var(--ink-2)}
.tv-caption b{font-family:var(--font-display);color:var(--ink)}
.tv-phone{position:relative;display:grid;place-items:center;width:84px;aspect-ratio:9/16;border:var(--line);border-radius:14px;background:var(--paper-sunken)}
.tv-phone span{font:600 1rem/1 var(--font-display)}
.tv-phone i{position:absolute;inset:14% 12%;border: 1px dashed var(--action);border-radius:8px}
.tv-metrics{display:grid;gap:10px;list-style:none;width:100%}
.tv-metrics li{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:12px;background:var(--paper-sunken);font-weight:600;font-size:var(--t-sm)}
.tv-metrics .ui-icon{width:18px;height:18px}

.home-process{padding-top:var(--section)}
.process-track{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px);list-style:none}
.process-track::before{content:'';position:absolute;top:33px;left:40px;right:12%;border-top:2.5px dashed var(--ink)}
.process-track li{position:relative;display:grid;align-content:start;gap:12px}
.process-step{position:relative;z-index:1;display:grid;place-items:center;width:66px;height:66px;border-radius:50%;border:var(--line);background:var(--card);box-shadow:var(--lift-1)}
.process-step[data-tint=mint]{background:var(--mint)}.process-step[data-tint=butter]{background:var(--butter)}.process-step[data-tint=rose]{background:var(--rose)}
.process-step .ui-icon{width:26px;height:26px}
.process-track h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.032em;font-size:clamp(1.25rem,1rem + .8vw,1.7rem)}
.process-track p{color:var(--ink-2);max-width:34ch}

.home-context{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--s-6);align-items:end;padding-top:var(--section)}
.home-context h2{font-size:var(--t-h2)}
.context-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.context-links .pill-link .ui-icon{width:16px;height:16px}

@media (max-width:1240px){
 .story-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
 .story-card.is-featured{grid-column:1/-1;grid-row:auto;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:auto}
 .story-card.is-featured .story-cover{border-bottom:0;border-right:var(--line)}
 .story-card:not(.is-featured){grid-template-columns:1fr;grid-template-rows:auto 1fr}
 .story-card:not(.is-featured) .story-cover{grid-template-columns:minmax(0,1fr) 130px;grid-template-rows:auto 1fr;border-right:0;border-bottom:var(--line)}
 .story-card:not(.is-featured) .cover-art{grid-column:2;grid-row:1/3}
}
@media (max-width:1100px){
 .platform-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
 .platform-strip>p{grid-column:1/-1;padding:14px 0 0}
 .platform-strip a:first-of-type{border-left:0}
}
@media (max-width:900px){
 .home-hero{grid-template-columns:1fr;grid-template-areas:'eyebrow' 'title' 'dek' 'routes' 'stage';gap:18px;min-height:0;padding-top:20px}
 .hero-copy{display:contents}
 .hero-copy>.eyebrow{grid-area:eyebrow}.home-hero h1{grid-area:title}.home-hero .hero-dek{grid-area:dek}.home-pathways{grid-area:routes;max-width:none}
 .hand-note{grid-column:1/-1;text-align:left}
 .process-track{grid-template-columns:1fr;gap:28px}
 .process-track::before{top:20px;bottom:20px;left:32px;right:auto;border-top:0;border-left:2.5px dashed var(--ink)}
 .process-track li{grid-template-columns:66px 1fr;column-gap:18px}
 .process-track li>:not(.process-step){grid-column:2}
 .process-step{grid-row:span 2}
 .home-context{grid-template-columns:1fr}
}
/* Tablets keep the laptop's two columns; the featured story stacks so its cover title never runs under Рикко. */
@media (min-width:760px) and (max-width:900px){
 .story-card.is-featured{grid-template-columns:1fr}
 .story-card.is-featured .story-cover{border-right:0;border-bottom:var(--line);grid-template-columns:minmax(0,1fr) 210px}
 .story-card:not(.is-featured) .story-cover{grid-template-columns:minmax(0,1fr) 108px}
 .story-card:not(.is-featured) .story-cover strong{font-size:1.38rem}
 .story-card:not(.is-featured) .cover-art{width:108px}
}
@media (max-width:759px){
 .story-grid{grid-template-columns:1fr;grid-template-rows:none}
 .story-card.is-featured{grid-row:auto;grid-template-columns:1fr}
 .story-card.is-featured .story-cover{border-right:0;border-bottom:var(--line)}
}
@media (max-width:640px){
 .section-tabs,.tool-nav{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);scroll-padding-inline:var(--gutter)}
 .home-hero{gap:14px;padding-top:14px}
 .home-hero .hero-dek{font-size:1.02rem}
 .pathway{min-height:64px;padding:10px 16px 10px 10px;border-radius:18px}
 .pathway-icon{width:44px;height:44px;border-radius:13px}
 .home-pathways{gap:10px}
 .platform-strip{grid-template-columns:1fr 1fr}
 .platform-strip a{min-height:84px;padding:14px 40px 14px 14px;border-left:0;border-top: 1px solid var(--rule)}
 .platform-strip a:nth-of-type(even){border-left: 1px solid var(--rule)}
 .platform-strip>p{padding-bottom:12px}
 .story-card:not(.is-featured){grid-template-columns:minmax(0,1fr)}
 .story-card:not(.is-featured) .story-cover{grid-template-columns:1fr 120px;grid-template-rows:auto 1fr;border-right:0;border-bottom:var(--line)}
 .story-card:not(.is-featured) .cover-art{grid-column:2;grid-row:1/3}
 .story-cover{grid-template-columns:1fr 130px}
 .story-card,.story-card.is-featured{grid-template-columns:minmax(0,1fr)}
 .beginner-note{grid-template-columns:1fr auto}
 .beginner-note .bubble{grid-column:1/-1;justify-self:start}
 .tool-card{min-height:420px}
}
@media (max-width:420px){
 .story-cover,.story-card:not(.is-featured) .story-cover{grid-template-columns:minmax(0,1fr) 96px}
 .is-featured .story-cover strong,.story-cover strong{font-size:clamp(1.15rem,.55rem + 3vw,1.45rem)}
 .story-card:not(.is-featured) .cover-art{width:96px}
}

/* ═══ CATALOG ══════════════════════════════════════ */
.listing-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-5) var(--s-7);align-items:center;padding:clamp(20px,3vw,40px) 0 var(--s-6)}
@media (min-width:860px){.listing-hero:has(.listing-art){grid-template-columns:minmax(0,1fr) minmax(200px,300px)}}
.listing-art{justify-self:center;width:min(100%,260px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:var(--mint);padding:6%}
.listing-art .ricco-actor,.listing-art .mascot{width:100%;height:auto}
@media (max-width:859px){.listing-art{display:none}}
.listing-copy{display:grid;gap:18px}
	.listing-hero h1{font-size:var(--t-h1);max-width:14ch;line-height:1.02}
@media (max-width:420px){.listing-hero h1{font-size:clamp(1.75rem,9vw,2.2rem)}}
.section-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:10px 10px 12px;margin:-6px -10px var(--s-6);scroll-padding-inline:10px;scroll-snap-type:x proximity}
.section-tabs::-webkit-scrollbar{display:none}
.section-tabs .chip{flex:none;scroll-snap-align:start;--bd:transparent}
.catalog-filter{display:grid;gap:16px;padding:clamp(18px,2.4vw,28px);background:var(--card);border:var(--hairline);border-radius:var(--r-lg)}
.catalog-query{display:grid;grid-template-columns:1fr auto;gap:10px}
.search-field{position:relative;display:flex;align-items:center}
.search-field>.ui-icon{position:absolute;left:18px;width:20px;height:20px;color:var(--ink-3);pointer-events:none}
.search-field input{min-height:56px;padding-left:52px;font-size:1.0625rem;border-radius:var(--r-pill)}
.catalog-query .button{min-height:56px}
.catalog-facets{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:10px}
@media (min-width:761px) and (max-width:900px){.catalog-facets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:380px){.catalog-facets{grid-template-columns:minmax(0,1fr)!important}}
.catalog-facets label{display:grid;gap:6px;font-size:var(--t-xs);font-weight:600;color:var(--ink-2)}
.catalog-facets select{min-height:48px;border-radius:14px;padding-left:16px;font-weight:500;font-size:var(--t-sm)}
.search-status{font-size:var(--t-sm);color:var(--ink-2);margin-top:10px}
.active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:14px}
.quick-topics{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 var(--s-7)}
.quick-topics>span{font-size:var(--t-xs);font-weight:600;color:var(--ink-3);margin-right:4px}
.catalog-count{margin:0 0 12px;font-size:var(--t-sm);font-weight:600;color:var(--ink-3)}
.search-empty{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-6);align-items:center;padding:var(--s-6);border: 1px dashed var(--rule-strong);border-radius:var(--r-lg)}
.search-empty h2{font-size:var(--t-h3);margin:8px 0}
.search-empty p{color:var(--ink-2);margin-bottom:18px}
.research-banner{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;padding:24px 28px;margin-bottom:var(--s-7)}
.research-banner h2{font-size:var(--t-h3);margin-bottom:6px}
.research-banner p{color:var(--ink-2);max-width:70ch}
.research-mark{font:900 2.4rem/1 var(--font-display);color:var(--action)}
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:20px}
.hub-card{display:grid;grid-template-columns:minmax(0,1fr);container-type:inline-size;grid-template-rows:auto 1fr auto;gap:12px;min-height:240px;padding:28px}
@media (min-width:761px){.catalog-grid:has(>.hub-card:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
 .catalog-grid:has(>.hub-card:nth-child(5):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-grid:has(>.hub-card:nth-child(5):last-child)>:last-child{grid-column:1 / -1}}
@media (min-width:1100px){.catalog-grid:has(>.hub-card:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}
 .catalog-grid:has(>.hub-card:nth-child(5):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}.catalog-grid:has(>.hub-card:nth-child(5):last-child)>*{grid-column:span 2}.catalog-grid:has(>.hub-card:nth-child(5):last-child)>:nth-child(n+4){grid-column:span 3}}
.hub-index{font:600 var(--t-xs)/1 var(--font-display);color:var(--ink-2)}
.hub-card h2{font:800 clamp(1.25rem,8cqi,1.9rem)/1.1 var(--font-display);letter-spacing:var(--track-display);overflow-wrap:anywhere}
.hub-card h2 a{text-decoration:none}
.hub-card p{color:var(--ink-2);font-size:var(--t-sm)}
.hub-card .circle-arrow{justify-self:end}
.glossary-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}
.glossary-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr auto;gap:6px 16px;padding:22px}
.glossary-card .letter{grid-row:1/4;display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--butter);border:var(--line);font:600 1.6rem/1 var(--font-display)}
.glossary-card h2{font-size:1rem;font-weight:800}
.glossary-card h2 a{text-decoration:none}
.glossary-card p{font-size:var(--t-sm);color:var(--ink-2)}
.glossary-more{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-weight:600;font-size:var(--t-xs)}
.glossary-more .ui-icon{width:15px;height:15px}
@media (max-width:900px){
 .listing-hero.has-art{grid-template-columns:1fr}
 .listing-art{grid-template-columns:1fr 130px;max-width:420px}
 .listing-art .bubble{margin-bottom:28px}
}
@media (max-width:760px){
 .catalog-query{grid-template-columns:1fr}
 .catalog-facets{grid-template-columns:1fr 1fr;gap:8px}
 .catalog-facets select{min-height:44px;font-size:var(--t-xs);padding-left:14px;padding-right:34px;background-position:right 12px center}
 .catalog-filter{padding:12px}
 .search-empty{grid-template-columns:1fr}
 .search-empty-art{width:140px}
}

/* ═══ ARTICLE ══════════════════════════════════════ */
.reading-progress{position:fixed;top:0;left:0;right:0;z-index:calc(var(--z-header) + 1);height:4px;pointer-events:none}
.reading-progress span{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:0 50%}
.article-header{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;max-width:1100px;padding:24px 0 28px}
.article-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.kicker-type{padding:7px 14px;border-radius:var(--r-pill);border:1px solid color-mix(in oklab,var(--accent) 60%,transparent);color:var(--action);font:500 var(--t-label)/1.2 var(--font-text);letter-spacing:.16em;text-transform:uppercase}
.verified-label{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);font-weight:600;color:var(--ok)}
.verified-label .ui-icon{width:16px;height:16px}
.article-header h1{font-size:var(--t-h1-text);letter-spacing:var(--track-display);line-height:1.04;max-width:28ch}
.article-dek{font-size:var(--t-lead);line-height:1.55;color:var(--ink-2);max-width:62ch}
.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding-top:16px;border-top:var(--hairline);font-size:var(--t-sm);color:var(--ink-2)}
.article-meta>span{display:inline-flex;align-items:center;gap:6px}
.article-meta .ui-icon{width:16px;height:16px}
.article-meta a{font-weight:600}
.share-button{min-height:44px;gap:6px;margin-left:auto}
.share-button .ui-icon{width:16px;height:16px}

.article-layout{display:grid;grid-template-columns:minmax(220px,270px) minmax(0,1fr);gap:clamp(28px,5vw,88px);align-items:start}
.article-aside{position:sticky;top:calc(var(--header-h) + 20px);display:grid;grid-template-columns:minmax(0,1fr);gap:16px;max-height:calc(100dvh - var(--header-h) - 40px);overflow:auto;scrollbar-width:thin;padding:2px 6px 6px 2px}
.article-toc{background:var(--card);border:var(--line);border-radius:var(--r-lg);padding:8px 8px 12px}
.article-toc summary{display:flex;flex-wrap:wrap;row-gap:4px;align-items:center;justify-content:space-between;gap:10px;padding:12px 12px 10px;font-weight:600;font-size:var(--t-sm);list-style:none}
.toc-progress{min-width:46px;padding:3px 10px;border-radius:var(--r-pill);background:var(--accent-wash);color:var(--action);font:800 .6875rem/1.2 var(--font-display);text-align:center}
.article-toc ol{list-style:none;display:grid;gap:2px}
.article-toc a{display:block;padding:11px 12px;border-radius:12px;border-left:3px solid transparent;font-size:.86rem;line-height:1.35;color:var(--ink-2);text-decoration:none;transition:background-color var(--d-1),color var(--d-1)}
.article-toc a:hover{background:var(--paper-sunken);color:var(--ink)}
.article-toc a.current{background:var(--paper-sunken);color:var(--ink);font-weight:600;border-left-color:var(--accent)}
.article-toc .toc-level-3 a{padding-left:24px;font-size:.82rem}

.article-body{min-width:0;max-width:var(--measure);font-size:1.125rem;line-height:1.6}
.article-body>*+*{margin-top:1.15em}
.article-body h2{font-size:clamp(1.375rem,1rem + 1.4vw,2.125rem);line-height:1.12;margin-top:2.2em}
.article-body h3{font-size:clamp(1rem,.92rem + .45vw,1.25rem);margin-top:1.9em}
.article-body h2+*,.article-body h3+*{margin-top:.7em}
.content-text p+p{margin-top:1em}
.content-text ul,.content-text ol{padding-left:1.3em;display:grid;gap:.45em}
.content-text li::marker{color:var(--action);font-weight:600}
.content-text a{text-decoration-color:var(--accent);text-decoration-thickness:2px}
.content-text a:hover{text-decoration-thickness:3px}
.content-text strong{font-weight:600}
.content-text.lead,.article-body>.content-text:first-child{font-size:1.3125rem;line-height:1.5;letter-spacing:-.01em;color:var(--ink)}

.callout{position:relative;padding:20px 22px 20px 64px;border:var(--line);border-radius:var(--r-lg);background:var(--card)}
.callout::before{content:'!';position:absolute;left:18px;top:18px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--paper);font:600 .95rem/1 var(--font-display)}
.callout h3{font-size:1.08rem;margin:0 0 6px}
.callout p{font-size:1rem;line-height:1.6;color:var(--ink-2)}
.callout.takeaway{background:var(--butter);box-shadow:var(--lift-1)}
.callout.takeaway::before{content:'✓';background:var(--action)}
.callout.warning{background:var(--rose)}
.callout.info,.callout.platform{background:var(--sky)}
.callout.info::before,.callout.platform::before{content:'i'}
.callout.industry,.callout.case_style{background:var(--mint)}
.callout.industry::before,.callout.case_style::before{content:'→'}
.pullquote{margin:2em 0;padding:4px 0 4px 28px;border-left:4px solid var(--accent)}
.pullquote p{font:800 clamp(1.25rem,1rem + .9vw,1.75rem)/1.3 var(--font-display);letter-spacing:-.01em;text-transform:none}
.pullquote footer{margin-top:12px;font-size:var(--t-sm);color:var(--ink-3)}
.stat-block{padding:22px 24px;border:var(--line);border-radius:var(--r-lg);background:var(--mint)}
.stat-block>div{font:900 var(--t-number)/1 var(--font-display);letter-spacing:-.03em}
.stat-block figcaption{margin-top:10px;font-size:var(--t-sm);color:var(--ink-2)}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:14px}
.stat-grid>div{padding:18px;border:var(--line);border-radius:var(--r-md);background:var(--card)}
.stat-grid strong{display:block;font:900 2rem/1 var(--font-display);letter-spacing:-.03em;color:var(--action)}
.stat-grid p{font-size:var(--t-sm);color:var(--ink-2);margin-top:8px}
.stat-grid small{font-size:var(--t-xs);color:var(--ink-3)}
.steps{list-style:none;counter-reset:step;display:grid;gap:12px;padding:0}
.steps li{counter-increment:step;position:relative;padding:14px 18px 14px 64px;border: 1px solid var(--rule-strong);border-radius:var(--r-md);background:var(--card);line-height:1.55}
.steps li::before{content:counter(step);position:absolute;left:14px;top:12px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--paper);font:600 .85rem/1 var(--font-display)}
.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pros-cons section{padding:18px 20px;border:var(--line);border-radius:var(--r-lg);background:var(--mint)}
.pros-cons section+section{background:var(--rose)}
.pros-cons h3{margin:0 0 10px;font-size:1.05rem}
.pros-cons ul{display:grid;gap:8px;padding-left:1.1em;font-size:1rem}
.content-panels{display:grid;gap:10px}
.content-panels details{border: 1px solid var(--rule-strong);border-radius:var(--r-md);background:var(--card);padding:0 18px}
.content-panels details[open]{border-color:var(--ink)}
.content-panels summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:58px;font-weight:600;list-style:none}
.content-panels summary::after{content:'+';font:600 1.3rem/1 var(--font-display);transition:transform var(--d-2) var(--ease-out)}
.content-panels details[open] summary::after{transform:rotate(45deg)}
.content-panels details p{padding-bottom:16px;color:var(--ink-2)}
.content-panels.timeline{border-left:2.5px dashed var(--ink);padding-left:24px;gap:18px}
.content-panels.timeline section{position:relative}
.content-panels.timeline section::before{content:'';position:absolute;left:-33px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--accent);border: 1px solid var(--rule-strong)}
.content-panels.timeline h3{margin:0 0 4px;font-size:1.1rem}
.definition{padding:20px 22px;border-radius:var(--r-lg);background:var(--lilac);border:var(--line)}
.definition dt{font:600 1.3rem/1.1 var(--font-display);letter-spacing:-.03em;margin-bottom:8px}
.definition dd{color:var(--ink-2)}
.code-block{border:var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--ink);color:var(--paper)}
.code-block figcaption{padding:8px 14px;font-size:var(--t-xs);font-weight:600;background:color-mix(in oklab,var(--ink) 80%,var(--paper));color:var(--paper)}
.code-block pre{margin:0;padding:16px;overflow-x:auto;font:500 .9rem/1.6 var(--font-mono)}
.data-chart{padding:20px 22px;border:var(--line);border-radius:var(--r-lg);background:var(--card)}
.data-chart figcaption{display:grid;gap:4px;margin-bottom:14px}
.data-chart figcaption span{font-size:var(--t-xs);color:var(--ink-3)}
.bars{display:grid;gap:10px}
.bar-row{display:grid;grid-template-columns:minmax(90px,.8fr) 2fr auto;align-items:center;gap:12px;font-size:var(--t-sm)}
.bar-row meter{width:100%;height:14px;appearance:none;border: 1px solid var(--rule-strong);border-radius:9px;background:var(--paper-sunken)}
.bar-row meter::-webkit-meter-bar{background:var(--paper-sunken);border:0;border-radius:9px}
.bar-row meter::-webkit-meter-optimum-value{background:var(--accent);border-radius:9px}
.bar-row meter::-moz-meter-bar{background:var(--accent);border-radius:9px}
.data-chart details{margin-top:14px;font-size:var(--t-sm)}
.content-image img{border-radius:var(--r-lg);border:var(--line)}
.content-image figcaption,.gallery figcaption{margin-top:10px;font-size:var(--t-xs);color:var(--ink-3)}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.gallery img{border-radius:var(--r-md)}
.missing-media{display:grid;place-items:center;min-height:180px;border: 1px dashed var(--rule-strong);border-radius:var(--r-lg);color:var(--ink-3);font-size:var(--t-sm)}
.video-embed iframe{width:100%;aspect-ratio:16/9;border:var(--line);border-radius:var(--r-lg)}
.video-consent{display:grid;place-items:center;gap:14px;min-height:260px;padding:24px;text-align:center;border:var(--line);border-radius:var(--r-lg);background:var(--ink);color:var(--paper)}
.video-embed figcaption{margin-top:10px;font-size:var(--t-sm)}
.inline-cta,.inline-tool,.related-inline{display:grid;gap:10px;justify-items:start;padding:22px;border:var(--line);border-radius:var(--r-lg)}
.inline-tool{background:var(--butter);box-shadow:var(--lift-1)}
.inline-tool h3,.inline-cta h3,.related-inline h3{margin:0;font-size:1.15rem}
.inline-tool p,.inline-cta p{font-size:var(--t-sm);color:var(--ink-2)}
.inline-cta{background:var(--rose)}
.related-inline{background:var(--card)}
.related-inline ul{list-style:none;display:grid;gap:4px;width:100%}
.related-inline a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:var(--hairline);font-weight:600;text-decoration:none}
.related-inline li:last-child a{border-bottom:0}
:is(.sources,.content-text) a .ui-icon{display:inline-block}
.related-inline a:hover{color:var(--action)}
.inline-link a{font-weight:600;text-decoration-color:var(--accent)}
.article-body .table-scroll{font-size:var(--t-sm)}
.sources{margin-top:3em;padding-top:28px;border-top:var(--line)}
.sources h2{margin-top:0;font-size:1.4rem}
.sources ol{display:grid;gap:10px;padding-left:1.2em;font-size:var(--t-sm)}
.sources li span{display:block;color:var(--ink-3);font-size:var(--t-xs)}
@media (max-width:640px){.source-note,.hand-note,.pathway-copy small,.footer-grid p,.sources li span{font-size:.875rem}.toc-left{font-size:.8125rem}}
.sources .source-note{margin-top:14px}

.next-step{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 190px auto;grid-template-areas:'copy art action';align-items:center;gap:var(--s-6);margin-top:var(--section);padding:clamp(28px,4.4vw,64px);background:var(--rose);border-radius:var(--r-xl)}
.next-art{grid-area:art;width:100%;justify-self:center}
.next-art .ricco-actor,.next-art .mascot{width:100%;height:auto}
@media (max-width:900px){.next-art{display:none}}
.next-copy{grid-area:copy;display:grid;gap:12px;justify-items:start;min-width:0}
.next-step h2{font-size:clamp(1.375rem,1rem + 1.8vw,2.5rem);line-height:1.08;overflow-wrap:break-word}
.next-step p{color:var(--ink-2);max-width:48ch}
.next-step>.button{grid-area:action}
.related-section{margin-top:var(--section)}
.related-section .section-heading{margin-bottom:var(--s-5)}
.related-section h2{font-size:clamp(1.125rem,1rem + .8vw,1.625rem)}

@media (max-width:980px){
 .article-layout{grid-template-columns:minmax(0,1fr)}
 .article-aside{position:static;max-height:none;overflow:visible;padding:0}
 .article-toc{border-width:1.5px}
 .article-toc summary::after{flex:none;content:'';width:10px;height:10px;border-right: 1px solid var(--rule-strong);border-bottom: 1px solid var(--rule-strong);transform:rotate(45deg);margin-left:auto;transition:transform var(--d-2)}
 .article-toc[open] summary::after{transform:rotate(-135deg)}
 .next-step{grid-template-columns:minmax(0,1fr);grid-template-areas:'copy' 'action'}
 .next-step>.button{justify-self:start}
}
@media (max-width:560px){
 .pros-cons{grid-template-columns:1fr}
 .callout{padding-left:20px;padding-top:58px}
 .article-body{font-size:1.04rem}
 .share-button{margin-left:0}
}

/* ═══ TOOLS INDEX ══════════════════════════════════ */
.tools-welcome{display:grid;grid-template-columns:minmax(0,1fr);align-items:end;gap:var(--s-6);padding:clamp(24px,3vw,40px) 0 var(--s-6)}
.tools-welcome-copy{display:grid;gap:18px}
.tools-welcome h1{font-size:var(--t-h1)}
.tool-picker-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:6px}
.tool-picker-links>span{font-size:var(--t-xs);font-weight:600;color:var(--ink-3);margin-right:6px}
.tool-picker-links .ui-icon{width:15px;height:15px}
.shelf-heading{margin:var(--section) 0 var(--s-6);font-size:var(--t-h2)}
.tool-shelf{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.shelf-card{grid-column:span 2;display:grid;grid-template-rows:auto 1fr;gap:18px;padding:20px;scroll-margin-top:calc(var(--header-h) + 20px)}
.shelf-card[data-tint=mint]{background:var(--mint)}.shelf-card[data-tint=rose]{background:var(--rose)}.shelf-card[data-tint=butter]{background:var(--butter)}.shelf-card[data-tint=sky]{background:var(--sky)}.shelf-card[data-tint=lilac]{background:var(--lilac)}
.shelf-economics{grid-column:span 4;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-rows:auto}
.shelf-economics .tool-visual{min-height:100%}
.shelf-engagement{grid-column:span 2}
.shelf-volume,.shelf-specs,.shelf-analyzer{grid-column:span 2}
.shelf-card:focus{outline:none}
.shelf-card:target,.shelf-card:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
.shelf-copy{display:grid;grid-template-rows:auto auto auto 1fr auto;gap:10px}
.shelf-card:not(.shelf-economics) .tool-visual{height:184px;min-height:0}
.shelf-copy h3{font-size:1.35rem;line-height:1.2}
.shelf-copy h3 a{text-decoration:none}
.shelf-copy>p{font-size:var(--t-sm);color:var(--ink-2)}
.shelf-details{display:grid;gap:8px;margin-top:4px;padding:12px 14px;border-radius:14px;background:color-mix(in oklab,var(--card) 65%,transparent)}
.shelf-details dt{font-size:var(--t-xs);font-weight:600;color:var(--ink-3)}
.shelf-details dd{font-size:var(--t-sm);line-height:1.45}
.shelf-action{display:inline-flex;align-items:center;align-self:end;gap:8px;margin-top:6px;font-weight:600;font-size:var(--t-sm)}
.shelf-action .ui-icon{transition:transform var(--d-2) var(--ease-out)}
.shelf-card:hover .shelf-action .ui-icon{transform:translateX(4px)}
.tools-afterword{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;margin-top:var(--s-7)}
.tools-afterword .method-note{flex:1 1 420px}
.tools-afterword .method-note p{color:var(--ink-2);font-size:var(--t-sm)}
@media (max-width:1060px){.tool-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}.shelf-card,.shelf-economics{grid-column:span 1}.shelf-economics{grid-column:1/-1}}
@media (max-width:640px){.tool-shelf{grid-template-columns:1fr}.shelf-economics{grid-template-columns:1fr}.tools-welcome{grid-template-columns:1fr}.tools-welcome-art{grid-template-columns:1fr 140px;max-width:420px}.tools-welcome-art .bubble{margin-bottom:36px}}

/* ═══ TOOL PAGE ════════════════════════════════════ */
.tool-page{padding-bottom:0}
.tool-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);align-items:end;gap:var(--s-6);padding:clamp(20px,3vw,36px) 0 var(--s-5)}
.tool-header-copy{display:grid;gap:14px;justify-items:start}
.tool-header h1{font-size:var(--t-h1);max-width:14ch}
@media (max-width:640px){.tool-header h1{max-width:none;font-size:clamp(1.85rem,8.6vw,2.6rem)}}
.tool-header-note{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:16px 18px;border: 1px dashed var(--rule-strong);border-radius:var(--r-lg)}
.mini-formula{display:grid;place-items:center;min-width:52px;height:52px;padding:0 8px;border-radius:16px;background:var(--butter);border:var(--line);font:600 1.1rem/1 var(--font-display)}
.tool-header-note p{font-size:var(--t-xs);color:var(--ink-2);line-height:1.5}
.tool-nav{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:10px 10px 12px;margin:0 -10px var(--s-6);scroll-padding-inline:10px}
.tool-nav::-webkit-scrollbar{display:none}
.tool-nav .chip{flex:none}

.calculator-layout,.analyzer-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(20px,3vw,40px);align-items:start}
.calculator-input{padding:clamp(20px,2.4vw,32px);background:var(--card);border:var(--line);border-radius:var(--r-xl)}
.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}
.panel-heading>div{display:grid;gap:6px}
.panel-heading h2{font-size:clamp(1.35rem,1.1rem + .8vw,1.8rem)}
.input-explanation{font-size:var(--t-sm);color:var(--ink-3);margin-bottom:10px}
#tool-form{display:grid;gap:4px}
#tool-form fieldset{display:grid;gap:18px;margin:0;padding:18px 0 22px;border:0;border-top:var(--hairline);min-width:0}
#tool-form fieldset:first-of-type{border-top:0;padding-top:8px}
#tool-form legend{float:left;width:100%;margin-bottom:4px;font:600 var(--t-xs)/1.2 var(--font-text);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
#tool-form legend+*{clear:both}
#tool-form .range{margin-top:-2px}
.distribution-settings{margin-top:4px}
.distribution-settings>*:not(summary){margin-bottom:14px}
.distribution-settings p{font-size:var(--t-sm);color:var(--ink-2)}
.calculator-actions{display:grid;gap:10px;justify-items:center;margin-top:12px}
.calculator-actions .button{min-height:56px;font-size:1rem}

.calculator-output{position:sticky;top:calc(var(--header-h) + 18px);display:grid;gap:14px;min-width:0}
.calculator-output>.panel-heading{margin:0}
.result-context{padding:12px 16px;border-radius:var(--r-md);background:var(--paper-sunken);font-size:var(--t-sm);color:var(--ink-2)}
[data-result-state=pending] .result-context,[data-result-state=invalid] .result-context{background:var(--butter);color:var(--ink)}
#tool-errors:empty{display:none}
#tool-errors .error{padding:12px 16px;border-radius:var(--r-md);background:var(--bad-wash)}
#tool-result{display:grid;gap:14px;min-width:0;transition:opacity var(--d-2)}
#tool-result>*,.calculator-output>*,.calculator-input,.brief-form>*,.article-body>*{min-width:0}
#tool-result[aria-busy=true]{opacity:.55}
.result-hero{display:grid;gap:10px;padding:clamp(20px,2.4vw,30px);border:var(--line);border-radius:var(--r-xl);background:var(--mint);box-shadow:var(--lift-2)}
.result-hero.is-negative{background:var(--rose)}
.result-hero.is-positive{background:var(--mint)}
.result-hero .eyebrow{color:var(--ink-2)}
.result-number{display:block;font:600 var(--t-number)/1 var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;overflow-wrap:break-word}
@media (max-width:420px){.result-number:not(.compact){font-size:clamp(2.1rem,11vw,2.6rem)}}
.result-number span{font-size:.55em}
.result-number.compact{font-size:clamp(1.8rem,1.2rem + 2vw,2.6rem)}
.result-hero p{color:var(--ink-2);font-size:var(--t-sm)}
.result-equation{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px 16px;margin-top:6px;padding-top:14px;border-top: 1px dashed color-mix(in oklab,var(--ink) 35%,transparent)}
.result-equation span{display:grid;gap:2px;font:600 1.15rem/1.1 var(--font-display);letter-spacing:-.03em}
.result-equation small{font:600 var(--t-xs)/1.2 var(--font-text);letter-spacing:0;color:var(--ink-3)}
.result-equation b{font:600 1.15rem/1.1 var(--font-display)}
@media (max-width:480px){.result-equation{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 10px}.result-equation>span:first-child{grid-column:2}.result-equation>b{grid-row:2}}
@media (prefers-reduced-motion:no-preference){#tool-result.result-update .result-hero{animation:result-pop var(--d-3) var(--ease-spring)}}
@keyframes result-pop{from{transform:translate(3px,3px);box-shadow:none}}
.calculator-output{container-type:inline-size}
.scenario-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@container (max-width:560px){.scenario-cards{grid-template-columns:minmax(0,1fr)}}
.scenario-card{display:grid;gap:6px;align-content:start;padding:14px 16px;border: 1px solid var(--rule-strong);border-radius:var(--r-md);background:var(--card)}
.scenario-card.is-base{border:var(--line);box-shadow:var(--lift-1)}
.scenario-card h3{font-size:var(--t-xs);font-weight:600;color:var(--ink-3);letter-spacing:.02em}
.scenario-card strong{font:600 1.2rem/1.1 var(--font-display);letter-spacing:-.03em}
.scenario-card p{font-size:var(--t-xs);color:var(--ink-2);line-height:1.45}
.scenario-card small{font-size:.75rem;color:var(--ink-3)}
.result-detail .table-scroll{margin-bottom:10px}
.result-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px}
.result-metrics>div{padding:14px 16px;border: 1px solid var(--rule-strong);border-radius:var(--r-md);background:var(--card)}
.result-metrics dt{font-size:var(--t-xs);color:var(--ink-3);font-weight:600}
.result-metrics dd{margin-top:6px;font:600 1.3rem/1.15 var(--font-display);letter-spacing:-.03em}
.result-metrics dd.compact{font-size:1rem}
.result-notice{padding-top:4px}
.result-empty{display:grid;justify-items:center;gap:10px;padding:24px;text-align:center;border: 1px dashed var(--rule-strong);border-radius:var(--r-lg)}
.result-empty h3{font-size:1.2rem}
.result-empty p{color:var(--ink-2);font-size:var(--t-sm)}
.scenario-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:14px 0;border-top:var(--hairline)}
.scenario-actions small{font-size:var(--t-xs);color:var(--ink-3);max-width:32ch}
.scenario-disclaimer{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;font-size:var(--t-xs);color:var(--ink-2)}
.scenario-disclaimer>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--paper-sunken)}
.scenario-disclaimer .ui-icon{width:16px;height:16px}
.scenario-disclaimer strong{font-size:var(--t-sm);color:var(--ink)}
.share-status input{margin-top:8px}
.tool-methodology{max-width:820px;margin-top:var(--section);display:grid;gap:14px}
.tool-methodology h2{font-family:var(--font-display);font-weight:600;letter-spacing:-.032em;font-size:var(--t-h3)}
.tool-methodology p{color:var(--ink-2);line-height:1.7}
.tool-methodology .text-link{justify-self:start}
.tool-next{display:grid;gap:12px;justify-items:start;margin-top:var(--s-8);padding:clamp(22px,3vw,40px);background:var(--lilac);border:var(--line);border-radius:var(--r-xl)}
.tool-next h2{font-family:var(--font-display);font-weight:600;letter-spacing:-.032em;font-size:var(--t-h3)}
.tool-next p{color:var(--ink-2);max-width:60ch}

/* Specs */
.specs-layout{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:clamp(24px,4vw,56px);align-items:start}
.format-lab{position:sticky;top:calc(var(--header-h) + 18px);display:grid;gap:16px;justify-items:center;padding:24px;background:var(--sky);border:var(--line);border-radius:var(--r-xl)}
.phone-frame{position:relative;display:grid;place-items:center;width:min(100%,250px);aspect-ratio:9/16;border:3px solid var(--ink);border-radius:30px;background:var(--card);box-shadow:var(--lift-2);overflow:hidden}
.phone-frame>strong{font:600 2.6rem/1 var(--font-display);letter-spacing:-.03em;margin-top:28%}
.phone-top,.phone-bottom{position:absolute;left:0;right:0;text-align:center;font-size:.72rem;font-weight:600;letter-spacing:.08em;color:var(--ink-3)}
.phone-top{top:14px}.phone-bottom{bottom:14px}
.safe-area{position:absolute;inset:12%;display:grid;place-items:start center;padding-top:10px;text-align:center;border:2.5px dashed var(--action);border-radius:14px;font-size:.72rem;font-weight:600;color:var(--action);transition:inset var(--d-2) var(--ease-out)}
.format-lab .field{width:100%}
.format-lab output{font:600 1rem/1 var(--font-display)}
.specs-layout>section:last-child>h2{font-size:var(--t-h3);margin-bottom:8px}
.specs-layout>section:last-child>p{color:var(--ink-2);margin-bottom:18px}
.spec-list{display:grid;gap:12px}
.spec-list article{display:grid;gap:8px;padding:16px 18px;border: 1px solid var(--rule-strong);border-radius:var(--r-md);background:var(--card)}
.spec-list article>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
.spec-list h3{font-size:1.02rem}
.status{padding:3px 10px;border-radius:var(--r-pill);font-size:var(--t-xs);font-weight:600;background:var(--butter)}
.status.verified{background:var(--ok-wash);color:var(--ok)}
.spec-list small{font-size:var(--t-xs);color:var(--ink-3)}
.spec-list a{font-weight:600;font-size:var(--t-sm)}
/* Analyzer */
.analyzer-layout .calculator-input{display:grid;gap:14px}
.analyzer-layout .calculator-input>p{font-size:var(--t-sm);color:var(--ink-2)}
#analyzer-form{display:grid;gap:14px}
.analyzer-layout .calculator-output{position:static;padding:clamp(20px,2.4vw,32px);border:var(--line);border-radius:var(--r-xl);background:var(--lilac)}
.analyzer-layout .calculator-output h2{font-size:1.4rem}
.analyzer-layout .calculator-input h2{font-size:clamp(1.35rem,1.1rem + .8vw,1.8rem)}
#analyzer-result{display:grid;gap:12px}

@media (max-width:980px){
 .tool-header{grid-template-columns:1fr}
 .calculator-layout,.analyzer-layout,.specs-layout{grid-template-columns:minmax(0,1fr)}
 .calculator-output,.format-lab{position:static}
}
@media (max-width:560px){
 .scenario-cards{grid-template-columns:1fr}
 .result-ricco{grid-template-columns:1fr 100px}.reactor-stage{width:100px}
 .calculator-input{border-radius:var(--r-lg)}
}

.result-peek{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:var(--z-toast);display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;min-height:58px;padding:8px 10px 8px 18px;border:var(--line);border-radius:var(--r-pill);background:var(--ink);color:var(--paper);box-shadow:var(--float);text-align:left;animation:peek-in var(--d-3) var(--ease-spring)}
@keyframes peek-in{from{opacity:0;transform:translateY(16px) scale(.96)}}
.peek-label{font-size:.72rem;font-weight:600;line-height:1.2;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.peek-value{font:600 1.15rem/1 var(--font-display);letter-spacing:-.03em;white-space:nowrap;transition:opacity var(--d-2)}
.result-peek.is-stale .peek-value{opacity:.45}
.peek-go{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--action);color:#fff;font-weight:600}
.shelf-economics .tool-visual{background:var(--card)}
.shelf-economics .tv-funnel{gap:10px}
.shelf-economics .tv-funnel li{padding:12px 14px;font-size:.82rem}
.shelf-economics .tv-funnel b{font-size:1.15rem}

/* Reactor poses: any scene can be the current verdict */

/* ═══ BRIEF ════════════════════════════════════════ */
.brief-header{display:grid;grid-template-columns:minmax(0,1fr);align-items:end;gap:var(--s-6);padding:clamp(24px,3vw,40px) 0 var(--s-7)}
.brief-header-copy{display:grid;gap:16px;justify-items:start}
.brief-header h1{font-size:var(--t-h1)}
.brief-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.brief-aside{position:sticky;top:calc(var(--header-h) + 20px)}
.brief-progress{display:grid;gap:14px;padding:22px;background:var(--card);border:var(--line);border-radius:var(--r-lg)}
.brief-progress h2{font:600 1.25rem/1.1 var(--font-display);letter-spacing:-.032em}
.brief-progress>p{font-size:var(--t-xs);color:var(--ink-2)}
.form-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.form-progress span{height:8px;border-radius:9px;background:var(--paper-deep);transition:background-color var(--d-3) var(--ease-out)}
.form-progress span.complete{background:var(--accent)}
.brief-map{list-style:none;display:grid;gap:4px;counter-reset:q}
.brief-map li{counter-increment:q;display:flex;align-items:center;gap:10px;font-size:var(--t-sm);font-weight:600;color:var(--ink-3)}
.brief-map li::before{content:counter(q);display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border: 1px solid var(--rule-strong);font:600 .72rem/1 var(--font-display);transition:all var(--d-2)}
.brief-map li.complete{color:var(--ink)}
.brief-map li.complete::before{content:'✓';background:var(--ink);border-color:var(--ink);color:var(--butter)}
.brief-form{display:grid;gap:18px;min-width:0}
#project-brief{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.brief-step{display:grid;gap:14px;margin:0;padding:22px 24px 24px;border: 1px solid var(--rule-strong);border-radius:var(--r-lg);background:var(--card);min-width:0;transition:border-color var(--d-2),box-shadow var(--d-2)}
.brief-step:focus-within{border-color:var(--ink);box-shadow:var(--lift-1)}
.brief-step.is-done{border-color:var(--ink)}
.brief-step legend{float:left;width:100%;display:flex;align-items:center;gap:12px;margin-bottom:6px;font:600 1.15rem/1.2 var(--font-display);letter-spacing:-.03em}
.brief-step legend+*{clear:both}
.step-num{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--butter);border: 1px solid var(--rule-strong);font-size:.85rem;transition:background-color var(--d-2)}
.brief-step.is-done .step-num{background:var(--ink);color:var(--paper)}
.character-count{justify-self:end}
.brief-privacy{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:14px 16px;border-radius:var(--r-md);background:var(--mint);font-size:var(--t-sm)}
.brief-privacy .ui-icon{width:20px;height:20px;margin-top:2px}
.brief-actions .button{min-height:58px;padding:0 30px;font-size:1rem}
.brief-context{display:grid;gap:10px;padding:22px}
.context-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
.brief-context h2{font-size:1.25rem}
.brief-context p,.brief-context small{color:var(--ink-2);font-size:var(--t-sm)}
.brief-context pre{white-space:pre-wrap;font:500 .82rem/1.6 var(--font-mono);background:var(--card);padding:12px;border-radius:12px}
.brief-complete{display:grid;gap:14px;padding:clamp(22px,3vw,36px);background:var(--mint)}
@media (max-width:480px){.brief-complete .actions .button{flex:1 1 100%}}
.brief-complete h2{font-family:var(--font-display);font-weight:600;letter-spacing:-.03em;font-size:var(--t-h2)}
.brief-complete pre{max-height:420px;overflow:auto;white-space:pre-wrap;padding:18px;border: 1px solid var(--rule-strong);border-radius:var(--r-md);background:var(--card);font:500 .92rem/1.65 var(--font-text)}
.brief-complete .button .ui-icon{width:18px;height:18px}
.brief-faq{display:grid;gap:0;margin-top:var(--s-7)}
.brief-faq h2{font-size:var(--t-h3);margin-bottom:12px}
.brief-faq .disclosure+.disclosure{border-top:0}
.brief-faq p{color:var(--ink-2)}
.brief-more{display:none;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:var(--s-5);font-size:var(--t-sm);color:var(--ink-2)}
.brief-more>.ui-icon{width:18px;height:18px}
.no-script-note{padding:16px;border-radius:var(--r-md);background:var(--butter)}
@media (max-width:900px){
 .brief-header{grid-template-columns:1fr}
 .brief-ricco{grid-template-columns:1fr 130px;max-width:460px}
 .brief-ricco .bubble{margin-bottom:30px}
 .brief-layout{grid-template-columns:1fr}
 .brief-aside{position:sticky;top:calc(var(--header-h) + 8px);z-index:var(--z-sticky)}
 #project-brief :is(input,textarea),#brief-complete-title{scroll-margin-top:72px}
 .brief-progress{grid-template-columns:auto 1fr;align-items:center;gap:8px 14px;padding:12px 16px;border-width:1.5px;box-shadow:var(--lift-1)}
 .brief-progress h2{font-size:.95rem;grid-column:1;grid-row:1}
 .brief-progress .form-progress{grid-column:2;grid-row:1}
 .brief-map,.brief-progress>p,.brief-progress>.text-link{display:none}
 .brief-more{display:flex}
}

/* ═══ SERVICE ══════════════════════════════════════ */
.service-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(28px,5vw,80px);align-items:center;padding:clamp(24px,3vw,44px) 0 var(--s-7)}
.service-intro-copy{display:grid;gap:18px;justify-items:start}
.service-intro h1{font-size:var(--t-h1);max-width:14ch}
.service-deliverables{display:grid;gap:12px}
.service-deliverables ol{list-style:none;display:grid;gap:12px;counter-reset:d}
.service-deliverables li{counter-increment:d;position:relative;display:grid;gap:4px;padding:16px 18px 16px 70px;border:var(--line);border-radius:18px;background:var(--mint);box-shadow:var(--lift-1)}
.service-deliverables li:nth-child(1){}.service-deliverables li:nth-child(2){background:var(--butter);margin-left:18px}.service-deliverables li:nth-child(3){background:var(--rose);}
.service-deliverables li::before{content:counter(d);position:absolute;left:18px;top:16px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ink);color:var(--paper);font:600 .85rem/1 var(--font-display)}
.service-deliverables li strong{font-size:1.02rem}
.service-deliverables li span{font-size:var(--t-sm);color:var(--ink-2)}
.promotion-map{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;margin-bottom:var(--s-7)}
@media (min-width:600px) and (max-width:1000px){.promotion-map{grid-template-columns:repeat(2,minmax(0,1fr))}}
.promotion-map a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:64px;padding:12px 16px;border: 1px solid var(--rule-strong);border-radius:var(--r-md);background:var(--card);text-decoration:none;font-size:var(--t-sm);transition:border-color var(--d-1),transform var(--d-2) var(--ease-spring)}
.promotion-map a:hover{border-color:var(--ink);transform:translateY(-2px)}
.promotion-map .index-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--butter)}
.promotion-map .ui-icon{width:16px;height:16px}
.is-promotion .article-layout{grid-template-columns:minmax(0,1fr);justify-items:start}
.is-promotion .article-body{max-width:760px}
@media (max-width:900px){.service-intro{grid-template-columns:minmax(0,1fr)}.service-ricco{grid-template-columns:1fr 130px;max-width:420px}}
@media (max-width:420px){.service-intro h1{font-size:clamp(1.75rem,9vw,2.2rem)}}

/* ═══ TRENDS ═══════════════════════════════════════ */
.trend-digest{display:grid;gap:16px;margin:var(--s-5) 0 var(--section)}
.trend-digest-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-6);align-items:end;margin-bottom:10px}
.trend-digest-header>div{display:grid;gap:10px}
.trend-digest-header h2{font-family:var(--font-display);font-weight:600;letter-spacing:-.03em;font-size:var(--t-h2)}
.trend-digest-header p{color:var(--ink-2);font-size:var(--t-sm)}
.trend-signal{display:grid;grid-template-columns:auto minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(16px,3vw,40px);align-items:start;padding:clamp(20px,3vw,32px);border:var(--line);border-radius:var(--r-xl);background:var(--card)}
.trend-signal:nth-of-type(2){background:var(--mint)}.trend-signal:nth-of-type(3){background:var(--lilac)}.trend-signal:nth-of-type(4){background:var(--rose)}
.trend-signal-number{font:600 clamp(2rem,1.5rem + 1.6vw,3rem)/1 var(--font-display);letter-spacing:-.03em}
.trend-signal h3{font-size:clamp(1.25rem,1rem + .8vw,1.7rem);margin:8px 0 10px}
.trend-signal>div>p{color:var(--ink-2);margin-bottom:10px}
.trend-experiment{display:grid;gap:8px;padding:18px;border-radius:var(--r-lg);background:var(--butter);border: 1px solid var(--rule-strong);}
.trend-experiment strong{font:600 1rem/1.2 var(--font-display);letter-spacing:-.02em}
.trend-experiment p{font-size:var(--t-sm)}
.trend-digest-footer{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:6px}
.trend-journal-heading{font-size:var(--t-h2);margin-bottom:var(--s-5)}
.trends-filter{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:var(--s-6)}
.trends-filter .field{min-width:240px}
[data-trend-results]{display:grid;gap:14px}
.trend-observation{display:grid;gap:10px;padding:22px 24px;border: 1px solid var(--rule-strong);border-radius:var(--r-lg);background:var(--card)}
.trend-observation h2{font-size:1.3rem}
.trend-observation p{color:var(--ink-2)}
.trend-observation dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:12px;border-top:var(--hairline)}
.trend-observation dt{font-size:var(--t-xs);font-weight:600;color:var(--ink-3)}
.trend-observation dd{font-size:var(--t-sm)}
@media (max-width:900px){.trend-digest-header{grid-template-columns:1fr}.trend-signal{grid-template-columns:1fr}.trend-experiment{transform:none}.trend-observation dl{grid-template-columns:1fr}}

/* ═══ ERROR & AUTHOR ═══════════════════════════════ */
.error-page{display:grid;grid-template-columns:minmax(0,46rem) minmax(200px,340px);justify-content:space-between;align-items:center;gap:var(--s-7);min-height:min(calc(100dvh - var(--header-h)),760px);padding-block:var(--s-7)}
.error-copy{display:grid;gap:18px;justify-items:start}
.error-art{width:100%}.error-art .ricco-actor,.error-art .mascot{width:100%;height:auto}
.error-code{font-size:clamp(5rem,3rem + 10vw,11rem);line-height:.85;letter-spacing:-.04em;color:var(--action)}
.error-page h1{font-size:var(--t-h2)}
.error-search{display:grid;grid-template-columns:1fr auto;gap:10px;width:min(100%,560px)}
.error-search>label{grid-column:1/-1;font-weight:600;font-size:var(--t-sm)}
.error-search input{min-height:54px;padding-left:50px}
@media (max-width:800px){.error-page{grid-template-columns:1fr;min-height:0}.error-art{max-width:200px;order:-1}.error-search{grid-template-columns:1fr}}
.author-page .listing-hero{grid-template-columns:1fr}

/* ═══ READING HELPERS ══════════════════════════════ */
.section-head{display:flex;align-items:flex-start;gap:10px;margin-top:2.1em}
.section-head:has(>h3){margin-top:1.7em}
.section-head>h2,.section-head>h3{margin-top:0;flex:1;min-width:0}
.section-head+*{margin-top:.7em}
.heading-anchor,.section-head>.heading-anchor{flex:none;display:grid;place-items:center;width:44px;height:44px;margin-top:.15em;border-radius:50%;color:var(--ink-3);opacity:.35;transition:opacity var(--d-1),background-color var(--d-1),color var(--d-1)}
.heading-anchor .ui-icon{width:18px;height:18px}
.section-head:hover .heading-anchor,.heading-anchor:focus-visible{opacity:1}
.heading-anchor:hover{background:var(--butter);color:var(--ink)}
@media (hover:none){.heading-anchor{opacity:.6}}
.toc-meta{display:inline-flex;align-items:center;gap:8px}
.toc-left{font-size:.72rem;font-weight:600;color:var(--ink-3);white-space:nowrap}
.reading-bar{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:var(--z-toast);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 8px 8px 10px;border:var(--line);border-radius:var(--r-pill);background:var(--card);box-shadow:var(--lift-2);animation:peek-in var(--d-3) var(--ease-spring)}
.reading-ring{--p:0deg;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:conic-gradient(var(--accent) var(--p),var(--paper-deep) 0)}
.reading-ring span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--card);font:800 .66rem/1 var(--font-display)}
.reading-where{display:grid;min-width:0}
.reading-where small{font-size:.68rem;font-weight:600;color:var(--ink-3)}
.reading-where strong{font-size:var(--t-xs);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reading-bar .chip{min-height:44px;padding:0 14px;gap:6px;font-size:var(--t-xs)}
.reading-bar .chip .ui-icon{width:16px;height:16px}
body.has-reading-bar .site-footer{padding-bottom:96px}
.toc-sheet{margin:auto auto 0;width:100%;max-width:560px;max-height:78dvh;padding:18px 18px calc(18px + env(safe-area-inset-bottom));background:var(--paper);border:var(--line);border-bottom:0;border-radius:var(--r-xl) var(--r-xl) 0 0;overflow:auto}
.toc-sheet[open]{display:grid;gap:12px}
.toc-sheet strong{font:600 1.15rem/1.2 var(--font-display);letter-spacing:-.03em}
.toc-sheet ol{list-style:none;display:grid;gap:4px}
.toc-sheet a:not(.text-link){display:block;padding:12px 14px;border-radius:var(--r-md);font-weight:600;font-size:var(--t-sm);text-decoration:none;background:var(--card);border: 1px solid var(--rule)}
.toc-sheet a:not(.text-link):hover,.toc-sheet a:not(.text-link):focus-visible{border-color:var(--ink);background:var(--butter)}
.toc-sheet .toc-level-3 a{margin-left:16px;font-weight:500}
.restore-slot{margin:-2px 0 12px}
.restore-chip{--bg:var(--butter);--bd:var(--ink);gap:8px}
.restore-chip .ui-icon{width:16px;height:16px}
.error-suggest{display:grid;gap:8px;width:min(100%,560px);padding:16px 18px;border: 1px dashed var(--rule-strong);border-radius:var(--r-lg)}
.error-suggest strong{font-size:var(--t-sm)}
.error-suggest ul{list-style:none;display:grid;gap:2px}
.error-suggest a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;font-weight:600;text-decoration:none;border-bottom:var(--hairline)}
.error-suggest li:last-child a{border-bottom:0}
.error-suggest a:hover{color:var(--action)}
/* Tools that answer the query, above the article results */
.tool-hits{margin:var(--s-5) 0 var(--s-6)}
.tool-hits-title{font:600 var(--t-xs)/1.3 var(--font-text);letter-spacing:0;color:var(--ink-3);margin-bottom:12px}
.tool-hits-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px}
.tool-hit{display:flex;align-items:center;gap:16px;padding:16px 18px}
.tool-hit>.ui-icon{width:26px;height:26px;flex:none}
.tool-hit>span:not(.circle-arrow){display:grid;gap:4px;flex:1;min-width:0}
.tool-hit strong{font-family:var(--font-display);font-weight:600;font-size:1.05rem;letter-spacing:-.02em}
.tool-hit small{font-size:var(--t-xs);color:var(--ink-2);line-height:1.45}
.error-suggest .ui-icon{width:16px;height:16px;flex:none}
}

/* Calculator verdict: one plain line under the result heading (replaced the mascot's speech bubble). */
.result-verdict{margin:0;padding:10px 14px;border-left:3px solid var(--action);border-radius:0 12px 12px 0;background:var(--card);font-weight:600;font-size:var(--t-sm);line-height:1.45}
/* A short reading route; the existing brand typography and colours stay in use. */
.reading-route{margin:24px 0 40px;padding:24px 0;border-block:1px solid var(--line,#dedbd3)}
.reading-route h2{font-size:clamp(22px,3vw,30px);margin:0 0 8px}
.reading-route>p{color:var(--muted,#65635e);margin:0 0 20px;max-width:65ch}
.reading-route ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 28px;counter-reset:route}
.reading-route li{counter-increment:route;display:grid;grid-template-columns:28px 1fr;gap:0 10px;align-content:start}
.reading-route li:before{content:counter(route,decimal-leading-zero);font:600 13px/1.6 Golos,sans-serif;color:var(--accent,#e82c36);padding-top:2px}
.reading-route a{font-weight:700;text-underline-offset:4px;line-height:1.4}
.reading-route small{grid-column:2;color:var(--muted,#65635e);font-size:14px;line-height:1.45;margin-top:5px}
.reading-route[hidden]{display:none}
.route-next{margin:36px 0;padding:20px 0;border-block:1px solid var(--line,#dedbd3)}
.route-next>p{font-size:14px;color:var(--muted,#65635e);margin:0 0 12px}
.route-next div{display:flex;gap:12px 24px;justify-content:space-between;flex-wrap:wrap}
.route-next a{font-weight:650;text-underline-offset:4px;max-width:100%;overflow-wrap:anywhere}
.catalog-client-pages{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:28px 0;flex-wrap:wrap}
.catalog-client-pages span{font-size:14px;color:var(--muted,#65635e)}
.catalog-client-pages[hidden]{display:none}
@media(max-width:759px){.reading-route{padding:20px 0;margin:16px 0 28px}.reading-route ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.reading-route small{font-size:13px}.reading-route li{grid-template-columns:22px 1fr;gap:0 7px}}
@media(max-width:420px){.reading-route ol{grid-template-columns:1fr;gap:14px}.reading-route small{margin-top:2px}.reading-route a{font-size:16px}}
