:root {
    --paper: #ffffff;
    --paper-deep: #f4f5f4;
    --ink: #080a0a;
    --ink-muted: #5b625f;
    --forest: #111313;
    --forest-deep: #050606;
    --mint: #b5ff65;
    --mint-bright: #e4ffd0;
    --lavender: #edf0ee;
    --peach: #eef3ef;
    --blue: #e2eee5;
    --amber: #b5ff65;
    --white: #ffffff;
    --line: rgba(8, 10, 10, .14);
    --line-light: rgba(255, 255, 255, .2);
    --shadow: 0 28px 75px rgba(8, 31, 29, .16);
    --shadow-soft: 0 14px 38px rgba(8, 31, 29, .09);
    --radius-sm: 10px;
    --radius-md: 20px;
    --radius-lg: 30px;
    --max-width: 1180px;
    --ease-out: cubic-bezier(.23, 1, .32, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background-image: none;
    color: var(--ink);
    background-color: var(--paper);
    font-family: 'DM Sans', Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    text-rendering: optimizeLegibility;
}
body::selection { background: var(--mint); color: var(--ink); }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img, svg { max-width: 100%; }

.container { width: min(var(--max-width), calc(100% - 48px)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 20px; top: -100px; z-index: 100; padding: 10px 16px; color: var(--paper); background: var(--forest); border-radius: 8px; }
.skip-link:focus { top: 20px; }

.site-header { position: relative; z-index: 20; background: rgba(246, 245, 240, .82); border-bottom: 1px solid rgba(16, 34, 31, .11); backdrop-filter: blur(22px); }
.nav-wrap { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); font-weight: 700; letter-spacing: -.04em; }
.brand-name { font-family: 'Space Grotesk', Arial, sans-serif; font-size: 23px; letter-spacing: -.06em; }
.brand-mark { width: 26px; height: 26px; position: relative; display: inline-flex; align-items: flex-end; gap: 3px; }
.brand-mark span { display: block; width: 6px; background: currentColor; border-radius: 5px 5px 2px 2px; transform: skew(-18deg); }
.brand-mark span:nth-child(1) { height: 11px; opacity: .55; }
.brand-mark span:nth-child(2) { height: 18px; opacity: .78; }
.brand-mark span:nth-child(3) { height: 25px; }
.brand-light { color: var(--paper); }
.primary-nav { display: flex; align-items: center; gap: 27px; }
.nav-link { position: relative; color: var(--ink-muted); font-size: 14px; font-weight: 600; }
.nav-link::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -8px; height: 2px; background: var(--forest); transition: right .2s var(--ease-out); }
.nav-link:hover, .nav-link:focus-visible, .nav-link.is-active { color: var(--ink); }
.nav-link:hover::after, .nav-link:focus-visible::after, .nav-link.is-active::after { right: 0; }
.menu-toggle { display: none; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--ink); }
.menu-toggle span:not(.sr-only) { display: block; width: 16px; height: 1.5px; margin: 4px auto; background: currentColor; transition: transform .2s var(--ease-out); }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 22px; border: 1px solid transparent; border-radius: 999px; font-size: 14px; font-weight: 700; line-height: 1; transition: transform .16s var(--ease-out), background .2s ease, color .2s ease, border-color .2s ease; }
.button:active { transform: scale(.97); }
.button:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--amber); outline-offset: 4px; }
.button-dark { color: var(--paper); background: var(--forest); }
.button-dark:hover { color: var(--paper); background: var(--forest-deep); transform: translateY(-2px); }
.button-light:hover { color: var(--forest); background: var(--mint-bright); transform: translateY(-2px); }
.button-outline { color: var(--ink); border-color: var(--line); background: transparent; }
.button-outline:hover { border-color: var(--forest); color: var(--forest); background: rgba(183, 224, 200, .22); }
.button-small { min-height: 42px; padding-inline: 17px; font-size: 13px; }

