/* ============================================================
   OdinFortune Support - odinfortune-support.store
   Stylesheet: dark obsidian / gold / deep-blue verification desk
   ============================================================ */

/* ---------- 1. Tokens ---------- */
:root{
  --obsidian:#05070C;
  --ink:#080B13;
  --ink-2:#0A0F1B;
  --navy:#0B1B34;
  --navy-2:#102542;
  --navy-3:#16314F;
  --gold:#D4A64A;
  --gold-lt:#F3D58A;
  --gold-dk:#9A7223;
  --ice:#7FB4E3;
  --alert:#E0603A;
  --paper:#EEF1F6;
  --paper-dim:#B9C3D4;
  --paper-mute:#8894A9;
  --line:rgba(212,166,74,.22);
  --line-soft:rgba(160,180,210,.14);
  --shadow-lg:0 34px 90px -34px rgba(0,0,0,.92);
  --shadow-md:0 18px 44px -22px rgba(0,0,0,.85);

  --display:"Cinzel","Trajan Pro",Georgia,"Times New Roman",serif;
  --body:"Spectral",Georgia,"Iowan Old Style","Times New Roman",serif;
  --meta:"Barlow Condensed","Oswald","Arial Narrow",Arial,sans-serif;

  --wrap:1230px;
  --gut:clamp(1.15rem,4vw,2.75rem);
  --r-sm:4px;
  --r-md:8px;
  --r-lg:14px;
  --ease:cubic-bezier(.22,.68,0,1);
}

*,*::before,*::after{box-sizing:border-box}

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:104px;
  overflow-x:hidden;
}

body{
  margin:0;
  background:var(--obsidian);
  color:var(--paper-dim);
  font-family:var(--body);
  font-size:clamp(1rem,.96rem + .18vw,1.075rem);
  line-height:1.78;
  font-weight:300;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img{max-width:100%;height:auto;display:block}

a{color:var(--gold-lt);text-decoration:none;transition:color .25s var(--ease)}
a:hover{color:var(--gold)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
  border-radius:2px;
}

::selection{background:rgba(212,166,74,.3);color:#fff}

h1,h2,h3,h4{
  font-family:var(--display);
  color:var(--paper);
  font-weight:700;
  line-height:1.14;
  letter-spacing:.005em;
  margin:0 0 .6em;
  text-wrap:balance;
}
h1{font-size:clamp(2.05rem,1.35rem + 3.1vw,3.75rem);font-weight:900;letter-spacing:-.01em}
h2{font-size:clamp(1.6rem,1.15rem + 1.85vw,2.65rem)}
h3{font-size:clamp(1.08rem,1rem + .38vw,1.3rem)}
h4{font-size:1.02rem}
p{margin:0 0 1.15em}
p:last-child{margin-bottom:0}
strong{color:var(--paper);font-weight:600}
code{
  font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  font-size:.87em;
  letter-spacing:.01em;
}

.anchor{display:block;position:relative;top:-110px;visibility:hidden}

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:999;
  background:var(--gold);color:#0A0A0A;
  padding:.7rem 1.2rem;font-family:var(--meta);
  text-transform:uppercase;letter-spacing:.12em;
}
.skip-link:focus{left:1rem;top:1rem}

/* film grain / texture overlay */
.grain{
  position:fixed;inset:0;z-index:2;pointer-events:none;
  opacity:.5;mix-blend-mode:soft-light;
  background-image:radial-gradient(rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:3px 3px;
}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.wrap--narrow{max-width:900px}

/* ---------- 2. Buttons ---------- */
.btn{
  --btn-bg:transparent;
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--meta);font-size:.86rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;
  padding:.92rem 1.55rem;
  border:1px solid var(--gold);
  border-radius:var(--r-sm);
  background:var(--btn-bg);
  cursor:pointer;
  position:relative;
  overflow:hidden;
  text-align:center;
  line-height:1.2;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),
             background-color .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
}
.btn::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.42) 48%,transparent 68%);
  transform:translateX(-130%);
  transition:transform .75s var(--ease);
}
.btn:hover::after{transform:translateX(130%)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}

