:root {
  --esz-bg: #050706;
  --esz-panel: #0a0e0b;
  --esz-panel-2: #0e1410;
  --esz-line: rgba(229,244,233,.09);
  --esz-line-strong: rgba(229,244,233,.17);
  --esz-ink: #eef5ef;
  --esz-copy: #b8c5bb;
  --esz-muted: #758178;
  --esz-green: #5ad791;
  --esz-green-2: #32b66e;
  --esz-gold: #d7c08b;
  --esz-radius: 20px;
  --esz-shadow: 0 28px 80px rgba(0,0,0,.38);
}

html { color-scheme: dark; background: var(--esz-bg); }
body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 82% -8%, rgba(90,215,145,.12), transparent 30rem),
    radial-gradient(circle at -10% 55%, rgba(215,192,139,.055), transparent 31rem),
    linear-gradient(180deg, #050706 0%, #070a08 54%, #050706 100%);
  background-attachment: fixed;
  color: var(--esz-ink);
  font-family: Inter, "Segoe UI Variable Text", ui-sans-serif, system-ui, sans-serif;
  overflow-x: hidden;
}
body::before {
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  content: "";
  opacity: .21;
  background-image: linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(#000, transparent 84%);
}
body::after {
  position: fixed;
  right: -210px;
  top: 26vh;
  z-index: -2;
  width: 470px;
  aspect-ratio: 1;
  border: 1px solid rgba(90,215,145,.07);
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 0 55px rgba(90,215,145,.012), 0 0 0 110px rgba(90,215,145,.007);
}

::selection { background: rgba(90,215,145,.28); color: #fff; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #050706; }
::-webkit-scrollbar-thumb { border: 3px solid #050706; border-radius: 999px; background: #27372d; }

.seo-wrap { width: min(1240px, calc(100% - 48px)); }
.seo-nav {
  position: sticky;
  top: 0;
  z-index: 70;
  border-bottom: 1px solid var(--esz-line);
  background: rgba(5,7,6,.72);
  box-shadow: 0 14px 46px rgba(0,0,0,.16);
  -webkit-backdrop-filter: blur(24px) saturate(130%);
  backdrop-filter: blur(24px) saturate(130%);
  transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.seo-nav.is-scrolled { background: rgba(5,7,6,.92); border-bottom-color: rgba(90,215,145,.15); box-shadow: 0 18px 54px rgba(0,0,0,.32); }
.seo-nav .seo-wrap { min-height: 76px; }
.seo-brand { display: inline-flex; align-items: center; gap: 11px; min-width: max-content; text-decoration: none; letter-spacing: 0; }
.seo-brand-mark { width: 59px; height: auto; overflow: visible; filter: drop-shadow(0 10px 24px rgba(90,215,145,.18)); }
.seo-brand-mark .one-core { fill: rgba(90,215,145,.08); }
.seo-brand-mark .one-edge,.seo-brand-mark .percent-slash,.seo-brand-mark .one-flow { fill: none; stroke: var(--esz-green); stroke-width: 1.45; }
.seo-brand-mark .one-flow { stroke-dasharray: 7 5; animation: eszLogoFlow 2s linear infinite; }
.seo-brand-mark .node { fill: #07120c; stroke: var(--esz-green); stroke-width: 1.4; transform-box: fill-box; transform-origin: center; }
.seo-brand-mark .node-b { animation: eszLogoPulse 2.2s ease-in-out infinite; }
.seo-wordmark { display: grid; gap: 3px; color: var(--esz-ink) !important; }
.seo-wordmark strong { font-family: "Space Grotesk", Inter, sans-serif; font-size: .82rem; font-weight: 900; letter-spacing: .13em; }
.seo-wordmark small { color: var(--esz-muted); font-size: .55rem; font-weight: 800; letter-spacing: .16em; }
.seo-nav-links { display: flex; align-items: center; gap: 7px; }
.seo-nav-links a { border: 1px solid transparent; border-radius: 10px; padding: 10px 12px; color: #929f96; font-size: 12px; font-weight: 760; text-decoration: none; transition: .2s ease; }
.seo-nav-links a:hover,.seo-nav-links a:focus-visible,.seo-nav-links a.is-current { border-color: var(--esz-line); background: rgba(255,255,255,.04); color: #f1f8f3; }
.seo-nav-links .seo-cta,.seo-cta {
  border-color: rgba(90,215,145,.32);
  background: linear-gradient(180deg, rgba(100,227,156,.17), rgba(58,189,119,.09));
  color: #dff8e8;
  box-shadow: inset 0 1px rgba(255,255,255,.055), 0 12px 30px rgba(0,0,0,.2);
}
.seo-nav-links .seo-cta:hover,.seo-nav-links .seo-cta:focus-visible { border-color: rgba(130,245,180,.58); background: linear-gradient(180deg, rgba(100,227,156,.25), rgba(58,189,119,.12)); }

.brand-progress { z-index: 90; height: 2px; background: linear-gradient(90deg,var(--esz-green),var(--esz-gold)); }
.seo-hero { position: relative; padding: clamp(74px,8vw,112px) 0 58px; }
.seo-hero::before {
  position: absolute;
  left: -28px;
  top: 94px;
  width: 2px;
  height: 88px;
  border-radius: 99px;
  content: "";
  background: linear-gradient(var(--esz-green), transparent);
  box-shadow: 0 0 22px rgba(90,215,145,.46);
}
.seo-hero::after { right: 2%; top: 40px; width: min(34vw,430px); border-color: rgba(90,215,145,.075); box-shadow: inset 0 0 100px rgba(90,215,145,.03),0 0 0 38px rgba(90,215,145,.012); }
.seo-kicker { color: var(--esz-green); font-size: 10px; font-weight: 900; letter-spacing: .18em; }
.seo-hero h1 {
  max-width: 1020px;
  margin: 17px 0 21px;
  color: var(--esz-ink);
  font-family: "Space Grotesk", Inter, sans-serif;
  font-size: clamp(42px,6.25vw,82px);
  font-weight: 900;
  line-height: .98;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.seo-lead { max-width: 830px; color: var(--esz-copy); font-size: clamp(17px,1.9vw,20px); line-height: 1.72; }
.seo-trust span,.knowledge-meta span { border-color: var(--esz-line); background: rgba(255,255,255,.022); color: #aebbb1; box-shadow: inset 0 1px rgba(255,255,255,.025); }

.calculator-shell { grid-template-columns: minmax(0,1.3fr) minmax(335px,.7fr); gap: 20px; align-items: start; }
.calc-panel,.result-panel,.seo-content section,.seo-faq details,.knowledge-article section,.knowledge-toc,.knowledge-cta,.knowledge-cards a,.knowledge-coming,.legal-section,.legal-toc {
  border: 1px solid var(--esz-line);
  background: linear-gradient(145deg,rgba(255,255,255,.035),rgba(90,215,145,.012)),rgba(8,12,9,.9);
  box-shadow: inset 0 1px rgba(255,255,255,.025),var(--esz-shadow);
}
.calc-panel { position: relative; overflow: hidden; padding: clamp(24px,3vw,36px); }
.calc-panel::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 2px;
  content: "";
  background: linear-gradient(90deg,var(--esz-green),rgba(90,215,145,0) 58%);
}
.calc-head h2 { color: var(--esz-ink); font-family: "Space Grotesk",Inter,sans-serif; font-size: clamp(26px,3vw,34px); letter-spacing: -.035em; }
.calc-head p { color: var(--esz-muted); }
.market-tabs { gap: 7px; padding: 5px; border: 1px solid var(--esz-line); border-radius: 13px; background: rgba(2,5,3,.46); }
.market-tabs button { min-height: 43px; border-color: transparent; border-radius: 9px; background: transparent; color: #839087; font-size: 12px; transition: .2s ease; }
.market-tabs button:hover { background: rgba(255,255,255,.035); color: #d9e4dc; }
.market-tabs button.active,.market-tabs button[aria-selected="true"] { border-color: rgba(90,215,145,.34); background: linear-gradient(180deg,rgba(90,215,145,.16),rgba(90,215,145,.065)); color: #e0fae9; box-shadow: inset 0 1px rgba(255,255,255,.04),0 10px 28px rgba(0,0,0,.22); }
.field { position: relative; gap: 9px; padding: 13px; border: 1px solid rgba(229,244,233,.065); border-radius: 13px; background: rgba(2,5,3,.28); transition: border-color .2s,background .2s,transform .2s; }
.field:hover,.field.is-active { border-color: rgba(90,215,145,.22); background: rgba(90,215,145,.025); }
.field.is-active { transform: translateY(-1px); }
.field span { color: #9eaaa2; font-size: 10px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.field input,.field select { min-height: 49px; border-color: rgba(229,244,233,.1); border-radius: 10px; background: #070b08; color: var(--esz-ink); font-family: "Space Grotesk",Inter,sans-serif; font-size: 15px; font-weight: 700; box-shadow: inset 0 1px 8px rgba(0,0,0,.16); }
.field input:focus,.field select:focus { border-color: rgba(90,215,145,.58); box-shadow: 0 0 0 3px rgba(90,215,145,.075),inset 0 1px 8px rgba(0,0,0,.16); }
.result-panel { top: 96px; border-color: rgba(90,215,145,.15); overflow: hidden; }
.result-panel::before { position: absolute; right: -80px; top: -100px; width: 230px; aspect-ratio: 1; border: 1px solid rgba(90,215,145,.09); border-radius: 50%; content: ""; box-shadow: 0 0 0 34px rgba(90,215,145,.012); }
.result-hero { position: relative; padding: 32px; background: radial-gradient(circle at 100% 0,rgba(90,215,145,.16),transparent 54%),linear-gradient(135deg,rgba(90,215,145,.09),transparent); }
.result-hero strong { color: #e9fff1; font-family: "Space Grotesk",Inter,sans-serif; font-size: clamp(36px,4vw,50px); letter-spacing: -.045em; text-shadow: 0 0 28px rgba(90,215,145,.18); }
.result-item { min-height: 112px; border-color: var(--esz-line); background: rgba(255,255,255,.008); }
.result-item strong { color: #dce8df; font-family: "Space Grotesk",Inter,sans-serif; }
.result-note { margin: 0; border-top: 1px solid var(--esz-line); background: rgba(2,5,3,.35); }

.seo-content,.knowledge-article { gap: 20px; }
.seo-content section,.knowledge-article section,.legal-section { position: relative; overflow: hidden; padding: clamp(26px,4vw,44px); border-radius: var(--esz-radius); }
.seo-content section::before,.knowledge-article section::before,.legal-section::before { position: absolute; left: 0; top: 28px; width: 2px; height: 42px; border-radius: 99px; content: ""; background: linear-gradient(var(--esz-green),transparent); }
.seo-content section:hover,.knowledge-article section:hover,.knowledge-cards a:hover { border-color: rgba(90,215,145,.2); }
.seo-content h2,.knowledge-article h2,.legal-section h2 { color: var(--esz-ink); font-family: "Space Grotesk",Inter,sans-serif; font-size: clamp(26px,3.4vw,38px); letter-spacing: -.035em; text-wrap: balance; }
.seo-content h3,.knowledge-article h3,.legal-section h3 { color: #dfe9e1; font-family: "Space Grotesk",Inter,sans-serif; letter-spacing: -.02em; }
.seo-content p,.seo-content li,.knowledge-article p,.knowledge-article li,.legal-section p,.legal-section li,.legal-section td { color: var(--esz-copy); font-size: 16px; line-height: 1.82; }
.formula-box,.answer-box { border: 1px solid rgba(90,215,145,.2); border-left: 3px solid var(--esz-green); border-radius: 13px; background: linear-gradient(135deg,rgba(90,215,145,.09),rgba(90,215,145,.02)); box-shadow: inset 0 1px rgba(255,255,255,.03); }
.warning-box,.tax-review-note { border-color: rgba(215,192,139,.25); background: linear-gradient(135deg,rgba(215,192,139,.085),rgba(215,192,139,.02)); }
.seo-related a,.knowledge-cards a { position: relative; overflow: hidden; border-color: var(--esz-line); background: linear-gradient(145deg,rgba(255,255,255,.025),rgba(90,215,145,.012)),#080d0a; transition: transform .2s,border-color .2s,box-shadow .2s; }
.seo-related a:hover,.knowledge-cards a:hover { transform: translateY(-3px); box-shadow: 0 22px 56px rgba(0,0,0,.3); }
.seo-faq details { box-shadow: none; transition: border-color .2s,background .2s; }
.seo-faq details[open] { border-color: rgba(90,215,145,.23); background: rgba(90,215,145,.035); }
.seo-faq summary { color: #dfe9e1; }

.legal-layout { display: grid; grid-template-columns: minmax(0,1fr) 290px; gap: 22px; align-items: start; margin-bottom: 90px; }
.legal-document { display: grid; gap: 20px; }
.legal-toc { position: sticky; top: 96px; display: grid; gap: 5px; padding: 20px; border-radius: 17px; box-shadow: 0 20px 60px rgba(0,0,0,.25); }
.legal-toc strong { margin: 2px 7px 10px; color: var(--esz-green); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.legal-toc a { border-radius: 8px; padding: 9px 10px; color: #8f9c92; font-size: 12px; text-decoration: none; transition: .18s; }
.legal-toc a:hover { background: rgba(90,215,145,.06); color: #e3f4e8; }
.legal-section-number { display: inline-flex; margin-bottom: 9px; color: var(--esz-green); font-family: "Space Grotesk",Inter,sans-serif; font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.legal-section table { width: 100%; border-collapse: collapse; margin: 20px 0; overflow: hidden; border: 1px solid var(--esz-line); border-radius: 12px; }
.legal-section th,.legal-section td { border-bottom: 1px solid var(--esz-line); padding: 14px 16px; text-align: left; vertical-align: top; }
.legal-section th { width: 30%; color: #dfe9e1; font-size: 12px; letter-spacing: .035em; }
.legal-callout { margin-top: 20px; padding: 17px 19px; border: 1px solid rgba(90,215,145,.2); border-radius: 12px; background: rgba(90,215,145,.05); color: #c9d8cd; line-height: 1.65; }

.seo-footer { border-top-color: var(--esz-line); background: rgba(3,5,4,.5); }
.seo-footer .seo-wrap { align-items: center; flex-wrap: wrap; }
.seo-footer a { color: #aeb9b1; text-underline-offset: 3px; }
.seo-footer a:hover { color: var(--esz-green); }

.esz-js .esz-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease var(--esz-delay,0ms),transform .6s cubic-bezier(.2,.7,.2,1) var(--esz-delay,0ms); }
.esz-js .esz-reveal.is-visible { opacity: 1; transform: none; }

@keyframes eszLogoFlow { to { stroke-dashoffset: -51; } }
@keyframes eszLogoPulse { 50% { opacity: .45; transform: scale(.75); } }

@media (max-width: 940px) {
  .calculator-shell,.legal-layout { grid-template-columns: 1fr; }
  .result-panel,.legal-toc { position: static; }
  .legal-toc { display: none; }
  .seo-nav-links { max-width: 58vw; overflow-x: auto; scrollbar-width: none; }
  .seo-nav-links::-webkit-scrollbar { display: none; }
  .seo-nav-links a { white-space: nowrap; }
}
@media (max-width: 640px) {
  .seo-wrap { width: min(100% - 28px,1240px); }
  .seo-nav .seo-wrap { min-height: 68px; }
  .seo-brand-mark { width: 49px; }
  .seo-wordmark strong { font-size: .72rem; }
  .seo-wordmark small { display: none; }
  .seo-nav-links { max-width: 45vw; gap: 3px; }
  .seo-nav-links a { padding: 8px 9px; font-size: 10.5px; }
  .seo-nav-links a:not(.seo-cta):nth-child(n+3) { display: none; }
  .seo-hero { padding-top: 58px; }
  .seo-hero::before,.seo-hero::after,body::after { display: none; }
  .seo-hero h1 { font-size: clamp(38px,11.8vw,57px); }
  .calc-panel { padding: 19px; }
  .field { padding: 10px; }
  .result-hero { padding: 25px; }
  .legal-section th,.legal-section td { display: block; width: 100%; }
  .legal-section th { border-bottom: 0; padding-bottom: 2px; }
  .legal-section td { padding-top: 5px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .esz-js .esz-reveal { opacity: 1; transform: none; }
}
