/* ===========================================
   COURIERBIRD — style.css v3
   Navy #0B1F5E · Orange #F7941D
   Fraunces (display) · DM Sans (body)
=========================================== */

:root {
  --navy:      #0B1F5E;
  --navy-dk:   #060F30;
  --navy-mid:  #142478;
  --orange:    #F7941D;
  --orange-dk: #d97d0d;
  --orange-lt: #faa93e;
  --white:     #ffffff;
  --off:       #F5F6FA;
  --border:    #E3E7F1;
  --text:      #0D1830;
  --muted:     #596480;
  --muted-lt:  #8C98B8;

  --fd: 'Fraunces', serif;
  --fb: 'DM Sans', sans-serif;

  --r:    12px;
  --rl:   18px;
  --ease: cubic-bezier(.4,0,.2,1);
  --eob:  cubic-bezier(.34,1.56,.64,1);

  --sh-sm: 0 2px 10px rgba(11,31,94,.07);
  --sh-md: 0 6px 24px rgba(11,31,94,.1);
  --sh-lg: 0 16px 52px rgba(11,31,94,.14);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0 }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100% }
body { font-family:var(--fb); font-size:16px; line-height:1.65; color:var(--text); background:var(--white); overflow-x:hidden; -webkit-font-smoothing:antialiased }
img { display:block; max-width:100%; height:auto }
a { color:inherit; text-decoration:none }
ul { list-style:none }
button { cursor:pointer; border:none; background:none; font:inherit }
input,select,textarea { font:inherit }
address { font-style:normal }

/* ── LOADER ── */
#loader {
  position:fixed; inset:0; z-index:9999;
  background:var(--navy-dk);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:28px;
  transition:opacity .5s var(--ease),visibility .5s;
}
#loader.out { opacity:0; visibility:hidden; pointer-events:none }
.loader-logo { width:220px; animation:lp 1.3s ease-in-out infinite alternate }
@keyframes lp { from{opacity:.45;transform:scale(.94)} to{opacity:1;transform:scale(1)} }
.loader-line { width:160px; height:2px; background:rgba(255,255,255,.12); border-radius:4px; overflow:hidden }
.loader-fill { height:100%; background:var(--orange); border-radius:4px; animation:lf 1.5s ease-in-out infinite }
@keyframes lf { 0%{width:0%;margin-left:0} 50%{width:100%;margin-left:0} 100%{width:0%;margin-left:100%} }

/* ── CONTAINER ── */
.container { max-width:1160px; margin:0 auto; padding:0 28px }

