:root { --ink:#183b4d; --night:#102c3b; --paper:#fbf7f0; --warm:#e9ded0; --coral:#ba6c50; --line:rgba(24,59,77,.18); }
* { box-sizing:border-box; } html { min-height:100%; background:var(--night); scroll-behavior:smooth; } body { min-height:100%; margin:0; overflow-x:hidden; color:var(--ink); background:var(--paper); font:400 16px/1.68 "DM Sans",Arial,sans-serif; } h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-family:"Playfair Display",Georgia,serif; line-height:1.08; letter-spacing:-.03em; } a { color:inherit; text-decoration:none; } a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid var(--coral); outline-offset:4px; }.container { width:min(1160px,calc(100% - 3rem)); margin:auto; }.skip-link { position:fixed; top:-4rem; left:1rem; z-index:100; padding:.7rem 1rem; color:#fff; background:var(--ink); }.skip-link:focus { top:1rem; }
.hero { min-height:100svh; color:#fff; background:linear-gradient(90deg,rgba(16,44,59,.88),rgba(16,44,59,.62) 55%,rgba(16,44,59,.18)),url("assets/img/fragmento-editorial.png") center/cover; }.site-nav { min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:2rem; }.brand { display:inline-flex; align-items:center; gap:.7rem; color:#fff; font:600 1.22rem/1 "Playfair Display",Georgia,serif; }.brand img { width:46px; height:auto; }.brand small { display:block; margin-top:.35rem; font:600 .61rem/1 "DM Sans",sans-serif; letter-spacing:.13em; text-transform:uppercase; opacity:.78; }.nav-links { display:flex; align-items:center; gap:1.7rem; color:rgba(255,255,255,.9); font-size:.88rem; }.nav-links>a:not(.nav-cta):hover { color:#fff; }.nav-cta,.button { display:inline-flex; align-items:center; justify-content:center; gap:.7rem; min-height:47px; padding:.7rem 1.25rem; font-size:.86rem; font-weight:700; transition:transform .2s,background .2s; }.nav-cta { color:var(--ink); background:#fff; }.nav-cta:hover,.button:hover { transform:translateY(-2px); }.nav-toggle { display:none; border:0; background:none; color:#fff; font:700 .75rem "DM Sans",sans-serif; letter-spacing:.1em; text-transform:uppercase; }.nav-toggle span,.nav-toggle:after { content:""; display:block; width:20px; height:1px; margin:.34rem auto 0; background:currentColor; }
.hero-copy { min-height:calc(100svh - 88px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:5rem 0 8rem; }.kicker { margin-bottom:1rem; color:var(--coral); font-size:.7rem; font-weight:700; letter-spacing:.16em; line-height:1.4; text-transform:uppercase; }.hero .kicker { color:#f0baa5; }.hero h1 { max-width:760px; margin-bottom:1.45rem; color:#fff; font-size:clamp(3.2rem,7vw,6.5rem); font-weight:500; }.hero-copy>p:not(.kicker) { max-width:530px; margin-bottom:2.2rem; color:rgba(255,255,255,.87); font-size:1.1rem; }.button-light { color:var(--night); background:#fff; }.button-light:hover { color:var(--night); background:#f3e7dc; }
.section { padding:8rem 0; }.editorial-grid { display:grid; grid-template-columns:minmax(280px,.86fr) minmax(0,1.14fr); align-items:center; gap:clamp(3rem,9vw,9rem); }.about-image { width:min(100%,410px); aspect-ratio:4/5; overflow:hidden; border-radius:2px 2px 100px 2px; }.about-image img { width:100%; height:100%; object-fit:cover; object-position:58% center; }.about-copy { max-width:555px; }.about-copy h2,.clinic-intro h2,.faq-layout h2,.contact-copy h2 { margin-bottom:1.45rem; font-size:clamp(2.45rem,4.2vw,4.15rem); }.about-copy p:not(.kicker),.clinic-intro>p:not(.kicker),.faq-layout>div>p:not(.kicker) { color:#50636c; }.text-link { display:inline-block; margin-top:.6rem; padding-bottom:.25rem; border-bottom:1px solid var(--ink); font-weight:700; }.text-link span { margin-left:.4rem; }
.literary-panel { min-height:570px; display:grid; place-items:center; color:#fff; text-align:center; background:linear-gradient(rgba(16,44,59,.72),rgba(16,44,59,.78)),url("assets/img/fundo.jpg") center/cover; }.literary-copy { max-width:900px; padding:5rem 0; }.literary-panel .kicker { color:#e7b09d; }.literary-panel blockquote { margin:0 auto 1.8rem; color:#fff; font:500 clamp(2.75rem,5.5vw,5.65rem)/1.05 "Playfair Display",Georgia,serif; letter-spacing:-.04em; }.literary-panel cite { color:rgba(255,255,255,.75); font-size:.88rem; font-style:normal; }.literary-panel cite em { font-family:"Playfair Display",Georgia,serif; }
.clinic-section { background:var(--warm); }.clinic-intro { max-width:760px; margin-bottom:4.5rem; }.clinic-intro h2 { max-width:730px; }.modalities { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); }.modalities article { min-height:270px; padding:2rem 2.5rem 1rem 0; border-right:1px solid var(--line); }.modalities article+article { padding-right:0; padding-left:2.5rem; border:0; }.number { color:var(--coral); font-size:.72rem; font-weight:700; letter-spacing:.14em; }.modalities h3 { margin:3.2rem 0 .8rem; font-size:clamp(1.8rem,3vw,2.5rem); }.modalities p:last-child { max-width:380px; color:#50636c; }
.image-fragment { min-height:470px; display:grid; align-items:end; color:#fff; background:linear-gradient(0deg,rgba(16,44,59,.8),rgba(16,44,59,.05)),url("assets/img/fragmento-editorial.png") center/cover; }.image-fragment-copy { padding-bottom:4.5rem; }.image-fragment .kicker { color:#f0baa5; }.image-fragment h2 { max-width:700px; margin:0; color:#fff; font-size:clamp(2.35rem,4.5vw,4.5rem); font-weight:500; }
.faq-section { background:#fffdfa; }.faq-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(3rem,9vw,9rem); }.faq-list { border-top:1px solid var(--line); }.faq-list details { border-bottom:1px solid var(--line); }.faq-list summary { display:flex; justify-content:space-between; gap:1rem; padding:1.35rem 0; cursor:pointer; font-weight:700; list-style:none; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary:after { content:"+"; color:var(--coral); font-size:1.5rem; font-weight:400; }.faq-list details[open] summary:after { content:"−"; }.faq-list details p { max-width:630px; margin:0; padding:0 2rem 1.35rem 0; color:#50636c; }
.contact-section { padding:8rem 0; color:#fff; text-align:center; background:var(--night); }.contact-copy { max-width:720px; }.contact-copy .kicker { color:#e7b09d; }.contact-copy h2 { color:#fff; }.site-footer { padding:3rem 0; color:#d5e0e0; background:#0b222e; }.footer-content { display:grid; grid-template-columns:1.15fr 1fr .7fr; align-items:center; gap:2rem; }.site-footer address { display:grid; gap:.25rem; font-size:.84rem; font-style:normal; }.site-footer p { margin:0; color:#9cb0b3; font-size:.75rem; text-align:right; }.whatsapp-button { position:fixed; right:1.25rem; bottom:1.25rem; z-index:10; display:grid; place-items:center; width:57px; height:57px; border-radius:50%; background:#25d366; box-shadow:0 8px 24px rgba(0,0,0,.25); transition:transform .2s; }.whatsapp-button:hover { transform:translateY(-3px); }.whatsapp-button img { width:57px; height:57px; border-radius:50%; }
@media (max-width:767px) { .container { width:calc(100% - 2rem); }.hero { min-height:720px; background:linear-gradient(rgba(16,44,59,.82),rgba(16,44,59,.66)),url("assets/img/fragmento-editorial.png") center/cover; }.site-nav { min-height:76px; position:relative; }.nav-toggle { display:block; }.nav-links { display:none; position:absolute; z-index:20; top:67px; right:0; left:0; gap:.2rem; padding:1rem; color:var(--ink); background:#fff; box-shadow:0 12px 30px rgba(0,0,0,.18); }.nav-links.is-open { display:grid; }.nav-links>a:not(.nav-cta) { padding:.6rem; }.nav-cta { margin-top:.4rem; color:#fff; background:var(--coral); }.hero-copy { min-height:644px; justify-content:center; padding:4rem 0 5rem; }.hero h1 { font-size:clamp(3rem,13vw,4.4rem); }.section { padding:5rem 0; }.editorial-grid,.faq-layout { grid-template-columns:1fr; gap:3rem; }.about-image { width:min(100%,380px); }.literary-panel { min-height:450px; }.literary-copy { padding:4rem 0; }.modalities { grid-template-columns:1fr; }.modalities article,.modalities article+article { min-height:auto; padding:1.8rem 0 2.2rem; border-right:0; border-bottom:1px solid var(--line); }.modalities h3 { margin-top:1.8rem; }.image-fragment { min-height:400px; }.image-fragment-copy { padding-bottom:3rem; }.contact-section { padding:5.5rem 0; }.footer-content { grid-template-columns:1fr; }.site-footer p { text-align:left; }.whatsapp-button,.whatsapp-button img { width:52px; height:52px; }.whatsapp-button { right:1rem; bottom:1rem; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }
