/* State Medicaid Initiative page (v3.9.0). Loaded only on /state-medicaid-initiative/. */
.msc-smi{--smi-serif:Newsreader,Georgia,'Times New Roman',serif;--smi-pad:clamp(16px,4vw,48px);font-family:'Public Sans',Arial,Helvetica,sans-serif;font-size:18px;line-height:1.6;color:#173a43;background:#fffefa}
.msc-smi h1,.msc-smi h2,.msc-smi h3,.msc-smi p{margin:0}
.msc-smi :focus-visible{outline:3px solid #d7a34b;outline-offset:3px}
.msc-smi-wrap{max-width:1320px;margin:0 auto;padding-left:var(--smi-pad);padding-right:var(--smi-pad)}
.msc-smi-h2{font-family:var(--smi-serif);font-weight:300;font-size:clamp(2.2rem,4.6vw,3.9rem);line-height:1.06;letter-spacing:-.015em}
.msc-smi-accent{font-style:italic;color:#16705f}
.msc-smi-btn{display:inline-flex;align-items:center;gap:14px;min-height:52px;padding:0 26px;border-radius:4px;font-size:16px;font-weight:700;transition:transform .2s ease}
.msc-smi-btn:hover{transform:translateY(-2px)}

/* Hero */
.msc-smi-hero{position:relative;overflow:hidden;background:#173a43;color:#eef5ef}
.msc-smi-sun{position:absolute;top:50%;right:-210px;width:1080px;height:auto;transform:translateY(-50%)}
.msc-smi-hero-inner{position:relative;padding-top:clamp(72px,11vw,148px);padding-bottom:clamp(80px,11vw,156px)}
.msc-smi-hero-copy{max-width:690px}
.msc-smi-kicker{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:600;letter-spacing:.2em;color:#d7a34b}
.msc-smi-kicker:before{content:"";flex:none;width:44px;height:2px;background:#d7a34b}
.msc-smi-hero h1{font-family:var(--smi-serif);font-weight:300;font-size:clamp(3.3rem,8.2vw,7.4rem);line-height:.98;letter-spacing:-.022em;margin-top:28px;color:#fffefa}
.msc-smi-hero h1 em{font-style:italic;color:#d7a34b}
.msc-smi-hero-sub{font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.45;margin-top:30px!important;max-width:600px}
.msc-smi-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px}
.msc-smi-btn--gold{background:#d7a34b;color:#102e27}
.msc-smi-btn--ghost{border:1px solid #9eb5aa;color:#fffefa;font-weight:600}
@keyframes msc-smi-draw{to{stroke-dashoffset:0}}
@keyframes msc-smi-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes msc-smi-pulse{0%{transform:translateX(560px);opacity:0}12%{opacity:1}88%{opacity:1}100%{transform:translateX(70px);opacity:0}}
@keyframes msc-smi-hub{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}
.msc-smi-ray{animation:msc-smi-draw 1.5s cubic-bezier(.2,.7,.2,1) forwards}
.msc-smi-pulse{animation:msc-smi-pulse 6s linear infinite;opacity:0}
.msc-smi-hub{transform-origin:600px 600px;animation:msc-smi-hub .9s cubic-bezier(.2,.7,.2,1) both}
.msc-smi-rise{animation:msc-smi-rise .9s cubic-bezier(.2,.7,.2,1) both}
.msc-smi-rise--2{animation-delay:.12s}
.msc-smi-rise--3{animation-delay:.24s}
.msc-smi-rise--4{animation-delay:.36s}

/* Model intro */
.msc-smi-intro{padding-top:clamp(72px,10vw,136px);padding-bottom:clamp(72px,10vw,136px)}
.msc-smi-label{font-size:13px;font-weight:700;letter-spacing:.18em;color:#567267}
.msc-smi-intro h2{font-family:var(--smi-serif);font-weight:300;font-size:clamp(2.5rem,6vw,5.2rem);line-height:1.03;letter-spacing:-.018em;margin-top:22px;max-width:1040px}
.msc-smi-intro h2 .msc-smi-accent{display:block}
.msc-smi-intro-cols{display:flex;flex-wrap:wrap;gap:32px 64px;margin-top:clamp(40px,5vw,64px)}
.msc-smi-intro-cols p{flex:1 1 340px;font-size:19px;line-height:1.65}
.msc-smi-intro-cols p+p{color:#5b7479}

/* Full-width photo */
.msc-smi-band{display:block;width:100%;height:clamp(300px,56vw,860px);object-fit:cover;object-position:center 20%}

/* Structure */
.msc-smi-structure{background:#e8f3f0;scroll-margin-top:110px}
.msc-smi-structure-inner{padding-top:clamp(72px,9vw,120px);padding-bottom:clamp(72px,9vw,120px)}
.msc-smi-hint{margin-top:14px!important}
.msc-smi-structure-grid{display:flex;flex-wrap:wrap;align-items:center;gap:40px clamp(32px,5vw,72px);margin-top:clamp(32px,4vw,52px)}
.msc-smi-ring{position:relative;flex:1 1 480px;max-width:620px;aspect-ratio:1/1;min-width:0}
.msc-smi-ring svg{position:absolute;inset:0;width:100%;height:100%}
.msc-smi-link-ray{stroke:#9eb5aa;stroke-width:2;transition:stroke .2s ease,stroke-width .2s ease}
.msc-smi-link-ray.is-on{stroke:#16705f;stroke-width:4}
.msc-smi-node{position:absolute;transform:translate(-50%,-50%);width:152px;min-height:58px;padding:8px 12px;border-radius:14px;border:1px solid #9eb5aa;background:#fffefa;color:#173a43;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;line-height:1.25;transition:box-shadow .2s ease}
.msc-smi-node:hover{box-shadow:0 0 0 3px #d7a34b}
.msc-smi-node[aria-pressed="true"]{background:#173a43;border-color:#173a43;color:#fffefa}
.msc-smi-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:27%;height:27%;min-width:128px;min-height:128px;border-radius:50%;border:0;box-shadow:0 0 0 1px #173a43;background:#173a43;color:#fffefa;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-family:inherit;padding:8px}
.msc-smi-center:hover,.msc-smi-center[aria-pressed="true"]{box-shadow:0 0 0 5px #d7a34b}
.msc-smi-center b{font-family:var(--smi-serif);font-weight:400;font-size:18px;line-height:1.1}
.msc-smi-center small{font-size:12px;font-weight:700;letter-spacing:.12em;color:#d7a34b}
.msc-smi-panel{flex:1 1 360px;min-width:0;background:#fffefa;border-radius:10px;padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;min-height:400px}
.msc-smi-role+.msc-smi-role{margin-top:28px}
.msc-smi-role[hidden]{display:none}
.msc-smi-role h3{font-family:var(--smi-serif);font-weight:400;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.12;letter-spacing:-.01em}
.msc-smi-role-line{display:block}
.msc-smi-role p{margin-top:20px;font-size:18px;line-height:1.65}
.msc-smi-pager{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:28px}
.msc-smi-pager[hidden]{display:none}
.msc-smi-pager button{min-height:44px;padding:0 18px;border-radius:4px;font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s ease}
.msc-smi-pager button:hover{transform:translateY(-2px)}
.msc-smi-prev{background:none;border:1px solid #9eb5aa;color:#173a43}
.msc-smi-next{background:#16705f;border:0;color:#fff}

/* Services */
.msc-smi-services{padding-top:clamp(72px,9vw,120px);padding-bottom:clamp(72px,9vw,120px)}
.msc-smi-tiles{display:flex;flex-direction:column;gap:18px;margin-top:clamp(32px,4vw,52px)}
.msc-smi-tile-row{display:flex;flex-wrap:wrap;gap:18px}
.msc-smi-tile{display:flex;flex-direction:column;min-width:0;border-radius:10px;overflow:hidden}
.msc-smi-tile--wide{flex:7 1 440px}
.msc-smi-tile--narrow{flex:5 1 320px}
.msc-smi-photo{display:block;width:100%;height:clamp(260px,30vw,430px);object-fit:cover}
.msc-smi-tile--monitor .msc-smi-photo{object-position:center 12%}
.msc-smi-tile--cgm .msc-smi-photo{object-position:70% center}
.msc-smi-tile--facility .msc-smi-photo{object-position:45% center}
.msc-smi-tile--prevention .msc-smi-photo{object-position:center top}
.msc-smi-tile-copy{flex:1;padding:clamp(24px,3vw,38px)}
.msc-smi-tile h3{font-family:var(--smi-serif);font-weight:400;font-size:clamp(1.7rem,2.6vw,2.3rem);line-height:1.12}
.msc-smi-tile p{margin-top:14px}
.msc-smi-tile--monitor{background:#16705f;color:#fff}
.msc-smi-tile--cgm{background:#f7f4e9}
.msc-smi-tile--facility{background:#e8f3f0}
.msc-smi-tile--prevention{background:#173a43;color:#eef5ef}
.msc-smi-tile--prevention h3{color:#fffefa}

/* Implementation */
.msc-smi-steps{background:#173a43;color:#eef5ef}
.msc-smi-steps-inner{display:flex;flex-wrap:wrap;gap:40px clamp(40px,7vw,104px);padding-top:clamp(72px,9vw,128px);padding-bottom:clamp(72px,9vw,128px)}
.msc-smi-steps-head{flex:1 1 300px;align-self:flex-start;position:sticky;top:120px}
.msc-smi-steps-head h2{color:#fffefa}
.msc-smi-steps ol{flex:2 1 520px;min-width:0;list-style:none;margin:0;padding:0}
.msc-smi-steps li{display:flex;gap:clamp(18px,3vw,36px);padding:26px 0;border-top:1px solid #5b7479}
.msc-smi-steps li:last-child{padding-bottom:0}
.msc-smi-num{flex:none;width:62px;font-family:var(--smi-serif);font-style:italic;font-weight:300;font-size:58px;line-height:1;color:#d7a34b}
.msc-smi-steps h3{font-size:21px;font-weight:600;line-height:1.3;color:#fffefa}
.msc-smi-steps li p{margin-top:8px}

/* Payment */
.msc-smi-payment{padding-top:clamp(72px,9vw,120px);padding-bottom:clamp(40px,5vw,64px)}
.msc-smi-payment .msc-smi-h2,.msc-smi-expect .msc-smi-h2{max-width:880px}
.msc-smi-lead{margin-top:16px!important;font-size:19px;color:#5b7479}
.msc-smi-flow{margin-top:28px;border-bottom:1px solid #9eb5aa}
.msc-smi-flow-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;padding:26px 0;border-top:1px solid #9eb5aa}
.msc-smi-flow-row h3{flex:1 1 320px;font-family:var(--smi-serif);font-weight:400;font-size:clamp(1.45rem,2.2vw,1.9rem);line-height:1.2}
.msc-smi-flow-row svg{flex:none}
.msc-smi-flow-row p{flex:1 1 320px}
.msc-smi-flow-note{margin-top:24px!important;max-width:800px}

/* Expectations */
.msc-smi-expect{padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(72px,9vw,120px)}
.msc-smi-cards{display:flex;flex-wrap:wrap;gap:18px;margin-top:clamp(32px,4vw,48px)}
.msc-smi-card{flex:1 1 280px;background:#e9f0ec;border-radius:10px;padding:30px}
.msc-smi-card h3{font-size:19px;font-weight:700}
.msc-smi-card p{margin-top:10px}
.msc-smi-goals{font-family:var(--smi-serif);font-weight:300;font-size:clamp(1.7rem,3.2vw,2.7rem);line-height:1.2;letter-spacing:-.01em;margin-top:clamp(44px,6vw,72px)!important;max-width:1020px}

/* Call to action */
.msc-smi-cta{position:relative;background:#d7a34b;color:#102e27;overflow:hidden;scroll-margin-top:110px}
.msc-smi-cta-sun{position:absolute;right:-60px;bottom:0;width:min(760px,110%);height:auto;opacity:.9}
.msc-smi-cta-inner{position:relative;padding-top:clamp(72px,9vw,124px);padding-bottom:clamp(72px,9vw,124px)}
.msc-smi-cta h2{font-family:var(--smi-serif);font-weight:300;font-size:clamp(2.5rem,6vw,5.2rem);line-height:1.02;letter-spacing:-.018em;max-width:760px}
.msc-smi-cta p{margin-top:20px;font-size:19px;line-height:1.55;max-width:620px}
.msc-smi-btn--call{min-height:60px;margin-top:32px;padding:0 30px;background:#102e27;color:#fffefa;font-size:19px}

/* Availability statement, flows into the theme footer */
.msc-smi-fine{background:#102e27;color:#b9c9c1;font-size:14px;line-height:1.6;border-bottom:1px solid rgba(255,255,255,.1)}
.msc-smi-fine p{max-width:980px;padding:44px 0}

@media(max-width:1180px){
  .msc-smi-cta-sun{right:50%;width:min(100%,560px);transform:translateX(50%)}
  .msc-smi-cta-inner{padding-bottom:calc(min(50vw,280px) + 32px)}
}
.msc-smi-dots{display:none}
@media(max-width:860px){
  .msc-smi{font-size:17px;line-height:1.55}

  /* Hero: the full sunburst above the headline, as the desktop shows it beside the headline */
  .msc-smi-hero{--sun:min(110vw,760px);--hub:min(34vw,230px)}
  .msc-smi-sun{left:calc(50% - var(--sun)/2);right:auto;top:calc(var(--hub) - var(--sun)/2);width:var(--sun);transform:none;-webkit-mask-image:linear-gradient(#000 58%,transparent 71%);mask-image:linear-gradient(#000 58%,transparent 71%)}
  .msc-smi-hero-inner{padding-top:calc(var(--hub)*1.7);padding-bottom:48px}
  .msc-smi-hero-copy{max-width:none;text-align:center}
  .msc-smi-kicker{font-size:11px;letter-spacing:.14em;justify-content:center;white-space:nowrap}
  .msc-smi-kicker:before{display:none}
  .msc-smi-hero h1{font-size:clamp(3.4rem,17.5vw,7rem);line-height:.96;margin-top:18px}
  .msc-smi-hero-sub{margin-top:20px!important;margin-left:auto;margin-right:auto;font-size:clamp(1.1rem,4.8vw,1.45rem);text-wrap:balance}
  .msc-smi-actions{margin-top:24px;gap:12px;justify-content:center}

  /* Section rhythm */
  .msc-smi-intro{padding-top:48px;padding-bottom:48px}
  .msc-smi-intro h2{font-size:min(8vw,58px);line-height:1.14;letter-spacing:-.012em;margin-top:16px}
  .msc-smi-intro h2:after{content:"";display:block;width:44px;height:2px;background:#d7a34b;margin:22px auto 0}
  .msc-smi-intro-cols{margin-top:22px;gap:20px}
  .msc-smi-intro-cols p{font-size:17px;line-height:1.6}
  .msc-smi-intro-cols p+p{color:#173a43;background:#e8f3f0;border-radius:10px;padding:22px}
  .msc-smi-h2{font-size:clamp(2.2rem,9.6vw,3.6rem)}
  .msc-smi-structure-inner,.msc-smi-services{padding-top:60px;padding-bottom:60px}

  /* Structure: same sunburst diagram, scaled to the screen */
  .msc-smi-structure-grid{margin-top:24px;gap:28px;justify-content:center}
  .msc-smi-ring{flex:0 0 100%;max-width:620px}
  .msc-smi-panel{flex:0 0 100%;min-height:0;padding:28px 24px;scroll-margin-top:104px}
  .msc-smi-role h3{text-align:center;text-wrap:balance}
  .msc-smi-role p{font-size:17px;margin-top:14px;line-height:1.6}

  /* Services: side by side as on desktop, swiped through */
  .msc-smi-tiles{flex-direction:row;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--smi-pad);margin:28px calc(var(--smi-pad)*-1) 0;padding:0 var(--smi-pad);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .msc-smi-tiles::-webkit-scrollbar{display:none}
  .msc-smi-tile-row{display:contents}
  .msc-smi-tile,.msc-smi-tile--wide,.msc-smi-tile--narrow{flex:0 0 min(84%,440px);scroll-snap-align:start}
  .msc-smi-photo{height:min(58vw,300px)}
  .msc-smi-tile-copy{padding:22px}
  .msc-smi-tile h3{font-size:clamp(1.55rem,6.4vw,2rem)}
  .msc-smi-tile p{margin-top:10px;font-size:16.5px}
  .msc-smi-dots{display:flex;justify-content:center;gap:9px;margin-top:20px}
  .msc-smi-dots span{width:9px;height:9px;border-radius:50%;background:#9eb5aa;transition:background .2s ease}
  .msc-smi-dots span.is-on{background:#16705f}

  /* Implementation: number beside the title, text across the full width */
  .msc-smi-steps-inner{padding-top:60px;padding-bottom:60px;gap:28px}
  .msc-smi-steps-head{position:static}
  .msc-smi-steps ol{flex:0 0 100%}
  .msc-smi-steps li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:0 12px;align-items:center;padding:22px 0}
  .msc-smi-steps li>div{display:contents}
  .msc-smi-num{width:auto;font-size:48px}
  .msc-smi-steps h3{font-size:19px}
  .msc-smi-steps li p{grid-column:1/-1;margin-top:10px;font-size:16.5px}

  /* Payment: the arrow leads straight into its answer */
  .msc-smi-payment{padding-top:60px;padding-bottom:32px}
  .msc-smi-lead{font-size:17px}
  .msc-smi-flow{margin-top:20px}
  .msc-smi-flow-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px 12px;align-items:start;padding:20px 0}
  .msc-smi-flow-row h3{grid-column:1/-1;font-size:1.4rem}
  .msc-smi-flow-row svg{width:34px;height:auto;margin-top:9px}
  .msc-smi-flow-note{margin-top:20px!important}

  /* Expectations */
  .msc-smi-expect{padding-top:32px;padding-bottom:60px}
  .msc-smi-cards{margin-top:24px;gap:12px}
  .msc-smi-card{flex:0 0 100%;padding:22px}
  .msc-smi-card h3{font-size:18px}
  .msc-smi-card p{margin-top:6px}
  .msc-smi-goals{margin-top:36px!important;font-size:clamp(1.6rem,6.6vw,2.4rem)}

  /* Call to action */
  .msc-smi-cta h2{font-size:clamp(2.5rem,11vw,4.4rem)}
  .msc-smi-cta p{font-size:17px}
  .msc-smi-cta-inner{padding-top:60px}
  .msc-smi-fine p{padding:32px 0}

  /* Short text centered; paragraphs, steps and role text stay left-aligned for reading */
  .msc-smi-label,.msc-smi-intro h2,.msc-smi-h2,.msc-smi-hint,.msc-smi-lead,.msc-smi-goals,.msc-smi-cta-inner{text-align:center}
  .msc-smi-h2,.msc-smi-goals,.msc-smi-cta h2,.msc-smi-cta p{text-wrap:balance}
  .msc-smi-cta h2,.msc-smi-cta p{margin-left:auto;margin-right:auto}
}
@media(max-width:560px){
  .msc-smi-band{height:72vw;object-position:center}
  .msc-smi-actions .msc-smi-btn,.msc-smi-btn--call{width:100%;justify-content:center}
  .msc-smi-ring{max-width:none}
  .msc-smi-node{width:33%;min-height:48px;padding:5px 6px;border-radius:12px;font-size:clamp(11.5px,3.3vw,13px);line-height:1.2}
  .msc-smi-center{width:30%;height:30%;min-width:0;min-height:0}
  .msc-smi-center{padding:4px}
  .msc-smi-center b{font-size:clamp(10.5px,3.4vw,14px)}
  .msc-smi-center small{font-size:10px;letter-spacing:.08em}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .msc-smi-ray{animation:none;stroke-dashoffset:0!important}
  .msc-smi-pulse{animation:none;display:none}
  .msc-smi-hub,.msc-smi-rise{animation:none}
  .msc-smi-btn,.msc-smi-pager button,.msc-smi-node,.msc-smi-link-ray,.msc-smi-dots span{transition:none}
}
