@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root { --paper:#F5F5EF; --paper-dark:#E9EBE2; --ink:#202920; --blue:#202D26; --blue-dark:#17221C; --blue-mid:#394C3D; --amber:#BCD48E; --amber-light:#D0E6A8; --white:#FAFBF7; --rule:#CCD0C5; --muted:#626B60; }
html { scroll-padding-top:90px; }
body { font-family:'DM Sans',sans-serif; -webkit-font-smoothing:antialiased; }
p,input,textarea,select,.hero-sub,.adv-body,.prob-card p,.svc-card p,.about-body,.page-sub,.card-body,.cta-sub,.hero-copy,.section-intro,.pitch-copy { font-family:'DM Sans',sans-serif !important; }
h1,h2,h3,.hero-headline,.sec-heading,.page-title,.cta-title,.card-title,.section-title,.proof-stat,.crew-name,.adv-title { font-family:'Space Grotesk',sans-serif !important; font-weight:500; letter-spacing:-.045em !important; }
a,button { transition:background .2s,color .2s,transform .2s; }
#site-header,body>header { background:var(--paper); border-bottom:1px solid var(--rule); box-shadow:none !important; }
.header-inner { height:82px; min-height:82px; max-width:1440px; }
.header-logo,.logo { font-family:'Space Grotesk',sans-serif; font-size:19px; font-weight:700; letter-spacing:-.055em; color:var(--ink); }
.header-logo em,.logo em { color:var(--ink); }
.header-nav a,header nav a { color:var(--ink); font-family:'DM Sans',sans-serif; letter-spacing:0; text-transform:none; font-size:13px; }
.header-nav a:hover,header nav a:hover,header nav a.active { color:#507139; }
.btn-header,.btn-nav,.nav-cta { background:var(--ink); color:var(--white)!important; border:1px solid var(--ink); font-family:'DM Sans',sans-serif!important; font-size:12px!important; font-weight:600; letter-spacing:.02em!important; padding:13px 20px; border-radius:3px; }
.hamburger span { background:var(--ink); }.mobile-nav { background:var(--paper); border-color:var(--rule); }.mobile-nav a { color:var(--ink); }
#hero { background:var(--paper); min-height:0; padding:160px 48px 36px; }
#hero:before,#hero:after,.sec-dark:before,.page-hero:before,.cta-section:before,.hero:after,.pitch:after { display:none; }
#hero .hero-inner { grid-template-columns:minmax(0,1fr) 270px; gap:70px; max-width:1344px; align-items:end; }
.hero-eyebrow { color:#5A6754; margin-bottom:32px; letter-spacing:.1em; }
.hero-headline { font-size:clamp(42px,6.65vw,98px); line-height:1; color:var(--ink); margin-bottom:30px; }
.amber-period { color:#6B8A40; }
.hero-sub { color:#566052; font-size:18px; line-height:1.6; max-width:630px; }
.btn-fill,.btn-ghost,.btn-cta,.btn { font-family:'DM Sans',sans-serif; font-weight:600; font-size:12px; letter-spacing:.025em; padding:17px 25px; border-radius:3px; }
.btn-fill { background:var(--ink); border-color:var(--ink); color:var(--white); }.btn-fill:hover { background:#3D503D; border-color:#3D503D; }.btn-ghost { color:var(--ink); border:1px solid #98A28E; }.btn-ghost:hover { border-color:var(--ink); }
.typewriter-label { color:#63705C; border-color:#AFB8A4; font-size:9px; }.typewriter-box { background:#E8ECDf; border:0; border-radius:3px; min-height:195px; padding:27px 22px; margin-top:18px; }.tw-prefix { color:#5F6F50; }#tw-display { font-family:'Space Grotesk',sans-serif; font-size:27px; font-weight:500; letter-spacing:-.045em; color:#293D22; min-height:92px; }.cursor { background:#6B8A40; }
.hero-bottom { max-width:1344px; margin-top:70px; }.hero-rule { background:#B8C0AF; }.hero-byline { color:#616C5A; font-size:9px; letter-spacing:.06em; }
.sec-cream,.sec-dark { padding:100px 48px; }.sec-inner { max-width:1344px; }.sec-heading { font-size:clamp(34px,4vw,58px); padding-top:0; }.num-bg { position:static; display:block; font-family:'DM Sans',sans-serif; font-size:11px; color:#63705C; opacity:1; margin-bottom:20px; letter-spacing:.1em; }.num-bg.light { color:#C8D5BD; }
.problem-grid { border:0; gap:36px; margin-top:44px; }.prob-card { padding:28px 0; border:0; border-top:1px solid #AEB8A4; background:transparent; }.prob-card:hover { background:transparent; }.prob-card:after { display:none; }.prob-card h3 { font-size:25px; line-height:1.18; }.prob-card p { font-size:16px; color:#5A6355; }.card-tag { color:#617351; }
.sec-dark { background:#202D26; }.svc-subhead { color:#BCD48E; margin:24px 0 42px; }.services-grid { gap:18px; }.svc-card { background:#2B3A30; border:1px solid #4A5A48; border-radius:4px; padding:28px; }.svc-card:hover { transform:translateY(-2px); box-shadow:none; }.svc-card h3 { color:#F4F7ED; font-size:25px; line-height:1.1; }.svc-card:before { display:none; }.svc-price { font-size:24px; }.pill { background:transparent; border:1px solid #66745A; border-radius:20px; color:#D9E4CE; font-size:8px; letter-spacing:.06em; }
.why-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:72px; }.adv-block { padding-left:48px; }.adv-num { font-family:'DM Sans',sans-serif; font-size:17px; color:#6A7D55; top:4px; }.adv-title { font-size:23px; }.adv-body { font-size:16px; color:#596451; }.spec-box { border:1px solid #BEC7B2; background:#E9EDE1; border-radius:4px; }.spec-titlebar { background:#34452F; }.spec-corner-l,.spec-dwg { color:#78954D; }
#about { background:#202D26; }.about-l { background:#293B2B; }.about-r { background:var(--paper); }.about-body { font-size:17px; line-height:1.85; }.about-email { color:#D6E5C4; }.crew-name { font-size:18px; }.crew-member img { border-color:#A9BD88!important; }.creds span { border-width:1px!important; font-family:'DM Sans',sans-serif!important; font-size:10px!important; letter-spacing:.04em!important; }
.contact-note { color:#687B55; }.contact-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:80px; }.f-group input,.f-group textarea,.f-group select,input,textarea,select { border:1px solid #BEC7B2; border-radius:3px; background:#FAFBF7; }.f-submit,.submit { background:var(--ink); color:#FAFBF7; border-color:var(--ink); font-family:'DM Sans',sans-serif; border-radius:3px; }.cinfo-val { font-size:17px; }.cinfo-label { color:#65794E; }.stamp-wrap { opacity:.6; filter:grayscale(1); }
#footer,footer { background:#202D26; border-top:1px solid #53654B; }.footer-logo,.f-logo { font-family:'Space Grotesk',sans-serif; letter-spacing:-.03em; }.footer-email,.f-email { color:#BCD48E; }
.page-hero { background:var(--paper); padding:90px 48px 55px; }.page-title { color:var(--ink); font-size:clamp(44px,7vw,90px); }.page-title em { color:#6B854D; }.page-sub { color:#596451; }.eyebrow { color:#63754F; }.grid-section { max-width:1440px; }.grid-section .grid { gap:24px; }.card { border:1px solid #465B41; border-radius:5px; background:#293B2B; }.card:hover { box-shadow:none; transform:translateY(-3px); }.card-title { font-size:32px; color:#EAF0DF; }.card-bg-num { display:none; }.cta-title { font-size:42px; line-height:1.05; }
.hero { background:#202D26; }.hero .hero-inner { min-height:0; padding-block:100px; }.hero h1 { font-size:clamp(48px,6.2vw,90px); line-height:1; }.hero-proof { border-width:1px; }.proof-stat { font-size:36px; }.section-title { font-size:clamp(36px,4vw,62px); line-height:1.06; }.case h3 { font-size:29px; }.case-grid { gap:28px; border:0; }.case,.case+.case { border:1px solid var(--rule); border-radius:4px; overflow:hidden; }.service h3 { font-size:25px; }.pitch { background:#202D26; }.pitch h1 { font-size:clamp(42px,4.6vw,70px); line-height:1.03; }.form-side h2 { font-size:36px; }.promise strong { font-family:'Space Grotesk',sans-serif; }
:focus-visible { outline:3px solid #78994D; outline-offset:4px; }
@media(max-width:1100px) { #hero .hero-inner { grid-template-columns:1fr; gap:38px; } #hero .hero-inner>div:last-child { max-width:460px; }.typewriter-box { min-height:135px; }#tw-display { min-height:50px; }.hero-headline { font-size:clamp(42px,8vw,86px); }.why-grid,.contact-grid { grid-template-columns:1fr; gap:45px; }.header-nav { gap:18px; }.header-logo { font-size:17px; } }
@media(max-width:768px) { #hero { padding:125px 24px 28px; }.hero-headline { font-size:clamp(30px,7.7vw,59px); }.header-inner { height:72px; min-height:72px; padding-inline:24px; }.sec-cream,.sec-dark { padding:68px 24px; }.hero-bottom { margin-top:42px; }.problem-grid { grid-template-columns:1fr; gap:8px; }.services-grid { grid-template-columns:1fr; }.hero-sub { font-size:16px; }.sec-heading { font-size:34px; }.hero-byline { line-height:1.8; }.hero-ctas { flex-direction:row; }.grid-section .grid { grid-template-columns:1fr; }.card-footer { flex-wrap:wrap; gap:16px; }.case-grid { grid-template-columns:1fr; }.page-hero { padding:60px 24px; }.hero .hero-inner { padding:65px 24px; }.hero h1 { font-size:48px; }.about-r,.about-l { padding:48px 24px; }.about-email { overflow-wrap:anywhere; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition:none!important; animation:none!important; } }
.form-kicker,.section-kicker { color:#566D40; }
.plain-dark .section-kicker,.section-dark .section-kicker { color:#BCD48E; }
.card .card-tag { color:#BDCAB4; }.card .card-num,.card .card-url { color:#BCD48E; }
