@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');:root{--navy:#071c2d;--deep:#041421;--teal:#73e1d1;--ink:#122b39;--muted:#60717c;--white:#fff;--cream:#f5f8f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(1180px,calc(100% - 52px));margin:auto}.header{position:fixed;z-index:100;top:0;left:0;right:0;background:rgba(5,24,38,.93);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.1)}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;color:#fff}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(115,225,209,.55);border-radius:50%;font-size:18px;font-weight:700;letter-spacing:-2px;position:relative}.brand-mark span{position:absolute;font-size:10px;color:var(--teal);right:6px;top:5px}.brand-copy{display:grid;gap:4px}.brand-copy strong{font-size:15px;letter-spacing:.1em}.brand-copy small{font-size:9px;letter-spacing:.19em;color:#b1c6ce}.menu{display:flex;align-items:center;gap:30px;color:#d6e4e8;font-size:12px;font-weight:600}.menu a:hover,.footer a:hover{color:var(--teal)}.menu .nav-contact{border:1px solid rgba(115,225,209,.55);border-radius:4px;padding:12px 16px;color:var(--teal)}.nav-contact span{margin-left:14px}.menu-toggle{display:none}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 75% 42%,#123d4c 0%,#071d2d 43%,#041421 90%);color:#fff;padding-top:84px}.hero:before{content:'';position:absolute;inset:0;opacity:.17;background-image:linear-gradient(rgba(140,218,220,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(140,218,220,.13) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent,#000)}.hero-glow{position:absolute;width:700px;height:700px;right:-170px;top:0;background:radial-gradient(circle,rgba(78,204,185,.13),transparent 67%)}.hero-grid{min-height:660px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;position:relative;padding:70px 0 75px}.hero-copy{z-index:2}.eyebrow,.section-kicker{font-size:11px;letter-spacing:.18em;font-weight:800;display:flex;align-items:center;gap:12px}.eyebrow{color:var(--teal)}.dot{width:7px;height:7px;background:var(--teal);border-radius:50%;box-shadow:0 0 0 5px rgba(115,225,209,.12)}.hero-intro{font-size:10px;letter-spacing:.24em;color:#95acb8;margin:45px 0 12px}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(76px,9vw,137px);font-weight:800;letter-spacing:-.09em;line-height:.96;margin:0}.hero h1 em,.section h2 em,.experience h2 em,.contact h2 em{font-style:normal;color:var(--teal)}.unam-label{display:flex;align-items:center;gap:15px;color:#c9dbdf;font-size:15px;letter-spacing:.45em;margin:25px 0}.unam-line{height:1px;width:40px;background:var(--teal)}.hero-description{max-width:470px;font-size:18px;line-height:1.75;color:#c6d5db}.hero-description strong{color:#fff}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;border-radius:5px;font-size:13px;font-weight:800;padding:18px 22px;transition:transform .25s,background .25s}.btn:hover{transform:translateY(-3px)}.btn-primary{background:var(--teal);color:#062333}.btn-primary:hover{background:#a3f2e7}.btn span{font-size:18px}.text-link{font-size:13px;font-weight:700;color:#fff}.text-link span{color:var(--teal);margin-left:8px}.hero-location{font-size:10px;letter-spacing:.19em;color:#91a9b4;margin-top:70px}.location-icon{font-size:20px;color:var(--teal);vertical-align:middle;margin-right:8px}.hero-visual{height:560px;position:relative;display:grid;place-items:center}.visual-halo{width:470px;height:470px;border-radius:50%;background:radial-gradient(circle,rgba(90,225,210,.22),rgba(49,134,142,.08) 43%,transparent 70%);filter:blur(3px);position:absolute}.orbit{position:absolute;border:1px solid rgba(119,226,214,.27);border-radius:50%;transform:rotate(-27deg)}.orbit-one{width:440px;height:440px;box-shadow:0 0 40px rgba(68,219,201,.08)}.orbit-two{width:350px;height:350px;border-style:dashed;animation:spin 60s linear infinite}.visual-core{height:290px;width:290px;border-radius:50%;background:linear-gradient(145deg,rgba(83,212,198,.27),rgba(6,37,54,.86));border:1px solid rgba(144,248,231,.5);box-shadow:0 0 75px rgba(65,202,187,.19),inset 0 0 55px rgba(82,206,191,.14);display:grid;place-items:center;position:relative}.core-inner{width:230px;height:230px;border:1px solid rgba(142,233,219,.22);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;color:#d8f7f3;font-size:13px;letter-spacing:.17em;line-height:1.9}.core-inner b{color:var(--teal);font-size:11px}.core-cross{font-size:53px;color:var(--teal);line-height:1}.experience-float{position:absolute;bottom:53px;left:0;display:flex;align-items:center;gap:15px;background:rgba(7,33,47,.92);border:1px solid rgba(124,222,210,.28);padding:18px 25px;box-shadow:0 16px 60px rgba(0,0,0,.23)}.float-number{font:800 57px Manrope,sans-serif;letter-spacing:-.08em}.float-number span{font-size:28px;color:var(--teal);vertical-align:top}.float-copy{font-size:10px;line-height:1.8;letter-spacing:.17em;color:#b5d1d2}.visual-caption{position:absolute;right:0;bottom:32px;color:#7fa6ad;letter-spacing:.22em;font-size:9px}.molecule{position:absolute;width:70px;height:70px}.molecule i{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--teal);box-shadow:0 0 20px var(--teal)}.molecule i:nth-child(2){left:32px;top:18px;width:5px;height:5px}.molecule i:nth-child(3){left:56px;top:47px;width:7px;height:7px}.molecule-a{right:20px;top:60px}.molecule-b{left:30px;top:105px;transform:rotate(70deg)}.hero-bottom{border-top:1px solid rgba(255,255,255,.09)}.hero-bottom-inner{display:flex;justify-content:space-between;padding:19px 0;color:#7e9aa6;font-size:10px;letter-spacing:.19em}.hero-bottom b{color:var(--teal);margin:0 8px}.section{padding:115px 0}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.about-art{height:470px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 45%,#205965,#092b3c 60%,#061c2b);display:grid;place-items:center}.about-art-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(151,237,222,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(151,237,222,.09) 1px,transparent 1px);background-size:36px 36px}.about-symbol{font-size:250px;font-weight:100;color:rgba(122,232,216,.55);text-shadow:0 0 80px rgba(96,229,208,.5);animation:float 7s ease-in-out infinite}.about-art-footer{position:absolute;bottom:24px;left:28px;right:28px;border-top:1px solid rgba(255,255,255,.23);padding-top:17px;color:white;font-size:10px;letter-spacing:.18em;display:flex;justify-content:space-between}.about-art-footer span{color:var(--teal)}.section-kicker{color:#258c84;margin:0 0 23px}.section-kicker>span{width:25px;height:1px;background:currentColor}.section h2,.experience h2{font-family:Manrope,sans-serif;font-size:clamp(36px,4.3vw,60px);line-height:1.15;letter-spacing:-.065em;margin:0 0 25px}.section h2 em{color:#1e9b8d}.lead{color:#64757d;font-size:17px;line-height:1.9;max-width:570px}.about-facts{display:flex;gap:50px;border-top:1px solid #dce7e8;border-bottom:1px solid #dce7e8;padding:25px 0;margin:34px 0}.about-facts>div{display:grid;gap:7px}.about-facts strong{font:800 34px Manrope,sans-serif;letter-spacing:-.06em}.about-facts strong span{color:#209c8d}.about-facts small{font-size:10px;letter-spacing:.12em;color:#6e828b}.inline-arrow{display:inline-flex;align-items:center;gap:45px;color:#0a635d;font-size:13px;font-weight:800;border-bottom:1px solid #54b5a9;padding-bottom:11px}.inline-arrow span{font-size:19px}.focus{background:var(--cream)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:45px}.section-head h2{margin-bottom:0}.section-head>p{max-width:330px;line-height:1.8;color:#667981}.focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.focus-card{min-height:440px;background:#fff;border:1px solid #e0e9e9;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:30px;transition:transform .3s,box-shadow .3s}.focus-card:hover{transform:translateY(-7px);box-shadow:0 24px 55px rgba(11,48,61,.1)}.focus-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2}.focus-index{font-size:10px;letter-spacing:.19em;color:#71858d}.focus-icon{width:45px;height:45px;border:1px solid #d2e9e5;display:grid;place-items:center;border-radius:50%;color:#198c80;font-size:25px}.focus-art{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);width:260px;height:260px;border-radius:50%;border:1px solid rgba(36,159,146,.2);background:radial-gradient(circle,rgba(103,219,204,.18),transparent 65%)}.focus-art span{position:absolute;border:1px solid rgba(29,153,139,.28);border-radius:50%;inset:25px}.focus-art span:nth-child(2){inset:60px}.focus-art span:nth-child(3){inset:100px;background:#65d2c3;box-shadow:0 0 35px #72d6c9}.art-two span{border-radius:30%;transform:rotate(45deg)}.focus-content{position:relative;z-index:2}.focus-content h3{font:800 33px/1.18 Manrope,sans-serif;letter-spacing:-.055em;margin:0 0 24px}.focus-content a{display:flex;justify-content:space-between;border-top:1px solid #e1e9e9;padding-top:20px;color:#16877a;font-weight:700;font-size:13px}.focus-content a span{font-size:19px}.experience{background:radial-gradient(circle at 85% 50%,#1c5260,#082638 60%,#051927);padding:110px 0;color:#fff;overflow:hidden}.experience-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px}.section-kicker.light{color:var(--teal)}.experience h2{font-size:clamp(38px,4.8vw,65px)}.experience p:not(.section-kicker){color:#b6cbd1;font-size:16px;line-height:1.8;max-width:430px}.experience-number{display:flex;flex-direction:column;align-items:center;border:1px solid rgba(120,226,210,.28);padding:45px 20px;background:rgba(255,255,255,.025)}.experience-number>span{font:800 clamp(120px,17vw,235px)/1 Manrope,sans-serif;letter-spacing:-.12em;color:var(--teal)}.experience-number sup{font-size:.35em;vertical-align:top;letter-spacing:0}.experience-number small{letter-spacing:.26em;font-size:11px;color:#c2dcdb}.city-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.city p:not(.section-kicker){color:#64757d;font-size:17px;line-height:1.8;margin-bottom:30px}.city-graphic{height:390px;background:#edf5f4;position:relative;overflow:hidden;display:grid;place-items:center}.city-graphic:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#dbeae7 1px,transparent 1px),linear-gradient(90deg,#dbeae7 1px,transparent 1px);background-size:28px 28px}.city-ring{width:280px;height:280px;border:1px dashed #5dbbb0;border-radius:50%;position:absolute;box-shadow:0 0 0 35px rgba(100,202,187,.06),0 0 0 75px rgba(100,202,187,.04)}.city-center{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px}.city-center>span{font-size:50px;color:#1b998c}.city-center strong{font:800 36px Manrope,sans-serif;letter-spacing:-.05em}.city-center small{font-size:10px;letter-spacing:.2em;color:#72868c}.city-coordinate{position:absolute;bottom:23px;right:24px;font-size:10px;letter-spacing:.13em;color:#6d9a99}.contact{background:#062131;color:white;text-align:center;position:relative;overflow:hidden}.contact:before{content:'';position:absolute;width:600px;height:600px;border:1px solid rgba(115,225,209,.13);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 90px rgba(115,225,209,.025),0 0 0 180px rgba(115,225,209,.018)}.contact-wrap{position:relative}.contact .section-kicker{justify-content:center}.contact h2{font-size:clamp(47px,7vw,88px);line-height:1.08}.contact p:not(.section-kicker){color:#b8d0d4;font-size:17px}.contact-button{margin:25px auto 30px;gap:18px;font-size:17px}.contact-note{display:block;font-size:10px;letter-spacing:.17em;color:#90abb5}.footer{background:#041521;color:#fff;padding-top:65px}.footer-main{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:70px;padding-bottom:65px}.footer-brand{font:800 23px Manrope,sans-serif;letter-spacing:-.05em}.footer-brand span{color:var(--teal);margin-left:10px}.footer-main p{font-size:13px;line-height:1.8;color:#8da6b0;max-width:320px}.footer-links{display:flex;flex-direction:column;gap:14px;font-size:13px;color:#a9bfc6}.footer-links strong{font-size:10px;letter-spacing:.18em;color:var(--teal);margin-bottom:8px}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;padding:24px 0;font-size:10px;letter-spacing:.15em;color:#8ba4ae}.whatsapp-float{position:fixed;z-index:90;bottom:25px;right:25px;width:59px;height:59px;border-radius:50%;display:grid;place-items:center;background:#22c767;color:white;box-shadow:0 8px 30px rgba(0,0,0,.24);transition:transform .2s}.whatsapp-float:hover{transform:scale(1.09)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes spin{to{transform:rotate(333deg)}}@keyframes float{50%{transform:translateY(-16px)}}@media(max-width:960px){.menu{gap:16px}.menu a{font-size:11px}.hero-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(68px,9vw,100px)}.hero-visual{transform:scale(.85)}.about-grid{gap:45px}.city-grid{gap:35px}}@media(max-width:720px){.container{width:min(100% - 36px,520px)}.nav{height:72px}.brand-mark{width:42px;height:42px}.brand-copy strong{font-size:13px}.brand-copy small{font-size:8px}.menu-toggle{display:flex;width:43px;height:43px;border:1px solid rgba(255,255,255,.25);background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer}.menu-toggle span{height:2px;width:20px;background:#fff}.menu{display:none;position:absolute;top:72px;left:0;right:0;background:#071c2d;padding:20px 18px 26px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid rgba(255,255,255,.15)}.menu.open{display:flex}.menu a{font-size:14px;padding:15px 12px}.menu .nav-contact{margin-top:10px}.hero{padding-top:72px}.hero-grid{grid-template-columns:1fr;min-height:auto;padding:70px 0 0}.hero-intro{margin-top:33px}.hero h1{font-size:clamp(70px,16vw,112px)}.hero-description{font-size:16px}.hero-location{margin-top:43px}.hero-visual{height:370px;transform:none;margin-top:20px}.visual-halo{width:340px;height:340px}.orbit-one{width:330px;height:330px}.orbit-two{width:265px;height:265px}.visual-core{width:230px;height:230px}.core-inner{width:185px;height:185px;font-size:10px}.core-cross{font-size:40px}.experience-float{bottom:10px;left:0;padding:10px 14px}.float-number{font-size:38px}.float-copy{font-size:8px}.visual-caption{bottom:5px;font-size:7px}.molecule-a{right:0}.molecule-b{left:0}.hero-bottom-inner{font-size:8px}.section{padding:75px 0}.about-grid,.experience-grid,.city-grid{grid-template-columns:1fr;gap:38px}.about-art{height:340px}.about-symbol{font-size:180px}.section h2,.experience h2{font-size:clamp(35px,9vw,52px)}.lead{font-size:16px}.section-head{display:block}.section-head>p{max-width:100%}.focus-grid{grid-template-columns:1fr}.focus-card{min-height:370px}.focus-art{width:220px;height:220px}.experience{padding:75px 0}.experience-number>span{font-size:150px}.city-graphic{height:330px}.footer-main{grid-template-columns:1fr 1fr;gap:35px}.footer-main>div:first-child{grid-column:1/-1}.contact h2{font-size:clamp(45px,11vw,72px)}.whatsapp-float{width:54px;height:54px;bottom:17px;right:17px}}@media(max-width:380px){.brand-copy small{letter-spacing:.08em}.hero h1{font-size:65px}.eyebrow{font-size:9px}.hero-actions{gap:19px}.hero-bottom-inner span:last-child{display:none}.about-facts{gap:20px}.about-facts strong{font-size:28px}.contact-button{font-size:14px}.footer-main{grid-template-columns:1fr}.footer-main>div:first-child{grid-column:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.orbit-two,.about-symbol{animation:none}*,*:before,*:after{scroll-behavior:auto!important}}

