:root{--ink:#0B211E;--petrol:#0E3B36;--petrol-light:#175650;--ivory:#F6F2EA;--ivory-dim:#EFE9DC;--sage:#DCE6DE;--brass:#B8863B;--brass-light:#D9AE63;--text:#20302C;--text-soft:#5A6B64;--line:rgba(15,42,38,.12);--radius:14px;--radius-pill:999px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--text);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,.display{font-family:Fraunces,serif;font-weight:600;letter-spacing:-.01em;margin:0;color:var(--ink)}p{margin-top:0}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{max-width:1180px;margin:0 auto;padding:0 32px}.mono{font-family:'IBM Plex Mono',monospace;letter-spacing:.04em}
.site-nav{position:sticky;top:0;z-index:100;background:rgba(246,242,234,.88);backdrop-filter:blur(12px) saturate(160%);border-bottom:1px solid var(--line)}.nav-inner{max-width:1180px;margin:auto;padding:10px 32px;min-height:74px;height:auto;display:flex;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:10px;min-width:max-content}.brand-logo{height:var(--logo-height,62px);width:auto;max-width:var(--logo-max-width,300px);object-fit:contain}.brand-mark{width:30px;height:30px;flex:none}.brand-name{font-family:Fraunces,serif;font-size:19px;font-weight:600;color:var(--ink)}.brand-name span{color:var(--brass)}nav.links{display:flex;gap:2px;margin-left:auto;align-items:center}nav.links a{padding:10px 13px;font-size:13px;font-weight:600;color:var(--text-soft);border-radius:var(--radius);position:relative;white-space:nowrap}nav.links a:hover,nav.links a.active{color:var(--petrol)}nav.links a.active:after{content:"";position:absolute;left:13px;right:13px;bottom:2px;height:2px;background:var(--brass)}.nav-cta{background:linear-gradient(150deg,var(--petrol-light),var(--petrol) 75%);color:var(--ivory);padding:11px 20px;font-size:13px;font-weight:700;border-radius:var(--radius-pill);border:1px solid var(--petrol);box-shadow:0 10px 22px -12px rgba(14,59,54,.55)}.mobile-toggle{display:none;margin-left:auto;width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:12px}.mobile-toggle span{display:block;width:18px;height:2px;background:var(--petrol);margin:4px auto}
.site-section{padding:88px 0}.site-section.tight{padding:64px 0}.alt-bg{background:var(--ivory-dim)}.section-head{max-width:660px;margin-bottom:48px}.eyebrow{font-family:'IBM Plex Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);display:flex;align-items:center;gap:10px;margin-bottom:22px}.eyebrow:before{content:"";width:22px;height:1px;background:var(--brass)}.section-head h1,.section-head h2{line-height:1.15}.section-head p{color:var(--text-soft);margin-top:14px;line-height:1.65}.btn-primary{background:linear-gradient(150deg,var(--brass-light),var(--brass) 70%);color:var(--ink);font-weight:700;padding:14px 26px;border-radius:var(--radius-pill);border:1px solid var(--brass);box-shadow:0 12px 26px -12px rgba(184,134,58,.6);display:inline-flex;align-items:center;justify-content:center}.btn-primary:hover{transform:translateY(-1px)}.btn-ghost{background:rgba(246,242,234,.05);color:var(--ivory);font-weight:600;padding:14px 24px;border-radius:var(--radius-pill);border:1px solid rgba(246,242,234,.3);display:inline-flex;align-items:center;justify-content:center}.flash-stack{position:fixed;top:90px;left:50%;transform:translateX(-50%);z-index:300;width:min(92vw,620px)}.flash{padding:13px 16px;border-radius:12px;margin-bottom:8px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 40px rgba(11,33,30,.16)}.flash.success{border-color:#64a77c}.flash.error{border-color:#c5685f}
.hero{background:var(--ink);background-image:radial-gradient(circle at 82% 12%,rgba(184,134,58,.18),transparent 45%),radial-gradient(circle at 8% 90%,rgba(23,86,80,.5),transparent 50%);color:var(--ivory);position:relative;overflow:hidden}.hero-inner{max-width:1180px;margin:0 auto;padding:88px 32px 96px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}.hero .eyebrow{color:var(--brass-light)}.hero .eyebrow:before{background:var(--brass-light)}.hero h1{color:var(--ivory);line-height:1.06}.hero-accent{font-family:Fraunces,serif;color:var(--brass-light);font-style:italic;margin-top:9px}.hero p.lede{line-height:1.65;color:rgba(246,242,234,.72);max-width:500px;margin:22px 0 34px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-visual{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center}.hero-globe{position:absolute;width:480px;height:480px;max-width:120%;opacity:.16;pointer-events:none;animation:globe-spin 90s linear infinite}@keyframes globe-spin{to{transform:rotate(360deg)}}.quick-form{position:relative;z-index:2;width:100%;max-width:390px;background:rgba(246,242,234,.07);border:1px solid rgba(246,242,234,.18);backdrop-filter:blur(16px) saturate(140%);border-radius:var(--radius);padding:30px 28px 26px;box-shadow:0 40px 80px -36px rgba(0,0,0,.55)}.quick-form:before{content:"";position:absolute;z-index:3;top:-1px;left:-1px;right:-1px;height:3px;border-radius:var(--radius) var(--radius) 0 0;background:linear-gradient(90deg,var(--brass-light),var(--brass),var(--brass-light));pointer-events:none}.quick-form .qf-eyebrow{font-family:'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--brass-light);margin-bottom:6px}.quick-form h3{color:var(--ivory);margin-bottom:18px}.quick-form label{display:block;font-weight:600;color:rgba(246,242,234,.7);margin-bottom:6px}.quick-form .qf-row{margin-bottom:14px}.quick-form input,.quick-form select{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(246,242,234,.22);color:var(--ivory);padding:11px 13px;border-radius:4px}.quick-form select option{color:var(--ink)}.quick-form .btn-primary{width:100%}.quick-form .qf-note{margin-top:14px;color:rgba(246,242,234,.5);text-align:center}
.trust-strip{background:var(--petrol);border-top:1px solid rgba(246,242,234,.12)}.trust-inner{max-width:1180px;margin:auto;padding:22px 32px;display:flex;gap:44px;align-items:center;flex-wrap:wrap;color:rgba(246,242,234,.75)}.trust-inner strong{color:var(--ivory);font-weight:700}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.feature{background:var(--ivory);padding:34px 30px}.alt-bg .feature{background:var(--ivory-dim)}.feature .num{font-family:'IBM Plex Mono',monospace;color:var(--brass);margin-bottom:18px;display:block}.feature h3{margin-bottom:10px}.feature p{color:var(--text-soft);line-height:1.6;margin:0}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.card{overflow:hidden;background:var(--ivory);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 14px 30px -22px rgba(11,33,30,.3);transition:.18s}.card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -22px rgba(11,33,30,.28)}.card .photo{aspect-ratio:4/3.1;overflow:hidden;background:var(--sage)}.card .photo img{width:100%;height:100%;object-fit:cover}.card .body{padding:20px 22px 24px}.card .tag{font-family:'IBM Plex Mono',monospace;color:var(--brass);text-transform:uppercase;letter-spacing:.06em}.card h3{margin:8px 0 4px}.card .role{color:var(--text-soft);margin-bottom:12px}.card .meta{display:flex;gap:14px;color:var(--text-soft);border-top:1px solid var(--line);padding-top:12px}.card .meta strong{color:var(--ink)}
.media-showcase{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--sage);box-shadow:0 30px 70px -30px rgba(11,33,30,.4)}.media-showcase img{width:100%;aspect-ratio:16/8;object-fit:cover}.media-caption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(11,33,30,.82),transparent);color:var(--ivory);padding:36px 34px 22px}.video-block{display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:center}.video-frame{border-radius:var(--radius);overflow:hidden;box-shadow:0 24px 60px -20px rgba(11,33,30,.35);aspect-ratio:16/9;background:#000}.video-frame iframe,.video-frame video{width:100%;height:100%;border:0;display:block;object-fit:cover}.video-copy p{color:var(--text-soft);line-height:1.65;margin-top:14px}
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}.tl-step .num{font-family:'IBM Plex Mono',monospace;color:var(--brass)}.tl-step h3{margin:10px 0 8px}.tl-step p{color:var(--text-soft);line-height:1.55;margin:0}.tl-bar{height:2px;background:var(--line);position:relative;margin-bottom:22px}.tl-bar:after{content:"";position:absolute;left:0;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--brass)}
.cta-band{background:var(--petrol);color:var(--ivory);text-align:center;padding:80px 0}.cta-band h2{color:var(--ivory);max-width:700px;margin:auto}.cta-band p{color:rgba(246,242,234,.7);margin:16px auto 30px;max-width:520px}
.contact-form-block{background:var(--ivory-dim);border:1px solid var(--line);border-radius:var(--radius);padding:44px}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}.contact-form-grid .full{grid-column:1/-1}.field label{display:block;font-weight:600;margin-bottom:7px;color:var(--ink)}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:12px 14px;color:var(--text)}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--brass);outline-offset:1px}.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1.5px dashed var(--line);border-radius:var(--radius);padding:34px 20px;text-align:center;cursor:pointer;background:#fff}.upload-zone:hover,.upload-zone.dragover{border-color:var(--brass);background:rgba(184,134,58,.05)}.upload-zone svg{width:26px;height:26px;stroke:var(--brass);margin-bottom:4px}.upload-text strong{color:var(--petrol)}.upload-hint{color:var(--text-soft)}.contact-lower{display:grid;grid-template-columns:1fr 1fr;gap:56px}.contact-info-item{display:flex;gap:14px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--line)}.contact-info-item .mono{color:var(--brass);text-transform:uppercase}.contact-info-item p{margin:4px 0 0}.ci-icon{width:40px;height:40px;border-radius:50%;background:var(--ivory-dim);color:var(--petrol);display:flex;align-items:center;justify-content:center;flex:none}.ci-icon.whatsapp{background:linear-gradient(150deg,#25D366,#128C7E);color:#fff;box-shadow:0 8px 18px -10px rgba(18,140,126,.72);transition:transform .16s ease,box-shadow .16s ease}.ci-icon.whatsapp:hover{transform:translateY(-1px);box-shadow:0 10px 22px -10px rgba(18,140,126,.82)}.ci-icon.whatsapp svg{width:23px;height:23px;display:block;fill:currentColor}
footer{
  background:var(--ink);
  color:rgba(246,242,234,.68);
  padding:64px 0 28px;
}

