@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root {
  --navy:#071a2c;
  --navy-2:#10324a;
  --lime:#c8ff3d;
  --canvas:#fff4e4;
  --surface:#fffcf5;
  --lagoon:#147c76;
  --terracotta:#e86f51;
  --muted:#756b5d;
  --line:#e7d6be;
  --shadow:0 24px 70px rgba(68,45,24,.13);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  color:var(--navy);
  background:
    radial-gradient(circle at 7% 6%,rgba(255,184,73,.18),transparent 25rem),
    radial-gradient(circle at 92% 24%,rgba(20,124,118,.08),transparent 30rem),
    var(--canvas);
  font:16px/1.5 'DM Sans',system-ui,sans-serif;
}
button,input,select { font:inherit; }
button { color:inherit; }
a { color:inherit; }
button[hidden], [hidden] { display:none!important; }
.skip-link { position:fixed; top:8px; left:8px; z-index:100; padding:10px 14px; border-radius:9px; background:var(--lime); transform:translateY(-150%); }
.skip-link:focus { transform:none; }

.topbar { min-height:72px; display:flex; align-items:center; gap:34px; padding:12px clamp(20px,4vw,64px); color:#fff; background:var(--navy); }
.brand { display:flex; align-items:center; gap:10px; margin-right:auto; color:#fff; text-decoration:none; font-family:'Manrope',sans-serif; font-size:14px; line-height:1.02; }
.brand-logo { display:block; width:clamp(172px, 16vw, 205px); height:auto; }
nav { display:flex; gap:28px; }
nav a { padding:8px 0; color:#b8c7d2; text-decoration:none; font-weight:600; }
nav a.active,nav a:hover { color:#fff; }
.drop-time { padding:9px 13px; border:1px solid #274157; border-radius:999px; color:#dce6eb; font-size:13px; }
.drop-time span { display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:50%; background:var(--lime); box-shadow:0 0 0 4px rgba(200,255,61,.13); }

main { width:min(1420px,100%); margin:auto; padding:0 clamp(18px,4vw,60px) 84px; }
.intro { display:grid; grid-template-columns:.84fr 1.16fr; gap:clamp(30px,5vw,78px); align-items:center; padding:42px 0 34px; }
.intro-content { padding-left:clamp(0px,2vw,28px); }
.eyebrow { margin:0 0 9px; color:var(--lagoon); font-size:12px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
h1,h2 { margin:0; font-family:'Manrope',sans-serif; letter-spacing:-.05em; }
h1 { max-width:660px; font-size:clamp(42px,5vw,76px); line-height:.98; }
h1 em { color:var(--terracotta); font-style:normal; }
.intro-copy { max-width:560px; margin:24px 0 0; color:#665f55; font-size:18px; line-height:1.62; }
.hero-actions { display:flex; align-items:center; gap:20px; margin-top:28px; }
.hero-actions>span { max-width:210px; color:var(--muted); font-size:12px; }
.hero-cta { display:inline-flex; align-items:center; gap:12px; min-height:50px; padding:0 18px; border-radius:13px; color:#fff; background:var(--navy); text-decoration:none; font-weight:800; box-shadow:0 12px 28px rgba(7,26,44,.16); }
.hero-cta span { color:var(--lime); }
.hero-visual { position:relative; min-height:440px; margin:0; overflow:hidden; border-radius:34px 34px 90px 34px; background:var(--navy); box-shadow:var(--shadow); }
.hero-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 46%,rgba(4,18,31,.65)); pointer-events:none; }
.hero-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 58%; }
.hero-visual figcaption { position:absolute; z-index:2; right:22px; bottom:20px; display:grid; gap:2px; min-width:210px; padding:15px 17px; border:1px solid rgba(255,255,255,.32); border-radius:17px; color:#fff; background:rgba(7,26,44,.74); box-shadow:0 10px 24px rgba(0,0,0,.22); backdrop-filter:blur(10px); }
.hero-visual figcaption span { color:var(--lime); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.hero-visual figcaption strong { font:800 20px 'Manrope',sans-serif; }
.hero-visual figcaption small { color:#d8e3e7; }

.filter-shell { position:sticky; top:10px; z-index:20; display:grid; grid-template-columns:1.35fr .78fr .86fr .76fr .9fr auto; align-items:end; gap:1px; overflow:hidden; margin-bottom:50px; padding:7px; background:var(--surface); border:1px solid var(--line); border-radius:20px; box-shadow:0 14px 40px rgba(68,45,24,.1); }
.filter-shell label { min-width:0; padding:10px 14px; border-right:1px solid #eee0cd; }
.field-label { display:block; margin-bottom:5px; color:var(--muted); font-size:12px; font-weight:700; }
.field-label strong { color:var(--navy); }
.input-row { display:flex; align-items:center; gap:8px; }
input[type='search'],select { width:100%; border:0; outline:0; color:var(--navy); background:transparent; font-weight:650; }
input[type='search']::placeholder { color:#9a8f80; font-weight:500; }
input[type='range'] { width:100%; accent-color:var(--lagoon); }
.ghost-button { align-self:stretch; min-height:54px; padding:0 19px; border:0; border-radius:13px; color:#fff; background:var(--navy); font-weight:800; cursor:pointer; }

.workspace { display:flex; flex-direction:column; gap:54px; }
.results-panel { min-width:0; }
.results-heading,.panel-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; }
.results-heading { margin-bottom:22px; }
.results-heading h2 { font-size:clamp(30px,3.3vw,46px); }
.results-note { margin:7px 0 0; color:var(--muted); font-size:14px; }
.sort-field { display:grid; gap:3px; justify-items:end; padding:10px 13px; border:1px solid var(--line); border-radius:12px; background:rgba(255,252,245,.7); color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; }
.sort-field select { width:auto; max-width:190px; color:var(--navy); font-size:13px; text-transform:none; cursor:pointer; }

.offer-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:20px; }
.offer-list.is-curated { grid-template-columns:1.35fr 1fr 1fr; }
.offer-card { position:relative; min-width:0; overflow:hidden; border:1px solid rgba(211,188,158,.75); border-radius:24px; background:var(--surface); box-shadow:0 16px 44px rgba(68,45,24,.09); cursor:pointer; outline:0; transition:transform .2s ease,box-shadow .2s ease; }
.offer-card:hover,.offer-card:focus-visible { transform:translateY(-4px); box-shadow:0 22px 58px rgba(68,45,24,.16); }
.offer-card:focus-visible,.offer-card.selected { border-color:var(--lagoon); box-shadow:0 0 0 3px rgba(20,124,118,.15),0 16px 44px rgba(68,45,24,.09); }
.offer-photo { position:relative; height:220px; margin:0; overflow:hidden; background:var(--navy); }
.offer-card.featured .offer-photo { height:286px; }
.offer-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,26,44,.08),transparent 45%,rgba(7,26,44,.18)); pointer-events:none; }
.offer-photo img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.offer-card:hover .offer-photo img { transform:scale(1.025); }
.status { display:inline-flex; align-items:center; gap:7px; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.offer-photo>.status { position:absolute; z-index:2; top:14px; left:14px; padding:7px 10px; border-radius:999px; color:#08372a; background:var(--lime); box-shadow:0 7px 18px rgba(7,26,44,.18); }
.status::before { content:''; width:6px; height:6px; border-radius:50%; background:currentColor; }
.status.expired { color:#fff; background:#a4412f; }
.offer-copy { padding:20px 20px 18px; }
.offer-card.featured .offer-copy { padding:23px 24px 20px; }
.card-kicker { margin:0 0 4px; color:#98402f; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.offer-copy h3 { margin:0; font:800 clamp(24px,2.25vw,34px)/1.1 'Manrope',sans-serif; letter-spacing:-.045em; }
.route-line { min-height:42px; margin:7px 0 0; color:var(--muted); font-size:13px; line-height:1.5; }
.tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:13px; }
.tag { padding:5px 8px; border-radius:999px; color:#3f625e; background:#e7f1ea; font-size:10px; font-weight:800; }
.offer-bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-top:19px; padding-top:16px; border-top:1px solid var(--line); }
.price strong { display:block; font:800 clamp(24px,2.2vw,32px)/1 'Manrope',sans-serif; letter-spacing:-.04em; }
.price small { display:block; margin-top:5px; color:var(--muted); font-size:11px; }
.details-link { color:var(--lagoon); font-size:12px; font-weight:800; white-space:nowrap; }
.price-proof { display:flex; align-items:center; gap:6px; margin:14px 0 0; color:#56716a; font-size:11px; }
.price-proof span { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; color:#fff; background:var(--lagoon); }
.empty { grid-column:1/-1; padding:50px 24px; border:1px dashed var(--line); border-radius:22px; color:var(--muted); background:var(--surface); text-align:center; }
.empty button { margin-top:14px; padding:9px 13px; border:0; border-radius:10px; color:#fff; background:var(--navy); font-weight:800; cursor:pointer; }
.results-footer { display:flex; justify-content:center; padding-top:24px; }
.show-all { min-height:52px; padding:0 22px; border:1px solid var(--navy); border-radius:14px; color:var(--navy); background:transparent; font-weight:800; cursor:pointer; transition:.18s ease; }
.show-all:hover { color:#fff; background:var(--navy); }
.show-all span { margin-left:10px; color:var(--terracotta); }

.map-panel { overflow:hidden; border-radius:30px; color:#fff; background:var(--navy); box-shadow:0 22px 62px rgba(7,26,44,.19); }
.panel-heading { align-items:center; padding:26px 30px 22px; }
.panel-heading .eyebrow { color:#71d5c7; }
.panel-heading h2 { font-size:clamp(27px,3vw,40px); }
.panel-heading p:last-child { margin:7px 0 0; color:#aebfc9; font-size:13px; }
.map-count { padding:8px 12px; border-radius:999px; color:var(--lime); background:var(--navy-2); font-size:13px; font-weight:800; white-space:nowrap; }
.map-stage { position:relative; display:grid; place-items:center; overflow:hidden; border-block:1px solid rgba(110,157,145,.18); background:radial-gradient(circle at 63% 38%,rgba(20,124,118,.3),transparent 32rem),#081f33; }
.map-stage::before { content:''; position:absolute; inset:0; opacity:.1; background-image:linear-gradient(#9bb8ba 1px,transparent 1px),linear-gradient(90deg,#9bb8ba 1px,transparent 1px); background-size:40px 40px; }
.map-canvas { position:relative; width:min(1040px,100%); aspect-ratio:2/1; }
.world-map { position:absolute; inset:2%; width:96%; height:96%; object-fit:contain; filter:drop-shadow(0 13px 22px rgba(0,0,0,.18)); }
.map-label { position:absolute; z-index:2; padding:4px 6px; border:0; border-radius:6px; color:#8aacae; background:rgba(4,21,34,.62); font-size:9px; font-weight:800; letter-spacing:.14em; cursor:pointer; }
.map-label:not(.map-label-static):hover,.map-label.is-active { color:var(--lime); background:#10334a; }
.map-label-static { cursor:default; pointer-events:none; }
.label-na{left:18%;top:29%}.label-sa{left:27%;top:62%}.label-eu{left:48%;top:21%}.label-af{left:49%;top:55%}.label-as{left:71%;top:29%}.label-au{left:84%;top:75%}
.map-pin { position:absolute; z-index:3; min-width:50px; height:30px; padding:0 8px; border:2px solid rgba(255,255,255,.9); border-radius:999px; color:var(--navy); background:var(--lime); box-shadow:0 6px 16px rgba(0,0,0,.28); transform:translate(-50%,-50%); cursor:pointer; transition:.18s ease; }
.map-pin::after { content:''; position:absolute; left:50%; bottom:-5px; width:7px; height:7px; border-right:2px solid #fff; border-bottom:2px solid #fff; background:inherit; transform:translateX(-50%) rotate(45deg); }
.map-pin span { position:relative; z-index:1; font-size:10px; font-weight:900; }
.map-pin:hover,.map-pin.active { z-index:5; transform:translate(-50%,-50%) scale(1.12); outline:2px solid var(--lime); outline-offset:3px; }
.map-pin.expired { color:#fff; background:#5e554c; border-color:#d8c8b2; }
.pin-lis{left:46%;top:27.5%}.pin-pal{left:52.2%;top:33.5%}.pin-tia{left:55.5%;top:25%}.pin-rek{left:43.8%;top:15%}.pin-mar{left:49.2%;top:40%}.pin-amm{left:62.5%;top:32%}.pin-cai{left:57.2%;top:40%}.pin-bkk{left:77.7%;top:43%}.pin-tyo{left:88.6%;top:30%}.pin-tbs{left:63%;top:25%}.pin-nyc{left:29.2%;top:28%}.pin-fnc{left:42.5%;top:35%}
.map-pan-hint { display:none; }
.map-legend { display:flex; gap:20px; align-items:center; min-height:50px; padding:0 30px; color:#c8d5dc; background:#091f32; font-size:12px; }
.map-legend span { display:flex; align-items:center; gap:7px; }
.dot { width:8px; height:8px; border-radius:50%; background:var(--lime); }
.dot.expired { background:#9b9183; }
.map-hint { margin-left:auto; color:#849aa6; }

.price-guide { display:grid; grid-template-columns:.78fr 1.22fr; gap:50px; margin-top:12px; padding:44px 46px; border-radius:30px; color:#fff; background:linear-gradient(130deg,var(--navy-2),var(--navy)); box-shadow:0 20px 55px rgba(7,26,44,.15); }
.price-guide .eyebrow { color:#71d5c7; }
.price-guide>div>h2 { max-width:440px; font-size:clamp(28px,3vw,42px); line-height:1.1; }
.guide-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.guide-steps article { padding-left:18px; border-left:1px solid #385064; }
.guide-steps strong { color:var(--lime); font:800 13px 'Manrope',sans-serif; }
.guide-steps h3 { margin:15px 0 7px; font-size:16px; }
.guide-steps p { margin:0; color:#b9c7cf; font-size:14px; line-height:1.55; }

footer { display:flex; align-items:center; gap:32px; padding:34px clamp(20px,4vw,64px); color:#c5d0d7; background:#04121f; }
footer p { width:min(620px,100%); margin:0 auto; font-size:13px; line-height:1.55; }
footer>a:last-child { color:var(--lime); font-size:13px; font-weight:700; text-decoration:none; }
.footer-brand { min-width:max-content; }

dialog { width:min(980px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:0; overflow:hidden auto; border:0; border-radius:26px; color:var(--navy); background:var(--canvas); box-shadow:0 30px 100px rgba(0,0,0,.4); }
dialog::backdrop { background:rgba(2,14,24,.72); backdrop-filter:blur(5px); }
.dialog-shell { position:relative; }
.dialog-close { position:absolute; z-index:5; top:16px; right:16px; display:grid; place-items:center; width:42px; height:42px; padding:0; border:1px solid rgba(255,255,255,.35); border-radius:50%; color:#fff; background:rgba(7,26,44,.5); font-size:27px; line-height:1; cursor:pointer; backdrop-filter:blur(8px); }
.dialog-close:hover { background:var(--navy); }
.dialog-visual { position:relative; height:290px; overflow:hidden; color:#fff; background:var(--navy); }
.dialog-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,18,31,.82),rgba(4,18,31,.08) 67%),linear-gradient(0deg,rgba(4,18,31,.55),transparent 62%); }
.dialog-visual img { width:100%; height:100%; object-fit:cover; }
.dialog-visual>.status { position:absolute; z-index:2; top:22px; left:26px; padding:7px 10px; border-radius:999px; color:#08372a; background:var(--lime); }
.dialog-visual>.status.expired { color:#fff; background:#a4412f; }
.dialog-visual>div { position:absolute; z-index:2; left:28px; bottom:26px; }
.dialog-visual p { margin:0 0 4px; color:#d7e2e8; font-size:14px; }
.dialog-visual h2 { font-size:clamp(38px,5vw,62px); }
.dialog-content { padding:28px; }
.dialog-summary { position:relative; z-index:3; display:grid; grid-template-columns:repeat(4,1fr); margin-top:-50px; border:1px solid var(--line); border-radius:17px; background:var(--surface); box-shadow:0 16px 36px rgba(68,45,24,.13); }
.dialog-summary>div { display:grid; gap:5px; min-width:0; padding:18px; border-right:1px solid var(--line); }
.dialog-summary>div:last-child { border-right:0; }
.dialog-summary span { color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.dialog-summary strong { overflow-wrap:anywhere; font-size:15px; }
.dialog-summary .summary-price { border-radius:0 16px 16px 0; background:#e9f4ed; }
.dialog-summary .summary-price strong { color:#0d6c60; font:800 22px 'Manrope',sans-serif; }
.dialog-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:26px; margin-top:30px; }
.breakdown { display:grid; gap:10px; }
.breakdown-row { display:grid; grid-template-columns:38px 1fr auto; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--line); }
.breakdown-row:last-child { border-bottom:0; }
.breakdown-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; color:var(--lagoon); background:#e7f1ea; font-size:18px; }
.breakdown-row strong { display:block; font-size:14px; }
.breakdown-row small { color:var(--muted); font-size:12px; }
.breakdown-row>span:last-child { font-weight:800; }
.history-card { padding:20px; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
.history-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.history-heading h3 { margin:0; font-size:16px; }
.history-heading>span { padding:6px 8px; border-radius:7px; color:#0d6c60; background:#e0f3e9; font-size:12px; font-weight:800; }
.history-heading>span.up { color:#ad482f; background:#fee7df; }
.price-chart { min-height:176px; margin-top:16px; }
.price-chart svg { display:block; width:100%; height:auto; overflow:visible; }
.price-chart .grid { stroke:#eadcc9; stroke-width:1; }
.price-chart .area { fill:url(#chartGradient); }
.price-chart .line { fill:none; stroke:var(--lagoon); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.price-chart .point { fill:var(--surface); stroke:var(--lagoon); stroke-width:3; }
.price-chart .point.current { fill:var(--lime); stroke:var(--navy); }
.price-chart text { fill:#827565; font:10px 'DM Sans',sans-serif; }
.price-insight { margin:7px 0 0; color:#665f55; font-size:13px; line-height:1.5; }
.dialog-note { display:flex; gap:11px; align-items:flex-start; margin-top:22px; padding:13px 15px; border-radius:12px; color:#665f55; background:#f1e3cf; font-size:13px; }
.dialog-note>span { display:grid; place-items:center; flex:0 0 22px; height:22px; border-radius:50%; color:#fff; background:var(--terracotta); font-weight:800; }
.dialog-note p { margin:1px 0 0; }
.dialog-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:20px; }
.secondary-button,.primary-button { min-height:48px; padding:0 18px; border-radius:12px; font-weight:800; cursor:pointer; }
.secondary-button { border:1px solid var(--line); color:var(--navy); background:var(--surface); }
.primary-button { border:0; color:var(--navy); background:var(--lime); }
.primary-button:disabled { opacity:.7; cursor:not-allowed; }
.primary-button span { margin-left:7px; color:#567000; font-size:10px; text-transform:uppercase; }

@media (max-width:1180px) {
  .filter-shell { grid-template-columns:1.25fr repeat(3,.8fr); }
  .filter-shell label:nth-of-type(5) { grid-column:1/4; border-top:1px solid #eee0cd; }
  .ghost-button { grid-column:4; }
  .offer-list,.offer-list.is-curated { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .offer-list.is-curated .offer-card.featured { grid-column:1/-1; display:grid; grid-template-columns:1.28fr 1fr; }
  .offer-list.is-curated .offer-card.featured .offer-photo { height:100%; min-height:380px; }
}

@media (max-width:900px) {
  .intro { grid-template-columns:1fr; padding-top:34px; }
  .intro-content { padding:0; }
  .hero-visual { min-height:380px; }
  .filter-shell { grid-template-columns:1.4fr 1fr 1fr; margin-bottom:42px; }
  .filter-shell label:nth-of-type(4),.filter-shell label:nth-of-type(5) { grid-column:auto; border-top:1px solid #eee0cd; }
  .ghost-button { grid-column:auto; }
  .price-guide { grid-template-columns:1fr; gap:30px; }
}

@media (max-width:720px) {
  .topbar { gap:16px; padding:12px 18px; }
  .topbar nav { display:none; }
  .drop-time { max-width:148px; line-height:1.25; }
  main { padding-inline:16px; }
  .intro { gap:24px; padding:28px 0; }
  h1 { font-size:clamp(40px,12vw,58px); }
  .intro-copy { margin-top:18px; font-size:16px; }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .hero-visual { min-height:330px; border-radius:24px 24px 58px 24px; }
  .filter-shell { position:relative; top:auto; grid-template-columns:1fr 1fr; border-radius:17px; }
  .filter-shell .search-field { grid-column:1/-1; }
  .filter-shell label:nth-of-type(3) { border-top:1px solid #eee0cd; }
  .filter-shell label:nth-of-type(5) { grid-column:auto; }
  .ghost-button { min-height:48px; }
  .workspace { gap:42px; }
  .results-heading { align-items:flex-start; }
  .results-heading h2 { font-size:32px; }
  .offer-list,.offer-list.is-curated { grid-template-columns:1fr; }
  .offer-list.is-curated .offer-card.featured { grid-column:auto; display:block; }
  .offer-list.is-curated .offer-card.featured .offer-photo { min-height:0; height:260px; }
  .offer-list.is-curated .offer-card:not(.featured) { display:grid; grid-template-columns:128px 1fr; }
  .offer-list.is-curated .offer-card:not(.featured) .offer-photo { height:100%; min-height:270px; }
  .offer-copy { padding:17px; }
  .offer-copy h3 { font-size:25px; }
  .panel-heading { align-items:flex-start; padding:22px 20px 18px; }
  .panel-heading p:last-child { display:none; }
  .map-panel { border-radius:22px; }
  .map-label { display:none; }
  .map-stage.is-dense { display:block; overflow-x:auto; overflow-y:hidden; scrollbar-color:#4c756f #091f32; scrollbar-width:thin; }
  .map-canvas.is-dense { width:820px; min-width:820px; }
  .map-canvas.is-dense .pin-rek{left:43%;top:13%}.map-canvas.is-dense .pin-fnc{left:40%;top:36%}.map-canvas.is-dense .pin-lis{left:45%;top:27%}.map-canvas.is-dense .pin-pal{left:52%;top:34%}.map-canvas.is-dense .pin-tia{left:57%;top:23%}.map-canvas.is-dense .pin-mar{left:46%;top:43%}.map-canvas.is-dense .pin-cai{left:55%;top:45%}.map-canvas.is-dense .pin-amm{left:62%;top:37%}.map-canvas.is-dense .pin-tbs{left:64%;top:22%}
  .map-canvas:not(.is-dense) .pin-rek { left:43%; top:9%; }
  .map-canvas:not(.is-dense) .pin-mar { left:50%; top:46%; }
  .map-stage.is-dense .map-pan-hint { position:sticky; z-index:8; left:calc(100% - 116px); bottom:8px; display:inline-block; margin:0 8px 8px 0; padding:5px 8px; border-radius:999px; color:#fff; background:rgba(7,26,44,.88); font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; pointer-events:none; }
  .map-pin { min-width:43px; height:28px; padding:0 6px; border-width:1.5px; }
  .map-pin span { font-size:8px; }
  .map-pin::after { bottom:-4px; width:5px; height:5px; border-width:0 1.5px 1.5px 0; }
  .map-legend { padding:0 20px; }
  .map-hint { display:none; }
  .price-guide { padding:32px 24px; }
  .guide-steps { grid-template-columns:1fr; }
  .guide-steps article { padding:4px 0 4px 16px; }
  footer { align-items:flex-start; flex-direction:column; gap:18px; }
  .dialog-visual { height:230px; }
  .dialog-content { padding:18px; }
  .dialog-summary { grid-template-columns:1fr 1fr; margin-top:-34px; }
  .dialog-summary>div:nth-child(2) { border-right:0; }
  .dialog-summary>div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .dialog-summary .summary-price { border-radius:0 0 16px 0; }
  .dialog-grid { grid-template-columns:1fr; }
  .dialog-actions { flex-direction:column; }
  .dialog-actions button { width:100%; }
}

@media (max-width:480px) {
  .drop-time { font-size:11px; }
  .hero-visual { min-height:290px; }
  .hero-visual figcaption { right:14px; bottom:14px; min-width:190px; }
  .filter-shell { grid-template-columns:1fr; }
  .filter-shell .search-field,.filter-shell label:nth-of-type(5) { grid-column:auto; }
  .filter-shell label { border-right:0; border-bottom:1px solid #eee0cd; }
  .results-heading { flex-direction:column; gap:14px; }
  .sort-field { justify-items:start; }
  .offer-list.is-curated .offer-card:not(.featured) { grid-template-columns:108px 1fr; }
  .offer-list.is-curated .offer-card:not(.featured) .offer-photo { min-height:292px; }
  .details-link { display:none; }
  .panel-heading h2 { font-size:25px; }
  .map-count { font-size:11px; }
  .dialog-summary { grid-template-columns:1fr; }
  .dialog-summary>div { border-right:0; border-bottom:1px solid var(--line)!important; }
  .dialog-summary>div:last-child { border-bottom:0!important; }
  .dialog-summary .summary-price { border-radius:0 0 16px 16px; }
}

@media (prefers-reduced-motion:reduce) {
  * { scroll-behavior:auto!important; transition:none!important; }
}
