/* ===== 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{transition:transform .4s var(--ease)}.day.on .ic{transform:rotate(45deg)}.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{transition:transform .4s var(--ease)}.fq.on .ic{transform:rotate(45deg)}.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)}.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)}.th .th-card img{will-change:transform}
@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;will-change:auto}}

/* 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(-4px);box-shadow:0 15px 35px rgba(24,48,34,.12);border-color:rgba(35,93,65,.35)}}.business-value-grid .guide-card-link:focus-visible{outline:3px solid #2c6e4e;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:#153f30;color:#fff;box-shadow:0 15px 38px rgba(18,44,32,.12)}
.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,30,22,.04) 12%,rgba(9,30,22,.15) 37%,rgba(9,30,22,.91) 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:#f1c48b}
.bh-feature-copy b{display:block;max-width:15ch;font:500 clamp(25px,3vw,38px)/1.1 var(--serif,Georgia,serif);letter-spacing:-.03em;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(3,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{
  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-image:none!important;background:none!important;content:"+";display:grid;place-items:center;width:18px;height:18px;font:500 20px/1 var(--sans);color:currentColor;transition:transform .2s}

/* 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}

/* ======== 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: auto !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: auto !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; }
}
