:root {
    --marketing-ink: #17201c;
    --marketing-muted: #53605a;
    --marketing-forest: #11251d;
    --marketing-green: #2f6f52;
    --marketing-gold: #a27c32;
    --marketing-cream: #f5efe4;
    --marketing-paper: #fffdf8;
    --marketing-line: #d9cdb9;
    --marketing-blue: #577588;
    --marketing-shadow: 0 30px 80px rgba(25, 39, 31, .13);
}

html { scroll-behavior: smooth; }

body.marketing-page {
    margin: 0;
    overflow-x: clip;
    background: var(--marketing-paper);
    color: var(--marketing-ink);
    font-family: var(--finn-font-ui);
    line-height: 1.6;
}

.marketing-page h1,
.marketing-page h2,
.marketing-page h3 {
    margin-top: 0;
    font-family: var(--finn-font-display);
    font-weight: 600;
    line-height: 1.04;
    letter-spacing: -.025em;
}

.marketing-page a { color: inherit; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; padding: .75rem 1rem; background: #fff; border-radius: 6px; }
.skip-link:focus { top: 1rem; }

.site-header {
    width: min(1400px, calc(100% - 48px));
    min-height: 86px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.brand,
.footer-brand { display: inline-flex; align-items: center; gap: .85rem; text-decoration: none; }
.brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(162, 124, 50, .45); border-radius: 50%; color: #fff; background: var(--marketing-forest); font-family: var(--finn-font-display); font-size: 1.35rem; }
.brand span:last-child,
.footer-brand span:last-child { display: grid; line-height: 1.15; }
.brand strong,
.footer-brand strong { font-family: var(--finn-font-display); font-size: 1.05rem; letter-spacing: -.01em; }
.brand small,
.footer-brand small { margin-top: .18rem; color: var(--marketing-muted); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; }

.site-header nav { display: flex; align-items: center; gap: 1.75rem; }
.site-header nav a { color: #35413b; font-size: .86rem; font-weight: 700; text-decoration: none; }
.site-header nav a:hover { color: var(--marketing-green); }
.site-header .nav-cta { padding: .67rem 1rem; border: 1px solid var(--marketing-forest); border-radius: 999px; color: #fff; background: var(--marketing-forest); }
.site-header .nav-cta:hover { color: #fff; background: var(--marketing-green); }

.hero {
    position: relative;
    isolation: isolate;
    min-height: 720px;
    padding: 88px max(24px, calc((100vw - 1400px) / 2)) 110px;
    display: grid;
    grid-template-columns: minmax(360px, .78fr) minmax(600px, 1.22fr);
    align-items: center;
    gap: clamp(3rem, 6vw, 7rem);
    overflow: hidden;
    background:
        radial-gradient(circle at 85% 14%, rgba(47, 111, 82, .11), transparent 26%),
        radial-gradient(circle at 12% 76%, rgba(162, 124, 50, .09), transparent 28%),
        var(--marketing-cream);
}
.hero::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .27; background-image: linear-gradient(rgba(34, 66, 52, .14) 1px, transparent 1px), linear-gradient(90deg, rgba(34, 66, 52, .14) 1px, transparent 1px); background-size: 68px 68px; mask-image: linear-gradient(90deg, black, transparent 68%); }
.hero-copy { max-width: 610px; }
.eyebrow { margin: 0 0 1.1rem; color: var(--marketing-green); font-size: .72rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.hero h1 { max-width: 750px; margin-bottom: 1.5rem; font-size: clamp(3.55rem, 5.1vw, 5.6rem); }
.hero-lede { max-width: 64ch; margin: 0; color: #47554e; font-size: clamp(1.03rem, 1.5vw, 1.22rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.button { min-height: 48px; padding: .72rem 1.25rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 999px; font-size: .88rem; font-weight: 700; text-decoration: none; transition: transform .18s ease, background .18s ease, border-color .18s ease; }
.button:hover { transform: translateY(-2px); }
.marketing-page .button-primary { color: #fff; background: var(--marketing-forest); }
.button-primary:hover { background: var(--marketing-green); }
.button-secondary { border-color: #9eaa9f; background: rgba(255, 255, 255, .48); }
.button-secondary:hover { border-color: var(--marketing-green); background: #fff; }
.marketing-page .button-light { color: var(--marketing-forest); background: #fff; }
.marketing-page .button-ghost { border-color: rgba(255, 255, 255, .38); color: #fff; }
.hero-proof { margin: 2.25rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .9rem 1.5rem; list-style: none; color: #526059; font-size: .76rem; font-weight: 700; }
.hero-proof li::before { content: ""; width: 6px; height: 6px; margin: 0 .55rem .1rem 0; display: inline-block; border-radius: 50%; background: var(--marketing-gold); }

.product-window { min-width: 730px; border: 1px solid rgba(114, 102, 79, .35); border-radius: 16px; overflow: hidden; background: #f5f0e7; box-shadow: var(--marketing-shadow); transform: perspective(1200px) rotateY(-3deg) rotateX(1deg); transform-origin: left center; }
.window-bar { height: 54px; padding: 0 1.05rem; display: flex; align-items: center; gap: 1rem; border-bottom: 1px solid #ddd3c3; background: rgba(255, 253, 248, .93); font-size: .66rem; }
.window-brand { margin-right: auto; display: flex; align-items: center; gap: .45rem; font-weight: 800; }
.window-brand i { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--marketing-forest); font-family: var(--finn-font-display); font-style: normal; }
.window-status { padding: .35rem .65rem; border: 1px solid #ddd4c5; border-radius: 999px; color: #5a655f; background: #fff; }
.window-status i { width: 5px; height: 5px; margin-right: .3rem; display: inline-block; border-radius: 50%; background: #4f8b68; }
.window-user { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #7a6028; font-size: .58rem; font-weight: 800; }
.window-body { min-height: 510px; display: grid; grid-template-columns: 132px 1fr; }
.window-nav { padding: 1.6rem .8rem; display: flex; flex-direction: column; gap: .45rem; color: rgba(255,255,255,.64); background: var(--marketing-forest); font-size: .66rem; }
.window-nav span { padding: .58rem .7rem; border-radius: 5px; }
.window-nav .active { color: #fff; background: rgba(255,255,255,.11); }
.window-content { padding: 2rem; }
.window-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.window-heading span { display: grid; }
.window-heading small { color: var(--marketing-green); font-size: .6rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.window-heading strong { font-family: var(--finn-font-display); font-size: 1.8rem; }
.window-heading em { color: #79827d; font-size: .58rem; font-style: normal; }
.metric-grid { margin-top: 1.45rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; }
.metric-grid article, .chart-card, .queue-card { padding: 1rem; border: 1px solid #ddd3c3; border-radius: 8px; background: rgba(255,253,248,.8); }
.metric-grid article { display: grid; }
.metric-grid small, .chart-card small, .queue-card > small { color: #69736e; font-size: .57rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.metric-grid strong { margin: .22rem 0; font-family: var(--finn-font-display); font-size: 1.9rem; }
.metric-grid span { color: #6d7772; font-size: .55rem; }
.signal-grid { margin-top: .8rem; display: grid; grid-template-columns: 1.2fr .8fr; gap: .7rem; }
.chart-card > div:first-child { display: grid; }
.chart-card strong { font-family: var(--finn-font-display); font-size: 1.05rem; }
.bar-chart { height: 128px; margin: 1.2rem 0 .7rem; display: flex; align-items: end; gap: .44rem; border-bottom: 1px solid #d9d0c3; background: linear-gradient(#e8e0d4 1px, transparent 1px); background-size: 100% 32px; }
.bar-chart i { width: 10%; border-radius: 3px 3px 0 0; background: #4e795f; }
.bar-chart i:nth-child(1) { height: 43%; }.bar-chart i:nth-child(2) { height: 62%; background:#b59251}.bar-chart i:nth-child(3) { height: 54%; }.bar-chart i:nth-child(4) { height: 78%; background:#b59251}.bar-chart i:nth-child(5) { height: 68%; }.bar-chart i:nth-child(6) { height: 49%; background:#b59251}.bar-chart i:nth-child(7) { height: 83%; }.bar-chart i:nth-child(8) { height: 72%; background:#b59251}
.chart-legend { color: #68726d; font-size: .54rem; }.chart-legend i { width: 6px; height: 6px; margin: 0 .25rem 0 .8rem; display: inline-block; border-radius: 2px; background: #4e795f; }.chart-legend i:nth-child(2) { background: #b59251; }
.queue-card { display: flex; flex-direction: column; gap: .7rem; }
.queue-card > span { padding: .7rem 0; display: grid; grid-template-columns: 7px 1fr; gap: 0 .55rem; border-bottom: 1px solid #e6ded2; }
.queue-card > span:last-child { border-bottom: 0; }
.queue-card span i { width: 7px; height: 7px; margin-top: .2rem; border-radius: 50%; background: var(--marketing-gold); grid-row: span 2; }
.queue-card span i.tone-green { background: var(--marketing-green); }.queue-card span i.tone-blue { background: var(--marketing-blue); }
.queue-card b { font-size: .6rem; }.queue-card em { color: #7a837f; font-size: .52rem; font-style: normal; }

.trust-strip { min-height: 88px; padding: 1.2rem max(24px, calc((100vw - 1280px) / 2)); display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; border-top: 1px solid #d8cfbf; border-bottom: 1px solid #d8cfbf; background: #fffdf8; }
.trust-strip span { min-height: 34px; display: grid; place-items: center; border-right: 1px solid #ded5c6; color: #46534c; font-size: .72rem; font-weight: 700; letter-spacing: .03em; text-align: center; }
.trust-strip span:last-child { border-right: 0; }

.section { padding: 120px max(24px, calc((100vw - 1280px) / 2)); }
.section-heading { max-width: 760px; margin-bottom: 3rem; }
.section-heading h2, .compliance-copy h2, .regulatory-card h2 { margin-bottom: 1.25rem; font-size: clamp(2.55rem, 4.8vw, 4.75rem); }
.section-heading > p:last-child, .compliance-copy > p, .regulatory-card > p { max-width: 65ch; color: var(--marketing-muted); font-size: 1rem; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.feature-card { min-height: 310px; padding: 2rem; display: flex; flex-direction: column; border: 1px solid var(--marketing-line); border-radius: 10px; background: #fff; }
.feature-card-wide { min-height: 340px; grid-column: span 3; display: grid; grid-template-columns: 80px .8fr 1.2fr; align-items: center; gap: 2rem; background: var(--marketing-forest); color: #fff; }
.feature-number { color: var(--marketing-gold); font-size: .7rem; font-weight: 700; letter-spacing: .12em; }
.feature-card h3 { margin: auto 0 .7rem; font-size: 1.8rem; }
.feature-card p { margin: 0; color: #5d6862; font-size: .9rem; }
.feature-card-wide h3 { margin: 0 0 .9rem; font-size: 2.4rem; }.feature-card-wide p { color: rgba(255,255,255,.68); }
.mini-household { padding: 1.6rem; border: 1px solid rgba(255,255,255,.16); border-radius: 9px; background: rgba(255,255,255,.07); }
.mini-household > span { display: grid; }.mini-household small { color: rgba(255,255,255,.55); font-size: .62rem; text-transform: uppercase; }.mini-household strong { font-family: var(--finn-font-display); font-size: 1.4rem; }
.mini-household div { margin-top: 1.3rem; display: grid; grid-template-columns: repeat(4, 1fr); gap: .45rem; }.mini-household i { padding: .6rem .4rem; border-radius: 5px; background: rgba(255,255,255,.08); font-size: .56rem; font-style: normal; text-align: center; }

.compliance-section { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(3rem, 8vw, 8rem); background: var(--marketing-cream); }
.compliance-copy { align-self: center; }
.text-link { display: inline-flex; gap: .55rem; margin-top: 1.2rem; color: var(--marketing-green); font-size: .86rem; font-weight: 800; text-decoration: none; }
.control-list { border-top: 1px solid #cabfae; }
.control-list article { padding: 1.45rem 0; display: grid; grid-template-columns: 110px 1fr 1.3fr; gap: 1rem; align-items: baseline; border-bottom: 1px solid #cabfae; }
.control-list span { color: var(--marketing-gold); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.control-list h3 { margin: 0; font-family: var(--finn-font-ui); font-size: .9rem; letter-spacing: 0; }
.control-list p { margin: 0; color: #5c6862; font-size: .8rem; }

.regulatory-section { background: #fffdf8; }
.regulatory-card { max-width: 1100px; margin: 0 auto; padding: clamp(2rem, 6vw, 5rem); border: 1px solid var(--marketing-line); border-radius: 12px; background: #fff; box-shadow: 0 20px 60px rgba(36, 44, 39, .06); }
.regulatory-points { margin: 2.5rem 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.regulatory-points span { padding: 1.25rem; display: grid; gap: .45rem; border-left: 2px solid var(--marketing-gold); color: #65706a; font-size: .78rem; }
.regulatory-points strong { color: var(--marketing-ink); font-size: .84rem; }
.regulatory-card .regulatory-note { max-width: none; margin: 2rem 0 0; padding-top: 1.5rem; border-top: 1px solid var(--marketing-line); color: #6b746f; font-size: .72rem; }

.closing-cta { padding: 110px 24px; display: grid; place-items: center; color: #fff; text-align: center; background: var(--marketing-forest); }
.closing-cta .eyebrow { color: #d2b77e; }
.closing-cta h2 { max-width: 850px; margin-bottom: 1rem; font-size: clamp(3rem, 5.5vw, 5.5rem); }
.closing-cta > p:not(.eyebrow) { max-width: 600px; margin: 0; color: rgba(255,255,255,.68); }

.site-footer { padding: 3rem max(24px, calc((100vw - 1280px) / 2)); display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; border-top: 1px solid var(--marketing-line); background: #fffdf8; }
.footer-links { display: flex; flex-wrap: wrap; gap: 1.4rem; }.footer-links a { color: #56625c; font-size: .75rem; font-weight: 700; text-decoration: none; }.site-footer > p { grid-column: 1 / -1; margin: 0; padding-top: 1rem; border-top: 1px solid #e2d9cc; color: #76807b; font-size: .68rem; }

.legal-hero { padding: 90px max(24px, calc((100vw - 1040px) / 2)) 70px; background: var(--marketing-cream); }
.legal-hero h1 { max-width: 850px; margin-bottom: 1rem; font-size: clamp(3.5rem, 7vw, 6.5rem); }
.legal-hero > p:last-child { max-width: 700px; color: var(--marketing-muted); font-size: 1.05rem; }
.legal-layout { padding: 70px max(24px, calc((100vw - 1040px) / 2)) 110px; display: grid; grid-template-columns: 220px 1fr; gap: 5rem; }
.legal-nav { position: sticky; top: 2rem; align-self: start; display: grid; gap: .65rem; }
.legal-nav strong { margin-bottom: .3rem; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }.legal-nav a { color: #67716c; font-size: .78rem; text-decoration: none; }.legal-nav a:hover { color: var(--marketing-green); }
.legal-content { max-width: 720px; }
.legal-content section { padding: 0 0 2.5rem; margin-bottom: 2.5rem; border-bottom: 1px solid var(--marketing-line); }
.legal-content section:last-child { border-bottom: 0; }.legal-content h2 { font-size: 2rem; }.legal-content h3 { margin: 1.5rem 0 .5rem; font-family: var(--finn-font-ui); font-size: .9rem; letter-spacing: 0; }.legal-content p, .legal-content li { color: #55625b; font-size: .9rem; }.legal-content ul { padding-left: 1.2rem; }.legal-content li { margin: .45rem 0; }.legal-meta { color: #6f7974; font-size: .75rem; }
.notice-card { padding: 1.25rem 1.4rem; border: 1px solid #c7b88f; border-radius: 8px; background: #fbf6e9; }.notice-card p { margin: 0; }

.trust-hero { padding-bottom: 100px; }
.trust-hero-grid { display: grid; grid-template-columns: 1fr 340px; gap: 5rem; align-items: end; }
.trust-request-card { padding: 1.75rem; border: 1px solid var(--marketing-line); border-radius: 10px; background: #fff; box-shadow: 0 18px 45px rgba(34, 44, 38, .08); }.trust-request-card h2 { font-size: 1.75rem; }.trust-request-card p { color: var(--marketing-muted); font-size: .84rem; }.trust-request-card .button { width: 100%; margin-top: .7rem; }
.trust-grid { padding: 80px max(24px, calc((100vw - 1180px) / 2)) 110px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }.trust-card { min-height: 265px; padding: 1.7rem; border: 1px solid var(--marketing-line); border-radius: 9px; background: #fff; }.trust-card span { color: var(--marketing-gold); font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.trust-card h2 { margin: 3rem 0 .8rem; font-size: 1.7rem; }.trust-card p { margin: 0; color: var(--marketing-muted); font-size: .82rem; }.trust-disclosure { grid-column: span 3; min-height: auto; background: var(--marketing-forest); color: #fff; }.trust-disclosure h2 { margin-top: 1.4rem; }.trust-disclosure p { max-width: 80ch; color: rgba(255,255,255,.68); }

@media (max-width: 1100px) {
    .hero { grid-template-columns: minmax(0, 1fr); }
    .hero > * { min-width: 0; }
    .hero-copy { max-width: 800px; }
    .product-window { min-width: 0; width: 100%; transform: none; }
    .compliance-section { grid-template-columns: 1fr; }
    .trust-hero-grid { grid-template-columns: 1fr; }.trust-request-card { max-width: 480px; }
}

@media (max-width: 760px) {
    .site-header { width: calc(100% - 32px); min-height: 74px; gap: .5rem; }.site-header nav { gap: 0; }.site-header nav a:not(.nav-cta) { display: none; }.site-header .nav-cta { padding: .55rem .72rem; font-size: .75rem; }
    .brand { gap: .55rem; }.brand .brand-mark { width: 34px; height: 34px; }.brand strong { font-size: .9rem; }.brand small { display: none; }
    .hero { min-height: 0; padding-top: 68px; padding-bottom: 78px; }.hero h1 { font-size: clamp(3.1rem, 14vw, 4.6rem); }
    .hero-actions { width: 100%; flex-direction: column; }.hero-actions .button { width: 100%; }
    .product-window { max-width: 100%; overflow-x: auto; }.window-body { min-width: 620px; }.window-nav { display: none; }.window-body { grid-template-columns: 1fr; }
    .trust-strip { grid-template-columns: 1fr 1fr; }.trust-strip span { padding: .8rem; border-bottom: 1px solid #ded5c6; }.trust-strip span:nth-child(2) { border-right: 0; }
    .section { padding-top: 80px; padding-bottom: 80px; }
    .feature-grid, .regulatory-points, .trust-grid { grid-template-columns: 1fr; }.feature-card-wide { grid-column: auto; grid-template-columns: 1fr; }.feature-card-wide .feature-number { display: none; }.mini-household div { grid-template-columns: 1fr 1fr; }
    .control-list article { grid-template-columns: 1fr; gap: .4rem; }
    .site-footer { grid-template-columns: 1fr; }.footer-links { gap: 1rem; }.site-footer > p { grid-column: auto; }
    .legal-layout { grid-template-columns: 1fr; gap: 2rem; }.legal-nav { position: static; grid-template-columns: 1fr 1fr; }.legal-nav strong { grid-column: span 2; }
    .trust-disclosure { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .button { transition: none; }
}
