/* A quieter editorial layout, with optional technical depth. */
.hero { padding-block: 82px; gap: 90px; }
.hero .intro { max-width: 440px; }
.hero .compatibility { margin-top: 38px; }
.hero-popup { margin-inline: auto; }
.product-annotation { display: none; }
.project-strip .strip-label { font-size: 8px; }
.section, .project-section, .interface-section, .lab-section { padding-block: 100px; }
.section-heading { gap: 70px; margin-bottom: 50px; }
.section-heading > p, .section-heading > div > p:not(.eyebrow) { max-width: 410px; }
.idea-section .section-heading { margin-bottom: 55px; }
.proof-numbers { display: grid; grid-template-columns: repeat(3,1fr); gap: 40px; border-top: 1px solid var(--line); padding-top: 38px; }
.proof-numbers > div { display: flex; flex-direction: column; align-items: flex-start; }
.rolling-number { display: inline-flex; height: 1.1em; overflow: hidden; color: #86efac; font: 500 72px/1.1 Georgia,serif; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.number-reel { display: inline-block; height: 1.1em; overflow: hidden; }
.number-track { display: flex; flex-direction: column; transition: transform 1.7s cubic-bezier(.16,1,.3,1); transition-delay: var(--digit-delay,0ms); }
.number-track > span { height: 1.1em; flex: 0 0 1.1em; }
.proof-numbers > div > span { margin-top: 16px; font-size: 14px; color: #dce8e0; }
.proof-numbers small { font-size: 10px; color: var(--muted); margin-top: 9px; line-height: 1.6; }
.proof-numbers a:hover { color: var(--green); }
.proof-kicker { color: #92b59e; font-size: 10px; letter-spacing: .16em; margin-bottom: 18px; }
.proof-followthrough { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; margin-top: 34px; }
.proof-followthrough p { color: var(--muted); font-size: 11px; line-height: 1.7; max-width: 570px; }
.proof-followthrough a { color: #a0f4bb; font-size: 12px; white-space: nowrap; }
.proof-followthrough a:hover { text-decoration: underline; text-underline-offset: 4px; }
.impact-sources { margin-top: 24px; border-top: 1px solid var(--line); font-size: 12px; color: var(--muted); line-height: 1.8; }
.impact-sources summary { display: flex; justify-content: space-between; padding-block: 18px; cursor: pointer; list-style: none; color: #b8dec4; }
.impact-sources summary::-webkit-details-marker { display: none; }
.impact-sources p { margin-block: 14px; max-width: 960px; }
.impact-sources ul { padding-left: 20px; }
.impact-sources li { margin-block: 14px; }
.impact-sources li span { display: block; }
.impact-sources a { color: #a0f4bb; text-decoration: underline; text-underline-offset: 3px; }
.impact-sources strong { color: #dce8e0; }
.impact-sources h3 { color: #dce8e0; font: 20px Georgia,serif; margin-top: 28px; }
@media(min-width:601px) and (max-width:900px) { .proof-numbers { grid-template-columns: 1fr 1fr; } }
@media(max-width:480px) { .proof-numbers { grid-template-columns: 1fr !important; } }
@media(min-width:381px) and (max-width:600px) { .proof-numbers { grid-template-columns: 1fr 1fr; } }
@media(max-width:600px) { .proof-followthrough { flex-direction: column; gap: 13px; } }
.lab-section { background: radial-gradient(ellipse at 50% 0,#124d2728,transparent 70%),#09100c; }
.lab-shell { box-shadow: 0 24px 80px #0003; }
.input-pane textarea { min-height: 290px; font-size: 13px; line-height: 1.85; }
#result { min-height: 290px; font-size: 13px; line-height: 1.85; }
.demo-settings { border-top: 1px solid var(--line); margin-top: 16px; padding-top: 16px; }
.demo-settings summary { display: flex; justify-content: space-between; cursor: pointer; color: #a8bfaf; font-size: 11px; list-style: none; }
.demo-settings summary::-webkit-details-marker { display: none; }
.demo-settings summary span { color: #86efac; }
.demo-settings .coverage { margin-top: 24px; }
.lab-footnote { background: transparent; }
.lab-footnote a { color: #bce4c9; text-decoration: underline; text-underline-offset: 3px; }
.engineering-disclosure { border-block: 1px solid #35533f; }
.engineering-disclosure > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 26px; cursor: pointer; }
.engineering-disclosure > summary::-webkit-details-marker { display: none; }
.engineering-disclosure strong { font: 24px Georgia,serif; }
.engineering-disclosure small { display: block; margin-top: 10px; color: var(--muted); font-size: 12px; }
.disclosure-action { color: #86efac; font-size: 12px; white-space: nowrap; }
.disclosure-action b { font-size: 23px; font-weight: 400; display: inline-block; margin-left: 22px; transition: transform .2s; }
.engineering-disclosure[open] .disclosure-action b { transform: rotate(45deg); }
.engineering-content { padding-block: 12px 30px; }
.privacy-details { padding-block: 80px; }
.faq-list a { color: #86efac; text-decoration: underline; text-underline-offset: 3px; }
.install-section { padding-block: 75px; }
.medical-gallery { border: 1px solid #35533f; border-radius: 12px; background: #0c1510; overflow: hidden; }
.medical-tabs { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid #35533f; }
.medical-tabs button { border: 0; border-bottom: 2px solid transparent; background: transparent; padding: 22px 15px; color: #a7bcaf; font-size: 12px; }
.medical-tabs button span { color: #719b7f; font: 10px Consolas,monospace; margin-right: 12px; }
.medical-tabs button[aria-selected=true] { color: #a0f4bb; background: #183423; border-bottom-color: #4ade80; }
#medical-panel { margin: 0; }
.medical-viewport { overflow: hidden; background: #000; aspect-ratio: 1920 / 1032; }
.medical-viewport img { width: 100%; height: auto; }
#medical-panel[data-focus=restored] .medical-viewport { aspect-ratio: 630 / 1032; max-width: 510px; margin: 24px auto; border: 1px solid #35533f; border-radius: 8px; }
#medical-panel[data-focus=restored] img { width: 304.7619%; max-width: none; }
#medical-panel figcaption { padding: 25px 28px; display: flex; justify-content: space-between; gap: 30px; border-top: 1px solid #24372c; }
#medical-panel figcaption strong { font: 23px Georgia,serif; color: #e6f2ea; }
#medical-panel figcaption p { font-size: 12px; color: var(--muted); margin-top: 9px; max-width: 710px; }
#medical-panel figcaption > a { flex-shrink: 0; font-size: 11px; color: #86efac; padding-top: 6px; }
.capture-note { font-size: 10px; line-height: 1.8; color: #93ac9c; padding: 0 28px 22px; }
.capture-note a { color: #b8dec4; text-decoration: underline; text-underline-offset: 3px; }
.interactive-disclosure { margin-top: 26px; }
.interactive-disclosure > summary { display: flex; justify-content: space-between; padding: 19px 0; cursor: pointer; font-size: 13px; color: #c1dccb; list-style: none; border-bottom: 1px solid #35533f; }
.interactive-disclosure > summary::-webkit-details-marker { display: none; }
.interactive-disclosure > summary span { color: #86efac; }
.interactive-disclosure[open] > summary { margin-bottom: 22px; }
.compatibility-section { padding-block: 75px; }
.compatibility-section .eyebrow { color: #82bc95; }
.compatibility-section h2 { font-size: 38px; letter-spacing: -.04em; }
.compatibility-section > p:not(.eyebrow) { font-size: 13px; color: var(--muted); margin-top: 20px; }
.compatibility-table { overflow-x: auto; margin-top: 30px; }
.compatibility-table table { border-collapse: collapse; width: 100%; font-size: 12px; line-height: 1.7; text-align: left; }
.compatibility-table caption { text-align: left; font-weight: 600; color: #bed9c7; padding-bottom: 15px; }
.compatibility-table th, .compatibility-table td { padding: 20px 24px 20px 0; border-top: 1px solid #2d4434; }
.compatibility-table th { color: #d0e7d8; }
.compatibility-table td { color: var(--muted); }
.compatibility-table td:nth-child(2) { min-width: 170px; }
.stable-status { color: #86efac; }
@media(max-width:600px) {
  .medical-tabs button { padding: 15px 6px; font-size: 10px; }
  .medical-tabs button span { display: block; margin: 0 0 7px; }
  #medical-panel figcaption { padding: 20px; flex-direction: column; gap: 10px; }
  #medical-panel figcaption strong { font-size: 21px; }
  #medical-panel figcaption p { font-size: 11px; }
  .capture-note { padding-inline: 20px; font-size: 9px; }
  #medical-panel[data-focus=restored] .medical-viewport { margin: 0 auto; border: 0; border-radius: 0; }
  .compatibility-section { padding-block: 55px; }
  .compatibility-section h2 { font-size: 32px; }
  .compatibility-table table { min-width: 570px; }
}
@media(max-width:380px) {
  .proof-numbers { grid-template-columns: 1fr; gap: 30px; }
}
.scroll-reveal { opacity: 0; transform: translateY(22px); transition: opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1); }
.scroll-reveal.is-visible { opacity: 1; transform: none; }
.scroll-reveal:focus-within { opacity: 1; transform: none; }
@media(max-width:1000px) {
  .hero { gap: 40px; }
  .section-heading { gap: 35px; }
  .rolling-number { font-size: 64px; }
}
@media(max-width:600px) {
  .hero { padding-block: 45px; gap: 35px; }
  .section, .project-section, .interface-section, .lab-section { padding-block: 65px; }
  .section-heading { gap: 24px; margin-bottom: 30px; }
  .proof-numbers { gap: 22px 15px; padding-top: 28px; }
  .rolling-number { font-size: 48px; }
  .proof-numbers > div > span { font-size: 11px; line-height: 1.5; margin-top: 12px; }
  .proof-numbers small { font-size: 9px; }
  .input-pane textarea, #result { min-height: 285px; font-size: 12px; }
  .presets button { padding-inline: 8px; font-size: 9px; }
  .engineering-disclosure strong { font-size: 22px; }
  .engineering-disclosure small { font-size: 10px; line-height: 1.6; max-width: 190px; }
  .disclosure-action b { margin-left: 8px; }
  .privacy-details { padding-block: 60px; }
  .install-section { padding-block: 50px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  .scroll-reveal { opacity: 1; transform: none; transition: none; }
  .number-track, .disclosure-action b { transition: none; }
}
@media print {
  .scroll-reveal { opacity: 1; transform: none; }
}
