:root{
  --night:#0B1730; --deep-night:#05101F; --water:#0E2A36; --deep-water:#061821; --indigo-water:#1E2A4A;
  --teal:#1FA896; --deep-teal:#0F6E5C; --still:#14665E; --dawn:#4C8CAE;
  --gold:#E4B341; --glint:#F0D48A; --copper:#B26A3E; --ember:#D98A4C;
  --mist:#DCE6EC; --star-white:#F4F6F8; --faint:#8A9AA8; --slate:#5C6B7A; --first-light:#F2D4A8;
  --head:"Manrope",system-ui,sans-serif; --body:"Inter",system-ui,sans-serif; --mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  --measure:62ch; --pad:clamp(20px,5vw,72px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--night);color:var(--mist);font-family:var(--body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--teal);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
h1,h2,h3{font-family:var(--head);font-weight:500;letter-spacing:-0.015em;line-height:1.12}
h1{font-size:clamp(34px,5.2vw,58px);max-width:16ch}
h2{font-size:clamp(26px,3.2vw,38px);max-width:22ch;margin-bottom:28px}
h3{font-size:20px;margin-bottom:8px}
p{max-width:var(--measure)}
.mono{font-family:var(--mono);font-size:0.88em}
.wrap{max-width:1160px;margin:0 auto;padding:0 var(--pad)}
section{padding:96px 0}
.muted{color:var(--faint)}
.btn{display:inline-block;font-family:var(--head);font-weight:500;font-size:16px;padding:13px 22px;border-radius:6px;border:1.5px solid var(--teal);color:var(--mist);background:transparent;cursor:pointer;line-height:1.2}
.btn:hover{background:var(--water);text-decoration:none}
.btn.primary{background:var(--teal);color:var(--deep-night);border-color:var(--teal)}
.btn.primary:hover{background:#25B9A6}
.cta{display:flex;flex-wrap:wrap;gap:12px}

/* nav */
nav{position:sticky;top:0;z-index:5;background:rgba(5,16,31,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--indigo-water)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:12px;color:var(--mist)}
.brand:hover{text-decoration:none}
.brand svg{width:34px;height:34px}
.brand b{font-family:var(--head);font-weight:500;font-size:20px;letter-spacing:-0.01em}
.brand small{display:block;font-size:11px;color:var(--faint);line-height:1;margin-top:2px}
nav ul{display:flex;gap:26px;list-style:none}
nav li a{color:var(--mist);font-size:15px}
@media (max-width:720px){nav ul{display:none}}

/* hero */
.hero{padding:0;position:relative;overflow:hidden;background:var(--night)}
.hero .sky{position:relative;padding:88px 0 40px;min-height:520px}
.hero .sky::before{content:"";position:absolute;inset:0 0 auto 0;height:64px;background:var(--deep-night)}
.stars{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.hero .mark{max-width:300px;margin:0 auto}}
.hero h1{margin:14px 0 18px}
.hero .lede{font-size:19px;color:var(--faint);margin-bottom:34px;max-width:46ch}
.hero .mark{width:100%;max-width:420px;justify-self:end}
.horizon{height:2px;background:var(--indigo-water)}
.water{background:var(--water);height:190px;position:relative;overflow:hidden;border-bottom:26px solid var(--deep-water)}
.water svg{position:absolute;inset:0;width:100%;height:100%}
.ripple{animation:drift 9s ease-in-out infinite alternate}
.ripple.slow{animation-duration:13s}
.ripple.fast{animation-duration:7s}
@keyframes drift{from{transform:translateX(-6px)}to{transform:translateX(6px)}}
/* path draw-on */
.path-line{stroke-dasharray:110;stroke-dashoffset:110;animation:draw 1.6s .3s ease-out forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.node{opacity:0;animation:appear .4s ease-out forwards}
.node.n1{animation-delay:.3s}.node.n2{animation-delay:.75s}.node.n3{animation-delay:1.15s}.node.star{animation-delay:1.75s}
@keyframes appear{to{opacity:1}}
@media (prefers-reduced-motion:reduce){.ripple{animation:none}.path-line{animation:none;stroke-dashoffset:0}.node{animation:none;opacity:1}}

/* what it does */
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
@media (max-width:800px){.three{grid-template-columns:1fr;gap:28px}}
.three h3{color:var(--star-white)}
.three p{color:var(--faint);font-size:16px}

/* tiers */
.tiers{background:var(--water);border-top:1px solid var(--indigo-water);border-bottom:1px solid var(--indigo-water)}
.tier-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:8px}
@media (max-width:800px){.tier-strip{grid-template-columns:repeat(5,1fr);gap:6px}}
.tier{background:transparent;border:1.5px solid var(--indigo-water);border-radius:8px;padding:14px 10px 12px;text-align:center;cursor:pointer;color:var(--mist);font:inherit}
.tier svg{width:72px;height:72px;display:block;margin:0 auto 8px}
.tier .code{font-family:var(--mono);font-size:12px;color:var(--faint)}
.tier .name{font-size:13px;display:block;margin-top:2px}
.tier[aria-pressed="true"]{border-color:var(--teal)}
.tier:hover{border-color:var(--still)}
@media (max-width:600px){.tier svg{width:44px;height:44px}.tier .name{display:none}}
.tier-detail{margin-top:26px;padding:22px 26px;border-left:3px solid var(--teal);max-width:70ch}
.tier-detail h3{color:var(--star-white)}
.tier-detail p{color:var(--faint)}

/* two-column sections */
.cols{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
@media (max-width:860px){.cols{grid-template-columns:1fr;gap:32px}}
.cols ul{list-style:none;margin-top:6px}
.cols li{padding:14px 0;border-top:1px solid var(--indigo-water);color:var(--mist)}
.cols li:last-child{border-bottom:1px solid var(--indigo-water)}
.cols li span{display:block;color:var(--faint);font-size:15px;margin-top:3px}
.note{font-size:14px;color:var(--faint);max-width:var(--measure);margin-top:22px;padding-top:14px;border-top:1px solid var(--indigo-water)}

/* daylight (suppliers) */
.day{background:#fff;color:var(--night)}
.day h2,.day h3{color:var(--night)}
.day .muted,.day p{color:var(--slate)}
.day p.lead{color:var(--night);font-size:18px}
.day .cols li{border-color:var(--mist);color:var(--night)}
.day .cols li span{color:var(--slate)}
.day a{color:var(--deep-teal)}
.day .btn{border-color:var(--deep-teal);color:var(--night)}
.day .btn:hover{background:var(--mist)}
.day .btn.primary{background:var(--deep-teal);color:#fff}
.day .btn.primary:hover{background:#0C5A4B}
.day .note{border-color:var(--mist);color:var(--slate)}
form{display:grid;gap:14px;max-width:440px}
label{font-size:14px;color:var(--night);display:grid;gap:6px}
input,select,textarea{font:inherit;font-size:16px;padding:11px 12px;border:1.5px solid #C9D3DA;border-radius:6px;background:#fff;color:var(--night);width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--deep-teal);outline:none;box-shadow:0 0 0 3px rgba(15,110,92,.15)}
textarea{min-height:88px;resize:vertical}
.err{color:#A32D2D;font-size:13px;display:none}
.sent{display:none;padding:18px 20px;border-left:3px solid var(--copper);background:#FBF6EE;max-width:440px}
.sent h3{margin-bottom:4px}

/* ownership */
.own{background:var(--night)}
.own .wrap{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:start}
@media (max-width:700px){.own .wrap{grid-template-columns:1fr}}
.own svg{width:112px;height:112px}
.own p+p{margin-top:14px}

/* footer */
footer{background:var(--water);border-top:1px solid var(--indigo-water)}
.refl{height:120px;position:relative;overflow:hidden}
.refl svg{position:absolute;inset:0;width:100%;height:100%}
.foot{background:var(--deep-water);padding:34px 0}
.foot .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.foot .brand b{font-size:22px}
.foot .brand small{font-size:12px}
.foot p{color:var(--faint);font-size:14px}
.foot .links{display:flex;gap:22px;font-size:14px}

/* ---- multi-page additions ---- */
nav li a[aria-current="page"]{color:var(--teal)}
.page-hero{position:relative;overflow:hidden;background:var(--night);padding:0}
.page-hero .sky{position:relative;padding:72px 0 44px;min-height:280px}
.page-hero .sky::before{content:"";position:absolute;inset:0 0 auto 0;height:48px;background:var(--deep-night)}
.page-hero .wrap{position:relative}
.page-hero h1{margin:10px 0 16px;max-width:20ch}
.page-hero .lede{font-size:19px;color:var(--faint);max-width:52ch}
.page-hero .water{height:96px;border-bottom-width:18px}
.stages{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--indigo-water)}
@media (max-width:860px){.stages{grid-template-columns:1fr}}
.stage{padding:30px 28px 34px;border-right:1px solid var(--indigo-water)}
.stage:last-child{border-right:0}
@media (max-width:860px){.stage{border-right:0;border-bottom:1px solid var(--indigo-water);padding:26px 0}}
.stage .when{font-family:var(--mono);font-size:13px;color:var(--faint);display:block;margin-bottom:10px}
.stage h3{color:var(--star-white);font-size:22px;margin-bottom:12px}
.stage p{color:var(--faint);font-size:16px}
.stage ul{list-style:none;margin-top:16px}
.stage li{padding:9px 0;border-top:1px solid var(--indigo-water);font-size:15px}
.stage li span{display:block;color:var(--faint);font-size:14px;margin-top:2px}
.prose p+p{margin-top:16px}
.prose h3{margin-top:34px;color:var(--star-white)}
.day .prose h3{color:var(--night)}
.list{list-style:none}
.list li{padding:14px 0;border-top:1px solid var(--indigo-water)}
.list li:last-child{border-bottom:1px solid var(--indigo-water)}
.list li b{font-weight:500;color:var(--star-white);font-family:var(--head)}
.list li span{display:block;color:var(--faint);font-size:15px;margin-top:3px}
.day .list li{border-color:var(--mist)}
.day .list li b{color:var(--night)}
.day .list li span{color:var(--slate)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:48px}
@media (max-width:860px){.grid2{grid-template-columns:1fr;gap:28px}}
.tag{display:inline-block;font-family:var(--mono);font-size:12px;color:var(--faint);border:1px solid var(--indigo-water);border-radius:4px;padding:2px 8px;margin-left:8px;vertical-align:middle}
.day .tag{border-color:var(--mist);color:var(--slate)}
.dl{display:flex;align-items:center;gap:16px;padding:20px 22px;border:1.5px solid var(--mist);border-radius:8px;max-width:520px;margin-top:22px}
.dl svg{width:36px;height:36px;flex:none}
.dl p{font-size:14px;color:var(--slate);margin:2px 0 0}
.dl b{font-family:var(--head);font-weight:500;color:var(--night)}
.form-wide{max-width:none}
.form-wide .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:640px){.form-wide .row{grid-template-columns:1fr}}
fieldset{border:0;padding:0;margin:0 0 6px}
legend{font-family:var(--head);font-weight:500;font-size:18px;color:var(--night);margin:18px 0 10px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--night)}
.check input{width:auto;margin-top:4px}
.small{font-size:14px;color:var(--faint)}
.day .small{color:var(--slate)}

/* ---- schematic + evidence ---- */
.schematic{background:var(--water);border:1px solid var(--indigo-water);border-radius:12px;padding:18px 18px 8px;margin-top:8px}
.schematic svg{width:100%;height:auto;display:block}
.evidence{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:8px}
@media (max-width:860px){.evidence{grid-template-columns:repeat(2,1fr)}}
.evidence div{border-top:2px solid var(--teal);padding:14px 0 4px}
.evidence b{display:block;font-family:var(--head);font-weight:500;font-size:34px;color:var(--star-white);line-height:1.1}
.evidence span{display:block;font-size:14px;color:var(--faint);margin-top:6px}
.day .evidence div{border-color:var(--deep-teal)}
.day .evidence b{color:var(--night)}
.day .evidence span{color:var(--slate)}
.reports{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
@media (max-width:860px){.reports{grid-template-columns:1fr}}
.reports .list li b{display:block}
.reports .list li em{display:block;font-style:normal;font-family:var(--mono);font-size:12px;color:var(--faint);margin-top:4px}
.day .reports .list li em{color:var(--slate)}
.notlist li{padding:10px 0;border-top:1px solid var(--indigo-water);font-size:16px;color:var(--mist)}
.notlist li:last-child{border-bottom:1px solid var(--indigo-water)}
.notlist{list-style:none}
.day .notlist li{color:var(--night);border-color:var(--mist)}

/* ---- mobile menu ---- */
.menu-btn{display:none;background:none;border:0;padding:10px;cursor:pointer;width:44px;height:44px;flex-direction:column;justify-content:center;gap:5px}
.menu-btn span{display:block;height:2px;background:var(--mist);border-radius:2px;transition:transform .2s,opacity .2s}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:720px){
  .menu-btn{display:flex}
  nav ul{display:none;position:absolute;left:0;right:0;top:64px;background:var(--deep-night);border-bottom:1px solid var(--indigo-water);flex-direction:column;gap:0;padding:8px 0}
  nav ul.open{display:flex}
  nav li a{display:block;padding:14px var(--pad);font-size:17px}
}
