:root {
    --navy-950:#061826;
    --navy-900:#0B2338;
    --navy-800:#10334B;
    --navy-700:#16445D;
    --green-500:#0CB48E;
    --green-400:#18D7AA;
    --green-100:#DDF8F0;
    --gold-400:#F2C65C;
    --slate-900:#142D3D;
    --slate-700:#4C6675;
    --slate-500:#738996;
    --slate-200:#D8E2E7;
    --slate-100:#EAF0F3;
    --slate-50:#F5F8F9;
    --white:#FFF;
    --danger:#A33A32;
    --danger-bg:#FFF0EF;
    --shadow-sm:0 8px 26px rgba(8,36,54,.08);
    --shadow-md:0 18px 50px rgba(7,34,51,.13);
    --shadow-lg:0 30px 90px rgba(2,24,38,.22);
    --radius-sm:10px;
    --radius-md:18px;
    --radius-lg:28px;
    --container:1180px;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
    margin:0;
    color:var(--slate-900);
    background:var(--white);
    font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size:16px;
    line-height:1.6;
    text-rendering:optimizeLegibility;
}
body.nav-open { overflow:hidden; }
img { max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
button, input, select, textarea { font:inherit; }
button { color:inherit; }
p, h1, h2, h3, h4 { overflow-wrap:break-word; }
h1, h2, h3 { line-height:1.08; letter-spacing:-.035em; }
h1, h2, h3, p { margin-top:0; }
ul, ol { padding-left:1.25rem; }
.container { width:min(var(--container), calc(100% - 40px)); margin-inline:auto; }
.narrow { max-width:850px; }
.centered { text-align:center; margin-inline:auto; }
.section { padding:100px 0; }
.skip-link {
    position:absolute; left:14px; top:-100px; z-index:9999;
    padding:11px 15px; border-radius:8px; color:#fff; background:var(--navy-900);
}
.skip-link:focus { top:14px; }
:focus-visible { outline:3px solid var(--gold-400); outline-offset:3px; }

.button {
    display:inline-flex; align-items:center; justify-content:center; gap:9px;
    min-height:48px; padding:12px 22px; border:1px solid transparent; border-radius:12px;
    background:var(--green-500); color:var(--navy-950); font-weight:900;
    letter-spacing:-.01em; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.button:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(12,180,142,.25); background:var(--green-400); }
.button-small { min-height:42px; padding:9px 16px; }
.button-large { min-height:56px; padding:15px 25px; }
.button-full { width:100%; }
.button-ghost-light { border-color:rgba(255,255,255,.35); color:#fff; background:rgba(255,255,255,.05); }
.button-ghost-light:hover { background:rgba(255,255,255,.12); box-shadow:none; }
.button-light { background:#fff; color:var(--navy-900); }
.button-light:hover { background:var(--green-100); }
.button-secondary { border-color:var(--slate-200); background:#fff; color:var(--navy-900); }
.text-link { color:#087A64; font-weight:900; }

.eyebrow {
    display:flex; align-items:center; gap:10px; margin-bottom:16px;
    color:#078269; font-size:.74rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase;
}
.eyebrow span { width:26px; height:2px; background:var(--green-500); }
.eyebrow-light { color:var(--green-400); }
.eyebrow-light span { background:var(--green-400); }
.section-heading h2,
.role-copy h2,
.founder-message h2,
.calculator-copy h2,
.faq-intro h2,
.signup-copy h2,
.boundaries-grid h2 {
    margin-bottom:20px; font-size:clamp(2.15rem,4.2vw,4rem);
}
.section-heading > p:last-child { color:var(--slate-700); font-size:1.08rem; }

.site-header {
    position:sticky; top:0; z-index:1000; background:rgba(255,255,255,.96);
    border-bottom:1px solid rgba(216,226,231,.8); backdrop-filter:blur(16px);
    transition:box-shadow .2s ease;
}
.site-header.is-scrolled { box-shadow:0 10px 30px rgba(7,31,47,.08); }
.header-inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.brand { display:flex; align-items:center; flex:0 0 auto; }
.brand img { width:226px; display:block; }
.main-nav { display:flex; align-items:center; gap:25px; font-size:.9rem; font-weight:800; }
.main-nav > a:not(.button) { position:relative; }
.main-nav > a:not(.button)::after {
    content:""; position:absolute; right:0; bottom:-6px; left:0; height:2px;
    background:var(--green-500); transform:scaleX(0); transition:transform .18s ease;
}
.main-nav > a:not(.button):hover::after { transform:scaleX(1); }
.nav-toggle {
    display:none; width:44px; height:44px; border:0; border-radius:10px; background:var(--slate-50);
    align-items:center; justify-content:center; flex-direction:column; gap:5px;
}
.nav-toggle span { display:block; width:22px; height:2px; background:var(--navy-900); }

.system-message { padding:13px 0; font-size:.92rem; }
.system-message-success { background:#DFF8EF; color:#08705A; border-bottom:1px solid #B8E9D8; }
.system-message-error { background:var(--danger-bg); color:var(--danger); border-bottom:1px solid #EFC7C3; }

.hero {
    position:relative; overflow:hidden; color:#fff;
    background:
      radial-gradient(circle at 80% 15%, rgba(25,215,170,.18), transparent 29%),
      radial-gradient(circle at 5% 90%, rgba(25,215,170,.11), transparent 28%),
      linear-gradient(135deg,var(--navy-950),var(--navy-900) 60%,#0A3B42);
}
.hero-grid-pattern {
    position:absolute; inset:0; opacity:.06;
    background-image:linear-gradient(rgba(255,255,255,.5) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);
    background-size:48px 48px; mask-image:linear-gradient(to bottom,black,transparent 85%);
}
.hero-grid {
    position:relative; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);
    align-items:center; gap:80px; min-height:700px; padding-top:80px; padding-bottom:90px;
}
.hero-copy h1 { max-width:730px; margin-bottom:25px; font-size:clamp(3.3rem,6.3vw,6rem); }
.hero-copy h1 em { color:var(--green-400); font-style:normal; }
.hero-lead { max-width:700px; margin-bottom:26px; color:#D8E7EB; font-size:1.18rem; }
.hero-lead strong { color:#fff; }
.hero-offer {
    max-width:700px; padding:19px 22px; border:1px solid rgba(255,255,255,.17); border-left:4px solid var(--green-400);
    border-radius:14px; background:rgba(255,255,255,.055);
}
.hero-offer p { margin-bottom:2px; color:#B9CCD3; font-size:.84rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.hero-offer strong { display:block; font-size:1.22rem; }
.hero-offer small { display:block; margin-top:4px; color:#AFC4CC; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:27px; }
.hero-trust { display:flex; flex-wrap:wrap; gap:22px; margin:25px 0 0; padding:0; list-style:none; color:#C8D9DE; font-size:.88rem; font-weight:700; }
.hero-trust span { color:var(--green-400); }

.hero-dashboard {
    position:relative; border:1px solid rgba(255,255,255,.23); border-radius:26px;
    background:#F8FCFC; color:var(--slate-900); box-shadow:var(--shadow-lg); transform:rotate(1.2deg);
}
.hero-dashboard::before {
    content:""; position:absolute; inset:18px -24px -22px 22px; z-index:-1;
    border:1px solid rgba(25,215,170,.35); border-radius:26px; background:rgba(10,161,127,.09);
}
.dashboard-topline {
    display:flex; align-items:center; gap:9px; padding:15px 18px; border-bottom:1px solid var(--slate-200);
    font-size:.76rem; font-weight:800;
}
.status-dot { width:8px; height:8px; border-radius:50%; background:var(--green-500); box-shadow:0 0 0 5px rgba(12,180,142,.12); }
.dashboard-secure { margin-left:auto; color:#078269; }
.dashboard-body { padding:30px; }
.dashboard-label { margin:0; color:var(--slate-500); font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.dashboard-value { margin:4px 0 18px; font-size:2.15rem; font-weight:900; letter-spacing:-.05em; }
.dashboard-divider { height:1px; margin:5px 0 18px; background:var(--slate-200); }
.dashboard-commission { margin:4px 0 4px; color:#07866D; font-size:3.7rem; font-weight:950; letter-spacing:-.065em; }
.dashboard-note { margin-bottom:24px; color:var(--slate-500); font-size:.78rem; }
.mini-pipeline { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.mini-pipeline li { display:grid; grid-template-columns:30px 1fr; align-items:center; gap:10px; color:var(--slate-500); }
.mini-pipeline li > span { display:grid; place-items:center; width:28px; height:28px; border:1px solid var(--slate-200); border-radius:50%; font-size:.72rem; font-weight:900; }
.mini-pipeline strong,.mini-pipeline small { display:block; }
.mini-pipeline strong { color:var(--slate-900); font-size:.88rem; }
.mini-pipeline small { font-size:.74rem; }
.mini-pipeline .done > span { border-color:var(--green-500); background:var(--green-500); color:#fff; }
.mini-pipeline .active > span { border-color:var(--gold-400); background:#FFF7DE; color:#7B5B00; }
.dashboard-seal {
    display:grid; grid-template-columns:34px 1fr; gap:11px; align-items:center;
    padding:17px 20px; border-radius:0 0 25px 25px; background:var(--navy-900); color:#fff;
}
.dashboard-seal > span { color:var(--green-400); font-size:1.4rem; }
.dashboard-seal strong,.dashboard-seal small { display:block; }
.dashboard-seal small { color:#B9CCD3; font-size:.73rem; }

.trust-bar { border-bottom:1px solid var(--slate-200); background:#fff; }
.trust-bar-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-bar-grid > div { padding:25px 20px; border-right:1px solid var(--slate-200); text-align:center; }
.trust-bar-grid > div:last-child { border-right:0; }
.trust-bar-grid strong,.trust-bar-grid span { display:block; }
.trust-bar-grid strong { color:var(--navy-900); font-size:1.04rem; }
.trust-bar-grid span { margin-top:3px; color:var(--slate-500); font-size:.78rem; }

.section-market { background:linear-gradient(180deg,#fff,var(--slate-50)); }
.market-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:50px auto 16px; }
.market-stats article {
    min-height:170px; padding:28px; border:1px solid var(--slate-200); border-radius:18px; background:#fff; box-shadow:var(--shadow-sm);
}
.market-stats strong { display:block; margin-bottom:10px; color:#07866D; font-size:2.35rem; letter-spacing:-.06em; }
.market-stats span { color:var(--slate-700); }
.source-note { margin:0 auto 75px; color:var(--slate-500); text-align:center; font-size:.78rem; }
.source-note a { text-decoration:underline; }
.opportunity-intro { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:end; margin-bottom:35px; }
.section-kicker { margin-bottom:6px; color:#078269; font-size:.8rem; font-weight:900; text-transform:uppercase; letter-spacing:.12em; }
.opportunity-intro h3 { margin-bottom:0; font-size:clamp(2rem,3.5vw,3.35rem); }
.opportunity-intro > p { margin-bottom:4px; color:var(--slate-700); }
.opportunity-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.opportunity-card {
    position:relative; min-height:235px; overflow:hidden; padding:34px; border:1px solid var(--slate-200);
    border-radius:20px; background:#fff; box-shadow:var(--shadow-sm);
}
.opportunity-card::after { content:""; position:absolute; right:-45px; bottom:-55px; width:140px; height:140px; border-radius:50%; background:var(--green-100); }
.card-number { display:inline-grid; place-items:center; width:42px; height:42px; margin-bottom:28px; border-radius:12px; background:var(--green-100); color:#078269; font-size:.77rem; font-weight:900; }
.opportunity-card h3 { position:relative; z-index:1; margin-bottom:10px; font-size:1.45rem; }
.opportunity-card p { position:relative; z-index:1; margin-bottom:0; color:var(--slate-700); }

.section-role { color:#fff; background:linear-gradient(135deg,var(--navy-950),var(--navy-900)); }
.role-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:75px; align-items:center; }
.role-copy p { color:#C6D6DB; }
.role-copy blockquote { margin:30px 0 0; padding:2px 0 2px 21px; border-left:4px solid var(--gold-400); color:#fff; font-size:1.08rem; font-weight:800; }
.responsibility-card {
    display:grid; grid-template-columns:1fr 50px 1fr; align-items:stretch; overflow:hidden;
    border:1px solid rgba(255,255,255,.17); border-radius:22px; background:rgba(255,255,255,.06);
}
.responsibility-column { padding:30px; }
.responsibility-us { background:#fff; color:var(--slate-900); }
.responsibility-arrow { display:grid; place-items:center; color:var(--green-400); font-size:1.6rem; }
.responsibility-label { margin-bottom:22px!important; color:var(--green-400)!important; font-size:.78rem; font-weight:900; text-transform:uppercase; letter-spacing:.12em; }
.responsibility-us .responsibility-label { color:#078269!important; }
.check-list { display:grid; gap:14px; margin:0; padding:0; list-style:none; }
.check-list li { position:relative; padding-left:25px; font-size:.9rem; }
.check-list li::before { content:"✓"; position:absolute; left:0; color:var(--green-400); font-weight:900; }
.responsibility-us .check-list li::before { color:#07866D; }

.section-founder { background:#fff; }
.founder-grid { display:grid; grid-template-columns:230px 1fr; gap:70px; max-width:1000px; }
.founder-mark {
    position:sticky; top:110px; display:flex; flex-direction:column; align-items:center; justify-content:center;
    width:210px; height:210px; border-radius:50%; color:#fff; background:radial-gradient(circle at 35% 30%,#164D5C,var(--navy-950));
    box-shadow:0 25px 55px rgba(3,32,48,.25);
}
.founder-mark::after { content:""; position:absolute; inset:12px; border:1px solid rgba(25,215,170,.5); border-radius:50%; }
.founder-mark span { color:var(--green-400); font-family:Georgia,serif; font-size:4.5rem; line-height:1; }
.founder-mark small { margin-top:10px; color:#D6E4E8; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.founder-message { position:relative; }
.founder-message::after { content:"“"; position:absolute; right:0; top:45px; z-index:-1; color:var(--green-100); font-family:Georgia,serif; font-size:13rem; line-height:1; }
.founder-message > p { color:var(--slate-700); font-size:1.08rem; }
.founder-signature { margin-top:30px; padding-top:22px; border-top:1px solid var(--slate-200); }
.founder-signature strong,.founder-signature span { display:block; }
.founder-signature span { color:var(--slate-500); font-size:.85rem; }

.section-calculator { color:#fff; background:linear-gradient(135deg,#062033,#0A3C45); }
.calculator-grid { display:grid; grid-template-columns:1fr 480px; gap:85px; align-items:center; }
.calculator-copy p { color:#C8D9DE; font-size:1.05rem; }
.calculator-copy strong { color:#fff; }
.calculator-points { display:grid; gap:12px; margin-top:27px; padding:0; list-style:none; color:#D0DFE3; }
.calculator-points li { position:relative; padding-left:25px; }
.calculator-points li::before { content:"✓"; position:absolute; left:0; color:var(--green-400); font-weight:900; }
.calculator-card { padding:30px; border-radius:22px; background:#fff; color:var(--slate-900); box-shadow:var(--shadow-lg); }
.calculator-card-head { display:flex; justify-content:space-between; gap:16px; margin-bottom:28px; }
.calculator-card-head span,.calculator-card-head small { display:block; }
.calculator-card-head > div > span { font-weight:900; }
.calculator-card-head small { color:var(--slate-500); }
.calculator-badge { align-self:flex-start; padding:5px 9px; border-radius:999px; background:var(--green-100); color:#078269; font-size:.7rem; font-weight:900; }
.calculator-card > label { display:block; margin-bottom:8px; font-size:.82rem; font-weight:800; }
.money-input-wrap { display:flex; align-items:center; gap:8px; padding:12px 14px; border:2px solid var(--slate-200); border-radius:12px; }
.money-input-wrap span { color:var(--slate-500); font-weight:800; }
.money-input-wrap input { width:100%; border:0; outline:0; color:var(--navy-900); font-size:1.75rem; font-weight:900; }
.field-help { margin:7px 0 18px; color:var(--slate-500); font-size:.73rem; }
.calculator-range { width:100%; accent-color:var(--green-500); }
.calculator-result { margin:24px 0; padding:22px; border-radius:16px; background:var(--navy-900); color:#fff; }
.calculator-result span,.calculator-result strong,.calculator-result small { display:block; }
.calculator-result span { color:#BFD0D6; font-size:.8rem; }
.calculator-result strong { margin:4px 0; color:var(--green-400); font-size:2.7rem; letter-spacing:-.06em; }
.calculator-result small { color:#9FB6BE; }
.calculator-disclaimer { margin:11px 0 0; color:var(--slate-500); text-align:center; font-size:.7rem; }

.section-process { background:#fff; }
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; margin:50px 0 0; padding:0; list-style:none; counter-reset:steps; }
.process-grid li { display:grid; grid-template-columns:48px 1fr; gap:16px; padding:27px; border:1px solid var(--slate-200); border-radius:17px; background:var(--slate-50); }
.process-number { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:var(--green-500); color:#fff; font-weight:900; }
.process-grid h3 { margin:4px 0 8px; font-size:1.13rem; }
.process-grid p { margin:0; color:var(--slate-700); font-size:.88rem; }

.section-lead-fit { background:var(--slate-50); }
.lead-fit-head { display:grid; grid-template-columns:1fr .8fr; gap:70px; align-items:end; margin-bottom:45px; }
.lead-fit-head h2 { margin-bottom:0; font-size:clamp(2.1rem,4vw,3.8rem); }
.lead-fit-head > p { margin-bottom:5px; color:var(--slate-700); }
.fit-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.fit-card { padding:34px; border:1px solid var(--slate-200); border-radius:20px; background:#fff; box-shadow:var(--shadow-sm); }
.fit-icon { display:grid; place-items:center; width:46px; height:46px; margin-bottom:25px; border-radius:13px; font-size:1.2rem; font-weight:900; }
.fit-positive .fit-icon { background:var(--green-100); color:#078269; }
.fit-negative { border-top:3px solid var(--gold-400); }
.fit-negative .fit-icon { background:#FFF3CE; color:#8A6500; }
.fit-card h3 { margin-bottom:18px; font-size:1.45rem; }
.fit-card ul { display:grid; gap:10px; margin:0; color:var(--slate-700); }

.section-boundaries { color:#fff; background:var(--navy-950); }
.boundaries-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:80px; align-items:start; }
.boundary-list { display:grid; }
.boundary-list article { display:grid; grid-template-columns:48px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.13); }
.boundary-list article:first-child { padding-top:0; }
.boundary-list article > span { color:var(--green-400); font-size:.75rem; font-weight:900; }
.boundary-list h3 { margin-bottom:6px; font-size:1.2rem; }
.boundary-list p { margin:0; color:#BFD0D6; }

.section-faq { background:#fff; }
.faq-grid { display:grid; grid-template-columns:.65fr 1.35fr; gap:90px; }
.faq-intro { position:sticky; top:120px; align-self:start; }
.faq-intro p { color:var(--slate-700); }
.accordion details { border-bottom:1px solid var(--slate-200); }
.accordion summary {
    position:relative; padding:21px 50px 21px 0; list-style:none; cursor:pointer; color:var(--navy-900); font-weight:900;
}
.accordion summary::-webkit-details-marker { display:none; }
.accordion summary::after {
    content:"+"; position:absolute; right:5px; top:18px; display:grid; place-items:center;
    width:29px; height:29px; border-radius:50%; background:var(--green-100); color:#078269;
}
.accordion details[open] summary::after { content:"−"; }
.accordion details div { padding:0 45px 20px 0; color:var(--slate-700); }
.accordion details p { margin:0; }

.section-signup { color:#fff; background:linear-gradient(140deg,#061B2A,#0A323F 70%,#075A50); }
.signup-grid { display:grid; grid-template-columns:.88fr 1.12fr; gap:80px; align-items:start; }
.signup-copy { position:sticky; top:115px; }
.signup-copy > p { color:#C4D6DC; }
.signup-benefits { display:grid; gap:15px; margin:32px 0; }
.signup-benefits > div { display:grid; grid-template-columns:38px 1fr; gap:14px; }
.signup-benefits > div > span { color:var(--green-400); font-size:.75rem; font-weight:900; }
.signup-benefits p { margin:0; color:#C7D8DE; }
.signup-benefits strong { color:#fff; }
.signup-security-note { padding:17px; border:1px solid rgba(25,215,170,.3); border-radius:13px; background:rgba(25,215,170,.08); }
.signup-security-note strong,.signup-security-note span { display:block; }
.signup-security-note strong { color:#fff; }
.signup-security-note span { margin-top:4px; color:#BAD0D6; font-size:.82rem; }
.signup-card { padding:35px; border-radius:23px; background:#fff; color:var(--slate-900); box-shadow:var(--shadow-lg); }
.signup-step { display:inline-block; margin-bottom:10px; color:#078269; font-size:.72rem; font-weight:900; text-transform:uppercase; letter-spacing:.12em; }
.signup-card-head h2 { margin-bottom:6px; font-size:2rem; }
.signup-card-head p { color:var(--slate-500); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:17px; margin-top:25px; }
.field-full { grid-column:1/-1; }
.field label,.field legend { display:block; margin-bottom:7px; font-size:.78rem; font-weight:850; }
.field label > span,.field legend > span { color:#B72E29; }
.field label small { color:var(--slate-500); font-weight:600; }
.field input,.field select {
    width:100%; min-height:49px; padding:11px 13px; border:1px solid #C9D6DC; border-radius:10px;
    color:var(--slate-900); background:#fff; transition:border-color .15s,box-shadow .15s;
}
.field input:focus,.field select:focus { border-color:var(--green-500); outline:0; box-shadow:0 0 0 4px rgba(12,180,142,.12); }
.field input[aria-invalid="true"],.field select[aria-invalid="true"] { border-color:#C64A42; }
.field-error { display:block; min-height:17px; margin-top:4px; color:#B23630; font-size:.69rem; }
fieldset { min-width:0; margin:0; padding:0; border:0; }
.radio-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.radio-cards label { margin:0; }
.radio-cards input { position:absolute; opacity:0; pointer-events:none; }
.radio-cards span { display:flex; align-items:center; justify-content:center; min-height:53px; padding:9px; border:1px solid #C9D6DC; border-radius:10px; text-align:center; cursor:pointer; font-size:.78rem; font-weight:800; }
.radio-cards input:checked + span { border-color:var(--green-500); background:var(--green-100); color:#076B57; box-shadow:0 0 0 2px rgba(12,180,142,.11); }
.checkbox-field { display:grid; grid-template-columns:20px 1fr; gap:10px; align-items:start; margin-top:18px; color:var(--slate-700); font-size:.76rem; }
.checkbox-field input { margin-top:4px; accent-color:var(--green-500); }
.checkbox-field a { color:#077661; text-decoration:underline; font-weight:800; }
.checkbox-optional { margin-top:11px; }
.checkbox-error { min-height:0; margin-left:30px; }
.form-status { display:none; margin:15px 0; padding:13px; border-radius:10px; font-size:.82rem; }
.form-status.is-success,.form-status.is-error { display:block; }
.form-status.is-success { background:#E1F8F0; color:#076C57; }
.form-status.is-error { background:var(--danger-bg); color:var(--danger); }
.button-submit { margin-top:20px; }
.button-loader { display:none; width:17px; height:17px; border:2px solid rgba(7,31,45,.25); border-top-color:var(--navy-950); border-radius:50%; animation:spin .7s linear infinite; }
.button-submit.is-loading .button-loader { display:block; }
.form-footnote { margin:10px 0 0; color:var(--slate-500); text-align:center; font-size:.67rem; }
.honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
@keyframes spin { to { transform:rotate(360deg); } }

.section-final-cta { padding:65px 0; background:var(--slate-50); }
.final-cta-card {
    display:flex; align-items:center; justify-content:space-between; gap:45px; padding:45px 52px;
    border-radius:24px; color:#fff; background:linear-gradient(135deg,var(--navy-900),#075648); box-shadow:var(--shadow-md);
}
.final-cta-card h2 { max-width:800px; margin-bottom:10px; font-size:clamp(1.8rem,3.5vw,3rem); }
.final-cta-card p { margin:0; color:#C5D7DC; }

.regulatory-strip { padding:58px 0; border-top:1px solid var(--slate-200); background:#fff; }
.regulatory-strip-head {
    display:grid; grid-template-columns:minmax(0,1fr) auto; gap:42px; align-items:center; margin-bottom:0;
}
.regulatory-strip-head h2 { margin:0 0 12px; font-size:clamp(1.8rem,3.2vw,2.8rem); }
.regulatory-strip-head p:last-child { max-width:820px; margin:0; color:var(--slate-700); }
.regulatory-strip-head .button { white-space:nowrap; }
.regulatory-explanation {
    margin:25px 0; padding:18px 20px; border:1px solid var(--slate-200);
    border-radius:12px; background:var(--slate-50); color:var(--slate-700);
}
@media (max-width:900px) {
    .regulatory-strip-head { grid-template-columns:1fr; gap:15px; }
}
@media (max-width:680px) {
    .regulatory-strip { padding:55px 0; }
}

.site-footer { color:#D4E1E5; background:#061824; }
.footer-grid { display:grid; grid-template-columns:1.45fr repeat(3,1fr); gap:45px; padding-top:70px; padding-bottom:48px; }
.footer-brand img { width:205px; filter:brightness(0) invert(1); }
.footer-brand p { max-width:350px; margin-top:18px; color:#9FB5BD; font-size:.85rem; }
.site-footer h2 { margin-bottom:18px; color:#fff; font-size:.9rem; letter-spacing:0; }
.site-footer ul { display:grid; gap:9px; margin:0; padding:0; list-style:none; color:#A9BDC4; font-size:.82rem; }
.site-footer a:hover { color:var(--green-400); }
.legal-notice { padding:25px 0; border-top:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); }
.legal-notice p { margin:0; color:#91A8B1; font-size:.72rem; }
.legal-notice strong { color:#fff; }
.footer-bottom { padding:20px 0; }
.footer-bottom-inner { display:flex; justify-content:space-between; gap:20px; color:#77909A; font-size:.72rem; }
.footer-bottom p { margin:0; }
.mobile-cta { display:none; }

/* Contato rápido por WhatsApp */
.whatsapp-express-section {
    position:relative;
    overflow:hidden;
    color:#fff;
    background:
        radial-gradient(circle at 8% 18%, rgba(34,220,146,.16), transparent 27%),
        radial-gradient(circle at 92% 88%, rgba(34,220,146,.12), transparent 27%),
        linear-gradient(135deg,#052739,#075048);
}
.whatsapp-express-section::before {
    content:"";
    position:absolute;
    inset:0;
    opacity:.055;
    background-image:
        linear-gradient(rgba(255,255,255,.6) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.6) 1px,transparent 1px);
    background-size:44px 44px;
    pointer-events:none;
}
.whatsapp-express-grid {
    position:relative;
    display:grid;
    grid-template-columns:.88fr 1.12fr;
    gap:72px;
    align-items:center;
}
.whatsapp-express-copy > p {
    max-width:640px;
    color:#C6DADD;
    font-size:1.06rem;
}
.whatsapp-express-copy strong { color:#fff; }
.whatsapp-heading {
    display:grid;
    grid-template-columns:64px 1fr;
    gap:18px;
    align-items:start;
}
.whatsapp-heading-icon {
    display:grid;
    place-items:center;
    width:60px;
    height:60px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:18px;
    background:rgba(255,255,255,.08);
}
.whatsapp-heading-icon img { width:43px; height:43px; }
.whatsapp-heading .eyebrow { margin-bottom:10px; }
.whatsapp-heading h2 {
    margin-bottom:23px;
    font-size:clamp(2.15rem,4.3vw,4rem);
}
.whatsapp-flow {
    display:grid;
    gap:12px;
    margin:30px 0;
}
.whatsapp-flow article {
    display:grid;
    grid-template-columns:40px 1fr;
    gap:13px;
    align-items:center;
    padding:13px 15px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:13px;
    background:rgba(255,255,255,.055);
}
.whatsapp-flow article > span {
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border-radius:11px;
    background:#1BC477;
    color:#062D29;
    font-size:.75rem;
    font-weight:950;
}
.whatsapp-flow strong,
.whatsapp-flow small { display:block; }
.whatsapp-flow small { margin-top:2px; color:#AFC8CD; }
.whatsapp-official {
    display:inline-flex;
    flex-direction:column;
    gap:2px;
    padding:17px 20px;
    border-left:4px solid #25D366;
    border-radius:0 13px 13px 0;
    background:rgba(2,20,29,.28);
}
.whatsapp-official small {
    color:#AFC9CE;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.whatsapp-official strong {
    color:#fff;
    font-size:1.42rem;
    letter-spacing:-.035em;
}
.whatsapp-official span { color:#BBD0D4; font-size:.77rem; }

.whatsapp-express-card {
    padding:34px;
    border:1px solid rgba(255,255,255,.22);
    border-radius:24px;
    background:#fff;
    color:var(--slate-900);
    box-shadow:var(--shadow-lg);
}
.whatsapp-card-head {
    display:grid;
    grid-template-columns:48px 1fr;
    gap:14px;
    align-items:center;
    padding-bottom:22px;
    border-bottom:1px solid var(--slate-200);
}
.whatsapp-card-head img { width:44px; height:44px; }
.whatsapp-card-head span {
    display:block;
    color:#087A58;
    font-size:.71rem;
    font-weight:950;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.whatsapp-card-head h2 {
    margin:2px 0 3px;
    font-size:1.75rem;
}
.whatsapp-card-head p {
    margin:0;
    color:var(--slate-500);
    font-size:.82rem;
}
.whatsapp-form-grid { margin-top:24px; }
.whatsapp-submit {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:100%;
    min-height:57px;
    margin-top:20px;
    padding:14px 20px;
    border:0;
    border-radius:12px;
    background:#16A966;
    color:#fff;
    font-weight:950;
    cursor:pointer;
    box-shadow:0 14px 30px rgba(22,169,102,.25);
    transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}
.whatsapp-submit:hover {
    transform:translateY(-2px);
    background:#20BE75;
    box-shadow:0 18px 36px rgba(22,169,102,.32);
}
.whatsapp-submit:disabled {
    cursor:wait;
    opacity:.76;
    transform:none;
}
.whatsapp-submit img { width:27px; height:27px; }
.whatsapp-submit.is-loading img { animation:whatsappPulse .8s ease-in-out infinite alternate; }
@keyframes whatsappPulse {
    from { transform:scale(.9); opacity:.65; }
    to { transform:scale(1.08); opacity:1; }
}

.floating-whatsapp {
    position:fixed;
    z-index:940;
    right:22px;
    bottom:22px;
    display:flex;
    align-items:center;
    gap:9px;
    min-height:54px;
    padding:10px 16px 10px 11px;
    border:1px solid rgba(255,255,255,.6);
    border-radius:999px;
    background:#16A966;
    color:#fff;
    font-size:.86rem;
    font-weight:950;
    box-shadow:0 15px 36px rgba(3,39,25,.28);
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.floating-whatsapp:hover {
    transform:translateY(-3px);
    background:#20BE75;
    box-shadow:0 20px 42px rgba(3,39,25,.34);
}
.floating-whatsapp img { width:34px; height:34px; }
.system-message a {
    margin-left:8px;
    text-decoration:underline;
    font-weight:900;
}

@media (max-width:900px) {
    .whatsapp-express-grid { grid-template-columns:1fr; gap:45px; }
    .whatsapp-express-card { max-width:720px; }
}
@media (max-width:680px) {
    .whatsapp-heading { grid-template-columns:1fr; }
    .whatsapp-heading-icon { width:54px; height:54px; }
    .whatsapp-heading h2 { font-size:2.45rem; }
    .whatsapp-express-card { padding:25px 18px; }
    .whatsapp-card-head { grid-template-columns:42px 1fr; }
    .whatsapp-card-head img { width:38px; height:38px; }
    .whatsapp-card-head h2 { font-size:1.45rem; }
    .floating-whatsapp {
        right:14px;
        bottom:82px;
        width:58px;
        height:58px;
        min-height:58px;
        padding:9px;
        justify-content:center;
    }
    .floating-whatsapp span { display:none; }
    .floating-whatsapp img { width:39px; height:39px; }
}

/* Legal */
.page-hero { padding:85px 0 75px; color:#fff; background:linear-gradient(135deg,var(--navy-950),var(--navy-900),#0A4A47); }
.page-hero h1 { margin-bottom:12px; font-size:clamp(2.7rem,6vw,5.3rem); }
.page-hero p:last-child { color:#BFD1D7; }
.section-legal { background:var(--slate-50); }
.prose { max-width:900px; padding:55px 60px; border:1px solid var(--slate-200); border-radius:22px; background:#fff; box-shadow:var(--shadow-sm); }
.prose h2 { margin:45px 0 15px; font-size:1.65rem; }
.prose h2:first-child { margin-top:0; }
.prose h3 { margin:30px 0 10px; }
.prose p,.prose li { color:var(--slate-700); }
.prose strong { color:var(--slate-900); }
.prose ul,.prose ol { display:grid; gap:8px; }
.callout,.warning-callout,.version-note { margin:25px 0; padding:18px 20px; border-radius:12px; }
.callout { border-left:4px solid var(--green-500); background:var(--green-100); }
.warning-callout { border-left:4px solid var(--gold-400); background:#FFF6D9; color:#644B00; }
.version-note { background:var(--slate-50); border:1px solid var(--slate-200); }
.institution-list { display:grid; gap:14px; margin:30px 0; padding:0!important; list-style:none; }
.institution-list li { display:grid; gap:5px; padding:20px; border:1px solid var(--slate-200); border-radius:13px; }
.institution-list strong { font-size:1.1rem; }
.institution-list span { color:var(--slate-700); font-size:.84rem; }
.institution-list a { color:#077660; font-weight:900; }

@media (max-width:1050px) {
    .hero-grid { grid-template-columns:1fr .8fr; gap:45px; }
    .hero-copy h1 { font-size:clamp(3rem,6vw,4.9rem); }
    .role-grid,.calculator-grid,.signup-grid { gap:50px; }
    .calculator-grid { grid-template-columns:1fr 430px; }
    .footer-grid { grid-template-columns:1.2fr 1fr 1fr; }
    .footer-grid > div:last-child { grid-column:2/4; }
}

@media (max-width:900px) {
    .nav-toggle { display:flex; }
    .main-nav {
        position:fixed; inset:76px 0 auto; display:none; flex-direction:column; align-items:stretch; gap:0;
        padding:18px 20px 25px; background:#fff; border-bottom:1px solid var(--slate-200); box-shadow:var(--shadow-md);
    }
    .main-nav.is-open { display:flex; }
    .main-nav > a { padding:14px 4px; }
    .main-nav .button { margin-top:10px; }
    .hero-grid,.role-grid,.calculator-grid,.signup-grid,.faq-grid,.boundaries-grid { grid-template-columns:1fr; }
    .hero-grid { min-height:auto; padding-top:70px; }
    .hero-dashboard { max-width:520px; margin-inline:auto; transform:none; }
    .opportunity-intro,.lead-fit-head { grid-template-columns:1fr; gap:22px; }
    .responsibility-card { max-width:720px; }
    .calculator-card { max-width:560px; }
    .signup-copy,.faq-intro { position:static; }
    .signup-card { max-width:720px; }
    .process-grid { grid-template-columns:repeat(2,1fr); }
    .footer-grid { grid-template-columns:repeat(2,1fr); }
    .footer-grid > div:last-child { grid-column:auto; }
}

@media (max-width:680px) {
    .container { width:min(100% - 28px,var(--container)); }
    .section { padding:70px 0; }
    .brand img { width:182px; }
    .header-inner { min-height:68px; }
    .main-nav { inset:68px 0 auto; }
    .hero-grid { padding-top:52px; padding-bottom:70px; }
    .hero-copy h1 { font-size:clamp(2.65rem,12.5vw,4rem); }
    .hero-lead { font-size:1rem; }
    .hero-actions { flex-direction:column; }
    .hero-actions .button { width:100%; }
    .hero-trust { display:grid; gap:8px; }
    .hero-dashboard::before { display:none; }
    .dashboard-body { padding:23px 20px; }
    .dashboard-commission { font-size:2.8rem; }
    .trust-bar-grid { grid-template-columns:1fr; }
    .trust-bar-grid > div { border-right:0; border-bottom:1px solid var(--slate-200); }
    .market-stats,.opportunity-grid,.fit-grid,.process-grid { grid-template-columns:1fr; }
    .market-stats article,.opportunity-card { min-height:auto; }
    .source-note { margin-bottom:55px; }
    .responsibility-card { grid-template-columns:1fr; }
    .responsibility-arrow { height:36px; transform:rotate(90deg); }
    .founder-grid { grid-template-columns:1fr; gap:35px; }
    .founder-mark { position:relative; top:auto; width:170px; height:170px; margin-inline:auto; }
    .founder-mark span { font-size:3.7rem; }
    .calculator-card,.signup-card { padding:24px 18px; }
    .lead-fit-head { margin-bottom:30px; }
    .fit-card { padding:27px; }
    .boundary-list article { grid-template-columns:36px 1fr; gap:12px; }
    .form-grid,.radio-cards { grid-template-columns:1fr; }
    .field-full { grid-column:auto; }
    .radio-cards span { min-height:47px; }
    .final-cta-card { flex-direction:column; align-items:flex-start; padding:32px 24px; }
    .final-cta-card .button { width:100%; }
    .footer-grid { grid-template-columns:1fr; }
    .footer-bottom-inner { flex-direction:column; }
    .prose { padding:29px 20px; border-radius:16px; }
    .mobile-cta {
        position:fixed; z-index:950; right:0; bottom:0; left:0; display:block;
        padding:10px 14px calc(10px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.97);
        border-top:1px solid var(--slate-200); box-shadow:0 -10px 30px rgba(7,27,45,.12);
        transform:translateY(110%); transition:transform .18s ease;
    }
    .mobile-cta.is-visible { transform:translateY(0); }
    .site-footer { padding-bottom:78px; }
}

@media (prefers-reduced-motion:reduce) {
    *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
