/* Continuous viewport storytelling: editorial sections flow upward while
   selected photographs uncover in place. Reduced motion keeps ordinary flow. */
html{scrollbar-width:thin;scrollbar-color:#8a8a8a transparent}
html::-webkit-scrollbar{width:5px}
html::-webkit-scrollbar-track,html::-webkit-scrollbar-corner{background:transparent}
html::-webkit-scrollbar-thumb{background:#8a8a8a;border-radius:5px}
html::-webkit-scrollbar-button{display:none}
html.has-page-scrollbar{scrollbar-width:none}
html.has-page-scrollbar::-webkit-scrollbar{display:none;width:0}
:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}
@media(max-width:900px){
 .site-header,.site-header.is-scrolled{top:var(--safe-top)}
 .crystal-loader .loader-top{top:calc(27px + var(--safe-top))}
 .menu-surface{padding-top:calc(18px + var(--safe-top));padding-bottom:calc(28px + var(--safe-bottom))}
 .interest-content{padding-top:calc(18px + var(--safe-top));padding-bottom:calc(30px + var(--safe-bottom))}
 .hero-bottom{bottom:max(22px,var(--safe-bottom))}
}
.page-scrollbar{position:fixed;z-index:100;top:4px;right:1px;bottom:4px;width:12px;background:transparent;pointer-events:none;mix-blend-mode:difference}
.page-scrollbar[hidden],.locked .page-scrollbar{display:none}
.js:not(.is-ready) .page-scrollbar{visibility:hidden}
.page-scrollbar-thumb{position:absolute;top:0;right:0;width:12px;min-height:32px;pointer-events:auto;touch-action:none;cursor:grab;user-select:none}
.page-scrollbar-thumb::before{content:"";position:absolute;top:0;bottom:0;right:4px;width:4px;background:rgba(255,255,255,.65);border-radius:4px}
.page-scrollbar-thumb:hover::before,.page-scrollbar-thumb:focus-visible::before,.page-scrollbar-thumb.is-dragging::before{background:#fff}
.page-scrollbar-thumb:focus-visible{outline:1px solid #fff;outline-offset:0;border-radius:5px}
.page-scrollbar-thumb.is-dragging{cursor:grabbing}
.viewport-chapter{position:relative;background:var(--paper)}
.viewport-chapter[data-nav-tone=dark]{background:var(--navy)}
.chapter-screen{position:relative;background:inherit}
.architecture-showcase{background:var(--navy)}
.fullscreen-chapters .hero{z-index:0}
.fullscreen-chapters{overflow-anchor:none}
.fullscreen-chapters .hero-stage{height:100svh;min-height:0}
.hero-visual{inset:0;will-change:auto}
.fullscreen-chapters .viewport-chapter{z-index:var(--chapter-order)}
.fullscreen-chapters .chapter-screen{height:100svh;overflow:hidden;isolation:isolate}
.fullscreen-chapters .hero-handoff,.fullscreen-chapters .hero-handoff>.pin-spacer{background:transparent}
.fullscreen-chapters .hero-handoff .chapter-screen{background:var(--navy)}
.fullscreen-chapters .mask-chapter{background:transparent}
.fullscreen-chapters .mask-chapter>.pin-spacer{background:transparent;pointer-events:none}
.fullscreen-chapters .mask-chapter>.pin-spacer>.chapter-screen{pointer-events:auto}
.fullscreen-chapters .mask-chapter .chapter-screen{top:-100svh;background:var(--navy);clip-path:polygon(0 100%,62% 100%,62% 100%,100% 100%,100% 100%,0 100%)}
.fullscreen-chapters .chapter-content{min-height:100svh;position:relative;box-sizing:border-box}
.fullscreen-chapters .chapter-content.section-pad,
.fullscreen-chapters .privileges-intro,
.fullscreen-chapters .highlights-intro{padding-top:90px;padding-bottom:clamp(28px,5svh,70px)}
.fullscreen-chapters .section-kicker{margin-bottom:clamp(24px,4svh,48px)}
.fullscreen-chapters .chapter-content>.display{font-size:clamp(44px,min(7vw,8svh),112px)}
.fullscreen-chapters .intro{display:flex;flex-direction:column;justify-content:center}
.fullscreen-chapters .intro-bottom{margin-top:clamp(28px,4svh,58px);gap:6vw}
.fullscreen-chapters .intro-bottom .lead{font-size:clamp(22px,min(2.5vw,3.4svh),38px)}
.fullscreen-chapters .facts{margin-top:clamp(30px,5svh,64px);padding-top:clamp(24px,3svh,40px)}
.fullscreen-chapters .facts dd{font-size:clamp(38px,min(4.8vw,6svh),72px);margin:18px 0 14px}
.fullscreen-chapters .facts .price-stat{font-size:clamp(32px,min(3.5vw,5svh),60px)}
.fullscreen-chapters .privileges-intro{display:flex;flex-direction:column;justify-content:center}
.fullscreen-chapters .privileges-lead{margin-top:5svh}
/* A full-bleed coastal film with a compact, stepped editorial caption. */
.privileges-intro.coastal-film{position:relative;min-height:100svh;height:100svh;padding:0;overflow:hidden;background:var(--navy);color:var(--paper)}
.coastal-film-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.coastal-film-shade{position:absolute;inset:0;background:linear-gradient(rgba(5,13,30,.27),transparent 28%,transparent 65%,rgba(5,13,30,.18));pointer-events:none}
.coastal-film-panel{position:absolute;left:24px;right:24px;bottom:24px;padding:28px 34px;display:grid;grid-template-columns:34% 66%;row-gap:34px;isolation:isolate}
.coastal-film-panel:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--navy);clip-path:polygon(0 54px,34% 54px,34% 0,100% 0,100% 100%,0 100%)}
.coastal-film-panel .section-kicker{grid-column:1;grid-row:1;margin:54px 20px 0 0;align-self:start;font-size:11px}
.coastal-film-panel .display{grid-column:2;grid-row:1;margin:0;text-align:right;font-size:clamp(30px,3.1vw,54px);line-height:1.08}
.privileges-intro.coastal-film .privileges-lead{grid-column:1 / -1;grid-row:2;justify-self:start;max-width:none;margin:0;font-size:clamp(17px,1.5vw,23px);line-height:1.45}
.fullscreen-chapters .highlights-intro{align-items:center}
.fullscreen-chapters .media-chapter{height:100svh}
.fullscreen-chapters .chapter-image{height:100svh;min-height:0}
.fullscreen-chapters .chapter-panel{position:absolute;bottom:28px;left:24px;right:24px;margin:0;padding:30px 36px;clip-path:polygon(0 0,66% 0,66% 60px,100% 60px,100% 100%,0 100%)}
.fullscreen-chapters .chapter-panel>.display{font-size:clamp(38px,min(5vw,6svh),78px);margin-bottom:24px}
.fullscreen-chapters .panel-body{gap:6vw;padding-bottom:0}
.fullscreen-chapters .panel-body .lead{font-size:clamp(22px,2.1vw,32px)}
.fullscreen-chapters .chapter-panel .story-more{margin-top:16px}
.fullscreen-chapters .gallery-footer{margin-top:20px}
.fullscreen-chapters .coastal-manifesto{align-items:stretch}
.fullscreen-chapters .manifesto-image{height:100svh;min-height:0}
.fullscreen-chapters .manifesto-copy{padding:90px clamp(28px,4vw,65px) 40px}
.fullscreen-chapters .manifesto-copy>.eyebrow{margin-bottom:28px}
.fullscreen-chapters .word-reveal{font-size:clamp(38px,min(5vw,7svh),82px);margin-bottom:28px}
.fullscreen-chapters .manifesto-lead{font-size:clamp(24px,min(2.6vw,4svh),40px);margin-bottom:22px}
.fullscreen-chapters .master-plan{display:flex;flex-direction:column;justify-content:center}
.fullscreen-chapters .plan-frame{min-height:0;height:65svh}
.fullscreen-chapters .plan-grid .display{font-size:clamp(46px,min(7vw,9svh),105px)}
.fullscreen-chapters .architecture-showcase{height:100svh}
.fullscreen-chapters .architecture-cover{position:absolute;inset:0;height:100%;min-height:0;max-height:none}
.fullscreen-chapters .architecture-cover>.image-caption{top:90px}
.fullscreen-chapters .architecture-editorial{position:absolute;left:24px;right:24px;bottom:24px;margin:0;padding:32px 36px;clip-path:polygon(0 0,59% 0,59% 50px,100% 50px,100% 100%,0 100%)}
.fullscreen-chapters .architecture-title-block .display{font-size:clamp(40px,min(5.7vw,7svh),85px)}
.fullscreen-chapters .architecture-caption-block{padding-top:38px}
.fullscreen-chapters .architecture-gallery .architecture-description{padding:16px 0 0}
.fullscreen-chapters .architecture-description h3{font-size:24px;margin-bottom:8px}
.fullscreen-chapters .architecture-description>.body-copy{margin-top:10px}
.fullscreen-chapters .villa-vision{align-items:center}
.fullscreen-chapters .villa-vision .display{font-size:clamp(44px,min(5.8vw,8svh),90px)}
.fullscreen-chapters .vision-copy .lead{font-size:clamp(24px,min(2.7vw,4svh),40px)}
.fullscreen-chapters .collection{display:flex;flex-direction:column;justify-content:center}
.fullscreen-chapters .collection-number{font-size:clamp(170px,min(27vw,47svh),480px)}
.fullscreen-chapters .collection-grid .display{font-size:clamp(42px,min(5.6vw,7svh),94px)}
/* Fill the scene edge to edge, framing the plot avenue within the left side. */
#collection.collection-composition{--collection-media-width:57%;position:relative;display:block;padding:0;min-height:100svh;height:100svh;overflow:hidden;background:var(--navy);color:var(--paper)}
#collection .collection-image{position:absolute;inset:0;width:100%;height:100%;min-height:0;background:var(--navy);overflow:hidden}
#collection .collection-image>img,#collection .location-night-reveal>img{width:100%;height:100%;object-fit:cover;object-position:20% center;transform:none;will-change:auto}
#collection .collection-view-toggle{position:absolute;z-index:3;left:24px;bottom:24px;display:flex;align-items:center;gap:14px;padding:12px 16px;background:rgba(9,21,39,.72);color:var(--paper);font-size:10px;text-transform:uppercase}
#collection .collection-view-toggle button{padding:5px 0;opacity:.6;border-bottom:1px solid transparent;font-size:inherit;text-transform:inherit}
#collection .collection-view-toggle button[aria-pressed=true]{opacity:1;border-bottom-color:currentColor}
#collection .collection-panel-reveal{position:absolute;inset:0 0 0 var(--collection-media-width);isolation:isolate;pointer-events:none}
#collection .collection-paper{position:absolute;inset:0;background:var(--navy);clip-path:polygon(0 64px,8vw 64px,8vw 0,100% 0,100% 100%,0 100%)}
#collection .collection-panel{position:absolute;inset:0;padding:clamp(88px,10svh,124px) clamp(28px,3.5vw,66px) clamp(24px,4svh,52px);display:flex;flex-direction:column;pointer-events:auto;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin}
#collection .section-kicker{margin:0 0 clamp(18px,3svh,38px);font-size:10px}
#collection .collection-number{position:relative;isolation:isolate;display:grid;grid-template-columns:max-content max-content;align-items:end;justify-content:start;font-size:clamp(100px,min(17vw,21svh),270px);margin:0;padding:0;line-height:.86;letter-spacing:-.085em;flex-shrink:0}
#collection .collection-number>span{position:relative;z-index:3;color:var(--paper);text-shadow:0 2px 18px rgba(22,33,62,.3)}
#collection .collection-number>.eyebrow{position:relative;inset:auto;z-index:3;grid-column:1 / -1;letter-spacing:.025em;font-size:clamp(18px,1.65vw,26px);line-height:1.35;margin:22px 0 0 4px;color:var(--paper)}
#collection .collection-crystal{--overview-height:clamp(140px,19svh,215px);position:absolute;left:-12%;top:0;width:100%;height:var(--overview-height);pointer-events:none}
#collection .collection-copy{position:relative;z-index:1;margin-top:auto;padding-top:clamp(26px,4svh,54px);flex-shrink:0}
#collection .collection-copy .display{font-size:clamp(38px,min(4.7vw,7svh),78px);line-height:1.06;margin:0}
#collection .collection-copy .lead{font-size:clamp(17px,min(1.7vw,2.6svh),27px);line-height:1.5;margin-top:clamp(18px,2.5svh,32px)}
#collection .collection-actions{gap:12px;margin-top:clamp(20px,3svh,38px)}
#collection .collection-actions>.button{min-width:0;flex:1;padding:18px 20px;font-size:9px;gap:16px;white-space:nowrap}
#collection .button-outline{border-color:rgba(248,251,253,.4);color:var(--paper)}
#collection .story-more{color:var(--paper);border-color:rgba(248,251,253,.25);margin-top:clamp(18px,2.5svh,32px);max-width:none}
#collection .story-more summary{padding:18px 0;font-size:9px}
#collection .story-more .long-copy{max-height:20svh;overflow:auto;overscroll-behavior:contain;padding-right:14px}
#collection .story-more .long-copy p{font-size:12px;line-height:1.7}
@media(min-width:901px){#collection .story-more .long-copy{max-height:none;overflow:visible}}
@media(max-width:900px){
 .fullscreen-chapters .chapter--collection .chapter-screen{height:auto;overflow:visible}
 #collection.collection-composition{height:auto;min-height:100svh;overflow:visible}
 #collection .collection-image{position:relative;width:100%;height:auto;aspect-ratio:1672 / 941}
 #collection .collection-image>img,#collection .location-night-reveal>img{object-fit:contain;object-position:center}
 #collection .collection-view-toggle{top:76px;left:16px;bottom:auto}
 #collection .collection-panel-reveal{position:relative;inset:auto;margin-top:-32px;padding-top:32px}
 #collection .collection-paper{clip-path:polygon(0 32px,64% 32px,64% 0,100% 0,100% 100%,0 100%)}
 #collection .collection-panel{position:relative;inset:auto;padding:28px 24px 34px;overflow:visible;overflow-x:clip}
 #collection .collection-number{font-size:clamp(140px,32vw,220px);grid-template-columns:.43em .58em;align-items:center;line-height:.9}
 #collection .collection-number>.eyebrow{grid-column:1 / -1;font-size:clamp(20px,3vw,26px);margin:22px 0 0 4px;width:max-content;max-width:calc(100vw - 52px)}
 #collection .collection-crystal{--overview-height:150px;left:-6%;top:-8px;width:min(100%,420px)}
 #collection .section-kicker{margin-bottom:28px}
 #collection .collection-copy{padding-top:34px;margin:0}
 #collection .collection-copy .display{font-size:clamp(42px,7.5vw,64px)}
 #collection .collection-copy .lead{font-size:20px}
 #collection .collection-actions>.button{flex-basis:100%;width:100%;padding:18px 22px}
 #collection .story-more .long-copy{max-height:32svh}
 .fullscreen-chapters .chapter--collection:has(.collection-mobile-settle) .chapter-screen{height:100svh;overflow:hidden}
 #collection.collection-mobile-settle{height:100%;min-height:0;overflow:hidden}
 #collection.collection-mobile-settle .collection-image{position:absolute;inset:0 0 auto;height:100%;aspect-ratio:auto;min-height:0}
 #collection.collection-mobile-settle .collection-image>img,
 #collection.collection-mobile-settle .location-night-reveal>img{object-fit:cover;object-position:23% center!important;transform-origin:23% center;translate:none!important;rotate:none!important;scale:none!important;clip-path:none!important;will-change:transform}
 #collection.collection-mobile-settle .collection-view-toggle{top:72px;left:16px;padding:8px 12px;font-size:9px}
 #collection.collection-mobile-settle .collection-panel-reveal{position:absolute;inset:40% 0 0;z-index:2;margin:0;padding:0}
 #collection.collection-mobile-settle .collection-paper{clip-path:polygon(0 18px,64% 18px,64% 0,100% 0,100% 100%,0 100%)}
 #collection.collection-mobile-settle .collection-panel{position:absolute;inset:0;padding:28px 22px 14px;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
 #collection.collection-mobile-settle .section-kicker{font-size:8px;margin-bottom:clamp(12px,1.8svh,18px)}
 #collection.collection-mobile-settle .collection-number{font-size:clamp(66px,10.5svh,100px);line-height:.86}
 #collection.collection-mobile-settle .collection-number>.eyebrow{font-size:clamp(12px,1.7svh,15px);line-height:1.3;margin:clamp(12px,1.8svh,18px) 0 0 2px}
 #collection.collection-mobile-settle .collection-crystal{--overview-height:clamp(78px,10.8svh,108px);left:0;top:-4px;width:min(82%,310px)}
 #collection.collection-mobile-settle .collection-copy{padding-top:clamp(18px,2.6svh,26px)}
 #collection.collection-mobile-settle .collection-copy .display{font-size:clamp(24px,min(7.2vw,3.6svh),34px);line-height:1.04}
 #collection.collection-mobile-settle .collection-copy .lead{font-size:clamp(12px,1.7svh,15px);line-height:1.4;margin-top:clamp(14px,2svh,20px)}
 #collection.collection-mobile-settle .collection-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:clamp(18px,2.6svh,26px)}
 #collection.collection-mobile-settle .collection-actions>.button{width:100%;min-width:0;min-height:44px;padding:12px 10px;font-size:8px;gap:6px;white-space:normal}
 #collection.collection-mobile-settle .story-more{margin-top:clamp(14px,2svh,20px)}
 #collection.collection-mobile-settle .story-more summary{font-size:8px;padding:clamp(12px,1.6svh,16px) 0}
}
@media(prefers-reduced-motion:reduce){
 #collection .collection-paper{will-change:auto}
 #collection .collection-panel-reveal,#collection .collection-panel{clip-path:none!important;transform:none!important;opacity:1!important;visibility:visible!important}
}
/* Illustrated infrastructure cards alternate over full-bleed photography. */
.infrastructure-story{position:relative;background:var(--navy);color:var(--paper);padding:0}
.infrastructure-intro{position:relative;padding:90px 24px 48px;z-index:3}
.infrastructure-intro .eyebrow{font-size:10px;margin:0 0 16px}
.infrastructure-intro h2{font-size:clamp(28px,3.2vw,48px);line-height:1.06;letter-spacing:-.055em;margin:0}
.infrastructure-backdrops{display:none;position:absolute;inset:0;overflow:hidden;z-index:0}
.infrastructure-backdrop{position:absolute;inset:0}
.infrastructure-backdrop img{width:100%;height:100%;object-fit:cover;object-position:center}
.infrastructure-shade{position:absolute;inset:0;z-index:10;pointer-events:none;background:linear-gradient(180deg,rgba(8,20,37,.35),transparent 45%,rgba(8,20,37,.16))}
.infrastructure-rail{display:flex;flex-direction:column;position:relative;z-index:2}
.infrastructure-item{position:relative;min-height:100svh;display:flex;align-items:center;padding:24px}
.infrastructure-item:nth-child(even){justify-content:flex-end}
.infrastructure-mobile-photo{position:absolute;inset:0}
.infrastructure-mobile-photo img{width:100%;height:100%;object-fit:cover}
.infrastructure-backdrop[data-infrastructure-image="0"] img,.infrastructure-backdrop[data-infrastructure-image="5"] img,
.infrastructure-item[data-infrastructure-index="0"] .infrastructure-mobile-photo img,.infrastructure-item[data-infrastructure-index="5"] .infrastructure-mobile-photo img{transform:scaleX(-1)}
.infrastructure-card{position:relative;z-index:2;width:clamp(310px,32vw,600px);height:42svh;min-height:340px;padding:26px 28px 48px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;background:#080e25;color:var(--paper);clip-path:polygon(0 0,100% 0,100% 88%,78% 88%,78% 100%,0 100%)}
.infrastructure-card h3{font-size:clamp(11px,1vw,16px);line-height:1.4;text-transform:uppercase;letter-spacing:.02em;font-weight:400;margin:0;max-width:92%}
.infrastructure-card p{font-size:clamp(12px,1vw,16px);line-height:1.55;margin:0;max-width:75%}
.infrastructure-illustration{width:clamp(100px,12vw,180px);height:clamp(100px,12vw,180px);align-self:center;flex-shrink:0}
.infrastructure-art-strokes path{stroke-dasharray:44}
.infrastructure-item:nth-child(even) .infrastructure-card{clip-path:polygon(22% 0,100% 0,100% 100%,0 100%,0 12%,22% 12%)}
.infrastructure-item:nth-child(even) .infrastructure-card h3,.infrastructure-item:nth-child(even) .infrastructure-card p{margin-left:auto;text-align:right}
.infrastructure-is-pinned{height:100svh;min-height:0!important;overflow:hidden}
.infrastructure-is-pinned .infrastructure-backdrops{display:block}
.infrastructure-is-pinned .infrastructure-intro{position:absolute;top:88px;left:24px;padding:0;pointer-events:none}
.infrastructure-is-pinned .infrastructure-rail{padding:28svh 24px 30svh;gap:12svh;will-change:transform}
.infrastructure-is-pinned .infrastructure-item{padding:0;height:42svh;min-height:0;flex-shrink:0;align-items:stretch}
.infrastructure-is-pinned .infrastructure-mobile-photo{display:none}
.infrastructure-is-pinned .infrastructure-card{height:100%;min-height:0}
@media(max-width:900px){
 .fullscreen-chapters .chapter--technology .chapter-screen{height:auto;overflow:visible}
 .infrastructure-intro{padding:90px 24px 40px}
 .infrastructure-item,.infrastructure-item:nth-child(even){min-height:0;padding:0 0 48px;display:block}
 .infrastructure-mobile-photo{position:relative;width:100%;height:58vw;min-height:250px}
 .infrastructure-card{width:calc(100% - 32px);height:350px;min-height:0;margin:-64px 16px 0;padding:26px 28px 48px}
 .infrastructure-card h3{font-size:13px}
 .infrastructure-card p{font-size:14px}
 .infrastructure-illustration{width:128px;height:128px}
}
/* Coastal life: staggered editorial copy above a wide, sliding photograph. */
.life-editorial{background:#080e25;color:var(--paper);padding:0 24px 24px;min-height:100svh}
.life-editorial-intro{height:max(42svh,300px);min-height:300px;position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto 1fr auto;gap:16px;padding:clamp(70px,7svh,88px) 0 clamp(24px,4svh,52px)}
.life-editorial-intro>.eyebrow{grid-column:1 / 4;grid-row:1;font-size:10px;margin:0;color:rgba(240,246,255,.65)}
.life-editorial-heading{grid-column:8 / 13;grid-row:1 / 3;align-self:start}
.life-editorial-heading h2{font-size:clamp(40px,4vw,68px);line-height:1.05;letter-spacing:-.045em;margin:0 0 24px;font-weight:400;text-transform:uppercase}
.life-editorial-heading p{font-size:clamp(16px,1.3vw,22px);line-height:1.4;text-transform:uppercase;margin:0;max-width:600px}
.life-editorial-note{grid-column:1 / 5;grid-row:3;font-size:clamp(11px,.85vw,14px);line-height:1.4;text-transform:uppercase;margin:0;color:rgba(240,246,255,.68)}
.life-gallery{height:calc(100svh - max(42svh,300px) - 24px);min-height:360px;position:relative;overflow:hidden;background:#080e25;touch-action:pan-y;outline-offset:5px}
.life-gallery-photos,.life-gallery-slide{position:absolute;inset:0;overflow:hidden}
.life-gallery-slide{visibility:hidden;opacity:0}
.life-gallery-slide:first-child{visibility:visible;opacity:1}
.life-gallery-slide img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transform:scale(1.08)}
.life-gallery-controls{position:absolute;right:0;top:0;z-index:3;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:24px;width:clamp(240px,18vw,320px);height:74px;padding:6px 12px 24px 38px}
/* Bleed the corner mask past both photo edges to cover fractional-pixel seams. */
.life-gallery-controls::before{content:"";position:absolute;inset:-2px -2px 0 0;z-index:-1;background:#080e25;clip-path:polygon(0 0,100% 0,100% 100%,10% 100%,10% 68%,0 68%);pointer-events:none}
.life-gallery-controls>span{font-size:10px;letter-spacing:.12em;font-variant-numeric:tabular-nums;white-space:nowrap}
.life-gallery-controls>div{display:flex;gap:8px;flex-shrink:0}
.life-gallery-controls button{border:0;border-radius:50%;height:40px;width:40px;padding:0;display:grid;place-items:center;background:var(--paper);color:#080e25;font-size:18px;transition:background .18s,transform .18s}
.life-gallery-controls button:hover{background:var(--gold);transform:translateY(-2px)}
.life-gallery-controls button:active{transform:translateY(0) scale(.94)}
.life-gallery-caption{position:absolute;bottom:20px;left:20px;z-index:3;font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:9px 13px;background:rgba(8,14,37,.65)}
.fullscreen-chapters .life-editorial{height:100svh;min-height:0}
.fullscreen-chapters .life-editorial-intro{min-height:0}
.fullscreen-chapters .life-gallery{min-height:0}
@media(max-width:900px){
 .fullscreen-chapters .chapter--coastal-life .chapter-screen{height:auto;overflow:visible}
 .life-editorial,.fullscreen-chapters .life-editorial{height:auto;min-height:0;padding:0 16px 32px}
 .life-editorial-intro,.fullscreen-chapters .life-editorial-intro{height:auto;min-height:0;padding:90px 0 42px;display:grid;grid-template-columns:1fr 1fr;gap:32px 16px}
 .life-editorial-intro>.eyebrow{grid-column:1 / 3;grid-row:1;font-size:9px}
 .life-editorial-heading{grid-column:1 / 3;grid-row:2;max-width:520px;margin-left:8%}
 .life-editorial-heading h2{font-size:clamp(38px,10vw,46px);margin-bottom:22px}
 .life-editorial-heading p{font-size:15px;line-height:1.45}
 .life-editorial-note{grid-column:1 / 3;grid-row:3;max-width:65%;font-size:11px}
 .life-gallery,.fullscreen-chapters .life-gallery{height:88vw;min-height:320px;max-height:560px}
 .life-gallery-controls{width:200px;height:66px;padding:6px 12px 20px 30px;gap:20px}
 .life-gallery-controls button{width:36px;height:36px;font-size:16px}
 .life-gallery-caption{font-size:9px;bottom:14px;left:14px}
}
@media(prefers-reduced-motion:reduce){.life-gallery-controls button{transition:none}}
/* A photographic year on paper, followed by a stepped, open heritage story. */
.heritage-editorial{background:#fff;padding:0;color:#f0f6ff}
.heritage-poster{height:72svh;min-height:480px;margin:0;padding:54px 24px 0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.heritage-poster>img{display:block;width:100%;height:100%;object-fit:contain}
.heritage-editorial-panel{position:relative;isolation:isolate;margin:-48px 24px 24px;padding:22px 28px 28px;color:#f0f6ff}
.heritage-editorial-panel::before{content:"";position:absolute;inset:0;z-index:-1;background:#080e25;clip-path:polygon(0 0,50% 0,50% 44px,100% 44px,100% 100%,0 100%)}
.heritage-panel-header{display:grid;grid-template-columns:1fr 1fr;column-gap:6vw;align-items:start}
.heritage-panel-header h2{font-size:clamp(30px,2.8vw,44px);line-height:1;letter-spacing:-.045em;font-weight:400;text-transform:uppercase;margin:0}
.heritage-panel-header>.eyebrow{margin:30px 0 0;text-align:right;font-size:10px;line-height:1.5;color:rgba(240,246,255,.64)}
.heritage-editorial-body{display:grid;grid-template-columns:.7fr 1.3fr;gap:5vw;padding-top:28px}
.heritage-story-intro>.eyebrow{font-size:10px;margin:0 0 16px;color:rgba(240,246,255,.64)}
.heritage-story-intro h3{font-size:clamp(26px,2.4vw,38px);line-height:1.1;letter-spacing:-.045em;font-weight:400;text-transform:uppercase;margin:0 0 16px}
.heritage-story-intro .lead{font-size:17px;margin:0}
.heritage-editorial .story-more{margin:0;max-width:760px;border-color:rgba(240,246,255,.24)}
.heritage-story-label{margin:0;padding:14px 0 16px;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:rgba(240,246,255,.64)}
.heritage-editorial .long-copy{padding:0}
.heritage-editorial .long-copy p{font-size:clamp(13px,.95vw,15px);line-height:1.65;margin-bottom:12px}
.heritage-editorial .long-copy p:last-child{margin-bottom:0}
@media(max-width:900px){
 .fullscreen-chapters .chapter--heritage .chapter-screen{height:auto;overflow:visible}
 .heritage-editorial,.fullscreen-chapters .heritage-editorial{min-height:0}
 .heritage-poster{height:56vw;min-height:280px;padding:54px 0 16px}
 .heritage-editorial-panel{margin:-16px 16px 16px;padding:22px 20px 28px}
 .heritage-editorial-panel::before{clip-path:polygon(0 0,80% 0,80% 42px,100% 42px,100% 100%,0 100%)}
 .heritage-panel-header{display:block}
 .heritage-panel-header h2{font-size:clamp(26px,5.7vw,36px);max-width:80%}
 .heritage-panel-header>.eyebrow{margin:28px 0 0;text-align:left;font-size:9px}
 .heritage-editorial-body{display:block;padding-top:28px}
 .heritage-story-intro>.eyebrow{font-size:9px;margin-bottom:14px}
 .heritage-story-intro h3{font-size:clamp(26px,6.6vw,34px);margin-bottom:14px}
 .heritage-story-intro .lead{font-size:16px}
 .heritage-editorial .story-more{margin-top:24px}
 .heritage-story-label{font-size:9px;padding:14px 0}
 .heritage-editorial .long-copy p{font-size:13px;line-height:1.7}
}
.fullscreen-chapters .contact>.display{font-size:clamp(44px,min(6.5vw,7svh),100px)}
.fullscreen-chapters .contact-grid{margin-top:clamp(24px,4svh,50px)}
.fullscreen-chapters .contact-previews{margin-top:28px}
.fullscreen-chapters .site-footer{display:flex;flex-direction:column;justify-content:center}
.fullscreen-chapters .footer-grid{padding-bottom:clamp(35px,6svh,85px)}

/* The closing sections return to ordinary scrolling and content-led heights. */
.fullscreen-chapters :is(.chapter--contact,.chapter--footer) .chapter-screen{height:auto;overflow:visible;isolation:isolate}
.fullscreen-chapters :is(.contact-editorial,.footer-editorial){min-height:0;height:auto;display:block}
.viewport-chapter.chapter--contact,.chapter--contact .chapter-screen{background:transparent}
.chapter--contact{clip-path:polygon(0 0,57% 0,57% 32px,100% 32px,100% 100%,0 100%)}
.contact.contact-editorial{position:relative;background:var(--navy);color:var(--paper);padding:70px 24px clamp(120px,10vw,160px);clip-path:polygon(0 0,57% 0,57% 32px,100% 32px,100% 100%,0 100%)}
.contact-editorial-intro{display:grid;grid-template-columns:1fr 1fr;gap:24px 5vw;align-items:end}
.contact-title{font-size:clamp(40px,4.7vw,72px);line-height:1.04;letter-spacing:-.05em;text-transform:uppercase;font-weight:400;margin:0}
.contact-lead{font-size:clamp(17px,1.5vw,23px);line-height:1.5;margin:0;justify-self:end;text-align:right}
.contact-editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px;align-items:stretch}
.contact-map-card{position:relative;width:100%;min-width:0;min-height:360px;padding:0;overflow:hidden;background:#e4e4e4;color:#222}
.contact-map{position:absolute;inset:0;isolation:isolate;border:0;width:100%;height:100%;background:#e4e4e4;font-family:inherit;color-scheme:light}
.contact-map .leaflet-tile-pane{filter:grayscale(1)}
.contact-map .leaflet-control-attribution{padding:3px 7px;background:rgba(255,255,255,.9);color:#444;font-size:10px;line-height:1.4}
.contact-map .leaflet-control-attribution a{color:#333}
.contact-map-marker{background:none;border:0}
.contact-map-marker>a,.contact-map-fallback{display:grid;place-items:center;width:38px;height:38px;border:3px solid #fff;border-radius:50% 50% 50% 0;background:#202020;color:#fff;box-shadow:0 3px 12px #0003;transform:rotate(-45deg)}
.contact-map-marker>a::after{content:"";width:10px;height:10px;border-radius:50%;background:white}
.contact-map-marker>a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.contact-map-fallback{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);border-radius:50%}
.contact-map.leaflet-container.map-tiles-ready>.contact-map-fallback{display:none}
.contact-editorial .form-card{max-width:none;clip-path:none;background:var(--paper);color:var(--navy);padding:28px 34px 30px;--line:rgba(22,33,62,.25)}
.contact-editorial .brand-pair{margin-bottom:32px;gap:26px}
.contact-editorial .brand-pair .mgp-logo{width:clamp(150px,15vw,220px);height:auto}
.contact-editorial .solitaire-mark{font-size:12px}
.contact-editorial .form-card h3{font-size:clamp(24px,2.1vw,32px);margin:0 0 14px}
.contact-editorial .form-intro{font-size:13px;line-height:1.6;margin-bottom:28px}
.contact-editorial .field{margin-bottom:24px}
.contact-editorial .field input{color:var(--navy);border-color:rgba(22,33,62,.3);font-size:16px}
.contact-editorial .field input::placeholder{color:rgba(22,33,62,.5)}
.contact-editorial .field input:focus{border-color:var(--gold)}
.contact-editorial .consent{font-size:11px;line-height:1.6;margin-bottom:20px}
.contact-editorial .consent input{accent-color:var(--gold)}
.contact-editorial .button-dark{background:var(--navy);color:var(--paper)}
.contact-editorial .form-preview{color:rgba(22,33,62,.6);font-size:10px}
.contact-editorial .form-error{color:#a53424}
.contact-editorial .form-success{min-height:390px;align-content:center}
.footer-editorial{position:relative;isolation:isolate;padding:0 clamp(24px,4vw,64px) 36px;background:var(--navy);color:var(--navy)}
.footer-editorial::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--paper);clip-path:polygon(0 0,76% 0,76% 150px,100% 150px,100% 100%,0 100%)}
.footer-editorial-top{display:grid;grid-template-columns:42% 1fr;align-items:start;gap:24px;padding:24px 0 0}
.footer-editorial .footer-wordmark{grid-column:2;font-size:clamp(54px,6vw,104px);line-height:.92;letter-spacing:-.035em;margin:0;font-weight:300;justify-self:start}
.footer-visit{justify-self:start;min-height:54px;max-width:300px;padding:20px 30px;background:var(--navy);color:var(--paper);font-size:11px;text-transform:uppercase;letter-spacing:.02em;clip-path:polygon(0 0,100% 0,100% 68%,92% 68%,92% 100%,0 100%)}
.footer-editorial .footer-grid{grid-template-columns:1.25fr .7fr 1fr;gap:8%;padding:80px 0 64px}
.footer-editorial .footer-grid .mgp-logo{width:270px;max-width:100%;height:auto}
.footer-editorial .footer-grid h3{font-size:23px;margin:32px 0 20px}
.footer-editorial .footer-grid p:not(.eyebrow){font-size:15px;line-height:1.8;max-width:440px;margin-bottom:0}
.footer-editorial .footer-grid .line-link{margin-top:26px;font-size:12px;border-color:rgba(22,33,62,.3)}
.footer-editorial .footer-grid nav{gap:20px;font-size:15px}
.footer-editorial .footer-grid nav>.eyebrow{font-size:11px;margin-bottom:18px}
.footer-editorial .footer-grid>div:last-child>.eyebrow{font-size:11px;margin-bottom:30px}
.footer-editorial .footer-grid .footer-place{font-size:20px!important;line-height:1.8!important}
.footer-editorial .footer-bottom{margin:0;padding-top:26px;border-color:rgba(22,33,62,.2);color:rgba(22,33,62,.65);font-size:10px}
.footer-editorial .footer-bottom button,.footer-editorial .footer-bottom a{color:var(--navy);font-size:10px}
@media(max-width:900px){
 .contact.contact-editorial{padding:64px 16px 100px}
 .chapter--contact,.contact.contact-editorial{clip-path:polygon(0 0,57% 0,57% 24px,100% 24px,100% 100%,0 100%)}
 .contact-editorial-intro{gap:24px 16px}
 .contact-title{font-size:clamp(36px,6.3vw,56px);grid-column:1 / -1}
 .contact-lead{grid-column:1 / -1;text-align:left;justify-self:start;font-size:18px}
 .contact-editorial-grid{gap:16px;margin-top:28px}
 .contact-editorial .form-card{padding:26px 24px}
 .contact-editorial .brand-pair{flex-wrap:wrap;gap:16px;margin-bottom:26px}
 .footer-editorial{padding:0 24px 30px}
 .footer-editorial::before{clip-path:polygon(0 0,76% 0,76% 92px,100% 92px,100% 100%,0 100%)}
 .footer-editorial-top{grid-template-columns:42% 1fr;gap:16px;padding-top:18px}
 .footer-editorial .footer-wordmark{font-size:clamp(34px,5.5vw,50px)}
 .footer-visit{font-size:9px;padding:14px 20px;min-height:44px}
 .footer-editorial .footer-grid{grid-template-columns:1.2fr 1fr;gap:44px 40px;padding:60px 0 44px}
 .footer-editorial .footer-grid>div:first-child{grid-column:1 / -1}
 .footer-editorial .footer-grid>div:first-child>p{max-width:540px}
 .footer-editorial .footer-grid .footer-place{font-size:17px!important}
}
@media(max-width:600px){
 .contact-editorial-grid{grid-template-columns:1fr}
 .contact.contact-editorial{padding-bottom:88px}
 .contact-map-card{min-height:320px;aspect-ratio:1.1}
 .contact-editorial .form-card h3{font-size:26px}
 .contact-editorial .brand-pair{flex-wrap:nowrap;justify-content:space-between;gap:12px}
 .contact-editorial .brand-pair .mgp-logo{width:155px}
 .contact-editorial .solitaire-mark{font-size:10px;letter-spacing:.12em}
 .footer-editorial-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px}
 .footer-editorial .footer-wordmark{order:-1;font-size:clamp(38px,10vw,54px);width:100%}
 .footer-editorial .footer-grid{padding-top:44px;gap:38px 24px}
 .footer-editorial .footer-grid nav{font-size:13px;gap:18px}
 .footer-editorial .footer-grid .footer-place{font-size:15px!important}
 .footer-editorial .footer-bottom{gap:18px 12px;font-size:8px}
}

/* The same scenes and controls are available on touch screens. */
.fullscreen-chapters .scroll-journey,.fullscreen-chapters .desktop-journey .journey-stage{height:100svh;min-height:0;overflow:hidden}
.fullscreen-chapters .journey-scene{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;display:block;overflow:hidden;background:var(--navy)}
.fullscreen-chapters .scene-image{position:absolute;inset:0;height:100%;min-height:0;max-height:none}
.fullscreen-chapters .journey-toolbar{display:flex!important}
.fullscreen-chapters .scene-card,.fullscreen-chapters .highlight-card{position:absolute;left:var(--pad);bottom:90px;margin:0}
.fullscreen-chapters .scene-youth .scene-card{left:auto;right:var(--pad)}
@media(min-width:901px){
 .fullscreen-chapters .highlight-navigation{display:block!important}
 .fullscreen-chapters .highlight-navigation>button{min-height:50px;padding:12px 0}
 .fullscreen-chapters .scene-card{max-height:calc(100svh - 180px);overflow-y:auto}
 .fullscreen-chapters .media-chapter:not(:is(#location,#arrival)):has(.chapter-panel details[open]){height:auto;padding-top:38svh}
 .fullscreen-chapters .media-chapter:not(:is(#location,#arrival)):has(.chapter-panel details[open]) .chapter-image{position:absolute;inset:0;height:100%}
 .fullscreen-chapters .media-chapter:not(:is(#location,#arrival)) .chapter-panel:has(details[open]){position:relative;left:auto;right:auto;bottom:auto;margin:0 24px 28px}
}

/* Image bounds measured from the former diamond: preserve its pose and placement. */
.overview-jewel{position:relative;min-width:0}
.overview-jewel>.eyebrow{position:absolute;top:0;left:0;z-index:1;color:var(--gold)}
.overview-crystal{--overview-height:clamp(190px,28svh,350px);position:relative;z-index:2;height:var(--overview-height);width:90%;margin:-24px 0 -18px 10%;transform:translateY(-70%);pointer-events:none}
.overview-prism-art{position:absolute;left:49.94%;top:50.524%;width:min(92%,calc(var(--overview-height) * 1.55025));aspect-ratio:1.904;transform:translate(calc(-50% + var(--jewel-x,0px)),calc(-50% + var(--jewel-y,0px)))}
.overview-diamond{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:fill;opacity:.64}
.overview-prism-rays{position:absolute;inset:-150% -115%;transform:rotate(-11deg);mix-blend-mode:screen;mask-image:radial-gradient(ellipse closest-side,#000 18%,#000b 48%,#0004 72%,transparent 100%)}
.overview-prism-rays::before,.overview-prism-rays::after{content:"";position:absolute;inset:0;pointer-events:none}
.overview-prism-rays::before{background:var(--prism-streaks) center/100% 100% no-repeat;opacity:.3}
/* Cover the whole feathered field: a contained square leaves hard inner edges. */
.overview-prism-rays::after{background:var(--prism-rays) center/cover no-repeat;mix-blend-mode:screen;opacity:.3}
.overview-prism-art::after{content:"";position:absolute;inset:-150% -115%;z-index:2;background:var(--prism-grain) 0 0/180px 180px repeat;opacity:.24;mix-blend-mode:overlay;mask-image:radial-gradient(ellipse closest-side,#000 18%,#000b 48%,#0004 72%,transparent 100%);pointer-events:none}
#about .intro-bottom{align-items:center}

/* Slim chapter indicators retain a generous hit area and keyboard focus. */
.journey-dots{gap:8px!important}
.journey-dots button[aria-pressed]{position:relative;width:20px;height:28px;padding:0;border:0;background:transparent;outline:none;opacity:.45}
.journey-dots button::after{content:"";position:absolute;left:0;right:0;top:calc(50% - 1px);height:2px;background:currentColor;pointer-events:none}
.journey-dots button[aria-pressed=true]{opacity:1}
.journey-dots button:focus-visible{outline:2px solid currentColor;outline-offset:2px}

/* A pinned photograph with an independently unfolding, stepped paper card. */
.address-panel-reveal{position:relative;overflow-anchor:none}
.location-night-reveal{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 100% 0 0);pointer-events:none;will-change:clip-path}
.location-night-reveal>img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);will-change:transform}
@media(max-width:900px){.location-night-reveal>img{object-position:60% center}}
@media(prefers-reduced-motion:reduce){.location-night-reveal>img{transform:none!important}.location-night-reveal{will-change:auto}}
.address-surface{display:none}
:is(#location,#arrival) .long-copy{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8a94aa transparent}
:is(#location,#arrival) .story-more.is-expanding .long-copy{overflow:hidden!important}
.fullscreen-chapters :is(#location,#arrival).media-chapter{height:100svh;min-height:100svh;padding:0}
.fullscreen-chapters :is(#location,#arrival) .chapter-image{position:absolute;inset:0;height:100%;min-height:0}
.fullscreen-chapters :is(#location,#arrival) .address-panel-reveal{position:absolute;left:24px;right:24px;bottom:24px}
.fullscreen-chapters :is(#location,#arrival) .address-surface{display:block;position:absolute;inset:0;background:var(--paper);clip-path:polygon(51% 60px,67% 60px,67% 0,100% 0,100% 100%,51% 100%)}
.fullscreen-chapters :is(#location,#arrival) .chapter-panel{position:relative;left:auto;right:auto;bottom:auto;width:49%;margin:0 0 0 auto;padding:28px 30px 30px;background:transparent;clip-path:none}
.fullscreen-chapters :is(#location,#arrival) .chapter-panel>.display{font-size:clamp(32px,3.3vw,54px);line-height:1.05;max-width:none;margin:0 0 34px 34%;text-align:right}
.fullscreen-chapters :is(#location,#arrival) .panel-body{display:block}
.fullscreen-chapters :is(#location,#arrival) .panel-body>.eyebrow{margin:0 0 25px;font-size:10px}
.fullscreen-chapters :is(#location,#arrival) .panel-body .lead{font-size:clamp(21px,2vw,30px);line-height:1.4}
.fullscreen-chapters :is(#location,#arrival) .story-more{margin-top:22px}
.fullscreen-chapters :is(#location,#arrival) .long-copy{max-height:30svh;overflow-y:auto;padding-right:12px}
.fullscreen-chapters :is(#location,#arrival) .long-copy p{font-size:13px;line-height:1.8}
@media(max-width:900px){
 .overview-jewel{height:150px}
 .overview-crystal{--overview-height:190px;position:absolute;top:-135px;left:8%;width:92%;max-width:470px;margin:0;transform:none}
 .overview-jewel>.eyebrow{position:absolute;top:80px}
 .fullscreen-chapters :is(#location,#arrival) .address-panel-reveal{left:12px;right:12px;bottom:18px}
 .fullscreen-chapters :is(#location,#arrival) .address-surface{clip-path:polygon(0 32px,24% 32px,24% 0,100% 0,100% 100%,0 100%)}
 .fullscreen-chapters :is(#location,#arrival) .chapter-panel{width:100%;margin:0;padding:24px}
 .fullscreen-chapters :is(#location,#arrival) .chapter-panel>.display{font-size:clamp(30px,8vw,44px);margin:0 0 26px 24%}
 .fullscreen-chapters :is(#location,#arrival) .panel-body>.eyebrow{margin-bottom:18px}
 .fullscreen-chapters :is(#location,#arrival) .panel-body .lead{font-size:21px}
 .fullscreen-chapters :is(#location,#arrival) .story-more{margin-top:18px}
}
@media(max-height:740px) and (min-width:901px){
 .fullscreen-chapters :is(#location,#arrival) .chapter-panel{padding:20px 26px}
 .fullscreen-chapters :is(#location,#arrival) .chapter-panel>.display{font-size:32px;margin-bottom:20px}
 .fullscreen-chapters :is(#location,#arrival) .panel-body>.eyebrow{margin-bottom:15px}
 .fullscreen-chapters :is(#location,#arrival) .story-more{margin-top:14px}
}
@media(max-width:900px){
 .fullscreen-chapters .chapter-content.section-pad,.fullscreen-chapters .privileges-intro,.fullscreen-chapters .highlights-intro{padding-top:88px;padding-bottom:40px}
 .fullscreen-chapters .chapter-content>.display{font-size:clamp(38px,10vw,68px)}
 .fullscreen-chapters .intro-bottom{gap:22px;margin-top:28px}
 .fullscreen-chapters .facts{gap:24px;margin-top:30px}
 .fullscreen-chapters .facts dd{margin:12px 0 10px}
 .fullscreen-chapters .privileges-intro .display{font-size:clamp(40px,10vw,70px)}
 .privileges-intro.coastal-film .coastal-film-panel{left:12px;right:12px;bottom:18px;padding:24px;grid-template-columns:1fr;gap:20px}
 .coastal-film-panel:before{clip-path:polygon(0 30px,30% 30px,30% 0,100% 0,100% 100%,0 100%)}
 .coastal-film-panel .section-kicker{grid-column:1;grid-row:1;margin:22px 0 0;font-size:9px}
 .privileges-intro.coastal-film .coastal-film-panel .display{grid-column:1;grid-row:2;font-size:clamp(25px,6.5vw,38px);text-align:left;line-height:1.1}
 .privileges-intro.coastal-film .privileges-lead{grid-column:1;grid-row:3;font-size:15px}
 .fullscreen-chapters .highlights-intro{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:28px}
 .fullscreen-chapters .highlights-intro .eyebrow{order:0}
 .fullscreen-chapters .media-chapter:not(.coastal-life){height:auto;padding-top:42svh;background:var(--navy)}
 .fullscreen-chapters .media-chapter:not(.coastal-life) .chapter-image{position:absolute;inset:0;height:100%;min-height:100svh}
 .fullscreen-chapters .chapter-panel{position:relative;left:auto;right:auto;bottom:auto;margin:0 12px 24px;padding:24px;clip-path:polygon(0 0,88% 0,88% 32px,100% 32px,100% 100%,0 100%)}
 .fullscreen-chapters .chapter-panel>.display{font-size:clamp(32px,8.5vw,55px);margin-bottom:24px}
 .fullscreen-chapters .panel-body{gap:22px}
 .fullscreen-chapters .coastal-manifesto{display:block}
 .fullscreen-chapters .manifesto-image{height:42svh;min-height:260px}
 .fullscreen-chapters .manifesto-copy{padding:40px 24px}
 .fullscreen-chapters .word-reveal{font-size:clamp(42px,11vw,70px)}
 .fullscreen-chapters .plan-grid{grid-template-columns:1fr;gap:34px}
 .fullscreen-chapters .plan-frame{height:62svh;min-height:420px}
 .fullscreen-chapters .architecture-showcase{height:auto;padding-top:44svh}
 .fullscreen-chapters .architecture-cover{height:100%;min-height:100svh}
 .fullscreen-chapters .architecture-editorial{position:relative;left:auto;right:auto;bottom:auto;display:block;margin:0 12px 24px;padding:30px 24px;clip-path:polygon(0 0,80% 0,80% 28px,100% 28px,100% 100%,0 100%)}
 .fullscreen-chapters .architecture-title-block .display{font-size:clamp(40px,10vw,65px)}
 .fullscreen-chapters .architecture-caption-block{padding-top:24px}
 .fullscreen-chapters .villa-vision{display:block}
 .fullscreen-chapters .vision-copy{margin-top:40px}
 .fullscreen-chapters .collection-grid{grid-template-columns:1fr;gap:75px}
 .fullscreen-chapters .collection-number{font-size:min(55vw,35svh)}
 .fullscreen-chapters .collection-grid .display{font-size:clamp(40px,10vw,70px)}
 .fullscreen-chapters .collection-grid .lead{font-size:20px}
 .fullscreen-chapters .technology-grid{grid-template-columns:1fr;gap:28px}
 .fullscreen-chapters .tech-photograph{height:50svh;min-height:360px}
 .fullscreen-chapters .heritage-grid{display:block}
 .fullscreen-chapters .heritage-art>img{height:40svh}
 .fullscreen-chapters .heritage-grid .display{font-size:clamp(40px,10vw,65px)}
 .fullscreen-chapters .scene-card,.fullscreen-chapters .highlight-card,.fullscreen-chapters .scene-youth .scene-card{left:18px;right:18px;bottom:100px;width:auto;max-width:none;padding:24px 24px 44px;max-height:calc(100svh - 190px);overflow-y:auto}
 .fullscreen-chapters .scene-card h3,.fullscreen-chapters .highlight-card h3{font-size:clamp(26px,7vw,42px);margin-bottom:18px}
 .fullscreen-chapters .scene-card>p,.fullscreen-chapters .highlight-card>p:last-child{font-size:13px;line-height:1.65}
 .fullscreen-chapters .journey-toolbar{left:22px;right:22px;bottom:24px;gap:16px}
 .fullscreen-chapters .journey-toolbar>p{max-width:110px;line-height:1.5}
 .fullscreen-chapters .journey-toolbar>div{gap:13px}
 .fullscreen-chapters .highlight-navigation{display:block!important;left:22px;right:22px;bottom:22px;width:auto;background:none;color:var(--paper);padding:0;clip-path:none}
 .fullscreen-chapters .highlight-navigation>p,.fullscreen-chapters .highlight-navigation>[data-journey]{display:none}
 .fullscreen-chapters .highlight-arrows{border:0;margin:0;padding:0}
 .fullscreen-chapters .hero-content{bottom:65px}
 .fullscreen-chapters .hero-content h2{font-size:clamp(30px,min(10.4vw,6svh),57px)}
}
@media(max-height:740px) and (min-width:901px){
 .fullscreen-chapters .hero-content{top:40%}
 .fullscreen-chapters .hero-content h2{font-size:clamp(32px,5.4svh,46px);margin:12px 0}
 .fullscreen-chapters .hero-tagline{margin-bottom:12px}
 .fullscreen-chapters .hero-price{margin-bottom:14px}
 .fullscreen-chapters .chapter-panel{bottom:20px;padding:24px}
 .fullscreen-chapters .chapter-panel>.display{font-size:36px;margin-bottom:16px}
 .fullscreen-chapters .architecture-editorial{padding:26px}
 .fullscreen-chapters .tech-photograph{min-height:300px}
 .fullscreen-chapters .highlight-card>.feature-icon{width:45px;height:45px;margin:20px 0}
}

/* Coastal manifesto: full-frame photograph and a white stepped caption. */
#coastal-story.manifesto-overlay{position:relative;display:block;height:100svh;min-height:760px;padding:0;overflow:hidden}
#coastal-story.manifesto-overlay .manifesto-image{position:absolute;inset:0;height:100%;min-height:0;max-height:none}
#coastal-story.manifesto-overlay .manifesto-image img{object-position:50% 38%}
#coastal-story.manifesto-overlay .image-caption{top:92px;bottom:auto;left:28px}
#coastal-story.manifesto-overlay .manifesto-copy{position:absolute;left:24px;right:24px;bottom:24px;padding:24px 34px;display:grid;grid-template-columns:1fr 1fr;gap:20px 5vw;color:var(--navy);background:none;isolation:isolate;min-height:30svh;align-content:space-between}
#coastal-story.manifesto-overlay .manifesto-copy:before{content:"";position:absolute;inset:0;background:var(--paper);z-index:-1;clip-path:polygon(0 0,50% 0,50% 64px,100% 64px,100% 100%,0 100%)}
#coastal-story.manifesto-overlay .manifesto-copy>.eyebrow{grid-column:1 / -1;margin:0 0 16px;color:var(--navy)}
#coastal-story.manifesto-overlay .word-reveal{grid-column:2;grid-row:2;font-size:clamp(32px,min(3.5vw,4.7svh),60px);margin:0;align-self:end}
#coastal-story.manifesto-overlay .manifesto-lead{grid-column:1;grid-row:2;margin:0;align-self:end;font-size:clamp(22px,2.2vw,36px)}
#coastal-story.manifesto-overlay .manifesto-copy>p:not(.eyebrow):not(.manifesto-lead){margin:0;max-width:650px;font-size:clamp(13px,1vw,17px);line-height:1.65;color:var(--navy)}
@media(max-width:700px){
 #coastal-story.manifesto-overlay{min-height:800px}
 #coastal-story.manifesto-overlay .manifesto-image img{object-position:48% center}
 #coastal-story.manifesto-overlay .image-caption{top:76px;left:18px;font-size:8px}
 #coastal-story.manifesto-overlay .manifesto-copy{left:12px;right:12px;bottom:12px;padding:18px 20px;grid-template-columns:1fr;gap:14px;min-height:0}
 #coastal-story.manifesto-overlay .manifesto-copy:before{clip-path:polygon(0 0,56% 0,56% 32px,100% 32px,100% 100%,0 100%)}
 #coastal-story.manifesto-overlay .manifesto-copy>.eyebrow{margin:0 0 14px}
 #coastal-story.manifesto-overlay .word-reveal{grid-column:1;grid-row:2;font-size:clamp(30px,8vw,42px)}
 #coastal-story.manifesto-overlay .manifesto-lead{grid-column:1;grid-row:3;font-size:22px}
 #coastal-story.manifesto-overlay .manifesto-copy>p:not(.eyebrow):not(.manifesto-lead){font-size:12px;line-height:1.6}
}

/* Full-screen master plan with the supplied clear image and a corner caption. */
#master-plan.plan-overview{position:relative;display:block;height:100svh;min-height:740px;padding:0;background:var(--navy);overflow:hidden}
#master-plan.plan-overview .plan-frame{position:absolute;inset:0;height:100%;min-height:0}
#master-plan.plan-overview .plan-frame>img{filter:none;transform:none;left:0;width:100%;height:100%;opacity:1;object-fit:cover;object-position:center 49%;padding:0}
#master-plan.plan-overview .plan-grid{display:block}
#master-plan.plan-overview .plan-card-reveal{position:absolute;left:24px;right:24px;bottom:24px;isolation:isolate}
#master-plan.plan-overview .plan-overview-card{position:relative;width:min(34vw,560px);padding:28px 30px 30px;background:transparent;color:var(--navy)}
#master-plan.plan-overview .plan-card-surface{position:absolute;inset:0;z-index:-1;background:var(--paper);clip-path:polygon(0 0,min(16.32vw,268.8px) 0,min(16.32vw,268.8px) 38px,min(34vw,560px) 38px,min(34vw,560px) 100%,0 100%)}
#master-plan.plan-overview .section-kicker{font-size:9px;margin:0 0 35px;max-width:44%;line-height:1.5}
#master-plan.plan-overview .display{font-size:clamp(36px,3.4vw,60px);line-height:1.05;margin:0}
#master-plan.plan-overview .lead{font-size:clamp(20px,1.7vw,28px);margin:20px 0 16px;line-height:1.35}
#master-plan.plan-overview .body-copy{font-size:13px;line-height:1.7;margin-bottom:22px}
#master-plan.plan-overview .button{min-width:0;min-height:0;padding:17px 21px}
#master-plan.plan-overview .plan-note{left:auto;right:24px;bottom:26px;text-shadow:0 1px 5px #000}
@media(max-width:700px){
 #master-plan.plan-overview{min-height:760px}
 #master-plan.plan-overview .plan-frame>img{object-fit:cover;object-position:center 49%;padding:0}
 #master-plan.plan-overview .plan-card-reveal{left:12px;right:12px;bottom:12px}
 #master-plan.plan-overview .plan-overview-card{width:100%;padding:20px 24px}
 #master-plan.plan-overview .plan-card-surface{clip-path:polygon(0 0,48% 0,48% 38px,100% 38px,100% 100%,0 100%)}
 #master-plan.plan-overview .section-kicker{margin-bottom:24px;font-size:8px}
 #master-plan.plan-overview .display{font-size:32px}
 #master-plan.plan-overview .lead{font-size:20px;margin:14px 0 12px}
 #master-plan.plan-overview .body-copy{font-size:12px;margin-bottom:16px}
 #master-plan.plan-overview .plan-note{top:75px;bottom:auto;right:18px;font-size:7px}
}

/* Project highlights: one full-bleed gallery with a fixed, stepped caption. */
#highlights .highlight-carousel,#highlights .journey-stage{position:relative;height:100svh;min-height:0;overflow:hidden;background:var(--navy);color:var(--paper);touch-action:pan-y}
#highlights .journey-scene{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;opacity:0;visibility:hidden;pointer-events:none}
#highlights .journey-scene[aria-hidden=false]{opacity:1;visibility:visible}
#highlights .scene-image{position:absolute;inset:0;height:100%;max-height:none;min-height:0}
#highlights .scene-image img{width:100%;height:100%;object-fit:cover;transform:none}
#highlights .scene-veil{background:linear-gradient(180deg,rgba(5,12,29,.3),transparent 25%,transparent 65%,rgba(5,12,29,.12))}
#highlights .highlights-panel{position:absolute;z-index:10;left:20px;bottom:20px;width:clamp(380px,36vw,620px);min-height:clamp(280px,31svh,390px);padding:48px 54px 22px 28px;display:flex;flex-direction:column;isolation:isolate}
#highlights .highlights-panel:before{content:"";position:absolute;inset:28px 9% 0 0;z-index:-1;background:var(--navy)}
#highlights .highlight-decor{position:absolute;inset:0;z-index:-1;background:var(--navy);transform-origin:0 0;pointer-events:none;will-change:transform}
#highlights .highlight-decor:nth-of-type(1){transform:translate(2%,20%) scale(.94,.52)}
#highlights .highlight-decor:nth-of-type(2){transform:translate(46%,0) scale(.54,.46)}
#highlights .highlights-panel>.eyebrow{font-size:10px;letter-spacing:.035em;margin:0 0 26px;color:var(--paper)}
#highlights .highlights-captions{display:grid;flex:1}
#highlights .highlight-caption{position:relative;grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none;align-self:start}
#highlights .highlight-caption[aria-hidden=false]{opacity:1;visibility:visible;pointer-events:auto}
#highlights .highlight-caption h3{max-width:460px;padding-right:130px;min-height:82px;font-size:clamp(25px,2.15vw,38px);line-height:1.08;letter-spacing:-.035em;text-transform:uppercase;margin:0 0 16px}
#highlights .highlight-illustration{position:absolute;right:0;top:-16px;width:120px;height:120px;color:var(--paper);overflow:visible}
#highlights .highlight-caption h3 small{display:inline-block;font-size:13px;letter-spacing:0;text-transform:none;white-space:nowrap}
#highlights .highlight-caption p{max-width:430px;font-size:clamp(13px,.9vw,15px);line-height:1.65;color:rgba(248,251,253,.8)}
#highlights .highlights-controls{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:28px;padding-right:16px}
#highlights-counter{font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.15em;color:var(--paper)}
#highlights .highlights-buttons{display:flex;gap:8px}
#highlights .highlights-buttons button{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;padding:0;background:var(--paper);color:var(--navy);transition:background .16s,transform .16s}
#highlights .highlights-buttons button span{font-size:25px;line-height:1;transform:translateY(-1px)}
@media(hover:hover){#highlights .highlights-buttons button:hover{background:var(--gold);transform:translateY(-2px)}}
#highlights .highlights-buttons button:active{transform:scale(.94)}
@media(max-width:900px){
 #highlights .highlights-panel{left:16px;bottom:16px;width:min(480px,calc(100% - 32px));min-height:310px;padding:44px 50px 20px 24px}
 #highlights .highlights-panel>.eyebrow{font-size:9px;margin-bottom:24px}
 #highlights .highlight-caption h3{font-size:28px}
 #highlights .highlight-caption h3{padding-right:112px}
 #highlights .highlight-illustration{width:100px;height:100px;top:-8px}
 #highlights .highlight-caption p{font-size:13px}
 #highlights .highlights-controls{padding-right:4px;margin-top:24px}
 #highlights .highlights-buttons button{width:44px;height:44px}
}
@media(max-width:600px){
 #highlights .highlights-panel{left:12px;bottom:12px;width:calc(100% - 24px);min-height:0;padding:40px 44px 18px 20px}
 #highlights .highlights-panel>.eyebrow{margin-bottom:20px}
 #highlights .highlight-caption h3{font-size:24px;margin-bottom:12px;padding-right:84px;min-height:75px}
 #highlights .highlight-illustration{width:78px;height:90px;right:-5px;top:-6px}
 #highlights .highlight-caption p{font-size:12px;line-height:1.6}
 #highlights .highlights-controls{margin-top:22px;padding-right:4px}
}
@media(prefers-reduced-motion:reduce){#highlights .highlights-buttons button{transition:none}}
