:root{--paper: #f4f0e7;--paper-soft: #fbf8f0;--ink: #20241f;--muted: #656b60;--line: #ddd5c4;--green: #173b27;--green-soft: #315a3a;--moss: #8aa267;--gold: #d7c58e;--white: #ffffff;font-family:Outfit,Avenir Next,Helvetica Neue,Arial,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(circle at 12% 8%,rgba(215,197,142,.24),transparent 30rem),linear-gradient(180deg,var(--paper-soft),var(--paper) 42rem)}a{color:inherit}img{display:block;max-width:100%}.site-header,.site-footer,.section-shell{width:min(1120px,calc(100% - 32px));margin-inline:auto}.site-header{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:28px;padding:22px 0}.brand,.site-header nav,.header-action,.button{display:inline-flex;align-items:center}.brand{gap:12px;text-decoration:none;font-weight:800}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:var(--green);color:var(--paper-soft);font-size:.78rem;font-weight:900}.site-header nav{gap:22px;color:var(--muted);font-size:.95rem}.site-header nav a,.header-action,.text-link{text-decoration:none}.site-header nav a:hover,.text-link:hover{color:var(--green)}.header-action{min-height:42px;padding:0 18px;border:1px solid var(--line);border-radius:999px;color:var(--green);font-weight:750;background:#ffffff94}.section-shell{padding-block:72px}.hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr);gap:clamp(32px,5vw,72px);align-items:center;min-height:calc(100dvh - 86px);padding-top:28px}.eyebrow{margin:0 0 18px;color:var(--green-soft);font-size:.78rem;font-weight:850;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2{max-width:780px;letter-spacing:0;line-height:.98}h1{margin-bottom:26px;font-size:clamp(3rem,8vw,6.8rem);font-weight:900}h2{margin-bottom:20px;font-size:clamp(2.15rem,4vw,4.45rem);font-weight:880}h3{margin-bottom:14px;font-size:1.35rem}p{color:var(--muted);font-size:1rem;line-height:1.72}.hero-lede{max-width:560px;font-size:clamp(1.08rem,2vw,1.28rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:34px 0 20px}.button{justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;font-weight:820;text-decoration:none;transition:transform .18s ease,background .18s ease,border-color .18s ease}.button:hover,.button:focus-visible{transform:translateY(-2px)}.button:active{transform:translateY(1px)}.button.primary{background:var(--green);color:var(--paper-soft)}.button.secondary{border:1px solid var(--line);background:#ffffff9e;color:var(--green)}.small-note{max-width:560px;font-size:.92rem}.hero-media{position:relative;align-self:stretch;min-height:560px;overflow:hidden;border-radius:42% 42% 8px 8px;background:var(--green);box-shadow:0 30px 80px #173b2738}.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% center}.media-caption{position:absolute;right:18px;bottom:18px;max-width:290px;padding:12px 14px;border:1px solid rgba(255,255,255,.34);border-radius:8px;background:#20241fbd;color:var(--paper-soft);font-size:.78rem;line-height:1.45}.split-section,.checklist-section,.proof-band,.contact-hero{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(28px,6vw,86px)}.copy-stack{max-width:620px}.section-heading{max-width:780px;margin-bottom:34px}.service-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.service-item{min-height:240px;padding:28px;border-top:1px solid var(--line);background:#ffffff6b}.service-item.wide{grid-row:span 2;min-height:496px;background:var(--green)}.service-item.wide h3,.service-item.wide p,.service-item.wide span{color:var(--paper-soft)}.service-item span{color:var(--moss);font-size:.82rem;font-weight:900}.proof-band{align-items:center}.proof-band img{width:100%;aspect-ratio:4 / 3;border-radius:8px;object-fit:cover;box-shadow:0 24px 70px #173b272b}.text-link{color:var(--green);font-weight:850}.check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;margin:0;list-style:none}.check-list li{padding:16px 16px 16px 18px;border-left:3px solid var(--green);background:#ffffff94;color:var(--ink);line-height:1.45}.page-hero{max-width:920px;padding-top:86px;padding-bottom:36px}.page-hero h1{font-size:clamp(2.8rem,6vw,5.8rem)}.service-list,.faq-list{display:grid;gap:18px}.service-list article,.faq-list article,.contact-panel,.gallery-grid article{border-top:1px solid var(--line);background:#ffffff7a}.service-list article,.faq-list article{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1fr) minmax(240px,.74fr);gap:24px;align-items:start;padding:28px 0}.service-list h2,.faq-list h2,.contact-panel h2,.gallery-grid h2{margin-bottom:10px;font-size:1.25rem;line-height:1.2}.placeholder-strip{padding:14px 16px;border-radius:8px;background:#e8dfcc;color:#514b40;font-size:.9rem;line-height:1.5}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.gallery-grid article{display:grid;gap:18px;padding:16px}.gallery-grid article:first-child{grid-row:span 2}.gallery-grid img{width:100%;aspect-ratio:4 / 3;border-radius:8px;object-fit:cover}.gallery-grid article:first-child img{aspect-ratio:4 / 5}.contact-panel{padding:28px;border-radius:8px}.check-list.compact{grid-template-columns:1fr}.site-footer{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:52px 0 64px;border-top:1px solid var(--line)}.footer-name,.footer-label{margin-bottom:10px;color:var(--ink);font-weight:900}.footer-list{margin:0;padding-left:18px;color:var(--muted);line-height:1.65}@media(max-width:860px){.site-header{grid-template-columns:1fr;gap:18px}.site-header nav{flex-wrap:wrap}.hero,.split-section,.checklist-section,.proof-band,.contact-hero,.service-grid,.gallery-grid,.site-footer,.service-list article,.faq-list article{grid-template-columns:1fr}.section-shell{width:min(100% - 24px,1120px);padding-block:52px}.hero{min-height:auto}.hero-media{min-height:420px;border-radius:32px 32px 8px 8px}.service-item.wide{grid-row:auto;min-height:280px}.check-list{grid-template-columns:1fr}}@media(max-width:520px){h1{font-size:clamp(2.7rem,18vw,4rem)}.hero-media{min-height:320px}.button{width:100%}}
