
/* -- TOKENS ---------------------------------------- */
:root {
  --navy:   #0C1D35;
  --navy-2: #152442;
  --blue:   #1B51C4;
  --teal:   #7CE0F9;
  --teal-d: #0898B5;
  --white:  #FFFFFF;
  --off:    #F5F6F8;
  --off-2:  #ECEEF3;
  --border: rgba(12,29,53,.09);
  --text:   #0A1825;
  --muted:  #556070;
  --f:      'Inter', system-ui, sans-serif;
  --fd:     'DM Serif Display', Georgia, serif;
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0 }
html { scroll-behavior:smooth; font-size:16px; scrollbar-width:none }
html::-webkit-scrollbar { display:none }
body { background:var(--white); color:var(--text); font-family:var(--f); overflow-x:hidden }
a { color:inherit; text-decoration:none }
img { max-width:100%; display:block }
ul { list-style:none }
::selection { background:var(--navy); color:#fff }

/* -- CUSTOM SCROLLBAR ------------------------------ */
#csb-track {
  position:fixed; right:3px; top:8px;
  width:3px; height:calc(100vh - 16px);
  z-index:9999; cursor:pointer;
  background:rgba(255,255,255,.04);
  border-radius:999px; overflow:hidden;
}
#csb-thumb {
  position:absolute; left:0; right:0; top:0;
  min-height:40px; border-radius:999px;
  background:var(--teal);
  opacity:.22;
  transition:opacity .35s ease, box-shadow .35s ease, background .25s ease;
  cursor:grab;
}
#csb-track:hover #csb-thumb {
  opacity:.72;
  box-shadow:0 0 10px rgba(124,224,249,.5), 0 0 22px rgba(124,224,249,.16);
}
#csb-track.csb-active #csb-thumb {
  opacity:.88;
  box-shadow:0 0 10px rgba(124,224,249,.55), 0 0 20px rgba(124,224,249,.18);
}
#csb-track.csb-drag #csb-thumb {
  opacity:1; cursor:grabbing;
  background:#96E8FB;
  box-shadow:0 0 14px rgba(124,224,249,.9), 0 0 36px rgba(124,224,249,.35), 0 0 56px rgba(124,224,249,.12);
}

/* -- SCROLL PROGRESS ------------------------------- */
#sp {
  position:fixed; top:0; left:0; right:0; height:2px; z-index:9999;
  background:linear-gradient(90deg, var(--navy), var(--teal));
  transform:scaleX(0); transform-origin:left; transition:transform .06s linear
}

/* -- NAV -------------------------------------------  */
#nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 2rem;
  height:136px;
  transition:height .35s ease;
  pointer-events:none
}
#nav.scrolled { height:68px }
#nav > * { pointer-events:auto }

/* Logo Ã¢â‚¬â€ left side */
.nav-logo-link {
  display:flex; align-items:center;
  background:transparent; padding:0;
  transition:opacity .25s
}
.nav-logo-link:hover { opacity:.88 }
.nav-logo-link img {
  height:126px; width:auto; display:block;
  transition:height .35s ease
}
#nav.scrolled .nav-logo-link img { height:52px }

/* Links pill, right side */
.nav-body {
  display:flex; align-items:center; gap:2.2rem;
  padding:.62rem 1.5rem;
  background:rgba(16,26,42,.74);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.09);
  border-radius:8px;
  transition:background .3s, border-color .3s, box-shadow .3s
}
#nav.scrolled .nav-body {
  background:rgba(255,255,255,.97);
  border-color:rgba(12,29,53,.1);
  box-shadow:0 2px 24px rgba(12,29,53,.1)
}

.nav-links { display:flex; align-items:center; gap:2.2rem }
.nav-links a {
  font-size:.8rem; font-weight:500; letter-spacing:.01em;
  color:rgba(255,255,255,.85); transition:color .2s;
  position:relative; white-space:nowrap
}
.nav-links a::after {
  content:''; position:absolute; bottom:-3px; left:0; right:0;
  height:1px; background:var(--teal);
  transform:scaleX(0); transform-origin:left; transition:transform .22s
}
.nav-links a:hover { color:#fff }
.nav-links a:hover::after { transform:scaleX(1) }
#nav.scrolled .nav-links a { color:var(--muted) }
#nav.scrolled .nav-links a::after { background:var(--navy) }
#nav.scrolled .nav-links a:hover { color:var(--navy) }

.nav-phone {
  font-size:.76rem; font-weight:500; color:rgba(255,255,255,.65);
  display:flex; align-items:center; gap:.38rem;
  transition:color .2s; white-space:nowrap; letter-spacing:.01em
}
.nav-phone:hover { color:#fff }
#nav.scrolled .nav-phone { color:var(--muted) }
#nav.scrolled .nav-phone:hover { color:var(--navy) }
@media(max-width:768px) { .nav-phone { display:none } }
.nav-divider {
  width:1px; height:18px;
  background:rgba(255,255,255,.14); flex-shrink:0
}
#nav.scrolled .nav-divider { background:rgba(12,29,53,.14) }

.nav-cta {
  font-size:.77rem !important; font-weight:600 !important;
  letter-spacing:.03em !important;
  padding:.46rem 1.15rem !important; border-radius:5px !important;
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  color:#fff !important;
  transition:background .2s, border-color .2s !important;
  white-space:nowrap
}
.nav-cta:hover {
  background:rgba(255,255,255,.22) !important;
  border-color:rgba(255,255,255,.55) !important
}
.nav-cta::after { display:none !important }
#nav.scrolled .nav-cta {
  background:var(--navy) !important;
  border-color:var(--navy) !important;
  color:#fff !important
}
#nav.scrolled .nav-cta:hover { background:var(--blue) !important; border-color:var(--blue) !important }

.nav-call-icon {
  display:none; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:50%;
  background:rgba(124,224,249,.12); border:1px solid rgba(124,224,249,.25);
  color:var(--teal); transition:background .2s, border-color .2s
}
.nav-call-icon:hover { background:rgba(124,224,249,.22); border-color:rgba(124,224,249,.5) }
#nav.scrolled .nav-call-icon {
  background:rgba(27,81,196,.1); border-color:rgba(27,81,196,.25); color:var(--blue)
}
@media(max-width:768px) { .nav-call-icon { display:flex } }
.nav-burger {
  display:none; flex-direction:column; gap:5px;
  cursor:pointer; background:none; border:none; padding:4px
}
.nav-burger span {
  display:block; width:20px; height:2px; border-radius:2px;
  background:rgba(255,255,255,.88); transition:all .3s
}
#nav.scrolled .nav-burger span { background:var(--navy) }
@media(max-width:768px) {
  #nav { height:141px; padding:0 1rem 0 0.4rem }
  .nav-logo-link img { height:125px }
  #nav.scrolled { height:64px }
  #nav.scrolled .nav-logo-link img { height:48px }
  .nav-links { display:none }
  .nav-cta { display:none }
  .nav-divider { display:none }
  .nav-burger { display:flex }
}

