:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#172c3c;background:#f4f2ee;font-synthesis:none;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #9f6d45;outline-offset:3px}a{color:#245478;text-underline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{hyphens:none}h1{font-size:clamp(28px,7vw,42px);line-height:1.12;letter-spacing:-.025em}h2{font-size:23px;line-height:1.2;letter-spacing:-.015em}h3{font-size:18px;line-height:1.25}p{line-height:1.4}.app-shell{min-height:100dvh;max-width:1180px;margin:auto;background:#f4f2ee;position:relative}.page{padding-bottom:105px}.topbar{height:64px;display:flex;align-items:center;gap:12px;padding:0 20px;background:#f4f2ee;position:sticky;top:0;z-index:20;border-bottom:1px solid #e4e0d9}.topbar-inner{background:#f4f2ee}.wordmark{font-size:23px;font-weight:800;letter-spacing:.12em;color:#183149}.wordmark-dot{color:#b88656}.topbar-title{font-weight:700;font-size:16px;flex:1}.wordmark+.topbar-title{display:none}.icon-button{background:transparent;border:0;padding:8px;min-width:40px;min-height:40px;color:#213b4f;position:relative}.notification-dot{position:absolute;right:6px;top:5px;width:6px;height:6px;border-radius:50%;background:#b88656}.hidden{visibility:hidden}.bottom-nav{height:75px;padding-bottom:env(safe-area-inset-bottom);display:flex;align-items:stretch;justify-content:space-around;position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:1180px;z-index:30;background:#f8f7f3;border-top:1px solid #dedbd5}.nav-item{border:0;background:none;color:#75828a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:58px;font-size:10px;font-weight:600}.nav-item.active{color:#143a56}.nav-item.active svg{stroke-width:2.3}.hero{height:290px;position:relative;background:#374e59;overflow:hidden;color:#fff}.hero-photo{position:absolute;inset:0;background:url('/images/moscow-editorial.jpg') center 47%/cover}.hero:after{content:"";position:absolute;inset:0;background:rgba(10,27,40,.45)}.hero-content{position:absolute;z-index:2;left:24px;right:24px;top:50px;max-width:490px}.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(34px,8vw,60px);letter-spacing:-.04em;margin:14px 0}.hero p:last-child{max-width:300px;font-size:14px}.eyebrow{font-size:10px;letter-spacing:.12em;color:#8e6c4e;font-weight:800;margin-bottom:8px}.eyebrow.light{color:#e7cda7}.demo-photo-label,.art-caption{position:absolute;z-index:2;right:8px;bottom:8px;color:#fff;background:rgba(20,38,52,.7);font-size:10px;padding:3px 6px}.search-panel{background:#fffefa;margin:-36px 16px 0;border:1px solid #e3ded5;position:relative;z-index:3;padding:18px;border-radius:12px}.field-label,.form-label{font-size:12px;font-weight:700;color:#495c66}.search-input,.explore-search{display:flex;align-items:center;gap:10px;border:1px solid #d5d6d4;background:#fffefa;border-radius:8px;padding:0 12px;height:50px;margin-top:8px;color:#61717b}.search-input input,.explore-search input{border:0;outline:0;background:transparent;width:100%;min-width:0;font-size:15px;color:#172c3c}.search-rows{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.search-row{background:#fffefa;border:1px solid #d5d6d4;display:flex;align-items:center;text-align:left;gap:8px;border-radius:8px;min-height:58px;padding:8px;color:#213b4f}.search-row span{flex:1;min-width:0}.search-row small{display:block;color:#7e8a8f;font-size:11px;margin-bottom:3px}.search-row strong{font-size:12px;white-space:nowrap}.search-row svg:last-child{display:none}.primary-button,.secondary-button,.light-button{border:0;min-height:48px;padding:0 18px;border-radius:8px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}.primary-button{background:#193e5a;color:#fff}.secondary-button{border:1px solid #bfc8cc;background:transparent;color:#193e5a}.light-button{background:#f0e8da;color:#1b394f}.full{width:100%}.anchor-button{text-decoration:none}.content-section{padding:32px 20px 8px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:16px}.section-head h2{max-width:330px;margin:0}.text-button{border:0;background:transparent;color:#214f6c;font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:3px;padding:6px 0;white-space:nowrap}.card-scroll{display:flex;gap:14px;overflow:auto;margin:0 -20px;padding:0 20px 8px;scroll-snap-type:x mandatory}.card-scroll .hotel-card{min-width:250px;width:250px;scroll-snap-align:start}.hotel-card{background:#fffefa;border:1px solid #e2ded8;border-radius:11px;overflow:hidden;position:relative}.hotel-card-link{display:block;height:100%;color:inherit;text-decoration:none}.hotel-art,.detail-art{position:relative;overflow:hidden;background:var(--art);height:188px;display:flex;align-items:center;justify-content:center;color:#fff}.hotel-art img,.detail-art img{width:100%;height:100%;object-fit:cover}.art-monogram{font-family:Georgia,serif;font-size:31px;text-align:center;opacity:.95;padding:25px}.art-nature,.art-city,.art-sea{background:var(--art)}.save-button{position:absolute;top:10px;right:10px;z-index:2;width:36px;height:36px;border:0;border-radius:50%;display:grid;place-items:center;color:#173c56;background:#fffefa}.save-button.is-saved{color:#b56a51}.save-button.is-saved svg{fill:#b56a51;stroke:#b56a51}.hotel-card-body{padding:15px}.hotel-meta{display:flex;justify-content:space-between;gap:8px;color:#936a4a;font-size:11px;font-weight:700;margin-bottom:6px}.hotel-card h3{margin-bottom:8px;min-height:45px}.hotel-location{display:flex;align-items:center;gap:4px;font-size:12px;color:#66777d;margin-bottom:16px}.hotel-card-foot{border-top:1px solid #ebe7df;padding-top:12px;display:flex;justify-content:space-between;align-items:center;color:#586b74;font-size:12px}.hotel-card-foot strong{color:#183149;font-size:16px}.hotel-card-foot small{display:block;font-size:10px;color:#8a9193}.loyalty-banner{margin:25px 20px 4px;background:#152e42;color:#fff;padding:25px 23px;border-radius:10px;position:relative;overflow:hidden;min-height:190px}.loyalty-banner>div:first-child{max-width:255px;position:relative;z-index:2}.loyalty-banner h2{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:9px 0}.loyalty-banner p:not(.eyebrow){font-size:12px;color:#d4dce1;max-width:230px}.loyalty-banner .light-button{height:37px;min-height:37px;font-size:12px;margin-top:6px}.loyalty-orbit{position:absolute;right:-36px;top:12px;width:160px;height:160px;border:2px solid #b79266;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:70px;color:#d9c29e;opacity:.55}.loyalty-orbit span{font-size:20px;position:absolute;right:8px;top:15px}.format-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.format-list button{height:80px;border:1px solid #d7d9d4;background:#e9ebe6;border-radius:8px;padding:11px;display:flex;align-items:end;justify-content:space-between;color:#193e5a;text-align:left}.format-list button:nth-child(2){background:#e3e8df}.format-list button:nth-child(3){background:#e4ebeb}.format-list strong{font-family:Georgia,serif;font-size:16px;font-weight:400}.city-list{display:grid;gap:1px;background:#dcd8d1;border-top:1px solid #dcd8d1;border-bottom:1px solid #dcd8d1}.city-list button{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:14px 4px;background:#f4f2ee;border:0;color:#193e5a;font-weight:600;min-height:48px}.explore-intro,.page-intro{padding:28px 20px 16px}.explore-intro h1,.page-intro h1{font-family:Georgia,serif;font-weight:400;margin-bottom:8px}.explore-intro p,.page-intro p:last-child{color:#6a7980;font-size:14px;margin:0}.explore-search{margin:0 20px 17px}.explore-search button{border:0;background:transparent;color:#254c65}.chip-row{display:flex;overflow:auto;gap:8px;padding:0 20px 16px;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.chip{white-space:nowrap;border:1px solid #cdd4d4;border-radius:30px;padding:8px 12px;background:#f8f7f3;color:#314f60;font-size:12px}.chip.selected{background:#193e5a;border-color:#193e5a;color:#fff}.result-line{display:flex;justify-content:space-between;align-items:center;padding:8px 20px 14px;font-size:13px;color:#667780}.result-line button{display:flex;gap:6px;align-items:center;border:0;background:transparent;color:#1d4763;font-weight:700;font-size:12px}.hotel-list{display:grid;gap:14px;padding:0 20px 25px}.hotel-list .hotel-art{height:205px}.detail-art{height:275px}.detail-content{padding:24px 20px 150px}.detail-content h1{font-family:Georgia,serif;font-weight:400;margin:8px 0 12px}.detail-location{display:flex;align-items:center;gap:4px;color:#61727a;font-size:14px}.detail-description{font-size:15px;max-width:60ch;line-height:1.45;margin:22px 0 30px}.detail-content h2{margin-top:28px}.feature-list{display:flex;gap:8px;flex-wrap:wrap}.feature-list span{padding:8px 11px;background:#e8e9e4;border-radius:6px;font-size:12px;color:#344e5d}.details-note{border-left:2px solid #b89062;padding-left:12px;color:#68777d;font-size:12px;line-height:1.45;margin-top:26px}.official-link{display:inline-flex;align-items:center;gap:4px;margin-top:18px;color:#214f6c;font-size:13px;font-weight:700;text-decoration:none}.detail-date-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-date-row button{border:1px solid #d1d7d6;background:#fffefa;border-radius:7px;padding:10px;display:flex;gap:8px;text-align:left;align-items:center;color:#1b425b;font-size:12px}.detail-date-row small{display:block;color:#7b898c;margin-top:4px}.sticky-cta{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:1180px;background:#fffefa;border-top:1px solid #e4e0d9;z-index:22;padding:12px 20px calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:16px}.sticky-cta small{display:block;color:#7c8a8f;font-size:11px}.sticky-cta strong{display:block;font-size:20px}.sticky-cta .primary-button{min-width:155px}.flow-page{padding:26px 20px 70px;max-width:670px;margin:auto}.flow-summary{padding:18px;background:#e9e6df;border-radius:9px;margin-bottom:28px}.flow-summary h1{font-family:Georgia,serif;font-size:26px;font-weight:400;margin:6px 0}.flow-summary p:last-child{color:#64757d;font-size:13px;margin:0}.muted{color:#6b7a80;font-size:13px;line-height:1.45}.room-list{display:grid;gap:12px}.room-list .room-card{margin-top:0}.room-card{border:1px solid #dfded9;background:#fffefa;border-radius:10px;overflow:hidden;margin-top:20px}.room-art{height:150px;background:#c0c5c1;display:flex;align-items:center;justify-content:center;color:#fff;font-family:Georgia,serif;font-size:50px}.room-card>div:last-child{padding:20px}.room-card p:not(.eyebrow){color:#68777e;font-size:13px}.room-price{margin:16px 0;color:#193e5a}.room-price strong{font-size:23px}.room-price span{color:#697a81;font-size:12px}.flow-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #dcdcd8;padding:18px 0;margin-top:20px}.flow-total span{font-size:13px;color:#64757d}.flow-total strong{font-size:19px}.stepper{display:flex;justify-content:space-between;border-bottom:1px solid #dddcd7;padding-bottom:16px;margin-bottom:30px;font-size:11px;color:#819096}.stepper .current{color:#193e5a;font-weight:800}.stepper .done{color:#6a856c}.checkout-hotel{background:#fffefa;border:1px solid #e2dfd7;border-radius:8px;padding:18px;margin:24px 0;display:grid;gap:7px;font-size:13px}.checkout-hotel strong{font-size:16px}.checkout-hotel span{color:#68777d}.form-label{display:block;margin:16px 0}.form-label input{display:block;width:100%;height:48px;border:1px solid #cfd5d4;border-radius:7px;background:#fffefa;padding:0 12px;margin-top:7px;color:#172c3c;font-size:15px}.check-label{display:flex;align-items:flex-start;gap:10px;color:#65747b;font-size:11px;line-height:1.4;margin-top:20px}.check-label input{width:18px;height:18px;flex:none;accent-color:#193e5a}.confirmation-page{padding:55px 25px;text-align:center;max-width:500px;margin:auto}.success-mark{width:84px;height:84px;margin:0 auto 24px;border-radius:50%;background:#dce9df;color:#2d6947;display:grid;place-items:center}.success-mark.small{width:58px;height:58px;margin-bottom:15px}.confirmation-page h1{font-family:Georgia,serif;font-weight:400}.confirmation-page>p:not(.eyebrow){color:#65747b;font-size:14px}.confirm-card{text-align:left;background:#fffefa;border:1px solid #e2dfd7;border-radius:8px;padding:18px;margin:30px 0;display:grid;gap:8px}.confirm-card span{font-size:13px;color:#6a7980}.text-button.centered{margin:15px auto}.simple-page{max-width:700px;margin:auto}.empty-state{text-align:center;padding:65px 28px 40px}.empty-state h2{font-family:Georgia,serif;font-weight:400}.empty-state p{font-size:14px;color:#6b7b82;max-width:280px;margin:0 auto 20px}.empty-symbol{color:#8ea0a6;margin:0 auto 18px}.trip-card{margin:0 20px 14px;padding:22px;background:#fffefa;border:1px solid #dfded8;border-radius:9px}.trip-card h2{font-family:Georgia,serif;font-weight:400}.trip-card>p:last-of-type{color:#65747b;font-size:13px}.trip-actions{border-top:1px solid #e8e6e0;margin-top:18px;padding-top:14px}.trip-actions button{display:flex;align-items:center;gap:5px;border:0;background:transparent;color:#1e4b68;font-size:13px;font-weight:700;padding:0}.trip-detail{padding:30px 20px 80px}.trip-detail h1{font-family:Georgia,serif;font-weight:400}.trip-detail>p:nth-of-type(2){color:#64747c}.status-strip{background:#e6ece8;color:#315e48;border-radius:6px;padding:12px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:8px;margin:20px 0}.status-dot{height:7px;width:7px;border-radius:50%;background:#44805d}.trip-menu,.account-list{background:#fffefa;border:1px solid #e1ded7;border-radius:8px;padding:0 16px}.trip-menu button,.account-list button{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:0;border-bottom:1px solid #ece9e3;background:transparent;color:#1e435b;padding:17px 0;min-height:61px}.trip-menu button:last-child,.account-list button:last-child{border-bottom:0}.trip-menu button span,.account-list button span{flex:1}.trip-menu strong{display:block;font-size:14px}.trip-menu small{display:block;color:#7d8a8e;font-size:11px;margin-top:3px}.trip-detail .secondary-button{margin-top:20px}.profile-head{padding:35px 20px 20px;display:flex;align-items:center;gap:16px}.avatar{width:58px;height:58px;background:#d9d5cc;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:25px;color:#34506a}.profile-head h1{font-size:25px;margin:0}.loyalty-card{margin:0 20px 25px;background:#172f43;color:#fff;border-radius:10px;padding:22px;min-height:186px}.loyalty-card-top{display:flex;justify-content:space-between;align-items:center;color:#d5bb95;font-size:10px;letter-spacing:.15em}.loyalty-card .wordmark{font-size:18px;color:#fff}.loyalty-card p{margin:30px 0 3px;color:#d5bb95;font-size:12px}.loyalty-card h2{margin:0 0 7px;font-family:Georgia,serif;font-weight:400;font-size:31px}.loyalty-card small{color:#c0cbd0;font-size:10px}.account-list{margin:0 20px}.account-list button span{font-size:14px}.local-note{font-size:11px;line-height:1.5;color:#7b8587;margin:24px 20px}.modal-backdrop{position:fixed;inset:0;background:rgba(17,33,45,.48);z-index:50;display:flex;align-items:flex-end;justify-content:center}.modal-sheet{background:#f8f7f3;width:100%;max-width:620px;max-height:89dvh;overflow:auto;border-radius:16px 16px 0 0;padding:27px 20px calc(25px + env(safe-area-inset-bottom));position:relative;box-shadow:0 -6px 28px rgba(0,0,0,.12)}.modal-sheet h2{font-family:Georgia,serif;font-weight:400;margin:5px 0 20px}.modal-sheet p{font-size:13px;color:#61727a}.modal-handle{height:4px;width:36px;border-radius:6px;background:#b8c0c1;position:absolute;top:10px;left:50%;transform:translateX(-50%)}.modal-close{position:absolute;right:14px;top:17px;border:0;background:transparent;color:#536a76;width:34px;height:34px}.modal-sheet>.primary-button,.modal-sheet>.anchor-button{margin-top:22px}.counter{display:flex;justify-content:space-between;align-items:center;margin:30px 0}.counter>div{display:flex;align-items:center;gap:18px}.counter button{width:36px;height:36px;border-radius:50%;border:1px solid #bfcacb;background:#fffefa;color:#183d58;font-size:19px}.filter-subtitle{font-size:12px!important;color:#8d6b4f!important;font-weight:800;letter-spacing:.06em;margin:22px 0 4px}.option-list{display:grid}.option-list button{border:0;border-bottom:1px solid #e0e0dc;background:transparent;display:flex;justify-content:space-between;text-align:left;padding:15px 3px;color:#25485d}.option-list button.picked{font-weight:800}.floor-map{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.floor-map button{height:53px;background:#fffefa;border:1px solid #b9c7c7;border-radius:6px;color:#24485d;font-weight:800}.floor-map button.picked{background:#193e5a;color:#fff}.floor-corridor{grid-column:1/-1;background:#e4e7e5;color:#7a888c;padding:8px;text-align:center;font-size:11px;letter-spacing:.08em}.demo-key-art{background:#e3e8e8;border-radius:9px;height:160px;display:grid;place-items:center;color:#28516b;margin:15px 0 25px}.chat-thread{height:230px;overflow:auto;padding:12px;background:#eaece9;border-radius:8px;display:flex;flex-direction:column;gap:10px}.bubble{max-width:85%;font-size:12px;line-height:1.35;padding:10px 12px;border-radius:10px}.bubble.assistant{background:#fff}.bubble.guest{background:#d4e4ec;align-self:flex-end}.chat-compose{display:flex;gap:7px;margin-top:12px}.chat-compose input{flex:1;min-width:0;border:1px solid #cfd5d4;border-radius:7px;padding:0 10px}.chat-compose button{font-size:12px;padding:0 12px}.toast{position:fixed;bottom:91px;left:50%;transform:translateX(-50%);z-index:60;background:#1a3448;color:#fff;padding:11px 16px;border-radius:7px;min-width:210px;text-align:center;font-size:12px;box-shadow:0 5px 22px rgba(0,0,0,.17)}
@media(min-width:700px){.topbar{padding:0 40px}.home-page,.explore-page{padding-bottom:70px}.hero{height:400px}.hero-content{left:60px;top:80px}.search-panel{max-width:640px;margin:-68px auto 0}.search-rows{gap:12px}.content-section{padding:50px 40px 10px}.card-scroll{margin:0 -40px;padding:0 40px 12px}.card-scroll .hotel-card{min-width:300px;width:300px}.loyalty-banner{margin:40px 40px 0;min-height:225px;padding:32px}.loyalty-orbit{right:45px;width:190px;height:190px}.format-list button{height:110px;padding:18px}.format-list strong{font-size:21px}.city-list{grid-template-columns:1fr 1fr;gap:0 24px;border:0;background:transparent}.city-list button{border-bottom:1px solid #dcd8d1}.explore-intro,.page-intro{padding:40px 40px 20px}.explore-search{max-width:600px;margin:0 40px 25px}.chip-row{padding:0 40px 20px}.result-line{padding:10px 40px 15px}.hotel-list{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 40px 40px}.detail-art{height:430px}.detail-content{max-width:750px;margin:auto}.bottom-nav{position:sticky;transform:none;left:auto;max-width:none;bottom:0}.simple-page .hotel-list{padding:0 20px}.app-shell{box-shadow:0 0 0 1px #dfdfd8}.modal-backdrop{align-items:center}.modal-sheet{border-radius:12px;max-height:85dvh}.sticky-cta{bottom:0}}
.detail-contact{margin-top:32px;border-top:1px solid #dedbd5;padding-top:4px}.detail-contact h2{margin-bottom:15px}.detail-contact-address{display:flex;align-items:flex-start;gap:9px;color:#354c5a;font-size:14px;line-height:1.5;margin:0 0 16px}.detail-contact-address svg{flex:none;margin-top:1px;color:#8e6c4e}.contact-actions{display:flex;flex-wrap:wrap;gap:8px}.contact-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:0 14px;border:1px solid #cbd3d2;border-radius:7px;background:#fffefa;color:#214f6c;font-size:13px;font-weight:700;text-decoration:none}.contact-actions a:hover{border-color:#214f6c;background:#f0f4f4}
.trip-access{margin:10px 20px 24px;padding:26px 22px;background:#fffefa;border:1px solid #e1ded7;border-radius:10px}.trip-access-icon{width:52px;height:52px;display:grid;place-items:center;color:#245478;background:#e8eff0;border-radius:50%;margin-bottom:20px}.trip-access h2{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:0 0 10px}.trip-access p{color:#61727a;font-size:14px;margin:0 0 25px}.trip-access .anchor-button{text-align:center}.trip-more{margin:0 20px;padding:4px 0 28px}.trip-more h2{font-size:18px;margin-bottom:15px}
.child-counter{margin-top:0;margin-bottom:10px}.child-age-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0 12px;margin-bottom:14px}.child-age-list .form-label{margin:8px 0}.counter button{width:44px;height:44px}
.stay-panel{margin-top:30px}.stay-panel h2{margin-bottom:13px}.stay-times{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stay-times>div{background:#fffefa;border:1px solid #dedbd5;border-radius:7px;padding:14px 16px}.stay-times small{display:block;color:#72828a;font-size:12px;margin-bottom:5px}.stay-times strong{font-size:17px;color:#1d4057}
.form-label select{display:block;width:100%;height:48px;border:1px solid #cfd5d4;border-radius:7px;background:#fffefa;padding:0 12px;margin-top:7px;color:#172c3c;font-size:15px}.form-label+ .form-label{display:block;margin-top:16px}.trip-menu button:disabled{color:#9aa5aa;cursor:not-allowed}.trip-menu button:disabled small{color:#9aa5aa}.modal-sheet form>.primary-button{margin-top:22px}
.account-list a{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border-bottom:1px solid #ece9e3;background:transparent;color:#1e435b;padding:17px 0;min-height:61px;text-decoration:none}.account-list a span{flex:1;font-size:14px}.account-list a:last-child{border-bottom:0}.loyalty-card .primary-button{background:#f0e8da;color:#1b394f;margin-top:22px}.loyalty-card .light-button{width:100%;background:transparent;border:1px solid #aabcc8;color:#fff;margin-top:10px}.loyalty-card .light-button:hover{background:rgba(255,255,255,.1)}
.hotel-card:focus-visible{outline:3px solid #9f6d45;outline-offset:3px}
@media(max-width:370px){.search-row{gap:4px;padding:7px}.search-row strong{font-size:11px}.section-head h2{font-size:21px}.section-head .text-button{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:370px){.detail-date-row{grid-template-columns:1fr}.sticky-cta{gap:8px;padding-left:12px;padding-right:12px}.sticky-cta strong{font-size:16px}.sticky-cta .primary-button{min-width:138px;padding:0 10px}}
.hotel-art>img,.detail-art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.result-actions{display:flex;align-items:center;gap:16px}.result-actions button{min-height:42px}.hotel-map-area{position:relative;margin:0 20px 28px;border-radius:10px;overflow:hidden;background:#e7eae7;border:1px solid #d9dedc}.hotel-map-area #hotel-map{height:clamp(310px,calc(100dvh - 360px),620px)}.hotel-map-pin{width:34px;height:40px;border:0;background:#173e59;color:#fff;clip-path:polygon(0 0,100% 0,100% 76%,50% 100%,0 76%);font-family:Georgia,serif;font-size:18px;cursor:pointer;box-shadow:0 3px 8px #0005}.hotel-map-pin:hover,.hotel-map-pin.is-active{background:#a47752}.hotel-map-pin:focus-visible{outline:3px solid #a47752;outline-offset:3px}.hotel-map-choice{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;pointer-events:none}.hotel-map-choice .hotel-card{pointer-events:auto;margin:0;display:grid;grid-template-columns:92px 1fr;min-height:112px;max-height:140px;box-shadow:0 6px 25px #0003;background:#fffefa}.hotel-map-choice .hotel-art{height:100%;min-height:112px}.hotel-map-choice .hotel-card-body{padding:10px 12px}.hotel-map-choice .hotel-card h3{font-size:14px;line-height:1.2;margin:4px 0}.hotel-map-choice .hotel-card-foot{margin-top:5px;padding-top:0}.hotel-map-choice .hotel-meta{font-size:10px}.hotel-map-choice .save-button{top:5px;left:5px;right:auto;width:32px;height:32px}.hotel-map-choice .hotel-location{font-size:11px}.hotel-map-area .maplibregl-control-container{font-family:Arial,sans-serif}@media(min-width:700px){.hotel-map-area{margin:0 40px 38px}.hotel-map-area #hotel-map{height:min(63dvh,620px);min-height:420px}.hotel-map-choice{width:350px;right:auto;left:20px;bottom:20px}}@media(max-width:370px){.result-actions{gap:6px}.result-actions button{font-size:11px}.hotel-map-choice .hotel-card{grid-template-columns:75px 1fr}}

@media(max-width:699px){.explore-page.map-view .explore-intro{display:none}.explore-page.map-view .chip-row{padding-top:4px}.explore-page.map-view .hotel-map-area{margin-bottom:80px}}
.detail-gallery-trigger{position:absolute;right:16px;bottom:16px;z-index:2;display:flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border:0;border-radius:7px;background:#fffefa;color:#173d59;font-size:13px;font-weight:700;box-shadow:0 4px 18px #0003;cursor:pointer}.detail-gallery-trigger span{border-left:1px solid #d8dbd8;padding-left:10px;color:#677a81}.detail-gallery-trigger:focus-visible{outline:3px solid #a47752;outline-offset:3px}.gallery-backdrop{z-index:80;background:#10202c;align-items:center;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.gallery-panel{width:100%;height:100%;max-width:1100px;display:grid;grid-template-rows:64px minmax(0,1fr) 64px;color:#fff}.gallery-top{display:flex;align-items:center;justify-content:space-between;padding:0 18px;font-size:14px;font-weight:700}.gallery-top button{width:44px;height:44px;display:grid;place-items:center;background:transparent;border:1px solid #ffffff50;border-radius:50%;color:#fff;cursor:pointer}.gallery-image-wrap{position:relative;display:flex;align-items:center;justify-content:center;min-height:0}.gallery-image{display:block;max-width:100%;max-height:100%;object-fit:contain}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:#fffefa;color:#173d59;display:grid;place-items:center;cursor:pointer}.gallery-prev{left:12px}.gallery-next{right:12px}.gallery-caption{display:grid;place-items:center;font-size:14px;color:#e8e7e2}.gallery-panel button:focus-visible{outline:3px solid #e1a676;outline-offset:3px}@media(min-width:700px){.gallery-panel{height:min(90dvh,900px)}.gallery-arrow{width:50px;height:50px}.gallery-prev{left:20px}.gallery-next{right:20px}}
.gallery-image-error{color:#e9e6df;font-size:15px;text-align:center;padding:24px}
.perks-panel{margin-top:30px}.perks-panel h2{margin-bottom:11px}.perks-panel ul{list-style:none;margin:0;padding:0;border-top:1px solid #e2dfd9}.perks-panel li{display:flex;align-items:flex-start;gap:11px;padding:13px 2px;border-bottom:1px solid #e2dfd9;color:#344b57;font-size:14px;line-height:1.45}.perks-panel li::before{content:"";flex:none;width:5px;height:5px;border-radius:50%;background:#9b7653;margin-top:8px}
@media(max-width:420px){.search-rows,.detail-date-row{grid-template-columns:repeat(2,minmax(0,1fr))}.search-row,.detail-date-row button{min-width:0}.search-row strong,.detail-date-row strong{white-space:normal;overflow-wrap:anywhere;line-height:1.25}.search-row svg,.detail-date-row svg{flex:none}.detail-date-row span{min-width:0}}
@media(max-width:340px){.search-rows,.detail-date-row{grid-template-columns:1fr}}
.live-rooms{margin-top:32px;padding-top:2px;border-top:1px solid #dddcd6}.live-rooms h2{margin-bottom:14px}.live-rooms>p{color:#63747c;font-size:14px;max-width:60ch}.live-room-list{display:grid;gap:12px}.live-room-card{overflow:hidden;background:#fffefa;border:1px solid #dedbd4;border-radius:8px}.live-room-card img{display:block;width:100%;height:170px;object-fit:cover}.live-room-card>div{padding:16px}.live-room-card h3{margin:0 0 5px;font-size:18px}.live-room-card p{font-size:13px;color:#5f7078;margin:0 0 8px}.live-room-card .live-room-rate{color:#8e6b4d;font-weight:700}.live-room-card .live-room-description{max-width:55ch}.live-room-card .live-room-cancel{color:#356c51}.live-room-card strong{display:block;color:#193e5a;font-size:20px;margin-top:14px}.live-room-card small{display:block;color:#718087;font-size:12px;margin-top:2px}.live-room-card .live-room-tax{margin:8px 0 0;color:#596b74;font-size:12px}.live-rooms .live-room-note{font-size:12px;margin:16px 0}.live-rooms .anchor-button{margin-top:2px}.live-rooms-loading{display:flex;align-items:center;gap:12px;color:#526b78;font-size:14px;min-height:80px}.loading-ring{width:20px;height:20px;border:2px solid #c7d0d1;border-top-color:#193e5a;border-radius:50%;animation:live-room-spin .8s linear infinite}@keyframes live-room-spin{to{transform:rotate(360deg)}}@media(min-width:700px){.live-room-card.has-photo{display:grid;grid-template-columns:180px 1fr}.live-room-card.has-photo img{height:100%;min-height:180px}}@media(prefers-reduced-motion:reduce){.loading-ring{animation:none}}
.active-filters{display:flex;gap:8px;padding:0 20px 12px}.active-filter{display:inline-flex;align-items:center;gap:10px;min-height:36px;padding:0 11px;border:1px solid #b9c5c8;border-radius:18px;background:#e8efee;color:#193e5a;font-size:13px;font-weight:700}.active-filter span{font-size:19px;font-weight:400;line-height:1}@media(min-width:700px){.active-filters{padding:0 40px 14px}}
.checkin-info{margin:0 20px 28px;padding:22px 2px;border-top:1px solid #d9d8d2;border-bottom:1px solid #d9d8d2}.checkin-info h2{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:0 0 9px}.checkin-info p:not(.eyebrow){max-width:56ch;margin:0 0 14px;color:#61727a;font-size:14px}.checkin-info a{display:inline-flex;align-items:center;gap:4px;color:#214f6c;font-size:13px;font-weight:700;text-decoration:none}@media(min-width:700px){.checkin-info{margin-left:40px;margin-right:40px}}
.live-room-book{display:inline-flex;align-items:center;gap:4px;margin-top:14px;color:#193e5a;font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}.live-room-book:hover{color:#8e6b4d}.live-room-book:focus-visible{outline:2px solid #193e5a;outline-offset:4px}
.live-room-conditions{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:6px}.live-room-conditions li{color:#52666f;font-size:13px;line-height:1.4}
.destination-suggestions{margin-top:5px;max-height:min(300px,45vh);overflow:auto;background:#fffefa;border:1px solid #cbd3d2;border-radius:8px}.destination-suggestions[hidden]{display:none}.destination-suggestions button{display:flex;align-items:center;gap:11px;width:100%;min-height:54px;padding:8px 12px;border:0;background:transparent;color:#193e5a;text-align:left}.destination-suggestions button+button{border-top:1px solid #e5e3de}.destination-suggestions button:hover,.destination-suggestions button:focus-visible{background:#f0f4f4}.destination-suggestions svg{flex:none;color:#8e6c4e}.destination-suggestions span{min-width:0}.destination-suggestions strong{display:block;font-size:13px;line-height:1.25}.destination-suggestions small{display:block;margin-top:3px;color:#718087;font-size:11px}

@media(max-width:350px){.sticky-cta{display:grid;grid-template-columns:1fr;gap:8px}.sticky-cta>div{display:flex;align-items:baseline;gap:8px;min-width:0}.sticky-cta strong{font-size:15px;white-space:nowrap}.sticky-cta .primary-button{width:100%;min-width:0;min-height:44px}}
.update-banner{position:fixed;left:50%;bottom:calc(115px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:45;display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(420px,calc(100% - 24px));padding:10px 12px;border-radius:8px;background:#1a3448;color:#fff;box-shadow:0 4px 18px rgba(0,0,0,.18);font-size:13px;font-weight:600}.update-banner[hidden]{display:none}.update-banner button{min-height:44px;flex:none;padding:0 12px;border:0;border-radius:6px;background:#f0e8da;color:#1b394f;font-size:13px;font-weight:700}.update-banner button:disabled{opacity:.7}
.offers-section>p{max-width:55ch;color:#536a76;font-size:14px;line-height:1.45;margin:0 0 15px}.offers-section>.anchor-button{gap:7px}.perks-source{display:inline-flex;align-items:center;gap:5px;min-height:44px;margin-top:12px;color:#214f6c;font-size:13px;font-weight:700;text-decoration:none}
@media(min-width:700px){.card-scroll .hotel-card{min-width:min(440px,44vw);width:min(440px,44vw)}.card-scroll .hotel-art{height:224px}}
button.live-room-book{border:0;border-bottom:1px solid currentColor;background:none;padding:0 0 2px;font-family:inherit;cursor:pointer}
.live-booking-sheet{max-width:540px}.live-booking-sheet h2{padding-right:28px}.live-booking-sheet form>.primary-button,.live-booking-sheet>.primary-button{margin-top:22px}.live-booking-sheet>.anchor-button{margin-top:20px}
.booking-hotel-line{display:grid;gap:4px;padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid #d8dedb;color:#263f4e;font-size:14px;line-height:1.4}.booking-hotel-line strong{font-size:17px}.booking-hotel-line span{color:#586c75}
.booking-price-lines{display:grid;gap:12px;margin:18px 0}.booking-price-lines>div{display:flex;justify-content:space-between;gap:18px;align-items:baseline;font-size:15px}.booking-price-lines strong{font-variant-numeric:tabular-nums;white-space:nowrap}.booking-price-lines .booking-total{padding-top:16px;border-top:1px solid #d8dedb;font-size:18px}.booking-policy{padding:14px 0;border-top:1px solid #d8dedb;line-height:1.5}.booking-number{display:block;color:#183d58;font-size:26px;letter-spacing:.02em;overflow-wrap:anywhere}
.live-booking-sheet .booking-loading{display:flex;align-items:center;gap:12px;min-height:64px;font-size:14px}
.live-booking-sheet p{font-size:15px;line-height:1.4}
.update-banner>span{flex:1;min-width:0}.update-banner .update-dismiss{min-width:36px;padding:0;background:transparent;color:#f4f2ee;font-size:22px;font-weight:400}
.confirmed-trips{margin:4px 20px 30px}.confirmed-trips h2{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:0 0 6px}.confirmed-trips>p{color:#5d7079;font-size:15px;margin:0 0 18px}.confirmed-trip-list{border-top:1px solid #d9d8d2}.confirmed-trip{padding:19px 0 20px;border-bottom:1px solid #d9d8d2}.confirmed-trip .eyebrow{margin:0 0 7px}.confirmed-trip h3{font-family:Georgia,serif;font-size:21px;font-weight:400;margin:0 0 7px}.confirmed-trip>p:not(.eyebrow){color:#546a76;font-size:15px;margin:0 0 5px}.confirmed-trip-number{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 14px;margin:15px 0;color:#253f51;font-size:15px}.confirmed-trip-number strong{font-size:17px;overflow-wrap:anywhere}.confirmed-trip-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px}.confirmed-trip-actions a,.confirmed-trip-actions button{display:inline-flex;align-items:center;min-height:44px;color:#214f6c;font-size:15px;font-weight:700;text-decoration:none}.confirmed-trip-actions button{border:0;background:none;padding:0;font-family:inherit}.confirmed-trip-actions a:hover,.confirmed-trip-actions button:hover{color:#8e6b4d}@media(min-width:700px){.confirmed-trips{margin-right:40px;margin-left:40px;max-width:760px}}
.booking-guest{border:0;border-top:1px solid #d8dedb;padding:16px 0 2px;margin:20px 0 0}.booking-guest legend{padding:0 8px 0 0;color:#253f51;font-size:16px;font-weight:700}.booking-guest .form-label{margin:12px 0}.booking-contact{border-top:1px solid #d8dedb;padding-top:19px;margin-top:18px}.booking-contact h3{font-size:17px;margin:0 0 12px}.live-booking-sheet .check-label{font-size:13px;line-height:1.45}
.confirmed-trip-sheet{max-width:540px}.confirmed-trip-sheet h2{margin-bottom:20px}.confirmed-trip-sheet .eyebrow{margin-bottom:7px}.confirmed-trip-sheet h3{font-family:Georgia,serif;font-size:25px;font-weight:400;line-height:1.2;margin:0 0 20px}.confirmed-trip-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;border-top:1px solid #d8d8d2;border-bottom:1px solid #d8d8d2;padding:18px 0}.confirmed-trip-dates span,.confirmed-trip-stay span,.confirmed-trip-reference span,.confirmed-trip-address span{display:block;color:#64747c;font-size:12px;margin-bottom:5px}.confirmed-trip-dates strong{display:block;color:#263f51;font-size:15px;line-height:1.3}.confirmed-trip-dates small{display:block;color:#64747c;font-size:13px;margin-top:5px}.confirmed-trip-stay{padding:17px 0;border-bottom:1px solid #d8d8d2}.confirmed-trip-stay p{margin:0 0 10px}.confirmed-trip-stay p:last-child{margin-bottom:0}.confirmed-trip-stay strong{font-size:15px;color:#263f51;font-weight:600}.confirmed-trip-reference{padding:18px 0;border-bottom:1px solid #d8d8d2}.confirmed-trip-reference strong{display:block;color:#193e5a;font-size:22px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.confirmed-trip-reference button{min-height:44px;border:0;background:none;color:#214f6c;font-size:14px;font-weight:700;padding:6px 0;margin-top:6px}.confirmed-trip-address{padding:18px 0 4px}.confirmed-trip-address p{color:#263f51;font-size:15px;margin:0}.confirmed-trip-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;margin:6px 0 20px}.confirmed-trip-links a{display:inline-flex;align-items:center;min-height:44px;color:#214f6c;font-size:14px;font-weight:700;text-decoration:none}.confirmed-trip-remove{display:block;min-height:44px;margin:12px auto 0;border:0;background:none;color:#5d7079;font-size:14px;font-weight:600}

.confirmed-trip-sheet [data-action="trip-calendar"]{margin-top:10px}
.confirmed-trip-price{padding:18px 0;border-bottom:1px solid #d8d8d2}.confirmed-trip-price span{display:block;color:#64747c;font-size:12px;margin-bottom:5px}.confirmed-trip-price strong{display:block;color:#193e5a;font-size:20px;font-variant-numeric:tabular-nums}.confirmed-trip-price small{display:block;color:#64747c;font-size:12px;line-height:1.45;margin-top:6px}
.live-booking-sheet .booking-export{margin-top:8px}
.confirmed-trip-cancellation{padding:18px 0;border-bottom:1px solid #d8d8d2}.confirmed-trip-cancellation span{display:block;color:#64747c;font-size:12px;margin-bottom:7px}.confirmed-trip-cancellation p{color:#263f51;font-size:14px;line-height:1.45;margin:0 0 6px}.confirmed-trip-cancellation p:last-child{margin-bottom:0}
.confirmed-trip-support{border-top:1px solid #d8d8d2;padding:20px 0 10px}.confirmed-trip-support h4{font:600 17px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#263f51;margin:0 0 8px}.confirmed-trip-support p{color:#546a76;font-size:14px;line-height:1.45;margin:0 0 14px}
.nearby-chip{display:inline-flex;align-items:center;gap:5px}.nearby-chip:disabled{opacity:.7;cursor:wait}

/* Guest app visual system, adapted from the supplied booking reference. */
:root{--canvas:#efeeec;--surface:#f8f7f4;--ink:#191b1d;--subtle:#676a6d;--rule:#dfddda;--accent:#965b46}
html{background:var(--canvas)}
body{background:var(--canvas);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-feature-settings:"kern" 1;text-rendering:optimizeLegibility}
button:focus-visible,input:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid:var(--accent);outline-offset:3px}
.app-shell{max-width:560px;min-height:100dvh;background:var(--surface);border-inline:1px solid var(--rule)}
.page{padding-bottom:114px}
.topbar,.topbar-inner{height:68px;padding:0 22px;background:var(--surface);border-bottom:0}
.wordmark{font-size:20px;font-weight:760;letter-spacing:.105em;color:var(--ink)}
.wordmark-dot{color:var(--accent)}
.topbar-title{font-size:15px;font-weight:650;color:var(--ink)}
.icon-button{min-width:44px;min-height:44px;color:var(--ink)}
.bottom-nav{position:fixed;left:50%;bottom:max(10px,env(safe-area-inset-bottom));width:calc(100% - 24px);max-width:536px;height:68px;padding:3px 4px;background:#222326;border:0;border-radius:23px;transform:translateX(-50%)}
.nav-item{min-width:0;flex:1;gap:3px;color:#b7b7b7;font-size:10px;font-weight:500}
.nav-item.active{color:#fff}
.nav-item svg{width:20px;height:20px}
.nav-item.active svg{stroke-width:2}
.eyebrow{font-size:10px;letter-spacing:.105em;color:var(--accent);font-weight:720}
h1,h2,h3{letter-spacing:-.025em;color:var(--ink)}
.home-lead{padding:13px 22px 24px}
.home-lead .eyebrow{margin:0 0 10px}
.home-lead h1{font:680 clamp(30px,7.8vw,41px)/1.08 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;margin:0 0 12px}
.home-lead>p:last-child{font-size:14px;line-height:1.4;color:var(--subtle);max-width:310px;margin:0}
.search-panel{margin:0 16px;background:#fbfaf8;border:1px solid var(--rule);border-radius:22px;padding:17px}
.field-label,.form-label{font-size:12px;color:var(--ink);font-weight:650}
.search-input,.explore-search{height:49px;background:var(--surface);border-color:#d8d6d3;border-radius:14px;color:var(--ink)}
.search-input input,.explore-search input{color:var(--ink);font-size:14px}
.search-input input::placeholder,.explore-search input::placeholder{color:#89898a}
.search-rows{gap:8px;margin:9px 0 12px}
.search-row{min-height:56px;background:var(--surface);border-color:#d8d6d3;border-radius:13px;padding:8px;color:var(--ink)}
.search-row svg:first-child{width:18px;height:18px}
.search-row small{color:var(--subtle);font-size:11px}
.search-row strong{font-size:12px;color:var(--ink);font-weight:650}
.primary-button{background:#1f2022;color:#fff;border-radius:22px;font-size:13px;font-weight:650;min-height:46px}
.secondary-button{background:var(--surface);border:1px solid #c9c6c2;color:var(--ink);border-radius:22px;font-size:13px}
.light-button{background:#e7e4e0;color:var(--ink);border-radius:22px;font-size:13px}
.text-button{font-size:12px;color:#555556;font-weight:650}
.content-section{padding:30px 20px 4px}
.section-head{margin-bottom:15px;align-items:center}
.section-head h2{font-size:20px;font-weight:680;line-height:1.17;margin:0}
.section-head .eyebrow{margin:0 0 5px}
.destination-scroll{display:flex;gap:10px;overflow-x:auto;margin:0 -20px;padding:0 20px 3px;scroll-snap-type:x mandatory;scrollbar-width:none}
.destination-scroll::-webkit-scrollbar{display:none}
.destination-tile{position:relative;flex:0 0 148px;height:116px;padding:0;overflow:hidden;border:0;border-radius:15px;background:#353535;scroll-snap-align:start;text-align:left}
.destination-tile img{width:100%;height:100%;display:block;object-fit:cover}
.destination-tile .art-monogram{display:none}
.destination-tile::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.26)}
.destination-tile span{position:absolute;z-index:1;left:12px;bottom:11px;color:#fff;font-size:17px;font-weight:700}
.card-scroll{gap:11px;padding-bottom:4px;scrollbar-width:none}
.card-scroll::-webkit-scrollbar{display:none}
.card-scroll .hotel-card{min-width:185px;width:185px}
.hotel-card{background:#fbfaf8;border:1px solid var(--rule);border-radius:16px;overflow:hidden}
.hotel-art{height:162px;background:#d3d1ce}
.hotel-list .hotel-art{height:150px}
.hotel-card-body{padding:11px 12px 13px}
.hotel-meta{color:var(--accent);font-size:10px;margin-bottom:7px}
.hotel-meta span:last-child{letter-spacing:.01em}
.hotel-card h3{font-size:14px;line-height:1.23;min-height:0;margin:0 0 6px;font-weight:690;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hotel-location{color:var(--subtle);font-size:11px;margin-bottom:9px;line-height:1.3}
.hotel-location svg{width:12px;height:12px;flex-shrink:0}
.hotel-card-foot{padding-top:9px;border-color:var(--rule);color:#444;font-size:11px}
.save-button{top:8px;right:8px;width:34px;height:34px;background:#fbfaf8;color:var(--ink)}
.save-button.is-saved,.save-button.is-saved svg{color:var(--accent);stroke:var(--accent);fill:var(--accent)}
.loyalty-banner{margin:29px 20px 0;padding:22px;background:#27272a;border-radius:17px;min-height:0}
.loyalty-banner h2{font:680 22px/1.15 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#fff}
.loyalty-banner p:not(.eyebrow){color:#d5d3d0;font-size:13px}
.loyalty-banner .eyebrow{color:#d6aaa0}
.loyalty-orbit{display:none}
.offers-section{padding-bottom:34px}
.offers-section p{font-size:13px;color:var(--subtle)}
.explore-intro,.page-intro{padding:18px 22px 17px}
.explore-intro h1,.page-intro h1{font:680 30px/1.1 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;margin-bottom:8px}
.explore-intro p,.page-intro p:last-child{color:var(--subtle);font-size:13px;line-height:1.4}
.explore-search{margin:0 20px 17px;background:#fbfaf8}
.chip-row{gap:7px;padding:0 20px 16px}
.chip{border-color:#d6d3d0;background:#fbfaf8;color:#444;border-radius:18px;padding:8px 12px;font-size:12px}
.chip.selected{background:#202124;border-color:#202124;color:#fff}
.result-line{color:var(--subtle);padding:5px 20px 14px}
.result-line button{color:var(--ink)}
.hotel-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 20px 30px}
.hotel-list .hotel-card-body{padding:11px}
.hotel-list .hotel-card h3{font-size:13px}
.detail-page{background:var(--surface)}
.topbar-inner{position:absolute;top:0;left:0;width:100%;z-index:22;background:transparent}
.topbar-inner .icon-button{background:#fbfaf8;border-radius:50%;color:var(--ink);display:grid;place-items:center}
.detail-art{height:min(55vh,445px);min-height:300px;background:#d1d0cd}
.detail-art img{object-fit:cover}
.detail-gallery-trigger{bottom:38px;right:18px;border-radius:17px;background:#fbfaf8;color:var(--ink);font-size:12px;padding:9px 13px}
.detail-content{position:relative;z-index:1;margin-top:-20px;border-radius:22px 22px 0 0;background:var(--surface);padding:24px 21px 156px}
.detail-content>.eyebrow{margin-bottom:8px}
.detail-content h1{font:700 26px/1.11 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;margin:0 0 10px}
.detail-location{color:var(--subtle);font-size:13px;margin:0 0 18px}
.detail-photo-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 63px;gap:5px;width:100%;padding:0;background:none;border:0;margin:0 0 24px;align-items:stretch;text-align:center}
.detail-photo-strip img{width:100%;height:65px;object-fit:cover;border-radius:8px}
.detail-photo-strip span{display:grid;place-items:center;background:#e8e6e2;border-radius:8px;color:#28292a;font-size:11px;font-weight:650;padding:4px}
.detail-content h2{font:680 17px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;margin:28px 0 11px}
.detail-description{color:#4a4c4e;font-size:14px;line-height:1.48;margin:0 0 16px}
.feature-list span{background:#e8e6e2;color:#424446;border-radius:14px;padding:7px 10px;font-size:11px}
.stay-panel,.perks-panel,.detail-contact{border-top:1px solid var(--rule);margin-top:25px;padding-top:1px}
.stay-times div,.contact-actions a{background:#fbfaf8;border-color:var(--rule);border-radius:10px;color:var(--ink)}
.stay-times strong,.contact-actions a,.detail-contact-address{color:var(--ink)}
.stay-times small{color:var(--subtle)}
.detail-date-row button{background:#fbfaf8;border-color:var(--rule);border-radius:12px;color:var(--ink);min-height:62px}
.sticky-cta{max-width:560px;background:#fbfaf8;border-top:1px solid var(--rule);padding:12px 18px max(12px,env(safe-area-inset-bottom));gap:12px}
.sticky-cta>div{min-width:0}
.sticky-cta small{color:var(--subtle);font-size:11px}
.sticky-cta strong{color:var(--ink);font-size:13px;white-space:nowrap}
.sticky-cta .primary-button{white-space:nowrap;padding:0 14px}
.simple-page .empty-state{background:#f0eeeb;border:1px solid var(--rule);border-radius:18px;margin:16px 20px;padding:28px 22px}
.empty-state h2{font-size:20px;font-weight:680}
.trip-access,.checkin-info{background:#fbfaf8;border:1px solid var(--rule);border-radius:17px}
.trip-access h2,.checkin-info h2,.trip-more h2,.empty-state h2{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-weight:680;color:var(--ink)}
.trip-access p,.checkin-info p,.trip-more p,.empty-state p{color:var(--subtle)}
.trip-access-icon,.empty-symbol{background:#e8e6e2;color:var(--ink);border-radius:50%}
.checkin-info a,.official-link,.perks-source{color:var(--ink)}
.loyalty-card{background:#27272a;border-radius:18px}
.loyalty-card h2{color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:22px}
.loyalty-card .wordmark{color:#fff}
.account-list a,.account-list button{color:var(--ink)}
.modal-sheet{background:var(--surface);border-radius:23px 23px 0 0}
.modal-sheet h2{color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-weight:680}
.modal-sheet p{color:var(--subtle)}
.modal-close{color:var(--ink);min-width:44px;min-height:44px}
.filter-subtitle{color:var(--subtle)!important;font-size:11px!important;letter-spacing:.04em;margin:22px 0 11px}
.option-list{display:flex;flex-wrap:wrap;gap:8px}
.option-list button{display:inline-flex;align-items:center;gap:5px;width:auto;min-height:40px;padding:8px 13px;background:#fbfaf8;border:1px solid var(--rule);border-radius:20px;color:var(--ink);font-size:12px}
.option-list button.picked{background:#202124;border-color:#202124;color:#fff;font-weight:620}
.counter button{width:40px;height:40px;background:#fbfaf8;border-color:var(--rule);color:var(--ink)}
.form-label input,.form-label select{background:#fbfaf8;color:var(--ink);border-color:var(--rule);border-radius:12px}
.toast{max-width:calc(100vw - 36px);background:#262629;border-radius:12px;box-shadow:none;font-size:13px}
@media(max-width:370px){.home-lead h1{font-size:29px}.search-panel{margin-inline:12px;padding:14px}.hotel-list{padding-inline:12px;gap:8px}.hotel-list .hotel-art{height:133px}.hotel-list .hotel-card h3{font-size:12px}.detail-photo-strip img{height:55px}}
@media(min-width:700px){.app-shell{border-inline:1px solid var(--rule)}.bottom-nav{max-width:536px}.detail-content{padding-inline:28px}.content-section{padding-inline:28px}.card-scroll,.destination-scroll{margin-inline:-28px;padding-inline:28px}.hotel-list{padding-inline:28px}.explore-intro,.page-intro{padding-inline:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
