:root { --red:#d91f3d; --wine:#9f1731; --ink:#24282b; --muted:#68696a; --paper:#f5f3ee; --sand:#eee9e2; --white:#fff; --line:rgba(36,40,43,.16); font-family:Manrope,Arial,sans-serif; color:var(--ink); background:var(--paper); }
* { box-sizing:border-box; }
html { scroll-padding-top:76px; }
body { margin:0; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1280px,calc(100% - 64px)); margin:auto; }
.site-header { position:sticky; top:0; z-index:10; background:rgba(255,255,255,.94); border-bottom:1px solid rgba(36,40,43,.11); backdrop-filter:blur(14px); }
.header-inner { min-height:74px; display:flex; align-items:center; gap:40px; }
.brand img { display:block; width:159px; height:auto; }
.site-header nav { display:flex; gap:27px; margin-left:auto; color:#515457; font-size:12px; font-weight:600; }
.site-header nav a:hover, .header-link:hover { color:var(--red); }
.header-link { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:700; }
.header-link span { color:var(--red); font-size:16px; }
.hero { padding:34px 0 74px; background:var(--white); }
.hero-frame { min-height:604px; display:grid; grid-template-columns:1.04fr .96fr; border-radius:28px; overflow:hidden; background:var(--white); }
.hero-copy { position:relative; z-index:2; padding:72px 58px 54px 64px; display:flex; flex-direction:column; align-items:flex-start; }
.eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 21px; color:var(--red); font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow::before { content:""; width:22px; height:1px; background:currentColor; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:Montserrat,Manrope,sans-serif; }
h1 { max-width:620px; margin-bottom:26px; font-size:clamp(48px,4.55vw,67px); line-height:.99; letter-spacing:-.043em; font-weight:600; }
.hero-lead { max-width:394px; margin-bottom:31px; color:#5c6062; font-size:18px; line-height:1.55; }
.button { display:inline-flex; align-items:center; gap:18px; min-height:53px; padding:0 20px 0 23px; border-radius:999px; background:var(--red); color:#fff; font-size:12px; font-weight:700; box-shadow:0 12px 24px rgba(217,31,61,.2); }
.button span { display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:#fff; color:var(--red); font-size:15px; }
.hero-art { position:relative; min-width:0; overflow:visible; background:linear-gradient(140deg,#f5dadd 0%,#efcdd2 58%,#f7e5e6 100%); }
.hero-art::before { position:absolute; content:""; inset:18px; border:1px solid rgba(255,255,255,.29); border-radius:18px; }
.hero-art::after { display:none; }
.hero-art img { position:absolute; z-index:2; top:50%; left:-24%; width:124%; height:107%; object-fit:contain; transform:translateY(-50%); filter:drop-shadow(12px 20px 16px rgba(66,0,12,.24)); }
.hero-art-meta { position:absolute; z-index:3; color:var(--wine); font-size:10px; line-height:1.45; letter-spacing:.04em; text-transform:uppercase; }
.hero-art-meta--top { top:44px; right:43px; padding-left:12px; border-left:1px solid rgba(159,23,49,.55); }
.hero-art-meta--bottom { bottom:43px; left:41px; font-weight:700; }.hero-art-meta--bottom span { font-weight:400; opacity:.78; }
.hero-chip { position:absolute; z-index:4; display:flex; align-items:center; gap:8px; padding:11px 14px; border:1px solid rgba(255,255,255,.72); border-radius:99px; background:rgba(255,255,255,.48); box-shadow:0 10px 28px rgba(85,0,18,.1); color:var(--wine); backdrop-filter:blur(11px); font-size:11px; font-weight:700; }
.hero-chip i { width:7px; height:7px; border-radius:50%; background:var(--red); }.hero-chip--one { top:27%; left:12%; }.hero-chip--two { right:9%; bottom:27%; }
.audience { padding:108px 0 116px; background:var(--paper); }.section-head { display:grid; grid-template-columns:.95fr 1fr; gap:95px; align-items:end; }.section-head > p { max-width:465px; margin:0 0 7px; color:var(--muted); font-size:15px; line-height:1.65; }
h2 { margin-bottom:0; font-size:clamp(38px,4.4vw,61px); line-height:1.01; letter-spacing:-.05em; font-weight:600; }
.moment-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:15px; margin-top:58px; }.moment { position:relative; min-height:326px; padding:30px 34px; overflow:hidden; border-radius:18px; }.moment--red { background:var(--red); color:#fff; }.moment--light { background:var(--sand); }.moment::after { position:absolute; content:""; width:285px; height:285px; right:-92px; bottom:-155px; border:1px solid currentColor; border-radius:50%; opacity:.35; }.moment--light::before { position:absolute; content:""; right:55px; top:43px; width:75px; height:75px; border-radius:50%; background:#fff; box-shadow:35px 53px 0 -15px rgba(217,31,61,.16); }.moment-no { display:block; margin-bottom:74px; font-size:11px; font-weight:700; letter-spacing:.1em; }.moment h3 { position:relative; z-index:1; margin:0 0 14px; font-size:clamp(28px,2.7vw,39px); line-height:1; letter-spacing:-.05em; font-weight:600; }.moment p { position:relative; z-index:1; max-width:275px; margin:0; font-size:13px; line-height:1.58; opacity:.82; }.moment-mark { position:absolute; z-index:1; right:30px; bottom:25px; font-size:29px; }.boundary { border-top:1px solid currentColor; padding-top:14px; font-size:13px; line-height:1.55; }.boundary span { display:block; margin-bottom:7px; color:var(--red); font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }.audience-boundary { max-width:590px; margin:32px 0 0 auto; border-color:var(--line); color:#56595a; }
.report { padding:112px 0; background:var(--paper); }.report-layout { display:grid; grid-template-columns:.78fr 1.22fr; align-items:center; gap:clamp(48px,9vw,150px); }.report-intro > p:last-child { max-width:405px; margin:26px 0 0; color:var(--muted); font-size:15px; line-height:1.62; }.report-card { overflow:hidden; border:1px solid rgba(36,40,43,.15); border-radius:16px; background:#fff; box-shadow:14px 18px 0 #e5dfd6; }.report-card header { display:flex; justify-content:space-between; gap:20px; padding:20px 27px; border-bottom:1px solid var(--line); font-size:10px; letter-spacing:.05em; text-transform:uppercase; }.report-card header span { color:#777b7c; }.report-card header b { color:var(--red); }.report-card-title { display:flex; justify-content:space-between; align-items:end; padding:31px 27px 27px; background:linear-gradient(107deg,#fff 0%,#fff4f5 100%); }.report-card-title p { margin:0; font-family:Montserrat,sans-serif; font-size:30px; line-height:.99; letter-spacing:-.06em; font-weight:600; }.report-card-title span { color:var(--red); font-size:11px; line-height:1.4; text-align:right; }.report-card dl { margin:0; padding:0 27px; }.report-card dl > div { display:grid; grid-template-columns:1fr .78fr; gap:27px; padding:22px 0; border-top:1px solid var(--line); }.report-card dt,.report-card dd { margin:0; font-size:12px; line-height:1.45; }.report-card dt { display:flex; gap:9px; font-weight:700; }.report-card dt i { color:var(--red); font-style:normal; font-size:10px; }.report-card dd { color:#6b6e70; }.report-card footer { display:flex; justify-content:space-between; padding:14px 27px; background:#24282b; color:#fff; font-size:10px; }.report-card footer span:last-child { opacity:.7; }
.physician { padding:113px 0; background:var(--ink); color:#fff; }.physician-layout { display:grid; grid-template-columns:.95fr 1.05fr; align-items:center; gap:clamp(50px,10vw,165px); }.physician .eyebrow { color:#ff96a6; }.physician-lead { max-width:425px; margin:27px 0; color:rgba(255,255,255,.76); font-size:16px; line-height:1.6; }.physician .boundary { max-width:470px; border-color:rgba(255,255,255,.28); color:rgba(255,255,255,.73); }.physician .boundary span { color:#ff96a6; }.discussion { position:relative; min-height:392px; }.discussion-back,.discussion-note,.discussion-center { position:absolute; border-radius:14px; }.discussion-back,.discussion-note { display:flex; flex-direction:column; padding:22px; }.discussion-back span,.discussion-note span { margin-bottom:auto; font-size:10px; font-weight:700; }.discussion-back b,.discussion-note b { font-family:Montserrat,sans-serif; font-size:20px; letter-spacing:-.05em; }.discussion-back small,.discussion-note small,.discussion-center small { margin-top:7px; font-size:11px; line-height:1.4; }.discussion-back { width:60%; height:267px; left:0; top:27px; background:#eae5dd; color:var(--ink); transform:rotate(-5deg); }.discussion-note { width:56%; height:230px; right:0; bottom:0; background:var(--red); color:#fff; transform:rotate(4deg); }.discussion-center { z-index:2; display:flex; flex-direction:column; justify-content:center; width:53%; min-height:210px; left:23%; top:91px; padding:25px; background:#fff; color:var(--ink); box-shadow:0 18px 39px rgba(0,0,0,.23); }.discussion-center i { display:grid; place-items:center; width:29px; height:29px; margin-bottom:14px; border-radius:50%; background:var(--red); color:#fff; font-style:normal; font-size:20px; }.discussion-center strong { font-family:Montserrat,sans-serif; font-size:24px; line-height:1.03; letter-spacing:-.055em; }.discussion-center small { color:#676a6c; }
.process { padding:113px 0 124px; background:var(--white); }.process-head { margin-bottom:66px; }.process-head > p { max-width:316px; }.process-track { position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:22px; margin:0; padding:0; list-style:none; }.process-track::before { position:absolute; content:""; top:26px; left:0; right:0; height:1px; background:rgba(217,31,61,.55); }.process-track li { position:relative; }.process-track b { position:relative; z-index:1; display:grid; place-items:center; width:53px; height:53px; margin-bottom:29px; border-radius:50%; background:var(--white); border:1px solid var(--red); color:var(--red); font-size:11px; }.process-track li:nth-child(even) b { background:var(--red); color:#fff; }.process-track h3 { min-height:47px; margin:0 0 11px; font-size:18px; line-height:1.08; letter-spacing:-.045em; }.process-track p { max-width:190px; margin:0; color:var(--muted); font-size:12px; line-height:1.55; }.footer { background:var(--sand); }.footer-inner { display:flex; align-items:center; justify-content:space-between; min-height:74px; color:#606364; font-size:11px; }.footer nav { display:flex; gap:13px; }.footer nav a { display:grid; place-items:center; width:38px; height:29px; border:1px solid var(--line); border-radius:999px; color:var(--ink); font-weight:700; }.footer nav a:hover { border-color:var(--red); color:var(--red); }
@media (max-width:900px) { .shell{width:min(100% - 40px,700px)}.site-header nav{display:none}.header-link{margin-left:auto}.hero-frame{min-height:0;grid-template-columns:1fr}.hero-copy{padding:60px 38px 45px}.hero-art{height:475px}.hero-art img{left:1%;width:104%}.section-head,.report-layout,.physician-layout{grid-template-columns:1fr;gap:30px}.section-head>p{margin:0}.moment-grid{margin-top:40px}.report-layout{align-items:start}.report-card{max-width:680px}.physician-layout{gap:48px}.discussion{max-width:630px;width:100%}.process-track{grid-template-columns:repeat(3,1fr);row-gap:40px}.process-track::before{right:auto;bottom:0;width:1px;height:auto;left:26px}.process-track li{display:grid;grid-template-columns:53px 1fr;column-gap:17px}.process-track b{grid-row:span 2;margin:0}.process-track h3{min-height:auto;margin:5px 0 9px}.process-track p{grid-column:2;max-width:230px}.process{padding-bottom:80px} }
@media (max-width:540px) { .shell{width:calc(100% - 32px)}.header-inner{min-height:64px}.brand img{width:132px}.header-link{font-size:10px}.hero{padding:16px 0 48px}.hero-frame{border-radius:18px}.hero-copy{padding:41px 24px 37px}.eyebrow{font-size:9px;margin-bottom:17px}h1{font-size:41px;line-height:1.01;letter-spacing:-.045em}.hero-lead{margin:21px 0 25px;font-size:16px}.button{padding-left:17px;font-size:11px}.hero-art{height:370px}.hero-art::before{inset:12px}.hero-art img{left:-6%;width:112%;height:112%}.hero-art-meta--top{top:26px;right:24px;font-size:8px}.hero-art-meta--bottom{bottom:25px;left:25px;font-size:9px}.hero-chip{padding:8px 10px;font-size:9px}.hero-chip--one{left:8%;top:26%}.hero-chip--two{right:6%;bottom:24%}.audience,.report,.physician,.process{padding:70px 0}.section-head{gap:22px}h2{font-size:39px;line-height:1.03}.section-head>p,.report-intro>p:last-child{font-size:14px}.moment-grid{grid-template-columns:1fr;gap:10px;margin-top:35px}.moment{min-height:250px;padding:24px}.moment-no{margin-bottom:47px}.moment h3{font-size:32px}.audience-boundary{margin-top:22px;font-size:12px}.report-layout{gap:36px}.report-card{border-radius:12px;box-shadow:8px 10px 0 #e5dfd6}.report-card header,.report-card-title,.report-card dl,.report-card footer{padding-left:17px;padding-right:17px}.report-card header{font-size:8px}.report-card-title p{font-size:24px}.report-card dl>div{grid-template-columns:1fr;gap:7px;padding:17px 0}.report-card dt,.report-card dd{font-size:11px}.physician-layout{gap:34px}.physician-lead{font-size:14px}.physician .boundary{font-size:12px}.discussion{min-height:324px}.discussion-back{height:208px;padding:17px}.discussion-note{height:183px;padding:17px}.discussion-back b,.discussion-note b{font-size:16px}.discussion-center{min-height:169px;padding:19px;top:71px}.discussion-center strong{font-size:20px}.discussion-center small,.discussion-back small,.discussion-note small{font-size:9px}.process-head{margin-bottom:41px}.process-track{display:block}.process-track::before{bottom:20px}.process-track li{margin-bottom:26px}.process-track p{font-size:11px}.footer-inner{min-height:65px;font-size:9px}.footer nav a{width:34px;height:27px;font-size:10px} }

.hero-title-context { display:block; margin-top:9px; font-size:.74em; line-height:1.16; letter-spacing:-.04em; }
.moment-art { position:absolute; width:215px; height:215px; object-fit:contain; top:-20px; right:-5px; transform:rotate(-15deg); opacity:.94; pointer-events:none; }
.moment--red h3 { max-width:360px; }
.moment--red p { max-width:305px; }
.physician { background:#fff; color:var(--ink); }
.physician .eyebrow,.physician .boundary span { color:var(--red); }
.physician-lead,.physician .boundary { color:var(--muted); }
.physician .boundary { border-color:var(--line); }
.discussion-center { box-shadow:0 16px 38px rgba(36,40,43,.08); border:1px solid var(--line); }
.process { background:var(--paper); }
.process-track b { background:var(--paper); }
@media (max-width:900px) { .moment-art { width:170px; height:170px; top:-30px; } }
@media (max-width:540px) { .hero-title-context { font-size:.71em; } .moment-art { width:145px; height:145px; right:-10px; top:-20px; } .moment--red .moment-no { margin-bottom:98px; } .moment--red h3 { max-width:240px; } }

/* The discussion cards share a visual field without hiding each other's content. */
.discussion-back { width:48%; height:171px; left:0; top:22px; transform:rotate(-2deg); }
.discussion-note { width:48%; height:171px; right:0; top:22px; bottom:auto; transform:rotate(2deg); }
.discussion-center { width:64%; min-height:169px; left:18%; top:211px; }
@media (max-width:540px) { h1 { font-size:34px; overflow-wrap:normal; } .discussion-back,.discussion-note { top:14px; height:139px; padding:14px; } .discussion-center { min-height:142px; top:169px; } }
@media (max-width:350px) { .hero-copy { padding-right:18px; padding-left:18px; } h1 { font-size:24px; } }

/* Motion is progressive: all content remains visible without JavaScript. */
.method { padding:96px 0; background:var(--paper); }
.method-layout { display:grid; grid-template-columns:.7fr 1.3fr; align-items:center; gap:64px; }
.method-video { min-width:0; margin:0; }
.video-poster { aspect-ratio:16/9; position:relative; overflow:hidden; border:1px solid rgba(159,23,49,.1); border-radius:22px; background:radial-gradient(ellipse at 75% 100%,#efd4d6,transparent 65%),linear-gradient(135deg,#fff,#f4ede7); }
.video-poster::before { content:""; position:absolute; width:72%; aspect-ratio:1; top:8%; left:35%; border-radius:50%; border:1px solid rgba(159,23,49,.12); box-shadow:0 0 0 42px rgba(255,255,255,.17),0 0 0 84px rgba(255,255,255,.15); }
.video-poster-top { position:absolute; z-index:1; top:26px; left:28px; right:28px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.video-poster-top img { width:132px; height:auto; }
.video-poster-top>span { font-size:10px; color:var(--wine); text-transform:uppercase; letter-spacing:.12em; }
.video-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:72px; height:72px; border-radius:50%; background:rgba(255,255,255,.82); color:var(--red); box-shadow:0 12px 40px rgba(159,23,49,.07); }
.video-poster-bottom { position:absolute; left:28px; right:28px; bottom:26px; display:flex; gap:5px; }
.video-poster-bottom span { height:3px; flex:1; border-radius:3px; background:rgba(159,23,49,.1); }
.method-video figcaption { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:16px; color:var(--muted); font-size:12px; line-height:1.5; }
.discussion-map { min-height:0; }
.discussion-sources { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; list-style:none; padding:0; margin:0; }
.discussion-sources li { position:relative; min-height:166px; padding:22px 14px; border:1px solid #e3ded7; border-radius:14px; background:var(--paper); }
.discussion-sources svg { display:block; width:28px; height:32px; margin-bottom:26px; fill:none; stroke:var(--red); stroke-width:1.3; stroke-linejoin:round; }
.discussion-sources h3 { margin:0; font-size:clamp(12px,1.1vw,15px); line-height:1.4; font-weight:600; letter-spacing:-.035em; }
.discussion-sources li::after { content:""; position:absolute; left:50%; bottom:-25px; height:24px; width:1px; background:var(--red); opacity:.45; }
.discussion-sources::after { content:""; position:absolute; bottom:-25px; left:calc((100% - 24px)/6); right:calc((100% - 24px)/6); height:1px; background:var(--red); opacity:.45; }
.discussion-connector { position:relative; height:60px; }
.discussion-connector::before { content:""; position:absolute; width:1px; background:var(--red); opacity:.45; left:50%; top:25px; bottom:0; }
.discussion-connector::after { content:""; position:absolute; left:calc(50% - 3px); bottom:0; width:6px; height:6px; border-right:1px solid var(--red); border-bottom:1px solid var(--red); transform:rotate(45deg); }
.discussion-result { padding:28px 24px; border-radius:16px; background:var(--wine); color:white; text-align:center; }
.discussion-result>span { display:block; margin-bottom:9px; font-size:11px; opacity:.8; }
.discussion-result h3 { margin:0; font-size:clamp(20px,2vw,27px); font-weight:500; letter-spacing:-.04em; }
@media (max-width:540px) { .discussion-sources { gap:8px; } .discussion-sources li { min-height:145px; padding:18px 8px; } .discussion-sources h3 { font-size:11px; } .discussion-sources::after { left:calc((100% - 16px)/6); right:calc((100% - 16px)/6); } .discussion-result { padding:24px 12px; } }
@media (max-width:900px) { .method-layout { grid-template-columns:1fr; gap:32px; } }
@media (max-width:540px) { .method { padding:64px 0; } .video-poster { border-radius:16px; } .video-poster-top { top:18px; left:18px; right:18px; } .video-poster-top img { width:106px; } .video-poster-top>span { font-size:8px; } .video-play { width:52px; height:52px; } .video-poster-bottom { bottom:18px; left:18px; right:18px; } .method-video figcaption { font-size:10px; gap:8px; } }
a:focus-visible { outline:3px solid var(--red); outline-offset:5px; }
.hero-copy { min-width:0; z-index:3; }
@media (min-width:901px) and (max-width:1150px) { .hero-copy { padding:60px 32px 48px; } h1 { font-size:44px; } .hero-lead { font-size:16px; max-width:320px; } .hero-art img { left:-16%; width:116%; } }
.process-track::before { display:none; }
.process-track li:not(:last-child)::before,.process-track li:not(:last-child)::after { content:""; position:absolute; top:26px; left:26px; width:calc(100% + 22px); height:1px; background:rgba(217,31,61,.22); }
.process-track li:not(:last-child)::after { background:var(--red); transform-origin:left center; }
.process-track li b,.process-track li:nth-child(even) b { background:var(--paper); color:var(--red); }
@media (max-width:900px) {
  .process-track { display:block; }
  .process-track li { margin-bottom:28px; }
  .process-track li:last-child { margin-bottom:0; }
  .process-track p { max-width:450px; }
  .process-track li:not(:last-child)::before,.process-track li:not(:last-child)::after { top:26px; left:26px; width:1px; height:calc(100% + 28px); transform-origin:center top; }
}
.button:focus-visible { outline-color:var(--wine); }
@media (prefers-reduced-motion: no-preference) {
  .process-motion li:not(:last-child)::after { transform:scaleX(0); }
  .process-motion li.is-reached::after { animation:step-line .44s linear calc(var(--step-delay,0ms) + .12s) both; }
  .process-motion li.is-reached b { animation:step-number .45s ease var(--step-delay,0ms) both; }
  @keyframes step-line { from { transform:scaleX(0); } to { transform:scaleX(1); } }
  @keyframes step-number { 0% { background:var(--paper); color:var(--red); box-shadow:0 0 0 0 rgba(217,31,61,.15); } 70% { box-shadow:0 0 0 9px rgba(217,31,61,0); } 100% { background:var(--red); color:white; box-shadow:0 0 0 0 rgba(217,31,61,0); } }
  @media (max-width:900px) {
    .process-motion li:not(:last-child)::after { transform:scaleY(0); }
    .process-motion li.is-reached::after { animation-name:step-line-vertical; }
    @keyframes step-line-vertical { from { transform:scaleY(0); } to { transform:scaleY(1); } }
  }
  html { scroll-behavior:smooth; }
  .button, .moment, .discussion-back, .discussion-note, .discussion-center {
    transition:transform .3s ease, box-shadow .3s ease, background-color .3s ease;
  }
  .button span, .header-link span, .moment-mark, .hero-art img, .hero-chip, .process-track b {
    transition:transform .45s cubic-bezier(.2,.7,.2,1), background-color .25s ease, color .25s ease;
  }
  .site-header a, .footer a { transition:color .2s ease, border-color .2s ease; }
  @media (hover:hover) and (pointer:fine) {
    .button:hover { transform:translateY(-2px); background:var(--wine); box-shadow:0 16px 28px rgba(217,31,61,.25); }
    .button:hover span, .header-link:hover span { transform:translate(2px,-2px); }
    .button:active { transform:translateY(0); }
    .moment:hover { transform:translateY(-4px); box-shadow:0 15px 28px rgba(36,40,43,.09); }
    .moment:hover .moment-mark { transform:translate(3px,3px); }
    .hero-art:hover img { transform:translateY(-50%) rotate(-3deg) scale(1.025); }
    .hero-art:hover .hero-chip--one { transform:translate(-4px,-5px); }
    .hero-art:hover .hero-chip--two { transform:translate(4px,5px); }
    .discussion-back:hover { transform:rotate(0) translateY(-4px); }
    .discussion-note:hover { transform:rotate(0) translateY(-4px); }
    .discussion-center:hover { transform:translateY(-4px); box-shadow:0 20px 38px rgba(36,40,43,.12); }
    .process-track li:hover b { transform:scale(1.1); background:var(--wine); color:#fff; }
  }
}
