/* ── Forever Still Studio — shared chrome for the email storefront ──────────
 *
 * The rest of this site inlines its CSS per page. These five pages (/email,
 * the setup wizard, the order page, and the two admin screens) share the same
 * nav, footer, form fields, and wizard rail, so the shared parts live here
 * once instead of being copied five times and drifting.
 *
 * Every value below traces to DESIGN.md. No new colours, no new type sizes,
 * and nothing below the documented 11px floor.
 * ------------------------------------------------------------------------- */

@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:300;font-display:swap;src:url('/fonts/cormorant-300.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/cormorant-400.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/cormorant-600.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('/fonts/cormorant-italic-400.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:300;font-display:swap;src:url('/fonts/montserrat-300.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/montserrat-400.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/montserrat-500.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/montserrat-600.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/montserrat-700.woff2') format('woff2')}
@font-face{font-family:'Tangerine';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/tangerine-400.woff2') format('woff2')}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --ink-black:#0e0d0c;
  --bg:#141210; --bg-soft:#191614; --bg-warm:#1e1a16; --bg-raise:#211c17;
  --gold:#C8A96A; --gold-dim:#a8894a; --gold-deep:#7a6228; --gold-soft:rgba(200,169,106,.14);
  --blush:#d4a5a5;
  --brick:#91503f;
  /* No pass-green here on purpose. DESIGN.md scopes that exception to the
     audit widget; status here is carried by gold (done), hairline gold
     (waiting), and blush (trouble) — warm-only, per the palette rule. */
  --text:#F1E9DA; --text-soft:#E3D9C7; --text-muted:#a99e8d;
  --rule:rgba(200,169,106,.26); --rule-soft:rgba(200,169,106,.14);
  --font-display:"Cormorant Garamond",Georgia,serif;
  --font-sans:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --font-script:"Tangerine","Cormorant Garamond",cursive;
  --max-w:1180px; --gutter:clamp(22px,5vw,64px);
  --ease:cubic-bezier(.16,1,.3,1);
}

html{scroll-behavior:smooth;overflow-x:clip}
body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:17px;line-height:1.75;font-weight:300;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.5;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E")}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--gold);color:#141210}

.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter);position:relative;z-index:2}
.container--narrow{max-width:880px}

.skiplink{position:absolute;left:-9999px;top:0;z-index:999;background:var(--gold);color:#141210;padding:10px 18px;font-family:var(--font-sans);font-size:12px;font-weight:600;letter-spacing:.1em}
.skiplink:focus{left:0}

/* ── Nav (shared with the studio site) ─────────────────────────────────── */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:17px 0;transition:background .25s var(--ease),border-color .25s var(--ease);border-bottom:1px solid transparent}
.nav.scrolled{background:rgba(15,13,12,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--rule-soft)}
.nav__in{display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:13px}
.brand__mark{height:46px;width:auto;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));transition:transform .25s var(--ease);transform-origin:left center}
.nav.scrolled .brand__mark{transform:scale(.87)}
.brand__name{font-family:var(--font-display);font-size:23px;color:var(--text);line-height:1}
.brand__sub{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-top:4px}
.nav__links{display:flex;align-items:center;gap:32px}
.nav__links a{font-family:var(--font-sans);font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);transition:color .25s;position:relative}
.nav__links a:not(.nav__cta)::after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.nav__links a:not(.nav__cta):hover{color:var(--gold)}
.nav__links a:not(.nav__cta):hover::after{transform:scaleX(1)}
.nav__links a.active{color:var(--gold)}
.nav__cta{border:1px solid var(--gold);color:var(--gold)!important;padding:11px 20px;transition:background .25s,color .25s}
.nav__cta:hover{background:var(--gold);color:#141210!important}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:11px;min-width:44px;min-height:44px;align-items:center}
.burger span{width:26px;height:1.5px;background:var(--gold);transition:transform .3s var(--ease),opacity .3s var(--ease)}
.burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mobilemenu{position:fixed;inset:0;z-index:99;background:rgba(14,13,12,.98);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;opacity:0;pointer-events:none;transform:scale(.98);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.mobilemenu.open{opacity:1;pointer-events:auto;transform:scale(1)}
.mobilemenu a{font-family:var(--font-display);font-size:34px;color:var(--text-soft);padding:8px}
.mobilemenu a:hover{color:var(--gold)}
.mobilemenu .mm-small{font-family:var(--font-sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-top:20px}

/* ── Type helpers ──────────────────────────────────────────────────────── */
.eyebrow{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}
.eyebrow--c{display:inline-flex;align-items:center;gap:14px}
.rule-sm{width:54px;height:1px;background:linear-gradient(90deg,var(--gold),var(--blush));margin:0 auto 26px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ── Buttons ───────────────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:16px 30px;border:1px solid currentColor;border-radius:0;cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease),opacity .3s var(--ease);min-height:44px}
.btn--primary{background:var(--gold);color:#141210;border-color:var(--gold)}
.btn--primary:hover:not(:disabled){background:var(--text);border-color:var(--text)}
.btn--ghost{background:transparent;color:var(--text);border-color:var(--rule)}
.btn--ghost:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}
.btn--quiet{background:transparent;color:var(--text-muted);border-color:transparent;padding:12px 16px;letter-spacing:.14em}
.btn--quiet:hover:not(:disabled){color:var(--gold)}
.btn--sm{font-size:11px;padding:10px 16px;letter-spacing:.12em}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn-row--split{justify-content:space-between}

/* ── Form fields ───────────────────────────────────────────────────────── */
.field{display:flex;flex-direction:column;gap:7px}
.field > label,.field-legend{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.field input,.field textarea,.field select{background:var(--bg-soft);border:1px solid var(--rule-soft);color:var(--text);font-family:var(--font-sans);font-size:15px;font-weight:300;padding:13px 15px;outline:none;width:100%;border-radius:0;transition:border-color .25s ease;appearance:none;-webkit-appearance:none}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--gold)}
.field input::placeholder,.field textarea::placeholder{color:var(--text-muted);opacity:.65}
.field textarea{resize:vertical;min-height:110px;line-height:1.7}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"],.field select[aria-invalid="true"]{border-color:var(--blush)}
.field__hint{font-size:12.5px;color:var(--text-muted);line-height:1.65}
.field__error{font-size:12.5px;color:var(--blush);line-height:1.6;min-height:0}
.field__error:empty{display:none}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}
.field-grid .span-2{grid-column:span 2}
.select-wrap{position:relative}
.select-wrap select{padding-right:38px;cursor:pointer}
.select-wrap::after{content:'';position:absolute;right:15px;top:50%;transform:translateY(-50%);pointer-events:none;width:11px;height:7px;background:var(--gold);clip-path:polygon(0 0,100% 0,50% 100%)}
.select-wrap select option{background:var(--bg-soft);color:var(--text)}

