@font-face{font-family:Manrope;src:url('/assets/fonts/manrope.woff') format('woff');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-semibold.woff') format('woff');font-weight:600;font-display:swap}@font-face{font-family:'DM Serif';src:url('/assets/fonts/dm-serif.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'DM Serif';src:url('/assets/fonts/dm-serif-italic.woff') format('woff');font-weight:400;font-style:italic;font-display:swap}
:root{--paper:#fff;--ink:#132b3e;--blue:#225b82;--cyan:#a6c4d6;--muted:#64717b;--line:#e4e9ed;--editorial:'DM Serif',Georgia,serif}body{background:#fff;font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.8;color:var(--ink)}::selection{background:#d4e7f2;color:#102d43}h1,h2{font-family:var(--editorial);letter-spacing:-.035em;line-height:1.1;font-weight:400}h1 em,h2 em{font-family:var(--editorial);color:#356b8e;font-weight:400}h2{font-size:clamp(2.75rem,4.1vw,4.65rem)}p{color:#616e79}header{height:110px;max-width:none;background:#ffffffee;backdrop-filter:blur(16px);padding:0 4.4%;border-bottom:1px solid #e9edf0;transition:height .25s,box-shadow .25s}header.scrolled{box-shadow:0 5px 25px #12304c05}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:67px;height:67px}.brand-wordmark{font-family:Manrope,Arial,sans-serif;display:block;font-size:27px;font-weight:400;letter-spacing:-.06em;line-height:1.2}.brand-wordmark>span{display:block;font-size:9px;font-weight:600;letter-spacing:.27em;color:#4d7a98;line-height:2;margin-left:2px}header nav{gap:19px;margin:0 25px}header nav>a,.nav-toggle{font-size:12px;font-weight:500}.nav-toggle{gap:5px}.nav-toggle>span{color:#5685a1}.nav-panel{background:#fff;border:1px solid #e4e9ed;box-shadow:0 14px 40px #14394e12;border-radius:0;padding:15px}.nav-panel a{font-size:14px;padding:11px 14px;border-radius:0}.button{background:#163a54;border:1px solid #163a54;border-radius:0;padding:18px 24px;font-size:13px;font-weight:600;letter-spacing:.01em;gap:27px;line-height:1.4;min-height:54px;box-shadow:none}.button:hover{background:#225c81;border-color:#225c81;transform:translateY(-2px)}.button>span{font-size:19px}.button.small{padding:13px 17px;min-height:45px;white-space:nowrap;font-size:11px;gap:15px}.button.outline{background:white;color:var(--ink);border:1px solid #b8c7d1}.button.outline:hover{background:#163a54;color:white}.text-link{font-size:12px;border-bottom:1px solid #aebfc9;padding-bottom:5px;line-height:1.6}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:600;color:#4d6a7e;margin-bottom:27px}.editorial-hero{display:grid;grid-template-columns:1.09fr 1fr;min-height:0;margin:0;padding:65px 4.4% 0;gap:0 4%;background:white;position:relative}.hero-copy{padding:20px 0 48px 0;min-width:0}.hero-kicker{display:flex;gap:25px;align-items:center;margin-bottom:43px}.hero-kicker .eyebrow{font-size:10px;margin:0;letter-spacing:.16em}.location-label{font-size:9px;letter-spacing:.12em;border-left:1px solid #d4dee5;padding-left:23px;color:#798792;white-space:nowrap}.editorial-hero h1{font-size:clamp(3.7rem,5.7vw,6.6rem);line-height:1.065;letter-spacing:-.042em;margin:0 0 30px}.hero-copy>p{font-size:15px;line-height:1.9;max-width:none;margin-bottom:32px}.hero-actions{gap:27px;flex-wrap:wrap}.hero-signature{display:flex;gap:17px;align-items:center;margin-top:46px}.signature-line{display:block;width:43px;height:1px;background:#65889f}.hero-signature>span:last-child{font-size:10px;font-weight:500;line-height:1.85;letter-spacing:.08em;color:#6e818f}.hero-visual{margin:0;position:relative;min-height:0;align-self:stretch;overflow:visible;background:#f2f7fa}.editorial-hero .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 48%;transition:transform 1.3s ease}.hero-visual:after{display:none}.hero-visual figcaption{position:absolute;left:24px;right:24px;bottom:22px;padding-top:16px;border-top:1px solid #fff9;display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:1;color:#15364f}.hero-visual figcaption>span{font-size:9px;letter-spacing:.12em;font-weight:600}.hero-visual figcaption small{font-size:10px;line-height:1.4;color:#385267}.hero-image-rule{position:absolute;left:-12px;top:25px;width:24px;height:1px;background:#7096ad}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:35px;padding:19px 0;gap:20px}.hero-bottom>span{font-size:9px;letter-spacing:.15em;color:#6e7c86}.hero-bottom a{font-size:11px;display:flex;gap:20px}.hero-bottom a span{color:#467b9c;font-size:18px}.section{padding:100px 6.5%;background:#fff}.section-heading{align-items:flex-end;gap:60px;margin-bottom:48px}.section-heading>p{font-size:14px;line-height:1.9;max-width:340px;margin:0 0 6px}.section-heading .eyebrow{margin-bottom:23px}.treatment-editorial{display:grid;grid-template-columns:1fr 1.15fr;gap:6%}.consultation-frame{margin:0;position:relative;min-height:540px;background:#f5f7f8;overflow:hidden}.consultation-frame img{position:absolute;inset:0;height:100%;object-position:56% 50%;transition:transform 1.2s}.consultation-frame:hover img{transform:scale(1.025)}.consultation-frame figcaption{position:absolute;bottom:0;left:0;right:0;background:#ffffffee;backdrop-filter:blur(8px);padding:17px 22px;display:flex;justify-content:space-between;gap:15px;align-items:center}.consultation-frame figcaption>span{font-size:9px;letter-spacing:.14em}.consultation-frame figcaption small{font-size:10px;color:#72818d}.treatment-rows{border-top:1px solid #b4c6d1}.treatment-row{display:flex;gap:25px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line);transition:padding .25s,background .25s}.treatment-row:hover{padding-left:12px;background:#fafcfd}.row-number{font-size:11px;color:#7e96a6;align-self:flex-start;margin-top:8px;min-width:18px}.treatment-row h3{font-family:var(--editorial);font-size:32px;letter-spacing:-.02em;line-height:1.15;margin-bottom:10px}.treatment-row p{font-size:13px;line-height:1.7;margin:0}.row-arrow{margin-left:auto;padding-left:10px;font-size:23px;color:#5b8098}.all-treatments{display:flex;justify-content:space-between;font-size:12px;padding:23px 0;gap:25px;color:#385a71}.all-treatments:hover{color:#1d7aa5}.about{background:#fff;grid-template-columns:1fr 1fr;padding:30px 6.5% 100px;gap:8%;align-items:center}.about-photo{height:630px;max-height:none;background:#f1f3f5;position:relative}.about-photo img{object-position:center 25%;height:100%}.about-copy{padding:15px 0;align-self:center}.about h2{margin-bottom:30px}.about p{font-size:14px;line-height:1.95;max-width:470px}.doctor{padding:23px 0;margin-top:32px;border-color:var(--line)}.doctor strong{font-family:var(--editorial);font-size:27px}.doctor span{font-size:12px;color:#70808b}.about .button{margin-top:10px}.clinic{border-top:1px solid var(--line);padding-top:85px}.architectural-gallery{display:grid;grid-template-columns:1.08fr 1fr 1fr;gap:26px}.architectural-gallery figure{padding:0!important}.architectural-gallery figure:nth-child(2){margin-top:65px}.architectural-gallery figure:nth-child(3){margin-top:125px}.architectural-gallery img,.architectural-gallery figure:nth-child(2) img{height:420px;width:100%;object-fit:cover;object-position:center 50%}.architectural-gallery figcaption{font-size:12px;color:#627481;line-height:1.8;padding-top:18px}.architectural-gallery figcaption span{display:block;font-size:9px;letter-spacing:.15em;color:#3c6079;margin-bottom:6px}.journey{background:#fff;color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:80px;padding-bottom:75px}.journey em{color:#356b8e}.journey h2{font-size:clamp(2.4rem,3.8vw,4rem)}.steps{gap:55px;margin-top:50px}.steps>div{border-color:#d7e0e6;padding-top:20px}.steps span{color:#7994a5;font-size:11px}.steps h3{font-family:var(--editorial);font-size:27px;margin:23px 0 16px}.steps p{font-size:14px;line-height:1.9;color:#677681;max-width:none}.articles{gap:35px}.article{border:0;border-top:1px solid #beced8;background:#fff;padding:26px 0 18px;border-radius:0;transition:border-color .25s}.article:hover{background:#fff;border-color:#153e5a}.article .eyebrow{font-size:10px;letter-spacing:.08em;color:#7c909e}.article h3{font-family:var(--editorial);font-size:29px;margin:16px 0 24px;line-height:1.25;letter-spacing:-.02em}.article p{font-size:14px;line-height:1.9}.article .service-link{font-size:12px;margin-top:24px;border-top:1px solid #edf1f4;padding-top:18px}.contact{background:white;color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:85px 6.5%;gap:9%}.contact>div>p{font-size:15px;line-height:1.9}.contact h2{font-size:clamp(3rem,4.6vw,5rem)}.contact-details{border-color:var(--line);padding-left:50px}.contact-details h3{font-family:var(--editorial);font-size:31px}.contact-details address{font-size:14px;line-height:2}.contact-grid{border-color:var(--line)}.contact-grid span{font-size:10px;letter-spacing:.15em}.contact-grid p{font-size:13px}footer{background:#fff;color:#223f52;padding:65px 6.5% 28px}footer .wordmark{font-family:Manrope,Arial,sans-serif;color:#203f56;font-size:39px}footer .wordmark span{color:#477994;font-size:10px}footer p{color:#6a7a86;font-size:13px}footer h3{font-size:12px;color:#466275}.footer-top{grid-template-columns:1.2fr .9fr 1.2fr;gap:60px}.footer-bottom{border-color:var(--line);color:#73838e;font-size:11px;padding-top:24px;padding-bottom:35px}.footer-bottom .privacy-settings{font-size:11px}.floating{background:#fff;color:#173d56;border:1px solid #bdccd6;box-shadow:0 6px 25px #1e425316;border-radius:0;padding:12px 17px;right:22px;bottom:22px;font-size:12px}.floating:hover{background:#163a54;color:white}.consent{border-radius:0;box-shadow:0 0 50px #082e4a16;padding:22px;bottom:12px}.consent .button{min-height:42px}.consent>button{border-radius:0!important}.treatment-hero{background:#fff;padding:65px 6.5%;gap:6%;grid-template-columns:1.1fr 1fr;border-bottom:1px solid var(--line)}.treatment-hero>div{padding:0}.treatment-hero h1{font-size:clamp(3rem,4.8vw,5.3rem)}.treatment-hero p{font-size:15px;line-height:1.9}.treatment-hero>img{height:100%;min-height:530px;object-position:58% center}.treatment-body{gap:8%}.treatment-body h3{font-family:var(--editorial);font-size:28px}.treatment-body p{font-size:15px;line-height:1.9}.faq{background:white;border-top:1px solid var(--line)}.faq details{border-color:var(--line);padding:25px 0}.faq summary{font-size:16px}.faq details p{font-size:15px}.reading{max-width:1000px;padding-top:70px;padding-bottom:80px}.reading h1{font-family:var(--editorial);line-height:1.15;font-size:clamp(2.8rem,4.5vw,4.4rem)}.legacy-content{line-height:1.9}.legacy-content h2,.legacy-content h3,.legacy-content h4{font-family:var(--editorial);font-size:29px;letter-spacing:-.02em}.legacy-content p{font-size:16px;line-height:1.95}.archive-note{background:#fff;border:1px solid #e0e8ed;border-left:2px solid #9dbaca;padding:22px 25px}.archive-note p{font-size:13px}.archive-note strong{font-size:13px}.article-meta{font-size:12px;letter-spacing:.02em}.blog-utility{font-size:12px;gap:25px;margin-top:35px}.blog-utility a{font-size:12px}.blog-intro>h1{font-size:clamp(3rem,5vw,5.2rem)}.blog-intro>.articles{margin-top:40px}.pagination a{border-radius:0;font-size:14px}.pagination a[aria-current]{background:#163a54}.current-doctor{background:#fff;border:1px solid #dce6ec;border-left:2px solid #85a7bd}.current-doctor h2{font-family:var(--editorial)}.directory-photo{margin:35px 0 45px;position:relative}.directory-photo img{height:340px;object-fit:cover;object-position:center 50%}.directory-photo figcaption{font-size:10px;color:#84939d;margin-top:10px;text-align:right}.services{border-color:var(--line)}.service{border-color:var(--line)}.service:hover{background:#fcfdfe}.service h3{font-family:var(--editorial)}.legal{background:#fff}.legal h2{font-family:var(--editorial);font-size:28px}.contact-heading{padding-bottom:25px}.treatment-directory a{font-family:var(--editorial);font-size:24px;line-height:1.3;padding:23px 0}.history-heading,.history-profiles h2{font-family:var(--editorial)}
@media(min-width:1600px){.editorial-hero{padding-top:80px;gap:5%;grid-template-columns:1fr 1fr}.hero-copy{padding-bottom:65px}.editorial-hero h1{font-size:7.1rem}.hero-kicker{margin-bottom:48px}.hero-visual{min-height:0}.hero-copy>p{font-size:17px}.section,.contact{padding-left:8%;padding-right:8%}.about{padding-left:8%;padding-right:8%}.hero-signature{margin-top:55px}}
@media(max-width:1320px){.brand-wordmark{display:none}header nav{gap:16px;margin:0 20px}.editorial-hero h1{font-size:5.5vw}.hero-kicker{gap:13px}.location-label{padding-left:13px;font-size:8px}.hero-kicker .eyebrow{font-size:9px}.hero-actions{gap:18px}.hero-copy{padding-bottom:35px}.hero-signature{margin-top:36px}.treatment-row{gap:18px;padding:24px 0}.treatment-row h3{font-size:29px}.consultation-frame{min-height:490px}.about-photo{height:570px}.architectural-gallery img,.architectural-gallery figure:nth-child(2) img{height:350px}}
@media(max-width:1200px){header{height:90px;padding:0 5%}.brand-wordmark{display:block}.brand img{width:61px;height:61px}header>.small{margin-left:auto;margin-right:20px}.button.small{padding:12px 18px;font-size:12px}header nav{top:90px;margin:0;max-height:calc(100dvh - 90px);padding:20px 6%;background:white}header nav>a,.nav-toggle{font-size:15px;white-space:normal}.nav-panel{padding:0 10px;border-left:1px solid #b8ceda}.nav-panel a{padding:12px}.menu{font-size:23px}.hero-visual figcaption{left:18px;right:18px;gap:10px;display:block}.hero-visual figcaption small{display:block;margin-top:5px}.hero-bottom>span{font-size:8px}.hero-copy>p{font-size:14px}.hero-actions>.text-link{font-size:11px}.hero-actions>.button{font-size:12px;padding:17px 20px}.treatment-editorial{gap:5%}.section{padding:80px 6%}.about{padding:10px 6% 80px;gap:6%}.about-photo{height:540px}.contact{padding:70px 6%;gap:5%}.contact-details{padding-left:30px}.treatment-hero{padding:45px 6%;gap:5%}}
@media(max-width:900px){.editorial-hero{padding-top:40px;gap:4%;grid-template-columns:1.05fr 1fr}.hero-kicker{display:block;margin-bottom:30px}.location-label{display:block;border:0;padding:8px 0 0;letter-spacing:.13em;font-size:9px}.editorial-hero h1{font-size:5.8vw}.hero-copy{padding-top:5px}.hero-actions{flex-direction:column;align-items:flex-start;gap:18px}.hero-signature{margin-top:30px}.hero-bottom>span:last-child{display:none}.section-heading>p{max-width:280px}.treatment-editorial{grid-template-columns:.9fr 1fr}.treatment-row h3{font-size:25px}.treatment-row p{font-size:12px}.row-number{display:none}.about-photo{height:500px}.about h2{font-size:3.2rem}.about p{font-size:13px}.architectural-gallery{gap:17px}.architectural-gallery img,.architectural-gallery figure:nth-child(2) img{height:290px}.architectural-gallery figure:nth-child(3){margin-top:80px}.architectural-gallery figure:nth-child(2){margin-top:40px}.articles{gap:25px}.article h3{font-size:25px}.treatment-hero>img{min-height:500px}.footer-top{gap:30px}}
@media(max-width:760px){header{height:85px;padding:0 5%}.brand img{width:55px;height:55px}.brand-wordmark{font-size:22px}.brand-wordmark>span{font-size:7px}.brand{gap:8px}.button.small{font-size:10px;padding:10px 12px;min-height:40px;gap:8px}header>.small{margin-right:10px}.menu{padding:8px;font-size:22px}header nav{top:85px;max-height:calc(100dvh - 85px);padding:15px 7%}.nav-toggle{padding:14px 0}.editorial-hero{display:flex;flex-direction:column;padding:35px 6% 0;gap:0}.hero-copy{padding:0 0 35px}.hero-kicker{display:flex;justify-content:space-between;align-items:center;margin-bottom:31px;gap:12px}.hero-kicker .eyebrow{font-size:9px;letter-spacing:.12em}.location-label{font-size:8px;padding:0;letter-spacing:.07em}.editorial-hero h1{font-size:clamp(3.25rem,10.8vw,5.2rem);line-height:1.07;margin-bottom:24px}.editorial-hero h1 br{display:block!important}.hero-copy>p{font-size:14px;line-height:1.9;margin-bottom:26px}.hero-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:22px}.hero-actions>.button{font-size:11px;padding:16px 18px;min-height:49px;gap:20px}.hero-actions>.text-link{font-size:10px}.hero-signature{margin-top:29px;gap:15px}.signature-line{width:30px}.hero-signature>span:last-child{font-size:8px;letter-spacing:.1em}.hero-visual{width:100%;height:360px;min-height:0;align-self:auto}.editorial-hero .hero-photo{object-position:65% center}.hero-visual figcaption{left:19px;right:19px;bottom:18px;display:flex;align-items:center}.hero-visual figcaption>span{font-size:8px}.hero-visual figcaption small{font-size:9px;margin-top:0}.hero-image-rule{top:20px;left:-8px;width:16px}.hero-bottom{margin-top:23px;padding:15px 0;gap:15px}.hero-bottom>span{font-size:7px;letter-spacing:.09em;max-width:140px}.hero-bottom a{font-size:10px;gap:15px}.section{padding:65px 7%}.eyebrow{font-size:10px;letter-spacing:.15em;margin-bottom:23px}h2{font-size:2.8rem;line-height:1.1}.section-heading{display:block;margin-bottom:33px}.section-heading>p{max-width:none;font-size:14px;line-height:1.9;margin-top:23px}.section-heading .text-link{margin-top:25px;font-size:12px}.treatment-editorial{grid-template-columns:1fr;gap:28px}.consultation-frame{height:300px;min-height:0}.consultation-frame img{object-position:55% 50%}.consultation-frame figcaption{padding:14px 17px}.consultation-frame figcaption span{font-size:8px}.consultation-frame figcaption small{font-size:9px}.treatment-row{padding:24px 0;gap:18px}.row-number{display:block;font-size:10px;margin-top:5px}.treatment-row h3{font-size:29px;line-height:1.15;margin-bottom:9px}.treatment-row p{font-size:13px;line-height:1.7}.row-arrow{font-size:20px;padding-left:4px}.all-treatments{font-size:12px;padding:21px 0}.about{display:flex;flex-direction:column;padding:10px 7% 65px;gap:35px}.about-photo{width:100%;height:460px}.about-photo img{object-position:center 24%}.about-copy{padding:0;width:100%}.about h2{font-size:2.9rem}.about p{font-size:14px;max-width:none;line-height:1.9}.doctor{margin-top:25px}.about .button{font-size:12px}.clinic{padding-top:60px}.architectural-gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px 16px}.architectural-gallery figure:nth-child(1){grid-column:1/-1}.architectural-gallery figure:nth-child(2),.architectural-gallery figure:nth-child(3){margin-top:0}.architectural-gallery figure:nth-child(1) img{height:380px;object-position:center 44%}.architectural-gallery figure:nth-child(2) img,.architectural-gallery figure:nth-child(3) img{height:260px}.architectural-gallery figcaption{font-size:11px;padding-top:13px;line-height:1.7}.architectural-gallery figcaption span{font-size:8px;letter-spacing:.12em;margin-bottom:5px}.journey{padding-top:60px;padding-bottom:50px}.journey h2{font-size:2.55rem}.steps{gap:25px;margin-top:35px}.steps h3{font-size:28px;margin:15px 0}.steps p{font-size:14px;margin-bottom:0}.articles{gap:22px}.article{padding:24px 0 8px}.article h3{font-size:29px;line-height:1.2;margin:14px 0 18px}.article p{font-size:14px;margin-bottom:10px}.article .service-link{margin-top:16px;padding-top:13px}.contact{padding:60px 7%;gap:35px}.contact h2{font-size:3.3rem}.contact>div>p{font-size:14px}.contact-details{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:32px}.contact-details h3{font-size:29px;margin-bottom:22px}.contact-details address{font-size:14px}.contact-grid{margin-top:30px;gap:22px;flex-direction:row}.contact-grid span{font-size:9px}.contact-grid p{font-size:12px}footer{padding:50px 7% 24px}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-top>div:last-child{grid-column:1/-1}.footer-bottom{padding-bottom:65px;font-size:10px}.floating{right:15px;bottom:15px;padding:10px 14px;font-size:11px}.floating svg{width:21px;height:21px}.consent{padding:18px;gap:10px}.consent p{font-size:12px}.consent>button{font-size:11px;white-space:normal}.treatment-hero{display:flex;flex-direction:column;padding:40px 7%;gap:35px}.treatment-hero h1{font-size:3rem}.treatment-hero>img{height:300px;min-height:0;object-position:center}.treatment-hero>div{padding:0}.treatment-body h3{font-size:27px}.treatment-body p{font-size:15px}.reading{padding-top:40px}.reading h1{font-size:2.65rem;line-height:1.16}.legacy-content h2,.legacy-content h3,.legacy-content h4{font-size:25px}.legacy-content p{font-size:16px;line-height:1.9}.directory-photo img{height:250px}.archive-note{padding:18px}.archive-note p{font-size:12px}.blog-intro>h1{font-size:3rem}.blog-utility{gap:13px 20px}.blog-utility a{font-size:11px}.treatment-directory a{font-size:24px}.contact-heading{padding-bottom:20px}}
@media(max-width:380px){.brand-wordmark{display:none}.hero-kicker{gap:8px}.hero-kicker .eyebrow{font-size:8px}.location-label{font-size:7px}.editorial-hero h1{font-size:3rem}.hero-actions{gap:16px}.hero-visual{height:310px}.hero-bottom>span{max-width:105px}.contact-grid{flex-direction:column}.treatment-row h3{font-size:26px}.hero-visual figcaption{display:block}.hero-visual figcaption small{margin-top:4px}}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:editorial-entry .7s ease-out both}.hero-visual{animation:editorial-entry .85s .06s ease-out both}@keyframes editorial-entry{from{opacity:.4;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
/* ============================================================================
   ESCALA TIPOGRAFICA — camada final (Visivia, 06/09/2026)
   ----------------------------------------------------------------------------
   SUBSTITUI o bloco anterior "Keep the editorial scale legible on every viewport".
   As regras que NAO eram de tamanho (letter-spacing, flex, alturas, margens) foram
   preservadas na integra mais abaixo; so os font-size foram reescritos.

   POR QUE: o site tinha manchete de ate 113px convivendo com 171 trechos de texto
   em 12, 13 e 14px — cinco degraus (12/13/14/15/16) espremidos num intervalo de
   1,33x, o que nao produz hierarquia, produz borrao. E o publico da Personal e o
   morador da Mooca de 60 anos ou mais (19,8% -> 26,5% da subprefeitura, SEADE) que
   procura protese e implante. Texto de 12px e a pagina que ele nao consegue ler.

   COMO: quatro degraus com papel declarado, em rem — assim a escala respeita o
   tamanho de fonte que a pessoa configurou no proprio navegador, o que px ignora.
   Nada de layout muda: so o tamanho do texto.
   ============================================================================ */
:root{
  --t-micro:.8125rem; /* 13px — rotulo em caixa alta com tracking, legenda de foto */
  --t-ui:1rem;        /* 16px — navegacao, botao, link de acao, contato, rodape    */
  --t-body:1.125rem;  /* 18px — todo paragrafo de apoio                            */
  --t-read:1.25rem;   /* 20px — corpo de leitura longa (artigos do blog)           */
}

/* --- MICRO: rotulo em caixa alta, numeracao e legenda de imagem --------------- */
.eyebrow,.hero-kicker .eyebrow,.location-label,.hero-signature>span:last-child,
.hero-bottom>span,.hero-visual figcaption>span,.hero-visual figcaption small,
.consultation-frame figcaption>span,.consultation-frame figcaption small,
.article .eyebrow,.architectural-gallery figcaption,.architectural-gallery figcaption span,
.contact-grid span,.directory-photo figcaption,.gallery figcaption,
.row-number,.steps span,.index,.values,.vertical-label,.hero-proof>span:last-child,
.photo-tag span,.doctor span,.article-meta{font-size:var(--t-micro)}

/* --- UI: tudo que a pessoa clica, mais contato e rodape ----------------------- */
header nav>a,.nav-toggle,.nav-panel a,
.button,.button.small,.button.outline,.hero-actions>.button,.legal .button,
.text-link,.hero-actions>.text-link,.section-heading .text-link,
.all-treatments,.service-link,.article .service-link,.blog-utility,.blog-utility a,
.hero-bottom a,
.pagination a,.breadcrumb,.floating,
.contact-details address,.contact-grid p,
footer p,footer h3,footer .footer-top>div>a:not(.wordmark),
.footer-bottom,.footer-bottom .privacy-settings,.privacy-settings,
.consent p,.consent>button,.archive-note p,.archive-note strong,
.clinical-note,.blog-note p{font-size:var(--t-ui)}

/* --- BODY: paragrafo de apoio ------------------------------------------------- */
.hero-copy>p,.section-heading>p,.treatment-row p,.about p,.steps p,.article p,
.contact>div>p,.treatment-hero p,.treatment-body p,.intro-text,
summary,.faq summary,.faq details p{font-size:var(--t-body)}

/* --- READ: leitura longa ------------------------------------------------------ */
.legacy-content,.legacy-content p,.legacy-content li{font-size:var(--t-read)}

/* --- Logotipo. Nao e texto de conteudo, e um lockup: o subtitulo precisa caber
       na largura da palavra "Personal". Ainda assim 9px (e 7px no celular) era
       ilegivel; sobe ao maximo que o lockup comporta. ---------------------------- */
.brand-wordmark>span{font-size:.625rem}      /* 10px — cabe sob "Personal" de 27px */
footer .wordmark span{font-size:.75rem}      /* 12px — o lockup do rodape e maior (39px) e comporta */

/* --- Alinhamento da navegacao. Os <a> sao filhos diretos de um flex com
       align-items padrao (stretch): esticavam ate a altura do .nav-group (51px) e
       o texto ficava colado no topo, ~9px acima de "Quem somos" e "Tratamentos",
       que sao botoes centralizados. O menu ficava visivelmente torto. ----------- */
header nav{align-items:center}

/* --- Regras NAO tipograficas herdadas do bloco anterior, preservadas ---------- */
.hero-kicker{flex-wrap:wrap;gap:10px 20px}
.hero-bottom>span{letter-spacing:.07em}
.hero-visual figcaption{flex-wrap:wrap}
.hero-visual figcaption small{color:#254862}
.hero-signature>span:last-child{letter-spacing:.035em}
.hero-kicker .eyebrow{letter-spacing:.1em}
.location-label{letter-spacing:.05em}

@media(max-width:1320px){
  .hero-bottom>span:last-child{display:none}
  .hero-signature{margin-top:30px}
}

/* --- Cabecalho no celular. Medido: com o CTA em 16px, o conjunto logo + lockup
       "Personal ODONTOLOGIA" + botao + hamburguer nao cabe numa tela de 390px — o
       hamburguer saia inteiro para fora e a pagina ganhava 35px de rolagem lateral.
       O proprio design ja resolvia isso escondendo o lockup, mas so abaixo de 380px.
       Subir o limite para 480px devolve o cabecalho inteiro na tela: o selo circular
       da marca ja traz a palavra "Personal", e o que a pessoa precisa enxergar no
       celular e o botao de agendar. Verificado com rolagem lateral ZERO de 320px a
       768px. --------------------------------------------------------------------- */
@media(max-width:480px){
  .brand-wordmark{display:none}
  /* clinicapersonalodontologia@gmail.com tem 37 caracteres sem ponto de quebra: a 18px
     ele precisa de 330px e so ha 311px na coluna do celular, entao quebrava no meio da
     palavra e sobrava um "m." orfao numa linha so. A 16px ocupa 294px e cabe inteiro.
     Vale so para o endereco de e-mail, o resto do paragrafo continua em 18px. */
  a[href^="mailto:"]{font-size:var(--t-ui)}
}
@media(max-width:360px){
  /* Telas de 320-360px (iPhone SE) ainda ficavam 1px acima do limite. */
  .button.small{font-size:.875rem}
}

@media(max-width:760px){
  /* Leitura longa cede um degrau: 20px numa coluna de ~340px deixaria a linha
     curta demais. Os demais degraus NAO diminuem — tela pequena e onde o texto
     grande mais importa. */
  :root{--t-read:1.1875rem} /* 19px */
  .hero-kicker{display:block}
  .location-label{padding-top:8px}
  .hero-bottom>span{max-width:180px}
  .hero-visual figcaption{display:block}
  .hero-visual figcaption small{margin-top:7px}
  .hero-actions{gap:22px}
  .treatment-row{gap:15px}
  .treatment-row h3{font-size:29px}
  .row-number{display:none}
  .contact-grid{flex-wrap:wrap}
  .consultation-frame figcaption{flex-wrap:wrap;gap:5px}
  .hero-visual{height:390px}
}
