/* =========================================================
   FLIGHT / J.C. Adams — shared design system (RELEASE 1.9)
   One source of truth for every page: tokens, nav, buttons,
   split hero, section type, footer, cursor, reveals.
   ========================================================= */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
img,picture{max-width:100%}
img{height:auto;display:block}
html{scroll-behavior:smooth;overflow-x:hidden;font-size:16px;-webkit-text-size-adjust:100%}
:root{
  /* surfaces */
  --ivory:#F7F2EA;--ivory2:#EFE8DC;--ivory3:#E5DBCC;
  --char:#1A1510;--char2:#221C14;--char3:#2E2418;--char4:#3C3020;
  /* gold — for dark surfaces (matches the cover foil) */
  --gold:#C89031;--gold2:#D9A44C;--gold3:#E8B562;
  /* bronze — for light surfaces (the same metal, deep enough to read on ivory) */
  --bronze:#8A5A1A;--bronze2:#A87226;
  /* text on light */
  --ink:#1A1510;--ink2:#3C3020;--ink3:#5E4E38;--ink4:#7C6A50;
  /* text on dark */
  --cr1:#F2E4C4;--cr2:#C8A870;--cr3:#A88E66;--cr4:#7E6848;
  /* hairlines */
  --ln-l:rgba(138,90,26,.18);--ln-l2:rgba(138,90,26,.32);--fill-l:rgba(138,90,26,.05);
  --ln-d:rgba(200,144,49,.18);--ln-d2:rgba(200,144,49,.34);--fill-d:rgba(200,144,49,.07);
  /* metal gradients */
  --metal-d:linear-gradient(135deg,#B8812A 0%,#E8B562 55%,#C89031 100%);
  --metal-l:linear-gradient(135deg,#7A4E14 0%,#B07A2C 55%,#8A5A1A 100%);
  /* type */
  --serif:'Cinzel',Georgia,serif;--body:'Lora',Georgia,serif;--mono:'DM Mono',ui-monospace,Menlo,monospace;
  --pad-x:6rem;
}
body{background:var(--ivory);color:var(--ink);font-family:var(--body);font-weight:400;line-height:1.75;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--gold);color:var(--char)}

/* ---------- cursor (fine pointers only) ---------- */
#dot{position:fixed;z-index:9999;pointer-events:none;width:6px;height:6px;border-radius:50%;background:var(--gold2);box-shadow:0 0 8px rgba(200,144,49,.5);transform:translate(-50%,-50%);transition:width .2s,height .2s;display:none}
#ring{position:fixed;z-index:9998;pointer-events:none;width:30px;height:30px;border-radius:50%;border:1px solid rgba(200,144,49,.35);transform:translate(-50%,-50%);transition:width .18s ease,height .18s ease,border-color .18s ease;display:none}
html.fine body{cursor:none}
html.fine #dot,html.fine #ring{display:block}
html.fine a,html.fine button,html.fine select,html.fine label{cursor:none}
html.fine input,html.fine textarea{cursor:text}
body.hov #dot{width:11px;height:11px;background:var(--gold)}
body.hov #ring{width:44px;height:44px;border-color:var(--gold2)}

/* ---------- skip link + focus ---------- */
.skip{position:fixed;top:-60px;left:1rem;z-index:1000;background:var(--char);color:var(--cr1);font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;padding:.8rem 1.4rem;text-decoration:none;transition:top .3s}
.skip:focus{top:1rem}
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
.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}

