/* Shared public-site refinements. */
body[data-surface="site"] { --site-accent:#1473ff; --site-accent-dark:#075eda; --site-accent-line:#c8dafa; --site-accent-soft:#f3f7fd; --site-icon-color:#111; --site-icon-filter:brightness(0); --site-panel-inset:18px; }
/* Shared pictograms stay frameless, with contrast supplied by their surface. */
.site-hero,.site-footer,.site-catalog-download,.site-primary-button,.site-cta-dark,.site-customer-submit { --site-icon-color:#fff; --site-icon-filter:brightness(0) invert(1); }
.site-mega-panel { --site-icon-color:#111; --site-icon-filter:brightness(0); }
body[data-surface="site"] .site-icon { color:var(--site-icon-color); border:0; border-radius:0; background:transparent; box-shadow:none; }
body[data-surface="site"] img.site-icon,body[data-surface="site"] .site-icon > img { filter:var(--site-icon-filter); }
.site-page { --site-blue:var(--site-accent); --site-blue-dark:var(--site-accent-dark); }
.site-skip-link { position:fixed; left:18px; top:-80px; z-index:160; padding:13px 20px; color:#fff; background:var(--site-accent-dark); border-radius:3px; }
.site-skip-link:focus { top:12px; outline:2px solid #fff; outline-offset:2px; }
.site-page a:focus-visible,.site-page button:focus-visible,.site-request-drawer button:focus-visible,.site-request-drawer summary:focus-visible { outline:2px solid #6fa8f6; outline-offset:4px; }
.site-nav .site-primary-button { min-height:44px; color:#fff; border-color:rgba(255,255,255,.48); background:transparent; box-shadow:none; }
.site-nav .site-primary-button:hover,.site-nav .site-primary-button:focus-visible { border-color:#ddd; background:rgba(255,255,255,.1); }
.site-detail-header .site-primary-button { color:var(--site-accent-dark); border-color:var(--site-accent-line); }
.site-detail-header .site-primary-button:hover,.site-detail-header .site-primary-button:focus-visible { border-color:var(--site-accent); background:var(--site-accent-soft); }
.site-nav .site-nav-links > a { display:inline-flex; align-items:center; min-height:44px; }
.site-request-drawer .site-request-header,.site-mobile-menu .site-request-header { min-height:64px; justify-content:space-between; padding-inline:20px; }
.site-request-header > span { color:#77777c; font-size:12px; }
.site-request-drawer,.site-mobile-menu { top:var(--site-panel-inset); right:var(--site-panel-inset); bottom:var(--site-panel-inset); width:min(432px,calc(100vw - var(--site-panel-inset) - var(--site-panel-inset))); border:1px solid #dfe4ec; border-radius:24px; overflow:hidden; color:#07101f; background:#fff; box-shadow:0 30px 90px rgba(7,16,31,.24); }
.site-request-drawer .site-request-close { width:44px; height:44px; }
.site-request-form { gap:18px; }
.site-request-form h2 { font-size:29px; line-height:1.2; }
.site-request-form > p { font-size:14px; line-height:1.7; }
.site-request-form label > span { display:flex; align-items:baseline; justify-content:space-between; gap:12px; line-height:1.4; }
.site-request-form label > span small { color:#77777c; font-size:10px; font-weight:400; }
.site-request-form input,.site-request-form select,.site-request-form textarea { font-size:16px; min-height:48px; border-color:#d2d2d7; background:#f5f5f7; color:#1d1d1f; }
.site-request-form .site-form-consent input { min-height:0; }
.site-request-extra { padding-block:12px; border-top:1px solid #e5e5e8; border-bottom:1px solid #e5e5e8; }
.site-request-extra summary { min-height:32px; display:flex; align-items:center; justify-content:space-between; gap:15px; color:var(--site-accent-dark); font-size:12px; cursor:pointer; list-style:none; }
.site-request-extra summary::-webkit-details-marker { display:none; }
.site-request-extra summary::after { content:'+'; font-size:20px; font-weight:400; }
.site-request-extra[open] summary::after { content:'−'; }
.site-request-extra > div { display:grid; gap:17px; padding-top:16px; }
.site-request-form .site-form-consents strong { font-size:11px; font-weight:400; line-height:1.7; }
.site-request-form .site-form-consent { align-items:start; }
.site-request-footnote { color:#77777c; font-size:11px; line-height:1.7; }
.site-request-submit { min-height:48px; }
.site-request-form input:focus,.site-request-form select:focus,.site-request-form textarea:focus { border-color:var(--site-accent); box-shadow:0 0 0 3px rgba(0,0,0,.06); }
.site-request-form .site-form-consent input { accent-color:var(--site-accent); }
.site-request-form .site-form-consent a,.site-request-status { color:var(--site-accent-dark); }
.site-request-status[data-state="success"],.site-contact-status[data-state="success"] { padding:14px 16px; border:1px solid #b8dfcc; border-radius:12px; color:#16613e; background:#eff9f3; }
.site-request-fab { color:#1d1d1f; border-color:rgba(210,210,215,.85); background:rgba(250,250,252,.9); box-shadow:0 14px 34px rgba(0,0,0,.08); }
.site-request-fab::before { display:none; }
.site-request-fab-icon,.site-request-fab:hover .site-request-fab-icon,.site-request-fab:focus-visible .site-request-fab-icon { color:var(--site-icon-color); }
.site-request-fab:hover,.site-request-fab:focus-visible { color:#1d1d1f; border-color:var(--site-accent); background:rgba(250,250,252,.96); box-shadow:0 18px 42px rgba(0,0,0,.12); }
.site-mega-services > a:hover .site-mega-link-arrow { color:var(--site-icon-color); }
.site-mega-services > a[aria-current="page"] strong { color:var(--site-accent); }
.site-mega-footer button,.site-mega-footer button:hover { border:1px solid var(--site-accent-line); color:var(--site-accent-dark); background:transparent; }
.site-footer--compact { padding:58px clamp(24px,5vw,80px) 22px; background:linear-gradient(180deg,#111a26,#101824); }
.site-footer--compact .site-footer-main { display:grid; grid-template-columns:minmax(220px,1.3fr) minmax(135px,.8fr) minmax(145px,.85fr) minmax(200px,1fr); gap:clamp(28px,4vw,65px); }
.site-footer--compact .site-footer-brand { grid-column:auto; }
.site-footer--compact .site-footer-brand > p { max-width:300px; color:#a5b0c0; font-size:13px; line-height:1.8; }
.site-footer--compact .site-footer-column a { min-height:32px; display:inline-flex; align-items:center; font-size:12px; }
.site-footer-contact { display:flex; flex-direction:column; align-items:flex-start; }
.site-footer-contact > strong { color:#f5f5f7; font-size:16px; line-height:1.5; font-weight:550; }
.site-footer-contact p { margin:14px 0; color:#a5b0c0; font-size:12px; line-height:1.8; }
.site-footer-contact a { display:inline-flex; gap:15px; align-items:center; min-height:44px; color:#c2d8f7; font-size:12px; }
.site-footer-contact .site-footer-platform { min-height:32px; margin-top:10px; color:#a5b0c0; font-size:11px; }
.site-footer--compact .site-footer-bottom { margin-top:35px; padding-top:22px; }
.site-footer--compact .site-footer-bottom-links a { display:inline-flex; align-items:center; min-height:32px; }
@media(max-width:1120px) { .site-nav .site-nav-links > a { display:none; } .site-nav .site-nav-links > a:last-child { display:inline-flex; } .site-footer--compact .site-footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 30px; } }
@media(max-width:600px) { .site-footer--compact { padding:42px 24px 82px; } .site-footer--compact .site-footer-main { gap:28px; } .site-footer--compact .site-footer-brand,.site-footer-contact { grid-column:1 / -1; } .site-footer--compact .site-footer-brand > p { max-width:100%; } .site-footer--compact .site-footer-bottom { gap:12px; align-items:flex-start; } .site-footer--compact .site-footer-bottom-links { flex-wrap:wrap; gap:12px; } .site-request-drawer { top:10px; right:10px; bottom:10px; width:calc(100vw - 20px); } .site-request-form { padding:23px 20px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }

/* Shared public surfaces use the same neutral palette. */
.site-detail-page { background:#fff; color:#1d1d1f; }
.site-contact-form,.contact-location-panel { border-color:#e5e5e8; border-radius:24px; }
.site-page { --site-ink:#07101f; --site-muted:#667085; --site-line:#e7ebf2; --site-dark:#07101f; --site-dark-2:#0b1525; }
.site-mega-panel { border-color:#e5e5e8; border-radius:20px; color:#1d1d1f; box-shadow:0 24px 70px #00000014; }
.site-mega-intro { background:#f5f5f7; }
.site-mega-intro > span,.site-mega-intro > a { color:#515154; }
.site-mega-services > a:hover { background:#f5f5f7; }
.site-request-submit { border-radius:999px; }
.site-footer--compact .site-footer-column a,.site-footer--compact .site-footer-bottom { color:#a5b0c0; }
.site-footer--compact a:hover { color:#fff; }

.site-page .site-primary-button { border:1px solid #1473ff; border-radius:999px; color:#fff; background:#1473ff; box-shadow:0 16px 34px rgba(20,115,255,.18); }
.site-page .site-primary-button:hover,.site-page .site-primary-button:focus-visible { border-color:#075eda; color:#fff; background:#075eda; }
.site-page .contact-secondary-button { border-color:#d2d2d7; border-radius:999px; }

/* Mobile navigation is shared by every public page. */
.site-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.site-page .site-mobile-toggle { display:none; }
body[data-surface="site"].is-mobile-menu-open { overflow:hidden; }
.site-mobile-menu { position:fixed; left:auto; max-width:none; height:calc(100dvh - var(--site-panel-inset) - var(--site-panel-inset)); max-height:none; margin:0; padding:0; font-family:var(--site-font-family); }
.site-mobile-menu:not([open]) { display:none; }
.site-mobile-menu[open] { display:flex; flex-direction:column; }
.site-mobile-menu::backdrop { background:rgba(7,16,31,.48); }
.site-mobile-menu-header { flex-shrink:0; }
.site-mobile-close { flex:0 0 44px; width:44px; height:44px; padding:0; }
.site-mobile-menu-body { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:23px 20px; }
.site-mobile-menu-body h2 { margin:0 0 14px; color:#07101f; font-size:29px; font-weight:var(--site-font-weight-heading); line-height:1.2; }
.site-mobile-menu-body > p { margin:0 0 22px; color:#667085; font-size:14px; line-height:1.7; }
.site-mobile-link,.site-mobile-services > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:48px; margin-top:10px; padding:12px 14px; border:1px solid #e5e5e8; border-radius:8px; color:#111; background:#f5f5f7; font-size:16px; font-weight:500; line-height:1.4; text-decoration:none; }
.site-mobile-link > span { flex-shrink:0; font-size:18px; }
.site-mobile-services > summary { cursor:pointer; list-style:none; }
.site-mobile-services > summary::-webkit-details-marker { display:none; }
.site-mobile-services > summary svg { flex-shrink:0; transition:transform 160ms; }
.site-mobile-services[open] > summary svg { transform:rotate(180deg); }
.site-mobile-service-links { display:grid; padding:8px 0 14px 16px; border-bottom:1px solid #e7ebf2; }
.site-mobile-service-links a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding:8px 0; color:#475467; font-size:15px; line-height:1.4; text-decoration:none; }
.site-mobile-menu a:hover { color:#075eda; }
.site-mobile-menu :is(a,button,summary):focus-visible { outline:2px solid #1473ff; outline-offset:4px; }
.site-mobile-menu-footer { flex-shrink:0; padding:18px 20px calc(22px + env(safe-area-inset-bottom)); border-top:1px solid #e7ebf2; }
.site-mobile-menu-footer p { margin:0 0 12px; color:#667085; font-size:13px; line-height:1.5; }
.site-mobile-menu-footer .site-mobile-request { display:flex; align-items:center; justify-content:center; gap:16px; min-height:48px; padding:12px 20px; border-radius:999px; color:#fff; background:#07101f; font-size:14px; font-weight:550; text-decoration:none; }
.site-mobile-menu-footer .site-mobile-request:hover { color:#fff; background:#075eda; }
@media(max-width:1120px) {
  .site-page .site-nav { grid-template-columns:minmax(0,1fr) auto auto; gap:8px; padding-inline:0; }
  .site-page .site-nav .site-nav-links { display:none; }
  .site-page .site-nav-actions { grid-column:2; grid-row:1; }
  .site-page .site-mobile-toggle { display:grid; grid-column:3; grid-row:1; place-items:center; width:44px; height:44px; padding:0; border:0; color:inherit; background:transparent; cursor:pointer; }
  .site-nav .site-nav-actions .site-primary-button { min-height:40px; padding-inline:12px; gap:6px; font-size:12px; white-space:nowrap; }
}
@media(max-width:600px) { body[data-surface="site"] { --site-panel-inset:10px; } .site-mobile-menu { width:calc(100vw - 20px); } }
@media(max-width:359px) { .site-page .site-nav .site-brand { gap:7px; font-size:17px; } }

.site-footer-internal-note { margin:16px 0 0; color:#929ba8; font-size:10px; font-weight:400; line-height:1.6; text-align:center; }
.site-footer-internal-note::before { content:""; display:block; width:min(220px,55%); height:1px; margin:0 auto 14px; background:linear-gradient(90deg,transparent,rgba(165,176,192,.42) 40%,rgba(165,176,192,.42) 60%,transparent); }

/* Neutral accordion controls, consistent with the customer form. */
.capability-toggle { border-color:#d2d2d7; background:#fff; box-shadow:0 1px 0 rgba(7,16,31,.02); }
.capability-toggle::before,.capability-toggle::after { background:#07101f; }
.capability-item[open] .capability-toggle { border-color:#b9bec6; background:#f5f5f7; box-shadow:0 4px 14px rgba(7,16,31,.05); }

.site-mega-footer button { color:#20242a; border-color:#d2d2d7; background:#fff; }
.site-mega-footer button:hover { color:#07101f; border-color:#b9bec6; background:#f5f5f7; }
.site-mega-footer button:focus-visible { outline:2px solid #737985; outline-offset:4px; }

.site-footer-internal-note a { color:inherit; font-size:inherit; text-decoration:none; }
.site-footer-internal-note a:hover { color:#d8dde5; text-decoration:underline; }

/* Two-column rights page, neutral typography. */
body[data-page="rights"] .rights-shell { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(40px,7vw,100px); max-width:1280px!important; align-items:start; }
.rights-intro { position:sticky; top:48px; }
body[data-page="rights"] .legal-content { display:grid; grid-template-columns:1fr; margin-top:0!important; gap:32px; }
body[data-page="rights"] .site-detail-kicker,body[data-page="rights"] .legal-block > span { color:#737985; }
body[data-page="rights"] .legal-block { padding:0 0 28px; border-bottom:1px solid #e0e2e6; }
body[data-page="rights"] .legal-block h2 { color:#20242a; font-size:23px; }
body[data-page="rights"] .legal-block p { color:#737985; }
body[data-page="rights"] .legal-content a { color:#20242a; text-decoration-color:#b9bec6; }
@media(max-width:760px) { body[data-page="rights"] .rights-shell { grid-template-columns:1fr; gap:40px; } .rights-intro { position:static; } }
