/* CEPS Helix — concept redesign. Palette "Indigo night, round 3". Every colour literal lives once in :root; design.md lists each one. */

@font-face{
  font-family:Montserrat;
  src:url(fonts/montserrat-latin.woff2) format('woff2');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root{
  /* ---- ramps ---- */
  --ink-950:#171B4D; --ink-deep:#111445; --ink-900:#212859;
  --teal-300:#aae3e0; --teal-400:#72BAB7; --teal-500:#46aeaa; --teal-700:#005854; --teal-800:#00504e;
  --apricot-100:#fbf2e9; --apricot-200:#ECCAAB; --apricot-300:#f3cead;
  --paper:#FDFDFF; --paper-warm:#FAF7F5;
  --slate-200:#e7e9f4; --slate-300:#d4d6e6; --slate-600:#8A8CA6; --slate-700:#5C5F82;
  --error:#E5413E;
  /* ---- translucent helpers (the only rgba literals) ---- */
  --chip-border:rgba(250,247,245,.22); --chip-bg-hover:rgba(170,227,224,.12); --node-ring:rgba(170,227,224,.25);
  --tip-bg:rgba(17,20,69,.66); --tip-border:rgba(250,247,245,.16); --tip-border-top:rgba(250,247,245,.3);
  --outline-on-dark-rest:rgba(250,247,245,.5); --outline-on-dark-hover-bg:rgba(250,247,245,.06);
  --scrim:rgba(17,20,69,.5);
  --shadow-card:0 1px 2px rgba(23,27,77,.06),0 4px 12px rgba(23,27,77,.06);
  --shadow-sheet:0 0 0 1px rgba(23,27,77,.06),-12px 0 40px rgba(23,27,77,.18);
  /* ---- roles (palette r3) ---- */
  --bg-hero:var(--ink-deep); --bg-hero-glow:var(--teal-700);
  --text-on-hero:var(--paper-warm); --text-on-hero-muted:var(--slate-300);
  --helix-strand:var(--apricot-300); --helix-node:var(--teal-300); --helix-node-tool:var(--teal-400);
  --helix-label:var(--paper-warm); --helix-count:var(--teal-300);
  --chip-text:var(--slate-200); --chip-text-hover:var(--paper-warm); --chip-border-hover:var(--teal-300);
  --action-fill-on-dark:var(--teal-500); --action-fill-on-dark-hover:var(--teal-400); --text-on-action-on-dark:var(--ink-950);
  --action-outline-on-dark:var(--paper-warm); --focus-ring-on-dark:var(--teal-300);
  --bg-page:var(--paper); --bg-surface:var(--paper-warm);
  --border:var(--slate-200); --rule:var(--slate-300); --border-strong:var(--slate-600);
  --text:var(--ink-950); --text-muted:var(--slate-700); --text-subtle:var(--slate-600);
  --link:var(--teal-700); --link-hover:var(--teal-800);
  --action-fill:var(--ink-950); --action-fill-hover:var(--ink-900); --text-on-action:var(--paper-warm);
  --action-outline:var(--teal-700); --focus-ring:var(--teal-700);
  --bg-quiz:var(--apricot-100); --text-on-quiz:var(--ink-950); --quiz-number:var(--teal-700); --quiz-rail:var(--slate-300);
  --bg-band:var(--ink-950); --text-on-band:var(--paper-warm); --link-on-dark:var(--teal-300);
  --bg-footer:var(--ink-deep); --text-on-footer:var(--paper-warm);
  --selection-bg:var(--teal-300); --selection-text:var(--ink-950);
  /* ---- type, motion, layout ---- */
  --font:Montserrat,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ease-out:cubic-bezier(.23,1,.32,1); --ease-in-out:cubic-bezier(.77,0,.175,1);
  --dur-press:120ms; --dur-hover:160ms; --dur-popover:180ms; --dur-surface:200ms;
  --gutter:clamp(20px,4.5vw,64px); --max:1120px; --bar-h:40px; --hdr-h:72px;
  --r-btn:8px; --r-card:16px; --r-tip:8px; --r-input:4px;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html.notes-open{overflow:hidden}
body{margin:0;font-family:var(--font);font-size:16px;line-height:1.55;background:var(--bg-page);color:var(--text);-webkit-font-smoothing:antialiased;overflow-x:clip}
::selection{background:var(--selection-bg);color:var(--selection-text)}
h1,h2,h3,p,ul,ol{margin:0}
ul,ol{padding:0}
img,svg{display:block}
a{color:var(--link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--link-hover)}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
.hdr :focus-visible,.hero :focus-visible,.footer :focus-visible,.concept-bar > :focus-visible{outline-color:var(--focus-ring-on-dark)}
.wrap{max-width:var(--max);margin:0 auto}
.ov{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--link);margin-bottom:12px}
h2{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.2;font-weight:700;letter-spacing:-.01em}
h3{font-size:17px;line-height:1.35;font-weight:700}
.lead{font-size:18px;line-height:1.5;color:var(--text-muted);max-width:60ch;margin-top:12px}
.ico{flex:none}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;line-height:1.2;padding:13px 20px;border-radius:var(--r-btn);text-decoration:none;border:2px solid transparent;cursor:pointer;white-space:nowrap;transition:transform var(--dur-press) var(--ease-out),background-color var(--dur-hover) var(--ease-out),border-color var(--dur-hover) var(--ease-out),color var(--dur-hover) var(--ease-out)}
.btn:active{transform:scale(.97)}
.btn-fill-dark{background:var(--action-fill-on-dark);color:var(--text-on-action-on-dark)}
.btn-fill-dark:hover{background:var(--action-fill-on-dark-hover);color:var(--text-on-action-on-dark)}
.btn-outline-dark{border-color:var(--outline-on-dark-rest);color:var(--action-outline-on-dark)}
.btn-outline-dark:hover{border-color:var(--action-outline-on-dark);background:var(--outline-on-dark-hover-bg);color:var(--action-outline-on-dark)}
.btn-fill{background:var(--action-fill);color:var(--text-on-action)}
.btn-fill:hover{background:var(--action-fill-hover);color:var(--text-on-action)}
.btn-outline{border-color:var(--action-outline);color:var(--link);background:transparent}
.btn-outline:hover{border-color:var(--link-hover);color:var(--link-hover)}
.btns{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- concept bar + notes panel ---------- */
.concept-bar{background:var(--bg-band);color:var(--text-on-band)}
.concept-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:var(--bar-h);padding:8px var(--gutter);background:transparent;border:0;cursor:pointer;font-size:13px;font-weight:600;line-height:1.3;text-align:center;transition:background-color var(--dur-hover) var(--ease-out)}
.concept-btn:hover{background:var(--ink-900)}
.concept-btn .ico{color:var(--link-on-dark)}
.concept-btn span{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--link-on-dark)}

