/*
 * CNC Technology Proof of Concept
 * Visual adaptation of Technology Software Firm for Chiropractic Neurology Center.
 */
:root{
  --cnc-tech-navy:#42F5E3;
  --cnc-tech-navy-2:#19CABA;
  --cnc-tech-blue:#0E7A72;
  --cnc-tech-cyan:#FFFFFF;
  --cnc-tech-cyan-2:#D9FFFA;
  --cnc-tech-green:#62B301;
  --cnc-tech-ink:#133A36;
  --cnc-tech-muted:#416863;
  --cnc-tech-soft:#F1FFFD;
  --cnc-tech-line:#AEEDE5;
  --cnc-tech-white:#ffffff;
  --cnc-tech-focus:#ffb703;
  --cnc-tech-shadow:0 20px 55px rgba(19,58,54,.12);
}

html{scroll-behavior:smooth;scroll-padding-top:90px}
body{overflow-x:hidden}
body,button,input,select,textarea{font-family:"Mulish",Arial,sans-serif}
img{max-width:100%;height:auto}
.cnc-home,.main-content{color:var(--cnc-tech-ink)}
.cnc-home *, .main-content *{box-sizing:border-box}
.cnc-home a,.main-content a,.cnc-site-header a,.cnc-site-footer a{text-underline-offset:3px}
.cnc-home a:focus-visible,.main-content a:focus-visible,.cnc-site-header a:focus-visible,.cnc-site-footer a:focus-visible,.cnc-home button:focus-visible,.main-content button:focus-visible,.cnc-home input:focus-visible,.cnc-home textarea:focus-visible,.cnc-home select:focus-visible,.main-content input:focus-visible,.main-content textarea:focus-visible,.main-content select:focus-visible{
  outline:3px solid var(--cnc-tech-focus)!important;
  outline-offset:4px!important;
}

/* --------------------------------------------------------------------------
   Header - keeps the technology theme's angular, luminous navigation language.
   -------------------------------------------------------------------------- */
