/* =====================================================================
   WiseGai — shared site styles (preview build, Oct 2026)
   Tokens, base, navigation, buttons, forms, sheet, footer, page shells,
   tool UI and article prose. Page-specific motion lives on each page.
   ===================================================================== */
:root{
  --ink:#0A0E16; --ink-2:#0D1320; --navy:#10233F; --ivory:#F3EFE6;
  --brass:#C9A45C; --graphite:#8B93A3; --sub:#A3ABBA;
  --line:rgba(243,239,230,.1); --line-2:rgba(243,239,230,.18);
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --sans:"Geist",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --spring:cubic-bezier(.22,1.18,.36,1);
  --ease:cubic-bezier(.65,0,.35,1);
  --gut:clamp(16px,4vw,56px);
  --mark-bg:#0A0E16;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{overflow-x:clip}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--ivory);font:400 16px/1.6 var(--sans)}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.045;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
::selection{background:var(--ivory);color:var(--ink)}
a{color:inherit}
img,svg,canvas,video{display:block;max-width:100%}
h1,h2,h3,h4,p{margin:0}
em{font-style:italic}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--ivory);outline-offset:3px;border-radius:6px}
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--ivory);color:var(--ink);padding:10px 14px;border-radius:10px;font-weight:500;text-decoration:none}
.skip:focus{top:12px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eyebrow{font:500 .72rem/1.3 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--graphite)}
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--gut)}
.wrap-narrow{max-width:820px;margin:0 auto;padding:0 var(--gut)}
.sec-title{font:400 clamp(2.3rem,5.2vw,4.6rem)/1 var(--serif);letter-spacing:-.012em;margin-top:14px}
.lede{color:var(--sub);font-size:clamp(1rem,1.25vw,1.12rem);max-width:58ch;margin-top:18px}
.lede a{color:var(--ivory)}
.ph-tag{font:500 .7rem/1.45 var(--mono);color:var(--graphite);letter-spacing:.04em}
.section{padding:clamp(100px,15vh,170px) 0}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 22px;border-radius:999px;border:1px solid transparent;font:500 .94rem/1 var(--sans);letter-spacing:-.005em;text-decoration:none;cursor:pointer;transition:transform .5s var(--spring),background-color .3s,border-color .3s,color .3s;white-space:nowrap;background:none}
.btn:active{transform:scale(.97)}
.btn-brass{background:var(--brass);color:var(--ink)}
.btn-brass:hover{background:#D6B571}
.btn-ivory{background:var(--ivory);color:var(--ink)}
.btn-ghost{border-color:var(--line-2);color:var(--ivory);background:rgba(243,239,230,.02)}
.btn-ghost:hover{border-color:rgba(243,239,230,.4);background:rgba(243,239,230,.06)}
.btn .arr{transition:transform .5s var(--spring)}
.btn:hover .arr{transform:translateX(3px)}
.btn-sm{min-height:40px;padding:0 16px;font-size:.86rem}
.btn[disabled]{opacity:.5;cursor:default}
.cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.link{color:var(--ivory);text-decoration:none;border-bottom:1px solid var(--line-2);padding-bottom:2px;transition:border-color .2s}
.link:hover{border-color:var(--ivory)}

/* ---------- brand ---------- */
.brand{display:inline-flex;align-items:center;gap:8px;font:600 1.12rem/1 var(--sans);letter-spacing:-.04em;color:var(--ivory);text-decoration:none;padding:6px 4px;border-radius:10px}
.brand svg{width:36px;height:36px;margin:-8px -6px -8px -8px;color:var(--ivory);overflow:visible}

/* ---------- nav ---------- */
.nav{position:fixed;z-index:60;top:12px;left:50%;transform:translateX(-50%);width:min(1200px,calc(100% - 24px));display:flex;align-items:center;gap:12px;padding:7px 7px 7px 12px;border-radius:18px;background:rgba(11,16,26,.62);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);border:1px solid rgba(243,239,230,.08);box-shadow:0 10px 40px -20px rgba(0,0,0,.6);transition:transform .6s var(--spring)}
.nav.hide{transform:translate(-50%,-150%)}
.nav-links{display:flex;gap:2px;margin-left:auto}
.nav-links a{color:#AEB5C2;font-size:.88rem;padding:10px 13px;border-radius:11px;text-decoration:none;transition:color .2s,background-color .2s}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--ivory);background:rgba(243,239,230,.06)}
.menu-btn{display:none;width:42px;height:42px;border-radius:12px;border:1px solid var(--line-2);background:transparent;cursor:pointer;position:relative}
.menu-btn i,.menu-btn i::before{position:absolute;left:12px;right:12px;height:1.5px;background:var(--ivory);border-radius:2px;transition:transform .4s var(--spring),top .4s var(--spring)}
.menu-btn i{top:16px}.menu-btn i::before{content:"";left:0;right:0;top:8px}
.menu-open .menu-btn i{top:20px;transform:rotate(45deg)}
.menu-open .menu-btn i::before{top:0;transform:rotate(-90deg)}
@media (max-width:860px){.nav-links{display:none}.nav .btn{margin-left:auto}.menu-btn{display:block}}
.menu{position:fixed;inset:0;z-index:55;background:rgba(10,14,22,.96);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:96px var(--gut) 40px;display:flex;flex-direction:column;gap:6px;opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s}
.menu-open .menu{opacity:1;visibility:visible;transition:opacity .35s}
.menu a{font:400 2.4rem/1.15 var(--serif);text-decoration:none;color:var(--ivory);padding:6px 0;transform:translateY(10px);opacity:0;transition:transform .6s var(--spring),opacity .4s}
.menu-open .menu a{transform:none;opacity:1}
.menu-open .menu a:nth-child(2){transition-delay:.04s}.menu-open .menu a:nth-child(3){transition-delay:.08s}.menu-open .menu a:nth-child(4){transition-delay:.12s}.menu-open .menu a:nth-child(5){transition-delay:.16s}.menu-open .menu a:nth-child(6){transition-delay:.2s}
.menu .menu-foot{margin-top:auto;color:var(--sub);font-size:.95rem}

/* ---------- breadcrumbs + page hero (inner pages) ---------- */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0;font:500 .7rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--graphite)}
.crumbs a{color:var(--graphite);text-decoration:none}
.crumbs a:hover{color:var(--ivory)}
.crumbs li+li::before{content:"/";margin-right:8px;opacity:.5}
.page-hero{position:relative;padding:clamp(130px,20vh,190px) 0 clamp(36px,6vh,64px);overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 70% at 75% 0%,#10223D 0%,transparent 60%);pointer-events:none}
.page-hero .wrap,.page-hero .wrap-narrow{position:relative}
.page-hero h1{font:400 clamp(2.6rem,6vw,5.4rem)/.98 var(--serif);letter-spacing:-.015em;margin-top:18px;max-width:16ch}
.page-hero .lede{font-size:clamp(1.05rem,1.4vw,1.2rem)}
.meta-row{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:22px;font:500 .7rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--graphite)}

