/* Shared editorial refinements. The homepage laptop and product scenes are excluded. */
.site-header .header-cta{border:1px solid var(--line);background:transparent;color:var(--ink)}
.site-header .header-cta:hover{border-color:var(--ink);background:var(--surface);transform:none}
.site-nav>.nav-home[aria-current=page],.site-nav>.nav-home:hover{color:var(--green)}
.nav-panel{border-radius:0 0 var(--radius) var(--radius)}
.nav-panel .text-link{gap:14px;max-width:100%}
.nav-panel .ui-arrow{flex-shrink:0}

/* Inner-page reading hierarchy and actions. */
.product-page .product-hero{padding-block:56px 48px}
.product-page .product-hero h1{font-size:clamp(44px,5.4vw,78px);line-height:1.08;letter-spacing:-.05em;margin:24px 0 30px;text-wrap:balance}
.product-page .product-hero-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center}
.product-page .product-hero-bottom>p{max-width:62ch}
.product-page .product-actions{flex-wrap:wrap;gap:16px 24px;min-width:0;max-width:100%}
.product-page .product-actions .button{min-height:54px;gap:20px;padding:14px 20px}
.product-page .product-actions .text-link{min-height:48px;padding:8px 0;border:0;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px;line-height:1.5}
.product-page .product-actions .text-link:hover{text-decoration-color:currentColor}
.product-page .product-actions .ui-arrow{flex-shrink:0}
.product-page .product-heading{gap:48px;margin-bottom:40px}
.product-page .product-heading h2{font-size:clamp(32px,3.7vw,54px);line-height:1.14;letter-spacing:-.04em;text-wrap:balance}
.product-page .product-heading>p{font-size:16px;line-height:1.8;max-width:52ch}
.product-page .product-anchor{gap:8px 32px;padding-block:18px}
.product-page .product-anchor a{font-weight:600}
.product-page .product-anchor a:hover{text-decoration:underline;text-underline-offset:5px}
.product-page .capability summary{padding:24px 48px 24px 0;line-height:1.45;font-size:19px}
.product-page .capability summary:hover{color:var(--green)}
.product-page .capability summary>b{display:grid;place-items:center;position:absolute;right:4px;top:50%;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;background:var(--surface);font-size:20px;line-height:1;transform:translateY(-50%)}
.product-page .capability[open] summary>b{transform:translateY(-50%) rotate(45deg)}
.product-page .capability p{font-size:16px;line-height:1.8;padding-bottom:28px;max-width:70ch}
.product-page .workflow h3,.product-page .outcome-grid h3{font-size:25px;line-height:1.3;letter-spacing:-.025em}
.product-page .workflow p,.product-page .outcome-grid p,.product-page .check-list li{font-size:16px}
.product-page .evidence-panel{border:1px solid var(--line);padding:36px}
.product-page .evidence-panel li{gap:20px;line-height:1.4}
.product-page .evidence-panel p{font-size:16px;line-height:1.8}
.product-page .related-page{font-size:18px;min-height:88px;padding:24px;transition:border-color .2s,color .2s,background .2s}
.product-page .related-page:hover{background:var(--white)}
.product-page .related-page .ui-arrow{flex-shrink:0}
.product-page .closing h2{font-size:clamp(42px,5.8vw,80px);line-height:1.12;text-wrap:balance}
.product-page .closing-bottom{align-items:center}
.product-page .closing .button{min-height:56px;min-width:0;gap:28px;flex-shrink:0}

/* Service and division pages: give the process and content a clear rhythm. */
.services-page .service-directory{gap:24px}
.services-page .service-card{padding:36px;min-height:320px}
.services-page .service-card h2{max-width:19ch;font-size:32px;line-height:1.2}
.services-page .service-card p{font-size:16px;margin-bottom:24px}
.services-page .service-card-link{margin-top:auto;min-height:52px}
.product-page .discipline-list h3{font-size:24px;line-height:1.35}
.product-page .discipline-list p,.product-page .monitoring-flow p,.product-page .monitoring-features p,.product-page .division-capabilities p{font-size:16px;line-height:1.8}
.product-page .service-process{padding:48px;gap:56px;border-radius:var(--radius)}
.product-page .service-process h2{max-width:14ch;margin-top:24px;line-height:1.15}
.product-page .service-process li{font-size:22px;line-height:1.4;padding:20px 0}
.product-page .service-process li>span{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border:1px solid color-mix(in srgb,var(--lime) 30%,transparent);border-radius:50%}
.product-page .division-board{padding:48px;border-radius:var(--radius);border-left:4px solid var(--green)}
.product-page .division-board h2{margin:28px 0 20px;font-size:clamp(32px,3.5vw,50px);line-height:1.4}
.product-page .division-board p{max-width:65ch;font-size:16px}
.product-page .division-capabilities h3{font-size:25px;line-height:1.3}
.product-page .split-story{gap:64px}
.about-page .delivery-steps p{font-size:16px;line-height:1.75}
.about-page .delivery-intro{padding:48px}
.about-page .delivery-intro h2{margin-top:32px}
.about-page .division-list p{font-size:16px}
.about-page .about-installation{gap:64px}