.btn--gold{
  background:linear-gradient(165deg,var(--gold-lt),var(--gold) 42%,var(--gold-dk));
  color:#100C03;
  border-color:var(--gold-lt);
  box-shadow:0 12px 28px -16px rgba(212,166,74,.85),inset 0 1px 0 rgba(255,255,255,.5);
}
.btn--gold:hover{color:#100C03;box-shadow:0 18px 40px -16px rgba(212,166,74,.95),inset 0 1px 0 rgba(255,255,255,.6)}

.btn--ghost{
  color:var(--gold-lt);
  border-color:rgba(212,166,74,.5);
  background:rgba(11,27,52,.55);
  backdrop-filter:blur(4px);
}
.btn--ghost:hover{border-color:var(--gold);background:rgba(16,37,66,.8);color:#fff}

.btn--lg{padding:1.06rem 2rem;font-size:.9rem}
.btn--block{display:flex;width:100%}

/* ---------- 3. Ribbon ---------- */
.ribbon{
  position:relative;z-index:60;
  background:linear-gradient(90deg,var(--obsidian),var(--navy) 45%,var(--obsidian));
  border-bottom:1px solid var(--line);
}
.ribbon__inner{
  display:flex;align-items:center;justify-content:center;gap:.75rem;
  padding-block:.55rem;flex-wrap:wrap;
}
.ribbon__pulse{
  width:7px;height:7px;border-radius:50%;
  background:var(--gold-lt);
  box-shadow:0 0 0 0 rgba(212,166,74,.75);
  animation:pulse 2.6s infinite;
  flex:none;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(212,166,74,.65)}
  70%{box-shadow:0 0 0 10px rgba(212,166,74,0)}
  100%{box-shadow:0 0 0 0 rgba(212,166,74,0)}
}
.ribbon__text{
  margin:0;font-family:var(--meta);font-size:.82rem;
  letter-spacing:.09em;text-transform:uppercase;color:var(--paper-mute);
}
.ribbon__link{color:var(--gold-lt);border-bottom:1px solid rgba(212,166,74,.4)}
.ribbon__link:hover{border-bottom-color:var(--gold)}
.ribbon__copy{
  background:none;border:1px solid rgba(212,166,74,.35);
  color:var(--paper-mute);border-radius:999px;
  font-family:var(--meta);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;
  padding:.2rem .7rem;cursor:pointer;
  transition:color .25s,border-color .25s,background-color .25s;
}
.ribbon__copy:hover{color:var(--gold-lt);border-color:var(--gold);background:rgba(212,166,74,.1)}
.ribbon__copy.is-done{color:#0B1B34;background:var(--gold-lt);border-color:var(--gold-lt)}

/* ---------- 4. Header ---------- */
.site-head{
  position:sticky;top:0;z-index:75;
  background:rgba(5,7,12,.78);
  backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid transparent;
  transition:background-color .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease);
}
.site-head.is-stuck{
  background:rgba(5,7,12,.95);
  border-bottom-color:var(--line);
  box-shadow:0 16px 40px -28px rgba(0,0,0,.95);
}
.site-head__inner{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  min-height:76px;
}

.brand{display:inline-flex;align-items:center;gap:.7rem;color:var(--paper)}
.brand__mark{
  width:48px;height:48px;flex:none;
  filter:drop-shadow(0 4px 14px rgba(212,166,74,.35));
  transition:transform .5s var(--ease);
}
.brand:hover .brand__mark{transform:rotate(-4deg) scale(1.05)}
.brand__text{display:flex;flex-direction:column;line-height:1}
.brand__text strong{
  font-family:var(--display);font-weight:900;
  font-size:1.06rem;letter-spacing:.11em;text-transform:uppercase;color:var(--paper);
}
.brand__text em{
  font-family:var(--meta);font-style:normal;font-weight:600;
  font-size:.76rem;letter-spacing:.34em;text-transform:uppercase;
  color:var(--gold);margin-top:.28rem;
}

.nav{display:flex;align-items:center;gap:clamp(.9rem,2vw,1.8rem)}
.nav__list{display:flex;align-items:center;gap:clamp(.75rem,1.7vw,1.55rem);list-style:none;margin:0;padding:0}
.nav__list a{
  font-family:var(--meta);font-size:.87rem;font-weight:500;
  letter-spacing:.11em;text-transform:uppercase;color:var(--paper-dim);
  padding:.3rem 0;position:relative;white-space:nowrap;
}
.nav__list a::after{
  content:"";position:absolute;left:0;bottom:-2px;height:1px;width:0;
  background:var(--gold);transition:width .32s var(--ease);
}
.nav__list a:hover,.nav__list a.is-active{color:var(--gold-lt)}
.nav__list a:hover::after,.nav__list a.is-active::after{width:100%}
.nav__cta{padding:.72rem 1.1rem;font-size:.76rem;letter-spacing:.12em}

.burger{
  display:none;width:44px;height:40px;
  background:none;border:1px solid var(--line);border-radius:var(--r-sm);
  cursor:pointer;padding:0;position:relative;
}
.burger span{
  position:absolute;left:11px;width:22px;height:1.5px;background:var(--gold-lt);
  transition:transform .32s var(--ease),opacity .2s linear;
}
.burger span:nth-child(1){top:13px}
.burger span:nth-child(2){top:19px}
.burger span:nth-child(3){top:25px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ---------- 5. Hero ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(3.5rem,8vw,7rem) clamp(3rem,6vw,5.5rem)}
.hero__bg{position:absolute;inset:0;z-index:-1}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:66% 42%;opacity:.62}
.hero__veil{
  position:absolute;inset:0;
  background:
    radial-gradient(115% 85% at 12% 32%,rgba(5,7,12,.97) 0%,rgba(5,7,12,.86) 40%,rgba(5,7,12,.42) 72%,transparent 100%),
    linear-gradient(180deg,rgba(5,7,12,.85) 0%,rgba(6,10,20,.34) 42%,rgba(5,7,12,.95) 100%);
}

.hero__grid{
  display:grid;grid-template-columns:minmax(0,1.32fr) minmax(310px,.85fr);
  gap:clamp(2rem,4vw,3.6rem);align-items:start;
}

