/* Euromedic Poland — Eyerising. Local, framework-free styles. */
.nowak-teaser { margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--line); }
.nowak-teaser h3 { font-size:1.2rem; }
.nowak-teaser p { max-width:65ch; color:var(--muted); }
.nowak-document-title { font-size:.9rem; color:var(--muted); }
.nowak-document .actions { align-items:flex-start; }
:root {
  --bg:#f7f7f3;
  --surface:#fff;
  --text:#222725;
  --muted:#606963;
  --line:#d2d7d1;
  --accent:#b93022;
  --accent-ink:#fff;
  --soft:#efeee8;
  --font:"Segoe UI",Arial,sans-serif;
  --display:"Bahnschrift","Arial",sans-serif;
  color-scheme:light;
  font-size:100%;
}

* {
  box-sizing:border-box;
}

body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font:1rem/1.6 var(--font);
  overflow-wrap:break-word;
}

button,input,select,textarea {
  font:inherit;
}

button,a {
  -webkit-tap-highlight-color:transparent;
}

button {
  cursor:pointer;
}

img {
  display:block;
  max-width:100%;
  height:auto;
}

a {
  color:inherit;
  text-underline-offset:.2em;
}

button {
  color:inherit;
}

button:disabled {
  cursor:default;
  opacity:.45;
}

h1,h2,h3,p {
  margin-top:0;
}

h1,h2,h3 {
  font-family:var(--display);
  font-weight:500;
  line-height:1.1;
}

h1 {
  font-size:clamp(2.7rem,5.1vw,5rem);
  letter-spacing:-.05em;
}

h2 {
  font-size:clamp(2.15rem,3.8vw,3.75rem);
  letter-spacing:-.045em;
}

h3 {
  font-size:1.45rem;
  letter-spacing:-.02em;
}

p {
  margin-bottom:1.15em;
}

button {
  border-radius:0;
}

svg {
  display:block;
}

small,.small {
  font-size:.82rem;
}

strong {
  font-weight:650;
}

[hidden] {
  display:none!important;
}

:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:5px;
}

section[id],h2[id],h3[id] {
  scroll-margin-top:calc(var(--header-height,5rem) + 1rem);
}

.wrap {
  width:min(100% - 6rem,1280px);
  margin-inline:auto;
}

.section {
  padding-block:7rem;
}

.dark {
  --bg:#141a18;
  --surface:#202723;
  --text:#f6f5ef;
  --muted:#c3cac3;
  --line:#4a554e;
  --accent:#ffa597;
  background:var(--bg);
  color:var(--text);
}

.paper {
  background:var(--surface);
}

.muted {
  color:var(--muted);
}

.eyebrow {
  display:block;
  margin-bottom:1.3rem;
  font-size:.72rem;
  font-weight:650;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.eyebrow .dot {
  display:inline-block;
  width:.42rem;
  height:.42rem;
  margin-right:.5rem;
  background:var(--accent);
  border-radius:50%;
}

.lead {
  font-size:clamp(1.1rem,1.4vw,1.3rem);
  line-height:1.6;
  color:var(--muted);
  max-width:42rem;
}

.section-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:3rem;
  margin-bottom:3.4rem;
}

.section-head h2 {
  max-width:45rem;
  margin-bottom:0;
}

.section-head p {
  max-width:24rem;
  margin:0;
  color:var(--muted);
}

.split {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:6rem;
  align-items:center;
}

.split > *, .documents-layout > *, .contact-layout > *, .footer-grid > * {
  min-width:0;
}

.split.top {
  align-items:start;
}

.actions {
  display:flex;
  gap:.8rem;
  flex-wrap:wrap;
  align-items:center;
  margin-top:2rem;
}

.button {
  display:inline-flex;
  max-width:100%;
  overflow-wrap:anywhere;
  min-height:3.1rem;
  padding:.85rem 1.3rem;
  align-items:center;
  justify-content:center;
  gap:1.5rem;
  border:1px solid var(--line);
  text-decoration:none;
  font-size:.92rem;
  font-weight:600;
  background:transparent;
  line-height:1.4;
}

.button.primary {
  background:#b93022;
  border-color:#b93022;
  color:white;
}

.button.primary:hover {
  background:#97281d;
}

.button:hover {
  border-color:var(--text);
}

.text-link {
  display:inline-flex;
  gap:1rem;
  align-items:center;
  font-weight:600;
}

.arrow {
  font:1.2em Arial,sans-serif;
}

.skip {
  position:fixed;
  top:.5rem;
  left:.5rem;
  background:var(--surface);
  color:var(--text);
  padding:.7rem 1rem;
  z-index:200;
  transform:translateY(-160%);
}

.skip:focus {
  transform:none;
}

.site-header {
  position:sticky;
  top:0;
  z-index:40;
  background:#141a18;
  color:#f6f5ef;
  border-bottom:1px solid #ffffff25;
}

.header-inner {
  min-height:5rem;
  display:flex;
  gap:2rem;
  align-items:center;
  justify-content:space-between;
}

.brand {
  display:flex;
  align-items:center;
  gap:1.4rem;
  text-decoration:none;
  min-width:0;
}

.brand img {
  width:9rem;
}

.brand .distributor {
  border-left:1px solid #59625c;
  padding-left:1.3rem;
  font-size:.65rem;
  letter-spacing:.12em;
  line-height:1.4;
  min-width:0;
  display:block;
}

.distributor strong {
  display:block;
  font-size:.72rem;
  font-weight:650;
}