/* ---------- nav ---------- */
nav#nav{position:fixed;top:0;left:0;right:0;z-index:700;padding:1.7rem var(--pad-x);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;transition:padding .45s,background .45s,box-shadow .45s}
nav#nav.s{background:rgba(247,242,234,.96);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:1rem var(--pad-x);box-shadow:0 1px 0 var(--ln-l)}
.nl{display:flex;gap:2.6rem;list-style:none;align-items:center}
.nl-left{justify-content:flex-start}.nl-right{justify-content:flex-end}
.nl a{font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink3);text-decoration:none;transition:color .3s;position:relative;white-space:nowrap}
.nl a:not(.n-cta)::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s}
.nl a:hover{color:var(--ink)}.nl a:not(.n-cta):hover::after{transform:scaleX(1)}
.nl a[aria-current="page"]{color:var(--bronze)}
.n-logo{font-family:var(--serif);font-weight:700;font-size:.82rem;letter-spacing:.26em;text-transform:uppercase;color:var(--bronze2);text-decoration:none;white-space:nowrap;display:flex;align-items:center;gap:.7rem;justify-content:center}
.n-logo svg{width:26px;height:26px;flex:0 0 auto}
.n-cta{display:inline-block;background:var(--char);color:var(--cr1)!important;padding:.72rem 1.5rem;overflow:hidden;isolation:isolate;transition:transform .2s,color .3s}
.n-cta::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--gold);transform:translateY(101%);transition:transform .45s ease}
.n-cta:hover{transform:translateY(-1px);color:var(--char)!important}.n-cta:hover::before{transform:translateY(0)}
/* over a split hero, the right half of the bar sits on charcoal */
@media(min-width:1101px){
  body.split nav#nav:not(.s) .nl-right a:not(.n-cta){color:var(--cr3)}
  body.split nav#nav:not(.s) .nl-right a:not(.n-cta):hover{color:var(--cr1)}
  body.split nav#nav:not(.s) .nl-right a[aria-current="page"]{color:var(--gold2)}
  body.split nav#nav:not(.s) .n-cta{background:transparent;box-shadow:inset 0 0 0 1px var(--ln-d2);color:var(--gold2)!important}
  body.split nav#nav:not(.s) .n-cta:hover{color:var(--char)!important}
  body.split nav#nav:not(.s) .n-logo{color:var(--gold2)}
  body.split.dark-top nav#nav:not(.s) .nl-left a:not(.n-cta){color:var(--cr3)}
}
.n-burger{display:none;background:none;border:none;width:44px;height:44px;position:relative;z-index:801;padding:0;color:var(--ink)}
.n-burger span{display:block;width:22px;height:1.5px;background:currentColor;margin:5px auto;transition:transform .35s,opacity .35s}
.n-burger.x{color:var(--gold2)}
.n-burger.x span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.n-burger.x span:nth-child(2){opacity:0}
.n-burger.x span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
#mmenu{position:fixed;inset:0;z-index:800;background:rgba(26,21,16,.985);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.9rem;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s;padding:5rem 1.5rem 3rem;overflow-y:auto}
#mmenu.open{opacity:1;visibility:visible}
#mmenu a{font-family:var(--serif);font-size:1.25rem;letter-spacing:.26em;text-transform:uppercase;color:var(--cr1);text-decoration:none;opacity:0;transform:translateY(14px);transition:opacity .45s,transform .45s,color .3s}
#mmenu.open a{opacity:1;transform:none}
#mmenu a:hover{color:var(--gold2)}
#mmenu .mm-sep{width:40px;height:1px;background:var(--ln-d2)}
#mmenu .mm-tool{font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;color:var(--cr2)}
#mmenu .mm-cta{font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;background:var(--gold);color:var(--char);padding:1rem 2.4rem;margin-top:.6rem}
#mmenu .mm-cta:hover{color:var(--char);background:var(--gold3)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:1.1rem 2.4rem;border:0;background:none;position:relative;overflow:hidden;isolation:isolate;transition:transform .2s,color .35s,box-shadow .35s;line-height:1.3;text-align:center;min-height:52px}
.btn::before{content:'';position:absolute;inset:0;z-index:-1;transform:translateX(-101%);transition:transform .45s ease}
.btn:hover{transform:translateY(-2px)}.btn:hover::before{transform:translateX(0)}
.btn:active{transform:translateY(0)}
.btn-dk{background:var(--char);color:var(--cr1)}.btn-dk::before{background:var(--gold)}.btn-dk:hover{color:var(--char)}
.btn-gd{background:var(--gold);color:var(--char)}.btn-gd::before{background:var(--gold3)}
.btn-ol{box-shadow:inset 0 0 0 1.5px var(--ln-l2);color:var(--ink2)}.btn-ol::before{background:var(--char)}.btn-ol:hover{color:var(--cr1);box-shadow:inset 0 0 0 1.5px var(--char)}
.btn-od{box-shadow:inset 0 0 0 1.5px var(--ln-d2);color:var(--cr2)}.btn-od::before{background:var(--gold)}.btn-od:hover{color:var(--char);box-shadow:inset 0 0 0 1.5px var(--gold)}
.btn[disabled]{opacity:.45;pointer-events:none}
.txt-link{font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);text-decoration:none;border-bottom:1px solid var(--ln-l2);padding-bottom:3px;transition:color .25s,border-color .25s;background:none;border-top:0;border-left:0;border-right:0}
.txt-link:hover{color:var(--ink);border-bottom-color:var(--ink)}
.on-dark .txt-link,.txt-link.d{color:var(--gold2);border-bottom-color:var(--ln-d2)}
.on-dark .txt-link:hover,.txt-link.d:hover{color:var(--cr1);border-bottom-color:var(--cr1)}