.eyebrow{
  display:flex;align-items:center;gap:.75rem;
  font-family:var(--meta);font-size:.8rem;font-weight:600;
  letter-spacing:.28em;text-transform:uppercase;color:var(--gold);
  margin:0 0 1.15rem;
}
.eyebrow__rule{display:block;width:clamp(26px,4vw,52px);height:1px;background:linear-gradient(90deg,transparent,var(--gold));flex:none}
.eyebrow--center{justify-content:center}

.hero__body h1{margin-bottom:1.1rem}
.hero__lead{
  font-size:clamp(1.06rem,1rem + .5vw,1.28rem);
  color:var(--paper-dim);max-width:60ch;margin-bottom:1.5rem;
}
.hero__domain{
  font-family:var(--meta);font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--paper-mute);
  display:inline-flex;flex-wrap:wrap;gap:.5rem;align-items:center;
  padding:.55rem 1rem;margin-bottom:1.9rem;
  border:1px solid var(--line);border-left:3px solid var(--gold);
  background:rgba(11,27,52,.55);border-radius:0 var(--r-sm) var(--r-sm) 0;
}
.hero__domain a{color:var(--gold-lt);letter-spacing:.04em;text-transform:none;font-family:var(--body);font-size:1rem}

.hero__actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:2.6rem}

.hero__stats{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:1px;margin:0;background:var(--line-soft);
  border:1px solid var(--line-soft);
}
.hero__stats>div{background:rgba(8,11,19,.72);padding:1.05rem 1.15rem}
.hero__stats dt{
  font-family:var(--meta);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--paper-mute);margin-bottom:.35rem;
}
.hero__stats dd{
  margin:0;font-family:var(--display);font-size:1rem;font-weight:700;color:var(--gold-lt);
  line-height:1.35;
}

/* verification seal card */
.seal-card{
  position:relative;
  padding:clamp(1.6rem,2.4vw,2.15rem) clamp(1.35rem,2.2vw,1.9rem) 1.6rem;
  background:linear-gradient(170deg,rgba(16,37,66,.95),rgba(6,10,18,.97));
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-lg);
  text-align:center;
  overflow:hidden;
}
.seal-card::before{
  content:"";position:absolute;inset:6px;border:1px solid rgba(212,166,74,.16);
  border-radius:calc(var(--r-lg) - 4px);pointer-events:none;
}
.seal-card__seal{
  width:clamp(112px,16vw,142px);height:auto;margin:0 auto .95rem;
  filter:drop-shadow(0 10px 26px rgba(212,166,74,.35));
  animation:floaty 7s ease-in-out infinite;
}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.seal-card__kicker{
  font-family:var(--meta);font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;
  color:var(--gold);margin:0 0 .45rem;
}
.seal-card__title{font-size:1.22rem;margin-bottom:.5rem}
.seal-card__url{margin:0 0 1.15rem;word-break:break-all}
.seal-card__url a{
  font-family:var(--meta);font-size:1.02rem;letter-spacing:.05em;color:var(--gold-lt);
  border-bottom:1px solid rgba(212,166,74,.4);
}
.seal-card__list{list-style:none;margin:0 0 1.35rem;padding:0;text-align:left}
.seal-card__list li{
  display:flex;gap:.6rem;align-items:flex-start;
  font-size:.94rem;color:var(--paper-dim);
  padding:.52rem 0;border-bottom:1px dashed rgba(160,180,210,.13);
}
.seal-card__list li:last-child{border-bottom:0}
.seal-card__list span{color:var(--gold);font-weight:700;flex:none;line-height:1.5}
.seal-card__note{
  margin:.95rem 0 0;font-size:.83rem;line-height:1.6;color:var(--paper-mute);
  font-style:italic;
}

/* ---------- 6. Trust strip ---------- */
.strip{
  background:linear-gradient(90deg,var(--navy),var(--ink-2) 50%,var(--navy));
  border-block:1px solid var(--line);
}
.strip__inner{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;
  padding-block:1rem;
}
.strip__item{
  margin:0;font-family:var(--meta);font-size:.84rem;font-weight:500;
  letter-spacing:.17em;text-transform:uppercase;color:var(--paper-dim);
  display:flex;align-items:center;gap:.55rem;
}
.strip__item span{color:var(--gold);font-size:.62rem}

