:root{--brand: #1565d8;--brand-dark: #0f54b8;--ink: #252b5c;--text: #0f172a;--muted: #6f7390;--line: #e3e9f4;--soft: #f5f8ff;--surface: #ffffff;--success: #178a55;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:#fcfcfc}*{box-sizing:border-box}body{margin:0;background:#fcfcfc}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.portal{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:32px;min-height:76px;padding:0 max(32px,calc((100vw - 1220px)/2));border-bottom:1px solid var(--line);background:#fffffff5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:inline-flex;align-items:center;gap:10px;font-size:23px;font-weight:900;color:var(--ink)}.brand-mark{width:42px;height:42px;object-fit:contain;flex:0 0 auto}.topbar nav{display:flex;justify-content:center;gap:34px;color:var(--ink);font-size:14px;font-weight:800}.topbar nav a:hover{color:var(--brand)}.menu-button{display:none;place-items:center;gap:5px;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff}.menu-button span{display:block;width:18px;height:2px;border-radius:999px;background:var(--ink)}.mobile-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#0308357a}.mobile-menu{display:grid;align-content:start;gap:22px;width:min(320px,86vw);min-height:100%;padding:20px;background:#fff;box-shadow:24px 0 70px #03083533}.mobile-menu-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px}.mobile-menu-head .close-button{position:static}.mobile-menu nav,.mobile-menu-actions{display:grid;gap:10px}.mobile-menu nav a{border-radius:14px;padding:14px 16px;background:var(--soft);color:var(--ink);font-weight:900}.mobile-menu-actions{border-top:1px solid var(--line);padding-top:18px}.mobile-menu-actions span{color:var(--muted);font-size:13px;font-weight:800}.mobile-menu-actions button{min-height:46px;border:0;border-radius:12px;background:var(--brand);color:#fff;font-weight:900}.top-actions{display:inline-flex;justify-content:end;align-items:center;gap:12px}.top-actions span{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800}.top-actions button,.primary-button,.primary-link,.search-panel button{border:0;border-radius:12px;background:var(--brand);color:#fff;font-weight:900}.primary-link.full,.secondary-link.full{justify-content:center;width:100%}.top-actions button{min-height:42px;padding:0 20px}main{width:min(1220px,calc(100vw - 56px));margin:0 auto}.hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(440px,1.05fr);gap:38px;align-items:center;padding:58px 0 24px}.hero-copy h1,.page-title h1,.detail-head h1{margin:8px 0 16px;color:#030835;font-size:clamp(42px,5vw,72px);line-height:1;letter-spacing:0}.hero-copy p{max-width:620px;color:var(--muted);font-size:18px;line-height:1.7}.eyebrow{color:var(--brand);font-size:12px;font-weight:950;letter-spacing:.03em;text-transform:uppercase}.hero-actions{display:flex;gap:12px;margin-top:28px}.primary-link,.secondary-link{display:inline-flex;align-items:center;min-height:48px;border-radius:12px;padding:0 20px;font-weight:900}.secondary-link{border:1px solid var(--line);background:#fff;color:var(--ink)}.hero-visual{position:relative;min-height:420px;overflow:hidden;border-radius:28px;background:linear-gradient(135deg,#eaf2ff,#f6f9ff);box-shadow:0 24px 60px #252b5c1f}.hero-visual img,.hero-placeholder{width:100%;height:420px;object-fit:cover}.hero-placeholder,.image-empty{display:grid;place-items:center;background:var(--soft);color:var(--brand);font-weight:900}.search-shell{margin:22px 0 46px}.search-panel{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(150px,.7fr) minmax(150px,.7fr) minmax(210px,.85fr) auto;gap:12px;padding:10px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 18px 34px #252b5c14}.search-panel label{display:grid;gap:8px;margin:0;color:var(--muted);font-size:12px;font-weight:900}.search-panel label{padding:12px 16px;border-radius:14px;background:#fbfcff}.search-panel input,.search-panel select{width:100%;min-height:34px;border:0;outline:0;background:transparent;color:var(--text);font-weight:800}.search-panel button{min-width:136px}.search-note{margin:10px 4px 0;color:var(--muted);font-size:13px;font-weight:700}.section,.partners-strip,.page{padding:30px 0 70px}.section-soft{width:min(1280px,calc(100vw - 32px));margin:8px auto 28px;border-radius:28px;padding:42px max(24px,calc((100vw - 1220px)/2));background:var(--soft)}.section-head,.results-head,.card-footer,.detail-head,.checkout-total,.booking-table article{display:flex;align-items:center;justify-content:space-between;gap:18px}.section-head{margin-bottom:24px}.section-head h2,.workflow h2,.booking-cta-card h2,.content-block h2{margin:6px 0 0;color:#030835;font-size:30px;line-height:1.16}.section-head a{color:var(--brand);font-weight:900}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.booking-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 14px 28px #252b5c0f}.card-media{position:relative;display:block;aspect-ratio:1.27;overflow:hidden;background:var(--soft)}.card-media img,.card-media .image-empty{width:100%;height:100%;object-fit:cover}.card-media span,.pill{display:inline-flex;width:fit-content;border-radius:10px;padding:8px 12px;background:var(--brand);color:#fff;font-size:11px;font-weight:950;text-transform:uppercase}.card-media span{position:absolute;left:14px;top:14px}.card-body{padding:16px;background:#fff}.card-body p{margin:0 0 9px;color:var(--muted);font-size:12px;font-weight:800}.card-body h3{min-height:46px;margin:0 0 16px;color:#030835;font-size:17px;line-height:1.35}.listing-meta{color:var(--brand);font-size:12px}.listing-meta span{color:var(--muted)}.card-footer{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.card-footer span{color:var(--muted);font-size:12px;font-weight:800}.save-button{position:absolute;right:14px;top:14px;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:999px;background:#fff;color:#8e94ad;box-shadow:0 10px 22px #252b5c24}.save-button.active{background:var(--brand);color:#fff}.save-button.inline{position:static}.workflow{display:grid;grid-template-columns:1.35fr repeat(3,minmax(0,1fr));gap:18px;margin:50px 0;padding:34px;border-radius:24px;background:var(--soft)}.workflow>div{display:grid;align-content:center}.workflow article{border-radius:18px;padding:22px;background:#fff}.workflow b{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:var(--brand);color:#fff}.workflow p{color:var(--muted);line-height:1.65}.support-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:start;padding:64px 0 20px}.support-section h2,.about-hero h1{margin:8px 0 14px;color:#030835;font-size:clamp(34px,4vw,52px);line-height:1.05}.support-section p,.about-hero p,.about-grid p{color:var(--muted);line-height:1.7}.support-grid,.about-grid{display:grid;gap:16px}.support-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.support-grid article,.about-grid article{border:1px solid var(--line);border-radius:20px;padding:22px;background:#fff}.support-grid b{color:var(--brand)}.partner-row,.partner-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.partner-row a,.partner-grid a{display:grid;gap:10px;border:1px solid var(--line);border-radius:18px;padding:12px;background:#fff}.partner-row img,.partner-row .partner-logo{width:100%;aspect-ratio:1;border-radius:14px;object-fit:cover}.partner-logo{display:grid;place-items:center;background:var(--brand);color:#fff;font-size:28px;font-weight:950}.partner-row strong,.partner-grid h3{color:#030835}.partner-row span,.partner-grid p{color:var(--muted);font-size:12px}.page{min-height:calc(100vh - 76px)}.page-title{padding:28px 0 16px}.page-title h1{max-width:820px;font-size:clamp(38px,5vw,58px)}.discover-layout{display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:start}.filter-panel,.booking-cta-card{position:sticky;top:98px;border:1px solid var(--line);border-radius:20px;padding:22px;background:#fff}.filter-panel{display:grid;gap:10px}.filter-panel a{border-radius:12px;padding:12px 14px;color:var(--ink);font-weight:900}.filter-panel a.active{background:var(--brand);color:#fff}.filter-note{margin-top:10px;border-radius:14px;padding:14px;background:var(--soft);color:var(--muted);line-height:1.5}.results{display:grid;gap:18px}.results-head{color:var(--muted);font-size:14px}.result-row{display:grid;grid-template-columns:260px 1fr 170px;gap:24px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:18px;background:#fff}.result-media{overflow:hidden;border-radius:16px;aspect-ratio:1.25;background:var(--soft)}.result-media img,.result-media .image-empty{width:100%;height:100%;object-fit:cover}.result-row h2{margin:14px 0 10px;color:#030835;font-size:23px}.result-row p{color:var(--muted);line-height:1.6}.result-tags{display:flex;flex-wrap:wrap;gap:12px;color:var(--brand);font-size:12px;font-weight:900}.result-row aside{display:grid;justify-items:end;gap:18px}.result-row aside a{border:1px solid var(--brand);border-radius:12px;padding:12px 16px;color:var(--brand);font-weight:900}.detail-hero{margin:18px 0 34px;border:1px solid var(--line);border-radius:28px;padding:28px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 22px 50px #252b5c14}.detail-head{align-items:start;padding:0 0 22px}.detail-head p{margin-bottom:14px;color:var(--muted);font-weight:800}.detail-price{display:inline-flex;align-items:center;min-height:54px;border-radius:16px;padding:0 20px;background:#fff;color:var(--brand);font-size:28px;font-weight:950;box-shadow:0 12px 30px #1565d81f}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:210px 210px;gap:12px}.gallery img,.gallery .image-empty{width:100%;height:100%;border-radius:18px;object-fit:cover}.gallery img:first-child,.gallery .image-empty{grid-row:span 2}.gallery.single{grid-template-columns:1fr;grid-template-rows:440px}.gallery.single img,.gallery.single .image-empty{grid-row:auto}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:34px;align-items:start;padding-bottom:36px}.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:28px}.facts div,.content-block{border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff}.facts span{display:block;color:var(--muted);font-size:12px;font-weight:900}.facts strong{display:block;margin-top:8px;color:#030835;line-height:1.35}.content-block{margin-bottom:18px}.content-block p{color:var(--muted);line-height:1.75}.amenities{display:flex;flex-wrap:wrap;gap:10px}.amenities span{border-radius:999px;padding:10px 14px;background:var(--soft);color:var(--ink);font-weight:800}.checkout-total{border-radius:16px;padding:16px;background:var(--soft)}.booking-cta-card{display:grid;gap:16px;box-shadow:0 18px 42px #252b5c14}.booking-cta-card p{margin:0;color:var(--muted);line-height:1.6}.checkout-total span{color:var(--muted);font-weight:900}.hotel-availability{display:grid;gap:18px;padding-bottom:80px}.hotel-availability .section-head{margin:18px 0 0}.availability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.notice{border-radius:16px;padding:16px 18px;background:var(--soft);color:var(--ink);font-weight:800}.notice.error{background:#fff1f2;color:#9f1239}.notice.success{background:#ecfdf5;color:var(--success)}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;display:grid;place-items:center;padding:24px;background:#03083561;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loading-indicator{display:flex;align-items:center;gap:12px;min-width:230px;justify-content:center;border:1px solid var(--line);border-radius:20px;padding:22px 26px;background:#fff;color:var(--ink);box-shadow:0 30px 90px #03083547}.loading-indicator span{width:22px;height:22px;border:3px solid #d7e4fb;border-top-color:var(--brand);border-radius:999px;animation:spin .8s linear infinite}.loading-indicator strong{font-size:14px;font-weight:900}@keyframes spin{to{transform:rotate(360deg)}}.booking-table{display:grid;gap:12px}.booking-table article{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff}.booking-table span,.booking-table em{color:var(--muted);font-style:normal;font-weight:800}.summary-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:start;padding-bottom:80px}.summary-shell,.payment-card{border:1px solid var(--line);border-radius:22px;padding:22px;background:#fff;box-shadow:0 18px 42px #252b5c12}.summary-shell{display:grid;gap:18px}.summary-listing{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:center}.summary-listing img,.summary-listing .image-empty{width:100%;aspect-ratio:1.35;border-radius:16px;object-fit:cover}.summary-listing h2,.payment-card h2{margin:10px 0;color:#030835;font-size:28px}.summary-listing p,.payment-card p{color:var(--muted);line-height:1.6}.summary-listing strong{color:var(--brand)}.summary-lines{display:grid;gap:12px}.summary-lines div{display:flex;align-items:center;justify-content:space-between;gap:18px;border-radius:14px;padding:14px 16px;background:var(--soft)}.summary-lines span{color:var(--muted);font-weight:900}.summary-lines strong{color:#030835}.summary-lines .summary-total{background:var(--brand);color:#fff}.summary-lines .summary-total span,.summary-lines .summary-total strong{color:#fff}.room-services{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:20px}.room-services h2{margin:6px 0 4px;color:#030835;font-size:24px}.service-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfcff;cursor:pointer}.service-option.selected{border-color:var(--brand);background:#eef5ff}.service-option input{width:18px;height:18px;accent-color:var(--brand)}.service-option span{display:grid;gap:4px}.service-option strong{color:#030835}.service-option em{color:var(--muted);font-size:12px;font-style:normal;line-height:1.45}.service-option b{color:var(--brand);font-size:13px}.payment-card{position:sticky;top:98px;display:grid;gap:16px}.payment-card form{display:grid;gap:14px}.payment-methods{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-radius:14px;padding:14px;background:var(--soft)}.payment-methods strong{color:#030835;font-size:13px}.payment-methods span{color:var(--muted);font-size:13px;font-weight:800}.payment-card label{display:grid;gap:8px;color:var(--muted);font-size:12px;font-weight:900}.payment-card input{min-height:48px;border:1px solid var(--line);border-radius:12px;padding:0 14px;color:var(--text);font-weight:800}.payment-card .notice{display:grid;gap:14px}.partner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.partner-grid a{grid-template-columns:150px 1fr;align-items:center}.partner-grid img,.partner-grid .image-empty{width:150px;height:120px;border-radius:14px;object-fit:cover}.site-footer{margin-top:40px;border-top:1px solid var(--line);background:#030835;color:#fff}.footer-top{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:42px;width:min(1220px,calc(100vw - 56px));margin:0 auto;padding:54px 0 44px}.footer-brand .brand{color:#fff}.footer-brand p{max-width:360px;margin:18px 0 0;color:#ffffffb8;line-height:1.7}.footer-column{display:grid;align-content:start;gap:11px}.footer-column h3{margin:0 0 8px;color:#fff;font-size:15px}.footer-column a,.footer-column span{color:#ffffffb8;font-size:14px;font-weight:700}.footer-column a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;width:min(1220px,calc(100vw - 56px));margin:0 auto;padding:18px 0 24px;border-top:1px solid rgba(255,255,255,.14);color:#ffffffa8;font-size:13px;font-weight:700}.about-hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:34px;align-items:center;padding:56px 0 34px}.about-hero>div:first-child{max-width:820px}.about-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.about-summary-card{display:grid;gap:12px;border-radius:26px;padding:30px;background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff;box-shadow:0 24px 50px #1565d838}.about-summary-card strong{font-size:24px}.about-summary-card span{color:#ffffffd1;line-height:1.7}.about-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.about-stats article{border:1px solid var(--line);border-radius:20px;padding:24px;background:#fff}.about-stats strong{display:block;color:var(--brand);font-size:24px}.about-stats span{display:block;margin-top:8px;color:var(--muted);font-weight:800}.about-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:16px 0 28px}.about-grid article{min-height:180px}.about-process{display:grid;grid-template-columns:1.1fr repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 70px;border-radius:26px;padding:30px;background:var(--soft)}.about-process>div{display:grid;align-content:center}.about-process h2{margin:8px 0 0;color:#030835;font-size:30px;line-height:1.15}.about-process article{border-radius:18px;padding:22px;background:#fff}.about-process h3{margin:0 0 10px;color:#030835}.about-process p{margin:0;color:var(--muted);line-height:1.65}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:24px;background:#0308358f}.dialog{position:relative;width:min(460px,100%);border-radius:22px;padding:28px;background:#fff;box-shadow:0 30px 90px #0000003d}.dialog h2{margin:22px 0 8px;color:#030835}.dialog p{color:var(--muted);line-height:1.6}.icon-button{border:0;background:transparent}.close-button{position:absolute;right:18px;top:18px;color:var(--muted);font-size:20px}.google-button{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-weight:900}.primary-button{min-height:48px}@media (max-width: 1080px){.hero,.discover-layout,.detail-layout,.summary-layout,.workflow,.support-section,.about-grid,.about-hero,.about-stats,.about-process,.footer-top{grid-template-columns:1fr}.filter-panel,.booking-cta-card,.payment-card{position:static}.card-grid,.availability-grid,.partner-row,.support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-row{grid-template-columns:220px 1fr}.result-row aside{grid-column:1 / -1;grid-template-columns:repeat(3,auto);justify-content:space-between;justify-items:center}}@media (max-width: 760px){.topbar{grid-template-columns:1fr auto;min-height:68px;gap:16px;padding:12px 16px}.topbar .desktop-nav,.top-actions{display:none}.menu-button{display:grid}main{width:min(100% - 28px,1220px)}.search-panel,.partner-grid,.result-row,.summary-listing,.service-option,.facts,.partner-grid a,.support-grid{grid-template-columns:1fr}.card-grid,.availability-grid{display:grid;grid-auto-columns:minmax(260px,78vw);grid-auto-flow:column;grid-template-columns:none;gap:16px;margin-inline:-14px;padding:2px 14px 18px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}.partner-row{display:grid;grid-auto-columns:minmax(150px,44vw);grid-auto-flow:column;grid-template-columns:none;gap:14px;margin-inline:-14px;padding:2px 14px 18px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}.partner-row a,.booking-card{scroll-snap-align:start}.search-panel button{min-height:48px}.hero{padding-top:34px}.hero-visual,.hero-visual img,.hero-placeholder{min-height:280px;height:280px}.detail-hero{margin-top:14px;border-radius:22px;padding:16px}.detail-head h1{font-size:clamp(32px,12vw,44px)}.detail-price{min-height:48px;font-size:22px}.gallery{grid-template-columns:repeat(4,minmax(220px,78vw));grid-auto-columns:minmax(220px,78vw);grid-auto-flow:column;grid-template-rows:240px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x proximity}.gallery.single{grid-template-columns:1fr;grid-auto-flow:row;grid-template-rows:260px;overflow-x:visible;padding-bottom:0}.gallery img:first-child,.gallery .image-empty{grid-row:auto}.gallery img,.gallery .image-empty{min-height:0;scroll-snap-align:start}.section-head,.detail-head,.booking-table article,.footer-bottom{align-items:flex-start;flex-direction:column}.footer-top,.footer-bottom{width:min(100% - 28px,1220px)}.site-footer{margin-top:24px}.footer-top{grid-template-columns:1fr 1fr;gap:28px 20px;padding:34px 0 28px}.footer-brand{grid-column:1 / -1}.footer-brand p{max-width:none;margin-top:14px;font-size:15px}.footer-column{gap:9px}.footer-column h3{margin-bottom:4px}.footer-column a,.footer-column span{font-size:13px;line-height:1.45}.footer-bottom{padding:16px 0 22px;font-size:12px}}
