:root{--green:#123d31;--mint:#dbe7df;--cream:#f3efe4;--orange:#e59c3a;--ink:#13261f;--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;scroll-padding-top:76px}body{background:var(--cream);color:var(--ink);font-family:Arial,sans-serif;line-height:1.5;overflow-x:clip}img{display:block;width:100%;height:auto}a{color:inherit}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.skip-link{position:fixed;top:-100px;left:1rem;z-index:99;padding:.7rem;background:#fff}.skip-link:focus{top:1rem}.top{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:76px;padding:.5rem 3vw;border-bottom:1px solid var(--green);background:#f3efe4ed;backdrop-filter:blur(10px)}.top a{text-decoration:none}.mark{display:flex;align-items:center;gap:.7rem}.mark b{display:grid;width:40px;height:40px;place-items:center;background:var(--green);color:#fff}.mark span{font-size:.72rem;font-weight:800;line-height:1.1}.top nav{display:flex;gap:1.4rem;font-size:.75rem;font-weight:700}.back{justify-self:end;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.hero{display:grid;grid-template-columns:.85fr 1.15fr;min-height:calc(100svh - 76px);background:var(--green);color:#fff}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,6vw,7rem)}.hero-copy>p:first-child,.services header span,.proof span,.area span,.quote span{font-size:.66rem;text-transform:uppercase;letter-spacing:.13em}.hero h1,.services h2,.proof h2,.area h2,.quote h2{font-family:Georgia,serif;font-weight:500;line-height:.95;letter-spacing:-.045em}.hero h1{font-size:clamp(3.2rem,6vw,6.4rem)}.hero-copy>p:nth-of-type(2){max-width:42ch;margin:1.3rem 0;color:#dbe7df}.hero-copy a{width:max-content;padding:.8rem 1rem;background:var(--orange);color:#111;text-decoration:none;font-weight:800;transition:transform .35s var(--ease)}.hero-copy a:hover{transform:translateY(-4px)}.hero picture{min-height:600px}.hero img{height:100%;object-fit:cover}.services{padding:clamp(4rem,8vw,8rem) 3vw}.services header{display:grid;grid-template-columns:.25fr 1fr .6fr;gap:2rem;margin-bottom:3rem}.services h2{font-size:clamp(2.7rem,5vw,5.2rem)}.services header p{color:#52645c}.service-board{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.service-board button{min-height:280px;display:flex;flex-direction:column;align-items:flex-start;padding:1.4rem;border:1px solid var(--green);background:transparent;text-align:left;cursor:pointer;transition:background .3s,color .3s,transform .35s var(--ease)}.service-board button:hover,.service-board button.is-selected{background:var(--green);color:#fff;transform:translateY(-5px)}.service-board span{font-size:.65rem}.service-board strong{margin-top:auto;font-family:Georgia,serif;font-size:1.8rem}.service-board small{max-width:30ch;margin-top:.5rem;font-size:.8rem}.proof{display:grid;grid-template-columns:1.15fr .85fr;background:var(--mint)}.proof figure{min-height:620px}.proof img{height:100%;object-fit:cover}.proof>div{display:grid;align-content:center;padding:clamp(3rem,7vw,7rem)}.proof h2{font-size:clamp(2.8rem,5vw,5.2rem);margin:1rem 0 2rem}.proof ol{list-style:none}.proof li{display:grid;grid-template-columns:90px 1fr;padding:1rem 0;border-top:1px solid #123d3155}.proof li b{font-family:Georgia,serif;font-size:1.2rem}.proof li p{color:#52645c}.area{display:grid;grid-template-columns:1fr 1fr .7fr;gap:3rem;align-items:end;padding:clamp(4rem,8vw,8rem) 3vw}.area h2{font-size:clamp(2.8rem,5vw,5rem);margin-top:1rem}.area ul{display:grid;grid-template-columns:1fr 1fr;list-style:none;border-top:1px solid var(--green)}.area li{padding:1rem 0;border-bottom:1px solid #123d3155}.area p{color:#52645c}.quote{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(2rem,7vw,7rem);padding:clamp(4rem,8vw,8rem) 3vw;background:var(--orange)}.quote h2{font-size:clamp(3rem,5vw,5.4rem);margin:1rem 0}.quote>div p{max-width:40ch}.quote form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.quote label{display:grid;gap:.35rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.quote input,.quote select,.quote textarea{width:100%;padding:.9rem;border:1px solid var(--ink);background:#fff8}.quote .wide{grid-column:1/-1}.quote button{padding:1rem;border:0;background:var(--green);color:#fff;font-weight:800;cursor:pointer}.quote form p{min-height:1rem;font-size:.75rem}footer{display:flex;justify-content:space-between;padding:1.3rem 3vw;background:var(--green);color:#fff;font-size:.7rem}footer a{text-underline-offset:.2rem}@media(max-width:760px){.top{grid-template-columns:1fr auto}.top nav{display:none}.hero{grid-template-columns:1fr}.hero picture{min-height:56svh;order:-1}.hero-copy{padding:2.8rem 1rem}.hero h1{font-size:clamp(3rem,15vw,5rem)}.services{padding-inline:1rem}.services header{grid-template-columns:1fr}.service-board{grid-template-columns:1fr}.service-board button{min-height:220px}.proof{grid-template-columns:1fr}.proof figure{min-height:430px}.proof>div{padding:3rem 1rem}.area{grid-template-columns:1fr;padding-inline:1rem}.quote{grid-template-columns:1fr;padding-inline:1rem}.quote form{grid-template-columns:1fr}.quote .wide{grid-column:auto}footer{flex-direction:column;gap:.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-copy a,.service-board button{transition-duration:.15s}}

/* Accessible AJAX form states */
[data-form-status]{min-height:1.5em;margin-top:.35rem;font-weight:700;line-height:1.45}
[data-form-status][data-state="sending"]{opacity:.72}
[data-form-status][data-state="success"]{opacity:1}
[data-form-status][data-state="error"]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}
form.is-sending button[type="submit"],form button[type="submit"]:disabled{cursor:wait;opacity:.62;transform:none}
