/* Airwave Visual Brand Guide v1.2. Shared semantic roles own typography here.
   Fira Sans uses Medium display headings, Regular body and Bold actions. */
:root {
  --aw-blue:#165bc4; --aw-blue-hover:#10499f; --aw-ink:#142b49;
  --aw-muted:#536b87; --aw-cloud:#edf5ff; --aw-white:#fff;
  --aw-border:#d5e2f1; --aw-gray:#edf0f4; --aw-accent:#058fff;
  --aw-container:1280px; --brand-gutter:48px; --brand-section:96px;
  --brand-title:72px; --brand-reference:48px; --brand-section-title:48px;
  --brand-subhead:28px; --brand-intro:20px; --brand-transcript:22px;
}
body[data-page][data-brand] {
  font:400 18px/1.55 var(--aw-font); color:var(--aw-ink); background:#fff;
  --ink:var(--aw-ink); --muted:var(--aw-muted); --blue:var(--aw-blue);
  --line:var(--aw-border); --font:var(--aw-font); --wi-font:var(--aw-font); --sa-font:var(--aw-font);
}
body[data-brand] *,body[data-brand] *::before,body[data-brand] *::after { box-sizing:border-box }
body[data-brand] :is(button,input,select,textarea) { font-family:var(--aw-font) }
body[data-page][data-brand] :is(h1,h2,h3,h4,h5,.hero-statement) { letter-spacing:normal; text-wrap:pretty }
body[data-page][data-brand] :is(h1,h2,.hero-statement) { font-weight:var(--aw-headline-weight,500) }
body[data-page][data-brand] :is(h3,h4,h5) { font-weight:700 }
body[data-page][data-brand] main h1,body[data-page][data-brand] .hero-statement { font-size:var(--brand-title); line-height:1.08 }
body[data-page][data-brand] .hero-statement[data-fixed-lines] { font-size:var(--hero-fixed-font-size,var(--brand-title)) }
body[data-brand] .hero-line { display:block; white-space:nowrap; font:inherit; color:inherit }
body[data-page][data-brand][data-title-role=reference] main h1 { font-size:var(--brand-reference); line-height:1.12 }
body[data-page][data-brand] main h2 { font-size:var(--brand-section-title); line-height:1.12 }
body[data-page][data-brand] main h3 { font-size:var(--brand-subhead); line-height:1.2 }
body[data-page][data-brand] main h4 { font-size:24px; line-height:1.2 }
body[data-page][data-brand] main p { font-size:18px; font-weight:400; line-height:1.55; letter-spacing:normal }
body[data-page][data-brand] main :is(.aw-intro,.bl-lede,.sw-hero-lede,.hero-lede,.hero-sub,.section-intro,.sg-hero-copy>p,.bs-hero p,.dp-hero p,.ip-hero p,.rl-hero p,.hero-copy>p,.section-copy>p,.sw-section-copy>p) { font-size:var(--brand-intro); line-height:1.5; font-weight:400; max-width:60ch }
body[data-page][data-brand] .hero-sub { letter-spacing:normal }
body[data-page][data-brand] main :is(small,figcaption,.aw-caption) { font-size:14px; line-height:1.45 }
body[data-page][data-brand] main strong { font-weight:700 }
body[data-page][data-brand] main :is(.aw-button,.home-button,.button,.btn,.text-button,.aw-link,.home-link,.text-link,.nw-more,.report-open,.sw-report-open,.close-item-button,.sw-close-item-button),
body[data-page][data-brand] .site-header :is(.nav-actions a,.mobile-action) {
  min-height:48px; padding:12px 20px; border-radius:4px; font:700 16px/1.3 var(--aw-font);
  text-transform:none; letter-spacing:normal; white-space:normal; text-align:center;
}
body[data-page][data-brand] main :is(.aw-link,.home-link,.text-link,.text-button) { padding-inline:0 }
body[data-page][data-brand] :is(input,textarea,select) { font-size:18px; line-height:1.5; border-color:#7186a0; border-radius:4px; min-height:48px }
body[data-brand] :is(a,button,summary,input,select,textarea,[tabindex]):focus-visible { outline:3px solid var(--aw-blue); outline-offset:4px }
body[data-brand] :is(.cinema-hero,.aw-capture-shell,.capture-visual,.sw-capture-visual) :focus-visible { outline-color:white }
body[data-brand] :is(.wrap,.aw-container,.container,.sw-container,.notes-container,.bl-container,.ip-container,.dp-container,.rl-container) {
  width:calc(100% - var(--brand-gutter) * 2); max-width:var(--aw-container); margin-inline:auto;
}
body[data-brand] :is(.aw-container,.wrap,.container,.sw-container) :is(.aw-container,.wrap,.container,.sw-container) { width:100%; padding-inline:0 }
body[data-brand] main>:is(section,.section) { padding-block:var(--brand-section) }
body[data-brand] main>:is(.cinema-hero,.sg-hero,.hero) { padding-block:72px }
body[data-brand] main>:is(.sg-subnav,.bl-wayfinding,.bs-journey) { padding-block:0 }
body[data-brand] :is(.aw-grid,.testimonial-grid,.plan-grid,.pricing-grid,.bl-split,.bs-split) { gap:24px }
body[data-brand] :is(.aw-card,.technician-quote,.plan,.paperwork-sample,.report-window,.sw-report-window,.bs-paper,.sa-paper,.wi-document) { border-radius:12px; box-shadow:none; border-color:var(--aw-border) }
body[data-brand] main :is(figure>img,.bl-hero-scene,.aw-capture-shell,.gx-field-film,.sg-pov video,.bs-photo,.ip-photo) { border-radius:4px; box-shadow:none }
body[data-brand] :is(.hero-film,.hero-film img,.sw-hero-film,.sw-hero-film img,.sa-hero-media,.wi-hero-media,.bl-hero-scene>img,.capture-visual,.sw-capture-visual) { border-radius:4px }
body[data-brand] .gx-fallback { opacity:1 }
body[data-brand] :is(.aw-hero-title,.aw-title,h1,h2,h3) br { display:none }
body[data-brand] :is(.hero-copy,.section-copy,.sw-section-copy,.sg-section-copy,.bl-heading) { min-width:0 }
body[data-brand] main :is(p,li,h1,h2,h3) { overflow-wrap:break-word }
body[data-page][data-brand] main p { max-width:64ch }
body[data-page][data-brand] main :is(.aw-capture-quote,.bl-hero-speech p,.sw-transcript>p,.transcript>p,.sa-speech p,.gx-transcript) { font:400 var(--brand-transcript)/1.35 var(--aw-font); letter-spacing:normal; max-width:52ch }
body[data-page][data-brand] main :is(.aw-capture-status,.sw-transcript>div,.transcript>div) { font:400 14px/1.45 var(--aw-font) }
body[data-page][data-brand] main :is(.aw-capture-note-body small,.aw-capture-note-head,.aw-capture-note-body>div>p) { font:400 14px/1.45 var(--aw-font); color:var(--aw-ink) }
body[data-page][data-brand] main .aw-capture-note-body strong { font:700 16px/1.3 var(--aw-font); color:var(--aw-ink) }
body[data-brand] :is(.bl-floating .aw-capture-note-head,.bl-floating .aw-capture-note-body) { padding:12px 16px }
body[data-brand] .bl-floating .aw-capture-note-head { padding-bottom:0 }
body[data-brand] .bl-floating { left:24px; right:24px; bottom:24px }
body[data-brand] .bl-hero-speech { left:24px; right:24px }
body[data-brand] :is(.aw-capture-layer>div:not(.aw-capture-card),.bl-hero-speech,.sw-transcript,.sc-page .transcript) { position:relative; isolation:isolate }
body[data-brand] :is(.aw-capture-layer>div:not(.aw-capture-card),.bl-hero-speech,.sw-transcript,.sc-page .transcript)::before { content:''; position:absolute; inset:-12px; z-index:-1; pointer-events:none; background:linear-gradient(90deg,#000b,#000a); filter:blur(12px); border-radius:4px }
body[data-brand] main :is(.bl-hero-speech,.sw-transcript,.sc-page .transcript) { position:absolute }
body[data-brand] .take-notes .blue-mark { display:none }
body[data-brand] .take-notes .notes-gather { height:1px }
body[data-brand] .take-notes .notes-scene { grid-template-columns:minmax(0,1.16fr) 48px minmax(0,1fr) }
body[data-brand] .take-notes .gather-lines { display:none }
body[data-page][data-brand] .take-notes .writeup-label { font:700 16px/1.3 var(--aw-font) }
body[data-brand] .writeup-label .brand-example { font:400 14px/1.45 var(--aw-font); color:var(--aw-muted); margin-left:auto }
body[data-brand] :is(.capture-visual,.sw-capture-visual)::after { background:linear-gradient(0deg,#0009,transparent 75%) }
body[data-page][data-brand] .take-notes .writeup-ready { font:400 14px/1.45 var(--aw-font) }
body[data-brand] .sitemap-footer { display:flex; justify-content:space-between; align-items:start; gap:32px; padding-block:48px; border-top:1px solid var(--aw-border); background:white }
body[data-brand] .sitemap-footer .brand img { width:126px; height:auto }
body[data-brand] .sitemap-footer .footer-brand p { font:400 14px/1.45 var(--aw-font); margin:16px 0 }
body[data-brand] .sitemap-footer nav { display:flex; flex-wrap:wrap }
body[data-brand] main .aw-heading { max-width:900px; margin-bottom:40px }
body[data-brand] .aw-title { max-width:24ch }
/* Quiet, consistent shell; menus keep the same order at every route. */
body[data-page][data-brand] .site-header { background:white; border-color:var(--aw-border); padding:16px max(var(--brand-gutter),calc((100% - 1280px)/2)); gap:24px }
body[data-page][data-brand] .site-header .main-nav { gap:20px; margin-left:auto }
body[data-page][data-brand] .site-header :is(.main-nav>a,.nav-group>summary) { font:400 16px/1.3 var(--aw-font); letter-spacing:normal; padding-block:14px }
body[data-page][data-brand] .site-header .nav-actions { gap:16px }
body[data-page][data-brand] .site-header .nav-actions a { padding:12px 14px }
body[data-page][data-brand] .site-header .nav-actions .cta-login { padding-inline:4px; color:var(--aw-ink); font-weight:400; opacity:1 }
body[data-page][data-brand] .site-header .mega-panel a>span { font:400 18px/1.3 var(--aw-font) }
body[data-page][data-brand] .site-header .mega-panel a>small { font:400 14px/1.45 var(--aw-font) }
body[data-page][data-brand] .site-header .brand img { width:126px }
body[data-brand] .site-header .mega-panel { box-shadow:0 12px 24px #142b4912; border-color:var(--aw-border) }
body[data-brand] .site-header .mega-inner { max-width:var(--aw-container) }
body[data-brand] :is(footer,.sitemap-footer) { font:400 14px/1.45 var(--aw-font); color:var(--aw-muted) }
body[data-brand] :is(footer,.sitemap-footer) a { min-height:44px; display:inline-flex; align-items:center }
body[data-brand] .sitemap-footer nav { gap:16px 24px }
/* Film retains its real color, with a local neutral scrim below the copy. */
body[data-brand] .cinema-shade { background:linear-gradient(90deg,#0009 0%,#0004 45%,transparent 80%),linear-gradient(0deg,#0007,transparent 60%) }
body[data-brand] .cinema-hero { min-height:650px; height:auto; max-height:none }
body[data-brand] .cinema-content { padding-block:48px; width:calc(100% - var(--brand-gutter)*2) }
body[data-brand] .hero-statements { height:250px; max-width:900px }
body[data-brand] .hero-statement { max-width:900px; text-align:left }
body[data-brand] .hero-message-list { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%) }
body[data-brand] .cinema-content .home-actions { flex-wrap:wrap; margin-top:16px }
body[data-brand] .cinema-paperwork { background:var(--aw-cloud) }
body[data-brand] :is(.ownership,.team-bridge,.field-testimonials) { background:#fff }
body[data-brand] .technician-quote { border:0; border-top:1px solid var(--aw-border); border-radius:0; padding:24px 0; min-height:0 }
body[data-page][data-brand] .technician-quote blockquote p { font:400 18px/1.55 var(--aw-font) }
body[data-page][data-brand] .technician-quote figcaption { font-size:14px; line-height:1.45 }
body[data-page][data-brand] .technician-quote figcaption strong { font-size:16px }
body[data-page][data-brand] .technician-quote figcaption>span>span { font-size:14px }
/* Report previews are records, not nested or tilted device illustrations. */
body[data-brand] :is(.phone,.sw-phone) { width:100%; max-width:440px; height:auto; min-height:0; margin:0; padding:24px; background:white; border:1px solid var(--aw-border); border-radius:12px; box-shadow:none; transform:none; color:var(--aw-ink) }
body[data-brand] :is(.phone-camera,.sw-phone-camera,.send-grid,.sw-send-grid) { display:none }
body[data-brand] :is(.send-visual,.sw-send-visual) { display:flex; align-items:center; justify-content:flex-start; flex-direction:column; gap:16px; padding:0; height:auto; min-height:0; background:none; overflow:visible }
body[data-brand] :is(.send-visual,.sw-send-visual)>:is(.share-card,.sw-share-card) { position:static; width:100%; max-width:440px; margin:0; padding:16px; background:white; color:var(--aw-ink); transform:none; box-shadow:none; border:1px solid var(--aw-border); border-radius:6px }
body[data-brand] :is(.phone-photo,.sw-phone-photo) { height:200px; width:100%; object-fit:cover; margin-block:16px; border-radius:4px }
body[data-brand] :is(.phone,.sw-phone)>:is(.share-card,.sw-share-card) { position:static; width:100%; max-width:none; min-height:48px; margin:16px 0 0; padding:16px 0 0; border:0; border-top:1px solid var(--aw-border); border-radius:0; background:white; color:var(--aw-blue); box-shadow:none; transform:none; font:700 16px/1.3 var(--aw-font) }
body[data-brand] :is(.phone,.sw-phone)>:is(.share-card,.sw-share-card) strong { font-size:16px; font-weight:700 }
body[data-page][data-brand] :is(.phone,.sw-phone) h3 { font-size:18px; line-height:1.3; margin:0 0 16px }
body[data-page][data-brand] :is(.phone,.sw-phone) h4 { font-size:18px; line-height:1.3 }
body[data-page][data-brand] :is(.phone,.sw-phone) p { font-size:14px; line-height:1.45 }
body[data-brand] :is(.report-window,.sw-report-window,.close-window,.sw-close-window,.bl-job-window) { background:white; color:var(--aw-ink); box-shadow:none; border:1px solid var(--aw-border); border-radius:12px; transform:none }
body[data-brand] :is(.report-toolbar,.sw-report-toolbar,.close-top,.sw-close-top,.bl-window-bar) { background:white; border-bottom:1px solid var(--aw-border); color:var(--aw-ink); font:400 16px/1.3 var(--aw-font); padding:16px; gap:16px; flex-wrap:wrap }
body[data-brand] :is(.report-body,.sw-report-body) { padding:24px }
body[data-page][data-brand] :is(.report-heading,.sw-report-heading,.close-top,.sw-close-top) h3 { font-size:18px; line-height:1.3 }
body[data-brand] :is(.close-window,.sw-close-window) :is(p,span,strong,h3,h4) { color:var(--aw-ink) }
body[data-brand] :is(.close-window,.sw-close-window) :is(.follow-row,.sw-close-row,.sw-open-receipt,.sw-receipt-title,.sw-receipt-body) { background:white; border-color:var(--aw-border) }
body[data-brand] :is(.close-window,.sw-close-window) :is(.follow-row,.sw-close-row) { padding:16px 0 }
body[data-brand] :is(.follow-row,.sw-close-row,.report-list-item,.bl-record) { gap:16px }
body[data-brand] :is(.close-window,.sw-close-window) :is(.close-item-button,.sw-close-item-button) { background:var(--aw-gray); color:var(--aw-ink) }
body[data-page][data-brand] :is(.report-window,.sw-report-window,.close-window,.sw-close-window,.bl-job-window,.bs-paper,.bs-final-record,.sa-paper,.wi-document,.ip-card,.plan) :is(h2,h3) { font-size:28px; line-height:1.2 }
body[data-page][data-brand] :is(.report-heading,.sw-report-heading,.close-top,.sw-close-top,.bs-record-head,.plan-top) h3 { font-size:18px; line-height:1.3 }
body[data-page][data-brand] :is(.report-window,.sw-report-window,.close-window,.sw-close-window,.bl-job-window) p { font-size:16px; line-height:1.5 }
body[data-brand] :is(.phone-summary,.sw-phone-summary,.phone-trade,.sw-phone-trade,.report-status,.sw-report-status,.sample-badge,.sw-sample-badge,.sw-open-status,.sw-closed-label) { font-size:14px; line-height:1.45; letter-spacing:normal; text-transform:none; color:var(--aw-muted) }
body[data-brand] :is(.phone-summary,.sw-phone-summary) { display:flex; flex-wrap:wrap; gap:8px 16px }
/* Module headings and actual UI labels use subhead/metadata roles. */
body[data-page][data-brand] :is(.gx-copy-head,.sg-feature-copy) :is(h2,h3) { font-size:28px; line-height:1.2 }
body[data-page][data-brand] .gx-manual-example h3 { font-size:18px; line-height:1.3 }
body[data-page][data-brand] .gx-manual-example p { font-size:14px; line-height:1.45 }
body[data-page][data-brand] .gx-conversation-turn { font:400 16px/1.5 var(--aw-font); background:white; border-radius:6px; box-shadow:none }
body[data-page][data-brand] .gx-conversation-turn p { font-size:16px; line-height:1.5 }
body[data-brand] .gx-stage { background:var(--aw-cloud); border-radius:0 0 12px 12px }
body[data-brand] .gx-page { padding-block:var(--brand-section) }
body[data-brand] .gx-feature-actions { gap:16px }
body[data-brand] :is(.gx-tabs,.sg-tabs) button { font:700 16px/1.3 var(--aw-font); min-height:48px }
body[data-brand] .gx-tabs button[aria-selected=true] { border-bottom:3px solid var(--aw-blue)!important }
body[data-brand] .gx-case-specs dt { font-size:14px; line-height:1.45 }
body[data-brand] .gx-case-specs dd { font-size:18px; font-weight:700; line-height:1.3 }
body[data-brand] .gx-controls { font:400 14px/1.45 var(--aw-font) }
body[data-brand] .gx-controls button { min-height:44px; font:700 16px/1.3 var(--aw-font) }
body[data-brand] :is(.gx-sound-bars,.gx-blue-wave) { display:none }
/* 22px open ring, separate 44px transparent target. No pulse or filled center. */
body[data-page][data-brand] :is(.gx-hotspot,.hardware-figure .hotspot,.sg-hotspot) { width:44px; height:44px; min-height:44px!important; min-width:44px; padding:0!important; border:0!important; border-radius:50%!important; background:transparent!important; box-shadow:none!important; font-size:0; transform:translate(-50%,-50%) }
body[data-page][data-brand] :is(.gx-hotspot,.hardware-figure .hotspot,.sg-hotspot)::before { content:''; position:absolute; inset:11px; width:22px; height:22px; border:1.25px solid #165bc4bf; border-radius:50%; background:transparent; box-shadow:none; animation:none; pointer-events:none }
body[data-page][data-brand] :is(.gx-hotspot,.hardware-figure .hotspot,.sg-hotspot)::after { display:none; animation:none }
body[data-page][data-brand] :is(.gx-hotspot[data-marker-surface=dark],.hardware-figure .hotspot)::before { border-color:white; box-shadow:0 0 0 .5px #142b4999 }
body[data-page][data-brand] :is(.gx-hotspot,.hardware-figure .hotspot,.sg-hotspot):focus-visible { outline:3px solid var(--aw-blue)!important; outline-offset:1px }
body[data-brand] .gx-hotspot-bubble { font:400 14px/1.45 var(--aw-font); border:1px solid var(--aw-border); border-radius:6px; padding:12px 16px; bottom:40px; left:30px; width:220px; box-shadow:0 4px 16px #142b4914 }
body[data-brand] .gx-hotspot-bubble strong { font-weight:700 }
body[data-brand] .gx-mobile-features { display:none }
body[data-brand] .hardware-figure .hotspot { color:transparent }
body[data-brand] .hardware-figure figcaption button { min-height:44px; font:400 14px/1.45 var(--aw-font) }
/* Reference and resource pages retain their own useful content layouts. */
body[data-brand] :is(.ip-hero,.dp-hero,.rl-hero,.bl-hero,.bs-hero,.pricing-hero) { background:white }
body[data-page][data-brand] :is(.plan-top h2,.plan h3,.resource-card h2,.rl-card h2,.story-card h2,.customer-card h2) { font-size:28px; line-height:1.2 }
body[data-page][data-brand] .hero-sub { font-size:20px; line-height:1.5; font-weight:400 }
body[data-brand] :is(.bl-photo-wash,.sa-photo-wash,.sw-capture-shade,.capture-shade) { background:linear-gradient(0deg,#0009,transparent 70%) }
body[data-brand] :is(.modal-topbar,.dialog-head) h2 { font:700 24px/1.2 var(--aw-font) }
body[data-brand] main .brand-record-title { font:700 18px/1.3 var(--aw-font) }
body[data-page][data-brand] main .brand-record :is(h2,h3,h4) { font:700 18px/1.3 var(--aw-font) }
body[data-page][data-brand] main .brand-record p { font:400 16px/1.5 var(--aw-font) }
body[data-brand] main .brand-record { background:white; color:var(--aw-ink); box-shadow:none; transform:none }
body[data-brand] [role=tablist] button { min-height:48px; font:700 16px/1.3 var(--aw-font); border-radius:0 }
body[data-brand] [role=tablist] button[aria-selected=true] { border-bottom:3px solid var(--aw-blue); color:var(--aw-blue) }
body[data-brand] :is(.gx-hotspot,.hardware-figure .hotspot):hover::before { border-color:var(--aw-blue) }
@media(min-width:1081px) and (max-width:1270px) {
  body[data-page][data-brand] .site-header { gap:16px; flex-wrap:wrap }
  body[data-page][data-brand] .site-header .nav-actions { margin-left:auto }
  body[data-page][data-brand] .site-header .main-nav { gap:16px }
  body[data-page][data-brand] .site-header .brand img { width:104px }
}
@media(max-width:1080px) {
  :root { --brand-gutter:24px; --brand-section:72px; --brand-title:56px }
  body[data-page][data-brand] .site-header { padding:12px 24px; gap:16px }
  body[data-page][data-brand] .site-header .main-nav { margin:0; padding-inline:24px }
  body[data-page][data-brand] .site-header .mobile-menu-actions { grid-template-columns:1fr }
  body[data-page][data-brand] .site-header .mobile-action { min-height:48px }
  body[data-brand] .cinema-hero { min-height:600px }
  body[data-brand] .hero-statements { height:210px }
}
@media(max-width:760px) {
  :root { --brand-gutter:20px; --brand-section:56px; --brand-title:40px; --brand-reference:36px; --brand-section-title:36px; --brand-subhead:24px; --brand-intro:18px; --brand-transcript:18px }
  body[data-page][data-brand] .site-header { padding:12px 20px }
  body[data-page][data-brand] .site-header .main-nav { padding-inline:20px }
  body[data-page][data-brand] :is(.gx-copy-head,.sg-feature-copy) :is(h2,h3) { font-size:24px }
  body[data-brand] :is(.aw-grid,.testimonial-grid,.plan-grid,.pricing-grid,.bl-split,.bs-split) { gap:16px }
  body[data-brand] .cinema-hero { min-height:0; height:auto; padding-block:56px; align-items:flex-end }
  body[data-brand] .cinema-content { padding-block:88px 0 }
  body[data-brand] .hero-statements { height:calc(var(--hero-fixed-font-size,var(--brand-title)) * 2.16 + 24px) }
  body[data-brand] .cinema-content .home-actions { display:grid; grid-template-columns:1fr; gap:16px; max-width:360px }
  body[data-brand] .cinema-content .home-button { min-height:48px; flex:none; width:100%; justify-content:center }
  body[data-brand] .cinema-content .home-button>span:last-child { display:inline }
  body[data-brand] .cinema-shade { background:linear-gradient(0deg,#0009,transparent 95%) }
  body[data-brand] .gx-feature-actions { padding:0 24px 24px }
  body[data-brand] .gx-feature-actions .aw-button { width:100% }
  body[data-brand] .gx-mobile-features { display:grid; gap:0; padding:0 24px 24px }
  body[data-brand] .gx-mobile-features button { display:block; width:100%; text-align:left; background:transparent; color:var(--aw-ink); padding:16px 0; border:0; border-bottom:1px solid var(--aw-border)!important; font:400 14px/1.45 var(--aw-font); min-height:48px }
  body[data-brand] .gx-mobile-features button strong { display:block; font-size:16px; margin-bottom:4px }
  body[data-brand] .gx-mobile-features button[aria-pressed=true] strong { color:var(--aw-blue) }
  body[data-brand] .gx-mobile-features { grid-column:1; grid-row:3 }
  body[data-brand] .gx-results { grid-row:4 }
  body[data-brand] .gx-feature-actions { grid-row:5 }
  body[data-brand] .gx-controls { grid-row:6!important; flex-wrap:wrap }
  body[data-brand] .gx-hotspot-bubble { display:none!important }
  body[data-brand] :is(.report-body,.sw-report-body,.phone,.sw-phone) { padding:16px }
  body[data-page][data-brand] :is(.report-window,.sw-report-window,.close-window,.sw-close-window) h3 { font-size:18px }
  body[data-brand] :is(.report-toolbar,.sw-report-toolbar) { padding:16px; gap:8px }
  body[data-brand] .aw-heading { margin-bottom:32px }
  body[data-brand] :is(.aw-actions,.hero-actions,.home-actions) { gap:16px; flex-wrap:wrap }
  body[data-brand] main>:is(.sg-hero,.hero) { padding-block:56px }
  body[data-brand] .phone,body[data-brand] .sw-phone { max-width:100% }
  body[data-brand] .take-notes .notes-scene { grid-template-columns:1fr; gap:24px }
  body[data-brand] .take-notes .notes-gather { display:none }
  body[data-brand] .sitemap-footer { flex-direction:column; padding-block:32px }
}
@media(prefers-reduced-motion:reduce) {
  body[data-brand] *,body[data-brand] *::before,body[data-brand] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important }
}

/* Desktop dropdowns sit directly under their menu item, left edges aligned, and grow to the right. */
@media(min-width:1081px) {
  body[data-page][data-brand] .site-header .nav-group { position:relative }
  body[data-page][data-brand] .site-header :is(.mega-panel,#product-menu) { top:100%; left:var(--menu-shift,0px); right:auto; width:max-content; max-width:min(720px,calc(100vw - 48px)); border:1px solid var(--aw-border); border-radius:12px; overflow:hidden }
  body[data-page][data-brand] .site-header .mega-inner { width:auto; max-width:none; margin:0; padding:24px 28px }
  body[data-page][data-brand] .site-header .nav-product-list { width:340px }
  body[data-page][data-brand] .site-header .nav-business-columns { grid-template-columns:repeat(2,240px); gap:32px; max-width:none; margin:0 }
  body[data-page][data-brand] .site-header .nav-two-columns { grid-template-columns:repeat(2,240px); gap:32px; max-width:none; margin:0 }
}

/* Site Walks receipt: the card is a white record, so its status chips use the light treatments. */
body[data-brand] .sw-close-row>.sw-closed-label { background:#e8f4ef; color:#2c6e57 }
body[data-brand] .sw-receipt-title>.sw-open-status { background:#fbf4e5; border-color:#f2e7ce; color:#7d5f27 }
body[data-brand] .sw-receipt-title>span:first-child { background:#fbf4e5; border-color:#e2c98f; color:#7d5f27 }
body[data-brand] .sw-receipt-title>div>span, body[data-brand] .sw-receipt-meta, body[data-brand] .sw-receipt-meta>span:last-child { color:var(--aw-muted,#536b87) }
body[data-brand] .sw-receipt-closed { border-color:var(--aw-border,#d5e2f1) }
body[data-brand] .sw-closed-circle { background:#e8f4ef; color:#2c6e57 }

/* One footer on every page: pages that still load the legacy styles.css no longer indent the brand or stack the links. */
body[data-brand] .sitemap-footer .footer-brand { margin-left:0; padding-left:0 }
body[data-brand] .sitemap-footer nav { flex-direction:row; flex-wrap:wrap }

/* Security: pillar and tile titles are subheads (28 / 24 px), not section headings; one column on phones. */
body[data-brand] :is(.dp-assurances,.dp-security-tiles) h2 { font-size:var(--brand-subhead,28px); line-height:1.2; max-width:none; overflow-wrap:normal; hyphens:manual }
@media(max-width:760px) {
  body[data-brand] :is(.dp-assurances,.dp-security-tiles) h2 { font-size:24px }
  body[data-brand] .dp-assurances { grid-template-columns:1fr }
}

/* Report preview cards (Reports, Why Airwave): one upright, uncropped record on white, with its open action on its own row. */
body[data-brand] .report-card .preview-button { height:auto; padding:24px; background:#fff; display:flex; flex-direction:column; align-items:stretch; gap:16px }
body[data-brand] .report-card:nth-child(3) .preview-button { background:#fff }
body[data-brand] .report-card .document { transform:none; box-shadow:none; min-height:0 }
body[data-brand] .report-card .preview-button:hover .document { transform:none }
body[data-brand] .report-card .preview-open { position:static; align-self:flex-start; inset:auto; border-radius:4px; min-height:44px; padding:8px 12px; font-size:16px }
body[data-brand] .report-card { border-radius:12px }

/* Why Airwave connected-workflow diagram: give the transfer label room on desktop; stack the two records on phones. */
body[data-brand] .record-pair { grid-template-columns:1fr 84px 1fr }
body[data-brand] .system-record, body[data-brand] .airwave-record { box-shadow:none; border-radius:12px; border-color:var(--aw-border,#d5e2f1) }
@media(max-width:760px) {
  body[data-brand] .record-pair { grid-template-columns:1fr; gap:8px }
  body[data-brand] .record-transfer b { display:inline-block; transform:rotate(90deg) }
}

/* Resources: the status reads as plain metadata in the card's text line, not a label over the artwork. */
body[data-brand] .rl-page .card-meta .card-status { position:static; background:none; padding:0; color:var(--aw-muted,#536b87); font-size:14px; border-radius:0 }

/* Homepage glasses module: show the product still while the 3D model loads (or if WebGL fails), then hand over to the canvas. */
body[data-brand] .gx-stage:not(.is-ready) .gx-fallback { display:block; opacity:1 }
body[data-brand] .gx-stage:not(.is-ready) .gx-loading { top:auto; bottom:16px; transform:translateX(-50%) }

/* Shared closing section: one design on every page. Full-bleed Cloud, headline, one line, one primary action,
   an optional text link, and a real photo. */
body[data-brand] .aw-close { background:var(--aw-cloud,#edf5ff); box-shadow:0 0 0 100vmax var(--aw-cloud,#edf5ff); clip-path:inset(0 -100vmax); padding:var(--brand-section,96px) 0; margin:0; border:0 }
body[data-brand] .aw-close-grid { max-width:calc(1280px + 2 * var(--brand-gutter,48px)); margin:0 auto; padding:0 var(--brand-gutter,48px); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,480px); gap:48px; align-items:center }
body[data-brand] .aw-close h2 { font:500 var(--brand-section-title,48px)/1.12 var(--aw-font); color:var(--aw-ink,#142b49); margin:0; max-width:18ch; letter-spacing:normal }
body[data-brand] .aw-close-copy>p { font:400 var(--brand-intro,20px)/1.5 var(--aw-font); color:var(--aw-muted,#536b87); margin:16px 0 0; max-width:52ch }
body[data-brand] .aw-close-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px 32px; margin-top:32px }
body[data-brand] .aw-close-button { display:inline-flex; align-items:center; gap:8px; min-height:48px; padding:0 24px; border-radius:4px; background:var(--aw-blue,#165bc4); color:#fff; font:700 16px/1.3 var(--aw-font); text-decoration:none; border:0 }
body[data-brand] .aw-close-button:hover { background:#10499f; color:#fff }
body[data-brand] .aw-close-link { display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0; background:none; border:0; color:var(--aw-ink,#142b49); font:700 16px/1.3 var(--aw-font); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; cursor:pointer }
body[data-brand] .aw-close-link:hover { color:var(--aw-blue,#165bc4) }
body[data-brand] .aw-close-photo { margin:0 }
body[data-brand] .aw-close-photo img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:4px; border:0 }
body[data-brand] .aw-close-photo figcaption { font:400 14px/1.45 var(--aw-font); color:var(--aw-muted,#536b87); margin-top:8px }
body[data-brand] .aw-close .share-status { flex-basis:100%; margin:0; font-size:14px; color:var(--aw-muted,#536b87) }
body[data-brand] .aw-close .share-status:empty { display:none }
@media(max-width:760px) {
  body[data-brand] .aw-close-grid { grid-template-columns:1fr; gap:32px }
  body[data-brand] .aw-close-actions { gap:8px 24px }
}
body[data-brand] :is(#customer-content,#main,main) .aw-close-button, body[data-brand] :is(#customer-content,#main,main) .aw-close-button:hover { color:#fff }
body[data-brand] :is(#customer-content,#main,main) .aw-close-link { color:var(--aw-ink,#142b49) }
body[data-brand] :is(#customer-content,#main,main) .aw-close-link:hover { color:var(--aw-blue,#165bc4) }
body[data-brand] :is(#customer-content,#main,main) .aw-close h2 { color:var(--aw-ink,#142b49) }

/* ===== Use case pages: one family =====
   Every section is a two-column split: a module on one side, copy on the other, alternating left/right after the hero.
   Lists are plain ruled rows (no icon or arrow bullets). No step strips, no sample pills, no dark bands. */
body:is([data-page="service-calls"],[data-page="site-walks"],[data-page="safety"],[data-page="inspections"],[data-page="surveys-estimates"],[data-page="training"],[data-page="work-instructions"]) {
  --uc-gap:64px;
}
body[data-brand] .uc-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:var(--uc-gap,64px); align-items:center }
body[data-brand] .uc-split-copy>h2 { margin:0 0 16px }
body[data-brand] .uc-split-module { min-width:0 }
/* Alternation. Module left = flip. */
body[data-brand] :is(
  #on-the-call, #report, #next-steps>.story-section,
  #on-the-walk, #send, #close-out>.sw-story-section,
  #your-jha,
  section[aria-labelledby="form-title"] .uc-grid, section[aria-labelledby="capture-title"] .uc-grid, section[aria-labelledby="check-title"] .uc-grid,
  #scope .uc-grid, #estimate .uc-grid, #handoff .uc-grid,
  #record, #document
) { direction:rtl }
body[data-brand] :is(
  #on-the-call, #report, #next-steps>.story-section,
  #on-the-walk, #send, #close-out>.sw-story-section,
  #your-jha,
  section[aria-labelledby="form-title"] .uc-grid, section[aria-labelledby="capture-title"] .uc-grid, section[aria-labelledby="check-title"] .uc-grid,
  #scope .uc-grid, #estimate .uc-grid, #handoff .uc-grid,
  #record, #document
)>* { direction:ltr }
@media(max-width:900px) {
  body[data-brand] .uc-split { grid-template-columns:1fr; gap:32px }
}
/* Lists: ruled rows, no markers. */
body[data-brand] main :is(.feature-icon,.sw-feature-icon,.note-icon,.return-icon) { display:none }
body[data-brand] main :is(.feature-lines,.sw-feature-lines) { margin-top:24px; border-bottom:1px solid var(--aw-border,#d5e2f1) }
body[data-brand] main :is(.feature-lines,.sw-feature-lines)>div { display:block; margin:0; padding:16px 0; border-top:1px solid var(--aw-border,#d5e2f1) }
body[data-brand] main :is(.sa-features,.wi-features,.uc-list) { list-style:none; padding:0; margin:24px 0 0; border-bottom:1px solid var(--aw-border,#d5e2f1) }
body[data-brand] main :is(.sa-features,.wi-features,.uc-list)>li { position:static; margin:0; padding:16px 0; border-top:1px solid var(--aw-border,#d5e2f1) }
body[data-brand] main :is(.sa-features,.wi-features,.uc-list)>li::before { content:none; display:none }
body[data-brand] main :is(.feature-lines,.sw-feature-lines,.sa-features,.wi-features,.uc-list) :is(p,li) { font:400 18px/1.55 var(--aw-font); color:var(--aw-muted,#536b87); max-width:none; margin:0 }
body[data-brand] main :is(.feature-lines,.sw-feature-lines,.sa-features,.wi-features,.uc-list) strong { font-weight:700; color:var(--aw-ink,#142b49) }
/* No dark bands: the sections read on white, their records stay white. */
body[data-brand] :is(#next-steps.close-section,#your-standards.sa-standards,#follow.wi-dark) { background:#fff; color:var(--aw-ink,#142b49) }
body[data-brand] :is(#next-steps.close-section,#your-standards.sa-standards,#follow.wi-dark)::before,
body[data-brand] :is(#next-steps.close-section,#your-standards.sa-standards,#follow.wi-dark)::after { display:none; content:none }
body[data-brand] :is(#next-steps,#your-standards,#follow) :is(h2,h3,strong) { color:var(--aw-ink,#142b49) }
body[data-brand] :is(#next-steps,#your-standards,#follow) :is(p,li,.section-lede) { color:var(--aw-muted,#536b87) }
body[data-brand] :is(#next-steps,#your-standards,#follow) a:not(.aw-close-button) { color:var(--aw-blue,#165bc4) }
/* Upright output record (Service Calls recommendations and any .uc-record). */
body[data-brand] .uc-record { background:#fff; border:1px solid var(--aw-border,#d5e2f1); border-radius:12px; padding:24px; box-shadow:none; transform:none; color:var(--aw-ink,#142b49) }
body[data-brand] .uc-record-head { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-bottom:16px; border-bottom:1px solid var(--aw-border,#d5e2f1); font:400 14px/1.45 var(--aw-font); color:var(--aw-muted,#536b87) }
body[data-brand] .uc-record-head img { width:96px; height:auto }
body[data-brand] .uc-record h3 { font:700 18px/1.3 var(--aw-font); color:var(--aw-ink,#142b49); margin:16px 0 8px }
body[data-brand] .uc-record-rows { list-style:none; margin:0; padding:0 }
body[data-brand] .uc-record-rows li { display:grid; grid-template-columns:32px 1fr; gap:16px; padding:16px 0; border-top:1px solid var(--aw-border,#d5e2f1) }
body[data-brand] .uc-record-rows li:first-child { border-top:0 }
body[data-brand] .uc-record-num { font:400 14px/1.6 var(--aw-font); color:var(--aw-muted,#536b87) }
body[data-brand] .uc-record-rows strong { display:block; font:700 16px/1.35 var(--aw-font); color:var(--aw-ink,#142b49) }
body[data-brand] .uc-record-rows span:not(.uc-record-num) { display:block; font:400 14px/1.45 var(--aw-font); color:var(--aw-muted,#536b87); margin-top:4px }
body[data-brand] .uc-record-action { display:inline-flex; align-items:center; gap:6px; min-height:44px; margin-top:8px; padding:0; background:none; border:0; color:var(--aw-ink,#142b49); font:700 16px/1.3 var(--aw-font); text-decoration:underline; text-underline-offset:4px; cursor:pointer }
body[data-brand] .uc-record-action:hover { color:var(--aw-blue,#165bc4) }
/* Safety hero: the demo video fills the media column, like the other use case heroes. */
body[data-brand] .sa-hero-visual { height:auto }
body[data-brand] .sa-video-poster { width:100%; height:auto; aspect-ratio:4/3; border-radius:4px }

/* One quiet testimonial: navy text at subhead scale, no giant quote marks, logo with the attribution. */
body[data-brand] .aw-quote-section { padding:var(--brand-section,96px) var(--brand-gutter,48px); background:#fff }
body[data-brand] .aw-quote { max-width:860px; margin:0 auto; padding:0 }
body[data-brand] .aw-quote blockquote { margin:0; padding:0; border:0 }
body[data-brand] .aw-quote blockquote p { font:400 24px/1.4 var(--aw-font); color:var(--aw-ink,#142b49); margin:0; max-width:none }
body[data-brand] .aw-quote blockquote p :is(span,em,strong) { color:inherit; font:inherit }
body[data-brand] .aw-quote figcaption { display:flex; align-items:center; gap:16px; margin-top:24px; padding-top:16px; border-top:1px solid var(--aw-border,#d5e2f1) }
body[data-brand] .aw-quote figcaption img { width:auto; height:40px; object-fit:contain; border-radius:0 }
body[data-brand] .aw-quote figcaption p { margin:0; font:400 14px/1.45 var(--aw-font); color:var(--aw-muted,#536b87) }
body[data-brand] .aw-quote figcaption strong { display:block; font:700 16px/1.35 var(--aw-font); color:var(--aw-ink,#142b49) }
@media(max-width:760px) { body[data-brand] .aw-quote blockquote p { font-size:20px } body[data-brand] .aw-quote-section { padding:var(--brand-section,56px) var(--brand-gutter,20px) } }
/* Sort notes inside the copy column: same ruled rows as every other list, no arrow markers. */
body[data-brand] main :is(.sort-notes,.sw-sort-notes) { display:block; margin:24px 0 0; padding:0; border-top:0; border-bottom:1px solid var(--aw-border,#d5e2f1) }
body[data-brand] main :is(.sort-notes,.sw-sort-notes) p { position:static; padding:16px 0; margin:0; border-top:1px solid var(--aw-border,#d5e2f1); font:400 18px/1.55 var(--aw-font); color:var(--aw-muted,#536b87) }
body[data-brand] main :is(.sort-notes,.sw-sort-notes) p>span:first-child { display:none }
body[data-brand] main :is(.sort-notes,.sw-sort-notes) strong { font-weight:700; color:var(--aw-ink,#142b49) }
/* The job record carries the module on its own; the photo stack and dotted connector only crowded it in a half column. */
body[data-brand] .uc-split-module :is(.sort-demo,.sw-sort-demo) { display:block }
body[data-brand] .uc-split-module :is(.photo-stack,.sort-connector,.sw-photo-stack,.sw-sort-connector) { display:none }
body[data-brand] .uc-split-module :is(.report-window,.sw-report-window) { width:100%; max-width:none; margin:0 }
/* Safety standards card: an upright white record on the now-white section. */
body[data-brand] .sa-standard-card { background:#fff; border:1px solid var(--aw-border,#d5e2f1); border-radius:12px; box-shadow:none }
body[data-brand] .sa-standard-card :is(h3,dd) { color:var(--aw-ink,#142b49) }
body[data-brand] .sa-standard-card :is(dt,p,blockquote) { color:var(--aw-muted,#536b87) }
body[data-brand] .sa-standard-card dl>div { border-top-color:var(--aw-border,#d5e2f1) }
body[data-brand] .sa-standard-card dd a { color:var(--aw-blue,#165bc4) }
body[data-brand] .sa-standard-card blockquote { border-left-color:var(--aw-border,#d5e2f1); font-size:16px }
body[data-brand] main .sa-standard-card>.sa-text-button { color:var(--aw-ink,#142b49)!important }
body[data-brand] .sa-speech .sa-orb { display:none }
/* Work Instructions answer card: light, like every other record. */
body[data-brand] .wi-answers { background:var(--aw-cloud,#edf5ff); border:1px solid var(--aw-border,#d5e2f1); border-radius:12px }
body[data-brand] main .wi-answers h3 { color:var(--aw-ink,#142b49) }
body[data-brand] .wi-questions>button { border:1px solid var(--aw-border,#d5e2f1)!important; border-radius:4px; background:#fff; color:var(--aw-ink,#142b49); min-height:44px }
body[data-brand] .wi-questions>button.is-active { background:var(--aw-blue,#165bc4); color:#fff; border-color:var(--aw-blue,#165bc4)!important }
body[data-brand] .wi-answer { border:1px solid var(--aw-border,#d5e2f1); border-radius:12px }
/* Section intros on the use case pages: one size and spacing under every heading. */
body[data-brand] main :is(.section-lede,.sw-section-lede,.uc-split-copy>.section-top-copy>p:first-child) { font:400 var(--brand-intro,20px)/1.5 var(--aw-font); color:var(--aw-muted,#536b87); margin:16px 0 0; max-width:52ch }

/* ===== Site-wide component consistency ===== */
/* Headlines are navy: no part of a heading in link blue. */
body[data-brand] main :is(h1,h2) :is(span,em,strong):not(.sr-only):not(.visually-hidden) { color:inherit }
/* No dark reading surfaces: these panels become white or Cloud with navy text. */
body[data-brand] :is(.bl-controls,.customers-page section.featured,section.featured,.art-jobs,.bs-standards,.story-hero-stat) { background:var(--aw-cloud,#edf5ff); color:var(--aw-ink,#142b49); box-shadow:none }
body[data-brand] :is(.bl-controls,.story-hero-stat) { background:#fff; border:1px solid var(--aw-border,#d5e2f1); border-radius:12px }
body[data-brand] :is(.bl-controls,section.featured,.art-jobs,.bs-standards,.story-hero-stat) :is(h1,h2,h3,h4,strong,b,dd) { color:var(--aw-ink,#142b49) }
body[data-brand] :is(.bl-controls,section.featured,.art-jobs,.bs-standards,.story-hero-stat) :is(p,li,dt,small,figcaption,.eyebrow) { color:var(--aw-muted,#536b87)!important }
body[data-brand] :is(.bl-controls,section.featured,.art-jobs,.bs-standards,.story-hero-stat) :is(dl>div,li,hr) { border-color:var(--aw-border,#d5e2f1) }
body[data-brand] :is(.bl-controls,section.featured,.art-jobs,.bs-standards) a:not(.button):not(.aw-button):not(.aw-close-button) { color:var(--aw-blue,#165bc4) }
/* Footage keeps a local neutral gradient behind text, not a flat navy slab. */
body[data-brand] .hero-wash { background:linear-gradient(90deg,#000a 0%,#0006 38%,transparent 70%),linear-gradient(0deg,#0007,transparent 45%) }
/* No decorative orbs. */
body[data-brand] main :is(.blue-orb,.bs-orb,.sa-orb,.orbit,.orbit-two,.bl-crew-orb) { display:none }
body[data-brand] main .blue-orb+*, body[data-brand] main .blue-orb { margin-left:0 }
/* No sample / example / illustrative pills. */
body[data-brand] main :is(.brand-example,.example-tag,.live-chip,.sample-badge,.sw-sample-badge) { display:none }
/* Eyebrows: sentence case, normal tracking. */
body[data-brand] main :is(.eyebrow,.story-meta dt,dt) { text-transform:none; letter-spacing:normal }
body[data-brand] main .eyebrow { font:400 14px/1.45 var(--aw-font); color:var(--aw-muted,#536b87) }
body[data-brand] .bl-workspace-blue>.bl-mark { width:auto; height:auto; background:none; color:var(--aw-blue,#165bc4); font-size:24px; line-height:1; border-radius:0; margin:0 auto 8px }
body[data-brand] .bl-workspace-blue strong { font:700 18px/1.3 var(--aw-font) }
/* One secondary text-link style across pages: navy, 16 px Bold, underlined. */
body[data-brand] main :is(.aw-link,.home-link,.text-link,.text-button,.sa-text-button,.wi-text-button,.follow-link,.section-link,.in-inline-action,.uc-inline-link):not(.aw-close-link) { color:var(--aw-ink,#142b49); font:700 16px/1.3 var(--aw-font); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; background:none; border:0; padding:0; min-height:44px; display:inline-flex; align-items:center; gap:6px }
body[data-brand] main :is(.aw-link,.home-link,.text-link,.text-button,.sa-text-button,.wi-text-button,.follow-link,.section-link,.in-inline-action,.uc-inline-link):hover { color:var(--aw-blue,#165bc4) }
/* One selected-filter style. */
body[data-brand] main :is(.filter,.filter-button,[data-filter]):is(.active,[aria-pressed="true"],.is-active) { background:var(--aw-blue,#165bc4); color:#fff; border-color:var(--aw-blue,#165bc4) }
/* Home: the ownership photo has no frame. */
body[data-brand] .ownership-image, body[data-brand] .ownership-image img { border:0; border-radius:4px; box-shadow:none }
/* Same rules with ID-level weight for pages whose own styles are scoped to #main or #customer-content. */
body[data-brand] :is(#main,#customer-content) :is(h1,h2) :is(span,em,strong):not(.sr-only) { color:inherit }
body[data-brand] :is(#main,#customer-content) :is(section.featured,.story-hero-stat) { background:var(--aw-cloud,#edf5ff); color:var(--aw-ink,#142b49) }
body[data-brand] :is(#main,#customer-content) .story-hero-stat { background:#fff; border:1px solid var(--aw-border,#d5e2f1); border-radius:12px }
body[data-brand] :is(#main,#customer-content) :is(section.featured,.story-hero-stat) :is(h1,h2,h3,h4,strong,b,dd) { color:var(--aw-ink,#142b49) }
body[data-brand] :is(#main,#customer-content) :is(section.featured,.story-hero-stat) :is(p,li,dt,small,.eyebrow) { color:var(--aw-muted,#536b87) }
body[data-brand] :is(#main,#customer-content) :is(.eyebrow,dt) { text-transform:none; letter-spacing:normal }
body[data-brand] :is(#main,#customer-content) .eyebrow { font:400 14px/1.45 var(--aw-font); color:var(--aw-muted,#536b87) }
/* Customer story hero: light copy panel beside the photo. */
body[data-brand] #customer-content.customer-content .story-hero { background:var(--aw-cloud,#edf5ff); color:var(--aw-ink,#142b49); border-radius:4px }
body[data-brand] #customer-content.customer-content .story-hero :is(h1,h2,strong) { color:var(--aw-ink,#142b49) }
body[data-brand] #customer-content.customer-content .story-hero :is(p,span,small,dt) { color:var(--aw-muted,#536b87) }
body[data-brand] #customer-content.customer-content .story-hero-stat { background:#fff; border-left:1px solid var(--aw-border,#d5e2f1) }
/* Blue lists: no arrow or plus markers. */
body[data-brand] .bl-list p>span:first-child { display:none }

/* ===== Tokens: corners and controls (guide: 12 px panels, 0 or 4 px photos, 4 px controls, 6 px capture strips) ===== */
body[data-brand] main :is(.document,.doc-box,.hardware-stage,.card-art,.brand-tile,.bs-spoken,.in-live-checklist,.in-matched-form,.in-reading,.in-evidence,.in-missing-panel,.uc-panel,.business-col,.report-message,.connection-demo,.security-review,.path,.bs-digital,.sa-digital-form,.wi-step-card,.story-card,.risk-coverage,.full-report,.sw-open-receipt,.floating-item,.training-question,.bs-phone,.report-card,.featured) { border-radius:12px }
body[data-brand] :is(#main,#customer-content) :is(section.featured,a.story-card) { border-radius:12px }
body[data-brand] main :is(img,video,picture,.full-report-photo,.ownership-image,.se-hero-media,.training-hero-media,.training-photo,.training-clip,.sa-hazard-image,.record-evidence,.bl-diagnosis,.bl-photo-wash,.video-poster,.wi-film-poster,.sa-video-poster):not([class*="avatar"]):not([class*="monogram"]):not([class*="logo"]) { border-radius:4px }
body[data-brand] main :is(.record-state,.popular,.sw-live-chip,.wi-recording-action,.bs-box,.logo-box,.sa-form-status,.sa-detection) { border-radius:4px }
body[data-brand] main :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { border-radius:4px }
/* Buttons: 48 px tall, 16 px Bold labels, 4 px corners. Checkboxes and radios keep their native size. */
body[data-brand] main :is(.aw-button,.home-button,.button,.sa-button,.wi-button,.sw-button,.light-button,.card-button,.filter,button:not([class])):not(.aw-close-link) { min-height:48px; border-radius:4px; font-size:16px; font-weight:700 }
body[data-brand] :is(#main,#customer-content) :is(.button,.filter) { border-radius:4px; font-size:16px; font-weight:700; min-height:48px }
body[data-brand] main :is(input[type="checkbox"],input[type="radio"]) { min-height:0; height:auto }
/* Holdouts: Customers filters and search, hero buttons on the quiet use case pages, Work Instructions controls. */
body[data-brand] #customer-content .outcomes button, body[data-brand] #customer-content :is(input,select) { border-radius:4px; font-size:16px; min-height:48px }
body[data-brand] #customer-content .outcomes button { font-weight:700 }
body[data-brand] :is(#main,main) .aw-actions .aw-button, body[data-brand] :is(#main,main) .wi-actions .wi-button { font-size:16px; font-weight:700; min-height:48px; border-radius:4px }
body[data-brand] main :is(.wi-hero-instruction,.wi-timeline button) { border-radius:12px }
body[data-brand] main .wi-questions>button { font-weight:700 }
/* Record values are data, not links: navy, not link blue. */
body[data-brand] main .doc-row span:last-child { color:var(--aw-ink,#142b49) }
/* Reading cards carry no shadow (guide: depth only for overlays). */
body[data-brand] main :is(.sa-digital-form,.sa-checklist,.sa-detection,.workspace-preview,.sa-paper,.sa-sample-document) { box-shadow:none }
body[data-brand] main :is(.wi-text-button,.wi-blue-link) { font-weight:700; color:var(--aw-ink,#142b49) }
/* Safety photo review: real frame from the safety demo; the flag box sits on the tools resting on the equipment. */
body[data-brand] .sa-hazard-image { background:none; border-radius:4px }
body[data-brand] .sa-hazard-image>img { display:block; aspect-ratio:4/3; object-fit:cover }
body[data-brand] .sa-detection-ppe { left:24%; top:2%; width:31%; height:50% }
