/* Refinamento do hero: contraste, hierarquia e separação da fotografia. */
html { overflow-x: hidden; }
.hero { padding-bottom: calc(5rem + var(--cookie-h, 0px)); background: var(--grad-hero); }
.hero::before { width: 82vw; height: 82vw; right: -20vw; top: -4vh; background: radial-gradient(circle, rgba(184,104,77,.42) 0%, rgba(211,164,94,.16) 34%, transparent 72%); opacity: 1; }
.hero::after { content: ""; position: absolute; inset: auto -12% -25% 22%; z-index: -1; height: 72%; pointer-events: none; background: radial-gradient(ellipse, rgba(25,13,12,.18), transparent 68%); }
.site-header { color: var(--texto-escuro); text-shadow: 0 1px 0 rgba(255,249,242,.35); }
.site-header .brand, .nav a { color: var(--texto-escuro); }
.nav a { font-weight: 600; }
.nav a:hover { color: var(--acento-esc); }
.eyebrow, .hero-copy > p:not(.eyebrow), .rating { color: var(--texto-escuro); }
.hero h1 { color: var(--texto-escuro); font-weight: 600; }
.hero h1 em { color: var(--acento-esc); }
.hero-visual::before { content: ""; position: absolute; z-index: -1; inset: 4% -14% 15%; border-radius: 50%; background: radial-gradient(circle, rgba(255,249,242,.72) 0%, rgba(211,164,94,.34) 35%, rgba(184,104,77,.18) 56%, transparent 73%); filter: blur(10px); }
.hero-photo { position: relative; box-shadow: 0 1.2rem 3.5rem rgba(25,13,12,.19), 0 0 0 1px rgba(211,164,94,.2); }
.hero-photo::after { content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit; box-shadow: inset 0 -2.5rem 3rem rgba(25,13,12,.13); }
.hero .btn { min-height: 52px; padding: 1rem 1.7rem; color: var(--texto-escuro); font-size: 1.05rem; font-weight: 700; letter-spacing: .01em; box-shadow: 0 .7rem 1.8rem rgba(61,23,23,.28); }
.hero .btn::after { content: "→"; margin-left: .65rem; font-size: 1.25em; line-height: 0; }
.hero .btn::before { inset: -45%; opacity: .9; }
.site-header .btn-light { min-height: 44px; padding: .7rem 1.15rem; border: 1px solid var(--acento-esc); background: transparent; color: var(--acento-esc); box-shadow: none; font-size: .9rem; }
.site-header .btn-light::before { display: none; }
@media (max-width: 768px) { .hero { padding-bottom: calc(4rem + var(--cookie-h, 0px)); } .hero-visual::before { inset: 2% -18% 10%; } }
@media (max-width: 480px) { .hero { padding-bottom: calc(3rem + var(--cookie-h, 0px)); } }