/* =========================================================
   FOOTER WIDE WRAPPER
   Gives the Bangladesh office enough horizontal room on desktop.
   ========================================================= */
.footer-wrap{
  max-width:1840px;
  padding-left:52px;
  padding-right:52px;
}

/* =========================================================
   FOOTER MAIN GRID
   Brand | Registered Office India | Representative Office Bangladesh
   ========================================================= */
.footer-grid{
  display:grid;
  grid-template-columns:
    minmax(360px,.90fr)
    minmax(430px,1fr)
    minmax(680px,1.45fr);
  column-gap:48px;
  row-gap:36px;
  width:100%;
  padding-bottom:44px;
  border-bottom:1px solid rgba(246,242,234,.12);
}

/* =========================================================
   FOOTER OFFICE
   ========================================================= */
.footer-office{
  min-width:0;
}

.footer-office-title{
  color:var(--ivory);
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-top:0;
  margin-bottom:16px;
  line-height:1.20;
  font-weight:700;
}

.footer-office-address{
  margin-top:0;
  margin-bottom:14px;
  line-height:1.45;
  word-break:normal;
  overflow-wrap:normal;
}

/* Desktop: keep office headings on one line. */
.footer-office-title{
  white-space:nowrap;
}

/* Bangladesh gets the widest column. Its address stays on one line
   on large displays and gracefully wraps on smaller screens. */
.footer-office-bangladesh{
  min-width:0;
}

.footer-office-bangladesh .footer-office-title{
  white-space:nowrap;
}

.footer-office-bangladesh .footer-office-address{
  white-space:nowrap;
}

/* =========================================================
   FOOTER LINKS
   ========================================================= */
