:root{--forest:#173d36;--forest-dark:#0d2924;--cream:#f4f0e6;--sand:#dcc18d;--ink:#182421;--muted:#64716d;--line:rgba(23,61,54,.18);--white:#fff;--serif:'Prata',Georgia,serif;--sans:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.6}img{display:block;max-width:100%}a{color:inherit}.skip-link{position:absolute;left:-9999px;top:1rem;background:#fff;padding:.7rem 1rem;z-index:100}.skip-link:focus{left:1rem}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,4rem);position:absolute;inset:0 0 auto;z-index:10;color:#fff;border-bottom:1px solid rgba(255,255,255,.25)}.brand{display:flex;align-items:center;gap:.72rem;text-decoration:none}.brand-mark{width:48px;height:48px;flex:0 0 48px;object-fit:contain}.brand strong,.brand small{display:block}.brand strong{font:400 1.1rem/1.1 var(--serif)}.brand small{font-size:.64rem;text-transform:uppercase;letter-spacing:.13em;margin-top:.25rem;opacity:.78}.site-header nav{display:flex;align-items:center;gap:1.7rem}.site-header nav a{text-decoration:none;font-size:.82rem;font-weight:600}.site-header nav a:not(.nav-cta):hover{text-decoration:underline}.nav-cta{padding:.7rem 1rem;border:1px solid rgba(255,255,255,.55);border-radius:99px}.nav-cta:hover{background:#fff;color:var(--forest)}.menu-button{display:none;background:none;border:1px solid rgba(255,255,255,.55);border-radius:99px;color:#fff;padding:.55rem .85rem}.hero{min-height:760px;height:100svh;position:relative;color:#fff;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,25,22,.75) 0%,rgba(7,27,24,.35) 48%,rgba(7,27,24,.08) 80%),linear-gradient(0deg,rgba(5,22,20,.38),transparent 48%)}.hero-content{position:absolute;left:clamp(1.25rem,8vw,8rem);top:50%;transform:translateY(-42%);max-width:800px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.hero h1{font:400 clamp(3.4rem,8vw,7.8rem)/.98 var(--serif);letter-spacing:-.04em;margin:.3rem 0 1.35rem;max-width:900px}.hero-copy{font-size:clamp(1rem,1.5vw,1.25rem);max-width:620px;color:rgba(255,255,255,.88)}.hero-actions{display:flex;align-items:center;gap:1.6rem;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:99px;padding:1rem 1.45rem;text-decoration:none;font-size:.86rem;font-weight:700}.button-light{background:#fff;color:var(--forest)}.button-light:hover{background:var(--sand)}.text-link{text-underline-offset:.35rem;font-size:.9rem}.hero-note{position:absolute;right:4rem;bottom:2.6rem;margin:0;text-transform:uppercase;letter-spacing:.18em;font-size:.67rem;writing-mode:vertical-rl}.section{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,8vw,8rem)}.section-number{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin:0}.intro{display:grid;grid-template-columns:minmax(160px,1fr) 3fr;gap:4rem}.intro h2,.section-heading h2,.how h2,.cta h2{font:400 clamp(2.4rem,5vw,5.1rem)/1.08 var(--serif);letter-spacing:-.035em;margin:.15rem 0 1.7rem}.lead{font-size:clamp(1.1rem,1.7vw,1.4rem);max-width:850px;color:#3f4e49}.facts{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:2.3rem}.facts span{border:1px solid var(--line);border-radius:99px;padding:.55rem .9rem;font-size:.72rem;font-weight:600}.services{background:#ebe6da}.section-heading{display:grid;grid-template-columns:1fr 3fr;gap:4rem;margin-bottom:3.2rem}.service-card{display:grid;grid-template-columns:1.25fr 1fr;min-height:560px;background:var(--forest);color:#fff;margin-top:1.25rem;overflow:hidden}.service-card>img{width:100%;height:100%;object-fit:cover}.service-copy{padding:clamp(2rem,5vw,5.2rem);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.service-index{font-size:.72rem;letter-spacing:.16em;opacity:.6}.service-copy h3{font:400 clamp(2.3rem,4vw,4rem)/1.1 var(--serif);margin:1.1rem 0}.service-copy p{color:rgba(255,255,255,.76);max-width:430px}.service-copy strong{font-size:.85rem;margin-top:1rem;color:var(--sand)}.service-copy a{margin-top:2rem;text-underline-offset:.35rem;font-size:.86rem}.service-gazebo{grid-template-columns:1fr 1.25fr;background:#916947}.quote-band{padding:8rem 1.25rem;background:var(--forest-dark);color:#fff;text-align:center}.quote-band p{font:400 clamp(2rem,4.5vw,4.7rem)/1.2 var(--serif);max-width:1000px;margin:0 auto 2rem}.quote-band span{font-size:.67rem;text-transform:uppercase;letter-spacing:.18em;color:var(--sand)}.gallery{background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:110px;gap:1rem}.gallery-item{padding:0;border:0;overflow:hidden;background:#d7d3c8;cursor:zoom-in}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-item:hover img{transform:scale(1.025)}.gallery-item-1{grid-column:1/8;grid-row:1/5}.gallery-item-2{grid-column:8/13;grid-row:1/4}.gallery-item-3{grid-column:8/13;grid-row:4/7}.gallery-item-4{grid-column:1/6;grid-row:5/8}.gallery-item-5{grid-column:6/9;grid-row:5/8}.gallery-item-6{grid-column:9/13;grid-row:7/9}.how{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(3rem,8vw,8rem);background:#e2ddd1}.how-image{min-height:720px}.how-image img{width:100%;height:100%;object-fit:cover}.how-copy{align-self:center}.how-copy h2{font-size:clamp(2.4rem,4vw,4.3rem);margin-top:1rem}.how ol{list-style:none;padding:0;margin:2.5rem 0}.how li{display:flex;gap:1rem;padding:1.2rem 0;border-top:1px solid var(--line)}.how li>span{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:.7rem}.how li strong{font-family:var(--serif);font-weight:400;font-size:1.2rem}.how li p{margin:.25rem 0 0;color:var(--muted);font-size:.9rem}.notice{font-size:.73rem;color:var(--muted);border-left:2px solid var(--sand);padding-left:1rem}.cta{min-height:680px;position:relative;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden}.cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cta:after{content:"";position:absolute;inset:0;background:rgba(6,28,24,.58)}.cta>div{position:relative;z-index:1;max-width:770px;padding:5rem 1.25rem}.cta h2{margin:.7rem 0 1rem}.cta p:not(.eyebrow){max-width:580px;margin:0 auto 2rem;color:rgba(255,255,255,.82)}footer{background:#0b211e;color:#fff;padding:3.5rem clamp(1.25rem,8vw,8rem);display:grid;grid-template-columns:1.4fr 1fr 1fr auto;align-items:center;gap:2rem;font-size:.8rem}footer p{color:rgba(255,255,255,.65)}footer>a:not(.brand){text-underline-offset:.3rem}.lightbox{border:0;padding:0;background:transparent;max-width:92vw;max-height:92vh}.lightbox::backdrop{background:rgba(4,17,15,.88)}.lightbox img{max-width:90vw;max-height:88vh;object-fit:contain}.lightbox button{position:fixed;right:2rem;top:1rem;color:#fff;background:none;border:0;font-size:2.5rem;cursor:pointer}
@media(max-width:900px){.site-header{height:70px}.menu-button{display:block}.site-header nav{display:none;position:absolute;top:70px;left:0;right:0;padding:1.2rem;background:var(--forest-dark);flex-direction:column;align-items:stretch}.site-header nav.is-open{display:flex}.site-header nav a{padding:.55rem}.hero{min-height:700px}.hero-content{transform:translateY(-38%)}.hero-note{display:none}.intro,.section-heading{grid-template-columns:1fr;gap:1rem}.service-card,.service-gazebo{grid-template-columns:1fr;min-height:0}.service-card>img{height:430px}.service-gazebo .service-copy{order:2}.service-copy{min-height:420px}.gallery-grid{grid-auto-rows:90px}.how{grid-template-columns:1fr}.how-image{min-height:520px}.how-copy{padding-bottom:1rem}footer{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.brand strong{font-size:.95rem}.hero h1{font-size:3.3rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}.section{padding:4.5rem 1.15rem}.intro{padding-top:5rem}.service-card>img{height:320px}.service-copy{min-height:360px;padding:2rem}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px;gap:.55rem}.gallery-item{grid-column:auto;grid-row:auto}.gallery-item-1,.gallery-item-4{grid-column:1/3}.how{padding:0}.how-copy{padding:4.5rem 1.15rem}.how-image{min-height:460px}.quote-band{padding:5rem 1.15rem}.cta{min-height:600px}footer{grid-template-columns:1fr;gap:1rem}.footer-brand{margin-bottom:1rem}}
.footer-contact{display:grid;gap:.25rem}.footer-contact small{color:rgba(255,255,255,.48);font-size:.62rem;text-transform:uppercase;letter-spacing:.14em}.footer-contact a{color:rgba(255,255,255,.82);text-underline-offset:.3rem}
.header-phone{margin-left:auto;margin-right:1.7rem;padding:.62rem 1rem;border-radius:99px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.42);color:#fff;text-decoration:none;white-space:nowrap;font-size:1.05rem;font-weight:700;letter-spacing:.01em;backdrop-filter:blur(8px)}.header-phone:hover{background:#fff;color:var(--forest)}
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:260px;grid-auto-flow:dense}.gallery-item-1{grid-column:1/3;grid-row:1/3}.gallery-item-2{grid-column:3;grid-row:1}.gallery-item-3{grid-column:3;grid-row:2}.gallery-item-4{grid-column:1;grid-row:3}.gallery-item-5{grid-column:2;grid-row:3}.gallery-item-6{grid-column:3;grid-row:3}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:240px}.gallery-item-1{grid-column:1/3;grid-row:1/3}.gallery-item-2,.gallery-item-3,.gallery-item-4,.gallery-item-5,.gallery-item-6{grid-column:auto;grid-row:auto}}
@media(max-width:900px){.header-phone{margin-left:auto;margin-right:.7rem;font-size:.92rem;padding:.52rem .72rem}}
@media(max-width:600px){.site-header{padding-left:.75rem;padding-right:.75rem}.site-header>.brand>span:last-child{display:none}.header-phone{font-size:.86rem;padding:.48rem .62rem;margin-right:.45rem}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:250px}.gallery-item-1,.gallery-item-2,.gallery-item-3,.gallery-item-4,.gallery-item-5,.gallery-item-6{grid-column:1;grid-row:auto}.gallery-item-1{grid-row:span 2}}
body{font-size:16px;line-height:1.55}.brand strong{font-size:18px}.brand small{font-size:11px}.site-header nav a{font-size:14px}.header-phone{font-size:16px}.menu-button{font-size:14px}.eyebrow{font-size:12px}.hero h1{font-size:clamp(46px,6.1vw,84px);letter-spacing:-2.5px}.hero-copy{font-size:19px;line-height:1.65}.button{font-size:14px}.text-link{font-size:14px}.section-number{font-size:12px}.intro h2,.section-heading h2,.how h2,.cta h2,.city-copy h2{font-size:clamp(35px,4vw,55px);line-height:1.05;letter-spacing:-1.8px}.lead{font-size:19px;line-height:1.65}.facts span{font-size:12px}.service-copy h3{font-size:clamp(32px,3.2vw,47px)}.service-copy p{font-size:18px;line-height:1.6}.service-copy strong{font-size:18px}.service-copy a{font-size:14px}.quote-band p{font-size:clamp(32px,3.2vw,47px)}.quote-band span{font-size:12px}.how li strong{font-size:19px}.how li p{font-size:16px}.notice{font-size:13px}.cta p:not(.eyebrow){font-size:16px}.footer-contact small{font-size:11px}footer{font-size:13px;line-height:1.55}.city-copy>p:not(.section-number){font-size:18px;line-height:1.65}.city-copy>a{font-size:14px}.city-facts strong{font-size:28px}.city-facts span{font-size:13px}
@media(max-width:600px){body{font-size:16px}.hero h1{font-size:46px;letter-spacing:-2px}.hero-copy,.lead{font-size:18px}.service-copy p,.city-copy>p:not(.section-number){font-size:16px}.service-copy strong{font-size:18px}footer{font-size:13px}}
.city-context{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.85fr);gap:clamp(3rem,8vw,8rem);padding:clamp(5rem,9vw,8rem) clamp(1.25rem,8vw,8rem);background:var(--forest);color:#fff}.city-context .section-number{color:var(--sand)}.city-copy h2{font:400 clamp(2.8rem,5vw,5.4rem)/1.08 var(--serif);letter-spacing:-.035em;margin:.8rem 0 1.8rem;max-width:900px}.city-copy>p:not(.section-number){max-width:900px;color:rgba(255,255,255,.78);font-size:1.16rem;line-height:1.8}.city-copy>a{display:inline-block;margin-top:1.4rem;color:#fff;text-underline-offset:.35rem;font-size:1rem}.city-facts{align-self:center;display:grid;border-top:1px solid rgba(255,255,255,.24)}.city-facts article{display:grid;gap:.2rem;padding:1.4rem 0;border-bottom:1px solid rgba(255,255,255,.24)}.city-facts strong{font:400 1.85rem/1.2 var(--serif);color:var(--sand)}.city-facts span{color:rgba(255,255,255,.64);font-size:.92rem}
@media(max-width:800px){.city-context{grid-template-columns:1fr;gap:2.5rem}.city-copy>p:not(.section-number){font-size:1.08rem}.city-facts{grid-template-columns:1fr}.city-facts strong{font-size:1.6rem}}
.city-copy h2{font-size:clamp(35px,4vw,55px);line-height:1.05;letter-spacing:-1.8px}.city-copy>p:not(.section-number){font-size:18px;line-height:1.65}.city-copy>a{font-size:14px}.city-facts strong{font-size:28px}.city-facts span{font-size:13px}
@media(max-width:600px){.city-copy>p:not(.section-number){font-size:16px}.city-facts strong{font-size:26px}}
.faq{background:#f4f0e6}.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.faq-grid article{padding:2rem;border:1px solid var(--line);background:rgba(255,255,255,.58)}.faq-grid h3{font:400 24px/1.25 var(--serif);margin:0 0 .8rem}.faq-grid p{margin:0;color:var(--muted);font-size:16px;line-height:1.65}.faq-grid a{color:var(--forest);font-weight:700;text-underline-offset:.25rem}.cta-buttons{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap}.button-outline{border:1px solid rgba(255,255,255,.7);color:#fff;background:rgba(10,37,32,.18)}.button-outline:hover{background:#fff;color:var(--forest)}
@media(max-width:700px){.faq-grid{grid-template-columns:1fr}.faq-grid article{padding:1.4rem}.faq-grid h3{font-size:22px}.cta-buttons{align-items:stretch;flex-direction:column}.cta-buttons .button{width:100%}}
.lightbox figure{margin:0;display:grid;place-items:center}.lightbox img{user-select:none;-webkit-user-drag:none;touch-action:pan-y}.lightbox .lightbox-close{position:fixed;z-index:2;top:1rem;right:1.4rem;width:48px;height:48px;display:grid;place-items:center;padding:0;border-radius:50%;background:rgba(13,41,36,.62);font:300 2.2rem/1 var(--sans);backdrop-filter:blur(8px)}.lightbox .lightbox-nav{position:fixed;z-index:2;top:50%;width:56px;height:56px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(13,41,36,.5);font:400 1.7rem/1 var(--sans);transform:translateY(-50%);backdrop-filter:blur(8px)}.lightbox .lightbox-prev{left:clamp(.7rem,3vw,2.5rem);right:auto}.lightbox .lightbox-next{left:auto;right:clamp(.7rem,3vw,2.5rem)}.lightbox button:hover{background:rgba(255,255,255,.95);color:var(--forest)}.lightbox figcaption{position:fixed;z-index:2;left:50%;bottom:1rem;display:flex;gap:.8rem;align-items:center;max-width:min(90vw,760px);padding:.65rem 1rem;border-radius:99px;background:rgba(13,41,36,.68);color:#fff;font-size:.82rem;transform:translateX(-50%);backdrop-filter:blur(8px)}.lightbox-counter{color:var(--sand);white-space:nowrap}.lightbox-caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:600px){.lightbox img{max-width:94vw;max-height:78vh}.lightbox .lightbox-close{top:.7rem;right:.7rem;width:44px;height:44px}.lightbox .lightbox-nav{top:auto;bottom:4.4rem;width:50px;height:50px;transform:none}.lightbox .lightbox-prev{left:1rem}.lightbox .lightbox-next{right:1rem}.lightbox figcaption{bottom:.7rem;max-width:calc(100vw - 1.4rem)}.lightbox-caption{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-item img{transition:none}}
.brand{gap:.8rem}.brand-mark{width:43px;height:43px;flex:none;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font:700 1.8rem/1 var(--serif)}
:where(a,button):focus-visible{outline:3px solid var(--sand);outline-offset:4px}.menu-button,.gallery-item{cursor:pointer}.gallery-item:focus-visible{outline-color:var(--forest);outline-offset:5px}body.lightbox-open{overflow:hidden}
@media(max-width:600px) and (max-height:650px){.hero{min-height:568px;height:100svh}.hero-content{top:110px;transform:none}.eyebrow{font-size:10px;line-height:1.5}.hero h1{font-size:40px;line-height:1;margin:.3rem 0 .9rem}.hero-copy{font-size:16px;line-height:1.5}.hero-actions{flex-direction:row;align-items:center;gap:.65rem;margin-top:1rem}.hero-actions .button{padding:.8rem 1rem;font-size:13px;white-space:nowrap}.hero-actions .text-link{font-size:13px;white-space:nowrap}}
.header-phone{display:inline-flex;align-items:center;gap:.42rem;margin-left:auto;margin-right:1.6rem;padding:.25rem 0;border:0;border-bottom:1px solid rgba(255,255,255,.38);border-radius:0;background:transparent;color:rgba(255,255,255,.9);font-size:14px;font-weight:600;letter-spacing:0;text-decoration:none;white-space:nowrap;backdrop-filter:none;transition:color .2s,border-color .2s}.header-phone-icon{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.78}.header-phone:hover{background:transparent;color:#fff;border-color:#fff}.hero-shade{background:linear-gradient(90deg,rgba(5,25,22,.8) 0%,rgba(7,27,24,.42) 52%,rgba(7,27,24,.1) 84%),linear-gradient(0deg,rgba(5,22,20,.48),transparent 52%)}.hero h1{text-shadow:0 2px 18px rgba(0,0,0,.2)}.hero-copy,.hero .eyebrow{text-shadow:0 1px 12px rgba(0,0,0,.38)}
@media(max-width:900px){.header-phone{margin-right:.8rem;font-size:13.5px}.menu-button{background:rgba(7,27,24,.08);border-color:rgba(255,255,255,.48)}}
@media(max-width:600px){.header-phone{gap:.34rem;margin-right:.6rem;padding:.2rem 0;font-size:13px}.header-phone-icon{width:14px;height:14px;flex-basis:14px}.hero-shade{background:linear-gradient(90deg,rgba(4,24,21,.76) 0%,rgba(4,24,21,.44) 100%),linear-gradient(0deg,rgba(4,19,17,.68) 0%,rgba(4,19,17,.08) 58%,rgba(4,19,17,.18) 100%)}.hero h1{font-size:44px;line-height:1.03;letter-spacing:-1.6px;text-shadow:0 2px 16px rgba(0,0,0,.32)}.hero-copy{font-size:17px;line-height:1.58;font-weight:500;color:rgba(255,255,255,.96);text-shadow:0 2px 12px rgba(0,0,0,.5)}}
@media(max-width:600px) and (max-height:650px){.hero h1{font-size:40px;line-height:1}.hero-copy{font-size:16px;line-height:1.5}}
@media(max-width:600px){.gallery{padding-bottom:4.5rem}}
@media(max-width:600px){.how{margin:0 1.15rem;padding:0}.how-image{height:auto;min-height:0;aspect-ratio:3/4}.how-copy{padding:2rem}}
@media(max-width:600px){.how-image,.how-copy{min-width:0}}
@media(max-width:340px){.how-copy{padding:1.5rem}.how-copy h2{font-size:33px;letter-spacing:-1.4px}}
@media(max-width:600px){.hero-content{left:1.25rem;right:1.25rem;max-width:none}}
.how{column-gap:clamp(3rem,8vw,8rem);row-gap:0}.how-heading{grid-column:2;grid-row:1;align-self:end}.how-image{grid-column:1;grid-row:1/3}.how-steps{grid-column:2;grid-row:2;align-self:start}.how-steps ol{margin:0 0 2rem}
@media(max-width:900px){.how-heading,.how-image,.how-steps{grid-column:1;grid-row:auto}.how-heading{order:1}.how-image{order:2}.how-steps{order:3}}
@media(max-width:600px){.how-heading{padding:2rem}.how-heading h2{margin-bottom:0}.how-image{width:100%}.how-steps{padding:0 2rem 2rem}}
@media(max-width:340px){.how-heading{padding:1.5rem}.how-heading h2{font-size:33px;letter-spacing:-1.4px}.how-steps{padding:0 1.5rem 1.5rem}}
.how li>span{flex:0 0 30px;width:30px;height:30px;aspect-ratio:1}