/* ---------- cards + panels ---------- */
.panel{border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,rgba(16,35,63,.28),rgba(16,35,63,.06));padding:clamp(20px,3vw,34px)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:900px){.grid-3{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.grid-2,.grid-3{grid-template-columns:1fr}}
.card-link{display:flex;flex-direction:column;gap:10px;text-decoration:none;border:1px solid var(--line);border-radius:22px;padding:22px;background:linear-gradient(180deg,rgba(16,35,63,.22),rgba(16,35,63,.04));transition:border-color .3s,transform .6s var(--spring);min-height:180px}
.card-link:hover{border-color:rgba(243,239,230,.32);transform:translateY(-3px)}
.card-link .tag{font:500 .64rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--graphite)}
.card-link h3{font:400 1.7rem/1.05 var(--serif)}
.card-link p{color:var(--sub);font-size:.92rem;line-height:1.5}
.card-link .go{margin-top:auto;font-size:.86rem;display:flex;gap:8px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;border:1px solid var(--line-2);border-radius:999px;padding:6px 11px;color:var(--sub)}

/* ---------- forms ---------- */
.field{display:grid;gap:7px;margin-top:14px}
.field label,.field legend{font:500 .68rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--graphite);padding:0}
.input,.field input,.field textarea,.field select{width:100%;font:400 1rem/1.4 var(--sans);color:var(--ivory);background:rgba(243,239,230,.05);border:1px solid var(--line-2);border-radius:13px;padding:13px 14px;transition:border-color .2s,background-color .2s}
.input:focus,.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--ivory);background:rgba(243,239,230,.08)}
fieldset.field{border:0;margin:0;padding:0;margin-top:4px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.chip span{display:inline-flex;align-items:center;min-height:40px;padding:0 15px;border-radius:999px;border:1px solid var(--line-2);font-size:.9rem;color:var(--sub);transition:all .25s}
.chip input:checked+span{background:var(--ivory);border-color:var(--ivory);color:var(--ink)}
.chip input:focus-visible+span{outline:2px solid var(--ivory);outline-offset:2px}

/* ---------- sheet (start a project) ---------- */
.sheet{border:0;padding:0;margin:0;background:transparent;color:var(--ivory);width:100%;max-width:none;height:100%;max-height:none;inset:0}
.sheet[open]{display:grid}
.sheet::backdrop{background:rgba(4,6,10,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.sheet-panel{align-self:end;justify-self:center;width:100%;max-width:560px;max-height:92svh;overflow:auto;background:rgba(14,20,32,.9);-webkit-backdrop-filter:blur(28px) saturate(1.4);backdrop-filter:blur(28px) saturate(1.4);border:1px solid rgba(243,239,230,.1);border-radius:28px 28px 0 0;padding:10px 22px calc(24px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .6s var(--spring)}
.sheet.in .sheet-panel{transform:none}
@media (min-width:700px){
  .sheet-panel{align-self:center;border-radius:28px;padding:10px 28px 28px;opacity:0;transform:translateY(30px) scale(.97);transition:transform .6s var(--spring),opacity .35s}
  .sheet.in .sheet-panel{opacity:1;transform:none}
}
.grab{width:38px;height:5px;border-radius:9px;background:rgba(243,239,230,.22);margin:0 auto 14px}
.sheet-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.sheet-head svg{width:40px;height:40px;color:var(--ivory);overflow:visible;--mark-bg:#0E1420}
.sheet-head h2{font:400 1.9rem/1 var(--serif)}
.sheet-sub{color:var(--sub);font-size:.92rem;margin-bottom:6px}
.x{margin-left:auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-2);background:transparent;color:var(--ivory);display:grid;place-items:center;cursor:pointer}
.x svg{width:14px;height:14px}
.sheet .btn-brass{width:100%;margin-top:22px}
.f-status{min-height:1.4em;margin-top:12px;font:500 .74rem/1.5 var(--mono);color:var(--sub);text-align:center}
.f-status a{color:var(--ivory)}

/* ---------- project planner ---------- */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.field label.chip{font:inherit;letter-spacing:0;text-transform:none;color:inherit;padding:0}
.field{align-content:start}
.pl-grid{align-items:start}

.sheet-panel{max-width:680px}
.sheet-head{align-items:flex-start}
.sheet-head h2{margin-top:4px}
.sheet-sub{margin:6px 0 0}
.planner{position:relative;--dir:1}
.pl-rail{list-style:none;margin:8px 0 10px;padding:0;display:flex;justify-content:space-between;gap:6px;font:500 .62rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(139,147,163,.6)}
.pl-rail li{transition:color .3s}
.pl-rail li.done{color:var(--graphite)}
.pl-rail li.on{color:var(--ivory)}
.pl-bar{height:2px;border-radius:2px;background:var(--line);overflow:hidden;margin-bottom:22px}
.pl-bar i{display:block;height:100%;width:0;background:var(--ivory);transition:width .6s var(--spring)}
.pl-steps{display:grid}
.pl-step{grid-area:1/1;border:0;margin:0;padding:0;min-width:0;opacity:0;visibility:hidden;transform:translateX(calc(var(--dir) * 28px));transition:opacity .35s var(--ease),transform .6s var(--spring),visibility 0s .35s}
.pl-step.on{opacity:1;visibility:visible;transform:none;transition:opacity .4s var(--ease) .05s,transform .6s var(--spring),visibility 0s}
.pl-q{font:400 clamp(1.6rem,3vw,2.2rem)/1.05 var(--serif);padding:0;margin:0}
.pl-hint{color:var(--sub);font-size:.92rem;margin-top:8px}
.pl-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px}
.planner-page .pl-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.planner-page .pl-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tile{position:relative;display:block;cursor:pointer}
.tile input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.tile-in{display:grid;grid-template-columns:30px 1fr;column-gap:12px;align-items:center;padding:14px;border-radius:16px;border:1px solid var(--line-2);background:rgba(243,239,230,.03);transition:border-color .25s,background-color .25s,transform .5s var(--spring);min-height:72px}
.tile-in svg{width:28px;height:28px;grid-row:span 2;color:var(--graphite);transition:color .25s}
.tile-in b{font-weight:500;font-size:.95rem;line-height:1.2}
.tile-in small{grid-column:2;color:var(--graphite);font-size:.78rem;line-height:1.35}
.tile:hover .tile-in{border-color:rgba(243,239,230,.35)}
.tile input:checked+.tile-in{border-color:var(--ivory);background:rgba(243,239,230,.09);transform:translateY(-1px)}
.tile input:checked+.tile-in svg{color:var(--ivory)}
.tile input:focus-visible+.tile-in{outline:2px solid var(--ivory);outline-offset:2px}
.tile input:checked+.tile-in::after{content:"";position:absolute;top:12px;right:12px;width:16px;height:16px;border-radius:50%;background:var(--ivory) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M4.5 8.2 7 10.6l4.6-5' fill='none' stroke='%230A0E16' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px no-repeat}
.pl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
@media (max-width:560px){.pl-tiles,.pl-grid{grid-template-columns:1fr}}
.field .lab{font:500 .68rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--graphite)}
.field .opt{text-transform:none;letter-spacing:0;font-family:var(--sans);color:rgba(139,147,163,.7)}
.pl-review{margin:16px 0 0;display:grid;gap:6px}
.pl-row{all:unset;box-sizing:border-box;display:grid;grid-template-columns:130px 1fr auto;gap:12px;align-items:baseline;padding:11px 14px;border-radius:12px;border:1px solid var(--line);cursor:pointer;transition:border-color .2s,background-color .2s}
.pl-row:hover,.pl-row:focus-visible{border-color:rgba(243,239,230,.35);background:rgba(243,239,230,.04)}
.pl-row dt{font:500 .66rem/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--graphite)}
.pl-row dd{margin:0;font-size:.92rem;overflow-wrap:anywhere}
.pl-row span{font-size:.75rem;color:var(--graphite)}
@media (max-width:560px){.pl-row{grid-template-columns:1fr auto}.pl-row dt{grid-column:1/-1}}
.pl-next{margin:18px 0 0}
.pl-next li{color:var(--sub)}
.pl-nav{display:flex;align-items:center;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}
.pl-nav [data-next]{margin-left:auto}
.pl-err{font-size:.86rem;color:#F0C987}
.planner.shake .pl-step.on{animation:shake .4s}
@keyframes shake{20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}
.sheet .pl-nav .btn-brass{width:auto;margin-top:0}

/* ---------- toast ---------- */
.toast{position:fixed;z-index:95;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:rgba(14,20,32,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line-2);border-radius:999px;padding:12px 18px;font-size:.88rem;transition:opacity .3s,transform .5s var(--spring);max-width:calc(100% - 32px)}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--line);padding:56px 0 40px}
.foot-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:28px}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}.foot-grid>:first-child{grid-column:1/-1}}
.foot p{color:var(--sub);font-size:.92rem;margin-top:14px;max-width:36ch}
.foot h4{margin:0 0 12px;font:500 .68rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--graphite)}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot ul a{color:var(--sub);text-decoration:none;font-size:.92rem}
.foot ul a:hover{color:var(--ivory)}
.foot-mail{color:var(--ivory);text-decoration:none;border-bottom:1px solid var(--line-2)}
.foot-base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:48px;padding-top:20px;border-top:1px solid var(--line);font:500 .68rem/1.6 var(--mono);letter-spacing:.06em;color:var(--graphite)}
.foot-base a{color:inherit;text-decoration:none}
.credit{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right;letter-spacing:.1em;text-transform:uppercase;color:var(--sub)}
.credit b{color:var(--ivory);font-weight:500}
.credit small{font-size:.6rem;letter-spacing:.12em;color:var(--graphite)}
.credit small a:hover{color:var(--ivory)}
@media (max-width:700px){.credit{align-items:flex-start;text-align:left}}

