
/* ==========================================================================
   TRANSFER PAGE (search + results)
   ========================================================================== */
.t-top{padding:36px 0 0}
.t-h1{font:800 clamp(2rem,1.2rem + 2.6vw,3rem)/1.16 var(--serif);letter-spacing:-.015em}
.t-lead{margin-top:10px;max-width:46em;font-size:18px;line-height:1.65;color:var(--ink-2)}
.search.t-search{margin-top:28px}
.t-tabwrap{display:flex}
.t-label{display:inline-flex;align-items:center;gap:10px;min-height:60px;padding:0 4px;border-bottom:3px solid var(--sun);margin-bottom:-1px;font:800 16px/1 var(--sans);color:#fff}
.t-label .i{color:var(--sun)}
.same-city{margin-top:12px;padding:10px 14px;border:1px solid #F0C4BD;border-radius:var(--r-ctl);background:#FFF6F3;color:var(--err);font:700 14px/1.4 var(--sans)}
.same-city[hidden]{display:none}

.t-body{padding:40px 0 0}
.t-sec{margin-bottom:64px}
.t-h2{display:flex;align-items:center;gap:10px;font:800 clamp(1.375rem,1.1rem + 1vw,1.75rem)/1.25 var(--serif);letter-spacing:-.015em}
.t-h2 .i{width:24px;height:24px;color:var(--accent)}
.t-cap{margin-top:6px;font-size:15px;color:var(--ink-2)}

/* recent routes (admin-managed "notes") */
.notes{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:18px}
.note{display:flex;align-items:center;gap:14px;min-height:64px;padding:10px 16px;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s var(--ease)}
a.note:hover{border-color:var(--line-2);box-shadow:var(--shadow-1);transform:translateY(-1px)}
a.note:focus-visible{outline-offset:2px}
.note-av{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--accent-tint);color:var(--accent);font:800 15px/1 var(--serif)}
.note-main{display:grid;flex:1;gap:2px;min-width:0}
.note-route{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:800 17px/1.3 var(--serif);letter-spacing:-.015em}
.note-route .i{width:18px;height:18px;color:var(--ink-3)}
.note-name{font-size:14px;color:var(--ink-2)}
.note-meta{display:flex;flex:none;flex-wrap:wrap;align-items:center;gap:6px 14px}
.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:99px;background:var(--sand);color:var(--ink-2);font:700 13px/1.4 var(--sans);white-space:nowrap}
.note-time{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--ink-2);white-space:nowrap}
.note-time .i{width:15px;height:15px}

