:root{
  --blue:#9dbde4;
  --blue-deep:#5f82ad;
  --blue-dark:#35536f;
  --sage:#b8cdbc;
  --blush:#ead0cd;
  --cream:#f8f5f2;
  --ink:#242329;
  --white:#ffffff;
  --glass:rgba(255,255,255,.86);
  --glass-soft:rgba(255,255,255,.74);
  --shadow:0 18px 55px rgba(24,40,56,.18);
  --radius:28px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:150px}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#d9e4ec;line-height:1.6}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}

.video-bg{position:fixed;inset:0;z-index:-3;overflow:hidden;background:#dce7ee}
.video-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.video-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,37,52,.26),rgba(30,45,59,.13) 40%,rgba(22,37,52,.25));pointer-events:none}

.site-header{position:sticky;top:0;z-index:1000;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 5px 26px rgba(24,40,56,.12)}
.nav-primary{background:rgba(255,255,255,.92);border-bottom:1px solid rgba(95,130,173,.16)}
.nav-primary .inner{max-width:var(--max);margin:auto;min-height:88px;display:flex;align-items:center;gap:26px;padding:10px 20px}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{width:82px;height:82px;object-fit:contain}
.desktop-menu{margin-left:auto;display:flex;align-items:center;gap:2px;list-style:none;padding:0}
.desktop-menu>li{position:relative}
.desktop-menu>li>a,.menu-trigger{display:flex;align-items:center;gap:6px;padding:13px 10px;border-radius:12px;font-weight:700;font-size:.92rem;color:#33495e;white-space:nowrap}
.desktop-menu>li>a:hover,.desktop-menu>li>a:focus-visible,.menu-trigger:hover{background:rgba(157,189,228,.2);color:#233f5b}
.chev{font-size:.72em;opacity:.7}
.dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:250px;background:rgba(255,255,255,.98);border:1px solid rgba(95,130,173,.2);box-shadow:var(--shadow);border-radius:18px;padding:8px;list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease}
.has-dropdown:hover>.dropdown,.has-dropdown:focus-within>.dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown li{position:relative}
.dropdown a{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:10px;color:#33495e;font-weight:650;font-size:.9rem}
.dropdown a:hover,.dropdown a:focus-visible{background:rgba(184,205,188,.28)}
.submenu{top:-8px;left:calc(100% + 8px)}

.action-bar{background:linear-gradient(90deg,rgba(95,130,173,.97),rgba(116,151,190,.97));color:#fff}
.action-bar .inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(5,1fr);align-items:stretch;padding:0 20px}
.action-bar a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:50px;padding:8px 12px;font-weight:850;letter-spacing:.01em;border-left:1px solid rgba(255,255,255,.16);transition:.2s ease}
.action-bar a:last-child{border-right:1px solid rgba(255,255,255,.16)}
.action-bar a:hover,.action-bar a:focus-visible{background:rgba(255,255,255,.15)}
.mobile-toggle{display:none;margin-left:auto;border:0;background:var(--blue-dark);color:#fff;border-radius:12px;padding:10px 13px;font-weight:800}
.mobile-panel{display:none}

main{padding:34px 20px 70px}
.section{max-width:var(--max);margin:0 auto 34px;background:var(--glass);border:1px solid rgba(255,255,255,.6);box-shadow:var(--shadow);border-radius:var(--radius);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);overflow:hidden}
.section-inner{padding:clamp(34px,5vw,70px)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;padding:6px 11px;border-radius:999px;background:rgba(157,189,228,.2);color:#3d6083;text-transform:uppercase;letter-spacing:.11em;font-weight:900;font-size:.76rem}
h1,h2,h3{line-height:1.12;margin-top:0;color:#263d52}
h1{font-size:clamp(2.8rem,7.5vw,6.5rem);letter-spacing:-.055em;margin-bottom:22px;max-width:930px}
h2{font-size:clamp(2rem,4.4vw,3.65rem);letter-spacing:-.04em;margin-bottom:18px}
h3{font-size:1.35rem}
p{margin:0 0 1rem}
.lead{font-size:clamp(1.08rem,2vw,1.35rem);max-width:760px;color:#465b6f}
.hero{min-height:calc(100vh - 170px);display:flex;align-items:flex-end;background:linear-gradient(120deg,rgba(255,255,255,.82),rgba(248,245,242,.66));margin-top:10px}
.hero .section-inner{width:100%;padding-top:clamp(80px,14vh,160px);padding-bottom:clamp(60px,10vh,110px)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 18px;border-radius:14px;font-weight:850;transition:.2s ease;border:1px solid transparent}
.btn-primary{background:var(--blue-dark);color:#fff}
.btn-primary:hover{background:#29465f;transform:translateY(-1px)}
.btn-secondary{background:rgba(255,255,255,.7);border-color:rgba(53,83,111,.22);color:var(--blue-dark)}

.mission-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.mission-copy{font-size:1.13rem;color:#42566a}
.awards{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center}
.awards figure{margin:0;background:rgba(255,255,255,.68);padding:10px;border-radius:20px;box-shadow:0 10px 30px rgba(36,35,41,.08)}
.awards img{width:100%;aspect-ratio:4/5;object-fit:contain;border-radius:14px}

.services-head{max-width:790px;margin-bottom:32px}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.service-card{overflow:hidden;border-radius:22px;background:rgba(255,255,255,.88);border:1px solid rgba(95,130,173,.14);box-shadow:0 12px 34px rgba(36,35,41,.08);transition:.24s ease}
.service-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(36,35,41,.13)}
.service-image-link{display:block;overflow:hidden;background:#eef3f6}
.service-card img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .35s ease}
.service-card:hover img{transform:scale(1.035)}
.service-body{padding:22px 22px 24px}
.service-title{display:inline-block;color:#345c84;font-size:1.32rem;font-weight:900;margin-bottom:8px}
.service-title:hover{text-decoration:underline;text-underline-offset:4px}
.service-body p{font-size:.97rem;color:#536575;margin-bottom:0}

.placeholder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mini-card{padding:24px;border-radius:20px;background:rgba(255,255,255,.68);border:1px solid rgba(95,130,173,.15)}
.mini-card h3{margin-bottom:8px}

.site-footer{max-width:var(--max);margin:0 auto 26px;padding:28px 24px;border-radius:24px;background:rgba(35,57,76,.94);color:#eef5fb;backdrop-filter:blur(12px);box-shadow:var(--shadow)}
.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:28px}
.site-footer h3{color:#fff;margin-bottom:8px}
.site-footer a{text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:4px}
.copyright{margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);font-size:.86rem;color:#cfdce7}

@media(max-width:1050px){
  .desktop-menu{display:none}.mobile-toggle{display:inline-flex}.nav-primary .inner{min-height:78px}.brand img{width:66px;height:66px}
  .mobile-panel{background:rgba(255,255,255,.98);padding:8px 20px 18px;border-top:1px solid rgba(95,130,173,.13)}
  .mobile-panel.open{display:block}.mobile-panel details{border-bottom:1px solid rgba(95,130,173,.12)}
  .mobile-panel a,.mobile-panel summary{display:block;padding:12px 4px;font-weight:750;color:#33495e;cursor:pointer;list-style:none}
  .mobile-panel summary::-webkit-details-marker{display:none}.mobile-sub{padding:0 0 8px 16px}.mobile-sub a{font-weight:650;padding:8px 4px}
}
@media(max-width:760px){
  html{scroll-padding-top:128px}main{padding:18px 12px 44px}.section{border-radius:20px;margin-bottom:18px}.section-inner{padding:30px 22px}
  .hero{min-height:calc(100svh - 160px)}h1{font-size:clamp(2.55rem,13vw,4.1rem)}
  .mission-grid{grid-template-columns:1fr;gap:26px}.awards{gap:10px}.service-grid{grid-template-columns:1fr}.placeholder-grid{grid-template-columns:1fr}
  .action-bar .inner{padding:0 8px;overflow-x:auto;display:flex;scrollbar-width:none}.action-bar .inner::-webkit-scrollbar{display:none}.action-bar a{min-width:130px;min-height:46px;font-size:.88rem;border-right:1px solid rgba(255,255,255,.13)}
  .footer-grid{grid-template-columns:1fr}.site-footer{margin:0 12px 18px}
  .video-bg video{object-position:center center}
}
@media(max-width:480px){.awards{grid-template-columns:1fr 1fr}.brand img{width:58px;height:58px}.nav-primary .inner{padding:8px 12px}.hero-actions{display:grid}.btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card,.service-card img,.btn{transition:none}.video-bg video{display:none}.video-bg{background:url('images/video-poster.jpg') center/cover no-repeat}}

/* Requested hero headline size */
.hero h1 { font-size: 40pt !important; }
@media (max-width: 480px) {
  .hero h1 { font-size: 40pt !important; }
}

/* V7 hero layout refinements */
h1 {
  text-shadow: 0 3px 8px rgba(28, 48, 66, .30), 0 1px 2px rgba(255, 255, 255, .60);
}
.hero {
  min-height: 0;
  height: auto;
  align-items: flex-start;
}
.hero .section-inner {
  width: 100%;
  padding-top: 36px;
  padding-bottom: 36px;
}
@media (max-width: 760px) {
  .hero {
    min-height: 0;
    height: auto;
  }
  .hero .section-inner {
    padding-top: 26px;
    padding-bottom: 26px;
  }
}

/* V8 - enlarged logo overlapping both navigation rows */
.site-header { position: sticky; }
.nav-primary .inner { position: relative; padding-left: 190px; }
.brand {
  position: absolute;
  left: 20px;
  top: 8px;
  z-index: 1100;
  width: 154px;
  height: 154px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
}
.brand img {
  width: 154px !important;
  height: 154px !important;
  object-fit: contain;
  filter: drop-shadow(0 8px 12px rgba(28,49,67,.24));
}
.action-bar .inner { padding-left: 190px; }

@media (max-width: 1050px) {
  .nav-primary .inner { padding-left: 132px; }
  .brand { left: 14px; top: 7px; width: 108px; height: 108px; }
  .brand img { width: 108px !important; height: 108px !important; }
  .action-bar .inner { padding-left: 132px; }
}

@media (max-width: 760px) {
  .nav-primary .inner { padding-left: 112px; }
  .brand { left: 10px; top: 6px; width: 94px; height: 94px; }
  .brand img { width: 94px !important; height: 94px !important; }
  .action-bar .inner { padding-left: 112px; }
}

@media (max-width: 480px) {
  .nav-primary .inner { padding-left: 96px; }
  .brand { left: 8px; top: 5px; width: 82px; height: 82px; }
  .brand img { width: 82px !important; height: 82px !important; }
  .action-bar .inner { padding-left: 96px; }
}


/* V9 - social media icons on right side of top navigation */
.social-links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  margin-left: 8px;
  flex: 0 0 auto;
}
.social-links a {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: transform .18s ease, filter .18s ease;
}
.social-links a:hover, .social-links a:focus-visible { transform: translateY(-2px) scale(1.07); }
.social-links img { width: 26px; height: 26px; object-fit: contain; }
@media (max-width: 1050px) {
  .social-links { margin-left: auto; }
}
@media (max-width: 760px) {
  .social-links a { width: 25px; height: 25px; }
  .social-links img { width: 23px; height: 23px; }
}
@media (max-width: 420px) {
  .social-links { gap: 4px; }
  .social-links a { width: 23px; height: 23px; }
  .social-links img { width: 21px; height: 21px; }
}

/* V11 - section motion and animation */
.motion-item {
  opacity: 0;
  transform: translate3d(0, 34px, 0) scale(.985);
  transition:
    opacity .75s cubic-bezier(.22,.61,.36,1),
    transform .8s cubic-bezier(.22,.61,.36,1);
  transition-delay: var(--motion-delay, 0ms);
  will-change: opacity, transform;
}
.motion-item.motion-left { transform: translate3d(-42px, 0, 0) scale(.985); }
.motion-item.motion-right { transform: translate3d(42px, 0, 0) scale(.985); }
.motion-item.motion-scale { transform: translate3d(0, 18px, 0) scale(.94); }
.motion-item.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

/* Hero enters immediately and keeps a subtle living motion */
.hero .section-inner.motion-item.is-visible {
  animation: heroBreath 7s ease-in-out 1s infinite alternate;
}
@keyframes heroBreath {
  from { transform: translateY(0); }
  to { transform: translateY(-5px); }
}

/* Service cards reveal in a stagger and lift on interaction */
.service-card {
  transition: transform .28s ease, box-shadow .28s ease, background-color .28s ease;
}
.service-card:hover,
.service-card:focus-within {
  transform: translateY(-8px) scale(1.015);
  box-shadow: 0 18px 42px rgba(28,49,67,.22);
}
.service-card img {
  transition: transform .5s cubic-bezier(.2,.7,.2,1), filter .35s ease;
}
.service-card:hover img,
.service-card:focus-within img {
  transform: scale(1.055);
  filter: saturate(1.06) contrast(1.03);
}

/* Award images gently float once revealed */
.awards img {
  transition: transform .35s ease, filter .35s ease;
}
.awards img:hover { transform: translateY(-7px) rotate(.6deg) scale(1.02); }
.awards .motion-item.is-visible:nth-child(1) { animation: awardFloatA 5.5s ease-in-out 1s infinite alternate; }
.awards .motion-item.is-visible:nth-child(2) { animation: awardFloatB 6.2s ease-in-out 1.3s infinite alternate; }
@keyframes awardFloatA { from { transform: translateY(0); } to { transform: translateY(-7px); } }
@keyframes awardFloatB { from { transform: translateY(-2px); } to { transform: translateY(6px); } }

/* Smaller content cards receive a restrained hover lift */
.mini-card {
  transition: transform .25s ease, box-shadow .25s ease;
}
.mini-card:hover,
.mini-card:focus-within {
  transform: translateY(-5px);
  box-shadow: 0 14px 30px rgba(28,49,67,.16);
}

/* Headings gain a subtle arrival accent */
.section-inner.motion-item.is-visible h2,
.section-inner.motion-item.is-visible h1 {
  animation: headingSettle .7s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes headingSettle {
  0% { letter-spacing: .045em; filter: blur(1.5px); }
  100% { letter-spacing: normal; filter: blur(0); }
}

@media (prefers-reduced-motion: reduce) {
  .motion-item,
  .motion-item.motion-left,
  .motion-item.motion-right,
  .motion-item.motion-scale,
  .motion-item.is-visible,
  .hero .section-inner.motion-item.is-visible,
  .awards .motion-item.is-visible,
  .service-card,
  .service-card img,
  .mini-card,
  .section-inner.motion-item.is-visible h1,
  .section-inner.motion-item.is-visible h2 {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
    filter: none !important;
  }
}

/* V12: subtle dimensional menu polish */
.site-header{
  box-shadow:0 8px 28px rgba(28,48,68,.18),0 2px 8px rgba(28,48,68,.10);
}
.nav-primary{
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.75),inset 0 -4px 12px rgba(71,105,139,.045);
}
.desktop-menu>li>a,.menu-trigger{
  border:1px solid transparent;
  text-shadow:0 1px 0 rgba(255,255,255,.9);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease;
}
.desktop-menu>li>a:hover,.desktop-menu>li>a:focus-visible,.menu-trigger:hover,.menu-trigger:focus-visible{
  transform:translateY(-2px);
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(157,189,228,.22));
  border-color:rgba(95,130,173,.22);
  box-shadow:0 7px 15px rgba(45,73,101,.14),inset 0 1px 0 rgba(255,255,255,.95);
}
.desktop-menu>li>a:active,.menu-trigger:active{transform:translateY(0);box-shadow:inset 0 2px 5px rgba(45,73,101,.12)}
.dropdown,.submenu{
  box-shadow:0 16px 34px rgba(27,49,70,.20),0 4px 10px rgba(27,49,70,.10),inset 0 1px 0 rgba(255,255,255,.8);
}
.action-bar{
  box-shadow:0 6px 16px rgba(35,61,88,.16),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(24,48,74,.18);
}
.action-bar a{
  text-shadow:0 1px 2px rgba(27,52,78,.24);
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.action-bar a:hover,.action-bar a:focus-visible{
  transform:translateY(-2px);
  background:linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.09));
  box-shadow:0 5px 12px rgba(25,48,72,.16),inset 0 1px 0 rgba(255,255,255,.22);
}
@media (prefers-reduced-motion:reduce){
 .desktop-menu>li>a,.menu-trigger,.action-bar a{transition:none!important;transform:none!important}
}

/* V12: subtle dimensional menu polish */
.site-header{box-shadow:0 8px 28px rgba(28,48,68,.18),0 2px 8px rgba(28,48,68,.10)}
.nav-primary{box-shadow:inset 0 -1px 0 rgba(255,255,255,.75),inset 0 -4px 12px rgba(71,105,139,.045)}
.desktop-menu>li>a,.menu-trigger{border:1px solid transparent;text-shadow:0 1px 0 rgba(255,255,255,.9);transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease}
.desktop-menu>li>a:hover,.desktop-menu>li>a:focus-visible,.menu-trigger:hover,.menu-trigger:focus-visible{transform:translateY(-2px);background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(157,189,228,.22));border-color:rgba(95,130,173,.22);box-shadow:0 7px 15px rgba(45,73,101,.14),inset 0 1px 0 rgba(255,255,255,.95)}
.desktop-menu>li>a:active,.menu-trigger:active{transform:translateY(0);box-shadow:inset 0 2px 5px rgba(45,73,101,.12)}
.dropdown,.submenu{box-shadow:0 16px 34px rgba(27,49,70,.20),0 4px 10px rgba(27,49,70,.10),inset 0 1px 0 rgba(255,255,255,.8)}
.action-bar{box-shadow:0 6px 16px rgba(35,61,88,.16),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(24,48,74,.18)}
.action-bar a{text-shadow:0 1px 2px rgba(27,52,78,.24);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.action-bar a:hover,.action-bar a:focus-visible{transform:translateY(-2px);background:linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.09));box-shadow:0 5px 12px rgba(25,48,72,.16),inset 0 1px 0 rgba(255,255,255,.22)}
@media (prefers-reduced-motion:reduce){.desktop-menu>li>a,.menu-trigger,.action-bar a{transition:none!important;transform:none!important}}


/* V13 - hero background doctor image */
.hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.hero-doctor-image {
  position: absolute;
  inset: 0 0 0 auto;
  width: 72%;
  height: 100%;
  z-index: 0;
  background-image: url("images/Doctor Handing Medicine to Patient.png");
  background-repeat: no-repeat;
  background-position: right calc(50% + 48px);
  background-size: cover;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.06) 10%, rgba(0,0,0,.22) 22%, rgba(0,0,0,.55) 38%, #000 58%, #000 100%);
  mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.06) 10%, rgba(0,0,0,.22) 22%, rgba(0,0,0,.55) 38%, #000 58%, #000 100%);
  pointer-events: none;
}
.hero .section-inner {
  position: relative;
  z-index: 2;
}
@media (max-width: 1000px) {
  .hero-doctor-image {
    width: 78%;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.14) 20%, rgba(0,0,0,.60) 48%, #000 68%, #000 100%);
    mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.14) 20%, rgba(0,0,0,.60) 48%, #000 68%, #000 100%);
  }
}
@media (max-width: 700px) {
  .hero-doctor-image {
    width: 100%;
    opacity: .42;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.35) 25%, #000 65%, #000 100%);
    mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.35) 25%, #000 65%, #000 100%);
  }
}


