/* ===== loader.css ===== */
/* ============================================================
   MENGED loader — branded entrance + section transitions.
   Every class is prefixed "ld-" so nothing here can collide with the
   site's own .logo / .panel / --bg etc.
   Modes (set by js/loader.js):
     full   first visit of a session: pen-drawn wordmark + gold light pass
     quick  repeat load in a session: wordmark already filled, shorter
     switch moving between Home and the MENGED sections: curtain rises
            from the bottom, then lifts away (always "quick")
   ============================================================ */
.ld{
  --ld-bg:#0d1815;--ld-lift:#17281f;--ld-gold:#c29a5b;--ld-paper:#f7f5ef;
  --ld-ease:cubic-bezier(.22,1,.36,1);--ld-io:cubic-bezier(.76,0,.24,1);--ld-draw:cubic-bezier(.42,0,.2,1);
  position:fixed;inset:0;z-index:100000;display:flex;pointer-events:all;
  color:var(--ld-paper);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
.ld.ld-gone{display:none}

/* No-JS / script-failure safety: the curtain steps aside by itself. */
html.ld-lock{overflow:hidden;animation:ld-unlock .01s linear 12s forwards}
.ld:not(.ld-run):not(.ld-gone):not(.ld-enter){animation:ld-failsafe .01s linear 12s forwards}
@keyframes ld-unlock{to{overflow:auto}}
@keyframes ld-failsafe{to{opacity:0;transform:translateY(-100%);visibility:hidden}}

.ld-panel{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;will-change:transform;
  padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);
  background:radial-gradient(120% 90% at 50% 46%,var(--ld-lift) 0%,var(--ld-bg) 58%,#09110f 100%)}
.ld-panel::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.ld-edge{position:absolute;left:0;right:0;bottom:0;height:1px;opacity:0;background:linear-gradient(90deg,transparent,var(--ld-paper) 50%,transparent)}
.ld-glow{position:absolute;left:50%;top:50%;width:min(130vw,960px);aspect-ratio:1;translate:-50% -50%;opacity:0;
  background:radial-gradient(closest-side,rgba(238,212,160,.085),rgba(247,245,239,0) 70%)}

.ld-stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
/* Stacked lockup: emblem on top, wordmark below. --e is the emblem width; everything scales from it. */
.ld-logo{--e:min(56vw,270px,34vh);display:flex;flex-direction:column;align-items:center;gap:calc(var(--e)*.22)}
.ld-emblem{position:relative;width:var(--e);aspect-ratio:763/748}
.ld-wordwrap{position:relative;width:calc(var(--e)*1.2);aspect-ratio:234/45}
.ld-logo svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;display:block}

/* Tagline / section name under the wordmark */
.ld-cap{position:absolute;left:50%;top:calc(100% + var(--e)*.17);translate:-50% 0;white-space:nowrap;
  display:flex;align-items:center;gap:1.1em;opacity:0;
  font:600 clamp(9px,2.5vw,12px)/1 Inter,system-ui,sans-serif;letter-spacing:.34em;text-transform:uppercase;color:var(--ld-gold)}
.ld-cap::before,.ld-cap::after{content:"";width:clamp(18px,6vw,42px);height:1px;background:linear-gradient(90deg,transparent,var(--ld-gold))}
.ld-cap::after{background:linear-gradient(270deg,transparent,var(--ld-gold))}
.ld-cap span{padding-left:.34em}

.ld-fill{fill:var(--ld-paper)}
.ld-ink-w path{fill:none;stroke:var(--ld-paper);stroke-width:.85;stroke-linejoin:round;stroke-dasharray:1 2;stroke-dashoffset:1}
.ld-wordwrap .ld-fill{opacity:0}
.ld-sweep{fill:url(#ldBand);transform-box:fill-box;transform:translateX(-100%) skewX(-16deg)}

/* ───────── Entrance (full) ───────── */
.ld-run .ld-glow{animation:ld-glow 2.4s var(--ld-ease) 0s both,ld-glowBreath 6s ease-in-out 2.5s infinite alternate}
.ld-run .ld-ink-w path{animation:ld-draw var(--d) var(--ld-draw) calc(var(--s) + var(--shift,0s)) both}
.ld-run .ld-ink-w{animation:ld-inkOut .7s ease calc(var(--so) + var(--shift,0s)) both}
.ld-run .ld-wordwrap .ld-fill{animation:ld-fillIn .9s var(--ld-ease) calc(var(--sf) + var(--shift,0s)) both}
.ld-run .ld-sweep.ld-e{animation:ld-passE 1.6s cubic-bezier(.45,.05,.3,1) .35s both}
.ld-run .ld-sweep.ld-w{animation:ld-passW 1.25s cubic-bezier(.45,.05,.3,1) 1.8s both}
.ld-run .ld-cap{animation:ld-capIn .9s var(--ld-ease) 3.5s both}
@keyframes ld-glow{from{opacity:0;scale:.9}to{opacity:1;scale:1}}
@keyframes ld-glowBreath{from{scale:1;opacity:1}to{scale:1.07;opacity:.8}}
@keyframes ld-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes ld-inkOut{to{opacity:0}}
@keyframes ld-fillIn{from{opacity:0}to{opacity:1}}
@keyframes ld-capIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes ld-passE{from{transform:translateX(-100%) skewX(-16deg)}to{transform:translateX(262%) skewX(-16deg)}}
@keyframes ld-passW{from{transform:translateX(-100%) skewX(-16deg)}to{transform:translateX(342%) skewX(-16deg)}}

/* Ring effects: a gold comet on the ring, ripples leaving it, a dotted orbit with a bead */
.ld-halo{position:absolute;top:1%;left:50%;height:98%;aspect-ratio:1;translate:-50% 0;border-radius:50%;
  border:1px solid rgba(214,180,118,.55);opacity:0;pointer-events:none}
.ld-comet{transform-origin:380.5px 374px;transform:rotate(-135deg)}
.ld-comet path{fill:none}
.ld-cometglow,.ld-comet,.ld-orbitwrap{opacity:0}
.ld-orbit{transform-origin:380.5px 374px}
.ld-dots{fill:none;stroke:rgba(247,245,239,.34);stroke-width:4.4;stroke-dasharray:.1 17.7;stroke-linecap:round}
.ld-bead{transform-origin:380.5px 374px}
.ld-bead-glow{fill:rgba(226,190,120,.35)}.ld-bead-core{fill:#f2d9a0}
.ld-run .ld-halo{animation:ld-halo 4.2s cubic-bezier(.2,.6,.3,1) 1.4s infinite both}
.ld-run .ld-halo:nth-of-type(2){animation-delay:2.8s;border-color:rgba(247,245,239,.4)}
.ld-run .ld-halo:nth-of-type(3){animation-delay:4.2s}
.ld-run .ld-comet{animation:ld-orbit 3.9s linear 1.3s infinite backwards}
.ld-run .ld-cometglow{animation:ld-fadeIn 1.2s ease 1.3s both}
.ld-run .ld-cometglow .ld-comet{opacity:.55}
.ld-run #ldCometIn{opacity:1}
.ld-run .ld-orbitwrap{animation:ld-fadeIn 1.6s ease .9s both}
.ld-run .ld-orbit{animation:ld-spin 90s linear infinite reverse}
.ld-run .ld-bead{animation:ld-spin 8s linear 1s infinite}
@keyframes ld-halo{0%{opacity:0;transform:scale(1)}14%{opacity:.5}100%{opacity:0;transform:scale(1.85)}}
@keyframes ld-orbit{from{transform:rotate(-135deg)}to{transform:rotate(225deg)}}
@keyframes ld-spin{to{transform:rotate(360deg)}}
@keyframes ld-fadeIn{from{opacity:0}to{opacity:1}}

/* ───────── Quick / switch variants: no pen-drawing, shorter light pass ───────── */
.ld-quick .ld-ink-w{display:none}
.ld-quick.ld-run .ld-wordwrap .ld-fill{animation:ld-fillIn .45s var(--ld-ease) .12s both}
.ld-quick.ld-run .ld-sweep.ld-e{animation:ld-passE 1.05s cubic-bezier(.45,.05,.3,1) .15s both}
.ld-quick.ld-run .ld-sweep.ld-w{animation:ld-passW .85s cubic-bezier(.45,.05,.3,1) .6s both}
.ld-quick.ld-run .ld-cap{animation:ld-capIn .6s var(--ld-ease) .35s both}
.ld-quick.ld-run .ld-comet{animation-delay:.2s}
.ld-quick.ld-run .ld-cometglow{animation-delay:.2s;animation-duration:.6s}
.ld-quick.ld-run .ld-halo{animation-delay:.3s}
.ld-quick.ld-run .ld-orbitwrap{animation-delay:.1s;animation-duration:.8s}

/* Curtain rises from the bottom when moving between sections */
.ld-enter .ld-panel{animation:ld-in .5s var(--ld-io) both;box-shadow:0 -30px 80px -30px rgba(0,0,0,.5)}
@keyframes ld-in{from{transform:translateY(100%)}to{transform:none}}

/* ───────── Exit ───────── */
.ld-exit .ld-stage{animation:ld-stageOut .5s var(--ld-io) forwards}
.ld-exit .ld-panel{animation:ld-lift .9s var(--ld-io) .3s forwards;box-shadow:0 40px 90px -30px rgba(0,0,0,.55)}
.ld-exit .ld-edge{opacity:1}
.ld-quick.ld-exit .ld-stage{animation-duration:.3s}
.ld-quick.ld-exit .ld-panel{animation-duration:.75s;animation-delay:.12s}
@keyframes ld-stageOut{to{opacity:0;transform:translateY(-8px)}}
@keyframes ld-lift{to{transform:translateY(-100%);visibility:hidden}}

@media (prefers-reduced-motion:reduce){
  .ld-run .ld-wordwrap .ld-fill,.ld-quick.ld-run .ld-wordwrap .ld-fill{animation:none;opacity:1}
  .ld-ink-w,.ld-sweep,.ld-halo,.ld-comet,.ld-cometglow,.ld-bead{display:none}
  .ld-run .ld-orbitwrap{animation:none;opacity:1}
  .ld-run .ld-orbit{animation:none}
  .ld-run .ld-glow{animation:none;opacity:1}
  .ld-run .ld-cap,.ld-quick.ld-run .ld-cap{animation:none;opacity:1}
  .ld-exit .ld-stage,.ld-quick.ld-exit .ld-stage{animation:none}
  .ld-exit .ld-panel,.ld-quick.ld-exit .ld-panel{animation:ld-fadeOut .5s ease .1s forwards;box-shadow:none}
  @keyframes ld-fadeOut{to{opacity:0;visibility:hidden}}
}
@media print{.ld{display:none!important}}


/* Performance pass: keep the brand entrance, but never make it feel like a loading screen. */
.ld-run .ld-glow{animation-duration:.85s,4s}
.ld-run .ld-ink-w path{animation-duration:.8s!important;animation-delay:.14s!important}
.ld-run .ld-ink-w{animation-duration:.35s!important;animation-delay:.82s!important}
.ld-run .ld-wordwrap .ld-fill{animation-duration:.48s!important;animation-delay:.68s!important}
.ld-run .ld-sweep.ld-e{animation-duration:.62s!important;animation-delay:.12s!important}
.ld-run .ld-sweep.ld-w{animation-duration:.54s!important;animation-delay:.42s!important}
.ld-run .ld-cap{animation-duration:.4s!important;animation-delay:.78s!important}
.ld-quick.ld-run .ld-wordwrap .ld-fill{animation-duration:.3s!important;animation-delay:.04s!important}
.ld-quick.ld-run .ld-sweep.ld-e{animation-duration:.36s!important;animation-delay:.02s!important}
.ld-quick.ld-run .ld-sweep.ld-w{animation-duration:.32s!important;animation-delay:.16s!important}
.ld-quick.ld-run .ld-cap{animation-duration:.26s!important;animation-delay:.18s!important}
.ld-enter .ld-panel{animation-duration:.16s!important}
.ld-exit .ld-stage{animation-duration:.18s!important}
.ld-exit .ld-panel{animation-duration:.38s!important;animation-delay:.04s!important}
.ld-quick.ld-exit .ld-panel{animation-duration:.38s!important;animation-delay:.04s!important}
@media(prefers-reduced-motion:reduce){.ld-run .ld-ink-w path{animation:none!important}}
html.ld-skip .ld{display:none!important}html.ld-skip{overflow:auto}


/* ───────── Lite entrance (phones / low-end devices) ─────────
   Smoothness fix: the full entrance animates SVG strokes, a blurred SVG filter, ~50 comet arcs and a dotted orbit,
   all on the main thread while the browser is also parsing the app scripts, which made it stutter.
   Lite mode keeps the same brand moment using only opacity/transform on a few flat layers (GPU compositor),
   so it stays at full frame rate even while scripts load. */
html.ld-lite .ld-ink-w,html.ld-lite .ld-sweep,html.ld-lite .ld-cometglow,html.ld-lite .ld-comet,
html.ld-lite .ld-orbitwrap,html.ld-lite .ld-bead,html.ld-lite .ld-halo:nth-of-type(n+3){display:none!important}
html.ld-lite .ld-panel::after{display:none}
html.ld-lite .ld-panel{contain:layout paint;backface-visibility:hidden}
html.ld-lite .ld-glow{animation:none!important;opacity:1;will-change:auto}
html.ld-lite .ld-emblem,html.ld-lite .ld-wordwrap,html.ld-lite .ld-cap{will-change:transform,opacity;backface-visibility:hidden;transform:translateZ(0)}
html.ld-lite .ld-run .ld-emblem{animation:ldl-pop .55s var(--ld-ease) both!important}
html.ld-lite .ld-run .ld-wordwrap{animation:ldl-rise .5s var(--ld-ease) .22s both!important}
html.ld-lite .ld-run .ld-wordwrap .ld-fill,html.ld-lite .ld-quick.ld-run .ld-wordwrap .ld-fill{animation:none!important;opacity:1}
html.ld-lite .ld-run .ld-cap,html.ld-lite .ld-quick.ld-run .ld-cap{animation:ldl-rise .45s var(--ld-ease) .5s both!important}
html.ld-lite .ld-run .ld-halo{animation:ldl-halo 1.9s cubic-bezier(.2,.6,.3,1) .35s infinite both!important;will-change:transform,opacity}
html.ld-lite .ld-run .ld-halo:nth-of-type(2){animation-delay:1.3s!important}
html.ld-lite .ld-exit .ld-stage{animation:ld-stageOut .22s ease forwards!important}
html.ld-lite .ld-exit .ld-panel{animation:ld-lift .42s cubic-bezier(.6,0,.2,1) .05s forwards!important;box-shadow:none}
@keyframes ldl-pop{from{opacity:0;transform:scale(.9) translateZ(0)}to{opacity:1;transform:scale(1) translateZ(0)}}
@keyframes ldl-rise{from{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes ldl-halo{0%{opacity:0;transform:scale(1)}18%{opacity:.5}100%{opacity:0;transform:scale(1.7)}}


/* ===== style.css ===== */
/* ===== Consolidated source layer: experience.css ===== */
/* MENGED Studio layer: account, app install, destination notices and graceful image loading. */
:root{--mg-ink:#17251f;--mg-paper:#f8f5ef;--mg-copper:#bd582d;--mg-line:rgba(23,37,31,.15)}
.mg-account-trigger,.mg-removed-install{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:7px 12px;border:1px solid var(--mg-line);border-radius:999px;background:rgba(255,255,255,.78);color:var(--mg-ink);font-family:inherit;font-size:12px;font-weight:600;line-height:1.2;cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s,transform .2s}
@media (hover:hover){.mg-account-trigger:hover,.mg-removed-install:hover{background:#fff;border-color:var(--mg-copper);transform:translateY(-1px)}}.mg-account-dot{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--mg-ink);color:#fff;font-size:12px}.mg-removed-install{background:var(--mg-ink);color:#fff;border-color:var(--mg-ink)}.mg-removed-install[hidden]{display:none}
.mg-layer[hidden]{display:none!important}.mg-layer{position:fixed;z-index:99999;inset:0;display:grid;place-items:center;padding:18px;background:rgba(10,19,15,.62);backdrop-filter:blur(8px);overflow-y:auto}.mg-dialog{position:relative;width:min(100%,510px);max-height:min(88dvh,850px);overflow:auto;background:var(--mg-paper);color:var(--mg-ink);border:1px solid rgba(255,255,255,.6);border-radius:24px;padding:clamp(24px,5vw,38px);box-shadow:0 28px 100px rgba(0,0,0,.28);animation:mg-rise .24s ease-out}.mg-admin-dialog{width:min(100%,690px)}.mg-x{position:absolute;right:15px;top:15px;width:38px;height:38px;border:1px solid var(--mg-line);border-radius:50%;background:transparent;color:inherit;font-size:24px;cursor:pointer}.mg-eyebrow{margin:0 42px 12px 0;color:var(--mg-copper);font-size:11px;font-weight:800;letter-spacing:.19em;text-transform:uppercase}.mg-dialog h2{font-family:Fraunces,Georgia,serif;font-weight:500;font-size:clamp(28px,5vw,39px);line-height:1.08;letter-spacing:-.035em;margin:0 35px 14px 0}.mg-muted{color:#59635d;font-size:13px;line-height:1.65}.mg-field{display:grid;gap:7px;margin:15px 0;font-size:12px;font-weight:700}.mg-field input,.mg-field textarea,.mg-field select{width:100%;min-height:46px;padding:12px 13px;border:1px solid #cfcfc5;border-radius:10px;background:#fff;color:#17251f;font:400 15px/1.4 inherit}.mg-field textarea{resize:vertical}.mg-check{display:flex;align-items:flex-start;gap:10px;margin:16px 0;font-size:13px;line-height:1.5}.mg-check input{margin-top:3px}.mg-button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:11px 15px;border-radius:999px;border:1px solid transparent;font-family:inherit;font-size:12px;font-weight:700;line-height:1.3;cursor:pointer;text-decoration:none}.mg-primary{background:var(--mg-ink);color:#fff}.mg-secondary{background:transparent;border-color:#c9cec5;color:var(--mg-ink)}.mg-wide{width:100%}.mg-dialog-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.mg-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#7a817a;font-size:12px}.mg-divider:before,.mg-divider:after{content:"";height:1px;flex:1;background:var(--mg-line)}.mg-profile{display:flex;align-items:center;gap:13px;margin:20px 0}.mg-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--mg-ink);color:white;font-size:18px}.mg-profile div{display:grid;gap:4px}.mg-profile small{color:#69746c}.mg-feature-list{display:grid;gap:0;border-top:1px solid var(--mg-line);margin-top:20px}.mg-feature-list>div{display:grid;gap:4px;padding:13px 0;border-bottom:1px solid var(--mg-line)}.mg-feature-list span{color:#59635d;font-size:12px;line-height:1.5}.mg-notice-warning{padding:13px 15px;background:#f1e5d4;border-left:3px solid #bd582d;color:#543b2a;font-size:12px;line-height:1.6}.mg-notice-message{font-size:15px;line-height:1.8;white-space:normal}.mg-existing{margin-top:24px}.mg-existing h3{font-size:13px;text-transform:uppercase;letter-spacing:.1em}.mg-notice-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:15px 0;border-top:1px solid var(--mg-line)}.mg-notice-row>div:first-child{min-width:0}.mg-notice-row small{display:block;margin-top:4px;color:#69746c;text-transform:capitalize}.mg-notice-row p{margin:8px 0 0;color:#59635d;font-size:12px;line-height:1.55;overflow-wrap:anywhere}.mg-row-actions{display:flex;align-items:flex-start;gap:5px}.mg-row-actions button{border:1px solid var(--mg-line);border-radius:99px;background:transparent;padding:7px 10px;color:inherit;font-size:12px;cursor:pointer}.mg-modal-open{overflow:hidden}
/* Image placeholders become refined shimmer surfaces while remote photographs load. */
.tmp,.plan-destination-hero,.sup-ph,.layover-art{background:linear-gradient(110deg,#e7e2d7 8%,#f5f0e7 18%,#e7e2d7 33%);background-size:220% 100%;animation:mg-shimmer 1.7s linear infinite}.tmp.mg-photo-ready,.plan-destination-hero.mg-photo-ready,.sup-ph.mg-photo-ready,.layover-art.mg-photo-ready{animation:none;background:#e7e2d7}.tmp img,.plan-destination-hero img,.sup-ph img,.layover-art img{opacity:1;visibility:visible;transition:opacity .35s ease}.tmp img.mg-img-ready,.plan-destination-hero img.mg-img-ready,.sup-ph img.mg-img-ready,.layover-art img.mg-img-ready{opacity:1}.tmp img.mg-img-failed,.plan-destination-hero img.mg-img-failed{opacity:1}.mg-image-fallback{position:absolute;inset:0;display:grid;place-items:center;padding:16px;text-align:center;color:#6c7168;font-size:12px;line-height:1.5;background:linear-gradient(135deg,#eee8dc,#ded8ca)}
@keyframes mg-shimmer{to{background-position-x:-220%}}@keyframes mg-rise{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){.mg-account-trigger,.mg-removed-install{min-height:36px;padding:6px 9px;font-size:12px}.mg-account-dot{width:21px;height:21px}.mg-layer{padding:10px;align-items:end}.mg-dialog{width:100%;max-height:92dvh;border-radius:22px 22px 14px 14px;padding:25px 20px calc(22px + env(safe-area-inset-bottom))}.mg-dialog-actions .mg-button{flex:1}.mg-notice-row{grid-template-columns:1fr}.mg-row-actions{justify-content:flex-start}.mg-notice-row p{max-width:100%}}
@media(prefers-reduced-motion:reduce){.mg-dialog,.tmp,.plan-destination-hero,.sup-ph,.layover-art{animation:none!important}.mg-account-trigger,.mg-removed-install,.tmp img,.plan-destination-hero img,.sup-ph img,.layover-art img{transition:none!important}}

/* ---- Group hero service tabs: equal, symmetrical gaps that scale with the screen ---- */
html body #main section.group-hero #int.intents{display:flex!important;flex-flow:row nowrap!important;justify-content:space-between!important;align-items:flex-start!important;gap:clamp(8px,2vw,28px)!important;grid-template-columns:none!important;width:100%!important;max-width:none!important;padding:0!important;margin-top:clamp(24px,4vw,52px)!important;overflow:visible!important;border-top:1px solid rgba(255,255,255,.3)!important}
html body #main section.group-hero #int.intents button,
html body #main section.group-hero #int.intents button:nth-child(n+4){flex:0 0 auto!important;display:block!important;width:auto!important;min-width:0!important;min-height:44px!important;margin:0!important;padding:clamp(12px,1.6vw,18px) 0 8px!important;text-align:center!important;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;hyphens:none!important;letter-spacing:.01em!important;font-size:clamp(11px,3.1vw,15px)!important;line-height:1.3!important}
html body #main section.group-hero #int.intents button:before{left:0!important;right:0!important;top:-1px!important}
@media(max-width:359px){html body #main section.group-hero #int.intents button,html body #main section.group-hero #int.intents button:nth-child(n+4){font-size:12px!important;letter-spacing:0!important}}
/* Header: keep the sign-in control compact so the primary menu is never crowded out */
@media(max-width:420px){.mg-account-trigger>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mg-account-trigger{padding:6px}}
/* Planner: "Other" option (replaces the free-text destination search) */
.plan-other{display:flex;align-items:center;justify-content:space-between;gap:14px 18px;flex-wrap:wrap;margin:16px 0 4px;padding:15px 16px;border:1px dashed rgba(189,88,45,.55);border-radius:14px;background:rgba(189,88,45,.06)}
.plan-other-text{display:grid;gap:3px;flex:1 1 220px;min-width:0}.plan-other-text b{font-size:13px}.plan-other-text span{font-size:12px;line-height:1.55;color:#59635d}
.plan-other .btn{flex:0 0 auto}
@media(max-width:560px){.plan-other .btn{width:100%;justify-content:center}}

/* ===== Consolidated source layer: site.css ===== */
/* ==== app ==== */
:root{--bg:#f4efe7;--fg:#15110e;--card:#fbf8f3;--mut:#6f675d;--line:#ddd4c6;--acc:#b04512;--deep:#15221b;--gold:#e2a93b;--r:22px;--btn:#15110e;--btnf:#fff;--hv:#c4501b;--ease:cubic-bezier(.2,.8,.2,1);--w:min(1240px,100% - 48px);--dsp:"Fraunces",Georgia,serif;--sans:"Inter",system-ui,sans-serif;--dw:400;--dl:-.02em;--dt:none}
body[data-s=tours]{--bg:#0e1612;--fg:#f1ebde;--card:#16221b;--mut:#9aa79d;--line:#26352c;--acc:#e2a93b;--deep:#070c09;--r:14px;--btn:#e2a93b;--btnf:#1a1204;--hv:#f1ebde}
body[data-s=cars]{--bg:#0a0a0b;--fg:#f2f0ea;--card:#131315;--mut:#8d8d92;--line:#26262a;--acc:#c9a96a;--deep:#000;--gold:#c9a96a;--r:3px;--btn:#c9a96a;--btnf:#0a0a0b;--hv:#f2f0ea;--dsp:"Manrope",system-ui,sans-serif;--dw:800;--dl:-.04em;--dt:uppercase;--sans:"Manrope",system-ui,sans-serif}
body[data-s=business]{--bg:#f6f7f9;--fg:#0e1b33;--card:#fff;--mut:#5b6679;--line:#d9dee7;--acc:#1f5eff;--deep:#0e1b33;--gold:#8fb0ff;--r:6px;--btn:#0e1b33;--btnf:#fff;--hv:#1f5eff;--dsp:"Instrument Serif",Georgia,serif;--sans:"IBM Plex Sans",system-ui,sans-serif;--dl:-.01em}
body[data-s=trade]{--bg:#f1e6d3;--fg:#26150d;--card:#f8f0e3;--mut:#6e5a48;--line:#dbc9ad;--acc:#356a31;--deep:#2a150b;--gold:#e0a458;--r:30px;--btn:#3f7a3a;--btnf:#fff;--hv:#2a150b;--dsp:"Bricolage Grotesque",system-ui,sans-serif;--dw:800;--dl:-.04em}
body[data-s=support]{--bg:#e9f1ea;--fg:#12302a;--card:#fff;--mut:#587068;--line:#cfdccf;--acc:#b9381a;--deep:#12302a;--gold:#ffb59f;--r:34px;--btn:#ff6f4d;--btnf:#12302a;--hv:#12302a;--dsp:"DM Sans",system-ui,sans-serif;--dw:700;--dl:-.035em;--sans:"DM Sans",system-ui,sans-serif}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--fg);font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .5s,color .5s}
a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}ul,ol{list-style:none;padding:0}
img{display:block;width:100%;height:100%;object-fit:cover}.ic{width:1.1em;height:1.1em;flex:none}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:8px}
.skip{position:fixed;left:12px;top:-60px;background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:99px;z-index:99}.skip:focus{top:12px}
.bar{position:fixed;inset:0 0 auto;height:2px;background:var(--acc);transform-origin:0;transform:scaleX(0);z-index:60}
.w{width:var(--w);margin-inline:auto}
h1,h2,h3{font-family:var(--dsp);font-weight:var(--dw);letter-spacing:var(--dl);line-height:1.02;text-transform:var(--dt)}
h1{font-size:clamp(44px,8.4vw,128px)}h2{font-size:clamp(34px,5vw,72px)}h3{font-size:clamp(21px,2.1vw,29px);line-height:1.1}
body[data-s=cars] h1{font-size:clamp(40px,7.4vw,110px)}body[data-s=cars] h3{font-size:clamp(17px,1.6vw,22px)}body[data-s=business] h1{font-size:clamp(48px,7.6vw,116px);line-height:.96}body[data-s=business] h2{font-size:clamp(40px,5.4vw,78px)}
em{font-style:italic;color:var(--acc)}.mut{color:var(--mut)}
.eye{font:600 12px/1.45 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);display:flex;gap:10px;align-items:center}.eye:before{content:"";width:22px;height:1px;background:currentColor}
body[data-s=support] .eye:before{width:8px;height:8px;border-radius:50%;background:var(--acc)}body[data-s=trade] .eye:before{display:none}body[data-s=trade] .eye{padding:7px 14px;border-radius:99px;background:var(--card);border:1px solid var(--line);width:fit-content}
/* header */
header{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px max(24px,calc((100% - 1240px)/2));transition:transform .5s var(--ease),background .3s,color .3s,box-shadow .3s}
header.hid{transform:translateY(-100%)}header.sol{background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 1px 0 var(--line)}
body[data-hero="1"] header:not(.sol){color:#fff}
.logo{display:flex;align-items:center;gap:10px;font:700 15px var(--sans);letter-spacing:.16em}.logo span{display:flex;flex-direction:column;line-height:1.05}.logo em{font:500 11px var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--acc);font-style:normal;margin-top:3px}body[data-hero="1"] header:not(.sol) .logo em{color:#fff;opacity:.8}
.logo b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--acc);color:var(--btnf,#fff);font:500 19px var(--dsp);letter-spacing:0;transition:transform .6s var(--ease)}@media (hover:hover){.logo:hover b{transform:rotate(-12deg) scale(1.08)}}
body[data-s=group] .logo b,body[data-s=support] .logo b{color:#fff}body[data-s=cars] .logo b{border-radius:3px}body[data-s=business] .logo b{border-radius:6px}body[data-s=trade] .logo b{border-radius:12px 20px 12px 20px;color:#fff}
#links{display:flex;gap:2px;margin:0 auto;flex-wrap:nowrap}
#links a{position:relative;padding:8px 14px;font-size:14px;font-weight:500;border-radius:99px;opacity:.78;transition:opacity .2s}
#links a:after{content:"";position:absolute;left:14px;right:14px;bottom:3px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}#links a.on{opacity:1}@media (hover:hover){#links a:hover{opacity:1}}#links a.on:after{transform:scaleX(1)}@media (hover:hover){#links a:hover:after{transform:scaleX(1)}}
body[data-s=cars] #links a{text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700;border-radius:0}body[data-s=business] #links a{border-radius:0;font-size:14px}body[data-s=business] #links a:after{bottom:-14px;height:2px;background:var(--acc)}body[data-s=trade] #links a.on{background:var(--card)}@media (hover:hover){body[data-s=trade] #links a:hover{background:var(--card)}}body[data-s=trade] #links a:after,body[data-s=support] #links a:after{display:none}body[data-s=support] #links a.on{background:var(--card)}@media (hover:hover){body[data-s=support] #links a:hover{background:var(--card)}}
body[data-s=support] header{margin:12px max(12px,calc((100% - 1240px)/2));padding:10px 14px 10px 20px;border-radius:99px;background:color-mix(in srgb,var(--card) 90%,transparent);backdrop-filter:blur(14px);box-shadow:0 10px 40px -16px rgba(18,48,42,.35);inset:0 0 auto}body[data-s=support] header.sol{background:var(--card)}
body[data-s=cars] header{background:linear-gradient(180deg,#000,transparent)}body[data-s=cars] header.sol{background:#000;box-shadow:0 1px 0 var(--acc)}
body[data-s=business] header{background:#fff;box-shadow:0 1px 0 var(--line)}body[data-s=trade] header{background:var(--bg);border-bottom:2px solid var(--fg)}
.nr{display:flex;align-items:center;gap:8px}
.swb,.sbtn{display:flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);border-radius:99px;font-size:13px;font-weight:500;transition:background .2s}@media (hover:hover){.swb:hover,.sbtn:hover{background:color-mix(in srgb,currentColor 10%,transparent)}}
body[data-s=cars] .swb,body[data-s=cars] .sbtn,body[data-s=business] .swb,body[data-s=business] .sbtn{border-radius:3px}
kbd{font:500 12px var(--sans);padding:2px 6px;border-radius:6px;background:color-mix(in srgb,currentColor 12%,transparent)}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid color-mix(in srgb,currentColor 25%,transparent);position:relative}.burger i{position:absolute;left:14px;right:14px;height:1.5px;background:currentColor;transition:transform .4s var(--ease)}.burger i:first-child{top:18px}.burger i:last-child{top:25px}
.burger[aria-expanded=true] i:first-child{transform:translateY(3.5px) rotate(45deg)}.burger[aria-expanded=true] i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
body.mo header{color:#fff!important;z-index:2010}
#menu{position:fixed;inset:0;z-index:2000;background:var(--deep);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:100px 28px 40px;clip-path:circle(0 at calc(100% - 46px) 38px);transition:clip-path .7s var(--ease);visibility:hidden;overflow:auto;isolation:isolate}
body.mo #menu{z-index:2000;clip-path:circle(150% at calc(100% - 46px) 38px);visibility:visible}
#menu>a{font:400 clamp(34px,10vw,58px)/1.15 var(--dsp);display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;column-gap:10px;opacity:0;transform:translateY(24px);transition:opacity .5s,transform .6s var(--ease);min-width:0}body.mo #menu>a{opacity:1;transform:none;transition-delay:calc(.12s + var(--i)*.05s)}#menu small{font:500 12px var(--sans);color:var(--gold);margin-right:0;letter-spacing:.1em;align-self:center}#menu .menu-label{display:block;min-width:0;overflow-wrap:anywhere}#menu .menu-amp{font-size:.68em;font-weight:400;vertical-align:.08em;opacity:.88;margin-inline:.035em}
/* buttons */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:12px;padding:16px 26px;border-radius:99px;background:var(--btn);color:var(--btnf);font-weight:600;font-size:15px;isolation:isolate;transition:transform .3s var(--ease),color .3s}
.btn:before{content:"";position:absolute;inset:0;background:var(--hv);transform:translateY(101%);transition:transform .5s var(--ease);z-index:-1;border-radius:50% 50% 0 0/20% 20% 0 0}@media (hover:hover){.btn:hover:before{transform:none;border-radius:0}}@media (hover:hover){.btn:hover{color:var(--bg)}}.btn .ic{transition:transform .4s var(--ease)}@media (hover:hover){.btn:hover .ic{transform:translateX(4px)}}.btn:active{transform:scale(.97)}
@media (hover:hover){body[data-s=group] .btn:hover,body[data-s=support] .btn:hover,body[data-s=business] .btn:hover,body[data-s=trade] .btn:hover{color:#fff}}
body[data-s=cars] .btn,body[data-s=business] .btn{border-radius:3px;text-transform:none}body[data-s=cars] .btn{text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:800}body[data-s=trade] .btn{border-radius:18px 18px 18px 4px;font-family:var(--dsp);font-weight:700}
.btn.sm{padding:10px 18px;font-size:14px}
header:not(.sol) .btn.sm{--btn:#fff;--btnf:#15110e}@media (hover:hover){body[data-hero="1"] header:not(.sol) .btn.sm:hover{color:#fff}}body:not([data-hero="1"]) header:not(.sol) .btn.sm{--btn:var(--acc);--btnf:#fff}
.btn.alt{background:transparent;color:inherit;box-shadow:inset 0 0 0 1px currentColor}@media (hover:hover){.btn.alt:hover{color:#fff;box-shadow:none}}.btn.lt{background:#fff;color:#15110e}@media (hover:hover){.btn.lt:hover{color:#fff}}
.chip{padding:9px 16px;border-radius:99px;border:1px solid var(--line);font-size:14px;font-weight:500;transition:all .25s var(--ease);white-space:nowrap}@media (hover:hover){.chip:hover{border-color:var(--fg)}}.chip.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}
body[data-s=cars] .chip,body[data-s=business] .chip{border-radius:3px}body[data-s=trade] .chip.on{background:var(--acc);border-color:var(--acc);color:#fff}body[data-s=support] .chip.on{background:var(--acc);border-color:var(--acc);color:#fff}body[data-s=tours] .chip.on{background:var(--acc);color:#1a1204;border-color:var(--acc)}body[data-s=business] .chip.on{background:var(--acc);border-color:var(--acc);color:#fff}body[data-s=cars] .chip.on{background:var(--acc);color:#000;border-color:var(--acc)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
main{min-height:100vh;animation:pg .7s var(--ease)}@keyframes pg{from{opacity:0;transform:translateY(16px)}}
/* Content is visible by default. Reveal animation is progressive enhancement only, so a failed observer/script never hides the entire page. */
[data-r]{opacity:1;transform:none;transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--d,0)*70ms)}body.app-ready [data-r]{opacity:0;transform:translateY(28px)}body.app-ready [data-r].in{opacity:1;transform:none}
.boot-fallback{padding:150px 0 64px;background:var(--bg);color:var(--fg)}.boot-fallback[hidden]{display:none!important}.boot-fallback-inner h1{max-width:15ch;margin:0 0 18px;font-size:clamp(40px,5.8vw,76px);line-height:1.04}.boot-fallback-inner>p{max-width:62ch;color:var(--mut);font-size:18px}.boot-fallback-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:36px 0}.boot-fallback-grid>a{position:relative;min-width:0;min-height:190px;overflow:hidden;border-radius:var(--r);background:var(--deep);color:#fff}.boot-fallback-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72}.boot-fallback-grid>a:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.82))}.boot-fallback-grid span{position:absolute;z-index:1;left:18px;right:14px;bottom:16px;display:grid;gap:4px}.boot-fallback-grid b{font:500 24px var(--dsp)}.boot-fallback-grid small{font-size:13px;color:rgba(255,255,255,.82)}.boot-fallback-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:24px}.boot-status{font-size:12px!important;margin-top:22px!important;opacity:.7}
@media(max-width:620px){.boot-fallback{padding-top:110px}.boot-fallback-grid{grid-template-columns:1fr;gap:10px}.boot-fallback-grid>a{min-height:130px}.boot-fallback-inner>p{font-size:16px}}
.tmp{position:relative;overflow:hidden;background:var(--line)}.tmp:after{display:none}
/* group hero + shared hero */
.hero{position:relative;min-height:100svh;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:140px 0 36px;overflow:hidden;background:var(--deep)}
.hero .bg{position:absolute;inset:-4%;opacity:0;transform:scale(1.12);transition:opacity 1.4s,transform 8s linear}.hero .bg.on{opacity:1;transform:scale(1)}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,11,.5),rgba(10,14,11,.1) 35%,rgba(10,14,11,.85))}
.hero .w{position:relative;z-index:2}.hero h1{max-width:11ch;margin:22px 0 28px}.hero .eye{color:#fff}
.hero .sub{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px}.hero .sub p,#hb{max-width:440px;font-size:19px;line-height:1.45;opacity:.92;transition:opacity .4s,transform .5s var(--ease)}.swp .sub p,.swp #hb{opacity:0;transform:translateY(10px)}
.intents{display:flex;margin-top:44px;border-top:1px solid rgba(255,255,255,.28)}.intents button{flex:1;position:relative;text-align:left;padding:18px 16px 4px 0;font-size:14px;font-weight:500;opacity:.6;transition:opacity .3s;color:#fff}.intents button small{display:block;font-size:12px;letter-spacing:.12em;opacity:.7;margin-bottom:4px}.intents button.on{opacity:1}@media (hover:hover){.intents button:hover{opacity:1}}
.intents button:before{content:"";position:absolute;left:0;right:12px;top:-1px;height:2px;background:#fff;transform:scaleX(0);transform-origin:left}.intents button.on:before{animation:fill 6s linear forwards}.intents.stop button.on:before{animation:none;transform:none}@keyframes fill{to{transform:none}}
.mq{overflow:hidden;border-block:1px solid var(--line);padding:22px 0;background:var(--card)}.mq div{display:flex;gap:48px;width:max-content;animation:mq 50s linear infinite;font:300 30px var(--dsp);white-space:nowrap;text-transform:var(--dt)}@media (hover:hover){.mq:hover div{animation-play-state:paused}}.mq span:after{content:"";display:inline-block;width:20px;height:20px;margin-left:48px;vertical-align:middle;background:none}@keyframes mq{to{transform:translateX(-50%)}}
section{padding:clamp(72px,11vw,150px) 0}section.alt{background:var(--card)}.sh{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;margin-bottom:clamp(36px,5vw,64px)}.sh h2{max-width:14ch;margin-top:18px}.sh p{max-width:380px;color:var(--mut)}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.tile{--x:50%;--y:50%;position:relative;overflow:hidden;border-radius:var(--r);padding:28px;min-height:280px;display:flex;flex-direction:column;justify-content:space-between;background:var(--card);border:1px solid var(--line);transition:transform .5s var(--ease),border-color .3s}
.tile:before{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--x) var(--y),rgba(196,80,27,.14),transparent 60%);opacity:0;transition:opacity .3s}@media (hover:hover){.tile:hover:before{opacity:1}}@media (hover:hover){.tile:hover{transform:translateY(-4px);border-color:var(--fg)}}.tile>*{position:relative}
.tile .go{position:absolute;right:22px;top:22px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid currentColor;transition:all .4s var(--ease)}@media (hover:hover){.tile:hover .go{background:var(--acc);border-color:var(--acc);color:#fff;transform:rotate(-45deg)}}.tile .n{font:600 12px var(--sans);letter-spacing:.12em;opacity:.6}.tile p{max-width:34ch;opacity:.8;margin-top:10px}
.t1{grid-column:span 4;grid-row:span 2;color:#fff;background:var(--deep);min-height:560px}.t1 img{position:absolute;inset:0;height:100%;transition:transform 1.2s var(--ease)}@media (hover:hover){.t1:hover img{transform:scale(1.05)}}.t1:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.75))}.t1>*{z-index:2}.t1:before{display:none}.t1 h3{font-size:clamp(36px,4.5vw,64px)}.t2{grid-column:span 2}.t3,.t4{grid-column:span 3}
.rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(24px,calc((100% - 1240px)/2)) 20px;scrollbar-width:none;cursor:grab}.rail::-webkit-scrollbar{display:none}.rail.drag{cursor:grabbing;scroll-snap-type:none}.rail .card{flex:0 0 min(340px,78vw);scroll-snap-align:start}
.rc{display:flex;gap:8px}.rc button{width:52px;height:52px;border-radius:50%;border:1px solid var(--fg);display:grid;place-items:center;transition:all .3s}@media (hover:hover){.rc button:hover{background:var(--fg);color:var(--bg)}}.rc button:first-child .ic{transform:rotate(180deg)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px 16px}.card{display:block}.card .ph{aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;position:relative;background:var(--line)}.card img{transition:transform 1s var(--ease)}@media (hover:hover){.card:hover img{transform:scale(1.07)}}
.card .ph b{position:absolute;left:12px;top:12px;padding:6px 12px;border-radius:99px;background:rgba(251,248,243,.92);color:#15110e;font:500 12px var(--sans);backdrop-filter:blur(6px)}.card .ph i{position:absolute;right:12px;bottom:12px;width:44px;height:44px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;transform:scale(0) rotate(-90deg);transition:transform .5s var(--ease)}@media (hover:hover){.card:hover .ph i{transform:none}}
.card h3{margin:16px 0 6px}.card p{color:var(--mut);font-size:15px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body[data-s=tours] .card{position:relative}body[data-s=tours] .card .ph{aspect-ratio:3/4}body[data-s=tours] .card h3{position:absolute;left:20px;right:20px;bottom:56px;margin:0;color:#fff;font-style:italic;font-weight:300;font-size:30px;text-shadow:0 2px 20px rgba(0,0,0,.5)}body[data-s=tours] .card p{position:absolute;left:20px;right:20px;bottom:16px;color:rgba(255,255,255,.8);-webkit-line-clamp:1;font-size:13px}body[data-s=tours] .card .ph:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.8))}body[data-s=tours] .card .ph i{z-index:2;bottom:auto;top:12px}body[data-s=tours] .card .ph b{z-index:2;top:auto;left:20px;bottom:100px;background:transparent;color:var(--acc);padding:0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;backdrop-filter:none}
.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--fg)}.step{padding:28px 28px 8px 0;border-right:1px solid var(--line)}.step:last-child{border:0}.step+.step{padding-left:28px}.step b{font:300 clamp(72px,9vw,140px)/1 var(--dsp);color:var(--acc);display:block;margin-bottom:12px}.step p{color:var(--mut);margin-top:10px;max-width:30ch}
.dark{background:var(--deep);color:#f4efe7;--line:rgba(255,255,255,.2);--mut:rgba(255,255,255,.6)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stats div{border-top:1px solid rgba(255,255,255,.25);padding-top:18px}.stats b{font:300 clamp(48px,7vw,100px)/1 var(--dsp);display:block}.stats span{opacity:.65;font-size:14px}
.cta{text-align:center}.cta h2{max-width:13ch;margin:20px auto 36px;font-size:clamp(44px,8vw,120px)}.cta .eye{color:rgba(255,255,255,.6)}
.ph0{padding:clamp(130px,16vw,200px) 0 40px}.ph0 h1{font-size:clamp(44px,7vw,104px);max-width:13ch;margin:20px 0}.ph0 p{max-width:520px;color:var(--mut);font-size:18px}
.tb{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:16px 0;margin-bottom:28px;position:sticky;top:64px;z-index:20;background:var(--bg);border-block:1px solid var(--line)}
.fld{display:flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid var(--line);border-radius:99px;background:var(--card);min-width:min(280px,100%)}.fld:focus-within{border-color:var(--fg)}.fld input{border:0;background:none;outline:0;flex:1;min-width:0}.cnt{font-size:14px;color:var(--mut)}
.dh{position:relative;height:88svh;min-height:520px;color:#fff;display:flex;align-items:flex-end;overflow:hidden;background:var(--deep)}.dh img{position:absolute;inset:-6% 0 0;height:112%;transform:translateY(var(--y,0))}.dh:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45),transparent 40%,rgba(0,0,0,.8))}.dh .w{position:relative;z-index:2;padding-bottom:48px}.dh h1{font-size:clamp(48px,9vw,140px);font-style:italic;font-weight:300}.dh p{max-width:620px;font-size:19px;margin-top:18px;opacity:.9}
.facts{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.facts div{padding:26px 24px 26px 0}.facts div+div{padding-left:24px;border-left:1px solid var(--line)}.facts .ic{color:var(--acc);width:22px;height:22px}.facts small{display:block;color:var(--mut);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin:10px 0 2px}
.two{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(32px,6vw,90px);align-items:center}.two:has(.hl),.two:has(.side){align-items:start}
.hl{counter-reset:h}.hl li{counter-increment:h;display:flex;gap:20px;padding:20px 0;border-top:1px solid var(--line);font-size:18px}.hl li:before{content:counter(h,decimal-leading-zero);font:600 12px/2.2 var(--sans);color:var(--acc)}
.side{position:sticky;top:90px;background:var(--deep);color:#fff;border-radius:var(--r);padding:28px}.side h3{margin:12px 0 18px}.side .btn{width:100%;justify-content:space-between}.side .l{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid rgba(255,255,255,.18);margin-top:12px;opacity:.85;transition:padding .3s var(--ease)}@media (hover:hover){.side .l:hover{opacity:1;padding-left:6px}}
body[data-s=tours] .side,body[data-s=cars] .side{background:var(--card);color:var(--fg);border:1px solid var(--line)}body[data-s=tours] .side .btn.lt,body[data-s=cars] .side .btn.lt{background:var(--acc);color:var(--btnf)}
.note{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 24px;color:var(--mut);font-size:14px;margin-top:28px}.note b{color:var(--fg)}
.rows .row{display:grid;grid-template-columns:90px 1fr auto;gap:20px;align-items:center;padding:24px 0;border-top:1px solid var(--line);transition:padding .4s var(--ease),background .3s}.rows .row:last-child{border-bottom:1px solid var(--line)}@media (hover:hover){.rows .row:hover{padding-left:14px;padding-right:14px;background:var(--card)}}.row .d{font:300 48px var(--dsp);color:var(--acc)}.row .d small{font:500 12px var(--sans);margin-left:6px;color:var(--mut)}.row small{display:block;color:var(--mut)}
.tl{position:relative;padding-left:30px}.tl:before{content:"";position:absolute;left:5px;top:10px;bottom:10px;width:1px;background:var(--line)}.day{position:relative;border-bottom:1px solid var(--line)}.day:before{content:"";position:absolute;left:-30px;top:30px;width:11px;height:11px;border-radius:50%;background:var(--bg);border:1.5px solid var(--acc);transition:background .3s}.day.on:before{background:var(--acc)}
.day>button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 0;text-align:left;font:400 24px var(--dsp);text-transform:var(--dt)}.day .ic{width:18px;height:18px;flex:none;transition:opacity .2s ease}.day.on .ic{transform:none}.day>div{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}.day.on>div{grid-template-rows:1fr}.day p{overflow:hidden;color:var(--mut);max-width:60ch}.day.on p{padding-bottom:24px}
.route{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:20px 0}.route a{padding:7px 14px;border-radius:99px;background:var(--card);border:1px solid var(--line);font-size:14px;transition:border-color .2s}@media (hover:hover){.route a:hover{border-color:var(--acc)}}.route-arrow{display:inline-grid;place-items:center;vertical-align:middle;margin:0 2px}.route-arrow .ic{width:16px;height:16px}
/* stays/events/atlas */
.stg{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}.stc .ph{aspect-ratio:16/10;border-radius:var(--r);margin-bottom:16px}.stc img{transition:transform 1s var(--ease)}@media (hover:hover){.stc:hover img{transform:scale(1.05)}}.stc small{color:var(--acc);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.stc h3{margin:6px 0 8px}.stc p{color:var(--mut);font-size:15px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.tags span{padding:4px 10px;border-radius:99px;background:var(--card);border:1px solid var(--line);font-size:12px}
.lnk{display:inline-flex;gap:8px;align-items:center;font-weight:600;font-size:14px;margin-top:6px;transition:gap .3s}@media (hover:hover){.lnk:hover{gap:14px;color:var(--acc)}}
.evs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.ev{display:grid;gap:4px;padding:26px;border-radius:var(--r);background:var(--bg);border:1px solid var(--line);transition:transform .4s var(--ease),border-color .3s}@media (hover:hover){.ev:hover{transform:translateY(-4px);border-color:var(--acc)}}.ev b{font:300 64px/1 var(--dsp);color:var(--acc)}.ev span{font-size:13px;color:var(--mut);text-transform:uppercase;letter-spacing:.1em}.ev h3{margin:12px 0 4px}.ev small{color:var(--mut)}
.dm{width:100%;height:auto;max-height:560px}.dm .gr path{stroke:var(--line);stroke-width:1;fill:none}.dm circle{fill:var(--acc)}.dm .pl{fill:var(--acc);opacity:.25;animation:pu 2.4s infinite}.dm text{font:500 12px var(--sans);fill:var(--mut);opacity:0;transition:opacity .2s}@media (hover:hover){.dm a:hover text{opacity:1;fill:var(--fg)}}@keyframes pu{50%{r:22;opacity:0}}
.ix a{display:grid;grid-template-columns:60px 1fr auto 30px;gap:16px;align-items:center;padding:20px 0;border-top:1px solid var(--line);transition:padding .4s var(--ease),color .3s}.ix a:last-child{border-bottom:1px solid var(--line)}@media (hover:hover){.ix a:hover{padding-left:16px;color:var(--acc)}}.ix span{font:600 12px var(--sans);color:var(--mut)}.ix h3{font:300 clamp(28px,4vw,56px)/1 var(--dsp);font-style:italic}.ix small{color:var(--mut)}
#fl{position:fixed;left:0;top:0;width:260px;height:340px;pointer-events:none;z-index:30;opacity:0;border-radius:var(--r);overflow:hidden;transition:opacity .25s;box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}#fl.on{opacity:1}
.rail2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.rt{display:flex;flex-direction:column;gap:8px;padding:26px;border:1px solid var(--line);border-radius:var(--r);min-height:260px;transition:all .4s var(--ease);justify-content:flex-end}@media (hover:hover){.rt:hover{background:var(--acc);color:#1a1204;transform:translateY(-6px)}}.rt b{font:300 90px/1 var(--dsp);margin-bottom:auto}.rt small{opacity:.7}
.th .thc{max-width:760px;transition:opacity .35s,transform .5s var(--ease)}.th .thc.sw2{opacity:0;transform:translateY(14px)}.th h1{font-style:italic;font-weight:300;font-size:clamp(56px,11vw,170px);max-width:none;margin:18px 0}.th p{max-width:520px;font-size:18px;opacity:.9;margin-bottom:28px}.bt{display:flex;gap:12px;flex-wrap:wrap}
.thumbs{display:flex;gap:10px;margin-top:40px}.thumbs button{position:relative;width:76px;height:96px;border-radius:12px;overflow:hidden;opacity:.55;transition:all .4s var(--ease)}.thumbs button.on{opacity:1;transform:translateY(-6px)}@media (hover:hover){.thumbs button:hover{opacity:1;transform:translateY(-6px)}}.thumbs i{position:absolute;left:0;bottom:0;height:3px;background:var(--acc);width:0}.thumbs button.on i{animation:fl 6.5s linear forwards}@keyframes fl{to{width:100%}}
.atl{display:grid;grid-template-columns:380px 1fr;height:100svh;padding-top:68px}.atl aside{padding:30px 24px;overflow:auto;border-right:1px solid var(--line)}.atl h1{font-size:44px;margin:14px 0}#al button{display:flex;gap:12px;align-items:center;width:100%;text-align:left;padding:10px;border-radius:14px;transition:background .2s}#al button.on{background:var(--card)}@media (hover:hover){#al button:hover{background:var(--card)}}#al img{width:48px;height:48px;border-radius:10px;flex:none}#al span{flex:1;font-weight:500}#al small{display:block;color:var(--mut);font-weight:400;font-size:12px}#map{height:100%;background:var(--card)}
.mk i{display:block;width:16px;height:16px;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.4);background:var(--acc)}.mk.ms i{background:#2f6bff;width:12px;height:12px}.mk.mc i{background:#3f7a3a;border-radius:4px}.pp{font-family:var(--sans)}.pp small{display:block;color:#888;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.pp a{display:flex;gap:6px;align-items:center;color:#c4501b;font-weight:600;margin-top:6px}
.cwrap{display:grid;grid-template-columns:1.6fr 1fr;gap:30px;align-items:start}.chd2{display:flex;align-items:center;gap:12px;margin-bottom:16px}.chd2 h2{font-size:36px;flex:1}.chd2 button:not(.chip){width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center}.chd2 button:first-child .ic{transform:rotate(180deg)}@media (hover:hover){.chd2 button:hover{background:var(--fg);color:var(--bg)}}
.cg{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cg>span{font:600 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);padding:6px}.cd{min-height:96px;border:1px solid var(--line);border-radius:10px;padding:8px;text-align:left;display:flex;flex-direction:column;gap:3px;transition:all .25s;overflow:hidden}@media (hover:hover){.cd:hover{border-color:var(--fg)}}.cd.td b{color:var(--acc)}.cd.sel{background:var(--fg);color:var(--bg)}.cd b{font-size:13px}.cd span{font-size:12px;line-height:1.2;padding:2px 5px;border-radius:5px;background:var(--acc);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cd em{font-size:12px;color:var(--mut);font-style:normal}
.k1{background:#c4501b!important}.k2{background:#3f7a3a!important}.k3{background:#2f6bff!important}.k4{background:#8a5ad1!important}.k5{background:#555!important}.cdp{position:sticky;top:90px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:grid;gap:18px}.cdp article{padding-top:16px;border-top:1px solid var(--line);display:grid;gap:8px}.cdp article:first-of-type{border:0;padding:0}.cdp small{color:var(--mut)}.cdp p{font-size:14px;color:var(--mut)}.cdp .vn{color:var(--fg);background:var(--bg);padding:10px 12px;border-radius:10px}.cf{text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--acc)}
.pl2{margin:18px 0;counter-reset:q}.pl2 li{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid rgba(255,255,255,.18)}
/* cars */
.ch{position:relative;padding:130px 0 60px;background:radial-gradient(1200px 500px at 80% 0,rgba(201,169,106,.16),transparent),var(--bg)}.ch2{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}.ch h1 em{display:block;color:var(--acc);font-style:normal}.ch p{max-width:46ch;color:var(--mut);margin-top:22px;font-size:18px}.chp{aspect-ratio:4/3;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%);border-radius:0}
.qw{margin-top:40px;background:var(--card);border:1px solid var(--line);border-top:2px solid var(--acc)}.qm{display:flex;border-bottom:1px solid var(--line);overflow-x:auto}.qm button{padding:16px 24px;font:800 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mut);white-space:nowrap;border-right:1px solid var(--line);transition:all .25s}.qm button.on{background:var(--acc);color:#000}@media (hover:hover){.qm button:not(.on):hover{color:var(--fg)}}
.qf{display:grid;grid-template-columns:1.2fr 1.2fr 1fr .6fr auto;gap:0;align-items:stretch}.qf label{display:flex;flex-direction:column;gap:4px;padding:16px 20px;border-right:1px solid var(--line);font:800 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}.qf input{background:none;border:0;outline:0;font:600 16px var(--sans);color:var(--fg);text-transform:none;letter-spacing:0;min-width:0;color-scheme:dark}.qf .btn{border-radius:0}
.mg{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line)}.mg a{position:relative;padding:28px 22px 80px;border-right:1px solid var(--line);transition:background .4s,color .4s}.mg a:last-child{border:0}@media (hover:hover){.mg a:hover{background:var(--acc);color:#000}}.mg small{font:800 12px var(--sans);color:var(--acc);transition:color .3s}@media (hover:hover){.mg a:hover small{color:#000}}.mg h3{margin:40px 0 6px}.mg p{font-size:14px;color:var(--mut)}@media (hover:hover){.mg a:hover p{color:#000}}.mg .ic{position:absolute;right:20px;bottom:24px;width:26px;height:26px}
.vg{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.vc{background:var(--card);border:1px solid var(--line);transition:border-color .3s,transform .4s var(--ease)}@media (hover:hover){.vc:hover{border-color:var(--acc);transform:translateY(-4px)}}.vc .ph{display:block;aspect-ratio:16/10;overflow:hidden}.vc .tmp{height:100%}.vc img{transition:transform 1s var(--ease)}@media (hover:hover){.vc:hover img{transform:scale(1.06)}}.vb{padding:18px 20px 20px}.vb small{color:var(--acc);font:800 11px var(--sans);letter-spacing:.14em;text-transform:uppercase}.vb h3{margin:6px 0 12px}.sp{display:flex;gap:16px;color:var(--mut);font-size:13px;flex-wrap:wrap}.sp span{display:flex;gap:6px;align-items:center}.vf{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.vf .chip{padding:6px 12px;font-size:12px}
.cb{position:fixed;left:50%;bottom:20px;transform:translate(-50%,120px);z-index:40;display:flex;gap:18px;align-items:center;background:var(--acc);color:#000;padding:10px 12px 10px 24px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:12px;transition:transform .5s var(--ease)}.cb.on{transform:translate(-50%,0)}.cb .btn{--btn:#000;--btnf:#fff}
.modes{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:18px}.modes button{padding:18px 16px;border:1px solid var(--line);text-align:left;transition:all .3s var(--ease);border-radius:var(--r)}.modes small{display:block;color:var(--mut);font-size:12px}.modes button.on{background:var(--acc);color:#000;border-color:var(--acc)}.modes button.on small{color:rgba(0,0,0,.6)}@media (hover:hover){.modes button:not(.on):hover{border-color:var(--fg)}}
.step8{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:99px;padding:4px;background:var(--card)}.step8 button{width:34px;height:34px;border-radius:50%;background:var(--bg);font-size:18px}@media (hover:hover){.step8 button:hover{background:var(--fg);color:var(--bg)}}
.vh{padding-top:140px}.sp2{width:100%;border-collapse:collapse}.sp2 th{text-align:left;color:var(--mut);font-weight:500;padding:12px 0;border-top:1px solid var(--line);width:40%}.sp2 td{padding:12px 0;border-top:1px solid var(--line)}.big3{aspect-ratio:4/3;border-radius:var(--r)}
.ct{display:grid;grid-template-columns:140px repeat(var(--n),1fr);border:1px solid var(--line);font-size:14px}.ct>div{padding:14px 16px;border-top:1px solid var(--line)}.ct .chd{border-top:0}.ct .chd .tmp{aspect-ratio:16/10;margin-bottom:10px}.ct .cl{color:var(--mut);font-weight:600}
.faq .fq{border-top:1px solid var(--line)}.fq:last-child{border-bottom:1px solid var(--line)}.fq button{width:100%;display:flex;justify-content:space-between;gap:16px;padding:24px 0;text-align:left;font:400 22px var(--dsp);text-transform:var(--dt)}.fq .ic{width:18px;height:18px;flex:none;transition:opacity .2s ease}.fq.on .ic{transform:none}.fq>div{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}.fq.on>div{grid-template-rows:1fr}.fq p{overflow:hidden;color:var(--mut);max-width:62ch}.fq.on p{padding-bottom:24px}
.steps4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.st4{padding:26px;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}.st4 b{font:300 56px/1 var(--dsp);color:var(--acc);display:block;margin-bottom:30px}.st4 p{color:var(--mut);margin-top:8px;font-size:15px}
/* tools */
.tabs{margin-bottom:30px}.tool{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(24px,5vw,70px)}.tl1 h2{font-size:clamp(34px,4vw,56px);margin:16px 0}.tl1 p{color:var(--mut);max-width:44ch}.tl2{display:grid;gap:14px}.tf{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px}.tf .f{margin-top:0;padding:10px 0}.tf .f:first-child{padding-top:0}
.f{display:block;margin-top:20px;font-size:13px;font-weight:600;letter-spacing:.04em}.f input,.f textarea,.f select{display:block;width:100%;margin-top:8px;padding:15px 0;background:none;border:0;border-bottom:1px solid var(--line);outline:0;font-size:18px;transition:border-color .3s;resize:vertical;border-radius:0}.f select{appearance:none}.f select option{color:#111}.f input:focus,.f textarea:focus,.f select:focus{border-color:var(--acc)}
.tr{background:var(--deep);color:#fff;border-radius:var(--r);padding:28px}.tr .eye{color:rgba(255,255,255,.6)}.big2{display:block;font:300 clamp(36px,5vw,64px)/1.05 var(--dsp);margin:12px 0 18px;letter-spacing:-.02em;text-transform:none}.tr dl>div{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid rgba(255,255,255,.18)}.tr dt{opacity:.65}
/* business */
.bh{padding:150px 0 70px;background:linear-gradient(var(--line) 1px,transparent 1px) 0 0/100% 80px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/80px 100%,#fff;background-blend-mode:multiply}.bh2{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}.bh h1 em{color:var(--acc);font-style:normal}.bh p{max-width:46ch;margin:26px 0 32px;color:var(--mut);font-size:19px}
.rd{background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(14,27,51,.3)}.rd a{display:grid;grid-template-columns:44px 1fr 24px;align-items:center;padding:16px 22px;border-bottom:1px solid var(--line);transition:background .25s,padding .3s var(--ease)}.rd li:last-child a{border:0}@media (hover:hover){.rd a:hover{background:var(--fg);color:#fff;padding-left:30px}}.rd span{font:500 12px var(--sans);color:var(--acc)}.rd b{font-weight:500}
.kp{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.kp div{padding:34px 0 34px 28px;border-left:1px solid var(--line)}.kp div:first-child{border-left:0;padding-left:0}.kp b{font:400 64px/1 var(--dsp);display:block}.kp span{color:var(--mut);font-size:14px}
.tg{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);background:#fff}.tc{padding:30px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:12px;transition:background .3s,color .3s;min-height:280px}.tc:last-child{border:0}@media (hover:hover){.tc:hover{background:var(--fg);color:#fff}}.tc small{color:var(--acc);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:11px}.tc p{color:var(--mut);font-size:15px;flex:1}@media (hover:hover){.tc:hover p{color:rgba(255,255,255,.7)}}
.bi{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px}.bi .tmp{aspect-ratio:3/4;height:100%}
.bz{display:grid;grid-template-columns:320px 1fr;gap:clamp(28px,5vw,80px)}.bz nav{position:sticky;top:90px;align-self:start;display:flex;flex-direction:column}.bz nav a{padding:14px 0 14px 18px;border-left:2px solid var(--line);color:var(--mut);transition:all .3s var(--ease)}@media (hover:hover){.bz nav a:hover{color:var(--fg)}}.bz nav a.on{border-color:var(--acc);color:var(--fg);padding-left:26px;font-weight:600}
.bz article{animation:pg .6s var(--ease)}.bz article p{font-size:19px;max-width:62ch;margin:20px 0 28px}.bz li{padding:16px 0 16px 28px;border-top:1px solid var(--line);position:relative}.bz li:before{content:"";position:absolute;left:0;top:26px;width:10px;height:1px;background:var(--acc)}
.lk{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.lk a{display:inline-flex;gap:8px;align-items:center;padding:9px 14px;border-radius:99px;background:var(--card);border:1px solid var(--line);font-size:14px;transition:all .25s}@media (hover:hover){.lk a:hover{background:var(--fg);color:var(--bg)}}
/* trade */
.rh{padding:150px 0 70px;background:var(--bg)}.rh2{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}.rh h1{font-size:clamp(48px,8vw,124px);line-height:.92}.rh h1 em{font-style:normal;color:var(--acc)}.rh p{max-width:44ch;margin:26px 0 30px;font-size:19px;color:var(--mut)}
.stk{position:relative;height:520px}.stk .tmp{position:absolute;width:62%;aspect-ratio:3/4;border-radius:var(--r);transform:rotate(var(--r));box-shadow:0 30px 60px -24px rgba(42,21,11,.5);transition:transform .6s var(--ease)}.stk .tmp:nth-child(1){left:0;top:0}.stk .tmp:nth-child(2){right:0;top:40px}.stk .tmp:nth-child(3){left:18%;bottom:0;width:52%;aspect-ratio:4/3}@media (hover:hover){.stk .tmp:hover{transform:rotate(0) scale(1.04);z-index:3}}
.mos{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:210px;gap:14px}.mos a{position:relative;overflow:hidden;border-radius:var(--r);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:20px}.mos .tmp{position:absolute;inset:0;border-radius:0}.mos .tmp:after{display:none}.mos a:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(26,12,6,.85))}.mos a>*:not(.tmp){position:relative;z-index:2}.mos img{transition:transform 1s var(--ease)}@media (hover:hover){.mos a:hover img{transform:scale(1.08)}}.mos span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.m0{grid-column:span 3;grid-row:span 2}.m1,.m2{grid-column:span 3}.m3,.m4,.m5{grid-column:span 2}.m6{grid-column:span 6}
.pr4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.pr4>div{padding:26px;border-radius:var(--r);background:rgba(255,255,255,.07)}.pr4 b{font:800 64px/1 var(--dsp);color:var(--gold);display:block;margin-bottom:26px}.pr4 p{opacity:.7;font-size:15px;margin-top:8px}
.pg2{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.pc2{background:var(--card);border-radius:var(--r);padding:12px 12px 22px;border:1px solid var(--line);transition:transform .4s var(--ease)}@media (hover:hover){.pc2:hover{transform:translateY(-6px) rotate(-.6deg)}}.pc2 .tmp{aspect-ratio:4/3;border-radius:calc(var(--r) - 8px);margin-bottom:16px}.pc2 small{padding:0 10px;color:var(--acc);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:11px}.pc2 h3,.pc2 p{padding:0 10px}.pc2 h3{margin:6px 0}.pc2 p{color:var(--mut);font-size:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* support */
.sh0{padding:150px 0 70px;text-align:center;background:radial-gradient(700px 400px at 15% 20%,#ffd9cc,transparent),radial-gradient(700px 400px at 90% 10%,#d6ecd8,transparent),var(--bg)}.sh0 h1{max-width:12ch;margin:22px auto}.sh0 h1 em{color:var(--acc)}.sh0>.w>p{max-width:48ch;margin:0 auto 36px;font-size:19px;color:var(--mut)}.sh0 .eye{justify-content:center}
.fd{background:var(--card);border-radius:var(--r);padding:20px;max-width:880px;margin:0 auto;text-align:left;box-shadow:0 30px 70px -30px rgba(18,48,42,.35)}.fd .chips{padding-bottom:16px;border-bottom:1px solid var(--line)}.fdi{padding:22px 10px 8px;display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;animation:pg .5s var(--ease)}.fdi h3{grid-column:1/-1}.fdi p{color:var(--mut)}.fdi ul li{display:flex;gap:10px;padding:5px 0}.fdi .ic{color:var(--acc);margin-top:4px}.fdi .btn{grid-column:1/-1;justify-self:start;margin-top:10px}
.bub{display:flex;justify-content:center;gap:16px;margin-top:50px}.bub .tmp{width:clamp(90px,16vw,200px);aspect-ratio:1;border-radius:50%}.bub .tmp:nth-child(2){margin-top:40px}.bub .tmp:after{display:none}
.sg{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.sc{position:relative;background:var(--bgc);color:#12302a;border-radius:var(--r);padding:28px;min-height:260px;display:flex;flex-direction:column;transition:transform .5s var(--ease),border-radius .5s var(--ease)}@media (hover:hover){.sc:hover{transform:translateY(-6px) rotate(-1deg);border-radius:60px 24px 60px 24px}}.sc small{font:700 12px var(--sans);opacity:.5}.sc h3{margin:auto 0 8px}.sc p{font-size:14px;opacity:.75}.sc span{position:absolute;right:20px;top:20px;width:42px;height:42px;border-radius:50%;background:#12302a;color:#fff;display:grid;place-items:center;transition:transform .4s var(--ease)}@media (hover:hover){.sc:hover span{transform:rotate(-45deg)}}
.sv{display:grid;grid-template-columns:70px 1fr 1fr;gap:20px;padding:34px 0;border-top:1px solid var(--line);align-items:start}.sv>span{font:300 40px var(--dsp);color:var(--acc)}.sv ul{color:var(--mut);font-size:15px}.sv li{padding:4px 0;display:flex;gap:10px}.sv li .ic{color:var(--acc);margin-top:4px}.sv .btn{margin-top:18px}
/* request */
.rq{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(28px,5vw,80px);padding-bottom:100px}.prog{display:flex;gap:6px;margin-bottom:30px}.prog i{flex:1;height:3px;border-radius:3px;background:var(--line);overflow:hidden;position:relative}.prog i:after{content:"";position:absolute;inset:0;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}.prog i.on:after{transform:none}
.types{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ty{text-align:left;padding:18px;border-radius:calc(var(--r) - 6px);border:1px solid var(--line);transition:all .3s var(--ease);position:relative}.ty small{display:block;color:var(--mut)}@media (hover:hover){.ty:hover{border-color:var(--fg)}}.ty.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}.ty.on small{color:inherit;opacity:.65}.ty.on:after{content:"";position:absolute;right:16px;top:14px;width:20px;height:20px;background:none}
.sum{position:sticky;top:90px;align-self:start;background:var(--deep);color:#fff;border-radius:var(--r);padding:28px}.sum dl{margin-top:16px}.sum dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.5;margin-top:16px}.sum dd{margin:2px 0 0;min-height:1.4em}.sum dd:empty:after{content:"—";opacity:.35}.act{display:flex;gap:12px;margin-top:32px;align-items:center}
.ok{text-align:center;padding:60px 0}.ok .ck{width:80px;height:80px;margin:0 auto 24px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;animation:pop .7s var(--ease)}.ok .ck .ic{width:36px;height:36px}@keyframes pop{from{transform:scale(0) rotate(-60deg)}}
/* footer, overlays */
footer{background:var(--deep);color:#f4efe7;padding:90px 0 36px;overflow:hidden}body[data-s=business] footer{background:#0e1b33}.big{font:300 clamp(80px,22vw,340px)/.8 var(--dsp);letter-spacing:-.04em;margin:70px 0 24px;opacity:.12;white-space:nowrap}.fc{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:32px}.fc h4{font:600 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;opacity:.5;margin-bottom:14px}.fc a{display:block;padding:4px 0;opacity:.85;transition:all .25s}@media (hover:hover){.fc a:hover{opacity:1;color:var(--gold);transform:translateX(4px)}}.fc p{font:300 30px/1.15 var(--dsp);max-width:15ch;text-transform:none}.fb{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;opacity:.5;border-top:1px solid rgba(255,255,255,.15);padding-top:20px}
#pal,#sites{position:fixed;inset:0;z-index:80;background:rgba(10,10,10,.6);backdrop-filter:blur(8px);display:grid;place-items:start center;padding:12vh 16px 0;opacity:0;visibility:hidden;transition:all .3s}#pal.on,#sites.on{opacity:1;visibility:visible}
.pbox,.sbx{width:min(640px,100%);background:var(--card);color:var(--fg);border-radius:24px;overflow:hidden;transform:translateY(20px) scale(.97);transition:transform .5s var(--ease);box-shadow:0 40px 100px -20px rgba(0,0,0,.5)}#pal.on .pbox,#sites.on .sbx{transform:none}
.pin{display:flex;gap:12px;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}.pin input{flex:1;border:0;outline:0;background:none;font-size:18px}#pr{padding:8px;max-height:52vh;overflow:auto}#pr a{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px}#pr small{color:var(--mut)}#pr a.sel{background:var(--fg);color:var(--bg)}#pr a.sel small{opacity:.6}#pr .e{padding:24px;text-align:center;color:var(--mut)}
.sbx{width:min(860px,100%)}.sbh{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}.sbh button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center}.sbg{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px}.sbg a{position:relative;padding:18px;border-radius:16px;border:1px solid var(--line);transition:all .3s var(--ease);display:grid;gap:6px}@media (hover:hover){.sbg a:hover{transform:translateY(-3px);border-color:var(--c)}}.sbg i{width:28px;height:28px;border-radius:50%;background:var(--c)}.sbg h3{font:700 16px var(--sans);text-transform:none;letter-spacing:0}.sbg p{font-size:13px;color:var(--mut)}.sbg .ic{position:absolute;right:16px;top:16px}
@media(max-width:960px){#menu{padding:108px 20px 34px}#menu>a{font-size:clamp(28px,8.2vw,46px);line-height:1.08;grid-template-columns:38px minmax(0,1fr);column-gap:8px}#menu small{font-size:12px}#links,.swb,.sbtn span,.sbtn kbd,.nr .btn{display:none}.burger{display:block}.sbtn{padding:12px;border-radius:50%}body[data-s=support] header{padding:8px 10px 8px 16px}
.bento .tile{grid-column:span 6!important;min-height:220px}.t1{min-height:420px!important}.steps,.stats,.fc,.kp,.pr4,.steps4,.mg,.tg,.sbg{grid-template-columns:1fr 1fr}.steps,.tg{grid-template-columns:1fr}.mg{grid-template-columns:1fr}.two,.rq,.bz,.cwrap,.tool,.ch2,.bh2,.rh2,.atl,.vh .two,.fdi{grid-template-columns:1fr}.step{border:0;border-bottom:1px solid var(--line);padding:24px 0!important}.side,.sum,.cdp{position:static}.bz nav{position:static;flex-direction:row;overflow-x:auto;gap:6px}.bz nav a{border:1px solid var(--line);border-radius:99px;padding:9px 16px!important;white-space:nowrap}.bz nav a.on{background:var(--fg);color:var(--bg)}
.modes{grid-template-columns:repeat(5,minmax(130px,1fr));overflow-x:auto}.sv,.facts{grid-template-columns:1fr}.facts div+div{padding-left:0;border:0;border-top:1px solid var(--line)}.intents button small,.intents button:nth-child(n+4){display:none}.hero .sub .btn{width:100%;justify-content:space-between}.types{grid-template-columns:1fr}.tb{top:0;position:static}.qf{grid-template-columns:1fr 1fr}.qf label{border-bottom:1px solid var(--line)}.qf .btn{grid-column:1/-1}.chp{display:none}.stk{height:380px}.mos{grid-template-columns:1fr 1fr;grid-auto-rows:170px}.mos a{grid-column:span 1!important;grid-row:span 1!important}.m0{grid-column:span 2!important}.atl{height:auto;padding-top:68px}#map{height:60vh}.atl aside{max-height:none}.bi{grid-template-columns:1fr}.ct{grid-template-columns:90px repeat(var(--n),1fr);font-size:12px}.cg .cd{min-height:60px}.cd span{display:none}.ix a{grid-template-columns:40px 1fr 24px}.ix small{display:none}#fl{display:none}.thumbs button{width:56px;height:72px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}[data-r]{opacity:1;transform:none}.mq div{animation:none}}
.bi>div{min-width:0}.bi .tmp{aspect-ratio:3/4;height:auto;width:100%}.qf label,.qf input{min-width:0;width:100%}.qf input{max-width:100%}

.ch .eye{margin-bottom:22px}.pn{display:flex;justify-content:space-between;gap:16px;margin-top:50px}.pn a{flex:1;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r);transition:all .3s var(--ease)}@media (hover:hover){.pn a:hover{border-color:var(--acc);transform:translateY(-3px)}}.pn small{display:block;color:var(--acc);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
body.mo,body:has(#pal.on),body:has(#sites.on){overflow:hidden}.tq{width:100%;justify-content:space-between}button.lnk{background:none}
@media(max-width:960px){.mg a{padding-bottom:56px}.mg h3{margin-top:20px}}
@media print{header,#menu,.bar,footer,.side,#sites,#pal,.cta,.dark,.mq,.skip{display:none!important}body{background:#fff;color:#000}[data-r]{opacity:1!important;transform:none!important}.day>div{grid-template-rows:1fr!important}.day p{padding-bottom:12px!important}main{animation:none}.ph0{padding-top:20px}}
/* v3 */
.lgb,.usr{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);border-radius:99px;font-size:13px;font-weight:500;transition:background .2s}@media (hover:hover){.lgb:hover,.usr:hover{background:color-mix(in srgb,currentColor 10%,transparent)}}.usr b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--acc);color:#fff;font-size:12px}.sbtn span{display:none}
body[data-s=cars] .lgb,body[data-s=cars] .usr,body[data-s=business] .lgb,body[data-s=business] .usr{border-radius:3px}
#lg{position:fixed;top:68px;right:max(24px,calc((100% - 1240px)/2));z-index:70;width:230px;background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:0 30px 70px -20px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .3s var(--ease)}#lg.on{opacity:1;visibility:visible;transform:none}.lgh{font:600 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mut);padding:10px 12px 6px}#lg button{display:grid;grid-template-columns:1fr auto;align-items:center;width:100%;text-align:left;padding:10px 12px;border-radius:12px;gap:2px 8px}@media (hover:hover){#lg button:hover{background:var(--bg)}}#lg small{grid-column:1;color:var(--mut);font-size:12px}#lg em{grid-row:1/3;grid-column:2;font:600 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:99px;background:var(--bg);color:var(--mut);font-style:normal}#lg .ic{grid-row:1/3;grid-column:2;color:var(--acc)}#lg [lang=ar]{direction:rtl}
#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,40px);z-index:90;background:var(--fg);color:var(--bg);padding:14px 22px;border-radius:99px;font-size:14px;font-weight:500;opacity:0;transition:all .5s var(--ease);max-width:calc(100% - 32px);text-align:center;pointer-events:none}#toast.on{opacity:1;transform:translate(-50%,0)}
#up{position:fixed;right:20px;bottom:20px;width:48px;height:48px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;z-index:40;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .4s var(--ease);box-shadow:0 10px 30px -8px rgba(0,0,0,.4)}#up.on{opacity:1;visibility:visible;transform:none}body[data-s=cars] #up{color:#000;border-radius:3px}body[data-s=tours] #up{color:#1a1204}
.err{color:#d6452b;font-size:14px;min-height:1.4em;margin-top:12px}body[data-s=cars] .err,body[data-s=tours] .err{color:#ff8a70}
.bc{display:flex;gap:8px;align-items:center;font-size:13px;margin-bottom:16px;opacity:.85;flex-wrap:wrap}@media (hover:hover){.bc a:hover,.eye a:hover{color:var(--acc);text-decoration:underline}}.bc i{opacity:.5;font-style:normal}.eye a{text-decoration:none}
.dm .ou{fill:color-mix(in srgb,var(--acc) 12%,transparent);stroke:var(--acc);stroke-width:1.6;stroke-linejoin:round}.dm .cn{font:600 12px var(--sans);letter-spacing:.22em;fill:var(--mut);opacity:.55}.dm .gr path{stroke:var(--line);opacity:.6}.dm .dt{fill:var(--acc);stroke:var(--bg);stroke-width:2;transition:r .25s var(--ease)}.dm .pl{fill:var(--acc);opacity:.3}@media (hover:hover){.dm a:hover .dt{r:9}}.dm text.lb{font:600 12px var(--sans);fill:var(--fg);opacity:0;paint-order:stroke;stroke:var(--card);stroke-width:4px;transition:opacity .2s}.dm a.lbl text.lb{opacity:1}@media (hover:hover){.dm a:hover text.lb{opacity:1}}
.cd.past{opacity:.5}.cd.sel.past{opacity:1}
.nv{position:absolute;right:10px;top:10px;z-index:2;font:700 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:5px 9px;background:rgba(0,0,0,.65);color:#fff;font-style:normal;backdrop-filter:blur(6px)}.vc .ph{position:relative}
.gal{display:grid;gap:10px;min-width:0}.gt{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--r)}.gt::-webkit-scrollbar{display:none}.gt figure{position:relative;flex:0 0 100%;scroll-snap-align:center;aspect-ratio:4/3;border-radius:0}.gt img{transition:transform .6s var(--ease)}.gt figcaption{position:absolute;left:12px;top:12px;z-index:2;font:700 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;background:rgba(0,0,0,.65);color:#fff;padding:6px 12px;border-radius:99px}.gt figure:after{left:auto;right:10px}
.gth{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.gth button{text-align:left;opacity:.6;transition:opacity .3s}.gth button.on{opacity:1}@media (hover:hover){.gth button:hover{opacity:1}}.gth .tmp{aspect-ratio:4/3;border-radius:calc(var(--r) - 6px);outline:2px solid transparent;transition:outline-color .3s}.gth .on .tmp{outline-color:var(--acc)}.gth .tmp:after{display:none}.gth span{display:block;font-size:12px;margin-top:6px;color:var(--mut)}
.ac{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,80px);padding-bottom:100px;align-items:start}.acf{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px}.acf .f:first-of-type{margin-top:22px}.acw{grid-column:1/-1;display:flex;gap:20px;align-items:center;padding:24px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);flex-wrap:wrap}.av{width:64px;height:64px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;font:500 24px var(--dsp)}.acg{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.acg a{position:relative;padding:24px;border:1px solid var(--line);border-radius:var(--r);transition:all .3s var(--ease)}@media (hover:hover){.acg a:hover{border-color:var(--acc);transform:translateY(-3px)}}.acg .ic{position:absolute;right:20px;top:24px}
.prose{max-width:720px}.prose h3{margin:36px 0 10px}.prose p{color:var(--mut)}
.sbtn kbd{display:none}
@media(min-width:1280px){.sbtn kbd{display:inline}}
@media(max-width:1180px){#links,.swb,.nr .btn.sm{display:none}.burger{display:block}.sbtn{padding:12px;border-radius:50%}.usr{display:none}#lg{right:16px}}
@media(max-width:960px){.chp{display:block;clip-path:none;aspect-ratio:16/10;order:-1;margin:0 calc(-1 * 24px)}.ch{padding-top:96px}.ch2{gap:24px}.lgb span{display:none}.lgb{padding:12px;border-radius:50%}.ac{grid-template-columns:1fr}.vh aside{order:-1}.vh{padding-top:100px}.gt figure{aspect-ratio:4/3}}
@media(max-width:560px){.nr{gap:6px}.lgb,.sbtn,.burger{width:42px;height:42px;padding:0;justify-content:center}header{padding:10px 14px;gap:8px}.logo b{width:32px;height:32px}.logo{font-size:14px}h1{overflow-wrap:anywhere}}
/* v3 mobile polish */
header{padding-top:max(14px,env(safe-area-inset-top))}#toast{bottom:max(24px,env(safe-area-inset-bottom))}#up{bottom:max(20px,env(safe-area-inset-bottom))}.fc a{overflow-wrap:anywhere}.chip{min-height:40px}
.cd{position:relative}
@media(max-width:960px){#map{order:-1}.atl aside{order:2}.cd.has:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--acc);margin-top:auto}.cd.sel.has:after{background:var(--bg)}.mos h3{font-size:15px;line-height:1.15}.mos a{padding:14px}.cdp{padding:20px}.ct .chd h3{font-size:14px}.pbox{margin-top:-6vh}}

/* Geographic context comes from OpenStreetMap tiles; no custom national outline is drawn. */
.dm .eth-name{font:700 12px var(--sans);letter-spacing:.32em;fill:var(--fg);opacity:.18;pointer-events:none}
.dm .map-credit{font-size:12px;margin-top:8px;line-height:1.5}
.leaflet-overlay-pane path.leaflet-interactive{vector-effect:non-scaling-stroke}


/* Editorial expansion layer: reusable long-form guides and decision support */
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.guide-card{min-width:0;padding:24px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;gap:12px;transition:transform .25s var(--ease),border-color .25s var(--ease)}
@media (hover:hover){.guide-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--acc) 45%,var(--line))}}
.guide-card>small{font-size:11px;letter-spacing:.14em;font-weight:700;text-transform:uppercase;color:var(--acc)}
.guide-card h3{font-family:var(--dsp);font-weight:500;font-size:clamp(20px,2vw,27px);line-height:1.12;margin:0}
.guide-card p{font-size:14px;line-height:1.7;color:var(--mut);margin:0;flex:1}
.guide-card .lnk{margin-top:5px;align-self:flex-start}
.content-block{padding:20px 0 25px;border-bottom:1px solid var(--line)}
.content-block h3{font-family:var(--dsp);font-size:clamp(21px,2.2vw,29px);font-weight:500;line-height:1.2;margin:0 0 15px}
.content-list{display:grid;gap:12px;list-style:none;padding:0;margin:0}
.content-list li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:start;font-size:15px;line-height:1.7;color:var(--fg)}
.content-list .ic{width:17px;height:17px;color:var(--acc);margin-top:3px}
.field-note{padding:22px 24px;border-left:3px solid var(--gold);background:color-mix(in srgb,var(--gold) 10%,var(--card));border-radius:0 14px 14px 0;align-self:start}
.field-note>b{font-size:11px;text-transform:uppercase;letter-spacing:.13em;display:block;margin-bottom:9px}
.field-note p{color:var(--mut);font-size:14px;line-height:1.75;margin:0}
.guide-article{padding:36px 0;border-bottom:1px solid var(--line);scroll-margin-top:100px}
.guide-article>h2{font-family:var(--dsp);font-size:clamp(29px,4vw,48px);font-weight:500;line-height:1.08;max-width:21ch;margin:14px 0 16px}
.guide-article>.lead{max-width:78ch;font-size:17px;line-height:1.8;color:var(--mut);margin:0 0 14px}
.guide-article .resource-links{margin-top:18px}
.numbered-guide{list-style:none;counter-reset:guide;display:grid;gap:18px;margin:22px 0 28px;padding:0}
.numbered-guide li{counter-increment:guide;display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;align-items:start;color:var(--mut);line-height:1.75;font-size:15px}
.numbered-guide li:before{content:counter(guide,decimal-leading-zero);font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--acc);padding-top:4px}
.resource-links{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.resource-links a{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:11px 15px;background:var(--card);font-size:13px;line-height:1.3}
@media (hover:hover){.resource-links a:hover{border-color:var(--acc)}}
.resource-links .ic{width:15px;height:15px}
.service-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px}
.service-actions .btn{margin:0}
@media(max-width:900px){.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.guide-grid{grid-template-columns:1fr;gap:12px}.guide-card{padding:20px}.guide-article{padding:28px 0}.guide-article>.lead{font-size:16px}.content-list li{font-size:14px}.field-note{padding:18px}.service-actions{align-items:stretch;flex-direction:column}.service-actions .btn{width:100%;justify-content:center}}


/* Audit pass 2: make representative imagery explicit without blocking the photo. */
.image-label{position:absolute;left:10px;bottom:10px;z-index:3;display:inline-flex;align-items:center;max-width:calc(100% - 20px);padding:6px 9px;border-radius:999px;background:rgba(17,20,18,.78);color:#fff;font:700 11px/1.25 var(--sans);letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(6px);pointer-events:none}
.vc .nv{max-width:calc(100% - 20px);white-space:normal;text-align:center}
.gth{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}
@media(max-width:620px){.image-label{left:7px;bottom:7px;font-size:12px;padding:5px 7px}.gth{grid-template-columns:repeat(auto-fit,minmax(78px,1fr))}}

/* 360-degree conversion pass: full-bleed destination filmstrip, MENGED-owned enquiry flow, stay detail pages. */
.th .w{width:100%;max-width:none;margin:0;padding:0}
.th .thc{width:min(1240px,calc(100% - 48px));max-width:1000px;margin:0 auto 18px;padding-top:10px}
.th .thc .eye{flex-wrap:wrap;line-height:1.45}
.th .thumbs{width:100vw;margin:18px 0 0 calc(50% - 50vw);padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;overflow:visible;perspective:1400px}
.th .th-card{position:relative;isolation:isolate;display:block;min-width:0;height:clamp(125px,19vh,218px);border-radius:0;overflow:hidden;opacity:.72;background:#101612;transform:perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--raise,0px));transform-origin:center bottom;transition:opacity .45s var(--ease),transform .55s var(--ease),box-shadow .55s var(--ease);box-shadow:0 0 0 rgba(0,0,0,0);scroll-snap-align:center}
.th .th-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.84) brightness(.82);transition:transform 1s var(--ease),filter .65s var(--ease)}
.th .th-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,9,6,.12),rgba(4,9,6,.05) 35%,rgba(4,9,6,.8));z-index:0;transition:opacity .35s}
.th .th-card.on,.th .th-card:focus-visible{opacity:1;z-index:3;--raise:-7px;box-shadow:0 24px 54px rgba(0,0,0,.38)}@media (hover:hover){.th .th-card:hover{opacity:1;z-index:3;--raise:-7px;box-shadow:0 24px 54px rgba(0,0,0,.38)}}
.th .th-card.on img,.th .th-card:focus-visible img{filter:saturate(1.12) brightness(1);transform:scale(1.09)}@media (hover:hover){.th .th-card:hover img{filter:saturate(1.12) brightness(1);transform:scale(1.09)}}
.th .th-card .th-num{position:absolute;z-index:2;top:14px;left:15px;color:#fff;font:700 12px/1 var(--sans);letter-spacing:.15em}
.th .th-card .th-name{position:absolute;z-index:2;left:15px;right:12px;bottom:18px;color:white;font:500 clamp(15px,1.55vw,22px)/1.08 var(--dsp);text-shadow:0 2px 18px rgba(0,0,0,.4);overflow-wrap:anywhere}
.th .th-card i{position:absolute;left:0;bottom:0;z-index:2;height:3px;width:0;background:var(--acc)}
.th .th-card.on i{animation:fl 6.5s linear forwards}
.th .thc .bt .btn.alt{background:rgba(8,14,10,.22);backdrop-filter:blur(8px)}

.stc .st-photo{display:block;position:relative}
.st-photo-go{position:absolute;right:14px;bottom:14px;z-index:3;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--acc);color:#fff;transform:translateY(8px) scale(.85);opacity:0;transition:opacity .35s,transform .35s var(--ease)}
.st-photo:focus-visible .st-photo-go{opacity:1;transform:none}@media (hover:hover){.stc:hover .st-photo-go{opacity:1;transform:none}}
.stay-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:12px}
.stay-actions .lnk{font-size:13px}
.stay-empty{grid-column:1/-1;padding:30px;border:1px solid var(--line);background:var(--card);border-radius:var(--r)}
.stay-empty p{color:var(--mut);margin:10px 0 18px}
.stay-detail{padding:clamp(115px,14vw,170px) 0 90px;min-height:75vh}
.stay-detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:clamp(28px,5vw,76px);align-items:start}
.stay-detail-hero{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:var(--line);margin-bottom:26px}
.stay-overline{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--acc);font-weight:700;margin:14px 0}
.stay-detail h1{font-size:clamp(38px,6.4vw,82px);margin:8px 0 18px;max-width:16ch}
.stay-lead{font-size:clamp(16px,1.7vw,20px);line-height:1.8;color:var(--mut);max-width:70ch;margin-bottom:24px}
.stay-detail h2{font-size:clamp(25px,3vw,38px);margin:34px 0 12px}
.stay-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line);margin:26px 0}
.stay-facts div{padding:18px 12px 18px 0;min-width:0}
.stay-facts div+div{padding-left:15px;border-left:1px solid var(--line)}
.stay-facts small{display:block;color:var(--mut);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
.stay-facts b{font-size:13px;line-height:1.45;display:block;overflow-wrap:anywhere}
.stay-booking-panel{position:sticky;top:96px;border:1px solid var(--line);background:var(--card);border-radius:var(--r);padding:clamp(20px,3vw,32px)}
.stay-booking-panel h3{font-size:clamp(25px,3vw,34px);margin:16px 0}
.stay-booking-panel>p{font-size:14px;line-height:1.75;color:var(--mut);margin-bottom:18px}
.stay-booking-panel .btn{width:100%;justify-content:space-between}
.stay-booking-panel .l{display:flex;justify-content:space-between;gap:10px;padding:13px 0;border-top:1px solid var(--line);margin-top:15px;font-size:13px}
.stay-booking-panel .stay-disclaimer{font-size:12px;line-height:1.6;margin:18px 0 0;padding-top:15px;border-top:1px solid var(--line)}
.stay-detail-loading{max-width:760px;padding:35px 0 80px}
.stay-detail-loading h1{margin:22px 0}
.ref-tag{display:inline-flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:99px;padding:9px 13px;font-size:12px;margin:8px auto 0}
.consent{display:flex;gap:10px;align-items:flex-start;margin:20px 0 0;font-size:12px;line-height:1.6;color:var(--mut)}
.consent input{flex:none;width:18px;height:18px;margin-top:2px;accent-color:var(--acc)}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.mail-fallback{display:inline-flex;margin-top:14px;color:var(--acc);text-decoration:underline;font-size:14px}
.mail-fallback[hidden]{display:none}
.is-loading{opacity:.65;cursor:progress}
@media(max-width:1100px){}
@media(max-width:960px){.th .thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}.th .th-card{height:clamp(145px,21vh,210px)}.stay-detail-grid{grid-template-columns:1fr}.stay-booking-panel{position:static;order:-1}.th .thc{width:calc(100% - 40px)}}
@media(max-width:620px){.th .thc{margin-bottom:16px}.th .thumbs{display:flex;gap:4px;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 3vw 8px}.th .thumbs::-webkit-scrollbar{display:none}.th .th-card{flex:0 0 82vw;min-width:82vw;height:clamp(175px,25vh,225px)}.th .th-card .th-name{font-size:16px;left:11px;right:8px;bottom:14px}.th .th-card .th-num{top:10px;left:11px}.th h1{font-size:clamp(49px,13vw,80px)}.th p{font-size:16px}.th .thc .bt .btn{padding:13px 17px;font-size:13px}.stay-facts{grid-template-columns:1fr}.stay-facts div,.stay-facts div+div{padding:12px 0;border:0;border-bottom:1px solid var(--line)}.stay-actions{flex-direction:column;align-items:flex-start;gap:10px}.stay-detail{padding-top:105px}.stay-booking-panel{padding:20px}}
@media(prefers-reduced-motion:reduce){.th .thumbs,.th .th-card,.th .th-card img{transition:none!important}.th .th-card.on i{animation:none;width:100%}}

/* Accessibility and responsive polish from 360 audit */
.th .th-card:focus-visible{outline:3px solid var(--acc);outline-offset:-5px}.th .th-card[aria-current=true]{opacity:1}.th .th-card[aria-current=true] i{width:100%}.th .th-card .th-name{max-width:calc(100% - 24px)}
@media(max-width:620px){.th .thumbs{margin-left:calc(50% - 50vw);padding-inline:3vw;width:100vw;box-sizing:border-box}.th .th-card{flex-basis:94vw;min-width:94vw}.th .thc{width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){.th .bg,.th .thc,.th .th-card,.th .th-card img{transition:none!important;animation:none!important}.th .th-card{transform:none!important}}

/* Priority conversion strip: keep accommodation discovery near the top of Tours. */
.stay-promo{padding:clamp(34px,5vw,68px) 0;background:var(--card);border-block:1px solid var(--line)}
.stay-promo .w{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.7fr);gap:clamp(22px,4vw,58px);align-items:center}
.stay-promo h2{font-size:clamp(32px,4.6vw,56px);max-width:19ch;line-height:1.03;margin:15px 0}
.stay-promo p{color:var(--mut);font-size:16px;line-height:1.75;max-width:62ch}
.stay-promo-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.stay-promo-actions .btn{justify-content:space-between}
@media(max-width:720px){.stay-promo .w{grid-template-columns:1fr}.stay-promo-actions{display:grid;grid-template-columns:1fr}.stay-promo h2{max-width:100%}}




/* Follow-up polish: varied trade imagery, full-card navigation and clear map legend. */
.guide-card-link{color:inherit;text-decoration:none;cursor:pointer}
.guide-card-link:focus-visible,.pc2:focus-visible,.mos a:focus-visible,.trade-pain-card:focus-visible{outline:3px solid var(--acc);outline-offset:4px}
.guide-card-link .lnk{display:inline-flex;align-items:center;gap:8px;color:var(--acc);font-size:14px;font-weight:700;text-decoration:none;align-self:flex-start;margin-top:5px}
@media (hover:hover){.guide-card-link:hover .lnk .ic{transform:translateX(4px)}}
.guide-card-link .lnk .ic,.pc2-action .ic{transition:transform .25s var(--ease)}
.pc2{display:flex;flex-direction:column;gap:0;color:inherit;text-decoration:none;min-width:0}
.pc2 .tmp{position:relative;overflow:hidden;background:var(--line)}
.pc2 .tmp img{transition:transform .7s var(--ease)}
@media (hover:hover){.pc2:hover .tmp img{transform:scale(1.045)}}
.pc2 h3{font-size:clamp(19px,2vw,25px);line-height:1.15}
.pc2 p{flex:1}
.pc2-action{display:flex;align-items:center;gap:8px;margin:16px 10px 0;font-size:13px;font-weight:700;color:var(--acc)}
@media (hover:hover){.pc2:hover .pc2-action .ic{transform:translateX(5px)}}
.mos a{transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
@media (hover:hover){.mos a:hover{transform:translateY(-5px);box-shadow:0 22px 48px -26px rgba(0,0,0,.6)}}
.mos h3{font:500 clamp(18px,2vw,29px)/1.1 var(--dsp);margin:6px 0}
.mos .mos-desc{font-size:13px;line-height:1.45;color:rgba(255,255,255,.82);max-width:56ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:2px 0 0}
.mos .mos-explore{font-size:12px;font-weight:700;text-transform:none;letter-spacing:0;color:#fff;margin-top:8px;display:flex;align-items:center;gap:7px}
.trade-pain-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:8px}
.trade-pain-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-height:265px;padding:24px;border:1px solid var(--line);border-radius:var(--r);color:inherit;text-decoration:none;background:var(--card);transition:transform .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease)}
@media (hover:hover){.trade-pain-card:hover{transform:translateY(-5px);border-color:var(--acc);background:color-mix(in srgb,var(--acc) 5%,var(--card))}}
.trade-pain-number{font:300 42px/1 var(--dsp);color:var(--acc)}
.trade-pain-card h3{font:500 23px/1.12 var(--dsp);margin:4px 0}
.trade-pain-card p{color:var(--mut);font-size:14px;line-height:1.7;flex:1}
.trade-pain-card .lnk{display:flex;align-items:center;gap:8px;color:var(--acc);font-size:13px;font-weight:700}
.trade-help-next{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:24px}
.trade-help-next .mut{max-width:64ch;font-size:13px;line-height:1.6}
.trade-story{align-items:start}
.trade-story h2{margin:16px 0;font-size:clamp(30px,4vw,51px);line-height:1.04}
.trade-why{font-size:16px;line-height:1.85;color:var(--mut);max-width:68ch}
.trade-fit{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.trade-fit span{border:1px solid var(--line);border-radius:99px;padding:7px 12px;font-size:12px;background:var(--card)}
.trade-help-panel{background:var(--deep);color:#fff;padding:28px;border-radius:var(--r);align-self:start}
.trade-help-panel .eye{color:var(--gold)}
.trade-help-panel h3{font:500 clamp(24px,3vw,34px)/1.13 var(--dsp);margin:16px 0}
.trade-help-panel p{font-size:14px;line-height:1.75;color:rgba(255,255,255,.76);margin:10px 0 16px}
.trade-help-panel .field-note{margin:18px 0;background:rgba(255,255,255,.08);color:#fff;border-left-color:var(--gold)}
.overview-map-frame{width:100%;min-width:0}
.overview-map{width:100%;height:clamp(310px,40vw,520px);min-height:300px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;z-index:1}
.overview-map-legend{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;margin:0 0 10px}
.overview-map-legend>span:first-child{display:flex;align-items:center;gap:8px;font-weight:700}
.legend-place{display:inline-block;width:10px;height:10px;background:var(--acc);border:2px solid white;box-shadow:0 1px 4px #333;border-radius:50%}
.map-credit{font-size:12px;line-height:1.55;margin:8px 0 0;color:var(--mut)}
.map-legend{background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:0 8px 28px rgba(0,0,0,.15);font:12px/1.6 var(--sans);min-width:135px}
.map-legend strong{display:block;margin-bottom:5px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.map-legend span{display:flex;gap:8px;align-items:center;white-space:nowrap}
.map-legend span+span{margin-top:3px}
.map-legend i{width:9px;height:9px;display:inline-block;border-radius:50%;border:1px solid rgba(0,0,0,.12);flex:none}
.map-legend small{color:var(--mut);font-size:12px}
@media(max-width:960px){
 .intents{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-top:28px;overflow:visible}
 .intents button,.intents button:nth-child(n+4){display:block;min-width:0;padding:13px 2px 4px;font-size:clamp(11px,2.5vw,12px);text-align:center;white-space:nowrap}
 .intents button small{font-size:12px;margin-bottom:3px}
 .intents button:before{right:2px}
 .trade-pain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .overview-map{height:clamp(320px,66vw,480px)}
}
@media(max-width:620px){
 .mos{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:205px;gap:9px}
 .mos .m0{grid-column:span 2;grid-row:span 1}
 .mos .m1,.mos .m2,.mos .m3,.mos .m4,.mos .m5{grid-column:span 1;grid-row:span 1}
 .mos .m6{grid-column:span 2;grid-row:span 1}
 .mos a{padding:14px}
 .mos .mos-desc{-webkit-line-clamp:2;font-size:12px}
 .mos h3{font-size:20px}
 .trade-pain-grid{grid-template-columns:1fr}
 .trade-pain-card{min-height:0;padding:22px}
 .trade-help-panel{padding:22px}
 .trade-help-next{align-items:stretch;flex-direction:column}
 .trade-help-next .btn{width:100%;justify-content:center}
 .overview-map{height:360px}
 .map-legend{font-size:12px;padding:10px}
 .guide-card-link{min-height:190px}
}
@media(prefers-reduced-motion:reduce){.guide-card-link,.pc2,.pc2 .tmp img,.mos a,.mos img,.trade-pain-card{transition:none!important;transform:none!important}}


/* Final mobile-navigation refinement: secondary options are compact, accessible lists. */
#menu{justify-content:flex-start;align-items:stretch;padding:calc(132px + env(safe-area-inset-top)) 28px calc(28px + env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#menu .menu-secondary{width:min(690px,calc(100% - 50px));margin:clamp(20px,3.5vh,34px) 0 0 50px;flex:0 0 auto}
#menu .menu-fold{border-top:1px solid rgba(255,255,255,.2)}
#menu .menu-fold:last-child{border-bottom:1px solid rgba(255,255,255,.2)}
#menu .menu-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 2px;cursor:pointer;list-style:none;font:600 11px/1.35 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.9)}
#menu .menu-fold>summary::-webkit-details-marker{display:none}
#menu .menu-fold>summary:after{content:"";display:block;width:20px;height:20px;background:none;margin-left:10px;flex:none;transition:transform .2s}
#menu .menu-fold[open]>summary:after{transform:rotate(45deg)}
#menu .menu-fold>summary small{font:400 12px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:rgba(255,255,255,.55);margin-left:auto;white-space:nowrap}
#menu .menu-list{display:grid;grid-template-columns:minmax(0,1fr);padding:0 0 10px;gap:2px}
#menu .menu-list-item{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-width:0;padding:10px 12px;border-radius:7px;text-align:left;font:400 13px/1.4 var(--sans);color:rgba(255,255,255,.91);background:rgba(255,255,255,.035);transition:background .2s,color .2s}
#menu .menu-list-item:focus-visible{background:rgba(255,255,255,.1);color:#fff}@media (hover:hover){#menu .menu-list-item:hover{background:rgba(255,255,255,.1);color:#fff}}
#menu .menu-list-item small{font:400 12px/1.3 var(--sans);letter-spacing:.02em;text-transform:none;color:rgba(255,255,255,.52);white-space:nowrap;flex:none}
#menu .menu-list-item[lang=ar]>span{direction:rtl}
@media(max-width:960px){#menu{padding:calc(132px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom))}#menu .menu-secondary{width:calc(100% - 46px);margin-left:46px;margin-top:24px}#menu .menu-fold>summary{min-height:46px}#menu .menu-list-item{padding:10px} }
@media(max-width:380px){#menu{padding-top:calc(118px + env(safe-area-inset-top))}#menu>a{font-size:clamp(26px,8vw,32px);grid-template-columns:32px minmax(0,1fr);column-gap:7px}#menu .menu-secondary{width:calc(100% - 39px);margin-left:39px;margin-top:19px}#menu .menu-fold>summary{gap:6px;font-size:12px}#menu .menu-fold>summary small{font-size:12px}#menu .menu-list-item{padding:9px 8px;font-size:12px}}
@media(prefers-reduced-motion:reduce){#menu .menu-fold>summary:after,#menu .menu-list-item{transition:none}}

/* ---- countdown, next-event strip, stays CTA ---- */
.cdn{display:inline-flex;align-items:center;align-self:flex-start;margin:10px 0 2px;padding:5px 11px;border-radius:99px;font:600 12px/1.2 var(--sans);letter-spacing:.02em;background:color-mix(in srgb,var(--acc) 16%,transparent);color:var(--fg);border:1px solid color-mix(in srgb,var(--acc) 45%,transparent)}
.cdn.soon{background:var(--acc);color:var(--bg);border-color:var(--acc)}
.cdn.past{background:transparent;color:var(--mut);border-color:var(--line)}
.ev .cdn{margin:8px 0 6px}
.cdp .cdn{margin:2px 0 8px}
.next-ev{display:flex;align-items:center;gap:clamp(16px,3vw,36px);flex-wrap:wrap;margin:0 0 36px;padding:clamp(18px,3vw,30px);border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
.nev-n{display:flex;flex-direction:column;align-items:center;min-width:104px;padding-right:clamp(16px,3vw,36px);border-right:1px solid var(--line)}
.nev-n b{font:400 clamp(48px,9vw,84px)/1 var(--dsp);color:var(--acc);letter-spacing:-.03em}
.nev-n span{font:600 12px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-top:6px;text-align:center}
.nev-t{flex:1 1 240px;min-width:0}
.nev-t small{font:600 12px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.nev-t h2{font-size:clamp(24px,3.4vw,38px);line-height:1.1;margin:8px 0 6px}
.nev-t p{color:var(--mut);font-size:15px}
.stay-cta{display:flex;align-items:center;justify-content:space-between;gap:20px 32px;flex-wrap:wrap;margin:8px 0 28px;padding:clamp(20px,3vw,32px);border-radius:var(--r);background:var(--deep);color:#fff}
.stay-cta h2{font-size:clamp(22px,3vw,32px);line-height:1.15;margin:0 0 8px}
.stay-cta p{opacity:.75;max-width:52ch;font-size:15px}
/* ---- accessibility ---- */
:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--acc)!important;outline-offset:3px}
main:focus{outline:none}
@media(pointer:coarse){.chip,.btn.sm,.lnk,.fq button{min-height:44px}.fc a{display:inline-block;padding:6px 0}}
@media(max-width:560px){.next-ev{flex-direction:column;align-items:flex-start}.nev-n{flex-direction:row;gap:12px;align-items:baseline;border-right:0;padding-right:0;border-bottom:1px solid var(--line);padding-bottom:14px;width:100%}.nev-n span{margin-top:0;text-align:left}.stay-cta .btn{width:100%;justify-content:center}}
body[data-s=trade] .eye+h1{margin-top:22px}
@media(max-width:620px){.qf label:nth-child(3){grid-column:1/-1}.qm{overflow-x:auto;scrollbar-width:none}.qm::-webkit-scrollbar{display:none}}
.nr .btn,.lgb,.swb,.sbtn{white-space:nowrap}
@media(max-width:1500px){.usr{display:none}}

/* languages */
html[lang=am] body,html[lang=am] h1,html[lang=am] h2,html[lang=am] h3,html[lang=am] h4{font-family:"Noto Sans Ethiopic","Nyala",system-ui,sans-serif}
html[dir=rtl] body{direction:rtl}
.lgck{margin-inline-start:auto;font-weight:600;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}
.lgck.is-selected:after{content:"";display:block;width:18px;height:18px;background:none}


/* Smart place autocomplete: high-contrast, keyboard-accessible and mobile-friendly. */
.qf label,.f{position:relative}
.place-suggestions{position:absolute;z-index:120;top:calc(100% - 1px);left:0;right:0;max-height:min(360px,55vh);overflow:auto;background:var(--card);color:var(--fg);border:1px solid var(--line);border-top:2px solid var(--acc);box-shadow:0 18px 44px rgba(0,0,0,.22);text-transform:none;letter-spacing:normal;font:400 14px/1.4 var(--sans);overscroll-behavior:contain}
.place-suggestions[hidden]{display:none!important}
.place-suggestions-heading{padding:12px 15px 8px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);border-bottom:1px solid var(--line)}
.place-option{display:flex;width:100%;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 15px;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--fg);cursor:pointer;font:inherit;min-height:48px}
.place-option:last-child{border-bottom:0}
.place-option.active{background:var(--fg);color:var(--bg)}@media (hover:hover){.place-option:hover{background:var(--fg);color:var(--bg)}}
.place-option-name{font-weight:700;font-size:14px;letter-spacing:0}
.place-option-meta{font-size:12px;letter-spacing:.02em;color:var(--mut);font-weight:500}
.place-option.active .place-option-meta{color:inherit;opacity:.7}@media (hover:hover){.place-option:hover .place-option-meta{color:inherit;opacity:.7}}
.place-suggestions-empty{padding:14px 15px;color:var(--mut);font-size:13px}
.place-custom-option{border-top:1px solid var(--line);background:color-mix(in srgb,var(--acc) 7%,var(--card))}
.qf .place-suggestions{font-size:14px}
@media(max-width:620px){.place-suggestions{max-height:44vh}.qf label{z-index:auto}.qf label:focus-within{z-index:121}.f:focus-within{z-index:121}}

.rq-route-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;align-items:start}
.rq-route-fields .f{min-width:0}
.rq-route-fields input[type=number]{max-width:220px}
@media(max-width:620px){.rq-route-fields{grid-template-columns:1fr}}


/* Additional smart location discovery for the itinerary Planner and Atlas. */
#planPlaceSearch,#atlasPlaceSearch{width:100%;min-width:0}
#atlasPlaceSearch{margin-top:6px}
#al li[hidden]{display:none!important}
.custom-plan-stop{position:relative;padding-inline-end:86px}
.plan-stop-remove{position:absolute;right:0;top:50%;transform:translateY(-50%);border:1px solid var(--line);background:transparent;color:var(--mut);border-radius:3px;padding:5px 8px;font:inherit;font-size:12px;cursor:pointer}
.plan-stop-remove:focus-visible{background:var(--fg);color:var(--bg)}@media (hover:hover){.plan-stop-remove:hover{background:var(--fg);color:var(--bg)}}
html[dir=rtl] .plan-stop-remove{right:auto;left:0}


/* Editorial cleanup: remove dependence on decorative number labels. */
.rows .row{grid-template-columns:minmax(0,1fr) auto;gap:16px}
.sv{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
@media(max-width:760px){.sv{grid-template-columns:minmax(0,1fr);gap:12px}}
.mg a{display:flex;flex-direction:column;min-width:0}
.mg h3{margin:34px 0 8px}
.sc .sc-icon{position:static;display:grid;place-items:center;width:48px;height:48px;margin:0 0 14px;border-radius:15px;background:rgba(255,255,255,.62);color:#12302a}
.sc .sc-icon .ic{width:25px;height:25px}
.sc .sc-arrow{position:absolute;right:20px;top:20px;bottom:auto;width:42px;height:42px;border-radius:50%;background:#12302a;color:#fff;display:grid;place-items:center;transition:transform .3s}
@media (hover:hover){.sc:hover .sc-arrow{transform:translateX(2px) rotate(-35deg)}}
.sc h3{margin:auto 0 8px}

/* ==== premium-editorial ==== */
/* MENGED Editorial Concierge — unified premium design system.
   Replaces the per-site palette/shape experiments with one coherent brand language.
   Page content, route ownership and specialist navigation remain in the shared application. */
:root{
  --bg:#F7F4EC;--fg:#18231D;--card:#FFFEFA;--mut:#55645B;--line:#D8DCCF;
  --acc:#B74727;--deep:#1D4938;--gold:#D6A64E;--r:16px;--btn:#1D4938;--btnf:#FFFFFF;
  --hv:#163B2D;--ease:cubic-bezier(.2,.8,.2,1);--w:min(1240px,100% - 48px);
  --dsp:"Fraunces",Georgia,serif;--sans:"Inter",system-ui,sans-serif;--dw:450;--dl:-.025em;--dt:none;
  --shadow-sm:0 4px 16px rgba(24,35,29,.045);--shadow-md:0 16px 44px rgba(24,35,29,.10);
  --focus:#2E7260;--surface-soft:#E8EDE5;
}
body[data-s=tours],body[data-s=cars],body[data-s=business],body[data-s=trade],body[data-s=support],body[data-s=group]{
  --bg:#F7F4EC;--fg:#18231D;--card:#FFFEFA;--mut:#55645B;--line:#D8DCCF;
  --acc:#B74727;--deep:#1D4938;--gold:#D6A64E;--r:16px;--btn:#1D4938;--btnf:#FFFFFF;--hv:#163B2D;
  --dsp:"Fraunces",Georgia,serif;--sans:"Inter",system-ui,sans-serif;--dw:450;--dl:-.025em;--dt:none;
}
html{scroll-behavior:smooth;scroll-padding-top:96px;background:var(--bg)}
body{background:var(--bg);color:var(--fg);font:400 16px/1.65 var(--sans);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:#D6A64E;color:#18231D}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--focus)!important;outline-offset:3px!important}
.w{width:var(--w);max-width:1240px;margin-inline:auto}
:is(h1,h2,h3,h4){font-family:var(--dsp)!important;font-weight:450!important;letter-spacing:-.035em!important;text-transform:none!important;line-height:1.06}
h1{font-size:clamp(42px,5.7vw,82px)!important;line-height:1.02!important;max-width:13ch}
h2{font-size:clamp(32px,3.6vw,52px)!important;line-height:1.08!important;max-width:19ch}
h3{font-size:clamp(21px,2vw,28px)!important;line-height:1.15!important}
p{line-height:1.72}
em{color:var(--acc);font-style:italic}
.mut{color:var(--mut)!important}
.eye{color:var(--mut);font:700 11px/1.5 var(--sans);letter-spacing:.17em;text-transform:uppercase;gap:10px}
.eye:before{width:20px;height:1px;border-radius:0;background:var(--acc)}
/* Header: warm, restrained, shared shape across all six contexts. */
header{padding:12px max(24px,calc((100% - 1240px)/2));min-height:76px;gap:18px;color:var(--fg);transition:background .25s,box-shadow .25s,transform .4s var(--ease)}
header.sol{background:rgba(255,254,250,.90)!important;color:var(--fg)!important;border-bottom:1px solid rgba(216,220,207,.85);box-shadow:0 6px 24px rgba(24,35,29,.035);backdrop-filter:blur(18px) saturate(1.15)}
body[data-hero="1"] header:not(.sol){color:#fff!important;background:linear-gradient(180deg,rgba(13,30,22,.28),transparent)!important}
body[data-hero="1"] header:not(.sol) .logo em{color:#fff!important}
.logo{gap:11px;font:700 14px/1 var(--sans);letter-spacing:.15em}
.logo b{width:38px;height:38px;border-radius:50%!important;background:var(--acc)!important;color:#fff!important;font:500 21px var(--dsp);box-shadow:0 4px 10px rgba(183,71,39,.18)}
.logo em{font:600 12px var(--sans);letter-spacing:.19em;color:var(--mut);margin-top:5px}
#links{gap:3px}
#links a{font-size:13px;font-weight:500;letter-spacing:0;padding:10px 12px;border-radius:7px!important;opacity:.78;text-transform:none!important}
#links a:after{left:12px;right:12px;bottom:4px;height:1.5px;background:var(--acc)}
#links a.on{opacity:1;color:var(--fg)}
.nr{gap:8px}
.swb,.sbtn{border:1px solid var(--line)!important;border-radius:9px!important;padding:10px 12px;background:rgba(255,254,250,.62);font-size:12px;color:var(--fg);min-height:40px}
@media (hover:hover){.sbtn:hover,.swb:hover{background:var(--surface-soft);border-color:#B8C4B8!important}}
.burger{border-radius:10px!important;border-color:var(--line)!important;width:44px;height:44px}
/* Buttons: consistent, tactile and useful; no site-specific square/pill experiments. */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:49px;padding:13px 21px;border:1px solid var(--btn);border-radius:9px!important;background:var(--btn)!important;color:var(--btnf)!important;font:600 14px/1.2 var(--sans)!important;letter-spacing:0!important;text-transform:none!important;box-shadow:0 3px 8px rgba(29,73,56,.09);transition:transform .2s var(--ease),background .2s,color .2s,border-color .2s,box-shadow .2s}
.btn:before{display:none!important}
@media (hover:hover){.btn:hover{transform:translateY(-1px);background:var(--hv)!important;color:#fff!important;border-color:var(--hv)!important;box-shadow:0 7px 16px rgba(29,73,56,.16)}}
.btn:active{transform:translateY(0) scale(.99)}
.btn .ic{transition:transform .2s var(--ease)}@media (hover:hover){.btn:hover .ic{transform:translateX(3px)}}
.btn.sm{min-height:40px;padding:10px 15px;font-size:12px!important}
.btn.alt,.btn.lt{background:transparent!important;color:var(--fg)!important;border:1px solid #BFC9BF!important;box-shadow:none}
@media (hover:hover){.btn.alt:hover,.btn.lt:hover{background:var(--surface-soft)!important;color:var(--fg)!important;border-color:#839589!important;box-shadow:none}}
body[data-hero="1"] header:not(.sol) .btn.sm{background:#FFFEFA!important;color:#18231D!important;border-color:#FFFEFA!important}
@media (hover:hover){body[data-hero="1"] header:not(.sol) .btn.sm:hover{background:#E8EDE5!important;color:#18231D!important}}
/* Hero art direction: immersive Ethiopian photography, editorial type, practical CTA. */
.hero{min-height:clamp(680px,88svh,860px);padding:150px 0 42px;background:var(--deep);isolation:isolate}
.hero .bg{inset:-2%;background-position:center 48%;background-size:cover;filter:saturate(.84);transform:scale(1.045);transition:opacity 1.1s,transform 7s linear}
.hero .bg.on{transform:scale(1)}
.hero:after{background:linear-gradient(90deg,rgba(11,29,21,.82) 0%,rgba(11,29,21,.60) 38%,rgba(11,29,21,.18) 78%,rgba(11,29,21,.12) 100%),linear-gradient(0deg,rgba(8,20,14,.70),transparent 45%)!important}
.hero .w{padding-block:0;max-width:1240px}
.hero .eye{color:rgba(255,255,255,.80)}.hero .eye:before{background:var(--gold)}
.hero h1{font-size:clamp(48px,6.3vw,92px)!important;max-width:10.5ch;margin:22px 0 24px;letter-spacing:-.055em!important}
.hero .sub{display:flex;gap:26px;justify-content:space-between;align-items:flex-end;max-width:920px}
.hero .sub p,#hb{max-width:440px;font-size:17px;line-height:1.65;color:rgba(255,255,255,.88);opacity:1}
.hero .sub .btn{flex:none;background:#FFFEFA!important;color:#18231D!important;border-color:#FFFEFA!important}
@media (hover:hover){.hero .sub .btn:hover{background:#E8EDE5!important}}
.intents{margin-top:38px;border-top:1px solid rgba(255,255,255,.27);max-width:1040px;gap:0}
.intents button{padding:16px 15px 5px 0;opacity:.72;font-size:13px;line-height:1.5;flex:1;min-width:0}
.intents button small{font-size:12px;letter-spacing:.14em;opacity:.78}
.intents button:before{background:var(--gold);right:14px}
/* Content rhythm, editorial cards, imagery and section alternation. */
section{padding:clamp(64px,8vw,112px) 0}
section.alt{background:#EEEEE5!important}
.sh{margin-bottom:clamp(30px,4.5vw,52px);gap:30px}
.sh h2{max-width:15ch;margin-top:14px}
.sh p{max-width:440px;color:var(--mut);font-size:15px}
.mq{padding:17px 0;background:var(--card);border-color:var(--line)}
.mq div{font-size:25px;color:#32483C;animation-duration:65s}
.mq span:after{color:var(--acc);margin-left:38px}
.bento{gap:16px}
.tile{border-radius:16px!important;padding:26px;min-height:250px;background:var(--card);border-color:var(--line);box-shadow:none;transition:transform .25s var(--ease),border-color .25s,box-shadow .25s}
@media (hover:hover){.tile:hover{transform:translateY(-3px);border-color:#B1BFB2;box-shadow:var(--shadow-sm)}}
.tile .go{border-radius:9px;width:40px;height:40px;border-color:rgba(255,255,255,.65)}
.tile:not(.t1) .go{border-color:var(--line)}
@media (hover:hover){.tile:not(.t1):hover .go{color:#fff}}
.t1{border:0;min-height:520px;background:var(--deep)}.t1:after{background:linear-gradient(180deg,rgba(8,21,15,.08),rgba(8,21,15,.78))!important}
.t1 h3{font-size:clamp(34px,4.1vw,56px)!important;max-width:9ch}
.t2,.t3,.t4{background:var(--card)}
.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:30px 18px}
.card{min-width:0}
.card .ph{border-radius:14px!important;background:#D7DBD1;aspect-ratio:4/4.6;overflow:hidden}
.card .ph img{transition:transform .7s var(--ease),filter .5s}
@media (hover:hover){.card:hover .ph img{transform:scale(1.045);filter:saturate(1.05)}}
.card .ph b{left:12px;top:12px;padding:6px 10px;border-radius:6px;background:rgba(255,254,250,.94);color:var(--fg);font-size:12px;font-weight:700;letter-spacing:.05em}
.card .ph i{right:12px;bottom:12px;width:38px;height:38px;border-radius:10px;background:var(--deep);transform:translateY(6px);opacity:0}
@media (hover:hover){.card:hover .ph i{opacity:1;transform:none}}
.card h3{margin:14px 0 7px;font-size:clamp(21px,2vw,26px)!important}
.card p{color:var(--mut);font-size:14px;line-height:1.65}
/* Tours keeps beautiful image-led titles but inherits the same geometry and palette. */
body[data-s=tours] .card .ph{aspect-ratio:4/4.7}
body[data-s=tours] .card h3{left:18px;right:18px;bottom:52px;color:#fff;font-size:clamp(24px,2.5vw,31px)!important;text-shadow:0 2px 18px rgba(0,0,0,.32);z-index:2}
body[data-s=tours] .card p{left:18px;right:18px;bottom:16px;color:rgba(255,255,255,.86);z-index:2}
body[data-s=tours] .card .ph:after{background:linear-gradient(180deg,transparent 35%,rgba(7,22,15,.83))!important}
body[data-s=tours] .card .ph b{left:18px;bottom:102px;color:#F4DCA2;background:transparent;font-size:12px;letter-spacing:.14em}
/* All content containers share the same border, radius and shadow language. */
:is(.note,.side,.acf,.acw,.acg a,.tool,.tf,.tr,.stay-cta,.stay-detail-grid aside,.next-ev,.request-panel,.request-card,.field-note,.guide-card,.resource-links a,.ev,.fq,.stc,.vc,.faq .fq){border-radius:14px!important}
.side{background:var(--deep)!important;color:#fff!important;border:1px solid rgba(255,255,255,.08)!important;padding:26px;box-shadow:var(--shadow-sm)}
.side .mut,.side p{color:rgba(255,255,255,.72)!important}
.side .btn,.dark .btn{background:#FFFEFA!important;color:#18231D!important;border-color:#FFFEFA!important}
.dark{background:var(--deep)!important;color:#fff!important;--line:rgba(255,255,255,.18);--mut:rgba(255,255,255,.68)}
.steps{border-color:var(--line);gap:0}
.step{padding:24px 24px 12px 0;border-color:var(--line)}
.step+.step{padding-left:24px}
.step b{font-size:clamp(68px,8vw,112px);color:var(--acc);font-weight:350}
.step h3{font-size:24px!important}
.step p{color:var(--mut);font-size:14px}
.cta h2{font-size:clamp(40px,6vw,82px)!important;max-width:13ch;line-height:1.03!important}
.ph0{padding:132px 0 38px}
.ph0 h1{font-size:clamp(42px,5.2vw,70px)!important;max-width:12ch;margin:16px 0}
.ph0 p{color:var(--mut);font-size:17px;max-width:58ch}
.dh{height:82svh;min-height:560px;background:var(--deep)}
.dh:after{background:linear-gradient(90deg,rgba(11,29,21,.5),transparent 78%),linear-gradient(0deg,rgba(8,20,14,.66),transparent 75%)!important}
.dh h1{font-size:clamp(48px,6.5vw,96px)!important;font-style:italic;font-weight:400!important;max-width:10ch}
.dh p{max-width:570px;font-size:17px;color:rgba(255,255,255,.86)}
/* Inputs and structured request flow. */
.fld,.f input,.f textarea,.f select,.tf input,.tf select,.qf input,.qf select,.place-suggestions,.pbox,.pin{border-radius:9px!important}
.fld{border:1px solid var(--line);background:var(--card);padding:11px 14px;min-height:46px}
.fld:focus-within,.f:focus-within input,.f:focus-within textarea,.f:focus-within select{border-color:#698674;box-shadow:0 0 0 3px rgba(46,114,96,.10)}
.f input,.f textarea,.f select,.tf input,.tf select,.qf input,.qf select{background:var(--card);border:1px solid var(--line);padding:12px 13px;min-height:45px}
.f textarea{min-height:120px;resize:vertical}
.f label,.f,.tf label{font-size:13px}
.chip{border-radius:8px!important;min-height:40px;padding:9px 13px;border:1px solid var(--line);background:var(--card);color:var(--fg);font-size:12px;font-weight:500;transition:background .2s,border .2s,color .2s}
@media (hover:hover){.chip:hover{border-color:#9BAD9D}}
.chip.on{background:var(--deep);border-color:var(--deep);color:#fff}
.place-suggestions{border:1px solid var(--line);border-top:2px solid var(--acc);box-shadow:var(--shadow-md);background:var(--card);color:var(--fg)}
.place-option{padding:13px 15px;min-height:50px}
.place-option.active{background:var(--deep);color:#fff}@media (hover:hover){.place-option:hover{background:var(--deep);color:#fff}}
.place-option-meta{color:var(--mut)}
.rq-route-fields{gap:0 18px}
.acf{padding:26px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
/* Data panels and lists. */
.rows .row{padding:20px 0;border-color:var(--line);gap:16px}
@media (hover:hover){.rows .row:hover{padding-inline-start:6px}}
.guide-grid{gap:14px}
.guide-card{padding:24px;border:1px solid var(--line);background:var(--card);box-shadow:0 2px 8px rgba(24,35,29,.025)}
@media (hover:hover){.guide-card:hover{border-color:#A6B6A8;box-shadow:var(--shadow-sm)}}
.guide-card h3{font-size:24px!important}
.facts div{padding-block:22px}
.facts .ic{color:var(--acc)}
.content-block,.guide-article{border-color:var(--line)}
.field-note{background:#F0E8D7;border-radius:0 12px 12px 0!important;border-left-color:var(--gold)}
.note{background:var(--card);border-color:var(--line);padding:19px 22px}
/* Atlas, timeline, compare table and modal surfaces follow the same design language. */
.atl aside{background:var(--bg)}
.atl #map{border-radius:14px!important;overflow:hidden}
#map .leaflet-container{font-family:var(--sans)}
.tb{top:72px;background:rgba(247,244,236,.94);backdrop-filter:blur(12px);border-color:var(--line)}
.ev,.next-ev,.stc,.vc,.tool,.pbox{background:var(--card);border:1px solid var(--line);box-shadow:0 2px 12px rgba(24,35,29,.025)}
.vc,.stc{overflow:hidden}
.vb,.stc>div:not(.tmp){padding:18px}
.fq{border-bottom:1px solid var(--line)}
.fq>button{padding:19px 0;font-size:15px}
.fq>div p{color:var(--mut);font-size:14px;line-height:1.75}
/* Footer and utilities. */
footer{background:#12291F!important;color:#F7F4EC!important;padding:64px 0 28px!important}
footer a{color:rgba(247,244,236,.82)}@media (hover:hover){footer a:hover{color:#fff}}
footer .mut,footer small{color:rgba(247,244,236,.64)!important}
footer .logo em{color:#E0C99A!important}
#toast{border-radius:10px;background:#18231D;color:#fff;box-shadow:var(--shadow-md)}
#up{width:42px;height:42px;border-radius:10px;background:var(--card);border:1px solid var(--line);color:var(--fg);box-shadow:var(--shadow-sm)}
#pal .pbox{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-md)}
/* Unify the remaining site-specific card, logo, form and navigation exceptions. */
body[data-s=cars] .logo b,body[data-s=business] .logo b,body[data-s=trade] .logo b,body[data-s=support] .logo b{border-radius:50%!important}
body[data-s=cars] #links a,body[data-s=business] #links a{font-size:13px;letter-spacing:0;text-transform:none;font-weight:500}
body[data-s=cars] .btn,body[data-s=business] .btn,body[data-s=trade] .btn{border-radius:9px!important;text-transform:none;letter-spacing:0;font-size:14px;font-weight:600}
body[data-s=trade] .eye{padding:0;background:transparent;border:0;border-radius:0}
body[data-s=trade] .eye:before{display:block}
body[data-s=support] .eye:before{width:20px;height:1px;border-radius:0}
@media (hover:hover){body[data-s=group] .btn:hover,body[data-s=support] .btn:hover,body[data-s=business] .btn:hover,body[data-s=trade] .btn:hover{color:#fff}}
/* Make image surfaces, controls, and all form steps behave well on smaller screens. */
@media(max-width:960px){
  :root{--w:min(100% - 40px,760px)}
  header{min-height:66px;padding:10px 20px}
  .hero{min-height:clamp(660px,94svh,820px);padding:124px 0 28px}
  .hero h1{font-size:clamp(44px,9vw,66px)!important;max-width:11ch}
  .hero .sub{align-items:flex-start;flex-direction:column;gap:18px}
  .hero .sub p,#hb{font-size:16px;max-width:42ch}
  .intents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin-top:26px}
  .intents button{padding:13px 0 7px;font-size:12px}
  .t1{min-height:430px}.tile{min-height:220px;padding:22px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tb{top:60px}
}
@media(max-width:620px){
  :root{--w:calc(100% - 32px)}
  header{padding:9px 16px;min-height:62px;gap:7px}
  .logo{font-size:12px;letter-spacing:.13em;gap:8px}.logo b{width:32px;height:32px;font-size:18px}.logo em{font-size:12px;letter-spacing:.16em}
  .nr{gap:5px}.nr .sbtn{width:40px;height:40px;min-height:40px;padding:0;border-radius:9px;justify-content:center}
  .hero{min-height:100svh;padding:110px 0 24px;justify-content:flex-end}
  .hero:after{background:linear-gradient(90deg,rgba(11,29,21,.68),rgba(11,29,21,.26)),linear-gradient(0deg,rgba(8,20,14,.88),rgba(8,20,14,.08) 88%)!important}
  .hero h1{font-size:clamp(42px,11.3vw,55px)!important;max-width:10ch;margin:15px 0 16px;line-height:1.02!important}
  .hero .sub p,#hb{font-size:15px;line-height:1.65}
  .hero .sub .btn{width:100%;justify-content:space-between}
  .intents{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px;gap:0 15px}
  .intents button{padding:10px 0 5px;font-size:12px}
  .intents button small{font-size:12px;letter-spacing:.12em}
  section{padding:56px 0}
  h1{font-size:clamp(38px,11vw,52px)!important}h2{font-size:clamp(30px,8.5vw,39px)!important}
  .sh{margin-bottom:28px;gap:15px}.sh h2{margin-top:10px}
  .bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .tile{grid-column:span 1!important;grid-row:span 1!important;min-height:205px;padding:17px;border-radius:13px!important}
  .t1{grid-column:1/-1!important;min-height:360px}
  .t1 h3{font-size:36px!important}
  .tile .go{width:34px;height:34px;right:12px;top:12px}
  .tile p{font-size:13px;line-height:1.55}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 11px}
  .card .ph{aspect-ratio:3/4;border-radius:11px!important}
  .card h3{font-size:19px!important;margin:10px 0 5px}
  .card p{font-size:12px;line-height:1.5}
  body[data-s=tours] .card h3{font-size:22px!important;left:12px;right:12px;bottom:47px}
  body[data-s=tours] .card p{left:12px;right:12px;bottom:12px;font-size:12px}
  body[data-s=tours] .card .ph b{left:12px;bottom:88px}
  .steps{grid-template-columns:1fr;border-top:1px solid var(--line)}
  .step,.step+.step{padding:19px 0;border-right:0;border-bottom:1px solid var(--line)}
  .step b{font-size:66px;margin-bottom:4px}
  .step h3{font-size:23px!important}
  .ac{grid-template-columns:1fr;gap:20px}
  .guide-grid{grid-template-columns:1fr;gap:11px}
  .stats{gap:14px}
  .facts{grid-template-columns:1fr}
  .facts div,.facts div+div{padding:15px 0;border-left:0;border-bottom:1px solid var(--line)}
  .dh{height:auto;min-height:78svh}
  .th .thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .th .th-card{height:140px}
  .tb{top:55px;gap:10px}
  .fld{width:100%;min-width:0}
  .rq-route-fields{grid-template-columns:1fr}
  .rq-route-fields input[type=number]{max-width:none}
  .acf{padding:18px}
  .btn{min-height:47px;padding:12px 17px}
  footer{padding:48px 0 24px!important}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}

/* Script-aware type fallback for the required multilingual experience. */
html[lang=am] body,html[lang=am] h1,html[lang=am] h2,html[lang=am] h3,html[lang=am] h4{font-family:"Noto Sans Ethiopic","Nyala",system-ui,sans-serif!important;letter-spacing:-.025em!important}
html[lang=ar] body,html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3,html[lang=ar] h4{font-family:"Noto Sans Arabic",Tahoma,system-ui,sans-serif!important;letter-spacing:0!important}
html[lang=zh] body,html[lang=zh] h1,html[lang=zh] h2,html[lang=zh] h3,html[lang=zh] h4{font-family:"Noto Sans SC",system-ui,sans-serif!important;letter-spacing:0!important}
html[dir=rtl] body{direction:rtl}

/* FINAL RESPONSIVE AUDIT — MENGED Editorial Concierge v2
   Fixes the original six-column/card-span collision and replaces squeeze-down mobile
   rules with an intentional one-column task flow. Keep this layer last in the cascade. */
:root{
  --w:min(1240px,calc(100% - 48px));
  --section-space:clamp(60px,6.8vw,92px);
}
html{scroll-padding-top:84px}
body{overflow-x:hidden;overflow-wrap:break-word}
.w{width:var(--w);max-width:1240px;margin-inline:auto}
section{padding-block:var(--section-space)}
:is(.grid,.guide-grid,.bento,.pg2,.sg,.mos,.fc,.rq,.two,.ac,.bh2,.rh2,.vh .two,.tool,.ch2,.atl,.fdi)>*{min-width:0}
img{max-width:100%}

/* Desktop services mosaic: one deliberate feature panel + four equal service panels.
   The 12-column grid prevents implicit placements from leaving empty cells. */
@media(min-width:1101px){
  .bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(238px,auto);gap:18px;align-items:stretch}
  .bento>.t1{grid-column:span 6!important;grid-row:span 2!important;min-height:494px;padding:30px}
  .bento>.tile:not(.t1){grid-column:span 3!important;grid-row:auto!important;min-height:238px;padding:24px}
  .bento>.tile:not(.t1) .go{width:38px;height:38px;right:18px;top:18px}
  .bento>.tile:not(.t1) .n{max-width:calc(100% - 40px);font-size:12px;letter-spacing:.11em}
  .bento>.tile:not(.t1) h3{font-size:clamp(22px,2vw,28px)!important;max-width:14ch}
  .bento>.tile:not(.t1) p{font-size:13px;line-height:1.55;max-width:34ch}
}

/* Tablet / small laptop: full-width feature followed by a balanced two-column grid. */
@media(min-width:621px) and (max-width:1100px){
  :root{--w:min(100% - 40px,920px)}
  section{padding-block:clamp(56px,7vw,76px)}
  .bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(205px,auto);gap:14px;align-items:stretch}
  .bento>.t1{grid-column:1/-1!important;grid-row:auto!important;min-height:390px;padding:26px}
  .bento>.tile:not(.t1){grid-column:span 3!important;grid-row:auto!important;min-height:218px;padding:22px}
  .bento>.tile:not(.t1) h3{font-size:clamp(22px,2.6vw,27px)!important}
  .bento>.tile:not(.t1) p{font-size:13px;line-height:1.55}
  .guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .fc{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .fc>p{grid-column:1/-1;max-width:24ch}
  .atl{grid-template-columns:1fr;gap:18px}
  #map{min-height:420px}
}

/* The first screen is a task entry, not a fullscreen poster with a long gap above it. */
.hero{isolation:isolate}
.hero .w{width:var(--w)}
.hero .sub p{max-width:52ch}
.sh{align-items:flex-end;gap:24px}
.sh>div{min-width:0}
.sh p{max-width:46ch}

/* Content cards use consistent spacing and do not rely on hover to reveal essential actions. */
.tile,.guide-card,.acf,.side,.request-panel,.request-card,.tool,.vc,.stc,.ev,.fq,.note{min-width:0}
.guide-grid{align-items:stretch}
.guide-card{height:100%;gap:11px}
.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));align-items:start}
.rows .row{transition:background .2s,border-color .2s,transform .2s}
@media (hover:hover){.rows .row:hover{padding-inline-start:0;transform:translateX(4px)}}
.btn,.chip,.fld,.f input,.f textarea,.f select,.tf input,.tf select,.qf input,.qf select{max-width:100%}
.f input,.f textarea,.f select,.tf input,.tf select,.qf input,.qf select{min-width:0}

@media(max-width:620px){
  :root{--w:calc(100% - 32px);--section-space:54px}
  html{scroll-padding-top:70px}
  header{padding:9px 14px;padding-top:max(9px,env(safe-area-inset-top));min-height:60px;gap:8px}
  .logo{gap:8px;font-size:12px;letter-spacing:.12em}
  .logo b{width:32px;height:32px;font-size:18px}
  .logo em{font-size:12px;letter-spacing:.13em}
  .nr{gap:6px}
  .nr .sbtn,.lgb,.burger{width:42px;height:42px;min-width:42px;min-height:42px;padding:0;justify-content:center}
  .hero{min-height:0;padding:100px 0 24px;justify-content:flex-start}
  .hero:after{background:linear-gradient(90deg,rgba(11,29,21,.72),rgba(11,29,21,.42)),linear-gradient(0deg,rgba(8,20,14,.86),rgba(8,20,14,.1) 82%)!important}
  .hero .w{padding:0;width:var(--w)}
  .hero .eye{font-size:12px;letter-spacing:.12em}
  .hero h1{font-size:clamp(39px,10.7vw,49px)!important;max-width:11ch;line-height:1.01!important;margin:15px 0 15px;letter-spacing:-.05em!important}
  .hero .sub{align-items:stretch;flex-direction:column;gap:14px}
  .hero .sub p,#hb{max-width:42ch;font-size:14px;line-height:1.55}
  #hb{width:100%}
  .hero .sub .btn{width:100%;min-height:48px;padding:13px 16px;justify-content:space-between}
  .intents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;margin-top:22px;border-top:1px solid rgba(255,255,255,.34)}
  .intents button,.intents button:nth-child(n+4){display:block!important;min-width:0;min-height:46px;padding:10px 12px 8px 0;font-size:12px;line-height:1.35;text-align:left;opacity:.84}
  .intents button small{display:block!important;font-size:12px;letter-spacing:.12em;margin-bottom:3px}
  .intents button:before{right:8px}
  .mq{padding:15px 0}
  .mq div{font-size:22px;gap:28px}
  .mq span:after{margin-left:28px}
  section{padding-block:var(--section-space)}
  h1{font-size:clamp(36px,10.2vw,48px)!important;line-height:1.04!important;overflow-wrap:normal}
  h2{font-size:clamp(29px,8.2vw,38px)!important;line-height:1.08!important}
  h3{font-size:21px!important;line-height:1.15!important}
  p{line-height:1.62}
  .sh{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:25px}
  .sh h2{max-width:17ch;margin-top:8px}
  .sh p{font-size:14px;max-width:58ch}
  .bento{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;gap:10px;align-items:stretch}
  .bento>.t1{grid-column:1/-1!important;grid-row:auto!important;min-height:315px;padding:21px;border-radius:14px!important}
  .bento>.t1 h3{font-size:clamp(30px,8.4vw,36px)!important;max-width:11ch}
  .bento>.t1 p{font-size:13px;line-height:1.52;max-width:42ch}
  .bento>.tile:not(.t1){grid-column:1/-1!important;grid-row:auto!important;min-height:0;padding:17px 60px 17px 18px;display:block;border-radius:12px!important}
  .bento>.tile:not(.t1)>.n{display:block;margin-bottom:7px;font-size:12px;letter-spacing:.12em;max-width:100%}
  .bento>.tile:not(.t1)>div{display:block}
  .bento>.tile:not(.t1) h3{font-size:21px!important;margin:0 0 4px;max-width:18ch}
  .bento>.tile:not(.t1) p{font-size:12px;line-height:1.48;margin-top:3px;max-width:58ch}
  .bento>.tile:not(.t1) .go{width:34px;height:34px;right:14px;top:50%;transform:translateY(-50%)}
  @media (hover:hover){.bento>.tile:not(.t1):hover .go{transform:translateY(-50%) rotate(-45deg)}}
  @media (hover:hover){.tile:hover{transform:none}}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 11px}
  .card .ph{aspect-ratio:3/4;border-radius:11px!important}
  .card h3{font-size:17px!important;line-height:1.18!important;margin:9px 0 5px}
  .card p{font-size:12px;line-height:1.48}
  body[data-s=tours] .card h3{font-size:20px!important;left:11px;right:11px;bottom:45px}
  body[data-s=tours] .card p{left:11px;right:11px;bottom:11px;font-size:12px}
  body[data-s=tours] .card .ph b{left:11px;bottom:82px;font-size:12px}
  .guide-grid{grid-template-columns:minmax(0,1fr);gap:10px}
  .guide-card{padding:18px;border-radius:12px!important;gap:9px}
  .guide-card h3{font-size:21px!important}
  .guide-card p{font-size:13px;line-height:1.55}
  .steps{grid-template-columns:minmax(0,1fr);border-top:1px solid var(--line)}
  .step,.step+.step{padding:17px 0!important;border-right:0;border-bottom:1px solid var(--line)}
  .step b{font-size:58px;margin-bottom:4px}
  .step h3{font-size:21px!important}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
  .stats b{font-size:clamp(42px,12vw,60px)}
  .facts{grid-template-columns:minmax(0,1fr)}
  .fc{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}
  .fc>p{grid-column:1/-1;font-size:25px;max-width:17ch}
  .fc h4{font-size:12px;letter-spacing:.08em}
  .fc a{font-size:13px;line-height:1.5}
  .big{font-size:clamp(64px,17vw,100px);margin:34px 0 20px;letter-spacing:-.06em}
  .fb{font-size:12px;line-height:1.5;gap:10px}
  .fb span{max-width:100%}
  .cta h2{font-size:clamp(34px,9vw,46px)!important;max-width:14ch;margin:16px auto 26px}
  .ph0{padding:108px 0 28px}
  .ph0 h1{font-size:clamp(36px,10.2vw,48px)!important;max-width:12ch;margin:13px 0}
  .ph0 p{font-size:15px;line-height:1.6}
  .dh{height:auto;min-height:70svh}
  .dh h1{font-size:clamp(39px,10.8vw,53px)!important}
  .th .thumbs{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .th .th-card{height:116px;min-width:0}
  .th .th-name{font-size:12px}
  .tb{top:0;position:static;gap:10px;padding:12px 0;margin-bottom:20px}
  .tb .chips{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
  .tb .chip{flex:0 0 auto}
  .fld{width:100%;min-width:0;border-radius:9px!important;min-height:46px;padding:10px 12px}
  .rq{grid-template-columns:minmax(0,1fr);gap:18px;padding-bottom:56px}
  .rq-route-fields{grid-template-columns:minmax(0,1fr);gap:12px}
  .rq-route-fields>*{min-width:0;width:100%}
  .types{grid-template-columns:minmax(0,1fr)}
  .ty{padding:15px;min-width:0}
  .sum{position:static;padding:20px}
  .acf{padding:16px}
  .f input,.f textarea,.f select,.tf input,.tf select,.qf input,.qf select{width:100%;min-width:0;min-height:48px;font-size:16px}
  .f textarea{min-height:112px}
  .act{gap:10px;flex-wrap:wrap}
  .act .btn{flex:1 1 100%}
  .btn{min-height:48px;padding:13px 16px;font-size:14px}
  .btn.sm{min-height:42px}
  .guide-card,.acf,.note,.side,.request-panel,.request-card,.tool,.vc,.stc,.ev,.fq{border-radius:12px!important}
  .side{padding:20px}
  .atl{grid-template-columns:minmax(0,1fr);padding-top:70px;gap:12px}
  #map{height:44svh;min-height:280px;max-height:420px;border-radius:12px!important;overflow:hidden}
  .atl aside{order:2;max-height:none;padding:0}
  .atl #al{max-height:none}
  .atl #al button{min-height:54px}
  .tb,.place-suggestions{max-width:100%}
  .ct{font-size:12px;grid-template-columns:70px repeat(var(--n),minmax(48px,1fr));overflow-x:auto}
  .table-wrap,.sp2-wrap{max-width:100%;overflow-x:auto}
  table{max-width:100%}
  .two,.ac,.rh2,.bh2,.tool,.ch2,.vh .two,.fdi{grid-template-columns:minmax(0,1fr);gap:22px}
  .rh{padding:108px 0 42px}
  .rh h1{font-size:clamp(38px,10.2vw,50px)!important;line-height:1.02!important}
  .rh p{font-size:15px;margin:17px 0 22px}
  .stk{height:300px;max-width:100%;margin-top:6px}
  .stk .tmp{width:60%}
  .pn{flex-direction:column;gap:10px;margin-top:30px}
  .pn a{flex:auto}
  .stay-promo>div{display:block}
  .stay-promo-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:18px}
  .resource-links{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}
  .acg{grid-template-columns:minmax(0,1fr);gap:10px}
  .sv{grid-template-columns:minmax(0,1fr);gap:10px;padding:22px 0}
  .pr4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .pr4>div{padding:17px}
  .pr4 b{font-size:45px;margin-bottom:14px}
  .mos{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px;gap:10px}
  .mos .m0{grid-column:span 2!important;grid-row:span 1!important}
  .mos .m6{grid-column:span 2!important}
  .mos a{padding:14px;border-radius:12px!important;min-width:0}
  .mos h3{font-size:18px!important}
  .mos-desc{display:none}
  .pg2{grid-template-columns:minmax(0,1fr);gap:12px}
  .pc2{padding:10px 10px 18px}
  .pc2 .tmp{aspect-ratio:16/9}
  .fc a,.fb span,.resource-links a{overflow-wrap:anywhere}
  footer{padding:42px 0 22px!important}
  #up{right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:42px;height:42px}
  #toast{bottom:max(14px,env(safe-area-inset-bottom));width:calc(100% - 28px)}
}

@media(max-width:360px){
  :root{--w:calc(100% - 28px)}
  .hero h1{font-size:38px!important}
  .intents{column-gap:10px}
  .bento>.t1{min-height:290px;padding:18px}
  .bento>.tile:not(.t1){padding-right:52px}
  .fc{gap:20px 10px}
  .fc a{font-size:12px}
  .th .th-card{height:100px}
}

@media(prefers-reduced-motion:reduce){
  .hero .bg,.tile,.card img,.rows .row{transition:none!important}
  @media (hover:hover){.tile:hover,.rows .row:hover{transform:none!important}}
}

/* MENGED Group homepage — intentional editorial gateway, responsive by composition. */
.group-hero{min-height:clamp(620px,80svh,790px);padding:128px 0 34px;display:flex;align-items:center}
.group-hero .bg img{width:100%;height:100%;object-fit:cover}
.group-hero:after{background:linear-gradient(90deg,rgba(10,27,20,.88) 0%,rgba(10,27,20,.69) 46%,rgba(10,27,20,.28) 100%),linear-gradient(0deg,rgba(7,20,14,.75),transparent 48%)!important}
.group-hero-inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.65fr);column-gap:clamp(40px,7vw,110px);align-items:end}
.group-hero-copy{max-width:760px}.group-hero h1{max-width:15ch;font-size:clamp(50px,5.6vw,78px)!important;margin:0 0 20px;line-height:1.02!important;letter-spacing:-.055em!important;text-wrap:balance}
.group-hero .group-lead{max-width:50ch;color:rgba(255,255,255,.88);font-size:17px;line-height:1.65;margin:0 0 22px}
.group-hero-actions .btn{background:#fff!important;color:var(--fg)!important;border-color:#fff!important}
.group-hero-note{padding:24px 0 4px 26px;border-left:1px solid rgba(255,255,255,.38);color:#fff;max-width:360px;margin-bottom:6px}
.group-note-kicker{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#F0D28C}
.group-hero-note p{font-family:var(--dsp);font-size:clamp(23px,2.4vw,32px);line-height:1.2;letter-spacing:-.025em;margin:13px 0 18px}
.group-text-link{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:#fff}.group-text-link .ic{width:17px;height:17px}
.group-hero .intents{grid-column:1/-1;width:100%;max-width:none;margin-top:52px;display:flex}
.group-hero .intents button{display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;padding:14px 12px 7px 0;min-height:54px}
.group-hero .intents button:before{right:12px}
.group-services-section{padding-top:88px}
.group-services-heading{align-items:end}
.group-services-heading h2{max-width:13ch}
.group-services-heading>p{max-width:43ch}
.group-service-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,minmax(230px,1fr));gap:14px;align-items:stretch}
.group-service{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;min-width:0;min-height:250px;padding:23px 24px 24px;border:1px solid var(--line);border-radius:15px;background:var(--card);overflow:hidden;transition:transform .22s var(--ease),border-color .22s,box-shadow .22s}
@media (hover:hover){.group-service:hover{transform:translateY(-3px);border-color:#B4C1B5;box-shadow:var(--shadow-sm)}}
.group-service-feature{grid-column:span 6;grid-row:span 2;min-height:510px;color:white;border:0;padding:28px}
.group-service-cars,.group-service-trade,.group-service-business,.group-service-support{grid-column:span 3}
.group-service-feature>img,.group-service-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.group-service-feature>img{object-fit:cover;transition:transform .8s var(--ease)}@media (hover:hover){.group-service-feature:hover>img{transform:scale(1.035)}}
.group-service-shade{z-index:-1;background:linear-gradient(180deg,rgba(8,22,15,.12),rgba(8,22,15,.88))}
.group-service-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.group-service-top>small{font-size:12px;font-weight:700;letter-spacing:.15em;color:var(--mut)}
.group-service-feature .group-service-top>small{color:rgba(255,255,255,.78)}
.group-service-arrow{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;color:var(--fg);flex:none}
.group-service-arrow .ic{width:18px;height:18px}.group-service-feature .group-service-arrow{color:white;border-color:rgba(255,255,255,.55)}
.group-service-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#E8EDE5;color:var(--deep);margin:18px 0 12px}
.group-service-icon .ic{width:20px;height:20px}
.group-service-content{display:block;margin-top:auto}.group-service-eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--acc)}
.group-service-feature .group-service-eyebrow{color:#F1D28A}
.group-service h3{font-size:clamp(23px,2.2vw,31px)!important;margin:8px 0 10px;max-width:13ch}
.group-service-feature h3{font-size:clamp(38px,4.2vw,58px)!important;max-width:8ch;margin:10px 0 12px}
.group-service p{font-size:13px;line-height:1.65;color:var(--mut);margin:0;max-width:42ch}
.group-service-feature p{font-size:15px;color:rgba(255,255,255,.86);max-width:39ch}
.group-service-cta{display:inline-flex;align-items:center;gap:8px;margin-top:19px;font-size:12px;font-weight:700;color:var(--deep)}
.group-service-feature .group-service-cta{color:#fff}.group-service-cta .ic{width:16px;height:16px;transition:transform .2s}@media (hover:hover){.group-service:hover .group-service-cta .ic{transform:translateX(3px)}}
.group-outcomes .sh h2{max-width:13ch}.group-outcome-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:42px;border-top:1px solid var(--line)}
.group-outcome-row{display:grid;grid-template-columns:36px minmax(0,1fr) 20px;gap:12px;align-items:start;padding:21px 0;border-bottom:1px solid var(--line);min-width:0}
.group-outcome-row>span{font-size:12px;font-weight:700;color:var(--acc);padding-top:4px}.group-outcome-row h3{font:600 15px/1.35 var(--sans)!important;letter-spacing:0!important;margin:0 0 5px}.group-outcome-row p{font-size:13px;color:var(--mut);line-height:1.55;margin:0}.group-outcome-row>i{font-style:normal;color:var(--mut);padding-top:2px}.group-outcome-row>i .ic{width:17px;height:17px}
.group-destinations .sh{align-items:end}.group-destinations .sh .btn{white-space:nowrap}.group-how .sh h2{max-width:13ch}.group-how .sh p{color:rgba(255,255,255,.7)}.group-how .step p{color:rgba(255,255,255,.7)}.group-how .step b{color:var(--gold)}
@media(max-width:1050px){.group-service-feature{grid-column:span 6}.group-service-cars,.group-service-trade,.group-service-business,.group-service-support{grid-column:span 3}.group-service{padding:20px}.group-service h3{font-size:24px!important}.group-service-feature h3{font-size:46px!important}.group-hero-inner{column-gap:42px}}
@media(max-width:760px){.group-hero{min-height:0;padding:106px 0 24px;display:block}.group-hero-inner{display:block}.group-hero h1{font-size:clamp(38px,10.5vw,50px)!important;max-width:15ch;margin:0 0 16px;line-height:1.04!important}.group-hero .group-lead{font-size:15px;line-height:1.6;max-width:38ch;margin-bottom:19px}.group-hero-note{display:none}.group-hero .intents{margin-top:30px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid rgba(255,255,255,.3)}.group-hero .intents button{padding:12px 5px 6px 0;font-size:12px;line-height:1.3;overflow-wrap:anywhere}.group-hero .intents button small{font-size:12px}.group-services-section{padding-top:54px}.group-services-heading{display:block}.group-services-heading h2{max-width:13ch}.group-services-heading>p{margin-top:18px}.group-service-mosaic{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:11px}.group-service,.group-service-feature,.group-service-cars,.group-service-trade,.group-service-business,.group-service-support{grid-column:1;grid-row:auto;min-height:0}.group-service-feature{min-height:390px;padding:23px}.group-service:not(.group-service-feature){display:grid;grid-template-columns:42px minmax(0,1fr) 34px;grid-template-rows:auto auto;column-gap:13px;align-items:start;padding:17px 15px}.group-service:not(.group-service-feature) .group-service-top{grid-column:1/-1;margin-bottom:11px}.group-service:not(.group-service-feature) .group-service-icon{grid-column:1;grid-row:2;margin:2px 0 0;width:38px;height:38px}.group-service:not(.group-service-feature) .group-service-content{grid-column:2;grid-row:2;margin:0}.group-service:not(.group-service-feature) .group-service-content h3{font-size:22px!important;margin:5px 0 7px;max-width:none}.group-service:not(.group-service-feature) .group-service-content p{font-size:12px;line-height:1.55}.group-service:not(.group-service-feature) .group-service-cta{margin-top:10px;font-size:12px}.group-service:not(.group-service-feature) .group-service-top .group-service-arrow{width:32px;height:32px}.group-outcomes{padding-block:54px}.group-outcomes .sh{display:block}.group-outcomes .sh>p{margin-top:16px}.group-outcome-grid{grid-template-columns:1fr}.group-outcome-row{grid-template-columns:28px minmax(0,1fr) 18px;padding:17px 0;gap:9px}.group-destinations{padding-block:54px}.group-destinations .sh{display:block}.group-destinations .sh .btn{margin-top:15px}.group-how{padding-block:54px}.group-how .sh{display:block}.group-how .sh>p{margin-top:16px}.group-how .steps{grid-template-columns:1fr}.group-how .step{padding:20px 0!important}.group-how .step+.step{padding-left:0}.group-how .step b{font-size:58px}}
@media(max-width:390px){.group-hero .intents button{font-size:12px;letter-spacing:-.02em}.group-hero h1{font-size:clamp(38px,10.2vw,41px)!important;max-width:15ch}.group-service-feature{min-height:350px}.group-service-feature h3{font-size:39px!important}.group-service:not(.group-service-feature){grid-template-columns:36px minmax(0,1fr) 30px;padding:15px 12px;gap:10px}.group-service:not(.group-service-feature) .group-service-content h3{font-size:20px!important}}
@media(prefers-reduced-motion:reduce){.group-service,.group-service-feature>img,.group-service-cta .ic{transition:none!important}}


/* Licensed Ethiopian photography pass: consistent photo geometry in Business and Support. */
.bi{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch;gap:clamp(12px,1.6vw,20px)!important}
.bi>div{min-width:0;overflow:hidden;border-radius:var(--radius-card,16px)}
.bi .tmp{display:block;width:100%;height:auto!important;aspect-ratio:4/3!important;overflow:hidden;border-radius:inherit;background:#e7e6df}
.bi .tmp img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.bub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}
.bub>.tmp,.bub .tmp{display:block;width:100%;height:auto;aspect-ratio:4/3;overflow:hidden;border-radius:16px}
.bub .tmp img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:760px){.bi{grid-template-columns:1fr!important;gap:14px!important}.bi .tmp{aspect-ratio:16/9!important}.bub{grid-template-columns:1fr;gap:12px}.bub .tmp{aspect-ratio:16/9}}
@media(min-width:761px) and (max-width:1024px){.bi{gap:12px!important}.bi .tmp{aspect-ratio:4/3!important}}


/* MENGED Business action hub: a practical bridge from sector ideas to launch documents. */
.business-action-hub{background:#F4F2EA!important;padding-block:clamp(52px,7vw,88px)!important}
.biz-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.biz-panel{min-width:0;border:1px solid #d9ddd3;border-radius:18px;background:#fffefa;padding:clamp(20px,3vw,32px);box-shadow:0 10px 28px rgba(24,35,29,.035)}
.biz-panel>.eye{margin-bottom:12px}.biz-panel>h3{margin:0 0 12px;max-width:18ch}.biz-panel>p{font-size:14px;color:var(--mut);margin:0 0 18px}
.biz-sector-choices{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.biz-sector-choices button{appearance:none;border:1px solid #d5dbd1;border-radius:999px;background:#f7f7f1;color:#26392e;padding:9px 12px;line-height:1.35;font:600 12px/1.35 var(--sans);cursor:pointer;transition:background .18s,border-color .18s,color .18s}
.biz-sector-choices button.on,.biz-sector-choices button[aria-pressed=true]{background:#1d4938;color:#fff;border-color:#1d4938}@media (hover:hover){.biz-sector-choices button:hover{background:#1d4938;color:#fff;border-color:#1d4938}}
.biz-result{border-top:1px solid var(--line);padding-top:18px;margin-top:8px}
.biz-result h4{font-size:22px!important;margin:0 0 10px;max-width:none}
.biz-result p{font-size:13px;line-height:1.7;color:#58655c;margin:0 0 10px}
.biz-result strong{color:#1d4938;font-weight:700}
.biz-result ul{list-style:none;display:grid;gap:9px;padding:0;margin:12px 0 0}
.biz-result li{position:relative;padding-left:22px;font-size:13px;line-height:1.6;color:#394b40}
.biz-result li:before{content:"";position:absolute;left:0;top:1px;width:17px;height:17px;background:none}
.biz-panel-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:22px}
.biz-panel-actions .btn{white-space:normal;min-height:46px}
.biz-inline-link{display:inline-flex;gap:6px;align-items:center;font-size:12px;font-weight:700;color:#315a43;line-height:1.5}
.biz-inline-link .ic{width:15px;height:15px}
.biz-small-note{font-size:12px!important;line-height:1.6!important;color:#667369!important;margin-top:16px!important}
@media(max-width:800px){.biz-hub-grid{grid-template-columns:1fr;gap:14px}.biz-panel{padding:22px}.biz-panel-actions{align-items:flex-start;flex-direction:column;gap:12px}}
@media(prefers-reduced-motion:reduce){.biz-sector-choices button{transition:none}}


/* Premium trust section: make the service process visible instead of relying on unsupported claims. */
.group-trust{padding-block:clamp(54px,7vw,88px);background:#F4F2EA}
.group-trust .sh h2{max-width:15ch}
.group-trust .sh>p{max-width:44ch}
.group-trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}
.group-trust-grid article{padding:24px;border:1px solid #d9ddd3;border-radius:15px;background:#fffefa;min-width:0}
.group-trust-grid article>span{display:block;color:var(--acc);font-size:12px;font-weight:800;letter-spacing:.13em;margin-bottom:28px}
.group-trust-grid h3{font-size:19px!important;line-height:1.25;margin:0 0 10px}
.group-trust-grid p{font-size:13px;line-height:1.7;color:var(--mut);margin:0;max-width:38ch}
.spec-intro{font-size:12px;line-height:1.65;color:var(--mut);margin:0 0 12px;max-width:58ch}
@media(max-width:760px){.group-trust{padding-block:54px}.group-trust .sh{display:block}.group-trust .sh>p{margin-top:16px}.group-trust-grid{grid-template-columns:1fr;gap:10px}.group-trust-grid article{padding:19px}.group-trust-grid article>span{margin-bottom:16px}}

/* Premium experience fixes: legible secondary actions and a comparison tray that stays visible. */
.btn.alt,.btn.lt{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;
  padding:12px 19px;background:#fffefa!important;color:#18231d!important;
  border:1px solid #65786b!important;border-radius:9px!important;
  box-shadow:0 2px 8px rgba(24,35,29,.08)!important;text-shadow:none!important;
}
.btn.alt:focus-visible,.btn.lt:focus-visible{
  background:#e8eee6!important;color:#142c21!important;border-color:#244b39!important;
  box-shadow:0 5px 16px rgba(24,35,29,.12)!important;transform:translateY(-1px)
}@media (hover:hover){.btn.alt:hover,.btn.lt:hover{
  background:#e8eee6!important;color:#142c21!important;border-color:#244b39!important;
  box-shadow:0 5px 16px rgba(24,35,29,.12)!important;transform:translateY(-1px)
}}
.hero .btn.alt,.hero .btn.lt,.th .btn.alt,.th .btn.lt,.dark .btn.alt,.dark .btn.lt,
.group-hero .btn.alt,.group-hero .btn.lt,.ch .btn.alt,.ch .btn.lt{
  background:#fffefa!important;color:#18231d!important;border-color:#fffefa!important
}
button,.chip,.lgb,.swb,.sbtn{ -webkit-tap-highlight-color:transparent }
:is(button,.chip,.btn,.lgb,.swb,.sbtn,.burger):focus-visible{outline:3px solid #2e7260!important;outline-offset:3px!important}
.btn:disabled,button:disabled{opacity:.55;cursor:not-allowed}
/* A single global tray is used, so the selected choices follow the visitor between vehicle pages. */
#cb.cb{
  position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));
  transform:translate(-50%,calc(100% + 30px));z-index:110;display:flex;align-items:center;
  justify-content:center;gap:12px;flex-wrap:wrap;width:max-content;max-width:calc(100% - 24px);
  padding:12px 14px 12px 18px;background:#173b2c!important;color:#fff!important;
  border:1px solid rgba(255,255,255,.18);border-radius:14px!important;
  box-shadow:0 18px 48px rgba(0,0,0,.25);font:600 13px/1.35 var(--sans);
  text-transform:none!important;letter-spacing:0!important;transition:transform .28s var(--ease),opacity .2s;
  opacity:0;pointer-events:none;visibility:hidden
}
#cb.cb.on{transform:translate(-50%,0);opacity:1;pointer-events:auto;visibility:visible}
#cb .cb-label{display:flex;align-items:center;gap:6px;color:#fff!important;white-space:nowrap}
#cb .cb-label b{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;color:#173b2c;font-weight:800}
#cb .btn{min-height:42px;padding:10px 13px;background:#fffefa!important;color:#173b2c!important;border-color:#fffefa!important;white-space:nowrap}
#cb .cb-clear{min-height:40px;padding:9px 10px;background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.48)!important;border-radius:8px;font:600 12px/1.2 var(--sans);cursor:pointer}
@media (hover:hover){#cb .cb-clear:hover{background:rgba(255,255,255,.12)!important;border-color:#fff!important}}
.cmp-detail{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:12px;padding:12px 14px;min-height:46px;border:1px solid #aab7aa!important;border-radius:9px;background:#fffefa!important;color:#183e2d!important;font:650 13px/1.3 var(--sans);cursor:pointer}
.cmp-detail.on{background:#e6eee5!important;border-color:#315b45!important}@media (hover:hover){.cmp-detail:hover{background:#e6eee5!important;border-color:#315b45!important}}
/* Clear visual hierarchy for the company structure selector. */
.structure-options{margin:30px 0 34px;padding:26px;border:1px solid #d9ddd3;border-radius:18px;background:#f4f2ea}
.structure-options>.eye{margin-bottom:16px;color:#365844}
.structure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.structure-card{min-width:0;padding:20px;background:#fffefa;border:1px solid #dfe3da;border-radius:13px}
.structure-card>small{display:block;margin-bottom:15px;color:#a64a2e;font:800 12px/1.4 var(--sans);letter-spacing:.12em}
.structure-card h3{font-size:22px!important;line-height:1.15!important;margin:0 0 10px;max-width:26ch}
.structure-card p{margin:0;color:#56635a;font-size:13px;line-height:1.65}
.structure-card .structure-best{margin-top:13px;padding-top:12px;border-top:1px solid #e5e7e0;color:#273d30}
.structure-best b{display:block;margin-bottom:4px;color:#284f3a;font-size:12px;letter-spacing:.02em}
.guide-article .field-note{margin-block:24px}
/* Four real angle labels remain readable on desktop and touch-size on mobile. */
.gt{border-radius:13px;overflow:hidden;background:#e4e6df}
.gt figure{position:relative;overflow:hidden;background:#e4e6df}
.gt figure img{width:100%;height:100%;object-fit:cover;display:block}
.gt figcaption{max-width:calc(100% - 24px);font-size:12px;line-height:1.25;letter-spacing:.08em;white-space:normal}
.gth{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.gth button{min-width:0;padding:0 0 7px;opacity:1;background:transparent;border:0;border-radius:8px;cursor:pointer}
.gth button .tmp{overflow:hidden;border:1px solid #c8d0c5;background:#e4e6df}
.gth button span{font-size:12px;line-height:1.3;font-weight:600;color:#384a3d;overflow-wrap:anywhere}
.gth button.on .tmp{outline:2px solid #a64a2e;outline-offset:1px}
.gth button.on span{color:#173b2c}
.gth button:focus-visible{outline:3px solid #2e7260!important;outline-offset:4px}
/* On small screens keep the comparison tray inside the thumb-safe area and prevent clipped actions. */
@media(max-width:620px){
  .btn.alt,.btn.lt{min-height:48px;padding:12px 14px;max-width:100%;white-space:normal;text-align:center}
  #cb.cb{width:calc(100% - 20px);max-width:calc(100% - 20px);bottom:max(10px,env(safe-area-inset-bottom));gap:8px;padding:10px;border-radius:12px!important}
  #cb .cb-label{flex:1 1 100%;justify-content:center}
  #cb .btn{flex:1 1 auto;white-space:normal;min-height:42px}
  #cb .cb-clear{flex:0 0 auto}
  .structure-options{padding:16px;margin:24px 0}
  .structure-grid{grid-template-columns:1fr;gap:10px}
  .structure-card{padding:17px}
  .gth{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .gth button span{font-size:12px}
}
@media(prefers-reduced-motion:reduce){#cb.cb,.btn.alt,.btn.lt,.gth button{transition:none!important}}

/* Investment landing page: put the reasons to explore the market before the planning tools. */
.business-why{padding-block:clamp(54px,7vw,88px);background:#fffcf4}
.business-why .sh h2{max-width:17ch}
.business-why .sh>p{max-width:46ch}
.business-why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}
.business-why-grid .guide-card{background:#f5f3ec;border-color:#e1e2d9;min-height:205px}
.business-why-grid .guide-card h3{font-size:24px!important;max-width:18ch}
.business-why-grid .guide-card p{max-width:44ch}
.business-why>.w>.business-source-line{margin-top:22px;color:#5f6d64;font-size:12px;line-height:1.7}
.business-why>.w>.business-source-line a{color:#1e5039;text-decoration:underline;text-underline-offset:3px;font-weight:700}
@media(max-width:850px){.business-why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.business-why{padding-block:54px}.business-why .sh{display:block}.business-why .sh>p{margin-top:16px}.business-why-grid{grid-template-columns:1fr;gap:10px}.business-why-grid .guide-card{min-height:0;padding:20px}.business-why-grid .guide-card h3{font-size:23px!important}}


/* Final experience polish: clearer choice cards, stronger focus and visible controls. */
@media(min-width:1080px){.structure-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:621px) and (max-width:1079px){.structure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.structure-options>.eye{font-size:11px;line-height:1.5;letter-spacing:.12em;font-weight:800;text-transform:uppercase}
.structure-card h3{overflow-wrap:anywhere}
.structure-card p{overflow-wrap:anywhere}
:is(button,.btn,.chip,.lnk,.l,.menu-list-item,.swb,.lgb,.sbtn):focus-visible{outline:3px solid #176b52!important;outline-offset:3px!important}
/* Keep interactive secondary actions legible on dark and photographic sections. */
button.chip,button.l,button.cmp-detail,button[data-c],button[data-k],button[data-m],button[data-g],button[data-i],button[data-p],button[data-gi]{cursor:pointer}
button.chip:not(.on){color:#193a2b;border-color:#8c9b8e;background:#fffefa}
@media (hover:hover){button.chip:not(.on):hover{background:#e8eee6;border-color:#315b45;color:#173b2c}}
.btn:not(.lt):not(.alt){text-shadow:none}
.btn:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 5px #176b52!important}
@media(max-width:620px){.structure-grid{grid-template-columns:1fr}.structure-card>small{margin-bottom:9px}.structure-card .structure-best{line-height:1.55}}

.business-deck{font-family:var(--serif,Georgia,serif)!important;font-size:clamp(22px,2.4vw,30px)!important;line-height:1.25!important;max-width:25ch!important;margin:18px 0 14px!important;color:var(--ink,#1a2c22)!important}
.business-value-grid .guide-card h3{overflow-wrap:anywhere}
.business-value-grid .guide-card p{font-size:13px;line-height:1.7}


/* Rotating headline */
.rotator{position:relative;display:inline-grid;vertical-align:bottom}
.rotator-word{grid-area:1/1;opacity:0;transform:translateY(.55em);filter:blur(4px);transition:opacity .55s,transform .55s,filter .55s;white-space:nowrap;color:var(--gold)}
.rotator-word.on{opacity:1;transform:none;filter:none}
/* Scrollable destination rail */
.rail-scroll{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 4px 24px;scrollbar-width:thin}
.rail-scroll>*{flex:0 0 min(300px,78vw);scroll-snap-align:start}
.rail-scroll::-webkit-scrollbar{height:6px}
.rail-scroll::-webkit-scrollbar-thumb{background:var(--gold);border-radius:99px}
/* Big service icons */
.group-service-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;margin-bottom:18px;background:linear-gradient(135deg,var(--gold,#c4501b),#8a3a12);color:#fff;box-shadow:0 12px 28px rgba(196,80,27,.35);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.group-service-icon svg{width:34px;height:34px}
.group-service{transition:transform .3s,box-shadow .3s}
@media (hover:hover){.group-service:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(0,0,0,.16)}}
@media (hover:hover){.group-service:hover .group-service-icon{transform:translateY(-6px) rotate(-6deg)}}
/* Map layer switcher on the map */
#map{position:relative}
.map-switch{position:absolute;z-index:1000;top:14px;left:14px;display:flex;gap:8px;flex-wrap:wrap;background:rgba(247,244,236,.94);backdrop-filter:blur(8px);padding:10px;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.atl aside ul#al{max-height:calc(100vh - 320px);overflow-y:auto;scrollbar-width:thin}
/* Compare + Request buttons on vehicle cards */
.vc{position:relative}
.vc .vf{display:flex;align-items:center;gap:10px}
.vc .cmp{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;cursor:pointer;transition:transform .2s,background .2s,color .2s;flex:0 0 auto}
@media (hover:hover){.vc .cmp:hover{transform:scale(1.12)}}
.vc .cmp svg{transition:transform .25s}
.vc .cmp.on{background:var(--acc);color:#fff;border-color:transparent}
.vc .cmp.on svg{transform:rotate(45deg)}
/* Buttons micro-interactions */
.btn{transition:transform .15s,box-shadow .25s}
@media (hover:hover){.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.15)}}
.btn:active{transform:translateY(0) scale(.97)}
.fc-tel{display:block}


/* Mobile layout repair: number labels were removed from outcome rows and destination index cards,
   so their old number columns must not be reserved. Keep text columns flexible at all widths. */
.group-outcome-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.group-outcome-row{grid-template-columns:minmax(0,1fr) 20px;gap:12px;min-width:0}
.group-outcome-row>div{min-width:0}
.group-outcome-row h3,.group-outcome-row p{overflow-wrap:normal;word-break:normal;hyphens:auto}
.ix a{grid-template-columns:minmax(0,1fr) auto 30px;min-width:0;gap:16px}
.ix a h3,.ix a small{min-width:0;overflow-wrap:anywhere}
/* The four non-feature service cards no longer contain a trailing top-row arrow. */
@media(max-width:760px){
 .group-outcome-grid{grid-template-columns:minmax(0,1fr)}
 .group-outcome-row{grid-template-columns:minmax(0,1fr) 18px;gap:9px;padding:17px 0}
 .ix a{grid-template-columns:minmax(0,1fr) 24px;gap:12px;padding:15px 0}
 .ix a small{display:none}
 .group-service:not(.group-service-feature){grid-template-columns:42px minmax(0,1fr);column-gap:13px}
}
@media(max-width:390px){.group-service:not(.group-service-feature){grid-template-columns:36px minmax(0,1fr);column-gap:10px}}
/* New menu markup has no number column. */
#menu>a{grid-template-columns:minmax(0,1fr)}
/* Make the two SVGs in the specialities cards distinct: service icon at left, arrow at top-right. */
.sbg a>.ic:first-child{position:static;display:block;width:34px;height:34px;padding:7px;border-radius:50%;background:color-mix(in srgb,var(--c) 12%,transparent);color:var(--c);margin:0 0 5px}
.sbg a>.ic:last-child{position:absolute;right:16px;top:16px;width:16px;height:16px;color:var(--mut)}
/* Draggable, cancelable dialogs and accessible floating contact control. */
.sbx{max-height:min(76vh,720px);display:flex;flex-direction:column;max-width:calc(100vw - 24px)}
.sbh{flex:0 0 auto;cursor:grab;touch-action:none;user-select:none}
.sbx.is-dragging{transition:none!important;box-shadow:0 30px 90px rgba(0,0,0,.32)}
.sbh button{cursor:pointer;touch-action:auto}
.sbg{overflow:auto;min-height:0;overscroll-behavior:contain}
@media(max-width:760px){.sbg{grid-template-columns:repeat(2,minmax(0,1fr));overflow:auto}.sbg a{min-width:0;padding:14px}.sbg p{overflow-wrap:anywhere}}
 @media(max-width:420px){.sbg{grid-template-columns:minmax(0,1fr)}.sbx{width:calc(100vw - 24px)!important}}

/* Keep the floating contact panel out of normal flow so the draggable button stays anchored. */

/* Search popup controls: dedicated movement grip and visible cancel button. */
.pbox{max-height:calc(100vh - 24px);display:flex;flex-direction:column;max-width:calc(100vw - 24px)}
.pbox.is-dragging{transition:none!important;box-shadow:0 30px 90px rgba(0,0,0,.32)}
.pin .pal-grip{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:30px;color:var(--mut);font-size:18px;line-height:1;letter-spacing:-3px;padding:0 7px 0 2px;cursor:grab;touch-action:none;user-select:none}
.pin .pal-close{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--fg);font:500 21px/1 var(--sans,Inter,Arial,sans-serif);cursor:pointer}
@media (hover:hover){.pin .pal-close:hover{background:var(--fg);color:var(--bg)}}
#pr{min-height:0;flex:1;overscroll-behavior:contain}


/* Cleaner, consistent service iconography and fewer micro-labels. */
.group-service-top>small{display:none!important}
.group-service-icon{width:54px;height:54px;border-radius:16px;background:linear-gradient(140deg,#F7E8C8,#E8D1A0);color:#4A3219;box-shadow:0 8px 20px rgba(82,55,25,.12)}
.group-service-icon .ic{width:27px;height:27px}
.group-outcome-row{grid-template-columns:42px minmax(0,1fr) 20px}
.group-outcome-row .outcome-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--card);border:1px solid var(--line);color:var(--acc)}
.group-outcome-row .outcome-icon .ic{width:20px;height:20px}
@media(max-width:760px){.group-outcome-row{grid-template-columns:38px minmax(0,1fr) 18px;gap:11px}.group-outcome-row .outcome-icon{width:34px;height:34px}}
/* Support journey: an animated connected timeline, with icons marking each stage. */
.support-timeline{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding:22px 0 10px;margin:10px 0 0;list-style:none;min-width:0}
.support-timeline:before{content:"";position:absolute;left:6.2%;right:6.2%;top:48px;height:2px;background:linear-gradient(90deg,#c4501b,#d9bd7f,#7b9c87);transform:scaleX(0);transform-origin:left;transition:transform 1.25s cubic-bezier(.22,1,.36,1) .15s}
.support-timeline.in:before{transform:scaleX(1)}
.support-timeline-item{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--d,0)*140ms)}
.support-timeline-item.in{opacity:1;transform:translateY(0)}
.support-timeline-icon{position:relative;z-index:1;display:grid;place-items:center;width:54px;height:54px;margin:0 0 22px;border-radius:17px;border:1px solid rgba(196,80,27,.22);background:var(--bg,#f7f4ec);color:#a4471d;box-shadow:0 7px 20px rgba(34,29,20,.08);transition:transform .32s cubic-bezier(.34,1.56,.64,1),background .3s,color .3s}
.support-timeline-icon .ic{width:25px;height:25px}
@media (hover:hover){.support-timeline-item:hover .support-timeline-icon{transform:translateY(-4px) rotate(-5deg);background:#c4501b;color:#fff}}
.support-timeline-content{min-width:0;max-width:28ch}
.support-timeline-content h3{margin:0 0 9px;font:600 21px/1.25 var(--dsp)!important;letter-spacing:-.02em!important;text-wrap:balance}
.support-timeline-content p{margin:0;color:var(--mut);font-size:14px;line-height:1.7;overflow-wrap:normal;word-break:normal}
/* Better transport icons without numeric card labels. */
.mg .mode-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--card);color:var(--acc)}
.mg .mode-icon .ic{width:23px;height:23px;position:static}
.mg h3{margin-top:25px}
/* Contact details have a dedicated page; ordinary footers only link to it. */
.contact-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:10px 0 36px}
.contact-method{display:grid;grid-template-columns:46px minmax(0,1fr) 18px;align-items:center;gap:13px;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--fg);text-decoration:none;min-width:0;transition:transform .25s,box-shadow .25s,border-color .25s}
@media (hover:hover){.contact-method:hover{transform:translateY(-3px);border-color:var(--acc);box-shadow:0 14px 30px rgba(25,29,22,.08)}}
.contact-method-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#f1e3ca;color:#8a401c}
.contact-method-icon .ic{width:22px;height:22px}
.contact-method-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.contact-method-copy small{font-size:11px;color:var(--mut);letter-spacing:.08em;text-transform:uppercase}
.contact-method-copy b{font-size:14px;overflow-wrap:anywhere}
.contact-method>.ic{width:18px;height:18px;color:var(--mut)}
.contact-page-next{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.contact-page-next h2{font-size:clamp(25px,3vw,36px);max-width:18ch}
.contact-page-next p{color:var(--mut);max-width:55ch;margin-top:8px}
.contact-page-actions{display:flex;flex-wrap:wrap;gap:10px;flex:0 0 auto}
.text-btn{margin-top:22px;background:transparent;border:0;color:var(--mut);text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:8px 0;font:500 13px/1.5 var(--sans,Inter,Arial,sans-serif)}
/* Floating control: direct to Support, draggable and dismissible; no contact details in its UI. */
@media(max-width:760px){.support-timeline{grid-template-columns:minmax(0,1fr);gap:0;padding:18px 0 0}.support-timeline:before{left:26px;right:auto;top:42px;bottom:34px;width:2px;height:auto;transform:scaleY(0);transform-origin:top}.support-timeline.in:before{transform:scaleY(1)}.support-timeline-item{display:grid;grid-template-columns:54px minmax(0,1fr);column-gap:16px;align-items:start;padding:0 0 25px;transform:translateX(10px)}.support-timeline-item.in{transform:translateX(0)}.support-timeline-icon{width:52px;height:52px;margin:0}.support-timeline-content{padding-top:2px;max-width:none}.support-timeline-content h3{font-size:20px!important}.support-timeline-content p{font-size:14px}.contact-methods{grid-template-columns:minmax(0,1fr);gap:10px}.contact-method{padding:17px}.contact-page-next{display:block}.contact-page-actions{margin-top:18px}.contact-page-actions .btn{flex:1}}
@media(prefers-reduced-motion:reduce){.support-timeline:before,.support-timeline-item,.support-timeline-icon{transition:none!important}.support-timeline-item{opacity:1;transform:none}.support-timeline:before{transform:none}}

/* Clear step visuals: use purposeful icons instead of decorative 01 / 02 counters. */
.business-investment-steps .step-icon,
.trade-pain-icon,
.process-step-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 0 18px;border-radius:14px;background:rgba(196,80,27,.10);border:1px solid rgba(196,80,27,.2);color:var(--acc,#c4501b);flex:0 0 auto}
.business-investment-steps .step-icon .ic,
.trade-pain-icon .ic,
.process-step-icon .ic{width:23px;height:23px}
.business-investment-steps .step h3{margin-top:0}
.trade-pain-card{gap:12px}
.trade-pain-icon{width:44px;height:44px;margin:0 0 4px;border-radius:12px;background:var(--bg,#f7f4ec)}
.trade-pain-card h3{max-width:20ch;text-wrap:balance}
.pr4{align-items:stretch}
.pr4>div{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.process-step-icon{width:46px;height:46px;margin-bottom:22px;background:rgba(224,201,154,.12);border-color:rgba(224,201,154,.26);color:var(--gold,#e0c99a)}
.pr4 h3{margin:0;font-size:clamp(19px,2vw,24px)!important;line-height:1.25}
.pr4 p{font-size:14px;line-height:1.65}
/* Never allow hero navigation tabs or any service card to break word-by-word on phones. */
.group-hero .intents button{min-width:0;word-break:normal;overflow-wrap:normal;hyphens:none;text-align:left}
.group-outcome-row h3,.group-outcome-row p,.group-service h3,.group-service p{word-break:normal;overflow-wrap:normal;hyphens:none}
@media(max-width:760px){
 .group-hero .intents{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
 .group-hero .intents button{min-height:42px;padding:11px 4px 8px 0;font-size:12px;line-height:1.35;white-space:normal}
 .group-outcome-grid{grid-template-columns:minmax(0,1fr)!important}
 .group-outcome-row{grid-template-columns:38px minmax(0,1fr) 18px!important;gap:11px;min-width:0}
 .group-service:not(.group-service-feature){grid-template-columns:42px minmax(0,1fr)!important;grid-template-rows:auto!important;column-gap:12px;row-gap:0}
 .group-service:not(.group-service-feature) .group-service-icon{grid-column:1!important;grid-row:1!important}
 .group-service:not(.group-service-feature) .group-service-content{grid-column:2!important;grid-row:1!important;min-width:0}
 .business-investment-steps .step-icon{width:42px;height:42px;margin-bottom:12px}
 .trade-pain-grid{grid-template-columns:minmax(0,1fr)!important}
 .pr4{grid-template-columns:minmax(0,1fr)!important;gap:10px}
 .pr4>div{padding:21px}
 .process-step-icon{width:42px;height:42px;margin-bottom:14px}
}
@media(min-width:761px) and (max-width:1100px){.pr4{grid-template-columns:repeat(2,minmax(0,1fr))}.trade-pain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* R14 photography system: service imagery, sector narratives and honest media labels. */
.group-service-photo-card{color:#fff;border-color:rgba(255,255,255,.16);background:#173b2c}
.group-service-photo-card>.group-service-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s var(--ease)}
.group-service-photo-card>.group-service-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,rgba(7,22,15,.56) 0%,rgba(7,22,15,.66) 46%,rgba(7,22,15,.91) 100%)}
@media (hover:hover){.group-service-photo-card:hover>.group-service-photo{transform:scale(1.035)}}
.group-service-photo-card .group-service-content h3,.group-service-photo-card .group-service-content p,.group-service-photo-card .group-service-cta{color:#fff}
.group-service-photo-card .group-service-content p{color:rgba(255,255,255,.87)}
.group-service-photo-card .group-service-icon{background:rgba(255,255,255,.93);color:#173b2c;box-shadow:0 4px 20px rgba(0,0,0,.12)}
.group-service-photo-card .group-service-top>small,.group-service-photo-card .group-service-eyebrow{color:rgba(255,255,255,.8)}
.guide-card-photo{width:100%;aspect-ratio:16/9;overflow:hidden;background:#e7e9e1;border-radius:12px 12px 0 0}
.guide-card-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s var(--ease)}
@media (hover:hover){.guide-card:hover .guide-card-photo img{transform:scale(1.025)}}
.business-value-grid .guide-card,.business-why-grid .guide-card{padding:0!important;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.business-value-grid .guide-card-body,.business-why-grid .guide-card-body{padding:clamp(17px,2vw,24px);display:flex;flex:1;flex-direction:column;gap:10px}
.business-value-grid .guide-card-body>small,.business-why-grid .guide-card-body>small{font-size:12px;letter-spacing:.14em;font-weight:800;color:#68766b}
.business-value-grid .guide-card h3,.business-why-grid .guide-card h3{margin:0;line-height:1.18!important}
.business-value-grid .guide-card p,.business-why-grid .guide-card p{margin:0;max-width:none}
.business-value-grid .guide-card-photo,.business-why-grid .guide-card-photo{border-radius:0}
.st-photo{position:relative;display:block;overflow:hidden}
.stay-photo-label{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;border-radius:999px;background:rgba(20,37,28,.84);color:#fff;font-size:12px;font-weight:700;letter-spacing:.035em;backdrop-filter:blur(8px)}
@media(max-width:620px){.business-value-grid .guide-card-body,.business-why-grid .guide-card-body{padding:17px}.guide-card-photo{aspect-ratio:16/10}}
@media(prefers-reduced-motion:reduce){.group-service-photo-card>.group-service-photo,.guide-card-photo img{transition:none!important}}


/* Investment-sector exploration pages */
.inv-sector-hero{padding:clamp(34px,5vw,72px) 0 clamp(38px,5vw,70px);background:linear-gradient(112deg,#f7f5ef 0%,#f0eee6 100%);border-bottom:1px solid rgba(32,56,44,.12)}
.inv-sector-hero-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(280px,.97fr);gap:clamp(26px,5vw,64px);align-items:center}
.inv-sector-hero-copy{min-width:0}.inv-sector-hero-copy .eye a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(32,56,44,.24)}
.inv-sector-hero-copy h1{max-width:760px;margin:18px 0 18px;font-size:clamp(36px,5.4vw,66px);line-height:1.02;letter-spacing:-.045em;overflow-wrap:break-word}
.inv-sector-lead{max-width:64ch;font-size:clamp(16px,1.5vw,19px);line-height:1.78;color:#4d5c53;margin:0}
.inv-sector-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:24px}
.inv-back-link{display:inline-block;margin-top:18px;color:#53645a;font-size:13px;font-weight:650;text-decoration:none}
.inv-sector-image{position:relative;min-width:0;overflow:hidden;border-radius:24px;aspect-ratio:4/3;background:#e0e1d8;box-shadow:0 18px 50px rgba(21,43,32,.12)}
.inv-sector-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,32,23,.12),transparent 55%);pointer-events:none}
.inv-sector-image img{display:block;width:100%;height:100%;object-fit:cover}
.inv-sector-content{padding:clamp(36px,5vw,70px) 0 64px}
.inv-area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}
.inv-area-card{min-width:0;padding:clamp(18px,2vw,25px);border:1px solid rgba(35,61,47,.14);border-radius:18px;background:#fff;box-shadow:0 6px 22px rgba(25,45,33,.035)}
.inv-area-index{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border-radius:10px;background:#eef1e9;color:#234938;font-size:12px;font-weight:800;letter-spacing:.06em}
.inv-area-card h3{font-size:clamp(18px,2vw,22px);line-height:1.2;letter-spacing:-.02em;margin:17px 0 10px}
.inv-area-card p{font-size:14px;line-height:1.75;color:#536159;margin:0}
.inv-sector-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.inv-check-panel{padding:clamp(20px,2.7vw,32px);border-radius:18px;background:#f4f4ee;border:1px solid rgba(35,61,47,.10);min-width:0}
.inv-check-panel h2{font-size:clamp(22px,2.6vw,30px);line-height:1.14;margin:9px 0 18px;letter-spacing:-.03em}
.inv-check-panel ul,.inv-help-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.inv-check-panel li,.inv-help-panel li{position:relative;padding-left:24px;line-height:1.65;font-size:14px;color:#425148}
.inv-check-panel li:before,.inv-help-panel li:before{content:"";position:absolute;left:0;top:1px;width:17px;height:17px;background:none}
.inv-help-panel{margin-top:20px;padding:clamp(23px,4vw,42px);border-radius:22px;background:#173f30;color:#fff;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);column-gap:32px;row-gap:22px;align-items:start}
.inv-help-panel .eye{color:#d6b18b}.inv-help-panel h2{font-size:clamp(25px,3.2vw,36px);line-height:1.12;letter-spacing:-.035em;margin:10px 0 12px}.inv-help-panel p{font-size:14px;line-height:1.8;color:rgba(255,255,255,.78);margin:0}.inv-help-panel ul{padding-top:4px}.inv-help-panel li{color:rgba(255,255,255,.9)}.inv-help-panel li:before{color:#d6b18b}
.inv-help-panel .inv-sector-actions{grid-column:1/-1;margin-top:0}.inv-help-panel .btn.alt{border-color:rgba(255,255,255,.4);color:#fff;background:transparent}
.inv-sector-note{font-size:12px;line-height:1.7;color:#667168;max-width:95ch;margin:18px 0 0}
.business-value-grid .guide-card-link{height:100%;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}@media (hover:hover){.business-value-grid .guide-card-link:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(14,42,71,.18);border-color:rgba(14,42,71,.4)}}.business-value-grid .guide-card-link:focus-visible{outline:3px solid #14355a;outline-offset:4px}.business-value-grid .guide-card-link .lnk{margin-top:auto;padding-top:10px}.business-value-grid .guide-card-link .lnk:after{content:"";display:inline-block;width:16px;height:16px;margin-left:6px;vertical-align:middle;background:none;transition:transform .2s ease}@media (hover:hover){.business-value-grid .guide-card-link:hover .lnk:after{transform:translate(3px,-2px)}}
@media(max-width:820px){.inv-sector-hero-grid{grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:24px}.inv-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inv-help-panel{grid-template-columns:1fr;gap:20px}}
@media(max-width:620px){.inv-sector-hero{padding:28px 0 34px}.inv-sector-hero-grid{grid-template-columns:1fr;gap:22px}.inv-sector-image{order:-1;aspect-ratio:16/10;border-radius:16px}.inv-sector-hero-copy h1{font-size:clamp(34px,10vw,46px)}.inv-sector-actions{align-items:stretch;flex-direction:column}.inv-sector-actions .btn{width:100%;justify-content:center}.inv-area-grid,.inv-sector-columns{grid-template-columns:1fr}.inv-area-card{padding:20px}.inv-help-panel{border-radius:17px}.business-value-grid .guide-card-link{min-height:0}}
@media(prefers-reduced-motion:reduce){.business-value-grid .guide-card-link,.business-value-grid .guide-card-link .lnk:after{transition:none!important}}


/* R18: evidence-led investment storytelling shared by all sector pages */
.inv-sector-headline{max-width:760px;margin:0 0 16px;font-size:clamp(24px,3.2vw,38px);line-height:1.12;letter-spacing:-.035em;color:#203f30;font-weight:720}
.inv-sector-hero-copy .inv-sector-lead{max-width:66ch}
.inv-sector-proof{padding:clamp(34px,5vw,66px) 0 10px;background:#fff}
.inv-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:24px}
.inv-proof-card{min-width:0;padding:clamp(20px,2.5vw,30px);border:1px solid rgba(35,61,47,.13);border-radius:18px;background:linear-gradient(155deg,#fff 0%,#f8f8f3 100%)}
.inv-proof-icon,.inv-area-icon,.inv-roadmap-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:#e9eee7;color:#1f513c}
.inv-proof-icon .ic,.inv-area-icon .ic,.inv-roadmap-icon .ic{width:21px;height:21px}
.inv-proof-card h3{font-size:19px;line-height:1.25;margin:18px 0 10px;letter-spacing:-.02em}
.inv-proof-card p{font-size:14px;line-height:1.76;color:#536159;margin:0}
.inv-area-index{display:none!important}
.inv-area-icon{width:38px;height:38px}
.inv-area-card h3{margin-top:16px}
.inv-check-panel{background:#f6f6f0}
.inv-check-panel-strong{background:#edf2ed;border-color:rgba(27,76,52,.18)}
.inv-panel-intro{font-size:14px;color:#637066;line-height:1.7;margin:-4px 0 18px}
.inv-check-panel ul{margin-top:0}
.inv-roadmap{margin-top:clamp(38px,5vw,64px)}
.inv-roadmap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:22px}
.inv-roadmap-card{min-width:0;padding:22px 19px;border-radius:16px;background:#fff;border:1px solid rgba(35,61,47,.13)}
.inv-roadmap-card h3{font-size:17px;line-height:1.25;margin:15px 0 9px}
.inv-roadmap-card p{font-size:13px;line-height:1.7;color:#56645b;margin:0}
.inv-help-panel .inv-help-assurance{margin-top:13px;padding-top:13px;border-top:1px solid rgba(255,255,255,.18);font-size:12px;line-height:1.7}
.inv-sources{margin-top:clamp(36px,5vw,62px);padding-top:clamp(25px,3vw,38px);border-top:1px solid rgba(35,61,47,.15)}
.inv-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.inv-source-card{min-width:0;display:flex;gap:14px;align-items:flex-start;padding:18px 19px;border-radius:15px;text-decoration:none;color:#203f30;border:1px solid rgba(35,61,47,.15);background:#fff;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
@media (hover:hover){.inv-source-card:hover{transform:translateY(-2px);border-color:rgba(35,93,65,.4);box-shadow:0 12px 25px rgba(24,48,34,.07)}}
.inv-source-card:focus-visible{outline:3px solid #2c6e4e;outline-offset:3px}
.inv-source-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;border-radius:11px;background:#edf1e8;color:#23533c}
.inv-source-mark .ic{width:18px;height:18px}
.inv-source-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
.inv-source-copy b{font-size:14px;line-height:1.4}
.inv-source-copy small{font-size:12px;line-height:1.65;color:#657168}
.inv-source-copy em{font-size:12px;font-style:normal;font-weight:750;color:#216144;display:flex;align-items:center;gap:6px;margin-top:2px}
.inv-source-copy em .ic{width:14px;height:14px}
.inv-sector-note{padding-top:16px;border-top:1px solid rgba(35,61,47,.10)}
.inv-market-signal{padding:clamp(28px,4vw,48px) 0;background:#f3f3ed;border-top:1px solid rgba(35,61,47,.10);border-bottom:1px solid rgba(35,61,47,.10)}
.inv-market-signal-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.6fr);gap:32px;align-items:center}
.inv-market-signal h2{font-size:clamp(25px,3.3vw,38px);line-height:1.15;letter-spacing:-.035em;margin:10px 0 14px}
.inv-market-signal p{max-width:78ch;font-size:14px;line-height:1.8;color:#536159}
.inv-market-signal .lnk{display:inline-flex;margin:8px 18px 0 0;font-size:13px}
.inv-market-signal-stat{padding:28px;border:1px solid rgba(35,61,47,.13);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(25,45,33,.04)}
.inv-market-signal-stat b{display:block;font-size:clamp(32px,4.3vw,50px);letter-spacing:-.05em;color:#1f513c}
.inv-market-signal-stat span{display:block;margin-top:3px;font-size:14px;font-weight:750;line-height:1.45;color:#2c4235}
.inv-market-signal-stat small{display:block;margin-top:12px;font-size:12px;line-height:1.6;color:#657168}
@media(max-width:900px){.inv-roadmap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inv-market-signal-grid{grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr)}}
@media(max-width:700px){.inv-proof-grid{grid-template-columns:1fr}.inv-source-grid{grid-template-columns:1fr}.inv-market-signal-grid{grid-template-columns:1fr;gap:20px}.inv-sector-headline{font-size:clamp(23px,7vw,31px)}.inv-roadmap-grid{grid-template-columns:1fr}.inv-roadmap-card{padding:20px}.inv-market-signal-stat{padding:22px}.inv-proof-card{padding:21px}}
@media(prefers-reduced-motion:reduce){.inv-source-card{transition:none!important}}

.sector-detail-link{margin:12px 0 0}.sector-detail-link .lnk{display:inline-flex;align-items:center;gap:7px}.sector-detail-link .ic{width:14px;height:14px}

/* ==== nav-fix ==== */
/* Navigation rebuild — loaded last, single source of truth for header + mobile menu */
#nav{display:flex;align-items:center;gap:16px;padding:10px clamp(16px,3vw,32px);min-height:64px}
#nav .logo{flex:none;margin-right:8px}
#links{display:flex;align-items:center;gap:2px;margin:0 auto 0 8px;flex-wrap:nowrap;min-width:0}
#links a{padding:10px 14px;font-size:14px;font-weight:500;letter-spacing:0;text-transform:none;border-radius:8px;white-space:nowrap;opacity:.8}
#links a.on{opacity:1;background:color-mix(in srgb,currentColor 8%,transparent)}@media (hover:hover){#links a:hover{opacity:1;background:color-mix(in srgb,currentColor 8%,transparent)}}
#links a:after{display:none}
#links a.on{box-shadow:inset 0 -2px 0 var(--acc,currentColor)}
.nr{display:flex;align-items:center;gap:8px;margin-left:auto}
.nr .lgb,.nr .swb,.nr .sbtn,.nr .burger{height:40px;min-height:40px;border-radius:10px;padding:0 12px;display:inline-flex;align-items:center;gap:7px;font-size:13px}
.nr .sbtn{width:40px;justify-content:center;padding:0}.nr .sbtn kbd{display:none}
.nr .btn.sm{height:40px;padding:0 16px;white-space:nowrap}
.usr{display:none!important}
.burger{display:none;width:40px;padding:0;position:relative}
.burger i{left:11px;right:11px}
:focus-visible{outline:2px solid var(--acc,#c4501b);outline-offset:2px}
@media(max-width:1180px){#links,.nr .swb,.nr .btn.sm{display:none}.burger{display:inline-flex}.lgb span{display:none}.nr .lgb{width:40px;padding:0;justify-content:center}}
/* Mobile / tablet menu */
#menu{justify-content:flex-start;align-items:stretch;overflow-y:auto;padding:calc(84px + env(safe-area-inset-top)) clamp(20px,5vw,48px) calc(28px + env(safe-area-inset-bottom));clip-path:inset(0 0 100% 0);transition:clip-path .45s cubic-bezier(.2,.7,.2,1)}
body.mo #menu{clip-path:inset(0 0 0 0)}
#menu>a{display:flex;align-items:baseline;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.14);font:500 clamp(22px,6vw,30px)/1.2 var(--dsp,inherit);grid-template-columns:none}
#menu>a small{font:600 12px/1 var(--sans,inherit);opacity:.5;min-width:22px}
#menu>a:last-of-type{margin-top:18px;border:0;padding:16px 20px;border-radius:12px;background:var(--acc,#c4501b);justify-content:center;font-size:18px}
#menu>a:last-of-type small{display:none}
#menu .menu-secondary{width:100%;margin:22px 0 0}
body.mo #nav{z-index:2010}

.tkw{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));padding-bottom:40px}
.tkc{border:1px solid color-mix(in srgb,currentColor 15%,transparent);border-radius:16px;padding:24px;display:grid;gap:14px;align-content:start}
.tkc h2{font-size:22px;margin:0}.tkg{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}
.tkc .f input,.tkc .f select{width:100%;min-height:44px;padding:8px 12px;border-radius:9px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);background:transparent;color:inherit;font:inherit}
.tkr{padding:14px 16px;border-radius:12px;background:color-mix(in srgb,currentColor 7%,transparent);font-size:16px;line-height:1.5}.tkr b{font-size:1.15em}
.tkw+p,.tkw p:last-child{grid-column:1/-1}
#nav{background:transparent;box-shadow:none}#nav:before,#nav:after{display:none!important}
#nav.sol{background:color-mix(in srgb,var(--bg,#f7f4ec) 92%,transparent);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent)}
#nav .nr .burger{display:none}
@media(max-width:1180px){#nav .nr .burger{display:inline-flex;align-items:center;justify-content:center}}

/* Full Atlas catalogue hierarchy */
#al .atlas-divider{margin:18px 8px 6px;padding:12px 4px 8px;border-top:1px solid var(--line);color:var(--mut);font:600 11px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;list-style:none}
.mk.ml i{background:#b17b24;width:14px;height:14px;border-radius:4px}
#lay .chip:focus-visible,#al button:focus-visible{outline:2px solid var(--acc);outline-offset:2px}

/* Use the sans family for the navigation ampersand. */
#menu .menu-amp{font-family:var(--sans);font-style:normal;font-weight:500;font-size:.92em;opacity:1;vertical-align:0;margin-inline:.05em}

/* ==== responsive-polish ==== */
/* MENGED responsive polish: footer, contrast, touch controls, cards and page rhythm */
:root{--meng-cream:#f7f4ec;--meng-forest:#123c2d;--meng-forest-deep:#10291f;--meng-ink:#18221d;--meng-muted:#68736d;--meng-line:rgba(32,50,41,.16);--meng-gold:#d7a25c}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{overflow-wrap:break-word;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{max-width:100%}
button,a,input,select,textarea{touch-action:manipulation}
:focus-visible{outline:3px solid #d79a4a!important;outline-offset:3px!important}
.upright-amp{font-family:var(--sans,Inter,Arial,sans-serif)!important;font-style:normal!important;font-weight:inherit;font-size:.96em;letter-spacing:normal}

/* A consistent, deliberately arranged footer at every width */
footer{padding:clamp(46px,7vw,82px) 0 24px!important;overflow:hidden}
footer .fc{display:grid!important;grid-template-columns:minmax(170px,1.15fr) repeat(3,minmax(0,1fr))!important;gap:clamp(18px,3.2vw,42px)!important;align-items:start!important}
footer .fc>p.fc-intro{grid-column:auto;max-width:22ch;margin:0!important;font:400 clamp(21px,2.2vw,30px)/1.25 var(--serif,var(--dsp,Georgia),serif)!important;letter-spacing:-.025em;opacity:.98}
footer .fc-local,footer .fc-connected,footer .fc-contact{min-width:0;align-self:start}
footer .fc h4{margin:3px 0 15px!important;font:700 11px/1.4 var(--sans,Inter,Arial,sans-serif)!important;letter-spacing:.14em!important;text-transform:uppercase;opacity:.7;overflow-wrap:normal}
footer .fc nav,footer .fc nav.fc-links,footer .fc nav.fc-contact-links{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important;min-width:0;max-width:100%}
footer .fc nav a,footer .fc nav a:visited{display:block!important;position:static!important;float:none!important;width:fit-content;max-width:100%;margin:0!important;padding:5px 0!important;font:500 13px/1.55 var(--sans,Inter,Arial,sans-serif)!important;letter-spacing:0!important;text-transform:none!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;opacity:.88;transform:none!important}
@media (hover:hover){footer .fc nav a:hover{color:var(--gold)!important;opacity:1;transform:translateX(2px)!important}}
footer .fc .fc-email{max-width:100%;overflow-wrap:anywhere;word-break:normal}
footer .fc .fc-contact-primary{margin:8px 0 5px!important;color:var(--gold)!important;font-weight:700!important}
footer .fc .fc-city{display:inline-block!important;width:max-content;max-width:none!important;white-space:nowrap!important;margin-top:18px;font:500 14px/1.4 var(--sans,Inter,Arial,sans-serif);opacity:.85}
footer .big{font-size:clamp(62px,15vw,230px)!important;line-height:.86!important;margin:clamp(42px,7vw,76px) 0 20px!important;letter-spacing:-.055em!important;max-width:100%;overflow:hidden}
footer .fb{display:flex;gap:12px 20px;align-items:flex-start;flex-wrap:wrap;font-size:12px;line-height:1.5;padding-top:16px!important;opacity:.72}
footer .fb span{min-width:0;overflow-wrap:anywhere}

/* Text inside forest-green panels must remain comfortably readable */
.side .content-block,.side .content-list,.side .content-list li,.side .content-list li span,.side .content-block p{color:#f7f4ec!important}
.side .content-block{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin:20px 0!important}
.side .content-block h3,.side .content-list h3{color:#fff!important}
.side .content-list{display:grid;gap:15px!important}
.side .content-list li{display:flex;align-items:flex-start;gap:12px!important;font-size:clamp(14px,1.5vw,16px)!important;line-height:1.7!important}
.side .content-list li span,.side .content-list li p{color:rgba(255,255,255,.93)!important}
.side .content-list .ic{color:var(--meng-gold)!important;flex:0 0 16px;margin-top:5px}
.side h3{color:#fff!important;line-height:1.2}
.side .mut,.side small{color:rgba(255,255,255,.76)!important}
.side a:not(.btn){color:#fff!important;text-decoration:underline;text-decoration-color:rgba(255,255,255,.45);text-underline-offset:3px}
.side .btn{justify-content:center!important;text-align:center;min-height:48px}
.side .btn span{width:100%;text-align:center}

/* Reassuring and quiet typography on all action buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center!important;text-align:center!important;gap:9px;min-height:46px;padding:13px 38px 13px 22px!important;line-height:1.25!important;white-space:normal;overflow-wrap:anywhere;vertical-align:middle}
.btn>span{display:block;width:100%;text-align:center!important;line-height:1.3}
.btn>.ic{position:absolute;right:14px;top:50%;width:15px;height:15px;flex:none;transform:translateY(-50%);margin:0!important}
@media (hover:hover){.btn:hover>.ic{transform:translate(2px,-50%)!important}}
.btn.sm{min-height:38px;padding:10px 30px 10px 15px!important;font-size:12px!important;line-height:1.25!important}
.btn.sm>.ic{right:10px;width:13px;height:13px}
button.btn:disabled{opacity:.45;cursor:not-allowed}
.act{display:flex;align-items:center;flex-wrap:wrap;gap:10px!important;margin-top:22px!important}
.act .btn{min-width:145px}

/* Compact request selector, designed for touch and small screens */
.rq{display:block!important;max-width:900px;padding-bottom:clamp(48px,8vw,88px)!important}
#rqf{width:100%;max-width:800px;margin:0 auto;min-width:0}
#rqf h3{font-size:clamp(25px,3.2vw,36px);line-height:1.14;letter-spacing:-.025em;margin-bottom:0}
#rqf>.prog{margin-bottom:22px}
#rqf>.f{margin-top:16px}
.types{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important;margin-bottom:18px}
.ty{position:relative;display:flex!important;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;min-width:0;min-height:76px;padding:12px 28px 12px 13px!important;text-align:left!important;border:1px solid var(--meng-line)!important;border-radius:12px!important;background:rgba(255,255,255,.42);font:600 13px/1.3 var(--sans,Inter,Arial,sans-serif)!important;box-shadow:none!important}
.ty .ty-title{font:650 13px/1.3 var(--sans,Inter,Arial,sans-serif)!important;letter-spacing:-.01em}
.ty small{display:block;font:400 12px/1.4 var(--sans,Inter,Arial,sans-serif)!important;color:var(--meng-muted)!important;letter-spacing:0;text-transform:none;opacity:1!important}
@media (hover:hover){.ty:hover{border-color:rgba(30,70,50,.45)!important;transform:translateY(-1px)}}
.ty.on{background:#153f30!important;color:#fff!important;border-color:#153f30!important;box-shadow:0 5px 16px rgba(16,41,31,.1)!important}
.ty.on small{color:rgba(255,255,255,.83)!important;opacity:1!important}
.ty.on:after{right:10px!important;top:10px!important;width:18px!important;height:18px!important}
#rqf .f{display:flex;flex-direction:column;gap:7px;margin-top:16px;font:650 12px/1.4 var(--sans,Inter,Arial,sans-serif);color:var(--meng-ink)}
#rqf .f input,#rqf .f select,#rqf .f textarea{min-width:0;width:100%;border:1px solid rgba(32,50,41,.2);border-radius:10px;background:#fff;color:#19231e;padding:12px 13px;font:400 15px/1.4 var(--sans,Inter,Arial,sans-serif);letter-spacing:0;text-transform:none;box-shadow:none;min-height:46px;color-scheme:light}
#rqf .f textarea{min-height:112px;resize:vertical}
#rqf .f input:focus,#rqf .f select:focus,#rqf .f textarea:focus{border-color:#285a43;outline:2px solid rgba(40,90,67,.18)}
.date-range-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin-top:8px}
.date-range-fields .f{min-width:0;margin-top:8px!important}
.date-range-fields input[type=date],#rqf input[type=date]{font-variant-numeric:tabular-nums;min-width:0;max-width:100%;padding-right:8px}
.date-hint,.direct-note{font:400 12px/1.6 var(--sans,Inter,Arial,sans-serif)!important;color:#69756e!important;margin:9px 0 0;max-width:70ch}
.rq-route-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
.rq-route-fields .f:last-child{grid-column:1/-1;max-width:240px}
.contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0 12px}
.contact-actions .btn{width:100%;min-width:0;min-height:48px;padding:12px 30px 12px 14px!important;font-size:13px!important}
.contact-actions .btn>.ic{right:10px}
.direct-note{margin:10px 0 18px}
#rqf .act .btn{width:auto;min-width:142px}

/* Car cards, shortlists and comparison actions share a clear grid */
.vg{align-items:stretch;gap:clamp(12px,1.8vw,20px)!important}
.vc{min-width:0;display:flex;flex-direction:column;border-radius:13px;overflow:hidden}
.vc .ph{width:100%;aspect-ratio:16/10;overflow:hidden;background:#ebe8df}
.vc .ph img,.vc .ph .tmp img{width:100%;height:100%;object-fit:cover}
.vb{display:flex;flex-direction:column;gap:10px;flex:1;min-width:0;padding:clamp(14px,1.8vw,20px)!important}
.vb h3{margin:0!important;line-height:1.18;letter-spacing:-.02em}
.vb p{font-size:13px;line-height:1.6;margin:0}
.vf{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:9px!important;margin-top:auto!important;padding-top:13px!important}
.vf .chip,.vf .lnk,.vf button{display:flex;align-items:center;justify-content:center!important;text-align:center!important;width:100%;min-width:0;min-height:42px;padding:9px 10px!important;border-radius:9px!important;white-space:normal!important;font:600 12px/1.35 var(--sans,Inter,Arial,sans-serif)!important;overflow-wrap:anywhere}
.vf .chip{background:transparent;border:1px solid var(--meng-line)}
.vf .lnk{border:1px solid var(--meng-line);font-family:var(--sans,Inter,Arial,sans-serif)!important}
.vf button.cmp.on{background:#e6efe9;color:#214f3a;border-color:#94b19e}
#cb.cb{left:50%;right:auto;bottom:max(14px,env(safe-area-inset-bottom));width:min(820px,calc(100% - 28px));max-width:820px;display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border:1px solid rgba(255,255,255,.18);border-radius:14px;box-shadow:0 15px 45px rgba(0,0,0,.25);text-transform:none;letter-spacing:0;font-size:12px;z-index:60}
#cb .cb-label{display:block;text-align:center;line-height:1.4;font-size:12px;font-weight:600;flex:1 1 180px}
#cb .btn{flex:0 1 auto;min-width:190px;max-width:100%;min-height:42px;padding:10px 30px 10px 15px!important;border-radius:9px!important;font-size:12px!important;letter-spacing:0!important}
#cb .cb-clear{min-height:38px;padding:8px 12px!important;border:1px solid currentColor;border-radius:9px;white-space:nowrap;color:inherit}
.cmp-detail,.cmp-detail .btn{max-width:100%}

/* Investment feature panel: readable copy and image sizing that survives mobile */
.bh-feature{position:relative;isolation:isolate;min-height:420px;aspect-ratio:4/5;overflow:hidden;border-radius:18px;background:#0e2a47;color:#fff;box-shadow:0 20px 46px rgba(14,42,71,.22)}
.bh-feature>img,.bh-feature>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;aspect-ratio:auto!important;display:block}
.bh-feature:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(9,19,33,.05) 12%,rgba(9,19,33,.2) 37%,rgba(8,20,36,.93) 100%);pointer-events:none}
.bh-feature-copy{position:absolute;z-index:2;inset:auto 23px 23px;display:grid;gap:11px;min-width:0}
.bh-feature-copy small{display:block;font:700 11px/1.4 var(--sans,Inter,Arial,sans-serif);letter-spacing:.16em;text-transform:uppercase;color:#d3b485}
.bh-feature-copy b{display:block;max-width:15ch;font:400 clamp(26px,3.2vw,40px)/1.12 var(--dsp,Georgia,serif);letter-spacing:-.01em;text-wrap:balance}
.bh-feature-copy span{display:block;max-width:34ch;color:rgba(255,255,255,.88);font:400 12px/1.6 var(--sans,Inter,Arial,sans-serif);letter-spacing:0}
.bh-feature-copy .btn{justify-self:start;width:auto;margin-top:5px}

/* Equal image rhythm: no staggered gaps on small screens */
.bub{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:clamp(8px,1.7vw,18px)!important;margin-top:clamp(24px,4vw,40px)!important}
.bub .tmp,.bub .tmp:nth-child(2){width:100%;height:auto;aspect-ratio:4/5;border-radius:11px;margin:0!important;overflow:hidden}
.bub .tmp img{display:block;width:100%;height:100%;object-fit:cover}
.bub .tmp:after{display:none}

/* Horizontally scrolling tabs visibly reveal the selected choice */
.bz nav,.modes,.chips,.ch .chips,.tab-list,.horizontal-tabs{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:rgba(80,95,85,.35) transparent;overscroll-behavior-x:contain}
.bz nav a,.modes button,.chips button{flex:0 0 auto;scroll-snap-align:start}
.bz nav,.modes,.chips{scroll-snap-type:x proximity}

/* Compact “Explore next” links and well-proportioned sector cards */
.business-grid,.sector-grid,.sectors-grid{align-items:stretch;gap:clamp(12px,2vw,20px)!important}
.sector-grid .btn,.sectors-grid .btn,.business-grid .btn,.stc .btn{min-height:40px;padding:10px 32px 10px 14px!important;font-size:12px!important;align-self:flex-start;max-width:100%}
.sector-grid .btn>.ic,.sectors-grid .btn>.ic,.business-grid .btn>.ic,.stc .btn>.ic{right:10px}
.resource-details{margin:16px 0;border-top:1px solid var(--meng-line);padding-top:10px}
.resource-details summary{font:600 12px/1.5 var(--sans,Inter,Arial,sans-serif);color:var(--meng-muted);cursor:pointer;list-style:none;display:flex;gap:8px;align-items:center}
.resource-details summary:before{content:"";display:inline-block;flex:none;width:18px;height:18px;background:none;transition:transform .2s}
.resource-details[open] summary:before{transform:rotate(45deg)}
.resource-details a{display:inline-block;margin:7px 12px 0 0;font-size:12px;line-height:1.5}
.origin-detail{margin-top:18px;padding:clamp(18px,3vw,26px);border:1px solid var(--meng-line);border-radius:14px;background:rgba(255,255,255,.5)}
.origin-detail>small{display:block;color:#8d5d2e;font:700 11px/1.5 var(--sans,Inter,Arial,sans-serif);text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}
.origin-detail h3{font:500 clamp(24px,2.5vw,32px)/1.15 var(--serif,Georgia,serif);margin:0 0 10px;letter-spacing:-.025em}
.origin-detail p{font-size:14px;line-height:1.7;max-width:70ch}
.origin-detail .btn{margin-top:12px}

@media(min-width:1200px){footer .fc{gap:48px!important}footer .fc nav a{font-size:14px!important}}
@media(max-width:960px){
 footer{padding-top:52px!important}
 footer .fc{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:26px 20px!important}
 footer .fc>p.fc-intro{grid-column:1/-1;max-width:27ch;font-size:clamp(23px,4vw,30px)!important}
 footer .fc-local,footer .fc-connected{grid-column:auto}
 footer .fc-contact{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.16);padding-top:19px}
 footer .fc .fc-contact-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important;gap:0 18px!important}
 footer .fc .fc-contact-links .fc-email{grid-column:1/-1;width:fit-content;max-width:100%;margin-bottom:7px!important}
 footer .fc .fc-contact-links .fc-contact-primary{grid-column:1/-1;margin:5px 0 8px!important}
 footer .fc-city{margin-top:11px}
 footer .big{font-size:clamp(68px,20vw,160px)!important;margin-top:42px!important}
 .bh-feature{min-height:330px;aspect-ratio:16/10}
 .bh-feature-copy{inset:auto 20px 20px}
 .bh-feature-copy b{font-size:clamp(26px,4vw,34px)}
 .rq-route-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
 html{scroll-padding-top:72px}
 footer{padding:43px 0 20px!important}
 footer .fc{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:23px 15px!important}
 footer .fc>p.fc-intro{font-size:24px!important;max-width:23ch;line-height:1.2!important}
 footer .fc h4{font-size:12px!important;letter-spacing:.1em!important;margin-bottom:10px!important}
 footer .fc nav a,footer .fc nav a:visited{padding:5px 0!important;font-size:12px!important;line-height:1.5!important}
 footer .fc-contact{padding-top:16px}
 footer .fc .fc-contact-links{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:13px!important}
 footer .fc .fc-email{font-size:12px!important;overflow-wrap:anywhere}
 footer .fc-city{font-size:12px!important;max-width:none!important;white-space:nowrap!important}
 footer .big{font-size:clamp(57px,19vw,100px)!important;letter-spacing:-.06em!important;margin:35px 0 18px!important}
 footer .fb{font-size:12px!important;gap:7px 12px}
 .types{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .ty{min-height:68px;padding:10px 25px 10px 11px!important;border-radius:10px!important}
 .ty .ty-title{font-size:12px!important;line-height:1.32}
 .ty small{font-size:12px!important;line-height:1.35}
 .date-range-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}
 .rq-route-fields{grid-template-columns:1fr;gap:0}
 .rq-route-fields .f:last-child{grid-column:auto;max-width:none}
 .contact-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .contact-actions .btn{min-height:44px;font-size:12px!important;padding:10px 26px 10px 10px!important}
 .contact-actions .btn>.ic{right:8px;width:13px;height:13px}
 .act{gap:8px!important;margin-top:18px!important}
 .act .btn{width:100%;min-width:0}
 .vg{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .vb{padding:12px!important;gap:8px}
 .vb h3{font-size:17px;line-height:1.16}
 .vb p{font-size:12px;line-height:1.5}
 .sp{gap:7px 9px;font-size:12px}
 .vf{grid-template-columns:minmax(0,1fr)!important;gap:7px!important}
 .vf .chip,.vf .lnk,.vf button{min-height:39px;font-size:12px!important}
 #cb.cb{grid-template-columns:minmax(0,1fr) auto;display:grid;gap:8px 10px;padding:10px 11px;border-radius:12px;width:calc(100% - 20px)}
 #cb .cb-label{grid-column:1/-1;flex:auto;font-size:12px}
 #cb .btn{width:100%;min-width:0;grid-column:1;min-height:40px;font-size:12px!important;padding:9px 26px 9px 9px!important}
 #cb .btn>.ic{right:8px;width:12px;height:12px}
 #cb .cb-clear{grid-column:2;min-width:56px;font-size:12px}
 .bh-feature{aspect-ratio:4/5;min-height:300px;max-height:470px}
 .bh-feature-copy{inset:auto 15px 16px;gap:8px}
 .bh-feature-copy b{font-size:clamp(25px,7vw,31px);max-width:13ch}
 .bh-feature-copy span{font-size:12px;max-width:32ch}
 .bh-feature-copy .btn{min-height:40px;font-size:12px!important}
 .bub{gap:8px!important;margin-top:22px!important}
 .bub .tmp,.bub .tmp:nth-child(2){aspect-ratio:3/4;border-radius:8px}
 .origin-detail{padding:17px;margin-top:12px}
 .origin-detail .btn{width:100%}
}
@media(max-width:360px){
 footer .fc{gap:20px 11px!important}
 footer .fc nav a,footer .fc nav a:visited{font-size:12px!important}
 footer .fc>p.fc-intro{font-size:22px!important}
 footer .fc .fc-contact-links{grid-template-columns:1fr!important}
 footer .fc .fc-contact-links .fc-email,footer .fc .fc-contact-links .fc-contact-primary{grid-column:auto}
 .types{gap:7px!important}
 .ty{padding:9px 23px 9px 9px!important;min-height:64px}
 .ty .ty-title{font-size:12px!important}
 .ty small{font-size:12px!important}
 .vg{grid-template-columns:1fr!important}
 .vf{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bz nav,.modes,.chips{scroll-behavior:auto}}
/* Vehicle detail compare action is a true centered button, not a left-aligned text row. */
.side .cmp-detail{display:flex!important;align-items:center;justify-content:center!important;position:relative;width:100%;min-height:46px;margin-top:10px!important;padding:12px 36px 12px 15px!important;border:1px solid rgba(255,255,255,.42)!important;border-radius:9px!important;background:transparent;color:#fff!important;text-align:center!important;font:600 12px/1.35 var(--sans,Inter,Arial,sans-serif)!important;letter-spacing:0!important;text-transform:none!important;opacity:1!important}
.side .cmp-detail>span{display:block;width:100%;text-align:center!important}
.side .cmp-detail>.ic{position:absolute;right:13px;top:50%;width:15px;height:15px;transform:translateY(-50%);margin:0!important}
@media (hover:hover){.side .cmp-detail:hover{background:rgba(255,255,255,.09);padding-left:15px!important}}
@media(max-width:640px){.side .cmp-detail{min-height:43px;font-size:12px!important;padding:10px 31px 10px 10px!important}.side .cmp-detail>.ic{right:10px;width:13px;height:13px}}
@media(max-width:640px){.types .ty:last-child{grid-column:1/-1}}
/* Trade hero photography becomes a consistent image row once the hero stacks. */
@media(max-width:960px){
 .stk{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1.8vw,14px)!important;align-items:stretch;width:100%;height:auto!important;max-width:100%;margin-top:22px!important}
 .stk .tmp,.stk .tmp:nth-child(1),.stk .tmp:nth-child(2),.stk .tmp:nth-child(3){position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;display:block;width:100%!important;height:auto!important;aspect-ratio:3/4!important;margin:0!important;transform:none!important;border-radius:10px!important;overflow:hidden;box-shadow:0 8px 22px rgba(22,52,37,.1)}
 .stk .tmp img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
 @media (hover:hover){.stk .tmp:hover{transform:none!important;z-index:auto}}
 .pn{gap:12px;margin-top:30px}
 .pn a{min-width:0;padding:13px!important;border-radius:10px!important;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
 .pn small{font-size:12px!important;line-height:1.4;margin-bottom:5px}
}
@media(max-width:640px){.stk{gap:8px!important;margin-top:16px!important}.stk .tmp,.stk .tmp:nth-child(n){aspect-ratio:3/4!important;border-radius:8px!important}.pn a{padding:11px!important;font-size:12px}}


/* Audit follow-up: footer contact links remain a vertical list at every width. */
footer .fc .fc-contact-links{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:5px!important;min-width:0!important}
footer .fc .fc-contact-links .fc-email,footer .fc .fc-contact-links .fc-contact-primary{grid-column:auto!important;width:fit-content!important;max-width:100%!important;margin:3px 0!important}
footer .fc .fc-contact-links a{min-width:0;max-width:100%;overflow-wrap:anywhere}
.contact-actions .btn{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:12px 30px!important}
.contact-actions .btn>span{text-align:center!important}
@media(max-width:640px){.contact-actions .btn{padding:10px 28px!important}}


/* Responsive overflow guard for narrow phones and translated content. */
#main,.w,.sh,.sh>div,.group-outcomes,.group-outcome-grid,.group-outcome-row,.group-service,.group-service-content,.ix,.ix>a{min-width:0;max-width:100%}
#main img,#main video,#main svg{max-width:100%}
#main h1,#main h2,#main h3,#main p,#main a{overflow-wrap:anywhere}
#main h1,#main h2,#main h3{word-break:normal}


/* Final card-grid cleanup after decorative numbering removal. */
.group-service-mosaic,.group-service,.group-service-content,.sc,.sv,.mg a,.rows .row{min-width:0}
.group-service-feature .group-service-top{min-height:0}
.group-service:not(.group-service-feature){grid-template-columns:54px minmax(0,1fr)}
.group-service:not(.group-service-feature) .group-service-icon{grid-column:1;grid-row:1}
.group-service:not(.group-service-feature) .group-service-content{grid-column:2;grid-row:1}
.group-service:not(.group-service-feature) .group-service-content h3{overflow-wrap:normal;word-break:normal}
@media(max-width:760px){.group-service:not(.group-service-feature){grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto;column-gap:12px}.group-service:not(.group-service-feature) .group-service-icon,.group-service:not(.group-service-feature) .group-service-content{grid-column:auto;grid-row:auto}}
@media(max-width:390px){.group-service:not(.group-service-feature){grid-template-columns:40px minmax(0,1fr);column-gap:10px}}

/* Last-mile mobile guard: no decorative empty columns or letter-by-letter nav wrapping. */
#main .group-outcome-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#main .group-outcome-row{grid-template-columns:38px minmax(0,1fr) 18px}
#main .group-outcome-row>*{min-width:0}
#main .group-outcome-row h3,#main .group-outcome-row p{word-break:normal;overflow-wrap:normal;hyphens:none}
@media(max-width:760px){
 #main .group-outcome-grid{grid-template-columns:minmax(0,1fr)!important}
 #main .group-outcome-row{grid-template-columns:38px minmax(0,1fr) 18px!important}
}


/* CLIENT-READY UI PASS — simpler business iconography, calmer actions, cleaner stay cards. */
#main .group-hero .intents{
  display:flex!important;flex-flow:row nowrap!important;align-items:stretch;justify-content:flex-start;
  gap:clamp(12px,2.5vw,28px);width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;
  white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
  margin-top:clamp(24px,4vw,42px);padding:0 0 2px;border-top:1px solid rgba(255,255,255,.26);
}
#main .group-hero .intents::-webkit-scrollbar{display:none}
#main .group-hero .intents button,#main .group-hero .intents button:nth-child(n+4){
  display:flex!important;flex:0 0 auto!important;align-items:center;justify-content:flex-start;flex-direction:row;
  width:auto!important;min-width:max-content!important;min-height:46px;padding:13px 0 9px!important;margin:0;
  font-size:12px!important;line-height:1.2;letter-spacing:.01em;text-align:left!important;white-space:nowrap!important;
  word-break:keep-all!important;overflow-wrap:normal!important;hyphens:none!important;
}
#main .group-hero .intents button:before{right:0!important}
#main .group-hero .intents button.on{font-weight:650;opacity:1}
#main .group-service-icon{width:46px;height:46px;min-width:46px;min-height:46px;margin:4px 0 18px;border:1px solid #dce3dc;border-radius:10px;background:#f4f6f2;color:#173a2e;box-shadow:none}
#main .group-service-icon .ic{width:22px;height:22px;stroke-width:1.7}
@media (hover:hover){#main .group-service:hover .group-service-icon{transform:none;background:#eef2ed;color:#173a2e}}
#main .group-service{box-shadow:none}
@media (hover:hover){#main .group-service:hover{box-shadow:0 12px 28px rgba(13,35,25,.08)}}
#main .group-service-cta{display:inline-flex;align-items:center;margin-top:17px;padding:0 0 3px;border-bottom:1px solid currentColor;font-size:12px;font-weight:650;letter-spacing:.01em}
#main .group-service-cta .ic{display:none!important}
#main .group-outcome-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:42px}
#main .group-outcome-row{display:block;min-width:0;padding:22px 0;border-bottom:1px solid var(--line);transition:padding-left .2s,border-color .2s}
@media (hover:hover){#main .group-outcome-row:hover{padding-left:5px;border-color:#b7c2b8}}
#main .group-outcome-row>span,#main .group-outcome-row>i{display:none!important}
#main .group-outcome-row h3{font-size:16px!important;line-height:1.4;margin:0 0 6px}
#main .group-outcome-row p{font-size:13px;line-height:1.6;margin:0;max-width:55ch;overflow-wrap:normal}
#main .stg{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px}
#main .stc{display:flex;flex-direction:column;min-width:0;height:100%;border:1px solid #e1e5df;border-radius:14px!important;overflow:hidden;background:var(--card);box-shadow:0 3px 14px rgba(21,39,29,.035)}
#main .stc .st-photo{display:block;position:relative;width:100%;aspect-ratio:16/9;margin:0;border-radius:0!important;overflow:hidden;background:#e8ebe4}
#main .stc .st-photo img{width:100%;height:100%;object-fit:cover;display:block}
#main .stc .stc-body{display:flex;flex-direction:column;align-items:flex-start;gap:0;flex:1;padding:18px;min-width:0}
#main .stc .stay-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;width:100%;min-width:0}
#main .stc .stay-meta small{color:var(--mut);font-size:12px;font-weight:600;letter-spacing:.035em;text-transform:none;line-height:1.4;overflow-wrap:anywhere}
#main .stc .stay-status{display:inline-flex;align-items:center;border-radius:4px;padding:4px 7px;background:#f5efdf;color:#785a1d;font:600 12px/1.3 var(--sans,Inter,Arial,sans-serif);letter-spacing:.01em}
#main .stc h3{margin:10px 0 7px;font-size:22px;line-height:1.25;text-wrap:balance}
#main .stc h3 a{color:var(--fg);text-decoration:none}
#main .stc p{display:block;overflow:visible;max-height:none;margin:0;color:var(--mut);font-size:13px;line-height:1.62}
#main .stc .tags{display:flex;gap:6px;flex-wrap:wrap;margin:13px 0 0}
#main .stc .tags span{background:#f6f7f3;color:#4b5b50;border:1px solid #e7eae4;border-radius:5px;font-size:12px;padding:5px 8px}
#main .stay-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:auto;padding-top:18px;width:100%}
#main .stay-actions .btn{font-size:12px;min-height:38px;padding:10px 13px}
#main .stay-actions .lnk{font-size:12px;color:var(--mut);text-decoration:none;border-bottom:1px solid #cfd5ce;padding:7px 0}
@media (hover:hover){#main .stay-actions .lnk:hover{color:var(--fg);border-color:var(--fg)}}
#main .stay-status-detail{margin:12px 0 18px;padding:12px 14px;border-left:3px solid #c6a96a;background:#f7f2e7;color:#6c5525;font-size:13px;line-height:1.55}
#main .stay-detail h1{overflow-wrap:normal;word-break:normal}
#main .stay-facts b{overflow-wrap:anywhere}
/* A discreet hide affordance keeps the floating Support shortcut useful rather than intrusive. */
@media(max-width:760px){
 #main .group-hero .intents{gap:clamp(12px,4vw,18px);margin-top:24px}
 #main .group-hero .intents button,#main .group-hero .intents button:nth-child(n+4){min-height:42px;font-size:12px!important;padding:12px 0 8px!important}
 #main .group-service-mosaic{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:12px}
 #main .group-service-feature{grid-column:1;grid-row:auto;min-height:340px}
 #main .group-service:not(.group-service-feature){display:grid;grid-template-columns:46px minmax(0,1fr)!important;grid-template-rows:auto;gap:0 14px;padding:19px 17px;min-height:0}
 #main .group-service:not(.group-service-feature) .group-service-icon{grid-column:1;grid-row:1;margin:3px 0 0}
 #main .group-service:not(.group-service-feature) .group-service-content{grid-column:2;grid-row:1;margin:0;min-width:0}
 #main .group-service:not(.group-service-feature) .group-service-content h3{max-width:none;margin:0 0 7px;font-size:21px!important;line-height:1.25}
 #main .group-service:not(.group-service-feature) .group-service-content p{font-size:13px;line-height:1.6;overflow-wrap:normal}
 #main .group-service:not(.group-service-feature) .group-service-cta{margin-top:12px;font-size:12px}
 #main .group-outcome-grid{grid-template-columns:minmax(0,1fr);column-gap:0}
 #main .group-outcome-row{padding:17px 0}
 #main .stg{grid-template-columns:minmax(0,1fr);gap:14px}
 #main .stc .stc-body{padding:16px}
 #main .stc h3{font-size:20px}
 #main .stay-actions{gap:12px}
 #main .stay-status-detail{font-size:12px}
}


/* CLIENT-READY POLISH R2 — reduce repeated decoration and make every control intentional. */
#main .btn{display:inline-flex;align-items:center;justify-content:center!important;gap:8px;padding:13px 20px!important;min-height:44px;text-align:center;white-space:normal;line-height:1.25}
#main .btn>span{min-width:0;text-align:center}
#main .side .btn,#main .stay-booking-panel .btn,#main .stay-promo-actions .btn{justify-content:center!important;text-align:center}
#main .content-list{list-style:disc;display:block;padding:0 0 0 20px;margin:0}
#main .content-list li{display:list-item!important;padding:0;margin:0 0 10px;line-height:1.7}
#main .content-list li::marker{color:var(--acc,#173a2e)}
#main .content-list .ic{display:none!important}
#main .sc .sc-arrow,#main .card .ph i,#main .st-photo-go{display:none!important}
#main .guide-card .lnk .ic,#main .pc2-action .ic{display:none!important}
#main .pc2-action{margin-top:14px;padding-top:10px;border-top:1px solid var(--line);font-weight:650;color:var(--fg)}
#main .stg{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:18px}
#main .stc .stay-meta small{text-transform:none;letter-spacing:0}
#main .stay-pagination{display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 0 36px}
#main .stay-pagination .btn{min-width:205px;background:var(--card)!important;color:var(--fg)!important;border-color:#c8d0c8!important;box-shadow:none}
#main .stay-pagination-note{margin:0;color:var(--mut);font-size:12px}
#main .stay-actions{padding-top:14px}
#main .stay-actions .lnk{margin-top:0;padding:9px 0;color:var(--fg);font-weight:650;border-bottom:1px solid #b9c3b8}
@media (hover:hover){#main .stay-actions .lnk:hover{color:var(--acc)}}
#main .group-service-icon{border:1px solid #d7e0d7;background:#f5f7f4;color:#173a2e;box-shadow:none}
#main .group-service-icon .ic{stroke-width:1.65}
@media(max-width:760px){
 #main .group-hero .intents{display:flex!important;flex-flow:row nowrap!important;gap:clamp(13px,4vw,18px)!important;overflow-x:auto!important;overscroll-behavior-x:contain!important}
 #main .group-hero .intents button{flex:0 0 auto!important;white-space:nowrap!important;min-width:max-content!important;overflow-wrap:normal!important;word-break:keep-all!important}
 #main .stg{grid-template-columns:minmax(0,1fr);gap:14px}
 #main .stc .stc-body{padding:16px}
 #main .stay-actions{flex-direction:row;align-items:center}
}

#main .btn.sm{min-height:38px;padding:10px 14px!important;font-size:12px!important}
#main .btn.sm>span{width:auto}
#main .contact-page-actions .btn{min-height:44px;padding:12px 18px!important}
#main .contact-method>.ic{display:none!important}


/* CLIENT-READY R4 — one intentional responsive rule, restrained service icons, readable process cards. */
@media(max-width:760px){
  #main .group-hero .intents{display:flex!important;flex-flow:row nowrap!important;justify-content:flex-start!important;overflow-x:auto!important;overflow-y:hidden!important;gap:clamp(13px,4vw,18px)!important;white-space:nowrap!important;scrollbar-width:none!important}
  #main .group-hero .intents button{flex:0 0 auto!important;min-width:max-content!important;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;hyphens:none!important;text-align:left!important}
}
#main .pr4>div{width:100%;min-width:0}
#main .pr4>div>h3,#main .pr4>div>p{width:100%;max-width:100%;align-self:stretch;overflow-wrap:normal;word-break:normal}
#main .sc{background:var(--card)!important;border:1px solid var(--line);box-shadow:none;border-radius:12px;transition:background .2s,border-color .2s}
@media (hover:hover){#main .sc:hover{transform:translateY(-2px);background:#fbfcf9!important;border-color:#cbd5ca}}
#main .sc .sc-icon{position:static;display:grid;place-items:center;width:44px;height:44px;margin:0 0 18px;border-radius:9px;background:#f2f5f1;color:#183d30}
#main .sc .sc-icon .ic{width:22px;height:22px;stroke-width:1.7}
#main .sc h3{margin:0 0 8px}
#main .sc p{margin:0;color:var(--mut);font-size:13px;line-height:1.65}
#main .sc>span:not(.sc-icon){display:none!important}
#main .biz-panel-actions .ic,#main .biz-inline-link .ic,#main .sv .lnk .ic,#main .sc-arrow{display:none!important}
#main .tmp img.image-failed,.bg img.image-failed,.group-service-feature img.image-failed{display:none!important}


/* MENGED GROUP PAGE — full-bleed service strip, considered animated icons and destination auto-roll. */
#main .group-hero .intents{
  display:flex!important;flex-flow:row nowrap!important;align-items:stretch;justify-content:stretch;
  position:relative;width:100vw!important;max-width:100vw!important;min-width:0!important;
  margin-top:clamp(26px,3.8vw,46px)!important;margin-left:calc(50% - 50vw)!important;margin-right:0!important;
  box-sizing:border-box;padding:0 clamp(10px,3.1vw,46px) 2px!important;gap:0!important;
  overflow:visible!important;white-space:nowrap;border-top:1px solid rgba(255,255,255,.3);
}
#main .group-hero .intents button,#main .group-hero .intents button:nth-child(n+4){
  display:flex!important;flex:1 1 20%!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;
  min-width:0!important;max-width:none!important;width:20%!important;min-height:49px!important;margin:0!important;
  padding:13px 2px 9px!important;font-size:clamp(11px,1vw,13px)!important;font-weight:550!important;
  line-height:1.15!important;letter-spacing:0!important;text-align:center!important;text-transform:none!important;
  white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;
}
#main .group-hero .intents button:before{left:0!important;right:0!important;top:-1px!important;background:#e7c27b!important}
#main .group-hero .intents button.on{font-weight:700!important;color:#fff!important;opacity:1!important}
#main .group-hero .intents button:not(.on){opacity:.78!important}
#main .group-hero .intents button:focus-visible{outline:2px solid #f1d18b;outline-offset:-3px}

/* The five requested Flaticon animated assets, with consistent sizing and a quiet presentation. */
#main .group-service-icon.motion-icon{
 display:grid;place-items:center;position:relative;flex:0 0 54px;width:54px;height:54px;min-width:54px;min-height:54px;
 margin:3px 0 16px;border-radius:12px;border:1px solid rgba(27,60,46,.12);
 background:linear-gradient(145deg,#f7f8f4 0%,#e9eee7 100%);color:#183c2f;box-shadow:0 5px 14px rgba(18,48,35,.07);
 overflow:hidden;transition:background .25s,border-color .25s,transform .25s;
}
#main .group-service-icon.motion-icon .flaticon-animated-image{display:block;width:44px;height:44px;max-width:100%;max-height:100%;object-fit:contain;image-rendering:auto}
#main .group-service-icon.motion-icon .flaticon-animated-image.image-failed{display:none!important}
#main .group-feature-icon{position:absolute;z-index:2;top:22px;right:22px;width:58px!important;height:58px!important;margin:0!important;box-shadow:0 8px 24px rgba(0,0,0,.2)!important;border-color:rgba(255,255,255,.55)!important;background:rgba(248,248,242,.95)!important}
#main .group-feature-icon .flaticon-animated-image{width:49px!important;height:49px!important}
#main .group-service-feature .group-service-content{padding-right:0}
#main .group-service:not(.group-service-feature) .group-service-icon.motion-icon{grid-column:1;grid-row:1;width:54px;height:54px;margin:3px 0 16px}
#main .group-service:not(.group-service-feature) .group-service-content{grid-column:2;grid-row:1;min-width:0}
#main .group-service:not(.group-service-feature) .group-service-content h3{margin-top:3px!important}
@media (hover:hover){#main .group-service:hover .group-service-icon.motion-icon{background:linear-gradient(145deg,#fffdf7,#f0e8d4);border-color:rgba(184,132,55,.35);transform:translateY(-2px)}}
@media(max-width:760px){
  #main .group-hero .intents{margin-top:27px!important;padding-inline:10px!important}
  #main .group-hero .intents button,#main .group-hero .intents button:nth-child(n+4){min-height:44px!important;font-size:11px!important;padding-inline:1px!important}
  #main .group-service:not(.group-service-feature){grid-template-columns:54px minmax(0,1fr)!important;column-gap:13px!important;align-items:start}
  #main .group-service:not(.group-service-feature) .group-service-icon.motion-icon{grid-column:1!important;grid-row:1!important;width:48px;height:48px;min-width:48px;min-height:48px}
  #main .group-service:not(.group-service-feature) .group-service-icon.motion-icon .flaticon-animated-image{width:40px;height:40px}
  #main .group-service:not(.group-service-feature) .group-service-content{grid-column:2!important;grid-row:1!important}
  #main .group-service-feature{position:relative}
  #main .group-feature-icon{top:15px;right:15px;width:52px!important;height:52px!important}
  #main .group-feature-icon .flaticon-animated-image{width:44px!important;height:44px!important}
}
@media(max-width:359px){
  #main .group-hero .intents{padding-inline:7px!important}
  #main .group-hero .intents button,#main .group-hero .intents button:nth-child(n+4){font-size:12px!important;letter-spacing:-.02em!important}
}
/* Smooth, looping destination strip. It pauses for hover, keyboard focus and touch/drag interaction. */
#main .rail-scroll{scroll-behavior:auto!important;scroll-snap-type:x mandatory}
#main .rail-scroll.is-auto-rolling{scroll-snap-type:none!important;scrollbar-width:none;cursor:grab}
#main .rail-scroll.is-auto-rolling::-webkit-scrollbar{display:none}
#main .rail-scroll.is-auto-rolling.drag,#main .rail-scroll.is-auto-rolling:active{cursor:grabbing}
#main .rail-scroll.is-auto-rolling>*{scroll-snap-align:none!important}
#main .rail-scroll>[data-auto-roll-clone="1"]{user-select:none}
@keyframes mengedRouteDraw{0%{stroke-dashoffset:24}100%{stroke-dashoffset:0}}
@keyframes mengedRouteDot{0%,100%{transform:translate(0,0);opacity:.7}50%{transform:translate(5px,-5px);opacity:1}}
@keyframes mengedWheel{to{transform:rotate(360deg)}}
@keyframes mengedStockLift{0%,100%{transform:translateY(1px);opacity:.75}50%{transform:translateY(-2px);opacity:1}}
@keyframes mengedDrawLine{0%,15%{stroke-dashoffset:22;opacity:.45}60%,100%{stroke-dashoffset:0;opacity:1}}
@keyframes mengedGrowthTip{0%,25%{opacity:.25;transform:translateY(2px)}65%,100%{opacity:1;transform:translateY(0)}}
@keyframes mengedSignal{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-1px)}}
@keyframes mengedPinDip{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@media(max-width:760px){
  #main .group-hero .intents{margin-top:27px!important;padding-inline:10px!important}
  #main .group-hero .intents button,#main .group-hero .intents button:nth-child(n+4){min-height:44px!important;font-size:11px!important;padding-inline:1px!important}
  #main .group-service:not(.group-service-feature){grid-template-columns:54px minmax(0,1fr)!important;column-gap:13px!important;align-items:start}
  #main .group-service:not(.group-service-feature) .group-service-icon.motion-icon{grid-column:1!important;grid-row:1!important;width:48px;height:48px;min-width:48px;min-height:48px}
  #main .group-service:not(.group-service-feature) .group-service-icon.motion-icon .motion-svg{width:32px;height:32px}
  #main .group-service:not(.group-service-feature) .group-service-content{grid-column:2!important;grid-row:1!important}
  #main .group-service-feature{position:relative}
  #main .group-feature-icon{top:15px;right:15px;width:52px!important;height:52px!important}
  #main .group-feature-icon .motion-svg{width:35px!important;height:35px!important}
}
@media(max-width:359px){
  #main .group-hero .intents{padding-inline:7px!important}
  #main .group-hero .intents button,#main .group-hero .intents button:nth-child(n+4){font-size:12px!important;letter-spacing:-.02em!important}
}
@media(prefers-reduced-motion:reduce){
  #main .group-service-icon.motion-icon *,#main .group-feature-icon *,#main .rail-scroll.is-auto-rolling{animation:none!important;transition:none!important}
  #main .rail-scroll.is-auto-rolling{scroll-snap-type:x mandatory!important}
}


/* Production fix: make the five Group hero destinations occupy the full row evenly. */
#main .group-hero .intents{
 display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-auto-flow:column!important;
 width:100%!important;max-width:none!important;box-sizing:border-box!important;gap:0!important;padding-inline:0!important;
}
#main .group-hero .intents button{
 display:flex!important;flex:initial!important;min-width:0!important;width:100%!important;box-sizing:border-box!important;
 align-items:center!important;justify-content:center!important;text-align:center!important;
 padding:13px clamp(2px,.8vw,12px) 8px!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;
 font-size:clamp(11px,.92vw,13px)!important;line-height:1.2!important;letter-spacing:0!important;
}
#main .group-hero .intents button small{font-size:.72em!important;white-space:nowrap!important}
#main .group-service-icon.motion-icon{position:relative}
#main .group-service-icon.motion-icon .motion-fallback{display:none;place-items:center;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#main .group-service-icon.motion-icon .motion-fallback svg{display:block;width:75%;height:75%;overflow:visible}
#main .group-service-icon.motion-icon .flaticon-animated-image.image-failed+.motion-fallback{display:grid!important}
#main .group-service-icon.motion-icon .motion-fallback .fallback-route{stroke-dasharray:3 3;animation:mengedRouteDraw 1.8s ease-in-out infinite alternate}
#main .group-service-icon.motion-arrival .motion-fallback .fallback-wheel{animation:mengedWheel 7s linear infinite}
#main .group-service-icon.motion-trade .motion-fallback .fallback-search-ring{transform-origin:20px 20px;animation:mengedSignal 1.6s ease-in-out infinite}
#main .group-service-icon.motion-support .motion-fallback .fallback-signal{animation:mengedSignal 1.4s ease-in-out infinite}
#main .group-service-icon.motion-business .motion-fallback .fallback-rise{animation:mengedGrowthTip 1.8s ease-in-out infinite alternate}
@media(max-width:760px){
 #main .group-hero .intents{grid-template-columns:repeat(5,minmax(0,1fr))!important;padding-inline:0!important}
 #main .group-hero .intents button{font-size:clamp(11px,2.6vw,11px)!important;padding:12px 1px 7px!important;min-height:44px!important}
}
@media(max-width:359px){#main .group-hero .intents button{font-size:12px!important;letter-spacing:-.02em!important}}
@media(prefers-reduced-motion:reduce){#main .group-service-icon.motion-icon .motion-fallback *{animation:none!important}}


/* Keep the retired floating Support popup hidden if an older HTML response is cached. */
#cfab,.c-fab{display:none!important}


/* Full-bleed icon artwork with a deliberately calm, 2.7-second visible cadence. */
#main .group-service-icon.motion-icon{position:relative;overflow:hidden;isolation:isolate;padding:0!important;box-sizing:border-box!important}
#main .group-service-icon.motion-icon .flaticon-paced-canvas{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;padding:0!important;margin:0!important;border:0!important;border-radius:inherit;opacity:0;object-fit:cover;filter:none!important;-webkit-filter:none!important;transition:opacity .22s ease;pointer-events:none}
#main .group-service-icon.motion-icon .flaticon-paced-canvas.paced-ready{opacity:1}
#main .group-service-icon.motion-icon .flaticon-paced-canvas.frame-refresh{animation:mengedIconFrameRefresh .24s ease-out}
#main .group-service-icon.motion-icon .flaticon-animated-image{position:absolute!important;inset:auto!important;left:-2px!important;top:-2px!important;width:1px!important;height:1px!important;min-width:1px!important;min-height:1px!important;max-width:none!important;max-height:none!important;opacity:0!important;pointer-events:none!important}
#main .group-service-icon.motion-icon .motion-fallback{z-index:1}
#main .group-service-icon.motion-icon.paced-fallback .motion-fallback{display:grid!important}
#main .group-service-icon.motion-icon.paced-fallback .flaticon-paced-canvas{display:none!important}
#main .group-service-icon.motion-icon .motion-fallback svg{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;transform:scale(1.06);transform-origin:center}
#main .group-service-icon.motion-icon .motion-fallback .fallback-route{animation:mengedRouteDraw 2.7s ease-in-out infinite alternate}
#main .group-service-icon.motion-arrival .motion-fallback .fallback-wheel{animation:mengedWheel 2.8s ease-in-out infinite}
#main .group-service-icon.motion-trade .motion-fallback .fallback-search-ring{animation:mengedSignal 2.6s ease-in-out infinite}
#main .group-service-icon.motion-support .motion-fallback .fallback-signal{animation:mengedSignal 2.8s ease-in-out infinite}
#main .group-service-icon.motion-business .motion-fallback .fallback-rise{animation:mengedGrowthTip 2.7s ease-in-out infinite alternate}
@keyframes mengedIconFrameRefresh{0%{opacity:.82;transform:scale(.99)}100%{opacity:1;transform:scale(1)}}
@media(max-width:760px){
 #main .group-service-icon.motion-icon .flaticon-paced-canvas{width:100%!important;height:100%!important}
}
@media(prefers-reduced-motion:reduce){
 #main .group-service-icon.motion-icon .flaticon-paced-canvas.frame-refresh{animation:none!important}
 #main .group-service-icon.motion-icon .motion-fallback *{animation:none!important}
}


/* Interaction-only icon motion: static at rest; animate on hover, click/tap, or keyboard focus. */
#main .group-service-icon.motion-icon:not(.is-animating) .motion-fallback *,
#main .group-service-icon.motion-icon:not(.is-animating) .flaticon-paced-canvas.frame-refresh{animation:none!important}
#main .group-service-icon.motion-icon .flaticon-paced-canvas.frame-refresh{animation:none}
#main .group-service-icon.motion-icon.is-animating .flaticon-paced-canvas.frame-refresh{animation:mengedIconFrameRefresh .24s ease-out}
#main .group-service-icon.motion-arrival.is-animating .motion-fallback .fallback-wheel{animation:mengedWheel 2.7s ease-in-out infinite}
#main .group-service-icon.motion-trade.is-animating .motion-fallback .fallback-search-ring{animation:mengedSignal 2.7s ease-in-out infinite}
#main .group-service-icon.motion-support.is-animating .motion-fallback .fallback-signal{animation:mengedSignal 2.7s ease-in-out infinite}
#main .group-service-icon.motion-business.is-animating .motion-fallback .fallback-rise{animation:mengedGrowthTip 2.7s ease-in-out infinite alternate}
#main .group-service-icon.motion-icon{cursor:pointer}
@media(prefers-reduced-motion:reduce){
 #main .group-service-icon.motion-icon.is-animating *,#main .group-service-icon.motion-icon .flaticon-paced-canvas.frame-refresh{animation:none!important}
}

/* ==== studio ==== */
/* =========================================================
   MENGED — STUDIO LAYER (r6)
   Loaded last. A senior-designer pass over the existing system:
   one rhythm, one shadow language, one motion curve, quiet details.
   Also contains the audit fixes (buttons, forms, broken images, map).
   ========================================================= */
:root{
  --st-ease:cubic-bezier(.22,1,.36,1);
  --st-ink:#14201A;
  --st-forest:#1D4938;--st-forest-deep:#0F291F;
  --st-cream:#F7F4EC;--st-paper:#FFFEFA;
  --st-terra:#B74727;--st-gold:#D6A64E;
  --st-hair:rgba(24,35,29,.10);
  --st-sh1:0 1px 2px rgba(20,32,26,.05),0 4px 14px rgba(20,32,26,.04);
  --st-sh2:0 2px 4px rgba(20,32,26,.04),0 14px 34px rgba(20,32,26,.09);
  --st-sh3:0 4px 8px rgba(20,32,26,.05),0 30px 60px -12px rgba(20,32,26,.22);
  --st-r:20px;
}

/* ---------- Global finish ---------- */
html{-webkit-text-size-adjust:100%}
body{font-feature-settings:"ss01","cv11","kern";overflow-x:clip}
:is(h1,h2,h3,h4){text-wrap:balance}
p,li{text-wrap:pretty}
::selection{background:var(--st-gold);color:var(--st-ink)}
/* soft paper grain: the single biggest "printed, not templated" cue */
body::after{content:"";position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
@media print{body::after{display:none}}
/* slim scroll progress */
.bar{height:2px!important;background:linear-gradient(90deg,var(--st-terra),var(--st-gold))!important;box-shadow:0 0 12px rgba(214,166,78,.45)}
/* scrollbars */
*{scrollbar-width:thin;scrollbar-color:rgba(29,73,56,.35) transparent}

/* ---------- Header ---------- */
header{transition:background .35s var(--st-ease),box-shadow .35s var(--st-ease),transform .5s var(--st-ease),border-color .35s}
header.sol{background:rgba(247,244,236,.94)!important;backdrop-filter:blur(22px) saturate(1.25)!important;-webkit-backdrop-filter:blur(22px) saturate(1.25)!important;border-bottom:1px solid var(--st-hair)!important;box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 10px 30px -18px rgba(20,32,26,.25)!important}
#links a,.nl a{position:relative}
#links a::after{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--st-ease);opacity:.7}
#links a[aria-current]::after,#links a.on::after{transform:scaleX(1)}@media (hover:hover){#links a:hover::after{transform:scaleX(1)}}
.logo b{transition:transform .6s var(--st-ease),box-shadow .4s}
@media (hover:hover){.logo:hover b{transform:rotate(-8deg) scale(1.06);box-shadow:0 8px 20px rgba(183,71,39,.35)}}
/* header controls: one family of quiet, glassy buttons */
header .lgb,header .sbtn,header .swb{border-radius:12px!important;transition:background .3s,border-color .3s,transform .3s var(--st-ease),box-shadow .3s}
@media (hover:hover){header .lgb:hover,header .sbtn:hover,header .swb:hover{transform:translateY(-1px);box-shadow:var(--st-sh1)}}
body[data-hero="1"] header:not(.sol) :is(.lgb,.sbtn,.swb){background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.28)!important;color:#fff!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
@media (hover:hover){body[data-hero="1"] header:not(.sol) :is(.lgb,.sbtn,.swb):hover{background:rgba(255,255,255,.2)!important}}
header.sol :is(.lgb,.sbtn,.swb){background:var(--st-paper)!important;border:1px solid var(--st-hair)!important;color:var(--st-ink)!important}

/* ---------- Buttons (audit fix: icon was absolutely positioned over the label) ---------- */
.btn{position:relative;overflow:hidden;gap:10px!important;padding:13px 24px!important;min-height:50px;border-radius:12px!important;box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 6px 16px -6px rgba(20,32,26,.35);transition:transform .35s var(--st-ease),box-shadow .35s var(--st-ease),background .3s,color .3s,border-color .3s!important}
.btn>.ic{position:static!important;right:auto!important;top:auto!important;transform:none!important;margin:0!important;width:16px;height:16px}
@media (hover:hover){.btn:hover>.ic{transform:none!important}}
.btn.sm{padding:10px 18px!important;min-height:42px;font-size:13px!important;border-radius:11px!important}
.btn.sm>.ic{width:14px;height:14px}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.28) 50%,transparent 65%);transform:translateX(-120%);transition:transform .8s var(--st-ease);pointer-events:none}
@media (hover:hover){.btn:hover::after{transform:translateX(120%)}}
@media (hover:hover){.btn:hover{transform:translateY(-2px)!important;box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 14px 26px -10px rgba(20,32,26,.45)!important}}
.btn:active{transform:translateY(0) scale(.97)!important;transition-duration:.12s!important}
.btn.alt{background:transparent!important;color:var(--st-ink)!important;border:1px solid rgba(20,32,26,.28)!important;box-shadow:none}
@media (hover:hover){.btn.alt:hover{background:var(--st-ink)!important;color:#fff!important;border-color:var(--st-ink)!important}}
.btn.alt::after{display:none}
a.btn[href*="request"]:not(.alt):not(.lt){background:var(--st-terra)!important;border-color:var(--st-terra)!important}
@media (hover:hover){a.btn[href*="request"]:not(.alt):not(.lt):hover{background:#9c3a1e!important;border-color:#9c3a1e!important}}
/* text links get a drawing underline */
.group-text-link,.group-service-cta,.lnk{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .5s var(--st-ease)}
@media (hover:hover){.group-text-link:hover,.group-service:hover .group-service-cta,.lnk:hover{background-size:100% 1px}}

/* ---------- Section rhythm & headings (audit fix: squeezed, tall headings) ---------- */
section{padding-block:clamp(72px,9vw,128px)}
.sh{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(20px,5vw,84px)!important;align-items:end!important}
.sh>*:last-child:not(:first-child){justify-self:end;max-width:46ch}
.sh>a.btn:last-child{justify-self:end;align-self:end}
.sh h2,h2{max-width:22ch!important}
.sh p{max-width:44ch!important;font-size:16px!important;line-height:1.7}
@media(max-width:860px){.sh{grid-template-columns:1fr!important;gap:14px!important}.sh>*:last-child:not(:first-child){justify-self:start}.sh h2,h2{max-width:100%!important}}
.eye{display:inline-flex;align-items:center;gap:12px}
.eye::before{content:"";display:block;width:28px;height:1px;background:var(--st-terra);transition:width .7s var(--st-ease)}
[data-r].in .eye::before,.eye.in::before{width:40px}
h1 em,h2 em{font-style:italic;font-variation-settings:"SOFT" 100,"WONK" 1}
/* reveal: a softer, slightly longer rise */
[data-r]{transition-timing-function:var(--st-ease)!important}

/* ---------- Hero ---------- */
.group-hero,.hero{background-color:var(--st-forest-deep)}
.group-hero::before,.hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
   radial-gradient(900px 520px at 88% 12%,rgba(214,166,78,.22),transparent 62%),
   radial-gradient(800px 520px at 6% 100%,rgba(46,114,96,.45),transparent 60%),
   url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='520' height='520' viewBox='0 0 520 520' fill='none' stroke='%23ffffff' stroke-opacity='.07' stroke-width='1'><path d='M-20 120C80 60 160 150 260 110S430 40 540 100'/><path d='M-20 170C80 110 160 200 260 160S430 90 540 150'/><path d='M-20 220C80 160 160 250 260 210S430 140 540 200'/><path d='M-20 270C80 210 160 300 260 260S430 190 540 250'/><path d='M-20 320C80 260 160 350 260 310S430 240 540 300'/><path d='M-20 370C80 310 160 400 260 360S430 290 540 350'/><path d='M-20 420C80 360 160 450 260 410S430 340 540 400'/></svg>")}
.group-hero>.w,.hero>.w{position:relative;z-index:2}
.group-hero h1{text-shadow:0 2px 30px rgba(0,0,0,.25)}
.group-hero-note{position:relative;padding:26px 28px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:var(--st-r);background:rgba(255,255,255,.06);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 30px 60px -30px rgba(0,0,0,.5)}
/* rotating headline word: outgoing word leaves fast, no overlap */
.rotator-word{transition:opacity .35s ease,transform .7s var(--st-ease),filter .5s!important}
.rotator-word:not(.on){transition-duration:.18s,.4s,.2s!important}

/* ---------- Marquee ---------- */
.mq{position:relative;background:var(--st-paper)!important;border-block:1px solid var(--st-hair)!important;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq div{font-style:italic;font-weight:400}
@media (hover:hover){.mq:hover div{animation-play-state:paused}}

/* ---------- Cards & tiles ---------- */
.group-service,.sc,.trade-pain-card,.contact-method,.vc,.pc2,.guide-card,.mg>a,.group-outcome-row{transition:transform .5s var(--st-ease),box-shadow .5s var(--st-ease),border-color .4s,background .4s}
.group-service{border-radius:var(--st-r)!important;overflow:hidden;box-shadow:var(--st-sh1)}
@media (hover:hover){.group-service:hover,.sc:hover,.trade-pain-card:hover,.contact-method:hover{transform:translateY(-5px);box-shadow:var(--st-sh3)!important}}
.group-service-feature>img,.tmp img,.vc img{transition:transform 1.2s var(--st-ease)}
@media (hover:hover){.group-service-feature:hover>img,.tmp:hover img,.vc:hover img{transform:scale(1.05)}}
.sc,.trade-pain-card,.contact-method{border-radius:var(--st-r)!important}
.contact-method,.sc,.trade-pain-card{background:var(--st-paper)!important;border:1px solid var(--st-hair)!important;box-shadow:var(--st-sh1)}
.group-outcome-row{position:relative}
.group-outcome-row::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--st-terra);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--st-ease)}
@media (hover:hover){.group-outcome-row:hover::after{transform:scaleX(1)}}
@media (hover:hover){.group-outcome-row:hover h3{transform:translateX(8px)}}
.group-outcome-row h3{transition:transform .5s var(--st-ease)}
.group-destinations .rail>*{transition:transform .5s var(--st-ease)}
@media (hover:hover){.group-destinations .rail>*:hover{transform:translateY(-6px)}}
/* icon tiles: one consistent object, tactile on hover & click */
:is(.group-service-icon,.contact-method-icon,.trade-pain-icon,.step-icon,.sc-icon,.process-step-icon,.support-timeline-icon,.mode-icon,.outcome-icon){position:relative;isolation:isolate;border-radius:15px!important;background:linear-gradient(145deg,#FFFFFF,#EEF2EA)!important;border:1px solid rgba(29,73,56,.14)!important;box-shadow:0 1px 0 #fff inset,0 6px 14px -8px rgba(20,32,26,.35);color:var(--st-forest);transition:transform .5s var(--st-ease),box-shadow .5s var(--st-ease),background .4s,color .4s,border-color .4s}
@media (hover:hover){:is(a,li,div,.step,.sc,.group-service,.contact-method):hover>:is(.group-service-icon,.contact-method-icon,.trade-pain-icon,.step-icon,.sc-icon,.process-step-icon,.support-timeline-icon,.mode-icon),:is(.group-service,.sc,.trade-pain-card,.contact-method,.support-timeline-item,.step,.mg>a):hover :is(.group-service-icon,.contact-method-icon,.trade-pain-icon,.step-icon,.sc-icon,.process-step-icon,.support-timeline-icon,.mode-icon){transform:translateY(-3px) rotate(-4deg);background:linear-gradient(145deg,var(--st-forest),#2a6650)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 14px 26px -10px rgba(29,73,56,.6)}}
@media (hover:hover){.group-service:hover .group-service-icon{background:linear-gradient(145deg,#fff,#F2EFE4)!important;color:var(--st-forest)!important;box-shadow:0 14px 26px -10px rgba(20,32,26,.45),0 0 0 4px rgba(214,166,78,.25)}}
/* focus: refined ring */
:focus-visible{outline:2px solid var(--st-gold)!important;outline-offset:3px!important;border-radius:8px}

/* ---------- Forms (audit fix: car quote form grid) ---------- */
.qw{border-radius:var(--st-r)!important;overflow:hidden;box-shadow:var(--st-sh3);border:1px solid var(--st-hair)!important}
.qf{display:grid!important;grid-template-columns:1.2fr 1.2fr 1.3fr 1fr .7fr auto;gap:0!important;align-items:stretch}
.qf>label{display:flex;flex-direction:column;gap:8px;padding:18px 20px!important;border-right:1px solid var(--st-hair)!important;font:700 11px/1.4 var(--sans)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);min-width:0}
.qf input{width:100%;min-width:0;height:48px;border-radius:10px!important;font:500 15px var(--sans)!important;letter-spacing:0;text-transform:none;color:var(--st-ink);transition:border-color .3s,box-shadow .3s}
.qf input:focus{border-color:var(--st-forest)!important;box-shadow:0 0 0 4px rgba(29,73,56,.12);outline:none!important}
.qf>.btn{margin:18px;align-self:end;height:48px;border-radius:12px!important;min-width:140px}
@media(max-width:1100px){.qf{grid-template-columns:repeat(3,1fr)}.qf>.btn{grid-column:1/-1;margin:16px}}
@media(max-width:640px){.qf{grid-template-columns:1fr 1fr}.qf>label{border-bottom:1px solid var(--st-hair)}.qf>label:first-child,.qf>label:nth-child(2){grid-column:1/-1}}
input,select,textarea{transition:border-color .3s,box-shadow .3s,background .3s}
input:focus,select:focus,textarea:focus{border-color:var(--st-forest)!important;box-shadow:0 0 0 4px rgba(29,73,56,.12)!important;outline:none!important}

/* ---------- Photos: never show broken-image chrome (audit fix) ---------- */
img{color:transparent;font-size:0}
img[data-broken],img.image-failed{opacity:0!important;visibility:hidden}
.tmp,.chp,.group-service-feature{background:
   radial-gradient(520px 320px at 80% 0%,rgba(214,166,78,.35),transparent 65%),
   linear-gradient(150deg,#cfdccf 0%,#a9c0b0 45%,#4f7a66 100%)}
.group-service-feature{background:
   radial-gradient(520px 320px at 80% 0%,rgba(214,166,78,.30),transparent 65%),
   linear-gradient(150deg,#2e6650 0%,#1D4938 55%,#0F291F 100%)}
.tmp,.chp{border-radius:var(--st-r)!important;overflow:hidden}
.chp{box-shadow:var(--st-sh3)}
@media (hover:hover){.tmp:hover{box-shadow:var(--st-sh2)}}

/* ---------- Map: clean, no attribution chrome ---------- */
.leaflet-control-attribution,.leaflet-container .leaflet-control-attribution,.leaflet-bottom.leaflet-right .leaflet-control-attribution{display:none!important}
#map{background:#E9EEE6}
#map.leaflet-container,.leaflet-container{font-family:var(--sans);background:#E9EEE6;outline:none}
.leaflet-container .leaflet-tile-pane{filter:saturate(.72) contrast(.96) sepia(.08)}
.leaflet-bar{border:none!important;box-shadow:var(--st-sh2)!important;border-radius:14px!important;overflow:hidden}
.leaflet-bar a{width:38px!important;height:38px!important;line-height:38px!important;background:var(--st-paper)!important;color:var(--st-ink)!important;border-bottom:1px solid var(--st-hair)!important;font-weight:400;transition:background .25s,color .25s}@media (hover:hover){.leaflet-bar a:hover{width:38px!important;height:38px!important;line-height:38px!important;background:var(--st-paper)!important;color:var(--st-ink)!important;border-bottom:1px solid var(--st-hair)!important;font-weight:400;transition:background .25s,color .25s}}
@media (hover:hover){.leaflet-bar a:hover{background:var(--st-forest)!important;color:#fff!important}}
.leaflet-bar a:last-child{border-bottom:none!important}
.map-legend{border-radius:16px!important;border:1px solid var(--st-hair)!important;box-shadow:var(--st-sh2)!important;background:rgba(255,254,250,.94)!important;backdrop-filter:blur(10px)}
.leaflet-popup-content-wrapper{border-radius:16px!important;box-shadow:var(--st-sh3)!important;padding:4px}
.leaflet-popup-tip{box-shadow:none!important}
.mk i{transition:transform .4s var(--st-ease),box-shadow .4s}
@media (hover:hover){.mk:hover i{transform:scale(1.35);box-shadow:0 0 0 6px rgba(183,71,39,.18)}}

/* ---------- Atlas list, FAQ, chips, toast, back-to-top ---------- */
#al button{transition:background .3s,transform .4s var(--st-ease)}
@media (hover:hover){#al button:hover{transform:translateX(4px)}}
.fq button{transition:color .3s}
@media (hover:hover){.fq button:hover{color:var(--st-terra)}}
.chip,.chips button{transition:transform .35s var(--st-ease),background .3s,color .3s,border-color .3s}
@media (hover:hover){.chip:hover,.chips button:hover{transform:translateY(-2px)}}
#toast{border-radius:14px!important;box-shadow:var(--st-sh3)!important}
#up{border-radius:50%!important;box-shadow:var(--st-sh2)!important;transition:transform .4s var(--st-ease),background .3s,opacity .3s!important}
@media (hover:hover){#up:hover{transform:translateY(-4px)}}

/* ---------- Footer ---------- */
#foot{position:relative}
#foot a{transition:color .3s,transform .4s var(--st-ease);display:inline-block}
@media (hover:hover){#foot a:hover{transform:translateX(3px)}}

/* ---------- Page entrance ---------- */
#main{animation:stPage .8s var(--st-ease) both}
@keyframes stPage{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#main{animation:none}.btn::after{display:none}*{scroll-behavior:auto!important}}

/* ---------- Mobile polish ---------- */
@media(max-width:640px){
  section{padding-block:60px}
  .group-hero-note{padding:20px!important}
  .btn{min-height:48px}
  @media (hover:hover){.group-service:hover,.sc:hover,.trade-pain-card:hover,.contact-method:hover{transform:none}}
}

/* Icon artwork and hover animation are provided by external Flaticon PNG/GIF assets. */

/* Hero service strip: five equal, left-aligned columns on one line; scrolls (never wraps) on narrow screens */
#main .group-hero #int.intents{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:minmax(104px,1fr)!important;gap:0!important;
  margin:44px 0 0!important;padding:0!important;width:100%!important;max-width:none!important;overflow-x:auto!important;overflow-y:hidden!important;border-top:1px solid rgba(255,255,255,.22)!important;scrollbar-width:none}
#main .group-hero #int.intents::-webkit-scrollbar{display:none}
#main .group-hero #int.intents button,#main .group-hero #int.intents button:nth-child(n+4){display:block!important;flex:none!important;width:auto!important;min-width:0!important;min-height:0!important;
  padding:18px 14px 8px 0!important;margin:0!important;text-align:left!important;font-size:13px!important;letter-spacing:.01em;opacity:.72;position:relative;transition:opacity .3s,transform .4s var(--st-ease)}
@media (hover:hover){#main .group-hero #int.intents button:hover{opacity:1;transform:translateY(-2px)}}
#main .group-hero #int.intents button.on{opacity:1;font-weight:650}
@media(max-width:640px){#main .group-hero #int.intents{margin-top:26px!important;grid-auto-columns:minmax(88px,1fr)!important}
  #main .group-hero #int.intents button,#main .group-hero #int.intents button:nth-child(n+4){padding:14px 12px 6px 0!important;font-size:12px!important}}


/* ===== Map layer chips: small, glassy, modern ===== */
.leaflet-top.leaflet-right .map-legend{margin:10px 10px 0 0!important;padding:4px!important;display:flex;flex-direction:column;gap:2px;width:auto;min-width:0;border-radius:14px!important;background:rgba(255,255,252,.84)!important;-webkit-backdrop-filter:blur(12px) saturate(1.25);backdrop-filter:blur(12px) saturate(1.25);border:1px solid rgba(255,255,255,.75)!important;box-shadow:0 8px 22px -8px rgba(20,32,26,.32),0 0 0 1px rgba(29,73,56,.08)!important;font:600 12px/1 var(--sans);color:var(--st-ink,#16221c)}
.map-legend[hidden]{display:none!important}
.map-legend .ml-chip{display:flex;align-items:center;gap:7px;margin:0;padding:6px 9px 6px 8px;border:0;border-radius:10px;background:transparent;color:inherit;font:inherit;line-height:1;cursor:pointer;white-space:nowrap;text-align:left;transition:background .2s,opacity .2s}
@media (hover:hover){.map-legend .ml-chip:hover{background:rgba(29,73,56,.09)}}
.map-legend .ml-chip:focus-visible{outline:2px solid var(--st-gold,#b7812d)!important;outline-offset:1px!important}
.map-legend .ml-chip i{flex:none;width:8px;height:8px;border-radius:50%;border:0;box-shadow:0 0 0 2px #fff,0 1px 3px rgba(0,0,0,.25);transition:background .2s,box-shadow .2s}
.map-legend .ml-chip span{display:block;margin:0;white-space:nowrap!important}
.map-legend .ml-chip{width:100%;min-width:max-content}
.map-legend .ml-chip span span{display:inline!important;margin:0!important}
.map-legend .ml-chip small{margin-left:auto;padding-left:6px;font-size:12px;font-weight:600;color:var(--mut,#6b756e);font-variant-numeric:tabular-nums}
.map-legend .ml-chip:not(.is-on){opacity:.5}
.map-legend .ml-chip:not(.is-on) i{background:transparent!important;box-shadow:inset 0 0 0 1.5px #98a39b}
@media(max-width:640px){
  .leaflet-top.leaflet-right .map-legend{margin:8px 8px 0 0!important;padding:3px!important;font-size:12px;border-radius:12px!important}
  .map-legend .ml-chip{padding:5px 7px;gap:6px}
}

/* ===== Plain header / utility buttons: no motion layers on language, search, menu, back-to-top, search panel ===== */
header .lgb,header .sbtn,header .swb,header .burger,#up,#pclose,#pal .pin{transition:background .2s,border-color .2s,color .2s!important}
@media (hover:hover){header .lgb:hover,header .sbtn:hover,header .swb:hover,header .burger:hover,#up:hover{transform:none!important;box-shadow:none!important}}
#up{box-shadow:none!important}
:is(header .lgb,header .sbtn,header .swb,header .burger,#up,#pal .pin) svg.ic,
:is(header .lgb,header .sbtn,header .swb,header .burger,#up,#pal .pin):is(:hover,:focus-visible,:active) svg.ic{animation:none!important;transform:none!important;translate:none!important;rotate:none!important;scale:none!important}
button:active svg.ic,a:active svg.ic{animation:none!important}

/* ===== Hero service icons: self-contained animated SVG (no external files) ===== */
#main .group-service-icon.svc-ico{display:grid;place-items:center;overflow:visible;padding:0}
#main .group-service-icon.svc-ico svg{display:block;width:30px;height:30px;overflow:visible;color:inherit}
#main .group-feature-icon.svc-ico svg{width:34px;height:34px}
@media(max-width:640px){#main .group-feature-icon.svc-ico svg{width:30px;height:30px}}
#main .group-service-icon.svc-ico svg *{transform-box:fill-box;transform-origin:50% 50%}
@media(prefers-reduced-motion:no-preference){
  #main .svc-ico .sv-wheel{animation:svWheel 4.2s cubic-bezier(.45,0,.25,1) infinite}
  #main .svc-ico .sv-lens{animation:svLens 4s ease-in-out infinite}
  #main .svc-ico .sv-pulse{animation:svPulse 4s ease-out infinite}
  #main .svc-ico .sv-set{animation:svBob 4.4s ease-in-out infinite}
  #main .svc-ico .sv-w1{animation:svWave 2.6s ease-in-out infinite}
  #main .svc-ico .sv-w2{animation:svWave 2.6s ease-in-out .35s infinite}
  #main .svc-ico .sv-bar{transform-origin:50% 100%;animation:svGrow 4s cubic-bezier(.3,.7,.3,1) infinite}
  #main .svc-ico .sv-b2{animation-delay:.18s}#main .svc-ico .sv-b3{animation-delay:.36s}
  #main .svc-ico .sv-arrow{animation:svRise 4s ease-in-out .3s infinite}
  #main .svc-ico .sv-sun{animation:svBob 4.6s ease-in-out infinite}
  #main .svc-ico .sv-rays{animation:svSpin 12s linear infinite}
  #main .svc-ico .sv-path{stroke-dasharray:5 5;animation:svPath 3.2s linear infinite}
  #main .group-service:is(:hover,:focus-visible) .svc-ico *{animation-duration:2.2s!important}
  #main .group-service:is(:hover,:focus-visible) .svc-ico .sv-rays{animation-duration:5s!important}
}
@keyframes svSpin{to{rotate:360deg}}
@keyframes svPath{to{stroke-dashoffset:-20}}
@keyframes svWheel{0%,55%,100%{rotate:0deg}15%{rotate:-42deg}35%{rotate:30deg}}
@keyframes svLens{0%,100%{translate:0 0}25%{translate:4px -3px}50%{translate:-1px 3px}75%{translate:-3px -2px}}
@keyframes svPulse{0%,15%{scale:1;opacity:.9}70%,100%{scale:1.55;opacity:0}}
@keyframes svBob{0%,100%{translate:0 0}50%{translate:0 -2px}}
@keyframes svWave{0%,100%{opacity:.25}45%{opacity:1}}
@keyframes svGrow{0%{scale:1 .45}35%,100%{scale:1 1}}
@keyframes svRise{0%,100%{translate:0 2px}45%{translate:2px -2px}}

/* ===== Vehicle card compare button: a real text button that never overflows ===== */
.vc .vf .cmp,.vf button.cmp{width:100%!important;height:auto!important;min-width:0;min-height:42px;padding:9px 10px!important;border-radius:9px!important;display:flex!important;align-items:center;justify-content:center;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;font:600 12px/1.2 var(--sans,Inter,Arial,sans-serif)!important;transform:none!important}
@media (hover:hover){.vc .vf .cmp:hover{transform:none!important}}
.vc .vf .cmp span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmp-detail{white-space:nowrap;overflow:hidden}.cmp-detail span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.vc .cmp.on svg{transform:none}
/* Compare button inside the dark "Request this class" panel: readable outline button, text centred and inside the box */
.side .cmp-detail{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.45)!important;padding:12px 15px!important}
.side .cmp-detail.on{background:rgba(255,255,255,.12)!important;border-color:#fff!important}@media (hover:hover){.side .cmp-detail:hover{background:rgba(255,255,255,.12)!important;border-color:#fff!important}}
.side .cmp-detail>span{color:inherit;text-align:center}

/* ===== Atlas: tidy layer chips and calm round markers ===== */
.leaflet-top.leaflet-right .map-legend,.map-legend{display:flex!important;flex-direction:column!important;align-items:stretch;gap:2px!important;width:auto!important;max-width:calc(100% - 20px)!important;height:auto!important;min-height:0!important;padding:4px!important;margin:10px 10px 0 0!important;border-radius:14px!important;background:rgba(255,255,252,.92)!important;border:1px solid rgba(29,73,56,.14)!important}
.map-legend button.ml-chip{all:unset;box-sizing:border-box;display:flex!important;align-items:center;gap:8px;width:100%;min-width:0;min-height:0!important;height:auto!important;padding:7px 10px!important;border-radius:10px!important;background:transparent!important;color:#173a2e!important;font:600 12px/1.1 var(--sans,Inter,Arial,sans-serif)!important;cursor:pointer;white-space:nowrap}
@media (hover:hover){.map-legend button.ml-chip:hover{background:rgba(29,73,56,.08)!important}}
.map-legend button.ml-chip:focus-visible{outline:2px solid #b7812d;outline-offset:1px}
.map-legend button.ml-chip i{width:10px;height:10px;border-radius:50%;flex:none;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(0,0,0,.12)}
.map-legend button.ml-chip small{margin-left:auto;padding-left:8px;font-weight:600;font-size:12px;color:#6b756e}
.map-legend button.ml-chip:not(.is-on){opacity:.5}
.mk i,.mk.ms i,.mk.mc i,.mk.ml i,.mk.md i{display:block;width:12px!important;height:12px!important;border-radius:50%!important;border:2px solid #fff!important;box-shadow:0 1px 4px rgba(0,0,0,.35)!important}
.mk.md i{background:#c4501b}.mk.ms i{background:#2f6bff}.mk.mc i{background:#3f7a3a}.mk.ml i{background:#b17b24}
.mk{display:grid;place-items:center}

/* ===== Itinerary rows: number + "days" on one line, title beside it ===== */
.rows .row:has(>.d){display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center;gap:18px!important}
.rows .row>.d{display:flex;align-items:baseline;gap:6px;min-width:84px;font-size:36px;line-height:1;white-space:nowrap}
.rows .row>.d small{display:inline!important;margin:0!important;font-size:12px}
.rows .row>div{min-width:0}.rows .row h3{overflow-wrap:anywhere}

/* ===== Product cards: no tiny descriptions clipped on phones ===== */
@media(max-width:760px){.mos .mos-desc{display:none!important}.mos .m5{grid-column:span 2!important}}

/* ==== ux-refinement ==== */
/* MENGED R10 — uncluttered travel guide, integrated map controls and device-aware inputs. */

/* The guide should lead with actual travel guidance, not three large utility widgets. */
.guide-quicknav{padding:16px 0 24px;}
.guide-index-label{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 10px;color:var(--mut);font:700 11px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.guide-index-label a{display:inline-flex;align-items:center;gap:7px;color:var(--acc);font:600 12px/1.35 var(--sans);letter-spacing:0;text-transform:none;white-space:nowrap}
.guide-index-label a .ic{width:14px;height:14px}
.guide-index{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:2px 2px 8px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--mut) 30%,transparent) transparent}
.guide-index-link{display:grid;grid-template-columns:22px minmax(105px,1fr) 14px;align-items:center;gap:10px;flex:0 0 clamp(178px,19vw,230px);min-width:0;min-height:56px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--fg);text-align:left;scroll-snap-align:start;transition:transform .2s,border-color .2s,background .2s;cursor:pointer}
.guide-index-link>span{display:grid;place-items:center;min-width:20px;color:var(--acc);font:700 12px/1 var(--sans)}
.guide-index-link>b{font:600 12px/1.35 var(--sans);letter-spacing:0}
.guide-index-link>.ic{width:14px;height:14px;color:var(--mut);transition:transform .2s}
@media (hover:hover){.guide-index-link:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--acc) 45%,var(--line));background:color-mix(in srgb,var(--acc) 3%,var(--card))}}
@media (hover:hover){.guide-index-link:hover>.ic{transform:translateX(2px);color:var(--acc)}}
.guide-index-link:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.guide-tool-link{flex-basis:210px}
.guide-tool-link>span .ic{width:17px;height:17px}
.guide-articles{padding-top:0}
.guide-article{scroll-margin-top:88px}

/* Calendar/time conversions are preserved as a secondary, collapsed utility panel. */
.guide-tools-section{padding:28px 0 34px}
.eth-tools-details{scroll-margin-top:88px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:0 4px 20px rgba(20,32,26,.035)}
.eth-tools-details>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;list-style:none;cursor:pointer}
.eth-tools-details>summary::-webkit-details-marker{display:none}
.eth-tools-details>summary::marker{content:""}
.eth-summary-title{display:grid;gap:4px}
.eth-summary-title>b{font:500 clamp(19px,2vw,24px)/1.2 var(--dsp);color:var(--fg)}
.eth-summary-title>small{font:400 12px/1.5 var(--sans);color:var(--mut)}
.eth-summary-action{display:inline-flex;align-items:center;gap:8px;flex:none;color:var(--acc);font:600 12px/1.4 var(--sans)}
.eth-summary-action .ic{width:16px;height:16px;transition:transform .2s}
.eth-tools-details[open]>summary{border-bottom:1px solid var(--line)}
.eth-tools-details[open] .eth-summary-action .ic{transform:rotate(45deg)}
.eth-tools-intro{padding:0 22px;margin:16px 0 0;max-width:75ch;color:var(--mut);font-size:13px;line-height:1.6}
.ethiopian-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 18px 20px}
.eth-tool{min-width:0;padding:17px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--bg) 55%,var(--card))}
.eth-tool h3{margin:0 0 7px;font:500 18px/1.2 var(--dsp)}
.eth-tool>p{min-height:39px;margin:0 0 13px;color:var(--mut);font:400 12px/1.55 var(--sans)}
.eth-form{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}
.eth-form .f{display:grid;gap:5px;min-width:0;color:var(--mut);font:600 12px/1.4 var(--sans)}
.eth-form input,.eth-form select{width:100%;min-width:0;min-height:43px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--fg);font:500 13px/1.3 var(--sans)}
.eth-form input:focus-visible,.eth-form select:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-color:var(--acc)}
.eth-form input[type=date],.eth-form input[type=time]{cursor:pointer;appearance:auto}
.eth-result{display:grid;gap:4px;margin-top:12px;padding:11px 12px;border-radius:9px;background:color-mix(in srgb,var(--acc) 7%,var(--card));min-height:58px;align-content:center}
.eth-result strong{font:600 14px/1.35 var(--sans);color:var(--fg)}
.eth-result span{font:400 12px/1.4 var(--sans);color:var(--mut)}

/* Atlas: keep the map as the visual focus and its layer toggles compact. */
.atl{height:calc(100svh - 64px);min-height:530px;grid-template-columns:clamp(270px,26vw,340px) minmax(0,1fr);padding-top:64px;gap:0}
.atl aside{min-width:0;padding:clamp(18px,2vw,28px);border-right:1px solid var(--line);background:var(--bg)}
.atl h1{font-size:clamp(30px,2.65vw,40px);line-height:1.04;letter-spacing:-.025em;max-width:12ch}
.atl aside>p{max-width:42ch;line-height:1.65}
.atl .fld{border-radius:11px;overflow:hidden}
#map{position:relative;min-width:0;height:100%;min-height:0;border-radius:0;overflow:hidden;background:#e9eee6}
#map .leaflet-container{width:100%;height:100%;min-height:0}
.leaflet-top.leaflet-right .map-legend{display:grid!important;flex-direction:initial!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;align-content:start;width:min(320px,calc(100% - 24px))!important;min-width:0!important;max-width:calc(100% - 24px)!important;height:auto!important;min-height:0!important;margin:12px 12px 0 0!important;padding:6px!important;gap:4px!important;border-radius:13px!important;background:rgba(255,254,250,.92)!important;border:1px solid rgba(32,57,44,.13)!important;box-shadow:0 8px 24px rgba(17,32,24,.14)!important;backdrop-filter:blur(12px) saturate(1.15)}
.map-legend button.ml-chip{box-sizing:border-box;display:flex!important;align-items:center;gap:7px;min-height:33px!important;height:auto!important;width:100%!important;min-width:0!important;padding:7px 8px!important;border:1px solid transparent!important;border-radius:9px!important;background:transparent!important;color:#233a2d!important;font:600 12px/1.15 var(--sans,Inter,Arial,sans-serif)!important;white-space:nowrap}
.map-legend button.ml-chip i{flex:none;width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.96),0 1px 3px rgba(0,0,0,.2)}
.map-legend button.ml-chip span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.map-legend button.ml-chip small{padding-left:4px;color:#6b756e;font-size:12px;font-variant-numeric:tabular-nums}
.map-legend button.ml-chip.is-on{background:rgba(196,80,27,.075)!important;border-color:rgba(196,80,27,.14)!important}
.map-legend button.ml-chip:not(.is-on){opacity:.52}
.atl aside ul#al{max-height:calc(100svh - 340px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(75,97,81,.28) transparent}
.atl #al button{min-height:52px;padding:8px;border-radius:11px}
.atl #al img{width:44px;height:44px;border-radius:9px}
.atl #al button>span{font-size:13px;line-height:1.35}
.atl #al small{line-height:1.4;margin-top:3px}

/* All date/time fields use native device pickers; searchable domain choices use native select controls. */
.f input[type=date],.f input[type=time],.f select{appearance:auto;cursor:pointer}
.f input[type=date],.f input[type=time]{color-scheme:light}
.f input[type=date]::-webkit-calendar-picker-indicator,.f input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.8}
#rqf .f select{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--fg);font:500 14px/1.35 var(--sans);}
#rqf .f select:focus-visible,#rqf .f input:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-color:var(--acc)}
#rqf .date-hint{margin:8px 0 0;color:var(--mut);font-size:12px;line-height:1.5}
#rqf .f input[type=date],#rqf .f input[type=time]{min-height:48px;cursor:pointer;appearance:auto}

@media(max-width:980px){
 .atl{grid-template-columns:1fr;height:auto;min-height:0;padding-top:68px;gap:12px}
 #map{order:0;height:clamp(330px,48svh,470px);min-height:330px;max-height:470px;border-radius:14px!important}
 .atl aside{order:1;padding:8px clamp(16px,3vw,24px) 24px;border-right:0}
 .atl h1{max-width:none;font-size:clamp(29px,5vw,38px)}
 .atl aside ul#al{max-height:360px}
 .ethiopian-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
 .eth-tool:last-child{grid-column:1/-1}
}
@media(max-width:620px){
 .guide-quicknav{padding:12px 0 18px}
 .guide-index-label{align-items:flex-start;font-size:12px}
 .guide-index-label a{font-size:12px}
 .guide-index-link{flex-basis:188px;min-height:54px;padding:10px 11px;grid-template-columns:18px minmax(0,1fr) 13px;gap:8px;border-radius:10px}
 .guide-index-link>b{font-size:12px}
 .guide-articles{padding-bottom:24px!important}
 .guide-tools-section{padding:20px 0 26px}
 .eth-tools-details>summary{padding:16px;align-items:flex-start}
 .eth-summary-title>b{font-size:19px}
 .eth-summary-action{font-size:12px;padding-top:3px}
 .eth-tools-intro{padding:0 16px;margin-top:13px}
 .ethiopian-tools{grid-template-columns:minmax(0,1fr);padding:12px;gap:9px}
 .eth-tool,.eth-tool:last-child{grid-column:auto;padding:15px}
 .eth-tool>p{min-height:0}
 .atl{padding-top:68px;gap:10px}
 #map{height:clamp(300px,43svh,410px);min-height:300px;max-height:410px;border-radius:12px!important}
 .atl aside{padding:8px 16px 22px}
 .atl .fld{margin:12px 0!important}
 .atl aside ul#al{max-height:420px}
 .leaflet-top.leaflet-right .map-legend{width:min(280px,calc(100% - 16px))!important;max-width:calc(100% - 16px)!important;margin:8px 8px 0 0!important;padding:4px!important;gap:3px!important}
 .map-legend button.ml-chip{height:auto!important;min-height:30px!important;padding:6px 6px!important;font-size:12px!important;gap:5px}
 .map-legend button.ml-chip i{width:7px;height:7px}
}
@media(prefers-reduced-motion:reduce){.guide-index-link,.guide-index-link>.ic,.eth-summary-action .ic{transition:none!important}}

/* Support service chooser — even rhythm, clear selection, and dependable wrapping. */
body[data-s=support] .fd{
  width:100%;max-width:960px;padding:clamp(16px,2.2vw,24px);
  border:1px solid rgba(18,48,42,.09);border-radius:24px;
  background:rgba(255,255,255,.88);
  box-shadow:0 18px 48px -38px rgba(18,48,42,.48);
  text-align:left;
}
.support-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 14px;color:var(--fg)}
.support-picker-head>span{font:700 11px/1.35 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.support-picker-head>small{color:var(--mut);font:500 12px/1.4 var(--sans);white-space:nowrap}
.support-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.support-choice{
  display:grid;grid-template-columns:34px minmax(0,1fr) 22px;align-items:center;gap:9px;
  min-width:0;min-height:62px;width:100%;padding:10px 11px;
  border:1px solid #d7e0d8;border-radius:12px;background:#fffefa;color:#19372b;
  text-align:left;white-space:normal;font:600 12px/1.35 var(--sans);
  transition:transform .24s ease,border-color .24s ease,background .24s ease,color .24s ease,box-shadow .24s ease;
}
.support-choice-icon{display:grid;place-items:center;width:34px;height:34px;min-width:34px;border-radius:10px;background:#eff4ee;color:#315744}
.support-choice-icon .ic{width:17px;height:17px;margin:0}
.support-choice-label{min-width:0;overflow-wrap:normal;word-break:normal}
.support-choice-mark{display:grid;place-items:center;width:22px;height:22px;border:1px solid #d5ded6;border-radius:50%;color:#748579;opacity:.8}
.support-choice-mark .ic{width:12px;height:12px;margin:0;opacity:0;transform:scale(.7);transition:opacity .2s ease,transform .2s ease}
.support-choice.on{border-color:#12302a;background:#12302a;color:#fff;box-shadow:0 5px 14px rgba(18,48,42,.12)}
.support-choice.on .support-choice-icon{background:rgba(255,255,255,.11);color:#ffd0bd}
.support-choice.on .support-choice-mark{border-color:#b9381a;background:#b9381a;color:#fff;opacity:1}
.support-choice.on .support-choice-mark .ic{opacity:1;transform:scale(1)}
.support-choice:focus-visible{outline:3px solid #b9381a;outline-offset:3px;z-index:1}
.support-choice-grid+.fdp .fdi{padding:20px 2px 2px;gap:12px 26px}
.support-choice-grid+.fdp .fdi h3{font-size:clamp(22px,2.3vw,28px);line-height:1.1}
.support-choice-grid+.fdp .fdi p{font-size:13px;line-height:1.7}
.support-choice-grid+.fdp .fdi ul{color:var(--mut);font-size:13px;line-height:1.5}
.support-choice-grid+.fdp .fdi ul li{align-items:flex-start;gap:8px;padding:5px 0}
.support-choice-grid+.fdp .fdi ul .ic{width:15px;height:15px;flex:none;margin-top:2px}
.support-detail-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:5px}
.support-detail-actions .btn{flex:0 1 auto;justify-content:center;min-height:44px;margin:0;padding:12px 17px}
@media(hover:hover) and (pointer:fine){
  .support-choice:hover:not(.on){transform:translateY(-2px);border-color:#9caf9f;background:#f7faf6;box-shadow:0 5px 14px rgba(18,48,42,.055)}
  .support-choice.on:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(18,48,42,.17)}
}
@media(max-width:900px){.support-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.support-choice{grid-template-columns:32px minmax(0,1fr) 20px;gap:8px;padding:10px}.support-choice-icon{width:32px;height:32px;min-width:32px}.support-choice-mark{width:20px;height:20px}}
@media(max-width:620px){
  body[data-s=support] .fd{padding:15px;border-radius:19px}
  .support-picker-head{margin-bottom:12px}
  .support-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-bottom:15px}
  .support-choice{grid-template-columns:28px minmax(0,1fr) 18px;gap:7px;min-height:59px;padding:9px 8px;font-size:12px;line-height:1.3;border-radius:10px}
  .support-choice-icon{width:28px;height:28px;min-width:28px;border-radius:8px}
  .support-choice-icon .ic{width:16px;height:16px}
  .support-choice-mark{width:18px;height:18px}
  .support-choice-mark .ic{width:10px;height:10px}
  .support-choice-grid+.fdp .fdi{padding:18px 1px 1px;gap:12px}
  .support-detail-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;margin-top:8px}
  .support-detail-actions .btn{width:100%;min-width:0}
}
@media(max-width:380px){.support-choice-grid{grid-template-columns:minmax(0,1fr)}.support-choice{grid-template-columns:34px minmax(0,1fr) 22px;min-height:55px;padding:9px 11px;font-size:12px}.support-choice-icon{width:34px;height:34px;min-width:34px}.support-choice-mark{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){.support-choice,.support-choice-mark .ic{transition:none!important}}

/* Business landing cards were previously nested inside a second grid. The grid class now sits on the card collection itself. */
.business-value-grid,.business-why-grid{width:100%;min-width:0}
.business-value-grid>.guide-card,.business-why-grid>.guide-card{min-width:0}
.business-value-grid .guide-card h3,.business-why-grid .guide-card h3{overflow-wrap:break-word;hyphens:auto}

/* Sector pages: pillars, labelled bullets, final CTA */
.inv-lb{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:12px}
.inv-lb li{position:relative;padding-left:22px;line-height:1.6;font-size:15.5px}
.inv-lb li:before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50%;background:#c4501b}
.inv-lb li b{font-weight:650}
.inv-pillar{position:relative}
.inv-pillar-no{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#173f30;color:#fff;font-weight:700;font-size:15px;margin-bottom:12px}
.inv-pipeline{margin-top:8px}
.inv-lb-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 32px}
.inv-help-panel .inv-lb li:before{background:#d6b18b}
.inv-help-panel p{line-height:1.65;margin:0 0 12px}
.inv-final-cta{margin:20px 0;padding:clamp(28px,5vw,56px);border-radius:22px;background:#f1ebdd;text-align:center}
.inv-final-cta h2{font-size:clamp(26px,3.6vw,40px);line-height:1.15;margin:0 auto 10px;max-width:24ch;text-align:center}
.inv-final-cta p{max-width:60ch;margin:0 auto 22px;font-size:17px;line-height:1.6}
.inv-final-cta .inv-sector-actions{justify-content:center}
@media(max-width:820px){.inv-lb-grid{grid-template-columns:1fr}}

/* ==== r12-refinements ==== */
/* R12: clear product-family navigation and durable direct-to-section links. */
.trade-family-intro{
  max-width:66ch;
  margin:-4px 0 24px;
  color:var(--mut);
  font-size:15px;
  line-height:1.75;
}
.mos.trade-family-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:minmax(230px,1fr);
  gap:14px;
}
.mos.trade-family-grid .m0,
.mos.trade-family-grid .m1,
.mos.trade-family-grid .m2,
.mos.trade-family-grid .m3,
.mos.trade-family-grid .m4,
.mos.trade-family-grid .m5,
.mos.trade-family-grid .m6,
.mos.trade-family-grid .m7{
  grid-column:span 1!important;
  grid-row:span 1!important;
  min-width:0;
}
.trade-family-grid .mos-desc{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.trade-family-grid .mos-explore{display:flex;align-items:center;gap:7px;}
.trade-family-grid .mos-explore .ic{width:14px;height:14px;}
.product-family-shortcuts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0 0 24px;
}
.product-family-shortcuts a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
  padding:14px 15px;
  border:1px solid var(--line);
  border-radius:12px;
  color:var(--fg);
  background:var(--card);
  font-size:13px;
  font-weight:700;
  line-height:1.35;
  text-decoration:none;
  transition:border-color .18s ease,transform .18s ease,background .18s ease;
}
.product-family-shortcuts a span{
  color:var(--mut);
  font-size:12px;
  font-weight:500;
  white-space:nowrap;
}
@media (hover:hover){.product-family-shortcuts a:hover{
  transform:translateY(-2px);
  border-color:var(--acc);
  background:var(--card);
}}
.product-family-shortcuts a:focus-visible{
  outline:3px solid var(--acc);
  outline-offset:3px;
}
.guide-article,
#ethiopian-time{scroll-margin-top:calc(var(--nav-h, 82px) + 20px);}
@media(max-width:960px){
  .mos.trade-family-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(200px,auto);gap:10px;}
  .product-family-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:520px){
  .trade-family-intro{font-size:14px;margin-bottom:18px;}
  .mos.trade-family-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(174px,auto);gap:8px;}
  .mos.trade-family-grid a{padding:12px;border-radius:12px;}
  .trade-family-grid .mos-desc{font-size:12px;line-height:1.4;}
  .trade-family-grid h3{font-size:17px!important;line-height:1.1;}
  .trade-family-grid .mos-explore{font-size:12px;margin-top:6px;}
  .product-family-shortcuts{grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:18px;}
  .product-family-shortcuts a{padding:12px 13px;}
}
@media(prefers-reduced-motion:reduce){
  .product-family-shortcuts a{transition:none;}
}

/* ==== quality-polish ==== */
/* MENGED quality pass — compact choices, readable quote inputs and reduced visual noise. */

/* Business: replace the oversized wrapping investment-sector pills with one clear control. */
.biz-sector-control{display:grid;gap:8px;margin:18px 0 20px;min-width:0}
.biz-sector-control>label{color:#526158;font:700 11px/1.4 var(--sans);letter-spacing:.09em;text-transform:uppercase}
.biz-sector-control select{display:block;width:100%;min-width:0;min-height:52px;padding:12px 42px 12px 15px;border:1px solid #cfd8cf;border-radius:11px;background:#fffefa;color:#19372b;font:600 15px/1.35 var(--sans);appearance:auto;cursor:pointer}
.biz-sector-control select:focus-visible{outline:3px solid rgba(29,73,56,.18);outline-offset:2px;border-color:#1d4938}
.biz-control-hint{margin:0;color:#68756b;font:400 12px/1.55 var(--sans)}
.biz-panel .biz-sector-choices{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}
.biz-panel .biz-sector-choices button{min-height:38px;padding:9px 12px;border-radius:9px;font-size:12px;letter-spacing:0}
.biz-panel .biz-route-choices button[aria-pressed=true]{background:#1d4938;color:#fff;border-color:#1d4938}

/* Cars: make every journey mode visible instead of hiding choices in a horizontal strip. */
body[data-s="cars"] .qw{overflow:visible;border-radius:20px!important;background:rgba(255,254,250,.96)}
body[data-s="cars"] .qm{border-radius:19px 19px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;overflow:visible;padding:12px;border-bottom:1px solid var(--line);background:#faf9f4}
body[data-s="cars"] .qm button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:45px;padding:10px 8px;border:1px solid transparent;border-radius:10px;background:transparent;color:#59675d;font:700 11px/1.25 var(--sans);letter-spacing:.045em;text-align:center;text-transform:uppercase;white-space:normal}
body[data-s="cars"] .qm button.on{border-color:#b54327;background:#b54327;color:#fff;box-shadow:0 3px 10px rgba(181,67,39,.15)}
@media (hover:hover){body[data-s="cars"] .qm button:not(.on):hover{border-color:#dce1d9;background:#fffefa;color:#183d30}}
body[data-s="cars"] .qm button:focus-visible{outline:3px solid rgba(29,73,56,.24);outline-offset:2px}
body[data-s="cars"] .qf{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) minmax(0,1.55fr) minmax(0,.95fr) minmax(0,.72fr) auto;gap:0!important;align-items:stretch;overflow:visible}
body[data-s="cars"] .qf>.qf-field{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0;padding:17px 15px!important;border-right:1px solid rgba(26,47,35,.10)!important;border-bottom:0!important;color:#56665b;font:700 11px/1.4 var(--sans)!important;letter-spacing:.09em;text-transform:uppercase}
body[data-s="cars"] .qf-field input{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:49px;min-height:49px;padding:11px 12px;border:1px solid #d7dcd3!important;border-radius:10px!important;background:#fffefa!important;color:#1a3328!important;font:500 14px/1.35 var(--sans)!important;letter-spacing:0;text-transform:none;color-scheme:light}
body[data-s="cars"] .qf-field input::placeholder{color:#828a83;opacity:1;font-weight:400}
body[data-s="cars"] .qf-field input:focus-visible{outline:3px solid rgba(29,73,56,.14)!important;outline-offset:1px;border-color:#1d4938!important;box-shadow:none!important}
body[data-s="cars"] .qf-field input[type=date],body[data-s="cars"] .qf-field input[type=time]{appearance:auto;cursor:pointer}
body[data-s="cars"] .qf-field input[type=date]::-webkit-calendar-picker-indicator,body[data-s="cars"] .qf-field input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.8}
body[data-s="cars"] .qf-field>small{display:block;margin-top:-2px;color:#737e75;font:400 12px/1.4 var(--sans);letter-spacing:0;text-transform:none}
body[data-s="cars"] .qf-date-time{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;padding:17px 13px;border-right:1px solid rgba(26,47,35,.10)}
body[data-s="cars"] .qf-date-time>.qf-field{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0!important;border:0!important;color:#56665b;font:700 11px/1.4 var(--sans)!important;letter-spacing:.09em;text-transform:uppercase}
body[data-s="cars"] .qf-date-time .qf-field input{padding-inline:9px;font-size:13px!important}
body[data-s="cars"] .qf-label-row{display:flex;align-items:center;justify-content:space-between;gap:6px}
body[data-s="cars"] .qf-label-row>span{min-width:0}
body[data-s="cars"] .qf-label-row em{flex:none;padding:3px 6px;border-radius:5px;background:#eff2eb;color:#66756a;font:600 12px/1.2 var(--sans);letter-spacing:0;text-transform:none;font-style:normal}
body[data-s="cars"] .qf>.btn{align-self:stretch;display:flex;align-items:center;justify-content:center;min-width:136px;min-height:49px;height:auto;margin:17px;padding:13px 17px;border-radius:11px!important;background:#1d4938!important;color:#fff!important;white-space:normal}
body[data-s="cars"] .quote-form-note{max-width:72ch;margin:13px 2px 0;color:#69766d;font:400 12px/1.6 var(--sans)}
body[data-s="cars"] .place-suggestions{z-index:220;max-height:40vh;overflow:auto}
body[data-s="cars"] .qf-field:focus-within,body[data-s="cars"] .qf-date-time .qf-field:focus-within{z-index:221}
body[data-s="cars"] #q4{font-variant-numeric:tabular-nums}

/* The sequence markers that added noise are decorative; keep headings and content as the hierarchy. */
.hl li::before,.numbered-guide li::before,.guide-index-link:not(.guide-tool-link)>span,.th .th-card .th-num{display:none!important;content:none!important}
.guide-index-link{grid-template-columns:minmax(0,1fr) 14px}
.hl li{gap:0}
.numbered-guide li{padding-left:0}
.th .th-card .th-name{left:15px}

@media(max-width:1100px){
  body[data-s="cars"] .qf{grid-template-columns:repeat(3,minmax(0,1fr))}
  body[data-s="cars"] .qf>.btn{grid-column:1/-1;min-height:50px;margin:14px 16px 16px}
  body[data-s="cars"] .qf>.qf-field:nth-of-type(1),body[data-s="cars"] .qf>.qf-field:nth-of-type(2){border-bottom:1px solid rgba(26,47,35,.10)!important}
  body[data-s="cars"] .qf-date-time{border-bottom:1px solid rgba(26,47,35,.10)}
}
@media(max-width:640px){
  body[data-s="cars"] .qm{grid-template-columns:repeat(3,minmax(0,1fr));padding:9px;gap:6px}
  body[data-s="cars"] .qm button{min-height:43px;padding:9px 5px;font-size:12px;letter-spacing:.025em}
  body[data-s="cars"] .qf{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  body[data-s="cars"] .qf>.qf-field:nth-of-type(1),body[data-s="cars"] .qf>.qf-field:nth-of-type(2),body[data-s="cars"] .qf-date-time{grid-column:1/-1}
  body[data-s="cars"] .qf>.qf-field:nth-of-type(1),body[data-s="cars"] .qf>.qf-field:nth-of-type(2){border-right:0!important;border-bottom:1px solid rgba(26,47,35,.10)!important}
  body[data-s="cars"] .qf>.qf-field{padding:15px 16px!important}
  body[data-s="cars"] .qf-date-time{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:15px 16px;border-right:0;border-bottom:1px solid rgba(26,47,35,.10)}
  body[data-s="cars"] .qf-date-time .qf-field input{font-size:14px!important}
  body[data-s="cars"] .qf>.qf-field.qf-optional{border-right:1px solid rgba(26,47,35,.10)!important}
  body[data-s="cars"] .qf>.btn{grid-column:1/-1;margin:14px 14px 15px;min-height:54px}
  body[data-s="cars"] .quote-form-note{margin:11px 2px 0;font-size:12px}
  .biz-sector-control select{min-height:50px;font-size:14px}
}
@media(max-width:360px){
  body[data-s="cars"] .qf-date-time{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){body[data-s="cars"] .qm button{transition:none!important}}

/* R18: clarify that the language selector translates interface labels, not every service/legal text. */
#lg .language-note{margin:0 12px 8px;color:var(--mut);font:400 12px/1.5 var(--sans);max-width:30ch}

/* ===== R22 upgrade pack ===== */
/* Passenger steppers */
.pax-stepper{display:inline-flex;align-items:center;gap:0;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff}
.pax-stepper input{border:0!important;width:64px!important;text-align:center;font:inherit;padding:10px 4px;background:transparent}
.pax-btn{width:40px;height:40px;border:0;background:var(--bg);font-size:20px;line-height:1;cursor:pointer;color:var(--fg);transition:background .2s}
@media (hover:hover){.pax-btn:hover{background:var(--acc);color:#fff}}
label.f>.pax-btn{margin-left:8px}
.qf-field .pax-btn{border-radius:50%;width:38px;height:38px;margin-left:8px}

/* Compare popup */
.cmp-pop{position:fixed;inset:0;z-index:900;display:none;align-items:center;justify-content:center;padding:20px}
.cmp-pop.on{display:flex}
.cmp-pop-back{position:absolute;inset:0;background:rgba(20,16,10,.55);backdrop-filter:blur(6px);animation:cmpFade .25s ease}
.cmp-pop-card{position:relative;background:var(--bg);border-radius:24px;max-width:1060px;width:100%;max-height:88vh;overflow:auto;padding:30px 30px 24px;box-shadow:0 40px 90px rgba(20,16,10,.4);animation:cmpRise .3s cubic-bezier(.2,.9,.3,1.1)}
@keyframes cmpFade{from{opacity:0}}
@keyframes cmpRise{from{opacity:0;transform:translateY(26px) scale(.97)}}
.cmp-pop-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}
.cmp-pop-head h3{font-size:clamp(24px,3vw,34px)}
.cmp-pop-x{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;display:grid;place-items:center;transition:all .2s}
@media (hover:hover){.cmp-pop-x:hover{background:var(--deep);color:#fff}}
.cmp-pop-grid{display:grid;grid-template-columns:repeat(var(--cols,1),minmax(0,1fr));gap:16px}
.cmp-pop-col{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff;display:flex;flex-direction:column}
.cmp-pop-col .tmp{border-radius:12px;overflow:hidden;aspect-ratio:4/3;margin-bottom:12px}
.cmp-pop-col .tmp img{width:100%;height:100%;object-fit:cover}
.cmp-pop-col h4{font-size:19px;margin:0 0 2px}
.cmp-pop-cat{color:var(--mut);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.cmp-pop-col dl{margin:12px 0;display:grid;gap:6px}
.cmp-pop-col dl>div{display:flex;justify-content:space-between;font-size:13px;border-top:1px solid var(--line);padding-top:6px}
.cmp-pop-col dt{color:var(--mut)}
.cmp-pop-actions{display:flex;gap:8px;align-items:center;margin-top:auto;flex-wrap:wrap}
.cmp-pop-remove{border:0;background:none;color:var(--mut);font-size:12px;cursor:pointer;text-decoration:underline}
.cmp-pop-hint{margin:16px 0 0;font-size:13px;color:var(--mut);text-align:center}
body.cmp-open{overflow:hidden}
@media(max-width:760px){.cmp-pop-grid{grid-template-columns:1fr!important}.cmp-pop-card{padding:20px 16px}}

/* Request sent confirmation */
.rq-sent{text-align:center;padding:40px 20px 30px;max-width:640px;margin:0 auto}
.rq-sent-check{display:inline-grid;place-items:center;width:84px;height:84px;border-radius:50%;background:#e6f2e4;color:#2e7d32;margin-bottom:22px;animation:cmpRise .4s ease}
.rq-sent-check .ic{width:40px;height:40px}
.rq-sent h3{font-size:clamp(28px,4vw,40px);margin-bottom:14px}
.rq-sent p{color:var(--mut);line-height:1.7}
.rq-sent-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.rq-sent-social{margin-top:34px;border-top:1px solid var(--line);padding-top:22px}
.rq-sent-social small{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:12px}
.rq-sent-social>div{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.rq-other-sectors{margin-top:22px;font-size:13px}
.rq-other-sectors a{text-decoration:underline}

/* Layover promo */
.layover-promo{display:grid;grid-template-columns:1.2fr 1fr;gap:44px;align-items:center}
.layover-copy h2{font-size:clamp(30px,4vw,48px);margin:12px 0 18px}
.layover-copy p{color:var(--mut);line-height:1.75;margin-bottom:12px}
.layover-art{border-radius:22px;overflow:hidden;aspect-ratio:4/3}
.layover-art img{width:100%;height:100%;object-fit:cover}
@media(max-width:860px){.layover-promo{grid-template-columns:1fr}}

/* Planner sample itinerary */
.plan-sample{margin-top:26px;border-top:1px solid var(--line);padding-top:18px}
.plan-days{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:12px}
.plan-days li{display:grid;grid-template-columns:96px 1fr;gap:4px 14px;align-items:baseline}
.plan-days b{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--acc)}
.plan-days span{font-weight:600}
.plan-days small{grid-column:2;color:var(--mut)}

/* Trade stages numbered steps */
.trade-stages{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:26px}
.trade-stages .step b{font-size:clamp(44px,5vw,72px)}
@media(max-width:1100px){.trade-stages{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.trade-stages{grid-template-columns:1fr}}

/* Legacy GIF utility class: never tint raster artwork into a solid block. */
.ic-gif{width:1.15em;height:1.15em;object-fit:contain;vertical-align:-.2em;border-radius:0;filter:none!important;-webkit-filter:none!important}
.support-choice.on .support-choice-icon .ic-gif,.support-timeline-icon .ic-gif{filter:none!important;-webkit-filter:none!important}
.support-timeline-icon .ic-gif,.sc-icon .ic-gif{width:26px;height:26px}

/* Prevent mid-word breaking in guided text */
.numbered-guide li,.st4 p,.step p,.guide-article p,.guide-article li,.faq p,.support-timeline-content p{overflow-wrap:normal;word-break:normal;hyphens:none}

/* Honest request-delivery status when the online submission service is unavailable. */
.rq-failure{text-align:center;max-width:700px;margin:0 auto;padding:38px 22px 32px;border:1px solid rgba(164,71,29,.22);border-radius:22px;background:#fffdf8;box-shadow:0 12px 38px rgba(31,42,32,.06)}
.rq-failure-mark{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;margin-bottom:18px;background:#f6ece4;color:#884c2f}
.rq-failure-mark .ic{width:27px;height:27px}
.rq-failure h3{font-size:clamp(25px,3.6vw,34px);margin:0 0 12px}
.rq-failure>p{max-width:58ch;margin:0 auto 12px;color:var(--mut);line-height:1.7}
.rq-failure-contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:18px!important}
.rq-failure-contact a{color:var(--deep);font-weight:650;text-decoration:underline;text-underline-offset:3px}
@media(max-width:520px){.rq-failure{padding:28px 16px}.rq-failure-contact{flex-direction:column;gap:6px}.rq-failure-contact>span{display:none}}

/* ==== world-class ==== */
/* =====================================================================
   MENGED · world-class layer (loads last)
   1. Support photo mosaic   2. Compare popup + tray   3. Icon system
   ===================================================================== */

/* ---------- 1. SUPPORT PHOTO MOSAIC ---------- */
#main .sup-mosaic{
  --gap:clamp(8px,1.4vw,16px);
  margin:clamp(34px,5vw,64px) auto 0;padding:0;max-width:1120px;width:100%;
  display:grid;gap:var(--gap);text-align:left;
  grid-template-columns:minmax(0,1.42fr) minmax(0,1fr);
  grid-template-rows:repeat(2,minmax(0,1fr));
  aspect-ratio:16/8.6;
}
#main .sup-ph{
  position:relative;margin:0;overflow:hidden;isolation:isolate;min-width:0;min-height:0;
  border-radius:clamp(14px,1.9vw,24px);background:linear-gradient(140deg,#dfe8de,#cfdccd);
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 18px 40px -22px rgba(18,48,42,.45);
}
#main .sup-ph-a{grid-row:1 / span 2}
#main .sup-ph img{
  position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;
  object-fit:cover;object-position:var(--fp,50% 50%);
  transform:scale(1.001);transition:transform 1.1s cubic-bezier(.2,.7,.2,1);
}
#main .sup-ph::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,transparent 52%,rgba(10,24,19,.62) 100%);
}
#main .sup-ph figcaption{
  position:absolute;z-index:2;left:clamp(12px,1.8vw,22px);right:clamp(12px,1.8vw,22px);bottom:clamp(11px,1.6vw,20px);
  display:grid;gap:2px;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.35);
}
#main .sup-ph figcaption b{
  display:inline-flex;align-items:center;gap:8px;font:700 11px/1.2 var(--sans,Inter,system-ui,sans-serif);
  letter-spacing:.14em;text-transform:uppercase;color:#fff;
}
#main .sup-ph figcaption b::before{content:"";width:18px;height:2px;border-radius:2px;background:#E3B567}
#main .sup-ph figcaption span{font:500 clamp(12px,1.25vw,14.5px)/1.35 var(--sans,Inter,system-ui,sans-serif);opacity:.94}
#main .sup-ph-a figcaption span{font-size:clamp(13px,1.5vw,17px)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  #main .sup-ph:hover img{transform:scale(1.045)}
}
@media(max-width:1000px){
  #main .sup-mosaic{aspect-ratio:16/9.2}
}
/* phones: one wide lead image, then two supporting images side by side. Never three tall slivers. */
@media(max-width:620px){
  #main .sup-mosaic{
    grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;aspect-ratio:auto;
    margin-top:30px;
  }
  #main .sup-ph-a{grid-column:1 / -1;grid-row:auto;aspect-ratio:16/11}
  #main .sup-ph-b,#main .sup-ph-c{aspect-ratio:1/1.08}
  #main .sup-ph figcaption span{display:none}
  #main .sup-ph-a figcaption span{display:block}
  #main .sup-ph::after{background:linear-gradient(180deg,transparent 48%,rgba(10,24,19,.7) 100%)}
}
@media(max-width:380px){#main .sup-ph-a{aspect-ratio:4/3}}
/* very wide screens: let the mosaic breathe without turning into a banner */
@media(min-width:1500px){#main .sup-mosaic{max-width:1240px;aspect-ratio:16/8}}
/* landscape phones: keep the pair from becoming taller than the screen */
@media(max-height:480px) and (orientation:landscape){#main .sup-mosaic{aspect-ratio:16/7}}

/* ---------- 2. COMPARE POPUP + TRAY ---------- */
.cmp-pop-card{max-width:1040px;border-radius:26px;padding:clamp(20px,3vw,32px)}
.cmp-pop-lede{margin:8px 0 0;max-width:52ch;color:var(--mut);font-size:15px;line-height:1.55}
.cmp-pop-steps{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 20px}
.cmp-pop-steps span{
  display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;
  border:1px solid var(--line);background:#fff;color:var(--mut);font:600 12px/1 var(--sans,Inter,system-ui,sans-serif);letter-spacing:.02em;
}
.cmp-pop-steps span.on{background:#12302a;border-color:#12302a;color:#fff}
.cmp-pop-steps span.now{border-color:#B7812D;color:#7a5314;background:#FBF1DA;box-shadow:0 0 0 3px rgba(183,129,45,.16)}
.cmp-pop-grid{align-items:stretch}
.cmp-pop-card.is-single .cmp-pop-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
.cmp-pop-col .tmp{aspect-ratio:16/10}
.cmp-pop-col .tmp img{object-position:50% 55%}

/* the "add another car" slot */
.cmp-pop-add{
  appearance:none;font:inherit;color:inherit;cursor:pointer;text-align:center;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:240px;padding:24px 20px;
  border:2px dashed rgba(183,129,45,.55)!important;background:linear-gradient(180deg,#fffdf8,#fbf4e4)!important;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease;
}
.cmp-pop-add strong{font:700 clamp(17px,2vw,20px)/1.2 var(--serif,Fraunces,Georgia,serif);color:#173b2c}
.cmp-pop-add small{max-width:30ch;color:var(--mut);font-size:13px;line-height:1.5}
.cmp-add-ring{
  display:grid;place-items:center;width:58px;height:58px;border-radius:50%;
  background:#fff;color:#B7812D;border:1px solid rgba(183,129,45,.4);box-shadow:0 10px 24px -10px rgba(183,129,45,.55);
}
.cmp-add-ring .ic{width:24px;height:24px;stroke-width:2}
.cmp-add-cta{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font:700 12.5px/1 var(--sans,Inter,system-ui,sans-serif);color:#173b2c;letter-spacing:.02em}
.cmp-add-cta .ic{width:15px;height:15px}
.cmp-pop-add:focus-visible{border-color:#B7812D!important;background:#FFF9EA!important;box-shadow:0 18px 40px -22px rgba(183,129,45,.6);outline:none}@media (hover:hover){.cmp-pop-add:hover{border-color:#B7812D!important;background:#FFF9EA!important;box-shadow:0 18px 40px -22px rgba(183,129,45,.6);outline:none}}
.cmp-pop-add:focus-visible{box-shadow:0 0 0 3px rgba(183,129,45,.35)}
.cmp-pop-add.is-lead .cmp-add-ring{animation:cmpBeat 2.4s ease-in-out infinite}
@keyframes cmpBeat{0%,100%{box-shadow:0 0 0 0 rgba(183,129,45,.35),0 10px 24px -10px rgba(183,129,45,.55)}50%{box-shadow:0 0 0 12px rgba(183,129,45,0),0 10px 24px -10px rgba(183,129,45,.55)}}
.cmp-pop-foot{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:20px}
.cmp-pop-hint{margin-top:14px}
@media(max-width:760px){
  .cmp-pop{padding:10px;align-items:flex-end}
  .cmp-pop-card{max-height:92vh;border-radius:22px 22px 14px 14px;padding:18px 14px calc(16px + env(safe-area-inset-bottom))}
  .cmp-pop-card.is-single .cmp-pop-grid{grid-template-columns:1fr!important}
  .cmp-pop-col{display:grid;grid-template-columns:112px minmax(0,1fr);column-gap:12px;align-items:start;padding:12px}
  .cmp-pop-col .tmp{grid-row:1 / span 3;aspect-ratio:1/1;margin:0}
  .cmp-pop-col dl,.cmp-pop-col .cmp-pop-actions{grid-column:1 / -1}
  .cmp-pop-add{display:flex;min-height:0;padding:18px 14px;flex-direction:column}
  .cmp-add-ring{width:48px;height:48px}
  .cmp-pop-foot{display:grid;grid-template-columns:1fr}
  .cmp-pop-foot .btn{justify-content:center;width:100%}
}
/* floating tray */
#cb.cb{gap:12px}
#cb .cb-label em{font-style:normal;color:#E9C47E;font-weight:600}
#cb .btn[data-cmp-add]{white-space:nowrap}
@media(max-width:640px){#cb .cb-label{white-space:normal;text-align:center;flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){.cmp-pop-add.is-lead .cmp-add-ring{animation:none}}

/* ---------- 3. ICON SYSTEM ---------- */
/* One tile language: soft stone tile, hairline border, gold-tinted focus. */
#main .sc .sc-icon,#main .support-choice-icon,#main .support-timeline-icon,#main .contact-method-icon,#main .step-icon,#main .mode-icon,#main .outcome-icon{
  color:#173a2e;
  background:linear-gradient(160deg,#fbf9f2 0%,#eef2ea 100%);
  border:1px solid rgba(23,58,46,.12);
  box-shadow:0 1px 0 #fff inset,0 6px 14px -10px rgba(18,48,42,.4);
}
#main .sc .sc-icon{width:50px;height:50px;border-radius:15px}
#main .sc .sc-icon .ic{width:26px;height:26px;stroke-width:1.6}
#main .support-choice-icon{border-radius:11px}
#main .support-choice.on .support-choice-icon{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);color:#fff;box-shadow:none}
#main .support-timeline-icon .ic{width:27px;height:27px}

/* Home service emblems: shared tile + the hero "Experience the Ethiopia" badge */
#main .group-service-icon.svc-ico{border-radius:16px;background:linear-gradient(160deg,#fbf9f2,#eaf0e6);border:1px solid rgba(23,58,46,.14);box-shadow:0 1px 0 #fff inset,0 10px 22px -14px rgba(18,48,42,.5);color:#173a2e}
#main .group-service-photo-card .group-service-icon.svc-ico{background:rgba(255,255,255,.94);backdrop-filter:blur(6px)}
#main .group-feature-icon.svc-ico{
  top:clamp(16px,2.2vw,26px);right:clamp(16px,2.2vw,26px);
  width:clamp(64px,7vw,84px)!important;height:clamp(64px,7vw,84px)!important;border-radius:clamp(18px,2vw,24px);
  background:linear-gradient(155deg,#ffffff 0%,#f6edd8 100%);border:1px solid rgba(183,129,45,.5);
  box-shadow:0 0 0 5px rgba(255,255,255,.14),0 22px 44px -16px rgba(0,0,0,.55)!important;color:#173b2c;
}
#main .group-service:is(:hover,:focus-visible) .group-feature-icon{transform:translateY(-3px) scale(1.04)!important;color:#173b2c!important}

.cmp-pop-card.is-single .cmp-pop-col .tmp{aspect-ratio:16/8}
.cmp-pop-card.is-single .cmp-pop-add{min-height:0}
@media(min-width:761px){.cmp-pop-card{max-height:92vh}}

/* feature headline: never split a word, balance the lines */
#main .group-service-feature h3{max-width:min(100%,12ch)!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;text-wrap:balance}
#main .group-service-icon.svc-ico{width:54px;height:54px;min-width:54px;min-height:54px}

/* safety net: nothing may widen the page on small screens */
html,body{overflow-x:clip}
#main .chp.tmp{max-width:100%}

/* ==== final-polish ==== */
/* Final responsive and visual-quality overrides for MENGED. */
:root{--mg-forest:#173b2c;--mg-forest-deep:#123027;--mg-gold:#b7812d;--mg-cream:#fbf8f0}

/* Service icon tiles retain their original centered layout; Flaticon artwork sizing is centralized in the icon system. */
.flaticon-icon.is-playing{opacity:1}
.flaticon-icon.flaticon-unavailable{display:none!important;visibility:hidden!important}
#main .group-service-icon.svc-ico{display:grid;place-items:center;overflow:visible}
#main .group-feature-icon.svc-ico{color:var(--mg-forest)}

/* The travel guide topic cards have three explicit columns; the calendar row no longer collides. */
#main .guide-index-link:not(.guide-tool-link){grid-template-columns:minmax(0,1fr) 14px!important;gap:8px!important}
#main .guide-index-link:not(.guide-tool-link)>span{display:none!important}
#main .guide-index-link.guide-tool-link{
  display:grid!important;grid-template-columns:24px minmax(0,1fr) 14px!important;grid-template-rows:minmax(0,auto);
  align-items:center;gap:8px!important;flex:0 0 238px;min-width:0;white-space:normal;
}
#main .guide-index-link.guide-tool-link>span{display:grid!important;grid-column:1;grid-row:1;place-items:center;min-width:24px;width:24px;height:24px;border-radius:8px;background:#f1eee4;color:var(--mg-forest);overflow:hidden}
#main .guide-index-link.guide-tool-link>span .flaticon-icon{width:16px;height:16px;max-width:16px;max-height:16px}
#main .guide-index-link.guide-tool-link>b{grid-column:2;grid-row:1;min-width:0;max-width:none;overflow-wrap:normal;word-break:normal;hyphens:none;line-height:1.35;font-size:12px}
#main .guide-index-link.guide-tool-link>.ic{grid-column:3;grid-row:1;justify-self:end}
#main .guide-index-label{flex-wrap:wrap}
#main .guide-index-label a{white-space:normal}

/* Support photos: one confident lead frame and two coordinated supporting frames. */
#main .sup-mosaic{
  grid-template-columns:minmax(0,1.24fr) minmax(0,1fr)!important;
  grid-template-rows:minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(9px,1.25vw,15px)!important;aspect-ratio:16/8.8!important;
  min-height:340px;max-height:600px;align-items:stretch;
}
#main .sup-ph{position:relative;display:block;min-width:0;min-height:0;width:auto;height:auto;margin:0;overflow:hidden;isolation:isolate}
#main .sup-ph-a{grid-column:1!important;grid-row:1/span 2!important}
#main .sup-ph-b{grid-column:2!important;grid-row:1!important}
#main .sup-ph-c{grid-column:2!important;grid-row:2!important}
#main .sup-ph img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--fp,50% 50%)}
#main .sup-ph figcaption{left:clamp(12px,1.8vw,22px);right:clamp(12px,1.8vw,22px);bottom:clamp(12px,1.7vw,20px);gap:4px}
#main .sup-ph figcaption b{font-size:clamp(10px,.9vw,12px);letter-spacing:.12em}
#main .sup-ph figcaption span{font-size:clamp(12px,1.12vw,14px);line-height:1.4}

/* Make the first step in a one-car comparison the unmistakable visual CTA. */
.cmp-pop-card.is-single .cmp-pop-add{
  min-height:280px!important;padding:clamp(18px,2.8vw,30px)!important;gap:11px!important;
  border:2px dashed rgba(183,129,45,.9)!important;
  background:radial-gradient(circle at 50% 16%,rgba(226,190,117,.25),transparent 48%),linear-gradient(180deg,#fffdf7,#f8f0dc)!important;
  box-shadow:0 12px 30px -23px rgba(107,75,23,.6),inset 0 1px 0 #fff!important;
}
.cmp-pop-card.is-single .cmp-pop-add .cmp-add-ring{width:64px;height:64px;flex:none;box-shadow:0 9px 26px -9px rgba(183,129,45,.65)}
.cmp-pop-card.is-single .cmp-pop-add strong{font-size:clamp(18px,2.3vw,22px);text-wrap:balance}
.cmp-pop-card.is-single .cmp-pop-add small{max-width:34ch;font-size:13px;line-height:1.55}
.cmp-pop-card.is-single .cmp-pop-add .cmp-add-cta{margin-top:8px;padding:12px 16px;border-radius:999px;background:var(--mg-forest);color:#fff;font-size:12px;letter-spacing:.035em}
.cmp-pop-card.is-single .cmp-pop-add .cmp-add-cta .flaticon-icon{filter:none!important;-webkit-filter:none!important;mix-blend-mode:normal!important}
.cmp-pop-card.is-single .cmp-pop-hint{margin:14px auto 0;max-width:52ch;text-align:center;font-size:13px;line-height:1.55}
.cmp-pop-card.is-single .cmp-pop-foot .btn.alt{background:var(--mg-forest);color:#fff;border-color:var(--mg-forest)}
@media (hover:hover){.cmp-pop-card.is-single .cmp-pop-foot .btn.alt:hover{color:#fff}}

.icon-credit-list{display:flex;flex-wrap:wrap;gap:8px 18px;padding-left:18px}
.icon-credit-list a{color:var(--mg-forest);text-underline-offset:3px}
@media (hover:hover){.icon-credit-list a:hover{color:var(--mg-gold)}}

@media(max-width:760px){
  #main .sup-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto!important;aspect-ratio:auto!important;min-height:0;max-height:none;margin-top:26px}
  #main .sup-ph-a{grid-column:1/-1!important;grid-row:auto!important;aspect-ratio:16/10.3}
  #main .sup-ph-b,#main .sup-ph-c{grid-column:auto!important;grid-row:auto!important;aspect-ratio:1/1.02}
  #main .sup-ph-b img,#main .sup-ph-c img{position:absolute;inset:0}
  #main .sup-ph figcaption{left:10px;right:10px;bottom:10px}
  #main .sup-ph figcaption b{font-size:12px;letter-spacing:.08em}
  #main .sup-ph figcaption b::before{width:12px}
  #main .sup-ph figcaption span{display:none}
  #main .sup-ph-a figcaption span{display:block;font-size:12px}
  #main .guide-index-link.guide-tool-link{flex-basis:238px}
  .cmp-pop-card.is-single .cmp-pop-grid{grid-template-columns:minmax(0,1fr)!important}
  .cmp-pop-card.is-single .cmp-pop-add{min-height:220px!important;padding:22px 15px!important}
  .cmp-pop-card.is-single .cmp-pop-add small{max-width:38ch}
}
@media(max-width:420px){
  #main .sup-mosaic{gap:8px!important}
  #main .sup-ph-a{aspect-ratio:4/3}
  #main .sup-ph figcaption b{font-size:12px}
  #main .sup-ph-a figcaption span{max-width:32ch;font-size:12px}
  #main .guide-index-link.guide-tool-link{flex-basis:226px;padding:10px 10px}
  .cmp-pop-card.is-single .cmp-pop-add{min-height:200px!important}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  #main .sup-ph:hover img{transform:scale(1.035)}
}
@media(prefers-reduced-motion:reduce){
  .flaticon-icon{transition:none!important}
  #main .sup-ph img{transition:none!important}
  .cmp-pop-card.is-single .cmp-pop-add,.cmp-pop-card.is-single .cmp-pop-add .cmp-add-ring{animation:none!important;transition:none!important}
}


/* Most pictograms are local SVGs. Keep the rare remote GIF graceful if its CDN is unavailable. */
.flaticon-art-missing{background:transparent!important;border-color:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.flaticon-art-missing::before,.flaticon-art-missing::after{background-image:none!important;content:none!important}
#main .group-service-icon.motion-icon .motion-fallback,
#main .group-service-icon.motion-icon .flaticon-paced-canvas,
#main .group-service-icon.motion-icon .flaticon-animated-image{display:none!important}

/* Map markers use local SVG pin pictograms too. */
#main .leaflet-marker-icon.mk.flaticon-map-marker{display:grid!important;place-items:center!important;width:26px!important;height:26px!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
#main .leaflet-marker-icon.mk.flaticon-map-marker>i{display:none!important}
.map-legend .ml-chip .ml-pin{display:none!important}

/* Small decorative symbols are CSS-drawn; the main interface uses semantic inline SVGs. */
.mq span:after{background-image:none!important;background-color:var(--fg);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 95%,50% 73%,21% 95%,32% 57%,2% 35%,39% 35%);width:12px;height:12px;border-radius:0}
.ty.on:after{background-image:none!important;background:none!important;border:solid currentColor;border-width:0 2px 2px 0;content:"";width:7px;height:12px;transform:rotate(45deg);border-radius:0}
#menu .menu-fold>summary:after{background-image:none!important;background:none!important;content:"+";display:grid;place-items:center;width:20px;height:20px;font:500 20px/1 var(--sans);color:currentColor;transition:transform .2s}
.lgck.is-selected:after{background-image:none!important;background:none!important;border:solid currentColor;border-width:0 2px 2px 0;content:"";width:7px;height:11px;transform:rotate(45deg);border-radius:0}
.biz-result li:before,.inv-check-panel li:before,.inv-help-panel li:before{background-image:none!important;background:none!important;border:solid var(--mg-forest);border-width:0 2px 2px 0;content:"";width:7px;height:11px;transform:rotate(45deg);border-radius:0}
.business-value-grid .guide-card-link .lnk:after{background-image:none!important;background:none!important;border:solid currentColor;border-width:0 1.8px 1.8px 0;content:"";width:8px;height:8px;transform:rotate(-45deg);border-radius:0}
.resource-details summary:before{background:linear-gradient(currentColor,currentColor) center/12px 1.6px no-repeat,linear-gradient(currentColor,currentColor) center/1.6px 12px no-repeat!important;content:"";display:block;flex:none;width:18px;height:18px;color:currentColor;transition:background .2s ease}
.resource-details[open] summary:before{background:linear-gradient(currentColor,currentColor) center/12px 1.6px no-repeat!important}

/* Refined SVG sizing for persistent utility controls and the map legend. */

/* Flaticon map pins use compact artwork; no inline SVG pictogram fallback is used. */
#main .leaflet-marker-icon.mk.flaticon-map-marker>img.flaticon-icon{display:block!important;width:24px!important;height:24px!important;max-width:24px!important;max-height:24px!important;object-fit:contain!important}

/* ==== footer-group-hierarchy ==== */
/* MENGED Group hierarchy for the global footer */
footer .fc .fc-connected{min-width:0}
footer .fc nav.fc-group-links{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important}
footer .fc nav.fc-group-links a.fc-group-parent,
footer .fc nav.fc-group-links a.fc-group-parent:visited{display:inline-flex!important;align-items:center;max-width:100%;width:fit-content!important;margin:0 0 10px!important;padding:0 0 10px!important;border-bottom:1px solid rgba(215,162,92,.48);font:800 11px/1.4 var(--sans,Inter,Arial,sans-serif)!important;letter-spacing:.13em!important;text-transform:uppercase!important;color:var(--gold,#d7a25c)!important;opacity:1!important;transform:none!important}
footer .fc .fc-group-children{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important;min-width:0;max-width:100%;margin-left:3px;padding-left:13px;border-left:1px solid rgba(215,162,92,.34)}
footer .fc nav.fc-group-links .fc-group-children a,
footer .fc nav.fc-group-links .fc-group-children a:visited{display:block!important;position:static!important;width:fit-content!important;max-width:100%;margin:0!important;padding:4px 0!important;font:500 12.5px/1.5 var(--sans,Inter,Arial,sans-serif)!important;letter-spacing:0!important;text-transform:none!important;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;opacity:.86;transform:none!important}
@media (hover:hover){footer .fc nav.fc-group-links .fc-group-children a:hover{color:var(--gold,#d7a25c)!important;opacity:1!important;transform:translateX(3px)!important}}
@media(max-width:760px){footer .fc nav.fc-group-links a.fc-group-parent{font-size:12px!important;margin-bottom:8px!important;padding-bottom:8px!important}footer .fc nav.fc-group-links .fc-group-children a{font-size:12px!important;padding:5px 0!important}}
@media(prefers-reduced-motion:reduce){footer .fc nav.fc-group-links .fc-group-children a{transition:none!important}}

/* ==== icon-system ==== */
/* R19 icon rules restored. r42 layout, spacing and visuals remain unchanged. */
svg.ic {display:inline-block;flex:none;vertical-align:middle;fill:none;stroke:currentColor;width:1.1em;height:1.1em}
.group-service-icon>svg:not(.ic){display:block;width:100%;height:100%;max-width:100%;max-height:100%}
@media(prefers-reduced-motion:reduce){svg.ic,.group-service-icon svg,.group-service-icon svg *{animation:none!important;transition:none!important}}

/* ==== menged-icon-search-polish ==== */
/* MENGED restrained icon, search and micro-interaction polish */
.burger svg.ic{display:block!important;width:21px!important;height:21px!important;position:static!important;transform:none!important;transition:none!important;stroke:currentColor!important}
.burger[aria-expanded="true"] svg.ic{transform:none!important}
#pal{z-index:2400;display:grid;place-items:start center;padding:clamp(70px,12vh,130px) 16px 22px;overflow-y:auto;background:rgba(9,22,18,.66);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
#pal .pbox{position:relative!important;inset:auto!important;margin:0!important;width:min(660px,100%)!important;max-height:min(680px,calc(100dvh - 105px));display:flex;flex-direction:column;overflow:hidden;background:#fffefa;color:#20392f;border:1px solid rgba(41,67,51,.15);border-radius:18px;box-shadow:0 22px 65px rgba(5,15,12,.24);transform:translateY(8px) scale(.99)}
#pal.on .pbox{transform:none}
#pal .pin{display:flex;align-items:center;gap:12px;min-height:76px;padding:14px 17px;border-bottom:1px solid rgba(27,61,43,.13);background:#fffefa}
#pal .pin>svg.ic{width:21px;height:21px;flex:none;color:#28604b}
#pal #pq{display:block;flex:1;min-width:0;height:45px;padding:0 3px!important;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;border-radius:0!important;font:500 clamp(14px,2.7vw,17px)/1.35 var(--sans,Arial,sans-serif);color:#20392f;appearance:none}
#pal #pq:focus{outline:0!important;box-shadow:none!important}
#pal #pq::placeholder{color:#78867b;opacity:1}
#pal .pal-close{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:0!important;border:1px solid rgba(27,61,43,.12)!important;border-radius:10px;background:#f4f5ef!important;color:#20392f!important;font-size:0!important;overflow:hidden;cursor:pointer}
#pal .pal-close svg.ic{width:17px;height:17px}
#pal .pal-close:focus-visible{background:#e7ede4!important;outline-offset:2px}@media (hover:hover){#pal .pal-close:hover{background:#e7ede4!important;outline-offset:2px}}
#pal #pr{padding:8px!important;margin:0!important;max-height:min(530px,calc(100dvh - 205px));overflow:auto;list-style:none}
#pal #pr li{margin:0!important;list-style:none}
#pal #pr li a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:51px;padding:12px 14px!important;margin:0!important;border-radius:10px!important;background:transparent;color:#243a2f;box-shadow:none!important;text-decoration:none;transition:background .18s,color .18s}
#pal #pr li a span{min-width:0;overflow-wrap:anywhere}
#pal #pr li a small{color:#77887b;flex:none;font-size:12px}
#pal #pr li a:focus-visible,#pal #pr li a.sel{background:#eaf0e7!important;color:#193e2d!important;outline:none}@media (hover:hover){#pal #pr li a:hover{background:#eaf0e7!important;color:#193e2d!important;outline:none}}
#pal #pr li a.sel small{color:#597566}
#pal #pr .e{padding:19px;color:#607568}
.map-legend .ml-chip svg.ic{display:block!important;flex:none!important;width:17px!important;height:17px!important;min-width:17px!important;color:#315d47!important;stroke:currentColor!important;background:none!important;box-shadow:none!important;transform:none!important;animation:none!important}
.map-legend .ml-chip:not(.is-on) svg.ic{opacity:.55}
#main .mg .mode-icon svg.ic{width:40px;height:40px;transform-origin:center;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){#main .mg>a:hover .mode-icon svg.ic,#main .mg>a:focus-visible .mode-icon svg.ic{transform:translateY(-3px) rotate(-4deg)}#main .group-service:hover .group-service-icon svg,#main .group-service:focus-visible .group-service-icon svg{transform:translateY(-2px);transition:transform .35s}}
@media(prefers-reduced-motion:reduce){#main .mg .mode-icon svg.ic,.group-service-icon svg,#pal *{animation:none!important;transition:none!important}}
@media(max-width:560px){#pal{padding:clamp(64px,9vh,90px) 12px 14px}#pal .pbox{border-radius:15px;max-height:calc(100dvh - 90px)}#pal .pin{min-height:64px;padding:10px 12px;gap:9px}#pal #pr{max-height:calc(100dvh - 165px)}#pal #pr li a{padding:11px 12px!important;min-height:48px}#pal #pr li a small{font-size:12px}}

/* r44 audit: actionable focus, closed-modal safety, responsive search */
#pal:not(.on){pointer-events:none}
#pal.on{pointer-events:auto}
#pal #pr li a:focus-visible{outline:2px solid #ae693d!important;outline-offset:-2px}
#pal .pal-close:focus-visible{outline:2px solid #ae693d!important;outline-offset:2px}
#pal #pq:focus-visible{outline:none!important}
#pal .pin:focus-within{box-shadow:inset 0 -2px 0 rgba(174,105,61,.55)}
@media(max-width:390px){#pal #pr li a{gap:8px}#pal #pr li a small{max-width:80px;text-align:right;white-space:normal}}

/* ==== flaticon-exact-cdn-r50 ==== */
/* r50: original Flaticon CDN imagery with conservative brand tint and resilient local fallback */
.mg-flaticon-shell{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;vertical-align:middle;flex:none;overflow:visible}
.mg-flaticon-img{display:block;width:100%;height:100%;object-fit:contain;filter:grayscale(1) sepia(1) saturate(3) hue-rotate(83deg) brightness(.62) contrast(1.13);}
.mg-flaticon-shell[data-flaticon-id="10966862"] .mg-flaticon-img{filter:grayscale(1) sepia(1) saturate(5) hue-rotate(350deg) brightness(.82)}
.group-service-icon .mg-flaticon-shell,.svc-ico .mg-flaticon-shell{width:100%;height:100%;min-width:38px;min-height:38px}
.mk .mg-flaticon-shell{width:21px;height:21px}
@media (prefers-reduced-motion:reduce){.mg-flaticon-img{animation:none!important}}

/* ==== menged-r45-refinement ==== */

/* r45: cohesive, restrained navigation, search, atlas and icon motion */
:root{--mg-ui-ink:#19392c;--mg-ui-line:rgba(30,64,48,.13)}
/* Side navigation: a real drawer, not an immersive full-screen takeover. */
#menu{position:fixed!important;inset:0 0 0 auto!important;width:min(420px,calc(100vw - 42px))!important;height:100dvh!important;max-width:100vw!important;padding:calc(92px + env(safe-area-inset-top)) 26px calc(24px + env(safe-area-inset-bottom))!important;display:flex!important;justify-content:flex-start!important;background:#173d2e!important;color:#f8f7ef!important;clip-path:none!important;visibility:hidden!important;opacity:0!important;transform:translateX(103%)!important;transition:transform .3s cubic-bezier(.2,.75,.2,1),opacity .25s,visibility .3s!important;box-shadow:-20px 0 70px rgba(8,26,17,.22)!important;overscroll-behavior:contain;z-index:2000}
body.mo #menu{visibility:visible!important;opacity:1!important;transform:translateX(0)!important}
#menu>a{font:400 clamp(23px,4.8vw,32px)/1.18 var(--dsp,Georgia,serif)!important;min-height:56px;padding:12px 2px!important;opacity:1!important;transform:none!important;transition:color .18s,background .18s!important}
#menu>a:focus-visible{color:#f1c796}@media (hover:hover){#menu>a:hover{color:#f1c796}}
#menu>a:last-of-type{margin:20px 0 0!important;padding:17px 13px!important;min-height:54px!important;font:600 17px/1.2 var(--sans,Arial,sans-serif)!important;background:#bf4d29!important;color:white!important;border-radius:12px!important}
#menu .menu-secondary{margin:24px 0 0!important;width:100%!important}
#menu .menu-fold>summary{min-height:52px!important}
#menu .menu-list{max-height:220px;overflow:auto}
/* Prevent hidden content from receiving pointer events. */
#menu:not([aria-hidden="false"]){pointer-events:none}
body.mo #menu{pointer-events:auto}
/* search should be a lightweight utility with no oversized result rows */
#pal{padding:clamp(78px,12vh,116px) 14px 18px!important;background:rgba(8,27,20,.42)!important;backdrop-filter:blur(7px)!important}
#pal .pbox{width:min(570px,100%)!important;max-height:min(600px,calc(100dvh - 110px))!important;border-radius:16px!important;box-shadow:0 22px 70px rgba(8,25,18,.21)!important}
#pal .pin{min-height:66px!important;padding:10px 14px!important;gap:10px!important;border-bottom-color:var(--mg-ui-line)!important}
#pal #pq{font-size:clamp(14px,2.4vw,16px)!important}
#pal #pr{padding:7px!important;max-height:min(490px,calc(100dvh - 190px))!important}
#pal #pr li a{min-height:46px!important;padding:10px 13px!important;font-size:14px!important;gap:12px!important}
#pal #pr li a small{font-size:12px!important;color:#6a8073!important;max-width:108px;text-align:right}
#pal #pr li a.sel{background:#eef2eb!important}
/* Atlas legend: no squashed text, no colored bubble decoration. */
.leaflet-top.leaflet-right .map-legend{width:min(304px,calc(100vw - 96px))!important;max-width:calc(100vw - 96px)!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;padding:7px!important;margin:10px 10px 0 0!important;border-radius:15px!important;background:rgba(255,254,249,.96)!important;box-shadow:0 8px 28px rgba(15,43,27,.14)!important}
.map-legend button.ml-chip{display:flex!important;align-items:center!important;gap:6px!important;min-width:0!important;width:100%!important;padding:9px 8px!important;border-radius:9px!important;min-height:40px!important;border:1px solid transparent!important;background:transparent!important;font:600 12px/1.3 var(--sans,Arial,sans-serif)!important;opacity:1!important}
.map-legend button.ml-chip.is-on{background:rgba(35,78,53,.055)!important;border-color:rgba(30,71,51,.11)!important}
.map-legend button.ml-chip:not(.is-on){opacity:.49!important}
.map-legend button.ml-chip span{flex:1!important;overflow:hidden!important;white-space:normal!important;text-overflow:clip!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:break-word;min-width:0}
.map-legend button.ml-chip small{flex:none!important;padding:0!important;margin-left:2px!important;font:500 12px/1 var(--sans,Arial,sans-serif)!important;color:#65786c!important}
.map-legend .ml-chip svg.ic{width:18px!important;height:18px!important;min-width:18px!important;color:#235740!important;animation:none!important;transform:none!important;stroke:currentColor!important}
/* Reduce overplotted markers until zoomed in; retain clickable hit areas. */
#map .mk,#atlas-map .mk{background:none!important;box-shadow:none!important;border:0!important}
#map .mk svg,#atlas-map .mk svg{width:18px!important;height:18px!important;stroke-width:1.5!important;filter:drop-shadow(0 1px 1px rgba(255,255,255,.95));opacity:.83;transition:opacity .2s,transform .2s}
@media (hover:hover){#map .mk:hover svg,#atlas-map .mk:hover svg{opacity:1;transform:scale(1.2)}}
/* Motion applies to expressive editorial and service icons, not navigation or map controls. */
#main .group-service-icon.svc-ethiopia svg{width:35px;height:35px;overflow:visible}
@media(prefers-reduced-motion:no-preference){
 #main .svc-ethiopia .sv-mountain{stroke-dasharray:150;stroke-dashoffset:150;animation:mg-draw-mountain 1.5s ease-out .15s forwards}
 #main .svc-ethiopia .sv-sun{transform-box:fill-box;transform-origin:center;animation:mg-sun-glow 3.8s ease-in-out 1.4s infinite}
 #main .svc-ethiopia .sv-trail{stroke-dasharray:29;stroke-dashoffset:29;animation:mg-draw-mountain .9s ease-out 1.15s forwards}
 #main .mg .mode-icon svg.ic{animation:mg-arrangement-rise 4.8s ease-in-out infinite}
 #main .mg>a:nth-child(2n) .mode-icon svg.ic{animation-delay:.6s}
 #main .mg>a:nth-child(3n) .mode-icon svg.ic{animation-delay:1.2s}
 #main .mg>a:focus-visible .mode-icon svg.ic{animation-play-state:paused}@media (hover:hover){#main .mg>a:hover .mode-icon svg.ic{animation-play-state:paused}}
}
@keyframes mg-draw-mountain{to{stroke-dashoffset:0}}
@keyframes mg-sun-glow{0%,85%,100%{transform:scale(1)}90%{transform:scale(1.15)}}
@keyframes mg-arrangement-rise{0%,86%,100%{transform:translateY(0)}91%{transform:translateY(-3px)}95%{transform:translateY(0)}}
@media(max-width:560px){#menu{width:min(390px,calc(100vw - 28px))!important;padding:calc(82px + env(safe-area-inset-top)) 20px calc(18px + env(safe-area-inset-bottom))!important}#menu>a{min-height:52px!important;padding:10px 0!important;font-size:clamp(22px,6vw,28px)!important}#pal{padding-top:70px!important}#pal .pbox{max-height:calc(100dvh - 88px)!important}#pal .pin{min-height:61px!important}#pal #pr li a{min-height:45px!important}.leaflet-top.leaflet-right .map-legend{width:min(265px,calc(100vw - 86px))!important;max-width:calc(100vw - 86px)!important;gap:3px!important;padding:5px!important}.map-legend button.ml-chip{padding:7px 5px!important;font-size:12px!important;gap:5px!important}.map-legend .ml-chip svg.ic{width:16px!important;height:16px!important;min-width:16px!important}}
@media(prefers-reduced-motion:reduce){#menu,#menu *,#pal,#pal *,#main .mg .mode-icon svg.ic,#main .svc-ethiopia *{animation:none!important;transition:none!important;stroke-dashoffset:0!important}}

/* ==== menged-r46-polish ==== */
/* r46: compact mobile-first chrome and improved interaction affordances */
:root{--meng-forest:#1b4835;--meng-gold:#b58b4d;--meng-silver:#edf1eb}
#menu{overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:thin;scrollbar-color:#628172 transparent}
#menu>a{flex:0 0 auto!important}
#menu .menu-secondary{flex:0 0 auto!important;margin-top:22px!important;padding-bottom:24px}
#menu .menu-fold>summary{font-size:12px!important;letter-spacing:.085em!important;color:#eef0e9!important;outline-offset:4px}
#menu .menu-fold>summary:after{content:'+'!important;font:400 24px/1 Arial,sans-serif!important;width:24px!important;height:24px!important;text-align:center!important;transform:none!important}
#menu .menu-fold[open]>summary:after{content:'−'!important;transform:none!important}
#menu .menu-list{max-height:none!important;overflow:visible!important;padding:4px 0 10px!important}
#menu .menu-list-item{min-height:45px!important;display:flex!important;justify-content:space-between!important;align-items:center!important;padding:9px 8px!important;border-radius:8px!important;font-size:14px!important;color:#f5f4ed!important}
#menu .menu-list-item[aria-current=page]{background:rgba(255,255,255,.12)!important;color:#f5d4a7!important}
#menu .menu-list-item small{display:flex;align-items:center;color:#f5d4a7!important}
#menu .menu-list-item small svg{width:18px;height:18px}
@media (hover:hover){#menu .menu-list-item:hover{background:rgba(255,255,255,.08)}}
#pal .pbox{background:#fafbf7!important;border:1px solid rgba(35,70,51,.15)!important;overflow:hidden!important}
#pal .pin{background:#f5f7f1!important}
#pal #pq{color:#1b3c2d!important;letter-spacing:0!important;min-width:0!important}
#pal #pr li a{color:#183c2b!important;border-radius:9px!important;line-height:1.35!important}
#pal #pr li a:focus-visible{background:#e6ece3!important;outline:none!important}@media (hover:hover){#pal #pr li a:hover{background:#e6ece3!important;outline:none!important}}
#pal button:focus-visible,#menu button:focus-visible,.th .th-card:focus-visible{outline:2px solid var(--meng-gold)!important;outline-offset:3px!important}
/* Atlas legend deliberately uses static artwork, even when main service icons move. */
.map-legend svg,.map-legend svg *,.leaflet-marker-icon svg,.leaflet-marker-icon svg *{animation:none!important;transition:opacity .18s!important}
.map-legend button.ml-chip{border-color:rgba(25,67,47,.09)!important;background:#fffefa!important;min-height:45px!important}
.map-legend button.ml-chip.is-on{background:#eaf0e9!important;border-color:rgba(25,67,47,.23)!important}
.map-legend button.ml-chip svg.ic{color:#285f43!important}
/* Passenger controls: bounded and calmly styled, responsive to narrow screens. */
.step8,.pax-stepper{display:inline-flex!important;align-items:center!important;justify-content:space-between!important;border:1px solid #d7dfd6!important;background:#f9faf6!important;border-radius:11px!important;padding:3px!important;box-shadow:none!important;gap:0!important;overflow:hidden!important}
.step8 button,.pax-stepper .pax-btn{flex:0 0 36px!important;width:36px!important;height:36px!important;min-height:36px!important;border:0!important;border-radius:8px!important;background:#e9eee8!important;color:#24533c!important;font:500 23px/1 Arial,sans-serif!important;display:grid!important;place-items:center!important;padding:0!important}
.step8 b{min-width:32px!important;text-align:center!important;font-variant-numeric:tabular-nums}
.pax-stepper input{max-width:54px!important;min-width:40px!important;width:50px!important;text-align:center!important;padding:5px 0!important;min-height:36px!important;border:0!important;background:transparent!important;box-shadow:none!important;appearance:textfield!important;-moz-appearance:textfield!important}
.pax-stepper input::-webkit-inner-spin-button,.pax-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.step8 button:focus-visible,.pax-stepper button:focus-visible{outline:2px solid var(--meng-gold)!important;outline-offset:1px!important}
/* Two or more visible destination thumbnail choices at all phone sizes. */
@media(max-width:620px){
.th .thumbs{display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;gap:8px!important;padding:8px 14px 16px!important;scroll-snap-type:x proximity!important;scroll-padding-inline:14px!important;overscroll-behavior-x:contain!important;width:100vw!important;box-sizing:border-box!important}
.th .th-card{flex:0 0 clamp(122px,39vw,195px)!important;min-width:0!important;width:clamp(122px,39vw,195px)!important;height:clamp(115px,19vh,168px)!important;border-radius:11px!important;transform:none!important;--raise:0px!important}
.th .th-card.on{transform:none!important;box-shadow:0 0 0 2px var(--meng-gold)!important}@media (hover:hover){.th .th-card:hover{transform:none!important;box-shadow:0 0 0 2px var(--meng-gold)!important}}
.th .th-card img{transform:none!important}
.th .th-card .th-name{font-size:14px!important;left:10px!important;bottom:10px!important}
.modes{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important;gap:8px!important}
.modes button{min-width:0!important;min-height:64px!important;padding:12px!important;font-size:13px!important;border-radius:11px!important}
.modes small{font-size:12px!important;line-height:1.3!important;margin-top:5px!important;white-space:normal!important}
.tb{flex-wrap:wrap!important;gap:12px!important}.tb>.chips{max-width:100%!important}
.qf .pax-stepper{width:max-content!important;max-width:100%!important}
#menu{width:min(380px,calc(100vw - 28px))!important}
}
@media(max-width:370px){.modes{grid-template-columns:repeat(2,minmax(0,1fr))!important}.th .th-card{flex-basis:43vw!important;width:43vw!important}.leaflet-top.leaflet-right .map-legend{width:min(238px,calc(100vw - 80px))!important}}
@media(prefers-reduced-motion:reduce){.th .thumbs{scroll-behavior:auto!important}}

/* ==== menged-r47-finish ==== */
/* MENGED r47: bespoke brand-toned, controlled-motion pictograms */
:root{--mg-icon-green:#205840;--mg-icon-gold:#b48a47}
.mg-art{width:1em;height:1em;display:inline-block;flex:none;stroke:var(--mg-icon-green);fill:none;overflow:visible}
.mg-art .icon-gold{stroke:var(--mg-icon-gold)}
.mode-icon .mg-art,.step-icon .mg-art,.process-step-icon .mg-art,.support-choice-icon .mg-art{width:34px;height:34px;max-width:100%}
.group-feature-icon .mg-art{width:56px;height:56px;color:#fff;stroke:#f5ebd5}
.group-feature-icon .mg-art .icon-gold{stroke:#e5b96b}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.mode-icon .mg-animated,.support-choice-icon .mg-animated,.step-icon .mg-animated,.process-step-icon .mg-animated,.group-feature-icon .mg-animated{transition:transform .4s cubic-bezier(.2,.8,.2,1)}a:hover>.mode-icon .mg-animated,button:hover>.support-choice-icon .mg-animated,.step:hover .mg-animated,.group-service:hover .mg-animated{transform:translateY(-3px)} }
@media(prefers-reduced-motion:no-preference){.group-feature-icon .mg-animated .icon-gold{animation:mg-sun-travel 4.5s ease-in-out infinite}.mode-icon .mg-animated .icon-move{animation:mg-journey 3.6s ease-in-out infinite}.support-choice-icon .mg-animated .icon-hand{animation:mg-journey 4s ease-in-out infinite}}
@keyframes mg-sun-travel{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes mg-journey{0%,100%{transform:translate(0,0)}50%{transform:translate(1px,-2px)}}
@media(prefers-reduced-motion:reduce){.mg-art,.mg-art *{animation:none!important;transition:none!important}}
/* Atlas map interactions are static. Keep the markers muted, legible and compact. */
.map-legend .mg-art{width:21px!important;height:21px!important;stroke:#1e5940!important}
.map-legend .ml-chip{min-width:0;overflow:hidden;gap:7px!important;padding:8px 9px!important}
.map-legend .ml-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.map-legend .ml-chip small{margin-left:auto;flex-shrink:0}
.mk.flaticon-map-marker .mg-art{width:19px;height:19px;stroke:#1b4935;stroke-width:2.5;background:#fffefa;border-radius:50%;padding:2px;filter:drop-shadow(0 1px 2px #09281726)}
/* Compact controls with safe touch targets and clean visual flow */
#main .modes{gap:8px!important}
#main .modes button{min-width:0;min-height:54px;max-width:100%;padding:10px 12px!important;border-radius:12px!important;overflow-wrap:anywhere}
#main .modes button small{display:block;font-size:12px;line-height:1.3;margin-top:4px}
#main .support-choice,.map-legend .ml-chip{border-radius:12px!important}
#pal .pbox{max-width:min(610px,calc(100vw - 28px));border-radius:19px;overflow:hidden}
#pal #pr{max-height:min(55vh,460px);overflow:auto;overscroll-behavior:contain}
#pal #pr li,#pal #pr a{min-width:0;overflow-wrap:anywhere}
@media(max-width:650px){#main .modes{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}#main .modes button{font-size:13px!important}#main .support-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}#pal .pbox{margin:12px auto!important} .leaflet-top.leaflet-right .map-legend{width:min(285px,calc(100vw - 94px))!important}.map-legend .ml-chip{font-size:12px!important}}
/* Crisp static star separator with five symmetrical points. */
.mq span::after{content:""!important;background-color:#b48a47!important;clip-path:polygon(50% 2%,63% 34%,98% 37%,72% 60%,80% 96%,50% 78%,20% 96%,28% 60%,2% 37%,37% 34%)!important;width:14px!important;height:14px!important;vertical-align:middle!important;opacity:.9}
/* Accordion utility affordances: restrained plus/minus, no ornamental transitions. */
#menu .menu-fold>summary::after{content:""!important;width:18px!important;height:18px!important;flex-shrink:0;background:linear-gradient(currentColor,currentColor) center/14px 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 14px no-repeat!important;border:0!important;transform:none!important;opacity:.85}
#menu .menu-fold[open]>summary::after{background:linear-gradient(currentColor,currentColor) center/14px 2px no-repeat!important}
#menu .menu-list-item[aria-current=page] .mg-art{width:17px;height:17px;color:#dfba78;stroke:#dfba78}

/* ==== menged-r48-consolidated ==== */
/* r48: final interface consolidation, keeps secondary controls quiet */
:root{--mg-green:#205840;--mg-gold:#b48a47;--mg-outline:#d7dfd6}
html,body{max-width:100%;overflow-x:clip}
#menu{box-sizing:border-box!important;width:min(410px,calc(100vw - 20px))!important;max-width:100vw!important;overscroll-behavior:contain!important}
#menu .menu-secondary{padding-inline:2px!important}
#menu .menu-fold summary{min-height:52px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;cursor:pointer!important}
#menu .menu-list-item{border:1px solid transparent!important;transition:background .18s ease,border-color .18s ease!important}
#menu .menu-list-item[aria-current=page]{border-color:rgba(230,198,134,.25)!important}
#menu .menu-list-item:focus-visible{outline:2px solid #e6bb76!important;outline-offset:1px!important}
#pal{padding:12px!important;box-sizing:border-box!important}
#pal .pbox{width:min(610px,100%)!important;max-height:min(84dvh,700px)!important;box-shadow:0 18px 70px #05180e40!important}
#pal .pin{padding:12px!important;gap:12px!important}
#pal #pq{font-size:clamp(15px,2vw,19px)!important;line-height:1.5!important}
#pal #pr{scrollbar-width:thin!important}
#pal #pr li{min-height:0!important}
#pal #pr li a{min-height:49px!important;display:flex!important;align-items:center!important;gap:12px!important;padding:12px!important}
#main input,#main select,#main textarea{max-width:100%;box-sizing:border-box}
#main input:focus-visible,#main select:focus-visible,#main textarea:focus-visible{outline:2px solid var(--mg-gold)!important;outline-offset:2px!important}
#main .modes button{white-space:normal!important;text-align:left!important;box-shadow:none!important}
#main .modes button.on{border-color:var(--mg-green)!important;background:#eaf0e9!important}
#main .step8{flex-shrink:0!important}
#main .step8 button,#main .pax-stepper .pax-btn{touch-action:manipulation!important;user-select:none!important}
#main .step8 button:active,#main .pax-stepper .pax-btn:active{transform:scale(.94)}
/* Mobile thumbnails: show a navigable rail with two+ choices simultaneously */
@media(max-width:650px){
.th .thumbs{position:relative!important;max-width:100vw!important;width:100%!important;display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity!important;scrollbar-width:thin!important;gap:8px!important;padding:9px 14px 14px!important;box-sizing:border-box!important}
.th .th-card{flex:0 0 min(38vw,172px)!important;width:min(38vw,172px)!important;min-width:110px!important;max-width:172px!important;scroll-snap-align:start!important;aspect-ratio:1.25!important;height:auto!important}
#main .modes{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
#main .modes button{padding:10px!important;min-height:58px!important}
#pal .pbox{margin:7dvh auto 0!important}
#menu{width:min(385px,calc(100vw - 18px))!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}.mg-art *{animation:none!important}}

/* ==== menged-r49-verified ==== */
/* r49 verified visual-interaction hardening. Deliberately original vector art, not Flaticon assets. */
:root{--mg49-forest:#173f30;--mg49-gold:#c0a06c;--mg49-silver:#edf1ed}
#menu,#pal,#sites{max-width:100vw;box-sizing:border-box}
#menu{overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain}
#menu .menu-fold summary{list-style:none;position:relative;padding-right:36px!important}
#menu .menu-fold summary::-webkit-details-marker{display:none}
#menu .menu-fold summary:after{content:'+';position:absolute;right:8px;top:50%;transform:translateY(-50%);font-family:Arial,sans-serif;font-size:25px;font-weight:400;line-height:1;color:#e4c792}
#menu .menu-fold[open] summary:after{content:'−'}
#menu .menu-list-item{display:flex;align-items:center;justify-content:space-between;min-height:54px;gap:12px;max-width:100%;box-sizing:border-box}
#menu .menu-list-item small{flex-shrink:0}
#menu .menu-list-item[aria-current=page]{background:rgba(220,194,139,.10)!important}
#menu .menu-list-item[aria-current=page] svg{color:#e6c48f;width:21px;height:21px}
#main .th .thumbs{touch-action:pan-x pan-y;scrollbar-gutter:stable;z-index:3}
#main .th .th-card{display:block;position:relative;cursor:pointer;color:#fff;border:1px solid rgba(255,255,255,.3);padding:0;background:#122c24;text-align:left;overflow:hidden}
#main .th .th-card:focus-visible{outline:3px solid #d8b67a!important;outline-offset:2px}
#main .th .th-card[aria-pressed=true]{border-color:#d8b67a;box-shadow:0 0 0 2px #d8b67a!important}
#main .th .th-card .th-name{position:absolute;z-index:2;color:#fff;text-shadow:0 1px 5px #000;pointer-events:none}
#main .th .th-card img{width:100%;height:100%;object-fit:cover}
#main .step8 button,#main .pax-stepper button{min-width:42px;min-height:42px;display:inline-flex;align-items:center;justify-content:center}
#main .pax-stepper input{text-align:center;min-width:45px;max-width:68px;font-variant-numeric:tabular-nums}
#main .qf-field,#main .f,#main .qf-date-time{min-width:0}
#main .modes{gap:8px!important;margin-bottom:18px}
#main .modes button{min-width:0;line-height:1.35;border-radius:12px}
#main .modes button small{font-size:12px;line-height:1.35;opacity:.78}
@media(max-width:650px){
 #main .th .thumbs{width:100%!important;max-width:100%!important;gap:9px!important;padding:10px 14px 16px!important;overflow-x:auto!important;scroll-padding-inline:14px!important;overscroll-behavior-x:contain}
 #main .th .th-card{flex:0 0 clamp(112px,39vw,164px)!important;width:clamp(112px,39vw,164px)!important;height:105px!important;min-width:0!important;aspect-ratio:auto!important}
 #main .th .th-card .th-name{font-size:14px!important}
 #main .modes{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 #main .tb{min-width:0;flex-wrap:wrap;gap:12px}
 #main .qf,#main .qf-date-time{min-width:0}
 #main .qf-field{overflow:hidden}
 #main .step8{white-space:nowrap}
 #menu{width:min(385px,calc(100vw - 16px))!important}
}
@media(max-width:360px){#main .th .th-card{flex-basis:42vw!important;width:42vw!important}#main .modes button{padding:9px!important}}
@media(prefers-reduced-motion:reduce){#main .th .thumbs{scroll-behavior:auto!important}}

/* ==== r52-mobile-ui ==== */
/* r52: compact, accessible mobile controls */
@media(max-width:680px){
 .modes{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .modes button{min-width:0!important;min-height:64px!important;padding:10px 11px!important;text-align:left!important;white-space:normal!important;line-height:1.3!important}
 .modes button small{display:block;font-size:12px;line-height:1.35;margin-top:4px}
 .tb{flex-wrap:wrap!important;gap:12px!important}.tb>div{max-width:100%;min-width:0}
 .step8,.pax-stepper{display:inline-flex;align-items:center;gap:0;border:1px solid #c9d3cd;border-radius:12px;overflow:hidden;background:#fff}
 .step8 button,.pax-btn{min-width:40px;min-height:42px;display:grid;place-items:center;flex:none;font-size:20px;line-height:1}
 .pax-stepper input{width:52px!important;min-width:0!important;text-align:center;border:0!important;box-shadow:none!important}
 .qf,.qw,.qf-date-time{min-width:0;max-width:100%}
 .qf-field{min-width:0}
 .gth{display:flex!important;overflow-x:auto;gap:8px;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:8px}
 .gth button{flex:0 0 100px;min-width:100px;scroll-snap-align:start}
 .menu-list-item{min-height:46px}
}
.modes button,.step8 button,.pax-btn,.menu-list-item{transition:background-color .18s ease,border-color .18s ease,transform .18s ease}
.modes button:focus-visible,.step8 button:focus-visible,.pax-btn:focus-visible,.menu-list-item:focus-visible{outline:2px solid #b18a37;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.modes button,.step8 button,.pax-btn,.menu-list-item{transition:none}}

/* ==== menged-r53 ==== */
/* MENGED r53 — final layer. Loaded last; supersedes earlier overrides. */
:root{--mg-forest:#174D37;--mg-forest-d:#0F3626;--mg-gold:#B7812D;--mg-gold-l:#E6C48F;--mg-silver:#C4CBC2}

/* ---------- Flaticon / Lottie shells ---------- */
.mg-flaticon-shell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;flex:none;vertical-align:middle}
.mg-flaticon-shell>.mg-art{width:100%;height:100%}
.mg-flaticon-shell .mg-flaticon-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:none!important;animation:none}
.mg-flaticon-shell .mg-lottie{position:absolute;inset:0;display:block;opacity:0;transition:opacity .25s}
.mg-flaticon-shell .mg-lottie svg{width:100%!important;height:100%!important;display:block}
.mg-flaticon-shell.mg-lottie-ready .mg-lottie{opacity:1}
.mg-flaticon-shell.mg-lottie-ready>.mg-art{visibility:hidden}
.group-service-icon .mg-flaticon-shell,.svc-ico .mg-flaticon-shell{width:100%;height:100%;min-width:38px;min-height:38px}
.mode-icon .mg-flaticon-shell,.step-icon .mg-flaticon-shell,.process-step-icon .mg-flaticon-shell,.trade-pain-icon .mg-flaticon-shell,.sc-icon .mg-flaticon-shell,.support-choice-icon .mg-flaticon-shell{width:40px;height:40px;max-width:100%}
.ml-chip .mg-flaticon-shell{width:26px;height:26px;margin:-3px 0}
#main .leaflet-marker-icon.mk.flaticon-map-marker{overflow:visible!important}
.mk .mg-flaticon-shell{width:24px;height:33px;margin-top:-4px}

/* ---------- star between rotating texts: Flaticon star 10966862 (gold PNG) ---------- */
html body .mq span::after{content:""!important;display:inline-block!important;width:24px!important;height:24px!important;margin-left:40px!important;vertical-align:middle!important;border-radius:0!important;clip-path:none!important;
  background:url("../assets/flaticon/10966862.png") center/contain no-repeat!important;-webkit-mask:none!important;mask:none!important}

/* ---------- navigation: expand / collapse / selected ---------- */
html body #menu .menu-fold>summary{position:relative;padding-right:40px!important}
html body #menu .menu-fold>summary::after{content:""!important;position:absolute!important;right:6px!important;top:50%!important;width:20px!important;height:20px!important;margin:-10px 0 0 0!important;transform:none!important;background:#E6C48F!important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4v16M4 12h16' stroke='%23000' stroke-width='2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4v16M4 12h16' stroke='%23000' stroke-width='2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center/contain no-repeat}
html body #menu .menu-fold[open]>summary::after{
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16' stroke='%23000' stroke-width='2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16' stroke='%23000' stroke-width='2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center/contain no-repeat}
html body #menu .menu-list{display:grid;gap:4px;padding:6px 0 10px}
html body #menu .menu-list-item{min-height:48px;padding:10px 12px;border-radius:12px;border:1px solid transparent;font-size:15px;letter-spacing:.005em}
html body #menu .menu-list-item[aria-current=page]{background:rgba(230,196,143,.12);border-color:rgba(230,196,143,.28);color:#F3DDB2}
html body #menu .menu-list-item small svg{width:22px;height:22px;color:var(--mg-gold-l);stroke:var(--mg-gold-l)}

/* ---------- search, language and form inputs ---------- */
html body #pal .pbox{border-radius:22px;box-shadow:0 30px 80px rgba(8,28,20,.32)}
html body #pal .pin{display:flex;align-items:center;gap:12px;padding:6px 8px 6px 18px;margin:14px;border:1.5px solid rgba(23,77,55,.22);border-radius:16px;background:#fff;transition:border-color .2s,box-shadow .2s}
html body #pal .pin:focus-within{border-color:var(--mg-forest);box-shadow:0 0 0 4px rgba(183,129,45,.22)}
html body #pal #pq{flex:1;min-width:0;border:0!important;outline:0!important;background:transparent!important;font-size:16px;min-height:46px}
html body #lg{border-radius:18px;padding:10px}
html body #lg button[role=option]{min-height:46px;border-radius:11px}
html body #main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){min-height:48px;border-radius:12px;border:1.5px solid #CBD5CB;background:#fff;font-size:16px;transition:border-color .2s,box-shadow .2s}
html body #main :is(input,select,textarea):focus{outline:0;border-color:var(--mg-forest);box-shadow:0 0 0 4px rgba(183,129,45,.22)}

/* ---------- passenger stepper (Cars + request form) ---------- */
.mg-pm{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;display:block}
html body #main .pax-stepper,html body .pax-stepper{display:inline-grid!important;width:max-content!important;justify-self:start;grid-template-columns:36px minmax(34px,44px) 36px;align-items:center;gap:2px!important;max-width:100%;padding:3px!important;border:1.5px solid #CBD5CB!important;border-radius:999px!important;background:#fff!important;overflow:visible}
html body #main .pax-stepper .pax-btn{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;background:#EAF0E9!important;color:var(--mg-forest)!important;display:grid!important;place-items:center!important;font-size:0!important;line-height:0}
@media (hover:hover){html body #main .pax-stepper .pax-btn:hover{background:var(--mg-forest)!important;color:#fff!important}}
html body #main .pax-stepper .pax-btn:focus-visible{outline:2px solid var(--mg-gold)!important;outline-offset:2px}
html body #main .pax-stepper input{width:100%!important;min-width:0!important;max-width:none!important;min-height:36px!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;text-align:center;font:600 16px/1 var(--sans);-moz-appearance:textfield;appearance:textfield}
html body #main .pax-stepper input::-webkit-inner-spin-button,html body #main .pax-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
html body #main label.f>.pax-stepper,html body #main label.qf-field>.pax-stepper{display:inline-grid!important;margin-top:8px}

/* ---------- Cars: trip profile, compact boxes ---------- */
html body #main .modes{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important}
html body #main .modes button{min-width:0!important;min-height:0!important;padding:10px 12px!important;border-radius:12px!important;font-size:14px!important;line-height:1.2!important;white-space:normal!important}
html body #main .modes button small{display:block;margin-top:3px!important;font-size:12px!important;line-height:1.25!important;opacity:.78}
@media(max-width:720px){
  html body #main .modes{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  html body #main .modes button{padding:8px 6px!important;font-size:12.5px!important;text-align:center!important;border-radius:10px!important;min-height:44px!important}
  html body #main .modes button small{font-size:12px!important;margin-top:2px!important}
}
@media(max-width:360px){html body #main .modes button small{display:none}}

/* ---------- Tours: destination thumbnails — always show every destination ---------- */
html body #main .th .thumbs{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important;flex-wrap:wrap!important;scroll-snap-type:none!important;width:100%!important;max-width:100%!important;margin:18px 0 0!important;padding:10px 14px 14px!important;box-sizing:border-box!important;perspective:none!important}
html body #main .th .thumbs .th-card{flex:none!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;aspect-ratio:4/3!important;border-radius:11px!important;transform:none!important;--raise:0px!important;opacity:.78}
html body #main .th .thumbs .th-card.on{opacity:1;box-shadow:0 0 0 2px var(--mg-gold)!important}@media (hover:hover){html body #main .th .thumbs .th-card:hover{opacity:1;box-shadow:0 0 0 2px var(--mg-gold)!important}}
html body #main .th .thumbs .th-card .th-name{font-size:clamp(12px,1.3vw,17px)!important;left:9px!important;right:6px!important;bottom:9px!important;line-height:1.1}
@media(max-width:900px){html body #main .th .thumbs{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  html body #main .th .thumbs .th-card{aspect-ratio:16/10!important}
  html body #main .th .thumbs .th-card .th-name{font-size:12px!important;left:7px!important;bottom:7px!important}}

@media(prefers-reduced-motion:reduce){.mg-flaticon-shell .mg-lottie{transition:none}}

/* Cars fleet stepper (.step8) — same look as .pax-stepper */
html body #main .step8{display:inline-grid!important;grid-template-columns:36px minmax(34px,44px) 36px;align-items:center;gap:2px!important;padding:3px!important;border:1.5px solid #CBD5CB!important;border-radius:999px!important;background:#fff!important;overflow:visible!important}
html body #main .step8 button{width:36px!important;height:36px!important;min-width:36px!important;padding:0!important;border-radius:50%!important;background:#EAF0E9!important;color:var(--mg-forest)!important;display:grid!important;place-items:center!important;font-size:0!important}
@media (hover:hover){html body #main .step8 button:hover{background:var(--mg-forest)!important;color:#fff!important}}
html body #main .step8 b{min-width:0!important;font:600 16px/1 var(--sans)}

/* Shell reset: older generic "span" rules (e.g. .sc span badges) must not restyle the icon shell */
html body .mg-flaticon-shell{position:relative!important;inset:auto!important;right:auto!important;top:auto!important;left:auto!important;bottom:auto!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important;padding:0!important;opacity:1!important}
html body .mg-flaticon-shell::before,html body .mg-flaticon-shell::after{display:none!important}

/* Bundled SVG stand-ins (icons still waiting for a Flaticon file) must stay readable on light tiles */
html body .mg-flaticon-shell:not(.mg-raster-ready)>.mg-art{color:#174D37;stroke:#174D37}

/* ==== menged-r54 ==== */
/* MENGED r54 — tile consistency + Support overlap fix. Loaded after r53. */

/* One tile style for every animated-icon chip: cream chip, forest line-work, thin gold edge.
   The recoloured WebPs for light surfaces are drawn for exactly this background, in every state
   (hover, selected, inside dark sections), so the icons never vanish or clash. */
html body #main :is(.mode-icon,.step-icon,.process-step-icon,.trade-pain-icon,.support-choice-icon,.sc-icon,.support-timeline-icon),
html body #main :is(.support-choice.on,.support-choice:hover,.step:hover,.trade-pain-card:hover,.mg>a:hover) :is(.step-icon,.trade-pain-icon,.support-choice-icon,.mode-icon){
  background:#F7F4EC!important;background-image:none!important;
  border:1px solid rgba(183,129,45,.38)!important;
  color:#174D37!important;box-shadow:0 1px 3px rgba(15,54,38,.14)!important}

/* Support "Choose a service": icon fills its chip instead of spilling over the label */
html body #main .support-choice-icon{width:36px!important;height:36px!important;min-width:36px!important;padding:3px;display:grid;place-items:center;border-radius:11px!important;overflow:hidden}
html body #main .support-choice-icon .mg-flaticon-shell,
html body #main .support-choice-icon .mg-art{width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:100%!important}
html body #main .support-choice{grid-template-columns:36px minmax(0,1fr) 20px!important;gap:9px!important;align-items:center}
@media(max-width:650px){
  html body #main .support-choice{grid-template-columns:34px minmax(0,1fr) 18px!important;gap:7px!important;padding:8px!important}
  html body #main .support-choice-icon{width:34px!important;height:34px!important;min-width:34px!important}
}

/* Business / Trade step chips: icon sits inside the chip with breathing room */
html body #main :is(.step-icon,.process-step-icon,.trade-pain-icon){overflow:hidden;padding:4px}
html body #main :is(.step-icon,.process-step-icon,.trade-pain-icon) .mg-flaticon-shell{width:100%!important;height:100%!important;min-width:0!important;min-height:0!important}
html body #main :is(.step-icon,.process-step-icon,.trade-pain-icon,.mode-icon) .mg-art{color:#174D37}

/* Support choice: keep long labels clear of the tick circle on narrow phones */
@media(max-width:650px){
  html body #main .support-choice{font-size:12px!important}
  html body #main .support-choice-mark{width:16px!important;height:16px!important}
  html body #main .support-choice-label{hyphens:auto;letter-spacing:-.005em}
}

/* ==== r55: final polish layer (forest-green system, hierarchy, calm motion, responsive boxes) ==== */
:root{--mg-forest:#174D37;--mg-forest-deep:#0F3626;--mg-gold:#B7812D;--mg-gold-soft:#E6CD97;--mg-cream:#F7F4EC;--mg-hair:rgba(23,77,55,.16);--mg-ease:cubic-bezier(.22,.8,.24,1)}
html{-webkit-text-size-adjust:100%}
img,svg,video{max-width:100%}
#main :is(.w,.two,.grid,.cards,.mg,.tg,.steps,.stats,.fc,.kp,.pr4,.steps4)>*{min-width:0}

/* ---------- Header controls ---------- */
html body #nav .nr :is(.lgb,.sbtn,.burger,.swb){transition:background-color .25s var(--mg-ease),border-color .25s var(--mg-ease),box-shadow .25s var(--mg-ease),transform .25s var(--mg-ease)}
@media (hover:hover){html body #nav .nr :is(.lgb,.sbtn,.burger,.swb):hover{border-color:var(--mg-forest);box-shadow:0 4px 14px rgba(15,54,38,.14)}}
html body #nav .nr :is(.lgb,.sbtn,.burger,.swb):active{transform:scale(.96)}
html body #nav .nr :is(.lgb,.sbtn,.burger,.swb,.btn):focus-visible{outline:2px solid var(--mg-gold);outline-offset:3px}
html body #nav #links a{position:relative;transition:color .25s var(--mg-ease)}
html body #nav #links a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--mg-gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--mg-ease)}
html body #nav #links a.on::after{transform:scaleX(1)}@media (hover:hover){html body #nav #links a:hover::after{transform:scaleX(1)}}

/* ---------- Mobile menu: Explore MENGED hierarchy ---------- */
html body #menu .menu-list{gap:0;padding:4px 0 14px}
html body #menu .menu-list-item{border-radius:12px;min-height:46px;transition:background-color .25s var(--mg-ease),box-shadow .25s var(--mg-ease),color .25s}
html body #menu .menu-list-item.is-group{font:600 15px/1.3 var(--sans);letter-spacing:.01em;padding:13px 14px;background:rgba(255,255,255,.09);color:#fff}
html body #menu .menu-subsites{position:relative;display:grid;gap:4px;margin:6px 0 0 16px;padding-left:18px}
html body #menu .menu-subsites::before{content:"";position:absolute;left:0;top:2px;bottom:24px;width:1.5px;background:linear-gradient(180deg,rgba(199,154,68,.85),rgba(199,154,68,.25));border-radius:2px}
html body #menu .menu-list-item.is-sub{position:relative;font:500 13px/1.3 var(--sans);padding:9px 12px;min-height:42px;background:rgba(255,255,255,.04);color:rgba(255,255,255,.9)}
html body #menu .menu-list-item.is-sub::before{content:"";position:absolute;left:-18px;top:50%;width:12px;height:1.5px;background:rgba(199,154,68,.7)}
html body #menu .menu-list-item:is(:hover,:focus-visible){background:rgba(255,255,255,.13)}
html body #menu .menu-list-item[aria-current=page]{background:rgba(199,154,68,.17);box-shadow:inset 0 0 0 1px rgba(199,154,68,.5);color:#fff}
html body #menu .menu-current{display:inline-flex;align-items:center;gap:5px;font:700 11px/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--mg-gold-soft)}
html body #menu .menu-current .ic,html body #menu .menu-current svg{width:13px;height:13px}
@media (hover:hover){html body #menu>a:hover .menu-label{color:var(--mg-gold-soft)}}

/* ---------- Explore MENGED panel (desktop dialog) ---------- */
html body #sites .sbx{width:min(800px,100%);border-radius:26px}
html body #sites .sbh{padding:18px 24px}
html body #sites .sbg{display:flex!important;flex-direction:column;gap:16px;padding:16px 18px 20px;grid-template-columns:none!important}
html body #sites .sbg a{transition:transform .35s var(--mg-ease),border-color .35s var(--mg-ease),box-shadow .35s var(--mg-ease),background-color .35s}
html body #sites .sb-group{display:flex!important;align-items:center;gap:16px;padding:20px 22px!important;border-radius:18px;background:linear-gradient(135deg,var(--mg-forest),var(--mg-forest-deep));border:0;color:#fff}
html body #sites .sb-group>.ic:first-child,html body #sites .sb-group>.mg-flaticon-shell{position:static!important;flex:none;width:48px;height:48px;padding:12px;margin:0;border-radius:14px;background:rgba(255,255,255,.12);color:var(--mg-gold-soft)}
html body #sites .sb-group h3{font:600 21px/1.15 var(--dsp);color:#fff}
html body #sites .sb-group p{color:rgba(255,255,255,.78);font-size:13px;margin-top:3px}
@media (hover:hover){html body #sites .sb-group:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(15,54,38,.55)}}
html body #sites .sb-subs{position:relative;margin-left:28px;padding-left:24px}
html body #sites .sb-subs::before{content:"";position:absolute;left:0;top:-16px;bottom:30px;width:1.5px;background:linear-gradient(180deg,var(--mg-gold),rgba(183,129,45,.2));border-radius:2px}
html body #sites .sb-sublabel{font:700 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin:0 0 10px}
html body #sites .sb-subgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
html body #sites .sb-sub{display:flex!important;gap:11px;align-items:flex-start;padding:13px 14px!important;border-radius:14px;min-width:0}
html body #sites .sb-sub>.ic:first-child,html body #sites .sb-sub>.mg-flaticon-shell{position:static!important;flex:none;width:32px;height:32px;padding:7px;margin:0;border-radius:10px;background:color-mix(in srgb,var(--c) 12%,transparent);color:var(--c)}
html body #sites .sb-sub h3{font:700 14px/1.25 var(--sans)}
html body #sites .sb-sub p{font-size:12px;line-height:1.45;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (hover:hover){html body #sites .sb-sub:hover{transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(15,54,38,.45)}}
html body #sites .sb-cur{display:none;margin-left:8px;padding:3px 7px;border-radius:99px;background:rgba(183,129,45,.16);color:#8a5f18;font:700 11px/1 var(--sans);font-style:normal;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle}
html body #sites .sb-group .sb-cur{background:rgba(255,255,255,.16);color:var(--mg-gold-soft)}
body[data-s=group] #sites [data-k=group] .sb-cur,body[data-s=tours] #sites [data-k=tours] .sb-cur,body[data-s=cars] #sites [data-k=cars] .sb-cur,body[data-s=support] #sites [data-k=support] .sb-cur,body[data-s=business] #sites [data-k=business] .sb-cur,body[data-s=trade] #sites [data-k=trade] .sb-cur{display:inline-block}
body #sites .sb-sub[aria-current=page]{border-color:var(--mg-gold);background:rgba(183,129,45,.07)}
@media(max-width:760px){html body #sites .sb-subgrid{grid-template-columns:repeat(2,minmax(0,1fr))}html body #sites .sb-subs{margin-left:18px;padding-left:16px}html body #sites .sb-group{padding:16px!important}}
@media(max-width:420px){html body #sites .sb-subgrid{grid-template-columns:minmax(0,1fr)}html body #sites .sb-group h3{font-size:18px}}

/* ---------- Search palette ---------- */
html body #pal{padding-top:min(12vh,96px)}
html body #pal .pbox{width:min(680px,100%);border-radius:22px;border:1px solid rgba(255,255,255,.14);box-shadow:0 40px 100px -24px rgba(5,25,16,.6)}
html body #pal .pin{display:flex;align-items:center;gap:12px;padding:6px 14px 6px 20px;border-bottom:1px solid var(--mg-hair);background:linear-gradient(180deg,rgba(23,77,55,.045),transparent)}
html body #pal .pin .ic,html body #pal .pin svg{flex:none;width:20px;height:20px;color:var(--mg-forest)}
html body #pal #pq{flex:1;min-width:0;height:58px;border:0!important;background:transparent!important;box-shadow:none!important;font:500 17px/1.3 var(--sans);color:var(--fg);outline:none}
html body #pal #pq::placeholder{color:var(--mut);opacity:.85}
html body #pal .pal-close{flex:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--mg-hair);display:grid;place-items:center;transition:background-color .2s,border-color .2s}
@media (hover:hover){html body #pal .pal-close:hover{background:rgba(23,77,55,.08);border-color:var(--mg-forest)}}
html body #pal #pr{max-height:min(56vh,430px);overflow:auto;overscroll-behavior:contain;padding:8px}
html body #pal #pr li a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:12px;min-height:48px;transition:background-color .18s,box-shadow .18s}
html body #pal #pr li a>span{font:600 15px/1.3 var(--sans);min-width:0;overflow-wrap:anywhere}
html body #pal #pr li a>small{flex:none;padding:4px 9px;border-radius:99px;background:rgba(23,77,55,.08);color:var(--mg-forest);font:600 12px/1 var(--sans);letter-spacing:.04em;white-space:nowrap}
html body #pal #pr li a:is(:hover,.sel){background:rgba(23,77,55,.08);box-shadow:inset 3px 0 0 var(--mg-gold)}
html body #pal #pr li.e{padding:26px 18px;text-align:center;color:var(--mut)}
@media(max-width:560px){html body #pal{padding:calc(10px + env(safe-area-inset-top)) 10px 0}html body #pal .pbox{border-radius:18px}html body #pal #pq{height:54px;font-size:16px}html body #pal #pr{max-height:calc(100dvh - 120px)}}

/* ---------- Inputs ---------- */
html body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not(#pq),select,textarea){border-radius:12px;border:1px solid rgba(23,77,55,.24);background-color:#fff;min-height:46px;accent-color:var(--mg-forest);transition:border-color .2s,box-shadow .2s,background-color .2s}
@media (hover:hover){html body :is(input,select,textarea):not(#pq):hover{border-color:rgba(23,77,55,.5)}}
html body :is(input:not(#pq),select,textarea):focus{outline:none;border-color:var(--mg-forest);box-shadow:0 0 0 3px rgba(23,77,55,.17)}
html body :is(input,select,textarea)::placeholder{color:#7a857e;opacity:1}
html body :is(button,a,summary,[role=button]):focus-visible{outline:2px solid var(--mg-gold);outline-offset:2px}
@media(max-width:680px){html body :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}}

/* ---------- Tours hero destination thumbnails (no more cramped vertical text) ---------- */
html body #main .th .thumbs{display:flex!important;flex-wrap:nowrap!important;gap:10px!important;width:100%!important;max-width:100%!important;margin:16px 0 0!important;padding:10px 16px 16px!important;box-sizing:border-box!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity!important;scroll-padding-inline:16px!important;scrollbar-width:none!important;overscroll-behavior-x:contain;perspective:none!important}
html body #main .th .thumbs::-webkit-scrollbar{display:none}
html body #main .th .thumbs .th-card{flex:0 0 clamp(140px,40vw,180px)!important;width:clamp(140px,40vw,180px)!important;min-width:0!important;max-width:none!important;height:auto!important;aspect-ratio:4/3!important;border-radius:14px!important;scroll-snap-align:start;transform:none!important;--raise:0px!important;opacity:.82;border:1px solid rgba(255,255,255,.28)!important;transition:opacity .4s var(--mg-ease),box-shadow .4s var(--mg-ease),border-color .4s!important}
html body #main .th .thumbs .th-card:is(.on,:hover,[aria-pressed=true]){opacity:1;border-color:var(--mg-gold-soft)!important;box-shadow:0 0 0 2px var(--mg-gold-soft),0 14px 28px -12px rgba(0,0,0,.6)!important}
html body #main .th .thumbs .th-card::after{background:linear-gradient(180deg,rgba(4,9,6,0) 35%,rgba(4,9,6,.82))!important}
html body #main .th .thumbs .th-card .th-name{left:11px!important;right:10px!important;bottom:10px!important;max-width:none!important;font:500 14px/1.2 var(--dsp)!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;text-wrap:balance;text-shadow:0 1px 8px rgba(0,0,0,.7)}
@media(min-width:1000px){html body #main .th .thumbs{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;overflow:visible!important;padding:12px 0 18px!important;gap:12px!important}html body #main .th .thumbs .th-card{width:auto!important;flex:none!important}html body #main .th .thumbs .th-card .th-name{font-size:clamp(14px,1.25vw,18px)!important}}

/* ---------- Calmer motion (Cars and everywhere) ---------- */
#main .svc-ico .sv-wheel{animation-duration:9s!important}
#main .svc-ico .sv-lens{animation-duration:8s!important}
#main .svc-ico .sv-pulse{animation-duration:7s!important}
#main .svc-ico .sv-set,#main .svc-ico .sv-sun{animation-duration:8.5s!important}
#main .svc-ico .sv-w1,#main .svc-ico .sv-w2{animation-duration:5.4s!important}
#main .svc-ico .sv-bar{animation-duration:7.5s!important}
#main .svc-ico .sv-arrow{animation-duration:7.5s!important}
#main .svc-ico .sv-rays{animation-duration:30s!important}
#main .svc-ico .sv-path{animation-duration:8s!important}
#main .group-service-icon .motion-fallback :is(.fallback-route,.fallback-wheel,.fallback-search-ring,.fallback-signal,.fallback-rise){animation-duration:6.5s!important}
.cmp-pop-add.is-lead .cmp-add-ring{animation-duration:3.6s!important}
html body main{animation-duration:1s!important}
html body [data-r]{transition-duration:1.15s!important;transition-timing-function:var(--mg-ease)!important}
html body.app-ready [data-r]:not(.in){transform:translateY(16px)}
html body[data-s=cars] #main :is(a,button,article,li,img,.chip,.card){transition-duration:.45s;transition-timing-function:var(--mg-ease)}
html body[data-s=cars] .mq div{animation-duration:90s!important}
html body .mq div{animation-duration:80s!important}
@media(prefers-reduced-motion:reduce){html body *{animation:none!important}}

/* ---------- Boxes: calm, consistent cards on phone / laptop ---------- */
#main :is(.card,.vc,.vcard,.dc,.sc,.tc,.step,.trade-pain-card,.support-choice,.mg>a){border-radius:18px}
@media(max-width:680px){
  #main .w{padding-inline:18px}
  #main :is(.two,.sh){gap:18px}
  #main .sh{flex-direction:column;align-items:flex-start}
  #main :is(.vg,.cards,.grid){grid-template-columns:minmax(0,1fr)!important}
}
@media(min-width:681px) and (max-width:1100px){#main :is(.vg,.cards){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:1101px){#main .vg{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------- Atlas: legend-as-pin system ---------- */
.mk,.mgcl-wrap{background:none!important;border:0!important}
.mgpin{position:relative;display:block;width:32px;height:40px;filter:drop-shadow(0 4px 5px rgba(8,30,20,.38));transition:transform .3s var(--mg-ease)}
.mgpin-body{position:absolute;left:1px;top:0;width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);transform-origin:50% 50%;background:var(--mg-cream);border:2.5px solid var(--pin,var(--mg-forest));display:grid;place-items:center;overflow:hidden;box-sizing:border-box;top:2px}
.mgpin-body::after{content:"";position:absolute;left:50%;bottom:-8px;width:6px;height:6px;border-radius:50%;background:var(--pin,var(--mg-forest));transform:translateX(-50%) rotate(45deg);display:none}
.mgpin-body img{width:21px;height:21px;object-fit:contain;transform:rotate(45deg);display:block;max-width:none}
.mgpin-places{--pin:#174D37}.mgpin-stays{--pin:#B7812D}.mgpin-coffee{--pin:#7A4A2B}.mgpin-landmarks{--pin:#2F7A63}
.mk:focus-visible .mgpin{transform:translateY(-3px) scale(1.12)}@media (hover:hover){.mk:hover .mgpin{transform:translateY(-3px) scale(1.12)}}
.mk:focus-visible{outline:none}.mk:focus-visible .mgpin-body{box-shadow:0 0 0 3px var(--mg-gold-soft)}
.mgpin-sm{width:26px;height:32px;flex:none;filter:drop-shadow(0 2px 3px rgba(8,30,20,.3))}
.mgpin-sm .mgpin-body{width:24px;height:24px;left:1px;top:2px;border-width:2px}
.mgpin-sm .mgpin-body img{width:16px;height:16px}
.mgcl{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--pin,var(--mg-forest));color:#fff;border:3px solid var(--mg-cream);box-shadow:0 4px 12px rgba(8,30,20,.4);font:700 13px/1 var(--sans)}
.mgcl b{font-weight:700}
.mgcl-places{--pin:#174D37}.mgcl-stays{--pin:#B7812D}.mgcl-coffee{--pin:#7A4A2B}.mgcl-landmarks{--pin:#2F7A63}
.leaflet-top.leaflet-right .map-legend{display:flex!important;flex-direction:column;gap:2px;padding:8px!important;min-width:158px;border-radius:16px!important;background:rgba(255,254,250,.95)!important}
.map-legend .ml-title{font:700 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);padding:4px 8px 6px}
.map-legend .ml-chip{display:flex!important;align-items:center;gap:10px!important;padding:5px 9px 5px 6px!important;min-height:38px;border-radius:11px!important}
.map-legend .ml-chip .ml-label{display:block;font:600 12.5px/1.2 var(--sans);color:var(--fg);white-space:nowrap}
.map-legend .ml-chip:not(.is-on){opacity:.45}
.map-legend .ml-chip:not(.is-on) .mgpin{filter:grayscale(1)}
@media(max-width:640px){.leaflet-top.leaflet-right .map-legend{min-width:0;padding:5px!important;width:auto!important}.map-legend .ml-title{display:none}.map-legend .ml-chip{min-height:34px;gap:7px!important}.map-legend .ml-chip .ml-label{font-size:12px}}
.leaflet-container{font-family:var(--sans)}
.leaflet-popup-content-wrapper{border-radius:14px}

/* ---------- r55 fixes after visual check ---------- */
html body #sites .sb-sub h3{font:700 14px/1.25 var(--sans)!important;letter-spacing:0!important}
html body #sites .sb-group h3{font:600 21px/1.15 var(--dsp)!important}
html body #sites .sb-sub>div,html body #sites .sb-group>div{min-width:0}
html body #pal .pin,html body #pal .pin:focus-within{outline:0!important;box-shadow:none!important;border:0!important;border-bottom:1px solid var(--mg-hair)!important;border-radius:0!important;background:linear-gradient(180deg,rgba(23,77,55,.05),transparent)!important;min-height:64px}
html body #pal .pbox{border-radius:22px!important}
.map-legend .ml-chip{justify-content:flex-start!important;text-align:left}
.map-legend .ml-chip .ml-label{flex:1;text-align:left}

/* Atlas clusters remain category-led; never replace pins with numeric badges. */
.mgcl{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;padding:0!important;border-radius:50%!important;background:rgba(255,254,250,.98)!important;color:inherit!important;border:2px solid var(--pin,#174d37)!important;box-shadow:0 0 0 3px rgba(255,254,250,.82),0 5px 13px rgba(8,30,20,.26)!important;overflow:visible!important;}
.mgcl .mgpin{width:26px!important;height:32px!important;filter:none!important;transform:none!important;display:block!important;}
.mgcl .mgpin-body{width:24px!important;height:24px!important;left:1px!important;top:2px!important;border-width:2px!important;}
.mgcl .mgpin-body img{width:16px!important;height:16px!important;}
.mgcl-wrap{background:transparent!important;border:0!important;}
/* ===== r57 world-class polish: considered icon placement, interaction and itinerary design ===== */
/* Featured Ethiopia card: the animated emblem now belongs to the headline, never floats over copy. */
#main .group-service-feature .group-service-content{padding:0!important;max-width:100%;}
#main .group-feature-heading{display:grid;grid-template-columns:clamp(48px,5.2vw,66px) minmax(0,1fr);gap:clamp(12px,1.8vw,20px);align-items:center;max-width:100%;margin:0 0 14px;}
#main .group-service-feature .group-feature-heading h3{max-width:15ch!important;min-width:0;margin:0!important;font-size:clamp(31px,3.45vw,49px)!important;line-height:1.02!important;letter-spacing:-.04em!important;text-wrap:balance;}
#main .group-feature-heading .group-feature-icon.svc-ico{position:relative!important;inset:auto!important;z-index:1;align-self:center;flex:none;width:clamp(48px,5.2vw,66px)!important;height:clamp(48px,5.2vw,66px)!important;min-width:0!important;min-height:0!important;margin:0!important;padding:9px;border-radius:16px!important;background:rgba(255,254,249,.95)!important;border:1px solid rgba(255,255,255,.8)!important;box-shadow:0 8px 25px rgba(4,22,14,.18)!important;color:#174d37!important;transform:none;transition:transform .28s ease,background .28s ease,color .28s ease,border-color .28s ease,box-shadow .28s ease;}
#main .group-feature-heading .group-feature-icon .mg-flaticon-shell{width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;}
#main .group-feature-heading .group-feature-icon .mg-art{width:100%!important;height:100%!important;}
#main .group-service-feature .group-service-content>p{max-width:56ch!important;font-size:clamp(13px,1.15vw,15px)!important;line-height:1.75!important;color:rgba(255,255,255,.9)!important;}
#main .group-service-feature .group-service-cta{margin-top:15px!important;min-height:42px;display:inline-flex;align-items:center;gap:9px;padding:9px 0 5px;border-bottom:1px solid rgba(255,255,255,.66);font-size:12px;font-weight:700;letter-spacing:.015em;transition:color .24s,border-color .24s,transform .24s;}
#main .group-service-feature:is(:hover,:focus-visible,:active) .group-feature-heading .group-feature-icon{background:linear-gradient(145deg,#174d37,#2e7354)!important;border-color:rgba(255,255,255,.7)!important;color:#fff!important;transform:translateY(-2px) scale(1.035)!important;box-shadow:0 12px 25px rgba(3,24,14,.35)!important;}
#main .group-service-feature:is(:hover,:focus-visible,:active) .group-feature-heading .group-feature-icon .mg-art{color:#fff!important;stroke:#fff!important;}
#main .group-service-feature:is(:hover,:focus-visible,:active) .group-feature-heading .group-feature-icon .mg-flaticon-img{filter:brightness(0) invert(1)!important;}
#main .group-service-feature:is(:hover,:focus-visible) .group-service-cta{color:#d9f1df!important;border-color:#d9f1df!important;}
@media(max-width:760px){
 #main .group-service-feature{min-height:410px!important;padding:21px!important;}
 #main .group-feature-heading{grid-template-columns:46px minmax(0,1fr);gap:12px;margin-bottom:12px;align-items:start;}
 #main .group-feature-heading .group-feature-icon.svc-ico{width:46px!important;height:46px!important;padding:7px;border-radius:13px!important;}
 #main .group-service-feature .group-feature-heading h3{font-size:clamp(28px,7.8vw,37px)!important;line-height:1.04!important;max-width:none!important;}
 #main .group-service-feature .group-service-content>p{font-size:13px!important;line-height:1.62!important;max-width:44ch!important;}
}
@media(max-width:390px){#main .group-service-feature{min-height:400px!important;padding:18px!important}#main .group-feature-heading{grid-template-columns:42px minmax(0,1fr);gap:10px}#main .group-feature-heading .group-feature-icon.svc-ico{width:42px!important;height:42px!important;padding:6px}#main .group-service-feature .group-feature-heading h3{font-size:clamp(27px,7.7vw,32px)!important}}

/* Keep icon tiles consistent even when a Flaticon image contains a white matte. */
#main .trade-pain-grid .trade-pain-card{background:var(--st-paper,#fffefa)!important;border:1px solid var(--st-hair,rgba(29,73,56,.14))!important;box-shadow:var(--st-sh1,0 8px 24px rgba(20,32,26,.05))!important;}
#main .trade-pain-grid .trade-pain-icon{display:grid!important;place-items:center!important;flex:none;width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;padding:5px!important;border-radius:14px!important;background:#f1f0e6!important;background-image:none!important;border:1px solid rgba(29,73,56,.15)!important;color:#174d37!important;overflow:hidden!important;}
#main .trade-pain-grid .trade-pain-icon .mg-flaticon-shell{width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;background:transparent!important;}
#main .trade-pain-grid .trade-pain-icon .mg-flaticon-img{background:transparent!important;mix-blend-mode:multiply;}
#main .trade-pain-grid .trade-pain-icon .mg-art{background:transparent!important;color:#174d37!important;stroke:#174d37!important;}
#main .trade-pain-card:is(:hover,:focus-visible,:active) .trade-pain-icon{background:linear-gradient(145deg,#174d37,#2c6b4e)!important;border-color:#174d37!important;color:#fff!important;}
#main .trade-pain-card:is(:hover,:focus-visible,:active) .trade-pain-icon .mg-art{color:#fff!important;stroke:#fff!important;}
#main .trade-pain-card:is(:hover,:focus-visible,:active) .trade-pain-icon .mg-flaticon-img{filter:brightness(0) invert(1)!important;mix-blend-mode:normal!important;}

/* Consistent forest-green feedback on actionable cards, including touch press and keyboard focus. */
#main :is(.group-service,.trade-pain-card,.sc,.support-choice,.step,.contact-method,.group-outcome-row,.mg>a):is(:hover,:focus-visible,:active) :is(.group-service-icon,.trade-pain-icon,.sc-icon,.support-choice-icon,.process-step-icon,.step-icon,.mode-icon,.contact-method-icon){border-color:rgba(23,77,55,.62)!important;}
#main :is(.group-service,.trade-pain-card,.sc,.support-choice,.step,.contact-method,.mg>a):active :is(.group-service-icon,.trade-pain-icon,.sc-icon,.support-choice-icon,.process-step-icon,.step-icon,.mode-icon,.contact-method-icon){background:linear-gradient(145deg,#174d37,#2e7354)!important;color:#fff!important;transform:translateY(-1px) scale(1.015);}
#main :is(.group-service,.trade-pain-card,.sc,.support-choice,.step,.contact-method,.mg>a):active :is(.group-service-icon,.trade-pain-icon,.sc-icon,.support-choice-icon,.process-step-icon,.step-icon,.mode-icon,.contact-method-icon) .mg-art{color:#fff!important;stroke:#fff!important;}
#main :is(.btn,.chip,.ml-chip,.swb,.sbtn):is(:hover,:focus-visible){border-color:#245d42!important;}
#main .group-service-feature:focus-visible{outline:3px solid #cde7d3!important;outline-offset:4px!important;}

/* The icons in neighbouring specialty cards draw attention in a quiet, staggered sequence. */
@keyframes mg-icon-sequence-nudge{0%,8%,100%{transform:translateY(0)}2.5%,5.5%{transform:translateY(-2px)}}
@media(prefers-reduced-motion:no-preference){
 #main :is(.group-service-mosaic,.trade-pain-grid,.sg,.support-choice-grid,.pr4) > :nth-child(n) :is(.group-service-icon,.trade-pain-icon,.sc-icon,.support-choice-icon,.process-step-icon){animation:mg-icon-sequence-nudge 8.4s ease-in-out infinite;animation-delay:calc(var(--mg-icon-order,0)*.72s);}
 #main :is(.group-service-mosaic,.trade-pain-grid,.sg,.support-choice-grid,.pr4) > :nth-child(1) :is(.group-service-icon,.trade-pain-icon,.sc-icon,.support-choice-icon,.process-step-icon){--mg-icon-order:0}
 #main :is(.group-service-mosaic,.trade-pain-grid,.sg,.support-choice-grid,.pr4) > :nth-child(2) :is(.group-service-icon,.trade-pain-icon,.sc-icon,.support-choice-icon,.process-step-icon){--mg-icon-order:1}
 #main :is(.group-service-mosaic,.trade-pain-grid,.sg,.support-choice-grid,.pr4) > :nth-child(3) :is(.group-service-icon,.trade-pain-icon,.sc-icon,.support-choice-icon,.process-step-icon){--mg-icon-order:2}
 #main :is(.group-service-mosaic,.trade-pain-grid,.sg,.support-choice-grid,.pr4) > :nth-child(4) :is(.group-service-icon,.trade-pain-icon,.sc-icon,.support-choice-icon,.process-step-icon){--mg-icon-order:3}
 #main :is(.group-service-mosaic,.trade-pain-grid,.sg,.support-choice-grid,.pr4) > :nth-child(5) :is(.group-service-icon,.trade-pain-icon,.sc-icon,.support-choice-icon,.process-step-icon){--mg-icon-order:4}
 #main :is(.group-service,.trade-pain-card,.sc,.support-choice,.step,.contact-method,.mg>a):is(:hover,:focus-visible,:active) :is(.group-service-icon,.trade-pain-icon,.sc-icon,.support-choice-icon,.process-step-icon){animation-play-state:paused}
}

/* Journey builder — responsive planning canvas and readable editorial itinerary cards. */
#main .plan-builder-layout{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(280px,.78fr);align-items:start;gap:22px;padding-bottom:28px;}
#main .plan-builder-controls{min-width:0;padding:clamp(18px,2.6vw,30px);border:1px solid var(--st-hair,rgba(29,73,56,.14));border-radius:23px;background:var(--st-paper,#fffefa);box-shadow:var(--st-sh1,0 10px 30px rgba(20,32,26,.05));}
#main .plan-builder-title{margin:0 0 22px;}
#main .plan-builder-title h2{max-width:16ch;margin:7px 0 9px;font-size:clamp(25px,3vw,35px)!important;line-height:1.08!important;}
#main .plan-builder-title p{max-width:58ch;font-size:13px;line-height:1.65;color:var(--mut);margin:0;}
#main .plan-eyebrow,#main .plan-section-kicker{display:block;color:#48715a;font:750 11px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;}
#main .plan-builder-controls .fld{display:block;margin:0 0 16px;}
#main .plan-builder-controls input,#main .plan-builder-controls select{width:100%;min-height:47px;border-radius:10px!important;border:1px solid var(--st-hair,rgba(29,73,56,.18))!important;background:#fffefa!important;color:#18231d!important;padding:11px 13px!important;font:500 13px/1.4 var(--sans)!important;box-shadow:0 1px 2px rgba(18,35,25,.03);}
#main .plan-builder-controls input:focus,#main .plan-builder-controls select:focus{outline:2px solid rgba(41,103,72,.25)!important;border-color:#397753!important;}
#main .plan-preferences{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 22px;}
#main .plan-preferences .f{min-width:0;display:flex;flex-direction:column;gap:7px;color:#435147;font-size:12px;font-weight:700;}
#main .plan-picker-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:2px 0 12px;}
#main .plan-picker-heading b{font-size:13px;}
#main .plan-picker-heading span{font-size:12px;color:var(--mut);}
#main #pch{display:flex;flex-wrap:wrap;gap:7px;max-height:260px;overflow:auto;overscroll-behavior:contain;padding:2px 3px 9px 0;scrollbar-width:thin;}
#main #pch .chip{max-width:100%;min-height:35px;padding:7px 11px!important;border-radius:999px!important;background:#f6f4ed!important;color:#435147!important;border:1px solid rgba(29,73,56,.13)!important;font:600 12px/1.3 var(--sans)!important;white-space:normal;text-align:left;transition:background .2s,color .2s,border-color .2s,transform .2s;}
#main #pch .chip:is(:hover,:focus-visible){background:#e9f0e9!important;border-color:#659477!important;color:#174d37!important;}
#main #pch .chip.on{background:#174d37!important;border-color:#174d37!important;color:#fff!important;box-shadow:0 3px 9px rgba(23,77,55,.16);}
#main .plan-helper{margin:14px 0 0;font-size:12px;line-height:1.65;color:var(--mut);}
#main .plan-summary{position:sticky;top:96px;min-width:0;padding:clamp(20px,2.6vw,28px);border-radius:23px;background:linear-gradient(150deg,#174d37,#0f3626);color:#fff;box-shadow:0 14px 35px rgba(15,54,38,.18);}
#main .plan-summary .plan-eyebrow{color:#e6cd97;}
#main .plan-summary-top h3{font-size:clamp(23px,2.4vw,31px)!important;line-height:1.12!important;letter-spacing:-.035em!important;margin:8px 0 8px;color:#fff;}
#main .plan-summary-top p{font-size:12px;color:rgba(255,255,255,.74);margin:0;line-height:1.55;}
#main .plan-summary-stops{border-top:1px solid rgba(255,255,255,.18);margin-top:20px;padding-top:17px;}
#main .plan-summary-stops>b{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#e6cd97;}
#main .plan-summary-stops ol{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:0;}
#main .plan-summary-stops li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:12px;}
#main .plan-summary-stops li span{min-width:0;overflow-wrap:anywhere;font-weight:600;}
#main .plan-summary-stops li small{color:rgba(255,255,255,.7);font-size:12px;}
#main .plan-summary-stops .plan-stop-remove{position:static;grid-column:2;grid-row:2;transform:none;border-color:rgba(255,255,255,.22);color:#fff;background:rgba(255,255,255,.06);}
@media (hover:hover){#main .plan-summary-stops .plan-stop-remove:hover{background:rgba(255,255,255,.14);}}
#main .plan-summary-note{margin:17px 0 0;color:rgba(255,255,255,.72);font-size:12px;line-height:1.65;}
#main .plan-summary-action{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:20px!important;min-height:46px;}
#main .plan-summary-empty{min-height:250px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;}
#main .plan-summary-empty h3{color:#fff;font-size:24px!important;margin:14px 0 8px;}
#main .plan-summary-empty p{color:rgba(255,255,255,.73);font-size:12px;line-height:1.7;margin:0;}
#main .plan-summary-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:13px;border:1px solid rgba(230,205,151,.36);border-radius:13px;background:rgba(255,255,255,.08);color:#e6cd97;}
#main .plan-summary-icon .ic{width:22px;height:22px;}
#main .plan-itinerary-section{padding-bottom:70px;}
#main .plan-empty-state{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px 20px;border:1px dashed rgba(29,73,56,.23);border-radius:22px;background:rgba(255,254,250,.46);}
#main .plan-empty-art{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:#e8eee5;color:#174d37;margin-bottom:15px;}
#main .plan-empty-art .ic{width:28px;height:28px;}
#main .plan-empty-state h2{max-width:unset;font-size:clamp(28px,3.2vw,40px)!important;margin:7px 0 9px;}
#main .plan-empty-state p{max-width:53ch;margin:0;color:var(--mut);font-size:13px;}
#main .plan-itinerary-header{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin:18px 0 22px;}
#main .plan-itinerary-header h2{max-width:17ch;margin:8px 0 10px;font-size:clamp(32px,4vw,48px)!important;}
#main .plan-itinerary-header p{max-width:66ch;margin:0;color:var(--mut);font-size:13px;line-height:1.72;}
#main .plan-itinerary-stats{flex:none;min-width:130px;display:flex;flex-direction:column;align-items:flex-end;padding:0 0 4px;}
#main .plan-itinerary-stats>b{font:500 42px/1 var(--dsp);letter-spacing:-.05em;color:#174d37;}
#main .plan-itinerary-stats>span{font-size:12px;font-weight:700;color:#174d37;}
#main .plan-itinerary-stats>small{font-size:12px;color:var(--mut);margin-top:5px;}
#main .plan-destinations-list{display:grid;gap:22px;}
#main .plan-destination-card{overflow:hidden;border:1px solid var(--st-hair,rgba(29,73,56,.15));border-radius:24px;background:#fffefa;box-shadow:var(--st-sh1,0 10px 30px rgba(20,32,26,.05));min-width:0;}
#main .plan-destination-hero{position:relative;min-height:250px;aspect-ratio:16/5.5;overflow:hidden;background:#d9e0d5;}
#main .plan-destination-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;transition:transform .7s ease;}
@media (hover:hover){#main .plan-destination-card:hover .plan-destination-hero>img{transform:scale(1.025);}}
#main .plan-destination-image-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,24,16,.77),rgba(7,24,16,.3) 60%,rgba(7,24,16,.06)),linear-gradient(0deg,rgba(7,24,16,.42),transparent 55%);}
#main .plan-destination-image-copy{position:absolute;left:clamp(19px,4vw,40px);right:clamp(19px,4vw,40px);bottom:clamp(22px,3vw,32px);color:#fff;max-width:800px;}
#main .plan-destination-image-copy>span{display:block;margin-bottom:9px;color:#f4dfb0;font:750 11px/1.4 var(--sans);letter-spacing:.13em;text-transform:uppercase;}
#main .plan-destination-image-copy h2{color:#fff;max-width:20ch;margin:0;font-size:clamp(30px,4.6vw,54px)!important;line-height:1.04!important;letter-spacing:-.045em!important;}
#main .plan-destination-body{padding:clamp(18px,3.3vw,34px);}
#main .plan-overview{margin:8px 0 0;max-width:86ch;color:#3f4c43;font-size:14px;line-height:1.85;}
#main .plan-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0 30px;}
#main .plan-facts>span{display:flex;flex-direction:column;gap:6px;min-width:0;padding:14px 15px;background:#f5f3eb;border:1px solid rgba(29,73,56,.1);border-radius:13px;}
#main .plan-facts small{font-size:12px;letter-spacing:.03em;color:#68776b;}
#main .plan-facts b{font-size:12px;line-height:1.45;color:#183d2d;}
#main .plan-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:30px 0 15px;}
#main .plan-section-heading h3{margin:5px 0 0;font-size:clamp(22px,2.6vw,30px)!important;line-height:1.12!important;}
#main .plan-section-heading>a{display:inline-flex;align-items:center;gap:7px;flex:none;font-size:12px;font-weight:700;color:#245d42;border-bottom:1px solid rgba(36,93,66,.3);padding:5px 0;}
@media (hover:hover){#main .plan-section-heading>a:hover{color:#0f3626;border-color:#0f3626;}}
#main .plan-section-heading>a .ic{width:13px;height:13px;}
#main .plan-highlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
#main .plan-highlight-group{min-width:0;padding:17px 18px;border:1px solid rgba(29,73,56,.12);border-radius:15px;background:#f8f6ef;}
#main .plan-highlight-group h5{margin:0 0 10px;font:700 12px/1.35 var(--sans);letter-spacing:0;color:#174d37;}
#main .plan-highlight-group ul,#main .plan-day-content ul{margin:0;padding:0 0 0 17px;display:grid;gap:8px;}
#main .plan-highlight-group li,#main .plan-day-content li{padding-left:2px;color:#4b574f;font-size:12px;line-height:1.7;}
#main .plan-highlight-group li::marker,#main .plan-day-content li::marker{color:#568467;}
#main .plan-day-heading{margin-top:35px;}
#main .plan-day-list{display:grid;gap:0;border-top:1px solid rgba(29,73,56,.13);}
#main .plan-day-card{display:grid;grid-template-columns:104px minmax(0,1fr);gap:20px;padding:21px 0;border-bottom:1px solid rgba(29,73,56,.13);}
#main .plan-day-index{display:flex;align-items:flex-start;gap:9px;padding-top:4px;color:#245d42;}
#main .plan-day-index span{font:750 11px/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;}
#main .plan-day-index i{display:block;width:6px;height:6px;margin-top:3px;border-radius:50%;background:#b7812d;box-shadow:0 0 0 4px rgba(183,129,45,.12);}
#main .plan-day-content{min-width:0;}
#main .plan-day-content h5{margin:0 0 10px;color:#1c3829;font:650 16px/1.4 var(--sans);letter-spacing:-.01em;}
#main .plan-day-content p{font-size:12px;line-height:1.65;color:#6a756b;margin:10px 0 0;}
#main .plan-practical{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px;padding:18px;border-radius:16px;background:#eef1e9;border:1px solid rgba(29,73,56,.1);}
#main .plan-practical>.plan-section-kicker{grid-column:1/-1;margin-bottom:0;}
#main .plan-practical>div b{font-size:12px;color:#244a35;}
#main .plan-practical>div p{font-size:12px;line-height:1.7;color:#4e5b50;margin:5px 0 0;}
#main .plan-custom-section{margin-top:25px;}
#main .plan-custom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;}
#main .plan-custom-card{position:relative;min-width:0;padding:19px 19px 64px;border:1px solid var(--st-hair,rgba(29,73,56,.15));border-radius:17px;background:#fffefa;}
#main .plan-custom-card h3{margin:7px 0;font-size:22px!important;}
#main .plan-custom-card p{margin:0;color:var(--mut);font-size:12px;line-height:1.7;}
#main .plan-custom-card .plan-stop-remove{top:auto;bottom:15px;transform:none;right:17px;}
#main .plan-final-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px;padding:clamp(22px,3.5vw,34px);border-radius:22px;background:linear-gradient(135deg,#183f2e,#0f3626);color:#fff;}
#main .plan-final-cta .plan-eyebrow{color:#e6cd97;}
#main .plan-final-cta h3{margin:7px 0 8px;color:#fff;font-size:clamp(24px,3vw,34px)!important;}
#main .plan-final-cta p{max-width:60ch;margin:0;color:rgba(255,255,255,.74);font-size:12px;line-height:1.7;}
#main .plan-final-cta .btn{flex:none;min-width:180px;display:flex;align-items:center;justify-content:center;gap:9px;}
@media(max-width:900px){#main .plan-builder-layout{grid-template-columns:minmax(0,1fr);gap:14px}#main .plan-summary{position:relative;top:auto}#main .plan-summary-empty{min-height:0}#main .plan-destination-hero{aspect-ratio:16/7;min-height:220px}}
@media(max-width:640px){
 #main .plan-builder-controls{padding:17px;border-radius:18px}
 #main .plan-preferences{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:17px}
 #main #pch{max-height:230px;gap:6px}
 #main #pch .chip{font-size:12px!important;padding:7px 9px!important}
 #main .plan-itinerary-header{align-items:flex-start;gap:12px;margin-top:8px}
 #main .plan-itinerary-header h2{font-size:30px!important;}
 #main .plan-itinerary-stats{min-width:80px;padding-top:4px}
 #main .plan-itinerary-stats>b{font-size:32px}
 #main .plan-itinerary-stats>span{font-size:12px;text-align:right}
 #main .plan-itinerary-stats>small{text-align:right;font-size:12px}
 #main .plan-destination-card{border-radius:17px}
 #main .plan-destination-hero{min-height:220px;aspect-ratio:4/3}
 #main .plan-destination-image-copy h2{font-size:clamp(28px,7.5vw,38px)!important}
 #main .plan-destination-body{padding:17px}
 #main .plan-overview{font-size:13px;line-height:1.75}
 #main .plan-facts{grid-template-columns:minmax(0,1fr);gap:7px;margin:18px 0 23px}
 #main .plan-facts>span{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;padding:10px 12px}
 #main .plan-highlight-grid{grid-template-columns:minmax(0,1fr);}
 #main .plan-highlight-group{padding:14px}
 #main .plan-section-heading{align-items:flex-start;flex-direction:column;gap:8px}
 #main .plan-day-card{grid-template-columns:64px minmax(0,1fr);gap:9px;padding:17px 0}
 #main .plan-day-index{gap:5px}
 #main .plan-day-index span{font-size:12px;letter-spacing:0}
 #main .plan-day-content h5{font-size:14px}
 #main .plan-day-content li{font-size:12px}
 #main .plan-practical{grid-template-columns:minmax(0,1fr);padding:14px}
 #main .plan-custom-grid{grid-template-columns:minmax(0,1fr)}
 #main .plan-final-cta{align-items:stretch;flex-direction:column;border-radius:17px;padding:20px;gap:15px}
 #main .plan-final-cta .btn{width:100%;}
}
@media(prefers-reduced-motion:reduce){#main .plan-destination-hero>img{transition:none!important}@media (hover:hover){#main .plan-destination-card:hover .plan-destination-hero>img{transform:none!important}}#main :is(.group-service-icon,.trade-pain-icon,.sc-icon,.support-choice-icon,.process-step-icon){animation:none!important}}

/* r57 interaction refinement: green feedback is consistent, while animated artwork keeps its contrast. */
#main :is(.group-service,.step,.contact-method,.group-outcome-row,.mg>a):is(:hover,:focus-visible,:active){border-color:rgba(23,77,55,.55)!important;}
#main :is(.group-service,.step,.contact-method,.mg>a):is(:hover,:focus-visible,:active) :is(.group-service-icon,.step-icon,.process-step-icon,.contact-method-icon,.mode-icon){background:linear-gradient(145deg,#174d37,#2e7354)!important;border-color:#174d37!important;color:#fff!important;transform:translateY(-2px) scale(1.025)!important;box-shadow:0 8px 18px rgba(23,77,55,.18)!important;}
#main :is(.group-service,.step,.contact-method,.mg>a):is(:hover,:focus-visible,:active) :is(.group-service-icon,.step-icon,.process-step-icon,.contact-method-icon,.mode-icon) .mg-art{color:#fff!important;stroke:#fff!important;}
#main :is(.group-service,.step,.contact-method,.mg>a):is(:hover,:focus-visible,:active) :is(.group-service-icon,.step-icon,.process-step-icon,.contact-method-icon,.mode-icon) .mg-flaticon-img{filter:brightness(0) invert(1)!important;mix-blend-mode:normal!important;}
/* Cards using animated GIFs with a possible white matte keep a pale-green icon surface on interaction. */
#main :is(.trade-pain-card,.sc,.support-choice):is(:hover,:focus-visible,:active){border-color:rgba(23,77,55,.48)!important;box-shadow:0 12px 28px rgba(23,77,55,.1)!important;}
#main :is(.trade-pain-card,.sc,.support-choice):is(:hover,:focus-visible,:active) :is(.trade-pain-icon,.sc-icon,.support-choice-icon){background:#e4ede3!important;background-image:none!important;border-color:#4e7e5e!important;color:#174d37!important;transform:translateY(-1px) scale(1.025)!important;box-shadow:0 5px 13px rgba(23,77,55,.1)!important;}
#main :is(.trade-pain-card,.sc,.support-choice):is(:hover,:focus-visible,:active) :is(.trade-pain-icon,.sc-icon,.support-choice-icon) .mg-art{color:#174d37!important;stroke:#174d37!important;}
#main :is(.trade-pain-card,.sc,.support-choice):is(:hover,:focus-visible,:active) :is(.trade-pain-icon,.sc-icon,.support-choice-icon) .mg-flaticon-img{filter:none!important;mix-blend-mode:multiply!important;}
#main :is(.group-service-mosaic,.trade-pain-grid,.sg,.support-choice-grid,.pr4) > :is(:hover,:focus-visible,:active) :is(.group-service-icon,.trade-pain-icon,.sc-icon,.support-choice-icon,.process-step-icon){animation:none!important;}
@media(prefers-reduced-motion:no-preference){
 #main :is(.group-service-mosaic,.trade-pain-grid,.sg,.support-choice-grid,.pr4) > :nth-child(6) :is(.group-service-icon,.trade-pain-icon,.sc-icon,.support-choice-icon,.process-step-icon){--mg-icon-order:5}
 #main :is(.group-service-mosaic,.trade-pain-grid,.sg,.support-choice-grid,.pr4) > :nth-child(7) :is(.group-service-icon,.trade-pain-icon,.sc-icon,.support-choice-icon,.process-step-icon){--mg-icon-order:6}
 #main :is(.group-service-mosaic,.trade-pain-grid,.sg,.support-choice-grid,.pr4) > :nth-child(8) :is(.group-service-icon,.trade-pain-icon,.sc-icon,.support-choice-icon,.process-step-icon){--mg-icon-order:7}
 #main :is(.group-service-mosaic,.trade-pain-grid,.sg,.support-choice-grid,.pr4) > :nth-child(9) :is(.group-service-icon,.trade-pain-icon,.sc-icon,.support-choice-icon,.process-step-icon){--mg-icon-order:8}
 #main :is(.group-service-mosaic,.trade-pain-grid,.sg,.support-choice-grid,.pr4) > :nth-child(10) :is(.group-service-icon,.trade-pain-icon,.sc-icon,.support-choice-icon,.process-step-icon){--mg-icon-order:9}
}

/* ===== r58 repairs: routing-led hierarchy, editorial card and crisp Atlas legend ===== */
/* The highlighted travel story presents its emblem above the headline, not beside it. */
#main .group-service-feature{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;min-width:0;}
#main .group-service-feature .group-service-content{position:relative;z-index:1;max-width:100%;padding:0!important;margin-top:auto;}
#main .group-service-feature .group-feature-overview{display:block;max-width:100%;color:inherit;text-decoration:none;outline-offset:5px;border-radius:12px;}
#main .group-feature-heading{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-end!important;gap:14px!important;max-width:100%;margin:0 0 15px!important;}
#main .group-feature-heading .group-feature-icon.svc-ico{position:relative!important;inset:auto!important;display:grid!important;place-items:center!important;align-self:flex-start!important;flex:none!important;width:clamp(58px,6vw,76px)!important;height:clamp(58px,6vw,76px)!important;min-width:0!important;min-height:0!important;padding:10px!important;margin:0!important;border-radius:19px!important;background:linear-gradient(155deg,#fffdf6 0%,#f2e7c9 100%)!important;border:1px solid rgba(183,129,45,.58)!important;box-shadow:0 0 0 4px rgba(255,255,255,.12),0 11px 26px rgba(4,22,14,.25)!important;color:#174d37!important;transform:none!important;transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease!important;}
#main .group-feature-heading .group-feature-icon .mg-flaticon-img{display:none!important;}
#main .group-feature-heading .group-feature-icon .mg-art{display:block!important;width:100%!important;height:100%!important;color:#174d37!important;stroke:#174d37!important;visibility:visible!important;}
#main .group-feature-heading .group-feature-icon .mg-art .icon-gold{stroke:#b7812d!important;}
#main .group-service-feature .group-feature-heading h3{max-width:14ch!important;margin:0!important;font-size:clamp(32px,3.6vw,50px)!important;line-height:1.02!important;letter-spacing:-.035em!important;text-wrap:balance!important;}
#main .group-service-feature .group-service-content>p{max-width:56ch!important;margin:0!important;font-size:clamp(13px,1.15vw,15px)!important;line-height:1.72!important;color:rgba(255,255,255,.91)!important;}
#main .group-service-feature .group-service-cta{position:relative;display:inline-flex!important;align-items:center;gap:9px;margin-top:17px!important;min-height:43px;padding:9px 0 5px!important;border-bottom:1px solid rgba(255,255,255,.68)!important;font-size:12px;font-weight:750;color:#fff!important;text-decoration:none;}
#main .group-service-feature .group-service-cta .ic{display:block!important;width:16px;height:16px;transition:transform .2s ease;}
@media (hover:hover){#main .group-service-feature .group-service-cta:hover .ic{transform:translateX(3px);}}
#main .group-service-feature:is(:hover,:focus-within,:active) .group-feature-heading .group-feature-icon{background:linear-gradient(155deg,#174d37,#2e7354)!important;border-color:rgba(183,129,45,.9)!important;transform:translateY(-2px) scale(1.025)!important;box-shadow:0 10px 24px rgba(3,24,14,.36)!important;}
#main .group-service-feature:is(:hover,:focus-within,:active) .group-feature-heading .group-feature-icon .mg-art{color:#fff!important;stroke:#fff!important;}
#main .group-service-feature:is(:hover,:focus-within,:active) .group-feature-heading .group-feature-icon .mg-art .icon-gold{stroke:#e5b96b!important;}
#main .group-service-feature .group-feature-overview:focus-visible{outline:2px solid #e5b96b!important;outline-offset:5px!important;}
#main .group-service-feature .group-service-cta:focus-visible{outline:2px solid #e5b96b!important;outline-offset:5px!important;}
@media(max-width:760px){
 #main .group-service-feature{min-height:410px!important;padding:22px!important;}
 #main .group-feature-heading{gap:12px!important;margin-bottom:12px!important;}
 #main .group-feature-heading .group-feature-icon.svc-ico{width:54px!important;height:54px!important;padding:8px!important;border-radius:16px!important;}
 #main .group-service-feature .group-feature-heading h3{font-size:clamp(29px,7.7vw,38px)!important;line-height:1.04!important;max-width:14ch!important;}
 #main .group-service-feature .group-service-content>p{font-size:13px!important;line-height:1.62!important;}
}
@media(max-width:390px){#main .group-service-feature{min-height:392px!important;padding:18px!important}#main .group-feature-heading .group-feature-icon.svc-ico{width:50px!important;height:50px!important;padding:7px!important}#main .group-service-feature .group-feature-heading h3{font-size:clamp(27px,7.5vw,32px)!important}}

/* Atlas legend: reserve a fixed icon column so no generic span rule can squash the image or label. */
html body .leaflet-top.leaflet-right .map-legend{box-sizing:border-box!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;width:min(314px,calc(100vw - 78px))!important;min-width:0!important;max-width:calc(100vw - 20px)!important;padding:8px!important;margin:8px 8px 0 0!important;border:1px solid rgba(24,65,45,.12)!important;border-radius:15px!important;background:rgba(255,254,249,.97)!important;box-shadow:0 9px 28px rgba(15,43,27,.17)!important;backdrop-filter:blur(12px) saturate(1.1)!important;}
html body .map-legend .ml-title{grid-column:1/-1!important;display:block!important;padding:3px 5px 5px!important;font:750 11px/1.3 var(--sans,Arial,sans-serif)!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#607366!important;}
html body .map-legend button.ml-chip{box-sizing:border-box!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;min-width:0!important;width:100%!important;min-height:39px!important;height:auto!important;padding:6px 7px!important;border:1px solid rgba(31,77,54,.10)!important;border-radius:10px!important;background:#fffefa!important;color:#193d2c!important;text-align:left!important;white-space:normal!important;font:650 12px/1.2 var(--sans,Arial,sans-serif)!important;opacity:1!important;box-shadow:none!important;}
html body .map-legend button.ml-chip.is-on{background:#edf2e9!important;border-color:rgba(31,77,54,.22)!important;}
html body .map-legend button.ml-chip:not(.is-on){opacity:.56!important;background:#f7f5ed!important;}
html body .map-legend button.ml-chip>span.ml-symbol{box-sizing:border-box!important;display:grid!important;place-items:center!important;flex:0 0 27px!important;width:27px!important;height:27px!important;min-width:27px!important;min-height:27px!important;margin:0!important;padding:0!important;overflow:visible!important;border-radius:7px!important;background:transparent!important;white-space:normal!important;}
html body .map-legend button.ml-chip>span.ml-symbol img{display:block!important;position:static!important;width:27px!important;height:27px!important;min-width:27px!important;max-width:27px!important;object-fit:contain!important;transform:none!important;filter:none!important;opacity:1!important;}
html body .map-legend button.ml-chip>span.ml-label{box-sizing:border-box!important;display:block!important;flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;overflow-wrap:normal!important;word-break:normal!important;white-space:normal!important;text-overflow:clip!important;line-height:1.2!important;-webkit-line-clamp:unset!important;-webkit-box-orient:initial!important;overflow:visible!important;color:#193d2c!important;}
html body .map-legend button.ml-chip small{display:none!important;}
html body .mgcl{display:grid!important;place-items:center!important;box-sizing:border-box!important;width:42px!important;height:42px!important;padding:4px!important;overflow:hidden!important;border:2px solid var(--pin,#174d37)!important;border-radius:50%!important;background:rgba(255,254,249,.98)!important;box-shadow:0 0 0 3px rgba(255,254,249,.82),0 5px 13px rgba(8,30,20,.26)!important;}
html body .mgcl .mgcl-icon{display:block!important;width:30px!important;height:30px!important;object-fit:contain!important;max-width:none!important;filter:none!important;transform:none!important;}
html body .mgcl-wrap{background:transparent!important;border:0!important;}
@media(max-width:560px){html body .leaflet-top.leaflet-right .map-legend{grid-template-columns:minmax(0,1fr)!important;width:min(205px,calc(100vw - 78px))!important;padding:6px!important;gap:3px!important;}html body .map-legend .ml-title{display:block!important;padding:2px 6px 4px!important;}html body .map-legend button.ml-chip{min-height:35px!important;padding:4px 7px!important;font-size:12px!important;gap:7px!important;}html body .map-legend button.ml-chip>span.ml-symbol,html body .map-legend button.ml-chip>span.ml-symbol img{width:25px!important;height:25px!important;min-width:25px!important;max-width:25px!important;flex-basis:25px!important;}}

/* Specialty-site cards: all sourcing problem cards share one soft surface and icon rhythm. */
#main .trade-pain-grid .trade-pain-card{background:#f2f3eb!important;border:1px solid rgba(29,73,56,.15)!important;box-shadow:0 8px 24px rgba(20,32,26,.045)!important;}
#main .trade-pain-grid .trade-pain-icon{background:#e7ede2!important;background-image:none!important;border:1px solid rgba(29,73,56,.14)!important;color:#174d37!important;}
#main .trade-pain-grid .trade-pain-icon .mg-flaticon-img{display:none!important;}
#main .trade-pain-grid .trade-pain-icon .mg-art{display:block!important;color:#174d37!important;stroke:#174d37!important;visibility:visible!important;}
#main .trade-pain-grid .trade-pain-icon .mg-art .icon-gold{stroke:#b7812d!important;}
#main .trade-pain-card:is(:hover,:focus-visible,:active){background:#edf2e9!important;border-color:rgba(23,77,55,.48)!important;}
#main .trade-pain-card:is(:hover,:focus-visible,:active) .trade-pain-icon{background:#174d37!important;border-color:#b7812d!important;color:#fff!important;}
#main .trade-pain-card:is(:hover,:focus-visible,:active) .trade-pain-icon .mg-art{color:#fff!important;stroke:#fff!important;}
#main .trade-pain-card:is(:hover,:focus-visible,:active) .trade-pain-icon .mg-art .icon-gold{stroke:#e5b96b!important;}

/* Support "Choose a service": cream-green icon tiles, never blue/white raster art. */
#main .support-choice-grid .support-choice{background:#f5f4ec!important;border-color:rgba(29,73,56,.16)!important;color:#193d2c!important;}
#main .support-choice-grid .support-choice-icon{display:grid!important;place-items:center!important;background:linear-gradient(145deg,#f0f0e3,#e3ebdf)!important;border:1px solid rgba(29,73,56,.16)!important;color:#174d37!important;box-shadow:0 2px 5px rgba(20,52,36,.06)!important;}
#main .support-choice-grid .support-choice-icon .mg-flaticon-img{display:none!important;}
#main .support-choice-grid .support-choice-icon .mg-art{display:block!important;color:#174d37!important;stroke:#174d37!important;visibility:visible!important;}
#main .support-choice-grid .support-choice-icon .mg-art .icon-gold{stroke:#b7812d!important;}
#main .support-choice-grid .support-choice.on{background:#183f2e!important;border-color:#183f2e!important;color:#fff!important;}
#main .support-choice-grid .support-choice.on .support-choice-icon{background:linear-gradient(145deg,#e7ebdc,#e8dfc3)!important;border-color:#b7812d!important;color:#174d37!important;box-shadow:0 3px 10px rgba(3,25,14,.18)!important;}
#main .support-choice-grid .support-choice.on .support-choice-icon .mg-art{color:#174d37!important;stroke:#174d37!important;}
#main .support-choice-grid .support-choice.on .support-choice-icon .mg-art .icon-gold{stroke:#b7812d!important;}
#main .support-choice-grid .support-choice-mark{border-color:#c1cfbf!important;color:#41664e!important;}
#main .support-choice-grid .support-choice.on .support-choice-mark{background:#b7812d!important;border-color:#b7812d!important;color:#fff!important;}
#main .support-choice-grid .support-choice:focus-visible{outline:3px solid #b7812d!important;outline-offset:3px!important;}

/* Hash routes are first-class on static hosting: no server rewrite or path replacement required. */
html{scroll-behavior:smooth;}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important;}#main .group-service-feature .group-feature-heading .group-feature-icon,#main .group-service-feature .group-service-cta .ic{transition:none!important;}}

/* r59: reliable in-page navigation and destination builder polish */
#main .group-service-feature .group-feature-overview{display:block!important;width:100%!important;max-width:100%!important;text-decoration:none!important;}
#main .group-service-feature .group-feature-heading{display:flex!important;flex-flow:column nowrap!important;align-items:flex-start!important;justify-content:flex-start!important;gap:13px!important;width:100%!important;max-width:100%!important;margin:0 0 15px!important;}
#main .group-service-feature .group-feature-heading .group-feature-icon{position:relative!important;display:grid!important;place-items:center!important;flex:0 0 auto!important;align-self:flex-start!important;order:0!important;width:clamp(58px,6vw,74px)!important;height:clamp(58px,6vw,74px)!important;min-width:58px!important;min-height:58px!important;margin:0!important;padding:10px!important;overflow:visible!important;border:1px solid rgba(183,129,45,.62)!important;border-radius:18px!important;background:linear-gradient(145deg,#fffdf7 0%,#f0e4c3 100%)!important;color:#174d37!important;box-shadow:0 8px 22px rgba(5,25,15,.22)!important;filter:none!important;transform:none;}
#main .group-service-feature .group-feature-heading h3{display:block!important;order:1!important;width:100%!important;max-width:14ch!important;margin:0!important;color:#fff!important;font-size:clamp(31px,3.5vw,48px)!important;line-height:1.04!important;letter-spacing:-.035em!important;text-wrap:balance!important;}
#main .group-service-feature .group-feature-heading .group-feature-icon .mg-flaticon-img{display:none!important;filter:none!important;}
#main .group-service-feature .group-feature-heading .group-feature-icon .mg-art{display:block!important;width:100%!important;height:100%!important;color:#174d37!important;stroke:#174d37!important;filter:none!important;}
#main .group-service-feature .group-feature-heading .group-feature-icon .mg-art .icon-gold{stroke:#b7812d!important;}
#main .group-service-feature:is(:hover,:focus-within,:active) .group-feature-heading .group-feature-icon{background:linear-gradient(145deg,#174d37 0%,#2f7654 100%)!important;border-color:#c49b50!important;box-shadow:0 10px 26px rgba(3,24,14,.35)!important;transform:translateY(-2px)!important;}
#main .group-service-feature:is(:hover,:focus-within,:active) .group-feature-heading .group-feature-icon .mg-art{color:#fff!important;stroke:#fff!important;}
#main .group-service-feature:is(:hover,:focus-within,:active) .group-feature-heading .group-feature-icon .mg-art .icon-gold{stroke:#e5b96b!important;}
#main .group-service-feature .group-feature-overview:focus-visible{outline:2px solid #e5b96b!important;outline-offset:5px!important;}
@media (hover:hover){#main .group-service-feature .group-feature-overview:hover .group-feature-heading h3{color:#fff!important;text-shadow:0 1px 18px rgba(255,255,255,.08)!important;}}
#main .group-service-feature .group-service-content>p{max-width:57ch!important;line-height:1.72!important;}
@media(max-width:760px){#main .group-service-feature .group-feature-heading{gap:12px!important;margin-bottom:13px!important}#main .group-service-feature .group-feature-heading .group-feature-icon{width:55px!important;height:55px!important;min-width:55px!important;min-height:55px!important;padding:8px!important;border-radius:15px!important}#main .group-service-feature .group-feature-heading h3{font-size:clamp(29px,7.6vw,38px)!important;max-width:14ch!important}}
@media(max-width:390px){#main .group-service-feature .group-feature-heading .group-feature-icon{width:51px!important;height:51px!important;min-width:51px!important;min-height:51px!important;padding:7px!important}#main .group-service-feature .group-feature-heading h3{font-size:clamp(27px,7.2vw,32px)!important}}

/* Atlas: legible icon-and-label chips with no count badges, including at phone widths. */
html body .leaflet-top.leaflet-right .map-legend{width:min(316px,calc(100vw - 68px))!important;max-height:min(58vh,430px)!important;overflow:auto!important;overscroll-behavior:contain!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;padding:9px!important;}
html body .map-legend .ml-title{font-size:12px!important;line-height:1.35!important;letter-spacing:.11em!important;}
html body .map-legend button.ml-chip{min-height:42px!important;height:auto!important;align-items:center!important;gap:7px!important;padding:6px 8px!important;font-size:12px!important;line-height:1.25!important;overflow:visible!important;}
html body .map-legend button.ml-chip>span.ml-symbol{width:29px!important;height:29px!important;min-width:29px!important;flex:0 0 29px!important;}
html body .map-legend button.ml-chip>span.ml-symbol img{width:29px!important;height:29px!important;min-width:29px!important;max-width:29px!important;}
html body .map-legend button.ml-chip>span.ml-label{min-width:0!important;flex:1 1 auto!important;text-align:left!important;font-size:12px!important;line-height:1.25!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;}
html body .map-legend button.ml-chip:focus-visible{outline:2px solid #b7812d!important;outline-offset:1px!important;}
html body .map-legend button.ml-chip::before,html body .map-legend button.ml-chip::after{content:none!important;display:none!important;}
html body .mgcl{font-size:0!important;line-height:0!important;}
html body .mgcl::before,html body .mgcl::after{content:none!important;display:none!important;}
@media(max-width:560px){html body .leaflet-top.leaflet-right .map-legend{width:min(205px,calc(100vw - 74px))!important;max-height:44vh!important;grid-template-columns:minmax(0,1fr)!important;gap:4px!important;padding:7px!important;margin:7px 7px 0 0!important;}html body .map-legend button.ml-chip{min-height:37px!important;padding:5px 7px!important;font-size:12px!important;}html body .map-legend button.ml-chip>span.ml-symbol,html body .map-legend button.ml-chip>span.ml-symbol img{width:26px!important;height:26px!important;min-width:26px!important;max-width:26px!important;flex-basis:26px!important;}}

/* Journey builder: explicit add action, blank optional notes, and a clear generated itinerary. */
#main .plan-search-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-height:38px;margin:-7px 0 19px;}
#main #planAddDestination{display:inline-flex!important;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 15px!important;border:1px solid rgba(23,77,55,.25)!important;border-radius:11px!important;background:#174d37!important;color:#fff!important;font-weight:700!important;box-shadow:0 4px 11px rgba(16,63,40,.12)!important;}
#main #planAddDestination:focus-visible{background:#216747!important;border-color:#b7812d!important;}@media (hover:hover){#main #planAddDestination:hover{background:#216747!important;border-color:#b7812d!important;}}
#main #planAddFeedback{flex:1 1 160px;color:#315943;font-size:12px;line-height:1.45;}
#main .plan-builder-controls input#planPlaceSearch{margin-bottom:0!important;}
#main .plan-builder-controls .fld:has(#planPlaceSearch){margin-bottom:10px!important;}
#main .plan-builder-controls input,#main .plan-builder-controls select,#main .plan-builder-controls textarea{box-sizing:border-box!important;max-width:100%!important;}
#main .plan-itinerary-section{scroll-margin-top:18px;min-width:0;}
#main .plan-itinerary-section:focus{outline:none;}
#main .plan-itinerary-header{scroll-margin-top:18px;}
#main .plan-destination-card,#main .plan-destination-body,#main .plan-highlight-grid,#main .plan-day-list{min-width:0;}
#main .plan-summary-action{cursor:pointer;}
#main .plan-itinerary-section .plan-empty-state p{max-width:58ch;}
#main .field-hint{display:block;margin-top:7px;font-size:12px;line-height:1.5;color:#627468;}
#main label.f:has(textarea#c1){display:block;margin-top:12px;}
#main textarea#c1{display:block;width:100%;min-height:86px;resize:vertical;box-sizing:border-box;padding:12px 13px!important;border:1px solid var(--st-hair,rgba(29,73,56,.18))!important;border-radius:10px!important;background:#fffefa!important;color:#18231d!important;font:500 13px/1.55 var(--sans,Arial,sans-serif)!important;}
#main textarea#c1::placeholder{color:#768379;opacity:1;}
#main textarea#c1:focus-visible{outline:2px solid rgba(41,103,72,.25)!important;border-color:#397753!important;}

/* Global interaction consistency: forest green for action, warm gold for focus and active detail. */
#main a:focus-visible,#main button:focus-visible,#nav a:focus-visible,#nav button:focus-visible,#menu a:focus-visible,#foot a:focus-visible{outline:2px solid #b7812d!important;outline-offset:3px!important;}
@media (hover:hover){#main .group-service-feature .group-service-cta:hover{color:#fff!important;border-color:#e5b96b!important;}}
@media(prefers-reduced-motion:reduce){#main .group-service-feature .group-feature-heading .group-feature-icon,#main #planAddDestination{transition:none!important;animation:none!important;}html{scroll-behavior:auto!important;}}


/* ===== r60 visual audit: featured Ethiopia artwork, contrast-safe icon states, compact footer and Atlas legend ===== */
/* Feature icon is the supplied panoramic-tour illustration, recoloured to the MENGED forest/gold system. */
#main .group-service-feature .group-feature-heading{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:13px!important;margin:0 0 15px!important}
#main .group-service-feature .group-feature-heading .group-feature-icon{display:grid!important;place-items:center!important;align-self:flex-start!important;width:clamp(60px,6vw,76px)!important;height:clamp(60px,6vw,76px)!important;min-width:60px!important;min-height:60px!important;padding:8px!important;overflow:hidden!important;border:1px solid rgba(183,129,45,.55)!important;border-radius:18px!important;background:linear-gradient(145deg,#f8f5e9 0%,#e4ebdf 100%)!important;box-shadow:0 8px 22px rgba(5,25,15,.18)!important;color:#174d37!important;transform:none!important}
#main .group-service-feature .group-feature-icon .experience-art{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;pointer-events:none!important}
#main .group-service-feature .group-feature-icon .experience-art-dark{display:none!important}
#main .group-service-feature:is(:hover,:focus-within,:active) .group-feature-icon{background:linear-gradient(145deg,#174d37 0%,#2f7654 100%)!important;border-color:#e5b96b!important;box-shadow:0 10px 26px rgba(3,24,14,.35)!important;transform:translateY(-2px)!important}
#main .group-service-feature:is(:hover,:focus-within,:active) .group-feature-icon .experience-art-light{display:none!important}
#main .group-service-feature:is(:hover,:focus-within,:active) .group-feature-icon .experience-art-dark{display:block!important}
#main .group-service-feature .group-feature-overview:focus-visible{outline:2px solid #e5b96b!important;outline-offset:5px!important}
@media(max-width:760px){#main .group-service-feature .group-feature-heading{gap:11px!important;margin-bottom:13px!important}#main .group-service-feature .group-feature-heading .group-feature-icon{width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important;border-radius:15px!important;padding:6px!important}}

/* Footer columns adapt to the actual content. The Group homepage has no empty, omitted specialty column. */
footer .fc-home{grid-template-columns:minmax(0,1.45fr) minmax(0,.95fr) minmax(0,1.15fr)!important;gap:clamp(20px,4vw,58px)!important}
footer .fc-home>.fc-intro{max-width:23ch!important}
footer .big{font-size:clamp(54px,10.5vw,158px)!important;line-height:.88!important;margin:clamp(28px,4.5vw,48px) 0 18px!important;letter-spacing:-.055em!important;opacity:.105!important}
footer .fc-home .fc-connected{padding-left:clamp(0px,1.2vw,16px)}
footer .fc-home .fc-group-children{margin-left:0!important;padding-left:0!important;border-left:0!important;gap:2px!important}
footer .fc-home .fc-group-children a{padding:6px 0!important;font-size:13px!important}
@media(max-width:760px){footer .fc-home{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 16px!important}footer .fc-home>.fc-intro{grid-column:1/-1!important;max-width:29ch!important}footer .fc-home .fc-contact{grid-column:1/-1!important;border-top:1px solid rgba(255,255,255,.16);padding-top:18px}footer .big{font-size:clamp(50px,16vw,94px)!important;margin:30px 0 16px!important}}

/* Atlas legend: one readable icon-and-label per row; no counts, clipped words or numeric cluster labels. */
html body .leaflet-top.leaflet-right .map-legend{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;grid-template-columns:none!important;gap:4px!important;width:min(222px,calc(100vw - 76px))!important;min-width:0!important;max-width:calc(100vw - 76px)!important;max-height:min(47vh,390px)!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding:8px!important;margin:9px 9px 0 0!important;border:1px solid rgba(23,77,55,.17)!important;border-radius:14px!important;background:rgba(255,254,249,.97)!important;box-shadow:0 8px 26px rgba(15,43,27,.16)!important;backdrop-filter:blur(10px)!important}
html body .map-legend .ml-title{padding:3px 5px 6px!important;font-size:11px!important;letter-spacing:.14em!important;color:#617267!important;text-transform:uppercase!important}
html body .map-legend button.ml-chip{box-sizing:border-box!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;width:100%!important;min-width:0!important;min-height:39px!important;height:auto!important;padding:5px 7px!important;border:1px solid rgba(23,77,55,.09)!important;border-radius:9px!important;background:rgba(244,245,236,.62)!important;color:#193d2c!important;font:600 12px/1.3 var(--sans,Inter,Arial,sans-serif)!important;white-space:normal!important;text-align:left!important;opacity:1!important}
html body .map-legend button.ml-chip.is-on{background:#edf2e9!important;border-color:rgba(23,77,55,.2)!important}
html body .map-legend button.ml-chip:not(.is-on){opacity:.64!important;background:transparent!important}
html body .map-legend button.ml-chip>span.ml-symbol{box-sizing:border-box!important;display:grid!important;place-items:center!important;flex:0 0 29px!important;width:29px!important;height:29px!important;min-width:29px!important;min-height:29px!important;margin:0!important;border-radius:8px!important;background:linear-gradient(145deg,#f9f6eb,#e6ecdf)!important;overflow:hidden!important}
html body .map-legend button.ml-chip>span.ml-symbol img{display:block!important;width:27px!important;height:27px!important;min-width:27px!important;max-width:27px!important;object-fit:contain!important}
html body .map-legend button.ml-chip>span.ml-label{display:block!important;flex:1 1 auto!important;min-width:0!important;margin:0!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:normal!important;word-break:normal!important;line-height:1.25!important;font-size:12px!important}
html body .map-legend button.ml-chip small{display:none!important}
html body .mgcl,html body .mgcl *{font-size:0!important;line-height:0!important}
html body .mgcl::before,html body .mgcl::after{content:none!important;display:none!important}
@media(max-width:560px){html body .leaflet-top.leaflet-right .map-legend{width:min(195px,calc(100vw - 72px))!important;max-width:calc(100vw - 72px)!important;max-height:40vh!important;padding:6px!important;gap:3px!important}html body .map-legend button.ml-chip{min-height:35px!important;padding:4px 6px!important;gap:7px!important;font-size:12px!important}html body .map-legend button.ml-chip>span.ml-symbol{flex-basis:26px!important;width:26px!important;height:26px!important;min-width:26px!important;min-height:26px!important}html body .map-legend button.ml-chip>span.ml-symbol img{width:24px!important;height:24px!important;min-width:24px!important;max-width:24px!important}html body .map-legend button.ml-chip>span.ml-label{font-size:12px!important}}

/* Contrast audit for Trade problem cards and process steps: prevent white-on-white artwork. */
#main .trade-pain-grid .trade-pain-icon,#main .pr4 .process-step-icon{isolation:isolate;display:grid!important;place-items:center!important;box-sizing:border-box!important;overflow:hidden!important;background:linear-gradient(145deg,#f8f5e9,#e6ecdf)!important;border:1px solid rgba(183,129,45,.42)!important;color:#174d37!important;box-shadow:0 2px 8px rgba(12,37,25,.14)!important}
#main .trade-pain-grid .trade-pain-icon .mg-flaticon-img,#main .pr4 .process-step-icon .mg-flaticon-img,#main .trade-pain-grid .trade-pain-icon .mg-lottie,#main .pr4 .process-step-icon .mg-lottie{display:none!important;visibility:hidden!important}
#main .trade-pain-grid .trade-pain-icon .mg-flaticon-shell,#main .pr4 .process-step-icon .mg-flaticon-shell{display:grid!important;place-items:center!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important}
#main .trade-pain-grid .trade-pain-icon .mg-art,#main .pr4 .process-step-icon .mg-art{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;color:#174d37!important;stroke:#174d37!important;filter:none!important}
#main .trade-pain-grid .trade-pain-icon .mg-art .icon-gold,#main .pr4 .process-step-icon .mg-art .icon-gold{stroke:#b7812d!important;color:#b7812d!important}
#main .trade-pain-card:is(:hover,:focus-visible,:active) .trade-pain-icon{background:linear-gradient(145deg,#174d37,#2d6f50)!important;border-color:#dfb25f!important;color:#fff!important;box-shadow:0 8px 18px rgba(23,77,55,.26)!important;transform:translateY(-2px)!important}
#main .trade-pain-card:is(:hover,:focus-visible,:active) .trade-pain-icon .mg-art{color:#fff!important;stroke:#fff!important}
#main .trade-pain-card:is(:hover,:focus-visible,:active) .trade-pain-icon .mg-art .icon-gold{stroke:#f0c777!important;color:#f0c777!important}
#main .trade-pain-card:focus-visible{outline:3px solid #b7812d!important;outline-offset:4px!important}
#main .support-choice-grid .support-choice{background:#f1f2e9!important;border-color:rgba(23,77,55,.18)!important;color:#193d2c!important}
#main .support-choice-grid .support-choice-icon{background:linear-gradient(145deg,#f8f5e9,#e5ebdf)!important;border-color:rgba(183,129,45,.42)!important;color:#174d37!important}
#main .support-choice-grid .support-choice-icon .mg-flaticon-img,#main .support-choice-grid .support-choice-icon .mg-lottie{display:none!important;visibility:hidden!important}
#main .support-choice-grid .support-choice-icon .mg-art{display:block!important;visibility:visible!important;color:#174d37!important;stroke:#174d37!important}
#main .support-choice-grid .support-choice-icon .mg-art .icon-gold{stroke:#b7812d!important;color:#b7812d!important}
#main .support-choice-grid .support-choice.on .support-choice-icon{background:linear-gradient(145deg,#f5f0df,#e4eadc)!important;border-color:#b7812d!important}
#main .support-choice-grid .support-choice.on .support-choice-icon .mg-art{color:#174d37!important;stroke:#174d37!important}
#main .support-choice-grid .support-choice.on .support-choice-icon .mg-art .icon-gold{stroke:#b7812d!important}
@media(prefers-reduced-motion:reduce){#main .group-service-feature .group-feature-icon,#main .group-service-feature .group-feature-icon *{transition:none!important;animation:none!important}}

/* Final responsive footer pass: use the full mobile width instead of leaving half-row gaps. */
@media(max-width:760px){
 footer .fc-home{grid-template-columns:minmax(0,1fr)!important;gap:23px!important;}
 footer .fc-home>.fc-intro,footer .fc-home>.fc-connected,footer .fc-home>.fc-contact{grid-column:1/-1!important;max-width:none!important;}
 footer .fc-home>.fc-connected{padding:0!important;}
 footer .fc-home nav.fc-group-links .fc-group-children{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:16px!important;row-gap:1px!important;}
 footer .fc-home nav.fc-group-links .fc-group-children a{width:100%!important;}
 footer .fc-home nav.fc-contact-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 16px!important;}
 footer .fc-home nav.fc-contact-links .fc-contact-primary,footer .fc-home nav.fc-contact-links .fc-email{grid-column:1/-1!important;width:fit-content!important;max-width:100%!important;}
 footer .fc-home .fc-contact{border-top:1px solid rgba(255,255,255,.16);padding-top:18px!important;}
}

/* Final contrast pass: make icon hover/focus states reliably green-and-gold even when earlier theme rules overlap. */
html body #main :is(.group-service,.trade-pain-card,.sc,.support-choice,.step,.contact-method,.group-outcome-row,.mg>a):is(:hover,:focus-visible,:active) :is(.group-service-icon,.contact-method-icon,.trade-pain-icon,.step-icon,.sc-icon,.support-choice-icon,.process-step-icon,.mode-icon,.outcome-icon){background-color:#174d37!important;background-image:linear-gradient(145deg,#174d37 0%,#2e7354 100%)!important;border-color:#e5b96b!important;color:#fff!important;box-shadow:0 8px 20px rgba(9,38,24,.24)!important;}
html body #main :is(.group-service,.trade-pain-card,.sc,.support-choice,.step,.contact-method,.group-outcome-row,.mg>a):is(:hover,:focus-visible,:active) :is(.group-service-icon,.contact-method-icon,.trade-pain-icon,.step-icon,.sc-icon,.support-choice-icon,.process-step-icon,.mode-icon,.outcome-icon) .mg-art{color:#fff!important;stroke:#fff!important;}
html body #main :is(.group-service,.trade-pain-card,.sc,.support-choice,.step,.contact-method,.group-outcome-row,.mg>a):is(:hover,:focus-visible,:active) :is(.group-service-icon,.contact-method-icon,.trade-pain-icon,.step-icon,.sc-icon,.support-choice-icon,.process-step-icon,.mode-icon,.outcome-icon) .mg-art .icon-gold{color:#f0c777!important;stroke:#f0c777!important;}
html body #main :is(.group-service,.trade-pain-card,.sc,.support-choice,.step,.contact-method,.group-outcome-row,.mg>a):is(:hover,:focus-visible,:active) :is(.group-service-icon,.contact-method-icon,.trade-pain-icon,.step-icon,.sc-icon,.support-choice-icon,.process-step-icon,.mode-icon,.outcome-icon) .mg-flaticon-img{filter:brightness(0) invert(1)!important;mix-blend-mode:normal!important;}
html body #main .pr4>div:is(:hover,:focus-within) .process-step-icon{background-color:#174d37!important;background-image:linear-gradient(145deg,#174d37 0%,#2e7354 100%)!important;border-color:#e5b96b!important;color:#fff!important;box-shadow:0 8px 20px rgba(9,38,24,.24)!important;}
html body #main .pr4>div:is(:hover,:focus-within) .process-step-icon .mg-art{color:#fff!important;stroke:#fff!important;}
html body #main .pr4>div:is(:hover,:focus-within) .process-step-icon .mg-art .icon-gold{color:#f0c777!important;stroke:#f0c777!important;}


/* r61 audit fixes: compact mobile map layers, visible image gallery and uncluttered footer. */
html body #main .th .thumbs{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:5px!important;width:100%!important;max-width:100%!important;margin:16px 0 0!important;padding:0!important;overflow:visible!important;flex-wrap:wrap!important;scroll-snap-type:none!important;scrollbar-width:none!important;perspective:none!important;}
html body #main .th .thumbs .th-card{display:block!important;flex:none!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;aspect-ratio:4/3!important;border:2px solid transparent!important;border-radius:8px!important;transform:none!important;opacity:.86!important;box-shadow:none!important;overflow:hidden!important;}
html body #main .th .thumbs .th-card img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;filter:saturate(.9) brightness(.92)!important;transform:none!important;}
html body #main .th .thumbs .th-card::after,html body #main .th .thumbs .th-card .th-name,html body #main .th .thumbs .th-card .th-num,html body #main .th .thumbs .th-card i{display:none!important;content:none!important;}
html body #main .th .thumbs .th-card.on,html body #main .th .thumbs .th-card[aria-pressed=true]{opacity:1!important;border-color:var(--mg-gold,#d8b67a)!important;box-shadow:0 0 0 1px var(--mg-gold,#d8b67a)!important;}
@media(max-width:900px){html body #main .th .thumbs{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;}html body #main .th .thumbs .th-card{aspect-ratio:5/3!important;}}
@media(max-width:380px){html body #main .th .thumbs{gap:4px!important;}html body #main .th .thumbs .th-card{border-radius:5px!important;}}

html body .leaflet-top.leaflet-right .map-legend{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:3px!important;width:min(184px,calc(100vw - 58px))!important;min-width:0!important;max-width:calc(100vw - 58px)!important;max-height:min(34vh,300px)!important;overflow-x:hidden!important;overflow-y:auto!important;padding:6px!important;margin:7px 7px 0 0!important;border:1px solid rgba(23,77,55,.17)!important;border-radius:11px!important;background:rgba(255,254,249,.97)!important;box-shadow:0 5px 18px rgba(15,43,27,.13)!important;backdrop-filter:blur(8px)!important;}
html body .map-legend .ml-title{box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;width:100%!important;min-height:27px!important;padding:3px 5px!important;border:0!important;background:transparent!important;color:#617267!important;font:700 11px/1.25 var(--sans,Inter,Arial,sans-serif)!important;letter-spacing:.1em!important;text-transform:uppercase!important;text-align:left!important;cursor:pointer!important;}
html body .map-legend .ml-chevron{font-size:13px!important;letter-spacing:0!important;}
html body .map-legend button.ml-chip{min-height:32px!important;padding:3px 5px!important;gap:6px!important;font-size:12px!important;border-radius:7px!important;}
html body .map-legend button.ml-chip>span.ml-symbol,html body .map-legend button.ml-chip>span.ml-symbol img{width:23px!important;height:23px!important;min-width:23px!important;max-width:23px!important;min-height:23px!important;flex-basis:23px!important;}
html body .map-legend button.ml-chip>span.ml-label{font-size:12px!important;line-height:1.2!important;}
html body .leaflet-top.leaflet-right .map-legend.is-collapsed{width:107px!important;max-width:calc(100vw - 58px)!important;max-height:none!important;overflow:hidden!important;padding:3px 5px!important;}
html body .map-legend.is-collapsed button.ml-chip{display:none!important;}
html body .map-legend .ml-title:focus-visible{outline:2px solid #b7812d!important;outline-offset:1px!important;border-radius:5px!important;}
@media(min-width:561px){html body .leaflet-top.leaflet-right .map-legend{width:min(240px,calc(100vw - 68px))!important;max-height:min(40vh,360px)!important;padding:8px!important;}html body .map-legend .ml-title{cursor:default!important;}html body .map-legend button.ml-chip{min-height:35px!important;font-size:12px!important;}}

@media(max-width:760px){footer .fc-home nav.fc-group-links .fc-group-children{display:flex!important;flex-direction:column!important;grid-template-columns:minmax(0,1fr)!important;align-items:flex-start!important;gap:0!important;}}

/* Atlas catalogue follows visible map layers and keeps direct links subordinate to pin controls. */
#main .atl aside ul#al li[data-item]{position:relative;display:flex;align-items:stretch;flex-wrap:wrap;gap:0 10px;}
#main .atl aside ul#al li[data-item]>button{flex:1 1 100%;min-width:0;}
#main .atl aside ul#al li[data-item]>.atlas-open-link{display:inline-flex;align-items:center;margin:0 0 8px 52px;padding:2px 0;color:var(--acc,#174d37);font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(23,77,55,.18);}
@media (hover:hover){#main .atl aside ul#al li[data-item]>.atlas-open-link:hover{color:var(--gold,#b7812d);border-color:currentColor;}}
#main .atl aside ul#al li .atlas-origin-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 35px;height:35px;border-radius:8px;background:#eef0e6;font-size:18px;}
#main .atl aside ul#al li[data-item][hidden],#main .atl aside ul#al li.atlas-divider[hidden]{display:none!important;}

/* The planner stays concise; full destination detail remains one tap away. */
#main .plan-preferences{grid-template-columns:repeat(2,minmax(0,1fr));}
#main .plan-preferences label{min-width:0;}
#main .plan-destination-body .plan-overview{max-width:78ch;margin:0 0 14px;line-height:1.7;color:var(--mut);}
#main .plan-highlight-preview{padding:14px 16px;margin:14px 0 18px;border:1px solid var(--line);border-radius:12px;background:var(--card);}
#main .plan-highlight-preview>b{display:block;margin-bottom:8px;font-size:12px;letter-spacing:.04em;}
#main .plan-highlight-preview ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;margin:0;padding-left:18px;font-size:13px;line-height:1.55;}
#main .plan-destination-body .plan-day-heading{margin-top:18px;}
#main .plan-tip{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:12px;line-height:1.65;color:var(--mut);}
#main .plan-tip b{color:var(--fg);}
#main .plan-connections{margin:0 0 28px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--card);}
#main .plan-connections>.plan-section-heading{margin:0 0 8px;}
#main .plan-connection-mode{align-self:center;display:inline-flex;padding:6px 9px;border:1px solid var(--line);border-radius:99px;font-size:12px;white-space:nowrap;}
#main .plan-connections>p{max-width:82ch;margin:0 0 14px;color:var(--mut);font-size:12px;line-height:1.65;}
#main .plan-connection-list{display:grid;gap:10px;}
#main .plan-connection-leg{padding:12px 14px;border-radius:10px;background:var(--bg-alt,rgba(23,77,55,.045));border:1px solid rgba(23,77,55,.09);}
#main .plan-connection-pair{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-weight:700;font-size:13px;}
#main .plan-connection-pair i{display:inline-flex;color:var(--acc);}
#main .plan-connection-leg>p{margin:7px 0 0;color:var(--mut);font-size:12px;line-height:1.65;}
@media(max-width:640px){#main .plan-preferences{grid-template-columns:minmax(0,1fr)!important;}#main .plan-highlight-preview ul{grid-template-columns:minmax(0,1fr)!important;}#main .plan-connections{padding:14px;border-radius:12px;}#main .plan-connections>.plan-section-heading{align-items:flex-start;gap:8px;flex-direction:column;}#main .plan-connection-pair{align-items:flex-start;}#main .plan-connection-pair i{transform:rotate(90deg);}}


/* Final responsive cleanup: keep the services index as one simple list everywhere. */
footer .fc nav.fc-group-links .fc-group-children{display:flex!important;flex-direction:column!important;grid-template-columns:minmax(0,1fr)!important;align-items:flex-start!important;gap:0!important;width:100%!important;}
footer .fc nav.fc-group-links .fc-group-children>a{display:block!important;width:fit-content!important;max-width:100%!important;}
/* Three planner controls share one row on wide screens, then stack cleanly as space narrows. */
#main .plan-preferences{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
@media(max-width:900px){#main .plan-preferences{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:640px){#main .plan-preferences{grid-template-columns:minmax(0,1fr)!important;}}


/* Travel advisory note in the itinerary builder. */
#main .plan-travel-advisory{box-sizing:border-box;max-width:var(--w,1200px);margin:22px auto 0;padding:15px 18px;border-left:3px solid var(--mg-gold,#b7812d);border-radius:0 8px 8px 0;background:rgba(246,242,231,.72);color:var(--ink,#1f3127);}
#main .plan-travel-advisory>b{display:block;line-height:1.45;font-size:14px;}
#main .plan-travel-advisory p{max-width:95ch;margin:8px 0 0;line-height:1.6;font-size:13px;}
#main .plan-travel-advisory a{color:inherit;text-decoration:underline;text-underline-offset:3px;font-weight:700;}
@media(max-width:760px){#main .plan-travel-advisory{margin:18px 16px 0;padding:14px;}}

/* Keep Tours photography image-only: the changing title and actions sit beneath the photo, not on top of it. */
#main .hero.th{display:block!important;min-height:0!important;height:auto!important;justify-content:initial!important;padding:0!important;overflow:hidden!important;background:var(--deep)!important;}
#main .hero.th .bg{inset:0 0 auto!important;height:clamp(260px,36vw,500px)!important;bottom:auto!important;transform:scale(1.045);background:none!important;}
#main .hero.th .bg.on{transform:scale(1)!important;}
#main .hero.th:after{display:none!important;}
#main .hero.th .w{position:relative!important;z-index:2!important;width:100%!important;max-width:none!important;margin:0!important;padding:clamp(260px,36vw,500px) 0 0!important;}
#main .hero.th .thc{width:var(--w)!important;max-width:none!important;margin:0 auto!important;padding:24px 0 0!important;color:#fff!important;}
#main .hero.th .thc .eye{color:rgba(255,255,255,.76)!important;}
#main .hero.th .thc h1{max-width:28ch!important;min-height:1.15em!important;margin:14px 0!important;font-size:clamp(42px,5.3vw,74px)!important;line-height:1.04!important;letter-spacing:-.035em!important;}
#main .hero.th .thc p{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important;min-height:4.65em!important;max-width:76ch!important;margin:0 0 14px!important;font-size:16px!important;line-height:1.55!important;color:rgba(255,255,255,.78)!important;}
#main .hero.th .thc .bt{min-height:52px!important;align-items:flex-start!important;margin:0!important;}
#main .hero.th .thc .bt .btn{min-height:46px!important;}
#main .hero.th .thumbs{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:18px 0 0!important;padding:0!important;}
@media(max-width:620px){
 #main .hero.th .bg{height:260px!important;}
 #main .hero.th .w{padding-top:260px!important;}
 #main .hero.th .thc{padding-top:20px!important;}
 #main .hero.th .thc h1{max-width:100%!important;min-height:2.2em!important;margin:12px 0!important;font-size:clamp(36px,10vw,44px)!important;}
 #main .hero.th .thc p{-webkit-line-clamp:4!important;min-height:6.2em!important;margin-bottom:14px!important;font-size:15px!important;}
 #main .hero.th .thc .bt{min-height:92px!important;gap:10px!important;}
 #main .hero.th .thc .bt .btn{padding:13px 15px!important;font-size:13px!important;}
}

/* ===== KIMI FIX 04 · calm, consistent final polish ===== */

/* Trade: show all coffee origins in a neat, low-noise grid rather than wrapping pill chips. */
#main .origin-grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important;
  min-width:0;align-self:center;width:100%;
}
#main .origin-mini{
  display:flex!important;align-items:center;gap:8px;min-width:0;min-height:39px;
  box-sizing:border-box;padding:9px 10px;border:1px solid var(--line);
  border-radius:10px;background:var(--card);color:var(--fg);
  transition:border-color .2s,background .2s;overflow:hidden;
}
#main .origin-mini i{display:block;flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(214,166,78,.13)}
#main .origin-mini b{display:block;min-width:0;font:600 12px/1.3 var(--sans);letter-spacing:-.015em;overflow-wrap:anywhere}
@media (hover:hover){#main .origin-mini:hover{border-color:rgba(29,73,56,.35);background:#fffefa}}
@media(max-width:900px){#main .origin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px!important}}
@media(max-width:680px){#main .origin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important}#main .origin-mini{min-height:38px;padding:9px 10px}#main .origin-mini b{font-size:12px}}

/* Tours: featured destination photography stays in one clean horizontal line at every viewport. */
html body #main .hero.th .thumbs{
  display:flex!important;flex-flow:row nowrap!important;align-items:stretch!important;
  gap:10px!important;width:100%!important;max-width:1240px!important;min-width:0!important;
  margin:18px auto 0!important;padding:0 0 14px!important;box-sizing:border-box!important;
  overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity!important;
  scroll-padding-inline:2px!important;overscroll-behavior-x:contain!important;scrollbar-width:thin!important;
  scrollbar-color:rgba(214,166,78,.7) transparent!important;perspective:none!important;
}
html body #main .hero.th .thumbs .th-card{
  display:block!important;position:relative!important;flex:1 1 0%!important;min-width:0!important;
  width:auto!important;max-width:none!important;height:auto!important;aspect-ratio:16/10!important;
  padding:0!important;margin:0!important;overflow:hidden!important;box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.25)!important;border-radius:12px!important;
  background:#173d2e!important;opacity:.78!important;transform:none!important;box-shadow:none!important;
  scroll-snap-align:start!important;transition:opacity .22s,border-color .22s,box-shadow .22s!important;
}
html body #main .hero.th .thumbs .th-card img{
  display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  max-width:none!important;object-fit:cover!important;filter:saturate(.94) brightness(.95)!important;
  transform:none!important;transition:filter .25s!important;
}
html body #main .hero.th .thumbs .th-card::after{display:none!important;content:none!important}
html body #main .hero.th .thumbs .th-card .th-name,
html body #main .hero.th .thumbs .th-card .th-num{display:none!important}
html body #main .hero.th .thumbs .th-card i{
  display:block!important;position:absolute!important;z-index:2;left:0!important;right:auto!important;bottom:0!important;
  width:0;height:3px!important;border:0!important;border-radius:0!important;background:var(--gold,#d6a64e)!important;
}
html body #main .hero.th .thumbs .th-card.on,
html body #main .hero.th .thumbs .th-card[aria-pressed=true]{opacity:1!important;border-color:#e1bf7b!important;box-shadow:0 0 0 2px rgba(225,191,123,.62)!important}
html body #main .hero.th .thumbs .th-card.on img,
html body #main .hero.th .thumbs .th-card[aria-pressed=true] img{filter:saturate(1.04) brightness(1)!important}
html body #main .hero.th .thumbs .th-card.on i{animation:fl 6.5s linear forwards}
@media(max-width:760px){
  html body #main .hero.th .thumbs{width:100%!important;max-width:100%!important;gap:8px!important;margin-top:16px!important;padding-bottom:11px!important}
  html body #main .hero.th .thumbs .th-card{flex:0 0 clamp(126px,42vw,158px)!important;width:clamp(126px,42vw,158px)!important;min-width:0!important;max-width:none!important;aspect-ratio:16/10!important;border-radius:10px!important}
}
@media(prefers-reduced-motion:reduce){html body #main .hero.th .thumbs .th-card.on i{animation:none!important;width:100%!important}}

/* Support: all seven service icons use the same bespoke forest-and-gold line-art system. */
#main .sc .sc-icon{display:grid!important;place-items:center!important;flex:none;width:48px!important;height:48px!important;
  min-width:48px;border:1px solid rgba(29,73,56,.12)!important;border-radius:13px!important;
  background:linear-gradient(145deg,#f9faf6,#e9eee7)!important;color:#174d37!important;box-shadow:none!important;overflow:hidden}
#main .sc .sc-icon .support-line-icon{display:block!important;width:27px!important;height:27px!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;overflow:visible;stroke:currentColor!important;stroke-width:2!important;fill:none!important}
#main .sc .sc-icon .support-line-icon .icon-gold{stroke:var(--gold,#b7812d)!important}
@media (hover:hover){#main .sc:hover .sc-icon{transform:translateY(-1px)!important;background:linear-gradient(145deg,#fffdf7,#f1ead7)!important;border-color:rgba(183,129,45,.38)!important}}
@media (hover:hover){#main .sc:hover .sc-icon .support-line-icon{color:#174d37!important;stroke:#174d37!important}}
@media(max-width:680px){#main .sc .sc-icon{width:44px!important;height:44px!important;min-width:44px}#main .sc .sc-icon .support-line-icon{width:25px!important;height:25px!important}}

/* Sign-in: use an editorial Coming Soon panel until secure account infrastructure exists. */
.mg-coming-dialog{width:min(100%,540px)!important}
.mg-coming-soon{text-align:center;padding:6px 0 0}
.mg-coming-emblem{display:grid;place-items:center;width:82px;height:82px;margin:3px auto 18px;border:1px solid rgba(183,129,45,.42);border-radius:24px;background:linear-gradient(145deg,#fffdf6,#ece6d3);box-shadow:0 10px 28px -20px rgba(23,77,55,.5)}
.mg-coming-emblem svg{display:block;width:56px;height:56px;stroke:#174d37;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.mg-coming-emblem .mg-coming-gold{stroke:#b7812d;stroke-width:2.5}
.mg-coming-kicker{margin:0 0 11px;color:#7d5a20;font:800 11px/1.3 var(--sans,Inter,sans-serif);letter-spacing:.22em;text-transform:uppercase}
.mg-coming-soon h3{display:flex;flex-direction:column;gap:0;margin:0 auto 16px;color:#174d37;font:500 clamp(44px,10vw,72px)/.84 var(--dsp,Fraunces,Georgia,serif);letter-spacing:-.065em}
.mg-coming-soon h3 span:last-child{color:#b7812d}
.mg-coming-rule{width:84px;height:2px;margin:20px auto;background:#d9d9ce;position:relative;overflow:hidden}
.mg-coming-rule i{position:absolute;left:0;top:0;width:36%;height:100%;background:#b7812d}
.mg-coming-copy{max-width:34ch;margin:0 auto 22px;color:#59635d;font-size:14px;line-height:1.75}
.mg-coming-soon .mg-button{max-width:320px;gap:12px;min-height:49px;font-size:13px;box-shadow:0 8px 20px -14px rgba(23,77,55,.6)}
.mg-coming-foot{margin:16px 0 0;color:#7a817a;font-size:12px;line-height:1.55;letter-spacing:.015em}
@media(max-width:420px){.mg-coming-emblem{width:70px;height:70px;border-radius:21px}.mg-coming-emblem svg{width:48px;height:48px}.mg-coming-soon h3{font-size:clamp(42px,13vw,60px)}.mg-coming-copy{font-size:13px}}


/* ===== KImi Fix New 06: editorial layout, accessible active icons, and compact map pins ===== */
/* Five homepage service tiles: icon anchored top-left, copy anchored bottom-left. */
#main .group-service-mosaic .group-service{position:relative!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-end!important;text-align:left!important;overflow:hidden!important;}
#main .group-service-mosaic .group-service:not(.group-service-feature){min-height:300px!important;padding:clamp(18px,2vw,26px)!important;}
#main .group-service-mosaic .group-service:not(.group-service-feature) .group-service-icon{position:absolute!important;top:clamp(17px,2vw,25px)!important;left:clamp(17px,2vw,25px)!important;right:auto!important;bottom:auto!important;z-index:3!important;display:grid!important;place-items:center!important;width:clamp(46px,4.3vw,58px)!important;height:clamp(46px,4.3vw,58px)!important;min-width:0!important;min-height:0!important;margin:0!important;padding:9px!important;}
#main .group-service-mosaic .group-service:not(.group-service-feature) .group-service-content{position:relative!important;z-index:2!important;display:block!important;width:100%!important;margin-top:auto!important;padding:82px 0 0!important;grid-column:auto!important;grid-row:auto!important;text-align:left!important;}
#main .group-service-mosaic .group-service:not(.group-service-feature) .group-service-content h3{max-width:20ch!important;margin:0 0 8px!important;text-align:left!important;}
#main .group-service-mosaic .group-service:not(.group-service-feature) .group-service-content p{max-width:43ch!important;margin:0!important;text-align:left!important;}
#main .group-service-mosaic .group-service:not(.group-service-feature) .group-service-cta{align-self:flex-start!important;margin-top:12px!important;}
#main .group-service-mosaic .group-service-feature{min-height:520px!important;padding:clamp(22px,2.8vw,36px)!important;}
#main .group-service-mosaic .group-service-feature .group-service-content{position:static!important;z-index:2!important;display:block!important;width:100%!important;margin-top:auto!important;padding:0!important;text-align:left!important;}
#main .group-service-mosaic .group-service-feature .group-feature-overview{position:static!important;display:block!important;width:100%!important;}
#main .group-service-mosaic .group-service-feature .group-feature-heading{position:static!important;display:block!important;width:100%!important;max-width:100%!important;margin:0 0 12px!important;text-align:left!important;}
#main .group-service-mosaic .group-service-feature .group-feature-icon{position:absolute!important;top:clamp(22px,2.8vw,36px)!important;left:clamp(22px,2.8vw,36px)!important;right:auto!important;bottom:auto!important;z-index:3!important;width:clamp(58px,5vw,72px)!important;height:clamp(58px,5vw,72px)!important;min-width:0!important;min-height:0!important;margin:0!important;padding:8px!important;}
#main .group-service-mosaic .group-service-feature .group-feature-heading h3{width:100%!important;max-width:16ch!important;margin:0!important;text-align:left!important;}
#main .group-service-mosaic .group-service-feature .group-service-content>p{max-width:52ch!important;margin:0 0 15px!important;text-align:left!important;}
#main .group-service-mosaic .group-service-feature .group-service-cta{align-self:flex-start!important;}
@media(max-width:760px){
 #main .group-service-mosaic .group-service:not(.group-service-feature){min-height:300px!important;padding:20px!important;}
 #main .group-service-mosaic .group-service:not(.group-service-feature) .group-service-icon{top:19px!important;left:19px!important;width:48px!important;height:48px!important;}
 #main .group-service-mosaic .group-service:not(.group-service-feature) .group-service-content{padding-top:74px!important;}
 #main .group-service-mosaic .group-service-feature{min-height:430px!important;padding:22px!important;}
 #main .group-service-mosaic .group-service-feature .group-feature-icon{top:22px!important;left:22px!important;width:60px!important;height:60px!important;}
}

/* Selected green service tiles: linework switches to white, retaining intentional gold accents. */
html body #main .support-choice-grid .support-choice.on .support-choice-icon{background:linear-gradient(145deg,#174d37,#0f3b2a)!important;border-color:#d7b36b!important;color:#fff!important;}
html body #main .support-choice-grid .support-choice.on .support-choice-icon :is(svg,.ic,.mg-art,.support-line-icon){color:#fff!important;stroke:#fff!important;}
html body #main .support-choice-grid .support-choice.on .support-choice-icon :is(.icon-gold,.icon-gold *){color:#f0c777!important;stroke:#f0c777!important;}
html body #main .support-choice-grid .support-choice.on .support-choice-icon .ic :is(path,circle,line,polyline,polygon,rect,ellipse){stroke:#fff!important;}
html body #main .support-choice-grid .support-choice.on .support-choice-icon .ic .icon-gold{stroke:#f0c777!important;}
html body #main .sc:active .sc-icon,html body #main .sc:focus-visible .sc-icon{background:linear-gradient(145deg,#174d37,#0f3b2a)!important;border-color:#d7b36b!important;color:#fff!important;}
html body #main .sc:active .sc-icon .support-line-icon,html body #main .sc:focus-visible .sc-icon .support-line-icon{color:#fff!important;stroke:#fff!important;}
html body #main .sc:active .sc-icon .support-line-icon .icon-gold,html body #main .sc:focus-visible .sc-icon .support-line-icon .icon-gold{stroke:#f0c777!important;}

/* Smaller map pointers reduce visual noise without shrinking the cluster badges. */
#main .mk .mgpin{width:26px!important;height:33px!important;filter:drop-shadow(0 3px 4px rgba(8,30,20,.3))!important;}
#main .mk .mgpin-body{left:1px!important;top:2px!important;width:24px!important;height:24px!important;border-width:2px!important;}
#main .mk .mgpin-body img{width:16px!important;height:16px!important;}
#main .mk:focus-visible .mgpin{transform:translateY(-2px) scale(1.06)!important;}@media (hover:hover){#main .mk:hover .mgpin{transform:translateY(-2px) scale(1.06)!important;}}

/* RU-104: keep per-item comparison labels readable and independently translatable. */
.ct-best-list{display:flex;flex-direction:column;gap:4px;align-items:inherit}.ct-best-list span{display:block;line-height:1.45}

/* Footer city line: keep the complete location together on every viewport. */
footer .fc .fc-city{display:inline-block!important;width:max-content!important;max-width:none!important;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important}

/* ===== Consolidated source layer: polish.css ===== */
/* MENGED polish layer — loaded last. Adds (1) a glass affordance for everything clickable,
   (2) interaction/accessibility/typography refinements. Colours come from the existing theme
   (forest green, gold, copper, cream); nothing here changes layout or palette. */

:root{
  --gl-blur:12px;
  --gl-ease:cubic-bezier(.2,.8,.2,1);
  /* light surfaces (cream paper) */
  --gl-l-bg:linear-gradient(165deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.52) 100%);
  --gl-l-bd:rgba(21,34,27,.16);
  --gl-l-hi:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 0 rgba(21,34,27,.04);
  --gl-l-sh:0 1px 2px rgba(21,34,27,.06),0 6px 18px -8px rgba(21,34,27,.18);
  --gl-l-bg-h:linear-gradient(165deg,rgba(255,255,255,.98) 0%,rgba(255,250,238,.74) 100%);
  --gl-l-bd-h:rgba(176,69,18,.55);
  --gl-l-sh-h:0 2px 4px rgba(21,34,27,.08),0 14px 30px -10px rgba(176,69,18,.32);
  /* dark surfaces (forest green) */
  --gl-d-bg:linear-gradient(165deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.07) 100%);
  --gl-d-bd:rgba(255,255,255,.30);
  --gl-d-hi:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 rgba(0,0,0,.18);
  --gl-d-sh:0 6px 20px -8px rgba(0,0,0,.5);
  --gl-d-bg-h:linear-gradient(165deg,rgba(255,255,255,.34) 0%,rgba(226,169,59,.16) 100%);
  --gl-d-bd-h:rgba(226,169,59,.8);
  --gl-d-sh-h:0 0 0 1px rgba(226,169,59,.25),0 14px 34px -10px rgba(0,0,0,.6);
}

/* ---------- Base polish ---------- */
html{-webkit-text-size-adjust:100%;scroll-padding-top:88px;-webkit-tap-highlight-color:transparent}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
::selection{background:rgba(226,169,59,.45);color:inherit}
main h1,main h2,main h3{text-wrap:balance}
main p,main li{text-wrap:pretty}
img{max-width:100%}
a,button,summary,[role=button],[role=option]{touch-action:manipulation}
[hidden]{display:none!important}

/* Keyboard focus: clear, on-theme, never clipped */
:where(a,button,summary,input,select,textarea,[tabindex]):focus-visible{
  outline:2px solid var(--acc,#b04512);outline-offset:3px;
  box-shadow:0 0 0 6px rgba(226,169,59,.30);
  border-radius:inherit;
}
:where(.hero,.dark,footer,#menu,.side,.sc,.boot-fallback) :where(a,button,summary):focus-visible{
  outline-color:#f2c866;box-shadow:0 0 0 6px rgba(242,200,102,.28)
}
:where(a,button):focus:not(:focus-visible){outline:none}

/* ---------- Glass: shared mechanics ---------- */
:is(
  main a.lnk,main a.biz-inline-link,main a.group-text-link,
  main a.fc-tel,main a.fc-email,main a.fc-contact-primary,
  #main .atl aside ul#al li[data-item]>.atlas-open-link,
  main .btn.alt,main .btn.lt,
  main .chip,main .cmp,main .pax-btn,main .guide-index-link,
  #cb a,#cb button,
  .mg-account-trigger,#lgb,#sbtn,#burger,.lgb,.sbtn,.burger,#up,#pclose
){
  -webkit-backdrop-filter:blur(var(--gl-blur)) saturate(1.5);
  backdrop-filter:blur(var(--gl-blur)) saturate(1.5);
  transition:background .25s var(--gl-ease),border-color .25s var(--gl-ease),box-shadow .25s var(--gl-ease),transform .25s var(--gl-ease),color .25s var(--gl-ease),gap .3s var(--gl-ease);
}

/* Light-context glass */
:is(
  main a.lnk,main a.biz-inline-link,main a.group-text-link,
  main a.fc-tel,main a.fc-email,
  #main .atl aside ul#al li[data-item]>.atlas-open-link,
  main .btn.alt,main .chip:not(.on),main .cmp,main .pax-btn,main .guide-index-link,
  .mg-account-trigger,.lgb,.sbtn,.burger,#pclose
):not([data-gl=d]){
  background:var(--gl-l-bg);
  border:1px solid var(--gl-l-bd);
  box-shadow:var(--gl-l-hi),var(--gl-l-sh);
}
:is(
  main a.lnk,main a.biz-inline-link,main a.group-text-link,
  main a.fc-tel,main a.fc-email,
  #main .atl aside ul#al li[data-item]>.atlas-open-link,
  main .btn.alt,main .chip:not(.on),main .cmp,main .pax-btn,main .guide-index-link,
  .mg-account-trigger,.lgb,.sbtn,.burger,#pclose
):not([data-gl=d]):is(:hover,:focus-visible){
  background:var(--gl-l-bg-h);border-color:var(--gl-l-bd-h);box-shadow:var(--gl-l-hi),var(--gl-l-sh-h);
  transform:translateY(-1px);
}

/* Dark-context glass (tagged by polish.js from the element's text colour) */
[data-gl=d]:is(
  a.lnk,a.biz-inline-link,a.group-text-link,a.fc-tel,a.fc-email,
  .atlas-open-link,.btn.alt,.btn.lt,.chip,.cmp,.pax-btn,.guide-index-link,
  .mg-account-trigger,.lgb,.sbtn,.burger,#pclose,#up
){
  background:var(--gl-d-bg);border:1px solid var(--gl-d-bd);box-shadow:var(--gl-d-hi),var(--gl-d-sh);
}
[data-gl=d]:is(
  a.lnk,a.biz-inline-link,a.group-text-link,a.fc-tel,a.fc-email,
  .atlas-open-link,.btn.alt,.btn.lt,.chip,.cmp,.pax-btn,.guide-index-link,
  .mg-account-trigger,.lgb,.sbtn,.burger,#pclose,#up
):is(:hover,:focus-visible){
  background:var(--gl-d-bg-h);border-color:var(--gl-d-bd-h);box-shadow:var(--gl-d-hi),var(--gl-d-sh-h);transform:translateY(-1px);
}

/* Text-style links become small glass pills (shape only; colour stays on theme) */
:is(main a.lnk,main a.biz-inline-link,main a.group-text-link,main a.fc-tel,main a.fc-email){
  display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:7px 16px;border-radius:99px;
  font-weight:600;line-height:1.2;
}
@media (hover:hover){:is(main a.lnk):hover{gap:12px}}
#main .atl aside ul#al li[data-item]>.atlas-open-link{
  margin:2px 0 10px 52px;padding:6px 14px;min-height:32px;border-radius:99px;font-size:12px;border-bottom:1px solid var(--gl-l-bd);
}

/* Primary solid buttons: keep colour, add glass sheen + edge light */
main .btn:not(.alt):not(.lt),.btn.sm:not(.alt):not(.lt){
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 0 0 1px rgba(255,255,255,.10),0 10px 24px -10px rgba(21,34,27,.55);
  background-image:linear-gradient(180deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,0) 55%);
  transition:transform .3s var(--gl-ease),box-shadow .3s var(--gl-ease),color .3s;
}
@media (hover:hover){main .btn:not(.alt):not(.lt):hover,.btn.sm:not(.alt):not(.lt):hover{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 0 0 1px rgba(226,169,59,.55),0 14px 30px -10px rgba(176,69,18,.55);
}}
main .btn:active,.btn:active{transform:translateY(0) scale(.985)}
/* white button on photos/dark: frosted white glass */
main .btn.lt,.btn.lt{
  background:linear-gradient(165deg,rgba(255,255,255,.96),rgba(255,255,255,.78));color:#15110e;
  border:1px solid rgba(255,255,255,.85);box-shadow:inset 0 1px 0 #fff,0 12px 28px -12px rgba(0,0,0,.55);
}
@media (hover:hover){main .btn.lt:hover,.btn.lt:hover{box-shadow:inset 0 1px 0 #fff,0 0 0 2px rgba(226,169,59,.7),0 16px 34px -12px rgba(0,0,0,.6)}}

/* Selected state for chips / choices stays solid so "on" is unmistakable */
main .chip.on{box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 6px 16px -8px rgba(21,34,27,.6)}

/* ---------- Card-like links: glass ring + lift (no layout change) ---------- */
:is(a.card,a.guide-card-link,.guide-card-link,a.trade-pain-card,a.contact-method,a.ev,a.sc,a.rt,a.row,a.tc,a.group-outcome-row,
    a.group-service-photo-card,button.support-choice,button.th-card,a.stay-cta){
  cursor:pointer;
  transition:transform .35s var(--gl-ease),box-shadow .35s var(--gl-ease),border-color .3s var(--gl-ease),background-color .3s var(--gl-ease);
}
:is(a.card,a.guide-card-link,.guide-card-link,a.trade-pain-card,a.contact-method,a.ev,a.rt,a.row,a.group-outcome-row,
    button.support-choice,button.th-card):is(:hover,:focus-visible){
  transform:translateY(-3px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 0 0 1px rgba(226,169,59,.55),0 22px 40px -18px rgba(21,34,27,.45);
  border-color:rgba(226,169,59,.65);
}
a.group-service-photo-card:is(:hover,:focus-visible),a.sc:is(:hover,:focus-visible){
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 0 0 1px rgba(226,169,59,.6),0 26px 46px -18px rgba(0,0,0,.55);
}
a.card:is(:hover,:focus-visible) .ph{box-shadow:0 0 0 1px rgba(255,255,255,.35) inset}
/* The cards already carry an arrow badge (.ph i) that appears on hover: make it glass,
   and show it at rest on touch screens where there is no hover. */
a.card .ph i{
  background:linear-gradient(165deg,rgba(255,255,255,.42),rgba(255,255,255,.14));
  border:1px solid rgba(255,255,255,.6);color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 8px 18px -8px rgba(0,0,0,.55);
  -webkit-backdrop-filter:blur(10px) saturate(1.4);backdrop-filter:blur(10px) saturate(1.4);
}
a.card:is(:hover,:focus-visible) .ph i{box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 0 0 2px rgba(226,169,59,.7),0 10px 22px -8px rgba(0,0,0,.6)}
@media (hover:none){a.card .ph i{transform:scale(.88) rotate(0)}}

/* Photo cards without their own arrow badge get a glass one (::before is unused on .ph) */
a.card .ph:not(:has(i))::before{
  content:"";position:absolute;top:12px;right:12px;z-index:3;width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(255,255,255,.6);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 8px 18px -8px rgba(0,0,0,.55);
  -webkit-backdrop-filter:blur(10px) saturate(1.4);backdrop-filter:blur(10px) saturate(1.4);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center/16px 16px no-repeat,linear-gradient(165deg,rgba(255,255,255,.4),rgba(255,255,255,.12));
  pointer-events:none;transition:transform .35s var(--gl-ease),box-shadow .3s var(--gl-ease);
}
a.card:is(:hover,:focus-visible) .ph:not(:has(i))::before{transform:translate(2px,-2px) scale(1.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 0 0 2px rgba(226,169,59,.7),0 10px 22px -8px rgba(0,0,0,.6)}

/* Place-card eyebrow sat at a fixed 102px, assuming a one-line title; polish.js measures the
   real title height into --mg-h3h so two-line names no longer collide with the eyebrow. */
body[data-s=tours] .card .ph b{bottom:calc(56px + var(--mg-h3h,36px) + 10px)}

/* ---------- Navigation ---------- */
#links a{border:1px solid transparent;transition:opacity .2s,background .25s var(--gl-ease),border-color .25s var(--gl-ease)}
#links a:focus-visible,#links a.on{
  background:linear-gradient(165deg,rgba(255,255,255,.2),rgba(255,255,255,.06));
  border-color:rgba(255,255,255,.22);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}@media (hover:hover){#links a:hover{
  background:linear-gradient(165deg,rgba(255,255,255,.2),rgba(255,255,255,.06));
  border-color:rgba(255,255,255,.22);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}}
#nav.sol #links a:focus-visible,#nav.sol #links a.on{
  background:var(--gl-l-bg);border-color:var(--gl-l-bd);box-shadow:var(--gl-l-hi)
}@media (hover:hover){#nav.sol #links a:hover{
  background:var(--gl-l-bg);border-color:var(--gl-l-bd);box-shadow:var(--gl-l-hi)
}}
#links a:after{display:none}
.mg-account-trigger{min-height:40px}
/* Sign-in pill sat as a grey blob on the hero: make it glass like its neighbours */

/* Footer + inline links */
footer a:not(.btn){transition:color .2s,background-size .3s var(--gl-ease)}
footer a:not(.btn):is(:hover,:focus-visible){color:#fff;text-decoration:underline;text-decoration-color:rgba(226,169,59,.9);text-underline-offset:4px;text-decoration-thickness:1.5px}
:where(main p,main li,main dd,main td,main figcaption,main .lead) a:not([class]),
:where(main p,main li,main dd,main td) a.resource-link{
  color:var(--acc,#b04512);font-weight:600;text-decoration:underline;text-decoration-color:rgba(176,69,18,.35);
  text-decoration-thickness:1.5px;text-underline-offset:3px;border-radius:5px;padding:0 3px;margin:0 -3px;
  transition:background-color .2s,text-decoration-color .2s,box-shadow .2s;
}
:where(main p,main li,main dd,main td,main figcaption,main .lead) a:not([class]):is(:hover,:focus-visible){
  background:linear-gradient(165deg,rgba(255,255,255,.8),rgba(255,236,200,.55));
  text-decoration-color:var(--acc,#b04512);box-shadow:0 0 0 1px rgba(176,69,18,.22),0 6px 14px -8px rgba(176,69,18,.45);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
}
:where(.hero,.dark,.sc) :where(p,li) a:not([class]){color:#f2c866;text-decoration-color:rgba(242,200,102,.5)}

/* ---------- Floating controls ---------- */
#up{background:linear-gradient(165deg,rgba(176,69,18,.92),rgba(150,52,10,.82));border:1px solid rgba(255,255,255,.35);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 12px 28px -10px rgba(0,0,0,.55);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);bottom:max(20px,env(safe-area-inset-bottom))}
@media (hover:hover){#up:hover{transform:translateY(-2px)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 0 0 2px rgba(226,169,59,.6),0 16px 32px -10px rgba(0,0,0,.6)}}
#toast{background:linear-gradient(165deg,rgba(21,34,27,.92),rgba(21,34,27,.78));border:1px solid rgba(255,255,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 18px 40px -16px rgba(0,0,0,.6);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
#pal .pbox,#lg{background:linear-gradient(165deg,rgba(255,255,255,.94),rgba(255,255,255,.82));border:1px solid rgba(255,255,255,.75);
  box-shadow:0 30px 80px -24px rgba(21,34,27,.55);-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5)}
#lg button,#pr li{transition:background-color .2s}
#lg button:is(:hover,:focus-visible){background:rgba(226,169,59,.18)}@media (hover:hover){#pr li:hover{background:rgba(226,169,59,.18)}}
.mg-dialog{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}

/* ---------- Touch comfort ---------- */
@media (pointer:coarse){
  main .chip,main .cmp,main .pax-btn,main .guide-index-link{min-height:44px;min-width:44px}
  main .cmp{width:44px;height:44px}
  #links a,.lgb,.sbtn,.burger,.mg-account-trigger{min-height:44px}
  #main .atl aside ul#al li[data-item]>.atlas-open-link{min-height:40px;padding:9px 16px}
  :where(main p,main li) a:not([class]){padding-top:6px;padding-bottom:6px}
}
@media (prefers-reduced-motion:no-preference){

  @keyframes mg-sheen{from{background-position:0 0}to{background-position:100% 100%}}
}


/* ---------- Service mosaic: "Experience the Ethiopia few ever see" + its four sibling cards ----------
   The headline link is plain text on the photo (no pill/box around it), and the card icon is a direct
   child of the photo card sitting in its top-left corner, above the photo and its shade. The card
   keeps the site's own icon sizing; these rules only make that placement unbreakable. */
#main .group-service-feature .group-feature-heading{display:block!important;margin:0 0 15px!important}
#main .group-service-feature .group-feature-overview{
  display:block;padding:0;min-height:0;border:0;border-radius:12px;background:none;box-shadow:none;
  -webkit-backdrop-filter:none;backdrop-filter:none;transform:none;
}
#main .group-service-feature .group-feature-overview:is(:hover,:focus-visible) h3{
  text-decoration:underline;text-decoration-color:rgba(226,169,59,.95);text-decoration-thickness:2px;text-underline-offset:.16em;
}
#main .group-service-feature>.group-feature-icon{
  position:absolute!important;z-index:3;margin:0!important;
  top:clamp(18px,2.6vw,36px)!important;left:clamp(18px,2.6vw,36px)!important;
  right:auto!important;bottom:auto!important;
}
/* One call-to-action look on all five cards: the feature card's CTA is a link, the others are spans */
#main .group-services-section .group-service .group-service-cta{
  display:inline-flex;align-items:center;gap:8px;min-height:38px;margin-top:14px!important;padding:7px 16px!important;
  border:1px solid var(--gl-d-bd)!important;border-radius:99px;
  background:var(--gl-d-bg)!important;box-shadow:var(--gl-d-hi),var(--gl-d-sh);color:#fff!important;
  -webkit-backdrop-filter:blur(12px) saturate(1.5);backdrop-filter:blur(12px) saturate(1.5);
  font-size:13px;font-weight:700;line-height:1.2;text-decoration:none;
  transition:background .25s var(--gl-ease),border-color .25s var(--gl-ease),box-shadow .25s var(--gl-ease),gap .3s var(--gl-ease);
}
#main .group-services-section .group-service:is(:hover,:focus-visible,:focus-within) .group-service-cta{
  background:var(--gl-d-bg-h)!important;border-color:var(--gl-d-bd-h)!important;box-shadow:var(--gl-d-hi),var(--gl-d-sh-h);gap:12px;
}

/* ---------- Fallbacks ---------- */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  :root{--gl-l-bg:linear-gradient(165deg,#fff,#f3efe7);--gl-d-bg:linear-gradient(165deg,rgba(255,255,255,.28),rgba(255,255,255,.14))}
  #pal .pbox,#lg{background:#fff}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important}
  @media (hover:hover){:is(a,button):hover{transform:none!important}}
}
@media (prefers-reduced-transparency:reduce){
  :root{--gl-blur:0px;--gl-l-bg:#fff;--gl-d-bg:rgba(21,34,27,.85)}
}
@media (forced-colors:active){
  :is(a,button){border:1px solid LinkText}
  :focus-visible{outline:3px solid Highlight}
}
@media print{
  #up,#toast,#nav,#menu,#lg,#pal{display:none!important}
  *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important}
}

/* ======================================================================
   polish-09 — layout repairs
   ====================================================================== */

/* "How the work is organised": the number badge is hidden site-wide, but the list was still a
   34px + 1fr grid, so each sentence fell into the 34px column and wrapped one word per line. */
#main .numbered-guide{gap:0;margin:20px 0 30px}
#main .numbered-guide li{display:block;grid-template-columns:none;padding:15px 0 15px 20px;margin:0;
  border-left:2px solid rgba(196,80,27,.34);color:var(--mut);font-size:15px;line-height:1.7;
  overflow-wrap:normal;word-break:normal;hyphens:none}
#main .numbered-guide li+li{border-top:1px solid rgba(26,47,35,.08);border-top-left-radius:0}
@media (hover:hover){#main .numbered-guide li:hover{border-left-color:#c4501b}}

/* Balanced wrapping for running copy (avoids one-word last lines and ragged breaks). */
#main :is(p,li,figcaption){text-wrap:pretty}
#main :is(h1,h2,h3){text-wrap:balance}

/* Cars quote bar: give the date, passenger and button columns room so nothing is clipped. */
@media(min-width:1101px){
  body[data-s="cars"] .qf{grid-template-columns:minmax(0,1.15fr) minmax(0,1.15fr) minmax(250px,1.6fr) minmax(0,1fr) minmax(132px,.8fr) minmax(128px,auto)}
  body[data-s="cars"] .qf>.btn{min-width:128px;margin:13px}
}
body[data-s="cars"] .qf-field input{text-overflow:ellipsis}
.pax-stepper{max-width:100%;min-width:0}
.pax-stepper .pax-btn{flex:none}
.pax-stepper input{min-width:0;width:100%;text-align:center}

/* Support service chooser: no mid-word hyphenation, and room for the label on phones. */
.support-choice-label{hyphens:none;-webkit-hyphens:none;overflow-wrap:normal;word-break:normal}
@media(max-width:480px){
  .support-choice-mark{display:none!important}
  html body #main .support-choice{grid-template-columns:34px minmax(0,1fr)!important}
  .support-choice-grid>.support-choice:last-child:nth-child(odd){grid-column:1/-1}
}
.support-choice-grid>.support-choice:last-child:nth-child(odd){justify-self:stretch}

/* Search inputs: keep placeholder readable instead of cutting mid-word. */
input[type=search],input[type=text],input:not([type]){text-overflow:ellipsis}

/* Business planning tool cards: separate rounded cards instead of a bordered strip whose
   inner dividers collided with the rounded corners. */
#main .tg{gap:16px;border:0;background:transparent}
#main .tg>.tc{border:1px solid var(--line);border-radius:18px;background:#fff;padding:26px;min-height:0}
#main .tg>.tc>:last-child{margin-top:auto}
@media(max-width:900px){#main .tg{grid-template-columns:minmax(0,1fr)}}
@media(min-width:901px) and (max-width:1100px){#main .tg{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Atlas result names: allow normal wrapping rather than a single squeezed line. */
#main :is(.atlas-list,.atlas-results,#atl,#atlas) :is(b,span,small){overflow-wrap:anywhere}

/* Atlas sidebar headline was sized for a full-width hero and wrapped to four lines in a 340px column. */
.atl>aside h1{font-size:clamp(34px,3vw,46px);line-height:1.04;letter-spacing:-.02em}

/* ======== polish-10: image resilience + finishing ======== */
/* Photos fade in once decoded, so late/retried loads never pop or leave a hard empty box */
.tmp img,.ph img,.bg img,.group-service-photo,.plan-destination-hero img{transition:opacity .6s var(--gl-ease)}
img[loading=lazy]:not([src]),img.image-failed{opacity:0}
/* Reserve space so images arriving late don't shove the layout around */
.tmp,.ph{aspect-ratio:4/3;overflow:hidden}
.tmp img,.ph img{width:100%;height:100%;object-fit:cover;display:block}
/* Softer, more cinematic image hover (pointer devices only) */
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  a.card .ph img,a.pc2 .tmp img,.vc .ph img{transition:transform 1.1s var(--gl-ease)}
  a.card:hover .ph img,a.pc2:hover .tmp img,.vc:hover .ph img{transform:scale(1.045)}
}
/* Respect reduced motion everywhere */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  [data-r]{opacity:1!important;transform:none!important}
}
/* Comfortable tap targets on touch screens */
@media (pointer:coarse){a.lnk,.chip,.btn,.sbtn,.burger{min-height:44px}}
/* Safe-area padding for notched phones */
@supports(padding:max(0px)){#main,#foot{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}}
/* Print: clean, link-friendly output */
@media print{#nav,#up,#cb,#menu,#lg,#pal,.bar,#toast{display:none!important}body{background:#fff!important}}

/* ======== Social channels ======== */
.soc-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.soc{--soc-fg:currentColor;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:14px;color:inherit;
  border:1px solid var(--soc-bd,rgba(21,34,27,.16));background:var(--soc-bg,linear-gradient(165deg,rgba(255,255,255,.86),rgba(255,255,255,.52)));
  box-shadow:var(--soc-sh,0 1px 2px rgba(21,34,27,.06),0 6px 16px -8px rgba(21,34,27,.2));
  transition:transform .35s var(--gl-ease),border-color .3s,background .3s,box-shadow .3s,color .3s;text-decoration:none}
.soc .soc-ic{width:21px;height:21px}
a.soc:focus-visible{transform:translateY(-3px);border-color:var(--soc-bd-h,rgba(176,69,18,.55));color:var(--acc,#b04512);box-shadow:0 14px 26px -10px rgba(176,69,18,.35)}@media (hover:hover){a.soc:hover{transform:translateY(-3px);border-color:var(--soc-bd-h,rgba(176,69,18,.55));color:var(--acc,#b04512);box-shadow:0 14px 26px -10px rgba(176,69,18,.35)}}
a.soc:active{transform:translateY(-1px) scale(.97)}
.soc.is-pending{opacity:.5;cursor:default;border-style:dashed}
.soc-lg .soc{width:52px;height:52px;border-radius:16px}
.soc-lg .soc .soc-ic{width:24px;height:24px}
/* Footer sits on forest green */
footer .fc-social{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}
footer .fc-social h4{margin:0 0 12px!important}
footer .soc{--soc-bd:rgba(255,255,255,.28);--soc-bg:linear-gradient(165deg,rgba(255,255,255,.2),rgba(255,255,255,.06));--soc-sh:0 6px 18px -8px rgba(0,0,0,.5);color:#fff}
footer a.soc:focus-visible{color:var(--gold,#e2a93b);border-color:rgba(226,169,59,.8);box-shadow:0 14px 28px -10px rgba(0,0,0,.6)}@media (hover:hover){footer a.soc:hover{color:var(--gold,#e2a93b);border-color:rgba(226,169,59,.8);box-shadow:0 14px 28px -10px rgba(0,0,0,.6)}}
/* Contact page block */
.contact-social{margin:34px 0 8px;padding:26px 26px 28px;border:1px solid rgba(21,34,27,.12);border-radius:22px;background:linear-gradient(165deg,rgba(255,255,255,.75),rgba(255,255,255,.4))}
.contact-social h2{margin:0 0 6px;font-size:clamp(20px,2.4vw,26px)}
.contact-social p{margin:0 0 18px;max-width:52ch;opacity:.8}
.rq-sent-social .soc-row{margin-top:10px}
/* footer overrides: beat the generic footer link rules so icon buttons stay centred squares */
footer .fc .soc-row a.soc,footer .soc-row .soc{display:inline-grid!important;place-items:center;width:44px;height:44px;padding:0!important;margin:0!important;transform:none;opacity:1}
footer .soc-row .soc.is-pending{opacity:.5}
@media (hover:hover){footer .fc .soc-row a.soc:hover{transform:translateY(-3px)!important}}
footer .fc .soc-row a.soc .soc-ic{display:block;width:21px;height:21px}
/* footer contact pills: softer, rounded, consistent */
footer .fc a.fc-email,footer .fc a.fc-tel{border-radius:12px!important;padding:8px 12px!important;margin:3px 0!important}

/* ======== Quick contact (WhatsApp / Telegram beside a CTA) ========
   Small and unobtrusive by design: a third, independent option next to
   the primary CTA — never a bigger or louder element than the .btn it sits beside. */
.qc{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}
.qc-lbl{font:600 12px var(--sans);letter-spacing:.02em;color:var(--mut);opacity:.85}
.qc-link{display:inline-flex;align-items:center;gap:6px;padding:7px 13px 7px 10px;border-radius:99px;font:600 13px var(--sans);text-decoration:none;color:inherit;
  border:1px solid rgba(21,34,27,.16);background:rgba(255,255,255,.55);transition:transform .3s var(--ease),border-color .3s,background .3s}
.qc-link .soc-ic{width:16px;height:16px}
@media (hover:hover){.qc-link:hover{transform:translateY(-2px);border-color:var(--acc,#b04512);color:var(--acc,#b04512)}}
.qc-link:active{transform:translateY(0) scale(.97)}
.qc-hero{margin-top:18px}
.qc-hero.qc-dark,.qc-dark .qc-link{color:#fff}
.qc-dark .qc-lbl{color:rgba(255,255,255,.75)}
.qc-dark .qc-link{border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.1)}
@media (hover:hover){.qc-dark .qc-link:hover{border-color:var(--gold,#e2a93b);color:var(--gold,#e2a93b)}}
.qc-center{justify-content:center}
.qc-form{margin:14px 0 4px}
@media(max-width:620px){.qc{gap:8px}.qc-lbl{width:100%}}

/* ======== Typography & hero refinements ======== */
/* Display type: never tighter than -0.02em, so letters can't collide if the web font is slow or missing */
main h1,main h2,.hero h1,.hero h2{letter-spacing:max(-.02em,-.8px)}
/* Hero side card: let the browser balance lines instead of awkward hard breaks */
.hero [class*="card"] p,.hero aside p{text-wrap:balance}
.hero [class*="card"] br,.hero aside br{display:none}
/* Section intro paragraphs: comfortable measure + calmer colour contrast (AA) */
main .sh p,main .mut{max-width:62ch}
main .mut{color:color-mix(in srgb,currentColor 78%,transparent)}
/* Card focus + press feedback */
a.card:active,a.pc2:active,.stc a:active{transform:scale(.995)}
a.card:focus-visible,a.pc2:focus-visible{outline-offset:4px;border-radius:18px}

/* ======== polish-10 · visual audit pass ======== */
/* 1 · Contrast: countdown pill sat at 3.7:1 on its tint */
.cdn{color:#7a2f0e}
/* 2 · Labels: eyebrows readable but still quiet */
.eye{font-size:11px;font-weight:700;letter-spacing:.16em;line-height:1.4}
main h4,footer h4{letter-spacing:.14em}
/* 3 · Contact cards: the email must never break mid-word; give it a full row on desktop */
.contact-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.contact-methods .contact-method:first-child{grid-column:1/-1}
.contact-method b{font-size:clamp(15px,1.5vw,18px);overflow-wrap:anywhere;word-break:normal;font-variant-numeric:tabular-nums}
@media (max-width:640px){.contact-methods{grid-template-columns:1fr}.contact-method b{font-size:15px}}
/* 4 · Numbers line up */
.fc-tel,.fb,.cdn,.price,[data-n]{font-variant-numeric:tabular-nums}
/* 5 · Buttons & chips: one comfortable minimum height and a clearer pressed state */
.btn{min-height:44px;font-weight:650;letter-spacing:.005em}
.btn:active{transform:translateY(1px) scale(.985)}
.chip,.cmp{min-height:36px}
/* 6 · Running text: readable measure, hanging punctuation, quiet underlines */
main p a:not(.btn):not(.lnk),main li a:not(.btn):not(.lnk){text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent)}
@media (hover:hover){main p a:not(.btn):not(.lnk):hover{text-decoration-color:currentColor}}
/* 7 · Depth: cards on cream get one consistent resting shadow and lift */
a.card,a.pc2,.vc,.stc{box-shadow:0 1px 2px rgba(21,34,27,.05),0 10px 24px -14px rgba(21,34,27,.22);transition:transform .45s var(--gl-ease),box-shadow .45s var(--gl-ease)}
@media (hover:hover){a.card:hover,a.pc2:hover,.vc:hover,.stc:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(21,34,27,.06),0 26px 46px -18px rgba(21,34,27,.34)}}
/* 8 · Refined scrollbars on desktop */
@media (hover:hover){html{scrollbar-width:thin;scrollbar-color:rgba(21,34,27,.35) transparent}}
/* 9 · Mobile type: slightly larger body copy, never the 13px squeeze */
@media (max-width:640px){main p,main li{font-size:max(1em,15px);line-height:1.62}}

/* ---- type system: single display/serif voice, calmer tracking, clearer buttons ---- */
:root{--serif:"Fraunces",Georgia,serif}
html body main h1{letter-spacing:-.022em!important}
html body main h2{letter-spacing:-.018em!important}
html body main h3,html body main h4.t{letter-spacing:-.01em!important}
.hero h1,.hero .display{line-height:1.04}
.btn,.btn span{font-size:14px}
/* business hero: keep the blueprint grid, but quieter so it never fights the copy */
.bh{background-blend-mode:normal}
.bh{background-image:linear-gradient(rgba(216,220,207,.55) 1px,transparent 1px),linear-gradient(90deg,rgba(216,220,207,.55) 1px,transparent 1px)!important}
/* cars quote form: labels never split mid-word; the "Optional" tag drops under the label on narrow screens */
body[data-s="cars"] .qf-field{overflow-wrap:normal;word-break:normal;hyphens:none}
body[data-s="cars"] .qf-field>label,body[data-s="cars"] .qf-field>span:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
body[data-s="cars"] .qf-field em{font-size:11px;font-style:normal;letter-spacing:.04em;text-transform:none;opacity:.85;color:#5c6a60}
@media (max-width:640px){body[data-s="cars"] .qf>.qf-field{padding:15px 14px!important}}
body[data-s="cars"] .qf-field input[type=date],body[data-s="cars"] .qf-field input[type=time]{font-size:14px;padding-inline:10px}
html body .cdn{color:#6a2409!important}
html body[data-s="cars"] .qf-field em{color:#46544b!important}

/* ======== polish-10 · design decisions ======== */
/* DECISION 1 — one paper tone across all five services. Business was stark white; it now sits on the shared cream. */
.bh{background:linear-gradient(rgba(216,220,207,.55) 1px,transparent 1px) 0 0/100% 80px,linear-gradient(90deg,rgba(216,220,207,.55) 1px,transparent 1px) 0 0/80px 100%,var(--bg)!important;background-blend-mode:normal}
/* DECISION 2 — text on photography always gets a scrim, so legibility never depends on which photo is chosen */
.mos a>.tmp,.mos a>img{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.mos a::after{content:"";position:absolute;inset:auto 0 0 0;height:75%;background:linear-gradient(to top,rgba(9,19,13,.88) 0%,rgba(9,19,13,.55) 45%,transparent 100%);pointer-events:none;z-index:1}
.mos a>*:not(.tmp):not(img){position:relative;z-index:2;text-shadow:0 1px 14px rgba(0,0,0,.35)}
/* DECISION 3 — request page: heading left, form right on desktop (it was a left title above a floating centred form) */
@media (min-width:1000px){
  main:has(>.ph0+.rq){display:grid;grid-template-columns:minmax(300px,5fr) minmax(0,7fr);column-gap:clamp(40px,6vw,96px);align-items:start;width:min(1240px,100% - 48px);margin-inline:auto;padding-top:clamp(40px,7vh,90px)}
  main:has(>.ph0+.rq)>datalist{display:none}
  main:has(>.ph0+.rq)>.ph0{position:sticky;top:110px;width:auto!important;margin:0!important;padding:0!important;max-width:none!important}
  main:has(>.ph0+.rq)>.rq{width:auto!important;margin:0!important;max-width:none!important;padding-bottom:90px}
  main:has(>.ph0+.rq) .ph0 h1{font-size:clamp(40px,4.4vw,64px);line-height:1.04}
  main:has(>.ph0+.rq) .types{grid-template-columns:repeat(2,minmax(0,1fr))}
  main:has(>.ph0+.rq) .types .ty:last-child:nth-child(odd){grid-column:1/-1}
}
@media (max-width:999px){.types .ty:last-child:nth-child(odd){grid-column:1/-1}}
/* DECISION 4 — a lone dialog stays dismissed when you navigate */
/* BUG FIX — the page container receives programmatic focus after each navigation (for screen readers);
   it must not draw a focus frame around the whole page. Real interactive controls keep their rings. */
main:focus,main:focus-visible,[tabindex="-1"]:focus,[tabindex="-1"]:focus-visible{outline:none!important;box-shadow:none!important}
@media (min-width:1000px){main:has(>.ph0+.rq)>.rq{padding-top:70px}}

/* ======== polish-11 · flagship phone / tablet / laptop optimisation ======== */

/* 1 · Real mobile viewport height. 100vh on iPhone/Android is the *tallest* state (toolbars hidden), which pushed
      short pages into a pointless scroll and cut the search sheet off. svh/dvh follow the visible area. */
main{min-height:100vh;min-height:100svh}
.atl aside ul#al{max-height:calc(100vh - 320px);max-height:calc(100dvh - 320px)}
.pbox{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}

/* 2 · Base touch behaviour: no 300ms / double-tap-zoom on controls, no grey tap flash, crisp text, and a safety net so a
      single wide element can never create sideways scrolling on a phone. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
a,button,input,select,textarea,summary,label,[role=button]{touch-action:manipulation}

/* 3 · iOS Safari zooms the whole page when a field under 16px is focused (and rarely zooms back). Keep every form
      control at 16px on touch devices and small windows; layout, heights and padding are untouched. */
@media (pointer:coarse),(max-width:1024px){
  html body :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]),
  html body #main :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]),
  html body #pal :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]),
  html body .mg-layer :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]),
  html body #foot :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]){font-size:16px!important}
}

/* 4 · Touch targets. Hit areas grow to 44px without moving anything: padding is cancelled by an equal negative margin. */
@media (pointer:coarse),(max-width:1024px){
  html body a.logo{padding-block:7px;margin-block:-7px}
  html body .vb h3 a,html body .stc-body h3 a{padding-block:10px}
  html body #main section.group-hero #int.intents button{padding-inline:7px!important;margin-inline:-7px!important}
}
@media (pointer:coarse){
  html body .mg-account-trigger{min-width:44px;min-height:44px}
  html body .pax-btn{min-width:44px;min-height:44px}
  html body .chip,html body a.lnk,html body .group-service-cta,html body .fc-tel,html body .fc-email,html body .mg-button,html body .mg-x{min-height:44px}
  html body .mg-x{min-width:44px}
}

/* 4b · Footer links, passenger steppers and the home service CTA were pinned to 24–38px by older !important rules. */
@media (pointer:coarse),(max-width:1024px){
  html body #foot .fc nav a,html body #foot .fc nav a:visited{padding-block:13px!important}
  html body #foot .fc nav a.fc-group-parent{min-height:44px;margin-bottom:0!important}
}
@media (pointer:coarse){
  html body #main .pax-stepper .pax-btn,html body #main .pax-stepper button.pax-btn,html body #main .step8 button{flex:0 0 44px!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
  html body #main .pax-stepper input{min-height:44px!important}
  html body #main .group-services-section .group-service .group-service-cta{min-height:44px}
  html body #main button.chip,html body #main .chip{min-height:44px!important}
}

/* 5 · Notched phones in landscape, Dynamic Island, rounded tablet corners: header and floating buttons respect all four edges. */
@supports(padding:max(0px)){
  header#nav{padding-left:max(clamp(16px,3vw,32px),env(safe-area-inset-left));padding-right:max(clamp(16px,3vw,32px),env(safe-area-inset-right))}
  @media(max-width:960px){header#nav{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}}
  #up{right:max(20px,calc(env(safe-area-inset-right) + 8px));bottom:max(20px,calc(env(safe-area-inset-bottom) + 8px))}
  #toast{bottom:max(24px,calc(env(safe-area-inset-bottom) + 12px))}
}

/* 6 · Dialogs and the menu drawer scroll on their own and never drag the page behind them. */
.mg-layer,.mg-dialog,#menu,#pal .pbox,#pr{overscroll-behavior:contain}
html.mg-modal-open,body.mg-modal-open{overflow:hidden;overscroll-behavior:none}

/* 7 · The on-screen keyboard: hide the floating back-to-top button while typing so it never covers a field or the keyboard bar. */
body:has(input:focus,select:focus,textarea:focus) #up{visibility:hidden!important;opacity:0!important}

/* 8 · Touch devices get an immediate pressed state in place of the hover states they no longer inherit. */
@media (hover:none) and (pointer:coarse){
  .btn:active,.sbtn:active,.chip:active,a.lnk:active,.burger:active,#up:active,.mg-button:active,.mg-account-trigger:active{opacity:.8;transition:opacity .06s}
}

/* ---------- polish-12: card ring must never cross the text ----------
   The gold hover/focus ring was drawn around the whole card (image + text) with the text flush
   to the edge, so on phones (tap = sticky hover/focus) the line ran through the description.
   Now the ring/lift goes on the photo only; the text area keeps clear space and no border. */
a.card,a.card:is(:hover,:focus,:focus-visible,:active){
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  border-radius:0;
}
a.card:is(:hover,:focus-visible){box-shadow:none !important}
a.card .ph{transition:box-shadow .3s var(--gl-ease,ease)}
a.card:is(:focus-visible) .ph{
  box-shadow:0 0 0 2px var(--acc,#b04512),0 0 0 5px rgba(226,169,59,.35) !important;
}
@media (hover:hover){
  a.card:hover .ph{box-shadow:0 0 0 2px rgba(226,169,59,.75) !important}
}
@media (hover:none){
  a.card:hover .ph,a.card:focus .ph{box-shadow:none !important}
  a.card:hover{transform:none}
}
/* breathing room under the description (not for overlay cards on the Tours home) */
body:not([data-s=tours]) a.card{padding-bottom:6px}
body:not([data-s=tours]) a.card p{padding-bottom:2px;line-height:1.5}

/* ---------- "You are about to leave MENGED" dialog ---------- */
#mg-leave{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;
  padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));
  background:rgba(14,22,18,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#mg-leave.on{display:flex}
#mg-leave .mg-leave-box{width:100%;max-width:420px;background:#fbf8f3;color:#15221b;border-radius:20px;padding:26px 24px 22px;
  box-shadow:0 30px 70px -20px rgba(0,0,0,.55);border:1px solid rgba(226,169,59,.5);animation:mgLeaveIn .22s ease-out}
#mg-leave h2{margin:0 0 10px;font:500 22px/1.25 var(--serif,Georgia,serif)}
#mg-leave p{margin:0 0 8px;font-size:15px;line-height:1.55;color:#4a5a50}
#mg-leave .mg-leave-host{font-weight:600;color:#15221b;word-break:break-all;margin-bottom:18px}
#mg-leave .mg-leave-actions{display:flex;gap:10px;flex-wrap:wrap}
#mg-leave .mg-leave-actions .btn{flex:1 1 140px;justify-content:center;min-height:44px}
html.mg-leave-lock{overflow:hidden}
@keyframes mgLeaveIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){#mg-leave .mg-leave-box{animation:none}}

/* Pointer users (tap/click): no focus outline anywhere in the page content. Keyboard users keep it. */
html.mg-pointer #main :focus-visible:not(#_a):not(#_b),
html.mg-pointer #foot :focus-visible:not(#_a):not(#_b),
html.mg-pointer #nav :focus-visible:not(#_a):not(#_b){
  outline:0 !important;
}
/* Keyboard users: card links show the ring on the photo (never through the text) */
#main a.card:focus-visible,#main a.card:focus{outline:0 !important;box-shadow:none !important}

/* =====================================================================
   polish-12b: one clean, consistent look for steppers and the quote form
   (the many earlier overrides in site.css left uneven margins, clipped circles
   and cramped two-column rows on phones). Highest specificity on purpose.
   ===================================================================== */

/* --- page can never be wider than the screen (no sideways drift) --- */
html{overflow-x:hidden}
html body{max-width:100%;overflow-x:clip}
#main,#foot{overflow-x:clip}
.mq{max-width:100%;contain:paint}

/* --- passenger stepper: a pill with two equal round buttons, perfectly centred --- */
html body #main .pax-stepper,
html body #main .step8{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:6px!important;padding:5px!important;box-sizing:border-box!important;
  width:max-content!important;max-width:100%!important;height:auto!important;
  border:1px solid #cfd8cf!important;border-radius:999px!important;background:#fff!important;
  overflow:visible!important;box-shadow:none!important;
}
html body #main .pax-stepper .pax-btn,
html body #main .step8 button{
  flex:0 0 40px!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;
  display:inline-grid!important;place-items:center!important;line-height:0!important;
  background:#e9eee8!important;color:#1d4938!important;box-shadow:none!important;
}
html body #main .pax-btn .mg-pm,html body #main .step8 .mg-pm{
  display:block;width:18px;height:18px;margin:0;fill:none;stroke:currentColor;stroke-width:2.2;
  stroke-linecap:round;stroke-linejoin:round;
}
html body #main .pax-stepper input{
  flex:0 0 48px!important;width:48px!important;min-width:48px!important;max-width:48px!important;
  height:40px!important;min-height:40px!important;margin:0!important;padding:0!important;
  border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;
  text-align:center!important;font:600 18px/40px var(--sans,system-ui)!important;color:#15221b!important;
  -moz-appearance:textfield;appearance:textfield;
}
html body #main .step8 b{display:inline-block;min-width:48px!important;text-align:center;font:600 18px/40px var(--sans,system-ui)}
html body #main .pax-stepper input::-webkit-inner-spin-button,
html body #main .pax-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
@media (hover:hover){html body #main .pax-stepper .pax-btn:hover,html body #main .step8 button:hover{background:#1d4938!important;color:#fff!important}}

/* --- date / time inputs: same height and left-aligned text everywhere --- */
html body #main .qf input[type=date],html body #main .qf input[type=time]{
  display:block;box-sizing:border-box;width:100%;min-height:49px;text-align:left;
  -webkit-appearance:none;appearance:none;
}
html body #main .qf input::-webkit-date-and-time-value{text-align:left;margin:0;min-height:1.4em}
html body #main .qf .qf-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}

/* --- phones: a single, evenly spaced column --- */
@media (max-width:520px){
  html body #main .qw .qf{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
  html body #main .qw .qf>*{grid-column:1/-1!important;min-width:0!important}
  html body #main .qw .qf .qf-field,
  html body #main .qw .qf .qf-date-time>.qf-field{
    display:flex!important;flex-direction:column;gap:8px;margin:0!important;
    padding:16px 18px!important;border:0!important;border-bottom:1px solid rgba(26,47,35,.10)!important;
    width:auto!important;box-sizing:border-box;
  }
  html body #main .qw .qf .qf-date-time{display:block!important;padding:0!important;border:0!important}
  html body #main .qw .qf .qf-date-time .qf-field input{font-size:16px!important;padding-inline:12px}
  html body #main .qw .qf>.btn{
    display:flex!important;align-items:center;justify-content:center;text-align:center;
    width:auto!important;min-width:0!important;height:54px!important;margin:18px!important;
  }
  html body #main .qw .qf .qf-field small{margin:0}

  /* service tabs: 3 + 2, evenly sized, text can wrap instead of overflowing */
  html body[data-s="cars"] #main .qw .qm{
    display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:6px!important;padding:10px!important;overflow:visible!important;
  }
  html body[data-s="cars"] #main .qw .qm button{
    grid-column:span 2;min-width:0!important;padding:10px 4px!important;white-space:normal!important;
    text-align:center;letter-spacing:.06em!important;line-height:1.2;
  }
  html body[data-s="cars"] #main .qw .qm button:nth-child(n+4){grid-column:span 3}
}

/* polish-12c: win against older `#main .qf .pax-stepper{display:grid}`-style rules */
html body #main .qw .qf .pax-stepper.pax-stepper.pax-stepper,
html body #main .pax-stepper.pax-stepper.pax-stepper,
html body #main .step8.step8.step8{
  display:inline-flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  align-items:center!important;justify-content:center!important;
  grid-template-columns:none!important;width:max-content!important;min-width:0!important;
}
html body #main .qw .qf .pax-stepper.pax-stepper .pax-btn.pax-btn,
html body #main .step8.step8 button{align-self:center!important;justify-self:auto!important}

/* ---------- Layover and night tours ---------- */
.lv-packs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.lv-pack,.lv-cat,.lv-plan{background:var(--card,#fbf8f3);border:1px solid var(--line,#e3ddd0);border-radius:18px;padding:24px 22px;box-shadow:0 1px 2px rgba(21,34,27,.05),0 12px 28px -18px rgba(21,34,27,.25)}
.lv-pack{display:flex;flex-direction:column;gap:10px}
.lv-pack h3,.lv-cat h3,.lv-plan h3{margin:0;font-size:24px}
.lv-pack small{color:var(--mut,#5f6d64);font-size:14px}
.lv-pack p{margin:0;color:var(--mut,#5f6d64);line-height:1.6;font-size:15px}
.lv-time{align-self:flex-start;padding:5px 12px;border-radius:99px;background:rgba(226,169,59,.18);color:#7a5314;font:600 12px var(--sans);letter-spacing:.06em;text-transform:uppercase}
.lv-pack ul,.lv-cat ul,.lv-good{list-style:none;margin:4px 0 8px;padding:0;display:grid;gap:8px}
.lv-pack li,.lv-cat li,.lv-good li{position:relative;padding-left:22px;line-height:1.5;font-size:15px}
.lv-pack li::before,.lv-cat li::before,.lv-good li::before{content:"";position:absolute;left:2px;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--acc,#b04512)}
.lv-pack .btn{margin-top:auto;justify-content:center;text-align:center}
.lv-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.lv-two{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.lv-plan ol{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:0;border-left:2px solid rgba(226,169,59,.6)}
.lv-plan li{display:grid;gap:4px;padding:0 0 18px 20px;position:relative}
.lv-plan li::before{content:"";position:absolute;left:-7px;top:.35em;width:12px;height:12px;border-radius:50%;background:var(--acc,#b04512);border:2px solid var(--card,#fbf8f3)}
.lv-plan li b{font:600 13px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#7a5314}
.lv-plan li span{line-height:1.55;color:var(--mut,#5f6d64);font-size:15px}
.lv-good{margin-top:12px}
@media (max-width:860px){.lv-two{grid-template-columns:1fr}}

/* ---------- Addis Ababa layover page: photo hero to match destination pages ---------- */
body[data-p="tours/layover"] .dh{height:72svh;min-height:460px}

/* ---------- Festival calendar: photos + Ethiopian dates ---------- */
.evs{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.ev{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}
.ev-ph{aspect-ratio:16/9;overflow:hidden;background:var(--line,#e3ddd0)}
.ev-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease,cubic-bezier(.2,.8,.2,1))}
@media (hover:hover){.ev:hover .ev-ph img{transform:scale(1.06)}}
.ev-body{display:grid;gap:4px;padding:22px 24px 26px}

.nev-ph{width:84px;height:84px;border-radius:16px;overflow:hidden;flex-shrink:0;background:var(--line,#e3ddd0)}
.nev-ph img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:560px){.nev-ph{width:100%;height:150px;border-radius:12px}}

.cdp-ph{margin:0 0 2px;border-radius:12px;overflow:hidden;aspect-ratio:16/9;background:var(--line,#e3ddd0)}
.cdp-ph img{width:100%;height:100%;object-fit:cover;display:block}
.cdp article:first-of-type{padding-top:0}
.cdp article:first-of-type .cdp-ph{margin-top:0}

.chd2-ttl{display:flex;flex-direction:column;gap:2px;flex:1}
.chd2-ttl h2{flex:none}
.eth-cal-label{font:500 12px var(--sans);letter-spacing:.03em;color:var(--mut);text-transform:none}

.cd .ethd{font-size:9px;font-weight:600;font-style:normal;color:var(--mut);margin-left:3px;vertical-align:top;letter-spacing:0}
.cd.td .ethd{color:var(--acc)}
.cd.sel .ethd{color:var(--bg);opacity:.8}

@media(max-width:960px){.ev-body{padding:16px 18px 20px}.ev b{font-size:40px}}

/* ======================================================================
   polish-14 — Addis Ababa layover: balanced cards and readable small screens
   ====================================================================== */
body[data-p="tours/layover"] #main > section {
  padding-block: clamp(42px, 5.4vw, 76px);
}
body[data-p="tours/layover"] #main .lv-packs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(12px, 1.5vw, 20px);
}
body[data-p="tours/layover"] #main .lv-pack {
  min-width: 0;
  height: 100%;
  padding: clamp(18px, 2vw, 26px);
  border-radius: 20px;
  gap: 12px;
  overflow-wrap: break-word;
}
body[data-p="tours/layover"] #main .lv-pack h3 {
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.12;
  letter-spacing: -.025em;
}
body[data-p="tours/layover"] #main .lv-pack .lv-time {
  max-width: 100%;
  white-space: normal;
  line-height: 1.4;
}
body[data-p="tours/layover"] #main .lv-pack small {
  font-size: 13px;
  line-height: 1.45;
}
body[data-p="tours/layover"] #main .lv-pack p {
  font-size: 14px;
  line-height: 1.65;
}
body[data-p="tours/layover"] #main .lv-pack li,
body[data-p="tours/layover"] #main .lv-cat li {
  font-size: 14px;
  line-height: 1.55;
}
body[data-p="tours/layover"] #main .lv-pack .btn {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  margin-top: auto;
  padding: 11px 13px;
  white-space: normal;
  text-align: center;
  line-height: 1.35;
}
body[data-p="tours/layover"] #main .lv-cats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(12px, 1.5vw, 20px);
}
body[data-p="tours/layover"] #main .lv-cat {
  height: 100%;
  min-width: 0;
  padding: clamp(18px, 2vw, 26px);
  border-radius: 18px;
  overflow-wrap: break-word;
}
body[data-p="tours/layover"] #main .lv-cat h3 {
  font-size: clamp(20px, 2vw, 25px);
  line-height: 1.18;
  letter-spacing: -.02em;
}
body[data-p="tours/layover"] #main .lv-cats ul {
  gap: 9px;
}
body[data-p="tours/layover"] #main .lv-two {
  align-items: stretch;
  gap: clamp(14px, 2vw, 24px);
}
body[data-p="tours/layover"] #main .lv-plan {
  min-width: 0;
  padding: clamp(20px, 2.4vw, 30px);
  border-radius: 20px;
}
body[data-p="tours/layover"] #main .lv-plan h3 {
  font-size: clamp(22px, 2.1vw, 27px);
  line-height: 1.2;
}
body[data-p="tours/layover"] #main .lv-plan li span {
  font-size: 14px;
  line-height: 1.65;
}
body[data-p="tours/layover"] #main .field-note {
  border-radius: 18px;
}
@media (max-width: 1100px) {
  body[data-p="tours/layover"] #main .lv-packs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body[data-p="tours/layover"] #main .lv-cats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  body[data-p="tours/layover"] #main > section {
    padding-block: 42px;
  }
  body[data-p="tours/layover"] #main .dh {
    height: auto;
    min-height: 70svh;
  }
  body[data-p="tours/layover"] #main .dh .w {
    padding-bottom: 32px;
  }
  body[data-p="tours/layover"] #main .lv-packs,
  body[data-p="tours/layover"] #main .lv-cats,
  body[data-p="tours/layover"] #main .lv-two {
    grid-template-columns: minmax(0, 1fr);
  }
  body[data-p="tours/layover"] #main .lv-pack,
  body[data-p="tours/layover"] #main .lv-cat,
  body[data-p="tours/layover"] #main .lv-plan {
    padding: 20px;
    border-radius: 16px;
  }
  body[data-p="tours/layover"] #main .lv-pack p,
  body[data-p="tours/layover"] #main .lv-pack li,
  body[data-p="tours/layover"] #main .lv-cat li,
  body[data-p="tours/layover"] #main .lv-plan li span {
    font-size: 14px;
  }
  body[data-p="tours/layover"] #main .lv-pack .btn {
    justify-content: center;
  }
}


/* ======================================================================
   polish-15 — final Addis layover audit refinements
   ====================================================================== */
body[data-p="tours/layover"] #main .dh h1 {
  max-width: 13ch !important;
  text-wrap: pretty;
}
body[data-p="tours/layover"] #main .dh p {
  max-width: 56ch;
  line-height: 1.7;
  text-wrap: pretty;
}
body[data-p="tours/layover"] #main .lv-pack p,
body[data-p="tours/layover"] #main .lv-cat li,
body[data-p="tours/layover"] #main .lv-plan li span,
body[data-p="tours/layover"] #main .lv-good li {
  text-wrap: pretty;
  overflow-wrap: anywhere;
}
body[data-p="tours/layover"] #main .lv-cat {
  border-top: 2px solid rgba(176,69,18,.48);
  box-shadow: 0 1px 2px rgba(21,34,27,.04), 0 10px 24px -20px rgba(21,34,27,.28);
}
body[data-p="tours/layover"] #main .lv-time {
  letter-spacing: .045em;
}
@media (max-width: 620px) {
  body[data-p="tours/layover"] #main .dh h1 {
    max-width: 12ch !important;
    font-size: clamp(38px, 10vw, 49px) !important;
  }
  body[data-p="tours/layover"] #main .dh p {
    font-size: 16px;
    line-height: 1.65;
  }
}

/* The secondary CTA sits on a dark photo hero: preserve readable contrast at rest. */
body[data-p="tours/layover"] #main .dh .btn.alt {
  background: rgba(10, 28, 20, .48) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, .72) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 4px 14px rgba(0,0,0,.16) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
@media (hover:hover) {
  body[data-p="tours/layover"] #main .dh .btn.alt:hover {
    background: rgba(255, 254, 250, .96) !important;
    color: #18231d !important;
    border-color: #fffefa !important;
  }
}

/* Language picker: languages not yet available */
.lgsoon{font-style:normal;font-size:.72em;opacity:.65;margin-inline-start:.6em;white-space:nowrap}
#lg button:has(.lgsoon){opacity:.8}

/* 101st-pass request validation: clear, accessible inline errors. */
.rq-validation{margin:10px 0 14px;padding:11px 13px;border:1px solid #b43d2d;border-radius:10px;background:#fff5f2;color:#842b20;font-size:14px;line-height:1.55}.rq-validation[hidden]{display:none!important}input[aria-invalid=true]{border-color:#b43d2d!important;box-shadow:0 0 0 2px rgba(180,61,45,.12)}

/* ===== Consolidated source layer: oct-visual-pass.css ===== */
/* MENGED October visual pass: non-destructive design overlay.
   Built over the 109th Russian pass. No route, copy, translation, form or service changes. */
:root{--oct-ease:cubic-bezier(.22,.76,.25,1);--oct-soft-shadow:0 14px 42px rgba(17,28,22,.10);--oct-focus:#ae8746}
html{scroll-padding-top:88px}
body{text-rendering:optimizeLegibility}
#main,#nav,#menu,#foot{min-width:0}
#main :is(h1,h2,h3){text-wrap:balance}
#main :is(section,article,div,form){min-width:0}
#main :is(input,textarea,select){max-width:100%}
html[lang="ru"] #main :is(h1,h2,h3,p,li,a,button,label){overflow-wrap:break-word}
:where(#main,#nav,#menu,#foot) :is(a,button,input,select,textarea,[role="button"]):focus-visible{outline:3px solid var(--oct-focus)!important;outline-offset:3px!important}
#main :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),textarea,select){transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;min-height:42px}
#main :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),textarea,select):focus{border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 16%,transparent)}
#main :is(input,textarea)::placeholder{opacity:.68}
#main :is(button,.btn,[role="button"]){-webkit-tap-highlight-color:transparent;transition-property:transform,box-shadow,background-color,border-color,color,opacity;transition-duration:.22s;transition-timing-function:var(--oct-ease)}
#main :is(.btn,button):active{transform:scale(.985)}
#main :is(.card,.guide-card,.stc,.vc,.ev,.pc2,.trade-pain-card,.sc,.tile){transition:transform .34s var(--oct-ease),box-shadow .34s ease,border-color .3s ease}
@media(hover:hover) and (pointer:fine){
 #main :is(.card,.guide-card,.stc,.vc,.ev,.pc2,.trade-pain-card,.sc,.tile):hover{transform:translateY(-3px);box-shadow:var(--oct-soft-shadow)}
 #main :is(.card,.vc,.guide-card,.stc,.ev) img{transition:transform .72s var(--oct-ease),filter .45s ease}
 #main :is(.card,.vc,.guide-card,.stc,.ev):hover img{transform:scale(1.025)}
 #main :is(.btn,button):not(:disabled):hover{filter:brightness(1.045)}
}
#main :is(.card,.guide-card,.stc,.vc,.ev,.pc2,.trade-pain-card,.sc){box-shadow:0 5px 20px rgba(13,29,22,.035)}
#main :is(.card,.guide-card,.stc,.vc,.ev) :is(.ph,.st-photo,.ev-ph,.guide-card-photo){overflow:hidden}
#main :is(img,svg,video){max-width:100%}
#main :is(.btn,button,input,select,textarea){touch-action:manipulation}
@media(max-width:680px){#main :is(input,select,textarea){font-size:max(16px,1em)}}
/* Entrance animation is applied only to actual headlines; it never hides pages/content. */
@keyframes oct-headline-in{from{opacity:.35;transform:translate3d(0,12px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes oct-metric-flash{from{filter:brightness(1.18)}to{filter:brightness(1)}}
@media(prefers-reduced-motion:no-preference){
 #main .oct-headline-in{animation:oct-headline-in .65s var(--oct-ease) both}
 #main .oct-metric-done{animation:oct-metric-flash .4s ease}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}#main .oct-headline-in,#main .oct-metric-done{animation:none!important}#main :is(.card,.guide-card,.stc,.vc,.ev,.pc2,.trade-pain-card,.sc,.tile,.btn,button,img){transition:none!important;transform:none!important}}

/* ============================================================
   WORLD-CLASS PASS — premium micro-interactions, additive only.
   Builds on the hover/transition rules above; adds staggered
   scroll-reveal (paired with a small addition in oct-visual-pass.js)
   and a refined underline treatment for in-copy links.
   ============================================================ */
:root{--oct-reveal-d:.56s}
/* In-copy links (not buttons/cards) get a premium "grow from the
   baseline" underline instead of the browser default, using
   background-size so it never shifts layout/line-height. */
#main :is(p,li) a:not(.btn):not([class*="card"]){background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;transition:background-size .32s var(--oct-ease);padding-bottom:1px;text-decoration:none}
@media(hover:hover){#main :is(p,li) a:not(.btn):not([class*="card"]):hover{background-size:100% 1px}}
/* Staggered reveal: elements get [data-reveal] + style(--i:n) from JS below;
   purely opacity/transform, never affects layout flow (no display changes),
   and is inert with no JS / reduced-motion (falls back to visible, static). */
[data-reveal]{opacity:1;transform:none}
@media(prefers-reduced-motion:no-preference){
  [data-reveal]{opacity:0;transform:translate3d(0,16px,0);transition:opacity var(--oct-reveal-d) var(--oct-ease),transform var(--oct-reveal-d) var(--oct-ease);transition-delay:calc(var(--i,0) * 55ms)}
  [data-reveal].oct-in{opacity:1;transform:translate3d(0,0,0)}
}
/* Buttons: a soft tinted glow on press, mixed from the live specialty
   primary when present (falls back to --acc off-specialty pages). */
#main :is(.btn,button):not(:disabled):active{box-shadow:0 0 0 6px color-mix(in srgb,var(--sp-primary,var(--acc)) 16%,transparent)}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transform:none!important;transition:none!important}}

/* ===== Consolidated source layer: specialty-identities.css ===== */
/* MENGED Oct PSS: six independent visual identities. Visual-only overlay.
   Original content, routes, translations, forms and functionality are untouched. */
body[data-s="group"]{--dsp:"Fraunces",Georgia,serif;--sans:"Inter",system-ui,sans-serif;--acc:#a84b24;--gold:#b88b45;--brand-radius:20px;--brand-focus:#a84b24;--brand-shadow:0 16px 44px rgba(71,44,27,.10)}
body[data-s="tours"]{--dsp:"Cormorant Garamond",Georgia,serif;--sans:"Manrope","Inter",sans-serif;--dw:600;--dl:-.025em;--dt:none;--acc:#e9bd69;--btn:#e9bd69;--gold:#e9bd69;--brand-radius:14px;--brand-focus:#e9bd69;--brand-shadow:0 18px 48px rgba(0,0,0,.30)}
body[data-s="cars"]{--dsp:"Rajdhani","Manrope",sans-serif;--sans:"Manrope","Inter",sans-serif;--dw:700;--dl:.005em;--dt:uppercase;--acc:#d4b77e;--btn:#d4b77e;--gold:#d4b77e;--brand-radius:4px;--brand-focus:#d4b77e;--brand-shadow:0 20px 42px rgba(0,0,0,.35)}
body[data-s="trade"]{--dsp:"Sora","Inter",sans-serif;--sans:"Source Sans 3","Inter",sans-serif;--dw:700;--dl:-.035em;--dt:none;--acc:#326c4f;--btn:#326c4f;--hv:#1d4934;--brand-radius:22px;--brand-focus:#326c4f;--brand-shadow:0 16px 38px rgba(53,78,43,.13)}
body[data-s="business"]{--dsp:"DM Serif Display",Georgia,serif;--sans:"IBM Plex Sans","Inter",sans-serif;--dw:400;--dl:-.028em;--dt:none;--acc:#2457ac;--hv:#2457ac;--brand-radius:8px;--brand-focus:#2457ac;--brand-shadow:0 14px 38px rgba(18,53,93,.10)}
body[data-s="support"]{--dsp:"Outfit","Inter",sans-serif;--sans:"Nunito Sans","Inter",sans-serif;--dw:650;--dl:-.035em;--dt:none;--acc:#a84a32;--btn:#e57f60;--brand-radius:24px;--brand-focus:#a84a32;--brand-shadow:0 18px 42px rgba(30,76,57,.12)}
/* Ensure the font change reaches the headings despite older strong selectors. */
body[data-s] #main :is(h1,h2,h3,h4),body[data-s] :is(#foot,#menu) :is(h2,h3,h4){font-family:var(--dsp)!important;letter-spacing:var(--dl)!important;text-transform:var(--dt)!important}
body[data-s] :is(#main,#foot,#menu),body[data-s] :is(input,textarea,select,button){font-family:var(--sans)}
body[data-s] #main :is(.eye,.kicker,[class*="eyebrow"]){font-family:var(--sans);letter-spacing:.11em}
/* Shape / interaction details match the specialty without affecting the DOM. */
body[data-s] #main :is(.card,.guide-card,.stc,.vc,.pc2,.tile,.trade-pain-card){box-shadow:var(--brand-shadow)}
body[data-s="cars"] #main :is(.card,.guide-card,.stc,.vc,.pc2,.tile){border-radius:var(--brand-radius)}
body[data-s="business"] #main :is(.card,.guide-card,.stc,.vc,.pc2,.tile){border-radius:var(--brand-radius)}
body[data-s="trade"] #main :is(.card,.guide-card,.stc,.vc,.pc2,.tile){border-radius:var(--brand-radius)}
body[data-s="support"] #main :is(.card,.guide-card,.stc,.vc,.pc2,.tile){border-radius:var(--brand-radius)}
body[data-s] #main :is(input,textarea,select):focus-visible{outline-color:var(--brand-focus)!important}
body[data-s] #main :is(.btn,button,[role="button"]):focus-visible{outline-color:var(--brand-focus)!important}
body[data-s="tours"] #main :is(h1,h2){font-weight:600!important;line-height:1.02!important}
body[data-s="cars"] #main :is(h1,h2,h3){font-weight:700!important;letter-spacing:.005em!important;text-transform:uppercase!important}
body[data-s="trade"] #main :is(h1,h2,h3){font-weight:700!important}
body[data-s="support"] #main :is(h1,h2,h3){font-weight:650!important}
body[data-s="business"] #main :is(h1,h2,h3){font-weight:400!important}
/* Language-specific fonts keep Cyrillic, Arabic, Amharic and Chinese legible. */
html[lang="am"] body[data-s] #main :is(h1,h2,h3,h4),html[lang="am"] body[data-s] :is(#foot,#menu) :is(h2,h3,h4){font-family:"Noto Sans Ethiopic","Nyala",system-ui,sans-serif!important}
html[lang="ar"] body[data-s] #main :is(h1,h2,h3,h4),html[lang="ar"] body[data-s] :is(#foot,#menu) :is(h2,h3,h4){font-family:"Noto Sans Arabic",Tahoma,system-ui,sans-serif!important}
html[lang="zh"] body[data-s] #main :is(h1,h2,h3,h4),html[lang="zh"] body[data-s] :is(#foot,#menu) :is(h2,h3,h4){font-family:"Noto Sans SC",system-ui,sans-serif!important}
@media(prefers-reduced-motion:reduce){body[data-s] #main :is(.card,.guide-card,.stc,.vc,.pc2,.tile,.trade-pain-card){transition:none!important}}
/* October QA: keep each division's cards, fields and buttons on one consistent system. */
body[data-s]{--oct-focus:var(--brand-focus,var(--acc));--oct-soft-shadow:var(--brand-shadow,0 12px 36px rgba(0,0,0,.12))}
body[data-s] #main :is(.card,.guide-card,.stc,.vc,.pc2,.tile,.trade-pain-card){border-radius:var(--brand-radius,var(--r))}
body[data-s] #main :is(.card,.guide-card,.stc,.vc,.pc2,.tile,.trade-pain-card):not(:hover){box-shadow:0 5px 19px rgba(0,0,0,.045)}
body[data-s] #main :is(input:not([type=checkbox]):not([type=radio]),select,textarea){accent-color:var(--brand-focus);border-radius:clamp(4px,calc(var(--brand-radius) / 2),12px)}
body[data-s] :is(#main,#nav,#menu,#foot) :is(a,button,input,select,textarea,[role=button]):focus-visible{outline-color:var(--brand-focus)!important}
/* Major headings use specialty typography, but long Russian words never clip. */
html[lang=ru] body[data-s] #main :is(h1,h2,h3,h4){hyphens:auto;overflow-wrap:break-word}
body[data-s] #main :is(h1,h2,h3,h4){max-width:100%}
/* Tall display faces need reasonable cap height and line spacing in mobile layouts. */
@media(max-width:640px){
 body[data-s] #main h1{line-height:1.08!important;overflow-wrap:break-word}
 body[data-s] #main h2{line-height:1.13!important}
 body[data-s=cars] #main h1{font-size:clamp(36px,11vw,64px)!important}
 body[data-s=business] #main h1{font-size:clamp(38px,10.5vw,65px)!important}
 body[data-s=tours] #main h1{line-height:1.08!important}
 body[data-s] #main :is(input,textarea,select){font-size:max(16px,1em)}
}
/* Each specialty has a distinct but accessible focus and selection treatment. */
body[data-s] #main ::selection{background:var(--acc);color:var(--btnf,#fff)}
body[data-s=tours] #main ::selection,body[data-s=cars] #main ::selection{color:#111}
@media(prefers-reduced-motion:reduce){body[data-s] #main :is(.card,.guide-card,.stc,.vc,.pc2,.tile,.trade-pain-card){box-shadow:none;transform:none!important}}

/* Final specialty QA: prevent visual treatment from obstructing controls. */
body[data-s] :is(#main,#nav,#menu,#foot) :is(input,textarea,select,button){font-family:var(--sans,system-ui,sans-serif)}
body[data-s] #main :is(input:not([type=checkbox]):not([type=radio]),textarea,select){box-sizing:border-box;width:auto;min-width:0;max-width:100%;line-height:1.45}
body[data-s] #main :is(input:not([type=checkbox]):not([type=radio]),textarea,select):disabled{cursor:not-allowed;opacity:.6}
body[data-s] #main :is(button,.btn,[role=button]){max-width:100%;overflow-wrap:anywhere}
body[data-s] #main :is(h1,h2,h3,h4){overflow-wrap:break-word}
body[data-s] #main :is(.card,.guide-card,.stc,.vc,.pc2,.tile,.trade-pain-card){min-width:0}
body[data-s] :is(#menu,#lg,#pal){max-width:100vw}
html[lang=ru] body[data-s] #main :is(button,.btn,label,small){hyphens:auto;overflow-wrap:break-word}
@media(max-width:480px){body[data-s] #main :is(.card,.guide-card,.stc,.vc,.pc2,.tile,.trade-pain-card){max-width:100%}body[data-s] #main :is(input,textarea,select){min-height:44px}}
@media(hover:none){body[data-s] #main :is(.card,.guide-card,.stc,.vc,.pc2,.tile,.trade-pain-card):hover{transform:none!important}}
@media(prefers-reduced-motion:reduce){body[data-s] #main :is(.card,.guide-card,.stc,.vc,.pc2,.tile,.trade-pain-card):hover{transform:none!important}}

/* ============================================================
   WORLD-CLASS PASS — bespoke color hierarchy (Primary / Secondary
   / Accent / Background / Surface) per specialty, built ON TOP of
   the existing --dsp/--sans/--acc/--gold tokens above. Additive
   only: no selector here removes or renames an existing token.
   ============================================================ */
body[data-s="group"]{--sp-primary:#1C120B;--sp-secondary:#4A3425;--sp-bg:#FBF6EE;--sp-surface:#FFFFFF;--sp-border:rgba(74,52,37,.14);--sp-hero-scale:1;--btn:#1C120B}
body[data-s="tours"]{--sp-primary:#1A1510;--sp-secondary:#6B4423;--sp-bg:#FAF3E6;--sp-surface:#FFFDF8;--sp-border:rgba(107,68,35,.16);--sp-hero-scale:1.08;--btnf:var(--fg)}
body[data-s="cars"]{--sp-primary:#0F1113;--sp-secondary:#3A3F45;--sp-bg:#F3F1ED;--sp-surface:#FFFFFF;--sp-border:rgba(58,63,69,.14);--sp-hero-scale:.94;--btnf:var(--fg)}
body[data-s="trade"]{--sp-primary:#1D4934;--sp-secondary:#6B5A3A;--sp-bg:#F3F0E6;--sp-surface:#FDFBF5;--sp-border:rgba(50,108,79,.14);--sp-hero-scale:1.02;--btn:#1D4934}
body[data-s="business"]{--sp-primary:#12355D;--sp-secondary:#5A6B82;--sp-bg:#F4F6F9;--sp-surface:#FFFFFF;--sp-border:rgba(90,107,130,.14);--sp-hero-scale:.86;--btn:#12355D}
body[data-s="support"]{--sp-primary:#7A3420;--sp-secondary:#C96A4A;--sp-bg:#FBF1EA;--sp-surface:#FFFFFF;--sp-border:rgba(201,106,74,.16);--sp-hero-scale:.92;--btnf:var(--fg)}

/* --btnf fix: .btn sets color:var(--btnf)!important over background:var(--btn).
   Tours/Cars/Support set --btn to a LIGHT accent (gold/champagne/coral) but never
   overrode --btnf away from the global white, leaving primary-CTA text at ~1.8-2.8:1
   contrast (WCAG AA needs 4.5:1). Reusing the existing --fg ink token (not a new
   color) brings every primary button to 9.7-10.3:1. */

/* section.alt was being forced to one flat #EEEEE5 by a later, higher-specificity
   rule in site.css (line ~569), silently defeating var(--card) for every specialty.
   This restores real per-specialty theming for every alternating section. */
body[data-s] #main section.alt{background:var(--sp-bg)!important}

/* The scroll-progress bar (.bar) has the same bug: a later rule hardcodes it to one
   terracotta/gold gradient for all six specialties. Each now gets its own. */
body[data-s] .bar{background:linear-gradient(90deg,var(--sp-secondary),var(--sp-primary))!important;box-shadow:0 0 12px color-mix(in srgb,var(--sp-primary) 45%,transparent)!important}

/* Decorative eyebrow stroke/dot picks up the specialty's secondary tone (decorative
   only — body and label text keep the already-AA-checked --mut, untouched). */
body[data-s] #main .eye:before{background:var(--sp-secondary)}

/* Tinted, two-tier elevation: resting shadow is quieter, hover shadow is a soft
   glow mixed from the specialty's own primary color instead of flat black — the
   "high-end" depth cue the brief asks for, purely in box-shadow (zero layout risk). */
body[data-s] #main :is(.card,.guide-card,.stc,.vc,.pc2,.tile,.trade-pain-card){box-shadow:0 3px 14px color-mix(in srgb,var(--sp-primary) 7%,transparent)}
@media(hover:hover) and (pointer:fine){
 body[data-s] #main :is(.card,.guide-card,.stc,.vc,.pc2,.tile,.trade-pain-card):hover{box-shadow:0 20px 48px color-mix(in srgb,var(--sp-primary) 22%,transparent),0 2px 8px color-mix(in srgb,var(--sp-primary) 12%,transparent)}
}

/* Fluid hero-headline scale per specialty: a unitless multiplier on the EXISTING
   clamp() at each of site.css's own breakpoints (960px desktop / 960 / 620) rather
   than a new hardcoded size, so each specialty's art direction (editorial-large for
   Tours, condensed-tight for Cars, restrained for Business…) survives at every
   screen width the base rule was already tuned for. */
body[data-s] #main .hero h1{font-size:calc(clamp(48px,6.3vw,92px) * var(--sp-hero-scale))!important}
@media(max-width:960px){body[data-s] #main .hero h1{font-size:calc(clamp(44px,9vw,66px) * var(--sp-hero-scale))!important}}
@media(max-width:620px){body[data-s] #main .hero h1{font-size:calc(clamp(42px,11.3vw,55px) * var(--sp-hero-scale))!important}}
@media(prefers-reduced-motion:reduce){body[data-s] #main :is(.card,.guide-card,.stc,.vc,.pc2,.tile,.trade-pain-card){box-shadow:0 3px 14px color-mix(in srgb,var(--sp-primary) 7%,transparent)!important}}

/* ===== Consolidated source layer: oct-desktop-refinement.css ===== */
/* October desktop refinement. Changes only presentation, preserving site architecture. */
@media (min-width: 1200px) {
  :root { --mg-desktop-measure: 70ch; }
  html { scroll-padding-top: 88px; }
  main { min-width: 0; }
  main :is(.grid,.cards,.card-grid,.feature-grid,.service-grid) > * { min-width: 0; }
  main :is(h1,h2,h3,p) { overflow-wrap: break-word; }
  main :is(.card,.tile,.service-card,.feature-card) { transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
  @media (hover:hover) { main :is(a.card,a.tile,a.service-card,a.feature-card):hover { transform: translateY(-3px); } }
  main :is(input,select,textarea) { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) { main :is(.card,.tile,.service-card,.feature-card) { transition: none; } }

/* ---- Festival cards: "days to go" pill alignment ----
   .ev-body is a grid, so the pill (a grid item) was stretching to the full card width with its text
   pushed to the left. Make it hug its text, centre the text inside it, and keep the vertical rhythm even. */
#main .ev .ev-body{align-content:start}
#main .ev .ev-body>.cdn{
  display:inline-flex;align-items:center;justify-content:center;text-align:center;
  align-self:start;justify-self:start;width:fit-content;max-width:100%;box-sizing:border-box;
  line-height:1;min-height:30px;margin:10px 0 8px;
  padding:0 calc(14px - .1em) 0 14px; /* offsets the trailing letter-spacing so the text is optically centred */
  white-space:nowrap;
}
#main .ev .ev-body>.cdn em{font-style:normal;letter-spacing:inherit}
/* the " · " separators live in the <small>, not in the spaced spans, so give <small> the same type settings to keep the gaps symmetric */
#main .ev .ev-body>small{display:block;font-size:13px;line-height:1.7;letter-spacing:.1em;text-transform:uppercase}

/* ---- Top navigation: stop links colliding with the right-hand buttons on laptop widths ----
   The menu only collapses to the hamburger at 1180px, but 8 links + 5 controls need more room than
   1181–1480px provides. Tighten spacing in that band only; wider screens keep the roomy layout. */
@media (min-width:1181px) and (max-width:1480px){
  html body #nav{gap:8px}
  html body #nav .logo{margin-right:0}
  html body #nav #links{margin-left:0;gap:0}
  html body #nav #links a{padding:9px 7px;font-size:13px}
  html body #nav .nr{gap:6px;flex-shrink:0}
  html body #nav .nr .btn.sm{padding-left:14px;padding-right:14px}
  html body #nav .nr .mg-account-trigger{padding-left:8px;padding-right:10px}
}
@media (min-width:1181px) and (max-width:1235px){ html body #nav .nr .swb{display:none} }

/* ===== Consolidated source layer: photo-layout-fix.css ===== */
/* Festival card rows stay aligned across a desktop grid, regardless of title length. */
#main .evs{align-items:stretch}
#main .ev{height:100%;min-width:0}
#main .ev .ev-body{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(3.2em,auto) auto minmax(3.4em,auto);align-content:start;gap:5px;flex:1;min-width:0}
#main .ev .ev-body>h3{min-width:0;line-height:1.28;margin:8px 0 0;align-self:start;overflow-wrap:anywhere}
#main .ev .ev-body>.cdn{display:flex;justify-content:center;align-items:center;justify-self:stretch;align-self:center;width:100%;max-width:none;min-height:34px;margin:8px 0;box-sizing:border-box;text-align:center;padding:6px 12px;line-height:1.3;white-space:normal}
#main .ev .ev-body>small{align-self:start;margin:2px 0 0;overflow-wrap:anywhere}
@media(max-width:700px){#main .ev .ev-body{grid-template-rows:auto auto auto auto auto}#main .ev .ev-body>h3{min-height:0}#main .ev .ev-body>.cdn{margin:8px 0}}

/* ===== Consolidated source layer: scroll-motion.css ===== */
/* MENGED scroll motion: premium text entrances.
   Elements are tagged [data-sm=kind] by assets/js/scroll-motion.js only while they wait to enter
   the screen, then the tag is removed again. With no JS, with reduced motion, or in print,
   nothing is ever hidden. No text is rewritten, so translations stay intact.
   Declarations are !important so component rules (hero, buttons, etc.) can't leave text visible
   or skip the transition; the tag is removed after the reveal, so those rules take over again. */
:root{--sm-ease:cubic-bezier(.22,1,.36,1)}

@media (prefers-reduced-motion:no-preference){
  html :is(#main,#foot) [data-sm]{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
  /* Hidden until it scrolls in. No transition here, so the hidden state applies instantly
     (otherwise tagging an element would itself fade it out). Once revealed, its own opacity applies again. */
  html :is(#main,#foot) [data-sm]:not(.sm-in){opacity:0!important;transition:none!important}

  /* Headlines: rise, un-blur and wipe in from the top edge */
  html :is(#main,#foot) [data-sm="head"]{
    transform:translate3d(0,.32em,0)!important;
    filter:blur(5px)!important;
    -webkit-mask-image:linear-gradient(180deg,#000 0,#000 46%,transparent 62%)!important;
    mask-image:linear-gradient(180deg,#000 0,#000 46%,transparent 62%)!important;
    -webkit-mask-size:100% 330%!important;mask-size:100% 330%!important;
    -webkit-mask-position:0 100%!important;mask-position:0 100%!important;
  }
  /* Sub-headings */
  html :is(#main,#foot) [data-sm="sub"]{
    transform:translate3d(0,17px,0)!important;
    filter:blur(3px)!important;
  }
  /* Eyebrow labels: slide in while a clean wipe reveals the pill */
  html :is(#main,#foot) [data-sm="eye"]{
    transform:translate3d(-11px,0,0)!important;
    clip-path:inset(0 100% 0 0)!important;
  }
  /* Body copy: soft top-to-bottom wipe, reads like lines settling into place */
  html :is(#main,#foot) [data-sm="text"]{
    transform:translate3d(0,17px,0)!important;
    -webkit-mask-image:linear-gradient(180deg,#000 0,#000 52%,transparent 70%)!important;
    mask-image:linear-gradient(180deg,#000 0,#000 52%,transparent 70%)!important;
    -webkit-mask-size:100% 280%!important;mask-size:100% 280%!important;
    -webkit-mask-position:0 100%!important;mask-position:0 100%!important;
  }
  /* List items */
  html :is(#main,#foot) [data-sm="item"]{
    transform:translate3d(0,12px,0)!important;
  }
  /* Buttons and calls to action */
  html :is(#main,#foot) [data-sm="btn"]{
    transform:translate3d(0,12px,0) scale(.985)!important;
  }

  /* Revealed: the transition lives here, so it only runs hidden -> visible */
  html :is(#main,#foot) [data-sm].sm-in{
    transition-property:opacity,transform,filter,clip-path,-webkit-mask-position,mask-position!important;
    transition-duration:.74s,.92s,.82s,.92s,1.02s,1.02s!important;
    transition-timing-function:var(--sm-ease)!important;
    transition-delay:var(--sm-d,0ms)!important;
    transform:none!important;
    filter:blur(0)!important;
    clip-path:inset(0 0 0 0)!important;
    -webkit-mask-position:0 0!important;mask-position:0 0!important;
  }

  /* This layer replaces the old one-off headline animation (which would also replay when the tag is removed) */
  html #main .oct-headline-in{animation:none!important}
}

/* Safety nets: never leave text hidden */
@media (prefers-reduced-motion:reduce){
  [data-sm]{opacity:revert!important;transform:none!important;filter:none!important;clip-path:none!important;-webkit-mask-image:none!important;mask-image:none!important;transition:none!important}
}
@media print{
  [data-sm]{opacity:revert!important;transform:none!important;filter:none!important;clip-path:none!important;-webkit-mask-image:none!important;mask-image:none!important;transition:none!important}
}

/* ===== Consolidated source layer: image-recovery.css ===== */
/* Image recovery overrides: images are never hidden while loading or after a failed URL. */
img.mg-image-recovered,
img.mg-img-ready,
img[data-broken] {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}
img.mg-image-recovered {
  object-fit: cover;
  object-position: 50% 40%;
}
.tmp img,
.plan-destination-hero img,
.sup-ph img,
.layover-art img {
  opacity: 1 !important;
  visibility: visible !important;
}
.tmp img.image-failed,
.bg img.image-failed,
.group-service-feature img.image-failed,
img.image-failed {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.tmp.mg-photo-ready,
.plan-destination-hero.mg-photo-ready,
.sup-ph.mg-photo-ready,
.layover-art.mg-photo-ready {
  animation: none !important;
}
@media (prefers-reduced-motion: reduce) {
  img, .tmp, .plan-destination-hero, .sup-ph, .layover-art {
    transition: none !important;
    animation: none !important;
  }
}


/* Production hardening: footer address remains one line at every viewport width. */
#foot .fc-city,
footer .fc-city {
  display: inline-block !important;
  width: max-content !important;
  max-width: none !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  flex: 0 0 auto !important;
  line-height: 1.4;
}

/* Image failures never hide media frames or content. */
img.mg-image-recovered,
img.mg-img-ready,
img[data-broken] {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}


/* Inline media-credit dialog, replacing the former auxiliary credits pages. */
body.mg-credits-open{overflow:hidden}
.mg-credits-backdrop[hidden]{display:none!important}
.mg-credits-backdrop{position:fixed;z-index:100000;inset:0;display:grid;place-items:center;padding:18px;background:rgba(7,20,15,.72);backdrop-filter:blur(8px)}
.mg-credits-dialog{position:relative;width:min(100%,760px);max-height:min(88dvh,900px);overflow:auto;padding:clamp(24px,5vw,44px);border:1px solid rgba(255,255,255,.4);border-radius:22px;background:#f7f4ec;color:#1b3027;box-shadow:0 28px 90px rgba(0,0,0,.3);font:15px/1.7 Inter,Arial,sans-serif}
.mg-credits-dialog h2{margin:10px 42px 14px 0;font:500 clamp(30px,5vw,48px)/1.08 Fraunces,Georgia,serif;letter-spacing:-.03em}
.mg-credits-dialog h3{margin:28px 0 8px;font:600 22px/1.2 Fraunces,Georgia,serif}
.mg-credits-dialog p{max-width:68ch;color:#4e5c53}
.mg-credits-dialog a{color:#24513d;text-underline-offset:3px}
.mg-credits-kicker{margin:0;color:#a97831!important;font-size:11px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.mg-credits-note{padding-top:14px;border-top:1px solid #dfe4da;font-size:13px}
.mg-credits-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border:1px solid #d5d9d0;border-radius:50%;background:#fff;color:#173d30;font-size:26px;cursor:pointer}

/* =======================================================================
   MENGED responsive typography + flagship-device pass (2026-10)
   This is a deliberate final layer: it overrides conflicting legacy
   emergency-wrap rules without changing any application markup or hooks.
   ======================================================================= */
:root {
  --mg-safe-top: env(safe-area-inset-top, 0px);
  --mg-safe-right: env(safe-area-inset-right, 0px);
  --mg-safe-bottom: env(safe-area-inset-bottom, 0px);
  --mg-safe-left: env(safe-area-inset-left, 0px);
  --mg-mobile-gutter: clamp(16px, 4.5vw, 28px);
}

html {
  max-inline-size: 100%;
  overflow-x: hidden;
  scroll-padding-top: calc(84px + var(--mg-safe-top));
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
@supports (overflow: clip) {
  html { overflow-x: clip; }
}
body {
  min-inline-size: 320px;
  max-inline-size: 100%;
  overflow-x: hidden;
  font-size: clamp(15px, calc(14.5px + .12vw), 18px);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
@supports (overflow: clip) {
  body { overflow-x: clip; }
}

/* Text may wrap at normal language boundaries. Emergency anywhere-wrapping is
   reserved for body copy, URLs and long identifiers, never display headings. */
#main :where(p, li, dd, dt, blockquote, figcaption, .group-lead, .description,
  .copy, .fc-intro, .contact-method b, .help-text, .muted) {
  min-inline-size: 0;
  max-inline-size: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
  -webkit-hyphens: auto;
  line-height: 1.58;
  text-wrap: pretty;
}
#main :where(h1, h2, h3, h4, h5, h6) {
  min-inline-size: 0;
  max-inline-size: 100%;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: auto;
  -webkit-hyphens: auto;
  hyphenate-limit-chars: 7 3 3;
  -webkit-hyphenate-limit-before: 3;
  -webkit-hyphenate-limit-after: 3;
  text-wrap: balance;
  line-height: clamp(1.08, 1.14, 1.24) !important;
}
/* Explicit language tags on dynamic fragments take precedence over the page
   language. The language picker already updates html[lang] and html[dir]. */
#main :where([lang]) :is(h1, h2, h3, h4, h5, h6),
#main :where(h1, h2, h3, h4, h5, h6)[lang] {
  hyphens: auto;
  -webkit-hyphens: auto;
}
html[dir="rtl"] #main :where(p, li, h1, h2, h3, h4, h5, h6) {
  line-height: 1.55;
}

/* Fluid type scale. Component-specific sizes remain in control where they are
   intentional; these are the shared defaults for less-specialised headings. */
#main :where(h1) {
  font-size: clamp(1.95rem, calc(1.45rem + 2.2vw), 4.8rem);
}
#main :where(h2) {
  font-size: clamp(1.5rem, calc(1.2rem + 1.35vw), 3.05rem);
}
#main :where(h3) {
  font-size: clamp(1.15rem, calc(1.02rem + .58vw), 1.85rem);
}
#main :where(h4, h5, h6) {
  font-size: clamp(1rem, calc(.96rem + .25vw), 1.3rem);
}

/* The group landing hero was constrained to 15ch and then given
   overflow-wrap:break-word in older Russian-only patches. That combination
   caused words such as “ориентироваться” to split in the middle. Let the copy
   use the real available column width and let the language engine hyphenate. */
html body #main .group-hero .group-hero-copy {
  min-inline-size: 0;
  max-inline-size: 100%;
}
html body #main .group-hero h1 {
  max-inline-size: min(100%, 18ch) !important;
  font-size: clamp(2.5rem, calc(1.9rem + 3.15vw), 5rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: manual !important;
  text-wrap: balance;
}
html body #main .group-hero .group-lead {
  max-inline-size: 54ch;
  font-size: clamp(.94rem, calc(.9rem + .2vw), 1.12rem);
  line-height: 1.62;
}

/* Keep all section headings inside their grid/flex track on narrow devices. */
@media (max-width: 760px) {
  html body #main :where(h1, h2, h3, h4, h5, h6) {
    max-inline-size: 100% !important;
    text-wrap: balance;
  }
  html body #main .group-hero {
    padding-block-start: calc(108px + var(--mg-safe-top));
    padding-inline: 0;
  }
  html body #main .group-hero .group-hero-copy {
    width: 100%;
    max-width: 100%;
  }
  html body #main .group-hero h1 {
    max-inline-size: 100% !important;
    font-size: clamp(1.9rem, 8.35vw, 3.3rem) !important;
    line-height: 1.1 !important;
    letter-spacing: -.026em !important;
    margin-block-end: 16px;
  }
  html body[data-s] #main :is(.hero, .ph0, .page-hero) h1 {
    max-inline-size: 100% !important;
    font-size: clamp(1.95rem, 8.1vw, 3.35rem) !important;
    line-height: 1.1 !important;
    letter-spacing: -.028em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: manual !important;
  }
  #main .group-hero .intents {
    display: flex !important;
    flex-flow: row nowrap !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: clamp(14px, 3.5vw, 20px) !important;
    max-inline-size: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding-inline: max(2px, var(--mg-safe-left)) max(2px, var(--mg-safe-right)) !important;
  }
  #main .group-hero .intents::-webkit-scrollbar { display: none; }
  #main .group-hero .intents > button {
    flex: 0 0 auto !important;
    min-inline-size: max-content !important;
    min-block-size: 44px !important;
    scroll-snap-align: start;
  }
}

@media (max-width: 390px) {
  html body #main .group-hero { padding-block-start: calc(104px + var(--mg-safe-top)); }
  html body #main .group-hero h1 { font-size: clamp(1.85rem, 8.2vw, 2.65rem) !important; }
  html body[data-s] #main :is(.hero, .ph0, .page-hero) h1 {
    font-size: clamp(1.85rem, 8.1vw, 2.7rem) !important;
  }
}

/* Flagship phones/tablets: respect Dynamic Island/notches and the home-indicator
   area. The glass layer is applied to both the scrolled header and hero overlay. */
header#nav {
  padding-block-start: max(10px, var(--mg-safe-top)) !important;
  padding-inline-start: max(14px, var(--mg-safe-left)) !important;
  padding-inline-end: max(14px, var(--mg-safe-right)) !important;
}
header#nav.sol {
  -webkit-backdrop-filter: blur(12px) saturate(1.3);
  backdrop-filter: blur(12px) saturate(1.3);
}
body[data-hero="1"] header#nav:not(.sol) {
  background: rgba(15, 29, 23, .16) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
  backdrop-filter: blur(12px) saturate(1.2);
}
#menu {
  padding-block-start: calc(92px + var(--mg-safe-top));
  padding-block-end: calc(24px + var(--mg-safe-bottom));
}
footer {
  padding-block-end: calc(28px + var(--mg-safe-bottom)) !important;
}
#up {
  inset-inline-end: max(16px, calc(var(--mg-safe-right) + 8px));
  inset-block-end: max(18px, calc(var(--mg-safe-bottom) + 8px));
}
#toast {
  inset-block-end: max(18px, calc(var(--mg-safe-bottom) + 12px));
}

/* Touch controls: minimum 44×44 CSS px, including header and service controls. */
@media (pointer: coarse) {
  #nav :where(button, a, [role="button"], .lgb, .sbtn, .swb, .burger),
  #menu :where(a, button, summary, [role="button"]),
  #main :where(button, [role="button"], .btn, .sbtn, .chip),
  #foot :where(button, a.soc, [role="button"]) {
    min-block-size: 44px;
    min-inline-size: 44px;
  }
}

/* Horizontal sub-navigation scrolls cleanly on compact phones and foldables. */
#main :where(.intents, .subnav, .sub-navigation, .tab-rail, .tabbar-scroll,
  .filter-scroll, .chip-scroll, .horizontal-scroll) {
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}
#main :where(.intents, .subnav, .sub-navigation, .tab-rail, .tabbar-scroll,
  .filter-scroll, .chip-scroll, .horizontal-scroll) > * {
  scroll-snap-align: start;
}

/* Fluid controls and readable copy without enlarging micro-labels. */
#main :where(.btn, button, [role="button"]) {
  max-inline-size: 100%;
  line-height: 1.28;
  text-wrap: balance;
}
#main :where(p, li, .group-lead) { min-inline-size: 0; }
#main :where(input, select, textarea) {
  min-inline-size: 0;
  max-inline-size: 100%;
  font-size: max(16px, 1em);
}

/* Wide desktop and 4K screens: let the portal breathe while retaining a
   controlled editorial measure and fluid heading scale. */
@media (min-width: 1600px) {
  .w {
    width: min(calc(100% - clamp(80px, 8vw, 180px)), 1600px) !important;
    max-width: 1600px !important;
  }
  #main :where(h1) { font-size: clamp(3.2rem, 4vw, 5.4rem); }
  #main :where(h2) { font-size: clamp(2.1rem, 2.3vw, 3.4rem); }
}

/* Small landscape phones and Fold cover displays. */
@media (max-width: 760px) and (orientation: landscape) and (max-height: 520px) {
  html body #main .group-hero {
    padding-block-start: calc(90px + var(--mg-safe-top));
  }
  #main .group-hero h1 { font-size: clamp(1.8rem, 5.6vw, 2.7rem) !important; }
  #menu { max-block-size: 100dvh; overflow-y: auto; }
}

/* Reduced motion stays accessible; no entrance animation is forced on users
   who ask the operating system to minimise movement. */
@media (prefers-reduced-motion: reduce) {
  #main :where(h1, h2, h3, h4, h5, h6),
  #main [data-sm], #main [data-reveal] {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    filter: none !important;
  }
  #main .intents { scroll-behavior: auto !important; }
}

.mg-credits-list{margin:6px 0 0;padding-left:20px;color:#4e5c53;font-size:14px;line-height:1.7}
.mg-credits-list li{margin:2px 0;overflow-wrap:anywhere}

/* MENGED emblem logo: follows the header text colour (dark on light, light on dark) */
html body #nav .logo b.lm,html body .logo b.lm{width:auto!important;height:auto!important;display:block!important;background:none!important;border-radius:0!important;box-shadow:none!important;color:inherit!important;transform:none!important;font-size:0}
html body .logo b.lm svg{display:block;height:38px;width:auto;aspect-ratio:763/748;fill:currentColor}
html body .logo:hover b.lm{transform:none!important}
html body .logo{gap:12px}
@media(max-width:620px){html body .logo b.lm svg{height:32px}}

/* Navigation over a hero photo: no blurred band; the photo shows through right up to the top edge.
   A faint top fade plus text shadow keeps the logo and links readable. Once the page scrolls (.sol) the solid bar returns. */
body[data-hero="1"] header#nav:not(.sol){
  background:linear-gradient(to bottom,rgba(6,16,11,.34) 0%,rgba(6,16,11,.12) 60%,rgba(6,16,11,0) 100%)!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  border-bottom:0!important;box-shadow:none!important;
}
body[data-hero="1"] header#nav:not(.sol) :is(.logo,#links a){text-shadow:0 1px 6px rgba(0,0,0,.45)}
body[data-hero="1"] header#nav:not(.sol) .logo b.lm svg{filter:drop-shadow(0 1px 4px rgba(0,0,0,.4))}

/* ============================================================
   MENGED brand/header correction — November 2026
   Give the existing emblem and wordmark proper presence, while
   keeping the mobile actions compact, equal and touch-friendly.
   ============================================================ */
html body #nav {
  min-height: 72px !important;
  align-items: center !important;
  gap: clamp(10px, 1.5vw, 20px) !important;
}
html body #nav .logo {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 11px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding-block: 4px !important;
  color: inherit !important;
  font: 800 18px/1 var(--sans, Inter, system-ui, sans-serif) !important;
  letter-spacing: .13em !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}
html body #nav .logo > span {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  line-height: 1 !important;
  min-width: 0 !important;
}
html body #nav .logo b.lm {
  display: block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body #nav .logo b.lm svg {
  display: block !important;
  width: auto !important;
  height: 50px !important;
  max-width: none !important;
  aspect-ratio: 763 / 748 !important;
  fill: currentColor !important;
}
html body #nav .logo em {
  margin-top: 5px !important;
  font-size: 10px !important;
  line-height: 1.1 !important;
  letter-spacing: .16em !important;
}
html body #nav .nr {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 6px !important;
  margin-left: auto !important;
}
html body #nav .nr :is(.lgb, .sbtn, .burger, .mg-account-trigger) {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 44px !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  padding: 0 !important;
  border-radius: 12px !important;
  gap: 0 !important;
}
html body #nav .nr :is(.lgb, .sbtn, .burger) {
  border: 1px solid color-mix(in srgb, currentColor 28%, transparent) !important;
}
html body #nav .nr .mg-account-trigger {
  border: 1px solid color-mix(in srgb, currentColor 28%, transparent) !important;
  background: transparent !important;
  color: inherit !important;
  box-shadow: none !important;
}
html body #nav .nr .mg-account-trigger .mg-account-dot {
  display: grid !important;
  place-items: center !important;
  width: 22px !important;
  height: 22px !important;
  background: transparent !important;
  color: currentColor !important;
}
html body #nav .nr .mg-account-trigger .mg-account-dot svg {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
}
html body #nav .nr .mg-account-trigger > span:last-child {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}
body[data-hero="1"] header#nav:not(.sol) .nr .mg-account-trigger {
  color: #fff !important;
  border-color: rgba(255,255,255,.30) !important;
  background: rgba(255,255,255,.10) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  backdrop-filter: blur(10px) !important;
}
html body #nav.sol .nr .mg-account-trigger {
  color: var(--ink, #17251f) !important;
  border-color: rgba(23,37,31,.16) !important;
  background: rgba(255,255,255,.62) !important;
}
html body #nav .nr :is(.lgb, .sbtn, .burger, .mg-account-trigger) svg {
  flex: 0 0 auto !important;
}
@media (max-width: 1180px) {
  html body #nav { min-height: 68px !important; }
  html body #nav .logo { gap: 10px !important; font-size: 17px !important; letter-spacing: .12em !important; }
  html body #nav .logo b.lm svg { height: 47px !important; }
  html body #nav .nr { gap: 5px !important; }
}
@media (max-width: 620px) {
  html body #nav {
    min-height: 64px !important;
    padding-inline: max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right)) !important;
    gap: 7px !important;
  }
  html body #nav .logo {
    gap: 8px !important;
    font-size: 16px !important;
    letter-spacing: .105em !important;
  }
  html body #nav .logo b.lm svg { height: 45px !important; }
  html body #nav .nr { gap: 4px !important; }
  html body #nav .nr :is(.lgb, .sbtn, .burger, .mg-account-trigger) {
    flex-basis: 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    border-radius: 11px !important;
  }
}
@media (max-width: 360px) {
  html body #nav { padding-inline: 10px !important; gap: 5px !important; }
  html body #nav .logo { gap: 6px !important; font-size: 15px !important; letter-spacing: .08em !important; }
  html body #nav .logo b.lm svg { height: 42px !important; }
  html body #nav .nr { gap: 2px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html body #nav .logo b.lm,
  html body #nav .nr :is(.lgb, .sbtn, .burger, .mg-account-trigger) { transition: none !important; }
}
@media (max-width: 340px) {
  html body #nav { padding-inline: 8px !important; gap: 2px !important; }
  html body #nav .logo { gap: 5px !important; font-size: 14px !important; letter-spacing: .065em !important; }
  html body #nav .logo b.lm svg { height: 38px !important; }
  html body #nav .nr { gap: 1px !important; }
}
/* Preserve the desktop navigation's original labelled sign-in control and hide
   the hamburger when the full desktop navigation is available. */
@media (min-width: 1181px) {
  html body #nav .nr .burger { display: none !important; }
  html body #nav .nr .mg-account-trigger {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding-inline: 12px !important;
    border-radius: 999px !important;
    gap: 8px !important;
  }
  html body #nav .nr .mg-account-trigger > span:last-child {
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: nowrap !important;
  }
}
@media (max-width: 1180px) {
  html body #nav .nr .burger { display: inline-flex !important; }
}


/* MENGED performance layer — tuned for mobile GPUs and lower-power devices. */
@media (max-width:760px), (hover:none) and (pointer:coarse){
  #nav.sol,header.sol,#menu,.mg-layer,.map-switch,.tb{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  #menu{background:#173d2e!important;color:#f8f7ef!important}
  .mg-layer{background:rgba(10,19,15,.88)!important}
  .map-switch,.tb{background:rgba(247,244,236,.98)!important}
  #main .oct-headline-in{animation-duration:.38s!important}
  #main .group-service-feature>img,#main .guide-card-photo img{transition-duration:.32s!important}
  #main .group-service-icon.motion-icon *,#main .svc-ico *,#main .mg-animated *{animation-duration:5s!important}
}

/* Text entrances use compositor-friendly opacity and translation only. Avoid blur/masks on every paragraph. */
@media (prefers-reduced-motion:no-preference){
  html :is(#main,#foot) [data-sm]{
    filter:none!important;clip-path:none!important;
    -webkit-mask-image:none!important;mask-image:none!important;
  }
  html :is(#main,#foot) [data-sm="head"],
  html :is(#main,#foot) [data-sm="sub"],
  html :is(#main,#foot) [data-sm="text"],
  html :is(#main,#foot) [data-sm="btn"]{transform:translate3d(0,12px,0)!important}
  html :is(#main,#foot) [data-sm="eye"]{transform:translate3d(-8px,0,0)!important}
  html :is(#main,#foot) [data-sm].sm-in{
    transition-property:opacity,transform!important;
    transition-duration:.46s,.58s!important;
    transition-timing-function:cubic-bezier(.22,1,.36,1)!important;
    transition-delay:var(--sm-d,0ms)!important;
    transform:none!important;filter:none!important;clip-path:none!important;
    -webkit-mask-image:none!important;mask-image:none!important;
  }
}
@media (prefers-reduced-motion:no-preference){#main.route-fallback{animation-duration:.24s!important}}


/* ===== brand.css ===== */
/* ============================================================
   MENGED brand layer — loaded last.
   1. Navigation logo lockup, polished from the loader/home design:
      emblem inside a fine gold ring with a slow orbiting bead,
      drawn MENGED wordmark, gold "Ethiopia • Local connections" line.
   Sizes step down for tablet, phone and very small phones so the
   logo never crowds the language / search / account / menu buttons.
   ============================================================ */
:root{
  /* default: dark text on a light page → deeper gold */
  --mg-ring:rgba(168,116,31,.55);--mg-ring-hot:rgba(168,116,31,.95);--mg-bead:#c9922d;--mg-bead-soft:rgba(201,146,45,.3);--mg-tag:#a8741f;
}
/* over a hero photo / dark page: brighter gold */
body[data-hero="1"] header#nav:not(.sol){
  --mg-ring:rgba(214,172,92,.62);--mg-ring-hot:rgba(232,196,120,.95);--mg-bead:#f2d9a0;--mg-bead-soft:rgba(242,217,160,.35);--mg-tag:#e8c478;
}

/* ───── 1. Nav logo ───── */
html body #nav .logo{
  display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;min-width:0!important;
  gap:15px!important;margin:0!important;padding:5px 6px 5px 5px!important;
  color:inherit!important;text-decoration:none!important;white-space:nowrap!important;
  font-size:0!important;letter-spacing:0!important;
}
html body #nav .logo b.lm{position:relative!important;display:grid!important;place-items:center!important;flex:0 0 auto!important;margin:0!important;padding:0!important}
html body #nav .logo b.lm svg{display:block!important;height:46px!important;width:auto!important;aspect-ratio:763/748!important;max-width:none!important;fill:currentColor!important;position:relative;z-index:1;transition:transform .6s var(--ease,cubic-bezier(.2,.8,.2,1))}

/* fine gold ring + a bead that slowly orbits it (echoes the loader) */
html body #nav .logo b.lm::before,html body #nav .logo b.lm::after{content:"";position:absolute;inset:-5px;border-radius:50%;pointer-events:none}
html body #nav .logo b.lm::before{border:1px solid var(--mg-ring);transition:border-color .35s,box-shadow .35s}
html body #nav .logo b.lm::after{background:radial-gradient(circle at 50% 0,var(--mg-bead) 0 2.2px,var(--mg-bead-soft) 2.2px 4.2px,transparent 4.8px);animation:mg-orbit 11s linear infinite}
@keyframes mg-orbit{to{transform:rotate(360deg)}}
@media (hover:hover){
  html body #nav .logo:hover b.lm::before{border-color:var(--mg-ring-hot);box-shadow:0 0 16px rgba(214,172,92,.45)}
  html body #nav .logo:hover b.lm svg{transform:scale(1.045)}
  html body #nav .logo:hover b.lm::after{animation-duration:4s}
}
html body #nav .logo:focus-visible{outline:2px solid var(--mg-ring-hot);outline-offset:4px;border-radius:14px}

/* wordmark + tagline stack */
html body #nav .logo .lt{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:8px!important;min-width:0!important;line-height:1!important}
html body #nav .logo .lw{display:block;height:17px;width:auto;aspect-ratio:234/45;fill:currentColor;overflow:visible}
body[data-hero="1"] header#nav:not(.sol) .logo .lw{filter:drop-shadow(0 1px 4px rgba(0,0,0,.4))}
html body #nav .logo em{margin:0!important;font:600 8.5px/1 var(--sans,Inter,system-ui,sans-serif)!important;letter-spacing:.26em!important;text-transform:uppercase!important;color:var(--mg-tag)!important;text-shadow:none!important;white-space:nowrap}
html body #nav .logo em.ltag{display:none!important}           /* group tagline only where there is room */

/* wide laptops and desktops: show the tagline */
@media (min-width:1280px){
  html body #nav .logo em.ltag{display:block!important}
  html body #nav .logo .lw{height:18px}
}
/* big monitors: a touch more presence */
@media (min-width:1600px){
  html body #nav .logo b.lm svg{height:50px!important}
  html body #nav .logo .lw{height:20px}
  html body #nav .logo em{font-size:9px!important}
}
/* laptops with the full link row: keep the bar on one line */
@media (min-width:1181px) and (max-width:1279px){
  html body #nav .logo{gap:12px!important}
  html body #nav .logo b.lm svg{height:42px!important}
  html body #nav .logo .lw{height:15px}
}
/* tablet + phone (burger menu layout) */
@media (max-width:1180px){
  html body #nav .logo{gap:13px!important}
  html body #nav .logo b.lm svg{height:44px!important}
  html body #nav .logo .lw{height:16px}
}
@media (max-width:620px){
  html body #nav .logo{gap:11px!important;padding-left:4px!important}
  html body #nav .logo b.lm svg{height:40px!important}
  html body #nav .logo b.lm::before,html body #nav .logo b.lm::after{inset:-4px}
  html body #nav .logo .lw{height:14px}
  html body #nav .logo .lt{gap:7px!important}
  html body #nav .logo em{font-size:8px!important;letter-spacing:.22em!important}
}
@media (max-width:380px){
  html body #nav .logo{gap:9px!important;padding-right:2px!important}
  html body #nav .logo b.lm svg{height:36px!important}
  html body #nav .logo .lw{height:12.5px}
  html body #nav .logo em{display:none!important}
}
@media (max-width:340px){
  html body #nav .logo{gap:7px!important}
  html body #nav .logo b.lm svg{height:32px!important}
  html body #nav .logo .lw{height:11px}
}
@media (prefers-reduced-motion:reduce){
  html body #nav .logo b.lm::after{animation:none;transform:rotate(-35deg)}
  html body #nav .logo b.lm svg{transition:none}
}

/* ───── 2. Footer brand lockup ───── */
.fc-brand{display:flex;align-items:center;gap:16px;margin:0 0 26px 6px;color:#f4efe7}
.fc-brand .lm{position:relative;display:grid;place-items:center;flex:0 0 auto}
.fc-brand .lm svg{display:block;height:56px;width:auto;aspect-ratio:763/748;fill:currentColor}
.fc-brand .lm::before,.fc-brand .lm::after{content:"";position:absolute;inset:-5px;border-radius:50%;pointer-events:none}
.fc-brand .lm::before{border:1px solid rgba(214,172,92,.6)}
.fc-brand .lm::after{background:radial-gradient(circle at 50% 0,#f2d9a0 0 2.2px,rgba(242,217,160,.35) 2.2px 4.2px,transparent 4.8px);animation:mg-orbit 14s linear infinite}
.fc-brand .lt{display:flex;flex-direction:column;align-items:flex-start;gap:9px;line-height:1}
.fc-brand .lw{display:block;height:20px;width:auto;aspect-ratio:234/45;fill:currentColor}
.fc-brand em{font:600 9px/1 var(--sans,Inter,system-ui,sans-serif);letter-spacing:.26em;text-transform:uppercase;color:#e0c99a}
@media (max-width:620px){.fc-brand{gap:14px;margin-bottom:22px}.fc-brand .lm svg{height:48px}.fc-brand .lw{height:17px}.fc-brand em{font-size:8px;letter-spacing:.22em}}
@media (prefers-reduced-motion:reduce){.fc-brand .lm::after{animation:none;transform:rotate(-35deg)}}

/* ───── 3. Site-wide polish ───── */
/* English copy never auto-hyphenates ("jour-neys", "pri-vate"); Russian keeps its own rules. */
html:not([lang="ru"]) body :is(#main,#foot,#menu,#nav) *{hyphens:manual!important;-webkit-hyphens:manual!important}
html:not([lang="ru"]) body #main :where(p,li,dd,blockquote,figcaption){overflow-wrap:break-word}

/* crisper type and calmer touch feedback */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:92px}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}
@media (max-width:620px){html{scroll-padding-top:80px}}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
::selection{background:rgba(214,172,92,.35);color:inherit}

/* media never overflows its box */
#main img,#main video{max-width:100%}
/* keyboard focus: one consistent gold ring */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline-offset:3px}

/* touch targets: text-style buttons get a comfortable 44px hit area */
#main button.lnk,#main a.lnk{min-height:44px;display:inline-flex;align-items:center;gap:8px}

/* ───── 4. Landmark guide system + calmer route transitions ───── */
#main{view-transition-name:menged-main}
@media (prefers-reduced-motion:no-preference){
  ::view-transition-old(menged-main){animation:mg-route-out .16s ease both}
  ::view-transition-new(menged-main){animation:mg-route-in .34s cubic-bezier(.2,.75,.25,1) both}
  @keyframes mg-route-out{to{opacity:0;transform:translateY(-4px)}}
  @keyframes mg-route-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
  #main.route-fallback{animation:mg-route-in .42s cubic-bezier(.2,.75,.25,1) both}
  .lm-related-card,.lm-credit-item,.lm-guide-side .l,.lm-hero-actions .btn{transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .28s ease,background-color .28s ease,box-shadow .28s ease}
  .lm-related-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(12,24,18,.09)}
  .lm-credit-item:hover{border-color:var(--acc)}
}
.lm-guide-hero{min-height:570px;height:min(82svh,900px);}
.lm-guide-hero img{object-fit:cover;width:100%;height:112%;}
.lm-guide-hero .w{padding-bottom:72px;}
.lm-guide-hero .bc{color:rgba(255,255,255,.72);font-size:12px;letter-spacing:.035em;margin-bottom:34px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.lm-guide-hero .bc a{color:rgba(255,255,255,.84);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.36)}
.lm-guide-hero .bc a:hover{color:#fff;border-color:#fff}
.lm-guide-hero .bc i{font-style:normal;opacity:.5}
.lm-guide-hero h1{max-width:12ch!important;font-size:clamp(44px,6vw,90px)!important;line-height:.98!important;letter-spacing:-.035em}
.lm-guide-hero p{max-width:650px!important;font-size:clamp(16px,1.5vw,19px)!important;line-height:1.65!important}
.lm-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px}
.lm-hero-actions .btn{min-height:48px}
.lm-photo-credit{position:absolute;z-index:3;right:clamp(18px,4vw,56px);bottom:17px;max-width:min(70%,520px);font-size:10px;line-height:1.5;letter-spacing:.025em;color:rgba(255,255,255,.78);text-align:right;text-shadow:0 1px 7px rgba(0,0,0,.5)}
.lm-photo-credit a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.lm-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
.lm-guide-content{padding-top:65px;padding-bottom:84px}
.lm-guide-content .hl li{max-width:68ch;line-height:1.7}
.lm-plan-note{margin-top:30px;padding:24px 26px}
.lm-plan-note ul{margin:12px 0 0;padding-left:19px}
.lm-plan-note li{margin:8px 0;line-height:1.6}
.lm-accuracy-note{font-size:12px;line-height:1.7;color:var(--mut);max-width:76ch;margin-top:18px}
.lm-guide-side{align-self:start;position:sticky;top:104px}
.lm-guide-side p{line-height:1.65;margin:0 0 20px}
.lm-guide-side .btn{margin-bottom:14px;min-height:48px}
.lm-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:8px 0 28px}
.lm-related-card{min-height:170px;padding:23px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;background:var(--card);border:1px solid var(--line);border-radius:14px;color:var(--fg);text-decoration:none}
.lm-related-card span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.lm-related-card b{font-family:var(--serif,Georgia,serif);font-size:clamp(18px,2vw,24px);font-weight:500;line-height:1.2}
.lm-related-card small{font-size:12px;color:var(--mut);display:flex;align-items:center;gap:7px}
.lm-source-row{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:42px 0 70px}
.lm-source-row h2{font-size:clamp(28px,3.5vw,44px);max-width:16ch;margin:12px 0}
.lm-source-row p{max-width:60ch;color:var(--mut);line-height:1.65}
.lm-source-actions{display:flex;flex-wrap:wrap;gap:10px;flex:0 0 auto}
.lm-credits-page{padding:10px 0 90px}
.lm-credit-item{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px 0;border-bottom:1px solid var(--line)}
.lm-credit-item b{font-size:17px;font-weight:600}
.lm-credit-item p{font-size:13px;color:var(--mut);margin:5px 0 0}
.lm-credit-item>a{font-size:12px;white-space:nowrap;color:var(--fg);text-decoration:none;display:inline-flex;align-items:center;gap:7px}
@media(max-width:760px){
  .lm-guide-hero{height:auto;min-height:670px;max-height:820px}
  .lm-guide-hero .w{padding-bottom:82px}
  .lm-guide-hero .bc{margin-bottom:26px}
  .lm-photo-credit{left:18px;right:18px;max-width:none;text-align:left}
  .lm-related-grid{grid-template-columns:1fr 1fr}
  .lm-source-row{display:block;padding:30px 0 52px}
  .lm-source-actions{margin-top:20px}
  .lm-credit-item{align-items:flex-start;flex-direction:column;gap:10px}
}
@media(max-width:480px){
  .lm-guide-hero{min-height:690px}
  .lm-guide-hero h1{font-size:clamp(40px,12vw,58px)!important}
  .lm-hero-actions{align-items:stretch;flex-direction:column;max-width:290px}
  .lm-hero-actions .btn{width:100%;justify-content:space-between}
  .lm-related-grid{grid-template-columns:1fr}
  .lm-related-card{min-height:140px}
  .lm-guide-content{padding-top:42px;padding-bottom:56px}
}
@media(prefers-reduced-motion:reduce){
  .lm-related-card,.lm-credit-item,.lm-guide-side .l,.lm-hero-actions .btn{transition:none!important}
}


/* ===== mobile.css ===== */
/* MENGED — mobile-first layout system (loaded last).
   Goal: compact, scannable, thumb-friendly layouts on phones; desktop is untouched. */
@media (max-width:760px){
  :root{--w:calc(100% - 36px);--m-gut:18px;--m-gap:10px;--m-r:14px}
  html{-webkit-text-size-adjust:100%}
  html,body{max-width:100%;overflow-x:clip}

  /* ---- rhythm: tighter vertical spacing between sections ---- */
  #main section:not([class*="hero"]):not(.ch):not(.bh):not(.sh0):not(.rh):not(.th):not(.stay-promo){padding-block:38px!important}
  #main .sh{margin-bottom:20px!important}
  #main .sh h2{font-size:clamp(25px,7.4vw,31px)!important;line-height:1.13!important}
  #main .eye{margin-bottom:10px!important}

  /* ---- reusable horizontal rails (swipe, snap, edge-to-edge) ---- */
  #main .evs,#main .rail2{display:flex!important;grid-template-columns:none!important;overflow-x:auto;gap:12px!important;
    margin-inline:calc(var(--m-gut)*-1);padding:2px var(--m-gut) 10px;scroll-snap-type:x mandatory;scroll-padding-inline:var(--m-gut);
    scrollbar-width:none;-webkit-overflow-scrolling:touch}
  #main .evs::-webkit-scrollbar,#main .rail2::-webkit-scrollbar{display:none}
  #main .evs>*,#main .rail2>*{flex:0 0 76%!important;max-width:300px;scroll-snap-align:start;min-height:0!important}
  #main .ev{display:flex;flex-direction:column}
  #main .ev-ph{aspect-ratio:16/10;height:auto!important}
  #main .ev-ph img{width:100%;height:100%;object-fit:cover}
  #main .ev-body{padding:14px 15px 16px!important}
  #main .ev-body b{font-size:34px!important;line-height:1}
  #main .ev-body h3{font-size:17px!important;line-height:1.22;margin:8px 0}

  /* ---- Cars: service-mode picker becomes a tidy 2-column tile grid ---- */
  #main .mg{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:var(--m-gap);border:0!important}
  #main .mg a{padding:15px 14px 16px!important;border:1px solid var(--line)!important;border-radius:var(--m-r);background:var(--card,#fff);min-height:0!important}
  #main .mg a:last-child:nth-child(odd){grid-column:1/-1}
  #main .mg .mode-icon{width:42px;height:42px;border-radius:12px}
  #main .mg .mode-icon svg.ic,#main .mg .mode-icon .mg-art{width:28px!important;height:28px!important}
  #main .mg h3{margin:12px 0 3px!important;font-size:16px!important;line-height:1.15}
  #main .mg p{font-size:12.5px!important;line-height:1.35;margin:0}

  /* ---- quote widget tabs: one swipeable row of pills ---- */
  #main .qm{display:flex!important;overflow-x:auto!important;gap:7px!important;padding:11px 12px!important;scrollbar-width:none;scroll-snap-type:x proximity}
  #main .qm::-webkit-scrollbar{display:none}
  #main .qm button{flex:0 0 auto!important;min-height:42px!important;padding:9px 16px!important;border-radius:999px!important;white-space:nowrap!important;scroll-snap-align:center}
  #main .qm button.on{box-shadow:0 4px 12px rgba(18,39,30,.18)}

  /* ---- fleet filter chips ---- */
  #main .modes{display:flex!important;grid-template-columns:none!important;overflow-x:auto!important;gap:8px!important;
    margin-inline:calc(var(--m-gut)*-1)!important;padding:2px var(--m-gut) 6px;scrollbar-width:none}
  #main .modes::-webkit-scrollbar{display:none}
  #main .modes button{flex:0 0 auto!important;min-width:0!important;min-height:42px!important;padding:8px 16px!important;border-radius:999px!important;font-size:13px!important;white-space:nowrap}
  #main .modes button small{display:none!important}

  /* ---- vehicle cards: compact 2-up grid ---- */
  #main .vg{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:var(--m-gap)!important}
  #main .vc{border-radius:12px!important}
  #main .vc .tmp{aspect-ratio:4/3!important;height:auto!important}
  #main .vc .tmp img{width:100%;height:100%;object-fit:cover}
  #main .vc .vb{padding:10px 10px 11px!important;gap:5px!important}
  #main .vc .vb small{font-size:9.5px!important;letter-spacing:.09em}
  #main .vc .vb h3{font-size:14px!important;line-height:1.2!important;margin:0!important}
  #main .vc .sp{font-size:11px!important;gap:3px 8px!important;flex-wrap:wrap;margin:0!important}
  #main .vc .vf{display:grid!important;grid-template-columns:1fr 1fr;gap:6px!important;margin-top:auto!important;padding-top:4px}
  #main .vc .vf>*{min-height:38px!important;padding:6px 4px!important;font-size:12px!important;justify-content:center;width:100%;margin:0!important}

  /* ---- content cards (guides, sectors, reasons): photo-left compact rows ---- */
  #main .guide-grid{grid-template-columns:1fr!important;gap:10px!important}
  #main .guide-card:has(.guide-card-photo){display:grid!important;grid-template-columns:92px minmax(0,1fr);gap:0 13px;align-items:start;padding:10px!important;min-height:0!important;border-radius:var(--m-r)}
  #main .guide-card-photo{aspect-ratio:1/1!important;height:auto!important;border-radius:10px;overflow:hidden;margin:0!important}
  #main .guide-card-photo img{width:100%;height:100%;object-fit:cover}
  #main .guide-card-body{padding:2px 0 0!important;min-width:0}
  #main .guide-card-body h3{font-size:16px!important;line-height:1.2!important;margin:2px 0 5px!important}
  #main .guide-card-body p{font-size:13px!important;line-height:1.4!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 6px!important}
  #main .guide-card-body small{font-size:10px!important}
  #main .guide-card:not(:has(.guide-card-photo)){padding:16px!important;min-height:0!important}

  /* ---- stays: tighter vertical cards ---- */
  #main .stg{grid-template-columns:1fr!important;gap:12px!important}
  #main .stc .st-photo{aspect-ratio:16/9!important;height:auto!important}
  #main .stc .st-photo img{width:100%;height:100%;object-fit:cover}
  #main .stc-body{padding:14px 15px 16px!important}
  #main .stc-body h3{font-size:18px!important;margin:4px 0 6px!important}
  #main .stc-body p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px!important}
  #main .stc .tags{max-height:30px;overflow:hidden;margin:8px 0!important}

  /* ---- home / trade / support cards ---- */
  #main .group-service-photo-card{min-height:230px!important}
  #main .group-service-feature{min-height:340px!important}
  #main .trade-pain-grid,#main .pr4,#main .tg,#main .steps,#main .sg{gap:10px!important}
  #main .trade-pain-card,#main .tc,#main .sc{padding:16px!important;min-height:0!important}
  #main .step{padding:14px 0!important}

  /* ---- footer: two-column link grid, no clipped watermark ---- */
  #foot{padding-top:38px!important}
  #foot .fc{display:grid!important;grid-template-columns:1fr 1fr!important;gap:26px 18px!important}
  #foot .fc-intro,#foot .fc-connected,#foot .fc-contact{grid-column:1/-1}
  #foot .fc-local{grid-column:1/-1}
  #foot .fc-group-children{display:grid!important;grid-template-columns:1fr 1fr;gap:2px 14px;border-left:0!important;margin:6px 0 0!important;padding:0!important}
  #foot .fc-links a,#foot .fc-contact-links a,#foot .fc-group-children a{padding-block:9px!important;min-height:40px;display:flex;align-items:center}
  #foot .fc-contact-links{display:grid!important;grid-template-columns:1fr 1fr;gap:0 14px}
  #foot .fc-contact-primary{grid-column:1/-1}
  #foot .big{display:none!important}

  /* ---- call-to-action bands & touch targets ---- */
  #main .btn,#main button.btn,#main a.btn{min-height:46px}
  #main .qf-field input,#main .qf input,#main select{min-height:48px;font-size:16px}
  #main p{max-width:none}
}

/* small phones */
@media (max-width:360px){
  #main .vg{gap:8px!important}
  #main .vc .vb h3{font-size:13px!important}
  #main .guide-card:has(.guide-card-photo){grid-template-columns:78px minmax(0,1fr)}
}

/* Win the specificity contest against earlier per-page patches */
@media (max-width:760px){
  html body[data-s] #main .qw .qm{display:flex!important;grid-template-columns:none!important;overflow-x:auto!important;gap:7px!important;padding:11px 12px!important;scrollbar-width:none}
  html body[data-s] #main .qw .qm button{flex:0 0 auto!important;grid-column:auto!important;min-height:42px!important;padding:9px 16px!important;white-space:nowrap!important;border-radius:999px!important;letter-spacing:.06em!important}
}

@media (max-width:760px){
  html body #main .vc .vb .vf{display:grid!important;grid-template-columns:1fr 1fr!important;flex-direction:row!important;gap:6px!important;align-items:stretch}
  html body #main .vc .vb .vf>*{min-height:38px!important;height:auto!important;padding:6px 4px!important;font-size:12px!important;width:100%!important;margin:0!important;white-space:nowrap}
}

@media (max-width:760px){
  /* places index: two columns instead of one long list */
  #main .ix{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0 16px!important}
  #main .ix>a{min-height:46px;padding:11px 0!important;display:flex;align-items:center}
  #main .ix>a h3{font-size:17px!important;line-height:1.2;margin:0!important}
  #main .ix>a small,#main .ix>a p{display:none}
}

@media (max-width:760px){
  html body #main .modes#modes,html body #main #modes.modes{display:flex!important;grid-template-columns:none!important;overflow-x:auto!important;gap:8px!important;scrollbar-width:none;padding:2px 18px 8px!important;margin:0 -18px 8px!important}
  html body #main #modes.modes button{flex:0 0 auto!important;min-width:0!important;min-height:42px!important;padding:8px 18px!important;border-radius:999px!important;font-size:13px!important;white-space:nowrap!important}
  html body #main #modes.modes button small{display:none!important}
  /* compare = compact round toggle, Request takes the rest */
  html body #main .vc .vb .vf{grid-template-columns:1fr 42px!important}
  html body #main .vc .vb .vf .cmp{padding:0!important;border-radius:999px!important}
  html body #main .vc .vb .vf .cmp span{display:none!important}
  html body #main .vc .vb .vf .cmp::before{content:"+";font:600 22px/1 var(--sans,sans-serif)}
  html body #main .vc .vb .vf .cmp[aria-pressed="true"]::before{content:"\2713";font-size:16px}
}


/* ===== mobile-v2.css ===== */
/* =====================================================================
   MENGED — mobile-first system v2 (loaded last; phones & small tablets).
   One consistent grid, type scale and spacing rhythm, an app-style bottom
   tab bar, a solid header, and photo-aware cards (no wall of placeholders).
   Desktop (>760px) is untouched.
   ===================================================================== */

/* ---------- 0. helper elements are hidden on desktop ---------- */
#mtab,.m-more,.m-clamp-btn,.m-menu-tools{display:none}

@media (max-width:760px){

/* ---------- 1. tokens ---------- */
:root{
  --m-gut:20px;           /* the ONE side gutter */
  --m-sec:48px;           /* vertical rhythm between sections */
  --m-r:16px;             /* card radius */
  --m-r-sm:12px;
  --m-tab:62px;           /* bottom tab bar height */
  --m-nav:60px;           /* top bar height */
  --m-ink:#17251f;
  --m-mut:#5d665f;
  --m-line:rgba(23,37,31,.12);
  --m-forest:#173d2e;
  --m-copper:#bd582d;
  --m-gold:#c9922d;
  --w:100%;
}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--m-nav) + 12px)}
html,body{max-width:100%;overflow-x:clip}
body{font-size:16px;line-height:1.6;padding-bottom:calc(var(--m-tab) + env(safe-area-inset-bottom,0px))}
body.m-kb{padding-bottom:0}
body.m-kb #mtab{display:none!important}

/* ---------- 2. ONE content column (fixes the squeezed, nested-padding layout) ---------- */
html body #main .w.w.w,html body #foot .w.w.w{
  width:100%!important;max-width:none!important;margin-inline:0!important;
  padding-inline:var(--m-gut)!important;box-sizing:border-box}
html body #main .w .w.w.w{padding-inline:0!important}
html body #main section.alt,html body #main section[class]{margin-inline:0!important}
html body #main section:not([class*="hero"]):not(.ch):not(.bh):not(.sh0):not(.rh):not(.th):not(.stay-promo){padding-block:var(--m-sec)!important}
html body #main .content-block{max-width:none!important;padding-inline:0!important;margin-inline:0!important}

/* ---------- 3. type scale ---------- */
html body #main h1{font-size:clamp(31px,9.2vw,40px)!important;line-height:1.08!important;letter-spacing:-.015em;text-wrap:balance}
html body #main .sh{margin-bottom:22px!important;text-align:left}
html body #main .sh h2,html body #main section h2{font-size:clamp(25px,7.2vw,31px)!important;line-height:1.14!important;letter-spacing:-.012em;text-wrap:balance;margin-bottom:12px}
html body #main section h3{font-size:clamp(18px,5vw,21px);line-height:1.22}
html body #main .eye,html body #main [class*="eyebrow"]{font-size:11px!important;letter-spacing:.14em!important;margin-bottom:12px!important}
html body #main .w>p,html body #main .content-block p,html body #main .sh p{font-size:16px;line-height:1.62;max-width:62ch}
html body #main ul:not([class]) li,html body #main ol:not([class]) li{font-size:15.5px;line-height:1.55}
html body #main .sh p,html body #main .lead,html body #main [class*="lead"],html body #main [class*="hero"] p{font-size:16.5px!important;line-height:1.6!important}
html body #main small{font-size:12.5px}

/* ---------- 4. top bar: solid, quiet, thumb-sized ---------- */
html body header#nav{height:var(--m-nav)!important;min-height:var(--m-nav);padding:0 12px 0 14px!important;
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding-top:env(safe-area-inset-top,0px)!important;box-sizing:content-box}
html body header#nav.sol,html body header#nav:has(~ #menu.open){
  background:rgba(248,245,239,.97)!important;-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid var(--m-line);box-shadow:0 6px 24px -16px rgba(0,0,0,.35)}
html body header#nav #links,html body header#nav .nr>.btn,html body header#nav #mg-account-open,html body header#nav #swb{display:none!important}
html body header#nav .nr{display:flex!important;align-items:center;gap:8px;margin-left:auto}
html body header#nav .nr button{width:42px!important;height:42px!important;min-width:42px;padding:0!important;border-radius:14px!important;display:grid;place-items:center}
html body header#nav .lgb span{display:none!important}
html body #nav .logo{gap:11px!important;padding:2px!important}
html body #nav .logo b.lm svg{height:38px!important}
html body #nav .logo .lw{height:14px}
html body #nav .logo em{font-size:7.5px!important}
html body #nav .logo b.lm::before,html body #nav .logo b.lm::after{inset:-4px}

/* the page begins below the bar on inner pages */


/* ---------- 5. full-screen menu ---------- */
html body #menu{width:100vw!important;max-width:100vw!important;padding:calc(var(--m-nav) + 18px + env(safe-area-inset-top,0px)) var(--m-gut) calc(var(--m-tab) + 24px)!important;
  display:flex;flex-direction:column;gap:0}
html body #menu>a{font-size:clamp(24px,7.4vw,30px)!important;padding:15px 0!important;border-bottom:1px solid rgba(255,255,255,.12)!important;display:flex;align-items:center;justify-content:space-between}
html body #menu>a::after{content:"→";font:400 18px/1 var(--sans,Inter,sans-serif);opacity:.55}
html body #menu>a:last-of-type{margin-top:22px;background:var(--m-copper);border:0!important;border-radius:14px;padding:17px 20px!important;font:600 17px/1 var(--sans,Inter,sans-serif)!important;justify-content:center}
html body #menu>a:last-of-type::after{content:none}
html body #menu .m-menu-tools{display:flex;gap:10px;margin-top:22px}
html body #menu .m-menu-tools button{flex:1;min-height:48px;border-radius:14px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:#f8f7ef;font:500 14.5px/1 var(--sans,Inter,sans-serif);display:flex;align-items:center;justify-content:center;gap:8px}

/* ---------- 6. bottom tab bar ---------- */
#mtab{display:grid!important;grid-template-columns:repeat(6,1fr);position:fixed;left:0;right:0;bottom:0;z-index:70;
  height:calc(var(--m-tab) + env(safe-area-inset-bottom,0px));padding:6px 4px env(safe-area-inset-bottom,0px);
  background:rgba(251,249,244,.96);-webkit-backdrop-filter:saturate(1.5) blur(16px);backdrop-filter:saturate(1.5) blur(16px);
  border-top:1px solid var(--m-line);box-shadow:0 -10px 30px -20px rgba(0,0,0,.4)}
#mtab a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#6a736c;text-decoration:none;
  font:600 10.5px/1 var(--sans,Inter,system-ui,sans-serif);letter-spacing:.01em;border-radius:12px;position:relative;-webkit-tap-highlight-color:transparent}
#mtab a svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#mtab a[aria-current="page"]{color:var(--m-forest)}
#mtab a[aria-current="page"]::before{content:"";position:absolute;top:-7px;left:26%;right:26%;height:3px;border-radius:0 0 3px 3px;background:var(--m-copper)}
#mtab a[aria-current="page"] svg{stroke-width:2.1}
#mtab a:active{background:rgba(23,61,46,.07)}
body:has(#burger[aria-expanded="true"]) #mtab{display:none!important}

/* back-to-top rides above the tab bar */
#up{right:14px!important;bottom:calc(var(--m-tab) + 14px + env(safe-area-inset-bottom,0px))!important;width:44px!important;height:44px!important}

/* ---------- 7. buttons & forms ---------- */
html body #main .btn,html body #main a.btn,html body #main button.btn{min-height:50px;border-radius:14px;font-size:15.5px}
html body #main .btn.sm{min-height:44px}
html body #main section .btn+.btn{margin-top:10px}
html body #main [class*="actions"],html body #main .cta-row,html body #main .hero-cta{display:flex;flex-direction:column;gap:10px;align-items:stretch}
html body #main [class*="actions"]>.btn,html body #main .cta-row>.btn,html body #main .hero-cta>.btn{width:100%;justify-content:center}
html body #main input,html body #main select,html body #main textarea{font-size:16px!important;min-height:50px;border-radius:12px}
html body #main textarea{min-height:110px}

/* ---------- 8. horizontal rails: peek the next card ---------- */
html body #main .evs,html body #main .rail2{margin-inline:calc(var(--m-gut)*-1)!important;padding:2px var(--m-gut) 14px!important;scroll-padding-inline:var(--m-gut);gap:12px!important}
html body #main .evs>*,html body #main .rail2>*{flex:0 0 80%!important;max-width:320px}

/* ---------- 9. cards: one visual language ---------- */
html body #main .guide-card,html body #main .stc,html body #main .vc,html body #main .ev,html body #main .tc,html body #main .sc{
  border-radius:var(--m-r)!important}
html body #main .stg{gap:14px!important}
html body #main .stc .st-photo{aspect-ratio:16/10!important}
html body #main .stc-body{padding:16px!important}
html body #main .stc-body h3{font-size:19px!important}

/* ---------- 10. photo-aware cards (no wall of placeholders) ---------- */
/* a placeholder photo becomes a slim brand strip showing only the hills */
html body #main .stc.has-ph .st-photo,
html body #main .ev.has-ph .ev-ph{display:none!important}
html body #main .stc.has-ph{border-left:4px solid var(--m-forest)}
html body #main .ev.has-ph .ev-body{padding-top:18px!important}
html body #main .guide-card.has-ph:has(.guide-card-photo){display:block!important;padding:16px!important}
html body #main .guide-card.has-ph .guide-card-photo{display:none!important}

/* fleet: vehicles without a photo become compact list rows */
html body #main .vg{grid-template-columns:1fr!important;gap:10px!important}
html body #main .vc.has-ph{display:grid!important;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;column-gap:14px;padding:12px 14px;min-height:0}
html body #main .vc.has-ph>a.ph{display:none!important}
html body #main .vc.has-ph::before{content:"";grid-row:1/3;grid-column:1;width:52px;height:52px;border-radius:14px;
  background:var(--m-forest) var(--vk,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8c478' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 16l1.4-4.6A2 2 0 0 1 8.3 10h7.4a2 2 0 0 1 1.9 1.4L19 16'/%3E%3Cpath d='M3.5 16h17v3h-17z'/%3E%3Ccircle cx='7.5' cy='17.5' r='.6'/%3E%3Ccircle cx='16.5' cy='17.5' r='.6'/%3E%3C/svg%3E")) center/28px no-repeat}
html body #main .vc.has-ph .vb{display:contents!important}
html body #main .vc.has-ph .vb small{grid-column:2/4;grid-row:1;align-self:end;margin:0!important}
html body #main .vc.has-ph .vb h3{grid-column:2/4;grid-row:2;margin:0 0 2px!important;font-size:15.5px!important}
html body #main .vc.has-ph .vb .sp{grid-column:2/4;grid-row:3;margin:2px 0 0!important}
html body #main .vc.has-ph .vb .vf{grid-column:1/4;grid-row:4;margin-top:10px!important;grid-template-columns:1fr 46px!important}
html body #main .vc.has-ph .vb .vf .btn{min-height:42px!important}
html body #main .vc[data-k="suv"]{--vk:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8c478' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 16.5V12l2-3.5A2 2 0 0 1 7.2 7.5h8.2a2 2 0 0 1 1.6.8l2.5 3 1 .7v4.5z'/%3E%3Ccircle cx='8' cy='17.5' r='1.8' fill='%23173d2e'/%3E%3Ccircle cx='17' cy='17.5' r='1.8' fill='%23173d2e'/%3E%3C/svg%3E")}
html body #main .vc[data-k="van"],html body #main .vc[data-k="coach"]{--vk:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8c478' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='18' height='11' rx='2'/%3E%3Cpath d='M3 11h18M9 6v5M15 6v5'/%3E%3Ccircle cx='8' cy='18.5' r='1.4' fill='%23173d2e'/%3E%3Ccircle cx='16' cy='18.5' r='1.4' fill='%23173d2e'/%3E%3C/svg%3E")}
html body #main .vc[data-k="electric"]{--vk:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8c478' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 3L5 14h6l-1 7 8-11h-6z'/%3E%3C/svg%3E")}
html body #main .vc[data-k="exec"]{--vk:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8c478' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.6 5.4 5.9.9-4.3 4.1 1 5.9L12 16.6 6.8 19.3l1-5.9L3.5 9.3l5.9-.9z'/%3E%3C/svg%3E")}

/* fleet: paging */
html body #main .m-more{display:flex;align-items:center;justify-content:center;width:100%;margin:14px 0 4px;min-height:50px;border-radius:14px;
  border:1px solid var(--m-line);background:#fff;color:var(--m-ink);font:600 15px/1 var(--sans,Inter,sans-serif)}
html body #main .vg>.m-hide{display:none!important}

/* ---------- 11. vehicle / detail galleries ---------- */
html body #main .gal{margin-inline:0}
html body #main .gal .gt{border-radius:var(--m-r);overflow:hidden}
html body #main .gal .gth{display:flex!important;grid-template-columns:none!important;overflow-x:auto;gap:10px!important;padding:12px 0 4px;scrollbar-width:none}
html body #main .gal .gth::-webkit-scrollbar{display:none}
html body #main .gal .gth>button{flex:0 0 30%;min-width:0}
html body #main .gal.m-solo .gth{display:none!important}
html body #main .gal figcaption{font-size:12.5px;padding:8px 2px 0}

/* ---------- 12. long copy folds away ---------- */
html body #main .m-clamp{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
html body #main .m-clamp-btn{display:inline-flex;align-items:center;gap:6px;margin:2px 0 14px;padding:6px 0;background:none;border:0;
  color:var(--m-copper);font:600 14.5px/1 var(--sans,Inter,sans-serif);min-height:36px}

/* ---------- 13. lists, panels & callouts ---------- */
html body #main ul:not([class]),html body #main ol:not([class]){padding-left:20px}
html body #main ul:not([class]) li,html body #main ol:not([class]) li{margin-bottom:8px}
html body #main [class*="note"],html body #main [class*="next-step"],html body #main .helpful{border-radius:var(--m-r)}
html body #main .ix{gap:0 18px!important}
html body #main .ix>a h3{font-size:16px!important}

/* ---------- 14. footer ---------- */
html body #foot{padding-top:44px!important;padding-bottom:calc(24px + var(--m-tab))!important}
html body #foot .fc{gap:28px 20px!important}
html body #foot .fc-intro p,html body #foot .fc-intro h2,html body #foot .fc-intro .fc-lead{font-size:20px!important;line-height:1.3!important}

/* ---------- 16. alignment fixes ---------- */
/* hero photo (Cars / others): sits inside the gutter, no negative bleed */
html body #main .chp{margin:0!important;border-radius:var(--m-r)!important;aspect-ratio:16/10!important;width:100%}
html body #main .ch2{display:flex;flex-direction:column;gap:22px}
html body #main .ch{padding-top:calc(var(--m-nav) + 18px)!important;padding-bottom:28px!important}

/* destination carousel: compact photo, clipped copy */
html body #main .rail .card{flex:0 0 78%!important;max-width:320px}
html body #main .rail .card .ph{aspect-ratio:4/3!important;height:auto!important;border-radius:var(--m-r);overflow:hidden}
html body #main .rail .card .ph img{width:100%;height:100%;object-fit:cover}
html body #main .rail .card h3{margin:12px 4px 4px!important;font-size:18px!important}
html body #main .rail .card p{margin:0 4px!important;font-size:14px!important;line-height:1.5!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
html body #main .rail-scroll{padding-inline:var(--m-gut)!important;margin-inline:calc(var(--m-gut)*-1)!important}

/* the lone last service tile becomes a full-width row (no empty half) */
html body #main .mg a:last-child:nth-child(odd){display:grid!important;grid-template-columns:48px minmax(0,1fr);column-gap:14px;align-items:center;grid-column:1/-1}
html body #main .mg a:last-child:nth-child(odd) .mode-icon{grid-row:1/3;margin:0!important}
html body #main .mg a:last-child:nth-child(odd) h3{margin:0 0 2px!important;align-self:end}
html body #main .mg a:last-child:nth-child(odd) p{align-self:start}

/* vehicle detail: text first when there is no photo gallery */
html body #main .w.two{display:flex!important;flex-direction:column;gap:26px}
html body #main .w.two>aside{order:-1;width:100%}
html body #main .w.two>aside:not(:has(.gal)){order:2}
html body #main .w.two>div{width:100%;min-width:0}

/* lighter row actions in the fleet list */
html body #main .vc.has-ph .vb .vf .btn{background:#fff!important;color:var(--m-copper)!important;border:1.5px solid var(--m-copper)!important;box-shadow:none!important;min-height:42px!important}
html body #main .vc.has-ph .vb .vf .btn span{color:inherit}
html body #main .vc.has-ph{padding:14px!important;border:1px solid var(--m-line)!important;box-shadow:0 8px 20px -16px rgba(23,37,31,.35)}

/* first section on pages without a hero sits close under the bar */
html body #main>section:first-child:not([class*="hero"]):not(.ch):not(.bh):not(.sh0):not(.rh):not(.th){padding-top:calc(var(--m-nav) + 22px)!important}

/* hero bands: tight top, no dead air */
html body #main section.bh,html body #main section.rh,html body #main section.sh0{padding-top:calc(var(--m-nav) + 26px)!important;padding-bottom:34px!important;min-height:0!important}

/* stay actions: full-width, centred */
html body #main .stay-actions{display:flex!important;flex-direction:row!important;gap:10px;flex-wrap:wrap;align-items:stretch}
html body #main .stay-actions>a{flex:1 1 auto;height:auto!important;display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:46px;border-radius:14px}

/* trade: product families become chips, product grid becomes a 2-up shop grid */
html body #main .product-family-shortcuts{display:flex!important;flex-wrap:wrap;gap:8px!important;grid-template-columns:none!important}
html body #main .product-family-shortcuts>a{display:inline-flex!important;align-items:center;justify-content:flex-start!important;gap:0!important;padding:10px 14px!important;min-height:42px;border-radius:999px;width:auto!important;font-size:14px!important;white-space:normal}
html body #main .product-family-shortcuts>a>span:last-child:not(.upright-amp){display:none}
html body #main .product-family-shortcuts .upright-amp{margin:0 .3em}
html body #main .pg2{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
html body #main .pc2{padding:8px 8px 12px!important;border-radius:var(--m-r)!important;display:flex;flex-direction:column}
html body #main .pc2 .tmp{aspect-ratio:4/3!important;height:auto!important;border-radius:12px;overflow:hidden}
html body #main .pc2 .tmp img{width:100%;height:100%;object-fit:cover}
html body #main .pc2 h3{font-size:15.5px!important;line-height:1.2!important;margin:10px 4px 4px!important}
html body #main .pc2 p{font-size:13px!important;line-height:1.42!important;margin:0 4px 8px!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
html body #main .pc2 .tmp+h3~*:last-child{margin-top:auto;font-size:13px}

/* ---------- 15. motion & safety ---------- */
@media (prefers-reduced-motion:reduce){#mtab a,#menu *{transition:none!important}}
*{-webkit-tap-highlight-color:rgba(23,61,46,.08)}
img{max-width:100%}
}

/* small phones */
@media (max-width:360px){
  :root{--m-gut:16px;--m-sec:40px}
  #mtab a{font-size:9.5px}
  html body #nav .logo .lw{height:12px}
}


/* ===== final-fixes.css ===== */
/* ===== MENGED final fixes (loaded last) ===== */

/* 1. Full text everywhere: no line-clamps, no hidden overflow on copy */
html body :is(.card p,.mos .mos-desc,.trade-family-grid .mos-desc,#sites .sb-sub p,#main .hero.th .thc p,
  #main .m-clamp,#main .rail .card p,#main .pc2 p,#main .guide-card-body p,#main .stc-body p,
  .map-legend button.ml-chip span,.map-legend button.ml-chip>span.ml-label,.map-legend .ml-chip>span){
  display:block!important;-webkit-line-clamp:unset!important;line-clamp:unset!important;
  -webkit-box-orient:initial!important;max-height:none!important;height:auto!important;min-height:0!important;
  overflow:visible!important;text-overflow:clip!important;white-space:normal!important;overflow-wrap:anywhere;
}
html body #main .m-clamp-btn{display:none!important}
html body :is(.vc .vf .cmp span,.cmp-detail,.cmp-detail span){
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important}

/* 2. Header: always in place while scrolling, never slides, no heavy blur repaint */
html body header#nav,html body header#nav.hid{
  position:fixed!important;top:0;left:0;right:0;transform:none!important;
  transition:background-color .2s,box-shadow .2s,border-color .2s!important;will-change:auto}
html body header#nav .nr button{transform:none!important}
@media(max-width:1180px){
  html body header#nav.sol{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;
    background:#f8f5ef!important}
}

/* 3. Tag chips: show every chip, wrap onto more lines */
html body #main :is(.tags,.stc .tags){max-height:none!important;overflow:visible!important;height:auto!important}
html body #main .tags span{white-space:normal}


/* ===== smooth.css ===== */
/* MENGED smooth + mobile polish (loaded last). Phones only unless noted. */

/* Route change: quick opacity fade, no slide, no long fade-in of every block */
@media (max-width:760px){
  html body #main.route-fallback{animation:mg-fade-in .18s ease-out both}
  @keyframes mg-fade-in{from{opacity:0}to{opacity:1}}
  html body [data-r]{transition-duration:.45s!important;transition-delay:0s!important}
  html body.app-ready [data-r]:not(.in){transform:translateY(10px)}
  /* heavy blur layers are costly on phones */
  html body *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  html body #nav.sol{background:#f8f5ef!important}
  /* readable bottom-tab labels */
  html body #mtab a{font-size:11px}
  html body #nav .logo em:not(.ltag){font-size:8.5px!important}
}

/* Tap targets: breadcrumbs, footer links, back links get a 44px hit area without changing the look */
html body #main .bc a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px}
html body #main .bc{align-items:center}
html body .fc-links a{min-width:44px;justify-content:center}
html body #main .inv-back-link{display:inline-flex;align-items:center;min-height:44px}
html body #main .lm-credit-item a{display:inline-block;padding:12px 4px}
html body #main p a[href^="/"]{padding:4px 0}

/* ── No automatic hyphenation (it was producing "nav-igate"); Russian keeps its own rules ── */
html:not([lang="ru"]) body *,html:not([lang="ru"]) body *::before,html:not([lang="ru"]) body *::after{
  hyphens:manual!important;-webkit-hyphens:manual!important}

/* ── Side-by-side buttons: no stray top margin pushing the second one down ── */
html body #main :is(.bt,.group-hero-actions,.stay-promo-actions,[class*="actions"],[class*="btns"],[class*="cta"]) .btn+.btn{margin-top:0!important}
html body #main .hero.th .thc .bt .btn.alt,html body #main .hero.th .thc .bt .btn.lt{margin-top:0!important}

/* ── Menu: room above an opened "Explore MENGED" so the scroll lands cleanly ── */
html body #menu details{scroll-margin-top:96px}

/* ── Hero photos: same box on every slide, fade only (no zoom that makes photos grow/shrink) ── */
html body #main .hero :is(.bg){transform:none!important;transition:opacity .6s ease!important}
html body #main .hero .bg img{width:100%;height:100%;object-fit:cover;object-position:center}
@media (max-width:620px){
  /* Photo on top with the swipe cards laid over its lower edge, so the cards are always in the first view */
  html body #main .hero.th{--th-img:250px}
  html body #main .hero.th .bg{height:var(--th-img)!important}
  html body #main .hero.th .w{padding-top:var(--th-img)!important;position:relative!important}
  html body #main .hero.th .thumbs{position:absolute!important;left:0;right:0;top:calc(var(--th-img) - 112px)!important;margin:0!important;z-index:4}
  html body #main .hero.th .thc p{font-size:14.5px!important;line-height:1.5!important}
  html body #main .hero.th .thc{margin-bottom:8px!important}
  html body #main .hero.th .thc .bt{min-height:46px!important}
}
html[lang="ru"] body #main :is(.hero,.ph0,.page-hero,.group-hero) h1{hyphens:auto!important;-webkit-hyphens:auto!important}


/* ===== mobile-v3.css ===== */
/* MENGED mobile-v3 — final mobile pass (loaded last). Phones only; desktop untouched. */
@media (max-width:760px){

/* 1. Header: dark with white content whenever the menu is open (was cream + white = invisible) */
html body:has(#burger[aria-expanded="true"]) header#nav,
html body:has(#burger[aria-expanded="true"]) header#nav.sol{
  background:#173a2e!important;border-bottom:1px solid rgba(255,255,255,.1)!important;box-shadow:none!important}
html body:has(#burger[aria-expanded="true"]) header#nav .logo,
html body:has(#burger[aria-expanded="true"]) header#nav .logo .lw,
html body:has(#burger[aria-expanded="true"]) header#nav .logo em{color:#fff!important}
html body:has(#burger[aria-expanded="true"]) header#nav .nr button{
  background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.28)!important;color:#fff!important;box-shadow:none!important}
html body:has(#burger[aria-expanded="true"]) header#nav .nr button svg{color:#fff!important;stroke:#fff!important}
/* normal scrolled header: dark logo and icons on cream */
html body header#nav.sol:not(:has(~ #menu.open)) .logo,
html body header#nav.sol:not(:has(~ #menu.open)) .logo .lw{color:#17251f}

/* 2. Tours hero: photo on top, thumbnail strip directly BELOW it (no overlap), no dead gap */
html body #main .hero.th{min-height:0!important;height:auto!important;--th-img:236px}
html body #main .hero.th .bg{height:var(--th-img)!important}
html body #main .hero.th .w{display:flex!important;flex-direction:column;padding-top:var(--th-img)!important;padding-bottom:26px!important}
html body #main .hero.th .thumbs{order:-1;position:relative!important;top:auto!important;left:auto!important;right:auto!important;
  margin:12px calc(var(--m-gut,20px)*-1) 6px!important;padding:2px var(--m-gut,20px) 8px!important;width:auto!important;max-width:none!important;
  z-index:2;scroll-padding-inline:var(--m-gut,20px)}
html body #main .hero.th .thumbs .th-card{flex:0 0 112px!important;width:112px!important;aspect-ratio:4/3!important}
html body #main .hero.th .thc{margin:10px 0 0!important}
html body #main .hero.th .thc .bt{margin-top:16px!important;gap:10px}

/* 3. Calendar / event cards: identical size */
html body #main .evs{align-items:stretch!important}
html body #main .evs>.ev{flex:0 0 78%!important;max-width:300px!important;display:flex!important;flex-direction:column;height:auto!important}
html body #main .evs>.ev .ev-body{display:flex!important;flex-direction:column;flex:1 1 auto}
html body #main .evs>.ev .ev-body h3{flex:1 1 auto;min-height:2.5em;margin-bottom:10px}
html body #main .evs>.ev .ev-body small{display:block;min-height:4.4em}

/* 4. Stays: no photos anywhere */
html body #main .stc .st-photo,html body #main .stay-detail-hero{display:none!important}
html body #main .stc.stc-nophoto{border-left:4px solid var(--m-forest,#173d2e)}
html body #al button.atl-nophoto{padding-left:14px}

/* 5. Footer: two-column grid, short link rows */
html body #foot .fc{display:grid!important;grid-template-columns:1fr 1fr;gap:22px 18px!important;align-items:start}
html body #foot .fc>*{min-width:0}
html body #foot .fc-intro,html body #foot .fc-contact{grid-column:1/-1}
html body #foot .fc-local,html body #foot .fc-connected{grid-column:auto}
html body #foot .fc h4{margin:0 0 6px!important;font-size:12px!important;letter-spacing:.12em}
html body #foot .fc-links,html body #foot .fc-group-children{display:flex!important;flex-direction:column;gap:0!important}
html body #foot .fc-links a{min-height:38px!important;padding:7px 0!important;justify-content:flex-start!important;font-size:14.5px!important;border:0!important}
html body #foot .fc-connected>nav{border-top:0}
html body #foot .fc-contact-links{display:grid!important;grid-template-columns:1fr 1fr;gap:0 18px}
html body #foot .fc-contact-links a{min-height:38px;padding:7px 0;display:flex;align-items:center;font-size:14.5px;overflow-wrap:anywhere}
html body #foot .fc .fc-contact nav.fc-contact-links{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0 18px!important}
html body #foot .fc .fc-contact nav.fc-contact-links a{min-height:38px!important;padding:7px 0!important;font-size:14.5px!important;justify-content:flex-start!important}
html body #foot .fc .fc-contact nav.fc-contact-links a:first-child{grid-column:1/-1}
html body #foot .fc-social{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;flex-wrap:wrap}
html body #foot .fc-social h4{width:100%;margin:0 0 2px!important}
html body #foot .fc-city{display:block;margin-top:8px}
html body #foot .big{font-size:15vw!important;line-height:1;margin:14px 0 8px!important}

/* 6. Cars: compact first screen */
html body #main .ch{padding-top:calc(var(--m-nav,60px) + 12px)!important;padding-bottom:14px!important}
html body #main .ch2{gap:12px!important}
html body #main .ch2>.chp{order:-1;aspect-ratio:16/9!important}
html body #main .ch h1{font-size:clamp(26px,8vw,32px)!important}
html body #main .ch h1 span,html body #main .ch h1 em{display:inline}
html body #main .ch p{font-size:14.5px!important;line-height:1.5!important;margin:8px 0 0!important}
html body #main .ch .eye{margin-bottom:6px!important}
html body #main form.qw{margin-top:6px!important;border-radius:18px!important;overflow:hidden}
html body #main .qw .qm{padding:9px 10px!important;gap:6px!important}
html body #main .qw .qm button{min-height:38px!important;padding:7px 14px!important;font-size:14px!important}
html body #main .quote-form-note{font-size:12.5px!important;margin-top:10px!important}

/* 7. Mode tiles: Group tile has icon + text centred in the middle */
html body #main .mg a:last-child:nth-child(odd){display:grid!important;grid-template-columns:auto auto!important;
  justify-content:center!important;align-content:center!important;align-items:center!important;column-gap:16px;text-align:left;min-height:96px}
html body #main .mg a:last-child:nth-child(odd) .mode-icon{grid-row:1/3;align-self:center!important;justify-self:center;margin:0!important}
html body #main .mg a:last-child:nth-child(odd) h3{align-self:end!important;margin:0!important}
html body #main .mg a:last-child:nth-child(odd) p{align-self:start!important;margin:2px 0 0!important}

/* 8. Vehicle cards: always image cards */
html body #main .vc .tmp,html body #main .vc .ph{aspect-ratio:16/10!important;height:auto!important}
html body #main .vc .tmp img{width:100%;height:100%;object-fit:cover}

/* 9. Scroll traps: nested lists hand scrolling back to the page */
html body .atl aside ul#al{max-height:64svh!important;overscroll-behavior:auto!important}
html body #main #pch,html body .place-suggestions,html body #main .sbg{overscroll-behavior:auto!important}
html body #al.m-more-below{-webkit-mask-image:linear-gradient(#000 calc(100% - 44px),transparent);mask-image:linear-gradient(#000 calc(100% - 44px),transparent)}
/* menu: last items always clear of the bottom */
html body #menu{padding-bottom:calc(var(--m-tab,62px) + 48px)!important}
}


/* ===== mobile-v4.css ===== */
/* MENGED mobile-v4 — alignment, controls, tools, flagship-phone support. Loaded after mobile-v3. */

/* ───── Language menu: opaque panel, one tick column, tidy rows ───── */
html body #lg{background:#fbf9f4!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  width:min(300px,calc(100vw - 24px))!important;padding:10px!important;border-radius:20px!important;
  border:1px solid rgba(23,58,46,.14)!important;box-shadow:0 24px 60px -18px rgba(10,30,22,.45)!important;
  right:max(12px,env(safe-area-inset-right))!important;max-height:calc(100dvh - 140px);overflow:auto}
html body #lg .lgh{padding:6px 12px 10px;font:700 11px/1.3 var(--sans,Inter,Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:#4d5b53}
html body #lg button[role=option]{display:grid!important;grid-template-columns:minmax(0,1fr) auto 28px!important;align-items:center!important;
  column-gap:10px;width:100%;min-height:52px;padding:0 10px 0 14px!important;margin:0!important;text-align:left;border-radius:13px!important;position:static!important}
html body #lg button[role=option],html body #lg button[role=option][lang]{direction:ltr!important;align-content:center!important;text-align:left!important}
html body #lg button[role=option]>*{grid-row:1!important;align-self:center!important;margin-top:0!important;margin-bottom:0!important}
html body #lg button[role=option]>span{grid-column:1;font-size:17px;line-height:1.2;color:#17251f;unicode-bidi:isolate;justify-self:start}
html body #lg button[role=option] .lgsoon{grid-column:2;margin:0!important;padding:4px 9px;border-radius:999px;background:#eceae1;color:#5a6a61;
  font:600 10.5px/1 var(--sans,Inter,Arial,sans-serif);letter-spacing:.06em;text-transform:uppercase;opacity:1}
html body #lg button[role=option] .lgck{grid-column:3;justify-self:center;width:28px;height:28px;margin:0!important;border-radius:50%}
html body #lg button[role=option] .lgck.is-selected{background:#173a2e}
html body #lg button[role=option] .lgck.is-selected:after{content:""!important;width:6px!important;height:11px!important;margin-top:-2px;border:solid #fff!important;border-width:0 2.5px 2.5px 0!important;transform:rotate(45deg)!important;background:none!important}
html body #lg button[aria-disabled=true]{opacity:.72}

/* ───── Compare popup: X inside the card, sticky head ───── */
html body .cmp-pop-card{position:relative}
html body .cmp-pop-head{position:sticky;top:0;z-index:4;background:linear-gradient(#f7f3ea 82%,rgba(247,243,234,0));padding-right:56px!important;margin:0 0 6px}
html body .cmp-pop-x{position:absolute!important;top:10px!important;right:10px!important;width:42px!important;height:42px!important;min-width:0!important;padding:0!important;
  display:grid!important;place-items:center;border-radius:50%!important;background:#173a2e!important;color:#fff!important;border:0!important;font-size:0!important;
  box-shadow:0 6px 16px -6px rgba(10,30,22,.5);transition:transform .2s ease}
html body .cmp-pop-x:active{transform:scale(.92)}
html body .cmp-pop-x svg{display:block}
html body .cmp-pop-actions .btn.sm,html body .cmp-pop-actions .btn.sm span{color:#fff!important}
html body .cmp-pop-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}
html body .cmp-pop-actions a.l{font-weight:600;color:#173a2e}

/* ───── Compare bar: minimise control + collapsed chip ───── */
html body #cb{position:fixed}
html body #cb .cb-min{position:absolute;top:-18px;right:14px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;
  background:#173a2e;color:#fff;border:2px solid #f2d99a;box-shadow:0 6px 14px -6px rgba(0,0,0,.5);padding:0;cursor:pointer;z-index:2}
html body #cb.min{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;width:auto!important;left:auto!important;right:14px!important;
  bottom:calc(var(--m-tab,62px) + env(safe-area-inset-bottom,0px) + 12px)!important;transform:none}
html body #cb .cb-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;background:#173a2e;color:#fff;border:2px solid #f2d99a;
  font:650 14px/1 var(--sans,Inter,Arial,sans-serif);box-shadow:0 10px 24px -10px rgba(0,0,0,.55);cursor:pointer}

/* ───── Request type chooser: tidy tick instead of the big chevron ───── */
html body #main .ty.on:after{content:""!important;position:absolute!important;right:14px!important;top:50%!important;margin-top:-13px!important;width:26px!important;height:26px!important;
  border:0!important;border-radius:50%!important;transform:none!important;background:#f2d99a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23173a2e' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/15px no-repeat!important}

/* ───── Buttons that were hard to see ───── */
html body #main .chip.on,html body #main #tt .chip.on,html body #main .chips .chip.on{background:#173a2e!important;color:#fff!important;border-color:#173a2e!important;box-shadow:0 8px 18px -10px rgba(10,30,22,.6)}
html body #main .btn.lt,html body #main .btn.lt span{color:#173a2e!important}
html body #main .btn.lt{background:#f2d99a!important;border-color:#e2a93b!important;box-shadow:0 10px 22px -12px rgba(0,0,0,.5)}
html body #main .btn:not(.alt):not(.lt):not(.ghost) span{text-shadow:none}

/* ───── Tools: richer cards ───── */
html body #main #tt{display:flex!important;flex-wrap:nowrap!important;gap:10px!important;overflow-x:auto;padding:4px 2px 12px!important;margin:0 -2px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
html body #main #tt::-webkit-scrollbar{display:none}
html body #main #tt .chip{flex:0 0 auto;min-height:46px;padding:0 18px!important;border-radius:999px!important;background:#fff!important;color:#173a2e!important;border:1.5px solid rgba(23,58,46,.2)!important;font-weight:650;white-space:nowrap;box-shadow:none}
html body #main .tool{position:relative;display:block!important;padding:22px 18px 18px!important;border-radius:28px!important;overflow:hidden;
  background:radial-gradient(120% 60% at 100% 0%,rgba(242,217,154,.35),rgba(242,217,154,0) 60%),linear-gradient(180deg,#fffdf8,#f6f1e6)!important;
  border:1px solid rgba(23,58,46,.12)!important;box-shadow:0 24px 50px -28px rgba(10,30,22,.45)!important}
html body #main .tool:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#173a2e,#2f6a4f 55%,#e2a93b)}
html body #main .tool .tl1{padding:0!important;margin:0 0 16px!important;border:0!important}
html body #main .tool .tl1:before{content:"";display:block;width:54px;height:54px;border-radius:17px;margin-bottom:14px;
  background:#173a2e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2d99a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 5L5 19'/%3E%3Ccircle cx='7' cy='7' r='2.5'/%3E%3Ccircle cx='17' cy='17' r='2.5'/%3E%3C/svg%3E") center/28px no-repeat;box-shadow:0 12px 22px -12px rgba(10,30,22,.7),inset 0 0 0 1.5px rgba(242,217,154,.5)}
html body #main .tool[data-k=land] .tl1:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2d99a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17l2-6h14l2 6'/%3E%3Cpath d='M12 11V4m0 0l-3 3m3-3l3 3'/%3E%3Cpath d='M2 20c2 0 2-1.2 4-1.2S8 20 10 20s2-1.2 4-1.2S16 20 18 20s2-1.2 4-1.2'/%3E%3C/svg%3E")}
html body #main .tool[data-k=be] .tl1:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2d99a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V4'/%3E%3Cpath d='M4 20h16'/%3E%3Cpath d='M7 15l4-4 3 3 5-6'/%3E%3C/svg%3E")}
html body #main .tool .tl1 h2{font-size:clamp(26px,7.4vw,32px)!important;line-height:1.1;margin:6px 0 10px!important}
html body #main .tool .tl1 p{font-size:15px!important;line-height:1.55!important;margin:0!important;color:#4d5b53}
html body #main .tool .tl2{display:block!important;padding:0!important;margin:0!important}
html body #main .tool .tf{display:grid!important;gap:14px!important;padding:16px!important;margin:0 0 14px!important;background:#fff!important;border:1px solid rgba(23,58,46,.12)!important;border-radius:20px!important;box-shadow:0 10px 24px -18px rgba(10,30,22,.4)}
html body #main .tool .tf label.f{display:grid!important;gap:7px;margin:0!important;padding:0!important;font:650 13px/1.3 var(--sans,Inter,Arial,sans-serif);letter-spacing:.01em;color:#2a3a32}
html body #main .tool .tf input,html body #main .tool .tf select{width:100%!important;max-width:none!important;box-sizing:border-box;min-height:52px;padding:0 14px!important;margin:0!important;
  font:650 18px/1 var(--sans,Inter,Arial,sans-serif);color:#10241b;background:#faf8f2;border:1.5px solid rgba(23,58,46,.2);border-radius:14px;transition:border-color .2s,box-shadow .2s}
html body #main .tool .tf select{font-size:14.5px!important;font-weight:600!important;text-overflow:ellipsis;padding-right:34px!important}
html body #main .tool .tf input:focus,html body #main .tool .tf select:focus{outline:0;border-color:#e2a93b;box-shadow:0 0 0 4px rgba(226,169,59,.25)}
html body #main .tool .tf .mut{font-size:12.5px;line-height:1.45;color:#66746c}
html body #main .tool .tr{margin:0!important;padding:20px 18px!important;border-radius:22px!important;color:#fff;border:0!important;
  background:radial-gradient(90% 70% at 100% 0%,rgba(242,217,154,.22),transparent 60%),linear-gradient(160deg,#1e4d3a,#0f2a20)!important;box-shadow:0 22px 40px -22px rgba(10,30,22,.8)}
html body #main .tool .tr .eye{color:#f2d99a!important}
html body #main .tool .tr .big2{display:block;margin:6px 0 14px;font:700 clamp(28px,8.4vw,36px)/1.1 var(--serif,Georgia,serif);color:#f6dfa4;letter-spacing:-.01em;overflow-wrap:anywhere}
html body #main .tool .tr dl{margin:0}
html body #main .tool .tr dl>div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid rgba(255,255,255,.14);font-size:14.5px}
html body #main .tool .tr dt{color:rgba(255,255,255,.78)}
html body #main .tool .tr dd{margin:0;color:#fff;font-weight:650;text-align:right}
html body #main .tool .tr .btn.tq{width:100%;justify-content:center;margin-top:16px!important;min-height:52px}

/* ───── Phones and flagships: safe areas, big-screen balance ───── */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html body button,html body a,html body summary{touch-action:manipulation}
html body #mtab{padding-bottom:max(8px,env(safe-area-inset-bottom))}
html body #up{bottom:calc(var(--m-tab,62px) + env(safe-area-inset-bottom,0px) + 14px)}
html body #cb:not(.min){bottom:calc(var(--m-tab,62px) + env(safe-area-inset-bottom,0px) + 10px)}
html body header#nav{padding-top:env(safe-area-inset-top,0px)}
@media (max-width:760px){
  html body #main .w{padding-left:max(var(--m-gut,20px),env(safe-area-inset-left))!important;padding-right:max(var(--m-gut,20px),env(safe-area-inset-right))!important}
  html body #menu{height:100dvh;min-height:100dvh}
  html body .cmp-pop-card{max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px));overflow-y:auto;overscroll-behavior:auto}
  html body #main .qw .qf{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px 12px!important;padding:16px!important}
  html body #main .qw .qf>*{grid-column:1/-1;padding:0!important;border:0!important;margin:0!important;min-width:0}
  html body #main .qw .qf>.qf-date-time{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important}
  html body #main .qw .qf>.qf-optional,html body #main .qw .qf>label[for=q4]{grid-column:span 1!important}
  html body #main .qw .qf>.qf-date-time{grid-column:1/-1!important}
  html body #main .qw .qf small,html body #main .qw .qf .qf-label-row em{display:none!important}
  html body #main .qw .qf .qf-field{font-size:11px;letter-spacing:.1em}
  html body #main .qw .qf .qf-field{display:flex!important;flex-direction:column;gap:6px;padding:0!important;border:0!important;margin:0!important;width:100%;min-width:0}
  html body #main .qw .qf .qf-field input{width:100%!important;box-sizing:border-box;min-height:48px!important;margin:0!important}
  html body #main .qw .qf .pax-stepper{transform:none!important;width:100%;display:flex;align-items:center;justify-content:space-between}
  html body #main .qw .qf>button.btn{margin:4px 0 0!important;width:100%!important}
  html body #main .support-choice-grid>:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 6px);justify-content:center;text-align:center}
}
/* Larger phones / foldables (≥ 430px): keep content centred, readable measure */
@media (min-width:430px) and (max-width:760px){
  html body #main .w{max-width:620px;margin-left:auto;margin-right:auto}
  html body #main .tool{padding:26px 24px 22px!important}
}

/* Compare popup: "add" slot centred, no stray focus box on auto-focus */
html body .cmp-pop-add{display:flex!important;flex-direction:column;align-items:center!important;text-align:center!important;gap:10px}
html body .cmp-pop-add strong,html body .cmp-pop-add small{text-align:center}
html body .cmp-pop-add:focus:not(:focus-visible),html body .cmp-pop-card:focus:not(:focus-visible){outline:0!important;box-shadow:none}

/* Request type tiles: consistent top-aligned text so boxes line up */
html body #main .types .ty{justify-content:flex-start!important;align-items:flex-start!important;min-height:78px}
html body #main .types .ty.on{min-height:68px!important;justify-content:center!important}

@media (max-width:760px){
  html body[data-s] #main .qw .qf>.qf-date-time,html body #main .qw .qf>.qf-date-time{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;padding:0!important;border:0!important;margin:0!important}
  html body[data-s] #main .qw .qf .qf-date-time>.qf-field,html body #main .qw .qf .qf-date-time>.qf-field{padding:0!important;margin:0!important;border:0!important;display:flex!important;flex-direction:column;gap:6px;width:100%;min-width:0}
  html body[data-s] #main .qw .qf .qf-date-time .qf-field input,html body #main .qw .qf .qf-date-time .qf-field input{padding-inline:12px!important;font-size:15px!important;width:100%!important;min-height:48px!important}
  html body #main .qw .qf .pax-stepper{max-width:100%;overflow:hidden}
}
@media (max-width:760px){
  html body[data-s] #main .qw .qf .qf-date-time .qf-field input,html body #main .qw .qf .qf-field input[type=date],html body #main .qw .qf .qf-field input[type=time]{font-size:14px!important;padding-inline:10px!important;letter-spacing:-.01em}
  html body #main .qw .qf .qf-field input[type=date]{min-width:0}
  html body #main .qw .qf .pax-stepper{padding:3px!important;gap:0}
  html body #main .qw .qf .pax-stepper .pax-btn{width:38px!important;height:38px!important;flex:0 0 38px}
  html body #main .qw .qf .pax-stepper input{width:44px!important;min-height:0!important;text-align:center;padding:0!important;border:0!important;background:transparent!important}
}

/* Primary rust buttons: darker fill + white text for readable contrast */
html body #main .vc .btn.sm,html body .cmp-pop .btn.sm,html body #cb .btn.sm{background:#a63d22!important;border-color:#a63d22!important;color:#fff!important}
html body #main .vc .btn.sm span,html body .cmp-pop .btn.sm span,html body #cb .btn.sm span{color:#fff!important;font-weight:650}


/* ===== mobile-v5.css ===== */
/* MENGED mobile-v5 — loaded last.
   1. Header is never see-through on inner pages (content/photos no longer show under the logo).
   2. Passengers stepper fits its column on phones.
   3. Date/time fields show a visible placeholder when empty. */

/* ───── 1. Solid header (only the home/destination hero pages stay transparent at the very top) ───── */
html body:not([data-hero="1"]) header#nav:not(.sol),
html body:not([data-hero="1"]) header#nav.hid:not(.sol){
  background:#f8f5ef!important;
  border-bottom:1px solid rgba(26,47,35,.12)!important;
  box-shadow:0 6px 24px -16px rgba(0,0,0,.35)!important;
  color:#17251f!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html body:not([data-hero="1"]) header#nav:not(.sol) .logo,
html body:not([data-hero="1"]) header#nav:not(.sol) .logo .lw{color:#17251f!important;filter:none!important;text-shadow:none!important}
html body:not([data-hero="1"]) header#nav:not(.sol) .nr button{
  background:#fff!important;border:1px solid rgba(26,47,35,.18)!important;color:#17251f!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important}
/* scrolled / open-menu states keep their own rules; just make sure the photo can never show through */
html body header#nav.sol{background:#f8f5ef!important}
/* hero pages: once the hero is passed the header is solid; while still over the photo keep it readable */
html body[data-hero="1"] header#nav:not(.sol) .logo .lw,
html body[data-hero="1"] header#nav:not(.sol) .logo{color:#fff}

/* ───── 2. Passengers stepper ───── */
@media (max-width:760px){
  html body #main .qw .qf .qf-field .pax-stepper{
    display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:0!important;
    width:100%!important;max-width:100%!important;min-height:48px;box-sizing:border-box;
    padding:3px!important;overflow:hidden;border-radius:999px!important}
  html body #main .qw .qf .qf-field .pax-stepper .pax-btn{
    width:40px!important;height:40px!important;min-width:0!important;min-height:0!important;
    flex:none!important;margin:0!important;justify-self:center}
  html body #main .qw .qf .qf-field .pax-stepper input{
    width:100%!important;min-width:0!important;max-width:none!important;
    height:40px!important;min-height:0!important;padding:0!important;margin:0!important;
    text-align:center!important;font-size:18px!important;border:0!important;background:transparent!important}
  html body #main .qw .qf>label[for=q4],html body #main .qw .qf>.qf-optional{align-self:start}
}

/* ───── 3. Date / time placeholders ───── */
html body input[type=date].is-empty,html body input[type=time].is-empty{position:relative}
html body input.is-empty[data-ph]:not(:focus)::-webkit-datetime-edit{opacity:0}
html body input.is-empty[data-ph]:not(:focus)::before{
  content:attr(data-ph);position:absolute;left:12px;top:50%;transform:translateY(-50%);
  color:#8b958d;font:inherit;letter-spacing:0;text-transform:none;pointer-events:none}
@-moz-document url-prefix(){html body input.is-empty[data-ph]:not(:focus)::before{content:none}}


/* ===== desktop-v5.css ===== */
/* MENGED desktop-v5 — laptops, desktops and large monitors only (>=1025px).
   Loaded after every mobile sheet. Nothing here applies at 1024px and below, so phone
   and tablet layouts are unchanged. */

:root{--mxw:1240px;--mxg:clamp(24px,3vw,48px)}
@media (min-width:1600px){:root{--mxw:1400px}}
@media (min-width:1920px){:root{--mxw:1560px}}
@media (min-width:2400px){:root{--mxw:1760px}}

@media (min-width:1025px){
  /* ───── 1. One shared content column: page, header, rails and language menu line up ───── */
  :root{--w:min(var(--mxw),100% - 2*var(--mxg))}
  html body .w:not(.prose):not(.rq):not(.contact-page){max-width:var(--mxw)!important;width:min(var(--mxw),100% - 2*var(--mxg))!important}
  html body .hero .w{max-width:var(--mxw)!important}
  html body .rail{padding-left:max(var(--mxg),calc((100% - var(--mxw))/2))!important;padding-right:max(var(--mxg),calc((100% - var(--mxw))/2))!important}
  html body #lg{right:max(var(--mxg),calc((100% - var(--mxw))/2))!important}
}
@media (min-width:1181px){
  html body:not([data-s=support]) header#nav{
    padding-left:max(var(--mxg),calc((100% - var(--mxw))/2))!important;
    padding-right:max(var(--mxg),calc((100% - var(--mxw))/2))!important;gap:24px}
  html body header#nav #links{margin-inline:auto;justify-content:center}
}

/* ───── 2. Cars quote form: two roomy rows instead of six cramped columns ───── */
@media (min-width:901px){
  html body[data-s="cars"] #main .qw .qf{
    grid-template-columns:repeat(12,minmax(0,1fr))!important;align-items:stretch}
  html body[data-s="cars"] #main .qw .qf>.qf-field,
  html body[data-s="cars"] #main .qw .qf>.qf-date-time{grid-column:span 4;min-width:0;
    padding:18px 20px!important;border-right:1px solid rgba(26,47,35,.10)!important;
    border-bottom:1px solid rgba(26,47,35,.10)!important}
  html body[data-s="cars"] #main .qw .qf>*:nth-child(3n){border-right:0!important}
  html body[data-s="cars"] #main .qw .qf>.qf-optional,
  html body[data-s="cars"] #main .qw .qf>label[for=q4]{border-bottom:0!important}
  html body[data-s="cars"] #main .qw .qf>.qf-date-time{display:grid!important;grid-template-columns:1fr 1fr;gap:14px}
  html body[data-s="cars"] #main .qw .qf>.qf-date-time>.qf-field{padding:0!important;border:0!important}
  html body[data-s="cars"] #main .qw .qf input{min-height:48px;width:100%;box-sizing:border-box}
  html body[data-s="cars"] #main .qw .qf>.btn{grid-column:span 4;margin:16px 20px!important;align-self:center;min-height:56px}
  html body[data-s="cars"] #main .qw .qf .qf-label-row{flex-wrap:nowrap;justify-content:flex-start;gap:10px}
  html body[data-s="cars"] #main .qw .qf .qf-field .pax-stepper{
    display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px!important;grid-auto-flow:column!important;grid-template-rows:auto!important;align-items:center;gap:0!important;
    width:100%!important;max-width:240px!important;height:auto;min-height:48px;box-sizing:border-box;
    padding:3px!important;overflow:hidden;border-radius:999px!important}
  html body[data-s="cars"] #main .qw .qf .qf-field .pax-stepper .pax-btn{
    width:40px!important;height:40px!important;min-width:0!important;min-height:0!important;margin:0!important;justify-self:center}
  html body[data-s="cars"] #main .qw .qf .qf-field .pax-stepper input{
    width:100%!important;min-width:0!important;max-width:none!important;height:40px!important;min-height:0!important;
    padding:0!important;margin:0!important;text-align:center!important;font-size:18px!important;border:0!important;background:transparent!important}
}

/* ───── 3. Date / time placeholder: nudge for desktop input padding ───── */
@media (min-width:1025px){
  html body input.is-empty[data-ph]:not(:focus)::before{left:14px}
}

/* ───── 4. Contact page: methods in one row, balanced blocks ───── */
@media (min-width:1025px){
  html body .contact-page{max-width:var(--mxw)!important;width:min(var(--mxw),100% - 2*var(--mxg))!important}
  html body .contact-page .contact-methods{grid-template-columns:repeat(3,minmax(0,1fr))}
  html body .contact-page .contact-methods .contact-method:first-child{grid-column:auto}
}

/* ───── 5. Large monitors: scale type up a little so a wider column doesn't look sparse ───── */
@media (min-width:1920px){
  html body #main .sh p,html body #main .w>p,html body #main .hero p{font-size:clamp(17px,.95vw,21px)}
  html body #links a{font-size:15px}
}

/* Footer links: a touch larger on big screens */
@media (min-width:1600px){
  html body #foot .fc a,html body #foot .fc-links a{font-size:14.5px}
  html body #foot .fc h4{font-size:12px}
}


/* ===== group.css ===== */
/* MENGED Group expansion */
.grp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.grp-list{margin:18px 0 22px;display:grid;gap:10px}
.grp-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.grp-table-wrap{overflow-x:auto;margin:8px 0 28px;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
.grp-table{width:100%;border-collapse:collapse;min-width:520px}
.grp-table th,.grp-table td{padding:16px 22px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.grp-table thead th{font-size:.85rem;color:var(--mut);font-weight:600}
.grp-table tbody th{font-weight:600;width:32%}
.grp-table tr:last-child th,.grp-table tr:last-child td{border-bottom:0}
@media(max-width:760px){.grp-two{grid-template-columns:1fr}.grp-actions .btn{width:100%;justify-content:center}.grp-table th,.grp-table td{padding:13px 16px}}
.cta-inc{max-width:760px;margin:0 auto 34px;text-align:left;color:rgba(255,255,255,.82)}
.cta-inc b{display:block;margin-bottom:12px;text-align:center;font-weight:600;color:rgba(255,255,255,.6)}
.cta-inc ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px}
.cta-inc li{padding-left:20px;position:relative;line-height:1.45}
.cta-inc li:before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--gold)}
@media(max-width:760px){.cta-inc ul{grid-template-columns:1fr}}
.cta-inc{max-width:760px;margin:0 auto 34px;text-align:left;color:rgba(255,255,255,.82)}
.cta-inc b{display:block;margin-bottom:12px;text-align:center;font-weight:600;color:rgba(255,255,255,.6)}
.cta-inc ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px}
.cta-inc li{padding-left:20px;position:relative;line-height:1.45}
.cta-inc li:before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--gold)}
@media(max-width:760px){.cta-inc ul{grid-template-columns:1fr}}
/* Keep the primary nav clear of the right-hand controls on mid-width desktops */
@media(min-width:1101px) and (max-width:1420px){#links{min-width:0;margin-inline:auto 8px}#links a{padding:8px 9px;font-size:14px;white-space:nowrap}}
.guide-grid+.field-note,.grp-table-wrap+.field-note{margin-top:24px}
@media(min-width:1101px) and (max-width:1620px){body[data-s=group] #links a{padding:8px 6px;font-size:14px}body[data-s=group] #links{margin-inline:auto 6px}}
@media(min-width:1101px) and (max-width:1620px){.mg-account-trigger>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mg-account-trigger{padding-inline:8px}}
@media(min-width:1101px) and (max-width:1700px){#links{gap:0!important}#links a{padding:8px 7px!important;font-size:14px!important;white-space:nowrap}body[data-s=group] #links a,body[data-s=tours] #links a{padding:8px 5px!important;font-size:13.5px!important}}
@media(min-width:1101px) and (max-width:1700px){body[data-s=group] #nav{padding-inline:24px!important;gap:12px!important}body[data-s=group] #links a{font-size:13px!important;padding:8px 5px!important}}
@media(min-width:1101px) and (max-width:1440px){body[data-s=group] #nav .ltag{letter-spacing:.07em!important;font-size:9px!important}}
@media(min-width:1101px) and (max-width:1700px){body[data-s=group] #nav .ltag{letter-spacing:.07em!important;font-size:9px!important}body[data-s=group] #links a{padding:8px 4px!important}}
@media(min-width:1101px) and (max-width:1320px){body[data-s=group] #links a{padding:8px 3px!important}}
.w.grp-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media(min-width:1001px){.guide-grid:has(>:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.w.grp-two{grid-template-columns:1fr}}


/* ===== world-class-polish.css ===== */
/* ============================================================
   WORLD-CLASS POLISH LAYER — loaded last, after group.css.
   Content and structure are untouched; this only refines colour,
   type and the card/button system that was already built in.
   ============================================================ */

/* ───────────────────────────────────────────────────────────
   1. MENGED BUSINESS — refined identity
   The old palette (flat blue #2457ac on a cool grey-blue #F4F6F9,
   8px corners, a near-invisible resting shadow) read as a generic
   admin/SaaS template. This swaps it for a deeper, richer "private
   investment desk" navy with a warm brass secondary that also ties
   back to the gold ring in the MENGED logo, so Business still feels
   part of the same family as the other verticals.
   ─────────────────────────────────────────────────────────── */
body[data-s="business"]{
  --dsp:"Libre Caslon Display",Georgia,serif;
  --sans:"IBM Plex Sans","Inter",system-ui,sans-serif;
  --acc:#14355a;           /* ink navy — links, eyebrows, headline em */
  --hv:#1b4a78;             /* hover fill — one step lighter, stays in the navy family */
  --btn:#0e2a47;            /* primary CTA fill (was defaulting to near-black) */
  --btnf:#fff;
  --brand-radius:14px;      /* was 8px — softer, warmer, still crisp */
  --brand-focus:#14355a;
  --brand-shadow:0 20px 46px rgba(14,42,71,.16);
}
body[data-s="business"]{
  --sp-primary:#0e2a47;
  --sp-secondary:#9c7a42;   /* warm brass — small accents, kickers, badges */
  --sp-bg:#f6f3ec;          /* warm ivory, consistent with the brand's cream rather than a cool grey-blue */
  --sp-surface:#fffefb;
  --sp-border:rgba(14,42,71,.14);
}

/* sector/eyebrow labels get a touch of the brass thread instead of plain navy text */
body[data-s="business"] .guide-card>small,
body[data-s="business"] .inv-sector-eyebrow{color:#8a6a39}

/* ───────────────────────────────────────────────────────────
   2. CARD SYSTEM — sitewide
   Resting shadows across the site were near-invisible
   (0 3px 14px at ~4–7% opacity), which is what made boxes read
   as "weak" everywhere, not just on Business. This gives every
   card a believable resting shadow and a confident hover lift,
   using each specialty's own --sp-primary so Tours, Cars, Trade
   and Support all get a tint of their own colour, not a generic grey.
   ─────────────────────────────────────────────────────────── */
body[data-s] #main :is(.card,.guide-card,.stc,.vc,.pc2,.tile,.trade-pain-card){
  box-shadow:0 2px 10px color-mix(in srgb,var(--sp-primary) 6%,transparent),
             0 14px 30px color-mix(in srgb,var(--sp-primary) 10%,transparent);
  border-color:color-mix(in srgb,var(--sp-primary) 12%,var(--line));
}
@media (hover:hover){
  body[data-s] #main :is(.card,.guide-card,.stc,.vc,.pc2,.tile,.trade-pain-card):hover{
    box-shadow:0 4px 14px color-mix(in srgb,var(--sp-primary) 10%,transparent),
               0 26px 54px color-mix(in srgb,var(--sp-primary) 22%,transparent);
    border-color:color-mix(in srgb,var(--sp-primary) 34%,var(--line));
  }
}
@media (prefers-reduced-motion:reduce){
  body[data-s] #main :is(.card,.guide-card,.stc,.vc,.pc2,.tile,.trade-pain-card){transition:none!important}
}

/* eyebrow labels as a small pill instead of bare uppercase text —
   reads as a deliberately designed kicker rather than a leftover label */
#main .guide-card>small{
  display:inline-flex;align-items:center;width:fit-content;
  padding:5px 11px;border-radius:99px;
  background:color-mix(in srgb,var(--acc) 10%,transparent);
  letter-spacing:.11em;
}

/* ───────────────────────────────────────────────────────────
   3. BUTTONS — a touch of depth on the primary CTA so it reads
   as a pressable, designed object rather than a flat colour fill
   ─────────────────────────────────────────────────────────── */
#main .btn:not(.alt):not(.lt){
  box-shadow:0 1px 2px rgba(0,0,0,.06),0 10px 24px color-mix(in srgb,var(--btn) 30%,transparent);
}
@media (hover:hover){
  #main .btn:not(.alt):not(.lt):hover{
    box-shadow:0 2px 4px rgba(0,0,0,.08),0 16px 34px color-mix(in srgb,var(--hv,var(--btn)) 38%,transparent);
  }
}
@media (prefers-reduced-motion:reduce){#main .btn{transition:none!important}}

/* ───────────────────────────────────────────────────────────
   4. Business home — sector grid photos get a touch more presence
   against the new navy accents (kept subtle; content untouched)
   ─────────────────────────────────────────────────────────── */
body[data-s="business"] .guide-card-photo{position:relative}
body[data-s="business"] .guide-card-photo:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(14,42,71,0) 70%,rgba(14,42,71,.12) 100%);
  pointer-events:none;
}


/* ===== menged-unified.css ===== */
/* ==========================================================================
   MENGED — UNIFIED DESIGN LAYER (loads last)
   One brand, five divisions. Content, markup and JavaScript are untouched.
   What this file does:
     1  Design tokens   one forest/gold/cream palette, radii, shadows, rhythm
     2  Typography      ONE pairing for every division: Fraunces + Inter
     3  Buttons         one shape / size / weight system, correct on light + dark
     4  Header          equal-height pill controls, readable links, calm CTA
     5  Section rhythm  consistent spacing, eyebrows, heading/intro layout
     6  Components      hero note, service cards, outcomes, steps, trust, CTA
     7  Footer          clear columns, readable links
     8  Division fixes  contrast and accent corrections
   ========================================================================== */

/* ───────────── 1. TOKENS ───────────── */
:root{
  --mg-f950:#0c241b; --mg-f900:#113126; --mg-f800:#174030; --mg-f700:#1f5440;
  --mg-gold-200:#f4e4b6; --mg-gold-300:#ecd290; --mg-gold-400:#d9b468; --mg-gold-500:#b8893f;
  --mg-brass:#86672a;                       /* gold text on light: 4.9:1 on cream */
  --mg-cream-50:#fcfaf5; --mg-cream-100:#f7f3ea; --mg-cream-200:#efe8d9;
  --mg-ink:#16221c; --mg-mut:#56645b; --mg-line:rgba(17,49,38,.13);
  --mg-r-card:20px;
  --mg-sh-1:0 1px 2px rgba(12,36,27,.05),0 10px 28px rgba(12,36,27,.07);
  --mg-sh-2:0 2px 4px rgba(12,36,27,.06),0 22px 48px rgba(12,36,27,.15);
  --mg-sec:clamp(64px,6.2vw,96px);
  --mg-dark-band:radial-gradient(900px 380px at 88% -8%,rgba(217,180,104,.13),transparent 62%),
                 linear-gradient(180deg,var(--mg-f800),var(--mg-f900));
}

/* ───────────── 2. TYPOGRAPHY — one pairing everywhere ───────────── */
body[data-s]{
  --dsp:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --dw:450; --dl:-.022em; --dt:none;
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
html body[data-s] #main :is(h1,h2){font-family:var(--dsp);font-weight:450;letter-spacing:-.024em;text-transform:none;text-wrap:balance}
html body[data-s] #main h3{font-family:var(--dsp);font-weight:500;letter-spacing:-.012em;text-wrap:balance}
html body[data-s] #main :is(p,li){text-wrap:pretty}
html body[data-s] #main h1 em,html body[data-s] #main h2 em{font-style:italic;font-weight:400}

/* ───────────── 3. BUTTONS — one system (legacy .btn rules use !important, so these do too) ───────────── */
html body :is(#main,#nav,#foot,#menu) .btn{
  font-family:var(--sans)!important;font-weight:600!important;font-size:14.5px!important;letter-spacing:.005em!important;
  border-radius:999px!important;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s!important}
/* primary on light surfaces: brand forest */
html body[data-s] #main .btn:not(.alt):not(.lt):not(.ghost){
  background:var(--mg-f900)!important;color:#fff!important;border:1px solid var(--mg-f900)!important;
  box-shadow:0 1px 2px rgba(12,36,27,.10),0 10px 22px rgba(12,36,27,.18)!important}
html body[data-s] #main .btn:not(.alt):not(.lt):not(.ghost):hover{background:var(--mg-f700)!important;border-color:var(--mg-f700)!important;transform:translateY(-1px)}
/* secondary: quiet outline */
html body[data-s] #main .btn.alt{background:transparent!important;color:var(--mg-ink)!important;border:1px solid rgba(17,49,38,.30)!important;box-shadow:none!important}
html body[data-s] #main .btn.alt:hover{background:rgba(17,49,38,.07)!important;border-color:var(--mg-f900)!important}
/* on dark surfaces: gold primary, glass secondary */
html body[data-s] #main :is(.dark,.cta,.group-hero,.group-service,.mg-on-dark) .btn:not(.alt):not(.lt),
html body[data-s=tours] #main .hero .btn:not(.alt):not(.lt){
  background:var(--mg-gold-300)!important;color:var(--mg-f950)!important;border:1px solid var(--mg-gold-300)!important;
  box-shadow:0 1px 2px rgba(0,0,0,.18),0 12px 28px rgba(0,0,0,.28)!important}
html body[data-s] #main :is(.dark,.cta,.group-hero,.group-service,.mg-on-dark) .btn:not(.alt):not(.lt):hover,
html body[data-s=tours] #main .hero .btn:not(.alt):not(.lt):hover{background:var(--mg-gold-200)!important;border-color:var(--mg-gold-200)!important}
html body[data-s] #main :is(.dark,.cta,.group-hero,.group-service,.mg-on-dark) .btn.alt,
html body[data-s=tours] #main .hero .btn.alt{
  background:rgba(255,255,255,.08)!important;color:#fff!important;border:1px solid rgba(255,255,255,.36)!important;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
html body[data-s] #main :is(.dark,.cta,.group-hero,.group-service,.mg-on-dark) .btn.alt:hover,
html body[data-s=tours] #main .hero .btn.alt:hover{background:rgba(255,255,255,.18)!important;border-color:rgba(255,255,255,.62)!important}
html body[data-s] #main .btn:focus-visible,html body[data-s] #nav :is(a,button):focus-visible{outline:2px solid var(--mg-gold-400);outline-offset:3px}
/* Business keeps a navy primary, Support a warm terracotta one — same shape, same behaviour */
html body[data-s=business] #main .btn:not(.alt):not(.lt):not(.ghost){background:#10304f!important;border-color:#10304f!important}
html body[data-s=business] #main .btn:not(.alt):not(.lt):not(.ghost):hover{background:#1a4772!important;border-color:#1a4772!important}
html body[data-s=support] #main .btn:not(.alt):not(.lt):not(.ghost){background:#b24d2d!important;border-color:#b24d2d!important}
html body[data-s=support] #main .btn:not(.alt):not(.lt):not(.ghost):hover{background:#963f23!important;border-color:#963f23!important}
/* …but never on a dark band, where gold is the primary everywhere */
html body[data-s=business] #main :is(.dark,.cta) .btn:not(.alt):not(.lt),html body[data-s=support] #main :is(.dark,.cta) .btn:not(.alt):not(.lt){background:var(--mg-gold-300)!important;border-color:var(--mg-gold-300)!important;color:var(--mg-f950)!important}

/* ───────────── 4 → 8: DESKTOP LAYOUT REFINEMENTS (≥1025px only; phones/tablets keep their own sheets) ───────────── */
@media (min-width:1025px){

  /* 4. HEADER — equal-height pill controls, readable links */
  html body header#nav .nr{gap:10px;align-items:center}
  html body header#nav .nr :is(.lgb,.sbtn,.swb,.mg-account-trigger,.btn){
    height:42px!important;min-height:42px!important;border-radius:999px!important;font-size:13.5px!important;font-weight:600!important;box-sizing:border-box}
  html body header#nav .nr :is(.lgb,.mg-account-trigger,.swb){padding-inline:14px}
  html body header#nav .nr .sbtn{width:42px!important;padding:0!important;display:inline-grid;place-items:center}
  html body header#nav .nr .btn.sm{padding-inline:20px!important;display:inline-flex;align-items:center}
  html body header#nav #links{gap:2px!important;margin-inline:auto!important;justify-content:center;min-width:0}
  html body header#nav #links a{
    font-size:13.5px!important;font-weight:500;letter-spacing:.005em;
    padding:9px 7px!important;border-radius:999px;white-space:nowrap;opacity:.94;transition:background-color .2s,opacity .2s}
  html body header#nav #links a:hover,html body header#nav #links a[aria-current],html body header#nav #links a.on{opacity:1}
  html body header#nav{gap:16px!important}
  @media (min-width:1600px){html body header#nav #links a{font-size:14px!important;padding:9px 11px!important}html body header#nav{gap:28px!important}}
  @media (min-width:1025px) and (max-width:1359px){html body header#nav #links a{font-size:13px!important;padding:8px 6px!important}}
  /* header CTA follows the same palette as page buttons (replaces the stray rust colour) */
  html body[data-s]:not([data-s=group]):not([data-s=tours]) header#nav .btn.sm{background:var(--mg-f900)!important;border:1px solid var(--mg-f900)!important;color:#fff!important;box-shadow:none!important}
  html body[data-s]:not([data-s=group]):not([data-s=tours]) header#nav .btn.sm:hover{background:var(--mg-f700)!important;border-color:var(--mg-f700)!important}
  html body[data-s=business] header#nav .btn.sm{background:#10304f!important;border-color:#10304f!important}
  html body[data-s=support] header#nav .btn.sm{background:#b24d2d!important;border-color:#b24d2d!important}
  /* the account label hides below ~1600px so the primary nav is never squeezed */
  @media (max-width:1599px){
    html body header#nav .nr .mg-account-trigger>span:last-child{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
    html body header#nav .nr .mg-account-trigger{width:42px!important;padding:0!important;display:inline-grid;place-items:center}
  }

  /* 5. SECTION RHYTHM */
  html body[data-s] #main > section:not(.hero):not([class*="hero"]){padding-block:var(--mg-sec)}
  html body[data-s] #main > section.group-trust{padding-block:calc(var(--mg-sec)*.8)}
  html body[data-s] #main .eye{
    font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
    color:var(--mg-brass);display:inline-flex;align-items:center;gap:14px;margin-bottom:18px}
  html body[data-s] #main .eye::before{content:"";width:28px;height:1px;background:currentColor;opacity:.65;flex:none}
  html body[data-s] #main :is(.dark,.cta,.group-hero) .eye{color:var(--mg-gold-300)}
  html body[data-s] #main .sh{
    display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);column-gap:clamp(40px,6vw,96px);
    align-items:end;margin-bottom:clamp(36px,4vw,56px)}
  html body[data-s] #main .sh>div{max-width:none}
  html body[data-s] #main .sh h2{font-size:clamp(34px,3.7vw,54px);line-height:1.07;max-width:16ch;margin:0}
  html body[data-s] #main .sh>p{font-size:16.5px;line-height:1.7;color:var(--mg-mut);max-width:46ch;margin:0 0 6px}
  html body[data-s] #main :is(.dark) .sh>p{color:rgba(255,255,255,.78)}
  html body[data-s] #main .sh:has(>.btn){align-items:end}

  /* dark bands share one rich forest instead of three different greens */
  html body[data-s] #main :is(section.dark,section.cta){background:var(--mg-dark-band)}
  html body #foot{background:var(--mg-f950)}

  /* 6a. HOME HERO */
  html body[data-s=group] #main .group-hero h1{font-size:clamp(52px,6.1vw,88px);line-height:1.03;letter-spacing:-.03em}
  html body[data-s=group] #main .group-hero h1 em,html body[data-s=group] #main .group-hero h1 i{color:var(--mg-gold-400)}
  html body[data-s=group] #main .group-lead{font-size:18px;line-height:1.65;max-width:34em;color:rgba(255,255,255,.88)}
  html body[data-s=group] #main .group-hero-note{
    padding:30px 32px;border-radius:24px;border:1px solid rgba(255,255,255,.2);
    background:linear-gradient(160deg,rgba(255,255,255,.10),rgba(255,255,255,.04));
    box-shadow:0 24px 60px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.12)}
  html body[data-s=group] #main .group-hero-note p{font-family:var(--sans);font-size:19px;line-height:1.55;font-weight:400;letter-spacing:-.005em;color:rgba(255,255,255,.95);margin:0 0 22px}
  html body[data-s=group] #main .group-note-kicker{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mg-gold-300);display:block;margin-bottom:16px}
  html body[data-s=group] #main .group-text-link{border-radius:999px;font-size:13.5px;font-weight:600}

  /* 6b. SERVICE MOSAIC */
  html body[data-s=group] #main .group-service{border-radius:var(--mg-r-card);box-shadow:var(--mg-sh-1);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
  html body[data-s=group] #main .group-service:hover{transform:translateY(-4px);box-shadow:var(--mg-sh-2)}
  html body[data-s=group] #main .group-service-photo-card h3{font-size:26px;line-height:1.14}
  html body[data-s=group] #main .group-service-photo-card p{font-size:14.5px;line-height:1.55}
  html body[data-s=group] #main .group-service-feature h3{font-size:clamp(34px,3.2vw,46px);line-height:1.06}
  html body[data-s=group] #main .group-service-feature p{font-size:16px;line-height:1.65}

  /* 6c. OUTCOME LIST → clean cards, no orphan */
  html body[data-s=group] #main .group-outcome-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  html body[data-s=group] #main .group-outcome-row{
    display:block;padding:26px 30px;background:var(--mg-cream-50);border:1px solid var(--mg-line);border-radius:18px;
    box-shadow:none;transition:transform .3s,box-shadow .3s,border-color .3s}
  html body[data-s=group] #main .group-outcome-row:last-child:nth-child(odd){grid-column:1/-1}
  html body[data-s=group] #main .group-outcome-row:hover{transform:translateY(-3px);box-shadow:var(--mg-sh-1);border-color:rgba(17,49,38,.28)}
  html body[data-s=group] #main .group-outcome-row h3{font-family:var(--dsp);font-size:21px;font-weight:500;line-height:1.2;margin:0 0 6px;color:var(--mg-ink)}
  html body[data-s=group] #main .group-outcome-row p{font-size:15px;line-height:1.6;color:var(--mg-mut);margin:0}

  /* 6d. HOW IT WORKS → numbered cards */
  html body[data-s=group] #main .group-how .steps{counter-reset:mgstep;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  html body[data-s=group] #main .group-how .step{
    counter-increment:mgstep;position:relative;padding:30px 30px 32px;border-radius:20px;border:1px solid rgba(255,255,255,.14);
    background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025))}
  html body[data-s=group] #main .group-how .step::before{
    content:"0" counter(mgstep);display:block;font-family:var(--dsp);font-size:15px;font-weight:500;letter-spacing:.14em;color:var(--mg-gold-300);margin-bottom:22px}
  html body[data-s=group] #main .group-how .step h3{font-size:24px;line-height:1.18;margin:0 0 12px;color:#fff}
  html body[data-s=group] #main .group-how .step p{font-size:15.5px;line-height:1.65;color:rgba(255,255,255,.8);margin:0}

  /* 6e. TRUST CARDS */
  html body[data-s=group] #main .group-trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  html body[data-s=group] #main .group-trust-grid>article{
    padding:30px;border-radius:20px;background:#fff;border:1px solid var(--mg-line);box-shadow:var(--mg-sh-1);position:relative;overflow:hidden}
  html body[data-s=group] #main .group-trust-grid>article::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--mg-gold-500),var(--mg-gold-300))}
  html body[data-s=group] #main .group-trust-grid h3{font-size:21px;line-height:1.2;margin:6px 0 10px;color:var(--mg-ink)}
  html body[data-s=group] #main .group-trust-grid p{font-size:15px;line-height:1.65;color:var(--mg-mut);margin:0}

  /* 6f. CLOSING CTA */
  html body[data-s] #main section.cta h2{font-size:clamp(40px,5vw,68px);line-height:1.06;max-width:18ch;margin-inline:auto}
  html body[data-s] #main section.cta .cta-inc{color:rgba(255,255,255,.86)}
  html body[data-s] #main section.cta .cta-inc b{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mg-gold-300)}
  html body[data-s] #main section.cta .btn{padding:16px 30px;font-size:15.5px}

  /* 7. FOOTER */
  html body #foot h4{font-family:var(--sans)!important;font-size:12px!important;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mg-gold-300)!important;margin-bottom:16px}
  html body #foot :is(.fc-links,.fc-contact-links) a{font-size:14.5px!important;line-height:1.5;padding:6px 0;color:rgba(247,244,236,.82)}
  html body #foot :is(.fc-links,.fc-contact-links) a:hover{color:#fff}
  html body #foot .fc-intro{font-family:var(--dsp);font-size:clamp(20px,1.7vw,25px);line-height:1.4;color:rgba(247,244,236,.9)}
  html body #foot .fc-contact-primary{color:var(--mg-gold-300)!important}
}

/* ───────────── 8. DIVISION CORRECTIONS (contrast, accent colour) ───────────── */
/* Cars: tan accent on cream failed contrast → brass-on-light; keep headline in the shared voice */
html body[data-s=cars] #main .hero :is(h1 em,h1 span,h1 i){color:var(--mg-brass)}
html body[data-s=trade] #main .hero h1 :is(em,span){color:#2d6b4a}
html body[data-s=business] #main .hero h1 :is(em,span){color:#14355a}
html body[data-s=support] #main .hero h1 :is(em,span){color:#a8452a}

/* ───────────── 9. FOLLOW-UPS FROM AUDIT ───────────── */
/* Cars: headings join the shared voice (sentence case) — legacy rule forced uppercase */
html body[data-s=cars] #main :is(h1,h2,.oct-headline-in,.hero h1){text-transform:none!important;font-family:var(--dsp)!important;font-weight:450!important;letter-spacing:-.024em!important}
/* small card buttons: readable 13px instead of 12px */
html body[data-s] #main .btn.sm{font-size:13px!important}
/* outcome titles: legacy rule pinned them to small bold text */
html body[data-s=group] #main .group-outcome-row h3{font-size:21px!important;font-weight:500!important;line-height:1.2!important;font-family:var(--dsp)!important}
/* one rich forest for every dark band (legacy rule pinned a flat bluish green) */
html body[data-s] #main > section.dark,html body[data-s] #main > section.cta{background:var(--mg-dark-band)!important}
/* footer column headings: sans, small caps-style label */
html body #foot div h4,html body #foot .fc-connected h4{font-family:var(--sans)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--mg-gold-300)!important}
/* hero accent colours + weights (legacy rules were !important) */
html body[data-s=cars] #main h3{text-transform:none!important;font-family:var(--dsp)!important;font-weight:500!important;letter-spacing:-.01em!important}
html body[data-s=support] #main :is(h1,h2){font-weight:450!important;font-family:var(--dsp)!important}
html body[data-s=support] #main h1 :is(em,span,i){color:#a8452a!important}
html body[data-s=trade] #main :is(h1,h2){font-weight:450!important;font-family:var(--dsp)!important}
html body[data-s=business] #main :is(h1,h2){font-weight:450!important;font-family:var(--dsp)!important}
html body[data-s=cars] #main .hero h1,html body[data-s=cars] #main .hero h1 span:not(:last-child){color:var(--mg-ink)!important}
html body[data-s=cars] #main .hero h1 :is(em,i){color:var(--mg-brass)!important}
html body[data-s=cars] #main h1.oct-headline-in span{color:var(--mg-ink)!important}
html body[data-s=cars] #main h1.oct-headline-in em{color:var(--mg-brass)!important}

/* MENGED Cars: "Can't find the vehicle" request CTA (fleet page) */
.veh-cta{margin:8px 0 48px;padding:clamp(26px,4vw,44px);background:var(--card);border:1px solid var(--line);border-radius:var(--r,16px);text-align:center}
.veh-cta h2{margin:0 auto 18px;max-width:26ch;font-size:clamp(26px,3.4vw,40px);line-height:1.2;color:var(--fg)!important}
.veh-cta>p{margin:0 auto;max-width:60ch;color:var(--mut);font-size:clamp(15px,1.6vw,17px);line-height:1.65}
.veh-cta-form{display:flex;gap:12px;align-items:stretch;justify-content:center;margin:26px auto 0;max-width:680px}
.veh-cta-form input{flex:1 1 auto;min-width:0;width:100%;min-height:52px;padding:12px 16px;font:inherit;font-size:16px;color:var(--fg);background:var(--bg,#fff);border:1px solid var(--line);border-radius:9px;outline:0;transition:border-color .25s,box-shadow .25s}
.veh-cta-form input:focus{border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 22%,transparent)}
.veh-cta-form input[aria-invalid=true]{border-color:#b3261e}
.veh-cta-form .btn{flex:0 0 auto;min-height:52px;white-space:nowrap}
.veh-cta-err{display:block;margin-top:12px;color:#b3261e;font-size:14px}
.veh-cta-err[hidden]{display:none}
@media (max-width:640px){.veh-cta{margin-bottom:36px;text-align:left}.veh-cta h2,.veh-cta>p{margin-left:0;margin-right:0}.veh-cta-form{flex-direction:column}.veh-cta-form .btn{width:100%;justify-content:center}}

/* MENGED Cars: studio vehicle photos (white background) fill their frames cleanly */
html body #main .vc .ph .tmp{width:100%!important;height:100%!important;aspect-ratio:auto!important}
html body #main .tmp:has(>img[src*="assets/cars/photos/"]){background:#fff!important;animation:none!important}
html body #main .tmp>img[src*="assets/cars/photos/"]{object-fit:contain!important;object-position:center!important;background:#fff}
html body #main .vc .ph:has(img[src*="assets/cars/photos/"]){background:#fff}

/* MENGED Cars hero: studio SUV photo on white */
html body #main .chp:has(img[src*="assets/cars/hero-cars"]){background:#fff!important;display:flex;align-items:center;justify-content:center}
html body #main .chp img[src*="assets/cars/hero-cars"]{width:100%;height:100%;object-fit:contain!important;object-position:center;background:#fff}

/* ───────────── 10. CARS — one coherent identity ─────────────
   Replaces a legacy dark/gold/uppercase-Manrope treatment that never
   actually rendered (Manrope was never loaded) and co-existed with a
   second, newer --sp-* token set (the same pattern used by every other
   division). This makes Cars consistent with that shared pattern
   instead of inventing a third system, and gives it its own loaded
   typeface (Space Grotesk / Inter) instead of inheriting Fraunces. */
body[data-s="cars"]{
  /* style.css (~line 5384) defined Cars' primary as near-black #0F1113, so the active
     tab, vehicle sidebar and compare bar rendered graphite while the header CTA and
     every page button were brand forest. Pointing the token at forest makes them one family. */
  --sp-primary:var(--mg-f900);
  --dsp:"Space Grotesk",system-ui,sans-serif; --sans:"Inter",system-ui,sans-serif;
  --dw:600; --dl:-.01em; --dt:none;
  --bg:var(--sp-bg); --fg:var(--sp-primary); --card:var(--sp-surface);
  --mut:#6b6f74; --line:var(--sp-border);
  --acc:var(--sp-primary); --deep:var(--sp-primary); --gold:var(--sp-secondary); --r:14px;
  --btn:var(--sp-primary); --btnf:#fff; --hv:var(--sp-secondary);
}
html body[data-s="cars"] #main :is(h1,h2,h3){text-transform:none!important;font-family:var(--dsp)!important}
/* quote-mode selector (Car/Van/Bus) previously used a hardcoded rust (#b54327)
   that matched neither the old dark system nor the new light one */
body[data-s="cars"] .qm button.on{
  border-color:var(--sp-primary)!important;background:var(--sp-primary)!important;color:#fff!important;
  box-shadow:0 3px 10px color-mix(in srgb,var(--sp-primary) 25%,transparent)!important}

/* ───────────── 11. BUSINESS — load the typography world-class-polish.css
   already specifies (Libre Caslon Display / IBM Plex Sans). It was declared
   there but the font files were never requested from Google Fonts, so the
   page has been silently rendering in Georgia/system-ui instead. ───────────── */
body[data-s="business"]{--dsp:"Libre Caslon Display",Georgia,serif;--sans:"IBM Plex Sans","Inter",system-ui,sans-serif}

/* ───────────── 12. CARS FLEET — trip-profile cards no longer orphan ─────────────
   `.modes` is a hard-coded 5-column grid in style.css; the fleet page has six
   trip profiles, so "Group" wrapped alone onto a second row. Six profiles now sit
   as 6 across on wide screens, and a balanced 3×2 on narrower desktops/tablets.
   Phones keep their own 2-column rules (mobile.css / style.css ≤650px). */
@media (min-width:651px){
  html body[data-s="cars"] #main .modes:has(>button:nth-child(6)):not(:has(>button:nth-child(7))){
    grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (min-width:1200px){
  html body[data-s="cars"] #main .modes:has(>button:nth-child(6)):not(:has(>button:nth-child(7))){
    grid-template-columns:repeat(6,minmax(0,1fr))!important}
}

/* ───────────── 13. BUSINESS HERO — actions above the fold ─────────────
   The hero stacked headline → deck → three long paragraphs → buttons, which
   pushed both calls to action ~130px below a 900px-tall screen. Markup and copy
   are unchanged; only the visual order is: headline → deck → buttons → context
   → official-references footnote. */
html body[data-s=business] #main .bh2>div:not(.bh-feature){display:flex;flex-direction:column;align-items:flex-start}
html body[data-s=business] #main .bh2>div:not(.bh-feature)>*{order:4}
html body[data-s=business] #main .bh2>div:not(.bh-feature)>.eye{order:0}
html body[data-s=business] #main .bh2>div:not(.bh-feature)>h1{order:1;font-size:clamp(40px,4.4vw,64px)!important;line-height:1.04!important;margin-bottom:0}
html body[data-s=business] #main .bh2>div:not(.bh-feature)>.business-deck{order:2}
html body[data-s=business] #main .bh2>div:not(.bh-feature)>.bt{order:3;margin:6px 0 30px!important}
html body[data-s=business] #main .bh2>div:not(.bh-feature)>p:not(.business-deck):not(.business-source-note){max-width:58ch;margin:0 0 16px;font-size:16.5px;line-height:1.7;color:var(--mg-mut)}
html body[data-s=business] #main .bh2>div:not(.bh-feature)>.business-source-note{
  order:5;max-width:58ch;margin:10px 0 0!important;padding-top:16px;border-top:1px solid var(--mg-line);
  font-size:13px!important;line-height:1.6!important;color:var(--mg-mut)!important}
/* each sentence of the Business headline gets its own line (no stranded "Be") */
html body[data-s=business] #main .bh h1 em{display:block;text-wrap:balance}

/* ───────────── 14. LEGIBILITY FLOOR — nothing below 12px, comfortable tap targets ─────────────
   Automated audit (headless Chromium, all routes, 1440px + 390px) found: vehicle-card
   category labels at 9.5px on phones (26 on /cars/fleet alone), Business guide-card tags
   at 10px, and ~15 labels at 11px. Travellers reading in a second language on a small
   screen are exactly who this should not punish. Planner chips were 35px tall. */
html body #main :is(.vb small,.guide-card-body small,.tc small,.bh-feature-copy small,.sp span,.field-note b,
  .plan-eyebrow,.atlas-divider,.biz-sector-control label,.eye){font-size:12px!important;line-height:1.35}
@media (max-width:900px){
  html body #main .chip{min-height:40px;display:inline-flex;align-items:center}
}
/* …and the legacy rules that out-ranked the block above (mobile.css pins category labels at 9.5px) */
html body #main .vc .vb small{font-size:12px!important;letter-spacing:.06em}
html body #main :is(.guide-card small,.pn a small,.support-picker-head span,.qf-label-row span){font-size:12px!important}
@media (max-width:900px){
  html body #main .chips .chip{min-height:40px!important}
}

/* ───────────── 15. VISUAL-REVIEW FIXES (Trade / Support / Tours + shared footer) ─────────────
   Found by eye on the 1440px captures, then measured in the DOM before changing anything. */

/* 15a. Footer headings: on every specialty page three of the four footer h4s rendered in Fraunces,
   sentence case (style.css `body[data-s] :is(#foot,#menu) :is(h2,h3,h4)` is !important and scores
   1,1,3 — it out-ranked the earlier #foot rules), while "Connected MENGED services" rendered in
   Inter caps. Same specificity class, later in source, so all four now match. */
html body[data-s] #foot .fc h4,
html body[data-s] #foot .fc-local h4,
html body[data-s] #foot .fc-social h4{
  font-family:var(--sans)!important;font-size:12px!important;font-weight:700!important;
  letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--mg-gold-300)!important}

/* 15b. A button directly under a field-note callout sat at a 0px gap (Trade "Review the sourcing process"). */
html body #main .field-note + .btn,
html body #main .field-note + a.btn{margin-top:22px}

/* 15c. Support: 7 service cards in an auto-fill grid left an orphan row at every width
   (4+3 with an empty slot, 3+3+1, 2+2+2+1). Spans make each row full; :has() keeps this
   to exactly-seven grids so a future card count falls back to the normal grid. */
@media (min-width:1200px){
  html body #main .sg:has(>:nth-child(7):last-child){grid-template-columns:repeat(12,minmax(0,1fr))}
  html body #main .sg:has(>:nth-child(7):last-child)>*{grid-column:span 3}
  html body #main .sg:has(>:nth-child(7):last-child)>:nth-child(n+5){grid-column:span 4}
}
@media (min-width:900px) and (max-width:1199px){
  html body #main .sg:has(>:nth-child(7):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}
  html body #main .sg:has(>:nth-child(7):last-child)>*{grid-column:span 2}
  html body #main .sg:has(>:nth-child(7):last-child)>:nth-child(n+4){grid-column:span 3}
}
@media (min-width:651px) and (max-width:899px){
  html body #main .sg:has(>:nth-child(7):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
  html body #main .sg:has(>:nth-child(7):last-child)>:nth-child(7){grid-column:1 / -1}
}

/* 15d. Tours stays: 3 cards sat in a 4-column grid with an empty fourth slot. auto-fit lets
   the cards share the row; phones keep their 1-column !important rule in mobile.css. */
html body #main .stg{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}

/* 15e. Tours stay-card link: a pill (border + 99px radius from mobile-v2.css) with `padding:9px 0`
   from style.css, so the label touched the pill's edge. */
html body #main .stay-actions>a.lnk{padding:9px 18px}

/* 15f. Home hero kicker "One trusted starting point" was 11.5px (11px on phones) — onto the 12px floor from section 14. */
html body #main .group-note-kicker{font-size:12px!important}

/* ───────────── 16. CONTRAST + SPACING (found in the Tours/Home review) ─────────────
   Automated contrast audit (all main routes, 1440px, solid-background text only). */

/* 16a. Tours: the gold accent (#e9bd69) is a dark-surface colour but was used for text on the white
   "Travel well-prepared" cards — 1.74:1 for the chip labels and the "Read this section" links
   (WCAG needs 4.5:1 at these sizes). Light cards get deep bronze / forest instead; gold stays on dark. */
html body[data-s=tours] #main .guide-card small{color:#7a5518!important}
html body[data-s=tours] #main .guide-card-link .lnk{color:var(--mg-f700)!important}

/* 16b. Tours: the two layover buttons sat in a plain block with no gap (0px between them). */
html body[data-s=tours] #main div:not([class]):has(>.btn+.btn){display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* 16c. Home: the rotating display word was 2.8:1 on the cream (large text needs 3:1). */
html body #main .rotator-word{color:#9a6e26!important}

/* ───────────── 17. COMPARE POPUP (found reviewing the phone screenshot) ─────────────
   17a. Step pills "1 · 2 · 3 ·" showed no labels: the global `em{color:var(--acc)}` made the label
   dark forest (rgb 17,49,38) on the dark-forest `.on` pill (#12302a) — dark on dark. Labels now
   inherit the pill's own colour, are upright (not italic) and sit inline beside the number. */
html body .cmp-pop-steps{gap:6px;margin:2px 0 16px}
html body .cmp-pop-steps span{gap:.45em;white-space:nowrap}
html body .cmp-pop-steps span b{font-weight:700}
html body .cmp-pop-steps span em{display:inline;font-style:normal;font-weight:600;color:inherit}

/* 17b. The sticky head faded from #f7f3ea but the card is var(--bg) (#f3f1ed on Cars), which left a
   visible beige band behind the title. Fade from the card's own colour instead. */
html body .cmp-pop-head{background:linear-gradient(var(--bg) 82%,transparent)}

/* 17c. Car photos are pure-white JPEGs on an off-white card (hard rectangle edge) and the phone layout
   forced them into a 112×112 square with object-fit:cover, which cropped the front/rear of every car.
   Show the whole car; multiply lets the photo's white vanish into whatever the card colour is. */
html body .cmp-pop-col .tmp{background:transparent}
html body .cmp-pop-col .tmp img{object-fit:contain;object-position:50% 50%;mix-blend-mode:multiply}

/* 17d. The "add a car" slot heading used the serif display face; every other heading on Cars is Space Grotesk. */
html body[data-s=cars] .cmp-pop-add strong{font-family:var(--dsp)!important;font-weight:600;letter-spacing:-.01em}

/* ───────────── 18. COMPARE POPUP — real side-by-side on phones ─────────────
   With 2–3 cars the phone popup used to stack one tall card per car, so you scrolled *between* cars
   and could never see a difference. For ≥2 cars openComparePopup() now also renders `.cmp-pop-m`, a
   real <table> (equal columns, aligned rows, label above the values so each car gets the full
   column). It is display:none above 760px (desktop keeps its cards) and replaces the card grid at
   ≤760px. One car still uses the single card + "add" slot. */
html body .cmp-pop-m{display:none}

/* 18a. Action row on the cards (desktop + phone single-car): Request and Details are now the same
   height/shape (primary + outline); Remove is a quiet text action pushed to the far end. mobile-v4.css
   paints every `.cmp-pop .btn.sm` rust with !important, so the outline variant must out-rank it. */
html body .cmp-pop-actions{gap:8px;flex-wrap:nowrap}
html body .cmp-pop-actions .btn.sm{min-height:42px}
html body .cmp-pop .btn.alt.sm{background:transparent!important;border:1px solid var(--line)!important;box-shadow:none!important}
html body .cmp-pop .btn.alt.sm,html body .cmp-pop .btn.alt.sm span{color:var(--fg)!important;font-weight:600}
@media (hover:hover){html body .cmp-pop .btn.alt.sm:hover{background:#fff!important;border-color:var(--fg)!important}}
html body .cmp-pop-actions .cmp-pop-remove{margin-left:auto;padding:10px 2px;font-size:13px;color:var(--mut)}

@media (max-width:760px){
  html body .cmp-pop-card.has-m .cmp-pop-grid,
  html body .cmp-pop-card.has-m .cmp-pop-hint{display:none!important}
  html body .cmp-pop-card.has-m:not(.has-addrow) .cmp-pop-hint{display:block!important}
  html body .cmp-pop-card.has-m .cmp-pop-m{display:block}
  html body .cmp-pop-card.has-addrow .cmp-pop-foot [data-cmp-add]{display:none}

  html body .cmp-pop-m table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;
    background-color:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;
    /* n-1 hairlines between the equal columns, continuous through the label rows (the +1px pushes the last one out of view) */
    background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(100% / var(--n,2) - 1px),var(--line) calc(100% / var(--n,2) - 1px),var(--line) calc(100% / var(--n,2)));
    background-size:calc(100% + 1px) 100%;background-repeat:no-repeat}
  html body .cmp-pop-m caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  html body .cmp-pop-m :is(th,td){padding:0;font-weight:inherit;text-align:center;vertical-align:top;overflow-wrap:anywhere}

  /* header cell: photo, name, class */
  html body .cmp-pop-m thead th{padding:12px 6px 12px}
  html body .cmp-m-car{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px}
  html body .cmp-m-img{display:block;width:100%;aspect-ratio:4/3;margin-bottom:4px}
  html body .cmp-m-img img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
  html body .cmp-m-name{font:600 14px/1.2 var(--dsp);letter-spacing:-.01em;color:var(--fg);text-wrap:balance}
  html body .cmp-m-cat{font:500 12px/1.25 var(--sans);color:var(--mut);text-wrap:balance}
  /* remove (×): a round chip on the photo corner, 36px tap target */
  html body .cmp-m-car .cmp-pop-remove{position:absolute;top:-6px;right:-4px;width:36px;height:36px;display:grid;place-items:center;
    padding:0;margin:0;border-radius:50%;background:#fff;border:1px solid var(--line);color:var(--fg);text-decoration:none;
    box-shadow:0 2px 8px -3px rgba(10,30,22,.35)}
  html body .cmp-m-car .cmp-pop-remove:active{transform:scale(.92)}

  /* spec rows: label on its own line, values lined up beneath each car */
  html body .cmp-pop-m .cmp-m-lab th{padding:11px 14px 0;text-align:left;border-top:1px solid var(--line);
    font:600 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
  html body .cmp-pop-m tbody td{padding:6px 8px 12px;font:500 15px/1.25 var(--sans);color:var(--fg);hyphens:auto;text-wrap:balance}

  /* footer cell: Request + Details */
  html body .cmp-pop-m tfoot td{padding:12px 6px 12px;border-top:1px solid var(--line)}
  html body .cmp-pop-m tfoot .btn.sm{display:flex;width:100%;justify-content:center;padding:8px 4px!important;min-height:42px;box-shadow:none!important}
  html body .cmp-pop-m tfoot .btn.sm span{white-space:nowrap;overflow-wrap:normal;font-size:14px}
  html body .cmp-m-more{display:flex;align-items:center;justify-content:center;min-height:40px;margin-top:2px;
    font:600 14px/1 var(--sans);color:var(--fg);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(23,58,46,.35)}

  /* compact "add one more" row (replaces the big dashed tile) */
  html body .cmp-pop-addrow{display:flex;align-items:center;gap:12px;width:100%;margin-top:12px;padding:12px 14px;
    appearance:none;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:16px;
    border:2px dashed rgba(183,129,45,.55);background:linear-gradient(180deg,#fffdf8,#fbf4e4)}
  html body .cmp-pop-addrow .cmp-add-ring{width:40px;height:40px;flex:none}
  html body .cmp-addrow-t{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
  html body .cmp-addrow-t strong{font:600 16px/1.2 var(--dsp);color:#173b2c}
  html body .cmp-addrow-t small{font:400 13px/1.3 var(--sans);color:var(--mut)}
  html body .cmp-pop-addrow>.ic{width:18px;height:18px;flex:none;color:#173b2c}
  html body .cmp-pop-card.has-m .cmp-pop-foot{margin-top:14px}
}

/* 18b. Popup eyebrow ("Side by side") was under the 12px legibility floor from section 14. */
html body .cmp-pop-head .eye{font-size:12px}

/* 18c. With the stepper only shown in the one-car state, the head sat 6px above the cards. */
html body .cmp-pop-head{margin-bottom:14px}

/* ───────────── 19. FULL COMPARE PAGE (/cars/compare) ON PHONES ─────────────
   style.css ~941 gave phones a 70px label column + `minmax(48px,1fr)` per car (4 columns in 340px) and
   `overflow-x:auto`: headers were clipped ("Merced…"), words broke mid-word ("Lugga/ge", "Trans/missio/n",
   "Automati/c") and the thumbnails were ~60px circles. Same pattern as the popup table (section 18): equal
   columns, the row label on its own line above the values. The text-heavy "Best for" row is stacked per
   car (each cell is full width, prefixed with the car name from `data-car`) because paragraphs can't be
   compared in 90px columns. `:has()` is used for that row; without it the row simply stays in columns. */
@media (max-width:760px){
  html body #main .ct{grid-template-columns:repeat(var(--n,2),minmax(0,1fr));font-size:15px;overflow:hidden;
    background-color:#fff;border-radius:18px;
    background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(100% / var(--n,2) - 1px),var(--line) calc(100% / var(--n,2) - 1px),var(--line) calc(100% / var(--n,2)));
    background-size:calc(100% + 1px) 100%;background-repeat:no-repeat}
  html body #main .ct>div:first-child{display:none}               /* empty corner cell */
  html body #main .ct>div{padding:4px 8px 12px;border-top:0;text-align:center;overflow-wrap:break-word;hyphens:manual;text-wrap:balance}
  html body #main .ct .chd{padding:12px 6px 12px}
  html body #main .ct .chd .tmp{aspect-ratio:4/3;margin-bottom:8px;border-radius:10px;background:transparent}
  html body #main .ct .chd .tmp img{object-fit:contain;mix-blend-mode:multiply}
  html body #main .ct .chd h3{font:600 14px/1.2 var(--dsp);letter-spacing:-.01em;text-wrap:balance}
  html body #main .ct .cl{grid-column:1 / -1;padding:12px 14px 0;text-align:left;border-top:1px solid var(--line);
    font:600 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
  /* "Best for": one full-width block per car */
  html body #main .ct>div:has(>.ct-best-list){grid-column:1 / -1;text-align:left;padding:10px 14px 12px;font-size:14px}
  html body #main .ct>div:has(>.ct-best-list)+div:has(>.ct-best-list){border-top:1px solid var(--line)}
  html body #main .ct>div:has(>.ct-best-list)::before{content:attr(data-car);display:block;margin-bottom:6px;
    font:600 14px/1.2 var(--dsp);color:var(--fg)}
  html body #main .ct .ct-best-list{gap:6px}
  html body #main .ct .ct-best-list span{line-height:1.4}
}

/* 19b. Fixes found checking section 19 in the browser:
   - style.css has a bare `h3{font-size:21px!important}`, so the car names stayed 21px and "Mercedes-Benz Vito"
     overflowed its column (scrollWidth 331 > 326). A competing !important is the only way to win.
   - the column hairlines are one background on the table, so they ran through the stacked "Best for" text
     and through long labels ("TRANSMISSION" is wider than a column). Best-for cells are opaque white; label rows
     are a tinted band, so the lines read as belonging to the value rows only. */
@media (max-width:760px){
  html body #main .ct .chd h3{font-size:14px!important;line-height:1.2!important;overflow-wrap:anywhere}
  html body #main .ct .cl{background:#f5f3ee}
  html body #main .ct>div:has(>.ct-best-list){background:#fff}
}

/* 20. Phone review of Home (390px), pass 5.
   - `.group-how .step` carried a generic 18px radius but only has a bottom hairline, so each rule curled upward at both
     ends (read as a stray curved line under every step). Square it off.
   - Eyebrow ornament in dark sections was dark brown (#4a3425) on forest green: invisible. Gold, like the other dark-surface accents. */
html body[data-s] #main .group-how .step{border-radius:0}
html body[data-s] #main .dark .eye::before{background:var(--gold,#e9bd69);opacity:.85}

/* 20b. Eyebrows containing an ampersand ("Import & export"). `.eye` is a flex row (ornament + text, gap 12-14px) and the
   `<span class="upright-amp">` splits the text into three flex items, so the "&" sat 12-14px from each word (about 3x a normal
   word space). Pull it back in so it reads as one phrase. Gap stays between ornament and text. */
html body[data-s] #main .eye>.upright-amp{margin-inline:-.6em}

/* 21. Phone review of Support (390px), pass 5.
   a) FAQ rows (`.fq`) have only a top/bottom hairline but inherit a 14px card radius from style.css (the big
      `:is(.note,.side,…,.fq,…)` rule + a !important 12px one), so every rule curls at its ends and the stacked rows look
      like overlapping pills. Square them off (sitewide; same bug as the Home steps in section 20).
   b) Support timeline on phones: one 2px line ran from the first icon to 34px above the list bottom, so it stuck out past
      the last icon. Replace it with a segment from each icon's centre to the next one (none after the last), keeping the
      rust -> gold -> green progression as three short gradients.
   c) Support hero eyebrow ("MENGED Support · Local coordination") must wrap on a phone; with centred text the 28px ornament
      stayed hanging at the far left. Drop the ornament on phones there. */
html body[data-s] #main .faq .fq{border-radius:0!important}
@media (max-width:760px){
  html body[data-s] #main .support-timeline::before{display:none}
  html body[data-s] #main .support-timeline-item:not(:last-child)::after{
    content:"";position:absolute;left:26px;top:27px;width:2px;height:100%;
    background:linear-gradient(#c4501b,#d2995e)}
  html body[data-s] #main .support-timeline-item:nth-child(2):not(:last-child)::after{background:linear-gradient(#d2995e,#bab282)}
  html body[data-s] #main .support-timeline-item:nth-child(3):not(:last-child)::after{background:linear-gradient(#bab282,#7b9c87)}
}
@media (max-width:560px){
  html body[data-s=support] #main .sh0 .eye::before{display:none}
}

/* 22. Phone/desktop review of Tours landing (pass 6).
   a) Event-card date numeral (`.ev b`, 64px desktop / 40px / 34px phone) took `--acc`, which Tours maps to the
      dark-surface gold (#e9bd69): 1.74:1 on the white card (large text needs 3:1). Deep bronze #9a6e26 is ~4.5:1 and is
      the same bronze used for the Home rotating word (fix 15). Gold stays on dark surfaces. `_qa/contrast.py` had skipped
      any text under 3 characters, so single-digit numerals were never measured — now fixed in the tool.
   b) "Travel well-prepared" cards (`.guide-card-link`): body copy was 13px, the smallest running text on the page and
      this is the trust-critical copy (entry, route, season). 14px / 1.6 on phones, Tours only. */
html body[data-s=tours] #main .ev b{color:#9a6e26}
@media (max-width:620px){
  html body[data-s=tours] #main .guide-card-link>p{font-size:14px;line-height:1.6}
}

/* 22c. Tours events page (`/tours/events`), reviewed at 390 and 1440.
   - "N days to go" numeral (`.nev-n b`, 84px/48px) and today's calendar cell took the dark-surface gold via `--acc`
     (1.6–1.74:1 on cream/white). Deep bronze, as in 22a. `:not(.sel)` keeps gold on a selected (dark) cell. Event-day dots too.
   - Calendar cell: the Ethiopian date (`.ethd`) was 9px and the weekday header 11px — both under the 12px floor. Day numbers 13 -> 15px.
   - Phones: cells are ~45px wide with 8px padding, so "23 14" wrapped digit-by-digit ("23 1 / 4"). Stack the Ethiopian date under the
     day and trim the padding; a 12px "14" is ~14px wide so it fits at 320px too.
   - Phones: `.nev-t{flex:1 1 240px}` (style.css 451) is a width hint in the desktop row but becomes a 240px *height* once
     `.next-ev` turns into a column at <=560px -> ~80px of dead space above "Add to calendar". Let it size to its content. */
html body[data-s=tours] #main .nev-n b{color:#9a6e26}
html body[data-s=tours] #main .cd.td:not(.sel) b,
html body[data-s=tours] #main .cd.td:not(.sel) .ethd{color:#9a6e26}
html body[data-s=tours] #main .cd.td:not(.sel){box-shadow:inset 0 0 0 1px #9a6e26}
html body[data-s=tours] #main .cd.has:not(.sel):after{background:#9a6e26}
html body[data-s=tours] #main .cg>span{font-size:12px}
html body[data-s=tours] #main .cd b{font-size:15px}
html body[data-s=tours] #main .cd .ethd{font-size:12px}
@media (max-width:760px){
  html body[data-s=tours] #main .cd{padding:6px 4px 6px 6px}
  html body[data-s=tours] #main .cd b{display:flex;flex-direction:column;gap:1px;line-height:1.1}
  html body[data-s=tours] #main .cd .ethd{margin-left:0}
}
@media (max-width:560px){
  html body[data-s] #main .next-ev .nev-t{flex:0 0 auto}
}

/* 22d. Events page, desktop: the sticky element was the wrong one. The "Coming up" panel (`.cdp`) is `position:sticky` but is
   ~2,700px tall and sets the grid row height, so it can never stick, while the short calendar beside it scrolled away and left a
   ~2,000px void in the left column. Make the calendar column the sticky one (only while the two columns sit side by side). */
@media (min-width:961px){
  html body[data-s=tours] #main .cwrap>:not(.cdp){position:sticky;top:96px;align-self:start}
  html body[data-s=tours] #main .cwrap>.cdp{position:static}
}
/* 22d-2. Short laptop screens: a sticky calendar taller than the viewport would clip its last row, so compact the cells
   below 840px of height (6 rows x 72px fits a 720px-high window) and stop sticking below 700px. */
@media (min-width:961px) and (max-height:839px){
  html body[data-s=tours] #main .cwrap .cd{min-height:72px}
}
@media (min-width:961px) and (max-height:699px){
  html body[data-s=tours] #main .cwrap>:not(.cdp){position:static}
}

/* ───────────────────────────────────────────────────────────────────────────────────────────
   23. Quote form · "Journey type" picker (Cars /request).
   Was a native <select> (the OS list popped up as a plain white sheet on phones). Now a set of tappable cards that reuse the
   same mode artwork as the Cars landing page. Markup is built in rqDraw() (`app.js`): <fieldset.jt> > <label.jt-opt> >
   <input type=radio name=cmode> + <span.jt-card>. The radio is real (keyboard, screen reader, form semantics) and stretched
   invisibly over the whole card so the entire card is the tap target. Selected state = `input:checked + .jt-card`
   (`.jt-opt.on` is also toggled by JS as a fallback). 5 modes → 2-up on phones with the last card full-width. */
html body #main .jt{border:0;margin:16px 0 6px;padding:0;min-width:0}
html body #main .jt-legend{display:block;float:none;width:auto;padding:0;margin:0 0 8px;
  font:650 12px/1.3 var(--sans,Inter,system-ui,sans-serif);color:#18221d;letter-spacing:.04em}
html body #main .jt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
html body #main .jt-opt{position:relative;display:block;min-width:0;margin:0;padding:0;cursor:pointer;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation}
html body #main .jt-opt:last-child:nth-child(odd){grid-column:1/-1}
html body #main .jt-opt>input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  min-height:0!important;margin:0!important;padding:0!important;opacity:0!important;cursor:pointer;z-index:2;
  border:0!important;background:transparent!important;-webkit-appearance:none;appearance:none}

html body #main .jt-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:9px;height:100%;
  box-sizing:border-box;min-height:104px;padding:13px 13px 14px;border:1.5px solid var(--mg-line,rgba(17,49,38,.13));
  border-radius:20px;background:#fff;color:var(--mg-ink,#16221c);
  box-shadow:0 1px 2px rgba(17,49,38,.05);
  transition:transform .2s cubic-bezier(.3,1.4,.5,1),box-shadow .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease}
html body #main .jt-opt:last-child:nth-child(odd) .jt-card{flex-direction:row;align-items:center;gap:12px;min-height:76px;padding:12px 14px}

html body #main .jt-ico{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:17px;
  background:#f7f0dd;box-shadow:inset 0 0 0 1.5px rgba(183,129,45,.28);color:var(--mg-f700,#1f5440);
  transition:background-color .2s ease,box-shadow .2s ease,color .2s ease}
html body #main .jt-ico .ic,html body #main .jt-ico svg{width:38px;height:38px;display:block}
html body #main .jt-txt{display:flex;flex-direction:column;gap:2px;min-width:0;padding-right:2px}
html body #main .jt-txt b{font:650 15px/1.2 var(--sans,Inter,system-ui,sans-serif);letter-spacing:-.005em;color:inherit}
html body #main .jt-txt small{font:500 12.5px/1.35 var(--sans,Inter,system-ui,sans-serif);color:var(--mg-mut,#56645b);text-wrap:balance;
  transition:color .2s ease}

html body #main .jt-tick{position:absolute;top:11px;right:11px;width:22px;height:22px;box-sizing:border-box;border-radius:50%;
  border:1.5px solid rgba(17,49,38,.2);background:transparent;transition:background-color .2s ease,border-color .2s ease}
html body #main .jt-opt:last-child:nth-child(odd) .jt-tick{top:50%;margin-top:-11px;right:14px}
html body #main .jt-opt:last-child:nth-child(odd) .jt-txt{padding-right:34px}

/* hover / press — pointer devices only for the lift, everyone gets the press */
@media (hover:hover){
  html body #main .jt-opt:hover .jt-card{border-color:#c9a45a;transform:translateY(-2px);box-shadow:0 8px 18px rgba(17,49,38,.10)}
}
html body #main .jt-opt:active .jt-card{transform:scale(.97)}

/* selected */
html body #main .jt-opt>input:checked+.jt-card,
html body #main .jt-opt.on .jt-card{background:linear-gradient(150deg,#1f5440 0%,#113126 100%);border-color:#113126;color:#fff;
  box-shadow:0 10px 22px rgba(17,49,38,.24),inset 0 0 0 1px rgba(233,189,105,.28)}
html body #main .jt-opt>input:checked+.jt-card .jt-txt small,
html body #main .jt-opt.on .jt-card .jt-txt small{color:rgba(255,255,255,.82)}
html body #main .jt-opt>input:checked+.jt-card .jt-ico,
html body #main .jt-opt.on .jt-card .jt-ico{background:#fbf3de;color:var(--mg-f700,#1f5440);
  box-shadow:inset 0 0 0 2px #e9bd69,0 0 0 4px rgba(233,189,105,.18);animation:jt-wiggle .5s ease-out}
html body #main .jt-opt>input:checked+.jt-card .jt-tick,
html body #main .jt-opt.on .jt-card .jt-tick{border-color:#e9bd69;animation:jt-pop .3s cubic-bezier(.3,1.7,.5,1);
  background:#e9bd69 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23113126' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6.5 12.5 3.8 3.8 7.2-8'/%3E%3C/svg%3E") center/14px 14px no-repeat}
@media (hover:hover){
  html body #main .jt-opt:hover>input:checked+.jt-card{border-color:#113126;transform:translateY(-2px)}
}

/* keyboard focus */
html body #main .jt-opt>input:focus-visible+.jt-card{outline:3px solid #e9bd69;outline-offset:2px}

@keyframes jt-pop{0%{transform:scale(.3);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes jt-wiggle{0%{transform:rotate(0) scale(.9)}35%{transform:rotate(-9deg) scale(1.08)}70%{transform:rotate(6deg) scale(1.02)}100%{transform:rotate(0) scale(1)}}
@media (prefers-reduced-motion:reduce){
  html body #main .jt-card,html body #main .jt-ico,html body #main .jt-tick,html body #main .jt-txt small{transition:none}
  html body #main .jt-opt>input:checked+.jt-card .jt-ico,html body #main .jt-opt.on .jt-card .jt-ico,
  html body #main .jt-opt>input:checked+.jt-card .jt-tick,html body #main .jt-opt.on .jt-card .jt-tick{animation:none}
  html body #main .jt-opt:hover .jt-card,html body #main .jt-opt:active .jt-card{transform:none}
}

/* very narrow phones: slightly tighter tiles so "Chauffeured, door to door" wraps to two lines, not three */
@media (max-width:359px){
  html body #main .jt-grid{gap:8px}
  html body #main .jt-card{padding:11px 10px 12px;min-height:98px}
  html body #main .jt-txt b{font-size:14px}
  html body #main .jt-txt small{font-size:12px}
}

/* wider screens: three across, then two wider cards underneath */
@media (min-width:720px){
  html body #main .jt-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  html body #main .jt-opt{grid-column:span 2}
  html body #main .jt-opt:nth-child(n+4){grid-column:span 3}
  html body #main .jt-opt:last-child:nth-child(odd){grid-column:span 3}
  html body #main .jt-opt:nth-child(n+4) .jt-card{flex-direction:row;align-items:center;gap:12px;min-height:76px;padding:12px 14px}
  html body #main .jt-opt:nth-child(n+4) .jt-tick{top:50%;margin-top:-11px;right:14px}
  html body #main .jt-opt:nth-child(n+4) .jt-txt{padding-right:34px}
}

/* ==========================================================================
   24. TOURS PLANNER · generated plan (fixes 28-30). Scoped body[data-s=tours].
   Needs to out-rank mobile-v2.css:51/169/170 -> `html body #main ul:not([class]) li` = (1,1,4).
   Ours = (1,2,4) or more.
   ========================================================================== */

/* 24a. Bullet lists: style.css:37 resets ul,ol{list-style:none}, but the planner's lists were built
   with a 17-20px left gutter that expected a marker, so every highlight / day step floated in a blank
   gutter. Restore a real marker, one size (14px), and drop the phone-only 8px li margin that doubled
   the grid gap (mobile-v2.css:170). */
html body[data-s=tours] #main :is(.plan-highlight-group,.plan-highlight-preview,.plan-day-content) ul{list-style:disc;padding-left:20px;gap:7px 20px}
html body[data-s=tours] #main :is(.plan-highlight-group,.plan-highlight-preview,.plan-day-content) ul li{margin:0;padding-left:2px;font-size:14px;line-height:1.55}
html body[data-s=tours] #main :is(.plan-highlight-group,.plan-highlight-preview,.plan-day-content) ul li::marker{color:#568467}
html body[data-s=tours] #main .plan-highlight-preview ul li{color:var(--fg,#18231d)}

/* 24a-2. "Suggested route order" in the dark summary card: no indent (phones got 20px from
   mobile-v2.css:169), and a small numbered badge so the ORDER is actually visible. */
html body[data-s=tours] #main .plan-summary-stops ol{padding-left:0;counter-reset:pstop}
html body[data-s=tours] #main .plan-summary-stops li{counter-increment:pstop;position:relative;margin:0;padding-left:34px}
html body[data-s=tours] #main .plan-summary-stops li::before{content:counter(pstop);position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:24px;height:24px;border-radius:50%;border:1px solid rgba(233,189,105,.6);color:#f4dfb0;
  font:700 12px/22px var(--sans,Inter,system-ui,sans-serif);text-align:center}

/* 24b. Destination card kicker "Historic North · Suggested 1 day": both spans were display:block, so the
   "·" text node between them became its own anonymous line (a lone dot under "HISTORIC NORTH").
   Kicker typography moves to the parent so the dot is styled with the words; spans go inline.
   (Also lifts the 11px kicker to the 12px floor.) The h2 sets family/weight/size/colour itself. */
html body[data-s=tours] #main .plan-destination-image-copy{font:750 12px/1.5 var(--sans,Inter,system-ui,sans-serif);letter-spacing:.13em;text-transform:uppercase;color:#f4dfb0}
html body[data-s=tours] #main .plan-destination-image-copy>span{display:inline;margin:0;font:inherit;letter-spacing:inherit;color:inherit}
html body[data-s=tours] #main .plan-destination-image-copy>h2{margin-top:10px;text-transform:none}

/* 24c. Doubled hairline above "Planning tip": the last day card keeps its bottom border AND .plan-tip
   adds its own top border 16px below. Keep the tip's rule only. */
html body[data-s=tours] #main .plan-day-list>.plan-day-card:last-child{border-bottom:0;padding-bottom:4px}

/* ==========================================================================
   25. TOURS PLANNER labels (fix 31). These exist only AFTER a plan is generated, so the fix-8 legibility
   floor (audited on the idle page) never saw them: kicker 11px (style.css:3727), "Suggested route order"
   11px (3746), desktop "Day N" 11px (3803). Floor = 12px.
   Also: on phones .plan-day-index{gap:5px} (style.css:3846) minus the dot's 4px halo left ~1px, so the
   "Day 1 ●" dot touched the numeral -> 10px.
   ========================================================================== */
html body[data-s=tours] #main :is(.plan-section-kicker,.plan-eyebrow){font-size:12px}
html body[data-s=tours] #main .plan-summary-stops>b{font-size:12px}
html body[data-s=tours] #main .plan-day-index span{font-size:12px}
html body[data-s=tours] #main .plan-day-index{gap:10px}

/* ==========================================================================
   26. TOURS itinerary rows (fix 32). The trip-length numeral (`.rows .row>.d`, "9 days", 36px) took the
   dark-surface gold (--acc #e9bd69) on the cream page: ~1.6:1, and it is the key fact in the row.
   Same family as fixes 15 / 24 / 26 -> the shared bronze. Used on /tours/routes and "Routes through X".
   ========================================================================== */
html body[data-s=tours] #main .rows .row>.d{color:#9a6e26}

/* ==========================================================================
   27. BREADCRUMB EYEBROWS (fix 35). `.eye` is a no-wrap flex row; in the breadcrumb form
   (`<div class=eye><a>Itineraries</a> / <span>9 days</span> · <span>…</span></div>`) the link is a flex item
   that SHRINKS before anything wraps, so on phones "Itineraries" broke mid-word ("ITINER / ARIES") and
   "Business guidance" was squeezed to ~77px at 320px. Same template family everywhere a page has a
   crumb-style eyebrow: Tours trips, vehicle detail, Trade product, Business guides/sectors.
   Now such eyebrows wrap BETWEEN items (flex-wrap), so a word is never split; when everything fits (desktop,
   most phones) nothing changes. Scoped with :has(>a) so ordinary eyebrows (incl. centred ones) are untouched.
   Trade draws its eyebrow as a pill: a two-line pill needs a real radius, not 99px.
   ========================================================================== */
html body[data-s] #main .eye:has(>a){flex-wrap:wrap;row-gap:4px;max-width:100%}
html body[data-s] #main .eye:has(>a)>a{flex:0 0 auto}
html body[data-s=trade] #main .eye:has(>a){border-radius:22px}

/* ==========================================================================
   28. TOURS places index (`/tours/places`) - card text overlap (fix 37).
   The cards are photo tiles whose name (`h3`) and description (`p`) were pinned to the bottom of the photo at
   fixed offsets (style.css:109/624/743/886), a layout that only works if the description is 1-2 lines. That is what
   style.css:108 asked for (`-webkit-line-clamp:2`), but final-fixes.css rule 1 ("full text everywhere: no
   line-clamps") switches the clamp off, so every description grew to 4-9 lines and was drawn UNDER the name and
   the kicker, at every width from 320 to 1440 (measured: name overlapped the paragraph by 60-190px on all 14 cards).
   Keeping the "full text" rule: the photo keeps the kicker + italic name on it, and the full description is in
   normal flow under the photo, in muted text on the page (14px/1.6, same as other body copy). The card is a
   one-column grid so the name can share the photo's grid cell (aligned to its bottom) while the description
   takes the next row. The kicker's offset is still driven by polish.js's measured title height (--mg-h3h).
   Only `a.card` on Tours is touched (the same `card()` template on the Group home keeps its own layout).
   ========================================================================== */
html body[data-s=tours] #main a.card{display:grid;grid-template-columns:minmax(0,1fr);align-content:start}
html body[data-s=tours] #main a.card>.ph{grid-area:1/1}
html body[data-s=tours] #main a.card>h3{grid-area:1/1;align-self:end;position:relative;z-index:2;left:auto;right:auto;bottom:auto;
  margin:0 18px 18px;pointer-events:none}
html body[data-s=tours] #main a.card>p{grid-area:2/1;position:static;left:auto;right:auto;bottom:auto;margin:14px 2px 0;
  color:var(--mut);font-size:14px;line-height:1.6;text-shadow:none}
html body[data-s=tours] #main a.card .ph b{bottom:calc(18px + var(--mg-h3h,36px) + 8px)}
@media (max-width:560px){
  html body[data-s=tours] #main a.card>h3{margin:0 14px 16px}
  html body[data-s=tours] #main a.card .ph b{left:14px;bottom:calc(16px + var(--mg-h3h,36px) + 8px)}
}

/* ==========================================================================
   29. TOURS gold-on-cream text + small label/contrast leftovers (fixes 38-40).
   38. Three more links took the dark-surface gold (`--acc` #e9bd69 on Tours) onto light surfaces - the same
       family as fixes 15 / 24 / 26 / 32 - and were measured at 1.6-1.74:1: "Explore the Atlas" (`.guide-index-label a`) and
       "Open tools" (`.eth-summary-action`) on /tours/guides, and the "Guide" pill on all 80 rows of the /tours/atlas list
       (`.atlas-open-link`). Links now use forest (--mg-f700, ~9:1 on cream). The atlas pill is a bonus case: polish.js
       decides "dark glass vs light glass" from the TEXT colour, so a pale-gold label made it pick the dark-glass recipe on
       a cream panel (faint, borderless pill); with a dark label it picks the light-glass recipe like the other pills.
       Hover goes to a deep bronze (#7a5518, ~6:1) instead of the pale gold the atlas pill used before.
   39. "START WITH WHAT YOU NEED" (`.guide-index-label`) was 11px at >=561px (style.css:2370) -> 12px floor, all widths.
       `.resource-details summary` ("Official Ethiopian government references") was #68736d on #f7f4ec = 4.48:1, 0.02 short of AA ->
       #5a655f (~5.7:1). Only used on /tours/guides, so nothing dark is affected.
   40. Atlas search: the `<label class=fld style="display:block">` holds a text label then the input; the input kept its default
       ~254px width (`flex:1` does nothing in a block), leaving ~90px of empty card at 390px and a truncated placeholder.
       Full width now (`box-sizing` so padding does not push it past the card).
   ========================================================================== */
html body[data-s=tours] #main :is(.guide-index-label a,.eth-summary-action){color:var(--mg-f700)}
html body[data-s=tours] #main .atl aside ul#al li[data-item]>.atlas-open-link{color:var(--mg-f700)}
@media (hover:hover){
  html body[data-s=tours] #main .atl aside ul#al li[data-item]>.atlas-open-link:hover{color:#7a5518}
  html body[data-s=tours] #main .guide-index-label a:hover{color:#7a5518}
}
html body #main .guide-index-label{font-size:12px}
html body #main .resource-details summary{color:#5a655f}
html body[data-s=tours] #main .atl .fld input{width:100%;box-sizing:border-box}

/* ==========================================================================
   30. TOURS stay detail (`/tours/stay/<slug>`) - phone/tablet order + small labels (fixes 42-43).
   42. At <=960px style.css:323 puts the booking card FIRST (`order:-1`). The card is generic ("Your stay, planned /
       Let's organise the details / Request this stay"), so on a phone the first thing under the breadcrumb was a
       request button for a property whose name only appeared ~490px further down. Now the title block (type + town,
       name, description, facts) comes first, then the card, then the details. Markup is untouched: the left column is
       `display:contents` so its children become grid items of the same one-column grid and can be ordered around the
       aside; items 1-4 stay first, the aside is order 1, the rest order 2. Grid items do not collapse margins the way block
       siblings did, so row-gap is 0 and the two margin pairs that used to collapse (lead -> facts, facts -> aside) are set
       explicitly. Desktop (two columns, sticky card) is unchanged.
   43. `.stay-overline` ("HOTEL · BOLE, ADDIS ABABA", the property's type and town) was the dark-surface gold at 11px on
       cream = 1.6:1 -> deep bronze #7a5518 (~6:1) at 12px; `.stay-facts small` ("PROPERTY TYPE") 11px -> 12px (it was only
       11px on desktop, 12px on phones).
   ========================================================================== */
html body[data-s=tours] #main .stay-overline{color:#7a5518;font-size:12px}
html body[data-s=tours] #main .stay-facts small{font-size:12px}
@media (max-width:960px){
  html body[data-s=tours] #main .stay-detail-grid{row-gap:0}
  html body[data-s=tours] #main .stay-detail-grid>div:first-child{display:contents}
  html body[data-s=tours] #main .stay-detail-grid>div:first-child>:nth-child(n+5){order:2}
  html body[data-s=tours] #main .stay-detail-grid>.stay-booking-panel{order:1;margin:0 0 6px}
  html body[data-s=tours] #main .stay-detail-grid .stay-lead{margin-bottom:0}
  html body[data-s=tours] #main .stay-detail-grid .stay-facts{margin:22px 0 26px}
}
/* 42b. "Back to all stays" sat 24px under its top rule and 42px above the next one (the disclaimer's own 18px top margin on top of
   its 15px padding): centre it between the two hairlines. */
html body[data-s=tours] #main .stay-booking-panel .stay-disclaimer{margin-top:0}

/* 31. Landmark pages (`/tours/landmark/<slug>`): the "Plan the visit well" callout (`.lm-plan-note`).
   Its <ul> had a blank 19-20px gutter at every width: style.css:37 resets list-style to none, while the generic
   `ul:not([class])` padding (mobile-v2 on phones, a 19px default above) still pushed the items right of their own
   heading. Same family as fix 28 (planner lists). The callout reads as two short sentences under a kicker, so the
   items go flush with the heading (no marker, no gutter) and get a clear gap between them. */
html body[data-s=tours] #main .lm-plan-note ul{padding:0;margin:10px 0 0;list-style:none;display:grid;gap:12px}
html body[data-s=tours] #main .lm-plan-note ul li{margin:0;padding:0}

/* 31b. Landmark hero (`.lm-guide-hero`): the secondary CTA "Locate on the Atlas" was INVISIBLE on every landmark page.
   It is `.btn.alt` (the light-surface variant: transparent fill, dark text #16221c, dark 30% border) placed on the dark
   photo hero, i.e. dark text on dark green = 1.61:1 (measured; the button only showed up as a gap under "Plan this visit").
   The layover hero got the same recipe for the same reason (style.css:5222) but it is scoped to that one route, so the
   landmark template never had it. Same recipe here: dark glass at rest, light fill on hover. */
html body[data-s=tours] #main .lm-guide-hero .lm-hero-actions .btn.alt{
  background:rgba(10,28,20,.48)!important;color:#fff!important;border-color:rgba(255,255,255,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 4px 14px rgba(0,0,0,.16)!important;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
@media (hover:hover){
  html body[data-s=tours] #main .lm-guide-hero .lm-hero-actions .btn.alt:hover{background:rgba(255,254,250,.96)!important;color:#18231d!important;border-color:#fffefa!important}
}
/* 31c. Under the 12px floor on landmark pages: the category label on every "Explore nearby heritage stops" card
   (`.lm-related-card span`, 10px) and the hero's photo-credit line (`.lm-photo-credit`, 10px at >=761px) — the credit is
   trust-critical text ("Regional reference photograph · not a verified image of the landmark"). */
html body[data-s=tours] #main .lm-related-card span{font-size:12px;letter-spacing:.08em}
html body[data-s=tours] #main .lm-photo-credit{font-size:12px;line-height:1.5}

/* 32. Trade product pages (`/trade/p/<slug>`): "What MENGED can take off your plate" panel (`.trade-help-panel`, forest green).
   Its second paragraph carries `.mut` (muted grey-green #55645b for light surfaces) and out-ranked the panel's own
   light-text rule (`.trade-help-panel p`, style.css:380; `.mut` is `!important` at style.css:548, so this override must be too), so it rendered 1.63:1 — nearly invisible — under a readable
   first paragraph. Same light-on-dark colour as its sibling paragraph. */
html body[data-s=trade] #main .trade-help-panel p.mut,
html body[data-s=trade] #main .trade-help-panel .mut{color:rgba(255,255,255,.76)!important}

/* 33. Dark `.side` cards on Trade / Support / Business / Group: the eyebrow ("Before payment" on `/trade/process`) kept the
   light-surface muted colour #55645b on the forest card = 1.63:1, ornament line included (it follows currentColor).
   Fix 21 gave `.dark` sections a gold eyebrow but `.side` (dark card, not a `.dark` section) was never covered. On Tours and
   Cars `.side` is a light card (style.css:121), so those two stay untouched. */
html body[data-s=trade] #main .side .eye,
html body[data-s=support] #main .side .eye,
html body[data-s=business] #main .side .eye,
html body[data-s=group] #main .side .eye,
html body[data-s=trade] #main .trade-help-panel .eye{color:var(--gold,#e9bd69)}
html body[data-s=trade] #main .side .eye::before,
html body[data-s=support] #main .side .eye::before,
html body[data-s=business] #main .side .eye::before,
html body[data-s=group] #main .side .eye::before,
html body[data-s=trade] #main .trade-help-panel .eye::before{opacity:.85}
/* 33b. Same cause, second card: `.trade-help-panel` (Trade product pages). The base eyebrow is brass #86672a (made for light
   surfaces, menged-unified.css ~line 111); only `.dark/.cta/.group-hero` flip it to gold, so dark *cards* fall through. At 1440 the
   help-panel eyebrow measured 1.93:1 (phones were already gold via another rule). Covered by the two selectors added above. */

/* 34. Group "Service / Delivered by" table (`.grp-table`, `/group/about`; group.css:5-11): `min-width:520px` inside a 348px phone
   card with `overflow-x:auto` and no scroll cue, so the right-hand column ("Delivered by licensed …") was cut off mid-sentence
   on every row — the very content that says who performs each regulated task. Phones (<=760px) now stack each row: service name
   as the row heading, the delivery text under it, full width, no horizontal scroll. The header row stays in the DOM for screen
   readers (visually hidden). Desktop table untouched. */
@media (max-width:760px){
  html body #main .grp-table-wrap{overflow:visible}
  html body #main .grp-table{min-width:0;display:block}
  html body #main .grp-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  html body #main .grp-table tbody{display:block}
  html body #main .grp-table tr{display:block;padding:15px 18px;border-bottom:1px solid var(--line)}
  html body #main .grp-table tr:last-child{border-bottom:0}
  html body #main .grp-table tbody th,html body #main .grp-table td{display:block;width:auto;padding:0;border:0}
  html body #main .grp-table tbody th{font-size:16px;line-height:1.3;margin-bottom:5px}
  html body #main .grp-table td{font-size:14px;line-height:1.6;color:var(--mut)}
}

/* 35. Eyebrows with an ampersand ("Partnerships & Commercial Representation", `/group/partnerships`): `.eye` is a no-wrap flex row and
   the text pieces around `.upright-amp` are anonymous flex items, so when the line is too long the LAST piece is the one that shrinks
   and wraps inside its own box — "COMMERCIAL / REPRESENTATION" ended up as a narrow two-line column beside the ornament while the
   first piece stayed on one line. Same family as fix 35 (breadcrumb eyebrows, `.eye:has(>a)`): let the row wrap *between* items, so the
   second half drops to its own line under the first. One-line eyebrows ("Import & export") are unchanged — wrapping only happens
   when the row does not fit. */
html body[data-s] #main .eye:has(>.upright-amp){flex-wrap:wrap;row-gap:4px;max-width:100%}

/* 36. Business landing, "Where can you invest?" and "Why Ethiopia" cards (`.business-value-grid`, `.business-why-grid`, 12 cards): the
   body copy was 13px / 1.4 on phones (`mobile.css:68`, `!important`, written for compact photo-rail cards) and 13px on desktop —
   the smallest running text on a page whose intro is 16.5px, and these paragraphs are the substance of the page. Now 14px / 1.6
   (the same size Tours' guide cards got in fix 24); phone titles 16px -> 18px so the title still leads the larger body. The
   `!important` is needed because the rules above are `!important`. */
html body[data-s=business] #main :is(.business-value-grid,.business-why-grid) .guide-card-body p{font-size:14px!important;line-height:1.6!important}
@media (max-width:760px){
  html body[data-s=business] #main :is(.business-value-grid,.business-why-grid) .guide-card-body h3{font-size:18px!important;line-height:1.25!important;margin:2px 0 6px!important}
}

/* 36b. Business "Find your strongest starting point" panel: the sector explainer (`.biz-result p` and its list items) was 13px
   (style.css:1065/1068) under a 22px heading — the one place on the page that explains the chosen sector. 14px / 1.6, like the cards
   above it (36). The 12px helper/disclaimer lines (`.biz-control-hint`, `.biz-small-note`) and the 13px references footnote stay. */
html body[data-s=business] #main .biz-result p{font-size:14px;line-height:1.6}
html body[data-s=business] #main .biz-result li{font-size:14px;line-height:1.55}

/* 36c. Business card kickers ("MARKET SCALE", "INDUSTRY & …"; `.guide-card-body>small`, style.css:1372 `#68766b`): 12px bold caps at 4.31:1 on the
   cream card -> `#5a655f` (same value as fix 39, ~5.9:1); and the `.upright-amp` inside a `<small>` kicker is `.96em`, i.e. 11.5px — under the 12px floor. */
html body[data-s=business] #main :is(.business-value-grid,.business-why-grid) .guide-card-body>small{color:#5a655f}
html body #main small .upright-amp{font-size:1em}

/* 37. Hairlines that curl up at their ends — the border-radius + single-border bug (fix 21 Home steps, fix 23 Support FAQ), found by the new
   `_qa/curl.py` (elements with radius >= 6px and a border on only one side, no fill/shadow). Three more places, scoped so real cards keep
   their radius: the Business "Our role" steps (`.business-investment-steps .step`, 3 rows), the Business "Official references" footnote
   (`.business-source-note`, a top rule with a 16px radius) and the five steps on `/trade/process` (`.steps .step`, bottom rule, 18px radius). */
html body[data-s=business] #main .business-investment-steps .step,
html body[data-s=business] #main .business-source-note,
html body[data-p="trade/process"] #main .steps .step{border-radius:0}

/* 38. Business guides index (`/business/guides`, 8 `a.guide-card.guide-card-link` cards): the guide summaries were 13px / 1.55 on phones
   (`style.css:892`, a `.guide-card p` media-query rule; 14px at >=1440) — the smallest running text on a page made of guidance paragraphs,
   and the same size mismatch that fixes 24 (Tours guides) and 51 (Business landing cards) already corrected. These cards put the `<p>` directly
   under the link (no `.guide-card-body`), which is why fix 51's selector never matched them. Now 14px / 1.6 at every width; no `!important`
   needed (the rule it beats is not important). Scoped to Business. */
html body[data-s=business] #main a.guide-card-link>p{font-size:14px;line-height:1.6}

/* 39. Business guide articles (`/business/g/<slug>`, all 8 guides). Three defects, one template (`.bz article`):
   (a) STRAY DASH on every list item. `style.css:167` gives `.bz li` a 28px gutter and draws a 10x1px accent dash in it (`li:before`, left:0, top:26px);
       the later disc-bullet pass (`style.css:1859-1860`, `#main .content-list`) zeroed the li padding and added real disc markers — so the dash now
       lands ON the text (under the first line / at the start of line 2) as well as the bullet. The disc stays; the dash goes.
   (b) The same pass left the rows cramped: a hairline directly on the text (padding 0) and 10px of margin ABOVE the next rule only. Now 12px above and below
       each item's text, no margin, so each rule sits midway between rows.
   (c) The \"Helpful next step\" callout paragraph was 19px / 30px with 20px/28px margins (box 310px tall at 390): `.bz article p{font-size:19px;margin:20px 0 28px}`
       (style.css:167) meant for body paragraphs also hits the callout's <p>. Every other `.field-note p` on the site is 14px / 22px / margin 0
       (/business/guides, /business/tools, /trade/process), and here it was bigger than the 16.5px lead. Now the same as the component everywhere else. */
html body[data-s=business] #main .bz .content-list li::before{content:none}
html body[data-s=business] #main .bz .content-list li{padding:12px 0;margin:0}
html body[data-s=business] #main .bz article .field-note p{font-size:14px;line-height:1.58;margin:0;max-width:none}

/* 40. Calculator result rows (`.tool .tr dl>div`, Business `/business/tools`; the same template is used by the Trade tools page): the value split from its
   currency — "Revenue at break-even" read "ETB" on one line and "625,000.00" on the next. Each row is a flex line (`mobile-v4.css:80`, gap 12px, no wrap);
   the label (`dt`) kept its full 153px and the value (`dd`) was shrunk into the 111px left over, so it broke between "ETB" and the number. A figure must never
   break from its unit: the value is `nowrap`, does not shrink and sits at the right end. The LABEL is what flexes: it takes the remaining width (and may wrap
   to two lines, as it did before) with a 7.5em basis, and the row now wraps, so when label + value cannot fit on one line (a 9-digit input at 320px) the value
   drops under its label, right-aligned, instead of squeezing the label to a few letters. Same specificity as the rules it sits next to, later in the cascade. */
html body #main .tool .tr dl>div{flex-wrap:wrap;row-gap:2px}
html body #main .tool .tr dt{flex:1 1 7.5em;min-width:0}
html body #main .tool .tr dd{white-space:nowrap;flex:0 0 auto;margin-left:auto}

/* 41. Trade product cards (`a.pc2`: `/trade/products`, every `/trade/category/<slug>`, "More in <family>" on product pages). Two defects on phones (<=760px, 2-up cards):
   (a) THREE LEFT EDGES. Photo at 8px, the "View product details" hairline at 18px (10px margin) and the title/description at 22px (`mobile-v2.css:230-231` adds a 4px
       margin on top of the 10px padding that `style.css` already gives them). Desktop has one inset (10px, text and hairline together), so phones were the only widths where the
       text did not line up with its own rule. Now the title, description and hairline all start 6px inside the photo edge, which also widens the text column from 123px to 139px
       at 390 (88px -> 104px at 320) — the narrow column was what made the balanced lines break so raggedly ("Green Coffee, / Honey / Process (Arabica)").
   (b) The description was 13px / 1.42, the smallest running text on the page and the same size mismatch fixes 24/51/55 corrected on the other card families -> 14px / 1.5.
   `!important` where the rules it overrides are `!important`. Scoped to Trade (`.pc2` is only used there). Desktop untouched (measured: one inset at 1440 and 800). */
@media (max-width:760px){
  html body[data-s=trade] #main .pc2 :is(h3,p){margin-inline:0!important;padding-inline:6px}
  html body[data-s=trade] #main .pc2 p{font-size:14px!important;line-height:1.5!important}
  html body[data-s=trade] #main .pc2 .pc2-action{margin-inline:6px}
}

/* 42. Doubled hairlines between sections (`/support/relocation`, all 6 sections; found with the new `_qa/dblrule.py`). `.guide-article` draws its own bottom rule (`style.css:249`) and its LAST child,
   `.content-block` ("Practical starting points"), draws one too (`style.css:241`, `border-bottom` + 25px padding) — two parallel rules 29px apart at 390 (37px at 1440) between every pair of sections.
   In the first section the same block is followed by the "Official Ethiopian government references" `<details>`, which has its own top rule, so there were three rules in ~90px.
   The article's rule and the details' rule are the ones that mean something; the content block's is dropped (and its bottom padding, so the space above the rule equals the space below it).
   Sitewide on purpose: `.guide-article` always has the article rule. Same bug family as fix 30 (Planner "Planning tip") and the curling hairlines of fixes 21/23/53. */
html body #main .guide-article>.content-block:last-child{border-bottom:0;padding-bottom:0}
html body #main .guide-article>.content-block:has(+.resource-details){border-bottom:0;padding-bottom:0}

/* 43. Support card paragraphs were 13px — the smallest running text on the page (found with the new `_qa/smalltext.py`, which lists paragraph text under 14px by element family).
   Three families, three rules that each set 13px: the 7 service cards on `/support` (`#main .sc p`, `style.css:1902`, all widths), the service-chooser detail panel
   (`.support-choice-grid+.fdp .fdi p`, `style.css:2509`, all widths) and the guide cards — "Relocation" cards on `/support` and "Related services" on every
   `/support/service/<slug>` (`.guide-card p`, `style.css:892`, phones only; desktop was already 14px). Same fix as 24/51/55/59: 14px / 1.6, Support only. None of the rules it beats is `!important`. */
html body[data-s=support] #main :is(a.sc>p,.fdi p,article.guide-card>p){font-size:14px;line-height:1.6}

/* 44. Trade card paragraphs (found by `_qa/smalltext.py`, same family as fixes 24/51/55/59/62).
   (a) `/trade/origins` ("Ask for lot-level detail" x3) and `/trade/markets` (4 "Beyond sourcing" cards): `article.guide-card>p` was 13px on phones (`style.css:892`) -> 14px / 1.6, the size Support's identical cards got in fix 62.
   (b) The 8 product-family photo cards on the `/trade` landing: their description sat at 12px on phones (`style.css:2635`; 13px on desktop). These are overlay cards (white text on the photo scrim, fixed 2-up composition),
       so they get the desktop size, 13px / 1.45, rather than 14px — measured below for clipping at 390/360/320. Neither rule it beats is `!important`. Trade only. */
html body[data-s=trade] #main article.guide-card>p{font-size:14px;line-height:1.6}
@media (max-width:760px){
  html body[data-s=trade] #main .trade-family-grid .mos-desc{font-size:13px;line-height:1.45}
}

/* 45. Group sub-pages: `.guide-card` paragraphs were 13px on phones (`/group/about` 9 cards, `/group/sectors` 10, `/group/partnerships` 10 — found by `_qa/smalltext.py`). The base rule is 14px (`style.css:239`); the
   odd one out is the phone-only `.guide-card p{font-size:13px}` at `style.css:892`, which fixes 38/62/63 already overrode per division. Now one sitewide statement of what the base rule always meant: guide-card
   paragraphs (`article.guide-card>p` and `a.guide-card>p`) are 14px / 1.6 at every width, on every division (Business/Support/Trade rules above stay, now redundant but harmless). The Business value/why cards use
   `.guide-card-body p` (not a direct child), so fix 51's own rule is untouched. */
html body[data-s] #main :is(a.guide-card,article.guide-card)>p{font-size:14px;line-height:1.6}

/* 46. Home / Group landing, phones (<=760px): the 5 service-card descriptions (`.group-service-content>p`, white on the photo scrim, `style.css:1364`) and the three "How MENGED works"
   trust-card lines (`article.in>p`, e.g. "You see the proposed scope, provider, timing, price…") were 13px — the smallest running text on the first page a visitor sees (`_qa/smalltext.py`: 5+5+3 hits at 390,
   0 at 1440, where the desktop rules already give a larger size, hence phones only so nothing shrinks). Now 14px / 1.55. The service cards have `min-height` + `overflow:hidden` and grow to their content
   (the Trade card is already 305px against its 300px minimum), measured below for clipping. Group home only. */
@media (max-width:760px){
  html body[data-s=group] #main article.in>p{font-size:14px;line-height:1.55}
  /* The cards' own phone rules out-rank a plain selector: non-feature cards by specificity (`style.css:1843`, (1,3,1)), the feature card by `!important` (`style.css:3688/3901`). Match both. */
  html body[data-s=group] #main .group-service:not(.group-service-feature) .group-service-content>p{font-size:14px;line-height:1.55}
  html body[data-s=group] #main .group-service.group-service-feature .group-service-content>p{font-size:14px!important;line-height:1.6!important}
}

/* 47. Tours stay cards (`.stc-body>p`: the 3 on `/tours`, the 12 on `/tours/stays`, same card on related-stay lists): the description was the smallest running text in the card — 13.5px / 1.62 on phones
   (`mobile.css:78`, `!important`, which also still carries a line-clamp that `final-fixes.css` rule 1 already cancels) and 13px on desktop (`style.css`) — the same mismatch as fixes 24/51/55/59/62-65.
   (First draft of this rule was phones-only on the assumption desktop was already larger: `_qa/smalltext.py` at 1440 showed 13px there too, so it applies at every width.) 14px / 1.6 like the other card families;
   `!important` is needed to beat `mobile.css:78`. Tours only. */
html body[data-s=tours] #main .stc-body>p{font-size:14px!important;line-height:1.6!important}

/* 48. Trade `/trade/process`, dark "Before payment" card: two headings stacked with nothing between them — the card title ("Every important detail, documented for you.") and, directly under it, the title of the
   list block it wraps ("What MENGED documents for you", the generic `bulletBlock()` h3, `app.js:183`) — which only restates the first. Seen at 390 and 1440 (21px Fraunces both). The only place the markup
   nests a `bulletBlock` straight under a `.side` title (the other `.side` card on the site holds a paragraph). The inner heading is kept in the DOM — still the list's accessible name, text untouched —
   and made visually hidden; the card then reads title -> list. Structural selector, not route-scoped, so it also covers any future card built the same way. */
html body #main aside.side>h3+.content-block>h3:first-child{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}

/* 49. List markers had ~1.6:1 contrast on two surfaces (found with the new `_qa/markers.py`, which lists `li::marker` colours under 3:1 against the nearest solid background). One cause: `style.css:1861`
   `#main .content-list li::marker{color:var(--acc)}` paints every bullet in the division accent, and the accent is wrong on both: (a) Tours' accent is the dark-surface pale gold (#e9bd69) — on the cream
   `.content-block` lists it is 1.6:1 (`/tours/stays` "What we coordinate", `/tours/d/<slug>` "Entry arrangements…", every Tours content list); (b) Trade's accent is a mid forest green (#326c4f) — inside the dark
   `aside.side` card on `/trade/process` ("What MENGED documents for you") it is 1.6:1 on #1d4938. Tours light surfaces now use the deep bronze fix 15 already uses for Tours text (#7a5518, 6.1:1 on the cream);
   the dark `.side` card uses the site gold (`--gold` #D6A64E, 4.6:1, the same gold as the bullets in the "Helpful to include" list on the same page). Other divisions' bullets already passed (sweep of 28 routes), untouched.
   The `.side` rule is more specific than the Tours one on purpose, so a dark card on a Tours page keeps gold. */
html body[data-s=tours] #main .content-list li::marker{color:#7a5518}
html body #main aside.side .content-list li::marker{color:var(--gold,#D6A64E)}

/* 50. Tours events calendar, today's cell: the day number (`b`, 15px bold) and the Ethiopian date (`.ethd`, 12px italic) were #9a6e26 on the cell's cream (247,244,236) = 4.12:1 — under the 4.5:1 that text this
   small needs (found by `_qa/contrast.py 4.5 /tours/events`; the rule at section ~26 above assumed a white card, where it is ~4.5). Both now use the deep bronze #7a5518 (6.1:1 on the cream) that fix 15 already uses
   for small Tours text. Only the TEXT changes: the inset ring (`box-shadow`) and the event dots stay #9a6e26 — non-text graphics need 3:1 and have 4.1:1. The large numerals elsewhere that use #9a6e26 (34-48px:
   `.rows .row>.d`, `.nev-n b`, `.ev b`) pass the 3:1 large-text bar at 4.1-4.5:1 and are left as they are. Same specificity as the rule it replaces, later in the file. */
html body[data-s=tours] #main .cd.td:not(.sel) b,
html body[data-s=tours] #main .cd.td:not(.sel) .ethd{color:#7a5518}

/* 51. Muted text greys were 0.0x-0.7 short of AA on the cream surfaces, and the real figure is lower than the CSS arithmetic. Found by `_qa/contrast.py 4.5` over Cars / Business / Group at 390, then measured
   from PIXELS with the new `_qa/bgsample.py`: `body::after` (style.css) is a fixed full-page grain overlay (`mix-blend-mode:multiply`, opacity .05, z-index 9998) that renders every background ~2.7% darker (and the
   text with it), and the Cars landing sits on a cream-to-warm gradient that bottoms out at ~(222,218,210). Rendered ratios before: Cars `--mut` #6b6f74 3.8 (hero eyebrow, 12px) / 4.1 (quote lede) / 4.4 (flat cream);
   `.quote-form-note` #69766d 4.2; `/request` `.date-hint` #69756e 4.37 and the 7 type-chooser `small` labels (`--meng-muted` #68736d) 4.48.
   - Cars `--mut` -> #5d6166 (4.7 on the hero gradient's darkest mode, 5.4 on flat cream; still a quiet grey). `--mut` is the token for Cars' eyebrows, ledes, table heads and notes, so one value fixes all of them.
   - `.quote-form-note` (hard-coded #69766d at `style.css:2680`) -> `var(--mut)`.
   - `--meng-muted` -> #5a655f, the colour fix 39 already gave `.resource-details summary` (5.4 on cream). The token has exactly two users, both on light surfaces (`.ty small`, `.resource-details summary`).
   - `.date-hint`/`.direct-note` (hard-coded #69756e `!important` at `style.css:1585`) -> #5a655f. */
body[data-s="cars"]{--mut:#5d6166}
html body[data-s=cars] .quote-form-note{color:var(--mut)}
:root{--meng-muted:#5a655f}
html body #main :is(.date-hint,.direct-note){color:#5a655f!important}

/* 52. Quote form "Your request has not been sent yet." card — the three fallback contact links (email + two phone numbers) were 32px tall on phones.
   Today this is the ONLY outcome a visitor can reach (`requestEndpoint` is empty), so these links are the primary way to reach MENGED from a phone; 44px is the comfortable tap size (the audit floor is 36px).
   Measured at 390: each link 32px high (16px text, no padding). Phones only (<=520px, where the links are already stacked in a column — same breakpoint as `style.css:2806`); the desktop inline row with the "·" separators is untouched.
   Centred flex box keeps the text and its underline exactly where they were; no change to colour or wording. NO side padding on purpose: 12px each side made the 287px email wrap at 360 (it fits on one line there without). At 320 it still has to wrap; `showRequestFailure()` now puts a <wbr> before the "@" so it breaks as "…mengedgroup" / "@gmail.com" instead of mid-word ("gma" / "il.com"). */
@media(max-width:520px){
  html body #main .rq-failure-contact a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0;text-align:center}
}

/* 53. Business hero eyebrow (`section.bh .eye`, 12px caps: "Investment research · Market …") on desktop. Above 1024px it takes the base eyebrow colour, brass #86672a; below that a muted green. The hero sits on a
   cream gradient, and measured from PIXELS (`_qa/bgsample.py 1440 /business 'section.bh .eye|Investment'`) the brass is 4.75:1 on the typical background but only 4.09:1 over the darker part of the gradient —
   under the 4.5:1 that 12px text needs. Now the deep bronze #7a5518 (the colour fixes 15, 68 and 69 use for small text on cream), only >=1025px so the phone/tablet colour is untouched. The 28px ornament
   line before the text follows currentColor, so it darkens with it. The hero paragraphs and the source note (#56645b) were checked in the same pass: 5.6:1 typical, 4.7:1 worst — they pass and are left alone. */
@media(min-width:1025px){
  html body[data-s=business] #main section.bh .eye{color:#7a5518}
}

/* 54. Quote form helper line under the details textarea ("Optional. Share only what matters for your journey.", `small.field-hint`, 12px) was #627468 (`style.css:3993`) = 4.53:1 by DOM arithmetic, ~4.4 once the
   grain overlay's 2.7% darkening is counted (see fix 70) — under the 4.5:1 that 12px text needs. Same family as the `.date-hint` line two fields below it, which fix 70 already moved to #5a655f (5.4 on cream);
   the two helper lines now match. Only the colour changes. Found by `CW=1440 python3 _qa/contrast.py 4.8 "/request?type=transport"` (the 4.5 sweeps in fix 70 ran at 390 on other routes and missed it by 0.03). */
html body #main .field-hint{color:#5a655f}

/* 55. Focused field that is also invalid (quote form step 2: Send with no email/phone -> focus lands on the email field): the border was red (`style.css:5244`, `input[aria-invalid=true]`) but the focus halo was the generic GREEN one
   (`style.css:2202`, `input:focus{box-shadow:0 0 0 4px rgba(29,73,56,.12)!important}`), which out-ranks the invalid rule's own red halo (no `!important`). Result at 1440 and 390: a red 1px border inside a 4px grey-green band -- it reads as a grey frame and
   mixes "focused" with "error". Now a focused invalid field keeps the same 4px halo size but in the error red, so the halo and the border say the same thing (`!important` is needed to beat `style.css:2202`). */
html body #main :is(input,select,textarea)[aria-invalid=true]:focus{box-shadow:0 0 0 4px rgba(180,61,45,.16)!important}

/* 56. Quote form request-type tiles on phones (<=640px): a two-tile group (Journeys + Places to stay, shown for `?type=tour` and `?type=stay`) rendered as ONE half-width tile alone on its row and ONE full-width tile below it
   (measured at 390: 171px + 350px, different left/right edges, empty space beside the first). Cause: `style.css:1733` `@media(max-width:640px){.types .ty:last-child{grid-column:1/-1}}` spans the last tile whatever its position; the
   intent (an orphan in the 2-column grid, e.g. the 7th \"Something else\" tile in the no-type chooser, or a lone selected tile) is already covered by the `:nth-child(odd)` rules at `style.css:4776/4778`. So a last tile in an EVEN position
   (the 2nd of a pair, the 4th ...) goes back to its normal cell -> the pair sits side by side, 171 + 171, like the no-type grid. A lone tile (position 1) and the 7-tile chooser (position 7) are odd, so they still span. Sits after `style.css`, higher specificity, no `!important` needed. */
@media(max-width:640px){
  html body #main .types .ty:last-child:nth-child(even){grid-column:auto}
}

/* 57. Quote form \"Looking for something else? Explore A · B · C · D\" (`.rq-other-sectors`): the links were joined with ` · ` text between them, so when the line wrapped a separator could START a line (390: \"· Trade & sourcing · Business & investment ·\"
   with a dot hanging at both ends). Each link now travels with its own trailing dot inside `.rq-os` (`app.js` `otherSectorsNote`), and `.rq-os` is `white-space:nowrap`, so lines can only break AFTER a dot -- a dot may end a line, never begin one.
   The dot is `aria-hidden`, so assistive tech reads four clean links instead of \"middle dot\" between them. Wording unchanged. */
.rq-os{white-space:nowrap}

/* 58. Quote form free-text "details" field (`textarea#c1`). It was a single-line `<input>` on the Trade / Business / Support / Stay / fallback forms (`extra()` in `app.js`), so the example
   placeholder (\"e.g. grade, volume, origin, packaging or destination\") was clipped at 390 and a longer note had nowhere to wrap. Those forms now use the same `<textarea id=c1 rows=3>` the Cars form
   already had (`extraTA()`, `app.js`); the existing `style.css:3994` rule styles it, but it sets `font:500 13px` with `!important` -- the only control on the form under 16px (inputs and selects are 16px),
   so iOS would zoom the page when it is focused. 16px at every width, same family as the other controls (fixes 40 / 56 kept 16px for the same reason). Layout, border, radius and focus ring are untouched. */
html body #main textarea#c1{font-size:16px!important;line-height:1.5!important}

/* 59. Select face (fix 82). Companion to `js/modules/select-face.js`: every `<select>` in #main is wrapped in `.sel-x` (one grid cell) with a wrapping text `.sel-face` painted over it, because a native
   select cannot wrap its closed-state text (Russian topics, planner lists and the VAT list were cut with an ellipsis). The real select stays on top: same box, border, focus ring, native picker, value and events - only its own text
   (and native arrow) are hidden; the face draws the text (copied font / padding / colour) and a chevron. The select stretches to the face's height, so 2-3 lines of text grow the control instead of clipping. */
html body #main .sel-x{position:relative;display:grid;width:100%;min-width:0;max-width:100%}
html body #main .sel-x>select{grid-area:1/1;align-self:stretch;position:relative;z-index:1;width:100%!important;max-width:none!important;height:auto!important;margin:0!important;
  -webkit-appearance:none!important;appearance:none!important;background-image:none!important;color:transparent!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important;text-overflow:clip!important;cursor:pointer}
html body #main .sel-x>select option{color:#19231e;-webkit-text-fill-color:#19231e;background:#fff}
html body #main .sel-face{grid-area:1/1;z-index:2;position:relative;box-sizing:border-box;display:flex;align-items:center;min-width:0;pointer-events:none;border-style:solid;border-color:transparent;padding-right:42px!important;text-align:left;text-transform:none}
html body #main .sel-t{display:block;min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal}
html body #main .sel-face.is-ph .sel-t{opacity:.8}
html body #main .sel-face::after{content:"";position:absolute;right:16px;top:50%;width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-72%) rotate(45deg);opacity:.7}
html body #main .sel-x:has(>select:disabled) .sel-face{opacity:.55}
@media (forced-colors:active){
  html body #main .sel-face{display:none}
  html body #main .sel-x>select{-webkit-appearance:auto!important;appearance:auto!important;color:FieldText!important;-webkit-text-fill-color:FieldText!important}
}

/* 60. Placeholder text was far below AA on every light field (fix 83). Measured from the rendered ::placeholder (colour x opacity over the control's own background, `_qa/placeholder.py`): single-line inputs 2.32:1
   (Cars landing 2.21) and the quote-form textarea 3.93:1. Cause: `style.css:3585` sets #7a857e, then `style.css:5260` multiplies it by `opacity:.68` (so the pale grey is faded a second time); the textarea has its own #768379 (`style.css:3996`).
   One rule now: placeholder = the field's own text colour at 70% (`color-mix`), full opacity -> ~6:1 on the light fields, and it follows the field onto dark cards (light text stays light) instead of being a fixed grey.
   Plain #5a655f first as the fallback for a browser without color-mix. Still clearly lighter than typed text (16:1). Covers the Cars landing quote fields, the quote form, search boxes and the planner. */
html body #main :is(input,textarea)::placeholder,html body #main textarea#c1::placeholder,html body[data-s="cars"] #main .qf-field input::placeholder{color:#5a655f;opacity:1}
@supports (color:color-mix(in srgb,red 50%,blue)){
  html body #main :is(input,textarea)::placeholder,html body #main textarea#c1::placeholder,html body[data-s="cars"] #main .qf-field input::placeholder{color:color-mix(in srgb,currentColor 70%,transparent)}
}

/* 61. Trade family shortcut chips (`/trade/products`, fix 84). At 1440 "Grains, seeds & pulses", "Frankincense & natural resins", "Honey & beeswax", "Textiles & handicrafts" and "Leather & leather goods" were spread across the chip as four columns with 40-90px holes around the "&": the chip is `display:flex; justify-content:space-between` (`style.css:2593`) and the text pieces on either side of the `.upright-amp` span are anonymous flex items, so space-between pulled each one apart. The "&" was also drawn 12px / muted grey (`style.css:2610` styles every span in the chip). The title is now ONE element (`.pfs-t`, `app.js`) so it flows as a normal sentence, with the "Explore" cue (`.pfs-go`) alone on the right. Phones are untouched: `mobile-v2.css:222-225` already turns the chips into wrapping pills and hides the last span. */
@media (min-width:761px){
html body #main .product-family-shortcuts a>.pfs-t{flex:1 1 auto;min-width:0;color:inherit;font-size:inherit;font-weight:inherit;white-space:normal;text-align:left}
html body #main .product-family-shortcuts a>.pfs-t .upright-amp{color:inherit;font-size:1em;font-weight:inherit;margin:0}
html body #main .product-family-shortcuts a>.pfs-go{flex:0 0 auto}
}

/* 62. Detail-page hero lost its clearance under the fixed header on laptops/desktops (fix 85). `/trade/p/<slug>` and `/cars/v/<slug>` start with `<section class=vh>`, which relies on `.vh{padding-top:140px}` (`style.css:152`) to sit below the 75-81px fixed header. The "section rhythm" rule in section 5 (`#main > section:not(.hero)... {padding-block:var(--mg-sec)}`) replaces that with `clamp(64px,6.2vw,96px)` from ~1100px up, so the first line of the page sat 3px (vehicle) / -7px (product, i.e. UNDER the header) at 1100, 2-13px at 1280, 12-23px at 1440 and 15-25px at 1920 below the header, vs a steady 59-74px at 1024 and on every other page (measured: header bottom vs top of the first eyebrow / photo card). The product photo card nearly touched the nav bar. Restores the 140px top padding for `.vh` only (header + ~60px, the same breathing room as the other Trade/Cars pages); bottom padding keeps the section rhythm. */
@media (min-width:961px){
  html body[data-s] #main > section.vh:not(.hero):not([class*="hero"]){padding-top:140px}
}

/* 63. Atlas sidebar headline was far too big for its column on desktop (fix 86). `/trade/origins` ("Where it grows.") and `/tours/atlas` put an h1 in the 340px sidebar of the `.atl` map layout; the global h1 size (82px at 1440, `style.css:543`, `!important`, so this rule needs `!important` too) left a 283px text column that broke it over 2-3 lines (187px / 251px tall, 1.14 line-height on Trade) -- on a 100svh sidebar that pushed the list of regions/places below the fold (only ~4 of 15 origins visible without scrolling the sidebar) and made it 17% larger than every other page headline (70px). Scoped to the sidebar, only where the layout is two columns (>=981px, where `.atl` becomes two columns; the single-column layout below that is untouched): clamp(40px, 3.6vw, 54px) / 1.04, tighter margins -- two short lines at 1440, the same display face and tracking as the other headlines. */
@media (min-width:981px){
  html body[data-s] #main .atl aside h1{font-size:clamp(40px,3.6vw,54px)!important;line-height:1.04!important;margin:10px 0 14px!important}
}

/* 64. Costing tools: form and result side by side on desktop (fix 87). The tool card (`.tool`, `/trade/tools` and `/business/tools`: Landed-cost, VAT, Break-even) is styled by `mobile-v4.css:55-91` at EVERY width (`display:block!important`), so at 1440 each short numeric field ("Duty rate 10") was a 1,170px-wide input, five of them stacked, with the dark result card another full-width block underneath -- the result sat ~600px below the heading and the first number you change. From 1000px the form (`.tf`) and the result (`.tr`) now share one row (1.1fr / 1fr); heading/intro stay on top; phones and tablets keep the stacked mobile layout exactly as before. */
@media (min-width:1000px){
  html body #main .tool .tl2{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start}
  html body #main .tool .tl2>.tf,html body #main .tool .tl2>.tr{margin:0!important;min-width:0}
}

/* 65. Sourcing process: five stages on one row, and one left edge (fix 88). `/trade/process` has FIVE `.step`s in a 3-column grid, so at 1440 stages 04 and 05 wrapped onto a second row with an empty third cell, and stage 04 -- the first cell of that row -- was indented 24px (`style.css:636`, `.step+.step{padding-left:24px}` hits every step but the first, even one that starts a row) so "04 / Prepare the shipment file" started at x=124 while "01 / Describe the requirement" above it started at x=100. From 1280px the five stages now sit on ONE row (01 -> 05 reads as a sequence, no orphan); from 961px to 1279px (still 3 columns) a stage that starts a row gets no left padding so every row shares the left edge. The single-column layouts (<=960px) are untouched. Scoped to this route (`body[data-p="trade/process"]`), the only page that renders `.steps` with five items. */
@media (min-width:961px){
  html body[data-p="trade/process"] #main .steps .step:nth-child(3n+1){padding-left:0}
}
@media (min-width:1280px){
  html body[data-p="trade/process"] #main .steps{grid-template-columns:repeat(5,minmax(0,1fr))}
  html body[data-p="trade/process"] #main .steps .step:nth-child(3n+1){padding-left:24px}
  html body[data-p="trade/process"] #main .steps .step:first-child{padding-left:0}
  html body[data-p="trade/process"] #main .steps .step:nth-child(4){border-right:1px solid var(--line)}
  html body[data-p="trade/process"] #main .steps .step h3{font-size:22px!important;line-height:1.2}
}

/* 66. CTA "Helpful to include" list with an odd number of items (fix 89). The list (`.cta-inc ul`, `group.css:14`) is a 2-column grid under a CENTRED heading and CENTRED button, so the three-item lists on Trade ("Product, grade and quantity" / "Export or import, origin and destination" / "Deadline and target price if known"), Business, Cars and Support ("What you need done and where" / "Dates and deadlines" / "Any procurement, logistics or delegation needs") filled row 1 and left the third item alone at the bottom-left, wrapped onto two lines inside a 340px column (measured on `/support/how` at 1440: items at x=340 / 734 / 340, the third 51px tall) -- a lopsided block under centred content. For an odd count the list now becomes centred wrapping rows (flex, `justify-content:center`): two items on the first row, the third centred below on one line. Even counts (the 4-item Group / Business-pathway / Trade-markets CTAs) keep the aligned 2 x 2 grid. Desktop/tablet only (>=761px); phones keep the single left-aligned column (`group.css:17`). */
@media (min-width:761px){
  html body[data-s] #main section.cta .cta-inc ul:has(>li:last-child:nth-child(odd)){display:flex;flex-wrap:wrap;justify-content:center;gap:10px 40px}
}

/* 67. Support service pages: the dark "Start with the outcome you need." card ran its paragraph straight into the request button (fix 91). On `/support/service/<slug>` (seven pages) the side card (`aside.side`) is `eyebrow / h3 / p / .btn.lt / two text links`; the paragraph has no bottom margin and the button no top margin, so measured at 1440 the paragraph's box ended at y=980 and the button began at y=980 (0px; the last text line sat ~14px above the button), while every other step in the card is spaced 12-33px (h3 -> p 18px, button -> link 12px, link -> link 12px). Same family as fix 10 (`.field-note + .btn`). Desktop/tablet only: on phones the card already measured fine (`_qa/btnabove.py 390`), so the extra space is not added there. Scoped to Support. */
@media (min-width:761px){
  html body[data-s=support] #main .side>p+.btn{margin-top:22px}
}

/* 68. Footer wordmark clipped its last letter on Business (and, wider than 1460px, Support) (fix 92). The faded "MENGED <DIVISION>" wordmark (`footer .big`, `style.css:4020`) is `font-size: clamp(54px, 10.5vw, 158px)` for every division, but the words differ in length: measured with `_qa/bigmark.py`, "MENGED BUSINESS" is 8.43em wide and "MENGED SUPPORT" 8.09em, against a content box that stops growing at 1240px. So at 1440 the Business text was 1274px in a 1240px box (the `overflow:hidden` on `.big` cut the final "S" in half, 34px over) and 1331px at >=1505px (91px over); Support went 38px over from ~1460px. Group / Tours / Trade / Cars are shorter words and never clip. Fix: cap the size per division so the longest word always fits with room to spare -- Business 144px (1213px of text in 1240), Support 150px (1213px). Below ~1400px the vw term is the smaller value, so nothing changes there; the other four divisions are untouched. */
html body[data-s=business] footer .big{font-size:clamp(54px,10.5vw,144px)!important}
html body[data-s=support] footer .big{font-size:clamp(54px,10.5vw,150px)!important}

/* 69. Cars footer + dark bands: gold-on-dark accents were graphite on forest (fix 93). Section 10 maps Cars' `--gold` to `--sp-secondary` (graphite #3A3F45) so light-surface accents stay quiet, but every rule that paints `var(--gold)` on a DARK surface inherited that too: measured on /cars/* at 390 and 1440 -- the footer's "MENGED Group" link (`.fc-group-parent`, style.css:3090, `!important`) and, at 390, "Contact MENGED" (`.fc-contact-primary`, style.css:1533, `!important`) were rgb(58,63,69) on #13281f (~1.5:1, effectively invisible), the footer link hover colour (style.css:1531) would vanish the same way, and the "Helpful to include" bullets + the gold eyebrow rule in the green CTA band were graphite on forest. Trade / Business / Support / Tours / Group were checked: their `--gold` is a real gold, only Cars was affected. Fix: on Cars, dark containers get the shared brand gold #D6A64E as `--gold`, so every `var(--gold)` inside them resolves to a visible colour; light-surface uses (field-note rule, hero eyebrow rule) are untouched. */
html body[data-s=cars] :is(footer,#foot,section.cta,.dark,#menu){--gold:#D6A64E}

/* 70. "Four steps" cards on /cars/how, /trade/how, /support/how had no step numbers and were cramped on phones (fix 94). The template (`how()`, app.js:376) emits `<div class=st4><h3>..</h3><p>..</p></div>`; the legacy `.st4 b` numeral rule (style.css:155) has had no `<b>` to style since the markup changed, so a page titled "Four steps" showed four unlabeled cards. Numbers now come from a CSS counter (no markup / copy change): small bronze "01-04" over the title, bronze #7a5518 (6.1:1 on the card). On phones (<=560px) the 2x2 grid left a 116px text column (card 168px - 2x26px padding; the 4th title wrapped to 3 lines and its paragraph to 7), so the cards stack in one column with 20px/22px padding. >=561px keeps the existing grids. */
.steps4{counter-reset:st4}
.steps4>.st4{counter-increment:st4}
.steps4>.st4::before{content:counter(st4,decimal-leading-zero);display:block;margin:0 0 12px;font:600 13px/1 var(--sans,Inter,system-ui,sans-serif);letter-spacing:.14em;color:#7a5518}
@media (max-width:560px){
  html body #main .steps4{grid-template-columns:1fr!important;gap:12px}
  html body #main .steps4>.st4{padding:20px 22px}
}

/* 71. Business guide "Which route may suit you?" grid: a 7-card guide left the last card alone at the row's start, with a wide empty gap beside it (fix 98). `.structure-grid` (`style.css:1134`) is a plain CSS grid: 3 columns from 1080px, 2 from 621-1079px, 1 below. `/business/g/company-formation` is the only guide with a `fit` array (`content.js`, `businessGuides['company-formation'].fit`) and it has SEVEN cards, so at 1440 the 7th card ("Branch of an overseas company") sat alone at the start of row 3, left-aligned, with ~790px of empty space beside it -- the same orphan-row pattern as fix 89's CTA list, but here the column count itself changes by breakpoint so that fix's technique doesn't transfer directly. `nth-child(3n+1):last-child` / `nth-child(2n+1):last-child` selects only a card that both starts a new row AND is the last card -- i.e. exactly the stranded case -- so a 6- or 8-card guide (if one is added later) is untouched. At 3 columns it is centred under the middle track; at 2 columns it spans the row and is capped to one column's width, centred. Single-column phones (<=620px) already stack every card full-width, so nothing changes there. */
@media(min-width:1080px){
  .structure-grid>.structure-card:nth-child(3n+1):last-child{grid-column:2}
}
@media(min-width:621px) and (max-width:1079px){
  .structure-grid>.structure-card:nth-child(2n+1):last-child{grid-column:1/-1;max-width:calc(50% - 6px);justify-self:center}
}

/* 72. Tours layover + landmark heroes: on laptop screens the breadcrumb and eyebrow were CUT OFF at the top of the hero (fix 100). Both heroes are bottom-aligned flex boxes with a FIXED height (`body[data-p="tours/layover"] .dh{height:72svh}`, `style.css:5020`; `.lm-guide-hero{height:min(82svh,900px)}`, `brand.css:139`) and `overflow:hidden` (`style.css:116`), so when the content (breadcrumb + eyebrow + a three-line 94px headline + paragraph + two buttons = ~690px on the layover) is taller than the box, it grows UPWARD under the fixed header and is clipped by the hero's top edge. Measured from the header's bottom edge to the first hero element: layover -69px at 1440x900, -149 at 1366x768, -167 at 1280x720 (even the eyebrow and the first headline line hidden), 41 at 1920x1080; landmark pages (35, one template) +21 at 1440x900, -74 at 1366x768, -97 at 1280x720. Fix: the fixed height becomes a MINIMUM height (same value, so a hero whose content fits is exactly as tall as before) and the hero reserves 112px at the top for the header (header is 74-81px), so it grows downward instead. Layover from 621px up (phones <=620px already use `height:auto`, `style.css:5152`); landmark from 761px up (`brand.css:177` already does it below that). Destination pages share `.dh` but never overflowed (>=+178px at every size tested), so they are left alone. */
@media (min-width:621px){
  html body[data-p="tours/layover"] #main .dh{height:auto;min-height:max(460px,72svh);padding-top:112px}
}
@media (min-width:761px){
  html body[data-s=tours] #main .lm-guide-hero{height:auto;min-height:max(570px,min(82svh,900px));padding-top:112px}
}

/* 73. Travel guide topic chips (`/tours/guides`, `nav.guide-index`): at desktop widths only 5 of the 7 chips were reachable (fix 101). The rail is a horizontal scroller (`overflow-x:auto`, `style.css:2373`) with a near-invisible 30%-grey thin scrollbar and fixed 230px chips: 7 chips = 1,670px inside a 1,240px box at 1440, so the 6th chip was cut mid-word ("Make ' plan p...") and the 7th ("Calendar & local time") was completely off-screen -- a mouse user has no cue and no easy way to scroll sideways. Measured: 4 of 7 fully visible at 1100, 4 at 900, 3 at 768. A horizontal rail is the right pattern on a touch phone, not on a laptop, so from 761px up the chips wrap onto equal-width rows (4 per row, the last row of 3 centred -- same orphan-row treatment as fixes 89 / 98). Only `/tours/guides` uses `.guide-index` (`app.js` `guides()`), and the rule is scoped to `body[data-s=tours]`. Phones (<=760px) keep the scroller. */
@media (min-width:761px){
  html body[data-s=tours] #main .guide-index{flex-wrap:wrap;justify-content:center;overflow:visible;scroll-snap-type:none;padding:2px 0 4px}
  html body[data-s=tours] #main .guide-index-link,
  html body[data-s=tours] #main .guide-index-link.guide-tool-link{flex:0 0 calc((100% - 24px)/4 - .5px)}
}

/* 74. Atlas sidebar (`/tours/atlas`, `/trade/origins`, shared `.atl` layout): the place list was a scroller INSIDE a scrolling sidebar, with a third of its window under the sidebar's fold (fix 102). `style.css:1221` sizes the list `max-height:calc(100vh - 320px)` assuming the heading, intro and search above it take 320px; they take ~460px, so on every laptop size 250-285px of the list's own scroll window sat below the aside's bottom edge (Atlas: 276 / 270 / 264 / 256px at 1920x1080 / 1440x900 / 1366x768 / 1280x720; Trade origins 89-162px). Only 184px (under 2 rows) of the list was visible at 1366x768 and 144px (1.4 rows) at 1280x720, and the wheel was captured by the inner list while the sidebar's own scrollbar was a second, hidden one -- the same "scroll trap" family as `mobile-v3.css` rule 9 for phones. From 981px (where `.atl` is the two-column layout; `style.css:2440` stacks it below) the inner list no longer scrolls on its own: the sidebar (`.atl aside{overflow:auto}`, `style.css:137`) is the only scroller, so scrolling moves the intro out of the way and the list gets the sidebar's whole height. The "more below" fade (`mobile-v3.css` rule 9, toggled by `mobile-v3.js` `cue()`) is switched off here because it would paint at the bottom of a ~9,600px list. No JS depends on the list scrolling itself (`app.js` only filters `li[hidden]` and flies the map on click). Phones/tablets (<=980px) are untouched. */
@media (min-width:981px){
  html body #main .atl aside ul#al{max-height:none!important;overflow:visible!important;-webkit-mask-image:none!important;mask-image:none!important}
}

/* 75. Destination pages (`/tours/d/<slug>`): a stay card stranded alone at the start of the last row (fix 104). The "Where to stay" grid `.stg` is auto-fit with a 300px minimum (`menged-unified.css:359`) -> 3 columns from ~1030px, 2 columns 761-1029px, 1 below (measured by resizing; container 940px is the 3-column threshold). Destinations carry 1 to 6 stays (Addis Ababa / Lalibela / Bahir Dar / Lake Langano 6, Awash 5, Omo Valley / Arba Minch / Chebera Churchura 4, Gondar / Axum 3, Simien / Harar 2, Danakil / Bale 1), so the 4-stay pages show 3 + 1 with the 4th card alone at the left and two thirds of its row empty at desktop, and the 3- and 5-stay pages do the same at tablet widths (2 + 1) -- same orphan-row family as fixes 89 / 98, same treatment: ONLY a card that both starts a new row and is the last one is centred (under the middle column at 3 columns; half width, centred, at 2). `:not(:first-child)` is essential: a lone card (Danakil, Bale) also "starts a row and is last", and putting it in column 2 of an auto-fit grid would drop it into a collapsed track. Scoped to `body[data-p="tours/d"]` because `.stg` is also the Stays index (77 cards, where a centred last card would look odd) and the Tours landing. Gap is 18px in both ranges (`style.css:1813`). */
@media (min-width:1030px){
  html body[data-p="tours/d"] #main .stg>.stc:nth-child(3n+1):last-child:not(:first-child){grid-column:2}
}
@media (min-width:761px) and (max-width:1029px){
  html body[data-p="tours/d"] #main .stg>.stc:nth-child(2n+1):last-child:not(:first-child){grid-column:1/-1;width:calc(50% - 9px);justify-self:center}
}

/* 76. Stay detail (`/tours/stay/<slug>`): the two sub-headings "Location and access" / "Facilities and useful features" were 52px under an 82px title and the second one wrapped to two lines although its column is 787px wide (fix 105). Cause: `style.css:301` sizes them `clamp(25px,3vw,38px)`, but the sitewide `h2{font-size:clamp(32px,3.6vw,52px)!important;max-width:19ch}` at `style.css:544` carries `!important` and beats it, so the intended 38px cap never applied (and the 19ch cap makes the heading wrap at ~570px). Measured before: h2 36.9 / 46.1 / 52px with max-width 405 / 507 / 572px at 1024 / 1280 / 1440+, second heading on 2 lines at every desktop width. Now the intended scale -- 30px at 1024 rising to the 38px cap from ~1410px -- with no max-width, from 961px up (the two-column layout; phones and the single-column tablet layout already read 28-37px and are left alone). Scoped to `.stay-detail`, so the destination / landmark section titles (51.84px, `.sh` headings) are untouched. */
@media (min-width:961px){
  html body[data-s=tours] #main .stay-detail h2{font-size:clamp(30px,2.7vw,38px)!important;line-height:1.12!important;max-width:none!important}
}

/* 77. Group pages (`/group/about`, `/group/sectors`): an incomplete last row of `.guide-grid` cards sat at the left with the rest of the row empty (fix 106). `.guide-grid` is 3 columns from 1101px, 2 columns 761-1100px, 1 below (`style.css:234`, `:262`, `:812`; measured by resizing), and a 4-card grid is its own 4-column variant from 1001px (`group.css:35`). Counts on the Group pages: Sectors 10 cards -> 3+3+3+**1** at 1440 (the 10th, "Environmental & Facility Services", alone at the left with two thirds of its row empty); About "Five divisions" 5 cards -> 3+**2** at 1440 and 2+2+**1** at 761-1100; Partnerships 6 and 4 cards are always complete. Same orphan-row family as fixes 89 / 98 / 104, same treatment: ONLY the incomplete last row is centred. (a) >=1101px, one card alone: `grid-column:2` (centred under the middle column), excluded for the 4-card variant (`:not(:has(>:nth-child(4):last-child))`) because column 2 of a 4-column grid is not centred. (b) >=1101px, two cards in the last row (5, 8, 11 cards): the grid is re-expressed on six tracks, every card spans two (identical width to the 3-column grid: (W - 2*gap) / 3), and the last two start on tracks 2 and 4, i.e. centred as a pair; guarded by `:has(>:nth-child(4))` so a 2-card grid is never touched. (c) 761-1100px, one card alone in a 2-column grid: full-row span, half width minus half the 14px gap, centred. Scoped to `body[data-s=group]`; other divisions' grids are untouched (e.g. the 5-stay destination pages stay 3+2 on purpose, fix 104). */
@media (min-width:1101px){
  html body[data-s=group] #main .guide-grid:not(:has(>:nth-child(4):last-child))>:nth-child(3n+1):last-child:not(:first-child){grid-column:2}
  html body[data-s=group] #main .guide-grid:has(>:nth-child(4)):has(>:nth-child(3n+2):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}
  html body[data-s=group] #main .guide-grid:has(>:nth-child(4)):has(>:nth-child(3n+2):last-child)>*{grid-column:span 2}
  html body[data-s=group] #main .guide-grid:has(>:nth-child(4)):has(>:nth-child(3n+2):last-child)>:nth-last-child(2){grid-column:2/span 2}
  html body[data-s=group] #main .guide-grid:has(>:nth-child(4)):has(>:nth-child(3n+2):last-child)>:last-child{grid-column:4/span 2}
}
@media (min-width:761px) and (max-width:1100px){
  html body[data-s=group] #main .guide-grid>:nth-child(2n+1):last-child:not(:first-child){grid-column:1/-1;width:calc(50% - 7px);justify-self:center}
}

/* 78. Contact page (`/contact`): the e-mail address broke in the middle of a word -- "enquiries.mengedgroup@gma / il.com" at 1101-1919px, "...@gma / il.com" at 390, "...mengedgro / up@gmail.com" at 320 (fix 107). Cause (measured): the address is 375px wide at 18px, but the three equal cards leave it 268px at 1440 (200px at 1101), and `.contact-method` reserves an EMPTY third grid track of 18px + a 13px gap for an arrow icon that `style.css:1887` hides, taking another 31px from the text; `overflow-wrap:anywhere` (`style.css:1311`) then breaks wherever it runs out. Fix, three parts: (1) JS (`app.js`, P.contact): `<wbr>` after every "@" and "." in the address, so the only places it may wrap are "enquiries." / "mengedgroup@" / "gmail.com" -- never inside a word (the text itself is unchanged; the mailto link is untouched); (2) the card is a two-track grid (46px icon + text) -- no ghost track; (3) >=1280px the e-mail card gets 1.5fr against 1fr + 1fr (503px at 1280, 519px at 1440: the address fits on ONE line, 400-416px of text room for 375px), and at 1025-1279px the cards use the two-column layout the page already uses at <=1024px (e-mail card on its own full row, the two phone cards side by side below), because no 3-column split fits it there. Scoped to `.contact-page` (the only user of `.contact-method`). */
html body .contact-page .contact-method{grid-template-columns:46px minmax(0,1fr)}
@media (min-width:1280px){
  html body .contact-page .contact-methods{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr)}
}
@media (min-width:1025px) and (max-width:1279px){
  html body .contact-page .contact-methods{grid-template-columns:repeat(2,minmax(0,1fr))}
  html body .contact-page .contact-methods .contact-method:first-child{grid-column:1/-1}
}

/* 79. Privacy / Terms (`/privacy`, `/terms`, the only users of `.w.prose`): body text ran the full 1,240px -- 146-153 characters per line at 16.2px, about twice the comfortable measure -- and Terms' closing section printed three consecutive paragraphs with 0px between them (fix 108). Cause: the template's own `.prose{max-width:720px}` (`style.css:216`) is dead, overridden by the sitewide `.w` width (same family as fix 105), and `p{margin:0}` leaves nothing between paragraphs that are not separated by a heading. Fix: paragraphs / lists inside `.w.prose` are capped at 66ch (~660px at 16.2px, ~80 characters per line) and left-aligned, headings keep the full width so the left edge still matches the hero above; `p + p` gets 14px. Phones and narrow tablets are unaffected (the cap is wider than the column there). Scoped to `.w.prose`, which only these two routes use. */
html body #main .w.prose>:is(p,ul,ol){max-width:66ch}
html body #main .w.prose>p+p{margin-top:14px}

/* 80. First-block clearance under the fixed header on laptops and tablets (fix 109). Found by the tablet / laptop sweep (`_qa/tclear.py`): the landing heroes of Business (`section.bh`), Trade (`section.rh`) and Support (`section.sh0`) want `padding:150px 0 70px` (`style.css:161/170/176`), but from 1025px up the sitewide section rhythm (section 5, `clamp(64px,6.2vw,96px)` = 68px at 1100, 79px at 1280, 89px at 1440) replaces it -- less than the 75-89px fixed header -- so the first eyebrow sat -9 to +12px from the header between 1100 and 1536px wide (UNDER it at 1100-1180: Business -7, Trade -5, Support -9; at 1280 +2 / +5 / +1; at 1440 +12 / +23 / +11), against a steady +65 on every sub-route header and +72-84 on these same heroes at <=1024. Same family as fix 85 (`.vh`) and fix 100. Cars' hero (`section.ch`) had the same squeeze at 1100 (+19). The Business sector pages (`/business/sector/<slug>`, 6 pages, `section.inv-sector-hero`) were worse: `style.css:1383` pads them `clamp(34px,5vw,72px)` at every width, so the breadcrumb / eyebrow was UNDER the header from 621px up (-28px at 768, -15 at 1024, -11 at 1100, +5 at 1440); that class name contains \"hero\", so the section-rhythm rule never touched it. Fix: (a) bh / rh / sh0 from 1025px (Cars' `.ch` gets its own gentler rule, see below): `padding-top:max(var(--mg-sec),calc(170px - 4vw))` -- a continuous value that gives ~+50 at 1100, ~+40 at 1280, ~+35 at 1440 and falls back to the normal rhythm from ~1700px, so wide screens are unchanged; (b) sector pages from 621px: a flat 132px (the same top padding every sub-route header gets, `.ph0`), measured +65 to +66 at 768 / 1024 / 1100 / 1440. Phones (<=620px) are untouched. The selector repeats `:not(.hero):not([class*="hero"])` on purpose: the section-rhythm rule it overrides carries those two `:not()`s, which count towards specificity (1,3,3 vs 1,2,3 without them). */
@media (min-width:1025px){
  html body[data-s] #main > section:is(.bh,.rh,.sh0):not(.hero):not([class*="hero"]){padding-top:max(var(--mg-sec),calc(170px - 4vw))}
  /* Cars' hero centres its text beside a tall photo, so it needs far less: only the 1025-~1250px squeeze (+19 at 1100) is lifted, to ~+45; from ~1250px the normal rhythm already gives +60 and is left alone */
  html body[data-s=cars] #main > section.ch:not(.hero):not([class*="hero"]){padding-top:max(var(--mg-sec),calc(220px - 11.5vw))}
  /* Support's floating header is taller (87-89px), and at 1920 the plain rhythm (96px) still left only +13: a 128px floor keeps its hero at +45-50 at every width from 1025px up */
  html body[data-s=support] #main > section.sh0:not(.hero):not([class*="hero"]){padding-top:max(var(--mg-sec),128px)}
}
@media (min-width:621px){
  html body[data-s=business] #main > section.inv-sector-hero{padding-top:132px}
}

/* 81. Business sector pages: the two hero lead paragraphs ran together, and the back-link arrow touched its label (fix 110). Found by eye on `/business/sector/agriculture` at 768 and 1440 while checking fix 109 (all 6 sector pages, measured: paragraph 1 bottom == paragraph 2 top, 0px between them -- `.inv-sector-lead{margin:0}`, `style.css:1387`, written for a single paragraph; the \"Explore all investment sectors\" link is `display:inline-flex` (`smooth.css:21`) with a 14px arrow icon and NO gap, so the arrow sat flush against the text). Fix: 16px between consecutive lead paragraphs (about 0.85em of the 19px type; the same \"14-16px between paragraphs\" the privacy / terms pages got in fix 108) and an 8px gap in the back link. All widths; Business sector pages only. */
html body[data-s=business] #main .inv-sector-hero-copy .inv-sector-lead + .inv-sector-lead{margin-top:16px}
html body[data-s=business] #main .inv-sector-hero-copy .inv-back-link{gap:8px}

/* 82. Stay detail (`/tours/stay/<slug>`): breadcrumb hugging the fixed header from 1025px up (fix 111). Found by the tablet / laptop sweep (`_qa/tclear.py`): the first text sat +2px under the header at 1025, +6 at 1100, +16 at 1280, +21 at 1366, +26 at 1440, +32 at 1536 (measured on `kuriftu-bahir-dar` and `chebera-elephant-paw-lodge`), against +65 on every sub-route header and +73-82 on this same page at <=1024. Cause (same family as fixes 85 / 100 / 109): `style.css:295` asks `.stay-detail` for `padding-top:clamp(115px,14vw,170px)`, but from 1025px the sitewide section rhythm (section 5, `clamp(64px,6.2vw,96px)` = 68px at 1100, 89px at 1440) replaces it -- less than the 75-77px header plus the breadcrumb's own offset. (Fix 105 reviewed this page at 1440 and called the hero clear; it was +26.) A flat 134px from 1025px -- the value the <=1024 rule gives at 960 (134.5px) -- so the page keeps one top clearance at every width; the selector repeats the two `:not()`s of the rule it overrides (specificity). */
@media (min-width:1025px){
  html body[data-s=tours] #main > section.stay-detail:not(.hero):not([class*="hero"]){padding-top:134px}
}

/* 83. Product and vehicle detail pages on tablets (761-960px): the photo and the dark request card came BEFORE the breadcrumb and title, and the first line sat only ~25px under the header (fix 112). Found by the tablet sweep (`_qa/tclear.py` + `_qa/first.py` at 768x1024). (a) Order: `style.css:220` (`@media(max-width:960px){.vh aside{order:-1}}`) moves the whole aside (photo + \"Send a brief\" card) ahead of the text column, so on `/trade/p/<slug>` the title started ~900px down at 768 and the first screen was a photo and a card for a product the visitor had not yet been told about; phones (<=760px) already get text first for pages without a gallery (`mobile-v2.css:203`, `aside:not(:has(.gal))`). Tablets now do the same (`order:2`, specificity above `style.css:220`); vehicle pages carry a `.gal` photo gallery and deliberately keep the photo first on phones, so they keep it first on tablets too. (b) Clearance: `.vh{padding-top:100px}` at <=960 (`style.css:220`) left +25 (Trade product, once the text is first) / +27 (vehicle caption) under the 75px header; 132px gives the +65 every sub-route header has (the same flat top padding `.ph0` uses; fix 85 did this from 961px up with 140px). The selector repeats the two `:not()`s of the sitewide section-rhythm rule so it wins on specificity. Phones (<=760px) untouched on purpose (the tight phone top, `mobile-v2.css`, is deliberate). */
@media (min-width:761px) and (max-width:960px){
  html body[data-s] #main > section.vh:not(.hero):not([class*="hero"]){padding-top:132px}
  html body #main .vh .two>aside:not(:has(.gal)){order:2}
}

/* 84. Home / Group landing on tablets and the rest of the phone range (fix 113). Found by the tablet pass (`_qa/vshots.py 768 /` + `_qa/smalltext.py` at 768 / 1024 / 1100).
   (a) "Start with what you need" (`.group-outcome-grid`, 5 rows): the card treatment of section 6c only exists from 1025px (it sits inside the `@media (min-width:1025px)` block that opens at line 78),
   so at 761-1024px the original hairline rows ran 2 + 2 + 1 and "Coordinate local support" sat alone at the left with an empty cell beside it -- the orphan-row family of fixes 89 / 98 / 104 / 106.
   Same remedy 6c already applies on desktop: a last row that starts a new row spans the whole grid (a ruled list, so full width keeps its hairline, unlike the card grids that are centred).
   (b) The row descriptions were 13px at every width up to 1024 -- on phones too (the fix-65 note that Home was clean at 390 missed them: `smalltext.py` 390 shows `div > p x5`) -- now 14px / 1.6,
   the size every other card family got (fixes 24 / 51 / 55 / 62 / 64 / 65). (c) The photo cards' and trust cards' text was 13px at 761-1024 (fix 65 was phones only) -> 14px / 1.55, and the large feature card's was 13px up to 1279
   (the `!important` rules at `style.css:3688/3901` hold it there; desktop gets 16px from 1280) -> 15px, so the biggest card never carries the smallest text. Nothing that is already larger shrinks. Group home only. */
@media (min-width:761px) and (max-width:1024px){
  html body[data-s=group] #main .group-outcome-row:last-child:nth-child(odd){grid-column:1/-1}
  html body[data-s=group] #main article.in>p{font-size:14px;line-height:1.55}
  html body[data-s=group] #main .group-service:not(.group-service-feature) .group-service-content>p{font-size:14px;line-height:1.55}
}
@media (max-width:1024px){
  html body[data-s=group] #main .group-outcome-row p{font-size:14px;line-height:1.6;text-wrap:balance}
}
@media (min-width:761px) and (max-width:1279px){
  html body[data-s=group] #main .group-service.group-service-feature .group-service-content>p{font-size:15px!important;line-height:1.6!important}
}


/* 85. Group touchpoint labels and eyebrow ampersands: a tablet audit found the contact-card labels at 11px and the ampersand in the Partnerships eyebrow at 11.52px. Both are supporting text, but they should still respect the site's 12px legibility floor. The adjustment is scoped to the Contact card labels and the existing eyebrow ampersand treatment; no other type sizes are reduced. */
html body .contact-page .contact-method-copy small{font-size:12px}
html body[data-s] #main .eye>.upright-amp{font-size:max(12px,1em)}


/* 86. Cars hero photo on portrait tablets (fix 115). At 761-960px the hero intentionally puts its photo before the text, but the later shared `.tmp{aspect-ratio:4/3}` rule overrode the Cars hero's intended 16:10 tablet ratio. Because the image remained in normal flow with `height:100%`, its intrinsic 4:3 dimensions also dictated the box height. That made the photo 546px tall at 768px wide and pushed the headline deep below the fold. Keep the planned 16:10 frame, and take the image out of normal flow so the frame's ratio controls its height; the white-background `contain` treatment remains unchanged. Desktop and phone breakpoints are untouched. */
@media (min-width:761px) and (max-width:960px){
  html body[data-s=cars] #main .chp.tmp{aspect-ratio:16/10!important}
  html body[data-s=cars] #main .chp.tmp>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain!important}
}

/* 87. Cars service index (`/cars/services`): the nine automotive service cards form complete rows at desktop (3x3) and on phones (one column), but at tablet widths the two-column grid left "Fleet management" alone at the left of its final row, with an empty column beside it. Centre only that incomplete final card between 761 and 1100px; the 8-card pages, 3-column desktop layout and single-column phone layout are untouched. */
@media (min-width:761px) and (max-width:1100px){
  html body[data-p="cars/services"] #main .guide-grid>:nth-child(2n+1):last-child:not(:first-child){grid-column:1/-1;width:calc(50% - 7px);justify-self:center}
}

/* 88. Cars compare popup at narrow-tablet widths: with three shortlisted classes, each popup card is only ~217-277px wide at 768-960px. The fixed single-row `.cmp-pop-actions` squeezed “Request” and “Details” into multi-line vertical labels (768: four lines; 820: three / two lines). Keep the three vehicle columns, but give the two primary actions equal half-width buttons and move the quiet Remove action to its own right-aligned row. The 971px+ layout already has enough room; phone comparison uses its separate table layout and is untouched. */
@media (min-width:761px) and (max-width:970px){
  html body .cmp-pop-card:not(.is-single) .cmp-pop-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  html body .cmp-pop-card:not(.is-single) .cmp-pop-actions .btn.sm{width:100%;min-width:0;min-height:42px;padding:8px 6px!important;justify-content:center;white-space:nowrap}
  html body .cmp-pop-card:not(.is-single) .cmp-pop-actions .btn.sm span{white-space:nowrap;overflow-wrap:normal;word-break:normal}
  html body .cmp-pop-card:not(.is-single) .cmp-pop-actions .cmp-pop-remove{grid-column:1/-1;justify-self:end;margin:0;min-height:44px;padding:8px 2px!important}
}

/* 89. Full vehicle comparison on narrow tablets: the 90px label track from
   style.css applies through 960px and breaks words such as Passengers and
   Transmission. Reuse the proven phone layout from section 19 so each label
   occupies its own full-width row above the equal vehicle columns. */
@media (min-width:761px) and (max-width:960px){
  html body #main .ct{grid-template-columns:repeat(var(--n,2),minmax(0,1fr));font-size:15px;overflow:hidden;
    background-color:#fff;border-radius:18px;
    background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(100% / var(--n,2) - 1px),var(--line) calc(100% / var(--n,2) - 1px),var(--line) calc(100% / var(--n,2)));
    background-size:calc(100% + 1px) 100%;background-repeat:no-repeat}
  html body #main .ct>div:first-child{display:none}
  html body #main .ct>div{padding:4px 8px 12px;border-top:0;text-align:center;overflow-wrap:break-word;hyphens:manual;text-wrap:balance}
  html body #main .ct .chd{padding:12px 10px 14px}
  html body #main .ct .chd .tmp{aspect-ratio:4/3;margin-bottom:8px;border-radius:10px;background:transparent}
  html body #main .ct .chd .tmp img{object-fit:contain;mix-blend-mode:multiply}
  html body #main .ct .chd h3{font:600 16px/1.2 var(--dsp);letter-spacing:-.01em;text-wrap:balance;font-size:16px!important;line-height:1.2!important;overflow-wrap:anywhere}
  html body #main .ct .cl{grid-column:1 / -1;padding:12px 14px 0;text-align:left;border-top:1px solid var(--line);
    font:600 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);background:#f5f3ee}
  html body #main .ct>div:has(>.ct-best-list){grid-column:1 / -1;text-align:left;padding:10px 14px 12px;font-size:14px;background:#fff}
  html body #main .ct>div:has(>.ct-best-list)+div:has(>.ct-best-list){border-top:1px solid var(--line)}
  html body #main .ct>div:has(>.ct-best-list)::before{content:attr(data-car);display:block;margin-bottom:6px;
    font:600 14px/1.2 var(--dsp);color:var(--fg)}
  html body #main .ct .ct-best-list{gap:6px}
  html body #main .ct .ct-best-list span{line-height:1.4}
}

/* 90. Vehicle-detail "Similar classes" cards: on tablets the two-column
   grid left a third card (or a sole recommendation) stranded at the start.
   A four-track grid lets each card keep the existing two-column width while
   placing an odd final card in the centre; phone and desktop grids are intact. */
@media (min-width:761px) and (max-width:1100px){
  html body[data-s=cars] #main .vh+.alt .vg{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  html body[data-s=cars] #main .vh+.alt .vg>.vc{grid-column:span 2;min-width:0}
  html body[data-s=cars] #main .vh+.alt .vg:has(>.vc:only-child)>.vc,
  html body[data-s=cars] #main .vh+.alt .vg:has(>.vc:nth-child(3):last-child)>.vc:last-child{grid-column:2/span 2}
}


/* 91. Cars “How it works” four-step cards: at 961–1100px the generic four-column grid gave each card too little room, forcing multi-line headings and narrow paragraph columns. Use a balanced 2×2 grid through the tablet/laptop band. The existing 2-column layout at 961px and below, the one-column phone layout, and the four-column desktop layout above 1100px remain unchanged. */
@media (min-width:961px) and (max-width:1100px){
  html body[data-s=cars] #main .steps4{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px}
}


/* 92. Tours landing event cards: the three-item grid has two columns from 761–877px, leaving the third event alone at the left of its row. Keep the existing two-column card width and centre only that final card. At 878px the grid naturally has three columns, while the <=760px swipe rail and all other routes remain unchanged. */
@media (min-width:761px) and (max-width:877px){
  html body[data-p="tours/home"] #main .evs>.ev:nth-child(3):last-child{grid-column:1/-1;width:calc(50% - 7px);justify-self:center}
}

/* 93. Tours landing: the five-card itinerary rail leaves a 2-card row at 3 columns (761–1039px) and a single orphan at 4 columns (1040–1229px). Keep each card at its original grid width, but centre the incomplete final row. The five-across layout from 1230px and the <=760px swipe rail remain unchanged. */
@media (min-width:761px) and (max-width:1039px){
  html body[data-p="tours/home"] #main .rail2{grid-template-columns:repeat(6,minmax(0,1fr))}
  html body[data-p="tours/home"] #main .rail2>.rt{grid-column:span 2}
  html body[data-p="tours/home"] #main .rail2>.rt:nth-child(4){grid-column:2/span 2}
  html body[data-p="tours/home"] #main .rail2>.rt:nth-child(5):last-child{grid-column:4/span 2}
}
@media (min-width:1040px) and (max-width:1229px){
  html body[data-p="tours/home"] #main .rail2{grid-template-columns:repeat(8,minmax(0,1fr))}
  html body[data-p="tours/home"] #main .rail2>.rt{grid-column:span 2}
  html body[data-p="tours/home"] #main .rail2>.rt:nth-child(5):last-child{grid-column:4/span 2}
}

/* 94. Tours landing stay cards: exactly three stays make the third card start an incomplete row in the two-column 761–1024px layout. Keep its existing one-column width and centre it; the phone one-column layout and three-column layout from 1025px remain unchanged. */
@media (min-width:761px) and (max-width:1024px){
  html body[data-p="tours/home"] #main .stg>.stc:nth-child(2n+1):last-child:not(:first-child){grid-column:1/-1;width:calc(50% - 9px);justify-self:center}
}


/* 95. Tours landing: the three-card “Travel well-prepared” guide grid has two columns through 1100px, leaving the third card alone at the left. Centre only that final card at the original one-card width. The phone single-column layout and three-column grid from 1101px remain unchanged. */
@media (min-width:761px) and (max-width:1100px){
  html body[data-p="tours/home"] #main .guide-grid>.guide-card:nth-child(2n+1):last-child:not(:first-child){grid-column:1/-1;width:calc(50% - 7px);justify-self:center}
}