.nav-mobile-open {
  display:flex !important; flex-direction:column;
  position:fixed; top:0; left:0; right:0; bottom:0;
  background:rgba(12,29,53,.97);
  padding:5rem 2.5rem 2.5rem;
  gap:0; z-index:998;
  align-items:center; justify-content:center;
  overflow-y:auto
}
.nav-mobile-open a,
.nav-mobile-open .mob-drop-label { font-size:1.1rem; font-weight:500; color:rgba(255,255,255,.8); padding:.55rem 0 }
.nav-mobile-open .mob-section-label {
  font-size:.6rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(255,255,255,.28); margin-top:1.5rem; margin-bottom:.2rem
}
.nav-mobile-open .mob-sub-link {
  font-size:.9rem !important; color:rgba(255,255,255,.5) !important;
  padding:.35rem 0 !important; padding-left:1rem !important
}
.nav-mobile-open .mob-close-btn {
  position:absolute; top:1.4rem; right:1.6rem;
  background:none; border:none; color:rgba(255,255,255,.55); cursor:pointer; font-size:1.5rem
}
/* Hide logo + nav pill when mobile menu is open */
#nav.mob-open .nav-logo-link,
#nav.mob-open .nav-body { opacity:0; pointer-events:none; transition:opacity .15s }

/* -- DROPDOWN NAV ---------------------------------- */
.nav-dropdown { position:relative }
.nav-drop-btn {
  font-size:.8rem; font-weight:500; letter-spacing:.01em;
  color:rgba(255,255,255,.85); background:none; border:none;
  cursor:pointer; display:flex; align-items:center; gap:.28rem;
  padding:0; white-space:nowrap; transition:color .2s; position:relative;
  font-family:var(--f)
}
.nav-drop-btn svg { transition:transform .22s; flex-shrink:0 }
.nav-dropdown:hover .nav-drop-btn svg { transform:rotate(180deg) }
.nav-drop-btn::after {
  content:''; position:absolute; bottom:-3px; left:0; right:0;
  height:1px; background:var(--teal);
  transform:scaleX(0); transform-origin:left; transition:transform .22s
}
.nav-dropdown:hover .nav-drop-btn { color:#fff }
.nav-dropdown:hover .nav-drop-btn::after { transform:scaleX(1) }
#nav.scrolled .nav-drop-btn { color:var(--muted) }
#nav.scrolled .nav-drop-btn::after { background:var(--navy) }
#nav.scrolled .nav-dropdown:hover .nav-drop-btn { color:var(--navy) }

.nav-drop-menu {
  position:absolute; top:100%; left:50%;
  transform:translateX(-50%) translateY(-6px);
  padding-top:10px; /* bridges the gap so hover isn't lost */
  background:transparent;
  min-width:220px;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
  z-index:100
}
.nav-drop-menu-inner {
  background:rgba(10,18,34,.96);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px; padding:.5rem;
}
#nav.scrolled .nav-drop-menu-inner {
  background:rgba(255,255,255,.98);
  border-color:rgba(12,29,53,.1);
  box-shadow:0 10px 36px rgba(12,29,53,.12)
}
.nav-dropdown:hover .nav-drop-menu,
.nav-dropdown:focus-within .nav-drop-menu {
  opacity:1; visibility:visible; pointer-events:auto;
  transform:translateX(-50%) translateY(0)
}
#nav.scrolled .nav-drop-menu {
  background:rgba(255,255,255,.98);
  border-color:rgba(12,29,53,.1);
  box-shadow:0 10px 36px rgba(12,29,53,.12)
}
/* small arrow */
.nav-drop-menu-inner::before {
  content:''; position:absolute; top:5px; left:50%; transform:translateX(-50%);
  width:10px; height:10px; background:rgba(10,18,34,.96);
  border-left:1px solid rgba(255,255,255,.1); border-top:1px solid rgba(255,255,255,.1);
  rotate:45deg; z-index:1
}
#nav.scrolled .nav-drop-menu-inner::before {
  background:rgba(255,255,255,.98);
  border-color:rgba(12,29,53,.1)
}
.nav-drop-menu-inner { position:relative }
.nav-drop-menu a {
  display:block; padding:.46rem .85rem;
  font-size:.79rem; font-weight:500; color:rgba(255,255,255,.68);
  border-radius:6px; transition:background .14s, color .14s;
  white-space:nowrap; position:relative; z-index:2
}
.nav-drop-menu a::after { display:none }
.nav-drop-menu a:hover { background:rgba(255,255,255,.08); color:#fff }
#nav.scrolled .nav-drop-menu a { color:var(--muted) }
#nav.scrolled .nav-drop-menu a:hover { background:rgba(12,29,53,.05); color:var(--navy) }
.drop-rule {
  height:1px; background:rgba(255,255,255,.08); margin:.4rem .6rem; position:relative; z-index:2
}
#nav.scrolled .drop-rule { background:rgba(12,29,53,.1) }
.drop-section-label {
  font-size:.58rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  color:rgba(255,255,255,.28); padding:.4rem .85rem .1rem; display:block;
  position:relative; z-index:2
}
#nav.scrolled .drop-section-label { color:rgba(12,29,53,.36) }

/* -- HERO ------------------------------------------ */
#hero {
  position:relative; height:100dvh; min-height:640px; overflow:hidden
}
#hero-canvas { position:absolute; inset:0; width:100%; height:100%; display:block; pointer-events:none; touch-action:pan-y }
.hero-overlay {
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(
    108deg,
    rgba(4,10,22,.97) 0%,
    rgba(4,10,22,.82) 28%,
    rgba(4,10,22,.42) 58%,
    rgba(4,10,22,.0) 100%)
}

