/* ==========================================================================
   Uni Navigators - Modern enhancements stylesheet
   Drop-in additions: nothing here overrides existing layout.
   Adds: hover effects, scroll-reveal, counters, cards, accordions,
   tabs, process steps, comparison tables, CTAs, blog typography.
   ========================================================================== */

/* ---------- Stable shared header (lock-in) ----------
   Forces the same look on every page even when a page has its own
   inline <style> block that defined .nav / .logo / .site-header /
   etc. from older versions of the site. */
html body header.un-header{
  position:sticky !important;
  top:0 !important;
  left:auto !important;
  right:auto !important;
  z-index:200 !important;
  background:rgba(23,70,96,.98) !important;
  color:#fff !important;
  box-shadow:0 10px 30px rgba(0,0,0,.10) !important;
  width:100% !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
html body header.un-header .un-header__wrap{
  width:min(1280px,calc(100% - 40px)) !important;
  margin-inline:auto !important;
  min-height:104px !important;
  display:grid !important;
  grid-template-columns:220px 1fr !important;
  gap:24px !important;
  align-items:center !important;
  padding:0 !important;
}
html body header.un-header .un-logo{display:grid !important;place-items:center !important;background:#fff !important;min-height:78px !important;padding:8px !important;border-radius:0 !important}
html body header.un-header .un-logo img{max-width:100% !important;height:auto !important;display:block !important;width:auto !important}
html body header.un-header .un-main-nav{display:flex !important;gap:20px !important;align-items:center !important;justify-content:flex-end !important;flex-wrap:wrap !important;font-weight:800 !important}
html body header.un-header .un-main-nav a{text-decoration:none !important;color:rgba(255,255,255,.92) !important;padding-bottom:6px !important;border-bottom:2px solid transparent !important;font-size:1rem !important;line-height:1.2 !important}
html body header.un-header .un-main-nav a:hover,
html body header.un-header .un-main-nav a.active,
html body header.un-header .un-main-nav a[aria-current="page"]{color:#fff !important;border-color:#fff !important}
html body header.un-header .un-socials a{color:#fff !important;background:rgba(255,255,255,.15) !important}
@media (max-width:920px){
  html body header.un-header .un-header__wrap{grid-template-columns:1fr auto !important;min-height:auto !important;padding-block:12px !important}
  html body header.un-header .un-logo{width:185px !important;min-height:auto !important}
  html body header.un-header .un-menu{display:block !important}
  html body header.un-header .un-nav-area{display:none !important;grid-column:1/-1 !important;justify-content:flex-start !important}
  html body header.un-header .un-nav-area.open{display:flex !important}
  html body header.un-header .un-main-nav{justify-content:flex-start !important;gap:14px !important;width:100% !important}
}
@media (max-width:620px){
  html body header.un-header .un-main-nav{display:grid !important}
}
/* Prevent old hero layouts from overlapping the new sticky header */
html body main > section:first-child{margin-top:0 !important}


:root{
  --un-shadow-sm:0 4px 14px rgba(16,56,78,.08);
  --un-shadow-md:0 12px 32px rgba(16,56,78,.10);
  --un-shadow-lg:0 24px 60px rgba(16,56,78,.14);
  --un-radius-sm:14px;
  --un-radius-md:22px;
  --un-radius-lg:32px;
  --un-ease:cubic-bezier(.2,.7,.2,1);
  --un-display:"Fraunces","Source Serif Pro",Georgia,serif;
  --un-body:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
}

/* ---------- Header/footer polish (additive only) ---------- */
.un-header-cta{
  display:inline-flex !important;
  align-items:center;justify-content:center;
  padding:10px 18px;border-radius:999px;
  background:var(--orange,#cd6334);color:#fff !important;
  text-decoration:none;font-weight:800;
  box-shadow:0 8px 22px rgba(205,99,52,.32);
  transition:transform .25s var(--un-ease), box-shadow .25s var(--un-ease);
}
.un-header-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(205,99,52,.45)}
.un-main-nav a{transition:color .2s var(--un-ease), border-color .2s var(--un-ease)}
.un-socials a{transition:transform .25s var(--un-ease), background .2s var(--un-ease)}
.un-socials a:hover{transform:translateY(-2px) scale(1.05);background:rgba(255,255,255,.28)}
.un-whatsapp{transition:transform .3s var(--un-ease)}
.un-whatsapp:hover{transform:scale(1.08) rotate(-4deg)}

/* ---------- Generic reveal-on-scroll ---------- */
.un-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--un-ease),transform .8s var(--un-ease)}
.un-reveal.is-visible{opacity:1;transform:none}
.un-reveal[data-delay="1"]{transition-delay:.08s}
.un-reveal[data-delay="2"]{transition-delay:.16s}
.un-reveal[data-delay="3"]{transition-delay:.24s}
.un-reveal[data-delay="4"]{transition-delay:.32s}
.un-reveal[data-delay="5"]{transition-delay:.40s}

/* ---------- Section utilities ---------- */
.un-section{padding:84px 0;position:relative}
.un-section--soft{background:linear-gradient(180deg,#f6f7f8 0%,#fff 100%)}
.un-section--navy{background:linear-gradient(135deg,#174660 0%,#0e3a55 100%);color:#fff}
.un-section--navy h2,.un-section--navy h3{color:#fff}
.un-container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.un-kicker{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--orange,#cd6334);margin-bottom:10px}
.un-section h2,.un-h2{font-family:var(--un-display);font-weight:600;font-size:clamp(2rem,4.4vw,3.3rem);line-height:1.05;letter-spacing:-.02em;margin:0 0 14px;color:var(--navy,#174660)}
.un-lead{font-size:1.1rem;color:var(--muted,#68727c);max-width:64ch;line-height:1.6;margin:0 0 28px}

/* ---------- Card grid (cards with subtle lift) ---------- */
.un-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.un-card{
  background:#fff;border:1px solid rgba(23,70,96,.10);
  border-radius:var(--un-radius-md);padding:26px;
  box-shadow:var(--un-shadow-sm);
  transition:transform .35s var(--un-ease), box-shadow .35s var(--un-ease), border-color .35s var(--un-ease);
  position:relative;overflow:hidden;
}
.un-card::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(205,99,52,.0) 0%,rgba(205,99,52,.06) 100%);opacity:0;transition:opacity .35s var(--un-ease);pointer-events:none}
.un-card:hover{transform:translateY(-6px);box-shadow:var(--un-shadow-lg);border-color:rgba(23,70,96,.18)}
.un-card:hover::before{opacity:1}
.un-card h3{margin:0 0 10px;color:var(--navy,#174660);font-size:1.18rem}
.un-card p{margin:0;color:var(--muted,#68727c);font-size:.98rem;line-height:1.55}
.un-card .un-icon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:14px;background:rgba(23,70,96,.08);color:var(--navy,#174660);margin-bottom:14px;font-size:1.4rem;transition:background .3s var(--un-ease),transform .3s var(--un-ease)}
.un-card:hover .un-icon{background:rgba(205,99,52,.14);color:var(--orange,#cd6334);transform:rotate(-5deg) scale(1.05)}
.un-card.un-card--accent{background:linear-gradient(135deg,#174660,#0e3a55);color:#fff;border-color:transparent}
.un-card.un-card--accent h3,.un-card.un-card--accent p{color:#fff}
.un-card.un-card--accent .un-icon{background:rgba(255,255,255,.15);color:#fff}

/* ---------- Stat counters ---------- */
.un-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin-top:30px}
.un-stat{background:#fff;border:1px solid rgba(23,70,96,.10);border-radius:var(--un-radius-md);padding:26px 22px;text-align:center;box-shadow:var(--un-shadow-sm);transition:transform .3s var(--un-ease)}
.un-stat:hover{transform:translateY(-4px)}
.un-stat__num{font-family:var(--un-display);font-size:clamp(2.2rem,4vw,3rem);font-weight:700;color:var(--orange,#cd6334);line-height:1;display:block}
.un-stat__label{margin-top:8px;font-size:.95rem;color:var(--muted,#68727c);font-weight:600}
.un-section--navy .un-stat{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12);backdrop-filter:blur(6px)}
.un-section--navy .un-stat__num{color:#ffd9a3}
.un-section--navy .un-stat__label{color:rgba(255,255,255,.84)}

/* ---------- Process steps ---------- */
.un-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;counter-reset:step;position:relative}
.un-step{background:#fff;border:1px solid rgba(23,70,96,.10);border-radius:var(--un-radius-md);padding:28px 22px 22px;position:relative;box-shadow:var(--un-shadow-sm);transition:transform .3s var(--un-ease), box-shadow .3s var(--un-ease)}
.un-step::before{counter-increment:step;content:counter(step,decimal-leading-zero);position:absolute;top:-18px;left:22px;font-family:var(--un-display);font-size:1.6rem;font-weight:700;background:var(--orange,#cd6334);color:#fff;padding:8px 14px;border-radius:14px;box-shadow:0 8px 20px rgba(205,99,52,.32)}
.un-step:hover{transform:translateY(-6px);box-shadow:var(--un-shadow-lg)}
.un-step h3{margin:8px 0 8px;color:var(--navy,#174660);font-size:1.1rem}
.un-step p{margin:0;color:var(--muted,#68727c);font-size:.96rem;line-height:1.55}

/* ---------- Accordion ---------- */
.un-accordion{display:grid;gap:12px}
.un-accordion details{background:#fff;border:1px solid rgba(23,70,96,.12);border-radius:18px;padding:0;overflow:hidden;transition:box-shadow .3s var(--un-ease), border-color .3s var(--un-ease)}
.un-accordion details[open]{box-shadow:var(--un-shadow-md);border-color:rgba(205,99,52,.35)}
.un-accordion summary{list-style:none;cursor:pointer;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px;font-weight:700;color:var(--navy,#174660);font-size:1.05rem}
.un-accordion summary::-webkit-details-marker{display:none}
.un-accordion summary::after{content:"+";font-size:1.6rem;line-height:1;color:var(--orange,#cd6334);transition:transform .3s var(--un-ease);font-weight:400}
.un-accordion details[open] summary::after{content:"–";transform:rotate(180deg)}
.un-accordion .un-acc-body{padding:0 22px 20px;color:var(--ink,#1d252d);line-height:1.65;animation:unFadeIn .35s var(--un-ease)}
.un-accordion .un-acc-body p:first-child{margin-top:0}
@keyframes unFadeIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ---------- Tabs ---------- */
.un-tabs{display:grid;gap:18px}
.un-tabs__nav{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid rgba(23,70,96,.12);padding-bottom:0}
.un-tabs__btn{
  background:transparent;border:0;cursor:pointer;
  padding:12px 18px;font-weight:700;font-size:.98rem;
  color:var(--muted,#68727c);
  border-bottom:3px solid transparent;border-radius:8px 8px 0 0;
  transition:color .25s var(--un-ease), border-color .25s var(--un-ease), background .25s var(--un-ease);
}
.un-tabs__btn:hover{color:var(--navy,#174660);background:rgba(23,70,96,.05)}
.un-tabs__btn[aria-selected="true"]{color:var(--navy,#174660);border-bottom-color:var(--orange,#cd6334)}
.un-tabs__panel{display:none;animation:unFadeIn .35s var(--un-ease)}
.un-tabs__panel.is-active{display:block}

/* ---------- Comparison table ---------- */
.un-compare{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:var(--un-radius-md);overflow:hidden;box-shadow:var(--un-shadow-sm);font-size:.98rem}
.un-compare thead th{background:var(--navy,#174660);color:#fff;text-align:left;padding:14px 16px;font-weight:700;font-size:.92rem;letter-spacing:.04em;text-transform:uppercase}
.un-compare tbody td,.un-compare tbody th{padding:14px 16px;border-top:1px solid rgba(23,70,96,.08);vertical-align:top;line-height:1.5}
.un-compare tbody tr:nth-child(even){background:#f9fafb}
.un-compare tbody th{font-weight:700;color:var(--navy,#174660);text-align:left;width:32%}
.un-compare-wrap{overflow-x:auto;border-radius:var(--un-radius-md)}

/* ---------- Quick-facts strip (used on country pages) ---------- */
.un-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:30px 0}
.un-fact{background:rgba(255,255,255,.10);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:18px;color:#fff}
.un-fact__label{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;opacity:.85}
.un-fact__value{font-family:var(--un-display);font-size:1.3rem;font-weight:600;margin-top:4px}

/* On light backgrounds */
.un-section .un-facts .un-fact{background:#fff;color:var(--ink,#1d252d);border-color:rgba(23,70,96,.10);box-shadow:var(--un-shadow-sm)}
.un-section .un-facts .un-fact__label{color:var(--muted,#68727c)}
.un-section .un-facts .un-fact__value{color:var(--navy,#174660)}

/* ---------- Call-to-action band ---------- */
.un-cta-band{
  background:linear-gradient(135deg,#174660 0%,#0e3a55 50%,#1f5a7c 100%);
  color:#fff;border-radius:var(--un-radius-lg);padding:40px;
  display:grid;grid-template-columns:1.4fr auto;gap:28px;align-items:center;
  box-shadow:0 30px 60px rgba(16,56,78,.25);
  position:relative;overflow:hidden;
}
.un-cta-band::before{content:"";position:absolute;top:-50%;right:-10%;width:60%;height:200%;background:radial-gradient(closest-side,rgba(205,99,52,.25),transparent 70%);pointer-events:none}
.un-cta-band h2{color:#fff;margin:0 0 8px;font-family:var(--un-display);font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.1}
.un-cta-band p{margin:0;color:rgba(255,255,255,.86);font-size:1.05rem;max-width:62ch}
.un-cta-band .un-btn{position:relative;z-index:2}
@media (max-width:760px){.un-cta-band{grid-template-columns:1fr;padding:32px 26px;text-align:left}}

/* ---------- Buttons ---------- */
.un-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border-radius:999px;border:0;cursor:pointer;text-decoration:none;font-weight:800;font-size:.98rem;transition:transform .25s var(--un-ease), box-shadow .25s var(--un-ease), background .25s var(--un-ease)}
.un-btn--primary{background:var(--orange,#cd6334);color:#fff;box-shadow:0 12px 28px rgba(205,99,52,.36)}
.un-btn--primary:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(205,99,52,.5)}
.un-btn--navy{background:var(--navy,#174660);color:#fff;box-shadow:0 12px 28px rgba(23,70,96,.32)}
.un-btn--navy:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(23,70,96,.44)}
.un-btn--ghost{background:transparent;color:inherit;border:2px solid currentColor}
.un-btn--ghost:hover{transform:translateY(-2px);background:rgba(255,255,255,.1)}
.un-btn--sm{padding:10px 18px;font-size:.92rem}

/* ---------- Country page hero (extends existing .country-hero) ---------- */
.country-hero{position:relative;overflow:hidden}
.country-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(205,99,52,.22),transparent 50%),radial-gradient(circle at 80% 70%,rgba(0,155,122,.18),transparent 55%);pointer-events:none}
.country-hero > *{position:relative;z-index:2}

/* Two-column with image */
.un-split{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.un-split img{width:100%;height:auto;border-radius:var(--un-radius-lg);box-shadow:var(--un-shadow-lg)}
@media(max-width:820px){.un-split{grid-template-columns:1fr;gap:24px}}

/* Country chip-list */
.un-chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.un-chip{display:inline-flex;align-items:center;padding:6px 14px;border-radius:999px;background:rgba(23,70,96,.08);color:var(--navy,#174660);font-size:.86rem;font-weight:600;transition:background .2s var(--un-ease),transform .2s var(--un-ease)}
.un-chip:hover{background:rgba(205,99,52,.14);color:var(--orange,#cd6334);transform:translateY(-1px)}
.un-section--navy .un-chip{background:rgba(255,255,255,.14);color:#fff}
.un-section--navy .un-chip:hover{background:rgba(255,255,255,.24)}

/* Country cross-link grid */
.un-country-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:18px}
.un-country-links a{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border:1px solid rgba(23,70,96,.10);border-radius:14px;text-decoration:none;color:var(--navy,#174660);font-weight:600;font-size:.92rem;transition:transform .2s var(--un-ease),border-color .2s var(--un-ease),box-shadow .2s var(--un-ease)}
.un-country-links a:hover{transform:translateX(4px);border-color:var(--orange,#cd6334);box-shadow:var(--un-shadow-sm)}
.un-country-links a::after{content:"→";color:var(--orange,#cd6334);font-weight:700}

/* ---------- Improved blog post typography ---------- */
.post-article{
  width:min(780px,calc(100% - 40px));margin:auto;
  padding-top:140px !important;
}
.post-article h1{
  font-family:var(--un-display) !important;
  font-weight:600 !important;
  font-size:clamp(2.2rem,4.6vw,3.6rem) !important;
  letter-spacing:-.02em !important;
  line-height:1.08 !important;
  color:var(--navy,#174660) !important;
  margin:14px 0 18px !important;
}
.post-article .section-kicker{font-size:.8rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--orange,#cd6334)}
.post-article .lead{font-size:1.2rem;color:#3a4750;line-height:1.55;margin:0 0 26px;font-style:italic;border-left:4px solid var(--orange,#cd6334);padding-left:18px}
.post-hero-image{box-shadow:var(--un-shadow-lg);border-radius:var(--un-radius-lg) !important}
.post-content{font-family:var(--un-body);font-size:1.08rem;line-height:1.78;color:#283036}
.post-content p{margin:0 0 1.25em}
.post-content h2{font-family:var(--un-display);font-weight:600;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.15;color:var(--navy,#174660);margin:2em 0 .6em;letter-spacing:-.015em}
.post-content h3{font-family:var(--un-display);font-weight:600;font-size:clamp(1.2rem,1.9vw,1.5rem);color:var(--navy,#174660);margin:1.6em 0 .5em}
.post-content h4{font-weight:700;color:var(--navy,#174660);margin:1.4em 0 .4em;font-size:1.05rem}
.post-content ul,.post-content ol{padding-left:1.4em;margin:0 0 1.4em}
.post-content li{margin:.4em 0}
.post-content ul li::marker{color:var(--orange,#cd6334)}
.post-content blockquote{margin:1.6em 0;padding:18px 24px;background:#f6f7f8;border-left:5px solid var(--orange,#cd6334);border-radius:14px;font-style:italic;color:#3a4750}
.post-content a{color:var(--navy,#174660);text-decoration:underline;text-decoration-color:rgba(205,99,52,.5);text-underline-offset:3px;transition:color .2s var(--un-ease),text-decoration-color .2s var(--un-ease)}
.post-content a:hover{color:var(--orange,#cd6334);text-decoration-color:var(--orange,#cd6334)}
.post-content strong{color:var(--navy,#174660)}
.post-content img{border-radius:var(--un-radius-md);margin:1.6em 0;box-shadow:var(--un-shadow-md);max-width:100%;height:auto}
.post-content hr{border:0;border-top:1px solid rgba(23,70,96,.14);margin:2em 0}

/* Reading meta strip on blog posts */
.post-meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;color:var(--muted,#68727c);font-size:.92rem;margin:8px 0 22px}
.post-meta .dot{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.5}

/* Blog list card improvements */
.blog-card,
.blog-card *,
a.blog-card,
a.blog-card *{
  text-decoration:none !important;
}
.blog-card{
  display:block;
  color:inherit;
  transition:transform .35s var(--un-ease), box-shadow .35s var(--un-ease);
}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--un-shadow-lg)}
.blog-card img{transition:transform .6s var(--un-ease)}
.blog-card:hover img{transform:scale(1.04)}
.blog-card h3{transition:color .25s var(--un-ease)}
.blog-card:hover h3{color:var(--orange,#cd6334)}
.blog-card .btn{pointer-events:none}

/* Floating CTA at the end of blog posts */
.post-end-cta{
  margin:40px 0 20px;padding:32px;border-radius:var(--un-radius-lg);
  background:linear-gradient(135deg,#174660,#0e3a55);color:#fff;text-align:center;
  box-shadow:var(--un-shadow-lg);
}
.post-end-cta h3{font-family:var(--un-display);font-size:1.6rem;margin:0 0 8px;color:#fff}
.post-end-cta p{margin:0 0 18px;color:rgba(255,255,255,.86)}

/* ---------- Sub-nav for portal/secondary links ---------- */
.un-portal-pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 14px;border-radius:999px;
  background:rgba(255,255,255,.14);color:#fff;text-decoration:none;
  font-weight:700;font-size:.86rem;
  border:1px solid rgba(255,255,255,.24);
  transition:background .2s var(--un-ease),transform .2s var(--un-ease)
}
.un-portal-pill:hover{background:rgba(255,255,255,.24);transform:translateY(-1px)}

/* ---------- Mobile tweaks ---------- */
@media (max-width:820px){
  .un-section{padding:60px 0}
  .un-cta-band{padding:30px 24px}
  .un-steps{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .un-steps{grid-template-columns:1fr}
  .un-section h2{font-size:2rem}
}

/* ---------- Display font import via stack (no external fetch required) ---------- */
/* If you want true Fraunces, add to <head>:
   <link rel="preconnect" href="https://fonts.googleapis.com">
   <link href="https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&display=swap" rel="stylesheet">
*/