/* toolbar + filters */
.t-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.t-count{font-size:15px;color:var(--ink-2)}
.t-count b{font-weight:800;color:var(--ink)}
.t-route{display:inline-flex;align-items:center;gap:6px;margin-left:10px;color:var(--ink-2)}
.t-route .i{width:16px;height:16px;color:var(--ink-3)}
.f-btn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:1.5px solid var(--line-2);border-radius:var(--r-ctl);background:#fff;font:800 14px/1 var(--sans);color:var(--ink);cursor:pointer;transition:border-color .15s,background-color .15s}
.f-btn:hover{border-color:var(--accent);background:var(--accent-tint)}
.f-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.f-btn .cnt{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:var(--accent);color:#fff;font:800 12px/1 var(--sans)}
.f-btn .cnt[hidden]{display:none}
.f-btn .chev{transition:transform .2s var(--ease)}
.f-btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.f-btn .f-short{display:none}
.filters{margin-bottom:24px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-1)}
.filters[hidden]{display:none}
.flt-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;align-items:end}
.f-field{display:grid;gap:6px;min-width:0}
.f-field > label,.f-field > .f-l{font:700 13px/1.3 var(--sans);color:var(--ink-2)}
.f-field select,.f-field input[type="number"]{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--field-line);border-radius:var(--r-ctl);background:#fff;font:700 16px/1.4 var(--sans);color:var(--ink);-webkit-appearance:none;appearance:none}
.f-field select{padding-right:38px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23525873' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/16px 16px}
.f-field select:focus-visible,.f-field input:focus-visible{outline:3px solid var(--accent);outline-offset:1px}
.f-field input[type="number"]::-webkit-inner-spin-button{opacity:1}
.f-check{display:flex;align-items:center;gap:10px;min-height:48px;font:700 15px/1.3 var(--sans);color:var(--ink);cursor:pointer}
.f-check input{width:22px;height:22px;margin:0;accent-color:var(--accent);cursor:pointer}
.f-check input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.f-actions{display:flex;align-items:center;gap:16px;margin-top:18px}
.f-submit{min-height:48px;padding:0 24px;border:0;border-radius:var(--r-ctl);background:var(--accent);color:#fff;font:800 15px/1 var(--sans);cursor:pointer;transition:background-color .15s}
.f-submit:hover{background:var(--accent-deep)}
.f-submit:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.f-clear{font:800 14px/1 var(--sans);color:var(--accent);text-decoration:none;padding:12px 4px}
.f-clear:hover{text-decoration:underline}
.f-clear:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:var(--r-ctl)}

/* car cards (4 per row, like the live grid) */
.cars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.car{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s}
.car:hover{transform:translateY(-3px);box-shadow:var(--shadow-1);border-color:var(--line-2)}
.car-media{position:relative;aspect-ratio:280/150;overflow:hidden;background:var(--sand)}
.car-media > a{position:absolute;inset:0;display:block}
.car-media > a:focus-visible{outline-offset:-3px}
.car-media svg{display:block;width:100%;height:100%}
.car-tier{position:absolute;left:12px;top:12px;z-index:2;padding:3px 10px;border-radius:99px;font:800 12px/1.5 var(--sans);box-shadow:0 1px 3px rgba(14,16,48,.18)}
.tier-economy{background:#fff;color:var(--ink-2)}
.tier-comfort{background:var(--accent);color:#fff}
.tier-business{background:var(--night);color:var(--sun)}
.car-nav{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:36px;height:36px;margin-top:-18px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:var(--ink);box-shadow:0 1px 4px rgba(14,16,48,.28);cursor:pointer;opacity:0;transition:opacity .15s}
.car:hover .car-nav,.car:focus-within .car-nav{opacity:1}
.car-nav:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.car-prev{left:8px}
.car-next{right:8px}
@media (hover:none){.car-nav{opacity:1}}
.car-count{position:absolute;right:10px;bottom:10px;z-index:2;padding:2px 9px;border-radius:99px;background:rgba(15,18,48,.78);color:#fff;font:700 12px/1.6 var(--sans)}
.car-body{display:flex;flex:1;flex-direction:column;gap:6px;padding:16px;color:inherit;text-decoration:none}
.car-body:focus-visible{outline-offset:-3px}
.car-title{font:800 18px/1.3 var(--serif);letter-spacing:-.015em}
.car-meta{display:flex;align-items:center;gap:6px;font-size:15px;color:var(--ink-2)}
.car-meta .star{width:16px;height:16px;color:var(--sun)}
.car-meta b{font-weight:800;color:var(--ink)}
.car-specs{display:flex;align-items:center;gap:16px;margin-top:2px;font-size:14px;color:var(--ink-2)}
.car-specs span{display:inline-flex;align-items:center;gap:6px}
.car-specs .i{width:18px;height:18px}
.car-price{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.car-price .lbl{font-size:14px;color:var(--ink-2)}
.car-price b{font:800 20px/1 var(--serif);letter-spacing:-.02em;color:var(--ink)}
.car-na{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-size:14px;color:var(--ink-2)}
.hot{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:99px;background:var(--sun);color:var(--ink);font:800 12px/1.4 var(--sans);white-space:nowrap}
.hot .i{width:14px;height:14px}
.pager{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:36px}
.pager a,.pager span{display:grid;place-items:center;min-width:44px;height:44px;padding:0 10px;border:1px solid var(--line-2);border-radius:var(--r-ctl);background:#fff;font:800 15px/1 var(--sans);color:var(--ink);text-decoration:none}
.pager a:hover{border-color:var(--accent);background:var(--accent-tint)}
.pager a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.pager [aria-current="page"]{border-color:var(--accent);background:var(--accent);color:#fff}
.pager [aria-disabled="true"]{opacity:.4}
.t-empty{display:grid;justify-items:center;gap:12px;padding:56px 20px;border-radius:var(--r-lg);background:var(--sand);text-align:center;color:var(--ink-2)}
.t-empty .i{width:40px;height:40px;color:var(--accent)}
.toast{position:fixed;left:50%;bottom:24px;z-index:120;max-width:calc(100vw - 32px);padding:12px 18px;border-radius:var(--r-ctl);background:var(--ink);color:#fff;font:700 14px/1.4 var(--sans);box-shadow:var(--shadow-2);transform:translateX(-50%);animation:cal-in .2s var(--ease)}
.toast[hidden]{display:none}

@media (max-width:1199px){.cars{grid-template-columns:repeat(3,minmax(0,1fr))}.flt-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:899px){.cars{grid-template-columns:repeat(2,minmax(0,1fr))}.t-top{padding-top:28px}}
@media (max-width:859px){
  .t-tabwrap{box-shadow:inset 0 -1px 0 rgba(255,255,255,.22)}
  .t-label{flex:1;justify-content:center;min-height:56px}
}
@media (max-width:699px){
  .t-top{padding-top:20px}
  .t-lead{font-size:16px;line-height:1.6}
  .search.t-search{margin-top:20px}
  .t-body{padding-top:28px}
  .t-sec{margin-bottom:48px}
  .note{flex-wrap:wrap}
  .note-meta{width:100%;padding-left:54px;justify-content:space-between}
  .f-btn .f-long{display:none}
  .f-btn .f-short{display:inline}
  .filters{position:fixed;left:0;right:0;bottom:0;z-index:95;max-height:92vh;max-height:92dvh;margin:0;padding:8px 16px calc(16px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;border:0;border-radius:20px 20px 0 0;box-shadow:var(--shadow-2);animation:cal-up .26s var(--ease)}
  .flt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .f-field.f-wide{grid-column:1/-1}
  .f-actions{position:sticky;bottom:0;margin:18px -16px 0;padding:12px 16px;background:#fff;border-top:1px solid var(--line)}
  .f-submit{flex:1}
}
@media (max-width:559px){.cars{grid-template-columns:minmax(0,1fr)}}

/* ==========================================================================
   CAR PAGE (/transfer/{id})
   ========================================================================== */
.c-top{padding:16px 0 0}
.c-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-bottom:4px;padding:0 8px 0 0;font:700 15px/1 var(--sans);color:var(--ink-2);text-decoration:none;border-radius:var(--r-ctl)}
.c-back:hover{color:var(--accent)}
.c-back .i{transition:transform .15s var(--ease)}
.c-back:hover .i{transform:translateX(-3px)}

/* gallery: one wide band across the page */
.gal{position:relative}
.gal-stage{position:relative;aspect-ratio:2.6/1;border-radius:var(--r-lg);overflow:hidden;background:var(--sand);touch-action:pan-y;-webkit-user-select:none;user-select:none}
.gal-stage::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(to top,rgba(10,12,40,.55),rgba(10,12,40,0));pointer-events:none}
.gal-slide{position:absolute;inset:0}
.gal-slide svg{display:block;width:100%;height:100%;animation:gal-in .28s ease-out}
@keyframes gal-in{from{opacity:.35}}
.gal-none{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:8px;color:var(--ink-2);font-weight:700}
.gal-none .i{width:64px;height:64px;color:var(--accent)}
.gal-nav{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:48px;height:48px;margin-top:-24px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.95);color:var(--ink);box-shadow:0 2px 8px rgba(14,16,48,.3);cursor:pointer;transition:background-color .15s,transform .15s var(--ease)}
.gal-nav:hover{background:#fff;transform:scale(1.06)}
.gal-nav:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.gal-prev{left:16px}
.gal-next{right:16px}
.gal-count{position:absolute;right:16px;bottom:16px;z-index:2;padding:4px 12px;border-radius:99px;background:rgba(15,18,48,.8);color:#fff;font:700 13px/1.6 var(--sans);font-variant-numeric:tabular-nums}
.gal-thumbs{position:absolute;left:16px;bottom:16px;z-index:2;display:flex;gap:8px;max-width:calc(100% - 120px);padding:3px;overflow-x:auto;scrollbar-width:none}
.gal-thumbs::-webkit-scrollbar{display:none}
.gal-thumb{flex:none;width:76px;height:52px;padding:0;border:2px solid rgba(255,255,255,.75);border-radius:9px;overflow:hidden;background:var(--sand);cursor:pointer;opacity:.9;transition:opacity .15s,border-color .15s}
.gal-thumb:hover{opacity:1}
.gal-thumb svg{display:block;width:100%;height:100%}
.gal-thumb[aria-current="true"]{border-color:var(--sun);opacity:1;box-shadow:0 0 0 2px rgba(15,18,48,.55)}
.gal-thumb:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
.gal.is-single .gal-nav,.gal.is-single .gal-count,.gal.is-single .gal-thumbs{display:none}
.gal.is-none .gal-stage::after{display:none}

/* title, driver, feature tiles, reviews */
.c-body{padding:28px 0 0}
.c-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;grid-template-areas:"info side" "rev side";column-gap:56px;align-items:start}
.c-info{grid-area:info;min-width:0}
.c-rev{grid-area:rev;min-width:0;margin-top:44px}
.c-side{grid-area:side;align-self:stretch;min-width:0}
.c-side .bk-card{position:sticky;top:96px}                     /* only the booking card follows the page; the preview switch under it scrolls away */
.c-side .bk-card.is-tall{position:relative;top:auto}                     /* taller than the window: it scrolls with the page */
.c-title{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font:800 clamp(1.75rem,1.2rem + 1.8vw,2.375rem)/1.2 var(--serif);letter-spacing:-.015em}
.c-tier{display:inline-block;padding:2px 12px;border-radius:99px;font:800 13px/1.6 var(--sans);letter-spacing:0;vertical-align:middle}
.c-tier.tier-economy{border:1px solid var(--line-2)}
.c-driver{display:flex;align-items:center;gap:12px;margin-top:14px;min-width:0}
.c-dtxt{display:flex;flex:1;align-items:center;gap:8px;min-width:0}                       /* one line: name · rating (count) */
.c-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;line-height:1.4;color:var(--ink-2)}   /* a very long name is cut with an ellipsis, never wrapped */
.c-dot{flex:none;color:var(--ink-3)}
.c-sub{display:flex;flex:none;align-items:center;gap:8px;font-size:17px;line-height:1.4;color:var(--ink-2);white-space:nowrap}
.c-av{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:50%;background:var(--accent-tint);color:var(--accent);font:800 15px/1 var(--serif)}
.c-sub b{font-weight:800;color:var(--ink)}
.c-sub .star{width:18px;height:18px;color:var(--sun)}
.c-sub .c-rate{display:inline-flex;align-items:center;gap:5px}
.c-feats{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.c-feat{display:flex;flex:0 0 auto;align-items:center;gap:12px;min-height:64px;padding:12px 18px;border-radius:var(--r-card);background:var(--sand);font:700 16px/1.3 var(--sans);color:var(--ink)}
.c-feat .i{width:26px;height:26px;color:var(--accent)}
.c-h2{font:800 clamp(1.25rem,1.05rem + .8vw,1.5rem)/1.3 var(--serif);letter-spacing:-.015em}
.c-none{margin-top:10px;color:var(--ink-2)}
.rev{padding:18px 0;border-bottom:1px solid var(--line)}
.rev:first-child{margin-top:6px}
.rev:last-child{border-bottom:0}
.rev-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rev-who{display:flex;align-items:center;gap:10px;font-weight:800}
.rev-av{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--accent-tint);color:var(--accent);font:800 14px/1 var(--serif)}
.rev-star{display:inline-flex;align-items:center;gap:4px;font-weight:800;font-size:15px}
.rev-star .i{width:16px;height:16px;color:var(--sun)}
.rev p{margin-top:8px;padding-left:46px;color:var(--ink-2)}

/* booking card */
.bk-card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}
.bk-h{margin-bottom:14px;font:800 20px/1.3 var(--serif);letter-spacing:-.015em}
.bk-card .seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin:0;background:var(--sand)}   /* margin:0: the search card's phone rule would otherwise push the tabs 16px sideways */
.bk-card .seg span{justify-content:center;text-align:center;white-space:normal;line-height:1.25;padding:0 8px;color:var(--ink-2)}
.bk-card .seg input:checked + span{color:var(--ink)}
.bk-card .seg label:hover input:not(:checked) + span{background:rgba(14,16,48,.06);color:var(--ink)}
.bk-card .seg input:focus-visible + span{outline-color:var(--accent)}
.bk-box{display:grid;margin-top:14px;border:1px solid var(--field-line);border-radius:var(--r-card);overflow:hidden;background:#fff}
.bk-box > .field,.bk-box .stop{position:relative;min-width:0}
.bk-box > .field:not(:first-child),.bk-box .stop{box-shadow:0 -1px 0 var(--field-line)}
.bk-box > .field.is-invalid{box-shadow:inset 0 0 0 2px var(--err),0 -1px 0 var(--field-line)}
.bk-box > .field:first-child.is-invalid{box-shadow:inset 0 0 0 2px var(--err)}
.bk-card .swap > span{border-color:var(--field-line);transform:rotate(90deg)}
.bk-card .swap:active > span{transform:rotate(270deg)}
.bk-addrow{display:flex;align-items:center;min-height:44px;margin-top:6px}
.bk-card .add-stop{color:var(--accent)}
.bk-card .add-stop:hover{color:var(--accent-deep)}
.bk-card .add-stop:hover .plus{background:var(--accent);border-color:var(--accent);color:#fff}
.bk-card .add-stop[aria-disabled="true"],.bk-card .add-stop[aria-disabled="true"]:hover{color:var(--ink-3)}
.bk-card .add-stop[aria-disabled="true"]:hover .plus{background:none;border-color:currentColor;color:inherit}
.bk-warn{margin-top:12px;padding:10px 14px;border:1px solid #F0C4BD;border-radius:var(--r-ctl);background:#FFF6F3;color:var(--err);font:700 14px/1.4 var(--sans)}
.bk-warn[hidden]{display:none}
.bk-price{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:14px 16px;border-radius:var(--r-card);background:var(--accent-tint)}
.bk-price[hidden]{display:none}
.bk-price .lbl{display:grid;gap:6px;justify-items:start;font-size:14px;line-height:1.35;color:var(--ink-2)}
.bk-price b{font:800 26px/1 var(--serif);letter-spacing:-.02em;color:var(--ink);white-space:nowrap}
.bk-note{margin-top:14px;font-size:14px;line-height:1.5;color:var(--ink-2)}
.bk-note[hidden]{display:none}
.bk-act{display:grid;gap:12px;margin-top:16px}
.bk-go{width:100%;min-height:54px;font-size:17px}
.bk-go[disabled]{background:var(--line);color:var(--ink-2);cursor:not-allowed}
.bk-info{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;color:var(--ink-2)}
.bk-info .i{width:18px;height:18px;margin-top:2px;color:var(--accent)}
.bk-card .form-error{margin-top:14px;margin-bottom:0}
.cal-day[aria-disabled="true"]{color:#8A90AB;font-weight:500;text-decoration:line-through;cursor:not-allowed}
.cal-day[aria-disabled="true"]:hover:not(:disabled){background:transparent}
.cal-legend{margin-top:10px;font-size:13px;line-height:1.4;color:var(--ink-2)}
.c-404{padding:72px 0 24px;text-align:center}
.c-404 .t-empty{margin:0 auto;max-width:520px}
.c-404 h1{font:800 clamp(1.75rem,1.2rem + 1.8vw,2.25rem)/1.2 var(--serif);letter-spacing:-.015em}
.c-404 p{margin-top:10px;color:var(--ink-2)}
.c-404 .btn{margin-top:22px}

@media (max-width:1199px){
  .c-grid{grid-template-columns:minmax(0,1fr) 360px;column-gap:40px}
}
@media (max-width:1023px){
  .c-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"info" "side" "rev";column-gap:0}
  .c-side{margin-top:28px;max-width:640px}
  .c-side .bk-card{position:relative;top:auto}
  .c-rev{margin-top:36px}
  .gal-stage{aspect-ratio:2/1}
}
@media (max-width:699px){
  .c-top{padding-top:8px}
  .c-body{padding-top:22px}
  .gal-stage{aspect-ratio:4/3;border-radius:14px}
  .gal-nav{width:44px;height:44px;margin-top:-22px}
  .gal-prev{left:10px}
  .gal-next{right:10px}
  .gal-count{right:10px;bottom:10px}
  .gal-thumbs{left:10px;bottom:10px;gap:6px;max-width:calc(100% - 96px)}
  .gal-thumb{width:60px;height:44px}
  .c-feats{gap:10px;margin-top:22px}
  .c-feat{flex:1 1 calc(50% - 5px);min-width:0;gap:8px;min-height:56px;padding:10px;font-size:14.5px}
  .c-feat .i{width:22px;height:22px}
  .bk-card{padding:18px 16px}
  .c-driver{gap:10px}
  .c-av{width:36px;height:36px;font-size:14px}
  .c-dtxt{gap:6px}
  .c-name{font-size:clamp(12px,3.7vw,16px)}
  .c-sub{gap:6px;font-size:clamp(12px,3.5vw,15px)}
  .c-sub .star{width:clamp(13px,3.6vw,16px);height:clamp(13px,3.6vw,16px)}
  .c-sub .c-rate{gap:3px}
  .c-side{margin-top:24px}
  .rev p{padding-left:0}
}
@media (max-width:389px){
  .c-feat{flex-basis:100%}
}
@media (max-width:359px){                                  /* the narrowest phones: a smaller avatar and type keep the driver on one line */
  .c-driver{gap:8px}
  .c-av{width:28px;height:28px;font-size:12px}
  .c-dtxt{gap:4px}
  .c-name,.c-sub{font-size:11.5px}
  .c-sub{gap:4px}
}

/* ==========================================================================
   BLOG + CONTACT
   ========================================================================== */
.pg-head{padding:40px 0 30px}
.footer{margin-top:0}                                   /* every page here ends with its own spacing or band */
.pg-head h1{font:800 clamp(2rem,1.3rem + 2.4vw,3rem)/1.15 var(--serif);letter-spacing:-.02em}
.pg-head p{max-width:60ch;margin-top:10px;font-size:18px;line-height:1.6;color:var(--ink-2)}

/* blog list: the latest post large, the rest in a grid */
.bl-body{padding:0 0 88px}
.bl-feat{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;align-items:center;margin-bottom:56px;color:inherit;text-decoration:none}
.bl-feat .pc-thumb{aspect-ratio:16/10;border-radius:var(--r-lg)}
.bl-txt{display:block;min-width:0}
.bl-tag{display:inline-block;margin-bottom:12px;padding:3px 12px;border-radius:99px;background:var(--accent-tint);color:var(--accent-deep);font:800 13px/1.6 var(--sans)}
.bl-feat .pc-date{margin:0 0 8px}
.bl-feat h2{font:800 clamp(1.5rem,1.1rem + 1.4vw,2.125rem)/1.25 var(--serif);letter-spacing:-.015em;text-wrap:balance}
.bl-feat:hover h2{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px}
.bl-ex{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;margin-top:12px;font-size:17px;line-height:1.65;color:var(--ink-2)}
.bl-more{margin-top:14px}
.bl-feat:hover .bl-more .i{transform:translateX(3px)}
.bl-feat:focus-visible,.pc:focus-visible{outline-offset:6px}
.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 32px}
.pc{display:block;color:inherit;text-decoration:none}
.pc-thumb{position:relative;aspect-ratio:16/10;border-radius:var(--r-card);overflow:hidden;background:var(--sand)}
.pc-thumb svg{position:absolute;inset:0;width:100%;height:100%;transition:transform .2s var(--ease)}
.pc:hover .pc-thumb svg,.bl-feat:hover .pc-thumb svg{transform:scale(1.04)}
.pc-thumb.is-none{display:grid;place-items:center}
.pc-thumb.is-none svg{position:static;width:48px;height:48px;color:var(--accent);transform:none!important}
.pc-body{display:block;min-width:0}
.pc-date{display:block;margin:16px 0 6px;font:700 13px/1.4 var(--sans);color:var(--ink-2)}
.pc h3{font:800 20px/1.4 var(--serif);letter-spacing:-.015em;text-wrap:balance}
.pc:hover h3{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.pc-ex{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin-top:8px;font-size:15px;line-height:1.65;color:var(--ink-2)}

/* a single post */
.ps-top{padding:16px 0 0}
.ps-wrap{max-width:760px;margin-inline:auto}
.ps-head{padding-top:8px}
.ps-head h1{font:800 clamp(1.875rem,1.3rem + 2.2vw,2.75rem)/1.2 var(--serif);letter-spacing:-.02em;text-wrap:balance}
.ps-meta{display:flex;align-items:center;gap:8px;margin-top:14px;font:600 15px/1.4 var(--sans);color:var(--ink-2)}
.ps-meta .i{width:18px;height:18px;color:var(--accent)}
.ps-cover{aspect-ratio:2.6/1;margin-top:28px;border-radius:var(--r-lg);overflow:hidden;background:var(--sand)}
.ps-cover svg{display:block;width:100%;height:100%}
.prose{max-width:760px;margin:40px auto 0;font-size:18px;line-height:1.8;color:var(--ink);overflow-wrap:break-word}
.prose > :first-child{margin-top:0}
.prose p{margin:0 0 1.2em}
.prose h1,.prose h2{margin:2em 0 .6em;font:800 clamp(1.5rem,1.2rem + 1vw,1.875rem)/1.3 var(--serif);letter-spacing:-.015em}
.prose h3{margin:1.8em 0 .5em;font:800 1.375rem/1.35 var(--serif);letter-spacing:-.01em}
.prose h4,.prose h5,.prose h6{margin:1.6em 0 .5em;font:800 1.125rem/1.4 var(--serif)}
.prose ul,.prose ol{margin:0 0 1.4em;padding-left:1.5em}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose li{margin:.4em 0;padding-left:.2em}
.prose li::marker{color:var(--accent);font-weight:800}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.prose a:hover{color:var(--accent-deep)}
.prose strong,.prose b{font-weight:800}
.prose blockquote{margin:1.8em 0;padding:18px 22px;border-left:4px solid var(--accent);border-radius:0 var(--r-card) var(--r-card) 0;background:var(--sand);font-size:1.0625em}
.prose blockquote p{margin:0}
.prose blockquote p + p{margin-top:.8em}
.prose img,.prose video{display:block;max-width:100%;height:auto;margin:1.6em auto;border-radius:var(--r-card)}
.prose figure{margin:1.8em 0}
.prose figure img{margin:0 auto}
.prose figcaption{margin-top:10px;text-align:center;font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.prose hr{margin:2.4em 0;border:0;border-top:1px solid var(--line-2)}
.prose pre{margin:1.6em 0;padding:16px 18px;overflow:auto;border-radius:var(--r-card);background:var(--night);color:#E8EAF6;font:500 15px/1.6 ui-monospace,Consolas,monospace}
.prose code{padding:.1em .4em;border-radius:6px;background:var(--sand);font:500 .9em ui-monospace,Consolas,monospace}
.prose pre code{padding:0;background:none}
.prose .tbl{margin:1.6em 0;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-card)}
.prose .tbl:focus-visible{outline-offset:2px}
.prose table{width:100%!important;min-width:460px;margin:0;border:0;border-collapse:collapse!important;font-size:16px;line-height:1.5}
.prose th,.prose td{padding:12px 16px;border:0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.prose th{background:var(--sand);font-weight:800}
.prose tr:last-child td{border-bottom:0}
.prose .vid{position:relative;aspect-ratio:16/9;margin:1.6em 0;border-radius:var(--r-card);overflow:hidden;background:var(--night)}
.prose .vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ps-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:760px;margin:56px auto 0;padding:28px 30px;border-radius:var(--r-lg);background:var(--night);color:#fff}
.ps-cta h2{font:800 22px/1.3 var(--serif);letter-spacing:-.01em}
.ps-cta p{margin-top:6px;color:#C9CEF2;font-size:15.5px;line-height:1.55}
.ps-cta .btn{flex:none;background:var(--sun);color:var(--ink)}
.ps-cta .btn:hover{background:#fff}
.ps-end{padding-bottom:88px}
.ps-rel{margin-top:72px;padding:56px 0 88px;border-top:1px solid var(--line)}
.ps-rel h2{margin-bottom:28px;font:800 clamp(1.5rem,1.2rem + 1vw,1.875rem)/1.3 var(--serif);letter-spacing:-.015em}

/* contact */
.ct-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;align-items:start;padding-bottom:72px}
.ct-info{display:grid;gap:12px}
.ct-item{display:flex;align-items:center;gap:16px;min-width:0;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;box-shadow:var(--shadow-1);color:inherit;text-decoration:none;transition:border-color .15s}
a.ct-item:hover{border-color:var(--accent)}
.ct-ic{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:12px;background:var(--accent-tint);color:var(--accent)}
.ct-ic .i{width:22px;height:22px}
.ct-tx{display:grid;gap:2px;min-width:0}
.ct-lbl{font:700 13.5px/1.3 var(--sans);color:var(--ink-2)}
.ct-val{font:800 18px/1.35 var(--serif);letter-spacing:-.01em;overflow-wrap:anywhere}
.ct-soc{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.ct-soc a{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line-2);border-radius:12px;color:var(--ink);transition:background-color .15s,color .15s,border-color .15s}
.ct-soc a:hover{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-deep)}
.ct-form{padding:26px 26px 28px}
.ct-form .bk-h{margin-bottom:16px}
.ct-sub{margin:0 0 18px;color:var(--ink-2);font-size:15.5px;line-height:1.55}
.ct-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ct-fields > .field{min-width:0;border:1px solid var(--field-line);border-radius:12px;background:#fff}
.ct-fields > .field:hover{background:#F4F5FF}
.ct-fields > .field:focus-within{background:#fff}
.ct-fields > .field.span2{grid-column:1/-1}
.ct-fields > .field.is-invalid,.ct-fields > .field.is-invalid:hover{background:#FFF6F3;box-shadow:inset 0 0 0 2px var(--err)}
.ct-form .form-error{margin:0 0 14px}
.field-msg{padding-bottom:30px}
.field-msg > .i{top:26px;margin-top:0}
.field textarea{display:block;width:100%;min-width:0;min-height:132px;padding:0;border:0;background:transparent;font:700 17px/1.5 var(--sans);color:var(--ink);resize:vertical;outline:none}
.field textarea::placeholder{color:var(--ink-3);opacity:1;font-weight:500}
.ct-count{position:absolute;right:14px;bottom:8px;font:600 12.5px/1.3 var(--sans);color:var(--ink-3);font-variant-numeric:tabular-nums}
.ct-count.is-near{color:#8A5A00;font-weight:800}
.ct-count.is-max{color:var(--err);font-weight:800}
.ct-go{margin-top:16px}
.ct-done{display:grid;justify-items:center;gap:10px;padding:28px 8px 12px;text-align:center}
.ct-done .dn-ic{display:grid;place-items:center;width:72px;height:72px;margin-bottom:6px;border-radius:50%;background:var(--vine-tint);color:var(--vine)}
.ct-done .dn-ic .i{width:38px;height:38px}
.ct-done h2{font:800 24px/1.3 var(--serif);letter-spacing:-.015em;outline:none}
.ct-done p{max-width:40ch;color:var(--ink-2)}
.ct-done .btn{margin-top:12px}
.faq{padding:56px 0 88px;background:var(--sand)}
.faq h2{margin-bottom:24px;font:800 clamp(1.5rem,1.2rem + 1vw,1.875rem)/1.3 var(--serif);letter-spacing:-.015em}
.faq-list{display:grid;gap:10px;max-width:820px}
details.fq{border:1px solid var(--line);border-radius:var(--r-card);background:#fff}
details.fq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:12px 18px;font:800 17px/1.4 var(--serif);letter-spacing:-.01em;list-style:none;cursor:pointer;border-radius:var(--r-card)}
details.fq summary::-webkit-details-marker{display:none}
details.fq summary:focus-visible{outline-offset:2px}
details.fq summary .i{flex:none;color:var(--accent);transition:transform .2s var(--ease)}
details.fq[open] summary .i{transform:rotate(180deg)}
.fq-a{padding:0 18px 18px;color:var(--ink-2);font-size:16px;line-height:1.7}
.fq-a a{color:var(--accent);font-weight:700}

@media (max-width:1199px){
  .pgrid{gap:36px 24px}
  .bl-feat{gap:32px}
}
@media (max-width:1023px){
  .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ps-cover{aspect-ratio:2/1}
  .ct-grid{grid-template-columns:minmax(0,1fr);max-width:720px}
}
@media (max-width:899px){
  .bl-feat{grid-template-columns:minmax(0,1fr);gap:20px}
}
@media (max-width:699px){
  .pg-head{padding:24px 0 22px}
  .pg-head p{font-size:16.5px}
  .bl-body{padding-bottom:64px}
  .bl-feat{margin-bottom:28px}
  .pgrid{grid-template-columns:minmax(0,1fr);gap:0}
  .pc{display:grid;grid-template-columns:112px minmax(0,1fr);column-gap:16px;align-items:start;padding:16px 0;border-bottom:1px solid var(--line)}
  .pc:first-child{padding-top:0}
  .pc:last-child{border-bottom:0;padding-bottom:0}
  .pc-thumb{aspect-ratio:4/3;border-radius:10px}
  .pc-thumb.is-none svg{width:32px;height:32px}
  .pc-date{margin:0 0 2px;font-size:12.5px}
  .pc h3{font-size:17px}
  .pc-ex{display:none}
  .ps-top{padding-top:8px}
  .ps-cover{aspect-ratio:16/10;margin-top:20px;border-radius:14px}
  .prose{margin-top:28px;font-size:17px;line-height:1.75}
  .ps-cta{flex-direction:column;align-items:stretch;gap:16px;margin-top:40px;padding:22px 20px}
  .ps-cta .btn{width:100%}
  .ps-end{padding-bottom:64px}
  .ps-rel{margin-top:48px;padding:40px 0 64px}
  .ct-form{padding:20px 16px 22px}
  .ct-item{padding:14px 16px}
  .ct-grid{padding-bottom:48px}
  .faq{padding:40px 0 64px}
}
@media (max-width:479px){
  .ct-fields > .field.span1{grid-column:1/-1}
  .ct-fields > .field:not(.span2){padding-left:16px}
  .ct-fields > .field:not(.span2) > .i{display:none}
}
@media (prefers-reduced-motion:reduce){
  details.fq summary .i{transition:none}
}
@media (max-width:349px){
  .hdr > .logo{font-size:0;gap:0}               /* only the mark; the link keeps its aria-label */
}
