/* Ajustes globais de responsividade e usabilidade (todas as páginas) */
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
[id] { scroll-margin-top: 96px; }
fieldset { min-width: 0; }
img { max-width: 100%; }

/* foco visível para quem navega pelo teclado */
:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid #E3AE4F; outline-offset: 2px; }

/* área de toque mínima (44px) em links pequenos, sem mudar o visual */
.tl, .bc a { position: relative; }
.tl::after, .bc a::after { content: ""; position: absolute; left: -6px; right: -6px; top: 50%; height: 44px; transform: translateY(-50%); }

/* rodapé: 4 colunas -> 2 -> 1 */
@media (max-width: 960px) {
  footer .ft-grid { grid-template-columns: 1fr 1fr !important; gap: 36px 28px !important; }
}
@media (max-width: 600px) {
  footer .ft-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  footer a[href^="mailto:"], footer a[href^="tel:"] { word-break: break-word; }
}

/* celular: campos com 16px evitam o zoom automático do iPhone ao tocar */
@media (max-width: 800px) {
  footer a:not([aria-label]) { display: inline-block; padding: 9px 0; }
  input:not([type=checkbox]):not([type=radio]):not([type=file]), select, textarea { font-size: 16px !important; }
}

/* hero dividido das páginas internas: texto no painel escuro, foto inteira ao lado (sem texto sobre a imagem) */
.hsplit { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); min-height: clamp(420px, 46vw, 560px); background-color: #1E1B18; background-image: radial-gradient(circle, rgba(255,255,255,0.05) 1px, transparent 1.6px); background-size: 24px 24px; }
.hsplit-text { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; padding: clamp(40px, 5vw, 80px) clamp(24px, 4vw, 64px) clamp(40px, 5vw, 80px) max(clamp(20px, 5vw, 48px), calc((100vw - 1280px) / 2 + 48px)); }
.hsplit-media { position: relative; overflow: hidden; min-height: 280px; }
.hsplit-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.hsplit-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #1E1B18 0%, rgba(30,27,24,0) 20%); pointer-events: none; }
@media (max-width: 900px) {
  .hsplit { grid-template-columns: 1fr; min-height: 0; }
  .hsplit-media { order: -1; aspect-ratio: 16 / 10; min-height: 0; }
  .hsplit-media::after { background: linear-gradient(0deg, #1E1B18 0%, rgba(30,27,24,0) 30%); }
  .hsplit-text { padding: 8px 20px 40px; }
}

/* sem palavra solta no fim da linha */
p,li,blockquote{text-wrap:pretty}
h1,h2,h3{text-wrap:balance}

/* rosa dos ventos da marca girando devagar (decorativa) */
.cmp-spin{animation:cmpSpin 120s linear infinite;will-change:transform}
@keyframes cmpSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.cmp-spin{animation:none}}