/* ---------- section type ---------- */
.tag{font-family:var(--mono);font-size:.66rem;letter-spacing:.34em;text-transform:uppercase;color:var(--bronze);display:flex;align-items:center;gap:1.1rem;margin-bottom:1.5rem}
.tag::before{content:'';width:28px;height:1px;background:currentColor;flex-shrink:0;opacity:.8}
.on-dark .tag,.tag.d{color:var(--gold)}
.h2{font-family:var(--serif);font-weight:700;font-size:clamp(2rem,3.5vw,3.6rem);line-height:1.08;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);margin-bottom:1.4rem}
.h2 em{font-style:normal;background:var(--metal-l);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.on-dark .h2{color:var(--cr1)}
.on-dark .h2 em{background:var(--metal-d);-webkit-background-clip:text;background-clip:text}
.lead{font-family:var(--body);font-size:1.08rem;color:var(--ink3);line-height:1.9;max-width:36rem}
.on-dark .lead{color:var(--cr2)}
.rule{height:1px;background:linear-gradient(90deg,transparent 0%,#8A6A1F 10%,var(--gold) 35%,var(--gold3) 50%,var(--gold) 65%,#8A6A1F 90%,transparent 100%);opacity:.5}
.on-dark{background:var(--char);color:var(--cr1)}

/* ---------- split hero (shared by every page) ---------- */
.hero{min-height:100vh;min-height:100svh;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden;background:var(--ivory)}
.hero.short{min-height:88vh}
.hero-l{position:relative;z-index:2;padding:10rem 4.5rem 6rem var(--pad-x);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(158deg,var(--ivory) 0%,var(--ivory2) 58%,var(--ivory3) 100%);overflow:hidden}
.hero-wm{position:absolute;z-index:0;bottom:-11vw;left:-3vw;font-family:var(--serif);font-weight:900;font-size:44vw;line-height:.82;color:rgba(138,90,26,.045);pointer-events:none;user-select:none;text-transform:uppercase}
.hero-in{position:relative;z-index:1;max-width:560px}
.hero-r{position:relative;z-index:2;background:var(--char);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:9rem 4rem 5rem;overflow:hidden}
.hero-r::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 60% at 50% 42%,rgba(200,144,49,.12) 0%,transparent 65%)}
.hero-r-wm{position:absolute;font-family:var(--serif);font-weight:900;font-size:62vw;color:rgba(200,144,49,.03);top:50%;left:50%;transform:translate(-60%,-50%);pointer-events:none;line-height:.8;text-transform:uppercase;user-select:none}
.hero-seam{position:absolute;left:50%;top:0;bottom:0;width:1px;z-index:3;background:linear-gradient(to bottom,transparent,rgba(200,144,49,.45) 20%,rgba(200,144,49,.45) 80%,transparent)}
.h-tag{font-family:var(--mono);font-size:.66rem;letter-spacing:.4em;text-transform:uppercase;color:var(--bronze);display:flex;align-items:center;gap:1.3rem;margin-bottom:2.6rem}
.h-tag::before{content:'';width:48px;height:1px;background:currentColor;flex-shrink:0}
.t-title{margin-bottom:2rem}
.t-kick{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.5vw,2.9rem);letter-spacing:.52em;text-transform:uppercase;line-height:1;margin-bottom:.9rem;background:var(--metal-l);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;width:max-content;padding-right:.1em}
.t-main{display:block;font-family:var(--serif);font-weight:900;font-size:clamp(2.8rem,5.4vw,6.4rem);letter-spacing:.03em;text-transform:uppercase;color:var(--ink);line-height:.9;text-shadow:1px 1px 0 rgba(138,90,26,.14),2px 2px 0 rgba(138,90,26,.08),3px 3px 0 rgba(138,90,26,.04)}
.h-div{display:flex;align-items:center;gap:1.4rem;margin:0 0 2.2rem}
.h-div i{flex:0 0 150px;height:1px;background:linear-gradient(90deg,var(--bronze2),transparent)}
.h-div b{width:7px;height:7px;background:var(--bronze2);transform:rotate(45deg);flex-shrink:0}
.h-hook{font-family:var(--body);font-style:italic;font-size:clamp(1.15rem,1.6vw,1.45rem);line-height:1.6;color:var(--ink);padding-left:1.5rem;border-left:2px solid var(--ln-l2);margin-bottom:1.6rem}
.h-lede{font-size:1.05rem;color:var(--ink3);line-height:1.85;max-width:31rem;margin-bottom:2.6rem}
.h-ctas{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.h-note{font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink4);margin-top:1.4rem;line-height:1.8}
/* book on the dark half */
.book-scene{position:relative;z-index:2;margin-bottom:2.8rem;animation:bookfloat 6s ease-in-out infinite}
@keyframes bookfloat{0%,100%{transform:perspective(1000px) rotateY(-8deg) rotateX(2deg) translateY(0)}50%{transform:perspective(1000px) rotateY(-8deg) rotateX(2deg) translateY(-10px)}}
.book-aura{position:absolute;inset:-50px;z-index:-1;background:radial-gradient(ellipse at center,rgba(200,144,49,.2) 0%,transparent 65%);filter:blur(45px)}
.book-img{width:min(240px,26vw);box-shadow:-18px 24px 80px rgba(0,0,0,.95),0 0 100px rgba(200,144,49,.18),0 0 0 1px rgba(200,144,49,.14)}
/* fact cells (same device as the homepage countdown) */
.facts{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ln-d);border:1px solid var(--ln-d);width:100%;max-width:400px}
.facts.four{grid-template-columns:repeat(4,1fr);max-width:440px}
.fact{background:var(--char);padding:1rem .6rem;text-align:center}
.fact-n{display:block;font-family:var(--serif);font-weight:700;font-size:1.7rem;line-height:1;background:var(--metal-d);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.fact-l{display:block;font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cr3);margin-top:.45rem}
.hero-cap{position:relative;z-index:2;font-family:var(--serif);font-weight:500;font-size:.95rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold2);margin-bottom:1rem;text-align:center}
/* page-load sequence: one orchestrated moment */
.ld{opacity:0;animation:up .8s ease forwards}
.ld1{animation-delay:.1s}.ld2{animation-delay:.28s}.ld3{animation-delay:.5s}.ld4{animation-delay:.66s}.ld5{animation-delay:.82s}.ld6{animation-delay:1s}
@keyframes up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* ---------- scroll reveal ---------- */
.rv{opacity:0;transform:translateY(20px);transition:opacity .9s ease,transform .9s ease}
.rv.on{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}
html.no-js .rv{opacity:1;transform:none}