/* Sensor pages retain their individual photography and software views. */
.sensor-detail-page .sensor-detail-hero{gap:56px;padding-block:56px}
.sensor-detail-page .sensor-detail-hero h1{font-size:clamp(40px,4.35vw,64px);line-height:1.1;text-wrap:balance}
.sensor-detail-page .sensor-detail-hero h1 span{color:var(--green)}
.sensor-detail-page .sensor-detail-image{border-radius:var(--radius);padding:40px 36px 72px}
.sensor-detail-page .sensor-detail-image figcaption{font-size:12px;letter-spacing:0;line-height:1.6}
.sensor-detail-page .product-integration .product-heading{margin-bottom:28px}

/* Enquiry pages: a distinct, readable form with calm supporting content. */
.product-page .form-panel{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--green);padding:36px;border-radius:var(--radius)}
.form-heading{font-size:28px;line-height:1.25;letter-spacing:-.035em;margin:0 0 28px;font-weight:500}
.product-page .form-grid{gap:24px}
.product-page .form-grid label{font-size:14px;line-height:1.5}
.product-page .form-grid input:not([type=checkbox]),.product-page .form-grid select{min-height:50px}
.product-page .form-grid input,.product-page .form-grid select,.product-page .form-grid textarea{border-color:color-mix(in srgb,var(--ink) 25%,var(--paper));background:var(--paper)}
.product-page .form-grid input:hover,.product-page .form-grid select:hover,.product-page .form-grid textarea:hover{border-color:var(--muted)}
.product-page .form-note{font-size:13px;line-height:1.7}
.product-page .form-panel .button{min-height:54px;gap:20px}
.demo-page .demo-expect li p,.contact-page .contact-method p{font-size:16px}
.demo-page .demo-intro h1{font-size:clamp(44px,5.4vw,78px);line-height:1.08}
.demo-page .demo-expect .text-link{max-width:100%;gap:12px;font-size:14px}
.contact-page .contact-aside{padding-top:12px}
.contact-page .contact-aside h2{margin-top:20px}
.awaabs-law-page .law-timeline h2{font-size:30px;line-height:1.2}
.awaabs-law-page .law-timeline p,.awaabs-law-page .deadline-grid p{font-size:16px}
.awaabs-law-page .deadline-grid{gap:32px}
.awaabs-law-page .deadline-grid h3{line-height:1.35}

/* Policies and error pages need their own reading scale. */
.policy-page .product-hero{padding-block:48px 40px}
.policy-page .product-hero h1{font-size:clamp(38px,4.5vw,64px);margin-block:22px}
.policy-page .policy-layout{grid-template-columns:260px minmax(0,1fr);gap:64px}
.policy-page .policy-index{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.policy-index-title{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:0 0 12px;color:var(--ink)}
.policy-page .policy-index a{font-size:13px;padding-block:11px}
.policy-page .legal-wrap{max-width:74ch}
.policy-page .legal-wrap p,.policy-page .legal-wrap li{font-size:16px;line-height:1.85}
.policy-page .legal-wrap h2{padding-top:12px;scroll-margin-top:32px}
.policy-page .legal-wrap h2:first-of-type{padding-top:0}
.policy-page .legal-wrap .legal-meta{font-size:13px;color:var(--muted)}
.policy-page .legal-wrap th{font-weight:600}
.error-detail .error-page{padding-block:72px 96px}
.error-detail .error-page h1{font-size:clamp(44px,6vw,80px);max-width:19ch;line-height:1.1}
.error-detail .error-page p{max-width:50ch}
.error-detail .product-actions{padding-top:8px}

/* Public editorial pages share the marketing site's hierarchy; staff pages do not. */
.blog-page .blog-hero{padding-block:56px 40px;gap:48px}
.blog-page .blog-hero h1{font-size:clamp(44px,5.4vw,78px);line-height:1.08;margin-top:24px}
.blog-page .blog-hero>p{font-size:18px;line-height:1.75;max-width:38ch;color:var(--muted)}
.blog-page .feature{margin:12px 0 56px;border-radius:var(--radius)}
.blog-page .feature-copy{padding:40px}
.blog-page .feature-copy h2{font-size:clamp(30px,3.2vw,44px);line-height:1.2}
.blog-page .feature-copy>a{align-self:start;display:inline-flex;align-items:center;min-height:44px;color:var(--lime);text-underline-offset:5px}
.blog-page .feature:focus-visible{outline-offset:5px}
.blog-page .toolbar{padding:24px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);gap:20px;margin-bottom:36px;align-items:end}
.blog-page .toolbar label{font-size:13px;font-weight:600}
.blog-page .toolbar input,.blog-page .toolbar select{min-height:50px;background:var(--white);color:var(--ink);font-size:16px}
.blog-page .toolbar button{min-height:50px}
.blog-page .story-card h2{font-size:26px;line-height:1.25}
.blog-page .story-card:hover h2{color:var(--green)}
.blog-page .article-head{max-width:1040px;margin-top:56px}
.blog-page .article-head h1{font-size:clamp(40px,5vw,72px);line-height:1.12;text-wrap:balance}
.blog-page .prose{max-width:68ch;line-height:1.85}
.blog-page .prose h2{font-size:32px;line-height:1.25}
.blog-page .blog-end{border-radius:var(--radius);margin-bottom:64px}
.blog-page .blog-end h2{font-size:36px;line-height:1.2}
.blog-explore{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-bottom:64px}
.blog-explore h2{font-size:32px;line-height:1.25;letter-spacing:-.035em;margin:20px 0 16px}
.blog-explore p{max-width:48ch;color:var(--muted);font-size:16px;line-height:1.8}
.blog-explore-links{border-top:1px solid var(--line)}
.blog-explore-links a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;padding:20px 0;border-bottom:1px solid var(--line);font-size:18px}
.blog-explore-links a:hover{color:var(--green)}
.blog-explore-links span{flex-shrink:0}

