:root{--color-primary: #1a4f8a;--color-primary-dark: #133a67;--color-accent: #f5a623;--color-accent-dark: #d4891a;--color-text: #1c2535;--color-text-light: #4b5563;--color-bg: #ffffff;--color-bg-alt: #f3f4f6;--color-border: #e5e7eb;--color-white: #ffffff;--space-xs: 0.25rem;--space-sm: 0.5rem;--space-md: 1rem;--space-lg: 2rem;--space-xl: 3rem;--space-xxl: 5rem;--font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;--max-width: 1200px;--header-height: 120px;--ease: 0.2s ease-in-out}*, *::before, *::after{box-sizing: border-box;margin: 0;padding: 0}html{font-size: 16px;scroll-behavior: smooth;overflow-x: hidden}body{font-family: var(--font-family);font-size: 1rem;line-height: 1.7;color: var(--color-text);background-color: var(--color-bg);-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale}body.nav-open{overflow: hidden;position: fixed;width: 100%}ul, ol{list-style: none}a{color: inherit;text-decoration: none}img{max-width: 100%;height: auto;display: block}button{cursor: pointer;background: none;border: none;font-family: inherit;font-size: inherit}input, textarea, select{font-family: inherit;font-size: inherit}h1, h2, h3, h4, h5, h6{font-weight: 700;line-height: 1.2;color: var(--color-text)}h1{font-size: 2rem}h2{font-size: 1.5rem}h3{font-size: 1.25rem}p{margin-bottom: var(--space-md)}p:last-child{margin-bottom: 0}.container{width: 100%;max-width: var(--max-width);margin: 0 auto;padding: 0 var(--space-md)}.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}.skip-link{position: absolute;top: -100%;left: 0;z-index: 9999;padding: var(--space-sm) var(--space-md);background-color: var(--color-primary);color: var(--color-white);font-weight: 600;text-decoration: none;transition: top var(--ease)}.skip-link:focus{top: 0}.site-header{position: sticky;top: 0;z-index: 1000;background-color: var(--color-white);border-bottom: 1px solid var(--color-border);transition: box-shadow var(--ease)}.site-header.is-scrolled{box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08)}.header-inner{display: flex;align-items: center;justify-content: space-between;height: var(--header-height);max-width: var(--max-width);margin: 0 auto;padding: 0 var(--space-md);gap: var(--space-md)}.header-logo a{display: flex;align-items: center}.header-logo img{-webkit-backface-visibility: hidden;backface-visibility: hidden;transform: translateZ(0)}.nav-desktop{display: none}.nav-desktop>ul{display: flex;align-items: center;gap: var(--space-lg)}.nav-desktop>ul>li>a{font-size: 0.9375rem;font-weight: 500;color: var(--color-text);padding: var(--space-xs) 0;border-bottom: 2px solid transparent;transition: color var(--ease), border-color var(--ease);white-space: nowrap}.nav-desktop>ul>li>a:hover, .nav-desktop>ul>li>a[aria-current="page"]{color: var(--color-primary);border-bottom-color: var(--color-primary)}a:focus-visible, button:focus-visible, summary:focus-visible, select:focus-visible, input:focus-visible, textarea:focus-visible{outline: 3px solid var(--color-accent);outline-offset: 2px}.nav-item--dropdown{position: relative}.nav-item--dropdown>a::after{content: ' \25BE';font-size: 0.75rem}.dropdown-menu{display: none;position: absolute;top: 100%;left: 0;min-width: 230px;background-color: var(--color-white);border: 1px solid var(--color-border);border-top: 3px solid var(--color-primary);padding: var(--space-sm) 0;box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);z-index: 200}.nav-item--dropdown:hover .dropdown-menu, .nav-item--dropdown:focus-within .dropdown-menu{display: block}.dropdown-menu li a{display: block;padding: var(--space-sm) var(--space-md);font-size: 0.9rem;color: var(--color-text);transition: background-color var(--ease), color var(--ease)}.dropdown-menu li a:hover{background-color: var(--color-bg-alt);color: var(--color-primary)}.hamburger-btn{display: flex;flex-direction: column;justify-content: space-around;width: 40px;height: 40px;padding: var(--space-xs);border-radius: 4px;flex-shrink: 0}.hamburger-btn span{display: block;width: 100%;height: 2px;background-color: var(--color-text);border-radius: 2px;transition: transform var(--ease), opacity var(--ease)}.hamburger-btn.is-active span:nth-child(1){transform: translateY(9px) rotate(45deg)}.hamburger-btn.is-active span:nth-child(2){opacity: 0}.hamburger-btn.is-active span:nth-child(3){transform: translateY(-9px) rotate(-45deg)}.nav-mobile{display: none;position: fixed;top: var(--header-height);left: 0;right: 0;bottom: 0;background-color: var(--color-white);overflow-y: auto;z-index: 999;padding: 0 0 var(--space-lg);border-top: 1px solid var(--color-border)}.nav-mobile.is-open{display: block}.nav-mobile>ul>li{border-bottom: 1px solid var(--color-border)}.nav-mobile>ul>li>a{display: block;padding: var(--space-md) var(--space-lg);font-weight: 600;font-size: 1rem;color: var(--color-text);transition: color var(--ease), background-color var(--ease)}.nav-mobile>ul>li>a:hover{color: var(--color-primary);background-color: var(--color-bg-alt)}.mobile-dropdown{border-bottom: 1px solid var(--color-border)}.mobile-dropdown-toggle{display: flex;justify-content: space-between;align-items: center;width: 100%;padding: var(--space-md) var(--space-lg);font-weight: 600;font-size: 1rem;color: var(--color-text);background: none;border: none;cursor: pointer;text-align: left;transition: color var(--ease), background-color var(--ease)}.mobile-dropdown-toggle:hover{color: var(--color-primary);background-color: var(--color-bg-alt)}.mobile-dropdown-toggle::after{content: '\25BE';font-size: 0.875rem;transition: transform var(--ease)}.mobile-dropdown.is-open .mobile-dropdown-toggle::after{transform: rotate(-180deg)}.mobile-dropdown-menu{display: none;background-color: var(--color-bg-alt);border-top: 1px solid var(--color-border)}.mobile-dropdown.is-open .mobile-dropdown-menu{display: block}.mobile-dropdown-menu li{border-bottom: 1px solid var(--color-border)}.mobile-dropdown-menu li:last-child{border-bottom: none}.mobile-dropdown-menu li a{display: block;padding: var(--space-sm) var(--space-xl);font-size: 0.9rem;color: var(--color-text);transition: color var(--ease), background-color var(--ease)}.mobile-dropdown-menu li a:hover{color: var(--color-primary);background-color: var(--color-border)}.hero__tagline{font-size: 1.125rem;font-weight: 600;color: var(--color-text-light);margin-bottom: var(--space-lg)}.page-hero{background-color: var(--color-primary);background-image: url("/images/north-florida-locksmith-hero-banner.webp");background-size: cover;background-position: center;background-repeat: no-repeat;color: var(--color-white);padding: var(--space-xl) 0;height: 720px;display: flex;align-items: center}.page-hero h1{color: var(--color-white);margin-bottom: var(--space-md)}.page-hero .hero__tagline{color: rgba(255, 255, 255, 0.85);margin-bottom: var(--space-lg)}.page-hero--short{padding: var(--space-lg) 0}.btn{display: inline-flex;align-items: center;justify-content: center;padding: 0.75rem 1.5rem;min-height: 48px;font-size: 1rem;font-weight: 600;line-height: 1.2;border-radius: 6px;border: 2px solid transparent;text-decoration: none;cursor: pointer;transition: background-color var(--ease), color var(--ease), border-color var(--ease);white-space: nowrap}.btn--primary{background-color: var(--color-primary);color: var(--color-white);border-color: var(--color-primary)}.btn--primary:hover{background-color: var(--color-primary-dark);border-color: var(--color-primary-dark)}.btn--accent{background-color: var(--color-accent);color: var(--color-text);border-color: var(--color-accent)}.btn--accent:hover{background-color: var(--color-accent-dark);border-color: var(--color-accent-dark);color: var(--color-text)}.btn--outline{background-color: transparent;color: var(--color-primary);border-color: var(--color-primary)}.btn--outline:hover{background-color: var(--color-primary);color: var(--color-white)}.btn--large{padding: 1rem 2rem;font-size: 1.125rem;min-height: 56px}.btn--full{width: 100%}.services-grid{padding: var(--space-xl) 0;background-color: var(--color-bg)}.services-grid .container>h2{margin-bottom: var(--space-lg)}.services-grid__cards{display: grid;grid-template-columns: minmax(0, 1fr);gap: var(--space-md)}.service-card{background-color: var(--color-bg-alt);border: 1px solid var(--color-border);border-radius: 8px;padding: var(--space-lg);display: flex;flex-direction: column;gap: var(--space-sm)}.service-card__image{text-align: center}.service-card__image img{display: block;width: 100%;height: auto;max-width: 350px;margin: 0 auto;border-radius: 6px;object-fit: cover}.service-card h3{margin-bottom: 0}.service-card h3 a{color: var(--color-primary);transition: color var(--ease)}.service-card h3 a:hover{color: var(--color-primary-dark);text-decoration: underline}.service-card p{color: var(--color-text-light);flex: 1}.service-card .btn{white-space: normal;align-self: stretch;justify-content: center;text-align: center}.locations-section{padding: var(--space-xl) 0;background-color: var(--color-bg)}.locations-section .container>h2{margin-bottom: var(--space-lg)}.locations-cards{display: grid;grid-template-columns: minmax(0, 1fr);gap: var(--space-lg);margin-top: var(--space-lg)}.location-card{background-color: var(--color-bg-alt);border: 1px solid var(--color-border);border-radius: 8px;padding: var(--space-lg);display: flex;flex-direction: column;gap: var(--space-sm)}.location-card h3{color: var(--color-primary);margin-bottom: 0}.location-card p{color: var(--color-text-light);flex: 1}.location-card__link{display: inline-block;margin-top: var(--space-sm);padding: var(--space-sm) var(--space-md);background-color: var(--color-primary);color: var(--color-white);border-radius: 6px;font-weight: 600;font-size: 0.9rem;text-align: center;transition: background-color var(--ease)}.location-card__link:hover{background-color: var(--color-primary-dark);color: var(--color-white)}.testimonials{padding: var(--space-xl) 0;background-color: var(--color-bg-alt)}.testimonials .container>h2{text-align: center;margin-bottom: var(--space-lg)}.testimonials__grid{display: grid;grid-template-columns: 1fr;gap: var(--space-md)}.testimonial-card{background-color: var(--color-white);border: 1px solid var(--color-border);border-left: 4px solid var(--color-primary);border-radius: 6px;padding: var(--space-lg);margin: 0}.testimonial-card p{font-style: italic;color: var(--color-text);margin-bottom: var(--space-md)}.testimonial-card cite{font-style: normal;font-weight: 600;font-size: 0.875rem;color: var(--color-text-light);display: block}.testimonials--compact{padding: var(--space-lg) 0}.faqs{padding: var(--space-xl) 0;background-color: var(--color-bg)}.faqs .container>h2{text-align: center;margin-bottom: var(--space-lg)}.faqs__list{max-width: 780px;margin: 0 auto;display: flex;flex-direction: column;gap: var(--space-sm)}.faq-item{border: 1px solid var(--color-border, #e2e8f0);border-radius: 6px;overflow: hidden}.faq-item__question{display: block;padding: var(--space-md);font-weight: 600;cursor: pointer;list-style: none;position: relative;padding-right: 2.5rem;background-color: var(--color-bg-alt)}.faq-item__question::-webkit-details-marker{display: none}.faq-item__question::after{content: '+';position: absolute;right: var(--space-md);top: 50%;transform: translateY(-50%);font-size: 1.25rem;line-height: 1;color: var(--color-primary)}.faq-item[open] .faq-item__question::after{content: '−'}.faq-item__answer{padding: var(--space-md);border-top: 1px solid var(--color-border, #e2e8f0)}.faq-item__answer p{margin: 0}.cta-section{padding: var(--space-xl) 0;background-color: var(--color-primary);color: var(--color-white)}.cta-section .container>h2{color: var(--color-white);margin-bottom: var(--space-md)}.cta-section .container>p{color: rgba(255, 255, 255, 0.85);margin-bottom: var(--space-lg)}.cta-section li{color: var(--color-white) !important}.inline-cta{padding: var(--space-lg) var(--space-md);background-color: var(--color-bg-alt);border-top: 1px solid var(--color-border);border-bottom: 1px solid var(--color-border);text-align: center}.inline-cta .container{display: flex;flex-direction: column;align-items: center;gap: var(--space-md)}.inline-cta p{font-weight: 600;font-size: 1.0625rem;margin: 0}.pricing-section{padding: var(--space-xl) 0;background-color: var(--color-bg)}.pricing-section .container>h2{margin-bottom: var(--space-lg);text-align: center}.pricing-table{border: 1px solid var(--color-border);border-radius: 8px;overflow: hidden;overflow-x: auto}.pricing-row{display: grid;grid-template-columns: 1fr 1fr 1fr;border-bottom: 1px solid var(--color-border)}.pricing-row:last-child{border-bottom: none}.pricing-row span{padding: var(--space-sm) var(--space-md);font-size: 0.9rem;display: flex;align-items: center}.pricing-row span:not(:last-child){border-right: 1px solid var(--color-border)}.pricing-row--header{background-color: var(--color-primary)}.pricing-row--header span{color: var(--color-white);font-weight: 700}.pricing-row:not(.pricing-row--header):nth-child(even){background-color: var(--color-bg-alt)}.faq-section{padding: var(--space-xl) 0;background-color: var(--color-bg-alt)}.faq-section .container>h2{text-align: center;margin-bottom: var(--space-lg)}.faq-list{max-width: 800px;margin: 0 auto;display: flex;flex-direction: column;gap: var(--space-sm)}.faq-item{background-color: var(--color-white);border: 1px solid var(--color-border);border-radius: 6px;overflow: hidden;transition: border-color var(--ease)}.faq-item[open]{border-color: var(--color-primary)}.faq-item__question{padding: var(--space-md) var(--space-lg);font-weight: 600;font-size: 1rem;cursor: pointer;list-style: none;display: flex;justify-content: space-between;align-items: center;color: var(--color-text);transition: color var(--ease), background-color var(--ease);user-select: none}.faq-item__question::-webkit-details-marker{display: none}.faq-item__question::after{content: '+';font-size: 1.375rem;font-weight: 300;color: var(--color-primary);flex-shrink: 0;margin-left: var(--space-md);transition: transform var(--ease)}.faq-item[open] .faq-item__question::after{content: '\2212'}.faq-item__question:hover{color: var(--color-primary);background-color: var(--color-bg-alt)}.faq-item__answer{padding: var(--space-md) var(--space-lg);border-top: 1px solid var(--color-border);color: var(--color-text-light)}.breadcrumb{padding: var(--space-sm) 0;background-color: var(--color-bg-alt);border-bottom: 1px solid var(--color-border)}.breadcrumb__list{display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-xs);font-size: 0.875rem}.breadcrumb__list li{display: flex;align-items: center;color: var(--color-text-light)}.breadcrumb__list li:not(:last-child)::after{content: '/';margin-left: var(--space-xs);color: var(--color-border)}.breadcrumb__list li a{color: var(--color-primary);text-decoration: underline;transition: color var(--ease)}.breadcrumb__list li a:hover{color: var(--color-primary-dark)}.breadcrumb__list li[aria-current="page"]{color: var(--color-text);font-weight: 500}.content-section{padding: var(--space-xl) 0;background-color: var(--color-bg)}.detail-section{padding: var(--space-xl) 0;background-color: var(--color-bg)}.detail-section:nth-of-type(even){background-color: var(--color-bg-alt)}.detail-section .container{display: grid;grid-template-columns: 1fr;gap: var(--space-lg);align-items: start}.detail-section .container>h2, .detail-section .container>p{grid-column: 1 / -1;margin-bottom: 0}.detail-block{background-color: var(--color-white);border: 1px solid var(--color-border);border-radius: 8px;padding: var(--space-lg);box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06)}.detail-block h3{color: var(--color-primary);margin-bottom: var(--space-md)}.contact-section{padding: var(--space-xl) 0}.contact-section__grid{display: grid;grid-template-columns: 1fr;gap: var(--space-xl)}.contact-info>h2{margin-bottom: var(--space-lg)}.contact-info__item{margin-bottom: var(--space-md);padding-bottom: var(--space-md);border-bottom: 1px solid var(--color-border)}.contact-info__item:last-child{border-bottom: none}.contact-info__item strong{display: block;margin-bottom: var(--space-xs);font-size: 0.875rem;text-transform: uppercase;letter-spacing: 0.05em;color: var(--color-text-light)}.contact-info__item a{color: var(--color-primary);font-size: 1.25rem;font-weight: 700;text-decoration: underline}.contact-info__item p{color: var(--color-text);margin-bottom: 0}.contact-form-wrapper>h2{margin-bottom: var(--space-lg)}.contact-form{display: flex;flex-direction: column;gap: var(--space-md)}.form-group{display: flex;flex-direction: column;gap: var(--space-xs)}.form-group label{font-weight: 600;font-size: 0.9375rem;color: var(--color-text)}.form-group input, .form-group textarea, .form-group select{width: 100%;padding: 0.75rem var(--space-md);border: 1px solid var(--color-border);border-radius: 6px;font-size: 1rem;color: var(--color-text);background-color: var(--color-white);min-height: 48px;transition: border-color var(--ease), box-shadow var(--ease)}.form-group input:focus, .form-group textarea:focus, .form-group select:focus{outline: none;border-color: var(--color-primary);box-shadow: 0 0 0 3px rgba(26, 79, 138, 0.15)}.form-group textarea{resize: vertical;min-height: 120px}.site-footer{background-color: var(--color-text);color: var(--color-white);padding-top: var(--space-xl)}.footer-inner{display: grid;grid-template-columns: 1fr;gap: var(--space-xl);padding: 0 var(--space-md) var(--space-xl);max-width: var(--max-width);margin: 0 auto}.footer-col h3{color: var(--color-white);font-size: 0.875rem;text-transform: uppercase;letter-spacing: 0.08em;margin-bottom: var(--space-md)}.footer-col p, .footer-col li, .footer-col a{font-size: 0.9rem;color: rgba(255, 255, 255, 0.7);line-height: 1.7}.footer-col a{text-decoration: none;transition: color var(--ease)}.footer-col a:hover{color: var(--color-white);text-decoration: underline}.footer-col--brand img{margin-bottom: var(--space-md)}.footer-col--brand>a{display: block;font-size: 1.125rem;font-weight: 700;color: var(--color-white);margin-top: var(--space-sm)}.footer-col ul{display: flex;flex-direction: column;gap: var(--space-sm)}.footer-bottom{border-top: 1px solid rgba(255, 255, 255, 0.12);padding: var(--space-md);display: flex;flex-direction: column;align-items: center;gap: var(--space-sm);text-align: center;max-width: var(--max-width);margin: 0 auto}.footer-bottom p{font-size: 0.875rem;color: rgba(255, 255, 255, 0.5)}.footer-bottom nav{display: flex;gap: var(--space-md)}.footer-bottom nav a{font-size: 0.875rem;color: rgba(255, 255, 255, 0.55);text-decoration: underline;transition: color var(--ease)}.footer-bottom nav a:hover{color: var(--color-white)}.sticky-call-btn{position: fixed;bottom: 5rem;right: 1.5rem;left: auto;z-index: 900;display: flex;align-items: center;gap: 0.5rem;padding: 0.75rem 1.25rem;border-radius: 9999px;background-color: var(--color-accent);color: var(--color-text);font-size: 0.9375rem;font-weight: 700;text-decoration: none;box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);transition: background-color var(--ease), transform 0.2s ease, box-shadow 0.2s ease}.sticky-call-btn:hover{background-color: var(--color-accent-dark);color: var(--color-text);transform: translateY(-2px);box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3)}.sticky-call-btn.is-hidden{transform: translateY(110%)}.sticky-call-btn .phone-icon{width: 18px;height: 18px;flex-shrink: 0}@media (min-width: 768px){.locations-cards{grid-template-columns: repeat(2, minmax(0, 1fr))}h1{font-size: 2.5rem}.container{padding: 0 var(--space-lg)}.header-inner{padding: 0 var(--space-lg)}.services-grid__cards{grid-template-columns: repeat(2, 1fr)}.testimonials__grid{grid-template-columns: repeat(2, 1fr)}.contact-section__grid{grid-template-columns: 1fr 1fr}.footer-inner{grid-template-columns: repeat(2, 1fr);padding: 0 var(--space-lg) var(--space-xl)}.footer-bottom{flex-direction: row;justify-content: space-between;padding: var(--space-md) var(--space-lg)}.sticky-call-btn{bottom: 4rem;right: 2rem}.inline-cta .container{flex-direction: row;justify-content: center}.detail-section .container{grid-template-columns: repeat(2, 1fr)}}@media (min-width: 1024px){h1{font-size: 2.75rem}h2{font-size: 2rem}h3{font-size: 1.5rem}.container{padding: 0 var(--space-xl)}.nav-desktop{display: flex;align-items: center}.hamburger-btn{display: none}.locations-cards{grid-template-columns: repeat(3, minmax(0, 1fr))}.services-grid__cards{grid-template-columns: repeat(2, minmax(0, 1fr))}.testimonials__grid{grid-template-columns: repeat(3, 1fr)}.detail-section .container{grid-template-columns: repeat(3, 1fr)}.footer-inner{grid-template-columns: repeat(4, 1fr);padding: 0 var(--space-xl) var(--space-xl)}.footer-bottom{padding: var(--space-md) var(--space-xl)}}@media (min-width: 1280px){.hero{padding: var(--space-xxl) var(--space-lg)}.container{padding: 0 var(--space-lg)}.footer-inner{padding: 0 var(--space-lg) var(--space-xl)}.footer-bottom{padding: var(--space-md) var(--space-lg)}}.pt-1{padding-top: 1rem}main section ul:not([class]){list-style: disc;padding-left: 1.5rem;margin-top: var(--space-sm);margin-bottom: var(--space-md)}main section ul:not([class]) li{margin-bottom: var(--space-xs);color: var(--color-text)}main section ol:not([class]){list-style: decimal;padding-left: 1.5rem;margin-top: var(--space-sm);margin-bottom: var(--space-md)}main section ol:not([class]) li{margin-bottom: var(--space-xs);color: var(--color-text)}.cards-grid-section{padding: var(--space-xl) 0;background-color: var(--color-bg-alt)}.cards-grid-section .container>h2{text-align: center;margin-bottom: var(--space-lg);color: var(--color-primary)}.cards-grid{display: grid;grid-template-columns: repeat(3, 1fr);gap: var(--space-lg)}.info-card{background-color: var(--color-white);border: 1px solid var(--color-border);border-radius: 8px;padding: var(--space-lg);display: flex;flex-direction: column;gap: var(--space-sm)}.info-card h3{font-size: 1.125rem;color: var(--color-primary);margin: 0}.info-card p{font-size: 0.9375rem;color: var(--color-text-light);line-height: 1.65;margin: 0}@media (max-width: 900px){.cards-grid{grid-template-columns: repeat(2, 1fr)}}@media (max-width: 560px){.cards-grid{grid-template-columns: 1fr}.info-card{padding: var(--space-md)}}.map-section{padding: var(--space-xl) 0}.map-embed{position: relative;width: 100%;margin-top: var(--space-md);border-radius: 8px;overflow: hidden}.map-embed iframe{display: block;width: 100%;height: 400px;border: 0}@media (max-width: 600px){.map-embed iframe{height: 280px}}.pb-1{padding-bottom: 1rem}