/* Resource subpages */
.resource-page-section{margin-top:clamp(18px,3vw,36px);min-height:auto;}
.resource-page-section .section-inner{max-width:1100px;padding:clamp(28px,5vw,64px);}
.resource-page-section h1{margin:.3rem 0 1.25rem;font-size:clamp(2.25rem,5vw,4.25rem);}
.resource-copy{max-width:900px;}
.resource-copy .lead{margin:.8rem 0;line-height:1.75;}

/* V15 - corrected larger overlapping logo */
.nav-primary .inner { padding-left: 210px; }
.brand {
  width: 174px !important;
  height: 174px !important;
  left: 18px;
  top: 4px;
}
.brand img {
  width: 174px !important;
  height: 174px !important;
}
.action-bar .inner { padding-left: 210px; }

@media (max-width: 1050px) {
  .nav-primary .inner { padding-left: 146px; }
  .brand { width: 120px !important; height: 120px !important; left: 12px; top: 4px; }
  .brand img { width: 120px !important; height: 120px !important; }
  .action-bar .inner { padding-left: 146px; }
}

@media (max-width: 760px) {
  .nav-primary .inner { padding-left: 124px; }
  .brand { width: 104px !important; height: 104px !important; left: 8px; top: 3px; }
  .brand img { width: 104px !important; height: 104px !important; }
  .action-bar .inner { padding-left: 124px; }
}