/* ---------- framed dark panel (gold rule + diamond) ---------- */
.frame{background:var(--char2);border:1px solid var(--ln-d);position:relative;color:var(--cr1)}
.frame::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 25%,var(--gold3) 50%,var(--gold) 75%,transparent)}
.frame::after{content:'';position:absolute;top:-4px;left:50%;width:7px;height:7px;background:var(--gold3);transform:translateX(-50%) rotate(45deg);box-shadow:0 0 0 5px var(--char2)}

/* ---------- letter tile (framework device) ---------- */
.ltr{width:60px;height:60px;background:var(--char);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:1.8rem;color:var(--gold3);flex-shrink:0;transition:background .35s,color .35s,box-shadow .35s}

/* ---------- form fields ---------- */
.fl{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);margin-bottom:.45rem}
.fl .opt{letter-spacing:.06em;text-transform:none;color:var(--ink4);margin-left:.5rem}
.fi{width:100%;background:transparent;border:0;border-bottom:1px solid var(--ln-l2);color:var(--ink);padding:.75rem 0;font-family:var(--body);font-size:1.02rem;line-height:1.55;outline:none;transition:border-color .3s,background .3s;border-radius:0;appearance:none}
.fi::placeholder{color:var(--ink4);font-style:italic;opacity:.8}
.fi:hover{border-bottom-color:var(--bronze2)}
.fi:focus{border-bottom-color:var(--bronze);background:var(--fill-l)}
.fi:focus-visible{outline:none;box-shadow:0 2px 0 0 var(--bronze)}
textarea.fi{resize:vertical;min-height:3.4rem}
.on-dark .fl,.frame .fl{color:var(--gold)}
.on-dark .fl .opt,.frame .fl .opt{color:var(--cr4)}
.on-dark .fi,.frame .fi{color:var(--cr1);border-bottom-color:var(--ln-d2)}
.on-dark .fi::placeholder,.frame .fi::placeholder{color:var(--cr4)}
.on-dark .fi:hover,.frame .fi:hover{border-bottom-color:var(--gold)}
.on-dark .fi:focus,.frame .fi:focus{border-bottom-color:var(--gold2);background:var(--fill-d)}
.on-dark .fi:focus-visible,.frame .fi:focus-visible{box-shadow:0 2px 0 0 var(--gold2)}