/* ── HEADER ── */
#site-header {
  position:fixed; inset:0 0 auto; z-index:800;
  transition:background .3s var(--ease), box-shadow .3s var(--ease);
}
#site-header.solid {
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(14px);
  box-shadow:0 1px 0 var(--border);
}
.header-wrap {
  max-width:1160px; margin:0 auto; padding:0 28px;
  height:88px; display:flex; align-items:center; justify-content:space-between;
  transition:height .3s var(--ease);
}
#site-header.solid .header-wrap { height:74px }
.header-logo img { height:64px; width:auto; display:block; transition:height .3s var(--ease) }
#site-header.solid .header-logo img { height:52px }
.header-nav { display:flex; align-items:center; gap:0 }
.nav-link {
  padding:7px 14px; font-size:.875rem; font-weight:500; letter-spacing:.005em;
  color:rgba(255,255,255,.8); border-radius:7px;
  transition:color .2s, background .2s;
  white-space:nowrap;
}
.nav-link:hover { color:#fff; background:rgba(255,255,255,.1) }
#site-header.solid .nav-link { color:var(--muted) }
#site-header.solid .nav-link:hover { color:var(--navy); background:var(--off) }
.nav-link.active { color:var(--orange) !important }
.header-right { display:flex; align-items:center; gap:10px }
.header-cta {
  padding:9px 20px; border-radius:8px;
  font-size:.875rem; font-weight:600;
  background:var(--orange); color:#fff;
  box-shadow:0 2px 10px rgba(247,148,29,.32);
  transition:background .2s, transform .2s, box-shadow .2s;
}
.header-cta:hover { background:var(--orange-dk); transform:translateY(-1px); box-shadow:0 4px 16px rgba(247,148,29,.42) }
.burger {
  display:none; flex-direction:column; gap:5px;
  width:36px; height:36px; align-items:center; justify-content:center;
  border-radius:7px;
  transition:background .2s;
}
.burger:hover { background:rgba(255,255,255,.1) }
#site-header.solid .burger:hover { background:var(--off) }
.burger span {
  display:block; width:20px; height:1.5px;
  background:#fff; border-radius:2px;
  transition:all .3s var(--ease);
}
#site-header.solid .burger span { background:var(--navy) }
.burger.open span:nth-child(1) { transform:rotate(45deg) translate(4.5px,4.5px) }
.burger.open span:nth-child(2) { opacity:0; transform:scaleX(0) }
.burger.open span:nth-child(3) { transform:rotate(-45deg) translate(4.5px,-4.5px) }
.mob-menu {
  max-width:1160px; margin:0 auto; padding:0 28px;
  display:none; flex-direction:column; gap:2px;
  max-height:0; overflow:hidden;
  border-top:1px solid rgba(255,255,255,.08);
  transition:max-height .35s var(--ease);
}
#site-header.solid .mob-menu { border-top-color:var(--border) }
.mob-menu.open { max-height:380px }
.mob-menu a {
  padding:11px 8px; font-size:.95rem; font-weight:500;
  color:rgba(255,255,255,.8); border-radius:8px;
  transition:color .2s,background .2s;
}
#site-header.solid .mob-menu a { color:var(--muted) }
.mob-menu a:hover { color:#fff; background:rgba(255,255,255,.08) }
#site-header.solid .mob-menu a:hover { color:var(--navy); background:var(--off) }
.mob-cta {
  margin-top:6px; align-self:flex-start;
  padding:10px 22px !important; border-radius:8px !important;
  background:var(--orange) !important; color:#fff !important;
  font-weight:600 !important;
}

/* ── BUTTONS ── */
.btn-primary {
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 26px; border-radius:8px;
  font-family:var(--fb); font-size:.9rem; font-weight:600; letter-spacing:.01em;
  background:var(--orange); color:#fff;
  box-shadow:0 2px 12px rgba(247,148,29,.28);
  transition:background .2s, transform .2s, box-shadow .2s;
}
.btn-primary:hover { background:var(--orange-dk); transform:translateY(-2px); box-shadow:0 5px 18px rgba(247,148,29,.38) }
.btn-primary:active { transform:none }
.btn-sm { padding:8px 18px; font-size:.82rem }
.btn-ghost {
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 24px; border-radius:8px;
  font-size:.9rem; font-weight:600;
  border:1.5px solid rgba(255,255,255,.35); color:#fff; background:transparent;
  transition:border-color .2s,background .2s,transform .2s;
}
.btn-ghost:hover { border-color:#fff; background:rgba(255,255,255,.08); transform:translateY(-2px) }
.btn-wa {
  display:inline-flex; align-items:center; gap:9px;
  padding:12px 26px; border-radius:8px;
  font-size:.9rem; font-weight:600;
  background:#25D366; color:#fff;
  box-shadow:0 2px 12px rgba(37,211,102,.28);
  transition:background .2s,transform .2s,box-shadow .2s;
}
.btn-wa:hover { background:#1fba59; transform:translateY(-2px); box-shadow:0 5px 18px rgba(37,211,102,.38) }

/* ── REVEAL ── */
.reveal {
  opacity:0; transform:translateY(24px);
  transition:opacity .6s var(--ease) var(--rd,0s), transform .6s var(--ease) var(--rd,0s);
}
.reveal.in { opacity:1; transform:none }
.ai0,.ai1,.ai2,.ai3,.ai4 {
  opacity:0; transform:translateY(20px);
  transition:opacity .7s var(--ease), transform .7s var(--ease);
}
.ai0 { transition-delay:.3s } .ai1 { transition-delay:.45s }
.ai2 { transition-delay:.6s } .ai3 { transition-delay:.75s }
.ai4 { transition-delay:.9s }
.ai0.in,.ai1.in,.ai2.in,.ai3.in,.ai4.in { opacity:1; transform:none }

/* ── SECTION ATOMS ── */
.section { padding:96px 0 }
.sec-head { text-align:center; margin-bottom:56px }
.sec-kicker {
  display:inline-block; margin-bottom:14px;
  font-size:.73rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--orange); background:rgba(247,148,29,.1); padding:5px 14px; border-radius:99px;
}
.kicker-lt { color:rgba(247,148,29,.9); background:rgba(247,148,29,.12) }
.sec-title {
  font-family:var(--fd); font-size:clamp(1.9rem,3.2vw,2.6rem);
  font-weight:600; line-height:1.15; letter-spacing:-.025em; color:var(--text);
}
.title-lt { color:#fff }
.sec-sub { margin-top:14px; font-size:1rem; color:var(--muted); line-height:1.72; max-width:480px; margin-left:auto; margin-right:auto }
.sub-lt { color:rgba(255,255,255,.58) }
.body-copy { font-size:.975rem; color:var(--muted); line-height:1.8; margin-bottom:14px }

/* ── HERO ── */
.hero {
  min-height:100vh; display:flex; align-items:center;
  position:relative; overflow:hidden;
  padding:108px 0 60px;
}
.hero-image-layer {
  position:absolute; inset:0;
}
.hero-image-layer img {
  width:100%; height:100%; object-fit:cover; object-position:center;
}
.hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(105deg, rgba(6,15,48,.92) 0%, rgba(11,31,94,.82) 45%, rgba(11,31,94,.6) 100%);
}
.hero-inner { position:relative; z-index:2 }
.hero-copy { max-width:600px }
.kicker {
  display:inline-flex; align-items:center; gap:9px; margin-bottom:22px;
  font-size:.75rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:rgba(247,148,29,.92);
  background:rgba(247,148,29,.1); border:1px solid rgba(247,148,29,.2);
  padding:6px 16px; border-radius:99px;
}
.kicker-dot { width:7px; height:7px; background:var(--orange); border-radius:50%; animation:kdot 2s ease-in-out infinite }
@keyframes kdot { 0%,100%{box-shadow:0 0 0 0 rgba(247,148,29,.5)} 50%{box-shadow:0 0 0 5px rgba(247,148,29,0)} }
.hero-h1 {
  font-family:var(--fd); font-size:clamp(2.6rem,4.8vw,4rem);
  font-weight:600; line-height:1.06; letter-spacing:-.03em;
  color:#fff; margin-bottom:20px;
}
.hero-h1 em { font-style:italic; color:var(--orange-lt) }
.hero-p { font-size:1.05rem; color:rgba(255,255,255,.65); line-height:1.78; margin-bottom:30px; max-width:480px }
.hero-btns { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:44px }
.hero-stats {
  display:inline-flex; align-items:center;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1);
  border-radius:11px; padding:16px 24px;
}
.hstat { padding:0 20px; text-align:center }
.hstat-n { display:block; font-family:var(--fd); font-size:1.6rem; font-weight:600; color:#fff; line-height:1; margin-bottom:3px }
.hstat-l { font-size:.7rem; font-weight:500; text-transform:uppercase; letter-spacing:.07em; color:rgba(255,255,255,.42) }
.hstat-sep { width:1px; height:32px; background:rgba(255,255,255,.1) }
.hero-scroll {
  position:absolute; bottom:32px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center;
}
.scroll-track {
  width:1px; height:48px;
  background:linear-gradient(to bottom,rgba(255,255,255,.5),transparent);
  animation:scrollpulse 2s ease-in-out infinite;
}
@keyframes scrollpulse { 0%,100%{opacity:.4;transform:translateY(0)} 50%{opacity:.8;transform:translateY(8px)} }

/* ── TRUST BAR ── */
.trust-bar {
  background:var(--navy); padding:16px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.trust-inner {
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap; gap:0;
}
.trust-item {
  display:flex; align-items:center; gap:8px;
  font-size:.8rem; font-weight:500; color:rgba(255,255,255,.65);
  padding:8px 20px; white-space:nowrap;
}
.trust-item svg { stroke:var(--orange); flex-shrink:0 }
.trust-div { width:1px; height:20px; background:rgba(255,255,255,.12) }

/* ── ABOUT ── */
.about-sec { background:var(--white) }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; margin-bottom:52px }
.about-img { position:relative; border-radius:var(--rl); overflow:hidden; box-shadow:var(--sh-lg) }
.about-img img { width:100%; height:380px; object-fit:cover }
.about-img-badge {
  position:absolute; bottom:20px; left:20px;
  background:rgba(11,31,94,.92); backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px; padding:12px 18px;
  display:flex; flex-direction:column; gap:2px;
}
.badge-num { font-family:var(--fd); font-size:1.3rem; font-weight:600; color:var(--orange); line-height:1 }
.badge-lbl { font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.07em; color:rgba(255,255,255,.55) }
.tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:24px }
.tag {
  padding:5px 14px; border-radius:99px;
  font-size:.78rem; font-weight:600;
  background:var(--off); border:1px solid var(--border); color:var(--navy);
  transition:background .2s,border-color .2s,color .2s; cursor:default;
}
.tag:hover { background:var(--orange); border-color:var(--orange); color:#fff }
.mv-pair { display:grid; grid-template-columns:1fr 1fr; gap:16px }
.mv-card { border-radius:var(--r); padding:28px 32px; transition:transform .3s var(--ease) }
.mv-card:hover { transform:translateY(-4px) }
.mv-navy { background:var(--navy); color:#fff; box-shadow:0 10px 34px rgba(11,31,94,.2) }
.mv-orange { background:var(--orange); color:#fff; box-shadow:0 10px 34px rgba(247,148,29,.26) }
.mv-ico {
  width:42px; height:42px; border-radius:10px;
  background:rgba(255,255,255,.15);
  display:flex; align-items:center; justify-content:center; margin-bottom:14px;
}
.mv-ico svg { stroke:#fff; width:20px; height:20px }
.mv-card h3 { font-family:var(--fd); font-size:1.05rem; font-weight:600; margin-bottom:9px; letter-spacing:-.01em }
.mv-card p { font-size:.875rem; line-height:1.75; opacity:.88 }

/* ── SERVICES ── */
.services-sec { background:var(--off) }
.svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px }
.svc-card {
  background:var(--white); border:1px solid var(--border); border-radius:var(--r);
  padding:30px 26px; position:relative; overflow:hidden;
  transition:transform .3s var(--ease), box-shadow .3s, border-color .3s;
  cursor:default;
}
.svc-card::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:2.5px;
  background:linear-gradient(90deg,var(--navy),var(--orange));
  transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease);
}
.svc-card:hover { transform:translateY(-5px); box-shadow:var(--sh-md); border-color:transparent }
.svc-card:hover::after { transform:scaleX(1) }
.svc-ico {
  width:48px; height:48px; border-radius:11px;
  background:rgba(247,148,29,.09);
  display:flex; align-items:center; justify-content:center; margin-bottom:18px;
  transition:background .25s;
}
.svc-ico svg { stroke:var(--orange) }
.svc-card:hover .svc-ico { background:rgba(247,148,29,.16) }
.svc-card h3 { font-family:var(--fd); font-size:.975rem; font-weight:600; color:var(--text); margin-bottom:9px; letter-spacing:-.01em }
.svc-card p { font-size:.865rem; color:var(--muted); line-height:1.75; margin-bottom:14px }
.svc-pill { display:inline-block; font-size:.71rem; font-weight:600; padding:3px 11px; border-radius:99px; background:rgba(247,148,29,.1); color:var(--orange); letter-spacing:.04em }

/* ── IMAGE BREAK ── */
.img-break { position:relative; height:340px; overflow:hidden }
.img-break img { width:100%; height:100%; object-fit:cover; object-position:center }
.img-break-overlay {
  position:absolute; inset:0;
  background:linear-gradient(105deg,rgba(6,15,48,.88) 0%,rgba(11,31,94,.72) 100%);
  display:flex; align-items:center;
}
.img-break-quote {
  font-family:var(--fd); font-size:clamp(1.25rem,2.5vw,1.9rem);
  font-style:italic; font-weight:400; line-height:1.4;
  color:#fff; max-width:700px; opacity:.92; letter-spacing:-.01em;
}

/* ── DESTINATIONS ── */
.dest-sec { background:var(--white) }
.dest-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px }
.dest-card {
  background:var(--white); border:1px solid var(--border); border-radius:var(--r);
  padding:22px 20px; cursor:default;
  transition:transform .3s var(--ease), box-shadow .3s, border-color .3s;
}
.dest-card:hover:not(.dest-more) { transform:translateY(-4px); box-shadow:var(--sh-md); border-color:var(--border) }
.dest-head { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:12px }
.dest-code { font-family:var(--fd); font-size:1.5rem; font-weight:600; color:var(--navy); letter-spacing:-.02em }
.dest-region { font-size:.68rem; font-weight:600; text-transform:uppercase; letter-spacing:.07em; color:var(--muted-lt) }
.dest-flag-name { font-size:.9rem; font-weight:600; color:var(--text); margin-bottom:9px }
.dest-focus { display:inline-block; font-size:.7rem; font-weight:600; padding:3px 10px; border-radius:99px; background:rgba(247,148,29,.1); color:var(--orange); margin-bottom:9px; letter-spacing:.02em }
.dest-note { font-size:.8rem; color:var(--muted); line-height:1.58 }
.dest-more {
  background:var(--navy); border-color:transparent;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; gap:12px;
}
.dest-more:hover { transform:translateY(-4px); box-shadow:var(--sh-lg); border-color:transparent }
.more-plus { font-family:var(--fd); font-size:2.6rem; font-weight:600; color:var(--orange); line-height:1 }
.dest-more p { font-size:.82rem; color:rgba(255,255,255,.65); line-height:1.6 }

/* ── WHY US ── */
.why-sec { position:relative; overflow:hidden }
.why-bg {
  position:absolute; inset:0;
  background:linear-gradient(135deg,#060F30 0%,var(--navy) 55%,#0E2468 100%);
}
.why-bg::after {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 60% 50% at 70% 50%,rgba(247,148,29,.07) 0%,transparent 60%);
}
.why-sec .container { position:relative; z-index:2 }
.why-sec .sec-head { position:relative; z-index:2 }
.usp-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; position:relative; z-index:2 }
.usp-card {
  background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.09);
  border-radius:var(--r); padding:30px 24px; cursor:default;
  transition:transform .3s var(--ease),background .3s,border-color .3s;
}
.usp-card:hover { transform:translateY(-5px); background:rgba(255,255,255,.09); border-color:rgba(247,148,29,.28) }
.usp-n { font-family:var(--fd); font-size:2.8rem; font-weight:700; color:rgba(247,148,29,.11); line-height:1; margin-bottom:18px; transition:color .3s }
.usp-card:hover .usp-n { color:rgba(247,148,29,.22) }
.usp-ico { width:44px; height:44px; border-radius:10px; background:rgba(247,148,29,.14); display:flex; align-items:center; justify-content:center; margin-bottom:16px }
.usp-ico svg { stroke:var(--orange) }
.usp-card h3 { font-family:var(--fd); font-size:.975rem; font-weight:600; color:#fff; margin-bottom:9px; letter-spacing:-.01em }
.usp-card p { font-size:.86rem; color:rgba(255,255,255,.58); line-height:1.75 }

/* ── WHO WE SERVE ── */
.audience-sec { background:var(--off) }
.audience-layout { display:grid; grid-template-columns:1fr 1.6fr; gap:64px; align-items:start }
.audience-left { position:sticky; top:90px }
.audience-left .sec-kicker { margin-bottom:14px }
.audience-left .sec-title { margin-bottom:14px }
.audience-left .btn-primary { margin-top:24px }
.audience-list { display:flex; flex-direction:column; gap:10px }
.aud-row {
  display:flex; align-items:center; gap:18px;
  background:var(--white); border:1px solid var(--border); border-radius:var(--r);
  padding:20px 22px; cursor:default;
  transition:transform .3s var(--ease),box-shadow .3s,border-color .3s;
}
.aud-row:hover { transform:translateX(5px); box-shadow:var(--sh-sm); border-color:var(--border) }
.aud-ico {
  width:44px; height:44px; min-width:44px; border-radius:10px;
  background:var(--off); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  transition:background .25s,border-color .25s;
}
.aud-ico svg { stroke:var(--navy) }
.aud-row:hover .aud-ico { background:rgba(247,148,29,.1); border-color:rgba(247,148,29,.2) }
.aud-row:hover .aud-ico svg { stroke:var(--orange) }
.aud-body h3 { font-family:var(--fd); font-size:.925rem; font-weight:600; color:var(--text); margin-bottom:3px; letter-spacing:-.01em }
.aud-body p { font-size:.855rem; color:var(--muted); line-height:1.62 }

/* ── PROCESS ── */
.process-sec { background:var(--white) }
.steps-wrap { display:flex; align-items:flex-start; gap:0 }
.step { flex:1; text-align:center; padding:0 18px }
.step-line { width:64px; min-width:64px; height:1.5px; background:var(--border); margin-top:37px; flex-shrink:0; position:relative; overflow:hidden }
.step-line::after { content:''; position:absolute; left:0; top:0; height:100%; width:0; background:var(--orange); transition:width .6s var(--ease) .4s }
.steps-wrap:hover .step-line::after { width:100% }
.step-num {
  width:74px; height:74px; margin:0 auto 20px;
  border-radius:50%; border:1.5px solid var(--orange); background:var(--white);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 14px rgba(247,148,29,.16);
  transition:background .25s, transform .25s var(--eob);
}
.step-num span { font-family:var(--fd); font-size:1rem; font-weight:600; color:var(--orange) }
.step:hover .step-num { background:var(--orange); transform:scale(1.08) }
.step:hover .step-num span { color:#fff }
.step h3 { font-family:var(--fd); font-size:.925rem; font-weight:600; color:var(--text); margin-bottom:9px; letter-spacing:-.01em }
.step p { font-size:.855rem; color:var(--muted); line-height:1.7 }

/* ── CTA BAND ── */
.cta-band { position:relative; height:auto; overflow:hidden }
.cta-band-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center }
.cta-band-overlay { position:absolute; inset:0; background:linear-gradient(105deg,rgba(6,15,48,.9) 0%,rgba(11,31,94,.78) 100%) }
.cta-band-inner {
  position:relative; z-index:2;
  display:flex; align-items:center; justify-content:space-between; gap:36px;
  flex-wrap:wrap; padding:72px 0;
}
.cta-band-inner h2 { font-family:var(--fd); font-size:clamp(1.5rem,2.8vw,2.1rem); font-weight:600; color:#fff; margin-bottom:8px; letter-spacing:-.02em }
.cta-band-inner p { font-size:.975rem; color:rgba(255,255,255,.72); max-width:460px; line-height:1.7 }
.cta-band-btns { display:flex; gap:12px; flex-wrap:wrap }

/* ── CONTACT ── */
.contact-sec { background:var(--off) }
.contact-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:68px; align-items:start }
.info-stack { display:flex; flex-direction:column; gap:16px; margin-top:28px }
.info-item { display:flex; gap:13px; align-items:flex-start }
.info-ico {
  width:40px; height:40px; min-width:40px; border-radius:10px;
  background:var(--white); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
}
.info-ico svg { stroke:var(--navy) }
.info-lbl { display:block; font-size:.7rem; font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:var(--muted-lt); margin-bottom:3px }
.info-val { font-size:.88rem; font-weight:600; color:var(--text); line-height:1.5 }
a.info-val:hover { color:var(--orange) }
.info-socials { display:flex; gap:12px }
.info-soc { font-size:.85rem; font-weight:600; color:var(--navy); transition:color .2s }
.info-soc:hover { color:var(--orange) }
.form-wrap {
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--rl); padding:36px; box-shadow:var(--sh-sm);
}
.form-header { margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid var(--border) }
.form-header h3 { font-family:var(--fd); font-size:1.15rem; font-weight:600; color:var(--text); margin-bottom:5px; letter-spacing:-.01em }
.form-header p { font-size:.85rem; color:var(--muted) }
.f2col { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px }
.fg { display:flex; flex-direction:column; gap:6px; margin-bottom:16px }
.fg:last-of-type { margin-bottom:22px }
.fg label { font-size:.78rem; font-weight:600; color:var(--text); letter-spacing:.01em }
.req { color:var(--orange) }
.fg input,.fg select,.fg textarea {
  padding:10px 13px; border:1.5px solid var(--border); border-radius:8px;
  font-size:.88rem; color:var(--text); background:var(--white); outline:none;
  transition:border-color .2s,box-shadow .2s;
}
.fg input:focus,.fg select:focus,.fg textarea:focus {
  border-color:var(--orange); box-shadow:0 0 0 3px rgba(247,148,29,.1);
}
.fg select {
  appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%235D6480' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 13px center; padding-right:34px;
}
.fg textarea { resize:vertical; min-height:96px }
.btn-submit-wa { width:100%; justify-content:center; padding:14px 28px; font-size:.95rem }
.form-note { margin-top:12px; font-size:.75rem; color:var(--muted-lt); text-align:center; line-height:1.5 }

