:root,[data-theme="light"]{
  color-scheme:light;
  --brand-green:#356632;--brand-gold:#356632;--deep:#193d2a;--gold-light:#e2eccd;
  --color-bg:#fff;--color-surface:#f1f4ed;--color-text:#203526;--color-text-muted:#536255;
  --color-border:rgb(32 53 38 / .18);--color-error:#9c2e28;--color-accent-text:#356632;
  --font-display:'Satoshi',Arial,sans-serif;--font-body:'Satoshi',Arial,sans-serif;
  --space-section:clamp(60px,6.5vw,100px);
  --text-xs:.8125rem;--text-sm:1rem;--text-base:1.0625rem;--text-lg:1.25rem;
  --text-xl:clamp(1.9rem,3vw,2.85rem);--text-hero:clamp(3rem,4.7vw,4.7rem);
}
[data-theme="dark"]{color-scheme:dark;--color-bg:#15261c;--color-surface:#203527;--color-text:#f2f5ec;--color-text-muted:#c4cebf;--color-border:rgb(232 240 226 / .22);--color-accent-text:#c7dca6;--color-error:#ffb8ae}
:focus-visible{outline:3px solid #76a34f;outline-offset:5px}
body{line-height:1.7;font-weight:400;font-synthesis:none}
h1,h2{font-family:var(--font-display);font-weight:700;letter-spacing:-.025em}
h3{font-weight:700;letter-spacing:0}
.container{width:min(1280px,calc(100% - 96px))}
.topbar .container{min-height:34px}
.topbar{font-size:.8rem}
.site-header{background:var(--color-bg)}
.header-inner{min-height:100px;gap:24px}
.logo img{height:82px;width:82px}
.nav-links{gap:25px}
.nav-links>a{font-size:.94rem}
.header-actions>.button{min-width:180px}
.header-actions .button{background:var(--brand-green);color:#fff}
.header-phone strong{color:var(--color-text)}
.button{background:var(--brand-green);border-radius:3px;min-height:52px}
.button:hover{background:#244c28}
.button-gold{background:var(--gold-light);color:#173a27}
.button-gold:hover{background:#cfdfa9;color:#173a27}
.menu-toggle span{background:var(--color-text)}
.inquiry-hero{padding:0}
.inquiry-hero-grid{grid-template-columns:1.05fr 1fr}
.photo-hero::before{background:linear-gradient(90deg,rgba(15,39,23,.91),rgba(15,39,23,.77) 43%,rgba(15,39,23,.19))}
.photo-hero .hero-fence img{object-position:center 54%}
.hero-story{padding:66px 44px 66px max(48px,calc((100vw - 1280px)/2))}
.hero-story h1{font-size:var(--text-hero);line-height:1.12;max-width:15ch;color:#fff}
.hero-story .eyebrow{color:#e2eccd;font-size:.8125rem;letter-spacing:.13em}
.inquiry-deck{font-size:1.16rem;line-height:1.7;max-width:40ch;margin-top:26px;color:#fff}
.hero-service-line{color:#e1e9db;font-size:1rem;max-width:43ch;margin-top:4px}
.hero-contact{display:flex;gap:28px;flex-wrap:wrap;margin-top:28px;font-size:1.0625rem;font-weight:700;color:#fff}
.hero-contact a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:5px}
.hero-signoff{color:#dce7cd;font-size:.875rem;margin-top:16px}
.hero-visual{padding:42px 48px;min-height:670px}
.inquiry-hero .hero-form{background:rgba(255,255,252,.96);color:#203526;border:1px solid #fff;max-width:450px;padding:30px;box-shadow:0 12px 44px #10281826}
.estimate-form .eyebrow{color:#356632;margin-bottom:10px}
.inquiry-hero .hero-form h2{font-size:1.9rem;margin-bottom:12px}
.form-intro{font-size:.9375rem;color:#536255;margin-bottom:22px}
.hero-form .form-grid{gap:16px}
.estimate-form{background:#fff;color:#203526}
.estimate-form input,.estimate-form select,.estimate-form textarea{background:#fff;color:#203526;border-color:#b7c2b3}
.estimate-form .form-note{color:#536255;font-size:.78rem;line-height:1.6}
.estimate-form .button-gold{background:var(--brand-green);color:#fff}
.estimate-form .button-gold:hover{background:#244c28}
.estimate-form .preview-note{font-size:.75rem;color:#66715f;margin-top:10px}
.estimate-form .form-status{color:#294d2a;font-size:.94rem}
.inline-link{display:inline;background:none;color:inherit;text-decoration:underline;text-underline-offset:3px;padding:0;font-size:inherit}
.trust-grid{padding-block:28px;gap:32px}
.trust-item strong{font-size:1rem}
.trust-item span{font-size:.875rem;line-height:1.5;margin-top:4px}
.residential-grid{display:grid;grid-template-columns:1fr .9fr;gap:84px;align-items:center}
.residential-copy h2,.deck-copy h2{margin-bottom:24px}
.residential-copy .muted+.muted{margin-top:18px}
.benefit-list{list-style:none;padding:0;margin:26px 0 28px;display:grid;gap:10px;font-size:1rem}
.benefit-list li::before{content:"✓";color:var(--color-accent-text);margin-right:12px;font-weight:700}
.residential-photo img{width:100%;height:520px;object-fit:cover;object-position:center 45%}
.residential-photo figcaption,.deck-photo figcaption,.repair-photo figcaption{font-size:.875rem;margin-top:14px;color:var(--color-text-muted)}
.material-chooser{margin-top:56px;padding-top:36px;border-top:1px solid var(--color-border);display:grid;grid-template-columns:.6fr 1.4fr;gap:64px;align-items:start}
.material-chooser .eyebrow{margin-bottom:10px}
.material-chooser h3{font-size:1.15rem}
.material-tabs{margin-top:0;gap:10px}
.material-tab{font-size:.9375rem}
.material-tab[aria-selected=true]{background:var(--brand-green);border-color:var(--brand-green);color:white}
#material-panel{margin-top:22px;display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:center}
#material-panel h3{margin-bottom:8px}
#material-panel p{color:var(--color-text-muted);font-size:1rem;min-height:54px;max-width:65ch}
.material-example img{width:100%;height:210px;object-fit:cover}
.material-example figcaption{font-size:.75rem;color:var(--color-text-muted);line-height:1.5;margin-top:10px}
.material-description .text-link{font-size:.875rem;margin-top:10px}
.deck-section{background:var(--color-surface)}
.deck-grid{display:grid;grid-template-columns:.9fr 1fr;align-items:center;gap:84px}
.deck-photo img{width:100%;height:580px;object-fit:cover;object-position:center 56%}
.deck-options{display:grid;gap:22px;margin:28px 0 30px}
.deck-options h3{font-size:1.0625rem;margin-bottom:6px}
.deck-options p{color:var(--color-text-muted);font-size:1rem}
.repair-grid{grid-template-columns:1fr .8fr;gap:100px}
.repair-copy h2{max-width:20ch}
.repair-copy{order:0}
.repair-photo>img{height:460px;object-position:center 48%}
.repair-text{font-size:.9375rem;margin-top:20px;color:var(--color-text-muted)}
.repair-text a{font-weight:700;text-underline-offset:4px}
.repair-list li::before{color:var(--color-accent-text)}
.work-section{background:var(--color-surface)}
.bf-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 22px}
.bf-gallery figure{min-width:0}
.gallery-open{background:none;display:block;position:relative;width:100%;padding:0;overflow:hidden;text-align:left}
.gallery-open img{width:100%;height:300px;object-fit:cover}
.gallery-open span{position:absolute;bottom:14px;right:14px;background:#fff;color:#193d2a;font-size:.75rem;padding:6px 10px}
.gallery-open:hover img{filter:brightness(.93)}
.gallery-open:hover span{color:#193d2a}
.bf-gallery figcaption{font-size:.875rem;margin-top:16px;color:var(--color-text-muted)}
.portfolio-links{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:24px;margin-top:30px;font-size:.9375rem}
.portfolio-links span{color:var(--color-text-muted)}
.portfolio-links a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px}
.commercial-band{background:var(--deep);color:#fff;padding-block:60px}
.commercial-band-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}
.commercial-band .eyebrow{color:var(--gold-light)}
.commercial-band p:not(.eyebrow){color:#dfe8da}
.commercial-band .button{margin-top:24px}
.owner-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px}
.owner-name span{font-size:.875rem}
.area-grid{grid-template-columns:1fr 1fr;gap:90px}
.county-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-bottom:1px solid var(--color-border);padding-bottom:14px}
.county-heading:not(:first-child){margin-top:30px}
.county-heading h3{font-size:1.125rem}
.county-heading>span{font-size:.8125rem;color:var(--color-text-muted)}
.area-link{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:62px;border-bottom:1px solid var(--color-border);text-decoration:none;font-weight:700}
.area-link span{font-size:.8125rem;color:var(--color-text-muted);font-weight:400}
.area-link:hover{color:var(--color-accent-text)}
.area-note{font-size:.875rem;color:var(--color-text-muted);margin-top:20px}
.faq-list details p{font-size:1rem}
.estimate-grid{gap:90px}
.contact-note{font-size:.9375rem;margin-top:28px}
.contact-preference{border:0;margin:0;padding:0}
.contact-preference legend{font-size:.875rem;font-weight:700;margin-bottom:8px}
.contact-preference label{display:inline-flex;align-items:center;gap:8px;margin-right:24px;min-height:44px;font-size:.9375rem}
.contact-preference input{width:18px;min-height:18px;height:18px;accent-color:var(--brand-green)}
.footer-grid{gap:30px;grid-template-columns:1.1fr 1fr .9fr 1.1fr}
.footer-column a{font-size:.875rem;min-height:44px}
.footer-column strong{font-size:.9375rem}
.footer-brand p{font-size:.875rem}
.footer-bottom{align-items:center;font-size:.8125rem}
.footer-bottom>div{display:flex;gap:24px;align-items:center}
.footer-bottom button{min-height:44px}
.photo-dialog{width:min(var(--photo-width,1000px),calc(100% - 32px));max-height:92dvh;padding:18px}
.photo-dialog .dialog-top{margin-bottom:12px}
.photo-dialog .dialog-close,#privacy-dialog .dialog-close{font-size:.875rem;width:auto;padding:10px 14px}
.photo-dialog img{width:100%;height:auto;max-height:75dvh;object-fit:contain}
.photo-dialog #photo-caption{font-size:.9375rem}
.choice-dialog{background:#fff;color:#203526}
.choice-heading{background:#f1f4ed}
.choice-option[aria-pressed=true]{background:#356632}
[data-theme="dark"] .estimate-form{--color-text-muted:#536255}
[data-theme="dark"] .deck-section,[data-theme="dark"] .work-section,[data-theme="dark"] .area-section{background:var(--color-surface)}
@media(min-width:961px) and (max-width:1200px){.nav-links{gap:17px}.nav-links>a{font-size:.85rem}.header-actions>.button{min-width:160px;font-size:.8125rem;padding-inline:16px}.header-inner{gap:16px}}
@media(max-width:1120px){.container{width:calc(100% - 56px)}.hero-story{padding-left:28px;padding-right:30px}.hero-visual{padding:32px 28px}.residential-grid,.deck-grid,.repair-grid,.area-grid,.owner-grid{gap:48px}.bf-gallery{grid-template-columns:1fr 1fr}.gallery-open img{height:340px}.header-actions .button{display:none}}
@media(max-width:960px){.header-inner{min-height:86px}.logo img{height:72px;width:72px}.header-phone{display:block}.nav-links>a{font-size:1rem}.hero-story h1{font-size:clamp(2.6rem,5vw,3.6rem)}.hero-service-line{font-size:.9375rem}.inquiry-deck{font-size:1.0625rem}.inquiry-hero .hero-form{padding:26px 22px}.material-chooser{gap:32px}.residential-photo img{height:530px}.deck-photo img{height:600px}.estimate-grid{gap:44px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){
  html{scroll-padding-top:94px}
  .container{width:calc(100% - 40px)}
  .topbar .container{min-height:30px;font-size:.75rem}
  .header-inner{min-height:78px;gap:14px}.logo img{width:64px;height:64px}
  .header-actions{gap:16px}.header-phone span{font-size:.75rem}.header-phone strong{font-size:.9375rem}
  .nav-links{padding:18px 24px;max-height:calc(100dvh - 150px);overflow:auto}
  .photo-hero::before{background:linear-gradient(180deg,rgba(15,39,23,.89),rgba(15,39,23,.83) 40%,rgba(15,39,23,.3))}
  .photo-hero .hero-fence img{object-position:57% center}
  .inquiry-hero-grid{grid-template-columns:1fr}
  .hero-story{padding:36px 24px 8px}
  .hero-story .eyebrow{font-size:.75rem;letter-spacing:.1em;margin-bottom:18px}
  .hero-story h1{font-size:clamp(2.65rem,10.8vw,3.55rem);line-height:1.12}
  .inquiry-deck{margin-top:24px;font-size:1.0625rem}
  .hero-service-line{font-size:.9375rem;margin-top:12px}
  .hero-contact{margin-top:16px;gap:26px;font-size:1rem}
  .hero-signoff{font-size:.8125rem;margin-top:8px}
  .hero-visual{min-height:0;padding:28px 20px 36px}
  .inquiry-hero .hero-form{padding:24px 20px;max-width:none;background:rgba(255,255,252,.97)}
  .inquiry-hero .hero-form h2{font-size:1.7rem}
  .hero-form .form-grid{grid-template-columns:1fr 1fr;gap:14px 12px}
  .hero-form .form-grid .field{grid-column:1/-1}
  .trust-grid{gap:22px 16px;padding-block:26px}
  .trust-item strong{font-size:.9375rem}.trust-item span{font-size:.8125rem}
  .residential-grid,.deck-grid,.repair-grid,.owner-grid,.commercial-band-grid,.area-grid{grid-template-columns:1fr;gap:32px}
  .residential-photo img{height:400px}
  .residential-copy h2,.deck-copy h2{margin-bottom:20px}
  .benefit-list{font-size:.9375rem;gap:12px}
  .material-chooser{grid-template-columns:1fr;gap:24px;margin-top:36px;padding-top:28px}
  .material-chooser h3 br{display:none}
  .material-tabs{gap:8px;margin-top:0}
  .material-tab{font-size:.875rem;padding:10px 14px}
  #material-panel{margin-top:18px;grid-template-columns:1fr;gap:22px}#material-panel p{min-height:0}
  .material-example img{height:230px}
  .deck-copy{order:-1}.deck-photo img{height:420px}
  .deck-options{gap:18px;margin-block:24px}
  .repair-photo>img{height:390px}
  .repair-list{grid-template-columns:1fr}
  .repair-list li{font-size:1rem}
  .section-heading p.section-intro{margin-top:18px;font-size:1rem}
  .bf-gallery{grid-template-columns:1fr 1fr;gap:24px 14px}
  .gallery-open img{height:225px}
  .gallery-open span{font-size:.75rem;bottom:8px;right:8px;padding:4px 6px}
  .bf-gallery figcaption{font-size:.8125rem;line-height:1.5;margin-top:12px}
  .portfolio-links{justify-content:flex-start;gap:18px;font-size:.875rem}
  .portfolio-links>span{flex-basis:100%}
  .commercial-band-grid{gap:24px}.commercial-band{padding-block:48px}
  .owner-grid{gap:26px}
  .county-heading{gap:12px}
  .area-link span{font-size:.75rem}
  .estimate-grid{gap:32px}
  .estimate-form{padding:24px 20px}
  .contact-preference label{margin-right:16px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px}
  .footer-brand{gap:18px}.footer-brand img{height:76px;width:76px}
  .footer-brand p{font-size:.875rem}
  .footer-column a{font-size:.8125rem}
  .footer-bottom{padding-bottom:100px}
  .footer-bottom>div{margin-block:8px}
  .mobile-actions{background:#fff;border-top:1px solid #b6c5ae;box-shadow:0 -3px 18px #173a271f;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom))}
  .mobile-actions a{background:#fff;color:#203526;border:1px solid #a7b79f;min-height:48px;font-size:.875rem}
  .mobile-actions a:last-child{background:#356632;color:#fff;border-color:#356632}
  .mobile-actions a:hover,.mobile-actions a:active{background:#e2eccd;color:#203526}
  .photo-dialog{padding:12px}
  .photo-dialog .dialog-top{align-items:center}
  .photo-dialog #photo-caption{font-size:.8125rem}
}
@media(max-width:360px){.header-actions{gap:10px}.header-phone strong{font-size:.875rem}.hero-story{padding-inline:20px}.hero-story h1{font-size:2.4rem}.bf-gallery{grid-template-columns:1fr}.gallery-open img{height:310px}}
.bf-gallery .gallery-open img{height:auto;aspect-ratio:1;object-fit:cover}
