:root{
  --bg:#0B1017; --bg-2:#0D1520; --bg-3:#0F1923; --surface:#111E2E; --surface-2:#15273B;
  --line:#1E2D40; --line-2:#2B405B; --amber:#F5A830; --amber-2:#FFC169;
  --text:#F0EDE6; --text-2:#D8D4CB; --text-3:#A8B4BE;
  --shadow:0 18px 40px -22px rgba(0,0,0,.85); --shadow-lg:0 28px 60px -24px rgba(0,0,0,.9);
  --maxw:880px;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:'Barlow',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:17px; line-height:1.7; -webkit-font-smoothing:antialiased;
}
a{color:var(--amber); text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 22px;}
.display{font-family:'Barlow Condensed',sans-serif; font-weight:700; letter-spacing:-.015em; line-height:1.08;}

/* Header / nav */
.site-header{position:sticky; top:0; z-index:50; background:rgba(11,16,23,.9);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
.site-header .wrap{display:flex; align-items:center; justify-content:space-between; padding-top:14px; padding-bottom:14px; max-width:1100px;}
.brand{font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:21px; color:#fff; letter-spacing:-.01em; text-decoration:none;}
.brand:hover{text-decoration:none;}
.brand span{color:var(--amber);}
.nav a{color:var(--text-2); font-size:14px; font-weight:500; margin-left:20px;}
.nav a:hover{color:var(--amber); text-decoration:none;}
.nav-cta{background:linear-gradient(180deg,var(--amber-2),var(--amber)); color:#0B1017!important; padding:9px 18px; border-radius:7px; font-weight:700;}
.nav-cta:hover{filter:brightness(1.05); text-decoration:none!important;}
@media(max-width:680px){.nav a:not(.nav-cta){display:none;}}

/* Breadcrumb */
.crumb{font-size:13px; color:var(--text-3); padding:22px 0 0;}
.crumb a{color:var(--text-3);} .crumb a:hover{color:var(--amber);}
.crumb span{margin:0 8px; opacity:.5;}

/* Hero / page head */
main{padding-bottom:40px;}
.page-head{padding:18px 0 8px;}
.kicker{display:inline-flex; align-items:center; gap:10px; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--amber); margin-bottom:14px;}
.kicker::before{content:""; width:24px; height:2px; background:linear-gradient(90deg,var(--amber),rgba(245,168,48,0));}
h1.display{font-size:clamp(30px,4.4vw,46px); color:#fff; margin:.1em 0 .35em;}
h2.display{font-size:clamp(23px,3vw,31px); color:var(--text); margin:1.8em 0 .5em;}
h3{font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:20px; color:var(--text); margin:1.6em 0 .4em; letter-spacing:-.01em;}
p{margin:0 0 1.1em; color:var(--text-2);}
.lead{font-size:19px; color:var(--text-2); margin-bottom:1.4em;}
strong{color:var(--text);}
ul,ol{color:var(--text-2); padding-left:1.25em;} li{margin:.4em 0;}

/* Answer box (TL;DR) - the AI-citable block */
.answer{background:linear-gradient(180deg,var(--surface),#0f1a28); border:1px solid var(--line-2);
  border-left:3px solid var(--amber); border-radius:10px; padding:20px 22px; margin:6px 0 26px; box-shadow:var(--shadow);}
.answer .answer-label{font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--amber); display:block; margin-bottom:7px;}
.answer p{margin:0; color:var(--text); font-size:17px;}

/* Formula / key fact callouts */
.callout{background:var(--bg-2); border:1px solid var(--line); border-radius:8px; padding:14px 18px; margin:18px 0; font-size:15px;}
.callout .callout-label{display:block; font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--amber); margin-bottom:5px;}
.callout code,.formula{font-family:ui-monospace,Menlo,Consolas,monospace; color:var(--amber-2); font-size:14px;}

/* Tables */
.table-wrap{overflow-x:auto; margin:20px 0; border:1px solid var(--line); border-radius:10px;}
table{width:100%; border-collapse:collapse; font-size:14.5px; min-width:480px;}
th,td{text-align:left; padding:12px 16px; border-bottom:1px solid var(--line); color:var(--text-2); vertical-align:top;}
thead th{background:var(--surface-2); color:var(--text); font-family:'Barlow Condensed',sans-serif; font-weight:700; letter-spacing:.01em;}
tbody tr:last-child td{border-bottom:none;}
tbody tr:nth-child(even){background:rgba(255,255,255,.015);}
td:first-child{color:var(--text); font-weight:500;}

/* Cards / grids */
.grid{display:grid; gap:16px; margin:22px 0;}
.grid-2{grid-template-columns:repeat(2,1fr);} .grid-3{grid-template-columns:repeat(3,1fr);}
@media(max-width:720px){.grid-2,.grid-3{grid-template-columns:1fr;}}
.card{background:linear-gradient(180deg,var(--surface),#0f1a28); border:1px solid var(--line); border-top:2px solid var(--amber);
  border-radius:10px; padding:20px; box-shadow:var(--shadow); transition:transform .2s,box-shadow .2s;}
.card:hover{transform:translateY(-3px); box-shadow:var(--shadow-lg);}
.card h3{margin-top:0;} .card p{font-size:14.5px; margin-bottom:0;}
.card a{font-weight:700;}

/* Steps (how-to) */
.steps{list-style:none; padding:0; counter-reset:step; margin:22px 0;}
.steps li{position:relative; padding:16px 16px 16px 58px; border:1px solid var(--line); border-radius:10px; margin:0 0 12px; background:var(--surface);}
.steps li::before{counter-increment:step; content:counter(step); position:absolute; left:16px; top:16px; width:28px; height:28px;
  background:var(--amber); color:#0B1017; font-family:'Barlow Condensed',sans-serif; font-weight:700; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:15px;}
.steps li strong{display:block; color:#fff; margin-bottom:3px;}

/* FAQ */
.faq{margin:26px 0; border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{cursor:pointer; list-style:none; padding:16px 2px; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:18px; color:var(--text); display:flex; justify-content:space-between; gap:14px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+"; color:var(--amber); font-size:22px; line-height:1;}
.faq details[open] summary::after{content:"\2212";}
.faq summary:hover{color:var(--amber);}
.faq .faq-a{padding:0 2px 18px; font-size:15.5px; color:var(--text-2);}

/* CTA block */
.cta{background:radial-gradient(120% 140% at 50% 0%,#14202e,#0a1019); border:1px solid var(--line-2); border-radius:14px;
  padding:34px 28px; margin:34px 0; text-align:center; box-shadow:var(--shadow-lg); position:relative; overflow:hidden;}
.cta::before{content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--amber),var(--amber-2),transparent);}
.cta h2{font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:27px; color:#fff; margin:0 0 8px; letter-spacing:-.01em;}
.cta p{color:var(--text-2); margin:0 auto 18px; max-width:520px; font-size:15.5px;}
.btns{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
.btn{background:linear-gradient(180deg,var(--amber-2),var(--amber)); color:#0B1017; padding:14px 26px; border-radius:7px; font-weight:700; font-size:15px; display:inline-flex; align-items:center; gap:8px; box-shadow:0 10px 26px -10px rgba(245,168,48,.5); border:none; cursor:pointer;}
.btn:hover{transform:translateY(-2px); filter:brightness(1.04); text-decoration:none;}
.btn-ghost{background:transparent; color:var(--amber); border:1.5px solid var(--amber); padding:13px 24px; border-radius:7px; font-weight:700; font-size:14px; display:inline-flex; align-items:center; gap:8px;}
.btn-ghost:hover{background:var(--amber); color:#0B1017; text-decoration:none;}
.cta-sub{font-size:12.5px; color:var(--text-3); margin-top:14px;}

/* Related links */
.related{margin:30px 0 10px;} .related h2{font-size:22px;}
.related-list{display:flex; flex-wrap:wrap; gap:10px; padding:0; list-style:none;}
.related-list a{display:inline-block; background:var(--surface); border:1px solid var(--line); border-radius:999px; padding:8px 16px; font-size:14px; color:var(--text-2);}
.related-list a:hover{border-color:var(--amber); color:var(--amber); text-decoration:none;}

/* Calculator widget */
.calc{background:linear-gradient(180deg,var(--surface),#0f1a28); border:1px solid var(--line-2); border-radius:14px; padding:26px; margin:24px 0; box-shadow:var(--shadow-lg);}
.calc .field{margin:0 0 16px;}
.calc label{display:block; font-size:14px; font-weight:700; color:var(--text); margin-bottom:6px;}
.calc .help{font-size:12.5px; color:var(--text-3); margin:4px 0 0; line-height:1.5;}
.calc .input-row{display:flex; align-items:center; gap:8px; background:var(--bg-2); border:1px solid var(--line); border-radius:8px; padding:0 12px;}
.calc .input-row:focus-within{border-color:var(--amber);}
.calc .affix{color:var(--text-3); font-size:14px;}
.calc input[type=number]{flex:1; background:transparent; border:none; color:var(--text); font-size:17px; font-family:inherit; padding:12px 4px; width:100%;}
.calc input[type=number]:focus{outline:none;}
.calc input::-webkit-outer-spin-button,.calc input::-webkit-inner-spin-button{opacity:.4;}
.calc-result{margin-top:8px; background:var(--bg-3); border:1px solid var(--line-2); border-top:3px solid var(--amber); border-radius:10px; padding:22px; text-align:center;}
.calc-result .result-label{font-size:13px; color:var(--text-3); text-transform:uppercase; letter-spacing:.08em; display:block; margin-bottom:6px;}
.calc-result .result-value{font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:46px; color:var(--amber); line-height:1; letter-spacing:-.02em;}
.calc-result .result-note{font-size:13px; color:var(--text-2); margin-top:10px;}

/* Methodology / integrity note */
.note{font-size:13px; color:var(--text-3); border-left:2px solid var(--line-2); padding:6px 0 6px 14px; margin:22px 0; line-height:1.6;}

/* Footer */
.site-footer{border-top:1px solid var(--line); margin-top:50px; background:var(--bg-2);}
.site-footer .wrap{max-width:1100px; padding-top:34px; padding-bottom:40px;}
.site-footer .cols{display:flex; flex-wrap:wrap; gap:36px; justify-content:space-between;}
.site-footer h4{font-family:'Barlow Condensed',sans-serif; color:var(--text); font-size:15px; margin:0 0 12px; letter-spacing:.02em;}
.site-footer a{display:block; color:var(--text-3); font-size:14px; margin:7px 0;}
.site-footer a:hover{color:var(--amber);}
.site-footer .fine{color:var(--text-3); font-size:12.5px; margin-top:26px; border-top:1px solid var(--line); padding-top:18px; line-height:1.7;}

/* Index / hub */
.hero-index{padding:48px 0 10px; text-align:center;}
.hero-index h1{font-size:clamp(34px,5vw,56px);}
.hero-index .lead{max-width:640px; margin:0 auto 26px;}
.section-title{font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:26px; color:#fff; margin:40px 0 6px; letter-spacing:-.01em;}
.section-sub{color:var(--text-3); font-size:14px; margin:0 0 8px;}