/* ── FOOTER ── */
.site-footer { background:#06112E }
.footer-main { padding:64px 0 48px }
.footer-grid { display:grid; grid-template-columns:1.7fr 1fr 1fr 1.2fr; gap:48px }
.footer-logo { height:64px; width:auto; margin-bottom:16px }
.footer-brand p { font-size:.85rem; color:rgba(255,255,255,.42); line-height:1.78; max-width:260px; margin-bottom:20px }
.footer-socials { display:flex; gap:9px }
.fsoc {
  width:36px; height:36px; border-radius:8px;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1);
  display:flex; align-items:center; justify-content:center;
  transition:background .2s,border-color .2s;
}
.fsoc:hover { background:var(--orange); border-color:var(--orange) }
.fsoc svg { stroke:rgba(255,255,255,.65) }
.fsoc:hover svg { stroke:#fff; opacity:1 }
.footer-col h4 { font-size:.72rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:rgba(255,255,255,.35); margin-bottom:16px }
.footer-col ul { display:flex; flex-direction:column; gap:8px }
.footer-col ul a { font-size:.85rem; color:rgba(255,255,255,.48); transition:color .2s }
.footer-col ul a:hover { color:#fff }
.footer-addr { margin-top:14px; font-size:.8rem; color:rgba(255,255,255,.35); line-height:1.7 }
.footer-bottom { border-top:1px solid rgba(255,255,255,.06); padding:18px 0 }
.footer-bottom-row { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px }
.footer-bottom-row span { font-size:.78rem; color:rgba(255,255,255,.28) }
.footer-tag { color:var(--orange) !important; font-weight:600 }

/* ── FLOATING WHATSAPP ── */
.wa-float {
  position:fixed; bottom:28px; right:28px; z-index:700;
  width:54px; height:54px; border-radius:50%;
  background:#25D366;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 20px rgba(37,211,102,.45);
  transition:transform .25s var(--eob),box-shadow .25s;
}
.wa-float:hover { transform:scale(1.1); box-shadow:0 6px 28px rgba(37,211,102,.55) }
.wa-float svg { color:#fff }

/* ── RESPONSIVE ── */
@media(max-width:1060px) {
  .dest-grid { grid-template-columns:repeat(3,1fr) }
  .usp-grid { grid-template-columns:repeat(2,1fr) }
  .footer-grid { grid-template-columns:1fr 1fr; gap:36px }
}
@media(max-width:900px) {
  .container { padding:0 20px }
  .burger { display:flex }
  .header-nav { display:none }
  .mob-menu { display:flex }
  .hero-inner { padding-top:20px }
  .hero-stats { flex-direction:row }
  .about-grid { grid-template-columns:1fr; gap:36px }
  .about-img img { height:280px }
  .mv-pair { grid-template-columns:1fr }
  .svc-grid { grid-template-columns:repeat(2,1fr) }
  .dest-grid { grid-template-columns:repeat(2,1fr) }
  .audience-layout { grid-template-columns:1fr; gap:36px }
  .audience-left { position:static }
  .steps-wrap { flex-wrap:wrap; justify-content:center; gap:32px }
  .step-line { display:none }
  .step { max-width:180px }
  .cta-band-inner { flex-direction:column; text-align:center }
  .cta-band-btns { justify-content:center }
  .contact-grid { grid-template-columns:1fr; gap:40px }
}
@media(max-width:600px) {
  .section { padding:68px 0 }
  .hero-h1 { font-size:2.4rem }
  .hero-stats { flex-direction:column; gap:0; padding:14px 18px; align-self:stretch }
  .hstat-sep { width:80%; height:1px; margin:8px 0 }
  .svc-grid { grid-template-columns:1fr }
  .dest-grid { grid-template-columns:1fr 1fr }
  .usp-grid { grid-template-columns:1fr }
  .f2col { grid-template-columns:1fr }
  .footer-grid { grid-template-columns:1fr }
  .form-wrap { padding:22px 18px }
  .trust-div { display:none }
  .trust-item { border-bottom:1px solid rgba(255,255,255,.06); width:100%; justify-content:center }
  .trust-item:last-child { border-bottom:none }
  .img-break { height:220px }
  .wa-float { bottom:20px; right:20px; width:48px; height:48px }
}
