/*
Theme Name: Canviza
Description: Premium immigration website with flight path animation.
Version: 2.1.0
Requires PHP: 8.1
Text Domain: canviza
*/

/* =========================================
   TOKENS
   ========================================= */
:root{
  --navy:#0A1F44;
  --navy-deep:#050E24;
  --gold:#B8923D;
  --gold-soft:#D4B76A;

  --bg:#FFFFFF;
  --bg-soft:#F7F7F5;
  --bg-mute:#F1F1EE;

  --ink:#0F0F0F;
  --ink-2:#3D3D3D;
  --muted:#787878;
  --muted-2:#A8A8A8;

  --border:#EBEBEB;
  --border-strong:#DCDCDC;

  --sans:"Inter",system-ui,-apple-system,sans-serif;
  --display:"Inter Tight","Inter",system-ui,sans-serif;
  --serif:"Instrument Serif",Georgia,serif;

  --ease:cubic-bezier(0.16,1,0.3,1);
  --container:1240px;
  --gutter:clamp(1.25rem,5vw,3rem);

  --logo-shift:-25px;
}

/* =========================================
   RESET
   ========================================= */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{
  -webkit-text-size-adjust:100%;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
body{
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  color:var(--ink);
  background:var(--bg);
  overflow-x:hidden;
  font-weight:400;
  letter-spacing:-0.01em;
}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
ul{list-style:none}

/* =========================================
   TYPOGRAPHY
   ========================================= */
h1,h2,h3{
  font-family:var(--display);
  color:var(--ink);
  font-weight:600;
  letter-spacing:-0.045em;
  line-height:1.05;
}
h1{font-size:clamp(3rem,7vw,6.5rem);line-height:0.98}
h2{font-size:clamp(2.25rem,4.5vw,4rem);line-height:1.02}
h3{font-size:clamp(1.125rem,1.5vw,1.375rem);letter-spacing:-0.03em;font-weight:600}
p{color:var(--muted)}

/* =========================================
   LAYOUT
   ========================================= */
.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--gutter);
}
section{
  padding:clamp(6rem,14vh,10rem) 0;
  position:relative;
}
.section-head{margin-bottom:clamp(3rem,6vw,5rem);max-width:820px}
.section-head--center{margin-left:auto;margin-right:auto;text-align:center}
.section-sub{
  margin-top:1.25rem;
  font-size:1.0625rem;
  color:var(--muted);
  max-width:560px;
}
.section-head--center .section-sub{margin-left:auto;margin-right:auto}
.eyebrow{
  display:inline-block;
  font-family:var(--sans);
  font-size:0.6875rem;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:1.25rem;
}

/* =========================================
   PAGE LOADER
   ========================================= */
.page-loader{
  position:fixed;
  inset:0;
  z-index:99999;
  background:var(--bg);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:opacity 0.6s cubic-bezier(0.16,1,0.3,1), visibility 0.6s;
  pointer-events:all;
  animation:loaderAutoHide 0.6s cubic-bezier(0.16,1,0.3,1) 2.5s forwards;
}
.page-loader.is-done{opacity:0;visibility:hidden;pointer-events:none}
@keyframes loaderAutoHide{to{opacity:0;visibility:hidden;pointer-events:none}}
.page-loader__inner{display:flex;flex-direction:column;align-items:center;gap:2rem;position:relative}
.page-loader__logo{display:flex;flex-direction:column;align-items:center;gap:0.5rem}
.page-loader__word{
  font-family:var(--display);
  font-weight:700;
  font-size:clamp(2rem,5vw,3rem);
  letter-spacing:0.18em;
  color:var(--navy);
  line-height:1;
  opacity:0;
  transform:translateY(20px);
  animation:loaderWordIn 1s cubic-bezier(0.16,1,0.3,1) 0.1s forwards;
}
.page-loader__tagline{
  font-size:0.6rem;
  font-weight:600;
  letter-spacing:0.32em;
  text-transform:uppercase;
  color:var(--muted-2);
  opacity:0;
  transform:translateY(10px);
  animation:loaderWordIn 0.8s cubic-bezier(0.16,1,0.3,1) 0.4s forwards;
}
@keyframes loaderWordIn{to{opacity:1;transform:translateY(0)}}
.page-loader__plane{
  display:flex;
  align-items:center;
  gap:0;
  margin-top:0.5rem;
  position:relative;
  opacity:0;
  animation:loaderPlaneIn 0.6s cubic-bezier(0.16,1,0.3,1) 0.7s forwards;
}
.page-loader__plane svg{
  filter:drop-shadow(0 6px 16px rgba(184,146,61,0.5));
  transform:rotate(-15deg);
  animation:loaderPlaneFloat 1.8s ease-in-out infinite;
}
@keyframes loaderPlaneIn{to{opacity:1}}
@keyframes loaderPlaneFloat{
  0%,100%{transform:rotate(-15deg) translateY(0)}
  50%{transform:rotate(-15deg) translateY(-6px)}
}
.page-loader__trail{
  width:0;
  height:1px;
  background:linear-gradient(90deg, rgba(184,146,61,0.6), transparent);
  animation:loaderTrail 1.4s cubic-bezier(0.16,1,0.3,1) 0.9s forwards;
  margin-left:-4px;
}
@keyframes loaderTrail{to{width:120px}}
.page-loader__bar{
  position:absolute;
  bottom:8vh;
  left:50%;
  transform:translateX(-50%);
  width:min(200px, 40vw);
  height:2px;
  background:rgba(10,31,68,0.08);
  border-radius:100px;
  overflow:hidden;
}
.page-loader__bar-fill{
  width:0;
  height:100%;
  background:var(--gold);
  border-radius:100px;
  animation:loaderBar 1.4s cubic-bezier(0.16,1,0.3,1) forwards;
}
@keyframes loaderBar{0%{width:0}60%{width:70%}100%{width:100%}}
@media (max-width:480px){
  .page-loader__tagline{font-size:0.5rem}
  .page-loader__bar{bottom:6vh}
}

/* =========================================
   TOPBAR
   ========================================= */
.topbar{
  position:relative;
  z-index:101;
  background:var(--navy-deep);
  color:rgba(255,255,255,0.75);
  font-size:0.75rem;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.topbar__wrap{
  max-width:var(--container);
  margin:0 auto;
  padding:0.6rem var(--gutter);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  flex-wrap:wrap;
}
.topbar__left,.topbar__right{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.topbar__item{
  display:inline-flex;
  align-items:center;
  gap:0.4rem;
  color:rgba(255,255,255,0.75);
  font-weight:500;
  transition:color 0.25s;
  white-space:nowrap;
}
.topbar__item:hover{color:var(--gold)}
.topbar__item svg{opacity:0.75;flex-shrink:0}
.topbar__item:hover svg{opacity:1}
.topbar-social{display:flex;align-items:center;gap:0.5rem}
.topbar-social__link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:26px;height:26px;
  border-radius:50%;
  color:rgba(255,255,255,0.7);
  transition:all 0.3s var(--ease);
}
.topbar-social__link:hover{color:var(--gold);transform:translateY(-2px)}

/* =========================================
   HEADER
   ========================================= */
.site-header{
  position:fixed;
  top:2.4rem;
  left:0;right:0;
  z-index:100;
  padding:1rem 0;
  transition:padding 0.4s var(--ease), background 0.4s var(--ease), border-color 0.4s var(--ease), top 0.4s var(--ease);
  border-bottom:1px solid transparent;
  background:rgba(250,248,243,0.5);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
body:not(:has(.topbar)) .site-header{top:0}
.site-header.is-scrolled{
  top:0;
  padding:0.7rem 0;
  background:rgba(255,255,255,0.88);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom-color:var(--border);
}
.nav-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--gutter);
}
.brand{
  display:flex;
  flex-direction:column;
  gap:2px;
  line-height:1;
  flex-shrink:0;
}
.brand__mark{
  font-family:var(--display);
  font-weight:700;
  font-size:1.25rem;
  letter-spacing:0.06em;
  color:var(--navy);
}
.brand__sub{
  font-size:0.5rem;
  letter-spacing:0.24em;
  color:var(--muted-2);
  text-transform:uppercase;
  font-weight:600;
}
.custom-logo-link{
  display:inline-flex;
  align-items:left;
  line-height:0;
  margin-left:var(--logo-shift);
  transition:margin-left 0.3s var(--ease);
}
.custom-logo-link img.custom-logo{
  max-width:160px;
  max-height:50px;
  width:auto;
  height:auto;
  display:block;
  transition:max-height 0.35s var(--ease);
}
.site-header.is-scrolled .custom-logo-link img.custom-logo{max-height:42px}

/* =========================================
   NAV MENU (Desktop)
   ========================================= */
.nav-menu{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:1 1 auto;
}
.nav-menu .nav-list{
  display:flex !important;
  align-items:center !important;
  gap:2.75rem !important;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
.nav-menu .nav-list > li{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  position:relative;
}
.nav-menu .nav-list > li > a{
  display:inline-block !important;
  font-size:0.9rem !important;
  font-weight:500 !important;
  color:var(--ink-2) !important;
  letter-spacing:-0.01em !important;
  padding:0.4rem 0 !important;
  white-space:nowrap !important;
  transition:color 0.25s var(--ease) !important;
  position:relative;
  line-height:1.4;
}
.nav-menu .nav-list > li > a:hover{color:var(--navy) !important}
.nav-menu .nav-list > li > a::after{
  content:"";
  position:absolute;
  left:0;bottom:0;
  width:0;height:1px;
  background:var(--gold);
  transition:width 0.35s var(--ease);
}
.nav-menu .nav-list > li > a:hover::after{width:100%}

.nav-menu .nav-list .sub-menu{
  position:absolute;
  top:100%;left:50%;
  transform:translateX(-50%) translateY(8px);
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:0.75rem;
  padding:0.5rem;
  min-width:230px;
  box-shadow:0 20px 40px -20px rgba(10,31,68,0.2);
  opacity:0;
  visibility:hidden;
  transition:opacity 0.3s var(--ease), visibility 0.3s var(--ease), transform 0.3s var(--ease);
  margin-top:0;
  z-index:10;
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  list-style:none !important;
}
.nav-menu .nav-list > li > .sub-menu::before{
  content:"";
  position:absolute;
  bottom:100%;left:0;right:0;
  height:14px;
  background:transparent;
  pointer-events:auto;
}
.nav-menu .nav-list > li:hover > .sub-menu,
.nav-menu .nav-list > li.is-open > .sub-menu{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}
.nav-menu .nav-list .sub-menu li{
  display:block !important;
  width:100%;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  position:relative;
}
.nav-menu .nav-list .sub-menu li a{
  display:block !important;
  padding:0.6rem 2.25rem 0.6rem 0.875rem !important;
  font-size:0.85rem !important;
  border-radius:0.5rem !important;
  white-space:nowrap !important;
  color:var(--ink-2) !important;
  width:100%;
  position:relative;
  transition:background 0.25s, color 0.25s;
}
.nav-menu .nav-list .sub-menu li a::after{display:none}
.nav-menu .nav-list .sub-menu li a:hover{
  background:var(--bg-soft) !important;
  color:var(--gold) !important;
}
.nav-menu .nav-list .sub-menu li.menu-item-has-children > a::before{
  content:"";
  position:absolute;
  right:1rem;top:50%;
  width:7px;height:7px;
  border-top:1.5px solid var(--muted-2);
  border-right:1.5px solid var(--muted-2);
  transform:translateY(-50%) rotate(45deg);
  transition:border-color 0.25s;
  pointer-events:none;
}
.nav-menu .nav-list .sub-menu li.menu-item-has-children > a:hover::before{border-color:var(--gold)}
.nav-menu .nav-list .sub-menu .sub-menu{
  top:-0.5rem;
  left:100%;
  transform:translateX(8px) translateY(0);
  margin-top:0;
  margin-left:0;
  min-width:220px;
}
.nav-menu .nav-list .sub-menu .sub-menu::before{
  content:"";
  position:absolute;
  top:0;bottom:0;right:100%;
  width:14px;height:auto;
  background:transparent;
  pointer-events:auto;
}
.nav-menu .nav-list .sub-menu li:hover > .sub-menu,
.nav-menu .nav-list .sub-menu li.is-open > .sub-menu{
  opacity:1;
  visibility:visible;
  transform:translateX(0) translateY(0);
}

.nav-cta{
  font-size:0.85rem;
  font-weight:500;
  padding:0.6rem 1.15rem;
  border:1px solid var(--border-strong);
  border-radius:100px;
  color:var(--ink);
  transition:all 0.3s var(--ease);
  white-space:nowrap;
  flex-shrink:0;
}
.nav-cta:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}