/* Customer stories: complete testimonials, clear attribution and useful context. */
.stories-hero{display:grid;grid-template-columns:1.35fr 1fr;gap:64px;align-items:end;padding-block:64px 56px}
.stories-hero h1{font-size:clamp(44px,5.4vw,78px);line-height:1.08;letter-spacing:-.05em;margin:24px 0 0;text-wrap:balance}
.stories-hero h1 span,.stories-working h2 span{color:var(--green)}
.stories-intro p{font-size:17px;line-height:1.75;color:var(--muted);margin:0 0 16px;max-width:48ch}
.stories-intro .text-link{border:0;gap:16px;padding-block:10px;font-size:14px}
.stories-intro .text-link:hover{text-decoration:underline;text-underline-offset:5px}
.partner-stories{display:grid;gap:32px;padding-bottom:var(--section-space);scroll-margin-top:28px}
.story-feature{display:grid;grid-template-columns:.82fr 1.55fr;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;scroll-margin-top:28px}
.story-profile{padding:36px;background:var(--white)}
.story-profile .eyebrow{color:var(--muted);font-size:11px}
.story-profile .story-logo{width:190px;height:64px;object-fit:contain;object-position:left center;margin:32px 0}
.story-profile h2{font-size:30px;line-height:1.2;letter-spacing:-.035em;margin:0 0 20px}
.story-profile p{font-size:15px;line-height:1.8;color:var(--muted)}
.story-themes{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:24px 0 0}
.story-themes li{padding:6px 10px;border:1px solid var(--line);border-radius:3px;font-size:12px;color:var(--muted);line-height:1.5}
.story-quote{display:flex;flex-direction:column;justify-content:center;position:relative;margin:0;padding:44px 48px;background:var(--surface)}
.quote-mark{display:block;font-size:88px;font-weight:500;line-height:.65;color:var(--green);margin-bottom:24px}
.story-quote blockquote{font-size:clamp(21px,1.9vw,28px);line-height:1.6;letter-spacing:-.025em;margin:0}
.story-quote figcaption{display:flex;flex-direction:column;gap:5px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line);font-size:15px;line-height:1.5}
.story-quote figcaption span{font-size:13px;color:var(--muted)}
.story-feature--dark .story-quote{background:var(--ink);color:var(--white)}
.story-feature--dark .quote-mark{color:var(--lime)}
.story-feature--dark figcaption{border-color:color-mix(in srgb,var(--white) 20%,transparent)}
.story-feature--dark figcaption span{color:var(--on-dark-muted)}
.stories-support{background:var(--surface);padding-block:var(--section-space)}
.stories-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.stories-support-grid article{display:flex;flex-direction:column;align-items:start;border-top:1px solid color-mix(in srgb,var(--green) 30%,var(--line));padding-top:24px}
.stories-support-grid h3{font-size:25px;line-height:1.3;letter-spacing:-.025em;margin:20px 0 16px}
.stories-support-grid p{font-size:16px;line-height:1.8;color:var(--muted);margin-bottom:24px}
.stories-support-grid .text-link{margin-top:auto;font-size:14px;gap:12px;border:0;padding-block:10px;line-height:1.5}
.stories-support-grid .text-link:hover{text-decoration:underline;text-underline-offset:5px}
.stories-support-grid .ui-arrow{flex-shrink:0}
.stories-working{display:grid;grid-template-columns:.85fr 1fr;gap:80px;align-items:center;padding-block:var(--section-space)}
.stories-installation{margin:0}
.stories-installation img{display:block;width:100%;height:auto;max-height:660px;object-fit:cover;object-position:center 65%;border-radius:var(--radius)}
.stories-installation figcaption{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.6}
.stories-working h2{font-size:clamp(34px,3.8vw,54px);line-height:1.14;letter-spacing:-.04em;margin:24px 0}
.stories-working>div>p{font-size:16px;line-height:1.8;color:var(--muted)}
.partnership-steps{list-style:none;padding:0;margin:28px 0 0}
.partnership-steps li{display:grid;grid-template-columns:32px 1fr;gap:16px;padding:22px 0;border-top:1px solid var(--line)}
.partnership-steps li:last-child{padding-bottom:0}
.partnership-steps li>span{font-size:12px;color:var(--green);padding-top:4px}
.partnership-steps h3{font-size:20px;line-height:1.4;letter-spacing:-.025em;margin:0 0 8px}
.partnership-steps p{font-size:15px;line-height:1.8;color:var(--muted)}