/* Content, vertically centered, left-anchored */
.hero-content {
  position:absolute; top:50%; left:80px;
  transform:translateY(-50%);
  z-index:2; max-width:660px
}

/* Primary headline */
.hero-h1 {
  font-family:var(--f); font-weight:800;
  font-size:clamp(3rem,5.2vw,5.8rem);
  color:#fff; line-height:1.0; letter-spacing:-.03em;
  margin-bottom:1.1rem
}

/* Serif sub-line */
.hero-serif {
  font-family:var(--fd); font-style:italic;
  font-size:clamp(1.2rem,2vw,1.75rem);
  color:rgba(255,255,255,.62); line-height:1.38;
  margin-bottom:2.6rem
}
.hero-serif em { font-style:normal; color:var(--teal) }

/* CTAs */
.hero-actions { display:flex; gap:1rem; align-items:center; flex-wrap:nowrap }
.btn-primary {
  background:var(--teal); color:var(--navy);
  font-size:.86rem; font-weight:700; letter-spacing:.04em;
  padding:.94rem 2.4rem; border-radius:3px; border:none; cursor:pointer;
  display:inline-flex; align-items:center; gap:.6rem;
  transition:background .22s, transform .2s; white-space:nowrap
}
.btn-primary svg { transition:transform .28s }
.btn-primary:hover { background:#96E8FB; transform:translateY(-2px) }
.btn-primary:hover svg { transform:translateX(3px) }
.btn-outline {
  background:transparent; color:rgba(255,255,255,.78);
  font-size:.86rem; font-weight:500; letter-spacing:.03em;
  padding:.94rem 1.9rem; border-radius:3px;
  border:1px solid rgba(255,255,255,.24); cursor:pointer;
  transition:all .25s; display:inline-flex; align-items:center; white-space:nowrap
}
.btn-outline:hover { border-color:rgba(255,255,255,.6); color:#fff; background:rgba(255,255,255,.06) }

/* Responsive */
@media(max-width:1024px) { .hero-content { left:48px; max-width:580px } }
@media(max-width:768px)  { .hero-content { left:24px; right:24px; max-width:none } .hero-actions { flex-wrap:wrap } }
@media(max-width:480px)  { .hero-actions { flex-direction:column; align-items:flex-start } .btn-primary,.btn-outline { width:100%; max-width:300px; justify-content:center } }

/* Entrance animations */
@keyframes fade-up { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:translateY(0)} }
.hero-h1,.hero-serif,.hero-actions {
  opacity:0; animation:fade-up .85s cubic-bezier(.4,0,.2,1) both
}
.hero-h1      { animation-delay:.20s }
.hero-serif   { animation-delay:.38s }
.hero-actions { animation-delay:.54s }

/* -- SHARED LAYOUT --------------------------------- */
section { position:relative; z-index:1 }
.inner { max-width:1240px; margin:0 auto; padding:0 2.5rem }
.eyebrow {
  font-size:.65rem; font-weight:700; letter-spacing:.24em;
  text-transform:uppercase; color:var(--teal-d);
  display:inline-block; margin-bottom:.9rem
}
.s-title {
  font-family:var(--fd);
  font-size:clamp(1.9rem,3.2vw,3rem);
  line-height:1.12; color:var(--text); margin-bottom:.85rem
}
.s-sub { font-size:.93rem; color:var(--muted); max-width:520px; line-height:1.85 }
.on-dark .eyebrow  { color:var(--teal) }
.on-dark .s-title  { color:#fff }
.on-dark .s-sub    { color:rgba(255,255,255,.42) }
.reveal   { opacity:0; transform:translateY(22px); transition:opacity .65s ease, transform .65s ease }
.reveal.in{ opacity:1; transform:none }
.reveal-l { opacity:0; transform:translateX(-26px); transition:opacity .65s ease, transform .65s ease }
.reveal-l.in{ opacity:1; transform:none }
.reveal-r { opacity:0; transform:translateX(26px); transition:opacity .65s ease, transform .65s ease }
.reveal-r.in{ opacity:1; transform:none }

/* -- ABOUT REDESIGN -------------------------------- */
#about { padding:8rem 0; background:#fff; position:relative; overflow:hidden }
#about::after {
  content:''; position:absolute; bottom:-220px; left:-220px;
  width:580px; height:580px; border-radius:50%;
  background:radial-gradient(circle, rgba(27,81,196,.04) 0%, transparent 68%);
  pointer-events:none
}
.about-grid {
  display:grid; grid-template-columns:1.1fr 0.9fr;
  gap:5rem; align-items:center
}
.about-kicker {
  font-size:.65rem; font-weight:700; letter-spacing:.22em;
  text-transform:uppercase; color:var(--teal-d); display:block; margin-bottom:1rem
}
.about-h2 {
  font-family:var(--fd);
  font-size:clamp(1.8rem,2.6vw,2.7rem);
  line-height:1.12; color:var(--text); margin-bottom:1.2rem
}
.about-lead {
  font-size:.94rem; color:var(--muted); line-height:1.92; margin-bottom:2.2rem
}

/* Differentiator rows */
.about-diffs { display:flex; flex-direction:column }
.about-diff {
  display:flex; align-items:flex-start; gap:1rem;
  padding:1.1rem 0; border-bottom:1px solid var(--border)
}
.about-diff:first-child { border-top:1px solid var(--border) }
.about-diff-icon {
  width:38px; height:38px; border-radius:9px; flex-shrink:0;
  background:rgba(27,81,196,.07); border:1px solid rgba(27,81,196,.13);
  display:flex; align-items:center; justify-content:center; color:var(--blue)
}
.about-diff-title { font-size:.88rem; font-weight:700; color:var(--text); margin-bottom:.18rem }
.about-diff-body  { font-size:.78rem; color:var(--muted); line-height:1.65 }

/* Right: dark credential card */
.about-card {
  background:var(--navy); border-radius:16px; padding:2.8rem;
  position:sticky; top:116px; overflow:hidden
}
.about-card::before {
  content:''; position:absolute; top:-80px; right:-80px;
  width:260px; height:260px; border-radius:50%;
  background:radial-gradient(circle, rgba(124,224,249,.07) 0%, transparent 68%);
  pointer-events:none
}
.ac-hero { display:flex; align-items:baseline; gap:.7rem; margin-bottom:2rem }
.ac-n { font-family:var(--fd); font-size:5.5rem; color:var(--teal); line-height:1 }
.ac-l { font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.35); line-height:1.5 }
.ac-rule { height:1px; background:rgba(255,255,255,.08); margin-bottom:1.8rem }
.ac-stats { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-bottom:1.8rem }
.ac-stat-n { font-family:var(--fd); font-size:1.7rem; color:#fff; line-height:1; margin-bottom:.2rem }
.ac-stat-l { font-size:.6rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.28) }
.ac-markets-label { font-size:.6rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); margin-bottom:.85rem; display:block }
.ac-market { display:flex; align-items:center; gap:.6rem; font-size:.83rem; color:rgba(255,255,255,.48); padding:.3rem 0 }
.ac-market.primary { color:rgba(255,255,255,.82); font-weight:500 }
.ac-dot { width:5px; height:5px; border-radius:50%; background:var(--teal); opacity:.55; flex-shrink:0 }
.ac-market.primary .ac-dot { opacity:1 }
.ac-commitment {
  margin-top:1.8rem; padding-top:1.4rem;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:.76rem; color:rgba(255,255,255,.28); line-height:1.7; font-style:italic
}