/* =========================================
   HAMBURGER
   ========================================= */
.nav-toggle{
  display:none;
  width:40px;height:40px;
  position:relative;
  border-radius:50%;
  background:var(--bg-soft);
  cursor:pointer;
  flex-shrink:0;
  transition:background 0.3s;
}
.nav-toggle span{
  position:absolute;
  left:50%;
  width:16px;height:1.5px;
  background:var(--ink);
  border-radius:2px;
  transform:translateX(-50%);
  transition:all 0.4s var(--ease);
}
.nav-toggle span:nth-child(1){top:16px}
.nav-toggle span:nth-child(2){bottom:16px}
.nav-toggle.is-open span:nth-child(1){top:50%;transform:translate(-50%,-50%) rotate(45deg)}
.nav-toggle.is-open span:nth-child(2){bottom:50%;transform:translate(-50%,50%) rotate(-45deg)}

/* =========================================
   MOBILE MENU — DRAWER STYLE
   ========================================= */
.mobile-menu-backdrop{
  position:fixed;
  inset:0;
  background:rgba(10,31,68,0.55);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  z-index:101;
  opacity:0;
  visibility:hidden;
  transition:opacity 0.4s var(--ease), visibility 0.4s;
}
.mobile-menu-backdrop.is-open{opacity:1;visibility:visible}

.mobile-menu{
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  width:100%;
  max-width:420px;
  background:var(--bg);
  z-index:102;
  transform:translateX(100%);
  transition:transform 0.5s cubic-bezier(0.16,1,0.3,1);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  box-shadow:-20px 0 60px -20px rgba(10,31,68,0.3);
}
.mobile-menu.is-open{transform:translateX(0)}

.mobile-menu__inner{
  display:flex;
  flex-direction:column;
  min-height:100%;
}

.mobile-menu__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:1.5rem var(--gutter);
  border-bottom:1px solid var(--border);
  position:sticky;
  top:0;
  background:var(--bg);
  z-index:2;
}
.mobile-menu__head .brand__mark{
  font-family:var(--display);
  font-weight:700;
  font-size:1.25rem;
  letter-spacing:0.06em;
  color:var(--navy);
}
.mobile-menu__close{
  width:40px;height:40px;
  border-radius:50%;
  background:var(--bg-soft);
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:all 0.3s var(--ease);
  flex-shrink:0;
}
.mobile-menu__close:hover{
  background:var(--ink);
  color:var(--bg);
  transform:rotate(90deg);
}

.mobile-menu__nav{
  flex:1;
  padding:0.5rem var(--gutter);
}

.mobile-nav-list{
  display:flex;
  flex-direction:column;
  list-style:none;
  padding:0;
  margin:0;
}
.mobile-nav-list > li{
  border-bottom:1px solid var(--border);
  list-style:none;
}
.mobile-nav-list > li > a{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:1.25rem 0;
  font-family:var(--display);
  font-weight:600;
  font-size:1.5rem;
  color:var(--ink);
  letter-spacing:-0.03em;
  line-height:1.2;
  transition:color 0.3s;
  cursor:pointer;
}
.mobile-nav-list > li > a:hover{color:var(--gold)}

.mobile-nav-list > li.menu-item-has-children > a::after{
  content:"";
  width:10px;
  height:10px;
  border-right:1.5px solid var(--muted-2);
  border-bottom:1.5px solid var(--muted-2);
  transform:rotate(45deg);
  transition:transform 0.4s var(--ease), border-color 0.3s;
  margin-right:0.5rem;
  flex-shrink:0;
  margin-top:-4px;
}
.mobile-nav-list > li.is-open > a::after{
  transform:rotate(-135deg);
  border-color:var(--gold);
  margin-top:4px;
}
.mobile-nav-list > li.is-open > a{color:var(--gold)}

.mobile-nav-list .sub-menu{
  list-style:none;
  padding:0;
  margin:0;
  max-height:0;
  overflow:hidden;
  transition:max-height 0.5s cubic-bezier(0.16,1,0.3,1);
}
.mobile-nav-list > li.is-open > .sub-menu{
  max-height:1000px;
  padding-bottom:0.75rem;
}
.mobile-nav-list .sub-menu li{list-style:none}
.mobile-nav-list .sub-menu li a{
  display:block;
  padding:0.75rem 0 0.75rem 1.25rem;
  font-size:1rem;
  font-weight:500;
  color:var(--muted);
  border-left:2px solid var(--border);
  transition:color 0.25s, padding-left 0.3s var(--ease), border-color 0.25s;
  line-height:1.4;
}
.mobile-nav-list .sub-menu li a:hover{
  color:var(--gold);
  border-left-color:var(--gold);
  padding-left:1.5rem;
}

.mobile-menu__foot{
  padding:1.75rem var(--gutter) 2rem;
  background:var(--bg-soft);
  border-top:1px solid var(--border);
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  margin-top:1rem;
}
.mobile-menu__contact{display:flex;flex-direction:column;gap:0.35rem}
.mobile-menu__contact-item{
  display:flex;
  align-items:center;
  gap:0.75rem;
  padding:0.5rem 0;
  font-size:0.875rem;
  font-weight:500;
  color:var(--ink-2);
  transition:color 0.25s;
}
.mobile-menu__contact-item svg{color:var(--gold);flex-shrink:0}
.mobile-menu__contact-item:hover{color:var(--gold)}

.mobile-menu__cta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0.5rem;
  padding:1rem 1.5rem;
  background:var(--ink);
  color:var(--bg);
  border-radius:100px;
  font-size:0.9375rem;
  font-weight:600;
  letter-spacing:-0.01em;
  transition:all 0.3s var(--ease);
}
.mobile-menu__cta:hover{background:var(--gold);color:var(--bg)}
.mobile-menu__cta svg{transition:transform 0.35s var(--ease)}
.mobile-menu__cta:hover svg{transform:translateX(3px)}

.mobile-menu__social{display:flex;gap:0.5rem;flex-wrap:wrap}
.mobile-menu__social__link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;height:38px;
  border-radius:50%;
  background:var(--bg);
  border:1px solid var(--border);
  color:var(--ink-2);
  transition:all 0.3s var(--ease);
}
.mobile-menu__social__link:hover{
  background:var(--ink);
  border-color:var(--ink);
  color:var(--bg);
  transform:translateY(-2px);
}
.mobile-menu__social__link svg{width:16px;height:16px}

/* =========================================
   BUTTONS
   ========================================= */
.btn{
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  padding:0.875rem 1.5rem;
  font-family:var(--sans);
  font-size:0.875rem;
  font-weight:600;
  letter-spacing:-0.01em;
  border-radius:100px;
  transition:all 0.4s var(--ease);
  will-change:transform;
}
.btn--primary{background:var(--ink);color:var(--bg)}
.btn--primary:hover{background:var(--gold);color:var(--bg)}
.btn--primary svg{transition:transform 0.35s var(--ease)}
.btn--primary:hover svg{transform:translateX(3px)}
.link-arrow{
  display:inline-flex;
  align-items:center;
  gap:0.35rem;
  font-size:0.875rem;
  font-weight:500;
  color:var(--ink-2);
  transition:color 0.25s;
}
.link-arrow svg{transition:transform 0.35s var(--ease)}
.link-arrow:hover{color:var(--gold)}
.link-arrow:hover svg{transform:translate(2px,-2px)}

/* =========================================
   HERO
   ========================================= */
.hero{
  min-height:100vh;
  display:flex;
  align-items:center;
  padding:12rem 0 8rem;
  position:relative;
  overflow:hidden;
  background:var(--bg);
}
.hero__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero__glow{position:absolute;border-radius:50%;filter:blur(100px);opacity:0.5}
.hero__glow--1{
  top:-30%;right:-15%;
  width:60vw;height:60vw;
  max-width:800px;max-height:800px;
  background:radial-gradient(circle,rgba(212,183,106,0.5) 0%,transparent 65%);
}
.hero__glow--2{
  bottom:-40%;left:-20%;
  width:60vw;height:60vw;
  max-width:700px;max-height:700px;
  background:radial-gradient(circle,rgba(10,31,68,0.12) 0%,transparent 70%);
}
.hero__grid-lines{
  position:absolute;
  inset:0;
  background-image:linear-gradient(to right, rgba(0,0,0,0.03) 1px, transparent 1px);
  background-size:80px 100%;
  mask-image:radial-gradient(ellipse at center, black 30%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at center, black 30%, transparent 75%);
}
.hero__inner{
  position:relative;
  z-index:2;
  width:100%;
  max-width:920px;
  margin:0 auto;
  padding:0 var(--gutter);
  text-align:center;
}
.hero__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  font-size:0.6875rem;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--ink-2);
  margin-bottom:2rem;
  padding:0.5rem 1rem;
  border:1px solid var(--border);
  border-radius:100px;
  background:rgba(255,255,255,0.6);
  backdrop-filter:blur(10px);
}
.hero__dot{
  width:6px;height:6px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 3px rgba(184,146,61,0.18);
  animation:pulseDot 2.2s infinite;
}
@keyframes pulseDot{
  0%,100%{box-shadow:0 0 0 3px rgba(184,146,61,0.18)}
  50%{box-shadow:0 0 0 7px rgba(184,146,61,0.04)}
}
.hero__title{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(2.75rem,7.5vw,7rem);
  line-height:1.02;
  letter-spacing:-0.05em;
  color:var(--ink);
  margin-bottom:2rem;
}
.hero__title .line{display:block;overflow:hidden;padding-bottom:0.12em;margin-bottom:-0.12em}
.hero__title .line > span{display:block}
.hero__title em{
  font-family:var(--serif);
  font-style:italic;
  font-weight:400;
  color:var(--gold);
  letter-spacing:-0.02em;
  padding-right:0.05em;
}
.hero__lead{
  font-size:clamp(1rem,1.15vw,1.125rem);
  line-height:1.65;
  color:var(--muted);
  max-width:560px;
  margin:0 auto 2.75rem;
  font-weight:400;
}
.hero__cta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1.75rem;
  flex-wrap:wrap;
}
.hero__meta{
  position:absolute;
  bottom:2.5rem;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  display:flex;
  gap:clamp(1.75rem,4vw,3.5rem);
  padding:0.875rem 1.75rem;
  background:rgba(255,255,255,0.6);
  backdrop-filter:blur(20px);
  border:1px solid var(--border);
  border-radius:100px;
  width:max-content;
  max-width:calc(100% - 2rem);
}
.hero__meta-item{display:flex;flex-direction:column;align-items:center;gap:2px}
.hero__meta-num{
  font-family:var(--display);
  font-weight:700;
  font-size:1.25rem;
  color:var(--ink);
  line-height:1;
  letter-spacing:-0.04em;
}
.hero__meta-num::after{content:"+"}
.hero__meta-item:last-child .hero__meta-num::after{content:"%"}
.hero__meta-label{
  font-size:0.625rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:600;
}

/* =========================================
   COUNTRIES
   ========================================= */
.countries{background:var(--bg)}
.countries__grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:1rem !important;
}
.country-card{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  gap:1.5rem !important;
  padding:1.75rem !important;
  background:var(--bg) !important;
  border:1px solid var(--border) !important;
  border-radius:1.25rem !important;
  transition:border-color 0.5s var(--ease), transform 0.5s var(--ease), box-shadow 0.5s var(--ease) !important;
  overflow:hidden !important;
  min-height:220px !important;
  text-decoration:none !important;
  color:inherit !important;
  visibility:visible !important;
  opacity:1 !important;
}
.country-card:hover{
  border-color:var(--gold) !important;
  transform:translateY(-4px) !important;
  box-shadow:0 20px 40px -20px rgba(10,31,68,0.15) !important;
}
.country-card__top{display:flex !important;justify-content:space-between !important;align-items:flex-start !important}
.country-card__flag{font-size:2rem !important;line-height:1 !important}
.country-card__arrow{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:32px !important;
  height:32px !important;
  border-radius:50% !important;
  background:var(--bg-soft) !important;
  color:var(--ink-2) !important;
  transition:all 0.4s var(--ease) !important;
  flex-shrink:0 !important;
}
.country-card:hover .country-card__arrow{
  background:var(--ink) !important;
  color:var(--bg) !important;
  transform:rotate(-45deg) !important;
}
.country-card__name{
  font-family:var(--display) !important;
  font-weight:600 !important;
  font-size:1.5rem !important;
  color:var(--ink) !important;
  letter-spacing:-0.035em !important;
  line-height:1.1 !important;
  margin-top:auto !important;
}
.country-card__pills{display:flex !important;gap:0.5rem !important;flex-wrap:wrap !important}
.pill{
  display:inline-flex !important;
  align-items:center !important;
  gap:0.35rem !important;
  padding:0.35rem 0.7rem !important;
  font-size:0.75rem !important;
  font-weight:500 !important;
  color:var(--muted) !important;
  background:var(--bg-soft) !important;
  border-radius:100px !important;
}
.pill svg{opacity:0.7}
.country-card__badge{
  position:absolute !important;
  top:1.75rem !important;
  right:5rem !important;
  padding:0.25rem 0.6rem !important;
  font-size:0.65rem !important;
  font-weight:700 !important;
  letter-spacing:0.08em !important;
  text-transform:uppercase !important;
  color:var(--gold) !important;
  background:rgba(184,146,61,0.1) !important;
  border-radius:100px !important;
}

