:root {
  --emerald: #0f5132;
  --forest: #145a32;
  --lime: #2ecc71;
  --lime-light: #b8f3cf;
  --ink: #17231c;
  --muted: #637167;
  --mist: #f2f4f4;
  --paper: #fbfcfa;
  --white: #ffffff;
  --line: rgba(15, 81, 50, 0.16);
  --shadow: 0 24px 60px rgba(15, 55, 32, 0.11);
  --radius: 20px;
  --display: 'Manrope', 'Inter', sans-serif;
  --body: 'Inter', Arial, sans-serif;
  --mono: 'DM Mono', monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body); font-size: 16px; line-height: 1.55; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
.container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.sr-only { border: 0; clip: rect(0,0,0,0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; width: 1px; }
.skip-link { position: fixed; top: -100px; left: 12px; z-index: 1000; background: var(--lime); padding: 10px 14px; border-radius: 8px; color: #073119; font-weight: 800; }
.skip-link:focus { top: 12px; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(251,252,250,0.94); backdrop-filter: blur(14px); border-bottom: 1px solid transparent; transition: border-color .25s ease, box-shadow .25s ease; }
.site-header.is-scrolled { border-bottom-color: var(--line); box-shadow: 0 6px 28px rgba(12,42,25,.06); }
.nav-wrap { height: 78px; width: min(1320px, calc(100% - 48px)); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; gap: 9px; align-items: center; flex-shrink: 0; }
.brand img { width: 42px; height: 42px; }
.brand-lockup { display: grid; grid-template-columns: auto auto; align-items: baseline; column-gap: 1px; line-height: .9; letter-spacing: -.06em; font-family: var(--display); font-size: 20px; }
.brand-lockup strong { font-weight: 800; }
.brand-lockup em { color: var(--forest); font-style: normal; font-weight: 500; }
.brand-lockup small { grid-column: 1 / -1; font-family: var(--mono); letter-spacing: .2em; font-size: 7px; font-weight: 500; margin-top: 6px; color: var(--muted); }
.desktop-nav { display: flex; align-items: center; gap: clamp(18px, 2vw, 34px); margin-left: auto; }
.desktop-nav a { color: #314438; font-size: 13px; font-weight: 600; transition: color .2s ease; }
.desktop-nav a:hover { color: var(--forest); }
.nav-cta { display: inline-flex; align-items: center; gap: 8px; background: var(--emerald); color: #fff; padding: 11px 14px 11px 16px; font-size: 12px; font-weight: 700; border-radius: 5px; }
.nav-cta span { color: var(--lime); font-size: 17px; line-height: 0; }
.menu-toggle, .mobile-nav { display: none; }

/* Shared */
.section-pad { padding: 118px 0; }
.eyebrow { display: flex; align-items: center; gap: 10px; font-family: var(--mono); font-weight: 500; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--forest); }
.eyebrow span { height: 1px; width: 27px; display: inline-block; background: currentColor; }
.eyebrow.light { color: var(--lime-light); }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { font-family: var(--display); letter-spacing: -.055em; }
h1 { font-size: clamp(3.15rem, 5.6vw, 5.6rem); line-height: .97; max-width: 810px; margin: 22px 0 23px; font-weight: 750; }
h2 { font-size: clamp(2.3rem, 4vw, 4.25rem); line-height: .99; margin: 18px 0; font-weight: 750; }
h2 em, h1 em { color: var(--forest); font-style: normal; font-weight: 400; }
h3 { font-size: 22px; line-height: 1.1; margin-bottom: 11px; }
.section-intro { display: flex; justify-content: space-between; gap: 50px; align-items: flex-end; margin-bottom: 46px; }
.section-intro > div { max-width: 645px; }
.section-intro > p { color: var(--muted); max-width: 350px; margin-bottom: 5px; font-size: 15px; }
.button { border: 0; display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 13px 19px; border-radius: 5px; font-weight: 800; font-size: 13px; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(0,0,0,.14); }
.button span { color: inherit; font-size: 18px; line-height: .8; }
.button-lime { background: var(--lime); color: #06331a; }
.button-ink { background: var(--ink); color: #fff; }
.button-ghost { color: #fff; border: 1px solid rgba(255,255,255,.36); background: rgba(255,255,255,.08); }
.text-link { display: inline-flex; align-items: center; gap: 10px; border: 0; background: transparent; padding: 0 0 7px; border-bottom: 1px solid currentColor; font-weight: 700; font-size: 13px; color: var(--emerald); }
.text-link span { font-size: 17px; }
.panel-kicker { font-family: var(--mono); letter-spacing: .14em; color: var(--forest); font-size: 10px; font-weight: 500; margin-bottom: 13px; }

/* Hero */
.hero { min-height: 722px; position: relative; overflow: hidden; color: #fff; display: flex; align-items: center; background: #0b321f; }
.hero-photo { position: absolute; inset: 0; background: url('/assets/florida-courthouse-hero.webp') center / cover no-repeat; filter: saturate(.82) contrast(1.05); transform: scale(1.01); animation: hero-in 1.4s cubic-bezier(.2,.8,.2,1) both; }
.hero-scrim { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,41,23,.94) 0%, rgba(8,58,32,.84) 37%, rgba(11,55,33,.47) 62%, rgba(8,39,25,.45) 100%); }
.hero-grid { position:absolute; inset: 0; opacity:.15; background-image: linear-gradient(rgba(182,240,206,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(182,240,206,.24) 1px,transparent 1px); background-size: 56px 56px; mask-image: linear-gradient(to right, #000 0%, transparent 68%); }
.hero-content { position: relative; padding: 112px 0 90px; }
.hero h1 em { color: var(--lime); }
.hero-lead { width: min(570px, 100%); color: rgba(255,255,255,.84); font-size: 18px; line-height: 1.55; margin-bottom: 31px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-footnote { display: flex; align-items: center; gap: 9px; color: rgba(255,255,255,.7); font-size: 11px; margin-top: 31px; }
.pulse-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 0 rgba(46,204,113,.6); animation: pulse 2s infinite; }
.hero-card { position: absolute; right: max(24px, calc((100vw - 1180px)/2)); bottom: 0; width: 270px; padding: 21px 22px 20px; color: var(--ink); background: #fff; border-radius: 12px 12px 0 0; z-index: 1; box-shadow: 0 -12px 35px rgba(0,0,0,.08); }
.hero-card-top { font-family: var(--mono); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; display: flex; justify-content: space-between; color: var(--forest); }
.card-index { color: #91a398; }
.hero-card p { font-family: var(--display); letter-spacing: -.035em; line-height: 1.2; font-size: 17px; font-weight: 700; margin: 17px 0; }
.hero-card .text-link { font-size: 11px; }
@keyframes hero-in { from { opacity:0; transform: scale(1.08); } to { opacity:1; transform:scale(1.01);} }
@keyframes pulse { 70% { box-shadow: 0 0 0 8px rgba(46,204,113,0); } 100% { box-shadow: 0 0 0 0 rgba(46,204,113,0); } }

/* Trust strip */
.trust-bar { border-bottom: 1px solid var(--line); background: #fff; }
.trust-items { min-height: 128px; display: grid; grid-template-columns: repeat(4,1fr); }
.trust-items > div { padding: 30px 22px 24px 0; border-right: 1px solid var(--line); margin-right: 23px; }
.trust-items > div:last-child { border-right: none; }
.trust-icon { font-family: var(--mono); color: var(--forest); border: 1px solid var(--line); display:inline-grid; place-items:center; width: 22px; height: 22px; margin-bottom: 9px; font-size: 9px; }
.trust-items strong { display: block; font-size: 12px; color: var(--ink); }
.trust-items p { margin: 2px 0 0; font-size: 11px; color: var(--muted); }

/* Pathways */
.pathways { background: var(--paper); }
.path-grid { display: grid; grid-template-columns: repeat(5,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.path-card { min-height: 245px; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; text-align: left; padding: 22px; display: flex; flex-direction: column; align-items: flex-start; transition: background .25s ease, color .25s ease, transform .25s ease; position: relative; }
.path-card:hover, .path-card.active { background: var(--emerald); color: #fff; transform: translateY(-3px); z-index: 1; box-shadow: 0 16px 33px rgba(13,61,34,.13); }
.path-number { font-family: var(--mono); font-size: 9px; opacity: .65; letter-spacing: .13em; }
.path-symbol { font-size: 25px; color: var(--forest); margin: auto 0 14px; font-weight: 400; }
.path-card:hover .path-symbol, .path-card.active .path-symbol { color: var(--lime); }
.path-card strong { font-family: var(--display); letter-spacing: -.04em; font-size: 17px; line-height: 1.05; }
.path-card small { color: var(--muted); font-size: 10px; line-height: 1.4; margin: 8px 0 15px; }
.path-card:hover small, .path-card.active small { color: rgba(255,255,255,.68); }
.path-card b { margin-top: auto; font-size: 10px; letter-spacing: .01em; }
.path-card b i { color: var(--lime); margin-left: 4px; font-size: 15px; font-style: normal; }
.path-panel { min-height: 205px; display: grid; grid-template-columns: 102px 1fr 255px; gap: 25px; padding: 34px; background: var(--mist); align-items: center; border: 1px solid var(--line); border-top: 0; }
.path-panel-index { height: 96px; display: flex; flex-direction: column; justify-content: space-between; font: 500 34px/.8 var(--display); letter-spacing: -.07em; color: var(--emerald); }
.path-panel-index i { height: 1px; width: 65px; background: var(--lime); }
.path-panel h3 { font-size: 23px; margin: 0 0 8px; max-width: 530px; }
.path-panel p:not(.panel-kicker) { color: var(--muted); font-size: 13px; margin: 0; max-width: 615px; }
.path-panel-action { align-self: stretch; border-left: 1px solid var(--line); padding-left: 24px; display: flex; justify-content: center; flex-direction: column; gap: 14px; }
.path-panel-action > span { color: var(--muted); font-size: 10px; line-height: 1.4; }
.path-panel-action .button { min-height: 44px; padding: 10px 13px; font-size: 11px; }

/* Process */
.process { overflow: hidden; background: #fff; }
.process-heading-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; }
.process-heading-row h2 { margin-bottom: 0; }
.process-heading-row p { color: var(--muted); width: 345px; margin: 0 0 3px; font-size: 14px; }
.process-stage-wrap { background: var(--emerald); margin-top: 50px; color: #fff; }
.process-stage { padding: 0 0 70px; }
.stage-rail { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid rgba(255,255,255,.2); }
.stage-tab { min-height: 70px; background: transparent; border: 0; border-right: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.55); font-family: var(--mono); font-size: 10px; letter-spacing: .02em; text-align: left; padding: 0 15px; transition: background .2s, color .2s; }
.stage-tab:last-child { border-right: 0; }
.stage-tab span { color: var(--lime); margin-right: 8px; font-size: 9px; }
.stage-tab.active { color: #fff; background: rgba(255,255,255,.09); }
.stage-display { display: grid; grid-template-columns: .95fr 1fr; gap: 10%; padding: 63px 7% 0; align-items: center; }
.stage-visual { height: 285px; display: grid; place-items: center; }
.stage-graphic { height: 250px; width: 250px; border: 1px solid rgba(187,241,207,.45); border-radius: 50%; position: relative; background: radial-gradient(circle at 50% 50%, rgba(46,204,113,.25) 0, rgba(46,204,113,.07) 42%, transparent 43%); transition: transform .4s ease; }
.stage-graphic::after, .stage-graphic::before { content:""; position:absolute; border: 1px solid rgba(184,243,207,.25); border-radius:50%; inset: 29px; }
.stage-graphic::before { inset: 57px; border-style: dashed; animation: spin 20s linear infinite; }
.house-line { position:absolute; width: 76px; height: 64px; border: 2px solid var(--lime); bottom: 54px; left: 86px; border-top:0; }
.house-line::before { content:""; position:absolute; width:53px; height:53px; border-left: 2px solid var(--lime); border-top: 2px solid var(--lime); transform:rotate(45deg); left:9px; top:-29px; }
.house-line::after { content:""; position:absolute; width:12px; height:23px; border: 2px solid var(--lime); border-bottom:0; bottom:0; left:31px; }
.flag-line { position: absolute; width: 1px; height: 85px; background: var(--lime-light); top: 42px; left:124px; }
.flag-line::after { content:""; position:absolute; left:1px; top:0; width:30px; height:16px; border:1px solid var(--lime-light); border-left:0; }
.date-stamp { position:absolute; left: 156px; top: 134px; color:var(--lime-light); font-family:var(--mono); font-size:8px; letter-spacing:.11em; line-height:1.6; }
.stage-graphic-1 .house-line { border-color: var(--lime-light); }
.stage-graphic-1 .house-line::before, .stage-graphic-1 .house-line::after { border-color:var(--lime-light); }
.stage-copy h3 { font-size: clamp(2rem,3.2vw,3rem); line-height:1; margin: 0 0 16px; letter-spacing:-.055em; }
.stage-copy > p:not(.panel-kicker) { color: rgba(255,255,255,.72); max-width:430px; font-size:14px; }
.stage-copy .panel-kicker { color: var(--lime-light); }
.stage-notes { border-left: 1px solid var(--lime); margin: 25px 0 24px; padding: 4px 0 4px 13px; display: grid; }
.stage-notes span { color: rgba(255,255,255,.56); font-size: 9px; font-family:var(--mono); text-transform:uppercase; letter-spacing:.12em; }
.stage-notes strong { font-size: 12px; font-weight: 600; margin-top:3px; }
.stage-controls { display:flex; align-items:center; gap:14px; font-family:var(--mono); color:rgba(255,255,255,.7); font-size:10px; letter-spacing:.1em; }
.circle-control { border:1px solid rgba(255,255,255,.35); width:32px; height:32px; border-radius:50%; background:transparent; color:#fff; font-size:16px; transition:background .2s; }
.circle-control:hover { background:var(--lime); color:var(--emerald); border-color:var(--lime); }
@keyframes spin { to { transform: rotate(360deg); } }

/* Services */
.services { background: var(--mist); }
.service-list { border-top: 1px solid var(--line); }
.service-row { min-height: 151px; border-bottom: 1px solid var(--line); display:grid; grid-template-columns: 60px 75px minmax(0,1fr) 44px; align-items:center; gap:14px; transition:padding .25s ease, background .25s ease; }
.service-row:hover { padding-left: 16px; padding-right:16px; background:#fff; }
.service-code { color:var(--forest); font:500 10px var(--mono); letter-spacing:.13em; }
.service-icon { color: var(--forest); border:1px solid var(--line); width:44px; height:44px; display:grid; place-items:center; font-size:22px; }
.service-row h3 { margin:0 0 6px; font-size:23px; }
.service-row p { color:var(--muted); margin:0; max-width:660px; font-size:13px; }
.arrow-link { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; border:1px solid var(--line); color:var(--forest); font-size:20px; transition: background .2s, color .2s; }
.service-row:hover .arrow-link { color:#fff; background:var(--emerald); }

/* Estate */
.estate-section { min-height: 590px; display:grid; grid-template-columns: 1fr 1fr; color:#fff; background: var(--emerald); }
.estate-image { background: url('/assets/estate-property-review.webp') center / cover no-repeat; min-height: 520px; }
.estate-copy { max-width:630px; padding: 100px clamp(40px, 8vw, 130px) 82px clamp(40px, 7vw, 105px); }
.estate-copy h2 { font-size: clamp(2.25rem, 3.7vw, 3.8rem); color:#fff; margin-top:18px; }
.estate-copy h2 em { color:var(--lime); }
.estate-copy > p { color:rgba(255,255,255,.74); font-size:14px; max-width:480px; }
.estate-list { display:grid; gap:8px; margin: 28px 0; }
.estate-list span { font-size:12px; display:flex; gap:10px; color:rgba(255,255,255,.9); }
.estate-list span::before { content:'↗'; color:var(--lime); }
.light-link { color: var(--lime-light); }

/* Investors */
.investors { background:#fff; }
.investor-layout { display:grid; grid-template-columns: .9fr 1fr; gap: 13%; }
.investor-sticky { align-self:start; position: sticky; top: 110px; }
.investor-sticky h2 { margin-bottom:19px; }
.investor-sticky p { max-width: 388px; color:var(--muted); font-size:14px; margin-bottom:25px; }
.investor-stack { border-top:1px solid var(--line); }
.investor-stack article { min-height:142px; border-bottom:1px solid var(--line); display:grid; grid-template-columns:80px 1fr; gap:18px; padding:27px 0; }
.outline-number { color:transparent; -webkit-text-stroke: 1px rgba(15,81,50,.55); font-family:var(--display); font-size:52px; line-height:.9; letter-spacing:-.08em; }
.investor-stack h3 { margin:0 0 7px; font-size:22px; }
.investor-stack p { margin:0; font-size:13px; color:var(--muted); }

/* Why */
.why { background:var(--mist); }
.why-layout { display:grid; grid-template-columns: .92fr 1.1fr; gap:10%; align-items:start; }
.why-intro { position:sticky; top:110px; }
.why-intro p { color:var(--muted); max-width:365px; font-size:14px; }
.why-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; border:1px solid var(--line); background:var(--line); }
.why-grid article { min-height:216px; background:#fff; padding:26px; }
.why-grid span { color:var(--forest); font:500 10px var(--mono); letter-spacing:.13em; }
.why-grid h3 { font-size:19px; margin: 35px 0 8px; }
.why-grid p { margin:0; color:var(--muted); font-size:12px; }

/* Cases */
.cases { background:#fff; }
.cases-head { margin-bottom:40px; }
.case-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.case-card { min-height:355px; border:1px solid var(--line); padding:26px; display:flex; flex-direction:column; background:#fbfcfa; transition: transform .25s ease, box-shadow .25s ease; }
.case-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.case-card.dark { background:var(--emerald); color:#fff; border-color:var(--emerald); }
.case-card.accent { background:var(--lime); border-color:var(--lime); }
.case-meta { display:flex; justify-content:space-between; font:500 9px var(--mono); letter-spacing:.11em; color:var(--forest); }
.case-card.dark .case-meta { color:var(--lime-light); }
.case-card h3 { font-size:28px; line-height:1.02; margin: auto 0 14px; max-width:280px; }
.case-card p { color:var(--muted); font-size:13px; margin-bottom:24px; }
.case-card.dark p { color:rgba(255,255,255,.7); }
.case-result { border-top:1px solid var(--line); padding-top:13px; display:grid; gap:3px; }
.case-card.dark .case-result { border-color:rgba(255,255,255,.25); }
.case-result span { font:500 9px var(--mono); letter-spacing:.11em; text-transform:uppercase; color:var(--muted); }
.case-card.dark .case-result span { color:rgba(255,255,255,.55); }
.case-result strong { font-size:12px; font-weight:600; }

/* Review flow */
.review-flow { background: var(--emerald); color:#fff; padding:105px 0; }
.review-flow-wrap { display:grid; grid-template-columns:.8fr 1fr; gap:12%; }
.review-flow h2 { color:#fff; font-size:clamp(2.4rem, 4vw, 4.2rem); }
.review-flow h2 em { color:var(--lime); }
.flow-list { list-style:none; margin:0; padding:0; border-top:1px solid rgba(255,255,255,.25); }
.flow-list li { display:grid; grid-template-columns:58px 1fr; gap:12px; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.22); }
.flow-list > li > span { color:var(--lime); font:500 10px var(--mono); padding-top:3px; }
.flow-list h3 { font-size:18px; margin:0 0 3px; }
.flow-list p { margin:0; color:rgba(255,255,255,.68); font-size:12px; }

/* FAQ */
.faq { background:var(--mist); }
.faq-layout { display:grid; grid-template-columns:.85fr 1.25fr; gap:10%; }
.faq-intro { position:sticky; align-self:start; top:110px; }
.faq-intro p { color:var(--muted); font-size:14px; max-width:350px; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { list-style:none; cursor:pointer; padding:19px 0; font-weight:700; font-size:15px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:var(--forest); font-size:23px; font-weight:400; transition:transform .2s; }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list details p { max-width:600px; padding-bottom:19px; margin:0; color:var(--muted); font-size:13px; }

/* Contact */
.contact { background:#0c2f1d; color:#fff; min-height:650px; }
.contact-grid { display:grid; grid-template-columns:.8fr 1.18fr; gap:10%; align-items:start; position:relative; }
.contact-intro { padding-top:12px; }
.contact h2 { color:#fff; font-size:clamp(2.6rem, 4.4vw, 4.65rem); margin-top:18px; }
.contact h2 em { color:var(--lime); }
.contact-intro > p:not(.contact-note) { color:rgba(255,255,255,.73); max-width:345px; font-size:14px; }
.contact-badges { display:flex; flex-wrap:wrap; gap:7px; margin:28px 0 22px; }
.contact-badges span { padding:7px 9px; border:1px solid rgba(255,255,255,.25); border-radius:99px; font:500 9px var(--mono); letter-spacing:.05em; color:var(--lime-light); }
.contact-note { color:rgba(255,255,255,.48); max-width:315px; font-size:10px; line-height:1.55; }
.contact-form { background:#fff; color:var(--ink); padding:30px; border-radius:10px; box-shadow:0 30px 70px rgba(0,0,0,.25); }
.form-heading { display:flex; justify-content:space-between; align-items:baseline; padding-bottom:21px; border-bottom:1px solid var(--line); margin-bottom:19px; }
.form-heading span { font-weight:800; font-size:16px; letter-spacing:-.03em; }
.form-heading small { color:var(--muted); font-size:9px; }
.contact-form label { display:grid; gap:7px; font-size:10px; font-weight:700; margin-bottom:14px; color:#304638; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
.contact-form input, .contact-form select, .contact-form textarea { width:100%; border:1px solid rgba(15,81,50,.22); color:var(--ink); background:#fbfcfa; border-radius:4px; padding:11px 11px; outline:0; font-size:12px; transition:border-color .2s, box-shadow .2s; }
.contact-form textarea { resize:vertical; min-height:70px; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color:var(--forest); box-shadow:0 0 0 3px rgba(20,90,50,.1); background:#fff; }
.contact-form input[aria-invalid="true"] { border-color:#b33427; box-shadow:0 0 0 3px rgba(179,52,39,.08); }
.consent { grid-template-columns:17px 1fr; align-items:start; line-height:1.4; color:var(--muted)!important; font-size:10px!important; font-weight:500!important; margin: 3px 0 15px!important; }
.consent input { width:15px!important; height:15px; margin:0; accent-color:var(--emerald); }
.form-actions { display:flex; align-items:center; gap:13px; }
.form-actions .button { min-height:47px; }
#form-status { color:#b33427; font-size:11px; margin:0; }
.form-success { position:absolute; right:0; bottom:0; width:calc((100% - 10%) * .596); min-height:430px; padding:58px 55px; background:#fff; color:var(--ink); border-radius:10px; box-shadow:0 30px 70px rgba(0,0,0,.25); }
.form-success .success-mark { width:46px; height:46px; display:grid; place-items:center; border-radius:50%; background:var(--lime); color:#09391e; font-size:24px; font-weight:800; margin-bottom:27px; }
.form-success h3 { font-size:34px; margin:0 0 12px; }
.form-success p:not(.panel-kicker) { color:var(--muted); font-size:14px; max-width:420px; }
.reset-form { margin-top:15px; }

/* Footer */
.site-footer { background:#061c10; color:#fff; padding-top:62px; }
.footer-top { display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:45px; padding-bottom:50px; border-bottom:1px solid rgba(255,255,255,.18); }
.footer-brand .brand-lockup em { color:var(--lime); }
.footer-brand .brand-lockup small { color:rgba(255,255,255,.5); }
.footer-top > p { margin:0; max-width:390px; color:rgba(255,255,255,.66); font-size:13px; }
.footer-cta { align-self:center; color:var(--lime); border-bottom:1px solid currentColor; padding-bottom:7px; font-size:12px; font-weight:700; white-space:nowrap; }
.footer-cta span { font-size:17px; margin-left:8px; }
.footer-middle { display:grid; grid-template-columns:1fr 1fr 1fr 1.1fr; gap:35px; padding:45px 0; }
.footer-middle > div { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.footer-label { color:var(--lime); font:500 9px var(--mono); letter-spacing:.15em; text-transform:uppercase; margin-bottom:6px; }
.footer-middle a, .legal-trigger { color:rgba(255,255,255,.73); font-size:12px; transition:color .2s; }
.footer-middle a:hover, .legal-trigger:hover { color:var(--lime); }
.legal-trigger { padding:0; border:0; background:transparent; }
.footer-small { color:rgba(255,255,255,.45); font-size:11px; line-height:1.5; margin:5px 0 0; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.18); min-height:62px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.footer-bottom p { color:rgba(255,255,255,.43); font:400 9px var(--mono); letter-spacing:.05em; margin:0; }

/* Modals */
.modal-backdrop { position:fixed; inset:0; background:rgba(0,21,11,.7); z-index:90; backdrop-filter:blur(5px); }
.legal-modal { position:fixed; z-index:100; top:50%; left:50%; width:min(550px, calc(100% - 36px)); max-height:calc(100vh - 50px); overflow:auto; transform:translate(-50%,-50%); background:#fff; color:var(--ink); padding:44px; border-radius:10px; box-shadow:0 25px 70px rgba(0,0,0,.32); }
.legal-modal h2 { font-size:32px; margin: 8px 0 17px; }
.legal-modal p:not(.panel-kicker) { color:var(--muted); font-size:13px; }
.legal-modal a { color:var(--forest); font-weight:700; }
.modal-close { position:absolute; right:13px; top:12px; border:0; background:var(--mist); width:30px; height:30px; border-radius:50%; color:var(--forest); font-size:21px; line-height:1; }

@media (max-width: 980px) {
  .desktop-nav { display:none; } .nav-cta { margin-left:auto; }
  .section-pad { padding:88px 0; }
  .path-grid { grid-template-columns:repeat(3,1fr); }
  .path-card { min-height:205px; }
  .path-panel { grid-template-columns:70px 1fr; }.path-panel-action { grid-column:2; border-left:0; padding-left:0; flex-direction:row; align-items:center; justify-content:space-between; }
  .estate-section { grid-template-columns: 1fr; }.estate-image { min-height:330px; }.estate-copy { max-width:none; padding:75px max(24px, 10vw); }
  .why-layout, .faq-layout { grid-template-columns:1fr; gap:45px; }.why-intro, .faq-intro { position:static; }
  .review-flow-wrap { grid-template-columns:1fr; gap:45px; }
  .contact-grid { grid-template-columns:1fr; gap:45px; }.contact-intro { max-width:560px; }.form-success { left:0; right:auto; bottom:0; width:100%; min-height:440px; }
  .footer-top { grid-template-columns:1fr 1fr; }.footer-cta { grid-column:1 / -1; justify-self:start; }
}
@media (max-width: 700px) {
  .container, .nav-wrap { width:min(100% - 32px, 1180px); }.nav-wrap { height:68px; gap:12px; }.brand img { width:36px;height:36px }.brand-lockup { font-size:18px; }.nav-cta { display:none; }
  .menu-toggle { width:42px; height:42px; display:grid; align-content:center; gap:6px; border:1px solid var(--line); border-radius:5px; background:#fff; padding:0 11px; }.menu-toggle i { height:1px; background:var(--forest); width:100%; transition:transform .2s; }.menu-toggle.is-open i:first-of-type { transform:translateY(3.5px) rotate(45deg); }.menu-toggle.is-open i:last-of-type { transform:translateY(-3.5px) rotate(-45deg); }
  .mobile-nav { padding:5px 16px 14px; display:grid; background:var(--paper); border-top:1px solid var(--line); }.mobile-nav[hidden] { display:none; }.mobile-nav a { padding:11px 0; border-bottom:1px solid var(--line); color:var(--forest); font-size:13px; font-weight:700; }
  .hero { min-height:648px; align-items:flex-start; }.hero-scrim { background:linear-gradient(100deg,rgba(5,41,23,.94),rgba(8,58,32,.77)); }.hero-content { padding:83px 0 155px; }.hero h1 { font-size:clamp(2.8rem, 13vw, 4.2rem); }.hero-lead { font-size:16px; }.hero-card { width:calc(100% - 32px); right:16px; padding:17px 18px; }.hero-card p { font-size:15px; margin:12px 0; }
  .trust-items { grid-template-columns:1fr 1fr; padding:8px 0; }.trust-items > div { padding:17px 10px 16px 0; margin-right:12px; }.trust-items > div:nth-child(2) { border-right:0; }.trust-items p { font-size:10px; }
  .section-intro, .process-heading-row { display:block; }.section-intro > p, .process-heading-row p { width:auto; max-width: none; margin-top:16px; }.section-intro { margin-bottom:30px; }
  .path-grid { grid-template-columns:1fr 1fr; }.path-card { min-height:190px; padding:17px; }.path-card:last-child { grid-column:1/-1; min-height:150px; }.path-card:last-child .path-symbol { margin:auto 0 12px; }.path-panel { min-height:0; padding:25px 18px; grid-template-columns:1fr; gap:13px; }.path-panel-index { height:auto; display:flex; flex-direction:row; align-items:center; font-size:26px; }.path-panel-action { grid-column:auto; display:grid; gap:12px; }.path-panel-action .button { width:max-content; }.path-panel h3 { font-size:20px; }
  .process-stage-wrap { margin-top:34px; }.stage-rail { grid-template-columns:1fr 1fr; }.stage-tab { min-height:55px; padding:0 11px; font-size:9px; }.stage-tab:nth-child(2) { border-right:0; }.stage-display { display:flex; flex-direction:column; padding:33px 5px 0; gap:17px; }.stage-visual { height:220px; }.stage-graphic { transform:scale(.84); }.stage-copy h3 { font-size:32px; }
  .service-row { grid-template-columns: 36px 45px 1fr 34px; gap:9px; min-height:160px; }.service-row h3 { font-size:19px; }.service-row p { font-size:11px; }.service-icon { width:36px; height:36px; font-size:18px; }.arrow-link { width:32px;height:32px;font-size:17px; }.service-row:hover { padding-left:6px;padding-right:6px; }
  .estate-copy { padding:64px 24px; }.estate-image { min-height:270px; }.estate-copy h2 { font-size:35px; }
  .investor-layout { grid-template-columns:1fr; gap:38px; }.investor-sticky { position:static; }.investor-stack article { grid-template-columns:58px 1fr; min-height:0; }.outline-number { font-size:43px; }.investor-stack h3 { font-size:19px; }
  .why-grid { grid-template-columns:1fr; }.why-grid article { min-height:167px; }.why-grid h3 { margin-top:24px; }
  .case-grid { grid-template-columns:1fr; }.case-card { min-height:290px; }.case-card h3 { margin-top:55px; }
  .faq-list summary { font-size:14px; padding:16px 0; }.faq-list details p { font-size:12px; }
  .contact-form { padding:21px 17px; }.form-grid { grid-template-columns:1fr; }.contact h2 { font-size:45px; }.form-heading { display:block; }.form-heading small { display:block; margin-top:5px; }.form-success { min-height:530px; padding:45px 28px; }.form-success h3 { font-size:30px; }
  .footer-top, .footer-middle { grid-template-columns:1fr; gap:28px; }.footer-top { padding-bottom:35px; }.footer-middle { padding:36px 0; }.footer-bottom { align-items:flex-start; flex-direction:column; padding:17px 0; gap:7px; }.legal-modal { padding:38px 25px 28px; }.legal-modal h2 { font-size:27px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }


/* Legibility upgrade and multi-page expansion */
:root { --readable: 17px; }
body { font-size: var(--readable); line-height: 1.65; }
.desktop-nav a { font-size: 15px; }
.nav-cta { font-size: 14px; min-height: 42px; }
.eyebrow, .panel-kicker { font-size: 12px; letter-spacing: .12em; }
.eyebrow span { width: 31px; }
.button { min-height: 54px; padding: 14px 20px; font-size: 15px; }
.text-link { font-size: 15px; }
.section-intro > p, .process-heading-row p, .hero-lead { font-size: 17px; line-height: 1.6; }
.hero-footnote { font-size: 14px; }
.hero-card-top, .card-index { font-size: 12px; }
.hero-card .text-link { font-size: 14px; }
.trust-items strong { font-size: 15px; }
.trust-items p { font-size: 14px; line-height: 1.45; }
.trust-icon { font-size: 11px; width: 26px; height: 26px; }
.path-number, .service-code, .why-grid span, .case-meta, .case-result span, .flow-list > li > span { font-size: 12px; }
.path-card small { font-size: 14px; line-height: 1.45; }
.path-card b { font-size: 13px; }
.path-panel p:not(.panel-kicker), .stage-copy > p:not(.panel-kicker), .service-row p, .estate-copy > p, .investor-sticky p, .investor-stack p, .why-intro p, .why-grid p, .case-card p, .flow-list p, .faq-intro p, .faq-list details p, .contact-intro > p:not(.contact-note), .form-success p:not(.panel-kicker), .legal-modal p:not(.panel-kicker) { font-size: 16px; line-height: 1.62; }
.path-panel-action > span, .stage-notes span, .stage-controls, .footer-label { font-size: 12px; }
.path-panel-action .button { font-size: 14px; min-height: 48px; }
.stage-tab { font-size: 13px; }
.stage-tab span { font-size: 11px; }
.stage-notes strong { font-size: 14px; }
.service-row h3, .investor-stack h3 { font-size: 24px; }
.estate-list span { font-size: 15px; }
.case-result strong { font-size: 14px; }
.flow-list h3 { font-size: 20px; }
.faq-list summary { font-size: 17px; line-height: 1.4; }
.contact-note { font-size: 13px; line-height: 1.55; }
.contact-badges span { font-size: 12px; }
.form-heading span { font-size: 19px; }
.form-heading small { font-size: 12px; }
.contact-form label { font-size: 14px; }
.contact-form input, .contact-form select, .contact-form textarea { font-size: 16px; padding: 13px; }
.consent { font-size: 13px !important; line-height: 1.5; }
#form-status { font-size: 13px; }
.footer-top > p, .footer-middle a, .legal-trigger { font-size: 14px; }
.footer-small { font-size: 13px; }
.footer-bottom p { font-size: 12px; line-height: 1.5; }

.language-link { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 999px; color: var(--forest); font-size: 13px; font-weight: 800; padding: 7px 10px; line-height: 1; }
.language-link:hover { background: var(--mist); }
.mobile-nav .language-link { margin-top: 11px; width: max-content; }
.page-main { background: var(--paper); }
.page-hero { position: relative; overflow: hidden; padding: 100px 0 82px; background: linear-gradient(125deg, #e7f5eb 0%, #fbfcfa 43%, #e2f2e7 100%); border-bottom: 1px solid var(--line); }
.page-hero.dark { background: linear-gradient(120deg, #082f1c, #145a32); color: #fff; }
.page-hero .container { position: relative; z-index: 1; }
.page-hero .eyebrow { margin-bottom: 18px; }
.page-hero h1 { max-width: 850px; margin: 0 0 20px; font-size: clamp(3rem, 5.7vw, 5.8rem); }
.page-hero h1 em { color: var(--forest); }
.page-hero.dark h1 em { color: var(--lime); }
.page-hero-lead { width: min(760px, 100%); color: var(--muted); font-size: 19px; line-height: 1.62; margin: 0; }
.page-hero.dark .page-hero-lead { color: rgba(255,255,255,.82); }
.page-hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 30px; }
.page-hero-grid { position: absolute; inset: 0; opacity: .24; background-image: linear-gradient(rgba(15,81,50,.16) 1px,transparent 1px), linear-gradient(90deg,rgba(15,81,50,.16) 1px,transparent 1px); background-size: 62px 62px; mask-image: linear-gradient(120deg, #000, transparent 70%); }
.page-hero.dark .page-hero-grid { opacity: .18; background-image: linear-gradient(rgba(184,243,207,.23) 1px,transparent 1px), linear-gradient(90deg,rgba(184,243,207,.23) 1px,transparent 1px); }
.breadcrumb { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; color: var(--muted); font-size: 14px; margin: 0 0 21px; }
.breadcrumb a { color: var(--forest); font-weight: 700; }
.page-hero.dark .breadcrumb { color: rgba(255,255,255,.66); }.page-hero.dark .breadcrumb a { color: var(--lime-light); }
.compliance-bar { border-left: 4px solid var(--lime); background: #fff; padding: 20px 22px; margin: 0; color: #355243; font-size: 15px; line-height: 1.6; box-shadow: 0 12px 26px rgba(15,55,32,.05); }
.compliance-bar strong { color: var(--emerald); }
.content-section { padding: 88px 0; }
.content-section.tint { background: var(--mist); }.content-section.green { background: var(--emerald); color: #fff; }
.content-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: clamp(38px, 7vw, 96px); align-items: start; }
.content-grid h2 { font-size: clamp(2.1rem, 3.6vw, 3.8rem); margin-top: 16px; }
.content-grid h3 { font-size: 27px; margin-top: 30px; }
.content-grid p, .content-grid li { color: var(--muted); font-size: 17px; line-height: 1.7; }
.content-section.green .content-grid p, .content-section.green .content-grid li { color: rgba(255,255,255,.76); }
.content-grid ul, .content-grid ol { padding-left: 23px; margin: 21px 0; }.content-grid li + li { margin-top: 9px; }
.content-sidebar { position: sticky; top: 105px; display: grid; gap: 17px; }
.info-card { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 25px; box-shadow: 0 16px 38px rgba(15,55,32,.06); }
.info-card.dark-card { background: #0c3822; border-color: #0c3822; color: #fff; }
.info-card .panel-kicker { margin-bottom: 12px; }.info-card h3 { font-size: 22px; margin: 0 0 11px; }.info-card p { font-size: 15px; color: var(--muted); margin-bottom: 20px; }.info-card.dark-card p { color: rgba(255,255,255,.72); }
.checklist { list-style: none!important; padding: 0!important; margin: 18px 0!important; }.checklist li { position: relative; padding-left: 28px; font-size: 16px!important; }.checklist li::before { content: '✓'; display: grid; place-items: center; position:absolute; left:0; top:5px; width:18px; height:18px; color: #08401f; border-radius:50%; background: var(--lime); font-size:12px; font-weight:800; }
.solution-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:16px; margin-top: 35px; }.solution-card { padding:26px; background:#fff; border:1px solid var(--line); min-height:250px; }.solution-card > span { display:inline-grid; place-items:center; width:34px; height:34px; color:var(--forest); border:1px solid var(--line); font-family:var(--mono); font-size:12px; }.solution-card h3 { font-size:22px; margin:44px 0 9px; }.solution-card p { color:var(--muted); font-size:16px; line-height:1.58; margin:0; }
.step-list { display: grid; gap: 0; border-top: 1px solid rgba(255,255,255,.3); }.step-list article { display:grid; grid-template-columns:68px 1fr; gap:16px; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.28); }.step-list > article > span { color:var(--lime); font:500 13px var(--mono); padding-top:3px; }.step-list h3 { margin:0 0 7px; font-size:22px; }.step-list p { margin:0; font-size:16px; }
.funnel-band { background: linear-gradient(115deg, #0b3c23 0%, #145a32 55%, #0d4f2f 100%); color:#fff; padding:88px 0; }.funnel-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:8%; align-items:start; }.funnel-layout h2 { color:#fff; font-size:clamp(2.2rem,4vw,4rem); }.funnel-layout h2 em { color:var(--lime); }.funnel-layout > div > p { color:rgba(255,255,255,.74); font-size:17px; line-height:1.65; max-width:460px; }
.funnel-card { padding:30px; border-radius:10px; background:#fff; color:var(--ink); box-shadow:0 20px 50px rgba(0,0,0,.2); }.funnel-card h3 { font-size:28px; margin:0 0 8px; }.funnel-card > p { color:var(--muted); font-size:16px; line-height:1.58; }
.lead-form { display:grid; gap:14px; margin-top:22px; }.lead-form label { display:grid; gap:7px; color:#304638; font-size:14px; font-weight:800; }.lead-form input, .lead-form textarea, .lead-form select { width:100%; padding:13px; background:#fbfcfa; border:1px solid rgba(15,81,50,.22); color:var(--ink); border-radius:5px; outline:0; font-size:16px; }.lead-form input:focus, .lead-form textarea:focus, .lead-form select:focus { border-color:var(--forest); box-shadow:0 0 0 3px rgba(20,90,50,.1); background:#fff; }.lead-form [aria-invalid="true"] { border-color:#b33427; box-shadow:0 0 0 3px rgba(179,52,39,.08); }.lead-form .form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.lead-form .consent { margin:0!important; }.lead-form [data-form-status] { min-height:21px; margin:0; color:#a22f24; font-size:14px; }.lead-form .honeypot { position:absolute; left:-9999px; opacity:0; pointer-events:none; }
.lead-success { border-left:4px solid var(--lime); padding:25px; background:#eefaf2; outline:0; }.lead-success h3 { margin:0 0 8px; font-size:27px; }.lead-success p { color:#426252; font-size:16px; line-height:1.6; }
.resource-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.resource-card { border:1px solid var(--line); background:#fff; padding:27px; min-height:245px; display:flex; flex-direction:column; }.resource-card .resource-type { color:var(--forest); font:600 12px var(--mono); letter-spacing:.12em; }.resource-card h3 { font-size:23px; margin:35px 0 9px; }.resource-card p { color:var(--muted); font-size:16px; line-height:1.55; }.resource-card .text-link { margin-top:auto; width:max-content; }
.case-study-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.study-card { padding:28px; min-height:350px; background:#fff; border:1px solid var(--line); display:flex; flex-direction:column; }.study-card:nth-child(2) { background:var(--emerald); color:#fff; border-color:var(--emerald); }.study-card:nth-child(3) { background:#d8f8e4; }.study-tag { font:600 12px var(--mono); letter-spacing:.1em; color:var(--forest); }.study-card:nth-child(2) .study-tag { color:var(--lime-light); }.study-card h2 { font-size:28px; line-height:1.05; margin: auto 0 14px; }.study-card p { font-size:16px; color:var(--muted); line-height:1.6; }.study-card:nth-child(2) p { color:rgba(255,255,255,.75); }.study-result { padding-top:14px; border-top:1px solid var(--line); display:grid; gap:4px; }.study-card:nth-child(2) .study-result { border-color:rgba(255,255,255,.28); }.study-result span { font-size:13px; color:var(--muted); }.study-card:nth-child(2) .study-result span { color:rgba(255,255,255,.68); }.study-result strong { font-size:16px; }
.language-banner { background:#e7f5eb; border-bottom:1px solid var(--line); padding:11px 0; }.language-banner .container { display:flex; justify-content:space-between; gap:16px; align-items:center; font-size:14px; color:#2c5940; }.language-banner a { color:var(--forest); font-weight:800; text-decoration:underline; }
.page-footer-note { max-width:760px; color:var(--muted); font-size:15px; line-height:1.6; margin-top:28px; }

@media (max-width: 980px) {
  .language-link { font-size: 13px; }
  .content-grid, .funnel-layout { grid-template-columns:1fr; gap:38px; }.content-sidebar { position:static; grid-template-columns:repeat(2,1fr); }.solution-grid, .resource-grid, .case-study-grid { grid-template-columns:1fr 1fr; }.page-hero { padding:80px 0 66px; }
}
@media (max-width: 700px) {
  body { font-size:16px; }.eyebrow, .panel-kicker { font-size:12px; }.desktop-nav { display:none; }.nav-wrap .language-link { display:none; }.mobile-nav .language-link { display:inline-flex; }
  .hero-footnote, .trust-items p, .path-card small { font-size:14px; }.section-intro > p, .process-heading-row p, .hero-lead { font-size:16px; }.path-panel p:not(.panel-kicker), .stage-copy > p:not(.panel-kicker), .service-row p, .estate-copy > p, .investor-sticky p, .investor-stack p, .why-intro p, .why-grid p, .case-card p, .flow-list p, .faq-intro p, .faq-list details p, .contact-intro > p:not(.contact-note), .form-success p:not(.panel-kicker), .legal-modal p:not(.panel-kicker) { font-size:15px; }
  .page-hero { padding:62px 0 54px; }.page-hero h1 { font-size:clamp(2.7rem, 13vw, 4.1rem); }.page-hero-lead { font-size:17px; }.breadcrumb { font-size:14px; }
  .content-section, .funnel-band { padding:64px 0; }.content-grid h3 { font-size:24px; }.content-grid p, .content-grid li { font-size:16px; }.content-sidebar { grid-template-columns:1fr; }.solution-grid, .resource-grid, .case-study-grid { grid-template-columns:1fr; }.solution-card, .resource-card { min-height:0; }.solution-card h3, .resource-card h3 { margin-top:27px; }.funnel-card { padding:22px 18px; }.funnel-layout > div > p { font-size:16px; }.lead-form .form-row { grid-template-columns:1fr; }.language-banner .container { align-items:flex-start; flex-direction:column; }
  .footer-middle a, .legal-trigger { font-size:15px; }.footer-small, .footer-bottom p { font-size:13px; }
}

.hero-guide-link { display: inline-flex; margin-top: 18px; color: rgba(255,255,255,.92); font-size: 15px; }
.hero-guide-link:hover { color: var(--lime); }
.date-stamp { font-size: 12px; }
.contact-note { font-size: 14px; color: rgba(255,255,255,.72); }


/* Site-wide typography accessibility pass — readable at normal zoom and scalable at 200%. */
:root {
  --type-body: 1.125rem;
  --type-support: 1rem;
  --type-meta: 0.875rem;
  --type-lead: 1.25rem;
  --leading-body: 1.65;
  --reading-measure: 70ch;
  --muted: #4e6255;
}

html { font-size: 100%; }
body {
  font-size: var(--type-body);
  line-height: var(--leading-body);
  font-weight: 400;
  text-rendering: optimizeLegibility;
}
p, li { font-size: inherit; line-height: var(--leading-body); }
h1, h2, h3 { font-weight: 700; }
h1, .page-hero h1 { font-size: clamp(2.75rem, 5vw, 4rem); line-height: 1.08; letter-spacing: -0.05em; }
h2, .content-grid h2, .funnel-layout h2 { font-size: clamp(2rem, 3.1vw, 2.625rem); line-height: 1.16; letter-spacing: -0.045em; }
h3, .content-grid h3, .service-row h3, .investor-stack h3, .resource-card h3, .solution-card h3 { font-size: clamp(1.375rem, 1.7vw, 1.75rem); line-height: 1.22; letter-spacing: -0.035em; }

.container { width: min(1180px, calc(100% - 56px)); }
.section-pad, .content-section { padding: 6.5rem 0; }
.content-section > .container > p, .content-grid article > p, .content-grid article > ul, .content-grid article > ol, .faq-list details p, .funnel-layout > div > p { max-width: var(--reading-measure); }
.content-grid > article > p + p { margin-top: 1.2em; }

/* Navigation, actions and reusable labels */
.desktop-nav a, .mobile-nav a, .language-link { font-size: 1rem; line-height: 1.35; }
.nav-cta, .button { min-height: 3.5rem; padding: 0.85rem 1.25rem; font-size: 1rem; line-height: 1.25; font-weight: 750; }
.text-link, .footer-cta { font-size: 1rem; line-height: 1.35; }
.eyebrow, .panel-kicker, .footer-label, .service-code, .path-number, .case-meta, .case-result span, .study-tag, .resource-card .resource-type { font-size: var(--type-meta); letter-spacing: 0.09em; line-height: 1.35; }
.brand-lockup small { font-size: 0.8125rem; letter-spacing: 0.13em; }

/* Introductory copy and visual-area contrast */
.hero-lead, .page-hero-lead { font-size: var(--type-lead); line-height: 1.6; max-width: 62ch; }
.section-intro > p, .process-heading-row p { font-size: var(--type-lead); line-height: 1.6; max-width: 60ch; }
.hero-footnote, .hero-card-top, .card-index { font-size: var(--type-meta); line-height: 1.45; }
.hero-card { width: min(22rem, calc(100% - 3rem)); padding: 1.5rem; }
.hero-card p { font-size: 1.125rem; line-height: 1.42; }
.page-hero.dark .page-hero-lead, .hero-lead { color: rgba(255,255,255,.92); }

/* Homepage content, cards, tabs and explanatory copy */
.trust-items > div { padding: 2rem 1.5rem 1.75rem 0; }
.trust-items strong { font-size: 1rem; line-height: 1.35; }
.trust-items p, .path-card small, .path-card b, .path-panel-action > span, .stage-notes span, .stage-controls { font-size: var(--type-meta); line-height: 1.5; }
.path-card { min-height: 17rem; padding: 1.75rem; }
.path-card strong { font-size: 1.375rem; line-height: 1.2; }
.path-panel { padding: 2.4rem; }
.path-panel p:not(.panel-kicker), .stage-copy > p:not(.panel-kicker), .service-row p, .estate-copy > p, .investor-sticky p, .investor-stack p, .why-intro p, .why-grid p, .case-card p, .flow-list p, .faq-intro p, .faq-list details p, .contact-intro > p:not(.contact-note), .form-success p:not(.panel-kicker), .legal-modal p:not(.panel-kicker) { font-size: var(--type-body); line-height: var(--leading-body); }
.path-panel h3, .stage-copy h3 { font-size: clamp(1.5rem, 2.2vw, 2rem); line-height: 1.17; }
.stage-tab { min-height: 4.9rem; padding: 0 1rem; font-size: var(--type-support); line-height: 1.35; }
.stage-tab span { font-size: var(--type-meta); }
.stage-notes strong { font-size: var(--type-support); }
.circle-control { width: 2.6rem; height: 2.6rem; font-size: 1.125rem; }
.service-row { min-height: 11.5rem; gap: 1.25rem; }
.service-row p, .investor-stack p, .why-grid p, .case-card p, .flow-list p { max-width: 68ch; }
.estate-copy { padding-block: 6.25rem; }
.estate-list { gap: 0.75rem; }
.estate-list span { font-size: var(--type-support); line-height: 1.5; }
.investor-stack article { padding: 2rem 0; }
.why-grid article, .case-card, .solution-card, .resource-card, .study-card { padding: 2rem; }
.why-grid h3 { font-size: 1.5rem; line-height: 1.22; }
.case-card h3, .study-card h2 { font-size: clamp(1.5rem, 2.1vw, 2rem); line-height: 1.15; }
.case-result strong, .study-result strong { font-size: var(--type-support); }

/* Content pages, FAQs, forms and confirmations */
.compliance-bar { padding: 1.5rem 1.6rem; font-size: 1rem; line-height: 1.65; }
.content-grid { gap: clamp(2.5rem, 7vw, 6rem); }
.content-grid p, .content-grid li, .info-card p, .solution-card p, .resource-card p, .study-card p, .page-footer-note { font-size: var(--type-body); line-height: var(--leading-body); }
.content-grid ul, .content-grid ol { margin: 1.35rem 0; }
.content-grid li + li { margin-top: 0.72rem; }
.info-card { padding: 2rem; }
.info-card h3 { font-size: 1.5rem; line-height: 1.25; }
.checklist li { padding-left: 2rem; font-size: var(--type-support) !important; line-height: 1.55; }
.checklist li::before { top: 0.28rem; width: 1.25rem; height: 1.25rem; font-size: 0.8125rem; }
.solution-card, .resource-card { min-height: 17rem; }
.solution-card h3, .resource-card h3 { margin-top: 2rem; }
.step-list article { grid-template-columns: 4.5rem 1fr; padding: 1.6rem 0; }
.step-list > article > span { font-size: var(--type-meta); }
.step-list h3 { font-size: 1.5rem; line-height: 1.23; }
.step-list p { font-size: var(--type-body); line-height: var(--leading-body); }
.funnel-band { padding: 6.5rem 0; }
.funnel-layout > div > p, .funnel-card > p { font-size: var(--type-body); line-height: var(--leading-body); }
.funnel-card { padding: 2rem; }
.funnel-card h3, .lead-success h3 { font-size: clamp(1.5rem, 2.3vw, 2rem); line-height: 1.2; }
.lead-form { gap: 1rem; }
.lead-form label, .contact-form label { gap: 0.55rem; font-size: var(--type-support); line-height: 1.4; }
.lead-form input, .lead-form textarea, .lead-form select, .contact-form input, .contact-form select, .contact-form textarea { min-height: 3.35rem; padding: 0.8rem 0.95rem; font-size: var(--type-support); line-height: 1.45; }
.lead-form textarea, .contact-form textarea { min-height: 8rem; }
.lead-form [data-form-status], #form-status { min-height: 1.5rem; font-size: var(--type-support); line-height: 1.45; }
.consent { grid-template-columns: 1.25rem 1fr; font-size: var(--type-support) !important; line-height: 1.55 !important; }
.consent input { width: 1.125rem !important; height: 1.125rem; }
.lead-success { padding: 2rem; }
.faq-list summary { padding: 1.35rem 0; font-size: var(--type-support); line-height: 1.45; }
.faq-list details p { padding-bottom: 1.4rem; }

/* Footer, banners and modal content */
.language-banner .container, .footer-top > p, .footer-middle a, .legal-trigger, .footer-small, .footer-bottom p { font-size: var(--type-support); line-height: 1.55; }
.footer-bottom { padding-block: 1.2rem; min-height: 4.75rem; }
.legal-modal { padding: 3rem; }
.legal-modal h2 { font-size: clamp(2rem, 3vw, 2.5rem); line-height: 1.16; }
.contact-note, .footer-bottom p { color: rgba(255,255,255,.78); }
.contact-note { font-size: var(--type-meta); line-height: 1.55; }

@media (max-width: 1100px) {
  .path-grid { grid-template-columns: repeat(3, 1fr); }
  .solution-grid, .resource-grid, .case-study-grid, .case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .section-pad, .content-section { padding: 5.5rem 0; }
}

@media (max-width: 700px) {
  :root { --type-body: 1.125rem; --type-support: 1rem; --type-meta: 0.875rem; --type-lead: 1.25rem; }
  .container, .nav-wrap { width: min(100% - 2rem, 1180px); }
  body { font-size: var(--type-body); line-height: var(--leading-body); }
  h1, .page-hero h1, .hero h1 { font-size: clamp(2rem, 10vw, 2.5rem); line-height: 1.1; }
  h2, .content-grid h2, .funnel-layout h2 { font-size: clamp(1.75rem, 8vw, 2rem); line-height: 1.18; }
  h3, .content-grid h3, .service-row h3, .investor-stack h3, .resource-card h3, .solution-card h3 { font-size: clamp(1.375rem, 6vw, 1.625rem); line-height: 1.24; }
  .nav-wrap { min-height: 4.75rem; height: auto; padding-block: 0.65rem; }
  .brand-lockup { font-size: 1.125rem; }
  .brand-lockup small { font-size: 0.75rem; }
  .mobile-nav { padding: 0.5rem 1rem 1rem; }
  .mobile-nav a { padding: 0.9rem 0; font-size: var(--type-support); }
  .button, .nav-cta { min-height: 3.45rem; width: auto; font-size: var(--type-support); }
  .hero { min-height: auto; }
  .hero-content { padding: 5.5rem 0 12rem; }
  .hero-lead, .page-hero-lead, .section-intro > p, .process-heading-row p { font-size: var(--type-lead); line-height: 1.58; }
  .hero-card { width: calc(100% - 2rem); right: 1rem; padding: 1.25rem; }
  .hero-card p { font-size: var(--type-support); }
  .trust-items { grid-template-columns: 1fr; }
  .trust-items > div { padding: 1.35rem 0; margin: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .path-grid { grid-template-columns: 1fr; }
  .path-card, .path-card:last-child { min-height: auto; padding: 1.5rem; grid-column: auto; }
  .path-symbol { margin: 1.3rem 0; }
  .path-panel { padding: 1.5rem; }
  .stage-tab { min-height: 4.7rem; font-size: 0.9375rem; }
  .stage-display { padding-inline: 0; }
  .stage-copy > p:not(.panel-kicker), .service-row p, .estate-copy > p, .investor-sticky p, .investor-stack p, .why-intro p, .why-grid p, .case-card p, .flow-list p, .faq-intro p, .faq-list details p, .contact-intro > p:not(.contact-note), .form-success p:not(.panel-kicker) { font-size: var(--type-body); }
  .service-row { grid-template-columns: 2rem 2.75rem minmax(0, 1fr); gap: 0.85rem; min-height: 0; padding: 1.5rem 0; }
  .service-row .arrow-link { grid-column: 3; justify-self: start; margin-top: 0.4rem; }
  .service-row h3 { font-size: 1.375rem; }
  .estate-copy { padding: 4rem 1.5rem; }
  .estate-image { min-height: 18rem; }
  .investor-stack article, .step-list article { grid-template-columns: 3.6rem 1fr; gap: 0.9rem; }
  .why-grid, .solution-grid, .resource-grid, .case-study-grid, .case-grid { grid-template-columns: 1fr; }
  .why-grid article, .solution-card, .resource-card, .study-card, .case-card { min-height: 0; padding: 1.5rem; }
  .content-section, .funnel-band { padding: 4.5rem 0; }
  .content-grid p, .content-grid li, .info-card p, .solution-card p, .resource-card p, .study-card p, .page-footer-note, .funnel-layout > div > p { font-size: var(--type-body); }
  .content-sidebar { display: grid; grid-template-columns: 1fr; }
  .info-card, .funnel-card { padding: 1.5rem; }
  .lead-form .form-row, .form-grid { grid-template-columns: 1fr; gap: 1rem; }
  .funnel-card .button, .lead-form .button { width: 100%; }
  .faq-list summary { font-size: var(--type-support); padding: 1.2rem 0; }
  .footer-top, .footer-middle { gap: 1.7rem; }
  .footer-bottom { padding-block: 1.25rem; }
  .legal-modal { width: min(100% - 1.5rem, 34rem); padding: 2.25rem 1.35rem 1.6rem; }
}


/* Keep a complete, readable primary navigation path when desktop labels no longer fit. */
@media (min-width: 701px) and (max-width: 1100px) {
  .desktop-nav { display: none; }
  .nav-cta { margin-left: auto; }
  .menu-toggle { width: 2.75rem; height: 2.75rem; display: grid; align-content: center; gap: 0.4rem; border: 1px solid var(--line); border-radius: 0.35rem; background: #fff; padding: 0 0.7rem; }
  .menu-toggle i { height: 1px; background: var(--forest); width: 100%; transition: transform .2s; }
  .menu-toggle.is-open i:first-of-type { transform: translateY(0.22rem) rotate(45deg); }
  .menu-toggle.is-open i:last-of-type { transform: translateY(-0.22rem) rotate(-45deg); }
  .mobile-nav { padding: 0.65rem max(1.75rem, calc((100% - 1180px) / 2)) 1.1rem; display: grid; background: var(--paper); border-top: 1px solid var(--line); }
  .mobile-nav[hidden] { display: none; }
  .mobile-nav a { padding: 0.85rem 0; border-bottom: 1px solid var(--line); color: var(--forest); font-size: var(--type-support); font-weight: 700; }
  .mobile-nav .language-link { margin-top: 0.7rem; width: max-content; }
}


/* Final accessibility corrections from the typography QA pass. */
h2, .content-grid h2, .funnel-layout h2 { font-size: clamp(2rem, 3.1vw, 2.5rem); }
.path-panel h3, .stage-copy h3, .case-card h3, .funnel-card h3, .lead-success h3 { font-size: clamp(1.375rem, 2vw, 1.75rem); }
.study-card h2 { font-size: clamp(1.875rem, 2.1vw, 2.5rem); line-height: 1.16; }
.stage-tab { font-size: var(--type-support); color: rgba(255,255,255,.8); }
.stage-notes span { font-size: var(--type-meta); color: rgba(255,255,255,.84); }
.date-stamp { font-size: var(--type-meta); color: var(--lime-light); }
.brand-lockup small { font-size: var(--type-meta); }
.footer-small { color: rgba(255,255,255,.8); }
@media (max-width: 700px) {
  .brand-lockup small { font-size: var(--type-meta); }
  .study-card h2 { font-size: clamp(1.625rem, 6.5vw, 2rem); }
  .stage-tab { font-size: var(--type-support); }
}