.flash-message { padding: 13px 0; font-size: 14px; font-weight: 600; }
.flash-success { color: #173e2c; background: var(--mint); }
.flash-error { color: #6b2b1b; background: var(--peach); }

.section { padding: 112px 0; }
.section-tight { padding: 82px 0; }
.section-dark { color: var(--paper); background: var(--forest); }
.section-paper-deep { background: var(--paper-deep); }
.eyebrow { margin: 0 0 18px; color: var(--forest); font-size: 11px; font-weight: 700; letter-spacing: .16em; line-height: 1.2; text-transform: uppercase; }
.eyebrow-light { color: var(--mint); }
.section-heading { max-width: 720px; margin: 0; font-family: 'Space Grotesk', Arial, sans-serif; font-size: clamp(36px, 5vw, 66px); font-weight: 500; letter-spacing: -.085em; line-height: .94; }
.section-intro { max-width: 550px; margin: 22px 0 0; color: var(--ink-muted); font-size: 18px; }
.section-heading + .section-intro { margin-top: 25px; }

.hero { position: relative; overflow: hidden; padding: 104px 0 124px; color: #ffffff; background: radial-gradient(circle at 88% 18%, rgba(184, 242, 118, .18), transparent 25rem), linear-gradient(135deg, #050606 0%, #0c1010 65%, #111a16 100%); }
.hero::before { content: ''; position: absolute; width: 520px; height: 520px; left: -260px; top: 80px; border: 1px solid rgba(184, 242, 118, .16); border-radius: 50%; box-shadow: 0 0 0 30px rgba(184, 242, 118, .045), 0 0 0 60px rgba(184, 242, 118, .025); pointer-events: none; }
.hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, .91fr) minmax(500px, 1.09fr); align-items: center; gap: 54px; }
.hero-copy { position: relative; z-index: 1; }
.hero-title { max-width: 680px; margin: 0; font-family: 'Space Grotesk', Arial, sans-serif; font-size: clamp(52px, 7.1vw, 92px); font-weight: 500; letter-spacing: -.095em; line-height: .88; }
.hero-title em { color: var(--mint); font-style: normal; }
.hero-lede { max-width: 525px; margin: 29px 0 0; color: rgba(255, 255, 255, .70); font-size: 19px; line-height: 1.52; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; margin-top: 31px; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--forest); font-size: 14px; font-weight: 700; }
.hero .text-link { color: #ffffff; }
.text-link:hover span { transform: translateX(4px); }
.text-link span { transition: transform .2s var(--ease-out); }
.hero-note { display: flex; align-items: center; gap: 10px; margin-top: 32px; color: rgba(255, 255, 255, .54); font-size: 12px; }
.hero-note-dot { width: 8px; height: 8px; display: inline-block; background: #43a869; border-radius: 50%; box-shadow: 0 0 0 5px rgba(67, 168, 105, .12); }

.workflow-board { position: relative; min-height: 532px; padding: 27px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .22); border-radius: 34px; background: linear-gradient(145deg, #ffffff 0%, #edf4ee 100%); box-shadow: 0 28px 85px rgba(0, 0, 0, .34); }
.workflow-board::before { content: ''; position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(rgba(17, 19, 19, .12) 1px, transparent 1px), linear-gradient(90deg, rgba(17, 19, 19, .12) 1px, transparent 1px); background-size: 35px 35px; pointer-events: none; }
.board-header, .board-flow { position: relative; z-index: 1; }
.board-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 21px; }
.board-label { display: flex; align-items: center; gap: 9px; color: var(--forest); font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.board-pulse { width: 8px; height: 8px; background: #4aa96c; border-radius: 50%; box-shadow: 0 0 0 5px rgba(74, 169, 108, .16); }
.board-status { padding: 6px 10px; color: var(--forest); border: 1px solid rgba(17, 19, 19, .18); border-radius: 999px; background: rgba(255, 255, 255, .70); font-size: 11px; font-weight: 700; }
.board-flow { display: grid; grid-template-columns: 1fr 38px 1fr; grid-template-rows: auto 48px auto; align-items: center; gap: 13px; }
.board-card { position: relative; min-height: 137px; padding: 17px; border: 1px solid rgba(18, 60, 51, .16); border-radius: 16px; background: rgba(255, 255, 255, .96); box-shadow: 0 9px 20px rgba(18, 60, 51, .07); }
.board-card::after { content: ''; position: absolute; right: 14px; top: 14px; width: 7px; height: 7px; border: 1px solid var(--forest); border-radius: 50%; }
.board-card-label { display: block; margin-bottom: 13px; color: var(--ink-muted); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.board-card h3 { max-width: 170px; margin: 0; font-family: 'Space Grotesk', Arial, sans-serif; font-size: 21px; font-weight: 500; letter-spacing: -.045em; line-height: 1.05; }
.board-card p { margin: 12px 0 0; color: var(--ink-muted); font-size: 12px; line-height: 1.4; }
.board-card.input { background: #faf9f2; }
.board-card.ai { min-height: 166px; background: var(--forest); color: var(--paper); transform: translateY(20px); }
.board-card.ai::after { border-color: var(--mint); background: var(--mint); }
.board-card.ai .board-card-label, .board-card.ai p { color: rgba(243, 242, 236, .68); }
.board-card.ai h3 { max-width: 190px; font-size: 25px; }
.board-card.output { background: var(--mint); transform: translateY(-2px); }
.board-card.output h3 { font-size: 24px; }
.board-card.report { background: #eef0ed; transform: translateY(20px); }
.board-arrow { color: #21834b; font-size: 25px; text-align: center; }
.board-arrow-down { grid-column: 2; grid-row: 2; }
.board-foot { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 25px; }
.board-foot .board-chip { color: #21834b; border-color: rgba(33, 131, 75, .22); background: rgba(184, 242, 118, .26); }
.board-chip { padding: 8px 11px; border: 1px solid rgba(18, 60, 51, .14); border-radius: 999px; background: rgba(255, 255, 255, .78); color: var(--forest); font-size: 11px; font-weight: 600; }

.logo-strip { padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.logo-strip-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.logo-strip p { margin: 0; color: var(--ink-muted); font-size: 12px; }
.logo-placeholders { display: flex; flex: 1; justify-content: flex-end; flex-wrap: wrap; gap: 28px; color: rgba(16, 34, 31, .43); font-family: 'Space Grotesk', Arial, sans-serif; font-size: 14px; font-weight: 600; letter-spacing: -.03em; }

.pain-section { padding: 92px 0 105px; }
.pain-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 92px; align-items: start; }
.pain-copy { position: sticky; top: 120px; }
.pain-copy h2 { max-width: 480px; margin: 0; font-family: 'Space Grotesk', Arial, sans-serif; font-size: clamp(36px, 5vw, 58px); font-weight: 500; letter-spacing: -.07em; line-height: .99; }
.pain-copy p { max-width: 390px; margin: 23px 0 0; color: var(--ink-muted); font-size: 17px; }
.pain-list { display: grid; gap: 0; border-top: 1px solid var(--line); }
.pain-item { display: grid; grid-template-columns: 50px 1fr 28px; gap: 20px; align-items: start; padding: 25px 0; border-bottom: 1px solid var(--line); }
.pain-index { color: var(--forest); font-family: 'Space Grotesk', Arial, sans-serif; font-size: 13px; font-weight: 700; }
.pain-item h3 { margin: 0; font-family: 'Space Grotesk', Arial, sans-serif; font-size: 22px; font-weight: 500; letter-spacing: -.04em; }
.pain-item p { margin: 6px 0 0; color: var(--ink-muted); font-size: 14px; }
.pain-symbol { color: var(--forest); font-size: 21px; text-align: right; }

.split-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 47px; }
.split-heading .section-intro { margin: 0; }
.workflow-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.workflow-card { min-height: 324px; display: flex; flex-direction: column; justify-content: space-between; padding: 29px; border: 1px solid rgba(16, 34, 31, .08); border-radius: 24px; box-shadow: var(--shadow-soft); transition: transform .3s var(--ease-out), box-shadow .3s ease; }
.workflow-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.workflow-card.mint { background: var(--mint); }
.workflow-card.lavender { background: #eceeeb; }
.workflow-card.peach { background: #e8ebe7; }
.workflow-card.blue { background: #dfeee4; }
.workflow-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.workflow-number { color: var(--forest); font-family: 'Space Grotesk', Arial, sans-serif; font-size: 13px; font-weight: 700; }
.workflow-icon { width: 39px; height: 39px; display: grid; place-items: center; border: 1px solid rgba(18, 60, 51, .21); border-radius: 50%; color: var(--forest); font-size: 19px; }
.workflow-card h3 { max-width: 410px; margin: 45px 0 0; font-family: 'Space Grotesk', Arial, sans-serif; font-size: clamp(26px, 3vw, 38px); font-weight: 500; letter-spacing: -.065em; line-height: .99; }
.workflow-card p { max-width: 390px; margin: 18px 0 0; color: rgba(16, 34, 31, .72); font-size: 14px; }

.process-section { position: relative; overflow: hidden; }
.process-section::after { content: '01 02 03 04'; position: absolute; right: -24px; bottom: -8px; color: rgba(183, 224, 200, .07); font-family: 'Space Grotesk', Arial, sans-serif; font-size: clamp(90px, 17vw, 220px); font-weight: 700; letter-spacing: -.14em; line-height: .8; pointer-events: none; }
.process-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 100px; }
.process-copy { position: relative; z-index: 1; }
.process-copy .section-heading { max-width: 510px; }
.process-copy .section-intro { color: rgba(243, 242, 236, .68); }
.process-steps { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.process-step { min-height: 190px; padding: 22px; border: 1px solid var(--line-light); border-radius: var(--radius-md); background: rgba(255, 254, 248, .06); }
.process-step:nth-child(2) { transform: translateY(28px); }
.process-step:nth-child(4) { transform: translateY(28px); }
.process-step-number { color: var(--mint); font-size: 12px; font-weight: 700; }
.process-step h3 { margin: 37px 0 0; font-family: 'Space Grotesk', Arial, sans-serif; font-size: 25px; font-weight: 500; letter-spacing: -.05em; }
.process-step p { margin: 7px 0 0; color: rgba(243, 242, 236, .65); font-size: 13px; line-height: 1.5; }

.outcomes-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.outcome-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; }
.outcome-stat { min-height: 180px; padding: 23px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
.outcome-stat strong { display: block; color: var(--forest); font-family: 'Space Grotesk', Arial, sans-serif; font-size: 46px; font-weight: 500; letter-spacing: -.08em; line-height: 1; }
.outcome-stat span { display: block; max-width: 130px; margin-top: 19px; color: var(--ink-muted); font-size: 13px; line-height: 1.35; }
.outcomes-note { padding: 31px; border-radius: var(--radius-md); background: var(--amber); }
.outcomes-note p { margin: 0; color: var(--forest); font-family: 'Space Grotesk', Arial, sans-serif; font-size: clamp(24px, 3vw, 35px); letter-spacing: -.06em; line-height: 1.05; }
.outcomes-note small { display: block; margin-top: 30px; color: rgba(16, 34, 31, .7); font-size: 12px; }

.proof-section { background: var(--paper-deep); }
.proof-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.quote-card { min-height: 333px; display: flex; flex-direction: column; justify-content: space-between; padding: 34px; border: 1px solid rgba(185, 228, 199, .16); border-radius: 25px; background: linear-gradient(145deg, #123d36, #071b1c); color: var(--paper); box-shadow: var(--shadow); }
.quote-mark { color: var(--mint); font-family: Georgia, serif; font-size: 67px; line-height: .6; }
.quote-card blockquote { margin: 0; font-family: 'Space Grotesk', Arial, sans-serif; font-size: clamp(25px, 3vw, 38px); font-weight: 500; letter-spacing: -.06em; line-height: 1.04; }
.quote-source { margin: 26px 0 0; color: rgba(243, 242, 236, .64); font-size: 12px; }
.proof-placeholder { min-height: 333px; padding: 31px; border: 1px dashed rgba(18, 60, 51, .3); border-radius: var(--radius-md); background: rgba(255, 255, 255, .88); }
.proof-placeholder h3 { max-width: 300px; margin: 0; font-family: 'Space Grotesk', Arial, sans-serif; font-size: 32px; font-weight: 500; letter-spacing: -.06em; line-height: 1; }
.proof-placeholder p { max-width: 355px; margin: 20px 0 0; color: var(--ink-muted); font-size: 14px; }
.proof-placeholder .text-link { margin-top: 54px; }

.faq-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-question { width: 100%; display: flex; justify-content: space-between; gap: 25px; padding: 22px 0; border: 0; color: var(--ink); background: transparent; text-align: left; font-family: 'Space Grotesk', Arial, sans-serif; font-size: 18px; font-weight: 500; letter-spacing: -.035em; }
.faq-question span:last-child { color: var(--forest); font-family: Arial, sans-serif; font-size: 23px; font-weight: 400; transition: transform .2s var(--ease-out); }
.faq-item.is-open .faq-question span:last-child { transform: rotate(45deg); }
.faq-answer { max-width: 625px; max-height: 0; overflow: hidden; color: var(--ink-muted); font-size: 14px; transition: max-height .25s var(--ease-out); }
.faq-answer p { margin: 0 0 23px; }

.footer-cta { padding: 86px 0; background: var(--forest-deep); }
.footer-cta-grid { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.footer-cta h2 { max-width: 660px; margin: 0; font-family: 'Space Grotesk', Arial, sans-serif; font-size: clamp(37px, 5vw, 65px); font-weight: 500; letter-spacing: -.075em; line-height: .95; }
.site-footer { padding: 49px 0 23px; background: var(--forest-deep); }
.footer-top { display: flex; justify-content: space-between; gap: 65px; padding-bottom: 76px; }
.footer-brand-block p { max-width: 270px; margin: 20px 0 0; color: rgba(243, 242, 236, .58); font-size: 13px; }
.footer-links { display: flex; gap: 80px; }
.footer-links > div { display: flex; flex-direction: column; gap: 9px; }
.footer-label { margin: 0 0 9px; color: var(--mint); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.footer-links a { color: rgba(243, 242, 236, .7); font-size: 13px; }
.footer-links a:hover { color: var(--paper); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 20px; border-top: 1px solid var(--line-light); color: rgba(243, 242, 236, .43); font-size: 11px; }

.page-hero { padding: 85px 0 84px; border-bottom: 1px solid var(--line); }
.page-hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: end; }
.page-hero h1 { max-width: 670px; margin: 0; font-family: 'Space Grotesk', Arial, sans-serif; font-size: clamp(50px, 7vw, 87px); font-weight: 500; letter-spacing: -.08em; line-height: .91; }
.page-hero-copy { max-width: 450px; justify-self: end; }
.page-hero-copy p { margin: 0; color: var(--ink-muted); font-size: 18px; }
.page-hero-copy .button { margin-top: 27px; }
.detail-section { padding: 94px 0; }
.detail-grid { display: grid; grid-template-columns: .68fr 1.32fr; gap: 82px; }
.detail-label { color: var(--forest); font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.detail-content h2 { max-width: 700px; margin: 0; font-family: 'Space Grotesk', Arial, sans-serif; font-size: clamp(34px, 5vw, 60px); font-weight: 500; letter-spacing: -.07em; line-height: .98; }
.detail-content > p { max-width: 650px; margin: 22px 0 0; color: var(--ink-muted); font-size: 17px; }
.capability-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; margin-top: 46px; }
.capability-card { min-height: 240px; padding: 25px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
.capability-card h3 { margin: 52px 0 0; font-family: 'Space Grotesk', Arial, sans-serif; font-size: 28px; font-weight: 500; letter-spacing: -.06em; line-height: 1; }
.capability-card p { margin: 12px 0 0; color: var(--ink-muted); font-size: 13px; }
.capability-card .small-icon { color: var(--forest); font-size: 22px; }

.timeline { display: grid; gap: 0; margin-top: 47px; border-top: 1px solid var(--line); }
.timeline-item { display: grid; grid-template-columns: 90px 1fr 1fr; gap: 24px; padding: 27px 0; border-bottom: 1px solid var(--line); }
.timeline-number { color: var(--forest); font-family: 'Space Grotesk', Arial, sans-serif; font-size: 30px; letter-spacing: -.07em; }
.timeline-item h3 { margin: 0; font-family: 'Space Grotesk', Arial, sans-serif; font-size: 28px; font-weight: 500; letter-spacing: -.06em; }
.timeline-item p { margin: 0; color: var(--ink-muted); font-size: 14px; }

.principles-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 52px; }
.principle-card { min-height: 240px; padding: 25px; border-radius: var(--radius-md); background: var(--mint); }
.principle-card:nth-child(2) { background: #eef0ed; }
.principle-card:nth-child(3) { background: #dfeee4; }
.principle-card strong { display: block; color: var(--forest); font-family: 'Space Grotesk', Arial, sans-serif; font-size: 40px; font-weight: 500; letter-spacing: -.08em; line-height: 1; }
.principle-card h3 { margin: 57px 0 0; font-family: 'Space Grotesk', Arial, sans-serif; font-size: 25px; font-weight: 500; letter-spacing: -.055em; line-height: 1; }
.principle-card p { margin: 10px 0 0; color: rgba(16, 34, 31, .7); font-size: 13px; }

.contact-section { padding: 94px 0 120px; }
.contact-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 100px; align-items: start; }
.contact-copy h1 { max-width: 500px; margin: 0; font-family: 'Space Grotesk', Arial, sans-serif; font-size: clamp(50px, 7vw, 82px); font-weight: 500; letter-spacing: -.08em; line-height: .9; }
.contact-copy > p { max-width: 380px; margin: 27px 0 0; color: var(--ink-muted); font-size: 17px; }
.contact-points { display: grid; gap: 12px; margin-top: 38px; }
.contact-point { display: flex; align-items: flex-start; gap: 12px; color: var(--ink-muted); font-size: 13px; }
.contact-point span { width: 20px; height: 20px; display: grid; flex: 0 0 20px; place-items: center; color: var(--forest); border: 1px solid rgba(18, 60, 51, .22); border-radius: 50%; font-size: 11px; }
.contact-form { padding: 36px; border: 1px solid rgba(16, 34, 31, .13); border-radius: 25px; background: rgba(255, 254, 248, .84); box-shadow: var(--shadow); backdrop-filter: blur(10px); }
.form-intro { margin: 0 0 25px; color: var(--ink-muted); font-size: 13px; }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.form-field { display: flex; flex-direction: column; gap: 7px; }
.form-field.full { grid-column: 1 / -1; }
.form-field label { color: var(--ink); font-size: 12px; font-weight: 700; }
.form-field input, .form-field select, .form-field textarea { width: 100%; border: 1px solid rgba(16, 34, 31, .2); border-radius: 10px; outline: none; color: var(--ink); background: #ffffff; }
.form-field input, .form-field select { height: 48px; padding: 0 13px; }
.form-field textarea { min-height: 122px; padding: 13px; resize: vertical; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--forest); box-shadow: 0 0 0 3px rgba(183, 224, 200, .62); }
.form-hint { margin: 5px 0 0; color: var(--ink-muted); font-size: 11px; }
.form-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 25px; }
.form-privacy { max-width: 250px; margin: 0; color: var(--ink-muted); font-size: 11px; line-height: 1.45; }
.hp-field { position: absolute; left: -10000px; width: 1px; height: 1px; opacity: 0; }
.form-status { margin-bottom: 20px; padding: 12px 14px; border-radius: 9px; font-size: 13px; }
.form-status.error { color: #6b2b1b; background: #fae0d2; }
.form-error { margin: 0; color: #8d321c; font-size: 11px; }

.legal-copy { max-width: 800px; }
.legal-copy h1 { margin: 0 0 30px; font-family: 'Space Grotesk', Arial, sans-serif; font-size: clamp(48px, 7vw, 82px); font-weight: 500; letter-spacing: -.08em; line-height: .91; }
.legal-copy h2 { margin: 45px 0 10px; font-family: 'Space Grotesk', Arial, sans-serif; font-size: 27px; font-weight: 500; letter-spacing: -.05em; }
.legal-copy p { color: var(--ink-muted); font-size: 15px; }

@media (max-width: 1000px) {
    .hero-grid { grid-template-columns: 1fr; }
    .hero-copy { max-width: 720px; }
    .workflow-board { max-width: 690px; }
    .pain-grid, .process-grid, .contact-grid { gap: 54px; }
    .outcomes-grid { gap: 35px; }
}

@media (max-width: 760px) {
    .container { width: min(var(--max-width), calc(100% - 34px)); }
    .nav-wrap { min-height: 70px; }
    .menu-toggle { display: block; }
    .primary-nav { position: absolute; left: 17px; right: 17px; top: 78px; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 10px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); box-shadow: var(--shadow); }
    .primary-nav.is-open { display: flex; }
    .nav-link { padding: 13px 11px; }
    .nav-link::after { bottom: 8px; left: 11px; right: 100%; }
    .nav-cta { margin-top: 7px; }
    .section { padding: 78px 0; }
    .hero { padding: 67px 0 75px; }
    .hero-title { font-size: clamp(50px, 15vw, 78px); }
    .hero-lede { font-size: 17px; }
    .workflow-board { min-height: 0; padding: 17px; }
    .board-flow { grid-template-columns: 1fr 25px 1fr; gap: 7px; }
    .board-card { min-height: 132px; padding: 13px; }
    .board-card.ai { transform: translateY(10px); }
    .board-card.report { transform: translateY(10px); }
    .board-card h3, .board-card.ai h3, .board-card.output h3 { font-size: 17px; }
    .board-card p { font-size: 10px; }
    .board-arrow { font-size: 18px; }
    .logo-strip-inner, .footer-cta-grid, .footer-top, .footer-bottom { align-items: flex-start; flex-direction: column; }
    .logo-placeholders { justify-content: flex-start; gap: 14px 24px; }
    .pain-grid, .process-grid, .outcomes-grid, .proof-grid, .faq-grid, .page-hero-grid, .detail-grid, .contact-grid { grid-template-columns: 1fr; }
    .pain-copy { position: static; }
    .pain-grid, .process-grid, .contact-grid { gap: 40px; }
    .workflow-grid, .capability-list, .outcome-list, .process-steps, .principles-grid { grid-template-columns: 1fr; }
    .process-step:nth-child(2), .process-step:nth-child(4) { transform: none; }
    .outcomes-note { order: -1; }
    .split-heading { align-items: flex-start; flex-direction: column; margin-bottom: 30px; }
    .proof-placeholder .text-link { margin-top: 35px; }
    .page-hero { padding: 62px 0 65px; }
    .page-hero-copy { justify-self: start; }
    .detail-section, .contact-section { padding: 72px 0 85px; }
    .timeline-item { grid-template-columns: 55px 1fr; gap: 11px 16px; }
    .timeline-item p { grid-column: 2; }
    .footer-cta { padding: 68px 0; }
    .footer-links { gap: 55px; }
    .contact-form { padding: 22px 18px; }
    .form-grid { grid-template-columns: 1fr; }
    .form-field.full { grid-column: auto; }
    .form-actions { align-items: flex-start; flex-direction: column; }
}

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