/* Homepage composition. Component behavior and subpage styles stay independent. */
.security-home { --paper: #f5f6f4; --ink: var(--text); --muted: #56656b; --line: #d2dadd; --teal: var(--brand-teal-strong); background: var(--paper); color: var(--ink); }
.security-home h1,.security-home h2,.security-home h3 { font-weight: 650; letter-spacing: -.045em; }
.security-home h2 { font-size: clamp(30px,3.2vw,44px); line-height: 1.12; }
.security-home .eyebrow { letter-spacing: .12em; font-size: 10px; }
.security-home .button { border-radius: 2px; }
.security-home .section { padding-top: 66px; padding-bottom: 66px; }
.security-home .mission-hero { min-height: min(820px,calc(100svh - 76px)); align-items: center; background: #132830; }
.security-home .mission-hero:before { background: linear-gradient(90deg,rgba(9,26,33,.93),rgba(9,26,33,.72) 37%,rgba(9,26,33,.15) 76%); }
.security-home .mission-hero-inner { padding-top: 90px; padding-bottom: 125px; }
.security-home .mission-hero-copy { max-width: 610px; }
.security-home .mission-hero h1 { font-size: clamp(48px,5.7vw,80px); line-height: 1.2; letter-spacing: -.055em; }
.hero-accent { position: relative; display: inline-block; color: var(--hero-accent); }
.hero-accent--saving { --hero-accent: var(--text-on-dark); }
.hero-accent--people { --hero-accent: var(--accent-on-dark); }
.hero-accent::before,
.hero-accent::after { content: ''; position: absolute; height: .045em; background: currentColor; transform: skewX(-35deg) rotate(-3deg); pointer-events: none; }
.hero-accent::before { left: .04em; right: .06em; bottom: .015em; }
.hero-accent::after { left: 22%; right: -.025em; bottom: -.075em; height: .025em; opacity: .8; }
.security-home .mission-hero .eyebrow { color: #d2e3df; }
.security-home .mission-hero-lead { font-size: clamp(18px,1.6vw,22px); line-height: 1.5; margin-top: 26px; font-weight: 500; }
.security-home .mission-hero-belief { max-width: 430px; font-size: 14px; color: #d5e0e2; margin-top: 16px; }
.security-home .mission-hero .primary { background: #f5f6f4; border-color: #f5f6f4; color: #142e35; }
.security-home .mission-hero .primary:hover { background: #dce9e5; }
.security-hero-index { position: absolute; bottom: 25px; width: min(1180px,calc(100% - 80px)); left: 50%; transform: translateX(-50%); display: flex; gap: 38px; padding-top: 19px; border-top: 1px solid #ffffff50; color: #ecf3f2; font-size: 9px; letter-spacing: .14em; }
.security-home .security-paths { display: grid; grid-template-columns: repeat(3,1fr); padding-top: 0; padding-bottom: 0; border-bottom: 1px solid var(--line); }
.security-paths a { position: relative; padding: 28px 25px; border-right: 1px solid var(--line); }
.security-paths a:first-child { padding-left: 0; }.security-paths a:last-child { border: 0; }
.security-paths span { display: block; font-size: 9px; letter-spacing: .09em; color: var(--muted); margin-bottom: 10px; }
.security-paths strong { font-size: 16px; font-weight: 600; letter-spacing: -.025em; }
.security-paths b { float: right; font-size: 20px; font-weight: 400; margin-left: 8px; color: var(--text-accent); }
.security-paths a:hover strong { color: var(--text-accent); }
.security-section-head { display: grid; grid-template-columns: 1.1fr 1fr; align-items: end; gap: 70px; margin-bottom: 32px; }
.security-section-head h2 { margin-top: 14px; }
.security-section-head>div>p:not(.eyebrow) { font-size: 14px; color: var(--muted); }
.security-section-head>.text-link { justify-self: end; }
.security-response .cmd-demo { margin-top: 0; }
.security-response-steps { list-style: none; padding: 0; margin: 30px 0 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; }
.security-response-steps li { display: flex; gap: 16px; border-top: 2px solid #17323a; padding-top: 18px; }
.security-response-steps li>span { font-size: 11px; color: var(--text-accent); padding-top: 4px; font-weight: 650; }
.security-response-steps h3 { font-size: 17px; letter-spacing: -.02em; }
.security-response-steps p { font-size: 12px; color: var(--muted); margin-top: 8px; }
.security-ai-note { display: flex; align-items: center; gap: 28px; margin-top: 28px; border-top: 1px solid var(--line); padding-top: 22px; font-size: 12px; }
.security-ai-note strong { max-width: 170px; flex-shrink: 0; line-height: 1.5; }.security-ai-note p { color: var(--muted); flex: 1; }.security-ai-note a { color: var(--text-accent); font-weight: 600; white-space: nowrap; }
.security-retrofit { background: #e7eceb; border-block: 1px solid var(--line); }
.security-retrofit-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 42px 60px; align-items: center; }
.security-retrofit-copy h2 { margin: 16px 0 22px; }.security-retrofit-copy>p:not(.eyebrow) { color: var(--muted); font-size: 14px; }
.security-retrofit .brand-logos { margin: 27px 0 10px; justify-content: flex-start; gap: 28px; }.security-retrofit .brand-logos img { width: 100px; height: 36px; }.security-retrofit .brand-logos img:first-child { width: 70px; }
.security-retrofit .security-small { font-size: 10px!important; max-width: 380px; }.security-retrofit .button { margin-top: 24px; }
.security-installation { margin: 0; }.security-installation img { width: 100%; aspect-ratio: 1.15; object-fit: cover; }.security-installation figcaption { font-size: 10px; margin-top: 12px; color: var(--muted); line-height: 1.6; }
.security-retrofit-scope { grid-column: 1/-1; display: flex; gap: 20px; align-items: center; border-top: 1px solid #b9c6c7; padding-top: 23px; font-size: 12px; }.security-retrofit-scope p { flex: 1; color: var(--muted); }.security-retrofit-scope a { color: var(--text-accent); font-weight: 600; }
.security-equipment .product-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.security-equipment .product-link,.security-equipment .product-link:first-child,.security-equipment .product-link:nth-child(even) { display: block; grid-column: auto; padding: 0; border: 0; border-radius: 0; background: transparent; }
.security-equipment .product-photo { background: #e8ece9!important; border: 1px solid var(--line); }
.security-equipment .product-photo img,.security-equipment .product-link:first-child .product-photo img { width: 100%; height: 190px; aspect-ratio: auto; object-fit: contain; padding: 20px; }
.security-equipment .product-card-copy,.security-equipment .product-link:first-child .product-card-copy { padding: 18px 0 0; }
.security-equipment .product-card-copy>.eyebrow { display: none; }
.security-equipment .product-link h3 { font-size: 20px; margin: 0 0 11px; gap: 15px; }
.security-equipment .product-link p { font-size: 12px; line-height: 1.65; }
.security-mobile { margin-top: 35px; border-top: 1px solid var(--line); padding-top: 28px; display: flex; align-items: center; gap: 32px; }
.security-mobile>img { width: 110px; height: 138px; object-fit: contain; flex-shrink: 0; }.security-mobile h3 { font-size: 22px; }.security-mobile p { font-size: 13px; color: var(--muted); max-width: 740px; margin-top: 9px; }.security-mobile .text-link { margin-top: 12px; }
.security-home .home-calculator { padding-top: 0; padding-bottom: 45px; }
.security-environments { border-top: 1px solid var(--line); }
.security-home .security-people { display: grid; grid-template-columns: 1fr 1fr; gap: 65px; align-items: center; border-top: 1px solid var(--line); }
.security-people p a { color: var(--text-accent); text-decoration: underline; text-underline-offset: 3px; }
.security-people>img,.security-people>.freeze-frame { width: 100%; height: 290px; object-fit: cover; }.security-people>.freeze-frame img { width: 100%; height: 100%; object-fit: cover; }.security-people h2 { margin: 15px 0 20px; }.security-people p:not(.eyebrow) { font-size: 14px; color: var(--muted); }.security-people .actions { align-items: center; gap: 25px; }.security-people .text-link { margin: 0; }
.security-home .security-contact { border-top: 2px solid #19323a; display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-block: 45px; }.security-contact h2 { margin-top: 12px; }.security-contact p:not(.eyebrow) { color: var(--muted); font-size: 14px; margin-top: 14px; }
@media(max-width:900px) {
  .security-section-head,.security-retrofit-layout,.security-home .security-people { gap: 30px; }
  .security-equipment .product-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
  .security-paths strong { font-size: 14px; }.security-paths a { padding-inline: 16px; }
  .security-ai-note { flex-wrap: wrap; }.security-retrofit-scope { flex-wrap: wrap; }.security-retrofit-scope p { flex-basis: 70%; }
}
@media(max-width:620px) {
  .security-home .section { padding: 43px 24px; }
  .security-home .mission-hero { min-height: 730px; align-items: flex-end; }
  .security-home .mission-hero-inner { padding: 260px 24px 90px; }
  .security-home .mission-hero:before { background: linear-gradient(0deg,rgba(9,26,33,.98),rgba(9,26,33,.82) 49%,rgba(9,26,33,.1)); }
  .security-home .mission-hero h1 { font-size: clamp(40px,10.7vw,62px); }
  .security-home .mission-hero-lead { font-size: 17px; margin-top: 20px; }.security-home .mission-hero-belief { font-size: 13px; }
  .security-hero-index { width: calc(100% - 48px); gap: 18px; font-size: 7px; letter-spacing: .06em; bottom: 20px; padding-top: 14px; }
  .security-home .security-paths { display: block; padding-block: 8px; }.security-paths a,.security-paths a:first-child { display: block; padding: 17px 0; border: 0; border-bottom: 1px solid var(--line); }.security-paths span { margin-bottom: 6px; }.security-paths strong { font-size: 16px; }
  .security-section-head,.security-retrofit-layout,.security-home .security-people { grid-template-columns: 1fr; gap: 24px; }.security-section-head>.text-link { justify-self: start; margin: 0; }
  .security-response-steps { grid-template-columns: 1fr; gap: 20px; }.security-response-steps li { border-top-width: 1px; }
  .security-ai-note { display: block; }.security-ai-note strong { max-width: none; }.security-ai-note p { margin: 10px 0; }
  .security-installation img { aspect-ratio: 1.4; }.security-retrofit-scope { display: block; }.security-retrofit-scope p { margin: 10px 0; }
  .security-equipment .product-list { gap: 26px 16px; }.security-equipment .product-photo img,.security-equipment .product-link:first-child .product-photo img { height: 150px; padding: 12px; }.security-equipment .product-link h3 { font-size: 17px; }.security-equipment .product-link p { font-size: 11px; }
  .security-mobile { gap: 18px; align-items: flex-start; }.security-mobile>img { width: 75px; height: 100px; }.security-mobile h3 { font-size: 19px; }
  .security-home .home-calculator { padding-top: 0; }
  .security-people>img,.security-people>.freeze-frame { height: 240px; }
  .security-home .security-contact { display: block; }.security-contact .button { margin-top: 25px; }
}
