/* beeem research page. Built on home.css variables; loaded after home.css.
   Shapes: full-bleed hero, three-line summary, case rows with before/after
   sliders, protocol cards led by an image, QRA, people, sources, closing CTA. */

/* Current page in the nav */
.nav-links a[aria-current="page"]{color:var(--cream)}
.nav-links a[aria-current="page"]::after{transform:scaleX(1)}
.mobile-panel a[aria-current="page"]{background:rgba(242,238,230,.06);color:var(--lime-soft)}

/* Shared section rhythm */
.r-sec{padding:clamp(72px,9vw,120px) 0;position:relative}
.r-alt{background:var(--bg-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.r-sec .section-head h2{margin-bottom:0}
.r-sec .section-head .section-sub{margin-top:20px}
.section-head .section-sub{max-width:62ch}
.rsch-source{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);line-height:1.7}
.rsch-fine{margin-top:16px;font-size:13px;line-height:1.7;color:var(--dim)}
.rsch-fine a{color:var(--lime-soft);text-decoration:underline;text-underline-offset:3px}
.r-cases-note{margin-top:16px}
p,li,dd,blockquote{text-wrap:pretty}

/* Hero: the research itself. Copy and a ledger of who ran each study on the
   left; on the right a specimen plate holding one real before/after pair, with
   the devices resting across its foot. Sized to fit one screen. */
.r-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;background:var(--bg-deep);
  min-height:calc(100svh - var(--header-h) - var(--announce-h));max-height:860px}
.r-hero::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(55% 65% at 76% 48%,rgba(var(--lime-rgb),.08),transparent 70%)}
.r-hero-inner{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-areas:"copy plate" "act plate";grid-template-rows:auto auto;column-gap:clamp(32px,5vw,80px);align-content:center;align-items:end;padding-block:clamp(28px,5vh,64px)}
.r-hero-copy{grid-area:copy}
.r-hero-actions{grid-area:act;align-self:start;max-width:540px}
.r-plate{grid-area:plate;align-self:center}
.r-hero-copy{max-width:540px}
.r-hero h1{font-size:clamp(48px,5.2vw,84px);line-height:.96;white-space:nowrap}
.r-hero h1 em{display:inline}
.r-hero .lead{max-width:34ch;font-size:clamp(17px,1.35vw,19px);color:var(--lead)}
.r-hero .hero-actions{display:flex;align-items:center;gap:26px;margin-top:26px;flex-wrap:wrap}

/* Who ran what: a quiet ledger, hairline rules, no big numbers */
.r-ledger{margin:clamp(26px,4vh,40px) 0 0;padding:0;display:grid;border-top:1px solid var(--line)}
.r-ledger div{display:grid;grid-template-columns:minmax(0,13em) 1fr;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);align-items:baseline}
.r-ledger dt{font:600 11px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--lime-soft)}
.r-ledger dd{margin:0;font-size:14px;color:var(--lead)}

/* Specimen plate */
.r-plate{position:relative;margin:0 0 clamp(36px,6vh,56px);padding:clamp(18px,2vw,26px) clamp(18px,2.2vw,30px) clamp(64px,7vw,96px);border-radius:28px;
  border:1px solid var(--line-strong);
  background:
    linear-gradient(rgba(242,238,230,.035) 1px,transparent 1px) 0 0/28px 28px,
    linear-gradient(90deg,rgba(242,238,230,.035) 1px,transparent 1px) 0 0/28px 28px,
    linear-gradient(160deg,rgba(var(--lime-soft-rgb),.06),rgba(var(--deep-rgb),.4));
  box-shadow:0 40px 90px -40px rgba(0,0,0,.7)}
.r-plate-tag{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:clamp(16px,2.4vh,26px);
  font:600 10.5px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.r-plate-tag span:first-child{color:var(--lime-soft)}
.r-plate-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:auto auto auto;justify-items:center;align-items:center;text-align:center;row-gap:6px}
.r-plate-field{display:contents}
.r-plate-field:first-child>*{grid-column:1}
.r-plate-field:last-child>*{grid-column:3}
.r-plate-pair .r-dish{grid-row:1}
.r-plate-label{grid-row:2}
.r-plate-note{grid-row:3;align-self:start}
.r-dish{display:block;width:min(100%,250px,27vh);aspect-ratio:1;border-radius:50%;overflow:hidden;
  border:1px solid rgba(242,238,230,.38);box-shadow:0 0 0 6px rgba(242,238,230,.04),0 22px 44px -12px rgba(0,0,0,.6)}
