@font-face {
  font-family: "Bebas Neue";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/BebasNeue-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "Bebas Neue";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/BebasNeue-Bold.woff2") format("woff2");
}
@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/Archivo-Regular.woff2") format("woff2");
}
@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/Archivo-Medium.woff2") format("woff2");
}
@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/Archivo-SemiBold.woff2") format("woff2");
}
@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/Archivo-Bold.woff2") format("woff2");
}
:root {
  --ao-green: #8dc63f;
  --ao-orange: #f7941e;
  --ao-dark: #282728;
  --ao-black: #000000;
  --ao-white: #ffffff;
  --ao-green-700: #587d25;
  --ao-orange-700: #a65d06;
  --ao-neon-green: #86eb22;
  --ao-neon-orange: #ff5c00;
  --ao-blue: #007da9;
  --ao-paper: #f6f4ef;
  --ao-line: #d9d4ca;
  --ao-muted: #615e5b;
  --font-display: "Bebas Neue", Impact, Haettenschweiler, sans-serif;
  --font-body: Archivo, "Helvetica Neue", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ao-paper); color: var(--ao-dark); font-family: var(--font-body); font-size: 16px; line-height: 1.55; }
a { color: inherit; }
img { max-width: 100%; }
h1, h2, h3, h4 { margin: 0; font-family: var(--font-display); font-weight: 400; letter-spacing: .04em; line-height: .96; text-transform: uppercase; }
h1 { font-weight: 700; }
p { margin: 0; }
.container { width: min(1200px, calc(100% - 40px)); margin-inline: auto; }
.skip-link { position: absolute; left: 12px; top: -100px; z-index: 50; padding: 10px 14px; background: var(--ao-neon-green); color: var(--ao-black); font-weight: 700; }
.skip-link:focus { top: 12px; }
.topbar { display: none; background: var(--ao-black); color: var(--ao-white); font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.topbar .container { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.topbar a { color: var(--ao-neon-green); font-weight: 700; text-decoration: none; }
.site-header { position: sticky; top: 0; z-index: 20; background: var(--ao-black); color: var(--ao-white); border-bottom: 1px solid rgb(255 255 255 / .2); box-shadow: 0 6px 18px rgb(0 0 0 / .18); }
.nav-wrap { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.logo { display: inline-flex; align-items: center; gap: 15px; text-decoration: none; }
.logo-mark { width: 64px; height: 64px; display: block; flex: 0 0 auto; }
.logo-type { max-width: 270px; font-family: var(--font-display); font-size: 38px; line-height: .84; letter-spacing: .04em; }
.logo-type small { display: block; margin-top: 7px; color: rgb(255 255 255 / .78); font-family: var(--font-body); font-size: 12px; font-weight: 700; letter-spacing: .12em; line-height: 1; }
.desktop-nav { display: flex; align-items: center; gap: 30px; }
.desktop-nav a { padding: 12px 11px; color: rgb(255 255 255 / .82); font-size: 14px; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; transition: background-color .2s ease, color .2s ease; }
.desktop-nav a:hover, .desktop-nav a[aria-current="page"] { background: var(--ao-neon-green); color: var(--ao-white); }
.header-cta { min-height: 52px; padding: 13px 19px; background: var(--ao-orange); color: var(--ao-black); font-size: 15px; font-weight: 700; text-decoration: none; text-transform: capitalize; }
.header-cta::before, .button.call::before { content: "↗"; display: inline-block; margin-right: 7px; font-size: 18px; line-height: .5; transform: rotate(-45deg); }
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 18px; border: 2px solid transparent; border-radius: 4px; font-weight: 700; text-decoration: none; transition: transform .2s ease, background-color .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button.primary { background: var(--ao-orange); color: var(--ao-black); }
.button.green { background: var(--ao-green); color: var(--ao-black); }
.button.outline-light { border-color: rgb(255 255 255 / .5); color: var(--ao-white); }
.button.outline-light:hover { background: var(--ao-white); color: var(--ao-black); }
.button.outline-dark { border-color: var(--ao-dark); color: var(--ao-dark); }
.button.outline-dark:hover { background: var(--ao-dark); color: var(--ao-white); }
.button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid var(--ao-blue); outline-offset: 3px; }
.mobile-menu { display: none; margin-left: auto; }
.mobile-menu summary { min-height: 48px; display: inline-flex; align-items: center; gap: 10px; padding: 10px 13px; border: 1px solid rgb(255 255 255 / .32); cursor: pointer; font-size: 13px; font-weight: 700; letter-spacing: .08em; list-style: none; text-transform: uppercase; }
.mobile-menu summary::-webkit-details-marker { display: none; }
.hamburger { width: 21px; display: grid; gap: 4px; }
.hamburger i { height: 2px; display: block; background: var(--ao-neon-green); transition: transform .2s ease, opacity .2s ease; }
.mobile-menu[open] .hamburger i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.mobile-menu[open] .hamburger i:nth-child(2) { opacity: 0; }
.mobile-menu[open] .hamburger i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.mobile-nav { position: absolute; right: 0; top: calc(100% + 15px); width: min(320px, calc(100vw - 20px)); display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border: 1px solid rgb(255 255 255 / .18); background: var(--ao-dark); box-shadow: 0 18px 38px rgb(0 0 0 / .35); }
.mobile-nav a { min-height: 54px; display: flex; align-items: center; padding: 13px 18px; border-bottom: 1px solid rgb(255 255 255 / .12); color: rgb(255 255 255 / .86); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.mobile-nav a:nth-child(odd) { border-right: 1px solid rgb(255 255 255 / .12); }
.mobile-nav a[aria-current="page"] { color: var(--ao-neon-green); }
.hero, .page-hero { background: var(--ao-dark); color: var(--ao-white); }
.hero { position: relative; overflow: hidden; padding: 68px 0 72px; }
.hero::after { position: absolute; right: -160px; bottom: -210px; width: 470px; height: 470px; border: 2px solid rgb(247 148 30 / .25); border-radius: 50%; content: ""; box-shadow: 0 0 0 28px rgb(247 148 30 / .08), 0 0 0 58px rgb(247 148 30 / .04); }
.hero-grid { position: relative; z-index: 1; display: grid; gap: 40px; }
.hero-copy { display: grid; gap: 22px; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--ao-orange-700); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow::before { width: 26px; height: 3px; background: currentColor; content: ""; }
.dark-surface .eyebrow, .hero .eyebrow, .page-hero .eyebrow { color: var(--ao-neon-green); }
.hero h1 { max-width: 720px; font-size: clamp(3.1rem, 13.5vw, 7rem); }
.hero h1 em { color: var(--ao-neon-green); font-style: normal; }
.hero-lede { max-width: 500px; color: rgb(255 255 255 / .75); font-size: 18px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-note { color: rgb(255 255 255 / .56); font-size: 13px; }
.device-stack { min-height: 300px; position: relative; display: grid; place-items: center; }
.device-card { position: absolute; width: 230px; height: 178px; display: grid; place-items: center; border: 2px solid rgb(255 255 255 / .45); background: rgb(255 255 255 / .05); color: rgb(255 255 255 / .7); font-family: var(--font-display); letter-spacing: .08em; }
.device-card::after { width: 72%; height: 52%; border: 1px solid rgb(255 255 255 / .3); content: ""; }
.device-card:nth-child(1) { transform: rotate(-12deg) translate(-34px, 4px); border-color: var(--ao-neon-orange); }
.device-card:nth-child(2) { transform: rotate(8deg) translate(34px, -16px); border-color: var(--ao-neon-green); }
.device-card:nth-child(3) { transform: rotate(-2deg) translate(0, 44px); background: var(--ao-dark); }
.photo-card { display: block; padding: 0; overflow: hidden; background: var(--ao-dark); }
.photo-card::after { display: none; }
.photo-card img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .92; }
.photo-card figcaption { position: absolute; right: 0; bottom: 0; left: 0; z-index: 1; padding: 7px 10px; background: rgb(0 0 0 / .7); color: var(--ao-white); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.device-label { position: absolute; right: 4%; bottom: 0; color: var(--ao-neon-green); font-family: var(--font-display); font-size: 28px; letter-spacing: .06em; transform: rotate(-5deg); }
.trust-strip { background: var(--ao-orange); color: var(--ao-black); }
.trust-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
.trust-item { min-height: 92px; display: grid; align-content: center; gap: 3px; padding: 15px; border-right: 1px solid rgb(0 0 0 / .18); }
.trust-item:nth-child(2n) { border-right: none; }
.trust-item strong { font-family: var(--font-display); font-size: 29px; line-height: 1; }
.trust-item span { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.section { padding: 72px 0; }
.section-heading { display: grid; gap: 16px; margin-bottom: 34px; }
.section-heading h2 { font-size: clamp(2.5rem, 9vw, 4.5rem); }
.section-heading p { max-width: 600px; color: var(--ao-muted); font-size: 17px; }
.dark-surface { background: var(--ao-dark); color: var(--ao-white); }
.dark-surface.alt { background: var(--ao-black); }
.dark-surface .section-heading p { color: rgb(255 255 255 / .72); }
.service-grid { display: grid; align-items: stretch; gap: 14px; }
.service-card { min-height: 190px; position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: 22px; border: 1px solid var(--ao-line); background: var(--ao-white); text-decoration: none; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.service-card:hover { transform: translateY(-5px); border-color: var(--ao-orange); box-shadow: 0 8px 20px rgb(40 39 40 / .12); }
.service-card.featured { border-top: 7px solid var(--ao-orange); }
.service-card h3 { margin-top: 18px; font-size: 29px; }
.service-card p { color: var(--ao-muted); font-size: 14px; }
.service-card .arrow { align-self: flex-end; color: var(--ao-orange-700); font-size: 24px; }
.split-section { display: grid; gap: 34px; }
.photo-section { background: var(--ao-white); }
.photo-grid { display: grid; gap: 16px; }
.photo-placeholder { min-height: 220px; position: relative; display: flex; align-items: flex-end; overflow: hidden; padding: 18px; border: 1px dashed rgb(40 39 40 / .42); background: linear-gradient(135deg, var(--ao-dark) 0 49%, var(--ao-green) 49% 51%, var(--ao-orange) 51%); color: var(--ao-white); }
.photo-placeholder::before { position: absolute; inset: 16px; border: 1px solid rgb(255 255 255 / .48); content: ""; }
.photo-placeholder p { position: relative; z-index: 1; max-width: 260px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.photo-placeholder.tall { min-height: 300px; }
.photo-image { align-items: stretch; padding: 0; border: 0; background: var(--ao-dark); }
.photo-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.photo-image::before { z-index: 1; pointer-events: none; }
.photo-image figcaption { position: relative; z-index: 2; align-self: flex-end; max-width: 260px; padding: 7px 9px; background: rgb(0 0 0 / .68); color: var(--ao-white); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.steps { display: grid; gap: 0; }
.step { display: grid; grid-template-columns: 52px 1fr; gap: 15px; padding: 19px 0; border-bottom: 1px solid var(--ao-line); }
.dark-surface .step { border-color: rgb(255 255 255 / .16); }
.step:last-child { border-bottom: none; }
.step-number { width: 42px; height: 42px; display: grid; place-items: center; background: var(--ao-green); color: var(--ao-black); font-family: var(--font-display); font-size: 25px; }
.step h3 { margin-bottom: 5px; font-size: 25px; }
.step p { color: var(--ao-muted); font-size: 15px; }
.dark-surface .step p { color: rgb(255 255 255 / .72); }
.locations-grid { display: grid; gap: 18px; }
.location-card { padding: 23px; border: 1px solid rgb(255 255 255 / .18); background: rgb(255 255 255 / .05); }
.location-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.location-card h3 { font-size: 32px; }
.status { max-width: 205px; display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px; background: var(--ao-white); color: var(--ao-black); font-size: 11px; font-weight: 700; }
.status.is-open { background: var(--ao-neon-green); }
.status::before { width: 7px; height: 7px; border-radius: 50%; background: currentColor; content: ""; }
.location-address { margin: 18px 0; color: rgb(255 255 255 / .75); }
.location-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.location-actions .button { min-height: 44px; padding: 9px 12px; font-size: 13px; }
.review-card { max-width: 800px; margin-inline: auto; padding: 28px; background: var(--ao-white); color: var(--ao-black); }
.stars { color: var(--ao-orange); letter-spacing: .15em; }
.review-widget-placeholder { display: grid; gap: 14px; }
.review-widget-placeholder strong { font-family: var(--font-display); font-size: clamp(2rem, 6vw, 3.3rem); font-weight: 400; letter-spacing: .03em; line-height: 1; text-transform: uppercase; }
.review-widget-placeholder p { color: var(--ao-muted); }
.reviews-widget { min-height: 220px; }
.review-card blockquote { margin: 18px 0; font-family: var(--font-display); font-size: clamp(2rem, 6vw, 3.3rem); letter-spacing: .03em; line-height: 1; }
.review-card cite { color: var(--ao-muted); font-size: 13px; font-style: normal; font-weight: 700; }
.cta-band { padding: 58px 0; background: var(--ao-neon-green); color: var(--ao-black); }
.cta-band .container { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.cta-band h2 { max-width: 730px; font-size: clamp(3rem, 10vw, 5.3rem); }
.cta-band p { max-width: 500px; font-size: 17px; }
.site-footer { padding: 52px 0 28px; background: var(--ao-black); color: var(--ao-white); }
.footer-grid { display: grid; gap: 36px; }
.footer-blurb { max-width: 300px; color: rgb(255 255 255 / .65); font-size: 14px; }
.footer-heading { margin-bottom: 15px; color: var(--ao-neon-green); font-size: 22px; letter-spacing: .05em; }
.footer-links { display: grid; gap: 10px; }
.footer-links a, .footer-links span { color: rgb(255 255 255 / .75); font-size: 14px; text-decoration: none; }
.footer-links a:hover { color: var(--ao-neon-orange); }
.social-links { display: flex; flex-wrap: wrap; gap: 9px; }
.social-link { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid rgb(255 255 255 / .25); color: rgb(255 255 255 / .88); font-size: 12px; text-decoration: none; }
.social-icon, .social-link::before { width: 20px; height: 20px; flex: 0 0 20px; }
.social-link[href*="facebook"] .social-icon { color: #1877f2; }
.social-link[href*="instagram"] .social-icon { color: #e4405f; }
.social-link:not(:has(.social-icon))::before { display: grid; place-items: center; font-size: 16px; font-weight: 800; line-height: 1; }
.social-link[href*="facebook"]:not(:has(.social-icon))::before { border-radius: 3px; background: #1877f2; color: #fff; content: "f"; font-family: Arial, sans-serif; }
.social-link[href*="instagram"]:not(:has(.social-icon))::before { border-radius: 6px; background: linear-gradient(135deg, #833ab4, #e1306c 55%, #f77737); color: #fff; content: "◎"; }
.social-link[href*="share.google"]:not(:has(.social-icon))::before { background: conic-gradient(from -35deg, #4285f4 0 25%, #34a853 0 45%, #fbbc05 0 70%, #ea4335 0); background-clip: text; color: transparent; content: "G"; font-family: Arial, sans-serif; }
.social-link:hover { border-color: var(--ao-neon-green); color: var(--ao-neon-green); }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; margin-top: 45px; padding-top: 18px; border-top: 1px solid rgb(255 255 255 / .15); color: rgb(255 255 255 / .48); font-size: 12px; }
.page-hero { padding: 62px 0; }
.page-hero h1 { max-width: 800px; margin-top: 17px; font-size: clamp(3.6rem, 12vw, 7.2rem); }
.page-hero p { max-width: 600px; margin-top: 20px; color: rgb(255 255 255 / .72); font-size: 18px; }
.notice { padding: 20px; border-left: 6px solid var(--ao-orange); background: rgb(247 148 30 / .13); }
.notice strong { display: block; margin-bottom: 5px; font-family: var(--font-display); font-size: 25px; letter-spacing: .04em; }
.service-groups { display: grid; gap: 46px; margin-top: 38px; }
.service-group { scroll-margin-top: 90px; }
.service-group h2 { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; font-size: clamp(2.5rem, 8vw, 4rem); }
.service-icon { width: 64px; height: 64px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; color: var(--ao-orange-700); }
.service-group.featured-group { padding: 25px; border: 2px solid var(--ao-orange); background: rgb(247 148 30 / .09); }
.service-list { display: grid; gap: 8px; }
.service-row { display: grid; gap: 8px; padding: 16px; border-left: 4px solid var(--ao-green); background: var(--ao-white); text-decoration: none; }
.service-row:nth-child(2n) { border-left-color: var(--ao-orange); background: var(--ao-line); }
.service-row strong { font-family: var(--font-display); font-size: 24px; letter-spacing: .03em; }
.service-row span { color: var(--ao-muted); font-size: 14px; }
.service-row .price { color: var(--ao-orange-700); font-weight: 700; font-variant-numeric: tabular-nums; }
.location-detail { display: grid; gap: 22px; padding: 28px 0; border-bottom: 1px solid var(--ao-line); scroll-margin-top: 90px; }
.location-detail:last-child { border-bottom: none; }
.location-detail h2 { font-size: clamp(2.8rem, 9vw, 5rem); }
.location-meta { display: grid; gap: 10px; color: var(--ao-muted); }
.location-meta strong { color: var(--ao-dark); }
.parking-box { padding: 18px; background: rgb(141 198 63 / .16); border-left: 5px solid var(--ao-green-700); }
.parking-box + .parking-box { margin-top: 12px; }
.parking-box p + p { margin-top: 10px; }
.parking-box a { color: var(--ao-green-700); font-weight: 700; }
.map-frame { min-height: 240px; overflow: hidden; border: 1px solid var(--ao-line); background: var(--ao-line); }
.map-frame iframe { display: block; width: 100%; min-height: 240px; height: 100%; border: 0; }
.location-photo { min-height: 220px; margin-bottom: 12px; }
.about-grid, .contact-grid, .legal-grid { display: grid; gap: 34px; }
.about-copy, .legal-copy { display: grid; gap: 18px; }
.about-copy { font-size: 18px; }
.about-copy strong { color: var(--ao-orange-700); }
.team-grid, .gallery-grid, .technician-grid { display: grid; gap: 16px; }
.team-card { background: var(--ao-white); border: 1px solid var(--ao-line); }
.team-card .photo-placeholder { min-height: 260px; }
.team-card-body { padding: 18px; }
.team-card h3 { font-size: 29px; }
.team-card p { color: var(--ao-muted); font-size: 14px; }
.technician-card { overflow: hidden; border: 1px solid var(--ao-line); background: var(--ao-white); }
.technician-illustration { min-height: 250px; display: grid; place-items: center; padding: 24px; background: var(--ao-dark); }
.technician-illustration svg { width: min(100%, 190px); height: 190px; }
.technician-card-body { padding: 20px; }
.technician-card h3 { margin-bottom: 8px; font-size: 29px; }
.technician-card h3 span { display: block; margin-top: 5px; color: var(--ao-orange-700); font-family: var(--font-body); font-size: 12px; font-weight: 700; letter-spacing: .1em; line-height: 1.3; }
.technician-card p { color: var(--ao-muted); }
.gallery-tile { min-height: 250px; }
.form-card { padding: 24px; border: 1px solid var(--ao-line); background: var(--ao-white); }
.form-card { box-shadow: 0 8px 20px rgb(40 39 40 / .08); }
.form-card h2 { margin-bottom: 20px; font-size: 38px; }
.form-card p + p { margin-top: 16px; }
.legal-copy { max-width: 800px; }
.legal-copy h2 { font-size: 32px; }
.legal-copy p, .legal-copy li { color: var(--ao-muted); }
.legal-copy ul { margin: -8px 0 0; padding-left: 22px; }
@media (max-width: 639px) {
  .desktop-nav, .header-cta { display: none; }
  .mobile-menu { display: block; position: relative; }
  .site-header .nav-wrap { min-height: 76px; }
  .logo { gap: 9px; }
  .logo-mark { width: 45px; height: 45px; }
  .logo-type { font-size: 24px; line-height: .88; }
  .logo-type small { margin-top: 5px; font-size: 8px; }
  .service-group h2 { gap: 10px; }
  .service-icon { width: 42px; height: 42px; }
  .hero { padding-top: 56px; }
  .device-label { font-size: 22px; }
}
@media (min-width: 640px) {
  .topbar { display: block; }
  .hero { padding: 88px 0 84px; }
  .photo-grid { grid-template-columns: 1.25fr .9fr; }
  .photo-placeholder:first-child { grid-row: span 2; min-height: 520px; }
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .technician-grid { grid-template-columns: repeat(3, 1fr); }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 768px) {
  .section { padding: 96px 0; }
  .hero-grid { grid-template-columns: 1fr 1fr; align-items: center; }
  .device-stack { min-height: 430px; }
  .device-card { width: 330px; height: 250px; }
  .trust-grid { grid-template-columns: repeat(5, 1fr); }
  .trust-item, .trust-item:nth-child(2n) { border-right: 1px solid rgb(0 0 0 / .18); }
  .trust-item:last-child { border-right: none; }
  .service-grid { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 1fr; }
  .service-card.featured { min-height: 190px; }
  .split-section { grid-template-columns: .68fr 1.32fr; gap: 64px; align-items: start; }
  .locations-grid { grid-template-columns: repeat(2, 1fr); }
  .cta-band .container { flex-direction: row; align-items: center; justify-content: space-between; }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1.1fr; }
  .about-grid, .contact-grid { grid-template-columns: 1fr 1fr; align-items: start; }
}
@media (min-width: 1024px) {
  .hero h1 { font-size: 6.75rem; }
  .device-stack { min-height: 560px; }
  .device-card { width: 480px; height: 360px; }
  .page-hero { padding: 92px 0; }
  .service-row { grid-template-columns: 1.6fr .7fr .9fr; align-items: center; }
  .location-detail { grid-template-columns: .8fr 1fr 1fr; align-items: start; }
  .gallery-grid { grid-template-columns: 1.1fr .9fr .9fr; }
  .gallery-tile:first-child { grid-row: span 2; }
}
@media (max-width: 119px) {
  .logo-type { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}