/* OAK ROUTE — V3.2: somente alterações solicitadas. */
/* Marca: escala visual dos letreiros alinhada ao título O BRASÃO. */
.concept-panel h3.brand-display img{height:clamp(43px,4.05vw,65px);width:auto;max-width:100%;object-fit:contain}
.concept-panel .brand-subtitle{font-size:clamp(24px,2.17vw,34px)}
/* O brasão conectado visualmente aos dois painéis, mantendo composição intacta. */
.crest-story{padding-top:clamp(51px,5.3vw,82px);border-bottom:1px solid rgba(255,255,255,.12)}
/* Título ORIGEM e respiro entre manifesto sensorial e características. */
.origin-heading h2{font-size:clamp(75px,12vw,180px)}
.tasting-list{margin-top:44px}
/* Novo contato funcional no bloco existente do rodapé. */
.footer-email{font-size:12px;line-height:1.45;color:var(--muted);overflow-wrap:anywhere;transition:color .2s ease}
.footer-email:hover{color:var(--gold)}
/* Bloqueio real de interação desde o HTML inicial (site-shell[inert]). */
html:has(body.age-locked){overflow:hidden!important;scroll-behavior:auto!important}
body.age-locked{height:100dvh;overflow:hidden!important;touch-action:none}
.age-overlay[hidden],.age-overlay [hidden]{display:none!important}
.age-overlay{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,40px);background:rgba(0,0,0,.73);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);overflow:auto;overscroll-behavior:contain;transition:opacity .24s ease,visibility .24s ease}
.age-overlay.is-dismissing{opacity:0;visibility:hidden;pointer-events:none}
.age-card{width:min(100%,550px);max-height:min(90dvh,750px);overflow-y:auto;overscroll-behavior:contain;border:1px solid rgba(237,192,118,.46);border-radius:10px;background:#090b09;color:var(--paper);padding:clamp(30px,5vw,52px) clamp(23px,5vw,52px) 30px;box-shadow:0 34px 115px #000c,0 0 55px rgba(237,192,118,.045);text-align:center;animation:ageAppear .36s cubic-bezier(.2,.7,.2,1) both;outline:none}
.age-crest{width:72px;height:80px;object-fit:contain;margin:0 auto 23px;filter:drop-shadow(0 0 16px rgba(237,192,118,.08))}
.age-kicker{font-size:10px;letter-spacing:.2em;color:var(--gold);font-weight:700;line-height:1.6;margin-bottom:24px}
.age-card h2{font-family:Alice,Georgia,serif;font-size:clamp(28px,3vw,39px);line-height:1.22;color:var(--paper);letter-spacing:-.035em;font-weight:400;text-wrap:balance}
.age-description{font-size:14px;line-height:1.7;color:#c1b9aa;max-width:390px;margin:19px auto 30px}
.age-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 auto}
.age-actions button{min-height:55px;border-radius:6px;border:1px solid var(--gold);font-family:Cabin,Arial,sans-serif;font-size:13px;letter-spacing:.13em;font-weight:700;cursor:pointer;transition:background .2s,color .2s,transform .2s}
#age-yes{background:var(--gold);color:#070707}
#age-no{background:transparent;color:var(--gold)}
#age-yes:hover{background:#f5d29d;transform:translateY(-2px)}
#age-no:hover{background:rgba(237,192,118,.12);transform:translateY(-2px)}
.age-actions button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.age-caption{font-size:10px;letter-spacing:.15em;color:#9f9789;margin-top:27px;line-height:1.5}
.age-rejection h2{font-size:clamp(28px,3vw,36px);color:var(--gold);margin:8px auto 27px}
.age-rejection p{font-size:14px;line-height:1.75;color:var(--paper);max-width:420px;margin:0 auto 18px}
.age-rejection p:last-child{margin-bottom:2px}
@keyframes ageAppear{from{opacity:0;transform:translateY(13px) scale(.987)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){
 .concept-panel h3.brand-display img{height:clamp(40px,7.5vw,55px)}
 .concept-panel .brand-subtitle{font-size:clamp(25px,4.5vw,32px)}
 .crest-story{padding-top:42px}
 .origin-heading h2{font-size:clamp(64px,13.25vw,115px)}
 .tasting-list{margin-top:42px}
 .footer-email{font-size:clamp(10px,1.6vw,12px)}
}
@media(max-width:440px){
 .concept-panel h3.brand-display img{height:40px}
 .concept-panel .brand-subtitle{font-size:25px}
 .origin-heading h2{font-size:clamp(57px,13.25vw,70px)}
 .footer-email{font-size:10px}
 .age-card{padding:29px 20px 25px}
 .age-crest{width:62px;height:69px;margin-bottom:16px}
 .age-kicker{letter-spacing:.12em;font-size:9px;margin-bottom:18px}
 .age-description{font-size:13px;margin:14px auto 24px}
 .age-actions{gap:10px}
 .age-actions button{min-height:52px}
 .age-rejection p{font-size:13px}
}
@media(max-height:520px){.age-card{max-height:calc(100dvh - 20px)}.age-crest{width:45px;height:50px;margin-bottom:9px}.age-kicker{margin-bottom:10px}.age-card h2{font-size:26px}.age-description{margin:10px auto 16px}.age-caption{margin-top:13px}}
@media(prefers-reduced-motion:reduce){.age-card{animation:none!important}.age-overlay,.age-actions button{transition:none!important}}
