:root{
  --navy-950:#070f1f;
  --navy-900:#0b1b33;
  --navy-800:#142944;
  --navy-700:#1d3a5f;
  --gold-600:#a9821f;
  --gold-500:#c9a227;
  --gold-400:#dab84f;
  --gold-300:#e8c874;
  --paper:#f7f5ef;
  --paper-dim:#eeebe1;
  --ink:#181b22;
  --ink-soft:#4d5666;
  --ink-faint:#8891a0;
  --before:#9aa2b1;
  --line:rgba(24,27,34,0.1);
  --line-dark:rgba(232,200,116,0.18);
  --max:1180px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--ink);font-family:'Manrope',sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden;}
img,svg{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:'Fraunces',serif;font-weight:500;letter-spacing:-0.01em;color:var(--navy-950);}
.mono{font-family:'IBM Plex Mono',monospace;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px;}
section{position:relative;}
.dark{background:var(--navy-950);color:#e9e4d6;}
.dark h1,.dark h2,.dark h3,.dark h4{color:#f5f1e6;}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold-600);display:flex;align-items:center;gap:10px;margin-bottom:18px;}
.dark .eyebrow{color:var(--gold-300);}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor;}

/* icons */
.icon{width:30px;height:30px;stroke:var(--gold-600);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}
.dark .icon{stroke:var(--gold-300);}
.icon-wrap{width:56px;height:56px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;margin-bottom:20px;background:#fff;}
.dark .icon-wrap{border-color:rgba(232,200,116,0.22);background:transparent;}

/* progress + nav */
.ledger-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:1000;background:transparent;}
.ledger-progress-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--gold-600),var(--gold-300));transition:width .1s linear;}
nav{position:fixed;top:3px;left:0;right:0;z-index:900;background:rgba(7,15,31,0.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-dark);}
.nav-inner{max-width:var(--max);margin:0 auto;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;gap:10px;font-family:'Fraunces',serif;font-weight:600;font-size:19px;color:#f5f1e6;letter-spacing:0.01em;}
.nav-logo .bars{display:flex;align-items:flex-end;gap:2px;height:16px;}
.nav-logo .bars span{width:3px;background:linear-gradient(180deg,var(--gold-300),var(--gold-600));display:block;}
.nav-logo .bars span:nth-child(1){height:40%;}
.nav-logo .bars span:nth-child(2){height:70%;}
.nav-logo .bars span:nth-child(3){height:100%;}
.nav-links{display:flex;gap:28px;align-items:center;}
.nav-links a{font-size:13.5px;color:#c9cddb;letter-spacing:0.01em;transition:color .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--gold-300);}
.nav-cta{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.04em;border:1px solid var(--gold-500);color:var(--gold-300)!important;padding:9px 18px;transition:all .2s;white-space:nowrap;}
.nav-cta:hover{background:var(--gold-500);color:var(--navy-950)!important;}
.nav-toggle{display:none;}
@media(max-width:960px){
  .nav-links{position:fixed;top:57px;left:0;right:0;background:var(--navy-950);flex-direction:column;padding:24px 32px;gap:18px;border-bottom:1px solid var(--line-dark);transform:translateY(-130%);transition:transform .3s;max-height:80vh;overflow-y:auto;}
  .nav-links.open{transform:translateY(0);}
  .nav-toggle{display:block;background:none;border:none;color:#f5f1e6;font-size:22px;cursor:pointer;}
}

.section{padding:100px 0;}
.section-head{max-width:640px;margin-bottom:56px;}
.section-head h2{font-size:clamp(28px,3.3vw,40px);line-height:1.15;}
.section-head p{color:var(--ink-soft);margin-top:16px;font-size:16px;}
.dark .section-head p{color:#aeb4c4;}

/* buttons */
.btn-primary{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,var(--gold-400),var(--gold-600));color:var(--navy-950);font-weight:700;font-size:14.5px;padding:16px 30px;border:none;cursor:pointer;letter-spacing:0.01em;transition:transform .2s, box-shadow .2s;box-shadow:0 10px 30px -12px rgba(201,162,39,0.5);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px -12px rgba(201,162,39,0.65);}
.btn-outline{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--navy-950);color:var(--navy-950);font-size:14px;padding:15px 26px;transition:all .2s;}
.btn-outline:hover{background:var(--navy-950);color:#f5f1e6;}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(232,200,116,0.4);color:#e8c874;font-size:14px;padding:15px 26px;transition:all .2s;}
.btn-ghost:hover{border-color:var(--gold-300);background:rgba(232,200,116,0.08);}

/* subpage header */
.page-header{background:var(--navy-950);padding:160px 0 80px;position:relative;overflow:hidden;}
.page-header::after{content:"";position:absolute;top:0;right:-10%;width:60%;height:100%;background:radial-gradient(ellipse at center, rgba(201,162,39,0.12), transparent 60%);}
.breadcrumb{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ink-faint);margin-bottom:20px;}
.breadcrumb a{color:var(--gold-300);}
.page-header h1{color:#f5f1e6;font-size:clamp(30px,4vw,46px);max-width:720px;line-height:1.15;}
.page-header p{color:#b6bccb;margin-top:18px;max-width:560px;font-size:16px;}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

/* footer */
footer{background:var(--navy-950);color:#8891a0;padding:60px 0 30px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:36px;border-bottom:1px solid rgba(232,200,116,0.12);}
.footer-col h5{color:#e8c874;font-family:'IBM Plex Mono',monospace;font-size:11.5px;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:16px;}
.footer-col a{display:block;font-size:13.5px;color:#aeb4c4;margin-bottom:10px;transition:color .2s;}
.footer-col a:hover{color:var(--gold-300);}
.footer-tag{font-size:13px;letter-spacing:0.04em;color:#c9cddb;margin-top:14px;max-width:280px;}
.footer-bottom{display:flex;justify-content:space-between;padding-top:24px;font-size:12px;flex-wrap:wrap;gap:10px;}
.footer-bottom a{color:#8891a0;}
.footer-bottom a:hover{color:var(--gold-300);}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr;gap:30px;}}

/* cookie banner */
.cookie-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:1100;
  background:var(--navy-950);border-top:1px solid rgba(232,200,116,0.22);
  padding:20px 32px;display:none;
}
.cookie-banner.show{display:block;}
.cookie-inner{max-width:var(--max);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}
.cookie-inner p{font-size:13.5px;color:#c3c8d6;max-width:640px;}
.cookie-inner a{color:var(--gold-300);text-decoration:underline;}
.cookie-actions{display:flex;gap:12px;flex-shrink:0;}
.cookie-btn{font-family:'IBM Plex Mono',monospace;font-size:12px;padding:10px 18px;cursor:pointer;border:none;}
.cookie-accept{background:var(--gold-500);color:var(--navy-950);font-weight:700;}
.cookie-decline{background:transparent;border:1px solid rgba(232,200,116,0.3);color:#c3c8d6;}

/* legal pages */
.legal-body{max-width:760px;padding:100px 0 120px;}
.legal-body h2{font-size:24px;margin:44px 0 14px;}
.legal-body h2:first-child{margin-top:0;}
.legal-body p, .legal-body li{color:var(--ink-soft);font-size:15.5px;margin-bottom:12px;}
.legal-body ul{padding-left:22px;margin-bottom:16px;}
.legal-note{background:var(--paper-dim);border-left:2px solid var(--gold-500);padding:16px 20px;font-size:14px;color:var(--ink-soft);margin:26px 0;}
.legal-updated{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--ink-faint);margin-bottom:8px;}

:focus-visible{outline:2px solid var(--gold-500);outline-offset:2px;}
@media(max-width:920px){.section{padding:70px 0;}}