@media(max-width:1100px){
 .product-page .product-hero-bottom{display:flex;align-items:start;gap:24px}
 .product-page .product-heading{gap:32px}
 .product-page .split-story,.about-page .about-installation{gap:40px}
 .product-page .service-process{padding:36px;gap:32px}
 .product-page .division-board{padding:36px}
 .sensor-detail-page .sensor-detail-hero{gap:32px}
 .policy-page .policy-layout{grid-template-columns:220px minmax(0,1fr);gap:36px}
 .policy-page .policy-index{padding:20px}
 .stories-hero{grid-template-columns:1fr;gap:28px;padding-top:48px}
 .stories-intro{max-width:760px}.stories-intro p{max-width:65ch}
 .story-profile{padding:28px}.story-quote{padding:36px}
 .story-profile h2{font-size:27px}
 .stories-support-grid{gap:24px}.stories-support-grid h3{font-size:23px}
 .stories-working{gap:40px}
}
@media(max-width:700px){
 .product-page .product-hero{padding-block:36px 36px}
 .product-page .product-hero h1{font-size:clamp(40px,9.3vw,60px);margin-block:22px 24px}
 .product-page .product-hero-bottom>p{font-size:16px}
 .product-page .product-actions{gap:12px 20px}
 .product-page .product-actions .button{font-size:14px;padding:14px 18px;gap:18px}
 .product-page .product-actions .text-link{font-size:13px}
 .product-page .product-heading{gap:20px;margin-bottom:30px}
 .product-page .product-heading h2{font-size:34px}
 .product-page .capability summary{font-size:18px;padding-block:20px}
 .product-page .capability p{font-size:16px;padding-right:0}
 .product-page .evidence-panel{padding:24px}
 .product-page .split-story,.about-page .about-installation{gap:32px}
 .product-page .closing h2{font-size:clamp(40px,10vw,54px)}
 .product-page .closing-bottom{display:block}
 .product-page .closing .button{margin-top:24px}
 .services-page .service-card{padding:26px;min-height:0}
 .services-page .service-card h2{font-size:28px;margin-top:24px}
 .product-page .service-process{padding:28px;gap:24px}
 .product-page .service-process h2{font-size:34px}
 .product-page .service-process li{font-size:20px;padding:16px 0;gap:16px}
 .product-page .division-board{padding:28px}
 .product-page .division-board h2{font-size:32px;margin-top:24px}
 .product-page .discipline-list h3{font-size:22px}
 .about-page .delivery-intro{padding:28px}
 .about-page .delivery-steps{padding-inline:28px}
 .sensor-detail-page .sensor-detail-hero{padding-block:36px;gap:28px}
 .sensor-detail-page .sensor-detail-hero h1{font-size:clamp(38px,9.3vw,56px)}
 .sensor-detail-page .sensor-detail-image{padding:28px 24px 64px;max-height:390px}
 .sensor-detail-page .sensor-detail-image figcaption{bottom:18px;left:18px;right:18px}
 .product-page .form-panel{padding:24px 20px}
 .form-heading{font-size:25px;margin-bottom:24px}
 .product-page .form-grid{gap:20px}
 .product-page .form-panel .button{max-width:100%;font-size:14px;gap:12px}
 .demo-page .demo-intro h1{font-size:clamp(40px,9.3vw,60px)}
 .awaabs-law-page .deadline-grid{gap:24px}
 .awaabs-law-page .law-timeline article{padding:28px}
 .policy-page .product-hero h1{font-size:clamp(36px,9vw,52px)}
 .policy-page .policy-layout{grid-template-columns:1fr;gap:32px}
 .policy-page .policy-index{grid-template-columns:1fr;padding:20px 24px;gap:0}
 .policy-page .legal-wrap td,.policy-page .legal-wrap th{font-size:12px;line-height:1.7;padding:12px 8px}
 .error-detail .error-page{padding-block:48px 64px}
 .error-detail .error-page h1{font-size:clamp(40px,10vw,58px)}
 .blog-page .blog-hero{padding-block:36px 28px;gap:24px}
 .blog-page .blog-hero h1{font-size:clamp(40px,9.3vw,60px);margin-top:22px}
 .blog-page .blog-hero>p{font-size:16px}
 .blog-page .feature-copy{padding:28px 24px}
 .blog-page .feature .story-art{min-height:210px}
 .blog-page .feature{margin-bottom:40px}
 .blog-page .toolbar{padding:20px;display:grid;grid-template-columns:1fr;gap:16px}
 .blog-page .toolbar .field{width:100%;min-width:0;margin:0}
 .blog-page .toolbar button{justify-self:start}
 .blog-page .article-head h1{font-size:clamp(36px,9vw,52px)}
 .blog-page .prose{font-size:16px}.blog-page .prose h2{font-size:28px}
 .blog-page .blog-end h2{font-size:32px}
 .blog-explore{grid-template-columns:1fr;gap:24px;padding-bottom:40px}
 .blog-explore h2{font-size:28px}.blog-explore-links a{font-size:16px;min-height:68px}
 .stories-hero{padding-block:36px;gap:24px}
 .stories-hero h1{font-size:clamp(40px,9.3vw,60px);margin-top:22px}
 .stories-intro p{font-size:16px}
 .partner-stories{gap:24px}
 .story-feature{grid-template-columns:1fr}
 .story-profile{padding:26px}
 .story-profile .story-logo{margin:24px 0;width:180px;height:52px}
 .story-profile h2{font-size:28px}
 .story-profile p{font-size:16px}
 .story-themes{margin-top:20px}
 .story-quote{padding:32px 26px}
 .quote-mark{font-size:72px;margin-bottom:18px}
 .story-quote blockquote{font-size:21px;line-height:1.65}
 .story-quote figcaption{margin-top:28px;padding-top:20px}
 .stories-support-grid{grid-template-columns:1fr;gap:28px}
 .stories-support-grid h3{font-size:25px;margin-block:16px 12px}
 .stories-support-grid p{margin-bottom:12px}
 .stories-working{grid-template-columns:1fr;gap:32px}
 .stories-installation img{max-height:420px}
 .stories-working h2{font-size:36px}
 .partnership-steps p{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
 .product-page .related-page,.site-header .header-cta{transition:none}
}

/* Compact partner group with optically balanced artwork and adjacent feedback. */
.home-proof{grid-template-columns:516px minmax(0,1fr);gap:40px;align-items:center}
.partner-marks{min-width:0}
.home-proof figure{max-width:590px}
.working-with{padding-bottom:40px}
.working-with>.partner-logo-row{border-block:1px solid var(--line);margin-top:18px;padding-block:20px}
.partner-marks>.partner-logo-row,.working-with>.partner-logo-row{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:16px;overflow-x:auto;padding-bottom:4px}
.partner-logo-row>.partner-logo{display:flex;align-items:center;justify-content:center;flex:0 0 112px;height:72px;text-decoration:none}
.partner-logo-row>.partner-logo--prb{flex-basis:148px}
.partner-logo-row>.partner-logo--iaa{flex-basis:80px}
.partner-logo-row>.partner-logo--thermoserv{flex-basis:128px;overflow:hidden}
.partner-logo-row .partner-logo img{display:block;width:auto;height:auto;max-width:100%;max-height:60px;object-fit:contain}
.partner-logo-row .partner-logo--prb img{width:148px}
.partner-logo-row .partner-logo--fsg img{width:100px}
.partner-logo-row .partner-logo--iaa img{width:70px;mix-blend-mode:multiply}
/* Accommodate the supplied transparent image's clear margins without altering it. */
.partner-logo-row .partner-logo--thermoserv img{width:204px;max-width:none;max-height:none;flex-shrink:0}
@media(max-width:900px){.home-proof{grid-template-columns:minmax(0,1fr);gap:20px}}
/* Keep the full navigation on one line before the mobile menu takes over. */
@media(min-width:1101px) and (max-width:1240px){
 .site-header .header{gap:12px}
 .header .site-nav{gap:12px}
 .site-header .brand{font-size:17px}
 .site-header .header-cta{flex-shrink:0;white-space:nowrap;gap:0}
 .site-header .header-cta .ui-arrow{display:none}
}

/* Compliance page. Band colours follow the Smart Monitor data sheet. */
.compliance-page{--band-emergency:#c23b2a;--band-investigate:#b87700;--band-monitor:var(--blue);--band-clear:var(--green)}
.compliance-page .evidence-stats{margin:56px 0 8px}
.compliance-page .evidence-stats strong{font-size:clamp(48px,5vw,70px);line-height:1}
.compliance-page .evidence-stats strong span{margin-top:12px}
.compliance-page .pd35-map{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;padding:48px;background:var(--ink);color:var(--white);border-radius:var(--radius);border-left:4px solid var(--lime)}
.compliance-page .pd35-intro .eyebrow{color:var(--lime)}
.compliance-page .pd35-intro h3{font-size:clamp(26px,2.6vw,36px);line-height:1.25;letter-spacing:-.035em;margin:24px 0 0;max-width:16ch}
.compliance-page .pd35-map dl{margin:0}
.compliance-page .pd35-map dl div{padding:20px 0;border-bottom:1px solid color-mix(in srgb,var(--white) 16%,transparent)}
.compliance-page .pd35-map dl div:first-child{padding-top:0}
.compliance-page .pd35-map dl div:last-child{border-bottom:0;padding-bottom:0}
.compliance-page .pd35-map dt{font-size:18px;font-weight:600;margin-bottom:8px}
.compliance-page .pd35-map dd{margin:0;font-size:15px;line-height:1.75;color:var(--on-dark-muted)}
.compliance-page .evidence-stats+.legal-source{margin-top:24px}
.compliance-page .product-dark .dark-source{color:var(--on-dark-muted);border-top-color:color-mix(in srgb,var(--white) 18%,transparent);margin-top:48px}
.compliance-page .product-dark .dark-source a{color:var(--lime)}
.compliance-page .band-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:40px}
.compliance-page .band-grid article{border-top:4px solid var(--band);background:color-mix(in srgb,var(--band) 8%,var(--white));border-radius:var(--radius);padding:24px}
.compliance-page .band-grid span{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:color-mix(in srgb,var(--band) 85%,var(--ink));margin-bottom:18px}
.compliance-page .band-grid strong{display:block;font-size:24px;font-weight:500;letter-spacing:-.03em;margin-bottom:8px}
.compliance-page .band-grid p{font-size:15px;line-height:1.7;margin:0;color:var(--muted)}
.compliance-page .band-emergency{--band:var(--band-emergency)}
.compliance-page .band-investigate{--band:var(--band-investigate)}
.compliance-page .band-monitor{--band:var(--band-monitor)}
.compliance-page .band-clear{--band:var(--band-clear)}
.compliance-page #awaabs-law .software-capture{margin-bottom:48px}
.compliance-page #awaabs-law .capability-grid{margin-bottom:32px}
.compliance-page .standards-band{background:var(--surface);padding-block:var(--section-space)}
.compliance-page .standards-band .software-capture{margin-bottom:48px;background:var(--white)}
.compliance-page .table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}
.compliance-page .table-scroll:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.compliance-page .standards-table{width:100%;min-width:760px;border-collapse:collapse;text-align:left}
.compliance-page .standards-table th,.compliance-page .standards-table td{padding:22px 24px;border-bottom:1px solid var(--line);vertical-align:top;font-size:15px;line-height:1.7}
.compliance-page .standards-table thead th{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;padding-block:18px}
.compliance-page .standards-table tbody th{font-weight:600;width:22%}
.compliance-page .standards-table td:nth-child(2){font-weight:600;color:var(--green);width:22%}
.compliance-page .standards-table td:nth-child(3){width:12%}
.compliance-page .standards-table td:last-child{color:var(--muted)}
.compliance-page .standards-table tbody tr:last-child>*{border-bottom:0}
.compliance-page .type-tag{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;background:color-mix(in srgb,var(--green) 12%,var(--white));color:var(--green)}
.compliance-page .type-tag.model{background:color-mix(in srgb,var(--blue) 12%,var(--white));color:var(--blue)}
.compliance-page .type-tag.guidance{background:var(--surface);color:var(--muted)}
.compliance-page .spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) minmax(0,.8fr);gap:24px}
.compliance-page .spec-grid article{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);display:flex;flex-direction:column;overflow:hidden}
.compliance-page .spec-head{padding:28px 32px;background:var(--ink);color:var(--white)}
.compliance-page .spec-head .eyebrow{color:var(--lime)}
.compliance-page .spec-head h3{font-size:28px;letter-spacing:-.03em;margin:14px 0 0}
.compliance-page .spec-grid dl{margin:0;padding:8px 32px 24px}
.compliance-page .spec-grid dl div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.6}
.compliance-page .spec-grid dt{color:var(--muted)}
.compliance-page .spec-grid dd{margin:0;font-weight:600}
.compliance-page .spec-grid article .text-link{margin:auto 32px 28px}
.compliance-page .spec-note{border-radius:var(--radius);background:var(--surface);padding:28px 32px}
.compliance-page .spec-note ul{list-style:none;margin:20px 0 24px;padding:0}
.compliance-page .spec-note li{padding:16px 0;border-bottom:1px solid var(--surface-strong);font-size:15px;color:var(--muted);line-height:1.6}
.compliance-page .spec-note li strong{display:block;color:var(--ink);font-size:18px;font-weight:600;margin-bottom:2px}
.compliance-page .spec-note p{font-size:14px;line-height:1.7;color:var(--muted);margin:0}
.compliance-page #data .data-lead{font-size:18px;line-height:1.75;color:var(--on-dark-muted);max-width:52ch}
.compliance-page #data .check-list li{color:var(--white);border-bottom-color:color-mix(in srgb,var(--white) 14%,transparent)}
.compliance-page #data .check-list li:before{color:var(--lime)}
.compliance-page #data .evidence-panel{background:color-mix(in srgb,var(--white) 6%,transparent);border-color:color-mix(in srgb,var(--white) 14%,transparent);color:var(--white)}
.compliance-page #data .evidence-panel .eyebrow,.compliance-page #data .evidence-panel li span{color:var(--lime)}
.compliance-page #data .evidence-panel li{border-bottom-color:color-mix(in srgb,var(--white) 14%,transparent)}
.compliance-page #data .evidence-panel p{color:var(--on-dark-muted)}
.compliance-page .answer-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;padding:48px;border:1px solid var(--line);border-top:4px solid var(--green);border-radius:var(--radius);background:var(--white)}
.compliance-page .answer-question h2{font-size:clamp(32px,3.6vw,52px);line-height:1.12;letter-spacing:-.045em;margin:22px 0 0;text-wrap:balance}
.compliance-page .answer-lead{font-size:clamp(22px,2vw,28px);line-height:1.3;letter-spacing:-.02em;font-weight:600;color:var(--green);margin:0 0 16px}
.compliance-page .answer-body>p:not(.answer-lead){font-size:16px;line-height:1.8;color:var(--muted);margin:0 0 24px;max-width:62ch}
.compliance-page .pack-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px;align-items:start}
.compliance-page .pack-cover{margin:0;background:var(--white);border:1px solid var(--line);border-radius:4px;padding:36px;box-shadow:0 24px 48px -32px color-mix(in srgb,var(--ink) 45%,transparent);position:sticky;top:24px}
.compliance-page .pack-cover-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:20px;margin-bottom:8px;border-bottom:2px solid var(--ink);font-weight:700}
.compliance-page .pack-cover-top span:last-child{font-size:11px;letter-spacing:.14em;color:var(--green);align-self:center}
.compliance-page .pack-cover dl{margin:0}
.compliance-page .pack-cover dl div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.5}
.compliance-page .pack-cover dt{font-weight:600}
.compliance-page .pack-cover dd{margin:0;color:var(--muted)}
.compliance-page .pack-cover-note{margin:20px 0 0;padding:14px 16px;background:var(--surface);border-radius:4px;font-size:13px;line-height:1.6;font-weight:600}
.compliance-page .pack-cover figcaption{margin-top:16px;font-size:12px;color:var(--muted)}
.compliance-page .pack-contents{list-style:none;margin:0;padding:0;display:grid;gap:0}
.compliance-page .pack-contents li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:24px 0;border-top:1px solid var(--surface-strong)}
.compliance-page .pack-contents li:last-child{border-bottom:1px solid var(--surface-strong)}
.compliance-page .pack-contents li>span{font-size:13px;font-weight:700;color:var(--green);padding-top:4px;font-variant-numeric:tabular-nums}
.compliance-page .pack-contents h3{font-size:22px;letter-spacing:-.025em;margin:0 0 6px}
.compliance-page .pack-contents p{font-size:15px;line-height:1.75;color:var(--muted);margin:0}
.compliance-page .audience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.compliance-page .audience-grid h3{font-size:22px;line-height:1.25;letter-spacing:-.025em;margin:0 0 12px}
.compliance-page .audience-grid .text-link{margin-top:auto;color:var(--lime);border-color:color-mix(in srgb,var(--lime) 40%,transparent)}
.compliance-page .tone-surface{background:var(--surface);padding-block:var(--section-space)}
.compliance-page .tone-paper{background:var(--paper);padding-block:var(--section-space)}
.compliance-page .tone-surface .capability-grid summary>b{background:var(--white)}
.compliance-page .ombudsman-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start}
.compliance-page .pull-quote{margin:0;padding:36px;border-left:3px solid var(--lime);border-radius:0 var(--radius) var(--radius) 0;background:color-mix(in srgb,var(--white) 5%,transparent)}
.compliance-page .pull-quote blockquote{margin:0}
.compliance-page .pull-quote p{font-size:clamp(24px,2.3vw,32px);line-height:1.3;letter-spacing:-.025em;color:var(--white);margin:0 0 24px;text-wrap:pretty}
.compliance-page .pull-quote figcaption{font-size:13px;line-height:1.6;color:var(--on-dark-muted)}
.compliance-page .pull-quote cite{font-style:italic}
.compliance-page .ombudsman-steps{list-style:none;margin:0;padding:0}
.compliance-page .ombudsman-steps li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;padding:24px 0;border-top:1px solid color-mix(in srgb,var(--white) 16%,transparent)}
.compliance-page .ombudsman-steps li:first-child{border-top:0;padding-top:4px}
.compliance-page .ombudsman-steps li>span{font-size:12px;letter-spacing:.08em;color:var(--lime);padding-top:6px}
.compliance-page .ombudsman-steps h3{font-size:22px;letter-spacing:-.025em;margin:0 0 8px}
.compliance-page .ombudsman-steps p{font-size:15px;line-height:1.75;color:var(--on-dark-muted);margin:0}
.compliance-page .audience-grid article{display:flex;flex-direction:column;padding:28px;background:color-mix(in srgb,var(--white) 6%,transparent);border:1px solid color-mix(in srgb,var(--white) 12%,transparent);border-radius:var(--radius)}
.compliance-page .audience-grid p{font-size:15px;line-height:1.7;color:var(--on-dark-muted);margin:0 0 24px}
.compliance-page .product-dark .product-heading>p{color:var(--on-dark-muted)}
.compliance-page .trust-block{margin-top:72px;padding-top:56px;border-top:1px solid var(--line);display:grid;gap:24px}
.compliance-page .trust-title{font-size:26px;letter-spacing:-.03em;margin:0}
.compliance-page .trust-flow{list-style:none;margin:0 0 40px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--radius);background:var(--white);overflow:hidden}
.compliance-page .trust-flow li{position:relative;padding:28px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.compliance-page .trust-flow li:first-child{border-left:0}
.compliance-page .trust-flow li:not(:last-child)::after{content:"";position:absolute;top:34px;right:-7px;width:12px;height:12px;border-top:1px solid var(--line);border-right:1px solid var(--line);background:var(--white);transform:rotate(45deg);z-index:1}
.compliance-page .trust-flow span{font-size:11px;letter-spacing:.12em;font-weight:700;color:var(--green)}
.compliance-page .trust-flow strong{font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1.3}
.compliance-page .trust-flow p{font-size:15px;line-height:1.7;color:var(--muted);margin:0}
.compliance-page .privacy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.compliance-page .privacy-grid article{padding:24px;border-radius:var(--radius);background:var(--surface)}
.compliance-page .privacy-grid h4{font-size:18px;font-weight:600;letter-spacing:-.02em;margin:0 0 8px}
.compliance-page .privacy-grid p{font-size:15px;line-height:1.7;color:var(--muted);margin:0}
.compliance-page #short-answer{padding-bottom:var(--section-space)}
.compliance-page #awaabs-law .ui-capture{max-height:600px}
.compliance-page #awaabs-law .ui-capture>img{object-fit:cover;object-position:top}
.compliance-page .spec-note{align-self:start}
@media(max-width:1100px){
 .compliance-page .trust-flow,.compliance-page .privacy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .compliance-page .trust-flow li:nth-child(3){border-left:0}
 .compliance-page .trust-flow li:nth-child(n+3){border-top:1px solid var(--line)}
 .compliance-page .trust-flow li::after{display:none}
 .compliance-page .ombudsman-layout{grid-template-columns:minmax(0,1fr);gap:40px}
 .compliance-page .answer-box,.compliance-page .pack-layout{grid-template-columns:minmax(0,1fr);gap:32px}
 .compliance-page .pack-cover{position:static}
 .compliance-page .audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .compliance-page .band-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .compliance-page .pd35-map{grid-template-columns:minmax(0,1fr);gap:32px;padding:36px}
 .compliance-page .pd35-intro h3{max-width:none}
 .compliance-page .spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .compliance-page .spec-note{grid-column:1/-1}
}
@media(max-width:700px){
 .compliance-page #awaabs-law .ui-capture{max-height:none}
 .compliance-page .trust-flow,.compliance-page .privacy-grid{grid-template-columns:minmax(0,1fr)}
 .compliance-page .trust-flow li{border-left:0;padding:22px}
 .compliance-page .trust-flow li:nth-child(n+2){border-top:1px solid var(--line)}
 .compliance-page .pull-quote{padding:24px}
 .compliance-page .ombudsman-steps li{grid-template-columns:minmax(0,1fr);gap:6px}
 .compliance-page .answer-box{padding:28px 24px}
 .compliance-page .pack-cover{padding:24px}
 .compliance-page .pack-cover dl div{grid-template-columns:minmax(0,1fr);gap:2px}
 .compliance-page .pack-contents li{grid-template-columns:36px minmax(0,1fr);gap:12px}
 .compliance-page .evidence-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}
 .compliance-page .evidence-stats strong{font-size:36px}
 .compliance-page .evidence-stats h3{font-size:17px}
 .compliance-page .pd35-map{padding:28px 24px}
 .compliance-page .band-grid,.compliance-page .spec-grid{grid-template-columns:minmax(0,1fr)}
 .compliance-page .spec-head{padding:24px}
 .compliance-page .spec-grid dl{padding:4px 24px 20px}
 .compliance-page .spec-grid article .text-link{margin:auto 24px 24px}
 .compliance-page .spec-note{padding:24px}
}