.notes{position:fixed;inset:0 0 0 auto;margin:0;width:min(560px,100%);height:100dvh;max-height:none;max-width:none;border:0;padding:0;background:var(--bg-page);color:var(--text);box-shadow:var(--shadow-sheet);overflow:hidden;display:none;flex-direction:column}
.notes[open]{display:flex;animation:sheetIn var(--dur-surface) var(--ease-out)}
.notes::backdrop{background:var(--scrim)}
@keyframes sheetIn{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}
.notes-head{display:flex;align-items:center;justify-content:space-between;padding:14px 24px 12px;border-bottom:1px solid var(--rule)}
.notes-head .ov{margin:0}
.notes-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-btn);border:2px solid var(--border-strong);background:transparent;color:var(--text);cursor:pointer;transition:background-color var(--dur-hover) var(--ease-out),border-color var(--dur-hover) var(--ease-out)}
.notes-close:hover{background:var(--bg-surface);border-color:var(--text)}
.notes-body{overflow-y:auto;padding:24px 24px 40px;overscroll-behavior:contain}
.notes-body h2{margin-bottom:8px}
.notes-lead{color:var(--text-muted);max-width:52ch}
.fixes{list-style:none;counter-reset:fix;margin-top:28px}
.fixes li{counter-increment:fix;position:relative;padding:16px 0 16px 40px;border-top:1px solid var(--rule);font-size:14.5px;line-height:1.5}
.fixes li:last-child{border-bottom:1px solid var(--rule)}
.fixes li::before{content:counter(fix);position:absolute;left:0;top:18px;width:26px;height:26px;border-radius:50%;background:var(--bg-surface);border:1px solid var(--border);color:var(--link);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.fixes b{display:inline-block;min-width:52px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-right:6px}
.fixes .after b{color:var(--link)}
.fixes .before{color:var(--text-muted)}
.fixes .after{margin-top:6px}
.notes-h3{margin-top:32px}
.notes-note{font-size:13.5px;color:var(--text-muted);margin-top:6px}
.swatches{list-style:none;margin-top:14px;display:grid;gap:8px}
.swatches li{display:grid;grid-template-columns:22px auto 16px 22px auto minmax(0,1fr);align-items:center;gap:8px;font-size:12.5px;color:var(--text-muted)}
.swatches code{font-size:12px;color:var(--text)}
.swatches .sw{width:22px;height:22px;border-radius:6px;background:var(--c);border:1px solid var(--border)}
.swatches .to{width:16px;height:2px;background:var(--rule);position:relative}
.swatches .to::after{content:"";position:absolute;right:-1px;top:-3px;width:6px;height:6px;border-top:2px solid var(--rule);border-right:2px solid var(--rule);transform:rotate(45deg)}
.swatches .why{padding-left:6px}
.credit{margin-top:32px;padding-top:16px;border-top:1px solid var(--rule);font-size:13.5px;font-weight:600;color:var(--text)}

/* ---------- header ---------- */
.hdr{position:relative;z-index:6;background:var(--bg-hero);color:var(--text-on-hero);padding:0 var(--gutter)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--hdr-h)}
.skip,.skip:hover{position:absolute;left:var(--gutter);top:-100px;z-index:10;padding:10px 14px;border-radius:var(--r-btn);background:var(--action-fill-on-dark);color:var(--text-on-action-on-dark);font-weight:700;font-size:14px;text-decoration:none}
.skip:focus{top:12px}
.logo,.logo:hover{display:inline-flex;text-decoration:none;color:var(--text-on-hero);--logo-mk:var(--helix-node-tool)} /* the wordmark paths use currentColor, the mark paths use --logo-mk: both survive the <use> clone */
.logo svg{height:28px;width:auto}
.nav ul{list-style:none;display:flex;gap:28px}
.nav a{color:var(--text-on-hero-muted);text-decoration:none;font-weight:600;font-size:14px;transition:color var(--dur-hover) var(--ease-out)}
.nav a:hover{color:var(--text-on-hero)}
.menu-btn{display:none;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--r-btn);border:2px solid var(--outline-on-dark-rest);background:transparent;color:var(--text-on-hero);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.menu-btn[aria-expanded="true"]{border-color:var(--action-outline-on-dark)}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--bg-hero);color:var(--text-on-hero);padding:0 var(--gutter)}
.hero .glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(52% 58% at 72% 50%,var(--bg-hero-glow) 0%,transparent 72%);opacity:.32;transition:opacity 500ms var(--ease-out)}
.hero.lit .glow{opacity:.5}
.hero-in{position:relative;padding:24px 0 40px;min-height:calc(100svh - var(--bar-h) - var(--hdr-h));display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;column-gap:24px}
.txt{position:relative;z-index:2;max-width:620px}
.eyebrow{margin-bottom:18px;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--helix-node)}
h1{font-size:clamp(1.9rem,3vw,2.75rem);line-height:1.08;font-weight:800;letter-spacing:-.02em;color:var(--text-on-hero)}
.mask{display:block;overflow:hidden;padding:.06em .06em .1em 0;margin:-.06em 0 -.1em}
.line{display:inline-block;will-change:transform,opacity,filter}
.sub{margin-top:22px;font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.5;color:var(--text-on-hero-muted);max-width:46ch}
.hero .btns{margin-top:28px}

