
*{margin:0;padding:0;box-sizing:border-box}
:root{--ink:#141B28;--ink2:#33405C;--bg:#F3F6FC;--sky1:#DCE7FF;--sky2:#F2F7FF;--white:#FFFFFF;--accent:#E8A020;--accent2:#C9821A;--blue:#6A4DE8;--line:rgba(29,35,48,.09);--gray:#7A8699;--green:#00B67A;
--shadow-s:0 1px 2px rgba(29,35,48,.05),0 3px 10px rgba(29,35,48,.05);
--shadow-m:0 2px 4px rgba(29,35,48,.05),0 10px 26px rgba(29,35,48,.09);
--shadow-l:0 4px 10px rgba(29,35,48,.06),0 18px 44px rgba(29,35,48,.12)}
body{background:var(--bg);font-family:'Inter',sans-serif;color:var(--ink);font-size:14px;-webkit-font-smoothing:antialiased}
html{text-rendering:optimizeLegibility}
a{text-decoration:none;color:inherit}
button{font-family:'Inter',sans-serif}
h1,h2,h3,.logo,.sumtab .n,.badge,.wgo button,.view,.trip-seg button,.rail-hd b,.fg-t,.price{font-family:'Plus Jakarta Sans',sans-serif}


.sky{position:relative;background:
  radial-gradient(900px 460px at 88% -8%,rgba(255,170,80,.55),transparent 58%),
  radial-gradient(1000px 560px at -6% 30%,rgba(60,120,255,.65),transparent 60%),
  radial-gradient(700px 380px at 55% -12%,rgba(122,92,255,.4),transparent 62%),
  linear-gradient(168deg,#1B54E8 0%,#2A6BFF 46%,#3D7DFF 72%,#6FA1FF 100%);overflow:hidden}


.fly{position:absolute;top:118px;left:-10%;z-index:2;pointer-events:none;animation:fly 17s linear infinite;filter:drop-shadow(0 6px 12px rgba(10,30,90,.35))}
.fly svg{width:38px;height:auto;display:block}
@keyframes fly{0%{transform:translate(0,0) rotate(3deg)}50%{transform:translate(62vw,-34px) rotate(-3deg)}100%{transform:translate(125vw,8px) rotate(2deg)}}
@media (prefers-reduced-motion: reduce){.fly{animation:none;display:none}}
.sky-art{position:absolute;inset:0;pointer-events:none;opacity:.9}
.hdr{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:0 auto;padding:1.1rem 1.25rem}
.logo{font-size:1.35rem;font-weight:800;color:#fff;letter-spacing:-.02em}
.logo b{color:#FFD34D}
.logo small{display:block;font-family:'Inter',sans-serif;font-size:.56rem;font-weight:600;letter-spacing:.28em;color:rgba(255,255,255,.7);text-transform:uppercase}
.hsum{display:none;align-items:center;gap:.7rem;background:#fff;border-radius:999px;padding:.55rem 1.2rem;cursor:pointer;box-shadow:var(--shadow-m);font-size:.8rem}
.hsum b{font-weight:800}
.hsum span{color:var(--gray)}
.hsum .edit{color:var(--accent);font-weight:800}
body.searched .hsum{display:flex}
.hero-in{position:relative;z-index:4;max-width:1180px;margin:0 auto;padding:2.5rem 1.25rem 4rem}
body.searched .hero-in{display:none}
.hero-in h1{color:#fff;font-size:clamp(1.9rem,4.4vw,3.2rem);font-weight:800;line-height:1.1;max-width:720px;letter-spacing:-.03em}
.hero-in h1 span{color:#FFD34D}
.hero-in .sub{color:rgba(255,255,255,.88);font-weight:500;font-size:.98rem;margin:.7rem 0 1.9rem}


.widget{position:relative;background:transparent;border:none;box-shadow:none;padding:0;border-radius:0;backdrop-filter:none}
.widget::before,.widget::after{display:none}
.trip-seg{display:inline-flex;background:#fff;border-radius:999px;padding:3px;margin-bottom:.8rem;box-shadow:var(--shadow-s)}
.trip-seg button{border:none;background:transparent;padding:.5rem 1.2rem;font-size:.8rem;font-weight:700;color:var(--gray);border-radius:999px;cursor:pointer;transition:all .2s}
.trip-seg button.on{background:var(--blue);color:#fff}
.wrow{display:grid;grid-template-columns:2.5fr 1.9fr 1fr 1.05fr auto;gap:2px;background:#fff;border:2px solid #FFC94D;border-radius:20px;padding:4px;box-shadow:0 0 0 4px rgba(255,211,77,.22),var(--shadow-l)}
@media(max-width:1000px){.wrow{grid-template-columns:1fr 1fr;gap:4px}.wgo{grid-column:1/-1}}
.wfield{position:relative;background:#fff;border:none;border-radius:14px;padding:.6rem 1rem;transition:background .15s;box-shadow:none}
.wfield:hover{background:#F2F6FB}
.wfield:focus-within{background:#EDF3FA;box-shadow:inset 0 0 0 2px rgba(46,124,246,.35)}
.wfield label{display:block;font-size:.6rem;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.08em}
.wfield input,.wfield select,.pax-btn{width:100%;border:none;outline:none;font-size:1rem;font-weight:700;color:var(--ink);font-family:'Inter',sans-serif;background:transparent;padding-top:.12rem}
.wfield input::placeholder{color:#AEBBCD;font-weight:500}
.route-pair{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:2px}
.swap{width:38px;border:none;background:#F2F6FB;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--blue);transition:all .2s}
.swap:hover{background:#E4EEFA}
.swap:hover svg{transform:rotate(180deg)}
.swap svg{width:15px;height:15px;transition:transform .35s}
.date-pair{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.wgo button{height:100%;min-height:56px;background:linear-gradient(135deg,#FFD34D,#F0B23A 60%,#E8A020);border:none;border-radius:16px;color:#3A2A0E;font-size:1rem;font-weight:800;padding:0 2.1rem;cursor:pointer;letter-spacing:-.01em;box-shadow:0 10px 24px rgba(232,160,32,.45);transition:background .15s,box-shadow .15s}
.wgo button:hover{background:var(--accent2);box-shadow:0 14px 30px rgba(240,74,0,.5)}
.wgo button:active{background:#E04500}
.qroutes{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}
.qroutes span{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);color:#fff;font-size:.74rem;font-weight:600;border-radius:999px;padding:.4rem 1rem;cursor:pointer;transition:all .18s;backdrop-filter:blur(6px)}
.qroutes span:hover{background:rgba(255,255,255,.3)}


.pax-btn{text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pax-pop{display:none;position:fixed;min-width:290px;max-width:94vw;max-height:70vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-l);padding:1rem;z-index:940}
.pax-pop.open{display:block}
.pax-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--line)}
.pax-row:last-of-type{border-bottom:none}
.pax-row b{font-size:.84rem;font-weight:800;display:block}
.pax-row small{font-size:.66rem;color:var(--gray);font-weight:500}
.pax-ctl{display:flex;align-items:center;gap:.7rem}
.pax-ctl button{width:30px;height:30px;border-radius:50%;border:1.5px solid rgba(46,124,246,.4);background:#fff;color:var(--blue);font-size:1rem;font-weight:800;cursor:pointer;transition:all .15s}
.pax-ctl button:hover{background:var(--blue);color:#fff}
.pax-ctl span{min-width:18px;text-align:center;font-weight:800}
.pax-done{width:100%;margin-top:.7rem;background:var(--blue);color:#fff;border:none;border-radius:12px;font-weight:800;font-size:.85rem;padding:.6rem;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;box-shadow:0 8px 18px rgba(46,124,246,.3)}

.mc-leg{display:grid;grid-template-columns:auto 1fr 1fr 1fr auto;gap:2px;align-items:end;margin-bottom:.5rem;background:#fff;border:2px solid #FFC94D;border-radius:16px;padding:4px;box-shadow:0 0 0 3px rgba(255,211,77,.18),var(--shadow-m)}
@media(max-width:800px){.mc-leg{grid-template-columns:1fr 1fr}}
.mc-n{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:.9rem;color:var(--blue);align-self:center;padding:0 .6rem}
.mc-x{border:none;background:#F2F6FB;color:var(--gray);width:34px;height:34px;border-radius:50%;cursor:pointer;font-weight:800;align-self:center;margin-right:.3rem}
.mc-x:hover{background:#FFE9E0;color:var(--accent2)}
.mc-add{margin:.2rem 0 .9rem;background:#fff;border:1.5px dashed rgba(46,124,246,.5);color:var(--blue);border-radius:12px;padding:.55rem 1.1rem;font-weight:800;font-size:.8rem;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif}
.mc-add:hover{background:#EDF3FA}


.wrap{max-width:1180px;margin:1.4rem auto 4rem;padding:0 1.25rem;display:grid;grid-template-columns:266px 1fr;gap:1.4rem;align-items:start}
@media(max-width:920px){.wrap{grid-template-columns:1fr}}
.rail{background:var(--white);border:1px solid var(--line);border-radius:18px;position:sticky;top:12px;overflow:hidden;box-shadow:var(--shadow-s)}
.rail-hd{display:flex;justify-content:space-between;align-items:center;padding:.95rem 1.1rem;border-bottom:1px solid var(--line)}
.rail-hd b{font-size:.95rem;font-weight:800}
.rail-hd a{font-size:.72rem;font-weight:800;color:var(--blue);cursor:pointer}
.fgroup{border-bottom:1px solid var(--line);padding:.9rem 1.1rem}
.fgroup:last-child{border-bottom:none}
.fg-t{display:flex;justify-content:space-between;font-size:.82rem;font-weight:800;cursor:pointer;user-select:none}
.fg-t .chev{color:var(--gray);transition:transform .2s}
.fgroup.closed .fg-body{display:none}
.fgroup.closed .chev{transform:rotate(-90deg)}
.fg-body{margin-top:.7rem}
.frow{display:flex;align-items:center;gap:.55rem;padding:.3rem 0;font-size:.8rem;font-weight:500;cursor:pointer}
.frow input{accent-color:var(--blue);width:15px;height:15px}
.frow .cnt{margin-left:auto;color:var(--gray);font-size:.72rem;font-weight:600}
.frow .only{display:none;margin-left:auto;color:var(--blue);font-size:.68rem;font-weight:800}
.frow:hover .only{display:inline}
.frow:hover .cnt{display:none}
.frow img{width:20px;height:20px;border-radius:5px;object-fit:contain;background:#fff;box-shadow:var(--shadow-s)}
input[type=range]{width:100%;accent-color:var(--blue);margin-top:.35rem}
.range-val{font-size:.8rem;font-weight:800}
.range-lbls{display:flex;justify-content:space-between;font-size:.66rem;color:var(--gray);margin-top:.15rem}

.legtabs{display:none;gap:.6rem;margin-bottom:1rem;flex-wrap:wrap}
body.mcResults .legtabs{display:flex}
.legtab{border:1px solid var(--line);background:#fff;border-radius:14px;padding:.55rem 1rem;font-size:.78rem;font-weight:800;cursor:pointer;box-shadow:var(--shadow-s);font-family:'Plus Jakarta Sans',sans-serif}
.legtab.on{background:#EDF3FA;border-color:rgba(46,124,246,.45);color:var(--blue)}
.legtab small{display:block;font-size:.62rem;color:var(--gray);font-weight:600;font-family:'Inter',sans-serif}

.sumtabs{display:none;grid-template-columns:1fr 1fr 1fr;gap:.8rem;margin-bottom:1rem}
body.hasResults .sumtabs{display:grid}
@media(max-width:700px){.sumtabs{grid-template-columns:1fr}}
.sumtab{padding:.85rem 1.1rem;text-align:left;border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:16px;box-shadow:var(--shadow-s);transition:all .2s}
.sumtab:hover{transform:translateY(-2px);box-shadow:var(--shadow-m)}
.sumtab .n{font-size:.78rem;font-weight:800;color:var(--gray)}
.sumtab .v{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;margin-top:.1rem}
.sumtab .d{font-size:.7rem;color:var(--gray);font-weight:600}
.sumtab.on{background:#EDF3FA;border-color:rgba(46,124,246,.45)}
.sumtab.on .n{color:var(--blue)}

.pgraph{display:none;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:.85rem 1.1rem .5rem;margin-bottom:1rem;box-shadow:var(--shadow-s)}
body.hasResults .pgraph{display:block}
.pg-t{font-size:.74rem;font-weight:600;color:var(--gray);margin-bottom:.35rem;display:flex;align-items:center;gap:.4rem}
.pg-t b{color:var(--ink);font-weight:800}
#pgCanvas{width:100%;height:64px;display:block}
.share-chip{margin-left:auto;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.35rem .9rem;font-size:.7rem;font-weight:800;color:var(--blue);cursor:pointer;box-shadow:var(--shadow-s)}
.share-chip:hover{border-color:rgba(46,124,246,.45)}

.offer{background:var(--white);border:1px solid var(--line);border-radius:16px;margin-bottom:.9rem;position:relative;box-shadow:var(--shadow-s);transition:transform .18s,box-shadow .18s}
.offer:hover{transform:translateY(-2px);box-shadow:var(--shadow-m)}
.offer.sel{border-color:rgba(46,124,246,.55);box-shadow:0 0 0 3px rgba(46,124,246,.16),var(--shadow-m)}
.badge{position:absolute;top:-10px;left:16px;font-size:.66rem;font-weight:800;color:#fff;padding:.28rem .85rem;border-radius:999px;letter-spacing:.04em;z-index:2;box-shadow:0 5px 14px rgba(18,32,58,.2)}
.b-best{background:var(--accent)}
.b-cheap{background:var(--green)}
.b-quick{background:#7A4DD8}
.o-main{display:grid;grid-template-columns:auto 1fr 208px;gap:1.1rem;padding:1.15rem 1.2rem 1rem;align-items:start}
@media(max-width:700px){.o-main{grid-template-columns:1fr}}
.legs{display:flex;flex-direction:column;gap:1rem;padding-top:.3rem}
.leg{display:grid;grid-template-columns:38px 1fr;gap:.9rem;align-items:center}
.al-logo{width:38px;height:38px;border-radius:10px;object-fit:contain;background:#fff;box-shadow:var(--shadow-s)}
.al-fb{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:800;color:#fff;box-shadow:var(--shadow-s)}
.leg-body{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.lg-times{font-size:1.08rem;font-weight:800;letter-spacing:-.02em}
.lg-times small{font-size:.7rem;font-weight:600;color:var(--gray);margin-left:.45rem}
.lg-mid{text-align:center;min-width:124px}
.lg-dur{font-size:.72rem;font-weight:700;color:var(--gray)}
.lg-bar{position:relative;height:3px;background:#E3EBF5;margin:.35rem 0;border-radius:3px}
.lg-bar::after{content:'';position:absolute;right:-1px;top:-2px;width:7px;height:7px;border-radius:50%;background:var(--blue)}
.lg-bar i{position:absolute;top:-3px;width:9px;height:9px;border-radius:50%;background:#fff;border:2.5px solid var(--blue)}
.lg-stops{font-size:.7rem;font-weight:800}
.lg-stops.ns{color:var(--green)}
.lg-stops.s1{color:#C77A1B}
.o-side{position:relative;border-left:1px solid var(--line);padding-left:1.2rem;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;text-align:right}
.o-side::before,.o-side::after{display:none}
@media(max-width:700px){.o-side{border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:1rem;flex-direction:row;justify-content:space-between;align-items:center}}
.price{font-size:1.75rem;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--ink)}
.pp{font-size:.68rem;color:var(--gray);font-weight:600;margin-top:.2rem}
.cab-tag{display:inline-block;background:#EDF3FA;color:var(--blue);font-size:.64rem;font-weight:800;border-radius:999px;padding:.22rem .7rem;margin-top:.4rem}
.view{margin-top:.65rem;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:.9rem;font-weight:800;padding:.6rem 1.5rem;cursor:pointer;display:inline-block;box-shadow:none;transition:background .15s}
.view:hover{background:var(--accent2)}
.pick{margin-top:.45rem;background:#fff;border:1.5px solid rgba(46,124,246,.5);color:var(--blue);border-radius:12px;font-size:.78rem;font-weight:800;padding:.45rem 1.1rem;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;display:none}
body.mcResults .pick{display:inline-block}
.offer.sel .pick{background:var(--blue);color:#fff}
.o-foot{display:flex;justify-content:flex-end;gap:1rem;align-items:center;border-top:1px solid var(--line);padding:.55rem 1.2rem;background:#FAFCFF;border-radius:0 0 15px 15px}
.o-foot .prov{font-size:.66rem;color:var(--gray);font-weight:600;display:flex;align-items:center;gap:.7rem}
.barcode{width:64px;height:15px;background:repeating-linear-gradient(90deg,rgba(18,32,58,.7) 0 2px,transparent 2px 4px,rgba(18,32,58,.7) 4px 5px,transparent 5px 8px);border-radius:2px}
.det-btn{background:none;border:none;color:var(--ink2);font-size:.76rem;font-weight:800;cursor:pointer}
.det-btn:hover{color:var(--blue)}
.segs{display:none;border-top:1px solid var(--line);padding:.95rem 1.2rem;background:#FAFCFF;border-radius:0 0 15px 15px}
.segs.open{display:block}
.seg{display:grid;grid-template-columns:28px 1fr;gap:.75rem;padding:.4rem 0}
.seg img{width:26px;height:26px;border-radius:7px;object-fit:contain;background:#fff;box-shadow:var(--shadow-s)}
.seg-b{font-size:.8rem}
.seg-b b{font-weight:800}
.seg-b .mut{color:var(--gray);font-size:.72rem;font-weight:600}
.layover{font-size:.72rem;color:#C77A1B;font-weight:800;padding:.28rem 0 .28rem 2.55rem}

.tripbar{display:none;position:sticky;bottom:0;z-index:80;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);box-shadow:0 -10px 28px rgba(18,32,58,.1)}
body.mcResults .tripbar{display:block}
.tb-in{max-width:1180px;margin:0 auto;padding:.7rem 1.25rem;display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.tb-legs{display:flex;gap:1rem;flex-wrap:wrap;font-size:.74rem;font-weight:700}
.tb-legs span{color:var(--gray)}
.tb-legs b{color:var(--ink)}
.tb-total{margin-left:auto;font-size:.8rem;font-weight:700;color:var(--gray);text-align:right}
.tb-total b{display:block;font-size:1.3rem;font-family:'Plus Jakarta Sans',sans-serif;color:var(--accent2)}
.tb-total small{display:block;font-size:.6rem;font-weight:600}

.state{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:2.75rem 1.5rem;text-align:center;box-shadow:var(--shadow-s)}
.pel{width:136px;height:auto;margin:0 auto .6rem;display:block;filter:drop-shadow(0 10px 18px rgba(18,32,58,.12))}
.state h3{font-size:1.35rem;font-weight:800;margin-bottom:.45rem;letter-spacing:-.02em}
.state p{font-size:.84rem;color:var(--gray);line-height:1.75;max-width:460px;margin:0 auto;font-weight:500}
.skel{background:var(--white);border:1px solid var(--line);border-radius:16px;height:122px;margin-bottom:.9rem;position:relative;overflow:hidden;box-shadow:var(--shadow-s)}
.skel::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(46,124,246,.06),transparent);animation:sh 1.2s infinite}
@keyframes sh{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.searching{font-size:.82rem;font-weight:700;color:var(--gray);text-align:center;padding:.6rem}
.searching b{color:var(--accent2)}
footer{background:#0F1A30;padding:2.25rem 1.25rem;position:relative;overflow:hidden}
footer .fin{max-width:1180px;margin:0 auto;position:relative;z-index:2}
footer p{font-size:.7rem;color:rgba(244,248,253,.55);line-height:1.9;font-weight:500}
footer b{color:rgba(244,248,253,.9)}
.f-stars{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.35) 1px,transparent 1.6px);background-size:90px 70px;opacity:.35}


@supports (color: color(display-p3 1 0 0)){
  :root{--accent:color(display-p3 .93 .64 .1);--accent2:color(display-p3 .8 .52 .08);--blue:color(display-p3 .42 .3 .93);--green:color(display-p3 0 .72 .46)}
  .b-best{background:color(display-p3 .93 .64 .1)}
  .b-cheap{background:color(display-p3 0 .72 .46)}
  .b-quick{background:color(display-p3 .5 .3 .92)}
}


.bc-pop{position:fixed;right:18px;bottom:18px;z-index:400;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-l);padding:1.1rem 1.2rem;max-width:340px;transform:translateY(24px);opacity:0;pointer-events:none;transition:all .35s cubic-bezier(.2,.9,.3,1.2)}
.bc-pop.show{transform:none;opacity:1;pointer-events:auto}
.bc-pop .bp-k{font-size:.62rem;font-weight:800;letter-spacing:.1em;color:var(--green);text-transform:uppercase}
.bc-pop h4{font-family:'Plus Jakarta Sans',sans-serif;font-size:1rem;font-weight:800;margin:.3rem 0 .2rem}
.bc-pop p{font-size:.76rem;color:var(--gray);font-weight:500;line-height:1.5}
.bc-pop .bp-go{margin-top:.7rem;background:var(--accent);color:#fff;border:none;border-radius:12px;font-weight:800;font-size:.84rem;padding:.55rem 1.2rem;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif}
.bc-pop .bp-go:hover{background:var(--accent2)}
.bc-pop .bp-x{position:absolute;top:.5rem;right:.7rem;background:none;border:none;color:var(--gray);font-size:1rem;cursor:pointer;font-weight:800}
.deal-tag{background:rgba(0,182,122,.12);color:var(--green);font-size:.64rem;font-weight:800;border-radius:999px;padding:.18rem .6rem}


@media(max-width:700px){
  .hero-in h1{font-weight:700;font-size:clamp(1.6rem,7.5vw,2.2rem);letter-spacing:-.02em}
  .hero-in .sub{font-weight:400;font-size:.88rem}
  .logo{font-weight:700;font-size:1.2rem}
  .logo small{font-weight:500;letter-spacing:.22em}
  .wfield label{font-weight:600}
  .wfield input,.wfield select,.pax-btn{font-weight:600;font-size:.95rem}
  .wgo button{font-weight:700;font-size:.95rem}
  .trip-seg button{font-weight:600}
  .qroutes span{font-weight:500}
  .price{font-weight:700;font-size:1.5rem}
  .lg-times{font-weight:700;font-size:1rem}
  .sumtab .n{font-weight:700}
  .sumtab .v{font-weight:700;font-size:1.1rem}
  .badge{font-weight:700}
  .view,.pick,.pax-done,.mc-add,.legtab{font-weight:700}
  .state h3{font-weight:700;font-size:1.2rem}
  .fg-t,.rail-hd b{font-weight:700}
  .frow{font-weight:400}
  .det-btn,.rail-hd a{font-weight:700}
  .tb-total b{font-weight:700}
}


@supports (color: color(rec2020 1 0 0)){
  :root{--accent:color(rec2020 .92 .62 .1);--accent2:color(rec2020 .78 .5 .08);--blue:color(rec2020 .4 .28 .93);--green:color(rec2020 .05 .68 .42)}
  .b-best{background:color(rec2020 .92 .62 .1)}
  .b-cheap{background:color(rec2020 .05 .68 .42)}
  .b-quick{background:color(rec2020 .4 .28 .93)}
  .sky{background:
    radial-gradient(900px 460px at 88% -8%,color(rec2020 1 .62 .26 / .62),transparent 58%),
    radial-gradient(1000px 560px at -6% 30%,color(rec2020 .16 .42 1 / .72),transparent 60%),
    linear-gradient(168deg,color(rec2020 .06 .3 .92) 0%,color(rec2020 .12 .38 1) 46%,color(rec2020 .2 .46 1) 72%,color(rec2020 .4 .6 1) 100%)}
}


.tools{display:flex;gap:.5rem;align-items:center}
.tool-sel{border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.14);color:#fff;border-radius:999px;padding:.4rem .8rem;font-size:.72rem;font-weight:700;font-family:'Inter',sans-serif;outline:none;cursor:pointer;backdrop-filter:blur(6px)}
.tool-sel option{color:var(--ink)}
.dark-btn{border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.14);color:#fff;border-radius:999px;width:34px;height:34px;cursor:pointer;font-size:.9rem;backdrop-filter:blur(6px)}
.stats{display:none;font-size:.76rem;font-weight:600;color:var(--gray);margin:0 0 .8rem}
body.hasResults .stats{display:block}
.stats b{color:var(--ink);font-weight:800}
.flexstrip{display:none;gap:.45rem;margin-bottom:1rem;flex-wrap:wrap}
body.hasResults .flexstrip{display:flex}
.fx{border:1px solid var(--line);background:var(--white);border-radius:12px;padding:.45rem .8rem;font-size:.72rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow-s);text-align:center}
.fx small{display:block;font-size:.62rem;color:var(--gray);font-weight:600}
.fx.on{border-color:var(--blue);color:var(--blue)}
.fx:hover{border-color:var(--blue)}
.watchrow{display:flex;gap:.5rem;margin-top:.6rem;flex-wrap:wrap;align-items:center}
.watchrow .wl{font-size:.66rem;font-weight:700;color:rgba(255,255,255,.75);letter-spacing:.08em;text-transform:uppercase}
.watch-chip{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);color:#fff;font-size:.72rem;font-weight:600;border-radius:999px;padding:.35rem .9rem;cursor:pointer;backdrop-filter:blur(6px)}
.watch-chip b{color:#FFD34D}
.savebtn{background:none;border:none;color:var(--gray);font-size:.76rem;font-weight:800;cursor:pointer}
.savebtn:hover{color:var(--accent)}
.cmp-check{display:flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:700;color:var(--gray);cursor:pointer}
.cmp-check input{accent-color:var(--blue)}
.cmpbar{display:none;position:sticky;bottom:0;z-index:90;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid var(--line);box-shadow:0 -10px 28px rgba(18,32,58,.12)}
.cmpbar.show{display:block}
.cmp-in{max-width:1180px;margin:0 auto;padding:.8rem 1.25rem;overflow-x:auto}
.cmp-t{width:100%;border-collapse:collapse;font-size:.76rem}
.cmp-t th{text-align:left;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);padding:.3rem .8rem .3rem 0}
.cmp-t td{padding:.3rem .8rem .3rem 0;font-weight:700;border-top:1px solid var(--line)}
.cmp-x{background:none;border:none;color:var(--accent);font-weight:800;cursor:pointer;font-size:.72rem}
[data-theme="dark"]{--bg:#0D1524;--white:#152036;--ink:#EAF0FB;--ink2:#C3CEE3;--line:rgba(234,240,251,.1);--gray:#93A1BC;
--shadow-s:0 1px 2px rgba(0,0,0,.3),0 3px 10px rgba(0,0,0,.25);
--shadow-m:0 2px 4px rgba(0,0,0,.3),0 10px 26px rgba(0,0,0,.35);
--shadow-l:0 4px 10px rgba(0,0,0,.35),0 18px 44px rgba(0,0,0,.45)}
[data-theme="dark"] .wrow,[data-theme="dark"] .wfield,[data-theme="dark"] .mc-leg{background:#152036}
[data-theme="dark"] .wfield input,[data-theme="dark"] .wfield select,[data-theme="dark"] .pax-btn{color:var(--ink)}
[data-theme="dark"] .wfield:hover{background:#1B2842}
[data-theme="dark"] .pax-pop,[data-theme="dark"] .bc-pop,[data-theme="dark"] .cmpbar{background:#152036}
[data-theme="dark"] .o-foot,[data-theme="dark"] .segs{background:#101A2E}
[data-theme="dark"] .trip-seg{background:rgba(255,255,255,.12)}
[data-theme="dark"] .trip-seg button.on{background:var(--blue);color:#fff}



.hero-in h1{font-weight:700 !important}
.price{font-weight:700 !important}
.lg-times{font-weight:700 !important}
.sumtab .v{font-weight:700 !important}
.logo{font-weight:700 !important}
.wgo button,.view,.pax-done{font-weight:700 !important}
.wfield input,.wfield select,.pax-btn{font-weight:600 !important}
.badge,.legtab,.pick,.mc-add{font-weight:700 !important}
.state h3,.rail-hd b,.fg-t{font-weight:700 !important}
.hero-in .sub{font-weight:400 !important}
.frow{font-weight:400 !important}
body{font-weight:400}

.wrow{padding:6px;gap:3px;border-radius:22px}
.wfield{padding:.85rem 1.15rem}
.wfield label{font-size:.64rem}
.wfield input,.wfield select,.pax-btn{font-size:1.08rem}
.wgo button{min-height:66px;font-size:1.05rem;padding:0 2.5rem}
.swap{width:44px}

.fly2{position:absolute;top:220px;left:-14%;z-index:2;pointer-events:none;animation:fly2 26s linear infinite;animation-delay:6s;opacity:.65;filter:drop-shadow(0 4px 8px rgba(10,30,90,.3))}
.fly2 svg{width:34px;height:auto;display:block;transform:scaleX(1)}
@keyframes fly2{0%{transform:translate(0,0) rotate(2deg) scale(.8)}100%{transform:translate(130vw,-46px) rotate(-2deg) scale(.8)}}
.fly3{position:absolute;top:60px;right:-12%;z-index:2;pointer-events:none;animation:fly3 34s linear infinite;animation-delay:12s;opacity:.45}
.fly3 svg{width:26px;height:auto;display:block;transform:scaleX(-1)}
@keyframes fly3{0%{transform:translate(0,0) rotate(-2deg)}100%{transform:translate(-135vw,30px) rotate(2deg)}}
@media (prefers-reduced-motion: reduce){.fly2,.fly3{display:none}}

.calbtn{border:1px solid var(--line);background:var(--white);border-radius:999px;padding:.45rem 1rem;font-size:.74rem;font-weight:700;color:var(--blue);cursor:pointer;box-shadow:var(--shadow-s)}
.calbtn:hover{border-color:var(--blue)}
.calwrap{display:none;background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-m);padding:1rem 1.1rem;margin-bottom:1rem}
.calwrap.show{display:block}
.cal-hd{display:flex;align-items:center;gap:.8rem;margin-bottom:.6rem}
.cal-hd b{font-family:'Plus Jakarta Sans',sans-serif;font-size:.95rem;font-weight:700}
.cal-nav{border:1px solid var(--line);background:#fff;border-radius:10px;width:30px;height:30px;cursor:pointer;font-weight:700;color:var(--blue)}
.cal-scan{margin-left:auto;border:none;background:var(--blue);color:#fff;border-radius:999px;padding:.4rem 1rem;font-size:.72rem;font-weight:700;cursor:pointer}
.cal-scan:disabled{opacity:.5;cursor:wait}
.cal-note{font-size:.66rem;color:var(--gray);font-weight:500;margin-bottom:.6rem}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-w{font-size:.6rem;font-weight:700;color:var(--gray);text-align:center;text-transform:uppercase;letter-spacing:.06em;padding:.2rem 0}
.cald{border:1px solid var(--line);border-radius:10px;padding:.4rem .2rem;text-align:center;cursor:pointer;min-height:52px;background:#fff;transition:all .15s}
.cald:hover{border-color:var(--blue)}
.cald.off{opacity:.32;cursor:default;background:transparent;border-color:transparent}
.cald .dn{font-size:.72rem;font-weight:700}
.cald .dp{font-size:.62rem;font-weight:700;color:var(--gray);margin-top:.15rem}
.cald.known .dp{color:var(--ink)}
.cald.best{background:rgba(0,182,122,.14);border-color:var(--green)}
.cald.best .dp{color:var(--green)}
.cald.cur{outline:2px solid var(--blue);outline-offset:1px}
.cald.busy .dp::after{content:'\2026'}

.sort-sel{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.4rem .8rem;font-size:.72rem;font-weight:700;color:var(--ink2);font-family:'Inter',sans-serif;outline:none;cursor:pointer}


.destwrap{max-width:1180px;margin:0 auto 3rem;padding:0 1.25rem}
body.searched .destwrap{display:none}
.destwrap h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.3rem;font-weight:700;margin-bottom:.25rem}
.destwrap .dsub{font-size:.8rem;color:var(--gray);font-weight:500;margin-bottom:1.1rem}
.destgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem}
@media(max-width:960px){.destgrid{grid-template-columns:repeat(2,1fr)}}
.dcard{position:relative;border-radius:20px;overflow:hidden;min-height:150px;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;padding:1rem 1.1rem;color:#fff;box-shadow:var(--shadow-m);transition:transform .25s cubic-bezier(.2,.8,.3,1.2),box-shadow .25s;isolation:isolate}
.dcard:hover{transform:translateY(-5px) scale(1.015);box-shadow:var(--shadow-l)}
.dcard::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.25'/%3E%3C/svg%3E");mix-blend-mode:overlay;z-index:-1}
.dcard .dcode{position:absolute;top:.6rem;right:.9rem;font-family:'Plus Jakarta Sans',sans-serif;font-size:2.2rem;font-weight:700;letter-spacing:.06em;opacity:.28}
.dcard .dcity{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.05rem;font-weight:700}
.dcard .dfrom{font-size:.68rem;font-weight:600;opacity:.85;margin-top:.15rem}

@keyframes riseIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.offer{animation:riseIn .45s cubic-bezier(.2,.8,.3,1) both}
@media (prefers-reduced-motion: reduce){.offer{animation:none}}


.dprice{display:inline-block;font-family:'Plus Jakarta Sans',sans-serif;font-size:1.02rem;font-weight:700;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:.2rem .7rem;margin-top:.4rem;backdrop-filter:blur(4px)}
.dair{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.45rem}
.dair span{font-size:.6rem;font-weight:700;background:rgba(0,0,0,.28);border-radius:999px;padding:.16rem .5rem;letter-spacing:.02em}
.dam{font-size:.62rem;font-weight:600;opacity:.9;margin-top:.35rem}
.dattr{font-size:.6rem;color:var(--gray);font-weight:500;margin-top:.7rem}
.dcard{min-height:196px}

.dcard::after{content:'';position:absolute;top:0;bottom:0;left:-70%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-14deg);transition:left .55s ease;z-index:0;pointer-events:none}
.dcard:hover::after{left:125%}

.rail{border:2px solid #12203A !important}
[data-theme="dark"] .rail{border-color:rgba(234,240,251,.4) !important}

.rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.rv{opacity:1;transform:none;transition:none}.dcard::after{display:none}}

.hero-in h1 span{background:linear-gradient(100deg,#FFD34D 20%,#FFF3C4 40%,#FFD34D 60%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 5.5s linear infinite}
@keyframes shimmer{from{background-position:180% 0}to{background-position:-40% 0}}
@media (prefers-reduced-motion: reduce){.hero-in h1 span{animation:none;color:#FFD34D;background:none;-webkit-background-clip:initial}}

.froutes{max-width:1180px;margin:0 auto 1.25rem;display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem 1.5rem;padding-bottom:1.25rem;border-bottom:1px solid rgba(255,255,255,.12)}
@media(max-width:800px){.froutes{grid-template-columns:repeat(2,1fr)}}
.froutes a{font-size:.7rem;color:rgba(244,248,253,.65);font-weight:500;cursor:pointer;padding:.15rem 0}
.froutes a:hover{color:#FFD34D}


.dcard{min-height:172px;padding:.9rem 1rem 2.6rem;justify-content:flex-end}
.dcard .dcode{font-size:1.9rem}
.dcard .dcity{font-size:1rem}
.dcard .dfrom{font-size:.64rem}
.dair{margin-top:.4rem}
.dair span{font-size:.55rem;padding:.14rem .45rem;background:rgba(0,0,0,.32)}
.dam{font-size:.58rem;margin-top:.3rem}
.dprice{position:absolute;right:.8rem;bottom:.7rem;margin:0;font-size:.8rem;padding:.22rem .65rem}
.dref{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.25rem .7rem;font-size:.66rem;font-weight:700;color:var(--blue);cursor:pointer;margin-left:.5rem}

.topbtn{position:fixed;right:18px;bottom:78px;z-index:350;width:42px;height:42px;border-radius:50%;border:none;background:var(--blue);color:#fff;font-size:1.05rem;cursor:pointer;box-shadow:var(--shadow-m);opacity:0;pointer-events:none;transition:opacity .3s}
.topbtn.show{opacity:1;pointer-events:auto}

.pbar{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--accent),#FFD34D);width:0;z-index:600;transition:width .4s ease;border-radius:0 3px 3px 0}
.pbar.run{width:82%}
.pbar.done{width:100%;opacity:0;transition:width .2s,opacity .5s .25s}


.railtoggle{display:none}
@media(max-width:920px){
  
  .rail{display:none}
  .rail.open{display:block;position:static;margin-bottom:1rem}
  .railtoggle{display:block;width:100%;border:2px solid #12203A;background:#fff;border-radius:14px;padding:.7rem 1rem;font-size:.85rem;font-weight:700;color:var(--ink);cursor:pointer;margin-bottom:.8rem;box-shadow:var(--shadow-s);text-align:left}
  [data-theme="dark"] .railtoggle{background:var(--white);color:var(--ink);border-color:rgba(234,240,251,.4)}
}
@media(max-width:700px){
  
  .hero-in{padding:1.6rem 1rem 2.4rem}
  .wrow{grid-template-columns:1fr;gap:4px;padding:5px;border-radius:18px}
  .wgo{grid-column:auto}
  .wgo button{width:100%;min-height:54px}
  .wfield{padding:.65rem .9rem}
  .wfield input,.wfield select,.pax-btn{font-size:16px !important}
  .wfield input[type=date]{min-height:24px}
  .route-pair{grid-template-columns:1fr 40px 1fr}
  .swap{width:40px}
  .trip-seg{width:100%;justify-content:space-between}
  .trip-seg button{flex:1;padding:.5rem .4rem;font-size:.76rem}
  
  .hdr{flex-wrap:wrap;padding:.9rem 1rem;gap:.5rem}
  .tools{margin-left:auto;gap:.4rem}
  .tool-sel{padding:.32rem .6rem;font-size:.68rem}
  .dark-btn{width:30px;height:30px;font-size:.8rem}
  .hsum{order:3;width:100%;justify-content:space-between;margin-top:.2rem;padding:.5rem .9rem;font-size:.74rem}
  
  .sortline{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:1.1rem;padding-bottom:.7rem;scrollbar-width:none}
  .sortline::-webkit-scrollbar{display:none}
  .stab{white-space:nowrap;flex:0 0 auto}
  .sort-sel{flex:0 0 auto}
  .src-note{display:none}
  .qroutes,.watchrow,#recents{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.2rem}
  .qroutes::-webkit-scrollbar,.watchrow::-webkit-scrollbar{display:none}
  .qroutes span,.watch-chip{white-space:nowrap;flex:0 0 auto}
  .flexstrip{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .fx{flex:0 0 auto;white-space:nowrap}
  
  .sumtabs{grid-template-columns:repeat(3,1fr);gap:.45rem}
  .sumtab{padding:.55rem .6rem;border-radius:13px}
  .sumtab .n{font-size:.62rem}
  .sumtab .v{font-size:.92rem}
  .sumtab .d{font-size:.58rem}
  
  #pgCanvas{height:46px}
  .pg-t{flex-wrap:wrap;row-gap:.35rem}
  .cald{min-height:44px;padding:.3rem .1rem}
  .cald .dn{font-size:.66rem}
  .cald .dp{font-size:.54rem}
  .cal-hd b{font-size:.82rem}
  .cal-scan{padding:.35rem .7rem;font-size:.64rem}
  
  .o-main{padding:.95rem .95rem .8rem;gap:.7rem}
  .lg-times{font-size:.98rem !important}
  .lg-mid{min-width:100px}
  .price{font-size:1.35rem !important}
  .view{width:100%;text-align:center;padding:.6rem 0}
  .o-foot{flex-wrap:wrap;gap:.5rem .8rem;padding:.5rem .95rem}
  .o-foot .prov{width:100%;font-size:.6rem}
  .cmp-check,.savebtn,.det-btn{font-size:.68rem}
  .barcode{display:none}
  
  .destgrid{display:grid;grid-auto-flow:column;grid-auto-columns:76%;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:.6rem;scrollbar-width:none}
  .destgrid::-webkit-scrollbar{display:none}
  .dcard{scroll-snap-align:center;min-height:180px}
  .destwrap{padding:0 1rem;margin-bottom:2rem}
  
  .tripbar .tb-in,.cmp-in{padding-bottom:calc(.7rem + env(safe-area-inset-bottom))}
  .bc-pop{right:10px;left:10px;max-width:none;bottom:calc(10px + env(safe-area-inset-bottom))}
  .topbtn{bottom:calc(64px + env(safe-area-inset-bottom))}
  .tb-legs{font-size:.66rem;gap:.6rem}
  .tb-total b{font-size:1.05rem}
  
  .wrap{padding:0 1rem;margin-top:.9rem;gap:.9rem}
  .stats{font-size:.7rem}
  .froutes{gap:.25rem 1rem}
  .froutes a{font-size:.66rem}
  .hero-in h1{max-width:100%}
}


@media(max-width:700px){
  
  .destgrid{display:grid;grid-auto-flow:row;grid-template-columns:1fr;grid-auto-columns:auto;overflow:visible;scroll-snap-type:none;gap:.8rem}
  .dcard{min-height:168px}
  
  body{overflow-x:hidden}
  .wrap>main,.wrap>aside{min-width:0}
  .sumtab,.legtab,.fx{min-width:0}
  .sumtab .v{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  canvas,img,svg,table{max-width:100%}
  .cmp-in{overflow-x:auto}
  
  .qroutes,.watchrow,#recents,.flexstrip,.sortline{-webkit-mask-image:linear-gradient(90deg,#000 90%,transparent);mask-image:linear-gradient(90deg,#000 90%,transparent)}
  
  .fly2,.fly3{display:none}
  
  body.pgClosed #pgCanvas{display:none}
  
  .bnav{position:fixed;left:0;right:0;bottom:0;z-index:450;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:.35rem 0 calc(.35rem + env(safe-area-inset-bottom))}
  [data-theme="dark"] .bnav{background:rgba(21,32,54,.97)}
  .bnav button{border:none;background:none;font-family:'Inter',sans-serif;font-size:.6rem;font-weight:700;color:var(--gray);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.25rem 0}
  .bnav button span{font-size:1.05rem;line-height:1}
  .bnav button.on{color:var(--blue)}
  body.mcResults .bnav{display:none}
  .tripbar{bottom:0}
  footer{padding-bottom:5.2rem}
  .topbtn{display:none}
  .bc-pop{bottom:calc(64px + env(safe-area-inset-bottom))}
}
@media(min-width:701px){.bnav{display:none}}

button,.qroutes span,.watch-chip,.rec-chip,.fx,.dcard,.stab,.sumtab,.legtab{transition:transform .12s ease, box-shadow .2s, background .2s, color .2s, border-color .2s}
button:active,.qroutes span:active,.watch-chip:active,.fx:active,.dcard:active,.stab:active,.sumtab:active,.legtab:active{transform:scale(.97)}

.state-sug{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}
.state-sug span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.4rem .9rem;font-size:.72rem;font-weight:700;color:var(--blue);cursor:pointer}
[data-theme="dark"] .state-sug span{background:var(--white)}


.lg2{display:flex;align-items:center;gap:.55rem}
.lg-word{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.5rem;font-weight:700;letter-spacing:-.04em;color:#fff}
.lg-word b{font-weight:800;color:#43E97B}
.lg-word i{color:rgba(255,255,255,.62)}
.lg-word i{font-style:normal;font-weight:600;color:rgba(255,255,255,.62);font-size:.78em;margin-left:1px}
.lg-word small{display:none}
.lg-box{display:block;width:42px;height:42px;border-radius:13px;box-shadow:0 5px 16px rgba(27,154,78,.5),inset 0 0 0 1px rgba(255,255,255,.2);transition:transform .25s ease,box-shadow .25s ease}
.lg-box svg{display:block;width:100%;height:100%}
.lg2:hover .lg-box{transform:translateY(-2px) scale(1.04);box-shadow:0 9px 24px rgba(27,154,78,.65),inset 0 0 0 1px rgba(255,255,255,.25)}

.lg-mark svg{display:block;width:100%;height:100%}
.lg-word{line-height:1.05}
.lg-word i{font-style:normal;font-weight:600;color:rgba(255,255,255,.72);font-size:.8em}
@media(max-width:700px){.lg-mark{width:36px;height:36px}}


.pal{display:none;position:fixed;inset:0;background:rgba(10,16,32,.55);backdrop-filter:blur(4px);z-index:700;align-items:flex-start;justify-content:center;padding-top:14vh}
.pal.show{display:flex}
.pal-card{background:#fff;border-radius:18px;box-shadow:var(--shadow-l);width:min(520px,92vw);overflow:hidden}
[data-theme="dark"] .pal-card{background:var(--white)}
.pal-card input{width:100%;border:none;outline:none;font-size:1.05rem;font-weight:600;padding:1rem 1.2rem;font-family:'Inter',sans-serif;background:transparent;color:var(--ink)}
.pal-hint{font-size:.66rem;color:var(--gray);padding:0 1.2rem 1rem;font-weight:500}
.pal-hint kbd{background:rgba(18,32,58,.08);border-radius:5px;padding:.1rem .4rem;font-family:inherit}

.insight{display:none;background:linear-gradient(135deg,#EDF3FA,#F5F9FF);border:1px solid rgba(46,124,246,.25);border-radius:14px;padding:.7rem 1rem;font-size:.8rem;font-weight:600;color:var(--ink);margin-bottom:.9rem}
body.hasResults .insight{display:block}
[data-theme="dark"] .insight{background:rgba(46,124,246,.12)}
.insight b{color:var(--blue)}

.resume{display:none;max-width:1180px;margin:1rem auto 0;padding:0 1.25rem}
.resume.show{display:block}
body.searched .resume{display:none}
.resume-in{background:#fff;border:2px solid #FFC94D;border-radius:16px;padding:.8rem 1.1rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow-m);cursor:pointer;flex-wrap:wrap}
[data-theme="dark"] .resume-in{background:var(--white)}
.resume-in b{font-family:'Plus Jakarta Sans',sans-serif}
.resume-in .rgo{margin-left:auto;color:var(--blue);font-weight:800;font-size:.8rem}

.pg-tip{position:absolute;background:#12203A;color:#fff;font-size:.66rem;font-weight:700;border-radius:8px;padding:.25rem .55rem;pointer-events:none;transform:translate(-50%,-130%);white-space:nowrap;display:none;z-index:5}
.pgraph{position:relative}

.routeline{display:inline-flex;align-items:center;gap:.35rem;margin-right:.6rem;font-weight:800}
.routeline .routeline @keyframes rlfly{from{left:-6px}to{left:44px}}

.cmp-t td.win{color:var(--green);font-weight:800}

.offer.kfocus{outline:3px solid rgba(46,124,246,.55);outline-offset:2px}

@media print{
  .sky,.bnav,.rail,.railtoggle,.tripbar,.cmpbar,.bc-pop,.topbtn,.destwrap,footer,.sortline,.pgraph,.flexstrip,.calwrap,.share-chip,.view,.pick,.savebtn,.cmp-check,.det-btn,.o-foot .barcode{display:none !important}
  body{background:#fff}
  .offer{break-inside:avoid;box-shadow:none;border:1px solid #ccc}
  .wrap{display:block;max-width:100%}
}


.gold-btn{border:none;background:linear-gradient(135deg,#FFE49A,#FFC94D);color:#5A3E00;border-radius:999px;padding:.5rem 1.1rem;font-size:.74rem;font-weight:800;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;box-shadow:0 4px 14px rgba(255,201,77,.45);white-space:nowrap}
.gold-btn.is{background:rgba(255,255,255,.16);color:#FFD34D;border:1px solid rgba(255,211,77,.55);box-shadow:none}
.gmodal{display:none;position:fixed;inset:0;background:rgba(10,16,32,.6);backdrop-filter:blur(5px);z-index:800;align-items:center;justify-content:center;padding:1rem}
.gmodal.show{display:flex}
.gm-card{background:#fff;border-radius:22px;box-shadow:var(--shadow-l);width:min(440px,94vw);padding:1.6rem 1.5rem;position:relative}
[data-theme="dark"] .gm-card{background:var(--white)}
.gm-x{position:absolute;top:.8rem;right:1rem;background:none;border:none;font-size:1.1rem;color:var(--gray);cursor:pointer;font-weight:800}
.gm-k{display:inline-block;background:linear-gradient(135deg,#FFE49A,#FFC94D);color:#5A3E00;border-radius:999px;padding:.25rem .8rem;font-size:.64rem;font-weight:800;letter-spacing:.08em}
.gm-card h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.35rem;font-weight:700;margin:.7rem 0 .3rem}
.gm-card p{font-size:.8rem;color:var(--gray);font-weight:500;line-height:1.6}
.gm-perks{margin:.9rem 0;display:grid;gap:.45rem}
.gm-perks div{font-size:.78rem;font-weight:600;display:flex;gap:.5rem;align-items:baseline}
.gm-perks div::before{content:'\2726';color:#D8A62A;font-weight:800}
.gm-in{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:.65rem .9rem;font-size:16px;font-weight:600;outline:none;margin-top:.5rem;font-family:'Inter',sans-serif;background:transparent;color:var(--ink)}
.gm-in:focus{border-color:#FFC94D}
.gm-go{width:100%;margin-top:.8rem;background:linear-gradient(135deg,#FFE49A,#FFC94D);color:#5A3E00;border:none;border-radius:14px;font-weight:800;font-size:.95rem;padding:.8rem;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif}
.gm-note{font-size:.62rem;color:var(--gray);margin-top:.7rem;line-height:1.6}

.findswrap{max-width:1180px;margin:0 auto 3rem;padding:0 1.25rem}
body.searched .findswrap{display:none}
.findswrap h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.3rem;font-weight:700;display:flex;align-items:center;gap:.6rem}
.findswrap .fsub{font-size:.8rem;color:var(--gray);font-weight:500;margin:.25rem 0 1rem}
.findsgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem}
@media(max-width:960px){.findsgrid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.findsgrid{grid-template-columns:1fr}}
.fcard{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem 1.1rem;box-shadow:var(--shadow-s);cursor:pointer;overflow:hidden}
[data-theme="dark"] .fcard{background:var(--white)}
.fcard:hover{box-shadow:var(--shadow-m)}
.fcard .fr{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1rem}
.fcard .fp{font-size:1.25rem;font-weight:800;color:var(--green);margin-top:.3rem}
.fcard .fm{font-size:.64rem;color:var(--gray);font-weight:600;margin-top:.2rem}
.fcard.locked .fr,.fcard.locked .fp,.fcard.locked .fm{filter:blur(5px);user-select:none}
.flock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;background:rgba(255,255,255,.25);backdrop-filter:blur(1px)}
[data-theme="dark"] .flock{background:rgba(21,32,54,.35)}
.flock b{font-size:.72rem;font-weight:800}
.flock button{border:none;background:linear-gradient(135deg,#FFE49A,#FFC94D);color:#5A3E00;border-radius:999px;padding:.35rem .9rem;font-size:.68rem;font-weight:800;cursor:pointer}


.goldband{max-width:1180px;margin:1rem auto 0;padding:0 1.25rem}
body.searched .goldband,.goldband.hide{display:none}
.gb-in{background:linear-gradient(120deg,#1C1633 0%,#3A2A0E 55%,#8A6A16 100%);border:1px solid rgba(240,215,123,.5);border-radius:18px;padding:1rem 1.3rem;display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap;box-shadow:var(--shadow-m)}
.gb-in .gk{font-family:'Playfair Display',serif;color:#F0D77B;font-size:1.15rem;font-weight:700}
.gb-in p{color:rgba(255,248,225,.92);font-size:.8rem;font-weight:500;line-height:1.5;flex:1;min-width:220px}
.gb-in p s{color:rgba(255,248,225,.55)}
.gb-in p b{color:#F0D77B}
.gb-go{border:none;background:linear-gradient(135deg,#FFF3C2,#F0D77B 55%,#C9A227);color:#3A2A0E;border-radius:999px;padding:.65rem 1.5rem;font-weight:800;font-size:.85rem;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;box-shadow:0 8px 22px rgba(201,162,39,.4);white-space:nowrap}

.gm-price{display:flex;align-items:baseline;gap:.8rem;margin:.6rem 0 .2rem}
.gm-price s{font-size:1rem;color:var(--gray);font-weight:600}
.gm-price b{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.7rem;font-weight:800;color:var(--green)}
.gm-price small{font-size:.66rem;color:var(--gray);font-weight:700}


.tt-chip{display:inline-block;background:#EDF3FA;color:var(--ink2);font-size:.62rem;font-weight:700;border-radius:999px;padding:.18rem .6rem;margin-top:.35rem}
[data-theme="dark"] .tt-chip{background:rgba(46,124,246,.15)}
:focus-visible{outline:3px solid rgba(46,124,246,.6);outline-offset:2px;border-radius:6px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;border-radius:0 0 10px 0;font-weight:700;font-size:.8rem;z-index:900}
.skip:focus{left:0}
.calbest{font-size:.68rem;font-weight:700;color:var(--green);margin-left:.4rem}
.sortline{display:none;align-items:center;gap:1rem;margin-bottom:.7rem}
body.hasResults .sortline{display:flex}
.src-note{font-size:.66rem;color:var(--gray);font-weight:600;margin-left:auto}


.kicker{display:block;font-family:'Inter',sans-serif;font-size:.6rem;font-weight:800;letter-spacing:.22em;color:#C9A227;text-transform:uppercase;margin-bottom:.3rem}

.sky.sky-dawn{background:radial-gradient(900px 460px at 88% -8%,rgba(255,150,90,.7),transparent 58%),radial-gradient(1000px 560px at -6% 30%,rgba(90,110,255,.55),transparent 60%),linear-gradient(168deg,#2A3B8F 0%,#6C63D8 40%,#E8896A 78%,#FFC9A0 100%)}
.sky.sky-dusk{background:radial-gradient(900px 460px at 88% -8%,rgba(255,140,70,.75),transparent 58%),radial-gradient(1000px 560px at -6% 30%,rgba(70,90,220,.6),transparent 60%),linear-gradient(168deg,#1A2560 0%,#4A3A9F 42%,#C86A5A 80%,#F0A878 100%)}
.sky.sky-night{background:radial-gradient(2px 2px at 12% 18%,rgba(255,255,255,.9),transparent 60%),radial-gradient(1.5px 1.5px at 28% 32%,rgba(255,255,255,.7),transparent 60%),radial-gradient(2px 2px at 46% 12%,rgba(255,255,255,.8),transparent 60%),radial-gradient(1.5px 1.5px at 64% 26%,rgba(255,255,255,.65),transparent 60%),radial-gradient(2px 2px at 82% 16%,rgba(255,255,255,.85),transparent 60%),radial-gradient(1.5px 1.5px at 92% 34%,rgba(255,255,255,.6),transparent 60%),radial-gradient(900px 460px at 85% -10%,rgba(120,140,255,.25),transparent 58%),linear-gradient(168deg,#0A1030 0%,#152052 50%,#23336E 100%)}


.todw{border:1px solid var(--line);background:var(--white);border-radius:999px;padding:.4rem .9rem;font-size:.72rem;font-weight:700;cursor:pointer;color:var(--ink2);white-space:nowrap}
.todw.on{border-color:var(--blue);color:var(--blue);background:rgba(46,124,246,.08)}
#freshChip{display:none;border:none;background:rgba(255,94,31,.12);color:var(--accent2);border-radius:999px;padding:.45rem 1rem;font-size:.72rem;font-weight:800;cursor:pointer;animation:freshpulse 1.6s ease-in-out infinite}
@keyframes freshpulse{0%,100%{opacity:1}50%{opacity:.55}}
@media (prefers-reduced-motion: reduce){#freshChip{animation:none}}
.tgtchip{border:1px solid var(--line);background:var(--white);border-radius:999px;padding:.45rem 1rem;font-size:.72rem;font-weight:700;cursor:pointer;color:var(--ink2)}
.tgtchip.hit{border-color:var(--green);color:var(--green);background:rgba(0,182,122,.1)}
.tgtpop{display:none;position:absolute;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-l);padding:.8rem;z-index:120;margin-top:.4rem}
.tgtpop.show{display:block}
.tgtpop input{width:130px;border:1.5px solid var(--line);border-radius:10px;padding:.5rem .7rem;font-size:16px;font-weight:700;outline:none;background:transparent;color:var(--ink)}
.tgtpop button{margin-left:.4rem;border:none;background:var(--blue);color:#fff;border-radius:10px;padding:.55rem .9rem;font-weight:800;font-size:.76rem;cursor:pointer}
#confettiCv{position:fixed;inset:0;pointer-events:none;z-index:950}
.spark{margin-left:.3rem;vertical-align:middle}
.roul{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);color:#fff;font-size:.74rem;font-weight:700;border-radius:999px;padding:.4rem 1rem;cursor:pointer;backdrop-filter:blur(6px)}


.dair span{display:inline-flex;align-items:center;gap:.34rem}
.dair img{width:15px;height:15px;border-radius:4px;background:#fff;padding:1.5px;flex:0 0 auto}

.al-logo{width:58px;height:58px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:14px;padding:7px;box-shadow:var(--shadow-s)}
.al-fb{width:58px;height:58px;border-radius:14px}
.offer{transition:transform .22s ease,box-shadow .25s ease,border-color .25s ease}
.offer:hover{transform:translateY(-3px);box-shadow:var(--shadow-l);border-color:rgba(46,124,246,.4)}

.golddiv{max-width:520px;margin:0 auto 2.6rem;display:flex;align-items:center;gap:.8rem}
.golddiv::before,.golddiv::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,#C9A227)}
.golddiv::after{background:linear-gradient(90deg,#C9A227,transparent)}
.golddiv span{width:7px;height:7px;background:linear-gradient(135deg,#FFF3C2,#C9A227);transform:rotate(45deg);flex:0 0 auto}



.sky{background:#33279E !important}
.sky.sky-dawn{background:#4A3DB8 !important}
.sky.sky-dusk{background:#2C2380 !important}
.sky.sky-night{background:#171254 !important}
.sky-art,.fly,.fly2,.fly3{display:none !important}

.hero-in{text-align:center;padding-bottom:6.5rem}
.hero-in h1{margin:0 auto;font-size:clamp(2.1rem,5vw,3.4rem);max-width:1020px;text-wrap:balance}
.hero-in h1 span{animation:none;background:none;-webkit-background-clip:initial;background-clip:initial;color:#fff}
.hero-in .sub{margin-left:auto;margin-right:auto}
.trip-seg{margin:0 auto 1.2rem;display:inline-flex;background:rgba(255,255,255,.22);padding:5px;border-radius:16px}
.trip-seg button{padding:.6rem 1.4rem;border-radius:12px;font-size:.85rem;color:rgba(255,255,255,.92)}
.trip-seg button.on{background:#fff;color:var(--ink)}
.qroutes,.watchrow,#recents{justify-content:center}

.wrow{border:none !important;box-shadow:0 14px 40px rgba(10,25,70,.25) !important;border-radius:14px !important;padding:0 !important;gap:0 !important;overflow:hidden}
.wfield{border-radius:0 !important;border-right:1px solid #E7ECF5;padding:1rem 1.15rem}
[data-theme="dark"] .wfield{border-right-color:rgba(234,240,251,.12)}
.wgo{padding:0}
.wgo button{border-radius:0 !important;height:100% !important;min-height:64px !important;box-shadow:none !important}
@media(max-width:700px){
  .wrow{padding:0 !important;gap:0 !important}
  .wfield{border-right:none;border-bottom:1px solid #E7ECF5;padding:.9rem 1.1rem}
  [data-theme="dark"] .wfield{border-bottom-color:rgba(234,240,251,.12)}
  .wgo button{border-radius:0 0 14px 14px !important;min-height:56px !important}
  .hero-in{padding-bottom:4.5rem}
}

.destwrap{background:var(--white);border-radius:24px;box-shadow:var(--shadow-l);padding:1.7rem 1.7rem 1.9rem;margin:-4rem auto 3rem;position:relative;z-index:6;max-width:1130px}
@media(max-width:700px){.destwrap{margin-top:-2.6rem;padding:1.2rem 1rem 1.4rem;border-radius:20px}}
.dhead{display:flex;align-items:center;gap:.8rem}
.dnav{margin-left:auto;display:flex;gap:.5rem}
.dnav button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--white);cursor:pointer;font-size:1rem;color:var(--ink);box-shadow:var(--shadow-s)}
.dnav button:hover{border-color:var(--blue);color:var(--blue)}
@media(min-width:701px){
  .destgrid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc(25% - .68rem);overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;scroll-snap-type:x proximity}
  .destgrid::-webkit-scrollbar{display:none}
  .destgrid .dcard{scroll-snap-align:start}
}
@media(max-width:700px){.dnav{display:none}}

.dprice{background:rgba(8,16,40,.45);color:#FFD98A;border-color:rgba(255,217,138,.5)}


.wfield{position:relative}
.wfield:focus-within{box-shadow:inset 0 0 0 2.5px var(--blue);z-index:2}

body{background:linear-gradient(180deg,#F5F8FD 0%,#ECF1F9 60%,#F3F6FC 100%)}
[data-theme="dark"] body{background:linear-gradient(180deg,#0D1524 0%,#0A111E 100%)}

.dcard{border-radius:22px;box-shadow:var(--shadow-m),inset 0 1px 0 rgba(255,255,255,.28)}

.wgo button:hover{filter:brightness(1.07)}
.wgo button:active{filter:brightness(.97)}

.trust{display:flex;gap:.4rem 1.4rem;justify-content:center;flex-wrap:wrap;margin-top:.9rem;font-size:.74rem;font-weight:600;color:rgba(255,255,255,.92)}
.trust span::before{content:'\2713';color:#8CE8B8;font-weight:800;margin-right:.4rem}
@media(max-width:700px){.trust{font-size:.66rem;gap:.3rem .9rem}}
.ppt{display:block;font-size:.64rem;font-weight:700;color:#7A5CFF;margin-top:.1rem;letter-spacing:0}
.ptschip{border:1px solid var(--line);background:var(--white);border-radius:999px;padding:.45rem 1rem;font-size:.72rem;font-weight:700;cursor:pointer;color:var(--ink2)}
.ptschip.on{border-color:#7A5CFF;color:#7A5CFF;background:rgba(122,92,255,.08)}


.rod{max-width:1130px;margin:0 auto 2.4rem;padding:0 1.25rem}
body.searched .rod{display:none}
.rod-in{border-radius:22px;padding:1.5rem 1.7rem;background:linear-gradient(120deg,#141B3D 0%,#2A2E6E 55%,#7A4DD8 130%);color:#fff;display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;box-shadow:var(--shadow-l)}
.rod-in .rk{font-size:.6rem;font-weight:800;letter-spacing:.22em;color:#FFD34D}
.rod-in h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.6rem;font-weight:800;margin:.2rem 0 0}
.rod-in .rp{font-size:1.05rem;font-weight:700;color:#FFD98A;margin-top:.2rem}
.rod-go{margin-left:auto;border:none;background:linear-gradient(135deg,#FFD34D,#E8A020);color:#3A2A0E;border-radius:999px;padding:.75rem 1.6rem;font-weight:800;font-size:.9rem;cursor:pointer;box-shadow:0 8px 22px rgba(255,94,31,.4)}
@media(max-width:700px){.rod-go{margin-left:0;width:100%}}

.hiw{max-width:1130px;margin:0 auto 2.6rem;padding:0 1.25rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem}
body.searched .hiw{display:none}
@media(max-width:700px){.hiw{grid-template-columns:1fr}}
.hiw div{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:1.2rem;box-shadow:var(--shadow-s)}
.hiw b{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:.95rem;margin:.5rem 0 .2rem}
.hiw p{font-size:.76rem;color:var(--gray);font-weight:500;line-height:1.6;margin:0}
.hiw .n{display:inline-flex;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#FFD34D,#FF8A3D);color:#3A2A0E;font-weight:800;align-items:center;justify-content:center;font-size:.85rem}

.perks{max-width:1130px;margin:0 auto 3rem;padding:0 1.25rem;display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem}
body.searched .perks{display:none}
@media(max-width:960px){.perks{grid-template-columns:1fr 1fr}}
.perks div{background:linear-gradient(160deg,var(--white),#F2F6FD);border:1px solid var(--line);border-radius:18px;padding:1.1rem;box-shadow:var(--shadow-s)}
[data-theme="dark"] .perks div{background:var(--white)}
.perks svg{width:26px;height:26px;stroke:#C9A227;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.perks b{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:.88rem;margin:.5rem 0 .15rem}
.perks p{font-size:.72rem;color:var(--gray);font-weight:500;line-height:1.55;margin:0}


.avgs{display:block;font-size:.68rem;font-weight:600;color:var(--gray);text-decoration:line-through;letter-spacing:0;margin-bottom:.05rem}

@keyframes moneyGlow{0%,100%{box-shadow:0 0 0 rgba(255,217,138,0)}50%{box-shadow:0 0 14px rgba(255,217,138,.45)}}
.dprice{animation:none}
@media (prefers-reduced-motion: reduce){.dprice{animation:none}}


.meta-row{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.45rem}
.mchip{font-size:.6rem;font-weight:700;background:#F1F5FB;color:var(--ink2);border-radius:999px;padding:.2rem .6rem;cursor:help}
[data-theme="dark"] .mchip{background:rgba(46,124,246,.12)}
.mchip.eco{background:rgba(0,182,122,.1);color:var(--green)}
.mchip.ecobest{background:var(--green);color:#fff}
.meta-note{font-size:.62rem;color:var(--gray);font-weight:500;margin:.6rem 0 0;line-height:1.5}


@media(max-width:700px){
  .offer{position:relative}
  .badge{position:absolute;top:-8px;left:14px;z-index:3;font-size:.54rem;padding:.16rem .55rem}
  .o-main{display:grid;grid-template-columns:44px 1fr auto;gap:.75rem;align-items:center;padding:.85rem .9rem !important}
  .al-logo,.al-fb{width:40px;height:40px;padding:4px;border-radius:10px}
  .lg-air small{display:none}
  .lg-times{font-size:1.02rem !important;font-weight:800 !important;margin:0}
  .lg-mid{min-width:0}
  .lg-dur{font-size:.62rem}
  .lg-bar{display:none}
  .o-side{border-left:1px solid var(--line);padding-left:.85rem;text-align:right}
  .price{font-size:1.12rem !important;margin:0}
  .avgs{font-size:.58rem}
  
  .cab-tag,.tt-chip,.meta-row,.ppt,.o-foot,.view{display:none}
  .offer.xp .cab-tag{display:inline-block}
  .offer.xp .tt-chip{display:inline-block}
  .offer.xp .meta-row{display:flex}
  .offer.xp .ppt{display:block}
  .offer.xp .o-foot{display:flex}
  .offer.xp .view{display:block;width:100%;text-align:center;margin-top:.5rem}
  .offer.xp .o-main{grid-template-columns:44px 1fr;grid-auto-rows:auto}
  .offer.xp .o-side{grid-column:1 / -1;border-left:none;padding-left:0;text-align:left;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
  .o-main::after{content:'\203A';position:absolute;right:.35rem;top:50%;transform:translateY(-50%) rotate(90deg);color:var(--gray);font-size:.9rem;transition:transform .2s}
  .offer.xp .o-main::after{transform:translateY(-50%) rotate(-90deg)}
}


.skel{background:linear-gradient(100deg,#EDF2FA 30%,#FBF4E2 50%,#EDF2FA 70%);background-size:220% 100%;animation:skelGold 1.4s ease-in-out infinite}
@keyframes skelGold{from{background-position:180% 0}to{background-position:-80% 0}}
.searching{display:flex;align-items:center;gap:.7rem}
.seatspin{width:26px;height:26px;flex:0 0 auto;animation:seatTilt 1.6s ease-in-out infinite}
@keyframes seatTilt{0%,100%{transform:rotate(0)}50%{transform:rotate(-9deg)}}
@media (prefers-reduced-motion: reduce){.skel,.seatspin{animation:none}}

.dcard.hasimg{background-size:cover !important;background-position:center !important}
.dcard.hasimg::before{background:linear-gradient(180deg,rgba(8,14,34,.15) 0%,rgba(8,14,34,.62) 100%);mix-blend-mode:normal;opacity:1}



@supports (color: color(display-p3 1 0 0)){
  .sky{background:color(display-p3 .21 .16 .64) !important}
  .sky.sky-dawn{background:color(display-p3 .3 .25 .74) !important}
  .sky.sky-dusk{background:color(display-p3 .18 .14 .52) !important}
  .sky.sky-night{background:color(display-p3 .1 .08 .35) !important}
}
@supports (color: color(rec2020 1 0 0)){
  .sky{background:color(rec2020 .19 .15 .64) !important}
  .sky.sky-dawn{background:color(rec2020 .28 .23 .74) !important}
  .sky.sky-dusk{background:color(rec2020 .16 .13 .52) !important}
  .sky.sky-night{background:color(rec2020 .09 .07 .35) !important}
}

.hdr{transition:background .3s ease,box-shadow .3s ease,backdrop-filter .3s ease}
body.hdrGlass .hdr{position:sticky;top:0;background:rgba(10,18,44,.72);backdrop-filter:blur(14px);box-shadow:0 6px 24px rgba(5,12,35,.35)}

.dcard{transform-style:preserve-3d;will-change:transform}

.sumtab.on{border-color:var(--blue) !important;border-width:2px;background:rgba(106,77,232,.06)}
@keyframes auroraRing{from{background-position:0 0,0% 50%}to{background-position:0 0,300% 50%}}

.kicker,.rk{color:#C9A227}
@keyframes kick{from{background-position:170% 0}to{background-position:-70% 0}}

.src-note::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:.4rem;animation:liveDot 1.8s ease-in-out infinite;vertical-align:1px}
@keyframes liveDot{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(0,182,122,.5)}50%{opacity:.55;box-shadow:0 0 0 5px rgba(0,182,122,0)}}

::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#C2C9D9;border-radius:999px;border:3px solid var(--bg);background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background:#9AA5BC;background-clip:padding-box;border:3px solid var(--bg)}
@media (prefers-reduced-motion: reduce){.sumtab.on,.kicker,.rk,.src-note::before{animation:none}}


 .price,.dprice,.fp,.sumtab .v,.cmp-t td,.stats,.rp,.avgs{font-variant-numeric:tabular-nums}
 ::selection{background:#12296E;color:#FFE49A}
 input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--blue)}
 body,.wrow,.offer,.rail,.calwrap,.gm-card,.pal-card,.fcard,.destwrap,.hiw div,.perks div,.cmpbar,.bc-pop{transition:background-color .35s ease,color .35s ease,border-color .35s ease}
 .fgroup{border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(201,162,39,.35),transparent) 1;padding-bottom:.9rem}
 .offer{position:relative}
.offer::before{content:'';position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:linear-gradient(180deg,#2E7CF6,#7A5CFF,#FFB84D);opacity:0;transition:opacity .25s}
.offer:hover::before{opacity:1}
  .cmp-t tr:nth-child(even) td{background:rgba(46,124,246,.045)}
 .cald.best .dp::before{content:'\2726 ';font-size:.5rem}
 .fx.on{border-color:#C9A227;box-shadow:0 0 0 3px rgba(201,162,39,.18);color:#8A6A16}

 .rod-in{background-size:100% 100%}
@keyframes rodPan{from{background-position:0% 30%}to{background-position:100% 70%}}
 .gb-in{animation:none}
@keyframes gbGlow{0%,100%{box-shadow:var(--shadow-m)}50%{box-shadow:var(--shadow-m),0 0 26px rgba(240,215,123,.35)}}
 .froutes a{position:relative;transition:color .2s,padding-left .2s}
.froutes a::before{content:'\2192';position:absolute;left:-14px;opacity:0;transition:opacity .2s,left .2s;color:#FFD34D}
.froutes a:hover{padding-left:16px}
.froutes a:hover::before{left:0;opacity:1}
 @media(max-width:700px){.skel{height:72px;border-radius:16px}}
 @media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}
 .trust span{opacity:0;animation:trustIn .5s ease forwards}
.trust span:nth-child(1){animation-delay:.15s}.trust span:nth-child(2){animation-delay:.35s}
.trust span:nth-child(3){animation-delay:.55s}.trust span:nth-child(4){animation-delay:.75s}
@keyframes trustIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
 
 .view{position:relative;overflow:hidden}
.view::after{content:'';position:absolute;top:0;bottom:0;left:-70%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-16deg);transition:left .45s ease}
.view:hover::after{left:130%}
 input,select,textarea{caret-color:var(--blue)}
[data-theme="dark"] :focus-visible{outline-color:rgba(240,215,123,.75)}
@media (prefers-reduced-motion: reduce){.rod-in,.gb-in,.trust span{animation:none;opacity:1}.view::after{display:none}}

.splitchip{display:none;border:1px solid rgba(0,182,122,.4);background:rgba(0,182,122,.08);color:var(--green);border-radius:999px;padding:.45rem 1rem;font-size:.72rem;font-weight:800;cursor:pointer}
.wkend{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);color:#fff;font-size:.74rem;font-weight:700;border-radius:999px;padding:.4rem 1rem;cursor:pointer;backdrop-filter:blur(6px)}
.wbk{background:none;border:none;color:rgba(255,255,255,.6);font-size:.66rem;font-weight:700;cursor:pointer;padding:.2rem .4rem}
.wbk:hover{color:#FFD34D}
body.clean #watchRow,body.clean #recents,body.clean #goldBand,body.clean #resume,body.clean .gold-btn{display:none !important}
.dcard.attract{box-shadow:var(--shadow-l),0 0 0 3px rgba(255,211,77,.55),0 0 24px rgba(255,211,77,.35)}
@media (prefers-reduced-motion: reduce){.dcard.attract{box-shadow:var(--shadow-m)}}


body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
.goldband .gb-in{background:linear-gradient(120deg,#1B1450 0%,#332470 60%,#6A4DE8 130%)}


.gm-lab{display:block;font-size:.58rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);margin:.8rem 0 .25rem}
.gm-in{margin-top:0;text-transform:none}
.gm-in:focus{border-color:#C9A227;box-shadow:0 0 0 3px rgba(201,162,39,.18)}
#gmAp{text-transform:uppercase}
#gmAp::placeholder{text-transform:none}
.gm-free{font-size:.82rem;color:var(--gray);font-weight:500;line-height:1.6;margin:.4rem 0 .2rem}
.gm-free b{color:var(--ink);font-weight:800}
.gm-perks div::before{content:'\2713';color:#C9A227;font-weight:800}
.gm-go{background:linear-gradient(135deg,#F0C24B,#E8A020);border-radius:13px;box-shadow:0 6px 18px rgba(201,140,20,.35)}
.gm-in.bad{border-color:#E24B4B;box-shadow:0 0 0 3px rgba(226,75,75,.15);animation:gmShake .3s ease}
@keyframes gmShake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}

*{-webkit-tap-highlight-color:transparent}

.gm-card,.pal-card,.pax-pop,.bc-pop,.calwrap{overscroll-behavior:contain}

[data-theme="dark"] .skel{background:linear-gradient(100deg,#1A2540 30%,#2A3050 50%,#1A2540 70%);background-size:220% 100%}

@media (prefers-contrast: more){.wrow,.rail,.offer,.gm-in,.fcard{border-width:2px !important;border-color:var(--ink) !important}}

.offer:focus-visible{outline:3px solid rgba(106,77,232,.6);outline-offset:2px}

.wfield.miss{box-shadow:inset 0 0 0 2.5px #E24B4B;animation:gmShake .3s ease}

@media print{body::before{content:'BusinessCabin.com \00B7 live business class fares \00B7 book direct with the airline';display:block;font-weight:800;font-size:11pt;margin-bottom:12pt}}


.otarail{display:none;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.2rem 0 .9rem}
body.hasResults .otarail{display:flex}
.otarail .ol{font-size:.74rem;font-weight:700;color:var(--gray)}
.otarail a{display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--line);background:var(--white);border-radius:999px;padding:.4rem .85rem;font-size:.72rem;font-weight:700;color:var(--ink2);text-decoration:none;box-shadow:var(--shadow-s)}
.otarail a:hover{border-color:var(--blue);color:var(--blue)}
.otarail a span{font-size:.62rem;opacity:.6}
@media(max-width:700px){.otarail{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 90%,transparent);mask-image:linear-gradient(90deg,#000 90%,transparent)}.otarail a{flex:0 0 auto;white-space:nowrap}}

.adcard{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-s);padding:1rem 1.2rem;display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap;margin-bottom:.9rem}
.adcard .ad-name{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:1rem}
.adcard .ad-tag{font-size:.76rem;color:var(--gray);font-weight:500;flex:1;min-width:200px}
.adcard .ad-lbl{font-size:.56rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);border:1px solid var(--line);border-radius:6px;padding:.1rem .4rem}
.adcard .ad-go{border:none;background:linear-gradient(135deg,#FFD34D,#E8A020);color:#3A2A0E;border-radius:12px;padding:.6rem 1.3rem;font-weight:800;font-size:.82rem;cursor:pointer;text-decoration:none;display:inline-block}


.srcs{display:flex;gap:.4rem 1.2rem;justify-content:center;flex-wrap:wrap;margin-top:.7rem;font-size:.7rem;font-weight:600;color:rgba(255,255,255,.75)}
.srcs b{color:#fff;font-weight:800}
.srcs em{font-style:normal;color:#FFC94D;font-weight:700}
@media(max-width:700px){.srcs{font-size:.62rem}}

.rail{background:#F4F6FC;border:1px solid var(--line) !important;border-radius:20px;box-shadow:var(--shadow-m);padding:.6rem}
[data-theme="dark"] .rail{background:#101A30}
.rail-hd{background:linear-gradient(135deg,#3A2FA8,#6A4DE8);border-radius:14px;padding:.85rem 1rem;margin-bottom:.6rem;display:flex;align-items:center;gap:.6rem}
.rail-hd b{color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;letter-spacing:-.01em}
.rail-hd a{margin-left:auto;color:#FFC94D;font-weight:800;font-size:.72rem;cursor:pointer}
.fcount{display:none;background:#FFC94D;color:#3A2A0E;font-size:.64rem;font-weight:800;border-radius:999px;padding:.15rem .55rem}
.fcount.show{display:inline-block}
.fgroup{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:.75rem .9rem .8rem;margin-bottom:.55rem;border-image:none;transition:border-color .2s,box-shadow .2s}
.fgroup:hover{border-color:rgba(106,77,232,.35)}
.fg-t{font-size:.76rem;font-weight:800;letter-spacing:.01em}
.fg-t .chev{color:var(--blue);font-size:.7rem}
.fgroup.closed{padding-bottom:.75rem}
@media(max-width:920px){.rail.open{background:#F4F6FC}}
[data-theme="dark"] .fgroup{background:var(--white)}


.wrow{border:2.5px solid #43E97B !important;box-shadow:0 0 0 4px rgba(67,233,123,.2),0 14px 40px rgba(10,25,70,.25) !important}
.wfield:focus-within{box-shadow:inset 0 0 0 2.5px #2FBF63}
.wgo button{background:linear-gradient(135deg,#52F08A,#3ED66B 55%,#2FBF63) !important;color:#06301A !important;box-shadow:0 10px 24px rgba(47,191,99,.45) !important}
.mc-leg{border:2px solid #43E97B !important;box-shadow:0 0 0 3px rgba(67,233,123,.16),var(--shadow-m) !important;border-radius:16px}

.wrow{transition:transform .25s ease,box-shadow .25s ease}
.wrow:focus-within{transform:translateY(-2px);box-shadow:0 0 0 4px rgba(67,233,123,.3),0 20px 50px rgba(10,25,70,.3) !important}
.swap svg,.swap{transition:transform .35s ease}
.swap.spun{transform:rotate(180deg)}
.wgo button::after{content:' \2192';font-weight:800;display:inline-block;transition:transform .2s}
.wgo button:hover::after{transform:translateX(3px)}
.trip-seg button.on{animation:tpop .18s ease}
@keyframes tpop{50%{transform:scale(1.06)}}
.sumtab{transition:transform .2s ease,box-shadow .2s ease}
.sumtab:hover{transform:translateY(-2px);box-shadow:var(--shadow-m)}
.fgroup:not(.closed) .fg-body{animation:fadeDown .22s ease}
@keyframes fadeDown{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.sortline{position:static;background:transparent;padding-top:0}
body.hdrGlass .sortline{top:72px}
.wx{font-style:normal;margin-left:.35rem;opacity:0;font-weight:800;cursor:pointer;transition:opacity .2s}
.watch-chip:hover .wx{opacity:.85}
.wx:hover{color:#FF9A8A}
.cmp-clear{background:none;border:none;color:var(--accent2);font-weight:800;font-size:.72rem;cursor:pointer;float:right}
.clrx{position:absolute;right:.7rem;top:50%;transform:translateY(-50%);background:rgba(20,27,40,.08);border:none;border-radius:50%;width:20px;height:20px;font-size:.7rem;font-weight:800;color:var(--gray);cursor:pointer;display:none;line-height:1}
.wfield:focus-within .clrx,.wfield:hover .clrx{display:block}
[data-theme="dark"] .clrx{background:rgba(234,240,251,.12)}
.cald{transition:transform .15s ease}
.cald:not(.off):hover{transform:scale(1.06)}
.cald.today{outline:2px dashed rgba(122,134,153,.5);outline-offset:1px}
.fx.beats{border-color:var(--green);color:var(--green)}
.dnav button[disabled]{opacity:.3;cursor:default}
.wgo button{position:relative;overflow:hidden}
.wgo button::before{content:'';position:absolute;inset:0;background:radial-gradient(circle,rgba(255,255,255,.5) 0%,transparent 60%);opacity:0;transform:scale(.4)}
.wgo button:active::before{opacity:1;transform:scale(1.6);transition:transform .35s ease,opacity .5s ease}
.skel:nth-child(2){animation-delay:.1s}.skel:nth-child(3){animation-delay:.2s}.skel:nth-child(4){animation-delay:.3s}.skel:nth-child(5){animation-delay:.4s}
.keys{display:none;position:fixed;inset:0;background:rgba(10,16,32,.55);backdrop-filter:blur(4px);z-index:750;align-items:center;justify-content:center;padding:1rem}
.keys.show{display:flex}
.keys-card{background:var(--white);border-radius:18px;box-shadow:var(--shadow-l);width:min(420px,94vw);padding:1.4rem 1.5rem}
.keys-card h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.05rem;font-weight:800;margin:0 0 .8rem}
.keys-card div{display:flex;justify-content:space-between;font-size:.78rem;font-weight:600;padding:.35rem 0;border-bottom:1px solid var(--line)}
.keys-card kbd{background:rgba(106,77,232,.1);color:var(--blue);border-radius:6px;padding:.12rem .5rem;font-family:inherit;font-weight:800;font-size:.7rem}
.toastin{animation:toastIn .3s cubic-bezier(.2,.9,.3,1.3)}
@keyframes toastIn{from{opacity:0;transform:translateX(-50%) translateY(12px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}


.rail{border:2px solid #43E97B !important;box-shadow:0 0 0 4px rgba(67,233,123,.14),var(--shadow-m)}
.rail-hd{background:linear-gradient(135deg,#52F08A,#2FBF63)}
.rail-hd b{color:#06301A}
.rail-hd a{color:#06301A;text-decoration:underline}
.fcount{background:#06301A;color:#9BFFC6}
.fgroup:hover{border-color:rgba(67,233,123,.55)}
.fg-t .chev{color:#2FBF63}
.rail input[type=checkbox],.rail input[type=radio],.rail input[type=range]{accent-color:#2FBF63}
.railtoggle{border-color:#43E97B !important}
[data-theme="dark"] .railtoggle{border-color:#2FBF63 !important}

@supports (color: color(display-p3 1 0 0)){
  .wrow{border-color:color(display-p3 .18 .96 .48) !important;box-shadow:0 0 0 4px color(display-p3 .18 .96 .48 / .22),0 14px 40px rgba(10,25,70,.25) !important}
  .wgo button{background:linear-gradient(135deg,color(display-p3 .32 .97 .55),color(display-p3 .22 .88 .44) 55%,color(display-p3 .14 .78 .38)) !important}
  .rail{border-color:color(display-p3 .18 .96 .48) !important}
  .rail-hd{background:linear-gradient(135deg,color(display-p3 .32 .97 .55),color(display-p3 .14 .78 .38))}
  .gm-go,.gb-go,.rod-go,.ad-go{background:linear-gradient(135deg,color(display-p3 1 .85 .35),color(display-p3 .93 .64 .1))}
  .lg-word b{color:color(display-p3 .32 .96 .55)}
}
@supports (color: color(rec2020 1 0 0)){
  .wrow{border-color:color(rec2020 .16 .95 .46) !important;box-shadow:0 0 0 4px color(rec2020 .16 .95 .46 / .22),0 14px 40px rgba(10,25,70,.25) !important}
  .wgo button{background:linear-gradient(135deg,color(rec2020 .3 .96 .53),color(rec2020 .2 .87 .42) 55%,color(rec2020 .12 .77 .36)) !important}
  .rail{border-color:color(rec2020 .16 .95 .46) !important}
  .rail-hd{background:linear-gradient(135deg,color(rec2020 .3 .96 .53),color(rec2020 .12 .77 .36))}
  .gm-go,.gb-go,.rod-go,.ad-go{background:linear-gradient(135deg,color(rec2020 1 .83 .33),color(rec2020 .92 .62 .1))}
  .lg-word b{color:color(rec2020 .3 .95 .53)}
}


.sky{background:
  radial-gradient(900px 500px at 85% -10%,rgba(67,233,123,.26),transparent 58%),
  radial-gradient(1000px 560px at -8% 35%,rgba(139,108,255,.34),transparent 60%),
  linear-gradient(168deg,#2B2190 0%,#251C7E 55%,#171254 100%) !important}
.sky.sky-dawn{background:
  radial-gradient(900px 500px at 85% -10%,rgba(67,233,123,.2),transparent 58%),
  radial-gradient(1000px 560px at -8% 35%,rgba(255,170,120,.3),transparent 60%),
  linear-gradient(168deg,#4A3DB8 0%,#3A2F9E 55%,#251C7E 100%) !important}
.sky.sky-dusk{background:
  radial-gradient(900px 500px at 85% -10%,rgba(67,233,123,.18),transparent 58%),
  radial-gradient(1000px 560px at -8% 35%,rgba(200,120,255,.32),transparent 60%),
  linear-gradient(168deg,#2C2380 0%,#221A68 55%,#151044 100%) !important}
.sky.sky-night{background:
  radial-gradient(2px 2px at 14% 16%,rgba(255,255,255,.9),transparent 60%),
  radial-gradient(1.5px 1.5px at 34% 28%,rgba(255,255,255,.7),transparent 60%),
  radial-gradient(2px 2px at 58% 12%,rgba(255,255,255,.8),transparent 60%),
  radial-gradient(1.5px 1.5px at 78% 30%,rgba(255,255,255,.6),transparent 60%),
  radial-gradient(800px 460px at 80% -8%,rgba(67,233,123,.14),transparent 58%),
  linear-gradient(168deg,#171254 0%,#110D40 100%) !important}
@supports (color: color(display-p3 1 0 0)){
  .sky{background:
    radial-gradient(900px 500px at 85% -10%,color(display-p3 .26 .92 .5 / .3),transparent 58%),
    radial-gradient(1000px 560px at -8% 35%,color(display-p3 .55 .42 1 / .38),transparent 60%),
    linear-gradient(168deg,color(display-p3 .17 .13 .58) 0%,color(display-p3 .14 .11 .5) 55%,color(display-p3 .09 .07 .34) 100%) !important}
}

.dcard{filter:saturate(1.16)}
.dcard.hasimg{filter:saturate(1.08)}


.vtabs{display:flex;justify-content:center;gap:.4rem;margin:0 auto 1rem}
.vtabs button{border:none;background:rgba(255,255,255,.14);color:rgba(255,255,255,.85);border-radius:14px;padding:.6rem 1.3rem;font-size:.82rem;font-weight:700;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18)}
.vtabs button.on{background:#fff;color:var(--ink);box-shadow:0 6px 18px rgba(10,20,60,.3)}
@media(max-width:700px){.vtabs{flex-wrap:wrap}.vtabs button{padding:.5rem 1rem;font-size:.74rem}}
.vform{display:none;background:#fff;border:2.5px solid #43E97B;border-radius:14px;box-shadow:0 0 0 4px rgba(67,233,123,.2),0 14px 40px rgba(10,25,70,.25);padding:1rem;max-width:760px;margin:0 auto;text-align:left}
.vform.show{display:block}
body.vertActive .wrow,body.vertActive .trip-seg,body.vertActive .qroutes,body.vertActive #recents,body.vertActive #watchRow,body.vertActive .trust{display:none !important}
.vform label{display:block;font-size:.6rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);margin:.6rem 0 .2rem}
.vform input{width:100%;border:1.5px solid var(--line);border-radius:11px;padding:.7rem .9rem;font-size:16px;font-weight:600;outline:none;font-family:'Inter',sans-serif;background:transparent;color:var(--ink);box-sizing:border-box}
.vform input:focus{border-color:#2FBF63}
.vform .vgrid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.vform .vgo{width:100%;margin-top:.9rem;border:none;background:linear-gradient(135deg,#52F08A,#2FBF63);color:#06301A;border-radius:12px;font-weight:800;font-size:.95rem;padding:.85rem;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif}
.vform .vnote{font-size:.62rem;color:var(--gray);font-weight:500;margin-top:.6rem;line-height:1.5}

.socials{display:flex;justify-content:center;gap:.7rem;margin:1.1rem 0 .4rem}
.socials a{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px rgba(5,10,30,.35)}
.socials a:hover{transform:translateY(-3px) scale(1.06);box-shadow:0 8px 20px rgba(5,10,30,.45)}
.socials svg{width:17px;height:17px;fill:#FFFFFF}
.socials .s-li{background:#0A66C2}
.socials .s-x{background:#000000}
.socials .s-fb{background:#1877F2}
.socials .s-ig{background:radial-gradient(circle at 30% 110%,#FEDA75 0%,#FA7E1E 28%,#D62976 52%,#962FBF 75%,#4F5BD5 100%)}

.hero-in h1{background:linear-gradient(180deg,#FFFFFF 55%,#BFF5D4);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-in h1 span{background:inherit;-webkit-background-clip:text;background-clip:text;color:transparent}
.golddiv::before{background:linear-gradient(90deg,transparent,#43E97B)}
.golddiv::after{background:linear-gradient(90deg,#8B6CFF,transparent)}
.golddiv span{background:linear-gradient(135deg,#43E97B,#8B6CFF)}
footer{border-top:2px solid transparent;border-image:linear-gradient(90deg,#43E97B,#8B6CFF) 1}
::selection{background:#0F3D24;color:#9BFFC6}
:focus-visible{outline-color:rgba(67,233,123,.75)}
.dcard.priced::before{content:'';position:absolute;top:.7rem;left:.8rem;width:8px;height:8px;border-radius:50%;background:#43E97B;box-shadow:0 0 0 3px rgba(67,233,123,.3);z-index:2;animation:liveDot 1.8s ease-in-out infinite}
.view{background:linear-gradient(135deg,#52F08A,#2FBF63) !important;color:#06301A !important}
.view:hover{filter:brightness(1.06)}
.tck{display:inline-flex;width:16px;height:16px;border-radius:50%;background:#43E97B;color:#06301A;font-size:.6rem;font-weight:800;align-items:center;justify-content:center;margin-right:.45rem;flex:0 0 auto}


.hubchip{border:1.5px solid rgba(67,233,123,.5);background:rgba(67,233,123,.08);color:var(--green);border-radius:999px;padding:.3rem .9rem;font-size:.72rem;font-weight:800;cursor:pointer;margin-left:.8rem;vertical-align:middle;font-family:'Inter',sans-serif}
.hubpop{display:none;position:absolute;z-index:60;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-l);padding:.5rem;margin-top:.4rem}
.hubpop.show{display:block}
.hubpop button{display:block;width:100%;text-align:left;border:none;background:none;padding:.45rem .8rem;font-size:.78rem;font-weight:700;color:var(--ink);border-radius:9px;cursor:pointer}
.hubpop button:hover{background:rgba(67,233,123,.12)}
.dmeta{font-size:.66rem;font-weight:600;color:rgba(255,255,255,.85);margin-top:.2rem}
.dwatch{position:absolute;top:.6rem;right:.7rem;z-index:3;background:rgba(8,14,34,.4);border:none;color:#fff;width:26px;height:26px;border-radius:50%;cursor:pointer;font-size:.8rem;backdrop-filter:blur(4px)}
.dwatch:hover{background:#43E97B;color:#06301A}
#dunder{font-style:normal;color:var(--green);font-weight:800}
.a2hs{display:none;position:fixed;bottom:76px;right:14px;z-index:600;border:none;background:linear-gradient(135deg,#52F08A,#2FBF63);color:#06301A;border-radius:999px;padding:.7rem 1.2rem;font-weight:800;font-size:.8rem;box-shadow:0 10px 26px rgba(47,191,99,.45);cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif}
.a2hs.show{display:block}
@media(min-width:701px){.a2hs{bottom:20px}}


.truth{display:inline-flex;align-items:center;gap:.3rem;font-size:.62rem;font-weight:800;border-radius:999px;padding:.24rem .7rem;margin-top:.4rem}
.truth.ok{background:rgba(0,182,122,.12);color:var(--green)}
.truth.warn{background:rgba(226,142,40,.14);color:#B36A10}
.acline{font-size:.6rem;color:var(--gray);font-weight:600}
.cscore{display:inline-flex;align-items:center;gap:.35rem;border:1.5px solid rgba(67,233,123,.45);color:var(--green);border-radius:999px;padding:.2rem .6rem;font-size:.62rem;font-weight:800;cursor:pointer;background:rgba(67,233,123,.06)}
.cscore b{font-size:.78rem}
.cs-pop{position:fixed;inset:0;background:rgba(10,16,32,.5);backdrop-filter:blur(4px);z-index:760;display:none;align-items:center;justify-content:center;padding:1rem}
.cs-pop.show{display:flex}
.cs-card{background:var(--white);border-radius:18px;box-shadow:var(--shadow-l);width:min(420px,94vw);padding:1.3rem 1.5rem}
.cs-card h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:1rem;font-weight:800;margin:0 0 .7rem}
.cs-card div{display:flex;justify-content:space-between;font-size:.76rem;font-weight:600;padding:.3rem 0;border-bottom:1px solid var(--line)}
.cs-card div:last-of-type{border:none;font-weight:800}
.cs-card p{font-size:.62rem;color:var(--gray);font-weight:500;line-height:1.6;margin:.7rem 0 0}

.fcbadge{display:inline-block;background:rgba(67,233,123,.15);border:1px solid rgba(67,233,123,.45);color:#B9FFD6;border-radius:999px;padding:.35rem 1.1rem;font-size:.66rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1rem;backdrop-filter:blur(6px)}


#destWrap{display:block !important;visibility:visible !important;opacity:1 !important;position:relative;z-index:8;min-height:120px}
#destWrap .dcard{opacity:1 !important;visibility:visible !important}
body.searched #destWrap{margin-top:2.5rem}
body.searched #destWrap .dhead h2 .kicker::after{content:" more"}

[data-theme="color"]{--bg:#FBF5FF;--line:rgba(120,80,200,.16)}
[data-theme="color"] body,body[data-theme="color"]{background:linear-gradient(160deg,#F4EDFF 0%,#EAFBF1 48%,#FFF2E8 100%) fixed}
[data-theme="color"] .rail-hd{background:linear-gradient(120deg,#52F08A,#43C8E9 35%,#8B6CFF 70%,#FF8AC2)}
[data-theme="color"] .rail-hd b,[data-theme="color"] .rail-hd a{color:#1A1030}
[data-theme="color"] .sumtab.on{border-color:transparent !important;background:linear-gradient(var(--white),var(--white)) padding-box,linear-gradient(120deg,#43E97B,#43C8E9,#8B6CFF,#FF8AC2) border-box;border-width:2px}
[data-theme="color"] .kicker,[data-theme="color"] .rk{background:linear-gradient(100deg,#2FBF63,#4383E9 45%,#8B6CFF 75%,#E94396);-webkit-background-clip:text;background-clip:text;color:transparent}
[data-theme="color"] .offer:hover{border-color:rgba(139,108,255,.5)}
[data-theme="color"] .fgroup:hover{border-color:rgba(67,200,233,.6)}
[data-theme="color"] footer{border-image:linear-gradient(90deg,#43E97B,#43C8E9,#8B6CFF,#FF8AC2) 1}

.whyus{max-width:1140px;margin:2.5rem auto;padding:0 1.25rem}
.whyus h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.5rem;letter-spacing:-.02em;margin:0 0 .4rem}
.whyus .wsub{font-size:.82rem;color:var(--gray);font-weight:500;margin-bottom:1.1rem;line-height:1.6}
.wtable{width:100%;border-collapse:separate;border-spacing:0;background:var(--white);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-m);font-size:.8rem}
.wtable th,.wtable td{padding:.8rem 1rem;border-bottom:1px solid var(--line);text-align:center;font-weight:600}
.wtable th{background:rgba(106,77,232,.06);font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:.76rem}
.wtable th:first-child,.wtable td:first-child{text-align:left}
.wtable tr:last-child td{border-bottom:none}
.wtable td.y{color:var(--green);font-weight:800}
.wtable td.n{color:#C05050}
.wtable td.p{color:#B36A10;font-weight:700}
.wtable th.bc{background:rgba(67,233,123,.14);color:#0F5A30}
.wtable td.bcc{background:rgba(67,233,123,.05)}
@media(max-width:700px){.whyus{overflow-x:auto}.wtable{min-width:560px}}

.truth.info{background:rgba(122,134,153,.14);color:var(--ink2)}


.wfield label{font-size:.55rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#8A93A8}
.wfield:focus-within label{color:#2FBF63}

.rail{position:sticky;top:80px;max-height:calc(100vh - 96px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.rail::-webkit-scrollbar{width:7px}
.rail::-webkit-scrollbar-thumb{background:rgba(47,191,99,.4);border-radius:99px;border:2px solid #F4F6FC}
.fgroup.closed .chev{display:inline-block;transform:rotate(-90deg)}
.fg-t .chev{transition:transform .2s}
@media(max-width:920px){.rail{max-height:none;position:static}}

.rail.canScroll{-webkit-mask-image:linear-gradient(180deg,#000 88%,transparent);mask-image:linear-gradient(180deg,#000 88%,transparent)}
.railhint{position:sticky;bottom:6px;display:none;margin:0 auto;width:max-content;background:#06301A;color:#9BFFC6;font-size:.62rem;font-weight:800;border-radius:999px;padding:.3rem .8rem;pointer-events:none;box-shadow:0 4px 12px rgba(5,20,10,.4)}
.rail.canScroll:hover .railhint{display:block}

.dprice{font-size:1.02rem;font-weight:800}
.dprice [data-dp]{font-variant-numeric:tabular-nums}
.dcard.priced .dprice::after{content:'*';font-size:.7rem;vertical-align:super;opacity:.8}
.dfoot-note{max-width:1140px;margin:.5rem auto 0;padding:0 1.25rem;font-size:.6rem;color:var(--gray);font-weight:500}

.cabbtn{width:100%;border:none;background:none;text-align:left;font-size:1rem;font-weight:700;color:var(--ink);cursor:pointer;padding:0;font-family:'Inter',sans-serif;display:flex;align-items:center;gap:.4rem}
.cchev{color:#2FBF63;font-size:.8rem;transition:transform .2s}
.cabbtn.open .cchev{transform:rotate(180deg)}
.cabmenu{display:none;position:absolute;top:calc(100% + 10px);left:0;min-width:190px;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-l);padding:.4rem;z-index:120}
.cabmenu.show{display:block;animation:fadeDown .18s ease}
.cabmenu button{display:flex;align-items:center;gap:.5rem;width:100%;border:none;background:none;text-align:left;padding:.6rem .8rem;font-size:.88rem;font-weight:700;color:var(--ink);border-radius:10px;cursor:pointer;font-family:'Inter',sans-serif}
.cabmenu button:hover{background:rgba(67,233,123,.12)}
.cck{color:#2FBF63;font-weight:800}
.pax-pop .done,.pax-pop button.done{background:linear-gradient(135deg,#52F08A,#2FBF63) !important;color:#06301A !important}
.pax-pop .pm{border-color:rgba(47,191,99,.5) !important;color:#2FBF63 !important}
.sampletag{font-style:normal;font-size:.52rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(255,255,255,.55);border-radius:6px;padding:.08rem .35rem;margin-left:.35rem;vertical-align:2px;opacity:.9}

.dcard{background:#FFFFFF !important;border:1px solid var(--line);box-shadow:var(--shadow-m);color:var(--ink);filter:none;padding:1.1rem 1.15rem}
.dcard::before{display:none}
.dcard .dcode{position:static;font-size:.6rem;font-weight:800;letter-spacing:.1em;color:var(--gray);opacity:1;transform:none}
.dcard .dcity{color:var(--ink);font-size:1.15rem;font-weight:800;letter-spacing:-.02em;text-shadow:none}
.dcard .dfrom{color:#7A8699;text-shadow:none}
.dcard .dmeta{color:var(--ink2)}
.dcard .dair{display:none}
.dcard .dprice{color:var(--ink);display:flex;align-items:flex-end;justify-content:space-between;gap:.6rem;margin-top:.9rem}
.dcard .dprice [data-dp]{color:var(--ink)}
.dcard .sampletag{border-color:rgba(47,191,99,.55);color:#2FBF63}
.dcard .dgo{flex:0 0 auto;width:40px;height:40px;border:none;border-radius:12px;background:linear-gradient(135deg,#52F08A,#2FBF63);color:#06301A;font-size:1rem;font-weight:800;cursor:pointer;box-shadow:0 6px 16px rgba(47,191,99,.4)}
.dcard.priced::before{display:block;left:auto;right:.9rem;top:.9rem}
.dcard:hover{border-color:rgba(47,191,99,.5)}
.dwatch{background:rgba(20,27,40,.06);color:var(--ink2);backdrop-filter:none}
/* green-lined vertical forms */
.vform input{border-color:rgba(67,233,123,.5)}
.vform input:focus{border-color:#2FBF63;box-shadow:0 0 0 3px rgba(67,233,123,.18)}
/* price guide */
.pguide{max-width:1140px;margin:2.5rem auto;padding:0 1.25rem}
.pguide h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.5rem;letter-spacing:-.02em;margin:0 0 .3rem}
.pguide .psub{font-size:.78rem;color:var(--gray);font-weight:500;margin-bottom:1rem;line-height:1.6}
.ptable{width:100%;border-collapse:separate;border-spacing:0;background:var(--white);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-s);font-size:.8rem}
.ptable th,.ptable td{padding:.7rem 1rem;border-bottom:1px solid var(--line);text-align:left;font-weight:600}
.ptable th{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray)}
.ptable tr:last-child td{border-bottom:none}
.ptable td b{font-variant-numeric:tabular-nums}
/* blog strip */
.blogrow{max-width:1140px;margin:2.5rem auto;padding:0 1.25rem}
.blogrow h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.5rem;letter-spacing:-.02em;margin:0 0 1rem}
.bloggrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem}
.bcardx{background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-s);padding:1.1rem 1.2rem;text-decoration:none;color:var(--ink);display:block;transition:transform .2s,box-shadow .2s}
.bcardx:hover{transform:translateY(-3px);box-shadow:var(--shadow-m);border-color:rgba(47,191,99,.45)}
.bcardx .bk{font-size:.56rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#2FBF63}
.bcardx h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:.95rem;font-weight:800;margin:.35rem 0;letter-spacing:-.01em}
.bcardx p{font-size:.72rem;color:var(--gray);font-weight:500;line-height:1.6;margin:0}
/* newsletter */
.newsband{max-width:1140px;margin:2.5rem auto;padding:0 1.25rem}
.nb-in{background:linear-gradient(120deg,#0F3D24,#1B9A4E 130%);border-radius:22px;padding:1.6rem 1.5rem;display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;box-shadow:var(--shadow-m)}
.nb-in h3{color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-size:1.15rem;font-weight:800;margin:0;letter-spacing:-.01em}
.nb-in p{color:#B9FFD6;font-size:.74rem;font-weight:500;margin:.2rem 0 0;line-height:1.5}
.nb-form{display:flex;gap:.5rem;flex:1;min-width:260px;justify-content:flex-end;flex-wrap:wrap}
.nb-form input{flex:1;min-width:200px;border:none;border-radius:12px;padding:.8rem 1rem;font-size:16px;font-weight:600;font-family:'Inter',sans-serif;outline:none}
.nb-form button{border:none;background:#FFFFFF;color:#0F3D24;border-radius:12px;font-weight:800;font-size:.85rem;padding:.8rem 1.4rem;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif}
.nb-note{flex-basis:100%;color:rgba(255,255,255,.55);font-size:.58rem;font-weight:500}
/* faq */
.faqs{max-width:900px;margin:2.5rem auto;padding:0 1.25rem}
.faqs h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.5rem;letter-spacing:-.02em;margin:0 0 1rem}
.faqs details{background:var(--white);border:1px solid var(--line);border-radius:14px;margin-bottom:.5rem;padding:.9rem 1.1rem;box-shadow:var(--shadow-s)}
.faqs summary{font-size:.86rem;font-weight:800;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif}
.faqs details p{font-size:.78rem;color:var(--ink2);font-weight:500;line-height:1.7;margin:.6rem 0 0}

.dcard{justify-content:flex-start !important;min-height:178px;height:auto;gap:.1rem}
.dcard .dam{display:none !important}
.dcard .dprice{background:none !important;border:none !important;padding:0 !important;backdrop-filter:none !important;color:var(--ink) !important;margin-top:auto !important}
.dcard .dprice [data-dp]{background:none;padding:0}
.dcard .dfrom{margin-bottom:.1rem}
.dcard .dmeta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* the guide, now alive */
.pguide .ptap{font-size:.66rem;font-weight:800;color:#2FBF63;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.6rem}
.ptable tr.prow{cursor:pointer;transition:background .15s}
.ptable tr.prow:hover{background:rgba(67,233,123,.07)}
.ptable tr.prow:hover .pgo{opacity:1;transform:translateX(0)}
.ptable .rt b{color:var(--ink)}
.ptable .rt i{font-style:normal;color:#2FBF63;font-weight:800;margin:0 .3rem}
.ptable .rt small{display:block;font-size:.58rem;color:var(--gray);font-weight:700;letter-spacing:.06em}
.rbar{position:relative;height:6px;background:rgba(20,27,40,.07);border-radius:99px;margin-top:.4rem;max-width:230px}
.rbar i{position:absolute;top:0;bottom:0;border-radius:99px;background:linear-gradient(90deg,#52F08A,#2FBF63)}
.prange b{color:#0F5A30}
.pgo{display:inline-block;font-size:.68rem;font-weight:800;color:#2FBF63;opacity:0;transform:translateX(-6px);transition:opacity .2s,transform .2s;white-space:nowrap}
.pseason{color:var(--ink2);font-size:.74rem}
@media(max-width:700px){.pgo{opacity:1;transform:none}}
/* return-to-search pill */
.topSearch{display:none;position:fixed;bottom:20px;left:16px;z-index:600;border:none;background:var(--white);color:var(--ink);border:1.5px solid rgba(47,191,99,.5);border-radius:999px;padding:.65rem 1.1rem;font-weight:800;font-size:.76rem;box-shadow:var(--shadow-l);cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif}
.topSearch.show{display:block}
@media(max-width:700px){.topSearch{display:none !important}}

/* ══ V109 MOBILE SURGERY ══ */
html,body{max-width:100%;overflow-x:hidden}
html{background:var(--bg)}
.pguide{overflow-x:auto;-webkit-overflow-scrolling:touch}
.pguide .ptable{min-width:620px}
@media(max-width:700px){
  .destgrid{align-items:start}
  .dcard{min-height:0 !important;height:auto !important;aspect-ratio:auto !important;padding:1rem 1.05rem !important}
  .dcard .dprice{margin-top:.75rem !important}
  .wtable{min-width:0 !important}
  .wtable th,.wtable td{padding:.55rem .6rem;font-size:.66rem}
  .whyus{overflow:visible}
  .pguide .ptable{min-width:560px}
}
.a2hs{padding-right:2.2rem}
.a2hs 

html,body{overflow-x:clip}
@supports not (overflow-x: clip){html,body{overflow-x:hidden}}
.pguide{overflow-x:auto;-webkit-overflow-scrolling:touch}
.pguide .ptable{min-width:620px}
@media(max-width:700px){
  .dcard{min-height:0 !important;height:auto !important;aspect-ratio:auto !important;padding:1rem 1.1rem !important}
  .dcard .dprice{margin-top:.65rem !important}
  .destgrid{grid-auto-rows:auto !important}
}
.a2hs{bottom:96px;display:none;align-items:center;gap:.5rem;padding-right:.55rem}
.a2hs.show{display:flex}
.a2hs .ax{background:rgba(6,48,26,.18);border:none;border-radius:50%;width:20px;height:20px;line-height:1;font-size:.7rem;font-weight:800;color:#06301A;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
@media(min-width:701px){.a2hs{bottom:20px}}
.bnav button svg{width:19px;height:19px;display:block;margin:0 auto .15rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.dscape{height:64px;margin:-1.1rem -1.15rem .6rem;border-radius:18px 18px 0 0;background:linear-gradient(160deg,#EAFBF1,#E9ECFF);overflow:hidden;display:flex;align-items:flex-end}
.dscape svg{width:100%;height:56px;display:block}
.dscape path,.dscape rect,.dscape circle{fill:#33279E;opacity:.85}
.dcard:hover .dscape{background:linear-gradient(160deg,#DFF9EA,#E2E6FF)}
.dcard .dprice [data-dp]{font-size:1.12rem}
.sampletag{background:rgba(67,233,123,.15)}
.a2hs .ax{position:static !important;transform:none !important;margin-left:.45rem}

.dscape{position:relative}
.dscape img.dphoto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.dscape.hasphoto svg{display:none}

.pgraph.min > *:not(.pg-t){display:none}
.pgraph .pg-t{cursor:pointer}
.pgraph.min{padding-bottom:.9rem}
.pgexp{margin-left:auto;font-size:.68rem;font-weight:800;color:var(--blue)}
/* slimmer header modules */
.insight{padding:.55rem .9rem;font-size:.78rem;border-width:1px}
.sumtab{padding:.7rem .9rem}
.sumtab .v{font-size:1.3rem}
.fx{padding:.4rem .7rem;font-size:.7rem}
.tgtchip,#ptsChip,#fdBtn,#calBtn{font-size:.7rem;padding:.35rem .8rem}
.otarail{margin:1.1rem 0 .4rem}
/* dark mode repairs */
[data-theme="dark"] .insight{background:#18213C;border-color:rgba(122,140,255,.3)}
[data-theme="dark"] .vform{background:var(--white)}
[data-theme="dark"] .rbar{background:rgba(255,255,255,.12)}
[data-theme="dark"] .prange b{color:#7BE8A8}
[data-theme="dark"] .dscape{background:linear-gradient(160deg,#1B2A22,#20264A)}
[data-theme="dark"] .dscape path,[data-theme="dark"] .dscape rect,[data-theme="dark"] .dscape circle{fill:#8B9BFF}
[data-theme="dark"] .cabmenu button:hover{background:rgba(67,233,123,.15)}
[data-theme="dark"] .ptable td b{color:#7BE8A8}
[data-theme="dark"] .pseason{color:#9AA8C8}

.sumtabs{display:flex;gap:0 !important;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--white);box-shadow:var(--shadow-s);margin-bottom:.9rem}
.sumtab{border:none !important;border-radius:0 !important;flex:1;box-shadow:none !important;background:transparent !important;transform:none !important}
.sumtab+.sumtab{border-left:1px solid var(--line) !important}
.sumtab.on{background:rgba(106,77,232,.12) !important}
.sumtab .v{font-size:1.45rem}
.sumtab .n{font-size:.72rem}
.fx{background:none !important;border:none !important;border-bottom:2.5px solid transparent !important;border-radius:0 !important;padding:.35rem .55rem !important;box-shadow:none !important}
.fx.on{border-bottom-color:#E8A020 !important}
.fx.beats{border-bottom-color:var(--green) !important}
.flexstrip{gap:.15rem}
.lg-times{font-size:1.14rem}
.price{font-size:1.55rem}
.o-main{padding:1.15rem 1.25rem}
.src-note{font-size:.62rem}
.pg-t .tgtchip,.pg-t #ptsChip,.pg-t #fdBtn{margin-left:.3rem}

/* ══ THE HUMAN PASS II: bigger, calmer, quieter ══ */
.stats{font-size:.95rem}
.routeline{font-size:1.05rem;font-weight:800}
.todw{font-size:.8rem;padding:.5rem 1.05rem}
.insight{font-size:.86rem;padding:.7rem 1rem}
.frow{font-size:.88rem}
.fg-t{font-size:.84rem}
.fx{font-size:.78rem !important}
.src-note{font-size:.68rem}
.pg-t{font-size:.92rem}
/* one quiet chip language on the cards */
.cab-tag,.tt-chip,.mchip,.truth{background:transparent !important;border:1px solid var(--line);color:var(--ink2) !important;font-weight:600;border-radius:8px;padding:.18rem .5rem;font-size:.62rem;cursor:default}
.truth.ok{color:var(--green) !important;border-color:rgba(0,182,122,.45)}
.truth.warn{color:#C98A2B !important;border-color:rgba(201,138,43,.45)}
.truth.info{color:var(--ink2) !important}
.mchip.ecobest{outline:none;background:transparent !important;color:var(--green) !important;border-color:rgba(0,182,122,.45)}
.badge{background:transparent !important;border:1.5px solid currentColor;box-shadow:none !important;font-weight:800}
.b-best{color:#8B6CFF !important}
.b-cheap{color:var(--green) !important}
.b-quick{color:#5AA7E8 !important}
/* the filter header, off the candy */
.rail-hd{background:none !important;border-bottom:1px solid var(--line);border-radius:0;padding:.7rem .4rem .8rem;margin-bottom:.7rem}
.rail-hd b{color:var(--ink)}
.rail-hd a{color:#2FBF63;text-decoration:none}
.fcount{background:rgba(47,191,99,.15);color:#2FBF63}
/* dark reads bigger and brighter */
[data-theme="dark"]{--gray:#A6B4CF;--ink2:#D3DCEF}
[data-theme="dark"] .sumtab.on{background:rgba(139,108,255,.18) !important}

/* kayak anatomy: third column on wide screens */
.siderail{display:none}
@media(min-width:1280px){
  body.hasResults .wrap{grid-template-columns:250px 1fr 212px;gap:1.2rem}
  body.hasResults .siderail{display:block}
}
.sr-t{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:.92rem;margin:.2rem 0 .7rem}
#cmpCol a{display:flex;align-items:center;justify-content:space-between;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:.65rem .8rem;margin-bottom:.5rem;text-decoration:none;color:var(--ink);font-weight:700;font-size:.78rem;box-shadow:var(--shadow-s)}
#cmpCol a:hover{border-color:rgba(47,191,99,.5)}
#cmpCol a span{font-size:.62rem;font-weight:800;color:#2FBF63}
.bannerad{margin-top:1rem;border:1.5px dashed rgba(47,191,99,.5);border-radius:14px;padding:1.2rem 1rem;text-align:center;background:rgba(67,233,123,.04)}
.bannerad .ba-l{font-size:.56rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gray)}
.bannerad h4{font-family:'Plus Jakarta Sans',sans-serif;font-size:.92rem;font-weight:800;margin:.4rem 0}
.bannerad p{font-size:.66rem;color:var(--gray);font-weight:500;line-height:1.6;margin:0 0 .6rem}
.bannerad a{display:inline-block;background:linear-gradient(135deg,#52F08A,#2FBF63);color:#06301A;border-radius:10px;padding:.5rem 1rem;font-weight:800;font-size:.72rem;text-decoration:none}
.bannerad img{max-width:100%;border-radius:10px}
/* kayak-style underline sort tabs */
.sumtabs{border:none;box-shadow:none;background:transparent;border-bottom:1px solid var(--line);border-radius:0;overflow:visible}
.sumtab{position:relative;padding:.7rem .9rem .85rem}
.sumtab+.sumtab{border-left:none !important}
.sumtab.on{background:transparent !important}
.sumtab.on::after{content:'';position:absolute;left:8%;right:8%;bottom:-1px;height:3px;border-radius:3px;background:#6A4DE8}
/* notices, the honest kind */
.notices{display:none;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:.8rem 1rem;margin-bottom:.9rem;font-size:.82rem;font-weight:600;box-shadow:var(--shadow-s)}
.notices.show{display:flex;gap:.7rem;align-items:flex-start}
.notices .ni{flex:0 0 auto;width:20px;height:20px;border-radius:50%;border:2px solid var(--blue);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;font-style:normal}
.notices div p{margin:.1rem 0;font-weight:600}
.notices div p small{display:block;color:var(--gray);font-weight:500}

.fx{color:var(--ink2)}
.fx small{color:var(--gray)}
[data-theme="dark"] .pg-t{color:var(--ink)}

.cabsel{appearance:none;-webkit-appearance:none;border:none;background:transparent;font-family:'Inter',sans-serif;font-size:1rem;font-weight:700;color:var(--ink);width:100%;cursor:pointer;padding-right:1.1rem;outline:none}
.wfield:has(.cabsel){position:relative}
.wfield:has(.cabsel)::after{content:'\25BE';position:absolute;right:.9rem;bottom:1rem;color:#2FBF63;font-size:.8rem;pointer-events:none}

/* ===== v121 PLAIN PASS: flat, quiet, one accent ===== */
:root{--bg:#F5F6F8;--white:#fff;--ink:#1F2733;--ink2:#3E4959;--gray:#6B7684;--line:#DDE1E6;--accent:#1D5FD6;--accent2:#174CAD;--blue:#1D5FD6;--green:#1B8A4E;--shadow-s:none;--shadow-m:0 1px 3px rgba(0,0,0,.08)}
@supports (color:color(display-p3 1 1 1)){:root{--accent:#1D5FD6;--accent2:#174CAD;--blue:#1D5FD6;--green:#1B8A4E}}
.fly,.fly2,.fly3,.sky-art{animation:none !important;display:none !important}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink)}
h1,h2,h3,.logo,.sumtab .n,.badge,.wgo button,.view,.trip-seg button,.rail-hd b,.fg-t,.price,.lg-word,.sr-t{font-family:'Inter',system-ui,sans-serif}
/* remove decoration */
.sky-art,.fly,.fly2,.fly3,.f-stars,.golddiv,.fcbadge,.hero-in .sub,.vtabs,.vform,.trust,.roul,.wkend,
#goldBand,#resume,#destWrap,#rod,#hiw,#perks,#findsWrap,#pguide,#blog,#news,#faq,#whyus,.bnav,.topbtn,.gold-btn,.dark-btn,
.otarail,.meta-note,.flexstrip,#ptsChip,#fdBtn,#splitChip,#freshChip,.pel,.seatspin,
.o-foot .cscore,.o-foot .deal-tag,.avgs,.tt-chip,.meta-row,.pick,.badge.b-quick,
.share-chip,#bcPop,.cmpbar,#a2hs,.a2hs,.sortline .todw,#themeBtn,.themebtn{display:none !important}

@media(min-width:921px){body.hasResults .wrap{grid-template-columns:266px 1fr !important}}
.siderail{display:none !important}
@media(max-width:920px){body.hasResults .wrap{grid-template-columns:1fr !important}}
body.mcResults .pick{display:inline-block !important}
/* header */
.sky{background:var(--white) !important;border-bottom:1px solid var(--line)}
.hdr{padding:.8rem 1.25rem;border-bottom:1px solid var(--line)}
.lg-box{width:30px;height:30px}
.lg-word{color:var(--ink);font-size:1.25rem;font-weight:700;letter-spacing:-.02em}
.lg-word b{color:var(--accent);font-weight:700}
.lg-word i{color:var(--gray);font-weight:500}
.tool-sel{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:6px;padding:.35rem .6rem;font-weight:500}
.hsum{background:#fff;border:1px solid var(--line);box-shadow:none;border-radius:8px}
/* hero + search */
.hero-in{padding:2.2rem 1.25rem 2.4rem}
.hero-in h1{color:var(--ink) !important;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700 !important;letter-spacing:-.02em;margin:0 auto 1.1rem;text-align:left;max-width:100%}
.widget{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem 1rem 1.1rem;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.trip-seg{background:transparent;padding:0;margin:0 0 .8rem;box-shadow:none;border-radius:0}
.trip-seg button{color:var(--ink2);border-radius:6px;padding:.4rem .8rem;font-weight:500;font-size:.85rem}
.trip-seg button.on{background:#EAF0FB;color:var(--accent);font-weight:600}
.wfield{background:#fff;border:1px solid var(--line);border-radius:8px;padding:.55rem .85rem;box-shadow:none}
.wfield:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px rgba(29,95,214,.15)}
.wfield label{color:var(--gray);font-weight:500;font-size:.68rem;letter-spacing:0;text-transform:none}
.wfield input,.wfield .pax-btn,.wfield select{color:var(--ink);font-weight:500}
.swap{background:#fff;border:1px solid var(--line);color:var(--ink2);box-shadow:none}
.wgo button{background:var(--accent) !important;color:#fff !important;border-radius:8px !important;box-shadow:none !important;font-weight:600 !important;font-size:.95rem !important;min-height:52px !important;letter-spacing:0}
.wgo button:hover{background:var(--accent2) !important}
.qroutes{margin-top:.9rem}
.qroutes span{background:#fff;border:1px solid var(--line);color:var(--ink2);font-weight:500;border-radius:999px}
.qroutes span:hover{border-color:var(--accent);color:var(--accent)}
.pax-pop{border:1px solid var(--line);box-shadow:0 6px 24px rgba(0,0,0,.12);border-radius:10px}
/* results */
.wrap{margin-top:1rem}
.rail{border-radius:10px;box-shadow:none;border:1px solid var(--line) !important}
.rail-hd{background:none !important;padding:.75rem 1rem;border-bottom:1px solid var(--line);margin:0}
.rail-hd b{font-size:.9rem;font-weight:600}
.rail-hd a{color:var(--accent);font-weight:500}
.fg-t{font-weight:600 !important;font-size:.8rem}
.frow{font-weight:400}
.sumtabs{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden;box-shadow:none;margin-bottom:.8rem}
.sumtab{padding:.65rem .9rem !important}
.sumtab+.sumtab{border-left:1px solid var(--line) !important}
.sumtab .n{font-weight:500;color:var(--gray);font-size:.74rem}
.sumtab .v{font-weight:600;font-size:1rem}
.sumtab.on{background:#F3F7FE !important}
.sumtab.on .n{color:var(--accent);font-weight:600}
.sumtab.on::after{background:var(--accent);height:2px;left:0;right:0}
.stats{font-size:.82rem;font-weight:400;color:var(--gray)}
.sort-sel{border:1px solid var(--line);border-radius:6px;background:#fff;font-weight:500}
.offer{border-radius:10px;box-shadow:none;border:1px solid var(--line);margin-bottom:.7rem;transform:none !important}
.offer:hover{border-color:#B8C4D6;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.badge{position:static;display:inline-block;margin:.75rem 0 0 1.2rem;background:#EAF0FB;color:var(--accent);box-shadow:none;font-weight:600;letter-spacing:0;font-size:.66rem;padding:.2rem .55rem;border-radius:4px;text-transform:none}
.b-best,.b-cheap{background:#EAF0FB;color:var(--accent)}
.price{font-weight:600 !important;font-size:1.45rem !important;letter-spacing:-.02em}
.pp{color:var(--gray);font-weight:400}
.cab-tag{background:transparent;color:var(--gray);padding:0;font-weight:500;font-size:.72rem;border-radius:0}
.view{background:var(--accent);border-radius:8px;font-weight:600;font-size:.88rem;padding:.55rem 1.4rem;text-align:center}
.view:hover{background:var(--accent2)}
.o-foot{background:#FAFBFC;border-radius:0 0 10px 10px;padding:.5rem 1.2rem}
.o-foot .prov{font-weight:400;color:var(--gray)}
.det-btn{color:var(--accent);font-weight:500;background:none;border:none}
.state{border-radius:10px;box-shadow:none;padding:2rem 1.5rem}
.state h3{font-size:1.1rem;font-weight:600 !important}
.state p{color:var(--gray)}
.state-sug span{border:1px solid var(--line);color:var(--ink2);font-weight:500;background:#fff}
.searching{color:var(--gray);font-weight:500}
.skel{background:linear-gradient(90deg,#EEF0F3,#F6F7F9,#EEF0F3) !important;border-radius:10px}
.calwrap{border-radius:10px;box-shadow:none;border:1px solid var(--line)}
.calbtn,.tgtchip{border:1px solid var(--line);background:#fff;color:var(--ink2);border-radius:6px;font-weight:500;box-shadow:none}
.notices{border-radius:8px}
/* footer */
footer{background:#fff;border-top:1px solid var(--line);padding:2rem 1.25rem}
footer,footer p,footer a,footer .fin p{color:var(--gray) !important}
.froutes a{color:var(--ink2) !important;font-weight:400}
footer a[href="about.html"],footer a[href="privacy.html"],footer a[href="terms.html"]{color:var(--ink2) !important;font-weight:500 !important}
footer .fin p{font-size:.7rem;line-height:1.6}
#vstamp{color:#B0B8C4 !important}

/* v121 hard overrides */
.sky,.sky.sky-dawn,.sky.sky-dusk,.sky.sky-night{background:#fff !important}
@supports (color:color(display-p3 1 0 0)){.sky,.sky.sky-dawn,.sky.sky-dusk,.sky.sky-night{background:#fff !important}.lg-word b{color:#1D5FD6 !important}.wrow{border-color:#DDE1E6 !important;box-shadow:none !important}.rail-hd{background:none !important}}
.logo,.logo.lg2 .lg-word{color:#1F2733 !important}
.logo.lg2 .lg-word b,.logo b{color:#1D5FD6 !important}
.logo.lg2 .lg-word i{color:#6B7684 !important}
.lg2:hover .lg-box{transform:none;box-shadow:none}
.hero-in h1,.hero-in h1 span{background:none !important;-webkit-background-clip:initial;background-clip:initial;color:#1F2733 !important;-webkit-text-fill-color:#1F2733}
.wrow{border:1px solid #DDE1E6 !important;box-shadow:none !important;border-radius:10px !important;padding:0 !important;gap:0 !important;background:#fff}
.wrow:hover,.wrow:focus-within{box-shadow:none !important;transform:none !important}
.wfield{border:none;border-right:1px solid #DDE1E6;border-radius:0}
.wfield:focus-within{box-shadow:inset 0 0 0 2px #1D5FD6;border-color:#DDE1E6}
.wgo button::after{content:none !important}
.wgo button{border-radius:0 9px 9px 0 !important;min-height:100% !important;height:100%}
.fg-t .chev{color:#6B7684 !important}
.rail input[type=checkbox],.rail input[type=radio],.rail input[type=range],input[type=range],.frow input{accent-color:#1D5FD6 !important}
.fgroup{border-color:#DDE1E6 !important;border-radius:8px !important;box-shadow:none !important}
footer{border-top:1px solid #DDE1E6 !important;border-image:none !important}
.calbtn,.tgtchip{border-color:#DDE1E6 !important}

.hero-in{text-align:left;padding-bottom:2.2rem}
.hero-in .widget{text-align:left}
.wfield{text-align:left}
.railtoggle{border:1px solid #DDE1E6 !important;border-radius:8px !important;font-weight:600 !important;box-shadow:none}
.trip-seg button{white-space:nowrap}
.lg-box{background:none !important;box-shadow:none !important}
.lg-box svg rect:first-of-type{fill:#1D5FD6 !important}
.lg-box svg rect:nth-of-type(2){display:none}
.lg-box svg circle:last-of-type{fill:#fff}
@media(max-width:1000px){
  .wrow{grid-template-columns:1fr 1fr !important;gap:0 !important}
  .wgo{grid-column:1/-1}
  .wgo button{width:100%;height:auto !important;min-height:50px !important;border-radius:0 0 9px 9px !important}
  .wfield{border-right:1px solid #DDE1E6;border-bottom:1px solid #DDE1E6}
  .route-pair,.date-pair{grid-column:1/-1}
}
@media(max-width:700px){
  .hero-in h1{font-size:1.4rem}
  .trip-seg{width:auto;justify-content:flex-start}
  .trip-seg button{flex:0 0 auto;padding:.4rem .7rem;font-size:.8rem}
}

/* v121 results fixes */
.pgraph,.adcard,.src-note{display:none !important}
.leg{grid-template-columns:44px 1fr;gap:.8rem}
.al-logo,.al-fb{width:44px !important;height:44px !important;border-radius:8px !important;padding:4px !important;box-shadow:none !important;border:1px solid var(--line)}
.al-fb{font-size:.7rem;font-weight:600}
.lg-times{font-weight:600;font-size:1.05rem}
.lg-times small{color:var(--gray);font-weight:400}
.lg-dur{color:var(--gray);font-weight:400}
.lg-stops{font-weight:500}
.lg-stops.ns{color:var(--green)}
.view{background:var(--accent) !important;color:#fff !important;border-radius:8px !important;font-weight:600 !important;padding:.55rem 1.4rem;margin-top:.7rem}
.view:hover{background:var(--accent2) !important}
.truth{border:none !important;padding:0 !important;margin-top:.5rem;font-size:.7rem;font-weight:500;background:transparent !important;border-radius:0}
.truth.ok{color:var(--green) !important}
.truth.warn{color:#B36A10 !important}
.truth.info{color:var(--gray) !important}
.acline{color:var(--gray);font-size:.68rem;font-weight:400;margin-top:.2rem}
.badge,.b-best,.b-cheap{color:var(--accent) !important;background:#EAF0FB !important}
.o-side .pp{font-size:.7rem}
.stats b{font-weight:600;color:var(--ink)}
.routeline{font-weight:600;color:var(--ink)}
.calbtn{margin-top:.2rem}

.offer::before{display:none !important}
.wfield:has(.cabsel)::after{color:#6B7684}
.cab-tag{border:none !important;text-decoration:none;padding:0 !important}
.o-side .truth{display:block;line-height:1.35}
.frow{font-size:.84rem}
.state-sug span{border-radius:999px}

/* v121 mobile result cards: simple stacked layout */
@media(max-width:700px){
  .o-main{display:block !important;padding:.85rem .9rem !important}
  .o-main::after{display:none !important}
  .legs{gap:.65rem;padding-top:0}
  .leg{grid-template-columns:36px 1fr !important;gap:.6rem;align-items:center}
  .al-logo,.al-fb{width:36px !important;height:36px !important;padding:3px !important}
  .leg-body{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center;min-width:0}
  .lg-times{font-size:.95rem !important;font-weight:600 !important;white-space:nowrap;margin:0}
  .lg-times small{display:block;font-size:.66rem;font-weight:400;color:var(--gray)}
  .lg-mid{text-align:right;min-width:0}
  .lg-dur{font-size:.68rem}
  .lg-stops{font-size:.68rem}
  .lg-bar{display:none}
  .o-side{border-left:none !important;padding:.7rem 0 0 !important;margin-top:.7rem;border-top:1px solid var(--line);display:flex !important;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;text-align:left !important;grid-column:auto}
  .o-side>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .5rem}
  .price{font-size:1.25rem !important;margin:0}
  .pp{font-size:.66rem}
  .cab-tag{display:inline-block !important;font-size:.7rem}
  .view{display:inline-block !important;margin:0 !important;padding:.5rem 1.1rem;width:auto !important}
  .o-side .truth{display:block;width:100%;margin-top:.15rem;font-size:.68rem}
  .acline{width:100%;font-size:.64rem}
  .o-foot{display:flex !important;padding:.45rem .9rem;font-size:.66rem}
  .badge{position:static !important;margin:.65rem 0 0 .9rem;font-size:.62rem}
  .sumtab{padding:.5rem .55rem !important}
  .sumtab .v{font-size:.9rem}
  .sumtab .d{font-size:.6rem}
  .hdr{padding:.7rem 1rem}
  .hsum{font-size:.72rem;padding:.45rem .8rem}
  .stats{font-size:.78rem}
}

@media(max-width:700px){
  .lg-mid{white-space:nowrap;padding-left:.4rem}
  .lg-times{font-size:.9rem !important}
  .lg-stops{white-space:nowrap}
}

body.hdrGlass .hdr{background:#fff !important;box-shadow:0 1px 0 var(--line) !important;backdrop-filter:none !important}
.qroutes{justify-content:flex-start;flex-wrap:wrap}
@media(max-width:700px){.qroutes{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:.2rem;-webkit-overflow-scrolling:touch}.qroutes span{flex:0 0 auto}}

/* v122 type scale up */
html{font-size:16px}
body{font-size:15px}
.hero-in h1{font-size:clamp(1.7rem,3.2vw,2.3rem)}
.trip-seg button{font-size:.95rem}
.wfield label{font-size:.78rem}
.wfield input,.wfield .pax-btn,.wfield select,.pax-btn{font-size:1.05rem}
.wgo button{font-size:1.05rem !important;min-height:56px !important}
.qroutes span{font-size:.9rem;padding:.45rem 1rem}
.rail-hd b{font-size:1.05rem}
.rail-hd a{font-size:.9rem}
.fg-t{font-size:.95rem}
.frow{font-size:.95rem}
.frow input{width:17px;height:17px}
.range-lbls,.cnt,.range-val{font-size:.8rem}
.fg-body b,.fg-body .range-val{font-size:.9rem}
.stats{font-size:.95rem}
.routeline{font-size:1.15rem}
.calbtn,.tgtchip{font-size:.85rem;padding:.4rem .8rem}
.sumtab .n{font-size:.85rem}
.sumtab .v{font-size:1.15rem}
.sumtab .d{font-size:.78rem}
.sort-sel{font-size:.9rem;padding:.4rem .6rem}
.lg-times{font-size:1.15rem}
.lg-times small{font-size:.8rem}
.lg-dur{font-size:.85rem}
.lg-stops{font-size:.85rem}
.price{font-size:1.6rem !important}
.pp{font-size:.8rem}
.cab-tag{font-size:.85rem}
.truth{font-size:.85rem}
.acline{font-size:.8rem}
.view{font-size:.95rem;padding:.6rem 1.5rem}
.o-foot,.o-foot .prov{font-size:.82rem}
.det-btn{font-size:.85rem}
.badge{font-size:.75rem;padding:.22rem .6rem}
.state h3{font-size:1.25rem}
.state p{font-size:.95rem}
.state-sug span{font-size:.9rem}
.segs,.segs *{font-size:.9rem}
.cal-note{font-size:.85rem}
.notices{font-size:.9rem}
.tool-sel{font-size:.85rem}
.hsum{font-size:.9rem}
.froutes a{font-size:.9rem}
footer .fin p{font-size:.8rem}
footer a[href="about.html"],footer a[href="privacy.html"],footer a[href="terms.html"]{font-size:.9rem !important}
.railtoggle{font-size:.95rem !important}
@media(max-width:700px){
  .hero-in h1{font-size:1.55rem}
  .lg-times{font-size:1rem !important}
  .lg-times small{font-size:.75rem}
  .lg-dur,.lg-stops{font-size:.78rem}
  .price{font-size:1.4rem !important}
  .truth{font-size:.8rem}
  .acline{font-size:.75rem}
  .o-foot{font-size:.78rem}
  .sumtab .v{font-size:1rem}.sumtab .d{font-size:.7rem}.sumtab .n{font-size:.78rem}
  .stats{font-size:.9rem}
  .qroutes span{font-size:.85rem}
}
.layover.legbreak{font-weight:600;color:var(--ink);border-top:1px solid var(--line);margin-top:.5rem;padding-top:.5rem}

@media(min-width:701px){
  .o-main{grid-template-columns:1fr 250px}
  .o-side{align-items:stretch;text-align:right}
  .o-side>div{width:100%}
  .o-side .truth{display:block;white-space:normal}
  .o-side .acline{white-space:normal}
  .o-side .view{align-self:flex-end}
  .pp{white-space:nowrap}
}

.callq{display:block;margin-top:.5rem;font-size:.85rem;font-weight:500;color:var(--accent);text-decoration:none;text-align:right}
.callq:hover{text-decoration:underline}
#noticeBody a{color:var(--accent);font-weight:600;text-decoration:none}
@media(max-width:700px){.callq{display:inline-block;margin:0 0 0 .8rem;text-align:left}}

.notices{padding:.7rem .9rem}
#noticeBody p{margin:.15rem 0;font-size:.9rem}
#noticeBody small{display:inline;font-size:.82rem;color:var(--gray);margin-left:.35rem}
@media(max-width:700px){#noticeBody p{font-size:.85rem}#noticeBody small{display:block;margin:0;font-size:.78rem}}
.wfield:focus-within label{color:var(--accent) !important}
.wfield:focus-within{box-shadow:inset 0 0 0 2px var(--accent) !important}

/* v125 */
.adcard.adk{display:grid !important;grid-template-columns:110px 1fr auto;gap:1.2rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:none;padding:1.1rem 1.25rem;margin-bottom:.7rem}
.adcard .ad-logo{width:110px;height:80px;border-radius:8px;background:#EEF1F5;color:#3E4959;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.3rem;letter-spacing:.06em}
.adcard .ad-title{font-weight:700;font-size:1.05rem;color:var(--ink);margin-bottom:.2rem}
.adcard .ad-tag{font-size:.9rem;color:var(--ink2);font-weight:400;min-width:0;flex:none}
.adcard .ad-meta{font-size:.82rem;color:var(--gray);margin-top:.5rem}
.adcard .ad-meta b{color:var(--ink);font-weight:700}
.adcard .ad-sep{margin:0 .3rem;color:#B8C0CC}
.adcard .ad-side{border-left:1px solid var(--line);padding-left:1.2rem;align-self:stretch;display:flex;align-items:center}
.adcard .ad-go{background:var(--accent) !important;color:#fff !important;border-radius:8px !important;padding:.6rem 1.4rem;font-weight:600 !important;font-size:.95rem;text-decoration:none;white-space:nowrap}
.adcard .ad-go:hover{background:var(--accent2) !important}
@media(max-width:700px){.adcard.adk{grid-template-columns:64px 1fr;gap:.8rem;padding:.9rem}.adcard .ad-logo{width:64px;height:48px;font-size:.9rem}.adcard .ad-side{grid-column:1/-1;border-left:none;padding:0;border-top:1px solid var(--line);padding-top:.7rem}.adcard .ad-go{width:100%;text-align:center}}
.siderail{position:sticky;top:76px}
.sr-t{font-size:.9rem;font-weight:600;color:var(--ink);margin:0 0 .5rem}
#cmpCol a{border-radius:8px !important;font-size:.9rem;font-weight:500;color:var(--ink) !important;padding:.6rem .75rem !important;box-shadow:none}
#cmpCol a:hover{border-color:var(--accent) !important}
#cmpCol a span{color:var(--accent) !important;font-weight:600 !important;font-size:.75rem !important}
#bannerAd{display:none !important}

/* v126 sleek pass */
body,button,input,select{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;-webkit-font-smoothing:antialiased;letter-spacing:-.005em}
.hero-in h1{font-weight:600 !important;letter-spacing:-.025em}
.hero-in .h1sub{color:var(--gray);font-size:1rem;font-weight:400;margin:-.6rem 0 1.1rem}
/* filters: one quiet panel, dividers instead of boxes */
.rail{background:#fff;padding:0 !important;border:1px solid var(--line) !important;border-radius:10px}
.rail-hd{padding:.9rem 1.1rem .8rem !important;border-bottom:1px solid var(--line)}
.rail-hd b{font-size:1rem;font-weight:600;letter-spacing:-.01em}
.rail-hd a{font-size:.85rem;font-weight:500}
.fgroup{background:transparent !important;border:none !important;border-bottom:1px solid var(--line) !important;border-radius:0 !important;margin:0 !important;padding:.85rem 1.1rem !important;box-shadow:none !important}
.fgroup:last-child{border-bottom:none !important}
.fg-t{font-size:.92rem !important;font-weight:600 !important;color:var(--ink);letter-spacing:-.01em}
.fg-t .chev{opacity:.55;font-size:.7rem}
.fg-body{margin-top:.55rem}
.frow{font-size:.92rem !important;font-weight:400 !important;color:var(--ink2);padding:.28rem 0}
.frow input{width:16px;height:16px;margin:0}
.frow .cnt{font-size:.8rem !important;font-weight:400 !important;color:var(--gray)}
.range-val{font-size:.88rem !important;font-weight:500 !important;color:var(--ink2)}
.range-lbls{font-size:.78rem !important;font-weight:400}
.rail input[type=range]{height:3px}
.railhint{display:none !important}
/* results type: quieter weights */
.routeline{font-weight:600;letter-spacing:-.015em}
.stats{font-weight:400}
.sumtab .n{font-weight:500}
.sumtab .v{font-weight:600;letter-spacing:-.01em}
.lg-times{font-weight:600 !important;letter-spacing:-.01em}
.price{font-weight:600 !important;letter-spacing:-.02em}
.badge{font-weight:600;letter-spacing:.01em}
.view,.wgo button,.ad-go{font-weight:600 !important;letter-spacing:0}
.trip-seg button.on{font-weight:600}
.wfield label{font-weight:500}
.wfield input,.wfield select,.wfield .pax-btn{font-weight:500}
.hdr{padding:.75rem 1.25rem}
.lg-word{font-weight:600}
.lg-word b{font-weight:600}
/* compare column note */
.sr-note{font-size:.72rem;color:var(--gray);line-height:1.5;margin-top:.6rem}
.lg-times{white-space:nowrap}.lg-times small{white-space:nowrap}
@media(min-width:701px){.o-main{grid-template-columns:1fr 240px}}

/* v127 hierarchy: three ink levels, one accent, one semantic green */
:root{--ink:#111827;--ink2:#4B5563;--gray:#6B7280;--line:#E5E7EB;--bg:#F7F8FA}
.hero-in h1{color:var(--ink) !important;-webkit-text-fill-color:var(--ink)}
.h1sub{color:var(--gray)}
.routeline{color:var(--ink);font-size:1.25rem}
.stats{color:var(--gray)}
.stats b{color:var(--ink);font-weight:600}
.notices{background:#F3F4F6 !important;border:none !important;border-left:3px solid #9CA3AF !important;border-radius:6px !important;box-shadow:none}
#noticeBody p{color:var(--ink2);font-weight:500}
#noticeBody small{color:var(--gray)}
.sumtab .n{color:var(--gray)}
.sumtab .v{color:var(--ink)}
.sumtab .d{color:var(--gray)}
.sumtab.on .n{color:var(--accent)}
.lg-times{color:var(--ink)}
.lg-times small{color:var(--gray);font-weight:400;display:block;font-size:.8rem;margin-top:.1rem}
.lg-times sup,.lg-times .pd{color:var(--gray)}
.lg-dur{color:var(--gray)}
.lg-stops{color:var(--ink2);font-weight:500}
.lg-stops.ns{color:var(--green)}
.lg-stops.s1,.lg-stops.s2{color:#B45309}
.price{color:var(--ink)}
.pp{color:var(--gray)}
.cab-tag{color:var(--ink2)}
.truth.ok{color:var(--green) !important}
.acline{color:var(--gray)}
.callq{color:var(--accent);font-weight:500}
.o-foot{background:#FAFAFB;border-top:1px solid var(--line)}
.o-foot .prov{color:var(--gray)}
.det-btn{color:var(--ink2);font-weight:500}
.det-btn:hover{color:var(--accent)}
.badge{background:#EFF6FF !important;color:var(--accent) !important;font-weight:600}
.frow{color:var(--ink2)}
.rail-hd b{color:var(--ink)}
.rail-hd a{color:var(--accent)}
.fg-t{color:var(--ink)}
.range-val{color:var(--ink2)}
.range-lbls{color:var(--gray)}
.hsum{color:var(--ink2)}
.hsum b{color:var(--ink)}
.hsum a{color:var(--accent)}
.adcard .ad-title{color:var(--ink)}
.adcard .ad-tag{color:var(--ink2)}
.adcard .ad-meta{color:var(--gray)}
footer{background:#fff}
.froutes a{color:var(--ink2) !important}
footer .fin p{color:var(--gray) !important}
.notices{display:none !important}

/* ===== v128 premium pass: navy, ivory, hairlines, serif display ===== */
:root{--navy:#0F1B33;--navy2:#1B2A4A;--brass:#A88A5A;--bg:#F7F6F2;--white:#fff;--line:#E7E4DC;--ink:#151A26;--ink2:#4A5062;--gray:#7A8090;--accent:#0F1B33;--accent2:#1B2A4A;--blue:#0F1B33}
@supports (color:color(display-p3 1 1 1)){:root{--accent:#0F1B33;--accent2:#1B2A4A;--blue:#0F1B33}}
body{background:var(--bg)}
/* header + hero on navy */
.sky,.sky.sky-dawn,.sky.sky-dusk,.sky.sky-night{background:var(--navy) !important;border-bottom:none}
@supports (color:color(display-p3 1 0 0)){.sky,.sky.sky-dawn,.sky.sky-dusk,.sky.sky-night{background:var(--navy) !important}}
.hdr{border-bottom:1px solid rgba(255,255,255,.08);padding:1rem 1.5rem}
body.hdrGlass .hdr{background:var(--navy) !important;box-shadow:0 1px 0 rgba(255,255,255,.08) !important}
.logo,.logo.lg2 .lg-word{color:#fff !important}
.logo.lg2 .lg-word b,.logo b{color:#fff !important;font-weight:400 !important;font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:1.15em}
.logo.lg2 .lg-word i{color:rgba(255,255,255,.55) !important}
.lg-box svg rect:first-of-type{fill:#fff !important}
.lg-box svg path,.lg-box svg g{stroke:var(--navy) !important}
.lg-box svg circle{fill:var(--navy) !important}
.tool-sel{background:transparent;border:1px solid rgba(255,255,255,.28);color:#fff}
.tool-sel option{color:#111}
.hsum{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.85) !important}
.hsum b{color:#fff !important}
.hsum a{color:#fff !important;text-decoration:underline;text-underline-offset:3px}
.hero-in{padding:3rem 1.5rem 3.4rem}
.hero-in h1{font-family:'Instrument Serif',Georgia,serif !important;font-weight:400 !important;font-size:clamp(2.2rem,4.4vw,3.4rem) !important;letter-spacing:-.01em;color:#fff !important;-webkit-text-fill-color:#fff;line-height:1.08;margin-bottom:.5rem}
.hero-in .h1sub{color:rgba(255,255,255,.66);font-size:1.05rem;margin:0 0 1.6rem}
.widget{background:#fff;border:none;border-radius:14px;box-shadow:0 24px 60px -20px rgba(15,27,51,.5),0 2px 8px rgba(15,27,51,.08);padding:1.1rem 1.1rem 1.2rem}
.trip-seg button.on{background:#F1EFE9;color:var(--navy)}
.wrow{border:1px solid var(--line) !important;border-radius:10px !important;overflow:hidden}
.wfield{border-right:1px solid var(--line)}
.wfield:focus-within{box-shadow:inset 0 0 0 2px var(--navy) !important}
.wfield:focus-within label{color:var(--navy) !important}
.wfield label{color:var(--gray)}
.wgo button{background:var(--navy) !important;color:#fff !important;font-weight:600 !important;letter-spacing:.01em}
.wgo button:hover{background:var(--navy2) !important}
.qroutes span{background:transparent;border:1px solid var(--line);color:var(--ink2)}
.qroutes span:hover{border-color:var(--navy);color:var(--navy)}
.swap{border-color:var(--line)}
/* below the fold */
.wrap{margin-top:1.4rem}
.rail{border:1px solid var(--line) !important;border-radius:12px;background:#fff}
.rail-hd{border-bottom:1px solid var(--line)}
.fgroup{border-bottom:1px solid var(--line) !important}
.rail input[type=checkbox],.rail input[type=radio],.rail input[type=range],input[type=range],.frow input{accent-color:var(--navy) !important}
.rail-hd a{color:var(--navy)}
.routeline{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.6rem;letter-spacing:0}
.calbtn,.tgtchip{border-color:var(--line) !important;color:var(--ink2)}
.sumtabs{border:1px solid var(--line);border-radius:12px;background:#fff}
.sumtab+.sumtab{border-left:1px solid var(--line) !important}
.sumtab.on{background:#F7F6F2 !important}
.sumtab.on .n{color:var(--navy)}
.sumtab.on::after{background:var(--navy)}
.sort-sel{border-color:var(--line);background:#fff}
.offer{border:1px solid var(--line);border-radius:12px;background:#fff;transition:box-shadow .2s,border-color .2s}
.offer:hover{border-color:#D5D1C6;box-shadow:0 10px 30px -12px rgba(15,27,51,.18)}
.badge,.b-best,.b-cheap{background:transparent !important;color:var(--brass) !important;border:1px solid var(--brass);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.66rem;padding:.2rem .55rem}
.lg-times{color:var(--ink)}
.lg-stops.ns{color:#2E7D4F}
.lg-stops.s1,.lg-stops.s2{color:var(--brass)}
.lg-bar{background:var(--line)}
.al-logo,.al-fb{border:1px solid var(--line) !important;border-radius:10px !important}
.price{color:var(--ink);font-weight:600 !important}
.truth.ok{color:#2E7D4F !important}
.view{background:var(--navy) !important;color:#fff !important;border-radius:8px !important;font-weight:600 !important}
.view:hover{background:var(--navy2) !important}
.callq{color:var(--ink2);text-decoration:underline;text-underline-offset:3px;font-weight:400}
.callq:hover{color:var(--navy)}
.o-foot{background:#FBFAF7;border-top:1px solid var(--line)}
.det-btn{color:var(--ink2)}
.det-btn:hover{color:var(--navy)}
.o-side{border-left:1px solid var(--line) !important}
.state{border:1px solid var(--line);border-radius:12px}
.state-sug span{border-color:var(--line)}
.calwrap{border-color:var(--line)}
/* ad + compare */
.adcard.adk{border:1px solid var(--line);border-radius:12px}
.adcard .ad-logo{background:#F1EFE9;color:var(--navy)}
.adcard .ad-side{border-left:1px solid var(--line)}
.adcard .ad-go{background:var(--navy) !important;color:#fff !important}
.adcard .ad-go:hover{background:var(--navy2) !important}
.sr-t{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.15rem;color:var(--ink);margin-bottom:.6rem}
#cmpCol a{border:1px solid var(--line) !important;border-radius:10px !important;background:#fff;color:var(--ink) !important;padding:.65rem .8rem !important}
#cmpCol a:hover{border-color:var(--navy) !important;box-shadow:0 6px 18px -10px rgba(15,27,51,.25)}
#cmpCol a span{color:var(--navy) !important;font-weight:500 !important;font-size:.72rem !important;text-transform:uppercase;letter-spacing:.06em}
.sr-note{color:var(--gray)}
/* mobile */
.railtoggle{border:1px solid var(--line) !important;background:#fff}
@media(max-width:700px){.hero-in{padding:2rem 1rem 2.4rem}.hero-in h1{font-size:2rem !important}.hero-in .h1sub{font-size:.95rem}.o-side{border-left:none !important;border-top:1px solid var(--line)}}
/* footer */
footer{background:var(--navy) !important;border-top:none !important;padding:2.6rem 1.5rem 2rem}
footer,footer p,footer a,footer .fin p,.froutes a{color:rgba(255,255,255,.62) !important}
footer a[href="about.html"],footer a[href="privacy.html"],footer a[href="terms.html"]{color:#fff !important}
#vstamp{color:rgba(255,255,255,.3) !important}

/* v128 home */
body:not(.hasResults):not(.searched) .wrap{display:none}
.homeroutes{padding:3rem 1.5rem 3.5rem}
.hr-in{max-width:1180px;margin:0 auto}
.homeroutes h2{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.9rem;letter-spacing:0;color:var(--ink);margin:0 0 .3rem}
.homeroutes p{color:var(--gray);margin:0 0 1.4rem;font-size:1rem}
.hr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}
.hr-grid a{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.9rem 1rem;color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem;transition:border-color .2s,box-shadow .2s}
.hr-grid a span{color:var(--gray);font-weight:400;margin:0 .35rem}
.hr-grid a:hover{border-color:var(--navy);box-shadow:0 8px 24px -14px rgba(15,27,51,.3)}
body.hasResults .homeroutes,body.searched .homeroutes{display:none}
@media(max-width:1000px){.hr-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.hr-grid{grid-template-columns:1fr}.homeroutes{padding:2rem 1rem}}
.hsum a,.hsum a:hover,.hsum .ed{color:#fff !important;font-weight:600}

/* v129: no orange anywhere; niche */
:root{--brass:#4A5062}
.badge,.b-best,.b-cheap{color:var(--navy) !important;border-color:var(--navy) !important;background:transparent !important}
.lg-stops.s1,.lg-stops.s2,.lg-stops.s3{color:var(--ink2) !important}
.truth.warn{color:var(--ink2) !important;background:transparent !important}
.truth.warn::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:#9CA3AF;margin-right:.35rem;vertical-align:middle}
.wtable td.p{color:var(--ink) !important}
.fx.on{border-bottom-color:var(--navy) !important}
.searching b{color:var(--navy) !important}
.searching svg g,.searching svg path,.searching svg circle{stroke:var(--navy) !important}
.dcard{background:var(--navy) !important}
.pgexp,.rod-go,.gm-go{display:none !important}
/* niche strip: verified toggle inline above results */
.nichebar{display:none;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.7rem 1rem;margin-bottom:.8rem;font-size:.92rem;color:var(--ink2)}
body.hasResults .nichebar{display:flex}
.nichebar label{display:flex;align-items:center;gap:.55rem;cursor:pointer;color:var(--ink);font-weight:500}
.nichebar input{width:16px;height:16px;accent-color:var(--navy)}
.nichebar .nb-r{color:var(--gray);font-size:.85rem}
@media(max-width:700px){.nichebar{flex-direction:column;align-items:flex-start;gap:.4rem}}
/* home niche facts */
.facts{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.facts h3{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.35rem;margin:0 0 .35rem;color:var(--ink)}
.facts p{margin:0;font-size:.95rem;color:var(--ink2);line-height:1.6}
@media(max-width:800px){.facts{grid-template-columns:1fr;gap:1.4rem}}
.al-fb{background:#F1EFE9 !important;color:var(--navy) !important;border:1px solid var(--line) !important;font-weight:600}

/* v130: no green. one navy. */
:root{--green:#2B3A5C}
@supports (color:color(display-p3 1 1 1)){:root{--green:#2B3A5C}}
.truth.ok{color:#2B3A5C !important}
.lg-stops.ns{color:var(--ink2) !important}
.cald.best{background:#F1EFE9 !important;border-color:var(--navy) !important}.cald.best .dp{color:var(--navy) !important}
.calbest,.tgtchip.hit,.cmp-t td.win,.fcard .fp,.deal-tag,.mchip.eco{color:var(--navy) !important;background:transparent !important;border-color:var(--navy) !important}
.railtoggle{border-color:var(--line) !important}
/* sources panel */
.srcpanel{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.srcrow{display:flex;justify-content:space-between;align-items:center;padding:.6rem .8rem;border-bottom:1px solid var(--line);font-size:.9rem;color:var(--ink)}
.srcrow:last-child{border-bottom:none}
.srcrow .sn{color:var(--ink2)}
.srcrow .sp{font-weight:600}
.srcrow .sn{white-space:nowrap}.srcrow .sp{white-space:nowrap}.srcrow .sp em{font-style:normal;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--navy);border-radius:4px;padding:.15rem .4rem;margin-left:.45rem;vertical-align:middle}
.srcrow.low{background:#FBFAF7}
.altsrc{padding:.35rem 1.25rem 0;font-size:.85rem;color:var(--ink2);border-top:1px dashed var(--line);margin-top:.2rem}
@media(max-width:700px){.altsrc{padding:.4rem .9rem 0}}

/* v131 */
.srcstrip{display:none;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.7rem 1rem;margin-bottom:.8rem}
.ss-l{font-size:.78rem;color:var(--gray);text-transform:uppercase;letter-spacing:.06em;margin:.2rem 0 .35rem}
.ss-rows{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.6rem}
.ss-r{border:1px solid var(--line);border-radius:8px;padding:.35rem .7rem;font-size:.9rem;color:var(--ink2)}
.ss-r b{color:var(--ink);font-weight:600;margin-right:.25rem}
.ss-r.low{border-color:var(--navy);background:#FBFAF7}
.ss-links{display:flex;flex-wrap:wrap;gap:.35rem .9rem}
.ss-links a{font-size:.9rem;color:var(--ink2);text-decoration:underline;text-underline-offset:3px}
.ss-links a:hover{color:var(--navy)}
@media(min-width:921px){body.hasResults .wrap{grid-template-columns:266px 1fr !important}}

/* v132 */
.srcstrip{display:none !important}
.othwrap{position:relative;display:inline-block;margin-left:.4rem;vertical-align:middle}
.othpop{display:none;position:absolute;top:calc(100% + 8px);left:0;z-index:50;min-width:260px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px -16px rgba(15,27,51,.3);padding:.6rem .4rem;text-align:left}
.othpop.show{display:block}
.op-l{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gray);padding:.35rem .7rem .25rem}
.op-r{display:flex;justify-content:space-between;padding:.35rem .7rem;font-size:.9rem;color:var(--ink2)}
.op-r b{color:var(--ink);font-weight:600}
.op-r em{font-style:normal;font-size:.68rem;color:var(--gray);font-weight:400}
.op-a{display:flex;justify-content:space-between;align-items:center;padding:.5rem .7rem;border-radius:8px;color:var(--ink);text-decoration:none;font-size:.92rem}
.op-a:hover{background:#F7F6F2}
.op-a span{color:var(--gray);font-size:.8rem}
.op-n{font-size:.72rem;color:var(--gray);padding:.5rem .7rem .2rem;border-top:1px solid var(--line);margin-top:.3rem;line-height:1.5}
@media(max-width:700px){.othpop{left:auto;right:0;min-width:240px}}
/* ad cards: light, distinct, quiet */
.adcard.adk{background:#F3F5F9 !important;border:1px solid #E1E5EE !important;border-radius:12px}
.adcard .ad-logo{background:#fff;border:1px solid #E1E5EE;color:var(--navy)}
.adcard .ad-title{font-weight:600;font-size:1rem}
.adcard .ad-tag{color:var(--ink2)}
.adcard .ad-meta{color:var(--gray)}
.adcard .ad-meta b{color:var(--gray);font-weight:600;border:1px solid #CFD5E1;border-radius:4px;padding:0 .35rem;font-size:.7rem}
.adcard .ad-side{border-left:1px solid #E1E5EE}
.adcard .ad-go{background:#fff !important;color:var(--navy) !important;border:1px solid var(--navy) !important;font-weight:600 !important}
.adcard .ad-go:hover{background:var(--navy) !important;color:#fff !important}
#othWrap{display:inline-block}#othWrap[style*="display: none"],#othWrap[style*="display:none"]{display:none !important}

/* v133 */
.cmpline{display:none;align-items:center;flex-wrap:wrap;gap:.3rem 1rem;padding:.55rem .2rem .9rem;font-size:.9rem}
.cl-l{color:var(--gray);font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;margin-right:.2rem}
.cmpline a{color:var(--ink);text-decoration:none;font-weight:500;padding-bottom:1px;border-bottom:1px solid #C9CDD6}
.cmpline a:hover{border-bottom-color:var(--navy);color:var(--navy)}
.cl-s{color:var(--ink2)}.cl-s b{color:var(--ink);font-weight:600}
.cl-sep{width:1px;height:14px;background:var(--line);margin:0 .2rem}
@media(max-width:700px){.cmpline{gap:.25rem .7rem;font-size:.85rem;padding:.4rem 0 .7rem}}
.logo.lg2 .lg-word,.logo.lg2 .lg-word b{font-family:'Inter',system-ui,sans-serif !important;font-style:normal !important;font-weight:600 !important;font-size:1.25rem !important;letter-spacing:-.02em;color:#fff !important}
.logo.lg2 .lg-word b{font-weight:400 !important;color:rgba(255,255,255,.92) !important}
.logo.lg2 .lg-word i{color:rgba(255,255,255,.5) !important;font-size:.85rem !important;font-weight:400 !important;margin-left:1px}
.lg-box{width:30px;height:30px}
/* aesthetic refinements */
.routeline{font-size:1.75rem}
.offer{box-shadow:0 1px 2px rgba(15,27,51,.04)}
.offer:hover{box-shadow:0 12px 32px -14px rgba(15,27,51,.22)}
.o-main{padding:1.35rem 1.4rem 1.2rem}
.lg-times{font-size:1.2rem}
.price{font-size:1.7rem !important}
.view{padding:.65rem 1.7rem;font-size:.95rem}
.sumtab{padding:.85rem 1.1rem !important}
.hero-in h1{font-size:clamp(2.3rem,4.6vw,3.6rem) !important}
.h1sub{max-width:720px}
.hsum a,.hsum .ed{color:#fff !important;opacity:1 !important;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.cl-l{color:var(--gray)}
.hsum span{color:rgba(255,255,255,.75) !important}.hsum .edit,.hsum span:last-child{color:#fff !important;font-weight:600;text-decoration:underline;text-underline-offset:3px;margin-left:.5rem}

/* v134 details + calendar */
.segs{background:#FBFAF7 !important;border-top:1px solid var(--line);padding:1rem 1.4rem 1.1rem;border-radius:0 0 12px 12px}
.seg{grid-template-columns:36px 1fr;gap:.9rem;padding:.55rem 0;align-items:center}
.seg .al-fb,.seg img{width:36px !important;height:36px !important}
.seg-b{font-size:.95rem}
.seg-top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.seg-b b{font-weight:600;color:var(--ink)}
.seg-dur{color:var(--gray);font-size:.85rem;white-space:nowrap}
.seg-b .mut{color:var(--gray);font-size:.85rem;font-weight:400;margin-top:.1rem}
.seg-b .cab-ok{color:var(--ink2);font-weight:500}
.seg-b .cab-low{color:var(--ink);font-weight:600;border-bottom:1px solid var(--ink)}
.layover{color:var(--ink2) !important;font-weight:400 !important;font-size:.85rem;padding:.35rem 0 .35rem 2.85rem;position:relative}
.layover::before{content:'';position:absolute;left:1.05rem;top:0;bottom:0;border-left:1px dashed #C9CDD6}
.layover.legbreak{color:var(--ink) !important;font-weight:600 !important;padding-left:0;border-top:1px solid var(--line);margin-top:.6rem;padding-top:.7rem}
.layover.legbreak::before{display:none}
.cald{border-radius:8px !important;border:1px solid var(--line) !important;box-shadow:none !important}
.cald .dp{font-size:.72rem;font-weight:500 !important;color:var(--ink2)}
.cald.best{background:#F1EFE9 !important;border-color:var(--navy) !important}
.cald.sel{border-color:var(--navy) !important;box-shadow:inset 0 0 0 1px var(--navy) !important}
.cal-note{color:var(--gray);font-size:.85rem}
.calscan,.calwrap .scan,#calScanBtn{background:var(--navy) !important;color:#fff !important;border-radius:8px !important;font-weight:600 !important;box-shadow:none !important}
.calwrap{border-radius:12px !important}
@media(max-width:700px){.seg{grid-template-columns:30px 1fr;gap:.6rem}.seg .al-fb,.seg img{width:30px !important;height:30px !important}.seg-b{font-size:.9rem}.seg-top{flex-direction:column;gap:0;align-items:flex-start}.layover{padding-left:2.4rem}.layover::before{left:.85rem}}
.cald.best .dp::before{content:none !important}

/* v135 social */
.socials{display:flex !important;justify-content:center;gap:.9rem;margin:1.6rem 0 .6rem}
.socials a{width:40px;height:40px;border-radius:10px;box-shadow:none}
.socials a:hover{transform:translateY(-2px);box-shadow:none}
.socials svg{width:18px;height:18px}
.socials svg path{fill:#fff !important}

/* v137 phone fares */
.callq.pf{display:block;text-decoration:none;border:1px solid var(--line);border-radius:8px;padding:.45rem .7rem;margin-top:.6rem;text-align:right;background:#FBFAF7}
.callq.pf .pf-l{display:block;font-size:.72rem;color:var(--gray);text-transform:uppercase;letter-spacing:.05em}
.callq.pf b{font-size:1.15rem;font-weight:600;color:var(--ink)}
.callq.pf small{display:block;font-size:.78rem;color:var(--ink2);text-decoration:underline;text-underline-offset:3px}
.callq.pf:hover{border-color:var(--navy)}
.pf-note{font-size:.8rem;color:var(--gray);line-height:1.5;margin:.6rem 0 0;padding:0 .2rem}
@media(max-width:700px){.callq.pf{display:inline-block;text-align:left;margin:0 0 0 .6rem}}

.mixnote{display:block;font-size:.85rem;color:var(--ink2);font-family:Inter,sans-serif;margin:.1rem 0 .3rem}
.callq.pf .pf-l{text-transform:none;letter-spacing:0;font-size:.8rem;color:var(--ink2)}
.callq.pf b{font-size:1.25rem}
.callq.pf small{color:var(--navy);font-weight:600}

/* ===== v140 modern pass: light, rounded, one vivid accent, no serif ===== */
:root{--navy:#0B1220;--navy2:#1E293B;--bg:#F5F6FA;--white:#fff;--line:#E6E8EF;--ink:#0B1220;--ink2:#475069;--gray:#6F7890;--accent:#2E5BFF;--accent2:#1F45D9;--blue:#2E5BFF;--green:#2E5BFF;--brass:#475069;--r:16px}
@supports (color:color(display-p3 1 1 1)){:root{--accent:#2E5BFF;--accent2:#1F45D9;--blue:#2E5BFF;--green:#2E5BFF}}
body{background:var(--bg);font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif}
h1,h2,h3,.routeline,.homeroutes h2,.facts h3,.sr-t{font-family:'Inter',sans-serif !important;font-style:normal !important}
/* header: white, minimal */
.sky,.sky.sky-dawn,.sky.sky-dusk,.sky.sky-night{background:#fff !important;border-bottom:none}
@supports (color:color(display-p3 1 0 0)){.sky,.sky.sky-dawn,.sky.sky-dusk,.sky.sky-night{background:#fff !important}}
.hdr{border-bottom:1px solid var(--line);padding:.9rem 1.5rem}
body.hdrGlass .hdr{background:#fff !important;box-shadow:0 1px 0 var(--line) !important}
.logo,.logo.lg2 .lg-word,.logo.lg2 .lg-word b{color:var(--ink) !important;font-weight:700 !important;letter-spacing:-.03em}
.logo.lg2 .lg-word b{color:var(--accent) !important;font-weight:700 !important}
.logo.lg2 .lg-word i{color:var(--gray) !important}
.lg-box svg rect:first-of-type{fill:var(--accent) !important}
.lg-box svg path,.lg-box svg g{stroke:#fff !important}
.lg-box svg circle{fill:#fff !important}
.lg-box{border-radius:9px;overflow:hidden}
.tool-sel{background:#fff;border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:.4rem .9rem}
.tool-sel option{color:#111}
.hsum{background:#F5F6FA;border:1px solid var(--line);color:var(--ink2) !important;border-radius:999px;padding:.5rem 1rem}
.hsum b,.hsum span{color:var(--ink) !important}
.hsum span{color:var(--ink2) !important}
.hsum a,.hsum .edit,.hsum span:last-child{color:var(--accent) !important;text-decoration:none;font-weight:600}
/* hero: light, big type, soft accent wash */
.hero-in{padding:3.2rem 1.5rem 3rem;background:radial-gradient(900px 300px at 50% -80px,rgba(46,91,255,.10),transparent 70%)}
.hero-in h1{font-family:'Inter',sans-serif !important;font-weight:800 !important;font-size:clamp(2.2rem,4.6vw,3.5rem) !important;letter-spacing:-.04em;color:var(--ink) !important;-webkit-text-fill-color:var(--ink);line-height:1.05;margin-bottom:.6rem}
.hero-in .h1sub{color:var(--ink2);font-size:1.1rem;margin:0 0 1.6rem;max-width:720px}
.widget{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 50px -24px rgba(11,18,32,.25),0 1px 2px rgba(11,18,32,.04);padding:1.1rem 1.1rem 1.2rem}
.trip-seg{gap:.25rem}
.trip-seg button{border-radius:999px;padding:.45rem .95rem}
.trip-seg button.on{background:var(--ink);color:#fff}
.wrow{border:1px solid var(--line) !important;border-radius:14px !important;overflow:hidden;background:#fff}
.wfield{border-right:1px solid var(--line)}
.wfield:focus-within{box-shadow:inset 0 0 0 2px var(--accent) !important}
.wfield:focus-within label{color:var(--accent) !important}
.wgo button{background:var(--accent) !important;color:#fff !important;font-weight:700 !important;border-radius:0 13px 13px 0 !important}
.wgo button:hover{background:var(--accent2) !important}
.qroutes span{background:#F5F6FA;border:1px solid transparent;color:var(--ink2);border-radius:999px}
.qroutes span:hover{background:#fff;border-color:var(--line);color:var(--ink)}
/* home routes + facts */
.homeroutes{padding:2.6rem 1.5rem 3.5rem}
.homeroutes h2{font-weight:800;font-size:1.6rem;letter-spacing:-.03em}
.hr-grid a{border-radius:14px;border:1px solid var(--line);font-weight:600}
.hr-grid a:hover{border-color:var(--accent);box-shadow:0 10px 26px -16px rgba(46,91,255,.5)}
.facts h3{font-weight:700;font-size:1.05rem;letter-spacing:-.01em}
.facts h3::before{content:'';display:block;width:28px;height:3px;border-radius:2px;background:var(--accent);margin-bottom:.7rem}
/* results */
.rail{border-radius:var(--r);border:1px solid var(--line) !important;background:#fff}
.rail input[type=checkbox],.rail input[type=radio],.rail input[type=range],input[type=range],.frow input,.nichebar input{accent-color:var(--accent) !important}
.rail-hd a{color:var(--accent)}
.routeline{font-weight:800;font-size:1.5rem;letter-spacing:-.03em}
.calbtn,.tgtchip{border-radius:999px !important;border-color:var(--line) !important;color:var(--ink2);background:#fff}
.calbtn:hover{border-color:var(--accent) !important;color:var(--accent)}
.sumtabs{border:none;border-radius:var(--r);background:#fff;box-shadow:0 1px 2px rgba(11,18,32,.04);border:1px solid var(--line)}
.sumtab+.sumtab{border-left:1px solid var(--line) !important}
.sumtab.on{background:#F0F4FF !important}
.sumtab.on .n{color:var(--accent)}
.sumtab.on::after{background:var(--accent);height:3px;border-radius:3px 3px 0 0}
.nichebar{border-radius:var(--r);border:1px solid var(--line)}
.cmpline a{border-bottom-color:transparent;color:var(--ink2);background:#fff;border:1px solid var(--line);border-radius:999px;padding:.3rem .8rem;font-size:.85rem}
.cmpline a:hover{border-color:var(--accent);color:var(--accent)}
.sort-sel{border-radius:999px;border-color:var(--line);padding:.45rem .9rem}
.offer{border-radius:var(--r);border:1px solid var(--line);box-shadow:0 1px 2px rgba(11,18,32,.04)}
.offer:hover{border-color:#CBD3E6;box-shadow:0 16px 40px -20px rgba(11,18,32,.28)}
.badge,.b-best,.b-cheap{background:#EEF3FF !important;color:var(--accent) !important;border:none !important;text-transform:none;letter-spacing:0;font-size:.72rem;font-weight:700;border-radius:999px;padding:.25rem .7rem}
.lg-times{font-weight:700;letter-spacing:-.02em}
.lg-stops.ns{color:var(--accent) !important;font-weight:600}
.lg-stops.s1,.lg-stops.s2,.lg-stops.s3{color:var(--ink2) !important}
.lg-bar{background:var(--line)}
.al-logo,.al-fb{border-radius:12px !important;border:1px solid var(--line) !important}
.al-fb{background:#F5F6FA !important;color:var(--ink) !important}
.price{font-weight:800 !important;letter-spacing:-.03em}
.truth.ok{color:var(--accent) !important;font-weight:600}
.view{background:var(--ink) !important;color:#fff !important;border-radius:999px !important;font-weight:700 !important;padding:.65rem 1.6rem}
.view:hover{background:var(--navy2) !important}
.callq{color:var(--ink2)}
.callq.pf{border-radius:12px;background:#F5F6FA;border-color:transparent}
.callq.pf b{color:var(--ink)}
.callq.pf small{color:var(--accent)}
.callq.pf:hover{border-color:var(--accent)}
.o-foot{background:#FAFBFD;border-top:1px solid var(--line);border-radius:0 0 var(--r) var(--r)}
.det-btn{color:var(--accent);font-weight:600}
.segs{background:#FAFBFD !important;border-radius:0 0 var(--r) var(--r)}
.seg-b .cab-low{border-bottom-color:var(--ink)}
.state{border-radius:var(--r);border:1px solid var(--line)}
.state-sug span{border-radius:999px}
.adcard.adk{background:#fff !important;border:1px dashed #CBD3E6 !important;border-radius:var(--r)}
.adcard .ad-logo{background:#F5F6FA;border:none;color:var(--ink);border-radius:12px}
.adcard .ad-go{background:#fff !important;color:var(--ink) !important;border:1px solid var(--ink) !important;border-radius:999px !important}
.adcard .ad-go:hover{background:var(--ink) !important;color:#fff !important}
.calwrap{border-radius:var(--r) !important}
.cald{border-radius:10px !important}
.cald.best{background:#EEF3FF !important;border-color:var(--accent) !important}
.cald.sel{border-color:var(--accent) !important;box-shadow:inset 0 0 0 1px var(--accent) !important}
#calScanBtn,.calscan{background:var(--ink) !important;border-radius:999px !important}
.railtoggle{border-radius:999px !important;border-color:var(--line) !important}
/* footer: light */
footer{background:#fff !important;border-top:1px solid var(--line) !important;padding:2.6rem 1.5rem 2rem}
footer,footer p,footer a,footer .fin p,.froutes a{color:var(--ink2) !important}
footer a[href="about.html"],footer a[href="privacy.html"],footer a[href="terms.html"]{color:var(--ink) !important}
#vstamp{color:#B4BBCB !important}
.socials a{border-radius:12px}
@media(max-width:700px){.hero-in{padding:2rem 1rem 2.2rem}.hero-in h1{font-size:2rem !important}.widget{border-radius:18px}.wgo button{border-radius:0 0 13px 13px !important}}

/* ===================== v141 ALTITUDE ===================== */
:root{--bg:#F6F8FC;--white:#fff;--line:rgba(11,18,32,.08);--ink:#0B1220;--ink2:#3E4658;--gray:#6B7488;--accent:#2B5CFF;--accent2:#1D46D6;--blue:#2B5CFF;--green:#2B5CFF;--coral:#FF5A3C;--r:18px;--glass:rgba(255,255,255,.72);--ease:cubic-bezier(.2,.8,.2,1)}
html{scroll-behavior:smooth}
body{background:#F6F8FC;background-image:radial-gradient(1200px 600px at 20% -10%,rgba(43,92,255,.10),transparent 60%),radial-gradient(900px 500px at 100% 0%,rgba(168,131,255,.10),transparent 60%),radial-gradient(800px 500px at 50% 110%,rgba(43,92,255,.06),transparent 60%);background-attachment:fixed}
/* header */
.sky,.sky.sky-dawn,.sky.sky-dusk,.sky.sky-night{background:transparent !important;border-bottom:none}
@supports (color:color(display-p3 1 0 0)){.sky,.sky.sky-dawn,.sky.sky-dusk,.sky.sky-night{background:transparent !important}}
.hdr{position:sticky;top:0;z-index:40;background:rgba(246,248,252,.75) !important;backdrop-filter:saturate(1.6) blur(14px) !important;-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--line);padding:.8rem 1.5rem;transition:box-shadow .3s}
body.hdrGlass .hdr{background:rgba(246,248,252,.85) !important;box-shadow:0 8px 30px -20px rgba(11,18,32,.25) !important}
.logo.lg2 .lg-word,.logo.lg2 .lg-word b{font-weight:800 !important;letter-spacing:-.035em;color:var(--ink) !important}
.logo.lg2 .lg-word b{color:var(--accent) !important}
.lg-box{border-radius:10px;overflow:hidden;box-shadow:0 6px 16px -8px rgba(43,92,255,.6)}
.hsum{background:#fff;border:1px solid var(--line);border-radius:999px;box-shadow:0 8px 24px -16px rgba(11,18,32,.25);animation:popIn .4s var(--ease) both}
@keyframes popIn{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}
.tool-sel{border-radius:999px;background:#fff}
/* hero */
.hero-in{padding:3.6rem 1.5rem 3.2rem;background:none}
.hero-in h1{font-size:clamp(2.4rem,5vw,4rem) !important;font-weight:800 !important;letter-spacing:-.045em;line-height:1.02;animation:up .6s var(--ease) both}
.hero-in .h1sub{animation:up .6s .08s var(--ease) both;color:var(--ink2);font-size:1.15rem}
.hero-in h1 .hi{background:linear-gradient(90deg,var(--accent),#7B5CFF);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
@keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.widget{animation:up .6s .16s var(--ease) both;background:var(--glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.9);box-shadow:0 30px 80px -30px rgba(11,18,32,.35),0 1px 0 rgba(255,255,255,.8) inset;border-radius:24px}
.wrow{background:#fff;border-radius:16px !important;box-shadow:0 1px 2px rgba(11,18,32,.04)}
.wgo button{border-radius:0 15px 15px 0 !important;background:linear-gradient(135deg,#2B5CFF,#1D46D6) !important;box-shadow:0 10px 24px -12px rgba(43,92,255,.8) !important;transition:transform .2s var(--ease),box-shadow .2s}
.wgo button:hover{transform:translateY(-1px);box-shadow:0 14px 28px -12px rgba(43,92,255,.9) !important}
.trip-seg button{transition:background .2s,color .2s}
.qroutes span{background:rgba(255,255,255,.7);border:1px solid var(--line);transition:transform .2s var(--ease),box-shadow .2s;animation:up .5s .3s var(--ease) both}
.qroutes span:hover{transform:translateY(-2px);box-shadow:0 8px 20px -12px rgba(11,18,32,.3)}
/* home sections */
.homeroutes{padding:2rem 1.5rem 3.5rem;background:none}
.hr-grid a{background:var(--glass);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.9);box-shadow:0 8px 24px -18px rgba(11,18,32,.25);border-radius:16px;transition:transform .25s var(--ease),box-shadow .25s}
.hr-grid a:hover{transform:translateY(-3px);box-shadow:0 20px 40px -20px rgba(43,92,255,.35);border-color:rgba(43,92,255,.4)}
.hr-grid a span{color:var(--accent);opacity:.7}
.facts{border-top:1px solid var(--line)}
.facts>div{background:var(--glass);border:1px solid rgba(255,255,255,.9);border-radius:16px;padding:1.2rem 1.3rem;box-shadow:0 8px 24px -18px rgba(11,18,32,.2)}
/* results shell */
.wrap{margin-top:1.2rem}
.rail{background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.9) !important;box-shadow:0 10px 30px -22px rgba(11,18,32,.3);border-radius:20px}
.routeline{animation:up .5s var(--ease) both}
.sumtabs{background:var(--glass);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.9);box-shadow:0 10px 30px -22px rgba(11,18,32,.3);border-radius:18px;animation:up .5s .05s var(--ease) both}
.sumtab{transition:background .25s}
.sumtab.on{background:rgba(43,92,255,.08) !important}
.sumtab .v{transition:transform .2s}
.nichebar{background:var(--glass);border:1px solid rgba(255,255,255,.9);border-radius:16px;animation:up .5s .1s var(--ease) both}
.cmpline{animation:up .5s .15s var(--ease) both}
.cmpline a{background:rgba(255,255,255,.7);transition:transform .2s var(--ease),border-color .2s,color .2s}
.cmpline a:hover{transform:translateY(-1px)}
/* offers: glass cards, staggered rise */
.offer{background:#fff;border:1px solid rgba(255,255,255,.95);box-shadow:0 10px 30px -22px rgba(11,18,32,.3),0 1px 2px rgba(11,18,32,.03);border-radius:20px;animation:riseIn .55s var(--ease) both;transition:transform .25s var(--ease),box-shadow .25s}
.offer:nth-child(1){animation-delay:.03s}.offer:nth-child(2){animation-delay:.08s}.offer:nth-child(3){animation-delay:.13s}.offer:nth-child(4){animation-delay:.18s}.offer:nth-child(5){animation-delay:.23s}.offer:nth-child(6){animation-delay:.28s}.offer:nth-child(7){animation-delay:.33s}.offer:nth-child(8){animation-delay:.38s}
.offer:hover{transform:translateY(-2px);box-shadow:0 24px 50px -24px rgba(11,18,32,.35)}
.badge,.b-best,.b-cheap{background:linear-gradient(135deg,#FF5A3C,#FF7A5C) !important;color:#fff !important;border-radius:999px;font-weight:700;letter-spacing:.02em}
.al-logo,.al-fb{border-radius:14px !important;box-shadow:0 6px 16px -10px rgba(11,18,32,.3);border:none !important}
.al-fb{color:#fff !important;font-weight:700;background:#25355C}
.al-logo{background:#fff;padding:5px !important;border:1px solid var(--line) !important;box-shadow:none}
.lg-times{font-weight:800}
.lg-bar{background:linear-gradient(90deg,var(--line),rgba(43,92,255,.35),var(--line))}
.lg-stops.ns{color:var(--accent) !important}
.price{font-weight:800 !important;letter-spacing:-.04em;font-size:1.85rem !important}
.view{background:var(--ink) !important;border-radius:999px !important;padding:.7rem 1.7rem;transition:transform .2s var(--ease),background .2s;box-shadow:0 10px 24px -14px rgba(11,18,32,.6)}
.view:hover{transform:translateY(-1px);background:#1E293B !important}
.truth.ok{color:var(--accent) !important}
.callq.pf{background:linear-gradient(135deg,rgba(43,92,255,.08),rgba(123,92,255,.08));border:1px solid rgba(43,92,255,.15);border-radius:14px}
.callq.pf b{color:var(--ink)}
.callq.pf small{color:var(--accent)}
.o-foot{background:rgba(246,248,252,.7);border-top:1px solid var(--line);border-radius:0 0 20px 20px}
.det-btn{color:var(--accent);font-weight:600;transition:color .2s}
.segs{background:rgba(246,248,252,.8) !important;border-radius:0 0 20px 20px;animation:up .35s var(--ease) both}
.adcard.adk{background:var(--glass) !important;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.9) !important;border-radius:20px;box-shadow:0 10px 30px -22px rgba(11,18,32,.3);animation:riseIn .55s var(--ease) both}
.adcard .ad-logo{background:#fff;border-radius:14px;box-shadow:0 6px 16px -10px rgba(11,18,32,.3)}
.adcard .ad-go{border-radius:999px !important}
.state{background:var(--glass);border:1px solid rgba(255,255,255,.9);border-radius:20px;box-shadow:0 10px 30px -22px rgba(11,18,32,.3);animation:up .5s var(--ease) both}
.skel{background:linear-gradient(90deg,#EEF1F7 0%,#F8FAFD 40%,#EEF1F7 80%) !important;background-size:200% 100% !important;animation:shimmer 1.2s linear infinite !important;border-radius:20px;height:150px;margin-bottom:.8rem}
.searching{color:var(--gray)}
.calwrap{background:var(--glass);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.9) !important;border-radius:20px !important;box-shadow:0 10px 30px -22px rgba(11,18,32,.3);animation:up .4s var(--ease) both}
.cald{transition:transform .2s var(--ease),box-shadow .2s;background:#fff}
.cald:hover{transform:translateY(-2px);box-shadow:0 8px 20px -12px rgba(11,18,32,.3)}
.cald.best{background:linear-gradient(135deg,rgba(43,92,255,.12),rgba(123,92,255,.12)) !important}
.pax-pop,.othpop{border-radius:16px;box-shadow:0 30px 60px -30px rgba(11,18,32,.5);animation:popIn .25s var(--ease) both}
.notice-toast,.sitenote,#siteNote,.toast{border-radius:999px !important}
footer{background:transparent !important;border-top:1px solid var(--line) !important}
.socials a{border-radius:12px;transition:transform .2s var(--ease)}
.socials a:hover{transform:translateY(-3px) scale(1.05)}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none !important;transition:none !important}}
@media(max-width:700px){.hero-in{padding:2.2rem 1rem 2rem}.hero-in h1{font-size:2.3rem !important}.widget{border-radius:20px}.wgo button{border-radius:0 0 15px 15px !important}.rail,.sumtabs,.offer{border-radius:16px}}
.hero-in h1 .hi{display:inline !important;background:linear-gradient(90deg,#2B5CFF,#7B5CFF) !important;-webkit-background-clip:text !important;background-clip:text !important;color:transparent !important;-webkit-text-fill-color:transparent !important}
.al-fb{background:#25355C !important;color:#fff !important;font-weight:700 !important}
.al-fb[style]{color:#fff !important}

/* ===================== v142: filter chip bar, full-width results ===================== */
body.hasResults .wrap,.wrap{display:block !important;grid-template-columns:1fr !important}
.railtoggle{display:none !important}
.rail{position:static !important;max-height:none !important;overflow:visible !important;background:transparent !important;border:none !important;box-shadow:none !important;backdrop-filter:none !important;padding:0 !important;margin:0 0 .9rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
@media(max-width:920px){.rail{display:flex !important;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.3rem !important;-webkit-overflow-scrolling:touch}}
.rail-hd{order:99;padding:0 !important;border:none !important;margin:0 0 0 auto !important;display:flex;gap:.6rem;align-items:center}
.rail-hd b{display:none}
.rail-hd .fcount{font-size:.8rem;color:var(--gray)}
.rail-hd a{font-size:.85rem;color:var(--accent);white-space:nowrap}
.fgroup{position:relative;border:none !important;padding:0 !important;margin:0 !important;background:transparent !important;flex:0 0 auto}
.fg-t{display:inline-flex !important;align-items:center;gap:.4rem;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.5rem .95rem;font-size:.9rem !important;font-weight:600 !important;color:var(--ink);cursor:pointer;white-space:nowrap;box-shadow:0 1px 2px rgba(11,18,32,.04);transition:border-color .2s,box-shadow .2s,transform .2s var(--ease)}
.fg-t:hover{border-color:#B9C4E4;box-shadow:0 8px 20px -14px rgba(11,18,32,.35)}
.fgroup:not(.closed) .fg-t{border-color:var(--accent);background:#EEF3FF;color:var(--accent)}
.fgroup.active .fg-t{background:var(--ink);color:#fff;border-color:var(--ink)}
.fg-t .chev{opacity:.6;font-size:.7rem;transform:none !important;display:inline-block}
.fgroup:not(.closed) .fg-t .chev{transform:rotate(180deg) !important}
.fg-body{position:absolute;top:calc(100% + 8px);left:0;z-index:60;min-width:280px;max-width:min(92vw,360px);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 60px -28px rgba(11,18,32,.45),0 2px 6px rgba(11,18,32,.06);padding:1rem 1.1rem;margin:0 !important;animation:popIn .2s var(--ease) both}
.fgroup.closed .fg-body{display:none}
.fgroup:not(.closed) .fg-body{display:block}
.fg-body .frow{padding:.35rem 0;font-size:.95rem !important}
.fg-body input[type=range]{width:100%}
@media(max-width:700px){.fg-body{position:fixed;left:.6rem;right:.6rem;top:auto;bottom:.6rem;max-width:none;min-width:0;border-radius:18px;padding:1.1rem 1.2rem 1.3rem;max-height:70vh;overflow:auto}}
/* results full width; heading row */
main{width:100%}
.stats{font-size:1rem}
.sumtabs{margin-bottom:.9rem}
/* card: fill space, phone strip full width */
.o-main{align-items:center !important;grid-template-columns:1fr 250px !important;padding:1.25rem 1.5rem 1.15rem}
.legs{display:flex;flex-direction:column;justify-content:center;gap:1rem}
.o-side{justify-content:center;align-items:flex-end;gap:.15rem}
.o-side .view{margin-top:.6rem}
.o-side .callq{margin-top:.5rem}
.pfbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 1.5rem .9rem;padding:.7rem 1rem;border-radius:12px;background:linear-gradient(90deg,rgba(43,92,255,.08),rgba(123,92,255,.08));border:1px solid rgba(43,92,255,.15);text-decoration:none;color:var(--ink2);font-size:.92rem;transition:border-color .2s}
.pfbar b{color:var(--ink);font-weight:800;font-size:1.05rem}
.pfbar .pfb-r{color:var(--accent);font-weight:700;white-space:nowrap}
.pfbar:hover{border-color:var(--accent)}
@media(max-width:700px){.o-main{grid-template-columns:1fr !important;display:block !important}.pfbar{margin:0 .9rem .8rem;flex-direction:column;align-items:flex-start;gap:.2rem}}
.rail .fgroup.adv{display:none}.rail.showadv .fgroup.adv{display:block}.morefilters{background:transparent !important;border-style:dashed !important;color:var(--ink2) !important}
.hdr{z-index:30 !important}.rail{position:relative;z-index:70 !important}.fg-body{z-index:80 !important}.rail{margin-top:.4rem}
.morefilters{order:50}

/* ===================== v143 CUPERTINO ===================== */
:root{--bg:#fff;--bg2:#F5F5F7;--white:#fff;--line:rgba(0,0,0,.08);--ink:#1D1D1F;--ink2:#424245;--gray:#6E6E73;--accent:#0071E3;--accent2:#0077ED;--blue:#0071E3;--green:#0071E3;--coral:#1D1D1F;--r:18px;--glass:#fff;--ease:cubic-bezier(.28,.11,.32,1)}
body{background:#fff !important;background-image:none !important;letter-spacing:-.01em}
/* Apple-style thin dark nav */
.hdr{background:rgba(0,0,0,.8) !important;backdrop-filter:saturate(1.8) blur(20px) !important;-webkit-backdrop-filter:saturate(1.8) blur(20px);border-bottom:none;padding:.55rem 1.5rem;min-height:48px}
body.hdrGlass .hdr{background:rgba(0,0,0,.85) !important;box-shadow:none !important}
.logo.lg2 .lg-word,.logo.lg2 .lg-word b{color:#F5F5F7 !important;font-weight:600 !important;font-size:1.05rem !important;letter-spacing:-.02em}
.logo.lg2 .lg-word b{color:#F5F5F7 !important;font-weight:400 !important}
.logo.lg2 .lg-word i{color:rgba(245,245,247,.5) !important;font-size:.8rem !important}
.lg-box{width:24px;height:24px;border-radius:6px;box-shadow:none}
.lg-box svg rect:first-of-type{fill:#F5F5F7 !important}.lg-box svg path,.lg-box svg g{stroke:#000 !important}.lg-box svg circle{fill:#000 !important}
.tool-sel{background:transparent;border:1px solid rgba(255,255,255,.25);color:#F5F5F7;font-size:.8rem;padding:.25rem .7rem}
.tool-sel option{color:#111}
.hsum{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:rgba(245,245,247,.85) !important;font-size:.82rem;box-shadow:none;animation:none}
.hsum b,.hsum span{color:#F5F5F7 !important}.hsum span{color:rgba(245,245,247,.7) !important}
.hsum a,.hsum .edit,.hsum span:last-child{color:#2997FF !important;font-weight:500}
/* hero: centered, huge, airy */
.sky{background:#fff !important}
.hero-in{padding:5.5rem 1.5rem 4rem;text-align:center;background:none;max-width:1100px}
.hero-in h1{font-size:clamp(2.8rem,6.2vw,5rem) !important;font-weight:700 !important;letter-spacing:-.03em;line-height:1.05;text-align:center;margin:0 auto .8rem;color:var(--ink) !important;-webkit-text-fill-color:var(--ink)}
.hero-in h1 .hi{background:linear-gradient(90deg,#0071E3,#7B61FF) !important;-webkit-background-clip:text !important;background-clip:text !important;color:transparent !important;-webkit-text-fill-color:transparent !important}
.hero-in .h1sub{font-size:clamp(1.15rem,1.9vw,1.5rem);color:var(--gray);text-align:center;margin:0 auto 2.4rem;max-width:760px;font-weight:400;line-height:1.35}
.widget{background:#fff;border:none;border-radius:22px;box-shadow:0 30px 70px -30px rgba(0,0,0,.28),0 0 0 1px rgba(0,0,0,.05);backdrop-filter:none;padding:1.15rem 1.15rem 1.25rem;text-align:left}
.trip-seg{justify-content:flex-start}
.trip-seg button{border-radius:999px;font-size:.9rem}
.trip-seg button.on{background:#1D1D1F;color:#fff}
.wrow{border:1px solid rgba(0,0,0,.1) !important;border-radius:14px !important;box-shadow:none}
.wfield{border-right:1px solid rgba(0,0,0,.08)}
.wfield:focus-within{box-shadow:inset 0 0 0 2px var(--accent) !important}
.wfield:focus-within label{color:var(--accent) !important}
.wgo button{background:#0071E3 !important;box-shadow:none !important;border-radius:0 13px 13px 0 !important;font-weight:600 !important;font-size:1.05rem !important}
.wgo button:hover{background:#0077ED !important;transform:none}
.qroutes{justify-content:center}
.qroutes span{background:#F5F5F7;border:none;color:var(--ink2);animation:none;box-shadow:none}
.qroutes span:hover{background:#E8E8ED;transform:none;box-shadow:none;color:var(--ink)}
/* sections: apple rhythm */
.homeroutes{background:#F5F5F7;padding:5rem 1.5rem 5.5rem;margin-top:0}
.hr-in{max-width:1000px;text-align:center}
.homeroutes h2{font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.03em;color:var(--ink);text-align:center;margin-bottom:.4rem}
.homeroutes p{font-size:1.2rem;color:var(--gray);text-align:center;margin-bottom:2.4rem}
.hr-grid{grid-template-columns:repeat(3,1fr);gap:1rem;text-align:left}
.hr-grid a{background:#fff;border:none;border-radius:18px;padding:1.3rem 1.3rem;font-size:1.05rem;font-weight:600;box-shadow:none;backdrop-filter:none;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.hr-grid a:hover{transform:scale(1.02);box-shadow:0 20px 40px -20px rgba(0,0,0,.25);border:none}
.hr-grid a span{color:var(--gray);opacity:1}
.facts{border-top:none;margin-top:3.5rem;padding-top:0;gap:1rem;text-align:left}
.facts>div{background:#fff;border:none;border-radius:18px;padding:1.6rem 1.5rem;box-shadow:none}
.facts h3{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.facts h3::before{display:none}
.facts p{color:var(--gray);font-size:1rem}
@media(max-width:900px){.hr-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.hr-grid{grid-template-columns:1fr}}
/* results: white page, cards without borders */
.wrap{max-width:1180px;margin:1.6rem auto 0;padding:0 1.5rem}
main{background:transparent}
.rail{margin:.6rem 0 1rem}
.fg-t{background:#F5F5F7;border:none;box-shadow:none;color:var(--ink);font-weight:500 !important;font-size:.9rem !important;padding:.55rem 1rem}
.fg-t:hover{background:#E8E8ED;box-shadow:none;border-color:transparent}
.fgroup:not(.closed) .fg-t{background:#1D1D1F;color:#fff}
.fgroup.active .fg-t{background:#0071E3;color:#fff}
.morefilters{background:transparent !important;border:1px dashed rgba(0,0,0,.2) !important;color:var(--gray) !important}
.fg-body{border:none;box-shadow:0 30px 60px -20px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.05);border-radius:18px}
.rail-hd a{color:var(--accent);font-weight:400}
.routeline{font-size:2rem;font-weight:700;letter-spacing:-.03em}
.stats{color:var(--gray)}
.calbtn,.tgtchip{background:#F5F5F7;border:none !important;color:var(--ink);font-weight:500;box-shadow:none}
.calbtn:hover{background:#E8E8ED;color:var(--ink)}
.sumtabs{background:#F5F5F7;border:none;box-shadow:none;border-radius:16px;overflow:hidden;backdrop-filter:none;padding:4px;gap:4px;display:grid}
.sumtab{border-radius:12px !important;background:transparent;transition:background .3s var(--ease)}
.sumtab+.sumtab{border-left:none !important}
.sumtab.on{background:#fff !important;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.sumtab.on::after{display:none}
.sumtab .n{color:var(--gray);font-weight:500}.sumtab.on .n{color:var(--ink)}
.nichebar{background:#F5F5F7;border:none;border-radius:14px;backdrop-filter:none;animation:none}
.cmpline a{background:transparent;border:none;color:var(--accent);padding:0;font-weight:400;border-radius:0}
.cmpline a:hover{text-decoration:underline;transform:none;color:var(--accent2)}
.cmpline a::after{content:' ›';}
.cl-l{color:var(--gray)}
.sort-sel{background:#F5F5F7;border:none;border-radius:999px;font-weight:500}
.offer{background:#fff;border:none;border-radius:20px;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 10px 30px -22px rgba(0,0,0,.2);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.offer:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(0,0,0,.06),0 24px 50px -24px rgba(0,0,0,.3)}
.badge,.b-best,.b-cheap{background:#1D1D1F !important;color:#fff !important;font-weight:600;font-size:.7rem;letter-spacing:.02em}
.al-logo,.al-fb{border-radius:12px !important;box-shadow:none;border:1px solid rgba(0,0,0,.06) !important}
.al-fb{background:#F5F5F7 !important;color:var(--ink) !important;font-weight:600 !important}
.lg-times{font-weight:600;letter-spacing:-.02em}
.lg-times small,.lg-dur,.pp,.acline{color:var(--gray)}
.lg-bar{background:#D2D2D7}
.lg-stops.ns{color:var(--ink2) !important;font-weight:500}
.lg-stops.s1,.lg-stops.s2{color:var(--gray) !important;font-weight:400}
.price{font-weight:600 !important;letter-spacing:-.03em;font-size:1.9rem !important}
.truth.ok{color:var(--ink2) !important;font-weight:500}
.view{background:#0071E3 !important;border-radius:999px !important;font-weight:500 !important;font-size:.95rem;padding:.6rem 1.5rem;box-shadow:none;transition:background .2s}
.view:hover{background:#0077ED !important;transform:none}
.o-side{border-left:1px solid rgba(0,0,0,.06) !important}
.o-foot{background:#FAFAFC;border-top:1px solid rgba(0,0,0,.05);border-radius:0 0 20px 20px}
.det-btn{color:var(--accent);font-weight:400}
.det-btn::after{content:' ›'}
.segs{background:#FAFAFC !important}
.pfbar{background:#F5F5F7;border:none;border-radius:14px;color:var(--ink2);margin:0 1.5rem 1rem;padding:.85rem 1.1rem}
.pfbar b{color:var(--ink);font-weight:600;font-size:1rem}
.pfbar .pfb-r{color:var(--accent);font-weight:500}
.pfbar:hover{background:#E8E8ED}
.pf-note{color:var(--gray)}
.adcard.adk{background:#F5F5F7 !important;border:none !important;box-shadow:none;backdrop-filter:none;border-radius:20px}
.adcard .ad-logo{background:#fff;box-shadow:none;border-radius:14px}
.adcard .ad-side{border-left:1px solid rgba(0,0,0,.08)}
.adcard .ad-go{border-radius:999px !important;border:1px solid var(--accent) !important;color:var(--accent) !important;background:transparent !important}
.adcard .ad-go:hover{background:var(--accent) !important;color:#fff !important}
.state{background:#F5F5F7;border:none;box-shadow:none;border-radius:20px}
.state-sug span{background:#fff;border:none}
.skel{background:linear-gradient(90deg,#F5F5F7 0%,#FAFAFC 40%,#F5F5F7 80%) !important;background-size:200% 100% !important}
.calwrap{background:#fff;border:none !important;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 20px 50px -30px rgba(0,0,0,.25);backdrop-filter:none}
.cald{border:none !important;background:#F5F5F7;box-shadow:none !important}
.cald:hover{background:#E8E8ED;transform:none;box-shadow:none}
.cald.best{background:#1D1D1F !important;color:#fff}.cald.best .dn,.cald.best .dp{color:#fff !important}
.cald.sel{box-shadow:inset 0 0 0 2px var(--accent) !important}
#calScanBtn,.calscan{background:#0071E3 !important}
.pax-pop{border:none;box-shadow:0 30px 60px -20px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.05)}
footer{background:#F5F5F7 !important;border-top:none !important;padding:3rem 1.5rem 2.5rem;font-size:.8rem}
footer,footer p,footer a,footer .fin p,.froutes a{color:var(--gray) !important}
footer a[href="about.html"],footer a[href="privacy.html"],footer a[href="terms.html"]{color:var(--ink2) !important}
.socials a{border-radius:10px;width:34px;height:34px}.socials svg{width:15px;height:15px}
@media(max-width:700px){.hero-in{padding:3.2rem 1rem 2.6rem}.hero-in h1{font-size:2.5rem !important}.hero-in .h1sub{font-size:1.05rem}.homeroutes{padding:3rem 1rem}.wrap{padding:0 .8rem}.pfbar{margin:0 .9rem .8rem}}
.hdr{max-width:none !important;margin:0 !important;padding:.55rem max(1.5rem,calc((100% - 1180px)/2 + 1.5rem)) !important}
.hero-in h1{max-width:900px}
.al-fb{background:#1D1D1F !important;color:#fff !important;font-weight:600 !important;border:none !important}
.al-fb[style]{background:#1D1D1F !important}
.det-btn::after{content:none !important}
.rail .fgroup.adv{display:none !important}.rail.showadv .fgroup.adv{display:block !important}

/* v144 */
.cmpline{display:none !important}
.cmpwrap{position:relative;display:inline-block}
.cmpbtn{background:#fff !important;border:1px solid rgba(0,0,0,.12) !important;color:var(--ink) !important;font-weight:500 !important}
.cmpwrap.open .cmpbtn{background:#1D1D1F !important;color:#fff !important;border-color:#1D1D1F !important}
.cmpwrap.open .cmpbtn .chev{transform:rotate(180deg)}
.cmppop{display:none;position:absolute;right:0;top:calc(100% + 8px);z-index:90;min-width:280px;background:#fff;border-radius:18px;box-shadow:0 30px 60px -20px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.05);padding:.7rem .5rem;animation:popIn .2s var(--ease) both;text-align:left}
.cmpwrap.open .cmppop{display:block}
.cp-l{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gray);padding:.4rem .8rem .25rem}
.cp-s{padding:.3rem .8rem;font-size:.9rem;color:var(--ink2)}.cp-s b{color:var(--ink)}
.cmppop a{display:flex;justify-content:space-between;align-items:center;padding:.55rem .8rem;border-radius:10px;color:var(--ink);text-decoration:none;font-size:.95rem}
.cmppop a:hover{background:#F5F5F7}
.cmppop a span{color:var(--gray);font-size:.8rem}
.cp-n{font-size:.72rem;color:var(--gray);padding:.55rem .8rem .2rem;border-top:1px solid rgba(0,0,0,.06);margin-top:.35rem;line-height:1.5}
.rail-hd{gap:.7rem}
@media(max-width:700px){.cmppop{position:fixed;left:.6rem;right:.6rem;top:auto;bottom:.6rem;min-width:0}}
/* footer legibility */
footer .fin p,footer .fin{color:#6E6E73 !important;font-size:.8rem;line-height:1.7}
footer .fin b,footer b{color:#1D1D1F !important;font-weight:600}
footer .froutes a{color:#424245 !important}
footer .froutes a:hover{color:#0071E3 !important;text-decoration:underline}
#vstamp{color:#AEAEB2 !important}
/* raise the bar: focus rings, hero rhythm, tap targets */
:focus-visible{outline:2px solid #0071E3;outline-offset:2px;border-radius:6px}
.hero-in{padding-top:6.5rem}
.hero-in .h1sub{margin-bottom:2.8rem}
.widget{box-shadow:0 40px 90px -40px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.05)}
.hero-note{text-align:center;color:#6E6E73;font-size:.9rem;margin:1.2rem 0 0}
.homeroutes{padding-top:5.5rem}
.offer .o-main{padding:1.4rem 1.6rem 1.25rem}
.view{padding:.65rem 1.6rem;font-size:1rem}
.wgo button{transition:background .2s,transform .2s var(--ease)}
.wgo button:active{transform:scale(.98)}
.view:active,.fg-t:active,.qroutes span:active,.hr-grid a:active{transform:scale(.98)}

/* ===================== v145: fine grey outlines on every block ===================== */
:root{--hair:#D9D9DE}
.widget{box-shadow:none !important;border:1px solid var(--hair) !important;border-radius:20px}
.wrow{border:1px solid var(--hair) !important}
.wfield{border-right:1px solid var(--hair) !important}
.qroutes span{border:1px solid var(--hair);background:#fff}
.hero-note{border-top:1px solid var(--hair);padding-top:1rem;margin-top:1.4rem}
.homeroutes{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);background:#FAFAFC}
.hr-grid a{border:1px solid var(--hair) !important;box-shadow:none !important}
.hr-grid a:hover{border-color:#1D1D1F !important;transform:none}
.facts>div{border:1px solid var(--hair)}
.hsum{border:1px solid rgba(255,255,255,.35)}
/* results shell */
.rail{border:1px solid var(--hair);border-radius:16px;padding:.7rem .8rem !important;background:#fff;margin-bottom:1rem}
.fg-t{background:#fff !important;border:1px solid var(--hair) !important;box-shadow:none !important}
.fg-t:hover{border-color:#1D1D1F !important;background:#fff !important}
.fgroup:not(.closed) .fg-t{background:#1D1D1F !important;border-color:#1D1D1F !important;color:#fff !important}
.fgroup.active .fg-t{background:#0071E3 !important;border-color:#0071E3 !important;color:#fff !important}
.morefilters{border:1px dashed var(--hair) !important}
.cmpbtn{border:1px solid var(--hair) !important}
.fg-body,.cmppop,.pax-pop{border:1px solid var(--hair) !important;box-shadow:0 20px 50px -25px rgba(0,0,0,.25) !important}
.stats{border:1px solid var(--hair);border-radius:16px;padding:.9rem 1.1rem !important;background:#fff;margin:0 !important}
.calbtn,.tgtchip{border:1px solid var(--hair) !important;background:#fff !important}
.sumtabs{border:1px solid var(--hair) !important;background:#fff !important;padding:0 !important;gap:0 !important;border-radius:16px}
.sumtab{border-radius:0 !important}
.sumtab+.sumtab{border-left:1px solid var(--hair) !important}
.sumtab.on{background:#F5F5F7 !important;box-shadow:none !important}
.sumtab.on::after{display:block;background:#1D1D1F;height:2px}
.nichebar{border:1px solid var(--hair) !important;background:#fff !important}
.sort-sel{border:1px solid var(--hair) !important;background:#fff !important}
.offer{border:1px solid var(--hair) !important;box-shadow:none !important}
.offer:hover{border-color:#8E8E93 !important;box-shadow:none !important;transform:none}
.o-side{border-left:1px solid var(--hair) !important}
.o-foot{border-top:1px solid var(--hair) !important;background:#FAFAFC}
.pfbar{border:1px solid var(--hair) !important;background:#fff}
.pfbar:hover{background:#FAFAFC;border-color:#1D1D1F !important}
.segs{border-top:1px solid var(--hair) !important;background:#FAFAFC !important}
.seg{border-bottom:1px solid #EDEDF0}.seg:last-of-type{border-bottom:none}
.al-logo,.al-fb{border:1px solid var(--hair) !important}
.adcard.adk{border:1px solid var(--hair) !important;background:#FAFAFC !important}
.adcard .ad-logo{border:1px solid var(--hair)}
.adcard .ad-side{border-left:1px solid var(--hair)}
.state{border:1px solid var(--hair) !important;background:#fff}
.state-sug span{border:1px solid var(--hair) !important}
.calwrap{border:1px solid var(--hair) !important;box-shadow:none !important}
.cald{border:1px solid #E5E5EA !important;background:#fff}
.cald:hover{border-color:#1D1D1F !important;background:#fff}
.cal-note{border-bottom:1px solid #EDEDF0;padding-bottom:.6rem;margin-bottom:.6rem}
.pf-note{border:1px solid var(--hair);border-radius:12px;padding:.7rem 1rem;background:#fff}
footer{border-top:1px solid var(--hair) !important;background:#fff !important}
.froutes{border:1px solid var(--hair);border-radius:16px;padding:1.2rem 1.4rem;background:#FAFAFC}
.socials a{border:1px solid rgba(0,0,0,.08)}
.fin{border-top:1px solid var(--hair);padding-top:1.2rem;margin-top:1.2rem}
/* the layout grid: consistent gutters */
.wrap{max-width:1180px;margin:1.2rem auto 0}
.rail,.stats,.sumtabs,.nichebar,.sortline,.offer{margin-left:0;margin-right:0}
.stats{margin-bottom:.8rem !important}
.rail{border:1px solid var(--hair) !important;padding:.7rem .8rem !important;background:#fff !important}
main>div[style*="flex"]{border:1px solid var(--hair);border-radius:16px;padding:.8rem 1rem;background:#fff;margin-bottom:.8rem !important}
body:not(.hasResults) main>div[style*="flex"]{display:none !important}
.stats{border:none !important;padding:0 !important;background:transparent !important;margin:0 !important}
.cmpbtn{background:#0071E3 !important;border-color:#0071E3 !important;color:#fff !important;font-weight:600 !important}
.cmpbtn:hover{background:#0077ED !important;border-color:#0077ED !important}
.cmpwrap.open .cmpbtn{background:#1D1D1F !important;border-color:#1D1D1F !important}
.cmpbtn .chev{color:#fff;opacity:.9}

/* v150: city photo autocomplete + cabin gallery */
.acbox{display:none;position:absolute;left:0;top:calc(100% + 6px);z-index:120;min-width:300px;width:max(100%,320px);background:#fff;border:1px solid #D9D9DE;border-radius:14px;box-shadow:0 30px 60px -20px rgba(0,0,0,.3);overflow:hidden;text-align:left}
.acbox.show{display:block}
.acit{display:flex;align-items:center;gap:.8rem;padding:.55rem .7rem;cursor:pointer;border-bottom:1px solid #F0F0F3}
.acit:last-child{border-bottom:none}
.acit:hover,.acit.on{background:#F5F5F7}
.acimg{position:relative;width:64px;height:44px;border-radius:8px;overflow:hidden;background:#E8E8ED;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
.acimg img{width:100%;height:100%;object-fit:cover;display:block}
.acimg b{position:absolute;font-size:.7rem;font-weight:700;color:#1D1D1F;opacity:0}
.acimg.noimg b{opacity:.8}.acimg:not(:has(img)) b{opacity:.8}
.actx{display:flex;flex-direction:column;min-width:0}
.acn{font-weight:600;font-size:.95rem;color:#1D1D1F;text-transform:none;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acc{font-size:.78rem;color:#6E6E73;text-transform:none;letter-spacing:0}
.wfield input{text-transform:uppercase}
/* cabin gallery: renders only when photos exist in img/ */
.cabins{display:none;padding:4.5rem 1.5rem 5rem;background:#fff;border-bottom:1px solid #D9D9DE}
.cabins.show{display:block}
.cabins .cb-in{max-width:1180px;margin:0 auto}
.cabins h2{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:700;letter-spacing:-.03em;text-align:center;margin:0 0 .3rem}
.cabins .cb-sub{text-align:center;color:#6E6E73;font-size:1.1rem;margin:0 0 2rem}
.cb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.cb-card{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/5;background:#F5F5F7;border:1px solid #D9D9DE;cursor:pointer;display:none}
.cb-card.ok{display:block}
.cb-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.cb-card:hover img{transform:scale(1.04)}
.cb-card .cb-t{position:absolute;left:0;right:0;bottom:0;padding:1.6rem 1.1rem 1.1rem;background:linear-gradient(180deg,transparent,rgba(0,0,0,.65));color:#fff}
.cb-card .cb-t b{display:block;font-size:1.05rem;font-weight:600}
.cb-card .cb-t span{font-size:.85rem;opacity:.85}
@media(max-width:900px){.cb-grid{grid-template-columns:repeat(2,1fr)}}
.wrow{overflow:visible !important}.wfield{overflow:visible !important}.widget{overflow:visible !important}.wgo button{border-radius:0 13px 13px 0 !important}

/* ===================== v151: clarity pass on results ===================== */
.nichebar{display:none !important}
.sortline{justify-content:flex-end;margin:.2rem 0 .8rem}
.sortline .todw{display:none}
main>div[style*="flex"]{border:none;background:transparent;padding:0 0 .2rem;margin-bottom:.4rem !important;align-items:baseline}
.routeline{font-size:2.1rem;font-weight:700;letter-spacing:-.035em}
.routeline small{font-size:.5em !important;font-weight:500 !important;color:#6E6E73 !important}
.stats{font-size:1rem;color:#6E6E73}
.stats b{font-weight:600;color:#1D1D1F}
.calbtn{margin-left:.6rem}
.sumtabs{margin:.4rem 0 1.1rem}
/* card */
.offer{border-radius:20px;margin-bottom:.9rem;overflow:hidden}
.offer .o-main{grid-template-columns:1fr 220px !important;padding:1.35rem 1.6rem 1.25rem;gap:1.5rem}
.badge,.b-best,.b-cheap{position:absolute !important;top:0;left:1.6rem;transform:translateY(-50%);background:#1D1D1F !important;color:#fff !important;font-size:.68rem;font-weight:600;letter-spacing:.02em;padding:.25rem .65rem;border-radius:999px;margin:0 !important;text-transform:none}
.offer{position:relative}
.offer:has(.badge){margin-top:1.1rem}
.legs{gap:1.15rem}
.leg{grid-template-columns:44px 1fr auto !important;gap:1rem;align-items:center}
.al-logo,.al-fb{width:44px !important;height:44px !important;border-radius:12px !important}
.leg-body{display:contents}
.lg-times{font-size:1.35rem;font-weight:600;letter-spacing:-.025em;color:#1D1D1F;line-height:1.15}
.lg-times sup{font-size:.55em;color:#6E6E73;font-weight:500;margin-left:.15rem}
.lg-times small{display:block;font-size:.85rem;color:#6E6E73;font-weight:400;margin-top:.2rem;letter-spacing:0}
.lg-mid{width:180px;text-align:center}
.lg-dur{font-size:.85rem;color:#1D1D1F;font-weight:500}
.lg-bar{height:2px;background:#D2D2D7;margin:.35rem 0}
.lg-bar i{width:7px;height:7px;background:#fff;border:2px solid #1D1D1F}
.lg-stops{font-size:.82rem}
.lg-stops.ns{color:#1D1D1F !important;font-weight:500}
.lg-stops.s1,.lg-stops.s2,.lg-stops.s3{color:#6E6E73 !important}
.o-side{border-left:1px solid #E5E5EA !important;padding-left:1.5rem;align-items:flex-end;justify-content:center;gap:.25rem}
.o-side>div{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}
.o-side .pp,.o-side .cab-tag,.o-side .acline{display:none !important}
.price{font-size:2rem !important;font-weight:600 !important;letter-spacing:-.04em;line-height:1}
.truth{font-size:.85rem !important;font-weight:500;margin:.35rem 0 .2rem}
.truth.ok{color:#1D1D1F !important}
.truth.ok::before{content:'✓ ';color:#0071E3}
.truth.warn,.truth.info{color:#6E6E73 !important}
.truth.warn::before{background:#FF9F0A;width:7px;height:7px;margin-right:.35rem}
.o-side .view{margin-top:.6rem;background:#0071E3 !important;border-radius:999px !important;padding:.6rem 1.5rem;font-size:.95rem}
.o-side .callq{display:none !important}
.o-foot{background:transparent;border-top:1px solid #F0F0F3 !important;padding:.55rem 1.6rem;display:flex;justify-content:flex-end}
.o-foot .prov{display:none !important}
.det-btn{color:#0071E3;font-weight:400;font-size:.9rem}
.segs{background:#FAFAFC !important;padding:1rem 1.6rem 1.1rem}
/* call band, once */
.callband{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:#1D1D1F;color:#fff;border-radius:20px;padding:1.4rem 1.7rem;margin:.2rem 0 .9rem;text-decoration:none;transition:background .2s}
.callband:hover{background:#2C2C2E}
.callband .cb-l{display:flex;flex-direction:column;gap:.25rem}
.callband .cb-l b{font-size:1.15rem;font-weight:600;letter-spacing:-.02em}
.callband .cb-l span{font-size:.95rem;color:rgba(255,255,255,.72);max-width:640px;line-height:1.5}
.callband .cb-r{white-space:nowrap;background:#fff;color:#1D1D1F;border-radius:999px;padding:.65rem 1.3rem;font-weight:600;font-size:.95rem}
.adcard.adk{margin-bottom:.9rem}
@media(max-width:700px){
  .offer .o-main{display:block !important;padding:1.1rem 1rem 1rem}
  .leg{grid-template-columns:36px 1fr !important}
  .lg-mid{width:auto;text-align:right}
  .lg-times{font-size:1.1rem}
  .o-side{border-left:none !important;border-top:1px solid #E5E5EA;padding:.8rem 0 0;margin-top:.8rem;flex-direction:row !important;align-items:center;justify-content:space-between}
  .o-side>div{align-items:flex-start}
  .price{font-size:1.6rem !important}
  .o-side .view{margin:0}
  .badge{left:1rem}
  .callband{flex-direction:column;align-items:flex-start;padding:1.2rem}
  .routeline{font-size:1.5rem}
}
.offer{overflow:visible !important}
.offer .segs,.offer .o-foot{border-radius:0 0 20px 20px}
.badge,.b-best,.b-cheap{top:-1px !important;transform:translateY(-50%) !important;z-index:2}

/* ===================== v152: Apple-style calendar + chat ===================== */
.calwrap{background:#fff;border:1px solid #D9D9DE !important;border-radius:22px !important;padding:1.4rem 1.6rem 1.5rem !important;box-shadow:none !important;margin-bottom:1rem !important}
.cal-hd{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.6rem;margin-bottom:.9rem}
.cal-hd b{font-size:1.35rem;font-weight:700;letter-spacing:-.03em;color:#1D1D1F;font-family:'Inter',sans-serif;order:1}
.calbest{order:2;font-size:.85rem;color:#6E6E73;font-weight:400;margin-left:.6rem}
.cal-nav{order:3;width:34px;height:34px;border-radius:50%;border:none;background:#F5F5F7;color:#1D1D1F;font-size:1.1rem;font-weight:500;transition:background .2s}
.cal-nav:hover{background:#E8E8ED}
.cal-nav+.cal-nav{margin-left:.2rem}
.cal-hd .cal-nav:first-child{order:3}
.cal-hd .cal-nav:nth-of-type(2){order:4}
.cal-scan{order:5;margin-left:.6rem;background:#0071E3;color:#fff;border-radius:999px;padding:.55rem 1.1rem;font-size:.85rem;font-weight:500;letter-spacing:0}
.cal-scan:hover{background:#0077ED}
.cal-note{font-size:.88rem;color:#6E6E73;margin:0 0 1rem;border:none !important;padding:0 !important;font-weight:400}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-w{font-size:.72rem;font-weight:500;color:#6E6E73;letter-spacing:.02em;text-transform:none;padding:.3rem 0 .5rem;text-align:center}
.cald{border:none !important;background:#F5F5F7 !important;border-radius:14px !important;min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;transition:background .2s,transform .2s cubic-bezier(.28,.11,.32,1) !important;cursor:pointer}
.cald:hover{background:#E8E8ED !important;transform:none}
.cald .dn{font-size:.95rem;font-weight:500;color:#1D1D1F}
.cald .dp{font-size:.72rem;font-weight:500;color:#6E6E73;margin:0}
.cald.known .dp{color:#1D1D1F;font-weight:600}
.cald.off{background:transparent !important;opacity:.28;cursor:default}
.cald.best{background:#1D1D1F !important;color:#fff}
.cald.best .dn,.cald.best .dp{color:#fff !important}
.cald.cur,.cald.sel{outline:none !important;box-shadow:inset 0 0 0 2px #0071E3 !important;background:#fff !important}
.cald.cur .dn,.cald.sel .dn{color:#0071E3}
.cald.loading .dp::after{content:'…'}
@media(max-width:700px){.calwrap{padding:1.1rem 1rem 1.2rem !important;border-radius:18px !important}.cal-hd{grid-template-columns:1fr auto auto;gap:.4rem}.cal-hd b{font-size:1.1rem}.calbest{grid-column:1/-1;order:9;margin:0}.cal-scan{grid-column:1/-1;order:10;margin:.5rem 0 0;justify-self:stretch;text-align:center}.cald{min-height:50px;border-radius:12px !important}.cald .dn{font-size:.85rem}.cald .dp{font-size:.62rem}}
/* chat: floating, apple-like sheet */
.chatfab{position:fixed;right:1.4rem;bottom:1.4rem;z-index:200;display:flex;align-items:center;gap:.55rem;background:#1D1D1F;color:#fff;border:none;border-radius:999px;padding:.8rem 1.15rem .8rem .95rem;font-weight:600;font-size:.95rem;box-shadow:0 20px 40px -18px rgba(0,0,0,.5);cursor:pointer;transition:transform .2s cubic-bezier(.28,.11,.32,1),background .2s;font-family:inherit}
.chatfab:hover{transform:translateY(-2px);background:#2C2C2E}
.chatfab svg{width:20px;height:20px}
.chatsheet{position:fixed;right:1.4rem;bottom:5.4rem;z-index:201;width:380px;max-width:calc(100vw - 2rem);background:#fff;border-radius:22px;box-shadow:0 40px 90px -30px rgba(0,0,0,.45),0 0 0 1px rgba(0,0,0,.06);display:none;flex-direction:column;overflow:hidden;animation:popIn .25s cubic-bezier(.28,.11,.32,1) both}
.chatsheet.open{display:flex}
.cs-hd{padding:1.1rem 1.2rem .9rem;border-bottom:1px solid #F0F0F3;display:flex;align-items:center;justify-content:space-between}
.cs-hd b{font-size:1.05rem;font-weight:600;letter-spacing:-.02em}
.cs-hd small{display:block;color:#6E6E73;font-weight:400;font-size:.8rem;margin-top:.1rem}
.cs-x{background:#F5F5F7;border:none;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1rem;color:#1D1D1F}
.cs-body{padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.6rem;max-height:60vh;overflow:auto}
.cs-msg{background:#F5F5F7;border-radius:16px 16px 16px 4px;padding:.75rem .95rem;font-size:.92rem;line-height:1.5;color:#1D1D1F;max-width:92%}
.cs-msg.me{background:#0071E3;color:#fff;border-radius:16px 16px 4px 16px;align-self:flex-end}
.cs-q{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.2rem}
.cs-q button{background:#fff;border:1px solid #D9D9DE;border-radius:999px;padding:.4rem .8rem;font-size:.85rem;color:#1D1D1F;cursor:pointer;font-family:inherit}
.cs-q button:hover{border-color:#1D1D1F}
.cs-ft{padding:.9rem 1.2rem 1.1rem;border-top:1px solid #F0F0F3;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.cs-ft a{display:flex;align-items:center;justify-content:center;gap:.4rem;border-radius:999px;padding:.6rem .8rem;font-size:.9rem;font-weight:500;text-decoration:none;color:#1D1D1F;background:#F5F5F7}
.cs-ft a.pri{background:#0071E3;color:#fff}
.cs-ft a:hover{filter:brightness(.97)}
@media(max-width:700px){.chatfab{right:1rem;bottom:1rem;padding:.75rem 1rem .75rem .9rem}.chatsheet{right:.6rem;left:.6rem;bottom:4.6rem;width:auto}}
.cal-hd{display:flex !important;flex-wrap:nowrap;align-items:center;gap:.5rem}
.cal-hd b{flex:0 0 auto;order:1}.calbest{order:2;flex:1 1 auto}.cal-nav{order:3}.cal-scan{order:5;margin-left:.6rem}
.cald.cur.best,.cald.sel.best{background:#1D1D1F !important;box-shadow:inset 0 0 0 2px #0071E3 !important}
.cald.cur.best .dn,.cald.cur.best .dp{color:#fff !important}
.cald.cur:not(.best) .dp{color:#0071E3 !important}
@media(max-width:700px){.cal-hd{flex-wrap:wrap}.calbest{flex-basis:100%;order:9}.cal-scan{flex-basis:100%;order:10;margin:.5rem 0 0}}

/* ===================== v153 ===================== */
@media(max-width:700px){
  .rail{position:relative !important;overflow:visible !important;flex-wrap:wrap !important}
  .fgroup{position:static !important}
  .fg-body{position:absolute !important;left:0 !important;right:0 !important;top:calc(100% + 6px) !important;bottom:auto !important;max-height:none;border-radius:16px;padding:1rem 1.1rem 1.2rem}
  .cmpwrap{position:static}
  .cmppop{position:absolute !important;left:0 !important;right:0 !important;top:calc(100% + 6px) !important;bottom:auto !important}
}
/* header slimmer, apple 44px */
.hdr{min-height:44px;padding-top:.35rem !important;padding-bottom:.35rem !important}
.lg-box{width:22px;height:22px}
.logo.lg2 .lg-word,.logo.lg2 .lg-word b{font-size:.98rem !important}
.tool-sel{font-size:.78rem;padding:.2rem .6rem}
.hsum{padding:.35rem .9rem;font-size:.8rem}
/* search box blue hairline */
.widget{border:1px solid #0071E3 !important;box-shadow:0 30px 70px -40px rgba(0,113,227,.35) !important}
.wrow{border-color:#D9D9DE !important}
/* calendar: price graph + tiles */
.calstrip{display:none;margin:0 0 1rem;padding:.9rem 1rem .8rem;background:#F5F5F7;border-radius:16px}
.cs-l{display:flex;justify-content:space-between;font-size:.8rem;color:#6E6E73;margin-bottom:.5rem}
.cs-bars{display:flex;align-items:flex-end;gap:3px;height:64px}
.cs-b{flex:1;background:#C7C7CC;border-radius:4px 4px 0 0;min-height:2px;cursor:pointer;transition:background .2s}
.cs-b:hover{background:#0071E3}
.cs-b.lo{background:#1D1D1F}
.cs-b.na{background:transparent;cursor:default}
.cal-g{gap:5px}
.cald{min-height:66px !important;border-radius:16px !important;background:#F5F5F7 !important;justify-content:flex-start;padding:.55rem .2rem .45rem !important}
.cald .dn{font-size:.8rem;font-weight:500;color:#6E6E73;line-height:1}
.cald .dp{font-size:.95rem;font-weight:600;color:#1D1D1F;margin-top:.35rem;letter-spacing:-.02em}
.cald.known{background:#fff !important;box-shadow:inset 0 0 0 1px #E5E5EA}
.cald.known:hover{box-shadow:inset 0 0 0 1px #1D1D1F}
.cald:not(.known):hover{background:#E8E8ED !important}
.cald.best{background:#1D1D1F !important;box-shadow:none !important}
.cald.best .dn{color:rgba(255,255,255,.7) !important}.cald.best .dp{color:#fff !important}
.cald.cur:not(.best){box-shadow:inset 0 0 0 2px #0071E3 !important;background:#fff !important}
.cald.cur:not(.best) .dn{color:#0071E3}
.cald.today .dn::after{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:#0071E3;margin-left:3px;vertical-align:middle}
.cal-w{font-size:.75rem;color:#6E6E73}
.calwrap{padding:1.5rem 1.7rem 1.6rem !important}
.cal-hd b{font-size:1.5rem}

/* ===================== v154 ===================== */
.hdr{min-height:52px;padding-top:.5rem !important;padding-bottom:.5rem !important;gap:1rem}
.lg-box{width:26px;height:26px}
.logo.lg2 .lg-word,.logo.lg2 .lg-word b{font-size:1.05rem !important}
.clocks{display:flex;gap:1.4rem;margin:0 auto;font-size:.72rem;color:rgba(245,245,247,.75);letter-spacing:.01em}
.clocks span{display:flex;flex-direction:column;align-items:center;line-height:1.15}
.clocks b{font-weight:500;color:rgba(245,245,247,.5);font-size:.62rem;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:1000px){.clocks{display:none}}
body.searched .clocks,body.hasResults .clocks{display:none}
/* date fields */
.dfield{position:relative;cursor:pointer}
.dfield input[type=date]{position:absolute;inset:0;opacity:0;pointer-events:none;width:100%;height:100%}
.dfake{display:block;font-size:1.05rem;font-weight:500;color:#1D1D1F;white-space:nowrap;text-transform:none;letter-spacing:0;line-height:1.35}
.dfake.ph{color:#8E8E93;font-weight:400}
.dfield.dp-on{box-shadow:inset 0 0 0 2px #0071E3}
.dfield.dp-on label{color:#0071E3}
.dpop{display:none;position:absolute;z-index:300;background:#fff;border-radius:22px;box-shadow:0 40px 90px -30px rgba(0,0,0,.45),0 0 0 1px rgba(0,0,0,.06);padding:1rem 1.1rem 1rem;width:min(720px,calc(100vw - 24px));animation:popIn .22s cubic-bezier(.28,.11,.32,1) both}
.dpop.show{display:block}
.dp-hd{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.6rem}
.dp-tabs{display:flex;background:#F5F5F7;border-radius:14px;padding:4px;gap:4px}
.dp-tabs button{border:none;background:transparent;border-radius:11px;padding:.5rem 1rem;text-align:left;cursor:pointer;font-family:inherit;color:#6E6E73;font-size:.8rem;min-width:130px}
.dp-tabs button small{display:block;color:#1D1D1F;font-size:.95rem;font-weight:600;margin-top:.1rem}
.dp-tabs button.on{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08);color:#0071E3}
.dp-nav{display:flex;gap:.3rem}
.dp-nav button{width:34px;height:34px;border-radius:50%;border:none;background:#F5F5F7;font-size:1.15rem;color:#1D1D1F;cursor:pointer}
.dp-nav button:hover{background:#E8E8ED}
.dp-months{display:grid;grid-template-columns:1fr;gap:1.2rem}
.dp-months.two{grid-template-columns:1fr 1fr}
.dpm-t{font-weight:600;font-size:1rem;letter-spacing:-.02em;margin:.2rem 0 .5rem;padding-left:.2rem}
.dpm-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.dpw{font-size:.7rem;color:#6E6E73;text-align:center;padding:.2rem 0 .4rem}
.dpd{height:40px;display:flex;align-items:center;justify-content:center;font-size:.92rem;font-weight:500;color:#1D1D1F;border-radius:12px;cursor:pointer;transition:background .15s}
.dpd:hover{background:#E8E8ED}
.dpd.off{color:#C7C7CC;cursor:default}.dpd.off:hover{background:transparent}
.dpd.td{box-shadow:inset 0 0 0 1px #D9D9DE}
.dpd.in{background:#EAF3FF;border-radius:0}
.dpd.s1,.dpd.s2{background:#0071E3 !important;color:#fff;font-weight:600}
.dpd.s1{border-radius:12px 0 0 12px}.dpd.s2{border-radius:0 12px 12px 0}
.dpd.s1.s2{border-radius:12px}
.dp-ft{display:flex;justify-content:space-between;align-items:center;margin-top:.8rem;padding-top:.8rem;border-top:1px solid #F0F0F3}
.dp-clear{border:none;background:transparent;color:#6E6E73;cursor:pointer;font-family:inherit;font-size:.9rem;padding:.4rem .6rem}
.dp-done{border:none;background:#1D1D1F;color:#fff;border-radius:999px;padding:.55rem 1.3rem;font-weight:600;cursor:pointer;font-family:inherit;font-size:.9rem}
@media(max-width:760px){.dpop{left:12px !important;right:12px;width:auto;padding:.9rem}.dp-tabs button{min-width:0}.dpd{height:38px}}

/* ===================== v155: comfort ===================== */
#recents{justify-content:center;gap:.4rem;margin-top:.7rem !important}
#recents .rec-l{background:transparent;border:none;color:#6E6E73;font-size:.8rem;padding:.35rem .2rem;cursor:default}
#recents span i{font-style:normal;color:#6E6E73;font-size:.8rem;margin-left:.2rem}
.o-foot{justify-content:space-between !important}
.sharelnk{color:#6E6E73;font-size:.9rem;text-decoration:none;order:-1}
.sharelnk:hover{color:#0071E3}
.o-foot .prov{display:none !important}
@media all{
  [data-theme="dark"]{--bg:#000;--bg2:#1C1C1E;--white:#1C1C1E;--line:rgba(255,255,255,.12);--ink:#F5F5F7;--ink2:#D1D1D6;--gray:#98989D;--hair:#2C2C2E}
  [data-theme="dark"] body{background:#000 !important;color:#F5F5F7}
  [data-theme="dark"] .sky{background:#000 !important}
  [data-theme="dark"] .hero-in h1{color:#F5F5F7 !important;-webkit-text-fill-color:#F5F5F7}
  [data-theme="dark"] .hero-in .h1sub,[data-theme="dark"] .hero-note,[data-theme="dark"] .homeroutes p,[data-theme="dark"] .facts p,[data-theme="dark"] .stats,[data-theme="dark"] .cal-note,[data-theme="dark"] .lg-times small,[data-theme="dark"] .lg-dur,[data-theme="dark"] .acline,[data-theme="dark"] .o-side .pp,[data-theme="dark"] .pf-note,[data-theme="dark"] .op-n,[data-theme="dark"] .cp-n{color:#98989D !important}
  [data-theme="dark"] .widget,[data-theme="dark"] .rail,[data-theme="dark"] .offer,[data-theme="dark"] .sumtabs,[data-theme="dark"] .calwrap,[data-theme="dark"] .state,[data-theme="dark"] .fg-body,[data-theme="dark"] .cmppop,[data-theme="dark"] .dpop,[data-theme="dark"] .pax-pop,[data-theme="dark"] .acbox,[data-theme="dark"] .chatsheet,[data-theme="dark"] .hr-grid a,[data-theme="dark"] .facts>div,[data-theme="dark"] .adcard.adk,[data-theme="dark"] .froutes,[data-theme="dark"] .othpop{background:#1C1C1E !important;border-color:#2C2C2E !important;color:#F5F5F7}
  [data-theme="dark"] .wrow,[data-theme="dark"] .wfield{background:#1C1C1E !important;border-color:#3A3A3C !important}
  [data-theme="dark"] .wfield input,[data-theme="dark"] .wfield select,[data-theme="dark"] .dfake,[data-theme="dark"] .pax-btn{color:#F5F5F7 !important;background:transparent}
  [data-theme="dark"] .wfield label{color:#98989D}
  [data-theme="dark"] .homeroutes{background:#000 !important;border-color:#2C2C2E !important}
  [data-theme="dark"] .homeroutes h2,[data-theme="dark"] .facts h3,[data-theme="dark"] .hr-grid a,[data-theme="dark"] .routeline,[data-theme="dark"] .lg-times,[data-theme="dark"] .price,[data-theme="dark"] .seg-b b,[data-theme="dark"] .cald .dp,[data-theme="dark"] .dpm-t,[data-theme="dark"] .dpd,[data-theme="dark"] .dp-tabs button b,[data-theme="dark"] .cs-hd b,[data-theme="dark"] .acn{color:#F5F5F7 !important}
  [data-theme="dark"] .fg-t,[data-theme="dark"] .calbtn,[data-theme="dark"] .sort-sel,[data-theme="dark"] .qroutes span,[data-theme="dark"] .trip-seg button,[data-theme="dark"] .cald,[data-theme="dark"] .cs-q button,[data-theme="dark"] .state-sug span,[data-theme="dark"] .cs-msg,[data-theme="dark"] .calstrip,[data-theme="dark"] .dp-tabs,[data-theme="dark"] .o-foot,[data-theme="dark"] .segs,[data-theme="dark"] .dpd.in{background:#2C2C2E !important;color:#F5F5F7 !important;border-color:#3A3A3C !important}
  [data-theme="dark"] .fgroup:not(.closed) .fg-t{background:#F5F5F7 !important;color:#000 !important}
  [data-theme="dark"] .trip-seg button.on{background:#F5F5F7 !important;color:#000 !important}
  [data-theme="dark"] .sumtab.on{background:#2C2C2E !important}
  [data-theme="dark"] .cald.known{background:#1C1C1E !important;box-shadow:inset 0 0 0 1px #3A3A3C}
  [data-theme="dark"] .cald.best,[data-theme="dark"] .dpd.s1,[data-theme="dark"] .dpd.s2,[data-theme="dark"] .badge{background:#0A84FF !important;color:#fff !important}
  [data-theme="dark"] .cald.best .dn,[data-theme="dark"] .cald.best .dp{color:#fff !important}
  [data-theme="dark"] .callband{background:#1C1C1E;border:1px solid #2C2C2E}
  [data-theme="dark"] .view,[data-theme="dark"] .wgo button,[data-theme="dark"] .cal-scan,[data-theme="dark"] .cs-ft a.pri,[data-theme="dark"] .cmpbtn{background:#0A84FF !important;color:#fff !important}
  [data-theme="dark"] .chatfab{background:#F5F5F7;color:#000}
  [data-theme="dark"] .al-fb{background:#2C2C2E !important;color:#F5F5F7 !important}
  [data-theme="dark"] .al-logo{background:#fff}
  [data-theme="dark"] footer{background:#000 !important;border-color:#2C2C2E !important}
  [data-theme="dark"] footer,[data-theme="dark"] footer p,[data-theme="dark"] footer a,[data-theme="dark"] footer .fin p,[data-theme="dark"] .froutes a{color:#98989D !important}
  [data-theme="dark"] footer .fin b,[data-theme="dark"] footer a[href="about.html"],[data-theme="dark"] footer a[href="privacy.html"],[data-theme="dark"] footer a[href="terms.html"]{color:#F5F5F7 !important}
  [data-theme="dark"] .o-side{border-color:#2C2C2E !important}
  [data-theme="dark"] .cs-b{background:#48484A}.cs-b.lo{background:#F5F5F7}
  [data-theme="dark"] .seg-b .cab-low{border-color:#F5F5F7}
  [data-theme="dark"] .truth.ok,[data-theme="dark"] .det-btn{color:#0A84FF !important}
  [data-theme="dark"] .truth.ok::before{color:#0A84FF}
  [data-theme="dark"] .lg-stops.ns,[data-theme="dark"] .lg-stops.s1,[data-theme="dark"] .lg-stops.s2{color:#D1D1D6 !important}
  [data-theme="dark"] .lg-bar{background:#48484A}
  [data-theme="dark"] .lg-bar i{border-color:#F5F5F7;background:#1C1C1E}
  [data-theme="dark"] .cs-msg.me{background:#0A84FF !important}
  [data-theme="dark"] .cs-ft a{background:#2C2C2E;color:#F5F5F7}
}
@media all{[data-theme="dark"] .hsum{background:#1C1C1E !important;border-color:#3A3A3C !important}[data-theme="dark"] .stats b{color:#F5F5F7 !important}[data-theme="dark"] .adcard .ad-logo{color:#000 !important}}
.footlinks{display:flex;justify-content:center;flex-wrap:wrap;gap:.4rem 1.6rem;margin:1.2rem 0 .5rem}
.footlinks a{color:#424245 !important;font-weight:500 !important;font-size:.85rem !important;text-decoration:none}
.footlinks a:hover{color:#0071E3 !important;text-decoration:underline}
@media all{[data-theme="dark"] .footlinks a{color:#D1D1D6 !important}}

.themebtn2{background:transparent;border:1px solid rgba(255,255,255,.3);color:#F5F5F7;width:28px;height:28px;border-radius:50%;font-size:.85rem;cursor:pointer;line-height:1;margin-left:.8rem}
.themebtn2:hover{border-color:#fff}
[data-theme="dark"] .themebtn2{background:#F5F5F7;color:#000;border-color:#F5F5F7}
.clocks{display:flex;gap:1.6rem;margin:0 auto;font-size:.72rem;color:rgba(245,245,247,.78)}
.clocks span{display:flex;flex-direction:column;align-items:center;gap:1px}
.clocks span b{font-weight:500;font-size:.6rem;letter-spacing:.12em;color:rgba(245,245,247,.5);text-transform:uppercase}
.clocks span i{font-style:normal;font-weight:500;font-size:.82rem;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:#F5F5F7}
@media(max-width:1000px){.clocks{gap:1rem}.clocks span:nth-child(n+4){display:none}}
@media(max-width:640px){.clocks{gap:.9rem}.clocks span:nth-child(n+3){display:none}.clocks span b{font-size:.52rem}.clocks span i{font-size:.72rem}}
body.searched .clocks,body.hasResults .clocks{display:flex}
@media(max-width:1180px){body.searched .clocks,body.hasResults .clocks{display:none}}

/* v158 overrides */
.mc-leg{border:1px solid #D9D9DE !important;box-shadow:none !important;border-radius:14px;background:#fff}
.mc-leg:focus-within{border-color:#0071E3 !important}

/* v159 features */
.spot{display:none;position:fixed;inset:0;z-index:400;background:rgba(0,0,0,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.spot.show{display:flex;align-items:flex-start;justify-content:center;padding-top:18vh}
.spot-card{width:min(640px,92vw);background:#fff;border-radius:20px;box-shadow:0 40px 100px -20px rgba(0,0,0,.5);overflow:hidden;animation:popIn .2s cubic-bezier(.28,.11,.32,1) both}
.spot-card input{width:100%;border:none;outline:none;font-size:1.4rem;font-weight:500;padding:1.3rem 1.5rem 1.1rem;font-family:inherit;color:#1D1D1F;letter-spacing:-.02em}
.spot-card input::placeholder{color:#AEAEB2}
.spot-hint{padding:.7rem 1.5rem 1rem;font-size:.85rem;color:#6E6E73;border-top:1px solid #F0F0F3}
[data-theme="dark"] .spot-card{background:#1C1C1E}[data-theme="dark"] .spot-card input{background:#1C1C1E;color:#F5F5F7}[data-theme="dark"] .spot-hint{color:#98989D;border-color:#2C2C2E}
.stickybar{position:fixed;top:0;left:0;right:0;z-index:150;transform:translateY(-110%);transition:transform .3s cubic-bezier(.28,.11,.32,1);background:rgba(255,255,255,.85);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);border-bottom:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem max(1.5rem,calc((100% - 1180px)/2 + 1.5rem))}
.stickybar.show{transform:none}
.stickybar span{font-size:.95rem;color:#424245}
.stickybar b{color:#1D1D1F;font-weight:600}
.stickybar button{background:#1D1D1F;color:#fff;border:none;border-radius:999px;padding:.45rem 1rem;font-size:.85rem;font-weight:500;cursor:pointer;font-family:inherit}
[data-theme="dark"] .stickybar{background:rgba(28,28,30,.85);border-color:#2C2C2E}[data-theme="dark"] .stickybar span{color:#D1D1D6}[data-theme="dark"] .stickybar b{color:#F5F5F7}[data-theme="dark"] .stickybar button{background:#F5F5F7;color:#000}
.resumecard{display:inline-flex;align-items:baseline;gap:.7rem;background:#fff;border:1px solid #D9D9DE;border-radius:999px;padding:.65rem 1.2rem;margin:1rem auto 0;cursor:pointer;font-family:inherit;font-size:.95rem;transition:border-color .2s}
.resumecard:hover{border-color:#1D1D1F}
.resumecard .rc-l{color:#6E6E73;font-size:.8rem}
.resumecard b{color:#1D1D1F;font-weight:600}
.resumecard .rc-d{color:#6E6E73;font-size:.85rem}
.resumecard .rc-go{color:#0071E3;font-weight:500;font-size:.9rem}
[data-theme="dark"] .resumecard{background:#1C1C1E;border-color:#2C2C2E}[data-theme="dark"] .resumecard b{color:#F5F5F7}
.ppnote{font-size:.8rem;color:#6E6E73;margin-top:.15rem}
#ppSel{margin-right:.5rem}
@media print{
  body.printmode *{visibility:hidden !important}
  body.printmode .offer.printing,body.printmode .offer.printing *{visibility:visible !important}
  body.printmode .offer.printing{position:absolute;left:0;top:0;width:100%;border:none !important;box-shadow:none !important}
  body.printmode .offer.printing .view,body.printmode .offer.printing .sharelnk,body.printmode .offer.printing .det-btn{display:none !important}
}

/* v160 */
.spothint{display:inline-flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#F5F5F7;border-radius:999px;padding:.35rem .75rem;font-size:.8rem;font-weight:500;cursor:pointer;font-family:inherit;margin-left:.8rem}
.spothint svg{width:14px;height:14px}
.spothint kbd{font-family:inherit;font-size:.68rem;background:rgba(255,255,255,.18);border-radius:5px;padding:.1rem .35rem;color:rgba(245,245,247,.85)}
.spothint:hover{background:rgba(255,255,255,.2)}
@media(max-width:900px){.spothint span,.spothint kbd{display:none}.spothint{padding:.42rem}}
@media(max-width:640px){.clocks{display:flex !important;gap:.9rem}.clocks span:nth-child(n+4){display:none}.clocks span b{font-size:.52rem}.clocks span i{font-size:.72rem}}
@media(max-width:400px){.clocks span:nth-child(n+3){display:none}}
/* hero flight board */
.board{max-width:760px;margin:2.2rem auto 0;background:#0B0B0C;border-radius:18px;padding:1.1rem 1.4rem 1.2rem;box-shadow:0 30px 70px -35px rgba(0,0,0,.6);text-align:left;overflow:hidden}
.board-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}
.board-h b{color:#F5F5F7;font-size:.78rem;letter-spacing:.16em;font-weight:600}
.board-h span{color:#6E6E73;font-size:.7rem;letter-spacing:.08em}
.board-r{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:baseline;padding:.5rem 0;border-top:1px solid #1F1F21;cursor:pointer;transition:background .2s;border-radius:6px}
.board-r:hover{background:#151517}
.board-r .br-c{color:#F5F5F7;font-size:.95rem;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.board-r .br-p{color:#FFD60A;font-size:.95rem;font-weight:600;font-variant-numeric:tabular-nums}
.board-r .br-t{color:#6E6E73;font-size:.78rem;white-space:nowrap}
.board-r.flip .br-p{animation:boardflip .5s cubic-bezier(.28,.11,.32,1)}
@keyframes boardflip{0%{transform:translateY(-70%);opacity:0}100%{transform:none;opacity:1}}
@media(max-width:700px){.board{margin:1.6rem .2rem 0;padding:.9rem 1rem 1rem}.board-r{gap:.7rem}.board-r .br-c{font-size:.85rem}.board-r .br-p{font-size:.85rem}}
@media (prefers-reduced-motion: reduce){.board-r.flip .br-p{animation:none}}

/* v160 */
.spothint{display:inline-flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#F5F5F7;border-radius:999px;padding:.35rem .8rem;font-size:.8rem;font-family:inherit;cursor:pointer;margin-left:.8rem}
.spothint svg{width:13px;height:13px}
.spothint kbd{font-family:inherit;font-size:.68rem;background:rgba(255,255,255,.15);border-radius:5px;padding:.1rem .35rem;color:rgba(245,245,247,.8)}
.spothint:hover{background:rgba(255,255,255,.2)}
@media(max-width:900px){.spothint span,.spothint kbd{display:none}.spothint{padding:.35rem .5rem;margin-left:.4rem}}
[data-theme="dark"] .spothint{background:#2C2C2E;border-color:#3A3A3C}
.board{max-width:640px;margin:2.2rem auto 0;background:#0B0B0C;border-radius:20px;padding:1.1rem 1.2rem 1.2rem;text-align:left;box-shadow:0 30px 70px -35px rgba(0,0,0,.6)}
.bd-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:.7rem;gap:1rem}
.bd-hd span:first-child{color:#F5F5F7;font-weight:600;font-size:.95rem;letter-spacing:-.01em}
.bd-live{color:#FFD60A;font-size:.6rem;letter-spacing:.14em;font-weight:600;white-space:nowrap}
.bd-rows{display:flex;flex-direction:column;gap:2px;transition:opacity .25s}
.bd-rows.tick{opacity:.25}
.bd-r{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:.8rem;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.07);padding:.6rem .2rem;cursor:pointer;font-family:inherit;text-align:left;border-radius:8px}
.bd-r:last-child{border-bottom:none}
.bd-r:hover{background:rgba(255,255,255,.05)}
.bd-c{color:#F5F5F7;font-size:.88rem;font-weight:500;letter-spacing:.08em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bd-r .bd-c:nth-child(3){text-align:left}
.bd-a{color:#6E6E73}
.bd-p{color:#FFD60A;font-weight:600;font-size:.95rem;font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:right}
.bd-r.lv .bd-p::before{content:'\u25CF ';font-size:.55em;vertical-align:middle;color:#30D158}
@media(max-width:700px){.board{margin-top:1.6rem;border-radius:16px;padding:.9rem 1rem 1rem}.bd-c{font-size:.78rem;letter-spacing:.04em}.bd-p{font-size:.88rem}}
body.hasResults .board,body.searched .board{display:none}
.dpop.single .dp-tabs,.dpop.single .dpf{display:none !important}

/* v162 account */
.signin{background:transparent;border:1px solid rgba(255,255,255,.28);color:#F5F5F7;border-radius:999px;padding:.35rem .9rem;font-size:.8rem;font-weight:500;font-family:inherit;cursor:pointer;margin-left:.8rem;white-space:nowrap}
.signin:hover{background:rgba(255,255,255,.12)}
.signin.in{background:#F5F5F7;color:#000;border-color:#F5F5F7;font-weight:600}
[data-theme="dark"] .signin.in{background:#F5F5F7;color:#000}
@media(max-width:640px){.signin{margin-left:.4rem;padding:.35rem .7rem}}
.acct{display:none;position:fixed;inset:0;z-index:410;background:rgba(0,0,0,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.acct.show{display:flex;align-items:center;justify-content:center;padding:1rem}
.acct-card{position:relative;width:min(420px,94vw);background:#fff;border-radius:22px;box-shadow:0 40px 100px -20px rgba(0,0,0,.5);padding:1.8rem 1.7rem 1.5rem;animation:popIn .25s cubic-bezier(.28,.11,.32,1) both}
.acct-card h3{margin:0 0 .5rem;font-size:1.3rem;font-weight:700;letter-spacing:-.02em;color:#1D1D1F}
.acct-card p{color:#424245;font-size:.95rem;line-height:1.55;margin:.2rem 0 1rem}
.acct-x{position:absolute;top:1rem;right:1rem}
.acct-l{display:block;font-size:.8rem;color:#6E6E73;font-weight:500;margin-bottom:.8rem}
.acct-l input{display:block;width:100%;margin-top:.3rem;border:1px solid #D9D9DE;border-radius:12px;padding:.75rem .9rem;font-size:1rem;font-family:inherit;color:#1D1D1F;box-sizing:border-box}
.acct-l input:focus{outline:none;border-color:#0071E3;box-shadow:0 0 0 3px rgba(0,113,227,.15)}
.acct-go{width:100%;background:#0071E3;color:#fff;border:none;border-radius:999px;padding:.8rem;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;margin-top:.2rem}
.acct-go:hover{background:#0077ED}
.acct-go.sec{background:#F5F5F7;color:#1D1D1F}
.acct-go.sec:hover{background:#E8E8ED}
.acct-n{font-size:.8rem !important;color:#6E6E73 !important;margin:.6rem 0 0 !important}
[data-theme="dark"] .acct-card{background:#1C1C1E}
[data-theme="dark"] .acct-card h3{color:#F5F5F7}
[data-theme="dark"] .acct-card p{color:#D1D1D6}
[data-theme="dark"] .acct-l input{background:#2C2C2E;border-color:#3A3A3C;color:#F5F5F7}

/* v163 ac polish */
.acbox{opacity:0;transform:translateY(-4px) scale(.99);pointer-events:none;transition:opacity .16s cubic-bezier(.28,.11,.32,1),transform .16s cubic-bezier(.28,.11,.32,1);display:block;border:none;box-shadow:0 24px 60px -18px rgba(0,0,0,.35),0 0 0 1px rgba(0,0,0,.06);border-radius:16px;max-height:328px;overflow:auto;overscroll-behavior:contain}
.acbox.show{opacity:1;transform:none;pointer-events:auto}
.acit{height:54px;box-sizing:border-box;border-bottom:1px solid #F0F0F3}
.acimg{background:#EDEDF0}
.acimg img{opacity:0;transition:opacity .3s}
.acimg img.ld{opacity:1}
.acimg b{opacity:.75;position:static}
.acimg:has(img.ld) b{display:none}
[data-theme="dark"] .acbox{background:#1C1C1E;box-shadow:0 24px 60px -18px rgba(0,0,0,.7),0 0 0 1px #2C2C2E}
[data-theme="dark"] .acit{border-color:#2C2C2E}
[data-theme="dark"] .acit:hover,[data-theme="dark"] .acit.on{background:#2C2C2E}
[data-theme="dark"] .acn{color:#F5F5F7 !important}
[data-theme="dark"] .acimg{background:#2C2C2E}

/* ===== v164 ===== */
.topSearch{display:none !important}
.wfield input{text-transform:none}
@media(max-width:1000px){.clocks{display:none !important}}
.acbox{min-width:280px;width:max(100%,300px)}
.ac-l{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#6E6E73;padding:.55rem .95rem .25rem}
.acit{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:46px;padding:.4rem .95rem;border-bottom:1px solid #F0F0F3;cursor:pointer}
.acit:last-child{border-bottom:none}
.acit .acn{font-weight:500;font-size:.98rem;color:#1D1D1F;letter-spacing:-.01em;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acit .acc{font-size:.78rem;font-weight:600;color:#6E6E73;background:#F5F5F7;border-radius:6px;padding:.15rem .45rem;letter-spacing:.04em;flex:0 0 auto}
.acit:hover,.acit.on{background:#F5F5F7}
.acit:hover .acc,.acit.on .acc{background:#fff}
.acimg{display:none !important}
[data-theme="dark"] .ac-l{color:#98989D}
[data-theme="dark"] .acit .acn{color:#F5F5F7}
[data-theme="dark"] .acit .acc{background:#2C2C2E;color:#D1D1D6}
[data-theme="dark"] .acit:hover,[data-theme="dark"] .acit.on{background:#2C2C2E}
[data-theme="dark"] .acit:hover .acc{background:#1C1C1E}

/* ===== v166 ===== */
.adcard.adk{border-left:4px solid var(--adc,#1D1D1F) !important;position:relative}
.adcard .ad-logo{border:none !important;font-weight:700;letter-spacing:.02em}
.adcard .ad-go{border-color:var(--adc,#0071E3) !important;color:var(--adc,#0071E3) !important}
.adcard .ad-go:hover{background:var(--adc,#0071E3) !important;color:#fff !important}
.savebtn{font-size:.9rem;font-weight:500;color:#6E6E73;font-family:inherit;padding:0;margin-right:1rem}
.savebtn:hover{color:#0071E3}
.cmp-check{font-size:.9rem;font-weight:500;color:#6E6E73;text-transform:none;letter-spacing:0;margin-right:1rem}
.o-foot{gap:.2rem}
.nightnote{display:block;font-size:.85rem;color:#6E6E73;margin-top:.25rem}
.offer.kfocus{box-shadow:0 0 0 2px #0071E3,0 10px 30px -22px rgba(0,0,0,.3) !important}
.ac-sl{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#6E6E73;margin:1.1rem 0 .4rem}
.ac-srow{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;background:#F5F5F7;border:none;border-radius:12px;padding:.65rem .85rem;margin-bottom:.45rem;font-family:inherit;font-size:.9rem;color:#1D1D1F;cursor:pointer;text-align:left}
.ac-srow:hover{background:#E8E8ED}
.ac-srow .ac-sp{font-weight:600;white-space:nowrap}
.ac-srow .ac-sp i{font-style:normal;color:#6E6E73;font-weight:400;font-size:.78rem;margin-left:.45rem}
[data-theme="dark"] .ac-srow{background:#2C2C2E;color:#F5F5F7}
[data-theme="dark"] .ac-srow:hover{background:#3A3A3C}

/* v166b: expose Save & Copy in card foot; keep Watch/Compare hidden */
.o-foot .savebtn{display:inline-block !important}
.o-foot .savebtn.wr{display:none !important}
.o-foot .cmp-check{display:none !important}

/* ===== v167: watched routes + private fare ===== */
.o-foot .cmp-check{display:none !important}
#watchRow{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center;margin:.9rem auto 0;max-width:900px}
#watchRow .wl{font-size:.8rem;color:#6E6E73}
.watch-chip{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid #D9D9DE;border-radius:999px;padding:.45rem .9rem;font-size:.88rem;color:#1D1D1F;cursor:pointer;transition:border-color .2s}
.watch-chip:hover{border-color:#1D1D1F}
.watch-chip b{font-weight:600}
.watch-chip svg{height:14px}
.watch-chip .wdel{color:#6E6E73;margin-left:.1rem}
.watch-chip .up{color:#C0392B}.watch-chip .dn2{color:#0E7C3A}
.wbk{background:transparent;border:none;color:#6E6E73;cursor:pointer;font-size:.9rem}
body.hasResults #watchRow{display:none}
.watchbtn{margin-left:.5rem}
.pvt{position:relative;border-radius:20px;background:linear-gradient(135deg,#101014,#1D1D22 60%,#26262E);color:#F5F5F7;padding:1.4rem 1.6rem;margin-bottom:.9rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border:1px solid rgba(255,255,255,.08)}
.pvt .pv-l{display:flex;flex-direction:column;gap:.3rem;min-width:0}
.pvt .pv-k{display:inline-flex;align-items:center;gap:.45rem;font-size:.68rem;letter-spacing:.14em;color:#D9B96A;font-weight:600}
.pvt .pv-k svg{width:12px;height:12px}
.pvt .pv-t{font-size:1.15rem;font-weight:600;letter-spacing:-.01em}
.pvt .pv-n{font-size:.88rem;color:rgba(245,245,247,.65);line-height:1.5;max-width:560px}
.pvt .pv-r{text-align:right;flex:0 0 auto}
.pvt .pv-p{font-size:1.9rem;font-weight:600;letter-spacing:-.03em}
.pvt .pv-c{display:inline-block;margin-top:.5rem;background:#F5F5F7;color:#101014;border-radius:999px;padding:.55rem 1.2rem;font-weight:600;font-size:.9rem;text-decoration:none}
.pvt .pv-c:hover{background:#fff}
@media(max-width:700px){.pvt{flex-direction:column;align-items:flex-start}.pvt .pv-r{text-align:left}}
.ac-wrow{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;background:#F5F5F7;border:none;border-radius:12px;padding:.65rem .85rem;margin-bottom:.45rem;font-family:inherit;font-size:.9rem;color:#1D1D1F;cursor:pointer;text-align:left}
.ac-wrow:hover{background:#E8E8ED}
.ac-wrow .up{color:#C0392B;font-weight:600}.ac-wrow .dn2{color:#0E7C3A;font-weight:600}
[data-theme="dark"] .watch-chip{background:#1C1C1E;border-color:#2C2C2E;color:#F5F5F7}
[data-theme="dark"] .ac-wrow{background:#2C2C2E;color:#F5F5F7}
.o-foot{justify-content:flex-start !important;gap:1.4rem}
.o-foot .det-btn{margin-left:auto}
.o-foot .savebtn{margin-right:0}

/* ===== v168: hero photo slot + beauty ===== */
.heroimg{display:none;max-width:1180px;margin:2.6rem auto 0;padding:0 1.5rem}
.heroimg.on{display:block}
.heroimg .hi-wrap{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:21/8;background:#F5F5F7}
.heroimg img{width:100%;height:100%;object-fit:cover;display:block}
.heroimg .hi-cap{position:absolute;left:1.6rem;bottom:1.2rem;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.4);font-size:.95rem;font-weight:500}
@media(max-width:700px){.heroimg .hi-wrap{aspect-ratio:4/3;border-radius:18px}.heroimg{padding:0 1rem;margin-top:1.8rem}}
.facts{gap:1.2rem}
.facts>div{transition:transform .35s cubic-bezier(.28,.11,.32,1)}
.facts>div:hover{transform:translateY(-3px)}
.hr-grid a{transition:transform .35s cubic-bezier(.28,.11,.32,1),box-shadow .35s}
.hr-grid a:hover{transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(0,0,0,.25)}
footer .froutes{margin-bottom:1.4rem}

/* ===== v169: segmented tabs, calendar polish, insight line ===== */
.sumtabs{background:#F0F0F3 !important;border:none !important;border-radius:18px !important;padding:4px !important;gap:4px !important;box-shadow:none !important;display:grid;overflow:visible}
.sumtab{border-radius:14px !important;border:none !important;background:transparent;transition:background .3s cubic-bezier(.28,.11,.32,1)}
.sumtab+.sumtab{border-left:none !important}
.sumtab.on{background:#fff !important;box-shadow:0 2px 10px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.02) !important}
.sumtab.on::after{display:none !important}
.sumtab .n{color:#6E6E73;font-weight:500}
.sumtab.on .n{color:#1D1D1F;font-weight:600}
.sumtab .v{font-weight:700;letter-spacing:-.03em}
.sumtab small{color:#6E6E73}
[data-theme="dark"] .sumtabs{background:#2C2C2E !important}
[data-theme="dark"] .sumtab.on{background:#1C1C1E !important;box-shadow:0 2px 10px rgba(0,0,0,.5) !important}
#insight{display:none;margin:.1rem 0 1rem;padding:.75rem 1.1rem;background:transparent;border:none;border-left:2px solid #0071E3;border-radius:0;font-size:.95rem;color:#424245;line-height:1.5}
#insight b{color:#1D1D1F;font-weight:600}
[data-theme="dark"] #insight{color:#D1D1D6;border-color:#0A84FF}
[data-theme="dark"] #insight b{color:#F5F5F7}
.cs-b{min-height:4px}
.cs-b.na{background:#E8E8ED;cursor:pointer}
.cs-b.na:hover{background:#0071E3}
.cald:not(.known):not(.off) .dp{position:relative}
.cald:not(.known):not(.off):hover .dp::after{content:'Check';color:#0071E3;font-size:.72rem;font-weight:500}
.cal-w:first-child,.cal-w:last-child{color:#AEAEB2}
.cal-hd b{font-weight:700}
.calbest{cursor:default}
[data-theme="dark"] .cs-b.na{background:#3A3A3C}

/* ===== v170: exit compare ===== */
.spothint{margin-left:auto}
.exitp{display:none;position:fixed;inset:0;z-index:420;background:rgba(0,0,0,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.exitp.show{display:flex;align-items:center;justify-content:center;padding:1rem}
.ex-card{position:relative;width:min(460px,94vw);background:#fff;border-radius:24px;box-shadow:0 50px 120px -20px rgba(0,0,0,.55);padding:1.8rem 1.6rem 1.3rem;animation:popIn .28s cubic-bezier(.28,.11,.32,1) both}
.ex-card h3{margin:0 0 .3rem;font-size:1.45rem;font-weight:700;letter-spacing:-.02em;color:#1D1D1F}
.ex-sub{color:#6E6E73;font-size:.95rem;margin:0 0 1.1rem;line-height:1.5}
.ex-x{position:absolute;top:1rem;right:1rem}
.ex-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.ex-row{display:flex;align-items:center;gap:.6rem;border:1px solid #E5E5EA;border-radius:14px;padding:.6rem .7rem;text-decoration:none;transition:border-color .2s,transform .2s cubic-bezier(.28,.11,.32,1)}
.ex-row:hover{border-color:var(--exc);transform:translateY(-1px)}
.ex-dot{width:30px;height:30px;border-radius:9px;background:var(--exc);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex:0 0 auto}
.ex-n{font-size:.9rem;font-weight:500;color:#1D1D1F;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
.ex-go{font-size:.78rem;font-weight:600;color:var(--exc);white-space:nowrap}
.ex-note{font-size:.75rem;color:#6E6E73;margin:1rem 0 0;line-height:1.5;border-top:1px solid #F0F0F3;padding-top:.8rem}
@media(max-width:480px){.ex-grid{grid-template-columns:1fr}}
[data-theme="dark"] .ex-card{background:#1C1C1E}
[data-theme="dark"] .ex-card h3,[data-theme="dark"] .ex-n{color:#F5F5F7}
[data-theme="dark"] .ex-row{border-color:#2C2C2E}

/* v170b: exit rows — rigid grid so nothing drifts */
.ex-card{width:min(520px,94vw)}
.ex-grid{gap:.5rem}
.ex-row{display:grid !important;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.55rem .65rem;min-width:0}
.ex-dot{width:30px;height:30px;border-radius:9px;font-size:.85rem;line-height:1}
.ex-n{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}
.ex-go{font-size:.72rem;letter-spacing:.01em;padding:.25rem .5rem;border:1px solid var(--exc);border-radius:999px}
.ex-row:hover .ex-go{background:var(--exc);color:#fff}
@media(max-width:560px){.ex-grid{grid-template-columns:1fr}.ex-card{padding:1.5rem 1.2rem 1.1rem}}

/* ===== v172: phone ribbon + color accents ===== */
.pribbon{display:none;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1rem;padding:.8rem 1.2rem;border-radius:14px;background:linear-gradient(90deg,#FFF9EC,#FFF3D6);border:1px solid #EFDFB3;text-decoration:none;color:#6B5416;font-size:.95rem;transition:border-color .2s}
body.hasResults .pribbon{display:flex}
.pribbon b{color:#4A3A0C;font-weight:600}
.pribbon .pr-c{white-space:nowrap;background:#1D1D1F;color:#fff;border-radius:999px;padding:.45rem 1rem;font-size:.88rem}
.pribbon .pr-c b{color:#FFD60A;font-weight:600}
.pribbon:hover{border-color:#D9B96A}
@media(max-width:700px){.pribbon{flex-direction:column;align-items:flex-start;gap:.5rem}}
[data-theme="dark"] .pribbon{background:linear-gradient(90deg,#221B08,#2A2210);border-color:#4A3A0C;color:#E8D49A}
[data-theme="dark"] .pribbon b{color:#F5E5B8}
/* segmented tab dots */
.sumtab .n{display:inline-flex;align-items:center;gap:.45rem}
.sumtab .n::before{content:'';width:7px;height:7px;border-radius:50%;background:#C7C7CC;flex:0 0 auto}
.sumtab:nth-child(1) .n::before{background:#0071E3}
.sumtab:nth-child(2) .n::before{background:#34C759}
.sumtab:nth-child(3) .n::before{background:#FF9F0A}
/* cabin check in green */
.truth.ok::before{color:#34C759 !important}
/* home fact dots */
.facts h3{display:flex;align-items:center;gap:.55rem}
.facts h3::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:#0071E3;margin:0}
.facts>div:nth-child(2) h3::before{background:#34C759}
.facts>div:nth-child(3) h3::before{background:#FF9F0A}

/* ===== v173: exit popup v2 ===== */
.ex-card{width:min(480px,94vw);padding:2rem 1.8rem 1.3rem;text-align:left}
.ex-k{display:block;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:#6E6E73;margin-bottom:.35rem}
.ex-card h3{font-size:1.6rem;letter-spacing:-.03em;line-height:1.15;margin:0 0 1.1rem}
.ex-call{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(90deg,#FFF9EC,#FFF3D6);border:1px solid #EFDFB3;border-radius:16px;padding:.95rem 1.1rem;text-decoration:none;color:#4A3A0C;font-weight:600;font-size:1rem;transition:border-color .2s}
.ex-call b{background:#1D1D1F;color:#FFD60A;border-radius:999px;padding:.5rem 1.05rem;font-size:.95rem;white-space:nowrap}
.ex-call:hover{border-color:#D9B96A}
.ex-script{display:block;width:100%;background:none;border:none;font-family:inherit;text-align:left;color:#0071E3;font-size:.88rem;padding:.6rem .2rem;cursor:pointer}
.ex-script .ex-scr-body{display:none;color:#424245;font-size:.9rem;line-height:1.55;margin-top:.45rem;font-weight:400}
.ex-script.open .ex-scr-body{display:block}
.ex-acts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem;margin:.5rem 0 1.1rem}
.ex-act{display:flex;align-items:center;justify-content:center;background:#F5F5F7;border:none;border-radius:12px;padding:.7rem .5rem;font-size:.85rem;font-weight:500;color:#1D1D1F;text-decoration:none;font-family:inherit;cursor:pointer}
.ex-act:hover{background:#E8E8ED}
.ex-more{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #F0F0F3;padding-top:1rem}
.ex-more>span{font-size:.85rem;color:#6E6E73}
.ex-dots{display:flex;gap:.4rem}
.ex-d{width:30px;height:30px;border-radius:50%;background:var(--exc);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;text-decoration:none;transition:transform .2s cubic-bezier(.28,.11,.32,1)}
.ex-d:hover{transform:translateY(-2px) scale(1.08)}
.ex-note{border-top:none;padding-top:.4rem;margin-top:.6rem}
@media(max-width:480px){.ex-acts{grid-template-columns:1fr}.ex-more{flex-direction:column;align-items:flex-start;gap:.6rem}}
[data-theme="dark"] .ex-call{background:linear-gradient(90deg,#221B08,#2A2210);border-color:#4A3A0C;color:#F5E5B8}
[data-theme="dark"] .ex-act{background:#2C2C2E;color:#F5F5F7}
[data-theme="dark"] .ex-script .ex-scr-body{color:#D1D1D6}

/* ===== v174: marketing five ===== */
.frband{background:#1D1D1F;padding:3.2rem 1.5rem}
.fr-in{max-width:1000px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.fr-l h2{color:#F5F5F7;font-size:1.6rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .3rem}
.fr-l p{color:rgba(245,245,247,.65);margin:0;font-size:1rem;max-width:460px;line-height:1.5}
.fr-f{display:flex;gap:.5rem;flex:0 0 auto}
.fr-f input{background:#2C2C2E;border:1px solid #3A3A3C;border-radius:999px;padding:.75rem 1.1rem;font-size:.95rem;color:#F5F5F7;font-family:inherit;width:240px}
.fr-f input::placeholder{color:#8E8E93}
.fr-f input:focus{outline:none;border-color:#FFD60A}
.fr-f button{background:#FFD60A;color:#1D1D1F;border:none;border-radius:999px;padding:.75rem 1.3rem;font-weight:600;font-size:.95rem;font-family:inherit;cursor:pointer}
.fr-f button:hover{background:#FFDE3A}
.fr-done{color:#FFD60A;font-weight:500}
body.hasResults .frband,body.searched .frband{display:none}
@media(max-width:700px){.fr-in{flex-direction:column;align-items:flex-start}.fr-f{width:100%}.fr-f input{flex:1;width:auto}}
.freshchip{display:inline-block;margin-left:.8rem;font-size:.78rem;color:#0E7C3A;background:#E9F7EE;border-radius:999px;padding:.25rem .7rem;font-weight:500;vertical-align:middle}
[data-theme="dark"] .freshchip{background:#0E2B1A;color:#5CD68A}

/* ===== v175: desk note (replaces exit modal) ===== */
.desknote{display:block;position:fixed;right:1.4rem;bottom:1.4rem;z-index:300;width:min(340px,calc(100vw - 2rem));background:#fff;border:1px solid #E5E5EA;border-radius:18px;box-shadow:0 24px 60px -24px rgba(0,0,0,.35);padding:1.1rem 1.2rem 1rem;transform:translateY(16px);opacity:0;pointer-events:none;transition:transform .35s cubic-bezier(.28,.11,.32,1),opacity .35s}
.desknote.show{transform:none;opacity:1;pointer-events:auto}
.desknote p{margin:0 0 .8rem;font-size:.95rem;line-height:1.6;color:#1D1D1F}
.dn-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem}
.dn-row a{background:#1D1D1F;color:#fff;border-radius:999px;padding:.55rem 1.1rem;font-size:.9rem;font-weight:500;text-decoration:none}
.dn-row a b{color:#FFD60A;font-weight:600}
.dn-row a:hover{background:#2C2C2E}
.dn-row button{background:none;border:none;color:#6E6E73;font-size:.88rem;font-family:inherit;cursor:pointer;padding:.4rem}
.dn-row button:hover{color:#1D1D1F}
@media(max-width:700px){.desknote{right:.8rem;left:.8rem;bottom:5.2rem;width:auto}}
[data-theme="dark"] .desknote{background:#1C1C1E;border-color:#2C2C2E}
[data-theme="dark"] .desknote p{color:#F5F5F7}

/* ===== v176: how-it-works + desk letter ===== */
.hiw2{background:#fff;padding:3.6rem 1.5rem 2.8rem;border-top:1px solid #E5E5EA}
.hiw2-in{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.hiw2-s{display:flex;gap:.9rem;align-items:flex-start}
.hn{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:#1D1D1F;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}
.hiw2-s b{display:block;font-size:1.02rem;font-weight:600;color:#1D1D1F;letter-spacing:-.01em;margin-bottom:.25rem}
.hiw2-s p{margin:0;color:#6E6E73;font-size:.92rem;line-height:1.55}
@media(max-width:800px){.hiw2-in{grid-template-columns:1fr;gap:1.4rem}}
.deskletter{background:#fff;padding:1rem 1.5rem 3.6rem}
.dl-in{max-width:680px;margin:0 auto;border:1px solid #E5E5EA;border-radius:18px;padding:1.8rem 2rem 1.4rem;background:#FFFDF7}
.dl-in p{color:#1D1D1F;font-size:1rem;line-height:1.75;margin:0 0 .9rem}
.dl-sign{color:#6E6E73 !important;font-size:.92rem !important;margin:0 !important}
[data-theme="dark"] .hiw2{background:#000;border-color:#2C2C2E}
[data-theme="dark"] .hiw2-s b{color:#F5F5F7}
[data-theme="dark"] .deskletter{background:#000}
[data-theme="dark"] .dl-in{background:#1C1C1E;border-color:#2C2C2E}
[data-theme="dark"] .dl-in p{color:#F5F5F7}
body.hasResults .hiw2,body.searched .hiw2,body.hasResults .deskletter,body.searched .deskletter{display:none}

/* ===== v177: statement replaces letter ===== */
.deskletter{display:none !important}
.bigline{background:#fff;padding:1.4rem 1.5rem 4rem;text-align:center}
.bl-in p{max-width:720px;margin:0 auto;font-size:clamp(1.4rem,3vw,2rem);font-weight:700;letter-spacing:-.03em;line-height:1.25;color:#1D1D1F}
.bl-in .bl-2{margin-top:1.1rem;font-size:clamp(1.05rem,2vw,1.25rem);font-weight:600;color:#1D1D1F}
.bl-in .bl-2 span{display:block;margin-top:.5rem;font-size:.95rem;font-weight:400;color:#6E6E73;letter-spacing:0}
body.hasResults .bigline,body.searched .bigline{display:none}
[data-theme="dark"] .bigline{background:#000}
[data-theme="dark"] .bl-in p{color:#F5F5F7}
[data-theme="dark"] .bl-in .bl-2 span{color:#98989D}

/* ===== v178: floating glass header ===== */
body{padding-top:86px}
.hdr{position:fixed !important;top:12px;left:50%;transform:translateX(-50%);width:min(1180px,calc(100% - 24px));min-height:60px;border-radius:22px;background:rgba(20,20,22,.72) !important;backdrop-filter:saturate(1.8) blur(22px);-webkit-backdrop-filter:saturate(1.8) blur(22px);box-shadow:0 12px 40px -18px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.08);padding:.55rem 1.1rem !important;z-index:180}
.lg-box{width:26px;height:26px}
.logo.lg2 .lg-word,.logo.lg2 .lg-word b{font-size:1.08rem !important}
.stickybar{top:84px;border-radius:16px;left:50%;transform:translateX(-50%) translateY(-140%);width:min(1180px,calc(100% - 24px));border:1px solid rgba(0,0,0,.06)}
.stickybar.show{transform:translateX(-50%) translateY(0)}
@media(max-width:700px){body{padding-top:72px}.hdr{top:8px;width:calc(100% - 16px);min-height:52px;border-radius:18px;padding:.45rem .8rem !important}.stickybar{top:66px}}
[data-theme="dark"] .hdr{background:rgba(20,20,22,.78) !important;box-shadow:0 12px 40px -18px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.1)}
/* ===== v178 features ===== */
.altrow{display:none;gap:.5rem;flex-wrap:wrap;margin:.2rem 0 1rem}
body.hasResults .altrow{display:flex}
.altrow .alt-c{background:#fff;border:1px solid #D9D9DE;border-radius:999px;padding:.5rem 1rem;font-size:.88rem;color:#1D1D1F;cursor:pointer;font-family:inherit;transition:border-color .2s}
.altrow .alt-c:hover{border-color:#0071E3;color:#0071E3}
.altrow .alt-c b{font-weight:600}
.daynudge{display:inline-flex;align-items:center;gap:.5rem;margin-left:.8rem;background:#FFF7E0;border:1px solid #F0DFAF;border-radius:999px;padding:.28rem .8rem;font-size:.8rem;color:#6B5416;cursor:pointer;font-family:inherit;vertical-align:middle}
.daynudge b{color:#4A3A0C}
.daynudge:hover{border-color:#D9B96A}
.skel{border:1px solid #E5E5EA;border-radius:20px;padding:1.35rem 1.6rem;margin-bottom:.9rem;background:#fff}
.skel .sk{background:linear-gradient(90deg,#F0F0F3 25%,#FAFAFC 50%,#F0F0F3 75%);background-size:200% 100%;animation:skm 1.2s infinite;border-radius:8px}
@keyframes skm{0%{background-position:200% 0}100%{background-position:-200% 0}}
.skel .r1{height:22px;width:40%;margin-bottom:.9rem}
.skel .r2{height:14px;width:65%;margin-bottom:1.2rem}
.skel .r3{height:22px;width:30%}
[data-theme="dark"] .skel{background:#1C1C1E;border-color:#2C2C2E}
[data-theme="dark"] .skel .sk{background:linear-gradient(90deg,#2C2C2E 25%,#3A3A3C 50%,#2C2C2E 75%);background-size:200% 100%}
/* compare surfaced */
.o-foot .cmp-check{display:inline-flex !important;font-size:.9rem;font-weight:500;color:#6E6E73;text-transform:none;letter-spacing:0;gap:.4rem;cursor:pointer}
.o-foot .cmp-check:hover{color:#0071E3}
.cmpbar{position:fixed;left:50%;transform:translateX(-50%) translateY(120%);bottom:14px;z-index:250;width:min(980px,calc(100% - 24px));background:rgba(255,255,255,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(0,0,0,.08);border-radius:20px;box-shadow:0 30px 80px -25px rgba(0,0,0,.45);transition:transform .35s cubic-bezier(.28,.11,.32,1);padding:1rem 1.2rem;max-height:46vh;overflow:auto}
.cmpbar.show{transform:translateX(-50%) translateY(0)}
.cmp-t{width:100%;border-collapse:collapse;font-size:.9rem}
.cmp-t th{text-align:left;color:#6E6E73;font-weight:500;font-size:.78rem;padding:.3rem .6rem;border-bottom:1px solid #E5E5EA}
.cmp-t td{padding:.55rem .6rem;border-bottom:1px solid #F0F0F3;color:#1D1D1F}
.cmp-clear{float:right;background:none;border:none;color:#0071E3;font-size:.85rem;cursor:pointer;font-family:inherit;padding:.2rem}
[data-theme="dark"] .cmpbar{background:rgba(28,28,30,.92);border-color:#2C2C2E}
[data-theme="dark"] .cmp-t td{color:#F5F5F7}
.stickybar{opacity:0;pointer-events:none}
.stickybar.show{opacity:1;pointer-events:auto}

/* v179: true black header; freshness chip removed */
.freshchip{display:none !important}
.hdr{background:rgba(10,10,11,.9) !important;box-shadow:0 14px 44px -20px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.07) !important}
@supports not ((backdrop-filter: blur(4px)) or (-webkit-backdrop-filter: blur(4px))){.hdr{background:#0B0B0C !important}}
[data-theme="dark"] .hdr{background:rgba(16,16,18,.92) !important}

/* ===== v180: premium ribbon + desk note ===== */
.pribbon{background:#0B0B0C !important;border:1px solid rgba(232,199,102,.35) !important;border-radius:18px !important;padding:.9rem 1.1rem .9rem 1rem !important;color:#F5F5F7 !important;box-shadow:0 18px 45px -25px rgba(0,0,0,.5);gap:1rem !important;position:relative;overflow:hidden}
.pribbon::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(232,199,102,.07) 50%,transparent 60%);pointer-events:none}
.pribbon:hover{border-color:rgba(232,199,102,.7) !important}
.pribbon .pr-ic{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:1px solid rgba(232,199,102,.5);color:#E8C766;display:flex;align-items:center;justify-content:center}
.pribbon .pr-ic svg{width:17px;height:17px}
.pribbon .pr-t{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.pribbon .pr-t b{color:#E8C766 !important;font-weight:600;font-size:1.02rem;letter-spacing:-.01em}
.pribbon .pr-t em{font-style:normal;color:rgba(245,245,247,.6);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pribbon .pr-c{background:#E8C766 !important;color:#0B0B0C !important;font-weight:600;padding:.6rem 1.2rem !important;border-radius:999px}
.pribbon .pr-c b{color:#0B0B0C !important}
.pribbon:hover .pr-c{background:#F2D584 !important}
@media(max-width:700px){.pribbon .pr-t em{white-space:normal}.pribbon{flex-wrap:wrap}.pribbon .pr-c{width:100%;text-align:center}}
[data-theme="dark"] .pribbon{background:#141416 !important}
/* desk note premium */
.desknote{background:linear-gradient(150deg,#101014,#1B1B20 70%,#232329) !important;border:1px solid rgba(232,199,102,.32) !important;border-radius:20px !important;box-shadow:0 30px 70px -28px rgba(0,0,0,.65) !important;padding:1.05rem 1.15rem 1rem !important;width:min(360px,calc(100vw - 2rem))}
.dn-hd{display:flex;align-items:center;gap:.55rem;margin-bottom:.65rem}
.dn-mark{width:24px;height:24px;border-radius:7px;background:#E8C766;color:#0B0B0C;display:flex;align-items:center;justify-content:center}
.dn-mark svg{width:14px;height:14px}
.dn-k{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#E8C766;font-weight:600;flex:1}
.dn-x{background:rgba(255,255,255,.08);border:none;color:rgba(245,245,247,.7);width:26px;height:26px;border-radius:50%;cursor:pointer;font-size:.8rem;line-height:1}
.dn-x:hover{background:rgba(255,255,255,.15);color:#fff}
.desknote p{color:rgba(245,245,247,.88) !important;font-size:.95rem;line-height:1.65}
.desknote p b{color:#fff}
.dn-row a{background:#E8C766 !important;color:#0B0B0C !important}
.dn-row a b{color:#0B0B0C !important}
.dn-row a:hover{background:#F2D584 !important}
.dn-row button{color:rgba(245,245,247,.55) !important}
.dn-row button:hover{color:#fff !important}

.pribbon .pr-t{flex:1 1 auto;align-items:flex-start;text-align:left}

/* ===== v181: editorial line illustrations ===== */
.hiw2-s{flex-direction:column;align-items:flex-start;position:relative}
.hiw-ill{width:120px;height:80px;margin-bottom:.6rem}
.hiw2-s>span.hn{position:absolute;top:64px;left:0;background:#fff;border:2px solid #1D1D1F;color:#1D1D1F;width:28px;height:28px}
.hiw2-s>div{margin-top:.4rem}
@media(max-width:800px){.hiw2-s{flex-direction:row;align-items:flex-start}.hiw-ill{width:88px;height:60px;flex:0 0 auto;margin:0}.hiw2-s>span.hn{display:none}.hiw2-s>div{margin-top:0}}
[data-theme="dark"] .hiw-ill [stroke="#1D1D1F"]{stroke:#F5F5F7}
[data-theme="dark"] .hiw2-s>span.hn{background:#000;border-color:#F5F5F7;color:#F5F5F7}
.fly-lane{position:relative;max-width:680px;margin:0 auto 2.2rem;height:34px}
.fly-trail{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);width:100%;height:20px}
.fly-plane{position:absolute;top:50%;left:0;width:26px;height:26px;transform:translate(-30px,-50%) rotate(45deg);animation:flyby 14s linear infinite}
@keyframes flyby{0%{left:-4%}100%{left:104%}}
@media (prefers-reduced-motion: reduce){.fly-plane{animation:none;left:48%}}
[data-theme="dark"] .fly-plane path{fill:#F5F5F7}

/* ===== v182: mobile comfort ===== */
@media(max-width:760px){
  .hdr{flex-wrap:nowrap !important;gap:.4rem}
  .themebtn2{display:none}
  .signin{padding:.32rem .7rem;font-size:.78rem;margin-left:.3rem}
  .spothint{margin-left:.3rem}
  .tool-sel{font-size:.72rem;max-width:64px}
  .dpop.sheet{position:fixed !important;left:0 !important;right:0 !important;bottom:0 !important;top:auto !important;width:100% !important;max-height:86vh;overflow:auto;border-radius:22px 22px 0 0 !important;padding:1rem 1rem calc(1.2rem + env(safe-area-inset-bottom)) !important;box-shadow:0 -30px 80px -30px rgba(0,0,0,.5);animation:sheetUp .3s cubic-bezier(.28,.11,.32,1) both}
  .dpop.sheet .dpd{height:46px;font-size:1rem}
  .dpop.sheet .dp-hd b{font-size:1.15rem}
  body.dpsheet{overflow:hidden}
  .wfield{min-height:56px}
  .wfield input{font-size:1.05rem}
  .acbox{position:fixed !important;left:12px !important;right:12px !important;width:auto !important;max-height:46vh}
  .acit{height:52px;font-size:1rem}
  .wgo button{padding:1rem;font-size:1.1rem}
}
@keyframes sheetUp{from{transform:translateY(40px);opacity:.6}to{transform:none;opacity:1}}
html{scroll-padding-top:96px}
@media(max-width:760px){
  .o-foot{flex-wrap:nowrap;gap:1rem;overflow-x:auto}
  .o-foot .savebtn.cpy,.o-foot a.sharelnk:nth-of-type(2){display:none !important}
  .o-foot .cmp-check{white-space:nowrap}
}

/* ===== v183: search summary pill, visible everywhere ===== */
.hsum{background:rgba(255,255,255,.12) !important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16) !important;color:#F5F5F7 !important;padding:.45rem .5rem .45rem 1rem !important;gap:.6rem !important;min-width:0;flex:0 1 auto}
.hsum b{color:#F5F5F7 !important;font-weight:600;white-space:nowrap}
.hsum>span:not(.edit){color:rgba(245,245,247,.7) !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.hsum .edit{background:#fff !important;color:#0B0B0C !important;border-radius:999px;padding:.35rem .85rem;font-weight:600;font-size:.8rem;flex:0 0 auto}
.hsum:hover .edit{background:#E8C766 !important}
@media(max-width:760px){
  body.hasResults .signin,body.searched .signin,body.hasResults .spothint,body.searched .spothint{display:none !important}
  .hsum{order:0 !important;width:auto !important;flex:1 1 auto !important;margin:0 .3rem !important;padding:.4rem .4rem .4rem .8rem !important;font-size:.78rem !important}
  .hsum b{font-size:.82rem}
  .hsum>span:not(.edit){display:none}
  .hsum .edit{padding:.35rem .75rem;font-size:.78rem}
}
/* v184: currency always visible; header row accounting */
.hdr .tool-sel{flex:0 0 auto !important;min-width:58px;display:inline-block !important}
.hsum{max-width:calc(100% - 220px)}
@media(max-width:760px){
  .hsum{max-width:none;flex:1 1 auto !important;min-width:0}
  .hdr .tool-sel{min-width:54px;max-width:none !important;font-size:.72rem}
  .logo.lg2 .lg-word i{display:none}
}
@media(max-width:760px){
  body.hasResults .hsum,body.searched .hsum{max-width:calc(100vw - 170px) !important}
  .hdr{padding-right:.7rem !important}
}

@media(max-width:760px){
  body.hasResults .hdr,body.searched .hdr{display:grid !important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem}
  body.hasResults .hsum,body.searched .hsum{max-width:none !important;width:auto !important;margin:0 !important;overflow:hidden}
  body.hasResults .hsum b,body.searched .hsum b{overflow:hidden;text-overflow:ellipsis;min-width:0}
  body.hasResults .logo.lg2 .lg-word,body.searched .logo.lg2 .lg-word{display:inline;font-size:.82rem !important}
  body.hasResults .logo.lg2 .lg-word b,body.searched .logo.lg2 .lg-word b{font-size:.82rem !important}
  body.hasResults .logo.lg2 .lg-word i,body.searched .logo.lg2 .lg-word i{display:none}
  body.hasResults .lg-box,body.searched .lg-box{width:20px;height:20px}
  body.hasResults .hsum b,body.searched .hsum b{font-size:.74rem !important;letter-spacing:0}
  body.hasResults .hsum,body.searched .hsum{padding-left:.55rem !important;gap:.4rem !important}
  body.hasResults .hsum .edit,body.searched .hsum .edit{padding:.3rem .6rem;font-size:.72rem}
}
@media(max-width:374px){
  body.hasResults .hdr .tool-sel,body.searched .hdr .tool-sel{display:none !important}
}


/* ===== v195: fine typography + explore features (visa check, world fare map) ===== */
html body .hero-in h1{font-weight:600 !important;letter-spacing:-.028em !important}
html body .hero-in .sub,html body .hero-in .h1sub{font-weight:350 !important}
html body .fcbadge{font-weight:500 !important;letter-spacing:.01em}
.explore{max-width:1180px;margin:2.6rem auto 0;padding:0 1.5rem;display:grid;gap:16px}
.explore h2{font-weight:600;letter-spacing:-.02em;font-size:1.55rem;margin:0}
.vcard{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:1.8rem 1.9rem 1.7rem}
.vc-sub{margin:.45rem 0 1.2rem;color:var(--gray);font-weight:350;font-size:.95rem;max-width:640px}
.vc-row{display:flex;gap:12px;flex-wrap:wrap}
.vc-f{flex:1;min-width:220px;display:block;border:1px solid var(--line);border-radius:14px;padding:.55rem .9rem .6rem;background:var(--white)}
.vc-f span{display:block;font-size:.74rem;color:var(--gray);font-weight:500;margin-bottom:.1rem}
.vc-f select{width:100%;border:none;background:transparent;font-size:1.02rem;font-weight:560;color:var(--ink);outline:none;appearance:auto}
.vc-res{display:flex;align-items:flex-start;gap:.6rem;margin-top:1.1rem;padding:.85rem 1rem;border-radius:12px;background:var(--bg);border:1px solid var(--line);border-left:2px solid var(--blue);font-size:.96rem;line-height:1.45}
.vc-res[hidden]{display:none !important}
.vc-dot{flex:0 0 9px;width:9px;height:9px;border-radius:50%;margin-top:.4rem;background:var(--blue)}
.vc-res[data-k="V"] .vc-dot{background:var(--ink)}
.vc-res[data-k="C"] .vc-dot{background:var(--gray)}
.wmap{background:#1B2340;border-radius:22px;padding:1.7rem 1.9rem 1.2rem;overflow:hidden}
.wmap h2{color:#fff}
.wm-hd p{margin:.4rem 0 .9rem;color:rgba(255,255,255,.62);font-weight:350;font-size:.95rem}
.wmap svg{width:100%;height:auto;display:block}
.wm-pin{cursor:pointer}
.wm-pin text{font-weight:600}
@media(max-width:700px){.explore{padding:0 1rem;margin-top:1.8rem}.vcard,.wmap{padding:1.2rem 1.1rem;border-radius:16px}.explore h2{font-size:1.25rem}}
/* v196: explore row + guide teaser + map polish */
.ex-row{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.wmap{background:linear-gradient(165deg,#1A2440 0%,#141C33 100%)}
.gcard{display:flex;flex-direction:column;gap:.55rem;background:var(--white);border:1px solid var(--line);border-radius:22px;padding:1.7rem 1.7rem 1.6rem;text-decoration:none;color:var(--ink);transition:box-shadow .2s ease,transform .2s ease}
.gcard:hover{box-shadow:0 12px 40px -18px rgba(20,27,40,.25);transform:translateY(-2px)}
.gcard h2{font-size:1.45rem}
.gcard p{margin:0;color:var(--gray);font-weight:350;font-size:.95rem;line-height:1.5}
.gc-ic{margin-bottom:.2rem}
.gc-btn{margin-top:auto;align-self:flex-start;background:var(--ink);color:#fff;border-radius:999px;padding:.55rem 1.1rem;font-size:.9rem;font-weight:600}
[data-theme="dark"] .gc-btn{background:#EAF0FB;color:#141B28}
@media(max-width:900px){.ex-row{grid-template-columns:1fr}}

/* v197: map teaser card, ink icon, no green accents */
.wmap{position:relative;min-height:250px;display:flex;align-items:stretch}
.wm-copy{position:relative;z-index:2;max-width:52%;display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;padding:.2rem 0 .3rem}
.wm-copy p{margin:0;color:rgba(255,255,255,.66);font-weight:350;font-size:.96rem;line-height:1.55}
.wm-open{margin-top:auto;background:var(--accent);color:#141B28;border-radius:999px;padding:.6rem 1.25rem;font-size:.92rem;font-weight:650;text-decoration:none}
.wm-open:hover{background:#F4B24A}
.wm-tease{position:absolute;top:0;right:0;bottom:0;width:56%;height:100%;z-index:1}
.gc-ic{color:var(--ink)}
@media(max-width:900px){.wm-copy{max-width:60%}.wm-tease{width:52%;opacity:.8}}
/* v198: fully clickable teaser */
a.wmap{text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease}
a.wmap:hover{transform:translateY(-2px);box-shadow:0 18px 50px -22px rgba(10,16,40,.5)}

/* v199: hide planning tools once results are showing */
body.searched .explore,body.hasResults .explore{display:none}
/* v201: hero scene, in flow, all breakpoints */
.hero-scene{max-width:960px;margin:1.5rem auto .1rem;padding:0 .8rem;pointer-events:none}
.hero-scene svg{width:100%;height:auto;display:block}
body.searched .hero-scene{display:none}
@media(max-width:700px){.hero-scene{max-width:460px;margin:1rem auto 0}}
[data-theme="dark"] .hero-scene{opacity:.92}
/* v202: hero rhythm. Tighter top space, badge resurrected as a live-signal eyebrow */
html body .hero-in{padding-top:3.4rem !important}
html body .fcbadge{display:inline-flex;align-items:center;gap:.55rem;background:var(--white) !important;border:1px solid var(--line) !important;color:var(--ink2) !important;font-size:.78rem !important;font-weight:500 !important;letter-spacing:.02em !important;text-transform:none !important;padding:.5rem 1.05rem !important;margin-bottom:1.5rem;box-shadow:0 1px 2px rgba(20,27,40,.05);backdrop-filter:none}
html body .fcbadge::before{content:"";flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:#2A6BFF;box-shadow:0 0 0 0 rgba(42,107,255,.45);animation:bcPulse 2.6s ease-out infinite}
@keyframes bcPulse{0%{box-shadow:0 0 0 0 rgba(42,107,255,.4)}70%{box-shadow:0 0 0 9px rgba(42,107,255,0)}100%{box-shadow:0 0 0 0 rgba(42,107,255,0)}}
@media (prefers-reduced-motion: reduce){html body .fcbadge::before{animation:none}}
/* v203: excellence pass. Atmosphere, unified gradient, button physics, entrance rhythm */
html:not([data-theme="dark"]) body .sky{background:radial-gradient(1000px 480px at 50% -12%,rgba(42,107,255,.065),transparent 62%),radial-gradient(720px 320px at 84% 2%,rgba(122,92,255,.05),transparent 60%),#FAFBFE !important}
html body .hero-in h1{letter-spacing:-.034em !important;line-height:1.04 !important}
html body .hero-in h1 .hi{background:linear-gradient(92deg,#1B54E8 0%,#3D6FFF 46%,#7A5CFF 100%) !important;-webkit-background-clip:text !important;background-clip:text !important;-webkit-text-fill-color:transparent !important}
html body .hero-in .sub{max-width:620px;margin-left:auto !important;margin-right:auto !important}
html body .widget{border-color:rgba(42,107,255,.30) !important;box-shadow:0 1px 2px rgba(20,27,40,.04),0 28px 70px -36px rgba(27,84,232,.28) !important}
html body .widget .wgo>button{background:linear-gradient(180deg,#2F7CFF,#1B54E8) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 26px -10px rgba(27,84,232,.55) !important;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
html body .widget .wgo>button:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 14px 32px -10px rgba(27,84,232,.6) !important}
html body .widget .wgo>button:active{transform:translateY(0);filter:brightness(.98)}
html body .qroutes>*{transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
html body .qroutes>*:hover{border-color:rgba(42,107,255,.5);transform:translateY(-1px);box-shadow:0 6px 18px -12px rgba(20,27,40,.28)}
@media not (prefers-reduced-motion: reduce){
  html body .hero-in .fcbadge,html body .hero-in h1,html body .hero-in .h1sub,html body .hero-in .sub,html body .hero-scene{animation:bcRise .6s cubic-bezier(.2,.7,.2,1) both}
  html body .hero-in h1{animation-delay:.06s}
  html body .hero-in .h1sub{animation-delay:.11s}
  html body .hero-in .sub{animation-delay:.14s}
  html body .hero-scene{animation-delay:.2s}
}
@keyframes bcRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
/* v204: living hero scene + fare desk redesign */
.hero-scene .sc-jet{animation:scFloat 5.5s ease-in-out infinite}
@keyframes scFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.hero-scene .sc-arc,.hero-scene .sc-trail{animation:scDash 1.5s linear infinite}
@keyframes scDash{to{stroke-dashoffset:-24}}
@media (prefers-reduced-motion: reduce){.hero-scene .sc-jet,.hero-scene .sc-arc,.hero-scene .sc-trail{animation:none}}
html body .desknote{background:linear-gradient(155deg,#1D2534 0%,#12161F 100%) !important;border:1px solid rgba(232,160,32,.28) !important;border-radius:20px !important;box-shadow:0 34px 90px -34px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.03) inset !important;padding:1.25rem 1.3rem 1.15rem !important;overflow:hidden}
html body .desknote::before{content:"";position:absolute;top:0;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,rgba(242,193,78,.85),transparent)}
html body .desknote .dn-k{color:#E8C37A !important;font-size:.68rem !important;font-weight:650 !important;letter-spacing:.17em !important}
html body .desknote .dn-mark{background:linear-gradient(160deg,#F2C14E,#E8A020) !important;color:#141B28 !important;border-radius:11px !important}
html body .desknote p{color:#E9EDF5 !important;font-size:.97rem !important;line-height:1.62 !important;font-weight:380 !important;margin:.85rem 0 1rem !important}
html body .desknote p b{color:#FFD98E !important;font-weight:650 !important}
html body .desknote .dn-row a{background:linear-gradient(180deg,#F2C14E,#E8A020) !important;color:#141B28 !important;border-radius:999px !important;font-weight:700 !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 26px -10px rgba(232,160,32,.55) !important;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
html body .desknote .dn-row a:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 14px 30px -10px rgba(232,160,32,.6) !important}
html body .desknote .dn-row button{color:#8E99AD !important;background:transparent !important}
html body .desknote .dn-row button:hover{color:#C6CEDD !important}
html body .desknote .dn-x{background:rgba(255,255,255,.07) !important;color:#C6CEDD !important;border-radius:50% !important;transition:background .15s ease}
html body .desknote .dn-x:hover{background:rgba(255,255,255,.14) !important}
html body .desknote.show{animation:dnIn .5s cubic-bezier(.2,.9,.25,1.15) both}
@keyframes dnIn{from{opacity:0;transform:translateY(22px) scale(.96)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){html body .desknote.show{animation:none}}
/* v205: fare desk, concierge grade */
html body .desknote p b{background:rgba(232,160,32,.13);border:1px dashed rgba(242,193,78,.55);border-radius:8px;padding:.06rem .5rem;white-space:nowrap}
html body .desknote .dn-row a{position:relative;overflow:hidden;padding-left:2.5rem !important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 3.2c.6-.3 1.3 0 1.7.6l1.5 2.6c.4.6.3 1.4-.2 1.9l-1 1c.9 1.8 2.4 3.3 4.2 4.2l1-1c.5-.5 1.3-.6 1.9-.2l2.6 1.5c.6.4.9 1.1.6 1.7l-.8 1.9c-.3.7-1 1.1-1.7 1-6.3-.9-11.3-5.9-12.2-12.2-.1-.7.3-1.4 1-1.7z' fill='%23141B28'/%3E%3C/svg%3E"),linear-gradient(180deg,#F2C14E,#E8A020) !important;background-repeat:no-repeat;background-position:1.05rem 50%,0 0;background-size:16px 16px,100% 100%}
html body .desknote .dn-row a::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.5) 50%,transparent 68%);transform:translateX(-130%);animation:dnShine 4.8s ease-in-out infinite}
@keyframes dnShine{0%,58%{transform:translateX(-130%)}78%,100%{transform:translateX(130%)}}
html body .desknote::after{content:"";position:absolute;right:-6px;bottom:-4px;width:150px;height:74px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 74'%3E%3Cpath d='M6 64 C48 18 100 16 144 54' fill='none' stroke='%23F2C14E' stroke-width='2' stroke-dasharray='1 8' stroke-linecap='round'/%3E%3Cpath d='M144 54 l-9 -1.5 6 -5 z' fill='%23F2C14E'/%3E%3C/svg%3E") no-repeat;opacity:.28;pointer-events:none}
@media (prefers-reduced-motion: reduce){html body .desknote .dn-row a::after{animation:none}}
/* v206: bigger scene on mobile, results declutter, warm popup, ivory phone band */
@media(max-width:700px){.hero-scene{max-width:600px !important;margin:1.1rem auto 0 !important;padding:0 .4rem}}
html body .sumtab{padding:.65rem 1rem !important}
html body .sumtab .n{font-weight:500 !important;font-size:.85rem !important}
html body .sumtabs{margin-bottom:.7rem !important}
html body .cmpbtn{background:transparent !important;color:var(--ink) !important;border:1px solid var(--line) !important;box-shadow:none !important;font-weight:500 !important}
html body .cmpbtn:hover{border-color:rgba(42,107,255,.45) !important}
html body .pfbar button,html body .pfbar .fg-t{font-weight:500;font-size:.88rem}
html body .desknote .dn-mark{box-shadow:0 4px 12px -4px rgba(232,160,32,.5)}
/* v207: CTA icon fix (one consolidated shorthand), refined dark card stands, segmented sort tabs */
html body .desknote .dn-row a{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 3.2c.6-.3 1.3 0 1.7.6l1.5 2.6c.4.6.3 1.4-.2 1.9l-1 1c.9 1.8 2.4 3.3 4.2 4.2l1-1c.5-.5 1.3-.6 1.9-.2l2.6 1.5c.6.4.9 1.1.6 1.7l-.8 1.9c-.3.7-1 1.1-1.7 1-6.3-.9-11.3-5.9-12.2-12.2-.1-.7.3-1.4 1-1.7z' fill='%23141B28'/%3E%3C/svg%3E") no-repeat 1.05rem 50%/16px 16px,linear-gradient(180deg,#F2C14E,#E8A020) !important}
html body .sumtabs{display:flex;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:4px;gap:4px;box-shadow:0 1px 2px rgba(20,27,40,.04)}
html body .sumtab{flex:1;border:none !important;border-radius:12px !important;background:transparent !important;padding:.62rem .95rem !important;text-align:left;box-shadow:none !important}
html body .sumtab.on{background:#F1F5FD !important;box-shadow:inset 0 0 0 1px rgba(42,107,255,.38) !important}
html body .sumtab .n{font-size:.7rem !important;letter-spacing:.09em;text-transform:uppercase;font-weight:600 !important;color:var(--gray) !important}
html body .sumtab.on .n{color:#1B54E8 !important}
html body .sumtab .v{font-size:1.08rem;font-weight:650;letter-spacing:-.01em;margin-top:.1rem}
html body .sumtab .d{font-size:.78rem;color:var(--gray);font-weight:400;margin-top:.05rem}
@media(max-width:700px){html body .sumtab{padding:.5rem .6rem !important}html body .sumtab .v{font-size:.95rem}}
/* v209: modern light fare board, larger mobile scene */
@media(max-width:700px){.hero-scene{max-width:640px !important}}
html body .board{background:var(--white) !important;border:1px solid var(--line) !important;border-radius:16px !important;box-shadow:0 1px 2px rgba(20,27,40,.04),0 16px 44px -28px rgba(27,84,232,.22) !important;overflow:hidden}
html body .board .bd-hd{background:transparent !important;border-bottom:1px solid var(--line);padding:.8rem 1.1rem !important}
html body .board .bd-hd span:first-child{color:var(--ink) !important;font-weight:600 !important;font-size:.9rem !important;letter-spacing:-.01em;text-transform:none !important}
html body .board .bd-live{color:#1B54E8 !important;font-size:.66rem !important;font-weight:600 !important;letter-spacing:.1em}
html body .board .bd-live::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#1B54E8;margin-right:.4rem;vertical-align:1px;animation:bcPulse 2.6s ease-out infinite}
html body .board .bd-r{background:transparent !important;border:none !important;border-bottom:1px solid var(--line) !important;padding:.72rem 1.1rem !important;transition:background .15s ease}
html body .board .bd-r:last-child{border-bottom:none !important}
html body .board .bd-r:hover{background:#F6F9FF !important}
html body .board .bd-c{color:var(--ink2) !important;font-weight:600 !important;font-size:.8rem !important;letter-spacing:.05em !important}
html body .board .bd-a{color:var(--gray) !important}
html body .board .bd-p{color:#1B54E8 !important;font-weight:650 !important;font-size:.88rem !important;letter-spacing:0 !important}
/* v210: remove legacy duplicate departures board; one modern fare board only */
html body #board{display:none !important}
/* v211: scene aligned to the main grid; fare board, 2027 finish */
.hero-scene{max-width:1180px !important;padding:0 1.5rem !important}
@media(max-width:700px){.hero-scene{max-width:640px !important;padding:0 .6rem !important}}
html body .board{position:relative}
html body .board::before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(42,107,255,.55),transparent)}
html body .board .bd-c{font-weight:550 !important;letter-spacing:.04em !important}
html body .board .bd-p{background:rgba(27,84,232,.08);border-radius:999px;padding:.28rem .75rem}
html body .board .bd-r{display:flex;align-items:center;gap:.6rem;position:relative;padding-right:2rem !important}
html body .board .bd-r::after{content:"\203A";position:absolute;right:1rem;color:var(--gray);opacity:.5;font-size:1.05rem;transition:transform .15s ease,color .15s ease,opacity .15s ease}
html body .board .bd-r:hover::after{color:#1B54E8;opacity:1;transform:translateX(2px)}
/* v212: board price right-aligned in the flex row */
html body .board .bd-p{margin-left:auto}
html body .board .bd-a{flex:0 0 auto}
/* v213: aurora board, gradient prices, highlighted fare calendar */
@property --bcAng{syntax:'<angle>';initial-value:0deg;inherits:false}
html body .board{border:1px solid transparent !important;background:linear-gradient(var(--white),var(--white)) padding-box,conic-gradient(from var(--bcAng),#1B54E8,#7A5CFF,#9CC0FF,#2A6BFF,#1B54E8) border-box !important;animation:bcAur 10s linear infinite}
@keyframes bcAur{to{--bcAng:360deg}}
@media (prefers-reduced-motion: reduce){html body .board{animation:none}}
html body .board .bd-p{background:linear-gradient(92deg,#1B54E8,#7A5CFF) !important;-webkit-background-clip:text !important;background-clip:text !important;-webkit-text-fill-color:transparent !important;box-shadow:inset 0 0 0 60px rgba(27,84,232,.06);border:1px solid rgba(106,77,232,.22)}
html body .board .bd-r{transition:background .15s ease,transform .15s ease,box-shadow .15s ease}
html body .board .bd-r:hover{transform:translateY(-1px);box-shadow:0 8px 24px -16px rgba(27,84,232,.35)}
html body .calbtn{background:rgba(27,84,232,.08) !important;color:#1B54E8 !important;border:1px solid rgba(27,84,232,.3) !important;border-radius:999px !important;font-weight:600 !important;box-shadow:0 1px 2px rgba(20,27,40,.04)}
html body .calbtn:hover{background:rgba(27,84,232,.14) !important;border-color:rgba(27,84,232,.5) !important}
/* v214: fare rows as floating cards; mobile calendar as bottom sheet */
html body .board .bd-rows{display:flex;flex-direction:column;gap:10px;padding:.9rem 1rem 1.1rem}
html body .board .bd-r{border:1px solid var(--line) !important;border-radius:14px !important;background:var(--white) !important;box-shadow:0 1px 2px rgba(20,27,40,.03);padding:.8rem 1rem !important}
html body .board .bd-r:hover{border-color:rgba(42,107,255,.45) !important;box-shadow:0 10px 30px -18px rgba(27,84,232,.4)}
html body .board .bd-c{background:#F3F6FC;border-radius:9px;padding:.34rem .6rem;letter-spacing:.03em !important}
[data-theme="dark"] html body .board .bd-c,html[data-theme="dark"] body .board .bd-c{background:#1B2842}
html body .board .bd-a{animation:bdArrow 1.8s ease-in-out infinite}
@keyframes bdArrow{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}
@media (prefers-reduced-motion: reduce){html body .board .bd-a{animation:none}}
@media(max-width:700px){
  html body .board .bd-c{padding:.28rem .45rem;font-size:.72rem !important}
}
/* v215: mobile fare cards layout; .com restored on mobile */
@media(max-width:700px){
  html body .board .bd-rows{gap:8px;padding:.7rem .7rem .9rem}
  html body .board .bd-r{flex-wrap:wrap;gap:.45rem;padding:.68rem .8rem !important;padding-right:1.7rem !important}
  html body .board .bd-c{font-size:.7rem !important;padding:.26rem .45rem}
  html body .board .bd-p{font-size:.82rem !important;padding:.24rem .6rem;flex:0 0 auto}
  html body .board .bd-r::after{right:.55rem}
  html body .brand .tld,html body .logo .tld,html body header .tld{display:inline !important}
}
@media(max-width:700px){html body .lg-word i{display:inline !important;font-style:normal}}
/* v216: modern tight caps; mobile rows as explicit grid (no overlap possible) */
html body .board .bd-c{letter-spacing:.01em !important;font-size:.82rem !important;font-weight:600 !important}
@media(max-width:700px){
  html body .board .bd-r{display:grid !important;grid-template-columns:auto auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:.5rem;row-gap:.55rem}
  html body .board .bd-r > .bd-c:first-child{grid-column:1;grid-row:1}
  html body .board .bd-r > .bd-a{grid-column:2;grid-row:1}
  html body .board .bd-r > .bd-c:nth-of-type(2){grid-column:3;grid-row:1;justify-self:start}
  html body .board .bd-r > .bd-p{grid-column:1 / -1;grid-row:2;justify-self:end;margin-left:0 !important}
}
/* v217: mobile board text can never truncate or collide; header wraps cleanly */
@media(max-width:700px){
  html body .board .bd-c{white-space:normal !important;overflow:visible !important;text-overflow:clip !important;min-width:0;line-height:1.25}
  html body .board .bd-r > .bd-c:nth-of-type(2){justify-self:start;max-width:100%}
  html body .board .bd-hd{display:flex;flex-wrap:wrap;gap:.35rem .6rem;align-items:baseline}
  html body .board .bd-hd span:first-child{flex:1 1 100%}
  html body .board .bd-live{white-space:normal !important;overflow:visible !important;text-overflow:clip !important;letter-spacing:.06em !important}
  html body .gmodal .gm-card{max-height:88vh;overflow:auto;border-radius:20px}
}
/* v218: boarding-pass fare rows */
@media(min-width:701px){
  html body .board .bd-r{position:relative;overflow:hidden;padding:0 !important;padding-right:0 !important;align-items:stretch !important;gap:0 !important}
  html body .board .bd-r::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#1B54E8,#7A5CFF)}
  html body .board .bd-r > .bd-c:first-child{margin-left:1.1rem}
  html body .board .bd-r > .bd-c,html body .board .bd-r > .bd-a{align-self:center}
  html body .board .bd-p{margin-left:auto !important;align-self:stretch;display:flex;align-items:center;border-radius:0 !important;border:none !important;border-left:1.6px dashed rgba(20,27,40,.22) !important;background:linear-gradient(92deg,#1B54E8,#7A5CFF) !important;-webkit-background-clip:text !important;background-clip:text !important;box-shadow:inset 0 0 0 200px rgba(27,84,232,.05);padding:.9rem 2.2rem .9rem 1.2rem !important}
  html body .board .bd-r::after{right:.75rem}
}
@media(max-width:700px){
  html body .board .bd-r{position:relative}
  html body .board .bd-r::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:linear-gradient(180deg,#1B54E8,#7A5CFF)}
  html body .board .bd-p{border-top:1.6px dashed rgba(20,27,40,.2);width:100%;justify-self:stretch !important;text-align:right;border-radius:0 !important;border-left:none !important;border-right:none !important;border-bottom:none !important;padding:.55rem 0 0 !important;box-shadow:none}
}
/* v219: trust line + unmistakable board refresh (gradient canvas, staggered rows) */
html body .desknote .dn-trust{display:flex;align-items:flex-start;gap:.45rem;margin:.75rem 0 0 !important;font-size:.76rem !important;line-height:1.5 !important;color:#93A0B5 !important;font-weight:400 !important}
html body .desknote .dn-trust svg{flex:0 0 13px;margin-top:.15rem;color:#E8C37A}
html body .board{background:linear-gradient(180deg,var(--white) 0%,#F7FAFF 100%) padding-box,conic-gradient(from var(--bcAng),#1B54E8,#7A5CFF,#9CC0FF,#2A6BFF,#1B54E8) border-box !important}
html body .board .bd-r{animation:bdIn .5s cubic-bezier(.2,.7,.2,1) both}
html body .board .bd-r:nth-child(2){animation-delay:.07s}
html body .board .bd-r:nth-child(3){animation-delay:.14s}
html body .board .bd-r:nth-child(4){animation-delay:.21s}
html body .board .bd-r:nth-child(5){animation-delay:.28s}
@keyframes bdIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){html body .board .bd-r{animation:none}}
/* v220: ribbon trust badge; board joins the premium dark+gold family */
html body .pribbon{flex-wrap:wrap}
html body .pribbon .pr-trust{display:flex;align-items:center;gap:.4rem;flex-basis:100%;margin-top:.4rem;font-size:.72rem;font-weight:400;color:rgba(255,255,255,.6)}
html body .pribbon .pr-trust svg{color:#F2C14E;flex:0 0 12px}
/* v223: board, the final cut. Punched stubs, ticket mark, true elevation */
html body .board{box-shadow:0 1px 2px rgba(20,27,40,.05),0 34px 90px -44px rgba(27,84,232,.4) !important}
html body .board .bd-hd span:first-child{font-size:1rem !important;display:inline-flex;align-items:center;gap:.5rem}
html body .board .bd-hd span:first-child::before{content:"";width:17px;height:13px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 18'%3E%3Cpath d='M2 4 C2 2.9 2.9 2 4 2 L20 2 C21.1 2 22 2.9 22 4 L22 6.5 C20.6 6.5 19.5 7.6 19.5 9 C19.5 10.4 20.6 11.5 22 11.5 L22 14 C22 15.1 21.1 16 20 16 L4 16 C2.9 16 2 15.1 2 14 L2 11.5 C3.4 11.5 4.5 10.4 4.5 9 C4.5 7.6 3.4 6.5 2 6.5 Z' fill='%23E8A020'/%3E%3C/svg%3E") no-repeat center/contain}
@media(min-width:701px){
  html body .board .bd-r{box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 1px 2px rgba(20,27,40,.03)}
  html body .board .bd-p{position:relative}
  html body .board .bd-p::before,html body .board .bd-p::after{content:"";position:absolute;left:-7px;width:13px;height:13px;border-radius:50%;background:#F8FAFE;border:1px solid var(--line)}
  html body .board .bd-p::before{top:-7px}
  html body .board .bd-p::after{bottom:-7px}
  html body .board .bd-r:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 32px -18px rgba(27,84,232,.45) !important}
}
/* v227: the cabin comes alive */
.hero-scene .pax{animation:paxJoy 3.6s ease-in-out infinite}
.hero-scene .pax:nth-of-type(2){animation-delay:.5s}
.hero-scene .pax:nth-of-type(3){animation-delay:1s}
.hero-scene .pax:nth-of-type(4){animation-delay:1.5s}
@keyframes paxJoy{0%,100%{transform:translateY(0)}50%{transform:translateY(-3.5px)}}
.hero-scene svg>g:nth-of-type(9){animation:crewServe 9s ease-in-out infinite}
.hero-scene svg>g:nth-of-type(10){animation:crewServe 9s ease-in-out infinite 4.5s}
@keyframes crewServe{0%{transform:translate(0,0)}22%{transform:translate(30px,-2px)}50%{transform:translate(58px,0)}72%{transform:translate(30px,-2px)}100%{transform:translate(0,0)}}
.hero-scene svg>g:nth-of-type(8){animation:pengBounce 2.4s ease-in-out infinite}
@keyframes pengBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media (prefers-reduced-motion: reduce){.hero-scene .pax,.hero-scene svg>g{animation:none !important}}

/* v228: bigger stage, walking crews */
.hero-scene{overflow:visible}
.hero-scene svg{transform:scale(1.13);transform-origin:50% 46%}
@media(max-width:700px){.hero-scene svg{transform:scale(1.04)}}
/* v229: professional trust band replaces the illustration */
.hero-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:0;max-width:1180px;margin:1.9rem auto .3rem;padding:1.3rem .4rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ht-i{padding:0 1.4rem;display:flex;flex-direction:column;gap:.35rem;border-left:1px solid var(--line)}
.ht-i:first-child{border-left:none}
.ht-i svg{width:22px;height:22px;margin-bottom:.15rem;color:var(--ink)}
.ht-i b{font-size:.92rem;font-weight:600;letter-spacing:-.01em;color:var(--ink)}
.ht-i span{font-size:.8rem;font-weight:350;line-height:1.5;color:var(--gray)}
body.searched .hero-trust{display:none}
@media(max-width:900px){.hero-trust{grid-template-columns:1fr 1fr;gap:1.1rem 0;padding:1.1rem .2rem}.ht-i:nth-child(3){border-left:none}}
@media(max-width:480px){.ht-i{padding:0 .9rem}}
/* v230: cinematic flight band */
.hero-scene .cl1{animation:clDrift 26s ease-in-out infinite alternate}
.hero-scene .cl2{animation:clDrift 38s ease-in-out infinite alternate-reverse}
@keyframes clDrift{from{transform:translateX(-26px)}to{transform:translateX(26px)}}
@media (prefers-reduced-motion: reduce){.hero-scene .cl1,.hero-scene .cl2{animation:none}}
/* v234: world routes band. The map is the message */
.hero-scene.hero-globe{max-width:840px !important;margin:1.6rem auto .2rem !important;padding:0 1rem !important}
.hero-scene.hero-globe svg{transform:none !important}
@media(max-width:700px){.hero-scene.hero-globe{max-width:520px !important}}
/* v236: golden-hour vista with the brand ribbon */
.hero-scene.hero-vista{max-width:1180px !important;margin:1.7rem auto .2rem !important;padding:0 1.5rem !important;overflow:visible}
.hero-scene.hero-vista svg{transform:none !important;filter:drop-shadow(0 24px 50px rgba(120,86,40,.22))}
@media(max-width:700px){.hero-scene.hero-vista{padding:0 .8rem !important;margin-top:1.2rem !important}}
/* v237: living blue hairline around the chat tab */
html body .chatfab{border:1px solid transparent !important;background:linear-gradient(#141B28,#141B28) padding-box,conic-gradient(from var(--bcAng),#1B54E8,#9CC0FF,#7A5CFF,#1B54E8) border-box !important;animation:bcAur 8s linear infinite;box-shadow:0 8px 26px -10px rgba(27,84,232,.5) !important}
@media (prefers-reduced-motion: reduce){html body .chatfab{animation:none}}
/* v239: cabin gallery */
.cabgal{max-width:1180px;margin:2.8rem auto 0;padding:0 1.5rem}
.cabgal h2{font-weight:600;letter-spacing:-.02em;font-size:1.55rem;margin:0}
.cg-sub{margin:.45rem 0 1.2rem;color:var(--gray);font-weight:350;font-size:.95rem}
.cg-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:start}
.cg-row img{width:100%;height:330px;object-fit:cover;border-radius:18px;display:block;transition:transform .25s ease,box-shadow .25s ease}
.cg-row img:nth-child(even){height:296px;margin-top:17px}
.cg-row img:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 18px 44px -22px rgba(20,27,40,.45)}
body.searched .cabgal,body.hasResults .cabgal{display:none}
@media(max-width:900px){
  .cabgal{padding:0 0 0 1rem}
  .cg-row{display:flex;overflow-x:auto;gap:10px;scroll-snap-type:x mandatory;padding-bottom:.6rem;-webkit-overflow-scrolling:touch}
  .cg-row img,.cg-row img:nth-child(even){flex:0 0 68vw;height:300px;margin-top:0;scroll-snap-align:start;border-radius:14px}
}
/* v240: gliding cabin gallery */
.cg-row{display:block !important;overflow:hidden;border-radius:20px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.cg-track{display:flex;gap:14px;width:max-content;animation:cgGlide 44s linear infinite;will-change:transform}
.cg-row:hover .cg-track{animation-play-state:paused}
.cg-track img{flex:0 0 auto;width:300px;height:350px !important;margin-top:0 !important;object-fit:cover;border-radius:18px}
@keyframes cgGlide{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 7px))}}
@media(max-width:700px){.cg-track img{width:240px;height:300px !important}.cg-track{animation-duration:34s}}
@media (prefers-reduced-motion: reduce){.cg-track{animation:none;overflow-x:auto}}
/* v241: cabin strip above the search box. In flow, collision-proof */
.hero-strip2{display:flex;justify-content:center;align-items:flex-end;gap:12px;margin:1.5rem auto 1.9rem;padding:0 1rem;max-width:1180px}
.hero-strip2 img{height:172px;width:auto;object-fit:cover;border-radius:16px;box-shadow:0 14px 34px -18px rgba(20,27,40,.35);transition:transform .22s ease,box-shadow .22s ease;animation:bcRise .6s cubic-bezier(.2,.7,.2,1) both}
.hero-strip2 img:nth-child(2){animation-delay:.08s;height:186px}
.hero-strip2 img:nth-child(3){animation-delay:.16s;height:186px}
.hero-strip2 img:nth-child(4){animation-delay:.24s}
.hero-strip2 img:hover{transform:translateY(-4px);box-shadow:0 22px 48px -20px rgba(27,84,232,.4)}
body.searched .hero-strip2{display:none}
@media(max-width:700px){
  .hero-strip2{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0 .9rem;margin:1.1rem auto 1.4rem}
  .hero-strip2 img,.hero-strip2 img:nth-child(2),.hero-strip2 img:nth-child(3){height:150px;width:100%;animation-delay:0s}
}
@media (prefers-reduced-motion: reduce){.hero-strip2 img{animation:none}}
/* v242: hero strip enlarged; longer richer reel */
.hero-strip2 img{height:232px !important}
.hero-strip2 img:nth-child(2),.hero-strip2 img:nth-child(3){height:252px !important}
.hero-strip2{gap:14px;margin:1.7rem auto 2.1rem}
@media(max-width:700px){.hero-strip2 img,.hero-strip2 img:nth-child(2),.hero-strip2 img:nth-child(3){height:172px !important}}
.cg-track{animation-duration:78s}
@media(max-width:700px){.cg-track{animation-duration:56s}}
/* v243: separated reels, counter-gliding */
.cg-track{animation-duration:52s}
.cg-track.rev{animation-direction:reverse}
.destgal{margin-top:1.5rem}
@media(max-width:700px){.cg-track{animation-duration:38s}}
/* v244: fare report photo, calmer reel scale */
html body .frband .fr-in{display:flex;align-items:center;gap:2rem;max-width:1180px;margin:0 auto;flex-wrap:wrap}
html body .fr-img{width:210px;height:150px;object-fit:cover;border-radius:16px;box-shadow:0 16px 40px -18px rgba(0,0,0,.55);flex:0 0 auto}
html body .frband .fr-l{flex:1;min-width:260px}
.cg-track img{width:258px;height:300px !important}
@media(max-width:700px){.cg-track img{width:212px;height:258px !important}}
/* v245: world class pass. Compact hero strip (single row everywhere), smaller reels */
.hero-strip2 img{height:198px !important}
.hero-strip2 img:nth-child(2),.hero-strip2 img:nth-child(3){height:214px !important}
@media(max-width:700px){
  .hero-strip2{display:flex !important;grid-template-columns:none;justify-content:center;gap:6px;padding:0 .6rem;margin:1rem auto 1.2rem}
  .hero-strip2 img,.hero-strip2 img:nth-child(2),.hero-strip2 img:nth-child(3),.hero-strip2 img:nth-child(4){height:104px !important;width:auto;border-radius:10px}
}
.cg-track img{width:222px;height:258px !important}
.cabgal{margin-top:2.1rem}
.destgal{margin-top:1.2rem}
@media(max-width:700px){.cg-track img{width:166px;height:202px !important}.cabgal{margin-top:1.5rem}}
/* v246: fare report photo uncropped portrait; hero strip breathes */
html body .fr-img{width:152px;height:200px;object-fit:cover;object-position:50% 42%;border-radius:14px}
@media not (prefers-reduced-motion: reduce){
  .hero-strip2 img{animation:bcRise .6s cubic-bezier(.2,.7,.2,1) both, hsBreathe 9s ease-in-out infinite}
  .hero-strip2 img:nth-child(1){animation-delay:0s,.6s}
  .hero-strip2 img:nth-child(2){animation-delay:.08s,2.8s}
  .hero-strip2 img:nth-child(3){animation-delay:.16s,5s}
  .hero-strip2 img:nth-child(4){animation-delay:.24s,7.2s}
}
@keyframes hsBreathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.025)}}
.hero-strip2 img:hover{transform:translateY(-4px) scale(1.03) !important;animation-play-state:paused}
/* v247: fare report keeps desktop composition on mobile; reels glide together */
@media(max-width:700px){
  html body .frband .fr-in{flex-wrap:wrap;gap:1rem 1.1rem;align-items:center}
  html body .fr-img{width:110px;height:146px;margin:0;border-radius:12px}
  html body .frband .fr-l{flex:1;min-width:0;margin:0}
  html body .frband .fr-l h2{font-size:1.15rem}
  html body .frband .fr-l p{font-size:.85rem}
  html body .frband .fr-f{flex-basis:100%}
}
.cg-track.rev{animation-direction:normal;animation-delay:-26s}

/* v248: fare report layout, authoritative on every screen */
html body .frband .fr-in{display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;align-items:center !important;gap:1.6rem !important;max-width:1180px;margin:0 auto !important}
html body .fr-img{display:block !important;flex:0 0 auto !important;width:152px !important;height:200px !important;object-fit:cover !important;border-radius:14px !important}
html body .frband .fr-l{flex:1 1 260px !important;min-width:0 !important;margin:0 !important}
html body .frband .fr-f{flex:1 1 100% !important;max-width:520px}
@media(max-width:700px){
  html body .frband{padding:2.2rem 1.1rem !important}
  html body .frband .fr-in{gap:1rem !important}
  html body .fr-img{width:106px !important;height:142px !important;border-radius:12px !important}
  html body .frband .fr-l h2{font-size:1.12rem !important;margin:0 0 .3rem !important}
  html body .frband .fr-l p{font-size:.84rem !important;margin:0 !important}
  html body .frband .fr-f{max-width:none}
}
/* v249: photo and copy share the row on phones; reels trimmed again */
@media(max-width:700px){
  html body .fr-img{width:96px !important;height:128px !important}
  html body .frband .fr-l{flex:1 1 0 !important;min-width:0 !important}
}
.cg-track img{width:188px;height:218px !important}
@media(max-width:700px){.cg-track img{width:136px;height:166px !important}.cg-track{gap:10px}}
/* v250: sleeker fare report band; refined loading theater */
html body .frband{padding:2rem 1.5rem !important}
html body .fr-img{width:118px !important;height:156px !important}
html body .frband .fr-l h2{font-size:1.25rem !important;letter-spacing:-.015em;margin:0 0 .25rem !important}
html body .frband .fr-l p{font-size:.86rem !important;font-weight:350;opacity:.85}
html body .frband .fr-in{gap:1.4rem !important}
html body .frband .fr-f input{border-radius:999px}
@media(max-width:700px){html body .frband{padding:1.5rem 1.1rem !important}html body .fr-img{width:84px !important;height:112px !important}}
html body .searching b{font-weight:500;font-size:.92rem;letter-spacing:0;font-style:normal;color:var(--ink2)}
/* v252: dark mode toggle on every screen; guide card photo, natural aspect */
html body .dark-btn{display:inline-flex !important;align-items:center;justify-content:center}
.gc-ph{width:118px;height:auto;border-radius:12px;box-shadow:0 12px 30px -14px rgba(20,27,40,.4);margin-bottom:.3rem}
@media(max-width:700px){.gc-ph{width:104px}}
/* v253: mobile repairs. Toggle as corner chip, guide card in a row, readable map teaser */
@media(max-width:700px){
  html body .dark-btn{position:fixed !important;left:.9rem;bottom:.95rem;z-index:900;width:42px !important;height:42px !important;font-size:1rem !important;background:rgba(20,27,40,.88) !important;border:1px solid rgba(255,255,255,.3) !important;color:#fff !important;box-shadow:0 8px 24px -8px rgba(0,0,0,.5)}
  html body .gcard{display:grid !important;grid-template-columns:auto 1fr;column-gap:.95rem;row-gap:.3rem;align-items:center;padding:1.1rem 1.1rem 1rem}
  html body .gc-ph{grid-row:1/3;width:92px;margin:0}
  html body .gcard h2{grid-column:2;font-size:1.2rem;margin:0}
  html body .gcard p{grid-column:2;margin:0;font-size:.85rem}
  html body .gc-btn{grid-column:1/-1;justify-self:start;margin-top:.55rem}
  html body .wm-tease{opacity:.3 !important;width:100% !important}
  html body .wm-copy{max-width:100% !important}
}
/* v255: navy concierge system, slimmer ribbon and popup */
html body .desknote{max-width:344px !important;padding:1rem 1.1rem .95rem !important;background:linear-gradient(155deg,#1D2B4E 0%,#121D39 100%) !important;border:1px solid rgba(122,150,255,.32) !important;box-shadow:0 30px 80px -32px rgba(10,20,60,.65),0 0 0 1px rgba(255,255,255,.03) inset !important}
html body .desknote::before{background:linear-gradient(90deg,transparent,rgba(156,192,255,.85),transparent)}
html body .desknote .dn-k{color:#9CC0FF !important;font-size:.64rem !important}
html body .desknote .dn-mark{background:linear-gradient(160deg,#3D6FFF,#1B54E8) !important;color:#FFFFFF !important}
html body .desknote p{font-size:.9rem !important;margin:.7rem 0 .85rem !important}
html body .desknote .dn-row a{padding-top:.5rem !important;padding-bottom:.5rem !important;font-size:.9rem !important}
html body .desknote .dn-trust{font-size:.7rem !important;margin-top:.6rem !important}
html body .pribbon{background:linear-gradient(90deg,#1C2A4A,#141F3C) !important;border:1px solid rgba(122,150,255,.28) !important;padding:.85rem 1.15rem !important;border-radius:14px !important}
html body .pribbon .pr-trust{margin-top:.3rem;font-size:.68rem}
@media(max-width:700px){html body .pribbon{padding:.75rem .9rem !important}}
/* v256: one toggle per platform, forever. Desktop keeps its original control; mobile keeps the corner chip */
@media(min-width:701px){html body .dark-btn{display:none !important}}
/* v257: compact planning row and fare band */
html body .wmap{min-height:168px !important;padding:1.15rem 1.35rem !important}
html body .wmap h2{font-size:1.28rem !important}
html body .wm-copy{gap:.4rem}
html body .wm-copy p{font-size:.87rem !important;line-height:1.45}
html body .wm-open{padding:.5rem 1rem;font-size:.85rem}
html body .gcard{padding:1.1rem 1.2rem 1.05rem !important;gap:.4rem !important}
html body .gcard h2{font-size:1.24rem !important}
html body .gcard p{font-size:.87rem !important}
html body .gc-ph{width:90px !important}
html body .gc-btn{padding:.48rem .95rem;font-size:.84rem}
html body .vcard{padding:1.25rem 1.4rem 1.2rem !important}
html body .vcard h2{font-size:1.28rem !important}
.explore{gap:12px !important;margin-top:2rem !important}
html body .frband{padding:1.35rem 1.5rem !important}
html body .fr-img{width:98px !important;height:130px !important}
html body .frband .fr-in{gap:1.1rem !important}
/* v258: planning row done properly. No phantom outer card, both tiles full height */
html body section.explore{background:transparent !important;border:none !important;box-shadow:none !important;border-radius:0 !important;padding:0 1.5rem !important;margin:2rem auto 0 !important}
.ex-row{align-items:stretch !important}
html body .wmap{height:100%;min-height:190px !important;box-sizing:border-box}
html body .gcard{height:100%;box-sizing:border-box;justify-content:center}
@media(max-width:900px){html body .wmap,html body .gcard{height:auto}}
@media(max-width:700px){html body section.explore{padding:0 1rem !important}}
/* v259: fare report photo at natural aspect, never cropped */
html body .fr-img{width:92px !important;height:auto !important;object-fit:unset !important;object-position:unset !important}
@media(max-width:700px){html body .fr-img{width:76px !important;height:auto !important}}
/* v260: one motion source. Cabins glide; destinations are still postcards */
.cg-link{margin:1.05rem 0 .65rem;color:var(--gray);font-weight:350;font-size:.94rem;letter-spacing:-.005em}
.dest-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.dest-row img{width:100%;height:152px;object-fit:cover;border-radius:14px;display:block;transition:transform .22s ease,box-shadow .22s ease}
.dest-row img:hover{transform:translateY(-3px);box-shadow:0 16px 36px -18px rgba(20,27,40,.4)}
@media(max-width:700px){.dest-row{grid-template-columns:repeat(2,1fr);gap:8px}.dest-row img{height:118px;border-radius:11px}}
/* v266: sale pop accents in ink, not green */
html body .bc-pop .bp-k{color:var(--ink) !important}
html body .bc-pop .deal-tag{background:rgba(20,27,40,.08) !important;color:var(--ink) !important}
html body .bc-pop b,html body .bc-pop strong{color:var(--ink)}
/* v267: results header decluttered */
html body .pfbar{display:flex !important;flex-wrap:wrap;align-items:center;gap:.5rem .55rem;padding:.7rem .9rem !important;min-height:0 !important}
html body .pfbar .cmpbtn{margin-left:auto !important;order:98}
html body .pfbar .cmpbtn + *{order:99}
html body main .stats{font-size:.95rem;color:var(--gray);font-weight:400}
html body main .stats b,html body main .stats strong{color:var(--ink);font-weight:600}
html body .calbtn{padding:.4rem .85rem !important;font-size:.82rem !important}
html body main h1{letter-spacing:-.03em;margin-bottom:.35rem}
html body .sumtabs{margin-top:.55rem !important}
/* v268: no Gold branding; calendar greens to brand blue; deal tags to ink */
html body .gm-k{display:none !important}
html body .cald.best{background:rgba(27,84,232,.12) !important;border-color:#1B54E8 !important}
html body .cald.best .dp{color:#1B54E8 !important}
html body .deal-tag{background:rgba(20,27,40,.08) !important;color:var(--ink) !important}
/* v269: my pass. Living atmosphere, flowing gradient ink, focus reel, reveal choreography, jewel focus rings */
.sky{position:relative}
.sky::after{content:"";position:absolute;inset:-15%;pointer-events:none;z-index:0;background:radial-gradient(620px 300px at 18% 28%,rgba(122,92,255,.07),transparent 62%),radial-gradient(720px 340px at 82% 16%,rgba(42,107,255,.08),transparent 62%);animation:skyDrift 17s ease-in-out infinite alternate}
@keyframes skyDrift{from{transform:translate3d(-2%,-1%,0)}to{transform:translate3d(2%,2%,0)}}
html body .hero-in h1 .hi{background-size:220% 100% !important;animation:hiFlow 9s ease-in-out infinite alternate}
@keyframes hiFlow{from{background-position:0% 50%}to{background-position:100% 50%}}
.cg-row:hover .cg-track img{opacity:.5;transition:opacity .3s ease,transform .3s ease}
.cg-row .cg-track img:hover{opacity:1;transform:scale(1.045)}
.rvl{opacity:0;transform:translateY(18px);transition:opacity .65s cubic-bezier(.2,.7,.2,1),transform .65s cubic-bezier(.2,.7,.2,1)}
.rvl.in{opacity:1;transform:none}
:focus-visible{outline:2px solid #1B54E8;outline-offset:2px;border-radius:8px}
@media (prefers-reduced-motion: reduce){.sky::after,html body .hero-in h1 .hi{animation:none}.rvl{opacity:1;transform:none}}
/* v271: guide photo at proper presence on desktop */
@media(min-width:701px){
  html body .gcard{display:grid !important;grid-template-columns:172px 1fr;column-gap:1.2rem;row-gap:.35rem;align-items:center}
  html body .gc-ph{grid-row:1/4;width:172px !important;margin:0}
  html body .gcard h2{grid-column:2;margin:0}
  html body .gcard p{grid-column:2;margin:0}
  html body .gc-btn{grid-column:2;justify-self:start;margin-top:.5rem}
}
/* v273: features asserted at full strength, unmissable */
html body .hero-in h1 .hi{background:linear-gradient(92deg,#1B54E8 0%,#3D6FFF 30%,#7A5CFF 55%,#3D6FFF 80%,#1B54E8 100%) !important;background-size:250% 100% !important;-webkit-background-clip:text !important;background-clip:text !important;-webkit-text-fill-color:transparent !important;animation:hiFlow 7s ease-in-out infinite alternate !important}
.sky::after{background:radial-gradient(620px 300px at 18% 28%,rgba(122,92,255,.13),transparent 62%),radial-gradient(720px 340px at 82% 16%,rgba(42,107,255,.14),transparent 62%) !important}
/* v274: concierge services. Hotels and lounges through the desk */
.svcs{max-width:1180px;margin:1.6rem auto 0;padding:0 1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.svc{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;column-gap:.8rem;row-gap:.25rem;align-items:start;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:1rem 1.15rem;text-decoration:none;color:var(--ink);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.svc svg{grid-row:1/4;margin-top:.15rem;color:#C9821A}
.svc b{font-size:1rem;font-weight:600;letter-spacing:-.01em}
.svc span{font-size:.84rem;font-weight:350;line-height:1.5;color:var(--gray)}
.svc i{font-style:normal;font-size:.82rem;font-weight:600;color:#C9821A;margin-top:.15rem}
.svc:hover{border-color:rgba(201,130,26,.55);transform:translateY(-2px);box-shadow:0 14px 34px -20px rgba(120,86,20,.4)}
body.searched .svcs{display:none}
@media(max-width:700px){.svcs{grid-template-columns:1fr;padding:0 1rem;gap:9px}}
/* v274: trip extras row */
.tripx{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin:.7rem 0 .1rem;padding:0 .2rem}
.tx-l{font-size:.78rem;color:var(--gray);font-weight:500}
.tx-chip{background:var(--white);border:1px solid var(--line);border-radius:999px;padding:.42rem .85rem;font-size:.8rem;font-weight:550;color:var(--ink2);cursor:pointer;transition:border-color .15s ease,transform .15s ease}
.tx-chip:hover{border-color:rgba(42,107,255,.5);transform:translateY(-1px);color:var(--ink)}
@media(max-width:700px){.tripx{gap:.4rem}.tx-chip{font-size:.74rem;padding:.38rem .7rem}}
/* v274: trip extras. Hotels handoff + lounges via the desk */
.xtras{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 4px}
.xt{display:flex;flex-direction:column;gap:.25rem;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:1rem 1.15rem;text-decoration:none;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.xt:hover{border-color:rgba(27,84,232,.45);transform:translateY(-1px);box-shadow:0 12px 32px -18px rgba(27,84,232,.35)}
.xt b{font-size:1rem;font-weight:600;letter-spacing:-.01em}
.xt span{font-size:.85rem;color:var(--gray);font-weight:350}
.xt i{font-style:normal;font-size:.85rem;font-weight:600;color:#1B54E8;margin-top:.25rem}
@media(max-width:700px){.xtras{grid-template-columns:1fr}}
/* v275: trip services in house style. Ink icons, blue actions, calm cards */
html body .svc{background:var(--white);border:1px solid var(--line) !important;border-radius:16px !important;box-shadow:0 1px 2px rgba(20,27,40,.04);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
html body .svc:hover{border-color:rgba(27,84,232,.45) !important;transform:translateY(-1px);box-shadow:0 12px 32px -18px rgba(27,84,232,.32)}
html body .svc svg{color:var(--ink) !important}
html body .svc b{color:var(--ink) !important;font-weight:600 !important;letter-spacing:-.01em}
html body .svc span{color:var(--gray) !important;font-weight:350 !important;font-size:.88rem !important;line-height:1.5}
html body .svc i{color:#1B54E8 !important;font-weight:600 !important;font-style:normal !important;font-size:.88rem}
html body .tx-l{color:var(--gray);font-weight:500;font-size:.85rem}
/* v276: micro-delights. Branded selection, smooth anchors, tactile fields */
::selection{background:rgba(27,84,232,.18)}
@media not (prefers-reduced-motion: reduce){html{scroll-behavior:smooth}}
html body .wfield{transition:box-shadow .15s ease,border-color .15s ease}
html body .wfield:focus-within{box-shadow:0 0 0 3px rgba(27,84,232,.13);border-color:rgba(27,84,232,.5) !important;border-radius:10px}
/* v277: the board, native in the dark */
html[data-theme="dark"] body .board{background:linear-gradient(180deg,var(--white) 0%,var(--white) 100%) padding-box,conic-gradient(from var(--bcAng),#1B54E8,#7A5CFF,#9CC0FF,#2A6BFF,#1B54E8) border-box !important}
html[data-theme="dark"] body .board .bd-r{box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 1px 2px rgba(0,0,0,.3) !important}
html[data-theme="dark"] body .board .bd-r:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 12px 32px -18px rgba(27,84,232,.5) !important}
html[data-theme="dark"] body .board .bd-p::before,html[data-theme="dark"] body .board .bd-p::after{background:#0F1626;border-color:rgba(255,255,255,.14)}
html[data-theme="dark"] body .board .bd-p{box-shadow:inset 0 0 0 60px rgba(122,150,255,.07)}
/* v278: the map teaser, held to Apple standards. True scale, quiet texture, clean copy */
html body .wmap{max-height:320px;overflow:hidden}
html body .wm-tease{width:78% !important;right:0;left:auto;opacity:.9 !important;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 38%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 38%,#000 100%)}
html body .wm-tease path{stroke:#93A6CC !important;stroke-width:1.9 !important;opacity:.36 !important}
html body .wm-copy{max-width:46% !important;position:relative;z-index:2}
html body .wm-copy p{color:rgba(255,255,255,.72) !important}
@media(max-width:700px){html body .wm-tease{width:100% !important;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 55%);mask-image:linear-gradient(180deg,transparent 0%,#000 55%);opacity:.6 !important}html body .wm-copy{max-width:100% !important}}
/* v278: the map card, the way Apple would. Small, crisp, quiet, one idea */
html body .wmap{min-height:0 !important;height:auto !important;max-height:250px;padding:1.4rem 1.6rem !important;overflow:hidden}
html body .wm-tease{width:52% !important;opacity:1 !important;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 38%);mask-image:linear-gradient(90deg,transparent 0%,#000 38%)}
html body .wm-tease path{stroke-width:1.35 !important;opacity:.5 !important}
html body .wm-copy{max-width:50% !important;gap:.5rem}
html body .wm-copy p{max-width:32ch}
html body .gcard{grid-template-columns:auto 1fr !important}
html body .gc-ph{width:auto !important;max-height:206px}
@media(max-width:700px){html body .wmap{max-height:none}html body .wm-tease{width:60% !important;opacity:.55 !important}}
/* v279: Retina and wide-gamut. Apple screens get Apple color */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
.hero-strip2 img,.cg-track img,.fr-img,.gc-ph,.gd-city .hd-ph img,.gd-hero-img{filter:saturate(1.07) contrast(1.03);image-rendering:auto}
@media (color-gamut: p3){
  html body .hero-in h1 .hi{background-image:linear-gradient(92deg,color(display-p3 .09 .32 .92) 0%,color(display-p3 .22 .43 1) 30%,color(display-p3 .45 .34 1) 55%,color(display-p3 .22 .43 1) 80%,color(display-p3 .09 .32 .92) 100%) !important}
  html body .widget .wgo>button{background:linear-gradient(180deg,color(display-p3 .16 .48 1),color(display-p3 .08 .32 .92)) !important}
  html body .desknote .dn-row a,html body .wm-open{background:linear-gradient(180deg,color(display-p3 .96 .77 .3),color(display-p3 .92 .63 .1)) !important}
  html body .board .bd-p{background-image:linear-gradient(92deg,color(display-p3 .09 .32 .92),color(display-p3 .45 .34 1)) !important}
}
/* v280: sort control squared, hairline blue, fine type. Popup in fine type too */
html body .sumtabs{background:transparent !important;border:none !important;box-shadow:none !important;padding:0 !important;gap:10px !important;border-radius:0 !important}
html body .sumtab{background:var(--white) !important;border:1px solid var(--line) !important;border-radius:6px !important;box-shadow:none !important;padding:.75rem 1rem !important;transition:border-color .15s ease,background .15s ease}
html body .sumtab:hover{border-color:rgba(27,84,232,.45) !important}
html body .sumtab.on{background:rgba(27,84,232,.035) !important;border-color:#1B54E8 !important;box-shadow:none !important}
html body .sumtab .n{font-size:.66rem !important;font-weight:500 !important;letter-spacing:.13em !important;color:var(--gray) !important}
html body .sumtab.on .n{color:#1B54E8 !important}
html body .sumtab .v{font-size:1.18rem !important;font-weight:450 !important;letter-spacing:-.015em !important;margin-top:.15rem}
html body .sumtab .d{font-size:.8rem !important;font-weight:350 !important;color:var(--gray)}
html body .desknote{border-radius:16px !important}
html body .desknote .dn-k{font-weight:500 !important;letter-spacing:.2em !important}
html body .desknote p{font-weight:350 !important;font-size:.92rem !important;line-height:1.6 !important}
html body .desknote p b{font-weight:550 !important}
html body .desknote .dn-row a{font-weight:600 !important;letter-spacing:.01em}
html body .desknote .dn-row button{font-weight:400 !important}
html body .desknote .dn-trust{font-weight:350 !important}
/* v281: fare report as a slim navy hairline card in the concierge family */
html body .frband{background:transparent !important;padding:1.2rem 1.5rem !important}
html body .frband .fr-in{background:linear-gradient(155deg,#1D2B4E 0%,#121D39 100%) !important;border:1px solid rgba(122,150,255,.32) !important;border-radius:16px !important;padding:.95rem 1.15rem !important;gap:1.1rem !important;box-shadow:0 20px 50px -30px rgba(10,20,60,.55)}
html body .fr-img{width:66px !important;height:auto !important;border-radius:10px !important}
html body .frband .fr-l h2{font-size:1.05rem !important;font-weight:600 !important;letter-spacing:-.01em;margin:0 0 .15rem !important;color:#FFFFFF}
html body .frband .fr-l p{font-size:.82rem !important;font-weight:350 !important;color:rgba(233,237,245,.7) !important;margin:0 !important}
html body .frband .fr-f{flex:1 1 320px !important;max-width:460px;display:flex;gap:.5rem;align-items:center}
html body .frband .fr-f input{flex:1;background:rgba(255,255,255,.06) !important;border:1px solid rgba(122,150,255,.35) !important;color:#fff !important;border-radius:999px !important;padding:.55rem .95rem !important;font-size:.88rem !important}
html body .frband .fr-f input::placeholder{color:rgba(233,237,245,.45)}
html body .frband .fr-f button{background:linear-gradient(180deg,#F2C14E,#E8A020) !important;color:#141B28 !important;border:none !important;border-radius:999px !important;padding:.55rem 1.05rem !important;font-weight:600 !important;font-size:.88rem !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 8px 20px -10px rgba(232,160,32,.5)}
@media(max-width:700px){html body .frband{padding:1rem 1rem !important}html body .frband .fr-in{padding:.85rem .9rem !important;gap:.8rem !important}html body .fr-img{width:56px !important}html body .frband .fr-f{flex-basis:100% !important;max-width:none}}
/* v282: both call surfaces sleek, small, navy. One concierge family */
html body .pribbon{padding:.6rem .95rem !important;border-radius:12px !important;gap:.7rem !important;background:linear-gradient(90deg,#1C2A4A,#141F3C) !important;border:1px solid rgba(122,150,255,.3) !important}
html body .pribbon .pr-trust{font-size:.66rem;margin-top:.15rem;color:rgba(255,255,255,.55)}
html body .pribbon b,html body .pribbon strong{font-size:.92rem !important}
html body .callband{display:flex !important;align-items:center;gap:.9rem;background:linear-gradient(90deg,#1C2A4A,#141F3C) !important;border:1px solid rgba(122,150,255,.3) !important;border-radius:12px !important;padding:.7rem 1rem !important;margin:.8rem 0 !important;color:#E9EDF5 !important;text-decoration:none;box-shadow:0 14px 34px -22px rgba(10,20,60,.5)}
html body .callband .cb-l b{display:block;font-size:.92rem;font-weight:600;color:#fff;margin-bottom:.1rem}
html body .callband .cb-l span{font-size:.8rem;font-weight:350;color:rgba(233,237,245,.7);line-height:1.4}
html body .callband .cb-r,html body .callband > span:last-child{margin-left:auto;background:linear-gradient(180deg,#F2C14E,#E8A020);color:#141B28;border-radius:999px;padding:.45rem .9rem;font-weight:600;font-size:.84rem;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}
@media(max-width:700px){html body .callband{flex-wrap:wrap;padding:.7rem .85rem !important}html body .callband > span:last-child{margin-left:0}}
