@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Italiana&display=swap');
:root{--bg:#141512;--cream:#eeeae2;--gold:#c8a66c;--muted:#aaa99f;--line:#ffffff24;--serif:'Italiana',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--cream);font-family:var(--sans);font-size:15px;line-height:1.7}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:7px}::selection{background:var(--gold);color:var(--bg)}.skip{position:fixed;top:-100px;z-index:200;background:var(--gold);color:#111;padding:12px}.skip:focus{top:0}.header{position:absolute;top:0;left:0;width:100%;height:110px;z-index:20;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.brand{display:flex;align-items:center;gap:14px}.brand>span:last-child{font-size:10px;letter-spacing:1.6px;line-height:1.7}.brand small{display:block;font-size:7px;letter-spacing:1.25px;color:var(--gold)}.monogram{font-family:Georgia,serif;font-size:47px;letter-spacing:-9px;padding-right:8px;line-height:1;color:var(--gold)}nav{display:flex;align-items:center;gap:30px;font-size:12px}nav a{transition:color .25s}nav a:hover{color:var(--gold)}.nav-contact{border:1px solid #c8a66c88;padding:11px 18px}.nav-contact span{margin-left:22px}.menu-toggle{display:none}.hero{position:relative;min-height:840px;height:100svh;max-height:1200px;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 35%;z-index:-3}.hero-photo img{object-position:65% 37%;animation:hero-zoom 12s ease-out both}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#141512 0%,#141512ed 22%,#14151280 47%,#14151205 80%),linear-gradient(0deg,#141512 0%,transparent 25%,#14151244 100%)}.hero-content{padding:205px 7.5% 120px}.eyebrow,.micro{font-size:10px;letter-spacing:2px;font-weight:500;line-height:1.7}.eyebrow{color:var(--gold)}.hero .eyebrow{font-size:9px;letter-spacing:2.5px}.eyebrow span{padding:0 14px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.03;letter-spacing:-2px}h1{font-size:clamp(75px,7.7vw,132px);margin:27px 0 25px}em{color:var(--gold);font-weight:400;font-style:normal}.hero-description{font-size:15px;color:#d3d0c6;line-height:1.8;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;padding:17px 25px;border:1px solid transparent;font-size:12px;line-height:1.5;transition:background .25s,transform .25s}.button:hover{transform:translateY(-3px)}.button-gold{background:var(--gold);color:#181a15}.button-gold:hover{background:#dbbb84}.button span{font-size:21px}.hero-bottom{position:absolute;bottom:32px;left:7.5%;right:5%;display:flex;align-items:center;justify-content:space-between;font-size:10px}.hero-bottom p{margin:0;line-height:1.9}.hero-bottom p span{font-size:9px;color:var(--muted)}.scroll-link{font-size:8px;letter-spacing:2px;display:flex;align-items:center;gap:18px}.scroll-link>span{border:1px solid var(--line);height:40px;width:40px;display:grid;place-items:center;font-size:20px}.hero-number{font-size:10px;color:var(--muted);letter-spacing:2px}.section{padding:110px 7.5%;scroll-margin-top:20px}.section-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:27px;border-bottom:1px solid var(--line);margin-bottom:65px}.micro{color:var(--muted);font-size:8px}.philosophy{background:#ebe7dd;color:#252720}.philosophy .section-top{border-color:#25272030}.philosophy .eyebrow{color:#876c41}.philosophy .micro{color:#77796c}.manifest{text-align:center}.manifest>p{font-family:var(--serif);font-size:clamp(55px,6.7vw,104px);line-height:1.12;letter-spacing:-2px;margin:0 auto 55px}.manifest em{color:#8e754b}.inline-photo{display:inline-block;width:120px;height:70px;margin-left:28px;border-radius:70px;overflow:hidden;vertical-align:middle}.inline-photo img{object-position:center 35%}.philosophy-bottom{display:grid;grid-template-columns:.5fr 1fr 1fr;gap:50px;align-items:center}.philosophy-bottom p{font-size:13px;margin:0;max-width:430px}.small-star{font-size:62px;color:#9e8353}.text-link{font-size:11px;border:0;border-bottom:1px solid currentColor;padding:0 0 8px;background:transparent;display:inline-block;width:fit-content;letter-spacing:.3px}.philosophy-bottom .text-link{justify-self:end}.tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.tech-image{height:700px;position:relative}.tech-image img{object-position:50% 48%}.image-tag{position:absolute;bottom:25px;left:24px;background:#14151290;padding:8px 12px;font-size:8px;letter-spacing:2px;border-left:2px solid var(--gold)}h2{font-size:clamp(48px,4.7vw,76px);margin-bottom:30px}.tech-content>p,.doctor-content>p{color:var(--muted);font-size:13px;max-width:470px}.tech-points{margin:33px 0}.tech-points>div{border-top:1px solid var(--line);padding:16px 0 12px 34px;position:relative}.tech-points span{position:absolute;left:0;top:18px;color:var(--gold);font-size:9px}.tech-points h3{font-size:13px;font-weight:500;margin-bottom:5px}.tech-points p{font-size:11px;color:var(--muted);margin:0;max-width:350px}.marquee{overflow:hidden;padding:27px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:var(--serif);font-size:50px;color:var(--gold);white-space:nowrap;line-height:1}.marquee>div{width:max-content;animation:marquee 38s linear infinite}.doctor{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.doctor-photo{height:680px;position:relative}.doctor-photo img{object-position:center 35%}.photo-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,#141512,transparent);padding:60px 25px 25px;font-size:8px;letter-spacing:2px}.doctor-content>.eyebrow{display:block;margin-bottom:30px}.doctor-content h2{font-size:clamp(55px,4.7vw,76px)}.doctor-content .lead{color:var(--cream);font-size:17px;line-height:1.6}.doctor-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0;border-top:1px solid var(--line);padding-top:25px}.doctor-facts strong{display:block;font-family:var(--serif);font-size:30px;font-weight:400;color:var(--gold)}.doctor-facts span{font-size:9px;color:var(--muted)}.formation{padding-top:10px}.formation-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-bottom:55px}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:22px 0;font-size:13px;line-height:1.6}summary::-webkit-details-marker{display:none}summary>span:last-child{font-size:24px;font-weight:400;color:var(--gold)}details[open]>summary>span:last-child{transform:rotate(45deg)}details>p,details>ul{font-size:12px;color:var(--muted);padding:0 24px 15px 0;max-width:700px}details li{margin:0 0 13px}details>ul{padding-left:17px}.gallery{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:22px}.gallery-item{padding:0;border:0;background:none;text-align:left;position:relative;height:290px;overflow:hidden}.gallery-item img{transition:transform .8s}.gallery-item:hover img{transform:scale(1.06)}.gallery-item span{position:absolute;bottom:0;left:0;right:0;padding:45px 20px 17px;background:linear-gradient(transparent,#000c);font-size:9px;letter-spacing:2px}.surgery-banner{height:640px;position:relative;isolation:isolate;display:flex;align-items:center;padding:80px 7.5%}.surgery-banner>img{position:absolute;inset:0;z-index:-3;object-position:center 42%}.banner-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#111610e8,#11161060),linear-gradient(0deg,#14151260,transparent)}.surgery-banner h2{margin-top:27px;font-size:clamp(52px,5.5vw,88px)}.surgery-banner p{font-size:13px}.button-outline{border-color:#d0c8b699;background:transparent;color:var(--cream);margin-top:15px}.button-outline:hover{background:#ffffff10}.process-heading{display:flex;justify-content:space-between;align-items:end;gap:50px}.process-heading>p{font-size:13px;max-width:300px;color:var(--muted);margin-bottom:37px}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px}.steps article{padding:0 28px;border-left:1px solid var(--line)}.steps article:first-child{padding-left:0;border-left:0}.steps article>span{font-family:var(--serif);font-size:55px;color:var(--gold)}.steps h3{font-size:16px;font-weight:450;margin:22px 0 17px}.steps p{font-size:12px;color:var(--muted)}.steps small{display:block;font-size:10px;color:#8f9085}.recovery{background:#e9e5dc;color:#24271f;display:grid;grid-template-columns:1fr 1fr;gap:10%}.recovery-heading>p{font-size:13px;max-width:350px;color:#6a6d62}.recovery-heading .eyebrow{color:#876d44;display:block;margin-bottom:28px}.recovery h2 em{color:#92764d}.timeline>div{position:relative;padding:0 0 35px 30px;border-left:1px solid #9c9b8e}.timeline>div:before{content:'';position:absolute;left:-4px;top:6px;width:7px;height:7px;background:#9b7b47;border-radius:50%}.timeline>div:last-child{padding-bottom:0}.timeline span{font-size:9px;letter-spacing:1.7px;color:#876c41}.timeline h3{font-size:20px;font-family:var(--serif);font-weight:400;margin:8px 0}.timeline p{font-size:12px;color:#67695e;max-width:390px;margin-bottom:0}.service-list{margin-top:45px}.service-list summary{font-family:var(--serif);font-size:34px;padding:27px 0;justify-content:initial}.service-list summary>span{font-family:var(--sans);font-size:10px;color:var(--gold);margin-right:25px}.service-list summary>b{margin-left:auto;font-size:24px;color:var(--gold);font-weight:400}.service-list p{margin-left:65px}.faq{background:#1b1d18;display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}.faq-heading .eyebrow{display:block;margin-bottom:28px}.faq-heading>p{font-size:12px;color:var(--muted);max-width:250px}.faq-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:25px}.faq-filters button{background:transparent;border:1px solid var(--line);font-size:10px;padding:9px 12px;color:var(--muted)}.faq-filters button.active{background:var(--gold);color:var(--bg);border-color:var(--gold)}.faq details summary{font-size:12px}.faq details p{line-height:1.9}.faq-note{font-size:10px!important;color:#95978b;margin-top:25px;line-height:1.8}.contact{display:grid;grid-template-columns:1.2fr .8fr;gap:10%;padding-top:130px;padding-bottom:130px}.contact h2{font-size:clamp(90px,10vw,155px);position:relative;margin:35px 0}.contact h2>span{position:absolute;right:15%;top:0;font-size:70px;color:var(--gold)}.contact-main>p{color:var(--muted);font-size:11px;margin:25px 0 0}.contact-address{border-left:1px solid var(--line);padding-left:45px;align-self:end;padding-bottom:5px}.contact-address h3{font-family:var(--serif);font-size:30px;font-weight:400;margin:25px 0}.contact-address p{font-size:12px;color:var(--muted)}.contact-address .parking{font-size:11px;margin:25px 0}.address-note{margin-top:25px}.address-note summary{padding:12px 0;font-size:10px;color:var(--muted)}.address-note p{font-size:10px}.footer{padding:40px 5%;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:25px}.footer>p{font-size:9px;color:var(--muted);margin:0}.back-top{font-size:8px;letter-spacing:1.5px}.footer .medical-note{width:100%;border-top:1px solid var(--line);padding-top:24px;font-size:9px;color:#85877d}dialog{background:#20221c;color:var(--cream);border:1px solid #c8a66c60;padding:45px;width:min(560px,90vw);max-height:90svh;overflow:auto}dialog::backdrop{background:#080a08c9;backdrop-filter:blur(8px)}dialog h2{font-size:52px;margin:22px 0}dialog>p{font-size:12px;color:var(--muted)}.dialog-close{position:absolute;right:15px;top:8px;border:0;background:none;font-size:28px;color:var(--gold)}form label{display:block;font-size:11px;margin:18px 0;color:#c8c9bd}input,select,textarea{width:100%;padding:12px;background:#141512;color:var(--cream);border:1px solid var(--line);border-radius:0;outline-offset:3px;margin-top:6px;font-size:12px}textarea{resize:vertical}form .button{width:100%;margin:12px 0}form small,form #appointment-status,form #message-fallback p{display:block;font-size:10px;color:var(--muted)}.lightbox{width:min(1100px,94vw);padding:35px 20px 15px}.lightbox img{max-height:74vh;object-fit:contain}.lightbox p{margin:15px 0 0;font-size:12px}.js-ready .reveal{opacity:0;transform:translateY(25px);transition:opacity .85s ease,transform .85s ease}.js-ready .reveal.visible{opacity:1;transform:none}[hidden]{display:none!important}@keyframes hero-zoom{from{transform:scale(1.06)}to{transform:scale(1)}}@keyframes marquee{to{transform:translateX(-35%)}}
@media(min-width:1700px){.section{padding-left:max(7.5%,calc((100vw - 1450px)/2));padding-right:max(7.5%,calc((100vw - 1450px)/2))}}
@media(max-width:1050px){.header{height:90px}nav{gap:18px}.brand>span:last-child{font-size:8px}.brand small{font-size:6px}.hero-content{padding-top:190px}.hero{min-height:780px}.tech-grid,.doctor{gap:6%}.tech-image,.doctor-photo{height:620px}.section{padding:80px 6%}.tech-content h2{font-size:48px}.gallery-item{height:230px}.formation{padding-top:20px}.faq{gap:6%}.contact-address{padding-left:30px}.eyebrow{font-size:9px}.steps article{padding:0 18px}}
@media(max-width:760px){html{scroll-padding-top:70px}.header{height:82px;padding:0 6%}.monogram{font-size:40px}.brand{gap:10px}.brand>span:last-child{font-size:8px;letter-spacing:1px}.brand small{font-size:5px;letter-spacing:1px}.menu-toggle{display:block;background:none;border:1px solid var(--line);height:38px;width:40px;padding:10px}.menu-toggle span{display:block;height:1px;background:var(--gold);margin:5px 0;transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}nav{display:none;position:absolute;top:82px;left:0;width:100%;padding:24px 6%;background:#141512fa;flex-direction:column;align-items:stretch;gap:0;font-size:15px;border-bottom:1px solid var(--line)}nav.open{display:flex}nav a{padding:12px 0}.nav-contact{padding:12px 16px;margin-top:12px}.hero{min-height:820px;height:100svh;max-height:1050px}.hero-photo{inset:0 0 0 10%}.hero-photo img{object-position:56% 20%}.hero-shade{background:linear-gradient(90deg,#141512b0,transparent),linear-gradient(0deg,#141512 0%,#141512c9 32%,#14151222 80%)}.hero-content{padding:260px 7% 120px;position:relative}.hero .eyebrow{font-size:7px;letter-spacing:1.6px;max-width:270px}.eyebrow span{padding:0 5px}h1{font-size:76px;letter-spacing:-2px;line-height:.98;margin:25px 0}h2{font-size:48px;letter-spacing:-1.4px}.hero-description{font-size:12px;margin:23px 0}.button{padding:15px 21px;font-size:11px}.hero-bottom{left:7%;right:7%;bottom:25px}.hero-bottom>p{display:none}.hero-number{font-size:8px}.section{padding:65px 7%}.section-top{margin-bottom:40px;align-items:start;gap:20px}.section-top .eyebrow{font-size:8px;letter-spacing:1.5px}.micro{font-size:6px;text-align:right;max-width:100px}.manifest>p{font-size:49px;letter-spacing:-1.5px;margin-bottom:40px}.inline-photo{width:68px;height:40px;margin-left:12px}.philosophy-bottom{grid-template-columns:40px 1fr;gap:25px}.small-star{font-size:40px}.philosophy-bottom p{font-size:12px}.philosophy-bottom .text-link{grid-column:2;justify-self:start}.tech-grid,.doctor,.formation-grid,.recovery,.faq,.contact{grid-template-columns:1fr;gap:40px}.tech-image{height:440px}.tech-content h2{font-size:48px}.tech-content>p{font-size:12px}.tech-points{margin:28px 0}.marquee{font-size:35px;padding:20px 0}.doctor-photo{height:470px}.doctor-content h2{font-size:54px}.doctor-content>.eyebrow{margin-bottom:20px}.doctor-facts{margin-bottom:25px}.formation{padding-top:0}.formation-grid{gap:10px;margin-bottom:35px}.credentials summary{font-size:12px}.gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery-item{height:200px}.gallery-item:first-child{grid-column:1/-1;height:240px}.gallery-item span{font-size:7px;padding:30px 10px 13px}.surgery-banner{height:540px;padding:60px 7%}.surgery-banner h2{font-size:49px}.surgery-banner .eyebrow{font-size:8px}.surgery-banner>img{object-position:58% center}.process-heading{display:block}.process-heading>p{margin-top:25px;max-width:340px;font-size:12px}.steps{grid-template-columns:1fr 1fr;gap:30px 0;margin-top:30px}.steps article{padding:0 16px}.steps article:nth-child(3){padding-left:0;border-left:0}.steps article>span{font-size:44px}.steps h3{font-size:14px;margin-top:15px}.steps p{font-size:11px}.steps small{font-size:9px}.recovery{gap:25px}.timeline{margin-left:4px}.service-list{margin-top:25px}.service-list summary{font-size:24px;gap:12px;padding:23px 0;line-height:1.3}.service-list summary>span{font-size:8px;margin-right:4px}.service-list summary>b{font-size:19px}.service-list p{margin-left:0}.faq{gap:20px}.faq-heading h2{margin-bottom:20px}.faq-heading>p{max-width:none}.faq-filters{gap:5px}.faq-filters button{font-size:9px;padding:8px 10px}.faq details summary{font-size:12px}.contact{gap:45px}.contact h2{font-size:100px}.contact h2>span{font-size:55px;right:12%}.contact-main>.eyebrow{font-size:8px}.contact-address{border-left:0;border-top:1px solid var(--line);padding:32px 0 0}.contact-address h3{font-size:30px}.footer{padding:32px 7%;gap:24px}.footer>.brand{width:100%}.footer>p{font-size:8px}.back-top{font-size:7px}dialog{padding:35px 24px}dialog h2{font-size:46px}.lightbox{padding:35px 10px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-ready .reveal{opacity:1;transform:none}}

.monogram{width:66px;height:42px;padding:0;overflow:hidden;flex-shrink:0}.monogram img{object-fit:contain;mix-blend-mode:screen}@media(max-width:760px){.monogram{width:55px;height:37px}}


/* ==========================================================
   CONTACTO FLOTANTE
   ========================================================== */
.whatsapp-float {
    position: fixed;
    right: max(22px, env(safe-area-inset-right));
    bottom: max(22px, env(safe-area-inset-bottom));
    z-index: 40;
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    padding: 16px;
    border: 1px solid #eed8ac;
    border-radius: 50%;
    background: #c8a66c;
    color: #141512;
    box-shadow: 0 8px 28px #0005;
    cursor: pointer;
    transition: transform .25s ease, background .25s ease;
}
.whatsapp-float svg {
    display: block;
    width: 100%;
    height: 100%;
}
.whatsapp-float:hover {
    transform: translateY(-4px);
    background: #dfbf89;
}
.whatsapp-float-label {
    position: absolute;
    right: calc(100% + 12px);
    padding: 9px 13px;
    border: 1px solid #c8a66c55;
    background: #20221c;
    color: #eeeae2;
    font-size: 11px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease;
}
.whatsapp-float:hover .whatsapp-float-label,
.whatsapp-float:focus-visible .whatsapp-float-label {
    opacity: 1;
    visibility: visible;
}
/* ==========================================================
   AJUSTES PARA CELULARES
   ========================================================== */
@media (max-width: 760px) {
    /* Evita que los elementos de las grillas fuercen el ancho. */
    .section > *,
    .tech-grid > *,
    .formation-grid > *,
    .gallery > *,
    .steps > * {
        min-width: 0;
    }
    .hero {
        min-height: 780px;
    }
    .hero-content {
        padding-top: 245px;
    }
    .hero-photo img {
        object-position: 57% 24%;
    }
    .hero h1 {
        font-size: clamp(58px, 17vw, 76px);
    }
    .manifest > p {
        font-size: clamp(38px, 11.6vw, 49px);
    }
    .tech-content h2,
    .surgery-banner h2 {
        font-size: clamp(40px, 11.5vw, 49px);
    }
    .doctor-content h2 {
        font-size: clamp(44px, 12.8vw, 54px);
    }
    .contact h2 {
        font-size: clamp(68px, 21vw, 100px);
    }
    .contact h2 > span {
        top: 8px;
        right: 0;
        font-size: 42px;
    }
    .gallery-item img {
        object-position: center;
    }
    .gallery-item:first-child img {
        object-position: 48% 42%;
    }
    .whatsapp-float {
        right: max(16px, env(safe-area-inset-right));
        bottom: max(16px, env(safe-area-inset-bottom));
        width: 54px;
        height: 54px;
        padding: 15px;
    }
    .whatsapp-float-label {
        display: none;
    }
    /* Reserva espacio para que el botón no cubra el texto final. */
    .footer {
        padding-bottom: calc(90px + env(safe-area-inset-bottom));
    }
}
@media (max-width: 360px) {
    .header {
        gap: 12px;
    }
    .header .brand {
        gap: 6px;
        min-width: 0;
    }
    .header .brand > span:last-child {
        font-size: 6.5px;
        letter-spacing: .65px;
    }
    .header .brand small {
        letter-spacing: .45px;
    }
    .header .monogram {
        width: 43px;
    }
    .menu-toggle {
        flex-shrink: 0;
    }
    .hero-content {
        padding-top: 235px;
    }
    .hero .button {
        gap: 20px;
    }
    .service-list summary {
        font-size: 22px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .whatsapp-float {
        transition: none;
    }
}

/* ==========================================================
   PRESENTACIÓN: IDENTIDAD Y LEGIBILIDAD
   ========================================================== */
:root {
    --muted: #babbb0;
}
.header .monogram {
    width: 80px;
    height: 52px;
}
.header .brand > span:last-child {
    font-size: 11px;
    letter-spacing: 1.2px;
}
.header .brand small {
    font-size: 8px;
    letter-spacing: .8px;
}
.header nav {
    font-size: 13px;
    gap: 24px;
}
.eyebrow {
    font-size: 11px;
}
.micro {
    font-size: 10px;
    color: #b4b6aa;
}
.hero .eyebrow {
    font-size: 10px;
}
.tech-content > p,
.doctor-content > p,
.process-heading > p,
.contact-address p {
    font-size: 15px;
    line-height: 1.85;
}
.tech-points h3 {
    font-size: 15px;
}
.tech-points p,
.steps p,
.credentials details > p,
.credentials details > ul,
.service-list details > p,
.faq details p {
    font-size: 14px;
    line-height: 1.85;
}
.steps small,
.faq-note,
.contact-main > p,
.contact-address .parking {
    font-size: 12px !important;
    line-height: 1.8;
}
.faq details summary,
.credentials summary {
    font-size: 14px;
}
.faq-heading > p {
    font-size: 14px;
}
.faq-filters button {
    font-size: 12px;
    min-height: 44px;
}
.text-link {
    font-size: 13px;
}
.philosophy-bottom p,
.recovery-heading > p,
.timeline p {
    font-size: 14px;
    line-height: 1.85;
}
.philosophy .micro,
.recovery-heading > p,
.timeline p {
    color: #55594d;
}
.timeline span {
    font-size: 11px;
    color: #775b31;
}
.gallery-item span,
.image-tag,
.photo-caption {
    font-size: 10px;
}
.formation-intro {
    font-size: 15px;
    color: #eeeae2;
    margin-bottom: 22px;
}
.formation-highlights {
    list-style: none;
    padding: 0;
    margin: 0 0 25px;
}
.formation-highlights li {
    position: relative;
    padding: 0 0 18px 20px;
}
.formation-highlights li::before {
    content: '';
    position: absolute;
    top: 9px;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gold);
}
.formation-highlights strong {
    display: block;
    font-size: 14px;
    font-weight: 500;
}
.formation-highlights span {
    display: block;
    margin-top: 3px;
    font-size: 13px;
    line-height: 1.7;
    color: var(--muted);
}
.credentials details:first-of-type {
    border-top: 1px solid var(--line);
}
.footer > p,
.footer .medical-note {
    font-size: 11px;
}
@media (min-width: 761px) and (max-width: 1100px) {
    .header {
        gap: 18px;
        padding-inline: 3%;
    }
    .header .monogram {
        width: 60px;
        height: 44px;
    }
    .header .brand > span:last-child {
        font-size: 8px;
    }
    .header .brand small {
        font-size: 6px;
    }
    .header nav {
        gap: 15px;
        font-size: 11px;
    }
    .header .nav-contact {
        padding: 10px 12px;
    }
    .nav-contact span {
        margin-left: 8px;
    }
}
@media (max-width: 760px) {
    .header .monogram {
        width: 60px;
        height: 42px;
    }
    .header .brand > span:last-child {
        font-size: 8px;
        letter-spacing: .75px;
    }
    .header .brand small {
        font-size: 5px;
        letter-spacing: .6px;
    }
    .header nav {
        font-size: 15px;
    }
    .header nav a {
        min-height: 44px;
    }
    .eyebrow,
    .section-top .eyebrow {
        font-size: 10px;
        letter-spacing: 1.3px;
    }
    .hero .eyebrow {
        font-size: 9px;
        line-height: 1.9;
    }
    .micro {
        font-size: 8px;
        letter-spacing: 1px;
    }
    .tech-content > p,
    .doctor-content > p,
    .process-heading > p,
    .philosophy-bottom p,
    .recovery-heading > p,
    .timeline p,
    .steps p,
    .contact-address p {
        font-size: 14px;
    }
    .faq details summary,
    .credentials summary {
        min-height: 52px;
        font-size: 14px;
    }
    .faq-filters {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
    .faq-filters button {
        font-size: 12px;
    }
    .formation-highlights li {
        padding-bottom: 18px;
    }
    .button {
        min-height: 48px;
        font-size: 13px;
    }
}
@media (max-width: 360px) {
    .header .monogram {
        width: 47px;
    }
    .header .brand > span:last-child {
        font-size: 6.5px;
        letter-spacing: .45px;
    }
    .header .brand small {
        font-size: 4.5px;
        letter-spacing: .3px;
    }
}

/* ==========================================================
   MOVIMIENTO EDITORIAL: ENTRADAS, IMÁGENES Y MICROINTERACCIONES
   ========================================================== */
@keyframes alm-title-enter {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes alm-detail-enter {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes alm-photo-enter {
    from { transform: scale(1.035); }
    to { transform: scale(1); }
}
@media (prefers-reduced-motion: no-preference) {
    /* Entrada escalonada de la portada. */
    .hero-content > .eyebrow {
        animation: alm-detail-enter .9s ease both;
    }
    .hero h1 {
        animation: alm-title-enter 1.25s cubic-bezier(.2,.7,.2,1) .15s both;
    }
    .hero-description {
        animation: alm-detail-enter 1s ease .35s both;
    }
    .hero-content > .button {
        animation: alm-detail-enter 1s ease .5s both;
    }
    /* Aprovecha el observador de aparición existente. */
    .js-ready .reveal.visible h2,
    .js-ready h2.reveal.visible {
        animation: alm-title-enter 1.1s cubic-bezier(.2,.7,.2,1) both;
    }
    .js-ready .manifest.reveal.visible > p {
        animation: alm-title-enter 1.3s cubic-bezier(.2,.7,.2,1) both;
    }
    .tech-image,
    .doctor-photo {
        overflow: hidden;
    }
    .js-ready .tech-image.reveal.visible > img,
    .js-ready .doctor-photo.reveal.visible > img {
        animation: alm-photo-enter 1.8s cubic-bezier(.2,.7,.2,1) both;
    }
    .steps article.reveal:nth-child(2) { transition-delay: .08s; }
    .steps article.reveal:nth-child(3) { transition-delay: .16s; }
    .steps article.reveal:nth-child(4) { transition-delay: .24s; }
    /* Flechas independientes del texto. */
    .button > span,
    .nav-contact > span {
        display: inline-block;
        transition: transform .35s cubic-bezier(.2,.7,.2,1);
    }
    .button:focus-visible > span,
    .nav-contact:focus-visible > span {
        transform: translate(3px, -3px);
    }
    .text-link {
        transition: color .25s ease, border-color .25s ease, transform .25s ease;
    }
    .text-link:focus-visible {
        transform: translateX(3px);
    }
    .scroll-link > span {
        transition: transform .35s ease, border-color .35s ease;
    }
    .scroll-link:focus-visible > span {
        transform: translateY(4px);
        border-color: var(--gold);
    }
    .gallery-item {
        transition: box-shadow .4s ease;
    }
    .gallery-item span {
        transition: padding-bottom .4s ease, color .4s ease;
    }
    .service-list summary > b {
        transition: transform .35s ease;
    }
    .service-list details[open] summary > b {
        transform: rotate(45deg);
    }
    .faq-filters button {
        transition: background .25s ease, color .25s ease, border-color .25s ease;
    }
    .menu-toggle,
    .dialog-close {
        transition: border-color .25s ease, color .25s ease;
    }
}
/* Los efectos de cursor se activan sólo en dispositivos con mouse. */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .button:hover > span,
    .nav-contact:hover > span {
        transform: translate(4px, -4px);
    }
    .button {
        transition: background .3s ease, transform .3s ease, box-shadow .3s ease;
    }
    .button-gold:hover {
        box-shadow: 0 8px 25px #c8a66c20;
    }
    .button-outline:hover {
        border-color: var(--gold);
        box-shadow: inset 0 0 0 1px #c8a66c35;
    }
    .text-link:hover {
        transform: translateX(4px);
    }
    .scroll-link:hover > span {
        transform: translateY(5px);
        border-color: var(--gold);
    }
    .gallery-item:hover {
        box-shadow: 0 12px 35px #0003;
    }
    .gallery-item:hover span {
        padding-bottom: 24px;
        color: #e3c58f;
    }
    .service-list summary:hover > b {
        transform: translate(3px, -3px);
    }
    .service-list details[open] summary:hover > b {
        transform: rotate(45deg);
    }
    .inline-photo img {
        transition: transform 1s cubic-bezier(.2,.7,.2,1);
    }
    .inline-photo:hover img {
        transform: scale(1.12);
    }
}
@media (prefers-reduced-motion: reduce) {
    .hero-content > *,
    .reveal,
    .reveal img,
    .button > span,
    .nav-contact > span,
    .text-link,
    .scroll-link > span {
        animation: none !important;
        transition: none !important;
    }
}
