/* =========================================================================
   AD LOGISTICS — Design System
   Display: Space Grotesk | Body: Manrope | Utility/Data: IBM Plex Mono
   ========================================================================= */

:root{
  --blue:        #003B8F;
  --blue-dark:   #002A66;
  --orange:      #F58220;
  --orange-dark: #D96A0C;
  --white:       #FFFFFF;
  --gray-light:  #F8FAFC;
  --gray-100:    #EEF2F8;
  --gray-300:    #CBD5E1;
  --text:        #1E293B;
  --text-soft:   #5B6B82;
  --gradient-brand: linear-gradient(135deg, #D96A0C 0%,#F58220 100%);
  --gradient-deep:  linear-gradient(180deg, rgba(0,42,102,.92) 0%, rgba(0,59,143,.85) 55%, rgba(0,42,102,.95) 100%);

  --font-display: 'Space Grotesk', sans-serif;
  --font-body:    'Manrope', sans-serif;
  --font-mono:    'IBM Plex Mono', monospace;

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 24px;

  --shadow-sm: 0 2px 10px rgba(0,42,102,.06);
  --shadow-md: 0 10px 30px rgba(0,42,102,.10);
  --shadow-lg: 0 25px 60px rgba(0,42,102,.16);

  --ease: cubic-bezier(.22,1,.36,1);
}

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

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  font-family: var(--font-body);
  color: var(--text);
  background: var(--white);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4,h5,.font-display{ font-family: var(--font-display); color: var(--blue-dark); letter-spacing: -0.02em; }
.font-mono{ font-family: var(--font-mono); }
a{ text-decoration: none; }
img{ max-width:100%; }
::selection{ background: var(--orange); color:#fff; }

:focus-visible{
  outline: 3px solid var(--orange);
  outline-offset: 2px;
  border-radius: 4px;
}

.container-xl{ width:100%; max-width: 1320px; margin:0 auto; padding: 0 24px; }

.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family: var(--font-mono);
  font-size: .72rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--orange-dark);
  background: rgba(245,130,32,.1);
  border: 1px solid rgba(245,130,32,.28);
  padding: 6px 14px;
  border-radius: 100px;
  margin-bottom: 18px;
}
.eyebrow::before{ content:''; width:6px; height:6px; border-radius:50%; background: var(--orange); box-shadow: 0 0 0 4px rgba(245,130,32,.18); }