/* =========================================
   PROCESS
   ========================================= */
.process{background:var(--bg-soft)}
.process__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.process-card{
  padding:1.75rem;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:1.25rem;
  display:flex;
  flex-direction:column;
  gap:1rem;
  transition:border-color 0.5s var(--ease), transform 0.5s var(--ease), box-shadow 0.5s var(--ease);
  min-height:240px;
}
.process-card:hover{
  border-color:var(--border-strong);
  transform:translateY(-4px);
  box-shadow:0 20px 40px -24px rgba(10,31,68,0.12);
}
.process-card__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.5rem}
.process-card__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;height:44px;
  border-radius:12px;
  background:var(--navy);
  color:var(--bg);
}
.process-card__num{font-family:var(--display);font-weight:600;font-size:0.75rem;color:var(--muted-2);letter-spacing:0.1em}
.process-card__title{font-family:var(--display);font-weight:600;font-size:1.25rem;color:var(--ink);letter-spacing:-0.03em;line-height:1.15}
.process-card__desc{font-size:0.9rem;line-height:1.55;color:var(--muted);margin-top:auto}

/* =========================================
   STATS
   ========================================= */
.stats{background:var(--navy-deep);color:var(--bg);padding:clamp(5rem,10vh,7rem) 0}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.stat{border-left:1px solid rgba(255,255,255,0.1);padding-left:1.5rem}
.stat:first-child{border-left:none;padding-left:0}
.stat__num{
  display:block;
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(2.5rem,4.5vw,3.75rem);
  color:var(--bg);
  line-height:1;
  letter-spacing:-0.05em;
  margin-bottom:0.75rem;
}
.stat__num::after{content:"+"}
.stat:nth-child(3) .stat__num::after{content:"%"}
.stat:last-child .stat__num::after{content:""}
.stat__label{
  display:block;
  font-size:0.6875rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:600;
}

/* =========================================
   CTA + FORMINATOR
   ========================================= */
.cta{background:var(--bg)}
.cta__lead{
  margin-top:1.25rem;
  font-size:1rem;
  color:var(--muted);
  max-width:440px;
  margin-left:auto;margin-right:auto;
}
.cta__form-wrap{max-width:520px;margin:0 auto}
.cta__form-wrap .forminator-ui.forminator-custom-form,
.contact-main__form-wrap .forminator-ui.forminator-custom-form{
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  font-family:var(--sans) !important;
}
.cta__form-wrap .forminator-row,
.contact-main__form-wrap .forminator-row{margin-bottom:0.75rem !important}
.cta__form-wrap .forminator-field input[type="text"],
.cta__form-wrap .forminator-field input[type="email"],
.cta__form-wrap .forminator-field input[type="tel"],
.cta__form-wrap .forminator-field select,
.cta__form-wrap .forminator-field textarea,
.contact-main__form-wrap .forminator-field input[type="text"],
.contact-main__form-wrap .forminator-field input[type="email"],
.contact-main__form-wrap .forminator-field input[type="tel"],
.contact-main__form-wrap .forminator-field select,
.contact-main__form-wrap .forminator-field textarea{
  width:100% !important;
  padding:1rem 1.125rem !important;
  font-family:var(--sans) !important;
  font-size:0.9375rem !important;
  color:var(--ink) !important;
  background:var(--bg) !important;
  border:1px solid var(--border-strong) !important;
  border-radius:0.875rem !important;
  outline:none !important;
  transition:border-color 0.3s var(--ease), box-shadow 0.3s var(--ease) !important;
  box-shadow:none !important;
  height:auto !important;
  line-height:1.5 !important;
}
.cta__form-wrap .forminator-field input:focus,
.cta__form-wrap .forminator-field select:focus,
.cta__form-wrap .forminator-field textarea:focus,
.contact-main__form-wrap .forminator-field input:focus,
.contact-main__form-wrap .forminator-field select:focus,
.contact-main__form-wrap .forminator-field textarea:focus{
  border-color:var(--gold) !important;
  box-shadow:0 0 0 4px rgba(184,146,61,0.1) !important;
}
.cta__form-wrap .forminator-field input::placeholder,
.cta__form-wrap .forminator-field textarea::placeholder,
.contact-main__form-wrap .forminator-field input::placeholder,
.contact-main__form-wrap .forminator-field textarea::placeholder{color:var(--muted-2) !important}
.cta__form-wrap .forminator-label,
.contact-main__form-wrap .forminator-label{
  font-family:var(--sans) !important;
  font-size:0.75rem !important;
  color:var(--muted) !important;
  font-weight:600 !important;
  letter-spacing:0.05em !important;
  text-transform:uppercase !important;
  margin-bottom:0.5rem !important;
}
.cta__form-wrap .forminator-button-submit,
.contact-main__form-wrap .forminator-button-submit{
  width:100% !important;
  padding:1rem 1.5rem !important;
  font-family:var(--sans) !important;
  font-size:0.875rem !important;
  font-weight:600 !important;
  background:var(--ink) !important;
  color:var(--bg) !important;
  border:none !important;
  border-radius:100px !important;
  cursor:pointer !important;
  transition:all 0.4s var(--ease) !important;
  box-shadow:none !important;
  text-transform:none !important;
  margin-top:0.5rem !important;
}
.cta__form-wrap .forminator-button-submit:hover,
.contact-main__form-wrap .forminator-button-submit:hover{
  background:var(--gold) !important;
  color:var(--bg) !important;
  transform:translateY(-2px);
}
.cta__form-wrap .forminator-response-message,
.contact-main__form-wrap .forminator-response-message{
  font-family:var(--sans) !important;
  border-radius:0.75rem !important;
  padding:1rem 1.25rem !important;
}

/* =========================================
   JOURNEY LAYER
   ========================================= */
.journey-layer{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:1;
  overflow:hidden;
}
.journey-svg{
  position:absolute;
  top:0;left:50%;
  transform:translateX(-50%);
  width:100%;height:auto;
  max-width:1600px;
  opacity:0.5;
}
.plane-wrap{
  position:absolute;
  top:0;left:0;
  width:0;height:0;
  will-change:transform;
}
.plane{
  display:block;
  transform-origin:center;
  filter:drop-shadow(0 6px 16px rgba(184,146,61,0.35));
}
.site-main{position:relative;z-index:2;background:var(--bg)}
section{position:relative;background:inherit}

/* =========================================
   FOOTER
   ========================================= */
.site-footer{
  position:relative;
  z-index:2;
  background:var(--navy-deep);
  color:var(--bg);
  padding:4rem 0 2.5rem;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr;
  gap:3rem;
  margin-bottom:3.5rem;
}
.footer-brand .brand__mark{color:var(--bg);font-size:1.5rem}
.footer-brand p{
  margin-top:1rem;
  color:rgba(255,255,255,0.5);
  font-size:0.875rem;
  max-width:320px;
}
.footer-col h4{
  font-family:var(--sans);
  font-size:0.6875rem;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:600;
  margin-bottom:1.25rem;
}
.footer-col a{
  display:block;
  color:rgba(255,255,255,0.7);
  font-size:0.9rem;
  margin-bottom:0.65rem;
  transition:color 0.25s;
}
.footer-col a:hover{color:var(--gold)}
.footer-col ul,
.footer-col .menu{
  display:block !important;
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
}
.footer-col li{list-style:none !important;margin:0 !important;padding:0 !important}
.footer-col li a{
  display:block;
  color:rgba(255,255,255,0.7);
  font-size:0.9rem;
  margin-bottom:0.65rem;
  transition:color 0.25s;
}
.footer-col li a:hover{color:var(--gold)}
.footer-address{
  color:rgba(255,255,255,0.7);
  font-size:0.9rem;
  line-height:1.6;
  margin-bottom:1rem;
}
.footer-contact-link{
  display:flex;
  align-items:center;
  gap:0.5rem;
  color:rgba(255,255,255,0.7);
  font-size:0.9rem;
  margin-bottom:0.65rem;
  transition:color 0.25s;
}
.footer-contact-link:hover{color:var(--gold)}
.footer-contact-link svg{opacity:0.7;flex-shrink:0}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,0.08);
  padding-top:1.75rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:0.75rem;
  color:rgba(255,255,255,0.4);
  flex-wrap:wrap;
  gap:1rem;
}
.footer-legal{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}
.footer-legal a{color:rgba(255,255,255,0.5);transition:color 0.25s}
.footer-legal a:hover{color:var(--gold)}
.footer-social{display:flex;gap:0.5rem;margin-top:1.5rem;flex-wrap:wrap}
.footer-social__link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;height:38px;
  border-radius:50%;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.08);
  color:rgba(255,255,255,0.7);
  transition:all 0.35s var(--ease);
}
.footer-social__link:hover{
  background:var(--gold);
  border-color:var(--gold);
  color:var(--bg);
  transform:translateY(-3px);
}
.footer-social__link svg{width:16px;height:16px}

/* =========================================
   CAROUSEL
   ========================================= */
.carousel{position:relative}
.carousel__track{
  display:flex;
  gap:1rem;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding-bottom:1rem;
  scrollbar-width:none;
  -ms-overflow-style:none;
  cursor:grab;
}
.carousel__track::-webkit-scrollbar{display:none}
.carousel__track.is-dragging{cursor:grabbing;scroll-behavior:auto}
.carousel__track.is-dragging *{pointer-events:none}
.carousel__nav{display:flex;justify-content:flex-end;gap:0.5rem;margin-top:1.5rem}
.carousel__btn{
  width:44px;height:44px;
  border-radius:50%;
  border:1px solid var(--border-strong);
  background:var(--bg);
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all 0.3s var(--ease);
  cursor:pointer;
}
.carousel__btn:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.carousel__btn:disabled{opacity:0.3;cursor:not-allowed}
.carousel__btn:disabled:hover{background:var(--bg);color:var(--ink);border-color:var(--border-strong)}

/* =========================================
   VISAS
   ========================================= */
.visas{background:var(--bg)}
.visa-card{
  flex:0 0 320px;
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
  gap:0.875rem;
  padding:1.75rem;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:1.25rem;
  transition:border-color 0.4s var(--ease), transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
  min-height:260px;
  user-select:none;
  text-decoration:none !important;
  color:inherit !important;
  cursor:pointer;
}
.visa-card:hover{
  border-color:var(--gold) !important;
  transform:translateY(-4px);
  box-shadow:0 20px 40px -20px rgba(10,31,68,0.15);
}
.visa-card__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.5rem}
.visa-card__flag{font-size:2rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.08))}
.visa-card__tag{
  font-size:0.65rem;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--gold);
  background:rgba(184,146,61,0.1);
  padding:0.25rem 0.6rem;
  border-radius:100px;
  white-space:nowrap;
}
.visa-card__name{font-family:var(--display);font-weight:600;font-size:1.25rem;color:var(--ink);letter-spacing:-0.03em;line-height:1.15}
.visa-card__country{
  font-size:0.75rem;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--muted-2);
  margin-top:-0.25rem;
}
.visa-card__desc{font-size:0.9rem;line-height:1.55;color:var(--muted)}
.visa-card__link{
  display:inline-flex;
  align-items:center;
  gap:0.35rem;
  font-size:0.8125rem;
  font-weight:600;
  color:var(--ink);
  margin-top:auto;
  padding-top:0.5rem;
  transition:color 0.3s;
}
.visa-card__link svg{transition:transform 0.35s var(--ease)}
.visa-card:hover .visa-card__link{color:var(--gold)}
.visa-card:hover .visa-card__link svg{transform:translateX(3px)}

/* =========================================
   TESTIMONIALS
   ========================================= */
