@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');

:root { --ink:#172521; --muted:#63706b; --paper:#f5f7f1; --cream:#ecefe6; --lime:#d5f55e; --green:#9bbd55; --line:#dbe1d6; --dark:#20322c; --serif: Georgia, 'Times New Roman', serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:'DM Sans', Arial, sans-serif; line-height:1.55; }
a { color:inherit; text-decoration:none; }
.site-header { max-width:1240px; margin:auto; padding:24px 32px; display:flex; align-items:center; gap:40px; }
.brand { display:flex; align-items:center; gap:10px; font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:20px; letter-spacing:-.05em; white-space:nowrap; }
.brand-mark { width:30px; height:30px; display:grid; place-items:center; border-radius:9px 9px 9px 2px; background:var(--lime); font-size:18px; }
.brand-accent { color:#9dbb42; }
.main-nav { display:flex; gap:29px; margin-left:auto; color:#6b756e; font-size:13px; }
.main-nav a:hover, .text-link:hover { color:var(--ink); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:16px; padding:15px 21px; border-radius:5px; font-size:13px; font-weight:700; transition:transform .2s, box-shadow .2s; }
.button:hover { transform:translateY(-2px); box-shadow:0 8px 18px #1b2b201c; }
.button-small { padding:10px 14px; gap:10px; font-size:12px; }
.button-primary { background:var(--lime); color:var(--ink); }
.button-outline { border:1px solid #cdd5c8; }
.button-dark { color:#fff; background:var(--dark); margin-top:17px; }
.button-light { background:var(--lime); color:var(--ink); }
.section-shell { width:min(1180px, calc(100% - 64px)); margin:auto; }
.hero { min-height:650px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:55px; padding:60px 0 75px; }
.eyebrow { margin:0 0 22px; color:#778078; font-family:'DM Mono', monospace; text-transform:uppercase; letter-spacing:.13em; font-size:10px; font-weight:500; }
.eyebrow-dot { display:inline-block; width:7px; height:7px; margin-right:8px; border-radius:50%; background:#b2d74a; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:'Space Grotesk', sans-serif; letter-spacing:-.065em; line-height:.98; }
h1 { max-width:650px; margin-bottom:27px; font-size:clamp(48px, 6vw, 77px); font-weight:600; }
h2 { margin-bottom:24px; font-size:clamp(38px, 4vw, 57px); font-weight:600; }
h1 em,h2 em { color:#a5c74d; font-family:var(--serif); font-weight:400; letter-spacing:-.07em; }
.hero-lead { max-width:510px; color:var(--muted); font-size:17px; }
.hero-actions { display:flex; align-items:center; gap:27px; margin-top:32px; }
.text-link { color:#44524b; font-size:13px; font-weight:700; border-bottom:1px solid #abb6a9; padding-bottom:4px; }
.hero-note { margin-top:44px; color:#89928a; font-size:11px; }
.check { color:#94b33c; font-weight:bold; margin-right:7px; }
.hero-visual { min-height:500px; position:relative; overflow:hidden; border-radius:48% 48% 4% 48%; background:linear-gradient(135deg,#bacb9d,#dce6c9 48%,#829b72); }
.image-placeholder { isolation:isolate; }
.image-placeholder:before { content:''; position:absolute; inset:0; z-index:-1; opacity:.23; background:linear-gradient(135deg,transparent 42%,#536f59 43%,transparent 44%), linear-gradient(45deg,transparent 57%,#fff 58%,transparent 59%); }
.visual-orbit { position:absolute; border:1px solid #fff8; border-radius:50%; transform:rotate(-25deg); }
.orbit-one { width:130%; height:55%; top:20%; left:-15%; }.orbit-two { width:120%; height:80%; top:7%; left:-10%; }
.visual-card { position:absolute; background:#f8faed; box-shadow:0 17px 40px #263b2440; border-radius:7px; }
.card-main { top:31%; left:20%; width:57%; padding:27px 28px; transform:rotate(-5deg); }.card-main strong { display:block; margin:16px 0 1px; font:600 29px/1.05 'Space Grotesk'; letter-spacing:-.06em; }.card-main span:last-child { font:24px/1 var(--serif); color:#a3c14d; }
.card-kicker { color:#87987b; font:9px 'DM Mono'; letter-spacing:.13em; }.card-float { display:flex; align-items:center; gap:10px; padding:11px 15px; color:#526158; font-size:11px; }.card-float strong { color:var(--ink); }.card-float-top { top:17%; right:6%; transform:rotate(5deg); }.card-float-bottom { bottom:18%; left:8%; transform:rotate(-4deg); }.mini-icon { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:var(--lime); color:var(--ink); font-size:16px; }.mini-icon.green { color:#fff; background:#9ab56b; }.visual-label { position:absolute; bottom:18px; left:22px; color:#fff; font:10px 'DM Mono'; letter-spacing:.04em; }
.section-space { padding-top:110px; padding-bottom:110px; }.problem { border-top:1px solid var(--line); }.narrow-intro { max-width:600px; }.section-intro p:last-child { color:var(--muted); max-width:510px; }.problem-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:60px; }.problem-card { min-height:225px; padding:27px; border:1px solid var(--line); background:#f8faf4; border-radius:5px; }.problem-number { color:#a8c44b; font:12px 'DM Mono'; }.problem-card h3 { margin:35px 0 10px; font:600 21px 'Space Grotesk'; letter-spacing:-.04em; }.problem-card p { margin:0; color:var(--muted); font-size:14px; }.section-cta { display:flex; align-items:center; gap:25px; margin-top:40px; }.section-cta p { margin:0; font:20px var(--serif); color:#66736a; }
.solution { color:#eef3e7; background:var(--dark); }.solution-layout { display:grid; grid-template-columns:.94fr 1fr; align-items:center; gap:100px; }.solution-copy .eyebrow { color:#9ba99b; }.solution-copy h2 { color:#f2f5e9; }.solution-copy p { max-width:520px; color:#bfcbc0; font-size:15px; }.solution-visual { min-height:475px; position:relative; overflow:hidden; border-radius:5px 45% 5px 45%; background:linear-gradient(145deg,#7f9d7c,#bccb9e 49%,#546d62); }.solution-quote { position:absolute; right:8%; bottom:18%; font:25px/1.15 var(--serif); }.solution-quote em { color:var(--lime); }
.centered-intro { text-align:center; }.centered-intro p:last-child { margin:auto; }.benefit-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:35px; margin-top:65px; }.benefit-icon { display:grid; place-items:center; width:40px; height:40px; margin-bottom:25px; border-radius:50%; background:var(--lime); font-size:20px; }.benefit h3 { margin-bottom:10px; font:600 19px 'Space Grotesk'; }.benefit p { color:var(--muted); font-size:13px; }.value-band { display:flex; justify-content:space-between; align-items:center; gap:25px; padding:26px 30px; margin-top:60px; background:#e7eddc; border-radius:4px; }.band-label { display:block; margin-bottom:5px; color:#84916d; font:10px 'DM Mono'; text-transform:uppercase; letter-spacing:.1em; }.value-band strong { font:21px 'Space Grotesk'; letter-spacing:-.04em; }
.modules { background:#e8ede3; }.module-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:55px; }.module-grid span { padding:22px 24px; border:1px solid #d3ddcf; border-radius:3px; font:600 15px 'Space Grotesk'; background:#eef3e9; }.module-grid span:nth-child(3n+2) { background:var(--lime); border-color:var(--lime); }
.trust { display:grid; grid-template-columns:1fr .9fr; align-items:center; gap:100px; }.trust-copy > p:not(.eyebrow) { max-width:510px; color:var(--muted); }.trust-points { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:35px; color:#536159; font-size:13px; }.trust-visual { min-height:380px; position:relative; border-radius:5px 5px 48% 5px; background:linear-gradient(140deg,#d0d9bf,#80977d); }.trust-badge { position:absolute; right:8%; bottom:12%; padding:16px 21px; background:var(--lime); color:var(--ink); font:700 15px 'Space Grotesk'; transform:rotate(3deg); }.trust-badge small { font:9px 'DM Mono'; }
.contact { color:#edf2e8; background:#526d5b; }.contact-inner { display:flex; align-items:center; justify-content:space-between; gap:50px; }.contact .eyebrow { color:#c3d0bf; }.contact h2 { color:#f4f7ef; }.contact p:not(.eyebrow) { max-width:490px; color:#d0dbcf; }.contact-action { display:flex; flex-direction:column; align-items:center; gap:13px; }.contact-action > span { color:#c3d1c2; font:10px 'DM Mono'; text-align:center; }.site-footer { background:var(--dark); color:#b7c5b9; font-size:11px; }.footer-inner { display:flex; align-items:center; gap:28px; padding-top:28px; padding-bottom:28px; }.footer-inner > span:first-of-type { margin-right:auto; }.footer-inner .brand { color:#fff; font-size:16px; }.footer-inner .brand-mark { width:25px; height:25px; font-size:15px; }
@media (max-width:800px) { .site-header { padding:18px 20px; }.main-nav { display:none; }.site-header .button { margin-left:auto; }.section-shell { width:min(100% - 40px, 600px); }.hero,.solution-layout,.trust { grid-template-columns:1fr; gap:45px; }.hero { padding-top:50px; }.hero-visual { min-height:390px; }.solution-layout { gap:50px; }.solution-visual { min-height:360px; }.section-space { padding-top:75px; padding-bottom:75px; }.problem-grid,.benefit-grid { grid-template-columns:1fr 1fr; }.problem-grid { margin-top:35px; }.value-band,.contact-inner { align-items:flex-start; flex-direction:column; }.module-grid { grid-template-columns:1fr 1fr; }.trust { gap:45px; }.trust-visual { min-height:330px; }.footer-inner { flex-wrap:wrap; }.footer-inner > span:first-of-type { width:100%; order:-1; } }
@media (max-width:480px) { h1 { font-size:47px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:21px; }.problem-grid,.benefit-grid,.module-grid,.trust-points { grid-template-columns:1fr; }.problem-card { min-height:auto; }.card-main { left:13%; width:72%; }.card-main strong { font-size:24px; }.card-main span:last-child { font-size:20px; }.footer-inner { gap:15px; }.site-header .button { padding:9px; font-size:0; }.site-header .button span { font-size:16px; }.section-cta { align-items:flex-start; flex-direction:column; gap:12px; } }