@media(max-width:960px) {
  .about-grid { grid-template-columns:1fr; gap:3rem }
  .about-card  { position:static }
  .about-right { order:-1 }
  .ac-stats { grid-template-columns:1fr 1fr 1fr }
}
@media(max-width:480px) { .ac-stats { grid-template-columns:1fr 1fr } }

/* -- SERVICES REDESIGN ----------------------------- */
#services { padding:8rem 0; background:var(--navy-2); position:relative; overflow:hidden }
#services::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(circle, rgba(124,224,249,.045) 1px, transparent 1px);
  background-size:32px 32px
}
.svc-header {
  display:flex; justify-content:space-between; align-items:flex-end;
  margin-bottom:2.8rem; flex-wrap:wrap; gap:1.5rem
}

/* Stats row */
.svc-stats {
  display:flex; gap:2.8rem; margin-bottom:3.2rem; flex-wrap:wrap
}
.svc-stat { display:flex; flex-direction:column; gap:.25rem }
.svc-stat-n {
  font-family:var(--fd); font-size:2.1rem; color:var(--teal); line-height:1
}
.svc-stat-l {
  font-size:.62rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:rgba(255,255,255,.28)
}

/* 2Ãƒâ€”2 card grid */
.svc-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:1.2rem; margin-bottom:1.2rem
}
.svc-card {
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
  border-radius:14px; padding:2.4rem 2.2rem 2rem;
  position:relative; overflow:hidden; cursor:default;
  transition:transform .32s ease, border-color .32s ease, box-shadow .32s ease
}
.svc-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, var(--teal), var(--blue));
  opacity:0; transition:opacity .32s ease
}
.svc-card::after {
  content:''; position:absolute; top:-80px; right:-80px;
  width:220px; height:220px; border-radius:50%;
  background:radial-gradient(circle, rgba(124,224,249,.07) 0%, transparent 70%);
  opacity:0; transition:opacity .32s ease; pointer-events:none
}
.svc-card:hover { transform:translateY(-6px); border-color:rgba(124,224,249,.24); box-shadow:0 28px 70px rgba(0,0,0,.38), 0 0 0 1px rgba(124,224,249,.1) }
.svc-card:hover::before { opacity:1 }
.svc-card:hover::after  { opacity:1 }

.svc-deco { position:absolute; top:1rem; right:1.6rem; font-family:var(--fd); font-size:6rem; font-weight:700; color:rgba(255,255,255,.03); line-height:1; pointer-events:none; user-select:none }

.svc-icon {
  width:48px; height:48px; border-radius:11px;
  background:rgba(124,224,249,.07); border:1px solid rgba(124,224,249,.14);
  display:flex; align-items:center; justify-content:center;
  color:var(--teal); margin-bottom:1.4rem;
  transition:background .3s, border-color .3s
}
.svc-card:hover .svc-icon { background:rgba(124,224,249,.13); border-color:rgba(124,224,249,.3) }

.svc-stage-label {
  font-size:.58rem; font-weight:700; letter-spacing:.22em;
  text-transform:uppercase; color:rgba(124,224,249,.5);
  display:block; margin-bottom:.5rem
}
.svc-card-title {
  font-size:1.05rem; font-weight:700; color:#fff;
  line-height:1.3; margin-bottom:.7rem
}
.svc-card-desc {
  font-size:.84rem; color:rgba(255,255,255,.44);
  line-height:1.85; margin-bottom:1.5rem
}
.svc-risk {
  display:flex; align-items:flex-start; gap:.55rem;
  margin-top:1.2rem; padding:0.75rem .9rem;
  background:rgba(249,115,22,.07); border:1px solid rgba(249,115,22,.18);
  border-radius:7px; font-size:.76rem; color:rgba(255,255,255,.48); line-height:1.55
}
.svc-risk svg { flex-shrink:0; color:rgba(249,115,22,.7); margin-top:.05rem }
.svc-bullets {
  display:flex; flex-direction:column; gap:.32rem;
  padding-top:1.2rem; border-top:1px solid rgba(255,255,255,.07)
}
.svc-bullet {
  display:flex; align-items:center; gap:.55rem;
  font-size:.76rem; color:rgba(255,255,255,.38)
}
.svc-bullet::before {
  content:''; width:4px; height:4px; border-radius:50%;
  background:var(--teal); opacity:.65; flex-shrink:0
}

