:root{--primary:#000;--accent:#5b6848;--accent-dark:#485339;--light:#e5e5e5;--white:#fff;--font-heading:"Marcellus", Georgia, serif;--font-body:"Raleway", system-ui, sans-serif;--font-script:"Dancing Script", cursive;--wrap:1140px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{font-family:var(--font-body);color:var(--primary);background:var(--white);margin:0;font-size:16px;line-height:1.7}img{max-width:100%;height:auto;display:block}a{color:var(--accent)}h1,h2,h3,h4,h5{font-family:var(--font-heading);margin:0 0 .5em;font-weight:400;line-height:1.2}h1{font-size:clamp(2.2rem,5vw,3.6rem)}h2{font-size:clamp(1.7rem,3vw,2.4rem)}h3{font-size:clamp(1.3rem,2vw,1.6rem)}.eyebrow{font-family:var(--font-script);color:var(--accent);margin:0 0 .2em;font-size:1.6rem;line-height:1.2}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}p{margin:0 0 1.1em}.wrap{width:min(100% - 32px, var(--wrap));margin-inline:auto}.section{padding:clamp(48px,8vw,96px) 0}.section--alt{background:var(--light)}.section--alt+.section--alt{padding-top:0}.section--dark{background:var(--accent);color:var(--white)}.section--dark h2,.section--dark h3,.section--dark .eyebrow,.section--dark a:not(.btn){color:var(--white)}.skip-link{background:var(--white);z-index:100;padding:8px 14px;position:absolute;top:0;left:-999px}.skip-link:focus{top:8px;left:8px}.btn{background:var(--accent);color:var(--white);letter-spacing:.06em;text-transform:uppercase;border:2px solid var(--accent);padding:.8em 1.8em;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:inline-block}.btn:hover,.btn:focus-visible{background:var(--accent-dark);border-color:var(--accent-dark);color:var(--white)}.btn--light{background:var(--white);color:var(--accent);border-color:var(--white)}.btn--light:hover,.btn--light:focus-visible{color:var(--white);border-color:var(--white);background:0 0}.topbar{background:var(--primary);color:var(--white);font-size:.9rem}.topbar .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding:8px 0;display:flex}.topbar a{color:var(--white);text-decoration:none}.topbar a:hover{text-decoration:underline}.topbar ul{gap:18px;margin:0;padding:0;list-style:none;display:flex}.site-header{background:var(--white);border-bottom:1px solid var(--light);z-index:50;position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;gap:16px;padding:8px 0;display:flex}.site-header .logo img{width:64px;height:auto}.nav{align-items:center;gap:28px;display:flex}.nav ul{gap:26px;margin:0;padding:0;list-style:none;display:flex}.nav a:not(.btn){color:var(--primary);text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid #0000;padding:6px 0;font-size:.85rem;font-weight:600;text-decoration:none}.nav a:not(.btn)[aria-current=page],.nav a:not(.btn):hover{border-bottom-color:var(--accent);color:var(--accent)}a,button,.btn{touch-action:manipulation}.nav-toggle{width:44px;height:44px;color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;place-items:center;padding:0;display:none}.nav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.nav-toggle svg{display:block}.nav-toggle .icon-close,.nav-toggle[aria-expanded=true] .icon-bars{display:none}.nav-toggle[aria-expanded=true] .icon-close{display:inline}@media (width<=860px){.nav-toggle{display:grid}.nav{background:var(--white);border-bottom:1px solid var(--light);flex-direction:column;align-items:flex-start;padding:16px;display:none;position:absolute;top:100%;left:0;right:0}.nav ul{flex-direction:column;gap:12px}.nav[data-open=true]{display:flex}}.hero{color:var(--white);background:linear-gradient(135deg, #2f3724 0%, var(--accent) 100%);position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-bg img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-bg img+img{opacity:0;animation:16s infinite hero-fade}.hero-bg:after{content:"";background:#00000073;position:absolute;inset:0}.hero .wrap{position:relative}@keyframes hero-fade{0%,45%{opacity:0}50%,95%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.hero-bg img+img{animation:none}}.hero .wrap{flex-direction:column;justify-content:center;gap:14px;min-height:clamp(380px,62vh,620px);padding:48px 0;display:flex}.hero h1{text-shadow:0 2px 8px #0006;margin:0}.hero p.script{font-family:var(--font-script);margin:0;font-size:2rem}.hero .actions{flex-wrap:wrap;gap:14px;margin-top:12px;display:flex}.page-title{background:var(--accent);color:var(--white);text-align:center;padding:clamp(36px,6vw,64px) 0}.page-title h1{margin:0}.split{grid-template-columns:1fr;align-items:center;gap:clamp(24px,5vw,64px);display:grid}@media (width>=860px){.split{grid-template-columns:1fr 1fr}.split--reverse>:first-child{order:2}}.split img{object-fit:cover;width:100%}.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;display:grid}.card{text-align:center}.card img{aspect-ratio:4/3;object-fit:cover;width:100%;margin-bottom:14px}.card h3{margin-bottom:.4em;font-size:1.4rem}.card a{text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;font-weight:600}.features{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px;display:grid}.center{text-align:center}.service-row{padding:clamp(32px,5vw,56px) 0}.lead-in{max-width:70ch;margin-inline:auto}.lead-in+.cards{margin-top:clamp(32px,5vw,48px)}.commercial-heading{margin-top:clamp(40px,6vw,72px)}.contact-grid{grid-template-columns:1fr;gap:40px;display:grid}@media (width>=900px){.contact-grid{grid-template-columns:1.4fr 1fr}}.contact-details h3{font-family:var(--font-script);color:var(--accent);margin:1em 0 0;font-size:1.4rem}.contact-details p{margin:0}.map{border:0;width:100%;height:360px;margin-top:32px}.google-form iframe{border:0;width:100%;height:1200px}@media (width>=600px){.google-form iframe{height:1100px}}.google-form p{font-size:.9rem}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.gallery-grid button{cursor:zoom-in;background:0 0;border:0;padding:0}.gallery-grid img{aspect-ratio:1;object-fit:cover;width:100%}dialog.lightbox{background:0 0;border:0;max-width:96vw;max-height:96vh;padding:0}dialog.lightbox::backdrop{background:#000000d9}dialog.lightbox img{object-fit:contain;max-width:96vw;max-height:90vh}dialog.lightbox button{cursor:pointer;touch-action:manipulation;border:0;position:absolute}dialog.lightbox .lb-close{background:var(--white);width:44px;height:44px;font-size:1.4rem;top:8px;right:8px}dialog.lightbox .lb-prev,dialog.lightbox .lb-next{width:48px;height:48px;color:var(--primary);background:#ffffffb8;border-radius:50%;padding:0 0 4px;font-size:2rem;line-height:1;top:50%;transform:translateY(-50%)}dialog.lightbox .lb-prev{left:8px}dialog.lightbox .lb-next{right:8px}dialog.lightbox .lb-prev:hover,dialog.lightbox .lb-next:hover{background:var(--white)}dialog.lightbox button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}dialog.lightbox .lb-count{color:var(--white);background:#0009;border-radius:12px;margin:0;padding:2px 10px;font-size:.85rem;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.legal{max-width:78ch;margin-inline:auto}.legal .lead-in{max-width:none;margin-inline:0}.legal h2{font-family:var(--font-heading);color:var(--primary);margin:2em 0 .5em;font-size:1.6rem}.legal .meta{color:#555;font-size:.95rem}.legal ul{margin:0 0 1.1em;padding-left:1.2em}.legal li{margin-bottom:.5em}.legal .table-wrap{margin-bottom:1.2em;overflow-x:auto}.legal table{border-collapse:collapse;width:100%;font-size:.95rem}.legal th,.legal td{text-align:left;vertical-align:top;border:1px solid var(--light);padding:10px 12px}.legal th{background:var(--light)}.legal .note{border-left:4px solid var(--accent);background:#f5f6f2;margin:0 0 1.4em;padding:12px 16px}.legal-links{flex-wrap:wrap;justify-content:center;gap:6px 20px;margin:0 0 12px;padding:0;list-style:none;display:flex}.site-footer{background:var(--primary);color:var(--white);padding:56px 0 24px}.site-footer a{color:var(--white);text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer .cols{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;display:grid}.site-footer h2{color:var(--white);font-family:var(--font-heading);font-size:1.3rem}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer h3{color:var(--white);font-family:var(--font-heading);opacity:.85;margin:16px 0 8px;font-size:1rem}.site-footer li{margin-bottom:6px}.site-footer .logo img{width:90px;margin-bottom:12px}.site-footer .footer-bottom{text-align:center;border-top:1px solid #fff3;margin-top:40px;padding-top:20px}.site-footer .legal-links{margin:0 0 12px}.site-footer .copy{text-align:center;margin:0;font-size:.85rem}
