:root {
  --color-primary: #CC0000;
  --color-primary-dark: #A30000;
  --color-secondary: #1A1A1A;
  --color-gold: #C8963E;
  --color-gold-light: #E8B96A;
  --color-bg: #ffffff;
  --color-bg-muted: #F7F5F2;
  --color-bg-dark: #111111;
  --color-surface: #ffffff;
  --color-border: #E2DDD8;
  --color-text-base: #1A1A1A;
  --color-text-muted: #6B6560;
  --color-nav-bg: rgba(255, 255, 255, 0.97);
  --shadow-sm: 0 4px 20px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 8px 40px rgba(0, 0, 0, 0.12);
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --transition: 0.25s ease;
  --font-family-base: 'Inter', system-ui, -apple-system, sans-serif;
  --line-height-base: 1.6;
  --spacing-section-y: 5rem;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  scrollbar-color: #CC0000 #F7F5F2;
  scrollbar-width: thin;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

main { padding-top: 0; }
.c-topbar + header + main,
header + main { padding-top: 0; }
body {
  font-family: var(--font-family-base);
  font-size: 1rem;
  line-height: var(--line-height-base);
  color: var(--color-text-base);
  background: var(--color-bg);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img,
svg {
  max-width: 100%;
  height: auto;
}

iframe {
  border: 0;
}

:focus:not(:focus-visible) {
  outline: none;
}

:focus-visible {
  outline: 2px solid #CC0000;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
a {
  color: var(--color-primary);
  text-decoration: none;
  transition: color var(--transition);
}
a:hover {
  color: var(--color-primary-dark);
}

address {
  font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1.2;
  font-weight: 700;
  color: var(--color-text-base);
}

h1 {
  font-size: clamp(2.2rem, 5vw, 3.5rem);
}

h2 {
  font-size: clamp(1.75rem, 3.5vw, 2.75rem);
}

h3 {
  font-size: clamp(1.1rem, 2vw, 1.4rem);
}

h4 {
  font-size: 1.15rem;
}

.l-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.l-section {
  padding: var(--spacing-section-y) 0;
}
.l-section--muted {
  background: var(--color-bg-muted);
}
.l-section--dark {
  background: var(--color-bg-dark);
  color: #fff;
}

.s-eyebrow {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #CC0000;
  margin-bottom: 0.75rem;
  display: block;
}

.s-title {
  margin-bottom: 1rem;
  letter-spacing: -0.02em;
}
.s-title em {
  font-style: normal;
  color: #CC0000;
}

.s-lead {
  font-size: 1.05rem;
  color: var(--color-text-muted);
  max-width: 560px;
  line-height: 1.75;
}

.s-header {
  margin-bottom: 3rem;
}
.s-header--center {
  text-align: center;
}
.s-header--center .s-lead {
  margin: 0 auto;
}
.s-header--center .s-divider {
  margin: 1.25rem auto;
}

.s-divider {
  width: 48px;
  height: 3px;
  background: linear-gradient(90deg, #CC0000, #C8963E);
  border-radius: 2px;
  margin: 1.25rem 0;
}

.c-topbar {
  background: #1A1A1A;
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.78rem;
  overflow: hidden;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1.5rem;
  position: relative;
}
.c-topbar__ticker {
  overflow: hidden;
  flex: 1;
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.c-topbar__track {
  display: flex;
  gap: 3rem;
  width: max-content;
  animation: ticker 30s linear infinite;
}
.c-topbar__track:hover {
  animation-play-state: paused;
}
.c-topbar__item {
  white-space: nowrap;
  letter-spacing: 0.03em;
}
.c-topbar__item strong {
  color: #E8B96A;
  font-weight: 600;
}
.c-topbar__social {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-left: 1.5rem;
  padding-left: 1.5rem;
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}
.c-topbar__social-link {
  color: rgba(255, 255, 255, 0.6);
  transition: color var(--transition);
  display: flex;
  align-items: center;
}
.c-topbar__social-link:hover {
  color: #E8B96A;
}

@keyframes ticker {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.c-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 900;
  background: var(--color-nav-bg);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--color-border);
  transition: box-shadow var(--transition);
}
.c-nav.is-scrolled {
  box-shadow: var(--shadow-sm);
}
.c-nav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 68px;
}
.c-nav__logo {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
}
.c-nav__logo-emblem {
  width: 42px;
  height: 42px;
  background: #CC0000;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.c-nav__logo-emblem svg {
  width: 26px;
  height: 26px;
  color: #fff;
}
.c-nav__logo-text {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}
.c-nav__logo-name {
  font-size: 0.92rem;
  font-weight: 700;
  color: #1A1A1A;
  letter-spacing: -0.01em;
}
.c-nav__logo-sub {
  font-size: 0.68rem;
  font-weight: 400;
  color: var(--color-text-muted);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.c-nav__links {
  display: flex;
  list-style: none;
  gap: 0.25rem;
  align-items: center;
}
.c-nav__link {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color-text-muted);
  padding: 0.5rem 0.85rem;
  border-radius: 6px;
  transition: color var(--transition), background var(--transition);
  white-space: nowrap;
}
.c-nav__link:hover, .c-nav__link.is-active {
  color: #CC0000;
  background: rgba(204, 0, 0, 0.06);
}
.c-nav__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.c-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  border-radius: 6px;
}
.c-hamburger__bar {
  display: block;
  width: 22px;
  height: 2px;
  background: #1A1A1A;
  border-radius: 2px;
  transition: transform var(--transition), opacity var(--transition);
}

.c-nav-mobile {
  position: fixed;
  inset: 0;
  background: #fff;
  z-index: 950;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  overflow-y: auto;
}
.c-nav-mobile.open {
  transform: translateX(0);
}
.c-nav-mobile__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 1.5rem;
}
.c-nav-mobile__close {
  background: none;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  padding: 0.5rem;
  cursor: pointer;
  color: var(--color-text-base);
}
.c-nav-mobile__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.c-nav-mobile__list a {
  display: block;
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--color-text-base);
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--color-border);
}

.c-announce {
  background: #CC0000;
  padding: 1.1rem 0;
  margin-bottom: 0;
}
.c-announce__inner {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.c-announce__label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.9);
  background: rgba(0, 0, 0, 0.2);
  padding: 0.25rem 0.75rem;
  border-radius: 4px;
  white-space: nowrap;
  flex-shrink: 0;
}
.c-announce__text {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.5;
}
.c-announce__text a {
  color: #fff;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (max-width: 900px) {
  .c-nav__links,
  .c-nav__actions .c-btn {
    display: none;
  }
  .c-hamburger {
    display: flex;
  }
}
.l-footer {
  background: #0D0D0D;
  color: rgba(255, 255, 255, 0.7);
}
.l-footer__inner {
  padding: 4rem 0 2rem;
}
.l-footer__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 3rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 2rem;
}
.l-footer__brand {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
.l-footer__brand-emblem {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  background: #CC0000;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.l-footer__brand-emblem svg {
  width: 22px;
  height: 22px;
  color: #fff;
}
.l-footer__brand-name {
  font-size: 0.88rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
}
.l-footer__brand-name span {
  display: block;
  font-size: 0.65rem;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.45);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.l-footer__desc {
  font-size: 0.85rem;
  line-height: 1.7;
  margin-bottom: 1.5rem;
}
.l-footer__contact-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.l-footer__contact-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  font-size: 0.8rem;
}
.l-footer__contact-list svg {
  flex-shrink: 0;
  opacity: 0.5;
  margin-top: 2px;
}
.l-footer__contact-list a {
  color: rgba(255, 255, 255, 0.7);
  transition: color var(--transition);
}
.l-footer__contact-list a:hover {
  color: #E8B96A;
}
.l-footer__col-title {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 1.25rem;
}
.l-footer__col nav {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.l-footer__link {
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.55);
  transition: color var(--transition);
}
.l-footer__link:hover {
  color: #E8B96A;
}
.l-footer__social {
  display: flex;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
.l-footer__social-btn {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.55);
  transition: background var(--transition), color var(--transition), border-color var(--transition);
}
.l-footer__social-btn svg {
  width: 16px;
  height: 16px;
}
.l-footer__social-btn:hover {
  background: #CC0000;
  color: #fff;
  border-color: #CC0000;
}
.l-footer__copyright {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.35);
}
.l-footer__bottom-links {
  display: flex;
  gap: 1.5rem;
}
.l-footer__bottom-links a {
  color: rgba(255, 255, 255, 0.35);
  font-size: 0.78rem;
  transition: color var(--transition);
}
.l-footer__bottom-links a:hover {
  color: rgba(255, 255, 255, 0.6);
}

@media (max-width: 900px) {
  .l-footer__grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 480px) {
  .l-footer__grid {
    grid-template-columns: 1fr;
  }
}
.c-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  border-radius: var(--radius-sm);
  font-size: 0.9rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all var(--transition);
  white-space: nowrap;
  text-decoration: none;
}
.c-btn--primary {
  background: #CC0000;
  color: #fff;
  border-color: #CC0000;
}
.c-btn--primary:hover {
  background: #A30000;
  border-color: #A30000;
  color: #fff;
}
.c-btn--outline {
  background: transparent;
  color: #CC0000;
  border-color: #CC0000;
}
.c-btn--outline:hover {
  background: #CC0000;
  color: #fff;
}
.c-btn--ghost {
  background: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.4);
}
.c-btn--ghost:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.7);
  color: #fff;
}
.c-btn--gold {
  background: #C8963E;
  color: #fff;
  border-color: #C8963E;
}
.c-btn--gold:hover {
  background: #A8762E;
  border-color: #A8762E;
  color: #fff;
}
.c-btn--sm {
  padding: 0.5rem 1rem;
  font-size: 0.8rem;
}
.c-btn--lg {
  padding: 0.9rem 2rem;
  font-size: 0.975rem;
}

.c-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #1A1A1A;
}
.c-hero__bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(26, 26, 26, 0.92) 0%, rgba(204, 0, 0, 0.55) 55%, rgba(26, 26, 26, 0.88) 100%), url("https://images.unsplash.com/photo-1611348524140-53c9a25263d6?w=1600&q=80") center/cover no-repeat;
}
.c-hero__pattern {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: repeating-linear-gradient(45deg, rgba(200, 150, 62, 0.04) 0, rgba(200, 150, 62, 0.04) 1px, transparent 0, transparent 50%), repeating-linear-gradient(-45deg, rgba(200, 150, 62, 0.04) 0, rgba(200, 150, 62, 0.04) 1px, transparent 0, transparent 50%);
  background-size: 48px 48px;
}
.c-hero__content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-top: 0;
}
.c-hero__inner {
  max-width: 760px;
}
.c-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #E8B96A;
  margin-bottom: 1.25rem;
  padding: 0.4rem 0.85rem;
  border: 1px solid rgba(200, 150, 62, 0.35);
  border-radius: 100px;
  background: rgba(200, 150, 62, 0.1);
}
.c-hero__eyebrow-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #C8963E;
  display: inline-block;
  animation: pulse 2s ease infinite;
}
.c-hero__title {
  color: #fff;
  margin-bottom: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}
.c-hero__title em {
  font-style: normal;
  color: #E8B96A;
  display: block;
}
.c-hero__subtitle {
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(1rem, 2vw, 1.15rem);
  max-width: 560px;
  margin-bottom: 2.25rem;
  line-height: 1.7;
}
.c-hero__ctas {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.c-hero__stats {
  display: flex;
  gap: 0;
  margin-top: 3rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding-top: 2rem;
  padding-bottom: 3rem;
  flex-wrap: wrap;
}
.c-hero__stat {
  flex: 1;
  min-width: 120px;
  padding-right: 2rem;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}
.c-hero__stat:last-child {
  border-right: none;
}
.c-hero__stat-num {
  font-size: clamp(1.4rem, 2.5vw, 1.9rem);
  font-weight: 600;
  color: #fff;
  line-height: 1;
  display: block;
  margin-bottom: 0.5rem;
}
.c-hero__stat-num em {
  font-style: normal;
  color: #E8B96A;
  font-size: 0.7em;
  font-weight: 400;
  margin-left: 1px;
}
.c-hero__stat-label {
  font-size: 0.72rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  display: block;
}
.c-hero__scroll {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  animation: bounce 2s ease infinite;
}
.c-hero__scroll svg {
  color: rgba(255, 255, 255, 0.3);
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
}
@keyframes bounce {
  0%, 100% {
    transform: translateX(-50%) translateY(0);
  }
  50% {
    transform: translateX(-50%) translateY(6px);
  }
}
.c-form-card {
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: 2rem;
  box-shadow: var(--shadow-sm);
}

.c-form__group {
  margin-bottom: 1.25rem;
}
.c-form__grid2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
@media (max-width: 760px) {
  .c-form__grid2 {
    grid-template-columns: 1fr;
  }
}
.c-form__label {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--color-text-base);
}
.c-form__input, .c-form__textarea, .c-form__select {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-family: inherit;
  font-size: 0.9rem;
  color: var(--color-text-base);
  background: var(--color-bg);
  transition: border-color var(--transition);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
/* Select — custom arrow, no browser blue */
.c-form__select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%236B6560' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.85rem center;
  background-size: 16px;
  padding-right: 2.5rem;
  cursor: pointer;
  accent-color: #CC0000;
}
.c-form__select option {
  background: var(--color-bg);
  color: var(--color-text-base);
}
[data-theme=dark] .c-form__select {
  color-scheme: dark;
}
[data-theme=dark] .c-form__select option {
  background: #1E1B17;
  color: #F3F0EB;
}
.c-form__input:focus, .c-form__textarea:focus, .c-form__select:focus {
  outline: none;
  border-color: #CC0000;
}
.c-form__textarea {
  resize: vertical;
  min-height: 120px;
}
.c-form__submit {
  width: 100%;
  padding: 0.875rem;
  background: #CC0000;
  color: #fff;
  border: none;
  border-radius: var(--radius-sm);
  font-size: 0.9rem;
  font-weight: 700;
  cursor: pointer;
  transition: background var(--transition);
  font-family: inherit;
}
.c-form__submit:hover {
  background: #A30000;
}

.c-map {
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--color-border);
  margin-top: 1.5rem;
}
.c-map iframe {
  display: block;
  width: 100%;
  height: 220px;
  border: none;
}

.c-back-to-top {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #CC0000;
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-md);
  opacity: 0;
  transform: translateY(10px);
  transition: opacity var(--transition), transform var(--transition), background var(--transition);
  z-index: 800;
}
.c-back-to-top.visible {
  opacity: 1;
  transform: translateY(0);
}
.c-back-to-top:hover {
  background: #A30000;
}

.c-cookie {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #1A1A1A;
  color: rgba(255, 255, 255, 0.85);
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
  z-index: 1000;
  transform: translateY(100%);
  transition: transform 0.4s ease;
  border-top: 3px solid #CC0000;
}
.c-cookie.visible {
  transform: translateY(0);
}
.c-cookie__text {
  font-size: 0.85rem;
  max-width: 600px;
}
.c-cookie__text a {
  color: #E8B96A;
}
.c-cookie__actions {
  display: flex;
  gap: 0.75rem;
}

.c-scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0%;
  background: linear-gradient(90deg, #CC0000, #C8963E);
  z-index: 9999;
  transition: width 0.1s linear;
}

