@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Instrument+Serif:ital@0;1&display=swap');

:root { --ink:#17211c; --muted:#6c756e; --cream:#f6f4ec; --line:#d7d9cf; --green:#176343; --pale:#dce9d3; --orange:#e76e3c; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:"DM Sans",Arial,sans-serif; line-height:1.45; }
a { color:inherit; text-decoration:none; }
.site-header { height:84px; padding:0 clamp(22px,5vw,76px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:11px; font-size:15px; font-weight:700; letter-spacing:.08em; line-height:.9; }
.brand small { display:block; font:500 8px "DM Mono",monospace; letter-spacing:.15em; margin-top:5px; }
.mark { display:grid; place-items:center; width:31px; height:31px; background:var(--green); color:#fff; border-radius:50%; font-family:Georgia,serif; font-size:21px; letter-spacing:-.16em; padding-right:4px; }
.mark span { color:#bedf9d; font-family:"DM Sans",sans-serif; font-size:13px; padding-left:1px; }
nav { display:flex; gap:28px; font:500 12px "DM Mono",monospace; color:#445048; }
nav a:hover { color:var(--green); }
.hero { min-height:630px; padding:clamp(82px,12vw,155px) clamp(22px,10vw,150px) 76px; background:linear-gradient(135deg,#e2ebd6 0%,#f6f4ec 52%,#f2dfcb 100%); position:relative; overflow:hidden; }
.hero::after { content:""; position:absolute; width:550px; height:550px; border:1px solid rgba(23,99,67,.16); border-radius:50%; right:-250px; top:64px; box-shadow:0 0 0 46px rgba(23,99,67,.04),0 0 0 112px rgba(23,99,67,.025); }
.eyebrow,.section-label { color:var(--green); font:500 11px "DM Mono",monospace; letter-spacing:.09em; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(60px,9vw,122px); line-height:.84; letter-spacing:-.06em; max-width:900px; margin:22px 0 33px; position:relative; z-index:1; }
h1 em { font-family:"Instrument Serif",Georgia,serif; font-weight:400; letter-spacing:-.04em; color:var(--green); }
.lede { max-width:555px; font-size:clamp(18px,2vw,23px); line-height:1.42; color:#3c4941; position:relative; z-index:1; }
.button { display:inline-flex; gap:30px; align-items:center; margin-top:21px; padding:15px 17px 15px 22px; background:var(--green); color:#fff; border-radius:2px; font-size:14px; font-weight:600; position:relative; z-index:1; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); background:#0e5135; }
.button span { font-size:20px; color:#c8e6a8; }
.hero-note { position:absolute; bottom:42px; right:clamp(22px,5vw,78px); font:12px "DM Mono",monospace; color:#5b665e; display:flex; align-items:center; gap:9px; }
.hero-note span { width:8px; height:8px; border-radius:50%; background:var(--orange); }
.statement { padding:clamp(70px,10vw,137px) clamp(22px,10vw,150px); display:grid; grid-template-columns:1fr 3fr; gap:48px; border-bottom:1px solid var(--line); }
.statement > p { font-family:"Instrument Serif",Georgia,serif; font-size:clamp(31px,4.5vw,61px); line-height:1.01; letter-spacing:-.035em; max-width:1000px; margin:0; }
.services { padding:clamp(70px,9vw,126px) clamp(22px,7vw,105px); }
.section-head { display:flex; justify-content:space-between; gap:38px; align-items:end; margin-bottom:50px; }
.section-head h2,.approach h2,.fit h2,.disclosure h2 { font-size:clamp(38px,5vw,65px); letter-spacing:-.05em; line-height:.98; margin:17px 0 0; }
.section-head > p { max-width:300px; color:var(--muted); margin:0; }
.service-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--ink); }
.service-grid article { min-height:280px; padding:24px 10% 30px 0; border-bottom:1px solid var(--line); position:relative; }
.service-grid article:nth-child(odd) { padding-right:10%; border-right:1px solid var(--line); }
.service-grid article:nth-child(even) { padding-left:10%; }
.number { color:var(--orange); font:12px "DM Mono",monospace; }
.service-grid h3 { font-size:clamp(25px,3vw,38px); line-height:1.02; letter-spacing:-.04em; margin:42px 0 14px; max-width:410px; }
.service-grid article > p:not(.number) { max-width:430px; color:#4f5b53; }
.service-grid span { font:11px "DM Mono",monospace; color:var(--green); display:block; margin-top:30px; }
.approach { background:var(--ink); color:#f4f1e8; padding:clamp(70px,10vw,130px) clamp(22px,10vw,150px); display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(52px,10vw,150px); }
.approach .eyebrow { color:#b6db92; }
.approach h2 { color:#fff; }
.approach-copy > p:last-child { color:#bdc7bf; font-size:18px; margin-top:28px; max-width:460px; }
.approach ol { list-style:none; padding:0; margin:0; border-top:1px solid #4d5952; }
.approach li { display:grid; grid-template-columns:46px 1fr; gap:13px; padding:22px 0; border-bottom:1px solid #4d5952; }
.approach li > span { color:#b6db92; font:12px "DM Mono",monospace; padding-top:3px; }
.approach h3 { font-size:21px; margin:0 0 4px; letter-spacing:-.025em; }.approach li p { color:#bdc7bf; margin:0; }
.boundaries { padding:60px clamp(22px,7vw,105px); border-bottom:1px solid var(--line); }.boundary-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:31px; }.boundary-grid p { font:600 18px/1.15 "DM Sans",sans-serif; padding:18px 0; border-top:2px solid var(--green); margin:0; }
.fit { padding:clamp(75px,10vw,142px) clamp(22px,10vw,150px); background:#eadcc9; display:grid; grid-template-columns:1fr 1fr; gap:clamp(55px,10vw,140px); }.fit h2 { max-width:510px; }.fit-copy { font-size:19px; color:#3f4a43; padding-top:27px; }.fit-note { border-left:3px solid var(--orange); padding-left:17px; font-size:15px; color:#59625b; margin-top:31px; }
.inquiry { padding:clamp(75px,10vw,130px) clamp(22px,10vw,150px); display:grid; grid-template-columns:.88fr 1.12fr; gap:clamp(55px,10vw,140px); border-bottom:1px solid var(--line); background:#f6f4ec; }.inquiry h2 { font-size:clamp(38px,5vw,65px); letter-spacing:-.05em; line-height:.98; margin:17px 0 28px; max-width:540px; }.inquiry-intro > p:not(.eyebrow) { max-width:480px; color:#4f5b53; font-size:18px; }.inquiry-note { border-left:3px solid var(--orange); padding-left:17px; color:#59625b !important; font-size:15px !important; margin-top:30px; }.zoho-inquiry { max-width:600px; display:grid; gap:18px; align-content:start; }.zoho-inquiry label { display:grid; gap:7px; color:var(--ink); font:500 12px "DM Mono",monospace; letter-spacing:.02em; }.zoho-inquiry input:not(.zoho-control),.zoho-inquiry textarea { width:100%; min-height:47px; padding:12px 13px; color:var(--ink); background:#fff; border:1px solid #afb7ae; border-radius:2px; font:16px "DM Sans",Arial,sans-serif; }.zoho-inquiry textarea { min-height:136px; resize:vertical; }.zoho-inquiry input:focus,.zoho-inquiry textarea:focus { outline:3px solid rgba(23,99,67,.18); border-color:var(--green); }.zoho-control { display:none !important; }.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.inquiry-button { border:0; justify-self:start; margin-top:3px; font-family:"DM Sans",Arial,sans-serif; cursor:pointer; }
.disclosure { padding:clamp(62px,8vw,105px) clamp(22px,10vw,150px); display:grid; grid-template-columns:1fr 1fr; gap:60px; border-bottom:1px solid var(--line); }.disclosure h2 { color:var(--green); }.disclosure p { max-width:540px; color:var(--muted); font-size:16px; margin:10px 0 0; }
footer { padding:34px clamp(22px,5vw,76px); display:flex; justify-content:space-between; align-items:center; gap:22px; color:#5d675f; font:11px "DM Mono",monospace; } footer .brand { color:var(--ink); }
@media (max-width:720px) { .site-header { height:70px; } nav { gap:14px; font-size:10px; } .hero { min-height:570px; } .hero::after,.hero-note { display:none; } .statement,.approach,.fit,.inquiry,.disclosure { grid-template-columns:1fr; gap:28px; } .section-head { display:block; }.section-head > p { margin-top:21px; }.service-grid,.boundary-grid,.field-grid { grid-template-columns:1fr; }.service-grid article,.service-grid article:nth-child(odd),.service-grid article:nth-child(even) { padding:24px 0 30px; border-right:0; }.service-grid h3 { margin-top:33px; } footer { align-items:flex-start; flex-direction:column; } }
