/* The Royal composition: one quiet header, immersive scenes, restrained type. */
#header{position:fixed;inset:0 0 auto;z-index:60;height:94px;padding:0 5.2%;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#fff;background:linear-gradient(180deg,rgba(4,24,32,.52),rgba(4,24,32,.12));border-bottom:1px solid rgba(255,255,255,.2);transition:box-shadow .25s;isolation:isolate}
#header>.brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:122px;z-index:2}
#header .brand img{display:block;width:100%;filter:brightness(0) invert(1);transition:filter .25s}
#header .header-start,#header .header-end{flex:1;min-width:0;display:flex;align-items:center}
#header .header-end{justify-content:flex-end}
#header .header-start button{min-height:44px;min-width:44px}
#header .member-access{min-height:44px;display:inline-flex;align-items:center;font-size:12px}
#header .outline{min-height:44px;border-color:currentColor;font-size:11px;letter-spacing:.07em}
body.scrolled #header{color:#162d38;background:#f5f3ee;border-color:#162d3820;backdrop-filter:blur(18px);box-shadow:0 1px 0 rgba(22,45,56,.03)}
body.scrolled #header .brand img{filter:brightness(0)}
body.scrolled #header .outline:hover{background:#162d38;color:#fff;border-color:#162d38}
.experience-nav{display:none!important}
.opening,.cinematic,.page-hero{isolation:isolate}
.opening{height:100svh;min-height:640px}
.opening-shade{background:linear-gradient(180deg,#041d2a29 0%,#041d2a28 25%,#031d2c66 58%,#031d2c8c 100%)}
.opening-copy{top:51%;left:8%;right:8%;transform:translateY(-35%);z-index:2}
.opening-copy h1{font-size:clamp(48px,4.9vw,72px);font-weight:300;line-height:1.12;letter-spacing:.035em}
.opening-copy p:not(.eyebrow){font-size:15px;line-height:1.9;max-width:600px;margin:28px auto 0;letter-spacing:.025em}
.cinematic{height:100svh;min-height:640px;max-height:none;scroll-margin-top:0}
.scene-shade{background:linear-gradient(180deg,#061e2c2e,#061e2c66 48%,#041a278c)}
.wild-scene .scene-shade{background:linear-gradient(180deg,#071e2e26,#071e2e66 48%,#041a278c)}
.scene-copy{top:51%;transform:translateY(-35%);z-index:2}
.scene-copy h2{font-size:clamp(38px,3.3vw,50px);font-weight:300;line-height:1.18;letter-spacing:.035em}
.scene-copy p:not(.eyebrow){font-size:15px;line-height:1.9;max-width:540px;margin-top:25px;margin-bottom:31px}
.concierge-scene .scene-shade{background:linear-gradient(90deg,#041a2733,#041a2780 55%,#041a2799)}
.concierge-scene .scene-copy h2{font-size:clamp(36px,3vw,46px)}
.page-hero{height:100svh;min-height:640px;max-height:none}
.page-hero:after{background:linear-gradient(180deg,#061b2642 0%,#061b263d 25%,#041c2a80 65%,#041c2a80 100%)}
.page-hero-copy{top:51%;transform:translateY(-35%);left:8%;right:8%;z-index:2}
.page-hero-copy h1{font-size:clamp(44px,4.6vw,64px);font-weight:300;line-height:1.13;letter-spacing:.035em;max-width:1050px;margin-inline:auto}
.page-hero-copy .eyebrow{margin-bottom:27px;font-size:10px;letter-spacing:.27em}
.page-hero-copy p:not(.eyebrow){font-size:15px;line-height:1.9;max-width:590px;margin:27px auto 0}
.editorial:has(.feature-list){padding-top:90px;padding-bottom:85px}
.feature-list p,.membership-path p{line-height:1.9;color:#4b5e66}
.feature-list h2{font-weight:300;line-height:1.25}
.page-cta{padding:82px 8%;background:#eeeae2}
.page-cta h2{font-weight:300;line-height:1.2;max-width:850px;margin-inline:auto}
.page-cta p{font-size:15px;line-height:1.9;color:#4b5e66;max-width:580px;margin:25px auto}
.page-cta .solid{min-height:50px;margin-top:10px;gap:12px;padding-inline:30px}
.service-page{padding-top:94px}
.service-picture{height:clamp(230px,28vw,350px)}
.service-picture img{object-position:center 58%}
.service-content{max-width:1260px;padding:78px 6% 90px}
.detail-grid{grid-template-columns:1fr 1fr;gap:10%}
.detail-grid h1{font-size:clamp(36px,3.6vw,48px);font-weight:300;line-height:1.17}
.detail-grid .intro{font-size:15px;line-height:1.9;max-width:440px}
.contact-form .field{margin-bottom:28px}
.field input,.field textarea{min-height:48px;border-bottom-color:#8fa1a6}
.contact-form .solid{min-height:50px}
.contact-info a,.text-link,.languages button,.footer-bottom a,.footer-bottom button{min-height:44px;display:inline-flex;align-items:center}
.menu-content nav a{min-height:44px;display:inline-flex;align-items:center}
.menu-secondary a{min-height:44px;display:flex;align-items:center}
.menu-secondary{row-gap:6px}
.film-toggle{min-width:44px;min-height:44px}
.scene-rail{right:12px;gap:0}
.scene-rail button{width:44px;height:44px;padding:17px}
.scene-rail button span{right:45px;top:11px}
.skip:focus{z-index:100}
@media(min-width:1700px){.page-hero-copy h1{font-size:68px}.scene-copy h2{font-size:48px}.opening-copy h1{font-size:74px}}
@media(max-width:1000px){#header .member-access{display:none}.detail-grid{gap:7%}.concierge-scene .scene-copy{left:44%;right:7%}.concierge-scene .scene-copy h2{font-size:36px}}
@media(max-width:700px){
 #header{height:80px;padding:0 6%;gap:16px}
 #header>.brand{width:105px}
 #header .header-start button{justify-content:flex-start}
 #header .outline{min-width:80px;min-height:44px;padding:10px 14px;font-size:10px}
 .opening{min-height:580px;height:100svh}
 .opening-copy{left:7%;right:7%;top:51%;transform:translateY(-35%)}
 .opening-copy h1{font-size:clamp(32px,9.8vw,41px);letter-spacing:.02em;line-height:1.15}
 .opening-copy p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:295px;margin-top:24px}
 .cinematic{height:100svh;min-height:580px}
 .scene-copy,.concierge-scene .scene-copy{left:7%;right:7%;top:50%;transform:translateY(-32%);text-align:center}
 .scene-copy h2,.concierge-scene .scene-copy h2{font-size:clamp(30px,8.3vw,36px);line-height:1.17;letter-spacing:.02em}
 .scene-copy p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:290px;margin:23px auto 28px}
 .scene-copy .eyebrow{font-size:9px;letter-spacing:.24em}
 .concierge-scene .scene-copy p:not(.eyebrow){margin-inline:auto}
 .concierge-scene .scene-shade{background:linear-gradient(180deg,#041a2726,#041a278c 55%,#041a2799)}
 .page-hero{height:100svh;min-height:580px}
 .page-hero-copy{top:49%;left:7%;right:7%;transform:translateY(-30%)}
 .page-hero-copy h1{font-size:clamp(31px,8.6vw,39px);line-height:1.17;letter-spacing:.02em}
 .page-hero-copy .eyebrow{font-size:9px;letter-spacing:.23em;margin-bottom:24px}
 .page-hero-copy p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:300px;margin-top:23px}
 .editorial:has(.feature-list){padding:42px 7% 43px}
 .page-cta{padding:58px 7% 62px}
 .page-cta h2{font-size:32px}.page-cta p{font-size:14px;line-height:1.9}
 .service-page{padding-top:80px}.service-picture{height:200px}
 .service-content{padding:46px 7% 60px}
 .detail-grid{grid-template-columns:1fr;gap:38px}
 .detail-grid h1{font-size:36px;line-height:1.18}
 .detail-grid .intro{font-size:14px;line-height:1.9}
 .contact-form .field{margin-bottom:25px}
 .footer-links a,.footer-contact a{display:inline-flex;align-items:center;min-height:44px}
 .scene-rail{display:none}.film-toggle{bottom:20px;right:5%}
 .menu-content nav a{font-size:36px}.menu-secondary{margin-top:28px}
}
@media(max-width:700px) and (max-height:650px){.opening,.cinematic,.page-hero{min-height:560px}.opening-copy,.scene-copy,.page-hero-copy{top:49%}.opening-copy h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){#header,#header .brand img{transition:none}}

.page-hero-copy>.outline{margin-top:30px;color:white;background:transparent}.page-hero-copy>.outline:hover{background:white;color:var(--ink)}#subject-details{scroll-margin-top:94px}@media(max-width:700px){#subject-details{scroll-margin-top:80px}}
/* Enquiry belongs to the same visual world as member access. */
body[data-page="contact"] .service-page{display:grid;grid-template-columns:46% 54%;align-items:start}
body[data-page="contact"] .service-picture{height:calc(100svh - 94px);min-height:650px;position:sticky;top:94px}
body[data-page="contact"] .service-picture img{object-position:30% center}
body[data-page="contact"] .service-content{width:100%;padding:64px 13% 74px}
body[data-page="contact"] .detail-grid{display:block}
body[data-page="contact"] .detail-grid>div+div{margin-top:48px}
body[data-page="contact"] .contact-info{flex-direction:row;flex-wrap:wrap;gap:12px 25px}
body[data-page="contact"] .contact-info .text-link{font-size:11px;gap:12px}
.reviews-page{max-width:1100px;padding-top:170px;padding-bottom:100px}
.reviews-page blockquote{font:300 clamp(25px,2.5vw,36px)/1.55 'PRC Jost',sans-serif;max-width:850px;text-wrap:balance}
.translation-note{font-size:12px;color:#5d6d73}
@media(max-width:1000px){body[data-page="contact"] .service-page{grid-template-columns:40% 60%}body[data-page="contact"] .service-content{padding-inline:10%}}
@media(max-width:700px){body[data-page="contact"] .service-page{display:block}body[data-page="contact"] .service-picture{position:relative;top:0;height:280px;min-height:0}body[data-page="contact"] .service-picture img{object-position:center 40%}body[data-page="contact"] .service-content{padding:44px 7% 60px}body[data-page="contact"] .detail-grid>div+div{margin-top:35px}.reviews-page{padding:145px 7% 70px}.review-controls{gap:12px}.review-controls button{min-width:0;flex:1;max-width:180px;padding-inline:15px}}

body[data-page="membership"] .page-hero:after{background:linear-gradient(#031d2a26,#031d2a55 50%,#031d2a99)}
@media(max-width:700px){.opening-photo{object-position:64% center}body[data-page="residences"] .page-hero>img{object-position:64% center}.wild-scene .scene-photo{object-position:50% center}body[data-page="experiences"] .page-hero>img{object-position:50% center}.hero-film{object-position:center}}

/* Mobile footer: brand, navigation, member services, utility row. */
@media (max-width:600px){
 footer{padding:36px 24px 16px}
 .footer-top{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding-bottom:20px;text-align:center}
 .footer-top>.brand{width:132px;margin:0 auto 16px}
 .footer-top>p{font-size:14px;line-height:1.65;margin:0 0 25px}
 .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding:17px 0;border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff25;font-size:14px;text-align:left}
 .footer-links a{min-height:44px;justify-content:flex-start}
 .footer-contact{gap:0;align-items:center;font-size:14px;padding-top:18px}
 .footer-contact a{min-height:44px;justify-content:center;max-width:100%}
 .footer-contact a:last-child{border:1px solid #ffffff55;min-height:46px;width:100%;margin-top:10px;letter-spacing:.04em}
 .footer-bottom{padding-top:12px}
 .footer-bottom>div{display:flex;flex-wrap:nowrap;gap:4px;justify-content:flex-end;width:100%;font-size:12px}
 .footer-bottom a{margin-right:auto;min-height:44px}
 .footer-bottom button{font-size:12px;min-width:44px;min-height:44px;justify-content:center}
}

/* Client review refinement: generous editorial rhythm, legible supporting copy. */
.chapter-intro{padding:90px 9% 44px;max-width:1500px;margin:auto;scroll-margin-top:110px}
.chapter-intro>.eyebrow{color:#52646b;letter-spacing:.18em;margin:0 0 30px}
.chapter-intro>div{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}
.chapter-intro h2,.moment-copy h2,.club-connection h2{font-size:clamp(32px,3.3vw,49px);font-weight:300;line-height:1.17;letter-spacing:-.025em;margin:0}
.chapter-intro p:not(.eyebrow),.moment-copy>p:not(.eyebrow){font-size:17px;line-height:1.8;color:#405660;margin:0}
.story-list{max-width:1500px;margin:auto;padding:0 9% 84px}
.story-list article{display:grid;grid-template-columns:44px 1fr 1.2fr;gap:30px;padding:36px 0;border-top:1px solid #17333e35;align-items:start}
.story-list h3{font-size:28px;font-weight:300;line-height:1.3;margin:0}
.story-list p{font-size:16px;line-height:1.8;color:#405660;margin:0}
.story-list .story-detail{font-size:14px;margin-top:16px;color:#52666e}
.story-number{font-size:12px;letter-spacing:.15em;color:#607077;padding-top:8px}
.editorial-moment{display:grid;grid-template-columns:1.08fr 1fr;background:#ebe7df;min-height:580px}
.moment-photo{min-height:100%;overflow:hidden}
.moment-photo img{width:100%;height:100%;min-height:580px;object-fit:cover;display:block}
.moment-copy{padding:80px 13%;align-self:center}
.moment-copy .eyebrow{color:#52646b;margin:0 0 25px}
.moment-copy>p:not(.eyebrow){margin:25px 0}
.moment-copy .text-link{font-size:14px;line-height:1.5;gap:18px;border-bottom:1px solid #667676;padding:8px 0}
.membership-pillars{max-width:1500px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:45px;padding:10px 9% 90px}
.membership-pillars article{border-top:1px solid #17333e35;padding-top:25px;display:flex;flex-direction:column;align-items:flex-start}
.membership-pillars h3{font-weight:300;font-size:28px;line-height:1.3;margin:20px 0 12px}
.membership-pillars p{font-size:16px;line-height:1.8;color:#405660;margin:0 0 18px}
.membership-pillars .text-link{margin-top:auto;font-size:14px}
.club-connection{padding:45px 9%;background:#ebe7df;display:flex;align-items:center;justify-content:space-between;gap:32px}
.club-connection h2{font-size:35px}.club-connection .eyebrow{color:#52646b}
.home-context{font-size:17px!important;max-width:650px!important;line-height:1.8!important}
.member-voice .text-link{font-size:14px}
.review-position{font-size:13px;letter-spacing:.12em;color:#52646b;margin:28px 0 0}
.review-topics{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:35px 0 32px}
.review-topics button{border:1px solid #19374555;padding:11px 16px;min-height:44px;background:transparent;font-size:14px;color:#193745}
.review-topics button[aria-pressed=true]{background:#193745;color:#fff}
.review-theme{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#52646b}
.review-controls{margin-top:24px}.reviews-page .review-name{font-size:16px}
.reviews-page .review-invitation{border-top:1px solid #19374530;margin:48px auto 0;padding-top:28px;max-width:650px;font-size:16px}
.reviews-page .review-invitation .text-link{display:inline-flex;gap:12px;font-size:15px}
.field span{font-size:15px!important;letter-spacing:0!important;color:#193745}
.field input,.field textarea{font-size:16px!important;background:#ffffff66!important;border:1px solid #8b9da4!important;padding:13px 14px!important;color:#193745!important;border-radius:0}
.field input:focus,.field textarea:focus{outline:2px solid #193745;outline-offset:3px}
.field textarea{min-height:130px}
.consent{font-size:14px!important;line-height:1.65!important;color:#405660!important;align-items:flex-start}
.consent input{width:20px;min-width:20px;height:20px;margin-top:3px}
.consent a{text-decoration:underline;text-underline-offset:3px}
.form-guidance{font-size:14px;line-height:1.7;color:#405660;margin:0 0 25px;padding:17px 0;border-top:1px solid #19374530;border-bottom:1px solid #19374530}
.form-guidance strong{display:block;color:#193745;font-weight:500;margin-bottom:5px}
.contact-info .text-link{font-size:13px!important}
.contact-form .status{font-size:15px;line-height:1.6;padding:14px;background:#eee7dc;border-left:3px solid #816839}
.contact-form [disabled]{opacity:.65;cursor:wait}
.form-success:focus{outline:2px solid #193745;outline-offset:8px}
.privacy-copy .benefit h2{font-size:27px}.privacy-copy .benefit p{font-size:16px;line-height:1.8}
.privacy-copy>.intro{font-size:17px;line-height:1.8;color:#405660}
.portal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.portal-actions .text-link{font-size:15px}
@media(max-width:900px){.chapter-intro{padding:65px 7% 35px}.chapter-intro>div{gap:6%}.story-list{padding-inline:7%}.membership-pillars{padding-inline:7%;gap:25px}.moment-copy{padding:50px 10%}.moment-photo img{min-height:520px}.club-connection{padding-inline:7%}.story-list article{grid-template-columns:30px 1fr 1.2fr;gap:20px}}
@media(max-width:600px){
 .chapter-intro{padding:48px 7% 30px;scroll-margin-top:80px}.chapter-intro>div{grid-template-columns:1fr;gap:23px}.chapter-intro>.eyebrow{font-size:10px;margin-bottom:23px}
 .chapter-intro h2,.moment-copy h2{font-size:34px}.chapter-intro p:not(.eyebrow),.moment-copy>p:not(.eyebrow){font-size:16px;line-height:1.8}
 .story-list{padding:0 7% 45px}.story-list article{grid-template-columns:25px 1fr;gap:12px 16px;padding:26px 0}.story-list h3{font-size:26px}.story-list article>div{grid-column:2}.story-list p{font-size:16px}.story-list .story-detail{font-size:14px}
 .editorial-moment{display:flex;flex-direction:column;min-height:0}.moment-photo{height:330px;min-height:0}.moment-photo img{min-height:0;height:330px;object-position:center}.moment-copy{padding:42px 7% 46px}
 .membership-pillars{display:block;padding:0 7% 44px}.membership-pillars article{padding:25px 0}.membership-pillars h3{font-size:27px;margin-top:16px}.membership-pillars .text-link{font-size:15px}
 .club-connection{display:block;padding:35px 7%}.club-connection .dark-outline{margin-top:24px;line-height:1.5;gap:15px;font-size:13px}
 .home-context{font-size:16px!important}.review-topics{gap:8px;margin-top:26px}.review-topics button{font-size:13px;padding:10px 12px}.reviews-page blockquote{font-size:27px;line-height:1.5}.reviews-page{padding-top:125px}
 .page-hero-copy p:not(.eyebrow),.scene-copy p:not(.eyebrow),.opening-copy p:not(.eyebrow){font-size:15px;line-height:1.75}
 .page-hero-copy .outline{font-size:14px}.page-cta p{font-size:16px}.page-cta .solid{font-size:14px;line-height:1.5;max-width:100%}
 .privacy-copy .benefit p{font-size:16px}.privacy-copy>.intro{font-size:16px}.contact-info{gap:8px 18px!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}

/* Layered scene movement, reversible with the visitor's own scroll. */
.scroll-scene>.opening-photo,.scroll-scene>.hero-film,.scroll-scene>.scene-photo,.scroll-scene.page-hero>img{
 animation:none;transform:translate3d(0,var(--scene-y,0px),0) scale(var(--scene-scale,1.06));
 transform-origin:center;will-change:transform;
}
.scroll-scene>.opening-copy,.scroll-scene>.scene-copy,.scroll-scene>.page-hero-copy{
 animation:none;translate:0 var(--copy-y,0px);opacity:var(--copy-opacity,1);transition:none;
}
.scroll-scene>.scene-copy.reveal{transform:translateY(-35%)}
.scroll-scene:focus-within{--copy-opacity:1!important}
@media(prefers-reduced-motion:reduce){
 .opening-photo,.page-hero>img{animation:none!important}
 .scroll-scene>img,.scroll-scene>.hero-film{transform:none!important;will-change:auto}
 .scroll-scene>.opening-copy,.scroll-scene>.scene-copy,.scroll-scene>.page-hero-copy{translate:none;opacity:1}
}

/* Client journey polish: lead with the story and bring enquiries into reach. */
.reviews-page .review-topics{margin:32px auto 0;padding-top:24px;border-top:1px solid #19374525;max-width:650px}
.reviews-page .review-theme{margin-top:30px}
body[data-page="contact"] .contact-info{margin-top:30px;padding-top:20px;border-top:1px solid #19374525}
body[data-page="contact"] .form-guidance{border:0;padding:0;margin:0 0 20px;font-size:13px}
body[data-page="contact"] .detail-grid>div+div{margin-top:30px}
@media(max-width:700px){
 body[data-page="contact"] .service-picture{height:130px}
 body[data-page="contact"] .service-picture img{object-position:center 42%}
 body[data-page="contact"] .service-content{padding-top:28px}
 body[data-page="contact"] .detail-grid h1{font-size:32px;line-height:1.16;margin-bottom:16px}
 body[data-page="contact"] .detail-grid .intro{font-size:16px;line-height:1.65;margin-bottom:0}
 body[data-page="contact"] .detail-grid>div+div{margin-top:24px}
 body[data-page="contact"] .contact-info{display:flex;gap:12px;flex-direction:column;align-items:flex-start}
 .reviews-page .review-theme{margin-top:24px}
 .reviews-page blockquote{font-size:26px;line-height:1.5}
}
