/* Páginas editoriais de SEO: foco em atendimento particular e boa leitura mobile. */
:root { --plum:#311a3b; --gold:#a77636; --green:#15543f; --paper:#faf6ec; --ink:#302534; }
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.72}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:3px solid #c48d38;outline-offset:4px}
.seo-skip{position:fixed;top:-100px;left:12px;background:#fff;color:#201528;padding:12px;z-index:100}
.seo-skip:focus{top:12px}
img{max-width:100%}
.seo-header{background:#fffaf1;border-bottom:1px solid #e7d5bd;position:sticky;top:0;z-index:12}
.seo-header-in{max-width:1110px;margin:auto;padding:10px 20px;display:flex;align-items:center;gap:14px;min-height:72px}
.seo-brand{display:flex;align-items:center;gap:9px;text-decoration:none;min-width:0}
.seo-brand img{width:47px;height:47px;flex:none;object-fit:contain}
.seo-brand span{font-family:'Merriweather',Georgia,serif;font-size:clamp(14px,3.8vw,19px);line-height:1.25;font-weight:700;white-space:normal}
.seo-header-nav{margin-left:auto;display:flex;align-items:center;gap:18px}
.seo-header-nav a{font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}
.seo-header-nav a:hover,.seo-footer a:hover{color:#a6722e;text-decoration:underline}
.seo-button{background:var(--green);color:#fff!important;text-decoration:none;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:13px 18px;font-family:'Inter',sans-serif;font-size:15px;font-weight:700;line-height:1.4;text-align:center}
.seo-button:hover{background:#21694f}
.seo-shell{max-width:1100px;margin:auto;padding:0 20px}
.seo-crumb{padding:25px 0 7px;color:#755b43;font-size:13px;line-height:1.5}
.seo-crumb a{text-underline-offset:3px}
.seo-hero{background:#2b1934;color:#fef9ef}
.seo-hero-in{max-width:1100px;margin:0 auto;padding:46px 20px;display:grid;gap:25px}
.seo-kicker{font-size:11px;font-weight:700;letter-spacing:.13em;color:#ebc795;line-height:1.5}
.seo-hero h1{font-family:'Merriweather',Georgia,serif;font-size:clamp(32px,8.5vw,50px);line-height:1.21;letter-spacing:-.02em;margin:16px 0 19px;font-weight:700}
.seo-lead{font-size:clamp(16px,4.4vw,19px);line-height:1.72;color:#f0e5ed;margin:0 0 22px}
.seo-support{margin-top:16px;font-size:13px;line-height:1.6;color:#e2cfc4}
.seo-hero-figure{margin:0;align-self:start;background:#d7b897;overflow:hidden;border-radius:8px}
.seo-hero-figure img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 35%}
.seo-hero-figure figcaption{background:#f1e3cf;color:#655039;padding:9px 13px;font-size:12px;line-height:1.5}
.seo-article{display:grid;gap:25px;padding:39px 0 57px}
.seo-article section{padding-bottom:28px;border-bottom:1px solid #dfcfb7}
.seo-article section h2{font:700 clamp(23px,6vw,31px)/1.34 'Merriweather',Georgia,serif;margin:0 0 14px;letter-spacing:-.01em;color:#332038}
.seo-article section p{font-size:17px;line-height:1.8;color:#4e424e;margin:0}
.seo-sidebar{background:#f0e6d6;border:1px solid #dec6a9;border-radius:8px;padding:24px;align-self:start}
.seo-sidebar h2{font:700 22px/1.35 'Merriweather',Georgia,serif;margin:0 0 16px}
.seo-sidebar p{font-size:15px;line-height:1.65;margin:0 0 17px}
.seo-sidebar .seo-button{width:100%}
.seo-side-list{display:grid;gap:12px;margin-top:24px;padding-top:19px;border-top:1px solid #d5b994}
.seo-side-list strong{font-size:13px;text-transform:uppercase;letter-spacing:.07em}
.seo-side-list a{font-size:15px;font-weight:600;text-underline-offset:3px}
.seo-faq{background:#eee4d6;padding:40px 0 48px}
.seo-faq h2{font:700 29px/1.3 'Merriweather',Georgia,serif;margin:0 0 20px}
.seo-faq details{padding:17px 0;border-bottom:1px solid #cdb79e}
.seo-faq summary{cursor:pointer;font-weight:700;font-size:16px;line-height:1.5}
.seo-faq details p{margin:12px 0 0;color:#534653;font-size:16px;line-height:1.75}
.seo-next{padding:46px 0 54px;background:#fffaf2}
.seo-next h2{font:700 25px/1.35 'Merriweather',Georgia,serif;margin:0 0 16px}
.seo-next-links{display:flex;flex-wrap:wrap;gap:10px}
.seo-next-links a{border:1px solid #ccb18c;border-radius:6px;padding:10px 13px;text-decoration:none;font-size:14px;font-weight:700;background:#f4ebdd}
.seo-next-links a:hover{background:#e9d7bf}
.seo-footer{background:#1b1221;color:#f2e8ef;padding:32px 0 105px}
.seo-footer-in{display:grid;gap:16px}
.seo-footer strong{font:700 19px 'Merriweather',serif}
.seo-footer p{font-size:13px;line-height:1.7;color:#d7c8d4;margin:0}
.seo-footer-links{display:flex;gap:18px;flex-wrap:wrap}
.seo-footer a{color:#efcf9f;font-size:14px}
.seo-mobile-cta{position:fixed;bottom:0;left:0;right:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#fffbf4;box-shadow:0 -5px 24px #20132630;z-index:18}
.seo-mobile-cta .seo-button{width:100%;min-height:50px}
@media(min-width:720px){
 .seo-header-in{min-height:81px;padding:12px 28px}
 .seo-shell{padding:0 30px}
 .seo-header-nav{gap:20px}
 .seo-hero-in{grid-template-columns:1.05fr .95fr;align-items:center;padding:62px 30px;gap:45px}
 .seo-hero h1{font-size:clamp(36px,4.1vw,53px)}
 .seo-hero-figure img{aspect-ratio:4/4.1}
 .seo-article{grid-template-columns:minmax(0,1.65fr) minmax(260px,.85fr);gap:65px;padding:65px 0 77px}
 .seo-sidebar{position:sticky;top:100px}
 .seo-faq{padding:56px 0}
 .seo-next{padding:60px 0}
 .seo-footer{padding-bottom:30px}
 .seo-mobile-cta{display:none}
}
@media(max-width:760px){
 .seo-header-nav>a:not(.seo-button){display:none}
 .seo-header-nav .seo-button{padding:10px 12px;min-height:45px;font-size:12px}
 .seo-article{gap:12px}
}
@media(max-width:330px){
 .seo-brand img{width:39px;height:39px}
 .seo-brand span{font-size:13px}
 .seo-header-in{gap:5px}
 .seo-header-nav .seo-button{font-size:11px;padding:8px 9px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Identidade pessoal — logotipo transparente */
.seo-header{background:#1c0b25;border-bottom:1px solid #60436a;}
.seo-brand{flex-shrink:0;line-height:0;}
.seo-brand img{width:clamp(180px,24vw,300px);height:auto;max-height:70px;object-fit:contain;object-position:left center;}
.seo-header-nav>a:not(.seo-button){color:#f2e6ec;}
@media(max-width:760px){.seo-brand img{width:clamp(165px,52vw,230px);height:auto;max-height:58px}}

/* Domínio estilizado no header: traços laterais, texto nítido e responsivo */
.brand-lockup{position:relative;display:block;width:min(100%,350px);aspect-ratio:2091/707;flex:none;}
.brand-lockup .brand-logo-header,.seo-brand .brand-lockup img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;}
.brand-lockup .brand-domain{position:absolute;left:17.7%;right:7.8%;top:67%;height:24%;background:#1c0b25;color:#fff4e9;display:flex;justify-content:center;align-items:center;gap:8px;font-family:Georgia,'Noto Serif',serif;font-size:clamp(12px,1.1vw,17px);line-height:1;letter-spacing:.08em;white-space:nowrap;font-weight:500;}
.brand-domain i{display:block;flex:1 1 0;max-width:38px;height:1px;background:linear-gradient(90deg,transparent,#d8ad65);}
.brand-domain i:last-child{background:linear-gradient(90deg,#d8ad65,transparent);}
@media(max-width:1099px){.brand-lockup{width:min(100%,350px)}.brand-lockup .brand-domain{font-size:clamp(10px,2.9vw,15px);gap:5px}}
@media(max-width:360px){.brand-lockup .brand-domain{font-size:10px;letter-spacing:0.03em;gap:4px}.brand-domain i{max-width:15px}}

/* Brand lockup v3: remove o subtitulo antigo sem cobrir o traco ou selo. */
.site-header{height:130px!important;}
.site-header .desktop-nav{top:130px;}
.brand-lockup{position:relative;display:block;width:min(100%,350px);aspect-ratio:2091/760!important;overflow:hidden;}
.brand-lockup .brand-logo-header,.seo-brand .brand-lockup img{display:block;width:100%;height:auto;max-height:none!important;object-fit:contain;}
.brand-lockup::after{content:"";position:absolute;z-index:1;left:15.5%;right:7.4%;top:63%;bottom:0;background:#1c0b25;pointer-events:none;}
.brand-lockup .brand-domain{z-index:2;position:absolute;top:65%;left:16%;right:7.5%;height:29%;display:flex;align-items:center;justify-content:center;background:transparent;color:#fff3e5;font:500 clamp(16px,4.4vw,22px)/1.1 Georgia,serif;letter-spacing:.02em;gap:8px;white-space:nowrap;}
.brand-lockup .brand-domain i{flex:1 1 0;max-width:32px;min-width:8px;height:1px;background:#d8ad65;}
@media(max-width:599px){.site-header{height:124px!important}.site-header .desktop-nav{top:124px}.brand-lockup .brand-domain{font-size:clamp(15px,4.4vw,20px);gap:6px}}
@media(min-width:600px) and (max-width:1099px){.site-header{height:130px!important}.site-header .desktop-nav{top:130px}}
@media(min-width:1100px){.site-header{height:110px!important}.brand-lockup .brand-domain{font-size:18px}}
@media(max-width:359px){.site-header{height:110px!important}.site-header .desktop-nav{top:110px}.brand-lockup .brand-domain{font-size:15px;letter-spacing:0}}
.brand-lockup::after{left:12.5%;right:6%;}

/* Rodape premium e menu mobile — identidade Dr. Marcio Miyamoto */
.site-footer,.seo-footer{background:#190b22;color:#f5edf4;padding:45px 0 38px;border-top:1px solid #63456a;}
.footer-layout-new,.seo-footer-in{display:grid;grid-template-columns:1fr;gap:28px;align-items:start;}
.footer-brand-new,.seo-footer-brand{display:grid;gap:5px;}
.footer-identity,.seo-footer-logo{display:inline-block;width:min(100%,320px);text-decoration:none;line-height:0;}
.footer-brand-new .brand-lockup,.seo-footer-logo .brand-lockup{width:min(100%,320px);display:block;}
.footer-brand-new p,.seo-footer-brand p{color:#d4c2dc;font-size:14px;line-height:1.5;margin:0;}
.footer-columns,.seo-footer-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.footer-column,.seo-footer-column{display:flex;flex-direction:column;gap:11px;min-width:0;}
.footer-column h2,.seo-footer-column h2{font:700 17px/1.4 'Inter',sans-serif;color:#e8c48b;margin:0 0 3px;}
.footer-column a,.seo-footer-column a{font:500 14px/1.55 'Inter',sans-serif;color:#f5edf4;text-decoration:none;overflow-wrap:anywhere;}
.footer-column a:hover,.seo-footer-column a:hover{color:#f3cf91;text-decoration:underline;}
.footer-cta,.seo-footer-cta{display:flex;justify-content:center;align-items:center;gap:10px;background:#1b6046;color:#fff;border:1px solid #297b5a;border-radius:8px;min-height:52px;padding:12px 18px;font:700 15px/1.4 'Inter',sans-serif;text-align:center;cursor:pointer;text-decoration:none;width:100%;}
.footer-cta:hover,.seo-footer-cta:hover{background:#257456;}
.footer-bottom,.seo-footer-bottom{border-top:1px solid #674f70;padding-top:22px;display:grid;gap:8px;}
.footer-bottom p,.seo-footer-bottom p{font:400 12px/1.7 'Inter',sans-serif;color:#cdbed3;margin:0;}
.footer-bottom a,.seo-footer-bottom a{color:#eac994;}
.footer-bottom .analytics-choice{margin-top:5px;color:#d2c3d7;}
@media(min-width:860px){
 .footer-layout-new,.seo-footer-in{grid-template-columns:minmax(260px,1fr) minmax(320px,1.4fr);gap:26px 52px;}
 .footer-columns,.seo-footer-columns{grid-column:2;grid-row:1;gap:30px;}
 .footer-brand-new,.seo-footer-brand{grid-column:1;grid-row:1;}
 .footer-cta,.seo-footer-cta{grid-column:1/-1;max-width:360px;justify-self:center;}
 .footer-bottom,.seo-footer-bottom{grid-column:1/-1;}
}
@media(max-width:1099px){
 .site-header .desktop-nav.nav-open{display:grid;grid-template-columns:1fr;gap:0;max-height:calc(100dvh - 130px);overflow-y:auto;overscroll-behavior:contain;padding:12px 20px 22px;background:#24132d;z-index:60;}
 .site-header .desktop-nav.nav-open a{color:#fff7f1;border-bottom:1px solid #ffffff2b;padding:16px 12px;font-size:18px;}
 .site-header .desktop-nav .nav-cta-mobile{display:flex;width:100%;align-items:center;justify-content:center;gap:9px;margin-top:17px;background:#1a6146;color:#fff;border:0;border-radius:8px;padding:15px 12px;font:700 15px/1.4 'Inter',sans-serif;}
}
@media(min-width:1100px){.site-header .nav-cta-mobile{display:none;}}
@media(max-width:599px){.site-header .desktop-nav.nav-open{max-height:calc(100dvh - 124px);}}
@media(max-width:359px){.site-header .desktop-nav.nav-open{max-height:calc(100dvh - 110px);}}

/* Rodape da pagina de servico tem CTA proprio: sem botao fixo cobrindo links */
.seo-mobile-cta{display:none!important;}

/* Tipografia editorial consistente com a pagina principal */
:root{--plum:#1b0b25;--gold:#d7b475;--green:#225e46;--paper:#f8f4ec;}
body{text-align:left;overflow-wrap:break-word;}
.seo-article p,.seo-lead,.seo-faq p{max-width:74ch;text-align:left;hyphens:auto;line-height:1.8;}
.seo-article h2,.seo-hero h1,.seo-faq h2{overflow-wrap:break-word;text-wrap:balance;}
.seo-footer-column a{min-height:28px;}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;}}

/* Correcao defensiva de largura e viewport em todas as paginas SEO */
html,body{width:100%;min-width:0;max-width:100%;overflow-x:clip;}
body{position:relative;margin:0;}
.seo-site{width:100%;min-width:0;max-width:100%;display:block;overflow-x:clip;}
.seo-site>main,.seo-site>.seo-header,.seo-site>.seo-footer,.seo-site>.seo-shell{width:100%;min-width:0;max-width:100%;}
.seo-header-in,.seo-hero-in,.seo-shell,.seo-footer-in{width:100%;min-width:0;box-sizing:border-box;}
.seo-hero,.seo-faq,.seo-next,.seo-footer{width:100%;min-width:0;}
.seo-hero-in>*,.seo-article>*,.seo-footer-in>*,.seo-header-in>*{min-width:0;}
.seo-hero-figure{width:100%;min-width:0;}
.seo-hero-figure img{width:100%;max-width:100%;height:auto;}
.seo-header-nav{min-width:0;}
@media(max-width:719px){
 .seo-hero-in,.seo-article,.seo-footer-in{grid-template-columns:minmax(0,1fr)!important;}
 .seo-shell{padding-left:20px;padding-right:20px;}
 .seo-header-in{padding:12px 16px;justify-content:space-between;}
 .seo-header-nav a:not(.seo-button){display:none;}
 .seo-header-nav .seo-button{font-size:12px;padding:8px 10px;white-space:normal;text-align:center;}
 .seo-brand{min-width:0;flex:1 1 auto;}
 .seo-brand .brand-lockup{width:min(100%,230px);}
 .seo-hero-in{padding:38px 20px;gap:24px;}
 .seo-article{padding-top:34px;}
 .seo-hero h1{font-size:clamp(30px,8vw,42px);}
 .seo-article section p{font-size:16px;}
}

/* Fix mobile header: evita CTA lateral cortado nas paginas internas */
@media(max-width:719px){
 .seo-header-in{display:flex!important;flex-wrap:nowrap;min-width:0;width:100%;gap:8px;padding:10px 14px;}
 .seo-brand{flex:1 1 auto;min-width:0;max-width:calc(100% - 52px);}
 .seo-brand .brand-lockup{width:min(100%,290px)!important;}
 .seo-header-nav{display:flex;flex:0 0 auto;margin-left:auto;min-width:0;gap:0;}
 .seo-header-nav .seo-button{display:none!important;}
 .seo-header-nav>a:not(.seo-button){display:none!important;}
 .seo-header{overflow:hidden;}
}

/* Unified header navigation across static and React service pages */
.seo-header{background:#1c0b25;overflow:visible!important;position:sticky;top:0;z-index:80;}
.seo-header-in{width:100%;max-width:1180px;min-height:84px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;}
.seo-brand{flex:0 1 auto;min-width:0;max-width:calc(100% - 62px);}
.seo-brand .brand-lockup{width:min(100%,350px)!important;}
.seo-menu{margin-left:auto;flex:0 0 auto;position:static;}
.seo-menu>summary{list-style:none;cursor:pointer;display:grid;place-items:center;background:#25132f;color:#fff5ee;border:1px solid #947b99;border-radius:10px;width:45px;height:45px;font-size:25px;line-height:1;user-select:none;}
.seo-menu>summary::-webkit-details-marker{display:none;}
.seo-menu-close{display:none;}
.seo-menu[open] .seo-menu-close{display:inline;font-size:34px;font-weight:300;}
.seo-menu[open] .seo-menu-icon{display:none;}
.seo-menu-panel{position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 84px);overflow:auto;overscroll-behavior:contain;background:#1b0b25;padding:16px max(20px,calc((100vw - 1100px)/2)) calc(30px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:1px;box-shadow:0 20px 30px #14081c66;}
.seo-menu-panel a{display:block;color:#f9f1eb;text-decoration:none;font-size:clamp(16px,4vw,19px);line-height:1.45;padding:9px 6px;min-height:40px;}
.seo-menu-panel a:hover,.seo-menu-panel a:focus-visible{color:#e8c58e;}
.seo-nav-label{display:block;color:#d7b475;font-size:11px;font-weight:700;letter-spacing:.15em;margin:16px 6px 4px;border-top:1px solid #604760;padding-top:12px;}
.seo-nav-label:first-child{border:0;margin-top:0;padding-top:0;}
.seo-header:has(.seo-menu[open]){z-index:100;}
@media(max-width:719px){.seo-header-in{min-height:86px;padding:8px 14px;}.seo-brand .brand-lockup{width:min(100%,285px)!important;}.seo-menu-panel{max-height:calc(100dvh - 86px);}}
@media(min-width:720px){.seo-header-in{min-height:96px;}.seo-menu-panel{max-height:calc(100dvh - 96px);}}