@media (max-width: 480px) {
  .nav-primary .inner { padding-left: 104px; }
  .brand { width: 90px !important; height: 90px !important; left: 6px; top: 3px; }
  .brand img { width: 90px !important; height: 90px !important; }
  .action-bar .inner { padding-left: 104px; }
}

/* V15 - corrected larger overlapping logo */
.nav-primary .inner { padding-left: 210px; }
.brand {
  width: 174px !important;
  height: 174px !important;
  left: 18px;
  top: 4px;
}
.brand img {
  width: 174px !important;
  height: 174px !important;
}
.action-bar .inner { padding-left: 210px; }

@media (max-width: 1050px) {
  .nav-primary .inner { padding-left: 146px; }
  .brand { width: 120px !important; height: 120px !important; left: 12px; top: 4px; }
  .brand img { width: 120px !important; height: 120px !important; }
  .action-bar .inner { padding-left: 146px; }
}

@media (max-width: 760px) {
  .nav-primary .inner { padding-left: 124px; }
  .brand { width: 104px !important; height: 104px !important; left: 8px; top: 3px; }
  .brand img { width: 104px !important; height: 104px !important; }
  .action-bar .inner { padding-left: 124px; }
}

@media (max-width: 480px) {
  .nav-primary .inner { padding-left: 104px; }
  .brand { width: 90px !important; height: 90px !important; left: 6px; top: 3px; }
  .brand img { width: 90px !important; height: 90px !important; }
  .action-bar .inner { padding-left: 104px; }
}


