/* Factory security40: only this page and its three incoming entry panels. */
.f40 { --f40-line:#486461; --f40-red:#f46a6d; --f40-muted:#bccdca; color:#f4f4ef; }
.f40 *, .f40 *::before, .f40 *::after, .f40-entry *, .f40-entry *::before, .f40-entry *::after { box-sizing:border-box; }
.f40 .wrap, .f40-entry .wrap { max-width:1320px; }
.f40 p { color:var(--f40-muted); line-height:1.95; }
.f40 h1, .f40 h2, .f40 h3 { color:#f4f4ef; overflow-wrap:anywhere; }
.f40 a, .f40-entry a { text-decoration:none; }
.f40-eyebrow { margin:0 0 18px; color:#f46a6d; font-size:10px; line-height:1.5; font-weight:800; letter-spacing:.14em; }
.f40-breadcrumb { display:flex; flex-wrap:wrap; gap:9px 16px; align-items:center; padding:24px 0 20px; color:#bccdca; font-size:12px; line-height:1.6; }
.f40-breadcrumb a { display:inline-flex; align-items:center; gap:6px; color:#bccdca; }
.f40-breadcrumb a:hover { color:#fff; }
.f40-breadcrumb a>span { font-size:10px; }
.f40-hero { padding:35px 0 62px; }
.f40-hero-grid { display:grid; grid-template-columns:1fr 1.05fr; gap:clamp(28px,4vw,64px); align-items:center; }
.f40-hero-copy, .f40-hero-visual { min-width:0; }
.f40 .f40-hero h1 { margin:22px 0 28px; font-size:clamp(34px,4.3vw,64px); line-height:1.43; letter-spacing:-.04em; font-weight:800; }
.f40-hero h1>span { color:#f46a6d; }
.f40-hero-copy>p:not(.f40-eyebrow) { max-width:34em; margin:0; font-size:16px; }
.f40-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:28px; }
.f40 .btn { display:inline-flex; gap:26px; justify-content:space-between; align-items:center; min-height:52px; padding:15px 22px; color:#fff; background:#d92930; font-size:14px; line-height:1.7; white-space:normal; }
.f40 .btn:hover { background:#b52128; }
.f40-link { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; color:#f4f4ef; font-weight:700; font-size:14px; line-height:1.7; }
.f40-link>span { color:#f46a6d; }
.f40-link:hover { color:#f46a6d; }
.f40-network { position:relative; margin:0; padding:25px 27px 0; border:1px solid #607875; border-top:3px solid #d92930; background:radial-gradient(ellipse at 50% 20%,#2b484b 0,#1a3034 43%,#142326 85%); overflow:hidden; }
.f40-network-top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; font-size:9px; font-weight:700; letter-spacing:.12em; color:#b4c9c4; }
.f40-status { display:inline-flex; gap:7px; align-items:center; color:#f4f4ef; }
.f40-status i { display:block; width:6px; height:6px; border-radius:50%; background:#f46a6d; }
.f40-cloud { width:112px; margin:23px auto 0; text-align:center; }
.f40-cloud svg { display:block; width:96px; height:64px; margin:0 auto; stroke:#e8f0ea; stroke-width:1.6; }
.f40-cloud>span { font-size:9px; font-weight:800; letter-spacing:.2em; color:#bccdca; }
.f40-network-lines { position:relative; height:33px; margin:5px 9% 0; border-top:1px solid #5c7b76; display:flex; justify-content:space-between; }
.f40-network-lines::before { content:''; position:absolute; left:50%; top:-12px; height:12px; width:1px; background:#5c7b76; }
.f40-network-lines>span { width:1px; height:20px; background:#5c7b76; }
.f40-camera-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.f40-camera-node { display:block; min-width:0; border:1px solid #486763; padding:12px 10px; background:#1a3033; }
.f40-camera-node svg { display:block; width:100%; max-width:72px; height:auto; margin:0 auto; stroke:#ccdfd7; stroke-width:1.35; }
.f40-network figcaption { margin:23px -27px 0; padding:22px 25px; border-top:1px solid #486461; background:#1d3437; }
.f40-network figcaption b { display:block; font-size:19px; line-height:1.6; }
.f40-network figcaption span { display:block; margin-top:8px; color:#a4bdb6; font-size:10px; line-height:1.5; }
.f40-facts { display:grid; grid-template-columns:1fr 1fr 1fr; border-top:1px solid #486461; border-bottom:1px solid #486461; }
.f40-facts>div { padding:27px 28px; min-width:0; border-right:1px solid #486461; }
.f40-facts>div:last-child { border-right:0; }
.f40-facts>div>span { display:block; margin-bottom:12px; color:#93ada6; font-size:9px; font-weight:800; letter-spacing:.16em; line-height:1.5; }
.f40-facts strong { display:block; font-size:clamp(19px,2.2vw,29px); line-height:1.65; }
.f40-facts strong>span { display:block; color:#f46a6d; }
.f40-facts strong>b { font-size:clamp(38px,5vw,60px); line-height:1; font-weight:800; color:#f46a6d; margin-right:6px; }
.f40-section { padding:88px 0; scroll-margin-top:95px; }
.f40-heading { max-width:900px; margin-bottom:36px; }
.f40-heading h2 { margin:0 0 20px; font-size:clamp(27px,3vw,43px); line-height:1.55; font-weight:800; letter-spacing:-.025em; }
.f40-heading>p:not(.f40-eyebrow) { margin:0; font-size:16px; }
.f40-monitor-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.f40-monitor-card { padding:29px 0 0; border-top:1px solid #486461; min-width:0; }
.f40-card-icon { display:block; width:66px; margin:0 0 29px; }
.f40-card-icon svg { display:block; width:100%; stroke:#bdcec5; stroke-width:1.4; }
.f40-monitor-card h3 { margin:0 0 17px; font-size:23px; line-height:1.6; }
.f40-monitor-card>p:not(.f40-eyebrow) { margin:0; font-size:15px; }
.f40-provider-link { margin:31px 0 0; font-size:12px; }
.f40-provider-link .f40-link { font-size:12px; }
.f40-tone { background:#192c2f; border-top:1px solid #314a4b; border-bottom:1px solid #314a4b; }
.f40-control-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.f40-control { min-width:0; padding:27px 25px; border:1px solid #486461; border-top:3px solid #d92930; background:#142326; }
.f40-control>svg { display:block; width:69px; height:56px; margin-bottom:24px; stroke:#d3e0d9; stroke-width:1.5; }
.f40-control .f40-eyebrow { font-size:9px; margin-bottom:11px; }
.f40-control>div>span { display:block; color:#a9bfb7; font-size:12px; font-weight:700; line-height:1.6; }
.f40-control h3 { margin:14px 0 18px; font-size:23px; line-height:1.55; }
.f40-control>div>p:not(.f40-eyebrow) { margin:0; font-size:14px; }
.f40-quality-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
.f40-handling-list { border-top:1px solid #486461; }
.f40-handling-list article { border-bottom:1px solid #486461; padding:26px 0; }
.f40-handling-list h3 { font-size:20px; line-height:1.6; margin:0 0 14px; }
.f40-handling-list p { margin:0; font-size:15px; }
.f40-agreement-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-bottom:28px; }
.f40-agreement-grid article { border-top:1px solid #486461; padding-top:26px; }
.f40-agreement-grid h3 { margin:0 0 15px; font-size:22px; line-height:1.6; }
.f40-agreement-grid p { margin:0; font-size:15px; }
.f40-last { padding-top:0; }
.f40-consult { border-top:3px solid #d92930; border-bottom:1px solid #486461; display:grid; grid-template-columns:1.2fr 1fr; gap:40px; padding:50px 38px; background:#20383a; align-items:center; }
.f40-consult h2 { margin:0 0 17px; font-size:clamp(28px,3vw,41px); line-height:1.5; }
.f40-consult p:not(.f40-eyebrow) { margin:0; font-size:15px; }
.f40-consult>div:last-child { display:grid; justify-items:start; gap:24px; }
.f40-entry { padding:0 0 48px; color:#f4f4ef; }
.f40-entry-card { position:relative; display:grid; grid-template-columns:75px 1fr 110px 24px; align-items:center; gap:27px; padding:31px 32px; border:1px solid #5b7871; border-left:4px solid #d92930; background:linear-gradient(120deg,#203a3d,#1a2d30); color:#f4f4ef; }
.f40-entry-card:hover { background:#274347; border-color:#91aaa1; border-left-color:#f46a6d; }
.f40-entry-icon svg { display:block; width:75px; height:auto; stroke:#d1e0d7; stroke-width:1.5; }
.f40-entry-copy { display:block; min-width:0; }
.f40-entry-copy>.f40-eyebrow { display:block; margin-bottom:13px; font-size:9px; }
.f40-entry-copy>strong { display:block; font-size:clamp(19px,2vw,27px); line-height:1.65; font-weight:800; letter-spacing:-.015em; }
.f40-entry-description { display:block; margin-top:15px; color:#becfc7; font-size:12px; font-weight:700; line-height:1.7; }
.f40-entry-time { text-align:center; }
.f40-entry-time>b { display:block; color:#f46a6d; font-size:63px; font-weight:800; line-height:1.1; }
.f40-entry-time>span { display:block; margin-top:7px; color:#9bb9ae; font-size:9px; letter-spacing:.2em; font-weight:800; }
.f40-entry-arrow { color:#f46a6d; font-size:23px; align-self:end; }
@media (max-width:1050px) {
 .f40-hero-grid { grid-template-columns:1fr 1fr; gap:30px; }
 .f40-network { padding:22px 19px 0; }
 .f40-camera-grid { gap:7px; }
 .f40-camera-node { padding:9px 6px; }
 .f40-network figcaption { margin-left:-19px; margin-right:-19px; padding:20px; }
 .f40-network figcaption b { font-size:17px; }
 .f40-monitor-grid { gap:24px; }
 .f40-control { padding:24px 20px; }
 .f40-control h3 { font-size:21px; }
 .f40-quality-grid { gap:40px; }
 .f40-entry-card { grid-template-columns:59px 1fr 83px 20px; gap:20px; padding:27px 24px; }
 .f40-entry-icon svg { width:59px; }
 .f40-entry-time>b { font-size:52px; }
}
@media (max-width:800px) {
 .f40-hero { padding:20px 0 45px; }
 .f40-hero-grid { grid-template-columns:1fr; gap:35px; }
 .f40 .f40-hero h1 { margin:19px 0 22px; font-size:clamp(35px,7.3vw,56px); line-height:1.4; }
 .f40-hero-copy>p:not(.f40-eyebrow) { max-width:none; font-size:15px; }
 .f40-network { padding:23px 26px 0; }
 .f40-cloud { margin-top:20px; }
 .f40-camera-grid { gap:12px; }
 .f40-camera-node { padding:11px; }
 .f40-network figcaption { margin-left:-26px; margin-right:-26px; }
 .f40-facts>div { padding:22px 17px; }
 .f40-facts strong { font-size:18px; }
 .f40-facts strong>b { font-size:43px; }
 .f40-section { padding:60px 0; }
 .f40-heading { margin-bottom:28px; }
 .f40-heading h2 { font-size:30px; }
 .f40-heading>p:not(.f40-eyebrow) { font-size:15px; }
 .f40-monitor-grid { grid-template-columns:1fr; gap:29px; }
 .f40-monitor-card { padding-top:23px; }
 .f40-card-icon { float:right; width:54px; margin:0 0 15px 20px; }
 .f40-monitor-card h3 { font-size:23px; }
 .f40-control-grid { grid-template-columns:1fr; gap:18px; }
 .f40-control { display:grid; grid-template-columns:65px 1fr; gap:22px; padding:25px; }
 .f40-control>svg { width:65px; margin:0; }
 .f40-control h3 { font-size:23px; margin-top:12px; }
 .f40-quality-grid { grid-template-columns:1fr; gap:28px; }
 .f40-agreement-grid { grid-template-columns:1fr; gap:27px; }
 .f40-consult { grid-template-columns:1fr; gap:28px; padding:36px 28px; }
 .f40-entry { padding-bottom:34px; }
 .f40-entry-card { grid-template-columns:52px 1fr 20px; gap:18px; padding:24px; }
 .f40-entry-icon svg { width:52px; }
 .f40-entry-time { display:none; }
 .f40-entry-copy>strong { font-size:21px; }
 .f40-entry-copy>.f40-eyebrow { margin-bottom:10px; }
}
@media (max-width:520px) {
 .f40-breadcrumb { padding-top:21px; padding-bottom:18px; gap:7px 10px; font-size:11px; }
 .f40-hero { padding-top:12px; }
 .f40-hero-copy>.f40-eyebrow { max-width:27em; font-size:9px; }
 .f40 .f40-hero h1 { font-size:clamp(32px,8.7vw,43px); }
 .f40-hero-actions { display:grid; justify-items:start; gap:21px; }
 .f40 .btn { max-width:100%; font-size:13px; padding:14px 18px; gap:18px; }
 .f40-network { padding:19px 17px 0; }
 .f40-network-top { font-size:8px; letter-spacing:.08em; gap:9px; }
 .f40-cloud { width:94px; margin-top:20px; }
 .f40-cloud svg { width:82px; height:56px; }
 .f40-camera-grid { gap:7px; }
 .f40-camera-node { padding:8px 6px; }
 .f40-network figcaption { margin:19px -17px 0; padding:19px 17px; }
 .f40-network figcaption b { font-size:16px; }
 .f40-facts { grid-template-columns:1fr; }
 .f40-facts>div { padding:19px 5px; border-right:0; border-bottom:1px solid #3b5652; display:grid; grid-template-columns:125px 1fr; gap:12px; align-items:center; }
 .f40-facts>div:last-child { border-bottom:0; }
 .f40-facts>div>span { margin:0; font-size:8px; }
 .f40-facts strong { font-size:18px; }
 .f40-facts strong>span { display:inline; margin-left:7px; }
 .f40-facts strong>b { font-size:39px; }
 .f40-section { padding:49px 0; }
 .f40-heading h2 { font-size:26px; }
 .f40-heading .f40-eyebrow { font-size:9px; }
 .f40-monitor-card h3 { font-size:22px; }
 .f40-control { grid-template-columns:1fr; gap:19px; padding:23px 21px; }
 .f40-control>svg { width:58px; height:48px; }
 .f40-control h3 { font-size:22px; }
 .f40-consult { padding:30px 21px; }
 .f40-consult h2 { font-size:27px; }
 .f40-entry-card { grid-template-columns:1fr 17px; gap:14px; padding:23px 20px; }
 .f40-entry-icon { grid-column:1 / -1; }
 .f40-entry-icon svg { width:51px; }
 .f40-entry-copy>strong { font-size:20px; line-height:1.7; }
 .f40-entry-description { font-size:11px; margin-top:13px; }
 .f40-entry-arrow { font-size:20px; }
}
@media (prefers-reduced-motion:reduce) { .f40 *, .f40-entry * { scroll-behavior:auto; } }