.r-dish img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.35)}
.r-plate-label{margin-top:10px;font:500 clamp(22px,1.9vw,28px)/1 var(--serif);color:var(--cream)}
.r-plate-note{font-size:14px;line-height:1.35;color:var(--cream);opacity:.82;white-space:nowrap}
.r-plate-quote{margin:clamp(14px,2.2vh,22px) auto 0;max-width:34em;text-align:center}
.r-plate-quote p{margin:0;font:italic 400 clamp(17px,1.45vw,21px)/1.35 var(--serif);color:var(--cream);text-wrap:balance}
.r-plate-quote cite{display:block;margin-top:8px;font-style:normal;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--lime-soft)}
/* The light between the two samples, centred on the dishes */
.r-plate-light{grid-row:1;grid-column:2;position:relative;z-index:1;margin-inline:-14px;
  display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;white-space:nowrap;
  background:rgba(var(--deep-rgb),.92);border:1px solid rgba(var(--lime-rgb),.45);
  font:600 11px/1 var(--sans);letter-spacing:.08em;color:var(--cream);box-shadow:0 0 24px rgba(var(--lime-rgb),.25)}
.r-plate-light i{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px var(--lime);animation:r-glow 2.4s ease-in-out infinite}
@keyframes r-glow{50%{opacity:.35}}
.r-plate-duo{position:absolute;left:50%;bottom:0;width:min(78%,440px);height:auto;transform:translate(-50%,42%) rotate(-4deg);
  filter:drop-shadow(0 22px 30px rgba(0,0,0,.55))}

/* Plain summary */
.r-summary{padding:clamp(64px,8vw,108px) 0 clamp(56px,7vw,90px);background:var(--bg)}
.r-plain{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,64px)}
.r-plain-item{padding-top:24px;border-top:1px solid var(--line-strong)}
.r-plain-label{font:600 12px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--lime-soft);margin-bottom:18px}
.r-plain-item p{font-family:var(--serif);font-weight:500;font-size:clamp(28px,2.7vw,40px);line-height:1.15;letter-spacing:-.01em;color:var(--cream);text-wrap:balance}
.r-plain-note{margin-top:44px;max-width:none}