.testimonials{background:var(--bg-soft)}
.testimonial-card{
  flex:0 0 420px;
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  padding:2rem;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:1.25rem;
  transition:border-color 0.4s var(--ease), transform 0.4s var(--ease);
  user-select:none;
}
.testimonial-card:hover{border-color:var(--border-strong);transform:translateY(-4px)}
.testimonial-card__stars{display:flex;gap:2px;color:var(--gold)}
.testimonial-card__quote{font-size:1.0625rem;line-height:1.6;color:var(--ink-2);flex:1}
.testimonial-card__author{
  display:flex;
  align-items:center;
  gap:0.875rem;
  padding-top:1.25rem;
  border-top:1px solid var(--border);
}
.testimonial-card__avatar{
  width:44px;height:44px;
  border-radius:50%;
  background:var(--navy);
  color:var(--bg);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--display);
  font-weight:600;
  font-size:1.125rem;
  flex-shrink:0;
}
.testimonial-card__info{display:flex;flex-direction:column;gap:2px}
.testimonial-card__name{font-family:var(--display);font-weight:600;font-size:0.9375rem;color:var(--ink)}
.testimonial-card__role{font-size:0.8125rem;color:var(--muted)}

/* =========================================
   FAQ
   ========================================= */
.faq{background:var(--bg)}
.faq__list{max-width:780px;margin:0 auto;border-top:1px solid var(--border)}
.faq-item{border-bottom:1px solid var(--border)}
.faq-item__head{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  padding:1.75rem 0;
  text-align:left;
  background:transparent;
  cursor:pointer;
}
.faq-item__head:hover .faq-item__q{color:var(--gold)}
.faq-item__q{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(1rem,1.4vw,1.1875rem);
  color:var(--ink);
  letter-spacing:-0.02em;
  line-height:1.35;
  transition:color 0.3s;
}
.faq-item__icon{
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;height:32px;
  border-radius:50%;
  background:var(--bg-soft);
  color:var(--ink);
  transition:all 0.4s var(--ease);
}
.faq-item.is-open .faq-item__icon{
  background:var(--ink);
  color:var(--bg);
  transform:rotate(45deg);
}
.faq-item__body{overflow:hidden;height:0;transition:height 0.5s cubic-bezier(0.16,1,0.3,1)}
.faq-item__body-inner{padding:0 3rem 1.75rem 0}
.faq-item__body p{font-size:0.9375rem;line-height:1.7;color:var(--muted);max-width:640px}

/* =========================================
   BACK TO TOP / WHATSAPP
   ========================================= */
.back-top{
  position:fixed;
  bottom:2rem;left:2rem;
  z-index:90;
  width:44px;height:44px;
  border-radius:50%;
  background:var(--bg);
  border:1px solid var(--border-strong);
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:all 0.4s var(--ease);
}
.back-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-top:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.whatsapp-float{
  position:fixed;
  bottom:2rem;right:2rem;
  z-index:90;
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  padding:0.75rem 1.125rem;
  background:#25D366;
  color:#fff;
  border-radius:100px;
  font-size:0.875rem;
  font-weight:600;
  box-shadow:0 12px 32px -8px rgba(37,211,102,0.5);
  transition:all 0.4s var(--ease);
}
.whatsapp-float:hover{transform:translateY(-3px);box-shadow:0 16px 40px -8px rgba(37,211,102,0.6)}
.whatsapp-float svg{flex-shrink:0}
.whatsapp-float__label{white-space:nowrap}

/* =========================================
   ABOUT PAGE
   ========================================= */
.about-hero{
  min-height:85vh;
  display:flex;
  align-items:center;
  padding:12rem 0 6rem;
  position:relative;
  overflow:hidden;
  background:var(--bg);
}
.about-hero__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.about-hero__glow{
  position:absolute;
  top:-40%;right:-20%;
  width:70vw;height:70vw;
  max-width:900px;max-height:900px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(212,183,106,0.45) 0%,transparent 65%);
  filter:blur(110px);
  opacity:0.55;
}
.about-hero__grid-lines{
  position:absolute;
  inset:0;
  background-image:linear-gradient(to right, rgba(0,0,0,0.03) 1px, transparent 1px);
  background-size:80px 100%;
  mask-image:radial-gradient(ellipse at center, black 30%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at center, black 30%, transparent 75%);
}
.about-hero__inner{position:relative;z-index:2;max-width:900px}
.about-hero__title{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(2.5rem,7vw,6.5rem);
  line-height:1.02;
  letter-spacing:-0.05em;
  color:var(--ink);
  margin-bottom:2rem;
}
.about-hero__title em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--gold)}
.about-hero__lead{
  font-size:clamp(1rem,1.2vw,1.1875rem);
  line-height:1.65;
  color:var(--muted);
  max-width:660px;
}
.about-hero__lead strong{color:var(--ink);font-weight:600}
.about-hero__meta{
  display:flex;
  gap:clamp(2rem,4vw,4rem);
  margin-top:3.5rem;
  padding-top:2.5rem;
  border-top:1px solid var(--border);
  flex-wrap:wrap;
}
.about-hero__meta-item{display:flex;flex-direction:column;gap:0.35rem}
.about-hero__meta-num{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(1.75rem,3vw,2.75rem);
  color:var(--ink);
  line-height:1;
  letter-spacing:-0.05em;
}
.about-hero__meta-num::after{content:"+"}
.about-hero__meta-item:last-child .about-hero__meta-num::after{content:"%"}
.about-hero__meta-label{
  font-size:0.6875rem;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--gold);
}
.about-story{background:var(--bg)}
.about-story__grid{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(3rem,6vw,6rem);align-items:start}
.about-story__left{position:sticky;top:8rem}
.about-story__left h2{margin-top:0.5rem}
.about-story__right{display:flex;flex-direction:column;gap:1.75rem}
.about-story__lead{font-size:clamp(1.125rem,1.5vw,1.5rem);line-height:1.5;color:var(--ink-2);max-width:640px}
.about-story__right p:not(.about-story__lead){font-size:1rem;line-height:1.75;color:var(--muted);max-width:620px}
.about-story__signature{
  display:flex;
  align-items:center;
  gap:1rem;
  margin-top:1.5rem;
  padding-top:2rem;
  border-top:1px solid var(--border);
}
.about-story__sig-line{width:48px;height:1.5px;background:var(--gold);flex-shrink:0}
.about-story__sig-name{display:block;font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--ink)}
.about-story__sig-role{
  display:block;
  font-size:0.75rem;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:0.25rem;
}
.about-values{background:var(--bg-soft)}
.about-values__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.about-value{
  padding:2rem;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:1.25rem;
  display:flex;
  flex-direction:column;
  gap:1rem;
  transition:border-color 0.4s var(--ease), transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
}
.about-value:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 20px 40px -20px rgba(10,31,68,0.15)}
.about-value__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.5rem}
.about-value__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;height:48px;
  border-radius:12px;
  background:var(--navy);
  color:var(--bg);
}
.about-value__num{font-family:var(--display);font-weight:600;font-size:0.75rem;color:var(--muted-2);letter-spacing:0.1em}
.about-value__title{font-family:var(--display);font-weight:600;font-size:1.375rem;color:var(--ink);letter-spacing:-0.03em;line-height:1.2}
.about-value__desc{font-size:0.9375rem;line-height:1.65;color:var(--muted)}
.about-team{background:var(--bg)}
.about-team__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.about-member{
  padding:1.75rem;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:1.25rem;
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  transition:border-color 0.4s var(--ease), transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
}
.about-member:hover{border-color:var(--border-strong);transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(10,31,68,0.12)}
.about-member__avatar{
  width:56px;height:56px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--navy) 0%, #1a3260 100%);
  color:var(--bg);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--display);
  font-weight:700;
  font-size:1.125rem;
}
.about-member__info{display:flex;flex-direction:column;gap:0.25rem}
.about-member__name{font-family:var(--display);font-weight:600;font-size:1.125rem;color:var(--ink);letter-spacing:-0.025em}
.about-member__role{font-size:0.875rem;color:var(--muted)}
.about-member__exp{
  display:inline-block;
  align-self:flex-start;
  margin-top:0.75rem;
  padding:0.25rem 0.6rem;
  font-size:0.65rem;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--gold);
  background:rgba(184,146,61,0.1);
  border-radius:100px;
}
.about-office{background:var(--bg-soft)}
.about-office__inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,5rem);align-items:start}
.about-office__content h2{margin-bottom:1.5rem}
.about-office__content > p{
  font-size:1.0625rem;
  line-height:1.65;
  color:var(--muted);
  max-width:480px;
  margin-bottom:2.5rem;
}
.about-office__details{
  display:flex;
  flex-direction:column;
  gap:1.5rem;
  padding-top:2rem;
  border-top:1px solid var(--border);
}
.about-office__detail{display:grid;grid-template-columns:140px 1fr;gap:1.5rem;align-items:start}
.about-office__label{
  font-size:0.6875rem;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--gold);
  padding-top:0.25rem;
}
.about-office__value{
  font-family:var(--display);
  font-size:1rem;
  font-weight:500;
  line-height:1.55;
  color:var(--ink);
}
.about-office__map{position:relative}
.about-office__map-wrap{
  width:100%;
  aspect-ratio:4 / 5;
  border-radius:1.5rem;
  overflow:hidden;
  border:1px solid var(--border);
  background:var(--bg);
  box-shadow:0 24px 60px -30px rgba(10,31,68,0.2);
}
.about-office__map-wrap iframe{
  width:100%;height:100%;
  display:block;
  filter:grayscale(0.35) contrast(1.05);
  transition:filter 0.6s var(--ease);
}
.about-office__map-wrap:hover iframe{filter:grayscale(0) contrast(1)}
.about-office__map-badge{
  position:absolute;
  bottom:1.25rem;left:1.25rem;
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  padding:0.5rem 0.875rem;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:100px;
  font-size:0.75rem;
  font-weight:600;
  color:var(--ink);
  box-shadow:0 8px 20px -8px rgba(0,0,0,0.1);
}
.about-office__map-dot{
  width:6px;height:6px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 3px rgba(184,146,61,0.18);
  animation:pulseDot 2.2s infinite;
}

/* =========================================
   CONTACT PAGE
   ========================================= */
