:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4fafb;color:#092846;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #f4fafb;--surface: #ffffff;--surface-2: #eef8f8;--text: #092846;--muted: #637883;--border: #d7e8ea;--teal: #08aebd;--teal-dark: #006d8f;--ocean: #063c7a;--coral: #ff6d3a;--sunset: #ff8f34;--yellow: #f6b23c;--shadow: 0 18px 42px rgba(6, 60, 122, .09)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(135deg,rgba(255,143,52,.1),transparent 28%),linear-gradient(180deg,#ffffff 0%,var(--bg) 340px),var(--bg)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:minmax(230px,1fr) auto minmax(320px,1.15fr) auto 42px;gap:14px;align-items:center;padding:12px 28px;border-bottom:1px solid rgba(215,232,234,.9);background:#ffffffeb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{display:grid;width:44px;height:44px;place-items:center;overflow:hidden;border-radius:10px;background:#fff;box-shadow:0 12px 24px #063c7a29}.brand-mark img{width:100%;height:100%;object-fit:cover}.brand strong,.brand span{display:block;white-space:nowrap}.brand strong{font-size:17px;line-height:1.2;color:var(--ocean)}.brand span{margin-top:2px;color:var(--muted);font-size:12px}.nav{display:flex;gap:6px;padding:4px;border:1px solid var(--border);border-radius:8px;background:#f8fbfa}.nav a{padding:8px 11px;border-radius:6px;color:var(--muted);font-size:13px;font-weight:650}.nav a.active{color:var(--teal-dark);background:#e8f8f8}.header-search{display:flex;align-items:center;gap:10px;min-width:0;height:44px;padding:0 13px;border:1px solid var(--border);border-radius:8px;background:#fff}.header-search svg{color:var(--teal);flex:0 0 auto}.header-search input{width:100%;min-width:0;border:0;outline:0;color:var(--text);background:transparent;font-size:14px}.source-badge{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 10px;border:1px solid var(--border);border-radius:8px;font-size:12px;font-weight:700;white-space:nowrap}.source-badge.ok{color:var(--teal-dark);background:#e9f6f2}.source-badge.warn{color:#9b4a2d;background:#fff1e7}.source-badge.demo{color:#695015;background:#fff3dc}.header-brand-icon{width:42px;height:42px;justify-self:end;border-radius:999px;object-fit:cover;border:2px solid rgba(255,143,52,.35);box-shadow:0 12px 24px #063c7a29}.workspace{display:grid;grid-template-columns:268px minmax(420px,1fr) 354px;gap:18px;align-items:start;max-width:1520px;margin:0 auto;padding:22px 28px 34px}.filters,.detail{position:sticky;top:92px;max-height:calc(100vh - 112px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(23,126,115,.45) transparent}.filter-area{min-width:0}.mobile-filter-toggle{display:none}.filters::-webkit-scrollbar,.detail::-webkit-scrollbar{width:8px}.filters::-webkit-scrollbar-thumb,.detail::-webkit-scrollbar-thumb{border-radius:999px;background:#177e7359}.filters,.detail,.hotel-card,.notice{border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.filters{padding:16px}.panel-title,.insight-title,.results-head,.hotel-head,.detail-title,.range-line,.meta-row,.card-actions,.detail-links,.booking-list a,.source-link{display:flex;align-items:center}.panel-title{justify-content:space-between;gap:10px;margin-bottom:16px;color:var(--teal-dark);font-size:15px;font-weight:800}.panel-title span,.mobile-filter-toggle span{display:inline-flex;align-items:center;gap:8px}.panel-title button{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 8px;border:1px solid rgba(255,109,58,.22);border-radius:7px;color:#9b4a2d;background:#fff7f2;cursor:pointer;font-size:11px;font-weight:800}.field,.filter-block{display:grid;gap:8px;margin-bottom:17px}.field span,.block-label{color:#40524d;font-size:12px;font-weight:800;text-transform:uppercase}.field select{height:40px;width:100%;border:1px solid var(--border);border-radius:8px;color:var(--text);background:#fff;padding:0 10px;outline:none}.trip-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.trip-grid button{display:flex;align-items:center;gap:7px;min-height:39px;padding:0 9px;border:1px solid var(--border);border-radius:8px;color:#40524d;background:#fff;cursor:pointer;font-size:12px;font-weight:750}.trip-grid button.selected{color:var(--teal-dark);border-color:#177e7359;background:#eaf7f4}.check-row{display:flex;align-items:center;gap:8px;color:#344541;font-size:13px}.check-row input{accent-color:var(--teal)}.range{width:100%;accent-color:var(--teal)}.range-line{justify-content:space-between;color:var(--muted);font-size:12px}.range-line strong{color:var(--text)}.stat-card{display:grid;gap:2px;padding:14px;border-radius:8px;background:linear-gradient(135deg,#08aebd1c,#ff8f341f)}.stat-card strong{color:var(--teal-dark);font-size:30px;line-height:1}.stat-card span{color:var(--muted);font-size:13px}.results{min-width:0}.results-head{justify-content:space-between;gap:18px;margin-bottom:12px}.results-head h1{margin:0;font-size:clamp(30px,3vw,46px);line-height:1.05;letter-spacing:0}.results-head p{max-width:620px;margin:8px 0 0;color:var(--muted);font-size:15px;line-height:1.45}.sort-button{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:8px;color:#344541;background:#fff;white-space:nowrap;cursor:pointer}.quick-searches{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.quick-searches button{min-height:34px;padding:0 12px;border:1px solid rgba(8,174,189,.22);border-radius:999px;color:#006d8f;background:#ffffffd6;cursor:pointer;font-size:13px;font-weight:800}.quick-searches button:hover{border-color:#08aebd70;background:#eaf7f4}.data-summary{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.data-summary span{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 9px;border:1px solid rgba(215,232,234,.9);border-radius:8px;color:#40524d;background:#ffffffbd;font-size:12px;font-weight:800}.data-summary svg{color:var(--teal-dark)}.landing-intro{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0 0 14px;padding:16px;border:1px solid rgba(8,174,189,.18);border-radius:8px;background:linear-gradient(135deg,#ff8f341c,#08aebd1a),#ffffffeb}.landing-intro span{display:inline-flex;margin-bottom:7px;color:var(--coral);font-size:12px;font-weight:850;text-transform:uppercase}.landing-intro p{max-width:820px;margin:0;color:#344541;font-size:14px;line-height:1.55}.landing-points,.landing-stats{display:flex;flex-wrap:wrap;gap:8px}.landing-points strong,.landing-stats span{display:inline-flex;align-items:center;min-height:30px;border-radius:8px;font-size:12px;font-weight:820}.landing-points strong{gap:6px;padding:0 9px;color:var(--teal-dark);background:#eaf7f4}.landing-stats span{padding:0 10px;color:#40524d;border:1px solid rgba(215,232,234,.9);background:#ffffffbf}.notice{display:flex;align-items:center;gap:9px;margin-bottom:14px;padding:12px 14px;color:#40524d;font-size:13px;box-shadow:none}.notice svg{color:var(--sunset);flex:0 0 auto}.cards{display:grid;gap:14px}.load-more{height:46px;border:1px solid rgba(23,126,115,.3);border-radius:8px;color:var(--teal-dark);background:#eaf7f4;cursor:pointer;font-weight:850}.hotel-card{position:relative;display:grid;grid-template-columns:196px minmax(0,1fr);gap:0;overflow:hidden;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}.hotel-card:hover,.hotel-card.selected{border-color:#177e738c;box-shadow:0 20px 48px #1736301f;transform:translateY(-1px)}.hotel-card.selected:before{position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--teal),var(--coral));content:"";z-index:2}.photo-wrap{position:relative;min-height:196px;background:#dfe8e4}.photo-wrap img,.detail-photo img{display:block;width:100%;height:100%;object-fit:cover}.photo-fallback{display:grid;width:100%;height:100%;min-height:inherit;place-items:center;align-content:center;gap:8px;padding:18px;color:var(--teal-dark);background:linear-gradient(135deg,#177e731f,#d9a32326),#eef6f3;text-align:center;font-size:12px;font-weight:800}.photo-caption{position:absolute;left:10px;bottom:10px;padding:5px 8px;border-radius:6px;color:#fff;background:#0f2c28b8;font-size:11px;font-weight:750}.hotel-body{min-width:0;padding:16px}.hotel-head{justify-content:space-between;gap:12px}.hotel-head h2{margin:0;font-size:20px;line-height:1.15;letter-spacing:0}.hotel-head p{display:flex;align-items:center;gap:5px;margin:6px 0 0;color:var(--muted);font-size:13px}.match{display:grid;flex:0 0 72px;justify-items:end;color:var(--teal-dark)}.match strong{font-size:24px;line-height:1}.match span{color:var(--muted);font-size:11px;font-weight:700}.recommendation{margin:11px 0 12px;color:#344541;font-size:14px;line-height:1.45}.price-pill{display:inline-flex;align-items:baseline;gap:6px;width:fit-content;min-height:32px;padding:0 10px;border:1px solid rgba(255,109,58,.26);border-radius:8px;color:#903b1f;background:#fff3ec;font-size:12px;font-weight:800}.price-pill strong{color:#c44922;font-size:16px}.price-pill em{color:#7a5f53;font-style:normal;font-weight:750}.price-pill.compact{margin-top:10px}.price-pill.compact strong{font-size:15px}.price-pill.muted{color:var(--muted);border-color:var(--border);background:#f6faf8}.meta-row{flex-wrap:wrap;gap:8px;margin-bottom:12px}.meta-row span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:6px;color:#40524d;background:#f4f8f6;font-size:12px;font-weight:650}.mini-signals,.signals-list{display:grid;gap:9px}.signal{display:grid;gap:5px}.signal>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.signal span{color:#2a3b37;font-weight:760}.signal em{color:var(--muted);font-size:11px;font-style:normal}.signal-track{height:7px;overflow:hidden;border-radius:999px;background:#edf2f0}.signal-track span{display:block;height:100%;border-radius:inherit}.signal-track .good{background:var(--teal)}.signal-track .mid{background:var(--yellow)}.signal-track .bad{background:var(--coral)}.card-actions{flex-wrap:wrap;gap:8px;margin-top:14px}.card-actions a,.card-actions button,.detail-links a,.booking-list a,.source-link{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:8px;color:#27423d;background:#fff;font-size:12px;font-weight:760}.card-actions a{padding:8px 10px}.card-actions button{min-height:34px;padding:0 12px;border-color:#08aebd57;color:#fff;background:linear-gradient(135deg,var(--teal),var(--ocean));cursor:pointer}.detail{overflow-x:hidden;overflow-y:auto}.mobile-detail-panel{display:none}.detail.empty{display:grid;gap:8px;padding:22px;color:var(--muted)}.detail.empty svg{color:var(--yellow)}.detail.empty h3{margin:0;color:var(--text)}.detail.empty p{margin:0;line-height:1.45}.detail-photo{height:214px;background:#dfe8e4}.detail-content{display:grid;gap:14px;padding:16px}.detail-title{justify-content:space-between;gap:12px}.detail-title h3{margin:0;font-size:22px;line-height:1.15}.detail-title span{display:block;margin-top:4px;color:var(--muted);font-size:13px}.detail-title strong{color:var(--teal-dark);font-size:26px}.source-note{margin:0;color:#40524d;font-size:13px;line-height:1.4}.source-link{width:fit-content;padding:8px 10px}.insight-box{display:grid;gap:8px;padding:13px;border-radius:8px;background:#f3f8f6}.insight-title{gap:7px;color:var(--teal-dark);font-size:13px;font-weight:850}.insight-box p{margin:0;color:#344541;font-size:14px;line-height:1.45}.review-pulse{display:grid;gap:12px;padding:14px;border:1px solid rgba(8,174,189,.18);border-radius:8px;background:linear-gradient(135deg,#08aebd1a,#ff8f3414),#fbfefd}.review-pulse-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.review-pulse-head h4{margin:4px 0 0;color:var(--ocean);font-size:17px;line-height:1.2}.review-pulse-head strong{flex:0 0 auto;padding:6px 8px;border-radius:8px;color:var(--teal-dark);background:#eaf7f4;font-size:12px}.review-method{margin:0;color:#40524d;font-size:13px;line-height:1.45}.review-pulse-grid{display:grid;grid-template-columns:1fr;gap:10px}.review-insight-column{display:grid;gap:8px}.review-column-title{color:#40524d;font-size:12px;font-weight:850}.review-insight-item{display:grid;gap:5px;padding:10px;border:1px solid rgba(215,232,234,.9);border-radius:8px;background:#ffffffdb}.review-insight-item>div{display:flex;align-items:center;gap:7px}.review-insight-column.positive svg{color:var(--teal-dark)}.review-insight-column.negative svg{color:var(--coral)}.review-insight-item strong{color:#263e39;font-size:13px}.review-insight-item p,.review-insight-item em,.review-footnote,.review-empty p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}.review-insight-item em{color:#40524d;font-style:normal}.review-footnote{padding-top:2px;font-weight:750}.review-empty{display:flex;gap:9px;padding:11px;border:1px dashed rgba(8,174,189,.32);border-radius:8px;background:#ffffff94}.review-empty svg{flex:0 0 auto;color:var(--sunset)}.detail-links{flex-wrap:wrap;gap:8px}.detail-links a{padding:9px 10px}.detail-links .map-button{color:#fff;border-color:var(--teal);background:linear-gradient(135deg,var(--teal),var(--ocean))}.booking-list{display:grid;gap:8px}.price-panel{display:grid;gap:10px;padding:13px;border:1px solid rgba(255,109,58,.18);border-radius:8px;background:linear-gradient(135deg,#ff8f341f,#08aebd14)}.price-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.price-list{display:grid;gap:8px}.price-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:10px;border:1px solid rgba(215,232,234,.9);border-radius:8px;background:#ffffffdb}.price-list span{color:#2a3b37;font-size:13px;font-weight:800}.price-list strong{color:#c44922;font-size:15px}.price-list em{grid-column:1 / -1;color:var(--muted);font-size:11px;font-style:normal;font-weight:700}.price-empty{margin:0;color:#40524d;font-size:13px;line-height:1.45}.booking-list a{justify-content:space-between;min-height:38px;padding:0 10px}.loading{display:grid;min-height:100vh;place-items:center;align-content:center;gap:12px;color:var(--teal-dark);font-weight:800}.seo-section{border-top:1px solid rgba(215,232,234,.9);background:linear-gradient(135deg,#ff8f341a,#08aebd1a),#fff}.seo-inner{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;max-width:1520px;margin:0 auto;padding:34px 28px 42px}.seo-kicker{display:inline-flex;margin-bottom:10px;color:var(--coral);font-size:12px;font-weight:850;text-transform:uppercase}.seo-section h2{max-width:880px;margin:0;color:var(--ocean);font-size:30px;line-height:1.12;letter-spacing:0}.seo-section p{max-width:930px;margin:13px 0 0;color:#344541;font-size:15px;line-height:1.6}.seo-links{display:flex;flex-wrap:wrap;align-content:flex-start;gap:10px}.seo-links a{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border:1px solid rgba(8,174,189,.24);border-radius:8px;color:var(--teal-dark);background:#ffffffd1;font-size:13px;font-weight:800}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1180px){.topbar{grid-template-columns:1fr auto}.brand{order:1}.header-brand-icon{order:2}.nav{order:3}.header-search{order:4}.source-badge{order:5}.workspace{grid-template-columns:240px minmax(0,1fr)}.detail{position:static;max-height:none;overflow:visible;grid-column:1 / -1}.seo-inner{grid-template-columns:1fr}}@media(max-width:820px){.topbar{position:static;grid-template-columns:1fr;gap:10px;padding:12px 14px}.brand span{white-space:normal}.brand-mark{width:42px;height:42px}.brand strong{font-size:18px}.header-brand-icon{display:none}.nav{width:100%}.nav a{flex:1;text-align:center;font-size:14px}.header-search{height:48px}.source-badge{display:none}.workspace{grid-template-columns:1fr;gap:12px;padding:12px 14px 28px}.filter-area{order:1}.results{order:2}.detail{order:3}.desktop-detail-panel{display:none}.mobile-detail-panel{display:block;position:static;max-height:none;margin-bottom:12px;overflow:visible}.mobile-filter-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;width:100%;min-height:48px;padding:0 12px;border:1px solid var(--border);border-radius:8px;color:var(--text);background:#fffffff0;box-shadow:0 12px 28px #063c7a14;cursor:pointer;font-weight:850}.mobile-filter-toggle strong{color:var(--teal-dark);font-size:18px}.mobile-filter-toggle[aria-expanded=true] svg:last-child{transform:rotate(180deg)}.filters{position:static;display:none;max-height:none;overflow:visible;margin-top:10px;box-shadow:0 16px 34px #063c7a1a}.filters.open{display:block}.hotel-card{grid-template-columns:1fr}.photo-wrap{min-height:210px}.results-head{align-items:flex-start;flex-direction:column;gap:10px;margin-top:4px}.results-head h1{font-size:32px}.results-head p{margin-top:6px}.sort-button{width:100%;justify-content:center}.quick-searches{flex-wrap:nowrap;margin:0 -14px 12px;padding:0 14px 2px;overflow-x:auto}.quick-searches button{flex:0 0 auto}.seo-inner{padding:28px 14px 34px}.seo-section h2{font-size:25px}}@media(max-width:520px){.nav{overflow-x:auto}.trip-grid{grid-template-columns:1fr}.hotel-head,.detail-title,.price-panel-head{align-items:flex-start;flex-direction:column}.match{justify-items:start}}
