/* Zion Finance site styles (public pages). One token set, no important-overrides.
   Dark theme, WCAG AA contrast on every text/background pair used here. */
@font-face{font-family:"Inter";src:url("/assets/fonts/inter-latin-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{
  --bg:#05070f;--bg-2:#0a0e1a;--surface-1:#0f1526;--surface-2:#151d33;--surface-3:#1c2642;
  --line:#26314f;--line-strong:#3a4870;
  --text:#eef2fb;--text-dim:#b4bfd6;--text-faint:#8d9abb;
  --blue:#4ea1ff;--blue-strong:#0b6fd8;--cyan:#29d3ff;--green:#3ddc97;--amber:#ffc560;--red:#ff6b6b;--cta:#c62f35;--cta-hover:#b0262c;
  --radius-s:8px;--radius:12px;--radius-l:16px;--radius-xl:24px;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Heebo","Assistant",Arial,sans-serif;
  --shadow:0 10px 30px rgba(0,0,0,.35);
  --maxw:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg);-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font);font-size:16px;line-height:1.6;color:var(--text);background:radial-gradient(1200px 600px at 10% -10%,rgba(11,111,216,.18),transparent 60%),radial-gradient(900px 500px at 100% 0,rgba(41,211,255,.08),transparent 60%),var(--bg);min-height:100vh}
img,svg,canvas{max-width:100%}
a{color:var(--blue)}
a:hover{color:#8cc3ff}
:focus-visible{outline:3px solid var(--cyan);outline-offset:2px;border-radius:4px}
h1,h2,h3,h4{line-height:1.2;margin:0 0 var(--s3);letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.2vw,3.1rem);font-weight:800}
h2{font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:750}
h3{font-size:1.2rem;font-weight:700}
h4{font-size:1rem;font-weight:700}
p{margin:0 0 var(--s4)}
.container{width:min(100% - 2*var(--s5),var(--maxw));margin-inline:auto}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:var(--s4);top:var(--s3);z-index:100;padding:var(--s2) var(--s4);background:var(--cyan);color:#001;font-weight:700;border-radius:var(--radius-s);transform:translateY(-200%);transition:transform .15s}
.skip-link:focus{transform:translateY(0)}
.muted{color:var(--text-dim)}
.small{font-size:.875rem}
.eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);margin-bottom:var(--s3)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:44px;padding:10px 18px;border-radius:999px;border:1px solid transparent;font:inherit;font-weight:650;font-size:.95rem;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.btn-cta{background:var(--cta);color:#fff}
.btn-cta:hover{background:var(--cta-hover);color:#fff}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--line-strong)}
.btn-ghost:hover{border-color:var(--blue);color:var(--text)}
.btn-blue{background:var(--blue-strong);color:#fff}
.btn-blue:hover{background:#1a7fe8;color:#fff}
.btn-small{min-height:36px;padding:6px 14px;font-size:.875rem}
.link-btn{background:none;border:0;padding:0;color:var(--blue);font:inherit;cursor:pointer;text-decoration:underline}

/* Header */
.zf-header{position:sticky;top:0;z-index:50;background:rgba(5,7,15,.88);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}
.zf-header .bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-height:68px}
.brand{display:flex;align-items:center;gap:var(--s3);color:var(--text);text-decoration:none;font-weight:800;letter-spacing:.06em}
.brand svg{width:40px;height:33px}
.brand .finance{color:var(--cyan)}
.zf-nav{display:flex;align-items:center;gap:var(--s5)}
.zf-nav ul{display:flex;gap:var(--s5);list-style:none;margin:0;padding:0}
.zf-nav a:not(.btn){color:var(--text-dim);text-decoration:none;font-weight:550}
.zf-nav a:not(.btn):hover,.zf-nav a[aria-current="page"]{color:var(--text)}
.menu-toggle{display:none;background:none;border:1px solid var(--line-strong);color:var(--text);border-radius:var(--radius-s);min-width:44px;min-height:44px;font:inherit;cursor:pointer}
@media (max-width:860px){
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center}
  .zf-nav{position:absolute;inset:68px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;padding:var(--s3) var(--s5) var(--s5);background:var(--bg-2);border-bottom:1px solid var(--line);display:none}
  .zf-nav.open{display:flex}
  .zf-nav ul{flex-direction:column;gap:0}
  .zf-nav ul a{display:block;padding:var(--s3) 0;border-bottom:1px solid var(--line)}
  .zf-nav .btn{margin-top:var(--s4)}
}

/* Sections */
main{display:block}
.section{padding:var(--s8) 0}
.section-tight{padding:var(--s7) 0}
.section-head{max-width:760px;margin-bottom:var(--s6)}
.section-head p{color:var(--text-dim);font-size:1.05rem}
.card{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius-l);padding:var(--s5)}
.grid{display:grid;gap:var(--s5)}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:960px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.section{padding:var(--s7) 0}}

