/* Direction B: one clear purpose and photographic rhythm per chapter. */
:root{--direction-title:clamp(48px,4.4vw,88px);--direction-space:clamp(100px,9vw,180px)}
.direction-title{font:400 var(--direction-title)/1.13 var(--serif);letter-spacing:-.045em;margin:0}
.direction-title em{font-weight:400}
.direction-intro-copy,.direction-planning,.direction-journal{padding-left:var(--gutter);padding-right:var(--gutter)}
.direction-intro .eyebrow,.direction-planning .eyebrow,.direction-journal-heading .eyebrow{margin-bottom:30px;color:var(--forest)}
.direction-intro-copy{padding-top:var(--direction-space);padding-bottom:clamp(70px,6.4vw,125px);display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:8vw;align-items:end}
.direction-intro-description{max-width:460px;padding-bottom:5px}
.direction-intro-description p{line-height:1.85}
.direction-intro-description p+p{margin-top:16px}
.direction-intro-description .text-link{margin-top:23px}
.direction-panorama{margin:0}
.direction-expanding-frame{height:clamp(520px,76svh,980px);clip-path:inset(0 var(--panorama-inset,4.4%) 0);will-change:clip-path}
.direction-expanding-frame .image-window{width:100%;height:100%}
.direction-expanding-frame img{object-position:50% 60%}
.direction-panorama figcaption,.direction-planning-visual figcaption{display:flex;justify-content:space-between;gap:24px;font-size:10px;letter-spacing:.12em;line-height:1.8;text-transform:uppercase}
.direction-panorama figcaption{padding:25px var(--gutter) 0}
.direction-panorama figcaption span:last-child,.direction-planning-visual figcaption span:last-child{opacity:.6}
.direction-intro+.services-intro{padding-top:var(--direction-space)}