.contact-hero{
  min-height:70vh;
  display:flex;
  align-items:center;
  padding:12rem 0 6rem;
  position:relative;
  overflow:hidden;
  background:var(--bg);
}
.contact-hero__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.contact-hero__glow{
  position:absolute;
  top:-40%;right:-20%;
  width:70vw;height:70vw;
  max-width:900px;max-height:900px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(212,183,106,0.4) 0%,transparent 65%);
  filter:blur(110px);
  opacity:0.55;
}
.contact-hero__grid-lines{
  position:absolute;
  inset:0;
  background-image:linear-gradient(to right, rgba(0,0,0,0.03) 1px, transparent 1px);
  background-size:80px 100%;
  mask-image:radial-gradient(ellipse at center, black 30%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at center, black 30%, transparent 75%);
}
.contact-hero__inner{position:relative;z-index:2;max-width:900px}
.contact-hero__title{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(2.5rem,7vw,6.5rem);
  line-height:1.02;
  letter-spacing:-0.05em;
  color:var(--ink);
  margin-bottom:1.75rem;
}
.contact-hero__title em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--gold)}
.contact-hero__lead{
  font-size:clamp(1rem,1.2vw,1.1875rem);
  line-height:1.65;
  color:var(--muted);
  max-width:600px;
}
.contact-hero__badges{display:flex;gap:0.75rem;margin-top:2.5rem;flex-wrap:wrap}
.contact-badge{
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  padding:0.5rem 0.875rem;
  font-size:0.75rem;
  font-weight:500;
  color:var(--ink-2);
  background:var(--bg-soft);
  border:1px solid var(--border);
  border-radius:100px;
}
.contact-badge svg{color:var(--gold);flex-shrink:0}
.contact-badge__dot{
  width:6px;height:6px;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 3px rgba(34,197,94,0.2);
  animation:pulseDot 2.2s infinite;
}
.contact-main{background:var(--bg)}
.contact-main__grid{
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:clamp(3rem,6vw,6rem);
  align-items:start;
}
.contact-main__form h2{margin-bottom:1rem}
.contact-main__form-lead{
  font-size:1rem;
  line-height:1.65;
  color:var(--muted);
  max-width:480px;
  margin-bottom:2.5rem;
}
.contact-main__form-wrap{max-width:520px}
.contact-main__info{display:flex;flex-direction:column;gap:0.75rem}
.contact-info-card{
  padding:1.75rem;
  background:var(--bg-soft);
  border:1px solid var(--border);
  border-radius:1.25rem;
  transition:border-color 0.4s var(--ease), transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
}
.contact-info-card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 16px 40px -24px rgba(10,31,68,0.15)}
.contact-info-card__label{
  display:block;
  font-size:0.6875rem;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:0.75rem;
}
.contact-info-card__title{
  font-family:var(--display);
  font-weight:600;
  font-size:1.125rem;
  color:var(--ink);
  letter-spacing:-0.025em;
  margin-bottom:0.5rem;
}
.contact-info-card__title--link{display:inline-block;transition:color 0.3s}
.contact-info-card__title--link:hover{color:var(--gold)}
.contact-info-card__text{font-size:0.9375rem;line-height:1.6;color:var(--muted)}
.contact-info-card__link{
  display:inline-flex;
  align-items:center;
  gap:0.35rem;
  margin-top:1rem;
  font-size:0.8125rem;
  font-weight:600;
  color:var(--ink);
  transition:color 0.3s;
}
.contact-info-card__link:hover{color:var(--gold)}
.contact-info-card--accent{
  background:linear-gradient(135deg, #050E24 0%, #0A1F44 100%);
  border-color:transparent;
  color:var(--bg);
}
.contact-info-card--accent:hover{border-color:rgba(212,183,106,0.4);box-shadow:0 24px 48px -20px rgba(10,31,68,0.4)}
.contact-info-card--accent .contact-info-card__label{color:var(--gold-soft)}
.contact-info-card--accent .contact-info-card__title{color:var(--bg)}
.contact-info-card--accent .contact-info-card__text{color:rgba(255,255,255,0.6)}
.contact-info-card--accent .btn--primary{background:var(--gold);color:var(--bg)}
.contact-info-card--accent .btn--primary:hover{background:var(--bg);color:var(--navy)}
.contact-map{background:var(--bg-soft)}
.contact-map__head{margin-bottom:clamp(2.5rem,5vw,4rem);max-width:820px}
.contact-map__wrap{
  position:relative;
  width:100%;
  aspect-ratio:16 / 8;
  border-radius:1.5rem;
  overflow:hidden;
  border:1px solid var(--border);
  background:var(--bg);
  box-shadow:0 30px 80px -40px rgba(10,31,68,0.25);
}
.contact-map__wrap iframe{
  width:100%;height:100%;
  display:block;
  filter:grayscale(0.35) contrast(1.05);
  transition:filter 0.6s var(--ease);
}
.contact-map__wrap:hover iframe{filter:grayscale(0) contrast(1)}
.contact-map__badge{
  position:absolute;
  bottom:1.5rem;left:1.5rem;
  display:flex;
  align-items:center;
  gap:0.75rem;
  padding:0.875rem 1.125rem;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:1rem;
  box-shadow:0 16px 40px -20px rgba(0,0,0,0.15);
}
.contact-map__badge-dot{
  width:8px;height:8px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 4px rgba(184,146,61,0.2);
  animation:pulseDot 2.2s infinite;
  flex-shrink:0;
}
.contact-map__badge-title{
  display:block;
  font-family:var(--display);
  font-weight:600;
  font-size:0.875rem;
  color:var(--ink);
  line-height:1.2;
}
.contact-map__badge-sub{display:block;font-size:0.75rem;color:var(--muted);margin-top:0.15rem}

/* =========================================
   LEGAL PAGES
   ========================================= */
.legal-hero{
  min-height:60vh;
  display:flex;
  align-items:center;
  padding:12rem 0 6rem;
  position:relative;
  overflow:hidden;
  background:var(--bg);
}
.legal-hero__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.legal-hero__glow{
  position:absolute;
  top:-40%;right:-20%;
  width:70vw;height:70vw;
  max-width:900px;max-height:900px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(212,183,106,0.35) 0%,transparent 65%);
  filter:blur(110px);
  opacity:0.5;
}
.legal-hero__inner{position:relative;z-index:2;max-width:900px}
.legal-hero__title{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(2.5rem,7vw,6rem);
  line-height:1.02;
  letter-spacing:-0.05em;
  color:var(--ink);
  margin-bottom:1.75rem;
}
.legal-hero__title em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--gold)}
.legal-hero__lead{
  font-size:clamp(1rem,1.2vw,1.125rem);
  line-height:1.65;
  color:var(--muted);
  max-width:620px;
}
.legal-hero__meta{
  display:flex;
  align-items:center;
  gap:1rem;
  margin-top:2.5rem;
  font-size:0.8125rem;
  color:var(--muted);
  flex-wrap:wrap;
}
.legal-hero__meta strong{color:var(--ink);font-weight:600}
.legal-hero__dot{width:4px;height:4px;border-radius:50%;background:var(--muted-2)}
.legal-content{background:var(--bg)}
.legal-content__grid{display:grid;grid-template-columns:260px 1fr;gap:clamp(3rem,6vw,6rem);align-items:start}
.legal-toc{position:sticky;top:8rem;padding-right:1.5rem;border-right:1px solid var(--border)}
.legal-toc__label{
  display:block;
  font-size:0.65rem;
  font-weight:600;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:1.25rem;
}
.legal-toc__nav{display:flex;flex-direction:column;gap:0.15rem}
.legal-toc__link{
  display:block;
  padding:0.5rem 0;
  font-size:0.875rem;
  color:var(--muted);
  line-height:1.4;
  transition:color 0.25s, padding-left 0.3s var(--ease);
  border-left:2px solid transparent;
  padding-left:0;
}
.legal-toc__link:hover{color:var(--ink);padding-left:0.75rem}
.legal-toc__link.is-active{color:var(--ink);font-weight:600;padding-left:0.75rem;border-left-color:var(--gold)}
.legal-body{max-width:720px}
.legal-block{
  padding-bottom:3.5rem;
  margin-bottom:3.5rem;
  border-bottom:1px solid var(--border);
  scroll-margin-top:6rem;
}
.legal-block:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}
.legal-block__num{
  display:inline-block;
  font-family:var(--display);
  font-weight:600;
  font-size:0.75rem;
  letter-spacing:0.15em;
  color:var(--gold);
  margin-bottom:0.75rem;
}
.legal-block__title{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(1.375rem,2vw,1.75rem);
  color:var(--ink);
  letter-spacing:-0.03em;
  line-height:1.2;
  margin-bottom:1.5rem;
}
.legal-block h3{font-family:var(--display);font-weight:600;font-size:1rem;color:var(--ink);margin-top:1.75rem;margin-bottom:1rem}
.legal-block p{font-size:0.9375rem;line-height:1.75;color:var(--muted);margin-bottom:1.25rem}
.legal-block p:last-child{margin-bottom:0}
.legal-block strong{color:var(--ink);font-weight:600}
.legal-block a{
  color:var(--ink);
  font-weight:500;
  border-bottom:1px solid var(--border-strong);
  transition:color 0.25s, border-color 0.25s;
}
.legal-block a:hover{color:var(--gold);border-color:var(--gold)}
.legal-block ul{list-style:none;margin-bottom:1.5rem;padding-left:0}
.legal-block ul li{
  position:relative;
  padding-left:1.5rem;
  font-size:0.9375rem;
  line-height:1.7;
  color:var(--muted);
  margin-bottom:0.75rem;
}
.legal-block ul li::before{
  content:"";
  position:absolute;
  left:0;top:0.7em;
  width:6px;height:1px;
  background:var(--gold);
}
.legal-contact-card{
  padding:1.75rem;
  background:var(--bg-soft);
  border:1px solid var(--border);
  border-radius:1.25rem;
  margin-top:1rem;
  margin-bottom:1.5rem;
}
.legal-contact-card__name{
  font-family:var(--display);
  font-weight:600;
  font-size:1.0625rem;
  color:var(--ink);
  margin-bottom:1rem !important;
}
.legal-contact-card__line{
  font-size:0.9375rem;
  line-height:1.6;
  color:var(--muted);
  margin-bottom:0.25rem !important;
}
.legal-body__footer-note{
  font-size:0.875rem !important;
  font-style:italic;
  color:var(--muted-2) !important;
  padding-top:1rem;
  border-top:1px solid var(--border);
}

/* =========================================
   404 ERROR PAGE
   ========================================= */
.error-hero{
  min-height:100vh;
  display:flex;
  align-items:center;
  padding:12rem 0 8rem;
  position:relative;
  overflow:hidden;
  background:var(--bg);
}
.error-hero__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.error-hero__glow{
  position:absolute;
  top:-40%;right:-20%;
  width:70vw;height:70vw;
  max-width:900px;max-height:900px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(212,183,106,0.45) 0%,transparent 65%);
  filter:blur(110px);
  opacity:0.55;
}
.error-hero__grid-lines{
  position:absolute;
  inset:0;
  background-image:linear-gradient(to right, rgba(0,0,0,0.03) 1px, transparent 1px);
  background-size:80px 100%;
  mask-image:radial-gradient(ellipse at center, black 30%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at center, black 30%, transparent 75%);
}
.error-hero__inner{position:relative;z-index:2;max-width:820px;margin:0 auto;text-align:center}
.error-hero__code{
  display:inline-block;
  font-family:var(--display);
  font-weight:700;
  font-size:clamp(5rem,14vw,11rem);
  line-height:0.9;
  letter-spacing:-0.08em;
  color:var(--gold);
  margin-bottom:1rem;
  position:relative;
}
.error-hero__code::after{
  content:"";
  position:absolute;
  left:50%;bottom:-0.5rem;
  transform:translateX(-50%);
  width:60px;height:2px;
  background:var(--gold);
  opacity:0.4;
}
.error-hero__title{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(2.25rem,5.5vw,4.5rem);
  line-height:1.05;
  letter-spacing:-0.05em;
  color:var(--ink);
  margin-bottom:1.75rem;
}
.error-hero__title em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--gold)}
.error-hero__lead{
  font-size:clamp(1rem,1.15vw,1.125rem);
  line-height:1.65;
  color:var(--muted);
  max-width:560px;
  margin:0 auto 2.75rem;
}
.error-hero__actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1.75rem;
  flex-wrap:wrap;
  margin-bottom:3.5rem;
}
.error-hero__search{max-width:480px;margin:0 auto}
.error-search{
  position:relative;
  display:flex;
  align-items:center;
  background:var(--bg-soft);
  border:1px solid var(--border);
  border-radius:100px;
  padding:0.25rem 0.35rem 0.25rem 1.25rem;
  transition:border-color 0.3s var(--ease), box-shadow 0.3s var(--ease);
}
.error-search:focus-within{
  border-color:var(--gold);
  box-shadow:0 0 0 4px rgba(184,146,61,0.1);
  background:var(--bg);
}
.error-search__icon{color:var(--muted-2);flex-shrink:0;margin-right:0.5rem}
.error-search input{
  flex:1;
  border:none;
  background:transparent;
  outline:none;
  font-family:var(--sans);
  font-size:0.9375rem;
  color:var(--ink);
  padding:0.875rem 0;
  min-width:0;
}
.error-search input::placeholder{color:var(--muted-2)}
.error-search button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;height:40px;
  border-radius:50%;
  background:var(--ink);
  color:var(--bg);
  flex-shrink:0;
  cursor:pointer;
  transition:all 0.3s var(--ease);
}
.error-search button:hover{background:var(--gold);color:var(--bg)}
.error-links{background:var(--bg-soft)}
.error-links__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  margin-bottom:3rem;
}
.error-link{
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1.5rem 1.75rem;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:1.25rem;
  transition:all 0.4s var(--ease);
}
.error-link:hover{
  border-color:var(--gold);
  transform:translateY(-4px);
  box-shadow:0 20px 40px -20px rgba(10,31,68,0.15);
}
.error-link__flag{font-size:1.75rem;line-height:1;flex-shrink:0}
.error-link__name{
  font-family:var(--display);
  font-weight:600;
  font-size:1.0625rem;
  color:var(--ink);
  letter-spacing:-0.025em;
  flex:1;
}
.error-link__arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;height:32px;
  border-radius:50%;
  background:var(--bg-soft);
  color:var(--ink-2);
  flex-shrink:0;
  transition:all 0.4s var(--ease);
}
.error-link:hover .error-link__arrow{background:var(--ink);color:var(--bg)}
.error-links__more{text-align:center}

/* =========================================
   BLOG
   ========================================= */