/* Hero */
.hero{padding:var(--s8) 0 var(--s7)}
.hero-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:var(--s6);align-items:center}
.hero p.lead{font-size:1.15rem;color:var(--text-dim);max-width:640px}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin:var(--s5) 0 var(--s4)}
.trust-row{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);color:var(--text-dim);font-size:.9rem;list-style:none;padding:0;margin:0}
.trust-row li::before{content:"✓ ";color:var(--green);font-weight:800}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}
.path{counter-reset:step;list-style:none;margin:0;padding:0;display:grid;gap:var(--s3)}
.path li{counter-increment:step;display:grid;grid-template-columns:36px 1fr;gap:var(--s3);align-items:start;padding:var(--s3);border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line)}
.path li::before{content:counter(step);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--blue-strong);color:#fff;font-weight:800}
.path a{color:var(--text);font-weight:650;text-decoration:none}
.path a:hover{text-decoration:underline}
.path span{display:block;color:var(--text-dim);font-size:.9rem}

/* Tool cards */
.tool-card{display:flex;flex-direction:column;gap:var(--s2);text-decoration:none;color:var(--text);background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius-l);padding:var(--s5);transition:border-color .15s,transform .15s}
.tool-card:hover{border-color:var(--blue);color:var(--text);transform:translateY(-2px)}
.tool-card .tag{font-size:.75rem;font-weight:700;color:var(--cyan);text-transform:uppercase;letter-spacing:.06em}
.tool-card h3{margin:0;font-size:1.08rem}
.tool-card p{margin:0;color:var(--text-dim);font-size:.93rem}
.cat-title{margin:var(--s6) 0 var(--s4);font-size:1.25rem}
.search-box{display:flex;gap:var(--s3);align-items:center;max-width:520px;margin-bottom:var(--s5)}
.search-box input{flex:1}

/* Forms */
label{display:block;font-weight:600;font-size:.93rem;margin-bottom:6px;color:var(--text)}
input,select,textarea{width:100%;font:inherit;font-size:1rem;color:var(--text);background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--radius-s);padding:10px 12px;min-height:44px}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--blue);outline:2px solid rgba(78,161,255,.35);outline-offset:0}
input[aria-invalid="true"]{border-color:var(--red)}
.field{margin-bottom:var(--s4)}
.field .hint{display:block;margin-top:4px;font-size:.84rem;color:var(--text-faint)}
.field .error{display:block;margin-top:4px;font-size:.86rem;color:var(--red);font-weight:600}
.input-wrap{position:relative;display:flex;align-items:stretch}
.input-wrap .adorn{display:flex;align-items:center;padding:0 10px;background:var(--surface-2);border:1px solid var(--line-strong);color:var(--text-dim);font-weight:600;font-size:.92rem}
.input-wrap .adorn.pre{border-right:0;border-radius:var(--radius-s) 0 0 var(--radius-s)}
.input-wrap .adorn.post{border-left:0;border-radius:0 var(--radius-s) var(--radius-s) 0}
.input-wrap .adorn.pre + input{border-top-left-radius:0;border-bottom-left-radius:0}
.input-wrap input:has(+ .adorn.post){border-top-right-radius:0;border-bottom-right-radius:0}
.check{display:flex;gap:var(--s3);align-items:flex-start;font-weight:500}
.check input{width:20px;height:20px;min-height:0;margin-top:3px;flex:none}
.help-btn{display:inline-grid;place-items:center;width:22px;height:22px;margin-left:6px;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text-dim);font-size:.75rem;font-weight:800;cursor:pointer;vertical-align:middle}
.help-btn[aria-expanded="true"]{border-color:var(--cyan);color:var(--cyan)}
.help-text{display:block;margin:6px 0 0;padding:var(--s2) var(--s3);background:var(--surface-2);border-left:3px solid var(--cyan);border-radius:var(--radius-s);color:var(--text-dim);font-size:.88rem;font-weight:400}
.help-text[hidden]{display:none}
fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:var(--s4);margin:0 0 var(--s4)}
legend{padding:0 var(--s2);font-weight:700;color:var(--text)}
details.advanced{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:var(--s4);background:var(--surface-1)}
details.advanced>summary{cursor:pointer;padding:var(--s3) var(--s4);font-weight:700;list-style:none}
details.advanced>summary::-webkit-details-marker{display:none}
details.advanced>summary::after{content:"＋";float:right;color:var(--text-dim)}
details.advanced[open]>summary::after{content:"－"}
details.advanced>.inner{padding:0 var(--s4) var(--s2)}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s4)}
@media (max-width:520px){.form-row{grid-template-columns:1fr}}
.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:999px;overflow:hidden}
.seg button{background:none;border:0;color:var(--text-dim);font:inherit;font-weight:600;padding:8px 16px;min-height:40px;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--blue-strong);color:#fff}

