/* Global reset */
*,
*::before,
*::after { box-sizing: border-box; margin: 0; padding: 0; }
html{min-height:100%; scroll-behavior:smooth; overflow-x:hidden;}
body{min-height:100vh; overflow-x:hidden;}
: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");
}

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:100%;
  height:auto;
  max-height:104px;
  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{
  position:absolute;
  z-index:40;
  top:calc(100% - 14px);
  left:50%;
  width:min(1280px, calc(100vw - 96px));
  padding:28px;
  border:1px solid var(--border);
  border-top:3px solid var(--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;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%, -8px);
  transition:opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.services-mega-menu::before{
  content:"";
  position:absolute;
  top:-12px;
  left:var(--mega-pointer-left, 50%);
  width:0;
  height:0;
  border-left:10px solid transparent;
  border-right:10px solid transparent;
  border-bottom:12px solid var(--orange);
  transform:translateX(-50%);
}

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

.services-mega-menu__list{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:14px;
  list-style:none;
}

.services-mega-card{
  display:flex;
  min-height:238px;
  height:100%;
  flex-direction:column;
  align-items:center;
  padding:20px 16px;
  border:1px solid rgba(255,255,255,0.11);
  border-radius:8px;
  background:rgba(255,255,255,0.025);
  color:var(--muted);
  font-family:var(--font-body);
  font-weight:400;
  letter-spacing:0;
  text-align:center;
  text-decoration:none;
  text-transform:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.015);
  transition:transform 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.main-nav .services-mega-card{
  font-family:var(--font-body);
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
}

.services-mega-card:hover,
.services-mega-card:focus-visible{
  transform:translateY(-3px);
  border-color:rgba(249,115,22,0.72);
  background:rgba(249,115,22,0.055);
  color:var(--text);
  box-shadow:0 16px 34px rgba(0,0,0,0.28), 0 0 20px rgba(249,115,22,0.1);
}

/* Services mega menu icon and image sizing. */
.services-mega-card__icon{
  display:block;
  width:72px;
  height:72px;
  margin:0 auto 18px;
  border:1px solid rgba(255,255,255,0.32);
  border-radius:8px;
  background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.015));
}

.services-mega-card__icon--image{
  width:150px;
  height:96px;
  overflow:hidden;
  border-color:rgba(255,255,255,0.2);
  background:rgba(255,255,255,0.035);
}

.services-mega-card__icon--image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:grayscale(1) saturate(0);
  transition:filter 180ms ease;
}

.services-mega-card:hover .services-mega-card__icon--image img,
.services-mega-card:focus-visible .services-mega-card__icon--image img{
  filter:grayscale(0) saturate(1);
}

.services-mega-card__title{
  display:block;
  margin-bottom:12px;
  color:var(--text);
  font-family:var(--font-heading);
  font-size:21px;
  font-weight:700;
  line-height:1.04;
  letter-spacing:0.06em;
  text-transform:uppercase;
  transition:color 160ms ease;
}

.services-mega-card:hover .services-mega-card__title,
.services-mega-card:focus-visible .services-mega-card__title{
  color:var(--logo-blue);
}

.services-mega-card__text{
  display:block;
  color:rgba(255,255,255,0.82);
  font-family:var(--font-body);
  font-weight:400;
  font-size:15px;
  line-height:1.45;
  letter-spacing:0;
  text-transform:none;
}

.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-mega-menu{
    width:min(920px, calc(100vw - 48px));
  }
  .services-mega-menu__list{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .services-mega-card{
    min-height:220px;
  }
  .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{
    width:100%;
    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));
}

.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-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;
  }

  .services-mega-menu{
    position:static;
    width:100%;
    max-height:0;
    margin-top:0;
    padding:0;
    overflow:hidden;
    border-width:0;
    border-radius:8px;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    box-shadow:none;
    transition:max-height 220ms ease, margin-top 220ms ease, padding 220ms ease, border-width 220ms ease;
  }

  .services-mega-menu::before{
    display:none;
  }

  .nav-dropdown.is-open .services-mega-menu{
    max-height:1600px;
    opacity:1;
    visibility:visible;
    transform:none;
    margin-top:10px;
    padding:12px;
    border-width:1px;
  }

  .services-mega-menu__list{
    grid-template-columns:1fr;
    gap:10px;
  }

  .services-mega-card{
    min-height:0;
    align-items:flex-start;
    padding:16px;
    text-align:left;
  }

  .services-mega-card__icon{
    width:48px;
    height:48px;
    margin:0 0 12px;
  }

  .services-mega-card__title{
    font-size:19px;
  }

  .services-mega-card__text{
    font-size:14px;
  }

  .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{
    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;
  overflow-x:hidden;
  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);
}

.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:46px minmax(0, 1fr);
  gap:14px;
  min-height:150px;
  padding:20px;
  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-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;
}

.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;
  }
}

@media (max-width:900px){
  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;
    overflow:hidden;
    border-width:0;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }

  .nav-dropdown.is-open .services-mega-menu{
    max-height:70dvh;
    margin-top:8px;
    padding:10px;
    overflow:auto;
    border-width:1px;
    transform:none;
  }

  .services-mega-menu::before{
    display:none;
  }

  .services-mega-menu__list{
    grid-template-columns:1fr;
  }

  .services-mega-card{
    min-height:0;
    display:grid;
    grid-template-columns:72px minmax(0, 1fr);
    align-items:center;
    gap:12px;
    padding:12px;
    text-align:left;
  }

  .services-mega-card__icon,
  .services-mega-card__icon--image{
    width:72px;
    height:54px;
    margin:0;
  }

  .services-mega-card__title{
    margin:0 0 4px;
  }

  .services-mega-card__text{
    font-size:13px;
  }

  .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;
  }

  .services-mega-card{
    grid-template-columns:58px minmax(0, 1fr);
  }

  .services-mega-card__icon,
  .services-mega-card__icon--image{
    width:58px;
    height:48px;
  }

  .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:900px){
  .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));
  }

  .services-mega-menu__list{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:0.55rem;
  }

  .services-mega-card,
  .main-nav .services-mega-card{
    display:grid;
    grid-template-columns:58px minmax(0, 1fr);
    grid-template-rows:auto auto;
    gap:0.35rem 0.75rem;
    align-items:start;
    min-height:0;
    padding:0.72rem;
    border-radius:9px;
    text-align:left;
  }

  .services-mega-card__icon,
  .services-mega-card__icon--image{
    grid-column:1;
    grid-row:1 / span 2;
    width:58px;
    height:48px;
    margin:0;
  }

  .services-mega-card__icon--image img{
    filter:grayscale(0) saturate(1);
  }

  .services-mega-card__title{
    grid-column:2;
    grid-row:1;
    margin:0;
    align-self:end;
    font-size:clamp(1rem, 4vw, 1.18rem);
    line-height:1;
  }

  .services-mega-card__text{
    grid-column:2;
    grid-row:2;
    max-width:none;
    margin:0;
    font-size:0.88rem;
    line-height:1.32;
    overflow-wrap:break-word;
  }

  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;
  }

  .services-mega-card,
  .main-nav .services-mega-card{
    grid-template-columns:50px minmax(0, 1fr);
    gap:0.3rem 0.6rem;
    padding:0.65rem;
  }

  .services-mega-card__icon,
  .services-mega-card__icon--image{
    width:50px;
    height:42px;
  }

  .services-mega-card__text{
    font-size:0.82rem;
  }
}

/* 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;
  }
}
