.devices-page { padding-top: var(--site-header-height); background: #fff; color: var(--ink); }
.devices-page h1,.devices-page h2,.devices-page h3 { letter-spacing: 0; }
.devices-intro { text-align: center; padding: 7px 24px 40px; }
.devices-intro h1 { max-width: 730px; margin: 0 auto 24px; font-size: 42px; line-height: 1.35; }
.devices-intro-copy { max-width: 600px; margin: auto; color: var(--muted); font-size: 17px; line-height: 1.65; }
.devices-intro-copy p { margin: 0 0 18px; }
.devices-section { padding-top: 40px; margin-bottom: 20px; }
.devices-section-heading { text-align: center; padding-bottom: 40px; }
.devices-section-heading h2 { font-size: 46px; line-height: 1.45; margin: 0 0 16px; }
.devices-wordmark { width: 300px; height: 40px; object-fit: contain; margin: 0 auto; }
.devices-section--mesolux .devices-wordmark { width:260px; height:42px; }
.devices-wordmark--text { width:250px; height:54px; font: 40px/54px Arial,sans-serif; }
.devices-layout { display:grid; grid-template-columns: 8fr 3fr 1fr; align-items:start; }
.devices-machine { grid-column:1; display:block; padding-top:30px; margin-bottom:20px; }
.devices-machine img { width:100%; max-width:1100px; height:auto; margin:auto; }
.devices-copy { grid-column:2; padding:30px 20px 0; min-width:0; }
.devices-copy h3 { font-size:23px; line-height:1.45; margin:0 0 20px; }
.devices-copy p { font-size:17px; line-height:1.65; color:var(--muted); margin:0 0 24px; }
.devices-detail-link { color:#258f89; font-weight:700; display:inline-block; text-decoration:none; }
.devices-detail-link:hover,.devices-detail-link:focus-visible { color:#14655f; text-decoration:underline; }
.devices-treatment { display:block; margin:20px 0; aspect-ratio:1; }
.devices-treatment img { width:100%; height:100%; object-fit:contain; border-radius:0; }
.devices-section--reverse { padding-top:70px; }
.devices-section--reverse .devices-layout { grid-template-columns:1fr 3fr 8fr; }
.devices-section--reverse .devices-machine { grid-column:3; grid-row:1; }
.devices-section--reverse .devices-copy { grid-column:2; grid-row:1; padding:40px 0 0; }
.devices-section--cavitacell { padding-bottom:40px; margin-bottom:40px; }
.devices-section--cavitacell .devices-machine { padding-right:20px; }
.devices-section--davinci .devices-machine img { max-width:1000px; aspect-ratio:1000/650; object-fit:contain; }
.devices-faq { max-width:1140px; margin:60px auto; padding:0 24px; }
.devices-faq details { margin-bottom:28px; }
.devices-faq summary { cursor:pointer; font-size:22px; font-weight:600; }
.devices-faq p { margin:16px 0 0 24px; color:var(--muted); }
.devices-page a:focus-visible,.devices-faq summary:focus-visible { outline:2px solid #258f89; outline-offset:5px; }
.devices-motion-ready [data-devices-reveal] { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s ease; }
.devices-motion-ready [data-devices-reveal].is-visible { opacity:1; transform:none; }
.devices-motion-ready h1[data-devices-reveal],.devices-motion-ready h2[data-devices-reveal] { opacity:1; transform:none; }
.devices-word-clip { display:inline-block; overflow:hidden; vertical-align:bottom; }
.devices-word-clip > span { display:inline-block; transform:translateY(110%); transition:transform .65s cubic-bezier(.22,.61,.36,1); transition-delay:var(--word-delay,0ms); }
.is-visible .devices-word-clip > span { transform:none; }
.devices-faq summary { list-style:none; position:relative; padding-left:28px; }
.devices-faq summary::-webkit-details-marker { display:none; }
.devices-faq summary::before { content:'+'; position:absolute; left:0; font-weight:400; }
.devices-faq details[open] summary::before { content:'−'; }
@media(max-width:1199px) {
  .devices-layout,.devices-section--reverse .devices-layout { grid-template-columns:1fr; }
  .devices-machine,.devices-section--reverse .devices-machine { grid-column:1; grid-row:1; }
  .devices-copy,.devices-section--reverse .devices-copy { grid-column:1; grid-row:2; padding:40px 20px 0; }
  .devices-treatment { max-width:900px; margin:20px auto; }
  .devices-section-heading { padding-inline:20px; }
}
@media(max-width:767px) {
  .devices-intro h1 { font-size:32px; }
  .devices-section-heading h2 { font-size:28px; }
  .devices-copy h3 { font-size:21px; }
  .devices-section,.devices-section--reverse { padding-top:40px; }
  .devices-wordmark { max-width:80%; }
  .devices-faq summary { font-size:19px; }
}
.devices-page ~ .site-footer [data-consult-open] { display:block; padding:0; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; text-align:left; }
.devices-page ~ .site-footer [data-consult-open]:hover { color:var(--teal); }
.devices-page ~ .site-footer [data-consult-open]:focus-visible { outline:2px solid var(--teal); outline-offset:4px; }
@media(prefers-reduced-motion:reduce) { .devices-motion-ready [data-devices-reveal], .devices-word-clip > span { opacity:1; transform:none; transition:none; } }
