:root{ --green:#0A2530; --green-deep:#0A1E1A; --cream:#FBF9F4; --card:#EDE6D6; --divider:#D8D0BC; --amber:#FFC01F; --amber-2:#F0AC00; --teal-cream:#1A8A78; --teal-dark:#3EC9B3; --body:#2A2A2A; --ink-soft:rgba(244,239,229,0.62); --ink-softer:rgba(244,239,229,0.32); --rule-dark:rgba(244,239,229,0.10); --ease-out:cubic-bezier(0.23, 1, 0.32, 1); --max:1180px; }
*, *::before, *::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{ font-family:'Inter', system-ui, sans-serif; background:var(--cream); color:var(--body); line-height:1.65; -webkit-font-smoothing:antialiased; }
a{ color:var(--teal-cream); text-decoration:underline; text-underline-offset:3px; transition:color 160ms ease; }
a:hover{ color:var(--green); }
.wrap{ max-width:var(--max); margin:0 auto; padding:0 1.5rem; }
@media (min-width:768px){
  .wrap{ padding:0 3rem; }
}
.display{ font-family:'Barlow Condensed','Inter',sans-serif; font-weight:800; letter-spacing:-0.005em; line-height:1; }
.eyebrow{ font-family:'Inter',sans-serif; font-size:0.72rem; font-weight:600; letter-spacing:0.22em; text-transform:uppercase; color:var(--teal-cream); }
.logo-link{ display:inline-flex; align-items:center; line-height:0; }
.logo-link img{ display:block; height:34px; width:auto; }
.logo-nav{ height:44px; }
@media (min-width:768px){
  .logo-nav{ height:52px; }
}
.logo-foot{ height:42px; }
nav.top{ position:sticky; top:0; z-index:80; padding:1.45rem 1.5rem; display:flex; align-items:center; justify-content:space-between; background:rgba(15,41,36,0.95); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid var(--rule-dark); }
@media (min-width:768px){
  nav.top{ padding:1.55rem 3rem; }
}
header.page{ background:var(--green); color:var(--cream); padding:5rem 0 4rem; }
@media (min-width:768px){
  header.page{ padding:7rem 0 5rem; }
}
header.page .eyebrow{ color:var(--teal-dark); margin-bottom:1.25rem; display:inline-block; }
header.page h1{ font-size:clamp(2.4rem, 6vw, 4.5rem); color:var(--cream); margin-bottom:1.25rem; max-width:22ch; }
header.page p{ color:var(--ink-soft); font-size:1.05rem; max-width:60ch; line-height:1.55; }
header.page .meta{ color:var(--ink-softer); font-size:0.8rem; margin-top:2rem; letter-spacing:0.04em; }
.draft-banner{ background:var(--amber); color:var(--green); padding:0.85rem 1.5rem; font-size:0.78rem; font-weight:600; letter-spacing:0.04em; text-align:center; }
.draft-banner b{ font-weight:700; }
.content{ padding:4rem 0 6rem; }
@media (min-width:768px){
  .content{ padding:6rem 0 8rem; }
}
.layout{ display:grid; grid-template-columns:1fr; gap:3rem; }
@media (min-width:960px){
  .layout{ grid-template-columns:18rem 1fr; gap:4rem; align-items:start; }
}
aside.toc{ position:sticky; top:6rem; align-self:start; border-left:1px solid var(--divider); padding-left:1.5rem; }
aside.toc h4{ font-family:'Inter',sans-serif; font-size:0.72rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--teal-cream); margin-bottom:1rem; }
aside.toc ul{ list-style:none; display:grid; gap:0.55rem; }
aside.toc a{ color:var(--body); text-decoration:none; font-size:0.9rem; line-height:1.35; display:block; transition:color 160ms ease; }
aside.toc a:hover{ color:var(--teal-cream); }
article h2{ font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:clamp(1.8rem, 3.5vw, 2.6rem); color:var(--green); margin-top:3rem; margin-bottom:1rem; letter-spacing:0.005em; line-height:1.05; }
article h2:first-child{ margin-top:0; }
article h3{ font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:1.35rem; color:var(--green); margin-top:2rem; margin-bottom:0.6rem; letter-spacing:0.005em; }
article p{ max-width:64ch; margin-bottom:1rem; color:var(--body); font-size:1rem; line-height:1.7; }
article ul, article ol{ max-width:64ch; padding-left:1.25rem; margin-bottom:1rem; }
article li{ margin-bottom:0.45rem; line-height:1.65; color:var(--body); }
article .sec{ scroll-margin-top:6rem; }
article .note{ background:var(--card); border:1px solid var(--divider); border-radius:14px; padding:1.25rem 1.5rem; margin:1.5rem 0; font-size:0.94rem; line-height:1.6; }
article .note strong{ color:var(--green); font-weight:600; }
article hr{ border:none; height:1px; background:var(--divider); margin:3rem 0; }
.table-rates{ width:100%; border-collapse:collapse; margin:1rem 0 2rem; font-size:0.95rem; }
.table-rates th, .table-rates td{ text-align:left; padding:0.85rem 1rem; border-bottom:1px solid var(--divider); }
.table-rates th{ font-family:'Inter',sans-serif; font-weight:600; font-size:0.72rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--teal-cream); border-bottom-color:var(--teal-cream); }
.table-rates td:first-child{ font-weight:600; color:var(--green); }
.placeholder{ display:inline-block; background:rgba(255,192,31,0.18); color:#7a5300; padding:0.05rem 0.45rem; border-radius:4px; font-weight:600; font-size:0.92em; }
footer.site{ background:var(--green-deep); color:var(--ink-soft); padding:3rem 0 2rem; font-size:0.85rem; }
footer.site .foot-grid{ display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media (min-width:680px){
  footer.site .foot-grid{ grid-template-columns:1fr auto; align-items:center; }
}
@media (prefers-reduced-motion: reduce){
  *{ transition-duration:0.001ms !important; animation-duration:0.001ms !important; }
}
/* standardised footer (home version) */
footer{ background:var(--green-deep); color:var(--ink-soft); padding:4rem 0 2.5rem; font-size:0.88rem; }
footer .foot-grid{ display:grid; grid-template-columns:1fr; gap:2.5rem; }
@media (min-width:760px){
  footer .foot-grid{ grid-template-columns:2fr 1fr 1fr 1fr; gap:3rem; }
}
footer .blurb{ max-width:30ch; line-height:1.5; color:var(--ink-softer); font-size:0.85rem; }
footer .foot-col h5{ font-family:'Inter',sans-serif; font-weight:600; font-size:0.72rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--teal-dark); margin:0 0 1rem; }
footer .foot-col ul{ list-style:none; display:grid; gap:0.6rem; margin:0; padding:0; }
footer .foot-col li{ line-height:1.4; }
footer .foot-col a{ color:var(--ink-soft); transition:color 160ms ease; text-decoration:none; }
footer .foot-col a:hover{ color:var(--cream); }
footer .foot-legal{ border-top:1px solid var(--rule-dark); margin-top:3rem; padding-top:1.75rem; display:flex; flex-direction:column; gap:0.75rem; font-size:0.74rem; color:var(--ink-softer); }
@media (min-width:680px){
  footer .foot-legal{ flex-direction:row; justify-content:space-between; align-items:center; }
}
footer .logo-foot{ height:46px; }
.page-label{ font-family:'Inter',sans-serif; font-weight:600; font-size:0.72rem; letter-spacing:0.26em; text-transform:uppercase; color:#3EC9B3; margin-left:0.85rem; padding-left:0.85rem; border-left:1px solid rgba(244,239,229,0.22); line-height:1; align-self:center; white-space:nowrap; }
/* cta glow on hover */
.cta, .cta-ghost, .waitlist .submit{ transition:background .18s ease, transform .2s ease, box-shadow .28s ease, filter .2s ease, color .18s ease, text-shadow .2s ease !important; }
.cta:hover, .waitlist .submit:hover{ transform:translateY(-2px); box-shadow:0 0 22px 2px rgba(255,192,31,0.55), 0 10px 28px rgba(255,192,31,0.30); filter:brightness(1.06); }
.cta-ghost:hover{ transform:translateY(-2px); box-shadow:0 0 22px 1px rgba(0,160,161,0.55), 0 10px 26px rgba(0,128,129,0.30); color:#fff; text-shadow:0 0 12px rgba(62,201,179,0.7); }
