:root{--color-ink: #392c24;--color-surface: #f2ede5;--color-surface-raised: #e5d8c8;--color-section-alt: #eae1d5;--color-accent: #8b4f2e;--color-accent-active: #663a22;--color-accent-soft: #c98e5e;--color-muted: #6d5b4c;--color-line: #cdbba6;--color-footer: #2d2119;--color-inverse: #f8f1e8;--color-hero-text: #fffaf5;--hero-overlay-heavy: rgb(45 33 25 / 82%);--hero-overlay-medium: rgb(45 33 25 / 65%);--hero-overlay-light: rgb(45 33 25 / 30%);--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--radius: .25rem;--content-width: 68rem;--wide-content-width: 90rem;--page-gutter: clamp(1.5rem, 5vw, 6rem);color:var(--color-ink);background:var(--color-surface);font-family:Cormorant Garamond,Georgia,Cambria,Times New Roman,serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:20rem;margin:0;background-color:var(--color-surface);background-image:radial-gradient(circle at 90% 0%,rgb(204 142 94 / 15%),transparent 28rem)}a{color:var(--color-accent);text-underline-offset:.18em}a:focus-visible{outline:.2rem solid var(--color-accent-active);outline-offset:.2rem}.skip-link{position:fixed;z-index:10;top:.5rem;left:.5rem;transform:translateY(-200%);padding:var(--space-3);color:var(--color-inverse);background:var(--color-accent-active)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--color-line);background:var(--color-surface)}.site-nav,.footer-nav,.inline-links{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center}.site-nav,.page-shell,.site-footer{width:min(100% - 2rem,var(--content-width));margin-inline:auto}.site-nav{min-height:4.5rem;font-size:1.18rem}.site-nav a{text-decoration:none}.nav-links{display:flex;gap:var(--space-4);align-items:center}.nav-toggle{display:none}.brand{margin-right:auto;color:var(--color-ink);font-family:Cormorant Garamond,Georgia,Cambria,Times New Roman,serif;font-size:1.18rem;font-weight:500;letter-spacing:.12em;text-decoration:none}.brand:hover{color:var(--color-accent)}.header-contact{width:100%;padding-block:var(--space-3);color:var(--color-muted);background:var(--color-section-alt);border-bottom:1px solid var(--color-line)}.header-contact-content{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-3);width:min(100% - 2rem,var(--content-width));margin:0 auto}.header-contact .nav-announcement{margin:0;color:var(--color-accent-active);font-size:.96rem;font-weight:500;letter-spacing:.09em;line-height:1.2}.header-contact address{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-4);font-size:1.08rem;font-style:normal;letter-spacing:.03em}.header-phone-mobile{display:none}.page-shell{padding-block:clamp(4rem,10vw,8rem) clamp(5rem,12vw,10rem)}.page-shell article{max-width:42rem}.home-page{width:100%;padding:0}.home-page article{max-width:none}.home-hero{display:grid;min-height:clamp(22rem,52vw,35rem);place-items:end start;padding:clamp(2rem,8vw,7rem);color:var(--color-hero-text);background-image:linear-gradient(90deg,var(--hero-overlay-heavy) 0%,var(--hero-overlay-medium) 48%,var(--hero-overlay-light) 100%),url(/fall-porch-entry.avif);background-position:center;background-size:cover}.home-hero-content{max-width:32rem}.home-hero h1{max-width:none;font-size:clamp(1.55rem,5.4vw,5rem);white-space:nowrap}.home-hero-service{margin:var(--space-4) 0 0 .14em;font-size:clamp(.95rem,2.2vw,1.1rem);letter-spacing:.06em}.home-page .service-introduction,.home-page .who-we-are{width:100%;margin:0;padding:clamp(5rem,11vw,9rem) 1rem}.home-page .service-introduction{background:var(--color-surface)}.home-page .who-we-are{background:var(--color-section-alt)}.home-section-inner{display:grid;gap:clamp(2.5rem,8vw,8rem);width:min(100%,var(--content-width));margin:0 auto;align-items:center}.service-introduction-inner{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.service-introduction-copy{max-width:34rem}.service-introduction h2{margin:0;font-size:clamp(2.2rem,5vw,4rem);font-weight:400;letter-spacing:.025em;line-height:1}.service-introduction p{margin:var(--space-6) 0 0}.service-introduction img{display:block;width:100%;aspect-ratio:3 / 2;object-fit:cover}.who-we-are-inner{grid-template-columns:minmax(0,.9fr) minmax(0,1fr)}.team-portrait{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;object-position:center}.team-copy{max-width:38rem}.team-copy h2{margin-top:0;font-size:clamp(2.2rem,5vw,4rem);font-weight:400;letter-spacing:.025em;line-height:1}.team-copy p{margin-bottom:0}.packages-page{width:min(calc(100% - var(--page-gutter) - var(--page-gutter)),var(--wide-content-width));padding-top:clamp(2rem,5vw,4rem)}.empty-page{min-height:clamp(20rem,45vw,34rem)}.gallery-page{width:min(calc(100% - var(--page-gutter) - var(--page-gutter)),var(--wide-content-width))}.gallery-page h1{margin-bottom:clamp(2rem,5vw,4rem)}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,1.75rem);margin:0;padding:0;list-style:none}.gallery-grid li{aspect-ratio:1 / 1;overflow:hidden}.gallery-grid img{display:block;width:100%;height:100%;object-fit:cover}.inquiry-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,.7fr);gap:clamp(3rem,9vw,9rem);align-items:center}.inquiry-layout>div{width:min(100%,38rem)}.inquiry-note{color:var(--color-muted)}.inquiry-note p{margin:0;font-size:clamp(1.25rem,2.5vw,1.65rem);line-height:1.45}.inquiry-form{display:grid;gap:var(--space-6);margin-top:var(--space-8)}.inquiry-field{display:grid;gap:var(--space-2)}.inquiry-form label{font-size:1.1rem;font-weight:500;letter-spacing:.02em}.inquiry-form input,.inquiry-form textarea{width:100%;border:1px solid var(--color-muted);border-radius:0;padding:.75rem;color:var(--color-ink);background:var(--color-inverse);font:inherit;font-size:1.1rem}.inquiry-form textarea{resize:vertical}.inquiry-form input:focus,.inquiry-form textarea:focus{outline:.2rem solid var(--color-accent-active);outline-offset:.15rem}.inquiry-form button{justify-self:start;border:0;border-radius:0;padding:.8rem 1.35rem;color:var(--color-inverse);background:var(--color-accent-active);font:inherit;font-weight:500;letter-spacing:.04em;cursor:pointer}.inquiry-form button:disabled{cursor:wait;opacity:.7}.form-status{margin:0}.form-status.is-hidden{display:none}.package-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.package-list-item+.package-list-item{margin-top:clamp(1.5rem,3vw,2.5rem);border-top:1px solid var(--color-line);padding-top:clamp(1.5rem,3vw,2.5rem)}.packages-page .package-tier{display:grid;grid-template-columns:minmax(0,3fr) minmax(18rem,2fr);gap:clamp(2rem,5vw,5rem);width:100%;max-width:none;align-items:center;padding-top:clamp(1.5rem,4vw,3rem)}.package-tier-copy{padding-left:clamp(0rem,2vw,1.5rem)}.package-tier h2{margin:0;font-size:clamp(2rem,4.5vw,3.5rem);font-weight:400;letter-spacing:.02em}.package-tier-price{margin:var(--space-3) 0 0;color:var(--color-accent-active);font-size:clamp(1.05rem,2.5vw,1.3rem);font-weight:500;letter-spacing:.03em}.package-tier-description{margin:var(--space-4) 0 0;font-size:1.05rem}.package-tier-image{display:block;width:100%;height:clamp(20rem,26vw,28rem);object-fit:cover}.package-cta{display:flex;justify-content:center;margin-top:clamp(3rem,8vw,6rem)}.package-cta a{display:inline-block;padding:.8rem 1.35rem;color:var(--color-inverse);background:var(--color-accent-active);font-weight:500;letter-spacing:.04em;text-decoration:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-shell section+section{margin-top:var(--space-8)}.home-page section+section{margin-top:0}.eyebrow{margin:0 0 var(--space-3);color:var(--color-muted);font-family:Cormorant Garamond,Georgia,Cambria,Times New Roman,serif;font-size:.78rem;font-weight:500;letter-spacing:.13em}h1{margin:0;font-size:clamp(2.6rem,8vw,5rem);font-weight:400;letter-spacing:.035em;line-height:.98;text-wrap:balance}h2{margin-bottom:var(--space-2);font-size:clamp(1.35rem,3vw,1.8rem);font-weight:500;letter-spacing:.02em}p{max-width:65ch;font-size:clamp(1.05rem,2.5vw,1.2rem);line-height:1.7}.inline-links{margin-top:var(--space-6)}.site-footer{width:100%;padding:var(--space-8) 1rem;color:var(--color-inverse);background:var(--color-footer)}.footer-content{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-8);width:min(100%,var(--content-width));margin:0 auto;align-items:start}.site-footer a{color:var(--color-inverse)}.site-footer p{margin-bottom:0;font-size:1rem}.footer-copyright{grid-column:1 / -1;margin:0;padding-top:var(--space-6);border-top:1px solid rgb(248 241 232 / 20%)}.footer-contact{margin:0}.site-footer .footer-contact-heading{margin:0 0 var(--space-2);font-size:.8rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.footer-contact address{display:grid;gap:.2rem;font-size:1rem;font-style:normal}.footer-phone-mobile{display:none}@media(hover:hover){a{transition:color .18s ease,text-decoration-color .18s ease}a:hover{color:var(--color-accent-active)}.package-cta a:hover{color:var(--color-inverse);background:var(--color-accent)}.inquiry-form button:not(:disabled):hover{background:var(--color-accent)}.site-footer a:hover{color:var(--color-accent-soft)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.nav-toggle-icon span{transition:none}}@media(max-width:42rem){.header-contact{display:none}.site-nav{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:4.5rem;align-items:center}.nav-toggle{display:grid;width:2.75rem;height:2.75rem;margin-left:auto;border:1px solid var(--color-line);padding:0;place-items:center;color:var(--color-ink);background:transparent;cursor:pointer}.nav-toggle:focus-visible{outline:.2rem solid var(--color-accent-active);outline-offset:.15rem}.nav-toggle-icon{display:grid;gap:.3rem;width:1.25rem}.nav-toggle-icon span{display:block;width:100%;height:1px;background:currentColor;transition:transform .18s ease,opacity .18s ease}.nav-toggle.is-open .nav-toggle-icon span:first-child{transform:translateY(.4rem) rotate(45deg)}.nav-toggle.is-open .nav-toggle-icon span:nth-child(2){opacity:0}.nav-toggle.is-open .nav-toggle-icon span:last-child{transform:translateY(-.4rem) rotate(-45deg)}.nav-links{display:none;grid-column:1 / -1;width:100%;border-top:1px solid var(--color-line);padding:var(--space-3) 0 var(--space-4);flex-direction:column;gap:0;align-items:stretch}.nav-links.is-open{display:flex}.nav-links a{border-bottom:1px solid var(--color-line);padding:.8rem 0}.nav-links a:last-child{border-bottom:0}.home-hero{align-items:end;background-image:linear-gradient(0deg,var(--hero-overlay-heavy) 0%,var(--hero-overlay-light) 100%),url(/fall-porch-entry.avif)}.service-introduction-inner,.who-we-are-inner{grid-template-columns:1fr;gap:var(--space-8)}.team-portrait{aspect-ratio:16 / 9}.gallery-grid{grid-template-columns:1fr}.inquiry-layout{grid-template-columns:1fr;gap:var(--space-8)}.packages-page .package-tier{grid-template-columns:1fr;gap:var(--space-6)}.package-tier-copy{padding-left:0}.package-tier-image{height:clamp(18rem,75vw,24rem)}.header-contact-content{align-items:flex-start;flex-direction:column}.header-contact address{justify-content:flex-start}.header-phone{display:none}.header-phone-mobile{display:inline}.footer-content{grid-template-columns:1fr;gap:var(--space-6)}.footer-phone{display:none}.footer-phone-mobile{display:inline}}