/* Review fixes, 21 October 2026. */
/* The whole priority card is the link, so its arrow sits beside the label rather than below the copy. */
.solution-grid>a{position:relative;padding-right:40px}
.solution-grid>a>.ui-arrow{position:absolute;top:24px;right:0;margin:0}
/* Story themes are descriptive, not filters. */
.story-themes{gap:6px 0}
.story-themes li{padding:0;border:0;border-radius:0;font-size:13px}
.story-themes li+li:before{content:"·";margin:0 10px}
/* Photographic sensor heroes fill their frame instead of floating in a padded panel. */
.sensor-detail-image.sensor-detail-photo{padding:0}
.sensor-detail-image.sensor-detail-photo>img{object-fit:cover;object-position:62% center;border-radius:0;animation:none}
.sensor-detail-image.sensor-detail-photo figcaption{left:16px;right:auto;bottom:16px;padding:6px 10px;border-radius:4px;background:var(--paper);color:var(--ink)}
/* NFRC artwork is a solid badge: keep the white lettering and drop the panel. */
.accreditation-strip img[alt="NFRC Competent Person"]{filter:grayscale(1) brightness(.6) contrast(4)}
@media(min-width:1101px){
 .stories-hero{align-items:start}
 .stories-hero .stories-intro{padding-top:52px}
}
@media(max-width:700px){
 /* Logos wrap rather than scrolling sideways with one cut off. */
 .partner-marks>.partner-logo-row,.working-with>.partner-logo-row{flex-wrap:wrap;overflow:visible;gap:12px 20px}
 /* Crop the platform preview to its readable right-hand panels on phones. */
 #platform-image{aspect-ratio:1}
 #platform-image img{width:100%;height:100%;object-fit:cover;object-position:right top}
 .solution-grid>a>.ui-arrow{top:20px}
}
/* Dated Awaab's Law notice shares the hero eyebrow row so it adds no height. Revisit once Phase 2 is in force. */
.home-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:32px;align-items:center}
.home-intro>*{grid-column:1/-1}
.home-intro>.eyebrow{grid-column:1}
.home-intro>.hero-notice{grid-column:2;grid-row:1}
.hero-notice{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-block:-12px;color:var(--ink);font-size:14px;line-height:1.4;text-decoration:none;white-space:nowrap}
.hero-notice-date{flex:none;padding:2px 8px;border-radius:3px;background:var(--lime);color:var(--ink);font-size:12px;font-weight:600;letter-spacing:.02em}
.hero-notice:hover>span:not(.hero-notice-date),.hero-notice:focus-visible>span:not(.hero-notice-date){text-decoration:underline;text-underline-offset:3px}
.hero-notice .ui-arrow{flex:none;width:16px;height:16px}
@media(max-width:1000px){.hero-notice-detail{display:none}}
@media(max-width:820px){.home-intro>.hero-notice{grid-column:1/-1;grid-row:auto;justify-self:start;margin-block:4px -4px;font-size:13px}}
/* Section headings are plain descriptive titles at one scale; the two-line display pattern is kept for heroes and closing invitations. */
#main .section-title{max-width:20em;font-size:clamp(32px,3.2vw,46px);line-height:1.12;letter-spacing:-.04em;text-wrap:balance}