/* Stage 5 */
.stage-5-bar {
  background:linear-gradient(135deg, rgba(27,81,196,.14) 0%, rgba(124,224,249,.05) 100%);
  border:1px solid rgba(124,224,249,.2); border-radius:14px;
  padding:2.2rem 2.8rem; display:flex; align-items:center;
  gap:2.5rem; flex-wrap:wrap; position:relative; overflow:hidden
}
.stage-5-bar::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, var(--blue), var(--teal), var(--blue))
}
.stage-5-badge { display:flex; align-items:center; gap:.7rem; flex-shrink:0 }
.stage-5-num { font-family:var(--fd); font-size:2.8rem; color:var(--teal); line-height:1 }
.stage-5-divider { width:1px; height:52px; background:rgba(124,224,249,.2); flex-shrink:0 }
.stage-5-content { flex:1; min-width:240px }
.stage-5-label { font-size:.58rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--teal); margin-bottom:.35rem; display:block }
.stage-5-title { font-size:1.05rem; font-weight:700; color:#fff; margin-bottom:.3rem }
.stage-5-desc { font-size:.82rem; color:rgba(255,255,255,.42); line-height:1.78 }
.stage-5-pill { font-size:.68rem; font-weight:600; color:rgba(124,224,249,.75); background:rgba(124,224,249,.07); border:1px solid rgba(124,224,249,.2); padding:.45rem 1.15rem; border-radius:30px; white-space:nowrap; flex-shrink:0 }

/* Bottom CTA strip */
.svc-cta-strip {
  margin-top:1.8rem; padding:2rem 2.6rem;
  background:rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.07);
  border-radius:14px; display:flex; align-items:center;
  justify-content:space-between; gap:2rem; flex-wrap:wrap
}
.svc-cta-copy { font-size:.92rem; color:rgba(255,255,255,.52); line-height:1.65 }
.svc-cta-copy strong { color:#fff; display:block; font-size:1rem; margin-bottom:.2rem }

@media(max-width:960px) {
  .svc-grid { grid-template-columns:1fr }
  .stage-5-bar { flex-direction:column; align-items:flex-start; gap:1.2rem }
  .stage-5-divider { width:40px; height:1px }
  .svc-cta-strip { flex-direction:column; text-align:center }
}
@media(max-width:600px) {
  .svc-stats { gap:1.8rem }
  .stage-5-bar { padding:1.8rem }
  .svc-cta-strip { padding:1.6rem }
}

/* -- COMPETENCIES REDESIGN ------------------------- */
#competencies { padding:8rem 0; background:var(--off); position:relative; overflow:hidden }
#competencies::before {
  content:''; position:absolute; top:-180px; right:-180px;
  width:560px; height:560px; border-radius:50%;
  background:radial-gradient(circle, rgba(27,81,196,.05) 0%, transparent 68%);
  pointer-events:none
}
.comp-header { margin-bottom:3.2rem }
.comp-header .s-sub { margin-top:.6rem }

/* 6-col grid Ã¢â€ â€™ 3 cards row 1, 2 wider cards row 2 */
.comp-grid {
  display:grid; grid-template-columns:repeat(6,1fr);
  gap:1.2rem; margin-bottom:1.4rem
}
.comp-card { grid-column:span 2 }
.comp-card:nth-child(4) { grid-column:1 / 4 }
.comp-card:nth-child(5) { grid-column:4 / 7 }

.comp-card {
  background:#fff; border:1px solid var(--border); border-radius:14px;
  padding:2.2rem 2rem 1.8rem;
  display:flex; flex-direction:column;
  position:relative; overflow:hidden; cursor:default;
  transition:box-shadow .32s, transform .32s, border-color .32s
}
.comp-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, var(--blue), var(--teal));
  opacity:0; transition:opacity .32s ease
}
.comp-card:hover {
  box-shadow:0 22px 58px rgba(12,29,53,.11);
  transform:translateY(-6px); border-color:rgba(27,81,196,.2)
}
.comp-card:hover::before { opacity:1 }

.comp-icon {
  width:48px; height:48px; border-radius:11px;
  background:rgba(27,81,196,.07); border:1px solid rgba(27,81,196,.12);
  display:flex; align-items:center; justify-content:center;
  color:var(--blue); margin-bottom:1.3rem;
  transition:background .3s, border-color .3s
}
.comp-card:hover .comp-icon { background:rgba(27,81,196,.12); border-color:rgba(27,81,196,.24) }

.comp-num {
  font-size:.58rem; font-weight:700; letter-spacing:.22em;
  text-transform:uppercase; color:var(--teal-d); display:block; margin-bottom:.4rem
}
.comp-title { font-size:1rem; font-weight:700; color:var(--text); line-height:1.3; margin-bottom:.65rem }
.comp-desc  { font-size:.83rem; color:var(--muted); line-height:1.82; flex:1; margin-bottom:1.3rem }
.comp-benefit {
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:.72rem; font-weight:700; color:var(--teal-d);
  background:rgba(8,152,181,.07); border:1px solid rgba(8,152,181,.18);
  padding:.28rem .75rem; border-radius:6px; align-self:flex-start
}
.comp-benefit::before { content:'\2713'; font-weight:900 }