.cnc-site-header{background:var(--cnc-tech-navy);position:relative;z-index:1000;border-bottom:0!important}
.cnc-site-header::after{content:"";position:absolute;left:0;bottom:-2px;width:39%;height:3px;background:var(--cnc-tech-cyan);clip-path:polygon(0 0,86% 0,91% 100%,100% 100%,100% 100%,0 100%);opacity:.9}
.cnc-site-header .header-main-wrapper,.cnc-site-header .bottom-header-outer-wrapper,.cnc-site-header .bottom-header-part{background:transparent!important}
.cnc-site-header .bottom-header-part{padding:0!important;position:relative!important}
.cnc-site-header .bottom-header-part-wrapper{display:grid!important;grid-template-columns:minmax(270px,.38fr) minmax(0,.62fr)!important;align-items:center;gap:24px;min-height:88px}
.cnc-site-branding{display:flex;align-items:center;min-width:0}
.cnc-brand{display:inline-flex;align-items:center;gap:13px;color:#fff!important;text-decoration:none!important;min-width:0;padding:11px 0}
.cnc-brand__hex{width:58px;height:54px;flex:0 0 58px;display:grid;place-items:center;background:linear-gradient(135deg,#D9F2AF 0%,var(--cnc-tech-cyan) 100%);color:var(--cnc-tech-navy);clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%);box-shadow:inset 0 0 0 3px rgba(255,255,255,.35)}
.cnc-brand__hex i{font-size:1.55rem}
.cnc-brand__text{display:flex;flex-direction:column;line-height:1.05;min-width:0}
.cnc-brand__text strong{font-size:1.02rem;color:#fff;white-space:nowrap}
.cnc-brand__text span{font-size:1.02rem;color:#fff;white-space:nowrap;font-weight:700}
.cnc-brand--logo{display:flex;align-items:center;padding:8px 0;line-height:0}
.cnc-brand__logo{display:block;width:auto;height:64px;max-width:300px;object-fit:contain;object-position:left center}
.cnc-site-header .main-navigation ul{align-items:center}
.cnc-site-header .main-navigation li{padding:8px 10px}
.cnc-site-header .main-navigation a{color:#fff!important;font-size:14px;font-weight:600;letter-spacing:.01em;position:relative}
.cnc-site-header .main-navigation a:hover,.cnc-site-header .main-navigation a:focus,.cnc-site-header .main-navigation .current-menu-item>a,.cnc-site-header .main-navigation .current_page_item>a{color:var(--cnc-tech-cyan)!important}
.cnc-site-header .main-navigation .menu>li:not(:last-child)>a::before,.cnc-site-header .main-navigation .nav-menu>li:not(:last-child)>a::before{display:none!important}
.cnc-site-header .main-navigation ul ul{background:#fff;box-shadow:0 18px 42px rgba(0,0,0,.22);border-top:3px solid var(--cnc-tech-cyan)}
.cnc-site-header .main-navigation ul ul a{color:var(--cnc-tech-navy)!important;background:#fff!important}
.cnc-site-header .main-navigation ul ul a:hover,.cnc-site-header .main-navigation ul ul a:focus{color:var(--cnc-tech-navy-2)!important;background:#EFFFFC!important}
.cnc-site-header .menu-toggle{border:2px solid var(--cnc-tech-cyan)!important;border-radius:5px;padding:8px 9px!important;background:transparent!important}
.cnc-site-header .menu-toggle span{background:#fff!important}

/* --------------------------------------------------------------------------
   CNC navigation button + pulse glow (v0.2.14, CSS only).
   The animation runs only on pointer hover or keyboard focus.
   -------------------------------------------------------------------------- */
@keyframes cncNavPulseGlow{
  0%,100%{box-shadow:0 0 6px rgba(66,245,227,.24),0 0 0 1px rgba(98,179,1,.18)}
  50%{box-shadow:0 0 18px rgba(66,245,227,.74),0 0 30px rgba(66,245,227,.28),0 0 0 2px rgba(200,251,245,.38)}
}
.cnc-site-header .main-navigation .menu>li>a,
.cnc-site-header .main-navigation .nav-menu>li>a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 11px;
  border:1px solid transparent;
  border-radius:7px;
  background:transparent;
  transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.cnc-site-header .main-navigation .menu>li>a:hover,
.cnc-site-header .main-navigation .nav-menu>li>a:hover,
.cnc-site-header .main-navigation .menu>li>a:focus-visible,
.cnc-site-header .main-navigation .nav-menu>li>a:focus-visible{
  color:#fff!important;
  background:rgba(6,75,70,.72);
  border-color:rgba(66,245,227,.60);
  animation:cncNavPulseGlow 1.15s ease-in-out infinite;
  transform:translateY(-1px);
}
.cnc-site-header .main-navigation .current-menu-item>a,
.cnc-site-header .main-navigation .current_page_item>a{
  color:#fff!important;
  background:rgba(6,75,70,.58);
  border-color:rgba(66,245,227,.42);
}
.cnc-site-header .main-navigation ul ul a{border-radius:0;animation:none!important;transform:none!important}

/* --------------------------------------------------------------------------
   Shared home section primitives.
   -------------------------------------------------------------------------- */
.cnc-tech-section{padding:84px 0;position:relative}
.cnc-tech-section__header{max-width:760px;margin:0 auto 40px;text-align:center}
.cnc-tech-section__header h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.12;color:var(--cnc-tech-navy);margin:.25rem 0 .9rem;font-weight:800}
.cnc-tech-section__header>p:last-child{color:var(--cnc-tech-muted);font-size:1.03rem;line-height:1.75;margin:0 auto;max-width:720px}
.cnc-tech-section__header--light h2,.cnc-tech-section__header--light>p:last-child{color:#fff}
.cnc-tech-kicker{margin:0 0 8px;color:#0B766E;text-transform:uppercase;letter-spacing:.13em;font-size:.78rem;font-weight:900}
.cnc-tech-section__header--light .cnc-tech-kicker,.cnc-tech-banner .cnc-tech-kicker,.cnc-tech-cta .cnc-tech-kicker{color:var(--cnc-tech-cyan)}
.cnc-tech-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:28px}
.cnc-tech-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 22px;border:4px solid transparent;border-radius:5px;font-weight:800;text-decoration:none!important;line-height:1.25;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}
.cnc-tech-button--primary{background:linear-gradient(180deg,#EAF7C9,var(--cnc-tech-cyan-2));color:#075F59!important;box-shadow:0 8px 24px rgba(167,227,222,.23)}
.cnc-tech-button--primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(98,179,1,.34);background:#fff}
.cnc-tech-button--outline{border-color:rgba(255,255,255,.78);color:#fff!important;background:rgba(255,255,255,.04)}
.cnc-tech-button--outline:hover{background:#fff;color:var(--cnc-tech-navy)!important;transform:translateY(-2px)}
.cnc-hex-field{position:absolute;inset:0;pointer-events:none;background-image:url("../img/banner-bg-hexagon.png");background-size:420px auto;background-repeat:repeat;opacity:.14}
.cnc-hex-field--soft{opacity:.08;filter:saturate(.5)}

/* --------------------------------------------------------------------------
   Hero.
   -------------------------------------------------------------------------- */
.cnc-tech-banner{position:relative;overflow:hidden;background:linear-gradient(112deg,#0B766E 0%,#0B766E 54%,#075F59 100%);color:#fff;border-bottom:1px solid rgba(167,227,222,.48)}
.cnc-tech-banner::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--cnc-tech-cyan),transparent)}
.cnc-tech-banner__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.95fr);align-items:stretch;gap:0;min-height:540px}
.cnc-tech-banner__content{display:flex;flex-direction:column;justify-content:center;padding:68px 58px 68px 0;min-width:0}
.cnc-tech-banner h1{color:#fff;font-size:clamp(2.7rem,5vw,4.4rem);line-height:1.16;max-width:760px;margin:.1em 0 .32em;font-weight:800;letter-spacing:-.025em}
.cnc-tech-banner__lead{font-size:1.08rem;line-height:1.7;color:#EDF9F6;max-width:650px;margin:0}
.cnc-hero-points{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:14px 24px;color:#F0FBF8;font-size:.93rem}
.cnc-hero-points li{display:flex;align-items:center;gap:9px}
.cnc-hero-points i{color:var(--cnc-tech-cyan)}
.cnc-tech-banner__media{position:relative;min-width:0;display:flex;align-items:stretch}
.cnc-tech-banner__frame{position:relative;width:100%;min-height:540px;overflow:hidden;clip-path:inset(0 0 0 0);background-color:#075F59;background-image:linear-gradient(rgba(6,61,56,.42),rgba(6,61,56,.42)),url("../../img/cnc-hero-office.jpg");background-size:cover;background-position:center;background-repeat:no-repeat;animation:cncHeroInsetReveal 1.15s cubic-bezier(.22,.78,.25,1) .5s backwards;transition:clip-path .5s cubic-bezier(.22,.78,.25,1)}
.cnc-tech-banner__frame::before{content:"";position:absolute;inset:-20px;z-index:1;background:inherit;filter:blur(18px);transform:scale(1.08);opacity:.58}
.cnc-tech-banner__frame::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(6,61,56,.28) 0%,rgba(6,61,56,.02) 32%,rgba(6,61,56,.02) 68%,rgba(6,61,56,.18) 100%);pointer-events:none}
.cnc-tech-banner__frame>img{position:relative;z-index:2;display:block;width:100%;height:100%;min-height:540px;object-fit:contain;object-position:center;transform:none}
.cnc-tech-banner__accent{position:absolute;z-index:3;left:0;top:0;width:11%;height:13%;background:var(--cnc-tech-cyan);clip-path:polygon(0 0,100% 0,0 100%);opacity:.92}
@keyframes cncHeroInsetReveal{
  0%{clip-path:inset(0 0 0 96%)}
  48%{clip-path:inset(0 0 0 26%)}
  100%{clip-path:inset(0 0 0 0)}
}
@keyframes cncHeroInsetRevealMobile{
  0%{clip-path:inset(0 0 0 96%)}
  48%{clip-path:inset(0 0 0 20%)}
  100%{clip-path:inset(0 0 0 0)}
}
@media (hover:hover) and (pointer:fine){
  .cnc-tech-banner__media:hover .cnc-tech-banner__frame{clip-path:inset(0 0 0 0)}
}


/* --------------------------------------------------------------------------
   Quick access strip.
   -------------------------------------------------------------------------- */
.cnc-quick-access{background:#fff;border-bottom:1px solid var(--cnc-tech-line);box-shadow:0 8px 25px rgba(6,75,70,.06);position:relative;z-index:3;overflow:visible;border:4px solid transparent;background:linear-gradient(#fff,#fff) padding-box,conic-gradient(from var(--cnc-service-glow-angle,0deg),var(--cnc-tech-cyan) 0deg,var(--cnc-tech-cyan-2) 70deg,var(--cnc-tech-green) 145deg,#76F7EB 220deg,var(--cnc-tech-blue) 300deg,var(--cnc-tech-cyan) 360deg) border-box;animation:cnc-service-glow-spin 10s linear infinite}
.cnc-quick-access::before{
  content:"";
  position:absolute;
  inset:-6px;
  z-index:0;
  pointer-events:none;
  background:conic-gradient(
    from var(--cnc-service-glow-angle,0deg),
    rgba(66,245,227,.88) 0deg,
    rgba(200,251,245,.94) 70deg,
    rgba(98,179,1,.74) 145deg,
    rgba(118,247,235,.88) 220deg,
    rgba(26,174,159,.78) 300deg,
    rgba(66,245,227,.88) 360deg
  );
  filter:blur(16px);
  opacity:.48;
}
.cnc-quick-access__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;z-index:1}
.cnc-quick-access__grid>a{display:flex;align-items:center;gap:13px;min-width:0;padding:22px 18px;color:var(--cnc-tech-navy);text-decoration:none;border-right:1px solid var(--cnc-tech-line);transition:background .2s ease,box-shadow .2s ease;position:relative;background:#fff}
.cnc-quick-access__grid>a:first-child{border-left:1px solid var(--cnc-tech-line)}
.cnc-quick-access__grid>a:hover,.cnc-quick-access__grid>a:focus-visible{background:#EFFFFC;box-shadow:inset 0 0 0 1px rgba(66,245,227,.28)}
.cnc-quick-access__grid i{font-size:1.35rem;color:var(--cnc-tech-navy);flex:0 0 auto}
.cnc-quick-access__grid span{display:flex;flex-direction:column;min-width:0}
.cnc-quick-access__grid strong{font-size:.96rem;overflow-wrap:anywhere}
.cnc-quick-access__grid small{font-size:.78rem;color:var(--cnc-tech-muted);margin-top:2px}

/* --------------------------------------------------------------------------
   Specialty service cards - preserves the original tech image/gradient cards.
   -------------------------------------------------------------------------- */
.cnc-services-section{background:var(--cnc-tech-navy);color:#fff;position:relative;overflow:hidden}

.cnc-services-section>.asterthemes-wrapper{position:relative;z-index:1}
.cnc-services-section .cnc-tech-section__header h2,.cnc-services-section .cnc-tech-section__header>p:last-child{color:#fff}
.cnc-services-section .cnc-tech-kicker{color:var(--cnc-tech-cyan)}
/* Animated Specialty Services frames (CSS only).
   Each individual service card gets its own rotating gradient glow; no JavaScript is used. */
@property --cnc-service-glow-angle{
  syntax:"<angle>";
  initial-value:0deg;
  inherits:false;
}
@keyframes cnc-service-glow-spin{
  to{--cnc-service-glow-angle:360deg}
}
.cnc-tech-service-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  position:relative;
}
.cnc-tech-service-grid::before{
  content:"";
  position:absolute;
  right:calc(100% + 42px);
  top:0;
  bottom:0;
  width:330px;
  background:url("../../img/specialty-services-ghost-v0249.png") center/100% 100% no-repeat;
  opacity:1;
  pointer-events:none;
  z-index:0;
}
.cnc-tech-service-card{
  --cnc-service-glow-angle:0deg;
  z-index:1;
  min-width:0;
  position:relative;
  min-height:355px;
  padding:4px;
  border:4px solid transparent;
  overflow:visible;
  background:
    linear-gradient(#075F59,#075F59) padding-box,
    conic-gradient(
      from var(--cnc-service-glow-angle),
      var(--cnc-tech-cyan) 0deg,
      #F0FBF8 42deg,
      #0EA295 95deg,
      #0B766E 145deg,
      var(--cnc-tech-green) 205deg,
      #5CCBC2 255deg,
      var(--cnc-tech-cyan-2) 315deg,
      var(--cnc-tech-cyan) 360deg
    ) border-box;
  box-shadow:0 22px 46px rgba(0,0,0,.18),0 0 16px rgba(167,227,222,.24);
  animation:cnc-service-glow-spin 8s linear infinite;
}
.cnc-tech-service-card::before{
  content:"";
  position:absolute;
  inset:-6px;
  z-index:0;
  pointer-events:none;
  background:conic-gradient(
      from var(--cnc-service-glow-angle),
      rgba(167,227,222,.82) 0deg,
      rgba(240,251,248,.92) 42deg,
      rgba(14,162,149,.84) 95deg,
      rgba(11,118,110,.75) 145deg,
      rgba(98,179,1,.82) 205deg,
      rgba(92,203,194,.88) 255deg,
      rgba(167,227,222,.84) 315deg,
      rgba(167,227,222,.82) 360deg
    );
  filter:blur(16px);
  opacity:.56;
}
.cnc-tech-service-card__link{position:relative;z-index:1;display:block;height:100%;min-height:355px;color:#fff!important;text-decoration:none!important;overflow:hidden;background:#075F59}
.cnc-tech-service-card__link>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .38s ease,filter .38s ease}
.cnc-tech-service-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,162,149,.25) 0%,rgba(7,95,89,.67) 43%,rgba(6,61,56,.97) 100%);transition:background .3s ease}
.cnc-tech-service-card__content{position:absolute;inset:auto 0 0;z-index:2;padding:28px;display:flex;flex-direction:column;align-items:flex-start;min-height:72%;justify-content:flex-end}
.cnc-tech-service-card__icon{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--cnc-tech-navy);font-size:1.15rem;margin-bottom:14px;box-shadow:0 6px 18px rgba(0,0,0,.14)}
.cnc-tech-service-card__content>strong{font-size:1.35rem;line-height:1.25;padding-bottom:10px;margin-bottom:11px;position:relative;color:#fff}
.cnc-tech-service-card__content>strong::after{content:"";position:absolute;left:0;bottom:0;width:62px;height:2px;background:var(--cnc-tech-cyan)}
.cnc-tech-service-card__content>span:not(.cnc-tech-service-card__icon){font-size:.91rem;line-height:1.65;color:#EAF7F3}
.cnc-tech-service-card__content>em{font-style:normal;font-weight:800;font-size:.86rem;color:var(--cnc-tech-cyan);margin-top:16px}
.cnc-tech-service-card:hover::before,.cnc-tech-service-card:focus-within::before{opacity:.58}
.cnc-tech-service-card:hover,.cnc-tech-service-card:focus-within{box-shadow:0 22px 46px rgba(0,0,0,.22),0 0 18px rgba(167,227,222,.18)}
.cnc-tech-service-card__link:hover>img,.cnc-tech-service-card__link:focus>img{transform:scale(1.07);filter:saturate(1.08)}

.cnc-tech-services__grid article:nth-child(6) .cnc-tech-service-card__link>img{object-position:center top}
.cnc-tech-service-card__link:hover .cnc-tech-service-card__shade,.cnc-tech-service-card__link:focus .cnc-tech-service-card__shade{background:linear-gradient(180deg,rgba(14,162,149,.36) 0%,rgba(7,95,89,.62) 40%,rgba(6,61,56,.94) 100%)}

/* --------------------------------------------------------------------------
   Stats.
   -------------------------------------------------------------------------- */
.cnc-tech-stats{background:linear-gradient(90deg,#5CCBC2,#D9F2AF);color:var(--cnc-tech-ink);border-top:1px solid rgba(255,255,255,.5);border-bottom:1px solid #A7E3DE}
.cnc-tech-stats__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.cnc-tech-stats__grid>div{padding:26px 24px;text-align:center;border-right:1px solid rgba(6,61,56,.18)}
.cnc-tech-stats__grid>div:first-child{border-left:1px solid rgba(6,61,56,.18)}
.cnc-tech-stats strong{display:block;font-size:clamp(1.9rem,3vw,2.7rem);line-height:1;font-weight:900}
.cnc-tech-stats span{display:block;margin-top:8px;font-size:.86rem;font-weight:700;line-height:1.35}

/* --------------------------------------------------------------------------
   Team cards.
   -------------------------------------------------------------------------- */
.cnc-team-section{background:#fff}
.cnc-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.cnc-team-card{min-width:0;background:#fff;border:1px solid var(--cnc-tech-line);box-shadow:var(--cnc-tech-shadow);position:relative;overflow:visible;transition:transform .25s ease,box-shadow .25s ease}
.cnc-team-card::before{content:"";position:absolute;z-index:3;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--cnc-tech-cyan),var(--cnc-tech-green))}
.cnc-team-card:hover{transform:translateY(-5px);box-shadow:0 26px 65px rgba(6,61,56,.18)}
.cnc-team-card__image{height:320px;background:#F0F6F4;overflow:hidden}
.cnc-team-card__image img{width:100%;height:100%;object-fit:cover;object-position:50% 24%}
.cnc-team-card:first-child .cnc-team-card__image img{object-position:58% 22%}
.cnc-team-card__logo{height:320px;background:#F4F8F6;display:flex;align-items:center;padding:36px}
.cnc-team-card__logo img{width:100%;height:auto;object-fit:contain}
.cnc-team-card__body{padding:28px;position:relative}
.cnc-team-card__icon{position:absolute;right:24px;top:-26px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--cnc-tech-cyan);color:var(--cnc-tech-navy);border:5px solid #fff;box-shadow:0 5px 15px rgba(6,61,56,.12);overflow:hidden}.cnc-team-card__icon img{width:28px;height:28px;display:block;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.08))}
.cnc-team-card h3{font-size:1.5rem;color:var(--cnc-tech-navy);margin:0 0 3px}
.cnc-team-card__credentials{font-weight:900;color:#0B766E;margin:0 0 14px}
.cnc-team-card__body>p:not(.cnc-team-card__credentials){color:var(--cnc-tech-muted);line-height:1.68;min-height:82px}
.cnc-team-card__body>a{display:inline-flex;align-items:center;gap:8px;font-weight:900;color:#0B766E;text-decoration:none}
.cnc-team-card__body>a:hover{text-decoration:underline}

/* --------------------------------------------------------------------------
   About split with overlapping imagery.
   -------------------------------------------------------------------------- */
.cnc-about-tech{background:var(--cnc-tech-soft);overflow:hidden;position:relative;isolation:isolate}
.cnc-about-tech::after{content:"";position:absolute;left:61%;right:0;top:3%;bottom:3%;background:url("../../img/about-us-ghost.png") left center/100% 100% no-repeat;opacity:.12;pointer-events:none;z-index:0;filter:saturate(.95)}
.cnc-about-tech__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:74px;align-items:center}

.cnc-about-tech__media{position:relative;min-height:560px;padding:0 70px 72px 0}
.cnc-about-tech__image-main{width:80%;height:510px;object-fit:cover;object-position:center;background:#fff;border:7px solid #fff;box-shadow:var(--cnc-tech-shadow)}
.cnc-about-tech__image-float{position:absolute;right:0;bottom:0;width:47%;height:290px;object-fit:cover;border:7px solid #fff;box-shadow:0 20px 48px rgba(6,61,56,.18)}
.cnc-about-tech__image-float--diagram{width:60%;height:258px;object-fit:contain;background:#fff;object-position:center;padding:8px}
.cnc-about-tech__year{position:absolute;left:22px;bottom:34px;background:var(--cnc-tech-navy);color:#fff;width:110px;height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%);z-index:3}
.cnc-about-tech__year strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--cnc-tech-cyan)}
.cnc-about-tech__year b{font-size:1.5rem;color:#fff}
.cnc-about-tech__copy{position:relative;padding:18px 18px 18px 0;z-index:1}
.cnc-about-tech__copy::after{display:none}
.cnc-about-tech__copy>*{position:relative;z-index:1}
.cnc-about-tech__copy h2{font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.15;color:var(--cnc-tech-navy);margin:.25rem 0 1.15rem}
.cnc-about-tech__copy>p:not(.cnc-tech-kicker){color:var(--cnc-tech-muted);line-height:1.76;font-size:1.02rem}
.cnc-tech-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:25px 0 30px}
.cnc-tech-feature-list span{display:flex;align-items:flex-start;gap:9px;font-weight:800;color:#21403B}
.cnc-tech-feature-list i{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#eaf8d9;color:#5F861F;font-size:.72rem;flex:0 0 25px}
.cnc-about-tech .cnc-tech-button--primary{background:var(--cnc-tech-navy);color:#fff!important;box-shadow:none}
.cnc-about-tech .cnc-tech-button--primary:hover{background:#075F59}

/* --------------------------------------------------------------------------
   Process.
   -------------------------------------------------------------------------- */
.cnc-process{background:#fff}
.cnc-process__grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;counter-reset:steps}
.cnc-process__grid>li{position:relative;min-width:0;padding:34px 30px 32px;border:1px solid var(--cnc-tech-line);background:#fff;box-shadow:0 12px 34px rgba(6,61,56,.08);overflow:hidden}
.cnc-process__grid>li::after{content:"";position:absolute;right:-36px;top:-36px;width:100px;height:100px;border:15px solid rgba(167,227,222,.15);clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%)}
.cnc-process__number{position:absolute;right:18px;top:14px;font-size:2.8rem;font-weight:900;color:#EDF5F2;line-height:1}
.cnc-process__grid>li>i{width:56px;height:56px;display:grid;place-items:center;border:1px solid #B8E7DF;background:#EFFAF7;color:#0B766E;font-size:1.35rem;clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%)}
.cnc-process h3{font-size:1.4rem;color:var(--cnc-tech-navy);margin:20px 0 10px}
.cnc-process p{color:var(--cnc-tech-muted);line-height:1.7;margin:0}

/* --------------------------------------------------------------------------
   Resources.
   -------------------------------------------------------------------------- */
.cnc-resources{background:var(--cnc-tech-soft)}
.cnc-resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.cnc-resource-card{display:block;min-width:0;padding:28px 24px;background:#fff;border:1px solid var(--cnc-tech-line);color:var(--cnc-tech-ink)!important;text-decoration:none!important;box-shadow:0 10px 28px rgba(6,61,56,.06);position:relative;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}
.cnc-resource-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--cnc-tech-cyan),var(--cnc-tech-green));transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.cnc-resource-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(6,61,56,.12)}
.cnc-resource-card:hover::after{transform:scaleX(1)}
.cnc-resource-card>span{width:52px;height:52px;display:grid;place-items:center;border:1px solid #BDE8E1;background:#EFFAF7;color:#0B766E;font-size:1.22rem;clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%)}
.cnc-resource-card h3{font-size:1.26rem;color:var(--cnc-tech-navy);margin:20px 0 9px}
.cnc-resource-card p{color:var(--cnc-tech-muted);line-height:1.65;font-size:.92rem;min-height:95px}
.cnc-resource-card b{color:#0B766E;font-size:.88rem;display:inline-flex;gap:7px;align-items:center}

/* --------------------------------------------------------------------------
   Testimonials / approved WordPress posts only.
   -------------------------------------------------------------------------- */
.cnc-testimonials-tech{background:var(--cnc-tech-navy);color:#fff;overflow:hidden}
.cnc-testimonials-tech>.asterthemes-wrapper{position:relative;z-index:1}
.cnc-testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cnc-testimonial-card{background:rgba(255,255,255,.07);border:1px solid rgba(167,227,222,.38);padding:30px;color:#fff;min-width:0}
.cnc-testimonial-card>i{font-size:1.8rem;color:var(--cnc-tech-cyan);margin-bottom:16px}
.cnc-testimonial-card div{line-height:1.72;color:#EFFAF7}
.cnc-testimonial-card strong{display:block;margin-top:18px;color:var(--cnc-tech-cyan)}
.cnc-testimonial-empty{grid-column:1/-1;max-width:760px;margin:auto;display:flex;align-items:center;gap:20px;padding:26px 30px;background:rgba(255,255,255,.07);border:1px solid rgba(167,227,222,.38)}
.cnc-testimonial-empty>i{font-size:2rem;color:var(--cnc-tech-cyan)}
.cnc-testimonial-empty h3{color:#fff;margin:0 0 4px;font-size:1.2rem}
.cnc-testimonial-empty p{margin:0;color:#EAF7F3;line-height:1.6}

/* --------------------------------------------------------------------------
   Full-width CTA.
   -------------------------------------------------------------------------- */
.cnc-tech-cta{background:linear-gradient(90deg,#0B766E,#075F59);color:#fff;padding:42px 0;border-top:1px solid #A7E3DE;border-bottom:1px solid #5CCBC2}
.cnc-tech-cta__inner{display:flex;justify-content:space-between;align-items:center;gap:30px}
.cnc-tech-cta h2{color:#fff;font-size:clamp(1.7rem,3vw,2.45rem);margin:.1rem 0 .35rem}
.cnc-tech-cta p{margin:0;color:#EFFAF7}
.cnc-tech-cta .cnc-tech-actions{margin:0;justify-content:flex-end;flex:0 0 auto}
.cnc-tech-cta .cnc-tech-button--primary{background:#fff;color:var(--cnc-tech-navy)!important}

/* --------------------------------------------------------------------------
   Contact and map.
   -------------------------------------------------------------------------- */
.cnc-contact-tech{background:#fff}
.cnc-contact-tech__grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr);gap:36px;align-items:start}
.cnc-contact-tech__form{background:var(--cnc-tech-soft);padding:34px;border:1px solid var(--cnc-tech-line);box-shadow:0 12px 34px rgba(6,61,56,.08)}
.cnc-form{display:grid;gap:9px}
.cnc-form__two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cnc-form__two>div{display:grid;gap:9px}
.cnc-form label,.career-form label{font-weight:800;color:#21403B;margin-top:7px;display:block}
.cnc-form input,.cnc-form textarea,.cnc-form select,.career-form input,.career-form textarea,.career-form select{width:100%;border:1px solid #829C96;background:#fff;color:#172E2B;border-radius:3px;padding:12px 13px;min-height:46px}

/* Accessible active-field treatment. :focus-within highlights the complete
   field group (label + control + help text), while :focus-visible on the
   control remains the primary keyboard-focus indicator. */
.cnc-form__two>div,
.cnc-form-field,
.career-form fieldset{
  border:2px solid transparent;
  border-radius:7px;
  padding:8px;
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.cnc-form__two>div:focus-within,
.cnc-form-field:focus-within,
.career-form fieldset:focus-within{
  border-color:#0EA295;
  background:#F3FBF8;
  box-shadow:0 0 0 3px rgba(14,162,149,.18),0 0 18px rgba(167,227,222,.14);
}
.cnc-form__two>div:focus-within label,
.cnc-form-field:focus-within label,
.career-form fieldset:focus-within label{
  color:#075F59;
}
.cnc-form textarea,.career-form textarea{min-height:135px;resize:vertical}
.cnc-form .cnc-tech-button{width:max-content;max-width:100%;margin-top:12px;border:0;background:var(--cnc-tech-navy);color:#fff!important}
.cnc-form .cnc-tech-button:hover{background:#075F59}
.cnc-hp,.contact-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.cnc-form-notice,.career-form-notice{padding:14px 16px;border-left:4px solid #0B766E;background:#F0FBF8;color:#16302D;margin-bottom:18px;font-weight:700}
.cnc-contact-tech__info{background:var(--cnc-tech-navy);color:#fff;padding:0;box-shadow:var(--cnc-tech-shadow)}
.cnc-contact-tech__details{padding:30px}
.cnc-contact-tech__details h3{color:#fff;font-size:1.45rem;margin:0 0 18px}
.cnc-contact-tech__details p{display:flex;align-items:flex-start;gap:12px;color:#F1F8F6;margin:10px 0;line-height:1.55}
.cnc-contact-tech__details p i{color:var(--cnc-tech-cyan);width:18px;margin-top:4px;flex:0 0 18px}
.cnc-contact-tech__details a{color:#fff}
.cnc-contact-tech__maps-link{display:inline-flex;gap:8px;align-items:center;margin-top:12px;color:var(--cnc-tech-cyan)!important;font-weight:800}
.cnc-map iframe{display:block;width:100%;height:340px;border:0}

/* --------------------------------------------------------------------------
   Footer.
   -------------------------------------------------------------------------- */
.cnc-site-footer{background:var(--cnc-tech-navy);color:#fff;position:relative;margin:0!important}
.cnc-site-footer__top{position:relative;overflow:hidden;padding:62px 0 48px;border-top:1px solid rgba(167,227,222,.48)}
.cnc-site-footer__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.35fr .82fr 1fr 1.08fr;gap:44px}
.cnc-site-footer h2{color:#fff;font-size:1rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 18px}
.cnc-site-footer ul{list-style:none;padding:0;margin:0}
.cnc-site-footer li{margin:0 0 8px}
.cnc-site-footer a{color:#EDF7F4;text-decoration:none}
.cnc-site-footer a:hover{text-decoration:underline;color:var(--cnc-tech-cyan)}
.cnc-footer-brand img{width:100%;max-width:330px;background:#fff;padding:8px;height:auto}
.cnc-footer-brand>p{color:#D9E9E5;line-height:1.65;font-size:.9rem;max-width:390px}
.cnc-footer-contact i{color:var(--cnc-tech-cyan);width:20px}
.cnc-footer-office address{font-style:normal;line-height:1.7;color:#E8F3EF;margin-bottom:12px}
.cnc-footer-map-link{color:var(--cnc-tech-cyan)!important;font-weight:800}
.cnc-footer-disclaimer{font-size:.78rem;line-height:1.55;color:#C2D5D0;margin-top:22px}
.cnc-site-footer__bottom{border-top:1px solid rgba(255,255,255,.14);background:#064B45;padding:18px 0}
.cnc-site-footer__bottom-inner{display:flex;justify-content:space-between;gap:25px;align-items:center}
.cnc-site-footer__bottom p{margin:0;color:#CFE0DC;font-size:.82rem}
.technology-software-firm-scroll-to-top{right:25px!important;bottom:25px!important;left:auto!important;width:44px!important;height:44px!important;background:var(--cnc-tech-cyan)!important;color:var(--cnc-tech-navy)!important;border:2px solid #fff!important;border-radius:4px!important;display:flex!important;align-items:center;justify-content:center;text-decoration:none!important}

/* --------------------------------------------------------------------------
   Dedicated CNC pages - same technology language, no duplicate template banner.
   -------------------------------------------------------------------------- */
.main-content{padding:58px 20px 84px;background:linear-gradient(180deg,#EFF5F2 0,#F8FBFA 240px,#F8FBFA 100%);position:relative;overflow:hidden}
.main-content::before{content:"";position:absolute;inset:0 0 auto;height:280px;background-image:url("../img/banner-bg-hexagon.png");background-size:420px auto;opacity:.045;pointer-events:none}
.main-content>.fluid-container{width:calc(100% - 40px);max-width:1475px;margin:0 auto;position:relative;z-index:1}
.main-content .row{display:flex;flex-wrap:wrap;margin-left:-12px;margin-right:-12px}
.main-content [class*="col-"]{padding:0 12px;box-sizing:border-box;min-width:0}
.main-content .col-md-12{width:100%}.main-content .col-md-6{width:50%}
.doctor-breadcrumbs{margin:0 0 20px;font-weight:800;font-size:.9rem;color:#4F625E}
.doctor-breadcrumbs a{color:#0B766E}
.doctor-profile{background:#fff;border:1px solid var(--cnc-tech-line);box-shadow:var(--cnc-tech-shadow);padding:clamp(28px,4vw,52px);position:relative;overflow:hidden}
.doctor-profile::before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:linear-gradient(90deg,var(--cnc-tech-cyan),var(--cnc-tech-green))}
.doctor-profile-header{max-width:880px;margin-bottom:30px}
.doctor-page-title{font-size:clamp(2.2rem,4.5vw,3.8rem);line-height:1.08;margin:.12em 0 .25em;color:var(--cnc-tech-navy);font-weight:850;letter-spacing:-.02em}
.doctor-profile-header>p,.about-page-subtitle,.careers-page-intro,.specialty-page-lead,.forms-page-intro{font-size:1.08rem;line-height:1.7;color:#526762}
.specialty-page-eyebrow{color:#0B766E!important;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem!important;font-weight:900;margin-bottom:8px}
.doctor-profile-body,.specialty-page-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:42px;align-items:start}
.doctor-profile-figure,.specialty-page-figure{margin:0;position:relative}
.doctor-profile-figure::after,.specialty-page-figure::after{content:"";position:absolute;right:-10px;bottom:-10px;width:74px;height:74px;background:var(--cnc-tech-cyan);z-index:0;clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%)}
.doctor-profile-image,.specialty-page-image,.about-page-image,.faq-featured-image{display:block;width:100%;height:auto;position:relative;z-index:1;border:5px solid #fff;box-shadow:0 12px 34px rgba(6,61,56,.13)}
.doctor-profile-image{max-height:620px;object-fit:cover;object-position:top center}
.doctor-profile-content,.about-page-content,.specialty-page-content,.insurance-page-content,.accessibility-page-content,.faq-page-content{font-size:1rem;line-height:1.78;color:#344D48}
.doctor-profile-content p,.about-page-content p,.specialty-page-content p,.insurance-page-content p,.accessibility-page-content p,.faq-page-content p{line-height:1.78}
.doctor-profile-content h2,.about-page-content h2,.specialty-page-content h2,.insurance-page-content h2,.accessibility-page-content h2,.faq-page-content h2,.careers-application-section h2,.careers-contact-section h2{font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.25;color:var(--cnc-tech-navy);margin:1.65em 0 .55em}
.doctor-profile-content h2:first-child,.specialty-page-content h2:first-child{margin-top:0}
.doctor-profile-content a,.about-page-content a,.specialty-page-content a,.insurance-page-content a,.accessibility-page-content a,.faq-page-content a{color:#0B766E;font-weight:750}
.doctor-page-back-link{margin-top:34px;padding-top:20px;border-top:1px solid var(--cnc-tech-line);font-weight:900}

/* Specialty content */
.specialty-page-layout-top{margin:22px 0 40px;padding-bottom:38px;border-bottom:1px solid var(--cnc-tech-line)}
.specialty-page-body{max-width:980px;margin:0 auto}
.specialty-content-section{padding:0 0 8px}
.specialty-page-list,.about-page-list,.insurance-network-list,.accessibility-feature-list{padding-left:1.25rem}
.specialty-page-list li,.about-page-list li,.insurance-network-list li,.accessibility-feature-list li{margin:.55rem 0;padding-left:.25rem}
.specialty-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 5px}
.specialty-primary-cta,.specialty-secondary-cta,.button-dark{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border-radius:4px;font-weight:850;text-decoration:none!important;border:2px solid var(--cnc-tech-navy);cursor:pointer}
.specialty-primary-cta,.button-dark{background:var(--cnc-tech-navy);color:#fff!important}
.specialty-primary-cta:hover,.button-dark:hover{background:#075F59;border-color:#075F59;color:#fff!important}
.specialty-secondary-cta{background:#fff;color:var(--cnc-tech-navy)!important}
.specialty-secondary-cta:hover{background:#EFFAF7}
.specialty-steps{counter-reset:cncsteps;list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}
.specialty-steps li{counter-increment:cncsteps;padding:17px 18px 17px 54px;background:var(--cnc-tech-soft);border:1px solid var(--cnc-tech-line);position:relative}
.specialty-steps li::before{content:counter(cncsteps);position:absolute;left:15px;top:14px;width:28px;height:28px;display:grid;place-items:center;background:var(--cnc-tech-navy);color:#fff;font-weight:900;border-radius:50%}
.specialty-medical-note,.specialty-safety-notice{padding:18px 20px;margin:24px 0;background:#fff8e7;border-left:5px solid #be7e00;color:#49370d}
.specialty-safety-notice{background:#fff1f1;border-left-color:#b42318;color:#5c1915}
.specialty-question{padding:19px 20px;margin:16px 0;background:#F3FBF8;border:1px solid #BDE1DA}
.specialty-related-links{display:flex;flex-wrap:wrap;gap:10px;padding-left:0;list-style:none}
.specialty-related-links a{display:inline-flex;padding:9px 12px;background:#F1F8F6;border:1px solid #C8E3DD;text-decoration:none}

/* About page */
.about-page-images{margin:28px -12px 38px}
.about-page-figure{margin:0}
.about-page-image{height:380px;object-fit:cover}
.about-profile .about-page-content{max-width:980px;margin:0 auto}

/* FAQ */
.faq-item{padding:27px 0;border-bottom:1px solid var(--cnc-tech-line)}
.faq-item:first-child{padding-top:0}
.faq-item h2{margin-top:0!important}
.faq-featured{display:grid;grid-template-columns:190px minmax(0,1fr);gap:28px;align-items:start}
.faq-featured-figure{margin:0}
.faq-featured-image{max-height:300px;object-fit:contain;background:#F4F8F6;padding:10px}
.faq-more-link{font-weight:700}
.faq-page-footer-title{font-weight:900;color:var(--cnc-tech-navy)}

/* Forms */
.forms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:30px}
.forms-card{padding:26px;background:var(--cnc-tech-soft);border:1px solid var(--cnc-tech-line);border-top:4px solid var(--cnc-tech-cyan);box-shadow:0 8px 22px rgba(6,61,56,.05)}
.forms-card h2{font-size:1.35rem;color:var(--cnc-tech-navy);margin:0 0 10px}
.forms-card p{line-height:1.7;color:#536A65}
.forms-status{display:inline-flex!important;margin-top:6px!important;padding:7px 10px;background:#E8F0ED;color:#4B625D!important;font-weight:800;font-size:.82rem}

/* Insurance */
.insurance-network-list{columns:2;column-gap:38px}
.insurance-network-list li{break-inside:avoid}
.insurance-verification-note{margin-top:24px;padding:16px 18px;background:#F0FBF8;border-left:4px solid #0B766E}

/* Careers */
.careers-page-note{padding:16px 18px;background:#F4F8F6;border-left:4px solid var(--cnc-tech-cyan);color:#4B625D}
.careers-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:34px 0}
.careers-role-card{background:var(--cnc-tech-soft);border:1px solid var(--cnc-tech-line);border-top:4px solid var(--cnc-tech-cyan);padding:24px}
.careers-role-card h2{font-size:1.35rem;color:var(--cnc-tech-navy);margin:0 0 11px}
.careers-role-card p{line-height:1.7;color:#536A65}
.careers-application-section{margin-top:42px;padding-top:36px;border-top:1px solid var(--cnc-tech-line)}
.career-form{display:grid;gap:14px;padding:28px;background:var(--cnc-tech-soft);border:1px solid var(--cnc-tech-line)}
.career-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.career-form fieldset{padding:0;margin:0;border:0;min-width:0}
.form-help-text,.career-privacy-note,.contact-required-note{font-size:.88rem;color:#596F69;line-height:1.6}
.careers-contact-section{margin-top:34px;padding:26px;background:#F1F8F6;border:1px solid #BEE4DC}

/* Accessibility */
.accessibility-reviewed{font-weight:800;color:#546964}
.accessibility-contact{padding:22px;background:#F1F8F6;border:1px solid #BEE4DC;margin:25px 0}

/* Technology theme generic page header / blog pages, if used. */
.page-header{background:var(--cnc-tech-navy)!important;color:#fff!important;position:relative;overflow:hidden;border-bottom:1px solid var(--cnc-tech-cyan)}
.page-header::after{content:"";position:absolute;inset:0;background-image:url("../img/banner-bg-hexagon.png");background-size:420px auto;opacity:.11;pointer-events:none}
.page-header-inner{position:relative;z-index:1}
.page-header-title{color:#fff!important}
.page-header a{color:var(--cnc-tech-cyan)!important}

/* Entrance classes retained from the Modest build. */
.nc-page-enter,.nc-scroll-reveal{animation:cncFadeRise .65s ease both}
.nc-page-delay-1{animation-delay:.08s}.nc-page-delay-2{animation-delay:.16s}.nc-page-delay-3{animation-delay:.24s}
@keyframes cncFadeRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* --------------------------------------------------------------------------
   Shared rotating gradient glow panels (v0.2.8, CSS only).
   Extends the Specialty Services treatment across key homepage card/panel
   groups while preserving each component's original inner background.
   -------------------------------------------------------------------------- */
.cnc-team-card,
.cnc-process__grid>li,
.cnc-resource-card,
.cnc-testimonial-card,
.cnc-testimonial-empty,
.cnc-contact-tech__form,
.cnc-contact-tech__info{
  --cnc-service-glow-angle:0deg;
  position:relative;
  overflow:visible;
  border:4px solid transparent;
  animation:cnc-service-glow-spin 8s linear infinite;
}

.cnc-team-card,
.cnc-process__grid>li,
.cnc-resource-card{
  background:
    linear-gradient(#fff,#fff) padding-box,
    conic-gradient(
      from var(--cnc-service-glow-angle),
      var(--cnc-tech-cyan) 0deg,
      #F0FBF8 42deg,
      #0EA295 95deg,
      #0B766E 145deg,
      var(--cnc-tech-green) 205deg,
      #5CCBC2 255deg,
      var(--cnc-tech-cyan-2) 315deg,
      var(--cnc-tech-cyan) 360deg
    ) border-box;
  box-shadow:0 16px 38px rgba(6,61,56,.10),0 0 18px rgba(167,227,222,.28);
}

.cnc-testimonial-card,
.cnc-testimonial-empty{
  background:
    linear-gradient(#075F59,#075F59) padding-box,
    conic-gradient(
      from var(--cnc-service-glow-angle),
      var(--cnc-tech-cyan) 0deg,
      #F0FBF8 42deg,
      #0EA295 95deg,
      #0B766E 145deg,
      var(--cnc-tech-green) 205deg,
      #5CCBC2 255deg,
      var(--cnc-tech-cyan-2) 315deg,
      var(--cnc-tech-cyan) 360deg
    ) border-box;
  box-shadow:0 0 18px rgba(167,227,222,.28),0 0 34px rgba(14,162,149,.14);
}

.cnc-contact-tech__form{
  background:
    linear-gradient(var(--cnc-tech-soft),var(--cnc-tech-soft)) padding-box,
    conic-gradient(
      from var(--cnc-service-glow-angle),
      var(--cnc-tech-cyan) 0deg,
      #F0FBF8 42deg,
      #0EA295 95deg,
      #0B766E 145deg,
      var(--cnc-tech-green) 205deg,
      #5CCBC2 255deg,
      var(--cnc-tech-cyan-2) 315deg,
      var(--cnc-tech-cyan) 360deg
    ) border-box;
  box-shadow:0 16px 38px rgba(6,61,56,.10),0 0 18px rgba(167,227,222,.24);
}

.cnc-contact-tech__info{
  background:
    linear-gradient(var(--cnc-tech-navy),var(--cnc-tech-navy)) padding-box,
    conic-gradient(
      from var(--cnc-service-glow-angle),
      var(--cnc-tech-cyan) 0deg,
      #F0FBF8 42deg,
      #0EA295 95deg,
      #0B766E 145deg,
      var(--cnc-tech-green) 205deg,
      #5CCBC2 255deg,
      var(--cnc-tech-cyan-2) 315deg,
      var(--cnc-tech-cyan) 360deg
    ) border-box;
  box-shadow:0 22px 58px rgba(6,61,56,.15),0 0 20px rgba(167,227,222,.26);
}

/* Offset phases slightly so every frame reads as its own animation. */
.cnc-team-card:nth-child(2),
.cnc-process__grid>li:nth-child(2),
.cnc-testimonial-card:nth-child(2){animation-delay:-2.67s}
.cnc-team-card:nth-child(3),
.cnc-process__grid>li:nth-child(3),
.cnc-testimonial-card:nth-child(3){animation-delay:-5.33s}
.cnc-resource-card:nth-child(2){animation-delay:-2s}
.cnc-resource-card:nth-child(3){animation-delay:-4s}
.cnc-resource-card:nth-child(4){animation-delay:-6s}
.cnc-contact-tech__info{animation-delay:-4s}

/* Keep keyboard focus visually dominant over the decorative glow. */
.cnc-resource-card:focus-visible{
  outline:3px solid var(--cnc-tech-focus)!important;
  outline-offset:4px!important;
}

/* Make the doctor / office cards show the spinning glow more clearly. */
.cnc-team-card{
  border:4px solid transparent;
  background:
    linear-gradient(#fff,#fff) padding-box,
    conic-gradient(
      from var(--cnc-service-glow-angle),
      var(--cnc-tech-cyan) 0deg,
      #F0FBF8 42deg,
      #0EA295 95deg,
      #0B766E 145deg,
      var(--cnc-tech-green) 205deg,
      #5CCBC2 255deg,
      var(--cnc-tech-cyan-2) 315deg,
      var(--cnc-tech-cyan) 360deg
    ) border-box;
  box-shadow:0 22px 46px rgba(6,61,56,.14),0 0 20px rgba(167,227,222,.30);
}
.cnc-team-card::after{
  content:"";
  position:absolute;
  inset:-6px;
  z-index:0;
  pointer-events:none;
  background:conic-gradient(
      from var(--cnc-service-glow-angle),
      rgba(167,227,222,.82) 0deg,
      rgba(240,251,248,.92) 42deg,
      rgba(14,162,149,.84) 95deg,
      rgba(11,118,110,.75) 145deg,
      rgba(98,179,1,.82) 205deg,
      rgba(92,203,194,.88) 255deg,
      rgba(167,227,222,.84) 315deg,
      rgba(167,227,222,.82) 360deg
    );
  filter:blur(16px);
  opacity:.56;
}
.cnc-team-card:hover::after,
.cnc-team-card:focus-within::after{opacity:.74}
.cnc-team-card__image,
.cnc-team-card__logo,
.cnc-team-card__body{position:relative;z-index:1}

/* --------------------------------------------------------------------------
   Responsive / zoom-safe behavior.
   -------------------------------------------------------------------------- */
@media (max-width:1199px){
  .cnc-site-header .bottom-header-part-wrapper{grid-template-columns:minmax(250px,.34fr) minmax(0,.66fr)!important}
  .cnc-site-header .main-navigation li{padding:8px 7px}
  .cnc-site-header .main-navigation a{font-size:13px}
  .cnc-site-header .main-navigation .menu>li:not(:last-child)>a::before,.cnc-site-header .main-navigation .nav-menu>li:not(:last-child)>a::before{right:-7px}
}

@media (max-width:991px){
  .cnc-site-header .bottom-header-part-wrapper{grid-template-columns:1fr auto!important;min-height:78px}
  .cnc-site-header::after{width:58%}
  .cnc-brand__hex{width:50px;height:48px;flex-basis:50px}
  .cnc-brand__text strong,.cnc-brand__text span{font-size:.91rem}
  .cnc-brand__logo{height:56px;max-width:260px}
  .cnc-site-header .main-navigation-links{background:var(--cnc-tech-navy)!important;border-top:1px solid rgba(167,227,222,.4)}
  .cnc-site-header .main-navigation ul{align-items:stretch}
  .cnc-site-header .main-navigation li{padding:0!important}
  .cnc-site-header .main-navigation a{padding:13px 16px!important;border-bottom:1px solid rgba(255,255,255,.12)}
  .cnc-site-header .main-navigation .menu>li>a::before,.cnc-site-header .main-navigation .nav-menu>li>a::before{display:none}
  .cnc-tech-banner__inner{grid-template-columns:1fr}
  .cnc-tech-banner__content{padding:64px 0 42px}
  .cnc-tech-banner__media{margin:0 0 54px}
  .cnc-tech-banner__frame,.cnc-tech-banner__frame>img{min-height:420px}
  .cnc-tech-banner__frame{clip-path:inset(0 0 0 0);animation-name:cncHeroInsetRevealMobile}
  .cnc-tech-service-grid,.cnc-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cnc-tech-stats__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cnc-tech-stats__grid>div{border-bottom:1px solid rgba(6,61,56,.18)}
  .cnc-about-tech__grid{grid-template-columns:1fr;gap:45px}
  .cnc-about-tech__media{max-width:720px;margin:auto;width:100%}
  .cnc-about-tech__copy{padding:0}
  .cnc-about-tech::after{display:none}
  .cnc-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cnc-tech-cta__inner{align-items:flex-start;flex-direction:column}
  .cnc-tech-cta .cnc-tech-actions{justify-content:flex-start}
  .cnc-contact-tech__grid{grid-template-columns:1fr}
  .cnc-site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .doctor-profile-body,.specialty-page-layout{grid-template-columns:1fr}
  .doctor-profile-figure,.specialty-page-figure{max-width:620px}
  .doctor-profile-image{max-height:650px}
  .careers-role-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:767px){
  html{scroll-padding-top:76px}
  .cnc-tech-section{padding:62px 0}
  .cnc-tech-banner h1{font-size:clamp(2.25rem,10vw,3.35rem)}
  .cnc-tech-banner__frame,.cnc-tech-banner__frame>img{min-height:330px}
  .cnc-quick-access__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cnc-quick-access__grid>a{border-bottom:1px solid var(--cnc-tech-line)}
  .cnc-quick-access__grid>a:first-child{border-left:0}
  .cnc-tech-service-grid,.cnc-team-grid,.cnc-process__grid{grid-template-columns:1fr}
  .cnc-tech-service-card,.cnc-tech-service-card__link{min-height:340px}
  .cnc-team-card__body>p:not(.cnc-team-card__credentials){min-height:0}
  .cnc-tech-feature-list{grid-template-columns:1fr}
  .cnc-about-tech__media{min-height:470px;padding:0 48px 60px 0}
  .cnc-about-tech__image-main{height:420px;object-fit:cover;background:#fff}
  .cnc-about-tech__image-float{height:230px}
  .cnc-resource-grid{grid-template-columns:1fr}
  .cnc-resource-card p{min-height:0}
  .cnc-testimonial-grid{grid-template-columns:1fr}
  .cnc-testimonial-empty{align-items:flex-start}
  .cnc-form__two,.career-form-grid{grid-template-columns:1fr}
  .cnc-site-footer__grid{grid-template-columns:1fr;gap:34px}
  .cnc-site-footer__bottom-inner{flex-direction:column;align-items:flex-start;gap:7px}
  .main-content{padding:42px 12px 65px}
  .doctor-profile{padding:28px 20px}
  .main-content .col-md-6{width:100%}
  .about-page-image{height:auto}
  .faq-featured{grid-template-columns:1fr}
  .faq-featured-figure{max-width:260px}
  .forms-grid,.careers-role-grid,.specialty-steps{grid-template-columns:1fr}
  .insurance-network-list{columns:1}
}

@media (max-width:480px){
  .cnc-brand__text strong,.cnc-brand__text span{font-size:.8rem}
  .cnc-brand__hex{width:44px;height:42px;flex-basis:44px}
  .cnc-brand__logo{height:46px;max-width:215px}
  .cnc-tech-banner__content{padding-top:50px}
  .cnc-tech-actions{flex-direction:column;align-items:stretch}
  .cnc-tech-button{width:100%}
  .cnc-hero-points{display:grid;grid-template-columns:1fr}
  .cnc-quick-access__grid{grid-template-columns:1fr}
  .cnc-quick-access__grid>a{border-right:0}
  .cnc-tech-stats__grid{grid-template-columns:1fr}
  .cnc-tech-stats__grid>div{border-right:0;border-left:0!important}
  .cnc-about-tech__media{min-height:390px;padding:0 34px 48px 0}
  .cnc-about-tech__copy::after{display:none}
  .cnc-about-tech__image-main{height:345px;width:86%;object-fit:cover;background:#fff}
  .cnc-about-tech__image-float{height:185px;width:52%}
  .cnc-about-tech__year{width:86px;height:86px;left:4px;bottom:28px}
  .cnc-about-tech__year b{font-size:1.15rem}
  .cnc-contact-tech__form{padding:24px 18px}
  .cnc-contact-tech__details{padding:24px 18px}
  .cnc-tech-service-card__content{padding:22px}
}

@media (prefers-reduced-motion:reduce){
  .cnc-tech-banner__frame{animation:none!important;transition:none!important}
  .cnc-tech-banner__media:hover .cnc-tech-banner__frame{clip-path:inset(0 0 0 0)}
  .cnc-quick-access{animation:none!important}
  .cnc-quick-access::before{filter:none;opacity:.28}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .wow,.nc-page-enter,.nc-scroll-reveal{visibility:visible!important;animation:none!important;transform:none!important;opacity:1!important}
}

/* --------------------------------------------------------------------------
   CNC front-page full-width safeguard (v0.2.1).
   WordPress can report the root URL as both is_front_page() and is_home()
   when Settings > Reading uses "Your latest posts". The upstream theme
   normally reserves a sidebar column in that state. CNC's custom front page
   must always occupy the full viewport/container width.
   -------------------------------------------------------------------------- */
body.home #primary.cnc-home,
body.cnc-front-page-full-width #primary.cnc-home,
#primary.cnc-home{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
}
body.home .main-widget-section-wrap,
body.cnc-front-page-full-width .main-widget-section-wrap{
  display:block!important;
  width:100%!important;
  max-width:none!important;
}
body.home .main-widget-section-wrap .primary-widgets-section,
body.cnc-front-page-full-width .main-widget-section-wrap .primary-widgets-section{
  width:100%!important;
  max-width:none!important;
}
body.home .main-widget-section-wrap .secondary-widgets-section,
body.cnc-front-page-full-width .main-widget-section-wrap .secondary-widgets-section{
  display:none!important;
}

/* v0.2.2 hero image correction: preserve the full wide office photograph without cropping.
   A blurred copy fills the tall technology-style media panel behind the correctly proportioned image. */


@media (prefers-reduced-motion: reduce){
  .cnc-tech-service-card{animation:none}
  .cnc-tech-service-card::before{filter:none;opacity:.28}
  .cnc-team-card::after{filter:none;opacity:.34}
}

@media (prefers-reduced-motion:reduce){
  .cnc-site-header .main-navigation .menu>li>a:hover,
  .cnc-site-header .main-navigation .nav-menu>li>a:hover,
  .cnc-site-header .main-navigation .menu>li>a:focus-visible,
  .cnc-site-header .main-navigation .nav-menu>li>a:focus-visible{
    animation:none!important;
    box-shadow:0 0 0 2px rgba(217,242,175,.48),0 0 12px rgba(167,227,222,.36);
  }
}


/* --------------------------------------------------------------------------
   v0.2.15 background color scheme update.
   Makes the site's main background-driven sections use #42F5E3 directly,
   while switching text to dark teal/charcoal for accessible contrast.
   -------------------------------------------------------------------------- */
.cnc-site-header{
  background:#42F5E3;
  border-bottom:1px solid rgba(19,58,54,.18);
}
.cnc-site-header::after{background:#0E7A72}
.cnc-site-header .main-navigation a,
.cnc-site-header .main-navigation a:hover,
.cnc-site-header .main-navigation a:focus,
.cnc-site-header .main-navigation .current-menu-item>a,
.cnc-site-header .main-navigation .current_page_item>a,
.cnc-site-header .main-navigation .menu>li>a:hover,
.cnc-site-header .main-navigation .nav-menu>li>a:hover,
.cnc-site-header .main-navigation .menu>li>a:focus-visible,
.cnc-site-header .main-navigation .nav-menu>li>a:focus-visible,
.cnc-brand,
.cnc-brand__text strong,
.cnc-brand__text span{color:var(--cnc-tech-ink)!important}
.cnc-site-header .main-navigation .menu>li>a:hover,
.cnc-site-header .main-navigation .nav-menu>li>a:hover,
.cnc-site-header .main-navigation .menu>li>a:focus-visible,
.cnc-site-header .main-navigation .nav-menu>li>a:focus-visible{
  background:rgba(14,122,114,.14);
  border-color:rgba(19,58,54,.24);
}
.cnc-site-header .main-navigation .current-menu-item>a,
.cnc-site-header .main-navigation .current_page_item>a{
  background:rgba(14,122,114,.10);
  border-color:rgba(19,58,54,.18);
}
.cnc-site-header .menu-toggle{border-color:rgba(19,58,54,.35)!important}
.cnc-site-header .menu-toggle span{background:var(--cnc-tech-ink)!important}
.cnc-site-header .main-navigation-links{background:#42F5E3!important}

.cnc-tech-banner{
  background:linear-gradient(135deg,#42F5E3 0%,#2EEADB 55%,#19CABA 100%);
  color:var(--cnc-tech-ink);
  border-bottom:1px solid rgba(19,58,54,.16);
}
.cnc-tech-banner h1,
.cnc-tech-banner__lead,
.cnc-tech-banner .cnc-tech-kicker,
.cnc-hero-points,
.cnc-hero-points i{color:var(--cnc-tech-ink)}
.cnc-tech-banner__frame{background-color:#2EEADB}
.cnc-tech-button--primary{background:#0E7A72;color:#fff!important}
.cnc-tech-button--primary:hover{background:#133A36;color:#fff!important}
.cnc-tech-button--outline{border-color:rgba(19,58,54,.65);color:var(--cnc-tech-ink)!important;background:rgba(255,255,255,.22)}
.cnc-tech-button--outline:hover{background:#fff;color:#133A36!important}

.cnc-services-section,
.cnc-testimonials-tech,
.cnc-tech-cta,
.cnc-contact-tech__info,
.page-header,
.cnc-site-footer{
  background:#42F5E3!important;
  color:var(--cnc-tech-ink)!important;
}
.cnc-services-section .cnc-tech-section__header h2,
.cnc-services-section .cnc-tech-section__header>p:last-child,
.cnc-services-section .cnc-tech-kicker,
.cnc-testimonials-tech .cnc-tech-section__header h2,
.cnc-testimonials-tech .cnc-tech-section__header>p:last-child,
.cnc-testimonials-tech .cnc-tech-kicker,
.cnc-tech-cta .cnc-tech-kicker,
.cnc-tech-cta h2,
.cnc-tech-cta p,
.cnc-contact-tech__details,
.cnc-contact-tech__details h3,
.cnc-contact-tech__details p,
.cnc-contact-tech__details a,
.page-header-title,
.page-header,
.page-header a,
.cnc-site-footer,
.cnc-site-footer h2,
.cnc-site-footer a,
.cnc-site-footer p,
.cnc-site-footer li{color:var(--cnc-tech-ink)!important}
.cnc-testimonial-card,
.cnc-testimonial-empty{
  background:rgba(255,255,255,.78)!important;
  color:var(--cnc-tech-ink)!important;
  border-color:rgba(19,58,54,.20)!important;
}
.cnc-testimonial-card .fas,
.cnc-testimonial-card i,
.cnc-testimonial-empty .fas,
.cnc-testimonial-empty i{color:#0E7A72!important}
.cnc-tech-cta{
  background:linear-gradient(90deg,#42F5E3,#28E5D6)!important;
  border-top:1px solid rgba(19,58,54,.16);
  border-bottom:1px solid rgba(19,58,54,.16);
}
.cnc-tech-cta .cnc-tech-button--primary{background:#133A36;color:#fff!important}
.cnc-tech-cta .cnc-tech-button--outline{background:rgba(255,255,255,.3);border-color:rgba(19,58,54,.4)}
.cnc-contact-tech__info a:hover,
.cnc-site-footer a:hover,
.page-header a:hover{color:#0E7A72!important}
.cnc-site-footer__top{border-top:1px solid rgba(19,58,54,.14)}
.cnc-site-footer__bottom{background:#26DCCD;border-top:1px solid rgba(19,58,54,.14)}
.technology-software-firm-scroll-to-top{
  background:#133A36!important;
  color:#fff!important;
  border-color:#fff!important;
}
.cnc-about-tech__year,
.specialty-primary-cta,
.button-dark,
.cnc-form .cnc-tech-button,
.cnc-about-tech .cnc-tech-button--primary,
.specialty-steps li::before{background:#0E7A72!important;color:#fff!important}
.specialty-primary-cta:hover,.button-dark:hover{background:#133A36!important;border-color:#133A36!important;color:#fff!important}
.cnc-contact-tech__details .fas,
.cnc-contact-tech__details i,
.cnc-site-footer .fas,
.cnc-site-footer i{color:#0E7A72}

/* --------------------------------------------------------------------------
   v0.2.16 background-only color update.
   Main themed background areas now use #B7C9E2. Text, buttons, glow effects,
   borders, icons, and accent colors are intentionally unchanged.
   -------------------------------------------------------------------------- */
.cnc-site-header,
.cnc-site-header .main-navigation-links,
.cnc-tech-banner,
.cnc-services-section,
.cnc-testimonials-tech,
.cnc-tech-cta,
.cnc-contact-tech__info,
.page-header,
.cnc-site-footer,
.cnc-site-footer__bottom{
  background:#B7C9E2!important;
}


/* --------------------------------------------------------------------------
   v0.2.18 regular-background contrast refinements.
   Keeps the normal page background, improves text contrast, and fixes
   low-contrast testimonial copy.
   -------------------------------------------------------------------------- */
:root{
  --cnc-tech-navy:#B7C9E2;
  --cnc-tech-navy-2:#A7BDD9;
  --cnc-tech-soft:#F6F9FD;
  --cnc-tech-line:#D5E0EE;
  --cnc-tech-ink:#173E3A;
  --cnc-tech-muted:#4A6461;
  --cnc-tech-blue:#2A7D78;
}
.cnc-site-header,
.cnc-site-header .main-navigation-links,
.cnc-tech-banner,
.cnc-services-section,
.cnc-testimonials-tech,
.cnc-tech-cta,
.cnc-contact-tech__info,
.page-header,
.cnc-site-footer,
.cnc-site-footer__bottom{
  background:#B7C9E2!important;
}
.cnc-site-header,
.cnc-tech-banner,
.cnc-services-section,
.cnc-testimonials-tech,
.cnc-tech-cta,
.cnc-contact-tech__info,
.page-header,
.cnc-site-footer,
.cnc-site-footer__bottom,
.cnc-site-footer h2,
.cnc-site-footer a,
.cnc-site-footer p,
.cnc-site-footer li,
.page-header-title,
.page-header a,
.cnc-services-section .cnc-tech-section__header h2,
.cnc-services-section .cnc-tech-section__header>p:last-child,
.cnc-services-section .cnc-tech-kicker,
.cnc-testimonials-tech .cnc-tech-section__header h2,
.cnc-testimonials-tech .cnc-tech-section__header>p:last-child,
.cnc-testimonials-tech .cnc-tech-kicker,
.cnc-tech-cta .cnc-tech-kicker,
.cnc-tech-cta h2,
.cnc-tech-cta p,
.cnc-contact-tech__details,
.cnc-contact-tech__details h3,
.cnc-contact-tech__details p,
.cnc-contact-tech__details a{
  color:var(--cnc-tech-ink)!important;
}
.cnc-tech-banner{
  background:linear-gradient(135deg,rgba(183,201,226,.96) 0%,rgba(183,201,226,.94) 62%,rgba(167,189,217,.94) 100%)!important;
  border-bottom:1px solid rgba(23,62,58,.14);
}
.cnc-tech-banner h1,
.cnc-tech-banner__lead,
.cnc-tech-banner .cnc-tech-kicker,
.cnc-hero-points,
.cnc-hero-points i{color:var(--cnc-tech-ink)!important}
.cnc-tech-button--primary{background:#167f78;color:#fff!important}
.cnc-tech-button--primary:hover{background:#0d5e59;color:#fff!important}
.cnc-tech-button--outline{border-color:rgba(23,62,58,.48);color:var(--cnc-tech-ink)!important;background:rgba(255,255,255,.22)}
.cnc-tech-button--outline:hover{background:#fff;color:var(--cnc-tech-ink)!important}
.cnc-tech-banner__frame{
  background-color:#2FA49A;
  background-image:linear-gradient(rgba(42,125,120,.18),rgba(42,125,120,.18)),url("../../img/cnc-hero-office.jpg");
}
.cnc-tech-banner__frame::after{background:linear-gradient(90deg,rgba(42,125,120,.18) 0%,rgba(42,125,120,.03) 32%,rgba(42,125,120,.03) 68%,rgba(42,125,120,.16) 100%)}
.cnc-tech-banner__accent{background:#62B301}
.cnc-testimonial-card,
.cnc-testimonial-empty{
  background:rgba(255,255,255,.78)!important;
  border-color:rgba(23,62,58,.16)!important;
  color:var(--cnc-tech-ink)!important;
}
.cnc-testimonial-card p,
.cnc-testimonial-card strong,
.cnc-testimonial-card h3,
.cnc-testimonial-card a,
.cnc-testimonial-empty p,
.cnc-testimonial-empty h3,
.cnc-testimonial-empty a{color:var(--cnc-tech-ink)!important}
.cnc-testimonial-card i,
.cnc-testimonial-card .fas,
.cnc-testimonial-empty i,
.cnc-testimonial-empty .fas{color:#167f78!important}
.cnc-contact-tech__info a:hover,
.cnc-site-footer a:hover,
.page-header a:hover{color:#167f78!important}
.cnc-site-footer__bottom{background:#AFC3E0!important}

@media (max-width: 991px){
    .cnc-tech-banner__copy{max-width:none}
  }
@media (prefers-reduced-motion: reduce){
  }


/* --------------------------------------------------------------------------
   v0.2.19 submenu contrast + CNC-logo green accents.
   CNC logo lime sampled at approximately #62B301. Decorative green accents
   use the logo tone; text uses dark teal for readable WCAG-oriented contrast.
   -------------------------------------------------------------------------- */
@keyframes cncSubmenuPulseGlow{
  0%,100%{
    box-shadow:0 0 5px rgba(98,179,1,.20),0 0 0 1px rgba(98,179,1,.14);
  }
  50%{
    box-shadow:0 0 14px rgba(98,179,1,.58),0 0 25px rgba(98,179,1,.25),0 0 0 2px rgba(98,179,1,.24);
  }
}
.cnc-site-header .main-navigation ul ul,
.cnc-site-header .main-navigation .sub-menu{
  min-width:230px;
  padding:9px!important;
  background:#F7FAF3!important;
  border:2px solid rgba(98,179,1,.62)!important;
  border-top:3px solid #62B301!important;
  border-radius:8px;
  box-shadow:0 16px 40px rgba(23,62,58,.16),0 0 18px rgba(98,179,1,.20)!important;
}
.cnc-site-header .main-navigation ul ul li,
.cnc-site-header .main-navigation .sub-menu li{
  margin:5px 0!important;
  background:transparent!important;
}
.cnc-site-header .main-navigation ul ul a,
.cnc-site-header .main-navigation .sub-menu a,
.home .cnc-site-header .main-navigation ul ul a{
  display:block!important;
  width:100%!important;
  padding:11px 13px!important;
  color:#173E3A!important;
  background:#FFFFFF!important;
  border:2px solid rgba(98,179,1,.28)!important;
  border-radius:6px!important;
  font-weight:700!important;
  line-height:1.35!important;
  opacity:1!important;
  transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease!important;
}
.cnc-site-header .main-navigation ul ul a:hover,
.cnc-site-header .main-navigation ul ul a:focus,
.cnc-site-header .main-navigation ul ul a:focus-visible,
.cnc-site-header .main-navigation .sub-menu a:hover,
.cnc-site-header .main-navigation .sub-menu a:focus,
.cnc-site-header .main-navigation .sub-menu a:focus-visible{
  color:#173E3A!important;
  background:#F0F8E7!important;
  border-color:#62B301!important;
  box-shadow:0 0 14px rgba(98,179,1,.42),0 0 24px rgba(98,179,1,.18)!important;
  animation:cncSubmenuPulseGlow 1.15s ease-in-out infinite!important;
  transform:translateX(2px)!important;
}
.cnc-site-header .main-navigation ul ul .current-menu-item>a,
.cnc-site-header .main-navigation ul ul .current_page_item>a{
  color:#173E3A!important;
  background:#E9F5DD!important;
  border-color:#62B301!important;
}

/* Bring lime decorative accents closer to the actual CNC logo green. */
.cnc-team-card::before,
.cnc-resource-card::after,
.doctor-profile::before{
  background:linear-gradient(90deg,#2A7D78,#62B301)!important;
}
.cnc-tech-banner__accent{background:#62B301!important}
.cnc-about-tech__year{
  box-shadow:0 0 0 3px rgba(98,179,1,.24),0 8px 22px rgba(23,62,58,.16);
}

@media (prefers-reduced-motion:reduce){
  .cnc-site-header .main-navigation ul ul a:hover,
  .cnc-site-header .main-navigation ul ul a:focus,
  .cnc-site-header .main-navigation ul ul a:focus-visible,
  .cnc-site-header .main-navigation .sub-menu a:hover,
  .cnc-site-header .main-navigation .sub-menu a:focus,
  .cnc-site-header .main-navigation .sub-menu a:focus-visible{
    animation:none!important;
    transform:none!important;
  }
}


/* --------------------------------------------------------------------------
   v0.2.20 homepage contrast / hierarchy cleanup.
   Uses the hero heading color (#173E3A) as the primary readable heading color.
   -------------------------------------------------------------------------- */
:root{
  --cnc-tech-ink:#173E3A;
  --cnc-tech-muted:#2F514D;
}

/* Quick-access strip: make the primary label unmistakably readable. */
.cnc-quick-access__grid strong{
  color:#173E3A!important;
  font-weight:850!important;
}
.cnc-quick-access__grid small{color:#2F514D!important}
.cnc-quick-access__grid i{color:#2A7D78!important}

/* Standardize major homepage headings to the same dark color as the hero. */
.cnc-tech-section__header h2,
.cnc-team-section .cnc-tech-section__header h2,
.cnc-about-tech__copy h2,
.cnc-process .cnc-tech-section__header h2,
.cnc-resources .cnc-tech-section__header h2,
.cnc-testimonials-tech .cnc-tech-section__header h2,
.cnc-contact-tech .cnc-tech-section__header h2{
  color:#173E3A!important;
}
.cnc-tech-section__header>p:last-child,
.cnc-about-tech__copy>p:not(.cnc-tech-kicker),
.cnc-process p,
.cnc-resource-card p{
  color:#2F514D!important;
}
.cnc-team-card h3,
.cnc-process h3,
.cnc-resource-card h3{
  color:#173E3A!important;
}

/* Our Approach: remove the faint numbered badges and corner hex decoration. */
.cnc-process__number{display:none!important}
.cnc-process__grid>li::after{display:none!important;content:none!important}

/* Testimonials: explicit dark copy on the light cards/background. */
.cnc-testimonials-tech .cnc-tech-section__header>p:last-child,
.cnc-testimonial-card,
.cnc-testimonial-card div,
.cnc-testimonial-card p,
.cnc-testimonial-card strong,
.cnc-testimonial-empty,
.cnc-testimonial-empty h3,
.cnc-testimonial-empty p{
  color:#173E3A!important;
}
.cnc-testimonial-card strong{font-weight:850}

/* Footer / Visit CNC: no white-on-light copy. */
.cnc-site-footer address,
.cnc-footer-office address,
.cnc-footer-disclaimer,
.cnc-footer-brand>p,
.cnc-footer-contact,
.cnc-site-footer__bottom p{
  color:#173E3A!important;
}
.cnc-footer-office address{
  font-style:normal;
  font-weight:700;
  line-height:1.65;
}
.cnc-footer-map-link{color:#173E3A!important;font-weight:800}
.cnc-footer-map-link:hover{color:#0D5E59!important}

/* Hero address can wrap safely at zoom without affecting the second highlight. */
.cnc-hero-points li{align-items:flex-start}


/* --------------------------------------------------------------------------
   v0.2.21 dedicated-page palette normalization.
   Background colors and readable text colors are intentionally separated so
   changing the site background no longer makes page titles/headings pale.
   Applies to Forms, About, FAQ, Insurance, Accessibility, Careers, provider
   profiles, and all Specialty Service pages.
   -------------------------------------------------------------------------- */
:root{
  --cnc-page-heading:#173E3A;
  --cnc-page-text:#2F514D;
  --cnc-page-link:#0A6862;
  --cnc-page-accent:#62B301;
  --cnc-page-panel:#FFFFFF;
  --cnc-page-card:#F6F9FD;
  --cnc-page-border:#D5E0EE;
}

.main-content{
  background:linear-gradient(180deg,#EEF3F8 0,#F7F9FC 240px,#F7F9FC 100%)!important;
  color:var(--cnc-page-text)!important;
}
.doctor-profile{
  background:var(--cnc-page-panel)!important;
  border-color:var(--cnc-page-border)!important;
}
.doctor-profile::before{
  background:linear-gradient(90deg,#2A7D78 0%,var(--cnc-page-accent) 100%)!important;
}

/* Primary page titles and all major content headings. */
.doctor-page-title,
.doctor-profile-content h2,
.about-page-content h2,
.specialty-page-content h2,
.insurance-page-content h2,
.accessibility-page-content h2,
.faq-page-content h2,
.careers-application-section h2,
.careers-contact-section h2,
.forms-card h2,
.careers-role-card h2,
.faq-page-footer-title{
  color:var(--cnc-page-heading)!important;
}

/* Introductory and body copy. */
.doctor-profile-header>p,
.about-page-subtitle,
.careers-page-intro,
.specialty-page-lead,
.forms-page-intro,
.doctor-profile-content,
.about-page-content,
.specialty-page-content,
.insurance-page-content,
.accessibility-page-content,
.faq-page-content,
.forms-card p,
.careers-role-card p,
.careers-page-note,
.accessibility-reviewed,
.doctor-breadcrumbs{
  color:var(--cnc-page-text)!important;
}

/* Keep brand green as an accent, not low-contrast body text. */
.specialty-page-eyebrow{
  color:#386B14!important;
  font-weight:900!important;
}
.doctor-profile-figure::after,
.specialty-page-figure::after{
  background:var(--cnc-page-accent)!important;
}
.forms-card,
.careers-role-card{
  background:var(--cnc-page-card)!important;
  border-color:var(--cnc-page-border)!important;
  border-top:4px solid var(--cnc-page-accent)!important;
}
.forms-status{
  background:#EAF3E4!important;
  color:#294F2B!important;
  border:1px solid #CFE2C1;
}
.careers-page-note,
.careers-contact-section,
.accessibility-contact,
.insurance-verification-note{
  background:#F1F7F4!important;
  border-color:#BFD9D3!important;
  color:var(--cnc-page-text)!important;
}
.insurance-verification-note,
.careers-page-note{
  border-left:4px solid var(--cnc-page-accent)!important;
}

/* Readable links throughout all dedicated pages. */
.main-content a,
.doctor-breadcrumbs a,
.doctor-profile-content a,
.about-page-content a,
.specialty-page-content a,
.insurance-page-content a,
.accessibility-page-content a,
.faq-page-content a,
.doctor-page-back-link a,
.faq-more-link{
  color:var(--cnc-page-link)!important;
}
.main-content a:hover,
.main-content a:focus-visible{
  color:#064D48!important;
}

/* Image framing uses the same teal + CNC-logo-green accent language. */
.doctor-profile-image,
.specialty-page-image,
.about-page-image,
.faq-featured-image{
  border-color:#FFFFFF!important;
  box-shadow:0 12px 34px rgba(23,62,58,.13)!important;
}
.about-page-images .about-page-figure{
  position:relative;
}

/* Page banner text is explicitly dark against the B7C9E2 background. */
.page-header,
.page-header-title,
.page-header a{
  color:var(--cnc-page-heading)!important;
}
.page-header{
  border-bottom-color:var(--cnc-page-accent)!important;
}

/* Prevent legacy pale theme variables from leaking into content components. */
.forms-page-main h1,
.about-page-main h1,
.faq-page-main h1,
.insurance-page-main h1,
.accessibility-page-main h1,
.careers-page-main h1,
.doctor-page-main h1,
.specialty-page-main h1,
.forms-page-main h2,
.about-page-main h2,
.faq-page-main h2,
.insurance-page-main h2,
.accessibility-page-main h2,
.careers-page-main h2,
.doctor-page-main h2,
.specialty-page-main h2{
  color:var(--cnc-page-heading)!important;
}


/* --------------------------------------------------------------------------
   v0.2.22 dedicated-media border trace cleanup.
   Removes the decorative geometry behind provider/service images and uses
   the CNC animated perimeter treatment directly on the media/card frame.
   -------------------------------------------------------------------------- */

/* Remove legacy decorative shapes behind provider and specialty images. */
.doctor-profile-figure::after,
.specialty-page-figure::after,
.about-page-figure::after,
.faq-featured-figure::after{
  content:none!important;
  display:none!important;
}

/* Shared full-perimeter animated frame for dedicated-page media. */
.doctor-profile-figure,
.specialty-page-figure,
.about-page-figure,
.faq-featured-figure,
.cnc-team-card__image--office{
  --cnc-service-glow-angle:0deg;
  position:relative;
  isolation:isolate;
  overflow:visible!important;
  padding:4px;
  border:4px solid transparent;
  background:
    linear-gradient(#fff,#fff) padding-box,
    conic-gradient(
      from var(--cnc-service-glow-angle),
      #2A7D78 0deg,
      #62B301 70deg,
      #D9FFFA 130deg,
      #42F5E3 205deg,
      #62B301 285deg,
      #2A7D78 360deg
    ) border-box;
  box-shadow:
    0 14px 34px rgba(23,62,58,.14),
    0 0 18px rgba(98,179,1,.18);
  animation:cnc-service-glow-spin 8s linear infinite;
}
.doctor-profile-figure::before,
.specialty-page-figure::before,
.about-page-figure::before,
.faq-featured-figure::before,
.cnc-team-card__image--office::before{
  content:"";
  position:absolute;
  inset:-5px;
  z-index:-1;
  pointer-events:none;
  background:conic-gradient(
    from var(--cnc-service-glow-angle),
    rgba(42,125,120,.62) 0deg,
    rgba(98,179,1,.72) 70deg,
    rgba(217,255,250,.80) 130deg,
    rgba(66,245,227,.68) 205deg,
    rgba(98,179,1,.72) 285deg,
    rgba(42,125,120,.62) 360deg
  );
  filter:blur(12px);
  opacity:.34;
}
.doctor-profile-figure:hover::before,
.doctor-profile-figure:focus-within::before,
.specialty-page-figure:hover::before,
.specialty-page-figure:focus-within::before,
.about-page-figure:hover::before,
.about-page-figure:focus-within::before,
.faq-featured-figure:hover::before,
.faq-featured-figure:focus-within::before,
.cnc-team-card__image--office:hover::before,
.cnc-team-card__image--office:focus-within::before{opacity:.52}

/* The wrapper is the animated frame; remove the old white image border. */
.doctor-profile-image,
.specialty-page-image,
.about-page-image,
.faq-featured-image,
.cnc-team-card__image--office img{
  border:0!important;
  box-shadow:none!important;
  position:relative;
  z-index:1;
  display:block;
}

/* Our Office homepage card now uses the supplied team/office photo. */
.cnc-team-card__image--office{
  height:320px;
  padding:4px;
  background:
    linear-gradient(#fff,#fff) padding-box,
    conic-gradient(
      from var(--cnc-service-glow-angle),
      #2A7D78 0deg,
      #62B301 75deg,
      #D9FFFA 145deg,
      #42F5E3 220deg,
      #62B301 300deg,
      #2A7D78 360deg
    ) border-box;
}
.cnc-team-card__image--office img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 38%;
}

/* Forms has no hero image, so the four form panels receive the same trace. */
.forms-card{
  --cnc-service-glow-angle:0deg;
  position:relative;
  overflow:visible;
  border:4px solid transparent!important;
  border-top:4px solid transparent!important;
  background:
    linear-gradient(var(--cnc-page-card),var(--cnc-page-card)) padding-box,
    conic-gradient(
      from var(--cnc-service-glow-angle),
      #2A7D78 0deg,
      #62B301 70deg,
      #D9FFFA 135deg,
      #42F5E3 210deg,
      #62B301 285deg,
      #2A7D78 360deg
    ) border-box!important;
  box-shadow:0 10px 28px rgba(23,62,58,.08),0 0 16px rgba(98,179,1,.15)!important;
  animation:cnc-service-glow-spin 8s linear infinite;
}
.forms-card:nth-child(2){animation-delay:-2s}
.forms-card:nth-child(3){animation-delay:-4s}
.forms-card:nth-child(4){animation-delay:-6s}

/* FAQ image stays compact but now carries the animated perimeter itself. */
.faq-featured-figure{max-width:190px}
.faq-featured-image{
  width:100%!important;
  max-height:300px;
  object-fit:contain;
  background:#F4F8F6;
  padding:10px;
}

/* Give About-page images the same treatment for visual consistency. */
.about-page-figure{margin:0}

@media (max-width:991px){
  .cnc-team-card__image--office{height:320px}
}

@media (prefers-reduced-motion:reduce){
  .doctor-profile-figure,
  .specialty-page-figure,
  .about-page-figure,
  .faq-featured-figure,
  .cnc-team-card__image--office,
  .forms-card{animation:none!important}
  .doctor-profile-figure::before,
  .specialty-page-figure::before,
  .about-page-figure::before,
  .faq-featured-figure::before,
  .cnc-team-card__image--office::before{filter:none!important;opacity:.20!important}
}


/* v0.2.23 Forms page live links. */
.forms-action{
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  text-decoration:none!important;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.forms-action:hover,
.forms-action:focus-visible{
  background:#DFF2D6!important;
  border-color:#62B301!important;
  color:#173E3A!important;
  box-shadow:0 0 0 2px rgba(98,179,1,.12),0 0 16px rgba(98,179,1,.24);
  transform:translateY(-1px);
}
.forms-action i{font-size:.82em}


/* --------------------------------------------------------------------------
   v0.2.24 solid CTA contrast fix.
   Dedicated-page link colors must not override text on filled green buttons.
   White on #0E7A72 provides WCAG AA contrast for normal text.
   -------------------------------------------------------------------------- */
.main-content a.specialty-primary-cta,
.main-content a.button-dark,
.main-content button.button-dark,
.main-content .cnc-form .cnc-tech-button,
.main-content .career-form .button-dark{
  background:#0E7A72!important;
  border-color:#0E7A72!important;
  color:#FFFFFF!important;
  text-decoration:none!important;
}
.main-content a.specialty-primary-cta:hover,
.main-content a.specialty-primary-cta:focus-visible,
.main-content a.button-dark:hover,
.main-content a.button-dark:focus-visible,
.main-content button.button-dark:hover,
.main-content button.button-dark:focus-visible,
.main-content .cnc-form .cnc-tech-button:hover,
.main-content .cnc-form .cnc-tech-button:focus-visible,
.main-content .career-form .button-dark:hover,
.main-content .career-form .button-dark:focus-visible{
  background:#0D5E59!important;
  border-color:#0D5E59!important;
  color:#FFFFFF!important;
}
/* Secondary/outlined CTAs remain light with dark text. */
.main-content a.specialty-secondary-cta{
  background:#FFFFFF!important;
  color:#0A6862!important;
  border-color:#AFC4E2!important;
}
.main-content a.specialty-secondary-cta:hover,
.main-content a.specialty-secondary-cta:focus-visible{
  background:#F4F8FC!important;
  color:#064D48!important;
  border-color:#7FA7D5!important;
}

@media (max-width:1199px){.cnc-tech-service-grid::before{display:none}}



/* --------------------------------------------------------------------------
   v0.2.54 CNC header connector.
   One continuous SVG rail: lower cyan line -> diagonal rise beneath Services
   -> upper green line.  A moving highlight provides the border-trace motion.
   -------------------------------------------------------------------------- */
.cnc-site-header{
  isolation:isolate;
  overflow:visible;
}

/* Disable older pseudo-element rails from prior revisions. */
.cnc-site-header::before,
.cnc-site-header::after{
  content:none!important;
  display:none!important;
}

.cnc-site-header .header-main-wrapper,
.cnc-site-header .bottom-header-outer-wrapper,
.cnc-site-header .bottom-header-part,
.cnc-site-header .asterthemes-wrapper,
.cnc-site-header .bottom-header-part-wrapper,
.cnc-site-header .navigation-menus,
.cnc-site-header .main-navigation,
.cnc-site-header .main-navigation-links{
  position:relative;
  z-index:1;
}

/* Keep the rail above the header background, but below the actual nav content. */
.cnc-site-header .cnc-site-branding,
.cnc-site-header .cnc-brand,
.cnc-site-header .main-navigation .menu,
.cnc-site-header .main-navigation .nav-menu,
.cnc-site-header .main-navigation .menu > li,
.cnc-site-header .main-navigation .nav-menu > li,
.cnc-site-header .main-navigation a,
.cnc-site-header .main-navigation .sub-menu,
.cnc-site-header .main-navigation .children,
.cnc-site-header .main-navigation .menu-toggle{
  position:relative;
  z-index:5;
}

.cnc-site-header .main-navigation ul ul{
  z-index:20;
}

.cnc-header-connector{
  position:absolute;
  z-index:3;
  pointer-events:none;
  left:0;
  right:0;
  bottom:-1px;
  width:100%;
  height:38px;
  overflow:visible;
}

.cnc-header-connector path{
  fill:none;
  vector-effect:non-scaling-stroke;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.cnc-header-connector__glow{
  stroke:url(#cncHeaderConnectorGradient);
  stroke-width:5.4;
  opacity:.22;
  filter:url(#cncHeaderConnectorGlow);
}

.cnc-header-connector__line{
  stroke:url(#cncHeaderConnectorGradient);
  stroke-width:2.35;
  opacity:.96;
  filter:drop-shadow(0 0 2px rgba(66,245,227,.38));
}

/* Three layered tracers make the moving white accent feel more pointed at each end,
   while also thinning the overall animation so it stays elegant under the nav. */
.cnc-header-connector__pulse{
  stroke-dashoffset:0;
  animation:cncHeaderConnectorTrace 5.1s linear infinite;
}

.cnc-header-connector__pulse--outer{
  stroke:#7CF8F0;
  stroke-width:3.9;
  opacity:.34;
  stroke-dasharray:88 912;
  filter:drop-shadow(0 0 4px rgba(66,245,227,.40));
}

.cnc-header-connector__pulse--mid{
  stroke:#F7FFFF;
  stroke-width:2.25;
  opacity:.94;
  stroke-dasharray:54 946;
  filter:drop-shadow(0 0 4px rgba(255,255,255,.70));
}

.cnc-header-connector__pulse--core{
  stroke:#FFFFFF;
  stroke-width:1.1;
  opacity:1;
  stroke-dasharray:26 974;
  filter:drop-shadow(0 0 2px rgba(255,255,255,.55));
}

@keyframes cncHeaderConnectorTrace{
  to{stroke-dashoffset:-1000}
}

/* Keep the two dropdown triggers adjacent at the right of the desktop menu. */
@media (min-width:992px){
  .cnc-site-header .main-navigation .menu,
  .cnc-site-header .main-navigation .nav-menu{
    justify-content:flex-end;
  }
}

/* Mobile/tablet: use a simple straight rail beneath the collapsed header. */
@media (max-width:991px){
  .cnc-header-connector{height:8px;bottom:-2px}
  .cnc-header-connector path{display:none}
  .cnc-header-connector::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:2px;height:3px;
    background:linear-gradient(90deg,#22DFF5 0%,#42F5E3 46%,#62B301 72%,#A6E900 100%);
    box-shadow:0 0 6px rgba(66,245,227,.5);
  }
}

@media (prefers-reduced-motion:reduce){
  .cnc-header-connector__pulse{animation:none!important;opacity:.22}
}

/* Links dropdown: Testimonials, Careers, Contact. */
.cnc-site-header .main-navigation .cnc-links-menu>a{white-space:nowrap}

/* v0.2.56 — remove legacy divider beneath animated header connector. */
.cnc-site-header,
.cnc-site-header .header-main-wrapper,
.cnc-site-header .bottom-header-outer-wrapper,
.cnc-site-header .bottom-header-part{
  border-bottom:0!important;
}


/* --------------------------------------------------------------------------
   Production dropdown polish.
   Inspired by the supplied motion reference, adapted to CNC branding.
   -------------------------------------------------------------------------- */
@media (min-width: 992px){
  .cnc-site-header .main-navigation ul.menu,
  .cnc-site-header .main-navigation ul.nav-menu{
    gap: 6px;
  }
  .cnc-site-header .main-navigation ul.menu > li,
  .cnc-site-header .main-navigation ul.nav-menu > li{
    position: relative;
  }
  .cnc-site-header .main-navigation li.menu-item-has-children > a::after,
  .cnc-site-header .main-navigation li.page_item_has_children > a::after{
    transition: transform .28s ease, color .28s ease;
  }
  .cnc-site-header .main-navigation li.menu-item-has-children:hover > a::after,
  .cnc-site-header .main-navigation li.menu-item-has-children:focus-within > a::after,
  .cnc-site-header .main-navigation li.page_item_has_children:hover > a::after,
  .cnc-site-header .main-navigation li.page_item_has_children:focus-within > a::after{
    transform: rotate(180deg);
  }

  .cnc-site-header .main-navigation ul.menu li .sub-menu,
  .cnc-site-header .main-navigation ul.nav-menu li .children{
    left: 0;
    min-width: 255px;
    width: max-content;
    max-width: 320px;
    padding: 10px;
    margin-top: 14px !important;
    border: 1px solid rgba(66,245,227,.40) !important;
    border-top: 0 !important;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(250,255,254,.97) 0%, rgba(237,255,251,.96) 100%) !important;
    box-shadow:
      0 20px 46px rgba(7,95,89,.18),
      0 12px 22px rgba(19,58,54,.10),
      inset 0 0 0 1px rgba(255,255,255,.55);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px) scale(.975);
    transform-origin: top left;
    transition:
      opacity .24s ease,
      transform .28s cubic-bezier(.22,.61,.36,1),
      visibility 0s linear .28s;
    overflow: hidden;
  }

  .cnc-site-header .main-navigation ul.menu li .sub-menu::before,
  .cnc-site-header .main-navigation ul.nav-menu li .children::before{
    content:"";
    position:absolute;
    inset:0 auto auto 0;
    width:100%;
    height:3px;
    background: linear-gradient(90deg, #22DFF5 0%, #42F5E3 42%, #62B301 100%);
    opacity:.95;
  }

  .cnc-site-header .main-navigation .menu .menu-item-has-children:not(.off-canvas):hover > .sub-menu,
  .cnc-site-header .main-navigation .menu .menu-item-has-children:not(.off-canvas):focus > .sub-menu,
  .cnc-site-header .main-navigation .menu .menu-item-has-children.is-focused:not(.off-canvas) > .sub-menu,
  .cnc-site-header .main-navigation .menu .menu-item-has-children:not(.off-canvas):focus-within > .sub-menu,
  .cnc-site-header .main-navigation .menu .page_item_has_children:not(.off-canvas):hover > ul.children,
  .cnc-site-header .main-navigation .menu .page_item_has_children:not(.off-canvas):focus > ul.children,
  .cnc-site-header .main-navigation .menu .page_item_has_children.is-focused:not(.off-canvas) > ul.children,
  .cnc-site-header .main-navigation .menu .page_item_has_children:not(.off-canvas):focus-within > ul.children{
    left:0;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform: translateY(0) scale(1);
    transition-delay:0s;
  }

  .cnc-site-header .main-navigation ul.menu li .sub-menu li,
  .cnc-site-header .main-navigation ul.nav-menu li .children li{
    padding:0;
    margin: 0 0 4px;
  }
  .cnc-site-header .main-navigation ul.menu li .sub-menu li:last-child,
  .cnc-site-header .main-navigation ul.nav-menu li .children li:last-child{
    margin-bottom:0;
  }

  .cnc-site-header .main-navigation ul.menu li .sub-menu a,
  .cnc-site-header .main-navigation ul.nav-menu li .children a{
    position: relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-width:100%;
    padding: 13px 16px 13px 18px !important;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent !important;
    color: var(--cnc-tech-ink) !important;
    font-weight: 700;
    font-size: .95rem;
    line-height: 1.35;
    box-shadow: none;
    transition:
      background .22s ease,
      color .22s ease,
      border-color .22s ease,
      transform .22s ease,
      box-shadow .22s ease;
  }
  .cnc-site-header .main-navigation ul.menu li .sub-menu a::before,
  .cnc-site-header .main-navigation ul.nav-menu li .children a::before{
    content:"";
    width:8px;
    height:8px;
    border-radius:999px;
    flex:0 0 8px;
    margin-right:2px;
    background: linear-gradient(180deg,#42F5E3 0%, #62B301 100%);
    box-shadow: 0 0 0 4px rgba(66,245,227,.12);
  }
  .cnc-site-header .main-navigation ul.menu li .sub-menu a:hover,
  .cnc-site-header .main-navigation ul.menu li .sub-menu a:focus,
  .cnc-site-header .main-navigation ul.nav-menu li .children a:hover,
  .cnc-site-header .main-navigation ul.nav-menu li .children a:focus{
    background: linear-gradient(90deg, rgba(66,245,227,.14) 0%, rgba(98,179,1,.10) 100%) !important;
    border-color: rgba(66,245,227,.36);
    color: #075F59 !important;
    transform: translateX(4px);
    box-shadow: 0 10px 18px rgba(19,58,54,.08), inset 0 0 0 1px rgba(255,255,255,.42);
  }

  .cnc-site-header .main-navigation ul.menu li .sub-menu li.menu-item-has-children > a::after,
  .cnc-site-header .main-navigation ul.nav-menu li .children li.menu-item-has-children > a::after{
    margin-left:auto;
    right:auto;
    top:auto;
    transform:none;
    color:#0B766E;
  }
  .cnc-site-header .main-navigation ul.menu li .sub-menu li.menu-item-has-children:hover > a::after,
  .cnc-site-header .main-navigation ul.menu li .sub-menu li.menu-item-has-children:focus-within > a::after,
  .cnc-site-header .main-navigation ul.nav-menu li .children li.menu-item-has-children:hover > a::after,
  .cnc-site-header .main-navigation ul.nav-menu li .children li.menu-item-has-children:focus-within > a::after{
    transform: translateX(2px);
  }
}

@media (max-width: 991px){
  .cnc-site-header .main-navigation ul ul{
    background: rgba(255,255,255,.96) !important;
    border:1px solid rgba(66,245,227,.25);
    border-radius: 14px;
    margin: 8px 0 0;
    padding: 8px;
    box-shadow: 0 12px 28px rgba(7,95,89,.12);
  }
  .cnc-site-header .main-navigation ul ul a{
    color: var(--cnc-tech-ink) !important;
    border:1px solid transparent;
    border-radius: 10px;
    padding: 12px 14px !important;
    background: transparent !important;
    font-weight:700;
  }
  .cnc-site-header .main-navigation ul ul a:hover,
  .cnc-site-header .main-navigation ul ul a:focus{
    background: rgba(66,245,227,.12) !important;
    border-color: rgba(66,245,227,.30);
    color:#075F59 !important;
  }
}

/* --------------------------------------------------------------------------
   PROD v1.0.1 — dropdown legacy-layer cleanup.
   Make the CNC dropdown rules authoritative so the vendor dropdown panel
   cannot render as a second/old layer above the redesigned menu.
   -------------------------------------------------------------------------- */
@media (min-width: 992px){
  /* Neutralize the original theme's submenu container visuals and reveal logic. */
  .cnc-site-header .main-navigation ul ul,
  .cnc-site-header .main-navigation ul.menu ul.sub-menu,
  .cnc-site-header .main-navigation ul.nav-menu ul.children{
    display:block !important;
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    right:auto !important;
    min-width:255px !important;
    width:max-content !important;
    max-width:320px !important;
    margin:14px 0 0 !important;
    padding:10px !important;
    border:1px solid rgba(66,245,227,.40) !important;
    border-top:1px solid rgba(66,245,227,.40) !important;
    border-radius:16px !important;
    background:linear-gradient(180deg,rgba(250,255,254,.98),rgba(237,255,251,.97)) !important;
    box-shadow:0 20px 46px rgba(7,95,89,.18),0 12px 22px rgba(19,58,54,.10),inset 0 0 0 1px rgba(255,255,255,.55) !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(12px) scale(.975) !important;
    transform-origin:top left !important;
    transition:opacity .24s ease,transform .28s cubic-bezier(.22,.61,.36,1),visibility 0s linear .28s !important;
    overflow:hidden !important;
    z-index:99999 !important;
  }

  /* Explicitly reveal only the one submenu belonging to the active trigger. */
  .cnc-site-header .main-navigation li.menu-item-has-children:hover > ul.sub-menu,
  .cnc-site-header .main-navigation li.menu-item-has-children:focus-within > ul.sub-menu,
  .cnc-site-header .main-navigation li.menu-item-has-children.is-focused > ul.sub-menu,
  .cnc-site-header .main-navigation li.page_item_has_children:hover > ul.children,
  .cnc-site-header .main-navigation li.page_item_has_children:focus-within > ul.children,
  .cnc-site-header .main-navigation li.page_item_has_children.is-focused > ul.children{
    left:0 !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) scale(1) !important;
    transition-delay:0s !important;
  }

  /* Remove every piece of the old square/stacked dropdown appearance. */
  .cnc-site-header .main-navigation ul ul li,
  .cnc-site-header .main-navigation ul.menu ul.sub-menu li,
  .cnc-site-header .main-navigation ul.nav-menu ul.children li{
    padding:0 !important;
    margin:0 0 4px !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  .cnc-site-header .main-navigation ul ul li:last-child{margin-bottom:0 !important}

  .cnc-site-header .main-navigation ul ul a,
  .cnc-site-header .main-navigation ul.menu ul.sub-menu a,
  .cnc-site-header .main-navigation ul.nav-menu ul.children a,
  .home .cnc-site-header .main-navigation ul ul a{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    min-width:100% !important;
    padding:13px 16px 13px 18px !important;
    margin:0 !important;
    border:1px solid transparent !important;
    border-radius:12px !important;
    background:transparent !important;
    color:var(--cnc-tech-ink) !important;
    box-shadow:none !important;
    text-align:left !important;
    opacity:1 !important;
  }

  .cnc-site-header .main-navigation ul ul a:hover,
  .cnc-site-header .main-navigation ul ul a:focus,
  .cnc-site-header .main-navigation ul.menu ul.sub-menu a:hover,
  .cnc-site-header .main-navigation ul.menu ul.sub-menu a:focus,
  .cnc-site-header .main-navigation ul.nav-menu ul.children a:hover,
  .cnc-site-header .main-navigation ul.nav-menu ul.children a:focus{
    background:linear-gradient(90deg,rgba(66,245,227,.14),rgba(98,179,1,.10)) !important;
    color:#075F59 !important;
    border-color:rgba(66,245,227,.36) !important;
    box-shadow:0 10px 18px rgba(19,58,54,.08),inset 0 0 0 1px rgba(255,255,255,.42) !important;
  }

  /* Hide any legacy decorative line/panel pseudo-elements around submenu items. */
  .cnc-site-header .main-navigation ul ul li::before,
  .cnc-site-header .main-navigation ul ul li::after,
  .cnc-site-header .main-navigation ul ul a::after{
    box-shadow:none !important;
  }
}


/* --------------------------------------------------------------------------
   PROD v1.0.2 — video-reference dropdown motion.
   Rebuilds the reference animation pattern for the WordPress menu:
   panel reveal + staggered left-to-right menu items + rotating caret.
   -------------------------------------------------------------------------- */
@media (min-width: 992px){
  /* The reference uses a small visual gap. This invisible bridge keeps the
     parent hovered while the pointer travels from the trigger to the panel. */
  .cnc-site-header .main-navigation .menu > li.menu-item-has-children::after,
  .cnc-site-header .main-navigation .nav-menu > li.menu-item-has-children::after,
  .cnc-site-header .main-navigation .menu > li.page_item_has_children::after,
  .cnc-site-header .main-navigation .nav-menu > li.page_item_has_children::after{
    content:"";
    position:absolute;
    left:0;
    top:100%;
    width:max(100%, 285px);
    height:12px;
    z-index:99998;
    pointer-events:none;
    background:transparent;
  }
  .cnc-site-header .main-navigation .menu > li.menu-item-has-children:hover::after,
  .cnc-site-header .main-navigation .menu > li.menu-item-has-children:focus-within::after,
  .cnc-site-header .main-navigation .menu > li.menu-item-has-children.focus::after,
  .cnc-site-header .main-navigation .nav-menu > li.menu-item-has-children:hover::after,
  .cnc-site-header .main-navigation .nav-menu > li.menu-item-has-children:focus-within::after,
  .cnc-site-header .main-navigation .nav-menu > li.menu-item-has-children.focus::after,
  .cnc-site-header .main-navigation .menu > li.page_item_has_children:hover::after,
  .cnc-site-header .main-navigation .menu > li.page_item_has_children:focus-within::after,
  .cnc-site-header .main-navigation .menu > li.page_item_has_children.focus::after,
  .cnc-site-header .main-navigation .nav-menu > li.page_item_has_children:hover::after,
  .cnc-site-header .main-navigation .nav-menu > li.page_item_has_children:focus-within::after,
  .cnc-site-header .main-navigation .nav-menu > li.page_item_has_children.focus::after{
    pointer-events:auto;
  }

  /* Replace the vendor Font Awesome caret with the same CSS-border arrow
     technique used by the video. */
  .cnc-site-header .main-navigation .menu > li.menu-item-has-children > a::after,
  .cnc-site-header .main-navigation .nav-menu > li.menu-item-has-children > a::after,
  .cnc-site-header .main-navigation .menu > li.page_item_has_children > a::after,
  .cnc-site-header .main-navigation .nav-menu > li.page_item_has_children > a::after{
    content:"" !important;
    display:inline-block !important;
    width:7px !important;
    height:7px !important;
    margin-left:10px !important;
    border-width:0 2px 2px 0 !important;
    border-style:solid !important;
    border-color:currentColor !important;
    font-family:inherit !important;
    line-height:1 !important;
    vertical-align:middle !important;
    transform:rotate(45deg) !important;
    transform-origin:center !important;
    transition:transform .4s ease !important;
  }
  .cnc-site-header .main-navigation .menu > li.menu-item-has-children:hover > a::after,
  .cnc-site-header .main-navigation .menu > li.menu-item-has-children:focus-within > a::after,
  .cnc-site-header .main-navigation .menu > li.menu-item-has-children.focus > a::after,
  .cnc-site-header .main-navigation .nav-menu > li.menu-item-has-children:hover > a::after,
  .cnc-site-header .main-navigation .nav-menu > li.menu-item-has-children:focus-within > a::after,
  .cnc-site-header .main-navigation .nav-menu > li.menu-item-has-children.focus > a::after,
  .cnc-site-header .main-navigation .menu > li.page_item_has_children:hover > a::after,
  .cnc-site-header .main-navigation .menu > li.page_item_has_children:focus-within > a::after,
  .cnc-site-header .main-navigation .menu > li.page_item_has_children.focus > a::after,
  .cnc-site-header .main-navigation .nav-menu > li.page_item_has_children:hover > a::after,
  .cnc-site-header .main-navigation .nav-menu > li.page_item_has_children:focus-within > a::after,
  .cnc-site-header .main-navigation .nav-menu > li.page_item_has_children.focus > a::after{
    transform:rotate(225deg) !important;
  }

  /* Panel reveal: the source animation grows the list from height:0 over .4s.
     clip-path gives the same downward-unfold feel here without hard-coding a
     height for the 3-item Links menu vs the 6-item Specialty Services menu. */
  .cnc-site-header .main-navigation ul.menu ul.sub-menu,
  .cnc-site-header .main-navigation ul.nav-menu ul.children,
  .cnc-site-header .main-navigation ul ul{
    display:block !important;
    position:absolute !important;
    top:calc(100% + 10px) !important;
    left:0 !important;
    right:auto !important;
    margin:0 !important;
    padding:10px !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:none !important;
    clip-path:inset(0 0 100% 0 round 16px) !important;
    transform-origin:top left !important;
    transition:
      clip-path .40s cubic-bezier(.22,.61,.36,1),
      opacity .18s ease,
      visibility 0s linear .40s !important;
    will-change:clip-path,opacity;
  }

  .cnc-site-header .main-navigation li.menu-item-has-children:hover > ul.sub-menu,
  .cnc-site-header .main-navigation li.menu-item-has-children:focus-within > ul.sub-menu,
  .cnc-site-header .main-navigation li.menu-item-has-children.focus > ul.sub-menu,
  .cnc-site-header .main-navigation li.page_item_has_children:hover > ul.children,
  .cnc-site-header .main-navigation li.page_item_has_children:focus-within > ul.children,
  .cnc-site-header .main-navigation li.page_item_has_children.focus > ul.children{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    clip-path:inset(0 0 0 0 round 16px) !important;
    transition-delay:0s !important;
  }

  /* The reference starts each list item off-screen to the left and brings
     them in with a per-item delay. */
  .cnc-site-header .main-navigation ul.menu ul.sub-menu > li,
  .cnc-site-header .main-navigation ul.nav-menu ul.children > li{
    opacity:0 !important;
    transform:translateX(-100%) !important;
    transition:
      opacity .24s ease var(--cnc-menu-delay, 0s),
      transform .40s cubic-bezier(.22,.61,.36,1) var(--cnc-menu-delay, 0s) !important;
  }
  .cnc-site-header .main-navigation ul.menu ul.sub-menu > li:nth-child(1),
  .cnc-site-header .main-navigation ul.nav-menu ul.children > li:nth-child(1){--cnc-menu-delay:.06s}
  .cnc-site-header .main-navigation ul.menu ul.sub-menu > li:nth-child(2),
  .cnc-site-header .main-navigation ul.nav-menu ul.children > li:nth-child(2){--cnc-menu-delay:.12s}
  .cnc-site-header .main-navigation ul.menu ul.sub-menu > li:nth-child(3),
  .cnc-site-header .main-navigation ul.nav-menu ul.children > li:nth-child(3){--cnc-menu-delay:.18s}
  .cnc-site-header .main-navigation ul.menu ul.sub-menu > li:nth-child(4),
  .cnc-site-header .main-navigation ul.nav-menu ul.children > li:nth-child(4){--cnc-menu-delay:.24s}
  .cnc-site-header .main-navigation ul.menu ul.sub-menu > li:nth-child(5),
  .cnc-site-header .main-navigation ul.nav-menu ul.children > li:nth-child(5){--cnc-menu-delay:.30s}
  .cnc-site-header .main-navigation ul.menu ul.sub-menu > li:nth-child(6),
  .cnc-site-header .main-navigation ul.nav-menu ul.children > li:nth-child(6){--cnc-menu-delay:.36s}
  .cnc-site-header .main-navigation ul.menu ul.sub-menu > li:nth-child(n+7),
  .cnc-site-header .main-navigation ul.nav-menu ul.children > li:nth-child(n+7){--cnc-menu-delay:.40s}

  .cnc-site-header .main-navigation li.menu-item-has-children:hover > ul.sub-menu > li,
  .cnc-site-header .main-navigation li.menu-item-has-children:focus-within > ul.sub-menu > li,
  .cnc-site-header .main-navigation li.menu-item-has-children.focus > ul.sub-menu > li,
  .cnc-site-header .main-navigation li.page_item_has_children:hover > ul.children > li,
  .cnc-site-header .main-navigation li.page_item_has_children:focus-within > ul.children > li,
  .cnc-site-header .main-navigation li.page_item_has_children.focus > ul.children > li{
    opacity:1 !important;
    transform:translateX(0) !important;
  }

  /* Keep the item hover from overriding the stagger transform with an extra
     translation; the color/background change supplies the active cue. */
  .cnc-site-header .main-navigation ul.menu ul.sub-menu a:hover,
  .cnc-site-header .main-navigation ul.menu ul.sub-menu a:focus,
  .cnc-site-header .main-navigation ul.nav-menu ul.children a:hover,
  .cnc-site-header .main-navigation ul.nav-menu ul.children a:focus{
    transform:none !important;
    background:linear-gradient(90deg,rgba(66,245,227,.22),rgba(98,179,1,.15)) !important;
    color:#075F59 !important;
  }
}

@media (prefers-reduced-motion: reduce){
  .cnc-site-header .main-navigation ul.menu ul.sub-menu,
  .cnc-site-header .main-navigation ul.nav-menu ul.children,
  .cnc-site-header .main-navigation ul.menu ul.sub-menu > li,
  .cnc-site-header .main-navigation ul.nav-menu ul.children > li,
  .cnc-site-header .main-navigation .menu > li.menu-item-has-children > a::after,
  .cnc-site-header .main-navigation .nav-menu > li.menu-item-has-children > a::after{
    transition:none !important;
  }
  .cnc-site-header .main-navigation ul.menu ul.sub-menu > li,
  .cnc-site-header .main-navigation ul.nav-menu ul.children > li{
    transform:none !important;
  }
}


/* v1.0.3 — pregnancy graphic fitted into the About floating-image frame without cropping. */
@media (max-width:991px){
  .cnc-about-tech__image-float--diagram{width:58%;height:230px;padding:7px}
}
@media (max-width:640px){
  .cnc-about-tech__image-float--diagram{width:60%;height:178px;padding:6px}
}
@media (max-width:430px){
  .cnc-about-tech__image-float--diagram{width:64%;height:154px;padding:5px}
}


/* --------------------------------------------------------------------------
   PROD v1.0.4 — homepage About palette update.
   Changes the former pale blue/grey About background to #389FC7 and moves
   copy to a deeper teal so normal-size text remains readable on the new tone.
   -------------------------------------------------------------------------- */
.cnc-about-tech{
  background:#389FC7!important;
}
.cnc-about-tech::after{
  opacity:.16;
  filter:saturate(.72) contrast(.96);
  mix-blend-mode:screen;
}
.cnc-about-tech .cnc-tech-kicker,
.cnc-about-tech__copy h2,
.cnc-about-tech__copy>p:not(.cnc-tech-kicker),
.cnc-about-tech .cnc-tech-feature-list,
.cnc-about-tech .cnc-tech-feature-list li,
.cnc-about-tech .cnc-tech-feature-list strong,
.cnc-about-tech .cnc-tech-feature-list span{
  color:#0D2F2C!important;
}
.cnc-about-tech .cnc-tech-kicker{
  color:#082B28!important;
}
.cnc-about-tech .cnc-tech-feature-list i{
  background:#EAF8D9!important;
  color:#4E7416!important;
}
.cnc-about-tech .cnc-tech-button--primary{
  background:#0D5E59!important;
  color:#FFFFFF!important;
  border-color:#0D5E59!important;
}
.cnc-about-tech .cnc-tech-button--primary:hover,
.cnc-about-tech .cnc-tech-button--primary:focus-visible{
  background:#0D2F2C!important;
  color:#FFFFFF!important;
  border-color:#0D2F2C!important;
}

/* --------------------------------------------------------------------------
   PROD v1.0.5 — global teal background expansion.
   Applies the #389FC7 palette to all theme areas that previously used the
   pale blue/grey background, including header, hero/banner, services,
   testimonials, CTA, contact, subpage page headers, footer, and About.
   Text and CTA colors are retuned to preserve readability.
   -------------------------------------------------------------------------- */
:root{
  --cnc-prod-surface:#389FC7;
  --cnc-prod-surface-2:#538E93;
  --cnc-prod-ink:#0D2F2C;
  --cnc-prod-ink-strong:#082B28;
  --cnc-prod-button:#0D5E59;
  --cnc-prod-button-hover:#0A4743;
  --cnc-prod-soft-card:rgba(255,255,255,.84);
}

.cnc-site-header,
.cnc-site-header .main-navigation-links,
.cnc-tech-banner,
.cnc-services-section,
.cnc-testimonials-tech,
.cnc-tech-cta,
.cnc-contact-tech__info,
.page-header,
.cnc-site-footer,
.cnc-site-footer__bottom,
.cnc-about-tech{
  background:var(--cnc-prod-surface)!important;
}

.cnc-tech-banner{
  background:linear-gradient(135deg,rgba(56,159,199,.98) 0%,rgba(56,159,199,.97) 60%,rgba(83,142,147,.97) 100%)!important;
  border-bottom:1px solid rgba(13,47,44,.16);
}

.cnc-tech-cta{
  background:linear-gradient(90deg,rgba(56,159,199,.98) 0%,rgba(83,142,147,.98) 100%)!important;
  border-top:1px solid rgba(13,47,44,.16)!important;
  border-bottom:1px solid rgba(13,47,44,.16)!important;
}

.cnc-site-header,
.cnc-site-header a,
.cnc-site-header .main-navigation a,
.cnc-site-header .main-navigation-links a,
.cnc-site-header .main-navigation-links button,
.cnc-site-header .main-navigation-links .menu-item > a,
.cnc-tech-banner,
.cnc-tech-banner h1,
.cnc-tech-banner__lead,
.cnc-tech-banner .cnc-tech-kicker,
.cnc-hero-points,
.cnc-hero-points i,
.cnc-services-section,
.cnc-services-section .cnc-tech-section__header h2,
.cnc-services-section .cnc-tech-section__header > p:last-child,
.cnc-services-section .cnc-tech-kicker,
.cnc-testimonials-tech,
.cnc-testimonials-tech .cnc-tech-section__header h2,
.cnc-testimonials-tech .cnc-tech-section__header > p:last-child,
.cnc-testimonials-tech .cnc-tech-kicker,
.cnc-tech-cta,
.cnc-tech-cta .cnc-tech-kicker,
.cnc-tech-cta h2,
.cnc-tech-cta p,
.cnc-contact-tech__details,
.cnc-contact-tech__details h3,
.cnc-contact-tech__details p,
.cnc-contact-tech__details a,
.page-header,
.page-header-title,
.page-header a,
.cnc-site-footer,
.cnc-site-footer h2,
.cnc-site-footer a,
.cnc-site-footer p,
.cnc-site-footer li,
.cnc-site-footer address,
.cnc-site-footer__bottom p,
.cnc-about-tech .cnc-tech-kicker,
.cnc-about-tech__copy h2,
.cnc-about-tech__copy > p:not(.cnc-tech-kicker),
.cnc-about-tech .cnc-tech-feature-list,
.cnc-about-tech .cnc-tech-feature-list li,
.cnc-about-tech .cnc-tech-feature-list strong,
.cnc-about-tech .cnc-tech-feature-list span{
  color:var(--cnc-prod-ink)!important;
}

.cnc-tech-kicker,
.cnc-about-tech .cnc-tech-kicker,
.page-header .breadcrumb,
.page-header .breadcrumb a{
  color:var(--cnc-prod-ink-strong)!important;
}

.cnc-tech-button--primary,
.cnc-about-tech .cnc-tech-button--primary,
.cnc-form .cnc-tech-button,
.specialty-primary-cta,
.button-dark{
  background:var(--cnc-prod-button)!important;
  color:#FFFFFF!important;
  border-color:var(--cnc-prod-button)!important;
}
.cnc-tech-button--primary:hover,
.cnc-tech-button--primary:focus-visible,
.cnc-about-tech .cnc-tech-button--primary:hover,
.cnc-about-tech .cnc-tech-button--primary:focus-visible,
.cnc-form .cnc-tech-button:hover,
.cnc-form .cnc-tech-button:focus-visible,
.specialty-primary-cta:hover,
.specialty-primary-cta:focus-visible,
.button-dark:hover,
.button-dark:focus-visible{
  background:var(--cnc-prod-button-hover)!important;
  color:#FFFFFF!important;
  border-color:var(--cnc-prod-button-hover)!important;
}

.cnc-tech-button--outline,
.cnc-tech-cta .cnc-tech-button--outline{
  border-color:rgba(13,47,44,.42)!important;
  color:var(--cnc-prod-ink)!important;
  background:rgba(255,255,255,.18)!important;
}
.cnc-tech-button--outline:hover,
.cnc-tech-button--outline:focus-visible{
  background:rgba(255,255,255,.34)!important;
  color:var(--cnc-prod-ink)!important;
}

.cnc-contact-tech__details .fas,
.cnc-contact-tech__details i,
.cnc-site-footer .fas,
.cnc-site-footer i,
.cnc-testimonial-card .fas,
.cnc-testimonial-card i,
.cnc-testimonial-empty .fas,
.cnc-testimonial-empty i{
  color:var(--cnc-prod-button)!important;
}

.cnc-testimonial-card,
.cnc-testimonial-empty{
  background:var(--cnc-prod-soft-card)!important;
  color:var(--cnc-prod-ink)!important;
  border-color:rgba(13,47,44,.16)!important;
}
.cnc-testimonial-card p,
.cnc-testimonial-card strong,
.cnc-testimonial-card h3,
.cnc-testimonial-card a,
.cnc-testimonial-empty p,
.cnc-testimonial-empty h3,
.cnc-testimonial-empty a{
  color:var(--cnc-prod-ink)!important;
}

.cnc-site-footer__top,
.cnc-site-footer__bottom,
.page-header{
  border-top-color:rgba(13,47,44,.14)!important;
  border-bottom-color:rgba(13,47,44,.14)!important;
}

.cnc-contact-tech__info a:hover,
.cnc-site-footer a:hover,
.page-header a:hover,
.cnc-site-header a:hover{
  color:var(--cnc-prod-button)!important;
}

.cnc-about-tech::after{
  opacity:.16;
  filter:saturate(.72) contrast(.96);
  mix-blend-mode:screen;
}
.cnc-about-tech .cnc-tech-feature-list i{
  background:#EAF8D9!important;
  color:#4E7416!important;
}

/* --------------------------------------------------------------------------
   v1.0.8 Home hero refresh - Option 3 palette + Long Beach coastal background.
   -------------------------------------------------------------------------- */
body.home .cnc-tech-banner{
  background:
    linear-gradient(90deg, rgba(247,250,249,.94) 0%, rgba(247,250,249,.92) 42%, rgba(247,250,249,.80) 68%, rgba(247,250,249,.62) 100%),
    url("../img/long-beach-hero-bg.png") center center/cover no-repeat;
  color:#2F4A4A;
  border-bottom:1px solid rgba(47,74,74,.16);
}
body.home .cnc-tech-banner::after{
  background:linear-gradient(90deg, transparent, rgba(130,190,63,.88), transparent);
  opacity:.84;
}
body.home .cnc-tech-banner .cnc-tech-kicker,
body.home .cnc-tech-banner h1{
  color:#2F4A4A;
}
body.home .cnc-tech-banner__lead,
body.home .cnc-hero-points{
  color:#4F6668;
}
body.home .cnc-hero-points i{
  color:#2F6A6A;
}
body.home .cnc-tech-button--primary{
  background:#2F4A4A;
  color:#fff!important;
  box-shadow:0 10px 25px rgba(47,74,74,.18);
}
body.home .cnc-tech-button--primary:hover{
  background:#244041;
  color:#fff!important;
  box-shadow:0 14px 30px rgba(47,74,74,.22);
}
body.home .cnc-tech-button--outline{
  background:rgba(255,255,255,.78);
  border-color:rgba(47,74,74,.34);
  color:#2F4A4A!important;
}
body.home .cnc-tech-button--outline:hover{
  background:#fff;
  color:#2F4A4A!important;
  box-shadow:0 12px 28px rgba(47,74,74,.12);
}
body.home .cnc-tech-banner__inner{
  min-height:560px;
}
body.home .cnc-tech-banner__frame{
  background-color:#E1EBEA;
  background-image:linear-gradient(180deg, rgba(225,235,234,.96), rgba(225,235,234,.96));
  border-radius:18px;
  min-height:510px;
  box-shadow:0 20px 40px rgba(47,74,74,.14);
}
body.home .cnc-tech-banner__frame::before{
  background:linear-gradient(180deg, rgba(225,235,234,.92), rgba(225,235,234,.92));
  filter:blur(16px);
  opacity:.22;
}
body.home .cnc-tech-banner__frame::after{
  background:linear-gradient(90deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,0) 100%);
}
body.home .cnc-tech-banner__frame > img{
  object-fit:cover;
  object-position:center;
  border-radius:18px;
}
body.home .cnc-tech-banner__accent{
  background:#82BE3F!important;
}
body.home .cnc-quick-access{
  background:linear-gradient(#fff,#fff) padding-box, linear-gradient(90deg,#82BE3F 0%, #2F4A4A 100%) border-box;
  border:3px solid transparent;
  box-shadow:0 12px 24px rgba(47,74,74,.10);
}
body.home .cnc-quick-access::before{
  opacity:.22;
  filter:blur(12px);
}
body.home .cnc-quick-access__grid > a:hover,
body.home .cnc-quick-access__grid > a:focus-visible{
  background:#F7FAF9;
  box-shadow:inset 0 0 0 1px rgba(47,74,74,.12);
}
body.home .cnc-services-section{
  background:
    linear-gradient(180deg, rgba(247,250,249,.95) 0%, rgba(247,250,249,.93) 100%),
    url("../img/long-beach-hero-bg.png") center bottom/cover no-repeat;
  color:#2F4A4A;
}
body.home .cnc-services-section .cnc-tech-section__header h2,
body.home .cnc-services-section .cnc-tech-section__header > p:last-child,
body.home .cnc-services-section .cnc-tech-kicker{
  color:#2F4A4A;
}
body.home .cnc-tech-service-grid::before{
  opacity:.34;
}
@media (max-width: 1024px){
  body.home .cnc-tech-banner{
    background:
      linear-gradient(180deg, rgba(247,250,249,.94) 0%, rgba(247,250,249,.90) 52%, rgba(247,250,249,.82) 100%),
      url("../img/long-beach-hero-bg.png") center center/cover no-repeat;
  }
  body.home .cnc-tech-banner__frame,
  body.home .cnc-tech-banner__frame > img{
    min-height:420px;
  }
}

/* --------------------------------------------------------------------------
   v1.0.9 — Option 3 coastal hero FIX.
   Fixes two issues in v1.0.8:
   1) the background asset now resolves from resource/img; and
   2) these final rules override the older global !important background rules.
   -------------------------------------------------------------------------- */
body.home .cnc-site-header,
body.home .cnc-site-header .main-navigation-links{
  background:rgba(247,250,249,.94)!important;
}
body.home .cnc-site-header .main-navigation > div > ul > li > a,
body.home .cnc-site-header .main-navigation .menu > li > a,
body.home .cnc-site-header .main-navigation .nav-menu > li > a{
  color:#2F4A4A!important;
}
body.home .cnc-site-header .main-navigation .menu > li > a:hover,
body.home .cnc-site-header .main-navigation .nav-menu > li > a:hover,
body.home .cnc-site-header .main-navigation .menu > li > a:focus-visible,
body.home .cnc-site-header .main-navigation .nav-menu > li > a:focus-visible{
  color:#1F3D3E!important;
  background:rgba(225,235,234,.76)!important;
  border-color:rgba(47,74,74,.22)!important;
}

body.home .cnc-tech-banner{
  background-image:
    linear-gradient(90deg, rgba(247,250,249,.90) 0%, rgba(247,250,249,.86) 44%, rgba(247,250,249,.72) 70%, rgba(247,250,249,.58) 100%),
    url("../img/long-beach-hero-bg.png")!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-color:#F7FAF9!important;
  color:#2F4A4A!important;
  border-bottom-color:rgba(47,74,74,.16)!important;
}
body.home .cnc-tech-banner .cnc-hex-field{
  opacity:.025!important;
}
body.home .cnc-tech-banner .cnc-tech-kicker,
body.home .cnc-tech-banner h1{
  color:#2F4A4A!important;
}
body.home .cnc-tech-banner__lead,
body.home .cnc-hero-points,
body.home .cnc-hero-points li{
  color:#405A5B!important;
}
body.home .cnc-hero-points i{
  color:#2F6A6A!important;
}
body.home .cnc-tech-banner__frame{
  background:#E1EBEA!important;
  border-radius:18px;
  box-shadow:0 20px 42px rgba(47,74,74,.16)!important;
}
body.home .cnc-tech-banner__frame::before{
  background:#E1EBEA!important;
  opacity:.14!important;
}
body.home .cnc-tech-banner__frame::after{
  background:linear-gradient(90deg,rgba(47,74,74,.05),rgba(255,255,255,0))!important;
}
body.home .cnc-tech-banner__frame > img{
  border-radius:18px;
}
body.home .cnc-tech-banner__accent{
  background:#82BE3F!important;
}
body.home .cnc-tech-banner .cnc-tech-button--primary{
  background:#2F4A4A!important;
  color:#FFFFFF!important;
  border-color:#2F4A4A!important;
}
body.home .cnc-tech-banner .cnc-tech-button--primary:hover,
body.home .cnc-tech-banner .cnc-tech-button--primary:focus-visible{
  background:#223C3D!important;
  color:#FFFFFF!important;
  border-color:#223C3D!important;
}
body.home .cnc-tech-banner .cnc-tech-button--outline{
  background:rgba(255,255,255,.76)!important;
  color:#2F4A4A!important;
  border-color:rgba(47,74,74,.42)!important;
}
body.home .cnc-tech-banner .cnc-tech-button--outline:hover,
body.home .cnc-tech-banner .cnc-tech-button--outline:focus-visible{
  background:#FFFFFF!important;
  color:#2F4A4A!important;
}

body.home .cnc-quick-access{
  background:linear-gradient(#FFFFFF,#FFFFFF) padding-box,linear-gradient(90deg,#82BE3F 0%,#8EA7A3 48%,#2F4A4A 100%) border-box!important;
  border:3px solid transparent!important;
  box-shadow:0 10px 28px rgba(47,74,74,.12)!important;
}
body.home .cnc-quick-access__grid > a{
  background:#FFFFFF!important;
  color:#2F4A4A!important;
}
body.home .cnc-quick-access__grid strong,
body.home .cnc-quick-access__grid small,
body.home .cnc-quick-access__grid i{
  color:#2F4A4A!important;
}
body.home .cnc-quick-access__grid > a:hover,
body.home .cnc-quick-access__grid > a:focus-visible{
  background:#F7FAF9!important;
}

body.home .cnc-services-section{
  background-image:
    linear-gradient(180deg,rgba(247,250,249,.93) 0%,rgba(247,250,249,.91) 100%),
    url("../img/long-beach-hero-bg.png")!important;
  background-position:center bottom!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-color:#F7FAF9!important;
  color:#2F4A4A!important;
}
body.home .cnc-services-section .cnc-tech-section__header h2,
body.home .cnc-services-section .cnc-tech-section__header > p:last-child,
body.home .cnc-services-section .cnc-tech-kicker{
  color:#2F4A4A!important;
}
body.home .cnc-tech-service-grid::before{
  opacity:.22!important;
}

@media (max-width:991px){
  body.home .cnc-tech-banner{
    background-image:
      linear-gradient(180deg,rgba(247,250,249,.92) 0%,rgba(247,250,249,.84) 100%),
      url("../img/long-beach-hero-bg.png")!important;
    background-position:center center!important;
  }
}

@media (prefers-reduced-motion:reduce){
  body.home .cnc-tech-banner__frame{
    animation:none!important;
    transition:none!important;
  }
}

/* --------------------------------------------------------------------------
   v1.0.10 — make coastal homepage background fixed.
   -------------------------------------------------------------------------- */
body.home .cnc-tech-banner,
body.home .cnc-services-section{
  background-attachment: fixed, fixed !important;
}

/* Mobile/tablet browsers often ignore or render fixed backgrounds poorly. */
@media (max-width: 1024px), (pointer: coarse){
  body.home .cnc-tech-banner,
  body.home .cnc-services-section{
    background-attachment: scroll, scroll !important;
  }
}

/* --------------------------------------------------------------------------
   v1.0.11 — full-home fixed coastal background + submenu alignment fix.
   Keeps the approved coastal image fixed behind the complete homepage while
   using translucent section surfaces so the photograph remains visible.
   -------------------------------------------------------------------------- */
body.home{
  background-color:#F7FAF9!important;
  background-image:url("../img/long-beach-hero-bg.png")!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-attachment:fixed!important;
}

body.home .site,
body.home .site-content,
body.home .site-main,
body.home .cnc-home,
body.home #primary{
  background:transparent!important;
}

/* Keep the hero's current readability treatment, but let every later section
   continue to reveal the same fixed coastal image underneath. */
body.home .cnc-tech-stats{
  background:rgba(225,235,234,.88)!important;
  color:#2F4A4A!important;
}
body.home .cnc-team-section{
  background:rgba(247,250,249,.90)!important;
}
body.home .cnc-about-tech{
  background:rgba(225,235,234,.90)!important;
}
body.home .cnc-process{
  background:rgba(247,250,249,.90)!important;
}
body.home .cnc-resources{
  background:rgba(225,235,234,.90)!important;
}
body.home .cnc-testimonials-tech{
  background:rgba(247,250,249,.88)!important;
  color:#2F4A4A!important;
}
body.home .cnc-testimonials-tech .cnc-tech-section__header h2,
body.home .cnc-testimonials-tech .cnc-tech-section__header > p:last-child,
body.home .cnc-testimonials-tech .cnc-tech-kicker{
  color:#2F4A4A!important;
}
body.home .cnc-tech-cta{
  background:rgba(47,74,74,.84)!important;
}
body.home .cnc-tech-cta h2,
body.home .cnc-tech-cta p,
body.home .cnc-tech-cta .cnc-tech-kicker{
  color:#FFFFFF!important;
}
body.home .cnc-contact-tech{
  background:rgba(247,250,249,.90)!important;
}
body.home .cnc-contact-tech__form{
  background:rgba(247,250,249,.92)!important;
}
body.home .cnc-contact-tech__info{
  background:rgba(225,235,234,.90)!important;
  color:#2F4A4A!important;
}
body.home .cnc-contact-tech__details,
body.home .cnc-contact-tech__details h3,
body.home .cnc-contact-tech__details p,
body.home .cnc-contact-tech__details a{
  color:#2F4A4A!important;
}
body.home .cnc-site-footer{
  background:rgba(47,74,74,.88)!important;
}
body.home .cnc-site-footer__bottom{
  background:rgba(31,61,62,.92)!important;
}
body.home .cnc-site-footer,
body.home .cnc-site-footer h2,
body.home .cnc-site-footer a,
body.home .cnc-site-footer p,
body.home .cnc-site-footer li,
body.home .cnc-site-footer address,
body.home .cnc-site-footer__bottom p{
  color:#FFFFFF!important;
}

/* The fixed image now lives on body.home, so individual home sections should
   not create their own separate scrolling copies of the same photograph. */
body.home .cnc-tech-banner,
body.home .cnc-services-section{
  background-attachment:scroll!important;
}
body.home .cnc-services-section{
  background-image:linear-gradient(180deg,rgba(247,250,249,.90),rgba(247,250,249,.88))!important;
  background-color:transparent!important;
}

/* Dropdown text belongs directly beside the dot. Older rules used
   space-between, which pushed labels to the far right of each menu row. */
@media (min-width:992px){
  .cnc-site-header .main-navigation ul ul a,
  .cnc-site-header .main-navigation ul.menu ul.sub-menu a,
  .cnc-site-header .main-navigation ul.nav-menu ul.children a,
  .home .cnc-site-header .main-navigation ul ul a{
    justify-content:flex-start!important;
    text-align:left!important;
    gap:12px!important;
  }
  .cnc-site-header .main-navigation ul.menu li .sub-menu a::before,
  .cnc-site-header .main-navigation ul.nav-menu li .children a::before{
    margin-right:0!important;
  }
}

/* Fixed background is intentionally disabled on touch/smaller screens where
   browsers commonly emulate or ignore background-attachment: fixed. */
@media (max-width:1024px), (pointer:coarse){
  body.home{
    background-attachment:scroll!important;
  }
}

/* --------------------------------------------------------------------------
   v1.0.12 — approved About section coastal + ghost visibility treatment.
   Keeps the fixed full-page Long Beach background, makes the About section
   more transparent, and increases the anatomical ghost artwork visibility.
   -------------------------------------------------------------------------- */
body.home .cnc-about-tech{
  background:
    linear-gradient(
      90deg,
      rgba(247,250,249,.84) 0%,
      rgba(239,246,245,.78) 40%,
      rgba(225,235,234,.66) 68%,
      rgba(225,235,234,.56) 100%
    )!important;
}

body.home .cnc-about-tech::after{
  display:block!important;
  opacity:.34!important;
  filter:brightness(1.16) saturate(1.10) contrast(1.06)!important;
  mix-blend-mode:normal!important;
}

/* Preserve readable copy over the more visible fixed background. */
body.home .cnc-about-tech__copy{
  text-shadow:0 1px 0 rgba(255,255,255,.28);
}
body.home .cnc-about-tech__copy h2,
body.home .cnc-about-tech__copy > p:not(.cnc-tech-kicker),
body.home .cnc-about-tech .cnc-tech-kicker,
body.home .cnc-about-tech .cnc-tech-feature-list,
body.home .cnc-about-tech .cnc-tech-feature-list li,
body.home .cnc-about-tech .cnc-tech-feature-list strong,
body.home .cnc-about-tech .cnc-tech-feature-list span{
  color:#173E3A!important;
}

/* Keep the artwork useful but less dominant on smaller screens. */
@media (max-width:991px){
  body.home .cnc-about-tech{
    background:rgba(247,250,249,.80)!important;
  }
  body.home .cnc-about-tech::after{
    display:block!important;
    left:46%!important;
    opacity:.22!important;
  }
}
@media (max-width:640px){
  body.home .cnc-about-tech::after{
    opacity:.14!important;
  }
}

/* --------------------------------------------------------------------------
   v1.0.13 — Specialty Services coastal + ghost visibility treatment.
   Mirrors the approved About-section direction: reveal more of the fixed
   Long Beach background and bring the anatomical ghost forward slightly.
   -------------------------------------------------------------------------- */
body.home .cnc-services-section{
  background:
    linear-gradient(
      180deg,
      rgba(247,250,249,.82) 0%,
      rgba(239,246,245,.72) 46%,
      rgba(225,235,234,.62) 100%
    )!important;
  background-color:transparent!important;
}

body.home .cnc-tech-service-grid::before{
  opacity:.48!important;
  filter:brightness(1.18) saturate(1.08) contrast(1.04)!important;
}

body.home .cnc-services-section .cnc-tech-section__header{
  text-shadow:0 1px 0 rgba(255,255,255,.30);
}
body.home .cnc-services-section .cnc-tech-section__header h2,
body.home .cnc-services-section .cnc-tech-section__header > p:last-child,
body.home .cnc-services-section .cnc-tech-kicker{
  color:#173E3A!important;
}

@media (max-width:991px){
  body.home .cnc-services-section{
    background:rgba(247,250,249,.80)!important;
  }
  body.home .cnc-tech-service-grid::before{
    opacity:.28!important;
    filter:brightness(1.14) saturate(1.05) contrast(1.03)!important;
  }
}
@media (max-width:640px){
  body.home .cnc-tech-service-grid::before{
    opacity:.18!important;
  }
}

/* --------------------------------------------------------------------------
   v1.0.14 — Approved specialty services transparency tune + updated hero.
   Shows more of the Long Beach coastal background while keeping the ghost
   image slightly more visible than the background wash.
   -------------------------------------------------------------------------- */
body.home .cnc-services-section{
  background:
    linear-gradient(
      180deg,
      rgba(247,250,249,.52) 0%,
      rgba(239,246,245,.42) 46%,
      rgba(225,235,234,.36) 100%
    )!important;
  background-color:transparent!important;
}

body.home .cnc-tech-service-grid::before{
  opacity:.56!important;
  filter:brightness(1.12) saturate(1.06) contrast(1.03)!important;
}

body.home .cnc-services-section .cnc-tech-section__header{
  text-shadow:0 1px 0 rgba(255,255,255,.28);
}
body.home .cnc-services-section .cnc-tech-section__header h2,
body.home .cnc-services-section .cnc-tech-section__header > p:last-child,
body.home .cnc-services-section .cnc-tech-kicker{
  color:#173E3A!important;
}

@media (max-width:991px){
  body.home .cnc-services-section{
    background:rgba(247,250,249,.60)!important;
  }
  body.home .cnc-tech-service-grid::before{
    opacity:.34!important;
    filter:brightness(1.10) saturate(1.04) contrast(1.02)!important;
  }
}
@media (max-width:640px){
  body.home .cnc-tech-service-grid::before{
    opacity:.22!important;
  }
}

/* --------------------------------------------------------------------------
   v1.0.15 — Hero cleanup.
   Removes the top hero photo reveal animation and green corner accent.
   Keeps the rest of the site animations intact.
   -------------------------------------------------------------------------- */
body.home .cnc-tech-banner__frame{
  animation:none !important;
  transition:none !important;
  clip-path:none !important;
}
body.home .cnc-tech-banner__media:hover .cnc-tech-banner__frame{
  clip-path:none !important;
}
body.home .cnc-tech-banner__accent{
  display:none !important;
}

/* --------------------------------------------------------------------------
   v1.0.16 — Matching animated frames for testimonials + contact panels.
   Reuses the Patient Resources rotating cyan/green border treatment.
   The office information/map panel now visually matches the form panel.
   -------------------------------------------------------------------------- */
body.home .cnc-testimonial-card,
body.home .cnc-testimonial-empty,
body.home .cnc-contact-tech__form,
body.home .cnc-contact-tech__info{
  --cnc-service-glow-angle:0deg;
  position:relative;
  overflow:visible;
  border:4px solid transparent!important;
  animation:cnc-service-glow-spin 8s linear infinite;
  box-shadow:0 16px 38px rgba(6,61,56,.10),0 0 18px rgba(167,227,222,.28)!important;
}

/* Testimonials: keep the readable light card surface while restoring the
   animated conic-gradient frame that later palette overrides had hidden. */
body.home .cnc-testimonial-card,
body.home .cnc-testimonial-empty{
  background:
    linear-gradient(rgba(255,255,255,.88),rgba(255,255,255,.88)) padding-box,
    conic-gradient(
      from var(--cnc-service-glow-angle),
      var(--cnc-tech-cyan) 0deg,
      #F0FBF8 42deg,
      #0EA295 95deg,
      #0B766E 145deg,
      var(--cnc-tech-green) 205deg,
      #5CCBC2 255deg,
      var(--cnc-tech-cyan-2) 315deg,
      var(--cnc-tech-cyan) 360deg
    ) border-box!important;
  color:#173E3A!important;
}

/* Contact form + office/map panel: use one matching light surface and the
   same animated frame on both sides. */
body.home .cnc-contact-tech__form,
body.home .cnc-contact-tech__info{
  background:
    linear-gradient(rgba(247,250,249,.92),rgba(247,250,249,.92)) padding-box,
    conic-gradient(
      from var(--cnc-service-glow-angle),
      var(--cnc-tech-cyan) 0deg,
      #F0FBF8 42deg,
      #0EA295 95deg,
      #0B766E 145deg,
      var(--cnc-tech-green) 205deg,
      #5CCBC2 255deg,
      var(--cnc-tech-cyan-2) 315deg,
      var(--cnc-tech-cyan) 360deg
    ) border-box!important;
  color:#173E3A!important;
}

body.home .cnc-contact-tech__details,
body.home .cnc-contact-tech__details h3,
body.home .cnc-contact-tech__details p,
body.home .cnc-contact-tech__details a,
body.home .cnc-contact-tech__maps-link{
  color:#173E3A!important;
}
body.home .cnc-contact-tech__details i{
  color:#0D6F69!important;
}

/* Make the two contact columns read as a balanced matched pair. */
body.home .cnc-contact-tech__grid{
  align-items:stretch;
}
body.home .cnc-contact-tech__form,
body.home .cnc-contact-tech__info{
  height:100%;
}
body.home .cnc-contact-tech__info{
  display:flex;
  flex-direction:column;
}
body.home .cnc-map{
  flex:1 1 auto;
  min-height:340px;
}
body.home .cnc-map iframe{
  height:100%;
  min-height:340px;
}

/* Stagger the frames so they do not all trace at the same point. */
body.home .cnc-testimonial-card:nth-child(2){animation-delay:-2.67s}
body.home .cnc-testimonial-card:nth-child(3){animation-delay:-5.33s}
body.home .cnc-contact-tech__info{animation-delay:-4s}

@media (max-width:991px){
  body.home .cnc-contact-tech__form,
  body.home .cnc-contact-tech__info{
    height:auto;
  }
  body.home .cnc-map iframe{
    min-height:320px;
  }
}

@media (prefers-reduced-motion:reduce){
  body.home .cnc-testimonial-card,
  body.home .cnc-testimonial-empty,
  body.home .cnc-contact-tech__form,
  body.home .cnc-contact-tech__info{
    animation:none!important;
  }
}

/* --------------------------------------------------------------------------
   v1.0.17 — Subpage palette synchronization.
   Brings all non-home templates into the approved main-page visual system:
   dark slate #2F4A4A, CNC green #82BE3F, soft #F7FAF9 / #E1EBEA surfaces,
   muted #8EA7A3 accents, and the same fixed Long Beach coastal backdrop.
   -------------------------------------------------------------------------- */
body:not(.home){
  --cnc-sub-heading:#2F4A4A;
  --cnc-sub-text:#405A5B;
  --cnc-sub-link:#0D6F69;
  --cnc-sub-green:#82BE3F;
  --cnc-sub-bg:#F7FAF9;
  --cnc-sub-section:#E1EBEA;
  --cnc-sub-accent:#8EA7A3;
  --cnc-sub-border:#C8D7D4;
  background-color:#F7FAF9!important;
  background-image:url("../img/long-beach-hero-bg.png")!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-attachment:fixed!important;
  color:var(--cnc-sub-text)!important;
}

/* Header / navigation: same light, calm treatment used on the homepage. */
body:not(.home) .cnc-site-header,
body:not(.home) .cnc-site-header .header-main-wrapper,
body:not(.home) .cnc-site-header .bottom-header-outer-wrapper,
body:not(.home) .cnc-site-header .bottom-header-part,
body:not(.home) .cnc-site-header .main-navigation-links{
  background:rgba(247,250,249,.94)!important;
}
body:not(.home) .cnc-site-header .main-navigation > div > ul > li > a,
body:not(.home) .cnc-site-header .main-navigation .menu > li > a,
body:not(.home) .cnc-site-header .main-navigation .nav-menu > li > a{
  color:var(--cnc-sub-heading)!important;
}
body:not(.home) .cnc-site-header .main-navigation .menu > li > a:hover,
body:not(.home) .cnc-site-header .main-navigation .nav-menu > li > a:hover,
body:not(.home) .cnc-site-header .main-navigation .menu > li > a:focus-visible,
body:not(.home) .cnc-site-header .main-navigation .nav-menu > li > a:focus-visible{
  color:#1F3D3E!important;
  background:rgba(225,235,234,.80)!important;
  border-color:rgba(47,74,74,.22)!important;
}

/* Subpage title banner. */
body:not(.home) .page-header{
  background:rgba(225,235,234,.92)!important;
  color:var(--cnc-sub-heading)!important;
  border-top:0!important;
  border-bottom:2px solid rgba(130,190,63,.72)!important;
}
body:not(.home) .page-header::after{
  opacity:.035!important;
}
body:not(.home) .page-header-title,
body:not(.home) .page-header a,
body:not(.home) .page-header .breadcrumb,
body:not(.home) .page-header .breadcrumb a{
  color:var(--cnc-sub-heading)!important;
}

/* Main dedicated-page surface: coastal image remains faintly visible behind it. */
body:not(.home) .main-content,
body:not(.home) main.main-content{
  background:rgba(247,250,249,.92)!important;
  color:var(--cnc-sub-text)!important;
}
body:not(.home) .doctor-profile,
body:not(.home) .about-profile,
body:not(.home) .faq-profile,
body:not(.home) .insurance-profile,
body:not(.home) .accessibility-profile,
body:not(.home) .careers-profile,
body:not(.home) .specialty-profile,
body:not(.home) .forms-profile{
  background:rgba(255,255,255,.88)!important;
  border-color:var(--cnc-sub-border)!important;
  box-shadow:0 18px 46px rgba(47,74,74,.10)!important;
}

/* Headings / body copy / links. */
body:not(.home) .doctor-page-title,
body:not(.home) .doctor-profile-content h2,
body:not(.home) .about-page-content h2,
body:not(.home) .specialty-page-content h2,
body:not(.home) .insurance-page-content h2,
body:not(.home) .accessibility-page-content h2,
body:not(.home) .faq-page-content h2,
body:not(.home) .careers-application-section h2,
body:not(.home) .careers-contact-section h2,
body:not(.home) .forms-card h2,
body:not(.home) .careers-role-card h2,
body:not(.home) .faq-page-footer-title,
body:not(.home) .forms-page-main h1,
body:not(.home) .about-page-main h1,
body:not(.home) .faq-page-main h1,
body:not(.home) .insurance-page-main h1,
body:not(.home) .accessibility-page-main h1,
body:not(.home) .careers-page-main h1,
body:not(.home) .doctor-page-main h1,
body:not(.home) .specialty-page-main h1{
  color:var(--cnc-sub-heading)!important;
}
body:not(.home) .doctor-profile-header>p,
body:not(.home) .about-page-subtitle,
body:not(.home) .careers-page-intro,
body:not(.home) .specialty-page-lead,
body:not(.home) .forms-page-intro,
body:not(.home) .doctor-profile-content,
body:not(.home) .about-page-content,
body:not(.home) .specialty-page-content,
body:not(.home) .insurance-page-content,
body:not(.home) .accessibility-page-content,
body:not(.home) .faq-page-content,
body:not(.home) .forms-card p,
body:not(.home) .careers-role-card p,
body:not(.home) .careers-page-note,
body:not(.home) .accessibility-reviewed,
body:not(.home) .doctor-breadcrumbs{
  color:var(--cnc-sub-text)!important;
}
body:not(.home) .main-content a,
body:not(.home) .doctor-breadcrumbs a,
body:not(.home) .doctor-profile-content a,
body:not(.home) .about-page-content a,
body:not(.home) .specialty-page-content a,
body:not(.home) .insurance-page-content a,
body:not(.home) .accessibility-page-content a,
body:not(.home) .faq-page-content a,
body:not(.home) .doctor-page-back-link a,
body:not(.home) .faq-more-link{
  color:var(--cnc-sub-link)!important;
}
body:not(.home) .main-content a:hover,
body:not(.home) .main-content a:focus-visible{
  color:#244041!important;
}
body:not(.home) .specialty-page-eyebrow{
  color:#4F741B!important;
}

/* Cards and informational callouts. */
body:not(.home) .forms-card,
body:not(.home) .careers-role-card,
body:not(.home) .faq-item,
body:not(.home) .careers-application-section,
body:not(.home) .careers-contact-section,
body:not(.home) .accessibility-contact,
body:not(.home) .insurance-verification-note,
body:not(.home) .specialty-question,
body:not(.home) .specialty-medical-note,
body:not(.home) .specialty-safety-notice,
body:not(.home) .specialty-related-links,
body:not(.home) .specialty-steps li{
  background:rgba(255,255,255,.88)!important;
  border-color:var(--cnc-sub-border)!important;
  color:var(--cnc-sub-text)!important;
}
body:not(.home) .forms-card,
body:not(.home) .careers-role-card{
  border-top-color:var(--cnc-sub-green)!important;
}
body:not(.home) .careers-page-note,
body:not(.home) .insurance-verification-note,
body:not(.home) .specialty-medical-note,
body:not(.home) .specialty-safety-notice{
  background:rgba(225,235,234,.72)!important;
  border-left-color:var(--cnc-sub-green)!important;
}

/* Buttons use the same slate + green relationship as the homepage. */
body:not(.home) .button-dark,
body:not(.home) .specialty-primary-cta,
body:not(.home) .cnc-form .cnc-tech-button,
body:not(.home) input[type="submit"].button-dark,
body:not(.home) button.button-dark{
  background:var(--cnc-sub-heading)!important;
  border-color:var(--cnc-sub-heading)!important;
  color:#FFFFFF!important;
}
body:not(.home) .button-dark:hover,
body:not(.home) .button-dark:focus-visible,
body:not(.home) .specialty-primary-cta:hover,
body:not(.home) .specialty-primary-cta:focus-visible,
body:not(.home) .cnc-form .cnc-tech-button:hover,
body:not(.home) .cnc-form .cnc-tech-button:focus-visible{
  background:#244041!important;
  border-color:#244041!important;
  color:#FFFFFF!important;
}
body:not(.home) .specialty-secondary-cta{
  background:rgba(255,255,255,.64)!important;
  border-color:rgba(47,74,74,.35)!important;
  color:var(--cnc-sub-heading)!important;
}

/* Media frames keep the CNC green/teal accents without the old blue palette. */
body:not(.home) .doctor-profile-image,
body:not(.home) .specialty-page-image,
body:not(.home) .about-page-image,
body:not(.home) .faq-featured-image{
  border-color:#FFFFFF!important;
  box-shadow:0 14px 36px rgba(47,74,74,.13)!important;
}

/* Footer now matches the homepage footer instead of the legacy #389FC7 blue. */
body:not(.home) .cnc-site-footer{
  background:rgba(47,74,74,.92)!important;
  color:#FFFFFF!important;
}
body:not(.home) .cnc-site-footer__top{
  border-top-color:rgba(130,190,63,.42)!important;
}
body:not(.home) .cnc-site-footer__bottom{
  background:rgba(36,64,65,.96)!important;
  border-top-color:rgba(255,255,255,.14)!important;
}
body:not(.home) .cnc-site-footer,
body:not(.home) .cnc-site-footer h2,
body:not(.home) .cnc-site-footer p,
body:not(.home) .cnc-site-footer li,
body:not(.home) .cnc-site-footer address,
body:not(.home) .cnc-site-footer__bottom p{
  color:#FFFFFF!important;
}
body:not(.home) .cnc-site-footer a{
  color:#F0F7F5!important;
}
body:not(.home) .cnc-site-footer a:hover,
body:not(.home) .cnc-site-footer a:focus-visible{
  color:#DDF3A8!important;
}
body:not(.home) .cnc-site-footer .fas,
body:not(.home) .cnc-site-footer i{
  color:#B3DAB1!important;
}

body:not(.home) .technology-software-firm-scroll-to-top{
  background:var(--cnc-sub-heading)!important;
  color:#FFFFFF!important;
  border-color:#FFFFFF!important;
}

@media (max-width:1024px), (pointer:coarse){
  body:not(.home){
    background-attachment:scroll!important;
  }
}

/* --------------------------------------------------------------------------
   v1.0.20 — DEV/CodePen #1 Hover Glow Effect adaptation.
   This intentionally preserves the original button geometry and hover-glow
   mechanics while limiting the effect to Related Information links and using
   the CNC palette instead of the demo's rainbow colors.
   -------------------------------------------------------------------------- */
body:not(.home) .specialty-related-links ul{
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
    display:flex !important;
    flex-wrap:wrap !important;
    gap:14px !important;
}

body:not(.home) .specialty-related-links li{
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
}

body:not(.home) .specialty-related-links .glow-on-hover{
    min-width:220px;
    width:max-content;
    max-width:100%;
    height:50px;
    padding:0 20px;
    border:none !important;
    outline:none;
    color:#fff !important;
    background:#111 !important;
    cursor:pointer;
    position:relative;
    z-index:0;
    border-radius:10px !important;
    display:inline-flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:nowrap;
    text-decoration:none !important;
    font-weight:700 !important;
    line-height:1 !important;
    box-shadow:none !important;
    transform:none !important;
    isolation:isolate;
}

body:not(.home) .specialty-related-links .glow-on-hover::before{
    content:'';
    background:linear-gradient(
        45deg,
        #82BE3F,
        #B3DAB1,
        #89D6BD,
        #A1DFCB,
        #8EA7A3,
        #6B83A4,
        #2F4A4A,
        #89D6BD,
        #82BE3F
    );
    position:absolute;
    top:-2px;
    left:-2px;
    background-size:400%;
    z-index:-1;
    filter:blur(5px);
    width:calc(100% + 4px);
    height:calc(100% + 4px);
    animation:cncGlowOnHover 20s linear infinite;
    opacity:0;
    transition:opacity .3s ease-in-out;
    border-radius:10px;
    pointer-events:none;
}

body:not(.home) .specialty-related-links .glow-on-hover:active{
    color:#000 !important;
}

body:not(.home) .specialty-related-links .glow-on-hover:active::after{
    background:transparent;
}

body:not(.home) .specialty-related-links .glow-on-hover:hover::before,
body:not(.home) .specialty-related-links .glow-on-hover:focus-visible::before{
    opacity:1;
}

body:not(.home) .specialty-related-links .glow-on-hover::after{
    z-index:-1;
    content:'';
    position:absolute;
    width:100%;
    height:100%;
    background:#111;
    left:0;
    top:0;
    border-radius:10px;
    pointer-events:none;
}

body:not(.home) .specialty-related-links .glow-on-hover:focus-visible{
    outline:3px solid #82BE3F !important;
    outline-offset:4px !important;
}

@keyframes cncGlowOnHover{
    0%{background-position:0 0;}
    50%{background-position:400% 0;}
    100%{background-position:0 0;}
}

@media (max-width:640px){
    body:not(.home) .specialty-related-links .glow-on-hover{
        width:100%;
        min-width:0;
        height:auto;
        min-height:50px;
        padding:12px 16px;
        white-space:normal;
    }
    body:not(.home) .specialty-related-links li{
        width:100%;
    }
}

@media (prefers-reduced-motion:reduce){
    body:not(.home) .specialty-related-links .glow-on-hover::before{
        animation:none !important;
    }
}

/* --------------------------------------------------------------------------
   v1.0.21 — Hover glow refinement + Specialty Services frame cleanup.
   - Related Information buttons now change text color on hover/focus.
   - Button outer glow is brighter/wider, closer to the main-page glow ring.
   - Removes the moving green glow from the six Specialty Services cards while
     preserving a clean teal border and the card image hover treatment.
   -------------------------------------------------------------------------- */
body:not(.home) .specialty-related-links .glow-on-hover{
  transition:color .25s ease, box-shadow .25s ease!important;
}

body:not(.home) .specialty-related-links .glow-on-hover::before{
  top:-4px!important;
  left:-4px!important;
  width:calc(100% + 8px)!important;
  height:calc(100% + 8px)!important;
  filter:blur(9px)!important;
  border-radius:12px!important;
  opacity:0!important;
  background:linear-gradient(
    45deg,
    #82BE3F,
    #B3DAB1,
    #89D6BD,
    #A1DFCB,
    #5CCBC2,
    #0EA295,
    #6B83A4,
    #2F4A4A,
    #82BE3F
  )!important;
  background-size:400%!important;
}

body:not(.home) .specialty-related-links .glow-on-hover:hover,
body:not(.home) .specialty-related-links .glow-on-hover:focus-visible{
  color:#B3DAB1!important;
  box-shadow:
    0 0 8px rgba(137,214,189,.58),
    0 0 18px rgba(92,203,194,.44),
    0 0 30px rgba(130,190,63,.24)!important;
}

body:not(.home) .specialty-related-links .glow-on-hover:hover::before,
body:not(.home) .specialty-related-links .glow-on-hover:focus-visible::before{
  opacity:1!important;
}

/* Remove the animated green halo from the six homepage specialty cards.
   Keep a restrained teal frame so the cards remain visually separated. */
body.home .cnc-tech-service-card{
  animation:none!important;
  border:4px solid transparent!important;
  background:
    linear-gradient(#075F59,#075F59) padding-box,
    linear-gradient(135deg,#89D6BD 0%,#5CCBC2 48%,#0EA295 100%) border-box!important;
  box-shadow:0 18px 38px rgba(6,61,56,.16)!important;
}

body.home .cnc-tech-service-card::before{
  display:none!important;
  content:none!important;
}

body.home .cnc-tech-service-card:hover,
body.home .cnc-tech-service-card:focus-within{
  box-shadow:0 22px 44px rgba(6,61,56,.22)!important;
}

@media (prefers-reduced-motion:reduce){
  body:not(.home) .specialty-related-links .glow-on-hover::before{
    animation:none!important;
  }
}

/* --------------------------------------------------------------------------
   v1.0.22 — Specialty Services: restore animated card ring + natural photos.
   Keeps the rotating CNC perimeter animation around each service card, while
   replacing the green/teal image wash with a neutral readability gradient.
   -------------------------------------------------------------------------- */
body.home .cnc-tech-service-card{
  --cnc-service-glow-angle:0deg;
  animation:cnc-service-glow-spin 8s linear infinite!important;
  border:4px solid transparent!important;
  background:
    linear-gradient(#075F59,#075F59) padding-box,
    conic-gradient(
      from var(--cnc-service-glow-angle),
      var(--cnc-tech-cyan) 0deg,
      #F0FBF8 42deg,
      #0EA295 95deg,
      #0B766E 145deg,
      var(--cnc-tech-green) 205deg,
      #5CCBC2 255deg,
      var(--cnc-tech-cyan-2) 315deg,
      var(--cnc-tech-cyan) 360deg
    ) border-box!important;
  box-shadow:0 22px 46px rgba(0,0,0,.18),0 0 16px rgba(167,227,222,.24)!important;
}

body.home .cnc-tech-service-card::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:-6px!important;
  z-index:0!important;
  pointer-events:none!important;
  background:conic-gradient(
      from var(--cnc-service-glow-angle),
      rgba(167,227,222,.82) 0deg,
      rgba(240,251,248,.92) 42deg,
      rgba(14,162,149,.84) 95deg,
      rgba(11,118,110,.75) 145deg,
      rgba(98,179,1,.82) 205deg,
      rgba(92,203,194,.88) 255deg,
      rgba(167,227,222,.84) 315deg,
      rgba(167,227,222,.82) 360deg
    )!important;
  filter:blur(16px)!important;
  opacity:.56!important;
}

/* Remove the green cast from the photos. The neutral dark gradient remains
   only to keep white card copy readable over varying photographs. */
body.home .cnc-tech-service-card__shade{
  background:linear-gradient(
    180deg,
    rgba(8,18,20,.03) 0%,
    rgba(8,22,24,.18) 34%,
    rgba(7,20,22,.46) 62%,
    rgba(5,17,19,.84) 100%
  )!important;
}
body.home .cnc-tech-service-card__link:hover .cnc-tech-service-card__shade,
body.home .cnc-tech-service-card__link:focus .cnc-tech-service-card__shade{
  background:linear-gradient(
    180deg,
    rgba(8,18,20,.02) 0%,
    rgba(8,22,24,.14) 34%,
    rgba(7,20,22,.40) 62%,
    rgba(5,17,19,.80) 100%
  )!important;
}
body.home .cnc-tech-service-card__link > img{
  filter:none!important;
}
body.home .cnc-tech-service-card__link:hover > img,
body.home .cnc-tech-service-card__link:focus > img{
  filter:saturate(1.03) contrast(1.02)!important;
}

body.home .cnc-tech-service-card:hover,
body.home .cnc-tech-service-card:focus-within{
  box-shadow:0 22px 46px rgba(0,0,0,.20),0 0 20px rgba(167,227,222,.24)!important;
}
body.home .cnc-tech-service-card:hover::before,
body.home .cnc-tech-service-card:focus-within::before{
  opacity:.62!important;
}

@media (prefers-reduced-motion:reduce){
  body.home .cnc-tech-service-card{
    animation:none!important;
  }
  body.home .cnc-tech-service-card::before{
    filter:none!important;
    opacity:.30!important;
  }
}

/* --------------------------------------------------------------------------
   v1.0.23 — Wider desktop subpage content area.
   Expands the subpage canvas from 1180px to 1470px (~25% wider) while
   preserving the existing tablet/mobile responsive behavior.
   -------------------------------------------------------------------------- */
@media (min-width:1200px){
  body:not(.home) .main-content > .fluid-container{
    max-width:1470px!important;
  }
}

/* --------------------------------------------------------------------------
   v1.0.24 — Corrected wider subpage canvas.
   Applies the desktop width directly instead of depending on a 1200px media
   query, and widens the major inner content caps so the change is visible.
   Existing mobile/tablet rules continue to constrain content naturally.
   -------------------------------------------------------------------------- */
body:not(.home) .main-content > .fluid-container{
  width:100%!important;
  max-width:1470px!important;
}

body:not(.home) .doctor-profile-header{
  max-width:1100px!important;
}

body:not(.home) .specialty-page-body,
body:not(.home) .about-profile .about-page-content{
  width:100%!important;
  max-width:1225px!important;
}

@media (max-width:991px){
  body:not(.home) .main-content > .fluid-container,
  body:not(.home) .specialty-page-body,
  body:not(.home) .about-profile .about-page-content{
    max-width:100%!important;
  }
}


/* --------------------------------------------------------------------------
   v1.0.25 — Expanded subpage canvas for wide desktop displays.
   v1.0.24 used a 1470px cap, which can still look narrow on 4K/wide monitors.
   This targets the actual page section directly and expands it ~25% further.
   -------------------------------------------------------------------------- */
@media (min-width: 1200px){
  .main-content > section.fluid-container{
    width:calc(100% - 48px)!important;
    max-width:1840px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .main-content > section.fluid-container > .row,
  .main-content > section.fluid-container > .row > .col-md-12{
    width:100%!important;
    max-width:none!important;
  }

  .main-content > section.fluid-container .doctor-profile{
    width:100%!important;
    max-width:none!important;
  }

  .main-content > section.fluid-container .doctor-profile-header{
    max-width:1375px!important;
  }

  .main-content > section.fluid-container .specialty-page-body,
  .main-content > section.fluid-container .about-profile .about-page-content{
    width:100%!important;
    max-width:1530px!important;
  }
}

@media (max-width:1199px){
  .main-content > section.fluid-container{
    width:100%!important;
    max-width:100%!important;
  }
}


/* --------------------------------------------------------------------------
   v1.0.26 — authoritative subpage width fix.
   Directly targets the real subpage section and its white profile panel.
   -------------------------------------------------------------------------- */
body:not(.home) main.main-content > section.fluid-container.specialty-page-section,
body:not(.home) main.main-content > section.fluid-container,
body:not(.home) .main-content > .fluid-container{
  width:calc(100% - 40px)!important;
  max-width:1475px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body:not(.home) main.main-content > section.fluid-container > .row,
body:not(.home) main.main-content > section.fluid-container > .row > [class*="col-"]{
  width:100%!important;
  max-width:100%!important;
}
body:not(.home) main.main-content > section.fluid-container .doctor-profile,
body:not(.home) main.main-content > section.fluid-container .specialty-profile,
body:not(.home) main.main-content > section.fluid-container .about-profile,
body:not(.home) main.main-content > section.fluid-container .faq-profile,
body:not(.home) main.main-content > section.fluid-container .insurance-profile,
body:not(.home) main.main-content > section.fluid-container .accessibility-profile,
body:not(.home) main.main-content > section.fluid-container .careers-profile,
body:not(.home) main.main-content > section.fluid-container .forms-profile{
  width:100%!important;
  max-width:none!important;
}
body:not(.home) .doctor-profile-header{
  max-width:1100px!important;
}
body:not(.home) .specialty-page-body,
body:not(.home) .about-profile .about-page-content{
  width:100%!important;
  max-width:1225px!important;
}
@media (max-width:991px){
  body:not(.home) main.main-content > section.fluid-container,
  body:not(.home) .main-content > .fluid-container{
    width:100%!important;
    max-width:100%!important;
  }
}


/* --------------------------------------------------------------------------
   v1.0.27 — true full-width CNC subpage layout fix.
   Root cause: the vendor theme was adding right-sidebar/left-sidebar to the
   body, turning .asterthemes-page into a 70/30 grid even though CNC custom
   pages do not render a sidebar. That is why the panel briefly appeared wide
   during refresh and then snapped narrow once the theme CSS finished loading.
   -------------------------------------------------------------------------- */
body.cnc-custom-page-full-width .site-content > .asterthemes-wrapper{
  width:100%!important;
  max-width:1515px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:20px!important;
  padding-right:20px!important;
}

body.cnc-custom-page-full-width .site-content > .asterthemes-wrapper > .asterthemes-page{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  grid-template-columns:none!important;
  grid-template-areas:none!important;
  margin-top:0!important;
}

body.cnc-custom-page-full-width main.main-content{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}

body.cnc-custom-page-full-width main.main-content > section.fluid-container{
  width:100%!important;
  max-width:1475px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Keep readable line lengths even though the page canvas is wider. */
body.cnc-custom-page-full-width .doctor-profile-header{
  max-width:1100px!important;
}

body.cnc-custom-page-full-width .specialty-page-body,
body.cnc-custom-page-full-width .about-profile .about-page-content{
  max-width:1225px!important;
}

/* Accessibility/responsive safeguard: no horizontal scrolling at narrow widths. */
@media (max-width:991px){
  body.cnc-custom-page-full-width .site-content > .asterthemes-wrapper{
    max-width:100%!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }

  body.cnc-custom-page-full-width main.main-content > section.fluid-container{
    width:100%!important;
    max-width:100%!important;
  }
}


/* --------------------------------------------------------------------------
   v1.0.30 — move the spinal decompression ghost artwork behind the approved
   text area, using the same subtle behind-the-copy treatment language as the
   homepage About section while preserving WCAG readability.
   -------------------------------------------------------------------------- */
body:not(.home) .spinal-decompression-page .specialty-page-body{
  position:relative;
  isolation:isolate;
}
body:not(.home) .spinal-decompression-page .specialty-page-body > *{
  position:relative;
  z-index:1;
}
body:not(.home) .spinal-decompression-page .specialty-page-body::after{
  content:none;
  display:none;
}
body:not(.home) .spinal-decompression-page .spinal-decompression-ghost-zone{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding-right:0;
  min-height:clamp(420px, 34vw, 560px);
}
body:not(.home) .spinal-decompression-page .spinal-decompression-ghost-zone > *{
  position:relative;
  z-index:1;
}
body:not(.home) .spinal-decompression-page .spinal-decompression-ghost-zone::after{
  content:"";
  position:absolute;
  top:clamp(6px, .6vw, 12px);
  right:clamp(-8px, .8vw, 10px);
  bottom:clamp(12px, 1vw, 18px);
  width:min(48%, 560px);
  background:url("../../img/spinal-decompression-ghost.png") center right / contain no-repeat;
  opacity:.10;
  filter:saturate(.96) brightness(1.04);
  pointer-events:none;
  z-index:0;
}
@media (max-width:1200px){
  body:not(.home) .spinal-decompression-page .spinal-decompression-ghost-zone{
    min-height:clamp(390px, 36vw, 500px);
  }
  body:not(.home) .spinal-decompression-page .spinal-decompression-ghost-zone::after{
    width:min(44%, 460px);
    opacity:.095;
  }
}
@media (max-width:991px){
  body:not(.home) .spinal-decompression-page .spinal-decompression-ghost-zone{
    min-height:0;
  }
  body:not(.home) .spinal-decompression-page .spinal-decompression-ghost-zone::after{
    display:none;
  }
}

/* --------------------------------------------------------------------------
   v1.0.33 — keep the approved spinal decompression ghost size, bring the full
   callout labels back into view, and soften transparency slightly without
   moving any page copy.
   -------------------------------------------------------------------------- */
body:not(.home) .spinal-decompression-page .spinal-decompression-ghost-zone{
  overflow:visible;
}
body:not(.home) .spinal-decompression-page .spinal-decompression-ghost-zone::after{
  top:clamp(8px, .7vw, 14px);
  right:clamp(8px, 1.2vw, 20px);
  bottom:clamp(10px, .9vw, 18px);
  width:min(50%, 620px);
  background:url("../../img/spinal-decompression-ghost.png") center right / contain no-repeat;
  opacity:.082;
  filter:saturate(.95) brightness(1.03);
}
@media (max-width:1200px){
  body:not(.home) .spinal-decompression-page .spinal-decompression-ghost-zone::after{
    right:clamp(4px, 1vw, 14px);
    width:min(47%, 520px);
    opacity:.078;
  }
}

/* --------------------------------------------------------------------------
   v1.0.34 — Dr. Shad Groves biography, credentials, experience and research.
   Uses accessible semantic sections and the current CNC subpage palette.
   -------------------------------------------------------------------------- */
.groves-profile-header{
  max-width:1120px!important;
}
.groves-credentials-line{
  margin:.15rem 0 .5rem;
  font-weight:850;
  letter-spacing:.025em;
  color:var(--cnc-sub-link,#0B766E)!important;
}
.groves-profile-lead{
  max-width:900px;
  margin:.4rem 0 0;
  font-size:1.08rem;
  line-height:1.7;
  color:var(--cnc-sub-text,#526762)!important;
}
.groves-intro-grid{
  margin-bottom:clamp(34px,5vw,64px);
}
.groves-section{
  margin-top:clamp(32px,5vw,64px);
  padding-top:clamp(26px,4vw,46px);
  border-top:1px solid var(--cnc-tech-line,#d5e4e1);
}
.groves-section-heading{
  max-width:980px;
  margin-bottom:24px;
}
.groves-section-heading h2,
.groves-cta-section h2{
  margin:.2rem 0 .7rem;
  color:var(--cnc-sub-heading,#2F4A4A);
  font-size:clamp(1.65rem,2.5vw,2.25rem);
  line-height:1.2;
}
.groves-section-heading>p:not(.specialty-page-eyebrow){
  margin:.55rem 0 0;
  color:var(--cnc-sub-text,#526762);
  line-height:1.75;
}
.groves-credentials-grid{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.groves-credentials-grid li{
  position:relative;
  min-width:0;
  padding:22px 22px 20px;
  background:rgba(255,255,255,.9);
  border:1px solid var(--cnc-sub-border,#CFE1DE);
  border-top:3px solid var(--cnc-sub-green,#82BE3F);
  box-shadow:0 10px 28px rgba(47,74,74,.08);
}
.groves-credentials-grid strong,
.groves-credentials-grid span{
  display:block;
}
.groves-credentials-grid strong{
  color:var(--cnc-sub-heading,#2F4A4A);
  line-height:1.4;
}
.groves-credentials-grid span{
  margin-top:8px;
  color:var(--cnc-sub-text,#526762);
  line-height:1.55;
  font-size:.94rem;
}
.groves-experience-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.groves-experience-card{
  position:relative;
  padding:24px 24px 22px;
  background:rgba(225,235,234,.58);
  border:1px solid var(--cnc-sub-border,#CFE1DE);
  border-left:4px solid var(--cnc-sub-green,#82BE3F);
}
.groves-experience-card h3,
.groves-publications-list h3{
  margin:0 0 9px;
  color:var(--cnc-sub-heading,#2F4A4A);
  font-size:1.08rem;
  line-height:1.45;
}
.groves-experience-card p,
.groves-publications-list p{
  margin:0;
  color:var(--cnc-sub-text,#526762);
  line-height:1.7;
}
.groves-publications-list{
  margin:0;
  padding-left:1.55rem;
  display:grid;
  gap:16px;
}
.groves-publications-list li{
  padding:20px 22px;
  background:rgba(255,255,255,.88);
  border:1px solid var(--cnc-sub-border,#CFE1DE);
  box-shadow:0 8px 22px rgba(47,74,74,.06);
}
.groves-pubmed-link{
  margin-top:22px;
}
.groves-cta-section{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:28px;
  background:rgba(225,235,234,.64);
  border:1px solid var(--cnc-sub-border,#CFE1DE);
}
.groves-cta-section p{
  margin:0;
  color:var(--cnc-sub-text,#526762);
}
.groves-cta-section .specialty-cta-row{
  margin:0;
  flex:0 0 auto;
}
@media (max-width:1080px){
  .groves-credentials-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:767px){
  .groves-credentials-grid,
  .groves-experience-grid{
    grid-template-columns:1fr;
  }
  .groves-cta-section{
    display:block;
    padding:22px 18px;
  }
  .groves-cta-section .specialty-cta-row{
    margin-top:18px;
  }
}

/* --------------------------------------------------------------------------
   v1.0.35 — WCAG subpage button contrast hardening.
   Ensure every dark/filled actionable control on dedicated subpages keeps
   high-contrast white text in normal, visited, hover, focus, and active states.
   Light/outlined controls intentionally retain dark text for contrast.
   -------------------------------------------------------------------------- */
body:not(.home) #main-content.main-content a.specialty-primary-cta,
body:not(.home) #main-content.main-content a.specialty-primary-cta:link,
body:not(.home) #main-content.main-content a.specialty-primary-cta:visited,
body:not(.home) #main-content.main-content a.specialty-primary-cta:hover,
body:not(.home) #main-content.main-content a.specialty-primary-cta:focus,
body:not(.home) #main-content.main-content a.specialty-primary-cta:focus-visible,
body:not(.home) #main-content.main-content a.specialty-primary-cta:active,
body:not(.home) #main-content.main-content a.button-dark,
body:not(.home) #main-content.main-content a.button-dark:link,
body:not(.home) #main-content.main-content a.button-dark:visited,
body:not(.home) #main-content.main-content a.button-dark:hover,
body:not(.home) #main-content.main-content a.button-dark:focus,
body:not(.home) #main-content.main-content a.button-dark:focus-visible,
body:not(.home) #main-content.main-content a.button-dark:active,
body:not(.home) #main-content.main-content button.button-dark,
body:not(.home) #main-content.main-content button.button-dark:hover,
body:not(.home) #main-content.main-content button.button-dark:focus,
body:not(.home) #main-content.main-content button.button-dark:focus-visible,
body:not(.home) #main-content.main-content button.button-dark:active,
body:not(.home) #main-content.main-content input[type="submit"].button-dark,
body:not(.home) #main-content.main-content .cnc-form .cnc-tech-button,
body:not(.home) #main-content.main-content .cnc-form .cnc-tech-button:hover,
body:not(.home) #main-content.main-content .cnc-form .cnc-tech-button:focus,
body:not(.home) #main-content.main-content .cnc-form .cnc-tech-button:focus-visible,
body:not(.home) #main-content.main-content .career-form .button-dark,
body:not(.home) #main-content.main-content .career-form .button-dark:hover,
body:not(.home) #main-content.main-content .career-form .button-dark:focus,
body:not(.home) #main-content.main-content .career-form .button-dark:focus-visible,
body:not(.home) #main-content.main-content .career-form .button-dark:active{
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
  text-decoration:none!important;
}

/* Keep icons and nested labels inheriting the same accessible text color. */
body:not(.home) #main-content.main-content .specialty-primary-cta *,
body:not(.home) #main-content.main-content .button-dark *,
body:not(.home) #main-content.main-content .cnc-form .cnc-tech-button *,
body:not(.home) #main-content.main-content .career-form .button-dark *{
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
}

/* Related-information glow buttons also sit on a dark surface. */
body:not(.home) #main-content.main-content .specialty-related-links .glow-on-hover,
body:not(.home) #main-content.main-content .specialty-related-links .glow-on-hover:link,
body:not(.home) #main-content.main-content .specialty-related-links .glow-on-hover:visited,
body:not(.home) #main-content.main-content .specialty-related-links .glow-on-hover:active{
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}
body:not(.home) #main-content.main-content .specialty-related-links .glow-on-hover:hover,
body:not(.home) #main-content.main-content .specialty-related-links .glow-on-hover:focus-visible{
  color:#FFFFFF!important;
  -webkit-text-fill-color:#FFFFFF!important;
}

/* --------------------------------------------------------------------------
   v1.0.36 — Testimonials ghost-image framing.
   Adds decorative patient appreciation ghost images to the left and right
   gutters of the home Testimonials section while preserving readable copy,
   card contrast, and reduced-motion / smaller-screen usability.
   -------------------------------------------------------------------------- */
body.home .cnc-testimonials-tech{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
body.home .cnc-testimonials-tech > .asterthemes-wrapper{
  position:relative;
  z-index:2;
}
body.home .cnc-testimonials-tech::before,
body.home .cnc-testimonials-tech::after{
  content:"";
  position:absolute;
  bottom:24px;
  width:clamp(180px, 18vw, 290px);
  height:clamp(340px, 34vw, 520px);
  background-repeat:no-repeat;
  background-position:center bottom;
  background-size:contain;
  pointer-events:none;
  z-index:1;
  opacity:.24;
  filter:saturate(.96) brightness(1.02);
}
body.home .cnc-testimonials-tech::before{
  left:clamp(10px, 2.5vw, 48px);
  background-image:url('../../img/testimonials-ghost-left-v1055.png');
}
body.home .cnc-testimonials-tech::after{
  right:clamp(10px, 2.5vw, 48px);
  background-image:url('../../img/testimonials-ghost-right.png');
}
@media (max-width:1399px){
  body.home .cnc-testimonials-tech::before,
  body.home .cnc-testimonials-tech::after{
    width:clamp(150px, 16vw, 240px);
    height:clamp(300px, 32vw, 430px);
    opacity:.18;
  }
}
@media (max-width:1199px){
  body.home .cnc-testimonials-tech::before,
  body.home .cnc-testimonials-tech::after{
    display:none;
  }
}


/* --------------------------------------------------------------------------
   v1.0.39 — Office team photography refresh.
   Uses the supplied CNC staff photo on the homepage Our Office card and as
   the primary About Us page image. The dedicated About image is presented as
   one wide responsive frame while preserving the existing animated border.
   -------------------------------------------------------------------------- */
body.home .cnc-team-card__image--office img{
  object-fit:cover;
  object-position:center 35%;
}
body:not(.home) .about-page-images--office-team{
  margin-top:28px;
  margin-bottom:38px;
}
body:not(.home) .about-page-figure--office-team{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}
body:not(.home) .about-page-image--office-team{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center;
}
@media (max-width:767px){
  body:not(.home) .about-page-images--office-team{
    margin-top:20px;
    margin-bottom:28px;
  }
}


/* --------------------------------------------------------------------------
   v1.0.40 — About Us dual-photo presentation.
   Uses the approved exterior doctors photo beside the office-team photo, with
   independent animated CNC perimeter frames and enough gutter space for each
   glow to remain visually distinct. Stacks cleanly on smaller screens.
   -------------------------------------------------------------------------- */
body:not(.home) .about-page-images--dual{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(24px,2.5vw,38px);
  max-width:1225px;
  margin:32px auto 42px;
  padding:6px;
}
body:not(.home) .about-page-figure--dual{
  min-width:0;
  margin:0;
}
body:not(.home) .about-page-image--dual{
  width:100%;
  aspect-ratio:4 / 3;
  height:auto;
  object-fit:cover;
  object-position:center;
}
@media (max-width:767px){
  body:not(.home) .about-page-images--dual{
    grid-template-columns:1fr;
    gap:28px;
    margin:24px auto 32px;
    padding:4px;
  }
  body:not(.home) .about-page-image--dual{
    aspect-ratio:auto;
    object-fit:contain;
  }
}


/* --------------------------------------------------------------------------
   v1.0.41 — Clickable Google Maps address in the homepage hero.
   Keeps the address visually consistent while providing a clear hover/focus
   treatment and an explicit external-link cue.
   -------------------------------------------------------------------------- */
body.home .cnc-hero-address-link,
body.home .cnc-hero-address-link:visited{
  color:#405A5B!important;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  text-decoration-color:rgba(64,90,91,.52);
}
body.home .cnc-hero-address-link:hover{
  color:#173E3A!important;
  text-decoration-thickness:2px;
  text-decoration-color:#173E3A;
}
body.home .cnc-hero-address-link:focus-visible{
  color:#173E3A!important;
  outline:3px solid #82BE3F;
  outline-offset:4px;
  border-radius:2px;
}
body.home .cnc-hero-address-link .fa-external-link-alt{
  margin-left:4px;
  font-size:.78em;
  color:inherit!important;
}


/* --------------------------------------------------------------------------
   v1.0.42 — Vestibular evaluation ghost artwork.
   Places the supplied neurological callout graphic behind the "What can
   vestibular testing help evaluate?" section, aligned to the right and
   extended toward the left while preserving readable foreground copy.
   -------------------------------------------------------------------------- */
body:not(.home) .vestibular-service-page .vestibular-evaluation-ghost-zone{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:clamp(470px, 35vw, 590px);
}
body:not(.home) .vestibular-service-page .vestibular-evaluation-ghost-zone > *{
  position:relative;
  z-index:2;
}
body:not(.home) .vestibular-service-page .vestibular-evaluation-ghost-zone::after{
  content:"";
  position:absolute;
  inset:0 0 0 auto;
  width:94%;
  height:100%;
  background:url("../../img/vestibular-evaluation-ghost.png") right center / 100% 100% no-repeat;
  opacity:.105;
  filter:saturate(.96) brightness(1.05);
  pointer-events:none;
  z-index:1;
}
@media (max-width:1200px){
  body:not(.home) .vestibular-service-page .vestibular-evaluation-ghost-zone::after{
    width:90%;
    opacity:.09;
  }
}
@media (max-width:991px){
  body:not(.home) .vestibular-service-page .vestibular-evaluation-ghost-zone{
    min-height:0;
  }
  body:not(.home) .vestibular-service-page .vestibular-evaluation-ghost-zone::after{
    display:none;
  }
}


/* --------------------------------------------------------------------------
   v1.0.43 — Dedicated vestibular ghost-image space.
   Moves the neurological callout artwork out from behind the evaluation copy
   and into its own full-width visual break between the two content sections.
   The image remains intentionally ghosted, but is more visible than v1.0.42.
   -------------------------------------------------------------------------- */
body:not(.home) .vestibular-service-page .vestibular-evaluation-ghost-zone::after{
  display:none!important;
}
body:not(.home) .vestibular-service-page .vestibular-evaluation-ghost-zone{
  min-height:0!important;
  overflow:visible!important;
}
body:not(.home) .vestibular-service-page .vestibular-evaluation-ghost-display{
  display:block;
  width:100%;
  max-width:1225px;
  aspect-ratio:1672 / 941;
  margin:clamp(18px, 2.5vw, 34px) auto clamp(22px, 3vw, 42px);
  background:url("../../img/vestibular-evaluation-ghost.png") center center / contain no-repeat;
  opacity:.28;
  filter:saturate(.98) brightness(1.03);
  pointer-events:none;
}
@media (max-width:1200px){
  body:not(.home) .vestibular-service-page .vestibular-evaluation-ghost-display{
    opacity:.25;
  }
}
@media (max-width:767px){
  body:not(.home) .vestibular-service-page .vestibular-evaluation-ghost-display{
    margin:18px auto 28px;
    opacity:.22;
  }
}


/* --------------------------------------------------------------------------
   v1.0.44 — Dr. Shad Groves credential synchronization.
   Allows the expanded credential line to wrap cleanly on the Our Team card
   without reducing readability or changing the card's accessible structure.
   -------------------------------------------------------------------------- */
body.home .cnc-team-card__credentials{
  line-height:1.45;
  overflow-wrap:anywhere;
}


/* --------------------------------------------------------------------------
   v1.0.45 — Dr. Karin Kim credential synchronization.
   Shows D.C., M.S.ClinNeuroSci on the homepage team card and dedicated doctor page,
   with consistent accessible styling and wrapping on smaller screens.
   -------------------------------------------------------------------------- */
.doctor-page-credentials{
  margin:.15rem 0 0;
  color:#0B766E!important;
  font-size:clamp(1rem,1.7vw,1.2rem)!important;
  line-height:1.45!important;
  font-weight:850;
  letter-spacing:.02em;
}
body.home .cnc-team-card__credentials{
  overflow-wrap:anywhere;
}


/* --------------------------------------------------------------------------
   v1.0.46 — CNC Testimonials plugin integration.
   Keeps the decorative testimonial ghost figures aligned with the review cards
   now that the moderated submission form extends the section vertically.
   The form itself is fully namespaced by the plugin and does not alter the
   existing general-question/contact form.
   -------------------------------------------------------------------------- */
body.home .cnc-testimonials-tech::before,
body.home .cnc-testimonials-tech::after{
  top:clamp(155px, 15vw, 235px)!important;
  bottom:auto!important;
}
body.home .cnc-testimonials-tech .cnc-tx-submit{
  clear:both;
}
@media (max-width:1399px){
  body.home .cnc-testimonials-tech::before,
  body.home .cnc-testimonials-tech::after{
    top:clamp(160px, 17vw, 230px)!important;
  }
}


/* --------------------------------------------------------------------------
   v1.0.47 — Nextcloud-connected testimonials release.
   Public layout remains unchanged. The active CNC Testimonials plugin handles
   submission, dual WordPress/Nextcloud moderation, approved-card rendering,
   and the accessible full-review modal. Theme fallback content remains in
   place so the section still degrades gracefully if the plugin is disabled.
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   v1.0.49 — clinical-content expansion and What We Treat pages.
   -------------------------------------------------------------------------- */
.cnc-what-we-treat-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  margin:28px 0 34px;
}
.cnc-what-we-treat-card{
  background:rgba(247,250,249,.94);
  border:1px solid rgba(47,74,74,.18);
  padding:28px;
  border-radius:4px;
  box-shadow:0 14px 34px rgba(47,74,74,.08);
}
.cnc-what-we-treat-card h2{margin-top:0;color:#2F4A4A}
.cnc-what-we-treat-card p{color:#425D5D;line-height:1.7}
.cnc-what-we-treat-card .specialty-secondary-cta{margin-top:8px}
@media (min-width:992px){
  .cnc-site-header .cnc-what-we-treat-menu > .sub-menu{min-width:300px!important;}
}
@media (max-width:767px){
  .cnc-what-we-treat-grid{grid-template-columns:1fr;gap:18px}
  .cnc-what-we-treat-card{padding:22px}
}


/* --------------------------------------------------------------------------
   v1.0.50 — header alignment + logo ghost backgrounds.
   - Keeps the final desktop Links dropdown aligned with the rest of the nav.
   - Adds a subtle CNC logo ghost in the testimonial submission area.
   - Adds a full-width CNC logo ghost behind the homepage process section.
   -------------------------------------------------------------------------- */
@media (min-width:1200px){
  .cnc-site-header .bottom-header-part-wrapper{
    grid-template-columns:minmax(215px,.26fr) minmax(0,.74fr)!important;
    gap:18px!important;
  }
  .cnc-site-header .main-navigation .menu,
  .cnc-site-header .main-navigation .nav-menu{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:0!important;
  }
  .cnc-site-header .main-navigation .menu > li,
  .cnc-site-header .main-navigation .nav-menu > li{
    flex:0 0 auto!important;
  }
  .cnc-site-header .main-navigation .menu > li > a,
  .cnc-site-header .main-navigation .nav-menu > li > a{
    display:flex!important;
    align-items:center!important;
    white-space:nowrap!important;
    padding:12px 11px!important;
    font-size:.96rem!important;
    line-height:1.15!important;
  }
  .cnc-site-header .main-navigation li.menu-item-has-children > a::after,
  .cnc-site-header .main-navigation li.page_item_has_children > a::after{
    margin-top:0!important;
    vertical-align:middle!important;
  }
}
@media (min-width:1200px) and (max-width:1425px){
  .cnc-site-header .main-navigation .menu > li > a,
  .cnc-site-header .main-navigation .nav-menu > li > a{
    padding:12px 9px!important;
    font-size:.92rem!important;
  }
}

body.home .cnc-testimonials-tech .cnc-tx-submit{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
body.home .cnc-testimonials-tech .cnc-tx-submit > *{
  position:relative;
  z-index:2;
}
body.home .cnc-testimonials-tech .cnc-tx-submit::before{
  content:"";
  position:absolute;
  inset:18px clamp(12px, 2vw, 32px) 18px auto;
  width:min(560px, 42vw);
  background:url("../../img/cnc-header-logo.png") center center / contain no-repeat;
  opacity:.06;
  filter:grayscale(.08) saturate(.85) brightness(1.02);
  pointer-events:none;
  z-index:1;
}
@media (max-width:1199px){
  body.home .cnc-testimonials-tech .cnc-tx-submit::before{
    width:min(460px, 62vw);
    opacity:.05;
  }
}
@media (max-width:767px){
  body.home .cnc-testimonials-tech .cnc-tx-submit::before{
    width:76vw;
    inset:12px auto 12px 50%;
    transform:translateX(-50%);
    opacity:.045;
  }
}

body.home .cnc-process{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
body.home .cnc-process > .asterthemes-wrapper{
  position:relative;
  z-index:2;
}
body.home .cnc-process::before{
  content:"";
  position:absolute;
  inset:0;
  background:url("../../img/cnc-header-logo.png") center center / min(1120px, 88vw) auto no-repeat;
  opacity:.055;
  filter:grayscale(.05) saturate(.88) brightness(1.02);
  pointer-events:none;
  z-index:1;
}
@media (max-width:991px){
  body.home .cnc-process::before{
    background-size:88vw auto;
    opacity:.045;
  }
}


/* --------------------------------------------------------------------------
   v1.0.51 — approved ghost-position refinement.
   - Our Approach: CNC mark is anchored to the far left and scales to the
     section's full height while staying decorative behind foreground content.
   - Testimonial form: full CNC logo is anchored in the upper-right corner of
     the submission panel without changing form spacing or interaction.
   -------------------------------------------------------------------------- */
body.home .cnc-process::before{
  inset:0 auto 0 0!important;
  width:min(36vw, 610px)!important;
  height:100%!important;
  background-image:url("../../img/cnc-logo-mark.png")!important;
  background-position:left center!important;
  background-size:auto 108%!important;
  background-repeat:no-repeat!important;
  opacity:.065!important;
}
@media (max-width:1199px){
  body.home .cnc-process::before{
    width:min(42vw, 500px)!important;
    background-size:auto 102%!important;
    opacity:.055!important;
  }
}
@media (max-width:767px){
  body.home .cnc-process::before{
    width:58vw!important;
    background-size:auto 86%!important;
    opacity:.04!important;
  }
}

body.home .cnc-testimonials-tech .cnc-tx-submit::before{
  inset:14px clamp(14px, 2vw, 28px) auto auto!important;
  width:min(440px, 34vw)!important;
  height:clamp(92px, 9vw, 138px)!important;
  background-image:url("../../img/cnc-header-logo.png")!important;
  background-position:right top!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  opacity:.065!important;
  transform:none!important;
}
@media (max-width:1199px){
  body.home .cnc-testimonials-tech .cnc-tx-submit::before{
    width:min(380px, 40vw)!important;
    height:112px!important;
    opacity:.055!important;
  }
}
@media (max-width:767px){
  body.home .cnc-testimonials-tech .cnc-tx-submit::before{
    top:12px!important;
    right:12px!important;
    left:auto!important;
    bottom:auto!important;
    width:54vw!important;
    height:86px!important;
    opacity:.04!important;
  }
}

/* --------------------------------------------------------------------------
   v1.0.52 — Massage specialty page + approved What We Treat ghost artwork.
   Ghost images are decorative only and are hidden on smaller screens so they
   never interfere with reading order or mobile accessibility.
   -------------------------------------------------------------------------- */
body:not(.home) .cnc-condition-page .specialty-page-body{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
body:not(.home) .cnc-condition-page .specialty-page-body > *{
  position:relative;
  z-index:2;
}
body:not(.home) .cnc-condition-page .specialty-page-body::before{
  content:"";
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  bottom:0;
  width:min(62%,760px);
  background-position:right center;
  background-repeat:no-repeat;
  background-size:contain;
  opacity:.14;
  pointer-events:none;
  filter:saturate(.94) brightness(1.05);
}
body:not(.home) .cnc-condition-balance-problems-dizziness .specialty-page-body::before{
  background-image:url("../../img/condition-balance-ghost.png");
}
body:not(.home) .cnc-condition-migraines-headaches .specialty-page-body::before{
  background-image:url("../../img/condition-migraines-ghost.png");
  width:min(66%,820px);
  opacity:.13;
}
body:not(.home) .cnc-condition-concussion-traumatic-brain-injury .specialty-page-body::before{
  background-image:url("../../img/condition-concussion-ghost.png");
  width:min(68%,860px);
  background-size:cover;
  background-position:right center;
  opacity:.09;
}
body:not(.home) .cnc-condition-dysautonomia-pots .specialty-page-body::before{
  background-image:url("../../img/condition-dysautonomia-ghost.png");
  width:min(66%,820px);
  opacity:.13;
}
body:not(.home) .cnc-condition-nerve-entrapments .specialty-page-body::before{
  background-image:url("../../img/condition-nerve-entrapments-ghost.png");
  width:min(62%,760px);
  opacity:.13;
}
body:not(.home) .cnc-condition-spinal-nerve-root-radicular-conditions .specialty-page-body::before{
  background-image:url("../../img/condition-spinal-radicular-ghost.png");
  width:min(62%,760px);
  opacity:.13;
}
@media (max-width:1200px){
  body:not(.home) .cnc-condition-page .specialty-page-body::before{
    width:56%;
    opacity:.10;
  }
}
@media (max-width:991px){
  body:not(.home) .cnc-condition-page .specialty-page-body::before{
    display:none;
  }
}


/* --------------------------------------------------------------------------
   v1.0.54 — What We Treat ghost-image top alignment refinements.
   Moves each approved ghost image upward so it begins directly beneath the
   introductory lead text while preserving the approved sizing and right-side
   alignment requested in preview.
   -------------------------------------------------------------------------- */
body:not(.home) .cnc-condition-concussion-traumatic-brain-injury .specialty-page-body::before{
  top:0;
  right:1.5%;
  bottom:auto;
  width:min(50%,630px);
  height:48%;
  background-size:contain;
  background-position:right top;
  opacity:.09;
}
body:not(.home) .cnc-condition-migraines-headaches .specialty-page-body::before{
  top:0;
  right:1.5%;
  bottom:auto;
  width:min(56%,700px);
  height:62%;
  background-size:contain;
  background-position:right top;
  opacity:.13;
}
body:not(.home) .cnc-condition-dysautonomia-pots .specialty-page-body::before{
  top:0;
  right:1.5%;
  bottom:auto;
  width:min(56%,700px);
  height:61%;
  background-size:contain;
  background-position:right top;
  opacity:.13;
}
body:not(.home) .cnc-condition-balance-problems-dizziness .specialty-page-body::before{
  top:0;
  right:1.5%;
  bottom:auto;
  width:min(52%,650px);
  height:58%;
  background-size:contain;
  background-position:right top;
  opacity:.13;
}
body:not(.home) .cnc-condition-nerve-entrapments .specialty-page-body::before{
  top:0;
  right:1.5%;
  bottom:auto;
  width:min(46%,570px);
  height:66%;
  background-size:contain;
  background-position:right top;
  opacity:.13;
}
body:not(.home) .cnc-condition-spinal-nerve-root-radicular-conditions .specialty-page-body::before{
  top:0;
  right:1.5%;
  bottom:auto;
  width:min(46%,565px);
  height:60%;
  background-size:contain;
  background-position:right top;
  opacity:.13;
}
@media (max-width:1200px) and (min-width:992px){
  body:not(.home) .cnc-condition-concussion-traumatic-brain-injury .specialty-page-body::before{width:46%;height:44%;}
  body:not(.home) .cnc-condition-migraines-headaches .specialty-page-body::before,
  body:not(.home) .cnc-condition-dysautonomia-pots .specialty-page-body::before{width:50%;height:56%;}
  body:not(.home) .cnc-condition-balance-problems-dizziness .specialty-page-body::before{width:48%;height:54%;}
  body:not(.home) .cnc-condition-nerve-entrapments .specialty-page-body::before,
  body:not(.home) .cnc-condition-spinal-nerve-root-radicular-conditions .specialty-page-body::before{width:43%;height:58%;}
}

/* --------------------------------------------------------------------------
   v1.0.55 — authentic clinical photography + provider/about content refresh.
   -------------------------------------------------------------------------- */
body.home .cnc-tech-service-grid > article:nth-child(1) .cnc-tech-service-card__link > img{
  object-position:center 42%;
}
body.home .cnc-tech-service-grid > article:nth-child(2) .cnc-tech-service-card__link > img{
  object-position:center 46%;
}
body.home .cnc-tech-service-grid > article:nth-child(6) .cnc-tech-service-card__link > img{
  object-position:center 36%;
}
body.home .cnc-team-card__image--office img{
  object-position:center center!important;
}

body:not(.home) .cnc-xray-clinical-example{
  padding-top:clamp(10px,1.5vw,20px);
}
body:not(.home) .cnc-xray-example-figure{
  width:min(100%,720px);
  margin:24px auto 10px;
}
body:not(.home) .cnc-xray-example-image{
  width:100%;
  height:auto;
  max-height:760px;
  object-fit:contain;
  object-position:center;
}

body:not(.home) .doctor-kim-profile .doctor-profile-content h2,
body:not(.home) .about-profile .about-page-content h2{
  margin-top:clamp(30px,3vw,44px);
}
body:not(.home) .about-profile .about-page-content h3{
  margin-top:24px;
  color:#2F4A4A;
}
body:not(.home) .cnc-about-contact-block{
  margin:24px 0;
  padding:22px 24px;
  background:rgba(225,235,234,.72);
  border-left:4px solid #82BE3F;
  color:#425D5D;
  font-style:normal;
  line-height:1.75;
}
body:not(.home) .cnc-about-contact-block a{
  color:#0B766E;
  font-weight:800;
}
body:not(.home) .cnc-about-contact-block a:focus-visible,
body:not(.home) .doctor-kim-profile a:focus-visible{
  outline:3px solid #82BE3F;
  outline-offset:3px;
}

/* --------------------------------------------------------------------------
   v1.0.57 — Contact-section provider ghost portraits.
   Decorative Dr. Groves / Dr. Kim portraits frame the homepage contact form
   and office/map card without altering reading order or interactive content.
   -------------------------------------------------------------------------- */
body.home .cnc-contact-tech{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
body.home .cnc-contact-tech > .asterthemes-wrapper{
  position:relative;
  z-index:2;
}
body.home .cnc-contact-ghost{
  position:absolute;
  z-index:1;
  top:160px;
  height:530px;
  width:auto;
  max-width:none;
  opacity:.10;
  pointer-events:none;
  user-select:none;
  object-fit:contain;
  filter:saturate(.86) brightness(1.05);
}
body.home .cnc-contact-ghost--left{
  left:38px;
}
body.home .cnc-contact-ghost--right{
  right:24px;
}
@media (max-width:1799px) and (min-width:1500px){
  body.home .cnc-contact-ghost{
    top:175px;
    height:430px;
    opacity:.085;
  }
  body.home .cnc-contact-ghost--left{left:-18px;}
  body.home .cnc-contact-ghost--right{right:-28px;}
}
@media (max-width:1499px) and (min-width:1200px){
  body.home .cnc-contact-ghost{
    top:190px;
    height:350px;
    opacity:.065;
  }
  body.home .cnc-contact-ghost--left{left:-78px;}
  body.home .cnc-contact-ghost--right{right:-92px;}
}
@media (max-width:1199px){
  body.home .cnc-contact-ghost{
    display:none;
  }
}


/* --------------------------------------------------------------------------
   v1.0.58 — service-card icon removal + condition ghost refinements.
   -------------------------------------------------------------------------- */
/* Homepage specialty cards: remove the decorative icon circles above titles. */
body.home .cnc-tech-service-card__icon{
  display:none!important;
}

/* Concussion, nerve entrapment, and spinal radicular artwork should be easier
   to see while remaining decorative and behind the educational copy. */
body:not(.home) .cnc-condition-concussion-traumatic-brain-injury .specialty-page-body::before{
  opacity:.15!important;
}
body:not(.home) .cnc-condition-nerve-entrapments .specialty-page-body::before{
  opacity:.18!important;
}
body:not(.home) .cnc-condition-spinal-nerve-root-radicular-conditions .specialty-page-body::before{
  opacity:.18!important;
}

/* Raise the two landscape ghost graphics so the top of the subject begins
   directly beneath the introductory lead copy, without changing their size. */
body:not(.home) .cnc-condition-dysautonomia-pots .specialty-page-body::before{
  top:-72px!important;
}
body:not(.home) .cnc-condition-balance-problems-dizziness .specialty-page-body::before{
  top:-68px!important;
}

@media (max-width:1200px) and (min-width:992px){
  body:not(.home) .cnc-condition-dysautonomia-pots .specialty-page-body::before{
    top:-50px!important;
  }
  body:not(.home) .cnc-condition-balance-problems-dizziness .specialty-page-body::before{
    top:-46px!important;
  }
}

/* --------------------------------------------------------------------------
   v1.0.62 — homepage header refinements.
   - Doubles the CNC logo size on wide desktop homepage layouts.
   - Keeps intermediate/tablet widths responsive to prevent nav collisions.
   - Connector bend is aligned by cnc-header-connector.js to the first nav link.
   -------------------------------------------------------------------------- */
@media (min-width:1200px){
  body.home .cnc-site-header .bottom-header-part-wrapper{
    grid-template-columns:minmax(390px,.36fr) minmax(0,.64fr)!important;
    gap:14px!important;
    min-height:148px!important;
  }
  body.home .cnc-site-header .cnc-brand__logo{
    height:128px!important;
    max-width:600px!important;
  }
  body.home .cnc-site-header .cnc-brand--logo{
    padding:8px 0!important;
  }
}
@media (min-width:992px) and (max-width:1199px){
  body.home .cnc-site-header .cnc-brand__logo{
    height:96px!important;
    max-width:450px!important;
  }
  body.home .cnc-site-header .bottom-header-part-wrapper{
    grid-template-columns:minmax(290px,.32fr) minmax(0,.68fr)!important;
    min-height:116px!important;
    gap:10px!important;
  }
  body.home .cnc-site-header .main-navigation .menu > li > a,
  body.home .cnc-site-header .main-navigation .nav-menu > li > a{
    padding-left:7px!important;
    padding-right:7px!important;
    font-size:.88rem!important;
  }
}

/* --------------------------------------------------------------------------
   v1.0.63 — final homepage polish.
   - Testimonial submission CNC logo uses its normal/full opacity instead of a
     translucent ghost treatment on desktop/tablet.
   - Hide the decorative mark on narrow mobile screens so it cannot compete
     with form labels or fields.
   -------------------------------------------------------------------------- */
body.home .cnc-testimonials-tech .cnc-tx-submit::before{
  opacity:1!important;
  filter:none!important;
}
@media (max-width:767px){
  body.home .cnc-testimonials-tech .cnc-tx-submit::before{
    display:none!important;
  }
}


/* --------------------------------------------------------------------------
   v1.0.66 — accessible homepage office CTA buttons.
   WCAG 2.1 AA is the design priority for this component.
   - Primary phone control retains a dark brand treatment with white text and
     a high-contrast white boundary against the dark CTA panel.
   - Secondary question control uses a solid white surface with dark text.
   - Hover/focus states retain strong text/background contrast and a clearly
     visible focus indicator.
   -------------------------------------------------------------------------- */
body.home .cnc-tech-cta .cnc-tech-button--primary{
  background:#0D5E59!important;
  color:#FFFFFF!important;
  border:3px solid #FFFFFF!important;
  box-shadow:none!important;
}
body.home .cnc-tech-cta .cnc-tech-button--primary:hover,
body.home .cnc-tech-cta .cnc-tech-button--primary:focus-visible{
  background:#0A4743!important;
  color:#FFFFFF!important;
  border-color:#FFFFFF!important;
}
body.home .cnc-tech-cta .cnc-tech-button--outline{
  background:#FFFFFF!important;
  color:#0D2F2C!important;
  border:3px solid #FFFFFF!important;
  box-shadow:none!important;
}
body.home .cnc-tech-cta .cnc-tech-button--outline:hover,
body.home .cnc-tech-cta .cnc-tech-button--outline:focus-visible{
  background:#F1F8F6!important;
  color:#082B28!important;
  border-color:#FFFFFF!important;
}
body.home .cnc-tech-cta .cnc-tech-button--primary:focus-visible,
body.home .cnc-tech-cta .cnc-tech-button--outline:focus-visible{
  outline:3px solid #CFFB39!important;
  outline-offset:4px!important;
}

/* --------------------------------------------------------------------------
   v1.0.67 — expanded What We Treat navigation accessibility.
   Keep the longer condition list usable on shorter desktop viewports without
   changing DOM/keyboard order. The active item remains keyboard-scrollable.
   -------------------------------------------------------------------------- */
@media (min-width:992px){
  .cnc-site-header .cnc-what-we-treat-menu > .sub-menu{
    max-height:min(70vh, 590px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }
}

/* --------------------------------------------------------------------------
   v1.0.69 — high-zoom / reflow decorative ghost safeguard.
   WCAG 2.1 AA priority: decorative ghost artwork is removed when the effective
   viewport is 1199px or narrower. This prevents oversized/off-canvas artwork
   at 200%/400% browser zoom and on smaller screens, while preserving all
   foreground content and reading order.
   -------------------------------------------------------------------------- */
@media (max-width:1199px){
  body.home .cnc-about-tech::after,
  body.home .cnc-tech-service-grid::before,
  body.home .cnc-testimonials-tech::before,
  body.home .cnc-testimonials-tech::after,
  body.home .cnc-process::before,
  body.home .cnc-testimonials-tech .cnc-tx-submit::before,
  body:not(.home) .cnc-condition-page .specialty-page-body::before,
  body:not(.home) .spinal-decompression-page .spinal-decompression-ghost-zone::after,
  body:not(.home) .vestibular-service-page .vestibular-evaluation-ghost-display{
    display:none!important;
    content:none!important;
  }

  body.home .cnc-contact-ghost{
    display:none!important;
  }
}