.distributor small {
  display:block;
  font-size:.64rem;
  letter-spacing:.025em;
  margin-top:.35rem;
  color:#c3cac3;
}

.site-nav {
  display:flex;
  gap:1.65rem;
  align-items:center;
}

.site-nav a {
  font-size:.82rem;
  text-decoration:none;
  padding:.5rem 0;
}

.site-nav a[aria-current=page] {
  text-decoration:underline;
  text-underline-offset:.5rem;
}

.site-nav a:hover {
  color:#ffa597;
}

.site-nav .nav-cta {
  border:1px solid #59625c;
  padding:.65rem 1rem;
}

.nav-toggle {
  display:none;
  min-height:44px;
  min-width:44px;
  border:1px solid #59625c;
  background:transparent;
}

.hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:43rem;
  background:#141a18;
  color:#fff;
}

.hero-image {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 28%;
  z-index:-2;
}

.hero:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(10,17,14,.97) 0%,rgba(10,17,14,.87) 30%,rgba(10,17,14,.24) 66%,rgba(10,17,14,.05));
  z-index:-1;
}

.hero-content {
  padding-block:5.3rem 4rem;
  max-width:39rem;
}

.hero h1 {
  font-size:clamp(3rem,5.3vw,5.3rem);
  margin-bottom:1.5rem;
}

.hero h1 .product-title {
  display:block;
  color:#fff;
}

.hero h1 .hero-description {
  display:block;
  font-size:.58em;
  line-height:1.14;
  letter-spacing:-.035em;
  max-width:32rem;
  margin-top:.7rem;
}

.hero .lead {
  font-size:1.1rem;
  color:#e2e7e2;
  max-width:29rem;
}

.hero .eyebrow {
  color:#e2e7e2;
}

.hero .text-link {
  font-size:.86rem;
  margin-top:1.5rem;
}

.hero-meta {
  display:flex;
  gap:1.5rem;
  border-top:1px solid #ffffff45;
  padding-top:1.2rem;
  margin-top:2rem;
  max-width:30rem;
  font-size:.78rem;
  color:#e0e4df;
}

.medical-warning {
  padding:1.4rem 0;
  background:#eeeee8;
  color:#202722;
  border-bottom:1px solid #d2d7d1;
  font-size:clamp(1.15rem,1.6vw,1.6rem);
  line-height:1.4;
}

.medical-warning p {
  margin:0;
  max-width:68rem;
}

.device-spec-band {
  background:#f7f7f3;
  border-top:3px solid #b93022;
  border-bottom:3px solid #b93022;
  color:#222725;
}

.trust-strip {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding-block:1.75rem;
  gap:1.5rem;
}

.trust-strip div {
  padding-inline:1.5rem;
  border-left:1px solid #d2d7d1;
}

.trust-strip div:first-child {
  padding-left:0;
  border:0;
}

.trust-strip strong {
  display:block;
  font-family:var(--display);
  font-size:clamp(1.4rem,1.8vw,1.75rem);
  font-weight:500;
  line-height:1.3;
  font-variant-numeric:tabular-nums;
}

.trust-strip span {
  display:block;
  margin-top:.65rem;
  font-size:.85rem;
  line-height:1.5;
  color:#606963;
}

.anatomy {
  background:#fff;
  color:#222725;
  --text:#222725;
  --muted:#606963;
  --line:#d2d7d1;
  --accent:#b93022;
  position:relative;
  padding-top:4rem;
}

.anatomy-sticky {
  padding-block:2rem 3rem;
}

.anatomy-layout {
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(18rem,1fr);
  gap:3rem;
  align-items:center;
}

.anatomy-title h2 {
  margin-bottom:.7rem;
}

.anatomy-title p {
  color:var(--muted);
  font-size:.9rem;
  margin:0;
}

.anatomy-title .eyebrow {
  margin-bottom:.8rem;
}

.anatomy-title {
  max-width:36rem;
}

.anatomy-stage {
  position:relative;
  aspect-ratio:4/3;
  width:100%;
  background:#fff;
  isolation:isolate;
}

.anatomy-stage>img,.anatomy-stage>canvas {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
}

.anatomy-stage canvas {
  opacity:0;
}

.anatomy-stage.canvas-ready canvas {
  opacity:1;
}

.hotspots {
  position:absolute;
  inset:0;
  z-index:2;
  transition:opacity .15s;
}

.hotspot {
  position:absolute;
  left:var(--x);
  top:var(--y);
  transform:translate(-50%,-50%);
  width:2.15rem;
  height:2.15rem;
  min-width:28px;
  min-height:28px;
  border:1px solid #b93022;
  border-radius:50%;
  background:#fff;
  color:#a32619;
  display:grid;
  place-items:center;
  font:600 .72rem var(--font);
  box-shadow:0 0 0 4px #ffffffb3;
}

.hotspot:hover,.hotspot[aria-pressed=true] {
  background:#b93022;
  color:#fff;
  box-shadow:0 0 0 9px #b9302222;
}

.part-halo {
  position:absolute;
  left:var(--x);
  top:var(--y);
  width:18%;
  height:15%;
  border:1px solid #b9302260;
  border-radius:50%;
  background:#b9302217;
  transform:translate(-50%,-50%);
  pointer-events:none;
}

.part-card {
  border-top:1px solid var(--line);
  padding-top:1.5rem;
  margin-top:2rem;
  min-height:14rem;
}

.part-number {
  font-family:var(--display);
  color:var(--accent);
  font-size:2rem;
  display:block;
  margin-bottom:.5rem;
}

.part-card h3 {
  font-size:1.5rem;
}

