body { background: var(--color-porcelain); }

.company-shell .site-header { position: relative; }
.company-shell .primary-nav > a[aria-current="page"] { color: var(--color-signal-red); }
.company-shell .nav-action--whatsapp { min-width: 190px; justify-content: center; }
.company-shell .nav-action--phone { gap: 8px; }
.company-shell .menu-close-glyph { width: 28px; height: 28px; display: grid; place-items: center; color: currentColor; font-family: Arial, sans-serif; font-size: 34px; font-weight: 300; line-height: 1; }
.company-shell .breadcrumb {
  min-height: 52px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding-block: 12px;
  color: var(--color-text-secondary);
  font-size: 15px;
}
.company-shell .breadcrumb a { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.company-shell .breadcrumb span[aria-current="page"] { color: var(--color-graphite); font-weight: 600; }

.company-hero { padding: 70px 0 76px; border-bottom: 1px solid var(--color-border); }
.company-hero__grid { display: grid; grid-template-columns: minmax(0, .84fr) minmax(420px, 1.16fr); align-items: center; gap: clamp(48px, 7vw, 110px); }
.company-hero h1,
.contact-hero h1,
.utility-hero h1 { max-width: 790px; min-width: 0; margin-bottom: 28px; overflow-wrap: anywhere; font-size: clamp(58px, 7vw, 104px); line-height: .92; text-transform: uppercase; }
.company-hero h1 em,
.contact-hero h1 em,
.utility-hero h1 em { color: var(--color-signal-red); font-style: normal; }
.company-hero__lede,
.contact-hero__lede,
.utility-hero__lede { max-width: 670px; color: var(--color-text-secondary); font-size: clamp(21px, 2vw, 28px); line-height: 1.35; }
.company-hero__media { margin: 0; }
.company-hero__media img { width: 100%; aspect-ratio: 3 / 2; display: block; border-radius: var(--radius-image); object-fit: cover; }
.company-hero__media figcaption { padding-top: 9px; color: var(--color-text-secondary); font-size: 14px; }

.field-note--red { color: var(--color-signal-red); }
.record-kicker { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; color: var(--color-signal-red); font-family: var(--font-display); font-size: 15px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.record-kicker::before { width: 42px; height: 2px; content: ""; background: currentColor; }

.record-section { background: var(--color-surface); }
.record-grid { display: grid; grid-template-columns: minmax(240px, .52fr) minmax(0, 1.48fr); gap: clamp(48px, 8vw, 130px); }
.record-grid__intro { position: sticky; top: 32px; align-self: start; }
.record-grid__intro h2 { font-size: clamp(42px, 5vw, 72px); text-transform: uppercase; }
.record-grid__intro p { max-width: 360px; color: var(--color-text-secondary); }
.record-list { border-top: 1px solid var(--color-graphite); }
.record-row { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 24px; padding: 34px 0; border-bottom: 1px solid var(--color-border); }
.record-row--plain { grid-template-columns: minmax(0, 1fr); }
.record-row__index { color: var(--color-signal-red); font-family: var(--font-display); font-size: 20px; }
.record-row h3 { margin-bottom: 10px; font-size: clamp(28px, 3vw, 42px); }
.record-row p { max-width: 720px; margin: 0; color: var(--color-text-secondary); }

.support-band { background: var(--color-graphite); color: var(--color-footer-text); }
.support-band__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: end; }
.support-band h2 { max-width: 700px; margin-bottom: 0; font-size: clamp(45px, 6vw, 82px); text-transform: uppercase; }
.support-band p { color: var(--color-footer-muted); font-size: 21px; }
.support-band__actions,
.utility-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

.contact-hero { padding: 70px 0 52px; }
.contact-hero__grid { display: grid; grid-template-columns: 1fr .72fr; gap: 64px; align-items: end; }
.contact-hero__note { padding: 26px 0 0 30px; border-left: 3px solid var(--color-signal-red); }
.contact-hero__note strong { display: block; margin-bottom: 8px; font-family: var(--font-display); font-size: 25px; text-transform: uppercase; }
.contact-hero__note p { margin: 0; color: var(--color-text-secondary); }

.channel-board { padding-top: 0; }
.channel-board__grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--color-graphite); border-bottom: 1px solid var(--color-graphite); }
.channel { min-height: 190px; display: flex; flex-direction: column; gap: 13px; padding: 28px; border-right: 1px solid var(--color-border); text-decoration: none; }
.channel:last-child { border-right: 0; }
.channel:hover { background: var(--color-surface); }
.channel .icon { color: var(--color-signal-red); }
.channel__label { color: var(--color-text-secondary); font-size: 14px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.channel strong { font-family: var(--font-display); font-size: clamp(23px, 2.2vw, 32px); line-height: 1.15; }
.channel small { margin-top: auto; color: var(--color-text-secondary); }

.contact-workspace { background: var(--color-surface); }
.contact-workspace__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(330px, .65fr); gap: clamp(50px, 8vw, 110px); }
.form-heading h2,
.office-panel h2 { font-size: clamp(38px, 4vw, 58px); text-transform: uppercase; }
.consultation-form { margin-top: 32px; }
.consultation-form[aria-disabled="true"] input,
.consultation-form[aria-disabled="true"] select,
.consultation-form[aria-disabled="true"] textarea,
.consultation-form[aria-disabled="true"] button[type="submit"] { cursor: not-allowed; opacity: .58; }
.consultation-form input[type="submit"]:disabled,
.consultation-form button[type="submit"]:disabled { cursor: not-allowed; opacity: .58; transition: none; }
.consultation-form input[type="submit"]:disabled:hover,
.consultation-form button[type="submit"]:disabled:hover { background: var(--color-signal-red); }

