/* Primavera 9: spatial storytelling and direct booking. */
.journey{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,7vw,120px);align-items:start;border-top:1px solid var(--line)}.journey-intro{position:sticky;top:150px;padding-top:20px}.journey-intro h2{margin:23px 0;font-size:clamp(44px,4.6vw,74px)}.journey-intro p{max-width:350px}.journey-intro .text-link{margin-top:24px}.journey-counter{font-family:var(--serif);color:var(--wine);font-size:110px;line-height:1;margin-top:45px}.journey-counter small{font-family:var(--sans);font-size:14px;color:var(--muted);letter-spacing:.15em}.journey-scene{padding-bottom:90px;position:relative}.journey-scene:last-child{padding-bottom:0}.journey-scene figure{height:clamp(350px,45vw,620px);position:relative;overflow:hidden;background:var(--peach);border-radius:170px 170px 0 0}.journey-scene:nth-child(2) figure{border-radius:0 0 180px 0}.journey-scene:nth-child(3) figure{border-radius:180px 0 0 0}.journey-scene figure img{width:100%;height:120%;object-fit:cover;transform:translateY(calc(-8% + var(--depth,0px)));transition:filter .5s}.scene-number{position:absolute;right:22px;bottom:20px;font-family:var(--serif);color:#fff;font-size:90px;line-height:1;text-shadow:0 2px 25px #0005}.scene-copy{padding:28px 0 0 42px;border-left:1px solid var(--wine);margin-top:22px}.scene-copy h3{font-size:38px;margin:12px 0}.scene-copy p{max-width:430px;font-size:14px}.journey-scene.is-active .scene-copy{border-left-width:3px}.room-explorer{background:var(--wine-dark);color:var(--paper);overflow:hidden}.room-explorer .eyebrow{color:#dfc4b9}.explorer-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:48px}.explorer-heading h2{margin-top:20px}.explorer-heading em{color:#e2b4a6}.rail-controls{display:flex;gap:12px}.rail-controls button{border:1px solid #a28a86;border-radius:50%;color:var(--paper);width:54px;height:54px;font-size:25px}.rail-controls button:disabled{opacity:.3;cursor:default}.room-rail{display:flex;gap:30px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:0 max(28px,calc((100vw - 1320px)/2)) 30px;scroll-padding-left:max(28px,calc((100vw - 1320px)/2));scrollbar-color:#c3a09d transparent;scrollbar-width:thin}.explore-room{flex:0 0 min(570px,69vw);position:relative;scroll-snap-align:start}.explore-room>a{display:block}.explore-room img{aspect-ratio:1.35;object-fit:cover;width:100%;transition:filter .4s;border-radius:4px}.explore-room a:hover img{filter:brightness(1.08)}.explore-room a>div{padding:25px 6px}.explore-room h3{font-size:clamp(28px,3vw,43px);margin:12px 0;max-width:460px}.explore-room p{font-size:12px;color:#d8c9c2}.explore-room .text-link{color:#f7e8de;border-color:#b99b93;margin-top:18px}.explore-number{position:absolute;top:15px;left:20px;font-family:var(--serif);font-size:70px;line-height:1;color:white;text-shadow:0 1px 25px #0008}.stay-planner{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.stay-planner h2{margin:20px 0 25px}.stay-planner>div>p{max-width:430px}.planner-options{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.planner-options .button{padding:12px 16px;font-size:11px;min-height:46px}.planner-options [aria-pressed=true]{background:var(--wine);color:var(--paper)}.planner-result{background:#ece7dc;padding:55px;position:relative;border-radius:140px 0 0 0}.planner-result:before{content:'✳';font-size:65px;color:var(--wine);position:absolute;right:30px;top:17px;line-height:1}.planner-result>.eyebrow{max-width:210px;padding-top:10px}.planner-result ol{list-style:none;padding:0;margin:35px 0}.planner-result li{padding:24px 0;border-bottom:1px solid #cfc4b9;display:grid;grid-template-columns:95px 1fr;gap:20px}.planner-result li b{font-size:12px;font-weight:600;color:var(--wine)}.planner-result li span{font-family:var(--serif);font-size:26px;line-height:1.25}.booking-teaser{text-align:center;border-top:1px solid var(--line)}.booking-teaser h2{margin:20px 0}.booking-teaser p{margin-bottom:28px}.booking-studio{padding-bottom:100px;scroll-margin-top:120px}.booking-studio-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.booking-studio-head h2{margin-top:20px}.booking-studio-head>p{max-width:420px}.booking-progress{list-style:none;display:grid;grid-template-columns:1fr 1fr 1fr;padding:0;margin:45px 0 30px;border-block:1px solid var(--line)}.booking-progress li{font-size:12px;padding:22px 10px;display:flex;align-items:center;gap:18px}.booking-progress b{font-family:var(--serif);font-weight:400;font-size:34px;color:var(--wine)}.booking-launch{display:grid;grid-template-columns:1fr 1fr;background:#ede5da}.booking-launch>div:first-child{min-height:480px}.booking-launch img{width:100%;height:100%;object-fit:cover}.booking-launch>div:last-child{padding:50px}.booking-launch h3{font-size:46px;margin:20px 0}.booking-launch p{font-size:13px;margin-bottom:25px}.booking-launch .small-copy{margin-top:25px;margin-bottom:0;font-size:11px}.booking-viewport{background:white;border:1px solid var(--line)}.booking-viewport>p{padding:16px 24px;font-size:12px;color:var(--wine);background:var(--paper)}.booking-viewport iframe{display:block;width:100%;height:1050px;min-height:70vh;border:0;background:white}.booking-help{display:flex;flex-wrap:wrap;gap:14px 32px;align-items:center;padding:28px 0;font-size:12px}.booking-help p{flex-basis:100%}.booking-help .text-link{font-size:12px}.booking-help>a:last-child{text-decoration:underline;text-underline-offset:4px}.hero-art .hero-seal{transition:transform .5s}.hero-art .hero-seal:hover{transform:rotate(9deg) scale(1.04)}
@media(min-width:1000px){.hero-main{border-radius:240px 240px 0 0}.hero-postcard{left:-40px;width:265px}.hero-editorial{padding-bottom:100px}.room-hero-image{position:relative;overflow:hidden}.room-hero-image>img{transition:transform 1s}.room-hero-image:hover>img{transform:scale(1.035)}}
@media(max-width:900px){.journey{gap:35px;grid-template-columns:.8fr 1.2fr}.journey-intro{top:125px}.journey-intro h2{font-size:44px}.journey-counter{font-size:80px}.scene-copy{padding-left:22px}.scene-copy h3{font-size:32px}.stay-planner{gap:35px}.planner-result{padding:45px 30px}.planner-result li{grid-template-columns:1fr;gap:8px}.booking-launch>div:last-child{padding:32px}.booking-launch h3{font-size:38px}.booking-studio-head{gap:35px}}
@media(max-width:600px){.journey{display:block}.journey-intro{position:static;padding-top:0;margin-bottom:45px}.journey-intro h2{font-size:46px}.journey-counter{display:none}.journey-scene{padding-bottom:55px}.journey-scene figure{height:410px;border-radius:150px 150px 0 0}.journey-scene figure img{transform:translateY(-8%)}.scene-number{font-size:70px}.scene-copy h3{font-size:34px}.scene-copy p{font-size:13px}.room-explorer{padding-block:65px}.explorer-heading{align-items:center;margin-bottom:30px}.explorer-heading h2{font-size:40px}.rail-controls{gap:5px}.rail-controls button{width:40px;height:40px;font-size:20px}.room-rail{padding-inline:20px;scroll-padding-left:20px;gap:18px}.explore-room{flex-basis:84vw}.explore-room img{aspect-ratio:.95}.explore-room h3{font-size:34px}.explore-number{font-size:60px}.stay-planner{display:block}.planner-result{margin-top:40px;padding:45px 30px;border-radius:90px 0 0 0}.planner-result li{grid-template-columns:80px 1fr;gap:15px}.planner-result li span{font-size:23px}.booking-studio{padding-bottom:55px}.booking-studio-head{display:block}.booking-studio-head h2{font-size:49px}.booking-studio-head>p{margin-top:23px;font-size:13px}.booking-progress{margin-top:30px;gap:10px}.booking-progress li{font-size:10px;display:block;padding:15px 0;line-height:1.5}.booking-progress b{display:block;font-size:28px;margin-bottom:6px}.booking-launch{display:block}.booking-launch>div:first-child{min-height:0;height:240px}.booking-launch>div:last-child{padding:30px 24px}.booking-launch h3{font-size:40px}.booking-launch .button{width:100%;gap:8px;padding-inline:12px}.booking-viewport iframe{height:1150px}.booking-help{gap:16px;font-size:11px}.booking-help .text-link{font-size:11px}.booking-teaser h2{font-size:47px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.journey-intro{position:static}.journey-scene figure img{transform:translateY(-8%)}.hero-art .hero-seal,.explore-room img,.room-hero-image>img{transition:none}.hero-art .hero-seal:hover,.room-hero-image:hover>img{transform:none}}
