body[data-page="home"] .patient-story{padding:48px 24px;background:#fff;color:#47181c;scroll-margin-top:90px;text-align:center}
body[data-page="product"] .patient-story--product{padding:48px 24px;background:#fff;color:#47181c;scroll-margin-top:90px;text-align:center}
.patient-story>h2{margin:0 0 28px;font:400 clamp(30px,3.2vw,42px)/1.15 'Welm Display',Georgia,serif;letter-spacing:-.5px;color:#47181c}
.patient-story-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:864px;margin:0 auto}
.patient-story-track:focus-visible{outline:2px solid #805b40;outline-offset:5px;border-radius:22px}
.patient-story-controls{display:none}
.patient-story-card{position:relative;isolation:isolate;width:min(100%,420px);aspect-ratio:4/5;margin:0 auto;overflow:hidden;border-radius:22px;background:#746354;text-align:left}
.patient-story-poster{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 46%}
.patient-story-play{position:absolute;z-index:2;top:22px;right:22px;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fff;color:#47181c;box-shadow:0 2px 12px #27110d12;transition:transform .2s,background .2s}
.patient-story-play:hover{background:#f5eee5;transform:scale(1.05)}
.patient-story-play:focus-visible{outline:3px solid #47181c;outline-offset:4px}
.patient-story-caption{position:absolute;inset:auto 0 0;padding:24px 26px 26px;background:linear-gradient(115deg,#49382bba,#9c8871ad);border-top:1px solid #ffffff30;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#fffaf3}
.patient-story-caption .patient-story-meta{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:#fffaf3;font:400 13px/1.5 Jost,sans-serif}
.patient-story-caption h3{margin:0;max-width:340px;color:#fffaf3;font:400 28px/1.23 'Welm Display',Georgia,serif;letter-spacing:-.15px;text-wrap:balance}
.patient-story>.patient-story-note{margin:15px auto 0;color:#765b54;font:400 12px/1.5 Jost,sans-serif}
dialog.patient-story-dialog{position:fixed;inset:0;width:fit-content;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:18px;background:#211c19;overflow:hidden;box-shadow:0 20px 80px #0005}
.patient-story-dialog::backdrop{background:#211510c9;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.patient-story-dialog video{display:block;width:min(461.25px,calc(100vw - 32px),calc((100dvh - 32px) * .5625));height:auto;aspect-ratio:9/16;object-fit:contain;outline-offset:-4px}
.patient-story-close{position:absolute;z-index:2;top:12px;right:12px;display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff60;border-radius:50%;background:#fff;color:#47181c;cursor:pointer}
.patient-story-close:focus-visible{outline:3px solid #b39368;outline-offset:3px}
html:has(.patient-story-dialog[open]){overflow:hidden}
@media(max-width:700px){
  .patient-story-track{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(420px,calc(100% - 28px));gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}
  .patient-story-track::-webkit-scrollbar{display:none}
  .patient-story-card{scroll-snap-align:start}
  .patient-story-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;max-width:864px;margin:14px auto 0}
  .patient-story-controls>span{margin-right:auto;color:#765b54;font:400 12px/1.4 Jost,sans-serif}
  .patient-story-arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid #d9cbbd;border-radius:50%;background:transparent;color:#47181c;cursor:pointer}
  .patient-story-arrow:disabled{opacity:.35;cursor:default}
  .patient-story-arrow:focus-visible{outline:2px solid #805b40;outline-offset:3px}
}
@media(max-width:600px){
  body[data-page="home"] .patient-story{padding:34px 20px}
  body[data-page="product"] .patient-story--product{padding:28px 16px 40px}
  .patient-story>h2{margin-bottom:22px;font-size:32px}
  .patient-story-card{border-radius:20px}
  .patient-story-play{top:18px;right:18px;width:48px;height:48px}
  .patient-story-caption{padding:20px 22px 23px}
  .patient-story-caption h3{font-size:26px}
  .patient-story-caption .patient-story-meta{font-size:12px}
  .patient-story>.patient-story-note{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.patient-story-play{transition:none}}