/* Calculator page */
.calc-hero{padding:var(--s6) 0 var(--s4)}
.crumbs{font-size:.88rem;color:var(--text-faint);margin-bottom:var(--s3)}
.crumbs a{color:var(--text-dim)}
.calc-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--s5);align-items:start}
.calc-form-card{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius-l);padding:var(--s5)}
.calc-results{position:sticky;top:84px;background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius-l);padding:var(--s5);min-height:200px}
@media (max-width:960px){.calc-layout{grid-template-columns:minmax(0,1fr)}.calc-results{position:static}}
.calc-form-card,.calc-results{min-width:0}
.form-tools{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);margin-bottom:var(--s4);flex-wrap:wrap}
.headline{padding:var(--s4);border-radius:var(--radius);background:linear-gradient(135deg,rgba(11,111,216,.25),rgba(41,211,255,.08));border:1px solid rgba(78,161,255,.35);margin-bottom:var(--s4)}
.headline .label{color:var(--text-dim);font-weight:600;font-size:.92rem}
.headline .value{font-size:clamp(1.8rem,3.6vw,2.5rem);font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums}
.headline .sub{color:var(--text-dim);font-size:.9rem;margin-top:4px}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s3);margin-bottom:var(--s4)}
.metric{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s3)}
.metric .label{font-size:.82rem;color:var(--text-dim);font-weight:600}
.metric .value{font-size:1.12rem;font-weight:750;font-variant-numeric:tabular-nums}
.insight{border-left:4px solid var(--green);background:rgba(61,220,151,.08);padding:var(--s3) var(--s4);border-radius:var(--radius-s);margin-bottom:var(--s4)}
.warn{border-left:4px solid var(--amber);background:rgba(255,197,96,.09);padding:var(--s3) var(--s4);border-radius:var(--radius-s);margin-bottom:var(--s3);color:var(--text)}
.note{color:var(--text-dim);font-size:.9rem}
.chart-figure{margin:0 0 var(--s5);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s4)}
.chart-figure figcaption{font-weight:700;margin-bottom:var(--s3)}
.chart-box{position:relative;height:300px}
@media (max-width:640px){.chart-box{height:240px}}
.chart-figure details{margin-top:var(--s3)}
.chart-figure summary{cursor:pointer;color:var(--blue);font-weight:600;font-size:.9rem}
.data-table-wrap{overflow:auto;max-height:340px;margin-top:var(--s2)}
table{border-collapse:collapse;width:100%;font-size:.9rem;font-variant-numeric:tabular-nums}
th,td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:right}
th:first-child,td:first-child{text-align:left}
thead th{position:sticky;top:0;background:var(--surface-2);color:var(--text);font-weight:700}
.result-actions{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s4) 0}
.status{min-height:1.4em;font-size:.9rem;color:var(--green)}
.status.error{color:var(--red)}
.disclaimer{font-size:.84rem;color:var(--text-faint);border-top:1px solid var(--line);padding-top:var(--s3);margin-top:var(--s4)}
.cta-strip{display:flex;justify-content:space-between;align-items:center;gap:var(--s4);flex-wrap:wrap;margin-top:var(--s4);padding:var(--s4);border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line)}
.cta-strip p{margin:0}
.history{margin-top:var(--s4)}
.history ul{list-style:none;margin:var(--s2) 0 0;padding:0;display:grid;gap:var(--s2)}
.history li a{display:flex;justify-content:space-between;gap:var(--s3);padding:8px 12px;border-radius:var(--radius-s);background:var(--surface-2);color:var(--text);text-decoration:none;font-size:.9rem}
.history li a:hover{background:var(--surface-3)}
.sticky-bar{display:none}
@media (max-width:960px){
  .sticky-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;justify-content:space-between;align-items:center;gap:var(--s3);padding:10px var(--s4);background:rgba(15,21,38,.97);border-top:1px solid var(--line-strong);font-variant-numeric:tabular-nums}
  .sticky-bar[hidden]{display:none}
  .sticky-bar .v{font-weight:800;font-size:1.1rem}
  body.has-sticky{padding-bottom:64px}
}
.rows-table{display:grid;gap:var(--s3);margin-bottom:var(--s3)}
.row-item{display:grid;grid-template-columns:1.3fr 1fr .8fr 1fr auto;gap:var(--s2);align-items:end;padding:var(--s3);border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2)}
.row-item label{font-size:.8rem}
@media (max-width:640px){.row-item{grid-template-columns:1fr 1fr}.row-item .row-name{grid-column:1/-1}}
.prose{max-width:760px}
.prose h2{margin-top:var(--s6)}
.prose ul{padding-left:1.2rem}
.prose li{margin-bottom:var(--s2)}
.faq details{border-bottom:1px solid var(--line);padding:var(--s3) 0}
.faq summary{cursor:pointer;font-weight:650}
.faq details p{margin:var(--s2) 0 0;color:var(--text-dim)}
.glossary td:last-child{font-family:"Heebo","Assistant",Arial,sans-serif}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--s5)}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.contact-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s3)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.consent{font-size:.86rem;color:var(--text-dim)}
.avatar{display:grid;place-items:center;width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--blue-strong),var(--cyan));color:#fff;font-size:2.4rem;font-weight:800}