/* Independence strip */
.comp-strip {
  background:var(--navy); border-radius:14px;
  padding:2.2rem 2.8rem; display:flex;
  align-items:center; justify-content:space-between;
  gap:2rem; flex-wrap:wrap
}
.comp-strip-copy { font-size:.92rem; color:rgba(255,255,255,.5); line-height:1.68 }
.comp-strip-copy strong { color:#fff; display:block; font-size:1rem; margin-bottom:.2rem }

@media(max-width:1100px) {
  .comp-grid { grid-template-columns:1fr 1fr }
  .comp-card,.comp-card:nth-child(4),.comp-card:nth-child(5) { grid-column:span 1 }
}
@media(max-width:580px) { .comp-grid { grid-template-columns:1fr } }

/* -- EXPERIENCE REDESIGN --------------------------- */
#experience { padding:8rem 0; background:#fff; position:relative }

/* Featured editorial card */
.exp-hero {
  position:relative; border-radius:16px; overflow:hidden;
  height:520px; margin-bottom:1.5rem; cursor:default
}
.exp-hero img.eh-bg {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; transition:transform .8s ease
}
.exp-hero:hover img.eh-bg { transform:scale(1.03) }
.eh-overlay {
  position:absolute; inset:0;
  background:linear-gradient(108deg, rgba(6,11,24,.95) 0%, rgba(6,11,24,.7) 42%, rgba(6,11,24,.12) 100%)
}
.eh-body {
  position:absolute; bottom:0; left:0; right:0; padding:2.8rem 3.2rem
}
.eh-pill {
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgba(124,224,249,.1); border:1px solid rgba(124,224,249,.28);
  border-radius:30px; padding:.3rem 1rem;
  font-size:.6rem; font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:var(--teal); margin-bottom:1.2rem
}
.eh-dot { width:5px; height:5px; border-radius:50%; background:var(--teal); animation:pulse 2s ease-in-out infinite }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(1.6)} }
.eh-title {
  font-family:var(--fd); font-size:clamp(1.5rem,3vw,2.6rem);
  color:#fff; line-height:1.14; margin-bottom:.65rem; max-width:680px
}
.eh-meta { font-size:.79rem; color:rgba(255,255,255,.42); margin-bottom:1.2rem }
.eh-tags { display:flex; flex-wrap:wrap; gap:.4rem }
.eh-tag {
  font-size:.62rem; font-weight:600; color:rgba(255,255,255,.7);
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14);
  padding:.22rem .65rem; border-radius:5px
}
.eh-val { position:absolute; top:2.8rem; right:3rem; text-align:right }
.eh-val-n {
  font-family:var(--fd); font-size:clamp(3rem,5.5vw,4.5rem);
  color:#fff; line-height:1; text-shadow:0 2px 28px rgba(0,0,0,.5)
}
.eh-val-l {
  font-size:.6rem; font-weight:700; letter-spacing:.15em;
  text-transform:uppercase; color:rgba(255,255,255,.28); margin-top:.25rem
}
.eh-val-divider { height:1px; background:rgba(255,255,255,.15); margin:1rem 0 .85rem }
.eh-val-year { font-size:clamp(1.8rem,3.2vw,2.8rem) !important }

/* 3-column project grid */
.exp-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem }
.exp-card {
  border-radius:12px; overflow:hidden; background:#fff;
  border:1px solid var(--border); display:flex; flex-direction:column;
  transition:box-shadow .32s, transform .32s; cursor:default
}
.exp-card:hover { box-shadow:0 20px 52px rgba(12,29,53,.1); transform:translateY(-5px) }
.exp-img { height:168px; overflow:hidden; position:relative; flex-shrink:0 }
.exp-img img { width:100%; height:100%; object-fit:cover; transition:transform .55s }
.exp-card:hover .exp-img img { transform:scale(1.08) }
.exp-img-ov {
  position:absolute; inset:0;
  background:linear-gradient(to bottom, transparent 25%, rgba(8,14,30,.52) 100%)
}
.exp-status { position:absolute; top:.75rem; left:.75rem }
.exp-status span {
  font-size:.58rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
  padding:.2rem .58rem; border-radius:4px
}
.exp-s-done   { background:rgba(255,255,255,.92); color:#374151 }
.exp-s-active { background:rgba(124,224,249,.92); color:#0C1D35 }
.exp-kpi { position:absolute; bottom:.75rem; right:.75rem; text-align:right }
.exp-kpi-n { font-family:var(--fd); font-size:1.3rem; color:#fff; line-height:1; text-shadow:0 1px 10px rgba(0,0,0,.5) }
.exp-kpi-l { font-size:.55rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.45) }
.exp-body { padding:1.4rem; flex:1; display:flex; flex-direction:column }
.exp-type { font-size:.65rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--teal-d); margin-bottom:.3rem }
.exp-name { font-size:.93rem; font-weight:700; color:var(--text); line-height:1.3; margin-bottom:.35rem }
.exp-desc { font-size:.78rem; color:var(--muted); line-height:1.68; flex:1; margin-bottom:.9rem }
.exp-tags-row { display:flex; flex-wrap:wrap; gap:.25rem; padding-top:.8rem; border-top:1px solid var(--border) }
.exp-tag { font-size:.6rem; font-weight:600; color:var(--muted); background:var(--off); border:1px solid var(--border);
  padding:.13rem .45rem; border-radius:2px
}

@media(max-width:900px) {
  .proj-grid { grid-template-columns:1fr 1fr }
  .proj-featured { height:380px }
}
@media(max-width:900px) { .exp-grid { grid-template-columns:1fr 1fr } }
@media(max-width:580px) {
  .exp-grid { grid-template-columns:1fr }
  .exp-hero { height:380px }
  .eh-body { padding:1.8rem 1.4rem }
  .eh-val  { position:static; text-align:left; margin-bottom:.6rem }
  .eh-val-n { font-size:2.2rem }
}

/* -- QUOTE STRIP ----------------------------------- */
#impact { padding:7rem 0; background:var(--navy-2) }
.impact-inner {
  max-width:860px; margin:0 auto; padding:0 2.5rem; text-align:center
}
.impact-q {
  font-family:var(--fd); font-style:italic;
  font-size:clamp(1.15rem,2.4vw,1.65rem);
  color:rgba(255,255,255,.72); line-height:1.68; margin-bottom:1.5rem
}
.impact-q em { font-style:normal; color:#fff }
.impact-a {
  font-size:.74rem; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:rgba(255,255,255,.28)
}

/* -- CONTACT --------------------------------------- */
#contact {
  padding:8rem 0; background:var(--navy); position:relative; overflow:hidden
}
#contact::before {
  content:''; position:absolute; top:-200px; right:-200px; width:620px; height:620px;
  border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, rgba(27,81,196,.16) 0%, transparent 65%)
}
#contact::after {
  content:''; position:absolute; bottom:-160px; left:-120px; width:440px; height:440px;
  border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, rgba(124,224,249,.07) 0%, transparent 65%)
}
.contact-grid {
  display:grid; grid-template-columns:1fr 1.18fr; gap:5.5rem; align-items:start;
  position:relative; z-index:1
}
/* Left */
.c-eyebrow {
  font-size:.63rem; font-weight:700; letter-spacing:.22em;
  text-transform:uppercase; color:var(--teal); display:block; margin-bottom:1rem
}
.c-title {
  font-family:var(--fd); font-size:clamp(2rem,3vw,3rem);
  line-height:1.1; color:#fff; margin-bottom:1.4rem
}
.contact-left > p {
  font-size:.9rem; color:rgba(255,255,255,.4); line-height:1.9; margin-bottom:2rem
}
/* Contact rows */
.cd-list { display:flex; flex-direction:column; gap:.3rem }
.cd-item {
  display:flex; align-items:center; gap:1rem; padding:.7rem .85rem;
  border-radius:10px; border:1px solid transparent;
  transition:background .22s, border-color .22s, transform .22s; cursor:default
}
.cd-item:hover {
  background:rgba(124,224,249,.05); border-color:rgba(124,224,249,.14);
  transform:translateX(5px)
}
.cd-icon {
  width:36px; height:36px; border-radius:8px; flex-shrink:0;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.09);
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.38); transition:background .22s, border-color .22s, color .22s
}
.cd-item:hover .cd-icon {
  background:rgba(124,224,249,.1); border-color:rgba(124,224,249,.28); color:var(--teal)
}
.cd-info { display:flex; flex-direction:column; gap:.1rem }
.cd-label {
  font-size:.57rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase;
  color:rgba(255,255,255,.28)
}
.cd-val { font-size:.88rem; color:rgba(255,255,255,.7) }
.cd-val a { color:rgba(255,255,255,.7); transition:color .2s }
.cd-val a:hover { color:var(--teal) }

