.customer-opening h1 { font-size:clamp(40px,4.8vw,68px); }
/* Centered editorial rhythm, with bounded copy for comfortable reading. */
body main > section { text-align:center; }
body main .kicker { margin-inline:auto; }
body main .editorial-heading { margin-inline:auto; }
body main .editorial-heading > p,body .customer-problem > p,body .vision-section > p,body .professional-note { margin-inline:auto; }
body .consequence-line,body .result-selector,body .quote-buttons { justify-content:center; }
body .quote-carousel blockquote,body #quote-source { margin-inline:auto; }
body .outcome-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
body .outcome-list article { display:flex; flex-direction:column; gap:16px; }
body .city-visual figcaption { text-align:center; }
body .audience-list article { justify-content:center; }
body footer { text-align:center; }
body footer > div { flex-direction:column; align-items:center; gap:8px; }
body footer nav { justify-content:center; flex-wrap:wrap; }
@media(max-width:820px) { body .outcome-list { grid-template-columns:1fr; gap:0; } body .outcome-list article { max-width:620px; width:100%; margin-inline:auto; } }
.result-answer dl > div { display:grid; grid-template-columns:minmax(90px,.6fr) minmax(0,1fr); }
.result-answer dd,.result-answer dt { text-align:center; }
@media(max-width:820px) { body .city-visual figcaption { padding-inline:20px; } }
.hero-field-only { width:min(100%,1000px); margin:24px auto 0; }
.hero-field-only .hero-field-only__frame--video { aspect-ratio:auto; }
.hero-detection-video { display:block; width:100%; height:auto; object-fit:contain; }
.hero-field-only__frame { position:relative; overflow:hidden; aspect-ratio:3.4; border-radius:18px; background:var(--paper); }
.hero-field-only__frame img { position:absolute; width:102.4%; max-width:none; left:-1.2%; top:50%; transform:translateY(-51%); }
.hero-field-only figcaption { padding-top:10px; font-size:14px; line-height:1.5; color:var(--muted); text-align:center; }
@media(max-width:820px) { .hero-field-only__frame { aspect-ratio:2.15; } .hero-field-only__frame img { top:0; transform:none; margin-top:-1%; } }
.city-composite { display:block; width:100%; height:480px; }
body .kicker,body .micro-label,body .result-state { font-size:14px; }
body .source-note,body .hero-source,body .result-demo figcaption,body .inspectors-visual figcaption { font-size:14px; line-height:1.5; }
body .draft-note { font-size:13px; }
body #quote-source { font-size:16px; }
body .result-answer dl > div { font-size:15px; }
body .result-answer > p:not(.result-state) { font-size:18px; }
body .operations-split .process-text,body .workflow-line li { font-size:16px; }
body .customer-hero-visual a { font-size:14px; }
body .consequence-line { margin-top:24px; padding-top:22px; }
body .outcome-list article { padding-block:24px; }
body .operations-split { gap:44px; }
body .operations-split h3 { margin:12px 0; }
body .operations-split .process-text { margin-top:16px; }
body .capture-visual figcaption { padding-top:22px; }
body .workflow-line { margin-top:20px; padding-top:20px; }
body .professional-note { margin-top:18px; }
body .safety-section { padding-top:36px; }
@media(max-width:820px) { .city-composite { height:360px; } }
@media(max-width:520px) { .city-composite { height:320px; } body .operations-split { gap:26px; } }
/* Denser rhythm and readable secondary copy. */
body .customer-problem,body .customer-results,body .field-office,body .professionals-section,body .vision-section,body .simple-workflow,body .customer-value,body .customer-credibility { padding-block:42px; }
body .contact-section { padding-block:48px; }
.quote-carousel { margin-top:28px; padding-block:28px; border-block:1px solid var(--line); }
.quote-carousel blockquote { font-size:clamp(24px,2.8vw,36px); line-height:1.4; letter-spacing:-.025em; margin:18px 0; max-width:960px; }
#quote-source { font-size:14px; line-height:1.6; max-width:800px; color:var(--muted); }
.quote-buttons { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:24px; }
.quote-buttons button { min-height:44px; min-width:44px; border:1px solid var(--line); border-radius:99px; background:#fff; color:var(--navy); cursor:pointer; padding:10px 16px; }
#quote-count { font-size:13px; color:var(--muted); }
body .customer-problem,body .customer-results,body .field-office,body .professionals-section,body .vision-section,body .simple-workflow,body .customer-value,body .customer-credibility { padding-block:42px; }
body .contact-section { padding-block:48px; }
body .editorial-heading > p:last-child:not(.kicker),body .customer-problem > p:not(.kicker),body .vision-section > p:not(.kicker) { margin-top:20px; }
body .editorial-heading h2 { margin-top:14px; }
body .capture-visual,body .inspectors-visual,body .city-visual { margin-top:30px; }
body .outcome-list,body .operations-split { margin-top:30px; }
body .report-disclosure { margin-top:28px; }
@media(max-width:820px) { body .customer-problem,body .customer-results,body .field-office,body .professionals-section,body .vision-section,body .simple-workflow,body .customer-value,body .customer-credibility,body .contact-section { padding-block:32px; } }
.customer-opening .opening-copy br::after,.customer-hero-visual strong br::after { content:' '; }
.customer-opening .opening-copy { max-width:620px; margin-inline:auto; }
/* Avoid joining words when a responsive layout removes a forced line break. */
@media(max-width:820px) { .customer-hero-visual strong br { display:contents!important; } }
@media(max-width:520px) {
 .customer-opening .opening-copy br { display:contents!important; }
 .customer-opening .customer-hero-visual { grid-template-columns:25% 75%; }
 .customer-opening .hero-plan { display:block; height:175px; }
 .customer-opening .hero-plan > span { left:4px; top:10px; padding:6px; font-size:8px; }
 .customer-opening .hero-field img { width:140%; left:-30%; transform:translateY(-44%); }
}
.customer-hero-visual { display:grid; grid-template-columns:22% 54% 24%; max-width:1120px; height:230px; margin:28px auto 0; overflow:hidden; border-radius:18px; background:var(--paper); text-align:left; }
.hero-plan,.hero-field { position:relative; overflow:hidden; }
.hero-plan img { width:100%; height:100%; object-fit:cover; }
.hero-field img { width:102.4%; max-width:none; position:absolute; top:50%; left:-1.2%; transform:translateY(-50%); }
.hero-plan > span,.hero-field > span { position:absolute; top:14px; left:14px; background:#fff; padding:7px 10px; border-radius:5px; font-size:10px; letter-spacing:.06em; }
.customer-hero-visual figcaption { padding:26px; display:flex; flex-direction:column; justify-content:center; gap:16px; }
.customer-hero-visual strong { font-size:25px; letter-spacing:-.03em; line-height:1.2; font-weight:600; }
.customer-hero-visual a { font-size:12px; color:var(--teal); min-height:44px; display:flex; align-items:center; gap:8px; }
.hero-source { font-size:11px; line-height:1.5; color:var(--muted); margin:12px auto 0; }
.customer-problem,.customer-results,.field-office,.professionals-section,.vision-section { padding-block:100px; }
.customer-problem h2,.vision-section h2 { margin-top:22px; }
.customer-problem > p:not(.kicker),.vision-section > p:not(.kicker) { max-width:680px; font-size:21px; line-height:1.6; color:var(--muted); margin-top:30px; }
.consequence-line { display:flex; flex-wrap:wrap; gap:16px 30px; padding-top:36px; margin-top:36px; border-top:1px solid var(--line); font-size:24px; letter-spacing:-.02em; }
.simple-workflow,.customer-value,.customer-credibility { padding-block:100px; background:var(--paper); }
.capture-visual { margin-top:42px; }
.capture-visual img { width:100%; border-radius:20px; }
.capture-visual figcaption { padding-top:32px; font-size:clamp(25px,3.5vw,44px); letter-spacing:-.04em; line-height:1.2; color:var(--muted); }
.capture-visual strong { color:var(--navy); font-weight:600; }
.workflow-line { list-style:none; display:flex; justify-content:space-between; gap:24px; padding:28px 0 0; margin-top:28px; border-top:1px solid var(--line); }
.workflow-line li { position:relative; font-size:15px; }
.workflow-line li:not(:last-child)::after { content:'→'; margin-left:24px; color:var(--teal); }
.result-selector { display:flex; flex-wrap:wrap; gap:12px; margin:36px 0 24px; }
.result-selector button { padding:12px 20px; min-height:46px; border:1px solid var(--line); border-radius:99px; color:var(--navy); background:white; cursor:pointer; }
.result-selector button[aria-pressed=true] { color:#fff; background:var(--navy); border-color:var(--navy); }
.result-demo { display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center; padding-block:28px; border-block:1px solid var(--line); }
.result-demo .result-photo { overflow:hidden; border-radius:16px; position:relative; aspect-ratio:auto; }
.result-photo img { display:block; width:100%; height:auto; position:static; transform:none; }
.result-demo figcaption { font-size:11px; color:var(--muted); margin-top:12px; }
.result-state { font-size:12px; letter-spacing:.06em; color:var(--teal); }
.result-answer h3 { font-size:30px; font-weight:600; line-height:1.15; letter-spacing:-.03em; margin-block:18px; }
.result-answer > p:not(.result-state) { font-size:16px; line-height:1.6; color:var(--muted); }
.outcome-list { margin-top:48px; }
.outcome-list article { display:grid; grid-template-columns:40px 1fr 1fr; gap:28px; padding-block:32px; border-top:1px solid var(--line); }
.outcome-list article > span { color:var(--teal); font-size:12px; padding-top:6px; }
.outcome-list h3,.operations-split h3 { font-size:30px; font-weight:600; letter-spacing:-.03em; }
.outcome-list p,.operations-split p { font-size:18px; color:var(--muted); line-height:1.6; }
.operations-split { display:grid; grid-template-columns:1fr 1fr; gap:80px; margin-top:50px; }
.operations-split article { border-top:1px solid var(--line); padding-top:28px; }
.operations-split h3 { margin:16px 0 20px; }
.operations-split .kicker { font-size:13px; color:var(--teal); }
.operations-split .process-text { font-size:14px; color:var(--navy); margin-top:24px; }
.report-disclosure { margin-top:42px; border-block:1px solid var(--line); padding-block:8px; }
.report-disclosure summary { min-height:52px; padding-block:16px; cursor:pointer; font-size:16px; }
.report-disclosure summary span { float:right; }
.report-disclosure > p { color:var(--muted); line-height:1.6; margin:20px 0; }
.safety-section { padding-top:60px; }
.safety-section .editorial-heading { max-width:1120px; }
.city-visual { width:min(1120px,calc(100% - 80px)); margin:48px auto 0; position:relative; border-radius:20px; overflow:hidden; }
@media(max-width:820px) { .city-visual { width:calc(100% - 40px); } }
.city-visual img { width:100%; height:560px; object-fit:cover; object-position:center 68%; }
body .city-visual .night-safety-image { display:block; width:100%; height:auto; aspect-ratio:2 / 1; object-fit:cover; object-position:center 35%; }
@media(max-width:820px) { body .city-visual .night-safety-image { aspect-ratio:4 / 3; } }
.city-visual figcaption { background:var(--navy); color:white; padding:22px max(40px,calc((100% - 1120px)/2)); text-align:left; font-size:18px; }
.inspectors-visual { margin-top:48px; }
.inspectors-visual img { width:100%; border-radius:20px; }
.inspectors-visual figcaption { color:var(--muted); font-size:12px; line-height:1.6; padding-top:16px; }
.professional-note { margin-top:28px; color:var(--muted); max-width:740px; font-size:17px; line-height:1.6; }
.letter-feature { display:grid; grid-template-columns:1fr 180px; gap:80px; align-items:center; padding-block:44px; border-bottom:1px solid var(--line); }
.letter-feature blockquote { font-size:clamp(24px,2.7vw,34px); line-height:1.4; letter-spacing:-.025em; margin-top:18px; }
.quote-attribution { font-size:14px; margin-top:24px; }
.letter-preview img { max-height:235px; width:100%; object-fit:contain; background:white; border:1px solid var(--line); }
.letter-preview span { display:block; padding-block:14px; font-size:12px; color:var(--teal); }
.vision-section { max-width:1120px; }
@media(min-width:1000px) and (max-height:760px) { .customer-opening { padding-top:24px; } .customer-opening h1 { margin-block:12px; font-size:58px; } .customer-hero-visual { height:210px; margin-top:24px; } }
@media(max-width:1000px) { #primaryNav { gap:12px; font-size:12px; } .customer-hero-visual figcaption { padding:18px; } .customer-hero-visual strong { font-size:21px; } }
@media(max-width:820px) { .customer-hero-visual { grid-template-columns:25% 75%; height:auto; } .hero-plan,.hero-field { height:240px; } .customer-hero-visual figcaption { grid-column:1/-1; flex-direction:row; align-items:center; justify-content:space-between; } .customer-hero-visual strong { font-size:20px; } .customer-hero-visual strong br { display:none; } .customer-hero-visual .micro-label { display:none; } .result-demo,.operations-split { grid-template-columns:1fr; gap:28px; } .workflow-line { flex-wrap:wrap; justify-content:flex-start; } .customer-problem,.customer-results,.field-office,.professionals-section,.vision-section,.simple-workflow,.customer-value,.customer-credibility { padding-block:72px; } .outcome-list article { grid-template-columns:24px 1fr; gap:16px; } .outcome-list p { grid-column:2; } .letter-feature { gap:30px; grid-template-columns:1fr 130px; } .city-visual img { height:420px; } }
@media(max-width:520px) { .customer-opening h1 { font-size:clamp(34px,9vw,46px); } .customer-opening h1 br { display:none; } .customer-opening h1 span { display:block; } .customer-hero-visual { grid-template-columns:1fr; } .hero-plan { display:none; } .hero-field { height:175px; } .customer-hero-visual figcaption { align-items:flex-start; flex-direction:column; gap:4px; } .customer-hero-visual a { min-height:36px; } .customer-problem > p:not(.kicker),.vision-section > p:not(.kicker) { font-size:18px; } .consequence-line { font-size:21px; gap:14px 20px; } .capture-visual img { height:310px; object-fit:cover; object-position:70% center; } .workflow-line { flex-direction:column; gap:16px; } .workflow-line li:not(:last-child)::after { content:'↓'; } .result-selector { gap:8px; } .result-selector button { padding:12px; font-size:13px; } .result-photo { aspect-ratio:1.5; } .letter-feature { grid-template-columns:1fr; gap:24px; } .letter-preview { display:flex; gap:20px; align-items:center; } .letter-preview img { width:90px; height:125px; } .inspectors-visual img { height:300px; object-fit:cover; object-position:center; } .city-visual img { height:360px; } .opening-copy br { display:none; } }