.footer-grid a{
  display:block;
  max-width:100%;
  padding:5px 0;
  color:rgba(246,242,234,.62);
  overflow-wrap:anywhere;
}

/* =========================================================
   FOOTER BRAND
   ========================================================= */
.footer-brand{
  min-width:0;
}

.footer-brand p{
  line-height:1.65;
  max-width:380px;
  margin-top:14px;
  color:rgba(246,242,234,.55);
}

.footer-brand-name{
  color:var(--ivory);
  white-space:nowrap;
}

.footer-brand-name span{
  color:var(--brass-light);
}

/* =========================================================
   FOOTER BOTTOM
   ========================================================= */
.footer-bottom{
  display:flex;
  justify-content:space-between;
  padding-top:24px;
  flex-wrap:wrap;
  gap:12px;
  color:rgba(246,242,234,.45);
}

/* =========================================================
   FOOTER RESPONSIVE
   ========================================================= */

/* Medium desktop / notebook */
@media(max-width:1700px){
  .footer-wrap{
    max-width:100%;
    padding-left:38px;
    padding-right:38px;
  }

  .footer-grid{
    grid-template-columns:minmax(280px,.85fr) minmax(330px,.95fr) minmax(0,1.35fr);
    column-gap:38px;
  }

  .footer-office-bangladesh .footer-office-address{
    white-space:normal;
  }
}

/* Smaller desktop / tablet: brand full width, offices side-by-side */
@media(max-width:1240px){
  .footer-wrap{
    padding-left:32px;
    padding-right:32px;
  }

  .footer-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
    gap:36px 48px;
  }

  .footer-brand{
    grid-column:1 / -1;
  }

  .footer-brand p{
    max-width:620px;
  }

  .footer-office-title,
  .footer-office-bangladesh .footer-office-title,
  .footer-office-bangladesh .footer-office-address{
    white-space:normal;
  }
}

