/*
Theme Name: MedCare Marketing
Theme URI: https://www.medcaremarketing.com/
Author: MedCare Marketing
Description: Healthcare digital marketing agency theme. Accessible, WCAG-minded design with Elementor-editable page sections (category "MedCare Sections"), mega-menu navigation, structured-data SEO and AI-search-ready content patterns.
Version: 1.0.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: medcare-marketing
*/

:root{
  /* Refined healthcare-blue system (v2 revamp): a calmer royal blue on cleaner
     cool-neutral surfaces, one warm coral accent, softer diffuse shadows.
     Token names kept from v1 (--teal = brand blue) for compatibility. */
  --ink:#0C1A3C;          /* deep navy ground */
  --ink-soft:#25365F;
  --teal:#2B4EDC;         /* brand blue (primary) */
  --teal-deep:#1E3AB8;    /* hover / deep */
  --teal-tint:#EEF2FE;    /* light blue surface */
  --mint:#DCE6FD;         /* light blue */
  --sky:#9DB6FF;          /* light accent on dark grounds */
  --coral:#F26A4B;        /* softened warm accent (sparing) */
  --amber:#F6A82A;
  --success:#129E6A;
  --paper:#FFFFFF;
  --cloud:#F7F9FC;        /* calm soft surface */
  --line:#E8ECF6;         /* soft border */
  --txt:#1B2444;          /* warm near-navy body text */
  --txt-soft:#5A6788;     /* muted text */
  --radius:18px;
  --shadow-sm:0 1px 2px rgba(12,26,60,.05),0 4px 14px rgba(12,26,60,.06);
  --shadow-md:0 8px 24px rgba(12,26,60,.08),0 20px 48px rgba(12,26,60,.10);
  --font-display:"Sora",system-ui,sans-serif;
  --font-body:"Inter",system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
body.mc{font-family:var(--font-body);font-size:16px;line-height:1.65;color:var(--txt);background:var(--paper);overflow-x:clip}
body.mc h1,body.mc h2,body.mc h3,body.mc h4{font-family:var(--font-display);color:var(--ink);line-height:1.16;letter-spacing:-.02em}
body.mc h3,body.mc h4{letter-spacing:-.01em}
body.mc p{text-wrap:pretty}
body.mc img,body.mc svg{max-width:100%}
body.mc svg{display:block}
body.mc a{color:var(--teal-deep)}
body.mc :focus-visible{outline:3px solid var(--teal);outline-offset:2px;border-radius:6px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 18px;z-index:300;border-radius:0 0 8px 0}
.skip-link:focus{left:0}
.mc-container{max-width:1180px;margin:0 auto;padding:0 24px}
body.mc .btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:16px;border-radius:999px;padding:13px 26px;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .15s ease;min-height:48px}
body.mc .btn svg{width:18px;height:18px;flex:none}
body.mc .btn-primary{background:var(--teal);color:#fff;box-shadow:0 6px 18px rgba(43,78,220,.22)}
body.mc .btn-primary:hover{background:var(--teal-deep);color:#fff;transform:translateY(-1px);box-shadow:0 10px 24px rgba(43,78,220,.28)}
body.mc .btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
body.mc .btn-ghost:hover{border-color:var(--teal);color:var(--teal-deep)}
body.mc .btn-light{background:#fff;color:var(--ink);box-shadow:0 6px 18px rgba(12,26,60,.14)}
body.mc .btn-light:hover{background:var(--mint);color:var(--ink);transform:translateY(-1px)}
body.mc .btn-inverse{color:#fff;border-color:rgba(255,255,255,.35);background:transparent}
body.mc .btn-inverse:hover{border-color:#fff;color:#fff}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:14px}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--coral);border-radius:2px}
.mc-section{padding:96px 0}
.section-head{max-width:700px;margin-bottom:52px}
.section-head h1,.section-head h2{font-size:clamp(28px,4vw,40px);font-weight:700;margin-bottom:15px}
.section-head p{color:var(--txt-soft);font-size:17px;line-height:1.6}
@media(max-width:640px){.mc-section{padding:64px 0}}
.section-head.center{text-align:center;margin-left:auto;margin-right:auto}
.section-head.center .eyebrow{justify-content:center}

/* ---------- topbar ---------- */
.topbar{background:var(--ink);color:#E3EAFB;font-size:14px}
.topbar .mc-container{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px;padding-top:6px;padding-bottom:6px}
.topbar a{color:#fff;font-weight:600}
.topbar .offer{display:flex;align-items:center;gap:10px}
.topbar .offer .dot{width:8px;height:8px;border-radius:50%;background:var(--coral);flex:none}
.topbar .reach{display:flex;gap:22px;white-space:nowrap}
.topbar .reach a{display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-weight:500}
.topbar .reach svg{width:15px;height:15px}
@media(max-width:760px){.topbar .reach{display:none}}

/* ---------- header ---------- */
.mc-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
body.mc.admin-bar .mc-header{top:32px}
@media(max-width:782px){body.mc.admin-bar .mc-header{top:46px}}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:74px}
.mc-logo{display:flex;align-items:center;gap:11px;text-decoration:none}
.mc-logo .logo-mark{width:42px;height:42px;flex:none}
.logo-text{font-family:var(--font-display);font-weight:800;font-size:21px;color:var(--ink);line-height:1.05}
.logo-text span{display:block;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--teal)}
.main-nav{display:flex;align-items:center;gap:4px;list-style:none}
.main-nav>li{position:relative}
.main-nav .nav-link{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-weight:600;font-size:15.5px;color:var(--ink);text-decoration:none;padding:26px 14px;background:none;border:none;cursor:pointer}
/* Kill native button chrome (macOS/Chrome draw a dark pill on focus/active
   for <button> with appearance:auto, regardless of a transparent background). */
body.mc .main-nav .nav-link,body.mc .burger,body.mc .drawer-close,body.mc .drawer-scrim,body.mc .videoband-toggle{-webkit-appearance:none;appearance:none}
body.mc .main-nav .nav-link:focus,body.mc .main-nav .nav-link:active{background:none}
/* Subtle, on-brand hover/open state for the nav items. */
body.mc .main-nav>li:hover>.nav-link,body.mc .main-nav>li:focus-within>.nav-link{color:var(--teal-deep);background:var(--teal-tint);border-radius:12px}
.main-nav .nav-link:hover{color:var(--teal-deep)}
.main-nav .nav-link .caret{width:14px;height:14px;transition:transform .2s ease}
.main-nav>li:hover .nav-link .caret,.main-nav>li:focus-within .nav-link .caret{transform:rotate(180deg)}
.nav-cta{display:flex;align-items:center;gap:14px}
.nav-phone{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--ink);text-decoration:none;white-space:nowrap}
.nav-phone svg{width:17px;height:17px;color:var(--teal)}
.nav-phone:hover{color:var(--teal-deep)}

/* ---------- mega menu ---------- */
.mega-panel,.drop-panel{position:absolute;top:100%;left:50%;transform:translate(-50%,8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease;z-index:110}
.main-nav>li:hover>.mega-panel,.main-nav>li:focus-within>.mega-panel,
.main-nav>li:hover>.drop-panel,.main-nav>li:focus-within>.drop-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.mega-panel{width:min(1140px,calc(100vw - 32px))}
/* A mega panel centers on the viewport, not its trigger: the sticky header is
   the containing block once the li is static, so it can never clip off-screen. */
.main-nav>li:has(.mega-panel){position:static}
.mega-cols{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-md);overflow:hidden;display:flex}
.mega-col{padding:28px 24px;border-right:1px solid var(--line);flex:1;min-width:0}
.mega-col:last-child{border-right:none}
.mega-col-title{display:flex;align-items:center;gap:9px;font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:16px}
.mega-col-title svg{width:17px;height:17px;flex:none;color:var(--coral)}
.mega-col ul{list-style:none}
.mega-col li a{display:block;padding:7px 8px;margin:0 -8px;border-radius:8px;font-size:14.5px;font-weight:500;color:var(--txt);text-decoration:none;white-space:nowrap;transition:background .15s ease,color .15s ease}
.mega-col li a:hover{background:var(--teal-tint);color:var(--teal-deep)}
.mega-feature{background:linear-gradient(160deg,var(--ink) 0%,#17307E 70%,var(--teal-deep) 100%);color:#D8E1F8;padding:28px 24px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;flex:0 0 230px}
.mega-feature strong{font-family:var(--font-display);font-size:18px;line-height:1.3;color:#fff}
.mega-feature p{font-size:13.5px;line-height:1.5}
.mega-feature a{color:#fff;font-weight:700;font-size:14px;text-decoration:none;display:inline-flex;align-items:center;gap:6px;margin-top:4px}
.mega-feature a svg{width:15px;height:15px}
.mega-feature .pulse-mini{opacity:.5;margin-bottom:auto}
.drop-panel{width:250px}
.drop-panel ul{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-md);padding:12px;list-style:none}
.drop-panel li a{display:block;padding:9px 12px;border-radius:8px;font-size:14.5px;font-weight:500;color:var(--txt);text-decoration:none}
.drop-panel li a:hover{background:var(--teal-tint);color:var(--teal-deep)}

/* mobile nav */
.burger{display:none;background:none;border:none;cursor:pointer;padding:10px;border-radius:10px}
.burger svg{width:26px;height:26px;color:var(--ink)}
.drawer{position:fixed;inset:0;z-index:200;display:none}
.drawer.open{display:block}
.drawer-scrim{position:absolute;inset:0;background:rgba(12,26,60,.55);border:0}
.drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(380px,92vw);background:#fff;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px 22px 40px;display:flex;flex-direction:column;gap:4px}
.drawer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.drawer-close{background:var(--cloud);border:1px solid var(--line);border-radius:10px;padding:9px;cursor:pointer}
.drawer-close svg{width:20px;height:20px;color:var(--ink)}
.drawer details{border-bottom:1px solid var(--line)}
.drawer summary{list-style:none;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-display);font-weight:600;font-size:17px;color:var(--ink);padding:15px 4px;cursor:pointer}
.drawer summary::-webkit-details-marker{display:none}
.drawer summary svg{width:16px;height:16px;transition:transform .2s ease}
.drawer details[open] summary svg{transform:rotate(180deg)}
.drawer .d-group{padding:2px 4px 14px}
.drawer .d-group h5{font-family:var(--font-display);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-deep);margin:12px 0 6px}
.drawer .d-group a{display:block;padding:7px 10px;border-radius:8px;font-size:15px;color:var(--txt);text-decoration:none}
.drawer .d-group a:hover{background:var(--teal-tint)}
.drawer .d-link{display:block;font-family:var(--font-display);font-weight:600;font-size:17px;color:var(--ink);text-decoration:none;padding:15px 4px;border-bottom:1px solid var(--line)}
.drawer .drawer-cta{margin-top:22px;display:flex;flex-direction:column;gap:12px}
@media(max-width:1080px){
  body.mc .main-nav,body.mc .nav-cta .btn,body.mc .nav-cta .nav-phone{display:none}
  body.mc .burger{display:block}
}

/* ---------- mobile action bar (call + book) ---------- */
.mc-mobilebar{display:none}
@media(max-width:1080px){
  .mc-mobilebar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:90;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-top:1px solid var(--line);
    box-shadow:0 -4px 20px rgba(12,26,60,.10)}
  .mc-mobilebar a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;
    border-radius:999px;font-family:var(--font-display);font-weight:700;font-size:14.5px;text-decoration:none;
    border:2px solid transparent;white-space:nowrap}
  .mc-mobilebar .mmb-call{background:var(--teal-tint);color:var(--teal-deep);border-color:var(--mint)}
  .mc-mobilebar .mmb-call svg{width:17px;height:17px;flex:none}
  .mc-mobilebar .mmb-cta{background:var(--teal);color:#fff}
  /* Reserve space so the fixed bar never covers the footer or page content. */
  body.mc{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
}
@media(max-width:380px){
  .mc-mobilebar a{font-size:13px;gap:6px}
  .mc-mobilebar .mmb-call span{font-size:12.5px}
}

/* ---------- hero ---------- */
.mc-hero{position:relative;background:linear-gradient(165deg,#0C1A3C 0%,#14286B 55%,#2A49CE 130%);color:#D6E2F4;overflow:hidden}
.mc-hero::after{content:"";position:absolute;right:-140px;top:-140px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(43,78,220,.35),transparent 65%)}
.mc-hero .mc-container{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:88px;padding-bottom:84px}
.hero-video-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-video-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-video-bg .hero-video-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,27,63,.92) 0%,rgba(10,27,63,.86) 55%,rgba(13,42,107,.9) 100%)}
.mc-hero.has-video::after{opacity:.5}
@media (prefers-reduced-motion:reduce){.hero-video-bg video{display:none}}
.hero-lead-col{max-width:820px;width:100%;margin:0 auto}
.hero-badge{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:7px 16px;font-size:13.5px;font-weight:600;color:#fff;margin-bottom:24px}
.hero-badge svg{width:15px;height:15px;color:var(--amber)}
.mc-hero h1{color:#fff;font-size:clamp(34px,4.8vw,56px);font-weight:800;margin-bottom:22px;text-wrap:balance}
.mc-hero h1 em{font-style:normal;color:#9DB6FF;position:relative;white-space:nowrap}
.mc-hero h1 em .underline-svg{position:absolute;left:0;bottom:-10px;width:100%;height:12px;color:var(--coral)}
.mc-hero p.lead{font-size:18px;max-width:640px;margin:0 auto 34px;text-wrap:pretty}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:34px;justify-content:center}
.hero-proof{display:flex;flex-wrap:wrap;gap:14px 30px;justify-content:center}
.hero-proof .item{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:#fff}
.hero-proof .item svg{width:19px;height:19px;color:#9DB6FF;flex:none}
/* Organized stat row (replaces floating cards). */
.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:100%;max-width:940px;margin:60px auto 0}
.hero-stat{background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.5);border-radius:18px;box-shadow:var(--shadow-md);padding:26px 24px;text-align:center}
.hero-stat .num{font-family:var(--font-display);font-weight:800;font-size:clamp(30px,3.4vw,40px);color:var(--teal-deep);line-height:1}
.hero-stat .lbl{font-size:14px;color:var(--txt-soft);margin-top:8px;line-height:1.4}
.hero-stat .trend{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:#129E6A;background:#E7F6EF;border-radius:999px;padding:4px 11px;margin-top:12px}
.hero-stat .trend svg{width:12px;height:12px}
@media(max-width:960px){
  .mc-hero .mc-container{padding-top:60px;padding-bottom:64px}
  .hero-stats{margin-top:44px}
}
@media(max-width:640px){
  .hero-stats{grid-template-columns:1fr;max-width:420px;gap:14px}
  .mc-hero h1 em{white-space:normal}
  /* Stack the two CTAs full-width so each label stays on one line. */
  .hero-ctas{flex-direction:column;flex-wrap:nowrap;gap:12px;width:100%;max-width:360px}
  .hero-ctas .btn{width:100%;justify-content:center;padding:14px 18px;font-size:15px;white-space:nowrap}
  .hero-ctas .btn svg{width:16px;height:16px}
  /* Keep the three proof points on one line. */
  .hero-proof{flex-wrap:nowrap;gap:8px;justify-content:center;width:100%}
  .hero-proof .item{font-size:10.5px;gap:5px;white-space:nowrap;min-width:0}
  .hero-proof .item svg{width:13px;height:13px}
}
/* Keep all three proof points on one line by shrinking to fit narrower phones
   (Lexend/Inter run a touch wider than the previous fonts). */
@media(max-width:440px){
  .hero-proof{gap:6px}
  .hero-proof .item{font-size:9px;gap:4px}
  .hero-proof .item svg{width:12px;height:12px}
}
@media(max-width:384px){
  .hero-proof{gap:5px}
  .hero-proof .item{font-size:8px}
  .hero-proof .item svg{width:10px;height:10px}
}

/* ---------- pagehead ---------- */
.mc-pagehead{background:linear-gradient(165deg,#0C1A3C 0%,#14286B 60%,#2A49CE 140%);color:#C7D4F2;position:relative;overflow:hidden}
.mc-pagehead::after{content:"";position:absolute;right:-160px;top:-160px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(43,78,220,.35),transparent 65%)}
.mc-pagehead .mc-container{position:relative;z-index:2;padding-top:72px;padding-bottom:72px;max-width:880px;text-align:center}
.mc-pagehead .crumbs{font-size:13.5px;margin-bottom:18px;color:#9FB4E8}
.mc-pagehead .crumbs a{color:#C9D6F5;text-decoration:none}
.mc-pagehead .crumbs a:hover{color:#fff;text-decoration:underline}
.mc-pagehead .crumbs .sep{margin:0 8px;opacity:.6}
.mc-pagehead .eyebrow{color:#9DB6FF}
.mc-pagehead h1{color:#fff;font-size:clamp(30px,4.4vw,46px);font-weight:800;margin-bottom:16px}
.mc-pagehead p.lead{font-size:17.5px;max-width:680px;margin:0 auto 28px}
.mc-pagehead .ph-ctas{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}

/* ---------- photo layouts ---------- */
/* Inner-page header: centered text, then a full-width banner photo below. */
.mc-pagehead.has-photo .mc-container{max-width:1140px}
.mc-pagehead.has-photo .crumbs,.mc-pagehead.has-photo h1,.mc-pagehead.has-photo p.lead{max-width:840px;margin-left:auto;margin-right:auto}
.mc-pagehead.has-photo .ph-banner{margin:44px auto 0;max-width:1120px;border-radius:22px;overflow:hidden;box-shadow:var(--shadow-md);border:1px solid rgba(255,255,255,.22);position:relative}
.mc-pagehead.has-photo .ph-banner img{display:block;width:100%;aspect-ratio:24/9;object-fit:cover;max-height:380px}
@media(max-width:640px){.mc-pagehead.has-photo .ph-banner img{aspect-ratio:16/10}}
.quote-panel .panel-photo{margin:0 0 24px;position:relative;z-index:2}
.quote-panel .panel-photo img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.2)}

/* ---------- trust strip (one wide line) ---------- */
.mc-trust{background:var(--cloud);border-bottom:1px solid var(--line);padding:26px 0}
.mc-trust .mc-container{max-width:1320px;display:flex;align-items:center;gap:20px 32px;flex-wrap:nowrap;justify-content:center}
.mc-trust .cap{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--txt-soft);flex:none;white-space:nowrap}
.mc-trust .name{font-family:var(--font-display);font-weight:700;font-size:16px;color:#7C8BA8;display:inline-flex;align-items:center;gap:8px;flex:none}
.mc-trust .name svg{width:17px;height:17px;color:#9FAECB}
.mc-trust .trust-logo{height:40px;width:auto;max-width:148px;object-fit:contain;filter:grayscale(35%);opacity:.85;transition:filter .2s ease,opacity .2s ease}
.mc-trust .name:hover .trust-logo{filter:none;opacity:1}
.mc-trust.trust-dark{background:var(--ink);border-bottom:none}
.mc-trust.trust-dark .cap{color:#8FA2C6}
.mc-trust.trust-dark .trust-logo{background:#fff;border-radius:10px;padding:8px 14px;height:50px;filter:none;opacity:1}
@media(max-width:1024px){.mc-trust .mc-container{flex-wrap:wrap}}

/* ---------- cards (generic) ---------- */
.mc-cards .cards-grid{display:grid;gap:22px}
.mc-cards .cols-2{grid-template-columns:repeat(2,1fr)}
.mc-cards .cols-3{grid-template-columns:repeat(3,1fr)}
.mc-cards .cols-4{grid-template-columns:repeat(4,1fr)}
.mc-card{background:var(--cloud);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;position:relative;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;display:block;text-decoration:none}
.mc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
a.mc-card:hover{border-color:var(--teal)}
.mc-card .icon{width:50px;height:50px;border-radius:14px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.mc-card .icon svg{width:25px;height:25px;color:var(--teal-deep)}
.mc-cards.tone-coral .mc-card .icon svg{color:var(--coral)}
.mc-card h3{font-size:19px;margin-bottom:9px}
.mc-card p{font-size:14.5px;color:var(--txt-soft)}
.mc-card .fix{display:inline-flex;align-items:center;gap:7px;margin-top:15px;font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--teal-deep)}
.mc-card .fix svg{width:15px;height:15px}
.mc-cards.style-steps .mc-card{background:#fff}
.mc-cards.style-steps .step-num{font-family:var(--font-display);font-weight:800;font-size:15px;color:#fff;background:var(--teal);width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.mc-cards.style-checks .mc-card{display:flex;gap:14px;padding:18px 20px;align-items:flex-start;background:#fff}
.mc-cards.style-checks .mc-card .icon{width:30px;height:30px;border-radius:50%;background:var(--teal-tint);border:none;margin:2px 0 0}
.mc-cards.style-checks .mc-card .icon svg{width:15px;height:15px}
.mc-cards.style-checks .mc-card h3{font-size:16px;margin-bottom:3px}
.mc-cards .pillar-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.mc-cards .pillar-head .pill-ic{width:38px;height:38px;border-radius:11px;background:var(--ink);display:flex;align-items:center;justify-content:center;flex:none}
.mc-cards .pillar-head .pill-ic svg{width:19px;height:19px;color:#9DB6FF}
.mc-cards .pillar-head h3{font-size:21px}
.mc-cards .pillar-head span{font-size:14px;color:var(--txt-soft)}
@media(max-width:1000px){.mc-cards .cols-4,.mc-cards .cols-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.mc-cards .cols-4,.mc-cards .cols-3,.mc-cards .cols-2{grid-template-columns:1fr}}

/* ---------- cases ---------- */
.mc-cases{background:var(--ink);color:#C7D4F2;position:relative;overflow:hidden}
.mc-cases::before{content:"";position:absolute;left:-160px;bottom:-160px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(43,78,220,.28),transparent 65%)}
.mc-cases .section-head h2{color:#fff}
.mc-cases .section-head p{color:#A6B6DC}
.mc-cases .eyebrow{color:#9DB6FF}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative;z-index:2}
.case{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:32px 28px;display:flex;flex-direction:column;transition:background .2s ease,transform .2s ease}
.case:hover{background:rgba(255,255,255,.09);transform:translateY(-4px)}
.case .tag{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9DB6FF;background:rgba(157,182,255,.12);border-radius:999px;padding:5px 12px;margin-bottom:22px}
.case .big{font-family:var(--font-display);font-weight:800;font-size:52px;color:#fff;line-height:1}
.case .big small{font-size:22px;color:var(--coral);vertical-align:top}
.case h3{color:#fff;font-size:19px;margin:10px 0 8px}
.case p{font-size:14.5px;color:#A6B6DC;flex:1}
.case .case-link{display:inline-flex;align-items:center;gap:7px;margin-top:20px;color:#fff;font-family:var(--font-display);font-weight:600;font-size:14.5px;text-decoration:none}
.case .case-link svg{width:15px;height:15px;transition:transform .2s ease}
.case .case-link:hover svg{transform:translateX(3px)}
@media(max-width:900px){.case-grid{grid-template-columns:1fr}}

/* ---------- stats band ---------- */
.mc-stats{background:var(--teal);color:#fff}
.mc-stats .mc-container{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:44px;padding-bottom:44px;text-align:center}
.mc-stats .num{font-family:var(--font-display);font-weight:800;font-size:38px;line-height:1;color:#fff}
.mc-stats .lbl{font-size:14px;margin-top:6px;color:#D6DFFB}
@media(max-width:760px){.mc-stats .mc-container{grid-template-columns:repeat(2,1fr)}}

/* ---------- testimonials ---------- */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.testi-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.testi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.testi .stars{display:flex;gap:3px;margin-bottom:16px}
.testi .stars svg{width:17px;height:17px;color:var(--amber)}
.testi blockquote{font-size:15.5px;color:var(--txt);flex:1;border:0;padding:0}
.testi .who{display:flex;align-items:center;gap:13px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.testi .who .av{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:15px;color:#fff;flex:none}
.testi .who strong{font-family:var(--font-display);font-size:15px;color:var(--ink);display:block}
.testi .who span{font-size:13px;color:var(--txt-soft)}
.rating-line{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:40px;font-family:var(--font-display);font-weight:600;color:var(--ink)}
.rating-line svg{width:18px;height:18px;color:var(--amber)}
@media(max-width:900px){.testi-grid,.testi-grid.cols-2{grid-template-columns:1fr}}

/* ---------- split (content + quote panel) ---------- */
.mc-split{background:var(--cloud)}
.mc-split .split-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.mc-split h2{font-size:clamp(28px,4vw,38px);margin-bottom:30px}
.why-list{display:flex;flex-direction:column;gap:22px}
.why-item{display:flex;gap:16px}
.why-item .w-ic{width:46px;height:46px;border-radius:13px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex:none}
.why-item .w-ic svg{width:22px;height:22px;color:var(--teal-deep)}
.why-item h3{font-size:18px;margin-bottom:5px}
.why-item p{font-size:14.5px;color:var(--txt-soft)}
.quote-panel{position:relative;background:linear-gradient(160deg,var(--ink),#17307E);border-radius:24px;padding:44px 40px;color:#fff;overflow:hidden}
.quote-panel::after{content:"";position:absolute;right:-90px;bottom:-90px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(242,106,75,.35),transparent 65%)}
.quote-panel .q{font-family:var(--font-display);font-size:22px;font-weight:600;line-height:1.45;position:relative;z-index:2}
.quote-panel .sig{margin-top:26px;font-size:14px;color:#A6B6DC;position:relative;z-index:2}
.quote-panel .badge-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px;position:relative;z-index:2}
.quote-panel .badge-row span{font-size:12.5px;font-weight:600;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:6px 13px;display:inline-flex;align-items:center;gap:6px}
.quote-panel .badge-row svg{width:14px;height:14px;color:#9DB6FF}
.quote-panel .pulse-mini{margin-bottom:22px;opacity:.6;width:90px}
@media(max-width:960px){.mc-split .split-grid{grid-template-columns:1fr}}

/* ---------- faq ---------- */
.faq-wrap{max-width:800px;margin:0 auto}
.mc-faq-item{border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:14px;overflow:hidden}
.mc-faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;font-family:var(--font-display);font-weight:600;font-size:17px;color:var(--ink);cursor:pointer}
.mc-faq-item summary::-webkit-details-marker{display:none}
.mc-faq-item summary .plus{width:30px;height:30px;border-radius:50%;background:var(--teal-tint);display:flex;align-items:center;justify-content:center;flex:none;transition:transform .2s ease}
.mc-faq-item summary .plus svg{width:15px;height:15px;color:var(--teal-deep)}
.mc-faq-item[open] summary .plus{transform:rotate(45deg)}
.mc-faq-item .faq-body{padding:0 24px 22px;color:var(--txt-soft);font-size:15.5px}
.mc-faq-item .faq-body a{color:var(--teal-deep)}

/* ---------- cta ---------- */
.mc-cta{background:linear-gradient(150deg,var(--teal-deep) 0%,var(--teal) 55%,#4763E6 100%);color:#fff;position:relative;overflow:hidden}
.mc-cta::before{content:"";position:absolute;left:50%;top:-220px;width:560px;height:560px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 65%)}
.mc-cta .mc-container{position:relative;z-index:2;text-align:center;padding-top:84px;padding-bottom:84px;max-width:820px}
.mc-cta h2{color:#fff;font-size:clamp(28px,3.6vw,40px);font-weight:800;margin-bottom:16px}
/* Heading on one line from tablet up; wraps only on small phones. */
@media(min-width:700px){.mc-cta h2{white-space:nowrap}}
.mc-cta p{font-size:17.5px;color:#DEE7FC;margin:0 auto 34px;max-width:730px;line-height:1.55;text-wrap:balance}
.mc-cta .cta-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
@media(max-width:520px){.mc-cta .cta-row{flex-direction:column;align-items:stretch;max-width:360px;margin:0 auto}.mc-cta .cta-row .btn{width:100%;justify-content:center}}
.mc-cta .note{margin-top:20px;font-size:13.5px;color:#C4D2F6;display:flex;justify-content:center;align-items:center;gap:7px}
.mc-cta .note svg{width:15px;height:15px}

/* ---------- prose ---------- */
.mc-prose{max-width:780px;margin:0 auto}
.mc-prose h2{font-size:26px;margin:38px 0 14px}
.mc-prose h3{font-size:20px;margin:28px 0 10px}
.mc-prose p{margin-bottom:16px}
.mc-prose ul,.mc-prose ol{margin:0 0 18px 22px}
.mc-prose li{margin-bottom:8px}
.mc-prose .tldr{background:var(--teal-tint);border:1px solid var(--mint);border-left:4px solid var(--teal);border-radius:12px;padding:18px 22px;margin-bottom:28px;font-size:15.5px}
.mc-prose .tldr strong{font-family:var(--font-display);color:var(--teal-deep);display:block;margin-bottom:6px;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.mc-prose blockquote{border-left:4px solid var(--coral);padding:6px 0 6px 20px;margin:22px 0;color:var(--ink-soft);font-style:italic}
.mc-prose table{width:100%;border-collapse:collapse;margin:22px 0;font-size:15px}
.mc-prose th,.mc-prose td{border:1px solid var(--line);padding:10px 14px;text-align:left}
.mc-prose th{background:var(--cloud);font-family:var(--font-display)}

/* ---------- certifications / partners ---------- */
.mc-certs{padding:44px 0}
.mc-certs.mc-certs--light{background:var(--paper);--certbg:#FFFFFF}
.mc-certs.mc-certs--cloud{background:var(--cloud);border-top:1px solid var(--line);border-bottom:1px solid var(--line);--certbg:#F7F9FC}
.mc-certs.mc-certs--dark{background:var(--ink);--certbg:#0C1A3C}
.mc-certs .certs-head{text-align:center;margin-bottom:26px}
.mc-certs .certs-head .eyebrow{justify-content:center}
.mc-certs.mc-certs--dark .certs-head .eyebrow{color:#9DB6FF}
.mc-certs.mc-certs--dark .certs-head h2{color:#fff}
.certs-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px 44px}
.cert-badge{display:inline-flex;align-items:center;color:#66718A;transition:color .2s ease,opacity .2s ease;opacity:.9}
.cert-badge:hover{color:var(--ink);opacity:1}
.mc-certs--dark .cert-badge{color:#C7D4F2}
.mc-certs--dark .cert-badge:hover{color:#fff}
.cert-badge svg{height:44px;width:auto;display:block}
@media(max-width:900px){.certs-row{gap:18px 30px}.cert-badge svg{height:38px}}
@media(max-width:520px){.certs-row{gap:16px 22px}.cert-badge svg{height:32px}}

/* ---------- video band ---------- */
.mc-videoband{background:var(--ink);color:#fff}
.mc-videoband .section-head h2{color:#fff}
.mc-videoband .section-head p{color:#A6B6DC}
.mc-videoband .eyebrow{color:#9DB6FF}
.videoband-frame{position:relative;margin:0;border-radius:22px;overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:16/9;background:#0C1A3C}
.videoband-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.videoband-toggle{position:absolute;right:18px;bottom:18px;width:48px;height:48px;border-radius:50%;border:none;background:rgba(10,27,63,.6);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);transition:background .2s ease}
.videoband-toggle:hover{background:rgba(43,78,220,.85)}
.videoband-toggle svg{width:20px;height:20px}
.videoband-caption{position:absolute;left:24px;bottom:22px;max-width:60%;font-family:var(--font-display);font-weight:600;font-size:18px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.5)}
@media(max-width:600px){.videoband-caption{font-size:15px;max-width:75%}}

/* ---------- contact ---------- */
.mc-contact .contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
.contact-info{display:flex;flex-direction:column;gap:18px}
.contact-info .ci{display:flex;gap:15px;background:var(--cloud);border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.contact-info .ci .ic{width:44px;height:44px;border-radius:12px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex:none}
.contact-info .ci .ic svg{width:21px;height:21px;color:var(--teal-deep)}
.contact-info .ci h3{font-size:16px;margin-bottom:3px}
.contact-info .ci p,.contact-info .ci a{font-size:14.5px;color:var(--txt-soft);text-decoration:none}
.contact-info .ci a:hover{color:var(--teal-deep);text-decoration:underline}
.mc-form{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);padding:34px 32px}
.mc-form h3{font-size:21px;margin-bottom:20px}
.mc-form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mc-form .field{margin-bottom:16px}
.mc-form label{display:block;font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--ink);margin-bottom:6px}
.mc-form label .req{color:var(--coral)}
.mc-form input,.mc-form select,.mc-form textarea{width:100%;font-family:var(--font-body);font-size:16px;color:var(--txt);background:var(--cloud);border:1px solid var(--line);border-radius:10px;padding:12px 14px;min-height:48px}
.mc-form textarea{min-height:120px;resize:vertical}
.mc-form input:focus,.mc-form select:focus,.mc-form textarea:focus{outline:3px solid var(--teal);outline-offset:1px;background:#fff}
.mc-form .hp{position:absolute;left:-9999px}
.mc-form .helper{font-size:13px;color:var(--txt-soft);margin-top:5px}
.mc-form .btn{width:100%;justify-content:center;margin-top:6px}
.mc-notice{border-radius:12px;padding:14px 18px;margin-bottom:20px;font-size:15px}
.mc-notice.ok{background:#E7F6EF;border:1px solid #BDE6D2;color:#0B5F3F}
.mc-notice.err{background:#FDECEA;border:1px solid #F5C6C0;color:#8A2A20}
@media(max-width:900px){.mc-contact .contact-grid{grid-template-columns:1fr}.mc-form .row{grid-template-columns:1fr}}

/* ---------- blog ---------- */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.post-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.post-card .thumb{height:150px;background:linear-gradient(150deg,var(--ink),var(--teal-deep));display:flex;align-items:center;justify-content:center}
.post-card .thumb svg{width:64px;height:44px;color:#9DB6FF;opacity:.7}
.post-card .thumb-img{display:block}
body.mc .post-card .thumb-img img{width:100%;height:150px;object-fit:cover;display:block}
.post-card .body{padding:24px;display:flex;flex-direction:column;flex:1}
.post-card .meta{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:10px}
.post-card h3{font-size:18px;margin-bottom:10px}
.post-card h3 a{color:var(--ink);text-decoration:none}
.post-card h3 a:hover{color:var(--teal-deep)}
.post-card p{font-size:14px;color:var(--txt-soft);flex:1}
.post-card .more{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--teal-deep);text-decoration:none}
.post-card .more svg{width:15px;height:15px}
@media(max-width:900px){.post-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.post-grid{grid-template-columns:1fr}}
.mc-pagination{display:flex;justify-content:center;gap:8px;margin-top:44px}
.mc-pagination a,.mc-pagination span{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;text-decoration:none;font-family:var(--font-display);font-weight:600;color:var(--ink)}
.mc-pagination .current{background:var(--teal);border-color:var(--teal);color:#fff}
.mc-pagination a:hover{border-color:var(--teal);color:var(--teal-deep)}

/* ---------- footer ---------- */
.mc-footer{background:var(--ink);color:#8FA2C6;font-size:14.5px}
/* body.mc a (the dark royal-blue link color) outranks a plain `.mc-footer a`,
   so footer links must be set at higher specificity to stay legible on navy. */
body.mc .mc-footer a{color:#C9D6F5;text-decoration:none}
body.mc .mc-footer a:hover{color:#fff;text-decoration:underline}
body.mc .mc-footer .f-contact a{color:#DCE6FB}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;padding:70px 0 50px}
.mc-footer h4{color:#fff;font-size:15px;margin-bottom:18px}
.mc-footer ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.mc-footer .f-brand p{margin:16px 0 22px;max-width:300px}
.mc-footer .f-contact{display:flex;flex-direction:column;gap:10px}
.mc-footer .f-contact a{display:inline-flex;align-items:center;gap:9px;font-weight:600}
.mc-footer .f-contact svg{width:16px;height:16px;color:#9DB6FF;flex:none}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:22px 0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13.5px}
.footer-bottom .legal-nav{display:flex;gap:20px;flex-direction:row}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.footer-grid{grid-template-columns:1fr}}

/* ---------- centered / professional layout ----------
   Most display text is centered per brand direction. Long-form article prose,
   check-list rows, the split feature list and form fields stay left for
   readability. */
body.mc .section-head{margin-left:auto;margin-right:auto;text-align:center}
body.mc .section-head .eyebrow{justify-content:center}
/* Icon-card and step grids: center content. */
body.mc .mc-cards:not(.style-checks) .pillar-head{justify-content:center;text-align:center}
body.mc .mc-cards:not(.style-checks) .mc-card{text-align:center}
body.mc .mc-cards:not(.style-checks) .mc-card .icon,
body.mc .mc-cards.style-steps .mc-card .step-num{margin-left:auto;margin-right:auto}
body.mc .mc-cards:not(.style-checks) .mc-card .fix{justify-content:center}
/* Case cards centered. */
body.mc .case{text-align:center;align-items:center}
body.mc .case .tag{align-self:center}
body.mc .case .case-link{justify-content:center}
/* Testimonials centered. */
body.mc .testi{text-align:center}
body.mc .testi .stars{justify-content:center}
body.mc .testi .who{justify-content:center;text-align:left}
/* Split feature list stays left, but center its intro heading block. */
body.mc .mc-split .split-grid > div > .eyebrow{justify-content:flex-start}
/* Contact info cards read left; the section head is centered by the rule above. */

/* Dark-band headings: body.mc h1/h2/h3 base rules outrank single-class section
   rules, so re-assert light colors with the body.mc prefix. */
body.mc .mc-hero h1,body.mc .mc-pagehead h1,body.mc .mc-cta h2,
body.mc .mc-cases .section-head h2,body.mc .case h3,
body.mc .mc-stats .num,body.mc .mega-feature strong{color:#fff}
body.mc .mc-hero h1 em{color:#9DB6FF}
body.mc .hero-stat .num{color:var(--teal-deep)}

/* ---------- Elementor coexistence ----------
   Elementor's frontend resets (.elementor img{height:auto;border-radius:0},
   .elementor .elementor-widget figure{margin:0}, section gaps) tie or beat
   plain theme selectors; re-assert with body.mc prefix. */
body.mc .elementor-section{padding:0}
body.mc .elementor-widget:not(:last-child){margin-bottom:0}
body.mc .elementor-section .elementor-container{max-width:none}
body.mc .elementor a.btn{box-shadow:none}
body.mc .elementor .mc-logo .logo-mark{border-radius:12px}
body.mc [hidden]{display:none!important}