/* Case rows */
.rsch-case{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.rsch-case:first-of-type{margin-top:0}
.rsch-case + .rsch-case{margin-top:clamp(56px,7vw,96px);padding-top:clamp(56px,7vw,96px);border-top:1px solid var(--line)}
.rsch-case-media{min-width:0}
.rsch-case-body{min-width:0;padding-top:6px}
.rsch-case-tag{display:inline-block;padding:6px 14px;border-radius:999px;font:600 12px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--line-strong);color:var(--lime-soft);margin-bottom:20px}
.rsch-case-tag.is-on{color:var(--on);border-color:rgba(163,255,18,.45)}
.rsch-case-tag.is-in{color:var(--red-soft);border-color:rgba(255,77,74,.45)}
.rsch-case h3{font-family:var(--serif);font-weight:500;font-size:clamp(32px,3.2vw,46px);line-height:1.08;letter-spacing:-.015em;margin-bottom:24px;text-wrap:balance}
.rsch-read{display:grid;gap:0;margin:0 0 26px;border-top:1px solid var(--line)}
.rsch-read div{display:grid;grid-template-columns:84px 1fr;gap:18px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}
.rsch-read dt{font:600 12px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.rsch-read dd{margin:0;font-size:16.5px;line-height:1.6;color:var(--muted)}
.rsch-read .is-after dt{color:var(--lime)}
.rsch-read .is-after dd{color:var(--cream)}

/* Doctor quote inside a case: a full tinted box */
.rsch-quoted{padding:22px 24px;border-radius:18px;background:rgba(var(--lime-rgb),.05);border:1px solid var(--line);font:italic 500 20px/1.4 var(--serif);color:var(--cream);margin-bottom:22px}
.rsch-quoted .rsch-source{display:block;margin-top:12px;font-style:normal;font-family:var(--sans);color:var(--lime-soft)}
.rsch-case-foot{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between}
.rsch-case-foot a{color:var(--lime-soft);border-bottom:1px solid rgba(var(--lime-soft-rgb),.45);padding-bottom:3px;font-size:14px;font-weight:500;white-space:nowrap}
.rsch-case-foot a::after{content:' →'}

/* Before/after slider (base look lives in home.css; this tunes it for the case rows) */
.rsch-slider{aspect-ratio:16/11}
.rsch-slider:hover{border-color:var(--line-strong)}
.rsch-slider:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
.rsch-handle{display:flex;align-items:center;justify-content:center}
.rsch-handle svg{flex:none;position:relative;z-index:2;width:18px;height:18px;fill:none;stroke:var(--cream);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.rsch-hint{margin-top:12px;font-size:12.5px;color:var(--dim);text-align:center}

/* Full frames, collapsed */
.rsch-stills{margin-top:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rsch-stills summary{cursor:pointer;list-style:none;padding:16px 40px 16px 0;font-size:15px;font-weight:500;position:relative}
.rsch-stills summary::-webkit-details-marker{display:none}
.rsch-stills summary::after{content:'+';position:absolute;right:4px;top:8px;font-size:26px;line-height:1.4;color:var(--lime);transition:transform .3s var(--ease)}
.rsch-stills[open] summary::after{transform:rotate(45deg)}
.case-stills{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:4px 0 22px}
.case-stills figure{margin:0}
.case-stills img,.case-stills svg{width:100%;aspect-ratio:16/11;object-fit:cover;border-radius:14px;border:1px solid var(--line);background:var(--panel);display:block}
.case-stills .ref-frame{grid-column:1 / -1;max-width:calc(50% - 7px)}
.case-stills .ref-frame svg{padding:14px;box-sizing:border-box}
.case-stills figcaption{margin-top:8px;font-size:13px;line-height:1.5;color:var(--muted)}
.case-stills strong{display:block;margin-bottom:2px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--lime-soft)}

/* Closing quote: a full tinted box, no side stripe */
.rsch-quote{margin-top:clamp(56px,7vw,96px);padding:clamp(28px,4vw,52px);border-radius:28px;background:rgba(var(--lime-rgb),.05);border:1px solid var(--line-strong)}
.rsch-quote p{font:italic 500 clamp(24px,2.6vw,36px)/1.3 var(--serif);color:var(--cream);max-width:40ch;text-wrap:balance}
.rsch-quote cite{display:block;margin-top:20px;font:600 12px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;font-style:normal;color:var(--lime-soft)}

/* Protocol cards, led by a large image */
.rsch-protocols{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,36px)}
.rsch-protocol{border-radius:28px;overflow:hidden;border:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column}
.is-on-card{background:radial-gradient(90% 40% at 50% 0,#1d4a26,transparent 70%),#0e2316}
.is-in-card{background:radial-gradient(90% 40% at 50% 0,#4a1d1d,transparent 70%),#1d1413}
.rsch-protocol-media{position:relative;aspect-ratio:5/4;background:var(--panel-2)}
.rsch-protocol-media img{width:100%;height:100%;object-fit:cover}
.rsch-protocol-media figcaption{position:absolute;left:14px;bottom:14px;padding:6px 12px;border-radius:999px;background:rgba(var(--deep-rgb),.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:12px;color:var(--muted)}
.rsch-protocol-body{padding:clamp(24px,3vw,40px)}
.rsch-protocol h3{font-family:var(--serif);font-weight:500;font-size:clamp(28px,2.6vw,36px);line-height:1.1;margin-bottom:8px}
.rsch-protocol .rsch-source{margin-bottom:22px}
.rsch-protocol ol{display:grid;gap:14px;counter-reset:rstep}
.rsch-protocol li{position:relative;padding-left:40px;font-size:15.5px;line-height:1.6;color:var(--muted);counter-increment:rstep}
.rsch-protocol li::before{content:counter(rstep,decimal-leading-zero);position:absolute;left:0;top:2px;font:600 13px/1.4 var(--sans);letter-spacing:.12em;color:var(--lime)}
.rsch-protocol-text{padding:clamp(24px,3vw,40px)}

/* QRA */
.rsch-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:clamp(32px,5vw,64px);align-items:end;margin-bottom:clamp(36px,4vw,56px)}
.rsch-head h2{margin-bottom:20px}
.rsch-lede{max-width:64ch;color:var(--muted);font-size:17px}
.rsch-standard{padding:30px;border-radius:24px;background:rgba(var(--lime-rgb),.05);border:1px solid var(--line-strong)}
.rsch-standard h3{font:600 12px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--lime-soft);margin-bottom:16px}
.rsch-standard p{font-family:var(--serif);font-weight:500;font-size:26px;line-height:1.25;color:var(--cream);margin-bottom:14px}
.rsch-standard p em{color:var(--gold-soft)}
.rsch-standard .rsch-standard-note{font-family:var(--sans);font-weight:400;font-size:15px;line-height:1.7;color:var(--muted);margin-bottom:0}
.rsch-standard .rsch-standard-note em{color:var(--cream)}
.rsch-reported{margin-top:44px;max-width:72ch;color:var(--muted);font-size:16.5px}
.rsch-reported strong{color:var(--cream)}
.rsch-context{margin-top:16px;max-width:72ch;text-transform:none;letter-spacing:0;font-weight:400;font-size:13px}

/* People */
.people-band{margin:0 0 clamp(28px,3.5vw,44px);border-radius:28px;overflow:hidden;aspect-ratio:21/8;background:var(--panel);position:relative;box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.people-band::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(var(--deep-rgb),.45),transparent 50%)}
.people-band img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
.rsch-people{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.rsch-person{padding:28px 24px;border-radius:22px;background:var(--panel);border:1px solid var(--line)}
.rsch-person-field{font:600 11.5px/1.5 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--lime-soft);margin-bottom:14px}
.rsch-person h3{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.1;margin-bottom:10px}
.rsch-person p:last-child{font-size:15px;line-height:1.65;color:var(--muted)}

/* Sources and request form */
.r-capture{background:var(--bg)}
.capture-grid{display:grid;grid-template-columns:1fr;gap:clamp(20px,3vw,28px);max-width:760px}
.rsch-box{padding:clamp(24px,3vw,38px);border-radius:24px;background:var(--panel);border:1px solid var(--line);position:relative}
.rsch-box > .rsch-fine:first-child{margin-top:0;margin-bottom:18px}
.doc-links{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.doc-links a{display:inline-flex;align-items:center;min-height:44px;padding:9px 18px;border-radius:999px;border:1px solid var(--line-strong);font-size:14px;font-weight:500;color:var(--cream);transition:border-color .3s,background .3s}
.doc-links a:hover{border-color:var(--lime);background:rgba(var(--lime-rgb),.08)}
.form-group{margin-bottom:18px}
.form-group label{display:block;margin-bottom:8px;font:600 12px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.form-group input{width:100%;min-height:54px;padding:12px 18px;border-radius:16px;border:1px solid var(--line-strong);background:var(--bg-deep);color:var(--cream);font:400 16px/1.4 var(--sans);transition:border-color .2s,box-shadow .2s}
.form-group input::placeholder{color:var(--dim-3)}
.form-group input:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 4px rgba(var(--lime-rgb),.12)}
.rsch-box .btn{cursor:pointer;border:0}
.rsch-box .btn[disabled]{opacity:.6;cursor:progress}

/* Closing call to action */
.r-cta{padding:clamp(80px,10vw,130px) 0;text-align:center;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(50% 80% at 50% 100%,var(--glow-closing),transparent 70%),var(--bg-deep)}
.r-cta::before{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(var(--lime-rgb),.6) 1px,transparent 1.6px);background-size:22px 22px;-webkit-mask-image:radial-gradient(60% 70% at 50% 100%,#000,transparent);mask-image:radial-gradient(60% 70% at 50% 100%,#000,transparent);opacity:.5}
.r-cta h2{font-size:clamp(44px,5.4vw,80px);margin-bottom:34px}

/* Legal, always open */
.rsch-legal{padding:clamp(48px,6vw,72px) 0;border-top:1px solid var(--line);background:var(--bg)}
.rsch-legal .wrap{max-width:880px}
.legal-title{font:600 12px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--lime-soft);margin-bottom:20px}
.rsch-legal p{font-size:13.5px;line-height:1.85;color:var(--muted);margin-bottom:14px}
.rsch-legal p:last-child{margin-bottom:0}
.rsch-legal strong{color:var(--cream);font-weight:600}

/* Reveal tuning for the long page */
.js .rsch-case-body[data-reveal]{transition-delay:90ms}

@media (max-width:1080px){
  .rsch-people{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .r-plain,.rsch-case,.rsch-head,.rsch-protocols,.capture-grid{grid-template-columns:1fr}
  .r-plain{gap:32px}
  .rsch-head{align-items:start}
  .people-band{aspect-ratio:16/9}
  .r-hero{display:block;min-height:0;max-height:none}
  .r-hero-inner{grid-template-columns:1fr;grid-template-areas:"copy" "plate" "act";row-gap:28px;padding-block:28px 40px}
  .r-hero-actions{max-width:none}
  .r-hero .lead{margin-bottom:0}
  .r-plate{max-width:560px;width:100%;justify-self:center;margin-bottom:clamp(20px,6vw,40px)}
  .r-hero-copy{max-width:none}
  .r-hero h1{font-size:clamp(44px,12.5vw,72px)}
  .r-hero h1 em{display:inline}
  .r-hero .lead{max-width:none}
}
@media (max-width:620px){
  .rsch-people{grid-template-columns:1fr}
  .case-stills{grid-template-columns:1fr}
  .case-stills .ref-frame{max-width:none}
  .rsch-read div{grid-template-columns:68px 1fr;gap:12px}
  .r-hero .hero-actions{flex-direction:column;align-items:stretch;gap:10px}
  .r-hero .hero-actions .btn{width:100%}
  .r-hero .hero-actions .text-link{align-self:center}
  .r-ledger div{grid-template-columns:1fr;gap:2px}
  .r-plate{padding:16px 14px 56px;border-radius:22px}
  .r-plate-light{margin-inline:-10px;padding:6px 9px;font-size:10px}
  .r-plate-label{font-size:21px}
  .r-plate-note{font-size:12.5px;white-space:normal;text-wrap:balance;max-width:16ch}
  .r-plate-light{white-space:normal;max-width:96px;text-align:center;line-height:1.25}
  .r-plate-quote p{font-size:15px}
  .r-plate-tag span:last-child{display:none}
  .rsch-quoted{font-size:18px}
}
@media (prefers-reduced-motion:reduce){
  .r-plate-light i{animation:none}
  .js .rsch-case-body[data-reveal]{transition-delay:0ms}
}

.r-hero .r-hero-in{opacity:0;transition:opacity .9s var(--ease)}
:root[data-theme="in"] .r-hero .r-hero-in{opacity:1}
@media (prefers-reduced-motion:reduce){.r-hero .r-hero-in{transition:none}}

/* Jump bar under the hero. The research page is long and its sections are the
   reason people arrive; this lets them pick one instead of scrolling for it. */
.r-jump { border-bottom: 1px solid var(--line, rgba(255,255,255,.12)); }
.r-jump-inner { display: flex; flex-wrap: wrap; gap: 8px 10px; padding: 16px 24px; }
.r-jump a {
  padding: 8px 16px; border: 1px solid var(--line, rgba(255,255,255,.16)); border-radius: 999px;
  color: var(--cream, #F3EFE4); font-size: 14px; line-height: 1.2; text-decoration: none;
  transition: border-color .2s, color .2s, background-color .2s;
}
.r-jump a:hover, .r-jump a:focus-visible {
  border-color: var(--lime, #A3FF12); color: var(--lime, #A3FF12);
  background: rgba(var(--lime-rgb, 163,255,18), .07);
}

@media (min-width:901px) and (max-height:780px){
  .r-hero-inner{padding-block:18px}
  .r-plate-quote{margin-top:10px}
  .r-plate-quote p{font-size:17px}
}
