/* ---------- role pages ---------- */
.rhero{padding:clamp(56px,8vw,104px) 0 clamp(36px,5vw,56px);text-align:center}
.section.rhero:has(+ .showcase){padding-bottom:calc(clamp(36px,5vw,56px) + var(--sc-gap))}   /* keeps the old space above the photo now that the photo has none of its own */
.rhero .h1{max-width:17em;margin:18px auto 0;font-size:clamp(44px,6.2vw,92px)}
.rhero .h1 .grad{display:block}
.rhero .sub{margin:22px auto 0;max-width:30em;font-size:clamp(20px,2vw,28px);font-weight:500;letter-spacing:-.02em;line-height:1.3;color:var(--text-2)}
.rhero .sub b{color:#fff;font-weight:600}
.rhero .ctas{margin-top:34px}

.specs-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:760px){.specs-3{grid-template-columns:1fr}.specs-3 .spec+.spec{border-left:0;border-top:1px solid var(--line);padding-top:28px;margin-top:20px}}

/* role UI fragments */
.mm-app .pv{display:grid;gap:10px}
.mm-app .pv-h{display:flex;align-items:center;gap:12px}
.mm-app .av{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#EEF2FF;color:#4338CA;font-weight:700;font-size:13px}
.mm-app .pv-h b{display:block;font-size:14px}
.mm-app .pv-h small{font-size:12px;color:#71717A}
.mm-app .pv-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mm-app .pv-f{padding:9px 11px;border:1px solid #ECECEF;border-radius:9px;background:#fff}
.mm-app .pv-f em{display:block;font-style:normal;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#A1A1AA}
.mm-app .pv-f span{font-size:12.5px;font-weight:500}
.mm-app .pv-f.alert{border-color:#FCA5A5;background:#FEF2F2}
.mm-app .pv-f.alert em{color:#DC2626}
.mm-app .pv-f.alert.on{animation:pvpulse 1.6s ease-out 2}
@keyframes pvpulse{0%{box-shadow:0 0 0 0 rgba(239,68,68,.45)}100%{box-shadow:0 0 0 10px rgba(239,68,68,0)}}
.mm-app .soapb{border:1px solid #ECECEF;border-radius:10px;overflow:hidden;background:#fff}
.mm-app .soapb .sh{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid #F0F0F2;font-weight:600;font-size:12.5px}
.mm-app .soapb .sh i{width:20px;height:20px;border-radius:50%;background:#4F46E5;color:#fff;display:grid;place-items:center;font-style:normal;font-size:10px}
.mm-app .said{padding:10px 12px;font-style:italic;color:#3F3F46}
.mm-app .said span{background:#EDE9FE;border-radius:3px;padding:1px 2px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.mm-app .rom{width:100%;border-collapse:collapse;font-size:12.5px}
.mm-app .rom th{text-align:left;font-weight:500;color:#71717A;font-size:11.5px;padding:6px 12px;border-bottom:1px solid #F0F0F2}
.mm-app .rom td{padding:7px 12px;border-bottom:1px solid #F4F4F5}
.mm-app .rom td b{color:#4F46E5}
.mm-app .signrow{display:flex;justify-content:flex-end}
.mm-app .signbtn{display:inline-grid;padding:9px 16px;border-radius:8px;background:#2E1DD6;color:#fff;font-weight:600;font-size:12.5px;transition:background .35s}
.mm-app .signbtn.on{background:#15803D}

/* ---------- a day in the life: today vs with Aera ---------- */
.dl{position:relative;max-width:1100px;margin:0 auto}
.dl-heads{position:sticky;top:54px;z-index:3;display:grid;grid-template-columns:1fr 128px 1fr;padding:14px 0 18px;margin-bottom:12px;background:rgba(5,4,15,.82);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);-webkit-mask-image:linear-gradient(180deg,#000 75%,transparent);mask-image:linear-gradient(180deg,#000 75%,transparent)}
.dl-heads span{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.dl-heads span:first-child{text-align:right;color:var(--text-2)}
.dl-heads span:last-child{grid-column:3;display:inline-flex;align-items:center;gap:8px;color:#FF8FD0}
.dl-heads svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.dl-body{position:relative}
.dl-rows{list-style:none;margin:0;padding:0}
.dl-spine{position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);border-radius:2px;background:rgba(255,255,255,.07);overflow:hidden}
.dl-spine::after{content:"";position:absolute;left:0;top:0;width:100%;height:var(--sp2,0%);background:linear-gradient(180deg,#FF6BBF,#B48CFF);box-shadow:0 0 12px rgba(255,107,191,.6)}
.dl-row{position:relative;display:grid;grid-template-columns:1fr 128px 1fr;align-items:start;padding:clamp(26px,3.4vw,40px) 0}
.dl-today{text-align:right;font-size:clamp(16px,1.35vw,19px);line-height:1.5;color:var(--text-2);transition:color .7s var(--ease),opacity .7s var(--ease)}
.dl-row.on .dl-today{color:#8F89A0}
.dl-time{justify-self:center;position:relative;z-index:1;padding:5px 11px;border-radius:999px;font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-2);background:var(--bg);border:1px solid var(--line-2);transition:color .5s var(--ease),background-color .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease)}
.dl-row.on .dl-time{color:#0A0824;background:#F5F3F9;border-color:#F5F3F9;box-shadow:0 0 24px -4px rgba(255,107,191,.7)}
.dl-aera{font-size:clamp(19px,1.7vw,24px);font-weight:500;letter-spacing:-.015em;line-height:1.4;color:rgba(255,255,255,.55);transition:color .7s var(--ease)}
.dl-row.on .dl-aera{color:#fff}

.dl-row.emph{padding-top:clamp(40px,5vw,64px);align-items:center}
.dl-row.emph .dl-aera p{margin:0}
.dl-row.emph .dl-today{font-size:clamp(22px,2.4vw,34px);font-weight:500;letter-spacing:-.02em;line-height:1.2;text-decoration:line-through;text-decoration-color:rgba(255,107,191,0);text-decoration-thickness:2px;transition:color .7s var(--ease),text-decoration-color .8s var(--ease) .2s}
.dl-row.emph.on .dl-today{text-decoration-color:rgba(255,107,191,.7)}
.dl-row.emph .dl-aera{font-size:clamp(40px,5vw,72px);font-weight:660;letter-spacing:-.04em;line-height:1}
.dl-row.emph.on .dl-aera{color:transparent;background:var(--iris);-webkit-background-clip:text;background-clip:text}

@media (max-width:760px){
  .dl-heads{display:none}
  .dl-spine{left:14px}
  .dl-row{grid-template-columns:28px 1fr;grid-template-areas:"t t" ". a" ". b";row-gap:10px;padding:22px 0}
  .dl-time{grid-area:t;justify-self:start;margin-left:0}
  .dl-today{grid-area:a;text-align:left;font-size:15px}
  .dl-today::before{content:"Today: ";font-weight:600}
  .dl-aera{grid-area:b}
}
@media (prefers-reduced-motion:reduce){.dl-today,.dl-time,.dl-aera,.dl-knows{transition:none}}
.mm-app .wg2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mm-app .wg2 .card{padding:12px 14px}
.mm-app .wg2 .big{font-size:28px}
.mm-app .hb{display:grid;gap:7px;margin-top:10px}
.mm-app .hb div{display:grid;grid-template-columns:104px 1fr 28px;align-items:center;gap:10px;font-size:12.5px}
.mm-app .hb i{display:block;height:8px;border-radius:4px;background:#E4E4E7;overflow:hidden;position:relative}
.mm-app .hb i b{position:absolute;inset:0 auto 0 0;width:calc(var(--w) * min(1, var(--k,0) * 2.5));border-radius:4px;background:#4F46E5;transition:width .2s linear}
.mm-app .hb div:first-child i b{background:#4F46E5}
.mm-app .hb span:last-child{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}

/* phone-shaped moments (patient) */
.mm-win.phone{justify-self:center;align-self:center;width:406px;max-width:none;padding:8px;border-radius:52px;zoom:var(--phs,1)}
.mm-win.phone .mm-app{width:390px;height:800px;min-height:0;max-height:none;border-radius:44px;background:#fff;font-size:14px}

.mm-win.phone .ex b{font-size:14px}.mm-win.phone .ex small{font-size:12px}

.mm-win.phone .chart svg{height:120px}

.mm-app .ex{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;padding:8px;border:1px solid #ECECEF;border-radius:14px}
.mm-app .ex .th{position:relative;width:52px;height:52px;border-radius:10px;background:#EEF2FF;display:grid;place-items:center}
.mm-app .ex .th::after{content:"";border:7px solid transparent;border-left:11px solid #fff;margin-left:6px}
.mm-app .ex b{display:block;font-size:12.5px}
.mm-app .ex small{font-size:11px;color:#71717A}
.mm-app .ex .ckb{width:22px;height:22px;border-radius:50%;border:1.5px solid #D4D4D8;display:grid;place-items:center;color:#fff;transition:background .3s,border-color .3s}
.mm-app .ex .ckb.on{background:#16A34A;border-color:#16A34A}
.mm-app .ex .ckb svg{width:12px;height:12px}

.mm-app .chart{padding:12px;border:1px solid #ECECEF;border-radius:14px}
.mm-app .chart b{font-size:12.5px}
.mm-app .chart svg{display:block;width:100%;height:92px;margin-top:8px}
.mm-app .chart path.l{fill:none;stroke:url(#pg);stroke-width:3;stroke-linecap:round;stroke-dasharray:400;stroke-dashoffset:calc(400 - 400 * min(1, var(--k,0) * 1.6))}

.mm-win.phone .mm-app{display:flex;flex-direction:column}

/* ---------- native iOS patient app ---------- */

.mm-win.phone .mm-app{background:#F2F2F7}
.ios-sb{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:54px;padding:0 30px 0 34px;font-size:16px;font-weight:600;color:#000}
.ios-sb .di{width:124px;height:36px;border-radius:20px;background:#000}
.ios-sb .ic{justify-self:end;display:flex;align-items:center;gap:6px}
.ios-sb svg{height:12px;width:auto;fill:#000}
.ios-nav{display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 16px;font-size:16px;color:#4F46E5}
.ios-nav b{color:#000;font-weight:600;font-size:16px}
.ios-nav .sp{width:60px}
.ios-steps{display:flex;gap:5px;padding:0 18px 4px}
.ios-steps i{flex:1;height:4px;border-radius:4px;background:#E5E5EA}
.ios-steps i.on{background:#4F46E5}
.ios-lt{padding:6px 18px 10px;font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.1;color:#000}
.ios-lt small{display:block;margin-bottom:2px;font-size:13px;font-weight:600;letter-spacing:0;color:#8E8E93;text-transform:uppercase}
.ios-scroll{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px;padding:0 16px}
.ios-grp{background:#fff;border-radius:12px;overflow:hidden}
.ios-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:10px 14px;font-size:15.5px;color:#000;position:relative}
.ios-row+.ios-row::before{content:"";position:absolute;left:14px;right:0;top:0;height:.5px;background:#C6C6C8}
.ios-row span:last-child{color:#8E8E93;display:inline-flex;align-items:center;gap:4px;text-align:right}
.ios-row .chev{width:8px;height:13px;stroke:#C4C4C7;stroke-width:2;fill:none}
.ios-row .ok{color:#34C759;font-weight:600}
.ios-slider{padding:4px 14px 14px}
.ios-slider i{display:block;height:4px;border-radius:4px;background:#E5E5EA;position:relative}
.ios-slider i b{position:absolute;left:0;top:0;bottom:0;width:calc(60% * min(1, var(--k,0) * 3));border-radius:4px;background:#4F46E5}
.ios-slider i b::after{content:"";position:absolute;right:-12px;top:-10px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2),0 0 0 .5px rgba(0,0,0,.05)}
.ios-foot{padding:10px 16px 6px}
.ios-btn{display:grid;height:52px;border-radius:14px;background:#4F46E5;color:#fff;font-size:17px;font-weight:600}
.ios-btn>em{justify-content:center}
.ios-btn.on{background:#34C759}
.ios-cap{text-align:center;font-size:12.5px;color:#8E8E93;margin-top:8px}
.ios-ring{display:flex;align-items:center;gap:14px;padding:14px;background:#fff;border-radius:16px}
.ios-ring svg{width:64px;height:64px;transform:rotate(-90deg)}
.ios-ring circle{fill:none;stroke-width:8}
.ios-ring .tr{stroke:#E0E7FF}
.ios-ring .pr{stroke:#4F46E5;stroke-linecap:round;stroke-dasharray:176;stroke-dashoffset:calc(176 - 176 * .88 * min(1, var(--k,0) * 1.5))}
.ios-ring b{display:block;font-size:20px;font-weight:700;color:#000}
.ios-ring small{font-size:13px;color:#8E8E93}
.ios-ex{display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:12px;padding:10px 14px;position:relative}
.ios-ex+.ios-ex::before{content:"";position:absolute;left:88px;right:0;top:0;height:.5px;background:#C6C6C8}
.ios-ex .vid{position:relative;width:62px;height:62px;border-radius:12px;background:linear-gradient(135deg,#D9DCE8,#B9BDD0);display:grid;place-items:center}
.ios-ex .vid::after{content:"";width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.9) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M3 2l5 3-5 3z' fill='%234F46E5'/%3E%3C/svg%3E") center/12px no-repeat}
.ios-ex .vid small{position:absolute;right:4px;bottom:3px;font-size:10px;font-weight:600;color:#fff}
.ios-ex b{display:block;font-size:15.5px;font-weight:600;color:#000}
.ios-ex span{font-size:13px;color:#8E8E93}
.ios-ex .ckb{width:26px;height:26px;border-radius:50%;border:1.5px solid #C7C7CC;display:grid;place-items:center;color:#fff;transition:background .3s,border-color .3s}
.ios-ex .ckb.on{background:#34C759;border-color:#34C759}
.ios-ex .ckb svg{width:14px;height:14px}
.ios-ci{padding:14px;background:#fff;border-radius:16px}
.ios-ci p{margin:0 0 10px;font-size:15px;font-weight:600;color:#000}
.ios-pills{display:flex;justify-content:space-between;gap:4px}
.ios-pills span{flex:1;height:32px;display:grid;place-items:center;border-radius:9px;background:#F2F2F7;font-size:13px;font-weight:600;color:#3C3C43;transition:background .3s,color .3s}
.ios-pills span.sel.on{background:#4F46E5;color:#fff}
.ios-seg{display:flex;padding:2px;margin:0 16px;border-radius:9px;background:#E3E3E8}
.ios-seg span{flex:1;height:30px;display:grid;place-items:center;font-size:13px;font-weight:500;color:#000;border-radius:7px}
.ios-seg span.on{background:#fff;font-weight:600;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.ios-chart{padding:14px;background:#fff;border-radius:16px}
.ios-chart .top{display:flex;justify-content:space-between;align-items:baseline}
.ios-chart .top b{font-size:28px;font-weight:700;color:#000}
.ios-chart .top b small{font-size:15px;color:#8E8E93;font-weight:600}
.ios-chart .top span{font-size:13px;font-weight:600;color:#34C759}
.ios-chart svg{display:block;width:100%;height:110px;margin-top:6px}
.ios-chart path.l{fill:none;stroke:#4F46E5;stroke-width:3;stroke-linecap:round;stroke-dasharray:400;stroke-dashoffset:calc(400 - 400 * min(1, var(--k,0) * 1.6))}
.ios-chart path.a{fill:url(#pga);opacity:calc(min(1, var(--k,0) * 1.6))}
.ios-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ios-tiles div{padding:12px 14px;background:#fff;border-radius:14px}
.ios-tiles small{display:block;font-size:12.5px;color:#8E8E93;font-weight:600}
.ios-tiles b{font-size:22px;font-weight:700;color:#000;letter-spacing:-.01em}
.ios-msg{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;background:#fff;border-radius:16px;font-size:14.5px;line-height:1.4;color:#000}
.ios-msg .av{width:34px;height:34px;flex:none;border-radius:50%;background:#4F46E5;color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700}
.ios-msg small{display:block;font-size:12.5px;color:#8E8E93;margin-bottom:2px}
.ios-tab{display:grid;grid-template-columns:repeat(4,1fr);padding:8px 8px 0;border-top:.5px solid #C6C6C8;background:rgba(249,249,249,.94)}
.ios-tab span{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;font-weight:500;color:#999}
.ios-tab span.on{color:#4F46E5}
.ios-tab svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ios-home{height:5px;width:134px;margin:8px auto 8px;border-radius:5px;background:#000}

.mm-app .ios-btn{display:grid;width:100%}.mm-app .ios-btn>em{justify-content:center}.mm-app .ios-pills .sw{display:grid}

.ios-brand{background:linear-gradient(160deg,#0A0824 0%,#171046 55%,#2C1257 100%);color:#fff;padding-bottom:4px}
.ios-brand .ios-sb{color:#fff}
.ios-brand .ios-sb svg,.ios-brand .ios-sb svg rect,.ios-brand .ios-sb svg path{fill:#fff}
.ios-brand .ios-sb svg rect[fill="none"]{fill:none;stroke:#fff}
.ios-bh{display:flex;align-items:center;gap:12px;padding:4px 16px 12px}
.ios-wm{height:20px;width:auto;flex:none}
.ios-clinic{flex:1;padding-left:12px;border-left:1px solid rgba(255,255,255,.22);font-size:12px;line-height:1.25;color:rgba(255,255,255,.72)}
.ios-clinic b{display:block;font-size:13px;font-weight:600;color:#fff}
.ios-bh .bell{position:relative}
.ios-bh .bell svg{width:23px;height:23px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ios-bh .bell::after{content:"";position:absolute;right:1px;top:1px;width:8px;height:8px;border-radius:50%;background:#FF6BBF;border:1.5px solid #171046}
.ios-bh .me{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);color:#fff;display:grid;place-items:center;font-size:11.5px;font-weight:700}
.ios-brand+.ios-lt,.ios-brand+.ios-nav{margin-top:10px}
/* the role timeline, cleaned up to match the solution pages (Gloria 2026-10-25): their light behind it, every stop's title
   taking two lines' room so the descriptions line up, and less empty space before the visit-up-close section */
body.role-page main > #day{position:relative;isolation:isolate;padding-bottom:clamp(40px,5vw,72px)}
body.role-page main > #day::before{display:block;content:"";position:absolute;inset:0;left:0;top:0;width:auto;height:auto;transform:none;filter:none;opacity:1;z-index:-1;pointer-events:none;
  background:radial-gradient(560px 300px at 14% 40%,rgba(255,107,191,.16),transparent 70%),radial-gradient(600px 320px at 86% 58%,rgba(195,155,255,.17),transparent 70%)}
@media (min-width:861px){body.role-page .enc-list h3{min-height:2.5em}}
body.role-page main > #day + .section.tight{padding-top:clamp(32px,4vw,56px)}
/* every stop reads as two lines of title and two of description (Gloria 2026-10-25: "normalize the lines") */
@media (min-width:861px){body.role-page .enc-list h3{max-width:10.8em;text-wrap:balance}body.role-page .enc-list p{max-width:13.5em;min-height:3em;text-wrap:balance}}
