*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}body{color:#2b2a26;background:#f8f3ec;margin:0;font-family:system-ui,Arial,sans-serif}a{color:inherit;text-decoration:none}header{z-index:2;color:#fff;justify-content:space-between;align-items:center;padding:22px 6%;display:flex;position:absolute;top:0;left:0;right:0}header b{font-family:var(--heading-font);font-size:22px;font-weight:500}.hero{background:#3a2a24;align-items:flex-end;min-height:86vh;display:flex;position:relative}.hero img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero:after{content:"";background:linear-gradient(#1e120e26 30%,#1e120ed1);position:absolute;inset:0}.hero-text{z-index:1;color:#fff;max-width:760px;padding:0 6% 64px;position:relative}.hero-text p{color:#f3e8de;font-size:18px;line-height:1.6}.eyebrow{letter-spacing:3px;color:var(--accent);font-size:12px;font-weight:600}.hero .eyebrow{color:#f5c9b8}h1,h2,h3{font-family:var(--heading-font);font-weight:500}h1{letter-spacing:-2px;white-space:pre-line;margin:14px 0;font-size:clamp(40px,7vw,80px);line-height:1.04}h2{letter-spacing:-1px;margin:10px 0 24px;font-size:clamp(30px,4.5vw,48px);line-height:1.1}p{color:#5b574e;line-height:1.7}.button,button{background:var(--accent);color:#fff;border-radius:var(--radius);font:inherit;cursor:pointer;border:0;padding:15px 26px;font-weight:600;display:inline-block}.button.small{padding:10px 18px;font-size:14px}button:disabled{opacity:.6}.wrap{max-width:1120px;margin:auto;padding:84px 6%}.grid{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px;display:grid}article{border-radius:var(--radius);background:#fff;border:1px solid #e8dfd2;padding:30px}article svg{color:var(--accent)}h3{margin:16px 0 8px;font-size:24px}.approach{border-top:1px solid #e3d9ca}.approach p{max-width:620px;font-size:18px}.contact{border-top:1px solid #e3d9ca}form{gap:16px;max-width:520px;display:grid}label{gap:8px;font-size:14px;font-weight:600;display:grid}input,textarea{font:inherit;color:#2b2a26;background:#fff;border:1px solid #cfc4b3;border-radius:10px;padding:13px}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}footer{text-align:center;color:#e9e0d3;background:#2b2a26;padding:30px 6%;font-size:14px}@media (width<=700px){.grid{grid-template-columns:1fr}.hero{min-height:80vh}.wrap{padding:60px 6%}}