/* Choice rows (radio / checkbox) — the whole row is the target, 44px min */
.choice{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--rule-soft);background:var(--bg-soft);cursor:pointer;transition:border-color .25s ease,background .25s ease;min-height:44px}
.choice:hover{border-color:var(--rule)}
.choice:focus-within{border-color:var(--gold)}
.choice input{width:16px;height:16px;flex-shrink:0;margin-top:4px;accent-color:var(--gold);cursor:pointer;appearance:auto;-webkit-appearance:auto;padding:0}
.choice__text{font-size:14.5px;color:var(--text-soft);line-height:1.6}
.choice__text strong{display:block;color:var(--text);font-weight:500}
.choice__text span{display:block;font-size:12.5px;color:var(--text-muted);margin-top:2px}
.choice.is-on{border-color:var(--gold);background:var(--bg-warm)}
.choice-stack{display:flex;flex-direction:column;gap:10px}

/* ── Panels + notices ──────────────────────────────────────────────────── */
.panel{background:var(--bg-soft);border:1px solid var(--rule-soft);padding:clamp(24px,4vw,44px)}
.panel--warm{background:var(--bg-warm)}
.notice{border-left:2px solid var(--gold);background:var(--bg-soft);padding:14px 18px;font-size:13.5px;color:var(--text-muted);line-height:1.75}
.notice strong{color:var(--text-soft)}
.notice--flag{border-left-color:var(--blush)}
.notice--ok{border-left-color:var(--gold);background:var(--bg-warm)}
.placeholder-flag{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--blush);border:1px solid rgba(212,165,165,.4);background:rgba(212,165,165,.06);padding:7px 12px}