/* Right Ã¢â‚¬â€ gradient-border card */
/* Right — redesigned card */
.contact-right {
  position:relative; border-radius:24px;
  background:linear-gradient(150deg,rgba(10,22,46,.94) 0%,rgba(6,14,32,.97) 100%);
  padding:3rem 3.2rem; isolation:isolate;
  box-shadow:0 32px 80px rgba(0,0,0,.45), 0 0 0 1px rgba(124,224,249,.1)
}
.contact-right::before {
  content:''; position:absolute; inset:0; border-radius:24px; padding:1px;
  background:linear-gradient(140deg,rgba(124,224,249,.38) 0%,rgba(27,81,196,.18) 50%,rgba(255,255,255,.04) 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none
}
.contact-right::after {
  content:''; position:absolute; top:-70px; right:-70px;
  width:280px; height:280px; border-radius:50%; z-index:-1;
  background:radial-gradient(circle,rgba(27,81,196,.18) 0%,transparent 65%); pointer-events:none
}

/* Card header */
.cf-head { margin-bottom:2rem; padding-bottom:1.8rem; border-bottom:1px solid rgba(255,255,255,.07) }
.cf-tag {
  display:inline-flex; align-items:center; gap:.6rem;
  font-size:.6rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  color:var(--teal); margin-bottom:.6rem
}
.cf-tag span { display:block; width:22px; height:1.5px; background:var(--teal); border-radius:2px; flex-shrink:0 }
.cf-tagline { font-size:.82rem; color:rgba(255,255,255,.32); line-height:1.6 }

/* Field groups */
.cf-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; margin-bottom:1.5rem }
.cf-group { display:flex; flex-direction:column; gap:.52rem; margin-bottom:1.5rem }
.cf-row-2 .cf-group { margin-bottom:0 }
.cf-label {
  font-size:.58rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(255,255,255,.38); display:flex; align-items:center; gap:.28rem
}
.cf-label em { color:var(--teal); font-style:normal; font-size:.7rem }

/* Input wrapper */
.cf-wrap { position:relative }
.cf-ico {
  position:absolute; left:1rem; top:50%; transform:translateY(-50%);
  color:rgba(255,255,255,.2); pointer-events:none; transition:color .22s; flex-shrink:0
}
.cf-group:focus-within .cf-ico { color:rgba(124,224,249,.65) }
.cf-wrap-ta .cf-ico { top:1.05rem; transform:none }
.cf-wrap input, .cf-wrap textarea {
  width:100%; background:rgba(255,255,255,.046);
  border:1.5px solid rgba(255,255,255,.09);
  border-radius:12px; padding:.95rem 1rem .95rem 2.85rem;
  font-family:var(--f); font-size:.88rem; color:#fff; outline:none;
  transition:border-color .22s, background .22s, box-shadow .22s; -webkit-appearance:none
}
.cf-wrap textarea {
  min-height:138px; resize:vertical; padding-top:1rem; padding-left:2.85rem; line-height:1.65
}
.cf-wrap input:focus, .cf-wrap textarea:focus {
  border-color:rgba(124,224,249,.65); background:rgba(124,224,249,.055);
  box-shadow:0 0 0 4px rgba(124,224,249,.08), inset 0 1px 0 rgba(124,224,249,.08)
}
.cf-wrap input::placeholder, .cf-wrap textarea::placeholder { color:rgba(255,255,255,.17) }

/* Submit */
.f-submit {
  width:100%; padding:1.12rem 1.5rem; margin-top:.5rem;
  background:linear-gradient(105deg,#7CE0F9 0%,#4FC3F7 60%,#29B6F6 100%);
  color:#030D1E; font-family:var(--f); font-weight:800; font-size:.9rem;
  letter-spacing:.04em; border:none; border-radius:12px; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:.55rem;
  transition:transform .22s, box-shadow .28s; position:relative; overflow:hidden
}
.f-submit::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.28) 50%,transparent 75%);
  transform:translateX(-120%); transition:transform .55s ease
}
.f-submit:hover::before { transform:translateX(120%) }
.f-submit:hover {
  transform:translateY(-2px);
  box-shadow:0 18px 48px rgba(124,224,249,.38), 0 4px 14px rgba(0,0,0,.3)
}
.f-submit svg { transition:transform .25s; flex-shrink:0 }
.f-submit:hover svg { transform:translateX(3px) }

