@font-face{font-family:Manrope;src:url("fonts/veyra-manrope-latin.woff2") format("woff2");font-style:normal;font-weight:400 800;font-display:swap}
@font-face{font-family:Fraunces;src:url("fonts/fraunces-latin-variable.woff2") format("woff2");font-style:normal;font-weight:400 600;font-display:swap}
:root{color-scheme:light;--ink:#26312c;--muted:#59645e;--paper:#f1eee5;--paper-deep:#e7e4da;--sage:#71816f;--sage-dark:#425649;--line:#c9c9bb;--serif:"Fraunces",Georgia,"Times New Roman",serif;--sans:Manrope,"Helvetica Neue",Arial,sans-serif;--page-pad:clamp(24px,7.2vw,112px);--ease:cubic-bezier(.22,.72,.24,1)}
body[data-season="winter"]{--ink:#29363c;--muted:#5c6870;--paper:#eef0ed;--paper-deep:#e2e7e6;--sage:#788b91;--sage-dark:#475e64}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #294f43;outline-offset:4px}.skip-link{position:absolute;z-index:20;top:12px;left:12px;padding:10px 16px;background:#fff;color:#17231d;transform:translateY(-180%)}.skip-link:focus{transform:none}
.site-header{position:absolute;z-index:5;top:0;left:0;width:100%;height:90px;padding:0 var(--page-pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#28362f}.wordmark{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:15px;font-weight:800;letter-spacing:.17em}.wordmark-mark{width:27px;height:27px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:17px;font-weight:500;letter-spacing:0}.header-nav{display:flex;gap:clamp(25px,4vw,60px)}.header-nav a,.header-cta{font-size:15px;font-weight:650;text-decoration:none}.header-nav a{position:relative}.header-nav a:after{content:"";position:absolute;bottom:-6px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease)}.header-nav a:hover:after,.header-nav a:focus-visible:after{transform:scaleX(1);transform-origin:left}.header-cta{justify-self:end;display:flex;align-items:center;gap:13px}.header-cta span{font-size:19px}
.hero{position:relative;min-height:min(900px,100svh);height:max(700px,100svh);max-height:1040px;overflow:hidden;background:#d8d9d0;isolation:isolate}.hero-scene,.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;object-position:center 51%;transform:scale(1.025) translate3d(var(--parallax-x,0px),var(--parallax-y,0px),0);transition:opacity 1.15s var(--ease),filter 1s var(--ease),transform .7s ease-out;will-change:opacity,transform}.hero-image-summer{opacity:1}.hero-image-winter{opacity:0;filter:saturate(.76) brightness(.92)}body[data-season="winter"] .hero-image-summer{opacity:0;filter:saturate(.8)}body[data-season="winter"] .hero-image-winter{opacity:1;filter:saturate(.78) brightness(.95)}.hero-shade{z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(241,239,228,.36) 0%,rgba(241,239,228,.18) 35%,transparent 66%),linear-gradient(0deg,rgba(20,31,27,.27),transparent 20%)}body[data-season="winter"] .hero-shade{background:linear-gradient(90deg,rgba(231,236,235,.47),rgba(231,236,235,.22) 36%,transparent 66%),linear-gradient(0deg,rgba(28,39,45,.38),transparent 22%)}.hero-copy{position:absolute;z-index:2;top:clamp(135px,17vh,182px);left:var(--page-pad);max-width:min(670px,58vw);color:#26352f}.eyebrow{margin:0;color:var(--sage-dark);font-size:12px;font-weight:800;letter-spacing:.14em;line-height:1.4;text-transform:uppercase}body[data-season="winter"] .hero-copy{color:#2d3b42}.hero .eyebrow{display:flex;align-items:center;gap:10px;color:#30443b}.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:#667b63;box-shadow:0 0 0 4px rgba(102,123,99,.15)}h1,h2,h3,p{margin-top:0}.hero h1{margin:22px 0 16px;font-family:var(--serif);font-size:clamp(56px,6.2vw,92px);font-weight:450;letter-spacing:-.065em;line-height:.92}.hero-deck{max-width:430px;margin:0 0 27px;font-size:18px;font-weight:550;line-height:1.55}.text-link{display:inline-flex;align-items:center;gap:17px;padding:7px 0;text-decoration:none;font-size:15px;font-weight:800;border-bottom:1px solid rgba(38,49,44,.62)}.text-link span{font-size:20px;transition:transform .25s}.text-link:hover span{transform:translateY(3px)}.hero-bottom{position:absolute;z-index:2;right:var(--page-pad);bottom:32px;left:var(--page-pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:#f7f5ec}.hero-coordinate,.scene-caption{font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 14px rgba(16,28,24,.45)}.scene-caption{justify-self:end}.season-control{display:flex;gap:3px;padding:4px;border:1px solid rgba(255,255,255,.72);border-radius:99px;background:rgba(30,43,37,.21);backdrop-filter:blur(14px)}.season-button{min-height:42px;padding:0 23px;border:0;border-radius:99px;background:transparent;color:white;font-size:14px;font-weight:800;cursor:pointer;transition:background .25s,color .25s}.season-button[aria-pressed="true"]{background:#f5f2e8;color:#26342d}.scroll-mark{position:absolute;right:22px;top:50%;z-index:2;display:flex;align-items:center;gap:14px;color:rgba(255,255,255,.95);font-size:10px;font-weight:800;letter-spacing:.16em;writing-mode:vertical-rl}.scroll-mark i{display:block;width:1px;height:48px;background:rgba(255,255,255,.72)}
.intro{min-height:510px;padding:clamp(90px,12vw,168px) var(--page-pad) clamp(100px,12vw,160px);display:grid;grid-template-columns:1fr minmax(0,2.2fr) minmax(210px,.88fr);align-items:start;gap:5vw;background:var(--paper)}.intro-label{padding-top:13px}.intro h2,.cabins-heading h2,.arrival-copy h2,.plan-copy h2{margin:0;font-family:var(--serif);font-size:clamp(42px,5.5vw,78px);font-weight:450;letter-spacing:-.055em;line-height:.99}.intro h2 em{color:#788573;font-weight:400}.intro-note{padding-top:10px;color:var(--muted);font-size:16px;line-height:1.7}.small-rule{display:block;width:34px;height:1px;margin-bottom:21px;background:#637363}.intro-note p,.plan-aside p{margin:0}
.section-wrap{padding-right:var(--page-pad);padding-left:var(--page-pad)}.cabins{padding-top:75px;padding-bottom:72px;background:var(--paper-deep);transition:background-color 1s var(--ease)}.section-topline{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--line)}.section-index{color:#626b63;font-size:13px;font-weight:650;letter-spacing:.03em}.cabins-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;padding:47px 0 36px}.cabins-heading h2{font-size:clamp(48px,6vw,84px)}.cabins-heading p{max-width:340px;margin:0 0 4px;color:var(--muted);font-size:16px;line-height:1.7}.rail-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;color:#606b63;font-size:13px;font-weight:750;letter-spacing:.08em}.rail-controls b{color:var(--ink);font-size:15px}.rail-divider{margin:0 8px;color:#9da197}.rail-controls>div{display:flex;gap:8px}.rail-arrow{width:48px;height:48px;border:1px solid #abb0a3;border-radius:50%;background:transparent;color:#304036;font-size:22px;cursor:pointer;transition:background .2s,color .2s,border .2s}.rail-arrow:hover:not(:disabled){background:#405447;border-color:#405447;color:white}.rail-arrow:disabled{opacity:.42;cursor:default}.cabin-rail{display:flex;gap:24px;overflow-x:auto;overflow-y:hidden;padding:0 max(0px,calc((100vw - 1500px)/2)) 12px 0;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#8a9785 transparent;overscroll-behavior-x:contain}.cabin-card{flex:0 0 min(900px,79vw);min-height:460px;display:grid;grid-template-columns:1.17fr .83fr;overflow:hidden;background:#f5f3eb;scroll-snap-align:start}.cabin-image-wrap{position:relative;min-height:460px;overflow:hidden;background:#d5d4c8}.cabin-image-wrap img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .8s var(--ease)}.cabin-card:hover .cabin-image-wrap img{transform:scale(1.025)}.image-index{position:absolute;left:22px;top:22px;padding:6px 10px;border:1px solid rgba(255,255,255,.8);border-radius:99px;background:rgba(35,45,40,.22);color:white;font-size:11px;font-weight:800;letter-spacing:.1em}.cabin-info{display:flex;flex-direction:column;justify-content:center;padding:clamp(27px,4vw,55px)}.cabin-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#59645d;font-size:12px;font-weight:700}.cabin-meta span:last-child{white-space:nowrap}.cabin-meta b{color:#29362f;font-size:14px}.cabin-info h3{margin:28px 0 10px;font-family:var(--serif);font-size:clamp(36px,3.6vw,52px);font-weight:450;letter-spacing:-.045em;line-height:1}.cabin-info>p{max-width:330px;margin:0;color:#59645e;font-size:15px;line-height:1.7}.spec-row{display:flex;flex-wrap:wrap;gap:8px 15px;margin-top:23px;padding-top:19px;border-top:1px solid #d4d4c9;color:#48554d;font-size:12px;font-weight:750}.spec-row span{white-space:nowrap}.choose-cabin{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:28px;padding:13px 0;border:0;border-top:1px solid #c9cdc1;background:transparent;color:#34453a;text-align:left;font-size:14px;font-weight:800;cursor:pointer}.choose-cabin span{font-size:20px;transition:transform .2s}.choose-cabin:hover span{transform:translate(3px,-3px)}.rail-hint{display:flex;justify-content:space-between;max-width:430px;margin:17px 0 0 auto;color:#687168;font-size:12px;font-weight:650}.rail-hint span{font-size:18px}
.arrival{padding-top:90px;padding-bottom:126px;background:var(--paper);transition:background-color 1s var(--ease)}.arrival-grid{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.4fr);gap:clamp(50px,8vw,130px);align-items:center;padding-top:67px}.arrival-copy h2{font-size:clamp(47px,5.3vw,74px)}.arrival-copy>p{max-width:400px;margin:25px 0 30px;color:var(--muted);font-size:16px;line-height:1.75}.arrival-facts{border-top:1px solid var(--line)}.arrival-facts>div{display:grid;grid-template-columns:39px 1fr;gap:11px;padding:14px 0;border-bottom:1px solid var(--line)}.arrival-facts span{color:#728070;font-size:12px;font-weight:800;letter-spacing:.1em}.arrival-facts p{margin:0;color:#626b64;font-size:14px;line-height:1.55}.arrival-facts b{color:#334139;font-size:14px}.map-frame{position:relative;overflow:hidden;background:#e8e8dc}.valley-map{display:block;width:100%;height:auto;min-height:380px}.map-node text,.rail-node text{fill:#38483e;font-family:var(--sans);font-size:13px;font-weight:800;letter-spacing:1.3px}.map-node .map-sub,.rail-node .map-sub{fill:#59695e;font-size:10px;font-weight:700;letter-spacing:.9px}.map-caption{position:absolute;right:0;bottom:0;left:0;display:flex;justify-content:space-between;padding:14px 18px;background:rgba(246,244,235,.84);color:#5b675f;font-size:10px;font-weight:800;letter-spacing:.11em}.map-caption span:last-child{font-weight:600;letter-spacing:.02em}
.plan{padding-top:82px;padding-bottom:135px;background:var(--paper-deep);transition:background-color 1s var(--ease)}.plan-grid{display:grid;grid-template-columns:.78fr .9fr 1fr;gap:clamp(38px,6vw,92px);align-items:start;padding-top:67px}.plan-copy h2{font-size:clamp(48px,5.4vw,76px)}.plan-copy>p{max-width:320px;margin:23px 0 0;color:var(--muted);font-size:16px;line-height:1.7}.plan-aside{max-width:270px;margin-top:54px;color:#606c62;font-family:var(--serif);font-size:19px;line-height:1.5}.field-row{display:flex;flex-direction:column;gap:8px;margin-bottom:25px}.field-row label{color:#3b4b40;font-size:13px;font-weight:800;letter-spacing:.04em}.field-row select{width:100%;height:52px;padding:0 42px 0 14px;border:1px solid #b8bdaf;border-radius:0;background-color:#f4f2eb;color:#29362f;font-size:14px;font-weight:650;cursor:pointer}.field-row select:hover{border-color:#526a59}.field-pair{display:grid;grid-template-columns:1.3fr .7fr;gap:17px}.field-hint{margin-top:-4px;color:#657066;font-size:12px}.plan-submit{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:56px;padding:0 17px;border:0;background:#3e5546;color:#fff;font-size:15px;font-weight:800;cursor:pointer;transition:background .2s}.plan-submit:hover{background:#293e32}.plan-submit span{font-size:21px}.stay-summary{position:relative;min-height:345px;padding:30px 30px 23px;overflow:hidden;background:#445d4e;color:#f2f0e7}.stay-summary:after{content:"";position:absolute;right:-62px;bottom:-112px;width:240px;height:240px;border:1px solid rgba(242,240,231,.16);border-radius:50%;box-shadow:0 0 0 20px rgba(242,240,231,.035),0 0 0 48px rgba(242,240,231,.035)}.summary-top{display:flex;justify-content:space-between;align-items:center}.summary-top .eyebrow{color:#d3dece;font-size:11px}.summary-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(240,240,228,.55);border-radius:50%;font-family:var(--serif);font-size:19px}.summary-season{margin:43px 0 8px;color:#d2ddcb;font-size:11px;font-weight:800;letter-spacing:.14em}.stay-summary h3{margin:0;font-family:var(--serif);font-size:37px;font-weight:450;letter-spacing:-.03em;line-height:1.08}.summary-detail{display:flex;gap:9px;margin:9px 0 26px;color:#e0e4d8;font-size:14px}.summary-total{display:flex;justify-content:space-between;align-items:end;gap:10px;padding-top:18px;border-top:1px solid rgba(242,240,231,.3)}.summary-total span{font-size:12px;color:#d5dfd2}.summary-total strong{font-family:var(--serif);font-size:29px;font-weight:450}.summary-foot{margin:15px 0 0;color:#d5dfd2;font-size:12px}
.site-footer{min-height:160px;padding:30px var(--page-pad);display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;gap:13px 24px;background:#303c34;color:#f2f0e7}.footer-brand{font-size:14px;font-weight:850;letter-spacing:.15em;text-decoration:none}.footer-brand span{color:#c3cbbf;font-size:11px;font-weight:650;letter-spacing:.08em}.back-link{justify-self:end;display:flex;gap:9px;align-items:center;font-size:14px;font-weight:700;text-decoration:none}.back-link:hover{text-decoration:underline;text-underline-offset:5px}.legal-note{grid-column:1;margin:0;color:#d2d7cf;font-size:12px}.footer-end{grid-column:2;grid-row:2;justify-self:end;color:#c4cdc2;font-size:11px;font-weight:750;letter-spacing:.09em}
@media(max-width:1000px){:root{--page-pad:5vw}.site-header{grid-template-columns:1fr auto}.header-nav{grid-column:1/-1;grid-row:2;justify-content:center;margin-top:-5px}.site-header{height:100px}.header-cta{grid-column:2;grid-row:1}.hero-copy{top:24vh;max-width:66vw}.intro{grid-template-columns:.7fr 2fr;gap:30px}.intro-note{grid-column:2;max-width:520px;display:flex;gap:18px}.intro-note .small-rule{flex:0 0 30px;margin-top:13px}.cabin-card{flex-basis:min(850px,88vw)}.arrival-grid{grid-template-columns:.8fr 1.2fr;gap:5vw}.plan-grid{grid-template-columns:.8fr 1fr;gap:42px}.plan-copy{grid-row:1}.stay-form{grid-row:1/span 2;grid-column:2}.stay-summary{grid-row:2;grid-column:1}}
@media(max-width:680px){:root{--page-pad:22px}html{scroll-padding-top:74px}.site-header{height:78px;padding-inline:22px;grid-template-columns:1fr auto}.wordmark{font-size:13px;gap:8px}.wordmark-mark{width:25px;height:25px}.header-nav{grid-row:1;grid-column:2;gap:17px;margin:0}.header-nav a{font-size:12px}.header-nav a:last-child{display:none}.header-cta{display:none}.hero{height:100svh;min-height:700px;max-height:920px}.hero-image{object-position:56% center}.hero-shade{background:linear-gradient(90deg,rgba(242,239,228,.45),rgba(242,239,228,.12) 68%,transparent),linear-gradient(0deg,rgba(20,31,27,.36),transparent 28%)}body[data-season="winter"] .hero-shade{background:linear-gradient(90deg,rgba(226,234,235,.53),rgba(226,234,235,.17) 68%,transparent),linear-gradient(0deg,rgba(28,39,45,.43),transparent 28%)}.hero-copy{top:23vh;left:22px;max-width:calc(100% - 44px)}.hero .eyebrow{font-size:11px}.hero h1{margin:23px 0 16px;font-size:clamp(56px,15vw,68px);line-height:.96;letter-spacing:-.065em}.hero-deck{max-width:310px;margin-bottom:20px;font-size:16px;line-height:1.5}.hero-bottom{right:22px;bottom:23px;left:22px;grid-template-columns:1fr auto;row-gap:13px}.hero-coordinate{font-size:10px}.scene-caption{grid-column:1;grid-row:2;justify-self:start;font-size:10px}.season-control{grid-column:2;grid-row:1/span 2}.season-button{min-height:44px;padding-inline:17px;font-size:13px}.scroll-mark{display:none}.intro{min-height:auto;padding:88px 22px 96px;grid-template-columns:1fr;gap:25px}.intro-label{padding:0}.intro h2{font-size:clamp(42px,12vw,60px)}.intro-note{grid-column:1;padding:0;max-width:420px;font-size:15px}.intro-note .small-rule{margin-top:11px}.section-wrap{padding-inline:22px}.cabins{padding-top:64px;padding-bottom:48px}.section-topline{align-items:start;gap:15px}.section-topline .eyebrow{font-size:11px}.section-index{max-width:140px;text-align:right;font-size:12px}.cabins-heading{display:block;padding:34px 0 26px}.cabins-heading h2{font-size:clamp(48px,13vw,66px)}.cabins-heading p{max-width:340px;margin-top:18px;font-size:15px}.rail-controls{margin-bottom:12px}.rail-arrow{width:45px;height:45px}.cabin-rail{gap:14px;margin-right:-22px;padding-right:22px;padding-bottom:9px}.cabin-card{flex-basis:86vw;min-height:0;grid-template-columns:1fr;scroll-snap-align:start}.cabin-image-wrap{min-height:0;height:56vw;max-height:310px}.cabin-info{padding:21px 22px 16px}.cabin-meta{font-size:11px}.cabin-meta b{font-size:13px}.cabin-info h3{margin:20px 0 8px;font-size:39px}.cabin-info>p{font-size:14px}.spec-row{gap:7px 13px;margin-top:17px;padding-top:14px;font-size:11px}.choose-cabin{margin-top:17px;padding:11px 0;font-size:13px}.rail-hint{padding-right:0;font-size:11px}.arrival{padding-top:67px;padding-bottom:85px}.arrival-grid{grid-template-columns:1fr;gap:32px;padding-top:38px}.arrival-copy h2{font-size:clamp(47px,12.6vw,66px)}.arrival-copy>p{margin:18px 0 22px;font-size:15px}.arrival-facts>div{padding:11px 0}.arrival-facts p,.arrival-facts b{font-size:13px}.map-frame{margin-inline:-5px}.valley-map{min-height:250px}.map-node text,.rail-node text{font-size:12px}.map-node .map-sub,.rail-node .map-sub{font-size:9px}.map-caption{padding:12px;font-size:9px}.plan{padding-top:65px;padding-bottom:88px}.plan-grid{grid-template-columns:1fr;gap:32px;padding-top:38px}.plan-copy h2{font-size:clamp(49px,13vw,68px)}.plan-copy>p{margin-top:17px;font-size:15px}.plan-aside{display:none}.stay-form{grid-row:auto;grid-column:auto}.field-row{margin-bottom:20px}.field-pair{grid-template-columns:1fr 100px;gap:12px}.field-row select{height:51px;font-size:13px}.plan-submit{min-height:55px}.stay-summary{grid-row:auto;grid-column:auto;min-height:300px;padding:25px}.summary-season{margin-top:33px}.stay-summary h3{font-size:34px}.site-footer{min-height:190px;padding:27px 22px;grid-template-columns:1fr auto;gap:13px}.footer-brand{font-size:12px}.footer-brand span{font-size:10px}.back-link{font-size:12px}.legal-note{grid-column:1/-1;grid-row:2;max-width:280px;font-size:11px;line-height:1.5}.footer-end{display:none}}
@media(max-width:360px){:root{--page-pad:18px}.site-header{padding-inline:18px}.header-nav{gap:12px}.header-nav a{font-size:11px}.hero-copy{left:18px;max-width:calc(100% - 36px)}.hero h1{font-size:55px}.hero-bottom{right:18px;left:18px}.season-button{padding-inline:13px}.section-wrap{padding-inline:18px}.cabin-rail{margin-right:-18px;padding-right:18px}.cabin-card{flex-basis:87vw}.site-footer{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-image{transform:none!important}.cabin-card:hover .cabin-image-wrap img{transform:none}}

/* Editorial type scale and narrow-screen layout corrections. */
body{font-size:18px}
.intro-note,.cabins-heading p,.cabin-info>p,.arrival-copy>p,.arrival-facts p,.arrival-facts b,.plan-copy>p{font-size:18px}
.header-nav a,.header-cta{font-size:15px}
.hero .eyebrow,.section-topline .eyebrow{font-size:12px}
.scroll-mark{font-size:12px}
.season-button{font-size:15px}
.cabin-meta,.image-index,.spec-row,.rail-hint,.map-caption,.summary-top .eyebrow,.summary-season,.summary-total span,.summary-foot,.footer-brand span,.legal-note,.footer-end{font-size:12px}
.cabin-meta b{font-size:15px}
.choose-cabin,.back-link{font-size:15px}
.summary-detail{font-size:16px}
.field-row label{font-size:14px}
.field-row select{font-size:16px}
.cabin-info>p{font-size:18px}
.hero-title-mobile{display:none}
.mobile-menu{display:none}
@media(max-width:680px){
 body{font-size:16px}
 .site-header{height:76px;padding-inline:20px;grid-template-columns:1fr auto}
 .wordmark{font-size:15px}
 .header-nav{display:none}
 .mobile-menu{position:relative;display:block;justify-self:end;z-index:6}
 .mobile-menu summary{display:grid;place-items:center;min-width:64px;min-height:44px;padding:0 12px;border:1px solid rgba(45,59,51,.55);border-radius:999px;color:#26352f;font-size:15px;font-weight:750;cursor:pointer;list-style:none}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu nav{position:absolute;top:calc(100% + 8px);right:0;display:grid;gap:0;min-width:190px;padding:7px;background:#f1eee5;border:1px solid rgba(45,59,51,.2);box-shadow:0 12px 28px rgba(23,34,28,.18)}
 .mobile-menu nav a{min-height:46px;display:flex;align-items:center;padding:0 12px;color:#26352f;font-size:15px;font-weight:700;text-decoration:none}
 .mobile-menu nav a+a{border-top:1px solid rgba(45,59,51,.14)}
 .hero{height:100vh;height:100svh;min-height:0;max-height:none}
 .hero-copy{top:21vh;left:22px;max-width:calc(100% - 44px)}
 .hero-title-desktop{display:none}
 .hero-title-mobile{display:block}
 .hero .eyebrow{font-size:12px}
 .hero h1{margin:22px 0 15px;font-size:clamp(42px,14.35vw,56px);line-height:.98;letter-spacing:-.065em}
 .hero-deck{font-size:16px}
 .hero-bottom{right:20px;bottom:12px;left:20px;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}
 .hero-coordinate,.scene-caption{max-width:100%;margin:0;font-size:12px;line-height:1.25;text-align:center}
 .hero-coordinate{order:1}
 .scene-caption{order:2}
 .season-control{order:0}
 .season-button{min-width:74px;min-height:44px;padding-inline:14px;font-size:15px}
 .intro-note,.cabins-heading p,.cabin-info>p,.arrival-copy>p,.arrival-facts p,.arrival-facts b,.plan-copy>p{font-size:16px}
 .section-topline .eyebrow{font-size:12px}
 .section-index{font-size:12px}
 .cabins-heading p{font-size:16px}
 .cabin-meta,.cabin-meta b,.image-index,.spec-row,.choose-cabin,.rail-hint,.map-caption,.field-row label,.field-row select,.summary-top .eyebrow,.summary-season,.summary-total span,.summary-foot,.footer-brand span,.back-link,.legal-note{font-size:12px}
 .cabin-info>p{font-size:16px}
 .choose-cabin{font-size:15px}
 .arrival-copy>p,.arrival-facts p,.arrival-facts b,.plan-copy>p{font-size:16px}
 .map-node text:not(.map-sub),.rail-node text:not(.map-sub){font-size:clamp(31px,7.5vw,36px)}

 .map-node .map-sub,.rail-node .map-sub{display:none}
 .map-caption{font-size:12px}
 .field-row label{font-size:14px}
 .field-row select{font-size:16px}
 .back-link{font-size:15px}
 .legal-note{font-size:12px}
}
@media(max-width:360px){
 .map-caption{flex-direction:column;align-items:flex-start;gap:2px}
 .site-header{padding-inline:18px}
 .hero-copy{left:18px;max-width:calc(100% - 36px)}
 .hero-bottom{right:18px;left:18px}
 .season-button{min-width:68px;padding-inline:11px}
}


/* Opus round-two corrections: keep words distinct and improve phone readability. */
.hero h1,.intro h2,.cabins-heading h2,.arrival-copy h2,.plan-copy h2{letter-spacing:-.02em}
.spec-row{display:flex;flex-wrap:wrap;gap:8px 14px}
.spec-row span{white-space:nowrap}
.map-node .map-sub,.rail-node .map-sub{font-size:12px}
@media(max-width:680px){
 .hero-copy{isolation:isolate}
 .hero-copy::before{content:"";position:absolute;z-index:0;inset:-13px -12px -12px -10px;pointer-events:none;background:linear-gradient(90deg,rgba(241,239,230,.78) 0%,rgba(241,239,230,.58) 66%,rgba(241,239,230,.15) 100%),linear-gradient(180deg,rgba(241,239,230,.18),rgba(241,239,230,0) 86%)}
 body[data-season="winter"] .hero-copy::before{background:linear-gradient(90deg,rgba(232,237,237,.82) 0%,rgba(232,237,237,.62) 66%,rgba(232,237,237,.18) 100%),linear-gradient(180deg,rgba(232,237,237,.2),rgba(232,237,237,0) 86%)}
 .hero-copy>*{position:relative;z-index:1}
 .cabins{padding-bottom:48px}
}