/* ---------- 7. Bands ---------- */
.band{position:relative;padding-block:clamp(3.4rem,7vw,6.5rem)}
.band+.band{border-top:1px solid var(--line-soft)}
.band--verify{background:linear-gradient(180deg,var(--obsidian),var(--ink) 60%,var(--obsidian))}
.band--support{
  background-color:var(--ink-2);
  background-image:url("../img/pattern-runes.jpg");
  background-size:520px;
  background-repeat:repeat;
  background-blend-mode:multiply;
}
.band--support::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(5,7,12,.92),rgba(8,13,24,.8) 45%,rgba(5,7,12,.94));
}
.band--support>.wrap{position:relative;z-index:1}
.band--legal{background:linear-gradient(180deg,var(--obsidian),#070A11)}
.band--rights{background:linear-gradient(180deg,#070A11,var(--navy) 55%,#070A11)}
.band--signals{background:var(--obsidian)}
.band--contact{background:linear-gradient(180deg,var(--obsidian),var(--ink-2))}
.band--trust{background:linear-gradient(180deg,var(--ink-2),#070A11)}
.band--faq{background:var(--obsidian)}

.band__head{max-width:74ch;margin-bottom:clamp(2rem,4vw,3.2rem)}
.band__head--split{
  max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:clamp(1.4rem,3vw,3rem);align-items:end;
}
.band__head--split h2{margin-bottom:0}
.band__intro{font-size:1.06rem;color:var(--paper-dim);margin-bottom:0}
.inline-url{
  color:var(--gold-lt);border-bottom:1px solid rgba(212,166,74,.42);
  word-break:break-word;
}
.inline-url:hover{border-bottom-color:var(--gold)}

/* ---------- 8. Verification panel ---------- */
.verify-panel{
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.9fr);
  gap:clamp(1.8rem,3.5vw,3.2rem);align-items:start;
}
.verify-panel__sub{margin-top:2.1rem;font-size:1.14rem;color:var(--gold-lt)}

.steps{list-style:none;counter-reset:step;margin:0;padding:0}
.steps li{
  counter-increment:step;position:relative;
  padding:0 0 1.45rem 3.4rem;
}
.steps li::before{
  content:counter(step,decimal-leading-zero);
  position:absolute;left:0;top:-.1rem;
  font-family:var(--display);font-weight:700;font-size:1.05rem;
  color:var(--gold);
  width:2.4rem;height:2.4rem;display:grid;place-items:center;
  border:1px solid var(--line);border-radius:50%;
  background:rgba(11,27,52,.6);
}
.steps li::after{
  content:"";position:absolute;left:1.2rem;top:2.5rem;bottom:.35rem;width:1px;
  background:linear-gradient(180deg,var(--line),transparent);
}
.steps li:last-child{padding-bottom:0}
.steps li:last-child::after{display:none}
.steps h4{
  font-family:var(--meta);font-size:1rem;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:var(--paper);margin-bottom:.35rem;
}
.steps p{font-size:.98rem;margin:0}

.verify-panel__side{display:flex;flex-direction:column;gap:1.35rem}
.compare{
  padding:1.5rem 1.4rem;
  background:linear-gradient(170deg,rgba(11,27,52,.85),rgba(6,10,18,.95));
  border:1px solid var(--line-soft);border-radius:var(--r-md);
  box-shadow:var(--shadow-md);
}
.compare__head{
  display:flex;align-items:center;gap:.5rem;margin:0 0 .8rem;
  font-family:var(--meta);font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;
}
.compare__head--ok{color:var(--gold-lt)}
.compare__head--bad{color:var(--alert);margin-top:1.55rem}
.compare__head span{font-size:.95rem}
.compare__list{list-style:none;margin:0;padding:0;font-size:.92rem}
.compare__list li{
  padding:.5rem .7rem;margin-bottom:.4rem;border-radius:var(--r-sm);
  border-left:2px solid;line-height:1.5;
}
.compare__list--ok li{background:rgba(212,166,74,.08);border-left-color:var(--gold);color:var(--paper)}
.compare__list--bad li{background:rgba(224,96,58,.07);border-left-color:var(--alert);color:var(--paper-dim)}
.compare__list--bad em{color:var(--alert);font-style:normal;font-weight:600}
.compare__note{
  margin:1.1rem 0 0;font-size:.82rem;line-height:1.6;color:var(--paper-mute);font-style:italic;
}

/* ---------- 9. Figures ---------- */
.figure{margin:0;position:relative}
.figure img{
  width:100%;border-radius:var(--r-md);
  border:1px solid var(--line-soft);
  box-shadow:var(--shadow-md);
}
.figure figcaption{
  margin-top:.8rem;font-size:.86rem;line-height:1.6;color:var(--paper-mute);
  font-style:italic;padding-left:.85rem;border-left:2px solid var(--line);
}
.figure--support img{aspect-ratio:4/3;object-fit:cover}
.figure--tall img{aspect-ratio:5/4;object-fit:cover}
.figure--wide{margin-top:clamp(2rem,4vw,3rem)}
.figure--wide img{aspect-ratio:21/8;object-fit:cover;object-position:center}

/* ---------- 10. Support center ---------- */
.support-layout{
  display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.35fr);
  gap:clamp(1.8rem,3.5vw,3.2rem);align-items:start;
}
.svc-list{list-style:none;margin:0;padding:0}
.svc-list li{
  position:relative;padding:1.1rem 0 1.1rem 3.6rem;
  border-bottom:1px solid var(--line-soft);
  transition:padding-left .35s var(--ease);
}
.svc-list li:last-child{border-bottom:0}
.svc-list li:hover{padding-left:4rem}
.svc-list li:hover .svc-list__no{color:var(--gold-lt);border-color:var(--gold)}
.svc-list__no{
  position:absolute;left:0;top:1.05rem;
  font-family:var(--meta);font-size:.86rem;font-weight:700;letter-spacing:.06em;
  color:var(--gold);
  width:2.5rem;padding-bottom:.15rem;
  border-bottom:1px solid var(--line);
  transition:color .3s,border-color .3s;
}
.svc-list h3{
  font-family:var(--meta);font-size:1.06rem;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--paper);margin-bottom:.3rem;
}
.svc-list p{font-size:.97rem;margin:0}

.callout{
  margin-top:clamp(2rem,4vw,3rem);
  padding:1.35rem 1.5rem;
  background:rgba(212,166,74,.06);
  border:1px solid var(--line);
  border-left:3px solid var(--gold);
  border-radius:0 var(--r-md) var(--r-md) 0;
  font-size:.98rem;
}

/* ---------- 11. Legal ---------- */
.legal-grid{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(285px,.8fr);
  gap:clamp(1.8rem,3.5vw,3.2rem);align-items:start;
}
.legal-doc{
  counter-reset:none;
  padding:clamp(1.5rem,3vw,2.4rem);
  background:linear-gradient(180deg,rgba(10,15,27,.9),rgba(6,9,16,.95));
  border:1px solid var(--line-soft);border-radius:var(--r-md);
  box-shadow:var(--shadow-md);
}
.legal-doc h3{
  font-family:var(--meta);font-size:1.05rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold-lt);
  margin:2.15rem 0 .75rem;padding-bottom:.5rem;
  border-bottom:1px solid var(--line);
}
.legal-doc h3:first-child{margin-top:0}
.legal-doc p{font-size:.99rem}
.legal-list{list-style:none;margin:0 0 1.2rem;padding:0}
.legal-list li{
  position:relative;padding:.45rem 0 .45rem 1.5rem;font-size:.97rem;
  border-bottom:1px dashed rgba(160,180,210,.11);
}
.legal-list li:last-child{border-bottom:0}
.legal-list li::before{
  content:"";position:absolute;left:0;top:1.03em;
  width:7px;height:7px;transform:rotate(45deg);
  border:1px solid var(--gold);
}
.legal-list--tight li{padding-block:.35rem}

.legal-grid__aside{display:flex;flex-direction:column;gap:1.35rem}

.side-card{
  padding:1.45rem 1.4rem;
  background:linear-gradient(170deg,rgba(16,37,66,.8),rgba(6,10,18,.95));
  border:1px solid var(--line-soft);border-radius:var(--r-md);
  box-shadow:var(--shadow-md);
}
.side-card--muted{background:linear-gradient(170deg,rgba(10,15,27,.9),rgba(6,9,16,.95))}
.side-card--alert{border-left:3px solid var(--alert)}
.side-card__title{
  font-family:var(--meta);font-size:.95rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold);margin-bottom:1rem;
}
.side-card__fine{font-size:.85rem;color:var(--paper-mute);font-style:italic;margin-top:.9rem}

.check-list{list-style:none;margin:0 0 1.35rem;padding:0}
.check-list li{
  position:relative;padding:.44rem 0 .44rem 1.65rem;font-size:.93rem;color:var(--paper-dim);
}
.check-list li::before{
  content:"\2713";position:absolute;left:0;top:.42rem;color:var(--gold);font-weight:700;
}

.numbered{margin:0;padding-left:1.3rem;font-size:.93rem}
.numbered li{padding:.32rem 0;color:var(--paper-dim)}
.numbered li::marker{color:var(--gold);font-family:var(--meta);font-weight:700}

/* ---------- 12. Rights grid ---------- */
.rights-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));
  gap:1px;background:var(--line-soft);
  border:1px solid var(--line-soft);
}
.rights-card{
  background:rgba(6,10,18,.9);
  padding:1.55rem 1.45rem;
  transition:background-color .35s var(--ease),transform .35s var(--ease);
  position:relative;
}
.rights-card::before{
  content:"";position:absolute;left:0;top:0;width:100%;height:2px;
  background:linear-gradient(90deg,var(--gold),transparent);
  transform:scaleX(0);transform-origin:left;
  transition:transform .45s var(--ease);
}
.rights-card:hover{background:rgba(16,37,66,.85)}
.rights-card:hover::before{transform:scaleX(1)}
.rights-card h3{
  font-family:var(--meta);font-size:1.04rem;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--gold-lt);margin-bottom:.55rem;
}
.rights-card p{font-size:.95rem;margin:0}
.rights-card--wide{grid-column:1/-1;background:rgba(11,27,52,.72)}