.blog-main{background:var(--bg);padding:10rem 0 6rem}
.blog-layout{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:clamp(2.5rem,5vw,4.5rem);
  align-items:start;
}
.blog-sidebar{
  position:sticky;
  top:7rem;
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}
.blog-widget{
  padding:1.5rem;
  background:var(--bg-soft);
  border:1px solid var(--border);
  border-radius:1.25rem;
}
.blog-widget__title{
  font-family:var(--sans);
  font-size:0.6875rem;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:1rem;
}
.blog-widget__desc{font-size:0.875rem;line-height:1.55;color:var(--muted)}
.blog-widget--cta{
  background:linear-gradient(135deg, #050E24 0%, #0A1F44 100%);
  border-color:transparent;
}
.blog-widget--cta .blog-widget__title{color:var(--gold-soft)}
.blog-widget--cta .blog-widget__desc{color:rgba(255,255,255,0.6)}
.blog-widget--cta .btn--primary{background:var(--gold);color:var(--bg)}
.blog-widget--cta .btn--primary:hover{background:var(--bg);color:var(--navy)}

.blog-cat-list{display:flex;flex-direction:column;gap:2px;list-style:none;padding:0;margin:0}
.blog-cat-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0.625rem 0.75rem;
  font-size:0.875rem;
  color:var(--ink-2);
  border-radius:0.5rem;
  transition:all 0.25s var(--ease);
}
.blog-cat-item:hover{background:var(--bg);color:var(--ink)}
.blog-cat-item.is-active{background:var(--bg);color:var(--ink);font-weight:600}
.blog-cat-item.is-active .blog-cat-item__name::before{
  content:"";
  display:inline-block;
  width:6px;height:6px;
  border-radius:50%;
  background:var(--gold);
  margin-right:0.5rem;
  vertical-align:middle;
}
.blog-cat-item__name{flex:1}
.blog-cat-item__count{
  font-size:0.75rem;
  color:var(--muted-2);
  background:var(--bg);
  padding:0.15rem 0.5rem;
  border-radius:100px;
  min-width:24px;
  text-align:center;
}
.blog-cat-item.is-active .blog-cat-item__count{background:var(--ink);color:var(--bg)}

.blog-content{min-width:0}
.blog-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.25rem;
}
.blog-card{transition:transform 0.5s var(--ease)}
.blog-card__link{
  display:flex;
  flex-direction:column;
  height:100%;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:1.25rem;
  overflow:hidden;
  transition:border-color 0.4s var(--ease), transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
}
.blog-card__link:hover{
  border-color:var(--gold);
  transform:translateY(-6px);
  box-shadow:0 24px 48px -24px rgba(10,31,68,0.18);
}
.blog-card__image{
  position:relative;
  aspect-ratio:16 / 10;
  overflow:hidden;
  background:var(--bg-soft);
}
.blog-card__image img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform 0.7s var(--ease);
}
.blog-card__link:hover .blog-card__image img{transform:scale(1.05)}
.blog-card__image--placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, #050E24 0%, #0A1F44 100%);
}
.blog-card__image--placeholder span{
  font-family:var(--display);
  font-weight:700;
  font-size:2.5rem;
  color:var(--gold);
  opacity:0.5;
}
.blog-card__body{
  padding:1.5rem;
  display:flex;
  flex-direction:column;
  gap:0.75rem;
  flex:1;
}
.blog-card__meta{
  display:flex;
  align-items:center;
  gap:0.5rem;
  font-size:0.75rem;
  color:var(--muted);
}
.blog-card__cat{
  font-weight:600;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-size:0.6875rem;
}
.blog-card__dot{width:3px;height:3px;border-radius:50%;background:var(--muted-2)}
.blog-card__time{color:var(--muted-2)}
.blog-card__title{
  font-family:var(--display);
  font-weight:600;
  font-size:1.125rem;
  line-height:1.25;
  letter-spacing:-0.03em;
  color:var(--ink);
  transition:color 0.3s;
}
.blog-card__link:hover .blog-card__title{color:var(--gold)}
.blog-card__excerpt{font-size:0.875rem;line-height:1.6;color:var(--muted)}
.blog-card__cta{
  display:inline-flex;
  align-items:center;
  gap:0.35rem;
  font-size:0.8125rem;
  font-weight:600;
  color:var(--ink);
  margin-top:auto;
  padding-top:0.5rem;
  transition:color 0.3s;
}
.blog-card__cta svg{transition:transform 0.35s var(--ease)}
.blog-card__link:hover .blog-card__cta{color:var(--gold)}
.blog-card__link:hover .blog-card__cta svg{transform:translateX(3px)}

.blog-pagination{margin-top:3rem;display:flex;justify-content:center}
.blog-pagination .nav-links{display:flex;gap:0.35rem;align-items:center}
.blog-pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.4rem;
  min-width:42px;
  height:42px;
  padding:0 1rem;
  font-family:var(--sans);
  font-size:0.875rem;
  font-weight:500;
  color:var(--ink-2);
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:100px;
  transition:all 0.3s var(--ease);
}
.blog-pagination .page-numbers:hover{border-color:var(--ink);color:var(--ink)}
.blog-pagination .page-numbers.current{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.blog-pagination .page-numbers.dots{border:none;background:transparent}
.blog-pagination .page-numbers svg{flex-shrink:0}

.blog-empty{text-align:center;padding:4rem 0;max-width:480px;margin:0 auto}
.blog-empty h2{font-family:var(--display);font-weight:600;font-size:1.75rem;color:var(--ink);margin-bottom:0.75rem;letter-spacing:-0.03em}
.blog-empty p{color:var(--muted)}

/* =========================================
   SINGLE POST
   ========================================= */
.post-featured-image{padding:11rem 0 3rem;background:var(--bg)}
.post-featured-image .container{max-width:1080px}
.post-featured-image img{
  width:100%;
  max-height:500px;
  object-fit:cover;
  border-radius:1.5rem;
  box-shadow:0 30px 80px -40px rgba(10,31,68,0.25);
}
.post-content{background:var(--bg);padding:1rem 0 5rem}
.post-content__inner{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:clamp(2rem,5vw,5rem);
  align-items:start;
  max-width:1080px;
  margin:0 auto;
}
.post-toc{
  position:sticky;
  top:8rem;
  padding-right:1.5rem;
  border-right:1px solid var(--border);
}
.post-toc__label{
  display:block;
  font-size:0.65rem;
  font-weight:600;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:1rem;
}
.post-toc__nav{display:flex;flex-direction:column;gap:0.15rem}
.post-toc__link{
  display:block;
  padding:0.4rem 0;
  font-size:0.8125rem;
  color:var(--muted);
  line-height:1.4;
  transition:color 0.25s, padding-left 0.3s var(--ease);
  border-left:2px solid transparent;
  padding-left:0;
}
.post-toc__link:hover{color:var(--ink);padding-left:0.75rem}
.post-toc__link.is-active{
  color:var(--ink);
  font-weight:600;
  padding-left:0.75rem;
  border-left-color:var(--gold);
}
.post-content__body{
  font-family:var(--sans);
  font-size:1.0625rem;
  line-height:1.75;
  color:var(--ink-2);
  max-width:720px;
  min-width:0;
}
.post-content__body .post-hero__cat{
  display:inline-block;
  margin-bottom:1rem;
  font-size:0.6875rem;
  font-weight:600;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:0.08em;
  transition:opacity 0.3s;
}
.post-content__body .post-hero__cat:hover{opacity:0.8}
.post-content__body .post-hero__title{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(1.75rem,3.5vw,2.75rem);
  line-height:1.1;
  letter-spacing:-0.04em;
  color:var(--ink);
  margin-bottom:1rem;
}
.post-content__body .post-hero__meta{
  display:flex;
  align-items:center;
  gap:0.75rem;
  font-size:0.8125rem;
  color:var(--muted);
  margin-bottom:2.5rem;
  padding-bottom:1.5rem;
  border-bottom:1px solid var(--border);
  flex-wrap:wrap;
}
.post-content__body .post-hero__dot{
  width:3px;height:3px;
  border-radius:50%;
  background:var(--muted-2);
}
.post-content__body h2{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(1.5rem,2.5vw,2rem);
  letter-spacing:-0.035em;
  line-height:1.2;
  color:var(--ink);
  margin-top:3rem;
  margin-bottom:1rem;
  scroll-margin-top:6rem;
}
.post-content__body h3{
  font-family:var(--display);
  font-weight:600;
  font-size:1.25rem;
  letter-spacing:-0.025em;
  color:var(--ink);
  margin-top:2rem;
  margin-bottom:0.75rem;
  scroll-margin-top:6rem;
}
.post-content__body > * + *{margin-top:1.5rem}
.post-content__body p{font-size:1.0625rem;line-height:1.75;color:var(--ink-2)}
.post-content__body a{
  color:var(--ink);
  font-weight:500;
  border-bottom:1px solid var(--gold);
  transition:color 0.25s;
}
.post-content__body a:hover{color:var(--gold)}
.post-content__body strong{color:var(--ink);font-weight:600}
.post-content__body ul,
.post-content__body ol{padding-left:1.5rem;margin-bottom:1.5rem}
.post-content__body li{margin-bottom:0.5rem;line-height:1.7}
.post-content__body ul li::marker{color:var(--gold)}
.post-content__body ol li::marker{color:var(--gold);font-weight:600}
.post-content__body blockquote{
  padding:1.5rem 2rem;
  background:var(--bg-soft);
  border-left:3px solid var(--gold);
  border-radius:0 1rem 1rem 0;
  font-family:var(--serif);
  font-style:italic;
  font-size:1.25rem;
  line-height:1.6;
  color:var(--ink);
  margin:2rem 0;
}
.post-content__body blockquote p{font-family:var(--serif);font-size:1.25rem;color:var(--ink)}
.post-content__body img{border-radius:1rem;margin:2rem 0}
.post-content__body code{
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size:0.9em;
  padding:0.15em 0.4em;
  background:var(--bg-soft);
  border-radius:0.35rem;
  color:var(--ink);
}
.post-content__body pre{
  padding:1.5rem;
  background:var(--navy-deep);
  color:#E5E7EB;
  border-radius:1rem;
  overflow-x:auto;
  font-size:0.875rem;
  line-height:1.6;
}
.post-content__body pre code{background:transparent;padding:0;color:inherit}
.post-content__body hr{border:none;border-top:1px solid var(--border);margin:3rem 0}
.post-share{background:var(--bg-soft);padding:3rem 0}
.post-share__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  flex-wrap:wrap;
  max-width:1080px;
  margin:0 auto;
  padding:2rem;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:1.5rem;
}
.post-share__label{
  display:block;
  font-family:var(--display);
  font-weight:600;
  font-size:1.125rem;
  color:var(--ink);
  letter-spacing:-0.025em;
  margin-bottom:0.25rem;
}
.post-share__desc{font-size:0.9375rem;color:var(--muted)}
.post-share__actions{display:flex;gap:0.5rem;flex-wrap:wrap}
.post-share__btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;height:44px;
  border-radius:50%;
  background:var(--bg-soft);
  border:1px solid var(--border);
  color:var(--ink-2);
  transition:all 0.35s var(--ease);
}
.post-share__btn:hover{
  background:var(--ink);
  border-color:var(--ink);
  color:var(--bg);
  transform:translateY(-3px);
}
.post-related{background:var(--bg-soft);padding:clamp(4rem,8vh,6rem) 0}
.post-related .blog-grid{grid-template-columns:repeat(3,1fr)}

/* =========================================
   COUNTRY PAGE
   ========================================= */
.country-hero{
  min-height:75vh;
  display:flex;
  align-items:center;
  padding:12rem 0 6rem;
  position:relative;
  overflow:hidden;
  background:var(--bg);
}
.country-hero__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.country-hero__glow{
  position:absolute;
  top:-40%;right:-20%;
  width:70vw;height:70vw;
  max-width:900px;max-height:900px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(212,183,106,0.4) 0%,transparent 65%);
  filter:blur(110px);
  opacity:0.55;
}
.country-hero__grid-lines{
  position:absolute;
  inset:0;
  background-image:linear-gradient(to right, rgba(0,0,0,0.03) 1px, transparent 1px);
  background-size:80px 100%;
  mask-image:radial-gradient(ellipse at center, black 30%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at center, black 30%, transparent 75%);
}
.country-hero__inner{position:relative;z-index:2;max-width:900px}
.country-hero__back{
  display:inline-flex;
  align-items:center;
  gap:0.4rem;
  font-size:0.8125rem;
  font-weight:500;
  color:var(--muted);
  margin-bottom:2rem;
  transition:color 0.25s;
}
.country-hero__back svg{transition:transform 0.3s var(--ease)}
.country-hero__back:hover{color:var(--ink)}
.country-hero__back:hover svg{transform:translateX(-3px)}
.country-hero__flag{
  font-size:4rem;
  line-height:1;
  margin-bottom:1.5rem;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,0.12));
}
.country-hero__title{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(2.5rem,7vw,6.5rem);
  line-height:1.02;
  letter-spacing:-0.05em;
  color:var(--ink);
  margin-bottom:1.5rem;
}
.country-hero__title em{
  font-family:var(--serif);
  font-style:italic;
  font-weight:400;
  color:var(--gold);
  letter-spacing:-0.02em;
}
.country-hero__tagline{
  font-family:var(--display);
  font-weight:500;
  font-size:clamp(1.125rem,1.6vw,1.375rem);
  line-height:1.4;
  color:var(--ink-2);
  letter-spacing:-0.02em;
  margin-bottom:1.25rem;
  max-width:620px;
}
.country-hero__lead{
  font-size:clamp(1rem,1.15vw,1.0625rem);
  line-height:1.7;
  color:var(--muted);
  max-width:660px;
  margin-bottom:3rem;
}
.country-hero__stats{
  display:flex;
  gap:clamp(2rem,4vw,4rem);
  padding:2rem 0;
  margin-bottom:2.5rem;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  flex-wrap:wrap;
}
.country-hero__stat{display:flex;flex-direction:column;gap:0.35rem}
.country-hero__stat-num{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(1.75rem,3vw,2.5rem);
  color:var(--ink);
  line-height:1;
  letter-spacing:-0.05em;
}
.country-hero__stat-label{
  font-size:0.6875rem;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--gold);
}
.country-hero__cta{display:flex;gap:1rem;flex-wrap:wrap}

