/* Public brand layer. The existing logo assembly, menu and motion stay intact. */
.header-portal {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  font-size: 12px;
  font-weight: 650;
  white-space: nowrap;
  color: var(--muted, #5f6658);
}
.header-portal:hover { color: var(--ink, #151615); }
.header-portal:focus-visible { outline: 2px solid var(--accent, #f97316); outline-offset: 4px; border-radius: 4px; }
.brand-hero { grid-template-columns: 1.35fr 1fr; padding-top: 46px; padding-bottom: 76px; gap: 22px; }
.brand-hero h1 { font-size: clamp(36px, 3.55vw, 55px); line-height: 1.24; letter-spacing: -.075em; }
.brand-hero .eyebrow { font-size: 10px; letter-spacing: .12em; }
.brand-hero .hero-description { max-width: 600px; margin-top: 24px; font-size: 15px; }
.brand-hero .hero-actions { margin-top: 24px; }
.brand-preview {
  display: grid;
  gap: 10px;
  margin-top: 27px;
  padding: 18px 22px;
  border: 1px solid #dbc3a5;
  border-left: 3px solid var(--accent, #f97316);
  border-radius: 0 9px 9px 0;
  background: #fff8ef;
  max-width: 570px;
}
.brand-preview .preview-offer-label { justify-self: start; font-size: 12px; }
.brand-preview p { font-size: 13px; line-height: 1.75; color: #63513e; }
.brand-preview strong { font-size: 15px; font-weight: 650; color: #3c342a; }
.brand-preview-note { display: block; font-size: 10px; color: #78664e; line-height: 1.65; }
.brand-solutions { padding-top: 55px; }
.brand-solutions .section-heading,
.brand-catalog .section-heading { margin-bottom: 22px; }
.brand-section-intro { max-width: 720px; margin-bottom: 42px; font-size: 14px; line-height: 1.85; color: var(--muted, #5f6658); }
.brand-capability .card-caption { display: block; }
.brand-capability .card-caption p { max-width: 470px; text-align: left; padding-top: 13px; font-size: 13px; line-height: 1.8; }
.brand-capability .card-caption h3 { font-size: 25px; }
.brand-home .benefits { padding-top: 10px; }
.brand-home .process-section { padding-bottom: 72px; }
.solution-index { padding-bottom: 78px; }
.solution-row {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 50px;
  padding-block: 36px;
  border-top: 1px solid var(--line, #d6dbce);
  scroll-margin-top: 122px;
}
.solution-row:last-child { border-bottom: 1px solid var(--line, #d6dbce); }
.solution-row .eyebrow { color: var(--muted, #5f6658); margin-bottom: 13px; font-size: 9px; }
.solution-row h2 { font-size: clamp(25px, 2.5vw, 35px); line-height: 1.35; }
.solution-row > div > p:not(.eyebrow) { font-size: 14px; color: var(--muted, #5f6658); line-height: 1.85; }
.solution-links { display: flex; flex-wrap: wrap; gap: 7px 24px; margin-top: 19px; }
.solution-links .text-link { font-size: 12px; min-height: 38px; }
.brand-catalog { padding-top: 64px; scroll-margin-top: 115px; }
.brand-catalog .filter-bar { margin-top: 32px; }
@media (max-width: 1100px) {
  .header-inner { gap: 22px; }
  .desktop-nav { gap: 24px; }
  .header-actions { gap: 16px; }
  .brand-hero { grid-template-columns: 1.2fr 1fr; }
  .brand-hero h1 { font-size: clamp(32px, 3.8vw, 44px); }
}
@media (max-width: 1000px) {
  .desktop-nav { gap: 18px; font-size: 13px; }
  .header-actions { gap: 12px; }
  .header-contact { padding-inline: 14px; gap: 13px; }
  .header-portal { font-size: 11px; gap: 6px; }
}
@media (max-width: 760px) {
  .header-contact { display: none; }
  .header-portal { display: inline-flex; font-size: 12px; gap: 8px; }
  .brand-hero { grid-template-columns: 1fr; padding-top: 32px; padding-bottom: 58px; gap: 8px; }
  .brand-hero h1 { font-size: clamp(29px, 7.15vw, 49px); line-height: 1.3; }
  .brand-hero .eyebrow { font-size: 8px; letter-spacing: .1em; }
  .brand-hero .hero-description { font-size: 13px; line-height: 1.85; margin-top: 20px; }
  .brand-preview { margin-top: 22px; padding: 16px 18px; gap: 8px; }
  .brand-preview strong { font-size: 13px; }
  .brand-preview p { font-size: 12px; }
  .brand-preview-note { font-size: 9px; }
  .brand-hero .hero-actions { gap: 12px 18px; margin-top: 22px; }
  .brand-hero .hero-actions .button { padding-inline: 18px; font-size: 12px; }
  .brand-hero .hero-actions .text-link { font-size: 11px; }
  .brand-solutions { padding-top: 30px; }
  .brand-section-intro { margin-bottom: 30px; font-size: 12px; }
  .brand-capability .card-caption p { font-size: 12px; padding-top: 10px; }
  .brand-capability .card-caption h3 { font-size: 23px; }
  .brand-home .process-section { padding-bottom: 48px; }
  .solution-index { padding-bottom: 46px; }
  .solution-row { grid-template-columns: 1fr; gap: 17px; padding-block: 27px; scroll-margin-top: 95px; }
  .solution-row .eyebrow { margin-bottom: 10px; }
  .solution-row h2 { font-size: 26px; }
  .solution-row > div > p:not(.eyebrow) { font-size: 13px; }
  .solution-links { gap: 6px 20px; margin-top: 13px; }
  .solution-links .text-link { font-size: 11px; }
  .brand-catalog { padding-top: 40px; scroll-margin-top: 95px; }
}
@media (max-width: 370px) {
  .brand-hero h1 { font-size: 27px; }
  .brand-hero .hero-description br { display: none; }
  .brand-preview { padding: 14px; }
}

.portal-pending{padding-bottom:100px}.portal-notice{padding:clamp(24px,5vw,56px);border:1px solid var(--line);background:#fff;border-radius:8px}.portal-notice h2{font-size:clamp(23px,3vw,34px);margin:18px 0}.portal-notice p{font-size:15px;line-height:1.85;color:var(--muted)}.portal-pending-page .page-intro{padding-bottom:48px}.portal-notice .hero-actions{margin-top:24px}@media(max-width:760px){.portal-pending{padding-bottom:64px}.portal-notice p{font-size:14px}.portal-notice p br{display:none}}

/* Until customer login launches, keep consultation as the mobile primary action. */
@media(max-width:760px){.header-inner{gap:10px}.header-actions{gap:9px}.header-portal{display:none}.header-contact{display:inline-flex;font-size:11px;padding-inline:12px}}
@media(max-width:370px){.header-inner{gap:6px}.header-actions{gap:3px}.header-contact{font-size:10px;padding-inline:9px}}

@media(max-width:650px){.brand-hero .hero-stage.nw-logo-intro{height:180px;margin-bottom:8px}.brand-hero .nw-intro-orbit{width:178px}.brand-hero .nw-intro-orbit::before{inset:17px}.brand-hero .nw-intro-orbit::after{inset:34px}}
