/*
 * Energy Bess identity layer — private candidate, 2026-10-19.
 * Keeps the live site's structure, responsive navigation, motion and JS hooks.
 * Official palette: #E17339, #141414, #FFFFFF, #F1EDE5.
 */
:root {
  --ink-950: #141414;
  --ink-900: #141414;
  --ink-850: #141414;
  --ink-800: #141414;
  --ink-700: #141414;
  --solar-500: #e17339;
  --solar-400: #e17339;
  --solar-300: #f1ede5;
  --electric-500: #e17339;
  --electric-400: #e17339;
  --mist-100: #f1ede5;
  --mist-50: #ffffff;
  --white: #ffffff;
  --graphite: #141414;
  --muted-dark: #f1ede5;
  --muted-light: #141414;
  --border-dark: rgba(255, 255, 255, 0.18);
  --border-light: rgba(20, 20, 20, 0.18);
  --shadow-light: 0 30px 80px rgba(20, 20, 20, 0.12);
  --font-display: "Sora", Arial, Helvetica, sans-serif;
  --font-body: "Sora", Arial, Helvetica, sans-serif;
}

body,
button,
input,
select,
textarea {
  font-family: "Sora", Arial, Helvetica, sans-serif;
}

::selection {
  color: #141414;
  background: #e17339;
}

:focus-visible {
  outline: 3px solid #141414;
  outline-offset: 4px;
  box-shadow: 0 0 0 6px #ffffff;
}

.section--light {
  color: #141414;
  background: #ffffff;
}

.section--mist {
  color: #141414;
  background: #f1ede5;
}

.section--dark,
.site-footer,
.mobile-menu {
  color: #ffffff;
  background-color: #141414;
}

.site-header.is-scrolled {
  background: rgba(20, 20, 20, 0.9);
}

body.menu-open .site-header {
  background: rgba(20, 20, 20, 0.98);
}

.site-header__energy span,
.site-nav__link::after {
  background: #e17339;
  box-shadow: 0 0 12px rgba(225, 115, 57, 0.48);
}

.brand-lockup--official {
  gap: 0;
}

.brand-logo-plate {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 11px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(20, 20, 20, 0.12);
  border-radius: 9px;
}

.brand-official {
  display: block;
  width: auto;
  max-width: none;
  object-fit: contain;
}

.brand-official--header {
  width: 176px;
  height: auto;
}

.brand-official--footer {
  width: 218px;
  height: auto;
}

.brand-official-symbol {
  width: 128px;
  height: auto;
  object-fit: contain;
}

.about-mark .brand-official-symbol {
  width: min(128px, 42vw);
  height: auto;
}

.button--solar,
.site-nav__contact:hover {
  color: #141414;
  background: #e17339;
}

.button--light,
.site-nav__contact {
  color: #141414;
  background: #ffffff;
}

.button--ghost {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.42);
}

.section--light .button--ghost,
.section--mist .button--ghost {
  color: #141414;
  border-color: rgba(20, 20, 20, 0.42);
}

.home-hero__eyebrow,
.page-hero__eyebrow,
.site-footer__bottom a:hover {
  color: #e17339;
}

.legal-content article a {
  color: #141414;
  text-decoration-color: #e17339;
  text-decoration-thickness: 2px;
}

.legal-notice {
  color: #141414;
  background: #f1ede5;
  border-color: rgba(20, 20, 20, 0.2);
}

.project-form input:focus,
.project-form textarea:focus,
.project-form select:focus {
  border-color: #e17339;
  box-shadow: 0 0 0 3px rgba(225, 115, 57, 0.18);
}

.project-form input[type="checkbox"]:checked {
  background-color: #e17339;
  border-color: #e17339;
}

.whatsapp-float {
  color: #141414;
}

@media (max-width: 1060px) {
  .brand-official--header {
    width: 162px;
  }
}

@media (max-width: 520px) {
  .brand-logo-plate {
    padding: 6px 9px;
    border-radius: 8px;
  }

  .brand-official--header {
    width: 142px;
  }

  .brand-official--footer {
    width: 190px;
  }
}

@media (max-width: 360px) {
  .brand-official--header {
    width: 126px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header__energy span,
  .site-footer__circuit path {
    animation: none;
  }
}

/* Identity acceptance: microcopy on white/sand uses charcoal, not orange. */
.solutions-intro .eyebrow,
.manifesto .eyebrow,
.systems-preview > .shell > .section-heading .eyebrow,
.solar-principle .eyebrow,
.faq-section__intro .eyebrow,
.electrical-intro .eyebrow,
.sector-criteria__intro .eyebrow,
.about-story .eyebrow,
.method-section__intro .eyebrow,
.contact-fallback .eyebrow {
  color: #141414;
}

/* Solid-surface microcopy meets 4.5:1 at its rendered size. */
.service-card:nth-child(1) .service-card__top > span,
.service-card:nth-child(4) .service-card__top > span,
.criteria-item > span,
.legal-content__aside > span,
.contact-fallback__card > span {
  color: #59646c;
}

.site-footer__bottom {
  color: #8fa0ad;
}

/* Dual focus remains visible against charcoal, orange, white and sand. */
.option-grid input:focus-visible + span,
.option-list input:focus-visible + span {
  outline: 3px solid #141414;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px #ffffff;
}

/* Decorative hero ornaments must never cross the editorial copy. */
@media (min-width: 761px) and (max-width: 820px) {
  .page-solutions .page-hero__side,
  .page-contact .page-hero__side,
  .page-privacy .page-hero__side {
    display: none;
  }
}

@media (max-width: 760px) {
  .page-privacy .page-hero__side {
    display: none;
  }
}