/* ---------- disclaimer band + footer ---------- */
.disc{background:var(--char);border-top:1px solid var(--ln-d);padding:2.6rem var(--pad-x);text-align:center}
.disc p{font-style:italic;font-size:.92rem;color:var(--cr3);max-width:40rem;margin:0 auto;line-height:1.75}
.disc p+p{margin-top:.8rem}
.disc b{color:var(--cr1);font-style:normal}
footer.site{background:var(--char2);border-top:1px solid var(--ln-d);padding:3rem var(--pad-x) 2.6rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem}
.f-brand{display:inline-flex;align-items:center;gap:.7rem;color:var(--gold2);text-decoration:none;font-family:var(--serif);font-weight:700;font-size:.82rem;letter-spacing:.24em;text-transform:uppercase}
.f-brand svg{width:28px;height:28px;flex:0 0 auto}
.f-cols{display:flex;flex-direction:column;gap:.9rem;align-items:center}
.f-nav{display:flex;gap:.8rem 1.8rem;justify-content:center;list-style:none;flex-wrap:wrap}
.f-nav a{font-family:var(--mono);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cr3);text-decoration:none;transition:color .3s}
.f-nav a:hover{color:var(--gold2)}
.f-nav.tools a{color:var(--gold);letter-spacing:.16em}
.f-nav.tools a:hover{color:var(--cr1)}
.f-copy{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;color:var(--cr4);text-align:right;line-height:1.8}
.f-copy span{display:block;font-family:var(--serif);letter-spacing:.24em;text-transform:uppercase;color:var(--cr3);font-size:.66rem}

