/* Vookbook cinematic introduction — isolated from the existing site. */
.arrival, .considered { position:relative; isolation:isolate; overflow:hidden; color:#fff; background:#102623; }
.arrival { min-height:850px; min-height:max(760px,100svh); display:flex; align-items:center; justify-content:center; padding:170px 6vw 160px; }
.arrival-scenes,.arrival-scene,.arrival-shade,.considered-media,.considered-shade { position:absolute; inset:0; z-index:-2; }
.arrival-scene { background-size:cover; background-position:center; opacity:0; transition:opacity 1.4s ease; }
.arrival-scene.is-current { opacity:1; }
.arrival video,.considered video { width:100%; height:100%; object-fit:cover; }
.arrival-shade { z-index:-1; background:linear-gradient(180deg,rgba(3,22,20,.52),rgba(3,22,20,.28) 35%,rgba(3,22,20,.42) 65%,rgba(3,22,20,.85)); }
.arrival-copy { max-width:1100px; text-align:center; }
.cinema-kicker { font:600 10px/1.7 'Manrope',sans-serif; letter-spacing:.25em; margin:0 0 28px; color:#d8f25c; }
.arrival #arrival-title { display:block; font:500 clamp(48px,6.6vw,104px)/1.08 'Playfair Display',serif; letter-spacing:-.045em; margin:0; }
.arrival #arrival-title em { display:inline; margin:0; font:italic 500 1em/1.08 'Playfair Display',serif; color:#e9eddf; }
.arrival-copy > p:not(.cinema-kicker) { max-width:620px; margin:28px auto 0; font-size:16px; line-height:1.85; color:#f1f3eb; }
.arrival-copy > .arrival-signature { margin-top:14px !important; font-size:13px !important; letter-spacing:.03em; }
.cinema-cta { display:inline-flex; align-items:center; gap:35px; margin-top:32px; padding:17px 24px; border:1px solid rgba(255,255,255,.75); font-size:12px; transition:background .2s,color .2s; }
.cinema-cta:hover,.cinema-cta:focus-visible { background:#d8f25c; border-color:#d8f25c; color:#102623; }
.arrival-bottom { position:absolute; bottom:34px; left:4.5vw; right:4.5vw; display:flex; gap:32px; justify-content:space-between; align-items:center; }
.cinema-scroll { display:flex; gap:20px; font-size:9px; letter-spacing:.14em; line-height:1.6; }
.cinema-scroll span { color:#d8f25c; font-size:20px; }
.scene-controls { display:flex; gap:22px; }
.scene-controls button { background:none; border:0; border-top:1px solid #ffffff55; padding:14px 0; color:#ffffffbb; font-size:11px; text-align:left; cursor:pointer; }
.scene-controls button span { margin-right:9px; font-size:9px; }
.scene-controls button[aria-pressed="true"] { color:#d8f25c; border-color:#d8f25c; }
.motion-toggle { padding:10px 12px; border:1px solid #ffffff66; background:#10262366; color:white; cursor:pointer; font-size:11px; white-space:nowrap; }
.considered { padding:110px 6vw 70px; }
.considered-media { background:url('assets/films/island.jpg') center/cover; }
.considered-shade { z-index:-1; background:linear-gradient(90deg,rgba(6,28,25,.89),rgba(6,28,25,.73)); }
.considered-inner { max-width:1500px; margin:auto; display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(48px,9vw,150px); align-items:center; }
.considered h2 { font:500 clamp(42px,4.6vw,72px)/1.1 'Playfair Display',serif; letter-spacing:-.04em; margin:0; }
.considered h2 em { font-weight:500; color:#dce5d5; }
.considered-copy > p:not(.cinema-kicker) { max-width:520px; color:#d6dfda; font-size:16px; line-height:1.9; margin:28px 0 0; }
.ambient-control { margin-top:24px; }
.stay-benefits { padding:32px; border:1px solid #ffffff33; background:#10262388; backdrop-filter:blur(10px); }
.stay-benefits .cinema-kicker { margin-bottom:12px; }
.benefits-intro { font:500 22px/1.4 'Playfair Display',serif; margin:0 0 24px; }
.stay-benefits details { border-top:1px solid #ffffff33; }
.stay-benefits summary { display:flex; align-items:center; gap:14px; list-style:none; cursor:pointer; padding:19px 0; font-size:14px; }
.stay-benefits summary::-webkit-details-marker { display:none; }
.benefit-number { font-size:9px; color:#b6c4b9; }
.benefit-plus { font-size:22px; font-weight:400; margin-left:auto; color:#d8f25c; }
.stay-benefits details[open] .benefit-plus { transform:rotate(45deg); }
.stay-benefits details[open] summary { color:#d8f25c; }
.stay-benefits details > p { font-size:13px; line-height:1.8; color:#d6dfda; margin:0 0 20px 28px; }
.benefits-note { font-size:11px; line-height:1.7; color:#b8c8be; margin:24px 0 0; }
.smooth-benefits { overflow-anchor:none; }
.smooth-benefits details { overflow:hidden; }
.smooth-benefits summary { transition:color 220ms ease; }
.smooth-benefits .benefit-plus { transition:transform 300ms ease; }
.smooth-benefits details > p { margin:0; padding:0 0 20px 28px; }
.smooth-benefits details[open]:not(.is-expanded) summary { color:inherit; }
.smooth-benefits details[open]:not(.is-expanded) .benefit-plus { transform:rotate(0deg); }
.smooth-benefits details.is-expanded summary { color:#d8f25c; }
.smooth-benefits details.is-expanded .benefit-plus { transform:rotate(45deg); }
.continue-exploring { display:flex; justify-content:space-between; border-top:1px solid #ffffff33; margin:65px auto 0; padding-top:25px; max-width:1500px; font-size:10px; letter-spacing:.18em; }
.continue-exploring span { color:#d8f25c; font-size:20px; }
/* Preserve the former heading's visual design after making it a section heading. */
#hero-title { display:grid; margin:26px 0 0; font:500 clamp(66px,8.5vw,144px)/.78 'Playfair Display',serif; letter-spacing:-.055em; }
#hero-title > span { color:var(--lime); }
#hero-title em { max-width:780px; margin:10px 0 0 clamp(12px,5vw,76px); font-size:.48em; line-height:1.04; font-weight:500; }
.arrival :focus-visible,.considered :focus-visible { outline:2px solid #d8f25c; outline-offset:5px; }
@media(max-width:1050px) {
 .arrival-bottom { flex-wrap:wrap; gap:18px; }
 .cinema-scroll { display:none; }
 .considered-inner { gap:40px; }
 .stay-benefits { padding:24px; }
}
@media(max-width:700px) {
 .arrival { min-height:max(800px,100svh); padding:140px 22px 180px; }
 .arrival #arrival-title { font-size:clamp(42px,9vw,62px); line-height:1.12; }
 .arrival-copy > p:not(.cinema-kicker) { font-size:14px; line-height:1.75; }
 .cinema-kicker { font-size:9px; letter-spacing:.18em; }
 .arrival-bottom { bottom:24px; left:22px; right:22px; }
 .scene-controls { width:100%; gap:14px; justify-content:space-between; }
 .scene-controls button { flex:1; font-size:10px; line-height:1.5; }
 .scene-controls button span { display:block; margin-bottom:6px; }
 .motion-toggle { margin-left:auto; }
 .considered { padding:72px 22px 40px; }
 .considered-inner { grid-template-columns:1fr; gap:48px; }
 .considered h2 { font-size:44px; }
 .considered-copy > p:not(.cinema-kicker) { font-size:15px; }
 .stay-benefits { padding:24px 20px; }
 .stay-benefits summary { font-size:13px; }
 #hero-title { font-size:clamp(50px,17vw,72px); line-height:.84; }
 #hero-title em { margin:12px 0 0; font-size:.5em; line-height:1.08; }
}
@media(prefers-reduced-motion:reduce) {
 .arrival-scene { transition:none; }
 .smooth-benefits summary,.smooth-benefits .benefit-plus { transition:none !important; }
}