.art{position:relative;z-index:1;height:min(calc(100svh - var(--bar-h) - var(--hdr-h) - 64px),760px);min-height:520px}
#helix{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}
#helix.grabbing{cursor:grabbing}
.poster{position:absolute;inset:0;width:100%;height:100%;display:none}
.poster .s1{stroke:var(--helix-strand);opacity:.35}
.poster .s2{stroke:var(--helix-strand)}
.poster .n{fill:var(--helix-node)}
html.no-js .poster{display:block}
html.no-js #helix,html.no-js .tip,html.no-js .hint{display:none}
.tip{position:absolute;left:0;top:0;z-index:3;pointer-events:none;visibility:hidden;opacity:0;transition:opacity var(--dur-popover) var(--ease-out),visibility 0s var(--dur-popover);white-space:nowrap;padding:9px 13px;border-radius:var(--r-tip);background:var(--tip-bg);backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);border:1px solid var(--tip-border);border-top-color:var(--tip-border-top);color:var(--helix-label);font-size:13.5px;line-height:1.2;will-change:transform}
.tip.show{visibility:visible;transition:opacity var(--dur-popover) var(--ease-out)}
.tip b{display:block;font-weight:700}
.tip span{display:block;color:var(--helix-count);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-top:4px}
@media(prefers-reduced-transparency:reduce){.tip{background:var(--bg-hero);backdrop-filter:none;-webkit-backdrop-filter:none}}
.hint{position:absolute;left:50%;bottom:0;transform:translateX(-50%);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-on-hero-muted);white-space:nowrap}
@media(pointer:coarse){.hint{display:none}}