.utility-hero { padding-block: clamp(64px, 9vw, 112px); }
.utility-hero .container { max-width: 900px; }
.utility-hero h1 { max-width: 16ch; }
.utility-search { margin-top: 32px; }
.utility-search label { display: block; margin-bottom: 10px; font-weight: 700; }
.utility-search > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
.utility-search input { min-height: 56px; width: 100%; border: 1px solid var(--color-border); padding: 0 18px; font: inherit; }
.utility-results__list { display: grid; gap: 0; margin: 28px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--color-border); }
.utility-results__list article { padding: 28px 0; border-bottom: 1px solid var(--color-border); }
.utility-results__list h2 { margin: 6px 0 8px; }
.utility-results__list h2 a { color: inherit; }
.utility-empty { max-width: 680px; padding: 48px; background: var(--color-surface); border-left: 4px solid var(--color-signal-red); }
.utility-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }
.nav-links .page-numbers { display: grid; min-width: 44px; min-height: 44px; place-items: center; border: 1px solid var(--color-border); padding-inline: 12px; }
.nav-links .current { background: var(--color-graphite); color: var(--color-porcelain); }
.legal-page__inner { max-width: 900px; }
.legal-page__body { margin-top: 36px; }
.legal-page__body h2 { margin-top: 48px; }
.legal-page__body h3 { margin-top: 32px; }
.legal-page__body h4 { margin-top: 24px; }
.legal-page__body li + li { margin-top: 10px; }
.legal-page__body a { overflow-wrap: anywhere; }
.nobel-live-form .wpcf7-form-control-wrap { display: block; margin-top: 0; }
.nobel-live-form .wpcf7-not-valid-tip { display: block; margin-top: 6px; color: var(--color-signal-red); }
.wpcf7:has(.nobel-live-form) > .screen-reader-response,
.nobel-live-form .wpcf7-response-output { display: none !important; }
.nobel-live-form [data-form-status]:not([data-kind]) { display: none; }
.nobel-live-form .form-status[data-kind] { display: grid; gap: 4px; margin-top: 16px; padding: 16px; border-left: 4px solid var(--color-signal-red); }
.nobel-live-form .form-status[data-kind="success"] { border-left-color: #2b6b3f; }
.nobel-live-form .form-error-summary__list { margin: 4px 0 0; padding-left: 20px; }

@media (max-width: 640px) {
  .utility-search > div { grid-template-columns: 1fr; }
  .utility-empty { padding: 28px 22px; }
}
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.form-field { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.form-field--full { grid-column: 1 / -1; }
.form-field label { min-height: 0; padding-top: 0; font-weight: 700; }
.form-field input,
.form-field select,
.form-field textarea { width: 100%; min-height: 56px; padding: 13px 15px; border: 1px solid var(--color-border-strong); border-radius: var(--radius-control); background: #fff; color: var(--color-graphite); }
.form-field textarea { min-height: 150px; resize: vertical; }
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus { border-color: var(--color-graphite); outline: 3px solid rgb(30 39 48 / 18%); }
.form-field [aria-invalid="true"] { border-color: var(--color-signal-red); }
.field-error { min-height: 21px; margin: 0; color: var(--color-signal-red); font-size: 15px; }
.form-error-summary { margin: 18px 0 0; padding: 14px 16px; border-left: 4px solid var(--color-signal-red); color: var(--color-signal-red); background: var(--color-porcelain); font-weight: 600; }
.form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin-top: 26px; }
.form-promise { margin: 0; color: var(--color-text-secondary); }
.form-status { display: none; margin-top: 24px; padding: 22px; border: 1px solid var(--color-border); border-left: 4px solid var(--color-signal-red); background: var(--color-porcelain); }
.form-status[data-visible="true"] { display: block; }
.form-status[data-kind="success"] { border-left-color: #2b6b3f; }
.form-status h3 { margin-bottom: 8px; font-size: 27px; }
.form-status p:last-child { margin-bottom: 0; }
.form-status__recovery { display: flex; flex-wrap: wrap; gap: 12px 20px; margin-top: 14px; }
.form-status__recovery a { min-height: 44px; display: inline-flex; align-items: center; font-weight: 700; }

.office-panel { padding-left: 34px; border-left: 1px solid var(--color-border); }
.office-list { margin: 28px 0 38px; }
.office-list div { padding: 18px 0; border-top: 1px solid var(--color-border); }
.office-list dt { display: flex; align-items: center; gap: 10px; color: var(--color-text-secondary); font-size: 14px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.office-list dt .icon { width: 18px; height: 18px; color: var(--color-signal-red); }
.office-list dd { margin-top: 7px; font-weight: 600; }
.map-preview { position: relative; display: block; min-height: 270px; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-image); background: linear-gradient(145deg, #e8e5df, #f8f8f8); text-decoration: none; }
.map-preview::before,
.map-preview::after { position: absolute; inset: 0; content: ""; opacity: .45; background-image: linear-gradient(28deg, transparent 47%, #b8bdc1 48%, #b8bdc1 50%, transparent 51%), linear-gradient(92deg, transparent 47%, #c8cccf 48%, #c8cccf 50%, transparent 51%); background-size: 88px 74px, 120px 86px; }
.map-preview__pin { position: absolute; z-index: 1; top: 44%; left: 58%; display: grid; place-items: center; color: var(--color-signal-red); transform: translate(-50%, -50%); }
.map-preview__label { position: absolute; z-index: 1; right: 18px; bottom: 18px; left: 18px; padding: 14px; background: rgb(255 255 255 / 92%); }
.map-preview__label strong { display: block; }
.map-preview__label small { color: var(--color-text-secondary); }
.map-attribution { margin-top: 8px; color: var(--color-text-secondary); font-size: 13px; }
.directions-mobile { display: none; }

.utility-main { min-height: calc(100vh - var(--header-desktop)); }
.utility-hero { padding: 86px 0 72px; }
.utility-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .6fr); gap: 70px; align-items: end; }
.utility-code { color: var(--color-signal-red); font-family: var(--font-display); font-size: clamp(96px, 15vw, 220px); line-height: .72; text-align: right; }
.utility-recovery-panel { margin-top: 48px; padding: 30px; border-top: 1px solid var(--color-graphite); border-bottom: 1px solid var(--color-graphite); }
.utility-recovery-panel h2 { font-size: 30px; text-transform: uppercase; }
.search-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; margin-top: 26px; }
.search-form input { min-height: 56px; padding: 12px 15px; border: 1px solid var(--color-border-strong); border-radius: var(--radius-control); }
.search-results { margin-top: 32px; border-top: 1px solid var(--color-graphite); }
.search-result-item { display: grid; grid-template-columns: 1fr auto; gap: 22px; align-items: center; padding: 24px 0; border-bottom: 1px solid var(--color-border); text-decoration: none; }
.search-result-item strong { display: block; font-family: var(--font-display); font-size: 27px; }
.search-result-item small { color: var(--color-text-secondary); }
.thank-you-mark { width: 92px; height: 92px; display: grid; place-items: center; margin-bottom: 34px; border: 2px solid var(--color-signal-red); border-radius: 50%; color: var(--color-signal-red); }
.thank-you-mark .icon { width: 46px; height: 46px; }

@media (max-width: 1024px) {
  .company-hero__grid { grid-template-columns: 1fr 1fr; gap: 44px; }
  .channel-board__grid { grid-template-columns: 1fr 1fr; }
  .channel:nth-child(2) { border-right: 0; }
  .channel:nth-child(-n+2) { border-bottom: 1px solid var(--color-border); }
  .contact-workspace__grid { gap: 48px; }
}

@media (max-width: 920px) {
  .company-shell .site-header { position: relative; }
  .company-hero,
  .contact-hero { padding-top: 48px; }
  .company-hero__grid,
  .contact-hero__grid,
  .record-grid,
  .support-band__grid,
  .contact-workspace__grid,
  .utility-hero__grid { grid-template-columns: 1fr; }
  .record-grid__intro { position: static; }
  .contact-hero__note,
  .office-panel { padding-left: 0; border-left: 0; border-top: 1px solid var(--color-border); padding-top: 26px; }
  .utility-code { text-align: left; }
  .map-preview { display: none; }
  .directions-mobile { display: inline-flex; }
}

@media (max-width: 767px) {
  .company-shell .breadcrumb { margin-top: 16px; font-size: 14px; }
  .company-hero h1,
  .contact-hero h1 { font-size: clamp(48px, 15vw, 68px); }
  .utility-hero h1 {
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: clamp(48px, 15vw, 68px);
  }
  .company-hero__grid { gap: 32px; }
  .record-row { grid-template-columns: 48px 1fr; gap: 14px; }
  .record-row--plain { grid-template-columns: minmax(0, 1fr); }
  .channel-board__grid { grid-template-columns: 1fr; }
  .channel { min-height: 154px; border-right: 0; border-bottom: 1px solid var(--color-border); }
  .channel:last-child { border-bottom: 0; }
  .form-grid { grid-template-columns: 1fr; }
  .form-field--full { grid-column: auto; }
  .form-actions .button { width: 100%; }
  .search-form { grid-template-columns: 1fr; }
  .search-result-item { grid-template-columns: 1fr; }
  .search-result-item .icon { display: none; }
  .utility-code { font-size: 110px; }
}

@media (max-width: 340px) {
  .channel { padding-inline: 20px; }
  .record-row { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
