:root{color-scheme:light;--pine:#112824;--cream:#f6f1e5;--green:#d4ed85;--ink:#172520;--muted:#4e5b51;--line:#d8d9ca;--heading:'Barlow Condensed','Arial Narrow',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.55 var(--body);background:var(--cream);color:var(--ink)}a{color:inherit}img{display:block;width:100%;height:auto}button,input,select,textarea{font:inherit}button{cursor:pointer}[hidden]{display:none!important}:focus-visible{outline:3px solid #376bd1;outline-offset:4px}.wrap{width:min(1200px,calc(100% - 88px));margin-inline:auto}.skip{position:absolute;top:-80px;left:20px;z-index:5;background:white;padding:10px}.skip:focus{top:8px}
.masthead{background:var(--pine);color:var(--cream);border-bottom:1px solid #ffffff26}.nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font:800 24px/.92 var(--heading);letter-spacing:.07em}.brand small{display:block;font:700 8px/1 var(--body);letter-spacing:.18em;margin-top:7px}.monogram{background:var(--green);color:var(--pine);padding:8px 10px 10px;border-radius:3px;font-size:28px;letter-spacing:-.05em;transform:rotate(-3deg)}.monogram span{font-size:.72em;margin-inline:1px}.nav nav{display:flex;gap:clamp(15px,3vw,42px)}.nav nav a{font-weight:700;text-decoration:none}.nav nav a:hover,.phone:hover{text-decoration:underline;text-underline-offset:5px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;background:var(--green);color:#172520;padding:12px 22px;border:1px solid transparent;border-radius:4px;text-decoration:none;font-weight:800;white-space:nowrap;transition:background .18s,transform .18s}.button:hover{background:#ecf6ae;transform:translateY(-2px)}.button.small{min-height:44px;padding:8px 14px;font-size:.87rem}.button.outline{background:transparent;border-color:var(--ink);margin-top:22px}.button.outline:hover{background:white}
.hero{background:var(--pine);color:var(--cream);padding:clamp(38px,7vw,97px) 0 clamp(50px,7vw,100px);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(25px,5vw,78px);align-items:center}.eyebrow{margin:0 0 13px;font-weight:800;font-size:.74rem;letter-spacing:.14em;display:flex;align-items:center;gap:8px}.eyebrow span{display:inline-block;width:14px;height:2px;background:#71954a}.hero .eyebrow span,.about .eyebrow span{background:var(--green)}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{font-family:var(--heading);font-weight:800;line-height:.93;letter-spacing:-.018em}h1{font-size:clamp(66px,7.5vw,110px);margin:0 0 25px}h1 em{font-style:normal;color:var(--green)}h2{font-size:clamp(48px,6.5vw,91px);margin:0}h3{font-size:clamp(25px,2.8vw,38px);margin-bottom:10px}.hero-copy>p:not(.eyebrow){font-size:clamp(17px,2vw,21px);color:#e0e8db;max-width:36ch}.actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:26px}.phone{font-weight:700;text-underline-offset:4px}.hero-photo{position:relative;margin:0;background:#294138;border:1px solid #ffffff38;padding:10px;border-radius:5px;box-shadow:14px 15px 0 #d4ed8520}.hero-photo > img:not(.godzilla-art){height:clamp(360px,41vw,555px);object-fit:cover;object-position:50% 50%;border-radius:2px}.hero-photo figcaption{position:absolute;bottom:23px;left:23px;background:#112824ee;color:white;padding:9px 12px;border-radius:3px;font-size:.88rem;font-weight:700}.hero-photo figcaption span{color:var(--green);margin-right:4px}
.services,.work,.about,.quote{padding:clamp(54px,8vw,112px) 0;scroll-margin-top:12px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:29px}.section-heading>p{max-width:32ch;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.service-grid article{display:flex;flex-direction:column;border:1px solid var(--line);background:#fffdf5;border-radius:5px;overflow:hidden}.service-grid img{aspect-ratio:1.48;object-fit:cover}.service-grid article div{padding:19px;display:flex;flex:1;flex-direction:column}.service-grid p{color:var(--muted);margin-bottom:16px}.service-grid a{margin-top:auto;font-weight:800;text-underline-offset:4px}.work{background:#e6ead8}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.filters button{background:transparent;color:var(--ink);border:1px solid #718271;border-radius:4px;min-height:42px;padding:7px 14px;font-weight:700}.filters button[aria-pressed=true]{background:var(--pine);color:white;border-color:var(--pine)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery button{position:relative;border:0;padding:0;overflow:hidden;background:#cad4bf;border-radius:4px;color:white}.gallery button img{height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .25s}.gallery button:hover img{transform:scale(1.04)}.gallery button span{position:absolute;bottom:9px;right:9px;background:#112824ec;padding:3px 9px;border-radius:3px;font-size:1.18rem}
.about{background:#1b342f;color:var(--cream)}.about-grid,.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,6vw,90px);align-items:center}.about p:not(.eyebrow){font-size:1.13rem;max-width:37ch;margin:18px 0 0}.about-image{position:relative}.about-image img{max-height:340px;object-fit:cover;object-position:center 42%;border-radius:4px}.quote-grid{align-items:start}.quote h2{margin-bottom:17px}.contact-links{display:grid;grid-template-columns:max-content max-content;gap:9px 16px;font-weight:700}.contact-links a{text-underline-offset:4px}form{background:#fffdf5;border:1px solid var(--line);border-radius:5px;padding:clamp(16px,3vw,32px);display:grid;gap:13px}.form-note{color:var(--muted);margin:0;font-size:.9rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:grid;gap:4px;font-weight:700}input,select,textarea{background:white;border:1px solid #829182;border-radius:4px;padding:10px;color:var(--ink);width:100%}textarea{resize:vertical}form button{justify-self:start}.status{margin:0;color:#274737;font-weight:700}.status:empty{display:none}.foot{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}footer{background:var(--pine);color:var(--cream)}.foot strong{font:800 26px var(--heading)}dialog{width:min(90vw,780px);max-height:90vh;border:0;border-radius:6px;padding:0;background:var(--pine);color:white}dialog::backdrop{background:#0e1918e8}dialog img{max-height:66vh;object-fit:contain}dialog button{background:#e4eecc;color:var(--ink);border:0;border-radius:4px;min-width:42px;min-height:42px;font-size:1.25rem}.dialog-head{text-align:right;padding:8px}.dialog-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px}.dialog-controls p{margin:0;text-align:center}
@media(max-width:960px){.wrap{width:calc(100% - 56px)}.service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.wrap{width:calc(100% - 34px)}.nav{min-height:70px}.nav nav{display:none}.brand{font-size:21px}.monogram{font-size:23px}.button.small{padding:7px 10px;gap:6px}.hero-grid,.about-grid,.quote-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(69px,16vw,94px)}.hero-photo > img:not(.godzilla-art){height:335px}.hero-photo{margin-right:11px}.section-heading{display:block}.section-heading>p{margin-top:12px}.gallery{grid-template-columns:repeat(2,1fr)}.service-grid article div{padding:13px}.service-grid h3{min-height:2em}.foot{padding:18px 0}}
@media(max-width:380px){.service-grid{grid-template-columns:1fr}.service-grid h3{min-height:0}.hero h1{font-size:62px}.form-row{grid-template-columns:1fr}.contact-links{gap:6px 10px;font-size:.92rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}


.hero-photo .godzilla-art{position:absolute;width:min(95%,510px);height:105%;object-fit:contain;object-position:center bottom;bottom:14px;right:0;z-index:1;filter:drop-shadow(0 12px 16px #031612c9);transform-origin:55% 95%;animation:godzilla-roar 2.35s ease-in-out 2}
.hero-photo figcaption{z-index:2}
@keyframes godzilla-roar{0%,100%{transform:translateY(0) scale(1) rotate(0)}32%{transform:translateY(-3%) scale(1.045) rotate(-2deg);filter:drop-shadow(0 8px 22px #a0db6877)}68%{transform:translateY(-1%) scale(1.01) rotate(1deg)}}
@media(max-width:680px){.hero-photo .godzilla-art{width:90%;height:100%;right:0}}
@media(prefers-reduced-motion:reduce){.hero-photo .godzilla-art{animation:none}}