/* The index list stays in the DOM, visually hidden: the keyboard and screen-reader path. Focusing a link turns the helix and shows its label. */
.index{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.index ul{list-style:none}
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid var(--chip-border);color:var(--chip-text);font-size:12.5px;font-weight:600;text-decoration:none;line-height:1;white-space:nowrap}
.chip:hover,.chip.on{border-color:var(--chip-border-hover);background:var(--chip-bg-hover);color:var(--chip-text-hover)}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--helix-node)}
.chip.tool::before{width:8px;height:8px;background:var(--helix-node-tool)}
.chip.on::before{box-shadow:0 0 0 4px var(--node-ring)}

/* ---------- intro choreography (CSS, off the main thread) ---------- */
.line{transform:translateY(112%);opacity:0;filter:blur(6px);animation:rise .95s var(--ease-out) forwards;animation-delay:var(--d,0ms)}
@keyframes rise{to{transform:none;opacity:1;filter:blur(0)}}
.fade{opacity:0;transform:translateY(10px);animation:fadeUp .8s var(--ease-out) forwards;animation-delay:var(--d,0ms)}
@keyframes fadeUp{to{opacity:1;transform:none}}
.hdr-in{opacity:0;animation:fadeIn .6s var(--ease-out) forwards}
@keyframes fadeIn{to{opacity:1}}

/* ---------- sections on paper ---------- */
.tools,.explore{padding:88px var(--gutter)}
.cards{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px}
.card{display:flex;flex-direction:column;gap:12px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--r-card);padding:26px 26px 24px;box-shadow:var(--shadow-card)}
.card p{font-size:14.5px;line-height:1.55;color:var(--text-muted)}
.card-link{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--link);text-decoration:none;padding-top:4px}
.card-link:hover{color:var(--link-hover);text-decoration:underline}
.card-link .ico{transition:transform var(--dur-hover) var(--ease-out)}
.card-link:hover .ico{transform:translateX(3px)}
.report .meta{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-muted)}
.report .meta .ico{color:var(--text-subtle)}
.report h3{font-size:16.5px}
.report h3 a{color:var(--text);text-decoration:none}
.report h3 a:hover{color:var(--link);text-decoration:underline}
.abs{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden}
.abs p + p{margin-top:8px}
.explore .btns{margin-top:36px}