.country-why{background:var(--bg)}
.country-why__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.country-why__item{
  padding:2rem;
  background:var(--bg-soft);
  border:1px solid var(--border);
  border-radius:1.25rem;
  display:flex;
  flex-direction:column;
  gap:1rem;
  transition:border-color 0.4s var(--ease), transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
}
.country-why__item:hover{
  border-color:var(--gold);
  transform:translateY(-4px);
  box-shadow:0 20px 40px -20px rgba(10,31,68,0.15);
}
.country-why__dot{
  width:8px;height:8px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 4px rgba(184,146,61,0.15);
}
.country-why__title{
  font-family:var(--display);
  font-weight:600;
  font-size:1.25rem;
  color:var(--ink);
  letter-spacing:-0.03em;
  line-height:1.2;
}
.country-why__desc{font-size:0.9375rem;line-height:1.65;color:var(--muted)}

.country-routes{background:var(--bg-soft)}
.country-routes__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.route-card{
  display:flex;
  flex-direction:column;
  gap:1rem;
  padding:1.75rem;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:1.25rem;
  transition:border-color 0.4s var(--ease), transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
  min-height:200px;
  text-decoration:none !important;
  color:inherit !important;
  cursor:pointer;
}
.route-card:hover{
  border-color:var(--gold) !important;
  transform:translateY(-4px);
  box-shadow:0 20px 40px -20px rgba(10,31,68,0.15);
}
.route-card__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:0.5rem;
}
.route-card__tag{
  font-size:0.65rem;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--gold);
  background:rgba(184,146,61,0.1);
  padding:0.25rem 0.6rem;
  border-radius:100px;
}
.route-card__arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;height:30px;
  border-radius:50%;
  background:var(--bg-soft);
  color:var(--ink-2);
  transition:all 0.4s var(--ease);
}
.route-card:hover .route-card__arrow{background:var(--ink);color:var(--bg)}
.route-card__name{
  font-family:var(--display);
  font-weight:600;
  font-size:1.25rem;
  color:var(--ink);
  letter-spacing:-0.03em;
  line-height:1.15;
}
.route-card__desc{font-size:0.9rem;line-height:1.6;color:var(--muted);margin-top:auto}
.country-faq{background:var(--bg)}

/* =========================================
   PROGRAM PAGE
   ========================================= */
.program-hero{
  min-height:75vh;
  display:flex;
  align-items:center;
  padding:12rem 0 6rem;
  position:relative;
  overflow:hidden;
  background:var(--bg);
}
.program-hero__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.program-hero__glow{
  position:absolute;
  top:-40%;right:-20%;
  width:70vw;height:70vw;
  max-width:900px;max-height:900px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(212,183,106,0.4) 0%,transparent 65%);
  filter:blur(110px);
  opacity:0.55;
}
.program-hero__grid-lines{
  position:absolute;
  inset:0;
  background-image:linear-gradient(to right, rgba(0,0,0,0.03) 1px, transparent 1px);
  background-size:80px 100%;
  mask-image:radial-gradient(ellipse at center, black 30%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at center, black 30%, transparent 75%);
}
.program-hero__inner{position:relative;z-index:2;max-width:900px}
.program-hero__breadcrumb{
  display:flex;
  align-items:center;
  gap:0.5rem;
  font-size:0.8125rem;
  color:var(--muted);
  margin-bottom:2rem;
  flex-wrap:wrap;
}
.program-hero__breadcrumb a{color:var(--muted);transition:color 0.25s}
.program-hero__breadcrumb a:hover{color:var(--gold)}
.program-hero__breadcrumb span{opacity:0.5}
.program-hero__current{color:var(--ink);font-weight:500;opacity:1 !important}
.program-hero__flag{font-size:3rem;line-height:1;margin-bottom:1.25rem}
.program-hero__title{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(2rem,5vw,4.5rem);
  line-height:1.05;
  letter-spacing:-0.045em;
  color:var(--ink);
  margin-bottom:1.25rem;
}
.program-hero__tagline{
  font-family:var(--display);
  font-weight:500;
  font-size:clamp(1.0625rem,1.5vw,1.25rem);
  line-height:1.4;
  color:var(--gold);
  letter-spacing:-0.015em;
  margin-bottom:1.5rem;
  max-width:640px;
}
.program-hero__lead{
  font-size:clamp(1rem,1.15vw,1.0625rem);
  line-height:1.7;
  color:var(--muted);
  max-width:680px;
  margin-bottom:3rem;
}
.program-hero__stats{
  display:flex;
  gap:clamp(2rem,4vw,4rem);
  padding:2rem 0;
  margin-bottom:2.5rem;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  flex-wrap:wrap;
}
.program-hero__stat{display:flex;flex-direction:column;gap:0.35rem}
.program-hero__stat-num{
  font-family:var(--display);
  font-weight:600;
  font-size:clamp(1.75rem,3vw,2.5rem);
  color:var(--ink);
  line-height:1;
  letter-spacing:-0.05em;
}
.program-hero__stat-label{
  font-size:0.6875rem;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--gold);
}
.program-hero__cta{display:flex;gap:1.75rem;flex-wrap:wrap;align-items:center}

.program-eligibility{background:var(--bg)}
.program-eligibility__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.eligibility-card{
  padding:2rem;
  background:var(--bg-soft);
  border:1px solid var(--border);
  border-radius:1.25rem;
  display:flex;
  flex-direction:column;
  gap:0.875rem;
  transition:border-color 0.4s var(--ease), transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
}
.eligibility-card:hover{
  border-color:var(--gold);
  transform:translateY(-4px);
  box-shadow:0 20px 40px -20px rgba(10,31,68,0.15);
}
.eligibility-card__num{
  font-family:var(--display);
  font-weight:600;
  font-size:0.75rem;
  letter-spacing:0.15em;
  color:var(--gold);
}
.eligibility-card__title{
  font-family:var(--display);
  font-weight:600;
  font-size:1.125rem;
  color:var(--ink);
  letter-spacing:-0.025em;
  line-height:1.3;
}
.eligibility-card__desc{font-size:0.9375rem;line-height:1.65;color:var(--muted)}

.program-documents{background:var(--bg-soft)}
.program-documents__inner{
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:clamp(3rem,6vw,6rem);
  align-items:start;
}
.program-documents__left{position:sticky;top:8rem}
.program-documents__left h2{margin-top:0.5rem}
.program-documents__right{position:relative}
.doc-checklist{
  display:flex;
  flex-direction:column;
  gap:0.5rem;
  list-style:none;
  padding:0;margin:0;
}
.doc-checklist__item{
  display:flex;
  align-items:center;
  gap:1rem;
  padding:1.125rem 1.5rem;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:0.875rem;
  font-size:0.9375rem;
  color:var(--ink-2);
  transition:all 0.3s var(--ease);
}
.doc-checklist__item:hover{border-color:var(--gold);transform:translateX(4px)}
.doc-checklist__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:24px;height:24px;
  border-radius:50%;
  background:var(--navy);
  color:var(--bg);
  flex-shrink:0;
}

.program-timeline{background:var(--bg)}
.program-timeline__list{display:flex;flex-direction:column;border-top:1px solid var(--border)}
.timeline-step{
  display:grid;
  grid-template-columns:80px 1fr auto;
  gap:2.5rem;
  align-items:start;
  padding:2rem 0;
  border-bottom:1px solid var(--border);
  transition:padding 0.4s var(--ease);
}
.timeline-step:hover{padding-left:1rem}
.timeline-step__num{
  font-family:var(--serif);
  font-size:1.25rem;
  color:var(--gold);
  letter-spacing:0.05em;
  padding-top:0.25rem;
}
.timeline-step__body{max-width:640px}
.timeline-step__title{
  font-family:var(--display);
  font-weight:600;
  font-size:1.25rem;
  color:var(--ink);
  letter-spacing:-0.03em;
  line-height:1.2;
  margin-bottom:0.5rem;
}
.timeline-step__desc{font-size:0.9375rem;line-height:1.65;color:var(--muted)}
.timeline-step__time{
  font-size:0.75rem;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--gold);
  background:rgba(184,146,61,0.1);
  padding:0.35rem 0.75rem;
  border-radius:100px;
  white-space:nowrap;
  align-self:center;
}

.program-fees{background:var(--bg-soft)}
.program-fees__table{
  max-width:820px;
  margin:0 auto;
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:1.25rem;
  overflow:hidden;
}
.fee-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1.5rem;
  padding:1.25rem 1.75rem;
  border-bottom:1px solid var(--border);
  transition:background 0.25s;
}
.fee-row:last-child{border-bottom:none}
.fee-row:hover{background:var(--bg-soft)}
.fee-row__item{font-size:0.9375rem;color:var(--ink-2)}
.fee-row__amount{
  font-family:var(--display);
  font-weight:600;
  font-size:0.9375rem;
  color:var(--ink);
  letter-spacing:-0.015em;
  white-space:nowrap;
}

.program-faq{background:var(--bg)}

/* =========================================
   REVEAL
   ========================================= */
