/* =========================================================
   DIALOG — Brand-aligned shared styles
   Брендбук «Незламна Україна»:
   • Beige (#FFE4CB) — основне тло (canvas)
   • White — текст + картки
   • 6 рівноправних кольорів — навігація, акценти, секції
   • Coral — лише для CTA (sparingly)
   • Roboto — єдиний шрифт (заголовки Bold/UPPERCASE + текст)
   ========================================================= */
:root{
  /* === Brand primary palette (6 + 2 base) — RESTORED to original brandbook === */
  --beige: #FAF2ED;        /* canvas */
  --beige-deep: #F0E6DD;
  --white: #FFFFFF;        /* white */

  --peach-soft: #FFE4CB;   /* peach-pale */
  --peach: #FFD8B4;
  --peach-deep: #ECC49F;   /* deeper peach */

  --coral-soft: #FFA086;   /* coral-light */
  --coral: #E66E4D;        /* brand coral (matches logo) */
  --coral-deep: #D9582F;
  --coral-pale: #FFE4DB;

  --grey-soft: #F3FBFC;
  --grey: #EAF0F1;
  --grey-deep: #D9DDDE;

  --lilac-soft: #EBEBFF;
  --lilac: #D1D1E5;
  --lilac-deep: #C7C7D9;

  --sage-soft: #A8C0BA;    /* sage-light */
  --sage: #83938F;
  --sage-deep: #6F7E7A;

  --navy-soft: #576A80;
  --navy: #333D49;
  --navy-deep: #1F262E;

  /* Semantic */
  --ink: #1F262E;
  --muted: #576A80;
  --border: #ECC49F40;
  --green: #6F7E7A;
  --red: #E66E4D;
  --ua: #576A80;   /* UA-шлях акцент (бренд navy-soft) */
  --pl: #E66E4D;   /* PL-шлях акцент (бренд coral) */

  /* === Typographic scale (1.333× modular) === */
  --fs-h1: clamp(40px, 6vw, 72px);
  --fs-h2: clamp(32px, 4.5vw, 54px);
  --fs-h3: clamp(24px, 3.4vw, 40px);
  --fs-h4: clamp(20px, 2.4vw, 28px);
  --fs-h5: clamp(17px, 1.8vw, 22px);
  --fs-body: 17px;
  --fs-small: 14px;
  --fs-micro: 11.5px;

  /* === Elevation system (3 levels) === */
  --shadow-1: 0 4px 14px rgba(87,106,128,.06);
  --shadow-2: 0 12px 32px rgba(87,106,128,.10);
  --shadow-3: 0 24px 56px rgba(87,106,128,.16);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Roboto',system-ui,sans-serif;
  color:var(--navy);
  line-height:1.55;
  background:var(--beige);
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum";
}
h1,h2,h3,h4,h5,h6{
  font-family:'Roboto',sans-serif;
  color:var(--ink);
  letter-spacing:-.025em;
  line-height:1.08;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
h1{font-size:var(--fs-h1)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3)}
h4{font-size:var(--fs-h4)}
h5{font-size:var(--fs-h5)}

/* === Animated coral underline on inline text links === */
a:not(.btn):not(.nav-cta):not(.nav-brand):not(.nav-links a):not(.pkg-name):not(.featured-link):not(.foot-col a):not(.fpkg):not(.pkg-card):not(.result-card):not(.other-card):not(.locc):not(.loc-card):not(.loc-chip):not(.city):not(.city-online):not(.hero-offer-card):not(.orbit-obj){
  position:relative;
  background-image:linear-gradient(currentColor,currentColor);
  background-position:0 100%;
  background-repeat:no-repeat;
  background-size:0 2px;
  transition:background-size .28s cubic-bezier(.5,0,.2,1);
  text-decoration:none;
}
a:not(.btn):not(.nav-cta):not(.nav-brand):not(.nav-links a):not(.pkg-name):not(.featured-link):not(.foot-col a):not(.fpkg):not(.pkg-card):not(.result-card):not(.other-card):not(.locc):not(.loc-card):not(.loc-chip):not(.city):not(.city-online):not(.hero-offer-card):not(.orbit-obj):hover{
  background-size:100% 2px;
}
a{color:var(--coral-deep);text-decoration:none;transition:color .15s}
a:hover{color:var(--coral)}
img,svg{display:block;max-width:100%}
.mono{font-family:'Roboto',monospace}

.wrap{max-width:1240px;margin:0 auto;padding:0 28px}
@media(max-width:520px){.wrap{padding:0 18px}}

/* ===== NAV ===== */
.nav{
  position:sticky;top:0;z-index:100;
  background:rgba(250,242,237,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(31,38,46,.08);
  padding:14px 28px;
  display:flex;align-items:center;justify-content:space-between;
}
.nav-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.nav-mark{width:42px;height:42px;flex-shrink:0;color:var(--ink)}
.nav-mark svg{width:100%;height:100%}
.nav-name{font-family:'Roboto',sans-serif;font-weight:900;font-size:22px;color:var(--ink);letter-spacing:-.01em;line-height:1}
.nav-sub{display:block;font-weight:500;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--navy-soft);margin-top:3px;font-family:'Roboto'}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{color:var(--ink);font-size:15px;font-weight:700;font-family:'Roboto';letter-spacing:-.01em;transition:color .15s}
.nav-links a:hover{color:var(--coral)}
.nav-cta{
  background:var(--coral)!important;color:var(--white)!important;
  padding:10px 20px;border-radius:100px;
  font-weight:700!important;opacity:1!important;
  box-shadow:0 4px 14px rgba(255,125,90,.32);
}
.nav-cta:hover{background:var(--coral-deep)!important;color:var(--white)!important;transform:translateY(-1px);box-shadow:0 6px 18px rgba(255,125,90,.42)}

/* ── BURGER BUTTON ── */
.nav-burger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:40px;height:40px;padding:8px;
  background:none;border:none;cursor:pointer;
  border-radius:8px;transition:background .15s;flex-shrink:0;
}
.nav-burger:hover{background:rgba(31,38,46,.06)}
.nav-burger span{
  display:block;width:22px;height:2.5px;
  background:var(--ink);border-radius:2px;
  transition:transform .22s ease, opacity .15s ease;
}
.nav-burger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-burger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* ── MOBILE NAV OVERLAY ── */
.nav-mobile{
  display:none;position:fixed;
  top:0;left:0;right:0;bottom:0;
  z-index:98;
  background:var(--beige);
  padding:90px 32px 48px;
  flex-direction:column;
  overflow-y:auto;
}
.nav-mobile.open{display:flex}
.nm-link{
  font-family:'Roboto',sans-serif;font-size:24px;font-weight:800;
  color:var(--ink);text-decoration:none;
  padding:18px 0;
  border-bottom:1px solid rgba(31,38,46,.08);
  transition:color .15s, padding-left .15s;
}
.nm-link:hover{color:var(--coral);padding-left:6px}
.nm-cta{
  margin-top:32px;text-align:center;
  font-size:16px!important;padding:16px 24px!important;
}

/* ── RESPONSIVE BREAKPOINTS ── */
@media(max-width:1100px){
  .nav-links{gap:16px}
  .nav-links a:not(.nav-cta){font-size:13px}
}
@media(max-width:880px){
  .nav-links a:not(.nav-cta){display:none}
  .nav-sub{display:none}
  .nav-burger{display:flex}
}
@media(max-width:560px){
  .nav{padding:14px 16px}
  .nav-mark{width:36px;height:36px}
  .nav-name{font-size:18px}
  .nav-cta{padding:10px 14px!important;font-size:12px!important;letter-spacing:0!important}
}
@media(max-width:400px){
  .nav-cta{display:none!important}
}

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:16px 30px;border-radius:100px;
  font-family:'Roboto',sans-serif;font-weight:700;font-size:15px;
  text-decoration:none;border:none;cursor:pointer;
  transition:all .2s;line-height:1;letter-spacing:-.01em;
}
.btn-primary{background:var(--coral);color:var(--white);box-shadow:0 6px 22px rgba(255,125,90,.32)}
.btn-primary:hover{background:var(--coral-deep);color:var(--white);transform:translateY(-2px);box-shadow:0 10px 28px rgba(255,125,90,.42)}
.btn-dark{background:var(--navy);color:var(--white)}
.btn-dark:hover{background:var(--navy-deep);color:var(--white);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--peach-deep)}
.btn-ghost:hover{background:var(--peach-soft);color:var(--ink);border-color:var(--peach-deep)}
.btn-white{background:var(--white);color:var(--ink);box-shadow:0 6px 16px rgba(87,106,128,.1)}
.btn-white:hover{background:var(--beige);color:var(--ink);transform:translateY(-1px)}

/* ===== UTILS ===== */
.eyebrow{
  display:inline-block;font-family:'Roboto',sans-serif;
  font-size:11.5px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;
  color:#C24F2E;margin-bottom:14px;
}
.eyebrow.dark{color:var(--peach-deep)}
.stitle{font-size:clamp(26px,3.8vw,46px);font-weight:900;margin-bottom:14px;color:var(--ink);letter-spacing:-.025em;overflow-wrap:break-word;max-width:100%}
.stitle.compact{font-size:clamp(24px,2.8vw,36px)}
.stitle.major{font-size:clamp(36px,5vw,58px)}
.sdeck{font-size:17px;line-height:1.55;color:var(--navy);opacity:.8;max-width:720px;margin-bottom:48px}
.section{padding:96px 0}
.section.compact{padding:64px 0}
.section.white{background:var(--white)}
/* явний beige для секцій, що були прозорі — щоб хвиля брала правильний колір */
.section.bg-beige{background:var(--beige)}

/* ===== WAVE SECTION DIVIDERS =====
   Колір секції піднімається м'якою хвилею у попередню секцію.
   ::before бере фон секції (inherit) і маскується хвилею. */
.wave-top{position:relative}
.wave-top::after{
  content:"";
  position:absolute;left:-1px;right:-1px;top:0;
  height:42px;
  transform:translateY(-41px);
  background-color:inherit;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 42' preserveAspectRatio='none'%3E%3Cpath d='M0 42 L1440 42 L1440 21 C1120 40 340 2 0 19 Z' fill='%23000'/%3E%3C/svg%3E") bottom/100% 100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 42' preserveAspectRatio='none'%3E%3Cpath d='M0 42 L1440 42 L1440 21 C1120 40 340 2 0 19 Z' fill='%23000'/%3E%3C/svg%3E") bottom/100% 100% no-repeat;
  pointer-events:none;z-index:1;
}
/* apply має градієнт → bg-color прозорий, задаємо явний верхній колір */
#apply.wave-top::after{background-color:var(--beige)}
@media(max-width:760px){ .wave-top::after{height:28px;transform:translateY(-27px)} }
.section.dark{background:var(--navy-soft);color:var(--white)}
.section.dark .stitle{color:var(--white)}
.section.dark .sdeck{color:rgba(255,255,255,.78)}
.section.peach{background:var(--peach-soft)}
.section.lilac{background:var(--lilac-soft)}
.section.grey{background:var(--grey)}

/* Anchored sections need scroll offset for sticky nav (~72px) */
section[id]{scroll-margin-top:84px}

