/*
Theme Name: GSAP v2
Theme URI: https://greatersiouxlandpain.com/
Author: Greater Siouxland Anesthesiology and Pain
Description: 2026 redesign of the Greater Siouxland Anesthesiology and Pain website (classic theme). Separate from the current "Greater Siouxland Anesthesiology and Pain" theme so it can be uploaded and previewed without replacing it.
Version: 2.0.4
Requires at least: 5.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gsap-v2
*/
/* GSAP Home v2: design tokens and components (single consolidated sheet) */
:root{
  --deep:#0E2463;--navy:#1B3A9A;--sky:#1EA7E1;--blue:#1476B0;
  --ink:#14213D;--muted:#4A5878;--line:#DCE6F3;--tint:#F3F7FC;--tint2:#E3F2FB;
  --grad:linear-gradient(135deg,#0E2463 0%,#1B3A9A 58%,#1E6FC0 100%);
  --btn:linear-gradient(135deg,#1476B0 0%,#1B3A9A 100%);
  --radius:18px;--shadow:0 10px 30px rgba(14,36,99,.08);--shadow-lg:0 24px 60px rgba(14,36,99,.16);
  --gutter:40px;--header:84px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header)}
body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:17px;line-height:1.65;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-weight:700;letter-spacing:.005em;margin:0;line-height:1.08}
h1,h2{text-wrap:balance}
p{margin:0}
.wrap{max-width:1200px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 14px;z-index:100}.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:6px}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:12px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:13px 24px;border-radius:999px;font-weight:600;font-size:16px;line-height:1.2;transition:transform .15s,box-shadow .15s,background .15s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn .ico{width:17px;height:17px}
.btn-primary{background:var(--btn);color:#fff;box-shadow:0 8px 20px rgba(20,118,176,.30)}
.btn-ghost{color:#fff;border:1.5px solid rgba(255,255,255,.55);background:rgba(255,255,255,.06)}
.btn-ghost:hover{background:rgba(255,255,255,.14)}
.btn-white{background:#fff;color:var(--navy);box-shadow:0 8px 20px rgba(0,0,0,.15)}
.btn-outline{border:1.5px solid var(--navy);color:var(--navy);background:#fff}
.btn-outline:hover{background:var(--navy);color:#fff}
.btn-sm{min-height:44px;padding:10px 20px;font-size:15px}

/* Logo lockup */
.logo{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}
.logo img{height:52px;width:auto}
.logo-name{font:600 12.5px/1.3 Inter,sans-serif;white-space:nowrap;letter-spacing:.03em;color:var(--ink);padding-left:12px;border-left:1px solid var(--line)}
.logo-white .logo-name{color:#fff;border-left-color:rgba(255,255,255,.25)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.4) blur(8px)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--header)}
.main-nav{display:flex;align-items:center;gap:16px;flex:1;justify-content:flex-end}
.nav-actions{display:flex;align-items:center;gap:16px;order:2}
.menu{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.menu>li{position:relative;display:flex;align-items:center}
.menu .top{display:flex;align-items:center;min-height:44px;padding:8px 9px;font-size:15px;white-space:nowrap;font-weight:500;color:var(--ink);border-radius:8px}
.has-sub .top{padding-right:2px}
.menu .top:hover{color:var(--navy);background:var(--tint)}
.sub-toggle{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.sub-btn{display:grid;place-items:center;width:24px;height:44px;color:var(--muted);cursor:pointer}
.sub-btn .ico{width:16px;height:16px;transition:transform .15s}
.sub{position:absolute;left:0;top:100%;min-width:300px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:12px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.15s}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:none}
.sub a{display:flex;align-items:center;min-height:40px;padding:6px 12px;border-radius:8px;font-size:15px;color:var(--ink)}
.sub a:hover{background:var(--tint);color:var(--navy)}
.sub-label{font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:10px 12px 4px}
.phone{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;font-size:15.5px;color:var(--navy);white-space:nowrap}
.phone .ico{width:17px;height:17px;color:var(--sky)}
.nav-toggle,.burger{display:none}

/* Hero: copy on the left, photo bleeds off the right edge */
.hero{background:var(--grad);color:#fff;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;width:760px;height:760px;left:-300px;bottom:-460px;border-radius:50%;background:radial-gradient(circle,rgba(30,167,225,.22),transparent 65%)}
.hero-inner{position:relative;z-index:2}
.hero-copy{max-width:600px;padding:72px 0 80px}
.hero .eyebrow{color:#8FD6F5}
.hero h1{font-size:clamp(44px,5vw,68px);line-height:1.02;margin-bottom:20px}
.lead{font-size:19px;line-height:1.55;color:rgba(255,255,255,.88);max-width:570px;text-wrap:pretty}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.patient-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:14px;font-size:15px;color:rgba(255,255,255,.8)}
.patient-link .pl-cta{color:#fff;font-weight:600;border-bottom:1px solid rgba(255,255,255,.45)}
.patient-link{flex-wrap:wrap;column-gap:6px;row-gap:0}
.pl-q,.pl-go{white-space:nowrap}
.pl-go{display:inline-flex;align-items:center;gap:6px}
.patient-link .ico{width:16px;height:16px;color:#8FD6F5}
.hero-media{position:absolute;top:0;right:0;bottom:0;width:44%;z-index:1}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:35% center;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.55) 18%,#000 42%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.55) 18%,#000 42%)}

/* Sections */
.section{padding:100px 0}
.tint{background:var(--tint)}
.section-head{max-width:760px;margin:0 auto 52px;text-align:center}
.section-head h2{font-size:clamp(34px,3.6vw,48px);color:var(--deep);margin-bottom:14px}
.section-head p:not(.eyebrow){font-size:18px;color:var(--muted);text-wrap:balance}
.section-head.light h2{color:#fff}.section-head.light .eyebrow{color:#8FD6F5}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);height:100%}
.more{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;font-size:15.5px;color:var(--navy)}
.more .ico{width:17px;height:17px;transition:transform .15s}.more:hover .ico{transform:translateX(3px)}

/* Who we serve */
.serve-card{display:flex;flex-direction:column;overflow:hidden}
.card-photo{aspect-ratio:16/10;overflow:hidden;background:var(--tint)}
.card-photo img{width:100%;height:100%;object-fit:cover}
.card-body{display:flex;flex-direction:column;flex:1;padding:26px 30px 22px}
.card-body h3{display:flex;align-items:center;gap:12px;font-size:32px;color:var(--deep);margin-bottom:4px}
.card-body h3 .ico{width:28px;height:28px;color:var(--sky)}
.kicker{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);white-space:nowrap;margin-bottom:14px}
.card-body p:not(.kicker){color:var(--muted);margin-bottom:14px}
.card-body .more{margin-top:auto}

/* Challenges and services (merged) */
.solve-grid{row-gap:28px}
.solve{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:0;overflow:hidden}
.solve-q{padding:24px 32px 22px;background:linear-gradient(180deg,#F7FAFE,#fff);border-bottom:1px solid var(--line);font-weight:500;font-size:16.5px;color:var(--ink);}
.solve-tag{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:6px}
.solve-a{display:flex;flex-direction:column;flex:1;padding:26px 32px 20px}
.solve-a h3{display:flex;align-items:center;gap:16px;font-size:28px;color:var(--deep);margin-bottom:12px}
.svc-icon{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border-radius:13px;background:var(--grad);color:#fff}
.svc-icon .ico{width:24px;height:24px}
.solve-a p{color:var(--muted);margin-bottom:12px}
.solve-a .more{margin-top:auto}

/* Steps */
.steps-band{background:var(--grad);color:#fff}
.steps{list-style:none;margin:0;padding:0}
.step{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);padding:34px 32px;height:100%}
.step-num{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--navy);font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:24px;margin-bottom:20px}
.step h3{font-size:28px;margin-bottom:10px}
.step p{color:rgba(255,255,255,.85)}

/* Approach split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.split-photo{margin:0;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:5/4}
.split-photo img{width:100%;height:100%;object-fit:cover}
.split-copy h2{font-size:clamp(34px,3.6vw,48px);color:var(--deep);margin-bottom:18px}
.split-copy>p:not(.eyebrow){color:var(--muted);font-size:18px;margin-bottom:26px}
.ticks{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:18px}
.ticks li{display:flex;gap:16px;align-items:flex-start;color:var(--muted)}
.ticks strong{color:var(--ink);font-weight:600}
.ticks .ico{flex-shrink:0;width:22px;height:22px;color:var(--sky);margin-top:3px}

/* Care list: one card, two columns, hairline divider */
.care{display:grid;grid-template-columns:1fr 1fr;max-width:1000px;margin:0 auto}
.care-col{padding:38px 44px}
.care-col+.care-col{border-left:1px solid var(--line)}
.care h3{display:flex;align-items:center;gap:12px;font-size:27px;color:var(--deep);margin-bottom:20px}
.care h3 .ico{width:26px;height:26px;color:var(--sky)}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:12px;
  --chk:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}
.checks li{position:relative;padding-left:34px;color:var(--ink)}
.checks li::before{content:"";position:absolute;left:0;top:3px;width:22px;height:22px;border-radius:50%;background:var(--tint2)}
.checks li::after{content:"";position:absolute;left:5px;top:8px;width:12px;height:12px;background:var(--navy);-webkit-mask:var(--chk) center/contain no-repeat;mask:var(--chk) center/contain no-repeat}

/* FAQ */
.faq-wrap{max-width:900px}
.faq{display:grid;gap:14px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 14px rgba(14,36,99,.05)}
.faq summary{list-style:none;cursor:pointer;padding:20px 64px 20px 26px;font-weight:600;font-size:18px;color:var(--deep);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:var(--tint2);color:var(--navy);display:grid;place-items:center;font-size:20px;font-weight:600;line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 26px 22px;color:var(--muted)}

/* CTA band */
.cta-band{background:var(--grad);color:#fff;padding:76px 0;position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;width:600px;height:600px;left:-200px;bottom:-380px;border-radius:50%;background:radial-gradient(circle,rgba(30,167,225,.28),transparent 65%)}
.cta-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px}
.cta-band h2{font-size:clamp(34px,3.6vw,46px);margin-bottom:8px}
.cta-band p{font-size:18px;color:rgba(255,255,255,.86)}
.cta-actions{display:flex;gap:14px}

/* Patient strip */
.patient-strip{padding:40px 0;background:#fff;border-bottom:1px solid var(--line)}
.strip-inner{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
.strip-copy h2{font-size:28px;color:var(--deep);margin-bottom:6px}
.strip-copy p{color:var(--muted)}

/* Footer */
.site-footer{background:var(--deep);color:rgba(255,255,255,.8);padding:72px 0 0;font-size:15.5px}
.foot-grid{display:grid;grid-template-columns:1.45fr .9fr 1.45fr .8fr;gap:40px;padding-bottom:44px}
.foot-brand .logo{margin-bottom:20px}
.foot-brand .logo img{height:50px}
.foot-brand p{max-width:310px;margin-bottom:10px}
.site-footer h3{font-family:Inter,sans-serif;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:10px}
.foot-col a{display:flex;align-items:center;min-height:36px}
.foot-col a:hover,.foot-phone:hover{color:#fff}
.foot-phone{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:#fff;font-weight:600}
.foot-phone .ico{width:17px;height:17px;color:var(--sky)}
.foot-note{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:40px;padding-top:26px;padding-bottom:34px;font-size:13.5px;color:rgba(255,255,255,.7)}
.foot-note::before{content:"";position:absolute;top:0;left:var(--gutter);right:var(--gutter);border-top:1px solid rgba(255,255,255,.14)}
.foot-note p{max-width:760px}
.quiet{display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.8);white-space:nowrap}
.quiet:hover{color:#fff}
.quiet .ico{width:15px;height:15px}

/* Responsive */
@media (max-width:1240px){
  .logo-name{display:none}
  .header-compact .logo-name{display:none}
}
@media (max-width:1100px){
  .nav-actions .phone{display:none}
  .menu .top{font-size:15px;padding:8px 8px}
  .hero-media{width:40%}
  .hero-copy{max-width:540px}
}
@media (max-width:980px){
  :root{--header:72px}
  .logo img{height:46px}
  .logo-name{display:block}
  .burger{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;border:1px solid var(--line);color:var(--navy);cursor:pointer}
  .burger .ico{width:24px;height:24px}
  .main-nav{display:none;position:absolute;left:0;right:0;top:var(--header);max-height:calc(100vh - var(--header));overflow:auto;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-lg);flex-direction:column;align-items:stretch;padding:16px 24px 24px;gap:8px}
  .nav-toggle:checked~.main-nav{display:flex}
  .nav-actions{order:0;flex-direction:column;align-items:stretch;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--line)}
  .nav-actions .phone{display:inline-flex;justify-content:center}
  .menu{order:1;flex-direction:column;align-items:stretch}
  .menu>li{flex-wrap:wrap;border-bottom:1px solid var(--tint)}
  .menu .top{flex:1;min-height:48px;font-size:16.5px;padding:8px 4px}
  .sub-btn{width:48px;height:48px}
  .sub-toggle:checked~.sub-btn .ico{transform:rotate(180deg)}
  .sub{display:none;position:static;flex-basis:100%;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 10px 10px;min-width:0}
  .sub-toggle:checked~.sub{display:block}
  .sub a{min-height:44px}
  .hero-copy{max-width:none;padding:56px 0 40px}
  .hero-media{position:relative;width:auto;height:300px}
  .hero-media img{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 28%);mask-image:linear-gradient(180deg,transparent 0,#000 28%)}
  .grid-3{grid-template-columns:1fr 1fr}
  .grid-3>.serve-card:last-child{grid-column:1/-1;flex-direction:row}
  .grid-3>.serve-card:last-child .card-photo{flex:0 0 50%;aspect-ratio:auto}
  .steps.grid-3{grid-template-columns:repeat(3,1fr);gap:18px}
  .step{padding:26px 22px}
  .step h3{font-size:24px}
  .split-photo{aspect-ratio:16/9}
  .solve-a h3{font-size:24px;gap:12px}
  .svc-icon{width:42px;height:42px}
  .foot-note{flex-direction:column;gap:12px}
  .split{grid-template-columns:1fr;gap:40px}
  .cta-inner{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  :root{--gutter:22px}
  body{font-size:16px}
  .logo-name{font-size:12px}
  .logo img{height:40px}
  .section{padding:68px 0}
  .section-head{margin-bottom:34px}
  .grid-3,.grid-2{grid-template-columns:1fr;gap:20px}
  .grid-3>.serve-card:last-child{flex-direction:column}
  .grid-3>.serve-card:last-child .card-photo{flex:none;aspect-ratio:16/10}
  .hero-copy{padding:40px 0 32px}
  .lead{font-size:17.5px}
  .hero-ctas{flex-direction:column}
  .hero-ctas .btn,.cta-actions .btn{width:100%;white-space:normal;text-align:center}
  .hero-media{height:220px}
  .cta-actions{flex-direction:column}
  .card-body{padding:22px 24px 18px}
  .solve-q{padding:20px 24px;min-height:0}
  .solve-a{padding:22px 24px 16px}
  .solve-a h3{font-size:25px}
  .care{grid-template-columns:1fr}
  .care-col{padding:28px 24px}
  .care-col+.care-col{border-left:0;border-top:1px solid var(--line)}
  .strip-inner{grid-template-columns:1fr;gap:18px}
  .strip-copy h2{font-size:24px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:26px 20px;padding-bottom:32px}
  .foot-brand{grid-column:1/-1}
  .foot-col:nth-child(2){order:1}.foot-col:nth-child(4){order:2}.foot-col:nth-child(3){order:3;grid-column:1/-1}
  .steps.grid-3{grid-template-columns:1fr;gap:16px}
  .step{padding:24px 24px}
  .step-num{margin-bottom:14px}
  .foot-col a{min-height:44px}
  .foot-note{flex-direction:column;gap:12px;padding-bottom:40px}
  .quiet{min-height:44px;white-space:normal}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
  .btn:hover{transform:none}
}

/* Global typesetting: no orphan words */
p,li,summary,.kicker,.solve-q{text-wrap:pretty}
h3{text-wrap:balance}
.eb-short{display:none}

/* Phones (640px and below): compact layout, same content */
@media (max-width:640px){
  :root{--header:64px}
  .logo img{height:36px}
  .logo{gap:10px}
  .logo-name{font-size:11.5px;padding-left:10px}
  .burger{width:44px;height:44px}
  .section{padding:48px 0}
  .section-head{margin-bottom:24px}
  .section-head h2{font-size:30px;margin-bottom:10px}
  .section-head p:not(.eyebrow){font-size:16px}
  .eyebrow{font-size:12px;letter-spacing:.14em;margin-bottom:8px}

  /* Hero: short label, no photo, CTAs high */
  .eb-long{display:none}.eb-short{display:inline}
  .hero-copy{padding:28px 0 30px}
  .hero h1{font-size:40px;margin-bottom:14px}
  .lead{font-size:16.5px}
  .hero-ctas{margin-top:20px;gap:10px}
  .patient-link{margin-top:8px}
  .hero-media{display:none}

  /* Who we serve: compact horizontal cards with a small thumbnail */
  .grid-3,.grid-2{gap:14px}
  .serve-card,.grid-3>.serve-card:last-child{display:grid;grid-template-columns:84px 1fr;gap:0 16px;padding:18px;flex-direction:initial}
  .serve-card .card-photo,.grid-3>.serve-card:last-child .card-photo{width:84px;height:84px;aspect-ratio:auto;border-radius:12px;flex:none}
  .serve-card .card-body{padding:0}
  .card-body h3{font-size:25px;gap:8px}
  .card-body h3 .ico{width:22px;height:22px}
  .kicker{font-size:11.5px;margin-bottom:8px;white-space:normal}
  .card-body p:not(.kicker){font-size:15px;line-height:1.55;margin-bottom:4px}

  /* Challenge cards: challenge line inline above the service title */
  .solve{display:flex;flex-direction:column;grid-row:auto}
  .solve-q{padding:18px 20px 0;background:none;border:0;font-size:14.5px;color:var(--muted)}
  .solve-tag{display:inline;margin:0 6px 0 0;font-size:11px}
  .solve-a{padding:10px 20px 8px}
  .solve-a h3{font-size:23px;gap:10px;margin-bottom:8px}
  .svc-icon{width:36px;height:36px;border-radius:10px}
  .svc-icon .ico{width:19px;height:19px}
  .solve-a p{font-size:15px;line-height:1.55;margin-bottom:2px}

  /* Steps: compact numbered list */
  .steps.grid-3{gap:0}
  .step{display:grid;grid-template-columns:36px 1fr;gap:2px 14px;background:none;border:0;border-radius:0;padding:14px 0;border-top:1px solid rgba(255,255,255,.16)}
  .step:first-child{border-top:0;padding-top:0}
  .step-num{grid-row:span 2;width:34px;height:34px;font-size:19px;margin:0}
  .step h3{font-size:22px;margin:3px 0 2px}
  .step p{font-size:15px;line-height:1.55}

  /* Approach: no photo */
  .split{gap:0}
  .split-photo{display:none}
  .split-copy h2{font-size:30px;margin-bottom:12px}
  .split-copy>p:not(.eyebrow){font-size:16px;margin-bottom:18px}
  .ticks{gap:12px;margin-bottom:6px}
  .ticks li{font-size:15px;line-height:1.55;gap:12px}

  /* Care list: tighter rows */
  .care-col{padding:20px}
  .care h3{font-size:22px;margin-bottom:12px}
  .checks{gap:6px}
  .checks li{font-size:15px;line-height:1.45;padding-left:28px}
  .checks li::before{top:1px;width:19px;height:19px}
  .checks li::after{left:4px;top:5px;width:11px;height:11px}

  /* FAQ */
  .faq{gap:10px}
  .faq summary{padding:12px 56px 12px 18px;font-size:16px;min-height:48px;display:flex;align-items:center}
  .faq summary::after{right:14px;width:28px;height:28px}
  .faq details p{padding:0 18px 16px;font-size:15px}

  /* CTA band and patient strip */
  .cta-band{padding:44px 0}
  .cta-inner{gap:20px}
  .cta-band h2{font-size:30px}
  .cta-band p{font-size:16px}
  .cta-actions{gap:10px}
  .patient-strip{padding:30px 0}
  .strip-inner{gap:14px}
  .strip-copy h2{font-size:22px}
  .strip-copy p{font-size:15px}

  /* Footer: two compact columns */
  .site-footer{padding-top:40px;font-size:14.5px}
  .foot-grid{gap:20px 16px;padding-bottom:24px}
  .foot-brand .logo{margin-bottom:12px}
  .foot-brand .logo img{height:38px}
  .foot-brand p{margin-bottom:4px}
  .site-footer h3{font-size:12px;margin-bottom:2px}
  .foot-col a{min-height:44px}
  .foot-col:nth-child(3) h3{margin-bottom:0}
  .foot-col:nth-child(3){display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
  .foot-col:nth-child(3) h3{grid-column:1/-1}
  .foot-note{font-size:12.5px;padding-top:18px;padding-bottom:28px}
}
@media (max-width:640px){
  /* Who we serve: thumbnail beside the title only; text runs full width */
  .serve-card,.grid-3>.serve-card:last-child{grid-template-columns:64px 1fr;gap:0 14px;align-items:center}
  .serve-card .card-photo,.grid-3>.serve-card:last-child .card-photo{grid-row:1/3;width:64px;height:64px}
  .serve-card .card-body{display:contents}
  .serve-card h3{align-self:end;margin:0}
  .serve-card .kicker{align-self:start;margin:2px 0 0}
  .serve-card .card-body p:not(.kicker){grid-column:1/-1;margin:12px 0 0}
  .serve-card .more{grid-column:1/-1;margin-top:2px}
}
@media (max-width:980px){
  /* Tablet: service icon above the title so titles get the full width */
  .solve-a h3{flex-direction:column;align-items:flex-start;gap:12px}
}
@media (max-width:640px){
  .solve-a h3{flex-direction:row;align-items:center;gap:10px}
}
@media (min-width:641px) and (max-width:980px){.hero-media{height:240px}}
@media (max-width:380px){.hero h1{font-size:36px}}

/* Patient strip label */
.strip-copy .eyebrow{font-size:13px;color:var(--blue);margin-bottom:8px}
@media (max-width:640px){.strip-copy .eyebrow{font-size:12px;margin-bottom:6px}}

/* ===== Site v2: inner-page components (shared by every page except Home's hero) ===== */
.page-hero{background:var(--grad);color:#fff;position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;width:700px;height:700px;right:-260px;top:-420px;border-radius:50%;background:radial-gradient(circle,rgba(30,167,225,.22),transparent 65%)}
.page-hero .wrap{position:relative;z-index:1;padding-top:64px;padding-bottom:64px}
.page-hero .eyebrow{color:#8FD6F5}
.page-hero h1{font-size:clamp(40px,4.4vw,58px);line-height:1.04;max-width:820px}
.page-hero .lead{margin-top:16px;max-width:720px}
.page-hero .hero-ctas{margin-top:28px}

.section-head.left{text-align:left;margin-left:0}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.info{display:flex;flex-direction:column;padding:28px 30px 24px}
.info h3{font-size:25px;color:var(--deep);margin-bottom:10px}
.info p{color:var(--muted)}
.info p+p{margin-top:10px}
.info .more{margin-top:auto;padding-top:10px}
.info .head{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.info .head h3{margin:0}
.info.sm{padding:22px 24px}
.info.sm h3{font-size:21px;margin-bottom:6px}
.info.sm p{font-size:15.5px;line-height:1.55}
.info .for{font-style:italic;color:var(--muted);margin-bottom:16px}
.info .checks{margin-top:4px}
.info.center{align-items:center;text-align:center}
.serve-card .checks{margin:4px 0 6px}
.serve-card .checks li{font-size:15.5px;color:var(--muted)}

.notice{display:flex;gap:18px;align-items:flex-start;max-width:900px;margin:0 auto;padding:26px 30px;border-radius:var(--radius);background:var(--tint2);border:1px solid #CBE6F6}
.notice>.ico{flex-shrink:0;width:26px;height:26px;color:var(--navy);margin-top:2px}
.notice p{color:var(--ink)}
.notice p+p{margin-top:8px}

/* Locations ("Where to Be Seen"): cards stay centered whether there are 1, 2, or 3 */
.loc-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px}
.loc-card{flex:0 1 380px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 28px 26px;height:auto}
.loc-card .loc-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--tint2);color:var(--navy);margin-bottom:14px}
.loc-card .loc-icon .ico{width:24px;height:24px}
.loc-card h3{font-size:27px;color:var(--deep)}
.loc-city{font-weight:600;color:var(--navy);margin-top:4px}
.loc-service{color:var(--muted);margin-bottom:18px}
.loc-card .btn{margin-top:auto}
.loc-phone{margin-top:14px;color:var(--muted);font-size:15.5px}
.loc-phone a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:var(--navy)}
.loc-note{text-align:center;color:var(--muted);margin-top:24px}

/* Prose (privacy) */
.prose{max-width:780px}
.prose h2{font-size:28px;color:var(--deep);margin:36px 0 10px}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--muted)}
.prose a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* Inline text links in body copy */
.txt a,.info p a,.notice a,.loc-note a,.form-note a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* About: founder bio */
.bio-grid{display:grid;grid-template-columns:380px 1fr;gap:64px;align-items:start}
.bio-photo{margin:0;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/5}
.bio-photo img{width:100%;height:100%;object-fit:cover}
.bio-name{font-size:clamp(38px,3.6vw,48px);color:var(--deep)}
.bio-role{font-weight:600;color:var(--blue);letter-spacing:.08em;text-transform:uppercase;font-size:14px;margin:6px 0 22px}
.bio-copy p{color:var(--muted);font-size:18px;margin-bottom:14px}

/* Forms (contact, careers) */
.form-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:40px;align-items:start}
.form-aside h2{font-size:32px;color:var(--deep);margin-bottom:12px}
.form-aside p{color:var(--muted);margin-bottom:14px}
.form-aside .btn{margin-top:6px}
.form-aside .phone-big{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:600;font-size:19px;color:var(--navy)}
.form-aside .phone-big .ico{width:20px;height:20px;color:var(--sky)}
.form-card{padding:34px 36px 30px}
.form-card h2{font-size:32px;color:var(--deep);margin-bottom:10px}
.form-note{font-size:14.5px;color:var(--muted);margin:6px 0 16px}

/* Who it's for row (consulting) */
.who-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:28px;padding:0}
.who-row .who{display:flex;gap:14px;align-items:flex-start;padding:26px 28px}
.who-row .who+.who{border-left:1px solid var(--line)}
.who-row .who .ico{flex-shrink:0;width:24px;height:24px;color:var(--sky);margin-top:2px}
.who-row .who p{color:var(--ink)}
.who-head{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:25px;color:var(--deep);text-align:center;margin-top:44px}
.steps-note{max-width:760px;margin:30px auto 0;text-align:center;color:rgba(255,255,255,.85);font-size:15.5px}

@media (max-width:1100px){
  .grid-4{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:980px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-3.cards{grid-template-columns:1fr 1fr}
  .bio-grid{grid-template-columns:300px 1fr;gap:40px}
  .form-grid{grid-template-columns:1fr;gap:28px}
  .who-row{grid-template-columns:1fr}
  .who-row .who+.who{border-left:0;border-top:1px solid var(--line)}
}
@media (max-width:700px){
  .grid-3.cards{grid-template-columns:1fr}
  .bio-grid{grid-template-columns:1fr;gap:28px}
  .bio-photo{max-width:320px}
}
@media (max-width:640px){
  .page-hero .wrap{padding-top:30px;padding-bottom:34px}
  .page-hero h1{font-size:36px}
  .page-hero .lead{margin-top:12px}
  .page-hero .hero-ctas{margin-top:20px}
  .grid-4{grid-template-columns:1fr;gap:12px}
  .info{padding:20px 20px 16px}
  .info h3{font-size:22px;margin-bottom:6px}
  .info p{font-size:15px;line-height:1.55}
  .info.sm{padding:16px 18px}
  .info.sm h3{font-size:19px;margin-bottom:4px}
  .info.sm p{font-size:14.5px}
  .info .head{gap:10px;margin-bottom:8px}
  .info .for{margin-bottom:12px;font-size:15px}
  .serve-card .checks{grid-column:1/-1;margin:10px 0 2px}
  .notice{padding:20px;gap:12px}
  .notice p{font-size:15px}
  .loc-card{padding:24px 20px 20px}
  .loc-card h3{font-size:24px}
  .prose h2{font-size:23px;margin-top:28px}
  .prose p{font-size:15.5px}
  .bio-name{font-size:34px}
  .bio-role{margin-bottom:14px}
  .bio-copy p{font-size:16px}
  .bio-photo{max-width:none;aspect-ratio:1/1}
  .bio-photo img{object-position:center 20%}
  .form-card{padding:22px 20px 20px}
  .form-card h2,.form-aside h2{font-size:26px}
  .who-row .who{padding:16px 18px}
  .who-head{font-size:22px;margin-top:30px}
  .steps-note{margin-top:18px;text-align:left;font-size:14.5px}
}
/* Trios and 15-card walls keep 3 columns on tablets so no row is left with one card */
@media (max-width:980px){.grid-3.trio{grid-template-columns:repeat(3,1fr);gap:18px}}
@media (max-width:700px){.grid-3.trio{grid-template-columns:1fr;gap:14px}}
.grid-3.trio{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){
  .grid-3.trio{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid-3.trio .info{padding:22px 20px 18px}
  .grid-3.trio .info h3{font-size:21px}
  .grid-3.trio .info p{font-size:15.5px;line-height:1.55}
  .grid-3.trio.stack-tab{grid-template-columns:1fr}
}
@media (max-width:700px){.grid-3.trio{grid-template-columns:1fr}}
.foot-brand .logo{min-height:44px}
.nowrap{white-space:nowrap}
/* Review pass */
.grid-3 .info .head{flex-direction:column;align-items:flex-start;gap:14px}
.grid-1{display:grid;gap:18px;max-width:880px;margin:0 auto}
.steps-band+.cta-band{border-top:1px solid rgba(255,255,255,.14)}
.page-privacy-policy main .wrap{max-width:860px}
.page-privacy-policy .notice,.page-privacy-policy .prose{margin-left:auto;margin-right:auto}
/* Notice of Privacy Practices */
.page-notice-of-privacy-practices main .wrap{max-width:860px}
.page-notice-of-privacy-practices .notice,.page-notice-of-privacy-practices .prose{margin-left:auto;margin-right:auto}
.npp p+p{margin-top:12px}
.npp h3{font-size:21px;color:var(--deep);margin:22px 0 6px}
.npp ul{margin:10px 0 0;padding-left:22px;color:var(--muted)}
.npp li{margin-top:8px}
.npp li strong{color:var(--ink)}
.npp .npp-header{padding:18px 22px;border:2px solid var(--deep);border-radius:var(--radius);color:var(--deep);font-size:18px;line-height:1.5}
.npp .npp-header strong{font-weight:700}
.npp .npp-date{margin-top:14px;font-weight:600;color:var(--ink)}
.npp .npp-contact{color:var(--ink)}
@media (max-width:640px){.npp h3{font-size:19px}.npp .npp-header{font-size:16px;padding:14px 16px}.npp li{font-size:15.5px}}
#good-to-know.section{padding:72px 0}
@media (max-width:640px){
  .grid-3 .info .head{flex-direction:row;align-items:center;gap:10px}
  .grid-1{gap:12px}
  #good-to-know.section{padding:40px 0}
}
/* Need a pain clinic? box (pain-management #refer) */
.clinic-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:32px;align-items:center;padding:32px;margin-bottom:24px;background:var(--tint);border:1px solid var(--line);box-shadow:none}
.clinic-copy .svc-icon{margin-bottom:14px}
.clinic-copy h3{font-size:30px;color:var(--deep);margin-bottom:8px}
.clinic-copy p{color:var(--muted);font-size:17px;max-width:44ch}
.clinic-box .loc-grid{justify-content:stretch}
.clinic-box .loc-card{flex:1 1 100%}
@media (max-width:860px){.clinic-box{grid-template-columns:1fr;gap:20px;padding:24px}.clinic-copy{text-align:center}.clinic-copy p{margin:0 auto}.clinic-copy .svc-icon{margin:0 auto 12px}}
@media (max-width:640px){.clinic-box{padding:20px 16px}.clinic-copy h3{font-size:25px}.clinic-copy p{font-size:15.5px}}

/* Careers hero photo (GSAP Marketing photo treatment spec 24, sec. 2.2/2.9): the hallway photo fades in on the right;
   the headline stays on the solid gradient. The width cap keeps the photo out from under the text at 990-1100px.
   Tablet and phone: the photo is a band below the text. */
.page-hero.has-photo{min-height:440px}
.page-hero.has-photo .wrap{padding-top:72px;padding-bottom:72px}
.page-hero.has-photo h1,.page-hero.has-photo .lead{max-width:540px}
.page-hero-media{position:absolute;top:0;right:0;bottom:0;width:min(52%,calc(100% - 620px));z-index:0;margin:0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.65) 14%,#000 30%);
          mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.65) 14%,#000 30%)}
.page-hero-media picture{display:block;height:100%}
.page-hero-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.page-hero-media::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(14,36,99,.50) 0%,rgba(27,58,154,.16) 32%,rgba(30,111,192,0) 60%),
             linear-gradient(0deg,rgba(14,36,99,.28) 0%,rgba(14,36,99,0) 30%)}
@media (max-width:980px){
  .page-hero.has-photo{min-height:0;display:flex;flex-direction:column}
  .page-hero.has-photo .page-hero-media{order:2}
  .page-hero.has-photo .wrap{width:100%;padding-bottom:28px}
  .page-hero-media{position:relative;width:auto;height:260px;
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 30%);mask-image:linear-gradient(180deg,transparent 0,#000 30%)}
  .page-hero-media img{object-position:50% 12%}
  .page-hero-media::after{background:linear-gradient(180deg,rgba(14,36,99,.35) 0%,rgba(14,36,99,0) 45%)}
}
@media (max-width:640px){
  .page-hero.has-photo .wrap{padding-top:30px;padding-bottom:22px}
  .page-hero-media{height:210px}
  .page-hero-media img{object-position:50% 14%}
}

/* ---- WordPress-only additions (not in the static site-v2 sheet) ---- */
/* Form result messages shown after a contact or careers submission (same colors as the current theme). */
/* Keep the sticky header below the WordPress admin bar for signed-in users only. */
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
@media (max-width:600px){.admin-bar .site-header{top:0}}

/* Contact: PHI / emergency notices */
.form-alert{margin:0 0 20px;padding:14px 16px;border-radius:12px;background:var(--tint2);border:1px solid #CBE6F6;border-left:4px solid var(--navy)}
.form-alert p{font-size:14.5px;line-height:1.55;color:var(--ink)}
.form-alert a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.form-legal{max-width:none;margin-top:48px}
.form-legal h2{font-size:22px;color:var(--deep);margin-bottom:10px}
.form-legal p{font-size:15.5px}
.form-legal p+p{margin-top:10px}
@media (max-width:700px){.form-legal{margin-top:32px}.form-legal h2{font-size:20px}.form-legal p{font-size:15px}.form-alert{padding:12px 14px}}

/* Embedded Microsoft Forms (Contact + Careers). Submissions go straight to Microsoft, never through this server. */
.msform-embed{margin:4px 0 12px;border-radius:12px;overflow:hidden;background:#fff}
.msform-embed iframe{display:block;width:100%;max-width:100%;border:0;height:var(--msform-h,1600px)}
.msform-fallback{margin-top:0}
/* Heights measured with Playwright (whole form incl. Microsoft's footer, plus room for "required" error messages). */
.msform-contact{--msform-h:1440px}
.msform-careers{--msform-h:1610px}
@media (max-width:700px){.msform-contact{--msform-h:1570px}.msform-careers{--msform-h:1720px}}
/* Microsoft Forms swaps the form for a "Fill out the form" button when the frame is under 320px wide, so on phones the
   embed uses the card's side padding (and, on very small phones, a slightly smaller page gutter) to stay at 320px+. */
@media (max-width:700px){.msform-embed{margin-left:-20px;margin-right:-20px;border-radius:0}}
@media (max-width:380px){#contact .form-grid,#careers .form-grid{padding-left:12px;padding-right:12px}}

/* Who we serve: 4-card grid incl. Dental Practices (approved Oct 25, 2026) */
.serve-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.serve-grid .card-body{padding:22px 22px 20px}
.serve-grid .card-body h3{font-size:27px;gap:10px}
.serve-grid .card-body h3 .ico{width:24px;height:24px}
.serve-grid .kicker{white-space:normal;font-size:12.5px;letter-spacing:.07em}
.serve-grid .card-body p:not(.kicker){font-size:16px;line-height:1.6}
.serve-grid .checks li{font-size:15px}
@media (max-width:1100px){.serve-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .serve-grid .card-body{padding:26px 30px 22px}.serve-grid .card-body h3{font-size:30px}}
@media (max-width:700px){.serve-grid{grid-template-columns:1fr;gap:20px}}
@media (max-width:640px){.serve-grid{gap:14px}.serve-grid .card-body{padding:0}}
@media (min-width:1101px){.serve-grid .more{font-size:14px;gap:6px}.serve-grid .more .ico{width:15px;height:15px}}