/* V16 - Hero goal statement */
.hero-goal {
  position: relative;
  z-index: 2;
  max-width: 760px;
  margin: 14px 0 18px;
  font-size: clamp(1rem, 1.25vw, 1.15rem);
  line-height: 1.55;
  color: inherit;
  text-shadow: 0 1px 2px rgba(255,255,255,.45);
}

@media (max-width: 760px) {
  .hero-goal {
    margin: 12px 0 16px;
    font-size: 1rem;
  }
}

/* V17 - Match hero goal statement to lead text color */
.hero-goal {
  color: #465b6f;
}


/* V18 - Google Customer Reviews badge */
.social-links .google-review-link {
  width: 76px;
  height: 32px;
  padding: 2px 4px;
  border-radius: 6px;
}
.social-links .google-review-link img {
  width: 68px;
  height: 28px;
  object-fit: contain;
}
@media (max-width: 1000px) {
  .social-links .google-review-link { width: 66px; height: 29px; }
  .social-links .google-review-link img { width: 60px; height: 25px; }
}
@media (max-width: 700px) {
  .social-links .google-review-link { width: 58px; height: 26px; }
  .social-links .google-review-link img { width: 52px; height: 22px; }
}


/* V19 - Double Google review badge size and vertically center */
.social-links .google-review-link {
  width: 152px;
  height: 64px;
  padding: 4px 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  flex: 0 0 auto;
}
.social-links .google-review-link img {
  width: 136px;
  height: 56px;
  object-fit: contain;
  display: block;
}
@media (max-width: 1000px) {
  .social-links .google-review-link { width: 132px; height: 58px; }
  .social-links .google-review-link img { width: 120px; height: 50px; }
}
@media (max-width: 700px) {
  .social-links .google-review-link { width: 116px; height: 52px; }
  .social-links .google-review-link img { width: 104px; height: 44px; }
}



