/* Behind the Premium — page styles. Desktop first; phone rules at the bottom. */
:root{
  --teal:#17504A; --teal-deep:#1E6259; --teal-pale:#E3EFEC; --teal-tint:#9FD4C6;
  --mint:#8FE3C3; --coral:#FF9F85; --rust:#A33A2A;
  --ink:#15201E; --muted:#4E5C59; --faint:#5A6966; --rule:#D7DEDC; --rule-soft:#E6EBE9;
  --page:#F6F5F1; --white:#FFFFFF;
  --display:'Outfit',system-ui,sans-serif; --sans:'Work Sans',system-ui,sans-serif;
  --type-section:40px; --type-step:30px; --type-body:18px; --type-detail:16px;
  --body-leading:1.6; --section-space:64px; --step-space:56px; --heading-gap:16px;
  --shadow-card:0 1px 1px rgba(21,32,30,.04),0 4px 8px rgba(21,32,30,.05),0 16px 32px rgba(21,32,30,.08),0 32px 64px rgba(21,32,30,.06);
  --shadow-chart:0 1px 2px rgba(21,32,30,.03),0 8px 20px rgba(21,32,30,.06);
  --shadow-panel:0 2px 4px rgba(0,0,0,.04),0 6px 16px rgba(0,0,0,.07);
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--page);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--teal)}a:hover{color:var(--ink)}
img{display:block;max-width:100%}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.wrap{max-width:1280px;margin:0 auto;padding-left:72px;padding-right:72px}

/* top nav */
.topnav{position:relative;z-index:50;background:#0F3A35;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--white)}
.topnav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:60px}
.topnav .brand{font:500 20px/1 var(--display);color:var(--white);text-decoration:none}
.topnav .links{display:flex;align-items:center;gap:16px;font:500 14px/1 var(--sans);white-space:nowrap}
.topnav .by{font-weight:600;color:#DCEDE8;margin-right:4px}
.topnav .links a,.topnav .contact-email{display:inline-flex;align-items:center;gap:7px;color:var(--mint);text-decoration:none;padding:6px 0}
.topnav .links a:hover{color:var(--white)}
.topnav .links a:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
.topnav .brand:focus-visible,.sitefoot .brand:focus-visible{outline:2px solid var(--mint);outline-offset:4px;border-radius:2px}
.topnav .links svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.topnav .sep{width:1px;height:16px;background:rgba(255,255,255,.3)}
.contact-email{user-select:text;cursor:text}

/* header */
.site-header{background:linear-gradient(125deg, #1E6259 0%, #17504A 55%, #0F3A35 100%);color:var(--white);padding:56px 0 64px}
.hero{display:flex;flex-direction:column;gap:40px}
.hero h1{margin:0;font:400 88px/1.12 var(--display);letter-spacing:-.015em;color:var(--white)}
.hero h1 br{display:inline}
.hero h1 .very{font-style:normal;color:var(--mint)}
.hero p{margin:0;font:400 24px/1.5 var(--sans);color:#DCEDE8;max-width:none;text-wrap:pretty}

/* the problem: the "health insurance opener" mockup (Oct 15), dropped in as written and scoped to #insurance-vertical; the override below lets it sit in the page grid at full width */
/* All section styles are scoped to #insurance-vertical */

#insurance-vertical {
  background:#F6F5F1;
  color:#15201E;
  color-scheme:light;
  padding:38px 40px;
  font:400 14px/1.5 'Work Sans',sans-serif;
  -webkit-font-smoothing:antialiased
}

#insurance-vertical * {
  box-sizing:border-box
}

#insurance-vertical h2 {
  font:400 29px/1.25 'Outfit',sans-serif;
  letter-spacing:-.02em;
  color:#15201E;
  margin:0 0 30px
}

#insurance-vertical h2 span {
  display:block
}

#insurance-vertical h2 span+span {
  margin-top:5px
}

#insurance-vertical .iv-decision {
  background:#17504A;
  color:white;
  padding:19px 24px;
  border-radius:6px;
  text-align:center
}

#insurance-vertical .iv-label {
  display:block;
  font:500 11px/1.5 'Work Sans',sans-serif;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:#43695F;
  margin-bottom:8px
}

#insurance-vertical .iv-decision .iv-label {
  color:#9FD4C6
}

#insurance-vertical .iv-decision h3 {
  color:#fff;
  font:400 24px/1.2 'Outfit',sans-serif;
  margin:0
}

#insurance-vertical .iv-branches {
  height:36px;
  position:relative;
  margin:0 25%;
  border-top:0
}

#insurance-vertical .iv-branches:before {
  content:'';
  position:absolute;
  left:50%;
  top:0;
  height:19px;
  border-left:1px solid #6B8F84
}

#insurance-vertical .iv-cross {
  position:absolute;
  top:19px;
  left:0;
  right:0;
  height:21px;
  border-top:1px solid #6B8F84;
  border-left:1px solid #6B8F84;
  border-right:1px solid #6B8F84
}

#insurance-vertical .iv-cross:before,#insurance-vertical .iv-cross:after {
  content:'';
  position:absolute;
  bottom:0;
  width:7px;
  height:7px;
  border-bottom:1px solid #6B8F84;
  border-right:1px solid #6B8F84;
  transform:rotate(45deg)
}

#insurance-vertical .iv-cross:before {
  left:-4px
}

#insurance-vertical .iv-cross:after {
  right:-4px
}

#insurance-vertical .iv-comparisons {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px
}

#insurance-vertical .iv-premium,#insurance-vertical .iv-medical {
  padding:18px 22px;
  border-radius:6px;
  background:#E3EFEC;
  border:1px solid #CBDED8
}

#insurance-vertical .iv-medical {
  background:white;
  border-color:#CBDED8;
  border-top:3px solid #17504A;
  padding-top:16px
}

#insurance-vertical .iv-medical .iv-label {
  color:#17504A
}

#insurance-vertical h3 {
  font:400 24px/1.18 'Outfit',sans-serif;
  color:#17504A;
  margin:0
}

#insurance-vertical p {
  font:400 14px/1.55 'Work Sans',sans-serif;
  color:#4E5C59;
  margin:9px 0 0
}

