/* Heritage & Heart — layout & detail styles. Colors, fonts, sizes and spacing live in theme.json (Site Editor → Styles). */
:root{--hh-pad:var(--wp--custom--pad,clamp(22px,5vw,64px));--hh-line:rgba(92,72,56,.22)}
html{scroll-behavior:smooth;scroll-padding-top:var(--hdr,76px)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.wp-site-blocks>*+*{margin-block-start:0}
body{overflow-x:hidden;-webkit-font-smoothing:antialiased}
/* header */
header.wp-block-template-part{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--wp--preset--color--ivory) 96%,transparent);border-bottom:1px solid rgba(92,72,56,.14);padding-top:env(safe-area-inset-top,0px)}
.admin-bar header.wp-block-template-part{top:32px}@media(max-width:782px){.admin-bar header.wp-block-template-part{top:46px}}
.hh-bar{position:static;max-width:1240px;margin:0 auto;padding:10px var(--hh-pad);gap:20px}
.hh-bar .wp-block-site-logo img{height:auto;display:block}
/* sections */
.hh-section{padding:clamp(64px,10vw,132px) var(--hh-pad);margin-block:0!important}
.hh-pt0{padding-top:0}.hh-pb0{padding-bottom:0}
.hh-phero{padding-top:clamp(48px,7vw,96px);padding-bottom:clamp(40px,6vw,80px)}
.hh-section p,.hh-hero p{max-width:58ch;margin-left:0!important;margin-right:0!important}
.hh-section h1,.hh-section h2{margin-left:0!important;margin-right:0!important}
.hh-section h2{max-width:22ch}.hh-section h1{max-width:18ch}
.hh-eyebrow{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--wp--preset--color--olive-deep);font-weight:500;margin-bottom:20px}
.has-brown-background-color .hh-eyebrow,.hh-hero .hh-eyebrow{color:#C9D3C2}
.hh-lede{font-size:1.12rem;color:var(--wp--preset--color--brown-soft)}
.has-brown-background-color .hh-lede{color:#E9E1D2}
.hh-rule{width:48px!important;max-width:48px;height:1px;background:var(--wp--preset--color--gold);border:0;margin:26px 0!important}
.hh-link a{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;border-bottom:1px solid var(--wp--preset--color--gold);padding:6px 0;display:inline-block}
.hh-link a:hover{text-decoration:none;color:var(--wp--preset--color--olive-deep)}
.has-brown-background-color .wp-block-button__link,.hh-hero .wp-block-button__link{background:var(--wp--preset--color--ivory);color:var(--wp--preset--color--brown);border-color:var(--wp--preset--color--ivory)}
.has-brown-background-color .wp-block-button__link:hover,.hh-hero .wp-block-button__link:hover{background:transparent;color:var(--wp--preset--color--ivory)}
.wp-block-button__link{min-height:50px;display:inline-flex;align-items:center;justify-content:center;transition:background .3s,color .3s}
/* grids */
.hh-split,.hh-intro,.hh-contact{display:grid;gap:clamp(32px,6vw,88px);align-items:center}
.hh-split>*,.hh-intro>*,.hh-contact>*{margin:0!important}
@media(min-width:860px){.hh-split{grid-template-columns:1.05fr .95fr}.hh-split.hh-rev{grid-template-columns:.95fr 1.05fr}.hh-split.hh-rev>:first-child{order:2}.hh-intro{grid-template-columns:1fr 1.2fr;gap:88px;align-items:start}.hh-contact{grid-template-columns:1.3fr .7fr;gap:80px;align-items:start}}
/* images */
.hh-img{margin:0}.hh-img img{display:block;width:100%;object-fit:cover;height:auto}
.hh-t img{aspect-ratio:4/5}.hh-w img{aspect-ratio:3/2}
.hh-hero{position:relative;min-height:min(92vh,860px);display:flex;align-items:flex-end;padding:0;overflow:hidden}
.hh-hero-img{position:absolute;inset:0;margin:0!important}.hh-hero-img img{width:100%;height:100%;aspect-ratio:auto}
.hh-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(40,30,22,.82),rgba(40,30,22,.35) 55%,rgba(40,30,22,.1));pointer-events:none}
.hh-hero-inner{position:relative;z-index:2;width:100%;max-width:1240px;margin:0 auto;padding:120px var(--hh-pad) clamp(48px,9vw,110px)}
.hh-hero h1{text-transform:uppercase;letter-spacing:.02em;max-width:13ch;font-size:clamp(2.4rem,7vw,5.6rem);color:inherit}
.hh-hero-text{margin-top:24px;color:#F1EBDD}
.hh-loc{margin-top:26px;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#E7DFCF}
.hh-hero .wp-block-buttons{margin-top:34px}
/* services */
.hh-section .hh-svc{border-top:1px solid var(--hh-line);padding:clamp(28px,4vw,56px) 0}.hh-svc.hh-last{border-bottom:1px solid var(--hh-line)}
.hh-numeral{font:italic 1.2rem var(--wp--preset--font-family--serif);color:var(--wp--preset--color--olive-deep)}
.hh-sub{font:italic 1.35rem var(--wp--preset--font-family--serif);color:var(--wp--preset--color--brown-soft)}
.hh-section h2+.hh-svc,.hh-section h2{margin-bottom:0}
.hh-section .hh-eyebrow+h2{margin-bottom:clamp(28px,4vw,48px)}
.hh-statement{font:italic 500 clamp(2rem,5vw,4rem)/1.12 var(--wp--preset--font-family--serif);max-width:20ch}
/* about */
.hh-about{overflow:hidden}.hh-portrait{position:relative}
.hh-portrait .hh-inset{position:absolute;width:42%;right:-4%;bottom:-8%;border:8px solid var(--wp--preset--color--ivory-deep)}.hh-inset img{aspect-ratio:1}
.hh-name{font:500 1.5rem var(--wp--preset--font-family--serif);margin-bottom:0}
.hh-role{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--wp--preset--color--olive-deep);margin-top:2px}
.hh-quote{font:italic 1.7rem/1.3 var(--wp--preset--font-family--serif);margin:28px 0!important}
@media(max-width:859px){.hh-portrait{margin-bottom:40px}.hh-portrait .hh-inset{right:4%;width:38%}}
/* lists & grids of text */
.hh-who,.hh-grid6,.hh-steps{display:grid;gap:0}
.hh-who>div,.hh-grid6>div,.hh-step,.hh-row{border-top:1px solid var(--hh-line);padding:24px 0 32px}
@media(min-width:760px){.hh-who{grid-template-columns:1fr 1fr;column-gap:64px}.hh-grid6{grid-template-columns:repeat(3,1fr);column-gap:40px}}
.hh-offer{font:500 .88rem var(--wp--preset--font-family--sans)!important;letter-spacing:.06em;text-transform:uppercase;color:var(--wp--preset--color--olive-deep)}
.hh-steps{margin-top:0}@media(min-width:860px){.hh-steps{grid-template-columns:repeat(4,1fr);column-gap:36px}}
.hh-num{font:italic 400 2.4rem/1 var(--wp--preset--font-family--serif);color:var(--wp--preset--color--gold)}
.hh-step h3{font-size:1.45rem}.hh-step p{font-size:.96rem;color:var(--wp--preset--color--brown-soft)}
.hh-rows>.hh-row{display:grid;gap:4px;padding:18px 0}.hh-rows>.hh-row>*{margin:0!important}.hh-row p{color:var(--wp--preset--color--brown-soft)}
@media(min-width:700px){.hh-rows>.hh-row{grid-template-columns:.8fr 1.2fr;gap:32px}}
.hh-trio{display:flex;flex-wrap:wrap;gap:12px 40px;margin-top:40px}
.hh-trio p{font:italic 500 clamp(1.8rem,4vw,3rem) var(--wp--preset--font-family--serif);margin:0!important;max-width:none}
.hh-trio p+p::before{content:"";display:inline-block;width:1px;height:.8em;background:var(--wp--preset--color--gold);margin-right:40px}
.hh-trio.hh-small{gap:6px 28px}.hh-trio.hh-small p{font-size:1.6rem}.hh-trio.hh-small p+p::before{margin-right:28px}
@media(max-width:560px){.hh-trio p+p::before{display:none}}
/* gallery */
.hh-gal.wp-block-gallery{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
.hh-gal .wp-block-image{width:auto!important;margin:0!important}.hh-gal .wp-block-image img{width:100%;height:100%;object-fit:cover}
.hh-gal .wp-block-image:nth-child(1){grid-column:span 2;aspect-ratio:16/9}.hh-gal .wp-block-image:nth-child(n+2){aspect-ratio:4/5}
@media(min-width:860px){.hh-gal.wp-block-gallery{grid-template-columns:1.4fr 1fr 1fr}.hh-gal .wp-block-image:nth-child(1){grid-column:1;grid-row:span 2;aspect-ratio:auto}.hh-gal .wp-block-image:nth-child(n+2){aspect-ratio:1}.hh-gal .wp-block-image:nth-child(2){aspect-ratio:4/5}}
.hh-cap{font-size:.84rem;font-style:italic;color:var(--wp--preset--color--brown-soft);margin-top:16px}
/* final cta */
.hh-final h2{text-transform:uppercase;letter-spacing:.02em;max-width:16ch;font-size:clamp(2rem,5vw,4rem)}
/* faq */
.hh-faq{max-width:780px}.hh-faq .wp-block-details{border-top:1px solid var(--hh-line);padding:4px 0;margin:0}.hh-faq .wp-block-details:last-child{border-bottom:1px solid var(--hh-line)}
.hh-faq summary{cursor:pointer;font:500 1.4rem var(--wp--preset--font-family--serif);padding:18px 32px 18px 0;min-height:48px;list-style:none;position:relative}
.hh-faq summary::-webkit-details-marker{display:none}.hh-faq summary::after{content:"+";position:absolute;right:4px;top:14px;font:300 1.6rem var(--wp--preset--font-family--sans);color:var(--wp--preset--color--gold)}
.hh-faq details[open] summary::after{content:"–"}.hh-faq details p{padding-bottom:20px;color:var(--wp--preset--color--brown-soft)}
/* form */
.hh-form{display:grid;gap:22px}.hh-form label{display:block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;margin-bottom:8px}
.hh-form input,.hh-form select,.hh-form textarea{width:100%;font:400 1rem var(--wp--preset--font-family--sans);color:var(--wp--preset--color--brown);background:#FBF8F2;border:1px solid rgba(92,72,56,.4);border-radius:2px;padding:14px;min-height:50px}
.hh-form textarea{min-height:150px;resize:vertical}.hh-form .two{display:grid;gap:22px}@media(min-width:600px){.hh-form .two{grid-template-columns:1fr 1fr}}
.hh-form button{cursor:pointer;justify-self:start}.hh-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.hh-msg{padding:16px;border:1px solid var(--wp--preset--color--olive);background:rgba(255,255,255,.55);margin-bottom:22px}
.hh-contact-info a{border-bottom:1px solid var(--wp--preset--color--gold)}.hh-contact-info a:hover{text-decoration:none}
/* footer */
.hh-foot{padding:72px var(--hh-pad) 40px}
.hh-foot-grid{display:grid;gap:40px}.hh-foot-grid>*{margin:0!important}@media(min-width:860px){.hh-foot-grid{grid-template-columns:1.3fr 1fr 1.2fr}}
.hh-foot .wp-block-site-logo img{background:var(--wp--preset--color--ivory);padding:8px 14px;border-radius:2px}
.hh-tag{font:italic 1.5rem var(--wp--preset--font-family--serif);margin-top:18px}
.hh-foot p{color:#E9E1D2;margin:0 0 6px}.hh-foot a{display:inline-block;padding:6px 0}.hh-foot a:hover{color:var(--wp--preset--color--gold);text-decoration:none}
.hh-footnav{gap:0}.hh-copy{margin-top:52px!important;padding-top:22px;border-top:1px solid rgba(244,239,230,.2);color:#D9D0BF;font-size:.9rem}
/* header navigation (HTML block) */
.hh-menu-btn{display:none;min-height:48px;min-width:48px;background:none;border:0;font:500 .8rem var(--wp--preset--font-family--sans);letter-spacing:.16em;color:var(--wp--preset--color--brown);cursor:pointer}
.hh-menu ul{list-style:none;display:flex;gap:clamp(18px,2.6vw,38px);align-items:center;margin:0;padding:0}
.hh-menu li{margin:0}
.hh-menu a:not(.hh-nav-cta){font-size:.92rem;letter-spacing:.03em;padding:6px 0;border-bottom:1px solid transparent;display:inline-block}
.hh-menu a:not(.hh-nav-cta):hover,.hh-menu a.is-active{border-bottom-color:var(--wp--preset--color--gold);text-decoration:none}
.hh-menu .hh-nav-cta{padding:.8rem 1.4rem;font-size:.72rem;min-height:44px;white-space:nowrap}
@media(max-width:940px){
.hh-menu-btn{display:block}
.hh-menu{position:absolute;left:0;right:0;top:100%;background:var(--wp--preset--color--ivory);border-bottom:1px solid rgba(92,72,56,.14);padding:8px var(--hh-pad) 28px;display:none}
.hh-menu.open{display:block}
.hh-menu ul{flex-direction:column;align-items:stretch;gap:0}
.hh-menu li{border-bottom:1px solid rgba(92,72,56,.12)}
.hh-menu a:not(.hh-nav-cta){display:block;padding:18px 0;font:500 1.5rem var(--wp--preset--font-family--serif);border:0}
.hh-menu li:last-child{border:0;padding-top:22px}
.hh-menu .hh-nav-cta{width:100%;font-size:.8rem}}
.hh-footnav a[aria-current=page]{border-bottom:1px solid var(--wp--preset--color--gold)}
.hh-area:focus,.hh-area:focus-visible{outline:none}
/* admin bar: on very small screens WordPress lets it scroll away */
@media(max-width:600px){.admin-bar header.wp-block-template-part{top:0}}
/* section titles of the inner service areas */
.hh-phero h2{font-size:clamp(2.4rem,5.6vw,4.6rem);max-width:18ch}
/* mobile CTA bar */
.hh-mcta{display:none;transition:transform .3s,opacity .3s}
.hh-mcta.hide{transform:translateY(110%);opacity:0;pointer-events:none}
@media(max-width:700px){.hh-mcta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--wp--preset--color--ivory) 97%,transparent);border-top:1px solid rgba(92,72,56,.15)}.hh-mcta .wp-block-buttons{margin:0}body{padding-bottom:76px}}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}

/* alinhamento: título, texto e listas de cada seção começam na mesma linha */
.wp-block-group.hh-section{padding-left:max(var(--hh-pad),calc((100% - 1240px)/2));padding-right:max(var(--hh-pad),calc((100% - 1240px)/2))}
.wp-block-group.hh-section>*{margin-left:0!important;margin-right:0!important;max-width:none}
.wp-block-group.hh-section>p{max-width:58ch}
.wp-block-group.hh-section>h1{max-width:18ch}
.wp-block-group.hh-section>h2{max-width:22ch}
.wp-block-group.hh-section>.hh-faq{max-width:780px}
.wp-block-group.hh-hero-inner>*{margin-left:0!important;margin-right:0!important}
.hh-who>*,.hh-grid6>*,.hh-steps>*,.hh-rows>*,.hh-split>*{margin-block-start:0!important}
/* galeria: a imagem preenche a moldura sem alterar a altura da grade */
.hh-gal.wp-block-gallery .wp-block-image{position:relative;overflow:hidden}
.hh-gal.wp-block-gallery .wp-block-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