.u-skip-link {
  position: absolute;
  top: -100%;
  left: 1rem;
  background: #CC0000;
  color: #fff;
  padding: 0.5rem 1rem;
  border-radius: var(--radius-sm);
  font-weight: 600;
  font-size: 0.875rem;
  z-index: 10000;
}
.u-skip-link:focus {
  top: 1rem;
}

.p-identity__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: flex-start;
}
@media (max-width: 900px) {
  .p-identity__grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.p-identity__tabs {
  display: flex;
  gap: 0.25rem;
  margin: 1.75rem 0 1.25rem;
  border-bottom: 2px solid var(--color-border);
}
.p-identity__tab {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  padding: 0.5rem 1.1rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-text-muted);
  cursor: pointer;
  transition: color var(--transition), border-color var(--transition);
  font-family: inherit;
}
.p-identity__tab.active {
  color: #CC0000;
  border-bottom-color: #CC0000;
}
.p-identity__panel {
  display: none;
  animation: fadeIn 0.3s ease;
  overflow-y: auto;
  max-height: 100vh;
}
.p-identity__panel.active {
  display: block;
}
.p-identity__panel p {
  color: var(--color-text-muted);
  margin-bottom: 1rem;
  line-height: 1.75;
}
.p-identity__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.p-identity__list li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.9rem;
  color: var(--color-text-muted);
}
.p-identity__check {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  flex-shrink: 0;
  background: rgba(204, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-identity__check::after {
  content: "";
  width: 8px;
  height: 5px;
  border-left: 2px solid #CC0000;
  border-bottom: 2px solid #CC0000;
  transform: rotate(-45deg) translateY(-1px);
  display: block;
}
.p-identity__visual {
  position: relative;
  overflow: hidden;
  height: fit-content;
}
.p-identity__img-wrap {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 4/3;
  background: var(--color-bg-muted);
}
.p-identity__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.p-identity__img-wrap-placeholder {
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 4/3;
  background: linear-gradient(135deg, #1A1A1A 0%, #CC0000 60%, #C8963E 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  gap: 1rem;
}
.p-identity__img-wrap-placeholder svg {
  opacity: 0.5;
}
.p-identity__img-wrap-placeholder p {
  font-size: 0.85rem;
  opacity: 0.7;
  max-width: 200px;
}
.p-identity__badge {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  background: #fff;
  border-radius: var(--radius-md);
  padding: 0.9rem 1.1rem;
  box-shadow: var(--shadow-md);
  border: 1px solid var(--color-border);
  margin-top: 1.25rem;
  width: fit-content;
}
.p-identity__badge-icon {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: linear-gradient(135deg, #CC0000, #C8963E);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.p-identity__badge-icon svg {
  color: #fff;
}
.p-identity__badge-copy strong {
  display: block;
  font-size: 0.92rem;
  font-weight: 700;
}
.p-identity__badge-copy span {
  font-size: 0.75rem;
  color: var(--color-text-muted);
}
.p-identity__counters {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: 1.5rem;
}
.p-identity__counter {
  background: var(--color-bg-muted);
  border-radius: var(--radius-md);
  padding: 1.1rem;
  text-align: center;
}
.p-identity__counter-num {
  display: block;
  font-size: 1.6rem;
  font-weight: 800;
  color: #CC0000;
  line-height: 1;
}
.p-identity__counter-label {
  font-size: 0.72rem;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 0.3rem;
  display: block;
}
.p-identity__marquee {
  overflow: hidden;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--color-border);
}
.p-identity__marquee-label {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin-bottom: 1rem;
}
.p-identity__marquee-track {
  display: flex;
  gap: 1.5rem;
  width: max-content;
  animation: ticker 25s linear infinite;
}
.p-identity__marquee-track:hover {
  animation-play-state: paused;
}
.p-identity__badge-tag {
  font-size: 0.78rem;
  font-weight: 600;
  padding: 0.4rem 1rem;
  border-radius: 100px;
  border: 1px solid var(--color-border);
  color: var(--color-text-muted);
  white-space: nowrap;
  background: var(--color-bg);
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.sec-pillars {
  background: #111111;
  padding: 5rem 0;
}
.sec-pillars__eyebrow {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #E8B96A;
  margin-bottom: 0.75rem;
}
.sec-pillars__title {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.01em;
  margin-bottom: 1rem;
  line-height: 1.2;
}
.sec-pillars__title em {
  font-style: normal;
  color: #CC0000;
}
.sec-pillars__lead {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.75;
  max-width: 560px;
}
.sec-pillars__head {
  margin-bottom: 3rem;
}
.sec-pillars__stats {
  display: flex;
  gap: 0;
  margin-bottom: 3rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  flex-wrap: wrap;
}
.sec-pillars__stat {
  flex: 1;
  min-width: 140px;
  padding: 0 2rem 0 0;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
}
.sec-pillars__stat:last-child {
  border-right: none;
}
.sec-pillars__stat strong {
  display: block;
  font-size: 1.5rem;
  font-weight: 600;
  color: #E8B96A;
  line-height: 1;
  margin-bottom: 0.4rem;
}
.sec-pillars__stat span {
  display: block;
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.4);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.sec-pillars__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
@media (max-width: 640px) {
  .sec-pillars__grid {
    grid-template-columns: 1fr;
  }
}
.sec-pillars__card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 12px;
  padding: 2rem;
  transition: background 0.25s ease, border-color 0.25s ease;
}
.sec-pillars__card:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(200, 150, 62, 0.3);
}
.sec-pillars__card h3 {
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 0.6rem;
}
.sec-pillars__card p {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.7;
}
.sec-pillars__num {
  display: block;
  font-size: 0.65rem;
  font-weight: 700;
  color: #C8963E;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}

.p-svc__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2rem;
  flex-wrap: wrap;
  margin-bottom: 3rem;
}
.p-svc__featured {
  background: linear-gradient(135deg, #CC0000 0%, #991100 100%);
  border-radius: var(--radius-lg);
  padding: 3rem;
  margin-bottom: 1.5rem;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2rem;
  align-items: start;
  position: relative;
  overflow: hidden;
}
.p-svc__featured::after {
  content: "01";
  position: absolute;
  right: 2rem;
  top: 1rem;
  font-size: 6rem;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.07);
  line-height: 1;
}
@media (max-width: 760px) {
  .p-svc__featured {
    grid-template-columns: 1fr;
  }
}
.p-svc__featured-icon {
  width: 56px;
  height: 56px;
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.p-svc__featured-icon svg {
  color: #fff;
  width: 28px;
  height: 28px;
}
.p-svc__featured-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 0.5rem;
}
.p-svc__featured-body {
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.7;
  margin-bottom: 1.5rem;
}
.p-svc__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  padding-bottom: 2px;
  transition: border-color var(--transition), gap var(--transition);
}
.p-svc__cta:hover {
  border-color: #fff;
  gap: 0.75rem;
  color: #fff;
}
.p-svc__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media (max-width: 760px) {
  .p-svc__grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 480px) {
  .p-svc__grid {
    grid-template-columns: 1fr;
  }
}
.p-svc__card {
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 1.75rem;
  position: relative;
  overflow: hidden;
  transition: transform var(--transition), box-shadow var(--transition);
}
.p-svc__card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}
.p-svc__card-bar {
  height: 3px;
  border-radius: 2px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.p-svc__card-num {
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--color-text-muted);
  letter-spacing: 0.1em;
  display: block;
  margin-bottom: 1rem;
}
.p-svc__card-icon {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: var(--color-bg-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}
.p-svc__card-icon svg {
  width: 22px;
  height: 22px;
  color: #CC0000;
}
.p-svc__card-title {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.p-svc__card-body {
  font-size: 0.875rem;
  color: var(--color-text-muted);
  line-height: 1.65;
  margin-bottom: 1.25rem;
}
.p-svc__card-link {
  font-size: 0.8rem;
  font-weight: 600;
  color: #CC0000;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.p-svc__card-link:hover {
  gap: 0.6rem;
}

.grad-1 {
  background: linear-gradient(90deg, #CC0000, #C8963E);
}

.grad-2 {
  background: linear-gradient(90deg, #C8963E, #E8B96A);
}

.grad-3 {
  background: linear-gradient(90deg, #800000, #CC0000);
}

.grad-4 {
  background: linear-gradient(90deg, #1A1A1A, #C8963E);
}

.grad-5 {
  background: linear-gradient(90deg, #CC0000, #C8963E);
}

.p-news__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media (max-width: 760px) {
  .p-news__grid {
    grid-template-columns: 1fr;
  }
}
.p-news__card {
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  overflow: hidden;
  background: var(--color-bg);
  display: flex;
  flex-direction: column;
  transition: transform var(--transition), box-shadow var(--transition);
}
.p-news__card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}
.p-news__card-img {
  aspect-ratio: 16/9;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-muted);
}
.p-news__card-img--red {
  background: linear-gradient(135deg, #CC0000 0%, #991100 100%);
}
.p-news__card-img--gold {
  background: linear-gradient(135deg, #C8963E 0%, #8B5E1A 100%);
}
.p-news__card-img--dark {
  background: linear-gradient(135deg, #1A1A1A 0%, #374151 100%);
}
.p-news__card-img-inner {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.5rem;
  color: rgba(255, 255, 255, 0.6);
}
.p-news__card-img-inner svg {
  opacity: 0.4;
  width: 40px;
  height: 40px;
}
.p-news__card-img-inner span {
  font-size: 0.75rem;
  opacity: 0.6;
}
.p-news__card-body {
  padding: 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.p-news__card-meta {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  margin-bottom: 0.75rem;
}
.p-news__card-cat {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #CC0000;
  background: rgba(204, 0, 0, 0.08);
  padding: 0.2rem 0.6rem;
  border-radius: 4px;
}
.p-news__card-date {
  font-size: 0.75rem;
  color: var(--color-text-muted);
}
.p-news__card-title {
  font-size: 0.975rem;
  font-weight: 700;
  margin-bottom: 0.6rem;
  line-height: 1.4;
  flex: 1;
}
.p-news__card-title a {
  color: var(--color-text-base);
}
.p-news__card-title a:hover {
  color: #CC0000;
}
.p-news__card-excerpt {
  font-size: 0.85rem;
  color: var(--color-text-muted);
  line-height: 1.65;
}
.p-news__card-footer {
  padding: 0 1.5rem 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-news__source {
  font-size: 0.72rem;
  color: var(--color-text-muted);
}
.p-news__read-more {
  font-size: 0.8rem;
  font-weight: 600;
  color: #CC0000;
}

.p-comunas__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
@media (max-width: 760px) {
  .p-comunas__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .p-comunas__grid {
    grid-template-columns: 1fr 1fr;
  }
}
.p-comunas__card {
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 1.5rem;
  text-align: center;
  transition: border-color var(--transition), box-shadow var(--transition);
  cursor: default;
}
.p-comunas__card:hover {
  border-color: #CC0000;
  box-shadow: 0 0 0 3px rgba(204, 0, 0, 0.07);
}
.p-comunas__icon {
  width: 52px;
  height: 52px;
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, #CC0000, #C8963E);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
}
.p-comunas__icon svg {
  color: #fff;
  width: 24px;
  height: 24px;
}
.p-comunas__name {
  font-size: 0.975rem;
  font-weight: 700;
  margin-bottom: 0.35rem;
}
.p-comunas__desc {
  font-size: 0.78rem;
  color: var(--color-text-muted);
}

.p-team__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media (max-width: 760px) {
  .p-team__grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 480px) {
  .p-team__grid {
    grid-template-columns: 1fr;
  }
}
.p-team__card {
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: transform var(--transition), box-shadow var(--transition);
}
.p-team__card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}
.p-team__card-header {
  height: 180px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.p-team__card-header--red {
  background: linear-gradient(135deg, #CC0000, #800000);
}
.p-team__card-header--dark {
  background: linear-gradient(135deg, #1A1A1A, #374151);
}
.p-team__card-header--gold {
  background: linear-gradient(135deg, #C8963E, #7A5A1E);
}
.p-team__avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  border: 3px solid rgba(255, 255, 255, 0.3);
}
.p-team__card-body {
  padding: 1.5rem;
}
.p-team__name {
  font-size: 0.975rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}
.p-team__role {
  font-size: 0.8rem;
  color: #CC0000;
  font-weight: 600;
  margin-bottom: 0.25rem;
}
.p-team__date {
  font-size: 0.75rem;
  color: var(--color-text-muted);
}

.p-contact__grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 4rem;
  align-items: start;
}
@media (max-width: 760px) {
  .p-contact__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}
.p-contact__info {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}
.p-contact__item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}
.p-contact__icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  flex-shrink: 0;
  background: rgba(204, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-contact__icon svg {
  color: #CC0000;
  width: 20px;
  height: 20px;
}
.p-contact__label {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-text-muted);
  display: block;
  margin-bottom: 0.2rem;
}
.p-contact__text {
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--color-text-base);
}

/* js-reveal handled below with .is-revealed */

.u-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* =============================================================================
   EXTENSÕES — Notificações, Validação, Dark Mode, Redes Sociais, Push
   ============================================================================= */

/* ── Dark Mode ────────────────────────────────────────────────────────────── */
[data-theme=dark] {
  --color-bg:           #14120F;
  --color-bg-muted:     #1B1814;
  --color-bg-dark:      #0A0907;
  --color-surface:      #1E1B17;
  --color-border:       #322D27;
  --color-text-base:    #F3F0EB;
  --color-text-muted:   #A39C92;
  --color-nav-bg:       rgba(20,18,15,0.95);
  --shadow-sm:          0 4px 20px rgba(0,0,0,0.35);
  --shadow-md:          0 8px 40px rgba(0,0,0,0.5);
}
body { transition: background-color 0.25s ease, color 0.25s ease; }

/* ── Scroll reveal ────────────────────────────────────────────────────────── */
.js-reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.6s ease, transform 0.6s ease; }
.js-reveal.is-revealed { opacity: 1; transform: translateY(0); }

/* ── Back to top ──────────────────────────────────────────────────────────── */
.c-back-to-top { opacity: 0; transform: translateY(10px); transition: opacity 0.25s ease, transform 0.25s ease, background 0.25s ease; }
.c-back-to-top.is-visible { opacity: 1; transform: translateY(0); }

/* ── Cookie banner ────────────────────────────────────────────────────────── */
.c-cookie { transform: translateY(0); transition: transform 0.4s ease; }
.c-cookie.is-hidden { transform: translateY(120%); }

/* ── Notification system ──────────────────────────────────────────────────── */
#notificationContainer {
  position: fixed; bottom: 1.5rem; right: 1.5rem;
  z-index: 9000; display: flex; flex-direction: column; gap: 0.75rem;
  pointer-events: none;
}
.c-notification {
  display: flex; align-items: flex-start; gap: 0.75rem;
  padding: 1rem 1.25rem; border-radius: 10px;
  background: #fff; border: 1px solid var(--color-border);
  box-shadow: var(--shadow-md); min-width: 280px; max-width: 380px;
  transform: translateX(calc(100% + 1rem)); transition: transform 0.3s ease;
  pointer-events: all;
}
.c-notification.show { transform: translateX(0); }
.c-notification--success { border-left: 4px solid #C8963E; }
.c-notification--error   { border-left: 4px solid #CC0000; }
.c-notification--warning { border-left: 4px solid #C8963E; }
.c-notification--info    { border-left: 4px solid #1A1A1A; }
.c-notification__icon { font-size: 1rem; font-weight: 700; flex-shrink: 0; margin-top: 1px; }
.c-notification--success .c-notification__icon { color: #C8963E; }
.c-notification--error   .c-notification__icon { color: #CC0000; }
.c-notification--warning .c-notification__icon { color: #C8963E; }
.c-notification__text { font-size: 0.875rem; flex: 1; color: var(--color-text-base); line-height: 1.5; }
.c-notification__close { background: none; border: none; cursor: pointer; color: var(--color-text-muted); font-size: 0.875rem; padding: 0; margin-left: auto; flex-shrink: 0; }
[data-theme=dark] .c-notification { background: #1E1B17; }

/* ── Push notification banner ─────────────────────────────────────────────── */
.c-push-banner {
  position: fixed; top: 1.5rem; right: 1.5rem; z-index: 8900;
  background: #fff; border: 1px solid var(--color-border);
  border-radius: 14px; padding: 1.25rem 1.5rem;
  box-shadow: var(--shadow-md); max-width: 340px;
  display: flex; flex-direction: column; gap: 0.75rem;
  transform: translateX(calc(100% + 2rem)); opacity: 0;
  transition: transform 0.4s ease, opacity 0.4s ease;
}
.c-push-banner.show { transform: translateX(0); opacity: 1; }
.c-push-banner__icon { width: 40px; height: 40px; background: #CC0000; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.c-push-banner__icon svg { color: #fff; }
.c-push-banner__head { display: flex; align-items: center; gap: 0.75rem; }
.c-push-banner__title { font-size: 0.9rem; font-weight: 700; color: var(--color-text-base); }
.c-push-banner__body { font-size: 0.8rem; color: var(--color-text-muted); line-height: 1.5; }
.c-push-banner__actions { display: flex; gap: 0.5rem; }
.c-push-banner__allow { flex: 1; padding: 0.5rem; background: #CC0000; color: #fff; border: none; border-radius: 6px; font-size: 0.8rem; font-weight: 600; cursor: pointer; font-family: inherit; }
.c-push-banner__deny { padding: 0.5rem 0.75rem; background: none; border: 1px solid var(--color-border); border-radius: 6px; font-size: 0.8rem; color: var(--color-text-muted); cursor: pointer; font-family: inherit; }
[data-theme=dark] .c-push-banner { background: #1E1B17; }

/* ── Form validation states ───────────────────────────────────────────────── */
.c-form__input.field-valid   { border-color: #C8963E; }
.c-form__input.field-invalid { border-color: #CC0000; }
/* c-form__error handled below */
.c-form__counter { font-size: 0.75rem; color: var(--color-text-muted); text-align: right; margin-top: 0.3rem; }
.c-form__counter.is-near-limit { color: #C8963E; }
.c-form__counter.is-over-limit  { color: #CC0000; font-weight: 600; }

/* ── Theme toggle button ──────────────────────────────────────────────────── */
.c-theme-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 6px;
  border: 1.5px solid var(--color-border); background: transparent;
  color: var(--color-text-muted); cursor: pointer;
  transition: color 0.25s ease, border-color 0.25s ease;
  flex-shrink: 0;
}
.c-theme-toggle:hover { color: #CC0000; border-color: #CC0000; }
.c-theme-toggle__sun  { display: none; }
.c-theme-toggle__moon { display: block; }
[data-theme=dark] .c-theme-toggle__sun  { display: block; }
[data-theme=dark] .c-theme-toggle__moon { display: none; }

/* ── Stats spacing fix — more margin below hero stats ─────────────────────── */
/* hero stats spacing handled above */

/* ── Redes sociais — só vermelho/dourado/preto ────────────────────────────── */
.l-footer__social-btn:hover { background: #CC0000; color: #fff; border-color: #CC0000; }

/* ── Inner page layout (about, news, post, gallery, legal, etc.) ──────────── */
.l-page-hero {
  background: linear-gradient(135deg, #1A1A1A 0%, #CC0000 60%, #1A1A1A 100%);
  padding: 5rem 0 4rem; position: relative; overflow: hidden;
}
.l-page-hero::before {
  content: ''; position: absolute; inset: 0;
  background-image: repeating-linear-gradient(45deg, rgba(200,150,62,0.04) 0, rgba(200,150,62,0.04) 1px, transparent 0, transparent 50%),
                    repeating-linear-gradient(-45deg, rgba(200,150,62,0.04) 0, rgba(200,150,62,0.04) 1px, transparent 0, transparent 50%);
  background-size: 48px 48px; pointer-events: none;
}
.l-page-hero__eyebrow { font-size: 0.72rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: #E8B96A; margin-bottom: 0.75rem; display: block; }
.l-page-hero__title { color: #fff; font-size: clamp(2rem, 4vw, 3rem); font-weight: 600; letter-spacing: -0.01em; margin-bottom: 0.75rem; }
.l-page-hero__title em { font-style: normal; color: #E8B96A; }
.l-page-hero__lead { color: rgba(255,255,255,0.7); font-size: 1rem; max-width: 560px; line-height: 1.7; }
.l-page-hero__breadcrumb { display: flex; align-items: center; gap: 0.5rem; font-size: 0.8rem; color: rgba(255,255,255,0.5); margin-bottom: 1.5rem; flex-wrap: wrap; }
.l-page-hero__breadcrumb a { color: rgba(255,255,255,0.6); transition: color 0.25s; }
.l-page-hero__breadcrumb a:hover { color: #E8B96A; }
.l-page-hero__breadcrumb span { color: rgba(255,255,255,0.3); }

/* ── News/Post grid and cards ─────────────────────────────────────────────── */
.p-news-listing { display: grid; grid-template-columns: 2fr 1fr; gap: 3rem; align-items: start; }
.p-news-listing__sidebar { position: sticky; top: 90px; }
@media (max-width: 860px) { .p-news-listing { grid-template-columns: 1fr; } .p-news-listing__sidebar { position: static; } }
.p-news-filter { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 2rem; }
.p-news-filter__btn { padding: 0.4rem 1rem; border-radius: 100px; border: 1.5px solid var(--color-border); background: none; font-size: 0.8rem; font-weight: 600; color: var(--color-text-muted); cursor: pointer; font-family: inherit; transition: all 0.25s; }
.p-news-filter__btn.active, .p-news-filter__btn:hover { background: #CC0000; color: #fff; border-color: #CC0000; }
.p-news-big { display: grid; gap: 2rem; }
.p-news-big__card { display: grid; grid-template-columns: 200px 1fr; gap: 1.5rem; border: 1px solid var(--color-border); border-radius: 12px; overflow: hidden; background: var(--color-bg); transition: box-shadow 0.25s; }
.p-news-big__card:hover { box-shadow: var(--shadow-md); }
.p-news-big__img { background: linear-gradient(135deg, #CC0000, #1A1A1A); min-height: 140px; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.3); font-size: 0.75rem; }
.p-news-big__body { padding: 1.25rem 1.25rem 1.25rem 0; }
@media (max-width: 520px) { .p-news-big__card { grid-template-columns: 1fr; } .p-news-big__img { min-height: 160px; } .p-news-big__body { padding: 1rem; } }
.p-sidebar-card { background: var(--color-bg-muted); border-radius: 12px; padding: 1.5rem; margin-bottom: 1.5rem; }
.p-sidebar-card__title { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--color-text-muted); margin-bottom: 1rem; }
.p-sidebar-links { list-style: none; display: flex; flex-direction: column; gap: 0.5rem; }
.p-sidebar-links li { border-bottom: 1px solid var(--color-border); padding-bottom: 0.5rem; }
.p-sidebar-links li:last-child { border-bottom: none; padding-bottom: 0; }
.p-sidebar-links a { font-size: 0.875rem; color: var(--color-text-base); display: flex; align-items: center; gap: 0.5rem; }
.p-sidebar-links a:hover { color: #CC0000; }

/* ── Post layout ──────────────────────────────────────────────────────────── */
.p-post { display: grid; grid-template-columns: 1fr 320px; gap: 4rem; align-items: start; }
@media (max-width: 860px) { .p-post { grid-template-columns: 1fr; } }
.p-post__content { font-size: 0.975rem; line-height: 1.8; color: var(--color-text-base); }
.p-post__content h2 { font-size: 1.4rem; font-weight: 700; margin: 2rem 0 0.75rem; }
.p-post__content h3 { font-size: 1.1rem; font-weight: 700; margin: 1.5rem 0 0.6rem; }
.p-post__content p { margin-bottom: 1.25rem; }
.p-post__content ul { padding-left: 1.5rem; margin-bottom: 1.25rem; }
.p-post__content ul li { margin-bottom: 0.4rem; }
.p-post__content blockquote { border-left: 4px solid #CC0000; padding-left: 1.25rem; margin: 1.5rem 0; font-style: italic; color: var(--color-text-muted); }
.p-post__meta { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 2rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--color-border); }
.p-post__cat { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: #CC0000; background: rgba(204,0,0,0.08); padding: 0.2rem 0.6rem; border-radius: 4px; }
.p-post__date { font-size: 0.8rem; color: var(--color-text-muted); }
.p-post__source { font-size: 0.8rem; color: var(--color-text-muted); }
.p-post__sidebar { position: sticky; top: 90px; }

/* ── Gallery ──────────────────────────────────────────────────────────────── */
.p-gallery__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
@media (max-width: 760px) { .p-gallery__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .p-gallery__grid { grid-template-columns: 1fr; } }
.p-gallery__item { aspect-ratio: 4/3; border-radius: 10px; overflow: hidden; cursor: pointer; position: relative; }
.p-gallery__thumb { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }
.p-gallery__item:hover .p-gallery__thumb { transform: scale(1.05); }
.p-gallery__item-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 0.5rem; color: rgba(255,255,255,0.7); font-size: 0.75rem; }
.p-gallery__cat { position: absolute; top: 0.75rem; left: 0.75rem; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; background: rgba(0,0,0,0.6); color: #fff; padding: 0.2rem 0.5rem; border-radius: 4px; }

/* ── Legal pages ──────────────────────────────────────────────────────────── */
.p-legal { max-width: 760px; margin: 0 auto; }
.p-legal h2 { font-size: 1.25rem; font-weight: 700; margin: 2rem 0 0.75rem; color: var(--color-text-base); }
.p-legal h3 { font-size: 1rem; font-weight: 700; margin: 1.5rem 0 0.5rem; color: var(--color-text-base); }
.p-legal p  { font-size: 0.95rem; line-height: 1.8; color: var(--color-text-muted); margin-bottom: 1rem; }
.p-legal ul { padding-left: 1.5rem; margin-bottom: 1rem; }
.p-legal ul li { font-size: 0.95rem; line-height: 1.7; color: var(--color-text-muted); margin-bottom: 0.35rem; }
.p-legal__toc { background: var(--color-bg-muted); border-radius: 12px; padding: 1.5rem; margin-bottom: 2.5rem; }
.p-legal__toc-title { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--color-text-muted); margin-bottom: 1rem; }
.p-legal__toc-list { list-style: none; display: flex; flex-direction: column; gap: 0.4rem; }
.p-legal__toc-list a { font-size: 0.875rem; color: var(--color-text-base); display: flex; align-items: center; gap: 0.5rem; }
.p-legal__toc-list a:hover { color: #CC0000; }
.p-legal__last-update { font-size: 0.8rem; color: var(--color-text-muted); margin-bottom: 2.5rem; }

/* ── Laws page ────────────────────────────────────────────────────────────── */
.p-laws__search { display: flex; gap: 0.75rem; margin-bottom: 2rem; }
.p-laws__search-input { flex: 1; padding: 0.75rem 1rem; border: 1.5px solid var(--color-border); border-radius: 8px; font-family: inherit; font-size: 0.9rem; background: var(--color-bg); color: var(--color-text-base); }
.p-laws__search-input:focus { outline: none; border-color: #CC0000; }
.p-laws__grid { display: grid; gap: 1rem; }
.p-laws__card { border: 1px solid var(--color-border); border-radius: 12px; padding: 1.5rem; background: var(--color-bg); display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: start; transition: box-shadow 0.25s; }
.p-laws__card:hover { box-shadow: var(--shadow-sm); }
.p-laws__card-icon { width: 44px; height: 44px; border-radius: 10px; background: rgba(204,0,0,0.08); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.p-laws__card-icon svg { color: #CC0000; width: 22px; height: 22px; }
.p-laws__card-num { font-size: 0.7rem; font-weight: 700; color: #CC0000; letter-spacing: .1em; text-transform: uppercase; display: block; margin-bottom: 0.35rem; }
.p-laws__card-title { font-size: 0.95rem; font-weight: 700; color: var(--color-text-base); margin-bottom: 0.3rem; }
.p-laws__card-desc { font-size: 0.825rem; color: var(--color-text-muted); line-height: 1.5; }
.p-laws__card-link { font-size: 0.8rem; font-weight: 600; color: #CC0000; white-space: nowrap; display: inline-flex; align-items: center; gap: 0.3rem; }
@media (max-width: 600px) { .p-laws__card { grid-template-columns: auto 1fr; } .p-laws__card-link { grid-column: 2; } }

/* ── Tourist map page ─────────────────────────────────────────────────────── */
.p-tourism__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-bottom: 2.5rem; }
@media (max-width: 760px) { .p-tourism__grid { grid-template-columns: 1fr; } }
.p-tourism__card { border: 1px solid var(--color-border); border-radius: 12px; overflow: hidden; background: var(--color-bg); transition: box-shadow 0.25s; }
.p-tourism__card:hover { box-shadow: var(--shadow-md); }
.p-tourism__card-img { height: 160px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 0.5rem; color: rgba(255,255,255,0.8); font-size: 0.8rem; }
.p-tourism__card-body { padding: 1.25rem; }
.p-tourism__card-tag { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: #C8963E; margin-bottom: 0.4rem; display: block; }
.p-tourism__card-title { font-size: 1rem; font-weight: 700; margin-bottom: 0.4rem; }
.p-tourism__card-desc { font-size: 0.825rem; color: var(--color-text-muted); line-height: 1.55; }
.p-tourism__map { border-radius: 12px; overflow: hidden; border: 1px solid var(--color-border); margin-bottom: 2.5rem; }
.p-tourism__map iframe { display: block; width: 100%; height: 380px; border: none; }

/* ── Emergency / contacts page ────────────────────────────────────────────── */
.p-emergency__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-bottom: 2.5rem; }
@media (max-width: 760px) { .p-emergency__grid { grid-template-columns: 1fr; } }
.p-emergency__card { border: 1px solid var(--color-border); border-radius: 12px; padding: 1.5rem; background: var(--color-bg); }
.p-emergency__card--highlight { background: #CC0000; border-color: #CC0000; color: #fff; }
.p-emergency__card--highlight .p-emergency__label { color: rgba(255,255,255,0.8); }
.p-emergency__card--highlight .p-emergency__number { color: #fff; }
.p-emergency__card--highlight .p-emergency__desc { color: rgba(255,255,255,0.7); }
.p-emergency__icon { width: 44px; height: 44px; border-radius: 10px; background: rgba(204,0,0,0.08); display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; }
.p-emergency__card--highlight .p-emergency__icon { background: rgba(255,255,255,0.15); }
.p-emergency__icon svg { color: #CC0000; width: 22px; height: 22px; }
.p-emergency__card--highlight .p-emergency__icon svg { color: #fff; }
.p-emergency__label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--color-text-muted); margin-bottom: 0.4rem; display: block; }
.p-emergency__number { font-size: 1.5rem; font-weight: 700; color: var(--color-text-base); display: block; margin-bottom: 0.25rem; }
.p-emergency__desc { font-size: 0.825rem; color: var(--color-text-muted); line-height: 1.5; }
.p-services-directory { display: grid; gap: 1rem; }
.p-services-directory__item { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; border: 1px solid var(--color-border); border-radius: 10px; padding: 1.1rem 1.25rem; background: var(--color-bg); }
.p-services-directory__name { font-size: 0.9rem; font-weight: 600; color: var(--color-text-base); margin-bottom: 0.2rem; }
.p-services-directory__addr { font-size: 0.8rem; color: var(--color-text-muted); }
.p-services-directory__tel { font-size: 0.875rem; font-weight: 600; color: #CC0000; white-space: nowrap; }
@media (max-width: 600px) { .p-services-directory__item { grid-template-columns: auto 1fr; } .p-services-directory__tel { grid-column: 2; } }

/* ── Redes sociais footer — Angola colors only ────────────────────────────── */
.l-footer__social-btn { border-color: rgba(255,255,255,0.1); }
.l-footer__social-btn:hover { background: #CC0000; border-color: #CC0000; color: #fff; }

/* ── Hero stats margin fix ─────────────────────────────────────────────────── */
.c-hero__stats { margin-top: 3rem; }
.sec-pillars { margin-top: 0; }

/* ── Language switcher ───────────────────────────────────────────────────── */
.c-lang-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0 0.6rem;
  height: 36px;
  border-radius: 6px;
  border: 1.5px solid var(--color-border);
  background: transparent;
  color: var(--color-text-muted);
  font-size: 0.78rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  letter-spacing: .05em;
  transition: color 0.25s, border-color 0.25s;
  flex-shrink: 0;
}
.c-lang-toggle:hover { color: #CC0000; border-color: #CC0000; }
.c-lang-toggle svg { flex-shrink: 0; }

/* ── Nav fixed compensation ───────────────────────────────────────────────── */
.c-hero, .l-page-hero { margin-top: 0; }

/* ── Form validation ─────────────────────────────────────────────────────── */
.c-form__group { position: relative; }
.c-form__error {
  display: none;
  font-size: 0.75rem;
  color: #CC0000;
  margin-top: 0.3rem;
  align-items: center;
  gap: 0.3rem;
}
.c-form__error.is-visible {
  display: flex;
}
.c-form__error svg { flex-shrink: 0; }
.c-form__counter {
  font-size: 0.72rem;
  color: var(--color-text-muted);
  text-align: right;
  margin-top: 0.25rem;
}
.c-form__counter.near-limit { color: #C8963E; }
.c-form__counter.over-limit  { color: #CC0000; font-weight: 600; }
.c-form__input.is-valid   {
  border-color: #C8963E;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23C8963E' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px;
  padding-right: 2.5rem;
}
.c-form__input.is-invalid {
  border-color: #CC0000;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23CC0000' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M6 18L18 6M6 6l12 12'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px;
  padding-right: 2.5rem;
}
.c-form__input.is-valid:focus   { border-color: #C8963E; outline: none; box-shadow: 0 0 0 3px rgba(200,150,62,0.15); }
.c-form__input.is-invalid:focus { border-color: #CC0000; outline: none; box-shadow: 0 0 0 3px rgba(204,0,0,0.12); }

/* ── Tourism page — scalable directory ───────────────────────────────────── */
.p-tourism-hero {
  background: linear-gradient(135deg, #1A1A1A 0%, #CC0000 55%, #1A1A1A 100%);
  padding: 5rem 0 4rem;
  position: relative;
  overflow: hidden;
}
.p-tourism-hero::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    repeating-linear-gradient(45deg, rgba(200,150,62,0.04) 0, rgba(200,150,62,0.04) 1px, transparent 0, transparent 50%),
    repeating-linear-gradient(-45deg, rgba(200,150,62,0.04) 0, rgba(200,150,62,0.04) 1px, transparent 0, transparent 50%);
  background-size: 48px 48px;
}

/* Category tabs */
.p-biz-cats {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 2.5rem;
}
.p-biz-cat {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.5rem 1.1rem;
  border-radius: 100px;
  border: 1.5px solid var(--color-border);
  background: var(--color-bg);
  font-size: 0.825rem; font-weight: 600;
  color: var(--color-text-muted);
  cursor: pointer; font-family: inherit;
  transition: all 0.2s;
}
.p-biz-cat.active, .p-biz-cat:hover {
  background: #CC0000; color: #fff; border-color: #CC0000;
}
.p-biz-cat svg { flex-shrink: 0; }

/* Search bar */
.p-biz-search {
  position: relative;
  margin-bottom: 2.5rem;
}
.p-biz-search__icon {
  position: absolute; left: 1rem; top: 50%; transform: translateY(-50%);
  color: var(--color-text-muted); pointer-events: none;
}
.p-biz-search__input {
  width: 100%;
  padding: 0.85rem 1rem 0.85rem 3rem;
  border: 1.5px solid var(--color-border);
  border-radius: 10px;
  font-family: inherit; font-size: 0.95rem;
  background: var(--color-bg); color: var(--color-text-base);
  transition: border-color 0.2s;
}
.p-biz-search__input:focus { outline: none; border-color: #CC0000; }

/* Featured businesses */
.p-biz-featured {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-bottom: 3rem;
}
@media (max-width: 860px) { .p-biz-featured { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .p-biz-featured { grid-template-columns: 1fr; } }

.p-biz-card {
  border: 1px solid var(--color-border);
  border-radius: 14px;
  overflow: hidden;
  background: var(--color-bg);
  transition: transform 0.25s, box-shadow 0.25s;
  display: flex; flex-direction: column;
  text-decoration: none; color: inherit;
}
.p-biz-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.p-biz-card--featured { border-top: 3px solid #CC0000; }
.p-biz-card__img {
  height: 140px;
  display: flex; align-items: center; justify-content: center;
}
.p-biz-card__img svg { opacity: 0.5; }
.p-biz-card__body { padding: 1.25rem; flex: 1; }
.p-biz-card__tag {
  font-size: 0.68rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .1em; color: #C8963E;
  margin-bottom: 0.4rem; display: block;
}
.p-biz-card__name { font-size: 0.975rem; font-weight: 700; margin-bottom: 0.3rem; }
.p-biz-card__desc { font-size: 0.825rem; color: var(--color-text-muted); line-height: 1.5; margin-bottom: 0.75rem; }
.p-biz-card__footer {
  padding: 0.85rem 1.25rem;
  border-top: 1px solid var(--color-border);
  display: flex; justify-content: space-between; align-items: center;
}
.p-biz-card__tel { font-size: 0.8rem; font-weight: 600; color: #CC0000; }
.p-biz-card__cta { font-size: 0.8rem; font-weight: 600; color: var(--color-text-muted); display: inline-flex; align-items: center; gap: 0.3rem; }
.p-biz-card__cta:hover { color: #CC0000; }

/* Badge */
.p-biz-badge {
  display: inline-flex; align-items: center; gap: 0.3rem;
  font-size: 0.68rem; font-weight: 700;
  background: #CC0000; color: #fff;
  padding: 0.15rem 0.5rem; border-radius: 4px;
  text-transform: uppercase; letter-spacing: .05em;
  margin-left: 0.5rem;
}

/* Directory list */
.p-biz-list {
  display: grid; gap: 1px;
  background: var(--color-border);
  border: 1px solid var(--color-border);
  border-radius: 12px; overflow: hidden;
  margin-bottom: 2rem;
}
.p-biz-list__item {
  background: var(--color-bg);
  display: grid;
  grid-template-columns: 48px 1fr auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem 1.25rem;
  text-decoration: none; color: inherit;
  transition: background 0.2s;
}
.p-biz-list__item:hover { background: var(--color-bg-muted); }
.p-biz-list__icon {
  width: 44px; height: 44px; border-radius: 10px;
  background: rgba(204,0,0,0.08);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.p-biz-list__icon svg { color: #CC0000; }
.p-biz-list__name { font-size: 0.9rem; font-weight: 600; margin-bottom: 0.15rem; }
.p-biz-list__meta { font-size: 0.775rem; color: var(--color-text-muted); display: flex; gap: 0.75rem; flex-wrap: wrap; }
.p-biz-list__arrow { color: var(--color-text-muted); flex-shrink: 0; }

/* Pagination */
.p-biz-pagination {
  display: flex; align-items: center; justify-content: center;
  gap: 0.35rem; margin-top: 2rem;
}
.p-biz-page-btn {
  width: 36px; height: 36px; border-radius: 8px;
  border: 1.5px solid var(--color-border);
  background: var(--color-bg);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.875rem; font-weight: 600;
  color: var(--color-text-muted);
  cursor: pointer; font-family: inherit;
  transition: all 0.2s;
}
.p-biz-page-btn.active, .p-biz-page-btn:hover { background: #CC0000; color: #fff; border-color: #CC0000; }
.p-biz-page-btn:disabled { opacity: 0.4; cursor: not-allowed; }

/* Business detail page */
.p-biz-detail {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 860px) { .p-biz-detail { grid-template-columns: 1fr; } }

.p-biz-detail__header {
  display: flex; align-items: flex-start; gap: 1.25rem;
  margin-bottom: 2rem; padding-bottom: 2rem;
  border-bottom: 1px solid var(--color-border);
  flex-wrap: wrap;
}
.p-biz-detail__logo {
  width: 72px; height: 72px; border-radius: 14px;
  background: rgba(204,0,0,0.08);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  border: 1px solid var(--color-border);
}
.p-biz-detail__logo svg { color: #CC0000; }
.p-biz-detail__name { font-size: 1.5rem; font-weight: 700; margin-bottom: 0.25rem; }
.p-biz-detail__cat {
  font-size: 0.72rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .1em; color: #C8963E;
}
.p-biz-detail__tags { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-top: 0.75rem; }
.p-biz-detail__tag {
  font-size: 0.75rem; font-weight: 500;
  padding: 0.25rem 0.75rem;
  border-radius: 100px;
  border: 1px solid var(--color-border);
  color: var(--color-text-muted);
}
.p-biz-detail__section { margin-bottom: 2rem; }
.p-biz-detail__section-title {
  font-size: 0.75rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .1em; color: var(--color-text-muted);
  margin-bottom: 1rem; display: flex; align-items: center; gap: 0.5rem;
}
.p-biz-detail__desc { font-size: 0.95rem; line-height: 1.75; color: var(--color-text-muted); }

/* Services / prices table */
.p-biz-services { border: 1px solid var(--color-border); border-radius: 10px; overflow: hidden; }
.p-biz-service {
  display: grid; grid-template-columns: 1fr auto;
  gap: 1rem; align-items: center;
  padding: 0.9rem 1.1rem;
  border-bottom: 1px solid var(--color-border);
}
.p-biz-service:last-child { border-bottom: none; }
.p-biz-service__name { font-size: 0.875rem; font-weight: 600; }
.p-biz-service__desc { font-size: 0.775rem; color: var(--color-text-muted); margin-top: 0.15rem; }
.p-biz-service__price { font-size: 0.9rem; font-weight: 700; color: #CC0000; white-space: nowrap; }

/* Contact card sidebar */
.p-biz-contact-card {
  border: 1px solid var(--color-border);
  border-radius: 14px;
  overflow: hidden;
  background: var(--color-bg);
  position: sticky; top: 110px;
}
.p-biz-contact-card__header {
  background: linear-gradient(135deg, #1A1A1A, #CC0000);
  padding: 1.5rem;
  color: #fff;
}
.p-biz-contact-card__title { font-size: 0.875rem; font-weight: 700; margin-bottom: 0.25rem; }
.p-biz-contact-card__sub { font-size: 0.775rem; opacity: 0.7; }
.p-biz-contact-card__body { padding: 1.25rem; display: flex; flex-direction: column; gap: 1rem; }
.p-biz-contact-item { display: flex; align-items: flex-start; gap: 0.75rem; }
.p-biz-contact-item__icon { width: 36px; height: 36px; border-radius: 8px; background: rgba(204,0,0,0.08); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.p-biz-contact-item__icon svg { color: #CC0000; width: 16px; height: 16px; }
.p-biz-contact-item__label { font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--color-text-muted); display: block; }
.p-biz-contact-item__value { font-size: 0.875rem; font-weight: 500; }
.p-biz-contact-item__value a { color: var(--color-text-base); }
.p-biz-contact-item__value a:hover { color: #CC0000; }
.p-biz-contact-card__cta { padding: 0 1.25rem 1.25rem; }
.p-biz-contact-card__cta .c-btn { width: 100%; justify-content: center; }

/* Hours table */
.p-biz-hours { display: grid; gap: 0.5rem; }
.p-biz-hour { display: flex; justify-content: space-between; font-size: 0.825rem; }
.p-biz-hour__day { color: var(--color-text-muted); }
.p-biz-hour__time { font-weight: 600; }
.p-biz-hour--today .p-biz-hour__day { color: #CC0000; font-weight: 700; }
.p-biz-hour--today .p-biz-hour__time { color: #CC0000; }
.p-biz-open-badge { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.72rem; font-weight: 700; color: #C8963E; }
.p-biz-open-badge::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #C8963E; display: inline-block; }

/* ── News filter — scrollable, grouped ───────────────────────────────────── */
.p-news-filter {
  display: flex;
  gap: 0.4rem;
  flex-wrap: nowrap;
  overflow-x: auto;
  padding-bottom: 0.5rem;
  margin-bottom: 2rem;
  scrollbar-width: thin;
  scrollbar-color: #CC0000 transparent;
  -webkit-overflow-scrolling: touch;
}
.p-news-filter::-webkit-scrollbar { height: 3px; }
.p-news-filter::-webkit-scrollbar-track { background: transparent; }
.p-news-filter::-webkit-scrollbar-thumb { background: #CC0000; border-radius: 2px; }
.p-news-filter__group {
  display: flex;
  gap: 0.4rem;
  flex-shrink: 0;
  align-items: center;
}
.p-news-filter__sep {
  width: 1px;
  height: 24px;
  background: var(--color-border);
  flex-shrink: 0;
  align-self: center;
}
.p-news-filter__btn {
  padding: 0.4rem 0.9rem;
  border-radius: 100px;
  border: 1.5px solid var(--color-border);
  background: var(--color-bg);
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--color-text-muted);
  cursor: pointer;
  font-family: inherit;
  transition: all 0.2s;
  white-space: nowrap;
  flex-shrink: 0;
}
.p-news-filter__btn.active,
.p-news-filter__btn:hover {
  background: #CC0000;
  color: #fff;
  border-color: #CC0000;
}

/* ── About page — leadership carousel ────────────────────────────────────── */
.p-leadership {
  position: relative;
  overflow: hidden;
}
.p-leadership__track {
  display: flex;
  gap: 1.5rem;
  transition: transform 0.4s ease;
}
.p-leadership__card {
  flex: 0 0 calc(33.333% - 1rem);
  min-width: 0;
  border: 1px solid var(--color-border);
  border-radius: 14px;
  overflow: hidden;
  background: var(--color-bg);
  transition: box-shadow 0.25s;
}
@media (max-width: 860px) { .p-leadership__card { flex: 0 0 calc(50% - 0.75rem); } }
@media (max-width: 520px) { .p-leadership__card { flex: 0 0 100%; } }
.p-leadership__card:hover { box-shadow: var(--shadow-md); }
.p-leadership__card-header {
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.75rem;
  position: relative;
}
.p-leadership__avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(255,255,255,0.15);
  border: 3px solid rgba(255,255,255,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.02em;
}
.p-leadership__card-body { padding: 1.25rem; }
.p-leadership__role {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #CC0000;
  margin-bottom: 0.35rem;
  line-height: 1.3;
}
.p-leadership__name {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-text-base);
  margin-bottom: 0.25rem;
  line-height: 1.3;
}
.p-leadership__since {
  font-size: 0.75rem;
  color: var(--color-text-muted);
}
/* Dots */
.p-leadership__dots {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 2rem;
}
.p-leadership__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 2px solid var(--color-border);
  background: transparent;
  cursor: pointer;
  padding: 0;
  transition: all 0.2s;
}
.p-leadership__dot.active {
  background: #CC0000;
  border-color: #CC0000;
  width: 24px;
  border-radius: 4px;
}
/* Nav arrows */
.p-leadership__nav {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1.25rem;
}
.p-leadership__btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1.5px solid var(--color-border);
  background: var(--color-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--color-text-muted);
  transition: all 0.2s;
}
.p-leadership__btn:hover:not(:disabled) {
  background: #CC0000;
  border-color: #CC0000;
  color: #fff;
}
.p-leadership__btn:disabled { opacity: 0.35; cursor: not-allowed; }
.p-leadership__btn svg { pointer-events: none; }


/* ══════════════════════════════════════════════════════════════════════════
   CUSTOM SELECT — construído com divs, 100% controlável
   ══════════════════════════════════════════════════════════════════════════ */
.c-select {
  position: relative;
  width: 100%;
  user-select: none;
}

/* Hidden native select (acessibilidade — screen readers) */
.c-select__native {
  position: absolute;
  inset: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 1;
  border: none;
  background: none;
}

/* Trigger visible */
.c-select__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-bg);
  color: var(--color-text-base);
  font-family: inherit;
  font-size: 0.9rem;
  cursor: pointer;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  min-height: 46px;
}
.c-select__trigger:hover {
  border-color: #CC0000;
}
.c-select.is-open .c-select__trigger {
  border-color: #CC0000;
  box-shadow: 0 0 0 3px rgba(204, 0, 0, 0.12);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.c-select.is-valid .c-select__trigger {
  border-color: #C8963E;
}
.c-select.is-invalid .c-select__trigger {
  border-color: #CC0000;
  box-shadow: 0 0 0 3px rgba(204, 0, 0, 0.1);
}

/* Placeholder text */
.c-select__value {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}
.c-select__value--placeholder {
  color: var(--color-text-muted);
}

/* Arrow icon */
.c-select__arrow {
  flex-shrink: 0;
  color: var(--color-text-muted);
  transition: transform 0.2s ease;
}
.c-select.is-open .c-select__arrow {
  transform: rotate(180deg);
  color: #CC0000;
}

/* Dropdown panel */
.c-select__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 200;
  background: var(--color-bg);
  border: 1.5px solid #CC0000;
  border-top: none;
  border-bottom-left-radius: var(--radius-sm);
  border-bottom-right-radius: var(--radius-sm);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  max-height: 260px;
  overflow-y: auto;
  display: none;
  scrollbar-width: thin;
  scrollbar-color: #CC0000 transparent;
}
.c-select__dropdown::-webkit-scrollbar { width: 4px; }
.c-select__dropdown::-webkit-scrollbar-thumb { background: #CC0000; border-radius: 2px; }
.c-select.is-open .c-select__dropdown {
  display: block;
  animation: selectOpen 0.15s ease;
}
@keyframes selectOpen {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Options */
.c-select__option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  font-size: 0.9rem;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
  color: var(--color-text-base);
  border-bottom: 1px solid var(--color-border);
}
.c-select__option:last-child {
  border-bottom: none;
}
.c-select__option:hover {
  background: rgba(204, 0, 0, 0.06);
  color: #CC0000;
}
.c-select__option.is-selected {
  background: rgba(204, 0, 0, 0.08);
  color: #CC0000;
  font-weight: 600;
}
.c-select__option.is-selected .c-select__option-check {
  display: flex;
}
.c-select__option-check {
  display: none;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #CC0000;
  flex-shrink: 0;
  margin-left: auto;
}
.c-select__option-check svg {
  color: #fff;
}

/* Group label */
.c-select__group-label {
  padding: 0.5rem 1rem 0.25rem;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--color-text-muted);
  background: var(--color-bg-muted);
  border-bottom: 1px solid var(--color-border);
}

/* Dark mode */
[data-theme=dark] .c-select__dropdown {
  box-shadow: 0 8px 32px rgba(0,0,0,0.4);
}
[data-theme=dark] .c-select__option:hover {
  background: rgba(204, 0, 0, 0.12);
}
[data-theme=dark] .c-select__group-label {
  background: rgba(255,255,255,0.04);
}

:root{--shell-topbar-h: 64px;--shell-sidebar-w: 250px}.shell{min-height:100vh;background:var(--color-bg-muted)}.shell-topbar{position:sticky;top:0;z-index:200;height:var(--shell-topbar-h);display:flex;align-items:center;gap:1rem;padding:0 1.25rem;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.shell-topbar__toggle{display:none;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:rgba(0,0,0,0);color:var(--color-text-base);cursor:pointer;flex-shrink:0}.shell-topbar__toggle svg{width:17px;height:17px}@media(max-width: 900px){.shell-topbar__toggle{display:flex}}.shell-topbar__logo{display:flex;align-items:center;gap:.6rem;flex-shrink:0;text-decoration:none}.shell-topbar__logo-emblem{width:32px;height:32px;border-radius:var(--radius-sm);background:#c00;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.shell-topbar__logo-emblem svg{width:16px;height:16px}.shell-topbar__logo-text{display:flex;flex-direction:column;line-height:1.2}.shell-topbar__logo-text strong{font-size:.84rem;font-weight:800;color:var(--color-text-base)}.shell-topbar__logo-text span{font-size:.66rem;color:#c00;font-weight:600}@media(max-width: 480px){.shell-topbar__logo-text{display:none}}.shell-topbar__breadcrumb{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--color-text-muted);margin-left:.5rem;padding-left:1rem;border-left:1px solid var(--color-border)}.shell-topbar__breadcrumb a{color:var(--color-text-muted);text-decoration:none}.shell-topbar__breadcrumb a:hover{color:#c00}.shell-topbar__breadcrumb span[aria-hidden]{opacity:.5}.shell-topbar__breadcrumb strong{color:var(--color-text-base);font-weight:600}@media(max-width: 760px){.shell-topbar__breadcrumb{display:none}}.shell-topbar__right{margin-left:auto;display:flex;align-items:center;gap:.6rem}.shell-topbar__icon-btn{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:rgba(0,0,0,0);color:var(--color-text-muted);cursor:pointer;transition:color .2s,border-color .2s}.shell-topbar__icon-btn svg{width:16px;height:16px}.shell-topbar__icon-btn:hover{color:#c00;border-color:#c00}.shell-topbar__badge-dot{position:absolute;top:-3px;right:-3px;width:15px;height:15px;border-radius:50%;background:#c00;border:2px solid var(--color-bg);font-size:.55rem;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center}.shell-topbar__user{display:flex;align-items:center;gap:.6rem;padding:.3rem .5rem .3rem .3rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:rgba(0,0,0,0);cursor:pointer;font-family:inherit}.shell-topbar__user:hover{background:var(--color-bg-muted)}.shell-topbar__avatar{width:30px;height:30px;border-radius:50%;background:rgba(204,0,0,.1);color:#c00;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.7rem;flex-shrink:0}.shell-topbar__user-text{text-align:left;line-height:1.25}.shell-topbar__user-text strong{display:block;font-size:.78rem;font-weight:700;color:var(--color-text-base)}.shell-topbar__user-text span{font-size:.68rem;color:var(--color-text-muted)}@media(max-width: 480px){.shell-topbar__user-text{display:none}}.shell-body{display:flex;min-height:calc(100vh - var(--shell-topbar-h))}.shell-sidebar{width:var(--shell-sidebar-w);flex-shrink:0;background:var(--color-bg);border-right:1px solid var(--color-border);padding:1.25rem .85rem 2rem;position:sticky;top:var(--shell-topbar-h);height:calc(100vh - var(--shell-topbar-h));overflow-y:auto}@media(max-width: 900px){.shell-sidebar{position:fixed;top:var(--shell-topbar-h);left:0;z-index:190;height:calc(100vh - var(--shell-topbar-h));transform:translateX(-100%);transition:transform .25s ease;box-shadow:var(--shadow-md)}.shell-sidebar.is-open{transform:translateX(0)}}.shell-sidebar__section{font-size:.62rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--color-text-muted);padding:.9rem .7rem .4rem}.shell-sidebar__section:first-child{padding-top:.1rem}.shell-sidebar__overlay{display:none;position:fixed;inset:0;top:var(--shell-topbar-h);background:rgba(10,9,7,.45);z-index:180}@media(max-width: 900px){.shell-sidebar__overlay.is-open{display:block}}.shell-nav-item{display:flex;align-items:center;gap:.7rem;padding:.62rem .75rem;border-radius:var(--radius-md);color:var(--color-text-muted);font-size:.84rem;font-weight:500;text-decoration:none;margin-bottom:.1rem;transition:background .15s,color .15s}.shell-nav-item svg{width:17px;height:17px;flex-shrink:0}.shell-nav-item:hover{background:var(--color-bg-muted);color:var(--color-text-base)}.shell-nav-item.is-active{background:rgba(204,0,0,.08);color:#c00;font-weight:700}.shell-nav-item__count{margin-left:auto;font-size:.66rem;font-weight:700;padding:.1rem .45rem;border-radius:999px;background:var(--color-bg-muted);color:var(--color-text-muted)}.shell-nav-item.is-active .shell-nav-item__count{background:rgba(204,0,0,.14);color:#c00}.shell-sidebar__logout{display:flex;align-items:center;gap:.7rem;width:100%;padding:.62rem .75rem;margin-top:.75rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:rgba(0,0,0,0);color:var(--color-text-muted);font-family:inherit;font-size:.84rem;font-weight:600;cursor:pointer;transition:color .2s,border-color .2s}.shell-sidebar__logout svg{width:16px;height:16px}.shell-sidebar__logout:hover{color:#c00;border-color:#c00}.shell-main{flex:1;min-width:0;padding:1.75rem 2rem 3rem}@media(max-width: 760px){.shell-main{padding:1.25rem 1rem 2.5rem}}.shell-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.75rem}.shell-header__title{font-size:1.4rem;font-weight:800;color:var(--color-text-base);margin-bottom:.3rem}.shell-header__subtitle{font-size:.88rem;color:var(--color-text-muted)}.shell-header__actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.c-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.75rem;font-weight:700;letter-spacing:.01em;border-radius:999px;white-space:nowrap;line-height:1.4}.c-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.c-badge--primary{background:rgba(204,0,0,.1);border:1px solid rgba(204,0,0,.25);color:#c00}.c-badge--gold{background:rgba(200,150,62,.12);border:1px solid rgba(200,150,62,.3);color:#a8762e}.c-badge--neutral{background:var(--color-bg-muted);border:1px solid var(--color-border);color:var(--color-text-muted)}.c-badge--success{background:rgba(30,126,52,.1);border:1px solid rgba(30,126,52,.28);color:#1e7e34}.c-badge--warning{background:rgba(184,134,11,.1);border:1px solid rgba(184,134,11,.28);color:#8a6508}.c-badge--danger{background:rgba(163,0,0,.1);border:1px solid rgba(163,0,0,.28);color:#a30000}.c-badge--sm{padding:.2rem .6rem;font-size:.65rem}.is-modal-open{overflow:hidden}.c-modal{position:fixed;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease}.c-modal__backdrop{position:absolute;inset:0;background:rgba(10,9,7,.6);backdrop-filter:blur(2px)}.c-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}.c-modal__dialog{position:relative;width:100%;max-width:34rem;max-height:calc(100vh - 2rem);overflow-y:auto;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transform:translateY(1rem);transition:transform .25s ease}.c-modal.is-open .c-modal__dialog{transform:translateY(0)}.c-modal__dialog--lg{max-width:48rem}.c-modal__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}.c-modal__title{font-size:1.125rem;font-weight:700;color:var(--color-text-base)}.c-modal__close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;background:rgba(0,0,0,0);border:0;border-radius:50%;color:var(--color-text-muted);cursor:pointer;transition:background .2s,color .2s}.c-modal__close svg{width:16px;height:16px}.c-modal__close:hover{background:var(--color-bg-muted);color:#c00}.c-modal__body{padding:1.5rem}.c-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid var(--color-border)}.c-pagination{display:flex;align-items:center;justify-content:center;gap:.3rem;flex-wrap:wrap}.c-pagination__item,.c-pagination__ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;padding:0 .5rem;font-size:.875rem;font-weight:600;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);text-decoration:none;cursor:pointer;transition:color .2s,background .2s,border-color .2s}.c-pagination__item:hover,.c-pagination__ellipsis:hover{color:#c00;border-color:#c00}.c-pagination__item.is-active,.is-active.c-pagination__ellipsis,.c-pagination__item[aria-current=page],[aria-current=page].c-pagination__ellipsis{background:#c00;border-color:#c00;color:#fff}.c-pagination__item[disabled],[disabled].c-pagination__ellipsis{opacity:.4;cursor:not-allowed;pointer-events:none}.c-pagination__ellipsis{border-color:rgba(0,0,0,0);background:rgba(0,0,0,0);cursor:default;pointer-events:none}.c-table-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.c-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}.c-table-toolbar__search{position:relative;flex:1 1 240px;max-width:320px}.c-table-toolbar__search svg{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-muted);pointer-events:none}.c-table-toolbar__search input{width:100%;padding:.65rem .9rem .65rem 2.4rem;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:.85rem;background:var(--color-bg-muted);color:var(--color-text-base);transition:border-color .2s}.c-table-toolbar__search input:focus{outline:none;border-color:#c00;background:var(--color-bg)}.c-table-toolbar__actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.c-table-wrap{overflow-x:auto}.c-table{width:100%;border-collapse:collapse;min-width:640px}.c-table thead th{text-align:left;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);padding:.85rem 1.25rem;background:var(--color-bg-muted);border-bottom:1px solid var(--color-border);white-space:nowrap}.c-table th.is-sortable{cursor:pointer;user-select:none}.c-table th.is-sortable span{display:inline-flex;align-items:center;gap:.3rem}.c-table th.is-sortable svg{width:11px;height:11px;opacity:.5}.c-table th.is-sortable:hover{color:#c00}.c-table tbody tr{border-bottom:1px solid var(--color-border);transition:background .15s}.c-table tbody tr:last-child{border-bottom:0}.c-table tbody tr:hover{background:var(--color-bg-muted)}.c-table td{padding:.9rem 1.25rem;font-size:.85rem;color:var(--color-text-base);vertical-align:middle}.c-table__user{display:flex;align-items:center;gap:.7rem}.c-table__avatar{width:34px;height:34px;border-radius:50%;background:rgba(204,0,0,.1);color:#c00;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.72rem;flex-shrink:0}.c-table__meta{line-height:1.35}.c-table__meta-sub{font-size:.74rem;color:var(--color-text-muted)}.c-table__actions{display:flex;align-items:center;justify-content:flex-end;gap:.35rem}.c-table-action-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;transition:color .2s,border-color .2s,background .2s}.c-table-action-btn svg{width:14px;height:14px}.c-table-action-btn:hover{color:#c00;border-color:#c00}.c-table-action-btn--danger:hover{color:#fff;background:#c00;border-color:#c00}.c-table-empty{padding:3.5rem 1.5rem;text-align:center;color:var(--color-text-muted)}.c-table-empty svg{width:40px;height:40px;margin:0 auto 1rem;opacity:.4}.c-table-empty p{font-size:.88rem}.c-table-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.1rem 1.5rem;font-size:.8rem;color:var(--color-text-muted)}.c-tabs{display:flex;align-items:center;gap:.25rem;border-bottom:1px solid var(--color-border);overflow-x:auto;margin-bottom:1.75rem}.c-tabs__btn{display:inline-flex;align-items:center;gap:.45rem;padding:.85rem 1.1rem;font-family:inherit;font-size:.84rem;font-weight:600;color:var(--color-text-muted);background:rgba(0,0,0,0);border:none;border-bottom:2px solid rgba(0,0,0,0);cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s}.c-tabs__btn svg{width:15px;height:15px}.c-tabs__btn:hover{color:var(--color-text-base)}.c-tabs__btn.is-active{color:#c00;border-bottom-color:#c00}.c-tabs__panel{display:none}.c-tabs__panel.is-active{display:block;animation:c-tabs-fade .25s ease}@keyframes c-tabs-fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.c-stat-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:1.25rem;margin-bottom:1.75rem}@media(max-width: 1200px){.c-stat-grid{grid-template-columns:repeat(2, 1fr)}}@media(max-width: 480px){.c-stat-grid{grid-template-columns:1fr}}.c-stat-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.35rem 1.5rem;box-shadow:var(--shadow-sm)}.c-stat-card__top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.9rem}.c-stat-card__icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:rgba(204,0,0,.1);color:#c00;flex-shrink:0}.c-stat-card__icon svg{width:19px;height:19px}.c-stat-card__icon--gold{background:rgba(200,150,62,.14);color:#a8762e}.c-stat-card__icon--dark{background:rgba(26,26,26,.08);color:#1a1a1a}.c-stat-card__trend{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:700;padding:.2rem .5rem;border-radius:999px}.c-stat-card__trend svg{width:10px;height:10px}.c-stat-card__trend--up{color:#1e7e34;background:rgba(30,126,52,.1)}.c-stat-card__trend--down{color:#a30000;background:rgba(163,0,0,.1)}.c-stat-card__value{font-size:1.7rem;font-weight:800;color:var(--color-text-base);line-height:1.2;margin-bottom:.3rem}.c-stat-card__label{font-size:.8rem;color:var(--color-text-muted)}.c-panel{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.c-panel__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}.c-panel__title{font-size:.98rem;font-weight:700;color:var(--color-text-base)}.c-panel__subtitle{font-size:.78rem;color:var(--color-text-muted);margin-top:.15rem}.c-panel__body{padding:1.5rem}.c-activity-list{display:flex;flex-direction:column}.c-activity-item{display:flex;align-items:flex-start;gap:.85rem;padding:.9rem 0;border-bottom:1px solid var(--color-border)}.c-activity-item:last-child{border-bottom:0;padding-bottom:0}.c-activity-item:first-child{padding-top:0}.c-activity-item__dot{width:32px;height:32px;border-radius:50%;background:var(--color-bg-muted);color:#c00;display:flex;align-items:center;justify-content:center;flex-shrink:0}.c-activity-item__dot svg{width:14px;height:14px}.c-activity-item__text{font-size:.84rem;color:var(--color-text-base);line-height:1.5}.c-activity-item__time{font-size:.72rem;color:var(--color-text-muted);margin-top:.15rem}.c-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;text-align:center;padding:2.5rem 1.5rem;border:1.5px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-muted);cursor:pointer;transition:border-color .2s,background .2s}.c-dropzone:hover,.c-dropzone.is-dragover{border-color:#c00;background:rgba(204,0,0,.04)}.c-dropzone__icon{width:46px;height:46px;border-radius:50%;background:rgba(204,0,0,.1);color:#c00;display:flex;align-items:center;justify-content:center}.c-dropzone__icon svg{width:20px;height:20px}.c-dropzone__title{font-size:.9rem;font-weight:700;color:var(--color-text-base)}.c-dropzone__hint{font-size:.76rem;color:var(--color-text-muted)}.c-media-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:1rem;margin-top:1.5rem}@media(max-width: 900px){.c-media-grid{grid-template-columns:repeat(3, 1fr)}}@media(max-width: 760px){.c-media-grid{grid-template-columns:repeat(2, 1fr)}}.c-media-item{position:relative;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);aspect-ratio:4/3;background:var(--color-bg-muted)}.c-media-item img{width:100%;height:100%;object-fit:cover;display:block}.c-media-item__cover{position:absolute;top:.5rem;left:.5rem;padding:.2rem .55rem;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:#c8963e;border-radius:999px}.c-media-item__overlay{position:absolute;inset:0;background:linear-gradient(0deg, rgba(0, 0, 0, 0.65), transparent 55%);opacity:0;display:flex;align-items:flex-end;justify-content:flex-end;gap:.4rem;padding:.5rem;transition:opacity .2s}.c-media-item:hover .c-media-item__overlay,.c-media-item:focus-within .c-media-item__overlay{opacity:1}.c-media-item__btn{width:28px;height:28px;border-radius:50%;border:none;background:hsla(0,0%,100%,.92);color:#1a1a1a;display:flex;align-items:center;justify-content:center;cursor:pointer}.c-media-item__btn svg{width:13px;height:13px}.c-media-item__btn:hover{background:#fff;color:#c00}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}@media(max-width: 900px){.auth{grid-template-columns:1fr}}.auth-brand{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:2.5rem;background:linear-gradient(160deg, #1A1A1A 0%, #0d0d0d 100%);color:#fff;overflow:hidden}@media(max-width: 900px){.auth-brand{display:none}}.auth-brand::before{content:"";position:absolute;inset:0;background-image:linear-gradient(180deg, rgba(204, 0, 0, 0.16), transparent 60%),radial-gradient(circle at 85% 15%, rgba(200, 150, 62, 0.18), transparent 45%);pointer-events:none}.auth-brand__logo{position:relative;display:flex;align-items:center;gap:.65rem;text-decoration:none;color:#fff}.auth-brand__logo-emblem{width:38px;height:38px;border-radius:var(--radius-sm);background:#c00;display:flex;align-items:center;justify-content:center;flex-shrink:0}.auth-brand__logo-emblem svg{width:19px;height:19px}.auth-brand__logo-text{line-height:1.25}.auth-brand__logo-text strong{display:block;font-size:1rem;font-weight:800}.auth-brand__logo-text span{font-size:.72rem;color:#e8b96a}.auth-brand__body{position:relative;max-width:30rem}.auth-brand__eyebrow{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#e8b96a;margin-bottom:1rem}.auth-brand__title{font-size:2.1rem;font-weight:800;line-height:1.2;margin-bottom:1rem;color:#fff}.auth-brand__title em{color:#e8b96a;font-style:normal}.auth-brand__lead{font-size:.95rem;line-height:1.7;color:hsla(0,0%,100%,.75)}.auth-brand__stats{position:relative;display:flex;gap:2rem;padding-top:1.5rem;border-top:1px solid hsla(0,0%,100%,.14)}.auth-brand__stat-num{font-size:1.35rem;font-weight:800;color:#fff}.auth-brand__stat-label{font-size:.72rem;color:hsla(0,0%,100%,.6);margin-top:.2rem}.auth-brand__foot{position:relative;font-size:.74rem;color:hsla(0,0%,100%,.5)}.auth-panel{display:flex;align-items:center;justify-content:center;padding:2.5rem 1.5rem;background:var(--color-bg)}.auth-form{width:100%;max-width:25rem}.auth-form__mobile-logo{display:none;align-items:center;gap:.55rem;text-decoration:none;margin-bottom:2rem}.auth-form__mobile-logo strong{font-size:.92rem;font-weight:800;color:var(--color-text-base)}.auth-form__mobile-logo span{font-size:.68rem;color:#c00;display:block}.auth-form__mobile-logo .auth-brand__logo-emblem{width:32px;height:32px}@media(max-width: 900px){.auth-form__mobile-logo{display:flex}}.auth-form__eyebrow{display:block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#c00;margin-bottom:.6rem}.auth-form__title{font-size:1.6rem;font-weight:800;color:var(--color-text-base);margin-bottom:.5rem}.auth-form__lead{font-size:.88rem;color:var(--color-text-muted);margin-bottom:1.75rem;line-height:1.6}.auth-form__row-between{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;font-size:.82rem}.auth-form__check{display:flex;align-items:center;gap:.5rem;color:var(--color-text-muted)}.auth-form__check input{width:15px;height:15px;accent-color:#c00}.auth-form__link{color:#c00;font-weight:600;text-decoration:none}.auth-form__link:hover{text-decoration:underline}.auth-form__divider{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0;font-size:.74rem;color:var(--color-text-muted)}.auth-form__divider::before,.auth-form__divider::after{content:"";flex:1;height:1px;background:var(--color-border)}.auth-form__foot{text-align:center;font-size:.85rem;color:var(--color-text-muted);margin-top:1.5rem}.auth-form__portal-switch{display:block;text-align:center;font-size:.8rem;color:var(--color-text-muted);margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.auth-form__portal-switch a{color:#c00;font-weight:600;text-decoration:none}.auth-form__portal-switch a:hover{text-decoration:underline}.auth-alert{display:flex;align-items:flex-start;gap:.6rem;padding:.85rem 1rem;border-radius:var(--radius-md);font-size:.82rem;line-height:1.5;margin-bottom:1.5rem}.auth-alert svg{width:17px;height:17px;flex-shrink:0;margin-top:.1rem}.auth-alert--success{background:rgba(30,126,52,.08);border:1px solid rgba(30,126,52,.25);color:#1e7e34}.auth-alert--error{background:rgba(204,0,0,.06);border:1px solid rgba(204,0,0,.22);color:#c00}.auth-input-icon{position:relative}.auth-input-icon svg{position:absolute;left:.95rem;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--color-text-muted);pointer-events:none}.auth-input-icon .c-form__input{padding-left:2.6rem}.auth-input-icon__toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;padding:.4rem;color:var(--color-text-muted);cursor:pointer}.auth-input-icon__toggle svg{position:static}.auth-input-icon__toggle:hover{color:#c00}.auth-strength{display:flex;gap:.3rem;margin-top:.55rem}.auth-strength span{flex:1;height:4px;border-radius:999px;background:var(--color-border);transition:background .2s}.auth-steps{display:flex;align-items:center;margin-bottom:2rem}.auth-steps__step{display:flex;align-items:center;gap:.6rem;flex:0 0 auto}.auth-steps__step-num{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-size:.82rem;font-weight:700;transition:background .2s,border-color .2s,color .2s}.auth-steps__step-label{font-size:.78rem;font-weight:600;color:var(--color-text-muted);white-space:nowrap}@media(max-width: 480px){.auth-steps__step-label{display:none}}.auth-steps__step.is-active .auth-steps__step-num{background:#c00;border-color:#c00;color:#fff}.auth-steps__step.is-active .auth-steps__step-label{color:var(--color-text-base)}.auth-steps__step.is-done .auth-steps__step-num{background:rgba(30,126,52,.12);border-color:#1e7e34;color:#1e7e34}.auth-steps__line{flex:1 1 auto;height:1.5px;background:var(--color-border);margin:0 .75rem}.auth-steps__line.is-done{background:#1e7e34}.auth-step-panel{display:none}.auth-step-panel.is-active{display:block;animation:c-tabs-fade .25s ease}.auth-form__step-actions{display:flex;align-items:center;gap:.75rem}.auth-form__step-actions .c-form__submit{margin-top:0}.auth-form__back-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.85rem 1.1rem;border-radius:var(--radius-md);border:1.5px solid var(--color-border);background:rgba(0,0,0,0);color:var(--color-text-base);font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:border-color .2s,color .2s;flex-shrink:0}.auth-form__back-btn svg{width:16px;height:16px}.auth-form__back-btn:hover{border-color:#c00;color:#c00}.error-page{min-height:calc(100vh - 4rem);display:flex;align-items:center;justify-content:center;padding:6rem 1.5rem;text-align:center;position:relative;overflow:hidden;background:var(--color-bg-muted)}.error-page::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 20%, rgba(204, 0, 0, 0.06), transparent 45%),radial-gradient(circle at 85% 80%, rgba(200, 150, 62, 0.08), transparent 45%);pointer-events:none}.error-page__inner{position:relative;max-width:34rem}.error-page__code{font-size:clamp(4.5rem,12vw,7.5rem);font-weight:800;line-height:1;letter-spacing:-0.02em;background:linear-gradient(135deg, #CC0000, #C8963E);-webkit-background-clip:text;background-clip:text;color:rgba(0,0,0,0);margin-bottom:.5rem}.error-page__badge{display:inline-block;margin-bottom:1.5rem;padding:.35rem .9rem;border-radius:999px;background:var(--color-bg);border:1px solid var(--color-border);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.error-page__title{font-size:1.6rem;font-weight:800;color:var(--color-text-base);margin-bottom:.85rem}.error-page__lead{font-size:.95rem;color:var(--color-text-muted);line-height:1.7;margin-bottom:2.25rem}.error-page__actions{display:flex;align-items:center;justify-content:center;gap:.85rem;flex-wrap:wrap;margin-bottom:2.5rem}.error-page__links{display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap;font-size:.84rem}.error-page__links a{color:var(--color-text-muted);text-decoration:none}.error-page__links a:hover{color:#c00}

.sec-pillars{background:#111;padding:5rem 0}.sec-pillars__eyebrow{display:block;font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#e8b96a;margin-bottom:.75rem}.sec-pillars__title{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:600;color:#fff;letter-spacing:-0.01em;margin-bottom:1rem;line-height:1.2}.sec-pillars__title em{font-style:normal;color:#c00}.sec-pillars__lead{font-size:1rem;color:hsla(0,0%,100%,.55);line-height:1.75;max-width:560px}.sec-pillars__head{margin-bottom:3rem}.sec-pillars__stats{display:flex;gap:0;margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px solid hsla(0,0%,100%,.08);flex-wrap:wrap}.sec-pillars__stat{flex:1;min-width:140px;padding:0 2rem 0 0;border-right:1px solid hsla(0,0%,100%,.08)}.sec-pillars__stat:last-child{border-right:none}.sec-pillars__stat strong{display:block;font-size:1.5rem;font-weight:600;color:#e8b96a;line-height:1;margin-bottom:.4rem}.sec-pillars__stat span{display:block;font-size:.72rem;color:hsla(0,0%,100%,.4);text-transform:uppercase;letter-spacing:.08em}.sec-pillars__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width: 640px){.sec-pillars__grid{grid-template-columns:1fr}}.sec-pillars__card{background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.07);border-radius:12px;padding:2rem;transition:background .25s ease,border-color .25s ease}.sec-pillars__card:hover{background:hsla(0,0%,100%,.06);border-color:rgba(200,150,62,.3)}.sec-pillars__card h3{font-size:1rem;font-weight:700;color:#fff;margin-bottom:.6rem}.sec-pillars__card p{font-size:.875rem;color:hsla(0,0%,100%,.5);line-height:1.7}.sec-pillars__num{display:block;font-size:.65rem;font-weight:700;color:#c8963e;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.75rem}.about-facts{display:grid;grid-template-columns:repeat(5, 1fr);gap:0;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;margin-top:-3.5rem;position:relative;z-index:2;box-shadow:var(--shadow-md)}@media(max-width: 900px){.about-facts{grid-template-columns:repeat(3, 1fr)}}@media(max-width: 480px){.about-facts{grid-template-columns:repeat(2, 1fr)}}.about-facts__item{display:flex;align-items:center;gap:.75rem;padding:1.5rem 1.25rem;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.about-facts__item:nth-child(5n){border-right:none}@media(max-width: 900px){.about-facts__item:nth-child(3n){border-right:none}.about-facts__item:nth-child(5n){border-right:1px solid var(--color-border)}}@media(max-width: 480px){.about-facts__item:nth-child(2n){border-right:none}}.about-facts__icon{width:38px;height:38px;border-radius:50%;background:rgba(204,0,0,.08);color:#c00;display:flex;align-items:center;justify-content:center;flex-shrink:0}.about-facts__icon svg{width:18px;height:18px}.about-facts__value{font-size:1.05rem;font-weight:800;color:var(--color-text-base);line-height:1.2}.about-facts__label{font-size:.68rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:.1rem}.team-section{padding:5rem 0;background:var(--color-bg-muted)}.team-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1.5rem}@media(max-width: 900px){.team-grid{grid-template-columns:repeat(2, 1fr)}}@media(max-width: 480px){.team-grid{grid-template-columns:1fr}}.team-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}.team-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.team-card__cover{height:88px;display:flex;align-items:flex-end;padding:0 1.25rem}.team-card__avatar{width:68px;height:68px;border-radius:50%;border:4px solid var(--color-bg);background:#1a1a1a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;transform:translateY(34px)}.team-card__body{padding:2.75rem 1.25rem 1.5rem}.team-card__role{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#c00;margin-bottom:.3rem}.team-card__name{font-size:1rem;font-weight:800;color:var(--color-text-base);margin-bottom:.5rem}.team-card__desc{font-size:.82rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:.75rem}.team-card__since{display:inline-block;font-size:.68rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;background:var(--color-bg-muted);color:var(--color-text-muted)}.comuna-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1.5rem}@media(max-width: 760px){.comuna-grid{grid-template-columns:1fr}}.comuna-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm)}.comuna-card__icon{width:46px;height:46px;border-radius:var(--radius-md);background:rgba(200,150,62,.12);color:#a8762e;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}.comuna-card__icon svg{width:21px;height:21px}.comuna-card__title{font-size:1.05rem;font-weight:800;color:var(--color-text-base);margin-bottom:.6rem}.comuna-card__desc{font-size:.85rem;color:var(--color-text-muted);line-height:1.7}.about-split{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;padding:5rem 0}@media(max-width: 900px){.about-split{grid-template-columns:1fr;gap:2rem}}.about-split__eyebrow{display:block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#c00;margin-bottom:.75rem}.about-split__title{font-size:clamp(1.6rem,3vw,2.1rem);font-weight:800;color:var(--color-text-base);margin-bottom:1.1rem;line-height:1.25}.about-split__text{font-size:.92rem;color:var(--color-text-muted);line-height:1.8;margin-bottom:1rem}.about-split__visual{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/3;background:linear-gradient(135deg, #1A1A1A, #0d0d0d);display:flex;align-items:center;justify-content:center;position:relative}.about-split__visual img{width:100%;height:100%;object-fit:cover;display:block}.about-cta{padding:4.5rem 0;text-align:center;background:linear-gradient(135deg, #1A1A1A, #0d0d0d);color:#fff}.about-cta__title{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:.85rem}.about-cta__lead{font-size:.92rem;color:hsla(0,0%,100%,.7);max-width:34rem;margin:0 auto 1.75rem;line-height:1.7}.about-cta__actions{display:flex;align-items:center;justify-content:center;gap:.85rem;flex-wrap:wrap}

.sec-pillars{background:#111;padding:5rem 0}.sec-pillars__eyebrow{display:block;font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#e8b96a;margin-bottom:.75rem}.sec-pillars__title{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:600;color:#fff;letter-spacing:-0.01em;margin-bottom:1rem;line-height:1.2}.sec-pillars__title em{font-style:normal;color:#c00}.sec-pillars__lead{font-size:1rem;color:hsla(0,0%,100%,.55);line-height:1.75;max-width:560px}.sec-pillars__head{margin-bottom:3rem}.sec-pillars__stats{display:flex;gap:0;margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px solid hsla(0,0%,100%,.08);flex-wrap:wrap}.sec-pillars__stat{flex:1;min-width:140px;padding:0 2rem 0 0;border-right:1px solid hsla(0,0%,100%,.08)}.sec-pillars__stat:last-child{border-right:none}.sec-pillars__stat strong{display:block;font-size:1.5rem;font-weight:600;color:#e8b96a;line-height:1;margin-bottom:.4rem}.sec-pillars__stat span{display:block;font-size:.72rem;color:hsla(0,0%,100%,.4);text-transform:uppercase;letter-spacing:.08em}.sec-pillars__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width: 640px){.sec-pillars__grid{grid-template-columns:1fr}}.sec-pillars__card{background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.07);border-radius:12px;padding:2rem;transition:background .25s ease,border-color .25s ease}.sec-pillars__card:hover{background:hsla(0,0%,100%,.06);border-color:rgba(200,150,62,.3)}.sec-pillars__card h3{font-size:1rem;font-weight:700;color:#fff;margin-bottom:.6rem}.sec-pillars__card p{font-size:.875rem;color:hsla(0,0%,100%,.5);line-height:1.7}.sec-pillars__num{display:block;font-size:.65rem;font-weight:700;color:#c8963e;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.75rem}.about-facts{display:grid;grid-template-columns:repeat(5, 1fr);gap:0;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;margin-top:-3.5rem;position:relative;z-index:2;box-shadow:var(--shadow-md)}@media(max-width: 900px){.about-facts{grid-template-columns:repeat(3, 1fr)}}@media(max-width: 480px){.about-facts{grid-template-columns:repeat(2, 1fr)}}.about-facts__item{display:flex;align-items:center;gap:.75rem;padding:1.5rem 1.25rem;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.about-facts__item:nth-child(5n){border-right:none}@media(max-width: 900px){.about-facts__item:nth-child(3n){border-right:none}.about-facts__item:nth-child(5n){border-right:1px solid var(--color-border)}}@media(max-width: 480px){.about-facts__item:nth-child(2n){border-right:none}}.about-facts__icon{width:38px;height:38px;border-radius:50%;background:rgba(204,0,0,.08);color:#c00;display:flex;align-items:center;justify-content:center;flex-shrink:0}.about-facts__icon svg{width:18px;height:18px}.about-facts__value{display:block;font-size:1.05rem;font-weight:800;color:var(--color-text-base);line-height:1.2}.about-facts__label{display:block;font-size:.68rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:.1rem}.team-section{padding:5rem 0;background:var(--color-bg-muted)}.team-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1.5rem}@media(max-width: 900px){.team-grid{grid-template-columns:repeat(2, 1fr)}}@media(max-width: 480px){.team-grid{grid-template-columns:1fr}}.team-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}.team-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.team-card__cover{height:88px;display:flex;align-items:flex-end;padding:0 1.25rem}.team-card__avatar{width:68px;height:68px;border-radius:50%;border:4px solid var(--color-bg);background:#1a1a1a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;transform:translateY(34px)}.team-card__body{padding:2.75rem 1.25rem 1.5rem}.team-card__role{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#c00;margin-bottom:.3rem}.team-card__name{font-size:1rem;font-weight:800;color:var(--color-text-base);margin-bottom:.5rem}.team-card__desc{font-size:.82rem;color:var(--color-text-muted);line-height:1.6;margin-bottom:.75rem}.team-card__since{display:inline-block;font-size:.68rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;background:var(--color-bg-muted);color:var(--color-text-muted)}.comuna-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1.5rem}@media(max-width: 760px){.comuna-grid{grid-template-columns:1fr}}.comuna-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm)}.comuna-card__icon{width:46px;height:46px;border-radius:var(--radius-md);background:rgba(200,150,62,.12);color:#a8762e;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}.comuna-card__icon svg{width:21px;height:21px}.comuna-card__title{font-size:1.05rem;font-weight:800;color:var(--color-text-base);margin-bottom:.6rem}.comuna-card__desc{font-size:.85rem;color:var(--color-text-muted);line-height:1.7}.about-split{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center;padding:5rem 0}@media(max-width: 900px){.about-split{grid-template-columns:1fr;gap:2rem}}.about-split__eyebrow{display:block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#c00;margin-bottom:.75rem}.about-split__title{font-size:clamp(1.6rem,3vw,2.1rem);font-weight:800;color:var(--color-text-base);margin-bottom:1.1rem;line-height:1.25}.about-split__text{font-size:.92rem;color:var(--color-text-muted);line-height:1.8;margin-bottom:1rem}.about-split__visual{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/3;background:linear-gradient(135deg, #1A1A1A, #0d0d0d);display:flex;align-items:center;justify-content:center;position:relative}.about-split__visual img{width:100%;height:100%;object-fit:cover;display:block}.about-cta{padding:4.5rem 0;text-align:center;background:linear-gradient(135deg, #1A1A1A, #0d0d0d);color:#fff}.about-cta__title{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:.85rem}.about-cta__lead{font-size:.92rem;color:hsla(0,0%,100%,.7);max-width:34rem;margin:0 auto 1.75rem;line-height:1.7}.about-cta__actions{display:flex;align-items:center;justify-content:center;gap:.85rem;flex-wrap:wrap}

.c-search-fab{position:fixed;bottom:calc(2rem + 44px + 14px);right:2rem;width:44px;height:44px;border-radius:50%;background:#1a1a1a;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);z-index:800;transition:background var(--transition),transform var(--transition)}.c-search-fab svg{width:18px;height:18px}.c-search-fab:hover{background:#c00;transform:translateY(-2px)}@media(max-width: 480px){.c-search-fab{bottom:calc(1.25rem + 44px + 12px);right:1.25rem}}.c-search-modal .c-modal__dialog{max-width:38rem;align-self:flex-start;margin-top:8vh}.c-search-modal .c-modal__body{padding:0}.c-search-input-wrap{position:relative;padding:1.1rem 1.5rem;border-bottom:1px solid var(--color-border)}.c-search-input-wrap svg{position:absolute;left:2.1rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--color-text-muted);pointer-events:none}.c-search-input-wrap input{width:100%;padding:.8rem .9rem .8rem 2.5rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:.95rem;background:var(--color-bg-muted);color:var(--color-text-base)}.c-search-input-wrap input:focus{outline:none;border-color:#c00;background:var(--color-bg)}.c-search-results{max-height:55vh;overflow-y:auto;padding:.5rem}.c-search-results__group-label{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);padding:.75rem 1rem .4rem}.c-search-result{display:flex;align-items:center;gap:.85rem;padding:.7rem 1rem;border-radius:var(--radius-md);text-decoration:none;color:inherit;transition:background .15s}.c-search-result:hover,.c-search-result.is-active{background:var(--color-bg-muted)}.c-search-result__icon{width:34px;height:34px;border-radius:var(--radius-sm);background:rgba(204,0,0,.08);color:#c00;display:flex;align-items:center;justify-content:center;flex-shrink:0}.c-search-result__icon svg{width:16px;height:16px}.c-search-result__title{font-size:.88rem;font-weight:700;color:var(--color-text-base)}.c-search-result__desc{font-size:.76rem;color:var(--color-text-muted);margin-top:.1rem}.c-search-result__arrow{margin-left:auto;width:14px;height:14px;color:var(--color-text-muted);flex-shrink:0}.c-search-empty{padding:2.5rem 1.5rem;text-align:center;color:var(--color-text-muted);font-size:.85rem}.c-search-hint{padding:.85rem 1.5rem;border-top:1px solid var(--color-border);font-size:.74rem;color:var(--color-text-muted);display:flex;align-items:center;gap:.5rem}.c-search-hint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 .3rem;border-radius:4px;background:var(--color-bg-muted);border:1px solid var(--color-border);font-size:.68rem;font-family:inherit}

.c-search-fab{position:fixed;bottom:calc(2rem + 44px + 14px);right:2rem;width:44px;height:44px;border-radius:50%;background:#1a1a1a;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);z-index:800;transition:background var(--transition),transform var(--transition)}.c-search-fab svg{width:18px;height:18px}.c-search-fab:hover{background:#c00;transform:translateY(-2px)}@media(max-width: 480px){.c-search-fab{bottom:calc(1.25rem + 44px + 12px);right:1.25rem}}.c-search-modal .c-modal__dialog{max-width:38rem;align-self:flex-start;margin-top:8vh}.c-search-modal .c-modal__body{padding:0}.c-search-input-wrap{position:relative;padding:1.1rem 1.5rem;border-bottom:1px solid var(--color-border)}.c-search-input-wrap svg{position:absolute;left:2.1rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--color-text-muted);pointer-events:none}.c-search-input-wrap input{width:100%;padding:.8rem .9rem .8rem 2.5rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:.95rem;background:var(--color-bg-muted);color:var(--color-text-base)}.c-search-input-wrap input:focus{outline:none;border-color:#c00;background:var(--color-bg)}.c-search-results{max-height:55vh;overflow-y:auto;padding:.5rem}.c-search-results__group-label{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);padding:.75rem 1rem .4rem}.c-search-result{display:flex;align-items:center;gap:.85rem;padding:.7rem 1rem;border-radius:var(--radius-md);text-decoration:none;color:inherit;transition:background .15s}.c-search-result:hover,.c-search-result.is-active{background:var(--color-bg-muted)}.c-search-result__icon{width:34px;height:34px;border-radius:var(--radius-sm);background:rgba(204,0,0,.08);color:#c00;display:flex;align-items:center;justify-content:center;flex-shrink:0}.c-search-result__icon svg{width:16px;height:16px}.c-search-result__title{display:block;font-size:.88rem;font-weight:700;color:var(--color-text-base)}.c-search-result__desc{display:block;font-size:.76rem;color:var(--color-text-muted);margin-top:.15rem}.c-search-result__arrow{margin-left:auto;width:14px;height:14px;color:var(--color-text-muted);flex-shrink:0}.c-search-empty{padding:2.5rem 1.5rem;text-align:center;color:var(--color-text-muted);font-size:.85rem}.c-search-hint{padding:.85rem 1.5rem;border-top:1px solid var(--color-border);font-size:.74rem;color:var(--color-text-muted);display:flex;align-items:center;gap:.5rem}.c-search-hint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 .3rem;border-radius:4px;background:var(--color-bg-muted);border:1px solid var(--color-border);font-size:.68rem;font-family:inherit}.c-map-static{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;height:260px;text-decoration:none;background:linear-gradient(160deg, rgba(204, 0, 0, 0.55), rgba(26, 26, 26, 0.92)),repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.04) 0 2px, transparent 2px 14px);color:#fff;overflow:hidden}.c-map-static::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 40%, rgba(255, 255, 255, 0.12), transparent 60%)}.c-map-static__pin{position:relative;width:52px;height:52px;border-radius:50%;background:hsla(0,0%,100%,.14);border:1.5px solid hsla(0,0%,100%,.35);display:flex;align-items:center;justify-content:center;transition:transform .25s ease}.c-map-static__pin svg{width:24px;height:24px}.c-map-static:hover .c-map-static__pin{transform:translateY(-4px)}.c-map-static__label{position:relative;display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;padding:.6rem 1.1rem;border-radius:999px;background:hsla(0,0%,100%,.14);border:1px solid hsla(0,0%,100%,.3);backdrop-filter:blur(2px)}.c-map-static__label svg{width:14px;height:14px}.c-map-static__coords{position:relative;font-size:.72rem;color:hsla(0,0%,100%,.7);letter-spacing:.03em}

/* ── Mobile fixes: notifications full-width bottom banner, footer stacking, nav dark-mode row ── */
@media (max-width: 600px) {
  #notificationContainer {
    left: 0;
    right: 0;
    bottom: 0;
    top: auto;
    align-items: stretch;
    gap: 0.5rem;
    padding: 0 0.5rem 0.5rem;
    width: 100%;
  }
  .c-notification {
    min-width: 0;
    max-width: 100%;
    width: 100%;
    border-radius: 10px 10px 0 0;
    transform: translateY(calc(100% + 1rem));
  }
  .c-notification.show { transform: translateY(0); }
}

@media (max-width: 480px) {
  .l-footer__copyright {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.85rem;
    text-align: left;
  }
  .l-footer__bottom-links {
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
  }
  .l-footer__social {
    flex-wrap: wrap;
  }
  .l-footer__inner { padding: 3rem 0 1.75rem; }
}

.c-nav-mobile__theme-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  margin-top: 1.5rem;
  padding: 0.85rem 0;
  border-top: 1px solid rgba(255,255,255,0.1);
  background: transparent;
  border-left: none;
  border-right: none;
  border-bottom: none;
  color: rgba(255,255,255,0.85);
  font-family: inherit;
  font-size: 0.92rem;
  font-weight: 600;
  cursor: pointer;
  text-align: left;
}
.c-nav-mobile__theme-row:hover { color: #E8B96A; }
.c-nav-mobile__theme-row .c-theme-toggle__moon,
.c-nav-mobile__theme-row .c-theme-toggle__sun {
  width: 19px;
  height: 19px;
}

/* ── Fix: mobile nav actions (theme/lang) clustered tight against hamburger ── */
@media (max-width: 900px) {
  .c-nav__inner { justify-content: flex-start; }
  .c-nav__actions { margin-left: auto; gap: 0.5rem; margin-right: 0.5rem; }
}

/* ── Fix: prevent horizontal overflow site-wide (long footer address/email
   forcing flex children wider than their column, pushing layout sideways) ── */
html, body { max-width: 100%; overflow-x: hidden; }

.l-footer__contact-list li {
  min-width: 0;
}
.l-footer__contact-list li > *:last-child,
.l-footer__contact-list a {
  min-width: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}
.l-footer__grid, .l-footer__grid > * { min-width: 0; }

/* ── Fix: restore horizontal padding on footer (shorthand "padding: Xrem 0 Yrem"
   was zeroing left/right padding, overriding .l-container's 1.5rem gutter) ── */
.l-footer__inner {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (max-width: 480px) {
  .l-footer__inner {
    padding-top: 3rem;
    padding-bottom: 1.75rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

.p-gallery-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem}.p-gallery-filter{padding:.5rem 1.1rem;border-radius:999px;border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition)}.p-gallery-filter:hover{border-color:#c00;color:#c00}.p-gallery-filter.is-active{background:#c00;border-color:#c00;color:#fff}.p-gallery-modal__meta{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.p-gallery-modal__count{font-size:.8rem;color:var(--color-text-muted)}

/* ── Fix: sec-pillars__stats mobile — 2-col grid instead of cramped flex-wrap ── */
@media (max-width: 640px) {
  .sec-pillars__stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.75rem 1.25rem;
    flex-wrap: unset;
  }
  .sec-pillars__stat {
    flex: unset;
    min-width: 0;
    padding: 0 0 1.5rem 0;
    border-right: none;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }
  .sec-pillars__stat:nth-last-child(-n+2) {
    border-bottom: none;
    padding-bottom: 0;
  }
}

.p-ig-modal .c-modal__backdrop{background:rgba(0,0,0,.85)}.p-ig-modal__dialog{position:relative;display:flex;width:100%;max-width:935px;height:82vh;max-height:600px;background:var(--color-bg);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);transform:translateY(1rem);transition:transform .25s ease}.p-ig-modal.is-open .p-ig-modal__dialog{transform:translateY(0)}@media(max-width: 760px){.p-ig-modal__dialog{flex-direction:column;height:92vh;max-height:none;border-radius:var(--radius-md)}}.p-ig-modal__close{position:absolute;top:.75rem;right:.75rem;z-index:20;width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer}.p-ig-modal__close svg{width:16px;height:16px}.p-ig-modal__close:hover{background:rgba(0,0,0,.75)}.p-ig-modal__media{position:relative;flex:1.35;min-width:0;background:#0a0a0a;display:flex;align-items:center;justify-content:center}@media(max-width: 760px){.p-ig-modal__media{flex:none;height:48%}}.p-ig-modal__img{width:100%;height:100%;object-fit:contain;display:block;user-select:none}.p-ig-modal__arrow{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:hsla(0,0%,100%,.9);color:#1a1a1a;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.p-ig-modal__arrow svg{width:16px;height:16px}.p-ig-modal__arrow:hover{background:#fff}.p-ig-modal__arrow:disabled{opacity:0;pointer-events:none}.p-ig-modal__arrow--prev{left:.85rem}.p-ig-modal__arrow--next{right:.85rem}.p-ig-modal__dots{position:absolute;bottom:.9rem;left:50%;transform:translateX(-50%);display:flex;gap:.4rem}.p-ig-modal__dot{width:6px;height:6px;border-radius:50%;background:hsla(0,0%,100%,.45);border:none;padding:0;cursor:pointer;transition:background .15s,transform .15s}.p-ig-modal__dot.is-active{background:#fff;transform:scale(1.3)}.p-ig-modal__panel{flex:1;min-width:0;display:flex;flex-direction:column;border-left:1px solid var(--color-border)}@media(max-width: 760px){.p-ig-modal__panel{flex:1;border-left:none;border-top:1px solid var(--color-border)}}.p-ig-modal__panel-scroll{flex:1;overflow-y:auto;padding:1rem 1.15rem}.p-ig-modal__head{display:flex;align-items:center;gap:.7rem;padding-bottom:.9rem;margin-bottom:.9rem;border-bottom:1px solid var(--color-border)}.p-ig-modal__head strong{display:block;font-size:.85rem;color:var(--color-text-base)}.p-ig-modal__head span{display:block;font-size:.72rem;color:var(--color-text-muted);margin-top:.1rem}.p-ig-modal__avatar{width:34px;height:34px;border-radius:50%;background:#c00;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.p-ig-modal__avatar svg{width:16px;height:16px}.p-ig-modal__caption{padding-bottom:1.1rem;margin-bottom:1.1rem;border-bottom:1px solid var(--color-border)}.p-ig-modal__caption-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}.p-ig-modal__date{font-size:.72rem;color:var(--color-text-muted);white-space:nowrap}.p-ig-modal__title{font-size:.92rem;font-weight:700;color:var(--color-text-base);margin-bottom:.4rem}.p-ig-modal__desc{font-size:.84rem;color:var(--color-text-muted);line-height:1.65;margin-bottom:.85rem}.p-ig-modal__link{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:700;color:#c00;text-decoration:none}.p-ig-modal__link svg{width:13px;height:13px}.p-ig-modal__link:hover{text-decoration:underline}.p-ig-modal__comments{display:flex;flex-direction:column;gap:.9rem}.p-ig-comment{display:flex;gap:.6rem}.p-ig-comment__avatar{width:28px;height:28px;border-radius:50%;background:var(--color-bg-muted);color:#c00;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;flex-shrink:0}.p-ig-comment__body{font-size:.82rem;line-height:1.55;color:var(--color-text-base)}.p-ig-comment__body strong{margin-right:.4rem}.p-ig-comment__time{display:block;font-size:.68rem;color:var(--color-text-muted);margin-top:.2rem}.p-ig-modal__comments-empty{font-size:.8rem;color:var(--color-text-muted);text-align:center;padding:1.5rem 0}.p-ig-modal__comment-form{display:flex;align-items:center;gap:.5rem;padding:.85rem 1.15rem;border-top:1px solid var(--color-border);flex-shrink:0}.p-ig-modal__comment-form input{border:none;outline:none;font-family:inherit;font-size:.82rem;background:rgba(0,0,0,0);color:var(--color-text-base)}.p-ig-modal__comment-form input::placeholder{color:var(--color-text-muted)}.p-ig-modal__comment-form input#igCommentName{width:90px;flex-shrink:0;border-right:1px solid var(--color-border);padding-right:.5rem}.p-ig-modal__comment-form input#igCommentText{flex:1;min-width:0}.p-ig-modal__comment-form button{background:none;border:none;color:#c00;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.3rem;flex-shrink:0}.p-ig-modal__comment-form button svg{width:18px;height:18px}.p-ig-modal__comment-form button:disabled{opacity:.35;cursor:not-allowed}

.p-ig-modal .c-modal__backdrop{background:rgba(0,0,0,.85)}.p-ig-modal__dialog{position:relative;display:flex;width:100%;max-width:935px;height:82vh;max-height:600px;background:var(--color-bg);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);transform:translateY(1rem);transition:transform .25s ease}.p-ig-modal.is-open .p-ig-modal__dialog{transform:translateY(0)}@media(max-width: 760px){.p-ig-modal__dialog{flex-direction:column;height:92vh;max-height:none;border-radius:var(--radius-md)}}.p-ig-modal__close{position:absolute;top:.75rem;right:.75rem;z-index:20;width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer}.p-ig-modal__close svg{width:16px;height:16px}.p-ig-modal__close:hover{background:rgba(0,0,0,.75)}.p-ig-modal__media{position:relative;flex:1.35;min-width:0;background:#0a0a0a;display:flex;align-items:center;justify-content:center}@media(max-width: 760px){.p-ig-modal__media{flex:none;height:48%}}.p-ig-modal__img{width:100%;height:100%;object-fit:contain;display:block;user-select:none}.p-ig-modal__arrow{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:hsla(0,0%,100%,.9);color:#1a1a1a;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.p-ig-modal__arrow svg{width:16px;height:16px}.p-ig-modal__arrow:hover{background:#fff}.p-ig-modal__arrow:disabled{opacity:0;pointer-events:none}.p-ig-modal__arrow--prev{left:.85rem}.p-ig-modal__arrow--next{right:.85rem}.p-ig-modal__dots{position:absolute;bottom:.9rem;left:50%;transform:translateX(-50%);display:flex;gap:.4rem}.p-ig-modal__dot{width:6px;height:6px;border-radius:50%;background:hsla(0,0%,100%,.45);border:none;padding:0;cursor:pointer;transition:background .15s,transform .15s}.p-ig-modal__dot.is-active{background:#fff;transform:scale(1.3)}.p-ig-modal__panel{flex:1;min-width:0;display:flex;flex-direction:column;border-left:1px solid var(--color-border)}@media(max-width: 760px){.p-ig-modal__panel{flex:1;border-left:none;border-top:1px solid var(--color-border)}}.p-ig-modal__panel-scroll{flex:1;overflow-y:auto;padding:1rem 1.15rem}.p-ig-modal__head{display:flex;align-items:center;gap:.7rem;padding-bottom:.9rem;margin-bottom:.9rem;border-bottom:1px solid var(--color-border)}.p-ig-modal__head strong{display:block;font-size:.85rem;color:var(--color-text-base)}.p-ig-modal__head span{display:block;font-size:.72rem;color:var(--color-text-muted);margin-top:.1rem}.p-ig-modal__avatar{width:34px;height:34px;border-radius:50%;background:#c00;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.p-ig-modal__avatar svg{width:16px;height:16px}.p-ig-modal__caption{padding-bottom:1.1rem;margin-bottom:1.1rem;border-bottom:1px solid var(--color-border)}.p-ig-modal__caption-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}.p-ig-modal__date{font-size:.72rem;color:var(--color-text-muted);white-space:nowrap}.p-ig-modal__title{font-size:.92rem;font-weight:700;color:var(--color-text-base);margin-bottom:.4rem}.p-ig-modal__location{display:flex;align-items:center;gap:.35rem;font-size:.76rem;color:var(--color-text-muted);margin-bottom:.6rem}.p-ig-modal__location::before{content:"";width:5px;height:5px;border-radius:50%;background:#c8963e;flex-shrink:0}.p-ig-modal__desc{font-size:.84rem;color:var(--color-text-muted);line-height:1.65;margin-bottom:.85rem}.p-ig-modal__link{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:700;color:#c00;text-decoration:none}.p-ig-modal__link svg{width:13px;height:13px}.p-ig-modal__link:hover{text-decoration:underline}.p-ig-modal__comments{display:flex;flex-direction:column;gap:.9rem}.p-ig-comment{display:flex;gap:.6rem}.p-ig-comment__avatar{width:28px;height:28px;border-radius:50%;background:var(--color-bg-muted);color:#c00;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;flex-shrink:0}.p-ig-comment__body{font-size:.82rem;line-height:1.55;color:var(--color-text-base)}.p-ig-comment__body strong{margin-right:.4rem}.p-ig-comment__time{display:block;font-size:.68rem;color:var(--color-text-muted);margin-top:.2rem}.p-ig-modal__comments-empty{font-size:.8rem;color:var(--color-text-muted);text-align:center;padding:1.5rem 0}.p-ig-modal__comment-form{display:flex;align-items:flex-end;gap:.5rem;padding:.85rem 1.15rem;border-top:1px solid var(--color-border);flex-shrink:0}.p-ig-modal__comment-form input,.p-ig-modal__comment-form textarea{border:none;outline:none;font-family:inherit;font-size:.82rem;background:rgba(0,0,0,0);color:var(--color-text-base)}.p-ig-modal__comment-form input::placeholder,.p-ig-modal__comment-form textarea::placeholder{color:var(--color-text-muted)}.p-ig-modal__comment-form input#igCommentName{width:90px;flex-shrink:0;border-right:1px solid var(--color-border);padding-right:.5rem;align-self:center}.p-ig-modal__comment-form textarea#igCommentText{flex:1;min-width:0;resize:none;line-height:1.5;max-height:110px;padding:.35rem 0;overflow-y:auto}.p-ig-modal__comment-form button{background:none;border:none;color:#c00;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.3rem;flex-shrink:0;align-self:center}.p-ig-modal__comment-form button svg{width:18px;height:18px}.p-ig-modal__comment-form button:disabled{opacity:.35;cursor:not-allowed}
