/* XRF has two reading blocks; original measurement photographs stay uncropped. */
.focused-view #xrf.xrf-showcase {
  display:block;
  width:min(calc(100% - 64px),1260px);
  margin:0 auto;
  padding:0;
  background:transparent;
}
#xrf .xrf-overview {
  min-height:calc(100dvh - 64px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:24px;
  padding:32px;
  background:#eff3f5;
}
#xrf .xrf-back { align-self:flex-start; margin:0; }
#xrf .xrf-intro { display:grid; grid-template-columns:1fr 1.05fr; gap:40px; align-items:center; }
#xrf .xrf-copy h2 { font-size:clamp(32px,4.6vh,44px); }
#xrf .xrf-jump { margin-top:18px; }
#xrf .xrf-step-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:40px; padding:8px 14px; border:1px solid #b4734e66; border-radius:3px; background:#f9f8f6; color:var(--copper); font-size:14px; font-weight:600; line-height:1.4; cursor:pointer; }
#xrf .xrf-step-button:hover { background:#eee5de; border-color:var(--copper); }
#xrf .xrf-step-button span { font-size:19px; }
#xrf .xrf-step-count { margin-left:14px; font-size:10px; color:var(--muted); letter-spacing:.08em; }
#xrf .xrf-jump span { padding-left:10px; }
#xrf .xrf-evidence { min-height:calc(100dvh - 64px); width:100%; max-width:900px; margin:0 auto; padding:20px 0; display:flex; flex-direction:column; justify-content:center; gap:18px; scroll-margin-top:0; }
#xrf .xrf-evidence-heading { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; }
#xrf .xrf-evidence-heading .eyebrow { margin:0 0 8px; font-size:12px; }
#xrf .xrf-evidence-heading h2 { font-size:clamp(30px,3.9vh,40px); }
#xrf .xrf-gallery-help { justify-self:end; max-width:320px; }
#xrf .xrf-gallery-help p { font-size:14px; line-height:1.45; margin:0 0 8px; }
#xrf .xrf-readings-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:1fr; gap:12px; width:min(100%,clamp(570px,90vh,750px)); margin:0 auto; }
#xrf .xrf-reading { margin:0; min-width:0; }
#xrf .xrf-reading-open { display:flex; flex-direction:column; width:100%; height:100%; padding:0; text-align:left; background:#f5f7f8; border:1px solid var(--line); border-radius:4px; overflow:hidden; color:var(--ink); cursor:pointer; transition:border-color .2s,box-shadow .2s; }
#xrf .xrf-reading-open:hover { border-color:var(--copper); box-shadow:0 4px 14px #30445015; }
#xrf .xrf-reading-open:focus-visible { outline:3px solid var(--copper); outline-offset:3px; }
#xrf .xrf-reading-photo { display:block; width:100%; flex:none; height:clamp(140px,24vh,220px); position:relative; background:#dfe5e9; }
#xrf .xrf-reading-photo img { display:block; width:100%; height:100%; object-fit:contain; }
#xrf .xrf-expand { position:absolute; right:9px; bottom:9px; display:grid; place-items:center; width:28px; height:28px; background:#fafcfde8; color:var(--ink); border-radius:3px; font-size:20px; }
#xrf .xrf-reading-caption { display:flex; width:100%; flex:1; flex-direction:row; align-items:center; justify-content:space-between; gap:8px; min-height:42px; padding:8px 10px; border-top:1px solid var(--line); }
#xrf .xrf-reading-number { color:var(--copper); font-size:9px; letter-spacing:.06em; white-space:nowrap; }
#xrf .xrf-reading-label { font-size:14px; line-height:1.4; text-align:right; }
#xrf .xrf-caption-divider { color:var(--copper); }
#xrf .xrf-reading-description { color:var(--muted); }
#xrf .xrf-reading-caption strong { font-size:15px; line-height:1.3; font-weight:600; }
#xrf .xrf-evidence-footer { display:flex; align-items:center; gap:32px; }
#xrf .xrf-evidence-footer .text-link { flex:none; margin:0; font-size:15px; }
#xrf .xrf-evidence-note { font-size:12px; line-height:1.5; max-width:none; margin:0; color:var(--muted); }
#xrf-lightbox { width:min(calc(100% - 32px),880px); max-width:880px; max-height:92dvh; padding:22px; background:#f5f7f8; }
#xrf-lightbox-image { display:block; width:100%; height:clamp(180px,calc(88dvh - 230px),680px); object-fit:contain; background:#dfe5e9; }
#xrf-lightbox figcaption { position:static; padding:12px 2px 0; }
#xrf-lightbox-count { color:var(--copper); font-size:11px; letter-spacing:.1em; }
#xrf-lightbox-title { font-size:22px; line-height:1.25; margin:4px 0 0; }
#xrf-lightbox-description { margin:5px 0 0; font-size:14px; line-height:1.4; color:var(--muted); }
#xrf-lightbox .lightbox-controls { margin-top:12px; padding-top:6px; }
@media (min-width:761px) and (max-height:680px) {
  #xrf .xrf-overview { padding:22px 26px; gap:16px; }
  #xrf .xrf-intro { gap:26px; }
  #xrf .xrf-copy h2 { font-size:30px; }
  #xrf .xrf-evidence { padding:24px 0; gap:18px; }
}
@media (min-width:761px) {
  html.xrf-snap { scroll-snap-type:y proximity; scroll-padding-top:64px; }
  html.xrf-snap #xrf .xrf-overview, html.xrf-snap #xrf .xrf-evidence { scroll-snap-align:start; scroll-snap-stop:always; scroll-margin:0; }
}
#xrf .xrf-overview:focus, #xrf .xrf-evidence:focus { outline:none; }
@media (max-width:760px) {
  .focused-view #xrf.xrf-showcase { width:calc(100% - 40px); margin:20px auto 30px; }
  #xrf .xrf-overview { padding:24px 20px; min-height:0; gap:24px; }
  #xrf .xrf-intro { grid-template-columns:1fr; gap:28px; }
  #xrf .xrf-copy h2 { font-size:32px; }
  #xrf .xrf-evidence { min-height:0; padding:32px 0 0; gap:20px; }
  #xrf .xrf-evidence-heading { grid-template-columns:1fr; gap:14px; }
  #xrf .xrf-evidence-heading h2 { font-size:30px; }
  #xrf .xrf-gallery-help { justify-self:start; max-width:none; }
  #xrf .xrf-readings-grid { gap:12px; }
  #xrf .xrf-reading-photo { height:clamp(160px,32vw,220px); }
  #xrf .xrf-reading-caption { padding:8px; min-height:42px; }
  #xrf .xrf-reading-label, #xrf .xrf-reading-caption strong { font-size:13px; }
  #xrf .xrf-evidence-footer { align-items:flex-start; flex-direction:column; gap:14px; }
  #xrf-lightbox { padding:14px; }
}
@media (max-width:600px) {
  #xrf .xrf-readings-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #xrf .xrf-reading-photo { height:clamp(160px,48vw,220px); }
  #xrf .xrf-reading-caption { flex-direction:column; align-items:flex-start; justify-content:center; gap:3px; min-height:60px; }
}
@media (prefers-reduced-motion:reduce) {
  #xrf .xrf-reading-open { transition:none; }
}