/* V22 - X/Twitter + YouTube; Google icon visually enlarged */
.social-links .twitter-link,
.social-links .youtube-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
}
.social-links .twitter-link img,
.social-links .youtube-link img {
  width: 26px;
  height: 26px;
  object-fit: contain;
}
.social-links .google-review-link {
  width: 52px !important;
  height: 52px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.social-links .google-review-link img {
  width: 52px !important;
  height: 52px !important;
  object-fit: contain !important;
}
@media (max-width: 1000px) {
  .social-links .google-review-link { width: 46px !important; height: 46px !important; }
  .social-links .google-review-link img { width: 46px !important; height: 46px !important; }
  .social-links .twitter-link, .social-links .youtube-link { width: 23px; height: 23px; }
  .social-links .twitter-link img, .social-links .youtube-link img { width: 23px; height: 23px; }
}
@media (max-width: 700px) {
  .social-links .google-review-link { width: 42px !important; height: 42px !important; }
  .social-links .google-review-link img { width: 42px !important; height: 42px !important; }
  .social-links .twitter-link, .social-links .youtube-link { width: 21px; height: 21px; }
  .social-links .twitter-link img, .social-links .youtube-link img { width: 21px; height: 21px; }
}


/* V23 - matched Google icon sizing + Pinterest */
.social-links .google-review-link,
.social-links .pinterest-link {
  width: 26px !important;
  height: 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.social-links .google-review-link img,
.social-links .pinterest-link img {
  width: 26px !important;
  height: 26px !important;
  object-fit: contain !important;
}
@media (max-width: 1000px) {
  .social-links .google-review-link, .social-links .pinterest-link { width: 23px !important; height: 23px !important; }
  .social-links .google-review-link img, .social-links .pinterest-link img { width: 23px !important; height: 23px !important; }
}
@media (max-width: 700px) {
  .social-links .google-review-link, .social-links .pinterest-link { width: 21px !important; height: 21px !important; }
  .social-links .google-review-link img, .social-links .pinterest-link img { width: 21px !important; height: 21px !important; }
}


/* V24 - Google moved to end + Yelp */
.social-links .yelp-link {
  width: 26px; height: 26px; display:inline-flex; align-items:center; justify-content:center;
}
.social-links .yelp-link img { width:26px; height:26px; object-fit:contain; }
@media (max-width:1000px) { .social-links .yelp-link, .social-links .yelp-link img { width:23px; height:23px; } }
@media (max-width:700px) { .social-links .yelp-link, .social-links .yelp-link img { width:21px; height:21px; } }

/* V25 - visually match Google mark to neighboring social icons */
.social-links .google-review-link {
  width: 38px !important;
  height: 38px !important;
  margin: -6px;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.social-links .google-review-link img {
  width: 38px !important;
  height: 38px !important;
  object-fit: contain !important;
}
@media (max-width: 1000px) {
  .social-links .google-review-link { width: 34px !important; height: 34px !important; margin: -5.5px; }
  .social-links .google-review-link img { width: 34px !important; height: 34px !important; }
}
@media (max-width: 700px) {
  .social-links .google-review-link { width: 31px !important; height: 31px !important; margin: -5px; }
  .social-links .google-review-link img { width: 31px !important; height: 31px !important; }
}


/* V29 - Website designer credit */
.site-designer {
  margin-top: 8px;
  text-align: center;
}
.site-designer-label {
  margin-bottom: 5px;
}
.site-designer a {
  display: inline-block;
  line-height: 0;
}
.site-designer-logo {
  width: 96px;
  height: auto;
  max-width: 100%;
  display: block;
}
@media (max-width: 700px) {
  .site-designer-logo { width: 84px; }
}

/* V30 - Center footer disclaimer and enlarge designer logo */
.copyright {
  text-align: center;
}
.site-designer-logo {
  width: 288px;
}
@media (max-width: 700px) {
  .site-designer-logo {
    width: 252px;
    max-width: min(100%, 252px);
  }
}

/* V31 - About Me provider layout */
.about-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
  gap: clamp(28px, 5vw, 58px);
  align-items: center;
}
.about-copy .lead {
  max-width: 780px;
}
.about-quote {
  margin-top: 22px;
  max-width: 780px;
  color: #465b6f;
  font-size: 1.04rem;
  line-height: 1.65;
}
.about-photo-wrap {
  justify-self: end;
  width: min(100%, 390px);
}
.about-photo {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center;
  border-radius: 26px;
  border: 1px solid rgba(95,130,173,.18);
  box-shadow: 0 18px 42px rgba(28,49,67,.20);
}
@media (max-width: 820px) {
  .about-grid {
    grid-template-columns: 1fr;
  }
  .about-photo-wrap {
    justify-self: center;
    width: min(100%, 360px);
  }
}

/* V32 - About Me tabbed information */
.about-tabs { margin-top: 28px; }
.about-tab-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 7px;
  border: 1px solid rgba(95,130,173,.18);
  border-radius: 18px;
  background: rgba(255,255,255,.42);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 10px 26px rgba(28,49,67,.10);
  backdrop-filter: blur(10px);
}
.about-tab {
  appearance: none;
  border: 0;
  border-radius: 13px;
  padding: 11px 16px;
  font: inherit;
  font-weight: 700;
  color: #465b6f;
  background: transparent;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
.about-tab:hover { transform: translateY(-1px); background: rgba(255,255,255,.65); }
.about-tab.is-active {
  color: #fff;
  background: linear-gradient(135deg, #7fa8d6, #5f82ad);
  box-shadow: 0 7px 16px rgba(62,92,128,.22), inset 0 1px 0 rgba(255,255,255,.30);
}
.about-tab:focus-visible { outline: 3px solid rgba(95,130,173,.32); outline-offset: 2px; }
.about-tab-panels {
  margin-top: 12px;
  padding: 20px 22px;
  min-height: 120px;
  border: 1px solid rgba(95,130,173,.16);
  border-radius: 18px;
  background: rgba(255,255,255,.56);
  box-shadow: 0 12px 28px rgba(28,49,67,.09);
  backdrop-filter: blur(10px);
}
.about-tab-panel { animation: aboutTabIn .3s ease both; }
.about-tab-panel p { margin: 0; color: #465b6f; line-height: 1.7; }
@keyframes aboutTabIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
@media (max-width: 700px) {
  .about-tab-list { display: grid; grid-template-columns: 1fr 1fr; }
  .about-tab { padding: 10px 9px; font-size: .92rem; }
  .about-tab:last-child { grid-column: 1 / -1; }
  .about-tab-panels { padding: 17px; }
}

/* V33 - Insurance logos in About Me tab */
.insurance-location-group { text-align: center; }
.insurance-location-group + .insurance-location-group { margin-top: 30px; padding-top: 24px; border-top: 1px solid rgba(95,130,173,.16); }
.insurance-location-group h3 { margin: 0 0 18px; color: #465b6f; font-size: clamp(1.15rem, 2vw, 1.45rem); text-align: center; }
.insurance-logo-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; align-items: center; justify-items: center; }
.insurance-logo-grid-boise { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 760px; margin-inline: auto; }
.insurance-logo-card { width: 100%; min-height: 92px; padding: 10px; display: flex; align-items: center; justify-content: center; border-radius: 14px; background: rgba(255,255,255,.68); box-shadow: 0 7px 18px rgba(28,49,67,.08); }
.insurance-logo-card img { display: block; width: 100%; max-width: 150px; height: 70px; object-fit: contain; object-position: center; }
@media (max-width: 900px) { .insurance-logo-grid, .insurance-logo-grid-boise { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .insurance-logo-grid, .insurance-logo-grid-boise { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .insurance-logo-card { min-height: 78px; padding: 8px; } .insurance-logo-card img { height: 58px; } }

/* V34 - flat insurance logos and partner logos */
.insurance-logo-card {
  min-height: 92px; padding: 8px; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}
.insurance-logo-card img { filter: none !important; box-shadow: none !important; border: 0 !important; }
.partner-logo-grid { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:34px; padding:18px 0 6px; }
.partner-logo-link { display:flex; align-items:center; justify-content:center; background:transparent; border:0; box-shadow:none; text-decoration:none; }
.partner-logo-link img { display:block; width:auto; max-width:230px; height:82px; object-fit:contain; box-shadow:none; border:0; }
@media (max-width:600px){ .partner-logo-grid{gap:20px;} .partner-logo-link img{max-width:190px;height:68px;} }


/* V35 - Locations tab */
.locations-intro { text-align:center; max-width:920px; margin:0 auto 26px; }
.locations-intro h3 { margin:0 0 10px; color:#465b6f; font-size:clamp(1.25rem,2.2vw,1.7rem); }
.locations-intro p { margin:0; }
.locations-grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,0.88fr); gap:28px; align-items:start; }
.location-column { text-align:center; min-width:0; }
.location-column h3 { margin:0 0 10px; color:#465b6f; font-size:clamp(1.2rem,2vw,1.55rem); }
.location-address { margin:0 0 16px !important; text-align:center; font-size:0.72rem; line-height:1.4; }
.location-map { width:100%; display:flex; justify-content:center; }
.location-map iframe { width:min(100%,420px); height:400px; border:0; border-radius:14px; }
@media (max-width:760px) { .locations-grid { grid-template-columns:1fr; } .location-map iframe { height:340px; } }


/* V37 - About image top alignment and full-width tabs */
.about-grid { align-items: start; }
.about-photo-wrap { align-self: start; }
.about-photo { object-position: center top; }
.about-grid > .about-tabs {
  grid-column: 1 / -1;
  width: 100%;
  margin-top: 0;
}
@media (max-width: 820px) {
  .about-grid > .about-tabs { grid-column: 1; }
}


/* V39 - Chandler office hours */
.location-hours {
  margin-top: 18px;
  text-align: center;
}
.location-hours h4 {
  margin: 0 0 10px;
}
.location-hours p {
  margin: 5px 0;
}


/* V41 - Full-width right-to-left testimonials scroller */
.reviews-section .reviews-inner {
  width: 100%;
  max-width: none;
  padding-left: clamp(18px, 4vw, 64px);
  padding-right: clamp(18px, 4vw, 64px);
}
.reviews-section .eyebrow,
.reviews-section h2,
.reviews-cta {
  text-align: center;
}
.reviews-cta {
  margin: 8px 0 22px;
  font-weight: 700;
}
.reviews-cta a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.testimonial-marquee {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 8px 0 18px;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 4%, #000 96%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 4%, #000 96%, transparent 100%);
}
.testimonial-track {
  display: flex;
  width: max-content;
  gap: 22px;
  animation: testimonial-scroll-rtl 72s linear infinite;
  will-change: transform;
}
.testimonial-marquee:hover .testimonial-track,
.testimonial-marquee:focus-within .testimonial-track {
  animation-play-state: paused;
}
.testimonial-card {
  flex: 0 0 clamp(285px, 28vw, 420px);
  min-height: 220px;
  padding: 24px 25px;
  border-radius: 22px;
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.72);
  box-shadow: 0 12px 28px rgba(22, 66, 93, .12);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.testimonial-card h3 {
  margin: 0 0 4px;
  font-size: 1.18rem;
}
.testimonial-meta {
  margin-bottom: 14px;
  font-size: .9rem;
  font-weight: 700;
  color: #4f7282;
}
.testimonial-card p {
  margin: 0;
  line-height: 1.65;
}
@keyframes testimonial-scroll-rtl {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - 11px)); }
}
@media (max-width: 700px) {
  .reviews-section .reviews-inner { padding-left: 14px; padding-right: 14px; }
  .testimonial-track { gap: 14px; animation-duration: 58s; }
  .testimonial-card {
    flex-basis: min(82vw, 340px);
    min-height: 210px;
    padding: 20px;
  }
  @keyframes testimonial-scroll-rtl {
    from { transform: translateX(0); }
    to { transform: translateX(calc(-50% - 7px)); }
  }
}
@media (prefers-reduced-motion: reduce) {
  .testimonial-marquee {
    overflow-x: auto;
    -webkit-mask-image: none;
    mask-image: none;
    scrollbar-width: thin;
  }
  .testimonial-track { animation: none; }
}

/* V43 - keep hero compact; dynamically push the next section below the first viewport */
.hero {
  min-height: 0 !important;
  height: auto !important;
  align-items: flex-start;
}

#mission {
  margin-top: var(--mission-viewport-gap, 0px);
}


/* V45 - Contact section medication-management image, matching hero treatment */
.contact-section {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.contact-medication-image {
  position: absolute;
  inset: 0 0 0 auto;
  width: 64%;
  height: 100%;
  z-index: 0;
  background-image: url("images/medication-management.png");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.05) 8%, rgba(0,0,0,.18) 20%, rgba(0,0,0,.48) 36%, #000 56%, #000 100%);
  mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.05) 8%, rgba(0,0,0,.18) 20%, rgba(0,0,0,.48) 36%, #000 56%, #000 100%);
  pointer-events: none;
}

.contact-section .section-inner {
  position: relative;
  z-index: 2;
}

.contact-section .contact-intro {
  max-width: 58%;
  margin: 0 0 28px;
  text-align: left;
}

.contact-section .placeholder-grid {
  position: relative;
  z-index: 2;
  max-width: 58%;
}

@media (max-width: 1000px) {
  .contact-medication-image {
    width: 72%;
    opacity: .88;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.10) 18%, rgba(0,0,0,.55) 48%, #000 70%, #000 100%);
    mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.10) 18%, rgba(0,0,0,.55) 48%, #000 70%, #000 100%);
  }
  .contact-section .contact-intro,
  .contact-section .placeholder-grid {
    max-width: 62%;
  }
}