/* ===== STICKY BOTTOM BAR — 3 КАНАЛИ ЗВ'ЯЗКУ ===== */
.sticky-bar{
  position:fixed;left:0;right:0;bottom:0;
  z-index:90;
  background:var(--navy-deep);color:var(--white);
  padding:10px 12px;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;
  box-shadow:0 -10px 32px rgba(0,0,0,.18);
  border-top:3px solid var(--coral);
  transform:translateY(120%);
  transition:transform .35s cubic-bezier(.2,.9,.3,1.2);
}
.sticky-bar.on{transform:translateY(0)}
.sticky-bar-item{
  display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:10px 6px;min-width:0;
  background:transparent;
  border:none;cursor:pointer;
  color:var(--white);text-decoration:none;
  border-radius:12px;
  transition:background .15s;
  font-family:'Roboto',sans-serif;
}
.sticky-bar-item:hover{background:rgba(255,255,255,.08);color:var(--white)}
.sticky-bar-item.primary{background:var(--coral)}
.sticky-bar-item.primary:hover{background:var(--coral-deep);color:var(--white)}
.sticky-bar-ic{font-size:20px;line-height:1;margin-bottom:1px}
.sticky-bar-lbl{font-size:12.5px;font-weight:800;letter-spacing:-.01em;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sticky-bar-sub{font-size:9.5px;color:rgba(255,255,255,.55);font-weight:500;line-height:1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sticky-bar-item.primary .sticky-bar-sub{color:rgba(255,255,255,.85)}
@media(min-width:880px){
  .sticky-bar{
    left:auto;right:24px;bottom:24px;
    max-width:520px;
    border-radius:18px;
    border-top:none;
    border:3px solid var(--coral);
  }
  .sticky-bar-lbl{font-size:13.5px}
  .sticky-bar-sub{font-size:11px}
}

/* ===== MULTI-STEP MODAL (3 шляхи зв'язку) ===== */
/* ===== AGE-MISMATCH MODAL ===== */
.age-modal{display:none;position:fixed;inset:0;z-index:240;background:rgba(31,38,46,.72);backdrop-filter:blur(8px);padding:20px;align-items:center;justify-content:center}
.age-modal.on{display:flex}
.age-modal-box{background:var(--white);border-radius:24px;max-width:480px;width:100%;padding:32px 28px 24px;position:relative;box-shadow:0 24px 60px rgba(15,23,42,.3);max-height:90vh;overflow-y:auto;animation:ctaModalFade .25s ease}
.age-modal-close{position:absolute;top:14px;right:16px;width:34px;height:34px;border:none;background:var(--beige);border-radius:50%;font-size:22px;line-height:1;color:var(--navy);cursor:pointer}
.age-modal-close:hover{background:var(--peach-deep)}
.age-modal-ic{font-size:38px;line-height:1;margin-bottom:10px}
.age-modal-box h3{font-family:'Roboto';font-weight:900;font-size:21px;color:var(--ink);margin-bottom:6px;line-height:1.2}
.age-modal-box>p{font-size:14px;color:var(--navy);opacity:.85;margin-bottom:18px;line-height:1.45}
.age-modal-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.age-pkg{border:1.5px solid var(--peach-deep);border-radius:14px;padding:14px;transition:border-color .15s,box-shadow .15s}
.age-pkg:hover{border-color:var(--coral)}
.age-pkg-info b{font-family:'Roboto';font-weight:900;font-size:15px;color:var(--ink)}
.age-pkg-info span{color:var(--navy-soft);font-weight:500;font-size:13px}
.age-pkg-info small{display:block;font-size:12px;color:var(--navy);opacity:.75;margin-top:3px}
.age-pkg-btns{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.age-pkg-btns .btn{padding:9px 16px;font-size:13px;flex:1;min-width:130px;justify-content:center}
.age-modal-change{display:block;width:100%;text-align:center;background:transparent;border:none;color:var(--navy-soft);font-family:'Roboto';font-weight:700;font-size:13.5px;cursor:pointer;padding:10px;margin-top:4px}
.age-modal-change:hover{color:var(--coral-deep)}
@media(max-width:480px){.age-pkg-btns .btn{flex:none;width:100%}}

.cta-modal{
  display:none;
  position:fixed;inset:0;z-index:200;
  background:rgba(31,38,46,.72);
  backdrop-filter:blur(8px);
  padding:20px;
  align-items:center;justify-content:center;
  animation:ctaModalFade .25s ease;
}
.cta-modal.on{display:flex}
@keyframes ctaModalFade{from{opacity:0}to{opacity:1}}
@keyframes ctaModalSlide{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}

.cta-modal-box{
  background:var(--beige);
  border-radius:24px;
  max-width:880px;width:100%;
  max-height:90vh;
  overflow-y:auto;
  padding:36px 32px 28px;
  position:relative;
  box-shadow:0 32px 64px rgba(0,0,0,.32);
  animation:ctaModalSlide .35s cubic-bezier(.2,.9,.3,1.1);
}
.cta-modal-close{
  position:absolute;top:18px;right:18px;
  width:38px;height:38px;border-radius:50%;
  background:var(--white);border:1px solid var(--peach-deep);
  display:grid;place-items:center;
  font-family:'Roboto';font-weight:600;font-size:22px;color:var(--navy);
  cursor:pointer;line-height:1;
  transition:background .15s, transform .15s;
}
.cta-modal-close:hover{background:var(--peach-soft);transform:scale(1.05)}

.cta-modal h2{
  font-size:clamp(22px,3vw,32px);
  margin-bottom:8px;text-align:center;
}
.cta-modal p.subt{
  text-align:center;color:var(--navy);opacity:.75;
  font-size:14px;margin-bottom:28px;
}

.cta-modal-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  margin-bottom:8px;
}
.cta-modal-card{
  background:var(--white);
  border:2px solid var(--peach-deep);
  border-radius:18px;
  padding:24px 20px 22px;
  display:flex;flex-direction:column;gap:12px;
  cursor:pointer;
  text-decoration:none;color:inherit;
  transition:transform .2s, border-color .2s, box-shadow .2s;
  text-align:center;
  position:relative;
}
.cta-modal-card:hover{
  transform:translateY(-4px);
  border-color:var(--coral);
  box-shadow:0 12px 28px rgba(255,125,90,.22);
  color:inherit;
}
.cta-modal-card.featured{border-color:var(--coral);background:var(--white)}
.cta-modal-card.featured::before{
  content:"⭐ НАЙШВИДШЕ";
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:var(--coral);color:var(--white);
  font-family:'Roboto';font-weight:800;font-size:10px;
  letter-spacing:.12em;text-transform:uppercase;
  padding:5px 12px;border-radius:8px;white-space:nowrap;
}
.cta-modal-ic{
  width:56px;height:56px;border-radius:50%;
  background:var(--peach-soft);
  display:grid;place-items:center;font-size:28px;
  margin:0 auto;
}
.cta-modal-card.featured .cta-modal-ic{background:var(--coral);color:var(--white)}
.cta-modal-card h3{
  font-family:'Roboto';font-weight:900;font-size:18px;color:var(--ink);
  margin:0;line-height:1.2;
}
.cta-modal-card p{
  font-size:13px;color:var(--navy);line-height:1.45;margin:0;
}
.cta-modal-time{
  font-family:'Roboto';font-size:11px;color:var(--coral-deep);
  font-weight:700;letter-spacing:.06em;text-transform:uppercase;
}
.cta-modal-card .btn{
  width:100%;justify-content:center;margin-top:auto;
  padding:12px 20px;font-size:13.5px;
}

.cta-modal-fast-form{display:none;margin-top:8px}
.cta-modal-fast-form.on{display:block;animation:ctaModalSlide .3s ease}
.cta-modal-fast-form .field{margin-bottom:12px}
.cta-modal-fast-form label{display:block;font-family:'Roboto';font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);margin-bottom:6px}
.cta-modal-fast-form input,
.cta-modal-fast-form select{
  width:100%;padding:13px 14px;
  border:1.5px solid var(--peach-deep);
  border-radius:11px;font-size:15px;
  font-family:'Roboto';color:var(--ink);background:var(--white);
}
.cta-modal-fast-form input:focus,
.cta-modal-fast-form select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px rgba(87,106,128,.08)}
.cta-modal-fast-form button.submit{
  width:100%;padding:15px;
  background:var(--coral);color:var(--white);
  border:0;border-radius:100px;
  font-family:'Roboto';font-weight:700;font-size:15px;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(255,125,90,.32);
  margin-top:8px;
}
.cta-modal-fast-form button.submit:hover{background:var(--coral-deep)}
.cta-modal-back{
  background:transparent;border:none;color:var(--muted);
  font-family:'Roboto';font-weight:600;font-size:13px;
  cursor:pointer;padding:8px 0;margin-top:12px;
}
.cta-modal-back:hover{color:var(--ink)}
.cta-modal-success{display:none;text-align:center;padding:40px 20px}
.cta-modal-success.on{display:block}
.cta-modal-success .ok{
  width:72px;height:72px;border-radius:50%;
  background:var(--green);color:var(--white);
  font-family:'Roboto';font-weight:900;font-size:36px;
  display:grid;place-items:center;margin:0 auto 18px;
}

@media(max-width:680px){
  .cta-modal-box{padding:28px 22px}
  .cta-modal-grid{grid-template-columns:1fr;gap:10px}
}