/* ---------- 13. Signals ---------- */
.signals-layout{
  display:grid;grid-template-columns:minmax(0,1.32fr) minmax(290px,.88fr);
  gap:clamp(1.8rem,3.5vw,3.2rem);align-items:start;
}
.signals{list-style:none;counter-reset:sig;margin:0;padding:0}
.signals li{
  counter-increment:sig;position:relative;
  padding:1.15rem 1.25rem 1.15rem 3.9rem;
  border:1px solid var(--line-soft);
  border-radius:var(--r-md);
  margin-bottom:.75rem;
  background:linear-gradient(100deg,rgba(10,15,27,.85),rgba(6,9,16,.6));
  transition:border-color .32s var(--ease),transform .32s var(--ease),background-color .32s var(--ease);
}
.signals li::before{
  content:counter(sig);
  position:absolute;left:1.15rem;top:1.2rem;
  font-family:var(--display);font-weight:900;font-size:1.35rem;
  color:rgba(212,166,74,.42);line-height:1;
}
.signals li:hover{
  border-color:var(--line);transform:translateX(4px);
  background:linear-gradient(100deg,rgba(16,37,66,.85),rgba(8,12,20,.7));
}
.signals h3{
  font-family:var(--meta);font-size:1.04rem;font-weight:600;letter-spacing:.07em;
  text-transform:uppercase;color:var(--paper);margin-bottom:.3rem;
}
.signals p{font-size:.95rem;margin:0}
.signals-side{display:flex;flex-direction:column;gap:1.5rem}

