/* A quiet photographic story. All copy stays in the natural page flow. */
.editorial-home .site-header{color:var(--paper)}
.editorial-home .site-header .nav-cta{background:var(--paper);color:var(--ink)}
.editorial-home .site-header .nav-cta:hover{background:#e0dfd2}
.coastal-hero{height:100svh;min-height:680px;max-height:1180px;position:relative;isolation:isolate;background:#536862;color:var(--paper)}
.hero-photo,.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.coastal-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,34,32,.58),rgba(15,34,32,.16) 55%,rgba(15,34,32,.04)),linear-gradient(180deg,rgba(15,34,32,.32),transparent 25%,transparent 70%,rgba(15,34,32,.36))}
.hero-copy{position:absolute;left:var(--gutter);top:50%;transform:translateY(-42%);max-width:650px}
.hero-copy h1{font-size:clamp(60px,6.5vw,96px);line-height:1.02;letter-spacing:-.04em}
.hero-copy p{font-size:17px;line-height:1.6;margin-top:28px}
.hero-copy .button{margin-top:32px}
.hero-foot{position:absolute;bottom:30px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;font-size:12px}
.hero-foot a{display:flex;gap:18px;align-items:center;min-height:44px}
.hero-foot svg{width:18px;height:18px}
.editorial-home .intro-section{padding-top:120px;padding-bottom:120px;align-items:start;gap:10vw}
.editorial-home .intro-title h2{font-size:clamp(42px,4.5vw,68px)}
.editorial-home .wave-decoration{display:none}
.editorial-story{display:grid;grid-template-columns:56% 44%;position:relative;margin:0 var(--gutter) 120px;align-items:start;scroll-margin-top:0}
.editorial-visual{margin:0;position:sticky;top:7.5svh;height:85svh;min-height:480px;max-height:980px;overflow:hidden;background:#ddd7c8;isolation:isolate}
.editorial-frame{position:absolute;inset:0;opacity:0;transition:opacity 480ms cubic-bezier(.16,1,.3,1);pointer-events:none}
.editorial-frame.is-active{opacity:1;z-index:1}
.editorial-frame img{width:100%;height:100%;object-fit:cover;object-position:57% center}
.editorial-frame[data-scene="2"] img{object-position:67% center}
.editorial-visual:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(15,34,32,.68));z-index:2;pointer-events:none}
.editorial-caption{position:absolute;bottom:26px;left:28px;right:28px;font-size:12px;color:var(--paper);z-index:3}
.editorial-copy{padding-left:clamp(36px,6.5vw,110px)}
.editorial-step{min-height:100svh;display:flex;align-items:center;padding:80px 0;scroll-margin-top:15svh}
.editorial-step>div{max-width:390px}
.editorial-step h2{font-size:clamp(40px,4vw,62px);line-height:1.07}
.editorial-step p{margin-top:26px;font-size:16px;line-height:1.75;color:var(--muted);max-width:39ch}
.editorial-step p+p{margin-top:16px}
.editorial-step .text-link{margin-top:30px}
.editorial-home .lifestyle-section{margin:0 var(--gutter);padding:80px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;grid-template-columns:1fr 1fr;gap:10vw;min-height:0}
.lifestyle-heading p{margin-top:25px;color:var(--muted);font-size:16px}
.editorial-home .lifestyle-copy{padding:0;justify-content:start;max-width:480px}
.editorial-home .lifestyle-options{margin-top:4px;gap:30px}
.editorial-home .lifestyle-options button{font-size:14px;min-height:44px}
.editorial-home #lifestyle-description{min-height:165px;padding-top:28px}
.editorial-home #lifestyle-description p{font-size:16px}
.editorial-home #lifestyle-description span{font-size:12px}
.editorial-home .closing-section{padding:120px var(--gutter)}
.editorial-home .site-footer{background:#e6e8de;border-top:0}
@media(min-width:1500px){.hero-copy{top:47%}}
@media(max-width:1000px) and (min-width:761px){.editorial-story{grid-template-columns:53% 47%}.editorial-copy{padding-left:36px}.editorial-step h2{font-size:42px}.editorial-step p{font-size:15px}.hero-copy h1{font-size:72px}}
@media(max-width:760px){
 .coastal-hero{min-height:670px;max-height:1000px}
 .hero-photo img{object-position:center}
 .coastal-hero:after{background:linear-gradient(180deg,rgba(15,34,32,.46),rgba(15,34,32,.3) 44%,rgba(15,34,32,.02) 65%,rgba(15,34,32,.5))}
 .hero-copy{top:24%;transform:none;left:24px;right:24px;max-width:420px}
 .hero-copy h1{font-size:clamp(48px,12vw,70px);line-height:1.03}
 .hero-copy p{font-size:15px;margin-top:22px}
 .hero-copy .button{min-height:50px;margin-top:26px;font-size:13px;padding:13px 20px}
 .hero-foot{left:24px;right:24px;bottom:18px;font-size:10px}
 .hero-foot a{gap:10px;font-size:11px}
 .editorial-home .intro-section{padding:75px 24px;gap:28px}
 .editorial-home .intro-title h2{font-size:44px}
 .editorial-story{display:block;margin:0 0 65px}
 .editorial-visual{height:44svh;min-height:235px;max-height:390px;top:0;z-index:5}
 .editorial-frame img{object-position:center 55%}
 .editorial-frame[data-scene="2"] img{object-position:center 65%}
 .editorial-caption{bottom:18px;left:24px;right:24px;font-size:11px}
 .editorial-visual:after{inset:70% 0 0}
 .editorial-copy{padding:0 24px}
 .editorial-step{min-height:70svh;padding:46px 0 72px;align-items:center;scroll-margin-top:46svh}
 .editorial-step>div{max-width:480px}
 .editorial-step h2{font-size:42px}
 .editorial-step p{font-size:15px;margin-top:22px;max-width:43ch}
 .editorial-step p+p{margin-top:14px}
 .editorial-step .text-link{margin-top:24px;font-size:13px}
 .editorial-home .lifestyle-section{margin:0 24px;padding:58px 0;grid-template-columns:1fr;gap:34px}
 .lifestyle-heading h2{font-size:44px}
 .lifestyle-heading p{font-size:15px;margin-top:22px}
 .editorial-home .lifestyle-options{gap:26px}
 .editorial-home .lifestyle-options button{font-size:13px}
 .editorial-home #lifestyle-description{min-height:170px}
 .editorial-home #lifestyle-description p{font-size:15px}
 .editorial-home .closing-section{padding:80px 24px 90px}
}
@media(max-width:760px) and (max-height:650px){.editorial-visual{position:relative;height:300px;min-height:0}.editorial-step{min-height:480px}.coastal-hero{min-height:670px}}
@media(prefers-reduced-motion:reduce){.editorial-frame{transition:none}}