/* ---------- quiz band ---------- */
.quiz{background:var(--bg-quiz);color:var(--text-on-quiz);padding:72px var(--gutter)}
.quiz-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px 64px;align-items:start}
.quiz .ov{color:var(--quiz-number)}
.quiz h2{font-size:clamp(1.35rem,2.1vw,1.75rem);max-width:24ch}
.q-form{display:flex;flex-direction:column;gap:14px;padding-top:4px}
.q-label{font-size:13px;font-weight:600;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}
.q-slider{display:flex;align-items:center;gap:12px}
.q-end{font-size:13px;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:2ch;text-align:center}
input[type=range]{flex:1;width:100%;height:32px;margin:0;background:transparent;accent-color:var(--quiz-number);cursor:pointer;-webkit-appearance:none;appearance:none}
input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:var(--quiz-rail)}
input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:var(--quiz-rail)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;margin-top:-10px;border-radius:50%;background:var(--quiz-number);border:3px solid var(--bg-quiz);box-shadow:0 0 0 1px var(--quiz-number)}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--quiz-number);border:3px solid var(--bg-quiz);box-shadow:0 0 0 1px var(--quiz-number)}
input[type=range]:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;border-radius:var(--r-input)}
.q-out{font-size:28px;line-height:1.1;font-weight:800;color:var(--quiz-number);font-variant-numeric:tabular-nums}
.q-form .btn{align-self:flex-start}
.q-answer[hidden]{display:none}
.q-answer{margin-top:6px;padding-top:18px;border-top:1px solid var(--apricot-200);display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.q-feedback{font-weight:700}
.q-big{font-size:22px;line-height:1.3;font-weight:600}
.q-big strong{color:var(--quiz-number);font-weight:800}
.q-more{color:var(--text-muted)}
.q-answer .btn{margin-top:4px}

/* ---------- footer ---------- */
.footer{background:var(--bg-band);color:var(--text-on-band)}
.foot-main{padding:64px var(--gutter) 56px}
.foot-in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:40px}
.foot-brand .logo,.foot-brand .logo:hover{color:var(--text-on-band);--logo-mk:var(--link-on-dark)}
.foot-brand .logo svg{height:36px}
.tagline{margin-top:14px;font-size:14px;color:var(--text-on-hero-muted)}
.foot-nav ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.foot-nav a{color:var(--link-on-dark);text-decoration:none;font-weight:600;font-size:15px}
.foot-nav a:hover{color:var(--text-on-band);text-decoration:underline}
.rights{background:var(--bg-footer);color:var(--text-on-footer);padding:0 var(--gutter)}
.rights-in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.ceps,.ceps:hover{display:inline-flex;align-items:center;gap:12px;color:var(--text-on-footer);text-decoration:none}
.ceps-txt{display:flex;flex-direction:column;text-align:right;gap:2px}
.ceps-url{color:var(--link-on-dark)}
.ceps:hover .ceps-url{text-decoration:underline}
.ceps img{width:40px;height:40px;border-radius:4px}

/* ---------- responsive ---------- */
@media(max-width:1024px){
  .foot-in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .foot-brand{grid-column:1 / -1}
}
@media(max-width:860px){
  .hero-in{grid-template-columns:minmax(0,1fr);min-height:0;padding-top:20px;padding-bottom:0;row-gap:4px}
  h1{font-size:clamp(1.9rem,7.4vw,2.6rem)}
  .txt{max-width:none}
  .art{height:min(58vh,520px);min-height:380px;margin:0 calc(var(--gutter) * -1)}
  .hero .glow{background:radial-gradient(60% 40% at 50% 74%,var(--bg-hero-glow) 0%,transparent 72%)}
  .cards{grid-template-columns:minmax(0,1fr)}
  .quiz-in{grid-template-columns:minmax(0,1fr)}
  .tools,.explore{padding-top:64px;padding-bottom:64px}
  .quiz{padding-top:56px;padding-bottom:56px}
}
@media(max-width:720px){
  :root{--hdr-h:64px}
  .menu-btn{display:inline-flex}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg-hero);padding:4px var(--gutter) 20px;box-shadow:var(--shadow-card)}
  .nav.open{display:block}
  .nav ul{flex-direction:column;gap:0}
  .nav a{display:block;padding:12px 0;font-size:16px}
  .concept-btn{font-size:12.5px;padding-left:16px;padding-right:16px}
  .hero .btns{gap:10px}
  .hero .btn{font-size:14px;padding:12px 16px;flex:1 1 auto}
  .foot-in{grid-template-columns:minmax(0,1fr);gap:32px}
  .foot-main{padding-top:48px}
  .rights-in{flex-direction:column;align-items:flex-start;gap:14px}
  .ceps-txt{text-align:left}
}
@media(max-width:400px){
  .hero .btn{white-space:normal;text-align:center}
}

/* ---------- reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .line,.fade,.hdr-in{animation:none;opacity:1;transform:none;filter:none}
  .notes[open]{animation:none}
  .btn,.card-link .ico,.tip,.hero .glow,.chip,.nav a,.concept-btn,.notes-close{transition:none}
}