/* ---------- closing CTA band (inner pages) ---------- */
.cta-band{margin:clamp(70px,10vh,120px) 0 0;border-top:1px solid var(--line);padding:clamp(70px,10vh,110px) 0;background:radial-gradient(70% 90% at 50% 100%,#10223D 0%,transparent 70%)}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.cta-band h2{font:400 clamp(2.2rem,4.6vw,3.8rem)/1 var(--serif);max-width:18ch}

/* ---------- article prose (guides) ---------- */
.prose{font-size:1.08rem;line-height:1.75;color:#D9D6CE}
.prose>*+*{margin-top:1.1em}
.prose h2{font:400 clamp(1.8rem,3vw,2.4rem)/1.1 var(--serif);color:var(--ivory);margin-top:2em}
.prose h3{font:500 1.15rem/1.3 var(--sans);color:var(--ivory);margin-top:1.8em}
.prose a{color:var(--ivory)}
.prose ul,.prose ol{padding-left:1.2em}
.prose li+li{margin-top:.5em}
.prose strong{color:var(--ivory);font-weight:500}
.prose blockquote{margin:1.6em 0;padding:18px 22px;border-left:2px solid var(--ivory);background:rgba(243,239,230,.04);border-radius:0 14px 14px 0;color:var(--ivory)}
.callout{border:1px solid var(--line-2);border-radius:18px;padding:18px 20px;background:rgba(16,35,63,.3)}
.callout b{display:block;font:500 .7rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--graphite);margin-bottom:6px}
.toc{position:sticky;top:96px;font-size:.88rem}
.toc a{display:block;color:var(--sub);text-decoration:none;padding:6px 0;border-left:1px solid var(--line);padding-left:14px}
.toc a:hover{color:var(--ivory);border-color:var(--ivory)}
.article-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
@media (max-width:900px){.article-grid{grid-template-columns:1fr}.toc{display:none}}

/* ---------- tool UI ---------- */
.tool-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:14px;align-items:start}
@media (max-width:900px){.tool-shell{grid-template-columns:1fr}}
.meter{height:8px;border-radius:9px;background:var(--line);overflow:hidden}
.meter i{display:block;height:100%;width:0;background:var(--ivory);border-radius:9px;transition:width .7s var(--spring)}
.verdict{font:400 clamp(1.5rem,2.4vw,2rem)/1.15 var(--serif);min-height:1.2em}
.flag-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.flag-list li{display:grid;grid-template-columns:22px 1fr;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(243,239,230,.03);animation:pop .45s var(--spring) both}
.flag-list li b{font-weight:500}
.flag-list li span{grid-column:2;font-size:.88rem;color:var(--sub)}
.flag-list li::before{content:"";width:8px;height:8px;margin-top:8px;border-radius:50%;background:var(--ivory)}
@keyframes pop{from{opacity:0;transform:translateY(8px) scale(.98)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}}
.steps{counter-reset:s;list-style:none;margin:0;padding:0;display:grid;gap:10px}
.steps li{counter-increment:s;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start}
.steps li::before{content:counter(s,decimal-leading-zero);font:500 .7rem/2.1 var(--mono);color:var(--graphite)}
.kbd{font:500 .78rem var(--mono);border:1px solid var(--line-2);border-radius:6px;padding:1px 6px}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
