:root{--ink:#17373a;--teal:#174c52;--mint:#dfecea;--paper:#f7f5ef;--sand:#e9dfd0;--muted:#607173;--line:#17373a28;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.7rem;z-index:99}a{color:inherit}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,5vw,5rem);border-bottom:1px solid var(--line);background:#f7f5efeb;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;gap:.8rem;align-items:center;text-decoration:none;line-height:1.15}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:1px solid var(--teal);border-radius:50%;font-family:var(--serif);font-size:.85rem}.brand strong,.brand small,.portrait-caption>*{display:block}.brand small{margin-top:.28rem;color:var(--muted);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.site-header nav{display:flex;gap:2rem}.site-header nav a{text-decoration:none;font-size:.86rem;font-weight:600}.site-header nav a:hover{color:#24666b}.menu-button{display:none;background:none;border:1px solid var(--line);padding:.55rem .8rem;font:inherit}.section-shell{width:min(1160px,calc(100% - 2.5rem));margin:auto}.hero{min-height:700px;display:grid;grid-template-columns:1.25fr .75fr;gap:7vw;align-items:center;padding-block:5rem}.eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:#24666b;margin:0 0 1.25rem}.eyebrow.light{color:#a9cfcb}h1,h2{font-family:var(--serif);font-weight:500;line-height:1.08}h1{font-size:clamp(3rem,6vw,5.6rem);letter-spacing:-.045em;margin:0 0 2rem}h1 em{color:#24666b;font-weight:500}h2{font-size:clamp(2.3rem,4vw,4rem);letter-spacing:-.035em}h3,p{margin-top:0}.lead{font-size:1.15rem;color:var(--muted);max-width:670px}.lead.small{font-size:1.05rem}.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:2.2rem 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 1.3rem;text-decoration:none;font-weight:600;font-size:.88rem;border:1px solid var(--teal);transition:.2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--teal);color:#fff}.secondary{background:transparent}.pale{background:var(--mint);color:var(--ink);border-color:var(--mint);margin-top:1rem}.trust-list{display:flex;gap:1.6rem;flex-wrap:wrap;padding:0;list-style:none;font-size:.78rem;color:var(--muted)}.portrait-card{background:var(--mint);padding:1rem 1rem 1.4rem;transform:rotate(1deg);box-shadow:20px 25px 0 var(--sand)}.portrait-placeholder{aspect-ratio:4/5;background:linear-gradient(145deg,#c5d8d5,#eef3ef);display:grid;place-items:center;text-align:center;color:#63817f;font-family:var(--serif);font-size:1.25rem}.portrait-photo{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}.portrait-caption{padding:.9rem .5rem 0}.portrait-caption span,.portrait-caption small{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.portrait-caption strong{font-family:var(--serif);font-size:1.45rem;margin:.2rem 0}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding-block:8rem;border-top:1px solid var(--line)}.intro h2{max-width:500px}.prose{font-size:1.05rem}.editor-note{padding:1rem;border-left:3px solid var(--sand);font-size:.8rem;color:var(--muted)}.credentials{background:var(--teal);color:white;padding:7rem 0}.credentials h2{max-width:700px}.timeline{margin-top:4rem;border-top:1px solid #ffffff38}.timeline article{display:grid;grid-template-columns:70px 1fr;gap:1rem;border-bottom:1px solid #ffffff38;padding:2rem 0}.timeline article>span{color:#a9cfcb;font-family:var(--serif)}.timeline h3{font-family:var(--serif);font-size:1.55rem;margin:.15rem 0}.timeline small,.timeline p{color:#bcd0ce}.timeline p{margin:0}.services{padding-block:8rem}.section-heading{display:grid;grid-template-columns:1fr .7fr;gap:4rem;align-items:end}.section-heading>p,.service-grid p{color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);margin-top:3rem;border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-grid article{min-height:250px;padding:2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.service-grid article>span{font-family:var(--serif);color:#24666b}.service-grid h3{font-family:var(--serif);font-size:1.5rem;margin-top:3rem}.referrals{background:#102f32;color:#fff;padding:7rem 0}.referral-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.referral-grid p{color:#c5d5d4}.referral-steps p{padding:1rem 0;border-bottom:1px solid #ffffff26}.referral-steps span{display:inline-grid;place-items:center;border:1px solid #789a98;border-radius:50%;width:32px;height:32px;margin-right:.7rem}.contact{padding-block:8rem;display:grid;grid-template-columns:1fr 1fr;gap:9vw}.contact-card{border-top:1px solid var(--line)}.contact-card>a,.contact-card>div{display:flex;justify-content:space-between;gap:2rem;padding:1.2rem 0;border-bottom:1px solid var(--line);text-decoration:none}.contact-card span{font-size:.78rem;color:var(--muted)}.contact-card strong{text-align:right;font-size:.92rem}footer{background:var(--mint);padding:2rem clamp(1.25rem,5vw,5rem);display:flex;justify-content:space-between;gap:2rem;font-size:.8rem}footer span{display:block;color:var(--muted)}footer p{margin:0}.floating-whatsapp{position:fixed;right:1.25rem;bottom:1.25rem;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:white;text-decoration:none;font-weight:700;box-shadow:0 8px 24px #0003}
.experience{padding-block:8rem}.experience-list{display:grid;grid-template-columns:repeat(2,1fr);margin-top:3.5rem;border-top:1px solid var(--line);border-left:1px solid var(--line)}.experience-list article{padding:2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.experience-list small{color:#24666b;text-transform:uppercase;letter-spacing:.1em;font-weight:600}.experience-list h3{font-family:var(--serif);font-size:1.45rem;margin:.7rem 0}.experience-list p{color:var(--muted);margin:0}.academic-note{display:grid;grid-template-columns:.4fr 1fr;gap:3rem;margin-top:2.5rem;padding:2rem;background:var(--mint)}.academic-note p{margin:0;color:var(--muted)}.practice-gallery{display:grid;grid-template-columns:1.1fr .9fr .9fr;background:#102f32;padding:1rem;gap:1rem}.practice-gallery figure{margin:0;position:relative;min-height:480px;overflow:hidden}.practice-gallery img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.88);transition:transform .5s}.practice-gallery figure:hover img{transform:scale(1.02)}.practice-gallery figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;background:#102f32dc;color:#fff;padding:.75rem 1rem;font-size:.78rem}.portrait-photo{object-position:center top}
@media(max-width:800px){.site-header{height:76px}.menu-button{display:block}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:1.5rem;flex-direction:column;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr;padding-block:3.5rem}.portrait-card{width:min(420px,90%);margin:auto}.intro,.section-heading,.referral-grid,.contact{grid-template-columns:1fr;gap:2rem}.experience-list,.practice-gallery{grid-template-columns:1fr}.practice-gallery figure{min-height:430px}.academic-note{grid-template-columns:1fr;gap:.5rem}.service-grid{grid-template-columns:1fr}.trust-list{display:grid;gap:.4rem}.intro,.experience,.services,.contact{padding-block:5rem}.credentials,.referrals{padding:5rem 0}footer{flex-direction:column}.contact-card>a,.contact-card>div{display:block}.contact-card strong{display:block;text-align:left;margin-top:.3rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Identidad azul marino y composición compacta */
:root{--ink:#12233f;--teal:#0b2447;--mint:#dfe5ed;--muted:#5e6877;--line:#0b244728}
.brand-logo{width:54px;height:54px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.eyebrow,h1 em,.service-grid article>span,.experience-list small{color:#17365d}
.credentials,.referrals,.practice-gallery{background:#0b2447}
.eyebrow.light,.timeline article>span{color:#b7cae4}
.timeline small,.timeline p,.referral-grid p{color:#d1dbea}
.referral-steps span{border-color:#8299b9}
.hero{min-height:570px;padding-block:3.25rem;gap:5vw}
.portrait-card{max-width:400px;justify-self:end;background:#dfe5ed;box-shadow:16px 18px 0 #d9dfe7}
.portrait-photo{aspect-ratio:4/4.35;object-position:center 24%}
.intro,.experience,.services,.contact{padding-block:4.5rem}
.credentials,.referrals{padding:4.5rem 0}
.intro{gap:7vw}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid #ffffff38;margin-top:2.5rem}
.timeline article{grid-template-columns:42px 1fr;padding:1.35rem;border-right:1px solid #ffffff38}
.experience-list{grid-template-columns:repeat(3,1fr);margin-top:2.5rem}
.experience-list article{padding:1.4rem}
.experience-list h3{font-size:1.25rem}
.academic-note{margin-top:1.5rem;padding:1.35rem}
.service-grid{grid-template-columns:repeat(4,1fr);margin-top:2.25rem}
.service-grid article{min-height:210px;padding:1.4rem}
.service-grid h3{font-size:1.25rem;margin-top:1.75rem}
.practice-gallery{grid-template-columns:repeat(4,1fr);padding:.7rem;gap:.7rem}
.practice-gallery figure{min-height:335px}
.practice-gallery figcaption{left:.65rem;right:.65rem;bottom:.65rem}
.contact{gap:6vw}

@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,1fr)}.timeline{grid-template-columns:1fr}.timeline article{border-right:0}.experience-list{grid-template-columns:repeat(2,1fr)}.practice-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.brand-logo{width:46px;height:46px}.hero{min-height:auto;padding-block:2.75rem}.intro,.experience,.services,.contact{padding-block:3.5rem}.credentials,.referrals{padding:3.5rem 0}.experience-list{grid-template-columns:1fr}.practice-gallery{grid-template-columns:repeat(2,1fr)}.practice-gallery figure{min-height:310px}.portrait-card{justify-self:center}.academic-note{grid-template-columns:1fr}.timeline{grid-template-columns:1fr}}
@media(max-width:520px){.brand strong{font-size:.85rem}.brand small{font-size:.6rem}.practice-gallery{grid-template-columns:1fr}.practice-gallery figure{min-height:360px}.service-grid{grid-template-columns:1fr}}

h1{font-size:clamp(2.75rem,5vw,4.8rem)}
h1 span{color:var(--ink);font-weight:500}
@media(max-width:800px){.brand strong{font-size:.78rem}.brand small{font-size:.56rem}.brand{gap:.55rem}}