#insurance-vertical .iv-bill-connector {
  height:32px;
  position:relative
}

#insurance-vertical .iv-bill-connector:before {
  content:'';
  position:absolute;
  left:calc(75% + 5px);
  top:0;
  bottom:0;
  border-left:1px solid #17504A
}

#insurance-vertical .iv-bill-connector:after {
  content:'';
  position:absolute;
  left:calc(75% + 2px);
  bottom:1px;
  width:7px;
  height:7px;
  border-bottom:1px solid #17504A;
  border-right:1px solid #17504A;
  transform:rotate(45deg)
}

#insurance-vertical .iv-employees {
  padding:18px 22px;
  background:#E3EFEC;
  border:1px solid #CBDED8;
  border-radius:6px
}


#insurance-vertical .iv-employees p {
  color:#29483F
}

@media(max-width:480px) {
  #insurance-vertical {
  padding:25px 18px
}

#insurance-vertical h2 {
  font-size:27px
}

#insurance-vertical .iv-decision {
  padding:19px 17px
}

#insurance-vertical .iv-decision h3 {
  font-size:23px
}

#insurance-vertical .iv-comparisons {
  gap:12px
}

#insurance-vertical .iv-premium,#insurance-vertical .iv-medical {
  padding:17px 12px
}

#insurance-vertical .iv-medical {
  padding-top:15px
}

#insurance-vertical h3 {
  font-size:21px
}

#insurance-vertical .iv-label {
  font-size:11px;
  letter-spacing:.04em
}

#insurance-vertical p {
  font-size:12px
}

#insurance-vertical .iv-employees {
  padding:19px 17px
}

#insurance-vertical .iv-employees h3 {
  font-size:23px
}

}
#insurance-vertical{padding:48px 0 var(--section-space);background:transparent}
#insurance-vertical h2{font:400 44px/1.15 var(--display);letter-spacing:-.02em;margin:0 0 36px}
#insurance-vertical .iv-flow{max-width:none;margin:0}
#insurance-vertical .iv-premium,#insurance-vertical .iv-medical,#insurance-vertical .iv-employees{text-align:center}
/* decision box narrowed to just outside the two branch arrows; connectors heavier and darker */
#insurance-vertical .iv-decision{margin:0 21%}
/* Each downward stem and tip is one silhouette, sharing an exact centerline. */
#insurance-vertical .iv-branches:before{border-left-width:2px;border-left-color:#17504A;height:17px;margin-left:-1px}
#insurance-vertical .iv-cross{top:17px;height:2px;border:0;background:#17504A;margin:0}
#insurance-vertical .iv-cross:before,#insurance-vertical .iv-cross:after{top:0;bottom:auto;width:12px;height:21px;border:0;background:#17504A;transform:translateX(-50%);clip-path:polygon(5px 0,7px 0,7px 12px,12px 12px,6px 21px,0 12px,5px 12px)}
#insurance-vertical .iv-cross:before{left:0}
#insurance-vertical .iv-cross:after{left:100%;right:auto}
#insurance-vertical .iv-bill-connector:before{left:calc(75% + 5px);bottom:0;width:12px;border:0;background:#17504A;transform:translateX(-50%);clip-path:polygon(5px 0,7px 0,7px calc(100% - 9px),12px calc(100% - 9px),6px 100%,0 calc(100% - 9px),5px calc(100% - 9px))}
#insurance-vertical .iv-bill-connector:after{display:none}
#insurance-vertical .iv-employees{margin-left:calc(50% + 10px)}