/* A human story beside a photograph that stays with the reader. */
.direction-planning{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:8vw;align-items:start;padding-top:var(--direction-space);padding-bottom:var(--direction-space)}
.direction-planning-copy{max-width:650px}
.direction-planning-opening>.direction-title{margin-bottom:32px}
.direction-planning-opening>p:not(.eyebrow){max-width:490px;line-height:1.85}
.direction-planning-visual{position:sticky;top:10svh;margin:0;padding-top:4px}
.direction-planning-visual .image-window{height:auto;aspect-ratio:4/3;min-height:0;max-height:940px}
.direction-planning-visual img{object-position:48% 65%}
.direction-planning-visual figcaption{padding-top:23px;font-size:9px;letter-spacing:.1em}
.direction-promises{margin-top:70px;max-width:490px}
.direction-promise{display:grid;grid-template-columns:28px minmax(0,1fr);gap:24px;padding:28px 0 32px;border-top:1px solid #20392c25;position:relative}
.direction-promise::before{content:'';position:absolute;left:0;right:0;top:-1px;height:1px;background:#a28b50;transform:scaleX(var(--promise-progress,0));transform-origin:left}
.promise-number{font-size:10px;letter-spacing:.1em;color:#8b7849;margin-top:9px}
.direction-promise h3{font:400 clamp(28px,2vw,39px)/1.2 var(--serif);letter-spacing:-.03em;margin:0 0 16px}
.direction-promise p{line-height:1.8;max-width:440px}
.direction-planning-copy>.text-link{margin-top:12px}

/* Continuous photographic browsing; each image remains fully opaque. */
.direction-collections{position:relative;background:#f6f5f0}
.direction-collection-stage{padding:65px 0 40px}
.direction-collection-heading{padding:0 var(--gutter) 35px;display:flex;justify-content:space-between;align-items:end;gap:30px}
.direction-collection-heading .eyebrow{margin:0 0 14px}
.direction-collection-heading h2{font:400 clamp(44px,3.7vw,72px)/1.1 var(--serif);letter-spacing:-.04em;margin:0}
.direction-collection-heading h2 em{font-weight:400}
.collection-scroll-note{display:none;font-size:10px;letter-spacing:.12em;text-transform:uppercase;gap:22px;align-items:center;padding-bottom:7px}
.collection-scroll-note>span{font-size:22px;letter-spacing:0}
.direction-gallery-window{overflow:clip;padding:4px 0}
.direction-gallery-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:0 var(--gutter)}
.direction-gallery-card{display:block;min-width:0}
.direction-gallery-card>.image-window{height:34vw;max-height:650px}
.direction-gallery-card img{object-fit:cover;object-position:center;transition:transform 1s cubic-bezier(.2,.6,.3,1)}
.direction-gallery-card:hover img{transform:scale(1.025)}
.direction-gallery-card:focus-visible{outline:2px solid var(--forest);outline-offset:3px}
.direction-gallery-caption{display:flex;align-items:center;gap:25px;padding:24px 2px 5px}
.gallery-number{font-size:10px;letter-spacing:.1em;color:#72766e}
.direction-gallery-caption h3{font:400 clamp(27px,2.25vw,44px)/1.15 var(--serif);letter-spacing:-.035em;margin:0}
.gallery-arrow{font-size:31px;line-height:1;margin-left:auto;transition:transform .3s}
.direction-gallery-card:hover .gallery-arrow{transform:translate(3px,-3px)}
.direction-collection-bottom{padding:35px var(--gutter) 0;display:flex;justify-content:space-between;gap:30px;align-items:center}
.direction-collection-bottom>.eyebrow{opacity:.6;font-size:9px;letter-spacing:.12em}
.collection-position{display:none;align-items:center;gap:20px}
.collection-position button{background:transparent;font-size:10px;letter-spacing:.1em;opacity:.5;min-width:30px;min-height:38px;padding:8px 3px}
.collection-position button[aria-pressed=true]{opacity:1}
.collection-progress{width:90px;height:1px;display:block;background:#20392c30}
.collection-progress i{height:1px;width:100%;display:block;background:var(--forest);transform-origin:left;transform:scaleX(var(--gallery-progress,0))}
.gallery-scroll .direction-collections{height:260svh}
.gallery-scroll .direction-collection-stage{height:100svh;position:sticky;top:0;padding-top:4.5svh;padding-bottom:3.5svh;display:flex;flex-direction:column}
.gallery-scroll .direction-collection-heading{padding-bottom:3svh}
.gallery-scroll .collection-scroll-note{display:flex}
.gallery-scroll .direction-gallery-window{flex:1;min-height:0}
.gallery-scroll .direction-gallery-track{display:flex;gap:3.4vw;width:max-content;height:100%;padding-right:var(--gutter);transform:translate3d(var(--gallery-x,0px),0,0);will-change:transform}
.gallery-scroll .direction-gallery-card{flex:0 0 79vw;width:79vw;display:flex;flex-direction:column;height:100%}
.gallery-scroll .direction-gallery-card>.image-window{flex:1;min-height:0;height:auto;max-height:none}
.gallery-scroll .direction-gallery-caption{padding-top:2.3svh;padding-bottom:5px;flex-shrink:0}
.gallery-scroll .direction-collection-bottom{padding-top:2svh}
.gallery-scroll .collection-position{display:flex}

/* An editorial guide shelf: open landscapes after the accommodation gallery. */
.direction-journal{padding-top:var(--direction-space);padding-bottom:var(--direction-space)}
.direction-journal-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:65px}
.direction-journal-heading>.text-link{flex-shrink:0;margin-bottom:8px}
.direction-journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5vw}
.direction-journal-story{display:block;min-width:0}
.direction-journal-story .image-window{height:clamp(360px,31vw,620px)}
.direction-journal-story:nth-child(2) img{object-position:48% 50%}
.direction-journal-story:nth-child(3) img{object-position:55% 50%}
.direction-journal-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:24px 0 17px;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.direction-journal-meta>span:last-child{font-size:25px;line-height:1;transition:transform .3s}
.direction-journal-story:hover .direction-journal-meta>span:last-child{transform:translate(3px,-3px)}
.direction-journal-story h3{font:400 clamp(29px,2.4vw,46px)/1.2 var(--serif);letter-spacing:-.035em;margin:0 0 18px}
.direction-journal-story>p{max-width:420px;line-height:1.8;color:#4f5b54}

@media(min-width:901px) and (max-height:760px){
 .direction-planning-visual .image-window{height:auto;min-height:0}
 .gallery-scroll .direction-collection-stage{padding-top:4svh}
 .gallery-scroll .direction-collection-heading h2{font-size:45px}
 .gallery-scroll .direction-collection-heading .eyebrow{margin-bottom:8px}
 .gallery-scroll .direction-gallery-caption h3{font-size:30px}
}
@media(max-width:1100px){
 .direction-intro-copy{grid-template-columns:1.3fr 1fr;gap:5vw}
 .direction-planning{gap:5vw}.direction-planning .direction-title{font-size:clamp(42px,5vw,60px)}
 .direction-planning-visual .image-window{min-height:0}.direction-promise{gap:16px}
 .direction-gallery-caption{gap:13px}.direction-gallery-caption h3{font-size:30px}
 .direction-planning-visual figcaption{display:block}.direction-planning-visual figcaption span{display:block}
}
@media(max-width:900px){
 .direction-intro-copy{display:block}.direction-intro-description{max-width:540px;margin:35px 0 0 12%}
 .direction-expanding-frame{height:65svh;min-height:440px}
 .direction-planning{display:grid;grid-template-columns:1fr;padding-top:85px;padding-bottom:85px;gap:42px}
 .direction-planning-copy{display:contents}.direction-planning-opening{order:0;max-width:660px}
 .direction-planning-visual{position:relative;top:auto;order:1;padding:0}.direction-planning-visual .image-window{height:auto;min-height:0;aspect-ratio:4/3;max-height:700px}
 .direction-planning-visual figcaption{display:flex}.direction-promises{order:2;margin:0;max-width:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
 .direction-promise{display:block;padding:22px 0 0}.promise-number{display:block;margin:0 0 17px}.direction-promise h3{font-size:27px}
 .direction-planning-copy>.text-link{order:3;justify-self:start;margin-top:0}
 .direction-collection-stage{padding:70px 0}
 .direction-gallery-track{display:block}.direction-gallery-card{margin-bottom:45px}.direction-gallery-card:last-child{margin:0}.direction-gallery-card>.image-window{height:auto;aspect-ratio:16/10;max-height:none}
 .direction-gallery-caption h3{font-size:34px}.direction-collection-bottom{display:none}
 .direction-journal-heading{display:block}.direction-journal-heading>.text-link{margin-top:25px}
 .direction-journal-story .image-window{height:35vw;min-height:280px}.direction-journal-story h3{font-size:30px}
}
@media(max-width:650px){
 :root{--direction-title:clamp(38px,9.5vw,58px);--direction-space:80px}
 .direction-intro-copy{padding-top:78px;padding-bottom:44px}
 .direction-intro .eyebrow,.direction-planning .eyebrow,.direction-journal .eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:24px}
 .direction-intro-description{margin:28px 0 0;max-width:none}
 .direction-intro-description p,.direction-planning-opening>p:not(.eyebrow){line-height:1.8}
 .direction-expanding-frame{height:60svh;min-height:390px;max-height:650px;clip-path:none}
 .direction-expanding-frame img{object-position:62% 55%}
 .direction-panorama figcaption{padding-top:20px;font-size:8px;gap:12px;display:block}.direction-panorama figcaption span{display:block}
 .direction-intro+.services-intro{padding-top:72px}
 .direction-planning{padding-top:80px;padding-bottom:80px;gap:34px}
 .direction-planning .direction-title{font-size:var(--direction-title)}
 .direction-planning-opening>.direction-title{margin-bottom:26px}
 .direction-planning-visual .image-window{aspect-ratio:4/3;max-height:none}
 .direction-planning-visual img{object-position:43% 65%}
 .direction-planning-visual figcaption{font-size:8px;display:block;padding-top:16px}
 .direction-promises{display:block}.direction-promise{display:grid;grid-template-columns:20px minmax(0,1fr);gap:18px;padding:24px 0}
 .promise-number{margin-top:8px}.direction-promise h3{font-size:29px;margin-bottom:13px}.direction-planning-copy>.text-link{margin-top:0}
 .direction-collection-stage{padding:65px 0}
 .direction-collection-heading{padding-bottom:30px}.direction-collection-heading .eyebrow{font-size:9px}.direction-collection-heading h2{font-size:42px;max-width:300px}
 .direction-gallery-card>.image-window{aspect-ratio:1.08}
 .direction-gallery-caption{padding:20px 1px 0;gap:12px}.direction-gallery-caption h3{font-size:29px}.gallery-number{font-size:9px}.gallery-arrow{font-size:25px}
 .direction-gallery-track{padding:0 24px}
 .direction-journal{padding-top:75px;padding-bottom:75px}
 .direction-journal-heading{margin-bottom:40px}
 .direction-journal-grid{display:block}.direction-journal-story{margin-bottom:48px}.direction-journal-story:last-child{margin-bottom:0}
 .direction-journal-story .image-window{height:auto;min-height:0;aspect-ratio:1.08}
 .direction-journal-meta{font-size:8px;margin-top:20px}.direction-journal-story h3{font-size:32px;margin-bottom:14px}
}
@media(prefers-reduced-motion:reduce){
 .direction-expanding-frame{clip-path:none;will-change:auto}
 .direction-planning-visual{position:relative;top:auto}
 .direction-promise::before{display:none}
 .direction-gallery-card img{transform:none!important}
}