/* ---------- 14. Contact ---------- */
.contact-layout{
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(285px,.82fr);
  gap:clamp(1.8rem,3.5vw,3rem);align-items:start;
}
.form{
  padding:clamp(1.5rem,3vw,2.4rem);
  background:linear-gradient(180deg,rgba(16,37,66,.5),rgba(6,10,18,.92));
  border:1px solid var(--line-soft);border-radius:var(--r-md);
  box-shadow:var(--shadow-md);
}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.field{margin-bottom:1.15rem}
.field label{
  display:block;margin-bottom:.45rem;
  font-family:var(--meta);font-size:.83rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--paper-dim);
}
.req{color:var(--gold)}
.opt{color:var(--paper-mute);font-weight:500;letter-spacing:.08em}

.field input,.field select,.field textarea{
  width:100%;padding:.85rem .95rem;
  background:rgba(5,7,12,.75);
  border:1px solid rgba(160,180,210,.2);
  border-radius:var(--r-sm);
  color:var(--paper);
  font-family:var(--body);font-size:1rem;
  transition:border-color .28s,box-shadow .28s,background-color .28s;
}
.field select{
  font-family:var(--meta);letter-spacing:.04em;
  appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),
                   linear-gradient(135deg,var(--gold) 50%,transparent 50%);
  background-position:calc(100% - 20px) 1.28rem,calc(100% - 14px) 1.28rem;
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
  padding-right:2.6rem;
}
.field select option{background:#0A0F1B;color:var(--paper)}
.field textarea{resize:vertical;min-height:140px;line-height:1.7}
.field input::placeholder,.field textarea::placeholder{color:rgba(136,148,169,.7)}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--gold);
  background:rgba(11,27,52,.6);
  box-shadow:0 0 0 3px rgba(212,166,74,.14);
}
.field input.is-invalid,.field select.is-invalid,.field textarea.is-invalid{
  border-color:var(--alert);box-shadow:0 0 0 3px rgba(224,96,58,.14);
}
.field__hint{margin:.45rem 0 0;font-size:.84rem;color:var(--paper-mute)}
.field__err{
  margin:.4rem 0 0;font-size:.84rem;color:var(--alert);
  font-family:var(--meta);letter-spacing:.05em;min-height:0;
}
.field__err:empty{display:none}

.field--check{margin-bottom:1.6rem}
.checkbox{
  display:flex;gap:.75rem;align-items:flex-start;cursor:pointer;
  font-family:var(--body);font-size:.93rem;letter-spacing:0;text-transform:none;
  font-weight:300;color:var(--paper-dim);line-height:1.6;
}
.checkbox input{
  width:19px;height:19px;flex:none;margin-top:.16rem;
  accent-color:var(--gold);cursor:pointer;
}

.form__note{
  margin-top:1.2rem;font-size:.87rem;line-height:1.68;color:var(--paper-mute);
  padding-top:1.2rem;border-top:1px solid var(--line-soft);
}
.form__result{
  margin-top:1.5rem;padding:1.35rem;
  background:rgba(212,166,74,.07);
  border:1px solid var(--line);border-radius:var(--r-md);
}
.form__result h3{font-size:1.1rem;color:var(--gold-lt);margin-bottom:.5rem}
.form__result p{font-size:.92rem}
.form__summary{
  margin:1rem 0;padding:1rem;
  background:rgba(5,7,12,.85);border:1px solid var(--line-soft);border-radius:var(--r-sm);
  font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  font-size:.82rem;line-height:1.7;color:var(--paper-dim);
  white-space:pre-wrap;word-break:break-word;max-height:260px;overflow:auto;
}

.contact-side{display:flex;flex-direction:column;gap:1.35rem}
.chan-list{list-style:none;margin:0;padding:0}
.chan-list li{
  padding:.7rem 0;border-bottom:1px dashed rgba(160,180,210,.13);
  display:flex;flex-direction:column;gap:.2rem;
}
.chan-list li:last-child{border-bottom:0}
.chan-list__label{
  font-family:var(--meta);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--paper-mute);
}
.chan-list a{font-size:.95rem;word-break:break-all}