/* ---------- responsive ---------- */
@media(max-width:1340px){:root{--pad-x:4rem}.nl{gap:1.9rem}.n-cta{padding:.72rem 1.1rem}}
@media(max-width:1100px){
  :root{--pad-x:2rem}
  nav#nav{grid-template-columns:auto 1fr auto;padding:.9rem var(--pad-x);background:rgba(247,242,234,.96);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 1px 0 var(--ln-l)}
  nav#nav.s{padding:.9rem var(--pad-x)}
  .n-logo{grid-column:1;justify-content:flex-start}
  .nl-left{display:none}
  .nl-right{grid-column:3}
  .nl-right li:not(:last-child){display:none}
  .n-burger{display:block}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-l{padding:8rem var(--pad-x) 4rem}
  .hero-r{padding:4.5rem var(--pad-x) 4rem}
  .hero-seam{display:none}
  .book-img{width:min(220px,46vw)}
  footer.site{grid-template-columns:1fr;text-align:center;justify-items:center;gap:1.6rem}
  .f-copy{text-align:center}
}
@media(max-width:640px){
  :root{--pad-x:1.4rem}
  .hero-l{padding:7rem var(--pad-x) 3.2rem}
  .t-kick{font-size:1.35rem;letter-spacing:.42em}
  .t-main{font-size:clamp(2.4rem,12.4vw,4rem)}
  .h-tag{letter-spacing:.26em;margin-bottom:2rem}
  .h-tag::before{width:28px}
  .h-div i{flex-basis:100px}
  .btn{width:100%;padding:1.1rem 1.4rem}
  .h-ctas{flex-direction:column;align-items:stretch}
  .facts.four{grid-template-columns:repeat(2,1fr)}
  .fact-n{font-size:1.5rem}
  .disc{padding:2.2rem var(--pad-x)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .rv{opacity:1;transform:none}
}
@media print{
  #dot,#ring,nav#nav,#mmenu,.skip{display:none!important}
  body{cursor:auto}
}
.f-copy i{font-style:normal}

/* =========================================================
   One-field launch-list opt-in (shared by every page)
   ========================================================= */
.optin{position:relative}
.optin-lbl{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);margin-bottom:.6rem}
.on-dark .optin-lbl,.optin.d .optin-lbl{color:var(--gold)}
.optin-row{display:flex;align-items:stretch;gap:0;border-bottom:1px solid var(--ln-l2);transition:border-color .3s}
.optin-row:focus-within{border-bottom-color:var(--bronze)}
.on-dark .optin-row,.optin.d .optin-row{border-bottom-color:var(--ln-d2)}
.on-dark .optin-row:focus-within,.optin.d .optin-row:focus-within{border-bottom-color:var(--gold2)}
.optin-row input{flex:1;min-width:0;background:transparent;border:0;color:var(--ink);font-family:var(--body);font-size:1.02rem;padding:.8rem 0;outline:none;border-radius:0}
.optin-row input::placeholder{color:var(--ink4);font-style:italic;opacity:.85}
.on-dark .optin-row input,.optin.d .optin-row input{color:var(--cr1)}
.on-dark .optin-row input::placeholder,.optin.d .optin-row input::placeholder{color:var(--cr4)}
.optin-go{flex:0 0 auto;font-family:var(--mono);font-size:.66rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding:.7rem 1.5rem;margin:.15rem 0 .35rem .8rem;border:0;background:var(--char);color:var(--cr1);transition:background .3s,color .3s;min-height:44px}
.optin-go:hover{background:var(--gold);color:var(--char)}
.on-dark .optin-go,.optin.d .optin-go{background:var(--gold);color:var(--char)}
.on-dark .optin-go:hover,.optin.d .optin-go:hover{background:var(--gold3)}
.optin-go[disabled]{opacity:.55;pointer-events:none}
.optin-note{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink4);margin-top:.7rem;line-height:1.7}
.on-dark .optin-note,.optin.d .optin-note{color:var(--cr4)}
.optin-msg{font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;margin-top:.8rem;line-height:1.7;min-height:1em}
.optin-msg.err{color:#A4492E}
.on-dark .optin-msg.err,.optin.d .optin-msg.err{color:#E0A187}
.optin-done{display:flex;align-items:flex-start;gap:.9rem;padding:.4rem 0}
.optin-done b{width:7px;height:7px;background:var(--bronze2);transform:rotate(45deg);flex-shrink:0;margin-top:.62rem}
.on-dark .optin-done b,.optin.d .optin-done b{background:var(--gold2)}
.optin-done span{font-family:var(--body);font-size:1.02rem;color:var(--ink2);line-height:1.7}
.on-dark .optin-done span,.optin.d .optin-done span{color:var(--cr1)}
.optin-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
@media(max-width:640px){
  .optin-row{flex-wrap:wrap;border-bottom:0;gap:.8rem}
  .optin-row input{flex:1 1 100%;border-bottom:1px solid var(--ln-l2);padding:.8rem 0}
  .on-dark .optin-row input,.optin.d .optin-row input{border-bottom-color:var(--ln-d2)}
  .optin-go{flex:1 1 100%;margin:0;padding:1rem;min-height:50px}
}