/* Tablet / smartphone */
@media(max-width:760px){
  footer{
    padding:46px 0 24px;
  }

  .footer-wrap{
    padding-left:22px;
    padding-right:22px;
  }

  .footer-grid{
    grid-template-columns:1fr;
    gap:30px;
    padding-bottom:32px;
  }

  .footer-brand{
    grid-column:auto;
  }

  .footer-brand-name,
  .footer-office-title,
  .footer-office-bangladesh .footer-office-title,
  .footer-office-bangladesh .footer-office-address{
    white-space:normal;
  }

  .footer-office-address{
    line-height:1.5;
  }

  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* =========================================================
   WHATSAPP ASSISTANT
   Step 1 = patient identification
   Step 2 = chat
   ========================================================= */

.wa-fab{
  position:fixed;
  bottom:26px;
  right:26px;
  width:60px;
  height:60px;
  border-radius:50%;
  z-index:200;
  background:linear-gradient(150deg,#2CE374,#1DA851);
  border:none;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 16px 32px -12px rgba(29,168,81,.6);
}

.wa-fab svg{
  width:28px;
  height:28px;
  fill:#fff;
}

.wa-chat{
  position:fixed;
  bottom:98px;
  right:26px;
  width:390px;
  max-width:calc(100vw - 32px);
  max-height:min(78vh,720px);
  z-index:200;
  background:#fff;
  border:1px solid rgba(14,59,54,.10);
  border-radius:20px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:0 40px 80px -20px rgba(0,0,0,.4);
  opacity:0;
  transform:translateY(16px) scale(.97);
  pointer-events:none;
  transition:.2s;
}

.wa-chat.open{
  opacity:1;
  transform:none;
  pointer-events:auto;
}

.wa-chat-header{
  flex:0 0 auto;
  background:linear-gradient(135deg,#1DA851,#128C4A);
  color:#fff;
  padding:16px 18px;
  display:flex;
  align-items:center;
  gap:12px;
}

.wa-avatar{
  width:36px;
  height:36px;
  border-radius:50%;
  background:rgba(255,255,255,.2);
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 36px;
}

.wa-avatar svg{
  width:19px;
  height:19px;
  fill:#fff;
}

.wa-title{
  font-weight:700;
}

.wa-status{
  opacity:.85;
  display:flex;
  align-items:center;
  gap:5px;
  margin-top:2px;
}

.wa-status .dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#4ADE80;
}

.wa-close{
  margin-left:auto;
  background:none;
  border:none;
  color:#fff;
  font-size:22px;
  line-height:1;
}

/* -------------------------
   STEP 1 : PATIENT DETAILS
   ------------------------- */

.wa-lead-panel{
  overflow-y:auto;
  background:
    radial-gradient(circle at 100% 0,rgba(184,134,59,.08),transparent 35%),
    linear-gradient(180deg,#fff,#fbfaf6);
}

.wa-lead-intro{
  padding:18px 18px 10px;
}

.wa-lead-kicker{
  display:block;
  margin-bottom:5px;
  color:var(--brass);
  font-family:'IBM Plex Mono',monospace;
  font-size:10px;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.wa-lead-intro strong{
  display:block;
  color:var(--ink);
  font-family:Fraunces,serif;
  font-size:20px;
  line-height:1.2;
}

.wa-lead-intro p{
  margin:6px 0 0;
  color:var(--text-soft);
  font-size:12px;
  line-height:1.45;
}

.wa-lead-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding:10px 18px 18px;
}

.wa-lead-field{
  min-width:0;
}

.wa-lead-field label{
  display:block;
  margin-bottom:5px;
  color:var(--petrol);
  font-size:12px;
  font-weight:700;
}

.wa-required{
  color:#C65345;
}

.wa-optional{
  color:var(--text-soft);
  font-size:10px;
  font-weight:500;
}

.wa-lead-field input{
  width:100%;
  min-height:42px;
  padding:9px 11px;
  color:var(--text);
  background:#fff;
  border:1px solid var(--line);
  border-radius:9px;
  outline:none;
}

.wa-lead-field input:focus{
  border-color:var(--brass);
  box-shadow:0 0 0 3px rgba(184,134,59,.10);
}

.wa-lead-field input.wa-invalid{
  border-color:#C65345;
  box-shadow:0 0 0 3px rgba(198,83,69,.08);
}

.wa-lead-message{
  display:none;
  grid-column:1 / -1;
  padding:9px 11px;
  border-radius:9px;
  font-size:11px;
  line-height:1.4;
}

.wa-lead-message.error{
  display:block;
  color:#8C3026;
  background:#FFF1EF;
  border:1px solid rgba(198,83,69,.24);
}

.wa-lead-message.success{
  display:block;
  color:#12603E;
  background:#EFFAF3;
  border:1px solid rgba(29,168,81,.24);
}

.wa-lead-submit{
  grid-column:1 / -1;
  min-height:44px;
  border:0;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,#1DA851,#128C4A);
  font-weight:800;
  box-shadow:0 10px 22px -12px rgba(29,168,81,.55);
}

.wa-lead-submit:hover{
  transform:translateY(-1px);
}

.wa-lead-submit:disabled{
  cursor:wait;
  opacity:.68;
  transform:none;
}

.wa-lead-privacy{
  grid-column:1 / -1;
  text-align:center;
  color:var(--text-soft);
  font-size:10px;
  line-height:1.4;
}

/* -------------------------
   STEP 2 : CHAT
   ------------------------- */

.wa-chat-body{
  min-height:0;
  display:flex;
  flex-direction:column;
}

.wa-chat-body[hidden]{
  display:none !important;
}

.wa-messages{
  padding:16px;
  background:#ECE5DD;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:150px;
  max-height:300px;
}

.wa-msg{
  max-width:82%;
  padding:9px 13px;
  border-radius:13px;
  line-height:1.5;
  font-size:13px;
}

.wa-msg.bot{
  background:#fff;
  align-self:flex-start;
}

.wa-msg.user{
  background:#DCF8C6;
  align-self:flex-end;
}

.wa-quick{
  display:flex;
  gap:8px;
  padding:10px 14px;
  flex-wrap:wrap;
  background:#ECE5DD;
}

.wa-quick button{
  background:#fff;
  border:1px solid rgba(0,0,0,.1);
  border-radius:var(--radius-pill);
  padding:6px 12px;
  color:#128C4A;
  font-weight:600;
}

.wa-input-row{
  display:flex;
  gap:8px;
  padding:12px 14px;
  background:#fff;
  border-top:1px solid #eee;
}

.wa-input-row input{
  flex:1;
  min-width:0;
  border:1px solid var(--line);
  border-radius:var(--radius-pill);
  padding:9px 14px;
}

.wa-send{
  flex:0 0 36px;
  background:#1DA851;
  color:#fff;
  border:none;
  border-radius:50%;
  width:36px;
  height:36px;
}

.wa-continue{
  display:block;
  text-align:center;
  padding:11px 14px;
  color:#128C4A;
  font-weight:700;
  background:#F5FBF7;
  border-top:1px solid #eee;
}.custom-elements{margin-top:26px;display:grid;gap:16px}.custom-element img{max-height:480px;border-radius:var(--radius);object-fit:cover}.custom-element video{width:100%;border-radius:var(--radius)}.section-logo{max-width:240px;max-height:110px;object-fit:contain;margin-bottom:28px}
@media(max-width:880px){.wrap{padding:0 22px}.nav-inner{padding:0 20px;height:68px}.mobile-toggle{display:block}nav.links{display:none;position:absolute;top:68px;left:14px;right:14px;background:rgba(246,242,234,.98);border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:0 24px 60px rgba(11,33,30,.16)}nav.links.open{display:grid}nav.links a{padding:12px 14px}.nav-cta{display:none}.hero-inner{grid-template-columns:1fr;padding:58px 22px 72px;gap:28px}.hero-visual{min-height:auto}.hero-globe{width:360px;height:360px}.grid-3,.card-grid{grid-template-columns:1fr}.video-block{grid-template-columns:1fr}.timeline{grid-template-columns:1fr 1fr}.contact-form-grid,.contact-lower{grid-template-columns:1fr}.site-section{padding:68px 0}}@media(max-width:560px){.brand-name{font-size:16px}.brand-logo{height:var(--logo-mobile-height,46px);max-width:var(--logo-max-width,300px)}.hero h1{font-size:min(42px,11vw)!important}.hero-actions>*{width:100%}.quick-form{padding:24px 18px}.timeline{grid-template-columns:1fr}.contact-form-block{padding:24px 18px}.wa-fab{right:16px;bottom:16px}.wa-chat{right:16px;bottom:88px}}

/* =========================================================
   V5 TOP AD / CAMPAIGN SPOTLIGHT — ADMIN-STYLED
   ========================================================= */
.campaign-spotlight{padding:26px 0 30px;background:linear-gradient(135deg,#f3f8fa 0%,#e8f2f6 52%,#deebf1 100%);border-bottom:1px solid var(--line);overflow:hidden}
.campaign-stage{position:relative}.campaign-slide{display:none;grid-template-columns:minmax(0,1.35fr) minmax(390px,.75fr);min-height:440px;border:1px solid rgba(10,67,102,.13);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 30px 78px -42px rgba(8,45,68,.42);font-family:var(--campaign-body-font,Inter),sans-serif}.campaign-slide.active{display:grid;animation:campaignIn .42s ease both}@keyframes campaignIn{from{opacity:.25;transform:translateY(7px)}to{opacity:1;transform:none}}
.campaign-visual{position:relative;min-height:440px;overflow:hidden;background:linear-gradient(135deg,#e9f3f7,#dcebf1)}.campaign-hero-image,.campaign-hero-video,.campaign-hero-embed,.campaign-hero-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.campaign-hero-image,.campaign-hero-video{object-fit:cover}.campaign-hero-video{background:#07131a}.campaign-hero-embed{background:#07131a}.campaign-slide.media-only{grid-template-columns:1fr;min-height:0}.campaign-slide.media-only .campaign-visual{min-height:0;aspect-ratio:16/9}.campaign-slide.media-only .campaign-visual:after{display:none}.campaign-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 70%,rgba(3,41,76,.08));pointer-events:none}.campaign-partner-logo{position:absolute;z-index:3;left:28px;top:26px;max-width:170px;max-height:72px;object-fit:contain;filter:drop-shadow(0 5px 14px rgba(0,0,0,.12))}.campaign-art{position:absolute;inset:0;background:radial-gradient(circle at 66% 38%,rgba(25,169,184,.24),transparent 18%),radial-gradient(circle at 56% 60%,rgba(10,77,163,.16),transparent 28%),linear-gradient(135deg,#edf7fb,#dbeaf2)}.campaign-orbit{position:absolute;border:1px solid rgba(10,77,163,.13);border-radius:50%;transform:rotate(-10deg)}.campaign-orbit.orbit-a{width:420px;height:180px;left:12%;top:30%}.campaign-orbit.orbit-b{width:330px;height:330px;left:24%;top:12%}.campaign-cross{position:absolute;right:17%;top:24%;font:700 70px/1 Inter,sans-serif;color:rgba(25,169,184,.32)}.campaign-art-copy{position:absolute;left:44px;bottom:42px;font:700 50px/.9 Fraunces,serif;color:#0a4da3}.campaign-art-copy em{color:#19a9b8;font-style:italic;font-size:.7em}
.campaign-card{background:#fff;display:flex;flex-direction:column;min-width:0;font-family:var(--campaign-body-font,Inter),sans-serif}.campaign-card-head{background:radial-gradient(circle at 92% 8%,rgba(255,255,255,.13),transparent 28%),linear-gradient(145deg,var(--campaign-panel-start,#0A4DA3),var(--campaign-panel-end,#06346A));color:var(--campaign-heading,#fff);padding:24px 26px 22px;display:flex;gap:16px;justify-content:space-between;align-items:flex-start}.campaign-head-copy{min-width:0}.campaign-card-head small{display:block;color:var(--campaign-accent,#19A9B8);font-weight:800;margin-bottom:7px;text-transform:uppercase;letter-spacing:.05em}.campaign-card-head h2{color:var(--campaign-heading,#fff);line-height:1.08;max-width:330px;font-family:var(--campaign-heading-font,Poppins),sans-serif;font-weight:var(--campaign-heading-weight,700);font-style:var(--campaign-heading-style,normal);text-decoration:var(--campaign-heading-decoration,none);text-transform:var(--campaign-heading-transform,none);letter-spacing:-.02em}.campaign-stars{margin-top:9px;color:#f6c24f;letter-spacing:2px;font-size:14px;line-height:1}.campaign-head-subtitle{color:rgba(255,255,255,.84);line-height:1.45;margin:11px 0 0;max-width:360px;font-family:var(--campaign-body-font,Inter),sans-serif}.campaign-price{align-self:flex-start;white-space:normal;max-width:145px;color:#fff;background:var(--campaign-accent,#19A9B8);border:1px solid rgba(255,255,255,.24);padding:8px 11px;border-radius:999px;font-family:var(--campaign-body-font,Inter),sans-serif;font-weight:800;line-height:1.15;text-align:center;box-shadow:0 7px 18px rgba(0,0,0,.16)}
.campaign-card-body{padding:24px 26px 20px;flex:1;color:var(--campaign-body,#334155);font-weight:var(--campaign-body-weight,400)}.campaign-description{color:var(--campaign-body,#334155);line-height:1.58;margin-bottom:18px}.campaign-features{padding:0;margin:0 0 20px;list-style:none;display:grid;gap:9px}.campaign-features li{display:grid;grid-template-columns:29px 1fr;gap:9px;align-items:center;color:var(--campaign-body,#334155);font-weight:650;line-height:1.35;padding:8px 9px;border:1px solid rgba(10,77,163,.10);border-radius:10px;background:linear-gradient(90deg,#fbfdfe,#fff)}.campaign-feature-icon{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;color:var(--campaign-panel-start,#0A4DA3);border:1px solid var(--campaign-accent,#19A9B8);font-size:.92em;background:#fff}.campaign-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:13px 12px;border:0;border-radius:12px;background:var(--campaign-detail-bg,#EEF8FB)}.campaign-detail-grid>div{padding:0 10px;border-right:1px solid rgba(10,77,163,.13)}.campaign-detail-grid>div:last-child{border-right:0}.campaign-detail-grid small{display:block;color:#6b7e7a;margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.campaign-detail-grid strong{display:block;color:#173a43;line-height:1.25}
.campaign-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #d5e2e4}.campaign-actions a{min-height:62px;padding:13px 16px;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:800;font-family:var(--campaign-body-font,Inter),sans-serif}.campaign-primary{background:var(--campaign-button,#E9B949);color:var(--campaign-button-text,#173B43)}.campaign-primary:hover{filter:brightness(.97)}.campaign-secondary{color:var(--campaign-panel-start,#0A4DA3);background:#fff;border-left:1px solid #d5e2e4}.campaign-secondary:hover{background:#f8fbfc}.campaign-dots{display:flex;justify-content:center;gap:9px;margin-top:15px}.campaign-dots button{width:9px;height:9px;padding:0;border-radius:50%;border:1px solid #0A4DA3;background:transparent}.campaign-dots button.active{background:#0A4DA3}
@media(max-width:880px){.campaign-slide{grid-template-columns:1fr;min-height:0}.campaign-visual{min-height:360px}.campaign-slide.media-only .campaign-visual{min-height:0;aspect-ratio:16/9}.campaign-card-head{padding:22px}}
@media(max-width:560px){.campaign-spotlight{padding:14px 0 18px}.campaign-slide{border-radius:16px}.campaign-visual{min-height:300px}.campaign-art-copy{left:25px;bottom:28px;font-size:36px}.campaign-card-head{flex-direction:column}.campaign-price{max-width:none}.campaign-detail-grid{grid-template-columns:1fr;gap:9px}.campaign-detail-grid>div{border-right:0;border-bottom:1px solid rgba(10,77,163,.10);padding:0 0 8px}.campaign-detail-grid>div:last-child{border-bottom:0;padding-bottom:0}.campaign-actions{grid-template-columns:1fr}.campaign-secondary{border-left:0;border-top:1px solid #d5e2e4}}

/* WhatsApp Assistant responsive refinements */
@media(max-width:560px){
  .wa-chat{
    right:12px;
    bottom:86px;
    width:calc(100vw - 24px);
    max-width:none;
    max-height:78vh;
  }

  .wa-lead-form{
    grid-template-columns:1fr;
    padding:10px 16px 16px;
  }

  .wa-lead-message,
  .wa-lead-submit,
  .wa-lead-privacy{
    grid-column:1;
  }

  .wa-messages{
    max-height:260px;
  }
}

/* V4: CMS-aligned form, custom content and Problem -> Solution layout */
.section-logo-wrap{padding-top:28px}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.custom-item-fields{display:grid;gap:10px;margin-top:14px}.custom-item-field img,.custom-item-field video{max-width:100%;border-radius:var(--radius)}.upload-icon{font-size:26px;color:var(--brass)}
@media(min-width:1101px){.hero .hero-inner{max-width:1500px;grid-template-columns:minmax(0,1fr) minmax(580px,640px);gap:68px}.hero .hero-visual{width:100%;min-width:0}.hero .quick-form{width:100%;max-width:640px}}
.qf-case-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 14px}.qf-case-form .qf-row{margin:0;min-width:0}.qf-case-form .qf-full,.qf-submit-wrap,.qf-form-status{grid-column:1/-1}.qf-case-form label{display:block;font-family:Inter,sans-serif;font-weight:700;line-height:1.25;color:rgba(243,238,225,.78);margin-bottom:7px}.qf-case-form textarea{width:100%;min-height:92px;resize:vertical;box-sizing:border-box;padding:13px 15px;border:1px solid rgba(255,255,255,.22);border-radius:6px;background:rgba(255,255,255,.055);color:#f4efe5;font:inherit;line-height:1.45;outline:none}.qf-case-form textarea::placeholder{color:rgba(243,238,225,.42)}.qf-case-form textarea:focus{border-color:rgba(217,174,99,.78);box-shadow:0 0 0 2px rgba(217,174,99,.08)}.qf-upload-trigger{display:flex!important;align-items:center;gap:11px;min-height:52px;padding:10px 13px;margin-top:6px!important;border:1px dashed rgba(217,174,99,.58);border-radius:10px;background:rgba(255,255,255,.045);color:#f3eee1;cursor:pointer}.qf-upload-trigger:hover{border-color:#d9ae63;background:rgba(217,174,99,.08)}.qf-upload-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:9px;color:#d9ae63;background:rgba(217,174,99,.1);border:1px solid rgba(217,174,99,.2);font-weight:800}.qf-upload-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.qf-upload-copy strong{line-height:1.2;color:#f4efe5}.qf-upload-copy small,.qf-upload-list{line-height:1.35;color:rgba(243,238,225,.58)}.qf-upload-list{margin-top:5px;overflow-wrap:anywhere}.qf-submit-wrap .btn-primary{width:100%}.qf-submit-wrap .btn-primary[disabled]{cursor:wait;opacity:.72}.qf-form-status{display:none;padding:11px 13px;border-radius:9px;font-size:13px;line-height:1.45}.qf-form-status.is-success{display:block;border:1px solid rgba(71,198,127,.38);background:rgba(71,198,127,.11);color:#dff7e8}.qf-form-status.is-error{display:block;border:1px solid rgba(233,110,110,.4);background:rgba(233,110,110,.1);color:#ffe1e1}
.about-pvs-section{padding-top:14px!important;padding-bottom:22px!important;background:transparent!important}.about-pvs-section .section-head{margin-bottom:38px!important}.about-pvs-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;column-gap:94px;margin:0 0 14px;padding:0 0 12px;border-bottom:1px solid rgba(14,59,54,.1)}.about-pvs-intro .side-note{display:flex;align-items:center;gap:12px;font-family:Inter,sans-serif;font-size:14px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.about-pvs-intro .problem{color:#b15b4a}.about-pvs-intro .solution{color:#176b57;justify-content:flex-end;text-align:right}.about-pvs-intro .problem:before,.about-pvs-intro .solution:after{content:"";width:38px;height:1px;flex:0 0 38px;background:#b8863b;opacity:.75}.about-pvs-stream{position:relative}.about-pvs-stream:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;transform:translateX(-50%);background:rgba(184,134,59,.14)}.about-pvs-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 104px minmax(0,1fr);align-items:center;padding:11px 0}.about-pvs-row+.about-pvs-row{border-top:1px solid rgba(14,59,54,.08)}.about-pvs-card{display:grid;grid-template-columns:56px minmax(0,1fr);gap:13px;align-items:start}.about-pvs-card.solution{grid-template-columns:minmax(0,1fr) 56px;text-align:right}.about-pvs-card.solution .about-pvs-copy{grid-column:1;grid-row:1}.about-pvs-card.solution .about-pvs-badge{grid-column:2;grid-row:1;justify-self:end}.about-pvs-badge{width:48px;height:48px;border-radius:17px;display:grid;place-items:center;color:#fff;font:800 19px/1 Inter,sans-serif;box-shadow:0 8px 18px rgba(14,59,54,.08)}.about-pvs-card.problem .about-pvs-badge{background:linear-gradient(145deg,#cb6a58,#a74738)}.about-pvs-card.solution .about-pvs-badge{background:linear-gradient(145deg,#2c9275,#176652)}.about-pvs-eyebrow{display:block;margin-bottom:3px;font:800 13px/1.15 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase}.about-pvs-card.problem .about-pvs-eyebrow{color:#b15b4a}.about-pvs-card.solution .about-pvs-eyebrow{color:#176b57}.about-pvs-card.solution h3,.about-pvs-card.solution p{text-align:right}.about-pvs-copy h3{margin:0 0 3px;color:#082923;font-family:Fraunces,Georgia,serif;font-weight:500;line-height:1.12}.about-pvs-copy p{margin:0;color:#66746f;line-height:1.42}.about-pvs-bridge{position:relative;display:grid;place-items:center;min-height:46px}.about-pvs-bridge:before{content:"";position:absolute;left:8px;right:8px;top:50%;height:1px;background:linear-gradient(90deg,rgba(177,91,74,.38),rgba(184,134,59,.66),rgba(23,107,87,.38))}.about-pvs-arrow{position:relative;z-index:2;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f4eddf;color:#b8863b;border:1px solid rgba(184,134,59,.26);font-size:20px}.about-pvs-note{position:relative;margin-top:42px;padding:22px 0 0;border-top:1px solid rgba(14,59,54,.1)}.about-pvs-note:before{content:"";position:absolute;left:0;top:-1px;width:165px;height:2px;background:#b8863b}.about-pvs-note strong{display:block;color:#082923;font:500 clamp(24px,2vw,30px)/1.08 Fraunces,Georgia,serif}.about-pvs-note strong span{color:#b8863b}.about-pvs-note p{margin:6px 0 0;color:#66746f;font-size:14px;line-height:1.45}.contact-form-section{padding-top:14px!important}
@media(max-width:760px){.qf-case-form{grid-template-columns:1fr}.qf-case-form .qf-full,.qf-submit-wrap,.qf-form-status{grid-column:1}.about-pvs-section{padding-top:10px!important}.about-pvs-section .section-head{margin-bottom:28px!important}.about-pvs-intro{grid-template-columns:1fr;gap:7px}.about-pvs-intro .solution{justify-content:flex-start;text-align:left}.about-pvs-intro .solution:after{display:none}.about-pvs-intro .solution:before{content:"";width:38px;height:1px;background:#b8863b}.about-pvs-stream:before{display:none}.about-pvs-row{grid-template-columns:1fr;gap:8px;padding:13px 0}.about-pvs-bridge{min-height:26px}.about-pvs-bridge:before{left:50%;right:auto;top:0;bottom:0;width:1px;height:auto;background:linear-gradient(180deg,rgba(177,91,74,.38),rgba(184,134,59,.66),rgba(23,107,87,.38))}.about-pvs-arrow{width:34px;height:34px;transform:rotate(90deg)}.about-pvs-card,.about-pvs-card.solution{grid-template-columns:50px minmax(0,1fr);text-align:left}.about-pvs-card.solution .about-pvs-badge{grid-column:1;justify-self:start}.about-pvs-card.solution .about-pvs-copy{grid-column:2}.about-pvs-card.solution h3,.about-pvs-card.solution p{text-align:left}.about-pvs-note{margin-top:28px;padding-top:18px}}
.trust-item{display:flex;gap:5px;align-items:baseline;flex-wrap:wrap}.trust-item .custom-item-fields{flex-basis:100%;margin-top:4px}.about-pvs-row>.custom-item-fields{grid-column:1/-1}

/* =========================================================
   V6 ADMIN-DRIVEN HOSPITAL LOGO TICKER
   ========================================================= */
.hospital-ticker{position:relative;margin-top:14px;overflow:hidden}
.hospital-ticker-window{position:relative;overflow:hidden;padding:8px 0 18px}
.hospital-ticker-window:before,.hospital-ticker-window:after{content:"";position:absolute;z-index:3;top:0;bottom:0;width:92px;pointer-events:none}
.hospital-ticker-window:before{left:0;background:linear-gradient(90deg,rgba(248,250,249,.98),rgba(248,250,249,0))}
.hospital-ticker-window:after{right:0;background:linear-gradient(270deg,rgba(248,250,249,.98),rgba(248,250,249,0))}
.hospital-ticker-track{display:flex;width:max-content;will-change:transform;animation:hospitalTicker var(--ticker-duration,28s) linear infinite}
.hospital-ticker-track.direction-right{animation-direction:reverse}
.hospital-ticker.pause-on-hover:hover .hospital-ticker-track{animation-play-state:paused}
.hospital-ticker-group{display:flex;flex:none;gap:var(--ticker-gap,18px);padding-right:var(--ticker-gap,18px)}
.hospital-ticker-card{flex:0 0 min(var(--ticker-card-width,220px),72vw);width:min(var(--ticker-card-width,220px),72vw);min-height:132px;padding:13px;border:1px solid rgba(20,73,62,.11);border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 10px 28px rgba(13,52,44,.07);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.hospital-ticker-card:hover{transform:translateY(-4px);border-color:rgba(184,134,58,.4);box-shadow:0 16px 34px rgba(13,52,44,.13)}
.hospital-ticker-link{height:100%;display:flex;flex-direction:column;justify-content:center;gap:9px;color:inherit;text-decoration:none}
.hospital-logo-space{height:var(--ticker-logo-height,72px);display:flex;align-items:center;justify-content:center;padding:7px 10px;overflow:hidden;border:1px solid rgba(20,73,62,.08);border-radius:13px;background:#fff}
.hospital-logo-space img{display:block;width:100%;height:100%;object-fit:contain}
.hospital-logo-fallback{display:block;text-align:center;font-weight:800;color:#214f45}.hospital-logo-fallback[hidden]{display:none!important}
.hospital-ticker-name{text-align:center;color:#314f47;font-weight:700;line-height:1.25}
@keyframes hospitalTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:700px){.hospital-ticker-window:before,.hospital-ticker-window:after{width:38px}.hospital-ticker-card{min-height:116px;padding:10px}.hospital-ticker-window{padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){.hospital-ticker-track{animation:none}}


/* V8: Admin text-alignment projection for both block and flex-based CMS elements */
.cms-align-left{--cms-inline-align:flex-start}.cms-align-center{--cms-inline-align:center}.cms-align-right{--cms-inline-align:flex-end}


/* =========================================================
   V10: Future portal login + media-free layouts + alignment
   ========================================================= */
.portal-login{position:relative;flex:none}
.portal-login>summary{list-style:none}.portal-login>summary::-webkit-details-marker{display:none}
.portal-login-button{cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:5px 12px 5px 6px;border-radius:999px;border:1px solid rgba(14,59,54,.18);background:linear-gradient(180deg,#fff,#fbfaf6);color:var(--petrol);font-size:13px;font-weight:800;box-shadow:0 9px 24px -18px rgba(14,59,54,.55);user-select:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.portal-login-button:hover,.portal-login[open] .portal-login-button{border-color:rgba(184,134,59,.7);box-shadow:0 12px 26px -17px rgba(14,59,54,.55);transform:translateY(-1px);color:var(--ink)}
.portal-login-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(14,59,54,.08);color:var(--petrol);transition:background .18s ease}.portal-login-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.portal-login-label{line-height:1}.portal-login-chevron{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}.portal-login[open] .portal-login-chevron{transform:rotate(180deg)}
.portal-login-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:140;width:min(310px,calc(100vw - 28px));padding:8px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 56px -24px rgba(11,33,30,.38)}
.portal-login-menu a,.portal-login-coming{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:11px;color:var(--ink);font-size:12.5px;font-weight:700}
.portal-login-menu a:hover{background:var(--ivory-dim);color:var(--petrol)}
.portal-login-coming{color:var(--text-soft);cursor:default}.portal-login-coming small{font-size:10px;font-weight:700;color:var(--brass);white-space:nowrap}
.login-setting-row{display:flex;align-items:center;gap:12px}.login-setting-row>input{flex:1}

/* When media is removed, copy expands instead of leaving an empty half-card. */
.campaign-slide.no-media{grid-template-columns:1fr}
.campaign-slide.no-media .campaign-card{min-height:0}
.video-block.no-media{grid-template-columns:1fr}
.video-block.no-media .video-copy{max-width:860px}

/* Section-level Left/Center/Right now moves constrained heading blocks too. */
.site-section .section-head,
.about-pvs-section .section-head{
  margin-inline-start:var(--cms-section-start,0px);
  margin-inline-end:var(--cms-section-end,0px);
}
.site-section .eyebrow,
.about-pvs-section .eyebrow{
  justify-content:var(--cms-section-flex,flex-start);
}

/* Explicitly aligned CMS text always wins over theme defaults. */
[style*="text-align:left!important"]{text-align:left!important}
[style*="text-align:center!important"]{text-align:center!important}
[style*="text-align:right!important"]{text-align:right!important}
[style*="text-align:justify!important"]{text-align:justify!important;text-justify:inter-word!important}

@media(max-width:880px){
  nav.links .portal-login{width:100%}
  nav.links .portal-login-button{width:100%;justify-content:space-between}
  nav.links .portal-login-menu{position:static;width:100%;margin-top:8px;box-shadow:none}
}

/* =========================================================
   V10 — ADMIN-CONTROLLED FULL-WIDTH AD CAMPAIGN TILE
   Edge-to-edge by default: no blue side gutters are exposed.
   Width/height/media fit are projected from each Campaign item.
   ========================================================= */
.campaign-spotlight{
  width:100%;
  padding:0;
  margin:0;
  background:transparent;
  border-bottom:0;
  overflow:hidden;
}
.campaign-stage{
  position:relative;
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}
.campaign-slide{
  width:var(--campaign-width,100%);
  max-width:none;
  height:var(--campaign-height-desktop,520px);
  min-height:0;
  margin:0 auto;
  border-radius:var(--campaign-radius,0px);
  overflow:hidden;
}
.campaign-slide.campaign-full-width{
  width:100%;
  margin:0;
  border-left:0;
  border-right:0;
  border-radius:0;
  box-shadow:none;
}
.campaign-visual{
  height:100%;
  min-height:0;
  background:#07131a;
}
.campaign-hero-image,
.campaign-hero-video{
  object-fit:var(--campaign-media-fit,cover);
  object-position:var(--campaign-media-x,center) var(--campaign-media-y,center);
}
.campaign-slide.media-only{
  grid-template-columns:1fr;
  grid-template-rows:1fr;
  height:var(--campaign-height-desktop,520px);
  min-height:0;
}
.campaign-slide.media-only .campaign-visual{
  height:100%;
  min-height:0;
  aspect-ratio:auto;
}
.campaign-slide .campaign-card{
  height:100%;
  min-height:0;
  overflow:hidden;
}
.campaign-slide .campaign-card-body{
  min-height:0;
  overflow-y:auto;
}
.campaign-slide.no-media{
  grid-template-columns:1fr;
  grid-template-rows:1fr;
}
.campaign-dots{
  position:absolute;
  z-index:20;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  margin:0;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(8px);
}

@media(max-width:880px){
  .campaign-slide{
    width:var(--campaign-width,100%);
    height:var(--campaign-height-tablet,420px);
  }
  .campaign-slide:not(.media-only):not(.no-media){
    grid-template-columns:1fr;
    grid-template-rows:52% 48%;
  }
  .campaign-slide.media-only{
    height:var(--campaign-height-tablet,420px);
    grid-template-rows:1fr;
  }
  .campaign-slide.no-media{
    grid-template-columns:1fr;
    grid-template-rows:1fr;
  }
  .campaign-visual{
    min-height:0;
    height:100%;
  }
}

@media(max-width:560px){
  .campaign-spotlight{padding:0}
  .campaign-slide{
    height:var(--campaign-height-mobile,300px);
    border-radius:var(--campaign-radius,0px);
  }
  .campaign-slide.campaign-full-width{border-radius:0}
  .campaign-slide.media-only{height:var(--campaign-height-mobile,300px)}
  .campaign-slide:not(.media-only):not(.no-media){grid-template-rows:48% 52%}
}


/* =========================================================
   V11 — CAMPAIGN VIDEO SAFE-FIT / NO-CROP
   The foreground shows 100% of the video. A blurred copy behind it
   fills the full-width tile, preventing visible page-background gutters.
   ========================================================= */
.campaign-video-stack{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;background:#07131a}
.campaign-video-stack .campaign-video-backdrop,.campaign-video-stack .campaign-video-front{position:absolute;inset:0;width:100%;height:100%;border:0}
.campaign-video-stack.video-no-crop .campaign-video-backdrop{display:block;z-index:0;object-fit:cover;object-position:var(--campaign-media-x,center) var(--campaign-media-y,center);filter:blur(22px) saturate(.9) brightness(.72);transform:scale(1.09);opacity:.88;pointer-events:none}
.campaign-video-stack.video-no-crop .campaign-video-front{z-index:1;object-fit:contain!important;object-position:center center!important;background:transparent}
.campaign-video-stack.video-fill .campaign-video-backdrop{display:none}
.campaign-video-stack.video-fill .campaign-video-front{z-index:1;object-fit:cover!important;object-position:var(--campaign-media-x,center) var(--campaign-media-y,center)!important;background:#07131a}