.part-card p {
  font-size:.9rem;
  line-height:1.55;
  color:var(--muted);
  margin-bottom:.6rem;
}

.part-card small {
  color:var(--muted);
  font-size:.7rem;
}

.anatomy-controls {
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  margin-top:1.25rem;
}

.anatomy-controls button {
  padding:.55rem .9rem;
  min-height:2.6rem;
  border:1px solid var(--line);
  background:var(--surface,#fff);
  font-size:.78rem;
}

.anatomy-progress {
  display:flex;
  gap:1rem;
  align-items:center;
  margin-top:1rem;
  font-size:.7rem;
  color:var(--muted);
}

.anatomy-progress .track {
  width:6rem;
  height:2px;
  background:var(--line);
}

.anatomy-progress .fill {
  display:block;
  height:100%;
  width:0;
  background:var(--accent);
}

.anatomy.is-animated {
  height:380vh;
  height:380svh;
  padding-top:0;
}

.is-animated .anatomy-sticky {
  position:sticky;
  top:5rem;
  min-height:calc(100svh - 5rem);
  display:flex;
  align-items:center;
  padding-block:1.5rem;
}

.is-animated .anatomy-layout {
  width:100%;
}

.is-animated .anatomy-stage {
  max-height:calc(100svh - 9rem);
}

.anatomy-footnote {
  font-size:.7rem;
  color:var(--muted);
  margin:1rem 0 0;
}

.parts-list {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:0 4rem;
  list-style:none;
  padding:0;
  margin:0;
}

.parts-list li {
  display:grid;
  grid-template-columns:2rem minmax(0,1fr);
  gap:1rem;
  padding-block:1.8rem;
  border-top:1px solid var(--line);
}

.parts-list .num {
  color:var(--accent);
  font-size:.85rem;
  font-variant-numeric:tabular-nums;
}

.parts-list h3 {
  font-size:1.1rem;
  margin-bottom:.6rem;
}

.parts-list p {
  font-size:.9rem;
  color:var(--muted);
  margin-bottom:.5rem;
}

.parts-list small {
  color:var(--muted);
  font-size:.7rem;
}

.parts-home {
  padding-top:2rem;
}

.parts-home>summary {
  font-size:.9rem;
  padding:1rem 0;
  cursor:pointer;
}

.parts-home .parts-list {
  margin-top:1rem;
}

.image-frame {
  background:var(--soft);
  position:relative;
}

.image-frame img {
  width:100%;
  aspect-ratio:1.12;
  object-fit:cover;
}

.image-caption {
  border-top:1px solid var(--line);
  padding-top:.8rem;
  color:var(--muted);
  font-size:.75rem;
  margin-top:.8rem;
}

.intro-copy h2 {
  max-width:30rem;
}

.intro-copy p {
  max-width:36rem;
}

.protocol-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:3.5rem;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.protocol-item {
  padding:2rem;
  border-left:1px solid var(--line);
}

.protocol-item:first-child {
  padding-left:0;
  border:0;
}

.protocol-number {
  font:500 clamp(4.5rem,8vw,8rem)/1 var(--display);
  letter-spacing:-.07em;
}

.protocol-number small {
  font:1rem var(--font);
  letter-spacing:0;
  margin-left:.5rem;
}

.protocol-item p {
  color:var(--muted);
  font-size:.95rem;
  margin:1rem 0 0;
  max-width:16rem;
}

.protocol-note {
  display:flex;
  gap:3rem;
  justify-content:space-between;
  margin-top:1.7rem;
  font-size:.85rem;
  color:var(--muted);
}

.steps {
  list-style:none;
  padding:0;
  counter-reset:step;
}

.steps li {
  display:grid;
  grid-template-columns:3rem minmax(0,1fr);
  gap:1rem;
  padding:1.4rem 0;
  border-top:1px solid var(--line);
  counter-increment:step;
}

.steps li:before {
  content:counter(step,decimal-leading-zero);
  color:var(--accent);
  font-size:.78rem;
  font-variant-numeric:tabular-nums;
  padding-top:.2rem;
}

.steps h3 {
  font-size:1.05rem;
  margin:0 0 .4rem;
}

.steps p {
  font-size:.9rem;
  color:var(--muted);
  margin:0;
}

.editorial-block {
  border-top:1px solid var(--line);
  padding-top:1.7rem;
  margin-top:2rem;
}

.editorial-block h3 {
  font-size:1.15rem;
}

.editorial-block p {
  color:var(--muted);
}

.safety-callout {
  border-left:3px solid var(--accent);
  padding:1.5rem 2rem;
  background:var(--surface);
  margin-block:2rem;
}

.safety-callout h3 {
  font-size:1.25rem;
}

.safety-callout p:last-child {
  margin-bottom:0;
}

.check-list {
  padding-left:1.2rem;
}

.check-list li {
  padding:.3rem 0;
}

.documents-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:6rem;
  align-items:start;
}

.certificate {
  background:#e9ebe5;
  padding:2rem;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:1.5rem;
  align-items:center;
  color:#222725;
}

.certificate img {
  box-shadow:0 5px 20px #1c25121a;
}

.certificate strong {
  font-size:1.5rem;
  line-height:1.2;
  display:block;
  margin-bottom:1rem;
}

.certificate p {
  font-size:.8rem;
}

.document-link {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1.2rem 0;
  border-top:1px solid var(--line);
  text-decoration:none;
}

.document-link span {
  display:block;
}

.document-link small {
  color:var(--muted);
  font-size:.75rem;
}

.document-link:hover strong {
  text-decoration:underline;
}