/* ---------- 15. Badges ---------- */
.badges{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));
  gap:clamp(.85rem,1.6vw,1.25rem);
}
.badge{
  position:relative;padding:1.7rem 1.35rem 1.5rem;
  background:linear-gradient(175deg,rgba(16,37,66,.6),rgba(6,10,18,.95));
  border:1px solid var(--line-soft);border-radius:var(--r-md);
  text-align:center;
  transition:transform .38s var(--ease),border-color .38s var(--ease),box-shadow .38s var(--ease);
}
.badge:hover{transform:translateY(-6px);border-color:var(--line);box-shadow:var(--shadow-md)}
.badge__glyph{
  display:grid;place-items:center;width:52px;height:52px;margin:0 auto .95rem;
  border:1px solid var(--line);border-radius:50%;
  background:radial-gradient(circle at 35% 30%,rgba(212,166,74,.28),rgba(11,27,52,.85));
  color:var(--gold-lt);font-size:1.25rem;line-height:1;
  transition:transform .45s var(--ease),background-color .45s var(--ease);
}
.badge:hover .badge__glyph{transform:rotate(8deg) scale(1.06)}
.badge h3{
  font-family:var(--meta);font-size:.98rem;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--paper);margin-bottom:.45rem;
}
.badge p{font-size:.91rem;margin:0;color:var(--paper-mute)}

/* ---------- 16. FAQ ---------- */
.faq{border-top:1px solid var(--line-soft)}
.faq__item{border-bottom:1px solid var(--line-soft)}
.faq__item summary{
  display:flex;align-items:flex-start;gap:1rem;justify-content:space-between;
  padding:1.15rem .2rem;cursor:pointer;list-style:none;
  font-family:var(--display);font-size:clamp(1rem,.97rem + .22vw,1.12rem);font-weight:700;
  color:var(--paper);transition:color .28s;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{
  content:"+";flex:none;
  font-family:var(--meta);font-size:1.4rem;font-weight:500;color:var(--gold);
  line-height:1;transition:transform .35s var(--ease);
}
.faq__item[open] summary{color:var(--gold-lt)}
.faq__item[open] summary::after{transform:rotate(45deg)}
.faq__item summary:hover{color:var(--gold-lt)}
.faq__body{padding:0 2.6rem 1.35rem .2rem;font-size:.99rem;animation:faqIn .4s var(--ease)}
@keyframes faqIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ---------- 17. Final CTA ---------- */
.final-cta{
  position:relative;overflow:hidden;
  padding-block:clamp(3.4rem,7vw,6rem);
  background:
    radial-gradient(90% 130% at 50% 0%,rgba(22,49,79,.9),transparent 62%),
    linear-gradient(180deg,var(--obsidian),#06090F);
  border-top:1px solid var(--line);
  text-align:center;
}
.final-cta::before,.final-cta::after{
  content:"";position:absolute;left:50%;transform:translateX(-50%);
  width:min(660px,86%);height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.final-cta::before{top:0}
.final-cta::after{bottom:0}
.final-cta__inner{max-width:820px}
.final-cta__lead{font-size:clamp(1.02rem,.98rem + .35vw,1.18rem);margin-bottom:2rem}
.final-cta__lead strong{color:var(--gold-lt);word-break:break-word}
.final-cta__actions{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:center}

/* ---------- 18. Footer ---------- */
.site-foot{
  position:relative;
  background:linear-gradient(180deg,#05070B,#03050A);
  border-top:1px solid var(--line-soft);
  padding-top:clamp(2.6rem,5vw,4rem);
  font-size:.95rem;
}
.site-foot__grid{
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.5fr);
  gap:clamp(1.8rem,4vw,3.4rem);
  padding-bottom:clamp(2rem,4vw,3rem);
}
.brand--foot{margin-bottom:1.1rem}
.site-foot__blurb{color:var(--paper-mute);max-width:44ch;margin-bottom:1.1rem}
.site-foot__official{
  font-family:var(--meta);font-size:.86rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--paper-mute);margin-bottom:1.35rem;
}
.site-foot__official a{
  display:block;margin-top:.3rem;
  font-family:var(--body);font-size:1rem;letter-spacing:.02em;text-transform:none;
  color:var(--gold-lt);word-break:break-all;
}
.site-foot__nav{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:1.6rem;
}
.site-foot__nav h3{
  font-family:var(--meta);font-size:.8rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);margin-bottom:.85rem;
}
.site-foot__nav ul{list-style:none;margin:0;padding:0}
.site-foot__nav li{margin-bottom:.55rem}
.site-foot__nav a{color:var(--paper-mute);font-size:.94rem}
.site-foot__nav a:hover{color:var(--gold-lt)}

.site-foot__legal{
  padding-block:clamp(1.6rem,3vw,2.2rem);
  border-top:1px solid var(--line-soft);
  color:var(--paper-mute);font-size:.89rem;line-height:1.75;
}
.site-foot__legal-title{
  font-family:var(--meta);font-size:.8rem;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold);margin-bottom:.7rem;
}
.site-foot__rg{
  margin-top:1rem;padding:.85rem 1.1rem;
  border:1px solid var(--line-soft);border-radius:var(--r-sm);
  background:rgba(11,27,52,.45);
  display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;
}
.site-foot__age{
  display:inline-grid;place-items:center;flex:none;
  width:34px;height:34px;border-radius:50%;
  border:1.5px solid var(--gold);color:var(--gold-lt);
  font-family:var(--meta);font-weight:700;font-size:.82rem;letter-spacing:.02em;
}
.site-foot__copy{
  margin-top:1.1rem;padding-top:1.1rem;
  border-top:1px solid var(--line-soft);
  font-size:.85rem;color:#75819A;
}

