:root{--color-primary:#0A1628;--color-secondary:#1A2E4A;--color-accent:#D4A843;--color-accent-hover:#B8902F;--color-text:#F0F4F8;--color-text-muted:#8FA3B8;--color-border:#2A3F5F;--color-success:#2ECC71;--color-white:#FFFFFF;--color-light-bg:#F5F7FA;--font-heading:'Georgia', 'Times New Roman', serif;--font-body:'Segoe UI', 'Helvetica Neue', Arial, sans-serif;--font-mono:'Courier New', monospace;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-pill:50px;--shadow-card:0 4px 24px rgba(0, 0, 0, 0.18);--shadow-btn:0 2px 12px rgba(212, 168, 67, 0.35);--shadow-hero:0 8px 48px rgba(0, 0, 0, 0.4);--transition-fast:0.2s ease;--transition-med:0.3s ease}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background-color:var(--color-primary);color:var(--color-text);line-height:1.6;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}ol,ul{list-style:none}.skip-link{position:absolute;top:-100%;left:var(--space-md);background:var(--color-accent);color:var(--color-primary);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-weight:700;z-index:10000;transition:top var(--transition-fast)}.skip-link:focus{top:var(--space-sm)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.2;color:var(--color-white)}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.6rem,3.5vw,2.5rem)}h3{font-size:clamp(1.25rem,2.5vw,1.75rem)}h4{font-size:1.25rem}h5{font-size:1.1rem}h6{font-size:1rem}p{margin-bottom:var(--space-md);color:var(--color-text)}p:last-child{margin-bottom:0}strong{font-weight:700}.container{width:100%;max-width:1200px;margin-inline:auto;padding-inline:var(--space-lg)}.container--narrow{max-width:800px}.section{padding-block:var(--space-4xl)}.section--dark{background-color:var(--color-primary)}.section--mid{background-color:var(--color-secondary)}.section-header{text-align:center;margin-bottom:var(--space-3xl)}.section-header h2{margin-bottom:var(--space-md);position:relative;display:inline-block}.btn,.section-header h2::after{border-radius:var(--radius-pill)}.section-header h2::after{content:"";display:block;width:60px;height:3px;background:var(--color-accent);margin:var(--space-sm) auto 0}.section-header p{color:var(--color-text-muted);max-width:600px;margin-inline:auto;font-size:1.05rem}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.75rem 1.75rem;font-family:var(--font-body);font-size:1rem;font-weight:700;line-height:1;text-align:center;cursor:pointer;border:2px solid transparent;transition:all var(--transition-med);text-decoration:none;white-space:nowrap}.btn--primary{background-color:var(--color-accent);color:var(--color-primary);border-color:var(--color-accent);box-shadow:var(--shadow-btn)}.btn--primary:focus-visible,.btn--primary:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 20px rgba(212,168,67,.5)}.btn--outline{background-color:transparent;color:var(--color-white);border-color:var(--color-white)}.btn--outline:focus-visible,.btn--outline:hover{background-color:var(--color-white);color:var(--color-primary);transform:translateY(-2px)}.btn--dark{background-color:var(--color-primary);color:var(--color-accent);border-color:var(--color-primary)}.btn--dark:focus-visible,.btn--dark:hover{background-color:#05101e;color:var(--color-accent);transform:translateY(-2px)}.btn--lg{padding:1rem 2.25rem;font-size:1.1rem}.btn--full{width:100%;justify-content:center}.btn:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl)}.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:center}.split__text{display:flex;flex-direction:column;gap:var(--space-lg)}.split__text h2{margin-bottom:0}.split__image{display:flex;justify-content:center}.breadcrumb{display:flex;align-items:center;gap:var(--space-sm);font-size:.875rem;margin-bottom:var(--space-lg);flex-wrap:wrap}.breadcrumb,.breadcrumb a,.process-step p{color:var(--color-text-muted)}.breadcrumb a:hover,.breadcrumb__sep,.contact-info__text a:hover,.trust-badge svg{color:var(--color-accent)}.trust-bar{justify-content:center;gap:var(--space-xl);flex-wrap:wrap;padding:var(--space-xl);background-color:var(--color-secondary);border-top:1px solid var(--color-border)}.page-hero,.trust-badge,.trust-bar{display:flex;align-items:center}.trust-badge{gap:var(--space-sm);font-weight:600;font-size:.95rem;color:var(--color-text)}.trust-badge svg{flex-shrink:0}.page-hero{min-height:80vh;background-color:var(--color-secondary);background-image:url(../images/locksmith-san-diego-banner.webp);background-size:cover;background-position:center;position:relative;overflow:hidden;padding-block:var(--space-4xl)}.page-hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 20px,rgba(212,168,67,.03) 20px,rgba(212,168,67,.03) 40px);pointer-events:none}.page-hero__content{position:relative;z-index:1}.emergency-banner h2,.page-hero__content h1{margin-bottom:var(--space-md)}.process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl);position:relative}.process-steps::before{content:"";position:absolute;top:40px;left:calc(16.66% + 40px);right:calc(16.66% + 40px);height:2px;background:repeating-linear-gradient(90deg,var(--color-accent)0,var(--color-accent) 8px,transparent 8px,transparent 16px)}.process-step{text-align:center;padding:var(--space-xl) var(--space-md);position:relative}.process-step__number{width:80px;height:80px;border-radius:50%;background-color:var(--color-accent);color:var(--color-primary);font-family:var(--font-heading);font-size:1.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-lg);position:relative;z-index:1}.process-step h3,.process-step__icon{margin-bottom:var(--space-md);color:var(--color-accent)}.process-step__icon svg{width:40px;height:40px}.process-step h3{margin-bottom:var(--space-sm)}.process-step p{font-size:.95rem}.emergency-banner{background-color:var(--color-accent);padding:var(--space-3xl) var(--space-lg);text-align:center}.emergency-banner h2{font-size:clamp(1.75rem,4vw,2.75rem)}.emergency-banner h2,.emergency-banner h3,.emergency-banner p a{color:var(--color-primary)}.emergency-banner p,.emergency-banner__phone{color:var(--color-primary);margin-bottom:var(--space-xl)}.emergency-banner p{font-size:1.1rem;opacity:.85}.emergency-banner p a{text-decoration:underline;text-align:center}.emergency-banner__phone{display:block;font-family:var(--font-mono);font-size:clamp(2rem,5vw,3rem);font-weight:700;text-decoration:none}.emergency-banner__phone:hover{color:var(--color-secondary)}.feature-list{display:flex;flex-direction:column;gap:var(--space-lg)}.feature-item{display:flex;gap:var(--space-md);align-items:flex-start}.feature-item__icon{width:40px;height:40px;border-radius:50%;background-color:rgba(212,168,67,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-accent)}.feature-item__icon svg{width:20px;height:20px}.feature-item__text h4,.form-group label{color:var(--color-white);margin-bottom:var(--space-xs)}.feature-item__text p{color:var(--color-text-muted);font-size:.95rem;margin:0}.form-group{margin-bottom:var(--space-lg)}.form-group label{display:block;font-weight:600;font-size:.9rem;color:var(--color-text)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem var(--space-md);background-color:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-body);font-size:1rem;transition:border-color var(--transition-fast);appearance:none;-webkit-appearance:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:0;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(212,168,67,.15)}.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238FA3B8' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer}.form-group textarea{resize:vertical;min-height:120px}.contact-info{display:flex;flex-direction:column;gap:var(--space-xl)}.contact-info__item{display:flex;gap:var(--space-md);align-items:flex-start}.contact-info__icon{width:44px;height:44px;border-radius:50%;background-color:rgba(212,168,67,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-accent)}.contact-info__icon svg{width:22px;height:22px}.contact-info__text h4{margin-bottom:var(--space-xs);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.contact-info__text a,.contact-info__text p{color:var(--color-text);font-size:1.05rem;margin:0}.hours-table{width:100%;border-collapse:collapse;margin-top:var(--space-sm)}.hours-table td{padding:var(--space-xs)0;font-size:.9rem;color:var(--color-text-muted)}.hours-table td:first-child{font-weight:600;color:var(--color-text);width:120px}.hours-available{color:var(--color-success)!important;font-weight:600}.accordion{border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)}.accordion-item{border-bottom:1px solid var(--color-border)}.accordion-item:last-child{border-bottom:none}.accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);background-color:var(--color-secondary);border:0;cursor:pointer;text-align:left;font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--color-white);transition:background-color var(--transition-fast);gap:var(--space-md)}.accordion-trigger:hover{background-color:rgba(42,63,95,.8)}.accordion-trigger:focus-visible{outline:3px solid var(--color-accent);outline-offset:-3px}.accordion-icon{flex-shrink:0;color:var(--color-accent);transition:transform var(--transition-med);width:20px;height:20px}.accordion-item.open .accordion-icon{transform:rotate(180deg)}.accordion-body{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s ease;background-color:var(--color-primary)}.accordion-item.open .accordion-body{max-height:500px}.accordion-body__inner{padding:var(--space-lg) var(--space-xl);color:var(--color-text-muted);font-size:.95rem;line-height:1.7}.service-card{background-color:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);transition:transform var(--transition-med),box-shadow var(--transition-med),border-color var(--transition-med);display:flex;flex-direction:column;gap:var(--space-md)}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card);border-color:var(--color-accent)}.service-card__icon{width:60px;height:60px;border-radius:var(--radius-md);background-color:rgba(212,168,67,.12);display:flex;align-items:center;justify-content:center;color:var(--color-accent)}.service-card__icon svg{width:32px;height:32px}.service-card__img{width:350px;height:350px;object-fit:cover;border-radius:var(--radius-md);display:block;margin:0 auto var(--space-md)}.service-card__cta{margin-top:auto;text-align:center}.service-card h3{font-size:1.2rem;color:var(--color-white);margin:0}.service-card p{flex:1}.value-card,.value-card__icon{display:flex;align-items:center}.value-card{background-color:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);text-align:center;flex-direction:column;gap:var(--space-md)}.value-card__icon{width:70px;height:70px;border-radius:50%;background-color:rgba(212,168,67,.12);justify-content:center;color:var(--color-accent)}.value-card__icon svg{width:34px;height:34px}.value-card h3{font-size:1.15rem;color:var(--color-white)}.service-card p,.value-card p{color:var(--color-text-muted);font-size:.9rem;margin:0}.trust-points{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-xl);padding:var(--space-2xl)0}.trust-point{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-sm)}.trust-point svg{color:var(--color-accent);width:36px;height:36px}.trust-point span{font-weight:600;font-size:.9rem;color:var(--color-text)}.image-row{display:grid;grid-template-columns:repeat(3,350px);gap:var(--space-xl);justify-content:center}.pt-1{padding-top:1rem}.footer-trust-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:600;color:var(--color-text-muted);background:rgba(212,168,67,.07);border:1px solid rgba(212,168,67,.2);border-radius:2em;padding:.2em .65em;white-space:nowrap}.cta-info-card{background:rgba(255,255,255,.06);border:1px solid rgba(212,168,67,.25);border-radius:12px;padding:var(--space-xl);text-align:center;transition:transform .2s,border-color .2s}.cta-info-card:hover{transform:translateY(-4px);border-color:rgba(212,168,67,.6)}.cta-info-card h3{color:var(--color-accent);font-size:1.1rem;margin-bottom:var(--space-sm)}.cta-info-card p{color:var(--color-text-muted);font-size:.95rem;margin-bottom:var(--space-md)}