/* GENERATED by tools/build_seo_pages.py from the inline <style> blocks of the root index.html
   (#ly-flush + the two <helmet> blocks) so the route pages look exactly like the home page.
   Do not edit by hand: re-run the script. */

html,body{margin:0!important;padding:0!important;border:0!important;background:#f3efe4!important}
#dc-root,#dc-root>.sc-host{margin:0!important;padding:0!important;border:0!important;background:#f3efe4!important;min-height:100%}
/* Mobile nav — real <head> CSS (wins over Design) */
.navlinks{display:flex!important;align-items:center;justify-content:center;gap:clamp(10px,1.6vw,28px);flex-wrap:nowrap;min-width:0}
.nav-link{color:#0d3d4a;font-weight:600;font-size:clamp(13px,1.15vw,15px);white-space:nowrap;text-decoration:none;padding:6px 2px}
.nav-link:hover{color:#0a6b7c}
.ly-brand{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none;color:inherit;justify-self:start}
.nav-toggle{display:none!important;width:44px;height:44px;border-radius:14px;border:0;cursor:pointer;background:#fbf8f1;box-shadow:7px 7px 18px rgba(120,120,100,.24),-7px -7px 16px rgba(255,255,255,.9);place-items:center;padding:0;color:#0d3d4a;flex:0 0 auto}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;position:relative}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0}
.nav-toggle span::before{top:-6px}.nav-toggle span::after{top:6px}
.nav-toggle[aria-expanded="true"] span{background:transparent}
.nav-toggle[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
.ly-nav-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;max-width:1320px;margin:0 auto;padding:12px max(16px, env(safe-area-inset-right, 0px)) 12px max(16px, env(safe-area-inset-left, 0px));padding-left:max(16px, env(safe-area-inset-left, 0px));padding-right:max(16px, env(safe-area-inset-right, 0px));width:100%;box-sizing:border-box;position:relative}
.ly-nav-actions{display:flex;align-items:center;gap:8px;justify-self:end;z-index:2}
.ly-nav-actions .btn{flex:0 0 auto}
/* Hamburger menu — same card pattern as .langmenu */
.ly-menu-wrap{position:relative;flex:0 0 auto}
.langmenu{position:fixed!important;top:var(--ly-nav-h, 72px)!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:min(330px, calc(100vw - 32px))!important;max-width:calc(100vw - 32px)!important;z-index:130!important}
.langmenu.k24-langmenu{position:absolute!important;top:calc(100% + 12px)!important;right:0!important;left:auto!important;transform:none!important;width:min(400px,calc(100vw - 24px))!important;max-width:none!important;z-index:320!important}

.nav-drawer{display:none!important;position:fixed!important;top:var(--ly-nav-h, 72px)!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translateX(-50%)!important;width:min(320px, calc(100vw - 32px))!important;height:auto!important;max-height:min(70vh, 480px)!important;overflow:auto!important;background:#fffcf7!important;box-shadow:16px 16px 38px rgba(110,115,95,.28), -12px -12px 28px rgba(255,255,255,.95)!important;border-radius:18px!important;padding:12px!important;z-index:130!important;margin:0!important;flex-direction:column!important;gap:6px!important;box-sizing:border-box!important}
.nav-drawer[data-open="true"]{display:flex!important}
.nav-drawer .nav-opt{display:flex!important;align-items:center!important;gap:10px!important;padding:11px 14px!important;border-radius:12px!important;color:#0d3d4a!important;font-weight:600!important;font-size:15px!important;text-decoration:none!important;background:transparent!important;border:0!important;text-align:left!important;width:100%!important;box-sizing:border-box!important}
.nav-drawer .nav-opt:hover{background:#f5f0e6!important;color:#0a6b7c!important}
.nav-drawer .nav-opt-cta{margin-top:4px!important;background:#0e8fa0!important;color:#fff!important;font-weight:700!important;justify-content:center!important}
.nav-drawer .nav-opt-cta:hover{background:#0a6b7c!important;color:#fff!important}
@media (max-width:900px){
  .navlinks{display:none!important}
  .nav-toggle{display:inline-grid!important}
  .ly-nav-inner{display:flex!important;justify-content:space-between!important;grid-template-columns:none!important;padding-left:max(14px, env(safe-area-inset-left, 0px))!important;padding-right:max(14px, env(safe-area-inset-right, 0px))!important;gap:8px!important}
  .ly-nav-actions{gap:8px!important;margin-left:auto!important;justify-self:auto!important}
  .ly-nav-actions .btn{padding:10px 14px!important;font-size:13px!important;margin-right:0!important}
}
html.ly-narrow .navlinks{display:none!important}
html.ly-narrow .nav-toggle{display:inline-grid!important}
html.ly-narrow .ly-nav-inner{display:flex!important;justify-content:space-between!important;grid-template-columns:none!important;padding-left:max(14px, env(safe-area-inset-left, 0px))!important;padding-right:max(14px, env(safe-area-inset-right, 0px))!important}
html.ly-narrow .ly-nav-actions{margin-left:auto!important}
html.ly-narrow .ly-nav-actions .btn{padding:10px 14px!important;font-size:13px!important}

/* Let page scroll when finger starts on photos (Design slots defaulted to touch-action:none) */
image-slot{touch-action:pan-x pan-y!important;-webkit-user-drag:none}
image-slot::part(image){touch-action:pan-x pan-y!important;-webkit-user-drag:none!important}
.lm img,.lm video,.lm svg,.lm .dest-card,.lm .dest-img,.lm .ph-frame,.lm .svc-feat .media{touch-action:pan-x pan-y!important;-webkit-user-drag:none}
.ly-mark{width:42px;height:42px;object-fit:contain;display:block;flex:0 0 auto}


  /* Pages flush: kill Design canvas letterbox / white frame */
  html,body{margin:0!important;padding:0!important;border:0!important;background:#f3efe4!important;min-height:100%;height:auto!important;overflow-x:clip}
  #dc-root,#dc-root>.sc-host{margin:0!important;padding:0!important;border:0!important;outline:none!important;box-shadow:none!important;min-height:100%;height:auto!important;background:#f3efe4!important;max-width:none!important;width:100%!important}
  #dc-root>.sc-host>*{max-width:none}
  *{box-sizing:border-box}
  .lm{
    --sand:#f3efe4; --surface:#fbf8f1; --surface-2:#f5f0e6; --card:#fffcf7;
    --ink:#0d3d4a; --muted:#5a7a80; --line:rgba(13,61,74,.12);
    --teal:#0e8fa0; --teal-deep:#0a6b7c; --coral:#f2864b; --palm:#2f8f6b; --sun:#f4b740;
    --raise:7px 7px 18px rgba(120,120,100,.24), -7px -7px 16px rgba(255,255,255,.9);
    --raise-lg:16px 16px 38px rgba(110,115,95,.28), -12px -12px 28px rgba(255,255,255,.95);
    --inset:inset 6px 6px 12px rgba(120,120,100,.24), inset -6px -6px 12px rgba(255,255,255,.92);
    --inset-sm:inset 3px 3px 7px rgba(120,120,100,.22), inset -3px -3px 7px rgba(255,255,255,.9);
    font-family:var(--f-body);color:var(--ink);background:var(--sand);
    position:relative;overflow-x:clip;-webkit-font-smoothing:antialiased;line-height:1.5;
    -webkit-user-select:none;user-select:none;-webkit-touch-callout:none
  }
  .lm img, .lm image-slot, .lm video, .lm svg{-webkit-user-drag:none;user-drag:none;touch-action:pan-x pan-y}
  .lm input,.lm textarea,.lm select,.lm [contenteditable]{-webkit-user-select:text;user-select:text}
  .lm .disp{font-family:var(--f-disp);font-weight:600;line-height:1.03;letter-spacing:-.022em;text-wrap:balance}
  .lm a{color:var(--teal-deep);text-decoration:none}
  .lm a:hover{color:var(--teal)}
  .lm a.btn{color:#fff}
  .lm a.btn.ghost{color:var(--ink)}
  .lm a.btn:hover{color:#fff}
  .lm ::selection{background:var(--teal);color:#fff}
  .lm p{text-wrap:pretty}
  /* Per-language chrome: only the active data-lang class is visible (10 langs). */
  .l-en,.l-fr,.l-de,.l-pt,.l-it,.l-ru,.l-nl,.l-zh,.l-pl{display:none!important}
  .l-es{display:inline}
  ul.l-es,ol.l-es,div.l-es,p.l-es,h1.l-es,h2.l-es,h3.l-es,h4.l-es{display:block}
  .lm[data-lang="en"] .l-en{display:inline!important}
  .lm[data-lang="en"] ul.l-en,.lm[data-lang="en"] ol.l-en,.lm[data-lang="en"] div.l-en,.lm[data-lang="en"] p.l-en{display:block!important}
  .lm[data-lang="en"] .l-es{display:none!important}
  .lm[data-lang="fr"] .l-fr{display:inline!important}
  .lm[data-lang="fr"] ul.l-fr,.lm[data-lang="fr"] ol.l-fr,.lm[data-lang="fr"] div.l-fr,.lm[data-lang="fr"] p.l-fr{display:block!important}
  .lm[data-lang="fr"] .l-es{display:none!important}
  .lm[data-lang="de"] .l-de{display:inline!important}
  .lm[data-lang="de"] ul.l-de,.lm[data-lang="de"] ol.l-de,.lm[data-lang="de"] div.l-de,.lm[data-lang="de"] p.l-de{display:block!important}
  .lm[data-lang="de"] .l-es{display:none!important}
  .lm[data-lang="pt"] .l-pt{display:inline!important}
  .lm[data-lang="pt"] ul.l-pt,.lm[data-lang="pt"] ol.l-pt,.lm[data-lang="pt"] div.l-pt,.lm[data-lang="pt"] p.l-pt{display:block!important}
  .lm[data-lang="pt"] .l-es{display:none!important}
  .lm[data-lang="it"] .l-it{display:inline!important}
  .lm[data-lang="it"] ul.l-it,.lm[data-lang="it"] ol.l-it,.lm[data-lang="it"] div.l-it,.lm[data-lang="it"] p.l-it{display:block!important}
  .lm[data-lang="it"] .l-es{display:none!important}
  .lm[data-lang="ru"] .l-ru{display:inline!important}
  .lm[data-lang="ru"] ul.l-ru,.lm[data-lang="ru"] ol.l-ru,.lm[data-lang="ru"] div.l-ru,.lm[data-lang="ru"] p.l-ru{display:block!important}
  .lm[data-lang="ru"] .l-es{display:none!important}
  .lm[data-lang="nl"] .l-nl{display:inline!important}
  .lm[data-lang="nl"] ul.l-nl,.lm[data-lang="nl"] ol.l-nl,.lm[data-lang="nl"] div.l-nl,.lm[data-lang="nl"] p.l-nl{display:block!important}
  .lm[data-lang="nl"] .l-es{display:none!important}
  .lm[data-lang="zh"] .l-zh{display:inline!important}
  .lm[data-lang="zh"] ul.l-zh,.lm[data-lang="zh"] ol.l-zh,.lm[data-lang="zh"] div.l-zh,.lm[data-lang="zh"] p.l-zh{display:block!important}
  .lm[data-lang="zh"] .l-es{display:none!important}
  .lm[data-lang="pl"] .l-pl{display:inline!important}
  .lm[data-lang="pl"] ul.l-pl,.lm[data-lang="pl"] ol.l-pl,.lm[data-lang="pl"] div.l-pl,.lm[data-lang="pl"] p.l-pl{display:block!important}
  .lm[data-lang="pl"] .l-es{display:none!important}

  .skip{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--ink);color:#fff;padding:12px 20px;border-radius:0 0 12px 0;font-weight:700}
  .skip:focus{left:0}

  .neu{background:var(--card);box-shadow:var(--raise);border-radius:22px}
  .chip{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:100px;background:var(--surface);box-shadow:var(--raise);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-deep);transition:transform .16s ease}
  .chip:hover{transform:translateY(-1px)}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--f-body);font-weight:700;font-size:15px;border:0;cursor:pointer;border-radius:100px;padding:15px 26px;background:var(--teal);color:#fff;box-shadow:0 10px 22px color-mix(in srgb,var(--teal) 38%,transparent), inset 0 1px 0 rgba(255,255,255,.3);transition:transform .16s ease, box-shadow .16s ease}
  .btn:hover{transform:translateY(-2px)}
  .btn:active{transform:translateY(1px);box-shadow:inset 3px 3px 8px rgba(0,0,0,.22), inset -2px -2px 6px rgba(255,255,255,.2)}
  .btn.ghost{background:var(--surface);color:var(--ink);box-shadow:var(--raise)}
  .btn.wa{background:#25d366;box-shadow:0 10px 22px rgba(37,211,102,.36), inset 0 1px 0 rgba(255,255,255,.3)}
  .btn.sm{padding:10px 18px;font-size:14px}
  .btn:focus-visible,.langbtn:focus-visible,.lang-opt:focus-visible,.fld:focus-visible,.faq-q:focus-visible,.cur-btn:focus-visible,.lk:focus-visible,.xbtn:focus-visible,.map-pin:focus-visible,.nav-toggle:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
  .lk{background:none;border:0;cursor:pointer;font:inherit;color:inherit;padding:0;text-align:left}

  @keyframes lm-rise{from{opacity:0;transform:translateY(42px)}to{opacity:1;transform:translateY(0)}}
  @keyframes lm-para{from{transform:translateY(48px)}to{transform:translateY(-48px)}}
  @keyframes lm-marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  @keyframes lm-move-x{to{transform:translateX(calc(-100% + 100vw))}}
  @keyframes lm-drive{from{transform:translateX(-8%)}to{transform:translateX(8%)}}
  @keyframes lm-kenburns{from{transform:scale(1.06)}to{transform:scale(1.14)}}
  @keyframes ly-pulse{0%{transform:scale(.55);opacity:.7}100%{transform:scale(2.4);opacity:0}}
  @keyframes ly-spin{to{transform:rotate(360deg)}}
  @keyframes ly-draw{to{stroke-dashoffset:0}}
  @keyframes ly-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
  .reveal{animation:lm-rise linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
  .para{animation:lm-para linear both;animation-timeline:view();animation-range:cover}
  .marq-track{display:flex;gap:16px;width:max-content;animation:lm-marq 40s linear infinite}
  .drive{animation:lm-drive linear both;animation-timeline:view();animation-range:cover}
  .ly-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:900;stroke-dashoffset:900;animation:ly-draw linear both;animation-timeline:view();animation-range:entry 0% cover 40%}

  #expPin{display:none !important}

  /* mobile nav */
  .navlinks{display:flex;align-items:center;gap:24px}
  .nav-toggle{display:none;width:44px;height:44px;border-radius:14px;border:0;cursor:pointer;background:var(--surface);box-shadow:var(--raise);place-items:center;padding:0;color:var(--ink);flex:0 0 auto}
  .nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;position:relative;transition:transform .2s ease,opacity .2s}
  .nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0}
  .nav-toggle span::before{top:-6px}.nav-toggle span::after{top:6px}
  .nav-toggle[aria-expanded="true"] span{background:transparent}
  .nav-toggle[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
  /* hamburger dropdown styles live in #ly-flush (match .langmenu) */
  .ly-menu-wrap{position:relative}

  /* decorative line-art */
  @keyframes ly-float{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-10px) rotate(1.5deg)}}
  .ly-art{position:absolute;pointer-events:none;z-index:0;opacity:.32;animation:ly-float 9s ease-in-out infinite}
  .ly-art svg{display:block;width:100%;height:auto;overflow:visible}
  .ly-art.a2{animation-duration:11s;animation-delay:-2s;opacity:.28}
  .ly-art.a3{animation-duration:13s;animation-delay:-4s;opacity:.38}

  .fld{font-family:var(--f-body);font-size:15px;font-weight:600;color:var(--ink);border:0;border-radius:14px;padding:14px 15px;background:var(--surface);box-shadow:var(--inset-sm);width:100%}
  .fld::placeholder{color:var(--muted);font-weight:500}
  .fldlbl{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:7px;display:block}

  .langmenu{position:fixed;top:var(--ly-nav-h, 72px);left:50%;right:auto;transform:translateX(-50%);width:min(330px, calc(100vw - 32px));max-width:calc(100vw - 32px);background:var(--card);box-shadow:var(--raise-lg);border-radius:18px;padding:12px;z-index:120;display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .lang-opt{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:12px;border:0;background:transparent;cursor:pointer;font-family:var(--f-body);font-weight:600;font-size:14px;color:var(--ink);text-align:left;transition:background .12s}
  .lang-opt:hover{background:var(--surface)}
  .lang-opt[data-active="true"]{background:var(--teal);color:#fff}
  .lang-opt .code{width:30px;height:30px;flex:0 0 30px;border-radius:9px;display:grid;place-items:center;font-weight:800;font-size:11px;background:var(--surface);box-shadow:var(--inset-sm);color:var(--teal-deep)}
  .lang-opt[data-active="true"] .code{background:rgba(255,255,255,.22);color:#fff;box-shadow:none}

  .faq-item{border-bottom:1px solid var(--line)}
  .faq-q{width:100%;text-align:left;background:transparent;border:0;cursor:pointer;font-family:var(--f-disp);font-weight:700;font-size:clamp(18px,2.2vw,23px);color:var(--ink);padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}
  .faq-a{overflow:hidden;max-height:0;transition:max-height .35s ease,padding .35s ease;color:var(--muted);font-size:16px;line-height:1.6}
  .faq-item[data-open="true"] .faq-a{max-height:360px;padding-bottom:24px}
  .faq-item[data-open="true"] .faq-ic{transform:rotate(45deg)}
  .faq-ic{transition:transform .3s ease;color:var(--teal);font-size:26px;flex:0 0 auto}

  /* hero video stage */
  .hero-media{position:absolute;inset:0;z-index:0;overflow:hidden;width:100%;height:100%;left:0;right:0;top:0;bottom:0}
  .hero-media > image-slot{position:absolute;inset:0;width:100%;height:100%}
  .hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;background:#061a1c}
  .hero-media > image-slot{z-index:0;opacity:0;pointer-events:none} /* poster behind; empty slot must not cover video */
  .hero-vig{position:absolute;inset:0;z-index:2;pointer-events:none;
    background:
      linear-gradient(93deg,rgba(5,22,24,.96) 0%,rgba(5,22,24,.86) 34%,rgba(5,22,24,.5) 60%,rgba(5,22,24,.4) 82%,rgba(5,22,24,.6) 100%),
      linear-gradient(180deg,rgba(5,22,24,.55) 0%,rgba(5,22,24,.12) 30%,rgba(5,22,24,.18) 60%,rgba(5,22,24,.82) 100%)}
  /* hero loop v5 (real footage, the guest's journey, commercial airliner arrival): brand-teal veil only where the copy sits; the right half stays bright.
     Stops measured against every beat of the loop: white copy ≥ 6.7:1 (desktop) / ≥ 4.9:1 (phones, strict 98th pct). */
  html .lm .k23-hero .hero-media .hero-vig{background:
      linear-gradient(90deg,rgba(5,38,48,.74) 0%,rgba(5,38,48,.7) 30%,rgba(5,38,48,.6) 47%,rgba(5,38,48,.28) 58%,rgba(5,38,48,0) 70%),
      linear-gradient(180deg,rgba(5,38,48,.36) 0%,rgba(5,38,48,0) 14%),
      radial-gradient(62% 50% at 12% 100%,rgba(5,38,48,.55) 0%,rgba(5,38,48,0) 100%)!important}
  @media (max-width:899px){
    html .lm .k23-hero .hero-media .hero-vig{background:
      linear-gradient(180deg,rgba(5,38,48,.68) 0%,rgba(5,38,48,.64) 14%,rgba(5,38,48,.64) 36%,rgba(5,38,48,.68) 47%,rgba(5,38,48,.66) 62%,rgba(5,38,48,.74) 100%)!important}
  }
  .sun-glow{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none}
  .scrollcue{display:inline-flex;align-items:center;gap:9px;color:rgba(251,245,234,.9);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.4)}
  .scrollcue span.dot{width:26px;height:40px;border:2px solid rgba(251,245,234,.6);border-radius:100px;position:relative;flex:0 0 auto}
  .scrollcue span.dot::after{content:"";position:absolute;left:50%;top:7px;width:4px;height:8px;border-radius:2px;background:rgba(251,245,234,.9);transform:translateX(-50%);animation:ly-bob 1.6s ease-in-out infinite}

  .ph-frame{position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--raise-lg);background:rgba(255,255,255,.06)}
  .ph-frame > image-slot{position:absolute;inset:0;width:100%;height:100%}
  .ph-tag{position:absolute;left:12px;bottom:12px;z-index:3;background:rgba(6,26,28,.55);backdrop-filter:blur(6px);color:#fff;font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:100px}

  /* services */
  .svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
  .svc-card{padding:28px;transition:transform .18s ease}
  .svc-card:hover{transform:translateY(-4px)}
  .svc-feat{display:grid;grid-template-columns:1.15fr .85fr;gap:0;overflow:hidden;margin-bottom:20px}
  .svc-feat .txt{padding:clamp(26px,3.4vw,44px)}
  .svc-feat .media{position:relative;min-height:280px}
  .svc-feat .media > image-slot{position:absolute;inset:0;width:100%;height:100%}

  /* prices + currency */
  .cur-btn{font-family:var(--f-body);font-weight:700;font-size:13px;border:0;cursor:pointer;padding:9px 14px;border-radius:100px;background:var(--surface);box-shadow:var(--inset-sm);color:var(--muted);transition:all .14s}
  .cur-btn:hover{color:var(--ink)}
  .cur-btn[data-on="true"]{background:var(--teal);color:#fff;box-shadow:0 6px 14px color-mix(in srgb,var(--teal) 34%,transparent)}
  .rcard{padding:26px;display:flex;flex-direction:column;gap:4px;transition:transform .18s ease}
  .rcard:hover{transform:translateY(-4px)}

  /* map */
  .mapwrap{position:relative}
  .map-stage{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--raise-lg);background:#bfe3ef}
  .map-stage > img{display:block;width:100%;height:auto}
  .map-pin{position:absolute;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:50%;border:3px solid #fff;background:var(--teal);box-shadow:0 3px 10px rgba(0,0,0,.35);cursor:pointer;padding:0;z-index:2}
  .map-pin[data-hub="true"]{width:28px;height:28px;background:var(--coral);z-index:3}
  .map-pin .ring{position:absolute;inset:-7px;border-radius:50%;background:currentColor;color:var(--teal);opacity:.4;z-index:-1;animation:ly-pulse 2.6s ease-out infinite}
  .map-pin[data-hub="true"] .ring{color:var(--coral)}
  .map-pin .tip{position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--ink);color:#fff;font-size:12px;font-weight:700;padding:6px 11px;border-radius:9px;opacity:0;pointer-events:none;transition:opacity .15s;box-shadow:0 6px 16px rgba(0,0,0,.3)}
  .map-pin .tip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--ink)}
  .map-pin:hover,.map-pin:focus-visible{transform:translate(-50%,-50%) scale(1.18)}
  .map-pin:hover .tip,.map-pin:focus-visible .tip{opacity:1}
  .map-legend{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
  .leg-chip{display:inline-flex;align-items:center;gap:9px;padding:8px 14px;border-radius:100px;background:var(--card);box-shadow:var(--raise);font-weight:700;font-size:13px}
  .leg-dot{width:11px;height:11px;border-radius:50%;flex:0 0 auto}

  /* timeline */
  .tl{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative}
  .tl-step{position:relative;padding:0 14px;text-align:center}
  .tl-step::before{content:"";position:absolute;top:26px;left:-50%;width:100%;height:3px;background:var(--line);z-index:0}
  .tl-step:first-child::before{display:none}
  .tl-num{position:relative;z-index:1;width:54px;height:54px;border-radius:50%;margin:0 auto 16px;display:grid;place-items:center;background:var(--card);box-shadow:var(--raise);font-family:var(--f-disp);font-weight:700;font-size:22px;color:var(--teal-deep)}

  /* cookie + modal */
  .cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:900;max-width:760px;margin:0 auto;background:var(--card);box-shadow:var(--raise-lg);border-radius:20px;padding:20px 22px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
  .modal-back{position:fixed;inset:0;z-index:1000;background:rgba(6,26,28,.55);backdrop-filter:blur(6px);align-items:flex-start;justify-content:center;padding:clamp(16px,5vh,60px) 16px;overflow:auto}
  .modal{background:var(--card);border-radius:24px;max-width:700px;width:100%;box-shadow:var(--raise-lg);padding:clamp(24px,4vw,42px);position:relative}
  .modal h3{font-family:var(--f-disp)}
  .modal h4{font-family:var(--f-disp);font-size:16px;margin:20px 0 6px;color:var(--ink)}
  .modal p{color:var(--muted);font-size:15px;line-height:1.6;margin:0 0 10px}
  .xbtn{position:absolute;top:18px;right:18px;width:40px;height:40px;border-radius:50%;border:0;cursor:pointer;background:var(--surface);box-shadow:var(--raise);font-size:20px;color:var(--ink);display:grid;place-items:center}

  @media (prefers-reduced-motion:reduce){
    .reveal,.para,.marq-track,.drive,.hero-vid,.pin-ring,.map-pin .ring,.scrollcue span.dot::after,.ly-art{animation:none;opacity:1;transform:none}
    .ly-line{animation:none;stroke-dashoffset:0}
    .ly-art{opacity:.28}
  }
  @media (max-width:900px){
    .langmenu{grid-template-columns:1fr}
    .lm .hero-grid{grid-template-columns:1fr !important}
    .lm .cta-grid{grid-template-columns:1fr !important}
    .lm .van-grid{grid-template-columns:1fr !important}
    .lm .svc-feat{grid-template-columns:1fr}
    .lm .svc-feat .media{min-height:200px}
    .lm .tl{grid-template-columns:1fr 1fr;gap:30px 0}
    .lm .tl-step::before{display:none}
    .lm .foot-grid{grid-template-columns:1fr 1fr !important}
    .lm .navlinks{display:none !important}
    .lm .nav-toggle{display:inline-grid !important}
    .lm nav .btn{padding:10px 14px;font-size:13px}
    .lm .map-pin .tip{display:none}
    .lm .map-pin{width:18px;height:18px}
    .lm .map-pin[data-hub="true"]{width:22px;height:22px}
  }
  @media (max-width:560px){ .lm .tl{grid-template-columns:1fr} .lm .foot-grid{grid-template-columns:1fr !important} }

  /* ===== Karún: demo banner, fleet, rate search, booking wizard ===== */
  .krn-fleet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
  .krn-fleet-card{overflow:hidden;padding:0;display:flex;flex-direction:column}
  .krn-fleet-media{position:relative;aspect-ratio:16/9;background:var(--surface)}
  .krn-fleet-media img,.krn-fleet-media svg{width:100%;height:100%;display:block;object-fit:cover}
  .krn-fleet-badge{position:absolute;left:10px;bottom:10px;font-size:10px;font-weight:700;letter-spacing:.03em;background:rgba(22,48,47,.72);color:#fff;padding:5px 10px;border-radius:100px}
  .krn-fleet-body{padding:18px}
  .krn-rate-table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
  .krn-rate-table thead th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:14px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
  .krn-rate-table tbody td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
  .krn-rate-table tbody tr:last-child td{border-bottom:0}
  .krn-rate-table tbody tr:hover{background:var(--surface)}
  .krn-rate-table .krn-hotel-name{font-weight:700}
  .krn-rate-table .krn-zone-tag{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
  .krn-rate-table .krn-price{font-weight:800;color:var(--teal)}
  .krn-divider{height:1px;background:var(--line);margin:22px 0}
  .krn-leg{background:var(--surface);border-radius:18px;padding:16px;margin-bottom:14px;position:relative}
  .krn-leg-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
  .krn-leg-title{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--teal-deep)}
  .krn-leg-remove{background:none;border:0;color:var(--coral);font-weight:700;font-size:13px;cursor:pointer;padding:4px 8px}
  .krn-leg-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .krn-leg-grid .full{grid-column:1/-1}
  .krn-leg-price{margin-top:10px;font-size:13px;font-weight:700;color:var(--teal-deep);text-align:right}
  .krn-pay-opts{display:flex;flex-wrap:wrap;gap:10px}
  .krn-pay-opt{display:flex;align-items:center;gap:8px;background:var(--surface);box-shadow:var(--inset-sm);border-radius:100px;padding:10px 16px;font-weight:600;font-size:14px;cursor:pointer}
  .krn-pay-opt input{accent-color:var(--teal)}
  #krn-confirm-card dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0;font-size:14.5px}
  #krn-confirm-card dt{color:var(--muted);font-weight:700}
  #krn-confirm-card dd{margin:0;font-weight:600}
  @media (max-width:640px){ .krn-leg-grid{grid-template-columns:1fr} }
  #krn-lang-toggle{cursor:pointer}


    .lm .ly-mark{width:42px;height:42px;flex:0 0 42px;border-radius:10px;display:block;object-fit:contain;background:transparent;box-shadow:none}
    .lm img.ly-mark{padding:0}
    .lm .svc-ic{width:56px;height:56px;border-radius:16px;background:var(--surface);box-shadow:var(--raise);display:grid;place-items:center;font-size:26px;flex:0 0 auto}
    .lm .vchip{display:inline-flex;align-items:center;gap:6px;padding:8px 15px;border-radius:100px;background:rgba(255,255,255,.08);color:#bfeaf0;font-weight:700;font-size:13px;border:1px solid rgba(255,255,255,.12)}
    .lm .why-dot{flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:800;box-shadow:0 4px 10px color-mix(in srgb,var(--teal) 40%,transparent)}
    .lm .rv-av{width:42px;height:42px;border-radius:50%;background:var(--surface);box-shadow:var(--raise);display:grid;place-items:center;font-size:22px}
    .lm .ftitle{font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:11px;color:rgba(251,245,234,.5);margin-bottom:14px}
    .lm .fcol{display:grid;gap:9px;font-weight:500;color:rgba(251,245,234,.82);font-size:14px}
    .lm .flink{color:rgba(251,245,234,.82);font-weight:500;font-size:14px}
    .lm .flink:hover{color:#fff;text-decoration:underline}
    .lm .soc{width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.08);display:grid;place-items:center;font-weight:700;cursor:pointer}
    .lm .dest-img{position:absolute;inset:0;z-index:0}
    /* .dest-cap look lives on .lm .dest-card .dest-cap (sticky stack) */
    .lm [data-codevan] svg{width:100%;height:auto;display:block;filter:drop-shadow(0 22px 30px rgba(30,55,50,.25))}
    .lm .trust-run{display:flex;gap:14px;align-items:center}
  