.to-top{
  position:fixed;right:1.1rem;bottom:1.1rem;z-index:40;
  width:46px;height:46px;border-radius:50%;
  border:1px solid var(--line);
  background:rgba(11,27,52,.9);color:var(--gold-lt);
  font-size:1.1rem;cursor:pointer;
  backdrop-filter:blur(6px);
  box-shadow:var(--shadow-md);
  transition:transform .3s var(--ease),border-color .3s,background-color .3s,opacity .3s;
}
.to-top:hover{transform:translateY(-3px);border-color:var(--gold);background:rgba(16,37,66,.95)}

/* ---------- 19. Reveal animation ---------- */
.reveal{opacity:0;transform:translateY(24px)}
.reveal.is-in{opacity:1;transform:none;transition:opacity .8s var(--ease),transform .8s var(--ease)}

/* ---------- 20. Responsive ---------- */
@media (max-width:1080px){
  .hero__grid,.verify-panel,.support-layout,.legal-grid,.signals-layout,.contact-layout{
    grid-template-columns:minmax(0,1fr);
  }
  .band__head--split{grid-template-columns:minmax(0,1fr);align-items:start}
  .seal-card{max-width:520px;margin-inline:auto}
  .support-layout .figure--support{max-width:640px}
  .site-foot__grid{grid-template-columns:minmax(0,1fr)}
}

@media (max-width:900px){
  html{scroll-padding-top:82px}
  .burger{display:block}
  /* backdrop-filter creates a containing block for position:fixed children,
     which would trap the off-canvas nav inside the header. Use solid backgrounds instead. */
  .site-head{backdrop-filter:none;background:rgba(5,7,12,.94)}
  .site-head.is-stuck{background:rgba(5,7,12,.98)}
  .nav{
    position:fixed;inset:0 0 0 auto;z-index:70;width:min(360px,86vw);
    flex-direction:column;align-items:stretch;justify-content:flex-start;
    gap:0;padding:5.5rem 1.6rem 2rem;
    background:#05070C;
    background-image:linear-gradient(180deg,#0A1120,#04060A);
    border-left:1px solid var(--line);
    box-shadow:-24px 0 60px -30px rgba(0,0,0,.95);
    transform:translateX(102%);
    transition:transform .42s var(--ease),visibility .42s step-end;
    overflow-y:auto;
    visibility:hidden;
  }
  .nav.is-open{transform:none;visibility:visible;transition:transform .42s var(--ease),visibility 0s}
  .nav__list{flex-direction:column;align-items:stretch;gap:0;margin-bottom:1.6rem}
  .nav__list li{border-bottom:1px solid var(--line-soft)}
  .nav__list a{display:block;padding:.95rem .2rem;font-size:1rem}
  .nav__list a::after{display:none}
  .nav__cta{width:100%;padding:1rem 1.2rem;font-size:.82rem}
  body.nav-open{overflow:hidden}
  body.nav-open::after{
    content:"";position:fixed;inset:0;z-index:65;
    background:rgba(3,5,9,.78);backdrop-filter:blur(3px);
    pointer-events:none;
  }
  .burger{position:relative;z-index:80}
  .burger[aria-expanded="true"]{background:rgba(5,7,12,.9)}
  .grain{display:none}
  .hero__bg img{object-position:72% 40%}
  .figure--wide img{aspect-ratio:16/9}
}

@media (max-width:640px){
  .form__row{grid-template-columns:1fr}
  .strip__inner{justify-content:flex-start;gap:.6rem 1.4rem;padding-block:.9rem}
  .strip__item{font-size:.76rem;letter-spacing:.12em}
  .ribbon__inner{gap:.5rem;padding-block:.5rem}
  .ribbon__text{font-size:.75rem;text-align:center}
  .hero__stats{grid-template-columns:1fr}
  .badge{padding:1.4rem 1.15rem 1.25rem}
  .signals li{padding:1rem 1rem 1rem 3.3rem}
  .faq__body{padding-right:.4rem}
  .btn{width:100%}
  .hero__actions .btn,.final-cta__actions .btn{width:100%}
  .brand__mark{width:42px;height:42px}
  .brand__text strong{font-size:.95rem}
  .legal-doc,.form{padding:1.25rem 1.1rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .reveal{opacity:1;transform:none}
}

/* ---------- 21. Print ---------- */
@media print{
  .grain,.ribbon__copy,.burger,.to-top,.hero__bg,.nav__cta,.final-cta__actions{display:none !important}
  body{background:#fff;color:#111}
  h1,h2,h3,h4,strong{color:#000}
  a{color:#000;text-decoration:underline}
  .band,.hero,.final-cta,.site-foot{background:#fff !important;padding-block:1.2rem}
  .seal-card,.side-card,.legal-doc,.form,.compare{border:1px solid #bbb;box-shadow:none;background:#fff}
}
