/* RE·SET — myreset.es
   Static rebuild of the WordPress/Elementor site (Oct 2026).
   Sections: fonts · base · header · page-builder layout behaviour · design · overrides */
/* Nunito Sans (header) — self-hosted, latin subsets */
@font-face { font-family:'Nunito Sans'; font-style:normal; font-weight:200 1000; font-stretch:100%; font-display:swap; src:url(../fonts/nunito-sans-latin.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD }
@font-face { font-family:'Nunito Sans'; font-style:normal; font-weight:200 1000; font-stretch:100%; font-display:swap; src:url(../fonts/nunito-sans-latin-ext.woff2) format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF }

/* ---------- base ---------- */
html { -webkit-text-size-adjust:100% }
body { margin:0; background:#fff; color:#333; font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale }
*, *:before, *:after { box-sizing:border-box }
img { max-width:100%; height:auto; border:0 }
label { line-height:1 }

/* ---------- layout behaviour inherited from the original page builder ---------- */

/* every layout container fills its parent and lays out as a column */
:where(.rs) :where(div, section, footer, main, aside, article):where(:not(.tx, .hd, .im, .bt, .tg, .tg-item, .tg-content, .html, .anchor)) { width:100%; min-width:0 }
.rs :is(.announcement-inner, .announcement-text, .address-bottom, .address-panel, .contact-panel, .footer-bottom, .footer-links, .hero, .journal-art, .news-meta, .next-bottom, .next-top, .section-heading, .consultation-inner, .hero-foot) { flex-direction:column }

/* text widgets reset typography */
.rs .tx { font-weight:400; font-style:normal; text-transform:none; text-decoration:none; letter-spacing:0 }
.rs .tx, .rs .hd, .rs .im, .rs .bt { min-width:0; max-width:100% }
.rs .hd>* { text-transform:none; font-style:normal; word-spacing:0 }
.rs .im { text-align:center }
.rs .im a { display:inline-block }
.rs .bt>a { text-align:center; text-decoration:none; transition:all .3s }

/* accordion (treatments, faq) */
.rs .tg-title { display:block; width:100%; text-align:start; cursor:pointer; margin:0 }
.rs .tg-icon { display:inline-block; color:var(--olive) }
.rs .tg-icon svg { width:1em; height:1em; fill:currentColor; display:inline; margin-left:-5px }
.rs .tg-icon .i-minus, .rs .tg-title[aria-expanded=true] .i-plus { display:none }
.rs .tg-title[aria-expanded=true] .i-minus { display:block }

/* ---------- RE·SET design ---------- */
.rs { width:100%; max-width:none; --ink:#20231f; --paper:#faf9f6; --muted:#666a62; --line:#d7d8d0; --olive:#454c37; --soft:#eceee7; --serif:Georgia,'Times New Roman',serif; --sans:Arial,Helvetica,sans-serif; --widgets-spacing:0px; --widgets-spacing-row:0px; --widgets-spacing-column:0px; --container-widget-width:100%; font-family:var(--sans); font-size:16px; color:var(--ink); line-height:1.6; background:var(--paper); padding:0; margin:0; display:block; gap:0 }
.rs .hd>* { color:inherit; font-family:var(--serif); font-weight:400; line-height:1.08; letter-spacing:-.045em; padding:0; margin:0 }
.rs .hd>h1 { font-size:clamp(3.75rem,7.5vw,7.5rem) }
.rs .hd>h2 { font-size:clamp(2.65rem,4.4vw,4.5rem) }
.rs .hd>h3 { font-size:2rem }
.rs .tx { font-family:var(--sans); font-size:inherit; line-height:inherit; color:inherit }
.rs .tx p:last-child { margin-bottom:0 }
.rs .im img { width:100%; height:auto; display:block; max-width:100%; border-radius:0 }
.rs .bt { width:fit-content }
.rs { --ink:#20231f; --paper:#faf9f6; --muted:#666a62; --line:#d7d8d0; --olive:#454c37; --soft:#eceee7; --serif:Georgia,'Times New Roman',serif; --sans:Arial,Helvetica,sans-serif }
.rs * { box-sizing:border-box }
.rs { scroll-behavior:smooth; scroll-padding-top:110px }
.rs { margin:0; background:var(--paper); color:var(--ink); font:16px/1.6 var(--sans); -webkit-font-smoothing:antialiased }
.rs a { color:inherit; text-decoration:none }
.rs button, .rs input { font:inherit }
.rs button, .rs a, .rs input { -webkit-tap-highlight-color:transparent }
.rs a:focus-visible, .rs button:focus-visible, .rs input:focus-visible { outline:2px solid #839370; outline-offset:5px }
.rs img { display:block; max-width:100% }
.rs h1, .rs h2, .rs h3, .rs p { margin:0 }
.rs h1, .rs h2, .rs h3 { font-family:var(--serif); font-weight:400; line-height:1.08; letter-spacing:-.045em }
.rs h1 { font-size:clamp(3.75rem,7.5vw,7.5rem) }
.rs h2 { font-size:clamp(2.65rem,4.4vw,4.5rem) }
.rs h3 { font-size:2rem }
.rs p { max-width:65ch }
.rs p+p { margin-top:1rem }
.rs .wrap { width:calc(100% - 112px); max-width:1440px; margin:auto }
.rs .eyebrow { font-size:12px; letter-spacing:.17em; text-transform:uppercase; font-weight:500; line-height:1.5 }
.rs .muted { color:var(--muted) }
.rs .button { min-height:48px; display:inline-flex; justify-content:center; align-items:center; padding:13px 25px; background:var(--ink); color:white; font-size:14px; line-height:1.5; border:1px solid var(--ink); cursor:pointer; transition:background .2s,color .2s; letter-spacing:.015em }
.rs .button:hover { background:var(--olive); border-color:var(--olive) }
.rs .button.light { background:var(--paper); border-color:var(--paper); color:var(--ink) }
.rs .button.light:hover { background:#dfe2d7; border-color:#dfe2d7 }
.rs .text-link { display:inline-block; border-bottom:1px solid currentColor; padding:2px 0 5px; font-size:14px; width:fit-content }
.rs .text-link:hover { opacity:.65 }
.rs .hero { position:relative; min-height:670px; min-height:min(740px,calc(100svh - 92px)); background:#141515; color:#fff; overflow:hidden; display:flex; align-items:center }
.rs .hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center }
.rs .hero:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.3),transparent 70%) }
.rs .hero-content { position:relative; z-index:1; padding-top:45px; padding-bottom:105px }
.rs .hero h1 { margin:27px 0 27px; max-width:640px; line-height:1.02 }
.rs .hero h1 em { font-weight:400; color:#d3d9c9 }
.rs .hero-description { max-width:380px; color:#d2d4d0; font-size:17px; line-height:1.65 }
.rs .hero .button { margin-top:30px }
.rs .hero-foot { position:absolute; bottom:28px; left:0; right:0; z-index:2; display:flex; justify-content:space-between; color:#d9dcd4 }
.rs .announcement { background:var(--soft); border-bottom:1px solid var(--line); padding:24px 0 }
.rs .announcement-inner { display:flex; align-items:center; justify-content:space-between; gap:28px }
.rs .announcement-text { display:flex; gap:25px; align-items:center; font-size:15px }
.rs .pill { border:1px solid #8d9680; padding:4px 12px; border-radius:30px; white-space:nowrap; font-size:12px; letter-spacing:.08em; text-transform:uppercase }
.rs .section { padding:112px 0 }
.rs .intro { display:grid; grid-template-columns:1fr 1.1fr; gap:110px }
.rs .intro h2 { margin-top:28px }
.rs .intro-copy { padding-top:50px; max-width:570px }
.rs .intro-copy p { color:var(--muted); font-size:18px }
.rs .intro-copy .text-link { margin-top:26px }
.rs .section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:46px }
.rs .section-heading h2 { margin-top:20px }
.rs .section-heading p { max-width:440px; color:var(--muted) }
.rs .section-heading .text-link { white-space:nowrap }
@media (min-width:1700px) {
  .rs .hero { min-height:820px }
}
@media (max-width:1180px) {
  .rs .wrap { width:calc(100% - 64px) }
  .rs .intro { gap:60px }
  .rs .hero { min-height:640px }
  .rs .hero h1 { font-size:6rem }
}
@media (max-width:940px) {
  .rs .intro { gap:40px }
  .rs .hero { min-height:650px }
  .rs .hero h1 { font-size:5.8rem }
  .rs .hero-image { object-position:58% center }
  .rs .hero:after { background:linear-gradient(90deg,#0008,transparent) }
  .rs .announcement-text { gap:16px }
}
@media (max-width:640px) {
  .rs .wrap { width:calc(100% - 40px) }
  .rs .hero { min-height:700px; align-items:end }
  .rs .hero-image { object-position:64% center }
  .rs .hero:after { background:linear-gradient(0deg,#080a09 0%,#080a09aa 35%,transparent 78%) }
  .rs .hero-content { padding-top:280px; padding-bottom:90px }
  .rs .hero .eyebrow { font-size:12px }
  .rs .hero h1 { font-size:4.25rem; margin:20px 0 }
  .rs .hero-description { font-size:16px; max-width:330px }
  .rs .hero .button { margin-top:25px }
  .rs .hero-foot { bottom:24px; font-size:12px }
  .rs .hero-foot .tx:last-child { display:none }
  .rs .announcement { padding:22px 0 }
  .rs .announcement-inner { align-items:start; gap:15px }
  .rs .announcement-text { display:block; font-size:14px }
  .rs .announcement-text .pill { display:inline-block; margin-bottom:10px }
  .rs .announcement .text-link { font-size:12px; white-space:nowrap; margin-top:6px }
  .rs .section { padding:70px 0 }
  .rs .intro { grid-template-columns:1fr; gap:25px }
  .rs .intro-copy { padding:0 }
  .rs .intro-copy p { font-size:17px }
  .rs .section-heading { display:block; margin-bottom:30px }
  .rs h2 { font-size:2.8rem }
}
@media (prefers-reduced-motion:reduce) {
  .rs { scroll-behavior:auto }
  .rs * { transition:none!important; animation:none!important }
}
.rs .treatment-overview { background:var(--soft) }
.rs .editorial-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:30px }
.rs .photo-card { min-width:0 }
.rs .photo-card img { aspect-ratio:4/5; width:100%; object-fit:cover; transition:filter .4s }
.rs .photo-caption { padding-top:24px }
.rs .photo-caption h3 { margin:12px 0 10px }
.rs .photo-caption p { color:var(--muted); font-size:15px }
.rs .photo-card.second { padding-top:72px }
.rs .treatment-index { padding:4px 0 0 20px }
.rs .treatment-index .eyebrow { margin-bottom:15px }
.rs .treatment-index a { display:block; padding:21px 0; border-bottom:1px solid #c7cbbf }
.rs .treatment-index a>span { display:block; font-family:var(--serif); font-size:25px; letter-spacing:-.025em; line-height:1.3 }
.rs .treatment-index a>small { display:block; color:var(--muted); font-size:13px; margin-top:4px }
.rs .treatment-index a:hover>span { color:#6b745b }
.rs .next-chapter { padding:62px 0 32px; background:#353e30; color:#f1f2eb }
.rs .next-top { display:flex; align-items:center; justify-content:space-between; gap:20px }
.rs .next-chapter .pill, .rs .life-hero .pill { border-color:#8c9682 }
.rs .next-main { display:grid; grid-template-columns:1.1fr 1fr; gap:80px; align-items:center; padding:65px 0 70px }
.rs .next-pretitle { font-size:16px; letter-spacing:.03em; margin-bottom:24px; color:#d0d6c6 }
.rs .next-main h2 { font-size:clamp(5rem,10.5vw,10.5rem); line-height:.94; letter-spacing:-.055em }
.rs .next-main h2 em { font-weight:400; color:#c4cdb8 }
.rs .next-copy { max-width:500px }
.rs .next-copy h3 { font-size:37px; margin-bottom:25px }
.rs .next-copy p { color:#d2d7cb; line-height:1.75 }
.rs .next-copy .button { margin-top:28px }
.rs .next-bottom { border-top:1px solid #69725f; padding-top:28px; display:flex; justify-content:space-between; font-size:13px; color:#c8d0c0 }
.rs .news-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px }
.rs .news-item { padding:25px 0 20px; border-top:1px solid var(--line) }
.rs .news-meta { font-size:12px; text-transform:uppercase; letter-spacing:.1em; display:flex; justify-content:space-between; gap:20px; color:var(--muted) }
.rs .news-item h3 { font-size:37px; margin:38px 0 22px }
.rs .news-item p { max-width:500px; color:var(--muted) }
.rs .news-item .text-link { margin-top:28px }
.rs .news-item:hover h3 { color:var(--olive) }
.rs .consultation { padding:60px 0; background:#e6e8df; border-top:1px solid var(--line) }
.rs .consultation-inner { display:flex; justify-content:space-between; align-items:center; gap:35px }
.rs .consultation h2 { font-size:46px; margin:16px 0 }
.rs .consultation p:not(.eyebrow) { color:var(--muted) }
.rs .consultation .button { flex-shrink:0; background:var(--ink); color:white; border-color:var(--ink) }
.rs .footer { background:#1e241d; color:#dce0d7; padding:70px 0 0 }
.rs .footer-grid { display:grid; grid-template-columns:1.15fr 1fr 1.15fr .85fr; gap:50px }
.rs .footer-brand { display:block; width:220px; margin-bottom:18px }
.rs .footer .eyebrow { font-size:12px; color:#c4caba; margin-bottom:22px }
.rs .footer-grid p, .rs .footer-grid a { font-size:14px }
.rs .footer-grid .eyebrow { font-size:12px }
.rs .footer-grid .footer-note { color:#c0c7b8; margin-top:30px }
.rs .footer .text-link { margin-top:18px }
.rs .footer .hours { margin-top:22px; color:#c0c7b8; font-size:13px }
.rs .footer-links { display:flex; flex-direction:column; gap:8px }
.rs .footer-bottom { border-top:1px solid #4b5343; margin-top:60px; padding:25px 0; display:flex; justify-content:space-between; gap:20px; font-size:12px; color:#c0c7b8 }
.rs .footer a:hover { color:white }
.rs .page-intro { padding-top:76px; padding-bottom:76px }
.rs .page-intro-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:70px; align-items:end; margin-top:30px }
.rs .page-intro h1 { font-size:clamp(3.8rem,6.9vw,6.7rem) }
.rs .page-intro h1 em { color:var(--olive) }
.rs .page-intro-grid p, .rs .page-intro-grid p { font-size:18px; color:var(--muted); max-width:460px }
.rs .page-intro-grid .text-link, .rs .page-intro-grid .button { margin-top:27px }
.rs .catalog-layout { display:grid; grid-template-columns:240px 1fr; gap:65px; padding-bottom:110px; border-top:1px solid var(--line) }
.rs .catalog-nav { position:sticky; top:130px; align-self:start; padding-top:34px; display:flex; flex-direction:column; gap:15px }
.rs .catalog-nav .eyebrow { margin-bottom:10px }
.rs .catalog-nav a { font-size:14px }
.rs .catalog-nav a:hover { text-decoration:underline; text-underline-offset:4px }
.rs .catalog-nav .small { margin-top:25px; max-width:190px }
.rs .small { font-size:13px; line-height:1.65 }
.rs .search-wrap { padding:32px 0 12px }
.rs .search-wrap label { display:block; font-size:14px; margin-bottom:8px }
.rs .search-field { display:flex; align-items:center; border-bottom:1px solid #848d7a }
.rs .search-field input { background:none; border:0; padding:12px 0; width:100%; font-size:20px; color:var(--ink); min-width:0 }
.rs .search-field input:focus-visible { outline-offset:0 }
.rs .search-field button { border:0; background:none; text-decoration:underline; font-size:14px; cursor:pointer }
.rs .search-status { color:var(--muted); min-height:22px; margin-top:8px }
.rs .catalog-section { padding:32px 0 48px; scroll-margin-top:110px }
.rs .catalog-heading { display:grid; grid-template-columns:35px 1fr; gap:20px; margin-bottom:26px }
.rs .catalog-heading h2 { font-size:42px }
.rs .catalog-heading p { color:var(--muted); margin-top:16px; max-width:560px }
.rs .price-list { padding:0 0 20px; list-style:none; margin:0 }
.rs .treatment-row { display:flex; justify-content:space-between; gap:28px; padding:13px 18px; border-top:1px solid #e5e6df; font-size:15px; line-height:1.6 }
.rs .treatment-row:nth-child(odd) { background:#eff0ea }
.rs .treatment-row strong { font-weight:500; white-space:nowrap; font-variant-numeric:tabular-nums; flex-shrink:0 }
.rs .brain-menu { display:grid; grid-template-columns:.8fr 1fr; gap:32px; background:var(--soft); padding:25px }
.rs .brain-menu img { object-fit:cover; aspect-ratio:4/5; width:100%; height:100%; max-height:420px }
.rs .brain-menu p { font-size:15px }
.rs .brain-menu .small { font-size:12px }
.rs .brain-menu .eyebrow { font-size:12px; margin-top:20px }
.rs .brain-menu .text-link { margin:14px 0 }
.rs .inline-link { text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere }
.rs .consultation-menu { background:var(--soft); padding:40px; margin-top:20px }
.rs .consultation-menu h2 { font-size:36px; margin:22px 0 }
.rs .consultation-menu h2 em { display:block; color:var(--olive); margin-top:7px }
.rs .consultation-menu p { color:var(--muted) }
.rs .consult-list { padding-left:20px; columns:2; margin:25px 0 }
.rs .consult-list>li { break-inside:avoid; margin-bottom:8px; font-size:15px }
.rs .consultation-menu .small { margin-top:22px }
.rs .empty-result { padding:35px 0 }
.rs .empty-result p { margin:18px 0 }
.rs .life-hero { background:#353e30; color:#f2f2eb; padding:50px 0 70px }
.rs .life-title { margin-top:80px }
.rs .life-title h1 { font-size:clamp(5.5rem,15vw,15rem); line-height:.95; margin:24px 0 55px; letter-spacing:-.06em }
.rs .life-title em { color:#c4cdb8 }
.rs .life-intro { border-top:1px solid #6b745f; padding-top:40px; display:grid; grid-template-columns:1.15fr 1fr; gap:100px }
.rs .life-intro h2 { font-size:40px; letter-spacing:-.03em; line-height:1.14 }
.rs .life-intro p { color:#d3dacb }
.rs .life-intro .button { margin-top:24px }
.rs .principles { display:grid; grid-template-columns:repeat(3,1fr); gap:50px; padding-bottom:35px }
.rs .principles>div { border-top:1px solid var(--line); padding-top:25px }
.rs .principles h3 { font-size:31px; margin:28px 0 20px }
.rs .principles p:not(.eyebrow) { color:var(--muted) }
.rs .science-feature { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center }
.rs .science-image { position:relative }
.rs .science-image img { aspect-ratio:1/1.05; object-fit:cover }
.rs .image-label { position:absolute; bottom:0; left:0; right:0; background:#1e241dcf; color:white; padding:20px 28px; font-size:12px; letter-spacing:.05em }
.rs .science-copy h2 { margin:24px 0 32px }
.rs .science-copy p:not(.eyebrow) { color:var(--muted) }
.rs .science-copy .text-link { margin:25px 0 }
.rs .soft { background:var(--soft) }
.rs .launch-note { text-align:center; max-width:720px }
.rs .launch-note h2 { margin:25px 0; font-size:clamp(3rem,6vw,5.5rem) }
.rs .launch-note p { margin-inline:auto }
.rs .launch-note .button { margin-top:30px }
.rs .journal-feature { display:grid; grid-template-columns:.9fr 1.1fr; gap:75px; padding-bottom:95px; align-items:start }
.rs .journal-art { background:#353e30; color:#e6eadf; aspect-ratio:4/5; padding:40px; display:flex; flex-direction:column; justify-content:space-between }
.rs .journal-art p { font-family:var(--serif); font-size:clamp(4rem,7.5vw,8rem); line-height:.95; letter-spacing:-.06em }
.rs .journal-art em { color:#c4cdb8 }
.rs .journal-art .tx:last-child span { font-size:14px }
.rs .journal-copy h2 { font-size:45px; margin:32px 0 }
.rs .journal-copy p { color:var(--muted) }
.rs .journal-copy .text-link { margin-top:28px }
.rs .journal-secondary { display:grid; grid-template-columns:1fr 1fr; gap:100px; border-top:1px solid var(--line); padding:65px 0 100px }
.rs .journal-secondary h2 { font-size:40px; margin-top:25px }
.rs .journal-secondary p:not(.eyebrow) { color:var(--muted) }
.rs .journal-secondary .text-link { margin-top:25px }
.rs .visit-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding-bottom:30px }
.rs .address-panel { background:var(--soft); padding:48px; display:flex; flex-direction:column }
.rs .address-panel h2 { font-size:75px; margin:55px 0 25px }
.rs .address-panel p:not(.eyebrow) { font-size:20px; color:var(--muted) }
.rs .address-panel .text-link { margin-top:28px }
.rs .address-bottom { display:flex; justify-content:space-between; border-top:1px solid #b8c1b0; margin-top:75px; padding-top:22px; font-size:12px; letter-spacing:.15em }
.rs .contact-panel { padding:12px 0; display:flex; flex-direction:column; gap:35px }
.rs .contact-panel>div+div { border-top:1px solid var(--line); padding-top:30px }
.rs .contact-panel h3 { font-size:29px; margin-bottom:18px }
.rs .contact-phone { display:block; font-size:28px; letter-spacing:-.02em; margin-bottom:12px }
.rs .contact-panel p { color:var(--muted) }
.rs .opening-hours { margin:0 }
.rs .opening-hours>div { display:flex; justify-content:space-between; gap:20px; padding:5px 0 }
.rs .opening-hours dd { margin:0 }
.rs .faq-layout { display:grid; grid-template-columns:1fr 1fr; gap:80px }
.rs .faq-layout h2 { margin-top:20px }
.rs [hidden] { display:none!important }
@media (max-width:1180px) {
  .rs .editorial-grid { gap:25px; grid-template-columns:1fr 1fr }
  .rs .treatment-index { grid-column:1/-1; padding:20px 0 0; display:grid; grid-template-columns:repeat(3,1fr); gap:0 32px }
  .rs .treatment-index .eyebrow { grid-column:1/-1 }
  .rs .treatment-index a>span { font-size:23px }
  .rs .photo-card.second { padding-top:50px }
  .rs .next-main { gap:70px }
  .rs .footer-grid { gap:28px; grid-template-columns:1fr 1fr }
  .rs .footer-brand { width:200px }
  .rs .catalog-layout { grid-template-columns:190px 1fr; gap:40px }
  .rs .catalog-heading h2 { font-size:37px }
  .rs .science-feature { gap:50px }
  .rs .page-intro-grid { gap:45px }
  .rs .brain-menu { grid-template-columns:1fr }
  .rs .brain-menu img { max-height:300px; aspect-ratio:16/9 }
  .rs .journal-feature { gap:45px }
  .rs .journal-secondary { gap:55px }
  .rs .visit-grid { gap:50px }
  .rs .address-panel { padding:35px }
  .rs .address-panel h2 { font-size:60px }
  .rs .life-intro { gap:65px }
  .rs .faq-layout { gap:50px }
  .rs .life-title h1 { font-size:14vw }
}
@media (max-width:940px) {
  .rs .next-main { gap:40px }
  .rs .next-copy h3 { font-size:30px }
  .rs .news-grid { gap:36px }
  .rs .news-item h3 { font-size:31px }
  .rs .catalog-layout { display:block }
  .rs .catalog-nav { position:static; display:flex; flex-direction:row; flex-wrap:wrap; gap:12px 22px; padding:25px 0; border-bottom:1px solid var(--line) }
  .rs .catalog-nav p { display:none }
  .rs .catalog-nav a { font-size:13px }
  .rs .page-intro-grid { gap:30px }
  .rs .page-intro-grid p, .rs .page-intro-grid p { font-size:16px }
  .rs .principles { gap:25px }
  .rs .principles h3 { font-size:27px }
  .rs .science-feature { gap:35px }
  .rs .science-copy h2 { font-size:38px }
  .rs .journal-feature { grid-template-columns:.85fr 1.15fr; gap:35px }
  .rs .journal-art { padding:25px }
  .rs .journal-copy h2 { font-size:36px }
  .rs .journal-copy .news-meta { display:block }
  .rs .journal-copy .news-meta span { display:block; margin-top:8px }
  .rs .visit-grid { gap:35px }
  .rs .contact-phone { font-size:25px }
  .rs .address-panel h2 { font-size:50px }
  .rs .contact-panel h3 { font-size:26px }
  .rs .consultation h2 { font-size:38px }
  .rs .life-intro h2 { font-size:33px }
  .rs .footer-grid { gap:40px }
}
@media (max-width:640px) {
  .rs .editorial-grid { display:block }
  .rs .photo-card { display:block; margin-bottom:38px }
  .rs .photo-card img { aspect-ratio:4/4.2 }
  .rs .photo-card.second { padding-top:0 }
  .rs .photo-caption { padding-top:18px }
  .rs .photo-caption h3 { font-size:31px; margin:8px 0 }
  .rs .treatment-index { grid-template-columns:1fr 1fr; gap:0 20px; padding-top:10px }
  .rs .treatment-index a { padding:18px 0 }
  .rs .treatment-index a>span { font-size:21px }
  .rs .treatment-index a>small { font-size:12px }
  .rs .next-chapter { padding-top:35px }
  .rs .next-top { display:block }
  .rs .next-top .pill { display:inline-block; margin-top:17px }
  .rs .next-main { grid-template-columns:1fr; padding:45px 0 40px; gap:38px }
  .rs .next-main h2 { font-size:6rem }
  .rs .next-pretitle { font-size:14px }
  .rs .next-copy h3 { font-size:32px; margin-bottom:22px }
  .rs .next-bottom { font-size:12px; align-items:start; gap:30px }
  .rs .news-grid { display:block }
  .rs .news-item { display:block; padding-bottom:40px }
  .rs .news-item h3 { font-size:31px; margin-top:27px }
  .rs .news-meta { font-size:12px; gap:10px }
  .rs .news-item .text-link { margin-top:20px }
  .rs .consultation { padding:45px 0 }
  .rs .consultation-inner { display:block }
  .rs .consultation h2 { font-size:36px }
  .rs .consultation .button { margin-top:27px }
  .rs .footer { padding-top:50px }
  .rs .footer-grid { grid-template-columns:1fr; gap:40px }
  .rs .footer-brand { width:190px }
  .rs .footer .eyebrow { margin-bottom:15px }
  .rs .footer-grid .footer-note { margin-top:20px }
  .rs .footer-grid>div:first-child { padding-bottom:25px; border-bottom:1px solid #4b5343 }
  .rs .footer-bottom { margin-top:40px; flex-wrap:wrap; gap:12px; font-size:12px }
  .rs .page-intro { padding-top:45px; padding-bottom:45px }
  .rs .page-intro-grid { grid-template-columns:1fr; gap:27px; margin-top:25px }
  .rs .page-intro h1 { font-size:3.9rem }
  .rs .page-intro-grid .text-link, .rs .page-intro-grid .button { margin-top:20px }
  .rs .catalog-layout { padding-bottom:65px }
  .rs .catalog-nav { gap:12px 20px }
  .rs .catalog-nav a { font-size:12px }
  .rs .catalog-heading { grid-template-columns:25px 1fr; gap:12px; margin-bottom:24px }
  .rs .catalog-heading h2 { font-size:31px }
  .rs .catalog-heading p { font-size:15px; margin-top:14px }
  .rs .catalog-section { padding:26px 0 30px; scroll-margin-top:95px }
  .rs .treatment-row { font-size:14px; padding:12px; gap:15px }
  .rs .price-list { padding-bottom:16px }
  .rs .consultation-menu { padding:28px 23px }
  .rs .consultation-menu h2 { font-size:32px }
  .rs .consult-list { columns:1 }
  .rs .brain-menu { padding:20px; gap:22px }
  .rs .brain-menu img { max-height:260px }
  .rs .life-hero { padding:30px 0 40px }
  .rs .life-title { margin-top:50px }
  .rs .life-title h1 { font-size:4.9rem; line-height:1; margin:23px 0 37px }
  .rs .life-intro { grid-template-columns:1fr; gap:25px; padding-top:30px }
  .rs .life-intro h2 { font-size:30px }
  .rs .principles { grid-template-columns:1fr; gap:35px; padding-bottom:0 }
  .rs .principles h3 { font-size:30px; margin:22px 0 16px }
  .rs .science-feature { grid-template-columns:1fr; gap:35px }
  .rs .science-copy h2 { font-size:39px }
  .rs .science-image img { aspect-ratio:1 }
  .rs .launch-note h2 { font-size:3.7rem }
  .rs .journal-feature { grid-template-columns:1fr; gap:38px; padding-bottom:60px }
  .rs .journal-art { aspect-ratio:1.1; padding:30px }
  .rs .journal-art p { font-size:5.5rem }
  .rs .journal-copy .news-meta { display:flex }
  .rs .journal-copy .news-meta span { margin:0 }
  .rs .journal-copy h2 { font-size:36px; margin:25px 0 }
  .rs .journal-secondary { grid-template-columns:1fr; gap:25px; padding:38px 0 60px }
  .rs .journal-secondary h2 { font-size:33px }
  .rs .visit-grid { grid-template-columns:1fr; gap:35px }
  .rs .address-panel { padding:30px }
  .rs .address-panel h2 { font-size:64px; margin:42px 0 24px }
  .rs .address-bottom { margin-top:48px }
  .rs .contact-panel { padding:0 }
  .rs .faq-layout { grid-template-columns:1fr; gap:36px }
  .rs .opening-hours { font-size:15px }
  .rs .search-field input { font-size:18px }
}
@media (min-width:641px) and (max-height:740px) {
  .rs .hero { min-height:610px }
  .rs .hero-content { padding-top:25px; padding-bottom:70px }
  .rs .hero h1 { font-size:5.7rem }
}
@media (max-width:640px) {
  .rs .announcement-inner { display:block }
  .rs .announcement .text-link { margin-top:12px; font-size:14px }
  .rs .hero h1 { font-size:clamp(3.6rem,17.4vw,4.25rem) }
  .rs .page-intro h1 { font-size:clamp(3.2rem,16vw,3.9rem) }
}
.rs .wrap { margin-inline:auto; max-width:1440px }
.rs .launch-note { max-width:720px }
.rs .hd h1, .rs .hd h2, .rs .hd h3 { color:inherit }
.rs .tx+.tx { margin-top:1rem }
.rs .hero-foot .tx, .rs .next-top .tx, .rs .next-bottom .tx, .rs .footer-bottom .tx, .rs .address-bottom .tx, .rs .announcement-text .tx, .rs .news-meta .tx { margin:0; width:auto }
.rs .footer-brand { width:220px; max-width:220px }
.rs .hero .hero-image { position:absolute; inset:0; z-index:0; width:100%; height:100% }
.rs .hero-image, .rs .hero-image img { height:100%; width:100%; object-fit:cover }
.rs .hero-content, .rs .hero-foot { z-index:2 }
.rs .hero-foot { width:calc(100% - 112px) }
.rs .photo-card .im img { aspect-ratio:4/5; object-fit:cover }
.rs .science-image .im img { aspect-ratio:1/1.05; object-fit:cover }
.rs .science-image .tx { margin:0 }
.rs .image-label { z-index:2 }
.rs .brain-menu .im img { aspect-ratio:4/5; object-fit:cover; height:100% }
.rs .bt.button { padding:0; border:0; background:transparent; display:block; min-height:0 }
.rs .bt.button>a { min-height:48px; display:inline-flex; align-items:center; justify-content:center; padding:13px 25px; color:white; background:var(--ink); font:400 14px/1.5 var(--sans); letter-spacing:.015em; border:1px solid var(--ink); border-radius:0 }
.rs .bt.button.light>a { background:var(--paper); color:var(--ink); border-color:var(--paper) }
.rs .bt.button>a:hover { background:var(--olive); border-color:var(--olive); color:white }
.rs .consultation .bt.button>a { background:var(--ink); color:white; border-color:var(--ink) }
.rs .tg .tg-item { border-top:1px solid var(--line) }
.rs .tg .tg-title { border:0; padding:22px 0; font:400 22px/1.35 var(--sans); color:var(--ink); background:transparent }
.rs .tg .tg-label { color:inherit }
.rs .tg .tg-content { border:0; padding:0; background:none; font:400 15px/1.6 var(--sans); color:var(--muted) }
.rs .tg .tg-icon { float:right!important; margin:0 8px; font-size:14px; width:20px }
.rs .faqs .tg .tg-title { font-size:17px }
.rs .faqs .tg-content { padding-bottom:22px }
.rs .tg .price-list { margin:0; padding:0 0 20px; list-style:none }
.rs .empty-result { display:none }
.rs .hd+.tx { margin-top:20px }
.rs .next-main .hd h2 { font-size:clamp(5rem,10.5vw,10.5rem); line-height:.94; letter-spacing:-.055em }
.rs .life-title .hd h1 { font-size:clamp(5.5rem,15vw,15rem); line-height:.95; letter-spacing:-.06em; margin:24px 0 55px }
.rs .catalog-heading .hd h2 { font-size:42px }
.rs .journal-art .tx p { font-family:var(--serif); font-size:clamp(4rem,7.5vw,8rem); line-height:.95; letter-spacing:-.06em }
.rs .address-panel .hd h2 { font-size:75px }
.rs .page-intro .hd h1 { font-size:clamp(3.8rem,6.9vw,6.7rem) }
.rs .life-intro .hd h2 { font-size:40px }
.rs .consultation .hd h2 { font-size:46px }
.rs .launch-note .hd h2 { font-size:clamp(3rem,6vw,5.5rem) }
.rs .footer-grid .tx+.tx { margin-top:0 }
@media (max-width:1180px) {
  .rs .hero-foot { width:calc(100% - 64px) }
  .rs .brain-menu .im img { aspect-ratio:16/9; max-height:300px }
  .rs .catalog-heading .hd h2 { font-size:37px }
  .rs .address-panel .hd h2 { font-size:60px }
  .rs .life-title .hd h1 { font-size:14vw }
}
@media (max-width:940px) {
  .rs .life-intro .hd h2 { font-size:33px }
  .rs .consultation .hd h2 { font-size:38px }
  .rs .address-panel .hd h2 { font-size:50px }
}
@media (max-width:640px) {
  .rs .hero-foot { width:calc(100% - 40px) }
  .rs .hero-image img { object-position:64% center }
  .rs .hero .hd h1 { font-size:4.25rem }
  .rs .hd.hd>h2 { font-size:2.8rem }
  .rs .next-main .hd h2 { font-size:6rem }
  .rs .life-title .hd h1 { font-size:17vw }
  .rs .life-intro .hd h2 { font-size:31px }
  .rs .catalog-heading .hd h2 { font-size:32px }
  .rs .address-panel .hd h2 { font-size:58px }
  .rs .consultation .hd h2 { font-size:34px }
  .rs .tg .tg-title { font-size:19px }
  .rs .photo-card .im img { aspect-ratio:4/4.2 }
  .rs .announcement-text .tx+.tx { margin-top:8px }
}
.rs .tg .tg-icon { width:14px }
.rs .bt.align-left { text-align:left }
.rs .tg-label { font:600 22px/1.2 'Nunito Sans',sans-serif; color:inherit }
@media (max-width:767px) {
  .rs .tg-label { font-size:18px }
}

/* ---------- page-builder spacing rules that win over the design ---------- */
.rs :is(.tx, .hd, .im, .bt, .tg, .html):not(:last-child) { margin-bottom:0 }

/* ---------- v2 · Health & Recovery update (JSON 2026-10-07-v1) ---------- */
/* home hero */
.rs .hero h1 { max-width:880px; font-size:clamp(3.4rem,6.2vw,6.4rem) }
.rs .hero-description { max-width:520px }
.rs .hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px 30px; margin-top:30px }
.rs .hero-actions .button { margin-top:0 }
.rs .hero-actions .text-link { color:#fff }
@media (max-width:1180px) { .rs .hero h1 { font-size:5rem } }
@media (max-width:640px) {
  .rs .hero h1 { font-size:clamp(2.9rem,13vw,3.6rem) }
  .rs .hero-actions { margin-top:25px; gap:16px 24px }
}

/* home: grouped service cards */
.rs .care-groups { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; margin-bottom:72px }
.rs .care-card { border-top:1px solid #c7cbbf; padding-top:22px; display:flex; flex-direction:column }
.rs .care-card h3 { font-size:28px; margin:18px 0 14px }
.rs .care-card p { color:var(--muted); font-size:15px }
.rs .care-card .tx:last-child { margin-top:auto; padding-top:18px }
@media (max-width:1180px) { .rs .care-groups { grid-template-columns:1fr 1fr; gap:36px 30px } }
@media (max-width:640px) { .rs .care-groups { grid-template-columns:1fr; gap:30px; margin-bottom:50px } .rs .care-card h3 { font-size:26px } }

/* home: Life Design feature */
.rs .next-copy .availability { font-size:13px; color:#c8d0c0; margin-top:4px }
.rs .next-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px 28px; margin-top:28px }
.rs .next-actions .button { margin-top:0 }

/* Life Design page */
.rs .service-note { color:var(--muted); margin-top:6px }
.rs .retreats { border-top:1px solid var(--line) }
.rs .retreats .bt { margin-top:26px }

/* footer */
.rs .footer-grid .footer-note { line-height:1.6 }
.rs .footer-grid .footer-tech { margin-top:12px; font-size:12px }
.rs .launch-note .bt { text-align:center }

/* =====================================================================
   v3 · SISTEMA RE.SET (oct 2026)
   Referencia: UNO. Dos familias, cinco tintas, una línea, márgenes
   fluidos, botón píldora, cabecera fija que se adapta.
   ===================================================================== */
@font-face { font-family:'Newsreader'; font-style:normal; font-weight:200 800; font-display:swap; src:url(../fonts/newsreader-latin.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD }
@font-face { font-family:'Newsreader'; font-style:normal; font-weight:200 800; font-display:swap; src:url(../fonts/newsreader-latin-ext.woff2) format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF }
@font-face { font-family:'Newsreader'; font-style:italic; font-weight:200 800; font-display:swap; src:url(../fonts/newsreader-latin-italic.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD }
@font-face { font-family:'Newsreader'; font-style:italic; font-weight:200 800; font-display:swap; src:url(../fonts/newsreader-latin-ext-italic.woff2) format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF }

:root {
  /* tintas */
  --ink:#1F221D; --paper:#F7F6F1; --sage:#ECEBE3; --olive:#353E30; --forest:#1F241E;
  --ink-70:rgba(32,35,31,.70); --ink-55:rgba(32,35,31,.58);
  --on-dark:#F2F2EB; --on-dark-70:rgba(242,242,235,.74); --on-dark-55:rgba(242,242,235,.58);
  --accent:#C4CDB8;                       /* cursivas sobre fondo oscuro */
  --line:rgba(32,35,31,.14); --line-dark:rgba(242,242,235,.2);
  /* tipografía */
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Nunito Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  /* espacio */
  --pad:clamp(20px,4.6vw,72px);
  --maxw:1440px;
  --hh:76px;                               /* alto de cabecera */
  --e:cubic-bezier(.16,1,.3,1);
}
@media (max-width:1180px){ :root{ --hh:64px } }

html { scroll-padding-top:calc(var(--hh) + 16px) }
body { background:var(--paper); color:var(--ink); font-family:var(--sans) }
.rs { --ink:#1F221D; --paper:#F7F6F1; --muted:rgba(31,34,29,.66); --line:rgba(31,34,29,.13); --olive:#353E30; --soft:#ECEBE3;
      --serif:'Newsreader',Georgia,'Times New Roman',serif; --sans:'Nunito Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
      font-family:var(--sans); font-size:16.5px; line-height:1.65; scroll-padding-top:calc(var(--hh) + 16px) }
.rs ::selection { background:var(--ink); color:var(--paper) }

/* ---------- tipografía ---------- */
.rs h1, .rs h2, .rs h3, .rs .hd>* { font-family:var(--serif); font-weight:300; letter-spacing:-.02em; line-height:1.06; text-wrap:balance }
.rs h3, .rs .hd>h3 { font-weight:400; letter-spacing:-.012em; line-height:1.15 }
.rs em { font-style:italic; font-weight:300 }
.rs .hero h1 em, .rs .life-title em, .rs .next-main h2 em, .rs .journal-art em { font-weight:300 }
.rs .next-main h2, .rs .next-main .hd h2, .rs .life-title h1, .rs .life-title .hd h1, .rs .journal-art p, .rs .journal-art .tx p { letter-spacing:-.03em; font-weight:300 }
.rs .treatment-index a>span { font-weight:400; letter-spacing:-.01em }
.rs .eyebrow { font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:.2em; text-transform:uppercase }
.rs .tg-label { font-family:var(--sans) }
.rs .tg .tg-title, .rs .tg .tg-content { font-family:var(--sans) }
.rs p { text-wrap:pretty }

/* ---------- márgenes y rejilla ---------- */
.rs .wrap { width:calc(100% - 2 * var(--pad)); max-width:var(--maxw); margin-inline:auto }
.rs .hero-foot { width:calc(100% - 2 * var(--pad)); max-width:var(--maxw); margin-inline:auto }
.rs .section { padding-block:clamp(72px,8.5vw,128px) }

/* ---------- botones y enlaces ---------- */
.rs .button, .rs .bt.button>a {
  min-height:50px; padding:0 28px; border-radius:999px; border:0;
  font:500 15px/1 var(--sans); letter-spacing:.01em;
  background:var(--ink); color:var(--paper);
  transition:background-color .3s var(--e), color .3s var(--e), transform .25s var(--e);
}
.rs .button:hover, .rs .bt.button>a:hover { background:var(--olive); color:var(--paper) }
.rs .button:active, .rs .bt.button>a:active { transform:scale(.97) }
.rs .button.light, .rs .bt.button.light>a { background:var(--paper); color:var(--ink) }
.rs .button.light:hover, .rs .bt.button.light>a:hover { background:#E3E6DC; color:var(--ink) }
.rs .consultation .bt.button>a { background:var(--ink); color:var(--paper) }
.rs .text-link { font-family:var(--sans); font-size:14.5px; font-weight:500; padding:2px 0 6px; border-bottom:1px solid currentColor; transition:opacity .3s var(--e) }
.rs .text-link:hover { opacity:.6 }
.rs .pill { border-color:currentColor; opacity:.85; font-weight:600 }

/* ---------- colores de sección: cinco tintas ---------- */
.rs .consultation { background:var(--sage); border-top:0 }
.rs .treatment-row:nth-child(odd) { background:rgba(32,35,31,.035) }
.rs .treatment-row { border-top-color:var(--line) }
.rs .treatment-index a { border-bottom-color:var(--line) }
.rs .next-chapter, .rs .life-hero, .rs .journal-art { background:var(--olive) }
.rs .footer { background:var(--forest) }
.rs .hero { background:#141515 }

/* ---------- portada a pantalla completa ---------- */
.rs .hero { min-height:100vh; min-height:100svh }
.rs .hero-content { padding-top:calc(var(--hh) + 56px) }
.page-life-design .rs .life-hero { padding-top:calc(var(--hh) + 40px) }
body:not(.has-hero) main.rs { padding-top:var(--hh) }
@media (max-width:640px) {
  .rs .hero h1, .rs .hero .hd h1 { font-size:clamp(2.9rem,12.6vw,3.5rem) }
  .rs .page-intro h1, .rs .page-intro .hd h1 { font-size:clamp(2.7rem,12vw,3.3rem) }
  .rs .next-main h2, .rs .next-main .hd h2 { font-size:clamp(3.6rem,18vw,4.6rem) }
  .rs .life-title h1, .rs .life-title .hd h1 { font-size:clamp(3.6rem,17vw,4.6rem) }
  .rs h2, .rs .hd.hd>h2 { font-size:clamp(2.2rem,9.5vw,2.6rem) }
  .rs .hero-content { padding-top:calc(var(--hh) + 200px) }
}

/* =====================================================================
   CABECERA
   ===================================================================== */
.rs-logo { display:block; width:100%; height:auto; fill:currentColor }
.hd2 { position:fixed; inset:0 0 auto 0; z-index:100; height:var(--hh);
  display:flex; align-items:center; gap:32px;
  padding-inline:max(var(--pad), calc((100% - var(--maxw)) / 2));
  font-family:var(--sans); color:var(--ink); background:var(--paper); border-bottom:1px solid var(--line);
  transition:background-color .5s var(--e), color .5s var(--e), border-color .5s var(--e), transform .45s var(--e), height .45s var(--e) }
.hd2.is-over { background:transparent; color:#F4F2EE; border-bottom-color:transparent }
.hd2__logo { display:block; flex:none; width:clamp(112px,9.5vw,148px); color:inherit; line-height:0 }
.hd2__menu { display:flex; gap:clamp(18px,2.2vw,34px); margin-inline:auto }
.hd2__menu a { color:inherit; text-decoration:none; font-size:14.5px; letter-spacing:.01em; padding-block:6px; border-bottom:1px solid transparent; transition:border-color .4s var(--e) }
.hd2__menu a:hover, .hd2__menu a[aria-current] { border-bottom-color:currentColor }
.hd2__end { display:flex; align-items:center; gap:22px; flex:none; margin-left:auto }
.hd2__menu + .hd2__end { margin-left:0 }
.hd2__lang { display:flex; gap:10px }
.hd2__lang a { color:inherit; text-decoration:none; font-size:12px; letter-spacing:.14em; opacity:.5; padding:6px 0; transition:opacity .3s }
.hd2__lang a:hover, .hd2__lang a[aria-current] { opacity:1 }
.hd2__cta { display:inline-flex; align-items:center; height:42px; padding:0 22px; border-radius:999px; color:inherit; text-decoration:none;
  font-size:14px; font-weight:500; letter-spacing:.01em; background:color-mix(in srgb,currentColor 10%,transparent); transition:background-color .3s var(--e), color .3s var(--e) }
.hd2__cta:hover { background:var(--ink); color:var(--paper) }
.hd2.is-over .hd2__cta:hover { background:#F4F2EE; color:var(--ink) }
.hd2__burger { display:none; position:relative; width:44px; height:44px; margin-right:-10px; background:none; border:0; color:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent }
.hd2__burger span { position:absolute; left:10px; right:10px; height:1px; background:currentColor; transition:transform .4s var(--e) }
.hd2__burger span:nth-child(1) { top:18px } .hd2__burger span:nth-child(2) { top:25px }
.hd2.is-open .hd2__burger span:nth-child(1) { transform:translateY(3.5px) rotate(45deg) }
.hd2.is-open .hd2__burger span:nth-child(2) { transform:translateY(-3.5px) rotate(-45deg) }
.hd2.is-open { background:var(--paper); color:var(--ink); border-bottom-color:transparent }
.hd2 a:focus-visible, .hd2 button:focus-visible, .hd2-drawer a:focus-visible, .hd2-bar a:focus-visible { outline:2px solid currentColor; outline-offset:4px }

.hd2-drawer { position:fixed; inset:0; z-index:99; background:var(--paper); color:var(--ink); font-family:var(--sans);
  display:flex; flex-direction:column; justify-content:space-between; gap:32px; overflow-y:auto;
  padding:calc(var(--hh) + 28px) var(--pad) max(28px, env(safe-area-inset-bottom));
  clip-path:inset(0 0 100% 0); visibility:hidden; transition:clip-path .7s var(--e), visibility 0s .7s }
.hd2-drawer.is-open { clip-path:inset(0 0 0 0); visibility:visible; transition:clip-path .7s var(--e), visibility 0s }
.hd2-drawer__nav a { display:block; font-family:var(--serif); font-weight:300; font-size:clamp(2rem,8.4vw,2.8rem); line-height:1.12; letter-spacing:-.02em; color:inherit; text-decoration:none; padding:7px 0 }
.hd2-drawer__nav a[aria-current] { font-style:italic }
.hd2-drawer__foot p { margin:0 0 8px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-55) }
.hd2-drawer__foot p a { color:inherit; text-decoration:none }
.hd2-drawer__lang { display:flex; gap:16px; margin:18px 0 20px }
.hd2-drawer__lang a { font-size:13px; letter-spacing:.14em; color:inherit; text-decoration:none; opacity:.45; padding:8px 0 }
.hd2-drawer__lang a[aria-current] { opacity:1 }
.hd2-btn { display:flex; align-items:center; justify-content:center; height:52px; border-radius:999px; font:500 15px/1 var(--sans); text-decoration:none; letter-spacing:.01em }
.hd2-btn--solid { background:var(--ink); color:var(--paper) }
.hd2-btn--ghost { background:rgba(32,35,31,.07); color:var(--ink) }
.hd2-bar { display:none }

@media (max-width:1180px) {
  .hd2__menu, .hd2__lang, .hd2__cta { display:none }
  .hd2__burger { display:block }
  .hd2.is-away { transform:translateY(-100%) }
}
@media (max-width:767px) {
  .hd2-bar { display:grid; grid-template-columns:1fr 1.6fr; gap:8px; position:fixed; left:12px; right:12px; bottom:max(12px, env(safe-area-inset-bottom)); z-index:90;
    padding:7px; border-radius:999px; background:rgba(250,249,246,.9); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
    box-shadow:0 1px 0 rgba(32,35,31,.06), 0 10px 30px rgba(0,0,0,.14); transform:translateY(170%); transition:transform .5s var(--e) }
  .hd2-bar.is-on { transform:none }
  .hd2-bar .hd2-btn { height:46px }
  .rs .footer { padding-bottom:84px }
}
@media (prefers-reduced-motion:reduce) {
  .hd2, .hd2-drawer, .hd2-bar { transition:none }
}

/* ---------- pie ---------- */
.rs .footer-brand { width:190px; max-width:190px; color:var(--on-dark) }
.rs .footer-brand a { display:block; color:inherit }

/* ---------- aparición suave al hacer scroll ---------- */
.js .rv { opacity:0; transform:translateY(18px); transition:opacity .9s var(--e), transform .9s var(--e) }
.js .rv.in { opacity:1; transform:none }
@media (prefers-reduced-motion:reduce) { .js .rv { opacity:1; transform:none; transition:none } }
.skip { position:absolute; left:-9999px; top:0; z-index:200; background:var(--ink); color:var(--paper); padding:12px 18px; font:500 14px var(--sans) }
.skip:focus { left:8px; top:8px }
@media (max-width:1180px) { .hd2 .hd2__end { margin-left:auto } }
@media (max-width:640px) {
  .rs .next-main .hd.hd>h2, .rs .next-main h2 { font-size:clamp(3.8rem,19vw,4.8rem); line-height:.95 }
}

/* =====================================================================
   MAPEO CEREBRAL (Life Design)
   ===================================================================== */
.rs .brainmap { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); background:var(--forest); color:var(--on-dark) }
.rs .brainmap__media { position:relative; min-height:100% }
.rs .brainmap__media picture, .rs .brainmap__media img { display:block; width:100%; height:100% }
.rs .brainmap__media img { object-fit:cover; object-position:42% 30% }
.rs .brainmap__body { padding:clamp(64px,7vw,120px) var(--pad); padding-left:clamp(28px,5.5vw,96px); align-self:center; max-width:740px }
.rs .bm-lab { font-size:12px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--on-dark-55); margin:0 0 24px }
.rs .bm-h2 { font-size:clamp(2.2rem,3.7vw,3.7rem); line-height:1.04; margin:0 0 24px }
.rs .bm-h2 em { display:block; color:var(--accent) }
.rs .bm-lead { font-size:17.5px; line-height:1.65; color:var(--on-dark-70); max-width:46ch; margin:0 0 40px }
.rs .bm-pills { list-style:none; margin:0 0 30px; padding:0; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line-dark) }
.rs .bm-pills li { padding:22px 24px 24px 0; border-bottom:1px solid var(--line-dark) }
.rs .bm-pills li:nth-child(2n) { padding-left:24px; border-left:1px solid var(--line-dark) }
.rs .bm-pills b { display:block; font-family:var(--serif); font-weight:300; font-size:clamp(1.6rem,2.2vw,2.1rem); letter-spacing:-.015em; line-height:1.1; margin-bottom:10px; color:var(--on-dark) }
.rs .bm-pills span { display:block; font-size:15px; line-height:1.55; color:var(--on-dark-70) }
.rs .bm-proof { font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--on-dark-55); margin:0 0 30px }
.rs .bm-btn { display:inline-flex; align-items:center; height:50px; padding:0 28px; border-radius:999px; background:var(--on-dark); color:var(--ink); font:500 15px/1 var(--sans); transition:background-color .3s var(--e) }
.rs .bm-btn:hover { background:#DDE2D4 }
.rs .bm-note { font-size:13px; line-height:1.6; color:var(--on-dark-55); margin:26px 0 0; max-width:54ch }
@media (max-width:900px) {
  .rs .brainmap { grid-template-columns:1fr }
  .rs .brainmap__media img { aspect-ratio:4/5; max-height:82svh; object-position:50% 18% }
  .rs .brainmap__body { padding:56px var(--pad) 64px }
  .rs .bm-pills { grid-template-columns:1fr }
  .rs .bm-pills li:nth-child(2n) { padding-left:0; border-left:0 }
}

/* secuencia del casco: 24 fotogramas que giran con el scroll */
.rs .seq { --seq-bg:#FFFFFF; position:relative; height:340vh; background:var(--seq-bg); color:var(--ink) }
.rs .seq__stage { position:sticky; top:0; height:100vh; height:100svh; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto 1fr auto; padding:calc(var(--hh) + 28px) var(--pad) 40px; max-width:calc(var(--maxw) + 2 * var(--pad)); margin-inline:auto }
.rs .seq__head .bm-lab { color:var(--ink-55) }
.rs .seq__h2 { font-size:clamp(2.2rem,3.7vw,3.7rem); line-height:1.04 }
.rs .seq__h2 em { color:var(--olive) }
.rs .seq__img { align-self:center; justify-self:center; width:min(100%, 760px, calc(100svh - var(--hh) - 300px)); height:auto }
.rs .seq__caps { position:relative; min-height:120px; display:grid }
.rs .seq__cap { grid-area:1/1; max-width:420px; opacity:0; transform:translateY(10px); transition:opacity .6s var(--e), transform .6s var(--e) }
.rs .seq__cap.on { opacity:1; transform:none }
.rs .seq__num { display:block; font-size:12px; font-weight:600; letter-spacing:.2em; color:var(--ink-55); margin-bottom:8px }
.rs .seq__cap b { display:block; font-family:var(--serif); font-weight:300; font-size:clamp(1.6rem,2.2vw,2.1rem); letter-spacing:-.015em; line-height:1.1; margin-bottom:8px }
.rs .seq__cap p { font-size:15px; color:var(--ink-70); margin:0 }
.rs .seq__credit { position:absolute; right:var(--pad); bottom:40px; font-size:12px; color:var(--ink-55); margin:0 }
@media (min-width:1000px) {
  .rs .seq__stage { grid-template-columns:minmax(0,4fr) minmax(0,8fr); grid-template-rows:1fr; align-items:center; gap:40px }
  .rs .seq__head { grid-column:1; grid-row:1; align-self:start; padding-top:4vh }
  .rs .seq__caps { grid-column:1; grid-row:1; align-self:end; padding-bottom:6vh }
  .rs .seq__img { grid-column:2; grid-row:1; width:min(100%, 860px, calc(100svh - var(--hh) - 60px)) }
}
@media (prefers-reduced-motion:reduce) {
  .rs .seq { height:auto }
  .rs .seq__stage { position:relative; height:auto }
  .rs .seq__caps { display:flex; flex-direction:column; gap:24px }
  .rs .seq__cap { grid-area:auto }
}

@media (max-width:767px) { .rs .seq__stage { padding-bottom:104px } }
.rs .catalog-nav .tx+.tx { margin-top:0 }
@media (max-width:940px) { .rs .catalog-nav > .tx:first-child { display:none } }

/* =====================================================================
   v4 · simetría, espaciado y fondos armonizados (8 oct 2026)
   ===================================================================== */
/* fondos: dos claros cálidos (papel, niebla) + oliva + bosque. Fuera el blanco puro y los grises verdosos */
.rs .announcement, .rs .treatment-overview, .rs .consultation, .rs .soft, .rs .address-panel,
.rs .consultation-menu, .rs .brain-menu { background:var(--soft) }
.rs .announcement { border-bottom:0 }
.rs .treatment-row:nth-child(odd) { background:rgba(31,34,29,.03) }
.rs .search-field { border-bottom-color:rgba(31,34,29,.35) }
.rs .address-bottom { border-top-color:var(--line) }

/* filas que el maquetador antiguo apilaba en columna */
.rs :is(.announcement-inner, .announcement-text, .news-meta, .next-top, .next-bottom, .section-heading, .consultation-inner, .hero-foot, .footer-bottom, .address-bottom) { display:flex; flex-direction:row; text-align:left }
.rs :is(.announcement-inner, .announcement-text, .news-meta, .next-top, .next-bottom, .section-heading, .consultation-inner, .hero-foot, .footer-bottom, .address-bottom) > * { width:auto; margin-top:0 }
.rs .announcement-inner { justify-content:space-between; align-items:center; gap:32px }
.rs .announcement-text { align-items:center; gap:20px }
.rs .announcement-inner p { margin:0 }
.rs .section-heading { justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:clamp(40px,4.5vw,64px) }
.rs .section-heading > div:first-child { flex:1 1 auto }
.rs .section-heading .tx:last-child p { margin:0; padding-bottom:10px }
.rs .news-meta { justify-content:space-between; align-items:baseline; gap:20px; font-size:12px; letter-spacing:.14em }
.rs .news-item { padding:24px 0 0 }
.rs .news-item h3 { margin:clamp(28px,3vw,44px) 0 18px }
.rs .news-item .text-link { margin-top:24px }
.rs .next-top { justify-content:space-between; align-items:center; gap:24px }
.rs .next-top .eyebrow { margin:0 }
.rs .next-bottom { justify-content:space-between; gap:24px }
.rs .hero-foot { justify-content:space-between; gap:24px }
.rs .consultation-inner { justify-content:space-between; align-items:center; gap:40px }
.rs .footer-bottom { justify-content:space-between; flex-wrap:wrap; gap:16px 32px }
.rs .address-bottom { justify-content:space-between }

/* tarjetas de la portada alineadas arriba, mismo tamaño */
.rs .photo-card.second { padding-top:0 }
.rs .editorial-grid { align-items:start }
.rs .treatment-index { padding-top:0 }

/* catálogo de tratamientos: un solo borde izquierdo y ritmo constante */
.rs .catalog-layout { gap:clamp(40px,5vw,72px) }
.rs .catalog-section { padding:clamp(48px,5vw,72px) 0 0 }
.rs .catalog-section:first-of-type { padding-top:32px }
.rs .catalog-heading { display:block; margin-bottom:28px }
.rs .catalog-heading > .tx:first-child { margin-bottom:14px }
.rs .catalog-heading .eyebrow { color:var(--muted); letter-spacing:.2em }
.rs .catalog-heading h2, .rs .catalog-heading .hd h2 { font-size:clamp(2.2rem,3.4vw,2.9rem) }
.rs .catalog-heading p { margin-top:14px; max-width:58ch }
.rs .tg .tg-title { padding:20px 0 }
.rs .tg-label { font-weight:500; font-size:19px; letter-spacing:-.005em }
.rs .catalog-nav { padding-top:40px; gap:4px }
.rs .catalog-nav .eyebrow { margin-bottom:18px }
.rs .catalog-nav .tx a { display:block; position:relative; padding:8px 0 8px 18px; font-size:14.5px; color:var(--muted); transition:color .3s var(--e) }
.rs .catalog-nav .tx a::before { content:''; position:absolute; left:0; top:50%; width:8px; height:1px; background:currentColor; opacity:0; transform:scaleX(0); transform-origin:left; transition:transform .35s var(--e), opacity .35s var(--e) }
.rs .catalog-nav .tx a:hover { color:var(--ink); text-decoration:none }
.rs .catalog-nav .tx a.is-active { color:var(--ink); font-weight:600 }
.rs .catalog-nav .tx a.is-active::before { opacity:1; transform:none }
.rs .catalog-nav .small { margin-top:24px; padding-left:18px }
@media (max-width:940px) {
  .rs .catalog-nav { position:sticky; top:var(--hh); z-index:5; background:var(--paper); flex-wrap:nowrap; overflow-x:auto; gap:4px 18px; padding:14px 0; margin-inline:calc(-1 * var(--pad)); padding-inline:var(--pad); scrollbar-width:none; transition:top .45s var(--e) }
  .rs .catalog-nav::-webkit-scrollbar { display:none }
  .rs .catalog-nav .tx a { white-space:nowrap; padding:8px 0; border-bottom:1px solid transparent }
  .rs .catalog-nav .tx a::before { display:none }
  .rs .catalog-nav .tx a.is-active { border-bottom-color:currentColor; font-weight:500 }
  .rs .catalog-nav .small { display:none }
  body.hd-away .rs .catalog-nav { top:0 }
}

/* secciones: mismo ritmo vertical */
.rs .section { padding-block:clamp(80px,9vw,136px) }
.rs .page-intro { padding-top:clamp(56px,6vw,96px); padding-bottom:clamp(48px,5vw,80px) }
.rs .intro { gap:clamp(40px,7vw,110px) }
.rs .intro-copy { padding-top:clamp(0px,3.4vw,50px) }

/* mapeo cerebral: la foto ya no se estira; marco 4:5 nítido y centrado */
.rs .brainmap { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(40px,6vw,96px); align-items:center;
  padding:clamp(72px,8vw,128px) max(var(--pad), calc((100% - var(--maxw)) / 2)) }
.rs .brainmap__media { min-height:0; justify-self:center; width:100%; max-width:580px }
.rs .brainmap__media picture, .rs .brainmap__media img { height:auto }
.rs .brainmap__media img { aspect-ratio:4/5; object-fit:cover; object-position:50% 38% }
.rs .brainmap__body { padding:0; max-width:620px }
@media (max-width:900px) {
  .rs .brainmap { grid-template-columns:1fr; padding:64px var(--pad) }
  .rs .brainmap__media { max-width:none }
  .rs .brainmap__media img { max-height:none }
  .rs .brainmap__body { padding:8px 0 0 }
}

/* secuencia del casco sobre papel (sin bloque blanco) */
.rs .seq { --seq-bg:var(--paper) }
.rs .seq__img { mix-blend-mode:multiply }

/* móvil: las filas vuelven a apilarse donde no caben */
@media (max-width:640px) {
  .rs .section-heading { flex-direction:column; align-items:flex-start; gap:18px }
  .rs .section-heading .tx:last-child p { padding:0 }
  .rs .announcement-inner { flex-direction:column; align-items:flex-start; gap:14px }
  .rs .announcement-text { flex-direction:column; align-items:flex-start; gap:10px }
  .rs .consultation-inner { flex-direction:column; align-items:flex-start; gap:24px }
  .rs .next-top { flex-direction:column; align-items:flex-start; gap:14px }
  .rs .hero-foot .tx:last-child { display:none }
  .rs .footer-bottom { flex-direction:column; gap:10px }
}
.rs .catalog-nav > .tx { width:auto; flex:none }
.rs .catalog-nav .tx a { padding-left:0 }
.rs .catalog-nav .tx a::before { left:-18px }
.rs .catalog-nav .small { padding-left:0 }
.rs .catalog-section { padding-top:clamp(48px,4.5vw,64px) }
.rs .tg .tg-item:last-child { border-bottom:1px solid var(--line) }
.rs .tg .tg-title { display:flex; justify-content:space-between; align-items:center; gap:20px; text-align:left }
.rs .tg .tg-title .tg-icon { order:2; float:none!important; margin:0; flex:none }
@media (max-width:940px) {
  .rs .catalog-nav { display:flex; box-shadow:0 1px 0 var(--line) }
  .rs .catalog-nav > .tx:first-child, .rs .catalog-nav > p, .rs .catalog-nav .small { display:none }
}
.rs .seq__stage { background:var(--seq-bg) }
.rs .launch-note .bt, .rs .launch-note .button { margin-inline:auto }
.rs .launch-note { text-align:center; margin-inline:auto }
@media (max-width:640px) { .rs .treatment-index { grid-template-columns:1fr } }
.rs .brainmap__media { max-width:none; justify-self:stretch }

/* =====================================================================
   v4.1 · MAPEO CEREBRAL en una sola sección clara: texto a la izquierda,
   casco de iMediSync fijo a la derecha que gira y se abre con el scroll
   ===================================================================== */
.rs .bm2 { background:var(--paper); color:var(--ink); padding:clamp(80px,9vw,136px) 0 clamp(40px,5vw,80px); border-top:1px solid var(--line) }
.rs .bm2__grid { width:calc(100% - 2 * var(--pad)); max-width:var(--maxw); margin-inline:auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(40px,6vw,104px); align-items:start }
.rs .bm2__text { grid-column:1; grid-row:1 }
.rs .bm2__stage { grid-column:2; grid-row:1; position:sticky; top:calc(var(--hh) + 2vh); height:calc(100vh - var(--hh) - 4vh); height:calc(100svh - var(--hh) - 4vh); display:flex; align-items:center; justify-content:center; background:var(--paper) }
.rs .bm2__img { width:min(100%, calc(100svh - var(--hh) - 8vh)); height:auto; mix-blend-mode:multiply }
.rs .bm2__credit { position:absolute; right:0; bottom:8px; margin:0; font-size:12px; color:var(--muted) }
.rs .bm2 h2 { font-size:clamp(2.2rem,3.6vw,3.6rem); line-height:1.04; margin:22px 0 24px }
.rs .bm2 h2 em { display:block; color:var(--olive) }
.rs .bm2__lead { font-size:17.5px; line-height:1.65; color:var(--muted); max-width:46ch; margin:0 0 40px }
.rs .bm2 .bm-pills { border-top-color:var(--line) }
.rs .bm2 .bm-pills li { border-bottom-color:var(--line) }
.rs .bm2 .bm-pills li:nth-child(2n) { border-left-color:var(--line) }
.rs .bm2 .bm-pills b { color:var(--ink) }
.rs .bm2 .bm-pills span { color:var(--muted) }
.rs .bm2 .bm-proof { color:var(--muted) }
.rs .bm2 .bm-btn { background:var(--ink); color:var(--paper) }
.rs .bm2 .bm-btn:hover { background:var(--olive) }
.rs .bm2 .bm-note { color:var(--muted) }
.rs .bm2__inside { margin:clamp(96px,14vh,160px) 0 0; color:var(--muted) }
.rs .bm2__chap { min-height:62vh; padding-top:28px; border-top:1px solid var(--line); margin-top:24px; opacity:.35; transition:opacity .6s var(--e) }
.rs .bm2__chap.on { opacity:1 }
.rs .bm2__chap:last-child { min-height:52vh }
.rs .bm2__num { display:block; font-size:12px; font-weight:600; letter-spacing:.2em; color:var(--muted); margin-bottom:14px }
.rs .bm2__chap h3 { font-size:clamp(1.8rem,2.6vw,2.5rem); margin:0 0 14px }
.rs .bm2__chap p { color:var(--muted); max-width:40ch; margin:0 }
@media (max-width:900px) {
  .rs .bm2__grid { display:flex; flex-direction:column }
  .rs .bm2__text { display:contents }
  .rs .bm2__intro { order:1 }
  .rs .bm2__stage { order:2; height:auto; top:var(--hh); z-index:2; padding:10px var(--pad); margin:40px calc(-1 * var(--pad)) 0; transition:top .45s var(--e) }
  body.hd-away .rs .bm2__stage { top:0 }
  .rs .bm2__inside { order:3; margin-top:28px }
  .rs .bm2__chap { order:4; min-height:52vh }
  .rs .bm2__img { width:min(100%, 40svh) }
  .rs .bm2__credit { bottom:6px; right:var(--pad) }
  .rs .bm2 .bm-pills { grid-template-columns:1fr }
  .rs .bm2 .bm-pills li:nth-child(2n) { padding-left:0; border-left:0 }
}
@media (prefers-reduced-motion:reduce) {
  .rs .bm2__chap { min-height:0; opacity:1; padding-bottom:24px }
  .rs .bm2__stage { position:relative }
}

/* =====================================================================
   v5 · Brain & Body Diagnostics y Recovery (Life Design)
   ===================================================================== */
.rs .dx { background:var(--soft) }
.rs .dx-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,6vw,96px); align-items:end; margin-bottom:clamp(40px,5vw,72px) }
.rs .dx-head h2 { margin-top:22px }
.rs .dx-head h2 em { display:block; color:var(--olive) }
.rs .dx-lead { font-size:18px; line-height:1.65; color:var(--muted); max-width:52ch; margin:0 0 14px }
.rs .dx-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(16px,2vw,28px) }
.rs .dx-card { background:var(--paper); padding:clamp(24px,2.4vw,34px); display:flex; flex-direction:column; min-width:0 }
.rs .dx-card .eyebrow { color:var(--muted); margin:0 0 30px }
.rs .dx-card h3 { font-size:clamp(1.45rem,1.9vw,1.85rem); margin:0 0 14px }
.rs .dx-card > p:not(.eyebrow) { font-size:15px; color:var(--muted); margin:0 0 24px; max-width:none }
.rs .dx-chips { list-style:none; margin:auto 0 0; padding:18px 0 0; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:8px }
.rs .dx-chips li { font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; padding:6px 11px; border-radius:999px; background:rgba(31,34,29,.06); color:var(--ink) }
.rs .dx-card__link { margin-top:20px; align-self:flex-start }
.rs .dx-plan { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:clamp(32px,5vw,80px); align-items:center; margin-top:clamp(48px,5vw,80px); padding-top:clamp(36px,4vw,56px); border-top:1px solid var(--line) }
.rs .dx-plan__intro h3 { font-size:clamp(1.6rem,2.3vw,2.2rem); margin:16px 0 12px }
.rs .dx-plan__intro p:not(.eyebrow) { color:var(--muted); font-size:15px }
.rs .dx-steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); position:relative }
.rs .dx-steps::before { content:''; position:absolute; left:0; right:0; top:7px; height:1px; background:var(--line) }
.rs .dx-steps li { position:relative; padding-top:30px; padding-right:10px }
.rs .dx-steps li::before { content:''; position:absolute; left:0; top:2px; width:11px; height:11px; border-radius:50%; background:var(--paper); border:1px solid var(--ink) }
.rs .dx-steps li:first-child::before, .rs .dx-steps li:last-child::before { background:var(--ink) }
.rs .dx-steps b { display:block; font-family:var(--serif); font-weight:400; font-size:clamp(1.1rem,1.4vw,1.35rem); letter-spacing:-.01em }
.rs .dx-steps span { display:block; font-size:13px; color:var(--muted); margin-top:4px }
.rs .dx-note { margin-top:clamp(32px,3vw,44px); max-width:90ch }
.rs .rc { border-top:1px solid var(--line) }
.rs .rc-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(24px,4vw,56px) }
.rs .rc-grid > div { border-top:1px solid var(--ink); padding-top:24px }
.rs .rc-grid .eyebrow { color:var(--muted) }
.rs .rc-grid h3 { font-size:clamp(1.6rem,2.3vw,2.2rem); margin:22px 0 14px }
.rs .rc-grid p:not(.eyebrow) { color:var(--muted) }
.rs .bm2 { border-top:0 }
@media (max-width:1180px) {
  .rs .dx-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .rs .dx-plan { grid-template-columns:1fr }
}
@media (max-width:767px) {
  .rs .dx-head { grid-template-columns:1fr; gap:20px }
  .rs .dx-grid { grid-template-columns:1fr }
  .rs .rc-grid { grid-template-columns:1fr; gap:36px }
  .rs .dx-steps { grid-template-columns:1fr; gap:0 }
  .rs .dx-steps::before { left:5px; right:auto; top:8px; bottom:8px; width:1px; height:auto }
  .rs .dx-steps li { padding:0 0 18px 30px; display:flex; align-items:baseline; gap:12px }
  .rs .dx-steps li::before { top:6px }
  .rs .dx-steps span { margin:0 }
}
@supports (grid-template-rows:subgrid) {
  @media (min-width:768px) {
    .rs .dx-grid { grid-auto-rows:auto }
    .rs .dx-card { display:grid; grid-row:span 5; grid-template-rows:subgrid; row-gap:0 }
    .rs .dx-chips { margin-top:0; align-self:start }
    .rs .dx-card__link { grid-row:5 }
  }
}
