/*
  Design tokens follow production marketplace conventions (Airbnb / Booking / Uber web):
  neutral palette with one accent reserved for the primary action, system type, 8pt spacing,
  Material 3 motion (standard + emphasized easing, 150–400ms).
*/
:root{
  --ink:#222222; --ink-2:#6a6a6a; --ink-3:#929292;
  --line:#dddddd; --line-2:#ebebeb; --surface:#f7f7f7; --white:#ffffff;
  --accent:#d5460e; --accent-hover:#b93c0b;
  --star:#222222;
  --r-sm:8px; --r:12px; --r-lg:16px; --r-xl:24px; --pill:999px;
  --shadow-pill:0 3px 12px rgb(0 0 0/.1);
  --shadow-pop:0 8px 28px rgb(0 0 0/.18);
  --shadow-card:0 6px 20px rgb(0 0 0/.12);
  --ease:cubic-bezier(.2,0,0,1);
  --ease-in:cubic-bezier(.05,.7,.1,1);
  --ease-out:cubic-bezier(.3,0,.8,.15);
  --t-fast:150ms; --t:250ms; --t-slow:400ms;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI Variable Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --pad:24px; --header:80px;
}

@media (min-width:744px){:root{--pad:40px}}
@media (min-width:1128px){:root{--pad:80px}}

