:root { color-scheme: light; --paper: #fff; --ink: #103d2c; --muted: #52665c; --line: #dce6df; --green: #0a432e; --lime: #c8f178; --accent: #377847; }
* { box-sizing: border-box; }
html { scroll-padding-top: 24px; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 1rem/1.65 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-underline-offset: .24em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid #95620b; outline-offset: 5px; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { font-weight: 600; line-height: 1.1; text-wrap: balance; }
h1 { font-size: clamp(3rem, 4.8vw, 4.7rem); letter-spacing: -.065em; }
h1 span { color: var(--accent); }
h2 { font-size: clamp(2rem, 3.3vw, 3.15rem); letter-spacing: -.05em; }
h3 { font-size: 1.4rem; letter-spacing: -.035em; }
p + p { margin-top: 1rem; }
.wrap { width: min(1220px, calc(100% - 96px)); margin-inline: auto; }
.section { padding-block: 88px; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin-bottom: 1.5rem; font-size: .72rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.status-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #488331; box-shadow: 0 0 0 4px #e6f3df; flex-shrink: 0; }
.lead { font-size: 1.12rem; line-height: 1.75; color: var(--muted); }
.site-header { min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--line); }
.wordmark { display: inline-flex; align-items: center; width: 208px; height: 66px; flex-shrink: 0; overflow: hidden; }
.wordmark img { display: block; width: 260px; max-width: none; height: auto; margin-left: -31px; }
nav { display: flex; align-items: center; gap: 30px; font-size: .82rem; font-weight: 500; }
nav a { padding-block: 12px; text-decoration: none; }
nav a:hover { text-decoration: underline; }
nav .header-contact { padding: 12px 17px; border: 1px solid var(--line); border-radius: 8px; }
.header-contact span { margin-left: 12px; }
.mobile-menu { display: none; }
.skip-link { position: absolute; left: 1rem; top: -100px; z-index: 2; padding: .75rem 1rem; background: white; }
.skip-link:focus { top: 1rem; }
.hero { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; padding-block: 76px 90px; }
.hero .lead { margin-top: 24px; max-width: 480px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; padding: 15px 21px; margin-top: 28px; background: var(--green); color: white; border: 1px solid var(--green); border-radius: 8px; font-size: .9rem; font-weight: 600; text-decoration: none; box-shadow: 0 4px 8px #103d2c0d; }
.button:hover { background: #1b5c3b; }
.button span { font-size: 1.2rem; line-height: 1; }
.hero-note { margin-top: 14px; color: var(--muted); font-size: .76rem; }
.process-card { min-width: 0; padding: 22px; border: 1px solid #d9e4dc; border-radius: 18px; background: linear-gradient(145deg, #f9fcf8, #eff7ef); box-shadow: 0 22px 64px -28px #16412c40; }
.figure-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: .8rem; font-weight: 600; }
.figure-top > span:first-child { display: flex; align-items: center; gap: 9px; }
.diagram-tag { padding: 4px 7px; border: 1px solid #d5e3d6; border-radius: 5px; background: #fff; color: var(--muted); font-size: .55rem; letter-spacing: .07em; }
.process-map { display: block; width: 100%; height: auto; margin: 15px 0 18px; overflow: visible; }
.flow-lines { stroke: #95b5a0; stroke-width: 2; color: #638870; }
.flow-lines .exception-line { stroke: #8b7039; stroke-dasharray: 5 4; color: #8b7039; }
.map-node rect { fill: #fff; stroke: #cbded0; }
.map-node circle { fill: #eef6ee; }
.map-node text { fill: var(--ink); font-size: 16px; font-weight: 600; }
.map-node .node-number { text-anchor: middle; font-size: 11px; fill: #486354; }
.check-node rect { stroke: #78a17b; stroke-width: 1.5; }
.final-node rect { fill: var(--green); stroke: var(--green); }
.final-node text { fill: white; }
.exception-node rect { fill: #fcf8ed; stroke: #dacaa5; }
.exception-node text { fill: #6b552b; font-size: 15px; }
.path-label { fill: #56675b; font-size: 12px; }
.bottleneck rect { fill: #f6e8bf; }
.bottleneck text { fill: #6b4e14; font-size: 12px; font-weight: 600; }
.flow-markers { visibility: hidden; fill: #1c7841; stroke: white; stroke-width: 2; }
.flow-markers.is-active { visibility: visible; }
.exception-marker { fill: #977326; }
.figure-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; }
.map-key { display: flex; align-items: center; gap: 6px; font-size: .63rem; color: var(--muted); }
.map-key i { width: 13px; height: 2px; background: #537e61; }
.map-key .key-exception { margin-left: 5px; background: #8b7039; }
.motion-toggle { border: 1px solid #b6cbb9; border-radius: 5px; padding: 6px 8px; min-height: 32px; font: inherit; font-size: .63rem; color: var(--ink); background: white; cursor: pointer; }
.motion-toggle:hover { background: #e5f1e5; }
figcaption { margin-top: 15px; padding-top: 12px; border-top: 1px solid #d9e4dc; font-size: .65rem; color: var(--muted); }
.scan-section { background: #f2f7f2; border-block: 1px solid #e2ebe2; }
.scan-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: start; }
.scan-grid .lead { max-width: 380px; margin-top: 22px; }
.scan-deliverables { border: 1px solid var(--line); border-radius: 14px; padding: 26px; background: white; }
.scan-timing { font-size: .77rem; color: var(--muted); padding-bottom: 20px; }
.scan-deliverables > div { display: flex; gap: 17px; border-top: 1px solid var(--line); padding-top: 18px; margin-top: 18px; }
.scan-deliverables > div:first-of-type { margin-top: 0; }
.scan-deliverables > div > span { font-size: .72rem; font-weight: 600; color: #52704d; padding-top: 3px; }
.scan-deliverables p { font-size: .86rem; color: var(--muted); }
.scan-deliverables strong { display: block; color: var(--ink); font-size: 1rem; margin-bottom: 5px; }
.section-intro { max-width: 690px; margin-bottom: 40px; }
.section-intro > p:last-child { margin-top: 18px; color: var(--muted); }
.journey-grid, .safety-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.journey-step { display: flex; flex-direction: column; align-items: start; padding: 28px; border: 1px solid var(--line); border-radius: 14px; }
.step-number { font-size: .65rem; color: var(--muted); font-weight: 600; letter-spacing: .08em; margin-bottom: 30px; }
.journey-step h3 { font-size: 1.75rem; }
.journey-step p { font-size: .87rem; color: var(--muted); }
.journey-step .step-subtitle { margin: 10px 0 16px; font-size: .84rem; font-weight: 600; color: var(--ink); }
.journey-step .step-result { margin-top: auto; padding-top: 26px; color: var(--ink); }
.step-result strong { display: block; font-size: .72rem; margin-bottom: 4px; }
.agent-note { display: grid; grid-template-columns: 1fr 3fr; gap: 25px; margin-top: 24px; padding: 24px 28px; background: #f3f7f2; border-radius: 10px; font-size: .84rem; }
.agent-note p { color: var(--muted); }
.mining { background: var(--green); color: white; }
.split { display: grid; grid-template-columns: 1fr 1.1fr; gap: 90px; }
.mining .eyebrow { color: var(--lime); }
.mining .lead { color: white; }
.mining-copy > p:not(.lead) { color: #cbded1; font-size: .9rem; }
.evidence-list { padding: 0; margin: 24px 0 0; list-style: none; }
.evidence-list li { padding: 10px 0; border-top: 1px solid #47705a; font-size: .88rem; }
.evidence-list li::before { content: '↗'; margin-right: 16px; color: var(--lime); }
.safety-grid article { border-top: 1px solid var(--line); padding: 20px 12px 0 0; }
.small-index { display: block; margin-bottom: 15px; font-size: .7rem; color: var(--muted); }
.safety-grid h3 { margin-bottom: 14px; font-size: 1.25rem; }
.safety-grid p { color: var(--muted); font-size: .88rem; }
.audience { padding-top: 0; }
.audience-panel { display: grid; grid-template-columns: 1fr 1.1fr; gap: 60px; padding: 42px; background: #f2f7f2; border: 1px solid var(--line); border-radius: 16px; }
.audience-panel > div > p:not(.eyebrow):not(.lead) { color: var(--muted); font-size: .9rem; }
.process-tags { display: flex; flex-wrap: wrap; gap: 7px; list-style: none; padding: 0; margin: 20px 0; }
.process-tags li { border: 1px solid #cfddce; border-radius: 6px; background: #fff; padding: 4px 10px; font-size: .72rem; }
.text-link { display: inline-block; padding-block: 12px; margin-top: 12px; font-weight: 600; font-size: .85rem; }
.text-link span { margin-left: 10px; }
.contact { padding-block: 80px; background: #edf5ec; border-block: 1px solid var(--line); }
.contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: start; }
.contact h2 { font-size: clamp(2.5rem, 4vw, 3.6rem); }
.contact h2 + p { max-width: 390px; margin-top: 24px; color: var(--muted); }
.contact-form { min-width: 0; display: grid; gap: 1.4rem; padding: clamp(1.4rem, 3vw, 2.5rem); background: #fffefa; border: 1px solid #d0d9c9; border-radius: 24px; box-shadow: 0 16px 48px #183f3609; }
.form-intro .form-title { font-size: 1.65rem; letter-spacing: -.045em; line-height: 1.2; }
.form-intro p + p { margin-top: .5rem; color: var(--muted); font-size: .9rem; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-field { min-width: 0; display: grid; gap: .5rem; }
.contact-form label { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; font-size: .82rem; font-weight: 700; }
.contact-form label span { color: var(--muted); font-size: .72rem; font-weight: 400; }
.contact-form input:not([type="hidden"]), .contact-form textarea { width: 100%; padding: .9rem 1rem; border: 1px solid #88998b; border-radius: 10px; background: #f7f8f3; color: var(--ink); font: inherit; transition: border-color .15s, background .15s, box-shadow .15s; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #647067; opacity: 1; }
.contact-form input:hover, .contact-form textarea:hover { border-color: var(--green); }
.contact-form input:focus-visible, .contact-form textarea:focus-visible { background: white; border-color: var(--green); outline: 2px solid var(--green); outline-offset: 2px; box-shadow: 0 0 0 5px #d5e9a54d; }
.contact-form textarea { resize: vertical; min-height: 128px; }
.contact-form .button { width: 100%; margin-top: 0; padding: 1rem 1.2rem; border-radius: 10px; cursor: pointer; font: inherit; font-weight: 700; }
.form-help { font-size: .75rem; line-height: 1.6; color: var(--muted); }
.form-privacy { font-size: .78rem; color: var(--muted); }
.form-privacy summary { cursor: pointer; padding-block: .3rem; }
.form-privacy .form-help { padding-top: .65rem; }
.form-note { text-align: center; margin-top: -.8rem; }
.form-email { padding-top: 1.2rem; border-top: 1px solid var(--line); text-align: center; font-size: .8rem; color: var(--muted); }
.contact-form p + .form-email { margin-top: 0; }
.form-email a { font-weight: 700; color: var(--ink); }

.contact-form { background: white; }
.contact-form input:not([type="hidden"]), .contact-form textarea { background: #fafcf9; }
.site-footer { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 40px; padding-block: 32px; align-items: center; }
.site-footer p { margin: 0; font-size: .78rem; color: var(--muted); }
.site-footer p:last-child { grid-column: 1 / -1; font-size: .7rem; }
@media (max-width: 1100px) {
 .wrap { width: calc(100% - 64px); }
 .hero { gap: 36px; }
 .scan-grid, .split, .contact-grid { gap: 45px; }
 nav { gap: 20px; }
 .journey-step { padding: 22px; }
 .process-card { padding: 18px; }
}
@media (max-width: 800px) {
 .site-header { position: relative; min-height: 80px; gap: 16px; }
 .site-header .wordmark { width: 166px; height: 54px; }
 .site-header .wordmark img { width: 208px; margin-left: -25px; }
 .desktop-nav { display: none; }
 .mobile-menu { display: block; }
 .mobile-menu summary { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; cursor: pointer; font-size: .85rem; font-weight: 600; list-style: none; }
 .mobile-menu summary::-webkit-details-marker { display: none; }
 .mobile-menu[open] summary { background: #eff7ef; }
 .mobile-menu nav { position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 3; display: flex; flex-direction: column; align-items: stretch; gap: 4px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: white; box-shadow: 0 12px 30px #103d2c1a; font-size: .85rem; }
 .mobile-menu nav a { padding: 12px; }
 .mobile-menu .header-contact { margin-top: 4px; }
 .hero { padding-block: 50px 60px; grid-template-columns: 1fr; gap: 40px; }
 .hero-copy { max-width: 580px; }
 h1 { font-size: clamp(2.8rem, 7.5vw, 4.5rem); }
 .process-card { width: min(100%, 540px); justify-self: center; }
 .section { padding-block: 60px; }
 .scan-grid, .journey-grid, .split, .audience-panel, .contact-grid, .safety-grid { grid-template-columns: 1fr; gap: 30px; }
 .journey-step { padding: 26px; }
 .step-number { margin-bottom: 16px; }
 .agent-note { grid-template-columns: 1fr; gap: 10px; }
 .audience { padding-top: 0; }
 .audience-panel { padding: 30px; }
 .contact { padding-block: 60px; }
}
@media (max-width: 480px) {
 .wrap { width: calc(100% - 40px); }
 .hero { padding-top: 40px; }
 .hero .lead { font-size: 1rem; }
 .eyebrow { font-size: .65rem; }
 .process-card { padding: 12px; }
 .figure-top { font-size: .7rem; }
 .diagram-tag { font-size: .48rem; padding: 3px 4px; }
 .map-key { font-size: .6rem; }
 .map-node text { font-size: 18px; }
 .map-node .node-number { font-size: 13px; }
 .exception-node text { font-size: 17px; }
 .path-label, .bottleneck text { font-size: 13px; }
 .scan-deliverables, .audience-panel { padding: 22px; }
 .form-row { grid-template-columns: 1fr; }
 .contact-form { border-radius: 16px; }
 .site-footer { grid-template-columns: 1fr; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
 *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
 .flow-markers { visibility: hidden !important; }
}
