/* Homepage header overlays the hero, matching the live site's glass effect. */
:root {
  --solea-header-height: 72px;
  --solea-announce-min-height: 26px;
}
body.home .site-header-shell {
  position: fixed;
  top: 0;
  margin: 0;
  height: auto;
  min-height: var(--solea-header-height, 72px);
}
body.home .site-header-group,
body.home header.site-header {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
}
body.home header.site-header {
  background: transparent;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
body.home header.site-header.is-scrolled { background: #fffdf5; }
body.home .site-header:not(.is-scrolled) .site-logo--dark {
  filter: brightness(0) invert(1);
}
body.home .site-header:not(.is-scrolled) .btn-cta--nav {
  background: #fff8d9;
  color: #451c00;
}
.site-logo { width: 60px !important; max-width: 60px !important; }
.announce-bar { gap: 2px 12px; padding: 4px 24px; }
.announce-bar > a { white-space: nowrap; }
.nav-links a { font-size: 12px; }
.nav-toggle, .nav-drawer-close { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
.lang-switcher ul { display: flex; gap: 8px; margin: 0; padding: 0; }
.lang-switcher li { list-style: none; }
.lang-switcher a { font-size: 12px; }
.lang-switcher:has(> .lang-item:only-child) { display: none; }
.home .site-header:not(.is-scrolled) .lang-switcher a { color: #fff8d9; }
.hero-eyebrow { color: #fff8d9; }
.hero-desc { color: #fff8d9; }
.htrust-item { color: #f4e3d0; }
.hero-overlay { background: linear-gradient(to bottom, rgba(43,16,0,.38) 0%, rgba(43,16,0,.22) 40%, rgba(43,16,0,.55) 80%, rgba(43,16,0,.82) 100%); }

/* Hide the closed dialog from keyboard navigation and assistive technology. */
.ic-modal-overlay[hidden] { display: none; }
.ic-modal-close { min-width: 44px; min-height: 44px; top: 8px; right: 8px; color: #fff8d9; }
.ic-modal-sub, .ic-success-sub { color: #e8d6c4; }
.ic-field label, .ic-modal-note { color: #dbc3ad; }
.ic-field input { font-size: 16px; }
.ic-field input::placeholder { color: #bba38f; }
.ic-form-error { color: #ffc7c1; font-size: 14px; line-height: 1.5; margin: 12px 0; }
.ic-form-error:empty { display: none; }
.ic-modal a { text-decoration: underline; text-underline-offset: 3px; }
.ic-modal .ic-whatsapp-link { display: block; margin: 24px 0 16px; padding: 16px; color: #451c00; background: #fff8d9; text-decoration: none; }
.ic-edit { color: #fff8d9; background: transparent; border: 1px solid #b8936a; padding: 12px 20px; }
.ic-modal :focus-visible, .site-header-shell :focus-visible { outline: 2px solid #c4956a; outline-offset: 4px; }
.solea-legal { max-width: 820px; margin: 0 auto; padding: 64px 24px 88px; }
.solea-legal h1 { font-family: var(--font-display); font-size: clamp(32px, 5vw, 48px); line-height: 1.2; margin-bottom: 24px; }
.solea-legal h2 { font-family: var(--font-display); font-size: 26px; margin: 32px 0 12px; }
.solea-legal p, .solea-legal li { font-size: 16px; line-height: 1.8; color: #60462f; margin-bottom: 16px; }
.solea-legal a { text-decoration: underline; text-underline-offset: 3px; }
.solea-legal ul { list-style: disc; padding-left: 22px; }
.solea-legal__review { padding: 16px 20px; border: 1px solid #b8936a; background: #fff8d9; }

@media (max-width: 900px) {
  :root { --solea-header-height: 68px; }
  .site-logo { width: 56px !important; max-width: 56px !important; }
  body.home .site-header-shell { min-height: var(--solea-header-height); }
  body.home .site-header-group, body.home header.site-header { min-height: var(--solea-header-height); }
  .site-header__nav { z-index: 1200 !important; }
  .site-header-shell { z-index: 1100; }
  body.nav-open .site-header-shell { z-index: 1100; }
  .site-header__nav:not(.is-open) { visibility: hidden; }
  body.home .site-header__nav .nav-links a { color: #451c00 !important; }
  .site-header__nav .nav-links a { min-height: 48px; display: flex; align-items: center; }
  .home .hero-fullscreen { height: auto; min-height: calc(100svh - 110px); }
  .home .hero-content { padding: calc(var(--solea-header-height) + 32px) 24px 100px; }
  .hero-actions { width: 100%; gap: 12px; margin-bottom: 28px; }
  .hero-actions a { justify-content: center; min-height: 48px; }
  .hero-eyebrow { font-size: 10px; letter-spacing: .15em; line-height: 1.8; }
  .announce-bar { padding: 4px 16px; }
  .announce-sep { display: none; }
  .announce-bar > span:first-child { flex-basis: 100%; text-align: center; }
}
@media (max-width: 480px) {
  .hero-actions { flex-direction: column; }
  .hero-title { font-size: clamp(30px, 8.5vw, 40px); }
  .hero-title em { font-size: 1.25em; }
  .hero-desc { font-size: 15px; line-height: 1.65; }
  .header-inner { gap: 10px; }
  .site-header__actions { gap: 8px; }
  .btn-cta--nav { padding: 12px 14px; }
  .ic-modal-overlay { padding: 12px; }
  .ic-modal { max-height: calc(100dvh - 24px); }
  .ic-field-row { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: 1fr 1fr; gap: 24px 16px; }
  .footer-col--brand { grid-column: 1 / -1; }
  .footer-links li a, .footer-links a, .footer-links--contact li { font-size: 13px; overflow-wrap: anywhere; }
  .footer-copy, .footer-legal a { font-size: 11px; }
}