/* ── Wizard rail ───────────────────────────────────────────────────────── */
.rail{max-width:820px;margin:0 auto}
.rail__inner{display:flex;align-items:flex-start;justify-content:space-between;position:relative}
.rail__line{position:absolute;top:19px;left:20px;right:20px;height:1px;background:var(--rule-soft);z-index:0}
.rail__step{display:flex;flex-direction:column;align-items:center;gap:8px;z-index:1;flex:1}
.rail__circle{width:40px;height:40px;background:var(--bg-soft);border:1px solid var(--rule-soft);display:flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:13px;font-weight:500;color:var(--text-muted);transition:background .25s,border-color .25s,color .25s}
.rail__step.is-active .rail__circle{background:var(--gold);border-color:var(--gold);color:#141210;font-weight:600}
.rail__step.is-done .rail__circle{background:var(--gold-deep);border-color:var(--gold-deep);color:var(--text)}
.rail__label{font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;transition:color .25s}
.rail__step.is-active .rail__label,.rail__step.is-done .rail__label{color:var(--gold)}

.step-panel{display:none}
.step-panel.is-active{display:block}
.step-head{margin-bottom:32px}
.step-head__eyebrow{display:block;font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.step-head__title{font-family:var(--font-display);font-size:clamp(1.9rem,3.4vw,2.6rem);font-weight:400;color:var(--text);line-height:1.1;margin-bottom:14px}
.step-head__rule{width:48px;height:1px;background:var(--gold);opacity:.55}
.step-head p{font-size:15px;color:var(--text-soft);line-height:1.8;margin-top:14px;max-width:60ch}

/* ── Summary rows ──────────────────────────────────────────────────────── */
.summary{border-top:1px solid var(--rule-soft)}
.summary__row{display:grid;grid-template-columns:minmax(140px,32%) 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--rule-soft);font-size:14.5px;align-items:baseline}
.summary__key{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}
.summary__val{color:var(--text-soft);line-height:1.7;word-break:break-word}
.summary__row--total .summary__val{font-family:var(--font-display);font-size:1.5rem;color:var(--gold)}

/* ── Status pills ──────────────────────────────────────────────────────── */
.pill{display:inline-block;font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border:1px solid var(--rule-soft);color:var(--text-muted);white-space:nowrap}
.pill--good{background:var(--gold);border-color:var(--gold);color:#141210}
.pill--wait{border-color:var(--rule);color:var(--gold)}
.pill--bad{border-color:rgba(212,165,165,.45);color:var(--blush)}

/* ── Footer ────────────────────────────────────────────────────────────── */
footer{background:var(--ink-black);border-top:1px solid var(--rule-soft);padding:78px 0 44px;text-align:center;position:relative;z-index:2}
.fam{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 26px;margin:26px 0 44px}
.fam a{font-family:var(--font-sans);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);transition:color .25s}
.fam a:hover{color:var(--gold)}
.foot__mark{height:78px;width:auto;margin:0 auto 18px;object-fit:contain;filter:drop-shadow(0 3px 10px rgba(0,0,0,.5))}
.foot__name{font-family:var(--font-display);font-size:clamp(2rem,3.6vw,2.8rem);color:var(--gold)}
.foot__tag{font-family:var(--font-script);font-size:2.2rem;color:var(--text-soft);margin-top:2px;line-height:1}
.foot__links{margin-top:28px;font-family:var(--font-sans);font-size:12px;letter-spacing:.06em}
.foot__links a{color:var(--gold);transition:color .2s}
.foot__links a:hover{color:var(--blush)}
.foot__small{font-size:12px;color:var(--text-muted);margin-top:26px;line-height:1.9;letter-spacing:.02em}
.foot__small a{color:var(--gold)}

/* ── Focus visibility ──────────────────────────────────────────────────── */
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ── Responsive ────────────────────────────────────────────────────────── */
@media (max-width:1000px){
  .nav__links{display:none}
  .burger{display:flex}
}
@media (max-width:768px){
  .field-grid{grid-template-columns:1fr}
  .field-grid .span-2{grid-column:span 1}
  .rail__label{display:none}
  .rail__line{left:10px;right:10px}
  .summary__row{grid-template-columns:1fr;gap:4px}
  .btn{width:100%}
  .btn-row{flex-direction:column-reverse;align-items:stretch}
  .btn-row--split{flex-direction:column-reverse}
}
@media (max-width:640px){
  body{font-size:16px}
  .brand__sub{display:none}
  .brand__name{font-size:21px}
}

/* ── Time-of-day palette (matches the rest of the site) ────────────────── */
html[data-time="morning"]{--bg:#17130f;--bg-soft:#1e1814;--bg-warm:#251d16;--bg-raise:#2a2119}
html[data-time="afternoon"]{--bg:#141210;--bg-soft:#1a1613;--bg-warm:#201a15;--bg-raise:#231c17}
html[data-time="evening"]{--bg:#15100a;--bg-soft:#1c150c;--bg-warm:#231a10;--bg-raise:#271d13}
html[data-time="night"]{--bg:#0f0e11;--bg-soft:#141318;--bg-warm:#19181e;--bg-raise:#1d1b22}
body{transition:background-color 1.6s ease}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition-duration:.15s!important;transition-property:color,background-color,border-color,opacity!important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
  body{transition:none}
}