.section-title{
  font-size: clamp(1.9rem, 3.4vw, 2.7rem);
  font-weight: 700;
  line-height: 1.15;
  margin-bottom: 16px;
}
.section-sub{
  color: var(--text-soft);
  font-size: 1.05rem;
  max-width: 620px;
  line-height: 1.7;
}
.section-pad{ padding: 100px 0; }
.bg-soft{ background: var(--gray-light); }
.bg-deep{ background: var(--blue-dark); color: #dbe4f5; }
.bg-deep h2, .bg-deep h3, .bg-deep h4{ color:#fff; }

/* divider: route-line motif instead of a generic hairline */
.route-divider{
  width:100%; height: 30px;
  display:flex; align-items:center; justify-content:center;
}
.route-divider svg{ width: 220px; height: 14px; }

/* Buttons */
.btn-brand{
  background: var(--gradient-brand);
  color:#fff !important;
  border:none;
  padding: 14px 30px;
  border-radius: 100px;
  font-weight: 700;
  font-size: .95rem;
  display:inline-flex; align-items:center; gap:10px;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
  box-shadow: 0 10px 24px rgba(245,130,32,.28);
}
.btn-brand:hover{ transform: translateY(-3px); box-shadow: 0 16px 34px rgba(245,130,32,.38); color:#fff; }

.btn-outline-brand{
  background: transparent;
  border: 1.5px solid rgba(255,255,255,.55);
  color:#fff !important;
  padding: 13px 28px;
  border-radius: 100px;
  font-weight: 600;
  font-size: .95rem;
  display:inline-flex; align-items:center; gap:10px;
  transition: all .35s var(--ease);
  backdrop-filter: blur(6px);
}
.btn-outline-brand:hover{ background: rgba(255,255,255,.14); border-color:#fff; color:#fff; transform: translateY(-3px); }

.btn-ghost-dark{
  background: transparent;
  border: 1.5px solid var(--gray-300);
  color: var(--blue-dark) !important;
  padding: 13px 28px;
  border-radius: 100px;
  font-weight: 600;
  font-size: .95rem;
  display:inline-flex; align-items:center; gap:10px;
  transition: all .3s var(--ease);
}
.btn-ghost-dark:hover{ border-color: var(--blue); background: var(--gray-light); }

/* =========================================================================
   NAVBAR
   ========================================================================= */
.ad-navbar{
  position: fixed; top:0; left:0; right:0; z-index: 1000;
  padding: 18px 0;
  transition: all .4s var(--ease);
  background: rgba(255,255,255,.82);
}
.ad-navbar.scrolled{
  padding: 12px 0;
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(16px) saturate(160%);
  -webkit-backdrop-filter: blur(16px) saturate(160%);
  box-shadow: 0 6px 30px rgba(0,42,102,.08);
}
.ad-navbar .nav-inner{ display:flex; align-items:center; justify-content:space-between; }
.ad-navbar .brand-logo{ height: 70px; display:block; transition: opacity .3s; }
.ad-navbar .brand-logo.on-dark{ display:block; }
.ad-navbar .brand-logo.on-light{ display:none; }
.ad-navbar.scrolled .brand-logo.on-dark{ display:none; }
.ad-navbar.scrolled .brand-logo.on-light{ display:block; }

.nav-links{ display:flex; align-items:center; gap: 4px; list-style:none; margin:0; padding:0; }
.nav-links li a{
  color: var(--text); 
  font-weight: 600; font-size: .95rem;
  padding: 10px 16px; border-radius: 100px;
  transition: all .3s var(--ease);
  position:relative;
}
.ad-navbar.scrolled .nav-links li a{ color: var(--text); }
.nav-links li a:hover, .nav-links li a.active{ background: rgba(255,255,255,.14); color: var(--text); }
.ad-navbar.scrolled .nav-links li a:hover,
.ad-navbar.scrolled .nav-links li a.active{ background: var(--gray-light); color: var(--blue); }

.nav-utility{ display:flex; align-items:center; gap:10px; }
.nav-pill{
  display:inline-flex; align-items:center; gap:8px;
  font-weight:700; font-size:.88rem;
  padding: 10px 18px; border-radius: 100px;
  transition: all .3s var(--ease);
}
.nav-pill.track{
  color:var(--blue-dark); border:1.5px solid rgba(255,255,255,.5);
}
.ad-navbar.scrolled .nav-pill.track{ color: var(--blue-dark); border-color: var(--gray-300); }
.nav-pill.track:hover{ background: rgba(255,255,255,.15); }
.ad-navbar.scrolled .nav-pill.track:hover{ background: var(--gray-light); }

.nav-pill.login{ background: var(--gradient-brand); color:#fff; box-shadow: 0 8px 20px rgba(245,130,32,.3); }
.nav-pill.login:hover{ transform: translateY(-2px); color:#fff; }

.nav-toggle{
  display:none; background: transparent; border: none; color: var(--text);  font-size: 1.5rem;
}
.ad-navbar.scrolled .nav-toggle{ color: var(--blue-dark); }

@media (max-width: 991.98px){
  .nav-links{
    position: fixed; top: 0; right: -100%; height: 100vh; width: min(320px, 84vw);
    background: var(--blue-dark);
    flex-direction: column; align-items: flex-start; gap:2px;
    padding: 100px 28px 28px; transition: right .45s var(--ease); z-index: 1100;
    box-shadow: -20px 0 50px rgba(0,0,0,.25);
  }
  .nav-links.open{ right: 0; }
  .nav-links li{ width:100%; }
  .nav-links li a{ display:block; width:100%; color:#fff; }
  .nav-utility{ order:3; }
  .nav-toggle{ display:block; z-index: 1200; }
  .nav-scrim{
    position: fixed; inset:0; background: rgba(0,10,30,.5); opacity:0; pointer-events:none;
    transition: opacity .35s var(--ease); z-index: 1050;
  }
  .nav-scrim.show{ opacity:1; pointer-events:auto; }
}

/* =========================================================================
   HERO
   ========================================================================= */
.hero{
  position: relative;
  min-height: 100vh;
  display:flex; align-items:center;
  color:#fff;
  overflow:hidden;
  padding-top: 90px;
}
.hero-bg{
  position:absolute; inset:0;
  background-size: cover; background-position: center;
  transform: scale(1.08);
}
.hero-overlay{ position:absolute; inset:0; background: var(--gradient-deep); }
.hero-grid-overlay{
  position:absolute; inset:0;
  background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: radial-gradient(ellipse at 60% 40%, black 10%, transparent 70%);
}
.hero-content{ position:relative; z-index:2; }
.hero h1{
  color:#fff;
  font-size: clamp(2.4rem, 5.4vw, 4.3rem);
  line-height: 1.06;
  font-weight: 700;
  margin-bottom: 22px;
}
.hero h1 .accent{
  background: linear-gradient(90deg,#FFD9A8,#F58220);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero p.lead{
  font-size: 1.2rem; color: rgba(255,255,255,.85); max-width: 560px; margin-bottom: 36px; line-height:1.7;
}
.hero-actions{ display:flex; gap:16px; flex-wrap:wrap; }

/* Route-line signature animation across hero */
.hero-route{ position:absolute; inset:0; z-index:1; pointer-events:none; }
.hero-route svg{ width:100%; height:100%; }
.route-path{
  fill:none; stroke: rgba(255,255,255,.35); stroke-width:1.6; stroke-dasharray: 6 10;
}
.route-node{ filter: drop-shadow(0 0 8px rgba(245,130,32,.8)); }
.route-tag{
  font-family: var(--font-mono); font-size: 10px; fill: rgba(255,255,255,.65); letter-spacing: .05em;
}

/* Floating stat chips over hero */
.hero-floats{ position:relative; z-index:2; }
.float-chip{
  position:absolute;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.22);
  backdrop-filter: blur(14px);
  border-radius: var(--radius-md);
  padding: 14px 18px;
  display:flex; align-items:center; gap:12px;
  box-shadow: var(--shadow-lg);
}
.float-chip .icon-badge{
  width:40px; height:40px; border-radius:10px;
  background: var(--gradient-brand);
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:1rem; flex-shrink:0;
}
.float-chip .fc-num{ font-family: var(--font-mono); font-weight:700; font-size:1.15rem; line-height:1; color:#fff; }
.float-chip .fc-label{ font-size:.72rem; color: rgba(255,255,255,.65); }

.float-1{ top: 8%; right: 4%; animation: floaty 6s ease-in-out infinite; }
.float-2{ bottom: 14%; right: 12%; animation: floaty 7s ease-in-out infinite 1s; }
.float-3{ top: 42%; right: -1%; animation: floaty 5.5s ease-in-out infinite .4s; }
@keyframes floaty{ 0%,100%{ transform: translateY(0);} 50%{ transform: translateY(-14px);} }
@media (max-width: 1199.98px){ .float-1,.float-2,.float-3{ display:none; } }

.scroll-cue{
  position:absolute; bottom: 26px; left:50%; transform: translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px;
  color: rgba(255,255,255,.6); font-family: var(--font-mono); font-size:.7rem; letter-spacing:.15em; z-index:2;
}
.scroll-cue .line{ width:1px; height: 34px; background: linear-gradient(#fff, transparent); animation: scrollline 2s ease-in-out infinite; }
@keyframes scrollline{ 0%{ opacity:0; transform: scaleY(0); transform-origin:top;} 40%{opacity:1; transform: scaleY(1); transform-origin:top;} 100%{opacity:0; transform: scaleY(1); transform-origin:bottom;} }

/* Page header (About/Services/Contact) */
.page-header{
  position:relative; color:#fff; padding: 200px 0 110px; overflow:hidden;
}
.page-header .hero-bg, .page-header .hero-overlay{ position:absolute; inset:0; }
.page-header .hero-bg{ background-size:cover; background-position:center; transform: scale(1.05); }
.page-header-content{ position:relative; z-index:2; }
.page-header h1{ color:#fff; font-size: clamp(2.1rem, 4vw, 3.2rem); margin-bottom: 12px; }
.breadcrumb-ad{ font-family: var(--font-mono); font-size:.8rem; color: rgba(255,255,255,.65); letter-spacing:.08em; }
.breadcrumb-ad a{ color: rgba(255,255,255,.85); }
.breadcrumb-ad a:hover{ color: var(--orange); }

/* =========================================================================
   OVERVIEW / SPLIT SECTIONS
   ========================================================================= */
.split-media{
  position:relative; border-radius: var(--radius-lg); overflow:hidden; box-shadow: var(--shadow-lg);
}
.split-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.split-media-badge{
  position:absolute; left:24px; bottom:24px;
  background: rgba(0,42,102,.85); backdrop-filter: blur(10px);
  color:#fff; padding: 16px 20px; border-radius: var(--radius-md);
  display:flex; align-items:center; gap:14px;
  border: 1px solid rgba(255,255,255,.14);
}
.split-media-badge .num{ font-family: var(--font-mono); font-size:1.6rem; font-weight:700; color: var(--orange); }
.overview-point{ display:flex; gap:16px; margin-bottom: 26px; }
.overview-point .op-icon{
  width:52px; height:52px; border-radius:14px; flex-shrink:0;
  background: rgba(0,59,143,.08); color: var(--blue);
  display:flex; align-items:center; justify-content:center; font-size:1.2rem;
  border: 1px solid rgba(0,59,143,.12);
}
.overview-point h5{ font-weight:700; margin-bottom:4px; font-size:1.05rem; }
.overview-point p{ color: var(--text-soft); margin:0; font-size:.95rem; line-height:1.65; }

/* =========================================================================
   SERVICE CARDS (home preview)
   ========================================================================= */
.service-card{
  background:#fff; border-radius: var(--radius-lg); overflow:hidden;
  box-shadow: var(--shadow-sm); border:1px solid rgba(0,59,143,.06);
  transition: transform .45s var(--ease), box-shadow .45s var(--ease);
  height:100%; display:flex; flex-direction:column;
}
.service-card:hover{ transform: translateY(-8px); box-shadow: var(--shadow-lg); }
.service-card .sc-media{ position:relative; height: 190px; overflow:hidden; }
.service-card .sc-media img{ width:100%; height:100%; object-fit:cover; transition: transform .6s var(--ease); }
.service-card:hover .sc-media img{ transform: scale(1.08); }
.service-card .sc-icon{
  position:absolute; bottom:-24px; left:22px;
  width:52px; height:52px; border-radius:14px;
  background: var(--gradient-brand); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:1.2rem;
  box-shadow: 0 10px 20px rgba(245,130,32,.3);
}
.service-card .sc-body{ padding: 40px 24px 26px; flex:1; display:flex; flex-direction:column; }
.service-card h4{ font-size:1.15rem; margin-bottom:10px; }
.service-card p{ color: var(--text-soft); font-size:.92rem; line-height:1.6; flex:1; }
.service-card .sc-link{ font-weight:700; font-size:.85rem; color: var(--blue); display:inline-flex; align-items:center; gap:8px; margin-top:14px; }
.service-card .sc-link i{ transition: transform .3s var(--ease); }
.service-card:hover .sc-link i{ transform: translateX(5px); }

/* =========================================================================
   WHY CHOOSE US
   ========================================================================= */
.feature-card{
  background:#fff; border-radius: var(--radius-md); padding: 30px 26px;
  border: 1px solid var(--gray-100);
  transition: all .4s var(--ease); height:100%;
}
.feature-card:hover{ border-color: transparent; box-shadow: var(--shadow-md); transform: translateY(-6px); }
.feature-card .fc-icon{
  width:56px; height:56px; border-radius:14px;
  background: rgba(0,59,143,.07); color: var(--blue);
  display:flex; align-items:center; justify-content:center; font-size:1.35rem; margin-bottom:20px;
  transition: all .4s var(--ease);
}
.feature-card:hover .fc-icon{ background: var(--gradient-brand); color:#fff; }
.feature-card h5{ font-weight:700; margin-bottom:8px; }
.feature-card p{ color: var(--text-soft); font-size:.9rem; margin:0; line-height:1.6; }

/* =========================================================================
   STATS
   ========================================================================= */
.stats-band{ position:relative; background: var(--blue-dark); overflow:hidden; }
.stats-band::before{
  content:''; position:absolute; inset:0;
  background: radial-gradient(ellipse at 20% 30%, rgba(245,130,32,.18), transparent 55%);
}
.stat-item{ position:relative; z-index:1; text-align:center; padding: 20px 10px; }
.stat-item .stat-num{
  font-family: var(--font-mono); font-weight:700; color:#fff;
  font-size: clamp(2.1rem, 4vw, 3rem); line-height:1;
  display:flex; align-items:center; justify-content:center; gap:4px;
}
.stat-item .stat-label{ color: rgba(255,255,255,.62); font-size:.85rem; margin-top:10px; letter-spacing:.03em; }
.stat-divider{ width:1px; background: rgba(255,255,255,.14); align-self:stretch; }

/* =========================================================================
   PROCESS TIMELINE (a real sequence — numbered markers earn their keep)
   ========================================================================= */
.process-track{ position:relative; }
.process-track .track-line{
  position:absolute; top: 34px; left:0; right:0; height:2px;
  background: repeating-linear-gradient(90deg, var(--gray-300) 0 10px, transparent 10px 18px);
}
.process-step{ position:relative; text-align:center; padding: 0 14px; }
.process-step .ps-marker{
  width:68px; height:68px; border-radius:50%; margin:0 auto 22px;
  background:#fff; border: 2px solid var(--gray-300);
  display:flex; align-items:center; justify-content:center;
  font-family: var(--font-mono); font-weight:700; font-size:1.1rem; color: var(--blue);
  position:relative; z-index:1; transition: all .4s var(--ease);
}
.process-step:hover .ps-marker{ background: var(--gradient-brand); border-color:transparent; color:#fff; transform: scale(1.08); }
.process-step h5{ font-weight:700; margin-bottom:8px; font-size:1.05rem; }
.process-step p{ color: var(--text-soft); font-size: .88rem; line-height:1.6; }

/* =========================================================================
   GLOBAL NETWORK
   ========================================================================= */
.network-section{
  position:relative; color:#fff; overflow:hidden;
  background: linear-gradient(180deg, var(--blue-dark), #001433);
}
.network-map{
  position:absolute; inset:0; opacity:.5;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.16) 1px, transparent 1.2px);
  background-size: 34px 34px;
  mask-image: radial-gradient(ellipse 70% 60% at 50% 45%, black 40%, transparent 85%);
}
.network-dot{ position:absolute; width:8px; height:8px; border-radius:50%; background: var(--orange); box-shadow: 0 0 0 6px rgba(245,130,32,.18); }
.network-dot::after{
  content:''; position:absolute; inset:-6px; border-radius:50%; border:1px solid var(--orange); opacity:.6;
  animation: pulseDot 2.4s ease-out infinite;
}
@keyframes pulseDot{ 0%{ transform: scale(.6); opacity:.8;} 100%{ transform: scale(2.4); opacity:0;} }
.network-stat-card{
  background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(10px); border-radius: var(--radius-md); padding: 26px;
}
.network-stat-card .ns-num{ font-family: var(--font-mono); font-weight:700; font-size:2rem; color: var(--orange); }

/* =========================================================================
   TESTIMONIALS
   ========================================================================= */
.testi-card{
  background:#fff; border-radius: var(--radius-lg); padding: 36px 32px;
  box-shadow: var(--shadow-md); border:1px solid var(--gray-100); height:100%;
}
.testi-card .quote-mark{ font-family: var(--font-display); font-size:3rem; color: rgba(245,130,32,.28); line-height:.5; margin-bottom:10px; display:block; }
.testi-card p.quote{ color: var(--text); font-size:1rem; line-height:1.75; margin-bottom:22px; }
.testi-person{ display:flex; align-items:center; gap:14px; }
.testi-person img{ width:50px; height:50px; border-radius:50%; object-fit:cover; }
.testi-person .tp-name{ font-weight:700; font-size:.95rem; color: var(--blue-dark); }
.testi-person .tp-role{ font-size:.8rem; color: var(--text-soft); }
.testi-stars{ color: var(--orange); font-size:.85rem; margin-bottom:12px; }

/* =========================================================================
   ABOUT PAGE
   ========================================================================= */
.value-card{
  background:#fff; border-radius: var(--radius-md); padding: 28px 24px; height:100%;
  border:1px solid var(--gray-100); transition: all .35s var(--ease);
}
.value-card:hover{ box-shadow: var(--shadow-md); transform: translateY(-5px); }
.value-card .vc-icon{ width:48px; height:48px; border-radius:12px; background: rgba(245,130,32,.1); color: var(--orange-dark); display:flex; align-items:center; justify-content:center; font-size:1.1rem; margin-bottom:16px; }

.journey-timeline{ position:relative; padding-left: 40px; }
.journey-timeline::before{ content:''; position:absolute; left:8px; top:6px; bottom:6px; width:2px; background: repeating-linear-gradient(180deg, var(--gray-300) 0 8px, transparent 8px 14px); }
.journey-item{ position:relative; padding-bottom: 46px; }
.journey-item:last-child{ padding-bottom:0; }
.journey-item::before{
  content:''; position:absolute; left:-40px; top:4px; width:18px; height:18px; border-radius:50%;
  background: var(--gradient-brand); box-shadow: 0 0 0 5px rgba(245,130,32,.15);
}
.journey-item .jy-year{ font-family: var(--font-mono); color: var(--orange-dark); font-weight:700; font-size:.85rem; letter-spacing:.05em; }
.journey-item h5{ font-weight:700; margin: 4px 0 8px; }
.journey-item p{ color: var(--text-soft); font-size:.92rem; margin:0; line-height:1.65; }

.team-card{ text-align:center; }
.team-card .tm-media{ border-radius: var(--radius-md); overflow:hidden; margin-bottom:18px; position:relative; box-shadow: var(--shadow-sm); }
.team-card .tm-media img{ width:100%; aspect-ratio: 4/5; object-fit:cover; transition: transform .5s var(--ease); }
.team-card:hover .tm-media img{ transform: scale(1.06); }
.team-card h5{ font-weight:700; margin-bottom:2px; }
.team-card .tm-role{ color: var(--orange-dark); font-size:.85rem; font-weight:600; }

.trust-strip{ display:flex; flex-wrap:wrap; gap: 14px 34px; align-items:center; justify-content:center; opacity:.75; }
.trust-strip span{ font-family: var(--font-mono); font-size:.78rem; letter-spacing:.1em; color: var(--text-soft); }

/* =========================================================================
   SERVICES PAGE — detailed alternating sections
   ========================================================================= */
.service-detail{ padding: 90px 0; }
.service-detail:nth-child(even){ background: var(--gray-light); }
.sd-media{ position:relative; border-radius: var(--radius-lg); overflow:hidden; box-shadow: var(--shadow-lg); }
.sd-media img{ width:100%; height: 440px; object-fit:cover; display:block; }
.sd-tag{
  position:absolute; top:22px; left:22px;
  background: rgba(255,255,255,.92); backdrop-filter: blur(8px);
  padding: 9px 16px; border-radius: 100px; font-family: var(--font-mono); font-size:.72rem; letter-spacing:.08em;
  color: var(--blue-dark); font-weight:700; display:flex; align-items:center; gap:8px;
}
.sd-icon-big{
  width:64px; height:64px; border-radius:16px; background: var(--gradient-brand); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin-bottom:22px;
  box-shadow: 0 12px 26px rgba(245,130,32,.28);
}
.sd-benefits{ list-style:none; padding:0; margin: 24px 0; }
.sd-benefits li{ display:flex; align-items:flex-start; gap:12px; margin-bottom:14px; font-size:.95rem; color: var(--text); }
.sd-benefits li i{ color: var(--orange); margin-top:4px; }
.sd-feature-pills{ display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.sd-feature-pills span{
  background: rgba(0,59,143,.06); color: var(--blue); border:1px solid rgba(0,59,143,.12);
  padding: 8px 16px; border-radius: 100px; font-size:.82rem; font-weight:600;
}

/* =========================================================================
   CONTACT PAGE
   ========================================================================= */
.contact-card{
  background:#fff; border-radius: var(--radius-lg); padding: 32px 28px; height:100%;
  border:1px solid var(--gray-100); box-shadow: var(--shadow-sm); transition: all .35s var(--ease);
}
.contact-card:hover{ box-shadow: var(--shadow-md); transform: translateY(-6px); }
.contact-card .cc-icon{
  width:54px; height:54px; border-radius:14px; background: var(--gradient-brand); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:1.25rem; margin-bottom:20px;
}
.contact-card h5{ font-weight:700; margin-bottom:10px; }
.contact-card p{ color: var(--text-soft); font-size:.92rem; margin-bottom:4px; line-height:1.6; }
.contact-card a.cc-link{ color: var(--blue); font-weight:700; font-size:.92rem; }

.hours-row{ display:flex; justify-content:space-between; padding: 10px 0; border-bottom:1px dashed var(--gray-300); font-size:.9rem; }
.hours-row:last-child{ border-bottom:none; }
.hours-row .day{ color: var(--text); font-weight:600; }
.hours-row .time{ color: var(--text-soft); font-family: var(--font-mono); font-size:.85rem; }

.region-chip{
  display:inline-flex; align-items:center; gap:8px; padding: 9px 16px;
  background:#fff; border:1px solid var(--gray-100); border-radius:100px; font-size:.85rem; font-weight:600;
  color: var(--blue-dark); margin: 4px 6px 4px 0; box-shadow: var(--shadow-sm);
}
.region-chip i{ color: var(--orange); }

.map-frame{
  border-radius: var(--radius-lg); overflow:hidden; box-shadow: var(--shadow-lg);
  position:relative; height: 420px; border: 1px solid var(--gray-100);
}
.map-frame img{ width:100%; height:100%; object-fit:cover; filter: saturate(.35) contrast(1.05); }
.map-pin{
  position:absolute; top:50%; left:50%; transform: translate(-50%,-100%);
  width:44px; height:44px; border-radius:50% 50% 50% 0; background: var(--gradient-brand);
  transform-origin: bottom center; rotate: -45deg; box-shadow: var(--shadow-lg);
  display:flex; align-items:center; justify-content:center;
}
.map-pin i{ rotate:45deg; color:#fff; font-size:1.1rem; }
.map-overlay-label{
  position:absolute; bottom:20px; left:20px; background: rgba(255,255,255,.95); backdrop-filter: blur(6px);
  padding: 12px 18px; border-radius: var(--radius-sm); font-size:.85rem; font-weight:700; color: var(--blue-dark);
  box-shadow: var(--shadow-sm);
}

.social-row{ display:flex; gap:12px; }
.social-row a{
  width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background: rgba(0,59,143,.06); color: white; border:1px solid rgba(0,59,143,.12); transition: all .3s var(--ease);
}
.social-row a:hover{ background: var(--gradient-brand); color:#fff; transform: translateY(-4px); }

/* =========================================================================
   FOOTER
   ========================================================================= */
.ad-footer{ background: var(--blue-dark); color: rgba(255,255,255,.72); padding: 80px 0 0; position:relative; overflow:hidden; }
.ad-footer::before{ content:''; position:absolute; inset:0; background: radial-gradient(ellipse at 85% 0%, rgba(245,130,32,.12), transparent 50%); }
.ad-footer .fw-inner{ position:relative; z-index:1; }
.ad-footer h6{ color:#fff; font-weight:700; margin-bottom:22px; font-size:1rem; letter-spacing:.02em; }
.ad-footer p{ font-size:.9rem; line-height:1.75; }
.ad-footer ul{ list-style:none; padding:0; margin:0; }
.ad-footer ul li{ margin-bottom:12px; }
.ad-footer ul li a{ color: rgba(255,255,255,.68); font-size:.9rem; transition: all .25s var(--ease); }
.ad-footer ul li a:hover{ color: var(--orange); padding-left:4px; }
.footer-contact-item{ display:flex; gap:12px; margin-bottom:16px; font-size:.88rem; }
.footer-contact-item i{ color: var(--orange); margin-top:3px; }
.footer-bottom{
  border-top: 1px solid rgba(255,255,255,.1); margin-top: 50px; padding: 24px 0;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;
  font-size:.82rem; position:relative; z-index:1;
}
.footer-bottom a{ color: rgba(255,255,255,.6); margin-left: 18px; }
.footer-bottom a:hover{ color:#fff; }

/* =========================================================================
   BACK TO TOP
   ========================================================================= */
.back-to-top{
  position:fixed; bottom: 28px; right: 28px; width:48px; height:48px; border-radius:50%;
  background: var(--gradient-brand); color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow: var(--shadow-lg); z-index: 900; opacity:0; visibility:hidden; transform: translateY(12px);
  transition: all .35s var(--ease); border:none;
}
.back-to-top.show{ opacity:1; visibility:visible; transform: translateY(0); }
.back-to-top:hover{ transform: translateY(-4px); }

/* =========================================================================
   UTILITIES / RESPONSIVE
   ========================================================================= */
.text-gradient{ background: var(--gradient-brand); -webkit-background-clip:text; background-clip:text; color:transparent; }
.divider-fade{ height:1px; background: linear-gradient(90deg, transparent, var(--gray-300), transparent); }

@media (max-width: 767.98px){
  .section-pad{ padding: 64px 0; }
  .hero{ min-height: auto; padding: 140px 0 90px; text-align:left; }
  .stat-divider{ display:none; }
  .stat-item{ padding: 16px 6px; border-bottom: 1px dashed rgba(255,255,255,.14); }
}

.lazy-img{ opacity:0; transition: opacity .6s var(--ease); }
.lazy-img.loaded{ opacity:1; }

/* AOS-friendly default (in case library CSS delayed) */
[data-aos]{ transition-property: transform, opacity; }
