/* Global reset */
*,
*::before,
*::after { box-sizing: border-box; margin: 0; padding: 0; }
html{min-height:100%;scroll-behavior:smooth;overflow-x:clip;}
body{min-height:100vh;overflow-x:clip;}
:root{
  --bg: #050505;
  --panel: #0d0f10;
  --panel-soft: #121416;
  --text: #ffffff;
  --muted: #d4d4d4;
  --muted-2: #8f949b;
  --orange: #f97316;
  --orange-dark: #ea580c;
  --logo-blue: #0393ca;
  --border: rgba(255,255,255,0.14);
  --border-soft: rgba(255,255,255,0.08);
  --shadow: 0 24px 60px rgba(0,0,0,0.45);
  --font-display: "Staatliches", Impact, "Arial Black", sans-serif;
  --font-heading: "Barlow Condensed", Impact, "Arial Black", sans-serif;
  --font-body: "Inter", Arial, sans-serif;
  --container: 1540px;
  --site-max:1180px;
  --site-wide:1360px;
  --gutter:clamp(1rem, 4vw, 4rem);
  --section-y:clamp(3.5rem, 8vw, 7rem);
  --section-y-tight:clamp(2.5rem, 6vw, 4.5rem);
  --card-radius:16px;
  --touch-target:44px;
  --css-orange: #f97316;
  --css-orange-dark: #ea580c;
  --css-black: #050505;
  --css-charcoal: #0d0f10;
  --css-panel: rgba(13, 15, 16, 0.82);
  --css-panel-solid: #101214;
  --css-white: #ffffff;
  --css-off-white: #f7f4ee;
  --css-text: #111111;
  --css-muted: #5f6368;
  --css-muted-light: #d1d5db;
  --css-muted-dark: #8f949b;
  --css-footer-bg: #080a0c;
  --css-footer-panel: #111315;
  --css-footer-muted: #cfd3d8;
  --css-border-soft: rgba(255, 255, 255, 0.08);
  --css-border: rgba(0, 0, 0, 0.1);
  --css-border-dark: rgba(255, 255, 255, 0.16);
  --css-border-orange: rgba(249, 115, 22, 0.7);
  --icon-shield:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z'/%3E%3C/svg%3E");
  --icon-shield-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10Z'/%3E%3Cpath d='m9 12 2 2 4-5'/%3E%3C/svg%3E");
  --icon-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='black' d='m85.5999985 17.8999996h-.1999969c-12.8000031 0-25.2000008-5.3999996-33.9000016-14.7999997-.7999992-.8-2.2999992-.8-3 0-8.7000008 9.4000001-21.1000004 14.7999997-33.8999977 14.7999997h-.1999998c-1.1000013 0-2.1000004.8999996-2.1000004 2.1000004v22.7000008c0 18.7000008 9.3000002 36.0999947 24.7999954 46.4999962l11.7000008 7.9000015c.3000002.1999969.7000017.4000015 1.2000017.4000015s.7999992-.0999985 1.2000008-.4000015l11.7000008-7.9000015c15.5-10.4000015 24.7999954-27.7999954 24.7999954-46.4999962v-22.8000012c-.0999985-1.1000004-1.0000001-2-2.0999985-2zm-21.6536141 26.0360661-14.6038894 15.8556518c-.7510605.834507-1.8359184 1.2517624-2.9207802 1.2517624-1.0848579 0-2.1697197-.5007057-2.9207764-1.2517624l-7.3436661-7.9278259c-1.5021172-1.6690178-1.4186668-4.1725426.250351-5.6746559 1.669014-1.5021133 4.1725349-1.418663 5.6746483.2503548l4.4228935 4.7566948 11.6831131-12.6010743c1.5021133-1.669014 4.0056381-1.7524643 5.6746559-.250351 1.5021172 1.4186669 1.5855675 3.9221879.0834503 5.5912057z'/%3E%3C/svg%3E");
  --icon-camera:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3Z'/%3E%3Ccircle cx='12' cy='13' r='3'/%3E%3C/svg%3E");
  --icon-video:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 8-6 4 6 4V8Z'/%3E%3Crect x='2' y='6' width='14' height='12' rx='2'/%3E%3C/svg%3E");
  --icon-bell:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8a6 6 0 0 1 12 0c0 7 3 7 3 9H3c0-2 3-2 3-9'/%3E%3Cpath d='M10 21h4'/%3E%3C/svg%3E");
  --icon-alert:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0Z'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
  --icon-flame:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 14.5A4.5 4.5 0 0 0 13 22a6 6 0 0 0 4.7-9.7c-.8-1-1.9-1.8-2.2-3.3-.2-1.2.2-2.6.8-4-2.8 1-5 3.2-5.3 6.2-.9-.8-1.3-2-1.2-3.2-2 1.5-3.2 4.1-1.3 6.5Z'/%3E%3C/svg%3E");
  --icon-droplet:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22a7 7 0 0 0 7-7c0-5-7-13-7-13S5 10 5 15a7 7 0 0 0 7 7Z'/%3E%3C/svg%3E");
  --icon-lock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3Cpath d='M12 15v2'/%3E%3C/svg%3E");
  --icon-key:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7.5' cy='14.5' r='3.5'/%3E%3Cpath d='m10 12 9-9 2 2-2 2 2 2-2 2-2-2-4.5 4.5'/%3E%3C/svg%3E");
  --icon-home:url("assets/residential-icon.svg");
  --icon-building:url("assets/commercial-icon.svg");
  --icon-landmark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 9 9-6 9 6H3Z'/%3E%3Cpath d='M5 9v9M9 9v9M15 9v9M19 9v9'/%3E%3Cpath d='M3 18h18M2 21h20'/%3E%3C/svg%3E");
  --icon-users:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
  --icon-user-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='m16 11 2 2 4-5'/%3E%3C/svg%3E");
  --icon-heart:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8l1 1L12 21l7.8-7.6 1-1a5.5 5.5 0 0 0 0-7.8Z'/%3E%3C/svg%3E");
  --icon-headset:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 18v-6a9 9 0 0 1 18 0v6'/%3E%3Cpath d='M21 19a2 2 0 0 1-2 2h-3v-6h5v4Z'/%3E%3Cpath d='M3 19a2 2 0 0 0 2 2h3v-6H3v4Z'/%3E%3Cpath d='M15 21h-3'/%3E%3C/svg%3E");
  --icon-wrench:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5 5L3 18l3 3 6.7-6.7a4 4 0 0 0 5-5l-2.4 2.4-2-2 2.4-2.4Z'/%3E%3C/svg%3E");
  --icon-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
  --icon-clipboard:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='2'/%3E%3Cpath d='M9 4a3 3 0 0 1 6 0'/%3E%3Cpath d='M9 9h6M9 13h6M9 17h3'/%3E%3C/svg%3E");
  --icon-clipboard-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='2'/%3E%3Cpath d='M9 4a3 3 0 0 1 6 0'/%3E%3Cpath d='m9 14 2 2 4-5'/%3E%3C/svg%3E");
  --icon-calendar:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='17' rx='2'/%3E%3Cpath d='M8 2v4M16 2v4M3 10h18'/%3E%3C/svg%3E");
  --icon-phone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 2 .7 2.9a2 2 0 0 1-.5 2.1L8 10a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.5c.9.3 1.9.6 2.9.7a2 2 0 0 1 1.7 2Z'/%3E%3C/svg%3E");
  --icon-phone-solid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19.95 21c-2.14 0-4.25-.47-6.32-1.4a18.7 18.7 0 0 1-5.48-3.75 18.7 18.7 0 0 1-3.75-5.48A15.6 15.6 0 0 1 3 4.05c0-.58.2-1.07.59-1.46A2 2 0 0 1 5.05 2h3.08c.47 0 .89.16 1.25.47.36.31.58.7.66 1.17l.5 2.68c.07.43.05.8-.06 1.12-.11.32-.3.59-.56.82L8.1 9.98a14.48 14.48 0 0 0 5.92 5.92l1.75-1.75c.25-.25.58-.44.98-.56.4-.12.79-.15 1.17-.08l2.63.53c.47.1.86.34 1.16.7.3.36.45.77.45 1.23v3.08c0 .58-.2 1.07-.59 1.46-.4.33-.94.49-1.62.49Z'/%3E%3C/svg%3E");
  --icon-map-pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  --icon-mail:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");
  --icon-arrow-right:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E");
  --icon-instagram:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M17.5 6.5h.01'/%3E%3C/svg%3E");
  --icon-facebook:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M14 8h3V4h-3c-3.3 0-5 2-5 5v3H6v4h3v6h4v-6h3.2l.8-4h-4V9c0-.7.3-1 1-1Z'/%3E%3C/svg%3E");
  --icon-smartphone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='2' width='10' height='20' rx='2'/%3E%3Cpath d='M11 18h2'/%3E%3C/svg%3E");
  --icon-car:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 17h14l-1-6a3 3 0 0 0-3-2H9a3 3 0 0 0-3 2l-1 6Z'/%3E%3Cpath d='M7 17v2M17 17v2M6 13h12'/%3E%3Ccircle cx='8' cy='17' r='1'/%3E%3Ccircle cx='16' cy='17' r='1'/%3E%3C/svg%3E");
  --icon-package:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 7 9-4 9 4-9 4-9-4Z'/%3E%3Cpath d='M3 7v10l9 4 9-4V7'/%3E%3Cpath d='M12 11v10'/%3E%3C/svg%3E");
  --icon-moon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12.8A8.5 8.5 0 1 1 11.2 3 6.5 6.5 0 0 0 21 12.8Z'/%3E%3C/svg%3E");
  --icon-cable:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7V4a2 2 0 0 1 2-2h1'/%3E%3Cpath d='M17 17v3a2 2 0 0 1-2 2h-1'/%3E%3Cpath d='M8 7h8a4 4 0 0 1 0 8H8a4 4 0 0 1 0-8Z'/%3E%3Cpath d='M8 11h8'/%3E%3C/svg%3E");
  --icon-network:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='2' width='6' height='6' rx='1'/%3E%3Crect x='3' y='16' width='6' height='6' rx='1'/%3E%3Crect x='15' y='16' width='6' height='6' rx='1'/%3E%3Cpath d='M12 8v4M6 16v-2h12v2'/%3E%3C/svg%3E");
  --icon-tag:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4 13.4 20.6a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8Z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3C/svg%3E");
  --icon-hardhat:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14a8 8 0 0 1 16 0'/%3E%3Cpath d='M9 4v8M15 4v8M3 14h18v4H3z'/%3E%3C/svg%3E");
  --icon-route:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='19' r='3'/%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Cpath d='M9 19h5a4 4 0 0 0 0-8h-4a4 4 0 0 1 0-8h5'/%3E%3C/svg%3E");
  --icon-compass:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m16 8-2.2 5.8L8 16l2.2-5.8L16 8Z'/%3E%3C/svg%3E");
  --icon-book:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20'/%3E%3Cpath d='M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2Z'/%3E%3Cpath d='M9 6h7M9 10h7'/%3E%3C/svg%3E");
  --icon-activity:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-4l-3 8L9 4l-3 8H2'/%3E%3C/svg%3E");
  --icon-zap:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2 3 14h7l-1 8 10-12h-7l1-8Z'/%3E%3C/svg%3E");
  --icon-glass:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='1'/%3E%3Cpath d='M4 12h5l-2 4M20 9h-6l2-4.5M12 4v6l-3.5 2'/%3E%3C/svg%3E");
  --icon-bulb:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 14c.66-.66 1.5-1.5 1.5-3.5a4.5 4.5 0 1 0-9 0c0 2 .84 2.84 1.5 3.5.6.6 1 1.42 1 2.3V17h4v-.7c0-.88.4-1.7 1-2.3Z'/%3E%3Cpath d='M9 20h6'/%3E%3Cpath d='M10 23h4'/%3E%3C/svg%3E");
  --icon-eye:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
  --icon-thumbs-up:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 22V11M2 13v7a2 2 0 0 0 2 2h13.4a2 2 0 0 0 2-1.6l1.4-7A2 2 0 0 0 19 11h-5.6l.9-4.5a1.7 1.7 0 0 0-3-1.4L7 11'/%3E%3C/svg%3E");
  --icon-comment:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 11.5a8.38 8.38 0 0 1-8.9 8.4 8.5 8.5 0 0 1-4-1l-4.6 1 1-4.6a8.5 8.5 0 0 1-1-4A8.38 8.38 0 0 1 12.1 1a8.4 8.4 0 0 1 8.9 8.5Z'/%3E%3C/svg%3E");
  --icon-garage:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10 12 3l9 7'/%3E%3Cpath d='M5 10.5V21h14V10.5'/%3E%3Cpath d='M5 14.5h14M5 18h14'/%3E%3C/svg%3E");
  --icon-blinds:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='1'/%3E%3Cpath d='M4 8h16M4 12h16M4 16h16'/%3E%3Cpath d='M10 16v5'/%3E%3C/svg%3E");
  --icon-thermometer:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4a2 2 0 0 0-4 0v10.5a4 4 0 1 0 4 0Z'/%3E%3Cpath d='M12 15v-5'/%3E%3C/svg%3E");
}

/* ================= Product-pair carousel (one slide, two equal panels) ================= */
.product-pair-carousel{
  min-width:0;
  width:100%;
}

.product-pair-carousel__viewport{
  width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior-inline:contain;
  scrollbar-width:thin;
  scrollbar-color:rgba(249,115,22,.3) rgba(255,255,255,.025);
}

.product-pair-carousel__viewport::-webkit-scrollbar{height:4px}
.product-pair-carousel__viewport::-webkit-scrollbar-track{background:rgba(255,255,255,.025)}
.product-pair-carousel__viewport::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(249,115,22,.3)}

.product-pair-carousel__track{
  display:flex;
  align-items:stretch;
  width:100%;
  min-width:0;
  gap:0;
}

.product-pair-card{
  flex:0 0 100%;
  width:100%;
  min-width:100%;
  height:clamp(270px, 18vw, 320px);
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  scroll-snap-align:start;
  scroll-snap-stop:always;
  overflow:hidden;
  background:linear-gradient(135deg, rgba(8,20,26,.97), rgba(5,11,15,.99));
  border-radius:0 0 8px 8px;
}

.product-pair-card__product,
.product-pair-card__support{
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(120px, 34%) minmax(0, 66%);
  grid-template-rows:minmax(0, 1fr) auto;
  overflow:hidden;
}

.product-pair-card__product + .product-pair-card__product,
.product-pair-card__product + .product-pair-card__support,
.product-pair-card__support + .product-pair-card__product{
  border-left:1px solid rgba(255,255,255,.11);
}

/* ---- Media column: restrained, consistent placeholder ---- */
.product-panel__media{
  position:relative;
  grid-column:1;
  grid-row:1;
  min-width:0;
  min-height:0;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at center, rgba(0,168,248,.08), transparent 58%),
    rgba(4,14,19,.78);
}

.product-panel__media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
  padding:clamp(.65rem, 1vw, 1rem);
}

.product-panel__media.is-application-photo img{
  object-fit:cover;
  padding:0;
}

.product-panel__media::before{
  content:"";
  display:block;
  width:clamp(42px, 4vw, 64px);
  height:clamp(42px, 4vw, 64px);
  background:currentColor;
  color:var(--logo-blue, #00A8F8);
  opacity:.26;
  mask:var(--icon, var(--icon-shield)) center / contain no-repeat;
  -webkit-mask:var(--icon, var(--icon-shield)) center / contain no-repeat;
}

#perimeter-entry-points .product-panel__media{--icon:var(--icon-lock);}
#interior-detection .product-panel__media{--icon:var(--icon-activity);}
#gate-driveways .product-panel__media{--icon:var(--icon-garage);}
#alarm-verification .product-panel__media{--icon:var(--icon-camera);}
#fire-protection .product-panel__media{--icon:var(--icon-flame);}
#water-protection .product-panel__media{--icon:var(--icon-droplet);}
#temperature-monitoring .product-panel__media{--icon:var(--icon-thermometer);}
#air-quality-gas-monitoring .product-panel__media{--icon:var(--icon-alert);}
#smart-home-integration .product-panel__media{--icon:var(--icon-smartphone);}
#alarm-managed-services .product-panel__media{--icon:var(--icon-network);}

/* ---- Content column: top-aligned, fixed order, clamped heights ---- */
.product-panel__content{
  grid-column:2;
  grid-row:1;
  min-width:0;
  min-height:0;
  padding:clamp(.65rem, .9vw, .9rem);
  overflow:hidden;
  align-content:start;
}

.product-panel__category{
  margin:0 0 4px;
  color:var(--css-orange);
  font-size:8px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.product-panel__model{
  margin:0;
  overflow:hidden;
  color:#fff;
  font-family:var(--font-heading);
  font-size:clamp(.9rem, 1vw, 1.08rem);
  text-overflow:ellipsis;
  white-space:nowrap;
}

.product-panel__name{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  margin:3px 0 6px;
  color:var(--logo-blue);
  font-size:clamp(.72rem, .76vw, .84rem);
  line-height:1.25;
}

.product-panel__price-label{
  display:block;
  color:rgba(255,255,255,.54);
  font-size:9px;
}

.product-panel__price{
  display:block;
  margin:0 0 6px;
  color:var(--logo-blue);
  font-family:var(--font-heading);
  font-size:clamp(1.1rem, 1.3vw, 1.4rem);
}

.product-panel__description{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  margin:0;
  color:rgba(255,255,255,.66);
  font-size:clamp(.7rem, .7vw, .78rem);
  line-height:1.4;
}

.product-panel__best-for{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  margin:6px 0 0;
  color:rgba(255,255,255,.62);
  font-size:clamp(.66rem, .67vw, .74rem);
  line-height:1.35;
}

.product-panel__best-for b{color:#fff}

.product-panel__installed{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
  margin:4px 0 0;
  color:rgba(255,255,255,.5);
  font-size:clamp(.62rem, .64vw, .7rem);
  line-height:1.3;
}

.product-panel__replaces{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
  margin:4px 0 0;
  color:var(--logo-blue);
  font-size:clamp(.6rem, .62vw, .68rem);
  font-style:italic;
  line-height:1.3;
}

.product-panel__installed b{color:rgba(255,255,255,.72)}

.product-panel__tags{
  display:flex;
  flex-wrap:wrap;
  gap:.3rem;
  max-height:40px;
  margin:6px 0 0;
  padding:0;
  overflow:hidden;
  list-style:none;
}

.product-panel__tags li{
  padding:2px 6px;
  border:1px solid rgba(117,170,87,.34);
  border-radius:3px;
  color:rgba(255,255,255,.62);
  font-size:9px;
}

/* ---- Single, full-width product action ---- */
.product-panel__actions{
  grid-column:1 / -1;
  grid-row:2;
  display:grid;
  grid-template-columns:1fr;
  min-width:0;
  padding:.4rem;
  border-top:1px solid rgba(255,255,255,.09);
  background:rgba(0,0,0,.18);
}

.product-panel__details-button{
  width:100%;
  min-width:0;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  border:1px solid rgba(255,255,255,.24);
  border-radius:4px;
  background:transparent;
  color:#fff;
  font-family:var(--font-heading);
  font-size:10px;
  font-weight:700;
  text-decoration:none;
  text-transform:uppercase;
  cursor:pointer;
}

.product-panel__details-button svg{
  flex:0 0 auto;
  width:14px;
  height:14px;
}

/* ---- Support / recommendation panel (odd product counts) ---- */
.product-pair-card__support{
  grid-template-columns:1fr;
  grid-template-rows:minmax(0, 1fr) auto;
  padding:0;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(0,168,248,.1), transparent 56%),
    rgba(5,14,19,.92);
}

.product-pair-card__support-content{
  grid-row:1;
  min-width:0;
  min-height:0;
  padding:clamp(.7rem, 1.1vw, 1.1rem);
  overflow:hidden;
}

.product-pair-card__support-eyebrow{
  margin:0 0 6px;
  color:var(--logo-blue);
  font-family:var(--font-heading);
  font-size:11px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.product-pair-card__support-content h4{
  margin:0;
  overflow:hidden;
  color:#fff;
  font-family:var(--font-heading);
  font-size:clamp(1.1rem, 1.6vw, 1.5rem);
  text-transform:uppercase;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.product-pair-card__support-content h4 + p{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  margin:8px 0 0;
  color:rgba(255,255,255,.68);
  font-size:clamp(.72rem, .76vw, .82rem);
  line-height:1.5;
}

.product-pair-card__support-actions{
  grid-row:2;
  display:grid;
  min-width:0;
  padding:.4rem;
  border-top:1px solid rgba(255,255,255,.09);
  background:rgba(0,0,0,.18);
}

.product-pair-card__support-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  width:100%;
  min-width:0;
  min-height:38px;
  border:1px solid var(--css-orange);
  border-radius:4px;
  color:var(--css-orange);
  font-family:var(--font-heading);
  font-size:10px;
  font-weight:700;
  text-decoration:none;
  text-transform:uppercase;
}

.product-pair-card__support-cta svg{
  flex:0 0 auto;
  width:14px;
  height:14px;
}

@media(min-width:768px) and (max-width:1199px){
  .product-pair-card{height:310px}
  .product-pair-card__product,
  .product-pair-card__support{grid-template-columns:minmax(105px, 31%) minmax(0, 69%)}
}

@media(max-width:767px){
  .product-pair-card{
    height:auto;
    grid-template-columns:1fr;
  }
  .product-pair-card__product,
  .product-pair-card__support{
    grid-template-columns:1fr;
    grid-template-rows:135px minmax(0, 1fr) auto;
    min-height:240px;
  }
  .product-pair-card__product + .product-pair-card__product,
  .product-pair-card__product + .product-pair-card__support{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.11);
  }
  .product-panel__media{grid-column:1;grid-row:1}
  .product-panel__content{grid-column:1;grid-row:2}
  .product-panel__actions{grid-column:1;grid-row:3}
  .product-pair-card__support-content{grid-row:1}
  .product-pair-card__support-actions{grid-row:2}
}

/* Uniform replaceable product media frames */
.alarm-protection-section .product-card__media{
  width:100%;
  aspect-ratio:3 / 6;
  align-self:start;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.07);
}

.alarm-protection-section .product-card__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.alarm-protection-section .product-card__media.is-product-cutout img{
  object-fit:contain;
  padding:.75rem;
}

img,
picture,
video,
canvas,
svg{
  display:block;
  max-width:100%;
}

button,
input,
select,
textarea{
  font:inherit;
}

a,
button,
input,
select,
textarea{
  -webkit-tap-highlight-color:rgba(249,115,22,0.2);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:2px solid var(--logo-blue);
  outline-offset:3px;
}

h1,
h2,
h3{
  text-wrap:balance;
}

p,
li{
  text-wrap:pretty;
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:0.01ms !important;
  }
}

/* Residential landing page rebuild.
   Icon and image slots are intentionally comment-friendly for final SVG/image swaps. */
.residential-page{
  background:var(--css-black);
  color:var(--css-white);
  overflow:hidden;
}

.residential-page a:focus-visible{
  outline:2px solid var(--logo-blue);
  outline-offset:4px;
}

.residential-hero{
  position:relative;
  overflow:hidden;
  min-height:0;
  background:
    radial-gradient(circle at 50% 0%, rgba(249,115,22,0.16), transparent 36%),
    radial-gradient(circle at 18% 22%, rgba(3,147,202,0.09), transparent 30%),
    linear-gradient(180deg, #050505 0%, #090b0c 58%, #050505 100%);
}

.residential-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.026) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,0.018) 1px, transparent 1px);
  background-size:118px 118px;
  opacity:0.42;
  mask-image:linear-gradient(180deg, rgba(0,0,0,0.74), transparent 88%);
  z-index:1;
}

.residential-hero__inner{
  position:relative;
  z-index:2;
  width:min(100% - 64px, 1080px);
  min-height:0;
  margin-inline:auto;
  display:grid;
  grid-template-columns:1fr;
  align-items:center;
  gap:28px;
  padding:58px 0 48px;
  text-align:center;
}

.residential-hero__content{
  position:relative;
  z-index:3;
  max-width:940px;
  margin-inline:auto;
}

.residential-hero__eyebrow,
.residential-section-header h2,
.estimate-checklist__title,
.local-trust-panel__title,
.residential-final-cta__title{
  font-family:var(--font-display);
  font-weight:400;
  letter-spacing:0.055em;
  text-transform:uppercase;
}

.residential-hero__eyebrow{
  margin-bottom:14px;
  color:var(--css-orange);
  font-size:16px;
}

.residential-hero__title{
  max-width:900px;
  margin:0 auto 16px;
  color:var(--css-white);
  font-family:var(--font-display);
  font-size:clamp(3.25rem, 5vw, 5.7rem);
  font-weight:400;
  letter-spacing:0.035em;
  line-height:0.92;
  text-transform:uppercase;
  text-shadow:0 2px 0 rgba(0,0,0,0.9), 0 12px 26px rgba(0,0,0,0.6);
}

.residential-hero__title span{
  display:block;
  color:var(--css-orange);
}

.residential-hero__text{
  max-width:760px;
  margin:0 auto 22px;
  color:#eef1f3;
  font-size:18px;
  line-height:1.48;
}

.residential-hero__actions,
.residential-final-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  align-items:center;
}

.residential-hero__actions{
  justify-content:center;
}

.residential-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:58px;
  padding:16px 26px;
  border-radius:7px;
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1;
  letter-spacing:0.06em;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}

.residential-button:hover{
  transform:translateY(-2px);
}

.residential-button--primary{
  border:1px solid var(--css-orange);
  background:linear-gradient(180deg, var(--css-orange), var(--css-orange-dark));
  box-shadow:0 18px 38px rgba(249,115,22,0.24);
  color:var(--css-white);
}

.residential-button--outline{
  border:1px solid rgba(255,255,255,0.62);
  background:rgba(5,5,5,0.24);
  color:var(--css-white);
}

.residential-button--outline:hover,
.residential-button--outline:focus-visible{
  border-color:var(--css-orange);
  color:var(--css-orange);
}

.residential-button__icon{
  display:block;
  width:22px;
  height:22px;
  flex:0 0 22px;
  border:0;
  border-radius:0;
  color:inherit;
  transition:color .18s ease, background .18s ease, transform .18s ease;
}

.residential-button__icon--plan{
  background:currentColor;
  -webkit-mask:url("assets/icon-plan-clipboard.svg") center / contain no-repeat;
  mask:url("assets/icon-plan-clipboard.svg") center / contain no-repeat;
}

.residential-button__icon--phone-solid{
  fill:currentColor;
}

.residential-button__icon--phone-solid path{
  fill:currentColor;
}

.residential-button:hover .residential-button__icon--plan,
.residential-button:focus-visible .residential-button__icon--plan{
  background:var(--logo-blue);
  transform:translateX(2px);
}

.residential-button:hover .residential-button__icon--phone-solid,
.residential-button:focus-visible .residential-button__icon--phone-solid{
  color:var(--logo-blue);
  transform:translateX(2px);
}

.residential-hero__verticals{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, max-content));
  gap:16px 24px;
  align-items:center;
  justify-content:center;
  margin-top:30px;
  list-style:none;
}

.residential-hero__vertical{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
  letter-spacing:0.055em;
  line-height:1.05;
  text-transform:uppercase;
}

.residential-icon{
  --res-icon:var(--icon-shield);
  position:relative;
  display:inline-grid;
  place-items:center;
  width:54px;
  height:54px;
  flex:0 0 auto;
  border:1.5px solid rgba(249,115,22,0.82);
  border-radius:8px;
  color:var(--css-orange);
  background:
    radial-gradient(circle at 50% 12%, rgba(249,115,22,0.16), transparent 58%),
    rgba(255,255,255,0.018);
  transition:color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}

.residential-icon::before{
  content:"";
  width:58%;
  height:58%;
  display:block;
  background:currentColor;
  -webkit-mask:var(--res-icon) center / contain no-repeat;
  mask:var(--res-icon) center / contain no-repeat;
}

.residential-icon--family{--res-icon:url("assets/residential-hero-family-icon.svg");}
.residential-icon--cottage{--res-icon:url("assets/residential-hero-cottage-icon.svg");}
.residential-icon--rental{--res-icon:url("assets/residential-hero-rental-icon.svg");}
.residential-icon--smart-home{--res-icon:url("assets/residential-hero-smart-home-icon.svg");}
.residential-icon--phone{--res-icon:var(--icon-phone);}
.residential-icon--shield,
.residential-icon--trusted{--res-icon:var(--icon-shield-check);}
.residential-icon--home-shield{--res-icon:var(--icon-home);}
.residential-icon--entry{--res-icon:var(--icon-key);}
.residential-icon--routines{--res-icon:var(--icon-users);}
.residential-icon--life-safety{--res-icon:var(--icon-flame);}
.residential-icon--visibility{--res-icon:var(--icon-camera);}
.residential-icon--control{--res-icon:var(--icon-smartphone);}
.residential-icon--check{--res-icon:var(--icon-check);}
.residential-icon--local{--res-icon:var(--icon-map-pin);}
.residential-icon--local-owned{--res-icon:url("assets/local-owned-village-icon.svg");}
.residential-icon--support{--res-icon:var(--icon-headset);}
.residential-icon--install{--res-icon:var(--icon-wrench);}
.residential-icon--monitoring{--res-icon:var(--icon-shield);}

.residential-hero__media{
  position:relative;
  min-height:520px;
  align-self:stretch;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  margin-right:-28px;
}

.residential-hero__image{
  position:absolute;
  inset:0 0 0 10%;
  overflow:hidden;
  border-radius:8px 0 0 8px;
  background:
    linear-gradient(135deg, rgba(249,115,22,0.12), rgba(3,147,202,0.07)),
    #111315;
  box-shadow:0 30px 80px rgba(0,0,0,0.44);
}

.residential-hero__image::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(5,5,5,0.8), rgba(5,5,5,0.12) 42%, rgba(5,5,5,0.5)),
    linear-gradient(180deg, rgba(5,5,5,0.22), rgba(5,5,5,0.42));
  pointer-events:none;
}

.residential-hero__image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 45%;
  filter:saturate(0.92) contrast(1.03) brightness(0.78);
}

.residential-hero__phone{
  position:relative;
  z-index:2;
  width:min(230px, 28vw);
  aspect-ratio:0.52;
  margin-right:8px;
  border:1px solid rgba(255,255,255,0.24);
  border-radius:32px;
  background:#050505;
  box-shadow:0 26px 64px rgba(0,0,0,0.58);
  padding:14px;
}

.residential-hero__phone::before{
  content:"";
  position:absolute;
  top:12px;
  left:50%;
  width:42%;
  height:16px;
  border-radius:999px;
  background:#0e1012;
  transform:translateX(-50%);
  z-index:2;
}

.residential-phone-ui{
  height:100%;
  padding:38px 14px 16px;
  border-radius:22px;
  background:
    radial-gradient(circle at 50% 34%, rgba(0,255,90,0.18), transparent 22%),
    linear-gradient(180deg, #101315, #050505);
  border:1px solid rgba(255,255,255,0.08);
  color:var(--css-white);
  text-align:center;
}

.residential-phone-ui__top{
  display:grid;
  gap:3px;
  margin-bottom:20px;
  text-align:left;
  font-size:12px;
}

.residential-phone-ui__top strong{
  color:#5dff7a;
  font-size:11px;
  letter-spacing:0.08em;
}

.residential-phone-ui__shield{
  width:88px;
  height:88px;
  margin:0 auto 16px;
  border-color:#12c64a;
  border-radius:50%;
  color:var(--css-white);
  background:radial-gradient(circle, rgba(18,198,74,0.2), rgba(18,198,74,0.03));
  box-shadow:0 0 32px rgba(18,198,74,0.28);
}

.residential-phone-ui p{
  margin:0 0 16px;
  color:#e7ecec;
  font-size:12px;
}

.residential-phone-ui__grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:8px;
}

.residential-phone-ui__grid span{
  min-height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,0.1);
  border-radius:8px;
  background:rgba(255,255,255,0.05);
  color:#d9dcde;
  font-size:10px;
}

.home-planning{
  padding:48px 0 54px;
  background:
    radial-gradient(circle at 10% 0%, rgba(249,115,22,0.08), transparent 28%),
    linear-gradient(180deg, #101214, #08090a);
}

.home-planning__inner,
.residential-setups__inner,
.estimate-section__inner{
  width:min(100% - 64px, 1540px);
  margin-inline:auto;
}

.residential-section-header{
  text-align:center;
}

.residential-section-header h2{
  position:relative;
  display:inline-block;
  margin:0 0 34px;
  color:inherit;
  font-size:clamp(2rem, 3vw, 3.65rem);
  line-height:0.94;
}

.residential-section-header h2::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-16px;
  width:54px;
  height:3px;
  border-radius:999px;
  background:var(--css-orange);
  transform:translateX(-50%);
}

.home-planning__grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:22px;
}

.home-planning-card{
  min-height:250px;
  padding:24px 18px 22px;
  border:1px solid rgba(255,255,255,0.16);
  border-radius:8px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,0.055), transparent 48%),
    rgba(255,255,255,0.026);
  box-shadow:0 20px 42px rgba(0,0,0,0.22);
  text-align:center;
}

.home-planning-card__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:68px;
  height:68px;
  margin:0 auto 18px;
  border:0;
  background:transparent;
  color:var(--css-orange);
  transition:color 180ms ease, transform 180ms ease;
}

.home-planning-card:hover .home-planning-card__icon,
.home-planning-card:focus-within .home-planning-card__icon{
  color:var(--logo-blue);
  transform:translateY(-2px);
}

.home-planning-card__icon::before{
  width:72%;
  height:72%;
}

.home-planning-card__svg{
  display:block;
  width:66px;
  height:66px;
  fill:currentColor;
}

.home-planning-card__svg path{
  fill:currentColor;
}

.home-planning-card__title{
  margin:0 0 12px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:26px;
  font-weight:800;
  letter-spacing:0.055em;
  line-height:1.03;
  text-transform:uppercase;
}

.home-planning-card__number{
  color:var(--css-white);
}

.home-planning-card__text{
  margin:0;
  color:#dde1e4;
  font-size:16px;
  line-height:1.42;
}

.residential-setups{
  padding:62px 0 72px;
  background:
    radial-gradient(circle at 8% 12%, rgba(249,115,22,0.08), transparent 28%),
    linear-gradient(180deg, #fffdf8, var(--css-off-white));
  color:var(--css-black);
}

.residential-setups__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
}

.residential-setup-card{
  overflow:hidden;
  border:1px solid rgba(0,0,0,0.13);
  border-radius:8px;
  background:var(--css-white);
  box-shadow:0 18px 38px rgba(0,0,0,0.09);
  transition:border-color .18s ease, box-shadow .18s ease;
}

.residential-setup-card:hover,
.residential-setup-card:focus-within{
  border-color:var(--css-orange);
  box-shadow:0 20px 42px rgba(0,0,0,0.12), 0 0 0 1px rgba(249,115,22,0.16);
}

.residential-setup-card__image,
.residential-image-slot{
  position:relative;
  height:290px;
  min-height:290px;
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(249,115,22,0.22), rgba(3,147,202,0.13)),
    linear-gradient(150deg, #2b3136, #beb9ad 58%, #121518);
}

.residential-image-slot::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,0.22), transparent 22%),
    linear-gradient(135deg, transparent 0 46%, rgba(255,255,255,0.24) 46.5% 47%, transparent 47.5% 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.06) 0 1px, transparent 1px 18px);
  opacity:0.86;
}

.residential-image-slot--starter::before,
.residential-image-slot--family::before,
.residential-image-slot--camera::before,
.residential-image-slot--cottage::before,
.residential-image-slot--full-home::before,
.residential-image-slot--surveillance::before{
  opacity:0;
}

.residential-image-slot img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
  filter:saturate(0.92) contrast(1.04);
}

.residential-image-slot--starter img,
.residential-image-slot--cottage img,
.residential-image-slot--full-home img{
  object-position:center 42%;
}

.residential-image-slot--family img{
  object-fit:cover;
  object-position:center 42%;
  background:transparent;
}

.residential-image-slot--camera img{
  object-position:left center;
}

.residential-image-slot--surveillance img{
  object-position:center;
}

.residential-setup-card__body{
  padding:22px 22px 24px;
}

.residential-setup-card__title{
  margin:0 0 10px;
  color:var(--css-black);
  font-family:var(--font-heading);
  font-size:clamp(1.4rem, 1.8vw, 2.05rem);
  font-weight:800;
  letter-spacing:0.052em;
  line-height:0.96;
  text-transform:uppercase;
}

.residential-setup-card__text{
  margin:0 0 18px;
  color:#1f2529;
  font-size:16px;
  line-height:1.42;
}

.residential-setup-card__list{
  --setup-check-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m11.982 14.982c-.265 0-.52-.105-.707-.293l-2.982-2.982c-.391-.391-.391-1.023 0-1.414s1.023-.391 1.414 0l2.275 2.275 7.293-7.293c.391-.391 1.023-.391 1.414 0s.391 1.023 0 1.414l-8 8c-.188.188-.442.293-.707.293z'/%3E%3C/svg%3E");
  --setup-check-circle-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 20c-4.411 0-8-3.589-8-8s3.589-8 8-8c1.193 0 2.342.257 3.414.763.499.236.713.832.477 1.331-.236.5-.832.715-1.332.478-.802-.38-1.663-.572-2.559-.572-3.309 0-6 2.691-6 6s2.691 6 6 6 6-2.691 6-6c0-.553.448-1 1-1s1 .447 1 1c0 4.411-3.589 8-8 8z'/%3E%3C/svg%3E");
  display:grid;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}

.residential-setup-card__list li{
  position:relative;
  padding-left:29px;
  color:#181d20;
  font-size:15px;
  line-height:1.32;
}

.residential-setup-card__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:22px;
  height:22px;
  background:var(--css-orange);
  transition:background .18s ease;
  -webkit-mask:var(--setup-check-circle-icon) center / contain no-repeat;
  mask:var(--setup-check-circle-icon) center / contain no-repeat;
}

.residential-setup-card__list li::after{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:22px;
  height:22px;
  background:var(--css-orange);
  -webkit-mask:var(--setup-check-icon) center / contain no-repeat;
  mask:var(--setup-check-icon) center / contain no-repeat;
}

.residential-setup-card:hover .residential-setup-card__list li::before,
.residential-setup-card:focus-within .residential-setup-card__list li::before{
  background:var(--logo-blue);
}

.estimate-section{
  padding:52px 0 38px;
  background:
    radial-gradient(circle at 84% 18%, rgba(249,115,22,0.09), transparent 28%),
    radial-gradient(circle at 14% 78%, rgba(3,147,202,0.07), transparent 28%),
    linear-gradient(180deg, #090b0c, #050505);
  color:var(--css-white);
}

.estimate-section__grid{
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(360px, 0.92fr);
  gap:52px;
  align-items:start;
}

.estimate-checklist__title{
  margin:0 0 24px;
  color:var(--css-white);
  font-size:clamp(2.2rem, 3.1vw, 4.1rem);
  line-height:0.92;
}

.estimate-checklist__list{
  display:grid;
  gap:0;
  list-style:none;
}

.estimate-checklist__item{
  display:grid;
  grid-template-columns:40px minmax(0, 1fr);
  gap:16px;
  align-items:start;
  padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,0.12);
}

.estimate-checklist__icon{
  width:30px;
  height:30px;
  border-radius:999px;
}

.estimate-checklist__icon::before{
  width:54%;
  height:54%;
}

.estimate-checklist__content h3{
  margin:0 0 3px;
  color:var(--css-white);
  font-size:17px;
  font-weight:800;
}

.estimate-checklist__content p{
  margin:0;
  color:#cdd2d6;
  font-size:14px;
  line-height:1.32;
}

.local-trust-panel{
  position:relative;
  overflow:hidden;
  padding:36px 38px;
  border:1px solid rgba(255,255,255,0.16);
  border-radius:8px;
  background:
    radial-gradient(circle at 0% 0%, rgba(249,115,22,0.12), transparent 32%),
    linear-gradient(145deg, rgba(255,255,255,0.055), rgba(255,255,255,0.018));
  box-shadow:0 24px 60px rgba(0,0,0,0.22);
}

.nb-icon-panel{
  position:relative;
  display:grid;
  min-height:100%;
  align-self:stretch;
  place-items:center;
  overflow:visible;
  padding:36px 38px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.nb-icon-panel img{
  display:block;
  width:min(118%, 560px);
  height:min(118%, 560px);
  object-fit:contain;
}

.local-trust-panel__map{
  position:absolute;
  inset:auto -22px 18px auto;
  width:190px;
  height:250px;
  opacity:0.11;
  pointer-events:none;
}

.local-trust-panel__map::before{
  content:none;
}

.local-trust-panel__map img,
.business-trust-panel__map img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.local-trust-panel__icon{
  width:76px;
  height:76px;
  margin-bottom:20px;
}

.local-trust-panel__title{
  margin:0 0 12px;
  color:var(--css-white);
  font-size:clamp(2rem, 2.8vw, 3.4rem);
  line-height:0.94;
}

.local-trust-panel__text{
  max-width:620px;
  margin:0 0 24px;
  color:#e3e6e9;
  font-size:16px;
  line-height:1.48;
}

.local-trust-panel__list{
  position:relative;
  z-index:1;
  display:grid;
  gap:16px;
  list-style:none;
}

.local-trust-panel__item{
  display:grid;
  grid-template-columns:44px minmax(0, 1fr);
  gap:14px;
}

.local-trust-panel__item-icon{
  width:40px;
  height:40px;
  border-radius:999px;
}

.local-trust-panel__item h3{
  margin:0 0 3px;
  color:var(--css-white);
  font-size:17px;
  font-weight:800;
}

.local-trust-panel__item p{
  margin:0;
  color:#cdd2d6;
  font-size:14px;
  line-height:1.34;
}

.residential-final-cta{
  margin-top:36px;
  padding:26px 30px 22px;
  border:1px solid var(--css-orange);
  border-radius:8px;
  background:
    radial-gradient(circle at 100% 0%, rgba(249,115,22,0.14), transparent 32%),
    linear-gradient(180deg, rgba(12,14,15,0.96), rgba(5,5,5,0.96));
  box-shadow:0 22px 58px rgba(0,0,0,0.28);
}

.residential-final-cta__inner{
  display:grid;
  grid-template-columns:minmax(260px, 0.9fr) minmax(240px, 0.7fr) minmax(360px, auto);
  gap:28px;
  align-items:center;
}

.residential-final-cta__title{
  margin:0;
  color:var(--css-white);
  font-size:clamp(2rem, 3vw, 4rem);
  line-height:0.95;
}

.residential-final-cta__text{
  margin:0;
  color:#e0e4e6;
  font-size:16px;
  line-height:1.45;
}

.residential-final-cta__phone{
  margin:16px 0 0;
  color:#cdd2d6;
  font-size:14px;
}

.residential-bottom-trust{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
  margin-top:20px;
  list-style:none;
}

.residential-bottom-trust__item{
  display:grid;
  grid-template-columns:38px minmax(0, 1fr);
  gap:12px;
  align-items:center;
  color:#dfe3e6;
}

.residential-bottom-trust__icon{
  width:34px;
  height:34px;
  border:0;
  background:transparent;
}

.residential-bottom-trust__text{
  font-size:14px;
  line-height:1.28;
}

.local-nb-icon-slot{
  overflow:hidden;
}

.local-nb-icon-slot::before,
.residential-icon.local-nb-icon-slot::before,
.commercial-icon.local-nb-icon-slot::before{
  content:none;
}

.local-nb-icon-slot img{
  display:block;
  width:74%;
  height:74%;
  object-fit:contain;
}

.residential-bottom-trust__icon.local-nb-icon-slot img,
.commercial-bottom-trust__icon.local-nb-icon-slot img{
  width:100%;
  height:100%;
}

@media (max-width:1100px){
  .residential-hero__inner{
    grid-template-columns:1fr;
    min-height:auto;
    padding-top:44px;
  }

  .residential-hero__content{
    max-width:900px;
  }

  .residential-hero__media{
    min-height:520px;
    margin-right:0;
  }

  .residential-hero__image{
    inset:0;
    border-radius:8px;
  }

  .home-planning__grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .residential-setups__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .estimate-section__grid,
  .residential-final-cta__inner{
    grid-template-columns:1fr;
  }

  .residential-final-cta__actions{
    justify-content:flex-start;
  }

  .residential-bottom-trust{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:760px){
  .residential-hero__inner,
  .home-planning__inner,
  .residential-setups__inner,
  .estimate-section__inner{
    width:min(100% - 32px, 1540px);
  }

  .residential-hero{
    min-height:auto;
  }

  .residential-hero__inner{
    gap:28px;
    padding:36px 0;
  }

  .residential-hero__title{
    max-width:100%;
    font-size:clamp(2.75rem, 12vw, 3.65rem);
    overflow-wrap:normal;
  }

  .residential-hero__text{
    max-width:100%;
    font-size:16px;
    overflow-wrap:break-word;
  }

  .residential-section-header h2{
    display:block;
    max-width:12ch;
    margin-inline:auto;
    font-size:clamp(1.9rem, 8.5vw, 2.5rem);
    line-height:1;
    white-space:normal;
  }

  .home-planning-card,
  .residential-setup-card,
  .estimate-checklist,
  .local-trust-panel,
  .residential-final-cta,
  .residential-bottom-trust__item{
    min-width:0;
  }

  .home-planning-card__text,
  .residential-setup-card__text,
  .residential-setup-card__list,
  .estimate-checklist__content,
  .local-trust-panel__text,
  .local-trust-panel__item p,
  .residential-final-cta__text,
  .residential-bottom-trust__text{
    max-width:100%;
    overflow-wrap:break-word;
  }

  .residential-hero__actions,
  .residential-final-cta__actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .residential-button{
    width:100%;
    min-width:0;
  }

  .residential-hero__verticals{
    grid-template-columns:1fr 1fr;
    margin-top:30px;
  }

  .residential-hero__vertical{
    font-size:14px;
  }

  .residential-hero__media{
    min-height:390px;
  }

  .residential-hero__phone{
    width:min(138px, 36vw);
    margin-right:16px;
    border-radius:24px;
    padding:10px;
  }

  .residential-phone-ui{
    padding:30px 8px 10px;
  }

  .residential-phone-ui__shield{
    width:62px;
    height:62px;
  }

  .residential-phone-ui__grid{
    gap:5px;
  }

  .residential-phone-ui__grid span{
    min-height:30px;
    font-size:8px;
  }

  .home-planning,
  .residential-setups,
  .estimate-section{
    padding-block:38px;
  }

  .home-planning__grid,
  .residential-setups__grid,
  .residential-bottom-trust{
    grid-template-columns:1fr;
  }

  .home-planning-card{
    min-height:0;
  }

  .residential-setup-card__image,
  .residential-image-slot{
    height:240px;
    min-height:240px;
  }

  .estimate-section__grid{
    gap:28px;
  }

  .local-trust-panel,
  .nb-icon-panel,
  .residential-final-cta{
    padding:24px 18px;
  }

  .estimate-checklist__item{
    grid-template-columns:34px minmax(0, 1fr);
  }
}

/* Commercial landing page rebuild.
   Icon and image slots are intentionally comment-friendly for final SVG/image swaps. */
.commercial-page{
  background:var(--css-black);
  color:var(--css-white);
  overflow:hidden;
}

.commercial-page a:focus-visible{
  outline:2px solid var(--logo-blue);
  outline-offset:4px;
}

.commercial-hero{
  position:relative;
  overflow:hidden;
  min-height:0;
  background:
    radial-gradient(circle at 50% 0%, rgba(249,115,22,0.16), transparent 36%),
    radial-gradient(circle at 18% 22%, rgba(3,147,202,0.09), transparent 30%),
    linear-gradient(180deg, #050505 0%, #090b0c 58%, #050505 100%);
}

.commercial-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.026) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,0.018) 1px, transparent 1px);
  background-size:118px 118px;
  opacity:0.42;
  mask-image:linear-gradient(180deg, rgba(0,0,0,0.74), transparent 88%);
}

.commercial-hero__inner{
  position:relative;
  z-index:2;
  width:min(100% - 64px, 1080px);
  min-height:0;
  margin-inline:auto;
  display:grid;
  grid-template-columns:1fr;
  align-items:center;
  gap:28px;
  padding:58px 0 48px;
  text-align:center;
}

.commercial-hero__content{
  position:relative;
  z-index:3;
  max-width:940px;
  margin-inline:auto;
}

.commercial-hero__eyebrow,
.commercial-section-header h2,
.commercial-estimate-checklist__title,
.business-trust-panel__title,
.commercial-final-cta__title{
  font-family:var(--font-display);
  font-weight:400;
  letter-spacing:0.055em;
  text-transform:uppercase;
}

.commercial-hero__eyebrow{
  margin-bottom:14px;
  color:var(--css-orange);
  font-size:16px;
}

.commercial-hero__title{
  max-width:900px;
  margin:0 auto 16px;
  color:var(--css-white);
  font-family:var(--font-display);
  font-size:clamp(3.25rem, 5vw, 5.7rem);
  font-weight:400;
  letter-spacing:0.035em;
  line-height:0.92;
  text-transform:uppercase;
  text-shadow:0 2px 0 rgba(0,0,0,0.9), 0 12px 26px rgba(0,0,0,0.6);
}

.commercial-hero__title span{
  display:block;
  color:var(--css-orange);
}

.commercial-hero__text{
  max-width:760px;
  margin:0 auto 22px;
  color:#eef1f3;
  font-size:18px;
  line-height:1.48;
}

.commercial-hero__actions,
.commercial-final-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  align-items:center;
}

.commercial-hero__actions{
  justify-content:center;
}

.commercial-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:58px;
  padding:16px 26px;
  border-radius:7px;
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1;
  letter-spacing:0.06em;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}

.commercial-button:hover{
  transform:translateY(-2px);
}

.commercial-button--primary{
  border:1px solid var(--css-orange);
  background:linear-gradient(180deg, var(--css-orange), var(--css-orange-dark));
  box-shadow:0 18px 38px rgba(249,115,22,0.24);
  color:var(--css-white);
}

.commercial-button--outline{
  border:1px solid rgba(255,255,255,0.62);
  background:rgba(5,5,5,0.24);
  color:var(--css-white);
}

.commercial-button--outline:hover,
.commercial-button--outline:focus-visible{
  border-color:var(--css-orange);
  color:var(--css-orange);
}

.commercial-button__icon{
  display:block;
  width:22px;
  height:22px;
  flex:0 0 22px;
  border:0;
  border-radius:0;
  color:inherit;
  transition:color .18s ease, background .18s ease, transform .18s ease;
}

.commercial-button__icon--plan{
  background:currentColor;
  -webkit-mask:url("assets/icon-plan-clipboard.svg") center / contain no-repeat;
  mask:url("assets/icon-plan-clipboard.svg") center / contain no-repeat;
}

.commercial-button__icon--phone-solid{
  fill:currentColor;
}

.commercial-button__icon--phone-solid path{
  fill:currentColor;
}

.commercial-button:hover .commercial-button__icon--plan,
.commercial-button:focus-visible .commercial-button__icon--plan{
  background:var(--logo-blue);
  transform:translateX(2px);
}

.commercial-button:hover .commercial-button__icon--phone-solid,
.commercial-button:focus-visible .commercial-button__icon--phone-solid{
  color:var(--logo-blue);
  transform:translateX(2px);
}

.commercial-hero__verticals{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, max-content));
  gap:16px 24px;
  align-items:center;
  justify-content:center;
  margin-top:30px;
  list-style:none;
}

.commercial-hero__vertical{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:800;
  letter-spacing:0.055em;
  line-height:1.05;
  text-transform:uppercase;
}

.commercial-icon{
  --commercial-icon:var(--icon-shield);
  position:relative;
  display:inline-grid;
  place-items:center;
  width:54px;
  height:54px;
  flex:0 0 auto;
  border:1.5px solid rgba(249,115,22,0.82);
  border-radius:8px;
  color:var(--css-orange);
  background:
    radial-gradient(circle at 50% 12%, rgba(249,115,22,0.16), transparent 58%),
    rgba(255,255,255,0.018);
  transition:color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}

.commercial-icon::before{
  content:"";
  display:block;
  width:58%;
  height:58%;
  background:currentColor;
  -webkit-mask:var(--commercial-icon) center / contain no-repeat;
  mask:var(--commercial-icon) center / contain no-repeat;
}

.commercial-icon--retail,
.commercial-icon--office,
.commercial-icon--business,
.commercial-icon--business-aware{--commercial-icon:var(--icon-building);}
.commercial-icon--warehouse,
.commercial-icon--platform{--commercial-icon:var(--icon-network);}
.commercial-icon--staff,
.commercial-icon--people-flow{--commercial-icon:var(--icon-users);}
.commercial-icon--office{--commercial-icon:url("assets/commercial-hero-office-icon.svg");}
.commercial-icon--warehouse{--commercial-icon:url("assets/commercial-hero-warehouse-icon.svg");}
.commercial-icon--staff{--commercial-icon:url("assets/commercial-hero-staff-icon.svg");}
.commercial-icon--phone{--commercial-icon:var(--icon-phone);}
.commercial-icon--access-points,
.commercial-icon--access-control,
.commercial-icon--lock{--commercial-icon:var(--icon-lock);}
.commercial-icon--after-hours{--commercial-icon:var(--icon-moon);}
.commercial-icon--visibility,
.commercial-icon--camera{--commercial-icon:var(--icon-camera);}
.commercial-icon--check{--commercial-icon:var(--icon-check);}
.commercial-icon--local{--commercial-icon:var(--icon-map-pin);}
.commercial-icon--local-owned{--commercial-icon:url("assets/local-owned-village-icon.svg");}
.commercial-icon--clean-install{--commercial-icon:var(--icon-wrench);}
.commercial-icon--scalable{--commercial-icon:var(--icon-route);}
.commercial-icon--support{--commercial-icon:var(--icon-headset);}
.commercial-icon--bell{--commercial-icon:var(--icon-bell);}
.commercial-icon--shield{--commercial-icon:var(--icon-shield-check);}

.commercial-hero__media{
  position:relative;
  min-height:520px;
  align-self:stretch;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  margin-right:-28px;
}

.commercial-hero__image{
  position:absolute;
  inset:0 0 0 8%;
  overflow:hidden;
  border-radius:8px 0 0 8px;
  background:
    linear-gradient(135deg, rgba(249,115,22,0.12), rgba(3,147,202,0.07)),
    #111315;
  box-shadow:0 30px 80px rgba(0,0,0,0.44);
}

.commercial-hero__image::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(5,5,5,0.78), rgba(5,5,5,0.1) 42%, rgba(5,5,5,0.5)),
    linear-gradient(180deg, rgba(5,5,5,0.18), rgba(5,5,5,0.44));
  pointer-events:none;
}

.commercial-hero__image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 45%;
  filter:saturate(0.9) contrast(1.05) brightness(0.78);
}

.commercial-hero__device{
  position:relative;
  z-index:2;
  width:min(260px, 30vw);
  min-height:340px;
  margin-right:8px;
  padding:16px;
  border:1px solid rgba(255,255,255,0.22);
  border-radius:22px;
  background:#050505;
  box-shadow:0 26px 64px rgba(0,0,0,0.58);
}

.commercial-device-ui{
  height:100%;
  min-height:308px;
  display:grid;
  align-content:center;
  gap:18px;
  padding:22px 14px;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:15px;
  background:
    radial-gradient(circle at 50% 26%, rgba(3,147,202,0.22), transparent 35%),
    linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.014));
}

.commercial-device-ui__top{
  display:grid;
  gap:4px;
  color:var(--css-white);
  font-weight:800;
}

.commercial-device-ui__top strong{
  color:#55ff78;
  font-size:13px;
  letter-spacing:0.08em;
}

.commercial-device-ui__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.commercial-device-ui__tile{
  width:auto;
  height:auto;
  min-height:72px;
  padding:14px 8px 8px;
  border-color:rgba(3,147,202,0.5);
  color:var(--logo-blue);
  font-size:11px;
  font-weight:800;
  line-height:1.1;
  text-align:center;
}

.commercial-device-ui__tile::before{
  width:26px;
  height:26px;
  margin-bottom:7px;
}

.commercial-device-ui p{
  margin:0;
  color:#e8edf0;
  font-size:13px;
  font-weight:800;
  text-align:center;
}

.business-planning{
  padding:48px 0 54px;
  background:
    radial-gradient(circle at 10% 0%, rgba(249,115,22,0.08), transparent 28%),
    linear-gradient(180deg, #101214, #08090a);
}

.business-planning__inner,
.commercial-setups__inner,
.commercial-estimate-section__inner{
  width:min(100% - 64px, 1540px);
  margin-inline:auto;
}

.commercial-section-header{
  text-align:center;
}

.commercial-section-header h2{
  position:relative;
  display:inline-block;
  margin:0 0 34px;
  color:inherit;
  font-size:clamp(2rem, 3vw, 3.65rem);
  line-height:0.94;
}

.commercial-section-header h2::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-16px;
  width:54px;
  height:3px;
  border-radius:999px;
  background:var(--css-orange);
  transform:translateX(-50%);
}

.business-planning__grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:22px;
}

.business-planning-card{
  min-height:250px;
  padding:24px 18px 22px;
  border:1px solid rgba(255,255,255,0.16);
  border-radius:8px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,0.055), transparent 48%),
    rgba(255,255,255,0.026);
  box-shadow:0 20px 42px rgba(0,0,0,0.22);
  text-align:center;
}

.business-planning-card__icon{
  --planning-icon-size:66px;
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:68px;
  height:68px;
  margin:0 auto 18px;
  border:0;
  background:transparent;
  color:var(--css-orange);
  transition:color 180ms ease, transform 180ms ease;
}

.business-planning-card__icon::before{
  width:var(--planning-icon-size);
  height:var(--planning-icon-size);
}

.business-planning-card:hover .business-planning-card__icon,
.business-planning-card:focus-within .business-planning-card__icon{
  color:var(--logo-blue);
  transform:translateY(-2px);
}

.business-planning-card__svg{
  display:block;
  width:var(--planning-icon-size);
  height:var(--planning-icon-size);
  fill:currentColor;
}

.business-planning-card__svg path,
.business-planning-card__svg circle{
  fill:currentColor;
}

.business-planning-card__image-icon{
  display:block;
  width:var(--planning-icon-size);
  height:var(--planning-icon-size);
  object-fit:contain;
  pointer-events:none;
  user-select:none;
  transition:opacity 180ms ease;
}

.business-planning-card__icon--featured-image{
  --planning-icon-size:66px;
}

.business-planning-card__image-icon--hover{
  position:absolute;
  inset:0;
  margin:auto;
  opacity:0;
}

.business-planning-card:hover .business-planning-card__image-icon--default,
.business-planning-card:focus-within .business-planning-card__image-icon--default{
  opacity:0;
}

.business-planning-card:hover .business-planning-card__image-icon--hover,
.business-planning-card:focus-within .business-planning-card__image-icon--hover{
  opacity:1;
}

.business-planning-card__title{
  margin:0 0 12px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:26px;
  font-weight:800;
  letter-spacing:0.055em;
  line-height:1.03;
  text-transform:uppercase;
}

.business-planning-card__number{
  color:var(--css-white);
}

.business-planning-card__text{
  margin:0;
  color:#dde1e4;
  font-size:16px;
  line-height:1.42;
}

.commercial-setups{
  padding:62px 0 72px;
  background:
    radial-gradient(circle at 8% 12%, rgba(249,115,22,0.08), transparent 28%),
    linear-gradient(180deg, #fffdf8, var(--css-off-white));
  color:var(--css-black);
}

.commercial-setups__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
}

.commercial-setup-card{
  overflow:hidden;
  border:1px solid rgba(0,0,0,0.13);
  border-radius:8px;
  background:var(--css-white);
  box-shadow:0 18px 38px rgba(0,0,0,0.09);
  transition:border-color .18s ease, box-shadow .18s ease;
}

.commercial-setup-card:hover,
.commercial-setup-card:focus-within{
  border-color:var(--css-orange);
  box-shadow:0 20px 42px rgba(0,0,0,0.12), 0 0 0 1px rgba(249,115,22,0.16);
}

.commercial-setup-card__image,
.commercial-image-slot{
  position:relative;
  height:290px;
  min-height:290px;
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(249,115,22,0.22), rgba(3,147,202,0.13)),
    linear-gradient(150deg, #2b3136, #beb9ad 58%, #121518);
}

.commercial-image-slot::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,0.22), transparent 22%),
    linear-gradient(135deg, transparent 0 46%, rgba(255,255,255,0.24) 46.5% 47%, transparent 47.5% 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.06) 0 1px, transparent 1px 18px);
  opacity:0.86;
}

.commercial-image-slot--small-business::before,
.commercial-image-slot--retail::before,
.commercial-image-slot--access::before,
.commercial-image-slot--yard::before,
.commercial-image-slot--staff::before,
.commercial-image-slot--platform::before{
  opacity:0;
}

.commercial-image-slot img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
  filter:saturate(0.92) contrast(1.04);
}

.commercial-image-slot--small-business img,
.commercial-image-slot--retail img{
  object-position:center 43%;
}

.commercial-image-slot--access img{
  object-position:center;
}

.commercial-image-slot--yard img,
.commercial-image-slot--platform img{
  object-position:left center;
}

.commercial-setup-card__body{
  padding:22px 22px 24px;
}

.commercial-setup-card__title{
  margin:0 0 10px;
  color:#050505;
  font-family:var(--font-heading);
  font-size:clamp(1.4rem, 1.8vw, 2.05rem);
  font-weight:800;
  letter-spacing:0.052em;
  line-height:0.96;
  text-transform:uppercase;
}

.commercial-setup-card__text{
  margin:0 0 18px;
  color:#1f2529;
  font-size:16px;
  line-height:1.42;
}

.commercial-setup-card__list{
  --setup-check-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m11.982 14.982c-.265 0-.52-.105-.707-.293l-2.982-2.982c-.391-.391-.391-1.023 0-1.414s1.023-.391 1.414 0l2.275 2.275 7.293-7.293c.391-.391 1.023-.391 1.414 0s.391 1.023 0 1.414l-8 8c-.188.188-.442.293-.707.293z'/%3E%3C/svg%3E");
  --setup-check-circle-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 20c-4.411 0-8-3.589-8-8s3.589-8 8-8c1.193 0 2.342.257 3.414.763.499.236.713.832.477 1.331-.236.5-.832.715-1.332.478-.802-.38-1.663-.572-2.559-.572-3.309 0-6 2.691-6 6s2.691 6 6 6 6-2.691 6-6c0-.553.448-1 1-1s1 .447 1 1c0 4.411-3.589 8-8 8z'/%3E%3C/svg%3E");
  display:grid;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}

.commercial-setup-card__list li{
  position:relative;
  padding-left:29px;
  color:#181d20;
  font-size:15px;
  line-height:1.32;
}

.commercial-setup-card__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:22px;
  height:22px;
  background:var(--css-orange);
  transition:background .18s ease;
  -webkit-mask:var(--setup-check-circle-icon) center / contain no-repeat;
  mask:var(--setup-check-circle-icon) center / contain no-repeat;
}

.commercial-setup-card__list li::after{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:22px;
  height:22px;
  background:var(--css-orange);
  -webkit-mask:var(--setup-check-icon) center / contain no-repeat;
  mask:var(--setup-check-icon) center / contain no-repeat;
}

.commercial-setup-card:hover .commercial-setup-card__list li::before,
.commercial-setup-card:focus-within .commercial-setup-card__list li::before{
  background:var(--logo-blue);
}

.commercial-estimate-section{
  padding:52px 0 38px;
  background:
    radial-gradient(circle at 84% 18%, rgba(249,115,22,0.09), transparent 28%),
    radial-gradient(circle at 14% 78%, rgba(3,147,202,0.07), transparent 28%),
    linear-gradient(180deg, #090b0c, #050505);
  color:var(--css-white);
}

.commercial-estimate-section__grid{
  display:grid;
  grid-template-columns:minmax(0, 1.06fr) minmax(400px, 0.94fr);
  gap:52px;
  align-items:start;
}

.commercial-estimate-checklist__title{
  margin:0 0 24px;
  color:var(--css-white);
  font-size:clamp(2.2rem, 3.1vw, 4.1rem);
  line-height:0.92;
}

.commercial-estimate-checklist__list{
  display:grid;
  gap:0;
  list-style:none;
}

.commercial-estimate-checklist__item{
  display:grid;
  grid-template-columns:40px minmax(0, 1fr);
  gap:16px;
  align-items:start;
  padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,0.12);
}

.commercial-estimate-checklist__icon{
  width:30px;
  height:30px;
  border-radius:999px;
}

.commercial-estimate-checklist__icon::before{
  width:54%;
  height:54%;
}

.estimate-checklist__icon.residential-icon,
.commercial-estimate-checklist__icon.commercial-icon{
  width:30px;
  height:30px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--css-orange);
}

.estimate-checklist__icon::before,
.commercial-estimate-checklist__icon::before{
  width:30px;
  height:30px;
  background:var(--css-orange);
}

.commercial-estimate-checklist__content h3{
  margin:0 0 3px;
  color:var(--css-white);
  font-size:17px;
  font-weight:800;
}

.commercial-estimate-checklist__content p{
  margin:0;
  color:#cdd2d6;
  font-size:14px;
  line-height:1.32;
}

.business-trust-panel{
  position:relative;
  overflow:hidden;
  padding:36px 38px;
  border:1px solid rgba(255,255,255,0.16);
  border-radius:8px;
  background:
    radial-gradient(circle at 0% 0%, rgba(249,115,22,0.12), transparent 32%),
    linear-gradient(145deg, rgba(255,255,255,0.055), rgba(255,255,255,0.018));
  box-shadow:0 24px 60px rgba(0,0,0,0.22);
}

.business-trust-panel__map{
  position:absolute;
  inset:auto -22px 18px auto;
  width:190px;
  height:250px;
  opacity:0.11;
  pointer-events:none;
}

.business-trust-panel__map::before{
  content:none;
}

.business-trust-panel__icon{
  width:76px;
  height:76px;
  margin-bottom:20px;
}

.business-trust-panel__title{
  margin:0 0 12px;
  color:var(--css-white);
  font-size:clamp(2rem, 2.8vw, 3.4rem);
  line-height:0.94;
}

.business-trust-panel__text{
  max-width:620px;
  margin:0 0 24px;
  color:#e3e6e9;
  font-size:16px;
  line-height:1.48;
}

.business-trust-panel__list{
  position:relative;
  z-index:1;
  display:grid;
  gap:16px;
  list-style:none;
}

.business-trust-panel__item{
  display:grid;
  grid-template-columns:44px minmax(0, 1fr);
  gap:14px;
}

.business-trust-panel__item-icon{
  width:40px;
  height:40px;
  border-radius:999px;
}

.business-trust-panel__item h3{
  margin:0 0 3px;
  color:var(--css-white);
  font-size:17px;
  font-weight:800;
}

.business-trust-panel__item p{
  margin:0;
  color:#cdd2d6;
  font-size:14px;
  line-height:1.34;
}

.commercial-final-cta{
  margin-top:36px;
  padding:26px 30px 22px;
  border:1px solid var(--css-orange);
  border-radius:8px;
  background:
    radial-gradient(circle at 100% 0%, rgba(249,115,22,0.14), transparent 32%),
    linear-gradient(180deg, rgba(12,14,15,0.96), rgba(5,5,5,0.96));
  box-shadow:0 22px 58px rgba(0,0,0,0.28);
}

.commercial-final-cta__inner{
  display:grid;
  grid-template-columns:minmax(260px, 0.9fr) minmax(280px, 0.8fr) minmax(420px, auto);
  gap:28px;
  align-items:center;
}

.commercial-final-cta__title{
  margin:0;
  color:var(--css-white);
  font-size:clamp(2rem, 3vw, 4rem);
  line-height:0.95;
}

.commercial-final-cta__text{
  margin:0;
  color:#e0e4e6;
  font-size:16px;
  line-height:1.45;
}

.commercial-final-cta__phone{
  margin:16px 0 0;
  color:#cdd2d6;
  font-size:14px;
}

.commercial-bottom-trust{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
  margin-top:20px;
  list-style:none;
}

.commercial-bottom-trust__item{
  display:grid;
  grid-template-columns:38px minmax(0, 1fr);
  gap:12px;
  align-items:center;
  color:#dfe3e6;
}

.commercial-bottom-trust__icon{
  width:34px;
  height:34px;
  border:0;
  background:transparent;
}

.commercial-bottom-trust__text{
  font-size:14px;
  line-height:1.28;
}

@media (max-width:1100px){
  .commercial-hero__inner{
    grid-template-columns:1fr;
    min-height:auto;
    padding-top:44px;
  }

  .commercial-hero__content{
    max-width:920px;
  }

  .commercial-setups__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .business-planning__grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .commercial-estimate-section__grid,
  .commercial-final-cta__inner{
    grid-template-columns:1fr;
  }

  .commercial-final-cta__actions{
    justify-content:flex-start;
  }

  .commercial-bottom-trust{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:760px){
  .commercial-hero__inner,
  .business-planning__inner,
  .commercial-setups__inner,
  .commercial-estimate-section__inner{
    width:min(100% - 32px, 1540px);
  }

  .commercial-hero{
    min-height:auto;
  }

  .commercial-hero__inner{
    gap:28px;
    padding:36px 0;
  }

  .commercial-hero__title{
    max-width:100%;
    font-size:clamp(2.65rem, 11vw, 3.55rem);
  }

  .commercial-hero__text{
    max-width:100%;
    font-size:16px;
    overflow-wrap:break-word;
  }

  .commercial-section-header h2{
    display:block;
    max-width:14ch;
    margin-inline:auto;
    font-size:clamp(1.9rem, 8.5vw, 2.5rem);
    line-height:1;
    white-space:normal;
  }

  .business-planning-card,
  .commercial-setup-card,
  .commercial-estimate-checklist,
  .business-trust-panel,
  .commercial-final-cta,
  .commercial-bottom-trust__item{
    min-width:0;
  }

  .business-planning-card__text,
  .commercial-setup-card__text,
  .commercial-setup-card__list,
  .commercial-estimate-checklist__content,
  .business-trust-panel__text,
  .business-trust-panel__item p,
  .commercial-final-cta__text,
  .commercial-bottom-trust__text{
    max-width:100%;
    overflow-wrap:break-word;
  }

  .commercial-hero__actions,
  .commercial-final-cta__actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .commercial-button{
    width:100%;
    min-width:0;
  }

  .commercial-hero__verticals{
    grid-template-columns:1fr 1fr;
    margin-top:30px;
  }

  .commercial-hero__vertical{
    font-size:14px;
  }

  .business-planning,
  .commercial-setups,
  .commercial-estimate-section{
    padding-block:38px;
  }

  .business-planning__grid,
  .commercial-setups__grid,
  .commercial-bottom-trust{
    grid-template-columns:1fr;
  }

  .business-planning-card{
    min-height:0;
  }

  .commercial-setup-card__image,
  .commercial-image-slot{
    height:240px;
    min-height:240px;
  }

  .commercial-estimate-section__grid{
    gap:28px;
  }

  .business-trust-panel,
  .nb-icon-panel,
  .commercial-final-cta{
    padding:24px 18px;
  }

  .commercial-estimate-checklist__item{
    grid-template-columns:34px minmax(0, 1fr);
  }
}

body{
  background: linear-gradient(180deg,var(--bg),#000000 60%);
  color:var(--text);
  font-family: var(--font-body);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  min-height:100vh;
}

.container{
  max-width:var(--container);
  width:94%;
  margin:0 auto;
}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  height:118px; /* Desired header height */
  display:flex;
  align-items:center;
  border-bottom:1px solid var(--border-soft);
  background:linear-gradient(180deg, rgba(5,5,5,0.96), rgba(5,5,5,0.86));
  backdrop-filter:blur(12px);
  transition:height 180ms ease, padding 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.site-header.is-scrolled{
  height:83px;
  background:linear-gradient(180deg, rgba(5,5,5,0.98), rgba(5,5,5,0.9));
  box-shadow:0 14px 36px rgba(0,0,0,0.26);
}
.header-inner{
  display:flex;
  align-items:center;
  gap:24px;
}

.logo-area{
  flex:0 0 clamp(420px, 29vw, 500px);
  transition:flex-basis 180ms ease;
}
.logo-link{
  display:inline-flex;
  align-items:center;
  width:clamp(400px, 28vw, 470px);
  max-width:100%;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  text-decoration:none;
  transition:width 180ms ease;
}
.nav-logo{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:104px;
  object-fit:contain;
  background:transparent;
  transition:max-height 180ms ease;
}

.site-header.is-scrolled .logo-area{
  flex-basis:clamp(294px, 20.3vw, 350px);
}

.site-header.is-scrolled .logo-link{
  width:clamp(280px, 19.6vw, 329px);
}

.site-header.is-scrolled .nav-logo{
  max-height:73px;
}

.logo-placeholder{width:360px; height:56px; display:flex; align-items:center; justify-content:center;}

.asset-placeholder{
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border: 1px dashed rgba(255,255,255,0.06);
  color:var(--muted);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px;
  border-radius:8px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.06em;
}

.logo-placeholder.asset-placeholder{border-radius:6px; background:linear-gradient(180deg,#111,#0b0b0b); color:var(--orange); font-size:14px;}

.main-nav{flex:1;}
.main-nav > ul{display:flex; gap:28px; list-style:none; align-items:center; justify-content:center;}
.main-nav li{position:relative;}
.main-nav a{color:var(--muted); text-decoration:none; font-weight:600;}
.main-nav a:hover,
.main-nav a:focus-visible{color:var(--logo-blue);}

.main-nav a[aria-current="page"],
.site-footer__link[aria-current="page"]{
  color:var(--orange);
}

.main-nav .nav-dropdown{
  position:static;
}

.nav-dropdown__trigger{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0;
  font:inherit;
  transition:color 160ms ease;
}

.nav-dropdown__trigger::after{
  content:"";
  width:0;
  height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid var(--orange);
  transition:transform 160ms ease;
}

.nav-dropdown:hover .nav-dropdown__trigger,
.nav-dropdown.is-open .nav-dropdown__trigger,
.nav-dropdown__trigger:hover,
.nav-dropdown__trigger:focus-visible{
  color:var(--logo-blue);
}

.nav-dropdown.is-open .nav-dropdown__trigger::after{
  transform:rotate(180deg);
}

/* ============================================================
   Services mega-menu
   Structure: .services-mega-menu > .services-mega-menu__caret
              + .services-mega-menu__inner ( .services-mega-menu__tabs
              + .services-mega-menu__content ( subnav | summary | media ) )
              + .services-mega-menu__mobile (accordion, <=1200px)
   Rendered by assets/js/mega-menu.js from assets/js/mega-menu-data.js.
   ============================================================ */
.services-mega-menu{
  position:absolute;
  z-index:40;
  top:calc(100% - 14px);
  left:50%;
  width:min(1500px, calc(100vw - 64px));
  max-height:520px;
  border:1px solid rgba(249,115,22,0.65);
  border-radius:var(--card-radius);
  background:
    radial-gradient(circle at 15% 0%, rgba(249,115,22,0.07), transparent 30%),
    linear-gradient(180deg, rgba(14,16,18,0.99), rgba(5,6,7,0.99));
  box-shadow:0 26px 60px rgba(0,0,0,0.5);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%, -8px);
  transition:opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
  overflow:hidden;
}

.services-mega-menu__caret{
  position:absolute;
  top:-9px;
  left:var(--mega-caret-left, 50%);
  width:16px;
  height:16px;
  background:var(--css-panel-solid);
  border-left:1px solid var(--orange);
  border-top:1px solid var(--orange);
  transform:translateX(-50%) rotate(45deg);
  border-radius:3px 0 0 0;
}

.nav-dropdown.is-open .services-mega-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%, 0);
}

.services-mega-menu__inner{
  display:flex;
  flex-direction:column;
  height:100%;
  max-height:520px;
}

/* Top tab row */
.services-mega-menu__tabs{
  display:flex;
  align-items:stretch;
  gap:4px;
  flex:0 0 auto;
  padding:0 28px;
  border-bottom:1px solid var(--border-soft);
  overflow-x:auto;
}

.services-mega-menu__tab{
  display:flex;
  align-items:center;
  padding:19px 16px;
  border-bottom:2px solid transparent;
  color:var(--muted-2);
  font-family:var(--font-heading);
  font-size:15px;
  font-weight:700;
  letter-spacing:0.05em;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;
  transition:color 160ms ease, border-color 160ms ease, background 160ms ease;
}

.services-mega-menu__tab:hover,
.services-mega-menu__tab:focus-visible{
  color:var(--text);
}

.services-mega-menu__tab.is-active{
  color:var(--logo-blue);
  border-bottom-color:var(--orange);
  background:rgba(249,115,22,0.05);
}

/* Two-region body: subnav rail | unified photographic showcase. */
.services-mega-menu__content{
  display:grid;
  grid-template-columns:minmax(300px, 25%) minmax(0, 1fr);
  gap:0;
  flex:1 1 auto;
  min-height:430px;
}

.services-mega-menu__subnav-wrap{
  position:relative;
  padding:28px;
  border-right:1px solid var(--border-soft);
  overflow-y:auto;
  background:#090c0e;
}

.services-mega-menu__subnav{
  display:none;
  flex-direction:column;
  gap:4px;
}

.services-mega-menu__subnav.is-active{
  display:flex;
}

/* Group headers ("Service Area" vs "Management Platforms") inside a
   family's subnav. Kept small and muted so grouping reads as hierarchy,
   not a boxed section. */
.services-mega-menu__group-header{
  margin:10px 0 4px;
  padding:0 14px;
}

.services-mega-menu__subnav > .services-mega-menu__group-header:first-child{
  margin-top:0;
}

.services-mega-menu__group-header + .services-mega-menu__group-header{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid var(--border-soft);
}

.services-mega-menu__group-label{
  margin:0;
  color:var(--logo-blue);
  font-family:var(--font-heading);
  font-size:11.5px;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
}

.services-mega-menu__group-description{
  margin:3px 0 0;
  color:var(--muted-2);
  font-size:11.5px;
  line-height:1.35;
}

.services-mega-menu__subnav-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 14px;
  border:1px solid transparent;
  border-left:3px solid transparent;
  border-radius:6px;
  color:var(--muted);
  font-family:var(--font-body);
  font-size:14.5px;
  font-weight:600;
  text-decoration:none;
  transition:background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.services-mega-menu__subnav-chevron{
  flex:0 0 auto;
  width:7px;
  height:7px;
  border-right:2px solid rgba(255,255,255,0.32);
  border-bottom:2px solid rgba(255,255,255,0.32);
  transform:rotate(-45deg);
  transition:border-color 160ms ease;
}

.services-mega-menu__subnav-item:hover,
.services-mega-menu__subnav-item:focus-visible{
  color:var(--text);
  background:rgba(255,255,255,0.04);
}

.services-mega-menu__subnav-item.is-active{
  border-left-width:4px;
  border-left-color:var(--orange);
  background:linear-gradient(90deg, rgba(249,115,22,0.16), rgba(249,115,22,0.05));
  color:var(--text);
}

.services-mega-menu__subnav-item.is-active .services-mega-menu__subnav-chevron{
  border-color:var(--orange);
}

.services-mega-menu__subnav-item:hover .services-mega-menu__subnav-chevron,
.services-mega-menu__subnav-item:focus-visible .services-mega-menu__subnav-chevron{
  border-color:rgba(255,255,255,0.55);
}

/* Unified showcase: full-bleed background photo, a left-to-right dark
   gradient, and the copy sitting on top -- one composition instead of a
   text panel next to a separately framed image card. The outer
   .services-mega-menu already clips everything to its own border-radius
   (overflow:hidden), so the showcase itself carries no border or radius. */
.services-mega-menu__showcase{
  position:relative;
  min-width:0;
  overflow:hidden;
  background:#0b0e10;
}

.services-mega-menu__showcase-media{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  opacity:1;
  transition:opacity 180ms ease, transform 220ms ease;
}

.services-mega-menu__showcase-media.is-fading{
  opacity:0;
  transform:scale(0.995);
}

/* Broad left-to-right blend so the copy sits directly over the photograph
   with no visible seam, plus a very slight bottom darkening. */
.services-mega-menu__showcase::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      #090c0e 0%,
      rgba(9,12,14,0.98) 15%,
      rgba(9,12,14,0.88) 28%,
      rgba(9,12,14,0.62) 42%,
      rgba(9,12,14,0.25) 58%,
      rgba(9,12,14,0.05) 73%,
      rgba(9,12,14,0) 88%
    ),
    linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,0.16) 100%);
}

.services-mega-menu__showcase-content{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:min(460px, 47%);
  height:100%;
  justify-content:center;
  padding:40px 0 40px 44px;
}

.services-mega-menu__eyebrow{
  margin:0 0 10px;
  color:var(--orange);
  font-weight:700;
  letter-spacing:0.18em;
  font-size:13px;
  text-transform:uppercase;
}

.services-mega-menu__heading{
  margin:0;
  color:var(--text);
  font-family:var(--font-heading);
  font-size:clamp(34px, 3vw, 46px);
  font-weight:700;
  line-height:1.02;
  letter-spacing:0.01em;
  text-transform:uppercase;
}

.services-mega-menu__supporting-line{
  margin:4px 0 0;
  color:var(--muted-2);
  font-size:13px;
  font-style:italic;
}

.services-mega-menu__divider{
  width:56px;
  height:4px;
  margin:18px 0;
  background:var(--orange);
  border-radius:2px;
}

.services-mega-menu__description{
  margin:0 0 24px;
  max-width:420px;
  color:var(--muted);
  font-size:15px;
  line-height:1.6;
}

.services-mega-menu__cta{
  display:inline-flex;
  align-items:center;
  padding:13px 22px;
  border-radius:7px;
  background:linear-gradient(180deg, var(--orange), var(--orange-dark));
  color:#fff;
  font-family:var(--font-heading);
  font-size:14px;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
  text-decoration:none;
  transition:transform 160ms ease, box-shadow 160ms ease;
}

.services-mega-menu__cta:hover,
.services-mega-menu__cta:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(249,115,22,0.28);
}

.services-mega-menu__note{
  margin-top:14px;
  padding-top:12px;
  max-width:420px;
  border-top:1px solid rgba(255,255,255,0.14);
  color:var(--muted-2);
  font-size:12.5px;
  line-height:1.4;
}

/* Mobile accordion (rendered from the same data, shown <=1200px) */
.services-mega-menu__mobile{
  display:none;
}

.services-accordion{
  border-bottom:1px solid var(--border-soft);
}

.services-accordion__trigger{
  display:flex;
  width:100%;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:14px 4px;
  border:0;
  background:transparent;
  color:var(--text);
  font-family:var(--font-heading);
  font-size:14.5px;
  font-weight:700;
  letter-spacing:0.05em;
  text-transform:uppercase;
  cursor:pointer;
}

.services-accordion__icon{
  position:relative;
  flex:0 0 auto;
  width:12px;
  height:12px;
}

.services-accordion__icon::before,
.services-accordion__icon::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  background:var(--orange);
  transform:translate(-50%, -50%);
}

.services-accordion__icon::before{width:12px; height:2px;}
.services-accordion__icon::after{width:2px; height:12px; transition:transform 160ms ease;}

.services-accordion__trigger[aria-expanded="true"] .services-accordion__icon::after{
  transform:translate(-50%, -50%) rotate(90deg);
  opacity:0;
}

.services-accordion__panel{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:0 4px 14px 12px;
}

.services-accordion__panel[hidden]{
  display:none;
}

.services-accordion__group-header{
  margin:12px 0 6px;
  padding:0 8px;
}

.services-accordion__panel > .services-accordion__group-header:first-child{
  margin-top:2px;
}

.services-accordion__group-header + .services-accordion__group-header{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid var(--border-soft);
}

.services-accordion__group-label{
  margin:0;
  color:var(--logo-blue);
  font-size:11px;
  font-weight:700;
  letter-spacing:0.09em;
  text-transform:uppercase;
}

.services-accordion__group-description{
  margin:4px 0 0;
  color:var(--muted-2);
  font-size:12px;
  line-height:1.4;
}

.services-accordion__link{
  padding:10px 8px;
  border-left:2px solid rgba(255,255,255,0.12);
  color:var(--muted);
  font-size:14px;
  font-weight:600;
  text-decoration:none;
}

.services-accordion__link:hover,
.services-accordion__link:focus-visible{
  color:var(--text);
  border-left-color:var(--orange);
}

.services-accordion__link[aria-current="page"]{
  color:var(--orange);
  border-left-color:var(--orange);
}

.header-cta{display:flex; align-items:center; gap:16px;}
.phone{color:var(--muted-2); font-weight:700}

.login-link{
  color:var(--muted);
  text-decoration:none;
  font-weight:700;
  white-space:nowrap;
}

.login-link:hover,
.login-link:focus-visible{
  color:var(--text);
}

.btn{display:inline-block; padding:12px 18px; border-radius:8px; text-decoration:none; font-weight:700}
.btn.primary{background:linear-gradient(180deg,var(--orange),var(--orange-dark)); color:#fff}
.btn.ghost{background:transparent; border:1px solid var(--orange); color:var(--text)}
.btn.large{padding:14px 22px}

.nav-estimate-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  flex:0 0 auto;
  white-space:nowrap;
}

/* HERO GRID */
.hero{padding:48px 0 80px; transition:padding-top 180ms ease;}
.services-menu-open .hero{padding-top:440px;}
.hero-grid{display:grid; grid-template-columns:minmax(0, 1fr) minmax(320px, 0.62fr); gap:32px; align-items:start;}

.hero-col{padding:8px 0}

/* LEFT COLUMN */
.eyebrow{color:var(--orange); font-weight:700; letter-spacing:0.18em; font-size:13px; margin-bottom:18px}
.hero-headline{
  font-family: Impact, "Arial Black", sans-serif;
  font-size:72px; line-height:0.95; letter-spacing:-1px; margin-bottom:18px; color:var(--text);
}
.hero-lead{color:var(--muted); max-width:540px; margin-bottom:22px}
.hero-actions{display:flex; flex-wrap:wrap; gap:16px; margin-bottom:18px}
.hero-actions .btn.primary.large,
.hero-actions .btn.ghost.large{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}

.estimate-calendar-icon{
  width:22px;
  height:22px;
  flex:0 0 22px;
  color:var(--text);
  fill:currentColor;
  transition:color 180ms ease, transform 180ms ease;
}

.nav-estimate-btn .estimate-calendar-icon{
  width:20px;
  height:20px;
  flex-basis:20px;
}

.nav-estimate-btn:hover .estimate-calendar-icon,
.nav-estimate-btn:focus-visible .estimate-calendar-icon,
.hero-actions .btn.primary.large:hover .estimate-calendar-icon,
.hero-actions .btn.primary.large:focus-visible .estimate-calendar-icon{
  color:var(--logo-blue);
  transform:translateX(2px);
}

.estimate-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}

.header-cta .estimate-cta{
  flex:0 0 auto;
  white-space:nowrap;
}

.estimate-cta::after{
  content:"";
  display:block;
  width:22px;
  height:22px;
  flex:0 0 22px;
  background:var(--text);
  -webkit-mask:url("assets/icon-estimate-calendar.svg") center / contain no-repeat;
  mask:url("assets/icon-estimate-calendar.svg") center / contain no-repeat;
  transition:background-color 180ms ease, transform 180ms ease;
}

.nav-estimate-btn.estimate-cta::after{
  width:20px;
  height:20px;
  flex-basis:20px;
}

.site-footer__mini-cta.estimate-cta::after{
  width:22px;
  height:22px;
  flex-basis:22px;
}

.estimate-cta:hover::after,
.estimate-cta:focus-visible::after{
  background:var(--logo-blue);
  transform:translateX(2px);
}

.service-tool-icon{
  display:block;
  width:22px;
  height:22px;
  flex:0 0 22px;
  color:inherit;
  fill:currentColor;
  transition:color 180ms ease, transform 180ms ease;
}

.service-tool-icon path{
  fill:currentColor;
}

.hero-actions .btn.ghost.large:hover .service-tool-icon,
.hero-actions .btn.ghost.large:focus-visible .service-tool-icon{
  color:var(--logo-blue);
  transform:translateX(2px);
}
.local-line{color:var(--muted-2); margin-bottom:22px}
.local-line strong{color:var(--orange);}

.mini-features{display:flex; gap:18px; list-style:none}
.mini-features li{display:flex; gap:10px; align-items:center}
.icon-small{width:48px; height:48px; border-radius:8px}
.mini-title{font-weight:700; color:var(--muted); font-size:13px}

.mini-features--verticals{
  flex-wrap:wrap;
  gap:14px 16px;
  max-width:680px;
}

.mini-features--verticals li{
  gap:10px;
}

.mini-features--verticals .hero-icon{
  color:var(--logo-blue);
  border-color:rgba(3,147,202,0.62);
  background:
    radial-gradient(circle at 50% 12%, rgba(3,147,202,0.22), transparent 56%),
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
}

.mini-features--verticals .hero-icon svg{
  display:block;
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mini-features--verticals .hero-icon .category-icon{
  width:30px;
  height:30px;
  fill:currentColor;
  stroke:none;
}

.mini-features--verticals .hero-icon .category-icon--commercial{
  width:31px;
  height:31px;
}

.mini-features--verticals .maple-icon path,
.mini-features--verticals .maple-icon rect{
  fill:currentColor;
  stroke:none;
}

.mini-features--verticals .hero-icon .maple-icon{
  width:31px;
  height:31px;
}

.mini-features--verticals .nonprofit-icon path{
  fill:currentColor;
  stroke:none;
}

.mini-features--verticals .hero-icon .nonprofit-icon{
  width:27px;
  height:27px;
}

.hero-icon,
.hero-service-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid rgba(249,115,22,0.38);
  background:
    radial-gradient(circle at 50% 12%, rgba(249,115,22,0.2), transparent 56%),
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.03);
}

.hero-icon img,
.hero-service-icon img{
  display:block;
  width:78%;
  height:78%;
  object-fit:contain;
}

.hero-service-icon{
  width:58px;
  height:58px;
  border-radius:8px;
}

/* CENTER HERO CARD */
.hero-card{
  width:100%;
  min-height:clamp(520px, 41vw, 620px);
  border-radius:18px;
  overflow:hidden;
  position:relative;
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(180deg,#111,#0b0b0b);
}

.hero-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg, rgba(5,5,5,0.08), rgba(5,5,5,0.5)),
    radial-gradient(circle at 70% 16%, rgba(249,115,22,0.18), transparent 34%);
  pointer-events:none;
}

.hero-card-media{
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  overflow:hidden;
  background:#050505;
}

.hero-card-video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.hero-card-inner{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:20px;
  pointer-events:none;
}

/* Badge inside hero image */
.hero-badge{display:flex; gap:12px; align-items:center; background:rgba(0,0,0,0.68); padding:10px 12px; border-radius:8px; border:1px solid var(--border-soft); box-shadow:0 16px 34px rgba(0,0,0,0.34); backdrop-filter:blur(10px)}
.badge-icon{width:48px; height:48px; border-radius:8px}
.hero-badge-logo{
  display:block;
  width:44px;
  height:52px;
  object-fit:cover;
  object-position:left center;
  padding:4px;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:6px;
  background:rgba(255,255,255,0.04);
}
.badge-text{color:var(--text); font-size:13px}

/* RIGHT SERVICE CARDS */
.hero-right{display:flex; flex-direction:column; gap:18px}
.service-card{background:linear-gradient(180deg,var(--panel),var(--panel-soft)); border-radius:12px; border:1px solid var(--border); padding:14px; transition:transform .18s ease, border-color .18s ease}
.service-card:focus, .service-card:hover{transform:translateY(-6px); border-color:var(--orange)}
.service-card-body{display:flex; align-items:center; gap:12px}
.service-left{flex:1}
.service-left h3{color:var(--text); margin:6px 0}
.service-image{
  width:130px;
  height:86px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:6px;
  background:
    radial-gradient(circle at 54% 12%, rgba(249,115,22,0.13), transparent 48%),
    linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.02));
}
.service-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.learn-more{color:var(--orange); text-decoration:none; font-weight:700}
.learn-more:hover{transform:translateX(6px)}

.hero-right{
  gap:16px;
}

.hero-right .service-card{
  position:relative;
  display:block;
  min-height:184px;
  overflow:hidden;
  padding:18px 18px 16px;
  border-color:rgba(255,255,255,0.18);
  border-radius:8px;
  background:
    radial-gradient(circle at 84% 34%, rgba(249,115,22,0.12), transparent 38%),
    linear-gradient(180deg, rgba(17,19,21,0.95), rgba(8,9,10,0.98));
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}

.hero-right .service-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(90deg, rgba(5,5,5,0.55) 0%, rgba(5,5,5,0.08) 62%, rgba(5,5,5,0.26) 100%);
  pointer-events:none;
}

.hero-right .service-card-body{
  position:relative;
  z-index:1;
  display:block;
  min-height:150px;
}

.hero-right .service-card:focus-visible{
  outline:2px solid var(--logo-blue);
  outline-offset:5px;
}

.hero-right .service-left{
  position:relative;
  z-index:2;
  width:47%;
  min-width:118px;
}

.hero-right .hero-service-icon{
  width:68px;
  height:68px;
  margin-bottom:8px;
  overflow:visible;
  border:0;
  background:transparent;
  box-shadow:none;
}

.hero-right .hero-service-icon img{
  width:100%;
  height:100%;
  transform:scale(2.15);
}

.hero-right .service-left h3{
  max-width:120px;
  margin:0 0 10px;
  font-size:24px;
  line-height:1.04;
}

.hero-right .learn-more{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:17px;
  line-height:1;
  white-space:nowrap;
  transition:color .18s ease, transform .18s ease;
}

.hero-right .learn-more__icon{
  display:block;
  width:19px;
  height:19px;
  flex:0 0 19px;
  background:var(--css-white);
  transition:background .18s ease;
  -webkit-mask:url("assets/icon-hero-learn-desktop.svg") center / contain no-repeat;
  mask:url("assets/icon-hero-learn-desktop.svg") center / contain no-repeat;
}

.hero-right .service-card:hover .learn-more,
.hero-right .service-card:focus-visible .learn-more{
  transform:translateX(6px);
}

.hero-right .service-card:hover .learn-more__icon,
.hero-right .service-card:focus-visible .learn-more__icon,
.hero-right .service-card:active .learn-more__icon{
  background:var(--logo-blue);
}

.hero-right .learn-more::after{
  content:"";
}

.hero-right .service-image{
  position:absolute;
  z-index:1;
  right:0;
  top:50%;
  width:64%;
  height:84%;
  max-width:252px;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  overflow:hidden;
  background:transparent;
  transform:translateY(-50%);
}

.hero-right .service-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  transform:translateX(38px) scale(1.12);
  transform-origin:center right;
}

.hero-right .service-card:nth-child(1) .service-image{
  top:48%;
  right:-14px;
  width:68%;
  height:100%;
  max-width:300px;
}

.hero-right .service-card:nth-child(1) .service-image img{
  transform:translateX(52px) scale(1.18);
}

.hero-right .service-card:nth-child(2) .service-image{
  right:-22px;
  width:68%;
  height:94%;
  max-width:290px;
}

.hero-right .service-card:nth-child(2) .service-image img{
  transform:translateX(48px) scale(1.15);
}

.hero-right .service-card:nth-child(3) .service-image{
  right:-26px;
  width:70%;
  height:108%;
  max-width:320px;
}

.hero-right .service-card:nth-child(3) .service-image img{
  transform:translateX(40px) scale(1.18);
}

@media (max-width:760px){
  .hero-right .learn-more__icon{
    -webkit-mask-image:url("assets/icon-hero-learn-mobile.svg");
    mask-image:url("assets/icon-hero-learn-mobile.svg");
  }

  .hero-right .service-card:nth-child(1) .service-image{
    right:-8px;
  }

  .hero-right .service-card:nth-child(1) .service-image img{
    transform:translateX(36px) scale(1.18);
  }

  .hero-right .service-card:nth-child(2) .service-image{
    right:-12px;
  }

  .hero-right .service-card:nth-child(2) .service-image img{
    transform:translateX(32px) scale(1.15);
  }

  .hero-right .service-card:nth-child(3) .service-image{
    right:-14px;
  }

  .hero-right .service-card:nth-child(3) .service-image img{
    transform:translateX(28px) scale(1.18);
  }
}

/* Placeholder image style variations */
.image-placeholder{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01)); border-radius:8px; border:1px dashed var(--border-soft); color:var(--muted); font-weight:700}

/* Accessibility focus outline */
.service-card:focus{outline:3px solid rgba(249,115,22,0.12)}

/* Services Overview */
.services-overview{
  position:relative;
  overflow:hidden;
  padding:56px 0 46px;
  background:
    radial-gradient(circle at 92% 0%, rgba(249,115,22,0.08), transparent 30%),
    linear-gradient(180deg, var(--css-white) 0%, var(--css-off-white) 100%);
  color:var(--css-black);
}

.services-overview > .container{
  position:relative;
  z-index:2;
}

.services-overview__ribbon{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:url("assets/services-background.svg") center / cover no-repeat;
  opacity:0.28;
  mix-blend-mode:multiply;
}

.services-overview__watermark{
  position:absolute;
  z-index:1;
  top:18px;
  right:8%;
  width:290px;
  height:310px;
  background:url("assets/services-icon-background.svg") center / contain no-repeat;
  opacity:0.08;
  pointer-events:none;
}

.services-overview__watermark::before{
  display:none;
}

.services-overview__header{
  position:relative;
  z-index:1;
  min-width:0;
  max-width:960px;
  margin-bottom:22px;
}

.services-overview__eyebrow{
  color:var(--css-orange);
  font-weight:900;
  letter-spacing:0.2em;
  font-size:18px;
  margin-bottom:8px;
}

.services-overview__header h2{
  max-width:1080px;
  margin-bottom:18px;
  font-family:Impact, "Arial Black", sans-serif;
  font-size:64px;
  line-height:0.96;
  letter-spacing:0;
  color:var(--css-black);
}

.services-overview__header h2::after{
  content:"";
  display:block;
  width:80px;
  height:6px;
  margin-top:18px;
  border-radius:999px;
  background:var(--css-orange);
}

.services-overview__header p:not(.services-overview__eyebrow){
  max-width:800px;
  color:var(--css-black);
  font-size:18px;
  line-height:1.42;
}

.services-overview__cards{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:24px;
}

.services-overview .service-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:378px;
  padding:24px 24px 20px;
  border:1px solid rgba(0,0,0,0.08);
  border-radius:8px;
  background:var(--css-white);
  box-shadow:0 18px 40px rgba(0,0,0,0.09);
  color:var(--css-black);
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.services-overview .service-card:hover,
.services-overview .service-card:focus-within{
  transform:translateY(-4px);
  border-color:rgba(249,115,22,0.62);
  box-shadow:0 24px 54px rgba(0,0,0,0.12);
}

.services-overview .service-card--featured{
  border-color:var(--css-orange);
}

.service-card__topline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:6px;
}

.services-overview .service-card__icon--business-card{
  width:min(104px, 36vw);
  height:92px;
  flex:0 0 auto;
  margin-bottom:6px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.services-overview .service-card__topline .service-card__icon--business-card{
  margin-bottom:0;
}

.services-overview__cards .service-card:nth-child(4) .service-card__icon--business-card{
  width:min(128px, 42vw);
}

.services-overview__cards .service-card:nth-child(3) .service-card__icon--business-card{
  width:min(104px, 36vw);
  height:92px;
  margin-bottom:6px;
}

.services-overview .service-card__icon--business-card::before{
  display:none;
}

.services-overview .service-card__icon--business-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

.services-overview .service-card h3{
  margin:14px 0 8px;
  font-family:var(--font-heading);
  font-size:26px;
  font-weight:700;
  line-height:1.02;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--css-black);
  transition:color .18s ease;
}

.services-overview .service-card:hover h3,
.services-overview .service-card:focus-within h3{
  color:var(--logo-blue);
}

.services-overview .service-card p{
  color:var(--css-black);
  font-size:15px;
  line-height:1.42;
  min-height:5.68em;
}

.service-card__badge{
  min-width:max-content;
  padding:8px 12px;
  border:1px solid var(--css-orange);
  border-radius:6px;
  color:var(--css-orange);
  font-weight:900;
  font-size:13px;
  line-height:1;
  letter-spacing:0.04em;
}

.service-card__divider{
  width:100%;
  height:1px;
  margin:20px 0 14px;
  background:rgba(249,115,22,0.75);
}

.service-card__list{
  --service-card-check-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m11.982 14.982c-.265 0-.52-.105-.707-.293l-2.982-2.982c-.391-.391-.391-1.023 0-1.414s1.023-.391 1.414 0l2.275 2.275 7.293-7.293c.391-.391 1.023-.391 1.414 0s.391 1.023 0 1.414l-8 8c-.188.188-.442.293-.707.293z'/%3E%3C/svg%3E");
  --service-card-circle-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 20c-4.411 0-8-3.589-8-8s3.589-8 8-8c1.193 0 2.342.257 3.414.763.499.236.713.832.477 1.331-.236.5-.832.715-1.332.478-.802-.38-1.663-.572-2.559-.572-3.309 0-6 2.691-6 6s2.691 6 6 6 6-2.691 6-6c0-.553.448-1 1-1s1 .447 1 1c0 4.411-3.589 8-8 8z'/%3E%3C/svg%3E");
  display:grid;
  gap:8px;
  margin-bottom:18px;
  list-style:none;
}

.service-card__list li{
  position:relative;
  padding-left:28px;
  color:var(--css-black);
  font-size:15px;
  line-height:1.25;
}

.service-card__list li::before{
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  width:22px;
  height:22px;
  background:var(--css-orange);
  transition:background .18s ease;
  -webkit-mask:var(--service-card-circle-icon) center / contain no-repeat;
  mask:var(--service-card-circle-icon) center / contain no-repeat;
}

.service-card__list li::after{
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  width:22px;
  height:22px;
  background:var(--css-orange);
  -webkit-mask:var(--service-card-check-icon) center / contain no-repeat;
  mask:var(--service-card-check-icon) center / contain no-repeat;
}

.services-overview .service-card:hover .service-card__list li::before,
.services-overview .service-card:focus-within .service-card__list li::before{
  background:var(--logo-blue);
}

.service-card__link{
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin-top:auto;
  color:var(--css-orange);
  text-decoration:none;
  font-weight:900;
  font-size:18px;
  line-height:1.1;
}

.service-card__link::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
}

.service-card__link:focus-visible{
  outline:2px solid var(--logo-blue);
  outline-offset:5px;
  border-radius:4px;
}

.service-card__learn-icon{
  display:block;
  width:23px;
  height:23px;
  flex:0 0 23px;
  color:currentColor;
  fill:currentColor;
  background:currentColor;
  transition:color .18s ease, transform .18s ease;
  -webkit-mask:url("assets/icon-learn-book.svg") center / contain no-repeat;
  mask:url("assets/icon-learn-book.svg") center / contain no-repeat;
}

.services-overview .service-card:hover .service-card__learn-icon,
.services-overview .service-card:focus-within .service-card__learn-icon,
.service-card__link:hover .service-card__learn-icon,
.service-card__link:focus-visible .service-card__learn-icon{
  color:var(--logo-blue);
  transform:translateX(4px);
}

.services-overview__trust-strip{
  position:relative;
  z-index:1;
  display:grid;
  min-width:0;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  align-items:center;
  gap:0;
  margin-top:12px;
  padding:14px 20px;
  border-radius:8px;
  background:linear-gradient(180deg, #090a0b, var(--css-charcoal));
  box-shadow:0 18px 44px rgba(0,0,0,0.2);
  color:var(--css-white);
}

.trust-item{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:58px;
  padding:0 22px;
  border-left:1px solid rgba(255,255,255,0.34);
  text-align:center;
}

.trust-item:first-child{
  border-left:0;
}

.trust-item h3{
  margin:0;
  color:var(--css-white);
  font-family:Impact, "Arial Black", sans-serif;
  font-size:19px;
  line-height:1.05;
  letter-spacing:0;
}

.services-overview__cta-strip{
  position:relative;
  z-index:1;
  display:grid;
  min-width:0;
  grid-template-columns:minmax(0, 1.35fr) auto minmax(250px, 0.65fr);
  align-items:center;
  gap:28px;
  margin-top:12px;
  padding:14px 24px;
  border:1px solid rgba(0,0,0,0.06);
  border-radius:8px;
  background:var(--css-white);
  box-shadow:0 16px 36px rgba(0,0,0,0.08);
}

.services-overview__cta-copy,
.services-overview__phone{
  display:flex;
  align-items:center;
  gap:16px;
}

.services-overview__cta-copy{
  justify-content:center;
}

.services-overview__cta-copy h3{
  margin-bottom:4px;
  color:var(--css-black);
  font-weight:900;
  font-size:18px;
}

.services-overview__cta-copy p,
.services-overview__phone p{
  color:var(--css-black);
  font-size:15px;
  line-height:1.35;
}

.services-overview__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-width:260px;
  padding:17px 24px;
  border-radius:7px;
  background:linear-gradient(180deg, var(--css-orange), #f04813);
  color:var(--css-white);
  text-decoration:none;
  font-weight:900;
  font-size:20px;
  box-shadow:0 12px 22px rgba(249,115,22,0.24);
}

.services-overview__button span{
  font-size:30px;
  line-height:1;
}

.services-overview__phone{
  justify-content:center;
  padding-left:28px;
  border-left:1px solid rgba(0,0,0,0.24);
}

.services-overview__phone a{
  display:inline-block;
  margin-top:2px;
  color:var(--css-black);
  text-decoration:none;
  font-weight:900;
  font-size:24px;
}

/* Reusable CSS-generated icon containers. */
.icon-slot{
  width:56px;
  height:56px;
  border:2px solid var(--css-orange);
  border-radius:14px;
  display:grid;
  place-items:center;
  flex-shrink:0;
}

.icon-slot--circle{
  border-radius:999px;
}

.icon-slot--small{
  width:36px;
  height:36px;
  border-width:1.5px;
  border-radius:999px;
}

.icon-slot,
.footer-icon-slot,
.alarm-button__icon,
.alarm-concern-card__icon,
.alarm-value-item__icon,
.alarm-cta-band__icon,
.camera-button__icon,
.camera-solution-card__icon,
.camera-value-item__icon,
.camera-cta-band__icon,
.access-button__icon,
.access-card__icon,
.access-value-strip__icon,
.service-cta-strip__icon,
.emergency-button__icon,
.emergency-card__icon,
.emergency-value-strip__icon,
.emergency-cta-strip__icon,
.wiring-button__icon,
.wiring-card__icon,
.wiring-value-strip__icon,
.wiring-cta-strip__icon,
.monitoring-button__icon,
.monitoring-card__icon,
.monitoring-value-strip__icon,
.monitoring-cta-strip__icon,
.product-benefit__icon{
  position:relative;
  display:grid;
  place-items:center;
  color:var(--css-orange);
}

.icon-slot::before,
.footer-icon-slot::before,
.alarm-button__icon::before,
.alarm-concern-card__icon::before,
.alarm-value-item__icon::before,
.alarm-cta-band__icon::before,
.camera-button__icon::before,
.camera-solution-card__icon::before,
.camera-value-item__icon::before,
.camera-cta-band__icon::before,
.access-button__icon::before,
.access-card__icon::before,
.access-value-strip__icon::before,
.service-cta-strip__icon::before,
.emergency-button__icon::before,
.emergency-card__icon::before,
.emergency-value-strip__icon::before,
.emergency-cta-strip__icon::before,
.wiring-button__icon::before,
.wiring-card__icon::before,
.wiring-value-strip__icon::before,
.wiring-cta-strip__icon::before,
.monitoring-button__icon::before,
.monitoring-card__icon::before,
.monitoring-value-strip__icon::before,
.monitoring-cta-strip__icon::before,
.product-benefit__icon::before{
  content:"";
  display:block;
  width:var(--icon-size, 56%);
  height:var(--icon-size, 56%);
  background:currentColor;
  -webkit-mask:var(--icon, var(--icon-shield)) center / contain no-repeat;
  mask:var(--icon, var(--icon-shield)) center / contain no-repeat;
}

.icon-slot--small,
.footer-icon-slot,
.alarm-button__icon,
.camera-button__icon,
.access-button__icon,
.emergency-button__icon,
.wiring-button__icon,
.monitoring-button__icon{
  --icon-size:64%;
}

.footer-icon-slot{
  --icon-size:82%;
}

.footer-icon-slot--cta{
  --icon:var(--icon-arrow-right);
  --icon-size:100%;
}

.site-footer__social li:nth-child(1) .footer-icon-slot{--icon:var(--icon-instagram);}
.site-footer__social li:nth-child(2) .footer-icon-slot{--icon:var(--icon-facebook);}
.site-footer__contact-list li:nth-child(1) .footer-icon-slot{--icon:var(--icon-phone);}
.site-footer__contact-list li:nth-child(2) .footer-icon-slot{--icon:var(--icon-map-pin);}
.site-footer__contact-list li:nth-child(3) .footer-icon-slot{--icon:var(--icon-mail);}

.services-overview__cards .service-card:nth-child(1) .service-card__icon{--icon:var(--icon-bell);}
.services-overview__cards .service-card:nth-child(2) .service-card__icon{--icon:var(--icon-camera);}
.services-overview__cards .service-card:nth-child(3) .service-card__icon{--icon:var(--icon-lock);}
.services-overview__cards .service-card:nth-child(4) .service-card__icon{--icon:var(--icon-cable);}
.services-overview__cta-icon{--icon:var(--icon-calendar);}
.services-overview__phone-icon{--icon:var(--icon-phone);}

.security-paths__steps .process-card:nth-of-type(1) .process-card__icon{--icon:var(--icon-clipboard);}
.security-paths__steps .process-card:nth-of-type(2) .process-card__icon{--icon:var(--icon-search);}
.security-paths__steps .process-card:nth-of-type(3) .process-card__icon{--icon:var(--icon-clipboard-check);}
.security-paths__trust-icon{--icon:var(--icon-shield-check);}
.security-paths__button--primary .security-paths__button-icon{--icon:var(--icon-calendar);}
.security-paths__button--outline .security-paths__button-icon{--icon:var(--icon-phone);}

.alarm-button__icon,
.camera-button__icon,
.access-button__icon,
.emergency-button__icon,
.wiring-button__icon,
.monitoring-button__icon{
  --icon:var(--icon-calendar);
}

.alarm-button__icon--phone,
.camera-button__icon--phone,
.access-button__icon--phone,
.emergency-button__icon--phone,
.wiring-button__icon--phone,
.monitoring-button__icon--phone{
  --icon:var(--icon-phone);
}

.alarm-button__icon,
.alarm-concern-card__icon,
.alarm-value-item__icon,
.alarm-cta-band__icon{color:var(--alarm-orange, var(--css-orange));}
.camera-button__icon,
.camera-solution-card__icon,
.camera-value-item__icon,
.camera-cta-band__icon{color:var(--camera-orange, var(--css-orange));}
.access-button__icon,
.access-card__icon,
.access-value-strip__icon,
.service-cta-strip__icon{color:var(--access-orange, var(--css-orange));}
.emergency-button__icon,
.emergency-card__icon,
.emergency-value-strip__icon,
.emergency-cta-strip__icon{color:var(--emergency-orange, var(--css-orange));}
.wiring-button__icon,
.wiring-card__icon,
.wiring-value-strip__icon,
.wiring-cta-strip__icon{color:var(--wiring-orange, var(--css-orange));}
.monitoring-button__icon,
.monitoring-card__icon,
.monitoring-value-strip__icon,
.monitoring-cta-strip__icon{color:var(--monitoring-orange, var(--css-orange));}

.alarm-button__icon,
.camera-button__icon,
.access-button__icon,
.emergency-button__icon,
.wiring-button__icon,
.monitoring-button__icon,
.security-paths__button-icon{
  color:inherit;
}

.alarm-concern-card__icon--door{--icon:var(--icon-lock);}
.alarm-concern-card__icon--fire{--icon:var(--icon-flame);}
.alarm-concern-card__icon--co{--icon:var(--icon-alert);}
.alarm-concern-card__icon--water{--icon:var(--icon-droplet);}
.alarm-concern-card__icon--pendant{--icon:var(--icon-heart);}
.alarm-concern-card__icon--app{--icon:var(--icon-smartphone);}
.alarm-value-item:nth-child(1) .alarm-value-item__icon{--icon:var(--icon-search);}
.alarm-value-item:nth-child(2) .alarm-value-item__icon{--icon:var(--icon-clipboard-check);}
.alarm-value-item:nth-child(3) .alarm-value-item__icon{--icon:var(--icon-headset);}
.alarm-cta-band__icon{--icon:var(--icon-calendar);}

.camera-solutions__grid .camera-solution-card:nth-child(1) .camera-solution-card__icon{--icon:var(--icon-shield);}
.camera-solutions__grid .camera-solution-card:nth-child(2) .camera-solution-card__icon{--icon:var(--icon-package);}
.camera-solutions__grid .camera-solution-card:nth-child(3) .camera-solution-card__icon{--icon:var(--icon-moon);}
.camera-solutions__grid .camera-solution-card:nth-child(4) .camera-solution-card__icon{--icon:var(--icon-smartphone);}
.camera-solutions__grid .camera-solution-card:nth-child(5) .camera-solution-card__icon{--icon:var(--icon-car);}
.camera-solutions__grid .camera-solution-card:nth-child(6) .camera-solution-card__icon{--icon:var(--icon-search);}
.camera-value-item:nth-child(1) .camera-value-item__icon,
.access-value-strip__item:nth-child(1) .access-value-strip__icon,
.emergency-value-strip__item:nth-child(1) .emergency-value-strip__icon,
.wiring-value-strip__item:nth-child(1) .wiring-value-strip__icon,
.monitoring-value-strip__item:nth-child(1) .monitoring-value-strip__icon{--icon:var(--icon-search);}
.camera-value-item:nth-child(2) .camera-value-item__icon,
.access-value-strip__item:nth-child(2) .access-value-strip__icon,
.emergency-value-strip__item:nth-child(2) .emergency-value-strip__icon,
.wiring-value-strip__item:nth-child(2) .wiring-value-strip__icon,
.monitoring-value-strip__item:nth-child(2) .monitoring-value-strip__icon{--icon:var(--icon-clipboard-check);}
.camera-value-item:nth-child(3) .camera-value-item__icon,
.access-value-strip__item:nth-child(3) .access-value-strip__icon,
.emergency-value-strip__item:nth-child(3) .emergency-value-strip__icon,
.wiring-value-strip__item:nth-child(3) .wiring-value-strip__icon,
.monitoring-value-strip__item:nth-child(3) .monitoring-value-strip__icon{--icon:var(--icon-headset);}
.camera-cta-band__icon,
.service-cta-strip__icon,
.emergency-cta-strip__icon,
.wiring-cta-strip__icon,
.monitoring-cta-strip__icon{--icon:var(--icon-calendar);}

.access-solutions__grid .access-card:nth-child(1) .access-card__icon{--icon:var(--icon-key);}
.access-solutions__grid .access-card:nth-child(2) .access-card__icon{--icon:var(--icon-users);}
.access-solutions__grid .access-card:nth-child(3) .access-card__icon{--icon:var(--icon-smartphone);}
.access-solutions__grid .access-card:nth-child(4) .access-card__icon{--icon:var(--icon-home);}
.access-solutions__grid .access-card:nth-child(5) .access-card__icon{--icon:var(--icon-clipboard);}
.access-solutions__grid .access-card:nth-child(6) .access-card__icon{--icon:var(--icon-lock);}

.emergency-solutions__grid .emergency-card:nth-child(1) .emergency-card__icon{--icon:var(--icon-heart);}
.emergency-solutions__grid .emergency-card:nth-child(2) .emergency-card__icon{--icon:var(--icon-user-check);}
.emergency-solutions__grid .emergency-card:nth-child(3) .emergency-card__icon{--icon:var(--icon-shield);}
.emergency-solutions__grid .emergency-card:nth-child(4) .emergency-card__icon{--icon:var(--icon-alert);}
.emergency-solutions__grid .emergency-card:nth-child(5) .emergency-card__icon{--icon:var(--icon-users);}
.emergency-solutions__grid .emergency-card:nth-child(6) .emergency-card__icon{--icon:var(--icon-hardhat);}

.wiring-solutions__grid .wiring-card:nth-child(1) .wiring-card__icon{--icon:var(--icon-cable);}
.wiring-solutions__grid .wiring-card:nth-child(2) .wiring-card__icon{--icon:var(--icon-wrench);}
.wiring-solutions__grid .wiring-card:nth-child(3) .wiring-card__icon{--icon:var(--icon-network);}
.wiring-solutions__grid .wiring-card:nth-child(4) .wiring-card__icon{--icon:var(--icon-shield-check);}
.wiring-solutions__grid .wiring-card:nth-child(5) .wiring-card__icon{--icon:var(--icon-tag);}
.wiring-solutions__grid .wiring-card:nth-child(6) .wiring-card__icon{--icon:var(--icon-hardhat);}

.monitoring-solutions__grid .monitoring-card:nth-child(1) .monitoring-card__icon{--icon:var(--icon-activity);}
.monitoring-solutions__grid .monitoring-card:nth-child(2) .monitoring-card__icon{--icon:var(--icon-video);}
.monitoring-solutions__grid .monitoring-card:nth-child(3) .monitoring-card__icon{--icon:var(--icon-camera);}
.monitoring-solutions__grid .monitoring-card:nth-child(4) .monitoring-card__icon{--icon:var(--icon-alert);}
.monitoring-solutions__grid .monitoring-card:nth-child(5) .monitoring-card__icon{--icon:var(--icon-bell);}
.monitoring-solutions__grid .monitoring-card:nth-child(6) .monitoring-card__icon{--icon:var(--icon-search);}

.about-trust-card:nth-child(1) .about-trust-card__icon{--icon:var(--icon-map-pin);}
.about-trust-card:nth-child(2) .about-trust-card__icon{--icon:var(--icon-compass);}
.about-trust-card:nth-child(3) .about-trust-card__icon{--icon:var(--icon-wrench);}
.about-mission__watermark{--icon:var(--icon-shield);}
.philosophy-card:nth-child(1) .philosophy-card__icon{--icon:var(--icon-compass);}
.philosophy-card:nth-child(2) .philosophy-card__icon{--icon:var(--icon-route);}
.philosophy-card:nth-child(3) .philosophy-card__icon{--icon:var(--icon-wrench);}
.philosophy-card:nth-child(4) .philosophy-card__icon{--icon:var(--icon-headset);}
.about-craft__icon{--icon:var(--icon-shield-check);}
.about-craft__point:nth-child(1) .about-craft__point-icon{--icon:var(--icon-wrench);}
.about-craft__point:nth-child(2) .about-craft__point-icon{--icon:var(--icon-clipboard);}
.about-craft__point:nth-child(3) .about-craft__point-icon{--icon:var(--icon-headset);}
.about-final-cta__icon{--icon:var(--icon-calendar);}
.about-button__icon{--icon:var(--icon-phone);}

.product-benefit__icon{--icon:var(--icon-check, var(--icon-shield-check));}

.blog-hero__image-placeholder{
  position:relative;
  display:grid;
  place-items:center;
  color:var(--blog-orange, var(--css-orange));
}

.blog-hero__image-placeholder::before{
  content:"";
  display:block;
  width:34%;
  height:34%;
  min-width:86px;
  min-height:86px;
  background:currentColor;
  opacity:0.92;
  -webkit-mask:var(--icon-book) center / contain no-repeat;
  mask:var(--icon-book) center / contain no-repeat;
}

/* The Cormier Difference */
.difference-section{
  position:relative;
  overflow:hidden;
  padding:58px 0 56px;
  background:
    radial-gradient(circle at 83% 18%, rgba(249,115,22,0.12), transparent 26%),
    radial-gradient(circle at 14% 18%, rgba(3,147,202,0.08), transparent 28%),
    radial-gradient(circle at 78% 88%, rgba(3,147,202,0.06), transparent 30%),
    linear-gradient(180deg, #050606 0%, #090c0e 48%, #080a0b 100%);
  color:var(--css-white);
}

.difference-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.026) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,0.018) 1px, transparent 1px);
  background-size:118px 118px;
  mask-image:linear-gradient(90deg, rgba(0,0,0,0.65), transparent 78%);
  pointer-events:none;
}

.difference-section::after{
  content:"";
  position:absolute;
  inset:auto -12% -32% 46%;
  height:55%;
  background:radial-gradient(circle, rgba(249,115,22,0.1), transparent 62%);
  pointer-events:none;
}

.difference-section__inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(460px, 0.84fr) minmax(0, 1.16fr);
  gap:clamp(36px, 4vw, 64px);
  align-items:start;
  width:min(var(--container), calc(100% - 80px));
  margin:0 auto;
}

.difference-section__left{
  max-width:650px;
  padding-top:10px;
}

.difference-section__eyebrow{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:18px;
  color:var(--css-orange);
  font-family:var(--font-heading);
  font-size:15px;
  font-weight:700;
  line-height:1;
  letter-spacing:0.16em;
  text-transform:uppercase;
}

.difference-section__eyebrow::after{
  content:"";
  width:min(180px, 24vw);
  height:2px;
  background:linear-gradient(90deg, var(--css-orange), rgba(249,115,22,0.12));
}

.difference-section__title{
  color:var(--css-white);
  font-family:var(--font-display);
  font-size:clamp(3.35rem, 4vw, 4.8rem);
  font-weight:400;
  line-height:0.9;
  letter-spacing:0.035em;
  text-transform:uppercase;
  text-shadow:0 16px 36px rgba(0,0,0,0.36);
}

.difference-section__title span{
  color:var(--css-orange);
}

.difference-section__divider{
  width:72px;
  height:4px;
  margin:20px 0 20px;
  border-radius:999px;
  background:var(--css-orange);
  box-shadow:0 0 24px rgba(249,115,22,0.28);
}

.difference-section__copy{
  display:grid;
  gap:12px;
  max-width:610px;
  margin-bottom:20px;
}

.difference-section__copy p{
  color:rgba(255,255,255,0.84);
  font-size:17px;
  line-height:1.5;
}

.difference-section__result{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  align-items:center;
  gap:16px;
  max-width:620px;
  margin-bottom:20px;
  padding:15px 17px;
  border:1px solid rgba(249,115,22,0.42);
  border-radius:8px;
  background:
    linear-gradient(135deg, rgba(249,115,22,0.12), transparent 46%),
    rgba(5,7,8,0.78);
  box-shadow:0 18px 44px rgba(0,0,0,0.28), inset 0 0 0 1px rgba(255,255,255,0.03);
}

.difference-section__result-icon{
  position:relative;
  width:52px;
  height:52px;
  border:1px solid rgba(249,115,22,0.72);
  border-radius:14px;
  background:rgba(249,115,22,0.08);
}

.difference-section__result-icon::before{
  content:"";
  position:absolute;
  inset:12px;
  background:var(--css-orange);
  -webkit-mask:var(--icon-shield-check) center / contain no-repeat;
  mask:var(--icon-shield-check) center / contain no-repeat;
}

.difference-section__result p{
  color:rgba(255,255,255,0.9);
  font-size:17px;
  line-height:1.38;
}

.difference-section__result strong{
  color:var(--css-orange);
}

.difference-section__actions{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  max-width:540px;
  margin-bottom:16px;
}

.difference-section__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:14px 18px;
  border-radius:8px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:700;
  line-height:1;
  letter-spacing:0.055em;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.difference-section__button:hover,
.difference-section__button:focus-visible{
  transform:translateY(-2px);
}

.difference-section__button:focus-visible{
  outline:2px solid var(--logo-blue);
  outline-offset:4px;
}

.difference-section__button--primary{
  border:1px solid rgba(249,115,22,0.96);
  background:linear-gradient(180deg, var(--css-orange), #f04b13);
  box-shadow:0 16px 36px rgba(249,115,22,0.24);
}

.difference-section__button--primary:hover,
.difference-section__button--primary:focus-visible{
  box-shadow:0 20px 42px rgba(249,115,22,0.34);
}

.difference-section__button--secondary{
  gap:10px;
  border:1px solid var(--orange);
  background:transparent;
  color:var(--text);
  box-shadow:none;
}

.difference-section__button--secondary .service-tool-icon{
  width:20px;
  height:20px;
  flex-basis:20px;
  transform:translateY(-1px);
}

.difference-section__button--secondary:hover,
.difference-section__button--secondary:focus-visible{
  border-color:var(--orange);
  background:transparent;
}

.difference-section__button--secondary:hover .service-tool-icon,
.difference-section__button--secondary:focus-visible .service-tool-icon{
  color:var(--logo-blue);
  transform:translate(2px, -1px);
}

.difference-section__info{
  display:flex;
  align-items:center;
  gap:18px;
  color:rgba(255,255,255,0.76);
}

.difference-section__info-item{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-width:0;
  color:inherit;
  font-size:15px;
  line-height:1.28;
  text-decoration:none;
}

.difference-section__info-item:first-child span:last-child{
  color:var(--css-white);
  font-weight:800;
  white-space:nowrap;
}

.difference-section__info-icon{
  position:relative;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border:1px solid rgba(249,115,22,0.42);
  border-radius:999px;
  background:rgba(249,115,22,0.06);
}

.difference-section__info-icon::before{
  content:"";
  position:absolute;
  inset:8px;
  background:var(--css-orange);
  -webkit-mask:var(--difference-info-icon) center / contain no-repeat;
  mask:var(--difference-info-icon) center / contain no-repeat;
}

.difference-section__info-icon--phone{
  --difference-info-icon:var(--icon-phone);
}

.difference-section__info-icon--location{
  --difference-info-icon:var(--icon-map-pin);
}

.difference-section__right{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}

.difference-card{
  position:relative;
  display:flex;
  min-height:390px;
  flex-direction:column;
  padding:22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.1);
  border-radius:8px;
  background:
    radial-gradient(circle at 90% 8%, rgba(3,147,202,0.08), transparent 32%),
    linear-gradient(180deg, rgba(15,18,20,0.92), rgba(7,8,9,0.96));
  box-shadow:0 20px 48px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.035);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.difference-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:linear-gradient(135deg, rgba(249,115,22,0.08), transparent 36%);
  opacity:0;
  transition:opacity .18s ease;
  pointer-events:none;
}

.difference-card:hover{
  transform:translateY(-3px);
  border-color:rgba(249,115,22,0.42);
  box-shadow:0 26px 62px rgba(0,0,0,0.36), 0 0 24px rgba(249,115,22,0.08);
}

.difference-card:hover::before{
  opacity:1;
}

.difference-card__media{
  position:relative;
  z-index:1;
  margin:-22px -22px 20px;
  aspect-ratio:1.92 / 1;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,0.1);
  background:rgba(3,147,202,0.08);
}

.difference-card__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 48%, rgba(7,8,9,0.2));
  pointer-events:none;
}

.difference-card__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(0.96) contrast(1.03);
  transform:scale(1.01);
  transition:transform .24s ease, filter .24s ease;
}

.difference-card:hover .difference-card__media img{
  filter:saturate(1.04) contrast(1.05);
  transform:scale(1.045);
}

.difference-card__accent{
  position:relative;
  z-index:1;
  width:44px;
  height:3px;
  margin-bottom:16px;
  border-radius:999px;
  background:var(--css-orange);
}

.difference-section .difference-card__title{
  position:relative;
  z-index:1;
  max-width:360px;
  margin-bottom:12px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:clamp(1.45rem, 1.35vw, 1.82rem);
  font-weight:700;
  line-height:1.02;
  letter-spacing:0.055em;
  text-transform:uppercase;
}

.difference-card__text{
  position:relative;
  z-index:1;
  color:rgba(255,255,255,0.76);
  font-size:16px;
  line-height:1.46;
}

/* Security Paths */
.security-paths{
  background:var(--css-off-white);
  color:var(--css-text);
}

.security-paths__inner{
  max-width:1540px;
  margin:0 auto;
  padding-inline:40px;
}

.security-paths__top{
  padding:26px 0 22px;
  background:
    radial-gradient(circle at 90% 8%, rgba(249,115,22,0.06), transparent 26%),
    linear-gradient(180deg, var(--css-white) 0%, var(--css-off-white) 100%);
}

.security-paths__header{
  margin-bottom:18px;
}

.security-paths__eyebrow,
.security-paths__process-eyebrow{
  display:flex;
  align-items:center;
  gap:18px;
  color:var(--css-orange);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:0.08em;
}

.security-paths__eyebrow{
  margin-bottom:8px;
  font-size:18px;
}

.security-paths__eyebrow::after,
.security-paths__process-eyebrow::after{
  content:"";
  width:110px;
  height:2px;
  background:var(--css-orange);
}

.security-paths__title{
  max-width:1340px;
  color:var(--css-black);
  font-family:Impact, "Arial Black", sans-serif;
  font-size:66px;
  line-height:0.96;
  letter-spacing:0.01em;
  text-transform:uppercase;
}

.security-paths__title span{
  color:var(--css-orange);
}

.security-paths__intro{
  max-width:940px;
  margin-top:10px;
  color:var(--css-text);
  font-size:17px;
  line-height:1.36;
}

.security-paths__cards{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
}

.security-path-card{
  display:grid;
  grid-template-columns:0.96fr 1fr;
  min-height:330px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,0.12);
  border-radius:8px;
  background:var(--css-white);
  box-shadow:0 16px 36px rgba(0,0,0,0.14);
}

.security-path-card__media{
  min-height:330px;
}

/* TODO: Image containers are intentionally blank.
   Add real images inside .security-path-card__media later. */
.image-slot{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(249,115,22,0.18), rgba(0,0,0,0.1)),
    linear-gradient(150deg, #39424a 0%, #a5aaa8 48%, #1f262b 100%);
  border:1px dashed rgba(249,115,22,0.45);
}

.image-slot::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 24% 18%, rgba(249,115,22,0.28), transparent 18%),
    linear-gradient(135deg, transparent 0 45%, rgba(255,255,255,0.16) 45.5% 46%, transparent 46.5% 100%);
  opacity:0.8;
}

.image-slot--photo{
  border-style:solid;
  background:#111416;
}

.image-slot--photo::before{
  z-index:1;
  background:
    linear-gradient(180deg, rgba(5,5,5,0.02), rgba(5,5,5,0.22)),
    linear-gradient(90deg, rgba(5,5,5,0.18), rgba(5,5,5,0));
  opacity:1;
  pointer-events:none;
}

.image-slot--photo img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 52%;
}

.image-slot__label{
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:1;
  color:rgba(255,255,255,0.86);
  font-weight:900;
  font-size:13px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  text-shadow:0 2px 14px rgba(0,0,0,0.45);
}

.security-path-card__body{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:22px 20px 18px;
}

.security-path-card__heading{
  display:flex;
  align-items:flex-start;
  gap:16px;
  min-height:82px;
  margin-bottom:12px;
}

.security-path-card__icon.icon-slot{
  width:52px;
  height:52px;
  border-radius:12px;
  color:var(--css-orange);
  transition:color .18s ease, border-color .18s ease, background .18s ease;
}

.security-path-card__icon.icon-slot::before{
  display:none;
}

.security-path-card__icon svg{
  display:block;
  width:26px;
  height:26px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.security-path-card__icon .category-icon{
  width:31px;
  height:31px;
  fill:currentColor;
  stroke:none;
}

.security-path-card__icon .category-icon--commercial{
  width:32px;
  height:32px;
}

.security-path-card__icon .security-path-card__maple-icon{
  width:29px;
  height:29px;
  fill:currentColor;
  stroke:none;
}

.security-path-card__maple-icon path{
  fill:currentColor;
}

.security-path-card:has(.security-path-card__button:hover) .security-path-card__icon,
.security-path-card:has(.security-path-card__button:focus-visible) .security-path-card__icon{
  color:var(--logo-blue);
  border-color:var(--logo-blue);
  background:rgba(3,147,202,0.08);
}

.security-path-card__title{
  color:var(--css-black);
  font-family:Impact, "Arial Black", sans-serif;
  font-size:25px;
  line-height:1.08;
  letter-spacing:0.02em;
  text-transform:uppercase;
}

.security-path-card__text{
  color:var(--css-text);
  font-size:15px;
  line-height:1.42;
  min-height:8.52em;
}

.security-path-card__needs{
  margin-top:16px;
  margin-bottom:14px;
}

.security-path-card__needs-title{
  color:var(--css-orange);
  font-size:12px;
  font-weight:900;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.security-path-card__divider{
  width:100%;
  height:1px;
  margin:10px 0 14px;
  background:rgba(249,115,22,0.48);
}

.security-path-card__list{
  --security-path-check-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m11.982 14.982c-.265 0-.52-.105-.707-.293l-2.982-2.982c-.391-.391-.391-1.023 0-1.414s1.023-.391 1.414 0l2.275 2.275 7.293-7.293c.391-.391 1.023-.391 1.414 0s.391 1.023 0 1.414l-8 8c-.188.188-.442.293-.707.293z'/%3E%3C/svg%3E");
  --security-path-circle-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 20c-4.411 0-8-3.589-8-8s3.589-8 8-8c1.193 0 2.342.257 3.414.763.499.236.713.832.477 1.331-.236.5-.832.715-1.332.478-.802-.38-1.663-.572-2.559-.572-3.309 0-6 2.691-6 6s2.691 6 6 6 6-2.691 6-6c0-.553.448-1 1-1s1 .447 1 1c0 4.411-3.589 8-8 8z'/%3E%3C/svg%3E");
  display:grid;
  gap:9px;
  list-style:none;
}

.security-path-card__list li{
  position:relative;
  padding-left:28px;
  color:var(--css-text);
  font-size:14px;
  line-height:1.28;
}

.security-path-card__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:22px;
  height:22px;
  background:var(--css-orange);
  transition:background .18s ease;
  -webkit-mask:var(--security-path-circle-icon) center / contain no-repeat;
  mask:var(--security-path-circle-icon) center / contain no-repeat;
}

.security-path-card__list li::after{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:22px;
  height:22px;
  background:var(--css-orange);
  -webkit-mask:var(--security-path-check-icon) center / contain no-repeat;
  mask:var(--security-path-check-icon) center / contain no-repeat;
}

.security-path-card:has(.security-path-card__button:hover) .security-path-card__list li::before,
.security-path-card:has(.security-path-card__button:focus-visible) .security-path-card__list li::before{
  background:var(--logo-blue);
}

.security-path-card__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:100%;
  min-height:50px;
  margin-top:auto;
  padding:13px 12px;
  border-radius:7px;
  background:linear-gradient(180deg, var(--css-orange), #f04b13);
  box-shadow:0 12px 24px rgba(249,115,22,0.23);
  color:var(--css-white);
  text-decoration:none;
  font-weight:900;
  font-size:13px;
  line-height:1.1;
  text-align:center;
  text-transform:uppercase;
  white-space:normal;
}

.security-path-card__plan-icon{
  display:block;
  width:23px;
  height:23px;
  flex:0 0 23px;
  background:currentColor;
  transition:background .18s ease;
  -webkit-mask:url("assets/icon-plan-clipboard.svg") center / contain no-repeat;
  mask:url("assets/icon-plan-clipboard.svg") center / contain no-repeat;
}

.security-path-card__button:hover .security-path-card__plan-icon,
.security-path-card__button:focus-visible .security-path-card__plan-icon{
  background:var(--logo-blue);
}

.security-paths__process{
  padding:22px 0 24px;
  background:
    radial-gradient(circle at 20% 10%, rgba(249,115,22,0.08), transparent 30%),
    radial-gradient(circle at 86% 64%, rgba(249,115,22,0.1), transparent 28%),
    linear-gradient(135deg, #050505, #111315);
  color:var(--css-white);
}

.security-paths__process-header{
  display:grid;
  grid-template-columns:auto minmax(260px, 1fr);
  align-items:end;
  gap:36px;
  margin-bottom:10px;
}

.security-paths__process-eyebrow{
  margin-bottom:6px;
  font-size:16px;
  letter-spacing:0.11em;
}

.security-paths__process-eyebrow::after{
  width:80px;
}

.security-paths__process-title{
  color:var(--css-white);
  font-family:Impact, "Arial Black", sans-serif;
  font-size:34px;
  line-height:1;
  letter-spacing:0.03em;
  text-transform:uppercase;
}

.security-paths__process-intro{
  max-width:360px;
  padding-left:28px;
  border-left:1px solid rgba(255,255,255,0.18);
  color:rgba(255,255,255,0.88);
  font-size:16px;
  line-height:1.35;
}

.security-paths__steps{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  align-items:center;
  gap:20px;
}

.process-card{
  position:relative;
  display:grid;
  grid-template-columns:46px 82px minmax(0, 1fr);
  align-items:center;
  gap:18px;
  min-height:112px;
  padding:16px 18px;
  border:1px solid var(--css-border-dark);
  border-radius:8px;
  background:rgba(13,15,16,0.72);
  box-shadow:0 18px 40px rgba(0,0,0,0.28), inset 0 0 0 1px rgba(255,255,255,0.02);
}

.process-card__number{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:6px;
  background:linear-gradient(180deg, rgba(255,255,255,0.1), rgba(255,255,255,0.04));
  color:var(--css-orange);
  font-weight:900;
  font-size:28px;
  line-height:1;
}

.process-card__icon.icon-slot{
  width:62px;
  height:62px;
  border-radius:14px;
}

.process-card__title{
  margin-bottom:6px;
  color:var(--css-white);
  font-family:Impact, "Arial Black", sans-serif;
  font-size:20px;
  line-height:1.12;
  letter-spacing:0.04em;
  text-transform:uppercase;
}

.process-card__text{
  color:rgba(255,255,255,0.86);
  font-size:15px;
  line-height:1.35;
}

.process-arrow{
  color:var(--css-orange);
  font-size:42px;
  font-weight:900;
  line-height:1;
}

.security-paths__cta-strip{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:28px;
  margin-top:12px;
  padding:14px 20px;
  border:1px solid var(--css-border-dark);
  border-radius:8px;
  background:rgba(13,15,16,0.74);
  box-shadow:0 18px 42px rgba(0,0,0,0.26);
}

.security-paths__cta-message{
  display:flex;
  align-items:center;
  gap:20px;
  min-width:0;
}

.security-paths__trust-icon.icon-slot{
  width:58px;
  height:58px;
  border-radius:14px;
}

.security-paths__cta-message p{
  color:var(--css-white);
  font-family:Impact, "Arial Black", sans-serif;
  font-size:20px;
  line-height:1.18;
  letter-spacing:0.03em;
  text-transform:uppercase;
}

.security-paths__cta-actions{
  display:grid;
  grid-template-columns:auto auto;
  gap:24px;
}

.security-paths__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  min-height:52px;
  padding:12px 26px;
  border-radius:7px;
  color:var(--css-white);
  text-decoration:none;
  font-weight:900;
  font-size:18px;
  letter-spacing:0.04em;
  text-transform:uppercase;
  white-space:nowrap;
}

.security-paths__button > span:last-child{
  font-size:30px;
  line-height:1;
}

.security-paths__button--primary{
  background:linear-gradient(180deg, var(--css-orange), #f04b13);
  box-shadow:0 14px 30px rgba(249,115,22,0.24);
}

.security-paths__button--outline{
  border:2px solid var(--css-orange);
  background:rgba(0,0,0,0.28);
}

.security-paths__button-icon.icon-slot{
  width:34px;
  height:34px;
  border-color:rgba(255,255,255,0.7);
}

/* Blog / Updates */
.blog-updates{
  padding:52px 0 56px;
  background:
    radial-gradient(circle at 90% 10%, rgba(249,115,22,0.08), transparent 28%),
    linear-gradient(180deg, var(--css-white) 0%, var(--css-off-white) 100%);
  color:var(--css-text);
}

.blog-updates__inner{
  max-width:1540px;
  margin:0 auto;
  padding:0 40px;
}

.blog-updates__header{
  max-width:880px;
  margin-bottom:22px;
}

.blog-updates__eyebrow{
  margin-bottom:10px;
  color:var(--css-orange);
  font-weight:900;
  letter-spacing:0.16em;
  text-transform:uppercase;
}

.blog-updates__title{
  color:var(--css-black);
}

.blog-updates__header p:not(.blog-updates__eyebrow){
  max-width:760px;
  color:var(--css-text);
  font-size:17px;
  line-height:1.45;
}

.blog-updates__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
}

.update-card{
  display:flex;
  min-height:218px;
  flex-direction:column;
  padding:22px;
  border:1px solid rgba(0,0,0,0.1);
  border-radius:8px;
  background:var(--css-white);
  box-shadow:0 16px 34px rgba(0,0,0,0.1);
}

.update-card__meta{
  margin-bottom:14px;
  color:var(--css-orange);
  font-weight:800;
  letter-spacing:0.1em;
  text-transform:uppercase;
}

.update-card h3{
  margin-bottom:10px;
  color:var(--css-black);
  font-family:var(--font-heading);
  font-size:24px;
  font-weight:700;
  line-height:1.02;
  letter-spacing:0.06em;
  text-transform:uppercase;
}

.update-card p:not(.update-card__meta){
  color:var(--css-text);
  font-size:16px;
  line-height:1.45;
}

.update-card a{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:auto;
  color:var(--css-orange);
  text-decoration:none;
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:700;
  letter-spacing:0.055em;
  text-transform:uppercase;
}

/* User Login */
.user-login-section{
  padding:48px 0;
  background:
    radial-gradient(circle at 16% 18%, rgba(249,115,22,0.12), transparent 28%),
    linear-gradient(135deg, #050505, #111315);
  color:var(--css-white);
}

.user-login-section__inner{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(320px, 440px);
  gap:36px;
  align-items:center;
  max-width:1180px;
  margin:0 auto;
  padding:0 40px;
}

.user-login-section__eyebrow{
  margin-bottom:10px;
  color:var(--css-orange);
  font-weight:900;
  letter-spacing:0.16em;
  text-transform:uppercase;
}

.user-login-section__title{
  color:var(--css-white);
}

.user-login-section__copy p:not(.user-login-section__eyebrow){
  max-width:520px;
  color:rgba(255,255,255,0.84);
  font-size:17px;
  line-height:1.45;
}

.login-form{
  display:grid;
  gap:12px;
  padding:24px;
  border:1px solid var(--css-border-dark);
  border-radius:8px;
  background:rgba(13,15,16,0.78);
  box-shadow:0 18px 42px rgba(0,0,0,0.3);
}

.login-form label{
  color:var(--css-footer-muted);
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:700;
  letter-spacing:0.055em;
  text-transform:uppercase;
}

.login-form input{
  min-height:48px;
  width:100%;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,0.18);
  border-radius:6px;
  background:rgba(255,255,255,0.06);
  color:var(--css-white);
  font:inherit;
}

.login-form input:focus{
  outline:2px solid rgba(249,115,22,0.48);
  outline-offset:2px;
}

.login-form__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:54px;
  margin-top:8px;
  padding:12px 18px;
  border:0;
  border-radius:7px;
  background:linear-gradient(180deg, var(--css-orange), #f04b13);
  color:var(--css-white);
  cursor:pointer;
}

/* Site Footer */
.site-footer{
  position:relative;
  overflow:hidden;
  padding:64px 0 28px;
  background:
    radial-gradient(circle at 18% 0%, rgba(249,115,22,0.08), transparent 30%),
    radial-gradient(circle at 84% 16%, rgba(255,255,255,0.045), transparent 24%),
    linear-gradient(180deg, #151719 0%, #0b0d0f 55%, #050505 100%);
  color:var(--css-white);
}

.site-footer::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(249,115,22,0.35) 12%,
    #f97316 50%,
    rgba(249,115,22,0.35) 88%,
    transparent 100%
  );
  box-shadow:
    0 0 18px rgba(249,115,22,0.6),
    0 0 42px rgba(249,115,22,0.22);
}

.site-footer::after{
  content:"";
  position:absolute;
  top:3px;
  left:0;
  width:100%;
  height:36px;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,0.08), transparent);
  opacity:0.18;
}

.site-footer__inner{
  position:relative;
  z-index:1;
  max-width:1540px;
  margin:0 auto;
  padding:0 40px;
}

.site-footer__main{
  display:grid;
  grid-template-columns:1.45fr 0.82fr 1.15fr 0.82fr 2.25fr;
  gap:50px;
  align-items:start;
}

.site-footer__brand{
  max-width:330px;
}

.footer-logo-slot{
  width:168px;
  aspect-ratio:1;
  display:block;
  position:relative;
  margin-bottom:22px;
  overflow:hidden;
  border-radius:50%;
  background:#050505;
}

.footer-logo-slot img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
  clip-path:circle(50% at 50% 50%);
}

.site-footer__tagline{
  margin-bottom:22px;
  color:var(--css-orange);
  font-weight:900;
  font-size:20px;
  line-height:1.2;
}

.site-footer__description{
  color:var(--css-footer-muted);
  font-size:18px;
  line-height:1.52;
}

.site-footer__heading{
  position:relative;
  margin:0 0 22px;
  color:var(--css-white);
  font-family:Impact, "Arial Black", sans-serif;
  font-size:clamp(1rem, 1.4vw, 1.35rem);
  line-height:1;
  letter-spacing:0.045em;
  text-transform:uppercase;
}

.site-footer__heading::after{
  content:"";
  display:block;
  width:54px;
  height:2px;
  margin-top:12px;
  background:var(--css-orange);
}

.site-footer__list,
.site-footer__contact-list{
  display:grid;
  gap:18px;
  list-style:none;
}

.site-footer__link{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--css-footer-muted);
  text-decoration:none;
  font-size:18px;
  line-height:1.25;
  transition:color 180ms ease, transform 180ms ease;
}

.site-footer__link::before{
  content:">";
  color:var(--css-orange);
  font-size:0.7em;
  line-height:1;
  transition:color 180ms ease;
}

.site-footer__link:hover,
.site-footer__link:focus-visible{
  color:var(--css-white);
  transform:translateX(3px);
}

.site-footer__link:hover::before,
.site-footer__link:focus-visible::before{
  color:var(--logo-blue);
}

.site-footer__contact{
  display:grid;
  grid-template-columns:0.82fr 1.18fr;
  gap:46px;
}

.site-footer__social-link,
.site-footer__contact-list li{
  display:flex;
  align-items:center;
  gap:14px;
  color:var(--css-footer-muted);
  text-decoration:none;
  font-size:18px;
  line-height:1.25;
}

.site-footer__social-link{
  transition:color 180ms ease, transform 180ms ease;
}

.site-footer__social-link:hover{
  color:var(--css-white);
  transform:translateX(3px);
}

.site-footer__contact-list a{
  color:var(--css-footer-muted);
  text-decoration:none;
  transition:color 180ms ease;
}

.site-footer__contact-list a:hover{
  color:var(--css-white);
}

.footer-icon-slot{
  width:28px;
  height:28px;
  flex:0 0 28px;
  display:inline-block;
  position:relative;
  border:1px solid transparent;
  transition:color 180ms ease;
}

.site-footer__social-link:hover .footer-icon-slot,
.site-footer__social-link:focus-visible .footer-icon-slot,
.site-footer__contact-list li:has(a:hover) .footer-icon-slot,
.site-footer__contact-list li:has(a:focus-visible) .footer-icon-slot{
  color:var(--logo-blue);
}

.site-footer__mini-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-width:246px;
  margin-top:22px;
  padding:13px 20px;
  border:1px solid var(--css-orange);
  border-radius:6px;
  color:var(--css-white);
  text-decoration:none;
  text-transform:uppercase;
  font-family:Impact, "Arial Black", sans-serif;
  font-size:19px;
  letter-spacing:0.04em;
  transition:background 180ms ease, transform 180ms ease;
}

.site-footer__mini-cta:hover{
  background:rgba(249,115,22,0.12);
  transform:translateY(-2px);
}

.footer-icon-slot--cta{
  width:30px;
  height:22px;
  flex-basis:30px;
}

.site-footer__bottom{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:24px;
  align-items:center;
  margin-top:56px;
  padding-top:24px;
  border-top:1px solid var(--css-border-soft);
  color:var(--css-muted-dark);
  font-size:16px;
  line-height:1.35;
}

.site-footer__bottom p{
  margin:0;
}

.site-footer__bottom p:nth-child(2){
  text-align:center;
}

.site-footer__bottom p:nth-child(2) span{
  padding:0 12px;
  color:var(--css-orange);
}

.site-footer__bottom p:nth-child(3){
  text-align:right;
}

/* Responsive adjustments */
@media (max-width:1100px){
  .hero-grid{grid-template-columns:1fr 1fr;}
  .hero-right{order:3; grid-column:1 / -1;}
  .services-menu-open .hero{
    padding-top:560px;
  }
  .services-overview{
    padding:50px 0 42px;
  }
  .services-overview__ribbon{
    opacity:0.24;
    background-position:55% top;
  }
  .services-overview__header h2{
    font-size:52px;
  }
  .services-overview__cards{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .services-overview__trust-strip{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    row-gap:20px;
  }
  .trust-item:nth-child(3){
    border-left:0;
  }
  .trust-item:nth-child(4){
    border-left:1px solid rgba(255,255,255,0.34);
  }
  .services-overview__cta-strip{
    grid-template-columns:1fr;
    text-align:center;
  }
  .services-overview__phone{
    padding-left:0;
    border-left:0;
  }
  .difference-section{
    padding:54px 0 50px;
  }
  .difference-section__inner{
    grid-template-columns:1fr;
    gap:34px;
    width:calc(100% - 64px);
  }
  .difference-section__left{
    max-width:820px;
    padding-top:0;
  }
  .difference-section__right{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .difference-card{
    min-height:380px;
  }
  .difference-section .difference-card__title{
    font-size:clamp(23px, 3vw, 31px);
  }
  .security-paths__inner{
    padding-inline:32px;
  }
  .security-paths__title{
    font-size:52px;
  }
  .security-paths__cards{
    grid-template-columns:1fr;
  }
  .security-path-card{
    grid-template-columns:0.9fr 1.1fr;
    min-height:300px;
  }
  .security-path-card__media{
    min-height:300px;
  }
  .security-path-card__body{
    padding:26px;
  }
  .security-path-card__heading,
  .security-path-card__text{
    min-height:0;
  }
  .security-paths__process-header{
    grid-template-columns:1fr;
    gap:12px;
  }
  .security-paths__process-intro{
    max-width:560px;
    padding-left:0;
    border-left:0;
  }
  .security-paths__steps{
    grid-template-columns:1fr;
    gap:12px;
  }
  .process-arrow{
    justify-self:center;
    transform:rotate(90deg);
  }
  .security-paths__cta-strip{
    grid-template-columns:1fr;
  }
  .security-paths__cta-actions{
    grid-template-columns:1fr 1fr;
  }
  .site-footer__main{
    grid-template-columns:1.4fr 1fr 1fr;
    gap:40px;
  }
  .site-footer__brand{
    max-width:none;
  }
  .site-footer__contact{
    grid-column:span 2;
    grid-template-columns:1fr 1.3fr;
  }
  .site-footer__bottom{
    grid-template-columns:1fr;
    gap:12px;
  }
  .site-footer__bottom p,
  .site-footer__bottom p:nth-child(2),
  .site-footer__bottom p:nth-child(3){
    text-align:left;
  }
}

@media (max-width:760px){
  html,
  body{
    max-width:100%;
    overflow-x:hidden;
  }

  .container{
    width:calc(100% - 28px);
    max-width:calc(100% - 28px);
  }

  .site-header{
    height:auto;
    padding:18px 0;
    align-items:stretch;
  }

  .header-inner{flex-direction:column; align-items:flex-start; gap:12px}
  .logo-area,
  .main-nav,
  .header-cta{
    width:100%;
    max-width:100%;
  }

  .logo-area{
    flex:0 1 auto;
  }

  .logo-link{
    width:min(100%, 360px);
    max-width:100%;
  }

  .nav-logo{
    max-width:100%;
  }

  .main-nav > ul{flex-wrap:wrap; gap:12px}
  .header-cta{
    flex-wrap:wrap;
  }

  .hero-grid{display:block}
  .hero-left, .hero-right{padding:8px 0}
  .hero-headline{font-size:36px}
  .btn{width:100%; text-align:center}
  .mini-features{flex-direction:column; gap:12px}
  .services-overview{
    padding:40px 0;
    max-width:100vw;
  }
  .services-overview__ribbon{
    opacity:0.18;
    background-position:60% top;
  }
  .services-overview > .container{
    width:calc(100vw - 32px);
    max-width:calc(100vw - 32px);
  }
  .services-overview__watermark{
    width:180px;
    height:200px;
    right:-36px;
    top:18px;
    border-width:18px;
  }
  .services-overview__watermark::before{
    inset:28px;
    border-width:16px;
  }
  .services-overview__eyebrow{
    font-size:14px;
  }
  .services-overview__header h2{
    font-size:28px;
    line-height:1.02;
    max-width:330px;
  }
  .services-overview__header p:not(.services-overview__eyebrow){
    font-size:16px;
  }
  .services-overview__cards{
    grid-template-columns:1fr;
  }
  .services-overview .service-card{
    min-height:0;
    padding:20px;
  }
  .services-overview .service-card p{
    min-height:0;
  }
  .service-card__topline{
    align-items:center;
  }
  .service-card__badge{
    font-size:11px;
    padding:7px 9px;
  }
  .services-overview__trust-strip{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    padding:18px;
  }
  .trust-item{
    padding:18px 0 0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,0.24);
  }
  .trust-item:first-child{
    padding-top:0;
    border-top:0;
  }
  .services-overview__cta-strip{
    padding:18px;
    gap:20px;
  }
  .services-overview__cta-copy,
  .services-overview__phone{
    align-items:flex-start;
    justify-content:flex-start;
    text-align:left;
  }
  .services-overview__button{
    width:100%;
    min-width:0;
  }
  .services-overview__phone a{
    font-size:22px;
  }
  .difference-section{
    padding:46px 0 40px;
  }
  .difference-section__inner{
    grid-template-columns:1fr;
    gap:32px;
    width:calc(100% - 40px);
  }
  .difference-section__eyebrow{
    gap:14px;
    margin-bottom:18px;
    font-size:13px;
    letter-spacing:0.12em;
  }
  .difference-section__eyebrow::after{
    width:70px;
  }
  .difference-section__title{
    font-size:clamp(38px, 12vw, 54px);
    line-height:1;
  }
  .difference-section__divider{
    width:62px;
    height:4px;
    margin:18px 0 18px;
  }
  .difference-section__copy p{
    font-size:16px;
  }
  .difference-section__result{
    align-items:flex-start;
    gap:16px;
    padding:16px;
  }
  .difference-section__result p{
    font-size:16px;
  }
  .difference-section__actions{
    grid-template-columns:1fr;
    gap:12px;
  }
  .difference-section__button{
    width:100%;
    min-height:54px;
    font-size:15px;
  }
  .difference-section__info{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }
  .difference-section__info-item{
    font-size:15px;
  }
  .difference-section__right{
    grid-template-columns:1fr;
    gap:14px;
  }
  .difference-card{
    min-height:0;
    padding:22px;
  }
  .difference-card__media{
    margin:-22px -22px 18px;
  }
  .difference-section .difference-card__title{
    font-size:clamp(22px, 7vw, 28px);
  }
  .difference-card__text{
    font-size:16px;
  }
  .security-paths__inner{
    padding-inline:20px;
  }
  .security-paths__top{
    padding:28px 0 22px;
  }
  .security-paths__eyebrow{
    align-items:flex-start;
    gap:12px;
    font-size:13px;
    line-height:1.25;
  }
  .security-paths__eyebrow::after{
    width:60px;
    margin-top:8px;
  }
  .security-paths__title{
    font-size:clamp(36px, 11vw, 46px);
    line-height:1;
  }
  .security-paths__intro{
    font-size:15px;
  }
  .security-path-card{
    grid-template-columns:1fr;
    min-height:0;
  }
  .security-path-card__media{
    min-height:180px;
  }
  .security-path-card__body{
    padding:20px;
  }
  .security-path-card__heading{
    align-items:flex-start;
    min-height:0;
  }
  .security-path-card__title{
    font-size:24px;
  }
  .security-path-card__text{
    min-height:0;
  }
  .security-path-card__button{
    white-space:normal;
  }
  .security-paths__process{
    padding:22px 0;
  }
  .security-paths__process-eyebrow{
    align-items:flex-start;
    gap:12px;
    font-size:13px;
    line-height:1.25;
  }
  .security-paths__process-eyebrow::after{
    width:58px;
    margin-top:8px;
  }
  .security-paths__process-title{
    font-size:31px;
  }
  .process-card{
    grid-template-columns:64px minmax(0, 1fr);
    gap:16px;
    padding:16px;
  }
  .process-card__icon.icon-slot{
    grid-column:1;
    width:64px;
    height:64px;
  }
  .process-card__content{
    grid-column:2;
    grid-row:1 / span 2;
  }
  .process-card__title{
    font-size:19px;
  }
  .process-card__text{
    font-size:15px;
  }
  .security-paths__cta-strip{
    padding:16px;
  }
  .security-paths__cta-message{
    align-items:flex-start;
  }
  .security-paths__cta-message p{
    font-size:19px;
  }
  .security-paths__cta-actions{
    grid-template-columns:1fr;
    gap:12px;
  }
  .security-paths__button{
    width:100%;
    padding:14px 18px;
    font-size:18px;
    white-space:normal;
  }
  .site-footer{
    padding:48px 0 24px;
  }
  .site-footer__inner{
    padding:0 22px;
  }
  .site-footer__main{
    grid-template-columns:1fr;
    gap:34px;
  }
  .footer-logo-slot{
    width:156px;
    margin-bottom:18px;
  }
  .site-footer__tagline{
    margin-bottom:14px;
  }
  .site-footer__description,
  .site-footer__link,
  .site-footer__social-link,
  .site-footer__contact-list li{
    font-size:16px;
  }
  .site-footer__contact{
    grid-column:auto;
    grid-template-columns:1fr;
    gap:34px;
  }
  .site-footer__mini-cta{
    width:100%;
    min-width:0;
  }
  .site-footer__bottom{
    margin-top:40px;
    grid-template-columns:1fr;
    text-align:left;
  }
  .site-footer__bottom p:nth-child(2),
  .site-footer__bottom p:nth-child(3){
    text-align:left;
  }
}

/* Additional service page assets can be swapped as real photography becomes available. */

/* Alarm Coverage Service Page */
.alarm-service-page{
  --alarm-orange:var(--css-orange, #f97316);
  --alarm-dark:#050505;
  --alarm-charcoal:#111315;
  --alarm-border:rgba(255,255,255,0.18);
  --alarm-muted:rgba(255,255,255,0.72);
  --alarm-offwhite:#f7f4ee;
  background:var(--alarm-dark);
  color:var(--css-white);
}

.alarm-page-shell{
  max-width:1540px;
  margin:0 auto;
  padding:0 44px;
}

.alarm-hero{
  position:relative;
  overflow:hidden;
  min-height:650px;
  background:#030303;
  isolation:isolate;
}

.alarm-hero__bg{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.94) 0%, rgba(0,0,0,0.72) 38%, rgba(0,0,0,0.35) 100%),
    radial-gradient(circle at 74% 32%, rgba(249,115,22,0.12), transparent 22%),
    linear-gradient(135deg, #0a1118 0%, #1b242a 45%, #060606 100%);
}

.alarm-hero__bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, transparent 0 18%, rgba(255,255,255,0.055) 18.2% 18.8%, transparent 19% 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.035) 0 1px, transparent 1px 140px),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.028) 0 1px, transparent 1px 96px);
  opacity:0.42;
}

.alarm-hero__inner{
  display:grid;
  grid-template-columns:minmax(520px, 0.82fr) minmax(0, 1fr);
  gap:46px;
  align-items:center;
  max-width:1540px;
  min-height:650px;
  margin:0 auto;
  padding:68px 44px;
}

.alarm-hero__content{
  max-width:640px;
}

.alarm-hero__eyebrow,
.alarm-section-header__eyebrow{
  margin-bottom:12px;
  color:var(--alarm-orange);
  font-family:var(--font-heading);
  font-weight:800;
  font-size:20px;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.alarm-hero h1,
.alarm-section-header h2{
  color:var(--css-white);
  font-family:var(--font-display);
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:0.035em;
}

.alarm-hero h1{
  max-width:590px;
  margin-bottom:18px;
  font-size:clamp(4.2rem, 5.7vw, 7rem);
  line-height:0.88;
  text-shadow:0 3px 0 rgba(0,0,0,0.72), 0 18px 34px rgba(0,0,0,0.5);
}

.alarm-title-dot{
  color:var(--alarm-orange);
}

.alarm-hero__content > p:not(.alarm-hero__eyebrow){
  max-width:560px;
  color:rgba(255,255,255,0.9);
  font-size:21px;
  line-height:1.45;
}

.alarm-hero__actions,
.alarm-cta-band__actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:28px;
}

.alarm-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:58px;
  padding:14px 22px;
  border-radius:7px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:20px;
  letter-spacing:0.055em;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.alarm-button:hover,
.alarm-button:focus-visible{
  transform:translateY(-2px);
}

.alarm-button--primary{
  border:1px solid var(--alarm-orange);
  background:linear-gradient(180deg, var(--alarm-orange), #f04b13);
  box-shadow:0 16px 32px rgba(249,115,22,0.24);
}

.alarm-button--outline{
  border:1px solid rgba(255,255,255,0.44);
  background:rgba(0,0,0,0.35);
}

.alarm-button__icon{
  width:28px;
  height:28px;
  border:2px solid currentColor;
  border-radius:6px;
}

.alarm-button__icon--phone{
  border-radius:999px;
}

.alarm-hero__visual{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-height:500px;
}

.alarm-hero__image{
  display:block;
  width:min(100%, 860px);
  height:auto;
  margin-left:auto;
  object-fit:contain;
  filter:drop-shadow(0 28px 44px rgba(0,0,0,0.34));
}

/* ================= Build Your System by Layers ================= */
.alarm-protection-section{overflow:visible;padding:clamp(42px,5vw,76px) 0;background:radial-gradient(circle at 72% 20%,rgba(0,168,248,.055),transparent 34%),radial-gradient(circle at 20% 80%,rgba(249,115,22,.045),transparent 30%),#050708;color:#fff}
.alarm-protection-builder{width:min(1680px,calc(100vw - clamp(2rem,5vw,6rem)));max-width:none;margin-inline:auto;min-width:0}.alarm-protection-builder__layout{display:grid;grid-template-columns:clamp(340px,22vw,400px) minmax(0,1fr);gap:clamp(.9rem,1.5vw,1.4rem);align-items:start;min-width:0}
.protection-layer-guide{
  position:sticky;
  top:calc(var(--site-header-height, 88px) + 1rem);
  display:flex;
  flex-direction:column;
  width:100%;
  height:fit-content;
  max-height:none;
  min-height:0;
  padding:clamp(0.9rem, 1.25vw, 1.2rem);
  overflow:visible;
  border:1px solid rgba(255,255,255,0.13);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(14,18,20,0.98), rgba(6,13,17,0.98));
  box-shadow:0 24px 60px rgba(0,0,0,0.35);
}

.protection-layer-guide__eyebrow{
  margin:0;
  color:var(--css-orange);
  font-family:var(--font-heading);
  font-weight:800;
  font-size:0.68rem;
  line-height:1;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.protection-layer-guide__title{
  margin:0.35rem 0 0.55rem;
  color:#fff;
  font-family:var(--font-display);
  font-weight:400;
  font-size:clamp(2.15rem, 2.45vw, 2.85rem);
  line-height:0.91;
  letter-spacing:-0.025em;
  text-transform:uppercase;
  text-wrap:balance;
}

.protection-layer-guide__layer-title{
  margin:0 0 0.45rem;
  color:var(--logo-blue);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:0.9rem;
  line-height:1.05;
  text-transform:uppercase;
}

.protection-layer-guide__intro{
  margin:0;
  color:rgba(255,255,255,0.73);
  font-size:clamp(0.82rem, 0.85vw, 0.94rem);
  line-height:1.42;
}

.protection-layer-guide__navigation{
  margin-top:0.75rem;
  padding-top:0.7rem;
  border-top:1px solid rgba(255,255,255,0.1);
}

.protection-layer-guide__navigation-title{
  margin:0 0 0.55rem;
  color:#fff;
  font-family:var(--font-heading);
  font-weight:700;
  font-size:0.68rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
}

.protection-layer-guide__category-links{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:0.38rem 0.55rem;
  margin:0;
  padding:0;
  list-style:none;
}

.protection-layer-guide__category-link{
  display:flex;
  align-items:center;
  gap:0.4rem;
  min-width:0;
  min-height:24px;
  padding:0.12rem 0;
  color:rgba(255,255,255,0.72);
  font-size:clamp(0.7rem, 0.72vw, 0.8rem);
  line-height:1.15;
  text-decoration:none;
  transition:color 160ms ease;
}

.protection-layer-guide__category-link span{
  display:grid;
  place-items:center;
  flex:0 0 12px;
  width:12px;
  height:12px;
  color:var(--css-orange);
  font-size:12px;
  line-height:1;
}

.protection-layer-guide__category-link:hover,
.protection-layer-guide__category-link:focus-visible{
  color:#fff;
}

.protection-layer-guide__why{
  margin-top:0.7rem;
  padding-top:0.65rem;
  border-top:1px solid rgba(255,255,255,0.1);
}

.protection-layer-guide__why h3{
  margin:0 0 0.3rem;
  color:#fff;
  font-family:var(--font-heading);
  font-weight:700;
  font-size:0.68rem;
  line-height:1;
  letter-spacing:0.06em;
  text-transform:uppercase;
}

.protection-layer-guide__why p{
  margin:0;
  color:rgba(255,255,255,0.72);
  font-size:clamp(0.76rem, 0.78vw, 0.86rem);
  line-height:1.38;
}

.protection-layer-guide__active-category{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:0.65rem;
  margin-top:0.7rem;
  padding:0.55rem 0.65rem;
  border:1px solid rgba(0,168,248,0.42);
  border-radius:7px;
  background:rgba(0,168,248,0.055);
}

.protection-layer-guide__active-category span{
  color:rgba(255,255,255,0.5);
  font-size:0.62rem;
  line-height:1;
  letter-spacing:0.07em;
  text-transform:uppercase;
}

.protection-layer-guide__active-category strong{
  min-width:0;
  overflow:hidden;
  color:var(--logo-blue);
  font-family:var(--font-heading);
  font-size:0.74rem;
  line-height:1;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

.protection-layer-guide__actions{
  display:grid;
  gap:0.4rem;
  margin-top:0.7rem;
}

.protection-layer-guide__actions .alarm-button{
  justify-content:space-between;
  width:100%;
  min-height:42px;
  padding:0.65rem 0.8rem;
  font-size:12px;
}

.protection-layer-guide__fit-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.4rem;
  min-height:28px;
  color:rgba(255,255,255,0.74);
  font-family:var(--font-heading, inherit);
  font-weight:700;
  font-size:0.68rem;
  letter-spacing:0.06em;
  text-decoration:none;
  text-transform:uppercase;
  transition:color 160ms ease;
}

.protection-layer-guide__fit-link svg{
  width:12px;
  height:12px;
}

.protection-layer-guide__fit-link:hover,
.protection-layer-guide__fit-link:focus-visible{
  color:var(--logo-blue);
}

.protection-layer-guide__pricing-note{
  display:flex;
  align-items:flex-start;
  gap:6px;
  margin:0.45rem 0 0;
  color:rgba(255,255,255,0.48);
  font-size:0.62rem;
  line-height:1.3;
}

.protection-layer-guide__pricing-note span{
  display:grid;
  place-items:center;
  flex:0 0 12px;
  width:12px;
  height:12px;
  border:1px solid rgba(255,255,255,0.35);
  border-radius:50%;
  font-size:9px;
  line-height:1;
}

.protection-layer-guide__visual{
  display:none;
}

@media (min-width:1200px) and (max-height:850px){
  .protection-layer-guide{
    padding:0.85rem;
  }

  .protection-layer-guide__title{
    margin-bottom:0.4rem;
    font-size:clamp(2rem, 2.2vw, 2.5rem);
  }

  .protection-layer-guide__intro{
    font-size:0.8rem;
    line-height:1.34;
  }

  .protection-layer-guide__navigation{
    margin-top:0.55rem;
    padding-top:0.55rem;
  }

  .protection-layer-guide__category-links{
    gap:0.25rem 0.5rem;
  }

  .protection-layer-guide__why{
    margin-top:0.55rem;
    padding-top:0.5rem;
  }

  .protection-layer-guide__active-category{
    margin-top:0.55rem;
    padding:0.45rem 0.55rem;
  }

  .protection-layer-guide__actions{
    margin-top:0.55rem;
  }
}

@media (min-width:1200px) and (max-height:730px){
  .protection-layer-guide__title{
    font-size:clamp(1.85rem, 2vw, 2.25rem);
  }

  .protection-layer-guide__intro{
    font-size:0.74rem;
    line-height:1.3;
  }

  .protection-layer-guide__category-link{
    min-height:20px;
    font-size:0.67rem;
  }

  .protection-layer-guide__why p{
    font-size:0.72rem;
  }

  .protection-layer-guide__actions .alarm-button{
    min-height:38px;
    padding:0.55rem 0.7rem;
  }

  .protection-layer-guide__pricing-note{
    font-size:0.58rem;
  }
}

@media (max-width:1199px){
  .protection-layer-guide{
    position:static;
    top:auto;
  }
}

@media (max-width:430px){
  .protection-layer-guide__category-links{
    grid-template-columns:1fr;
  }

  .protection-layer-guide__active-category{
    align-items:flex-start;
    flex-direction:column;
  }
}
.protection-product-groups{display:grid;gap:.75rem;min-width:0}
.protection-product-group{min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:linear-gradient(135deg,#0d1113,#0a0d0f)}

/* ---- Category header: identity (left) + capabilities/carousel controls (right) ---- */
.product-group__header{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:1rem;
  min-width:0;
  padding:.85rem 1.1rem;
  background:#0d1113;
  border-bottom:1px solid rgba(255,255,255,.10);
}

.product-group__header-left{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.product-group__header-left .product-group__icon{
  flex:0 0 auto;
  color:var(--css-orange);
  font-family:var(--font-heading);
  font-size:22px;
}

.product-group__header-text{
  min-width:0;
}

.product-group__header-right{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}

.product-group__carousel-controls{
  display:flex;
  align-items:center;
  gap:8px;
}

.product-group__carousel-status{
  min-width:64px;
  color:rgba(255,255,255,.56);
  font-size:12px;
  font-weight:600;
  letter-spacing:.03em;
  text-align:center;
  white-space:nowrap;
}

.product-group__carousel-control{
  display:grid;
  flex:0 0 auto;
  place-items:center;
  width:32px;
  height:32px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:6px;
  background:#0b0f11;
  color:#fff;
  cursor:pointer;
  transition:border-color 160ms ease, color 160ms ease;
}

.product-group__carousel-control svg{
  flex:0 0 auto;
  width:14px;
  height:14px;
}

.product-group__carousel-control:hover:not(:disabled),
.product-group__carousel-control:focus-visible{
  border-color:var(--css-orange);
  color:var(--css-orange);
}

.product-group__carousel-control:focus-visible{
  outline:2px solid var(--logo-blue);
  outline-offset:2px;
}

.product-group__carousel-control:disabled{
  opacity:.35;
  cursor:default;
}

.product-group__identity{
  display:grid;
  grid-template-columns:auto auto minmax(0, 1fr);
  align-items:center;
  gap:9px;
  min-width:0;
}

.product-group__identity>.product-group__icon,
.product-group__identity>b{
  color:var(--logo-blue);
  font-family:var(--font-heading);
  font-size:22px;
}

.product-group__identity-text{
  min-width:0;
}

.product-group__title{
  margin:0;
  overflow:hidden;
  color:#fff;
  font-family:var(--font-heading);
  font-size:18px;
  text-transform:uppercase;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.product-group__description{
  min-width:0;
  margin:2px 0 0;
  overflow:hidden;
  color:rgba(255,255,255,.62);
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.product-group__header-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.65rem;
  min-width:0;
}

.product-group__capabilities{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.45rem;
  min-width:0;
  max-width:320px;
  overflow:hidden;
}

.product-group__capability{
  color:rgba(255,255,255,.58);
  font-size:clamp(.62rem, .65vw, .72rem);
  white-space:nowrap;
}

.product-group__carousel-status{
  color:rgba(255,255,255,.63);
  font-size:.7rem;
  white-space:nowrap;
}

.product-group__carousel-controls{
  display:flex;
  align-items:center;
  gap:.4rem;
  flex:none;
}

.product-group__carousel-control{
  display:grid;
  flex:0 0 auto;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:7px;
  background:#080c0f;
  color:#fff;
  cursor:pointer;
}

.product-group__carousel-control:disabled{
  opacity:.25;
  cursor:default;
}

.product-group__carousel-control:focus-visible,
.product-card__actions :focus-visible{
  outline:2px solid var(--logo-blue);
  outline-offset:2px;
}

/* ---- Category footer: explanatory copy (left) + Learn More / estimate CTA (right) ---- */
.product-group__footer{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:1rem;
  min-width:0;
  padding:.55rem .7rem;
  background:rgba(3,9,13,.76);
  border-top:1px solid rgba(255,255,255,.08);
}

.product-group__footer-copy{
  min-width:0;
  margin:0;
  color:rgba(255,255,255,.52);
  font-size:clamp(.7rem, .72vw, .8rem);
  line-height:1.35;
}

.product-group__footer-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.55rem;
  min-width:0;
}

.product-group__learn-more{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:.6rem .85rem;
  border:1px solid rgba(255,255,255,.28);
  border-radius:8px;
  color:rgba(255,255,255,.82);
  font-family:var(--font-heading);
  font-size:clamp(.7rem, .72vw, .8rem);
  font-weight:700;
  letter-spacing:.04em;
  text-decoration:none;
  text-transform:uppercase;
  white-space:nowrap;
}

.product-group__learn-more:hover,
.product-group__learn-more:focus-visible{
  border-color:var(--logo-blue);
  color:#fff;
}

.product-group__estimate-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-width:220px;
  max-width:290px;
  min-height:42px;
  padding:.65rem .9rem;
  border:1px solid rgba(249,115,22,.95);
  border-radius:8px;
  background:linear-gradient(135deg, #f97316, #dc5208);
  color:#fff;
  font-family:var(--font-heading, inherit);
  font-size:clamp(.7rem, .74vw, .82rem);
  font-weight:700;
  line-height:1;
  letter-spacing:.045em;
  text-transform:uppercase;
  white-space:nowrap;
  cursor:pointer;
}

.product-group__estimate-toggle svg{
  flex:0 0 auto;
  width:15px;
  height:15px;
}

.product-group__estimate-toggle.is-selected,
.product-group__estimate-toggle[aria-pressed="true"]{
  color:#fff;
  background:rgba(0,168,248,.15);
  border-color:rgba(0,168,248,.85);
  box-shadow:0 0 18px rgba(0,168,248,.11);
}
.product-panel--capability .product-panel__media::before{display:none}
.product-panel--capability .product-panel__price{font-size:clamp(.82rem,1vw,1rem);line-height:1.2}

/* ================= Product comparison grid (two-column landscape cards) ================= */
.product-comparison-grid{
  display:flex;
  align-items:stretch;
  gap:22px;
  padding:20px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x proximity;
  scroll-behavior:smooth;
  scrollbar-width:none;
}

.product-comparison-grid::-webkit-scrollbar{
  display:none;
}

.product-comparison-grid > .product-comparison-card{
  flex:0 0 calc(50% - 11px);
  scroll-snap-align:start;
  scroll-snap-stop:always;
}

@media(prefers-reduced-motion: reduce){
  .product-comparison-grid{
    scroll-behavior:auto;
  }
}

.product-comparison-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(140px, 40%) minmax(0, 1fr);
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  background:#0b0f11;
  transition:transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.product-comparison-card:hover,
.product-comparison-card:focus-within{
  transform:translateY(-3px);
  border-color:rgba(249,115,22,.65);
  box-shadow:0 0 22px rgba(249,115,22,.12), 0 14px 30px rgba(0,0,0,.3);
}

.product-comparison-card__media{
  position:relative;
  display:grid;
  place-items:center;
  min-width:0;
  overflow:hidden;
  background:
    radial-gradient(circle at center, rgba(249,115,22,.07), transparent 60%),
    #070a0c;
}

.product-comparison-card__media::before{
  content:"";
  display:block;
  width:clamp(40px, 4vw, 60px);
  height:clamp(40px, 4vw, 60px);
  background:currentColor;
  color:rgba(255,255,255,.22);
  mask:var(--icon, var(--icon-shield)) center / contain no-repeat;
  -webkit-mask:var(--icon, var(--icon-shield)) center / contain no-repeat;
}

.product-comparison-card--capability .product-comparison-card__media::before{
  display:none;
}

.product-comparison-card__media--photo::before{
  display:none;
}

.product-comparison-card__media--photo img{
  width:100%;
  height:100%;
  padding:18px;
  object-fit:contain;
  object-position:center;
}

#perimeter-entry-points .product-comparison-card__media{--icon:var(--icon-lock);}
#interior-detection .product-comparison-card__media{--icon:var(--icon-activity);}
#gate-driveways .product-comparison-card__media{--icon:var(--icon-garage);}
#alarm-verification .product-comparison-card__media{--icon:var(--icon-camera);}
#fire-protection .product-comparison-card__media{--icon:var(--icon-flame);}
#water-protection .product-comparison-card__media{--icon:var(--icon-droplet);}
#temperature-monitoring .product-comparison-card__media{--icon:var(--icon-thermometer);}
#air-quality-gas-monitoring .product-comparison-card__media{--icon:var(--icon-alert);}
#smart-home-integration .product-comparison-card__media{--icon:var(--icon-smartphone);}

.product-comparison-card__content{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:18px 20px;
}

.product-comparison-card__model{
  margin:0 0 4px;
  color:rgba(255,255,255,.5);
  font-size:11px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.product-comparison-card__name{
  margin:0 0 8px;
  color:#fff;
  font-family:var(--font-heading);
  font-weight:700;
  font-size:19px;
  line-height:1.2;
}

.product-comparison-card__price-row{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:6px 8px;
  margin:0 0 4px;
}

.product-comparison-card__price-label{
  color:rgba(255,255,255,.5);
  font-size:11px;
}

.product-comparison-card__price{
  color:var(--css-orange);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:20px;
}

.product-comparison-card--capability .product-comparison-card__price{
  font-size:13px;
  line-height:1.3;
}

.product-comparison-card__equipment-note{
  margin:0 0 12px;
  color:rgba(255,255,255,.42);
  font-size:11px;
  font-style:italic;
  line-height:1.3;
}

.product-comparison-card__description{
  margin:0 0 14px;
  color:rgba(255,255,255,.7);
  font-size:13.5px;
  line-height:1.55;
}

.product-comparison-card__details{
  display:flex;
  flex-direction:column;
  margin:0 0 14px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.08);
}

.product-comparison-card__detail-row{
  display:flex;
  flex-wrap:wrap;
  gap:0 6px;
  margin:0;
  padding:6px 0;
  font-size:12.5px;
  line-height:1.4;
}

.product-comparison-card__detail-row + .product-comparison-card__detail-row{
  border-top:1px solid rgba(255,255,255,.06);
}

.product-comparison-card__detail-label{
  flex:0 0 auto;
  color:var(--css-orange);
  font-weight:600;
}

.product-comparison-card__detail-label::after{
  content:":";
}

.product-comparison-card__detail-value{
  flex:1 1 200px;
  color:rgba(255,255,255,.7);
}

.product-comparison-card__spec-note{
  margin:0 0 14px;
  color:rgba(255,255,255,.48);
  font-size:11.5px;
  font-style:italic;
  line-height:1.45;
}

.product-comparison-card__tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0 0 16px;
  padding:0;
  list-style:none;
}

.product-comparison-card__tags li{
  padding:4px 10px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:4px;
  background:rgba(255,255,255,.03);
  color:rgba(255,255,255,.6);
  font-size:11px;
}

/* Advisory/support panel used to fill an odd product-card slot (Air
   Quality & Gas Monitoring) and the compact-benefits list used by
   Managed Services & Support service cards - plain bullet list, not
   chip tags. */
.product-comparison-card__advisory-list,
.product-comparison-card__benefits-list{
  margin:0 0 14px;
  padding-left:18px;
  color:rgba(255,255,255,.7);
  font-size:12.5px;
  line-height:1.5;
}

.product-comparison-card__advisory-list li,
.product-comparison-card__benefits-list li{
  margin-bottom:4px;
}

.product-comparison-card__advisory-list li:last-child,
.product-comparison-card__benefits-list li:last-child{
  margin-bottom:0;
}

/* Managed Services & Support service cards: no MSRP, longer pricing-basis
   text in the price slot, so it needs the same reduced size already used
   by the capability-card variant. */
.product-comparison-card--service .product-comparison-card__price{
  font-size:13px;
  line-height:1.3;
}

.product-comparison-card__cta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:40px;
  margin-top:auto;
  padding:10px 0 4px;
  color:var(--css-orange);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:12.5px;
  letter-spacing:.02em;
  text-decoration:none;
}

.product-comparison-card__cta:hover,
.product-comparison-card__cta:focus-visible{
  color:#fff;
}

.product-comparison-card__cta:focus-visible{
  outline:2px solid var(--logo-blue);
  outline-offset:3px;
  border-radius:3px;
}

/* ================= Perimeter Entry Points only: large-image overlay cards =================
   Scoped entirely under #perimeter-entry-points so every other category keeps the
   existing .product-comparison-card layout untouched. */
#perimeter-entry-points .product-comparison-card{
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:1fr auto;
  height:clamp(315px, 22vw, 378px);
}

#perimeter-entry-points .product-comparison-card__media{
  grid-column:1;
  grid-row:1;
  min-height:0;
  place-items:stretch;
  background:#000;
  aspect-ratio:auto;
}

#perimeter-entry-points .product-comparison-card__media::before{
  width:clamp(70px, 9vw, 120px);
  height:clamp(70px, 9vw, 120px);
}

#perimeter-entry-points .product-comparison-card__media--photo img{
  min-width:0;
  min-height:0;
  padding:clamp(10px, 1.2vw, 16px);
}

#perimeter-entry-points .product-comparison-card__summary{
  grid-column:1;
  grid-row:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-width:0;
  padding:14px 18px;
  border-top:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg, rgba(11,15,17,.35), rgba(11,15,17,.94));
}

#perimeter-entry-points .product-comparison-card__summary-text{
  min-width:0;
}

#perimeter-entry-points .product-comparison-card__summary .product-comparison-card__model{
  margin:0 0 2px;
}

#perimeter-entry-points .product-comparison-card__summary .product-comparison-card__name{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  margin:0;
  font-size:16px;
  line-height:1.25;
}

#perimeter-entry-points .product-comparison-card__summary .product-comparison-card__price-row{
  flex:0 0 auto;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  margin:0;
  text-align:right;
}

#perimeter-entry-points .product-comparison-card__summary .product-comparison-card__price-label{
  letter-spacing:.05em;
  text-transform:uppercase;
}

/* ---- Hover / focus / tap overlay ---- */
#perimeter-entry-points .product-comparison-card__overlay{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:20px 22px;
  background:rgba(7,10,12,.88);
  opacity:0;
  transform:translateY(6px);
  pointer-events:none;
  overflow-y:auto;
  transition:opacity 240ms ease, transform 240ms ease;
}

#perimeter-entry-points .product-comparison-card:hover .product-comparison-card__overlay,
#perimeter-entry-points .product-comparison-card:focus-within .product-comparison-card__overlay,
#perimeter-entry-points .product-comparison-card.is-overlay-open .product-comparison-card__overlay{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

@media(prefers-reduced-motion: reduce){
  #perimeter-entry-points .product-comparison-card__overlay{
    transform:none;
    transition:opacity 150ms ease;
  }
}

#perimeter-entry-points .product-comparison-card__overlay .product-comparison-card__model{
  margin:0 0 4px;
}

#perimeter-entry-points .product-comparison-card__overlay-name{
  margin:0 0 6px;
  color:#fff;
  font-family:var(--font-heading);
  font-weight:700;
  font-size:18px;
  line-height:1.2;
}

#perimeter-entry-points .product-comparison-card__overlay-price{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin:0 0 4px;
}

#perimeter-entry-points .product-comparison-card__overlay-price span{
  color:rgba(255,255,255,.5);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
}

#perimeter-entry-points .product-comparison-card__overlay-price strong{
  color:var(--css-orange);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:17px;
}

#perimeter-entry-points .product-comparison-card__overlay .product-comparison-card__equipment-note{
  margin:0 0 10px;
}

#perimeter-entry-points .product-comparison-card__overlay .product-comparison-card__description{
  margin:0 0 10px;
  font-size:12.5px;
}

#perimeter-entry-points .product-comparison-card__overlay .product-comparison-card__details{
  margin:0 0 10px;
  padding-top:8px;
}

#perimeter-entry-points .product-comparison-card__overlay .product-comparison-card__detail-row{
  padding:5px 0;
  font-size:11.5px;
}

#perimeter-entry-points .product-comparison-card__overlay .product-comparison-card__tags{
  margin:0 0 10px;
}

#perimeter-entry-points .product-comparison-card__overlay .product-comparison-card__cta{
  margin-top:auto;
  padding-top:6px;
}

#perimeter-entry-points .product-comparison-card__overlay-close{
  display:none;
  position:absolute;
  top:10px;
  right:10px;
  z-index:3;
  width:30px;
  height:30px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(0,0,0,.4);
  color:#fff;
  cursor:pointer;
}

#perimeter-entry-points .product-comparison-card__overlay-close svg{
  width:14px;
  height:14px;
}

#perimeter-entry-points .product-comparison-card__info-toggle{
  display:none;
  position:absolute;
  bottom:12px;
  right:12px;
  z-index:3;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(7,10,12,.72);
  color:#fff;
  cursor:pointer;
}

#perimeter-entry-points .product-comparison-card__info-toggle svg{
  width:16px;
  height:16px;
}

#perimeter-entry-points .product-comparison-card__info-toggle:focus-visible,
#perimeter-entry-points .product-comparison-card__overlay-close:focus-visible{
  outline:2px solid var(--logo-blue);
  outline-offset:2px;
}

@media (hover:none), (pointer:coarse){
  #perimeter-entry-points .product-comparison-card__info-toggle{
    display:flex;
  }
  #perimeter-entry-points .product-comparison-card.is-overlay-open .product-comparison-card__overlay-close{
    display:flex;
  }
}

/* ================= Categories 02-10: standardized to match the Perimeter Entry Points
   card system exactly. Scoped per non-Perimeter category id - Perimeter's own rules
   above are untouched, and none of these selectors match #perimeter-entry-points. */

#interior-detection .product-comparison-card,
#gate-driveways .product-comparison-card,
#alarm-verification .product-comparison-card,
#fire-protection .product-comparison-card,
#water-protection .product-comparison-card,
#temperature-monitoring .product-comparison-card,
#air-quality-gas-monitoring .product-comparison-card,
#smart-home-integration .product-comparison-card,
#alarm-managed-services .product-comparison-card{
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:1fr auto;
  height:clamp(315px, 22vw, 378px);
}

#interior-detection .product-comparison-card__media,
#gate-driveways .product-comparison-card__media,
#alarm-verification .product-comparison-card__media,
#fire-protection .product-comparison-card__media,
#water-protection .product-comparison-card__media,
#temperature-monitoring .product-comparison-card__media,
#air-quality-gas-monitoring .product-comparison-card__media,
#smart-home-integration .product-comparison-card__media,
#alarm-managed-services .product-comparison-card__media{
  grid-column:1;
  grid-row:1;
  min-height:0;
  place-items:stretch;
  background:#000;
  aspect-ratio:auto;
}

#interior-detection .product-comparison-card__media::before,
#gate-driveways .product-comparison-card__media::before,
#alarm-verification .product-comparison-card__media::before,
#fire-protection .product-comparison-card__media::before,
#water-protection .product-comparison-card__media::before,
#temperature-monitoring .product-comparison-card__media::before,
#air-quality-gas-monitoring .product-comparison-card__media::before,
#smart-home-integration .product-comparison-card__media::before,
#alarm-managed-services .product-comparison-card__media::before{
  width:clamp(70px, 9vw, 120px);
  height:clamp(70px, 9vw, 120px);
}

#interior-detection .product-comparison-card__media--photo img,
#gate-driveways .product-comparison-card__media--photo img,
#alarm-verification .product-comparison-card__media--photo img,
#fire-protection .product-comparison-card__media--photo img,
#water-protection .product-comparison-card__media--photo img,
#temperature-monitoring .product-comparison-card__media--photo img,
#air-quality-gas-monitoring .product-comparison-card__media--photo img,
#smart-home-integration .product-comparison-card__media--photo img,
#alarm-managed-services .product-comparison-card__media--photo img{
  min-width:0;
  min-height:0;
  padding:clamp(10px, 1.2vw, 16px);
}

#interior-detection .product-comparison-card__summary,
#gate-driveways .product-comparison-card__summary,
#alarm-verification .product-comparison-card__summary,
#fire-protection .product-comparison-card__summary,
#water-protection .product-comparison-card__summary,
#temperature-monitoring .product-comparison-card__summary,
#air-quality-gas-monitoring .product-comparison-card__summary,
#smart-home-integration .product-comparison-card__summary,
#alarm-managed-services .product-comparison-card__summary{
  grid-column:1;
  grid-row:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-width:0;
  padding:14px 18px;
  border-top:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg, rgba(11,15,17,.35), rgba(11,15,17,.94));
}

#interior-detection .product-comparison-card__summary-text,
#gate-driveways .product-comparison-card__summary-text,
#alarm-verification .product-comparison-card__summary-text,
#fire-protection .product-comparison-card__summary-text,
#water-protection .product-comparison-card__summary-text,
#temperature-monitoring .product-comparison-card__summary-text,
#air-quality-gas-monitoring .product-comparison-card__summary-text,
#smart-home-integration .product-comparison-card__summary-text,
#alarm-managed-services .product-comparison-card__summary-text{
  min-width:0;
}

#interior-detection .product-comparison-card__summary .product-comparison-card__model,
#gate-driveways .product-comparison-card__summary .product-comparison-card__model,
#alarm-verification .product-comparison-card__summary .product-comparison-card__model,
#fire-protection .product-comparison-card__summary .product-comparison-card__model,
#water-protection .product-comparison-card__summary .product-comparison-card__model,
#temperature-monitoring .product-comparison-card__summary .product-comparison-card__model,
#air-quality-gas-monitoring .product-comparison-card__summary .product-comparison-card__model,
#smart-home-integration .product-comparison-card__summary .product-comparison-card__model,
#alarm-managed-services .product-comparison-card__summary .product-comparison-card__model{
  margin:0 0 2px;
}

#interior-detection .product-comparison-card__summary .product-comparison-card__name,
#gate-driveways .product-comparison-card__summary .product-comparison-card__name,
#alarm-verification .product-comparison-card__summary .product-comparison-card__name,
#fire-protection .product-comparison-card__summary .product-comparison-card__name,
#water-protection .product-comparison-card__summary .product-comparison-card__name,
#temperature-monitoring .product-comparison-card__summary .product-comparison-card__name,
#air-quality-gas-monitoring .product-comparison-card__summary .product-comparison-card__name,
#smart-home-integration .product-comparison-card__summary .product-comparison-card__name,
#alarm-managed-services .product-comparison-card__summary .product-comparison-card__name{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  margin:0;
  font-size:16px;
  line-height:1.25;
}

#interior-detection .product-comparison-card__summary .product-comparison-card__price-row,
#gate-driveways .product-comparison-card__summary .product-comparison-card__price-row,
#alarm-verification .product-comparison-card__summary .product-comparison-card__price-row,
#fire-protection .product-comparison-card__summary .product-comparison-card__price-row,
#water-protection .product-comparison-card__summary .product-comparison-card__price-row,
#temperature-monitoring .product-comparison-card__summary .product-comparison-card__price-row,
#air-quality-gas-monitoring .product-comparison-card__summary .product-comparison-card__price-row,
#smart-home-integration .product-comparison-card__summary .product-comparison-card__price-row,
#alarm-managed-services .product-comparison-card__summary .product-comparison-card__price-row{
  flex:0 0 auto;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  margin:0;
  text-align:right;
}

#interior-detection .product-comparison-card__summary .product-comparison-card__price-label,
#gate-driveways .product-comparison-card__summary .product-comparison-card__price-label,
#alarm-verification .product-comparison-card__summary .product-comparison-card__price-label,
#fire-protection .product-comparison-card__summary .product-comparison-card__price-label,
#water-protection .product-comparison-card__summary .product-comparison-card__price-label,
#temperature-monitoring .product-comparison-card__summary .product-comparison-card__price-label,
#air-quality-gas-monitoring .product-comparison-card__summary .product-comparison-card__price-label,
#smart-home-integration .product-comparison-card__summary .product-comparison-card__price-label,
#alarm-managed-services .product-comparison-card__summary .product-comparison-card__price-label{
  letter-spacing:.05em;
  text-transform:uppercase;
}

/* ---- Hover / focus / tap overlay ---- */
#interior-detection .product-comparison-card__overlay,
#gate-driveways .product-comparison-card__overlay,
#alarm-verification .product-comparison-card__overlay,
#fire-protection .product-comparison-card__overlay,
#water-protection .product-comparison-card__overlay,
#temperature-monitoring .product-comparison-card__overlay,
#air-quality-gas-monitoring .product-comparison-card__overlay,
#smart-home-integration .product-comparison-card__overlay,
#alarm-managed-services .product-comparison-card__overlay{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:20px 22px;
  background:rgba(7,10,12,.88);
  opacity:0;
  transform:translateY(6px);
  pointer-events:none;
  overflow-y:auto;
  transition:opacity 240ms ease, transform 240ms ease;
}

#interior-detection .product-comparison-card:hover .product-comparison-card__overlay,
#interior-detection .product-comparison-card:focus-within .product-comparison-card__overlay,
#interior-detection .product-comparison-card.is-overlay-open .product-comparison-card__overlay,
#gate-driveways .product-comparison-card:hover .product-comparison-card__overlay,
#gate-driveways .product-comparison-card:focus-within .product-comparison-card__overlay,
#gate-driveways .product-comparison-card.is-overlay-open .product-comparison-card__overlay,
#alarm-verification .product-comparison-card:hover .product-comparison-card__overlay,
#alarm-verification .product-comparison-card:focus-within .product-comparison-card__overlay,
#alarm-verification .product-comparison-card.is-overlay-open .product-comparison-card__overlay,
#fire-protection .product-comparison-card:hover .product-comparison-card__overlay,
#fire-protection .product-comparison-card:focus-within .product-comparison-card__overlay,
#fire-protection .product-comparison-card.is-overlay-open .product-comparison-card__overlay,
#water-protection .product-comparison-card:hover .product-comparison-card__overlay,
#water-protection .product-comparison-card:focus-within .product-comparison-card__overlay,
#water-protection .product-comparison-card.is-overlay-open .product-comparison-card__overlay,
#temperature-monitoring .product-comparison-card:hover .product-comparison-card__overlay,
#temperature-monitoring .product-comparison-card:focus-within .product-comparison-card__overlay,
#temperature-monitoring .product-comparison-card.is-overlay-open .product-comparison-card__overlay,
#air-quality-gas-monitoring .product-comparison-card:hover .product-comparison-card__overlay,
#air-quality-gas-monitoring .product-comparison-card:focus-within .product-comparison-card__overlay,
#air-quality-gas-monitoring .product-comparison-card.is-overlay-open .product-comparison-card__overlay,
#smart-home-integration .product-comparison-card:hover .product-comparison-card__overlay,
#smart-home-integration .product-comparison-card:focus-within .product-comparison-card__overlay,
#smart-home-integration .product-comparison-card.is-overlay-open .product-comparison-card__overlay,
#alarm-managed-services .product-comparison-card:hover .product-comparison-card__overlay,
#alarm-managed-services .product-comparison-card:focus-within .product-comparison-card__overlay,
#alarm-managed-services .product-comparison-card.is-overlay-open .product-comparison-card__overlay{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

@media(prefers-reduced-motion: reduce){
  #interior-detection .product-comparison-card__overlay,
  #gate-driveways .product-comparison-card__overlay,
  #alarm-verification .product-comparison-card__overlay,
  #fire-protection .product-comparison-card__overlay,
  #water-protection .product-comparison-card__overlay,
  #temperature-monitoring .product-comparison-card__overlay,
  #air-quality-gas-monitoring .product-comparison-card__overlay,
  #smart-home-integration .product-comparison-card__overlay,
  #alarm-managed-services .product-comparison-card__overlay{
    transform:none;
    transition:opacity 150ms ease;
  }
}

/* Managed Services & Support service cards: no product photo or icon
   background - the detail content (normally hover/touch-revealed on
   product cards) is always visible instead. The card, media, and summary
   markup is not rendered for this category; .product-comparison-card__overlay
   is reused purely for its existing typography/spacing rules below, but
   switched here from an absolute hover layer to normal static content.
   Placed after the shared hover/reduced-motion rules above so it wins the
   cascade instead of being overridden by their opacity:0/position:absolute. */
#alarm-managed-services .product-comparison-card{
  display:block;
}
#alarm-managed-services .product-comparison-card__overlay{
  position:static;
  inset:auto;
  opacity:1;
  transform:none;
  pointer-events:auto;
  height:100%;
  transition:none;
}

#interior-detection .product-comparison-card__overlay .product-comparison-card__model,
#gate-driveways .product-comparison-card__overlay .product-comparison-card__model,
#alarm-verification .product-comparison-card__overlay .product-comparison-card__model,
#fire-protection .product-comparison-card__overlay .product-comparison-card__model,
#water-protection .product-comparison-card__overlay .product-comparison-card__model,
#temperature-monitoring .product-comparison-card__overlay .product-comparison-card__model,
#air-quality-gas-monitoring .product-comparison-card__overlay .product-comparison-card__model,
#smart-home-integration .product-comparison-card__overlay .product-comparison-card__model,
#alarm-managed-services .product-comparison-card__overlay .product-comparison-card__model{
  margin:0 0 4px;
}

#interior-detection .product-comparison-card__overlay-name,
#gate-driveways .product-comparison-card__overlay-name,
#alarm-verification .product-comparison-card__overlay-name,
#fire-protection .product-comparison-card__overlay-name,
#water-protection .product-comparison-card__overlay-name,
#temperature-monitoring .product-comparison-card__overlay-name,
#air-quality-gas-monitoring .product-comparison-card__overlay-name,
#smart-home-integration .product-comparison-card__overlay-name,
#alarm-managed-services .product-comparison-card__overlay-name{
  margin:0 0 6px;
  color:#fff;
  font-family:var(--font-heading);
  font-weight:700;
  font-size:18px;
  line-height:1.2;
}

#interior-detection .product-comparison-card__overlay-price,
#gate-driveways .product-comparison-card__overlay-price,
#alarm-verification .product-comparison-card__overlay-price,
#fire-protection .product-comparison-card__overlay-price,
#water-protection .product-comparison-card__overlay-price,
#temperature-monitoring .product-comparison-card__overlay-price,
#air-quality-gas-monitoring .product-comparison-card__overlay-price,
#smart-home-integration .product-comparison-card__overlay-price,
#alarm-managed-services .product-comparison-card__overlay-price{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin:0 0 4px;
}

#interior-detection .product-comparison-card__overlay-price span,
#gate-driveways .product-comparison-card__overlay-price span,
#alarm-verification .product-comparison-card__overlay-price span,
#fire-protection .product-comparison-card__overlay-price span,
#water-protection .product-comparison-card__overlay-price span,
#temperature-monitoring .product-comparison-card__overlay-price span,
#air-quality-gas-monitoring .product-comparison-card__overlay-price span,
#smart-home-integration .product-comparison-card__overlay-price span,
#alarm-managed-services .product-comparison-card__overlay-price span{
  color:rgba(255,255,255,.5);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
}

#interior-detection .product-comparison-card__overlay-price strong,
#gate-driveways .product-comparison-card__overlay-price strong,
#alarm-verification .product-comparison-card__overlay-price strong,
#fire-protection .product-comparison-card__overlay-price strong,
#water-protection .product-comparison-card__overlay-price strong,
#temperature-monitoring .product-comparison-card__overlay-price strong,
#air-quality-gas-monitoring .product-comparison-card__overlay-price strong,
#smart-home-integration .product-comparison-card__overlay-price strong,
#alarm-managed-services .product-comparison-card__overlay-price strong{
  color:var(--css-orange);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:17px;
}

#interior-detection .product-comparison-card__overlay .product-comparison-card__equipment-note,
#gate-driveways .product-comparison-card__overlay .product-comparison-card__equipment-note,
#alarm-verification .product-comparison-card__overlay .product-comparison-card__equipment-note,
#fire-protection .product-comparison-card__overlay .product-comparison-card__equipment-note,
#water-protection .product-comparison-card__overlay .product-comparison-card__equipment-note,
#temperature-monitoring .product-comparison-card__overlay .product-comparison-card__equipment-note,
#air-quality-gas-monitoring .product-comparison-card__overlay .product-comparison-card__equipment-note,
#smart-home-integration .product-comparison-card__overlay .product-comparison-card__equipment-note,
#alarm-managed-services .product-comparison-card__overlay .product-comparison-card__equipment-note{
  margin:0 0 10px;
}

#interior-detection .product-comparison-card__overlay .product-comparison-card__description,
#gate-driveways .product-comparison-card__overlay .product-comparison-card__description,
#alarm-verification .product-comparison-card__overlay .product-comparison-card__description,
#fire-protection .product-comparison-card__overlay .product-comparison-card__description,
#water-protection .product-comparison-card__overlay .product-comparison-card__description,
#temperature-monitoring .product-comparison-card__overlay .product-comparison-card__description,
#air-quality-gas-monitoring .product-comparison-card__overlay .product-comparison-card__description,
#smart-home-integration .product-comparison-card__overlay .product-comparison-card__description,
#alarm-managed-services .product-comparison-card__overlay .product-comparison-card__description{
  margin:0 0 10px;
  font-size:12.5px;
}

#interior-detection .product-comparison-card__overlay .product-comparison-card__details,
#gate-driveways .product-comparison-card__overlay .product-comparison-card__details,
#alarm-verification .product-comparison-card__overlay .product-comparison-card__details,
#fire-protection .product-comparison-card__overlay .product-comparison-card__details,
#water-protection .product-comparison-card__overlay .product-comparison-card__details,
#temperature-monitoring .product-comparison-card__overlay .product-comparison-card__details,
#air-quality-gas-monitoring .product-comparison-card__overlay .product-comparison-card__details,
#smart-home-integration .product-comparison-card__overlay .product-comparison-card__details,
#alarm-managed-services .product-comparison-card__overlay .product-comparison-card__details{
  margin:0 0 10px;
  padding-top:8px;
}

/* Service cards pack more required content (best-for row + 4 benefits +
   4 tags) than a typical product overlay, so tighten spacing to match how
   .details/.description are already tightened above for this category. */
#alarm-managed-services .product-comparison-card__overlay .product-comparison-card__benefits-list{
  margin:0 0 10px;
}

#alarm-managed-services .product-comparison-card__overlay .product-comparison-card__benefits-list li{
  margin-bottom:2px;
}

#interior-detection .product-comparison-card__overlay .product-comparison-card__detail-row,
#gate-driveways .product-comparison-card__overlay .product-comparison-card__detail-row,
#alarm-verification .product-comparison-card__overlay .product-comparison-card__detail-row,
#fire-protection .product-comparison-card__overlay .product-comparison-card__detail-row,
#water-protection .product-comparison-card__overlay .product-comparison-card__detail-row,
#temperature-monitoring .product-comparison-card__overlay .product-comparison-card__detail-row,
#air-quality-gas-monitoring .product-comparison-card__overlay .product-comparison-card__detail-row,
#smart-home-integration .product-comparison-card__overlay .product-comparison-card__detail-row,
#alarm-managed-services .product-comparison-card__overlay .product-comparison-card__detail-row{
  padding:5px 0;
  font-size:11.5px;
}

#interior-detection .product-comparison-card__overlay .product-comparison-card__tags,
#gate-driveways .product-comparison-card__overlay .product-comparison-card__tags,
#alarm-verification .product-comparison-card__overlay .product-comparison-card__tags,
#fire-protection .product-comparison-card__overlay .product-comparison-card__tags,
#water-protection .product-comparison-card__overlay .product-comparison-card__tags,
#temperature-monitoring .product-comparison-card__overlay .product-comparison-card__tags,
#air-quality-gas-monitoring .product-comparison-card__overlay .product-comparison-card__tags,
#smart-home-integration .product-comparison-card__overlay .product-comparison-card__tags,
#alarm-managed-services .product-comparison-card__overlay .product-comparison-card__tags{
  margin:0 0 10px;
}

#interior-detection .product-comparison-card__overlay .product-comparison-card__cta,
#gate-driveways .product-comparison-card__overlay .product-comparison-card__cta,
#alarm-verification .product-comparison-card__overlay .product-comparison-card__cta,
#fire-protection .product-comparison-card__overlay .product-comparison-card__cta,
#water-protection .product-comparison-card__overlay .product-comparison-card__cta,
#temperature-monitoring .product-comparison-card__overlay .product-comparison-card__cta,
#air-quality-gas-monitoring .product-comparison-card__overlay .product-comparison-card__cta,
#smart-home-integration .product-comparison-card__overlay .product-comparison-card__cta,
#alarm-managed-services .product-comparison-card__overlay .product-comparison-card__cta{
  margin-top:auto;
  padding-top:6px;
}

#interior-detection .product-comparison-card__overlay-close,
#gate-driveways .product-comparison-card__overlay-close,
#alarm-verification .product-comparison-card__overlay-close,
#fire-protection .product-comparison-card__overlay-close,
#water-protection .product-comparison-card__overlay-close,
#temperature-monitoring .product-comparison-card__overlay-close,
#air-quality-gas-monitoring .product-comparison-card__overlay-close,
#smart-home-integration .product-comparison-card__overlay-close,
#alarm-managed-services .product-comparison-card__overlay-close{
  display:none;
  position:absolute;
  top:10px;
  right:10px;
  z-index:3;
  width:30px;
  height:30px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(0,0,0,.4);
  color:#fff;
  cursor:pointer;
}

#interior-detection .product-comparison-card__overlay-close svg,
#gate-driveways .product-comparison-card__overlay-close svg,
#alarm-verification .product-comparison-card__overlay-close svg,
#fire-protection .product-comparison-card__overlay-close svg,
#water-protection .product-comparison-card__overlay-close svg,
#temperature-monitoring .product-comparison-card__overlay-close svg,
#air-quality-gas-monitoring .product-comparison-card__overlay-close svg,
#smart-home-integration .product-comparison-card__overlay-close svg,
#alarm-managed-services .product-comparison-card__overlay-close svg{
  width:14px;
  height:14px;
}

#interior-detection .product-comparison-card__info-toggle,
#gate-driveways .product-comparison-card__info-toggle,
#alarm-verification .product-comparison-card__info-toggle,
#fire-protection .product-comparison-card__info-toggle,
#water-protection .product-comparison-card__info-toggle,
#temperature-monitoring .product-comparison-card__info-toggle,
#air-quality-gas-monitoring .product-comparison-card__info-toggle,
#smart-home-integration .product-comparison-card__info-toggle,
#alarm-managed-services .product-comparison-card__info-toggle{
  display:none;
  position:absolute;
  bottom:12px;
  right:12px;
  z-index:3;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(7,10,12,.72);
  color:#fff;
  cursor:pointer;
}

#interior-detection .product-comparison-card__info-toggle svg,
#gate-driveways .product-comparison-card__info-toggle svg,
#alarm-verification .product-comparison-card__info-toggle svg,
#fire-protection .product-comparison-card__info-toggle svg,
#water-protection .product-comparison-card__info-toggle svg,
#temperature-monitoring .product-comparison-card__info-toggle svg,
#air-quality-gas-monitoring .product-comparison-card__info-toggle svg,
#smart-home-integration .product-comparison-card__info-toggle svg,
#alarm-managed-services .product-comparison-card__info-toggle svg{
  width:16px;
  height:16px;
}

#interior-detection .product-comparison-card__info-toggle:focus-visible,
#interior-detection .product-comparison-card__overlay-close:focus-visible,
#gate-driveways .product-comparison-card__info-toggle:focus-visible,
#gate-driveways .product-comparison-card__overlay-close:focus-visible,
#alarm-verification .product-comparison-card__info-toggle:focus-visible,
#alarm-verification .product-comparison-card__overlay-close:focus-visible,
#fire-protection .product-comparison-card__info-toggle:focus-visible,
#fire-protection .product-comparison-card__overlay-close:focus-visible,
#water-protection .product-comparison-card__info-toggle:focus-visible,
#water-protection .product-comparison-card__overlay-close:focus-visible,
#temperature-monitoring .product-comparison-card__info-toggle:focus-visible,
#temperature-monitoring .product-comparison-card__overlay-close:focus-visible,
#air-quality-gas-monitoring .product-comparison-card__info-toggle:focus-visible,
#air-quality-gas-monitoring .product-comparison-card__overlay-close:focus-visible,
#smart-home-integration .product-comparison-card__info-toggle:focus-visible,
#smart-home-integration .product-comparison-card__overlay-close:focus-visible,
#alarm-managed-services .product-comparison-card__info-toggle:focus-visible,
#alarm-managed-services .product-comparison-card__overlay-close:focus-visible{
  outline:2px solid var(--logo-blue);
  outline-offset:2px;
}

@media (hover:none), (pointer:coarse){
  #interior-detection .product-comparison-card__info-toggle,
  #gate-driveways .product-comparison-card__info-toggle,
  #alarm-verification .product-comparison-card__info-toggle,
  #fire-protection .product-comparison-card__info-toggle,
  #water-protection .product-comparison-card__info-toggle,
  #temperature-monitoring .product-comparison-card__info-toggle,
  #air-quality-gas-monitoring .product-comparison-card__info-toggle,
  #smart-home-integration .product-comparison-card__info-toggle,
  #alarm-managed-services .product-comparison-card__info-toggle{
    display:flex;
  }
  #interior-detection .product-comparison-card.is-overlay-open .product-comparison-card__overlay-close,
  #gate-driveways .product-comparison-card.is-overlay-open .product-comparison-card__overlay-close,
  #alarm-verification .product-comparison-card.is-overlay-open .product-comparison-card__overlay-close,
  #fire-protection .product-comparison-card.is-overlay-open .product-comparison-card__overlay-close,
  #water-protection .product-comparison-card.is-overlay-open .product-comparison-card__overlay-close,
  #temperature-monitoring .product-comparison-card.is-overlay-open .product-comparison-card__overlay-close,
  #air-quality-gas-monitoring .product-comparison-card.is-overlay-open .product-comparison-card__overlay-close,
  #smart-home-integration .product-comparison-card.is-overlay-open .product-comparison-card__overlay-close,
  #alarm-managed-services .product-comparison-card.is-overlay-open .product-comparison-card__overlay-close{
    display:flex;
  }
}


.product-group__compatibility-note{
  margin:0;
  padding:10px 20px;
  border-top:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.42);
  font-size:11px;
  line-height:1.45;
}

.product-group__footer-bar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding:12px 20px;
  border-top:1px solid rgba(255,255,255,.08);
}

.product-group__footer-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:rgba(255,255,255,.75);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:12.5px;
  letter-spacing:.03em;
  text-decoration:none;
  text-transform:uppercase;
}

.product-group__footer-link svg{
  flex:0 0 auto;
  width:13px;
  height:13px;
}

.product-group__footer-link:hover,
.product-group__footer-link:focus-visible{
  color:var(--css-orange);
}

.product-group__footer-link:focus-visible{
  outline:2px solid var(--logo-blue);
  outline-offset:3px;
  border-radius:3px;
}

@media(max-width:1199px){
  .product-comparison-grid > .product-comparison-card{flex-basis:100%;}
}
@media(max-width:899px){
  .product-comparison-grid > .product-comparison-card{flex-basis:calc(50% - 11px);}
}
@media(max-width:700px){
  .product-comparison-grid{gap:16px; padding:14px;}
  .product-comparison-grid > .product-comparison-card{flex-basis:100%;}
  .product-group__header{padding:.7rem .85rem;}
}
@media(max-width:600px){
  .product-comparison-card{grid-template-columns:1fr;}
  .product-comparison-card__media{aspect-ratio:16 / 10;}
}

/* ---- Consultation panel beneath the full product grid ---- */
.product-consultation-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
  margin-top:2px;
  padding:26px 28px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:linear-gradient(135deg, rgba(249,115,22,.06), rgba(255,255,255,.015)), #0b0f11;
}

.product-consultation-panel__heading{
  margin:0 0 6px;
  color:#fff;
  font-family:var(--font-heading);
  font-weight:700;
  font-size:22px;
}

.product-consultation-panel__text{
  margin:0;
  max-width:640px;
  color:rgba(255,255,255,.68);
  font-size:14.5px;
  line-height:1.55;
}

.product-consultation-panel__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

@media(max-width:700px){
  .product-consultation-panel{
    grid-template-columns:1fr;
    padding:22px 20px;
  }
  .product-consultation-panel__actions{
    flex-direction:column;
  }
  .product-consultation-panel__actions .alarm-button{
    width:100%;
  }
}

@media(min-width:1200px) and (max-width:1499px){.alarm-protection-builder__layout{grid-template-columns:clamp(320px,25vw,350px) minmax(0,1fr)}}
@media(min-width:900px) and (max-width:1199px){.alarm-protection-builder__layout{grid-template-columns:280px minmax(0,1fr)}.product-group__capabilities{display:none}}
@media(max-width:899px){.alarm-protection-builder{width:min(100% - 1.25rem,1680px)}.alarm-protection-builder__layout{grid-template-columns:minmax(0,1fr)}.product-group__capabilities{display:none}.product-group__description{display:none}}
@media(max-width:480px){.alarm-protection-section{padding:34px 0}.product-group__header{padding:.55rem}.product-group__title{font-size:15px}.product-group__header-tools{gap:5px}.product-group__carousel-control{width:36px;height:36px}}
@media(max-width:767px){.product-group__footer{grid-template-columns:1fr}.product-group__footer-actions{display:grid;grid-template-columns:1fr;width:100%}.product-group__estimate-toggle{order:-1;width:100%;max-width:none;min-width:0;white-space:normal}.product-group__learn-more{width:100%;justify-content:center}}

/* ==========================================================================
   Camera Coverage & Intelligence (camera-coverage.html) -- reuses the
   approved .alarm-protection-section / .protection-layer-guide /
   .protection-product-group / .product-comparison-card layout and
   behaviour verbatim (unscoped rules above, shared with the Alarm Systems
   Protection Layers section). This block adds a hover/focus-reveal card
   treatment, scoped to .camera-video-groups instead of an alarm category
   id so it can never affect alarm-coverage.html rendering. The eyebrow and
   title stay visible by default; everything else (requirement/plan label,
   description, best-for, benefits, tags, CTA) is revealed on hover or
   keyboard focus, matching the Alarm Coverage product-card pattern used
   for the photographed categories (interior-detection, gate-driveways,
   etc.) rather than the always-visible #alarm-managed-services treatment
   these cards used previously.
   ========================================================================== */

/* Two children (estimate toggle + Learn More link) in every camera group
   footer, vs. one in every alarm group footer -- gap is inert on a single
   child, so this is a safe additive change to the shared rule. */
.product-group__footer-bar{
  gap:16px;
}

.camera-video-groups .product-comparison-card{
  display:block;
  height:clamp(315px, 22vw, 378px);
}

.camera-video-groups .product-comparison-card__overlay{
  position:static;
  inset:auto;
  opacity:1;
  transform:none;
  pointer-events:auto;
  height:100%;
  transition:none;
  z-index:2;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:20px 22px;
  background:rgba(7,10,12,.88);
  overflow-y:auto;
}

.camera-video-groups .product-comparison-card__overlay .product-comparison-card__model{
  margin:0 0 4px;
}

/* ---- Hover/focus reveal: eyebrow + title stay visible; everything
   below fades in only on hover or keyboard focus. Layout space stays
   reserved (opacity, not display:none) so revealing content never
   resizes the card or shifts surrounding layout. ---- */
.camera-video-groups .product-comparison-card__overlay-price,
.camera-video-groups .product-comparison-card__overlay .product-comparison-card__description,
.camera-video-groups .product-comparison-card__overlay .product-comparison-card__details,
.camera-video-groups .product-comparison-card__overlay .product-comparison-card__benefits-list,
.camera-video-groups .product-comparison-card__overlay .product-comparison-card__tags,
.camera-video-groups .product-comparison-card__overlay .product-comparison-card__cta{
  opacity:0;
  transform:translateY(6px);
  transition:opacity 240ms ease, transform 240ms ease;
  pointer-events:none;
}

.camera-video-groups .product-comparison-card:hover .product-comparison-card__overlay-price,
.camera-video-groups .product-comparison-card:hover .product-comparison-card__overlay .product-comparison-card__description,
.camera-video-groups .product-comparison-card:hover .product-comparison-card__overlay .product-comparison-card__details,
.camera-video-groups .product-comparison-card:hover .product-comparison-card__overlay .product-comparison-card__benefits-list,
.camera-video-groups .product-comparison-card:hover .product-comparison-card__overlay .product-comparison-card__tags,
.camera-video-groups .product-comparison-card:hover .product-comparison-card__overlay .product-comparison-card__cta,
.camera-video-groups .product-comparison-card:focus-within .product-comparison-card__overlay-price,
.camera-video-groups .product-comparison-card:focus-within .product-comparison-card__overlay .product-comparison-card__description,
.camera-video-groups .product-comparison-card:focus-within .product-comparison-card__overlay .product-comparison-card__details,
.camera-video-groups .product-comparison-card:focus-within .product-comparison-card__overlay .product-comparison-card__benefits-list,
.camera-video-groups .product-comparison-card:focus-within .product-comparison-card__overlay .product-comparison-card__tags,
.camera-video-groups .product-comparison-card:focus-within .product-comparison-card__overlay .product-comparison-card__cta{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

/* Touch/coarse-pointer devices have no reliable hover state, so show the
   full card content by default there rather than trapping it behind a
   gesture -- the same mobile fallback principle already used elsewhere
   on this site. */
@media (hover:none), (pointer:coarse){
  .camera-video-groups .product-comparison-card__overlay-price,
  .camera-video-groups .product-comparison-card__overlay .product-comparison-card__description,
  .camera-video-groups .product-comparison-card__overlay .product-comparison-card__details,
  .camera-video-groups .product-comparison-card__overlay .product-comparison-card__benefits-list,
  .camera-video-groups .product-comparison-card__overlay .product-comparison-card__tags,
  .camera-video-groups .product-comparison-card__overlay .product-comparison-card__cta{
    opacity:1;
    transform:none;
    pointer-events:auto;
  }
}

@media (prefers-reduced-motion: reduce){
  .camera-video-groups .product-comparison-card__overlay-price,
  .camera-video-groups .product-comparison-card__overlay .product-comparison-card__description,
  .camera-video-groups .product-comparison-card__overlay .product-comparison-card__details,
  .camera-video-groups .product-comparison-card__overlay .product-comparison-card__benefits-list,
  .camera-video-groups .product-comparison-card__overlay .product-comparison-card__tags,
  .camera-video-groups .product-comparison-card__overlay .product-comparison-card__cta{
    transition:none;
  }
}

.camera-video-groups .product-comparison-card__overlay-name{
  margin:0 0 6px;
  color:#fff;
  font-family:var(--font-heading);
  font-weight:700;
  font-size:18px;
  line-height:1.2;
}

.camera-video-groups .product-comparison-card__overlay-price{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin:0 0 4px;
}

.camera-video-groups .product-comparison-card__overlay-price span{
  color:rgba(255,255,255,.5);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.camera-video-groups .product-comparison-card__overlay-price strong{
  color:var(--css-orange);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:17px;
}

.camera-video-groups .product-comparison-card__overlay .product-comparison-card__description{
  margin:0 0 10px;
  font-size:12.5px;
}

.camera-video-groups .product-comparison-card__overlay .product-comparison-card__details{
  margin:0 0 10px;
  padding-top:8px;
}

.camera-video-groups .product-comparison-card__overlay .product-comparison-card__benefits-list{
  margin:0 0 10px;
}

.camera-video-groups .product-comparison-card__overlay .product-comparison-card__benefits-list li{
  margin-bottom:2px;
}

.camera-video-groups .product-comparison-card__overlay .product-comparison-card__detail-row{
  padding:5px 0;
  font-size:11.5px;
}

.camera-video-groups .product-comparison-card__overlay .product-comparison-card__tags{
  margin:0 0 10px;
}

.camera-video-groups .product-comparison-card__overlay .product-comparison-card__cta{
  margin-top:auto;
  padding-top:6px;
}

.product-layers{position:relative;isolation:isolate;overflow:hidden;padding:clamp(64px,7vw,104px) 0;background:radial-gradient(circle at 82% 10%,rgba(3,147,202,.1),transparent 28%),linear-gradient(145deg,#030506,#080b0d 48%,#020303);color:#fff}
.product-layers__glow{position:absolute;z-index:-1;inset:auto auto -220px -180px;width:600px;height:600px;border-radius:50%;background:rgba(249,115,22,.08);filter:blur(80px)}
.product-layers__shell{width:min(100% - 2rem,1440px);margin:auto;display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.55fr);gap:clamp(36px,5vw,76px);align-items:start}
.product-layers__intro-inner{position:sticky;top:112px;padding:32px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:linear-gradient(150deg,rgba(255,255,255,.065),rgba(255,255,255,.018));box-shadow:0 28px 70px rgba(0,0,0,.35)}
.product-layers__eyebrow,.product-layer__number,.alarm-product-card__category{margin:0 0 12px;color:var(--css-orange);font-family:var(--font-heading);font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.product-layers__intro h2{margin:0;color:#fff;font-family:var(--font-display);font-size:clamp(2.6rem,4.1vw,4.6rem);font-weight:400;line-height:.98;letter-spacing:.02em;text-transform:uppercase}.product-layers__intro h2 span{color:var(--logo-blue)}
.product-layers__lede{margin:22px 0 0;color:rgba(255,255,255,.72);font-size:16px;line-height:1.65}.product-layers__actions{display:grid;gap:10px;margin-top:26px}.product-layers__actions .alarm-button{justify-content:space-between;width:100%;min-height:52px}.product-layers__promise{margin-top:26px;padding:20px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.product-layers__promise strong{font-family:var(--font-heading);font-size:18px}.product-layers__promise p{margin:8px 0 0;color:rgba(255,255,255,.6);font-size:14px;line-height:1.55}.product-layers__trust{margin:18px 0 0;color:rgba(255,255,255,.48);font-size:12px;line-height:1.7}.product-layers__trust span{color:var(--logo-blue);margin:0 3px}
.product-layers__catalog{display:grid;gap:26px;min-width:0}.product-layer{min-width:0;padding:22px;border:1px solid rgba(3,147,202,.28);border-radius:18px;background:linear-gradient(150deg,rgba(8,18,24,.92),rgba(5,7,8,.95));box-shadow:0 18px 50px rgba(0,0,0,.28)}
.product-layer__header{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:18px}.product-layer__header h3{margin:0;color:#fff;font-family:var(--font-heading);font-size:clamp(1.55rem,2.5vw,2.15rem);text-transform:uppercase}.product-layer__header>div>p:last-child{max-width:710px;margin:7px 0 0;color:rgba(255,255,255,.62);font-size:14px;line-height:1.5}.product-layer__number{margin-bottom:5px;color:var(--logo-blue)}
.product-layer__controls{display:flex;gap:7px;flex:none}.product-layer__controls button{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.2);border-radius:9px;background:#090b0c;color:#fff;cursor:pointer}.product-layer__controls button:hover,.product-layer__controls button:focus-visible{border-color:var(--css-orange);color:var(--css-orange)}
.product-layer__track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-inline:contain;padding:2px 2px 14px;scrollbar-color:var(--css-orange) rgba(255,255,255,.08);scrollbar-width:thin}.product-layer__track:focus-visible{outline:2px solid var(--logo-blue);outline-offset:5px}
.alarm-product-card{flex:0 0 clamp(275px,34vw,326px);scroll-snap-align:start;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:linear-gradient(160deg,#121619,#080a0b);transition:transform .25s,border-color .25s,box-shadow .25s}.alarm-product-card:hover{transform:translateY(-3px);border-color:rgba(249,115,22,.55);box-shadow:0 16px 34px rgba(249,115,22,.08)}
.alarm-product-card__image{display:grid;place-items:center;height:132px;background:linear-gradient(135deg,rgba(3,147,202,.16),rgba(255,255,255,.025)),repeating-linear-gradient(135deg,transparent 0 14px,rgba(255,255,255,.02) 14px 15px);border-bottom:1px solid rgba(255,255,255,.1)}.alarm-product-card__image span{color:rgba(255,255,255,.3);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.alarm-product-card__body{padding:18px}.alarm-product-card__category{margin-bottom:7px;font-size:10px}.alarm-product-card h4{margin:0;color:#fff;font-family:var(--font-heading);font-size:21px}.alarm-product-card__subtitle{margin:4px 0 12px;color:var(--logo-blue);font-size:13px;font-weight:700}.alarm-product-card__description{min-height:66px;margin:0;color:rgba(255,255,255,.64);font-size:13px;line-height:1.55}.alarm-product-card__meta{margin:10px 0 0;color:rgba(255,255,255,.58);font-size:12px;line-height:1.45}.alarm-product-card__meta strong{display:block;color:rgba(255,255,255,.9);font-size:11px;text-transform:uppercase}.alarm-product-card__tags{display:flex;flex-wrap:wrap;gap:5px;margin:14px 0;padding:0;list-style:none}.alarm-product-card__tags li{padding:4px 8px;border:1px solid rgba(3,147,202,.35);border-radius:999px;color:rgba(255,255,255,.7);font-size:10px}.alarm-product-card__price{margin:0 0 13px;color:var(--css-orange);font-family:var(--font-heading);font-size:20px}.alarm-product-card__price small{display:block;color:rgba(255,255,255,.48);font-family:var(--font-body);font-size:10px;text-transform:uppercase}.alarm-product-card__actions{display:grid;grid-template-columns:1fr 1.15fr;gap:7px}.alarm-product-card__actions button,.alarm-product-card__actions a{display:flex;align-items:center;justify-content:center;min-height:39px;border:1px solid rgba(255,255,255,.25);border-radius:6px;background:transparent;color:#fff;font-family:var(--font-heading);font-size:12px;font-weight:700;text-decoration:none;text-transform:uppercase;cursor:pointer}.alarm-product-card__actions a{justify-content:space-around;border-color:var(--css-orange);color:var(--css-orange)}.alarm-product-card__actions button:focus-visible,.alarm-product-card__actions a:focus-visible{outline:2px solid var(--logo-blue);outline-offset:3px}
@media(max-width:900px){.product-layers__shell{grid-template-columns:1fr}.product-layers__intro-inner{position:relative;top:auto}.product-layers__intro h2{max-width:720px}.product-layers__actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.product-layers{padding:56px 0}.product-layers__shell{width:min(100% - 1.25rem,1440px);gap:24px}.product-layers__intro-inner{padding:24px 20px}.product-layers__intro h2{font-size:2.8rem}.product-layers__actions{grid-template-columns:1fr}.product-layer{padding:18px 14px}.product-layer__controls{display:none}.product-layer__header{margin-bottom:15px}.alarm-product-card{flex-basis:min(84vw,310px)}}

.layers-section{
  position:relative;
  overflow:hidden;
  padding:clamp(64px, 9vw, 104px) 0 clamp(56px, 8vw, 92px);
  background:linear-gradient(180deg, #030303 0%, #070707 45%, #050505 100%);
  isolation:isolate;
}

.layers-bg{
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
}

.layers-bg::before,
.layers-bg::after{
  content:"";
  position:absolute;
  width:640px;
  height:640px;
  border-radius:50%;
  filter:blur(20px);
}

.layers-bg::before{
  top:-240px;
  left:-180px;
  background:radial-gradient(circle, rgba(249,115,22,0.16), transparent 62%);
}

.layers-bg::after{
  bottom:-280px;
  right:-220px;
  background:radial-gradient(circle, rgba(3,147,202,0.18), transparent 62%);
}

.layers-shell{
  position:relative;
  width:min(100% - 2rem, 1320px);
  margin:0 auto;
}

.layers-eyebrow{
  margin-bottom:14px;
  color:var(--css-orange);
  font-family:var(--font-heading);
  font-weight:800;
  font-size:20px;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.layers-title{
  margin-bottom:18px;
  color:var(--css-white);
  font-family:var(--font-display);
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:0.03em;
  font-size:clamp(2.3rem, 3.2vw, 3.4rem);
  line-height:1.04;
}

.layers-title span{
  color:var(--logo-blue);
}

.layers-lede{
  max-width:480px;
  color:rgba(255,255,255,0.78);
  font-size:17px;
  line-height:1.6;
}

.layers-intro__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}

.layers-grid{
  display:grid;
  grid-template-columns:minmax(320px, 0.8fr) minmax(620px, 1.2fr);
  gap:clamp(2rem, 5vw, 5rem);
  align-items:start;
}

.layers-rail__sticky{
  position:sticky;
  top:120px;
  padding-right:12px;
}

.layers-rail__callout{
  margin-top:32px;
  padding:22px 24px;
  border-radius:16px;
  border:1px solid rgba(3,147,202,0.38);
  background:linear-gradient(160deg, rgba(255,255,255,0.05), rgba(255,255,255,0.015));
}

.layers-rail__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
  padding:6px 12px;
  border:1px solid rgba(3,147,202,0.4);
  border-radius:999px;
  background:rgba(3,147,202,0.1);
  color:var(--logo-blue);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:12px;
  letter-spacing:0.09em;
  text-transform:uppercase;
}

.layers-rail__heading{
  margin-bottom:10px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:clamp(1.2rem, 1.6vw, 1.45rem);
  line-height:1.25;
}

.layers-rail__text{
  margin-bottom:14px;
  color:rgba(255,255,255,0.66);
  font-size:15px;
  line-height:1.6;
}

.layers-rail__note{
  margin-top:0;
  color:rgba(255,255,255,0.42);
  font-size:12.5px;
  letter-spacing:0.03em;
}

.layers-list{
  position:relative;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:28px;
  padding-left:34px;
  padding-right:32px;
}

.layers-list::before{
  content:"";
  position:absolute;
  left:9px;
  top:6px;
  bottom:6px;
  width:2px;
  background:linear-gradient(180deg, rgba(3,147,202,0.55), rgba(249,115,22,0.55));
  opacity:0.45;
}

.layers-list::after{
  content:"";
  position:absolute;
  left:5px;
  top:0;
  bottom:0;
  width:10px;
  background:linear-gradient(180deg, transparent 0%, rgba(255,255,255,0.85) 6%, transparent 14%);
  background-size:100% 260%;
  animation:layersSignal 5.5s linear infinite;
  opacity:0.75;
}

@keyframes layersSignal{
  0%{ background-position:0 -160%; }
  100%{ background-position:0 100%; }
}

.layers-card{
  position:relative;
  display:flex;
  gap:24px;
  padding:clamp(26px, 2.4vw, 36px) clamp(26px, 2.6vw, 38px);
  border-radius:18px;
  border:1px solid rgba(255,255,255,0.12);
  background:linear-gradient(135deg, rgba(255,255,255,0.045), rgba(255,255,255,0.015));
  box-shadow:0 20px 44px rgba(0,0,0,0.28);
  backdrop-filter:blur(14px);
  transition:transform 520ms cubic-bezier(.2,.7,.3,1), opacity 520ms ease, border-color 360ms ease, box-shadow 360ms ease, background 360ms ease;
}

.layers-card:nth-child(odd){ --layers-shift:0px; }
.layers-card:nth-child(even){ --layers-shift:32px; }

.js-scroll-ready .layers-card{
  opacity:0;
  transform:translate(var(--layers-shift, 0), 34px) scale(0.985);
}

.js-scroll-ready .layers-card.is-visible{
  opacity:1;
  transform:translate(var(--layers-shift, 0), 0) scale(1);
}

.layers-card.is-active{
  border-color:rgba(249,115,22,0.5);
  background:linear-gradient(160deg, rgba(249,115,22,0.12), rgba(3,147,202,0.06));
  box-shadow:0 32px 70px rgba(0,0,0,0.4), 0 0 0 1px rgba(249,115,22,0.14) inset;
}

.js-scroll-ready .layers-card.is-active{
  transform:translate(var(--layers-shift, 0), 0) scale(1.02);
}

.layers-card--featured{
  border-color:rgba(249,115,22,0.8);
  background:linear-gradient(135deg, rgba(249,115,22,0.1), rgba(255,255,255,0.02));
  box-shadow:0 0 40px rgba(249,115,22,0.12), 0 20px 44px rgba(0,0,0,0.28);
}

.layers-card__badge{
  position:absolute;
  top:0;
  right:28px;
  transform:translateY(-50%);
  padding:6px 14px;
  border-radius:999px;
  background:linear-gradient(180deg, var(--css-orange), #f04b13);
  color:var(--css-white);
  font-family:var(--font-heading);
  font-weight:800;
  font-size:11px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  box-shadow:0 8px 18px rgba(249,115,22,0.35);
}

.layers-card__icon{
  position:relative;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border-radius:14px;
  border:1px solid rgba(3,147,202,0.4);
  background:linear-gradient(160deg, rgba(3,147,202,0.16), rgba(3,147,202,0.03));
  color:var(--logo-blue);
  transition:border-color 360ms ease, color 360ms ease, background 360ms ease;
}

.layers-card.is-active .layers-card__icon{
  border-color:rgba(249,115,22,0.55);
  background:linear-gradient(160deg, rgba(249,115,22,0.22), rgba(249,115,22,0.04));
  color:var(--css-orange);
}

.layers-card__icon::before{
  content:"";
  display:block;
  width:52%;
  height:52%;
  background:currentColor;
  mask:var(--icon, var(--icon-shield)) center / contain no-repeat;
  -webkit-mask:var(--icon, var(--icon-shield)) center / contain no-repeat;
}

.layers-card__icon--entry{--icon:var(--icon-lock);}
.layers-card__icon--motion{--icon:var(--icon-activity);}
.layers-card__icon--glass{--icon:var(--icon-glass);}
.layers-card__icon--shock{--icon:var(--icon-zap);}
.layers-card__icon--smoke{--icon:var(--icon-flame);}
.layers-card__icon--water{--icon:var(--icon-droplet);}
.layers-card__icon--co{--icon:var(--icon-alert);}
.layers-card__icon--locks{--icon:var(--icon-key);}
.layers-card__icon--lights{--icon:var(--icon-bulb);}
.layers-card__icon--garage{--icon:var(--icon-garage);}
.layers-card__icon--blinds{--icon:var(--icon-blinds);}
.layers-card__icon--network{--icon:var(--icon-network);}
.layers-card__icon--connected{--icon:var(--icon-smartphone);}

.layers-card__body{
  min-width:0;
}

.layers-card__index{
  display:block;
  margin-bottom:8px;
  color:rgba(255,255,255,0.36);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:13px;
  letter-spacing:0.12em;
}

.layers-card__body h3{
  margin-bottom:10px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:24px;
  letter-spacing:0.01em;
}

.layers-card__body p{
  max-width:640px;
  margin-bottom:18px;
  color:rgba(255,255,255,0.68);
  font-size:16px;
  line-height:1.6;
}

.layers-card__meta{
  display:grid;
  grid-template-columns:repeat(2, minmax(200px, 1fr));
  gap:16px 24px;
  margin-bottom:18px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,0.08);
}

.layers-card__meta div{ min-width:0; }

.layers-card__meta dt{
  margin-bottom:8px;
  color:var(--logo-blue);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:12px;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.layers-card__meta dd{
  color:rgba(255,255,255,0.72);
  font-size:14.5px;
  line-height:1.5;
}

.layers-card__chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.layers-card__chip{
  padding:4px 11px;
  border-radius:999px;
  border:1px solid rgba(3,147,202,0.32);
  background:rgba(3,147,202,0.08);
  color:rgba(255,255,255,0.8);
  font-size:12.5px;
  font-weight:500;
  line-height:1.5;
  white-space:nowrap;
}

.layers-card--featured .layers-card__chip{
  border-color:rgba(249,115,22,0.35);
  background:rgba(249,115,22,0.1);
}

.layers-card__tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  list-style:none;
}

.layers-card__tags li{
  padding:6px 12px;
  border:1px solid rgba(255,255,255,0.16);
  border-radius:999px;
  color:rgba(255,255,255,0.62);
  font-size:12px;
  font-weight:600;
  letter-spacing:0.03em;
  text-transform:uppercase;
}

.layers-card--connected{
  flex-direction:column;
  border-color:rgba(255,255,255,0.14);
  background:linear-gradient(160deg, rgba(3,147,202,0.1), rgba(249,115,22,0.06));
}

.layers-card--connected .layers-card__icon{
  margin-bottom:6px;
}

.layers-card--connected .layers-card__tags li{
  border-color:rgba(3,147,202,0.35);
  color:rgba(255,255,255,0.78);
  background:rgba(3,147,202,0.08);
}

.layers-closing{
  position:relative;
  margin-top:clamp(56px, 7vw, 80px);
  padding:52px 48px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,0.12);
  background:linear-gradient(150deg, rgba(249,115,22,0.1), rgba(3,147,202,0.08) 60%, rgba(255,255,255,0.02));
  overflow:hidden;
  text-align:center;
}

.layers-closing::before{
  content:"";
  position:absolute;
  inset:-40% -20%;
  background:radial-gradient(circle at 50% 0%, rgba(249,115,22,0.18), transparent 55%);
  pointer-events:none;
}

.layers-closing h3{
  position:relative;
  margin-bottom:14px;
  color:var(--css-white);
  font-family:var(--font-display);
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:0.03em;
  font-size:clamp(1.9rem, 3vw, 2.7rem);
}

.layers-closing p{
  position:relative;
  max-width:620px;
  margin:0 auto 28px;
  color:rgba(255,255,255,0.74);
  font-size:17px;
  line-height:1.6;
}

.layers-closing__actions{
  position:relative;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px;
}

@media (max-width:1100px){
  .layers-grid{
    grid-template-columns:1fr;
    gap:40px;
  }

  .layers-rail__sticky{
    position:static;
    top:auto;
    padding-right:0;
  }

  .layers-title,
  .layers-lede{
    max-width:640px;
  }

  .layers-card:nth-child(odd),
  .layers-card:nth-child(even){
    --layers-shift:0px;
  }

  .layers-list{
    padding-right:0;
  }
}

@media (max-width:760px){
  .layers-section{
    padding:56px 0 48px;
  }

  .layers-card{
    flex-direction:column;
    padding:22px 20px;
    gap:16px;
  }

  .layers-card__badge{
    right:20px;
  }

  .layers-card__meta{
    grid-template-columns:1fr;
  }

  .layers-list{
    padding-left:24px;
    gap:20px;
  }

  .layers-list::before,
  .layers-list::after{
    left:3px;
  }

  .layers-closing{
    padding:32px 22px;
  }

  .layers-closing__actions{
    flex-direction:column;
    align-items:stretch;
  }
}

.alarm-concerns{
  padding:36px 0 22px;
  background:#050505;
}

.alarm-concerns h2{
  margin-bottom:18px;
  color:var(--css-white);
  font-size:30px;
  line-height:1.15;
  text-align:center;
}

.alarm-concerns h2 span{
  color:var(--alarm-orange);
}

.alarm-concerns__grid{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:14px;
}

.alarm-concern-card{
  position:relative;
  min-height:360px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.26);
  border-radius:8px;
  background:#101214;
  transition:transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.alarm-concern-card:hover,
.alarm-concern-card:focus-within{
  transform:translateY(-3px);
  border-color:var(--alarm-orange);
  box-shadow:0 0 28px rgba(249,115,22,0.12), 0 20px 44px rgba(0,0,0,0.3);
}

.alarm-concern-card--featured{
  border-color:var(--alarm-orange);
}

.alarm-concern-card__badge{
  position:absolute;
  z-index:2;
  top:0;
  left:0;
  padding:8px 12px;
  background:var(--alarm-orange);
  color:var(--css-white);
  font-family:var(--font-heading);
  font-weight:800;
  letter-spacing:0.055em;
  text-transform:uppercase;
}

.alarm-concern-card__media{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.16), rgba(0,0,0,0.78)),
    radial-gradient(circle at 28% 24%, rgba(249,115,22,0.3), transparent 20%),
    linear-gradient(135deg, #252525, #080808);
  opacity:0.86;
}

.alarm-concern-card__media--fire{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.2), rgba(0,0,0,0.78)),
    radial-gradient(circle at 52% 22%, rgba(249,115,22,0.58), transparent 18%),
    linear-gradient(135deg, #444, #0d0d0d);
}

.alarm-concern-card__media--water{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.2), rgba(0,0,0,0.78)),
    radial-gradient(circle at 30% 60%, rgba(249,115,22,0.28), transparent 20%),
    linear-gradient(135deg, #534633, #111);
}

.alarm-concern-card__content{
  position:relative;
  z-index:1;
  display:flex;
  height:100%;
  min-height:360px;
  flex-direction:column;
  justify-content:flex-end;
  padding:26px 18px 18px;
}

.alarm-concern-card__icon{
  width:58px;
  height:58px;
  margin-bottom:18px;
  border:2px solid var(--alarm-orange);
  border-radius:999px;
  background:rgba(249,115,22,0.07);
}

.alarm-concern-card h3{
  margin-bottom:10px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:22px;
  font-weight:700;
  line-height:1.05;
  letter-spacing:0.035em;
  text-transform:uppercase;
}

.alarm-concern-card p{
  color:rgba(255,255,255,0.9);
  font-size:16px;
  line-height:1.35;
}

.alarm-concern-card a{
  display:inline-flex;
  gap:8px;
  margin-top:auto;
  padding-top:18px;
  color:var(--alarm-orange);
  font-weight:800;
  text-decoration:none;
}

/* ================= Alarm platform selection ================= */
.alarm-platforms{
  padding:88px 0 64px;
  background:#050505;
}

.alarm-platforms__intro{
  max-width:960px;
  margin:0 auto 44px;
  text-align:center;
}

.alarm-platforms__break{
  display:none;
}

@media (min-width:700px){
  .alarm-platforms__break{
    display:block;
  }
}

.alarm-platforms__eyebrow{
  margin-bottom:12px;
  color:var(--alarm-orange);
  font-family:var(--font-heading);
  font-weight:800;
  font-size:16px;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.alarm-platforms h2{
  margin-bottom:18px;
  color:var(--css-white);
  font-family:var(--font-display);
  font-weight:400;
  font-size:clamp(2.3rem, 3.8vw, 3.5rem);
  line-height:1.1;
  letter-spacing:0.02em;
  text-transform:uppercase;
}

.alarm-platforms h2 span{
  color:var(--alarm-orange);
}

.alarm-platforms__lede{
  color:rgba(255,255,255,0.72);
  font-size:18px;
  line-height:1.6;
}

.alarm-platform-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:20px;
  margin-bottom:56px;
}

.alarm-platform-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:34px 32px 32px;
  border:1px solid rgba(255,255,255,0.14);
  border-radius:12px;
  background:transparent;
  color:inherit;
  text-decoration:none;
  transition:transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.alarm-platform-card:hover,
.alarm-platform-card:focus-visible{
  transform:translateY(-4px);
  border-color:var(--alarm-orange);
  box-shadow:0 0 30px rgba(249,115,22,0.14), 0 20px 44px rgba(0,0,0,0.35);
}

.alarm-platform-card:focus-visible{
  outline:2px solid var(--logo-blue);
  outline-offset:3px;
}

/* ---- Upcoming platform card (PowerSeries Neo 5) ---- */
.alarm-platform-card--coming-soon{
  overflow:hidden;
}

.alarm-platform-card__media{
  display:block;
  overflow:hidden;
  aspect-ratio:11 / 6;
  margin:-34px -32px 20px;
  border-radius:12px 12px 0 0;
  background:#000;
}

.alarm-platform-card__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

.alarm-platform-card__body{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.alarm-platform-card__title{
  margin-bottom:6px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:32px;
  letter-spacing:0.03em;
  text-transform:uppercase;
}

.alarm-platform-card__subtitle{
  margin-bottom:10px;
  color:var(--alarm-orange);
  font-family:var(--font-heading);
  font-weight:600;
  font-size:19px;
  letter-spacing:0.01em;
  line-height:1.4;
}

.alarm-platform-card__text{
  margin-bottom:20px;
  color:rgba(255,255,255,0.72);
  font-size:18px;
  line-height:1.75;
}

.alarm-platform-card__chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:10px 0 24px;
  padding:0;
  list-style:none;
}

.alarm-platform-card__chips li{
  padding:5px 11px;
  border:1px solid rgba(255,255,255,0.18);
  border-radius:999px;
  color:rgba(255,255,255,0.72);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:0.02em;
}

.alarm-platform-card__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:auto;
  min-height:44px;
  padding-top:22px;
  padding-bottom:14px;
  color:var(--alarm-orange);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:17px;
  letter-spacing:0.02em;
  transition:gap 160ms ease, color 160ms ease;
}

.alarm-platform-card:hover .alarm-platform-card__link,
.alarm-platform-card:focus-visible .alarm-platform-card__link{
  gap:12px;
  color:#fff;
}

/* ---- Featured, full-width platform card (PowerSeries Pro) ---- */
.alarm-platform-card--featured{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  align-items:center;
  gap:40px;
  padding:44px 48px;
  background:linear-gradient(135deg, rgba(249,115,22,0.05), rgba(255,255,255,0.015));
  border-color:rgba(249,115,22,0.55);
  box-shadow:0 0 26px rgba(249,115,22,0.1);
}

.alarm-platform-card__eyebrow-label{
  margin-bottom:8px;
  color:var(--alarm-orange);
  font-family:var(--font-heading);
  font-weight:800;
  font-size:12px;
  letter-spacing:0.12em;
  text-transform:uppercase;
}

.alarm-platform-card--featured:hover,
.alarm-platform-card--featured:focus-visible{
  border-color:var(--alarm-orange);
  box-shadow:0 0 34px rgba(249,115,22,0.18), 0 20px 44px rgba(0,0,0,0.35);
}

.alarm-platform-card--featured .alarm-platform-card__media{
  width:316px;
  aspect-ratio:1 / 1;
  margin:0;
  border-radius:10px;
}

.alarm-platform-card--featured .alarm-platform-card__body{
  min-width:0;
}

.alarm-platform-card--featured .alarm-platform-card__text{
  max-width:760px;
}

.alarm-platform-card--featured .alarm-platform-card__chips{
  margin-bottom:16px;
}

.alarm-platform-card__spec{
  margin:0 0 16px;
  color:rgba(255,255,255,0.48);
  font-size:12.5px;
  font-style:italic;
  line-height:1.4;
}

/* ---- Platform assessment CTA banner (overrides inherited .alarm-platforms h2 sizing) ---- */
.alarm-platform-assessment h2{
  margin-bottom:6px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:28px;
  line-height:1.25;
  letter-spacing:0.01em;
  text-transform:none;
}

.alarm-platform-assessment p{
  color:var(--alarm-muted);
  font-size:18px;
  line-height:1.5;
}

/* ---- PowerSeries Pro detail page (alarm-systems/powerseries-pro.html) ---- */
.alarm-platform-detail__breadcrumb{
  padding:18px 0 0;
  background:#030303;
}

.alarm-platform-detail__breadcrumb a{
  color:rgba(255,255,255,0.62);
  font-size:14px;
  text-decoration:none;
}

.alarm-platform-detail__breadcrumb a:hover,
.alarm-platform-detail__breadcrumb a:focus-visible{
  color:var(--alarm-orange);
}

.alarm-platform-detail__subtitle{
  margin:0 0 14px;
  color:var(--logo-blue);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:18px;
}

.alarm-platform-detail__chips{
  margin-top:22px;
}

.alarm-hero__content .alarm-platform-card__spec{
  margin-top:-8px;
}

.alarm-platform-detail__media{
  position:relative;
  display:grid;
  place-items:center;
  width:min(100%, 420px);
  aspect-ratio:1 / 1;
  border:1px solid rgba(249,115,22,0.3);
  border-radius:16px;
  background:
    radial-gradient(circle at center, rgba(249,115,22,0.1), transparent 60%),
    linear-gradient(160deg, rgba(9,10,11,0.96), rgba(4,4,4,0.99));
}

.alarm-platform-detail__media::before{
  content:"";
  display:block;
  width:30%;
  height:30%;
  background:currentColor;
  color:var(--alarm-orange);
  opacity:0.4;
  mask:var(--icon, var(--icon-shield)) center / contain no-repeat;
  -webkit-mask:var(--icon, var(--icon-shield)) center / contain no-repeat;
}

.alarm-platform-detail__media--pro{--icon:var(--icon-hardhat);}

.alarm-platform-detail__note-section{
  padding:8px 0 44px;
  background:#050505;
}

.alarm-platform-detail__note{
  max-width:760px;
  color:rgba(255,255,255,0.6);
  font-size:15px;
  line-height:1.6;
}

.alarm-platform-assessment{
  margin-top:0;
}

@media (max-width:900px){
  .alarm-platform-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .alarm-platform-card--featured{
    grid-template-columns:1fr;
    text-align:left;
  }

  .alarm-platform-card--featured .alarm-platform-card__media{
    width:100%;
    aspect-ratio:16 / 10;
    margin:-44px -48px 20px;
    border-radius:12px 12px 0 0;
  }
}

@media (max-width:760px){
  .alarm-platform-grid{
    grid-template-columns:1fr;
  }

  .alarm-platforms h2{
    font-size:30px;
  }

  .alarm-platform-card--featured{
    grid-column:auto;
  }
}

/* ==========================================================================
   Alarm platform cards -- full-bleed image + bottom overlay redesign
   Scoped under .alarm-platform-grid so nothing here reaches the shared
   .alarm-platform-card__chips class also used on alarm-systems/powerseries-pro.html.
   ========================================================================== */

.alarm-platform-grid .alarm-platform-card{
  display:block;
  overflow:hidden;
  width:100%;
  min-width:0;
  padding:0;
  aspect-ratio:1 / 0.86;
  min-height:500px;
  max-height:640px;
  background:#050606;
}

.alarm-platform-grid .alarm-platform-card__media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  aspect-ratio:auto;
  border-radius:inherit;
  background:#050606;
}

.alarm-platform-grid .alarm-platform-card__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center top;
  transition:transform 260ms ease;
}

.alarm-platform-grid .alarm-platform-card:hover .alarm-platform-card__media img,
.alarm-platform-grid .alarm-platform-card:focus-visible .alarm-platform-card__media img{
  transform:scale(1.025);
}

.alarm-platform-grid .alarm-platform-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(to bottom, rgba(2,4,5,0) 0%, rgba(2,4,5,0.05) 32%, rgba(2,4,5,0.55) 52%, rgba(2,4,5,0.92) 68%, rgba(2,4,5,0.98) 100%);
}

.alarm-platform-grid .alarm-platform-card__body{
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  padding:clamp(20px, 2.2vw, 32px);
}

.alarm-platform-grid .alarm-platform-card__eyebrow-label{
  margin-bottom:6px;
  text-shadow:0 2px 10px rgba(0,0,0,0.7);
}

.alarm-platform-grid .alarm-platform-card__title{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  margin-bottom:6px;
  font-size:clamp(22px, 2vw, 28px);
  text-shadow:0 2px 12px rgba(0,0,0,0.75);
}

.alarm-platform-grid .alarm-platform-card__subtitle{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  margin-bottom:8px;
  font-size:15px;
  text-shadow:0 2px 10px rgba(0,0,0,0.7);
}

.alarm-platform-grid .alarm-platform-card__text{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  margin-bottom:14px;
  color:rgba(255,255,255,0.82);
  font-size:14.5px;
  line-height:1.5;
  text-shadow:0 2px 10px rgba(0,0,0,0.7);
}

.alarm-platform-grid .alarm-platform-card__chips{
  margin:0 0 14px;
  gap:7px;
}

.alarm-platform-grid .alarm-platform-card__chips li{
  padding:5px 10px;
  border-color:rgba(255,255,255,0.32);
  background:rgba(5,7,8,0.5);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  font-size:11px;
}

.alarm-platform-grid .alarm-platform-card__link{
  margin-top:0;
  min-height:auto;
  padding-top:0;
  padding-bottom:0;
  font-size:15.5px;
}

.alarm-platform-grid .alarm-platform-card__link span[aria-hidden="true"]{
  display:inline-block;
  transition:transform 180ms ease;
}

.alarm-platform-grid .alarm-platform-card:hover .alarm-platform-card__link span[aria-hidden="true"],
.alarm-platform-grid .alarm-platform-card:focus-visible .alarm-platform-card__link span[aria-hidden="true"]{
  transform:translateX(4px);
}

/* ---- Featured card (PowerSeries Pro): horizontal image-left / text-right ---- */
.alarm-platform-grid .alarm-platform-card--featured{
  position:relative;
  display:grid;
  grid-template-columns:minmax(240px, 40%) minmax(0, 1fr);
  align-items:stretch;
  gap:0;
  padding:0;
  aspect-ratio:auto;
  min-height:340px;
  max-height:410px;
  background:#050606;
}

.alarm-platform-grid .alarm-platform-card--featured .alarm-platform-card__media{
  position:relative;
  inset:auto;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  margin:0;
  border-radius:0;
}

.alarm-platform-grid .alarm-platform-card--featured .alarm-platform-card__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

.alarm-platform-grid .alarm-platform-card--featured::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(to right, rgba(2,4,5,0) 0%, rgba(2,4,5,0) 34%, rgba(2,4,5,0.55) 42%, rgba(5,6,6,0.98) 52%, rgba(5,6,6,0.98) 100%);
}

.alarm-platform-grid .alarm-platform-card--featured .alarm-platform-card__body{
  position:relative;
  z-index:2;
  inset:auto;
  justify-content:center;
  padding:clamp(24px, 2.6vw, 40px) clamp(28px, 3vw, 48px);
}

.alarm-platform-grid .alarm-platform-card--featured .alarm-platform-card__title{
  font-size:clamp(24px, 2.4vw, 32px);
}

.alarm-platform-grid .alarm-platform-card--featured .alarm-platform-card__text{
  max-width:640px;
  font-size:15.5px;
}

@media (max-width:900px){
  .alarm-platform-grid .alarm-platform-card--featured{
    grid-template-columns:1fr;
    width:100%;
    min-width:0;
    aspect-ratio:1 / 0.82;
    min-height:480px;
    max-height:620px;
  }

  .alarm-platform-grid .alarm-platform-card--featured .alarm-platform-card__media{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
  }

  .alarm-platform-grid .alarm-platform-card--featured::before{
    background:linear-gradient(to bottom, rgba(2,4,5,0) 0%, rgba(2,4,5,0.05) 32%, rgba(2,4,5,0.55) 52%, rgba(2,4,5,0.92) 68%, rgba(2,4,5,0.98) 100%);
  }

  .alarm-platform-grid .alarm-platform-card--featured .alarm-platform-card__body{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    top:auto;
    justify-content:flex-start;
  }
}

@media (max-width:760px){
  .alarm-platform-grid .alarm-platform-card{
    aspect-ratio:4 / 5;
    min-height:420px;
    max-height:560px;
  }
}

@media (prefers-reduced-motion: reduce){
  .alarm-platform-grid .alarm-platform-card__media img,
  .alarm-platform-grid .alarm-platform-card__link span[aria-hidden="true"]{
    transition:none;
  }
}

.alarm-value-strip{
  padding:18px 0;
  background:#050505;
}

.alarm-value-strip__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:0;
  overflow:hidden;
  border-radius:8px;
  background:var(--alarm-offwhite);
  color:#111;
  box-shadow:0 18px 44px rgba(0,0,0,0.24);
}

.alarm-value-item{
  display:grid;
  grid-template-columns:86px minmax(0, 1fr);
  gap:22px;
  align-items:center;
  padding:28px 36px;
}

.alarm-value-item + .alarm-value-item{
  border-left:1px solid rgba(0,0,0,0.18);
}

.alarm-value-item__icon{
  width:70px;
  height:70px;
  border:2px solid var(--alarm-orange);
  border-radius:999px;
  background:rgba(249,115,22,0.1);
}

.alarm-value-item h2{
  color:var(--alarm-orange);
  font-family:var(--font-heading);
  font-size:24px;
  letter-spacing:0.06em;
}

.alarm-value-item ul,
.alarm-option-card ul{
  display:grid;
  gap:8px;
  list-style:none;
}

.alarm-value-item li,
.alarm-option-card li{
  position:relative;
  padding-left:20px;
}

.alarm-value-item li::before,
.alarm-option-card li::before{
  content:"";
  position:absolute;
  top:0.45em;
  left:0;
  width:8px;
  height:12px;
  border:solid var(--alarm-orange);
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

.alarm-cta-band{
  padding:0 0 56px;
  background:#050505;
}

.alarm-cta-band__inner{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:28px;
  align-items:center;
  padding-block:22px;
  border:1px solid var(--alarm-border);
  border-radius:8px;
  background:rgba(13,15,16,0.78);
}

.alarm-cta-band__copy{
  display:flex;
  align-items:center;
  gap:22px;
}

.alarm-cta-band__icon{
  width:78px;
  height:78px;
  flex:0 0 78px;
  border:2px solid var(--alarm-orange);
  border-radius:999px;
  background:rgba(249,115,22,0.06);
}

.alarm-cta-band h2{
  margin-bottom:4px;
  color:var(--css-white);
  font-size:26px;
}

.alarm-cta-band p{
  color:var(--alarm-muted);
  font-size:18px;
  line-height:1.35;
}

.alarm-details,
.alarm-process,
.alarm-estimate{
  padding:78px 0;
  background:
    radial-gradient(circle at 88% 0%, rgba(249,115,22,0.08), transparent 28%),
    linear-gradient(180deg, #0a0b0c, #050505);
}

.alarm-comparison,
.alarm-faq{
  padding:78px 0;
  background:var(--alarm-offwhite);
  color:#111;
}

.alarm-section-header{
  max-width:880px;
  margin-bottom:28px;
}

.alarm-section-header h2{
  font-size:clamp(3rem, 4.6vw, 5.5rem);
  line-height:0.94;
}

.alarm-comparison .alarm-section-header h2,
.alarm-faq .alarm-section-header h2{
  color:#111;
}

.alarm-section-header p:not(.alarm-section-header__eyebrow){
  margin-top:12px;
  color:inherit;
  font-size:18px;
  line-height:1.45;
}

.alarm-included-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}

.alarm-included-grid div,
.alarm-option-card,
.alarm-process article,
.alarm-faq details{
  border:1px solid var(--alarm-border);
  border-radius:8px;
  background:rgba(255,255,255,0.035);
}

.alarm-included-grid div{
  padding:18px;
  color:var(--css-white);
}

.alarm-comparison__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px;
}

.alarm-option-card{
  padding:30px;
  border-color:rgba(0,0,0,0.12);
  background:#fff;
  box-shadow:0 14px 34px rgba(0,0,0,0.08);
}

.alarm-option-card h3,
.alarm-process h3{
  margin-bottom:18px;
  font-family:var(--font-heading);
  font-size:30px;
  line-height:1;
  letter-spacing:0.05em;
  text-transform:uppercase;
}

.alarm-process__grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
}

.alarm-process article{
  padding:26px;
  background:rgba(255,255,255,0.035);
}

.alarm-process span{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  margin-bottom:20px;
  border-radius:7px;
  background:rgba(249,115,22,0.12);
  color:var(--alarm-orange);
  font-family:var(--font-heading);
  font-size:30px;
  font-weight:800;
}

.alarm-process p{
  color:var(--alarm-muted);
  line-height:1.45;
}

.alarm-faq__list{
  display:grid;
  gap:12px;
}

.alarm-faq details{
  border-color:rgba(0,0,0,0.12);
  background:#fff;
  box-shadow:0 12px 28px rgba(0,0,0,0.06);
}

.alarm-faq summary{
  cursor:pointer;
  padding:20px 22px;
  font-weight:800;
}

.alarm-faq details p{
  padding:0 22px 20px;
  color:#333;
  line-height:1.5;
}

.alarm-estimate__inner{
  display:grid;
  grid-template-columns:minmax(0, 0.78fr) minmax(360px, 1fr);
  gap:44px;
  align-items:start;
}

.alarm-estimate-form{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px 16px;
  padding:26px;
  border:1px solid var(--alarm-border);
  border-radius:8px;
  background:rgba(13,15,16,0.84);
}

.alarm-estimate-form label{
  color:rgba(255,255,255,0.86);
  font-family:var(--font-heading);
  font-size:18px;
  letter-spacing:0.055em;
  text-transform:uppercase;
}

.alarm-estimate-form input,
.alarm-estimate-form select,
.alarm-estimate-form textarea{
  width:100%;
  min-height:48px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,0.16);
  border-radius:6px;
  background:rgba(255,255,255,0.06);
  color:var(--css-white);
  font:inherit;
}

.alarm-estimate-form select option{
  color:#111;
}

.alarm-estimate-form textarea,
.alarm-estimate-form button{
  grid-column:1 / -1;
}

.alarm-estimate-form input:focus,
.alarm-estimate-form select:focus,
.alarm-estimate-form textarea:focus{
  outline:2px solid rgba(249,115,22,0.48);
  outline-offset:2px;
}

@media (max-width:1100px){
  .alarm-hero__inner,
  .alarm-estimate__inner{
    grid-template-columns:1fr;
  }

  .alarm-hero__visual{
    min-height:420px;
    justify-content:center;
  }

  .alarm-concerns__grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .alarm-value-strip__grid,
  .alarm-process__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .alarm-value-item:nth-child(3){
    grid-column:1 / -1;
    border-left:0;
    border-top:1px solid rgba(0,0,0,0.18);
  }

  .alarm-included-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media (max-width:760px){
  .alarm-page-shell,
  .alarm-hero__inner{
    padding-inline:20px;
  }

  .alarm-hero,
  .alarm-hero__inner{
    min-height:auto;
  }

  .alarm-hero__inner{
    padding-block:42px;
  }

  .alarm-hero h1{
    font-size:clamp(3.2rem, 14vw, 4.8rem);
  }

  .alarm-hero__content > p:not(.alarm-hero__eyebrow){
    font-size:18px;
  }

  .alarm-hero__actions,
  .alarm-cta-band__actions{
    display:grid;
  }

  .alarm-hero__visual{
    min-height:240px;
  }

  .alarm-hero__image{
    width:min(112%, 620px);
    margin-inline:auto;
  }

  .alarm-concerns__grid,
  .alarm-value-strip__grid,
  .alarm-comparison__grid,
  .alarm-process__grid,
  .alarm-included-grid,
  .alarm-estimate-form,
  .alarm-cta-band__inner{
    grid-template-columns:1fr;
  }

  .alarm-concerns h2{
    font-size:24px;
  }

  .alarm-concern-card,
  .alarm-concern-card__content{
    min-height:300px;
  }

  .alarm-value-item,
  .alarm-cta-band__copy{
    grid-template-columns:1fr;
  }

  .alarm-value-item + .alarm-value-item,
  .alarm-value-item:nth-child(3){
    border-left:0;
    border-top:1px solid rgba(0,0,0,0.18);
  }

  .alarm-cta-band__copy{
    display:grid;
  }

  .alarm-estimate-form textarea,
  .alarm-estimate-form button{
    grid-column:auto;
  }
}

/* Typography refresh */
body{
  font-family:var(--font-body);
}

.hero-title,
.hero h1,
h1{
  font-family:var(--font-display);
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:0.055em;
  line-height:0.88;
  color:#f7f7f4;
  text-shadow:
    0 2px 0 rgba(0,0,0,0.85),
    0 8px 18px rgba(0,0,0,0.55);
}

.hero-title,
.hero h1{
  margin-bottom:24px;
  /*
    Desktop wrap control: this max-width is tuned so the single H1
    naturally breaks after "PLACES" without hard-coded <br> tags.
  */
  max-width:9.2em;
  font-size:clamp(3.35rem, 4.65vw, 5.75rem);
  line-height:0.9;
  letter-spacing:0.035em;
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  color:#f7f7f4;
}

.heading-accent{
  color:var(--css-orange, #f97316);
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  text-shadow:none;
}

.section-title,
.services-overview__title,
.services-overview__header h2,
.security-paths__title,
.security-paths__process-title,
.blog-updates__title,
.user-login-section__title{
  font-family:var(--font-display);
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:0.045em;
  line-height:0.92;
}

.services-overview__title,
.services-overview__header h2,
.security-paths__title,
.blog-updates__title,
.user-login-section__title{
  margin-bottom:18px;
  font-size:clamp(2.25rem, 3.9vw, 4.8rem);
}

.security-paths__process-title{
  font-size:clamp(2rem, 3vw, 3.4rem);
}

.eyebrow,
.services-overview__eyebrow,
.security-paths__eyebrow,
.security-paths__process-eyebrow,
.main-nav a,
.nav-link,
.login-link,
.btn,
button,
.header-cta,
.phone,
.asset-placeholder,
.mini-title,
.service-card h3,
.service-card__title,
.service-card__badge,
.service-card__link,
.trust-item h3,
.difference-card__title,
.security-path-card__title,
.security-path-card__needs-title,
.security-path-card__button,
.process-card__number,
.process-card__title,
.blog-updates__eyebrow,
.update-card__meta,
.update-card h3,
.update-card a,
.user-login-section__eyebrow,
.login-form label,
.security-paths__button,
.site-footer__heading,
.site-footer__mini-cta{
  font-family:var(--font-heading);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.06em;
}

.btn,
button,
.header-cta,
.service-card__link,
.services-overview__button,
.security-path-card__button,
.security-paths__button,
.login-form__button,
.site-footer__mini-cta{
  font-family:var(--font-heading);
  font-weight:700;
  letter-spacing:0.055em;
  text-transform:uppercase;
}

.services-overview .service-card h3,
.trust-item h3,
.difference-card__title,
.security-path-card__title,
.process-card__title,
.update-card h3,
.site-footer__heading{
  line-height:1.02;
}

@media (min-width:1320px){
  .services-menu-open .hero{
    padding-top:440px;
  }

  .hero-grid{
    /*
      Gives the hero headline enough desktop measure for:
      "PROTECTING THE PLACES" / "PEOPLE COUNT ON."
      while preserving the existing three-column hero layout.
    */
    grid-template-columns:minmax(680px, 0.95fr) minmax(0, 0.95fr) minmax(280px, 0.48fr);
  }
}

@media (max-width:1319px) and (min-width:761px){
  .hero-grid{
    grid-template-columns:minmax(0, 1fr) minmax(320px, 0.8fr);
  }

  .hero-right{
    grid-column:1 / -1;
  }

  .site-header{
    height:auto;
    padding:14px 0;
  }

  .site-header.is-scrolled{
    height:auto;
    padding:10px 0;
  }

  .header-inner{
    flex-wrap:wrap;
    row-gap:14px;
  }

  .logo-area{
    flex:0 0 390px;
  }

  .site-header.is-scrolled .logo-area{
    flex-basis:273px;
  }

  .logo-link{
    width:390px;
  }

  .site-header.is-scrolled .logo-link{
    width:273px;
  }

  .main-nav{
    order:3;
    flex:1 0 100%;
  }

  .main-nav > ul{
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:16px 24px;
  }

  .header-cta{
    margin-left:auto;
  }

  .phone{
    white-space:nowrap;
  }

  .services-menu-open .hero{
    padding-top:360px;
  }
}

@media (max-width:760px){
  .site-header{
    height:auto;
    padding:18px 0;
  }

  .site-header.is-scrolled{
    height:auto;
    padding:13px 0;
  }

  .header-inner{
    align-items:stretch;
  }

  .services-menu-open .hero{
    padding-top:48px;
  }

  .main-nav > ul{
    align-items:flex-start;
    justify-content:flex-start;
  }

  .nav-dropdown{
    width:100%;
    position:relative;
  }

  .logo-area{
    flex:0 1 auto;
    width:100%;
  }

  .logo-link{
    width:min(100%, 360px);
  }

  .site-header.is-scrolled .logo-link{
    width:min(100%, 252px);
  }

  .nav-logo{
    max-width:100%;
  }

  .header-cta,
  .hero-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .hero-actions .residential-button{
    width:100%;
  }

  .login-link{
    text-align:center;
  }

  .hero-title,
  .hero h1{
    max-width:100%;
    font-size:clamp(3rem, 13vw, 3.6rem);
    letter-spacing:0.04em;
  }

  .service-card-body{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
  }

  .service-image{
    width:100%;
    min-height:96px;
  }

  .blog-updates{
    padding:48px 0;
  }

  .blog-updates__inner,
  .user-login-section__inner{
    padding:0 22px;
  }

  .blog-updates__grid,
  .user-login-section__inner{
    grid-template-columns:1fr;
  }

  .update-card{
    min-height:0;
    padding:24px;
  }

  .user-login-section{
    padding:48px 0;
  }
}

/* Alarm page responsive guardrails: keep one-column mobile grids shrinkable. */
body.alarm-service-page{
  overflow-x:hidden;
}

body.services-menu-open .alarm-hero{
  padding-top:440px;
}

@media (max-width:760px){
  body.services-menu-open .alarm-hero{
    padding-top:48px;
  }

  .alarm-service-page .alarm-page-shell{
    width:100%;
    max-width:100%;
    padding-inline:14px;
  }

  .alarm-service-page .alarm-hero__inner,
  .alarm-service-page .alarm-estimate__inner,
  .alarm-service-page .alarm-concerns__grid,
  .alarm-service-page .alarm-value-strip__grid,
  .alarm-service-page .alarm-comparison__grid,
  .alarm-service-page .alarm-process__grid,
  .alarm-service-page .alarm-included-grid,
  .alarm-service-page .alarm-estimate-form,
  .alarm-service-page .alarm-cta-band__inner{
    grid-template-columns:minmax(0, 1fr);
  }

  .alarm-service-page .alarm-hero__content,
  .alarm-service-page .alarm-hero__visual,
  .alarm-service-page .alarm-concern-card,
  .alarm-service-page .alarm-value-item,
  .alarm-service-page .alarm-option-card,
  .alarm-service-page .alarm-process article,
  .alarm-service-page .alarm-estimate-form{
    min-width:0;
    max-width:100%;
  }

  .alarm-service-page .alarm-hero h1{
    max-width:100%;
    font-size:clamp(3rem, 13vw, 4.1rem);
    letter-spacing:0.028em;
  }

  .alarm-service-page .alarm-hero__content > p:not(.alarm-hero__eyebrow),
  .alarm-service-page .alarm-concerns h2,
  .alarm-service-page .alarm-concern-card h3,
  .alarm-service-page .alarm-concern-card p{
    max-width:100%;
    overflow-wrap:break-word;
  }

  .alarm-service-page .alarm-button{
    width:100%;
    min-width:0;
    padding-inline:12px;
    font-size:18px;
  }
}

/* Camera Systems Service Page */
.camera-service-page{
  --camera-orange:var(--css-orange, #f97316);
  --camera-dark:#050505;
  --camera-panel:#101214;
  --camera-border:rgba(255,255,255,0.18);
  --camera-muted:rgba(255,255,255,0.76);
  --camera-offwhite:#f7f4ee;
  background:var(--camera-dark);
  color:var(--css-white);
}

.camera-page-shell{
  width:100%;
  max-width:1540px;
  margin:0 auto;
  padding:0 44px;
}

.camera-hero{
  position:relative;
  min-height:620px;
  overflow:hidden;
  background:#030303;
  isolation:isolate;
}

.camera-hero__background{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.72) 34%, rgba(0,0,0,0.32) 100%),
    radial-gradient(circle at 78% 28%, rgba(249,115,22,0.16), transparent 24%),
    linear-gradient(135deg, #071018 0%, #17232a 43%, #070707 100%);
}

.camera-hero__background::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, transparent 0 18%, rgba(255,255,255,0.055) 18.2% 18.8%, transparent 19% 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.035) 0 1px, transparent 1px 132px),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.028) 0 1px, transparent 1px 92px);
  opacity:0.46;
}

.camera-hero__inner{
  display:grid;
  grid-template-columns:minmax(640px, 0.92fr) minmax(0, 1fr);
  gap:44px;
  align-items:center;
  min-height:620px;
  padding-block:58px;
}

.camera-hero__content{
  position:relative;
  z-index:2;
  max-width:690px;
}

.camera-hero__eyebrow{
  margin-bottom:12px;
  color:var(--camera-orange);
  font-family:var(--font-heading);
  font-weight:800;
  font-size:21px;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.camera-hero h1{
  max-width:760px;
  margin-bottom:18px;
  color:var(--css-white);
  font-family:var(--font-display);
  font-size:clamp(4.1rem, 4.3vw, 5.7rem);
  font-weight:400;
  line-height:0.88;
  letter-spacing:0.035em;
  text-transform:uppercase;
  text-shadow:0 3px 0 rgba(0,0,0,0.72), 0 18px 34px rgba(0,0,0,0.5);
}

.camera-title-dot{
  color:var(--camera-orange);
}

.camera-hero__content > p:not(.camera-hero__eyebrow){
  max-width:620px;
  color:rgba(255,255,255,0.92);
  font-size:21px;
  line-height:1.45;
}

.camera-hero__actions,
.camera-cta-band__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}

.camera-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:58px;
  padding:14px 22px;
  border-radius:7px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:20px;
  letter-spacing:0.055em;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.camera-button:hover,
.camera-button:focus-visible{
  transform:translateY(-2px);
}

.camera-button--primary{
  border:1px solid var(--camera-orange);
  background:linear-gradient(180deg, var(--camera-orange), #f04b13);
  box-shadow:0 16px 32px rgba(249,115,22,0.24);
}

.camera-button--outline{
  border:1px solid rgba(255,255,255,0.44);
  background:rgba(0,0,0,0.35);
}

.camera-button__icon{
  width:28px;
  height:28px;
  flex:0 0 28px;
  border:2px solid currentColor;
  border-radius:6px;
}

.camera-button__icon--phone{
  border-radius:999px;
}

.camera-hero__visual{
  position:relative;
  min-height:500px;
}

.camera-hero__property{
  position:absolute;
  inset:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:8px;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.05), rgba(0,0,0,0.58)),
    radial-gradient(circle at 58% 8%, rgba(255,255,255,0.18), transparent 7%),
    linear-gradient(135deg, #24333c, #0c1116 52%, #33271f);
  box-shadow:0 24px 70px rgba(0,0,0,0.5);
}

.camera-hero__property::before{
  content:"";
  position:absolute;
  inset:12% 8% 18%;
  background:
    repeating-linear-gradient(90deg, rgba(255,196,130,0.35) 0 38px, transparent 38px 72px),
    linear-gradient(180deg, rgba(255,255,255,0.08), transparent);
  border-radius:7px;
  opacity:0.58;
}

.camera-hero__phone,
.camera-hero__product,
.camera-hero__nvr{
  position:absolute;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,0.22);
  color:rgba(255,255,255,0.82);
  font-family:var(--font-heading);
  font-weight:700;
  letter-spacing:0.06em;
  text-align:center;
  text-transform:uppercase;
  box-shadow:0 22px 55px rgba(0,0,0,0.45);
}

.camera-hero__phone{
  left:41%;
  bottom:10%;
  width:174px;
  height:318px;
  border-radius:30px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.08), transparent 18%),
    linear-gradient(180deg, #16191c, #050607);
}

.camera-hero__product{
  right:0;
  top:8%;
  width:330px;
  height:178px;
  border-radius:90px 18px 18px 90px;
  background:
    radial-gradient(circle at 18% 50%, #070707 0 28%, transparent 29%),
    linear-gradient(90deg, #ecece8, #aeb2b2);
  color:#111;
}

.camera-hero__nvr{
  right:5%;
  bottom:8%;
  width:330px;
  height:94px;
  border-radius:14px;
  background:linear-gradient(180deg, #1c1e20, #08090a);
}

.camera-solutions{
  padding:28px 0 22px;
  background:#050505;
}

.camera-solutions h2{
  margin-bottom:14px;
  color:var(--css-white);
  font-size:30px;
  line-height:1.15;
  text-align:center;
}

.camera-solutions h2 span{
  color:var(--camera-orange);
}

/* Intro copy above the two camera-platform cards (mirrors
   .alarm-platforms__lede's centered treatment). */
.camera-platform-intro{
  max-width:720px;
  margin:0 auto 40px;
  color:rgba(255,255,255,0.72);
  font-size:18px;
  line-height:1.6;
  text-align:center;
}

/* The Alarm.com / Digital Watchdog copy runs slightly longer than the
   alarm-system platform descriptions, so allow one extra clamped line
   here only -- scoped to this grid's id, the shared 3-line clamp used by
   the real Alarm System Platform cards is untouched. */
#camera-platform-grid .alarm-platform-card__text{
  -webkit-line-clamp:4;
}

/* Hover/focus reveal for the two camera platform cards: the image and
   title stay visible by default (image-first, "blank" of supporting
   copy); subtitle, description, tags, and the CTA fade in on hover or
   keyboard focus. Scoped to this grid's id so the real Alarm System
   Platform cards on alarm-coverage.html (always-visible by design) are
   untouched. */
#camera-platform-grid .alarm-platform-card__subtitle,
#camera-platform-grid .alarm-platform-card__text,
#camera-platform-grid .alarm-platform-card__chips,
#camera-platform-grid .alarm-platform-card__link{
  opacity:0;
  transform:translateY(6px);
  transition:opacity 240ms ease, transform 240ms ease;
  pointer-events:none;
}

#camera-platform-grid .alarm-platform-card:hover .alarm-platform-card__subtitle,
#camera-platform-grid .alarm-platform-card:hover .alarm-platform-card__text,
#camera-platform-grid .alarm-platform-card:hover .alarm-platform-card__chips,
#camera-platform-grid .alarm-platform-card:hover .alarm-platform-card__link,
#camera-platform-grid .alarm-platform-card:focus-visible .alarm-platform-card__subtitle,
#camera-platform-grid .alarm-platform-card:focus-visible .alarm-platform-card__text,
#camera-platform-grid .alarm-platform-card:focus-visible .alarm-platform-card__chips,
#camera-platform-grid .alarm-platform-card:focus-visible .alarm-platform-card__link{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

@media (hover:none), (pointer:coarse){
  #camera-platform-grid .alarm-platform-card__subtitle,
  #camera-platform-grid .alarm-platform-card__text,
  #camera-platform-grid .alarm-platform-card__chips,
  #camera-platform-grid .alarm-platform-card__link{
    opacity:1;
    transform:none;
    pointer-events:auto;
  }
}

@media (prefers-reduced-motion: reduce){
  #camera-platform-grid .alarm-platform-card__subtitle,
  #camera-platform-grid .alarm-platform-card__text,
  #camera-platform-grid .alarm-platform-card__chips,
  #camera-platform-grid .alarm-platform-card__link{
    transition:none;
  }
}

.camera-solutions__grid{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:14px;
}

.camera-solution-card{
  position:relative;
  min-height:340px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.26);
  border-radius:8px;
  background:#101214;
  transition:transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.camera-solution-card:hover,
.camera-solution-card:focus-within{
  transform:translateY(-3px);
  border-color:var(--camera-orange);
  box-shadow:0 0 28px rgba(249,115,22,0.12), 0 20px 44px rgba(0,0,0,0.3);
}

.camera-solution-card--featured{
  border-color:var(--camera-orange);
}

.camera-solution-card__badge{
  position:absolute;
  z-index:2;
  top:0;
  left:0;
  padding:8px 12px;
  background:var(--camera-orange);
  color:var(--css-white);
  font-family:var(--font-heading);
  font-weight:800;
  letter-spacing:0.055em;
  text-transform:uppercase;
}

.camera-solution-card__media{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.14), rgba(0,0,0,0.76)),
    radial-gradient(circle at 28% 24%, rgba(249,115,22,0.32), transparent 20%),
    linear-gradient(135deg, #252525, #080808);
  opacity:0.9;
}

.camera-solution-card__media--entrances{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 74% 22%, rgba(255,214,164,0.24), transparent 18%),
    linear-gradient(135deg, #3b342b, #090909);
}

.camera-solution-card__media--after-hours{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 24% 18%, rgba(255,255,255,0.18), transparent 10%),
    linear-gradient(135deg, #17222a, #070707);
}

.camera-solution-card__media--remote{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 58% 24%, rgba(249,115,22,0.26), transparent 20%),
    linear-gradient(135deg, #273028, #080808);
}

.camera-solution-card__media--parking{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 34% 62%, rgba(249,115,22,0.2), transparent 22%),
    linear-gradient(135deg, #303439, #090909);
}

.camera-solution-card__media--review{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 70% 18%, rgba(255,255,255,0.16), transparent 16%),
    linear-gradient(135deg, #1b2528, #080808);
}

.camera-solution-card__content{
  position:relative;
  z-index:1;
  display:flex;
  height:100%;
  min-height:340px;
  flex-direction:column;
  justify-content:flex-end;
  padding:24px 18px 18px;
}

.camera-solution-card__icon{
  width:58px;
  height:58px;
  margin-bottom:18px;
  border:2px solid var(--camera-orange);
  border-radius:999px;
  background:rgba(249,115,22,0.07);
}

.camera-solution-card h3{
  margin-bottom:10px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:22px;
  font-weight:700;
  line-height:1.05;
  letter-spacing:0.035em;
  text-transform:uppercase;
}

.camera-solution-card p{
  color:rgba(255,255,255,0.9);
  font-size:16px;
  line-height:1.35;
}

.camera-solution-card a{
  display:inline-flex;
  gap:8px;
  margin-top:auto;
  padding-top:18px;
  color:var(--camera-orange);
  font-weight:800;
  text-decoration:none;
}

.camera-value-strip{
  padding:18px 0;
  background:#050505;
}

.camera-value-strip__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:0;
  overflow:hidden;
  border-radius:8px;
  background:var(--camera-offwhite);
  color:#111;
  box-shadow:0 18px 44px rgba(0,0,0,0.24);
}

.camera-value-item{
  display:grid;
  grid-template-columns:86px minmax(0, 1fr);
  gap:22px;
  align-items:center;
  padding:28px 36px;
}

.camera-value-item + .camera-value-item{
  border-left:1px solid rgba(0,0,0,0.18);
}

.camera-value-item__icon{
  width:70px;
  height:70px;
  border:2px solid var(--camera-orange);
  border-radius:999px;
  background:rgba(249,115,22,0.1);
}

.camera-value-item h2{
  color:var(--camera-orange);
  font-family:var(--font-heading);
  font-size:24px;
  letter-spacing:0.06em;
  text-transform:uppercase;
}

.camera-value-item ul{
  display:grid;
  gap:8px;
  list-style:none;
}

.camera-value-item li{
  position:relative;
  padding-left:20px;
}

.camera-value-item li::before{
  content:"";
  position:absolute;
  top:0.45em;
  left:0;
  width:8px;
  height:12px;
  border:solid var(--camera-orange);
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

.camera-cta-band{
  padding:0 0 56px;
  background:#050505;
}

.camera-cta-band__inner{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:28px;
  align-items:center;
  padding-block:22px;
  border:1px solid var(--camera-border);
  border-radius:8px;
  background:rgba(13,15,16,0.78);
}

.camera-cta-band__copy{
  display:flex;
  align-items:center;
  gap:22px;
}

.camera-cta-band__icon{
  width:78px;
  height:78px;
  flex:0 0 78px;
  border:2px solid var(--camera-orange);
  border-radius:999px;
  background:rgba(249,115,22,0.06);
}

.camera-cta-band h2{
  margin-bottom:4px;
  color:var(--css-white);
  font-size:26px;
}

.camera-cta-band p{
  color:var(--camera-muted);
  font-size:18px;
  line-height:1.35;
}

body.services-menu-open .camera-hero{
  padding-top:440px;
}

@media (max-width:1100px){
  .camera-hero__inner{
    grid-template-columns:1fr;
  }

  .camera-hero__visual{
    min-height:420px;
  }

  .camera-solutions__grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .camera-value-strip__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .camera-value-item:nth-child(3){
    grid-column:1 / -1;
    border-left:0;
    border-top:1px solid rgba(0,0,0,0.18);
  }
}

@media (max-width:760px){
  body.services-menu-open .camera-hero{
    padding-top:48px;
  }

  .camera-page-shell{
    max-width:100%;
    padding-inline:14px;
  }

  .camera-hero,
  .camera-hero__inner{
    min-height:auto;
  }

  .camera-hero__inner{
    padding-block:42px;
  }

  .camera-hero h1{
    max-width:100%;
    font-size:clamp(3rem, 13vw, 4.1rem);
    letter-spacing:0.028em;
  }

  .camera-hero__content > p:not(.camera-hero__eyebrow){
    max-width:100%;
    font-size:18px;
  }

  .camera-hero__actions,
  .camera-cta-band__actions{
    display:grid;
  }

  .camera-button{
    width:100%;
    min-width:0;
    padding-inline:12px;
    font-size:18px;
  }

  .camera-hero__visual{
    min-height:330px;
  }

  .camera-hero__phone{
    left:46%;
    width:104px;
    height:220px;
  }

  .camera-hero__product{
    right:-16px;
    width:190px;
    height:112px;
  }

  .camera-hero__nvr{
    right:12px;
    width:210px;
    height:70px;
  }

  .camera-solutions h2{
    font-size:24px;
  }

  .camera-solutions__grid,
  .camera-value-strip__grid,
  .camera-cta-band__inner{
    grid-template-columns:minmax(0, 1fr);
  }

  .camera-solution-card,
  .camera-solution-card__content{
    min-height:300px;
  }

  .camera-value-item,
  .camera-cta-band__copy{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
  }

  .camera-value-item + .camera-value-item,
  .camera-value-item:nth-child(3){
    border-left:0;
    border-top:1px solid rgba(0,0,0,0.18);
  }

  .camera-hero__content,
  .camera-hero__visual,
  .camera-solution-card,
  .camera-value-item{
    min-width:0;
    max-width:100%;
  }

  .camera-solution-card h3,
  .camera-solution-card p,
  .camera-solutions h2{
    max-width:100%;
    overflow-wrap:break-word;
  }
}

/* Access Control Service Page */
.access-service-page{
  --access-orange:var(--css-orange, #f97316);
  --access-dark:#050505;
  --access-panel:#101214;
  --access-border:rgba(255,255,255,0.18);
  --access-muted:rgba(255,255,255,0.76);
  --access-offwhite:#f7f4ee;
  overflow-x:hidden;
  background:var(--access-dark);
  color:var(--css-white);
}

.access-page-shell{
  width:100%;
  max-width:1540px;
  margin:0 auto;
  padding:0 44px;
}

.access-hero{
  position:relative;
  min-height:620px;
  overflow:hidden;
  background:#030303;
  isolation:isolate;
}

.access-hero__media-bg{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.72) 34%, rgba(0,0,0,0.34) 100%),
    radial-gradient(circle at 78% 28%, rgba(249,115,22,0.15), transparent 24%),
    linear-gradient(135deg, #071018 0%, #18222a 43%, #070707 100%);
}

.access-hero__media-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, transparent 0 18%, rgba(255,255,255,0.055) 18.2% 18.8%, transparent 19% 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.035) 0 1px, transparent 1px 132px),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.028) 0 1px, transparent 1px 92px);
  opacity:0.46;
}

.access-hero__inner{
  display:grid;
  grid-template-columns:minmax(560px, 0.82fr) minmax(0, 1fr);
  gap:44px;
  align-items:center;
  min-height:620px;
  padding-block:58px;
}

.access-hero__content{
  position:relative;
  z-index:2;
  max-width:700px;
}

.access-hero__eyebrow{
  margin-bottom:12px;
  color:var(--access-orange);
  font-family:var(--font-heading);
  font-weight:800;
  font-size:21px;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.access-hero__title{
  max-width:650px;
  margin-bottom:18px;
  color:var(--css-white);
  font-family:var(--font-display);
  font-size:clamp(4.2rem, 4.95vw, 6.55rem);
  font-weight:400;
  line-height:0.88;
  letter-spacing:0.035em;
  text-transform:uppercase;
  text-shadow:0 3px 0 rgba(0,0,0,0.72), 0 18px 34px rgba(0,0,0,0.5);
}

.access-title-dot{
  color:var(--access-orange);
}

.access-hero__text{
  max-width:620px;
  color:rgba(255,255,255,0.92);
  font-size:21px;
  line-height:1.45;
}

.access-hero__actions,
.service-cta-strip__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}

.access-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:58px;
  padding:14px 22px;
  border-radius:7px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:20px;
  letter-spacing:0.055em;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.access-button:hover,
.access-button:focus-visible{
  transform:translateY(-2px);
}

.access-button--primary{
  border:1px solid var(--access-orange);
  background:linear-gradient(180deg, var(--access-orange), #f04b13);
  box-shadow:0 16px 32px rgba(249,115,22,0.24);
}

.access-button--outline{
  border:1px solid rgba(255,255,255,0.44);
  background:rgba(0,0,0,0.35);
}

.access-button__icon{
  width:28px;
  height:28px;
  flex:0 0 28px;
  border:2px solid currentColor;
  border-radius:6px;
}

.access-button__icon--phone{
  border-radius:999px;
}

.access-hero__media{
  position:relative;
  min-height:500px;
}

.access-hero__building{
  position:absolute;
  inset:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:8px;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.08), rgba(0,0,0,0.62)),
    radial-gradient(circle at 64% 10%, rgba(255,255,255,0.14), transparent 7%),
    linear-gradient(135deg, #26333b, #0c1116 52%, #33261e);
  box-shadow:0 24px 70px rgba(0,0,0,0.5);
}

.access-hero__building::before{
  content:"";
  position:absolute;
  inset:12% 8% 18%;
  background:
    repeating-linear-gradient(90deg, rgba(255,196,130,0.35) 0 38px, transparent 38px 72px),
    linear-gradient(180deg, rgba(255,255,255,0.08), transparent);
  border-radius:7px;
  opacity:0.58;
}

.access-hero__door,
.access-hero__reader,
.access-hero__phone,
.access-hero__fob{
  position:absolute;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,0.22);
  color:rgba(255,255,255,0.82);
  font-family:var(--font-heading);
  font-weight:700;
  letter-spacing:0.06em;
  text-align:center;
  text-transform:uppercase;
  box-shadow:0 22px 55px rgba(0,0,0,0.45);
}

.access-hero__door{
  left:38%;
  top:0;
  width:210px;
  height:500px;
  border-radius:6px;
  background:
    linear-gradient(90deg, rgba(255,255,255,0.16), transparent 4px),
    linear-gradient(90deg, #141414, #292420 48%, #0d0d0d);
}

.access-hero__reader{
  right:22%;
  top:18%;
  width:150px;
  height:230px;
  border-radius:18px;
  background:linear-gradient(180deg, #17191b, #070809);
}

.access-hero__phone{
  right:0;
  bottom:10%;
  width:170px;
  height:330px;
  border-radius:30px;
  background:
    radial-gradient(circle at 50% 34%, rgba(20,220,102,0.28), transparent 18%),
    linear-gradient(180deg, rgba(255,255,255,0.08), transparent 18%),
    linear-gradient(180deg, #16191c, #050607);
}

.access-hero__fob{
  right:24%;
  bottom:13%;
  width:94px;
  height:122px;
  border-radius:48px 48px 58px 58px;
  background:linear-gradient(180deg, #25292d, #0b0c0d);
}

.access-solutions{
  padding:28px 0 22px;
  background:#050505;
}

.access-solutions__intro{
  margin-bottom:14px;
  color:var(--css-white);
  font-size:30px;
  font-weight:800;
  line-height:1.15;
  text-align:center;
}

.access-solutions__intro span{
  color:var(--access-orange);
}

.access-solutions__grid{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:14px;
}

.access-card{
  position:relative;
  min-height:340px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.26);
  border-radius:8px;
  background:#101214;
  transition:transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.access-card:hover,
.access-card:focus-within{
  transform:translateY(-3px);
  border-color:var(--access-orange);
  box-shadow:0 0 28px rgba(249,115,22,0.12), 0 20px 44px rgba(0,0,0,0.3);
}

.access-card--featured{
  border-color:var(--access-orange);
}

.access-card__badge{
  position:absolute;
  z-index:2;
  top:0;
  left:0;
  padding:8px 12px;
  background:var(--access-orange);
  color:var(--css-white);
  font-family:var(--font-heading);
  font-weight:800;
  letter-spacing:0.055em;
  text-transform:uppercase;
}

.access-card__media{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 28% 24%, rgba(249,115,22,0.34), transparent 20%),
    linear-gradient(135deg, #252525, #080808);
  opacity:0.9;
}

.access-card__media--users{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 74% 22%, rgba(255,214,164,0.24), transparent 18%),
    linear-gradient(135deg, #3b342b, #090909);
}

.access-card__media--remote{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 24% 18%, rgba(40,220,112,0.2), transparent 12%),
    linear-gradient(135deg, #17222a, #070707);
}

.access-card__media--shared{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 58% 24%, rgba(249,115,22,0.26), transparent 20%),
    linear-gradient(135deg, #273028, #080808);
}

.access-card__media--history{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 34% 62%, rgba(249,115,22,0.2), transparent 22%),
    linear-gradient(135deg, #303439, #090909);
}

.access-card__media--simple{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 70% 18%, rgba(255,255,255,0.16), transparent 16%),
    linear-gradient(135deg, #1b2528, #080808);
}

.access-card__content{
  position:relative;
  z-index:1;
  display:flex;
  height:100%;
  min-height:340px;
  flex-direction:column;
  justify-content:flex-end;
  padding:24px 18px 18px;
}

.access-card__icon{
  width:58px;
  height:58px;
  margin-bottom:18px;
  border:2px solid var(--access-orange);
  border-radius:999px;
  background:rgba(249,115,22,0.07);
}

.access-card__title{
  margin-bottom:10px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:22px;
  font-weight:700;
  line-height:1.05;
  letter-spacing:0.035em;
  text-transform:uppercase;
}

.access-card__text{
  color:rgba(255,255,255,0.9);
  font-size:16px;
  line-height:1.35;
}

.access-card__link{
  display:inline-flex;
  gap:8px;
  margin-top:auto;
  padding-top:18px;
  color:var(--access-orange);
  font-weight:800;
  text-decoration:none;
}

.access-value-strip{
  padding:18px 0;
  background:#050505;
}

.access-value-strip__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:0;
  overflow:hidden;
  border-radius:8px;
  background:var(--access-offwhite);
  color:#111;
  box-shadow:0 18px 44px rgba(0,0,0,0.24);
}

.access-value-strip__item{
  display:grid;
  grid-template-columns:86px minmax(0, 1fr);
  gap:22px;
  align-items:center;
  padding:28px 36px;
}

.access-value-strip__item + .access-value-strip__item{
  border-left:1px solid rgba(0,0,0,0.18);
}

.access-value-strip__icon{
  width:70px;
  height:70px;
  border:2px solid var(--access-orange);
  border-radius:999px;
  background:rgba(249,115,22,0.1);
}

.access-value-strip__title{
  color:var(--access-orange);
  font-family:var(--font-heading);
  font-size:24px;
  letter-spacing:0.06em;
  text-transform:uppercase;
}

.access-value-strip__list{
  display:grid;
  gap:8px;
  list-style:none;
}

.access-value-strip__list li{
  position:relative;
  padding-left:20px;
}

.access-value-strip__list li::before{
  content:"";
  position:absolute;
  top:0.45em;
  left:0;
  width:8px;
  height:12px;
  border:solid var(--access-orange);
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

.service-cta-strip{
  padding:0 0 56px;
  background:#050505;
}

.service-cta-strip__inner{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:28px;
  align-items:center;
  padding-block:22px;
  border:1px solid var(--access-border);
  border-radius:8px;
  background:rgba(13,15,16,0.78);
}

.service-cta-strip__message{
  display:flex;
  align-items:center;
  gap:22px;
}

.service-cta-strip__icon{
  width:78px;
  height:78px;
  flex:0 0 78px;
  border:2px solid var(--access-orange);
  border-radius:999px;
  background:rgba(249,115,22,0.06);
}

.service-cta-strip__title{
  margin-bottom:4px;
  color:var(--css-white);
  font-size:26px;
}

.service-cta-strip__text{
  color:var(--access-muted);
  font-size:18px;
  line-height:1.35;
}

body.services-menu-open .access-hero{
  padding-top:440px;
}

@media (max-width:1100px){
  .access-hero__inner{
    grid-template-columns:1fr;
  }

  .access-hero__media{
    min-height:420px;
  }

  .access-solutions__grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .access-value-strip__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .access-value-strip__item:nth-child(3){
    grid-column:1 / -1;
    border-left:0;
    border-top:1px solid rgba(0,0,0,0.18);
  }
}

@media (max-width:760px){
  body.services-menu-open .access-hero{
    padding-top:48px;
  }

  .access-page-shell{
    max-width:100%;
    padding-inline:14px;
  }

  .access-hero,
  .access-hero__inner{
    min-height:auto;
  }

  .access-hero__inner{
    padding-block:42px;
  }

  .access-hero__title{
    max-width:100%;
    font-size:clamp(3rem, 13vw, 4.1rem);
    letter-spacing:0.028em;
  }

  .access-hero__text{
    max-width:100%;
    font-size:18px;
  }

  .access-hero__actions,
  .service-cta-strip__actions{
    display:grid;
  }

  .access-button{
    width:100%;
    min-width:0;
    padding-inline:12px;
    font-size:18px;
  }

  .access-hero__media{
    min-height:340px;
  }

  .access-hero__door{
    left:28%;
    width:132px;
    height:330px;
  }

  .access-hero__reader{
    right:26%;
    top:20%;
    width:100px;
    height:160px;
  }

  .access-hero__phone{
    right:-6px;
    width:104px;
    height:220px;
  }

  .access-hero__fob{
    right:24%;
    width:70px;
    height:88px;
  }

  .access-solutions__intro{
    font-size:24px;
  }

  .access-solutions__grid,
  .access-value-strip__grid,
  .service-cta-strip__inner{
    grid-template-columns:minmax(0, 1fr);
  }

  .access-card,
  .access-card__content{
    min-height:300px;
  }

  .access-value-strip__item,
  .service-cta-strip__message{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
  }

  .access-value-strip__item + .access-value-strip__item,
  .access-value-strip__item:nth-child(3){
    border-left:0;
    border-top:1px solid rgba(0,0,0,0.18);
  }

  .access-hero__content,
  .access-hero__media,
  .access-card,
  .access-value-strip__item{
    min-width:0;
    max-width:100%;
  }

  .access-card__title,
  .access-card__text,
  .access-solutions__intro{
    max-width:100%;
    overflow-wrap:break-word;
  }
}

/* Emergency Pendants Service Page */
.emergency-service-page{
  --emergency-orange:var(--css-orange, #f97316);
  --emergency-dark:#050505;
  --emergency-border:rgba(255,255,255,0.18);
  --emergency-muted:rgba(255,255,255,0.76);
  --emergency-offwhite:#f7f4ee;
  overflow-x:hidden;
  background:var(--emergency-dark);
  color:var(--css-white);
}

.emergency-page-shell{
  width:100%;
  max-width:1540px;
  margin:0 auto;
  padding:0 44px;
}

.emergency-hero{
  position:relative;
  min-height:620px;
  overflow:hidden;
  background:#030303;
  isolation:isolate;
}

.emergency-hero__media-bg{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.72) 34%, rgba(0,0,0,0.34) 100%),
    radial-gradient(circle at 78% 28%, rgba(249,115,22,0.13), transparent 24%),
    linear-gradient(135deg, #071018 0%, #18222a 43%, #070707 100%);
}

.emergency-hero__media-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, transparent 0 18%, rgba(255,255,255,0.055) 18.2% 18.8%, transparent 19% 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.035) 0 1px, transparent 1px 132px),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.028) 0 1px, transparent 1px 92px);
  opacity:0.46;
}

.emergency-hero__inner{
  display:grid;
  grid-template-columns:minmax(600px, 0.86fr) minmax(0, 1fr);
  gap:44px;
  align-items:center;
  min-height:620px;
  padding-block:58px;
}

.emergency-hero__content{
  position:relative;
  z-index:2;
  max-width:760px;
}

.emergency-hero__eyebrow{
  margin-bottom:12px;
  color:var(--emergency-orange);
  font-family:var(--font-heading);
  font-weight:800;
  font-size:21px;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.emergency-hero__title{
  max-width:720px;
  margin-bottom:18px;
  color:var(--css-white);
  font-family:var(--font-display);
  font-size:clamp(4.1rem, 4.65vw, 6.15rem);
  font-weight:400;
  line-height:0.88;
  letter-spacing:0.035em;
  text-transform:uppercase;
  text-shadow:0 3px 0 rgba(0,0,0,0.72), 0 18px 34px rgba(0,0,0,0.5);
}

.emergency-title-dot{
  color:var(--emergency-orange);
}

.emergency-hero__text{
  max-width:650px;
  color:rgba(255,255,255,0.92);
  font-size:21px;
  line-height:1.45;
}

.emergency-hero__actions,
.emergency-cta-strip__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}

.emergency-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:58px;
  padding:14px 22px;
  border-radius:7px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:20px;
  letter-spacing:0.055em;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.emergency-button:hover,
.emergency-button:focus-visible{
  transform:translateY(-2px);
}

.emergency-button--primary{
  border:1px solid var(--emergency-orange);
  background:linear-gradient(180deg, var(--emergency-orange), #f04b13);
  box-shadow:0 16px 32px rgba(249,115,22,0.24);
}

.emergency-button--outline{
  border:1px solid rgba(255,255,255,0.44);
  background:rgba(0,0,0,0.35);
}

.emergency-button__icon{
  width:28px;
  height:28px;
  flex:0 0 28px;
  border:2px solid currentColor;
  border-radius:6px;
}

.emergency-button__icon--phone{
  border-radius:999px;
}

.emergency-hero__media{
  position:relative;
  min-height:500px;
}

.emergency-hero__building{
  position:absolute;
  inset:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:8px;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.08), rgba(0,0,0,0.62)),
    radial-gradient(circle at 62% 12%, rgba(255,255,255,0.14), transparent 7%),
    linear-gradient(135deg, #26333b, #0c1116 52%, #33261e);
  box-shadow:0 24px 70px rgba(0,0,0,0.5);
}

.emergency-hero__building::before{
  content:"";
  position:absolute;
  inset:12% 8% 18%;
  background:
    repeating-linear-gradient(90deg, rgba(255,196,130,0.35) 0 38px, transparent 38px 72px),
    linear-gradient(180deg, rgba(255,255,255,0.08), transparent);
  border-radius:7px;
  opacity:0.58;
}

.emergency-hero__context,
.emergency-hero__device,
.emergency-hero__response{
  position:absolute;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,0.22);
  color:rgba(255,255,255,0.82);
  font-family:var(--font-heading);
  font-weight:700;
  letter-spacing:0.06em;
  text-align:center;
  text-transform:uppercase;
  box-shadow:0 22px 55px rgba(0,0,0,0.45);
}

.emergency-hero__context{
  left:8%;
  bottom:13%;
  width:310px;
  height:250px;
  border-radius:18px;
  background:
    radial-gradient(circle at 50% 28%, rgba(249,115,22,0.18), transparent 18%),
    linear-gradient(180deg, #1b2023, #070809);
}

.emergency-hero__device{
  right:27%;
  top:13%;
  width:174px;
  height:230px;
  border-radius:38px;
  background:
    radial-gradient(circle at 50% 58%, rgba(249,115,22,0.4), transparent 17%),
    linear-gradient(180deg, #ededeb, #aeb2b2);
  color:#111;
}

.emergency-hero__response{
  right:0;
  bottom:10%;
  width:170px;
  height:330px;
  border-radius:30px;
  background:
    radial-gradient(circle at 50% 34%, rgba(249,115,22,0.22), transparent 18%),
    linear-gradient(180deg, rgba(255,255,255,0.08), transparent 18%),
    linear-gradient(180deg, #16191c, #050607);
}

.emergency-solutions{
  padding:28px 0 22px;
  background:#050505;
}

.emergency-solutions__intro{
  margin-bottom:14px;
  color:var(--css-white);
  font-size:30px;
  font-weight:800;
  line-height:1.15;
  text-align:center;
}

.emergency-solutions__intro span{
  color:var(--emergency-orange);
}

.emergency-solutions__grid{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:14px;
}

.emergency-card{
  position:relative;
  min-height:340px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.26);
  border-radius:8px;
  background:#101214;
  transition:transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.emergency-card:hover,
.emergency-card:focus-within{
  transform:translateY(-3px);
  border-color:var(--emergency-orange);
  box-shadow:0 0 28px rgba(249,115,22,0.12), 0 20px 44px rgba(0,0,0,0.3);
}

.emergency-card--featured{
  border-color:var(--emergency-orange);
}

.emergency-card__badge{
  position:absolute;
  z-index:2;
  top:0;
  left:0;
  padding:8px 12px;
  background:var(--emergency-orange);
  color:var(--css-white);
  font-family:var(--font-heading);
  font-weight:800;
  letter-spacing:0.055em;
  text-transform:uppercase;
}

.emergency-card__media{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 28% 24%, rgba(249,115,22,0.3), transparent 20%),
    linear-gradient(135deg, #252525, #080808);
  opacity:0.9;
}

.emergency-card__media--worker{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 74% 22%, rgba(255,214,164,0.22), transparent 18%),
    linear-gradient(135deg, #3b342b, #090909);
}

.emergency-card__media--guards{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 24% 18%, rgba(249,115,22,0.2), transparent 12%),
    linear-gradient(135deg, #17222a, #070707);
}

.emergency-card__media--alerts{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 58% 24%, rgba(249,115,22,0.28), transparent 20%),
    linear-gradient(135deg, #273028, #080808);
}

.emergency-card__media--family{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 34% 62%, rgba(249,115,22,0.18), transparent 22%),
    linear-gradient(135deg, #303439, #090909);
}

.emergency-card__media--risk{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 70% 18%, rgba(255,255,255,0.16), transparent 16%),
    linear-gradient(135deg, #1b2528, #080808);
}

.emergency-card__content{
  position:relative;
  z-index:1;
  display:flex;
  height:100%;
  min-height:340px;
  flex-direction:column;
  justify-content:flex-end;
  padding:24px 18px 18px;
}

.emergency-card__icon{
  width:58px;
  height:58px;
  margin-bottom:18px;
  border:2px solid var(--emergency-orange);
  border-radius:999px;
  background:rgba(249,115,22,0.07);
}

.emergency-card__title{
  margin-bottom:10px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:22px;
  font-weight:700;
  line-height:1.05;
  letter-spacing:0.035em;
  text-transform:uppercase;
}

.emergency-card__text{
  color:rgba(255,255,255,0.9);
  font-size:16px;
  line-height:1.35;
}

.emergency-card__link{
  display:inline-flex;
  gap:8px;
  margin-top:auto;
  padding-top:18px;
  color:var(--emergency-orange);
  font-weight:800;
  text-decoration:none;
}

.emergency-value-strip{
  padding:18px 0;
  background:#050505;
}

.emergency-value-strip__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:0;
  overflow:hidden;
  border-radius:8px;
  background:var(--emergency-offwhite);
  color:#111;
  box-shadow:0 18px 44px rgba(0,0,0,0.24);
}

.emergency-value-strip__item{
  display:grid;
  grid-template-columns:86px minmax(0, 1fr);
  gap:22px;
  align-items:center;
  padding:28px 36px;
}

.emergency-value-strip__item + .emergency-value-strip__item{
  border-left:1px solid rgba(0,0,0,0.18);
}

.emergency-value-strip__icon{
  width:70px;
  height:70px;
  border:2px solid var(--emergency-orange);
  border-radius:999px;
  background:rgba(249,115,22,0.1);
}

.emergency-value-strip__title{
  color:var(--emergency-orange);
  font-family:var(--font-heading);
  font-size:24px;
  letter-spacing:0.06em;
  text-transform:uppercase;
}

.emergency-value-strip__list{
  display:grid;
  gap:8px;
  list-style:none;
}

.emergency-value-strip__list li{
  position:relative;
  padding-left:20px;
}

.emergency-value-strip__list li::before{
  content:"";
  position:absolute;
  top:0.45em;
  left:0;
  width:8px;
  height:12px;
  border:solid var(--emergency-orange);
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

.emergency-cta-strip{
  padding:0 0 56px;
  background:#050505;
}

.emergency-cta-strip__inner{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:28px;
  align-items:center;
  padding-block:22px;
  border:1px solid var(--emergency-border);
  border-radius:8px;
  background:rgba(13,15,16,0.78);
}

.emergency-cta-strip__message{
  display:flex;
  align-items:center;
  gap:22px;
}

.emergency-cta-strip__icon{
  width:78px;
  height:78px;
  flex:0 0 78px;
  border:2px solid var(--emergency-orange);
  border-radius:999px;
  background:rgba(249,115,22,0.06);
}

.emergency-cta-strip__title{
  margin-bottom:4px;
  color:var(--css-white);
  font-size:26px;
}

.emergency-cta-strip__text{
  color:var(--emergency-muted);
  font-size:18px;
  line-height:1.35;
}

body.services-menu-open .emergency-hero{
  padding-top:440px;
}

@media (max-width:1100px){
  .emergency-hero__inner{
    grid-template-columns:1fr;
  }

  .emergency-hero__media{
    min-height:420px;
  }

  .emergency-solutions__grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .emergency-value-strip__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .emergency-value-strip__item:nth-child(3){
    grid-column:1 / -1;
    border-left:0;
    border-top:1px solid rgba(0,0,0,0.18);
  }
}

@media (max-width:760px){
  body.services-menu-open .emergency-hero{
    padding-top:48px;
  }

  .emergency-page-shell{
    max-width:100%;
    padding-inline:14px;
  }

  .emergency-hero,
  .emergency-hero__inner{
    min-height:auto;
  }

  .emergency-hero__inner{
    padding-block:42px;
  }

  .emergency-hero__title{
    max-width:100%;
    font-size:clamp(3rem, 13vw, 4.1rem);
    letter-spacing:0.028em;
  }

  .emergency-hero__text{
    max-width:100%;
    font-size:18px;
  }

  .emergency-hero__actions,
  .emergency-cta-strip__actions{
    display:grid;
  }

  .emergency-button{
    width:100%;
    min-width:0;
    padding-inline:12px;
    font-size:18px;
  }

  .emergency-hero__media{
    min-height:340px;
  }

  .emergency-hero__context{
    left:6%;
    width:190px;
    height:170px;
  }

  .emergency-hero__device{
    right:30%;
    top:10%;
    width:116px;
    height:160px;
  }

  .emergency-hero__response{
    right:-6px;
    width:104px;
    height:220px;
  }

  .emergency-solutions__intro{
    font-size:24px;
  }

  .emergency-solutions__grid,
  .emergency-value-strip__grid,
  .emergency-cta-strip__inner{
    grid-template-columns:minmax(0, 1fr);
  }

  .emergency-card,
  .emergency-card__content{
    min-height:300px;
  }

  .emergency-value-strip__item,
  .emergency-cta-strip__message{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
  }

  .emergency-value-strip__item + .emergency-value-strip__item,
  .emergency-value-strip__item:nth-child(3){
    border-left:0;
    border-top:1px solid rgba(0,0,0,0.18);
  }

  .emergency-hero__content,
  .emergency-hero__media,
  .emergency-card,
  .emergency-value-strip__item{
    min-width:0;
    max-width:100%;
  }

  .emergency-card__title,
  .emergency-card__text,
  .emergency-solutions__intro{
    max-width:100%;
    overflow-wrap:break-word;
  }
}

/* New Construction Wiring Service Page */
.wiring-service-page{
  --wiring-orange:var(--css-orange, #f97316);
  --wiring-dark:#050505;
  --wiring-border:rgba(255,255,255,0.18);
  --wiring-muted:rgba(255,255,255,0.76);
  --wiring-offwhite:#f7f4ee;
  overflow-x:hidden;
  background:var(--wiring-dark);
  color:var(--css-white);
}

.wiring-page-shell{
  width:100%;
  max-width:1540px;
  margin:0 auto;
  padding:0 44px;
}

.wiring-hero{
  position:relative;
  min-height:620px;
  overflow:hidden;
  background:#030303;
  isolation:isolate;
}

.wiring-hero__media-bg{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.72) 34%, rgba(0,0,0,0.34) 100%),
    radial-gradient(circle at 78% 28%, rgba(249,115,22,0.13), transparent 24%),
    linear-gradient(135deg, #071018 0%, #18222a 43%, #070707 100%);
}

.wiring-hero__media-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, transparent 0 18%, rgba(255,255,255,0.055) 18.2% 18.8%, transparent 19% 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.035) 0 1px, transparent 1px 132px),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.028) 0 1px, transparent 1px 92px);
  opacity:0.46;
}

.wiring-hero__inner{
  display:grid;
  grid-template-columns:minmax(630px, 0.9fr) minmax(0, 1fr);
  gap:44px;
  align-items:center;
  min-height:620px;
  padding-block:58px;
}

.wiring-hero__content{
  position:relative;
  z-index:2;
  max-width:780px;
}

.wiring-hero__eyebrow{
  margin-bottom:12px;
  color:var(--wiring-orange);
  font-family:var(--font-heading);
  font-weight:800;
  font-size:21px;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.wiring-hero__title{
  max-width:760px;
  margin-bottom:18px;
  color:var(--css-white);
  font-family:var(--font-display);
  font-size:clamp(4rem, 4.25vw, 5.65rem);
  font-weight:400;
  line-height:0.88;
  letter-spacing:0.035em;
  text-transform:uppercase;
  text-shadow:0 3px 0 rgba(0,0,0,0.72), 0 18px 34px rgba(0,0,0,0.5);
}

.wiring-title-dot{
  color:var(--wiring-orange);
}

.wiring-hero__text{
  max-width:670px;
  color:rgba(255,255,255,0.92);
  font-size:21px;
  line-height:1.45;
}

.wiring-hero__actions,
.wiring-cta-strip__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}

.wiring-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:58px;
  padding:14px 22px;
  border-radius:7px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:20px;
  letter-spacing:0.055em;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.wiring-button:hover,
.wiring-button:focus-visible{
  transform:translateY(-2px);
}

.wiring-button--primary{
  border:1px solid var(--wiring-orange);
  background:linear-gradient(180deg, var(--wiring-orange), #f04b13);
  box-shadow:0 16px 32px rgba(249,115,22,0.24);
}

.wiring-button--outline{
  border:1px solid rgba(255,255,255,0.44);
  background:rgba(0,0,0,0.35);
}

.wiring-button__icon{
  width:28px;
  height:28px;
  flex:0 0 28px;
  border:2px solid currentColor;
  border-radius:6px;
}

.wiring-button__icon--phone{
  border-radius:999px;
}

.wiring-hero__media{
  position:relative;
  min-height:500px;
}

.wiring-hero__framing{
  position:absolute;
  inset:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:8px;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.08), rgba(0,0,0,0.62)),
    radial-gradient(circle at 62% 12%, rgba(255,255,255,0.14), transparent 7%),
    linear-gradient(135deg, #26333b, #0c1116 52%, #33261e);
  box-shadow:0 24px 70px rgba(0,0,0,0.5);
}

.wiring-hero__framing::before{
  content:"";
  position:absolute;
  inset:12% 8% 18%;
  background:
    repeating-linear-gradient(90deg, rgba(255,196,130,0.3) 0 34px, transparent 34px 70px),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.06) 0 3px, transparent 3px 58px);
  border-radius:7px;
  opacity:0.62;
}

.wiring-hero__cable,
.wiring-hero__panel,
.wiring-hero__device{
  position:absolute;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,0.22);
  color:rgba(255,255,255,0.82);
  font-family:var(--font-heading);
  font-weight:700;
  letter-spacing:0.06em;
  text-align:center;
  text-transform:uppercase;
  box-shadow:0 22px 55px rgba(0,0,0,0.45);
}

.wiring-hero__cable{
  left:8%;
  bottom:13%;
  width:300px;
  height:250px;
  border-radius:18px;
  background:
    repeating-linear-gradient(90deg, rgba(249,115,22,0.32) 0 8px, transparent 8px 26px),
    linear-gradient(180deg, #1b2023, #070809);
}

.wiring-hero__panel{
  right:23%;
  top:12%;
  width:190px;
  height:300px;
  border-radius:16px;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,0.12) 0 2px, transparent 2px 24px),
    linear-gradient(180deg, #202428, #08090a);
}

.wiring-hero__device{
  right:0;
  bottom:12%;
  width:172px;
  height:220px;
  border-radius:26px;
  background:
    radial-gradient(circle at 50% 34%, rgba(249,115,22,0.22), transparent 18%),
    linear-gradient(180deg, rgba(255,255,255,0.08), transparent 18%),
    linear-gradient(180deg, #16191c, #050607);
}

.wiring-solutions{
  padding:28px 0 22px;
  background:#050505;
}

.wiring-solutions__intro{
  margin-bottom:14px;
  color:var(--css-white);
  font-size:30px;
  font-weight:800;
  line-height:1.15;
  text-align:center;
}

.wiring-solutions__intro span{
  color:var(--wiring-orange);
}

.wiring-solutions__grid{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:14px;
}

.wiring-card{
  position:relative;
  min-height:340px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.26);
  border-radius:8px;
  background:#101214;
  transition:transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.wiring-card:hover,
.wiring-card:focus-within{
  transform:translateY(-3px);
  border-color:var(--wiring-orange);
  box-shadow:0 0 28px rgba(249,115,22,0.12), 0 20px 44px rgba(0,0,0,0.3);
}

.wiring-card--featured{
  border-color:var(--wiring-orange);
}

.wiring-card__badge{
  position:absolute;
  z-index:2;
  top:0;
  left:0;
  padding:8px 12px;
  background:var(--wiring-orange);
  color:var(--css-white);
  font-family:var(--font-heading);
  font-weight:800;
  letter-spacing:0.055em;
  text-transform:uppercase;
}

.wiring-card__media{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 28% 24%, rgba(249,115,22,0.3), transparent 20%),
    linear-gradient(135deg, #252525, #080808);
  opacity:0.9;
}

.wiring-card__media--clean{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 74% 22%, rgba(255,214,164,0.22), transparent 18%),
    linear-gradient(135deg, #3b342b, #090909);
}

.wiring-card__media--planning{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 24% 18%, rgba(249,115,22,0.2), transparent 12%),
    linear-gradient(135deg, #17222a, #070707);
}

.wiring-card__media--future{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 58% 24%, rgba(249,115,22,0.28), transparent 20%),
    linear-gradient(135deg, #273028, #080808);
}

.wiring-card__media--labeled{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 34% 62%, rgba(249,115,22,0.18), transparent 22%),
    linear-gradient(135deg, #303439, #090909);
}

.wiring-card__media--trades{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 70% 18%, rgba(255,255,255,0.16), transparent 16%),
    linear-gradient(135deg, #1b2528, #080808);
}

.wiring-card__content{
  position:relative;
  z-index:1;
  display:flex;
  height:100%;
  min-height:340px;
  flex-direction:column;
  justify-content:flex-end;
  padding:24px 18px 18px;
}

.wiring-card__icon{
  width:58px;
  height:58px;
  margin-bottom:18px;
  border:2px solid var(--wiring-orange);
  border-radius:999px;
  background:rgba(249,115,22,0.07);
}

.wiring-card__title{
  margin-bottom:10px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:22px;
  font-weight:700;
  line-height:1.05;
  letter-spacing:0.035em;
  text-transform:uppercase;
}

.wiring-card__text{
  color:rgba(255,255,255,0.9);
  font-size:16px;
  line-height:1.35;
}

.wiring-card__link{
  display:inline-flex;
  gap:8px;
  margin-top:auto;
  padding-top:18px;
  color:var(--wiring-orange);
  font-weight:800;
  text-decoration:none;
}

.wiring-value-strip{
  padding:18px 0;
  background:#050505;
}

.wiring-value-strip__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:0;
  overflow:hidden;
  border-radius:8px;
  background:var(--wiring-offwhite);
  color:#111;
  box-shadow:0 18px 44px rgba(0,0,0,0.24);
}

.wiring-value-strip__item{
  display:grid;
  grid-template-columns:86px minmax(0, 1fr);
  gap:22px;
  align-items:center;
  padding:28px 36px;
}

.wiring-value-strip__item + .wiring-value-strip__item{
  border-left:1px solid rgba(0,0,0,0.18);
}

.wiring-value-strip__icon{
  width:70px;
  height:70px;
  border:2px solid var(--wiring-orange);
  border-radius:999px;
  background:rgba(249,115,22,0.1);
}

.wiring-value-strip__title{
  color:var(--wiring-orange);
  font-family:var(--font-heading);
  font-size:24px;
  letter-spacing:0.06em;
  text-transform:uppercase;
}

.wiring-value-strip__list{
  display:grid;
  gap:8px;
  list-style:none;
}

.wiring-value-strip__list li{
  position:relative;
  padding-left:20px;
}

.wiring-value-strip__list li::before{
  content:"";
  position:absolute;
  top:0.45em;
  left:0;
  width:8px;
  height:12px;
  border:solid var(--wiring-orange);
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

.wiring-cta-strip{
  padding:0 0 56px;
  background:#050505;
}

.wiring-cta-strip__inner{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:28px;
  align-items:center;
  padding-block:22px;
  border:1px solid var(--wiring-border);
  border-radius:8px;
  background:rgba(13,15,16,0.78);
}

.wiring-cta-strip__message{
  display:flex;
  align-items:center;
  gap:22px;
}

.wiring-cta-strip__icon{
  width:78px;
  height:78px;
  flex:0 0 78px;
  border:2px solid var(--wiring-orange);
  border-radius:999px;
  background:rgba(249,115,22,0.06);
}

.wiring-cta-strip__title{
  margin-bottom:4px;
  color:var(--css-white);
  font-size:26px;
}

.wiring-cta-strip__text{
  color:var(--wiring-muted);
  font-size:18px;
  line-height:1.35;
}

body.services-menu-open .wiring-hero{
  padding-top:440px;
}

@media (max-width:1100px){
  .wiring-hero__inner{
    grid-template-columns:1fr;
  }

  .wiring-hero__media{
    min-height:420px;
  }

  .wiring-solutions__grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .wiring-value-strip__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .wiring-value-strip__item:nth-child(3){
    grid-column:1 / -1;
    border-left:0;
    border-top:1px solid rgba(0,0,0,0.18);
  }
}

@media (max-width:760px){
  body.services-menu-open .wiring-hero{
    padding-top:48px;
  }

  .wiring-page-shell{
    max-width:100%;
    padding-inline:14px;
  }

  .wiring-hero,
  .wiring-hero__inner{
    min-height:auto;
  }

  .wiring-hero__inner{
    padding-block:42px;
  }

  .wiring-hero__title{
    max-width:100%;
    font-size:clamp(3rem, 13vw, 4.1rem);
    letter-spacing:0.028em;
  }

  .wiring-hero__text{
    max-width:100%;
    font-size:18px;
  }

  .wiring-hero__actions,
  .wiring-cta-strip__actions{
    display:grid;
  }

  .wiring-button{
    width:100%;
    min-width:0;
    padding-inline:12px;
    font-size:18px;
  }

  .wiring-hero__media{
    min-height:340px;
  }

  .wiring-hero__cable{
    left:6%;
    width:190px;
    height:170px;
  }

  .wiring-hero__panel{
    right:28%;
    top:10%;
    width:116px;
    height:190px;
  }

  .wiring-hero__device{
    right:-6px;
    width:104px;
    height:180px;
  }

  .wiring-solutions__intro{
    font-size:24px;
  }

  .wiring-solutions__grid,
  .wiring-value-strip__grid,
  .wiring-cta-strip__inner{
    grid-template-columns:minmax(0, 1fr);
  }

  .wiring-card,
  .wiring-card__content{
    min-height:300px;
  }

  .wiring-value-strip__item,
  .wiring-cta-strip__message{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
  }

  .wiring-value-strip__item + .wiring-value-strip__item,
  .wiring-value-strip__item:nth-child(3){
    border-left:0;
    border-top:1px solid rgba(0,0,0,0.18);
  }

  .wiring-hero__content,
  .wiring-hero__media,
  .wiring-card,
  .wiring-value-strip__item{
    min-width:0;
    max-width:100%;
  }

  .wiring-card__title,
  .wiring-card__text,
  .wiring-solutions__intro{
    max-width:100%;
    overflow-wrap:break-word;
  }
}

/* Video Monitoring Service Page */
.monitoring-service-page{
  --monitoring-orange:var(--css-orange, #f97316);
  --monitoring-dark:#050505;
  --monitoring-border:rgba(255,255,255,0.18);
  --monitoring-muted:rgba(255,255,255,0.76);
  --monitoring-offwhite:#f7f4ee;
  overflow-x:hidden;
  background:var(--monitoring-dark);
  color:var(--css-white);
}

.monitoring-page-shell{
  width:100%;
  max-width:1540px;
  margin:0 auto;
  padding:0 44px;
}

.monitoring-hero{
  position:relative;
  min-height:620px;
  overflow:hidden;
  background:#030303;
  isolation:isolate;
}

.monitoring-hero__media-bg{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.96) 0%, rgba(0,0,0,0.74) 35%, rgba(0,0,0,0.34) 100%),
    radial-gradient(circle at 75% 30%, rgba(249,115,22,0.14), transparent 25%),
    linear-gradient(135deg, #071018 0%, #151f26 45%, #070707 100%);
}

.monitoring-hero__media-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, transparent 0 18%, rgba(255,255,255,0.055) 18.2% 18.8%, transparent 19% 100%),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.035) 0 1px, transparent 1px 132px),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.028) 0 1px, transparent 1px 92px);
  opacity:0.46;
}

.monitoring-hero__inner{
  display:grid;
  grid-template-columns:minmax(650px, 0.9fr) minmax(0, 1fr);
  gap:44px;
  align-items:center;
  min-height:620px;
  padding-block:58px;
}

.monitoring-hero__content{
  position:relative;
  z-index:2;
  max-width:800px;
}

.monitoring-hero__eyebrow{
  margin-bottom:12px;
  color:var(--monitoring-orange);
  font-family:var(--font-heading);
  font-weight:800;
  font-size:21px;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.monitoring-hero__title{
  max-width:790px;
  margin-bottom:18px;
  color:var(--css-white);
  font-family:var(--font-display);
  font-size:clamp(4rem, 4.25vw, 5.65rem);
  font-weight:400;
  line-height:0.88;
  letter-spacing:0.035em;
  text-transform:uppercase;
  text-shadow:0 3px 0 rgba(0,0,0,0.72), 0 18px 34px rgba(0,0,0,0.5);
}

.monitoring-title-dot{
  color:var(--monitoring-orange);
}

.monitoring-hero__text{
  max-width:720px;
  color:rgba(255,255,255,0.92);
  font-size:21px;
  line-height:1.45;
}

.monitoring-hero__actions,
.monitoring-cta-strip__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}

.monitoring-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:58px;
  padding:14px 22px;
  border-radius:7px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:20px;
  letter-spacing:0.055em;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.monitoring-button:hover,
.monitoring-button:focus-visible{
  transform:translateY(-2px);
}

.monitoring-button--primary{
  border:1px solid var(--monitoring-orange);
  background:linear-gradient(180deg, var(--monitoring-orange), #f04b13);
  box-shadow:0 16px 32px rgba(249,115,22,0.24);
}

.monitoring-button--outline{
  border:1px solid rgba(255,255,255,0.44);
  background:rgba(0,0,0,0.35);
}

.monitoring-button__icon{
  width:28px;
  height:28px;
  flex:0 0 28px;
  border:2px solid currentColor;
  border-radius:6px;
}

.monitoring-button__icon--phone{
  border-radius:999px;
}

.monitoring-hero__media{
  position:relative;
  min-height:500px;
}

.monitoring-hero__property{
  position:absolute;
  inset:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:8px;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.05), rgba(0,0,0,0.64)),
    radial-gradient(circle at 70% 16%, rgba(255,255,255,0.16), transparent 7%),
    linear-gradient(135deg, #293640, #0c1116 52%, #33251d);
  box-shadow:0 24px 70px rgba(0,0,0,0.5);
}

.monitoring-hero__property::before{
  content:"";
  position:absolute;
  inset:13% 8% 18%;
  background:
    repeating-linear-gradient(90deg, rgba(255,196,130,0.3) 0 34px, transparent 34px 70px),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.06) 0 3px, transparent 3px 58px);
  border-radius:7px;
  opacity:0.62;
}

.monitoring-hero__grid,
.monitoring-hero__alert,
.monitoring-hero__camera{
  position:absolute;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,0.22);
  color:rgba(255,255,255,0.84);
  font-family:var(--font-heading);
  font-weight:700;
  letter-spacing:0.06em;
  text-align:center;
  text-transform:uppercase;
  box-shadow:0 22px 55px rgba(0,0,0,0.45);
}

.monitoring-hero__grid{
  left:8%;
  bottom:12%;
  width:320px;
  height:230px;
  border-radius:18px;
  background:
    linear-gradient(90deg, transparent 49%, rgba(255,255,255,0.16) 49% 51%, transparent 51%),
    linear-gradient(0deg, transparent 49%, rgba(255,255,255,0.16) 49% 51%, transparent 51%),
    radial-gradient(circle at 25% 24%, rgba(249,115,22,0.28), transparent 18%),
    linear-gradient(180deg, #1b2023, #070809);
}

.monitoring-hero__alert{
  right:24%;
  top:12%;
  width:174px;
  height:302px;
  border-radius:28px;
  background:
    radial-gradient(circle at 50% 22%, rgba(249,115,22,0.24), transparent 17%),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.12) 0 2px, transparent 2px 44px),
    linear-gradient(180deg, #202428, #08090a);
}

.monitoring-hero__camera{
  right:0;
  bottom:14%;
  width:220px;
  height:150px;
  border-radius:28px;
  background:
    radial-gradient(circle at 36% 48%, rgba(249,115,22,0.32), transparent 18%),
    radial-gradient(circle at 74% 48%, rgba(255,255,255,0.16), transparent 12%),
    linear-gradient(180deg, rgba(255,255,255,0.08), transparent 18%),
    linear-gradient(180deg, #16191c, #050607);
}

.monitoring-solutions{
  padding:28px 0 22px;
  background:#050505;
}

.monitoring-solutions__intro{
  margin-bottom:14px;
  color:var(--css-white);
  font-size:30px;
  font-weight:800;
  line-height:1.15;
  text-align:center;
}

.monitoring-solutions__intro span{
  color:var(--monitoring-orange);
}

.alarm-button,
.camera-button,
.access-button,
.emergency-button,
.wiring-button,
.monitoring-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:58px;
  padding:16px 26px;
  border-radius:7px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  line-height:1;
  letter-spacing:0.06em;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}

.alarm-button:hover,
.alarm-button:focus-visible,
.camera-button:hover,
.camera-button:focus-visible,
.access-button:hover,
.access-button:focus-visible,
.emergency-button:hover,
.emergency-button:focus-visible,
.wiring-button:hover,
.wiring-button:focus-visible,
.monitoring-button:hover,
.monitoring-button:focus-visible{
  transform:translateY(-2px);
}

.alarm-button--primary,
.camera-button--primary,
.access-button--primary,
.emergency-button--primary,
.wiring-button--primary,
.monitoring-button--primary{
  border:1px solid var(--css-orange);
  background:linear-gradient(180deg, var(--css-orange), var(--css-orange-dark));
  box-shadow:0 18px 38px rgba(249,115,22,0.24);
  color:var(--css-white);
}

.alarm-button--outline,
.camera-button--outline,
.access-button--outline,
.emergency-button--outline,
.wiring-button--outline,
.monitoring-button--outline{
  border:1px solid rgba(255,255,255,0.62);
  background:rgba(5,5,5,0.24);
  color:var(--css-white);
}

.alarm-button--outline:hover,
.alarm-button--outline:focus-visible,
.camera-button--outline:hover,
.camera-button--outline:focus-visible,
.access-button--outline:hover,
.access-button--outline:focus-visible,
.emergency-button--outline:hover,
.emergency-button--outline:focus-visible,
.wiring-button--outline:hover,
.wiring-button--outline:focus-visible,
.monitoring-button--outline:hover,
.monitoring-button--outline:focus-visible{
  border-color:var(--css-orange);
  color:var(--css-orange);
}

.alarm-button__icon,
.camera-button__icon,
.access-button__icon,
.emergency-button__icon,
.wiring-button__icon,
.monitoring-button__icon{
  --icon:url("assets/icon-estimate-calendar.svg");
  --icon-size:100%;
  display:block;
  width:22px;
  height:22px;
  flex:0 0 22px;
  border:0;
  border-radius:0;
  color:inherit;
  transition:color .18s ease, transform .18s ease;
}

.alarm-button__icon--phone,
.camera-button__icon--phone,
.access-button__icon--phone,
.emergency-button__icon--phone,
.wiring-button__icon--phone,
.monitoring-button__icon--phone{
  --icon:var(--icon-phone-solid);
}

.alarm-button:hover .alarm-button__icon,
.alarm-button:focus-visible .alarm-button__icon,
.camera-button:hover .camera-button__icon,
.camera-button:focus-visible .camera-button__icon,
.access-button:hover .access-button__icon,
.access-button:focus-visible .access-button__icon,
.emergency-button:hover .emergency-button__icon,
.emergency-button:focus-visible .emergency-button__icon,
.wiring-button:hover .wiring-button__icon,
.wiring-button:focus-visible .wiring-button__icon,
.monitoring-button:hover .monitoring-button__icon,
.monitoring-button:focus-visible .monitoring-button__icon{
  color:var(--logo-blue);
  transform:translateX(2px);
}

@media (max-width:760px){
  .alarm-button,
  .camera-button,
  .access-button,
  .emergency-button,
  .wiring-button,
  .monitoring-button{
    width:100%;
    min-width:0;
    padding-inline:12px;
    font-size:16px;
    line-height:1.08;
    letter-spacing:0.04em;
    text-align:center;
    white-space:normal;
  }
}

.alarm-hero__visual,
.camera-hero__visual,
.access-hero__media,
.emergency-hero__media,
.wiring-hero__media,
.monitoring-hero__media{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  background:transparent;
  border:0;
  box-shadow:none;
}

.product-banner-image{
  display:block;
  width:min(112%, 920px);
  max-height:500px;
  height:auto;
  margin-left:auto;
  object-fit:contain;
  filter:drop-shadow(0 28px 44px rgba(0,0,0,0.34));
}

.monitoring-solutions__grid{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:14px;
}

.monitoring-card{
  position:relative;
  min-height:340px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.26);
  border-radius:8px;
  background:#101214;
  transition:transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.monitoring-card:hover,
.monitoring-card:focus-within{
  transform:translateY(-3px);
  border-color:var(--monitoring-orange);
  box-shadow:0 0 28px rgba(249,115,22,0.12), 0 20px 44px rgba(0,0,0,0.3);
}

.monitoring-card--featured{
  border-color:var(--monitoring-orange);
}

.monitoring-card__badge{
  position:absolute;
  z-index:2;
  top:0;
  left:0;
  padding:8px 12px;
  background:var(--monitoring-orange);
  color:var(--css-white);
  font-family:var(--font-heading);
  font-weight:800;
  letter-spacing:0.055em;
  text-transform:uppercase;
}

.monitoring-card__media{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 28% 24%, rgba(249,115,22,0.3), transparent 20%),
    linear-gradient(135deg, #252525, #080808);
  opacity:0.9;
}

.monitoring-card__media--verify{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 74% 22%, rgba(255,214,164,0.22), transparent 18%),
    linear-gradient(135deg, #30343a, #080808);
}

.monitoring-card__media--exterior{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 24% 18%, rgba(249,115,22,0.2), transparent 12%),
    linear-gradient(135deg, #17222a, #070707);
}

.monitoring-card__media--false-alarm{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 58% 24%, rgba(249,115,22,0.28), transparent 20%),
    linear-gradient(135deg, #273028, #080808);
}

.monitoring-card__media--deterrence{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 34% 62%, rgba(249,115,22,0.18), transparent 22%),
    linear-gradient(135deg, #303439, #090909);
}

.monitoring-card__media--review{
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.78)),
    radial-gradient(circle at 70% 18%, rgba(255,255,255,0.16), transparent 16%),
    linear-gradient(135deg, #1b2528, #080808);
}

.monitoring-card__content{
  position:relative;
  z-index:1;
  display:flex;
  height:100%;
  min-height:340px;
  flex-direction:column;
  justify-content:flex-end;
  padding:24px 18px 18px;
}

.monitoring-card__icon{
  width:58px;
  height:58px;
  margin-bottom:18px;
  border:2px solid var(--monitoring-orange);
  border-radius:999px;
  background:rgba(249,115,22,0.07);
}

.monitoring-card__title{
  margin-bottom:10px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:22px;
  font-weight:700;
  line-height:1.05;
  letter-spacing:0.035em;
  text-transform:uppercase;
}

.monitoring-card__text{
  color:rgba(255,255,255,0.9);
  font-size:16px;
  line-height:1.35;
}

.monitoring-card__link{
  display:inline-flex;
  gap:8px;
  margin-top:auto;
  padding-top:18px;
  color:var(--monitoring-orange);
  font-weight:800;
  text-decoration:none;
}

.monitoring-value-strip{
  padding:18px 0;
  background:#050505;
}

.monitoring-value-strip__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:0;
  overflow:hidden;
  border-radius:8px;
  background:var(--monitoring-offwhite);
  color:#111;
  box-shadow:0 18px 44px rgba(0,0,0,0.24);
}

.monitoring-value-strip__item{
  display:grid;
  grid-template-columns:86px minmax(0, 1fr);
  gap:22px;
  align-items:center;
  padding:28px 36px;
}

.monitoring-value-strip__item + .monitoring-value-strip__item{
  border-left:1px solid rgba(0,0,0,0.18);
}

.monitoring-value-strip__icon{
  width:70px;
  height:70px;
  border:2px solid var(--monitoring-orange);
  border-radius:999px;
  background:rgba(249,115,22,0.1);
}

.monitoring-value-strip__title{
  color:var(--monitoring-orange);
  font-family:var(--font-heading);
  font-size:24px;
  letter-spacing:0.06em;
  text-transform:uppercase;
}

.monitoring-value-strip__list{
  display:grid;
  gap:8px;
  list-style:none;
}

.monitoring-value-strip__list li{
  position:relative;
  padding-left:20px;
}

.monitoring-value-strip__list li::before{
  content:"";
  position:absolute;
  top:0.45em;
  left:0;
  width:8px;
  height:12px;
  border:solid var(--monitoring-orange);
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

.monitoring-cta-strip{
  padding:0 0 56px;
  background:#050505;
}

.monitoring-cta-strip__inner{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:28px;
  align-items:center;
  padding-block:22px;
  border:1px solid var(--monitoring-border);
  border-radius:8px;
  background:rgba(13,15,16,0.78);
}

.monitoring-cta-strip__message{
  display:flex;
  align-items:center;
  gap:22px;
}

.monitoring-cta-strip__icon{
  width:78px;
  height:78px;
  flex:0 0 78px;
  border:2px solid var(--monitoring-orange);
  border-radius:999px;
  background:rgba(249,115,22,0.06);
}

.monitoring-cta-strip__title{
  margin-bottom:4px;
  color:var(--css-white);
  font-size:26px;
}

.monitoring-cta-strip__text{
  color:var(--monitoring-muted);
  font-size:18px;
  line-height:1.35;
}

body.services-menu-open .monitoring-hero{
  padding-top:440px;
}

@media (max-width:1100px){
  .monitoring-hero__inner{
    grid-template-columns:1fr;
  }

  .monitoring-hero__media{
    min-height:420px;
  }

  .monitoring-solutions__grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .monitoring-value-strip__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .monitoring-value-strip__item:nth-child(3){
    grid-column:1 / -1;
    border-left:0;
    border-top:1px solid rgba(0,0,0,0.18);
  }
}

@media (max-width:760px){
  body.services-menu-open .monitoring-hero{
    padding-top:48px;
  }

  .monitoring-page-shell{
    max-width:100%;
    padding-inline:14px;
  }

  .monitoring-hero,
  .monitoring-hero__inner{
    min-height:auto;
  }

  .monitoring-hero__inner{
    display:block;
    padding-block:42px;
  }

  .monitoring-hero__content{
    width:100%;
  }

  .monitoring-hero__title{
    max-width:min(100%, 8.25em);
    font-size:clamp(2.65rem, 10.4vw, 3.45rem);
    line-height:0.94;
    letter-spacing:0.018em;
    overflow-wrap:break-word;
  }

  .monitoring-hero__text{
    max-width:100%;
    font-size:18px;
  }

  .monitoring-hero__actions,
  .monitoring-cta-strip__actions{
    display:grid;
  }

  .monitoring-button{
    width:100%;
    min-width:0;
    padding-inline:12px;
    font-size:16px;
    line-height:1.08;
    letter-spacing:0.04em;
    text-align:center;
    white-space:normal;
  }

  .monitoring-hero__media{
    margin-top:32px;
    min-height:340px;
    overflow:hidden;
  }

  .monitoring-hero__grid{
    left:6%;
    width:190px;
    height:170px;
  }

  .monitoring-hero__alert{
    right:27%;
    top:10%;
    width:116px;
    height:190px;
  }

  .monitoring-hero__camera{
    right:-6px;
    width:124px;
    height:116px;
  }

  .monitoring-solutions__intro{
    font-size:24px;
  }

  .monitoring-solutions__grid,
  .monitoring-value-strip__grid,
  .monitoring-cta-strip__inner{
    grid-template-columns:minmax(0, 1fr);
  }

  .monitoring-card,
  .monitoring-card__content{
    min-height:300px;
  }

  .monitoring-value-strip__item,
  .monitoring-cta-strip__message{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
  }

  .monitoring-value-strip__item + .monitoring-value-strip__item,
  .monitoring-value-strip__item:nth-child(3){
    border-left:0;
    border-top:1px solid rgba(0,0,0,0.18);
  }

  .monitoring-hero__content,
  .monitoring-hero__media,
  .monitoring-card,
  .monitoring-value-strip__item{
    min-width:0;
    max-width:100%;
  }

  .monitoring-card__title,
  .monitoring-card__text,
  .monitoring-solutions__intro{
    max-width:100%;
    overflow-wrap:break-word;
  }
}

@media (max-width:1100px){
  .alarm-hero__visual,
  .camera-hero__visual,
  .access-hero__media,
  .emergency-hero__media,
  .wiring-hero__media,
  .monitoring-hero__media{
    justify-content:center;
  }

  .product-banner-image{
    width:min(100%, 820px);
    max-height:420px;
    margin-inline:auto;
  }
}

@media (max-width:760px){
  .product-banner-image{
    width:min(114%, 640px);
    max-height:280px;
  }
}

/* Blog and Article Pages */
.visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

.blog-page,
.blog-article-page{
  --blog-orange:var(--css-orange, #f97316);
  --blog-orange-dark:var(--css-orange-dark, #ea580c);
  --blog-dark:var(--css-black, #050505);
  --blog-panel:#101214;
  --blog-panel-soft:#15181b;
  --blog-border:rgba(255,255,255,0.16);
  --blog-muted:rgba(255,255,255,0.75);
  --blog-offwhite:var(--css-off-white, #f7f4ee);
  overflow-x:hidden;
  background:
    radial-gradient(circle at 78% 4%, rgba(249,115,22,0.11), transparent 24%),
    linear-gradient(180deg, #050505 0%, #080a0c 54%, #050505 100%);
  color:var(--css-white);
}

.blog-page__shell{
  width:100%;
  max-width:1540px;
  margin:0 auto;
  padding:0 44px;
}

.blog-hero{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,0.08);
  background:
    radial-gradient(circle at 76% 20%, rgba(249,115,22,0.14), transparent 28%),
    linear-gradient(90deg, rgba(0,0,0,0.96), rgba(0,0,0,0.74)),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.035) 0 1px, transparent 1px 132px),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.028) 0 1px, transparent 1px 92px);
}

.blog-hero__inner{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  align-items:center;
  justify-items:center;
  min-height:0;
  padding-block:58px 48px;
  text-align:center;
}

.blog-hero__content{
  max-width:1120px;
  margin-inline:auto;
}

.blog-hero__eyebrow,
.blog-section-eyebrow{
  margin-bottom:12px;
  color:var(--blog-orange);
  font-family:var(--font-heading);
  font-size:22px;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.blog-hero__title{
  max-width:900px;
  margin:0 auto 16px;
  color:var(--css-white);
  font-family:var(--font-display);
  font-size:clamp(4rem, 5.1vw, 6.4rem);
  font-weight:400;
  line-height:0.9;
  letter-spacing:0.035em;
  text-transform:uppercase;
  text-shadow:0 3px 0 rgba(0,0,0,0.75), 0 18px 34px rgba(0,0,0,0.5);
}

.blog-hero__text{
  max-width:760px;
  margin:0 auto;
  color:rgba(255,255,255,0.92);
  font-size:22px;
  line-height:1.45;
}

.blog-hero__subscribe{
  display:grid;
  grid-template-columns:minmax(0, 0.7fr) minmax(360px, 0.8fr);
  gap:22px;
  align-items:center;
  width:min(100%, 980px);
  margin:28px auto 0;
  padding:20px;
  border:1px solid rgba(249,115,22,0.32);
  border-radius:8px;
  background:
    radial-gradient(circle at 0% 50%, rgba(249,115,22,0.14), transparent 24%),
    linear-gradient(180deg, rgba(14,16,18,0.9), rgba(5,6,7,0.9));
  box-shadow:0 18px 44px rgba(0,0,0,0.3);
  text-align:left;
}

.blog-hero__subscribe h2{
  margin-bottom:4px;
  color:#fff;
  font-family:var(--font-heading);
  font-size:26px;
  line-height:1;
  letter-spacing:0.055em;
  text-transform:uppercase;
}

.blog-hero__subscribe p{
  color:rgba(255,255,255,0.78);
  line-height:1.4;
}

.blog-hero__subscribe form{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:12px;
  align-items:start;
}

.blog-hero__subscribe input{
  width:100%;
  min-height:54px;
  border:1px solid rgba(255,255,255,0.18);
  border-radius:7px;
  background:#070809;
  color:#fff;
  font:inherit;
  padding:12px 14px;
}

.blog-hero__subscribe input:focus{
  border-color:var(--blog-orange);
  outline:2px solid rgba(249,115,22,0.18);
}

.blog-hero__subscribe button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:13px 22px;
  border:1px solid var(--blog-orange);
  border-radius:7px;
  background:linear-gradient(180deg, var(--blog-orange), var(--blog-orange-dark));
  box-shadow:0 16px 32px rgba(249,115,22,0.24);
  color:#fff;
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  letter-spacing:0.055em;
  cursor:pointer;
  text-transform:uppercase;
}

.blog-hero__subscribe .blog-subscribe__message{
  grid-column:1 / -1;
  min-height:1.4em;
}

.blog-hero__cards{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  width:min(100%, 1040px);
  margin:28px auto 0;
  padding:0;
  list-style:none;
}

.blog-hero__card{
  display:grid;
  grid-template-columns:42px minmax(0, 1fr);
  gap:12px;
  min-height:128px;
  padding:16px;
  border:1px solid rgba(255,255,255,0.14);
  border-radius:8px;
  background:
    radial-gradient(circle at 90% 0%, rgba(249,115,22,0.1), transparent 32%),
    linear-gradient(180deg, rgba(18,21,24,0.9), rgba(7,8,9,0.9));
  text-align:left;
}

.blog-hero__card span{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid rgba(249,115,22,0.76);
  border-radius:8px;
  color:var(--blog-orange);
  font-family:var(--font-heading);
  font-weight:800;
}

.blog-hero__card strong{
  display:block;
  margin-bottom:6px;
  color:#fff;
  font-family:var(--font-heading);
  font-size:24px;
  letter-spacing:0.045em;
  line-height:1;
  text-transform:uppercase;
}

.blog-hero__card p{
  grid-column:2;
  color:rgba(255,255,255,0.78);
  font-size:16px;
  line-height:1.42;
}

/* =============================================================================
   BLOG DISCOVERY -- the single unified "Latest From the Field" article
   experience: category filters + search, Featured Article, the standard
   grid, Load More, and the empty state. Replaces the old separate topic
   dropdowns + "Recent Blog / Updates" sidebar layout. */
.blog-discovery{
  padding:54px 0 20px;
  background:#050505;
}

.blog-discovery__header{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px;
}

.blog-discovery__accent{
  display:block;
  width:52px;
  height:4px;
  margin-bottom:12px;
  border-radius:2px;
  background:var(--blog-orange);
}

.blog-discovery__header h2{
  margin:0;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:clamp(2.1rem, 3.2vw, 3.2rem);
  line-height:0.95;
  letter-spacing:0.045em;
  text-transform:uppercase;
}

.blog-search-bar{
  width:min(100%, 340px);
}

.blog-search-bar input{
  width:100%;
  min-height:50px;
  border:1px solid rgba(255,255,255,0.18);
  border-radius:7px;
  background:#070809;
  color:#fff;
  font:inherit;
  padding:12px 14px;
}

.blog-search-bar input:focus{
  border-color:var(--blog-orange);
  outline:2px solid rgba(249,115,22,0.18);
}

.blog-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:18px;
}

.blog-filter{
  appearance:none;
  border:1px solid rgba(255,255,255,0.18);
  border-radius:999px;
  background:rgba(255,255,255,0.03);
  color:rgba(255,255,255,0.82);
  cursor:pointer;
  font-family:var(--font-body);
  font-size:14px;
  font-weight:600;
  padding:9px 16px;
  transition:background 160ms ease, border-color 160ms ease, color 160ms ease;
}

.blog-filter:hover{
  border-color:rgba(255,255,255,0.4);
}

.blog-filter:focus-visible{
  outline:2px solid var(--blog-orange);
  outline-offset:2px;
}

.blog-filter.is-active{
  border-color:var(--blog-orange);
  background:var(--blog-orange);
  color:#fff;
}

.blog-result-count{
  margin:0 0 24px;
  color:var(--blog-muted);
  font-size:14px;
}

.blog-featured{
  display:grid;
  grid-template-columns:minmax(0, 1.1fr) minmax(0, 0.9fr);
  gap:0;
  margin-bottom:28px;
  overflow:hidden;
  border:1px solid rgba(249,115,22,0.4);
  border-radius:10px;
  background:linear-gradient(180deg, #121518, #08090a);
  box-shadow:0 22px 55px rgba(0,0,0,0.32);
}

.blog-featured[hidden]{
  display:none;
}

.blog-featured__media{
  display:block;
  min-height:280px;
  color:var(--css-white);
  text-decoration:none;
}

.blog-featured__media img,
.blog-featured__media .blog-card__image-placeholder{
  width:100%;
  height:100%;
  min-height:280px;
  object-fit:cover;
}

.blog-featured__body{
  display:flex;
  flex-direction:column;
  padding:30px 32px;
}

.blog-featured__tag{
  display:inline-flex;
  align-self:flex-start;
  margin-bottom:14px;
  padding:6px 12px;
  border:1px solid rgba(249,115,22,0.6);
  border-radius:999px;
  color:var(--blog-orange);
  font-family:var(--font-heading);
  font-size:12.5px;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.blog-featured__title{
  margin-bottom:12px;
  font-family:var(--font-heading);
  font-size:clamp(1.8rem, 2.6vw, 2.4rem);
  line-height:1;
  letter-spacing:0.03em;
  text-transform:uppercase;
}

.blog-featured__title a{
  color:#fff;
  text-decoration:none;
}

.blog-featured__title a:hover,
.blog-featured__title a:focus-visible{
  color:var(--blog-orange);
}

.blog-card__byline{
  color:var(--blog-muted);
  font-size:14px;
  font-weight:600;
}

.blog-card__read-time{
  color:var(--blog-muted);
  font-size:14px;
}

.blog-card__engagement{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin:14px 0 0;
  padding:0;
  list-style:none;
  color:var(--blog-muted);
  font-size:13.5px;
  font-weight:600;
}

.blog-card__engagement li{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.blog-icon{
  display:inline-block;
  width:15px;
  height:15px;
  background:currentColor;
  opacity:0.85;
}

.blog-icon--eye{
  -webkit-mask:var(--icon-eye) center / contain no-repeat;
  mask:var(--icon-eye) center / contain no-repeat;
}

.blog-icon--like{
  -webkit-mask:var(--icon-thumbs-up) center / contain no-repeat;
  mask:var(--icon-thumbs-up) center / contain no-repeat;
}

.blog-icon--comment{
  -webkit-mask:var(--icon-comment) center / contain no-repeat;
  mask:var(--icon-comment) center / contain no-repeat;
}

.blog-load-more-wrap{
  display:flex;
  justify-content:center;
  margin:8px 0 44px;
}

.blog-load-more-wrap .blog-button{
  cursor:pointer;
}

.blog-load-more-wrap .blog-button[hidden]{
  display:none;
}

.blog-empty-state{
  padding:48px 24px;
  border:1px solid rgba(255,255,255,0.14);
  border-radius:10px;
  background:rgba(255,255,255,0.02);
  text-align:center;
}

.blog-empty-state[hidden]{
  display:none;
}

.blog-empty-state__title{
  margin:0 0 8px;
  color:#fff;
  font-family:var(--font-heading);
  font-size:22px;
  letter-spacing:0.04em;
  text-transform:uppercase;
}

.blog-empty-state__text{
  margin:0 0 20px;
  color:var(--blog-muted);
}

.blog-empty-state .blog-button{
  cursor:pointer;
  border:1px solid var(--blog-orange);
}

/* Most Read This Month -------------------------------------------------- */
.blog-most-read{
  padding:12px 0 56px;
  background:#050505;
}

.blog-most-read[hidden]{
  display:none;
}

.blog-most-read__list{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin:0;
  padding:0;
  list-style:none;
}

.blog-most-read__item{
  display:grid;
  grid-template-columns:auto 64px minmax(0, 1fr);
  gap:14px;
  align-items:center;
  padding:16px;
  border:1px solid rgba(255,255,255,0.14);
  border-radius:8px;
  background:rgba(255,255,255,0.02);
}

.blog-most-read__rank{
  color:rgba(249,115,22,0.55);
  font-family:var(--font-display);
  font-size:26px;
  line-height:1;
}

.blog-most-read__thumb{
  display:block;
  width:64px;
  height:64px;
  overflow:hidden;
  border-radius:6px;
}

.blog-most-read__thumb img,
.blog-most-read__thumb .blog-card__image-placeholder{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  font-size:9px;
}

.blog-most-read__title{
  display:block;
  margin-bottom:4px;
  color:#fff;
  font-family:var(--font-heading);
  font-size:15.5px;
  line-height:1.15;
  letter-spacing:0.01em;
  text-decoration:none;
  text-transform:uppercase;
}

.blog-most-read__title:hover,
.blog-most-read__title:focus-visible{
  color:var(--blog-orange);
}

.blog-most-read__meta{
  margin:0;
  color:var(--blog-muted);
  font-size:12.5px;
}

@media (max-width:1100px){
  .blog-featured{
    grid-template-columns:minmax(0, 1fr);
  }

  .blog-featured__media,
  .blog-featured__media img,
  .blog-featured__media .blog-card__image-placeholder{
    min-height:240px;
  }

  .blog-most-read__list{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:760px){
  .blog-discovery__header{
    align-items:flex-start;
  }

  .blog-search-bar{
    width:100%;
  }

  .blog-posts__grid{
    grid-template-columns:minmax(0, 1fr);
  }

  .blog-featured__body{
    padding:22px;
  }

  .blog-most-read__list{
    grid-template-columns:minmax(0, 1fr);
  }
}

.blog-topics{
  position:relative;
  overflow:visible;
  padding:26px 0;
  border-bottom:1px solid rgba(255,255,255,0.08);
  background:#050505;
  transition:padding-bottom 180ms ease;
}

.blog-topics.is-menu-open{
  padding-bottom:340px;
}

.blog-topics__inner{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:center;
  position:relative;
  list-style:none;
}

.blog-topic-dropdown{
  position:static;
}

.blog-topic-dropdown__trigger{
  appearance:none;
  border:1px solid rgba(255,255,255,0.18);
  border-radius:999px;
  background:rgba(255,255,255,0.04);
  color:rgba(255,255,255,0.86);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:700;
  letter-spacing:0.055em;
  padding:11px 16px;
  text-transform:uppercase;
  transition:background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.blog-topic-dropdown__trigger::after{
  content:"";
  width:0;
  height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid var(--blog-orange);
  transition:transform 160ms ease;
}

.blog-topic-dropdown:hover .blog-topic-dropdown__trigger,
.blog-topic-dropdown.is-open .blog-topic-dropdown__trigger,
.blog-topic-dropdown__trigger:hover,
.blog-topic-dropdown__trigger:focus-visible{
  border-color:var(--blog-orange);
  background:rgba(249,115,22,0.12);
  color:#fff;
  transform:translateY(-1px);
}

.blog-topic-dropdown.is-open .blog-topic-dropdown__trigger::after{
  transform:rotate(180deg);
}

.blog-topic-menu{
  position:absolute;
  z-index:35;
  top:calc(100% + 14px);
  left:50%;
  display:grid;
  min-height:294px;
  width:min(1280px, calc(100vw - 96px));
  place-items:center;
  padding:28px;
  border:1px solid var(--blog-border);
  border-top:3px solid var(--blog-orange);
  border-radius:8px;
  background:
    radial-gradient(circle at 20% 0%, rgba(249,115,22,0.08), transparent 28%),
    linear-gradient(180deg, rgba(14,16,18,0.98), rgba(5,6,7,0.98));
  box-shadow:0 26px 70px rgba(0,0,0,0.56), 0 0 28px rgba(249,115,22,0.08);
  opacity:0;
  pointer-events:none;
  transform:translate(-50%, -8px);
  visibility:hidden;
  transition:opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.blog-topic-menu::before{
  content:"";
  position:absolute;
  top:-12px;
  left:var(--blog-topic-pointer-left, 50%);
  width:0;
  height:0;
  border-left:10px solid transparent;
  border-right:10px solid transparent;
  border-bottom:12px solid var(--blog-orange);
  transform:translateX(-50%);
}

.blog-topic-dropdown.is-open .blog-topic-menu{
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%, 0);
  visibility:visible;
}

.blog-topic-menu p{
  margin:0;
  color:rgba(255,255,255,0.82);
  font-family:var(--font-heading);
  font-size:24px;
  font-weight:800;
  letter-spacing:0.055em;
  text-transform:uppercase;
}

.blog-content{
  padding:54px 0 34px;
  background:#050505;
}

.blog-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 360px;
  gap:34px;
  align-items:start;
}

.blog-posts__header{
  margin-bottom:24px;
}

.blog-posts__header h2,
.article-related h2{
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:clamp(2.1rem, 3.2vw, 3.2rem);
  line-height:0.95;
  letter-spacing:0.045em;
  text-transform:uppercase;
}

.blog-status,
.article-status{
  margin-bottom:20px;
  padding:22px 24px;
  border:1px solid rgba(249,115,22,0.34);
  border-radius:8px;
  background:
    radial-gradient(circle at 100% 0%, rgba(249,115,22,0.14), transparent 28%),
    linear-gradient(180deg, rgba(18,21,24,0.88), rgba(8,9,10,0.88));
  color:rgba(255,255,255,0.86);
  font-weight:700;
  line-height:1.45;
}

.blog-status[hidden],
.article-status[hidden],
.article-shell[hidden]{
  display:none;
}

.blog-posts__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(270px, 1fr));
  gap:18px;
}

.blog-card{
  display:flex;
  min-height:100%;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.16);
  border-radius:8px;
  background:
    radial-gradient(circle at 80% 0%, rgba(249,115,22,0.09), transparent 26%),
    linear-gradient(180deg, #121518, #08090a);
  box-shadow:0 18px 45px rgba(0,0,0,0.28);
  transition:transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.blog-card:hover,
.blog-card:focus-within{
  transform:translateY(-3px);
  border-color:var(--blog-orange);
  box-shadow:0 0 28px rgba(249,115,22,0.13), 0 22px 50px rgba(0,0,0,0.34);
}

.blog-card--featured{
  grid-column:span 2;
  border-color:rgba(249,115,22,0.68);
}

.blog-card--no-image{
  min-height:260px;
}

.blog-card__image{
  display:block;
  min-height:220px;
  color:var(--css-white);
  text-decoration:none;
}

.blog-card__image img,
.article-hero__image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.blog-card__image-placeholder,
.article-hero__image span{
  display:grid;
  width:100%;
  min-height:220px;
  place-items:center;
  padding:20px;
  background:
    linear-gradient(90deg, transparent 49%, rgba(255,255,255,0.1) 49% 51%, transparent 51%),
    linear-gradient(0deg, transparent 49%, rgba(255,255,255,0.1) 49% 51%, transparent 51%),
    radial-gradient(circle at 28% 30%, rgba(249,115,22,0.26), transparent 19%),
    linear-gradient(135deg, #22282d, #070809);
  color:rgba(255,255,255,0.72);
  font-family:var(--font-heading);
  font-weight:800;
  letter-spacing:0.06em;
  text-align:center;
  text-transform:uppercase;
}

.blog-card__body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:22px;
}

.blog-card--no-image .blog-card__body{
  padding-top:26px;
}

.blog-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-bottom:16px;
}

.blog-card__category{
  display:inline-flex;
  border-radius:999px;
  background:var(--blog-orange);
  color:#fff;
  font-family:var(--font-heading);
  font-weight:800;
  letter-spacing:0.055em;
  padding:7px 10px;
  text-transform:uppercase;
}

.blog-card__date{
  color:var(--blog-muted);
  font-size:14px;
  font-weight:700;
}

.blog-card__title{
  margin-bottom:12px;
  font-family:var(--font-heading);
  font-size:28px;
  line-height:0.98;
  letter-spacing:0.035em;
  text-transform:uppercase;
}

.blog-card__title a{
  color:#fff;
  text-decoration:none;
}

.blog-card__title a:hover,
.blog-card__title a:focus-visible{
  color:var(--blog-orange);
}

.blog-card__excerpt{
  color:rgba(255,255,255,0.84);
  font-size:16px;
  line-height:1.45;
}

.blog-card__link{
  display:inline-flex;
  gap:8px;
  align-items:center;
  margin-top:auto;
  padding-top:22px;
  color:var(--blog-orange);
  font-weight:900;
  text-decoration:none;
}

.blog-sidebar{
  position:sticky;
  top:142px;
  display:grid;
  gap:18px;
}

.blog-sidebar__panel{
  padding:24px;
  border:1px solid rgba(255,255,255,0.16);
  border-radius:8px;
  background:linear-gradient(180deg, rgba(18,21,24,0.92), rgba(8,9,10,0.92));
  box-shadow:0 18px 40px rgba(0,0,0,0.25);
}

.blog-sidebar__panel h2{
  margin-bottom:16px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:25px;
  letter-spacing:0.055em;
  text-transform:uppercase;
}

.blog-search input,
.blog-subscribe input{
  width:100%;
  min-height:50px;
  border:1px solid rgba(255,255,255,0.18);
  border-radius:7px;
  background:#070809;
  color:#fff;
  font:inherit;
  padding:12px 14px;
}

.blog-search input:focus,
.blog-subscribe input:focus{
  border-color:var(--blog-orange);
  outline:2px solid rgba(249,115,22,0.18);
}

.blog-subscribe p{
  color:var(--blog-muted);
  line-height:1.45;
}

.blog-subscribe form{
  display:grid;
  gap:12px;
  margin-top:18px;
}

.blog-subscribe button,
.blog-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  border-radius:7px;
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  letter-spacing:0.055em;
  text-decoration:none;
  text-transform:uppercase;
}

.blog-subscribe button{
  border:1px solid var(--blog-orange);
  background:linear-gradient(180deg, var(--blog-orange), var(--blog-orange-dark));
  color:#fff;
  cursor:pointer;
}

.blog-subscribe__message{
  min-height:1.4em;
  color:rgba(255,255,255,0.84);
  font-size:14px;
}

.article-share{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin:32px 0;
  padding:16px 20px;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:8px;
  background:rgba(255,255,255,0.02);
}

.article-share__label{
  color:var(--blog-muted, #9aa0a6);
  font-weight:700;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:0.04em;
}

.article-share__buttons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.article-share__btn{
  padding:8px 16px;
  border:1px solid rgba(255,255,255,0.18);
  border-radius:999px;
  background:transparent;
  color:#fff;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  transition:border-color 160ms ease, color 160ms ease, background 160ms ease;
}

.article-share__btn:hover,
.article-share__btn:focus-visible{
  border-color:var(--orange, #f97316);
  color:var(--orange, #f97316);
  background:rgba(249,115,22,0.08);
}

.article-share__status{
  font-size:12.5px;
  color:var(--logo-blue, #0393ca);
}

.blog-cta{
  padding:22px 0 60px;
  background:#050505;
}

.blog-cta__inner,
.article-cta{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:28px;
  align-items:center;
  padding:28px;
  border:1px solid rgba(255,255,255,0.16);
  border-radius:8px;
  background:
    radial-gradient(circle at 0% 50%, rgba(249,115,22,0.14), transparent 24%),
    linear-gradient(180deg, rgba(14,16,18,0.94), rgba(4,5,6,0.94));
}

.blog-cta h2,
.article-cta h2{
  margin-bottom:6px;
  color:#fff;
  font-size:28px;
}

.blog-cta p,
.article-cta p{
  color:var(--blog-muted);
  font-size:18px;
  line-height:1.45;
}

.blog-cta__actions,
.article-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.blog-button{
  padding:13px 22px;
  color:#fff;
}

.blog-button--primary{
  border:1px solid var(--blog-orange);
  background:linear-gradient(180deg, var(--blog-orange), var(--blog-orange-dark));
  box-shadow:0 16px 32px rgba(249,115,22,0.24);
}

.blog-button--outline{
  border:1px solid rgba(255,255,255,0.38);
  background:rgba(255,255,255,0.02);
}

.blog-article-page{
  padding:56px 0 0;
}

.article-back-link{
  display:inline-flex;
  margin-bottom:24px;
  color:var(--blog-orange);
  font-weight:900;
  text-decoration:none;
}

.article-shell{
  display:grid;
  gap:34px;
}

.article-hero{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(360px, 0.45fr);
  gap:38px;
  align-items:stretch;
  padding:34px;
  border:1px solid rgba(255,255,255,0.16);
  border-radius:8px;
  background:
    radial-gradient(circle at 80% 0%, rgba(249,115,22,0.12), transparent 28%),
    linear-gradient(180deg, #121518, #070809);
}

.article-shell--no-image .article-hero{
  grid-template-columns:minmax(0, 1fr);
}

.article-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:18px;
  color:var(--blog-orange);
  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
  letter-spacing:0.06em;
  text-transform:uppercase;
}

.article-hero h1{
  max-width:880px;
  margin-bottom:20px;
  color:#fff;
  font-family:var(--font-display);
  font-size:clamp(3.3rem, 5vw, 6.2rem);
  font-weight:400;
  line-height:0.9;
  letter-spacing:0.035em;
  text-transform:uppercase;
}

.article-hero__copy > p:last-child{
  max-width:760px;
  color:rgba(255,255,255,0.86);
  font-size:21px;
  line-height:1.45;
}

.article-hero__image{
  min-height:330px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.18);
  border-radius:8px;
  background:#111315;
}

.article-hero__image span{
  height:100%;
}

.article-content{
  max-width:880px;
  margin:0 auto;
  color:rgba(255,255,255,0.9);
  font-size:19px;
  line-height:1.72;
}

.article-content h2,
.article-content h3,
.article-content h4,
.article-content h5{
  margin:1.7em 0 0.55em;
  color:#fff;
  font-family:var(--font-heading);
  line-height:1;
  letter-spacing:0.045em;
  text-transform:uppercase;
}

.article-content h2{font-size:34px;}
.article-content h3{font-size:29px;}
.article-content h4{font-size:25px;}
.article-content h5{font-size:22px;}

.article-content p + p{
  margin-top:1em;
}

.article-content a{
  color:var(--blog-orange);
  font-weight:800;
}

.article-content ul,
.article-content ol{
  margin:1.1em 0 1.1em 1.3em;
}

.article-content li + li{
  margin-top:0.45em;
}

.article-related{
  padding-bottom:58px;
}

.article-related h2{
  margin-bottom:18px;
}

.article-related__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}

.article-related-card{
  padding:22px;
  border:1px solid rgba(255,255,255,0.16);
  border-radius:8px;
  background:linear-gradient(180deg, #121518, #08090a);
}

.article-related-card p{
  margin-bottom:10px;
  color:var(--blog-orange);
  font-family:var(--font-heading);
  font-weight:800;
  letter-spacing:0.055em;
  text-transform:uppercase;
}

.article-related-card h3{
  margin-bottom:16px;
  font-family:var(--font-heading);
  font-size:24px;
  line-height:1;
  letter-spacing:0.035em;
  text-transform:uppercase;
}

.article-related-card h3 a{
  color:#fff;
  text-decoration:none;
}

.article-related-card > a{
  color:var(--blog-orange);
  font-weight:900;
  text-decoration:none;
}

@media (max-width:1100px){
  .blog-hero__inner,
  .blog-layout,
  .article-hero,
  .blog-cta__inner,
  .article-cta{
    grid-template-columns:minmax(0, 1fr);
  }

  .blog-sidebar{
    position:static;
    grid-template-columns:minmax(0, 1fr);
  }

  .blog-hero__subscribe{
    grid-template-columns:minmax(0, 1fr);
    text-align:center;
  }

  .blog-hero__subscribe form{
    width:100%;
    max-width:640px;
    margin-inline:auto;
  }

  .blog-card--featured{
    grid-column:span 1;
  }

  .article-related__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:760px){
  .blog-page__shell{
    max-width:100%;
    padding-inline:14px;
  }

  .blog-hero__inner{
    min-height:auto;
    padding-block:46px;
  }

  .blog-hero__title{
    max-width:8.2em;
    font-size:clamp(3rem, 13vw, 4.2rem);
    line-height:0.92;
    letter-spacing:0.025em;
  }

  .blog-hero__text,
  .article-hero__copy > p:last-child{
    font-size:18px;
  }

  .blog-hero__subscribe{
    margin-top:24px;
    padding:18px;
    text-align:left;
  }

  .blog-hero__subscribe form{
    grid-template-columns:minmax(0, 1fr);
  }

  .blog-hero__subscribe button{
    width:100%;
  }

  .blog-hero__cards{
    grid-template-columns:minmax(0, 1fr);
    margin-top:22px;
  }

  .blog-hero__card{
    grid-template-columns:38px minmax(0, 1fr);
    gap:12px;
    min-height:0;
    padding:16px;
  }

  .blog-hero__card span{
    width:34px;
    height:34px;
  }

  .blog-hero__card strong{
    font-size:20px;
  }

  .blog-hero__card p{
    font-size:15px;
  }

  .blog-topics__inner{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    overflow:visible;
    padding-bottom:0;
  }

  .blog-topic-dropdown{
    position:relative;
  }

  .blog-topic-dropdown__trigger{
    width:100%;
    justify-content:space-between;
  }

  .blog-topics.is-menu-open{
    padding-bottom:26px;
  }

  .blog-topic-menu{
    position:static;
    width:100%;
    min-height:0;
    max-height:0;
    margin-top:0;
    padding:0;
    overflow:hidden;
    border-width:0;
    border-radius:8px;
    opacity:1;
    pointer-events:auto;
    transform:none;
    visibility:visible;
    transition:max-height 220ms ease, margin-top 220ms ease, padding 220ms ease, border-width 220ms ease;
  }

  .blog-topic-menu::before{
    display:none;
  }

  .blog-topic-dropdown.is-open .blog-topic-menu{
    min-height:180px;
    max-height:240px;
    margin-top:10px;
    padding:18px;
    border-width:1px;
    transform:none;
  }

  .blog-topic-menu p{
    font-size:20px;
  }

  .blog-content{
    padding-top:38px;
  }

  .blog-posts__grid,
  .blog-sidebar,
  .article-related__grid{
    grid-template-columns:minmax(0, 1fr);
  }

  .blog-card__image,
  .blog-card__image-placeholder{
    min-height:190px;
  }

  .blog-cta__inner,
  .article-hero,
  .article-cta{
    padding:22px;
  }

  .blog-cta__actions,
  .article-cta__actions{
    display:grid;
  }

  .blog-button{
    width:100%;
    text-align:center;
  }

  .blog-article-page{
    padding-top:36px;
  }

  .article-hero h1{
    font-size:clamp(3rem, 12vw, 4.3rem);
    line-height:0.92;
  }

  .article-hero__image{
    min-height:240px;
  }

  .article-content{
    font-size:18px;
  }
}

/* Product Showcase Advisor Sections */
.product-showcase{
  --product-orange:var(--css-orange, #f97316);
  --product-orange-dark:var(--css-orange-dark, #ea580c);
  --product-bg:#050505;
  --product-panel:#101214;
  --product-panel-soft:#15181b;
  --product-border:rgba(255,255,255,0.16);
  --product-muted:rgba(255,255,255,0.76);
  overflow:hidden;
  scroll-margin-top:128px;
  padding:76px 0;
  background:
    radial-gradient(circle at 86% 8%, rgba(249,115,22,0.12), transparent 24%),
    linear-gradient(180deg, #050505 0%, #0a0c0e 52%, #050505 100%);
  color:var(--css-white);
}

.product-showcase--commercial{
  background:
    radial-gradient(circle at 12% 8%, rgba(249,115,22,0.1), transparent 22%),
    linear-gradient(180deg, #050505 0%, #070b0e 48%, #050505 100%);
}

.product-showcase__inner{
  width:100%;
  max-width:1540px;
  margin:0 auto;
  padding:0 44px;
}

.product-showcase__header{
  max-width:1000px;
  margin-bottom:34px;
}

.product-showcase__eyebrow{
  margin-bottom:10px;
  color:var(--product-orange);
  font-family:var(--font-heading);
  font-size:22px;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.product-showcase__title{
  margin-bottom:18px;
  color:var(--css-white);
  font-family:var(--font-display);
  font-size:clamp(4rem, 5.4vw, 6.8rem);
  font-weight:400;
  line-height:0.9;
  letter-spacing:0.035em;
  text-transform:uppercase;
  text-shadow:0 3px 0 rgba(0,0,0,0.75), 0 18px 34px rgba(0,0,0,0.5);
}

.product-showcase__intro{
  max-width:820px;
  color:rgba(255,255,255,0.9);
  font-size:21px;
  line-height:1.45;
}

.product-showcase__trust{
  display:inline-flex;
  margin-top:20px;
  padding:10px 14px;
  border:1px solid rgba(249,115,22,0.35);
  border-radius:999px;
  background:rgba(249,115,22,0.08);
  color:rgba(255,255,255,0.9);
  font-weight:800;
}

.product-showcase__list{
  display:grid;
  gap:24px;
}

.product-category-card{
  display:grid;
  grid-template-columns:minmax(280px, 0.38fr) minmax(0, 0.62fr);
  gap:clamp(2rem, 4vw, 4rem);
  align-items:center;
  min-height:350px;
  padding:clamp(1.5rem, 3vw, 2.5rem);
  border:1px solid var(--product-border);
  border-radius:8px;
  background:
    radial-gradient(circle at 0% 18%, rgba(249,115,22,0.08), transparent 30%),
    linear-gradient(180deg, rgba(18,21,24,0.92), rgba(7,8,9,0.96));
  box-shadow:0 22px 58px rgba(0,0,0,0.34);
  transition:border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.product-category-card:hover,
.product-category-card:focus-within{
  border-color:rgba(249,115,22,0.55);
  box-shadow:0 0 30px rgba(249,115,22,0.11), 0 26px 70px rgba(0,0,0,0.38);
}

.product-category-card__media{
  position:relative;
  min-width:0;
  padding-right:clamp(1.5rem, 3vw, 3rem);
  border-right:1px solid rgba(255,255,255,0.12);
}

.product-category-card__viewer{
  position:relative;
  display:grid;
  place-items:center;
  min-height:270px;
  border:1px solid rgba(255,255,255,0.15);
  border-radius:8px;
  background:
    radial-gradient(circle at 50% 28%, rgba(249,115,22,0.16), transparent 24%),
    linear-gradient(180deg, #171b1f, #08090a);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.06), 0 18px 44px rgba(0,0,0,0.3);
}

.product-category-card__image-wrap{
  display:grid;
  width:min(76%, 340px);
  min-height:210px;
  place-items:center;
  transition:opacity 180ms ease, transform 180ms ease;
}

.product-category-card.is-updating .product-category-card__image-wrap,
.product-category-card.is-updating .product-category-card__content{
  opacity:0.2;
  transform:translateY(8px);
}

.product-category-card__image{
  display:block;
  max-width:100%;
  max-height:230px;
  object-fit:contain;
}

.product-category-card__image-placeholder{
  display:grid;
  width:100%;
  min-height:210px;
  place-items:center;
  padding:20px;
  border:1px dashed rgba(255,255,255,0.24);
  border-radius:8px;
  background:
    linear-gradient(90deg, transparent 49%, rgba(255,255,255,0.1) 49% 51%, transparent 51%),
    linear-gradient(0deg, transparent 49%, rgba(255,255,255,0.1) 49% 51%, transparent 51%),
    radial-gradient(circle at 50% 42%, rgba(249,115,22,0.24), transparent 24%),
    linear-gradient(135deg, #22282d, #08090a);
  color:rgba(255,255,255,0.78);
  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
  letter-spacing:0.06em;
  text-align:center;
  text-transform:uppercase;
}

.product-category-card__media-title{
  margin-top:18px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:28px;
  line-height:1;
  letter-spacing:0.045em;
  text-align:center;
  text-transform:uppercase;
}

.product-category-card__media-subtitle{
  margin-top:6px;
  color:var(--product-muted);
  font-size:16px;
  line-height:1.35;
  text-align:center;
}

.product-category-card__arrow{
  appearance:none;
  position:absolute;
  z-index:2;
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  border:1px solid rgba(255,255,255,0.22);
  border-radius:999px;
  background:rgba(0,0,0,0.52);
  color:var(--css-white);
  cursor:pointer;
  transition:transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.product-category-card__arrow::before{
  content:"";
  width:11px;
  height:11px;
  border:solid currentColor;
  border-width:0 2px 2px 0;
}

.product-category-card__arrow:hover,
.product-category-card__arrow:focus-visible{
  border-color:var(--product-orange);
  background:rgba(249,115,22,0.22);
  outline:0;
  transform:scale(1.05);
}

.product-category-card__arrow--prev{left:14px;}
.product-category-card__arrow--next{right:14px;}
.product-category-card__arrow--up{top:12px;}
.product-category-card__arrow--down{bottom:12px;}
.product-category-card__arrow--prev,
.product-category-card__arrow--next{
  top:50%;
  transform:translateY(-50%);
}
.product-category-card__arrow--prev:hover,
.product-category-card__arrow--prev:focus-visible,
.product-category-card__arrow--next:hover,
.product-category-card__arrow--next:focus-visible{
  transform:translateY(-50%) scale(1.05);
}
.product-category-card__arrow--prev::before{transform:rotate(135deg);}
.product-category-card__arrow--next::before{transform:rotate(-45deg);}
.product-category-card__arrow--up::before{transform:rotate(225deg);}
.product-category-card__arrow--down::before{transform:rotate(45deg);}

.product-category-card__content{
  min-width:0;
  transition:opacity 180ms ease, transform 180ms ease;
}

.product-category-card__category{
  display:flex;
  gap:18px;
  align-items:center;
  margin-bottom:18px;
}

.product-category-card__category-icon{
  width:66px;
  height:66px;
  flex:0 0 66px;
  border-color:var(--product-orange);
  background:rgba(249,115,22,0.07);
}

/* Product benefit icons use the shared CSS-generated icon system. */
.product-benefit__icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border:1px solid rgba(249,115,22,0.7);
  border-radius:999px;
  background:rgba(249,115,22,0.06);
}

.product-category-card__title{
  color:rgba(255,255,255,0.72);
  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
  letter-spacing:0.06em;
  text-transform:uppercase;
}

.product-category-card__device-name{
  margin-top:2px;
  color:var(--product-orange);
  font-family:var(--font-heading);
  font-size:34px;
  line-height:1;
  letter-spacing:0.045em;
  text-transform:uppercase;
}

.product-category-card__summary{
  max-width:850px;
  color:rgba(255,255,255,0.9);
  font-size:19px;
  line-height:1.5;
}

.product-category-card__divider{
  width:100%;
  height:1px;
  margin:22px 0;
  background:linear-gradient(90deg, var(--product-orange), rgba(255,255,255,0.12), transparent);
}

.product-category-card__benefits{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px 20px;
}

.product-benefit{
  display:flex;
  gap:12px;
  min-width:0;
}

.product-benefit__title{
  margin-bottom:3px;
  color:#fff;
  font-family:var(--font-heading);
  font-size:20px;
  line-height:1;
  letter-spacing:0.04em;
  text-transform:uppercase;
}

.product-benefit__text{
  color:var(--product-muted);
  font-size:15px;
  line-height:1.4;
}

.product-category-card__tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:22px;
}

.product-tag{
  display:inline-flex;
  align-items:center;
  min-height:31px;
  padding:6px 10px;
  border:1px solid rgba(249,115,22,0.34);
  border-radius:999px;
  background:rgba(249,115,22,0.08);
  color:rgba(255,255,255,0.86);
  font-size:13px;
  font-weight:800;
}

.product-category-card__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.product-showcase-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:12px 20px;
  border-radius:7px;
  color:#fff;
  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
  letter-spacing:0.055em;
  text-decoration:none;
  text-transform:uppercase;
}

.product-showcase-button--primary{
  border:1px solid var(--product-orange);
  background:linear-gradient(180deg, var(--product-orange), var(--product-orange-dark));
  box-shadow:0 16px 32px rgba(249,115,22,0.22);
}

.product-showcase-button--outline{
  border:1px solid rgba(255,255,255,0.35);
  background:rgba(255,255,255,0.02);
}

.product-page-cta{
  background:
    radial-gradient(circle at 18% 0%, rgba(249, 115, 22, 0.12), transparent 28%),
    linear-gradient(180deg, #050505 0%, #0a0c0d 100%);
  border-top:1px solid var(--css-border-soft);
  padding:0 0 clamp(4rem, 7vw, 6rem);
}

.product-page-cta__inner{
  max-width:1540px;
  width:min(94%, 1540px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:clamp(1.5rem, 4vw, 4rem);
  padding:clamp(1.5rem, 3vw, 2.25rem);
  border:1px solid var(--css-border-dark);
  border-radius:18px;
  background:rgba(17, 19, 21, 0.88);
  box-shadow:0 24px 70px rgba(0, 0, 0, 0.34);
}

.product-page-cta__eyebrow{
  margin-bottom:0.55rem;
  color:var(--css-orange);
  font-family:var(--font-heading);
  font-size:1rem;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
}

.product-page-cta h2{
  margin:0 0 0.5rem;
  color:var(--css-white);
  font-family:var(--font-display);
  font-size:clamp(2.2rem, 4vw, 4rem);
  font-weight:400;
  line-height:0.95;
  text-transform:uppercase;
}

.product-page-cta p{
  max-width:760px;
  color:var(--css-muted-light);
  font-size:clamp(1rem, 1.35vw, 1.18rem);
  line-height:1.65;
}

.product-page-cta__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:0.8rem;
}

@media (max-width:1100px){
  .product-category-card{
    grid-template-columns:minmax(0, 1fr);
  }

  .product-category-card__media{
    padding-right:0;
    padding-bottom:28px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,0.12);
  }

  .product-category-card__viewer{
    min-height:320px;
  }
}

@media (max-width:760px){
  .product-showcase{
    padding:54px 0;
  }

  .product-showcase__inner{
    max-width:100%;
    padding-inline:14px;
  }

  .product-showcase__title{
    font-size:clamp(3rem, 13vw, 4.4rem);
    line-height:0.92;
  }

  .product-showcase__intro{
    font-size:18px;
  }

  .product-showcase__trust{
    border-radius:8px;
    line-height:1.35;
  }

  .product-category-card{
    gap:24px;
    padding:20px;
  }

  .product-category-card__viewer{
    min-height:260px;
  }

  .product-category-card__image-wrap,
  .product-category-card__image-placeholder{
    min-height:180px;
  }

  .product-category-card__arrow{
    width:40px;
    height:40px;
  }

  .product-category-card__category{
    align-items:flex-start;
  }

  .product-category-card__category-icon{
    width:54px;
    height:54px;
    flex-basis:54px;
  }

  .product-category-card__device-name{
    font-size:28px;
  }

  .product-category-card__summary{
    font-size:17px;
  }

  .product-category-card__benefits{
    grid-template-columns:minmax(0, 1fr);
  }

  .product-category-card__actions{
    display:grid;
  }

  .product-showcase-button{
    width:100%;
    min-width:0;
    text-align:center;
  }

  .product-page-cta__inner{
    grid-template-columns:1fr;
  }

  .product-page-cta__actions{
    justify-content:stretch;
  }
}

/* ================================
   About Us Page
   Founder-led trust, mission, and philosophy page.
================================ */
.about-page{
  --about-orange:var(--css-orange);
  --about-orange-dark:var(--css-orange-dark);
  --about-panel:rgba(17, 19, 21, 0.84);
  --about-muted:#cfd3d8;
  background:
    radial-gradient(circle at 15% 0%, rgba(249,115,22,0.08), transparent 30%),
    linear-gradient(180deg, #050505 0%, #0d0f10 45%, #050505 100%);
  color:var(--css-white);
  overflow:hidden;
}

.about-container{
  width:min(100% - 48px, 1480px);
  margin-inline:auto;
}

/* Image slots use existing imagery or CSS texture treatments. */
.about-page .image-slot{
  border:1px solid rgba(249,115,22,0.34);
  background:
    radial-gradient(circle at 30% 18%, rgba(249,115,22,0.18), transparent 24%),
    linear-gradient(135deg, rgba(255,255,255,0.06), rgba(255,255,255,0.01)),
    linear-gradient(145deg, #161a1d 0%, #0a0c0d 58%, #050505 100%);
}

.about-page .image-slot::before{
  background:
    linear-gradient(90deg, rgba(5,5,5,0.12), rgba(5,5,5,0.62)),
    repeating-linear-gradient(135deg, rgba(255,255,255,0.06) 0 1px, transparent 1px 18px);
  opacity:0.64;
}

/* About page icons use the shared CSS-generated icon system. */
.about-page .icon-slot{
  border:1px solid rgba(249,115,22,0.55);
  background:rgba(249,115,22,0.08);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05);
}

.about-hero{
  display:grid;
  grid-template-columns:minmax(0, 0.95fr) minmax(0, 1.05fr);
  min-height:720px;
  border-bottom:1px solid rgba(249,115,22,0.5);
  background:
    radial-gradient(circle at 90% 12%, rgba(249,115,22,0.12), transparent 28%),
    linear-gradient(180deg, #050505, #090b0c);
}

.about-hero__media{
  min-height:720px;
  border-width:0 1px 0 0;
  border-radius:0;
}

.about-hero__media--photo{
  background:#050505;
}

.about-hero__media--photo::before{
  z-index:1;
  background:
    linear-gradient(90deg, rgba(5,5,5,0.04), rgba(5,5,5,0.34)),
    linear-gradient(180deg, rgba(5,5,5,0), rgba(5,5,5,0.2));
  opacity:1;
  pointer-events:none;
}

.about-hero__media--photo img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 34%;
}

.about-hero__content{
  align-self:center;
  padding:clamp(3rem, 5vw, 5rem) clamp(2rem, 4.5vw, 4.5rem);
}

.about-hero__eyebrow,
.about-mission__eyebrow,
.about-why__eyebrow,
.about-philosophy__eyebrow{
  color:var(--about-orange);
  font-family:var(--font-heading);
  font-size:clamp(1rem, 1.35vw, 1.25rem);
  font-weight:700;
  letter-spacing:0.13em;
  line-height:1;
  text-transform:uppercase;
}

.about-hero__eyebrow{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:1.35rem;
}

.about-hero__eyebrow::after{
  content:"";
  flex:1;
  height:2px;
  max-width:250px;
  background:var(--about-orange);
}

.about-hero__title,
.about-philosophy__title,
.about-final-cta__title{
  font-family:var(--font-display);
  font-weight:400;
  letter-spacing:0.035em;
  text-transform:uppercase;
}

.about-hero__title{
  max-width:900px;
  color:var(--css-white);
  font-size:clamp(4rem, 4.75vw, 5.9rem);
  line-height:0.9;
}

.about-hero__title span{
  color:var(--about-orange);
}

.about-hero__text{
  max-width:760px;
  margin-top:1.3rem;
  color:rgba(255,255,255,0.9);
  font-size:clamp(1rem, 1.2vw, 1.18rem);
  line-height:1.65;
}

.about-hero__text p + p{
  margin-top:0.9rem;
}

.about-hero__trust-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  margin-top:1.5rem;
}

.about-trust-card,
.philosophy-card{
  border:1px solid var(--css-border-dark);
  border-radius:16px;
  background:var(--about-panel);
  box-shadow:0 24px 70px rgba(0,0,0,0.35);
}

.about-trust-card{
  min-height:190px;
  padding:22px 18px;
  text-align:center;
}

.about-trust-card__icon,
.philosophy-card__icon,
.about-craft__icon,
.about-final-cta__icon{
  width:58px;
  height:58px;
  margin:0 auto 14px;
  border-radius:16px;
}

.about-trust-card__title,
.philosophy-card__title,
.about-craft__title{
  color:var(--css-white);
  font-family:var(--font-heading);
  font-weight:700;
  letter-spacing:0.04em;
  line-height:1.05;
  text-transform:uppercase;
}

.about-trust-card__title{
  font-size:clamp(1.25rem, 1.5vw, 1.6rem);
}

.about-trust-card__text,
.philosophy-card__text,
.about-craft__text,
.about-final-cta__text,
.about-final-cta__location{
  color:var(--about-muted);
  line-height:1.55;
}

.about-trust-card__text{
  margin-top:0.65rem;
  font-size:0.94rem;
}

.about-hero__actions{
  margin-top:1.6rem;
}

.about-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:56px;
  padding:13px 24px;
  border-radius:8px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:1.15rem;
  font-weight:800;
  letter-spacing:0.06em;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.about-button:hover,
.about-button:focus-visible{
  transform:translateY(-2px);
}

.about-button--primary{
  border:1px solid var(--about-orange);
  background:linear-gradient(180deg, var(--about-orange), var(--about-orange-dark));
  box-shadow:0 16px 34px rgba(249,115,22,0.25);
}

.about-button--outline{
  border:1px solid rgba(255,255,255,0.34);
  background:rgba(255,255,255,0.02);
}

.about-button__icon{
  width:26px;
  height:26px;
  border-radius:8px;
  flex:0 0 26px;
}

.about-mission{
  position:relative;
  padding:clamp(3.5rem, 6vw, 5.5rem) 0;
  border-bottom:1px solid rgba(249,115,22,0.42);
  background:
    radial-gradient(circle at 78% 0%, rgba(0,184,230,0.06), transparent 28%),
    linear-gradient(180deg, #090b0c, #050505);
}

.about-mission__watermark{
  position:absolute;
  left:clamp(2rem, 8vw, 7rem);
  top:50%;
  width:210px;
  height:210px;
  border-radius:34px;
  opacity:0.12;
  transform:translateY(-50%);
}

.about-mission__inner{
  position:relative;
  z-index:1;
  width:min(100% - 48px, 980px);
  margin-inline:auto;
  text-align:center;
}

.about-mission__eyebrow{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  margin-bottom:1rem;
}

.about-mission__eyebrow::before,
.about-mission__eyebrow::after,
.about-philosophy__eyebrow::before,
.about-philosophy__eyebrow::after{
  content:"";
  width:100px;
  height:2px;
  background:var(--about-orange);
}

.about-mission__statement{
  color:var(--css-off-white);
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(2.1rem, 3.2vw, 3.4rem);
  font-weight:400;
  line-height:1.08;
}

.about-mission__text{
  margin:1.2rem auto 0;
  color:rgba(255,255,255,0.88);
  font-size:clamp(1rem, 1.2vw, 1.18rem);
  line-height:1.65;
}

.about-mission__text p + p{
  margin-top:0.9rem;
}

.about-why{
  padding:clamp(3.8rem, 7vw, 6.5rem) 0 2.2rem;
}

.about-why__inner{
  display:grid;
  grid-template-columns:minmax(0, 0.9fr) minmax(420px, 1fr);
  gap:clamp(2rem, 6vw, 6rem);
  align-items:center;
}

.about-why__eyebrow{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:1.15rem;
}

.about-why__eyebrow::after{
  content:"";
  width:110px;
  height:2px;
  background:var(--about-orange);
}

.about-why__title{
  color:var(--css-off-white);
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(2rem, 3vw, 3.1rem);
  font-weight:400;
  line-height:1.1;
}

.about-why__text{
  max-width:760px;
  margin-top:0.8rem;
  color:rgba(255,255,255,0.88);
  font-size:clamp(1rem, 1.15vw, 1.12rem);
  line-height:1.65;
}

.about-why__text p + p{
  margin-top:1rem;
}

.about-why__quote-card{
  position:relative;
  min-height:380px;
  overflow:hidden;
  border:1px solid var(--css-border-dark);
  border-radius:16px;
  background:#090b0c;
  box-shadow:0 28px 80px rgba(0,0,0,0.42);
}

.about-why__quote-image{
  position:absolute;
  inset:0;
  border:0;
  border-radius:0;
}

.about-why__quote-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(5,5,5,0.92), rgba(5,5,5,0.48));
}

.about-why__quote{
  position:relative;
  z-index:1;
  max-width:470px;
  padding:clamp(2rem, 4vw, 4rem);
}

.about-why__quote-mark{
  display:block;
  height:62px;
  color:var(--about-orange);
  font-family:Georgia, "Times New Roman", serif;
  font-size:7rem;
  line-height:0.8;
}

.about-why__quote p{
  color:var(--css-off-white);
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(2rem, 3.6vw, 4rem);
  line-height:1.05;
}

.about-why__quote::after{
  content:"";
  display:block;
  width:56px;
  height:3px;
  margin-top:1.4rem;
  background:var(--about-orange);
}

.about-philosophy{
  padding:0 0 clamp(1rem, 3vw, 2rem);
  text-align:center;
}

.about-philosophy__eyebrow{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
}

.about-philosophy__title{
  margin-top:0.45rem;
  font-size:clamp(3rem, 5vw, 5.4rem);
  line-height:0.9;
}

.about-philosophy__intro{
  max-width:780px;
  margin:0.75rem auto 1.4rem;
  color:var(--about-muted);
  line-height:1.55;
}

.about-philosophy__grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:20px;
}

.philosophy-card{
  min-height:270px;
  padding:28px 22px;
  transition:border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.philosophy-card:hover,
.philosophy-card:focus-within{
  border-color:rgba(249,115,22,0.65);
  box-shadow:0 28px 80px rgba(0,0,0,0.42), 0 0 24px rgba(249,115,22,0.12);
  transform:translateY(-2px);
}

.philosophy-card__title{
  margin-bottom:0.8rem;
  font-size:clamp(1.25rem, 1.55vw, 1.65rem);
}

.philosophy-card__text{
  font-size:0.98rem;
}

.about-craft{
  padding:0 0 1.6rem;
}

.about-craft__inner{
  display:grid;
  grid-template-columns:minmax(270px, 0.85fr) minmax(280px, 1fr) minmax(420px, 1.25fr);
  align-items:center;
  gap:24px;
  padding:22px 28px;
  border:1px solid var(--css-border-dark);
  border-radius:14px;
  background:rgba(17, 19, 21, 0.86);
  box-shadow:0 24px 70px rgba(0,0,0,0.34);
}

.about-craft__lead{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  align-items:center;
  gap:20px;
}

.about-craft__icon{
  width:78px;
  height:78px;
  margin:0;
  border-radius:18px;
}

.about-craft__title{
  font-size:clamp(1.75rem, 2.2vw, 2.5rem);
  text-transform:none;
}

.about-craft__points{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  list-style:none;
}

.about-craft__point{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:64px;
  padding:0 18px;
  color:var(--css-white);
  font-weight:700;
  line-height:1.25;
}

.about-craft__point + .about-craft__point{
  border-left:1px solid rgba(255,255,255,0.16);
}

.about-craft__point-icon{
  width:42px;
  height:42px;
  border-radius:13px;
  flex:0 0 42px;
}

.about-final-cta{
  padding:0 0 clamp(3.5rem, 6vw, 5rem);
}

.about-final-cta__inner{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) minmax(200px, 0.44fr) minmax(270px, auto);
  align-items:center;
  gap:clamp(1.25rem, 3vw, 3rem);
  padding:clamp(1.5rem, 3vw, 2.4rem);
  border:1px solid rgba(249,115,22,0.55);
  border-radius:18px;
  background:
    radial-gradient(circle at 0% 0%, rgba(249,115,22,0.16), transparent 32%),
    linear-gradient(180deg, rgba(17,19,21,0.94), rgba(5,5,5,0.96));
  box-shadow:0 28px 80px rgba(0,0,0,0.42), 0 0 26px rgba(249,115,22,0.11);
}

.about-final-cta__icon{
  width:86px;
  height:86px;
  margin:0;
  border-radius:18px;
}

.about-final-cta__title{
  font-size:clamp(2.4rem, 4vw, 4.7rem);
  line-height:0.92;
}

.about-final-cta__text{
  max-width:720px;
  margin-top:0.75rem;
}

.about-final-cta__location{
  margin-top:0.6rem;
  color:var(--about-orange);
  font-weight:800;
}

.about-final-cta__media{
  min-height:140px;
  border-radius:14px;
  opacity:0.55;
}

.about-final-cta__actions{
  display:grid;
  gap:12px;
}

@media (max-width:1100px){
  .about-hero{
    grid-template-columns:1fr;
  }

  .about-hero__media{
    min-height:430px;
    border-right:0;
    border-bottom:1px solid rgba(249,115,22,0.34);
  }

  .about-hero__content{
    padding-inline:clamp(1.5rem, 5vw, 3rem);
  }

  .about-hero__trust-grid,
  .about-philosophy__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .about-why__inner{
    grid-template-columns:1fr;
  }

  .about-craft__inner,
  .about-final-cta__inner{
    grid-template-columns:1fr;
  }

  .about-craft__points{
    grid-template-columns:1fr;
  }

  .about-craft__point{
    padding:14px 0;
  }

  .about-craft__point + .about-craft__point{
    border-left:0;
    border-top:1px solid rgba(255,255,255,0.16);
  }

  .about-final-cta__media{
    display:none;
  }

  .about-final-cta__actions{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:760px){
  .about-container{
    width:min(100% - 28px, 1480px);
  }

  .about-hero__media{
    min-height:300px;
  }

  .about-hero__content{
    padding:42px 18px;
  }

  .about-hero__title{
    font-size:clamp(3.2rem, 15vw, 5rem);
  }

  .about-hero__trust-grid,
  .about-philosophy__grid{
    grid-template-columns:1fr;
  }

  .about-trust-card{
    min-height:0;
  }

  .about-mission__watermark{
    left:50%;
    width:170px;
    height:170px;
    transform:translate(-50%, -50%);
  }

  .about-mission__eyebrow,
  .about-philosophy__eyebrow{
    gap:14px;
  }

  .about-mission__eyebrow::before,
  .about-mission__eyebrow::after,
  .about-philosophy__eyebrow::before,
  .about-philosophy__eyebrow::after{
    width:54px;
  }

  .about-why{
    padding-top:48px;
  }

  .about-why__quote-card{
    min-height:330px;
  }

  .about-why__quote{
    padding:30px 24px;
  }

  .about-craft__inner{
    padding:22px 18px;
  }

  .about-craft__lead{
    grid-template-columns:1fr;
  }

  .about-craft__title{
    font-size:2rem;
  }

  .about-final-cta__inner{
    padding:24px 18px;
  }

  .about-final-cta__actions{
    grid-template-columns:1fr;
  }

  .about-button{
    width:100%;
    min-width:0;
    text-align:center;
  }
}

/* About page story redesign. */
.about-page{
  --about-panel-strong:rgba(13, 15, 16, 0.92);
  --about-panel-soft:rgba(255,255,255,0.035);
  --about-line:rgba(249,115,22,0.42);
}

.about-page .icon-slot{
  --icon-size:54%;
}

.about-hero{
  display:block;
  min-height:auto;
  padding:clamp(3.4rem, 6vw, 5.5rem) 0;
  border-bottom:1px solid var(--about-line);
}

.about-hero__inner{
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(380px, 0.72fr);
  gap:clamp(2rem, 5vw, 5rem);
  align-items:center;
}

.about-hero__content{
  align-self:auto;
  padding:0;
}

.about-hero__title{
  max-width:940px;
  font-size:clamp(3.35rem, 5vw, 5.7rem);
  letter-spacing:0.025em;
}

.about-hero__text{
  max-width:850px;
}

.about-hero__support-line{
  margin:12px 0 0;
  color:var(--about-muted);
  font-weight:800;
  letter-spacing:0.02em;
}

.about-hero__trust-grid{
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
  margin-top:2rem;
}

.about-trust-card{
  min-height:0;
  padding:18px 14px;
  border-radius:10px;
  text-align:left;
}

.about-trust-card__icon{
  width:44px;
  height:44px;
  margin:0 0 12px;
  border-radius:12px;
}

.about-trust-card__title{
  font-size:clamp(1.05rem, 1.25vw, 1.28rem);
}

.about-hero__media{
  position:relative;
  min-height:640px;
  overflow:hidden;
  border:1px solid rgba(249,115,22,0.34);
  border-radius:14px;
}

.about-hero__media--photo::before{
  background:
    linear-gradient(180deg, rgba(5,5,5,0.02), rgba(5,5,5,0.72)),
    linear-gradient(90deg, rgba(5,5,5,0.1), rgba(5,5,5,0.28));
}

.about-hero__media-badge{
  position:absolute;
  z-index:2;
  left:20px;
  right:20px;
  bottom:20px;
  padding:18px;
  border:1px solid rgba(255,255,255,0.18);
  border-radius:10px;
  background:rgba(5,5,5,0.74);
  box-shadow:0 18px 42px rgba(0,0,0,0.38);
  backdrop-filter:blur(12px);
}

.about-hero__media-badge span{
  display:block;
  margin-bottom:6px;
  color:var(--about-orange);
  font-family:var(--font-heading);
  font-weight:800;
  letter-spacing:0.12em;
  text-transform:uppercase;
}

.about-hero__media-badge strong{
  color:var(--css-white);
  font-size:1.05rem;
  line-height:1.35;
}

.about-section-header{
  max-width:960px;
}

.about-section-header--center{
  margin-inline:auto;
  text-align:center;
}

.about-mission{
  padding:clamp(3.4rem, 6vw, 5.25rem) 0;
}

.about-mission__inner{
  width:min(100% - 48px, 1480px);
}

.about-mission__statement,
.about-community__title,
.about-referral-model h2{
  color:var(--css-off-white);
  font-family:var(--font-display);
  font-weight:400;
  letter-spacing:0.025em;
  line-height:0.95;
  text-transform:uppercase;
}

.about-mission__statement{
  font-size:clamp(2.55rem, 4vw, 4.45rem);
}

.about-mission__text,
.about-community__intro,
.about-referral-model__copy p{
  color:rgba(255,255,255,0.88);
  font-size:clamp(1rem, 1.18vw, 1.15rem);
  line-height:1.65;
}

.about-values-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
  margin-top:2.2rem;
}

.about-values-card,
.about-community-card,
.about-referral-card{
  border:1px solid var(--css-border-dark);
  border-radius:10px;
  background:var(--about-panel-strong);
  box-shadow:0 24px 70px rgba(0,0,0,0.34);
}

.about-values-card{
  position:relative;
  padding:28px 24px 26px;
  overflow:hidden;
  text-align:left;
}

.about-values-card::before,
.about-community-card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg, var(--about-orange), transparent);
}

.about-values-card__icon,
.about-community-card__icon{
  width:54px;
  height:54px;
  margin:0 0 18px;
  border-radius:14px;
}

.about-values-card h3,
.about-community-card h3{
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:clamp(1.45rem, 1.7vw, 1.85rem);
  font-weight:800;
  letter-spacing:0.055em;
  line-height:1;
  text-transform:uppercase;
}

.about-values-card p,
.about-community-card p,
.about-referral-card p,
.about-referral-card small{
  color:var(--about-muted);
  line-height:1.58;
}

.about-values-card p{
  margin-top:0.85rem;
}

.about-community__eyebrow,
.about-referral-model__eyebrow{
  color:var(--about-orange);
  font-family:var(--font-heading);
  font-size:clamp(1rem, 1.25vw, 1.2rem);
  font-weight:800;
  letter-spacing:0.13em;
  line-height:1;
  text-transform:uppercase;
}

.founder-timeline-section{
  position:relative;
  overflow:hidden;
  padding:clamp(3.6rem, 6vw, 5.75rem) 0;
  background:
    radial-gradient(circle at 16% 10%, rgba(249,115,22,0.12), transparent 28%),
    radial-gradient(circle at 84% 38%, rgba(3,147,202,0.07), transparent 30%),
    linear-gradient(180deg, #050505, #0a0c0d 46%, #050505);
}

.founder-timeline-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, transparent 0 49.94%, rgba(249,115,22,0.12) 50%, transparent 50.06% 100%),
    repeating-linear-gradient(135deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 22px);
  opacity:0.45;
}

.founder-timeline-section__inner{
  position:relative;
  z-index:1;
}

.founder-timeline-section__header{
  max-width:1060px;
  margin-inline:auto;
  text-align:center;
}

.founder-timeline-section__eyebrow{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  color:var(--about-orange);
  font-family:var(--font-heading);
  font-size:clamp(1rem, 1.2vw, 1.18rem);
  font-weight:800;
  letter-spacing:0.13em;
  line-height:1;
  text-transform:uppercase;
}

.founder-timeline-section__eyebrow::before,
.founder-timeline-section__eyebrow::after{
  content:"";
  width:96px;
  height:2px;
  background:var(--about-orange);
}

.founder-timeline-section__title{
  max-width:1040px;
  margin:0.95rem auto 0;
  color:var(--css-off-white);
  font-family:var(--font-display);
  font-size:clamp(2.6rem, 4vw, 4.55rem);
  font-weight:400;
  letter-spacing:0.025em;
  line-height:0.95;
  text-transform:uppercase;
}

.founder-timeline-section__intro{
  max-width:820px;
  margin:1rem auto 0;
  color:rgba(255,255,255,0.88);
  font-size:clamp(1rem, 1.18vw, 1.15rem);
  line-height:1.65;
}

.founder-timeline{
  position:relative;
  display:grid;
  gap:clamp(0.15rem, 0.75vw, 0.65rem);
  max-width:1320px;
  margin:clamp(0.6rem, 1.2vw, 1rem) auto 0;
  padding:0;
  list-style:none;
}

.founder-timeline::before{
  content:"";
  position:absolute;
  top:28px;
  bottom:28px;
  left:50%;
  width:2px;
  background:
    linear-gradient(180deg, rgba(249,115,22,0), var(--about-orange) 8%, rgba(249,115,22,0.78) 92%, rgba(249,115,22,0));
  box-shadow:0 0 24px rgba(249,115,22,0.2);
  transform:translateX(-50%);
}

.founder-timeline__item{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, 1fr) 104px minmax(0, 1fr);
  gap:clamp(1.25rem, 3vw, 2.8rem);
  align-items:center;
  min-height:0;
}

.founder-timeline__item::before{
  content:"";
  position:absolute;
  top:50%;
  width:clamp(34px, 3vw, 58px);
  height:2px;
  background:linear-gradient(90deg, rgba(249,115,22,0), var(--about-orange));
  transform:translateY(-50%);
}

.founder-timeline__item:nth-child(odd)::before{
  right:calc(50% + 52px);
}

.founder-timeline__item:nth-child(even)::before{
  left:calc(50% + 52px);
  background:linear-gradient(90deg, var(--about-orange), rgba(249,115,22,0));
}

.founder-timeline__marker{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  grid-column:2;
  grid-row:1;
  width:78px;
  height:78px;
  justify-self:center;
  border:2px solid rgba(249,115,22,0.92);
  border-radius:999px;
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,0.12), transparent 32%),
    linear-gradient(180deg, #17191b, #050505);
  color:var(--about-orange);
  font-family:var(--font-heading);
  font-size:1.32rem;
  font-weight:900;
  letter-spacing:0.03em;
  box-shadow:0 0 0 9px rgba(249,115,22,0.08), 0 18px 38px rgba(0,0,0,0.42);
}

.founder-timeline__marker::after{
  content:"";
  position:absolute;
  inset:-13px;
  border:1px solid rgba(249,115,22,0.2);
  border-radius:inherit;
}

.founder-timeline__card{
  position:relative;
  z-index:1;
  grid-row:1;
  overflow:hidden;
  display:grid;
  width:100%;
  max-width:580px;
  grid-template-columns:minmax(150px, 0.42fr) minmax(0, 0.58fr);
  min-height:260px;
  border:1px solid rgba(255,255,255,0.15);
  border-radius:12px;
  background:
    linear-gradient(180deg, rgba(17,19,21,0.96), rgba(7,8,9,0.96));
  box-shadow:0 26px 70px rgba(0,0,0,0.42), 0 0 22px rgba(249,115,22,0.08);
  transition:border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.founder-timeline__item:nth-child(odd) .founder-timeline__card{
  grid-column:1;
  justify-self:end;
}

.founder-timeline__item:nth-child(even) .founder-timeline__card{
  grid-column:3;
  justify-self:start;
}

.founder-timeline__card:hover,
.founder-timeline__card:focus-within{
  border-color:rgba(249,115,22,0.68);
  box-shadow:0 30px 78px rgba(0,0,0,0.48), 0 0 26px rgba(249,115,22,0.14);
  transform:translateY(-2px);
}

.founder-timeline__media{
  position:relative;
  isolation:isolate;
  display:grid;
  min-height:100%;
  place-items:center;
  padding:0;
  overflow:hidden;
  border-right:1px solid rgba(255,255,255,0.12);
  background:
    radial-gradient(circle at 28% 22%, rgba(249,115,22,0.28), transparent 26%),
    linear-gradient(135deg, rgba(3,147,202,0.14), transparent 48%),
    linear-gradient(145deg, #202429, #0b0d0f 68%, #050505);
}

.founder-timeline__media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0)),
    repeating-linear-gradient(135deg, rgba(255,255,255,0.06) 0 1px, transparent 1px 18px);
  opacity:0.58;
}

.founder-timeline__media::after{
  content:none;
}

.founder-timeline__media img{
  position:relative;
  z-index:2;
  display:block;
  width:116%;
  height:116%;
  max-height:none;
  object-fit:cover;
  object-position:center;
}

.founder-timeline__media span{
  position:relative;
  z-index:1;
  max-width:190px;
  color:rgba(255,255,255,0.82);
  font-size:0.74rem;
  font-weight:800;
  letter-spacing:0.1em;
  line-height:1.35;
  text-transform:uppercase;
}

.founder-timeline__content{
  padding:clamp(1.15rem, 1.8vw, 1.55rem);
}

.founder-timeline__year{
  display:inline-flex;
  margin:0 0 0.55rem;
  padding:5px 9px;
  border:1px solid rgba(249,115,22,0.44);
  border-radius:999px;
  color:var(--about-orange);
  font-family:var(--font-heading);
  font-size:0.92rem;
  font-weight:900;
  letter-spacing:0.08em;
  line-height:1;
}

.founder-timeline__label{
  margin:0 0 0.58rem;
  color:var(--about-orange);
  font-size:0.74rem;
  font-weight:900;
  letter-spacing:0.13em;
  text-transform:uppercase;
}

.founder-timeline__content h3{
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:clamp(1.28rem, 1.65vw, 1.75rem);
  font-weight:800;
  letter-spacing:0.052em;
  line-height:0.98;
  text-transform:uppercase;
}

.founder-timeline__content p:not(.founder-timeline__year):not(.founder-timeline__label){
  margin-top:0.72rem;
  color:var(--about-muted);
  line-height:1.5;
}

.about-personal{
  position:relative;
  overflow:hidden;
  padding:clamp(3.8rem, 7vw, 6rem) 0;
  border-block:1px solid rgba(249,115,22,0.25);
  background:
    radial-gradient(circle at 18% 15%, rgba(249,115,22,0.1), transparent 28%),
    radial-gradient(circle at 88% 70%, rgba(3,147,202,0.06), transparent 30%),
    linear-gradient(180deg, #0b0d0f, #050505);
}

.about-personal__inner{
  position:relative;
  z-index:1;
}

.about-personal__header{
  max-width:1040px;
  margin:0 auto clamp(2rem, 4vw, 4rem);
  text-align:center;
}

.about-personal__grid{
  display:grid;
  grid-template-columns:minmax(320px, 0.9fr) minmax(420px, 1.1fr);
  gap:clamp(2rem, 4vw, 4rem);
  align-items:stretch;
}

.about-personal__media{
  position:relative;
  display:grid;
  grid-template-columns:1fr 0.74fr;
  grid-template-rows:repeat(4, minmax(0, 1fr));
  gap:14px;
  width:100%;
  height:100%;
  min-height:560px;
  padding:16px;
  border:1px solid rgba(249,115,22,0.34);
  border-radius:16px;
  background:
    linear-gradient(180deg, rgba(17,19,21,0.92), rgba(5,5,5,0.94));
  box-shadow:0 28px 80px rgba(0,0,0,0.42), 0 0 24px rgba(249,115,22,0.08);
}

.about-personal__media::before{
  content:"";
  position:absolute;
  left:16px;
  top:16px;
  bottom:16px;
  width:3px;
  border-radius:999px;
  background:linear-gradient(180deg, var(--about-orange), rgba(249,115,22,0));
}

.about-personal__image{
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:end start;
  min-height:0;
  padding:0;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:12px;
  background:
    radial-gradient(circle at 26% 20%, rgba(249,115,22,0.2), transparent 26%),
    linear-gradient(135deg, rgba(3,147,202,0.11), transparent 48%),
    linear-gradient(145deg, #202429, #0b0d0f 68%, #050505);
}

.about-personal__image::before{
  content:none;
}

.about-personal__image--portrait{
  grid-row:1 / -1;
  min-height:100%;
}

.about-personal__image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.about-personal__copy{
  min-width:0;
  align-self:stretch;
}

.about-personal__eyebrow{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  color:var(--about-orange);
  font-family:var(--font-heading);
  font-size:clamp(1rem, 1.2vw, 1.18rem);
  font-weight:800;
  letter-spacing:0.13em;
  line-height:1;
  text-transform:uppercase;
}

.about-personal__eyebrow::before,
.about-personal__eyebrow::after{
  content:"";
  width:96px;
  height:2px;
  background:var(--about-orange);
}

.about-personal__title{
  max-width:1040px;
  margin-top:0.9rem;
  margin-inline:auto;
  color:var(--css-off-white);
  font-family:var(--font-display);
  font-size:clamp(2.55rem, 3.9vw, 4.35rem);
  font-weight:400;
  letter-spacing:0.025em;
  line-height:0.95;
  text-align:center;
  text-transform:uppercase;
}

.about-personal__title span{
  color:var(--about-orange);
}

.about-personal__text{
  max-width:720px;
  margin-top:0;
  color:rgba(255,255,255,0.88);
  font-size:clamp(1rem, 1.08vw, 1.08rem);
  line-height:1.66;
}

.about-personal__text p + p{
  margin-top:0.9rem;
}

.about-personal__values{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  max-width:720px;
  margin-top:1.6rem;
}

.about-personal__value-card{
  position:relative;
  overflow:hidden;
  padding:18px 18px 17px;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:10px;
  background:rgba(17,19,21,0.86);
  box-shadow:0 18px 44px rgba(0,0,0,0.28);
}

.about-personal__value-card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg, var(--about-orange), transparent);
}

.about-personal__value-card h3{
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:clamp(1.2rem, 1.45vw, 1.45rem);
  font-weight:800;
  letter-spacing:0.055em;
  line-height:1;
  text-transform:uppercase;
}

.about-personal__value-card p{
  margin-top:0.55rem;
  color:var(--about-muted);
  line-height:1.45;
}

.about-community{
  padding:clamp(3.4rem, 6vw, 5.25rem) 0;
  background:
    radial-gradient(circle at 15% 18%, rgba(249,115,22,0.12), transparent 28%),
    radial-gradient(circle at 90% 86%, rgba(3,147,202,0.08), transparent 30%),
    linear-gradient(180deg, #0d0f10, #050505);
  border-block:1px solid rgba(249,115,22,0.28);
}

.about-community__title{
  margin-top:0.75rem;
  font-size:clamp(2.55rem, 4vw, 4.45rem);
}

.about-community__intro{
  max-width:780px;
  margin:1rem auto 0;
}

.about-community__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
  margin-top:2.2rem;
}

.about-community-card{
  position:relative;
  overflow:hidden;
  padding:28px 24px;
}

.about-community-card p{
  margin-top:0.8rem;
}

.about-referral-model{
  position:relative;
  overflow:hidden;
  padding:clamp(2.8rem, 4.6vw, 4.2rem) 0 clamp(1rem, 2vw, 1.45rem);
  background:
    radial-gradient(circle at 82% 18%, rgba(249,115,22,0.12), transparent 30%),
    radial-gradient(circle at 8% 72%, rgba(3,147,202,0.05), transparent 26%),
    linear-gradient(180deg, #050505, #090b0c 48%, #050505);
}

.about-referral-model::before,
.about-final-cta::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    repeating-radial-gradient(ellipse at 0% 0%, rgba(255,255,255,0.055) 0 1px, transparent 1px 18px);
  opacity:0.16;
  mask-image:radial-gradient(circle at 0% 0%, #000 0 28%, transparent 52%);
}

.about-referral-model::after,
.about-final-cta::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg, rgba(255,255,255,0.028) 1px, transparent 1px);
  background-size:36px 36px;
  opacity:0.22;
}

.about-referral-model__inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(320px, 1fr) minmax(280px, 0.86fr) minmax(320px, 0.96fr);
  gap:clamp(1.35rem, 2.5vw, 2rem);
  align-items:stretch;
}

.about-referral-model__copy{
  align-self:center;
}

.about-referral-model h2{
  margin-top:0.8rem;
  max-width:560px;
  font-size:clamp(2.75rem, 4vw, 4.7rem);
  line-height:0.92;
}

.about-referral-model__copy p{
  max-width:600px;
  margin-top:0.85rem;
  color:rgba(255,255,255,0.9);
  font-size:clamp(0.96rem, 1vw, 1.03rem);
  line-height:1.58;
}

.about-referral-model__eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
}

.about-referral-model__eyebrow::before{
  content:"";
  width:28px;
  height:28px;
  flex:0 0 28px;
  background:currentColor;
  -webkit-mask:var(--icon-users) center / contain no-repeat;
  mask:var(--icon-users) center / contain no-repeat;
}

.about-referral-model__spirit{
  max-width:560px;
  padding-left:16px;
  border-left:3px solid var(--about-orange);
  color:var(--css-off-white);
  font-weight:800;
}

.about-referral-model__photo{
  position:relative;
  overflow:hidden;
  min-height:405px;
  border:1px solid rgba(249,115,22,0.72);
  border-radius:12px;
  background:#050505;
  box-shadow:0 26px 72px rgba(0,0,0,0.42), 0 0 24px rgba(249,115,22,0.1);
}

.about-referral-model__photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(5,5,5,0), rgba(5,5,5,0.28));
  pointer-events:none;
}

.about-referral-model__photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.about-referral-card{
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:405px;
  padding:clamp(1.45rem, 2.35vw, 2.15rem);
  border:1px solid rgba(249,115,22,0.8);
  border-radius:14px;
  background:
    radial-gradient(circle at 20% 0%, rgba(249,115,22,0.13), transparent 34%),
    linear-gradient(180deg, rgba(17,19,21,0.9), rgba(5,5,5,0.98));
  box-shadow:0 26px 72px rgba(0,0,0,0.42), 0 0 26px rgba(249,115,22,0.1);
}

.about-referral-card__mark{
  --icon:var(--icon-shield);
  --icon-size:76%;
  position:absolute;
  top:22px;
  right:22px;
  width:58px;
  height:58px;
  border:0;
  border-radius:0;
  color:rgba(255,255,255,0.17);
  background:transparent;
  box-shadow:none;
}

.about-referral-card__label{
  margin:0 0 12px;
  color:var(--about-orange);
  font-family:var(--font-heading);
  font-size:clamp(1rem, 1.1vw, 1.18rem);
  font-weight:800;
  letter-spacing:0.14em;
  text-transform:uppercase;
}

.about-referral-card strong{
  position:relative;
  z-index:1;
  display:block;
  max-width:430px;
  color:var(--css-white);
  font-family:var(--font-display);
  font-size:clamp(3rem, 4.35vw, 5.1rem);
  font-weight:400;
  letter-spacing:0.035em;
  line-height:0.9;
  text-transform:uppercase;
}

.about-referral-card span{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin:18px 0 14px;
  padding:8px 15px;
  border:1px solid rgba(249,115,22,0.74);
  border-radius:999px;
  color:var(--about-orange);
  font-weight:900;
}

.about-referral-card p{
  max-width:520px;
  color:rgba(255,255,255,0.88);
}

.about-referral-card small{
  display:block;
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px solid rgba(255,255,255,0.16);
  font-size:0.85rem;
}

.about-final-cta{
  position:relative;
  overflow:hidden;
  padding:0 0 clamp(2.8rem, 4.6vw, 4.15rem);
  background:#050505;
}

.about-final-cta::before{
  inset:auto 0 0 auto;
  height:100%;
  mask-image:radial-gradient(circle at 100% 100%, #000 0 24%, transparent 48%);
}

.about-final-cta__icon{
  --icon:var(--icon-shield-check);
  --icon-size:58%;
  width:92px;
  height:92px;
  margin:0;
  border:1px solid rgba(255,255,255,0.22);
  border-radius:999px;
  color:var(--about-orange);
  background:rgba(249,115,22,0.06);
}

.about-final-cta__inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) minmax(300px, 0.34fr);
  gap:clamp(1.15rem, 2.4vw, 2.25rem);
  align-items:center;
  padding:clamp(1.25rem, 2vw, 1.85rem);
  border:1px solid rgba(249,115,22,0.72);
  border-radius:14px;
  background:
    radial-gradient(circle at 8% 10%, rgba(249,115,22,0.1), transparent 34%),
    linear-gradient(180deg, rgba(17,19,21,0.94), rgba(5,5,5,0.96));
  box-shadow:0 28px 80px rgba(0,0,0,0.42), 0 0 24px rgba(249,115,22,0.1);
}

.about-final-cta__content{
  display:grid;
  grid-template-columns:minmax(320px, 0.95fr) minmax(260px, 0.72fr);
  gap:clamp(1.1rem, 2.2vw, 2rem);
  align-items:center;
}

.about-final-cta__title{
  max-width:620px;
  font-size:clamp(2.25rem, 3.05vw, 3.55rem);
  line-height:0.96;
}

.about-final-cta__message{
  padding-left:22px;
  border-left:3px solid var(--about-orange);
}

.about-final-cta__text{
  max-width:430px;
  margin-top:0;
  color:rgba(255,255,255,0.88);
  font-size:clamp(0.95rem, 1vw, 1.02rem);
  line-height:1.52;
}

.about-final-cta__location{
  margin-top:0.7rem;
  color:var(--about-orange);
  font-weight:900;
}

.about-final-cta__actions{
  display:grid;
  gap:10px;
  min-width:0;
}

.about-final-cta__actions .about-button{
  width:100%;
  min-height:56px;
}

.about-button__referral-svg{
  display:block;
  width:26px;
  height:26px;
  flex:0 0 26px;
  fill:currentColor;
  transition:color 160ms ease, transform 160ms ease;
}

.about-button:hover .about-button__referral-svg,
.about-button:focus-visible .about-button__referral-svg{
  color:var(--logo-blue);
  transform:translateX(2px);
}

.about-trust-card:nth-child(1) .about-trust-card__icon{--icon:var(--icon-map-pin);}
.about-trust-card:nth-child(2) .about-trust-card__icon{--icon:var(--icon-compass);}
.about-trust-card:nth-child(3) .about-trust-card__icon{--icon:var(--icon-wrench);}
.about-trust-card:nth-child(4) .about-trust-card__icon{--icon:var(--icon-headset);}
.about-values-card:nth-child(1) .about-values-card__icon{--icon:var(--icon-shield-check);}
.about-values-card:nth-child(2) .about-values-card__icon{--icon:var(--icon-heart);}
.about-values-card:nth-child(3) .about-values-card__icon{--icon:var(--icon-compass);}
.about-community-card:nth-child(1) .about-community-card__icon{--icon:var(--icon-user-check);}
.about-community-card:nth-child(2) .about-community-card__icon{--icon:var(--icon-users);}
.about-community-card:nth-child(3) .about-community-card__icon{--icon:var(--icon-tag);}

@media (max-width:1100px){
  .about-hero__inner,
  .about-referral-model__inner{
    grid-template-columns:1fr;
  }

  .about-hero__media{
    min-height:520px;
    order:-1;
  }

  .about-hero__trust-grid,
  .about-values-grid,
  .about-community__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .about-final-cta__inner{
    grid-template-columns:1fr;
  }

  .about-referral-model__copy{
    text-align:center;
  }

  .about-referral-model h2,
  .about-referral-model__copy p,
  .about-referral-model__spirit{
    margin-inline:auto;
  }

  .about-referral-model__eyebrow{
    justify-content:center;
  }

  .about-referral-model__photo,
  .about-referral-card{
    min-height:340px;
  }

  .about-final-cta__content{
    grid-template-columns:1fr;
  }

  .about-final-cta__message{
    max-width:720px;
    padding-left:22px;
  }

  .about-final-cta__actions{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    min-width:0;
  }

  .about-personal__header{
    max-width:900px;
  }

  .about-personal__grid{
    grid-template-columns:minmax(280px, 0.86fr) minmax(360px, 1.14fr);
    gap:clamp(1.5rem, 3vw, 2.5rem);
  }

  .about-personal__media{
    min-height:500px;
  }

  .about-personal__copy{
    max-width:none;
    margin:0;
  }

  .founder-timeline-section__title{
    font-size:clamp(2.4rem, 5vw, 3.65rem);
  }

  .founder-timeline{
    gap:clamp(0.25rem, 1vw, 0.8rem);
  }

  .founder-timeline__item{
    grid-template-columns:minmax(0, 1fr) 88px minmax(0, 1fr);
    gap:20px;
    min-height:0;
  }

  .founder-timeline__marker{
    width:66px;
    height:66px;
    font-size:1.12rem;
  }

  .founder-timeline__item:nth-child(odd)::before{
    right:calc(50% + 44px);
  }

  .founder-timeline__item:nth-child(even)::before{
    left:calc(50% + 44px);
  }

  .founder-timeline__card{
    max-width:520px;
    grid-template-columns:1fr;
  }

  .founder-timeline__media{
    min-height:145px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,0.12);
  }
}

@media (max-width:760px){
  .about-hero{
    padding:38px 0 48px;
  }

  .about-hero__media{
    min-height:360px;
  }

  .about-hero__media-badge{
    left:14px;
    right:14px;
    bottom:14px;
    padding:14px;
  }

  .about-hero__title,
  .about-mission__statement,
  .founder-timeline-section__title,
  .about-personal__title,
  .about-community__title,
  .about-referral-model h2,
  .about-final-cta__title{
    font-size:clamp(2.3rem, 10vw, 3.35rem);
  }

  .about-hero__trust-grid,
  .about-values-grid,
  .about-personal__values,
  .about-community__grid{
    grid-template-columns:1fr;
  }

  .about-values-card,
  .about-personal__value-card,
  .about-community-card,
  .about-referral-card{
    padding:22px 18px;
  }

  .about-personal{
    padding:48px 0;
  }

  .about-personal__header{
    margin-bottom:1.6rem;
  }

  .about-personal__grid{
    grid-template-columns:1fr;
    gap:1.6rem;
  }

  .about-personal__media{
    grid-template-columns:1.05fr 0.95fr;
    grid-template-rows:repeat(3, minmax(118px, 1fr));
    min-height:0;
    padding:12px;
    gap:12px;
    border-radius:12px;
  }

  .about-personal__media::before{
    left:12px;
    top:12px;
    bottom:12px;
    width:2px;
  }

  .about-personal__image,
  .about-personal__image--portrait{
    grid-row:auto;
    min-height:138px;
    padding:0;
  }

  .about-personal__image--portrait{
    grid-row:1 / span 2;
    min-height:0;
  }

  .about-personal__eyebrow{
    gap:14px;
    line-height:1.2;
  }

  .about-personal__eyebrow::before,
  .about-personal__eyebrow::after{
    width:46px;
    flex:0 0 46px;
  }

  .about-personal__text{
    max-width:none;
    font-size:1rem;
  }

  .about-personal__values{
    max-width:none;
  }

  .about-referral-card strong{
    font-size:clamp(2.6rem, 13vw, 4.2rem);
  }

  .about-referral-model{
    padding:34px 0 14px;
  }

  .about-referral-model__inner{
    gap:1.1rem;
  }

  .about-referral-model__copy{
    text-align:left;
  }

  .about-referral-model__eyebrow{
    justify-content:flex-start;
  }

  .about-referral-model__photo{
    min-height:240px;
  }

  .about-referral-card{
    min-height:0;
  }

  .about-referral-card__mark{
    top:18px;
    right:18px;
    width:52px;
    height:52px;
  }

  .about-referral-card span{
    width:100%;
    justify-content:center;
  }

  .about-final-cta{
    padding-bottom:34px;
  }

  .about-final-cta__inner{
    padding:18px 16px;
  }

  .about-final-cta__icon{
    width:70px;
    height:70px;
  }

  .about-final-cta__content{
    gap:1rem;
  }

  .about-final-cta__message{
    padding-left:16px;
  }

  .about-final-cta__actions{
    grid-template-columns:1fr;
  }

  .founder-timeline-section{
    padding:44px 0;
  }

  .founder-timeline-section__eyebrow{
    gap:14px;
  }

  .founder-timeline-section__eyebrow::before,
  .founder-timeline-section__eyebrow::after{
    width:46px;
  }

  .founder-timeline{
    gap:clamp(0.75rem, 3vw, 1.15rem);
    margin-top:0.85rem;
  }

  .founder-timeline::before{
    left:25px;
    transform:none;
  }

  .founder-timeline__item{
    grid-template-columns:50px minmax(0, 1fr);
    gap:12px;
    align-items:start;
  }

  .founder-timeline__item::before,
  .founder-timeline__item:nth-child(odd)::before,
  .founder-timeline__item:nth-child(even)::before{
    left:50px;
    right:auto;
    top:25px;
    width:16px;
    background:linear-gradient(90deg, var(--about-orange), rgba(249,115,22,0));
    transform:none;
  }

  .founder-timeline__marker{
    grid-column:1;
    width:50px;
    height:50px;
    font-size:0.92rem;
    box-shadow:0 0 0 6px rgba(249,115,22,0.08);
  }

  .founder-timeline__marker::after{
    inset:-8px;
  }

  .founder-timeline__item:nth-child(odd) .founder-timeline__card,
  .founder-timeline__item:nth-child(even) .founder-timeline__card{
    grid-column:2;
    justify-self:stretch;
  }

  .founder-timeline__card{
    width:100%;
    max-width:none;
    min-height:0;
  }

  .founder-timeline__media{
    min-height:132px;
    padding:0;
  }

  .founder-timeline__content{
    padding:18px 16px;
  }
}

/* ================================
Responsive Overhaul Layer
================================ */
.mobile-nav-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width:var(--touch-target);
  height:var(--touch-target);
  flex:0 0 var(--touch-target);
  border:1px solid rgba(255,255,255,0.18);
  border-radius:8px;
  background:rgba(255,255,255,0.045);
  color:var(--text);
  cursor:pointer;
}

.mobile-nav-toggle__bar{
  position:absolute;
  width:20px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transition:transform 180ms ease, opacity 180ms ease;
}

.mobile-nav-toggle__bar:nth-child(1){ transform:translateY(-7px); }
.mobile-nav-toggle__bar:nth-child(3){ transform:translateY(7px); }

.site-header.is-mobile-nav-open .mobile-nav-toggle__bar:nth-child(1){
  transform:rotate(45deg);
}

.site-header.is-mobile-nav-open .mobile-nav-toggle__bar:nth-child(2){
  opacity:0;
}

.site-header.is-mobile-nav-open .mobile-nav-toggle__bar:nth-child(3){
  transform:rotate(-45deg);
}

.site-main,
main,
section,
.container,
.about-container,
.blog-page__shell,
.alarm-page-shell,
.camera-page-shell,
.access-page-shell,
.emergency-page-shell,
.wiring-page-shell,
.monitoring-page-shell,
.nonprofit-page-shell{
  min-width:0;
}

@media (max-width:1200px){
  .container,
  .about-container,
  .blog-page__shell,
  .alarm-page-shell,
  .camera-page-shell,
  .access-page-shell,
  .emergency-page-shell,
  .wiring-page-shell,
  .monitoring-page-shell,
  .nonprofit-page-shell{
    width:min(100% - 48px, var(--site-wide));
    max-width:var(--site-wide);
    padding-inline:0;
  }

  .hero-headline{
    font-size:clamp(3.1rem, 7vw, 5rem);
  }

  .services-overview__cards,
  .residential-setups__grid,
  .commercial-setups__grid,
  .alarm-concerns__grid,
  .camera-solutions__grid,
  .access-solutions__grid,
  .emergency-solutions__grid,
  .wiring-solutions__grid,
  .monitoring-solutions__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:1024px){
  .site-header{
    height:auto;
    min-height:92px;
    padding-block:12px;
  }

  .site-header.is-scrolled{
    height:auto;
    min-height:72px;
  }

  .logo-area{
    flex:0 1 clamp(280px, 38vw, 390px);
  }

  .logo-link,
  .site-header.is-scrolled .logo-link{
    width:clamp(260px, 36vw, 390px);
  }

  .header-cta{
    gap:10px;
  }

  .nav-estimate-btn{
    padding-inline:14px;
  }

  .hero-grid,
  .alarm-hero__inner,
  .camera-hero__inner,
  .access-hero__inner,
  .emergency-hero__inner,
  .wiring-hero__inner,
  .monitoring-hero__inner,
  .nonprofit-hero__inner,
  .article-hero{
    grid-template-columns:minmax(0, 1fr);
  }

  .hero-card,
  .alarm-hero__visual,
  .camera-hero__visual,
  .access-hero__media,
  .emergency-hero__media,
  .wiring-hero__media,
  .monitoring-hero__media{
    min-height:clamp(300px, 46vw, 460px);
  }

  .site-footer__inner{
    padding-inline:24px;
  }

  .site-footer__main{
    grid-template-columns:minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap:34px 42px;
  }

  .site-footer__contact{
    grid-column:1 / -1;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:28px;
  }
}

/* Header/nav mobile breakpoint. Raised from 900px to 1200px so the
   seven-tab Services mega-menu never has to horizontally scroll or crowd
   on common laptop widths (see assets/js/mega-menu.js mobileQuery, which
   must stay in sync with this value). */
@media (max-width:1200px){
  body.mobile-nav-open{
    overflow:hidden;
  }

  .site-header{
    min-height:0;
    padding-block:12px;
  }

  .header-inner{
    display:grid;
    grid-template-columns:minmax(0, 1fr) var(--touch-target);
    align-items:center;
    gap:12px;
  }

  .logo-area{
    width:auto;
    min-width:0;
    flex:0 1 auto;
  }

  .logo-link,
  .site-header.is-scrolled .logo-link{
    width:clamp(180px, 54vw, 290px);
  }

  .nav-logo,
  .site-header.is-scrolled .nav-logo{
    max-height:72px;
  }

  .mobile-nav-toggle{
    display:inline-flex;
    position:relative;
    justify-self:end;
  }

  .main-nav,
  .header-cta{
    grid-column:1 / -1;
    width:100%;
  }

  .main-nav{
    display:none;
    max-height:calc(100dvh - 104px);
    overflow:auto;
    overscroll-behavior:contain;
    padding:12px;
    border:1px solid rgba(255,255,255,0.12);
    border-radius:10px;
    background:linear-gradient(180deg, rgba(12,14,16,0.98), rgba(5,5,5,0.98));
    box-shadow:0 24px 60px rgba(0,0,0,0.42);
  }

  .site-header.is-mobile-nav-open .main-nav{
    display:block;
  }

  .main-nav > ul{
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    align-items:stretch;
  }

  .main-nav a,
  .nav-dropdown__trigger{
    width:100%;
    min-height:var(--touch-target);
    justify-content:space-between;
    padding:12px 10px;
    border-radius:7px;
    color:#f2f2f2;
  }

  .main-nav a:hover,
  .main-nav a:focus-visible,
  .nav-dropdown__trigger:hover,
  .nav-dropdown__trigger:focus-visible{
    background:rgba(255,255,255,0.055);
  }

  .services-mega-menu{
    position:static;
    width:100%;
    max-height:0;
    margin:0;
    padding:0;
    border:0;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    box-shadow:none;
    background:transparent;
  }

  .nav-dropdown.is-open .services-mega-menu{
    max-height:70dvh;
    margin-top:8px;
    padding:6px 4px 18px;
    overflow:auto;
    border-top:1px solid var(--border-soft);
    transform:none;
  }

  .services-mega-menu__caret{
    display:none;
  }

  .services-mega-menu__inner{
    display:none;
  }

  .services-mega-menu__mobile{
    display:block;
  }

  .header-cta{
    display:none;
    grid-template-columns:1fr;
    gap:10px;
    padding-top:4px;
  }

  .site-header.is-mobile-nav-open .header-cta{
    display:grid;
  }

  .phone,
  .login-link,
  .header-cta .estimate-cta{
    width:100%;
    min-height:var(--touch-target);
    justify-content:center;
    text-align:center;
  }

  .services-menu-open .hero,
  body.services-menu-open .alarm-hero,
  body.services-menu-open .camera-hero,
  body.services-menu-open .access-hero,
  body.services-menu-open .emergency-hero,
  body.services-menu-open .wiring-hero,
  body.services-menu-open .monitoring-hero{
    padding-top:clamp(2.5rem, 9vw, 4rem);
  }
}

@media (max-width:760px){
  :root{
    --gutter:clamp(0.875rem, 4.5vw, 1.5rem);
    --section-y:clamp(2.75rem, 10vw, 4.5rem);
    --section-y-tight:clamp(2.25rem, 8vw, 3.5rem);
  }

  .container,
  .about-container,
  .blog-page__shell,
  .alarm-page-shell,
  .camera-page-shell,
  .access-page-shell,
  .emergency-page-shell,
  .wiring-page-shell,
  .monitoring-page-shell,
  .nonprofit-page-shell{
    width:min(100% - 28px, var(--site-wide));
    max-width:calc(100% - 28px);
  }

  .hero,
  .residential-hero,
  .commercial-hero,
  .about-hero,
  .blog-hero,
  .alarm-hero,
  .camera-hero,
  .access-hero,
  .emergency-hero,
  .wiring-hero,
  .monitoring-hero,
  .nonprofit-hero{
    min-height:0;
    padding-block:clamp(2.75rem, 10vw, 4.5rem);
  }

  .hero-grid,
  .residential-hero__inner,
  .commercial-hero__inner,
  .blog-hero__inner,
  .alarm-hero__inner,
  .camera-hero__inner,
  .access-hero__inner,
  .emergency-hero__inner,
  .wiring-hero__inner,
  .monitoring-hero__inner,
  .nonprofit-hero__inner{
    width:100%;
    padding-block:0;
    gap:clamp(1.35rem, 6vw, 2.25rem);
  }

  .hero-title,
  .hero h1,
  .hero-headline,
  .residential-hero__title,
  .commercial-hero__title,
  .about-hero__title,
  .blog-hero__title,
  .article-hero h1,
  .alarm-hero__title,
  .camera-hero h1,
  .access-hero__title,
  .emergency-hero__title,
  .wiring-hero__title,
  .monitoring-hero__title,
  .nonprofit-hero__title{
    max-width:100%;
    font-size:clamp(2.55rem, 12vw, 3.8rem);
    line-height:0.96;
    letter-spacing:0.028em;
    overflow-wrap:break-word;
  }

  .hero-lead,
  .residential-hero__text,
  .commercial-hero__text,
  .about-hero__text,
  .blog-hero__text,
  .alarm-hero__text,
  .camera-hero__content > p:not(.camera-hero__eyebrow),
  .access-hero__text,
  .emergency-hero__text,
  .wiring-hero__text,
  .monitoring-hero__text,
  .nonprofit-hero__text{
    max-width:100%;
    font-size:clamp(1rem, 4.2vw, 1.12rem);
    line-height:1.62;
  }

  .hero-actions,
  .residential-hero__actions,
  .commercial-hero__actions,
  .about-hero__actions,
  .alarm-hero__actions,
  .camera-hero__actions,
  .access-hero__actions,
  .emergency-hero__actions,
  .wiring-hero__actions,
  .monitoring-hero__actions,
  .nonprofit-hero__actions,
  .security-paths__cta-actions,
  .about-final-cta__actions{
    display:grid;
    grid-template-columns:1fr;
    align-items:stretch;
  }

  .btn,
  .residential-button,
  .commercial-button,
  .alarm-button,
  .camera-button,
  .access-button,
  .emergency-button,
  .wiring-button,
  .monitoring-button,
  .nonprofit-button,
  .security-paths__button,
  .services-overview__button,
  .site-footer__mini-cta{
    width:100%;
    min-height:var(--touch-target);
    white-space:normal;
  }

  .hero-card{
    min-height:clamp(260px, 74vw, 380px);
  }

  .hero-right .service-card-body,
  .service-card-body{
    grid-template-columns:minmax(0, 1fr);
  }

  .hero-right .service-left,
  .hero-right .service-image,
  .hero-right .service-card:nth-child(1) .service-image,
  .hero-right .service-card:nth-child(2) .service-image,
  .hero-right .service-card:nth-child(3) .service-image{
    width:100%;
    max-width:none;
  }

  .mini-features,
  .mini-features--verticals,
  .residential-hero__verticals,
  .commercial-hero__verticals,
  .services-overview__cards,
  .services-overview__trust-strip,
  .difference-section__right,
  .security-paths__cards,
  .security-paths__steps,
  .residential-setups__grid,
  .commercial-setups__grid,
  .alarm-concerns__grid,
  .camera-solutions__grid,
  .access-solutions__grid,
  .emergency-solutions__grid,
  .wiring-solutions__grid,
  .monitoring-solutions__grid,
  .blog-hero__cards,
  .blog-grid,
  .article-related__grid,
  .about-hero__trust-grid,
  .about-values-grid,
  .about-personal__values,
  .about-community__grid{
    grid-template-columns:minmax(0, 1fr);
  }

  .residential-setup-card,
  .commercial-setup-card,
  .service-card,
  .alarm-concern-card,
  .camera-solution-card,
  .access-card,
  .emergency-card,
  .wiring-card,
  .monitoring-card,
  .about-values-card,
  .about-personal__value-card,
  .about-community-card{
    max-width:100%;
  }

  .residential-setup-card__image,
  .commercial-setup-card__image,
  .product-banner-image{
    max-height:280px;
  }

  .alarm-hero__visual,
  .camera-hero__visual,
  .access-hero__media,
  .emergency-hero__media,
  .wiring-hero__media,
  .monitoring-hero__media{
    min-height:clamp(240px, 70vw, 340px);
    overflow:hidden;
  }

  .about-personal__media{
    max-height:520px;
  }

  .about-referral-model__inner{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
  }

  .about-referral-card strong{
    font-size:clamp(2.75rem, 14vw, 4rem);
    line-height:0.94;
  }

  .about-final-cta__content,
  .about-final-cta__actions,
  .about-final-cta__message{
    min-width:0;
  }

  .site-footer{
    padding-block:44px 24px;
  }

  .site-footer__inner{
    width:min(100% - 28px, var(--site-wide));
  }

  .site-footer__main,
  .site-footer__contact{
    grid-template-columns:minmax(0, 1fr);
    gap:28px;
  }

  .footer-logo-slot{
    width:min(260px, 72vw);
  }

  .site-footer__link,
  .site-footer__social-link,
  .site-footer__contact-list li{
    min-height:var(--touch-target);
  }
}

@media (max-width:430px){
  .container,
  .about-container,
  .blog-page__shell,
  .alarm-page-shell,
  .camera-page-shell,
  .access-page-shell,
  .emergency-page-shell,
  .wiring-page-shell,
  .monitoring-page-shell,
  .nonprofit-page-shell{
    width:min(100% - 24px, var(--site-wide));
    max-width:calc(100% - 24px);
  }

  .logo-link,
  .site-header.is-scrolled .logo-link{
    width:clamp(168px, 58vw, 230px);
  }

  .nav-logo,
  .site-header.is-scrolled .nav-logo{
    max-height:62px;
  }

  .hero-title,
  .hero h1,
  .hero-headline,
  .residential-hero__title,
  .commercial-hero__title,
  .about-hero__title,
  .blog-hero__title,
  .article-hero h1,
  .alarm-hero__title,
  .camera-hero h1,
  .access-hero__title,
  .emergency-hero__title,
  .wiring-hero__title,
  .monitoring-hero__title,
  .nonprofit-hero__title{
    font-size:clamp(2.25rem, 11.5vw, 3.25rem);
    letter-spacing:0.022em;
  }

  .about-personal__media{
    grid-template-columns:1fr;
    grid-template-rows:none;
    max-height:none;
  }

  .about-personal__image,
  .about-personal__image--portrait{
    min-height:180px;
    grid-row:auto;
  }

  .founder-timeline__item{
    grid-template-columns:44px minmax(0, 1fr);
    gap:10px;
  }

  .founder-timeline__marker{
    width:44px;
    height:44px;
    font-size:0.82rem;
  }

  .founder-timeline::before{
    left:22px;
  }

  .founder-timeline__item::before,
  .founder-timeline__item:nth-child(odd)::before,
  .founder-timeline__item:nth-child(even)::before{
    left:44px;
    top:22px;
    width:12px;
  }
}

@media (max-width:375px){
  .header-inner{
    gap:10px;
  }

  .logo-link,
  .site-header.is-scrolled .logo-link{
    width:clamp(156px, 56vw, 205px);
  }

  .mobile-nav-toggle{
    width:42px;
    height:42px;
    flex-basis:42px;
  }

  .btn,
  .residential-button,
  .commercial-button,
  .alarm-button,
  .camera-button,
  .access-button,
  .emergency-button,
  .wiring-button,
  .monitoring-button,
  .nonprofit-button{
    padding-inline:12px;
    font-size:clamp(0.95rem, 5vw, 1.1rem);
  }
}

/* ================================
Home Hero Responsive Refinement
================================ */
.local-line a{
  color:inherit;
  text-decoration:none;
  white-space:nowrap;
}

.local-line a:hover,
.local-line a:focus-visible{
  color:var(--logo-blue);
}

.hero-services-heading{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

.hero-services__list{
  display:flex;
  flex-direction:column;
  gap:16px;
  min-width:0;
}

@media (min-width:1320px) and (max-width:1390px){
  .site-header{
    height:auto;
    padding:14px 0;
  }

  .site-header.is-scrolled{
    height:auto;
    padding:10px 0;
  }

  .header-inner{
    flex-wrap:wrap;
    row-gap:14px;
  }

  .main-nav{
    order:3;
    flex:1 0 100%;
  }

  .main-nav > ul{
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:16px 24px;
  }

  .header-cta{
    margin-left:auto;
  }
}

@media (min-width:1100px) and (max-width:1319px){
  .hero-grid{
    grid-template-columns:minmax(430px, 0.9fr) minmax(280px, 0.64fr) minmax(220px, 0.48fr);
    gap:clamp(22px, 2vw, 30px);
  }

  .hero-right{
    grid-column:auto;
  }

  .hero-right .service-card{
    min-height:170px;
    padding:16px 16px 14px;
  }

  .hero-right .service-card-body{
    min-height:140px;
  }

  .hero-right .service-left{
    width:49%;
    min-width:104px;
  }

  .hero-right .hero-service-icon{
    width:58px;
    height:58px;
  }

  .hero-right .service-left h3{
    max-width:108px;
    font-size:21px;
  }

  .hero-right .learn-more{
    font-size:15px;
  }
}

@media (min-width:768px) and (max-width:1099px){
  .hero{
    padding-block:clamp(3rem, 6vw, 4.5rem);
  }

  .hero-grid{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(280px, 0.78fr);
    align-items:center;
    gap:clamp(1.5rem, 3.8vw, 2.4rem);
  }

  .hero-left,
  .hero-center,
  .hero-right{
    padding-block:0;
  }

  .hero-left{
    grid-column:1;
  }

  .hero-center{
    grid-column:2;
  }

  .hero-right{
    grid-column:1 / -1;
    margin-top:0.25rem;
  }

  .hero-card{
    min-height:0;
    max-height:520px;
    aspect-ratio:4 / 5;
  }

  .hero-services-heading{
    position:static;
    width:auto;
    height:auto;
    margin:0 0 0.85rem;
    overflow:visible;
    clip:auto;
    white-space:normal;
    color:var(--orange);
    font-family:var(--font-heading);
    font-size:clamp(1rem, 2.3vw, 1.25rem);
    font-weight:800;
    letter-spacing:0.1em;
    line-height:1;
    text-transform:uppercase;
  }

  .hero-services__list{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
  }

  .hero-right .service-card{
    min-height:158px;
    padding:16px 14px 14px;
  }

  .hero-right .service-card-body{
    min-height:126px;
  }

  .hero-right .service-left{
    width:56%;
    min-width:0;
  }

  .hero-right .hero-service-icon{
    width:52px;
    height:52px;
    margin-bottom:7px;
  }

  .hero-right .service-left h3{
    max-width:105px;
    font-size:clamp(1.18rem, 2.5vw, 1.35rem);
  }

  .hero-right .learn-more{
    font-size:0.9rem;
  }

  .hero-right .service-image,
  .hero-right .service-card:nth-child(1) .service-image,
  .hero-right .service-card:nth-child(2) .service-image,
  .hero-right .service-card:nth-child(3) .service-image{
    right:-16px;
    width:58%;
    height:82%;
    max-width:176px;
  }

  .hero-right .service-image img,
  .hero-right .service-card:nth-child(1) .service-image img,
  .hero-right .service-card:nth-child(2) .service-image img,
  .hero-right .service-card:nth-child(3) .service-image img{
    transform:translateX(24px) scale(1.08);
  }
}

@media (max-width:767px){
  .hero{
    padding-block:clamp(2.75rem, 9vw, 4.5rem);
  }

  .hero-grid{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:clamp(1.35rem, 5vw, 2rem);
  }

  .hero-left,
  .hero-center,
  .hero-right{
    padding-block:0;
    min-width:0;
  }

  .hero-title,
  .hero h1,
  .hero-headline{
    max-width:8.3em;
    margin-bottom:1rem;
    font-size:clamp(2.85rem, 15vw, 4.35rem);
    line-height:0.9;
    letter-spacing:0.026em;
    text-wrap:balance;
  }

  .hero-lead{
    margin-bottom:1.25rem;
    font-size:clamp(1rem, 4.15vw, 1.12rem);
    line-height:1.55;
  }

  .hero-actions{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:0.75rem;
    margin-bottom:1.05rem;
  }

  .hero-actions .residential-button{
    width:100%;
    min-height:48px;
    justify-content:center;
  }

  .local-line{
    max-width:100%;
    margin-bottom:1.05rem;
    font-size:clamp(0.98rem, 4vw, 1.08rem);
    line-height:1.42;
  }

  .local-line__dash{
    display:none;
  }

  .local-line__call{
    display:block;
  }

  .local-line a{
    color:var(--orange);
    font-weight:800;
  }

  .hero .mini-features--verticals{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:0.65rem;
    max-width:none;
  }

  .hero .mini-features--verticals li{
    min-width:0;
    min-height:44px;
    padding:7px 8px;
    gap:8px;
    border:1px solid rgba(3,147,202,0.32);
    border-radius:9px;
    background:rgba(255,255,255,0.025);
  }

  .hero .mini-features--verticals .hero-icon{
    width:38px;
    height:38px;
    flex:0 0 38px;
  }

  .hero .mini-features--verticals .hero-icon svg,
  .hero .mini-features--verticals .hero-icon .category-icon,
  .hero .mini-features--verticals .hero-icon .category-icon--commercial,
  .hero .mini-features--verticals .hero-icon .maple-icon,
  .hero .mini-features--verticals .hero-icon .nonprofit-icon{
    width:23px;
    height:23px;
  }

  .hero .mini-title{
    min-width:0;
    color:rgba(255,255,255,0.82);
    font-size:clamp(0.72rem, 3.3vw, 0.82rem);
    line-height:1.12;
    overflow-wrap:break-word;
  }

  .hero-card{
    min-height:0;
    max-height:420px;
    aspect-ratio:1 / 1.08;
    border-radius:12px;
  }

  .hero-card-inner{
    padding:12px;
  }

  .hero-badge{
    max-width:calc(100% - 4px);
    gap:8px;
    padding:8px 9px;
    border-radius:7px;
  }

  .hero-badge-logo{
    width:34px;
    height:40px;
    flex:0 0 34px;
    padding:3px;
  }

  .badge-text{
    min-width:0;
    font-size:12px;
    line-height:1.2;
  }

  .hero-services-heading{
    position:static;
    width:auto;
    height:auto;
    margin:0 0 0.75rem;
    overflow:visible;
    clip:auto;
    white-space:normal;
    color:var(--orange);
    font-family:var(--font-heading);
    font-size:1rem;
    font-weight:800;
    letter-spacing:0.1em;
    line-height:1;
    text-transform:uppercase;
  }

  .hero-services__list{
    display:flex;
    flex-direction:row;
    gap:0.875rem;
    margin-inline:-2px;
    padding:2px 2px 0.6rem;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-padding-inline:2px;
    scroll-snap-type:x mandatory;
    scrollbar-width:thin;
  }

  .hero-right .service-card{
    flex:0 0 min(82%, 320px);
    max-width:320px;
    min-height:148px;
    padding:14px 14px 13px;
    scroll-snap-align:start;
  }

  .hero-right .service-card:hover,
  .hero-right .service-card:focus-visible{
    transform:translateY(-2px);
  }

  .hero-right .service-card-body{
    min-height:118px;
  }

  .hero-right .service-left{
    width:55%;
    min-width:0;
  }

  .hero-right .hero-service-icon{
    width:46px;
    height:46px;
    margin-bottom:7px;
  }

  .hero-right .service-left h3{
    max-width:98px;
    margin-bottom:8px;
    font-size:1.2rem;
  }

  .hero-right .learn-more{
    font-size:0.88rem;
  }

  .hero-right .learn-more__icon{
    width:16px;
    height:16px;
    flex-basis:16px;
  }

  .hero-right .service-image,
  .hero-right .service-card:nth-child(1) .service-image,
  .hero-right .service-card:nth-child(2) .service-image,
  .hero-right .service-card:nth-child(3) .service-image{
    right:-16px;
    width:58%;
    height:82%;
    max-width:168px;
  }

  .hero-right .service-image img,
  .hero-right .service-card:nth-child(1) .service-image img,
  .hero-right .service-card:nth-child(2) .service-image img,
  .hero-right .service-card:nth-child(3) .service-image img{
    transform:translateX(24px) scale(1.08);
  }
}

@media (min-width:480px) and (max-width:767px){
  .hero-right .service-card{
    flex-basis:min(48%, 320px);
  }
}

@media (max-width:360px){
  .hero .mini-features--verticals{
    gap:0.55rem;
  }

  .hero .mini-features--verticals li{
    padding-inline:7px;
  }

  .hero .mini-features--verticals .hero-icon{
    width:34px;
    height:34px;
    flex-basis:34px;
  }

  .hero-title,
  .hero h1,
  .hero-headline{
    font-size:clamp(2.55rem, 14.2vw, 3.05rem);
  }
}

/* Mobile-only home hero background treatment */
.hero-right .hero-low-voltage-card{
  display:none;
}

@media (min-width:768px) and (max-width:1099px){
  .hero-right .hero-low-voltage-card{
    display:block;
  }

  .hero-services__list{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .hero-right .service-card{
    min-height:132px;
  }

  .hero-right .service-card-body{
    min-height:100px;
  }

  .hero-right .service-left{
    width:100%;
  }

  .hero-right .hero-service-icon{
    width:46px;
    height:46px;
  }

  .hero-right .hero-service-icon img{
    width:100%;
    height:100%;
    object-fit:contain;
    transform:none;
  }

  .hero-right .service-left h3{
    max-width:12rem;
  }

  .hero-right .service-image,
  .hero-right .service-card:nth-child(1) .service-image,
  .hero-right .service-card:nth-child(2) .service-image,
  .hero-right .service-card:nth-child(3) .service-image,
  .hero-right .hero-low-voltage-card .service-image{
    display:none;
  }
}

@media (min-width:960px) and (max-width:1099px){
  .hero-services__list{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
}

@media (max-width:767px){
  .hero{
    position:relative;
    overflow:hidden;
    padding:clamp(2.75rem, 8vw, 4.5rem) 0 clamp(3rem, 10vw, 5rem);
    background:#050505;
  }

  .hero::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:
      radial-gradient(circle at 76% 20%, rgba(249,115,22,0.18), transparent 28%),
      linear-gradient(
        180deg,
        rgba(0,0,0,0.78) 0%,
        rgba(0,0,0,0.66) 32%,
        rgba(0,0,0,0.84) 68%,
        rgba(0,0,0,0.96) 100%
      );
  }

  .hero-grid{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    width:min(100% - 2rem, 680px);
    max-width:680px;
    margin-inline:auto;
    padding-block:0;
  }

  .hero-left{
    display:contents;
  }

  .hero-left > .eyebrow,
  .hero-headline,
  .hero-lead,
  .hero-actions,
  .local-line,
  .hero-right,
  .hero .mini-features--verticals{
    position:relative;
    z-index:2;
  }

  .hero-left > .eyebrow{
    order:1;
    margin-bottom:0.95rem;
  }

  .hero-title,
  .hero h1,
  .hero-headline{
    order:2;
    max-width:9.2em;
    margin-bottom:1rem;
    font-size:clamp(2.55rem, 12.6vw, 4rem);
    line-height:0.9;
    letter-spacing:0.012em;
    text-wrap:balance;
  }

  .hero-lead{
    order:3;
    max-width:36rem;
    margin-bottom:1.25rem;
    color:rgba(255,255,255,0.9);
    font-size:clamp(1rem, 4vw, 1.12rem);
    line-height:1.48;
  }

  .hero-actions{
    order:4;
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:0.85rem;
    margin-bottom:1rem;
  }

  .hero-actions .residential-button{
    width:100%;
    min-height:52px;
    justify-content:center;
  }

  .local-line{
    order:5;
    margin-bottom:0;
    color:rgba(255,255,255,0.72);
    font-size:clamp(0.98rem, 4vw, 1.08rem);
    line-height:1.42;
  }

  .local-line__dash{
    display:inline;
  }

  .local-line__call{
    display:inline;
  }

  .local-line a{
    color:var(--orange);
    font-weight:800;
  }

  .hero-center{
    position:absolute;
    inset:0;
    z-index:0;
    min-width:0;
    padding:0;
    pointer-events:none;
  }

  .hero-card{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:100%;
    max-height:none;
    aspect-ratio:auto;
    border:0;
    border-radius:0;
    box-shadow:none;
    background:#050505;
  }

  .hero-card::before{
    display:none;
  }

  .hero-card-media,
  .hero-card-video{
    width:100%;
    height:100%;
  }

  .hero-card-video{
    object-fit:cover;
    object-position:center 34%;
    opacity:0.74;
  }

  .hero-card-inner{
    display:none;
  }

  .hero-right{
    order:6;
    display:block;
    margin-top:1.35rem;
  }

  .hero-services-heading{
    display:none;
  }

  .hero-services__list{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:0.85rem;
    margin:0;
    padding:0;
    overflow:visible;
    scroll-snap-type:none;
  }

  .hero-right .hero-low-voltage-card{
    display:block;
  }

  .hero-right .service-card{
    display:block;
    flex:none;
    width:auto;
    max-width:none;
    min-height:112px;
    padding:0.95rem;
    border:1px solid rgba(255,255,255,0.16);
    border-radius:14px;
    background:rgba(8,10,11,0.72);
    backdrop-filter:blur(8px);
    scroll-snap-align:none;
  }

  .hero-right .service-card:hover,
  .hero-right .service-card:focus-visible{
    transform:translateY(-2px);
  }

  .hero-right .service-card-body{
    display:block;
    min-height:0;
  }

  .hero-right .service-left{
    width:100%;
    min-width:0;
  }

  .hero-right .hero-service-icon{
    --hero-service-art:none;
    --hero-service-art-size:38px auto;
    --hero-service-hex-size:54px;
    position:relative;
    isolation:isolate;
    width:50px;
    height:50px;
    margin-bottom:0.78rem;
    color:var(--orange);
    overflow:visible;
  }

  .hero-right .hero-service-icon::before,
  .hero-right .hero-service-icon::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%, -50%);
    clip-path:polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
    pointer-events:none;
  }

  .hero-right .hero-service-icon::before{
    width:var(--hero-service-hex-size);
    height:var(--hero-service-hex-size);
    background:var(--orange);
    z-index:0;
  }

  .hero-right .hero-service-icon::after{
    width:calc(var(--hero-service-hex-size) - 4px);
    height:calc(var(--hero-service-hex-size) - 4px);
    background:
      var(--hero-service-art) center / var(--hero-service-art-size) no-repeat,
      rgba(8,10,11,0.86);
    z-index:1;
  }

  .hero-right .hero-service-icon img{
    display:none;
  }

  .hero-right .service-card:nth-child(1) .hero-service-icon{
    --hero-service-art:url("assets/services-overview-icon-camera.png");
    --hero-service-art-size:42px auto;
  }

  .hero-right .service-card:nth-child(2) .hero-service-icon{
    --hero-service-art:url("assets/services-overview-icon-alarm.png");
    --hero-service-art-size:43px auto;
  }

  .hero-right .service-card:nth-child(3) .hero-service-icon{
    --hero-service-art:url("assets/services-overview-icon-access.png");
    --hero-service-art-size:auto 42px;
  }

  .hero-right .hero-low-voltage-card .hero-service-icon{
    --hero-service-art:url("assets/services-overview-icon-network.png");
    --hero-service-art-size:48px auto;
  }

  .hero-right .service-left h3{
    max-width:8.5rem;
    margin-bottom:0.55rem;
    font-size:clamp(1.02rem, 4.8vw, 1.25rem);
    line-height:1;
  }

  .hero-right .service-card:nth-child(2) .service-left h3{
    max-width:5.8rem;
  }

  .hero-right .learn-more{
    font-size:0.82rem;
  }

  .hero-right .learn-more__icon{
    width:14px;
    height:14px;
    flex-basis:14px;
  }

  .hero-right .service-image,
  .hero-right .service-card:nth-child(1) .service-image,
  .hero-right .service-card:nth-child(2) .service-image,
  .hero-right .service-card:nth-child(3) .service-image,
  .hero-right .hero-low-voltage-card .service-image{
    display:none;
  }

  .hero .mini-features--verticals{
    order:7;
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:0.85rem;
    max-width:none;
    margin-top:1.15rem;
  }

  .hero .mini-features--verticals li{
    min-width:0;
    min-height:86px;
    padding:0.85rem;
    gap:0.7rem;
    align-items:center;
    border:1px solid rgba(3,147,202,0.36);
    border-radius:14px;
    background:rgba(3,147,202,0.1);
    backdrop-filter:blur(8px);
  }

  .hero .mini-features--verticals .hero-icon{
    width:38px;
    height:38px;
    flex:0 0 38px;
  }

  .hero .mini-title{
    color:rgba(255,255,255,0.86);
    font-size:clamp(0.72rem, 3.25vw, 0.84rem);
  }
}

@media (max-width:359px){
  .hero-title,
  .hero h1,
  .hero-headline{
    max-width:100%;
    font-size:clamp(2.28rem, 11.4vw, 2.55rem);
    letter-spacing:0.01em;
  }

  .hero-services__list{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .hero .mini-features--verticals li{
    padding:0.75rem 0.62rem;
    gap:0.45rem;
  }

  .hero .mini-features--verticals .hero-icon{
    width:34px;
    height:34px;
    flex-basis:34px;
  }

  .hero .mini-title{
    font-size:0.66rem;
    letter-spacing:0.03em;
    overflow-wrap:normal;
    word-break:normal;
  }
}

/* Mobile/tablet responsive sizing correction layer. Desktop styles stay untouched. */
@media (min-width:768px) and (max-width:1099px){
  :root{
    --tablet-section-y:clamp(3rem, 5.4vw, 4.5rem);
    --tablet-section-y-tight:clamp(2.35rem, 4.6vw, 3.55rem);
    --tablet-card-pad:clamp(1.05rem, 2.2vw, 1.35rem);
    --tablet-card-radius:12px;
    --tablet-icon-size:clamp(2.75rem, 5.4vw, 3.5rem);
  }

  .services-overview,
  .difference-section,
  .security-paths,
  .home-planning,
  .business-planning,
  .residential-setups,
  .estimate-section,
  .commercial-setups,
  .commercial-estimate-section,
  .alarm-details,
  .alarm-comparison,
  .alarm-faq,
  .alarm-estimate,
  .camera-solutions,
  .access-solutions,
  .emergency-solutions,
  .wiring-solutions,
  .monitoring-solutions,
  .founder-timeline-section,
  .about-personal,
  .about-community,
  .about-referral-model,
  .blog-content,
  .blog-cta{
    padding-block:var(--tablet-section-y);
  }

  .alarm-value-strip,
  .camera-value-strip,
  .access-value-strip,
  .emergency-value-strip,
  .wiring-value-strip,
  .monitoring-value-strip{
    padding-block:var(--tablet-section-y-tight);
  }

  .services-overview__header,
  .security-paths__header,
  .security-paths__process-header,
  .residential-section-header,
  .commercial-section-header,
  .alarm-section-header,
  .founder-timeline-section__header,
  .about-personal__header,
  .nonprofit-section__header{
    margin-bottom:clamp(1.35rem, 3vw, 2.15rem);
  }

  .services-overview__header h2,
  .security-paths__title,
  .security-paths__process-title,
  .residential-section-header h2,
  .commercial-section-header h2,
  .alarm-section-header h2,
  .founder-timeline-section__title,
  .about-personal__title,
  .about-community__title,
  .about-referral-model h2{
    font-size:clamp(2.35rem, 5.6vw, 3.75rem);
    line-height:0.95;
  }

  .home-planning__grid,
  .business-planning__grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:1rem;
  }

  .home-planning-card,
  .business-planning-card{
    min-height:0;
    padding:var(--tablet-card-pad);
  }

  .home-planning-card__icon,
  .home-planning-card__svg,
  .business-planning-card__icon,
  .business-planning-card__svg,
  .business-planning-card__image-icon{
    width:var(--tablet-icon-size);
    height:var(--tablet-icon-size);
  }

  .business-planning-card__icon{
    --planning-icon-size:var(--tablet-icon-size);
  }

  .home-planning-card__title,
  .business-planning-card__title{
    font-size:clamp(1.25rem, 2.9vw, 1.65rem);
  }

  .home-planning-card__text,
  .business-planning-card__text{
    font-size:0.96rem;
  }

  .services-overview__cards,
  .residential-setups__grid,
  .commercial-setups__grid,
  .alarm-concerns__grid,
  .camera-solutions__grid,
  .access-solutions__grid,
  .emergency-solutions__grid,
  .wiring-solutions__grid,
  .monitoring-solutions__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:clamp(0.9rem, 2.2vw, 1.25rem);
  }

  .services-overview .service-card{
    min-height:0;
    padding:var(--tablet-card-pad);
  }

  .services-overview .service-card__icon--business-card{
    width:min(88px, 18vw);
    height:76px;
  }

  .services-overview .service-card p{
    min-height:0;
  }

  .services-overview__trust-strip,
  .about-values-grid,
  .about-community__grid,
  .about-personal__values,
  .blog-hero__cards{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:clamp(0.75rem, 1.8vw, 1rem);
  }

  .trust-item{
    min-height:0;
    padding:0.85rem 1rem;
    border-left:0;
    border-top:1px solid rgba(255,255,255,0.22);
  }

  .trust-item:nth-child(-n+2){
    border-top:0;
  }

  .residential-setup-card__image,
  .residential-image-slot,
  .commercial-setup-card__image,
  .commercial-image-slot{
    height:clamp(205px, 24vw, 250px);
    min-height:clamp(205px, 24vw, 250px);
  }

  .residential-setup-card__body,
  .commercial-setup-card__body{
    padding:1.15rem;
  }

  .alarm-concern-card,
  .alarm-concern-card__content,
  .camera-solution-card,
  .camera-solution-card__content,
  .access-card,
  .access-card__content,
  .emergency-card,
  .emergency-card__content,
  .wiring-card,
  .wiring-card__content,
  .monitoring-card,
  .monitoring-card__content{
    min-height:clamp(235px, 30vw, 275px);
  }

  .alarm-concern-card__content,
  .camera-solution-card__content,
  .access-card__content,
  .emergency-card__content,
  .wiring-card__content,
  .monitoring-card__content{
    padding:1.1rem;
  }

  .alarm-concern-card__icon,
  .camera-solution-card__icon,
  .access-card__icon,
  .emergency-card__icon,
  .wiring-card__icon,
  .monitoring-card__icon{
    width:var(--tablet-icon-size);
    height:var(--tablet-icon-size);
    margin-bottom:0.85rem;
  }

  .alarm-value-item,
  .camera-value-item,
  .access-value-strip__item,
  .emergency-value-strip__item,
  .wiring-value-strip__item,
  .monitoring-value-strip__item{
    grid-template-columns:58px minmax(0, 1fr);
    gap:1rem;
    padding:1.1rem;
  }

  .alarm-value-item__icon,
  .camera-value-item__icon,
  .access-value-strip__icon,
  .emergency-value-strip__icon,
  .wiring-value-strip__icon,
  .monitoring-value-strip__icon{
    width:54px;
    height:54px;
  }

  .service-cta-strip__inner,
  .alarm-cta-band__inner,
  .camera-cta-band__inner,
  .emergency-cta-strip__inner,
  .wiring-cta-strip__inner,
  .monitoring-cta-strip__inner{
    padding:1.1rem;
  }

  .about-personal__media{
    min-height:clamp(420px, 54vw, 500px);
  }

  .founder-timeline__media{
    height:clamp(150px, 22vw, 190px);
    min-height:0;
  }

  .founder-timeline__media img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .about-referral-model__photo,
  .about-referral-card{
    min-height:300px;
  }

  .about-final-cta__icon{
    width:76px;
    height:76px;
  }
}

@media (max-width:767px){
  :root{
    --mobile-gutter:clamp(0.875rem, 4vw, 1.25rem);
    --mobile-section-y:clamp(2.25rem, 8vw, 3.75rem);
    --mobile-section-y-tight:clamp(1.75rem, 6vw, 2.75rem);
    --mobile-card-pad:clamp(0.95rem, 4vw, 1.25rem);
    --mobile-card-pad-sm:clamp(0.75rem, 3vw, 1rem);
    --mobile-card-radius:14px;
    --mobile-icon-size:clamp(2rem, 9vw, 3rem);
    --mobile-icon-size-sm:clamp(1.5rem, 7vw, 2.25rem);
  }

  .container,
  .about-container,
  .blog-page__shell,
  .alarm-page-shell,
  .camera-page-shell,
  .access-page-shell,
  .emergency-page-shell,
  .wiring-page-shell,
  .monitoring-page-shell,
  .home-planning__inner,
  .residential-setups__inner,
  .estimate-section__inner,
  .commercial-setups__inner,
  .commercial-estimate-section__inner{
    width:min(calc(100% - var(--mobile-gutter) - var(--mobile-gutter)), var(--site-wide));
    max-width:calc(100% - var(--mobile-gutter) - var(--mobile-gutter));
  }

  main h1,
  .hero-title,
  .hero h1,
  .hero-headline,
  .residential-hero__title,
  .commercial-hero__title,
  .about-hero__title,
  .blog-hero__title,
  .article-hero h1,
  .alarm-hero__title,
  .camera-hero h1,
  .access-hero__title,
  .emergency-hero__title,
  .wiring-hero__title,
  .monitoring-hero__title{
    font-size:clamp(2.35rem, 11vw, 3.65rem);
    line-height:0.92;
    letter-spacing:0.018em;
    text-wrap:balance;
  }

  main h2,
  .services-overview__header h2,
  .security-paths__title,
  .security-paths__process-title,
  .residential-section-header h2,
  .commercial-section-header h2,
  .alarm-section-header h2,
  .founder-timeline-section__title,
  .about-personal__title,
  .about-community__title,
  .about-referral-model h2,
  .about-final-cta__title,
  .blog-posts__header h2,
  .article-related h2{
    font-size:clamp(1.85rem, 8.2vw, 2.8rem);
    line-height:0.96;
    letter-spacing:0.025em;
    text-wrap:balance;
  }

  main h3,
  .services-overview .service-card h3,
  .home-planning-card__title,
  .business-planning-card__title,
  .residential-setup-card__title,
  .commercial-setup-card__title,
  .alarm-concern-card h3,
  .camera-solution-card h3,
  .access-card__title,
  .emergency-card__title,
  .wiring-card__title,
  .monitoring-card__title{
    font-size:clamp(1.12rem, 4.9vw, 1.48rem);
    line-height:1;
  }

  .hero-lead,
  .residential-hero__text,
  .commercial-hero__text,
  .about-hero__text,
  .blog-hero__text,
  .alarm-hero__text,
  .camera-hero__content > p:not(.camera-hero__eyebrow),
  .access-hero__text,
  .emergency-hero__text,
  .wiring-hero__text,
  .monitoring-hero__text,
  .services-overview__header p:not(.services-overview__eyebrow),
  .security-paths__intro,
  .security-paths__process-intro,
  .about-personal__text,
  .about-community__intro,
  .about-referral-model__copy p{
    font-size:clamp(0.95rem, 3.7vw, 1.05rem);
    line-height:1.5;
  }

  .services-overview,
  .difference-section,
  .security-paths,
  .home-planning,
  .business-planning,
  .residential-setups,
  .estimate-section,
  .commercial-setups,
  .commercial-estimate-section,
  .alarm-details,
  .alarm-comparison,
  .alarm-faq,
  .alarm-estimate,
  .camera-solutions,
  .access-solutions,
  .emergency-solutions,
  .wiring-solutions,
  .monitoring-solutions,
  .founder-timeline-section,
  .about-personal,
  .about-community,
  .about-referral-model,
  .blog-content,
  .blog-cta{
    padding-block:var(--mobile-section-y);
  }

  .alarm-value-strip,
  .camera-value-strip,
  .access-value-strip,
  .emergency-value-strip,
  .wiring-value-strip,
  .monitoring-value-strip,
  .about-final-cta{
    padding-block:var(--mobile-section-y-tight);
  }

  .services-overview__header,
  .security-paths__header,
  .security-paths__process-header,
  .residential-section-header,
  .commercial-section-header,
  .alarm-section-header,
  .founder-timeline-section__header,
  .about-personal__header,
  .about-community__inner > header{
    margin-bottom:clamp(1.2rem, 5vw, 1.9rem);
  }

  .home-planning__grid,
  .business-planning__grid,
  .services-overview__cards,
  .residential-setups__grid,
  .commercial-setups__grid,
  .alarm-concerns__grid,
  .camera-solutions__grid,
  .access-solutions__grid,
  .emergency-solutions__grid,
  .wiring-solutions__grid,
  .monitoring-solutions__grid,
  .alarm-included-grid,
  .alarm-process__grid,
  .blog-hero__cards,
  .article-related__grid,
  .about-values-grid,
  .about-personal__values,
  .about-community__grid{
    gap:0.85rem;
  }

  .home-planning-card,
  .business-planning-card,
  .residential-setup-card,
  .commercial-setup-card,
  .services-overview .service-card,
  .difference-card,
  .path-card,
  .process-card,
  .alarm-concern-card,
  .camera-solution-card,
  .access-card,
  .emergency-card,
  .wiring-card,
  .monitoring-card,
  .alarm-option-card,
  .alarm-process article,
  .about-values-card,
  .about-personal__value-card,
  .about-community-card,
  .about-referral-card,
  .blog-hero__card,
  .blog-card,
  .blog-sidebar__panel{
    min-height:0;
    border-radius:var(--mobile-card-radius);
  }

  .home-planning-card,
  .business-planning-card,
  .services-overview .service-card,
  .difference-card,
  .path-card,
  .process-card,
  .alarm-option-card,
  .alarm-process article,
  .about-values-card,
  .about-personal__value-card,
  .about-community-card,
  .blog-hero__card,
  .blog-sidebar__panel{
    padding:var(--mobile-card-pad);
  }

  .home-planning-card,
  .business-planning-card{
    text-align:left;
  }

  .home-planning-card__icon,
  .business-planning-card__icon{
    width:var(--mobile-icon-size);
    height:var(--mobile-icon-size);
    margin:0 0 0.65rem;
  }

  .home-planning-card__svg,
  .business-planning-card__svg,
  .business-planning-card__image-icon{
    width:var(--mobile-icon-size);
    height:var(--mobile-icon-size);
  }

  .business-planning-card__icon{
    --planning-icon-size:var(--mobile-icon-size);
  }

  .home-planning-card__title,
  .business-planning-card__title,
  .residential-setup-card__title,
  .commercial-setup-card__title{
    margin-bottom:0.45rem;
  }

  .home-planning-card__text,
  .business-planning-card__text,
  .residential-setup-card__text,
  .commercial-setup-card__text,
  .services-overview .service-card p,
  .alarm-concern-card p,
  .camera-solution-card p,
  .access-card__text,
  .emergency-card__text,
  .wiring-card__text,
  .monitoring-card__text{
    font-size:clamp(0.88rem, 3.4vw, 0.98rem);
    line-height:1.38;
  }

  .residential-setup-card__image,
  .residential-image-slot,
  .commercial-setup-card__image,
  .commercial-image-slot{
    height:clamp(132px, 42vw, 210px);
    min-height:clamp(132px, 42vw, 210px);
  }

  .residential-setup-card__body,
  .commercial-setup-card__body{
    padding:var(--mobile-card-pad);
  }

  .residential-setup-card__text,
  .commercial-setup-card__text{
    margin-bottom:0.75rem;
  }

  .residential-setup-card__list,
  .commercial-setup-card__list,
  .service-card__list{
    gap:0.45rem;
  }

  .residential-setup-card__list li,
  .commercial-setup-card__list li,
  .service-card__list li{
    padding-left:1.35rem;
    font-size:0.86rem;
    line-height:1.28;
  }

  .residential-setup-card__list li::before,
  .residential-setup-card__list li::after,
  .commercial-setup-card__list li::before,
  .commercial-setup-card__list li::after,
  .service-card__list li::before,
  .service-card__list li::after{
    width:17px;
    height:17px;
  }

  .services-overview .service-card{
    display:flex;
    min-height:0;
  }

  .services-overview .service-card__topline{
    gap:0.55rem;
    margin-bottom:0;
  }

  .services-overview .service-card__icon--business-card{
    width:clamp(3.2rem, 14vw, 4.25rem);
    height:clamp(2.85rem, 12vw, 3.75rem);
  }

  .services-overview__cards .service-card:nth-child(4) .service-card__icon--business-card{
    width:clamp(5.5rem, 27vw, 8rem);
    height:clamp(4.4rem, 19vw, 5.75rem);
    margin-bottom:0;
  }

  .services-overview .service-card h3{
    margin:0.6rem 0 0.4rem;
  }

  .services-overview__cards .service-card:nth-child(4) h3{
    margin-top:0.35rem;
  }

  .service-card__divider{
    margin:0.8rem 0 0.65rem;
  }

  .service-card__badge{
    padding:0.45rem 0.55rem;
    font-size:0.72rem;
  }

  .service-card__link{
    gap:0.45rem;
    padding-top:0.75rem;
    font-size:0.98rem;
  }

  .service-card__learn-icon{
    width:18px;
    height:18px;
    flex-basis:18px;
  }

  .services-overview__trust-strip,
  .residential-bottom-trust,
  .commercial-bottom-trust{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:0.7rem;
  }

  .services-overview__trust-strip{
    padding:0;
    background:transparent;
    box-shadow:none;
  }

  .trust-item,
  .residential-bottom-trust__item,
  .commercial-bottom-trust__item{
    min-height:0;
    padding:var(--mobile-card-pad-sm);
    border:1px solid rgba(255,255,255,0.16);
    border-radius:var(--mobile-card-radius);
    background:rgba(255,255,255,0.045);
  }

  .trust-item h3,
  .residential-bottom-trust__text,
  .commercial-bottom-trust__text{
    font-size:clamp(0.78rem, 3.2vw, 0.9rem);
    line-height:1.16;
  }

  .alarm-concern-card,
  .alarm-concern-card__content,
  .camera-solution-card,
  .camera-solution-card__content,
  .access-card,
  .access-card__content,
  .emergency-card,
  .emergency-card__content,
  .wiring-card,
  .wiring-card__content,
  .monitoring-card,
  .monitoring-card__content{
    min-height:clamp(220px, 56vw, 270px);
  }

  .alarm-concern-card__content,
  .camera-solution-card__content,
  .access-card__content,
  .emergency-card__content,
  .wiring-card__content,
  .monitoring-card__content{
    padding:var(--mobile-card-pad);
  }

  .alarm-concern-card__icon,
  .camera-solution-card__icon,
  .access-card__icon,
  .emergency-card__icon,
  .wiring-card__icon,
  .monitoring-card__icon,
  .alarm-value-item__icon,
  .camera-value-item__icon,
  .access-value-strip__icon,
  .emergency-value-strip__icon,
  .wiring-value-strip__icon,
  .monitoring-value-strip__icon,
  .service-cta-strip__icon,
  .alarm-cta-band__icon,
  .camera-cta-band__icon,
  .emergency-cta-strip__icon,
  .wiring-cta-strip__icon,
  .monitoring-cta-strip__icon,
  .about-values-card__icon,
  .about-community-card__icon{
    width:var(--mobile-icon-size);
    height:var(--mobile-icon-size);
    flex-basis:var(--mobile-icon-size);
    margin-bottom:0.7rem;
  }

  .alarm-value-item,
  .camera-value-item,
  .access-value-strip__item,
  .emergency-value-strip__item,
  .wiring-value-strip__item,
  .monitoring-value-strip__item{
    grid-template-columns:var(--mobile-icon-size) minmax(0, 1fr);
    gap:0.8rem;
    padding:var(--mobile-card-pad);
  }

  .alarm-value-item h2,
  .camera-value-item h2,
  .access-value-strip__title,
  .emergency-value-strip__title,
  .wiring-value-strip__title,
  .monitoring-value-strip__title{
    font-size:clamp(1.1rem, 4.4vw, 1.35rem);
  }

  .service-cta-strip__inner,
  .alarm-cta-band__inner,
  .camera-cta-band__inner,
  .emergency-cta-strip__inner,
  .wiring-cta-strip__inner,
  .monitoring-cta-strip__inner{
    gap:0.9rem;
    padding:var(--mobile-card-pad);
  }

  .service-cta-strip__message,
  .alarm-cta-band__copy,
  .camera-cta-band__copy,
  .emergency-cta-strip__message,
  .wiring-cta-strip__message,
  .monitoring-cta-strip__message{
    gap:0.85rem;
  }

  .btn,
  .residential-button,
  .commercial-button,
  .alarm-button,
  .camera-button,
  .access-button,
  .emergency-button,
  .wiring-button,
  .monitoring-button,
  .services-overview__button,
  .security-paths__button,
  .difference-section__button,
  .site-footer__mini-cta,
  .about-button,
  .blog-button{
    min-height:48px;
    padding:0.82rem 1rem;
    font-size:clamp(0.9rem, 3.6vw, 1rem);
  }

  .about-personal__media{
    grid-template-columns:1.05fr 0.95fr;
    grid-template-rows:repeat(3, minmax(0, 1fr));
    height:clamp(320px, 88vw, 430px);
    max-height:430px;
    min-height:0;
    padding:var(--mobile-card-pad-sm);
    gap:0.6rem;
  }

  .about-personal__image,
  .about-personal__image--portrait{
    min-height:0;
    grid-row:auto;
  }

  .about-personal__image--portrait{
    grid-row:1 / span 2;
  }

  .founder-timeline{
    gap:0.65rem;
    margin-top:0.65rem;
  }

  .founder-timeline__item{
    gap:0.65rem;
  }

  .founder-timeline__media{
    height:clamp(118px, 34vw, 150px);
    min-height:0;
    max-height:150px;
  }

  .founder-timeline__media img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .founder-timeline__content{
    padding:var(--mobile-card-pad);
  }

  .founder-timeline__year{
    margin-bottom:0.4rem;
    padding:4px 8px;
    font-size:0.78rem;
  }

  .founder-timeline__label{
    margin-bottom:0.42rem;
    font-size:0.66rem;
  }

  .founder-timeline__content p:not(.founder-timeline__year):not(.founder-timeline__label){
    margin-top:0.48rem;
    font-size:0.92rem;
    line-height:1.42;
  }

  .about-referral-model__inner{
    gap:0.95rem;
  }

  .about-referral-model__photo{
    min-height:0;
    max-height:280px;
    aspect-ratio:16 / 10;
  }

  .about-referral-card{
    min-height:0;
    padding:var(--mobile-card-pad);
  }

  .about-referral-card strong{
    font-size:clamp(2.35rem, 12vw, 3.55rem);
    line-height:0.92;
  }

  .about-referral-card span{
    margin:0.85rem 0 0.65rem;
    padding:0.45rem 0.8rem;
  }

  .about-referral-card small{
    margin-top:0.75rem;
    padding-top:0.75rem;
  }

  .about-final-cta__inner{
    gap:0.95rem;
    padding:var(--mobile-card-pad);
  }

  .about-final-cta__icon{
    width:var(--mobile-icon-size);
    height:var(--mobile-icon-size);
  }

  .about-final-cta__message{
    padding-left:0.9rem;
  }

  .blog-hero__card{
    grid-template-columns:38px minmax(0, 1fr);
  }

  .blog-hero__card span{
    width:36px;
    height:36px;
  }

  .blog-card__image,
  .blog-card__image-placeholder,
  .article-hero__image{
    min-height:clamp(170px, 52vw, 240px);
  }

  .blog-card__body{
    padding:var(--mobile-card-pad);
  }
}

@media (min-width:430px) and (max-width:767px){
  .home-planning__grid,
  .business-planning__grid,
  .services-overview__cards,
  .residential-setups__grid,
  .commercial-setups__grid,
  .alarm-concerns__grid,
  .camera-solutions__grid,
  .access-solutions__grid,
  .emergency-solutions__grid,
  .wiring-solutions__grid,
  .monitoring-solutions__grid,
  .alarm-included-grid,
  .alarm-process__grid,
  .about-hero__trust-grid,
  .about-values-grid,
  .about-personal__values,
  .about-community__grid,
  .blog-hero__cards,
  .article-related__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .alarm-concern-card,
  .alarm-concern-card__content,
  .camera-solution-card,
  .camera-solution-card__content,
  .access-card,
  .access-card__content,
  .emergency-card,
  .emergency-card__content,
  .wiring-card,
  .wiring-card__content,
  .monitoring-card,
  .monitoring-card__content{
    min-height:clamp(210px, 42vw, 245px);
  }
}

@media (max-width:429px){
  .home-planning__grid,
  .business-planning__grid,
  .services-overview__cards,
  .residential-setups__grid,
  .commercial-setups__grid,
  .alarm-concerns__grid,
  .camera-solutions__grid,
  .access-solutions__grid,
  .emergency-solutions__grid,
  .wiring-solutions__grid,
  .monitoring-solutions__grid,
  .alarm-included-grid,
  .alarm-process__grid,
  .about-hero__trust-grid,
  .about-values-grid,
  .about-personal__values,
  .about-community__grid,
  .blog-hero__cards,
  .article-related__grid{
    grid-template-columns:minmax(0, 1fr);
  }

  .services-overview__trust-strip,
  .residential-bottom-trust,
  .commercial-bottom-trust{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:374px){
  .services-overview__trust-strip,
  .residential-bottom-trust,
  .commercial-bottom-trust{
    grid-template-columns:minmax(0, 1fr);
  }

  .home-planning-card,
  .business-planning-card,
  .services-overview .service-card,
  .residential-setup-card__body,
  .commercial-setup-card__body,
  .alarm-concern-card__content,
  .camera-solution-card__content,
  .access-card__content,
  .emergency-card__content,
  .wiring-card__content,
  .monitoring-card__content{
    padding:var(--mobile-card-pad-sm);
  }
}

@media (max-width:767px){
  .residential-hero__content,
  .commercial-hero__content{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow:hidden;
  }

  .residential-hero__title,
  .commercial-hero__title{
    max-width:100%;
    overflow-wrap:break-word;
  }

  .residential-hero__actions,
  .commercial-hero__actions{
    width:min(calc(100% - 2rem), 30rem);
    margin-inline:auto;
  }

  .residential-button,
  .commercial-button{
    width:100%;
    padding-inline:clamp(1.15rem, 5vw, 1.5rem);
  }

  .residential-hero__verticals,
  .commercial-hero__verticals{
    display:grid;
    grid-template-columns:repeat(4, 42px);
    grid-auto-flow:row;
    grid-auto-columns:auto;
    justify-content:center;
    gap:0.75rem;
    width:auto;
    max-width:100%;
    margin-top:1.15rem;
    margin-inline:auto;
    padding:0;
    overflow:visible;
    overscroll-behavior-inline:auto;
    scroll-snap-type:none;
    scrollbar-width:auto;
  }

  .residential-hero__vertical,
  .commercial-hero__vertical{
    position:relative;
    justify-content:center;
    min-width:0;
    width:42px;
    gap:0;
    scroll-snap-align:none;
    white-space:normal;
    font-size:clamp(0.76rem, 3.2vw, 0.92rem);
  }

  .residential-hero__vertical > span:not(.residential-icon),
  .commercial-hero__vertical > span:not(.commercial-icon){
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    overflow:hidden;
    clip:rect(0, 0, 0, 0);
    white-space:nowrap;
    border:0;
  }

  .residential-icon,
  .commercial-icon{
    width:42px;
    height:42px;
    flex-basis:42px;
    border-radius:8px;
  }
}

@media (max-width:1200px){
  .site-header.is-mobile-nav-open{
    max-height:100dvh;
    overflow:hidden;
  }

  .site-header.is-mobile-nav-open .logo-area{
    grid-column:1;
    grid-row:1;
  }

  .site-header.is-mobile-nav-open .mobile-nav-toggle{
    grid-column:2;
    grid-row:1;
  }

  .site-header.is-mobile-nav-open .main-nav{
    grid-column:1 / -1;
    grid-row:2;
  }

  .site-header.is-mobile-nav-open .header-cta{
    grid-column:1 / -1;
    grid-row:3;
  }

  .site-header.is-mobile-nav-open .main-nav{
    max-height:calc(100dvh - 118px);
    overflow-y:auto;
    overflow-x:hidden;
    padding:0.8rem;
    scrollbar-width:thin;
    scrollbar-color:rgba(249,115,22,0.7) rgba(255,255,255,0.08);
  }

  .main-nav .nav-dropdown{
    min-width:0;
  }

  .nav-dropdown.is-open .services-mega-menu{
    max-height:none;
    margin-top:0.45rem;
    padding:0.6rem;
    overflow:visible;
    border-color:rgba(249,115,22,0.5);
    border-radius:10px;
    background:
      radial-gradient(circle at 0% 0%, rgba(249,115,22,0.08), transparent 28%),
      linear-gradient(180deg, rgba(16,18,20,0.96), rgba(5,6,7,0.96));
  }

  body.services-menu-open .site-header.is-mobile-nav-open .header-cta{
    display:none;
  }
}

@media (max-width:374px){
  .site-header.is-mobile-nav-open .main-nav{
    padding:0.65rem;
  }

  .nav-dropdown.is-open .services-mega-menu{
    padding:0.5rem;
  }
}

/* About page mobile scroll refinement. Desktop About layouts are intentionally untouched. */
@media (max-width:767px){
  .about-page{
    overflow-x:hidden;
    overflow-y:visible;
  }

  .about-page .about-container{
    width:min(calc(100vw - 32px), 42rem);
    max-width:calc(100vw - 32px);
  }

  .about-page,
  .about-page main,
  .about-page section{
    max-width:100vw;
  }

  .about-page *,
  .about-page *::before,
  .about-page *::after{
    min-width:0;
  }

  .about-page h1,
  .about-page h2,
  .about-page h3,
  .about-page p,
  .about-page a,
  .about-page strong,
  .about-page small{
    max-width:100%;
    overflow-wrap:anywhere;
  }

  .about-page p,
  .about-page li,
  .about-page h1,
  .about-page h2,
  .about-page h3{
    white-space:normal;
    text-wrap:wrap;
  }

  .about-page main > section,
  .about-page section{
    scroll-margin-top:88px;
  }

  .about-hero,
  .about-mission,
  .founder-timeline-section,
  .about-personal,
  .about-community,
  .about-referral-model{
    padding-block:clamp(2.25rem, 8vw, 3.25rem);
  }

  .about-final-cta{
    padding-block:clamp(1.8rem, 7vw, 2.75rem);
  }

  .about-hero__inner{
    grid-template-columns:minmax(0, 1fr);
    gap:1.25rem;
  }

  .about-hero__content{
    order:1;
    min-width:0;
  }

  .about-hero__media{
    order:2;
    min-height:0;
    height:clamp(250px, 70vw, 330px);
    border-radius:14px;
  }

  .about-hero__media--photo img{
    object-position:center 32%;
  }

  .about-hero__media-badge{
    left:0.75rem;
    right:0.75rem;
    bottom:0.75rem;
    padding:0.78rem 0.9rem;
    border-radius:10px;
  }

  .about-hero__media-badge span{
    margin-bottom:0.28rem;
    font-size:0.72rem;
    line-height:1;
  }

  .about-hero__media-badge strong{
    font-size:0.95rem;
    line-height:1.28;
  }

  .about-hero__eyebrow,
  .about-mission__eyebrow,
  .founder-timeline-section__eyebrow,
  .about-personal__eyebrow,
  .about-community__eyebrow,
  .about-referral-model__eyebrow{
    gap:0.75rem;
    font-size:clamp(0.72rem, 3vw, 0.86rem);
    letter-spacing:0.105em;
    line-height:1.22;
  }

  .about-hero__eyebrow{
    margin-bottom:0.85rem;
  }

  .about-hero__eyebrow::after{
    max-width:82px;
  }

  .about-mission__eyebrow::before,
  .about-mission__eyebrow::after,
  .founder-timeline-section__eyebrow::before,
  .founder-timeline-section__eyebrow::after,
  .about-personal__eyebrow::before,
  .about-personal__eyebrow::after{
    width:42px;
    flex:0 0 42px;
  }

  .about-hero__title{
    max-width:11ch;
    font-size:clamp(2rem, 9.2vw, 2.78rem);
    line-height:0.98;
    letter-spacing:0.014em;
    overflow-wrap:break-word;
    word-break:normal;
  }

  .about-mission__statement,
  .founder-timeline-section__title,
  .about-personal__title,
  .about-community__title,
  .about-referral-model h2,
  .about-final-cta__title{
    font-size:clamp(1.8rem, 7.6vw, 2.45rem);
    line-height:1.02;
    letter-spacing:0.018em;
  }

  .about-hero__text,
  .about-mission__text,
  .founder-timeline-section__intro,
  .about-personal__text,
  .about-community__intro,
  .about-referral-model__copy p,
  .about-final-cta__text{
    width:100%;
    font-size:clamp(0.94rem, 3.7vw, 1.02rem);
    line-height:1.5;
  }

  .about-hero__text{
    margin-top:1rem;
  }

  .about-hero__text p + p,
  .about-personal__text p + p{
    margin-top:0.75rem;
  }

  .about-hero__actions{
    justify-items:start;
    gap:0.65rem;
    margin-top:1.15rem;
  }

  .about-hero__actions .about-button{
    width:min(100%, 18rem);
  }

  .about-hero__support-line{
    margin:0;
    font-size:0.9rem;
    line-height:1.35;
  }

  .about-hero__trust-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:0.65rem;
    margin-top:1.15rem;
  }

  .about-trust-card{
    padding:0.78rem;
    border-radius:12px;
  }

  .about-trust-card__icon{
    width:2.15rem;
    height:2.15rem;
    margin:0 0 0.55rem;
    border-radius:10px;
  }

  .about-trust-card__title{
    font-size:clamp(0.86rem, 3.6vw, 1rem);
    line-height:1.08;
  }

  .about-mission__watermark{
    left:auto;
    right:-38px;
    top:1.4rem;
    width:118px;
    height:118px;
    transform:none;
    opacity:0.06;
  }

  .about-values-grid,
  .about-community__grid{
    grid-template-columns:minmax(0, 1fr);
    gap:0.75rem;
    margin-top:1.25rem;
  }

  .about-values-card,
  .about-community-card{
    display:grid;
    grid-template-columns:2.35rem minmax(0, 1fr);
    gap:0.25rem 0.75rem;
    align-items:start;
    padding:0.95rem;
  }

  .about-values-card__icon,
  .about-community-card__icon{
    grid-column:1;
    grid-row:1 / span 2;
    width:2.35rem;
    height:2.35rem;
    margin:0;
    border-radius:10px;
  }

  .about-values-card h3,
  .about-community-card h3{
    grid-column:2;
    font-size:clamp(1rem, 4vw, 1.16rem);
    line-height:1.05;
  }

  .about-values-card p,
  .about-community-card p{
    grid-column:2;
    margin-top:0.22rem;
    font-size:0.9rem;
    line-height:1.42;
  }

  .founder-timeline-section__header,
  .about-personal__header,
  .about-section-header--center{
    text-align:left;
  }

  .founder-timeline-section__eyebrow,
  .about-personal__eyebrow,
  .about-mission__eyebrow{
    justify-content:flex-start;
  }

  .founder-timeline-section__eyebrow::before,
  .about-personal__eyebrow::before,
  .about-mission__eyebrow::before{
    display:none;
  }

  .founder-timeline-section__title,
  .founder-timeline-section__intro,
  .about-personal__title,
  .about-community__title,
  .about-community__intro,
  .about-mission__statement,
  .about-mission__text{
    margin-inline:0;
  }

  .founder-timeline{
    gap:0.9rem;
    margin-top:1.2rem;
  }

  .founder-timeline::before{
    top:22px;
    bottom:22px;
    left:22px;
  }

  .founder-timeline__item{
    grid-template-columns:44px minmax(0, 1fr);
    gap:0.7rem;
  }

  .founder-timeline__item::before,
  .founder-timeline__item:nth-child(odd)::before,
  .founder-timeline__item:nth-child(even)::before{
    left:44px;
    top:22px;
    width:14px;
  }

  .founder-timeline__marker{
    width:44px;
    height:44px;
    font-size:0.78rem;
  }

  .founder-timeline__card{
    display:grid;
    grid-template-columns:minmax(6.1rem, 0.38fr) minmax(0, 1fr);
    align-items:stretch;
    border-radius:12px;
  }

  .founder-timeline__media{
    aspect-ratio:3 / 4;
    height:auto;
    min-height:clamp(180px, 52vw, 240px);
    max-height:none;
    padding:0.55rem;
    border-right:1px solid rgba(255,255,255,0.12);
    border-bottom:0;
  }

  .founder-timeline__media img{
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
  }

  .founder-timeline__content{
    padding:0.95rem;
  }

  .founder-timeline__content h3{
    font-size:clamp(1.04rem, 4.35vw, 1.28rem);
    line-height:1.02;
  }

  .founder-timeline__content p:not(.founder-timeline__year):not(.founder-timeline__label){
    font-size:0.88rem;
    line-height:1.4;
  }

  .about-personal__grid{
    gap:1.15rem;
  }

  .about-personal__media{
    aspect-ratio:1 / 1;
    height:auto;
    max-height:none;
    min-height:0;
    padding:0.72rem;
    gap:0.55rem;
    border-radius:14px;
  }

  .about-personal__media::before{
    left:0.72rem;
    top:0.72rem;
    bottom:0.72rem;
  }

  .about-personal__image{
    border-radius:10px;
  }

  .about-personal__values{
    gap:0.75rem;
    margin-top:1rem;
  }

  .about-personal__value-card{
    padding:0.9rem;
    border-radius:12px;
  }

  .about-personal__value-card h3{
    font-size:clamp(1rem, 4vw, 1.16rem);
  }

  .about-personal__value-card p{
    font-size:0.9rem;
    line-height:1.42;
  }

  .about-referral-model__inner{
    gap:1rem;
  }

  .about-referral-model__copy{
    text-align:left;
  }

  .about-referral-model__eyebrow{
    justify-content:flex-start;
  }

  .about-referral-model__eyebrow::before{
    width:22px;
    height:22px;
    flex-basis:22px;
  }

  .about-referral-model__photo{
    min-height:0;
    max-height:260px;
    aspect-ratio:4 / 3;
  }

  .about-referral-card{
    padding:1rem;
    border-radius:14px;
  }

  .about-referral-card__mark{
    top:1rem;
    right:1rem;
    width:2.75rem;
    height:2.75rem;
  }

  .about-referral-card strong{
    max-width:11ch;
    font-size:clamp(2rem, 9vw, 2.8rem);
    line-height:0.96;
  }

  .about-referral-card span{
    width:auto;
    justify-content:flex-start;
    font-size:0.86rem;
    text-align:left;
  }

  .about-final-cta__inner{
    grid-template-columns:minmax(0, 1fr);
    gap:0.9rem;
    padding:1rem;
    border-radius:14px;
  }

  .about-final-cta__icon{
    width:3.15rem;
    height:3.15rem;
  }

  .about-final-cta__content{
    grid-template-columns:minmax(0, 1fr);
    gap:0.7rem;
  }

  .about-final-cta__message{
    padding-left:0.85rem;
  }

  .about-final-cta__actions{
    grid-template-columns:minmax(0, 1fr);
  }

  .about-final-cta__actions .about-button{
    min-height:50px;
  }
}

@media (min-width:360px) and (max-width:767px){
  .about-personal__values{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:359px){
  .about-hero__trust-grid{
    grid-template-columns:minmax(0, 1fr);
  }

  .about-values-card,
  .about-community-card{
    grid-template-columns:minmax(0, 1fr);
  }

  .about-values-card__icon,
  .about-community-card__icon,
  .about-values-card h3,
  .about-community-card h3,
  .about-values-card p,
  .about-community-card p{
    grid-column:1;
  }
}

@media (max-width:430px){
  .founder-timeline__card{
    grid-template-columns:minmax(0, 1fr);
  }

  .founder-timeline__media{
    justify-self:center;
    width:min(68%, 12rem);
    min-height:0;
    margin-top:0.8rem;
    border:1px solid rgba(255,255,255,0.12);
    border-radius:10px;
  }

  .founder-timeline__content{
    width:100%;
  }

  .founder-timeline__label{
    line-height:1.18;
  }
}

/* Sticky guide uses the page as its only vertical scroll container. */
.alarm-protection-section .layer-guide-wrap{position:relative;align-self:stretch;min-width:0;height:100%}
.protection-product-group{scroll-margin-top:calc(var(--site-header-height,84px) + 1rem)}.protection-product-groups{gap:clamp(.65rem,1vw,.9rem)}
.product-card__category{margin:0 0 4px;color:var(--css-orange);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.product-card__installed{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:5px 0 0;color:rgba(255,255,255,.58);font-size:10px;line-height:1.3}.product-card__installed b{color:#fff}
@media(min-width:1200px){:root{--site-header-height:88px}}

/* Protection-group landing-page CTA */
.protection-product-group{position:relative}.product-group__footer{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-height:52px;padding:.4rem .65rem;border-top:1px solid rgba(255,255,255,.07);background:rgba(3,9,13,.7)}.product-group__explore-copy{margin-right:auto;color:rgba(255,255,255,.42);font-size:11px}.product-group__learn-more{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:40px;padding:.65rem .9rem;border:1px solid rgba(0,168,248,.75);border-radius:8px;background:linear-gradient(135deg,rgba(4,19,27,.96),rgba(9,12,15,.98));box-shadow:0 10px 24px rgba(0,0,0,.34),0 0 22px rgba(0,168,248,.08);color:#fff;font-family:var(--font-heading);font-size:.78rem;font-weight:700;letter-spacing:.07em;line-height:1;text-decoration:none;text-transform:uppercase;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s}.product-group__learn-more:hover{border-color:rgba(249,115,22,.95);background:linear-gradient(135deg,rgba(249,115,22,.94),rgba(219,78,5,.96));transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.4),0 0 26px rgba(249,115,22,.16)}.product-group__learn-more:focus-visible{outline:3px solid rgba(0,168,248,.8);outline-offset:3px}
@media(max-width:767px){.product-group__footer{padding:.65rem}.product-group__explore-copy{display:none}.product-group__learn-more{width:100%;min-height:46px}}

/* Shared protection-category landing pages */
.protection-landing{background:#050708;color:#fff}.protection-landing__shell{width:min(1180px,calc(100% - 2rem));margin:auto}.protection-landing__header{display:flex;align-items:center;justify-content:space-between;min-height:82px;border-bottom:1px solid rgba(255,255,255,.1)}.protection-landing__brand{color:#fff;font-family:var(--font-heading);font-size:20px;font-weight:800;text-decoration:none;text-transform:uppercase}.protection-landing__brand span{color:var(--css-orange)}.protection-landing__nav{display:flex;gap:18px}.protection-landing__nav a{color:rgba(255,255,255,.7);font-size:13px;text-decoration:none}.protection-breadcrumbs{padding:24px 0}.protection-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;color:rgba(255,255,255,.48);font-size:12px}.protection-breadcrumbs a{color:var(--logo-blue);text-decoration:none}.protection-landing__hero{padding:clamp(48px,7vw,88px) 0;background:radial-gradient(circle at 78% 30%,rgba(0,168,248,.13),transparent 32%)}.protection-landing__eyebrow{color:var(--css-orange);font-family:var(--font-heading);font-weight:800;letter-spacing:.1em;text-transform:uppercase}.protection-landing__hero h1{max-width:900px;margin:10px 0 18px;font-family:var(--font-display);font-size:clamp(3rem,6vw,6rem);font-weight:400;line-height:.95;text-transform:uppercase}.protection-landing__hero p{max-width:760px;color:rgba(255,255,255,.7);font-size:18px;line-height:1.6}.protection-landing__buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.protection-landing__button{display:inline-flex;align-items:center;min-height:46px;padding:10px 17px;border:1px solid var(--css-orange);border-radius:6px;background:var(--css-orange);color:#fff;font-family:var(--font-heading);font-weight:700;text-decoration:none;text-transform:uppercase}.protection-landing__button--outline{border-color:var(--logo-blue);background:transparent}.protection-landing__section{padding:clamp(42px,6vw,74px) 0;border-top:1px solid rgba(255,255,255,.08)}.protection-landing__section h2{margin:0 0 16px;font-family:var(--font-display);font-size:clamp(2.2rem,4vw,4rem);font-weight:400;text-transform:uppercase}.protection-landing__section>p{max-width:820px;color:rgba(255,255,255,.68);line-height:1.7}.protection-landing__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.protection-landing__card{padding:22px;border:1px solid rgba(0,168,248,.26);border-radius:10px;background:linear-gradient(145deg,rgba(12,25,32,.9),rgba(7,10,12,.96))}.protection-landing__card h3{margin:0 0 8px;font-family:var(--font-heading);font-size:18px}.protection-landing__card p,.protection-landing__card li{color:rgba(255,255,255,.62);font-size:13px;line-height:1.55}.protection-landing__card-msrp{margin:0 0 8px;color:var(--css-orange);font-family:var(--font-heading);font-weight:700;font-size:13px;letter-spacing:.03em}.protection-landing__pricing-note{margin-top:20px;max-width:820px;color:rgba(255,255,255,.48);font-size:12px;line-height:1.6}.protection-landing__links a{display:block;color:var(--logo-blue);line-height:1.9}.protection-landing__footer{padding:32px 0;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.5);font-size:12px}.protection-landing__footer a{color:#fff}
@media(max-width:760px){.protection-landing__nav{display:none}.protection-landing__grid{grid-template-columns:1fr}.protection-landing__hero p{font-size:16px}}

/* Managed Services & Support landing page (alarm-managed-services.html):
   hero trust points, sticky in-page "On This Page" navigation, and
   anchor-target highlight for service-detail sections. Reuses the shared
   .protection-landing__* shell above - these are additive, page-specific
   pieces only used on that one page. */
.protection-landing__trust-points{display:flex;flex-wrap:wrap;gap:10px 22px;margin:22px 0 0;padding:0;list-style:none}
.protection-landing__trust-points li{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.7);font-size:13px}
.protection-landing__trust-points li::before{content:"";flex:0 0 auto;width:14px;height:14px;background:var(--logo-blue);mask:var(--icon-shield) center / contain no-repeat;-webkit-mask:var(--icon-shield) center / contain no-repeat}

.protection-landing__onpage-nav{position:sticky;top:calc(var(--site-header-height, 88px) + 1rem);z-index:5;display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 8px;padding:14px 18px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(10,14,16,.92);backdrop-filter:blur(6px)}
.protection-landing__onpage-nav-label{flex:0 0 100%;margin:0 0 2px;color:rgba(255,255,255,.45);font-family:var(--font-heading);font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.protection-landing__onpage-nav a{color:rgba(255,255,255,.72);font-size:13px;text-decoration:none;white-space:nowrap}
.protection-landing__onpage-nav a:hover,
.protection-landing__onpage-nav a:focus-visible{color:#fff;text-decoration:underline}

@media(max-width:760px){
  .protection-landing__onpage-nav{position:static;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .protection-landing__onpage-nav::-webkit-scrollbar{display:none}
  .protection-landing__onpage-nav-label{flex:0 0 auto;margin:0 12px 0 0}
}

.service-detail-section{scroll-margin-top:calc(var(--site-header-height, 88px) + 24px);transition:background-color 600ms ease}
.service-detail-section:target{background-color:rgba(0,168,248,.06);border-radius:12px}
@media(prefers-reduced-motion: reduce){
  .service-detail-section{transition:none}
}

.protection-landing__section h3.protection-landing__subheading{margin:28px 0 10px;color:#fff;font-family:var(--font-heading);font-size:20px;font-weight:700}
.protection-landing__section ul.protection-landing__list{margin:0 0 14px;padding-left:20px;max-width:820px;color:rgba(255,255,255,.68);line-height:1.7}
.protection-landing__section ul.protection-landing__list li{margin-bottom:4px}
.protection-landing__section .protection-landing__callout{max-width:820px;margin:0 0 14px;padding:14px 18px;border-left:3px solid var(--css-orange);background:rgba(255,255,255,.03);color:rgba(255,255,255,.62);font-size:13px;line-height:1.6}

/* Enterprise capability-panel variation */
.product-panel--capability .product-panel__media{background:linear-gradient(145deg,rgba(8,28,39,.98),rgba(3,9,13,.99))}.interface-placeholder{display:grid;gap:8px;width:74%;margin:0 auto;padding:12px;border:1px solid rgba(0,168,248,.32);border-radius:7px;background:rgba(0,0,0,.28)}.interface-placeholder i{display:block;height:9px;border-radius:3px;background:linear-gradient(90deg,rgba(0,168,248,.5) 0 28%,rgba(255,255,255,.1) 29%)}.product-group__compatibility-note{margin:0;padding:7px 12px;border-top:1px solid rgba(0,168,248,.14);color:rgba(155,211,238,.64);font-size:10px;line-height:1.4}

/* ================= Estimate-request draft: interest toggles + tray ================= */
.camera-hero__estimate-interest{
  margin-top:18px;
}

.estimate-interest-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:10px 16px;
  border:1px solid rgba(0,168,248,0.42);
  border-radius:8px;
  background:rgba(0,168,248,0.06);
  color:#fff;
  font-family:var(--font-heading);
  font-size:13px;
  font-weight:700;
  letter-spacing:0.03em;
  text-align:left;
  cursor:pointer;
  transition:border-color 160ms ease, background 160ms ease, color 160ms ease;
}

.estimate-interest-toggle:hover,
.estimate-interest-toggle:focus-visible{
  border-color:var(--css-orange);
}

.estimate-interest-toggle.is-selected{
  border-color:var(--css-orange);
  background:rgba(249,115,22,0.14);
}

.estimate-interest-toggle__selected{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

/* Pre-existing bug fix: the [hidden] attribute set by estimate-draft-ui.js
   was being overridden by the author-level display:inline-flex rule above
   (author styles always beat the UA [hidden]{display:none} default,
   regardless of specificity), so the "Added to Estimate" label rendered
   at all times on every .estimate-interest-toggle button site-wide,
   selected or not. This restores the intended toggle behaviour without
   touching the toggle's selected/unselected logic in estimate-draft-ui.js. */
.estimate-interest-toggle__selected[hidden]{
  display:none;
}

.estimate-interest-toggle__selected::before{
  content:"\2713";
  display:inline-block;
  color:var(--css-orange);
  font-weight:800;
}

.estimate-tray{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:200;
  width:min(360px, calc(100vw - 32px));
  font-family:var(--font-body);
}

.estimate-tray__pill{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  width:100%;
  padding:0 18px;
  border:1px solid rgba(249,115,22,0.55);
  border-radius:999px;
  background:linear-gradient(135deg, rgba(15,18,20,0.97), rgba(6,13,17,0.97));
  box-shadow:0 18px 40px rgba(0,0,0,0.4);
  color:#fff;
  cursor:pointer;
}

.estimate-tray__pill-icon{
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--css-orange);
  box-shadow:0 0 0 4px rgba(249,115,22,0.18);
}

.estimate-tray__pill-count{
  font-family:var(--font-heading);
  font-size:12px;
  font-weight:800;
  letter-spacing:0.08em;
}

.estimate-tray__panel{
  margin-top:10px;
  max-height:min(70vh, 560px);
  overflow-y:auto;
  padding:18px;
  border:1px solid rgba(255,255,255,0.14);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(14,18,20,0.98), rgba(6,13,17,0.98));
  box-shadow:0 24px 60px rgba(0,0,0,0.45);
}

.estimate-tray__panel-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.estimate-tray__eyebrow{
  color:var(--css-orange);
  font-family:var(--font-heading);
  font-size:12px;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.estimate-tray__close{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1px solid rgba(255,255,255,0.2);
  border-radius:8px;
  background:transparent;
  color:#fff;
  font-size:18px;
  cursor:pointer;
}

.estimate-tray__list{
  display:grid;
  gap:12px;
  margin-bottom:12px;
  list-style:none;
}

.estimate-selection-group__title{
  margin-bottom:6px;
  color:var(--logo-blue);
  font-family:var(--font-heading);
  font-size:12px;
  font-weight:700;
  letter-spacing:0.05em;
  text-transform:uppercase;
}

.estimate-selection-group__list{
  display:grid;
  gap:6px;
  list-style:none;
}

.estimate-selection-group__item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:6px 0;
  border-bottom:1px solid rgba(255,255,255,0.08);
  color:rgba(255,255,255,0.86);
  font-size:13px;
}

.estimate-selection-group__remove{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,0.2);
  border-radius:50%;
  background:transparent;
  color:rgba(255,255,255,0.7);
  font-size:15px;
  line-height:1;
  cursor:pointer;
}

.estimate-selection-group__remove:hover,
.estimate-selection-group__remove:focus-visible{
  border-color:var(--css-orange);
  color:var(--css-orange);
}

.estimate-tray__supporting-copy{
  margin-bottom:14px;
  color:rgba(255,255,255,0.6);
  font-size:12.5px;
  line-height:1.5;
}

.estimate-tray__actions{
  display:grid;
  gap:8px;
}

.estimate-tray__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 16px;
  border-radius:7px;
  font-family:var(--font-heading);
  font-size:13px;
  font-weight:800;
  letter-spacing:0.05em;
  text-decoration:none;
  text-transform:uppercase;
  cursor:pointer;
}

.estimate-tray__button--primary{
  border:1px solid var(--css-orange);
  background:linear-gradient(180deg, var(--css-orange), var(--css-orange-dark));
  color:#fff;
}

.estimate-tray__button--text{
  border:1px solid transparent;
  background:transparent;
  color:rgba(255,255,255,0.6);
}

.estimate-tray__button--text:hover,
.estimate-tray__button--text:focus-visible{
  color:#fff;
}

.estimate-tray__button--outline{
  border:1px solid rgba(255,255,255,0.32);
  background:transparent;
  color:#fff;
}

.estimate-tray__button--danger{
  border:1px solid rgba(220,60,50,0.7);
  background:rgba(220,60,50,0.16);
  color:#fff;
}

.estimate-tray__confirm-clear{
  margin-bottom:14px;
  padding:14px;
  border:1px solid rgba(220,60,50,0.4);
  border-radius:10px;
  background:rgba(220,60,50,0.08);
}

.estimate-tray__confirm-clear p{
  margin-bottom:10px;
  color:#fff;
  font-size:13px;
  line-height:1.45;
}

.estimate-tray__confirm-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

@media (max-width:600px){
  .estimate-tray{
    right:12px;
    bottom:calc(12px + env(safe-area-inset-bottom, 0px));
    left:12px;
    width:auto;
  }

  .estimate-tray__panel{
    max-height:min(75vh, 560px);
  }
}

/* ================================================================
   Alarm Systems - Protection Point Planner
   Replaces the old Protection Layers product carousel on
   alarm-coverage.html. Scoped under its own .protection-planner__*
   namespace (does not reuse/modify .protection-layer-guide* or
   .protection-product-group* - those remain live on camera-coverage.html).
   ================================================================ */

.protection-planner{
  padding:clamp(48px,6vw,84px) 0;
  background:radial-gradient(circle at 82% 8%,rgba(0,168,248,.05),transparent 30%),#050708;
  color:#fff;
}

.protection-planner__intro{
  max-width:760px;
  margin:0 0 clamp(28px,4vw,40px);
}

.protection-planner__title{
  margin:8px 0 14px;
  font-family:var(--font-display);
  font-size:clamp(2.4rem,4.4vw,4.2rem);
  font-weight:400;
  line-height:1.02;
  text-transform:uppercase;
}

.protection-planner__lede{
  max-width:640px;
  color:var(--alarm-muted, rgba(255,255,255,.72));
  font-size:16px;
  line-height:1.65;
}

/* Home / Business segmented tab control */
.protection-planner__mode{
  display:inline-flex;
  gap:4px;
  margin:0 0 clamp(28px,4vw,40px);
  padding:4px;
  border:1px solid var(--alarm-border, rgba(255,255,255,.18));
  border-radius:10px;
  background:rgba(255,255,255,.03);
}

.protection-planner__mode-tab{
  appearance:none;
  min-width:120px;
  min-height:44px;
  padding:9px 22px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:rgba(255,255,255,.6);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:15px;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background 160ms ease, color 160ms ease;
}

.protection-planner__mode-tab:hover{
  color:#fff;
}

.protection-planner__mode-tab:focus-visible{
  outline:2px solid var(--logo-blue);
  outline-offset:3px;
}

.protection-planner__mode-tab[aria-selected="true"]{
  background:var(--css-orange, #f97316);
  color:#fff;
  box-shadow:0 8px 18px rgba(249,115,22,.28);
}

/* Two-column layout: scene mount + information panel */
.protection-planner__body{
  display:grid;
  grid-template-columns:minmax(0,60fr) minmax(0,40fr);
  gap:clamp(1rem,2vw,1.75rem);
  align-items:stretch;
  min-width:0;
}

.protection-planner__scene-frame{
  position:relative;
  min-height:0;
}

/* Empty mount for the future Three.js / WebGL property renderer.
   Intentionally contains no illustration, image, or placeholder copy -
   only a stable #alarm-property-scene id for a later renderer to mount into. */
.protection-planner__scene{
  position:relative;
  width:100%;
  aspect-ratio:4 / 3;
  border:1px solid var(--alarm-border, rgba(255,255,255,.18));
  border-radius:var(--card-radius, 16px);
  background:
    radial-gradient(circle at 30% 20%,rgba(0,168,248,.05),transparent 45%),
    linear-gradient(160deg,rgba(255,255,255,.02),rgba(0,0,0,.35));
  overflow:hidden;
}

/* Reserved for a future renderer - not applied by any script today. */
.protection-planner__scene.is-loading,
.protection-planner__scene.is-transitioning{opacity:.7;}
.protection-planner__scene.has-error{border-color:rgba(220,80,60,.5);}
.protection-planner__scene.use-static-fallback{background-color:var(--alarm-charcoal, #111315);}

.protection-planner__hotspots{
  position:absolute;
  inset:0;
  pointer-events:none;
}

/* Information panel */
.protection-planner__panel{
  display:flex;
  flex-direction:column;
  padding:clamp(22px,2.6vw,32px);
  border:1px solid var(--alarm-border, rgba(255,255,255,.18));
  border-top:3px solid var(--css-orange, #f97316);
  border-radius:var(--card-radius, 16px);
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.22));
  min-width:0;
}

.protection-planner__panel-number{
  color:rgba(255,255,255,.28);
  font-family:var(--font-display);
  font-size:clamp(2.4rem,4vw,3.2rem);
  line-height:1;
}

.protection-planner__panel-title{
  margin:2px 0 6px;
  font-family:var(--font-heading);
  font-size:clamp(1.4rem,2.4vw,1.8rem);
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.protection-planner__panel-subtitle{
  margin:0 0 14px;
  color:var(--css-orange, #f97316);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:15px;
}

.protection-planner__panel-description{
  margin:0 0 18px;
  color:var(--alarm-muted, rgba(255,255,255,.72));
  font-size:15px;
  line-height:1.65;
}

.protection-planner__panel-features{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 14px;
  margin:0 0 18px;
  padding:0;
  list-style:none;
}

.protection-planner__panel-features li{
  position:relative;
  padding-left:16px;
  color:rgba(255,255,255,.86);
  font-size:13px;
  line-height:1.5;
}

.protection-planner__panel-features li::before{
  content:"";
  position:absolute;
  left:0;
  top:7px;
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--logo-blue);
}

.protection-planner__panel-note{
  display:flex;
  gap:8px;
  margin:0 0 20px;
  padding:10px 12px;
  border-left:3px solid var(--logo-blue);
  background:rgba(255,255,255,.03);
  color:rgba(255,255,255,.6);
  font-size:12px;
  line-height:1.6;
}

.protection-planner__panel-note span{
  flex:0 0 auto;
  color:var(--logo-blue);
  font-weight:800;
}

.protection-planner__panel-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-top:auto;
}

.protection-planner__cta{
  flex:1 1 auto;
  justify-content:center;
  min-height:50px;
}

.protection-planner__secondary-cta{
  color:rgba(255,255,255,.72);
  font-family:var(--font-heading);
  font-weight:700;
  font-size:13px;
  letter-spacing:.03em;
  text-decoration:underline;
  text-decoration-color:rgba(255,255,255,.3);
  text-underline-offset:3px;
  text-transform:uppercase;
}

.protection-planner__secondary-cta:hover,
.protection-planner__secondary-cta:focus-visible{
  color:#fff;
}

.protection-planner__equipment-link{
  margin:14px 0 0;
}

.protection-planner__equipment-link a{
  color:var(--logo-blue);
  font-size:12px;
  text-decoration:none;
}

.protection-planner__equipment-link a:hover,
.protection-planner__equipment-link a:focus-visible{
  text-decoration:underline;
}

/* Six protection-point nav controls */
.protection-planner__points{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin-top:clamp(20px,3vw,28px);
}

.protection-planner__point{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  min-height:var(--touch-target, 44px);
  padding:12px 14px;
  border:1px solid var(--alarm-border, rgba(255,255,255,.16));
  border-radius:10px;
  background:var(--alarm-charcoal, #111315);
  color:rgba(255,255,255,.6);
  text-align:left;
  cursor:pointer;
  transition:border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.protection-planner__point:hover{
  border-color:rgba(255,255,255,.32);
  transform:translateY(-1px);
}

.protection-planner__point:focus-visible{
  outline:2px solid var(--logo-blue);
  outline-offset:2px;
}

.protection-planner__point-number{
  font-family:var(--font-heading);
  font-weight:800;
  font-size:13px;
  color:rgba(255,255,255,.4);
}

.protection-planner__point-label{
  font-family:var(--font-heading);
  font-weight:700;
  font-size:12px;
  letter-spacing:.02em;
  line-height:1.3;
  text-transform:uppercase;
}

.protection-planner__point[aria-selected="true"]{
  border-color:var(--css-orange, #f97316);
  background:linear-gradient(180deg,rgba(249,115,22,.14),rgba(249,115,22,.04));
}

.protection-planner__point[aria-selected="true"] .protection-planner__point-number{
  color:var(--css-orange, #f97316);
}

.protection-planner__point[aria-selected="true"] .protection-planner__point-label{
  color:#fff;
}

.protection-planner__pricing-note{
  margin:16px 0 0;
  max-width:820px;
  color:rgba(255,255,255,.42);
  font-size:12px;
  line-height:1.6;
}

.protection-planner__pricing-note span{
  color:var(--logo-blue);
  font-weight:800;
}

/* Contextual Residential / Commercial cross-link */
.protection-planner__crosslink{
  margin-top:clamp(28px,4vw,40px);
  padding:clamp(20px,3vw,28px);
  border:1px solid rgba(0,168,248,.26);
  border-radius:var(--card-radius, 16px);
  background:linear-gradient(145deg,rgba(12,25,32,.9),rgba(7,10,12,.96));
}

.protection-planner__crosslink-title{
  margin:0 0 6px;
  font-family:var(--font-heading);
  font-weight:800;
  font-size:19px;
}

.protection-planner__crosslink-text{
  margin:0 0 16px;
  max-width:640px;
  color:rgba(255,255,255,.62);
  font-size:14px;
  line-height:1.6;
}

.protection-planner__crosslink-cta{
  min-height:46px;
  padding:11px 20px;
  font-size:14px;
}

@media(max-width:900px){
  .protection-planner__body{
    grid-template-columns:1fr;
  }

  .protection-planner__scene{
    aspect-ratio:16 / 10;
  }

  .protection-planner__points{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:600px){
  .protection-planner__mode{
    width:100%;
  }

  .protection-planner__mode-tab{
    flex:1 1 0;
    min-width:0;
  }

  .protection-planner__panel-features{
    grid-template-columns:1fr;
  }

  .protection-planner__points{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .protection-planner__panel-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .protection-planner__secondary-cta{
    text-align:center;
  }
}

/* =============================================================================
   SERVICE HERO -- shared standardized hero used across all Services landing
   pages (Residential, Commercial, Non-Profit, Alarm, Camera, Access Control,
   Audio/AV & Intercom, Networks & Infrastructure, PERS). One design system,
   one CSS block: pages differ only in the copy/CTAs/markers they render
   inside it and which mega-menu item's media they bind to via
   assets/js/service-hero-media.js ([data-hero-family]/[data-hero-item]).

   Structurally this is the mega-menu's own unified showcase (full-bleed
   photo + left-to-right dark gradient + copy on top, see
   .services-mega-menu__showcase above) expanded into a full hero: same
   visual language, larger canvas, richer content. */
.service-hero{
  /* Single source of truth for the hero's internal left/right inset --
     used by the content column and the footer row so both align on the
     exact same vertical axis regardless of viewport width. */
  --service-hero-inset:clamp(64px, 5.4vw, 92px);
  padding:26px 10px 0;
  background:#050505;
}

.service-hero__card{
  position:relative;
  /* ~6-7% breathing margin per side at large desktop (1920px+), scaling
     down gracefully on smaller viewports rather than bleeding to the
     viewport edge. */
  width:min(1700px, calc(100vw - 250px));
  margin-inline:auto;
  overflow:hidden;
  min-height:clamp(620px, 68vh, 720px);
  border:1px solid rgba(249,115,22,0.8);
  border-radius:17px;
  background:#0b0e10;
  box-shadow:0 40px 90px rgba(0,0,0,0.45);
}

.service-hero__media-wrap{
  position:absolute;
  inset:0;
  z-index:0;
}

.service-hero__media{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

/* Left-to-right dark blend so copy sits directly over the photograph with
   no visible seam -- identical logic to .services-mega-menu__showcase::before,
   just tuned for a taller, wider canvas. */
.service-hero__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(4,8,10,0.99) 0%,
      rgba(4,8,10,0.98) 18%,
      rgba(4,8,10,0.92) 28%,
      rgba(4,8,10,0.76) 38%,
      rgba(4,8,10,0.48) 49%,
      rgba(4,8,10,0.18) 60%,
      rgba(4,8,10,0.03) 70%,
      rgba(4,8,10,0) 78%
    ),
    linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,0.15) 100%);
}

.service-hero__content{
  position:relative;
  z-index:2;
  /* Wide enough that both the 3-line headline AND all four one-row audience
     markers fit without wrapping at large desktop -- see .service-hero__text
     and .service-hero__title for the narrower reading-width caps applied
     independently within this column. */
  max-width:min(860px, 94%);
  padding:clamp(74px, 8.5vh, 90px) var(--service-hero-inset) 120px;
}

.service-hero__eyebrow{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 16px;
  color:var(--css-orange);
  font-family:var(--font-display);
  font-weight:400;
  font-size:15px;
  letter-spacing:0.14em;
  text-transform:uppercase;
}

.service-hero__eyebrow::before{
  content:"";
  display:block;
  width:11px;
  height:11px;
  flex:0 0 auto;
  background:var(--css-orange);
  -webkit-mask:var(--icon-arrow-right) center / contain no-repeat;
  mask:var(--icon-arrow-right) center / contain no-repeat;
}

.service-hero__title{
  margin:0;
  max-width:100%;
  color:var(--css-white);
  font-family:var(--font-display);
  font-size:clamp(2.75rem, 3.2vw, 4.5rem);
  font-weight:400;
  letter-spacing:0.025em;
  line-height:0.96;
  text-transform:uppercase;
  white-space:normal;
  text-shadow:0 2px 0 rgba(0,0,0,0.9), 0 12px 26px rgba(0,0,0,0.6);
}

.service-hero__accent{
  color:var(--css-orange);
}

.service-hero__divider{
  display:block;
  width:70px;
  height:4px;
  margin:22px 0 24px;
  border-radius:2px;
  background:var(--css-orange);
}

.service-hero__text{
  max-width:520px;
  margin:0 0 30px;
  color:#eef1f3;
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.55;
}

.service-hero__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px;
  margin-bottom:34px;
}

.service-hero__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  min-height:58px;
  padding:16px 30px;
  border-radius:7px;
  font-family:var(--font-heading);
  font-size:19px;
  font-weight:800;
  line-height:1;
  letter-spacing:0.05em;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.service-hero__cta:hover{
  transform:translateY(-2px);
}

.service-hero__cta--primary{
  border:1px solid var(--css-orange);
  background:linear-gradient(180deg, var(--css-orange), var(--css-orange-dark));
  box-shadow:0 18px 38px rgba(249,115,22,0.24);
  color:var(--css-white);
}

.service-hero__cta--outline{
  border:1px solid rgba(255,255,255,0.55);
  background:rgba(5,5,5,0.24);
  color:var(--css-white);
}

.service-hero__cta--outline:hover,
.service-hero__cta--outline:focus-visible{
  border-color:var(--css-orange);
  color:var(--css-orange);
}

.service-hero__markers{
  display:flex;
  flex-wrap:wrap;
  gap:16px 32px;
  margin:0;
  list-style:none;
}

.service-hero__marker{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:14.5px;
  font-weight:800;
  letter-spacing:0.05em;
  line-height:1.05;
  text-transform:uppercase;
  white-space:nowrap;
}

.service-hero__marker-icon{
  display:inline-grid;
  place-items:center;
  width:46px;
  height:46px;
  flex:0 0 auto;
  border:1.5px solid rgba(249,115,22,0.75);
  border-radius:8px;
  background:radial-gradient(circle at 50% 12%, rgba(249,115,22,0.16), transparent 58%), rgba(255,255,255,0.02);
}

.service-hero__marker-icon::before{
  content:"";
  width:52%;
  height:52%;
  display:block;
  background:var(--css-orange);
  -webkit-mask:var(--sh-icon, var(--icon-shield)) center / contain no-repeat;
  mask:var(--sh-icon, var(--icon-shield)) center / contain no-repeat;
}

.service-hero__footer{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  /* Same --service-hero-inset as .service-hero__content above, so the trust
     line and the hero copy sit on one shared left axis, and the tagline
     lands on the same right-side safe margin. */
  padding:24px var(--service-hero-inset) 40px;
  background:linear-gradient(180deg, rgba(5,5,5,0) 0%, rgba(5,5,5,0.5) 100%);
}

/* Divider begins on the same left axis as the hero content (not flush to
   the card edge) and runs toward the right-side safe margin. */
.service-hero__footer::before{
  content:"";
  position:absolute;
  top:0;
  left:var(--service-hero-inset);
  right:var(--service-hero-inset);
  height:1px;
  background:rgba(255,255,255,0.12);
}

.service-hero__footer-trust,
.service-hero__footer-tagline{
  margin:0;
  color:rgba(255,255,255,0.5);
  font-family:var(--font-body);
  font-size:13px;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
}

.service-hero__footer-tagline{
  color:rgba(249,115,22,0.6);
}

.service-hero__scroll-wrap{
  display:flex;
  justify-content:center;
  padding:22px 0 26px;
}

.service-hero__scroll{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:0;
  color:rgba(255,255,255,0.4);
  font-family:var(--font-body);
  font-size:11px;
  font-weight:600;
  letter-spacing:0.16em;
  text-decoration:none;
  text-transform:uppercase;
  transition:color .18s ease;
}

.service-hero__scroll:hover,
.service-hero__scroll:focus-visible{
  color:var(--css-orange);
}

/* Small vertical orange line between the "Scroll" label and the chevron. */
.service-hero__scroll > span:first-child::after{
  content:"";
  display:block;
  width:1px;
  height:16px;
  margin:8px auto 8px;
  background:var(--css-orange);
  opacity:0.85;
}

.service-hero__scroll-arrow{
  width:9px;
  height:9px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
}

@media(max-width:760px){
  .service-hero{
    padding:14px 12px 0;
  }

  .service-hero__card{
    /* The desktop width formula (calc(100vw - 250px)) is meant for large
       viewports and collapses to near-nothing on phones -- let the card
       simply fill the space .service-hero's own padding already leaves. */
    width:auto;
    min-height:0;
  }

  .service-hero__overlay{
    background:
      linear-gradient(180deg,
        rgba(5,8,10,0.55) 0%,
        rgba(5,8,10,0.88) 42%,
        rgba(5,8,10,0.97) 100%
      );
  }

  .service-hero__content{
    max-width:100%;
    padding:220px 22px 32px;
  }

  .service-hero__title{
    font-size:clamp(2.1rem, 9vw, 2.9rem);
  }

  .service-hero__text{
    max-width:100%;
    font-size:16px;
  }

  .service-hero__actions{
    flex-direction:column;
    align-items:stretch;
  }

  .service-hero__markers{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    display:grid;
    gap:12px 16px;
  }

  .service-hero__footer{
    position:relative;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    background:rgba(5,5,5,0.6);
  }
}

/* Minimal shared body section for the three newly-created overview pages
   (Audio/AV & Intercom, Networks & Infrastructure, PERS Overview) that did
   not previously have a dedicated landing page -- a small, reusable
   "what's included" grid plus a closing CTA banner, styled consistently
   with the rest of the site rather than introducing a page-specific system. */
.service-simple-section{
  padding:80px clamp(16px, 4vw, 32px);
  background:#080a0b;
}

.service-simple-section__inner{
  width:min(100% - 32px, 1100px);
  margin-inline:auto;
}

.service-simple-section__header{
  max-width:640px;
  margin-bottom:40px;
}

.service-simple-section__eyebrow{
  margin:0 0 10px;
  color:var(--css-orange);
  font-family:var(--font-display);
  font-size:14px;
  letter-spacing:0.12em;
  text-transform:uppercase;
}

.service-simple-section__title{
  margin:0 0 12px;
  color:var(--css-white);
  font-family:var(--font-display);
  font-size:clamp(1.9rem, 3.4vw, 2.8rem);
  font-weight:400;
  letter-spacing:0.02em;
  text-transform:uppercase;
}

.service-simple-section__intro{
  margin:0;
  color:var(--muted);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.55;
}

.service-simple-features{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
  gap:20px;
}

.service-simple-feature{
  display:block;
  padding:26px 22px;
  border:1px solid var(--border-soft);
  border-radius:10px;
  background:rgba(255,255,255,0.02);
  color:inherit;
  text-decoration:none;
  transition:border-color .18s ease, background .18s ease, transform .18s ease;
}

.service-simple-feature:hover,
.service-simple-feature:focus-visible{
  border-color:rgba(249,115,22,0.5);
  background:rgba(249,115,22,0.05);
  transform:translateY(-2px);
}

.service-simple-feature__title{
  margin:0 0 8px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:800;
  letter-spacing:0.02em;
  text-transform:uppercase;
}

.service-simple-feature__text{
  margin:0;
  color:var(--muted);
  font-family:var(--font-body);
  font-size:14.5px;
  line-height:1.5;
}

.service-simple-cta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:36px clamp(16px, 4vw, 32px);
  border-top:1px solid var(--border-soft);
  background:#050505;
}

.service-simple-cta__inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  width:min(100% - 32px, 1100px);
  margin-inline:auto;
}

.service-simple-cta__text{
  margin:0;
  max-width:520px;
  color:var(--css-white);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.5;
}

/* Alternating section background so consecutive .service-simple-section
   blocks on one page read as distinct steps rather than blurring together. */
.service-simple-section--alt{
  background:#050505;
}

.service-simple-section__intro--wide{
  max-width:760px;
}

/* Compact numbered process row ("How It Works" steps). */
.service-simple-steps{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));
  gap:22px;
  counter-reset:service-step;
}

.service-simple-step{
  position:relative;
  padding-top:8px;
}

.service-simple-step::before{
  counter-increment:service-step;
  content:counter(service-step, decimal-leading-zero);
  display:block;
  margin-bottom:10px;
  color:var(--css-orange);
  font-family:var(--font-display);
  font-size:22px;
  letter-spacing:0.04em;
}

.service-simple-step__title{
  margin:0 0 6px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
  letter-spacing:0.02em;
  text-transform:uppercase;
}

.service-simple-step__text{
  margin:0;
  color:var(--muted);
  font-family:var(--font-body);
  font-size:14px;
  line-height:1.5;
}

/* Small "Related Services" link row near the bottom of a landing page. */
.service-related{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:10px 20px;
  margin-top:32px;
  padding-top:24px;
  border-top:1px solid var(--border-soft);
}

.service-related__label{
  margin:0;
  color:var(--muted-2);
  font-family:var(--font-body);
  font-size:13px;
  font-weight:600;
  letter-spacing:0.04em;
  text-transform:uppercase;
}

.service-related a{
  color:var(--css-orange);
  font-family:var(--font-body);
  font-size:14px;
  font-weight:600;
  text-decoration:none;
}

.service-related a:hover,
.service-related a:focus-visible{
  text-decoration:underline;
}

/* Compact platform/manufacturer note under a hero-adjacent heading. */
.service-simple-note{
  margin:0 0 28px;
  padding:14px 18px;
  border-left:3px solid var(--css-orange);
  background:rgba(249,115,22,0.06);
  color:var(--muted);
  font-family:var(--font-body);
  font-size:14px;
  line-height:1.5;
}

/* Anchored sub-section heading used on shared multi-context pages
   (Alarm.com, Total Connect 2.0) so #alarm / #video / #access can be
   linked to directly from the mega-menu. */
.service-simple-section__anchor-target{
  scroll-margin-top:calc(var(--site-header-height, 88px) + 24px);
}

/* Small supporting image on a shared multi-context page section, bound to
   that SPECIFIC mega-menu item's own media record (not the page's primary
   hero media) so every menu item pointing at this page -- not just the
   first one -- still visibly uses its own exact source asset. */
.service-simple-section__media{
  width:100%;
  max-width:360px;
  margin:20px 0 0;
  border-radius:8px;
  overflow:hidden;
  border:1px solid var(--border-soft);
}

.service-simple-section__media img{
  display:block;
  width:100%;
  height:220px;
  object-fit:cover;
}

/* =============================================================================
   PLATFORM EXPERIENCE PAGE COMPONENTS
   -----------------------------------------------------------------------------
   Built for the First Alert / Total Connect 2.0 platform-experience page, but
   deliberately generic (no "total-connect" in any class name) so a future
   Alarm.com / Ajax / DW Spectrum page can reuse the same markup, CSS, and
   assets/js/platform-explorer.js without a new design system:
     .platform-section       -- shared vertical rhythm + background variants
     .platform-explorer      -- the tabbed "what can the app do" centerpiece
     .ecosystem-strip        -- lightweight connected-icons strip
     .journey-timeline       -- four-moment daily-life timeline
     .setup-progression      -- Assess -> Design -> Configure -> Support
     .faq-accordion          -- accessible single-open FAQ
   ============================================================================= */

.platform-section{
  padding:clamp(56px, 9vh, 110px) clamp(16px, 4vw, 32px);
}

.platform-section--tint{
  background:linear-gradient(180deg, #07090a 0%, #0a0d0f 100%);
}

.platform-section__inner{
  width:min(100% - 32px, 1180px);
  margin-inline:auto;
}

.platform-section__header{
  max-width:720px;
  margin-bottom:clamp(32px, 5vh, 56px);
}

.platform-section__eyebrow{
  margin:0 0 12px;
  color:var(--css-orange);
  font-family:var(--font-display);
  font-size:15px;
  letter-spacing:0.13em;
  text-transform:uppercase;
}

.platform-section__title{
  margin:0 0 16px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:clamp(1.9rem, 3.4vw, 2.9rem);
  font-weight:800;
  line-height:1.02;
  letter-spacing:0.015em;
  text-transform:uppercase;
}

.platform-section__lede{
  margin:0;
  max-width:620px;
  color:var(--muted);
  font-family:var(--font-body);
  font-size:16.5px;
  line-height:1.55;
}

/* ---- Platform Explorer ---------------------------------------------------- */
.platform-explorer{
  scroll-margin-top:calc(var(--site-header-height, 88px) + 24px);
}

.platform-explorer__tabs{
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  margin-bottom:0;
  padding-bottom:10px;
  overflow-x:auto;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}

.platform-explorer__tab{
  flex:0 0 auto;
  appearance:none;
  white-space:nowrap;
  padding:12px 20px;
  border:1px solid var(--border-soft);
  border-radius:999px;
  background:rgba(255,255,255,0.02);
  color:var(--muted);
  font-family:var(--font-heading);
  font-size:14px;
  font-weight:700;
  letter-spacing:0.03em;
  text-transform:uppercase;
  cursor:pointer;
  transition:border-color 160ms ease, color 160ms ease, background 160ms ease;
}

.platform-explorer__tab:hover{
  border-color:rgba(249,115,22,0.4);
  color:var(--css-white);
}

.platform-explorer__tab:focus-visible{
  outline:2px solid var(--css-orange);
  outline-offset:2px;
}

.platform-explorer__tab.is-active{
  border-color:var(--css-orange);
  background:linear-gradient(180deg, rgba(249,115,22,0.18), rgba(249,115,22,0.05));
  color:var(--css-white);
}

.platform-explorer__stage{
  margin-top:28px;
  padding-top:clamp(28px, 4vh, 44px);
  border-top:1px solid var(--border-soft);
}

.platform-explorer__panel{
  display:grid;
  grid-template-columns:minmax(0, 38fr) minmax(0, 62fr);
  gap:clamp(28px, 4vw, 56px);
  align-items:center;
  min-height:420px;
  transition:opacity 200ms ease;
}

@media (prefers-reduced-motion: reduce){
  .platform-explorer__panel{
    transition:none;
  }
}

.platform-explorer__copy{
  display:flex;
  flex-direction:column;
}

.platform-explorer__panel-eyebrow{
  margin:0 0 10px;
  color:var(--css-orange);
  font-family:var(--font-display);
  font-size:13.5px;
  letter-spacing:0.12em;
  text-transform:uppercase;
}

.platform-explorer__panel-heading{
  margin:0 0 14px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:clamp(1.5rem, 2.4vw, 2.1rem);
  font-weight:800;
  line-height:1.08;
  text-transform:uppercase;
}

.platform-explorer__panel-text{
  margin:0 0 20px;
  color:var(--muted);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.55;
}

.platform-explorer__benefits{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}

.platform-explorer__benefits li{
  position:relative;
  padding-left:24px;
  color:var(--css-white);
  font-family:var(--font-body);
  font-size:15px;
  line-height:1.4;
}

.platform-explorer__benefits li::before{
  content:"";
  position:absolute;
  left:0;
  top:6px;
  width:14px;
  height:14px;
  background:var(--css-orange);
  -webkit-mask:var(--icon-check) center / contain no-repeat;
  mask:var(--icon-check) center / contain no-repeat;
}

.platform-explorer__media{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:380px;
  border-radius:14px;
  background:radial-gradient(circle at 30% 20%, rgba(249,115,22,0.08), transparent 45%), #0b0e10;
}

.platform-explorer__media-img{
  width:100%;
  height:100%;
  max-height:460px;
  object-fit:contain;
}

.platform-explorer__media-placeholder{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  padding:40px;
  color:rgba(255,255,255,0.4);
  text-align:center;
}

.platform-explorer__media-placeholder-icon{
  display:block;
  width:44px;
  height:44px;
  background:rgba(255,255,255,0.3);
  -webkit-mask:var(--icon-smartphone) center / contain no-repeat;
  mask:var(--icon-smartphone) center / contain no-repeat;
}

.platform-explorer__media-placeholder p{
  margin:0;
  max-width:220px;
  font-family:var(--font-body);
  font-size:13px;
  line-height:1.4;
}

@media (max-width:900px){
  .platform-explorer__panel{
    grid-template-columns:minmax(0, 1fr);
    min-height:0;
  }

  .platform-explorer__media{
    order:-1;
    min-height:280px;
  }
}

/* ---- Ecosystem strip -------------------------------------------------------- */
.ecosystem-strip{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:0;
}

.ecosystem-strip__node{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  width:130px;
  text-align:center;
}

.ecosystem-strip__icon{
  display:inline-grid;
  place-items:center;
  width:52px;
  height:52px;
  border:1.5px solid rgba(249,115,22,0.55);
  border-radius:50%;
  background:radial-gradient(circle at 50% 20%, rgba(249,115,22,0.14), transparent 60%);
}

.ecosystem-strip__icon::before{
  content:"";
  width:46%;
  height:46%;
  display:block;
  background:var(--css-orange);
  -webkit-mask:var(--eco-icon) center / contain no-repeat;
  mask:var(--eco-icon) center / contain no-repeat;
}

.ecosystem-strip__label{
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:12.5px;
  font-weight:700;
  letter-spacing:0.05em;
  line-height:1.25;
  text-transform:uppercase;
}

.ecosystem-strip__connector{
  flex:0 0 auto;
  width:clamp(24px, 4vw, 56px);
  height:1px;
  margin:0 2px;
  background:linear-gradient(90deg, rgba(249,115,22,0.5), rgba(249,115,22,0.15));
  align-self:center;
  margin-top:-38px;
}

@media (max-width:760px){
  .ecosystem-strip{
    flex-direction:column;
    gap:20px;
  }

  .ecosystem-strip__connector{
    width:1px;
    height:20px;
    margin:0;
  }
}

/* ---- Daily journey timeline ------------------------------------------------- */
.journey-timeline{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:28px;
}

.journey-timeline::before{
  content:"";
  position:absolute;
  top:19px;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg, rgba(249,115,22,0.06), rgba(249,115,22,0.5) 8%, rgba(249,115,22,0.5) 92%, rgba(249,115,22,0.06));
}

.journey-timeline__step{
  position:relative;
  padding-top:52px;
}

.journey-timeline__marker{
  position:absolute;
  top:0;
  left:0;
  display:inline-grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1.5px solid var(--css-orange);
  border-radius:50%;
  background:#0b0e10;
  color:var(--css-orange);
  font-family:var(--font-display);
  font-size:14px;
}

.journey-timeline__time{
  display:block;
  margin-bottom:6px;
  color:var(--css-orange);
  font-family:var(--font-body);
  font-size:13px;
  font-weight:700;
  letter-spacing:0.04em;
}

.journey-timeline__title{
  margin:0 0 8px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
  letter-spacing:0.02em;
  text-transform:uppercase;
}

.journey-timeline__text{
  margin:0;
  color:var(--muted);
  font-family:var(--font-body);
  font-size:14.5px;
  line-height:1.5;
}

@media (max-width:900px){
  .journey-timeline{
    grid-template-columns:minmax(0, 1fr);
    gap:32px;
  }

  .journey-timeline::before{
    top:0;
    left:19px;
    right:auto;
    bottom:0;
    width:1px;
    height:auto;
    background:linear-gradient(180deg, rgba(249,115,22,0.06), rgba(249,115,22,0.5) 8%, rgba(249,115,22,0.5) 92%, rgba(249,115,22,0.06));
  }

  .journey-timeline__step{
    padding-top:0;
    padding-left:52px;
  }

  .journey-timeline__marker{
    top:0;
    left:0;
  }
}

/* ---- Setup progression ------------------------------------------------------ */
.setup-progression{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:28px;
  margin-bottom:44px;
}

.setup-progression::before{
  content:"";
  position:absolute;
  top:19px;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg, rgba(249,115,22,0.06), rgba(249,115,22,0.5) 8%, rgba(249,115,22,0.5) 92%, rgba(249,115,22,0.06));
}

.setup-progression__step{
  position:relative;
  padding-top:52px;
}

.setup-progression__marker{
  position:absolute;
  top:0;
  left:0;
  display:inline-grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1.5px solid var(--css-orange);
  border-radius:50%;
  background:#0b0e10;
  color:var(--css-orange);
  font-family:var(--font-display);
  font-size:14px;
}

.setup-progression__title{
  margin:0 0 8px;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
  letter-spacing:0.03em;
  text-transform:uppercase;
}

.setup-progression__text{
  margin:0;
  color:var(--muted);
  font-family:var(--font-body);
  font-size:14.5px;
  line-height:1.5;
}

.dealer-credential{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 20px;
  border:1px solid var(--border-soft);
  border-radius:10px;
  background:rgba(255,255,255,0.02);
  max-width:420px;
}

.dealer-credential__icon{
  display:inline-grid;
  place-items:center;
  width:38px;
  height:38px;
  flex:0 0 auto;
  border-radius:50%;
  background:rgba(249,115,22,0.12);
}

.dealer-credential__icon::before{
  content:"";
  width:52%;
  height:52%;
  display:block;
  background:var(--css-orange);
  -webkit-mask:var(--icon-shield-check) center / contain no-repeat;
  mask:var(--icon-shield-check) center / contain no-repeat;
}

.dealer-credential p{
  margin:0;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:14px;
  font-weight:700;
  letter-spacing:0.02em;
  text-transform:uppercase;
}

@media (max-width:900px){
  .setup-progression{
    grid-template-columns:minmax(0, 1fr);
    gap:32px;
  }

  .setup-progression::before{
    top:0;
    left:19px;
    right:auto;
    bottom:0;
    width:1px;
    height:auto;
    background:linear-gradient(180deg, rgba(249,115,22,0.06), rgba(249,115,22,0.5) 8%, rgba(249,115,22,0.5) 92%, rgba(249,115,22,0.06));
  }

  .setup-progression__step{
    padding-top:0;
    padding-left:52px;
  }

  .setup-progression__marker{
    top:0;
    left:0;
  }
}

/* ---- FAQ accordion ----------------------------------------------------------- */
.faq-accordion{
  border-top:1px solid var(--border-soft);
}

.faq-item{
  border-bottom:1px solid var(--border-soft);
}

.faq-item__question{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
  padding:20px 4px;
  border:0;
  background:none;
  color:var(--css-white);
  font-family:var(--font-heading);
  font-size:16.5px;
  font-weight:700;
  letter-spacing:0.01em;
  text-align:left;
  cursor:pointer;
}

.faq-item__question:focus-visible{
  outline:2px solid var(--css-orange);
  outline-offset:2px;
}

.faq-item__icon{
  position:relative;
  flex:0 0 auto;
  width:16px;
  height:16px;
}

.faq-item__icon::before,
.faq-item__icon::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  background:var(--css-orange);
  transform:translate(-50%, -50%);
  transition:transform 160ms ease;
}

.faq-item__icon::before{
  width:12px;
  height:2px;
}

.faq-item__icon::after{
  width:2px;
  height:12px;
}

.faq-item[open] .faq-item__icon::after{
  transform:translate(-50%, -50%) scaleY(0);
}

.faq-item__answer{
  margin:0;
  padding:0 4px 20px;
  max-width:760px;
  color:var(--muted);
  font-family:var(--font-body);
  font-size:15px;
  line-height:1.55;
}

.faq-item summary{
  list-style:none;
}

.faq-item summary::-webkit-details-marker{
  display:none;
}