.reveal{opacity:1;transform:none;will-change:transform,opacity}
.reveal.reveal-init{
  opacity:0;
  transform:translateY(30px);
  transition:opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
             transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.reveal-init.reveal-in{opacity:1;transform:none}

/* =========================================
   REDUCED MOTION
   ========================================= */
@media (prefers-reduced-motion:reduce){
  .journey-layer{display:none}
  *{
    animation-duration:0.01s !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01s !important;
  }
  .reveal,
  .reveal.reveal-init{opacity:1 !important;transform:none !important}
}

/* =========================================
   RESPONSIVE — 1024px (MOBILE MENU)
   ========================================= */
@media (max-width:1024px){
  .countries__grid{grid-template-columns:repeat(2,1fr) !important}
  .process__grid{grid-template-columns:repeat(2,1fr)}
  .stats__grid{grid-template-columns:repeat(2,1fr);gap:2rem}
  .stat:nth-child(3){border-left:none;padding-left:0}
  .footer-grid{grid-template-columns:1fr 1fr}
  .nav-menu{display:none !important}
  .nav-cta{display:none}
  .nav-toggle{display:block}

  /* Logo left align on mobile */
  .nav-wrap{
    justify-content:space-between;
    align-items:center;
  }
  .brand{
    margin-right:auto;
    align-items:flex-start;
    text-align:left;
  }
  .brand .custom-logo-link{
    margin-left:0 !important;
    justify-content:flex-start;
    align-items:flex-start;
  }
  .brand .brand__mark{text-align:left}
  .nav-toggle{margin-left:0;display:block}

  .about-story__grid{grid-template-columns:1fr;gap:2.5rem}
  .about-story__left{position:static}
  .about-team__grid{grid-template-columns:repeat(2,1fr)}
  .about-office__inner{grid-template-columns:1fr;gap:3rem}
  .about-office__map-wrap{aspect-ratio:16 / 10}
  .contact-main__grid{grid-template-columns:1fr;gap:3rem}
  .contact-main__form-wrap{max-width:100%}
  .contact-map__wrap{aspect-ratio:4 / 3}
  .legal-content__grid{grid-template-columns:1fr;gap:3rem}
  .legal-toc{
    position:static;
    padding-right:0;
    padding-bottom:2rem;
    border-right:none;
    border-bottom:1px solid var(--border);
  }
  .legal-toc__nav{display:grid;grid-template-columns:repeat(2,1fr);gap:0.25rem 1.5rem}
  .legal-toc__link{font-size:0.8125rem;padding:0.35rem 0}
  .error-links__grid{grid-template-columns:repeat(2,1fr)}
  .blog-layout{grid-template-columns:1fr;gap:2.5rem}
  .blog-sidebar{position:static;flex-direction:row;flex-wrap:wrap}
  .blog-widget{flex:1 1 calc(50% - 0.75rem);min-width:260px}
  .post-content__inner{grid-template-columns:1fr;gap:2rem}
  .post-toc{
    position:static;
    padding-right:0;
    padding-bottom:1.5rem;
    border-right:none;
    border-bottom:1px solid var(--border);
  }
  .post-toc__nav{flex-direction:row;flex-wrap:wrap;gap:0.5rem 1.5rem}
  .post-toc__link{font-size:0.8125rem;padding:0.25rem 0}
  .post-toc__link:hover,
  .post-toc__link.is-active{padding-left:0}
  .post-toc__link.is-active{border-left-color:transparent;border-bottom:1px solid var(--gold)}
  .post-related .blog-grid{grid-template-columns:repeat(2,1fr)}
  .country-why__grid{grid-template-columns:repeat(2,1fr)}
  .country-routes__grid{grid-template-columns:repeat(2,1fr)}
  .program-eligibility__grid{grid-template-columns:repeat(2,1fr)}
  .program-documents__inner{grid-template-columns:1fr;gap:2.5rem}
  .program-documents__left{position:static}
}

/* =========================================
   RESPONSIVE — 900px
   ========================================= */
@media (max-width:900px){
  .topbar{font-size:0.7rem}
  .topbar__wrap{justify-content:center;padding:0.5rem var(--gutter)}
  .topbar__left,
  .topbar__right{gap:1rem;justify-content:center}
  .topbar__item span{display:none}
  .topbar__item svg{width:14px;height:14px}
  .site-header{top:2.2rem}
  .hero{padding:9rem 0 8rem}
  .hero__meta{gap:2rem;padding:0.85rem 1.5rem;bottom:2rem}
  .hero__meta-num{font-size:1.25rem}
  .hero__meta-label{font-size:0.55rem}
  .visa-card{flex:0 0 280px}
  .testimonial-card{flex:0 0 340px}
}

/* =========================================
   RESPONSIVE — 768px
   ========================================= */
@media (max-width:768px){
  :root{--logo-shift:-15px}
  .hero{padding:8rem 0 8rem}
  .hero__meta{gap:1.5rem;padding:0.75rem 1.25rem;bottom:1.75rem}
  .hero__meta-num{font-size:1.0625rem}
  .hero__meta-label{font-size:0.5625rem}
}

/* =========================================
   RESPONSIVE — 640px
   ========================================= */
@media (max-width:640px){
  :root{--logo-shift:-10px}
  section{padding:4.5rem 0}
  h2{font-size:clamp(1.875rem,8vw,2.5rem)}
  .hero{padding:7rem 0 9rem}
  .hero__title{font-size:clamp(2.25rem,11vw,3rem)}
  .hero__lead{font-size:0.9375rem;margin-bottom:2rem}
  .hero__cta{flex-direction:column;gap:1rem;width:100%}
  .hero__cta .btn{width:100%;justify-content:center}
  .hero__meta{gap:1rem;padding:0.625rem 1rem;flex-wrap:wrap;justify-content:center}
  .hero__meta-num{font-size:0.9375rem}
  .hero__meta-label{font-size:0.5rem;letter-spacing:0.1em}

  .topbar__wrap{padding:0.4rem var(--gutter)}
  .topbar__left{gap:0.75rem}
  .topbar__right{display:none}
  .site-header{top:2rem}

  .brand .custom-logo-link{margin-left:-8px !important}

  .countries__grid{grid-template-columns:1fr !important}
  .process__grid{grid-template-columns:1fr}
  .country-card{min-height:auto !important;padding:1.5rem !important}
  .country-card__name{font-size:1.25rem !important}
  .process-card{min-height:auto}
  .stats__grid{grid-template-columns:1fr;gap:2rem}
  .stat{border-left:none;padding-left:0}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
  .footer-bottom{flex-direction:column;text-align:center}
  .footer-legal{justify-content:center;gap:1rem}
  .brand__sub{display:none}
  .nav-cta{padding:0.5rem 0.875rem;font-size:0.8rem}

  .visa-card{flex:0 0 260px;min-height:auto;padding:1.5rem}
  .visa-card__name{font-size:1.125rem}
  .visa-card__flag{font-size:1.75rem}
  .testimonial-card{flex:0 0 280px;padding:1.5rem}
  .testimonial-card__quote{font-size:0.9375rem}
  .carousel__track{gap:0.75rem}
  .carousel__nav{justify-content:center;margin-top:1rem}

  .faq-item__q{font-size:1rem}
  .faq-item__head{padding:1.25rem 0;gap:1rem}
  .faq-item__body-inner{padding:0 0 1.25rem}
  .faq-item__icon{width:28px;height:28px}

  .back-top{bottom:5.5rem;left:1rem;width:40px;height:40px}
  .whatsapp-float{bottom:1rem;right:1rem;padding:0.75rem}
  .whatsapp-float__label{display:none}

  .about-hero{padding:9rem 0 4rem;min-height:auto}
  .about-hero__title{font-size:clamp(2rem,9vw,2.75rem)}
  .about-hero__lead{font-size:0.9375rem}
  .about-hero__meta{gap:1.5rem;padding-top:1.75rem;margin-top:2.5rem}
  .about-hero__meta-num{font-size:1.5rem}
  .about-story__right{gap:1.25rem}
  .about-story__lead{font-size:1.0625rem}
  .about-story__right p:not(.about-story__lead){font-size:0.9375rem}
  .about-story__signature{margin-top:1rem;padding-top:1.5rem}
  .about-values__grid{grid-template-columns:1fr}
  .about-value{padding:1.5rem}
  .about-team__grid{grid-template-columns:1fr}
  .about-member{padding:1.5rem}
  .about-office__detail{grid-template-columns:1fr;gap:0.5rem}
  .about-office__label{padding-top:0}
  .about-office__map-wrap{aspect-ratio:1 / 1;border-radius:1.25rem}
  .about-office__map-badge{font-size:0.6875rem;padding:0.4rem 0.7rem}

  .contact-hero{padding:9rem 0 4rem;min-height:auto}
  .contact-hero__title{font-size:clamp(2rem,9vw,2.75rem)}
  .contact-hero__lead{font-size:0.9375rem}
  .contact-hero__badges{flex-direction:column;align-items:flex-start;gap:0.5rem;margin-top:2rem}
  .contact-badge{font-size:0.6875rem}
  .contact-info-card{padding:1.5rem}
  .contact-info-card__title{font-size:1.0625rem}
  .contact-map__wrap{aspect-ratio:1 / 1;border-radius:1.25rem}
  .contact-map__badge{bottom:1rem;left:1rem;right:1rem;padding:0.75rem 0.875rem}
  .contact-map__badge-title{font-size:0.8125rem}
  .contact-map__badge-sub{font-size:0.6875rem}

  .legal-hero{padding:9rem 0 4rem;min-height:auto}
  .legal-hero__title{font-size:clamp(2rem,9vw,2.75rem)}
  .legal-hero__lead{font-size:0.9375rem}
  .legal-toc__nav{grid-template-columns:1fr}
  .legal-block{padding-bottom:2.5rem;margin-bottom:2.5rem}
  .legal-block__title{font-size:1.25rem}
  .legal-block p,
  .legal-block ul li{font-size:0.9rem}
  .legal-contact-card{padding:1.5rem}

  .error-hero{padding:9rem 0 5rem;min-height:auto}
  .error-hero__code{font-size:clamp(4rem,20vw,6rem)}
  .error-hero__title{font-size:clamp(1.875rem,9vw,2.75rem)}
  .error-hero__lead{font-size:0.9375rem;margin-bottom:2rem}
  .error-hero__actions{flex-direction:column;gap:1rem;width:100%;margin-bottom:2.5rem}
  .error-hero__actions .btn{width:100%;justify-content:center}
  .error-search input{font-size:0.875rem}
  .error-links__grid{grid-template-columns:1fr;gap:0.75rem}
  .error-link{padding:1.25rem 1.5rem}
  .error-link__flag{font-size:1.5rem}
  .error-link__name{font-size:1rem}

  .blog-main{padding:8rem 0 4rem}
  .blog-sidebar{flex-direction:column}
  .blog-widget{width:100%}
  .blog-grid{grid-template-columns:1fr;gap:1rem}
  .blog-card__body{padding:1.25rem}
  .blog-card__title{font-size:1.0625rem}
  .blog-pagination .page-numbers{min-width:36px;height:36px;padding:0 0.75rem;font-size:0.8125rem}

  .post-featured-image{padding:9rem 0 2rem}
  .post-featured-image img{max-height:260px;border-radius:1rem}
  .post-content{padding:1rem 0 3rem}
  .post-content__body{font-size:1rem}
  .post-content__body p{font-size:1rem}
  .post-content__body .post-hero__title{font-size:clamp(1.5rem,7vw,2rem)}
  .post-content__body .post-hero__meta{font-size:0.75rem;gap:0.5rem;padding-bottom:1.25rem;margin-bottom:2rem}
  .post-content__body blockquote{padding:1rem 1.25rem;font-size:1.0625rem}
  .post-content__body blockquote p{font-size:1.0625rem}
  .post-share__inner{flex-direction:column;text-align:center;padding:1.5rem}
  .post-share__actions{justify-content:center}
  .post-related .blog-grid{grid-template-columns:1fr}

  .country-hero{padding:9rem 0 4rem;min-height:auto}
  .country-hero__flag{font-size:3rem}
  .country-hero__title{font-size:clamp(2rem,9vw,2.75rem)}
  .country-hero__tagline{font-size:1.0625rem}
  .country-hero__lead{font-size:0.9375rem;margin-bottom:2rem}
  .country-hero__stats{gap:1.5rem;padding:1.5rem 0;margin-bottom:2rem}
  .country-hero__stat-num{font-size:1.5rem}
  .country-why__grid{grid-template-columns:1fr}
  .country-why__item{padding:1.5rem}
  .country-routes__grid{grid-template-columns:1fr}
  .route-card{padding:1.5rem;min-height:auto}

  .program-hero{padding:9rem 0 4rem;min-height:auto}
  .program-hero__flag{font-size:2.5rem}
  .program-hero__title{font-size:clamp(1.75rem,9vw,2.5rem)}
  .program-hero__tagline{font-size:1rem}
  .program-hero__lead{font-size:0.9375rem;margin-bottom:2rem}
  .program-hero__stats{gap:1.5rem;padding:1.5rem 0;margin-bottom:2rem}
  .program-hero__stat-num{font-size:1.5rem}
  .program-hero__cta{flex-direction:column;align-items:flex-start;gap:1rem}
  .program-eligibility__grid{grid-template-columns:1fr}
  .eligibility-card{padding:1.5rem}
  .doc-checklist__item{padding:1rem 1.25rem;font-size:0.875rem}
  .timeline-step{
    grid-template-columns:1fr;
    gap:0.5rem;
    padding:1.5rem 0;
  }
  .timeline-step__num{padding-top:0}
  .timeline-step__time{align-self:flex-start}
  .fee-row{padding:1rem 1.25rem}
  .fee-row__item{font-size:0.875rem}
  .fee-row__amount{font-size:0.875rem}

  /* Mobile menu full width on small screens */
  .mobile-menu{max-width:100%}
  .mobile-nav-list > li > a{font-size:1.25rem;padding:1rem 0}
}

/* =========================================
   MOBILE HEADER — FORCE LOGO LEFT
   ========================================= */
@media (max-width:1024px){
  .site-header .nav-wrap{
    justify-content:flex-start !important;
    gap:1rem !important;
    flex-wrap:nowrap !important;
  }
  .site-header .brand{
    margin-left:0 !important;
    margin-right:auto !important;
    padding-left:0 !important;
    text-align:left !important;
    align-items:flex-start !important;
    flex:0 1 auto !important;
    order:0 !important;
  }
  .site-header .brand,
  .site-header .brand *{
    text-align:left !important;
  }
  .site-header .brand .custom-logo-link{
    margin-left:0 !important;
    margin-right:0 !important;
    justify-content:flex-start !important;
    align-items:flex-start !important;
    display:flex !important;
  }
  .site-header .brand .brand__mark,
  .site-header .brand .brand__sub{
    text-align:left !important;
    margin-left:0 !important;
  }
  .site-header .nav-toggle{
    margin-left:auto !important;
    margin-right:0 !important;
    order:99 !important;
  }
}