.built{padding-top:var(--section-space);padding-bottom:var(--section-space)}
/* Why I built this: heading in a 280px left column, the two sentences stacked on the right, then the diagram; all on the page background */
.why{padding-top:var(--section-space);padding-bottom:0;display:grid;grid-template-columns:280px minmax(0,1fr);gap:48px;align-items:start}
.why h2{margin:0;font:400 var(--type-section)/1.15 var(--display);letter-spacing:-.02em}
.why-text{display:grid;gap:16px}
.why-text p{margin:0;font:400 var(--type-body)/var(--body-leading) var(--sans);color:var(--ink)}
.why-text strong{font-weight:600}
@media (max-width:720px){.why{grid-template-columns:1fr;gap:20px}}
.built h2{margin:0 0 var(--heading-gap);font:400 var(--type-section)/1.15 var(--display);letter-spacing:-.02em}
.built .lede{margin:0 0 26px;max-width:none}
.built .built-copy-panel{margin:0 0 40px;padding:32px 30px;background:var(--teal-pale);border:1px solid #CBDED8;border-radius:6px}
.built .built-copy-panel .built-copy-eyebrow{display:block;margin:0 0 7px;color:var(--teal);font:700 12px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.built .built-copy-panel .lede{margin-bottom:0}
.built .built-copy-panel .built-copy-eyebrow:not(:first-child){margin-top:32px}
@media (max-width:720px){.built .built-copy-panel{padding:32px 18px}}
.alabama-run{margin-top:32px;padding:8px 0 8px 28px;border-left:4px solid var(--teal)}
.startline{margin:0 0 10px;font:500 30px/1.25 var(--display);letter-spacing:-.02em;color:var(--teal)}
.run-description{margin:0 0 24px;font:400 var(--type-body)/var(--body-leading) var(--sans);color:var(--ink)}
@media (max-width:720px){.alabama-run{padding-left:20px}.startline{font-size:26px}}
.numstrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:26px;border-top:1px solid var(--rule)}
@media (max-width:720px){.numstrip{grid-template-columns:1fr}.problem h2,.built h2{font-size:32px}}

/* main chart: bars from a center line */
.chart-section{padding-top:var(--section-space)}
.chart-section h2{margin:0 0 32px;font:400 var(--type-section)/1.15 var(--display);letter-spacing:-.02em;text-align:center}
.nowrap{white-space:nowrap}
.hbars{--who:240px;--rowh:80px;--barh:32px;--valsz:32px;padding:36px 48px 32px;background:var(--white);border:1px solid var(--rule);border-radius:6px;box-shadow:var(--shadow-chart)}
.hrow+.hrow{border-top:1px solid var(--rule-soft)}
.hhead{position:relative;height:16px;margin-bottom:24px}
.hhead>span{font:700 13px/1 var(--sans);letter-spacing:.1em}
.hhead .less{position:absolute;left:var(--who);color:var(--teal)}
.hhead .more{position:absolute;right:0;color:var(--rust)}
.hhead .mid{position:absolute;left:calc(var(--who) + (100% - var(--who))/2);transform:translateX(-50%);font:600 13px/1 var(--sans);letter-spacing:0;color:var(--muted)}
.hbody{position:relative}
.hbody .axis{position:absolute;top:-16px;bottom:-12px;left:calc(var(--who) + (100% - var(--who))/2);border-left:2px solid var(--ink);z-index:2}
.hrow{display:grid;grid-template-columns:var(--who) minmax(0,1fr);align-items:center;height:var(--rowh);position:relative;z-index:1}
.hrow .who img{width:auto;max-width:190px;object-fit:contain}
.hrow .track{position:relative;height:var(--barh)}
.hrow .bar{position:absolute;top:0;height:var(--barh)}
.hrow.less .bar{background:var(--teal);border-radius:4px 0 0 4px}
.hrow.more .bar{background:var(--rust);border-radius:0 4px 4px 0}
.hrow .val{position:absolute;top:50%;transform:translateY(-50%);font:700 var(--valsz)/1 var(--sans);letter-spacing:-.03em;white-space:nowrap}
.hrow.less .val{color:var(--teal)}.hrow.more .val{color:var(--rust)}
.insurer-mobile-summary,.panel-instruction-mobile{display:none}

/* tabs + panel with the map */
.panel-section{padding-top:64px;padding-bottom:88px}
.panel-instruction{margin:0 0 20px;font:500 18px/1.5 var(--sans);color:var(--teal)}
.tabs{display:flex;gap:8px;flex-wrap:wrap}
.tab{background:var(--white);color:var(--teal);border:2px solid var(--teal);border-bottom:none;border-radius:6px 6px 0 0;padding:0 24px;height:52px;font:600 14px/1 var(--sans);cursor:pointer;white-space:nowrap;transition:background-color 180ms ease,color 180ms ease}
.tab[aria-selected="true"]{background:var(--teal);color:var(--white)}
.tab:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.map .hospital-mark{transition:opacity 180ms ease}
.map .price-dot,.map .price-value{transition:fill 180ms ease}
.map .is-updating .price-value{animation:price-refresh 180ms ease-out}
@keyframes price-refresh{from{opacity:.45}to{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .tab,.map .hospital-mark,.map .price-dot,.map .price-value{transition:none}
  .map .is-updating .price-value{animation:none}
}
.panel{background:var(--teal);border-radius:0 6px 6px 6px;box-shadow:var(--shadow-panel);display:grid;grid-template-columns:minmax(0,1fr) 760px;overflow:hidden;min-height:900px}
.panel .facts{padding:72px 24px 64px 64px;display:flex;flex-direction:column;justify-content:center;color:var(--white)}
.panel .logo{width:320px;height:64px;object-fit:contain;object-position:left;filter:brightness(0) invert(1)}
.panel .divider{width:320px;height:1px;background:rgba(255,255,255,.3);margin:36px 0 28px}
.panel .state{font:500 13px/1 var(--sans);letter-spacing:.14em;color:var(--teal-tint)}
.panel .big{margin-top:0;font:700 100px/.95 var(--sans);letter-spacing:-.03em}
.panel .big.less{color:var(--mint)}.panel .big.more{color:var(--coral)}
.panel .vs{margin-top:18px;font:400 24px/1.4 var(--sans);max-width:340px}
.panel .summary{margin:40px 0 0;font:400 17px/1.55 var(--sans);color:#DCEDE8;max-width:38ch;text-wrap:pretty}
.panel .analysis{margin:32px 0 0;padding-left:20px;font:400 17px/1.6 var(--sans);color:#DCEDE8;max-width:38ch;text-wrap:pretty}
.panel .analysis[hidden]{display:none}
.panel .analysis li+li{margin-top:18px}
.panel .map{width:760px;height:840px;align-self:center;justify-self:end}
.panel .map svg{display:block;width:100%;height:100%}
.panel .map text{font-family:var(--sans)}
.panel .analysis strong{font-weight:600;color:var(--white)}
@media (min-width:721px){
  .panel.has-analysis .logo[data-insurer="cigna"]{height:68px!important}
  .panel.has-analysis .logo[data-insurer="uhc"]{height:52px!important}
}
@media (min-width:1200px){
  .panel.has-analysis{grid-template-columns:550px minmax(0,1fr);min-height:820px}
  .panel.has-analysis .facts{padding:56px 22px 56px 48px}
  .panel.has-analysis .logo{order:0;width:214px;height:43px!important;margin-bottom:28px}
  .panel.has-analysis .big{order:1}
  .panel.has-analysis .vs{order:2;max-width:none;margin-top:6px}
  .panel.has-analysis .divider{order:3;width:100%;margin:28px 0}
  .panel.has-analysis .analysis{order:4;max-width:none;margin:0;list-style:disc;font-size:18px}
  .panel.has-analysis .map{width:660px;max-width:none;height:auto;aspect-ratio:760/840}
  .panel.has-analysis .map text tspan:first-child{font-size:15px}
}

.business-meaning{padding:var(--section-space) 0;background:var(--page);border-top:1px solid var(--rule)}
.business-meaning h2{margin:0 0 var(--heading-gap);font:400 var(--type-section)/1.15 var(--display);letter-spacing:-.02em}
.business-meaning-copy{width:100%;padding:32px 30px;background:var(--teal-pale);border:1px solid #CBDED8;border-radius:6px}
.business-meaning-copy p{margin:0;font:400 var(--type-body)/var(--body-leading) var(--sans)}
.business-meaning-copy p+p{margin-top:20px}
@media (max-width:720px){.business-meaning-copy{padding:32px 18px}}

/* bands and cards */
.band{border-top:1px solid var(--rule)}
.band.white{background:var(--white);border-bottom:1px solid var(--rule)}
.card{background:var(--white);border-radius:6px;box-shadow:var(--shadow-card)}
.section{padding-top:88px;padding-bottom:96px}
.section h2{margin:0 0 10px;font:400 44px/1.15 var(--display);letter-spacing:-.02em}
.lede{margin:0 0 32px;font:400 var(--type-body)/var(--body-leading) var(--sans);max-width:60ch}

/* how I built it: five step bands on one system.
   scale: type 12/14/16/18/24/32/48/64, space 8/16/24/32/48/56; bars 20px, rounded data-end; color only where it means less or more */
.method{padding-top:var(--section-space);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--white)}
.method h2{margin:0;font:400 var(--type-section)/1.15 var(--display);letter-spacing:-.02em}
.step{border-top:1px solid var(--rule);background:var(--white)}
.method>.wrap+.step{border-top:0}
.method>.wrap+.step .wrap{padding-top:44px}
.step.alt{background:var(--white)}
.step .wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding-top:var(--step-space);padding-bottom:var(--step-space)}
.rail h3{margin:0 0 var(--heading-gap);font:400 var(--type-step)/1.2 var(--display);letter-spacing:-.01em;color:var(--ink)}
.rail p{margin:0;font:400 var(--type-detail)/var(--body-leading) var(--sans);max-width:90ch;text-wrap:pretty}
.rail p+p{margin-top:16px}
.rail p.step-source{font-size:13px;font-weight:400;font-style:normal;line-height:1.5;color:var(--muted);text-wrap:wrap}
.step-source a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.step-source .source-url{display:block}
.fig{display:flex;flex-direction:column;min-width:0;width:100%}
/* Wider text rails for the reviewed methodology steps. */
@media (min-width:1200px){
  #step-data-capture .wrap,
  #step-data-cleaning .wrap,
  #step-price-comparison .wrap,
  #step-utilization-weighting .wrap,
   #step-hospital-weighting .wrap{grid-template-columns:340px minmax(0,1fr);gap:56px}
  #step-data-capture .rail p,
  #step-data-cleaning .rail p,
  #step-price-comparison .rail p,
  #step-utilization-weighting .rail p,
   #step-hospital-weighting .rail p{max-width:none}
  #step-data-cleaning .dcl-field{min-height:160px;padding:24px}
  #step-data-cleaning .dcl-top{font-size:24px;gap:26px 32px}
  #step-data-cleaning .dcl-tex{padding-left:24px;padding-right:24px}
  #step-data-cleaning .dcl-bottom{gap:24px;padding:18px 24px}
  #step-data-cleaning .dcl-big{font-size:40px}
  #step-data-cleaning .dcl-row{padding-top:3px;padding-bottom:3px}
  #step-price-comparison .gx-stage{height:420px}
  #step-price-comparison .gx-card-head{padding:14px 20px}
  #step-price-comparison .gx-fields{gap:16px}
  #step-price-comparison .gx-fvalue:not(.gx-fcode){font-size:18px}
  #step-price-comparison .gx-row:not(.gx-rhead){padding-top:7px;padding-bottom:7px}
  #step-utilization-weighting .ub-chart{height:280px}
  #step-hospital-weighting .ht-chart{height:400px}
  #step-hospital-weighting .ht-head{padding:18px 20px 14px}
  #step-hospital-weighting .ht-head h4{font-size:19px;max-width:52ch}
  #step-hospital-weighting .ht-large .ht-name{font-size:18px}
  #step-hospital-weighting .ht-large .ht-value{font-size:28px;margin-top:12px}
}
.num .n{font:400 48px/1 var(--display);letter-spacing:-.03em;color:var(--ink)}
.num .l{margin-top:8px;font:500 16px/1.3 var(--sans);color:var(--muted)}
.sec .n{font:400 32px/1 var(--display);letter-spacing:-.02em;color:var(--ink)}
.sec .l{margin-top:8px;font:500 14px/1.3 var(--sans);color:var(--muted)}
.bars{--who:176px;--val:104px;display:flex;flex-direction:column;gap:16px}
.bars .r{display:grid;grid-template-columns:var(--who) minmax(0,1fr) var(--val);align-items:center;gap:16px}
.bars .who{font:500 14px/1.2 var(--sans);color:var(--ink)}
.bars .track{position:relative;height:20px}
.bars .bar{position:absolute;top:0;left:0;height:20px;border-radius:0 4px 4px 0;min-width:3px}
.bars .v{font:700 18px/1 var(--sans);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink)}
.bars.div .track::before{content:'';position:absolute;left:50%;top:-8px;bottom:-8px;border-left:2px solid var(--ink)}
.bars.div .r.less .bar{left:auto;right:50%;border-radius:4px 0 0 4px;background:var(--teal)}
.bars.div .r.more .bar{left:50%;border-radius:0 4px 4px 0;background:var(--rust)}
.bars.div .r.less .v{color:var(--teal)}.bars.div .r.more .v{color:var(--rust)}
.size{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center}
@media (max-width:720px){
  .method>.wrap,.method .step>.wrap{padding-left:24px;padding-right:24px}
  .step .wrap{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:40px;padding-bottom:40px}.size{grid-template-columns:1fr;gap:32px}
  .rail h3{margin-bottom:12px}
  .bars{--who:120px;--val:88px}
}

/* Data cleaning: four labels over fine, subdued source text, with three clean hospital-price rows below. */
.dcl-box{overflow:hidden;background:#E3EFEC;border:1px solid #CBDED8;border-radius:6px}
.dcl-field{position:relative;overflow:hidden;min-height:228px;padding:32px 36px;display:flex;align-items:center}
.dcl-tex{position:absolute;inset:0;padding:10px 36px;color:rgba(23,80,74,.12);font:400 10px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden;overflow-wrap:anywhere;word-break:break-word;pointer-events:none;user-select:none}
.dcl-top{position:relative;z-index:1;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 48px;text-align:center;color:#17504A;font:500 28px/1.15 var(--display)}
.dcl-top>div{padding:0;border:0}
.dcl-bottom{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:56px;align-items:center;padding:28px 36px 32px;border-top:1px solid #BDD4C9;background:#E3EFEC}
.dcl-pre{font:500 16px/1.3 var(--sans);color:var(--muted)}
.dcl-big{margin:6px 0 0 -.03em;font:400 48px/1 var(--display);letter-spacing:-.03em;color:var(--teal);white-space:nowrap}
.dcl-post{margin-top:8px;font:500 16px/1.3 var(--sans);color:var(--muted)}
.dcl-clean{color:#466C62;font:400 12px/1.7 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.dcl-row{display:grid;grid-template-columns:1.3fr .6fr 1.3fr .7fr;gap:12px;padding:5px 0;border-bottom:1px solid #C9DDD5}
.dcl-row>span{min-width:0;overflow-wrap:anywhere}
.dcl-row>:last-child{text-align:right}
.dcl-row.dcl-head{color:#17504A;font-weight:500;border-bottom:1px solid #8AB4A6}
@media (max-width:720px){.dcl-top{grid-template-columns:1fr;gap:12px;font-size:24px}.dcl-bottom{grid-template-columns:1fr;gap:24px}}

/* Price comparison step (Oct 15 rework): full-width field of tiles; one tile near the top left opens into a card laid out like a data record. */
.gx-figure{min-width:0}
.gx-stage{position:relative;height:520px;padding:24px;border:1px solid #CBDED8;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Crect x='1.5' y='1.5' width='7' height='7' rx='.7' fill='%23C4DAD2'/%3E%3C/svg%3E") repeat content-box,#E3EFEC;border-radius:6px;overflow:hidden}
.gx-field{position:absolute;inset:0;display:block;width:100%;height:100%}
.gx-pick{position:absolute;left:calc(9% - 4px);top:calc(7.5% - 4px);width:15px;height:15px;border:1.5px solid #17504A;border-radius:2px;background:#E3EFEC}
.gx-pick::after{content:'';position:absolute;left:2.5px;top:2.5px;width:7px;height:7px;border-radius:.7px;background:#17504A}
.gx-card{position:absolute;border-radius:6px;overflow:hidden;box-shadow:0 2px 4px rgba(15,57,35,.06),0 8px 18px rgba(15,57,35,.08)}
.gx-expanded{left:24%;right:4%;top:18%;background:#FFFFFF}
.gx-card-head{padding:18px 20px 20px;background:#17504A}
.gx-fields{display:grid;grid-template-columns:1.25fr 1.35fr auto;gap:24px;align-items:start}
.gx-flabel{margin-bottom:8px;color:#9FD4C6;font:500 12px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.08em}
.gx-fvalue{color:#FFFFFF;font:400 20px/1.15 var(--display);letter-spacing:-.015em}
.gx-fcode{font:400 13px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;color:#DCEDE8;background:#FFFFFF12;border:1px solid #FFFFFF35;border-radius:3px;padding:4px 7px;white-space:nowrap;display:inline-block}
.gx-prices{padding:4px 20px 14px}
.gx-row{display:grid;grid-template-columns:minmax(0,1fr) 92px 104px;gap:12px;align-items:center;padding:9px 24px 9px 0;border-top:1px solid #D7DEDC}
.gx-row.gx-rhead>:nth-child(2){text-align:right}
.gx-delta{text-align:right;font:700 17px/1 var(--sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.gx-delta.less{color:var(--teal)}.gx-delta.more{color:var(--rust)}
.gx-row.gx-rhead{border-top:0;padding:10px 24px 6px 0;color:#4E5C59;font:500 11px/1.4 var(--sans);text-transform:uppercase;letter-spacing:.1em}
.gx-row.gx-rhead>:last-child{text-align:right}
.gx-insurer{color:#15201E;font:400 13px/1.3 var(--sans);overflow-wrap:anywhere}
.gx-price{color:#17504A;text-align:right;font:500 17px/1 var(--display);font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:720px){
  .gx-stage{height:600px}
  .gx-stage{padding:14px}
  .gx-expanded{left:5%;right:5%;top:18%}
  .gx-fields{grid-template-columns:1fr;gap:12px}
  .gx-card-head{padding:16px}
  .gx-prices{padding-left:16px;padding-right:16px}
  .gx-row{grid-template-columns:minmax(0,1fr) 68px 82px;gap:7px;padding-right:0}
  .gx-row.gx-rhead{font-size:9px;letter-spacing:.06em;padding-right:0}
  .gx-price{font-size:15px}
  .gx-delta{font-size:15px}
}

/* Utilization weighting step: the long-tail bar field from the "How I built it" mockup thread (Oct 15), at the mockup's size (498px wide). Bars are drawn by the script at the end of app.js. */
.ub-figure{min-width:0}
.ub-panel{background:#E3EFEC;border:1px solid #CBDED8;border-radius:6px;overflow:hidden}
.ub-chart{display:block;width:100%;height:420px;margin-top:14px}
.ub-endpoints{display:flex;justify-content:space-between;gap:14px;padding:0 22px 19px;color:#17504A;font:400 13px/1.3 var(--display)}
@media (max-width:420px){
  .ub-endpoints{padding-left:18px;padding-right:18px;font-size:12px}
}

/* Hospital weighting step: the treemap from the "How I built it" mockup thread (Oct 15), at the mockup's size (498px wide, 430px chart). Tiles are laid out by the script at the end of app.js using the D3 library. */
.ht-figure{min-width:0}
.ht-panel{background:#E3EFEC;border:1px solid #CBDED8;border-radius:6px;overflow:hidden}
.ht-chart{position:relative;height:700px;margin:15px}
.ht-tile{position:absolute;margin:0;padding:8px;text-align:left;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;overflow:hidden;color:#173F34;background:#B9D9CB;font-family:var(--sans)}
.ht-name{display:block;flex:0 0 auto;max-width:100%;min-width:0;font:400 14px/1.15 var(--sans);overflow-wrap:normal}
.ht-value{display:block;flex:0 0 auto;max-width:100%;margin-top:6px;font:400 18px/1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ht-tile.ht-large{color:#FFFFFF;background:#17504A;padding:17px}
.ht-large .ht-name{font-size:22px;max-width:22ch}
.ht-large .ht-value{font-size:36px;margin-top:18px;color:#8FE3C3}
.ht-tile.ht-medium{background:#98C4B1}
.ht-tile.ht-small{padding:6px}
.ht-tile [hidden]{display:none}
.ht-small .ht-name{font-size:12px}
.ht-small .ht-value{font-size:12px;margin-top:3px}
.ht-tile.ht-compact{padding:2px}
.ht-compact .ht-value{margin-top:2px}
.ht-tile.ht-inline{flex-direction:row;align-items:baseline;gap:6px}
.ht-inline .ht-name{max-width:none;white-space:nowrap}
.ht-inline .ht-value{max-width:none;margin-top:0}
.ht-tile.ht-even{flex-direction:row;align-items:center;gap:4px;padding:3px}
.ht-even .ht-name,.ht-even .ht-value{font:400 11px/1.2 var(--sans);letter-spacing:0;margin-top:0;max-width:none;white-space:nowrap}
@media (max-width:420px){
  .ht-chart{height:590px;margin:10px}
  .ht-large .ht-name{font-size:19px}
  .ht-large .ht-value{font-size:29px}
}

/* Data capture: dense source material with a clean lower-left statistic cutout. */
.dcboxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.dcbox{--stat-width:260px;--stat-height:116px;position:relative;overflow:hidden;background:#E3EFEC;border:1px solid #CBDED8;border-radius:6px;height:240px;min-height:240px}
.dcbox:has(.codes){--stat-width:220px}
.dcbox .tex{position:absolute;inset:0;padding:12px;overflow:hidden;color:rgba(23,80,74,.2);font:400 10.5px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere;word-break:break-word;pointer-events:none;user-select:none;clip-path:polygon(0 0,100% 0,100% 100%,var(--stat-width) 100%,var(--stat-width) calc(100% - var(--stat-height)),0 calc(100% - var(--stat-height)))}
.dcbox .tex.codes{word-spacing:3px}
.dcbox .face{position:absolute;left:0;bottom:0;width:var(--stat-width);height:var(--stat-height);padding:18px 20px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:#E3EFEC}
.dcbox .n,.dcbox .l{position:relative;display:block;white-space:nowrap;background:none;box-shadow:none;opacity:1}
.dcbox .n{margin-left:0;font:400 48px/1 var(--display);letter-spacing:-.03em;color:var(--teal);white-space:nowrap}
.dcbox .l{margin-top:8px;font:500 16px/1.3 var(--sans);color:var(--muted)}
@media (max-width:720px){.dcboxes{grid-template-columns:1fr}}

/* Method-only small-screen refinements; the rest of the page retains its existing layout. */
@media (max-width:720px){
  .method .dcl-field{padding:24px 18px}
  .method .dcl-tex{padding-left:18px;padding-right:18px}
  .method .dcl-bottom{padding:24px 18px}
  .method .dcl-row{grid-template-columns:minmax(0,1fr) 52px minmax(0,1.1fr) 58px;gap:6px}
  .method .dcl-clean{font-size:11px}
  .method .gx-fvalue{font-size:18px}
}
@media (max-width:420px){
  .method .gx-expanded{left:2%;right:2%}
  .method .gx-row{grid-template-columns:minmax(0,1fr) 56px 68px;gap:5px}
  .method .gx-insurer{font-size:12px}
}

/* Closing note on the role of AI in the project. */
.ai-role{padding:var(--section-space) 0;background:var(--teal-pale);border-top:1px solid var(--rule)}
.ai-role .wrap{display:grid;grid-template-columns:280px minmax(0,1fr);gap:48px}
.ai-role h2{margin:0;color:var(--teal);font:400 var(--type-section)/1.15 var(--display);letter-spacing:-.02em}
.ai-role-copy p{margin:0 0 16px;font:400 var(--type-body)/var(--body-leading) var(--sans)}
.ai-role-copy a{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;margin-top:8px;padding:12px 20px;border:1px solid var(--teal);border-radius:6px;background:var(--teal);color:var(--white);font:600 16px/1.4 var(--sans);text-decoration:none;transition:background-color 180ms ease}
.ai-role-copy a:hover{background:var(--teal-deep);color:var(--white)}
.ai-role-copy a:focus-visible{outline:2px solid var(--teal);outline-offset:5px}
@media (max-width:720px){.ai-role{padding:40px 0}.ai-role .wrap{grid-template-columns:1fr;gap:20px;padding-left:24px;padding-right:24px}.ai-role h2{font-size:30px}}

/* footer: the same dark bar as the top of the page, brand on the left and the contact links on the right */
.sitefoot{background:#0F3A35;color:var(--white)}
.sitefoot .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:60px}
.sitefoot .brand{font:500 20px/1 var(--display);color:var(--white);text-decoration:none}
.sitefoot .links{display:flex;align-items:center;gap:16px;font:500 14px/1 var(--sans);white-space:nowrap}
.sitefoot .by{font-weight:600;color:#DCEDE8;margin-right:4px}
.sitefoot .links a,.sitefoot .contact-email{display:inline-flex;align-items:center;gap:7px;color:var(--mint);text-decoration:none;padding:6px 0}
.sitefoot .links a:hover{color:var(--white)}
.sitefoot .links a:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
.sitefoot .links svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sitefoot .sep{width:1px;height:16px;background:rgba(255,255,255,.3)}
@media (max-width:720px){.sitefoot .wrap{height:auto;flex-direction:column;align-items:flex-start;gap:12px;padding-top:20px;padding-bottom:20px}.sitefoot .links{flex-wrap:wrap;white-space:normal}}

/* Responsive presentation: retain the approved desktop composition; recompose
   the reading order and data graphics for phones rather than scaling them down. */
@media (min-width:721px) and (max-width:1199px){
  .wrap{padding-left:36px;padding-right:36px}
  .topnav .brand,.sitefoot .brand{font-size:17px}
  .topnav .links,.sitefoot .links{gap:11px;font-size:13px}
  .topnav .wrap,.sitefoot .wrap{height:auto;min-height:60px;flex-wrap:wrap;justify-content:flex-start;padding-top:12px;padding-bottom:12px}
  .topnav .links,.sitefoot .links{white-space:normal;flex-wrap:wrap}
  .hero h1{font-size:72px}
  .panel{grid-template-columns:minmax(250px,.8fr) minmax(390px,1fr);min-height:650px}
  .panel .facts{padding:48px 28px}
  .panel .logo,.panel .divider{width:min(100%,270px)}
  .panel .big{font-size:76px}
  .panel .map{width:100%;height:auto;aspect-ratio:760/720}
  .panel .map svg{height:100%}
  .hbars{--who:190px;padding:30px}
  .step .wrap{grid-template-columns:260px minmax(0,1fr);gap:36px}
  .ht-chart{height:560px}
}
@media (min-width:721px) and (max-width:1199px){
  .panel{grid-template-columns:minmax(0,1fr);min-height:0}
  .panel .facts{padding:34px 36px 22px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 20px}
  .panel .logo{grid-column:1/-1;margin-bottom:12px}
  .panel .divider{display:none}
  .panel .vs{max-width:220px;margin:0}
  .panel .summary{grid-column:1/-1;margin-top:18px}
  .panel .analysis{grid-column:1/-1;max-width:60ch;margin-top:24px}
  .panel .map{width:min(100%,760px);height:auto;aspect-ratio:760/840;justify-self:center}
  .panel.has-analysis .facts{display:flex;flex-direction:column;align-items:flex-start;padding:34px 36px 30px}
  .panel.has-analysis .logo{order:0;width:214px;height:43px!important;margin-bottom:28px}
  .panel.has-analysis .big{order:1}
  .panel.has-analysis .vs{order:2;max-width:none;margin-top:6px}
  .panel.has-analysis .divider{order:3;display:block;width:100%;margin:24px 0}
  .panel.has-analysis .analysis{order:4;max-width:60ch;margin:0;font-size:18px;list-style:disc}
}
@media (max-width:720px){
  :root{--type-section:32px;--type-step:26px;--type-body:16px;--section-space:40px;--step-space:36px;--heading-gap:12px}
  html,body{width:100%;overflow-x:hidden}
  .wrap{width:100%;max-width:100%;padding-left:20px;padding-right:20px}

  .topnav .wrap{height:auto;min-height:60px;padding-top:14px;padding-bottom:13px;display:flex;align-items:flex-start;flex-direction:column;gap:11px}
  .topnav .brand{font-size:17px;line-height:1.2;max-width:100%;overflow-wrap:anywhere}
  .topnav .links{width:100%;display:flex;flex-wrap:wrap;gap:6px 14px;white-space:nowrap;font-size:13px;line-height:1.35}
  .topnav .by,.topnav .email-separator,.topnav .contact-email svg{display:none}
  .topnav .contact-email{display:block;flex-basis:100%;padding:0}
  .topnav .sep{height:13px}
  .topnav .links a{gap:5px}
  .topnav .links a:last-child{overflow-wrap:anywhere}

  .site-header{padding:39px 0 42px}
  .hero{gap:28px}
  .hero h1{display:flex;flex-direction:column;gap:8px;font-size:clamp(42px,11.4vw,54px);line-height:1.12;letter-spacing:-.035em;overflow-wrap:normal}
  .hero h1 br{display:none}
  .hero p{font-size:18px;line-height:1.5}
  .hero p br{display:none}
  .why{padding-top:var(--section-space);gap:var(--heading-gap);grid-template-columns:minmax(0,1fr)}
  .why h2,.built h2,.chart-section h2,.method h2{font-size:var(--type-section);line-height:1.15}
  .why-text{gap:12px}
  .why-text p{font-size:var(--type-body);line-height:var(--body-leading)}

  #insurance-vertical{padding:32px 0 var(--section-space)}
  #insurance-vertical h2{font-size:34px;line-height:1.12;margin-bottom:22px}
  #insurance-vertical .iv-decision{margin:0;padding:18px 16px}
  #insurance-vertical .iv-decision h3{font-size:22px}
  #insurance-vertical .iv-branches{display:none}
  #insurance-vertical .iv-cross{height:10px}
  #insurance-vertical .iv-comparisons{grid-template-columns:1fr;gap:10px;margin-top:14px}
  #insurance-vertical .iv-premium,#insurance-vertical .iv-medical{padding:15px 16px;text-align:left}
  #insurance-vertical .iv-medical{padding-top:13px}
  #insurance-vertical h3{font-size:21px}
  #insurance-vertical .iv-label{font-size:10px}
  #insurance-vertical p{font-size:13px;line-height:1.5}
  #insurance-vertical .iv-bill-connector{height:28px}
  #insurance-vertical .iv-bill-connector:before{left:50%}
  #insurance-vertical .iv-employees{margin-left:0;padding:16px}
  #insurance-vertical .iv-employees h3{font-size:21px}

  .built{padding-top:var(--section-space);padding-bottom:var(--section-space)}
  .built .lede{font-size:var(--type-body);line-height:var(--body-leading);margin-bottom:24px}
  .alabama-run{margin-top:23px;padding:5px 0 5px 16px;border-left-width:3px}
  .startline{font-size:24px;margin-bottom:8px}
  .run-description{font-size:var(--type-body);line-height:var(--body-leading);margin-bottom:24px}
  .numstrip{grid-template-columns:1fr;gap:0;padding-top:8px}
  .num{display:flex;align-items:baseline;gap:12px;padding:12px 0;border-bottom:1px solid var(--rule-soft)}
  .num:last-child{border-bottom:0}
  .num .n{font-size:32px;white-space:nowrap}
  .num .l{margin-top:0;font-size:14px}

  .chart-section{padding-top:var(--section-space)}
  .chart-section h2{font-size:var(--type-section);margin-bottom:24px}
  .nowrap{white-space:normal}
  .hbars{display:none}
  .insurer-mobile-summary{display:block;background:var(--white);border:1px solid var(--rule);border-radius:6px;padding:0 16px}
  .insurer-mobile-summary table{width:100%;border-collapse:collapse;table-layout:fixed}
  .insurer-mobile-summary th,.insurer-mobile-summary td{padding:14px 0;border-bottom:1px solid var(--rule-soft);text-align:left;vertical-align:middle}
  .insurer-mobile-summary thead th{font:500 13px/1.4 var(--sans);color:var(--muted)}
  .insurer-mobile-summary thead th:last-child{width:36%;text-align:right}
  .insurer-mobile-summary tbody th{padding-right:12px;font:400 16px/1.4 var(--sans);color:var(--ink)}
  .insurer-mobile-summary td{text-align:right;font:600 22px/1.2 var(--sans);font-variant-numeric:tabular-nums;white-space:nowrap}
  .insurer-mobile-summary .less td{color:var(--teal)}
  .insurer-mobile-summary .more td{color:var(--rust)}
  .insurer-mobile-summary p{margin:0;padding:14px 0;font:400 13px/1.5 var(--sans);color:var(--muted)}

  .panel-section{padding-top:38px;padding-bottom:46px}
  .panel-instruction{font-size:16px;line-height:1.45;margin-bottom:14px}
  .panel-instruction-desktop{display:none}
  .panel-instruction-mobile{display:inline}
  .tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:20px}
  .tab{width:100%;height:auto;min-height:46px;padding:8px 9px;border:1.5px solid var(--teal);border-radius:5px;font-size:13px;white-space:normal;line-height:1.2}
  .tab:last-child:nth-child(odd){grid-column:1/-1}
  .panel{display:flex;flex-direction:column;min-height:0;border-radius:5px;overflow:hidden}
  .panel .facts{padding:22px 20px 20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 14px;align-items:center}
  .panel .logo{grid-column:1/-1;width:auto;max-width:210px;height:42px!important;object-position:left;margin-bottom:14px}
  .panel .divider{display:none}
  .panel .big{font-size:54px;line-height:1}
  .panel .vs{margin:0;max-width:145px;font-size:15px;line-height:1.35}
  .panel .summary{grid-column:1/-1;margin:14px 0 0;font-size:14px;line-height:1.5}
  .panel .analysis{grid-column:1/-1;margin-top:24px;font-size:16px;line-height:1.55;max-width:none}
  .panel .map{display:none}
  .panel.has-analysis .facts{display:flex;flex-direction:column;align-items:flex-start;padding:28px 24px}
  .panel.has-analysis .logo{order:0;width:140px;max-width:140px;height:28px!important;margin-bottom:28px}
  .panel.has-analysis .logo[data-insurer="cigna"]{height:44px!important}
  .panel.has-analysis .logo[data-insurer="uhc"]{height:34px!important}
  .panel.has-analysis .big{order:1}
  .panel.has-analysis .vs{order:2;max-width:none;margin-top:6px;font-size:18px;line-height:1.4}
  .panel.has-analysis .divider{order:3;display:block;width:100%;margin:22px 0}
  .panel.has-analysis .analysis{order:4;margin:0;max-width:none;font-size:17px;line-height:1.55;list-style:disc}

  .method{padding-top:var(--section-space)}
  .method>.wrap,.method .step>.wrap{padding-left:20px;padding-right:20px}
  .method>.wrap{padding-bottom:0}
  .method>.wrap+.step .wrap{padding-top:32px}
  .step .wrap{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:var(--step-space);padding-bottom:var(--step-space)}
  .rail h3{font-size:var(--type-step);line-height:1.2;margin:0 0 var(--heading-gap)}
  .rail p{font-size:var(--type-detail);line-height:var(--body-leading)}
  .fig{min-width:0}
  .dcboxes{grid-template-columns:1fr;gap:12px}
  .dcbox{height:190px;min-height:190px}
  .dcbox .n{font-size:38px}
  .dcbox .l{font-size:14px}
  .dcl-field{min-height:200px;padding:19px 14px}
  .dcl-tex{padding-left:14px;padding-right:14px}
  .dcl-top{font-size:21px;gap:10px}
  .dcl-bottom{padding:18px 14px;gap:16px}
  .dcl-big{font-size:38px}
  .dcl-clean{font-size:10px}
  .dcl-row{grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr) 46px;gap:4px;font-size:10px}
  .gx-stage{height:470px;padding:10px}
  .gx-expanded{left:2%;right:2%;top:12%}
  .gx-card-head{padding:14px}
  .gx-fields{grid-template-columns:1fr;gap:9px}
  .gx-fvalue{font-size:17px}
  .gx-fcode{font-size:12px}
  .gx-prices{padding:2px 12px 10px}
  .gx-row{grid-template-columns:minmax(0,1fr) 54px 65px;gap:4px;padding:7px 0}
  .gx-row.gx-rhead{font-size:10px;letter-spacing:.04em}
  .gx-insurer{font-size:12px}
  .gx-price,.gx-delta{font-size:14px}
  .ub-chart{height:285px}
  .ub-endpoints{padding:0 12px 14px;gap:10px;font-size:10px}
  #step-hospital-weighting .fig{display:none}

  .ai-role{padding:var(--section-space) 0}
  .ai-role .wrap{grid-template-columns:minmax(0,1fr);gap:var(--heading-gap);padding-left:20px;padding-right:20px}
  .ai-role h2{font-size:var(--type-section)}
  .ai-role-copy p{font-size:var(--type-body);line-height:var(--body-leading);margin-bottom:16px}
  .ai-role-copy a{font-size:16px}
  .sitefoot .wrap{height:auto;align-items:flex-start;gap:13px;padding-top:20px;padding-bottom:21px}
  .sitefoot .brand{max-width:100%;font-size:17px;line-height:1.25;overflow-wrap:anywhere}
  .sitefoot .links{display:flex;flex-wrap:wrap;gap:7px 13px;white-space:normal;font-size:13px;line-height:1.4}
  .sitefoot .by{width:100%;margin:0}
  .sitefoot .contact-email{overflow-wrap:anywhere}
}
@media (max-width:380px){
  .wrap{padding-left:17px;padding-right:17px}
  .hero h1{font-size:42px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
