.travel-page{--travel-wine:#522b33;background:#f5f2ed}.travel-page main{overflow:clip}.travel-opening{padding:170px 7% 65px;position:relative}.travel-opening h1{font:400 clamp(90px,12.5vw,190px)/.83 var(--serif);letter-spacing:-.055em;margin:45px 0 55px}.travel-opening h1 em{padding-left:13%;font-weight:400}.travel-introduction{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-left:13%}.travel-introduction p{font-size:17px;line-height:1.65}.travel-introduction nav{display:flex;gap:38px}.travel-introduction a{border-bottom:1px solid var(--rule);padding:15px 0;display:flex;gap:18px;font-size:15px}.travel-introduction a span:first-child{font:italic 21px var(--serif)}.travel-scroll{display:block;font-size:12px;letter-spacing:.13em;text-transform:uppercase;margin-top:85px}.hotel-chapter{scroll-margin-top:80px}.hotel-stage{height:min(900px,100svh);min-height:630px;position:relative;margin:30px 4% 0}.chapter-index{position:absolute;top:35px;left:3.3%;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.hotel-photo{margin:0;position:absolute;overflow:hidden;background:#ddd7cb;transform:translateY(var(--drift,0px));transition:transform .15s linear}.hotel-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.65,.3,1)}.hotel-photo:hover img{transform:scale(1.035)}.hotel-photo-main{width:47%;height:72%;right:8%;top:10%}.hotel-photo-detail{width:24%;height:42%;left:8%;bottom:3%;z-index:2}.hotel-stage h2{position:absolute;top:39%;left:0;width:100%;text-align:center;font:400 clamp(75px,11.5vw,170px)/.94 var(--serif);letter-spacing:-.055em;color:#fff;mix-blend-mode:difference;z-index:3;pointer-events:none;margin:0}.hotel-stage h2 em{font-weight:400}.stage-caption{position:absolute;bottom:4%;right:8%;font:italic 26px var(--serif)}.hotel-information{margin:45px 11% 120px;display:grid;grid-template-columns:1.15fr 1fr;gap:14%;border-top:1px solid var(--rule);padding-top:40px}.hotel-note h3{font:400 clamp(36px,4vw,60px)/1.02 var(--serif);letter-spacing:-.03em;margin:25px 0}.hotel-note h3 em{font-weight:400}.hotel-information p{font-size:16px;line-height:1.65;max-width:460px}.hotel-booking address{font-style:normal;font-size:18px;line-height:1.6;margin:24px 0 18px}.room-block{margin:26px 0 20px;padding:22px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.room-block p{margin:10px 0 0;color:#625b54}.hotel-links{display:flex;flex-wrap:wrap;gap:15px 28px;font-size:14px}.hotel-links a{border-bottom:1px solid var(--rule);padding-bottom:5px}.hotel-links a:hover,.travel-introduction a:hover{color:var(--wine);border-color:var(--wine)}.hotel-chapter-alt .hotel-photo-main{left:8%;right:auto}.hotel-chapter-alt .hotel-photo-detail{right:8%;left:auto}.hotel-chapter-alt .stage-caption{left:8%;right:auto}.travel-arrival{padding:65px 11% 90px;background:#eae6dc;display:grid;grid-template-columns:1fr 2fr;gap:8%}.travel-arrival h2{font:400 clamp(46px,6vw,85px)/.98 var(--serif);letter-spacing:-.04em;margin:0 0 30px}.travel-arrival p{font-size:16px}.travel-page a:focus-visible{outline:2px solid var(--wine);outline-offset:7px}
@media(max-width:760px){.travel-opening{padding:135px 7% 40px}.travel-opening h1{font-size:clamp(72px,17vw,120px);margin:35px 0}.travel-opening h1 em{padding-left:9%}.travel-introduction{margin:0;display:block}.travel-introduction nav{gap:25px;margin-top:24px;flex-wrap:wrap}.travel-scroll{margin-top:45px}.hotel-stage{height:620px;min-height:0;margin:0 0 20px}.chapter-index{left:7%;top:28px}.hotel-photo-main{right:5%;top:80px;width:70%;height:65%}.hotel-photo-detail{left:5%;bottom:25px;width:37%;height:34%}.hotel-stage h2{font-size:clamp(58px,13vw,95px);top:42%;padding:0 4%}.stage-caption{right:7%;bottom:25px;font-size:21px}.hotel-information{margin:20px 7% 75px;grid-template-columns:1fr;gap:35px;padding-top:30px}.hotel-note h3{font-size:43px}.hotel-chapter-alt .hotel-photo-main{left:5%}.hotel-chapter-alt .hotel-photo-detail{right:5%}.hotel-chapter-alt .stage-caption{left:7%}.travel-arrival{padding:45px 7% 65px;grid-template-columns:1fr;gap:20px}.travel-arrival h2{font-size:53px}}
@media(prefers-reduced-motion:reduce){.hotel-photo,.hotel-photo img{transform:none!important;transition:none!important}html{scroll-behavior:auto!important}}

/* Portfolio composition: names flank the drifting photo spread. */
@media(min-width:761px){.hotel-photo-main{width:46%;right:27%;height:74%;top:12%}.hotel-photo-detail{width:19%;height:37%;left:auto;right:12%;bottom:0}.hotel-stage h2{top:46%;font-size:clamp(26px,2.6vw,38px);letter-spacing:-.025em;color:var(--ink);mix-blend-mode:normal;display:flex;justify-content:space-between;align-items:center;padding:0 2%;text-align:left}.hotel-stage h2 em{font-style:normal}.stage-caption{bottom:2%;left:27%;right:auto;font-size:24px}.hotel-chapter-alt .hotel-photo-main{left:27%;right:auto}.hotel-chapter-alt .hotel-photo-detail{left:12%;right:auto}.hotel-chapter-alt .stage-caption{left:auto;right:27%}}
@media(max-width:760px){.hotel-stage h2{top:60px;left:7%;width:86%;padding:0;font-size:38px;text-align:left;color:var(--ink);mix-blend-mode:normal;display:flex;justify-content:space-between;gap:12px;align-items:baseline}.hotel-stage h2 em{font-size:22px}.hotel-photo-main{top:125px;height:60%}.hotel-chapter-alt .hotel-photo-main{top:125px}.chapter-index{top:20px}}

#graduate .hotel-photo-third{left:12%;top:8%;width:29%;height:auto;aspect-ratio:738/387;z-index:2}#graduate .hotel-photo-detail{height:auto;aspect-ratio:1.5;width:29%;right:9%}@media(max-width:760px){#graduate .hotel-photo-third{left:5%;top:120px;width:53%}#graduate .hotel-photo-main{top:220px;height:43%}#graduate .hotel-photo-detail{left:5%;right:auto;width:45%;bottom:20px}}