@media (max-width: 700px) {
  .contact-medication-image {
    width: 100%;
    opacity: .24;
    background-position: 68% center;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.28) 20%, #000 62%, #000 100%);
    mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.28) 20%, #000 62%, #000 100%);
  }
  .contact-section .contact-intro,
  .contact-section .placeholder-grid {
    max-width: 100%;
  }
}

/* V48: keep Contact location addresses compact and on one line */
.contact-section .placeholder-grid {
  max-width: 68%;
  grid-template-columns: 0.9fr 1.35fr 1.15fr;
}
.contact-section .mini-card p {
  font-size: 0.82rem;
}
.contact-section .mini-card:nth-child(2) p,
.contact-section .mini-card:nth-child(3) p {
  font-size: 0.68rem;
  line-height: 1.35;
  white-space: nowrap;
}
@media (max-width: 1000px) {
  .contact-section .placeholder-grid { max-width: 74%; }
  .contact-section .mini-card:nth-child(2) p,
  .contact-section .mini-card:nth-child(3) p { font-size: 0.62rem; }
}
@media (max-width: 700px) {
  .contact-section .placeholder-grid { max-width: 100%; }
  .contact-section .mini-card:nth-child(2) p,
  .contact-section .mini-card:nth-child(3) p { white-space: normal; font-size: 0.78rem; }
}


