:root{--cream:#f4efe6;--cream-soft:#faf7f0;--sage:#7f8a69;--sage-deep:#6e795c;--sage-whisper:#e7e8dd;--ink:#2e2c25;--ink-soft:#5b584c;--gold:#b69a5c;--gold-soft:#cbb684;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Jost", system-ui, sans-serif;--ease-out:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;font-weight:300;line-height:1.6}img{object-fit:cover;width:100%;height:100%;display:block}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15}h2{letter-spacing:.14em;text-transform:uppercase;font-size:clamp(2rem,4vw,3rem)}a{color:inherit}.eyebrow{letter-spacing:.34em;text-transform:uppercase;color:var(--gold);font-size:.72rem;font-weight:400}.eyebrow--light{color:var(--gold-soft)}.ornament{color:var(--gold);align-items:center;gap:.9rem;margin:1.1rem 0;display:flex}.ornament span{opacity:.7;background:currentColor;flex:0 0 52px;height:1px}.ornament em{font-size:.8rem;font-style:normal;line-height:1;transform:translateY(-1px)}.ornament--light{color:var(--gold-soft)}.section-head .ornament,.section-head--light .ornament{justify-content:center}.section-head{text-align:center;margin-bottom:clamp(2.5rem,5vw,4rem)}.section-head--light{color:var(--cream-soft)}.btn{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:background .35s var(--ease-out), color .35s var(--ease-out), border-color .35s var(--ease-out);border:1px solid #0000;padding:.95rem 1.9rem;font-size:.78rem;font-weight:400;text-decoration:none;display:inline-block}.btn-solid{background:var(--sage);color:var(--cream-soft)}.btn-solid:hover{background:var(--sage-deep)}.btn-outline{border-color:var(--gold);color:var(--ink);background:0 0}.btn-outline:hover{background:var(--gold);color:var(--cream-soft)}.btn-wide{width:100%}.site-header{z-index:50;background:color-mix(in srgb, var(--cream-soft) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid color-mix(in srgb, var(--gold) 30%, transparent);align-items:center;gap:2rem;padding:.9rem clamp(1.25rem,4vw,3rem);display:flex;position:sticky;top:0}.brand{align-items:center;gap:.7rem;text-decoration:none;display:flex}.brand-mark{width:40px;height:40px;stroke:var(--gold);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.brand-text{flex-direction:column;line-height:1.2;display:flex}.brand-name{font-family:var(--serif);letter-spacing:.12em;text-transform:uppercase;font-size:1.15rem;font-weight:600}.brand-sub{letter-spacing:.4em;text-transform:uppercase;color:var(--gold);font-size:.56rem;font-weight:400}.site-nav{gap:clamp(1rem,2.5vw,2.2rem);margin-left:auto;display:flex}.site-nav a{letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem;font-weight:400;text-decoration:none;transition:color .3s}.site-nav a:hover{color:var(--gold)}.nav-toggle,.mobile-menu[hidden]{display:none}.mobile-menu{z-index:49;background:var(--cream-soft);flex-direction:column;justify-content:center;align-items:center;gap:1.8rem;display:flex;position:fixed;inset:0}.mobile-menu a{font-family:var(--serif);letter-spacing:.18em;text-transform:uppercase;font-size:1.5rem;text-decoration:none}.mobile-menu .btn{font-family:var(--sans);font-size:.8rem}.hero{background:var(--cream-soft);grid-template-columns:minmax(420px,46%) 1fr;min-height:min(88vh,820px);display:grid}.hero-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(3rem,6vw,6rem);display:flex}.hero-copy .ornament{align-self:stretch;max-width:260px}.hero h1{letter-spacing:.08em;text-transform:uppercase;font-size:clamp(3rem,6vw,4.6rem);font-weight:500}.hero-tagline{font-family:var(--sans);letter-spacing:.52em;text-transform:uppercase;color:var(--ink-soft);margin-top:.4rem;font-size:clamp(.85rem,1.4vw,1.05rem)}.hero-lede{font-family:var(--serif);color:var(--ink-soft);max-width:22ch;font-size:clamp(1.35rem,2.2vw,1.7rem);font-style:italic}.hero-sub{color:var(--ink-soft);max-width:46ch;margin-top:.9rem;font-size:.95rem;line-height:1.75}.hero-tags{letter-spacing:.26em;text-transform:uppercase;color:var(--gold);flex-wrap:wrap;gap:.5rem 1.4rem;margin:1.6rem 0 2.2rem;font-size:.7rem;font-weight:400;list-style:none;display:flex}.hero-tags li+li:before{content:"·";color:var(--ink-soft);margin-right:1.4rem}.hero-actions{flex-wrap:wrap;gap:1rem;display:flex}.hero-media{overflow:hidden}.hero-media img{transform-origin:50%}.services{background:var(--sage);color:var(--cream-soft);padding:clamp(4rem,8vw,7rem) clamp(1.5rem,5vw,4rem)}.services-grid{grid-template-columns:repeat(4,1fr);gap:0;max-width:1240px;margin:0 auto;display:grid}.service{text-align:center;border-left:1px solid color-mix(in srgb, var(--gold-soft) 35%, transparent);padding:.5rem clamp(1.2rem,2.5vw,2.4rem)}.service:first-child{border-left:none}.service svg{width:52px;height:52px;stroke:var(--gold-soft);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;margin:0 auto 1.4rem}.service h3{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;margin-bottom:.9rem;font-size:.82rem;font-weight:500}.service p{opacity:.85;font-size:.88rem;line-height:1.75}.about{grid-template-columns:minmax(360px,44%) 1fr;align-items:center;gap:clamp(2.5rem,6vw,5.5rem);max-width:1320px;margin:0 auto;padding:clamp(4rem,8vw,7rem) clamp(1.5rem,5vw,4rem);display:grid}.about-media{aspect-ratio:4/3.4;overflow:hidden}.about-copy h2{margin-top:.5rem}.about-copy p{max-width:52ch;color:var(--ink-soft);margin-bottom:1.1rem}.about-copy .btn{margin-top:1rem}.badges{text-align:center;grid-template-columns:repeat(4,1fr);gap:clamp(1.5rem,3vw,2.5rem);max-width:1320px;margin:0 auto;padding:0 clamp(1.5rem,5vw,4rem) clamp(4rem,8vw,6.5rem);display:grid}.badge svg{width:44px;height:44px;stroke:var(--gold);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;margin:0 auto 1rem}.badge h3{font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;margin-bottom:.5rem;font-size:.76rem;font-weight:500}.badge p{color:var(--ink-soft);font-size:.85rem}.pricing{max-width:1180px;margin:0 auto;padding:clamp(4rem,8vw,7rem) clamp(1.5rem,5vw,4rem)}.pricing-lede{font-family:var(--serif);color:var(--ink-soft);font-size:1.15rem;font-style:italic}.calc{background:var(--cream-soft);border:1px solid color-mix(in srgb, var(--gold) 35%, transparent);grid-template-columns:1.5fr 1fr;gap:clamp(1.5rem,3vw,3rem);padding:clamp(1.8rem,3.5vw,3rem);display:grid}.calc-group{border:none;margin-bottom:1.8rem}.calc-group:last-child{margin-bottom:0}.calc-group legend{letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.8rem;font-size:.68rem;font-weight:400}.calc-pills{flex-wrap:wrap;gap:.6rem;display:flex}.pill{font-family:var(--sans);color:var(--ink);background:var(--cream);border:1px solid color-mix(in srgb, var(--sage) 35%, transparent);cursor:pointer;-webkit-user-select:none;user-select:none;padding:.55rem 1.1rem;font-size:.82rem;font-weight:300;transition:background .3s,color .3s,border-color .3s}.pill:hover{border-color:var(--gold)}.pill.is-active{background:var(--sage);color:var(--cream-soft);border-color:var(--sage)}.pill-check{align-items:center;display:inline-flex}.pill-check input{opacity:0;pointer-events:none;position:absolute}.calc-counts{gap:clamp(1.5rem,4vw,3.5rem);display:flex}.stepper{align-items:center;gap:1rem;display:inline-flex}.stepper output{font-family:var(--serif);text-align:center;min-width:1.6ch;font-size:1.7rem;font-weight:500}.step-btn{width:38px;height:38px;color:var(--ink);background:var(--cream);border:1px solid color-mix(in srgb, var(--sage) 35%, transparent);cursor:pointer;font-size:1.1rem;line-height:1;transition:background .3s,color .3s,border-color .3s}.step-btn:hover{background:var(--gold);border-color:var(--gold);color:var(--cream-soft)}.calc-summary{background:var(--sage);color:var(--cream-soft);flex-direction:column;align-self:start;padding:clamp(1.6rem,3vw,2.4rem);display:flex}.calc-summary-label{letter-spacing:.28em;text-transform:uppercase;color:var(--gold-soft);font-size:.68rem}.calc-price{font-family:var(--serif);margin:.4rem 0 1.2rem;font-size:clamp(2.2rem,4vw,2.9rem);font-weight:500}.calc-breakdown{margin-bottom:1.4rem;list-style:none}.calc-breakdown li{border-bottom:1px solid color-mix(in srgb, var(--gold-soft) 30%, transparent);justify-content:space-between;gap:1rem;padding:.45rem 0;font-size:.85rem;display:flex}.calc-breakdown li span:last-child{white-space:nowrap}.calc-note{opacity:.85;margin-bottom:1.4rem;font-size:.78rem;line-height:1.6}.calc-summary .btn-solid{background:var(--cream-soft);color:var(--ink)}.calc-summary .btn-solid:hover{background:var(--gold);color:var(--cream-soft)}.areas{background:var(--sage-deep);color:var(--cream-soft);padding:clamp(4rem,8vw,7rem) clamp(1.5rem,5vw,4rem)}.areas-inner{max-width:1100px;margin:0 auto}.areas-lede{max-width:52ch;font-family:var(--serif);opacity:.9;margin:0 auto;font-size:1.15rem;font-style:italic}.areas-columns{grid-template-columns:repeat(3,1fr);gap:clamp(2rem,4vw,4rem);margin-top:clamp(2.5rem,5vw,4rem);display:grid}.area-group h3{font-family:var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--gold-soft);border-bottom:1px solid color-mix(in srgb, var(--gold-soft) 40%, transparent);margin-bottom:1rem;padding-bottom:.8rem;font-size:.74rem;font-weight:500}.area-group ul{columns:2;column-gap:1.5rem;list-style:none}.area-group li{break-inside:avoid;padding:.28rem 0;font-size:.92rem}.area-group li:before{content:"◦";color:var(--gold-soft);margin-right:.55rem}.areas-note{text-align:center;opacity:.9;margin-top:clamp(2.5rem,5vw,3.5rem);font-size:.95rem}.areas-note a{color:var(--gold-soft)}.gallery{max-width:1320px;margin:0 auto;padding:clamp(4rem,8vw,7rem) clamp(1.5rem,5vw,4rem)}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:clamp(.8rem,1.5vw,1.4rem);display:grid}.gallery-grid figure{aspect-ratio:4/3;overflow:hidden}.gallery-grid img{transition:transform .8s var(--ease-out)}.gallery-grid figure:hover img{transform:scale(1.045)}.testimonial{background:var(--sage);color:var(--cream-soft);text-align:center;padding:clamp(4rem,8vw,6.5rem) clamp(1.5rem,5vw,4rem)}.testimonial-inner{max-width:640px;margin:0 auto}.quote-mark{font-family:var(--serif);color:var(--gold-soft);font-size:4.5rem;line-height:.5;display:block}.testimonial blockquote p{font-family:var(--serif);margin-top:1.5rem;font-size:clamp(1.4rem,2.5vw,1.9rem);font-style:italic;line-height:1.5}.stars{color:var(--gold-soft);letter-spacing:.35em;margin:1.4rem 0 .8rem}.testimonial cite{letter-spacing:.28em;text-transform:uppercase;opacity:.85;font-size:.74rem;font-style:normal}.contact{grid-template-columns:1fr 1.15fr;gap:clamp(3rem,6vw,6rem);max-width:1180px;margin:0 auto;padding:clamp(4rem,8vw,7rem) clamp(1.5rem,5vw,4rem);display:grid}.contact-list{margin-top:1.5rem;list-style:none}.contact-list li{align-items:center;gap:1rem;padding:.7rem 0;display:flex}.contact-list svg{width:22px;height:22px;stroke:var(--gold);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.contact-list a{color:var(--ink-soft);text-decoration:none;transition:color .3s}.contact-list a:hover{color:var(--gold)}.quote-form{background:var(--cream-soft);border:1px solid color-mix(in srgb, var(--gold) 35%, transparent);padding:clamp(1.8rem,3.5vw,3rem)}.quote-form h3{letter-spacing:.14em;text-transform:uppercase;text-align:center;margin-bottom:1.6rem;font-size:1.5rem}.form-row{grid-template-columns:1fr 1fr;gap:1.1rem;display:grid}.quote-form label{letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:1.1rem;font-size:.68rem;font-weight:400;display:block}.quote-form input,.quote-form select,.quote-form textarea{width:100%;font-family:var(--sans);color:var(--ink);background:var(--cream);border:1px solid color-mix(in srgb, var(--sage) 35%, transparent);resize:vertical;outline:none;margin-top:.45rem;padding:.7rem .85rem;font-size:.95rem;font-weight:300;transition:border-color .3s;display:block}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--gold)}.hp-field{opacity:0;height:0;position:absolute;left:-9999px}.form-status{text-align:center;min-height:1.4em;margin-top:1rem;font-size:.9rem}.form-status.ok{color:var(--sage-deep)}.form-status.err{color:#a05445}.site-footer{background:var(--sage-deep);color:var(--cream-soft);grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;padding:clamp(2.5rem,5vw,3.5rem) clamp(1.5rem,5vw,4rem);display:grid}.brand--footer .brand-mark{stroke:var(--gold-soft)}.brand--footer .brand-sub{color:var(--gold-soft)}.footer-tagline{font-family:var(--serif);text-align:center;font-size:1.15rem;font-style:italic;line-height:1.5}.footer-legal{letter-spacing:.08em;text-align:right;opacity:.75;font-size:.72rem;line-height:1.7}.footer-credit{margin-bottom:.4rem;display:inline-block}.blog-main{max-width:1180px;margin:0 auto;padding:clamp(3rem,6vw,5rem) clamp(1.5rem,5vw,4rem)}.blog-grid{grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,2.5vw,2.2rem);display:grid}.blog-card{background:var(--cream-soft);border:1px solid color-mix(in srgb, var(--gold) 30%, transparent);flex-direction:column;text-decoration:none;transition:border-color .35s;display:flex}.blog-card:hover{border-color:var(--gold)}.blog-card figure{aspect-ratio:16/10;overflow:hidden}.blog-card img{transition:transform .8s var(--ease-out)}.blog-card:hover img{transform:scale(1.045)}.blog-card-body{flex-direction:column;gap:.6rem;padding:1.4rem 1.5rem 1.6rem;display:flex}.blog-card-tag{letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-size:.62rem;font-weight:400}.blog-card h2,.blog-card h3{letter-spacing:.02em;text-transform:none;font-size:1.25rem;line-height:1.3}.blog-card p{color:var(--ink-soft);font-size:.88rem}.blog-card .read-more{letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-top:auto;padding-top:.6rem;font-size:.7rem}.post{max-width:720px;margin:0 auto;padding:clamp(3rem,6vw,5rem) 1.5rem}.post-hero{aspect-ratio:16/8;margin-bottom:2.2rem;overflow:hidden}.post header h1{letter-spacing:.02em;margin-bottom:.8rem;font-size:clamp(1.9rem,4vw,2.7rem);line-height:1.2}.post-meta{letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:2rem;font-size:.7rem}.post h2{letter-spacing:.04em;text-transform:none;margin:2.2rem 0 .8rem;font-size:1.45rem}.post p,.post li{color:var(--ink-soft);margin-bottom:1rem;font-size:1rem;line-height:1.75}.post ul,.post ol{margin-bottom:1rem;padding-left:1.3rem}.post li{margin-bottom:.35rem}.post a{color:var(--sage-deep);-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}.post table{border-collapse:collapse;width:100%;margin:1rem 0 1.5rem;font-size:.92rem}.post th,.post td{text-align:left;border-bottom:1px solid color-mix(in srgb, var(--sage) 30%, transparent);color:var(--ink-soft);padding:.6rem .8rem}.post th{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);font-size:.72rem;font-weight:500}.post-cta{background:var(--sage);color:var(--cream-soft);text-align:center;margin-top:2.5rem;padding:2.2rem 1.8rem}.post-cta p{color:var(--cream-soft);font-family:var(--serif);margin-bottom:1.2rem;font-size:1.2rem;font-style:italic}.post-cta .btn-solid{background:var(--cream-soft);color:var(--ink)}.post-cta .btn-solid:hover{background:var(--gold);color:var(--cream-soft)}@media (width<=960px){.site-nav,.header-cta{display:none}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:6px;margin-left:auto;padding:8px 4px;display:flex}.nav-toggle span{background:var(--ink);width:26px;height:1.5px;transition:transform .3s,opacity .3s}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px)rotate(45deg)}.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px)rotate(-45deg)}.hero{grid-template-columns:1fr;min-height:0}.hero-media{aspect-ratio:16/10;order:-1}.hero-copy{text-align:center;align-items:center}.hero-copy .ornament,.hero-tags{justify-content:center}.services-grid{grid-template-columns:1fr 1fr;gap:2.5rem 0}.service:nth-child(3){border-left:none}.about{grid-template-columns:1fr}.about-media{max-width:560px}.badges{grid-template-columns:1fr 1fr}.calc{grid-template-columns:1fr}.blog-grid{grid-template-columns:1fr 1fr}.areas-columns{grid-template-columns:1fr;max-width:480px;margin-inline:auto}.gallery-grid{grid-template-columns:1fr 1fr}.contact{grid-template-columns:1fr}.site-footer{text-align:center;grid-template-columns:1fr;justify-items:center}.footer-legal{text-align:center}}@media (width<=560px){.services-grid{grid-template-columns:1fr}.service{border-left:none}.badges,.gallery-grid,.blog-grid{grid-template-columns:1fr}.calc-counts{flex-wrap:wrap}.form-row{grid-template-columns:1fr}.area-group ul{columns:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-hero],[data-reveal],[data-hero-img]{opacity:1!important;transform:none!important}}
