/* ==========================================================================
   Digimanic — Website Development Services — stylesheet
   ========================================================================== */

:root{
  --navy:#0B1B3A;
  --navy-2:#102451;
  --blue:#2C8CF4;
  --blue-light:#6BB2FF;
  --mint:#12E0B0;
  --bg:#F5F8FC;
  --ink:#0F172A;
  --ink-soft:#4B5875;
  --line:#E2E8F4;
  --white:#FFFFFF;
  --radius:16px;
  --shadow-sm:0 1px 2px rgba(11,27,58,.05);
  --shadow-md:0 14px 34px -16px rgba(11,27,58,.22);
  --shadow-lg:0 30px 60px -20px rgba(11,27,58,.28);
  --font-display:'Poppins','Inter',sans-serif;
  --font-body:'Inter',sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; font-size:17px;}
@media (max-width:575.98px){ html{ font-size:15.5px; } }
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important; transition-duration:.001ms !important;}
}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--bg);
  line-height:1.7;
  font-size:1.05rem;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:600; letter-spacing:-.02em; color:var(--ink); line-height:1.16; }
h2{ font-size:clamp(1.9rem,3.4vw,2.6rem); }
h3{ font-size:1.3rem; }
h4{ font-size:1.08rem; }
p{ font-size:1.02rem; }
a{ text-decoration:none; color:inherit; }
img{ max-width:100%; }

.eyebrow{
  font-family:var(--font-display); font-size:.82rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--blue); font-weight:600; display:inline-flex; align-items:center; gap:8px;
}
.eyebrow::before{ content:''; width:16px; height:1px; background:var(--blue); }
.eyebrow.on-dark{ color:var(--mint); }
.eyebrow.on-dark::before{ background:var(--mint); }

[class^="section-"]{ padding:6.2rem 0; }
@media (max-width:767.98px){ [class^="section-"]{ padding:4rem 0; } }

.sec-head{ max-width:640px; }
.sec-head p.lead-p{ color:var(--ink-soft); font-size:1.12rem; }
.sec-head.center{ margin-left:auto; margin-right:auto; text-align:center; }

