:root{--bg:#f4f1ec;--surface:#fffdf9;--ink:#1f1f1a;--muted:#6d6b62;--line:#d8d1c3;--accent:#1f5b4f;--accent-soft:#e4f0ed;--radius:14px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:radial-gradient(circle at top right,#efe8dc,var(--bg));color:var(--ink);font-family:Avenir Next,Avenir,Gill Sans,Trebuchet MS,sans-serif}a{color:inherit;text-decoration:none}main{min-height:72vh}.shell{width:min(1120px,calc(100% - 2rem));margin-inline:auto}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--surface) 92%,transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-inner{display:grid;grid-template-columns:auto 1fr auto;grid-gap:1rem;gap:1rem;align-items:center;padding:.75rem 0}.brand{font-weight:800;letter-spacing:.02em}.brand span{display:block;font-size:.72rem;color:var(--muted);font-weight:500}.nav-list{display:flex;justify-content:center;gap:1rem;list-style:none;padding:0;margin:0}.nav-list a{padding:.55rem .7rem;border-radius:999px}.nav-list a:hover{background:var(--accent-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.7rem 1.1rem;font-weight:700;border:1px solid transparent}.btn-solid{background:var(--accent);color:#fff}.btn-ghost{border-color:var(--line);background:#fff}.hero{padding:4rem 0 2rem}.hero-actions{margin-top:1.2rem;display:flex;gap:.8rem;flex-wrap:wrap}.section{padding:2rem 0 3rem}.section-title h1{font-size:clamp(2rem,4vw,3rem);margin:0;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Georgia,serif}.eyebrow{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.lead{color:var(--muted);line-height:1.75;max-width:70ch}.cards,.process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1rem;gap:1rem}.card,.contact-grid section,.cta-panel,.process-item,.quote-form{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:1rem}.featured-grid,.gallery-grid{display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.featured-item,.gallery-item,.lightbox-image-wrap{position:relative;min-height:240px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}.gallery-item{cursor:pointer;padding:0}.featured-item img,.gallery-item img,.lightbox-image-wrap img{object-fit:cover}.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.45rem .8rem;font-weight:700;cursor:pointer}.chip.active{background:var(--accent-soft);border-color:var(--accent)}.lightbox{position:fixed;inset:0;background:rgba(12,12,12,.92);z-index:40;display:grid;grid-template-columns:auto minmax(280px,80vw) auto;grid-gap:1rem;gap:1rem;align-items:center;justify-content:center;padding:1rem}.lightbox-close,.lightbox-nav{border:none;border-radius:999px;padding:.6rem .9rem;font-weight:700;cursor:pointer}.lightbox-close{position:absolute;top:1rem;right:1rem}.lightbox-image-wrap{min-height:min(70vh,800px)}.testimonials{display:grid;grid-gap:1rem;gap:1rem}blockquote{margin:0;padding:1rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface)}blockquote p{margin:0;line-height:1.6}blockquote footer{margin-top:.7rem;color:var(--muted);font-weight:700}.stack-top{margin-top:1rem}.logo-strip{margin:1rem 0 2rem}.faq details{border-bottom:1px solid var(--line);padding:.8rem 0}.faq summary{cursor:pointer;font-weight:700}.contact-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:1.2fr 1fr}iframe{width:100%;min-height:300px;border:0;border-radius:var(--radius)}.quote-form{display:grid;grid-gap:.5rem;gap:.5rem}.quote-form input,.quote-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:.6rem;font:inherit;background:#fff}.consent{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem}.form-status{min-height:1.5rem;color:var(--muted)}.site-footer{border-top:1px solid var(--line);background:#ece4d7;margin-top:3rem}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1rem;gap:1rem;padding:2rem 0}.footer-grid h2{margin:0 0 .5rem;font-size:1rem}.footer-grid p{margin:.35rem 0;color:var(--muted)}@media (max-width:900px){.header-inner{grid-template-columns:1fr;gap:.7rem}.nav-list{justify-content:flex-start;overflow:auto}.contact-grid,.lightbox{grid-template-columns:1fr}}