body:has(.coastal-page){--paper:#fcfaf3;--cream:#f7f1e4;--cream-deep:#eee5d2;--ink:#193e48;--muted:#5c7072;--blue:#3e8795;--blue-deep:#175e6d;--blue-pale:#e7f1ef;--sun:#eab956;--line:#d8dfd7}body:has(.coastal-page) .site-header{background:var(--paper)}body:has(.coastal-page) .nav .nav-cta{background:#175e6d}body:has(.coastal-page) .nav .nav-cta:hover{background:#104957}.coastal-page .button-primary{background:var(--blue-deep)}.coastal-page .button-primary:hover{background:#104957}.coastal-page{background:var(--paper);overflow:hidden}.coastal-page .eyebrow{color:#286f77}.coastal-page .section{padding-block:clamp(80px,9vw,128px)}.coastal-page .accent-serif{color:var(--blue-deep)}.coastal-page h1{letter-spacing:-.055em}.coastal-page h2{letter-spacing:-.05em}.coastal-page .text-link:after{content:"→"}.coastal-page .text-link{transition:color .2s,gap .2s}.coastal-page .text-link:hover{color:#0c414d}.coastal-page .final-cta{background:#193e48}.coastal-page .final-cta .eyebrow{color:#f2cb78}.coastal-page .final-cta .button-cream{color:#193e48;background:#f2ca75}.coastal-page .final-cta .button-cream:hover{background:#ffdb92}.coastal-page .inner-hero{background:linear-gradient(90deg, #08272dc9, #08272da6), var(--hero-photo) center 53% / cover;color:#fcfaf3;text-align:center;place-items:center;height:540px;padding-block:36px;display:grid}.coastal-page .inner-hero-content{max-width:990px}.coastal-page .inner-hero .eyebrow{color:#f4c86e;margin-bottom:1.35rem;display:block}.coastal-page .inner-hero h1{max-width:920px;margin:0 auto 1.25rem;font-size:clamp(3.3rem,6vw,5.65rem);line-height:1.08}.coastal-page .inner-hero h1 em{color:#f7cd7f;font-weight:400}.coastal-page .inner-hero .lead{color:#f3f3ea;max-width:650px;margin:0 auto}.coastal-page .inner-hero .button-row{justify-content:center;margin-top:2rem}.coastal-page .inner-hero .button-primary{color:#173d45;background:#f2ca75}.coastal-page .inner-hero .button-primary:hover{background:#ffda91}.coastal-page .inner-hero .button-outline{color:#fff;border-color:#ffffffb3}.coastal-page .inner-hero .button-outline:hover{background:#ffffff1f;border-color:#fff}.coastal-page .inner-hero .button-primary span{margin-left:.65rem;font-size:1.15em;line-height:1}.coastal-page .inner-hero .hero-note{color:#dbe6e0;margin:1.35rem auto 0;font-size:.73rem;line-height:1.4}.coastal-page .section-intro{grid-template-columns:1fr minmax(260px,.67fr);align-items:end;gap:clamp(2rem,7vw,7rem);margin-bottom:clamp(2.5rem,5vw,4.5rem);display:grid}.coastal-page .section-intro h2{margin:.8rem 0 0}.coastal-page .section-intro p{max-width:470px;margin:0 0 .25rem}.coastal-page .soft-band{background:#eef3eb}.coastal-page .editorial-note{border-top:1px solid var(--line);padding-top:1.4rem;font-size:.9rem}.areas-page .areas-hero{background-position:50% 48%}.areas-page .area-directory{grid-template-columns:minmax(240px,.55fr) minmax(0,1fr);align-items:start;gap:clamp(3rem,8vw,8rem);display:grid}.areas-page .area-directory-copy{position:sticky;top:2rem}.areas-page .area-directory-copy h2{margin:.8rem 0 1.25rem}.areas-page .area-directory-copy p{max-width:390px}.areas-page .area-entries{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.areas-page .area-entry{border-bottom:1px solid var(--line);min-height:82px;color:var(--ink);font-family:var(--font-display);justify-content:space-between;align-items:center;gap:.7rem;padding:1.1rem .5rem 1.1rem 0;font-size:clamp(1.15rem,1.6vw,1.5rem);line-height:1.2;transition:color .2s,transform .2s;display:flex}.areas-page .area-entry:nth-child(odd){margin-right:1rem}.areas-page .area-entry:nth-child(2n){margin-left:1rem}.areas-page .area-entry span:last-child{font-family:var(--font-body);color:var(--blue-deep);font-size:1rem}.areas-page .area-entry:hover{color:var(--blue-deep);transform:translate(3px)}.areas-page .area-directory-foot{margin-top:1.25rem}.gallery-page .gallery-hero{background-position:50%}.gallery-page .section-intro{text-align:center;margin-bottom:clamp(2.5rem,5vw,4.5rem);display:block}.gallery-page .section-intro h2{margin:0}.gallery-page .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2rem,4vw,4rem) clamp(.8rem,2vw,1.7rem);display:grid}.gallery-page .photo-card{min-width:0;margin:0}.gallery-page .photo-card:nth-child(6n+2){padding-top:3.5rem}.gallery-page .photo-card:nth-child(6n+3){padding-top:7rem}.gallery-page .photo-link{background:var(--cream-deep);aspect-ratio:4/4.5;display:block;position:relative;overflow:hidden}.gallery-page .photo-card:nth-child(6n+2) .photo-link{aspect-ratio:4/5}.gallery-page .photo-card:nth-child(6n+3) .photo-link{aspect-ratio:4/3.6}.gallery-page .photo-link img{object-fit:cover;width:100%;height:100%;transition:transform .45s}.gallery-page .photo-link:hover img,.gallery-page .photo-link:focus-visible img{transform:scale(1.035)}.gallery-page .photo-open{background:var(--paper);width:39px;height:39px;color:var(--ink);opacity:0;border-radius:50%;place-items:center;font-size:1.15rem;transition:opacity .2s,transform .2s;display:grid;position:absolute;bottom:12px;right:12px;transform:translateY(5px)}.gallery-page .photo-link:hover .photo-open,.gallery-page .photo-link:focus-visible .photo-open{opacity:1;transform:none}.reviews-page .reviews-hero{background-position:50% 52%}.reviews-page .section-intro{text-align:center;display:block}.reviews-page .section-intro h2{margin:.8rem auto 0}.reviews-page .widget-panel{border:1px solid var(--line);background:#f7f8f2;min-height:300px;padding:clamp(1rem,4vw,3.5rem)}.about-page .about-hero{background-position:50% 54%}.about-page .about-story{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:start;gap:clamp(3rem,9vw,9rem);display:grid}.about-page .about-story h2{max-width:520px;margin:.8rem 0 0}.about-page .about-story-heading img{aspect-ratio:1;object-fit:cover;object-position:center;border-radius:50%;width:min(100%,250px);height:auto;margin-top:2.25rem;display:block}.about-page .about-story-copy{max-width:600px;padding-top:.4rem}.about-page .about-story-copy .lead{color:var(--ink)}.about-page .about-story-copy p{margin-bottom:1.5rem}.about-page .about-story-copy .text-link{margin-top:.5rem}.about-page .quote-steps{grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,5vw,5rem);display:grid}.about-page .quote-step{border-top:1px solid #93b5ad;padding-top:1.25rem}.about-page .quote-step .step-number{color:var(--blue-deep);font-family:var(--font-display);margin-bottom:2.5rem;font-size:2.4rem;line-height:1;display:block}.about-page .quote-step h3{margin-bottom:.8rem;font-size:clamp(1.45rem,2.2vw,1.9rem)}.about-page .quote-step p{max-width:310px;font-size:.95rem}.about-page .soft-band{background:#eef3eb}@media (width<=900px){.areas-page .area-directory{grid-template-columns:1fr;gap:2.5rem}.areas-page .area-directory-copy{position:static}}@media (width<=767px){.coastal-page .section-intro,.about-page .about-story{grid-template-columns:1fr}.coastal-page .inner-hero{height:auto;min-height:0;padding-block:64px}.coastal-page .inner-hero h1{font-size:clamp(3rem,10vw,4.6rem)}.coastal-page .section-intro{gap:1.2rem}.gallery-page .gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-page .photo-card:nth-child(n){padding-top:0}.about-page .about-story{gap:2rem}.about-page .quote-steps{grid-template-columns:1fr;gap:1.75rem}.about-page .quote-step .step-number{margin-bottom:1rem}}@media (width<=520px){.coastal-page .inner-hero h1{font-size:clamp(2.7rem,10vw,3.4rem)}.coastal-page .inner-hero .lead{font-size:1rem}.coastal-page .inner-hero .button-row .button{flex:100%}.areas-page .area-entries{grid-template-columns:1fr}.areas-page .area-entry:nth-child(n){min-height:68px;margin:0}.gallery-page .gallery-grid{grid-template-columns:1fr;gap:2.5rem}.gallery-page .photo-card:nth-child(n) .photo-link{aspect-ratio:4/3.5}.gallery-page .photo-open{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.gallery-page .photo-link img,.gallery-page .photo-open{transition:none}}
