/* Contact hero only: one continuous scene behind the form; approved image intact. */
@font-face{font-family:ContactCaveat;src:url('../fonts/caveat.woff2') format('woff2'),url('../fonts/caveat.ttf') format('truetype');font-weight:400 700;font-display:swap}
.contact-hero-note,.contact-map-note{display:none}
.contact-reference-hero .contact-channel{padding-bottom:32px}
.contact-reference-hero .contact-channel .channel-link{top:auto;bottom:7px;right:8px;padding:5px}
.contact-reference-hero .contact-privacy{position:relative;padding-left:30px}
.contact-reference-hero .contact-privacy svg{position:absolute;left:0;top:0;width:20px;height:20px;fill:none;stroke:#080808;stroke-width:2;stroke-linecap:round}
.contact-reference-hero .contact-info .icon{background:#ffdc80;color:#080808;border-radius:50%;width:38px;height:38px;padding:8px;flex-shrink:0}
/* Supplied contact details: allow a complete address and distinct opening hours. */
.contact-page .contact-reference-hero .contact-channel{min-width:0}
.contact-page .contact-reference-hero .contact-channel p{overflow-wrap:anywhere}
.contact-page .contact-reference-hero .contact-channel{padding-bottom:44px}
.contact-page .contact-reference-hero .contact-channel .channel-link{display:grid;place-items:center;width:44px;height:44px}
.contact-page .contact-reference-hero .contact-info li{align-items:flex-start;min-width:0}
.contact-page .contact-reference-hero .contact-info li>span{min-width:0;line-height:1.5}
.contact-page .contact-reference-hero .contact-person{display:block;margin-bottom:4px}
@media(min-width:1024px){
 .contact-reference-hero{position:relative;isolation:isolate;padding:28px 0;background:#fafaf8}
 .contact-reference-hero:before{content:'';position:absolute;inset:0 0 0 34%;z-index:-1;background:url('../../images/paginas/contato-contatoHero-v1.png') left center/320% auto no-repeat;mask-image:linear-gradient(90deg,transparent,#000 28%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 28%)}
 .contact-reference-layout{grid-template-columns:minmax(0,.34fr) minmax(0,.28fr) minmax(0,.38fr);gap:22px;position:static;align-items:start}
 .contact-reference-hero .contact-intro{position:relative;z-index:1;padding-top:22px}
 .contact-reference-hero .contact-intro h1{font-size:clamp(34px,3.3vw,48px)}
 .contact-reference-hero .contact-intro>.page-lead{font-size:17px;line-height:1.45}
 .contact-reference-hero .contact-hero-visual{position:absolute;inset:0 auto 0 30%;width:40%;height:100%;min-height:0;max-height:none;margin:0;z-index:0;grid-column:auto;grid-row:auto;display:block}
 .contact-reference-hero .contact-hero-visual .page-art{width:100%;height:100%;max-height:none;object-fit:contain;object-position:center bottom;mask-image:linear-gradient(90deg,transparent,#000 14%,#000 97%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 97%,transparent)}
 .contact-reference-layout>.contact-box{grid-column:3;grid-row:1;position:relative;z-index:2;align-self:start;background:#fff;border:1px solid #ece7dd}
 .contact-hero-note,.contact-map-note{display:block;position:absolute;z-index:1;font-family:ContactCaveat,cursive;font-weight:500;color:#171717;line-height:1.03;pointer-events:none;transform:rotate(-9deg)}
 .contact-hero-note{left:31%;top:24px;font-size:clamp(20px,1.75vw,26px);width:170px}
 .contact-hero-note svg{display:block;width:105px;height:62px;margin:5px 0 0 27px;fill:none;stroke:#ffc100;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
 .contact-map-note{left:33%;bottom:31%;font-size:clamp(18px,1.6vw,24px);padding:5px;background:#ffffffe8}
 .contact-reference-hero .contact-intro h1{max-width:95%}
 .contact-reference-hero .contact-info{gap:12px}
}
/* Audit A07: tablet uses one complete scene, never the enlarged background copy. */
@media(min-width:768px) and (max-width:1200px){
 .contact-page .contact-reference-hero:before{display:none}
 .contact-page .contact-reference-layout{position:relative;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:26px;align-items:start}
 .contact-page .contact-reference-hero .contact-intro{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;padding-top:0}
 .contact-page .contact-intro>.eyebrow,.contact-page .contact-intro>h1,.contact-page .contact-intro>.page-lead{grid-column:1;margin:0}
 .contact-page .contact-reference-hero .contact-intro h1{font-size:clamp(32px,3.4vw,41px);max-width:100%}
 .contact-page .contact-intro>.page-lead{font-size:16px;line-height:1.5}
 .contact-page .contact-intro>.contact-channels{grid-column:2;grid-row:1/span 3;margin:0;align-self:start}
 .contact-page .contact-intro>.contact-info{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:16px 26px;margin:8px 0 0}
 .contact-page .contact-info li{flex:1 1 220px}
 .contact-page .contact-reference-hero .contact-hero-visual{position:relative;inset:auto;grid-column:1;grid-row:2;align-self:start;width:100%;height:auto;max-height:none;margin:0}
 .contact-page .contact-reference-hero .contact-hero-visual .page-art{width:100%;height:auto;object-fit:contain;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
 .contact-page .contact-reference-layout>.contact-box{grid-column:2;grid-row:2;align-self:start}
 .contact-page .contact-map-note{display:none}
}
@media(min-width:1024px) and (max-width:1200px){
 .contact-reference-layout{position:relative;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
 .contact-reference-hero .contact-intro{grid-column:1;grid-row:1}
 .contact-reference-layout>.contact-box{grid-column:2;grid-row:1/span 2}
 .contact-reference-hero .contact-hero-visual{position:relative;inset:auto;width:100%;height:auto;grid-column:1;grid-row:2;align-self:end}
 .contact-reference-hero .contact-hero-visual .page-art{height:auto;object-fit:contain;mask-image:none;-webkit-mask-image:none}
 .contact-map-note{display:none}
}