/* ===== EXIT INTENT POPUP ===== */
.exit-popup{
  display:none;
  position:fixed;inset:0;z-index:210;
  background:rgba(31,38,46,.78);
  backdrop-filter:blur(8px);
  padding:20px;
  align-items:center;justify-content:center;
}
.exit-popup.on{display:flex;animation:ctaModalFade .3s ease}
.exit-popup-box{
  background:var(--white);
  border-radius:22px;
  max-width:480px;width:100%;
  padding:36px 32px;
  text-align:center;
  position:relative;
  box-shadow:0 32px 64px rgba(0,0,0,.32);
  border:3px solid var(--coral);
  animation:ctaModalSlide .35s cubic-bezier(.2,.9,.3,1.1);
}
.exit-popup-emoji{font-size:48px;margin-bottom:8px;line-height:1}
.exit-popup-box h3{
  font-size:24px;color:var(--ink);margin-bottom:8px;line-height:1.2;
}
.exit-popup-box p{
  font-size:14px;color:var(--navy);opacity:.78;margin-bottom:20px;line-height:1.5;
}
.exit-popup-box input{
  width:100%;padding:14px 16px;
  border:1.5px solid var(--peach-deep);
  border-radius:12px;font-size:15px;
  margin-bottom:10px;font-family:'Roboto';
}
.exit-popup-box input:focus{outline:none;border-color:var(--coral)}
.exit-popup-box .ep-sel{width:100%;padding:13px 16px;border:1.5px solid var(--peach-deep);border-radius:12px;font-size:14.5px;margin-bottom:10px;font-family:'Roboto';background:#fff;color:var(--ink);cursor:pointer}
.exit-popup-box .ep-sel:focus{outline:none;border-color:var(--coral)}
.exit-popup-box button.cta{
  width:100%;padding:15px;
  background:var(--coral);color:var(--white);
  border:0;border-radius:100px;
  font-family:'Roboto';font-weight:700;font-size:15px;
  cursor:pointer;margin-top:6px;
  box-shadow:0 8px 24px rgba(255,125,90,.32);
}
.exit-popup-box button.cta:hover{background:var(--coral-deep)}
.exit-popup-box .dismiss{
  background:none;border:none;color:var(--muted);
  font-family:'Roboto';font-size:12.5px;cursor:pointer;
  margin-top:14px;text-decoration:underline;
}
.exit-popup-close{
  position:absolute;top:14px;right:14px;
  width:32px;height:32px;border-radius:50%;
  background:var(--beige);border:1px solid var(--peach-deep);
  font-size:20px;cursor:pointer;color:var(--navy);
}

/* ===== FOOTER ===== */
footer.site{background:var(--navy-deep);color:rgba(255,255,255,.7);padding:60px 0 30px;font-size:13px;line-height:1.5}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;margin-bottom:36px}
.foot-brand-block .nav-mark{color:var(--white);margin-bottom:16px;width:48px;height:48px}
.foot-brand{font-family:'Roboto';font-weight:900;font-size:22px;color:var(--white);margin-bottom:6px;line-height:1}
.foot-brand-sub{font-size:12.5px;line-height:1.55;color:rgba(255,255,255,.6);max-width:300px;margin-bottom:14px}
.foot-foundation{font-family:'Roboto';font-size:11px;color:var(--peach-deep);text-transform:uppercase;letter-spacing:.12em}
.foot-col h5,.foot-col .foot-h{font-family:'Roboto';font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--peach-deep);margin-bottom:16px}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.foot-col a{color:rgba(255,255,255,.78);font-size:13.5px}
.foot-col a:hover{color:var(--coral)}
.foot-bot{padding-top:24px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-family:'Roboto';font-size:11px;color:rgba(255,255,255,.42)}
.foot-bot a{color:rgba(255,255,255,.6)}
@media(max-width:780px){.foot-grid{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}

/* ===== UTILITY: dark section gets light eyebrow ===== */
.section.dark .eyebrow{color:var(--peach)}

/* ============================================================
   PACKAGE CARD — спільний компонент (як на головній сторінці)
   ============================================================ */
.pkg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:1080px){.pkg-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.pkg-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.pkg-grid{grid-template-columns:1fr}}
.pkg-card{
  background:var(--white);border:1px solid var(--peach-deep);border-radius:16px;
  padding:22px 22px 18px;text-decoration:none;color:var(--ink);
  box-shadow:var(--shadow-1);position:relative;overflow:hidden;
  display:flex;flex-direction:column;gap:12px;
  transition:transform .25s ease, box-shadow .25s ease, border-color .15s;
}
.pkg-card.hidden{display:none}
.pkg-card:hover{transform:translateY(-5px);box-shadow:0 14px 40px rgba(255,125,90,.18);color:var(--ink);border-color:var(--coral)}
.pkg-card .pc-top{display:flex;justify-content:space-between;align-items:center;padding-top:8px}
.pkg-card .pc-thumb-mini{
  width:60px;height:60px;border-radius:14px;flex-shrink:0;
  background:var(--peach-soft);border:1.5px solid var(--peach-deep);
  box-shadow:0 4px 12px rgba(0,0,0,.08);display:grid;place-items:center;color:var(--coral-deep);
  transition:transform .25s ease, background .25s, color .25s;
}
.pkg-card:hover .pc-thumb-mini{transform:scale(1.08) rotate(-3deg)}
.pkg-card .pc-thumb-mini .pkg-emoji{font-size:32px;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.12))}
.dlg-mesh{display:block}
.pkg-card .pc-thumb-mini:has(.dlg-mesh){background:transparent;border:0;box-shadow:none}
.pkg-card .pc-thumb-mini .dlg-mesh{width:100%;height:100%}
.pkg-card.cat-peach .pc-thumb-mini{background:#FFE4CB;color:#E66E4D}
.pkg-card.cat-coral .pc-thumb-mini{background:#FFE4DB;color:#E66E4D}
.pkg-card.cat-navy  .pc-thumb-mini{background:#FFE4CB;color:#1F262E;border-color:#1F262E}
.pkg-card.cat-sage  .pc-thumb-mini{background:#E8F0EE;color:#6F7E7A;border-color:#A8C0BA}
.pkg-card.cat-ua    .pc-thumb-mini{background:#F4DD97;color:#4A77A8;border-color:#A9C7E8}
.pkg-card.cat-lilac .pc-thumb-mini{background:#EBEBFF;color:#576A80;border-color:#C7C7D9}
.pkg-card .pc-class{
  font-family:'Roboto',sans-serif;font-weight:800;font-size:13px;
  background:var(--beige-deep);color:var(--ink);padding:6px 12px;border-radius:8px;
  letter-spacing:-.01em;white-space:nowrap;
}
.pkg-card .pc-title{margin-top:4px}
.pkg-card .pc-title .nm{font-family:'Roboto';font-weight:900;font-size:22px;color:var(--ink);letter-spacing:.01em;line-height:1.05;margin:0 0 4px 0}
.pkg-card .pc-title .ua-name{font-family:'Roboto';font-weight:400;font-size:13px;color:var(--muted);line-height:1.3}
.pkg-card .pc-desc{font-size:13.5px;color:var(--navy);opacity:.82;line-height:1.5;flex:1;margin:0}
.pkg-card .pc-fmts{display:flex;flex-wrap:wrap;gap:5px}
.pc-fmt-chip{font-family:'Roboto','Roboto Mono',monospace;font-weight:700;font-size:10px;padding:4px 8px;border-radius:6px;letter-spacing:.06em;text-transform:uppercase}
.pc-fmt-offline{background:#FFE4DB;color:#E66E4D}
.pc-fmt-hybrid{background:#EBEBFF;color:#576A80}
.pc-fmt-online{background:#FAF2ED;color:#83938F}
.pc-fmt-ua-only{background:#F4DD97;color:#3A5E8C}
.pkg-card .pc-foot{display:flex;justify-content:space-between;align-items:flex-end;margin:14px -22px -18px;padding:16px 22px 18px;border-top:1px dashed var(--peach-deep);background:#FBF3EC;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}
.pkg-card.cat-peach .pc-foot{background:#FFF1E6}
.pkg-card.cat-coral .pc-foot{background:#FFF0EA}
.pkg-card.cat-navy  .pc-foot{background:#EEF1F5}
.pkg-card.cat-sage  .pc-foot{background:#EBF3F0}
.pkg-card.cat-ua    .pc-foot{background:#FAF4DD}
.pkg-card.cat-lilac .pc-foot{background:#EFEFFB}
.pkg-card .pc-foot .pr{font-family:'Roboto';font-weight:800;font-size:18px;color:var(--coral-deep);line-height:1}
.pkg-card .pc-foot .pr small{display:block;font-family:'Roboto';font-weight:400;font-size:11px;color:var(--muted);margin-top:4px}
.pkg-card .pc-foot .ar{color:var(--coral-deep);font-weight:800;font-size:14px;font-family:'Roboto'}
.pkg-card:hover .pc-foot .ar{transform:translateX(3px);transition:transform .2s}
.pkg-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--peach-deep);transition:height .25s ease}
.pkg-card:hover::before{height:6px}
.pkg-card.cat-peach::before{background:linear-gradient(90deg,#FFD8B4,#ECC49F)}
.pkg-card.cat-coral::before{background:linear-gradient(90deg,#FF7D5A,#E66E4D)}
.pkg-card.cat-navy::before{background:linear-gradient(90deg,#333D49,#1F262E)}
.pkg-card.cat-sage::before{background:linear-gradient(90deg,#A8C0BA,#83938F)}
.pkg-card.cat-ua::before{background:linear-gradient(90deg,#A9C7E8 50%,#F4DD97 50%)}
.pkg-card.cat-lilac::before{background:linear-gradient(90deg,#EBEBFF,#C7C7D9)}
.pkg-card.cat-navy .pr,.pkg-card.cat-navy .ar{color:#1F262E}
.pkg-card.cat-sage .pr,.pkg-card.cat-sage .ar{color:#6F7E7A}
.pkg-card.cat-ua .pr,.pkg-card.cat-ua .ar{color:#4A77A8}
.pkg-card.cat-lilac .pr,.pkg-card.cat-lilac .ar{color:#576A80}
.pkg-badge{
  position:absolute;top:-1px;right:14px;z-index:3;font-family:'Roboto',sans-serif;
  font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  padding:6px 12px;border-radius:0 0 10px 10px;box-shadow:0 6px 16px rgba(0,0,0,.18);
  line-height:1;white-space:nowrap;
}
.badge-new{background:#FFE4CB;color:#1F262E}
.badge-popular{background:#E66E4D;color:#fff}
.badge-cheap{background:#83938F;color:#fff}
.badge-exam{background:#1F262E;color:#FFE4CB}
.badge-uni{background:#A9C7E8;color:#274B73}
.badge-flex{background:#EBEBFF;color:#1F262E}
.badge-care{background:#FFA086;color:#1F262E}

/* ============================================================
   МІСТ МІЖ КРАЇНАМИ (Польща ↔ Україна) — блок локацій
   ============================================================ */
.bridge{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;
  background:var(--white);border:1px solid var(--peach-deep);border-radius:24px;
  padding:40px 44px 36px;margin:8px 0 18px;overflow:hidden;box-shadow:var(--shadow-1)}
.bridge-arc{position:absolute;left:0;right:0;top:16px;height:150px;width:100%;z-index:1;pointer-events:none}
.arc-track{fill:none;stroke:var(--peach-deep);stroke-width:1.6;stroke-dasharray:4 7;opacity:.6}
.arc-glow{fill:none;stroke-width:3.4;stroke-linecap:round;stroke-dasharray:64 640}
/* UA → PL: синьо-жовтий потік */
.arc-glow-ua{stroke:url(#g_ua);animation:arcflow-ua 3.4s linear infinite;filter:drop-shadow(0 0 4px rgba(0,91,187,.45))}
@keyframes arcflow-ua{to{stroke-dashoffset:704}}
/* PL → UA: біло-червоний потік */
.arc-glow-pl{stroke:url(#g_pl);animation:arcflow-pl 3.4s linear infinite;filter:drop-shadow(0 0 4px rgba(230,57,70,.45))}
@keyframes arcflow-pl{to{stroke-dashoffset:-704}}
.arc-dot{stroke-width:2.4;fill:#fff}
.arc-dot-ua{stroke:#576A80;filter:drop-shadow(0 0 6px rgba(236,196,159,.8))}
.arc-dot-pl{stroke:#E63946;filter:drop-shadow(0 0 6px rgba(230,57,70,.85))}
.arc-pin-pulse{transform-box:fill-box;transform-origin:center;animation:arcpin 2.4s ease-out infinite;opacity:.5}
@keyframes arcpin{0%{transform:scale(1);opacity:.5}70%{transform:scale(3.2);opacity:0}100%{opacity:0}}
.bridge-mid{position:absolute;left:50%;top:9px;transform:translateX(-50%);z-index:2;
  background:var(--ink);color:#fff;font-family:'Roboto';font-weight:800;font-size:12px;letter-spacing:.05em;text-transform:uppercase;
  padding:8px 18px;border-radius:100px;box-shadow:0 6px 16px rgba(28,33,52,.22)}
.bridge-side{position:relative;z-index:2;display:flex;flex-direction:column;padding-top:78px}
.bridge-pl{align-items:flex-start;text-align:left}
.bridge-ua{align-items:flex-end;text-align:right}
.bridge-flag{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;font-size:26px;line-height:1;margin-bottom:12px;background:#fff;border:1px solid var(--peach-deep);box-shadow:0 6px 16px rgba(28,33,52,.14)}
.bridge-title{font-family:'Roboto';font-weight:900;font-size:26px;color:var(--ink);line-height:1}
.bridge-sub{font-size:13.5px;color:var(--navy-soft);margin:6px 0 16px}
.bridge-cities{display:flex;flex-wrap:wrap;gap:8px 9px;max-width:430px;align-items:flex-start}
.bridge-ua .bridge-cities{justify-content:flex-end}
.bcity{display:inline-flex;align-items:center;gap:7px;font-family:'Roboto';font-weight:700;font-size:13.5px;padding:7px 14px 7px 10px;border-radius:100px;background:var(--beige);border:1px solid var(--peach-deep);color:var(--ink);text-decoration:none;transition:border-color .15s,color .15s,box-shadow .2s}
.bcity-ic{font-size:18px;line-height:1}
/* органічний (несиметричний) стаґер чіпів */
.bridge-cities .bcity:nth-child(3n){transform:translateY(6px)}
.bridge-cities .bcity:nth-child(3n+2){transform:translateY(-4px)}
.bridge-cities .bcity:nth-child(4n){transform:translateY(3px)}
a.bcity:hover{border-color:var(--coral);color:var(--coral-deep);box-shadow:0 6px 14px rgba(255,125,90,.2)}
.bridge-ua .bcity{background:#FFFBEE}
@media(max-width:760px){
  .bridge{grid-template-columns:1fr;gap:22px;padding:26px 20px}
  .bridge-arc{display:none}
  .bridge-mid{position:static;transform:none;align-self:flex-start;margin-bottom:6px}
  .bridge-side{padding-top:0}
  .bridge-ua{align-items:flex-start;text-align:left}
  .bridge-ua .bridge-cities{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){.arc-glow,.arc-pin-pulse{animation:none}}

/* ============================================================
   #1 МАПА ПОЛЬЩІ
   ============================================================ */
.pl-map-wrap{max-width:620px;margin:0 auto}
.pl-map{width:100%;height:auto;display:block;overflow:visible}
.pl-map-shape{fill:var(--sage-soft);fill-opacity:.32;stroke:var(--sage);stroke-width:2.5;stroke-linejoin:round}
.pl-pin{cursor:pointer}
.pl-pin-dot{fill:var(--coral);stroke:#fff;stroke-width:2;transition:r .2s, fill .2s}
.pl-pin.big .pl-pin-dot{fill:var(--coral-deep)}
.pl-pin-pulse{fill:var(--coral);opacity:.35;transform-origin:center;animation:plPulse 2.6s ease-out infinite}
.pl-pin:nth-child(3n) .pl-pin-pulse{animation-delay:.6s}
.pl-pin:nth-child(3n+1) .pl-pin-pulse{animation-delay:1.2s}
@keyframes plPulse{0%{transform:scale(1);opacity:.4}70%{transform:scale(2.6);opacity:0}100%{opacity:0}}
.pl-pin-lbl{font-family:'Roboto',sans-serif;font-weight:800;font-size:14px;fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
.pl-pin:hover .pl-pin-dot{r:9;fill:var(--coral-deep)}
.pl-pin:hover .pl-pin-lbl{fill:var(--coral-deep)}
@media(max-width:520px){.pl-pin-lbl{font-size:16px}}

/* ============================================================
   #2 ОСВІТНЯ ТРАЄКТОРІЯ (timeline)
   ============================================================ */
.tl{margin:0 auto;max-width:1120px}
.tl-rowlbl{font-family:'Roboto';font-weight:800;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-soft);margin:0 0 9px;text-align:center}
.tl-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:16px}
/* слім-пігулка: емодзі + назва в один рядок */
.tl-card{
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 15px;border-radius:100px;text-decoration:none;
  background:var(--white);border:1px solid var(--peach-deep);
  border-left:4px solid var(--peach-deep);
  transition:transform .15s, box-shadow .15s, border-color .15s;
  white-space:nowrap;
}
.tl-card:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(28,33,52,.10);border-color:var(--coral)}
.tl-card-emoji{font-size:15px;line-height:1}
.tl-card-name{font-family:'Roboto';font-weight:800;font-size:12.5px;color:var(--ink);letter-spacing:.02em}
/* кольоровий лівий акцент за категорією */
.tl-card.cat-peach{border-left-color:#ECC49F}
.tl-card.cat-coral{border-left-color:#FF7D5A}
.tl-card.cat-navy{border-left-color:#1F262E}
.tl-card.cat-sage{border-left-color:#83938F}
.tl-card.cat-ua{border-left-color:#A9C7E8}
.tl-card.cat-lilac{border-left-color:#9aa0c2}

/* ============================================================
   ОРБІТАЛЬНІ ПРЕДМЕТИ — різні летючі речі з назвою (декор головної)
   Структура: a.orbit-obj > span.oo-inner > (span.oo-art svg + span.oo-name)
   Зовнішній <a> рухає JS (scroll+mouse), внутрішній — цикл появи/зникнення+float.
   ============================================================ */
.orbit-obj{position:absolute;z-index:0;display:block;width:-moz-max-content;width:max-content;max-width:200px;text-decoration:none;pointer-events:auto;cursor:pointer;will-change:transform}
.oo-inner{
  display:flex;flex-direction:column;align-items:center;gap:5px;
  opacity:0;
  animation:oo-life var(--dur,16s) ease-in-out infinite;
}
.oo-art{display:grid;place-items:center;filter:drop-shadow(0 7px 16px rgba(28,33,52,.18))}
.oo-art svg{display:block}
.oo-name{
  font-family:'Roboto',sans-serif;font-weight:800;letter-spacing:.02em;color:var(--ink);
  white-space:nowrap;line-height:1;
  background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  border:1px solid var(--peach-deep);border-radius:100px;padding:3px 10px;
  box-shadow:0 3px 8px rgba(28,33,52,.08);
}
/* розмір предмета за шаром */
.orbit-far  .oo-art svg{width:30px;height:30px}
.orbit-far  .oo-name{font-size:10px;padding:2px 8px}
.orbit-mid  .oo-art svg{width:44px;height:44px}
.orbit-mid  .oo-name{font-size:12px}
.orbit-near .oo-art svg{width:58px;height:58px}
.orbit-near .oo-name{font-size:14px;padding:4px 12px}
/* категорійний колір імені */
.orbit-obj.cat-coral .oo-name,.orbit-obj.cat-peach .oo-name{color:#C24F2E}
.orbit-obj.cat-ua    .oo-name{color:#004C9F}
.orbit-obj.cat-sage  .oo-name{color:#4F5D5A}
.orbit-obj.cat-lilac .oo-name{color:#3E4E63}
/* hover — спинити цикл, підняти, підсвітити */
.orbit-obj:hover{z-index:3}
.orbit-obj:hover .oo-inner{animation-play-state:paused;opacity:1 !important}
.orbit-obj:hover .oo-name{border-color:var(--coral);box-shadow:0 10px 24px rgba(255,125,90,.28)}
/* цикл життя: поява знизу → плавання → зникнення */
@keyframes oo-life{
  0%   {opacity:0; transform:translateY(16px) scale(.86) rotate(var(--rot,0deg))}
  12%  {opacity:1}
  50%  {transform:translateY(-12px) scale(1) rotate(calc(var(--rot,0deg) + 3deg))}
  88%  {opacity:1}
  100% {opacity:0; transform:translateY(16px) scale(.86) rotate(var(--rot,0deg))}
}
.orbit-far .oo-inner{--peak:.5}
@media(max-width:760px){
  /* Декоративні орбіт-об'єкти — лише десктоп. На мобільному немає простору
     по боках, вони перекривають текст → ховаємо повністю. */
  .orbit-obj{display:none !important}
}
@media(prefers-reduced-motion:reduce){
  .oo-inner{animation:none;opacity:.85;transform:rotate(var(--rot,0deg))}
}

/* mesh/line icon system (#18) — shared */
.mk{width:14px;height:14px;vertical-align:-2px;color:var(--navy-soft);flex:none;display:inline-block}
.city-badge .mk{margin-right:6px;color:var(--coral-deep)}
.chc-facts li .mk{width:18px;height:18px;color:var(--coral-deep);margin-right:8px;vertical-align:-4px}
.city-why-card .ic .mk{width:30px;height:30px;color:var(--coral-deep)}
.city-mid-form .alt a .mk{width:15px;height:15px;vertical-align:-2px;margin-right:5px;color:currentColor}
.foot-col .mk{width:14px;height:14px;vertical-align:-2px;margin-right:5px;color:currentColor}
.tl-card-emoji .dlg-mesh{width:34px;height:34px}
.sticky-bar-ic .mk{width:20px;height:20px;vertical-align:-4px;color:currentColor}
.cta-modal-ic .mk{width:24px;height:24px;color:var(--coral-deep)}
.age-modal-ic .mk{width:24px;height:24px;color:var(--coral-deep)}
.ph-outputs-lbl .mk,.path-footnote .mk{width:14px;height:14px;vertical-align:-2px;margin-right:4px;color:currentColor}
.art-banner-ic .mk{width:30px;height:30px;color:var(--coral-deep)}
.art-cta .mk,.art-inline-cta .mk{width:16px;height:16px;vertical-align:-3px;margin-right:5px;color:currentColor}
.qsl-ic .mk,.bridge .mk{width:22px;height:22px;color:var(--coral-deep)}
.bcity-ic .mk{width:17px;height:17px;color:var(--coral-deep);vertical-align:-3px}
.chc-emoji .mk{width:46px;height:46px;color:var(--coral-deep)}

/* ============================================================
   QUALITY LAYER — consistency pass (waves 1-2)
   ============================================================ */
:root{
  --radius-s:10px; --radius-m:16px; --radius-l:24px; --radius-pill:100px;
  --container:1240px;
  --section-pad:clamp(48px,7vw,88px);
  --muted-strong:#48566b; /* AA-safe small text on light */
}
/* #7 keyboard focus — single brand ring */
a:focus,button:focus,input:focus,select:focus,textarea:focus,summary:focus,[tabindex]:focus{outline:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--coral);outline-offset:2px;border-radius:8px;
}
/* #8 contrast — lift the lightest muted small text */
.sub,.pc-desc,.ph-fmt-val,.foot-brand-sub,.city-pkg-meta{color:var(--muted-strong)}
/* #16 bridge — calmer repeated pins */
.bridge-cities .bcity-ic .mk{opacity:.7}
/* a11y: respect reduced motion globally */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
.skip-link{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--coral);color:#fff;padding:10px 18px;border-radius:0 0 12px 0;font-weight:700;font-family:'Roboto',sans-serif}
.skip-link:focus{left:0}
.bridge-flag .mk{width:30px;height:30px;color:var(--coral-deep)}
.chc-emoji .dlg-mesh{width:74px;height:74px;margin:0 auto}
.map-online-bar .icon .mk{width:24px;height:24px;color:currentColor}
.plh-badge .mk{width:15px;height:15px;vertical-align:-2px;margin-right:5px;color:var(--coral-deep)}
.plh-why-card .ic .mk{width:30px;height:30px;color:var(--coral-deep)}
.art-meta .mk{width:14px;height:14px;vertical-align:-2px;margin-right:4px;color:var(--mut,#576A80)}
.cmp-note .mk{width:16px;height:16px;vertical-align:-3px;margin-right:5px;color:var(--coral-deep)}

/* a11y tap targets (WCAG 2.5.5): standalone controls >=44px (inline links exempt per 2.5.8) */
.btn,.nav-cta{min-height:44px}
.ph-tab{min-height:48px}
.sticky-bar-item{min-height:48px}
.nav-burger{width:44px;height:44px}
.crumb-row a{display:inline-block;padding-block:6px}

/* Scholl-5: 3D package icon on package-page hero */
.ph-ico3d{width:84px;height:84px;border-radius:20px;display:block;margin-bottom:16px;filter:drop-shadow(0 6px 16px rgba(87,106,128,.2))}
@media(max-width:680px){.ph-ico3d{width:68px;height:68px;margin-bottom:12px}}

/* Scholl-8: new "two paths" logo mark — pulsing goal dot */
.nav-mark svg,.prog-logo svg{overflow:visible}
@media (prefers-reduced-motion: no-preference){
  .nm-dot{transform-origin:32px 18px;animation:nmDotPulse 3.2s ease-in-out infinite}
}
@keyframes nmDotPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.13)}}

/* ===== Package 3D icons — tiles + animations (Defect-1) ===== */
.pc-ic{width:58px;height:58px;border-radius:16px;overflow:hidden;flex:0 0 auto}
.pc-ic svg{width:100%;height:100%;display:block}
.ph-buy-photo[data-icon]{width:100%;max-width:208px;margin:0 auto 18px;aspect-ratio:1/1;border-radius:20px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#FAF2ED}
.ph-buy-photo svg{width:88%;height:88%;margin:6% auto;display:block}
@media (prefers-reduced-motion: no-preference){
  :where(.pc-ic,.ph-buy-photo) .fl{animation:dlg-fl 4s ease-in-out infinite}
  :where(.pc-ic,.ph-buy-photo) .float2,:where(.pc-ic,.ph-buy-photo) .bob{animation:dlg-float2 4.5s ease-in-out infinite}
  :where(.pc-ic,.ph-buy-photo) .blink,:where(.pc-ic,.ph-buy-photo) .wifi{animation:dlg-blink 2.6s ease-in-out infinite}
  :where(.pc-ic,.ph-buy-photo) .wheel{animation:dlg-spin 6s linear infinite}
  :where(.pc-ic,.ph-buy-photo) .wheel2{animation:dlg-spin 8s linear infinite reverse}
  :where(.pc-ic,.ph-buy-photo) .spark{animation:dlg-spark 3s ease-in-out infinite}
  :where(.pc-ic,.ph-buy-photo) .spark2{animation:dlg-spark 3.4s ease-in-out .8s infinite}
  :where(.pc-ic,.ph-buy-photo) .pageflip{animation:dlg-pageflip 4s ease-in-out infinite}
  :where(.pc-ic,.ph-buy-photo) .wave{animation:dlg-wave 3.5s ease-in-out infinite}
  :where(.pc-ic,.ph-buy-photo) .wave2{animation:dlg-wave2 3.6s ease-in-out infinite}
  :where(.pc-ic,.ph-buy-photo) .check,:where(.pc-ic,.ph-buy-photo) .pop{animation:dlg-pop 3s ease-in-out infinite}
  :where(.pc-ic,.ph-buy-photo) .leap{animation:dlg-leap 3s ease-in-out infinite}
  :where(.pc-ic,.ph-buy-photo) .reach{animation:dlg-reach 4s ease-in-out infinite}
  :where(.pc-ic,.ph-buy-photo) .pulse{animation:dlg-pulse 2.8s ease-in-out infinite}
  :where(.pc-ic,.ph-buy-photo) .beat{animation:dlg-beat 2.4s ease-in-out infinite}
  :where(.pc-ic,.ph-buy-photo) .toss{animation:dlg-toss 4s ease-in-out infinite}
  :where(.pc-ic,.ph-buy-photo) .tassel{animation:dlg-tassel 5s ease-in-out infinite}
  :where(.pc-ic,.ph-buy-photo) .rise1{animation:dlg-rise 4s ease-in-out infinite}
  :where(.pc-ic,.ph-buy-photo) .rise2{animation:dlg-rise 4s ease-in-out .5s infinite}
  :where(.pc-ic,.ph-buy-photo) .ray{animation:dlg-spin 18s linear infinite}
  :where(.pc-ic,.ph-buy-photo) .spin-slow{animation:dlg-spin 20s linear infinite}
  :where(.pc-ic,.ph-buy-photo) .conf{animation:dlg-conf 4s ease-in-out infinite}
  :where(.pc-ic,.ph-buy-photo) .rings{animation:dlg-rings 3s ease-out infinite}
  :where(.pc-ic,.ph-buy-photo) .dash{animation:dlg-dash 3s linear infinite}
  :where(.pc-ic,.ph-buy-photo) .grow{animation:dlg-grow 5s ease-in-out infinite}
  :where(.pc-ic,.ph-buy-photo) .wig{animation:dlg-wig 4s ease-in-out infinite}
  :where(.pc-ic,.ph-buy-photo) .flame{animation:dlg-flame 1.1s ease-in-out infinite}
}
@keyframes dlg-fl{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
@keyframes dlg-float2{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.5px)}}
@keyframes dlg-blink{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes dlg-spin{to{transform:rotate(360deg)}}
@keyframes dlg-spark{0%,100%{opacity:.3;transform:scale(.7)}50%{opacity:1;transform:scale(1.1)}}
@keyframes dlg-pageflip{0%,100%{transform:rotateY(0)}50%{transform:rotateY(26deg)}}
@keyframes dlg-wave{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
@keyframes dlg-wave2{0%,100%{transform:skewX(0) translateY(0)}50%{transform:skewX(-6deg) translateY(-1px)}}
@keyframes dlg-leap{0%,100%{transform:translateY(0)}40%{transform:translateY(-4px)}}
@keyframes dlg-reach{0%,100%{transform:translateY(1px)}50%{transform:translateY(-3px)}}
@keyframes dlg-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes dlg-pop{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
@keyframes dlg-beat{0%,100%,30%{transform:scale(1)}15%{transform:scale(1.12)}45%{transform:scale(1.07)}}
@keyframes dlg-toss{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(8deg) translateY(-2px)}}
@keyframes dlg-tassel{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@keyframes dlg-rise{0%,100%{transform:translateY(1.5px)}50%{transform:translateY(-2.5px)}}
@keyframes dlg-conf{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(-6px) rotate(40deg);opacity:.4}}
@keyframes dlg-rings{0%{transform:scale(.6);opacity:.8}100%{transform:scale(1.3);opacity:0}}
@keyframes dlg-dash{to{stroke-dashoffset:-24}}
@keyframes dlg-grow{0%,100%{transform:scaleY(.93)}50%{transform:scaleY(1.03)}}
@keyframes dlg-wig{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes dlg-flame{0%,100%{transform:scaleY(1);opacity:.9}50%{transform:scaleY(1.2);opacity:1}}

/* ===== Unified light package card (city pages + anywhere via partials) — overrides legacy ===== */
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
@media(max-width:1000px){.pkg-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pkg-grid{grid-template-columns:1fr}}
.pkg-card{position:relative;display:flex;flex-direction:column;gap:11px;padding:20px;border-radius:var(--radius-l);background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-1);text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .15s;overflow:hidden;min-width:0}
.pkg-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-2);border-color:var(--coral);color:var(--ink)}
.pkg-card .pc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:0;padding-top:0}
.pkg-card .pc-tags{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}
.pkg-card .pc-tag{font-family:'JetBrains Mono',ui-monospace,monospace;font-weight:700;font-size:9.5px;text-transform:uppercase;padding:5px 9px;border-radius:6px;white-space:nowrap;letter-spacing:.02em}
.pkg-card .pc-tag.t-offline{background:#A8C0BA;color:#1F262E}
.pkg-card .pc-tag.t-hybrid{background:#FFD8B4;color:#1F262E}
.pkg-card .pc-tag.t-online{background:#EBEBFF;color:#576A80}
.pkg-card .pc-tag.t-ua-only{background:#FFE4DB;color:#E66E4D}
.pkg-card .nm{font-family:'Roboto';font-weight:900;font-size:18px;text-transform:uppercase;color:var(--ink);letter-spacing:-.01em;line-height:1.05;margin:0}
.pkg-card .ua-name{font-family:'JetBrains Mono',ui-monospace,monospace;font-weight:600;font-size:11px;text-transform:uppercase;color:var(--muted);margin-top:5px;letter-spacing:.01em}
.pkg-card .pc-desc{font-size:13.5px;line-height:1.5;color:#333D49;opacity:.82;margin:8px 0 0;flex:1}
.pkg-card .pc-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:6px;padding-top:11px;border-top:1px solid var(--border)}
.pkg-card .pc-pr{font-family:'Roboto';font-weight:900;font-size:16px;color:var(--coral-deep);line-height:1}
.pkg-card .pc-pr small{display:block;font-family:'JetBrains Mono',ui-monospace,monospace;font-weight:400;font-size:10px;color:var(--muted);margin-top:5px;letter-spacing:0}
.pkg-card .pc-ar{font-family:'Roboto';font-weight:800;font-size:13px;color:var(--coral-deep);white-space:nowrap}
.pkg-card:hover .pc-ar{transform:translateX(3px);transition:transform .2s}

/* ===== Location 3D icons (Scholl-9) — homepage chips + city page hero ===== */
.loc-ic{display:inline-grid;place-items:center}
.loc-ic svg{display:block;width:100%;height:100%}
.bcity-ic.loc-ic{width:30px;height:30px;font-size:0}
.chc-ic{width:108px;height:108px;margin:0 auto 6px;display:block}
.chc-ic svg{width:100%;height:100%;display:block}
@media (prefers-reduced-motion: no-preference){
  .loc-ic .fl{animation:dlg-fl 4.5s ease-in-out infinite}
  .loc-ic .glow{animation:loc-glow 3.5s ease-in-out infinite}
  .loc-ic .crane{animation:loc-sway 4s ease-in-out infinite}
  .loc-ic .jet{animation:loc-jet 2.6s ease-in-out infinite}
  .loc-ic .cloud{animation:loc-cloud 7s ease-in-out infinite}
  .loc-ic .bird{animation:loc-bird 6s linear infinite}
  .loc-ic .smoke{animation:loc-smoke 3.6s ease-in-out infinite}
  .loc-ic .wave{animation:loc-wave 3.5s ease-in-out infinite}
  .loc-ic .goats{animation:loc-goats 3s ease-in-out infinite}
  .loc-ic .spin{animation:dlg-spin 16s linear infinite}
}
@keyframes loc-glow{0%,100%{opacity:.5}50%{opacity:.92}}
@keyframes loc-sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes loc-jet{0%,100%{transform:scaleY(.85);opacity:.7}50%{transform:scaleY(1.1);opacity:1}}
@keyframes loc-cloud{0%,100%{transform:translateX(-2px)}50%{transform:translateX(3px)}}
@keyframes loc-bird{0%{transform:translateX(-2px)}50%{transform:translateX(3px) translateY(-1px)}100%{transform:translateX(-2px)}}
@keyframes loc-smoke{0%{transform:translateY(0);opacity:.55}100%{transform:translateY(-6px);opacity:0}}
@keyframes loc-wave{0%,100%{transform:translateY(0)}50%{transform:translateY(1.5px)}}
@keyframes loc-goats{0%,100%{transform:translateX(0)}50%{transform:translateX(1.5px)}}

/* Online landing chips in the bridge */
.bcity-online{border-color:var(--coral)!important;font-weight:800}
.bcity-online:hover{background:var(--coral);color:#fff}

/* #9 Reduced-motion: disable decorative motion for users who prefer it */
@media (prefers-reduced-motion: reduce){
  .orbit-obj,.arc-dot,.arc-pin-pulse,.nm-dot,.dlg-mesh,.bob,.pop,.fl,.spark,.spark2,.ray,.flame,.grow,.wave2,.wig,.tassel,.beat,.rise2,
  .loc-ic *{animation:none!important}
  *{scroll-behavior:auto!important}
}
/* #8 Primary CTA legibility — large bold text meets WCAG AA "large" (3:1) on coral */
.btn-primary,.nav-cta,.city-cta-btn,.lp-cta{font-size:16px;font-weight:800;letter-spacing:.005em}

/* PL: локалізація бейджа featured-картки CTA-модалки */
html[lang="pl"] .cta-modal-card.featured::before{ content:"⭐ NAJSZYBCIEJ"; }