/* Footer */
.zf-footer{border-top:1px solid var(--line);background:var(--bg-2);padding:var(--s7) 0 var(--s5);margin-top:var(--s7);font-size:.93rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--s5)}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr}}
.zf-footer h2{font-size:1rem;margin-bottom:var(--s3)}
.zf-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.zf-footer a{color:var(--text-dim);text-decoration:none}
.zf-footer a:hover{color:var(--text);text-decoration:underline}
.footer-legal{border-top:1px solid var(--line);margin-top:var(--s5);padding-top:var(--s4);color:var(--text-faint);font-size:.84rem}
.footer-legal p{margin:0 0 var(--s2)}

/* 404 */
.notfound{text-align:center;padding:var(--s8) 0}
.notfound .code{font-size:5rem;font-weight:800;color:var(--blue)}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none;transition:none;scroll-behavior:auto}}

/* Print / PDF */
@media print{
  html,body{background:#fff;color:#000;font-size:11pt}
  .zf-header,.zf-footer,.calc-form-card,.result-actions,.cta-strip,.history,.sticky-bar,.skip-link,.no-print,.below-tool{display:none}
  .print-only{display:block}
  .calc-layout{display:block}
  .calc-results{position:static;border:0;padding:0;background:#fff}
  .headline,.metric,.chart-figure,.insight,.warn{background:#fff;border:1px solid #999;color:#000}
  .headline .label,.metric .label,.note,.disclaimer,.muted{color:#333}
  .chart-figure details{display:block}
  .chart-figure details>*{display:block}
  table,th,td{color:#000;border-color:#999}
  thead th{background:#eee;position:static}
  a{color:#000}
}
.print-only{display:none}
.about-card{grid-template-columns:auto 1fr;align-items:center}
@media (max-width:560px){.about-card{grid-template-columns:1fr}}
.hero-actions.center{justify-content:center}
.h3{font-size:1.2rem}
.legal-he{direction:rtl;text-align:right;font-family:"Heebo","Assistant",Arial,sans-serif}
.legal-he ul{padding-right:1.2rem;padding-left:0}
.updated{color:var(--text-faint);font-size:.9rem}
.login-card{max-width:460px;margin:0 auto}
.login-card img{display:block;margin:var(--s4) 0;background:#fff;padding:8px;border-radius:var(--radius-s)}
code{font-family:ui-monospace,Menlo,Consolas,monospace;background:var(--surface-2);padding:2px 6px;border-radius:4px;word-break:break-all}
