/* Public content uses the same glass material as the workspace. The hero stays intact. */
.brand-site .form-submit:disabled { opacity: .42; filter: saturate(.4); cursor: not-allowed; box-shadow: none; transform: none; }
:root .brand-site {
  --bs-font: var(--brand-font, var(--sans, "Segoe UI", Arial, sans-serif));
  --bs-ink: var(--brand-ink, var(--glass-ink, #0b1934));
  --bs-muted: var(--brand-muted, var(--glass-muted, #65728a));
  --bs-link: var(--brand-link, var(--brand-blue, var(--glass-gold, #245de8)));
  --bs-blue: #245de8;
  --bs-cyan: var(--brand-cyan, #28d9ce);
  --bs-amber: var(--brand-orange, #ffb45e);
  --bs-line: var(--brand-line, var(--glass-line, #86a9d742));
  --bs-surface: var(--brand-surface, var(--glass-surface, #ffffffd9));
  --bs-raised: var(--brand-raised, var(--glass-raised, #f5f9ffe0));
  --bs-input: var(--brand-input, var(--glass-input, #ffffffed));
  --bs-glow: var(--brand-glow, var(--glass-glow, #245de814));
  --bs-reflection: var(--brand-reflection, var(--glass-reflection, #e7f8ffad));
  --bs-shadow: var(--brand-shadow, 0 14px 38px #09214c12);
  --bs-inset: #ffffff8c;
  --bs-corner: 8px 24px 8px 24px;
}
:root[data-theme=night] .brand-site {
  --bs-ink: var(--brand-ink, var(--glass-ink, #e6edf9));
  --bs-muted: var(--brand-muted, var(--glass-muted, #adbed3));
  --bs-link: var(--brand-link, var(--brand-blue, var(--glass-gold, #99bfff)));
  --bs-line: var(--brand-line, var(--glass-line, #89b4e938));
  --bs-surface: var(--brand-surface, var(--glass-surface, #122138d9));
  --bs-raised: var(--brand-raised, var(--glass-raised, #172a43e0));
  --bs-input: var(--brand-input, var(--glass-input, #0d1a2ced));
  --bs-glow: var(--brand-glow, var(--glass-glow, #48bbdf1c));
  --bs-reflection: var(--brand-reflection, var(--glass-reflection, #8fe8fa26));
  --bs-shadow: var(--brand-shadow, 0 16px 42px #020c253b);
  --bs-inset: #d3eaff1c;
}

/* Content typography is shared with the cabinet; no hero typography is selected. */
:root .brand-site :is(.intro, .approach, .contacts-section, #solutions, .request-dialog, .site-account-dialog) {
  font-family: var(--bs-font);
}
:root .brand-site :is(.intro, .approach, .contacts-section, .request-dialog, .site-account-dialog) {
  color: var(--bs-ink);
}
:root .brand-site :is(.section-heading h2, .contacts-copy h2, .consultation-banner h3, .form-intro h2, .form-success h3, .site-account-heading h2, .site-employee-entry h3) {
  font-family: var(--bs-font);
  font-weight: 600;
  letter-spacing: -.04em;
}
:root .brand-site :is(.section-heading h2, .contacts-copy h2) { line-height: 1.16; }
:root .brand-site :is(.section-heading h2 em, .contacts-copy h2 em, .form-intro h2 em) { color: var(--bs-link); font-style: normal; font-weight: inherit; }
:root .brand-site :is(.section-heading .eyebrow, .contacts-copy .eyebrow, .consultation-banner .eyebrow, .form-intro .eyebrow, .site-account-heading .eyebrow, .site-employee-entry .eyebrow) { color: var(--bs-link); }
:root .brand-site :is(.section-description, .service-footnote p, .process-grid p, .contacts-copy > p:not(.eyebrow):not(.contacts-note), .contact-card p, .phone-pending, .contact-person, .contact-email, .form-intro > p:last-child, .form-success p, .form-footnote, .optional, .site-account-intro, .site-account-field small, .site-account-check, .site-employee-entry p:not(.eyebrow)) { color: var(--bs-muted); }
:root .brand-site :is(.service-card h3, .contact-card h3, .process-grid h3) { color: var(--bs-ink); font-weight: 600; letter-spacing: -.025em; }
:root .brand-site :is(.service-number, .service-category, .solution-builder-kicker, .recommendation-label) { color: var(--bs-muted); }
:root .brand-site :is(.service-number, .contact-icon, .process-number) { font-family: var(--bs-font); font-variant-numeric: tabular-nums; }
:root .brand-site :is(.contact-icon, .process-number) { color: var(--bs-link); }
:root .brand-site .service-category { line-height: 1.65; }

/* Asymmetric edges and a static reflection give depth without a second animation. */
:root .brand-site :is(.service-card, .contact-card, .consultation-banner, .site-employee-entry),
:root .brand-site #solutions .solution-builder {
  position: relative;
  isolation: isolate;
  background: linear-gradient(140deg, var(--bs-reflection), transparent 53%), var(--bs-surface);
  border: 1px solid var(--bs-line);
  border-radius: var(--bs-corner);
  box-shadow: inset 0 1px 0 var(--bs-inset), var(--bs-shadow);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
:root .brand-site :is(.service-card, .contact-card)::before,
:root .brand-site #solutions .solution-builder::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(118deg, transparent 40%, #8fccec10 46%, var(--bs-reflection) 49%, transparent 57%);
  opacity: .34;
  pointer-events: none;
}
:root .brand-site :is(.service-card, .contact-card)::after {
  content: "";
  position: absolute;
  inset: 12px;
  background: linear-gradient(var(--bs-link), var(--bs-link)) left top / 17px 1px no-repeat,
    linear-gradient(var(--bs-link), var(--bs-link)) left top / 1px 17px no-repeat,
    linear-gradient(var(--bs-cyan), var(--bs-cyan)) right bottom / 17px 1px no-repeat,
    linear-gradient(var(--bs-cyan), var(--bs-cyan)) right bottom / 1px 17px no-repeat;
  opacity: .3;
  pointer-events: none;
}
:root .brand-site :is(.service-card, .contact-card):hover {
  border-color: var(--bs-link);
  box-shadow: inset 0 1px 0 var(--bs-inset), 0 19px 42px #15376720;
}
:root[data-theme=night] .brand-site :is(.service-card, .contact-card):hover { box-shadow: inset 0 1px 0 var(--bs-inset), 0 19px 42px #020b2055; }
:root .brand-site .service-card .service-icon {
  border: 1px solid var(--bs-line);
  border-radius: 8px 18px 8px 18px;
  background: linear-gradient(145deg, var(--bs-reflection), transparent 75%), var(--bs-raised);
  color: var(--bs-link);
  box-shadow: inset 0 1px 0 var(--bs-inset), 0 5px 14px var(--bs-glow);
}
:root .brand-site .service-card:nth-child(2) .service-icon { color: #087782; }
:root .brand-site .service-card:nth-child(3) .service-icon { color: #a75b09; }
:root .brand-site .service-card:nth-child(4) .service-icon { color: #5059c5; }
:root[data-theme=night] .brand-site .service-card:nth-child(2) .service-icon { color: #79e2df; }
:root[data-theme=night] .brand-site .service-card:nth-child(3) .service-icon { color: #ffcb8b; }
:root[data-theme=night] .brand-site .service-card:nth-child(4) .service-icon { color: #b9b5ff; }
:root .brand-site :is(.service-action, .contact-button) { color: var(--bs-link); font-weight: 600; border-color: var(--bs-line); }
:root .brand-site .contact-card .configured-phone { color: var(--bs-link); }
:root .brand-site :is(.service-action span, .contact-button span) { color: var(--bs-link); }
:root .brand-site .contact-button { min-height: 44px; }
:root .brand-site .service-footnote .text-link,
:root .brand-site .contacts-copy > .text-link { color: var(--bs-link); }
:root .brand-site .contacts-copy > .text-link { border-color: var(--bs-line); }
:root .brand-site .process-grid li { border-color: var(--bs-line); }
:root .brand-site .process-grid li::before { background: var(--bs-amber); box-shadow: 0 0 0 4px #ffb45e12; }
:root .brand-site .consultation-banner { border-left: 3px solid var(--bs-blue); }
:root .brand-site .contacts-section {
  background: linear-gradient(145deg, var(--bs-glow), transparent 62%);
  border-top-color: var(--bs-line);
}

/* The selection form stays readable over the existing dark orbit illustration. */
:root .brand-site #solutions .solution-builder {
  color: var(--bs-ink);
  box-shadow: inset 0 1px 0 var(--bs-inset), 0 24px 60px #020d2b38;
}
:root .brand-site #solutions :is(.solution-builder-head, .recommendation) { border-color: var(--bs-line); }
:root .brand-site #solutions :is(.solution-builder-kicker, .builder-note, .recommendation-label) { color: var(--bs-muted); }
:root .brand-site #solutions :is(fieldset legend, .recommendation h3) { color: var(--bs-ink); }
:root .brand-site #solutions :is(.solution-builder-symbol, fieldset legend > span) {
  background: var(--bs-glow);
  border-color: var(--bs-line);
  border-radius: 6px 12px;
  color: var(--bs-link);
}
:root .brand-site #solutions :is(.object-option > span, .priority-options span) {
  background: var(--bs-raised);
  border-color: var(--bs-line);
  border-radius: 7px 15px 7px 15px;
  color: var(--bs-muted);
}
:root .brand-site #solutions .object-option svg { color: var(--bs-link); }
:root .brand-site #solutions :is(.object-option:hover > span, .priority-options label:hover span) { background: var(--bs-input); border-color: var(--bs-link); }
:root .brand-site #solutions .object-option input:checked + span {
  color: var(--bs-link);
  background: var(--bs-glow);
  border-color: var(--bs-link);
  box-shadow: inset 0 0 0 1px var(--bs-link), 0 5px 16px #245de812;
}
:root .brand-site #solutions .object-option input:checked + span svg { color: var(--bs-link); }
:root .brand-site #solutions .object-option > span::before { background: var(--bs-blue); }
:root .brand-site #solutions .priority-options input:checked + span { color: #fff; background: linear-gradient(115deg, #2d65e8, var(--bs-blue)); border-color: #5d8ef3; box-shadow: inset 0 1px 0 #b6d9ff46, 0 5px 16px #245de824; }
:root .brand-site #solutions .recommendation {
  color: var(--bs-ink);
  background: linear-gradient(135deg, var(--bs-glow), transparent 85%), var(--bs-raised);
  border-radius: 7px 18px 7px 18px;
  box-shadow: inset 0 1px 0 var(--bs-inset);
}
:root .brand-site #solutions :is(.recommendation p, .solution-selection > div) { color: var(--bs-muted); }
:root .brand-site #solutions .solution-selection > div > span { color: var(--bs-link); }

/* Shared primary buttons, with the original hover movement left in place. */
:root .brand-site :is(.intro, .approach, .contacts-section, .request-dialog, .site-account-dialog) .button-dark,
:root .brand-site #solutions #solution-request {
  background: linear-gradient(115deg, #2d65e8, var(--bs-blue));
  border: 1px solid #5d8ef3;
  border-radius: 7px 18px 7px 18px;
  color: #fff;
  box-shadow: inset 0 1px 0 #b6d9ff46, 0 6px 22px #245de825;
  font-family: var(--bs-font);
  font-weight: 600;
}
:root .brand-site :is(.intro, .approach, .contacts-section, .request-dialog, .site-account-dialog) .button-dark:hover:not(:disabled),
:root .brand-site #solutions #solution-request:hover {
  background: linear-gradient(115deg, #3268e5, #326bea);
  border-color: #80a6ff;
  box-shadow: inset 0 1px 0 #d2e6ff52, 0 9px 27px #245de836;
}
:root .brand-site :is(.request-dialog, .site-account-dialog) .button:disabled { box-shadow: none; transform: none; }

/* Top-layer forms inherit the palette without changing their functional layout. */
:root .brand-site :is(.request-dialog, .site-account-dialog) {
  background: linear-gradient(140deg, var(--bs-reflection), transparent 55%), var(--bs-surface);
  border-color: var(--bs-line);
  border-radius: 9px 26px 9px 26px;
  box-shadow: inset 0 1px 0 var(--bs-inset), 0 32px 90px #07152b50;
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
}
:root .brand-site :is(.request-dialog, .site-account-dialog)::backdrop { background: #07152bbd; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
:root .brand-site :is(.site-account-close, .dialog-close) {
  color: var(--bs-ink);
  background: var(--bs-raised);
  border: 1px solid var(--bs-line);
  border-radius: 7px 13px 7px 13px;
}
:root .brand-site :is(.site-account-close, .dialog-close):hover { color: var(--bs-link); border-color: var(--bs-link); }
:root .brand-site .site-account-tabs { background: var(--bs-raised); border: 1px solid var(--bs-line); border-radius: 7px 17px 7px 17px; }
:root .brand-site .site-account-tabs button { border: 1px solid transparent; border-radius: 5px 12px 5px 12px; color: var(--bs-muted); }
:root .brand-site .site-account-tabs button[aria-selected=true] { color: var(--bs-link); background: var(--bs-input); border-color: var(--bs-line); box-shadow: inset 0 1px 0 var(--bs-inset), 0 3px 9px #15396912; }
:root .brand-site #request-form :is(input:not([type=checkbox]), select, textarea),
:root .brand-site .site-account-dialog .site-account-field input {
  color: var(--bs-ink);
  background: var(--bs-input);
  border-color: var(--bs-line);
  border-radius: 6px 13px 6px 13px;
  box-shadow: inset 0 1px 0 var(--bs-inset);
}
:root .brand-site #request-form :is(input, textarea)::placeholder,
:root .brand-site .site-account-dialog .site-account-field input::placeholder { color: var(--bs-muted); }
:root .brand-site #request-form :is(input:not([type=checkbox]), select, textarea):focus,
:root .brand-site .site-account-dialog .site-account-field input:focus { border-color: var(--bs-link); box-shadow: 0 0 0 3px var(--bs-glow); }
:root .brand-site :is(.site-account-field label, #request-form label, .site-employee-check) { color: var(--bs-ink); }
:root .brand-site #request-form .consent-label { color: var(--bs-muted); }
:root .brand-site :is(.consent-label, .site-account-check) input { accent-color: var(--bs-blue); }
:root .brand-site .site-employee-check { border-color: var(--bs-line); }
:root .brand-site .site-staff-decline { border-color: var(--bs-line); background: var(--bs-raised); color: var(--bs-ink); border-radius: 7px 16px 7px 16px; }
:root .brand-site .site-staff-decline:hover { border-color: var(--bs-link); color: var(--bs-link); }
:root .brand-site .site-employee-entry .site-staff-register { color: var(--bs-link); }
:root .brand-site .success-symbol { color: var(--bs-link); background: var(--bs-glow); border-color: var(--bs-line); }
:root .brand-site .form-status[data-state=loading] { color: var(--bs-link); }
:root .brand-site :is(.intro, .approach, .contacts-section, .request-dialog, .site-account-dialog) :focus-visible,
:root .brand-site #solutions :is(input:focus-visible + span, #solution-request:focus-visible) { outline-color: var(--bs-link); }

@media (max-width: 760px) {
  :root .brand-site :is(.service-card, .contact-card, .consultation-banner, .site-employee-entry),
  :root .brand-site #solutions .solution-builder { backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
  :root .brand-site :is(.request-dialog, .site-account-dialog) { backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
}
@media (max-width: 580px) {
  :root .brand-site :is(.service-card, .contact-card) { border-radius: 8px 21px 8px 21px; }
  :root .brand-site :is(.section-heading h2, .contacts-copy h2) { letter-spacing: -.035em; }
  :root .brand-site .contacts-copy h2 { font-size: clamp(31px, 8.4vw, 38px); }
  :root .brand-site .consultation-banner h3 { font-size: 24px; }
  :root .brand-site :is(.request-dialog, .site-account-dialog) { border-radius: 8px 21px 8px 21px; }
  :root .brand-site #solutions .solution-builder { border-radius: 8px 21px 8px 21px; }
  :root .brand-site #solutions .object-option > span { padding-right: 22px; }
  :root .brand-site .site-account-field input { font-size: 16px; }
  :root .brand-site .site-account-heading h2 { font-size: clamp(25px, 7.3vw, 29px); line-height: 1.2; }
}
@media (max-width: 360px) {
  :root .brand-site .site-account-tabs button { font-size: 12px; padding-inline: 7px; }
  :root .brand-site .site-account-dialog { padding-inline: 19px; }
}
@media (forced-colors: active) {
  :root .brand-site :is(.service-card, .contact-card)::before,
  :root .brand-site :is(.service-card, .contact-card)::after,
  :root .brand-site #solutions .solution-builder::before { display: none; }
  :root .brand-site :is(.service-card, .contact-card, .consultation-banner, .request-dialog, .site-account-dialog, .site-employee-entry),
  :root .brand-site #solutions .solution-builder { background: Canvas; border-color: CanvasText; color: CanvasText; box-shadow: none; }
}