/* Buttons */
.btn{ border-radius:999px; font-weight:600; padding:.95rem 1.85rem; font-size:1.02rem; }
.btn-brand{ background:var(--blue); color:#fff; border:1px solid var(--blue); box-shadow:0 10px 26px -10px rgba(44,140,244,.6); }
.btn-brand:hover{ background:#1E7EE8; color:#fff; transform:translateY(-2px); box-shadow:0 14px 30px -10px rgba(44,140,244,.7); }
.btn-on-dark{ background:transparent; color:#fff; border:1px solid rgba(255,255,255,.28); }
.btn-on-dark:hover{ background:rgba(255,255,255,.08); color:#fff; transform:translateY(-2px); }
.btn-navy{ background:var(--navy); color:#fff; border:1px solid var(--navy); }
.btn-navy:hover{ background:#0d2957; color:#fff; transform:translateY(-2px); }

/* ===== NAVBAR ===== */
.navbar-digimanic{
  background:rgba(11,27,58,.85);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.08);
  padding-top:.9rem; padding-bottom:.9rem;
}
.navbar-brand-digimanic{ font-family:var(--font-display); font-weight:700; font-size:1.4rem; color:#fff; display:flex; align-items:center; gap:6px; }
.navbar-brand-digimanic span{ color:var(--mint); }
.navbar-digimanic .nav-link{ color:rgba(255,255,255,.8); font-size:1rem; font-weight:500; }
.navbar-digimanic .nav-link:hover{ color:#fff; }
.navbar-digimanic .btn-close{ filter:invert(1); }
.offcanvas-dark{ background:var(--navy); color:#fff; }
.offcanvas-dark a{ color:rgba(255,255,255,.85); }
.offcanvas-dark a:hover{ color:var(--mint); }

/* ===== SECTION 1 — HERO ===== */
.section-1{
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(44,140,244,.35), transparent 60%),
    radial-gradient(800px 500px at 0% 100%, rgba(18,224,176,.14), transparent 55%),
    linear-gradient(180deg,var(--navy) 0%, var(--navy-2) 100%);
  padding:9.5rem 0 5.5rem;
  position:relative;
  overflow:hidden;
}
.section-1::before{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.06) 1.4px, transparent 1.4px);
  background-size:28px 28px;
  -webkit-mask-image:radial-gradient(700px 480px at 78% 20%, #000 0%, transparent 72%);
  mask-image:radial-gradient(700px 480px at 78% 20%, #000 0%, transparent 72%);
}
.section-1 .container{ position:relative; z-index:1; }
.hero-title{ color:#fff; font-size:clamp(2.2rem,4.6vw,3.5rem); }
.hero-title em{
  font-style:normal; background:linear-gradient(90deg,var(--blue-light),var(--mint));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-sub{ color:rgba(255,255,255,.74); font-size:1.16rem; max-width:520px; }
.hero-trust div{ color:rgba(255,255,255,.65); font-size:.86rem; }
.hero-trust strong{ display:block; font-family:var(--font-display); font-size:1.5rem; color:#fff; font-weight:600; }

.pulse-card{
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14); border-radius:22px;
  padding:1.8rem 1.5rem 1.1rem; backdrop-filter:blur(6px); box-shadow:var(--shadow-lg);
}
.pulse-card-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:.4rem; }
.pulse-card-head .tag{
  font-family:var(--font-display); font-size:.72rem; letter-spacing:.08em; color:var(--mint); text-transform:uppercase;
  display:flex; align-items:center; gap:6px;
}
.pulse-card-head .tag::before{ content:''; width:7px; height:7px; border-radius:50%; background:var(--mint); box-shadow:0 0 0 4px rgba(18,224,176,.18); animation:blink 1.6s infinite; }
@keyframes blink{ 0%,100%{ opacity:1; } 50%{ opacity:.35; } }
.pulse-card-head .val{ font-family:var(--font-display); color:#fff; font-size:.85rem; }
svg#pulseline{ width:100%; height:auto; display:block; }
.pulse-path{
  fill:none; stroke:url(#pulseGrad); stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:1400; stroke-dashoffset:1400;
  animation:draw 3.4s ease-out forwards, glow 2.6s ease-in-out 3.4s infinite;
}
@keyframes draw{ to{ stroke-dashoffset:0; } }
@keyframes glow{ 0%,100%{ filter:drop-shadow(0 0 0px rgba(44,140,244,0)); } 50%{ filter:drop-shadow(0 0 6px rgba(44,140,244,.55)); } }
.pulse-caption{ display:flex; justify-content:space-between; margin-top:.6rem; padding-top:.9rem; border-top:1px solid rgba(255,255,255,.08); flex-wrap:wrap; gap:.6rem; }
.pulse-caption div{ font-size:.78rem; color:rgba(255,255,255,.55); font-family:var(--font-body); }
.pulse-caption strong{ color:#fff; display:block; font-size:1.05rem; font-family:var(--font-display); }

/* ===== SECTION 2 — TRUST STRIP ===== */
.section-2{ background:var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:2.6rem 0; }
.strip-item{ text-align:center; border-right:1px solid var(--line); padding:0 .8rem; }
.strip-item:last-child{ border-right:none; }
.strip-item strong{ display:block; font-family:var(--font-display); font-size:1.9rem; color:var(--navy); font-weight:600; }
.strip-item span{ font-size:.85rem; color:var(--ink-soft); }
@media (max-width:767.98px){ .strip-item{ border-right:none; border-bottom:1px solid var(--line); padding-bottom:1rem; } }

/* ===== SECTION 3 — SHOWCASE / LAPTOP ===== */
.section-3{ background:var(--bg); position:relative; overflow:hidden; padding-bottom:8rem; }
.section-3::before{
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(var(--line) 1.4px, transparent 1.4px);
  background-size:26px 26px;
  -webkit-mask-image:radial-gradient(650px 380px at 50% 25%, black, transparent 75%);
  mask-image:radial-gradient(650px 380px at 50% 25%, black, transparent 75%);
}
.laptop-stage{ position:relative; max-width:900px; margin:0 auto; z-index:1; }
.laptop-frame{
  background:linear-gradient(180deg,#1c2740,#0b1424); border-radius:18px 18px 5px 5px; padding:14px 14px 0;
  box-shadow:0 50px 90px -32px rgba(11,27,58,.5);
}
.laptop-screen{ background:#fff; border-radius:7px; overflow:hidden; aspect-ratio:16/10; }
.laptop-base{ height:16px; background:linear-gradient(180deg,#26355a,#0a1220); border-radius:0 0 10px 10px; position:relative; }
.laptop-base::before{ content:''; position:absolute; left:50%; top:0; transform:translateX(-50%); width:15%; height:6px; background:#0a1220; border-radius:0 0 8px 8px; }
.mock-browser-bar{ display:flex; align-items:center; gap:6px; padding:9px 14px; border-bottom:1px solid var(--line); }
.mock-dot{ width:8px; height:8px; border-radius:50%; background:#DCE3F0; }
.mock-dot:nth-child(1){ background:#FF6159; }
.mock-dot:nth-child(2){ background:#FFC02E; }
.mock-dot:nth-child(3){ background:#28C93F; }
.mock-url{ margin-left:10px; background:var(--bg); border-radius:999px; padding:5px 16px; font-family:var(--font-body); font-size:10px; color:var(--ink-soft); }
.mock-nav{ display:flex; align-items:center; justify-content:space-between; padding:14px 20px; border-bottom:1px solid var(--line); }
.mock-nav .m-logo{ font-family:var(--font-display); font-weight:700; font-size:13px; color:var(--navy); }
.mock-nav .m-logo span{ color:var(--blue); }
.mock-nav .m-links{ display:flex; gap:12px; }
.mock-nav .m-links i{ display:block; width:30px; height:6px; border-radius:4px; background:var(--line); }
.mock-nav .m-cta{ width:56px; height:20px; border-radius:999px; background:var(--blue); }
.mock-hero{ display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:26px 20px; align-items:center; }
.mock-hero .m-bar{ height:11px; border-radius:4px; background:var(--line); margin-bottom:10px; }
.mock-hero .m-bar.short{ width:55%; }
.mock-hero .m-bar.med{ width:88%; }
.mock-hero .m-cta-btn{ width:94px; height:24px; border-radius:999px; background:var(--blue); margin-top:14px; }
.mock-hero .m-art{ aspect-ratio:4/3; border-radius:12px; position:relative; overflow:hidden; background:linear-gradient(135deg,var(--navy), var(--blue) 60%, var(--mint)); }
.mock-hero .m-art::before{ content:'+'; position:absolute; top:12px; right:12px; width:20px; height:20px; border-radius:50%; background:rgba(255,255,255,.28); color:#fff; display:flex; align-items:center; justify-content:center; font-size:13px; }
.mock-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding:0 20px 22px; }
.mock-cards .m-card{ background:var(--bg); border-radius:8px; padding:12px; }
.mock-cards .m-card .m-ico{ width:18px; height:18px; border-radius:5px; background:rgba(44,140,244,.18); margin-bottom:8px; }
.mock-cards .m-card .m-bar{ height:6px; background:var(--line); border-radius:3px; margin-bottom:6px; }
.mock-cards .m-card .m-bar.w60{ width:60%; }
.showcase-badge{
  position:absolute; background:#fff; border:1px solid var(--line); border-radius:12px; padding:9px 14px;
  box-shadow:var(--shadow-md); display:flex; align-items:center; gap:9px; z-index:2; font-size:.82rem; font-weight:600;
  color:var(--navy); font-family:var(--font-display);
}
.showcase-badge .dot{ width:7px; height:7px; border-radius:50%; background:var(--mint); flex:none; }
.badge-1{ top:6%; left:-3%; animation:floaty 5s ease-in-out infinite; }
.badge-2{ bottom:4%; right:-3%; animation:floaty 5s ease-in-out infinite 1.1s; }
@keyframes floaty{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-9px); } }
@media (max-width:767.98px){ .badge-1,.badge-2{ position:static; margin:0 0 .8rem; display:inline-flex; } }

/* ===== SECTION 4 — HEALTHCARE BAND ===== */
.section-4{
  background:linear-gradient(120deg,var(--navy) 0%, #0d2f5e 100%); color:#fff; position:relative; overflow:hidden;
}
.section-4::after{ content:''; position:absolute; right:-120px; top:-120px; width:420px; height:420px; background:radial-gradient(circle,rgba(18,224,176,.22),transparent 70%); }
.section-4 h2{ color:#fff; }
.section-4 p.desc{ color:rgba(255,255,255,.72); margin-top:1rem; font-size:1.05rem; max-width:460px; }
.health-photo{ position:relative; margin-top:1.8rem; border-radius:16px; overflow:hidden; border:1px solid rgba(255,255,255,.15); box-shadow:var(--shadow-lg); }
.health-photo img{ width:100%; height:280px; object-fit:cover; display:block; transition:transform .5s ease; }
.health-photo:hover img{ transform:scale(1.06); }
.health-photo::before{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(200deg, rgba(11,27,58,.05) 0%, rgba(11,27,58,.55) 100%), linear-gradient(0deg, rgba(11,27,58,.55), transparent 55%);
  mix-blend-mode:multiply;
}
.health-photo::after{ content:''; position:absolute; inset:0; z-index:1; pointer-events:none; box-shadow:inset 0 0 0 1px rgba(18,224,176,.12); }
.health-photo-tag{
  position:absolute; left:12px; bottom:12px; z-index:2; background:rgba(8,20,40,.75); backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.15); border-radius:999px; padding:7px 14px; font-size:.78rem; color:#fff;
  display:flex; align-items:center; gap:7px;
}
.health-photo-tag .dot{ width:6px; height:6px; border-radius:50%; background:var(--mint); flex:none; }
.health-feat{
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:1.4rem;
  height:100%; transition:background .2s ease, transform .2s ease, border-color .2s ease;
}
.health-feat:hover{ background:rgba(255,255,255,.09); transform:translateY(-3px); border-color:rgba(255,255,255,.22); }
.health-feat .n{ font-family:var(--font-display); color:var(--mint); font-size:.78rem; letter-spacing:.06em; display:flex; align-items:center; gap:8px; }
.health-feat .n svg{ width:17px; height:17px; flex:none; }
.health-feat h4{ color:#fff; font-size:1.05rem; margin:.6rem 0 .4rem; }
.health-feat p{ color:rgba(255,255,255,.62); font-size:.92rem; }

/* ===== SECTION 5 — SERVICES ===== */
.service-card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:1.9rem 1.6rem;
  height:100%; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.service-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:transparent; }
.service-icon{
  width:48px; height:48px; border-radius:12px; background:rgba(44,140,244,.1); display:flex; align-items:center;
  justify-content:center; margin-bottom:1.1rem; color:var(--blue);
}
.service-icon svg{ width:24px; height:24px; }
.service-card h3{ font-size:1.14rem; margin-bottom:.55rem; }
.service-card p{ color:var(--ink-soft); font-size:.96rem; }
.services-figure{ border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-md); height:100%; min-height:260px; position:relative; }
.services-figure img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.services-figure:hover img{ transform:scale(1.06); }
.services-figure::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(200deg, transparent 40%, rgba(11,27,58,.55) 100%);
}

/* ===== SECTION 6 — PROCESS / JOURNEY ===== */
.section-6{ background:var(--white); position:relative; overflow:hidden; }
.section-6::before{ content:''; position:absolute; top:-80px; right:-80px; width:320px; height:320px; border-radius:50%; background:radial-gradient(circle,rgba(44,140,244,.08),transparent 70%); }
.journey-track{ position:relative; padding-top:.5rem; }
.journey-line{ position:absolute; top:26px; left:0; right:0; height:4px; z-index:0; }
.journey-line svg{ width:100%; height:4px; display:block; overflow:visible; }
.journey-path-base{ stroke:var(--line); stroke-width:3; stroke-dasharray:1 12; stroke-linecap:round; }
.journey-path-progress{
  stroke:url(#journeyGrad); stroke-width:3; stroke-linecap:round; stroke-dasharray:1000; stroke-dashoffset:1000;
  transition:stroke-dashoffset 1.7s cubic-bezier(.22,.9,.3,1);
}
.journey-wrap.in-view .journey-path-progress{ stroke-dashoffset:0; }
.journey-runner{
  position:absolute; top:26px; left:0; margin-top:-13px; width:26px; height:26px; background:var(--navy);
  border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px;
  box-shadow:0 0 0 6px rgba(18,224,176,.16); opacity:0; z-index:2;
}
.journey-wrap.in-view .journey-runner{ opacity:1; animation:runner-move 1.7s cubic-bezier(.22,.9,.3,1) forwards; }
@keyframes runner-move{ from{ left:0; } to{ left:calc(100% - 26px); } }
.journey-stop{ text-align:center; opacity:0; transform:translateY(14px); transition:opacity .55s ease,transform .55s ease; height:100%; }
.journey-wrap.in-view .journey-stop{ opacity:1; transform:translateY(0); }
.journey-stop:nth-child(1){ transition-delay:.05s; }
.journey-stop:nth-child(2){ transition-delay:.28s; }
.journey-stop:nth-child(3){ transition-delay:.5s; }
.journey-stop:nth-child(4){ transition-delay:.72s; }
.journey-stop:nth-child(5){ transition-delay:.95s; }
.journey-node{
  width:54px; height:54px; border-radius:50%; background:#fff; border:2px solid var(--blue); color:var(--blue);
  display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:600;
  font-size:.95rem; margin:0 auto 1.1rem; box-shadow:0 0 0 6px rgba(44,140,244,.08);
}
.journey-stop:nth-child(even) .journey-node{ background:var(--navy); border-color:var(--navy); color:#fff; box-shadow:0 0 0 6px rgba(11,27,58,.06); }
.journey-card{ background:var(--bg); border:1px solid var(--line); border-radius:12px; padding:1.1rem; height:100%; }
.journey-tag{ font-family:var(--font-display); font-size:.68rem; color:var(--blue); text-transform:uppercase; letter-spacing:.06em; display:block; margin-bottom:.35rem; }
.journey-card h4{ font-size:1rem; margin-bottom:.4rem; }
.journey-card p{ font-size:.88rem; color:var(--ink-soft); }
@media (max-width:991.98px){ .journey-line, .journey-runner{ display:none; } }

/* ===== SECTION 7 — TECH MARQUEE ===== */
.section-7{ background:var(--bg); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:2.8rem 0; overflow:hidden; }
.tech-label{ text-align:center; margin-bottom:1.6rem; }
.marquee{ display:flex; width:max-content; animation:scrollTech 26s linear infinite; gap:4rem; align-items:center; }
.marquee span{ font-family:var(--font-display); font-size:1.25rem; font-weight:600; color:var(--ink-soft); opacity:.75; white-space:nowrap; }
@keyframes scrollTech{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ===== SECTION 8 — WHY US ===== */
.why-photo{ position:relative; border-radius:16px; overflow:hidden; margin-bottom:2.4rem; box-shadow:var(--shadow-md); }
.why-photo img{ width:100%; height:340px; object-fit:cover; display:block; transition:transform .6s ease; }
.why-photo:hover img{ transform:scale(1.05); }
.why-photo::after{ content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(11,27,58,.82),rgba(11,27,58,.05) 60%); }
.why-photo-overlay{ position:absolute; left:0; right:0; bottom:0; display:flex; gap:2.2rem; padding:1.4rem 1.7rem; z-index:1; flex-wrap:wrap; }
.why-photo-overlay div{ color:#fff; }
.why-photo-overlay strong{ display:block; font-size:1.7rem; font-weight:700; font-family:var(--font-display); }
.why-photo-overlay span{ font-size:.8rem; color:rgba(255,255,255,.75); }
.why-card{ padding:.5rem 0; height:100%; }
.why-num{ font-family:var(--font-display); color:var(--blue); font-size:.85rem; margin-bottom:.6rem; font-weight:600; }
.why-card h3{ font-size:1.14rem; margin-bottom:.5rem; }
.why-card p{ color:var(--ink-soft); font-size:.96rem; }

/* ===== SECTION 9 — CLIENTS ===== */
.section-9{ background:var(--white); }
.clients-panel{ border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.client-logo{
  background:var(--white); height:6.2rem; display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:600; color:var(--ink-soft); font-size:.95rem;
  border-right:1px solid var(--line); border-bottom:1px solid var(--line); text-align:center; padding:0 .6rem;
}

/* ===== SECTION 10 — TESTIMONIALS ===== */
.section-10{ background:linear-gradient(180deg,var(--bg),var(--white)); }
.testi-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:1.9rem; height:100%; }
.testi-quote{ font-size:1rem; color:var(--ink); margin-bottom:1.3rem; }
.testi-person{ display:flex; align-items:center; gap:12px; }
.testi-avatar{
  width:42px; height:42px; border-radius:50%; background:var(--navy); color:#fff; display:flex; align-items:center;
  justify-content:center; font-family:var(--font-display); font-weight:600; font-size:.9rem; flex:none;
}
.testi-person strong{ display:block; font-size:.95rem; }
.testi-person span{ font-size:.82rem; color:var(--ink-soft); }
.stars{ color:var(--mint); font-size:.85rem; margin-bottom:.7rem; letter-spacing:2px; }

/* ===== SECTION 11 — FAQ ===== */
.faq-wrap{ max-width:820px; margin:0 auto; }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-q{
  width:100%; background:none; border:none; text-align:left; display:flex; justify-content:space-between; align-items:center;
  padding:1.4rem .25rem; cursor:pointer; font-family:var(--font-display); font-weight:600; font-size:1.1rem; color:var(--ink);
}
.faq-q .plus{ font-size:1.35rem; color:var(--blue); transition:transform .25s; font-weight:400; }
.faq-item.open .plus{ transform:rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.faq-a p{ padding:0 .25rem 1.4rem; color:var(--ink-soft); font-size:1rem; max-width:680px; }

/* ===== SECTION 12 — FINAL CTA / FORM ===== */
.section-12{ background:linear-gradient(135deg,var(--navy) 0%, #0d3363 100%); color:#fff; position:relative; overflow:hidden; }
.section-12::before{ content:''; position:absolute; left:-100px; bottom:-140px; width:420px; height:420px; background:radial-gradient(circle,rgba(44,140,244,.28),transparent 70%); z-index:1; }
.cta-bg{ position:absolute; inset:0; z-index:0; }
.cta-bg img{ width:100%; height:100%; object-fit:cover; opacity:.16; mix-blend-mode:luminosity; }
.cta-bg::after{ content:''; position:absolute; inset:0; background:linear-gradient(135deg,var(--navy) 0%, #0d3363 85%); opacity:.86; }
.section-12 h2{ color:#fff; }
.section-12 p.desc{ color:rgba(255,255,255,.72); margin:1rem 0 1.6rem; max-width:440px; }
.cta-points div{ display:flex; gap:.6rem; align-items:flex-start; font-size:.98rem; color:rgba(255,255,255,.85); margin-bottom:.75rem; }
.cta-points div::before{ content:'✓'; color:var(--mint); font-weight:700; }

.form-card{ background:#fff; border-radius:20px; padding:2rem; color:var(--ink); box-shadow:0 30px 60px -20px rgba(0,0,0,.4); }
.form-card h3{ font-size:1.25rem; margin-bottom:.2rem; }
.form-card p{ color:var(--ink-soft); font-size:.9rem; margin-bottom:1.3rem; }
.form-card .form-control, .form-card .form-select{
  border-radius:10px; border:1px solid var(--line); padding:.78rem .9rem; background:var(--bg); color:var(--ink); font-size:.95rem;
}
.form-card .form-control:focus, .form-card .form-select:focus{ outline:2px solid var(--blue); outline-offset:1px; box-shadow:none; border-color:var(--blue); }
.form-card textarea.form-control{ resize:vertical; min-height:80px; }
.form-card .btn{ width:100%; margin-top:.4rem; }
.form-note{ font-size:.78rem; color:var(--ink-soft); margin-top:.9rem; text-align:center; }

/* ===== FOOTER ===== */
footer.site-footer{ background:#081428; color:rgba(255,255,255,.65); padding:4rem 0 1.8rem; }
.footer-logo{ font-family:var(--font-display); font-size:1.4rem; font-weight:700; color:#fff; margin-bottom:.9rem; }
.footer-logo span{ color:var(--mint); }
.site-footer h4{ color:#fff; font-size:.92rem; margin-bottom:1rem; font-family:var(--font-display); }
.site-footer ul{ list-style:none; margin:0; padding:0; }
.site-footer li{ margin-bottom:.65rem; font-size:.9rem; }
.site-footer a:hover{ color:#fff; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.1); padding-top:1.4rem; font-size:.82rem; }
.social a{ width:36px; height:36px; border:1px solid rgba(255,255,255,.15); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.78rem; }
.social a:hover{ border-color:var(--blue); color:var(--blue); }
.logo-img {
  height: 40px;      /* apni navbar height ke hisaab se adjust karo, e.g. 32px–48px */
  width: auto;
  object-fit: contain;
}

@media (max-width: 991.98px) {
  .logo-img {
    height: 32px;     /* mobile par thoda chhota */
  }
}
/* Sticky mobile CTA */
.sticky-cta{ position:fixed; left:0; right:0; bottom:0; z-index:1050; background:#fff; border-top:1px solid var(--line); padding:.7rem .9rem; display:none; gap:.6rem; box-shadow:0 -8px 24px -12px rgba(11,27,58,.15); }
@media (max-width:767.98px){ .sticky-cta{ display:flex; } body{ padding-bottom:4.6rem; } }

:focus-visible{ outline:2px solid var(--blue); outline-offset:2px; }