/* Lheva — shared site styles. Tokens follow Brand & Design §6/§7 (dark register for the site). */
:root{
  --night:#0d0d0d;--night2:#131313;--night3:#1a1a1a;--ink:#f4f2ec;--dim:#aaa7a0;
  --line:#2a2a28;--paper:#f3f1eb;--signal:#e84010;--green:#29d36f;--amber:#f2a521;
  --max:1260px;--mono:'IBM Plex Mono',monospace;--sans:'Epilogue',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--night);scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--night);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit} button{font:inherit}
::selection{background:var(--signal);color:#fff}

/* ---------- shell: nav + footer (injected by assets/js/shell.js — one home) ---------- */
.nav{position:fixed;z-index:100;inset:0 0 auto 0;height:66px;display:flex;align-items:center;background:linear-gradient(to bottom,rgba(8,8,8,.88),rgba(8,8,8,.46),transparent);pointer-events:none}
.nav.solid{background:rgba(13,13,13,.92);backdrop-filter:blur(12px);border-bottom:1px solid #1e1e1c}
.nav-inner{width:min(var(--max),calc(100% - 56px));margin:auto;display:flex;align-items:center;justify-content:space-between;pointer-events:auto}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.22em}
.brand svg{width:26px;height:26px}.nav-right{display:flex;align-items:center;gap:26px}
.nav-right a{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.15em;text-decoration:none;color:#d6d3cc;text-shadow:0 0 2px rgba(0,0,0,.9),0 1px 4px rgba(0,0,0,.8);transition:.2s}
.nav-right a:hover,.nav-right a[aria-current]{color:#fff}
.menu-toggle{display:none}
:focus-visible{outline:2px solid var(--signal);outline-offset:5px}
.preview{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;color:#85827c}
.preview i{width:6px;height:6px;border-radius:50%;border:1px solid var(--signal);display:block}
footer{position:relative;z-index:50;border-top:1px solid #242422;background:#0d0d0d}
.foot{width:min(var(--max),calc(100% - 80px));margin:auto;padding:34px 0;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;color:#a5a29b;text-transform:uppercase}
.foot .legal{flex-basis:100%;text-transform:none;letter-spacing:.03em;color:#8f8c85;line-height:1.6}   /* company details required on the site (2015 trading disclosure rules), 23 Oct */
.foot a{text-decoration:none}.foot a:hover{color:#fff}.foot nav{display:flex;gap:22px;flex-wrap:wrap}

/* ---------- type ---------- */
.eyebrow{font-family:var(--mono);font-size:16px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--signal);margin-bottom:22px}
.hero-title{font-size:clamp(52px,7.2vw,108px);line-height:.98;letter-spacing:-.045em;max-width:10ch;font-weight:650;text-wrap:balance}
.hero-sub{font-size:clamp(17px,1.55vw,21px);font-weight:300;color:#c0bdb6;max-width:48ch;margin-top:28px;line-height:1.65}
.story-title{font-size:clamp(38px,4.6vw,70px);line-height:1.04;letter-spacing:-.035em;font-weight:600;text-wrap:balance}
.story-text{font-size:clamp(15px,1.35vw,19px);line-height:1.65;color:#bbb8b1;font-weight:300;max-width:46ch;margin-top:22px}
.cta{display:inline-flex;align-items:center;gap:18px;margin-top:42px;padding:15px 0;text-decoration:none;border-bottom:1px solid #5a5751;font-size:16px}
.cta span{font-family:var(--mono);font-size:12px;color:var(--signal);letter-spacing:.1em}.cta:hover{border-color:var(--signal)}
.link{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--signal);text-decoration:none;border-bottom:1px solid transparent}.link:hover{border-color:var(--signal)}

/* ---------- inner pages ---------- */
.page{position:relative;z-index:1;padding:150px 0 110px;min-height:70vh}
.wrap{width:min(var(--max),calc(100% - 80px));margin:auto}
.page-head{max-width:820px}
.page-head h1{font-size:clamp(46px,6vw,92px);line-height:.98;letter-spacing:-.045em;font-weight:650;text-wrap:balance}
.page-head .lede{font-size:clamp(18px,1.6vw,22px);font-weight:300;color:#c0bdb6;max-width:52ch;margin-top:28px;line-height:1.6}
.prose{max-width:62ch;margin-top:56px;font-size:clamp(16px,1.3vw,19px);font-weight:300;color:#c9c6bf;line-height:1.7}
.prose p+p{margin-top:22px}.prose h2{font-size:clamp(19px,1.6vw,22px);font-weight:600;color:var(--ink);letter-spacing:-.015em;margin:46px 0 12px}.prose ul{margin:14px 0 0 1.1em}.prose li+li{margin-top:10px}.prose a{color:#ff6d38;text-decoration:none}.prose a:hover{text-decoration:underline}.prose strong{font-weight:500;color:var(--ink)}
.rules{margin-top:70px;padding-top:34px;border-top:1px solid #262624;display:grid;grid-template-columns:repeat(2,1fr);gap:26px 60px;max-width:900px}
.rules div{font-size:clamp(20px,2vw,28px);letter-spacing:-.025em;font-weight:500;line-height:1.2}
.status{margin-top:64px;display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#85827c}
.status i{width:6px;height:6px;border-radius:50%;border:1px solid var(--signal)}
.cards{margin-top:70px;display:grid;grid-template-columns:1fr;gap:1px;background:#262624;border:1px solid #262624;max-width:900px}
.card{background:var(--night);padding:40px 36px;text-decoration:none;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;transition:background .2s}
.card:hover{background:var(--night2)}
.card h2{font-size:clamp(28px,3vw,44px);letter-spacing:-.035em;line-height:1.05}.card p{margin-top:12px;color:#b3b0a9;font-weight:300;max-width:52ch}
.card .go{font-family:var(--mono);font-size:12px;color:var(--signal);letter-spacing:.1em;white-space:nowrap}
.price{margin-top:60px;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#262624;border:1px solid #262624;max-width:1000px}
.price>div{background:var(--night);padding:44px 38px}
.price h2{font-size:clamp(26px,2.6vw,38px);letter-spacing:-.03em;line-height:1.08}
.price .value{font-size:clamp(48px,5vw,72px);font-weight:600;letter-spacing:-.05em;line-height:1;margin:26px 0 8px}
.price .per{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#85827c}
.price p{margin-top:22px;color:#b3b0a9;font-weight:300;max-width:40ch}
.price ul{margin-top:18px;list-style:none;color:#b3b0a9;font-weight:300}.price li{padding:6px 0;border-bottom:1px solid #1f1f1d}
.contact-grid{margin-top:60px;display:grid;grid-template-columns:1fr 1fr;gap:60px;max-width:1000px}
.contact-grid h2{font-size:clamp(24px,2.4vw,34px);letter-spacing:-.03em;line-height:1.1}
.contact-grid p{margin-top:14px;color:#b3b0a9;font-weight:300;max-width:42ch}

@media(max-width:900px){
  .nav-inner{width:calc(100% - 36px)}.preview{font-size:9.5px}
  .menu-toggle{display:block;min-height:44px;padding:8px 14px;background:var(--night);color:var(--ink);border:1px solid #5a5751;border-radius:3px;cursor:pointer}
  .nav-right{display:none;position:absolute;top:66px;left:18px;right:18px;padding:12px;background:#131313;border:1px solid #5a5751;box-shadow:0 16px 40px #0008}
  .menu-toggle[aria-expanded="true"]+.nav-right{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .nav-right a{display:flex;align-items:center;min-height:48px;padding:12px;font-size:13px}
  .wrap,.foot{width:calc(100% - 44px)}.page{padding:120px 0 80px}
  .rules,.price,.contact-grid{grid-template-columns:1fr}.card{grid-template-columns:1fr}
  .foot{font-size:9.5px}
}

/* One World (1 Sep): during a section swap the copy fades while the world keeps living */
.story-ui,.world-head,.panels,.sticky>.copy,.progress{transition:opacity .3s ease}
main.swapping :is(.story-ui,.world-head,.panels,.sticky>.copy,.progress){opacity:0!important}
