/*
Theme Name: Andrade Mafra — Heloisa
Description: Tema filho de blocos para o site Heloisa Andrade Mafra, baseado na Home V1 do Figma.
Template: twentytwentyfive
Version: 1.0.0
Text Domain: heloisa
*/
@font-face{font-family:Inter;src:url('assets/fonts/inter.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Playfair;src:url('assets/fonts/playfair.ttf') format('truetype');font-weight:300 900;font-display:swap}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f7f2ef;color:#2f2628;font-family:Inter,sans-serif;font-weight:400}
body .wp-site-blocks{padding:0}
.wp-site-blocks>*,.am-main>*,.am-home>*{margin-block:0!important}
.am-home,.am-home p,.am-home h1,.am-home h2,.am-home h3,.am-header p,.am-footer p{margin:0}
.am-home h1,.am-home h2{font-family:Playfair,Georgia,serif;font-weight:500;line-height:1.2;font-variation-settings:'opsz' 12,'wdth' 100}
.am-home p{line-height:1.4}
.am-home h3{font-family:Inter,sans-serif;font-weight:700;line-height:1.25}
.am-container{width:calc(100% - 192px);max-width:1248px;margin-inline:auto!important}
.am-header{height:120px;display:flex;align-items:center;background:#f7f2ef;padding:0}
.am-header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}
.am-logo{position:relative;width:211px;height:59px;flex-shrink:0}
.am-logo figure{margin:0!important;position:absolute;line-height:0}
.am-logo .am-logo-name{left:78.76px;top:.06px}
.am-logo .am-logo-caption{left:80.86px;top:51.36px}
.am-logo .am-logo-mark{left:0;top:0}
.am-logo-mobile{display:none}
.am-logo img,.am-footer img{display:block;max-width:none}
.am-header .wp-block-navigation{color:#6b2138;font:400 15px Inter,sans-serif}
.am-header .wp-block-navigation__container{gap:24px}
.am-header a{text-decoration:none}
.am-header a:hover{text-decoration:underline;text-underline-offset:5px}
.am-hero{min-height:800px;background:#efe6e3;padding-top:176px;padding-bottom:109px}
.wp-block-cover.am-hero{display:block;color:#2f2628;padding-inline:0}
.am-hero>.wp-block-cover__inner-container{width:100%}
.am-rule{width:90px;height:2px;background:#b88a5a;margin:0 0 12px!important;border:0}
.am-hero h1{font-size:62px;color:#4a1627;max-width:568px}
.am-hero .am-intro{font-size:19px;max-width:674px;margin-top:40px}
.am-hero .wp-block-buttons{margin-top:132px;gap:15px}
.am-home .wp-block-button__link{display:flex;align-items:center;justify-content:center;min-height:44px;padding:12px 20px;border-radius:0;font:700 13px Inter,sans-serif;text-decoration:none;box-shadow:none}
.am-home .wp-block-button__link:hover{filter:brightness(.92);text-decoration:underline;text-underline-offset:4px}
.am-primary .wp-block-button__link{background:#6b2138;color:#f7f2ef;min-width:242px;border:1px solid #6b2138}
.am-secondary .wp-block-button__link{background:#f7f2ef;color:#2f2628;min-width:182px;border:1px solid #6b2138}
.am-label{font-size:12px;font-weight:700;color:#6b2138;line-height:1.3!important}
.am-context{min-height:527px;padding-block:42px 64px;background:#d8c2c7}
.am-context h2{font-size:45px;max-width:824px;color:#6b2138;margin-top:92px}
.am-context .am-context-body{font-size:18px;max-width:824px;margin-top:22px}
.am-context .am-principles{font-size:20px;font-weight:700;color:#6b2138;margin-top:84px}
.am-practice{padding-block:46px;background:#f7f2ef}
.am-practice h2{font-size:49px;color:#6b2138;margin-top:18px;margin-bottom:28px}
.am-grid{display:grid;gap:18px 24px}
.am-grid>*{margin-block:0!important}
.am-practice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.am-card{background:#efe6e3;padding:32px;display:flex;flex-direction:column;gap:16px;min-width:0}
.am-card h3{font-size:25px}
.am-card p{font-size:16px}
.am-card .am-number{font-size:15px;font-weight:700;color:#6b2138;min-height:32px}
.am-card .am-card-link{font-size:13px;font-weight:700;color:#6b2138;margin-top:auto}
.am-card a{text-decoration:none}
.am-card a:hover{text-decoration:underline;text-underline-offset:4px}
.am-process{min-height:470px;background:#4a1627;color:#fff;padding-block:42px 64px}
.am-process .am-label{color:#fff}
.am-process h2,.am-process h3,.am-contact h2{color:#fff}
.am-process h2{font-size:44px;max-width:718px;margin-top:20px}
.am-process .am-rule{width:108px;height:4px;margin-top:22px!important;margin-bottom:36px!important}
.am-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:56px}
.am-step{min-width:0}
.am-step .am-step-number{font:500 47px/1.2 Playfair,Georgia,serif;color:#b88a5a}
.am-step h3{font-size:22px;margin-top:10px}
.am-step p:last-child{font-size:15px;margin-top:10px}
.am-about{background:#efe6e3;padding-block:58px 64px}
.am-about-grid{grid-template-columns:506fr 718fr;gap:24px;align-items:center}
.am-portrait{height:476px;background:#d8c2c7;display:flex;align-items:center;justify-content:center}
.wp-block-cover.am-portrait{min-height:0;padding:0;color:#2f2628}
.am-portrait p{font-size:16px;font-weight:700;text-align:center}
.am-about-copy{padding:32px 32px 32px 64px}
.am-about h2{font-size:43px;color:#6b2138;margin-top:22px}
.am-about .am-bio{font-size:17px;margin-top:24px}
.am-about .am-credentials{font-size:17px;font-weight:700;margin-top:26px}
.am-about .wp-block-buttons{margin-top:26px}
.am-about .am-primary .wp-block-button__link{min-width:256px}
.am-about figure.am-portrait-photo{display:block;width:100%;max-width:506px;height:auto;aspect-ratio:4/5;margin:0;overflow:hidden}
.am-portrait-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;border-radius:0;box-shadow:none;filter:none}
@media(max-width:900px){
 .am-about-grid{grid-template-columns:1fr;gap:32px}
 .am-about figure.am-portrait-photo{max-width:320px;justify-self:center}
 .am-about-copy{padding:0}
}
@media(max-width:700px){.am-about figure.am-portrait-photo{max-width:none;width:100%}}
.am-content{background:#d8c2c7;padding-block:42px 55px}
.am-content h2{font-size:47px;color:#6b2138;margin-top:24px;padding-bottom:8px;border-bottom:2px solid #6b2138}
.am-content-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:60px}
.am-topic{background:#f7f2ef;padding:32px;min-height:139px;display:flex;flex-direction:column;justify-content:center;gap:13px}
.am-topic h3{font-size:21px}
.am-topic p{font-size:14px}
.am-topic a{text-decoration:none}
.am-topic a:hover{text-decoration:underline}
.am-contact{background:#6b2138;color:#fff;padding-block:40px}
.am-contact .am-label{color:#fff}
.am-contact h2{font-size:44px;max-width:824px;margin-top:30px}
.am-contact .am-contact-body{font-size:16px;max-width:970px;margin-top:30px}
.am-contact .wp-block-buttons{margin-top:30px}
.am-contact .wp-block-button__link{min-height:48px;min-width:230px;background:#f7f2ef;color:#6b2138;font-size:15px}
.am-footer{background:#f7f2ef;padding-block:26px}
.am-footer-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}
.am-footer figure{margin:0!important;line-height:0}
.am-footer p{font-size:13px}
.am-footer-mobile{display:none}
.am-page{max-width:1000px;margin:0 auto!important;padding:80px 24px 100px;min-height:65vh}
.am-page>h1{font:500 clamp(36px,5vw,62px)/1.15 Playfair,Georgia,serif;color:#6b2138;margin-bottom:40px}
.am-page .wp-block-post-content{line-height:1.7}
.am-page .wp-block-post-content h2{font:500 32px/1.2 Playfair,Georgia,serif;color:#6b2138}
.am-page .wp-block-post-template{list-style:none;padding:0;display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.am-page .wp-block-post{background:#efe6e3;padding:28px}
.am-page .wp-block-post-title{font:500 26px/1.25 Playfair,Georgia,serif}
a:focus-visible,button:focus-visible{outline:3px solid #b88a5a;outline-offset:5px}
@media(min-width:1600px){.am-hero{padding-top:176px}}
@media(max-width:1100px) and (min-width:701px){.am-container{width:calc(100% - 96px)}.am-about-copy{padding:24px}.am-about h2{font-size:34px}.am-steps{gap:24px}.am-header .wp-block-navigation__container{gap:16px}.am-content-grid{gap:16px}.am-topic{padding:24px}.am-hero h1{font-size:56px}}
@media(max-width:700px){
 .am-container{width:calc(100% - 48px)}
 .am-header{height:92px}.am-header-inner{gap:16px}.am-logo-desktop{display:none}.am-logo-mobile{display:block;width:143.48px;height:40.12px}
 .am-logo-mobile .am-logo-name{left:53.56px;top:.04px}.am-logo-mobile .am-logo-caption{left:54.98px;top:34.93px}
 .am-header .wp-block-navigation__responsive-container-open{display:flex;align-items:center;font:400 14px Inter,sans-serif;width:auto;color:#6b2138}
 .am-header .wp-block-navigation__responsive-container-open:after{content:'MENU'}.am-header .wp-block-navigation__responsive-container-open svg{display:none}
 .am-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}
 .am-header .wp-block-navigation__responsive-container.is-menu-open{background:#f7f2ef;padding:30px 24px}
 .am-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{align-items:flex-start;gap:28px;font-size:22px}
 .am-hero{min-height:760px;padding-top:159px;padding-bottom:83px}
 .am-hero .am-rule{width:52px;margin-bottom:0!important}
 .am-hero h1{font-size:36px;max-width:342px;line-height:1.2}
 .am-hero .am-intro{font-size:16px;max-width:342px;margin-top:30px}
 .am-hero .wp-block-buttons{margin-top:122px;flex-direction:column;align-items:flex-start;gap:24px}
 .am-hero .am-primary .wp-block-button__link{min-width:292px}
 .am-context{padding-block:60px;min-height:0}
 .am-context h2{font-size:30px;margin-top:22px}
 .am-context .am-context-body{font-size:15px;margin-top:22px}
 .am-context .am-principles{font-size:14px;margin-top:22px}
 .am-practice{padding-block:60px}.am-practice h2{font-size:34px;margin-top:24px;margin-bottom:24px}
 .am-practice-grid{grid-template-columns:1fr;gap:24px}.am-card{padding:24px;gap:12px}.am-card h3{font-size:21px}.am-card .am-number{min-height:0}
 .am-process{padding-block:60px;min-height:0}.am-process h2{font-size:30px;margin-top:24px}.am-process .am-rule{margin-block:24px!important}
 .am-steps{grid-template-columns:1fr;gap:24px}.am-step h3{margin-top:12px}.am-step p:last-child{margin-top:12px}
 .am-about{padding-block:60px}.am-about-grid{grid-template-columns:1fr;gap:32px}.am-portrait{height:222px}.am-portrait p{font-size:13px}.am-about-copy{padding:0}
 .am-about h2{font-size:30px;margin-top:32px}.am-about .am-bio{font-size:16px;margin-top:32px}.am-about .am-credentials{margin-top:32px}.am-about .wp-block-buttons{margin-top:32px}.am-about .wp-block-button,.am-about .wp-block-buttons{width:100%}
 .am-content{padding-block:60px}.am-content h2{font-size:30px;margin-top:18px;border:0;padding:0}.am-content-grid{grid-template-columns:1fr;gap:18px;margin-top:18px}.am-topic{padding:24px;min-height:0;gap:12px}
 .am-contact{padding-block:60px}.am-contact h2{font-size:29px;margin-top:32px}.am-contact .am-contact-body,.am-contact .wp-block-buttons{margin-top:32px}.am-contact .wp-block-button,.am-contact .wp-block-buttons{width:100%}
 .am-footer{padding-block:35px}.am-footer-inner{width:calc(100% - 80px);gap:20px}.am-footer p{font-size:12px;text-align:center}.am-footer-desktop{display:none}.am-footer-mobile{display:block}
 .am-page{padding-block:48px}.am-page .wp-block-post-template{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* A fotografia fornece a parede e a cena, sem máscaras ou sobreposições. */
.am-hero-media{position:absolute;inset:0;display:block;margin:0;pointer-events:none}
.am-hero-media>img.wp-block-cover__image-background{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:right bottom}
.am-hero>.wp-block-cover__background{display:none}
.am-hero>.wp-block-cover__inner-container{position:relative;z-index:1;width:100%}
.wp-block-cover.am-hero{height:auto;min-height:calc(100dvh - var(--am-header-height) - var(--am-admin-offset));display:flex;align-items:center;padding-block:80px;background:#e9e4d8}
.am-hero .wp-block-buttons{margin-top:64px}
/* O cabeçalho conserva altura, cor e posição; apenas a sombra separa os planos. */
:root{--am-header-height:120px;--am-admin-offset:0px}
body.admin-bar{--am-admin-offset:32px}
.wp-site-blocks>header.wp-block-template-part{position:sticky;top:var(--am-admin-offset);z-index:100;background:#f7f2ef;box-shadow:0 4px 20px rgba(40,25,30,.07);overflow:visible}
#sobre{scroll-margin-top:calc(var(--am-header-height) + var(--am-admin-offset) + 16px)}
.am-footer a{color:inherit;text-decoration:none}
.am-footer a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1320px){
 .wp-block-cover.am-hero{display:block;padding-top:64px;padding-bottom:calc(80px + 75vw)}
 .am-hero-media>img.wp-block-cover__image-background{object-position:center bottom}
 .am-hero .wp-block-buttons{margin-top:32px}
}
@media(max-width:782px){body.admin-bar{--am-admin-offset:46px}}
@media(max-width:700px){
 :root{--am-header-height:92px}
 .wp-block-cover.am-hero{padding-top:48px;padding-bottom:calc(56px + 72vw)}
 .am-hero .am-intro{margin-top:24px}
 .am-hero .wp-block-buttons{gap:16px;margin-top:24px}
}

/* Tablet: a composição muda para caber na altura útil, sem reduzir as fontes. */
@media(min-width:1001px) and (max-width:1320px){
 .wp-block-cover.am-hero{display:flex;align-items:center;padding-block:32px}
 .am-hero-media>img.wp-block-cover__image-background{object-position:left center}
 .am-hero h1,.am-hero .am-intro{max-width:52vw}
 .am-hero .wp-block-buttons{max-width:52vw;margin-top:24px}
 .am-hero .am-intro{margin-top:32px}
}
@media(min-width:701px) and (max-width:1000px){
 .wp-block-cover.am-hero{padding-top:32px;padding-bottom:32px}
 .am-hero-media>img.wp-block-cover__image-background{object-position:center 94%}
 .am-hero .am-intro{margin-top:24px}
 .am-hero .wp-block-buttons{margin-top:16px}
}
