/* ============================================================
   Aqua Dein — global stylesheet
   (consolidated from the design's per-page <style> blocks)
   ============================================================ */

:root{
  --brand:#1c2c8a; --blue:#2196F3; --cyan:#00A8D8; --navy:#16193f;
  --ink:#16193f; --body:#475569; --muted:#94a3b8; --light:#F8FBFF; --border:#eaf3fc;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; background:#fff; font-family:'Inter',sans-serif; color:#111827; overflow-x:hidden; }
main{ display:block; }
img{ max-width:100%; }
a{ color:inherit; }

/* ---- Headings (sizes are set inline per the design; these are reveal hooks) ---- */
.ad-h1{ font-family:'Poppins',sans-serif; }
.ad-h2{ font-family:'Poppins',sans-serif; }

/* ---- Focus ring ---- */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, [tabindex]:focus-visible{
  outline:3px solid #2196F3; outline-offset:2px; border-radius:8px;
}

/* ---- Animated gradient surfaces (every element with a linear-gradient) ---- */
@media (prefers-reduced-motion: no-preference){
  [style*="linear-gradient"]{ background-size:200% 200%; animation:ad-grad 12s ease infinite; }
}

/* ---- Pill button hover-lift ---- */
a[style*="border-radius:999px"], button[style*="border-radius:999px"]{
  transition:transform .25s cubic-bezier(.16,.84,.44,1), box-shadow .25s;
}
@media (prefers-reduced-motion: no-preference){
  a[style*="border-radius:999px"]:hover, button[style*="border-radius:999px"]:hover{
    transform:translateY(-3px); box-shadow:0 18px 38px rgba(28,44,138,.34);
  }
}

/* ============================ NAV ============================ */
.ad-nav{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.9); backdrop-filter:blur(14px); border-bottom:1px solid #eaf3fc; transition:box-shadow .3s; }
.ad-nav.scrolled{ box-shadow:0 10px 34px rgba(13,71,161,.12); }
.ad-nav-inner{ max-width:1240px; margin:0 auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; height:84px; }
.ad-logo{ display:flex; align-items:center; gap:13px; text-decoration:none; }
.ad-logo img{ height:64px; width:auto; display:block; }
.ad-logo-text{ display:flex; flex-direction:column; line-height:1; }
.ad-logo-name{ font-family:'Poppins',sans-serif; font-weight:800; font-size:24px; letter-spacing:-.01em; }
.ad-logo-tag{ font-family:'Inter',sans-serif; font-weight:600; font-size:9.5px; letter-spacing:.22em; text-transform:uppercase; color:#00A8D8; margin-top:4px; }
.ad-navlinks{ display:flex; align-items:center; gap:22px; font-size:14.5px; font-weight:500; color:#475569; font-family:'Inter',sans-serif; white-space:nowrap; }
.ad-navlinks a{ color:inherit; text-decoration:none; transition:color .2s; }
.ad-navlinks a:hover{ color:#1c2c8a; }
.ad-navlinks a.is-active{ color:#1c2c8a; font-weight:600; }
.ad-getquote-desktop{ background:linear-gradient(135deg,#2196F3,#1c2c8a); color:#fff; padding:11px 24px; border-radius:999px; font-family:'Poppins',sans-serif; font-weight:600; font-size:14.5px; text-decoration:none; box-shadow:0 10px 24px rgba(13,71,161,.28); }
#ad-navtoggle{ position:absolute; opacity:0; pointer-events:none; }
.ad-burger{ display:none; }
.ad-mobmenu{ display:none; position:absolute; top:100%; left:0; right:0; background:#fff; border-bottom:1px solid #eaf3fc; box-shadow:0 18px 40px rgba(13,71,161,.12); flex-direction:column; padding:12px 24px 20px; gap:2px; }
.ad-mobmenu a{ font-family:'Inter',sans-serif; font-weight:600; font-size:16px; color:#16193f; text-decoration:none; padding:14px 6px; border-bottom:1px solid #f1f5fb; }
.ad-mobmenu a:last-child{ border-bottom:none; }
.ad-mobmenu .ad-mob-cta{ margin-top:12px; text-align:center; background:linear-gradient(135deg,#2196F3,#1c2c8a); color:#fff; border-radius:999px; border-bottom:none; }
#ad-navtoggle:checked ~ .ad-mobmenu{ display:flex; }

/* ============================ FOOTER ============================ */
.ad-footer{ background:#0c0e2c; padding:60px 24px 30px; font-family:'Inter',sans-serif; }
.ad-foot-grid{ max-width:1180px; margin:0 auto; display:grid; grid-template-columns:1.6fr 1fr 1fr 1.1fr 1fr; gap:32px; }
.ad-foot-nap{ display:flex; flex-direction:column; gap:6px; font-size:13.5px; color:#8aa0bf; margin:16px 0 0; }
.ad-foot-nap a{ color:#8aa0bf; text-decoration:none; }
.ad-foot-nap a:hover{ color:#fff; }
.ad-foot-logo{ display:inline-flex; align-items:center; gap:12px; margin-bottom:18px; }
.ad-foot-logo-badge{ display:inline-flex; background:#fff; border-radius:14px; padding:7px 9px; box-shadow:0 8px 20px rgba(0,0,0,.2); }
.ad-foot-logo-badge img{ height:46px; display:block; }
.ad-foot-brand{ font-family:'Poppins',sans-serif; font-weight:800; font-size:21px; color:#fff; }
.ad-foot-about{ font-size:14px; color:#8aa0bf; line-height:1.7; max-width:320px; margin:14px 0 0; }
.ad-foot-guide{ display:flex; align-items:center; gap:12px; margin-top:22px; }
.ad-foot-wave{ display:inline-block; animation:ad-ftbob 3s ease-in-out infinite; }
.ad-foot-guide-t{ font-family:'Poppins',sans-serif; font-weight:700; font-size:14px; color:#fff; }
.ad-foot-guide-s{ font-size:12.5px; color:#8aa0bf; }
.ad-foot-social{ display:flex; gap:10px; margin-top:18px; }
.ad-foot-social a{ width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.08); color:#8aa0bf; display:flex; align-items:center; justify-content:center; text-decoration:none; transition:background .2s,color .2s; }
.ad-foot-social a:hover{ background:rgba(255,255,255,.16); color:#fff; }
.ad-foot-h{ font-family:'Poppins',sans-serif; font-weight:600; font-size:14px; color:#fff; margin-bottom:16px; }
.ad-foot-links{ display:flex; flex-direction:column; gap:10px; font-size:13.5px; color:#8aa0bf; }
.ad-foot-links a{ color:inherit; text-decoration:none; transition:color .2s; }
.ad-foot-links a:hover{ color:#fff; }
.ad-foot-bottom{ max-width:1180px; margin:40px auto 0; padding-top:24px; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:12.5px; color:#64789a; }
.ad-foot-legal{ display:flex; gap:18px; }
.ad-foot-legal a{ color:inherit; text-decoration:none; }
.ad-foot-legal a:hover{ color:#fff; }

/* ============================ LOADER ============================ */
#ad-loader{ position:fixed; inset:0; z-index:99999; background:#ffffff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; transition:opacity .5s ease; }
#ad-loader.ad-hide{ opacity:0; visibility:hidden; }
.ad-ldguide{ animation:ad-guidebob 2.8s ease-in-out infinite; filter:drop-shadow(0 16px 32px rgba(13,71,161,.32)); margin-bottom:6px; }
.ad-ldmsg{ font-family:'Poppins',sans-serif; font-weight:600; font-size:18px; color:#16193f; }
.ad-ldmsg b{ color:#1c2c8a; }
.ad-ldsub{ font-family:'Inter',sans-serif; font-size:13px; color:#64748b; }

/* ============================ CHAT / GUIDE ============================ */
.ad-callnow{ position:fixed; left:24px; bottom:24px; z-index:60; display:flex; align-items:center; gap:10px; background:#1c2c8a; color:#fff; padding:14px 20px; border-radius:999px; text-decoration:none; font-weight:600; font-size:14px; box-shadow:0 12px 30px rgba(13,71,161,.4); }
#ad-totop{ position:fixed; right:24px; bottom:100px; z-index:60; width:48px; height:48px; border-radius:50%; border:1px solid #e2e8f0; cursor:pointer; background:rgba(255,255,255,.92); backdrop-filter:blur(8px); display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px rgba(13,71,161,.2); opacity:0; transform:translateY(16px); pointer-events:none; transition:opacity .3s ease, transform .3s cubic-bezier(.16,.84,.44,1); }
#ad-totop.show{ opacity:1; transform:translateY(0); pointer-events:auto; }
.ad-guide-wrap{ position:fixed; right:24px; bottom:22px; z-index:61; display:flex; flex-direction:column; align-items:flex-end; gap:10px; }
.ad-guide-btn{ position:relative; width:66px; height:66px; border:none; cursor:pointer; background:none; padding:0; transition:transform .25s; filter:drop-shadow(0 12px 26px rgba(13,71,161,.4)); }
.ad-guide-btn:hover{ transform:scale(1.06); }
.ad-guide-ring{ position:absolute; inset:6px; border-radius:50%; background:rgba(33,150,243,.45); animation:ad-guidering 2.4s ease-out infinite; z-index:0; }
.ad-guide-bob{ position:relative; z-index:1; display:block; animation:ad-guidebob 3.2s ease-in-out infinite; }
.ad-intro{ position:relative; width:250px; background:#fff; border:1px solid #eaf3fc; border-radius:18px; padding:14px 16px; box-shadow:0 18px 44px rgba(13,71,161,.2); text-align:left; transform-origin:bottom right; display:none; }
.ad-intro.show{ display:block; animation:ad-intropop .4s cubic-bezier(.16,.84,.44,1); }
.ad-intro-x{ position:absolute; top:8px; right:10px; background:none; border:none; color:#9fb6d4; font-size:15px; cursor:pointer; line-height:1; }
.ad-intro-t{ font-family:'Poppins',sans-serif; font-weight:700; font-size:13.5px; color:#16193f; margin-bottom:3px; }
.ad-intro-d{ font-size:12.5px; color:#64748b; line-height:1.5; margin-bottom:10px; }
.ad-intro-cta{ background:linear-gradient(135deg,#2196F3,#1c2c8a); color:#fff; border:none; font-family:'Poppins',sans-serif; font-weight:600; font-size:12px; padding:8px 16px; border-radius:999px; cursor:pointer; }
.ad-intro-arrow{ position:absolute; bottom:-7px; right:26px; width:14px; height:14px; background:#fff; transform:rotate(45deg); box-shadow:3px 3px 8px rgba(13,71,161,.08); }
.ad-chat{ position:fixed; right:24px; bottom:92px; z-index:70; width:370px; max-width:calc(100vw - 32px); height:540px; max-height:calc(100vh - 120px); background:#fff; border-radius:22px; box-shadow:0 30px 80px rgba(13,71,161,.35); display:flex; flex-direction:column; overflow:hidden; transform-origin:bottom right; transition:transform .28s ease, opacity .28s ease; transform:scale(.85) translateY(20px); opacity:0; pointer-events:none; }
.ad-chat.open{ transform:scale(1); opacity:1; pointer-events:auto; }
.ad-chat-head{ background:linear-gradient(135deg,#2196F3,#1c2c8a); padding:16px 18px; display:flex; align-items:center; gap:12px; }
.ad-chat-ava{ width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.16); display:flex; align-items:center; justify-content:center; }
.ad-chat-id{ flex:1; }
.ad-chat-name{ font-family:'Poppins',sans-serif; font-weight:700; color:#fff; font-size:15px; }
.ad-chat-status{ font-size:11.5px; color:rgba(255,255,255,.8); display:flex; align-items:center; gap:6px; }
.ad-dot-on{ width:7px; height:7px; border-radius:50%; background:#5dff9d; display:inline-block; }
.ad-chat-close{ background:none; border:none; color:#fff; font-size:22px; cursor:pointer; line-height:1; }
.ad-chat-body{ flex:1; overflow-y:auto; padding:18px; background:#fff; }
.ad-row{ display:flex; margin-bottom:10px; }
.ad-row.user{ justify-content:flex-end; }
.ad-row.bot{ justify-content:flex-start; }
.ad-bubble{ max-width:82%; padding:10px 14px; border-radius:14px; font-size:13.5px; line-height:1.5; }
.ad-row.user .ad-bubble{ background:linear-gradient(135deg,#2196F3,#1c2c8a); color:#fff; border-bottom-right-radius:4px; }
.ad-row.bot .ad-bubble{ background:#F1F6FC; color:#1f2937; border-bottom-left-radius:4px; }
.ad-bubble a{ color:inherit; font-weight:700; }
.ad-typing{ display:flex; gap:5px; padding:10px 14px; background:#F1F6FC; border-radius:14px; width:fit-content; }
.ad-typing span{ width:7px; height:7px; border-radius:50%; background:#2196F3; animation:ad-dot 1.2s infinite; }
.ad-typing span:nth-child(2){ animation-delay:.2s; } .ad-typing span:nth-child(3){ animation-delay:.4s; }
.ad-chat-foot{ padding:10px 14px; background:#fff; border-top:1px solid #eef4fb; }
.ad-quick{ display:flex; gap:7px; margin-bottom:10px; flex-wrap:wrap; }
.ad-quick button{ background:#EAF3FC; border:1px solid #d6e9fb; color:#1c2c8a; font-size:11.5px; font-weight:600; padding:6px 11px; border-radius:999px; cursor:pointer; font-family:'Inter',sans-serif; }
.ad-chat-input{ display:flex; gap:8px; align-items:center; }
.ad-chat-input input{ flex:1; padding:12px 14px; border:1px solid #e2e8f0; border-radius:999px; font-size:13.5px; font-family:'Inter',sans-serif; outline:none; }
.ad-chat-input button{ width:42px; height:42px; border-radius:50%; border:none; background:linear-gradient(135deg,#2196F3,#1c2c8a); color:#fff; cursor:pointer; font-size:17px; flex:none; }

/* ============================ QUALITY TIMELINE ============================ */
.ad-tl{ position:relative; max-width:920px; margin:0 auto; }
.ad-tl::before{ content:''; position:absolute; left:50%; top:8px; bottom:8px; width:3px; transform:translateX(-50%); background:linear-gradient(#2196F3,#00A8D8); border-radius:3px; }
.ad-tl-item{ position:relative; width:50%; padding:14px 46px; box-sizing:border-box; }
.ad-tl-item:nth-child(even){ margin-left:50%; }
.ad-tl-item:nth-child(odd) .ad-tl-card{ text-align:right; }
.ad-tl-card{ background:#fff; border:1px solid #eaf3fc; border-radius:18px; padding:20px 22px; box-shadow:0 10px 28px rgba(13,71,161,.07); }
.ad-tl-node{ position:absolute; top:20px; width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg,#2196F3,#1c2c8a); color:#fff; font-family:'Poppins',sans-serif; font-weight:800; font-size:17px; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px rgba(13,71,161,.3); z-index:2; }
.ad-tl-item:nth-child(odd) .ad-tl-node{ right:-23px; }
.ad-tl-item:nth-child(even) .ad-tl-node{ left:-23px; }

/* ============================ HOME WALKER ============================ */
.ad-wave-wrap{ position:absolute; left:0; right:0; bottom:0; z-index:3; line-height:0; overflow:hidden; }
.ad-wave-wrap svg{ width:200%; height:78px; display:block; animation:ad-wave 9s linear infinite; }
.ad-walker{ position:absolute; left:0; bottom:30px; z-index:20; animation:ad-walkin 40s linear infinite; will-change:transform; pointer-events:none; }
.ad-msg{ opacity:0; }
.ad-walker .ad-leg-l{ transform-origin:34px 68px; animation:ad-legl .62s ease-in-out infinite; }
.ad-walker .ad-leg-r{ transform-origin:46px 68px; animation:ad-legr .62s ease-in-out infinite; }
.ad-walker .ad-eye{ animation:ad-blinkeye 3.4s ease-in-out infinite; }
.ad-walker .ad-mouth{ animation:ad-talk 1.1s ease-in-out infinite; }
.ad-trustcard{ transition:transform .25s, background .25s; }
.ad-trustcard:hover{ transform:translateY(-4px); background:rgba(255,255,255,.12) !important; }

/* ============================ TESTIMONIAL DOTS ============================ */
.ad-tdots > *{ width:9px; height:9px; border-radius:999px; cursor:pointer; transition:width .3s, background .3s; background:#cfe0f2; }
.ad-tdots > *.on{ width:26px; background:#1c2c8a; }

/* ============================ UTILITIES ============================ */
.ad-hide-sm{ }

/* ============================ KEYFRAMES ============================ */
@keyframes ad-grad{ 0%{background-position:0% 50%;} 50%{background-position:100% 50%;} 100%{background-position:0% 50%;} }
@keyframes ad-float{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-16px);} }
@keyframes ad-rise{ 0%{transform:translateY(0);opacity:0;} 12%{opacity:.6;} 100%{transform:translateY(-220px);opacity:0;} }
@keyframes ad-dot{ 0%,80%,100%{transform:scale(.5);opacity:.4;} 40%{transform:scale(1);opacity:1;} }
@keyframes ad-wave{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
@keyframes ad-spin{ to{ transform:rotate(360deg);} }
@keyframes ad-flow{ to{ background-position:200% 0; } }
@keyframes ad-ring{ 0%,100%{box-shadow:0 10px 22px rgba(13,71,161,.25);} 50%{box-shadow:0 0 0 9px rgba(33,150,243,.12),0 10px 22px rgba(13,71,161,.25);} }
@keyframes ad-guidebob{ 0%,100%{ transform:translateY(0) rotate(-2deg);} 50%{ transform:translateY(-9px) rotate(2deg);} }
@keyframes ad-guideblink{ 0%,92%,100%{ transform:scaleY(1);} 96%{ transform:scaleY(.12);} }
@keyframes ad-guidering{ 0%{ transform:scale(.8); opacity:.5;} 100%{ transform:scale(1.7); opacity:0;} }
@keyframes ad-intropop{ 0%{ opacity:0; transform:translateY(10px) scale(.92);} 100%{ opacity:1; transform:translateY(0) scale(1);} }
@keyframes ad-ftwave{ 0%,100%{ transform:rotate(0);} 25%{ transform:rotate(16deg);} 75%{ transform:rotate(-8deg);} }
@keyframes ad-ftbob{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-6px);} }
@keyframes ad-walkin{ 0%{ transform:translateX(-260px);} 100%{ transform:translateX(100vw);} }
@keyframes ad-walkbob{ 0%,100%{ transform:translateY(0) rotate(-1.5deg);} 50%{ transform:translateY(-4px) rotate(1.5deg);} }
@keyframes ad-msgcycle{ 0%{ opacity:0; transform:translateY(4px);} 5%{ opacity:1; transform:none;} 28%{ opacity:1;} 33%,100%{ opacity:0;} }
@keyframes ad-ripplepulse{ 0%{ transform:scale(.6); opacity:.5;} 100%{ transform:scale(1.5); opacity:0;} }
@keyframes ad-legl{ 0%,100%{ transform:rotate(13deg);} 50%{ transform:rotate(-13deg);} }
@keyframes ad-legr{ 0%,100%{ transform:rotate(-13deg);} 50%{ transform:rotate(13deg);} }
@keyframes ad-blinkeye{ 0%,90%,100%{ transform:scaleY(1);} 95%{ transform:scaleY(.1);} }
@keyframes ad-talk{ 0%,100%{ transform:scaleY(1);} 25%{ transform:scaleY(1.7);} 50%{ transform:scaleY(.6);} 75%{ transform:scaleY(1.5);} }

/* ============================ RESPONSIVE ============================ */
@media (max-width:980px){
  .ad-navlinks{ display:none !important; }
  .ad-burger{ display:flex; flex-direction:column; gap:5px; width:44px; height:44px; align-items:center; justify-content:center; border-radius:12px; cursor:pointer; background:#F4F9FE; border:1px solid #eaf3fc; }
  .ad-burger span{ width:20px; height:2px; background:#1c2c8a; border-radius:2px; transition:transform .3s, opacity .3s; }
  #ad-navtoggle:checked ~ * .ad-burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  #ad-navtoggle:checked ~ * .ad-burger span:nth-child(2){ opacity:0; }
  #ad-navtoggle:checked ~ * .ad-burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
  .ad-getquote-desktop{ display:none !important; }
  .ad-why-grid,.ad-prod-grid,.ad-ind-grid,.ad-split,.ad-hero-grid,.ad-foot-grid,.ad-contact-grid,.ad-min-grid,.ad-cert-grid{ grid-template-columns:1fr !important; }
  .ad-stats-grid{ grid-template-columns:repeat(2,1fr) !important; row-gap:30px !important; }
  .ad-steps-grid{ grid-template-columns:repeat(2,1fr) !important; }
  .ad-trust{ grid-template-columns:repeat(2,1fr) !important; }
  .ad-h1{ font-size:42px !important; }
  .ad-h2{ font-size:30px !important; }
  .ad-hide-sm{ display:none !important; }
  .ad-hero{ min-height:auto !important; }
}
@media (max-width:760px){
  .ad-foot-grid{ grid-template-columns:1fr !important; }
  .ad-tl::before{ left:23px; }
  .ad-tl-item{ width:100%; margin-left:0 !important; padding:12px 0 12px 66px; }
  .ad-tl-item:nth-child(odd) .ad-tl-card{ text-align:left; }
  .ad-tl-node{ left:0 !important; right:auto !important; }
}
@media (max-width:640px){
  .ad-walker{ display:none !important; }
}
@media (max-width:560px){
  .ad-steps-grid{ grid-template-columns:1fr !important; }
  .ad-foot-bottom{ flex-direction:column; }
}

/* ============================ BLOG ARTICLE BODY ============================ */
.ad-article{ font-size:16.5px; color:#374151; line-height:1.8; }
.ad-article p{ margin:0 0 18px; }
.ad-article h2{ font-family:'Poppins',sans-serif; font-weight:800; font-size:24px; color:#16193f; line-height:1.25; margin:34px 0 14px; letter-spacing:-.004em; }
.ad-article h3{ font-family:'Poppins',sans-serif; font-weight:700; font-size:19px; color:#16193f; margin:26px 0 12px; }
.ad-article ul, .ad-article ol{ margin:0 0 18px; padding-left:22px; }
.ad-article li{ margin:0 0 8px; }
.ad-article a{ color:#1c2c8a; font-weight:600; text-decoration:underline; }
.ad-article img{ max-width:100%; border-radius:14px; margin:18px 0; }
.ad-article blockquote{ margin:18px 0; padding:14px 20px; border-left:4px solid #2196F3; background:#F8FBFF; border-radius:0 12px 12px 0; color:#475569; }
.ad-article strong{ color:#16193f; }

/* ============================ GALLERY / LIGHTBOX ============================ */
.ad-gthumb{ transition:border-color .2s; }
.ad-gthumb:hover{ border-color:#1c2c8a !important; }
.ad-lightbox{ position:fixed; inset:0; z-index:9000; background:rgba(7,10,30,.92); display:none; align-items:center; justify-content:center; padding:30px; cursor:zoom-out; }
.ad-lightbox.open{ display:flex; }
.ad-lightbox img{ max-width:92vw; max-height:88vh; border-radius:14px; box-shadow:0 30px 80px rgba(0,0,0,.5); }
.ad-lightbox-x{ position:fixed; top:18px; right:24px; width:46px; height:46px; border-radius:50%; border:none; background:rgba(255,255,255,.16); color:#fff; font-size:26px; cursor:pointer; line-height:1; }

/* ============================ MEDIA GALLERY PAGE ============================ */
.ad-gtabs{ display:flex; gap:10px; justify-content:center; margin-bottom:34px; flex-wrap:wrap; }
.ad-gtab{ display:inline-flex; align-items:center; gap:8px; background:#F4F9FE; border:1px solid #eaf3fc; color:#475569; font-family:'Poppins',sans-serif; font-weight:600; font-size:14px; padding:10px 22px; border-radius:999px; cursor:pointer; transition:background .2s,color .2s; }
.ad-gtab:hover{ color:#1c2c8a; }
.ad-gtab.on{ background:linear-gradient(135deg,#2196F3,#1c2c8a); color:#fff; border-color:transparent; }
.ad-gcount{ background:rgba(0,0,0,.08); color:inherit; font-size:11px; font-weight:700; border-radius:999px; padding:1px 8px; }
.ad-gtab.on .ad-gcount{ background:rgba(255,255,255,.22); }
.ad-gpanel[hidden]{ display:none; }
.ad-media-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:18px; }

.ad-photo{ display:block; width:100%; margin:0; padding:0; border-radius:16px; overflow:hidden; border:1px solid #eaf3fc; background:#F8FBFF; box-shadow:0 8px 24px rgba(13,71,161,.05); cursor:zoom-in; font:inherit; text-align:left; }
.ad-photo img{ width:100%; height:220px; object-fit:cover; display:block; transition:transform .4s ease; }
.ad-photo:hover img{ transform:scale(1.05); }
.ad-photo-cap{ display:block; padding:12px 14px; font-size:13.5px; font-weight:600; color:#16193f; font-family:'Inter',sans-serif; }

.ad-vcard{ position:relative; border:1px solid #eaf3fc; border-radius:16px; overflow:hidden; background:#0c0e2c; cursor:pointer; padding:0; text-align:left; display:block; }
.ad-vthumb{ display:flex; align-items:center; justify-content:center; height:220px; background-color:#16193f; background-size:cover; background-position:center; background-image:linear-gradient(135deg,#1c2c8a,#2196F3); position:relative; }
.ad-vcard .ad-vthumb::after{ content:''; position:absolute; inset:0; background:rgba(7,10,30,.28); }
.ad-vplay{ position:relative; z-index:1; width:58px; height:58px; border-radius:50%; background:rgba(255,255,255,.22); border:2px solid #fff; display:flex; align-items:center; justify-content:center; padding-left:3px; transition:transform .25s, background .25s; }
.ad-vcard:hover .ad-vplay{ transform:scale(1.1); background:rgba(255,255,255,.35); }
.ad-vtitle{ display:block; padding:12px 14px; font-size:13.5px; font-weight:600; color:#fff; font-family:'Inter',sans-serif; }

/* Video modal */
.ad-vmodal{ position:fixed; inset:0; z-index:9000; background:rgba(7,10,30,.94); display:none; align-items:center; justify-content:center; padding:24px; }
.ad-vmodal.open{ display:flex; }
.ad-vmodal-inner{ width:min(960px, 94vw); }
.ad-vmodal-inner iframe, .ad-vmodal-inner video{ width:100%; aspect-ratio:16/9; height:auto; border:0; border-radius:14px; background:#000; box-shadow:0 30px 80px rgba(0,0,0,.5); display:block; }
/* Portrait sources (Instagram reels) — a 16/9 frame would crop them to a sliver. */
.ad-vmodal-inner.portrait{ width:min(420px, 92vw); }
.ad-vmodal-inner.portrait iframe{ aspect-ratio:9/14; }
.ad-vmodal-err{ color:#fff; font-size:16px; text-align:center; padding:40px 20px; line-height:1.6; }
.ad-vmodal-err a{ color:#7cc4fb; }
.ad-vmodal-x{ position:fixed; top:18px; right:24px; width:46px; height:46px; border-radius:50%; border:none; background:rgba(255,255,255,.16); color:#fff; font-size:26px; cursor:pointer; line-height:1; }

/* ============================ LEAD-GEN / CRO ============================ */
.ad-wafloat{ position:fixed; left:24px; bottom:84px; z-index:60; width:54px; height:54px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 12px 30px rgba(37,211,102,.45); text-decoration:none; transition:transform .2s; }
.ad-wafloat:hover{ transform:scale(1.08); }

.ad-actionbar{ display:none; position:fixed; left:0; right:0; bottom:0; z-index:65; background:#fff; border-top:1px solid #eaf3fc; box-shadow:0 -6px 20px rgba(13,71,161,.1); }
.ad-actionbar a{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; padding:9px 4px; font-family:'Inter',sans-serif; font-weight:700; font-size:11.5px; color:#1c2c8a; text-decoration:none; border-right:1px solid #f1f5fb; }
.ad-actionbar a:last-child{ border-right:none; }
.ad-actionbar a span{ font-size:18px; }
.ad-actionbar .ad-ab-wa{ color:#15a34a; }
.ad-actionbar .ad-ab-quote{ background:linear-gradient(135deg,#2196F3,#1c2c8a); color:#fff; }

.ad-exit{ position:fixed; inset:0; z-index:9500; background:rgba(7,10,30,.6); display:none; align-items:center; justify-content:center; padding:24px; }
.ad-exit.open{ display:flex; }
.ad-exit-card{ position:relative; background:#fff; border-radius:22px; padding:34px 30px; max-width:380px; width:100%; text-align:center; box-shadow:0 40px 90px rgba(0,0,0,.4); animation:ad-intropop .35s cubic-bezier(.16,.84,.44,1); }
.ad-exit-x{ position:absolute; top:12px; right:14px; background:none; border:none; font-size:22px; color:#94a3b8; cursor:pointer; line-height:1; }
.ad-exit-drop{ display:flex; justify-content:center; margin-bottom:10px; }
.ad-exit-t{ font-family:'Poppins',sans-serif; font-weight:800; font-size:22px; color:#16193f; margin-bottom:8px; }
.ad-exit-d{ font-size:14.5px; color:#64748b; line-height:1.6; margin-bottom:22px; }
.ad-exit-actions{ display:flex; flex-direction:column; gap:10px; }
.ad-exit-cta{ background:linear-gradient(135deg,#2196F3,#1c2c8a); color:#fff; padding:14px; border-radius:12px; font-family:'Poppins',sans-serif; font-weight:600; font-size:15px; text-decoration:none; }
.ad-exit-call{ color:#1c2c8a; font-weight:700; text-decoration:none; font-size:14.5px; }

@media (max-width:640px){
  .ad-actionbar{ display:flex; }
  .ad-guide-wrap{ bottom:74px; }
  #ad-totop{ bottom:150px; }
  .ad-chat{ bottom:142px; height:460px; }
  body{ padding-bottom:56px; }
}

/* ============ Product catalogue ============ */
.ad-cat-cta{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.ad-cat-btn{ display:inline-flex; align-items:center; gap:9px; padding:14px 24px; border-radius:12px; font-family:'Poppins',sans-serif; font-weight:600; font-size:15px; text-decoration:none; border:1.5px solid transparent; cursor:pointer; transition:transform .2s, box-shadow .2s; }
.ad-cat-btn.primary{ background:linear-gradient(135deg,#2196F3,#1c2c8a); color:#fff; box-shadow:0 10px 26px rgba(28,44,138,.24); }
.ad-cat-btn.ghost{ background:#fff; color:#1c2c8a; border-color:#c9e2f8; }
.ad-cat-btn:hover{ transform:translateY(-2px); box-shadow:0 14px 32px rgba(28,44,138,.22); }
.ad-cat-btn:focus-visible{ outline:3px solid #1c2c8a; outline-offset:3px; }
.ad-cat-meta{ margin:16px 0 0; font-size:13.5px; color:#5b7089; letter-spacing:.01em; }

.ad-cat-switch{ display:flex; gap:8px; justify-content:center; margin:0 0 22px; }
.ad-cat-switch button{ background:#fff; border:1.5px solid #d9e9f8; color:#3f5670; font-family:'Poppins',sans-serif; font-weight:600; font-size:13.5px; padding:9px 20px; border-radius:999px; cursor:pointer; }
.ad-cat-switch button.on{ background:#1c2c8a; border-color:#1c2c8a; color:#fff; }
.ad-cat-switch button:focus-visible{ outline:3px solid #1c2c8a; outline-offset:2px; }

.ad-cat-pages{ display:flex; flex-direction:column; gap:22px; }
.ad-cat-page{ margin:0; }
.ad-cat-page img{ width:100%; height:auto; display:block; border-radius:14px; border:1px solid #e7f0fa; box-shadow:0 10px 34px rgba(13,71,161,.10); background:#16193f; }
.ad-cat-page figcaption{ text-align:center; font-size:12.5px; color:#94a3b8; margin-top:8px; }

.ad-cat-embed object{ width:100%; height:min(1150px, 88vh); border:1px solid #e7f0fa; border-radius:14px; background:#16193f; display:block; }
.ad-cat-nofallback{ color:#fff; text-align:center; padding:50px 20px; }
.ad-cat-nofallback a{ color:#7cc4fb; }

.ad-cat-summary{ margin-top:56px; padding-top:44px; border-top:1px solid #eaf3fc; }
.ad-cat-cols{ display:grid; grid-template-columns:1fr 1fr; gap:34px; }
.ad-cat-cols h3{ font-family:'Poppins',sans-serif; font-weight:700; font-size:17px; color:#16193f; margin:0 0 12px; }
.ad-cat-cols ul{ margin:0; padding-left:20px; color:#3f5670; line-height:1.75; font-size:15px; }
.ad-cat-cols li{ margin-bottom:8px; }
.ad-cat-cols strong{ color:#16193f; }
.ad-cat-foot{ display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }

@media (max-width:820px){
  .ad-cat-cols{ grid-template-columns:1fr; gap:24px; }
}
@media (max-width:640px){
  .ad-cat-btn{ padding:13px 18px; font-size:14px; }
  .ad-cat-cta{ flex-direction:column; }
  .ad-cat-pages{ gap:14px; }
}

/* ---- Reduced motion: calm everything ---- */
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
}