*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header) + 72px);width:100%;max-width:100%;overflow-x:hidden;position:relative;touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch;overscroll-behavior-x:none}
body{font-family:var(--font);font-size:16px;line-height:1.5;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;width:100%;max-width:100%;overflow-x:hidden;position:relative;touch-action:pan-y pinch-zoom;overscroll-behavior-x:none}
img{display:block;max-width:100%}
button,input,select{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer;text-align:inherit}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none;padding:0}
h1,h2,h3{font-weight:600;letter-spacing:-.01em}
hr{border:0;border-top:1px solid var(--line-2);margin:8px 0}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:16px;top:-48px;z-index:100;background:var(--ink);color:#fff;padding:8px 16px;border-radius:var(--r-sm)}
.skip-link:focus{top:16px}
.icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;display:block}
.wrap{max-width:calc(1280px + var(--pad)*2);margin-inline:auto;padding-inline:var(--pad)}
.sub{color:var(--ink-2);font-size:14px}
.h2{font-size:22px;line-height:26px;margin-bottom:24px}
@media (min-width:950px){.h2{font-size:26px;line-height:30px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:1ms!important;animation-duration:1ms!important}}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 24px;border-radius:var(--r-sm);font-size:16px;font-weight:600;transition:background var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}
.btn:active{transform:scale(.96)}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-hover)}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:#000}
.btn-outline{border:1px solid var(--ink);background:#fff}
.btn-outline:hover{background:var(--surface)}
.btn-sm{height:40px;padding:0 16px;font-size:14px}
.btn-block{width:100%}
.round-btn{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;transition:background var(--t-fast) var(--ease)}
.round-btn:hover{background:var(--surface)}
.round-btn:disabled{opacity:.25;cursor:not-allowed;background:none}
.text-btn{height:40px;padding:0 12px;border-radius:var(--pill);font-size:14px;font-weight:500;transition:background var(--t-fast) var(--ease)}
.text-btn:hover{background:var(--surface)}
.link-btn{font-weight:600;text-decoration:underline;text-underline-offset:2px;font-size:inherit}

/* Header */
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.94);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,0.06);box-shadow:0 1px 3px rgba(0,0,0,0.02),0 4px 16px rgba(0,0,0,0.02);transition:all var(--t) var(--ease)}
.header.compact{border-color:var(--line-2);box-shadow:0 4px 20px rgba(0,0,0,0.06)}
.header-inner{position:relative;height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:18px}
.logo{display:inline-flex;align-items:center;line-height:1;text-decoration:none;font-size:24px;font-weight:700;letter-spacing:-.04em;color:var(--accent);flex-shrink:0}
.logo-img{height:32px;width:auto;display:block;object-fit:contain;transition:transform var(--t) var(--ease)}
.logo:hover .logo-img{transform:scale(1.02)}
.nav{display:flex;align-items:center;gap:4px;margin-left:14px;flex-shrink:0;transition:opacity var(--t) var(--ease),transform var(--t) var(--ease)}
.nav a{height:38px;display:inline-flex;align-items:center;padding:0 12px;border-radius:var(--pill);font-size:13.5px;font-weight:550;letter-spacing:-.01em;white-space:nowrap;color:#4b5563;text-decoration:none;transition:all var(--t-fast) var(--ease)}
.nav a:hover{background:rgba(0,0,0,0.045);color:#111827}
.nav-zero-tag{display:inline-flex;align-items:center;font-size:10px;font-weight:750;letter-spacing:.02em;padding:2px 6px;border-radius:999px;background:rgba(16,185,129,0.12);color:#047857;margin-left:5px;line-height:1;border:1px solid rgba(16,185,129,0.25)}
.nav-voice-link{height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border-radius:var(--pill);font-size:13px;font-weight:650;white-space:nowrap;color:#c93b04!important;background:linear-gradient(135deg,rgba(213,70,14,.08) 0%,rgba(245,158,11,.12) 100%);border:1px solid rgba(213,70,14,.28);text-decoration:none;transition:all var(--t-fast) var(--ease);box-shadow:0 1px 3px rgba(213,70,14,.08)}
.nav-voice-link:hover{background:linear-gradient(135deg,rgba(213,70,14,.15) 0%,rgba(245,158,11,.2) 100%)!important;border-color:rgba(213,70,14,.45)!important;color:#b03200!important;transform:translateY(-1px);box-shadow:0 4px 12px rgba(213,70,14,.16)}
.nav-voice-link .icon{width:15px;height:15px;stroke:currentColor;stroke-width:2.2;flex-shrink:0}
.nav-voice-text{white-space:nowrap}
.nav-voice-ai-badge{display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border-radius:999px;background:#d5460e;color:#fff;line-height:1;flex-shrink:0}
.nav-voice-pulse-dot{width:6px;height:6px;border-radius:50%;background:#10b981;box-shadow:0 0 0 0 rgba(16,185,129,.7);animation:voice-nav-pulse 2s infinite;flex-shrink:0}
@keyframes voice-nav-pulse{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(16,185,129,.7)}70%{transform:scale(1);box-shadow:0 0 0 6px rgba(16,185,129,0)}100%{transform:scale(.95);box-shadow:0 0 0 0 rgba(16,185,129,0)}}
.header-voice-btn{display:none;align-items:center;gap:6px;height:38px;padding:0 12px;border-radius:var(--pill);font-size:13px;font-weight:650;text-decoration:none;background:linear-gradient(135deg,rgba(213,70,14,.1) 0%,rgba(245,158,11,.14) 100%);border:1px solid rgba(213,70,14,.3);color:#c93b04;transition:all var(--t-fast) var(--ease)}
.header-voice-btn:hover{background:linear-gradient(135deg,rgba(213,70,14,.18) 0%,rgba(245,158,11,.22) 100%);border-color:rgba(213,70,14,.5);color:#b03200;transform:translateY(-1px);box-shadow:0 2px 8px rgba(213,70,14,.14)}
.header-voice-btn .icon{width:15px;height:15px;stroke:currentColor}
.header-action-btn{height:38px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border-radius:var(--pill);font-size:13px;font-weight:550;white-space:nowrap;color:#4b5563;background:transparent;border:1px solid transparent;cursor:pointer;transition:all var(--t-fast) var(--ease)}
.header-action-btn:hover{background:rgba(0,0,0,0.045);color:#111827}
.header-action-btn .icon{width:15px;height:15px;stroke:currentColor}
/* Quick Book Navbar & Header Button */
.nav-quick-book{height:38px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border-radius:var(--pill);font-size:13px;font-weight:700;white-space:nowrap;color:#c2410c!important;background:rgba(234,88,12,0.1);border:1px solid rgba(234,88,12,0.3);text-decoration:none;transition:all var(--t-fast) var(--ease)}
.nav-quick-book .icon{width:14px;height:14px;fill:#ea580c;stroke:#ea580c;flex-shrink:0}
.nav-quick-book:hover{background:linear-gradient(180deg,#ea580c 0%,#c2410c 100%)!important;color:#ffffff!important;border-color:#c2410c;transform:translateY(-1px);box-shadow:0 3px 10px rgba(234,88,12,0.35)}
.nav-quick-book:hover .icon{fill:#ffffff;stroke:#ffffff}
.header-quickbook-btn{display:none;align-items:center;gap:6px;height:38px;padding:0 14px;border-radius:var(--pill);font-size:13px;font-weight:700;white-space:nowrap;color:#ffffff!important;background:linear-gradient(180deg,#ea580c 0%,#c2410c 100%)!important;border:1px solid rgba(255,255,255,0.4)!important;box-shadow:0 2px 8px rgba(234,88,12,0.32),inset 0 1px 0.5px rgba(255,255,255,0.6)!important;text-decoration:none;cursor:pointer;transition:all var(--t-fast) var(--ease)}
.header-quickbook-btn:hover{background:linear-gradient(180deg,#f97316 0%,#ea580c 100%)!important;transform:translateY(-1px);box-shadow:0 4px 14px rgba(234,88,12,0.45)!important;color:#ffffff!important}
.header-quickbook-btn .icon{width:14px;height:14px;fill:#ffffff;stroke:#ffffff;flex-shrink:0}
@media (max-width:1127px){.header-quickbook-btn{display:inline-flex}}
@media (max-width:743px){.header-quickbook-btn{height:34px;padding:0 10px;font-size:12px}}
@media (max-width:480px){.header-quickbook-label{display:none}.header-quickbook-btn{width:34px;height:34px;padding:0;justify-content:center;border-radius:50%}}
.header.compact .nav{opacity:0;transform:translateY(-8px);pointer-events:none}
.mini-search{position:absolute;left:50%;top:50%;display:flex;align-items:center;gap:12px;height:48px;padding:0 8px 0 24px;border:1px solid var(--line);border-radius:var(--pill);box-shadow:0 1px 2px rgb(0 0 0/.08),0 4px 12px rgb(0 0 0/.05);font-size:14px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.92) translateY(8px);transition:opacity var(--t) var(--ease),transform var(--t-slow) var(--ease-in),box-shadow var(--t-fast)}
.mini-search:hover{box-shadow:var(--shadow-pill)}
.header.compact .mini-search{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}
.mini-sep{width:1px;height:24px;background:var(--line)}
.mini-go{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff}
.mini-go .icon{width:12px;height:12px;stroke-width:3}
.header-end{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0}
.header-locale-capsule{display:inline-flex;align-items:center;height:38px;background:rgba(0,0,0,0.035);border:1px solid rgba(0,0,0,0.08);border-radius:var(--pill);padding:2px;box-shadow:inset 0 1px 2px rgba(0,0,0,0.02);transition:all var(--t-fast) var(--ease)}
.header-locale-capsule:hover{background:rgba(0,0,0,0.05);border-color:rgba(0,0,0,0.14)}
.locale-seg-btn{height:32px;display:inline-flex;align-items:center;gap:5px;padding:0 10px;border-radius:var(--pill);font-size:12.5px;font-weight:600;white-space:nowrap;color:#4b5563;background:transparent;border:none;cursor:pointer;transition:all var(--t-fast) var(--ease);min-height:unset!important}
.locale-seg-btn:hover{background:#fff;color:#111827;box-shadow:0 1px 3px rgba(0,0,0,0.08)}
.locale-seg-btn .icon{width:14px;height:14px;stroke:currentColor}
.locale-divider{width:1px;height:16px;background:rgba(0,0,0,0.1);flex-shrink:0}
.menu-wrap{position:relative}
.account-btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border:1px solid rgba(0,0,0,0.1);border-radius:var(--pill);background:#fff;font-size:13px;font-weight:600;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,0.04);transition:all .18s var(--ease);cursor:pointer}
.account-btn:hover,.account-btn[aria-expanded=true]{border-color:rgba(0,0,0,0.2);box-shadow:0 2px 8px rgba(0,0,0,0.08);background:#f9fafb}
.account-btn .icon{width:15px;height:15px;stroke:currentColor}
.menu{position:absolute;right:0;top:calc(100% + 8px);width:250px;background:#fff;border-radius:var(--r);box-shadow:var(--shadow-pop);padding:8px 0;z-index:60;transform-origin:top right;animation:menu-in var(--t) var(--ease-in);border:1px solid rgba(0,0,0,0.06)}
@keyframes menu-in{from{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:none}}
.menu [role=menuitem]{display:block;width:100%;padding:12px 16px;font-size:14px;text-align:left}
.menu [role=menuitem]:hover,.menu [role=menuitem]:focus-visible{background:var(--surface);outline:none}
.menu strong{font-weight:600}
.menu-backdrop{display:none}
.mobile-drawer-header{display:none}
.mobile-drawer-section-title{display:none}
.mobile-drawer-prefs{display:none}
.mobile-drawer-footer{display:none}
.drawer-nav-item .icon{width:16px;height:16px;stroke:currentColor;margin-right:10px;flex-shrink:0}
html[dir="rtl"] .drawer-nav-item .icon{margin-right:0;margin-left:10px}

/* Hero */
.hero{padding-top:8px}
.hero-media{position:relative;border-radius:var(--r-xl);overflow:hidden;height:clamp(360px,44vw,540px);background:#1b1b1b}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:70% 55%;animation:hero-in 1.2s var(--ease-in) both}
@keyframes hero-in{from{transform:scale(1.04);opacity:.6}to{transform:none;opacity:1}}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(20deg,rgb(0 0 0/.62) 0%,rgb(0 0 0/.25) 40%,rgb(0 0 0/0) 65%)}
.hero-text{position:absolute;left:0;bottom:0;z-index:1;padding:0 48px 96px;color:#fff;max-width:640px}
.hero-text h1{font-size:clamp(32px,4vw,48px);line-height:1.08;letter-spacing:-.02em}
.hero-text p{font-size:18px;line-height:1.45;margin-top:12px;color:rgb(255 255 255/.9)}

/* Search pill */
.search{position:relative;z-index:40;max-width:880px;margin:-40px auto 0}
.seg-wrap{display:grid;grid-template-columns:1.25fr auto 1fr auto 1fr auto;align-items:center;height:72px;background:#fff;border:1px solid var(--line);border-radius:var(--pill);box-shadow:var(--shadow-pill);transition:background var(--t) var(--ease)}
.search.active .seg-wrap{background:var(--surface);border-color:var(--line-2)}
.seg{height:100%;display:flex;flex-direction:column;justify-content:center;padding:0 32px;border-radius:var(--pill);min-width:0;transition:background var(--t-fast) var(--ease),box-shadow var(--t) var(--ease)}
.seg:hover{background:var(--line-2)}
.seg[aria-expanded=true]{background:#fff;box-shadow:var(--shadow-card)}
.seg-label{font-size:12px;font-weight:600;line-height:16px}
.seg-value{font-size:14px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}
.seg-value.set{color:var(--ink);font-weight:500}
.seg-div{width:1px;height:32px;background:var(--line);transition:opacity var(--t-fast)}
.seg:hover+.seg-div,.seg-div:has(+.seg:hover),.seg[aria-expanded=true]+.seg-div,.seg-div:has(+.seg[aria-expanded=true]){opacity:0}
.search-go{display:flex;align-items:center;gap:8px;height:56px;margin-right:8px;padding:0 24px 0 20px;border-radius:var(--pill);background:var(--accent);color:#fff;font-weight:600;transition:background var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}
.search-go:hover{background:var(--accent-hover)}
.search-go:active{transform:scale(.96)}
.search-go .icon{width:18px;height:18px;stroke-width:2.5}
.search-note{text-align:center;font-size:14px;color:var(--ink-2);margin-top:16px}

.pop{position:absolute;top:calc(100% + 12px);background:#fff;border-radius:var(--r-xl);box-shadow:var(--shadow-pop);padding:24px;animation:pop-in var(--t) var(--ease-in);transform-origin:top center}
@keyframes pop-in{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}
.pop-where{left:0;width:420px;padding:16px 8px}
.pop-title{font-size:12px;font-weight:600;color:var(--ink-2);padding:4px 16px 8px}
.airport-list li{display:flex;align-items:center;gap:16px;padding:10px 16px;border-radius:var(--r);cursor:pointer;transition:background var(--t-fast) var(--ease)}
.airport-list li:hover,.airport-list li.focus{background:var(--surface)}
.airport-list li[aria-selected=true] .ap-code{background:var(--ink);color:#fff}
.ap-code{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--r);background:var(--line-2);font-size:13px;font-weight:600;letter-spacing:.02em;flex-shrink:0;transition:background var(--t-fast),color var(--t-fast)}
.airport-list b{display:block;font-size:15px;font-weight:500}
.airport-list small{display:block;font-size:13px;color:var(--ink-2)}
.pop-dates{left:0;right:0;padding:24px 32px 16px}
.cal-head{position:absolute;left:24px;right:24px;top:18px;display:flex;justify-content:space-between;pointer-events:none}
.cal-head button{pointer-events:auto}
.cal-head .icon{width:16px;height:16px}
.cal{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.month h3{text-align:center;font-size:16px;line-height:28px;margin-bottom:16px}
.dow,.days{display:grid;grid-template-columns:repeat(7,1fr)}
.dow span{text-align:center;font-size:12px;font-weight:600;color:var(--ink-2);padding-bottom:8px}
.day{position:relative;height:44px;display:grid;place-items:center;font-size:14px;font-weight:500}
.day button{position:relative;z-index:1;width:44px;height:44px;border-radius:50%;border:1.5px solid transparent;transition:border-color var(--t-fast),background var(--t-fast),color var(--t-fast)}
.day button:hover:not(:disabled){border-color:var(--ink)}
.day button:disabled{color:#c4c4c4;text-decoration:line-through;cursor:default}
.day.in::before,.day.start.has-end::before,.day.end::before{content:"";position:absolute;inset:0;background:var(--surface)}
.day.start.has-end::before{left:50%}
.day.end::before{right:50%}
.day.start button,.day.end button{background:var(--ink);color:#fff;border-color:var(--ink)}
.day.today button{font-weight:700}
.cal-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line-2);font-size:14px}
.cal-foot label{display:flex;align-items:center;gap:8px;color:var(--ink-2)}
.cal-foot select{height:36px;border:1px solid var(--line);border-radius:var(--r-sm);padding:0 8px;background:#fff;color:var(--ink);font-weight:500}
.cal-sum{margin-left:auto;color:var(--ink-2)}

/* Results */
.results{padding-top:56px}
.results-top h2{font-size:22px;line-height:26px}
.results-top .sub{margin-top:4px}
.filterbar{position:sticky;top:var(--header);z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;margin:16px calc(var(--pad)*-1) 24px;padding:0 var(--pad);border-bottom:1px solid var(--line-2)}
.typetabs{position:relative;display:flex;gap:32px;overflow-x:auto;scrollbar-width:none}
.typetabs::-webkit-scrollbar{display:none}
.typetabs [role=tab]{height:56px;font-size:14px;font-weight:500;color:var(--ink-2);white-space:nowrap;transition:color var(--t-fast)}
.typetabs [role=tab]:hover{color:var(--ink)}
.typetabs [role=tab][aria-selected=true]{color:var(--ink);font-weight:600}
.tab-ink{position:absolute;bottom:0;left:0;height:2px;background:var(--ink);width:0;transition:transform var(--t) var(--ease),width var(--t) var(--ease)}
.filter-end{display:flex;gap:8px;flex-shrink:0}
.chip{display:inline-flex;align-items:center;height:36px;padding:0 16px;border:1px solid var(--line);border-radius:var(--pill);font-size:14px;white-space:nowrap;background:#fff;transition:border-color var(--t-fast),background var(--t-fast),transform var(--t-fast) var(--ease)}
.chip:hover{border-color:var(--ink)}
.chip:active{transform:scale(.96)}
.chip[aria-pressed=true]{border:2px solid var(--ink);background:var(--surface);padding:0 15px}
.chip-select{padding:0}
.chip-select select{height:100%;border:0;background:transparent;padding:0 32px 0 16px;appearance:none;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23222' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 12px center/12px no-repeat;border-radius:var(--pill)}

.grid{display:grid;grid-template-columns:1fr;gap:40px 24px}
@media (min-width:550px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:950px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1128px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.card{position:relative;cursor:pointer}
.card-img{position:relative;aspect-ratio:20/12;border-radius:var(--r);overflow:hidden;background:var(--surface)}
.card-img .reference-piece{width:100%;height:100%}
.card-tag{position:absolute;left:12px;top:12px;background:#fff;border-radius:var(--pill);padding:4px 10px;font-size:12px;font-weight:600;box-shadow:0 1px 3px rgb(0 0 0/.12)}
.heart{position:absolute;right:8px;top:8px;z-index:2;display:grid;place-items:center;width:40px;height:40px;transition:transform var(--t-fast) var(--ease)}
.heart:active{transform:scale(.85)}
.heart .icon{width:24px;height:24px;fill:rgb(0 0 0/.45);stroke:#fff;stroke-width:2}
.heart[aria-pressed=true] .icon{fill:var(--accent);animation:beat var(--t-slow) var(--ease-in)}
@keyframes beat{0%{transform:scale(.7)}60%{transform:scale(1.12)}100%{transform:scale(1)}}
.card-body{margin-top:12px;font-size:15px;line-height:20px}
.card-row{display:flex;justify-content:space-between;gap:8px}
.card-name{font-weight:600;text-align:left}
.card-name::after{content:"";position:absolute;inset:0;z-index:1}
.card-rate{display:flex;align-items:center;gap:4px;font-size:14px;white-space:nowrap}
.card-rate .icon{width:12px;height:12px;fill:currentColor;stroke:none}
.card-meta{color:var(--ink-2);font-size:15px}
.card-price{margin-top:6px}
.card-price b{font-weight:600}
.card-price u{color:var(--ink-2);text-underline-offset:2px}
.empty{padding:64px 0;text-align:center;display:grid;justify-items:center;gap:8px}
.empty h3{font-size:22px}
.empty .btn{margin-top:16px}

/* Blocks */
.block{padding-top:80px}
.types{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.types::-webkit-scrollbar{display:none}
.type{scroll-snap-align:start;text-align:left}
.type-img{border-radius:var(--r);background:#fff;border:1px solid var(--line-2);padding:8px;overflow:hidden;transition:border-color var(--t-fast)}
.type-img .reference-piece{aspect-ratio:225/132;width:100%;transition:transform var(--t-slow) var(--ease)}
.type:hover .type-img{border-color:var(--line)}
.type:hover .type-img .reference-piece{transform:scale(1.03)}
.type b{display:block;font-weight:600;font-size:15px;margin-top:12px}
.type small{font-size:14px;color:var(--ink-2)}

.how{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
@media (min-width:950px){.how{grid-template-columns:1fr 1fr;gap:80px}}
.how-img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:70% center;border-radius:var(--r-lg)}
.steps li{display:grid;grid-template-columns:32px 1fr;gap:16px;padding:24px 0;border-top:1px solid var(--line-2)}
.steps li:last-child{border-bottom:1px solid var(--line-2)}
.step-n{font-size:14px;font-weight:600;color:var(--ink-2);line-height:24px}
.steps h3{font-size:18px;line-height:24px}
.steps p{color:var(--ink-2);margin-top:4px}

.rating-h{display:flex;align-items:center;gap:8px}
.rating-h .icon{width:20px;height:20px;fill:currentColor;stroke:none}
.reviews{display:grid;grid-template-columns:1fr;gap:40px}
@media (min-width:744px){.reviews{grid-template-columns:1fr 1fr;gap:40px 96px}}
.review-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:600;font-size:18px}
.review-head b{display:block;font-weight:600}
.review-head small{font-size:14px;color:var(--ink-2)}
.review-stars{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;margin-bottom:6px}
.review-stars .stars{display:flex;gap:1px}
.review-stars .icon{width:10px;height:10px;fill:currentColor;stroke:none}
.review p{line-height:24px}

.xtabs{display:flex;gap:32px;border-bottom:1px solid var(--line);margin-bottom:32px;overflow-x:auto;scrollbar-width:none}
.xtabs [role=tab]{position:relative;padding:12px 0;font-size:14px;font-weight:500;color:var(--ink-2);white-space:nowrap;transition:color var(--t-fast)}
.xtabs [role=tab]:hover{color:var(--ink)}
.xtabs [role=tab][aria-selected=true]{color:var(--ink);font-weight:600}
.xtabs [role=tab][aria-selected=true]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink);animation:ink-in var(--t) var(--ease)}
@keyframes ink-in{from{transform:scaleX(.4);opacity:0}to{transform:none;opacity:1}}
.xpanel{animation:fade var(--t) var(--ease)}
@keyframes fade{from{opacity:0}to{opacity:1}}
.links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
@media (min-width:744px){.links{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1128px){.links{grid-template-columns:repeat(6,minmax(0,1fr))}}
.links button,.links li{display:block;text-align:left;font-size:14px;line-height:18px}
.links strong,.links b{display:block;font-weight:600;color:var(--ink)}
.links span{display:block;color:var(--ink-2);margin-top:2px}
.links button:hover strong{text-decoration:underline}

.faq{display:grid;grid-template-columns:1fr;gap:24px}
@media (min-width:950px){.faq{grid-template-columns:1fr 2fr;gap:80px}}
.faq .h2{margin-bottom:8px}
.faq-list details{border-bottom:1px solid var(--line-2)}
.faq-list details:first-child{border-top:1px solid var(--line-2)}
.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 0;font-weight:500;cursor:pointer;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary .icon{width:16px;height:16px;transition:transform var(--t) var(--ease)}
.faq-list details[open] summary .icon{transform:rotate(180deg)}
.faq-list .answer{overflow:hidden;color:var(--ink-2);padding-right:40px}
.faq-list .answer p{padding-bottom:20px}

.partner{display:grid;grid-template-columns:1fr;gap:32px;align-items:center;padding:40px;border-radius:var(--r-lg);background:var(--surface)}
@media (min-width:950px){.partner{grid-template-columns:1fr 1.2fr;padding:48px 56px;gap:56px}}
.partner .h2{margin-bottom:8px}
.partner .sub{font-size:16px;max-width:420px;margin-bottom:24px}
.partner-img{aspect-ratio:406/112;border-radius:var(--r)}

/* Footer */
.footer{margin-top:96px;background:var(--surface);border-top:1px solid var(--line);padding:48px 0 24px;font-size:14px}
.footer-cols{display:grid;grid-template-columns:1fr;gap:32px;padding-bottom:40px}
@media (min-width:744px){.footer-cols{grid-template-columns:repeat(3,1fr)}}
.footer h2{font-size:14px;font-weight:600;margin-bottom:12px}
.footer li+li{margin-top:12px}
.footer li a,.footer li button{color:var(--ink)}
.footer li a:hover,.footer li button:hover{text-decoration:underline}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;border-top:1px solid var(--line)}
.footer-meta{display:flex;gap:24px;font-weight:600}
.footer-meta button{display:inline-flex;align-items:center;gap:8px}
.footer-meta button:hover{text-decoration:underline}

/* Dialogs */
dialog{border:0;padding:0;color:var(--ink);background:#fff}
dialog::backdrop{background:rgb(0 0 0/.5)}
dialog[open]::backdrop{animation:fade var(--t) var(--ease)}
.modal{width:min(568px,100% - 32px);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);margin:auto}
.modal[open]{animation:modal-in var(--t-slow) var(--ease-in)}
@keyframes modal-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.modal-head{display:flex;padding:12px 16px;border-bottom:1px solid var(--line-2)}
.modal-body{padding:24px}
.modal-body h2{font-size:22px;margin-bottom:8px}
.modal-body p{color:var(--ink-2)}

.sheet{width:min(1080px,calc(100% - 48px));max-height:calc(100dvh - 64px);border-radius:28px;background:rgba(255,255,255,0.96);backdrop-filter:blur(32px) saturate(190%);-webkit-backdrop-filter:blur(32px) saturate(190%);border:1px solid rgba(255,255,255,0.8);box-shadow:0 0 0 1px rgba(0,0,0,0.06),0 32px 84px -16px rgba(0,0,0,0.22);margin:auto;overflow:hidden;padding:0;color:#1d1d1f;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif}
.sheet::backdrop{background:rgba(0,0,0,0.45);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);animation:appleBackdropIn .3s cubic-bezier(.16,1,.3,1) forwards}
@keyframes appleBackdropIn{from{opacity:0}to{opacity:1}}
.sheet[open]{animation:appleSheetPop .32s cubic-bezier(.16,1,.3,1) forwards}
@keyframes appleSheetPop{from{opacity:0;transform:scale(.96) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}
.sheet-inner{display:flex;flex-direction:column;max-height:calc(100dvh - 64px);background:transparent}
.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:rgba(255,255,255,0.88);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,0.06);position:sticky;top:0;z-index:10}
.sheet-head b{font-size:16px;font-weight:600;letter-spacing:-.015em;color:#1d1d1f}
.sheet-head .round-btn{width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,0.05);border:1px solid rgba(0,0,0,0.04);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#1d1d1f;transition:all .2s cubic-bezier(.16,1,.3,1);padding:0}
.sheet-head .round-btn:hover{background:rgba(0,0,0,0.1);transform:scale(1.05)}
.sheet-head .round-btn:active{transform:scale(.95)}
.sheet-scroll{overflow-y:auto;overscroll-behavior:contain}
.sheet-grid{display:grid;grid-template-columns:1fr;gap:32px;padding:28px 32px}
@media (min-width:880px){.sheet-grid{grid-template-columns:1.25fr 1fr;gap:40px;padding:32px 36px 40px}}
.sheet-img{aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#f5f5f7;border:1px solid rgba(0,0,0,0.05);box-shadow:0 4px 20px rgba(0,0,0,0.04)}
.sheet-img .reference-piece{width:100%;height:100%}
.sheet-title{font-size:28px;font-weight:700;line-height:1.15;letter-spacing:-.025em;color:#1d1d1f;margin-top:20px}
.sheet-sub{font-size:14.5px;line-height:1.5;color:#86868b;margin-top:12px}
.facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.facts span{background:#f5f5f7;color:#515154;font-size:12.5px;font-weight:500;padding:5px 12px;border-radius:9999px;border:1px solid rgba(0,0,0,0.03);display:inline-flex;align-items:center}
.facts span+span::before{display:none}
.sheet-sec{padding:24px 0;border-top:1px solid rgba(0,0,0,0.06)}
.sheet-sec:first-of-type{margin-top:24px}
.sheet-sec h3{font-size:15px;font-weight:700;letter-spacing:-.01em;color:#1d1d1f;margin-bottom:16px;text-transform:none}
.feature-list{display:grid;gap:14px}
.feature-list li{display:grid;grid-template-columns:36px 1fr;align-items:start;gap:14px}
.feature-list .icon{width:36px;height:36px;padding:8px;border-radius:10px;background:rgba(234,88,12,0.08);color:#ea580c;stroke-width:2;box-sizing:border-box}
.feature-list b{display:block;font-size:14px;font-weight:600;color:#1d1d1f;line-height:1.3}
.feature-list small{display:block;font-size:13px;color:#86868b;line-height:1.45;margin-top:2px}
.book{position:sticky;top:20px;background:#ffffff;border:1px solid rgba(0,0,0,0.06);border-radius:24px;padding:26px;box-shadow:0 4px 24px rgba(0,0,0,0.04),0 1px 2px rgba(0,0,0,0.02)}
.book-price-wrap{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}
.book-price{font-size:30px;font-weight:700;letter-spacing:-.03em;color:#1d1d1f;line-height:1.1;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.book-price small{font-size:13px;font-weight:500;color:#86868b;letter-spacing:normal}
.book-zero-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(52,199,89,0.12);color:#166534;font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:9999px;width:fit-content}
.book-fields{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(0,0,0,0.08);border-radius:14px;margin:20px 0 16px;overflow:hidden;background:#f5f5f7}
.book-fields div{padding:10px 14px}
.book-fields div+div{border-left:1px solid rgba(0,0,0,0.08)}
.book-fields .full{grid-column:1/-1;border-left:0;border-top:1px solid rgba(0,0,0,0.08)}
.book-fields label,.book-fields span{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#86868b}
.book-fields strong,.book-fields input{display:block;font-size:14px;font-weight:500;border:0;padding:0;width:100%;outline:none;background:none;color:#1d1d1f}
.book-note{text-align:center;font-size:13px;color:#86868b;margin:12px 0 20px}
.book-row{display:flex;justify-content:space-between;padding:5px 0;color:#515154;font-size:13.5px;font-variant-numeric:tabular-nums}
.book-row u{text-underline-offset:2px}
.book-total{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:18px;letter-spacing:-.02em;color:#1d1d1f;margin-top:10px;padding-top:12px;border-top:1px solid rgba(0,0,0,0.08);font-variant-numeric:tabular-nums}
.book-dep{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;color:#166534;margin-top:6px}
.book-alt{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.book-alt .btn{height:44px;font-size:14px;gap:6px;border-radius:9999px}

.toast{position:fixed;left:24px;bottom:24px;z-index:80;background:var(--ink);color:#fff;padding:14px 20px;border-radius:var(--r-sm);font-size:14px;font-weight:500;box-shadow:var(--shadow-pop);animation:toast-in var(--t-slow) var(--ease-in)}
@keyframes toast-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* Image window into a sprite */
.reference-piece{position:relative;overflow:hidden;display:block}
.reference-piece img{position:absolute;max-width:none;width:calc(100% * var(--sw) / var(--cw));height:calc(100% * var(--sh) / var(--ch));left:calc(-100% * var(--sx) / var(--cw));top:calc(-100% * var(--sy) / var(--ch));pointer-events:none;user-select:none}

/* Responsive */
@media (max-width:1127px){
  .hide-md{display:none}
  .nav{display:none}
  .header-voice-btn{display:none}
}
@media (max-width:949px){
  .filterbar{flex-direction:column;align-items:stretch;gap:0}
  .filter-end{padding:12px 0;overflow-x:auto;scrollbar-width:none}
  .filter-end::-webkit-scrollbar{display:none}
  .cal{grid-template-columns:1fr}
  .cal .month:nth-child(2){display:none}
}
@media (max-width:743px){
  :root{--header:64px;--pad:16px}
  html,body{width:100%;max-width:100vw;overflow-x:hidden;position:relative;touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch;overscroll-behavior-x:none}
  .wrap{max-width:100%;width:100%;box-sizing:border-box}
  .hide-sm{display:none}
  .header{width:100%;max-width:100vw;overflow-x:hidden}
  .header-inner{width:100%;max-width:100%;padding-inline:16px;box-sizing:border-box;justify-content:space-between}
  .header-locale-capsule{display:none!important}
  .header-voice-btn{display:none!important}
  .logo{font-size:22px}
  .logo-img{height:26px}
  .mini-search{display:none!important}
  .header.compact .mini-search{display:none!important}
  .header.compact .logo{opacity:1!important;width:auto!important;margin-right:0!important}
  .results{overflow-x:clip}
  .hero{padding-top:0;padding-inline:0}
  .hero-media{border-radius:0;height:420px}
  .hero-text{padding:0 24px 32px}
  .hero-text p{font-size:16px}
  .search{margin:-16px 16px 0;}
  .seg-wrap{grid-template-columns:1fr 1fr;height:auto;border-radius:var(--r-lg);padding:8px;gap:0;box-shadow:var(--shadow-card)}
  .seg{grid-column:span 1;height:60px;padding:0 16px;border-radius:var(--r)}
  #seg-where{grid-column:1/-1;border-bottom:1px solid var(--line-2);border-radius:var(--r) var(--r) 0 0}
  #seg-to{border-left:1px solid var(--line-2);border-radius:0}
  .seg-div{display:none}
  .search-go{grid-column:1/-1;margin:8px 0 0;height:48px;justify-content:center;border-radius:var(--r-sm)}
  .pop{position:fixed;left:0;right:0;top:auto;bottom:0;max-height:88dvh;overflow-y:auto;border-radius:var(--r-xl) var(--r-xl) 0 0;padding:24px 16px calc(16px + env(safe-area-inset-bottom));animation:sheet-up var(--t-slow) var(--ease-in);z-index:70;box-shadow:0 -8px 40px rgb(0 0 0/.25)}
  @keyframes sheet-up{from{transform:translateY(100%)}to{transform:none}}
  .search.active::before{content:"";position:fixed;inset:0;z-index:65;background:rgb(0 0 0/.4);animation:fade var(--t) var(--ease)}
  .pop-where{width:auto;padding:16px 8px}
  .cal-head{left:8px;right:8px}
  .cal-sum{margin-left:0;width:100%}
  .cal-foot .btn{margin-left:auto}
  .search-note{padding:0 24px;font-size:13px}
  .results{padding-top:40px}
  .types{grid-template-columns:repeat(5,minmax(200px,1fr));margin-inline:calc(var(--pad)*-1);padding-inline:var(--pad);scroll-padding-inline:var(--pad)}
  .block{padding-top:64px}
  .partner{padding:24px}
  .sheet{width:100%;max-width:100%;max-height:100dvh;height:100dvh;border-radius:0}
  .sheet-inner{max-height:100dvh;height:100%}
  .sheet-scroll{flex:1}
  .book{position:static;box-shadow:none;border:0;padding:0}
  .toast{left:16px;right:16px;bottom:16px}

  /* Mobile Native App Drawer */
  html.menu-drawer-open,
  body.menu-drawer-open {
    overflow: hidden !important;
    touch-action: none !important;
  }
  html.menu-drawer-open .app-bottom-nav,
  body.menu-drawer-open .app-bottom-nav {
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.2s ease !important;
  }
  .menu-backdrop {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(15, 23, 42, 0.58) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    z-index: 99998 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }
  .menu-backdrop.active {
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  .menu {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: min(340px, 86vw) !important;
    height: 100% !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    background: #ffffff !important;
    border-radius: 24px 0 0 0 !important;
    box-shadow: -12px 0 42px rgba(0, 0, 0, 0.24) !important;
    border: none !important;
    border-left: 1px solid rgba(0, 0, 0, 0.08) !important;
    z-index: 99999 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    touch-action: pan-y !important;
    transform: translateX(100%) !important;
    transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1) !important;
    animation: none !important;
    box-sizing: border-box !important;
  }
  .menu:not([hidden]) {
    display: flex !important;
    transform: translateX(0) !important;
  }
  .menu[hidden] {
    display: none !important;
    transform: translateX(100%) !important;
  }
  html[dir="rtl"] .menu {
    right: auto !important;
    left: 0 !important;
    border-radius: 0 24px 0 0 !important;
    border-left: none !important;
    border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 12px 0 42px rgba(0, 0, 0, 0.24) !important;
    transform: translateX(-100%) !important;
  }
  html[dir="rtl"] .menu:not([hidden]) {
    transform: translateX(0) !important;
  }
  .mobile-drawer-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 18px 20px 14px !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
    background: #ffffff !important;
    flex-shrink: 0 !important;
  }
  .mobile-drawer-brand {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .mobile-drawer-logo {
    font-size: 19px !important;
    font-weight: 850 !important;
    letter-spacing: -0.03em !important;
    color: #111827 !important;
  }
  .mobile-drawer-tag {
    font-size: 10px !important;
    font-weight: 750 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 3px 8px !important;
    border-radius: 999px !important;
    background: rgba(234, 88, 12, 0.12) !important;
    color: #ea580c !important;
  }
  .mobile-drawer-close {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: #f3f4f6 !important;
    border: none !important;
    color: #374151 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.18s ease !important;
    -webkit-tap-highlight-color: transparent !important;
  }
  .mobile-drawer-close:active {
    background: #e5e7eb !important;
    transform: scale(0.92) !important;
  }
  .mobile-drawer-scroll {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 10px 0 calc(28px + env(safe-area-inset-bottom, 16px)) !important;
  }
  .mobile-drawer-section-title {
    display: block !important;
    padding: 14px 20px 6px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #9ca3af !important;
  }
  .menu [role=menuitem] {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 14px 20px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #1f2937 !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
    min-height: 50px !important;
    transition: background 0.15s ease !important;
    -webkit-tap-highlight-color: transparent !important;
  }
  .menu [role=menuitem]:active {
    background: rgba(0, 0, 0, 0.04) !important;
  }
  .drawer-nav-item .icon {
    width: 18px !important;
    height: 18px !important;
    stroke: #6b7280 !important;
    flex-shrink: 0 !important;
  }
  .menu-quickbook-link {
    background: linear-gradient(135deg, rgba(234,88,12,0.12), rgba(251,146,60,0.08)) !important;
    color: #ea580c !important;
    margin: 8px 14px 6px 14px !important;
    width: calc(100% - 28px) !important;
    border-radius: 14px !important;
    border: 1px solid rgba(234,88,12,0.2) !important;
    box-shadow: 0 2px 8px rgba(234,88,12,0.08) !important;
  }
  .menu-voice-link {
    background: linear-gradient(135deg, rgba(213,70,14,0.1), rgba(234,88,12,0.05)) !important;
    color: #d5460e !important;
    margin: 0 14px 8px 14px !important;
    width: calc(100% - 28px) !important;
    border-radius: 14px !important;
    border: 1px solid rgba(213,70,14,0.18) !important;
  }
  .mobile-drawer-prefs {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    padding: 6px 14px 12px !important;
  }
  .mobile-drawer-pref-btn {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    background: #f9fafb !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1f2937 !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
  }
  .mobile-drawer-pref-btn .pref-val {
    margin-left: auto !important;
    font-weight: 700 !important;
    color: #ea580c !important;
  }
  html[dir="rtl"] .mobile-drawer-pref-btn .pref-val {
    margin-left: 0 !important;
    margin-right: auto !important;
  }
  .mobile-drawer-wa-btn {
    background: #25d366 !important;
    color: #ffffff !important;
    margin: 6px 14px !important;
    width: calc(100% - 28px) !important;
    border-radius: 14px !important;
    justify-content: center !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 14px rgba(37, 211, 102, 0.28) !important;
    border: none !important;
  }
  .mobile-drawer-wa-btn svg {
    stroke: #ffffff !important;
  }
  .mobile-drawer-call-btn {
    background: #f3f4f6 !important;
    color: #111827 !important;
    margin: 4px 14px 12px !important;
    width: calc(100% - 28px) !important;
    border-radius: 14px !important;
    justify-content: center !important;
    font-weight: 600 !important;
    border: none !important;
  }
  .mobile-drawer-footer {
    display: block !important;
    text-align: center !important;
    font-size: 12px !important;
    color: #9ca3af !important;
    margin-top: 12px !important;
  }
  .mobile-drawer-footer a {
    color: #6b7280 !important;
    text-decoration: underline !important;
  }
}

/* ===== Real images (replace sprite windows) ===== */
.hero-media picture{display:block;height:100%}
.card-img{aspect-ratio:2/1}
.card-img img,.sheet-img img{width:100%;height:100%;object-fit:cover}
.sheet-img{aspect-ratio:2/1}
.type-img img{width:100%;height:auto;aspect-ratio:450/264;object-fit:contain;transition:transform var(--t-slow) var(--ease)}
.type:hover .type-img img{transform:scale(1.03)}
.type{display:block}
.type:hover b{text-decoration:underline}
.partner-img{width:100%;height:auto;object-fit:cover}
.how picture{display:block}
.links a{display:block;font-size:14px;line-height:18px}
.links a:hover strong{text-decoration:underline}

/* ===== Breadcrumbs ===== */
.crumbs ol{display:flex;flex-wrap:wrap;gap:4px;font-size:14px;color:var(--ink-2);padding:16px 0}
.crumbs li:not(:last-child)::after{content:"›";margin-left:6px;color:var(--ink-3)}
.crumbs a{text-decoration:underline;text-underline-offset:2px}
.crumbs a:hover{color:var(--ink)}

/* ===== Landing page hero ===== */
.page-hero{padding-bottom:8px}
.page-hero h1{font-size:clamp(30px,4vw,44px);line-height:1.1;letter-spacing:-.02em;max-width:760px}
.page-hero .lead{font-size:18px;line-height:1.55;color:var(--ink-2);max-width:720px;margin:12px 0 40px}
.page-hero .search{margin:0}
.page-hero .search-note{text-align:left}

/* ===== Long-form content ===== */
.guide{display:grid;grid-template-columns:1fr;gap:8px}
@media (min-width:950px){.guide{grid-template-columns:1fr 2fr;gap:80px}}
.guide-head .h2{margin-bottom:8px}
.prose{max-width:720px;font-size:16px;line-height:1.65;color:var(--ink)}
.prose>*+*{margin-top:16px}
.prose h2{font-size:22px;line-height:1.3;margin-top:40px}
.prose h3{font-size:18px;line-height:1.35;margin-top:32px}
.prose ul,.prose ol{padding-left:20px}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose li+li{margin-top:8px}
.prose li::marker{color:var(--ink-3)}
.drive-table{width:100%;border-collapse:collapse;font-size:15px}
.drive-table th{text-align:left;font-size:13px;font-weight:600;color:var(--ink-2);padding:8px 0;border-bottom:1px solid var(--line)}
.drive-table td{padding:12px 0;border-bottom:1px solid var(--line-2)}
.drive-table td:last-child,.drive-table th:last-child{text-align:right}
.legal{padding-bottom:40px}
.legal h1{font-size:clamp(30px,4vw,40px);margin:8px 0 4px}
.legal .prose{margin-top:32px}

/* ===== Single-company fleet ===== */
@media (min-width:1128px){.results .grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.fleet-note{margin-top:40px;padding:20px 24px;border-radius:var(--r);background:var(--surface);font-size:15px;color:var(--ink-2)}
.fleet-note strong{color:var(--ink);font-weight:600}
.contact-actions{display:flex;flex-wrap:wrap;gap:8px}
.menu-only{padding:0 14px;gap:10px;font-size:14px;font-weight:500}
.wa-link{display:inline-flex;align-items:center;gap:8px}
.wa-fab{position:fixed;right:24px;bottom:24px;z-index:90;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#1f8f4e;color:#fff;box-shadow:0 6px 24px rgba(31,143,78,0.4), 0 2px 8px rgba(0,0,0,0.3);transition:transform var(--t-fast) var(--ease),background var(--t-fast),box-shadow var(--t-fast)}
.wa-fab:hover{background:#18763f;transform:scale(1.05);box-shadow:0 8px 28px rgba(31,143,78,0.5)}
.wa-fab:active{transform:scale(.92)}
.wa-fab .icon{width:26px;height:26px}
@media (max-width:743px){.wa-fab{right:16px;bottom:16px;width:52px;height:52px}}

/* ===== Apple Style Checkout Components ===== */
.progress{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:#f0f0f2;border-radius:9999px;padding:4px;margin:18px 0 22px;border:1px solid rgba(0,0,0,0.03);list-style:none}
.progress li{font-size:12px;font-weight:500;color:#86868b;text-align:center;padding:7px 10px;border-radius:9999px;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;justify-content:center;line-height:1}
.progress li::before{display:none!important}
.progress li.now{background:#ffffff;color:#1d1d1f;font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,0.08)}
.progress li.done{color:#1d1d1f;font-weight:500}
.back-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#86868b;background:rgba(0,0,0,0.04);border:1px solid rgba(0,0,0,0.04);border-radius:9999px;padding:6px 14px;margin-bottom:12px;cursor:pointer;transition:all .2s ease;line-height:1}
.back-btn:hover{background:rgba(0,0,0,0.08);color:#1d1d1f}
.back-btn .icon{width:14px;height:14px}
.fld{display:grid;gap:6px;margin-bottom:16px}
.fld label{font-size:11.5px;font-weight:600;letter-spacing:.035em;text-transform:uppercase;color:#6e6e73}
.fld .opt{font-weight:400;color:#86868b;text-transform:lowercase}
.fld input,.fld select,.fld textarea{width:100%;background:#f5f5f7;border:1px solid rgba(0,0,0,0.06);border-radius:14px;padding:13px 16px;font-family:inherit;font-size:15px;color:#1d1d1f;transition:all .2s cubic-bezier(.16,1,.3,1);box-sizing:border-box}
.fld textarea{resize:vertical;min-height:68px}
.fld input:focus,.fld select:focus,.fld textarea:focus{background:#ffffff;border-color:#0071e3;box-shadow:0 0 0 4px rgba(0,113,227,0.12);outline:none}
.fld input[aria-invalid=true]{border-color:#ff3b30;box-shadow:0 0 0 4px rgba(255,59,48,0.12);background:#fffafa}
.fld-err{font-size:12.5px;color:#ff3b30;font-weight:500;margin-top:2px}
.extras{border:0;padding:0;margin:0 0 16px}
.extras legend{font-size:11.5px;font-weight:600;letter-spacing:.035em;text-transform:uppercase;color:#6e6e73;margin-bottom:8px}
.check-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fbfbfd;border:1px solid rgba(0,0,0,0.06);border-radius:14px;padding:12px 16px;margin-bottom:8px;cursor:pointer;transition:all .2s ease;font-size:14.5px;color:#1d1d1f}
.check-row:hover{background:#f5f5f7;border-color:rgba(0,0,0,0.12)}
.check-row:has(input:checked){background:rgba(234,88,12,0.04);border-color:rgba(234,88,12,0.35);box-shadow:0 2px 10px rgba(234,88,12,0.08)}
.check-row input{width:18px;height:18px;border-radius:5px;accent-color:#ea580c;cursor:pointer}
.check-row small{color:#86868b;font-size:13px;font-weight:600;margin-left:auto}
.agree{margin-top:14px;font-size:13px;color:#6e6e73;line-height:1.45;background:none;border:none;padding:0}
.agree a{color:#0071e3;text-decoration:none}
.agree a:hover{text-decoration:underline}
.pay{border:0;padding:0;margin:0 0 16px;display:grid;gap:10px}
.pay-opt{display:grid;grid-template-columns:20px 32px 1fr;align-items:center;gap:14px;padding:16px 18px;background:#ffffff;border:1.5px solid rgba(0,0,0,0.07);border-radius:16px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}
.pay-opt:hover{border-color:rgba(0,0,0,0.2);transform:translateY(-1px)}
.pay-opt:has(input:checked){border-color:#ea580c;background:#fffcf9;box-shadow:0 4px 18px rgba(234,88,12,0.12)}
.pay-opt input{width:18px;height:18px;accent-color:#ea580c;cursor:pointer}
.pay-opt .icon{width:32px;height:32px;padding:6px;border-radius:10px;background:rgba(0,0,0,0.04);color:#1d1d1f;box-sizing:border-box}
.pay-opt b{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:#1d1d1f;letter-spacing:-.01em;flex-wrap:wrap}
.pay-opt small{display:block;font-size:12.5px;color:#86868b;line-height:1.4;margin-top:2px}
.cmi-mini-badge{background:rgba(2,132,199,0.12);color:#0284c7;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:6px;letter-spacing:.3px}
.book-summary{background:#f5f5f7;border:1px solid rgba(0,0,0,0.04);border-radius:16px;padding:14px 18px;font-size:13.5px;color:#515154;line-height:1.5;margin-bottom:16px}
.book-summary span{display:block;font-weight:600;color:#1d1d1f;margin-bottom:4px}
.breakdown{background:#f5f5f7;border:1px solid rgba(0,0,0,0.04);border-radius:18px;padding:16px 20px;margin:18px 0}
.estimate-note{font-size:11.5px;color:#86868b;line-height:1.45;margin-top:10px}
.book .btn.btn-primary.btn-block,#details-form button[type=submit]{height:52px;border-radius:9999px;font-size:16px;font-weight:600;letter-spacing:-.01em;background:linear-gradient(180deg,#ea580c 0%,#c2410c 100%);color:#ffffff;border:none;box-shadow:0 4px 18px rgba(234,88,12,0.35);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s cubic-bezier(.16,1,.3,1);margin-top:14px}
.book .btn.btn-primary.btn-block:hover,#details-form button[type=submit]:hover{opacity:.96;box-shadow:0 6px 22px rgba(234,88,12,0.45)}
.book .btn.btn-primary.btn-block:active,#details-form button[type=submit]:active{transform:scale(.985);filter:brightness(.95)}
.book-alt-line{text-align:center;font-size:13.5px;color:#86868b;margin-top:14px}
.book-alt-line .link-btn{color:#0071e3;font-weight:500;text-decoration:none}
.book-alt-line .link-btn:hover{text-decoration:underline}
.book-done{text-align:center;padding:16px 8px}
.done-mark{width:64px;height:64px;border-radius:50%;background:rgba(52,199,89,0.12);color:#166534;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:0 0 0 8px rgba(52,199,89,0.06);animation:pop-mark var(--t-slow) var(--ease-in)}
@keyframes pop-mark{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
.done-mark .icon{width:32px;height:32px;stroke-width:2.5}
.book-done h3{font-size:22px;font-weight:700;letter-spacing:-.02em;color:#1d1d1f;margin-bottom:6px}
.book-done p b{display:inline-block;background:#f5f5f7;border:1px solid rgba(0,0,0,0.06);border-radius:10px;padding:4px 12px;font-family:-apple-system,BlinkMacSystemFont,"SF Mono",monospace;font-size:15px;letter-spacing:.04em;color:#1d1d1f}
.plan-next{background:#f5f5f7;border:1px solid rgba(0,0,0,0.04);border-radius:16px;padding:16px 18px;text-align:left;margin:16px 0;font-size:13px;color:#515154;line-height:1.45}
.plan-next b{display:block;font-size:13.5px;font-weight:600;color:#1d1d1f;margin-bottom:4px}
.book-done .btn{margin-top:12px;border-radius:9999px}
.preview-flag{font-size:13px;color:#8a4b00;background:#fff6e5;border-radius:var(--r-sm);padding:8px 12px}
.sheet-sub{margin-top:8px}
.modal-body p{white-space:pre-line}
#flight{text-transform:uppercase}

/* =====================================================================
   Homepage sections — each with its own graphic and one purposeful motion.
   Motion: Material 3 emphasized-decelerate for entrances, run once, off under reduced motion.
   ===================================================================== */
.js [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity 600ms var(--ease-in),transform 700ms var(--ease-in)}
.js [data-reveal].in{opacity:1;transform:none}
.section-head{max-width:640px;margin-bottom:48px}
.section-head .h2{margin-bottom:8px}
.section-head .sub{font-size:16px;line-height:1.5}
.block.band{margin-top:96px;padding:96px 0;background:var(--surface)}

/* ---- Our cars: fleet bar ---- */
.results-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.fleetbar{display:grid;justify-items:end;gap:8px}
.fleetbar p{font-size:13px;color:var(--ink-2)}
.fleetbar b{color:var(--ink);font-weight:600}
.fleet-slots{display:flex;gap:10px}
.slot-group{display:flex;gap:3px;padding:3px;border-radius:8px;transition:background var(--t) var(--ease)}
.slot-group i{width:14px;height:22px;border-radius:4px;background:var(--ink);transform-origin:bottom;transition:background var(--t) var(--ease)}
.js .fleetbar .slot-group i{background:var(--line)}
.js .fleetbar.in .slot-group i{background:var(--ink);animation:slot-in 500ms var(--ease-in) backwards}
.fleetbar.in .slot-group:nth-child(1) i:nth-child(1){animation-delay:100ms}.fleetbar.in .slot-group:nth-child(1) i:nth-child(2){animation-delay:160ms}.fleetbar.in .slot-group:nth-child(1) i:nth-child(3){animation-delay:220ms}
.fleetbar.in .slot-group:nth-child(2) i:nth-child(1){animation-delay:320ms}.fleetbar.in .slot-group:nth-child(2) i:nth-child(2){animation-delay:380ms}
.fleetbar.in .slot-group:nth-child(3) i:nth-child(1){animation-delay:480ms}.fleetbar.in .slot-group:nth-child(3) i:nth-child(2){animation-delay:540ms}
@keyframes slot-in{from{transform:scaleY(.2);background:var(--line)}}
.slot-group.hl{background:#fff1ea}
.js .fleetbar.in .slot-group.hl i,.slot-group.hl i{background:var(--accent)}
.card-img img{transition:transform 600ms var(--ease)}
.card:hover .card-img img{transform:scale(1.04)}
@media (max-width:743px){.fleetbar{justify-items:start}}

/* ---- Why: alternating feature rows ---- */
.why{padding-top:112px}
.feature{display:grid;grid-template-columns:1fr;gap:32px;align-items:center;padding:48px 0;border-top:1px solid var(--line-2)}
@media (min-width:950px){.feature{grid-template-columns:5fr 7fr;gap:80px;padding:72px 0}.feature-flip{grid-template-columns:7fr 5fr}.feature-flip .feature-copy{order:2}}
.feature-copy h3{font-size:clamp(22px,2.4vw,28px);line-height:1.2;letter-spacing:-.015em;margin-bottom:12px}
.feature-copy>p{color:var(--ink-2);font-size:17px;line-height:1.55;max-width:460px}
.feature-copy>p+p{margin-top:12px}
.feature-copy>p.sub{font-size:14px}
.feature-copy .btn{margin-top:24px}
.feature-copy .btn .icon{width:18px;height:18px}
.feature-art{margin:0;border-radius:var(--r-xl);background:var(--surface);padding:32px;position:relative;overflow:hidden}
.feature-art figcaption{font-size:12px;color:var(--ink-3);margin-top:12px}

/* map */
.ap-links{display:grid;grid-template-columns:1fr 1fr;gap:2px 16px;margin-top:24px}
.ap-links a{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:14px;font-weight:500;transition:color var(--t-fast)}
.ap-links a:hover,.ap-links a.hl{color:var(--accent)}
.ap-code-sm{display:inline-grid;place-items:center;width:40px;height:24px;flex-shrink:0;border-radius:6px;background:var(--surface);font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--ink-2);transition:background var(--t-fast),color var(--t-fast)}
.ap-links a:hover .ap-code-sm,.ap-links a.hl .ap-code-sm{background:var(--accent);color:#fff}
.map{width:100%;height:auto;display:block;overflow:visible}
.map .sea{font-size:15px;font-style:italic;fill:var(--ink-3);letter-spacing:.06em}
.route{fill:none;stroke:var(--ink-3);stroke-width:1.5;stroke-dasharray:1;stroke-dashoffset:0;stroke-linecap:round}
.js .route{stroke-dashoffset:1}
.map-art.in .route{animation:draw 1.1s var(--ease-in) forwards;animation-delay:calc(200ms + var(--i) * 120ms)}
@keyframes draw{to{stroke-dashoffset:0}}
.map-pt{cursor:pointer;outline:none}
.map-pt .pt{fill:#fff;stroke:var(--ink);stroke-width:2.5;transition:fill var(--t-fast),stroke var(--t-fast),r var(--t) var(--ease)}
.map-pt .pulse{fill:var(--accent);opacity:0;transform-box:fill-box;transform-origin:center}
.map-art.in .map-pt .pulse{animation:pulse 2.8s var(--ease) infinite;animation-delay:calc(1.2s + var(--i) * 300ms)}
@keyframes pulse{0%{opacity:.35;transform:scale(1)}70%,100%{opacity:0;transform:scale(3.2)}}
.map-pt text{font-size:17px;font-weight:600;fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round;transition:fill var(--t-fast)}
.map-pt .code{font-weight:500;fill:var(--ink-3);font-size:13px}
.map-pt:hover .pt,.map-pt:focus-visible .pt,.map-pt.hl .pt{fill:var(--accent);stroke:var(--accent);r:9px}
.map-pt:hover text,.map-pt:focus-visible text,.map-pt.hl text{fill:var(--accent)}
.map-pt:focus-visible .pt{stroke-width:4}

/* chat */
.chat-art{background:#efeae2;padding:40px 24px;display:grid;place-items:center}
.chat{width:100%;max-width:380px;background:#fff;border-radius:20px;box-shadow:var(--shadow-card);overflow:hidden}
.chat-top{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line-2)}
.chat-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;padding-bottom:2px}
.chat-top b{display:block;font-size:15px}
.chat-top small{font-size:12px;color:var(--ink-3)}
.chat-body{display:flex;flex-direction:column;gap:8px;padding:16px;background:#f7f4ef;min-height:280px}
.msg{max-width:82%;padding:8px 12px 18px;border-radius:12px;font-size:14px;line-height:1.4;position:relative;box-shadow:0 1px 1px rgb(0 0 0/.06)}
.msg time{position:absolute;right:10px;bottom:4px;font-size:10px;color:var(--ink-3)}
.msg.in{align-self:flex-start;background:#fff;border-top-left-radius:4px}
.msg.out{align-self:flex-end;background:#d9fdd3;border-top-right-radius:4px}
.typing{align-self:flex-end;display:none;gap:4px;padding:12px 14px;border-radius:12px;background:#d9fdd3}
.typing span{width:6px;height:6px;border-radius:50%;background:#5c7a58;animation:dot 1s infinite}
.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,60%,100%{transform:none;opacity:.4}30%{transform:translateY(-3px);opacity:1}}
.js .chat-art .msg[data-step]{display:none}
.js .chat-art [data-step].show{display:block;animation:msg-in 400ms var(--ease-in)}
.js .chat-art .typing.show{display:flex}
@keyframes msg-in{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}

/* receipt */
.receipt-art{display:grid;place-items:center;padding:48px 24px;background:linear-gradient(160deg,var(--surface),#efefef)}
.receipt{position:relative;width:100%;max-width:380px;background:#fff;padding:24px 24px 32px;border-radius:4px 4px 0 0;box-shadow:var(--shadow-card);font-size:14px;
  -webkit-mask:radial-gradient(circle 6px at 50% 100%,#0000 98%,#000) bottom/16px 100% repeat-x;mask:radial-gradient(circle 6px at 50% 100%,#0000 98%,#000) bottom/16px 100% repeat-x}
.receipt-head{display:grid;gap:2px;padding-bottom:16px;margin-bottom:8px;border-bottom:1px dashed var(--line)}
.receipt-head b{font-size:16px}
.receipt-head span{color:var(--ink-2);font-size:13px}
.receipt-row,.receipt-total,.receipt-dep{display:flex;justify-content:space-between;gap:12px;padding:8px 0}
.receipt-row b,.receipt-dep b{font-weight:400}
.receipt b[data-count]{font-variant-numeric:tabular-nums}
.js .receipt-art .receipt-row,.js .receipt-art .receipt-total,.js .receipt-art .receipt-dep{opacity:0;transform:translateY(6px);transition:opacity 400ms var(--ease-in),transform 400ms var(--ease-in)}
.js .receipt-art.in .receipt-row,.js .receipt-art.in .receipt-total,.js .receipt-art.in .receipt-dep{opacity:1;transform:none}
.receipt-art.in .receipt-row:nth-child(3){transition-delay:120ms}.receipt-art.in .receipt-row:nth-child(4){transition-delay:240ms}.receipt-art.in .receipt-row:nth-child(5){transition-delay:360ms}
.receipt-art.in .receipt-total{transition-delay:520ms}.receipt-art.in .receipt-dep{transition-delay:640ms}
.receipt-total{border-top:1px solid var(--ink);margin-top:8px;padding-top:14px;font-size:18px;font-weight:600}
.receipt-dep{color:var(--ink-2);font-size:13px}
.receipt-stamp{position:absolute;right:18px;top:18px;border:2px solid #1f7a45;color:#1f7a45;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transform:rotate(-8deg);opacity:.85}
.js .receipt-stamp{transform:rotate(-8deg) scale(1.6);opacity:0}
.js .receipt-art.in .receipt-stamp{animation:stamp 450ms var(--ease-in) 900ms forwards}
@keyframes stamp{to{opacity:.85;transform:rotate(-8deg) scale(1)}}

/* ---- How: timeline ---- */
.timeline{position:relative}
.tl-track{position:absolute;left:0;right:0;top:0;height:2px;display:none}
.tl-line{position:absolute;inset:0;background:var(--line);overflow:hidden}
.tl-line::after{content:"";position:absolute;inset:0;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--ease-in)}
.tl-plane{position:absolute;top:-12px;left:0;width:24px;height:24px;color:var(--ink);opacity:0;transform:translateX(-12px);transition:left 1.6s var(--ease-in),opacity 200ms}
.tl-plane .icon{width:24px;height:24px;fill:var(--surface);transform:rotate(45deg)}
.timeline.in .tl-line::after{transform:scaleX(1)}
.timeline.in .tl-plane{left:calc(100% - 12px);opacity:1}
.tl-steps{display:grid;grid-template-columns:1fr;gap:48px}
.tl-step:nth-child(2){transition-delay:150ms}.tl-step:nth-child(3){transition-delay:300ms}
.tl-n{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font-size:13px;font-weight:600;margin:24px 0 12px}
.tl-step h3{font-size:20px;margin-bottom:6px}
.tl-step p{color:var(--ink-2);max-width:340px}
.tl-art{height:196px;border-radius:var(--r-lg);background:#fff;box-shadow:0 1px 2px rgb(0 0 0/.06),0 8px 24px rgb(0 0 0/.06);overflow:hidden}
.art-cal{padding:20px}
.mini-cal-head{font-size:13px;font-weight:600;margin-bottom:12px}
.mini-cal{display:grid;grid-template-columns:repeat(7,1fr);row-gap:6px;font-size:13px;text-align:center}
.mini-cal span{height:34px;display:grid;place-items:center;position:relative;z-index:0}
.mini-cal .r::before,.mini-cal .a::before,.mini-cal .b::before{content:"";position:absolute;inset:0;background:var(--surface);z-index:-1}
.mini-cal .a::before{left:50%}.mini-cal .b::before{right:50%}
.mini-cal .a::after,.mini-cal .b::after{content:"";position:absolute;width:34px;height:34px;border-radius:50%;background:var(--ink);z-index:-1}
.mini-cal .a,.mini-cal .b{color:#fff;font-weight:600}
.js .tl-step .mini-cal .r::before{transform:scaleX(0);transform-origin:left;transition:transform 500ms var(--ease-in)}
.js .tl-step.in .mini-cal .r::before{transform:none;transition-delay:600ms}
.art-flight{padding:24px;display:flex;flex-direction:column;justify-content:space-between}
.flight-row{display:flex;justify-content:space-between;align-items:center}
.flight-row b{font-size:18px;letter-spacing:.02em}
.flight-status{font-size:12px;font-weight:600;color:#9a5b00;background:#fff4e0;padding:4px 10px;border-radius:999px}
.flight-route{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--ink-2)}
.flight-route i{flex:1;height:2px;background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 12px);position:relative}
.flight-route i::after{content:"";position:absolute;top:-4px;left:0;width:10px;height:10px;border-radius:50%;background:var(--ink)}
.tl-step.in .flight-route i::after{animation:fly 3.2s var(--ease) infinite}
@keyframes fly{0%{left:0}70%,100%{left:calc(100% - 10px)}}
.flight-note{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#1f7a45}
.live-dot{width:8px;height:8px;border-radius:50%;background:#1f9d55;animation:live 1.8s infinite}
@keyframes live{0%{box-shadow:0 0 0 0 rgb(31 157 85/.5)}70%{box-shadow:0 0 0 8px rgb(31 157 85/0)}100%{box-shadow:0 0 0 0 rgb(31 157 85/0)}}
.art-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.js .tl-step .art-photo img{transform:scale(1.1)}
.js .tl-step.in .art-photo img{transform:none}
@media (min-width:950px){
  .timeline{padding-top:48px}
  .tl-track{display:block}
  .tl-steps{grid-template-columns:repeat(3,1fr);gap:32px}
}

/* ---- Guide: editorial + sticky TOC ---- */
.guide2{padding-top:112px}
.guide-grid{display:grid;grid-template-columns:1fr;gap:32px}
@media (min-width:950px){.guide-grid{grid-template-columns:4fr 7fr;gap:80px;align-items:start}.guide-aside{position:sticky;top:calc(var(--header) + 40px)}}
.toc{position:relative;display:none;margin-top:32px;padding-left:16px;border-left:2px solid var(--line-2)}
@media (min-width:950px){.toc{display:grid}}
.toc a{padding:8px 0;font-size:14px;color:var(--ink-2);transition:color var(--t-fast)}
.toc a:hover,.toc a.active{color:var(--ink)}
.toc a.active{font-weight:600}
.toc-ink{position:absolute;left:-2px;top:0;width:2px;height:37px;background:var(--ink);transition:transform var(--t-slow) var(--ease)}
.guide-body .lede{font-size:20px;line-height:1.5;color:var(--ink)}
.guide-body section{scroll-margin-top:calc(var(--header) + 24px)}
.guide-body h3{font-size:22px;margin-top:40px}
.speed{display:flex;gap:24px;margin:20px 0 24px}
.speed div{display:grid;justify-items:center;gap:8px}
.speed .sign{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;border:7px solid #d32f2f;background:#fff;font-size:20px;font-weight:700;letter-spacing:-.02em;color:#111}
.speed small{font-size:13px;color:var(--ink-2)}
.js .speed .sign{transform:scale(.6);opacity:0;transition:transform 500ms var(--ease-in),opacity 300ms}
.js .speed.in .sign{transform:none;opacity:1}
.speed.in div:nth-child(2) .sign{transition-delay:100ms}.speed.in div:nth-child(3) .sign{transition-delay:200ms}

@media (prefers-reduced-motion:reduce){
  .js [data-reveal],.js .receipt-art .receipt-row,.js .receipt-art .receipt-total,.js .receipt-art .receipt-dep,.js .speed .sign,.js .tl-step .art-photo img{opacity:1;transform:none}
  .js .route{stroke-dashoffset:0}.js .receipt-stamp{opacity:.85;transform:rotate(-8deg)}
  .js .chat-art .msg[data-step]{display:block}.js .tl-step .mini-cal .r::before{transform:none}
  .map-pt .pulse,.live-dot,.typing span,.flight-route i::after{animation:none!important}
}
@media (max-width:1127px){.header.compact .wa-link{display:none}}@media (max-width:743px){.wa-link{display:none}}

/* ---- Contact: dark closing band with direct channels ---- */
.contact{display:grid;grid-template-columns:1fr;gap:32px;padding:40px 24px;border-radius:var(--r-xl);background:#1c1c1c;color:#fff;position:relative;overflow:hidden;isolation:isolate}
.contact::before{content:"";position:absolute;inset:auto -10% -60% auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(closest-side,rgb(213 70 14/.35),transparent);z-index:-1;pointer-events:none}
@media (min-width:950px){.contact{grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding:64px}}
.contact-copy h2{font-size:clamp(26px,3.2vw,36px);line-height:1.15;letter-spacing:-.02em}
.contact-copy p{color:rgb(255 255 255/.72);font-size:17px;line-height:1.55;margin-top:12px;max-width:440px}
.contact-copy .contact-small{font-size:14px;color:rgb(255 255 255/.5);margin-top:24px}
.contact-list{display:grid;gap:8px}
.contact-row{width:100%;display:grid;grid-template-columns:44px 1fr 20px;align-items:center;gap:16px;padding:16px 18px;border-radius:var(--r-lg);background:rgb(255 255 255/.06);border:1px solid rgb(255 255 255/.08);color:#fff;text-align:left;transition:background var(--t) var(--ease),border-color var(--t) var(--ease),transform var(--t-fast) var(--ease)}
.contact-row:hover{background:rgb(255 255 255/.11);border-color:rgb(255 255 255/.18)}
.contact-row:active{transform:scale(.99)}
.contact-row:focus-visible{outline:2px solid #fff;outline-offset:2px}
.contact-row b{display:block;font-size:16px;font-weight:600}
.contact-row small{display:block;font-size:14px;color:rgb(255 255 255/.6);margin-top:2px}
.contact-row>.icon{width:18px;height:18px;color:rgb(255 255 255/.5);transition:transform var(--t) var(--ease),color var(--t)}
.contact-row:hover>.icon{transform:translateX(4px);color:#fff}
.c-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgb(255 255 255/.1)}
.c-ic .icon{width:20px;height:20px}
.c-wa{background:#1f8f4e}
.js .contact .contact-list li{opacity:0;transform:translateX(16px);transition:opacity 500ms var(--ease-in),transform 600ms var(--ease-in)}
.js .contact.in .contact-list li{opacity:1;transform:none}
.contact.in .contact-list li:nth-child(2){transition-delay:100ms}.contact.in .contact-list li:nth-child(3){transition-delay:200ms}
@media (prefers-reduced-motion:reduce){.js .contact .contact-list li{opacity:1;transform:none}}

/* ===== Car pages (listing-style detail) ===== */
.car-hero h1{font-size:clamp(28px,3.6vw,40px);line-height:1.1;letter-spacing:-.02em}
.car-sub-line{color:var(--ink-2);margin:8px 0 24px}
.car-photo{margin:0 0 32px;border-radius:var(--r-xl);overflow:hidden;background:var(--surface);position:relative}
.car-photo img{width:100%;aspect-ratio:21/9;object-fit:cover;display:block}
@media (max-width:743px){.car-photo{margin-inline:calc(var(--pad)*-1);border-radius:0}.car-photo img{aspect-ratio:2/1}}
.car-photo figcaption{position:absolute;left:16px;bottom:16px;background:rgb(255 255 255/.92);backdrop-filter:blur(6px);padding:6px 12px;border-radius:999px;font-size:13px;font-weight:500}
.car-hero .search{margin:0}
.car-hero .search-note{text-align:left}
.car-layout{display:grid;grid-template-columns:1fr;gap:40px;padding-top:40px}
@media (min-width:950px){.car-layout{grid-template-columns:minmax(0,1fr) 360px;gap:80px;align-items:start}.car-aside{position:sticky;top:calc(var(--header) + 24px)}}
@media (min-width:1128px){.car-layout{grid-template-columns:minmax(0,1fr) 380px;gap:96px}}
.car-sec{padding:40px 0;border-bottom:1px solid var(--line-2)}
.car-sec:first-child{padding-top:0}
.car-sec:last-child{border-bottom:0}
.car-sec h2{font-size:22px;line-height:1.25;margin-bottom:16px}
.car-sec h3{font-size:16px;margin:28px 0 12px}
.car-sec>p{color:var(--ink-2);max-width:620px;line-height:1.6}
.car-lede{font-size:18px;color:var(--ink)!important;font-weight:500;margin-bottom:8px}
.highlights{display:grid;gap:24px}
.highlights li{display:grid;grid-template-columns:28px 1fr;gap:16px;align-items:start}
.highlights .icon{width:26px;height:26px;stroke-width:1.5}
.highlights b{display:block;font-size:16px}
.highlights span{color:var(--ink-2);font-size:14px}
.good-for{display:grid;gap:10px}
.good-for li{display:flex;gap:10px;align-items:center}
.good-for .icon{width:18px;height:18px;color:#1f7a45}
.spec-table{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line-2)}
@media (min-width:600px){.spec-table{grid-template-columns:1fr 1fr;column-gap:32px}}
.spec-table div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line-2)}
.spec-table dt{color:var(--ink-2)}
.spec-table dd{margin:0;font-weight:600;text-align:right}
.car-sec .sub{margin-top:12px}
.incl-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media (min-width:600px){.incl-grid{grid-template-columns:1fr 1fr}}
.incl-list{display:grid;gap:12px}
.incl-list li{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start}
.incl-list .icon{width:18px;height:18px;margin-top:3px;color:#1f7a45}
.incl-list.not li{color:var(--ink-2)}
.incl-list.not .icon{color:var(--ink-3)}
.price-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pc{display:grid;gap:2px;padding:20px;border:1px solid var(--line);border-radius:var(--r-lg)}
.pc span{font-size:13px;color:var(--ink-2)}
.pc b{font-size:26px;font-weight:600;letter-spacing:-.02em}
.pc small{font-size:13px;color:var(--ink-3)}
.pay-ways{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:600px){.pay-ways{grid-template-columns:repeat(3,1fr)}}
.pay-ways li{display:grid;grid-template-columns:24px 1fr;gap:12px;padding:16px;border-radius:var(--r);background:var(--surface)}
.pay-ways .icon{width:22px;height:22px;stroke-width:1.6}
.pay-ways b{display:block;font-size:15px}
.pay-ways span{font-size:13px;color:var(--ink-2)}
.req{display:grid;gap:16px}
.req li{display:grid;gap:2px;padding-left:16px;border-left:2px solid var(--ink)}
.req span{color:var(--ink-2);font-size:14px}
.car-book{position:relative}
.car-book .book-fields .full{border-left:0}
.car-book .book-alt-line{margin-top:20px}
.other-cars{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))!important;max-width:880px}
@media (min-width:1128px){.footer-cols{grid-template-columns:repeat(4,1fr)}}
@media (max-width:949px){.car-aside{order:-1}}
.car-top{display:grid;grid-template-columns:1fr;gap:24px;align-items:center;margin-bottom:32px}
@media (min-width:880px){.car-top{grid-template-columns:minmax(0,560px) 1fr;gap:56px}}
.car-top .car-photo{margin:0;background:#fff;border:1px solid var(--line-2)}
.car-top .car-photo img{aspect-ratio:436/206;object-fit:contain}
@media (max-width:743px){.car-top .car-photo{margin-inline:0;border-radius:var(--r-lg)}}
.car-top .car-photo figcaption{font-size:12px;padding:4px 10px}
.car-from{display:flex;align-items:baseline;gap:8px;color:var(--ink-2)}
.car-from b{font-size:clamp(32px,4vw,44px);font-weight:600;letter-spacing:-.03em;color:var(--ink)}
.fact-chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.fact-chips li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;font-size:14px;font-weight:500}
.fact-chips .icon{width:16px;height:16px;color:var(--ink-2)}
.car-fleet{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--ink-2)}
.fleet-dots{display:flex;gap:3px}
.fleet-dots i{width:10px;height:16px;border-radius:3px;background:var(--line)}
.fleet-dots i.on{background:var(--ink)}
.car-top .car-photo img{height:auto;object-fit:cover}

/* ============================================================
   RTL (Right-to-Left) Arabic Support & Typography
   ============================================================ */
html[lang="ar"],
html[dir="rtl"] {
  --font: "Segoe UI", -apple-system, BlinkMacSystemFont, "Readex Pro", "Cairo", "Noto Sans Arabic", Tahoma, Arial, sans-serif;
  direction: rtl;
  text-align: right;
  overflow-x: hidden;
}
html[dir="rtl"] body {
  overflow-x: hidden;
  max-width: 100vw;
}
html[dir="rtl"] .header-inner {
  flex-direction: row;
}
html[dir="rtl"] .nav {
  margin-left: 0;
  margin-right: 14px;
}
html[dir="rtl"] .header-end {
  margin-left: 0;
  margin-right: auto;
}
html[dir="rtl"] .menu {
  right: auto;
  left: 0;
  transform-origin: top left;
}
html[dir="rtl"] .menu [role=menuitem] {
  text-align: right;
}
html[dir="rtl"] .pop-where {
  left: auto;
  right: 0;
}
html[dir="rtl"] .hero-text {
  left: auto;
  right: 0;
  text-align: right;
}
html[dir="rtl"] .hero-media::after {
  background: linear-gradient(-20deg, rgb(0 0 0 / .62) 0%, rgb(0 0 0 / .25) 40%, rgb(0 0 0 / 0) 65%);
}
html[dir="rtl"] .req li {
  padding-left: 0;
  padding-right: 16px;
  border-left: none;
  border-right: 2px solid var(--ink);
}
html[dir="rtl"] .spec-table dd {
  text-align: left;
}
html[dir="rtl"] .receipt-stamp {
  right: auto;
  left: 18px;
  transform: rotate(8deg);
}
html[dir="rtl"] .city-action-link .icon,
html[dir="rtl"] .card-action-btn .icon,
html[dir="rtl"] .hub-action .icon {
  transform: scaleX(-1);
}
html[dir="rtl"] .nav-zero-tag {
  margin-left: 0;
  margin-right: 5px;
}
html[dir="rtl"] .header-locale-capsule {
  flex-direction: row;
}

/* Odysser Modern Footer Import */
@import url('/footer-odysser.css');
@import url('/app-mobile.css');