.evidence-links {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:3rem;
  margin-top:2.5rem;
}

.evidence-links a {
  border-top:1px solid var(--line);
  padding-top:1.4rem;
  text-decoration:none;
}

.evidence-links strong {
  font-family:var(--display);
  font-size:1.5rem;
  display:block;
  margin-bottom:.5rem;
}

.evidence-links p {
  color:var(--muted);
  font-size:.95rem;
}

.paths {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.path {
  padding:3rem 3rem 3rem 0;
}

.path+.path {
  border-left:1px solid var(--line);
  padding-left:3rem;
}

.path p {
  max-width:29rem;
  color:var(--muted);
}

.company-mark {
  width:23rem;
  max-width:100%;
  margin-bottom:2.5rem;
}

.company-facts {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:1rem;
  border-top:1px solid var(--line);
  padding-top:1.2rem;
  font-size:.8rem;
  color:var(--muted);
}

.price-options {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:1.5rem;
  margin-top:2.5rem;
}

.price-option {
  border:1px solid var(--line);
  padding:2.4rem;
  background:var(--surface);
}

.price-option h3 {
  font-size:1.8rem;
}

.price-option p {
  color:var(--muted);
}

.price-label {
  font-size:.75rem;
  color:var(--accent);
  display:block;
  margin-bottom:1.5rem;
}

.price-option .button {
  margin-top:1rem;
}

.faq {
  border-top:1px solid var(--line);
}

.faq details {
  border-bottom:1px solid var(--line);
}

.faq summary {
  display:flex;
  justify-content:space-between;
  gap:2rem;
  font-size:1.08rem;
  font-weight:550;
  padding:1.4rem 0;
  cursor:pointer;
  list-style:none;
}

.faq summary::-webkit-details-marker {
  display:none;
}

.faq summary:after {
  content:"+";
  font-size:1.5rem;
  font-weight:400;
  color:var(--accent);
  line-height:1;
}

.faq details[open] summary:after {
  content:"−";
}

.faq details p {
  max-width:52rem;
  color:var(--muted);
  padding-bottom:1rem;
  font-size:.95rem;
}

.final-contact {
  padding-block:5rem;
}

.final-contact .split {
  gap:3rem;
}

.final-contact h2 {
  margin-bottom:1.3rem;
}

.contact-number {
  font-family:var(--display);
  font-size:clamp(1.8rem,3vw,3rem);
  letter-spacing:-.035em;
  display:block;
  text-decoration:none;
}

.contact-email {
  font-size:1.1rem;
  overflow-wrap:anywhere;
}

.site-footer {
  padding:0;
}

.footer-grid {
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:4rem;
}

.footer-brand img {
  width:12rem;
  margin-bottom:1.5rem;
}

.footer-grid h2 {
  font:600 .8rem var(--font);
  letter-spacing:0;
}

.footer-grid p,.footer-grid a {
  font-size:.8rem;
  color:var(--muted);
}

.footer-links {
  display:flex;
  flex-direction:column;
  gap:0;
}

.footer-links a {
  text-decoration:none;
  display:flex;
  align-items:center;
  min-height:44px;
}

.footer-links a:hover {
  text-decoration:underline;
}

.footer-bottom {
  margin-top:3rem;
  padding-top:1.5rem;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:1rem;
  font-size:.7rem;
  color:var(--muted);
}

.footer-disclosure {
  font-size:.7rem;
  color:var(--muted);
  border-top:1px solid var(--line);
  margin-top:2rem;
  padding-top:1rem;
}

.sub-hero {
  padding-block:3rem 4rem;
  border-bottom:1px solid var(--line);
}

.breadcrumbs {
  font-size:.75rem;
  color:var(--muted);
  margin-bottom:3rem;
}

.breadcrumbs a {
  text-decoration:none;
}

.sub-hero h1 {
  max-width:58rem;
}

.sub-hero .lead {
  max-width:45rem;
}

.sub-nav {
  display:flex;
  gap:1.5rem;
  flex-wrap:wrap;
  margin-top:2rem;
  font-size:.82rem;
}

.reading-layout {
  display:grid;
  grid-template-columns:14rem minmax(0,1fr);
  gap:5rem;
  align-items:start;
}

.toc {
  position:sticky;
  top:7rem;
  font-size:.83rem;
  border-top:1px solid var(--line);
  padding-top:1.5rem;
}

.toc a {
  display:block;
  padding:.45rem 0;
  text-decoration:none;
}

.article-content {
  max-width:53rem;
}

.article-content section {
  padding-bottom:3rem;
}

.article-content h2 {
  font-size:2.15rem;
}

.article-content h3 {
  font-size:1.3rem;
  margin-top:2rem;
}

.article-content p,.article-content li {
  color:var(--muted);
}

.article-content ul {
  padding-left:1.2rem;
}

.source-note {
  font-size:.75rem!important;
  color:var(--muted);
  margin-top:1.4rem;
}

.spec-table {
  width:100%;
  border-collapse:collapse;
  font-size:.92rem;
}

.spec-table caption {
  text-align:left;
  padding-bottom:1.3rem;
  color:var(--muted);
  font-size:.8rem;
}

.spec-table th,.spec-table td {
  text-align:left;
  border-bottom:1px solid var(--line);
  padding:.9rem .5rem;
  vertical-align:top;
}

.spec-table th {
  font-weight:500;
  width:45%;
  color:var(--muted);
}

.spec-table td {
  font-variant-numeric:tabular-nums;
}

.notice {
  padding:1.4rem 1.8rem;
  border-left:3px solid var(--accent);
  background:var(--soft);
  margin-block:2rem;
  font-size:.95rem;
}

.contact-layout {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:6rem;
}

.contact-box {
  padding-bottom:2rem;
  margin-bottom:2rem;
  border-bottom:1px solid var(--line);
}

.contact-box h2 {
  font-size:1.2rem;
}

.contact-box a {
  overflow-wrap:anywhere;
}

.details-block {
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:1.2rem 0;
  margin-top:1.5rem;
}

.details-block summary {
  cursor:pointer;
  font-weight:600;
}

.details-block p {
  margin-top:1rem;
}

.cookie-setting {
  background:none;
  border:0;
  color:inherit;
  font:inherit;
  text-decoration:underline;
  padding:0;
  cursor:pointer;
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

@media(min-width:801px) {
  .anatomy .wrap {
    width:calc(100% - 4rem);
    max-width:1560px;
  }

  .anatomy-layout {
    grid-template-columns:minmax(0,1.85fr) minmax(19rem,1fr);
    gap:clamp(2rem,4vw,5rem);
  }

  .is-animated .anatomy-stage {
    width:min(100%,calc((100svh - 8rem) * 4 / 3));
    max-height:none;
    justify-self:start;
  }
}

.footer-credits {
  font-size:.7rem;
  color:var(--muted);
  margin-top:1rem;
}

@media(min-width:1600px) {
  .hero {
    min-height:49rem;
  }

  .hero-content {
    padding-top:7rem;
  }

  .hero-image {
    object-position:center 34%;
  }

}

@media(max-width:1100px) {
  .wrap {
    width:calc(100% - 3rem);
  }

  .header-inner {
    flex-wrap:wrap;
    padding-block:.8rem;
    gap:1rem;
  }

  .site-nav {
    width:100%;
    flex-wrap:wrap;
  }

  .nav-enhanced .nav-toggle {
    display:grid;
    place-items:center;
  }

  .nav-enhanced .site-nav:not(.is-open) {
    display:none;
  }

  .site-nav {
    gap:1rem;
  }

  .split,.documents-layout {
    gap:3rem;
  }

  .anatomy-layout {
    gap:1.5rem;
    grid-template-columns:1.4fr 1fr;
  }

  .reading-layout {
    gap:3rem;
  }

  .hero:after {
    background:linear-gradient(90deg,rgba(10,17,14,.96),rgba(10,17,14,.8) 42%,rgba(10,17,14,.1));
  }

}

@media(max-width:800px) {
  .section {
    padding-block:4rem;
  }

  .header-inner {
    min-height:4.5rem;
    flex-wrap:wrap;
    padding-block:.8rem;
    gap:1rem;
  }

  .site-nav {
    width:100%;
    flex-wrap:wrap;
    gap:.4rem 1.2rem;
  }

  .site-nav a {
    min-height:44px;
    display:flex;
    align-items:center;
  }

  .nav-enhanced .nav-toggle {
    display:block;
  }

  .nav-enhanced .site-nav:not(.is-open) {
    display:none;
  }

  .brand img {
    width:110px;
  }

  .brand {
    gap:.7rem;
    max-width:calc(100% - 60px);
  }

  .brand .distributor {
    padding-left:.7rem;
    letter-spacing:.035em;
  }

  .distributor strong {
    font-size:.65rem;
    line-height:1.3;
  }

  .distributor small {
    font-size:.58rem;
    line-height:1.35;
    margin-top:.25rem;
  }

  .hero {
    min-height:0;
    padding-top:0;
  }

  .hero-image {
    position:relative;
    height:auto;
    aspect-ratio:1.55;
    object-position:center;
    z-index:0;
  }

  .hero:after {
    display:none;
  }

  .hero-content {
    padding:2.5rem 0;
    max-width:none;
  }

  .hero h1 {
    font-size:3.5rem;
  }

  .hero h1 .hero-description {
    max-width:32rem;
    font-size:.58em;
  }

  .hero .lead {
    max-width:35rem;
  }

  .hero-meta {
    max-width:none;
  }

  .hero .actions {
    margin-top:1.5rem;
  }

  .medical-warning {
    padding-block:1.3rem;
    font-size:1.1rem;
  }

  .trust-strip {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:1.4rem;
    padding-block:1.5rem;
  }

  .trust-strip div {
    padding-left:1rem;
    padding-right:0;
  }

  .trust-strip div:nth-child(3) {
    padding-left:0;
    border:0;
  }

  .trust-strip strong {
    font-size:1.3rem;
  }

  .section-head {
    display:block;
    margin-bottom:2rem;
  }

  .section-head p {
    margin-top:1.5rem;
    max-width:36rem;
  }

  .split,.documents-layout,.contact-layout {
    grid-template-columns:minmax(0,1fr);
    gap:2.5rem;
  }

  .intro-copy {
    order:-1;
  }

  .image-frame img {
    aspect-ratio:1.4;
  }

  .anatomy-layout {
    grid-template-columns:minmax(0,1fr);
    gap:.6rem;
  }

  .anatomy-info {
    display:contents;
  }

  .anatomy-title {
    grid-row:1;
  }

  .anatomy-title h2 {
    font-size:1.8rem;
    margin-bottom:.35rem;
  }

  .anatomy-title p {
    font-size:.75rem;
  }

  .anatomy-title .eyebrow {
    font-size:.6rem;
    margin-bottom:.4rem;
  }

  .anatomy-stage {
    grid-row:2;
    width:min(100%,33rem);
    margin-inline:auto;
    aspect-ratio:14/15;
  }

  .anatomy-stage > img {
    object-fit:cover;
  }

  .part-card {
    min-height:0;
    margin-top:0;
    padding-top:.7rem;
    display:grid;
    grid-template-columns:2.2rem minmax(0,1fr);
    gap:0 .5rem;
  }

  .part-card > :not(.part-number) {
    grid-column:2;
  }

  .part-number {
    grid-row:1/4;
    font-size:1.4rem;
  }

  .part-card h3 {
    font-size:1.05rem;
    margin-bottom:.4rem;
  }

  .part-card p {
    font-size:.875rem;
    margin-bottom:.2rem;
    line-height:1.4;
  }

  .part-card small {
    font-size:.75rem;
  }

  .anatomy-controls {
    margin-top:.6rem;
    padding-right:3.5rem;
  }

  .anatomy-controls button {
    font-size:.7rem;
    min-height:2.3rem;
    padding:.35rem .6rem;
  }

  .anatomy-progress {
    margin-top:.6rem;
  }

  .anatomy-footnote {
    display:none;
  }

  .is-animated .anatomy-sticky {
    top:4.5rem;
    min-height:calc(100svh - 4.5rem);
    padding-block:.7rem;
  }

  .is-animated .anatomy-stage {
    max-height:none;
    width:min(100%,48svh);
    height:auto;
    max-width:100%;
    aspect-ratio:14/15;
  }

  .anatomy.is-animated {
    height:360svh;
  }

  .anatomy-controls .button {
    font-size:.7rem;
    min-height:2.3rem;
    padding:.35rem .6rem;
    gap:.4rem;
  }

  .hotspot {
    width:1.8rem;
    height:1.8rem;
    font-size:.62rem;
  }

  .parts-list {
    grid-template-columns:minmax(0,1fr);
  }

  .protocol-item {
    padding:1.5rem .8rem;
  }

  .protocol-number {
    font-size:4.4rem;
  }

  .protocol-number small {
    display:block;
    font-size:.8rem;
    margin:.3rem 0;
  }

  .protocol-item p {
    font-size:.8rem;
  }

  .protocol-note {
    display:block;
  }

  .protocol-note p {
    margin-bottom:.5rem;
  }

  .paths {
    display:block;
  }

  .path {
    padding:2rem 0;
  }

  .path+.path {
    border-left:0;
    border-top:1px solid var(--line);
    padding:2rem 0;
  }

  .price-options {
    gap:1rem;
  }

  .price-option {
    padding:1.5rem;
  }

  .evidence-links {
    gap:1.5rem;
  }

  .footer-grid {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:2.5rem;
  }

  .footer-brand {
    grid-column:1/-1;
  }

  .footer-bottom {
    display:block;
  }

  .footer-bottom span {
    display:block;
    margin-bottom:.7rem;
  }

  .reading-layout {
    grid-template-columns:minmax(0,1fr);
    gap:2rem;
  }

  .toc {
    position:static;
    display:flex;
    flex-wrap:wrap;
    gap:.2rem 1.5rem;
  }

  .sub-hero {
    padding-top:1.5rem;
  }

  .breadcrumbs {
    margin-bottom:2rem;
  }

  .sub-hero h1 {
    font-size:3rem;
  }

  .certificate {
    gap:1rem;
  }

}

@media(max-width:480px) {
  .wrap {
    width:calc(100% - 2rem);
  }

  .hero h1 {
    font-size:3rem;
  }

  .hero-content {
    padding-block:2rem;
  }

  .hero .lead {
    font-size:1rem;
  }

  .hero-meta {
    gap:.8rem;
    font-size:.7rem;
  }

  .hero .actions {
    gap:.6rem;
  }

  .hero .button {
    font-size:.8rem;
    padding:.8rem 1rem;
    gap:1rem;
  }

  .price-options,.evidence-links {
    grid-template-columns:minmax(0,1fr);
  }

  .price-option {
    padding:1.7rem;
  }

  .certificate {
    grid-template-columns:.85fr 1fr;
    padding:1rem;
  }

  .certificate strong {
    font-size:1.2rem;
  }

  .footer-grid {
    gap:2rem 1rem;
  }

  .footer-bottom {
    padding-right:3rem;
  }

  .anatomy .wrap {
    width:calc(100% - 1.5rem);
  }

  .anatomy-title p {
    max-width:24rem;
  }

  .anatomy-title h2 {
    font-size:1.55rem;
  }

  .part-card h3 {
    font-size:.95rem;
  }

  .part-card p {
    font-size:.875rem;
  }

  .part-card {
    grid-template-columns:1.6rem minmax(0,1fr);
  }

  .is-animated .part-card {
    max-height:14rem;
    overflow-y:auto;
    scrollbar-width:thin;
  }

  .anatomy-progress {
    gap:.6rem;
  }

  .protocol-number {
    font-size:3.6rem;
  }

  .protocol-item {
    padding-inline:.6rem;
  }

  .sub-hero h1 {
    font-size:2.55rem;
  }

  .spec-table {
    font-size:.8rem;
  }

  .spec-table th {
    width:44%;
  }

  .faq summary {
    font-size:.98rem;
  }

  .safety-callout {
    padding:1.2rem;
  }

  .anatomy-controls button {
    min-height:2.1rem;
  }

}

@media(max-height:700px) and (min-width:801px) {
  .is-animated .anatomy-stage {
    max-height:calc(100svh - 8rem);
  }

  .anatomy-title h2 {
    font-size:2rem;
  }

  .part-card {
    min-height:0;
    margin-top:1rem;
  }

  .part-card p {
    font-size:.8rem;
  }

  .part-card h3 {
    font-size:1.2rem;
  }

  .anatomy-footnote {
    display:none;
  }

}

/* Therapy contact and a lighter close to the page. */
.contact-light {
  background:var(--surface);
  border-top:1px solid var(--line);
  padding-block:3.75rem;
}
.contact-light .contact-number { margin-top:1.25rem; }
.footer-main { padding-block:3rem; }
@media(min-width:1101px) {
  .site-footer .wrap { max-width:1720px; width:calc(100% - 6rem); }
}
.site-footer .footer-grid {
  grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));
  gap:3rem;
}
.site-footer .footer-disclosure,
.site-footer .footer-bottom {
  background:#202a26;
  color:#e7ebe7;
  margin:0;
  border:0;
  padding:1.5rem 0;
  display:block;
}
.site-footer .footer-medical-warning {
  font-size:.85rem;
  line-height:1.5;
  margin:0;
  max-width:none;
}
.site-footer .footer-bottom {
  background:#101613;
  border-top:1px solid #3d4942;
  font-size:.85rem;
  padding-block:2rem;
}
.footer-bottom > .wrap {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);
  align-items:start;
  gap:2rem 4rem;
}
.site-footer .footer-credits {
  display:grid;
  gap:.5rem;
  text-align:left;
  color:inherit;
  font-size:inherit;
  margin-top:0;
}
.footer-contact { max-width:25rem; }
.footer-contact h2 { font-size:.85rem; margin:0 0 .75rem; }
.footer-contact p { margin:0 0 .5rem; }
.footer-contact > a { display:flex; align-items:center; min-height:44px; width:fit-content; }
.site-footer .footer-bottom a { color:#ff8272; text-underline-offset:.2em; }
.site-footer .footer-bottom a:hover { color:#fff; text-decoration:underline; }
html .reader-tools button { border-color:#b7c2ba; box-shadow:0 3px 12px #0004; }
@media(max-width:800px) {
  .footer-bottom > .wrap { grid-template-columns:minmax(0,1fr); padding-right:4.5rem; }
}
.therapy-price-intro { max-width:44rem; }
.contact-form {
  min-width:0;
  border-top:2px solid var(--accent);
  padding-top:1.75rem;
}
.contact-form h2 { font-size:2rem; margin-bottom:.75rem; }
.contact-form fieldset { border:0; padding:0; margin:1.5rem 0; min-width:0; }
.contact-form legend,.contact-form label { font-weight:600; font-size:.9rem; }
.contact-form > label,.form-columns label { display:block; margin:1.3rem 0 .4rem; }
.audience-options { display:flex; flex-wrap:wrap; gap:.6rem 1.25rem; margin-top:.6rem; }
.audience-options label { display:flex; align-items:center; gap:.5rem; min-height:44px; }
.contact-form input[type=radio] { width:20px; height:20px; accent-color:var(--accent); }
.contact-form input:not([type=radio]),.contact-form select,.contact-form textarea {
  width:100%;
  min-width:0;
  max-width:100%;
  border:1px solid var(--line);
  border-radius:0;
  padding:.8rem;
  background:var(--surface);
  color:var(--text);
  font:inherit;
  min-height:48px;
}
.contact-form textarea { resize:vertical; }
.form-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.contact-form .form-hint { font-size:.8rem; color:var(--muted); line-height:1.65; margin-top:.75rem; }
.contact-form button:disabled { opacity:.6; cursor:not-allowed; }
.is-animated .anatomy-sticky { top:var(--header-height,5rem); }
.reader-dark .footer-disclosure,.reader-dark .footer-bottom { background:#202723; color:#f6f5ef; }
@media(min-width:1101px) {
  .hero > .wrap { width:100%; max-width:none; padding-inline:clamp(24px,2.5vw,60px); }
  .hero-content { max-width:28vw; }
  .hero h1 .hero-description { font-size:clamp(1.9rem,2.5vw,3rem); }
  .hero:after { background:linear-gradient(90deg,rgba(10,17,14,.96),rgba(10,17,14,.8) 24%,rgba(10,17,14,.16) 50%,rgba(10,17,14,.05)); }
}
@media(max-width:800px) {
  .site-footer .footer-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:2rem; }
  .footer-brand { grid-column:1/-1; }
  .regulatory-identities { grid-template-columns:minmax(0,1fr); gap:1.25rem; }
  .footer-bottom > .wrap { flex-direction:column; }
  .site-footer .footer-credits { text-align:left; }
  .contact-light { padding-block:3rem; }
  .form-columns { grid-template-columns:minmax(0,1fr); gap:0; }
  .contact-form { order:-1; }
  .brand img { width:90px; flex-shrink:0; }
  .brand .distributor { overflow-wrap:anywhere; }
  .hero h1 .hero-description { overflow-wrap:anywhere; }
  .hero-meta { flex-wrap:wrap; }
}
@media(max-width:360px) {
  .site-footer .footer-grid { grid-template-columns:minmax(0,1fr); }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }

  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
  }

}
/* Approved navigation, pricing and payment preview. */
.site-header .header-inner { max-width:1720px; width:calc(100% - 6rem); gap:1.5rem; }
.site-nav { gap:clamp(.8rem,1.25vw,1.5rem); }
.site-nav a { white-space:nowrap; min-height:44px; display:flex; align-items:center; }
.site-nav .nav-cta { min-height:48px; background:#b93022; border-color:#b93022; color:#fff; padding:.6rem 1rem; }
.site-nav .nav-cta:hover { background:#97281d; }
.hero-secondary-links { display:flex; flex-wrap:wrap; gap:.75rem 1.75rem; margin-top:1.25rem; font-size:.85rem; }
.hero-secondary-links .text-link { margin-top:0; }
.sub-hero > .wrap { max-width:1600px; width:calc(100% - 4rem); }
.sub-hero { padding-block:2rem 2.5rem; }
.sub-hero .breadcrumbs { margin-bottom:1.5rem; }
.sub-hero h1 { font-size:clamp(2.4rem,4vw,4.2rem); margin-bottom:1.25rem; }
.sub-hero .lead { margin-bottom:1.25rem; }
.sub-hero-layout.has-device { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); align-items:center; gap:4rem; }
.sub-hero-device { width:100%; height:320px; object-fit:contain; }
.pricing-section { padding-top:2.5rem; }
.price-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.price-option { display:flex; flex-direction:column; min-width:0; padding:2rem; background:var(--surface); border:1px solid var(--line); }
.price-option h2 { font-size:1.6rem; line-height:1.25; margin:0 0 1.75rem; }
.price-option p { margin:0 0 1rem; }
.price-value { font-family:var(--display); font-weight:600; font-size:clamp(1.9rem,2.5vw,2.75rem); line-height:1.2; font-variant-numeric:tabular-nums; }
.price-value small { display:block; font-family:var(--font); font-size:.9rem; font-weight:400; margin-top:.5rem; }
.installment-start { font-size:1.15rem; }
.installment-start strong { display:block; font-family:var(--display); font-size:2rem; }
.installment-next { font-size:1.35rem; font-weight:600; }
.price-total { padding-block:.8rem; border-block:1px solid var(--line); }
.price-total strong { display:block; font-size:1.4rem; }
.price-note { color:var(--muted); font-size:.85rem; }
.price-renewal { background:var(--soft); color:var(--text); }
.price-option .button { margin-top:auto; width:100%; font-size:.84rem; }
.payment-disabled:disabled { color:#525a55; background:#e7e9e4; border-color:#a5aea7; opacity:1; cursor:not-allowed; min-height:48px; }
.payment-methods { margin-top:2rem; }
.payment-methods > p { font-size:.85rem; margin:0 0 .75rem; }
.payment-logos { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-around; gap:1rem; width:fit-content; max-width:100%; padding:1rem; background:#101613; }
.payment-mark { display:block; width:130px; height:64px; background-image:url('images/payment-marks.png'); background-repeat:no-repeat; background-size:900px 120px; }
.payment-mark.payu { background-position:-707px -26px; }
.payment-mark.apple-pay { background-position:-385px -26px; }
.payment-mark.visa { background-position:-63px -26px; }
.payment-logos img { object-fit:contain; width:100px; height:50px; }
.price-comparison { width:100%; border-collapse:collapse; table-layout:fixed; margin-top:1.5rem; }
.price-comparison caption { text-align:left; margin-bottom:1rem; color:var(--muted); }
.price-comparison th,.price-comparison td { padding:1.1rem 1.25rem; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.price-comparison thead { background:var(--text); color:var(--surface); }
.price-comparison tbody th { width:40%; font-weight:500; }
.price-comparison tbody tr:nth-child(5) { font-weight:700; background:var(--surface); }
.price-guide { margin-top:2rem; }
.price-guide > div { padding:1.25rem 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:1fr 1.2fr; gap:2rem; }
.price-guide dt { font-weight:600; }
.price-guide dd { margin:0; }
.transfer-preview { border-block:1px solid var(--line); margin-top:2rem; padding:1rem 0; }
.transfer-preview summary { cursor:pointer; min-height:44px; align-content:center; }
.transfer-preview p { margin:1rem 0 0; }
.payment-demo-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:4rem; }
.payment-demo-grid > section { min-width:0; }
.payment-demo h2 { font-size:2rem; }
.availability { color:var(--muted); }
.payment-demo-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.5rem; }
@media(min-width:1101px) and (max-width:1500px) {
  .site-header .header-inner { flex-wrap:wrap; padding-block:.8rem; gap:.25rem; }
  .site-nav { width:100%; justify-content:space-between; }
}
@media(max-width:1100px) {
  .site-header .header-inner { width:calc(100% - 2rem); gap:.5rem; }
  .site-nav { flex-direction:column; align-items:stretch; gap:0; max-height:calc(100svh - 100px); overflow-y:auto; }
  .site-nav a { min-height:44px; padding:.65rem .5rem; }
  .site-nav .nav-cta { justify-content:center; margin-top:.6rem; min-height:48px; }
  .price-option { padding:1.4rem; }
}
@media(max-width:800px) {
  .sub-hero > .wrap { width:calc(100% - 2rem); }
  .sub-hero-layout.has-device { grid-template-columns:minmax(0,1fr); gap:1rem; }
  .sub-hero-device { height:220px; }
  .price-grid,.payment-demo-grid { grid-template-columns:minmax(0,1fr); }
  .price-value { font-size:2.4rem; }
  .price-option h2 { margin-bottom:1.25rem; }
  .price-comparison th,.price-comparison td { padding:.85rem .45rem; font-size:.8rem; overflow-wrap:anywhere; }
  .price-comparison th:first-child { width:36%; }
  .price-guide > div { grid-template-columns:minmax(0,1fr); gap:.5rem; }
  .payment-logos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); justify-items:center; }
  .payment-demo-grid { gap:3rem; }
}

/* Keep device controls usable by touch at every breakpoint. */
.anatomy-controls button,.anatomy-controls .button { min-height:44px; }