/* Reassurance */
.cf-reassure {
  margin-top:1rem; text-align:center;
  font-size:.72rem; color:rgba(255,255,255,.22); line-height:1.5
}

/* Legacy — unused */
.f-cal-btn {
  width:100%; padding:.88rem 1.5rem;
  background:transparent; border:1px solid rgba(124,224,249,.28);
  border-radius:9px; color:var(--teal);
  font-family:var(--f); font-size:.88rem; font-weight:600;
  display:flex; align-items:center; justify-content:center; gap:.6rem;
  transition:background .22s, border-color .22s, transform .18s, box-shadow .22s;
  text-decoration:none; white-space:nowrap
}
.f-cal-btn:hover {
  background:rgba(124,224,249,.07); border-color:rgba(124,224,249,.55);
  transform:translateY(-2px); box-shadow:0 8px 24px rgba(124,224,249,.12)
}
.f-cal-meta { font-size:.7rem; color:rgba(255,255,255,.28); font-weight:400 }
@media(max-width:900px) {
  .contact-grid { grid-template-columns:1fr; gap:3rem }
  .contact-left { order:2 } .contact-right { order:1 }
}
@media(max-width:580px) {
  .cf-row-2 { grid-template-columns:1fr }
  .cf-row-2 .cf-group { margin-bottom:1.5rem }
  .contact-right { padding:2rem 1.6rem }
}

/* -- FOOTER ---------------------------------------- */
footer { background:#060D1A; color:rgba(255,255,255,.4); padding:5rem 2.5rem 0 }
.ft-inner { max-width:1240px; margin:0 auto }
.ft-top {
  display:grid; grid-template-columns:1.8fr 1fr 1fr;
  gap:3rem; margin-bottom:3.5rem
}
.ft-logo img { height:60px; width:auto; filter:brightness(0) invert(1); opacity:.7 }
.ft-brand p {
  font-size:.81rem; color:rgba(255,255,255,.26); line-height:1.82;
  margin-top:.9rem; max-width:255px
}
.ft-col h5 {
  font-size:.63rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:rgba(255,255,255,.72); margin-bottom:1.1rem
}
.ft-links { display:flex; flex-direction:column; gap:.5rem }
.ft-links a { font-size:.81rem; color:rgba(255,255,255,.26); transition:color .2s }
.ft-links a:hover { color:rgba(255,255,255,.85) }
.ft-copy-group {
  display:flex; align-items:center; gap:.65rem
}
.ft-flag-img {
  width:26px; height:auto; border-radius:2px;
  opacity:.55; display:block; flex-shrink:0
}

.ft-bottom {
  display:flex; align-items:center; justify-content:space-between;
  padding:1.5rem 0 2rem; border-top:1px solid rgba(255,255,255,.06);
  flex-wrap:wrap; gap:.75rem
}
.ft-copy  { font-size:.73rem; color:rgba(255,255,255,.18) }
.ft-legal { display:flex; gap:1.5rem }
.ft-legal a { font-size:.71rem; color:rgba(255,255,255,.18); transition:color .2s }
.ft-legal a:hover { color:rgba(255,255,255,.5) }

@media(max-width:768px) {
  .ft-top { grid-template-columns:1fr 1fr }
  .ft-brand { grid-column:span 2 }
}
@media(max-width:480px) {
  .ft-top { grid-template-columns:1fr }
  .ft-brand { grid-column:span 1 }
}

/* -- GLOBAL RESPONSIVE ----------------------------- */
@media(max-width:768px) {
  #hero { min-height:100svh }
  #about,#services,#competencies,#experience,
  #impact,#contact { padding:5.5rem 0 }
  .inner { padding:0 1.5rem }
  .svc-header { flex-direction:column; align-items:flex-start }
  .comp-header { margin-bottom:2.5rem }
}
@media(max-width:580px) {
  .hero-actions { flex-direction:column; align-items:flex-start }
  .btn-primary,.btn-outline { width:100%; max-width:280px; justify-content:center }
}

/* -- MOBILE STICKY CTA ----------------------------- */
#mob-cta-bar {
  display:none;
  position:fixed; bottom:0; left:0; right:0; z-index:850;
  background:rgba(6,13,26,.97);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  border-top:1px solid rgba(255,255,255,.1);
  padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom));
  gap:.75rem; align-items:center;
  transform:translateY(110%);
  transition:transform .35s cubic-bezier(.4,0,.2,1)
}
#mob-cta-bar.vis { transform:translateY(0) }
.mob-cta-call {
  display:flex; align-items:center; justify-content:center; gap:.4rem; flex-shrink:0;
  padding:.78rem 1.1rem;
  border:1.5px solid rgba(124,224,249,.4); border-radius:8px;
  color:var(--teal); font-size:.82rem; font-weight:600; white-space:nowrap;
  min-height:44px
}
.mob-cta-enquire {
  flex:1; display:flex; align-items:center; justify-content:center;
  padding:.78rem; background:var(--teal); border-radius:8px;
  color:var(--navy); font-size:.84rem; font-weight:700;
  text-align:center; white-space:nowrap; min-height:44px
}
@media(max-width:768px) {
  #mob-cta-bar { display:flex }
  footer { padding-bottom:calc(5rem + env(safe-area-inset-bottom)) }
  .cf-wrap input, .cf-wrap textarea { padding:.9rem 1rem .9rem 2.85rem; font-size:1rem; border-radius:10px }
  .f-submit { padding:1rem; border-radius:10px }
  .eh-val { position:static; text-align:left; margin-bottom:.5rem }
  .eh-body { padding:1.6rem 1.4rem }
}

/* Honeypot — hidden via CSS so CSP doesn't block it */
.eit-honeypot { display:none !important }