/* V49 - compact About Me call-to-action with Cognito form */
.about-cta {
  width: min(1180px, calc(100% - 32px));
  margin: 20px auto 34px;
  padding: 0;
}
.about-cta-inner {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr);
  gap: clamp(22px, 4vw, 46px);
  align-items: start;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(95,130,173,.18);
  border-radius: 24px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 14px 34px rgba(28,49,67,.10);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.about-cta-copy h2 {
  margin: 8px 0 8px;
}
.about-cta-copy > p {
  margin: 0 0 18px;
  color: #465b6f;
  line-height: 1.6;
}
.about-cta-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.about-cta-card {
  padding: 14px 15px;
  border-radius: 16px;
  background: rgba(240,246,251,.82);
  border: 1px solid rgba(95,130,173,.13);
}
.about-cta-card h3 {
  margin: 0 0 6px;
  font-size: .98rem;
  color: #314d64;
}
.about-cta-card p {
  margin: 0;
  font-size: .82rem;
  line-height: 1.45;
  color: #465b6f;
}
.about-cta-phone {
  grid-column: 1 / -1;
  text-align: center;
}
.about-cta-phone p {
  font-size: 1rem;
  font-weight: 700;
}
.about-cta-phone a {
  color: inherit;
  text-decoration: none;
}
.about-cta-form {
  min-width: 0;
  width: 100%;
}
@media (max-width: 900px) {
  .about-cta-inner {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 560px) {
  .about-cta {
    width: min(100% - 20px, 1180px);
  }
  .about-cta-inner {
    padding: 18px 14px;
    border-radius: 18px;
  }
  .about-cta-details {
    grid-template-columns: 1fr;
  }
  .about-cta-phone {
    grid-column: auto;
  }
}

/* V51 - increase homepage hero box height by approximately 1/2 inch (48 CSS px) */
.hero .section-inner {
  padding-bottom: calc(clamp(60px, 10vh, 110px) + 48px);
}

/* V52: Medication Management fills the Mental Healthcare Services section */
.service-grid.service-grid-single{grid-template-columns:1fr;width:100%;}
.service-card.service-card-featured{width:100%;}
.service-card.service-card-featured img{width:100%;aspect-ratio:21/9;object-fit:cover;}
@media(max-width:700px){.service-card.service-card-featured img{aspect-ratio:16/9;}}

/* V54: Medication Management full-width feature section */
.medication-services-section{
  position:relative;
  isolation:isolate;
  min-height:620px;
  background:rgba(255,255,255,.92);
}
.medication-services-bg{
  position:absolute;
  z-index:0;
  inset:0 auto 0 0;
  width:62%;
  background-image:url('images/DrFrancisSpinkMedicationManagement.png');
  background-repeat:no-repeat;
  background-position:left center;
  background-size:cover;
  -webkit-mask-image:linear-gradient(to right,#000 0%,#000 42%,rgba(0,0,0,.92) 55%,rgba(0,0,0,.58) 72%,rgba(0,0,0,.16) 90%,transparent 100%);
  mask-image:linear-gradient(to right,#000 0%,#000 42%,rgba(0,0,0,.92) 55%,rgba(0,0,0,.58) 72%,rgba(0,0,0,.16) 90%,transparent 100%);
  pointer-events:none;
}
.medication-services-inner{
  position:relative;
  z-index:1;
  min-height:620px;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr);
  grid-template-rows:auto 1fr;
  column-gap:52px;
  align-items:center;
}
.medication-services-kicker{
  grid-column:1 / -1;
  text-align:left;
  align-self:start;
}
.medication-services-kicker .eyebrow{margin-bottom:0;}
.medication-services-content{
  grid-column:2;
  align-self:center;
  padding:28px 0 28px 10px;
  text-align:left;
}
.medication-services-content h2{
  margin-bottom:22px;
  color:#263d52;
}
.medication-services-content h3{
  margin:0 0 22px;
  color:#345c84;
  font-size:clamp(1.45rem,2.3vw,2.15rem);
  line-height:1.22;
}
.medication-services-content p{
  max-width:700px;
  color:#2f3f4e;
  font-size:1.04rem;
  line-height:1.75;
  margin-bottom:22px;
}
.medication-services-button{
  margin-top:6px;
  min-width:150px;
  text-transform:uppercase;
  letter-spacing:.035em;
}
@media(max-width:900px){
  .medication-services-section{min-height:0;}
  .medication-services-bg{
    width:100%;
    opacity:.34;
    background-position:left center;
    -webkit-mask-image:linear-gradient(to right,#000 0%,rgba(0,0,0,.76) 45%,rgba(0,0,0,.22) 78%,transparent 100%);
    mask-image:linear-gradient(to right,#000 0%,rgba(0,0,0,.76) 45%,rgba(0,0,0,.22) 78%,transparent 100%);
  }
  .medication-services-inner{
    min-height:0;
    display:block;
  }
  .medication-services-kicker{text-align:left;margin-bottom:22px;}
  .medication-services-content{
    width:min(100%,680px);
    margin-left:auto;
    padding:10px 0;
    background:rgba(255,255,255,.72);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
    border-radius:18px;
  }
}
@media(max-width:620px){
  .medication-services-bg{
    opacity:.22;
    background-size:cover;
    background-position:30% center;
  }
  .medication-services-content{
    width:100%;
    padding:18px;
  }
  .medication-services-content p{font-size:.98rem;line-height:1.65;}
}


/* V56: Medication Management section refinements */
@media (min-width: 901px){
  .medication-services-inner{
    grid-template-columns:minmax(0,calc(50% - 48px)) minmax(526px,calc(50% + 48px));
  }
  .medication-services-bg{
    width:64%;
    background-position:-42px center;
  }
}

/* V58 FAQ accordion */
.faq-intro{max-width:1000px;margin:0 0 24px;color:var(--muted);line-height:1.75}
.faq-accordion{display:grid;gap:12px;max-width:1100px}
.faq-item{background:rgba(255,255,255,.78);border:1px solid rgba(95,130,173,.18);border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(20,53,91,.07)}
.faq-item summary{list-style:none;cursor:pointer;padding:18px 54px 18px 22px;font-weight:700;color:var(--navy);position:relative;transition:background .2s ease,color .2s ease}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:26px;font-weight:400;color:var(--blue);transition:transform .2s ease}
.faq-item[open] summary{background:rgba(225,242,252,.7)}
.faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-answer{padding:0 22px 20px;color:var(--text);line-height:1.72}
.faq-answer p{margin:12px 0}
.faq-answer h4{margin:14px 0 5px;color:var(--navy)}
.faq-answer ul{margin:8px 0 8px 22px}
.faq-answer a{color:var(--blue);font-weight:700}
@media(max-width:700px){.faq-item summary{padding:16px 48px 16px 17px}.faq-answer{padding:0 17px 18px}}

/* V59 - Modern single-open FAQ accordion */
.faq-accordion{
  display:grid;
  gap:14px;
  max-width:1180px;
  margin:0 auto;
}
.faq-item{
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(247,251,255,.88));
  border:1px solid rgba(53,107,157,.16);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(31,67,103,.08), inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.faq-item:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(31,67,103,.12), inset 0 1px 0 rgba(255,255,255,.95);
  border-color:rgba(53,107,157,.28);
}
.faq-item[open]{
  border-color:rgba(33,116,181,.35);
  box-shadow:0 18px 42px rgba(31,67,103,.14), inset 0 1px 0 rgba(255,255,255,.95);
}
.faq-item summary{
  list-style:none;
  cursor:pointer;
  padding:20px 64px 20px 24px;
  font-size:1.02rem;
  font-weight:750;
  letter-spacing:.01em;
  color:var(--navy);
  position:relative;
  background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(239,248,255,.84));
  transition:background .25s ease,color .25s ease,padding .25s ease;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:linear-gradient(180deg,var(--blue),#5db3d8);
  opacity:0;
  transition:opacity .25s ease;
}
.faq-item summary::after{
  content:'+';
  position:absolute;
  right:20px;
  top:50%;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  border-radius:50%;
  background:rgba(36,147,212,.10);
  border:1px solid rgba(36,147,212,.18);
  font-size:24px;
  line-height:1;
  font-weight:400;
  color:var(--blue);
  transition:transform .28s ease, background .25s ease, color .25s ease;
}
.faq-item[open] summary{
  background:linear-gradient(90deg,rgba(232,246,255,.98),rgba(255,255,255,.94));
  color:#163d61;
}
.faq-item[open] summary::before{opacity:1}
.faq-item[open] summary::after{
  transform:translateY(-50%) rotate(45deg);
  background:var(--blue);
  color:#fff;
}
.faq-answer{
  padding:4px 24px 24px;
  color:var(--text);
  line-height:1.75;
  background:rgba(255,255,255,.72);
  border-top:1px solid rgba(53,107,157,.08);
}
.faq-answer p{margin:14px 0}
.faq-answer h4{margin:16px 0 6px;color:var(--navy)}
.faq-answer ul{margin:10px 0 10px 22px}
.faq-answer a{color:var(--blue);font-weight:700}
@media(max-width:700px){
  .faq-accordion{gap:10px}
  .faq-item{border-radius:16px}
  .faq-item summary{padding:17px 58px 17px 18px;font-size:.96rem}
  .faq-item summary::after{right:14px;width:31px;height:31px;font-size:22px}
  .faq-answer{padding:2px 18px 20px}
}

/* V60 FAQ square accordion cards */
.faq-item, .faq-item:hover, .faq-item[open]{border-radius:0 !important;}
@media(max-width:700px){.faq-item{border-radius:0 !important;}}

/* V61 FAQ compact joined accordion */
.faq-accordion{gap:0 !important;}
.faq-item summary{font-weight:400 !important;}
.faq-item{margin:0 !important;}
.faq-item + .faq-item{border-top:0 !important;}
@media(max-width:700px){.faq-accordion{gap:0 !important;}}


/* V71 LINKS PAGE */
.links-resource-section .section-inner {
  max-width: 1220px;
}
.links-intro {
  max-width: 860px;
  margin-bottom: 1.5rem;
}
.useful-links-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid rgba(21, 63, 111, .16);
  border-left: 1px solid rgba(21, 63, 111, .16);
  background: rgba(255,255,255,.58);
}
.useful-links-group {
  padding: 1.35rem 1.5rem;
  border-right: 1px solid rgba(21, 63, 111, .16);
  border-bottom: 1px solid rgba(21, 63, 111, .16);
}
.useful-links-group h2 {
  margin: 0 0 .8rem;
  font-size: 1.08rem;
  color: var(--navy, #143d69);
}
.useful-links-group ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.useful-links-group li + li {
  margin-top: .42rem;
}
.useful-links-group a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color .2s ease, border-color .2s ease, padding-left .2s ease;
}
.useful-links-group a:hover,
.useful-links-group a:focus-visible {
  color: var(--blue, #246aa5);
  border-bottom-color: currentColor;
  padding-left: .2rem;
}
@media (max-width: 760px) {
  .useful-links-grid { grid-template-columns: 1fr; }
  .useful-links-group { padding: 1.1rem 1rem; }
}

/* V78: align Medication Management content width with Take the Next Step CTA */
@media (min-width: 901px) {
  .medication-services-inner {
    width: min(1180px, calc(100% - 32px));
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
  }
}


/* V79 - Meet Your Provider section */
.provider-intro .provider-intro-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;}
.provider-intro-copy{max-width:920px;}
.provider-intro-copy h2{margin-top:.45rem;}
.provider-intro-copy p{font-size:1.06rem;line-height:1.78;color:#42566a;}
@media (max-width:760px){.provider-intro-copy p{font-size:1rem;}}

/* V80 - Meet Your Provider image background only */
.provider-intro {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.provider-intro::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  width: 58%;
  height: 100%;
  background: url("images/MedicineManagementProviders.png") center right / cover no-repeat;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.2) 15%, #000 48%, #000 100%);
  mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.2) 15%, #000 48%, #000 100%);
  pointer-events: none;
}
.provider-intro .provider-intro-grid {
  position: relative;
  z-index: 1;
}
.provider-intro-copy {
  position: relative;
  z-index: 2;
  max-width: 62%;
}
@media (max-width: 900px) {
  .provider-intro::before {
    width: 68%;
    opacity: .48;
  }
  .provider-intro-copy { max-width: 72%; }
}
@media (max-width: 700px) {
  .provider-intro::before {
    width: 100%;
    opacity: .22;
    background-position: center;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 55%, #000 100%);
    mask-image: linear-gradient(to right, transparent 0%, #000 55%, #000 100%);
  }
  .provider-intro-copy { max-width: 100%; }
}

/* V81 - show more of the full Meet Your Provider group photo */
@media (min-width: 901px) {
  .provider-intro::before {
    width: 54%;
    background-size: contain;
    background-position: right center;
  }
}

/* V82 - subtle top and bottom fade for Meet Your Provider background */
@media (min-width: 901px) {
  .provider-intro::before {
    width: 54%;
    background-size: contain;
    background-position: right center;
    -webkit-mask-image:
      linear-gradient(to right, transparent 0%, rgba(0,0,0,.20) 15%, #000 48%, #000 100%),
      linear-gradient(to bottom, transparent 0%, #000 7%, #000 93%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-image:
      linear-gradient(to right, transparent 0%, rgba(0,0,0,.20) 15%, #000 48%, #000 100%),
      linear-gradient(to bottom, transparent 0%, #000 7%, #000 93%, transparent 100%);
    mask-composite: intersect;
  }
}

@media (max-width: 900px) {
  .provider-intro::before {
    -webkit-mask-image:
      linear-gradient(to right, transparent 0%, rgba(0,0,0,.20) 15%, #000 48%, #000 100%),
      linear-gradient(to bottom, transparent 0%, #000 8%, #000 92%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-image:
      linear-gradient(to right, transparent 0%, rgba(0,0,0,.20) 15%, #000 48%, #000 100%),
      linear-gradient(to bottom, transparent 0%, #000 8%, #000 92%, transparent 100%);
    mask-composite: intersect;
  }
}

/* V83 - About ME secondary text matches standard section body copy */
#about .about-copy .lead,
#about .about-copy .about-quote {
  font-size: 1rem;
  line-height: 1.65;
}

/* V88 - Google review image: 25% size and centered */
.google-review-cta {
  text-align: center;
}
.google-review-cta a {
  display: inline-block;
}
.google-review-cta img {
  display: block;
  width: 25%;
  height: auto;
  margin: 0 auto;
}


/* Medication Management: use the same text color for headings and main copy */
.medication-management-page h1,
.medication-management-page h2,
.medication-management-page h3,
.medication-management-page .lead,
.medication-management-page main p {
  color: var(--text) !important;
}


/* Medication Management - Mental Healthcare Service section text only */
.mental-healthcare-service-section .eyebrow,
.mental-healthcare-service-section h1,
.mental-healthcare-service-section h2,
.mental-healthcare-service-section h3,
.mental-healthcare-service-section p,
.mental-healthcare-service-section .lead {
  color: #263D52 !important;
}


/* Medication Management - requested Mental Healthcare Service copy only */
.medication-management-page .service-copy-263d52,
.mental-healthcare-service-section .service-copy-263d52 {
  color: #263D52 !important;
}


/* Medication Management - F.A.Q. section text only */
.medication-faq-color,
.medication-faq-color * {
  color: #263D52 !important;
}
