html { scroll-behavior: smooth; }
html, body, #root { margin:0; min-height:100%; }
body { background:var(--ds-page); color:#173332; }
* { box-sizing:border-box; }
a { color:inherit; }
.site-header { height:82px; display:flex; align-items:center; gap:34px; padding:0 34px; position:sticky; top:0; z-index:20; background:rgba(255,255,255,.96); backdrop-filter:blur(14px); border-bottom:1px solid #e7ecea; }
.brand { display:grid; grid-template-columns:46px auto; grid-template-rows:22px 16px; align-items:center; text-decoration:none; margin-right:auto; }
.brand span { grid-row:1/3; width:38px; height:38px; display:grid; place-items:center; border:1px solid #66a59b; border-radius:50%; color:#39776f; font-family:Aime,serif; }
.brand strong { font-size:16px; letter-spacing:.02em; }.brand small { color:#748582; font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.site-header nav { display:flex; gap:28px; }.site-header nav a { text-decoration:none; font-size:13px; font-weight:600; }.phone { text-decoration:none; border:1px solid #39776f; padding:10px 14px; border-radius:3px; font-weight:600; font-size:13px; }
.hero { min-height:650px; position:relative; display:grid; align-items:center; overflow:hidden; }.hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:58% center; }.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,40,38,.86) 0%,rgba(8,40,38,.62) 42%,rgba(8,40,38,.05) 76%); }.hero-copy { position:relative; z-index:2; color:white; max-width:620px; padding:80px 7%; }.eyebrow { font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.17em; margin:0 0 16px; }.eyebrow.dark { color:#39776f; }.hero h1 { font-family:Aime,serif; font-size:62px; line-height:1.02; font-weight:400; letter-spacing:-.035em; margin:0 0 22px; }.hero-copy>p:not(.eyebrow) { max-width:520px; font-size:18px; line-height:1.6; color:#e8f0ee; }.actions { display:flex; gap:12px; margin-top:30px; }.actions a,.map-link { text-decoration:none; padding:13px 20px; border-radius:3px; font-weight:600; font-size:14px; }.primary { background:#73a89a; color:#112d2a; }.secondary { border:1px solid rgba(255,255,255,.65); color:#fff; }
.trust-strip { display:grid; grid-template-columns:repeat(3,1fr); background:#f0f5f3; padding:32px 7%; gap:30px; }.trust-strip div { border-right:1px solid #cedbd7; }.trust-strip div:last-child{border:0}.trust-strip strong { display:block; font-family:Aime,serif; font-size:29px; font-weight:400; }.trust-strip span{color:#657875;font-size:13px}
.section { padding:90px 7%; }.section-heading { max-width:700px; margin-bottom:42px; }.section h2,.doctor-copy h2,.contact h2 { font-family:Aime,serif; font-size:42px; font-weight:400; letter-spacing:-.025em; margin:0 0 16px; line-height:1.1; }.section-heading>p:last-child,.lead { color:#637572; line-height:1.7; font-size:16px; }
.service-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }.service-card { min-height:330px; position:relative; overflow:hidden; border-radius:4px; background:#173332; }.service-card:first-child { grid-row:span 2; }.service-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.72; transition:transform .35s; }.service-card:hover img{transform:scale(1.025)}.service-card:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(7,35,33,.9),rgba(7,35,33,0) 74%); }.service-card div { position:absolute; z-index:2; left:24px; right:24px; bottom:24px; color:white; }.service-card span { color:#9bc9bd; font-size:12px; letter-spacing:.15em; }.service-card h3 { font-family:Aime,serif; font-size:25px; font-weight:400; margin:7px 0; }.service-card p { color:#e4edeb; font-size:13px; line-height:1.55; margin:0; max-width:560px; }
.doctor-section { display:grid; grid-template-columns:minmax(300px,42%) 1fr; gap:64px; padding:90px 7%; background:#f2f0eb; }.doctor-photo img{width:100%;height:100%;max-height:760px;object-fit:cover;border-radius:4px}.doctor-copy{padding:30px 0}.doctor-copy ul { padding-left:20px; color:#566967; line-height:1.6; }.doctor-copy li { margin-bottom:9px; }.doctor-copy blockquote { margin:34px 0 0; border-left:3px solid #73a89a; padding:4px 0 4px 20px; font-family:Aime,serif; font-size:21px; line-height:1.45; }.doctor-copy cite{display:block;font-family:inherit;font-size:12px;color:#72817f;margin-top:10px}
.reasons ol { display:grid; grid-template-columns:repeat(2,1fr); gap:0 50px; padding:0; list-style:none; border-top:1px solid #dfe7e4; }.reasons li{padding:18px 0;border-bottom:1px solid #dfe7e4;display:flex;gap:18px;align-items:flex-start;line-height:1.5}.reasons li span{color:#73a89a;font-size:12px;font-weight:600;margin-top:4px}.clinic-photo{padding:0 7% 90px}.clinic-photo img{max-height:580px;object-fit:cover}
.contact { background:#173332; color:white; padding:86px 7%; display:grid; grid-template-columns:1fr 1.1fr; gap:70px; }.contact-info>p{color:#dce8e5;line-height:1.7}.contact-links{display:grid;gap:14px;margin-top:30px}.contact-links a{text-decoration:none;font-size:17px}.contact-links small{display:block;color:#91aca6;font-size:10px;text-transform:uppercase;letter-spacing:.15em;margin-bottom:3px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:grid;gap:7px;font-size:12px;color:#b9cfca}.contact-form .span-2{grid-column:1/3}.contact-form input,.contact-form textarea{background:#234542;border:1px solid #45635f;border-radius:3px;color:white;padding:12px;font:inherit;resize:vertical}.contact-form button{justify-self:start;background:#73a89a;border:0;border-radius:3px;padding:13px 20px;font-weight:600;color:#102b29;cursor:pointer}.form-note{grid-column:1/3;color:#b9cfca;font-size:12px}
.visit { display:grid;grid-template-columns:1fr 1.2fr;gap:70px }.visit>div>p:not(.eyebrow){line-height:1.8;color:#637572}.map-link{display:inline-block;background:#173332;color:white;margin-top:14px}.hours h3{font-family:Aime,serif;font-size:24px;font-weight:400;margin-top:0}.hours dl{margin:0}.hours dl div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #dfe7e4;padding:10px 0}.hours dt{font-weight:600}.hours dd{margin:0;color:#627472}.hours small{display:block;color:#7d8d8a;margin-top:14px}
footer { background:#0f2927;color:#d9e6e3;display:flex;align-items:center;gap:30px;padding:34px 7%;font-size:11px}.brand.inverse{margin-right:0}.brand.inverse strong{color:white}.brand.inverse span{color:white;border-color:#73a89a}footer p{margin-right:auto}footer>div:last-child{display:flex;gap:18px}footer>div:last-child a{text-decoration:none}
@media(max-width:780px){.site-header{padding:0 18px;height:70px}.site-header nav{display:none}.site-header .phone{font-size:0;padding:10px}.site-header .phone:after{content:'Llamar';font-size:12px}.hero{min-height:570px}.hero-copy{padding:70px 24px}.hero h1{font-size:44px}.trust-strip{grid-template-columns:1fr;padding:24px}.trust-strip div{border-right:0;border-bottom:1px solid #cedbd7;padding-bottom:16px}.service-grid{grid-template-columns:1fr}.service-card:first-child{grid-row:auto}.doctor-section,.contact,.visit{grid-template-columns:1fr;gap:34px;padding:64px 24px}.section{padding:64px 24px}.section h2,.doctor-copy h2,.contact h2{font-size:34px}.doctor-photo img{max-height:520px}.reasons ol{grid-template-columns:1fr}.contact-form{grid-template-columns:1fr}.contact-form .span-2,.form-note{grid-column:1}.clinic-photo{padding:0 24px 64px}footer{align-items:flex-start;flex-direction:column;padding:34px 24px}footer p{margin:0}.actions{flex-wrap:wrap}}
.official-logo { display:flex; align-items:center; margin-right:auto; }
.official-logo img { display:block; object-fit:contain; }
.header-logo img { width:176px; height:60px; mix-blend-mode:multiply; }
.footer-logo { margin-right:0; padding:7px 14px; background:#231f20; border-radius:3px; }
.footer-logo img { width:120px; height:90px; object-fit:cover; }
@media(max-width:780px){.header-logo img{width:138px;height:52px}.footer-logo img{width:108px;height:80px}}
body{margin:0}.site{background:#fff;color:#1f2a2e}.clinic-photo figure{margin:0}.clinic-photo img{display:block;width:100%;height:min(72vw,720px);object-fit:cover}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:100;background:#fff;padding:.7rem 1rem}
