:root{--ink:#17352d;--forest:#194b3b;--deep:#0d2b24;--mint:#e9f2ec;--paper:#fff;--line:#cad8d0;--gold:#d0a24c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.65}a{color:inherit}.site-header{height:76px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#0d2b24;color:white;position:relative;z-index:2}.brand{display:flex;align-items:center;gap:10px;font-size:.82rem;font-weight:700;letter-spacing:.18em;text-decoration:none}.brand span{display:grid;place-items:center;width:33px;height:33px;border:1px solid var(--gold);color:var(--gold);font-family:Georgia,serif;font-size:1.1rem;letter-spacing:0}.site-header nav{display:flex;gap:32px}.site-header nav a{text-decoration:none;font-size:.88rem;color:#e6eee9}.hero{height:min(730px,calc(100vh - 76px));min-height:590px;position:relative;display:flex;align-items:center;overflow:hidden}.hero img,.shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shade{background:linear-gradient(90deg,rgba(10,43,35,.78) 0%,rgba(10,43,35,.44) 38%,rgba(10,43,35,.04) 70%)}.hero-copy{position:relative;width:min(760px,90vw);margin-left:8vw;color:white;text-shadow:0 2px 18px rgba(0,0,0,.2)}.eyebrow,.section-label{font-size:.72rem;letter-spacing:.22em;font-weight:700;color:#8ed0ad}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.13;margin:0}h1{font-size:clamp(3rem,6vw,5.8rem);letter-spacing:-.035em}.hero-lead{max-width:610px;font-size:1.18rem;color:#f0f6f2;margin:26px 0}.button{display:inline-block;padding:13px 22px;border:1px solid #f1cb7b;background:rgba(13,43,36,.16);color:white;text-decoration:none;font-size:.9rem;letter-spacing:.04em;transition:.2s}.button:hover{background:#f1cb7b;color:#0d2b24}.intro,.approach{max-width:1180px;margin:auto;padding:110px 5vw;display:grid;grid-template-columns:1fr 2fr;gap:70px}.intro h2,.approach h2,.contact h2{font-size:clamp(2.3rem,4vw,4rem);letter-spacing:-.025em}.intro>div>p,.approach>div>p{max-width:680px;color:#53675f;font-size:1.08rem}.services{background:var(--mint);padding:0 max(5vw,calc((100vw - 1180px)/2));display:grid;grid-template-columns:repeat(3,1fr)}.services article{padding:70px 38px;border-left:1px solid var(--line)}.services article:last-child{border-right:1px solid var(--line)}.services span{font-size:.72rem;color:#688078;letter-spacing:.15em}.services h3{font-size:1.8rem;margin:22px 0 14px}.services p{color:#53675f}.approach{align-items:start}.approach-number{font-family:Georgia,serif;font-size:4rem;color:var(--gold);border-top:1px solid var(--line);padding-top:22px}.contact{background:var(--forest);color:white;padding:100px max(8vw,calc((100vw - 1060px)/2))}.contact h2{max-width:850px;margin:15px 0 35px}.contact>a{font-size:1.05rem;color:#e2eee7;text-underline-offset:6px}footer{background:var(--deep);color:#bdccc4;padding:45px 5vw;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;font-size:.82rem}footer .brand{color:white}footer a{margin-left:24px}footer p{grid-column:1/-1;margin:0;border-top:1px solid #29483f;padding-top:20px}.card{max-width:900px;margin:60px auto;padding:54px;background:white;border:1px solid var(--line)}.card h1{font-size:3.3rem;color:var(--forest)}.card h2{font-size:1.7rem;margin-top:34px;color:var(--forest)}.card p{color:#405a51}@media(max-width:760px){.site-header{height:auto;padding:18px 22px;align-items:flex-start}.site-header nav{gap:14px;flex-wrap:wrap;justify-content:flex-end}.hero{min-height:630px}.hero-copy{margin:0 24px}.shade{background:linear-gradient(90deg,rgba(10,43,35,.78),rgba(10,43,35,.18))}.intro,.approach{padding:75px 24px;grid-template-columns:1fr;gap:28px}.services{grid-template-columns:1fr;padding:0 24px}.services article{border-left:0;border-top:1px solid var(--line);padding:42px 0}.services article:last-child{border-right:0}.contact{padding:75px 24px}footer{grid-template-columns:1fr}footer div:last-of-type{display:flex;gap:18px;flex-wrap:wrap}footer a{margin:0}.card{margin:28px 18px;padding:28px}.card h1{font-size:2.45rem}}
:root{--hero-title-size:clamp(2.55rem,4.4vw,4.25rem)}
.hero h1{font-size:var(--hero-title-size);letter-spacing:-.025em}
