/* SentriWatch / daylight edition. White studio surfaces, deep teal typography. */
:root{color-scheme:light;--ink:#fff;--surface:#f2f7f6;--white:#102d2e;--muted:#526969;--teal:#007f78;--line:#164f4824;background:#fff;color:var(--white)}
body,.site-header{background:#fff}.site-header{border-color:#163e3420}.site-header nav{color:#355655}.wordmark{color:#102d2e}.account-link{color:#183b3b}.external-icon{color:#008b82}
.story{background:radial-gradient(ellipse at 70% 10%,#e6f4f1 0,transparent 30%),#fff}.hero h1{color:#102d2e}.hero h1 span{color:#007b73}.hero-topline,.edition,.hero-foot{color:#56706c}.hero-bottom p{color:#3e5b58}.text-link{color:#194a43;border-color:#68988f}.button.primary{background:#087f75;color:#fff;border-color:#087f75}.button.primary:hover{background:#05665e;color:#fff}.skip-link{color:#fff}.hero-foot{border-color:#20594c24}.story-copy{background:none}.story-copy>p,.feature-line p{color:#526969}.signal-sequence i{background:linear-gradient(90deg,#008b7d,transparent)}
.bike-caption p,.concept-label,.installation-note p,.quiet-button,.spec-footnote,.preview-notice,.form-privacy{color:#526a66}.quiet-button{border-color:#8da9a2}.specification-panel>.eyebrow,.installation-note>span{color:#397e70}.table-title{border-color:#789c91}.spec-table dt{color:#5c726b}.enquiry-form{border-color:#2b857338}label{color:#24433e}input,select,textarea{border-color:#9bb5ad;background:#f8fbfa;color:#163a32}input::placeholder,textarea::placeholder{color:#6d817b}.form-result{background:#e9f6f1;border-color:#409d88;color:#163a32}.noscript-message{background:#e8f6f2;color:#163a32}
#protection,.light-section,.faq-section{background:#f5f9f8;color:#102d2e}.light-section .section-kicker,.light-section em,.light-section .service-link{color:#00796e}.light-section .section-intro,.service-body p,.service-body ul{color:#4f6962}.services details,.services details:last-child{border-color:#6f9c8d40}.service-num,.disclosure-icon{color:#188b78}.system-section{background:#fff}.system-flow article,.flow-visual{border-color:#77a18d40}.map-road{stroke:#deebe5}.route-ring{fill:#008c7410;stroke:#008c7470}.review-bars i{background:#008c7a}.alert-visual small,.flow-text p,.system-note,.records-title p,.records-list p{color:#536f64}.flow-text>span,.location-visual>span{color:#3d806b}.records-section{background:#eaf4ef}.records-list>div{border-color:#79a38d40}.records-list>div>span{color:#168265}.closing-section{background:radial-gradient(ellipse at right bottom,#e0f2e9,transparent 70%),#fff}footer{background:#fff}footer small{color:#5e7f70}
.tracking-map{background:#0a1418;color:#f1f5f3;box-shadow:0 20px 70px #073d2920;border-color:#1d706459}.tracking-map .map-status strong,.tracking-map .map-caption strong{color:#eef9f4}.tracking-map .map-caption>span{color:#61dab9}.map-live-dot{background:#64f4d7}.tracker-ring{stroke:#56edd0}.story-progress{background:#0c6f5612}.story-progress-fill{background:#008b7560}
.story-stage .security-caption{position:absolute;left:var(--gutter);top:8%;width:min(420px,30vw);z-index:5;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .18s,transform .18s}.security-caption.is-visible{opacity:1;transform:none}.security-caption .section-kicker{font-size:11px;letter-spacing:1.8px;margin:0 0 20px;color:#267964}.security-caption h2{font:500 clamp(34px,3.8vw,59px)/1.07 Display,Arial,sans-serif;letter-spacing:-.055em;margin:0 0 20px;color:#103e34}.security-caption p{font-size:16px;line-height:1.65;color:#526f65;margin:0;max-width:330px}.security-caption small{display:block;margin-top:22px;font-size:11px;line-height:1.5;color:#6c8279}.sequence-steps{position:absolute;bottom:30px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;gap:18px;z-index:5;opacity:0;pointer-events:none}.sequence-steps.is-visible{opacity:1}.sequence-steps span{font-size:10px;letter-spacing:1.3px;color:#789388;padding-top:13px;border-top:1px solid #32795a30;flex:1}.sequence-steps span.active{color:#006b57;border-color:#009879}.ride-panel{min-height:440svh}.ride-heading,.ride-caption{display:none}.bike-heading,.bike-caption{transition:opacity .15s}
.section .section-kicker{color:#237d64}.section-intro,.protection-grid .section-intro,.system-heading .section-intro{color:#50695f}.service-link{border-color:#24877080}label{font-size:13px}.form-privacy,.preview-notice{font-size:12px}
@media(min-width:761px){.story-stage .security-caption[data-phase=breach]{left:auto;right:var(--gutter)}}
@media(max-width:1100px) and (min-width:761px){.story-stage .security-caption{width:31vw}.security-caption h2{font-size:35px}.security-caption p{font-size:14px}}
@media(max-width:760px){.story{background:radial-gradient(ellipse at 50% 9%,#e7f5ef,transparent 22%),#fff}.story-copy{background:linear-gradient(180deg,#ffffff00,#fff 15%)}.story-stage .security-caption{top:5%;left:22px;width:calc(100% - 44px)}.security-caption h2{font-size:34px;max-width:330px;margin-bottom:12px}.security-caption p{font-size:14px;max-width:310px;line-height:1.55}.security-caption .section-kicker{margin-bottom:13px;font-size:9px}.security-caption small{font-size:9px;margin-top:12px}.sequence-steps{bottom:24px;gap:9px}.sequence-steps span{font-size:8px;letter-spacing:.4px;line-height:1.4}.ride-panel{min-height:500svh}}
@media(prefers-reduced-motion:reduce){.security-caption,.bike-heading,.bike-caption{transition:none}}

/* The alert chapter uses the same red as the physical geofence. */
.security-caption[data-phase=breach] .section-kicker{color:#c82b36}
.security-caption[data-phase=breach] h2{color:#872330}
.story-stage[data-security-phase=breach] .sequence-steps span.active{color:#c82b36;border-color:#ef3943}
@media(min-width:761px){.story-stage .security-caption[data-phase=installation]{width:24vw}.security-caption[data-phase=installation] h2{max-width:280px}.security-caption[data-phase=installation] p{max-width:260px}}

@media(min-width:761px){.story-stage::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,#fff 0%,#fffffff5 24%,#ffffff00 45%);opacity:0;transition:opacity .25s}.story-stage[data-install-focus=true]::after{opacity:1}}
@media(prefers-reduced-motion:reduce){.story-stage::after{transition:none}}
@media(max-width:380px){.security-caption h2{font-size:28px;line-height:1.08}.security-caption p{font-size:13px;line-height:1.5}.security-caption small{font-size:8px;margin-top:10px}.security-caption .section-kicker{letter-spacing:1.3px}}