/* Robust Cloudflare/static fallback: content stays visible without JavaScript. */
.reveal,.reveal:not(.visible){opacity:1;transform:none}


/* Fotografía proporcionada por el usuario: sección Sobre el doctor. */
.about-art.doctor-photo{height:auto;min-height:0;margin:0;display:block;overflow:hidden;position:relative;background:#081c2b;border:1px solid rgba(34,145,137,.35);box-shadow:0 30px 65px rgba(7,28,45,.15)}
.doctor-photo .doctor-portrait{display:block;width:100%;height:auto;aspect-ratio:736/1280;object-fit:contain}
.doctor-photo::after{content:"";position:absolute;inset:auto 0 0;height:100px;background:linear-gradient(transparent,rgba(4,20,33,.9));pointer-events:none}
.doctor-photo .about-art-footer{z-index:1;bottom:22px;left:25px;right:25px;margin:0}
@media(max-width:720px){.about-art.doctor-photo{height:auto;max-width:460px;margin:0 auto}.doctor-photo .about-art-footer{left:19px;right:19px}}

/* La fotografía original también se muestra en la portada para hacerla visible desde el primer momento. */
.hero-portrait-frame{position:absolute;z-index:3;top:50%;left:50%;transform:translate(-50%,-50%);width:min(77%,365px);height:485px;margin:0;overflow:hidden;border-radius:190px 190px 16px 16px;border:1px solid rgba(175,237,225,.7);background:#0a2738;box-shadow:0 24px 75px rgba(0,0,0,.43),0 0 0 10px rgba(119,226,214,.045)}
.hero-portrait-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 27%}
.hero-portrait-frame:after{content:'';position:absolute;bottom:0;left:0;right:0;height:28%;background:linear-gradient(transparent,rgba(5,24,35,.93));pointer-events:none}
.hero-portrait-frame figcaption{position:absolute;z-index:2;bottom:24px;left:24px;right:24px;text-align:center;color:white;font-size:11px;letter-spacing:.13em;font-weight:700;text-shadow:0 1px 6px #041521}
.hero-portrait-frame figcaption span{color:#87e3d5}
.hero-visual .visual-core{opacity:.18}
.hero-visual .experience-float{z-index:5}
.hero-visual .visual-caption{z-index:4}
@media(max-width:960px) and (min-width:721px){.hero-portrait-frame{height:455px;width:min(78%,340px)}}
@media(max-width:720px){.hero-portrait-frame{width:min(69%,290px);height:340px;border-radius:170px 170px 12px 12px}.hero-portrait-frame figcaption{font-size:9px;bottom:18px;left:8px;right:8px}.hero-visual .experience-float{bottom:0;left:0}}
@media(max-width:380px){.hero-portrait-frame{width:67%;height:320px}}
