/* Stay Your Way — shared site shell and booking-first homepage. */
body.stay-your-way { --bg-main:#edf2f8; --bg-card:#fff; --bg-alt:#e4edf8; --text-main:#102b58; --text-muted:#4d607b; --border-color:#d5dfec; --accent-gold:#164fa2; --accent-gold-hover:#123e7e; --primary-navy:#064aa0; --header-height:84px; --banner-height:0px; --border-radius-lg:14px; background:var(--bg-main); }
body.stay-your-way[data-theme="dark"] { --bg-main:#0d192a; --bg-card:#17273e; --bg-alt:#21334d; --text-main:#edf4ff; --text-muted:#b5c7df; --border-color:#354b68; --accent-gold:#99c6ff; --accent-gold-hover:#c9e0ff; }
.stay-your-way { padding-top:84px; }
.stay-your-way :focus-visible { outline:3px solid #d46a13; outline-offset:4px; }
.way-wrap { width:min(1240px,calc(100% - 64px)); margin:auto; }
.way-header { position:fixed; inset:0 0 auto; height:84px; background:#074a9f; color:white; z-index:1000; box-shadow:0 2px 10px #102b5810; }
.way-nav-wrap { max-width:1440px; margin:auto; padding:0 32px; height:100%; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.way-brand { color:white; font:700 30px/1 var(--font-heading); letter-spacing:-1.2px; white-space:nowrap; }
.way-brand span { display:block; font:400 10px/1.5 var(--font-body); letter-spacing:1px; margin-top:7px; }
.way-header .nav-menu ul { gap:19px; }
.way-header .nav-link { color:white; font:500 12px var(--font-body); opacity:1; padding:8px 0; }
.way-header .nav-link:hover { color:#ffe0c1; }
.way-header .nav-link::after { background:white; }
.way-header-actions { display:flex; gap:12px; align-items:center; }
.way-phone { display:flex; align-items:center; gap:7px; font-size:12px; font-weight:600; white-space:nowrap; }
.way-icon { width:23px; height:23px; flex-shrink:0; }
.way-button { background:#ff742b; color:#122849; min-height:48px; display:inline-flex; justify-content:center; align-items:center; gap:15px; padding:14px 22px; border-radius:7px; font-size:14px; font-weight:700; text-align:center; line-height:1.4; }
.way-button:hover { background:#ff944f; color:#122849; transform:translateY(-1px); }
.way-header .way-button { min-height:42px; padding:11px 16px; font-size:12px; }
.way-header .control-btn { width:36px; height:36px; min-width:36px; min-height:36px; color:white; border:1px solid #ffffff55; border-radius:7px; }
.way-header .control-btn:hover { background:#ffffff20; }
.way-header :focus-visible, .way-footer :focus-visible { outline-color:white; }
.stay-your-way .mobile-drawer { top:84px; }
.way-nojs-nav { display:flex; flex-wrap:wrap; justify-content:center; gap:16px; padding:15px; }
.way-intro { display:flex; justify-content:space-between; align-items:center; padding:55px 0 34px; gap:40px; }
.way-eyebrow { font:600 10px/1.5 var(--font-body); letter-spacing:2px; margin-bottom:15px; color:var(--text-muted); }
.way-intro h1 { font-size:clamp(45px,5.7vw,78px); line-height:.99; letter-spacing:-3.4px; font-weight:800; }
.way-intro-note { border-left:1px solid var(--border-color); padding:15px 0 15px 30px; max-width:340px; font-size:15px; color:var(--text-muted); }
.way-note-icon { color:#1555ab; display:block; margin-bottom:10px; }
.way-intro-note a { font-size:11px; font-weight:600; display:block; margin-top:14px; text-decoration:underline; text-underline-offset:4px; }
.way-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px; margin-bottom:12px; }
.way-tab { display:flex; align-items:center; gap:22px; background:var(--bg-card); padding:23px 27px; border-radius:9px; color:var(--text-main); min-width:0; }
.way-tab:hover { background:var(--bg-alt); }
.way-tab[aria-selected="true"] { background:#0753b2; color:white; box-shadow:0 6px 18px #064aa01a; }
.way-tab-number { font:600 37px/1 var(--font-heading); color:#5987c1; }
.way-tab[aria-selected="true"] .way-tab-number { color:white; }
.way-tab strong { display:block; font:600 20px/1.2 var(--font-heading); letter-spacing:-.4px; }
.way-tab small { display:block; font-size:11px; margin-top:6px; }
.way-stay-panel { display:grid; grid-template-columns:1.4fr 1fr; overflow:hidden; border-radius:10px; background:var(--bg-card); margin-bottom:18px; }
.way-stay-panel[hidden] { display:none; }
.way-room-photo { position:relative; min-height:450px; background:var(--bg-alt); }
.way-room-photo > img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.way-stay-copy { padding:35px 38px; }
.way-stay-copy h2 { font-size:clamp(29px,3.1vw,43px); letter-spacing:-1.5px; line-height:1.06; margin-bottom:17px; }
.way-stay-copy > p:not(.way-eyebrow) { font-size:13px; color:var(--text-muted); line-height:1.8; }
.way-feature-list { display:grid; gap:13px; margin:25px 0; }
.way-feature-list li { display:flex; align-items:center; gap:12px; font-size:12px; color:var(--text-muted); }
.way-stay-copy .way-button { width:100%; }
.way-call-link { display:flex; justify-content:center; align-items:center; gap:8px; margin-top:16px; font-size:12px; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.way-photo-controls { display:flex; align-items:center; gap:15px; position:absolute; left:20px; bottom:20px; background:#102b58df; padding:5px; border-radius:40px; color:white; font-size:12px; }
.way-photo-controls[hidden] { display:none; }
.way-photo-controls button { border:0; border-radius:50%; width:40px; height:40px; background:#fff; color:#102b58; font-size:23px; cursor:pointer; }
.way-gallery-link { position:absolute; right:20px; bottom:26px; color:#102b58; background:white; border-radius:5px; padding:10px 15px; font-size:12px; font-weight:600; }
.way-text-link { display:block; text-align:center; font-weight:600; font-size:13px; padding:15px 0 0; text-decoration:underline; text-underline-offset:4px; }
.way-mosaic { display:grid; grid-template-columns:1.15fr .85fr 1fr; gap:16px; margin-top:22px; }
.way-area-tile { background:#d7e8f8; color:#102b58; border-radius:10px; overflow:hidden; display:flex; flex-direction:column; }
.way-tile-copy { padding:27px 27px 0; position:relative; z-index:1; }
.way-mosaic h2 { font-size:27px; line-height:1.07; letter-spacing:-.7px; }
.way-area-tile h2 { color:#102b58; }
.way-tile-copy p:not(.way-eyebrow) { font-size:13px; margin:12px 0 16px; color:#334f73; }
.way-small-button { display:inline-flex; align-items:center; gap:20px; background:white; border:1px solid #d5dfec; color:#123963; border-radius:6px; padding:11px 16px; font-size:12px; font-weight:700; }
.way-small-button:hover { background:#eff5ff; }
.way-map-art { height:195px; min-height:160px; flex:1; position:relative; overflow:hidden; background:repeating-linear-gradient(90deg,transparent 0 42px,#ffffff80 43px 47px,transparent 48px 65px),repeating-linear-gradient(0deg,transparent 0 38px,#ffffff80 39px 43px,transparent 44px 60px); margin-top:15px; }
.way-map-river { position:absolute; height:310px; width:70px; left:65%; top:-45px; transform:rotate(25deg); background:#a2cee9; color:#27638f; font:italic 12px var(--font-body); display:flex; align-items:center; justify-content:center; writing-mode:vertical-rl; border:8px solid #bee0f3; }
.way-map-road { position:absolute; width:13px; height:310px; top:-40px; left:25%; background:#fff; transform:rotate(25deg); box-shadow:0 0 0 2px #cad9e4; }
.way-map-pin { position:absolute; top:65px; left:17%; display:flex; align-items:center; gap:6px; background:white; border-radius:6px; padding:9px 13px; box-shadow:0 5px 20px #42617a25; font-weight:700; font-size:13px; }
.way-map-pin svg { color:#0753b2; }
.way-map-art small { position:absolute; bottom:8px; right:12px; font-size:9px; background:#eaf3fae8; padding:3px 6px; }
.way-address { background:#ffffffbb; padding:18px 22px; display:flex; gap:14px; align-items:center; justify-content:space-between; font-size:10px; }
.way-address a { font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.way-weekly-tile { padding:28px; border-radius:10px; background:linear-gradient(145deg,#0861bc,#063d84); color:white; display:flex; flex-direction:column; align-items:flex-start; }
.way-weekly-tile h2 { color:white; font-size:31px; }
.way-weekly-tile .way-eyebrow { color:#d3e7ff; font-size:9px; }
.way-weekly-tile > svg { width:75px; height:75px; stroke-width:.9; color:#add6ff; margin:26px 0; }
.way-weekly-tile > p:not(.way-eyebrow) { font-size:13px; color:#e3efff; margin:0 0 26px; }
.way-weekly-tile .way-small-button { margin-top:auto; width:100%; justify-content:space-between; }
.way-mosaic-side { display:flex; flex-direction:column; gap:16px; min-width:0; }
.way-essentials { border-radius:10px; padding:25px; background:var(--bg-card); }
.way-essentials h2 { font-size:22px; }
.way-essentials > div { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:23px; }
.way-essentials span { display:flex; align-items:center; gap:9px; font-size:10px; color:var(--text-muted); }
.way-home .weather-card { border:0; border-radius:10px; background:var(--bg-card); color:var(--text-main); padding:22px; flex:1; }
.way-home .weather-heading-row h2 { color:var(--text-main); font-size:21px; font-weight:600; }
.way-home .weather-area { display:none; }
.way-home .weather-temperature { color:var(--text-main); font-size:34px; }
.way-home .weather-condition,.way-home .weather-updated,.way-home .weather-details dt { color:var(--text-muted); }
.way-home .weather-body { grid-template-columns:54px minmax(0,1fr) auto; gap:9px; }
.way-home .weather-icon { width:54px; }
.way-home .weather-details { padding-left:10px; border-color:var(--border-color); }
.way-home .weather-footer { border-color:var(--border-color); }
.way-home .weather-footer a,.way-home .weather-motion { color:var(--accent-gold); min-height:32px; }
.way-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:28px; }
.way-section-heading h2 { font-size:42px; line-height:1.07; letter-spacing:-1.5px; }
.way-section-heading > p { color:var(--text-muted); font-size:13px; }
.way-rooms { margin:65px 0 45px; }
.way-room-row { display:grid; grid-template-columns:210px minmax(0,1fr) 210px; gap:27px; align-items:center; background:var(--bg-card); padding:16px; margin:10px 0; border-radius:9px; }
.way-room-row img { width:100%; aspect-ratio:1.8; object-fit:cover; border-radius:5px; }
.way-room-row h3 { font-size:25px; letter-spacing:-.7px; }
.way-room-row p { font-size:12px; color:var(--text-muted); margin:6px 0 17px; }
.way-room-row ul { display:flex; flex-wrap:wrap; gap:8px 20px; font-size:11px; color:var(--text-muted); }
.way-room-row li::before { content:'✓'; margin-right:6px; color:var(--accent-gold); }
.way-row-actions { display:grid; gap:12px; text-align:center; }
.way-row-actions > a:last-child { font-size:11px; text-decoration:underline; text-underline-offset:3px; }
.way-booking { display:grid; grid-template-columns:1fr auto; align-items:center; gap:20px 40px; padding:32px; border:1px solid var(--border-color); border-radius:10px; margin-bottom:55px; }
.way-booking h2 { font-size:30px; letter-spacing:-.7px; }
.way-booking p:not(.way-eyebrow) { font-size:13px; color:var(--text-muted); margin-top:8px; }
.way-booking .way-booking-note { grid-column:1/-1; font-size:10px!important; padding-top:18px; border-top:1px solid var(--border-color); }
.way-footer { background:#074a9f; color:white; padding:30px 0 20px; }
.way-footer-top { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.way-footer-top nav { display:flex; flex-wrap:wrap; gap:15px; font-size:11px; }
.way-footer-call { font-size:15px; font-weight:600; white-space:nowrap; }
.way-footer-bottom { display:flex; justify-content:space-between; gap:15px; flex-wrap:wrap; font-size:9px; color:#d2e4fc; border-top:1px solid #ffffff30; margin-top:26px; padding-top:17px; }
/* Supporting pages share the new hierarchy, surfaces, and navigation. */
.stay-your-way .btn-primary { background:#ff742b; color:#122849; border-color:#ff742b; box-shadow:none; }
.stay-your-way .btn-primary:hover { background:#ff944f; color:#122849; }
.stay-your-way .contact-hero,.stay-your-way .guide-hero { min-height:auto; padding:65px 32px 45px; text-align:left; background:var(--bg-main); }
.stay-your-way .contact-hero { display:block; max-width:1240px; margin:auto; }
.stay-your-way .contact-hero p { margin:0; }
.stay-your-way .contact-hero h1,.stay-your-way .guide-hero h1 { letter-spacing:-1.6px; }
.stay-your-way .contact-section { padding-top:15px; }
.stay-your-way .contact-form-card,.stay-your-way .direct-info-card { box-shadow:none; border-radius:12px; }
.stay-your-way .gallery-section { padding-top:55px; }
.stay-your-way .gallery-section .section-header { text-align:left; }
.stay-your-way .gallery-section .section-subtitle { margin-left:0; }
.stay-your-way .gallery-section .section-divider { display:none; }
.stay-your-way .ttd-hero { min-height:360px; padding-top:65px; }
.stay-your-way .attraction-card,.stay-your-way .guide-card { box-shadow:none; border-radius:12px; }
@media(min-width:1041px) and (max-width:1250px) { .way-phone span { display:none; } .way-nav-wrap { gap:16px; padding:0 24px; } .way-header .nav-menu ul { gap:13px; } }
@media(max-width:1040px) { .way-header .nav-menu { display:none; } .way-header .menu-toggle-btn { display:flex; } .way-mosaic { grid-template-columns:1fr 1fr; } .way-mosaic-side { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; } .way-room-photo { min-height:430px; } .way-stay-copy { padding:28px; } .way-tab { padding:20px; gap:14px; } .way-tab strong { font-size:18px; } .way-tab small { font-size:10px; } .way-room-row { grid-template-columns:170px minmax(0,1fr) 180px; gap:20px; } .way-footer-top { flex-wrap:wrap; } }
@media(max-width:700px) { .stay-your-way { padding-top:74px; --header-height:74px; } .way-header { height:74px; } .stay-your-way .mobile-drawer { top:74px; } .way-nav-wrap { padding:0 16px; gap:12px; } .way-brand { font-size:25px; } .way-brand span { font-size:8px; letter-spacing:.5px; } .way-header-actions { gap:7px; } .way-header .way-phone { display:none; } .way-header .way-button { font-size:10px; padding:10px; gap:4px; } .way-header #theme-toggle { display:none; } .way-wrap { width:calc(100% - 32px); } .way-intro { padding:35px 0 26px; } .way-intro h1 { font-size:53px; letter-spacing:-2.3px; } .way-intro-note { display:none; } .way-eyebrow { font-size:9px; letter-spacing:1.7px; } .way-tabs { gap:4px; } .way-tab { flex-direction:column; align-items:flex-start; gap:9px; padding:15px 12px; } .way-tab-number { font-size:24px; } .way-tab strong { font-size:16px; } .way-tab small { display:none; } .way-stay-panel { grid-template-columns:1fr; } .way-room-photo { min-height:0; aspect-ratio:1.4; } .way-stay-copy { padding:26px; } .way-stay-copy h2 { font-size:36px; } .way-stay-copy h2 br { display:none; } .way-stay-copy h2 br::after { content:' '; } .way-feature-list { display:grid; grid-template-columns:1fr 1fr; gap:18px 12px; } .way-feature-list li { font-size:11px; align-items:flex-start; } .way-gallery-link { right:12px; bottom:21px; padding:9px 11px; font-size:10px; } .way-photo-controls { left:12px; bottom:15px; gap:10px; } .way-photo-controls button { width:36px; height:36px; } .way-mosaic { grid-template-columns:1fr; gap:15px; } .way-mosaic-side { grid-column:auto; display:flex; } .way-map-art { height:200px; flex:auto; } .way-weekly-tile { position:relative; padding:28px; } .way-weekly-tile > svg { position:absolute; right:25px; top:42px; width:55px; height:55px; margin:0; opacity:.45; } .way-weekly-tile h2 { max-width:75%; } .way-weekly-tile > p:not(.way-eyebrow) { margin:20px 0; } .way-essentials > div { grid-template-columns:repeat(4,1fr); } .way-essentials span { flex-direction:column; text-align:center; font-size:10px; } .way-rooms { margin-top:40px; } .way-section-heading { display:block; } .way-section-heading h2 { font-size:34px; } .way-section-heading > p { margin-top:18px; } .way-room-row { grid-template-columns:100px minmax(0,1fr); gap:16px; padding:15px; } .way-room-row img { aspect-ratio:1; } .way-room-row h3 { font-size:21px; } .way-room-row p { font-size:11px; margin-bottom:10px; } .way-room-row ul { gap:5px 12px; font-size:10px; } .way-row-actions { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; } .way-row-actions .way-button { font-size:11px; padding:12px; } .way-booking { grid-template-columns:1fr; padding:25px; margin-bottom:35px; } .way-booking h2 { font-size:27px; } .way-booking > div:last-of-type { display:grid; } .way-footer-top { display:grid; gap:25px; } .way-footer-top nav { gap:14px 20px; } .way-footer-bottom { display:grid; gap:10px; } .stay-your-way .contact-hero,.stay-your-way .guide-hero { padding:36px 20px 25px; } .stay-your-way .contact-form-card,.stay-your-way .direct-info-card { padding:24px; } .stay-your-way .gallery-section { padding-top:35px; } }
@media(prefers-reduced-motion:reduce) { .way-button:hover { transform:none; } }
.way-stay-panel > * { min-width:0; }
@media(max-width:700px) { .way-stay-copy h2 br { display:initial; } }
