@font-face{font-family:Manrope;src:url("/static/themes/locksmith/fonts/manrope-latin.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
:root{--directory-background:#f5f6f8;--directory-surface:#ffffff;--directory-text:#1c2430;--directory-muted:#667084;--directory-line:#e6e8ee;--directory-link:#0f4c81;--directory-radius:16px;--directory-width:1080px;--motion:cubic-bezier(0.32,0.72,0,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-padding-top:16px}body{margin:0;background:var(--directory-background);color:var(--directory-text);font-family:Manrope,sans-serif;font-size:16px;line-height:24px;overflow-wrap:break-word}a{color:var(--directory-link);text-decoration:none;text-underline-offset:.2em}a:hover{color:var(--directory-link);text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--directory-muted);outline-offset:3px}button,input,textarea{font:inherit}button{min-height:44px;padding:9px 18px;border:1px solid var(--directory-line);border-radius:9px;background:var(--directory-background);color:var(--directory-text);font-weight:600;line-height:1.4;cursor:pointer}button:hover{border-color:var(--directory-muted)}input:not([type="checkbox"]),textarea{min-width:0;max-width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--directory-line);border-radius:9px;background:var(--directory-surface);color:var(--directory-text);line-height:1.4}input::placeholder,textarea::placeholder{color:var(--directory-muted);opacity:1}textarea{min-height:112px;resize:vertical}
h1,h2,h3{color:var(--directory-text);font-weight:650;line-height:1.2;overflow-wrap:anywhere}h1{margin:0 0 28px;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.035em}h2{margin:0 0 20px;font-size:clamp(1.3rem,2.5vw,1.65rem);letter-spacing:-.02em}h3{margin:0 0 12px;font-size:1.125rem;letter-spacing:-.01em}p{margin:0 0 16px}.small,small{font-size:.875rem}.container{width:100%;max-width:var(--directory-width);margin-right:auto;margin-left:auto;padding-right:24px;padding-left:24px}
.directory-skip{position:fixed;top:8px;left:16px;z-index:1200;padding:10px 16px;border:1px solid var(--directory-line);border-radius:9px;background:var(--directory-surface);transform:translateY(-160%)}.directory-skip:focus{transform:translateY(0)}#header{position:static;z-index:1030;border-bottom:1px solid var(--directory-line);background:var(--directory-surface);box-shadow:none}.directory-utility{border-bottom:1px solid var(--directory-line)}.directory-utility-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;padding-top:7px;padding-bottom:7px;font-size:.8125rem}.directory-phone{min-width:0}.directory-phone .bi{margin-right:5px}.directory-utility-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:20px;margin-left:auto}.directory-header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:19px;padding-bottom:19px}.directory-brand{min-width:0;max-width:55%;font-size:clamp(1.1rem,2.5vw,1.35rem);font-weight:700;line-height:1.3;letter-spacing:-.025em;overflow-wrap:anywhere}.directory-search{display:flex;flex:0 1 370px;align-items:stretch;gap:8px;min-width:0;margin:0}.directory-search input{flex:1 1 0;width:0;min-width:0}.directory-search button{flex:0 0 auto}
.directory-breadcrumbs{padding-top:24px}.breadcrumb{display:flex;flex-wrap:wrap;gap:4px 0;margin:0;padding:0;background:transparent;color:var(--directory-muted);font-size:.875rem;list-style:none}.breadcrumb-item{min-width:0;overflow-wrap:anywhere}.breadcrumb-item+.breadcrumb-item::before{color:var(--directory-muted)}.breadcrumb-item[aria-current="page"]{color:var(--directory-muted)}.main{min-height:48vh;padding-top:36px;padding-bottom:48px}.main.home{padding-top:0;padding-bottom:0}#main-content:focus{outline:none}.directory-section{margin-top:40px}.readable-copy{max-width:65ch}.service-intro{max-width:none}.readable-copy p,.service-intro{white-space:pre-line}.place-title{font-size:clamp(2.25rem,4.5vw,3.25rem)}
#states{scroll-margin-top:16px}
.company-grid,.service-grid,.state-grid,.fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.company-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.company-card,.service-card,.state-card,.fact-card,.license-panel,.cta{min-width:0;padding:18px;border:1px solid var(--directory-line);border-radius:var(--directory-radius);background:var(--directory-surface);box-shadow:none}.company-card h3{margin-bottom:14px}.company-address{margin-bottom:14px;color:var(--directory-muted);font-size:.9375rem;line-height:1.6}.company-contact{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:.9375rem}.company-contact a{max-width:100%;overflow-wrap:anywhere}.company-hours{margin-top:14px;margin-bottom:0;margin-left:0;padding-left:0;list-style:none;color:var(--directory-muted);font-size:.875rem;line-height:1.6}.company-hours .badge{margin-left:8px;vertical-align:middle}.company-caption{margin-top:16px;margin-bottom:0;color:var(--directory-muted)}.company-overview-link{margin-top:20px;margin-bottom:0}
.service-card{display:flex;flex-direction:column;align-items:flex-start;gap:10px}a.service-card:hover{border-color:var(--directory-muted);text-decoration:none}a.service-card:hover .service-card-title{text-decoration:underline}.service-card-title{font-size:1.0625rem;font-weight:650;line-height:1.35}.service-card-description{color:var(--directory-muted);font-size:.9375rem;line-height:1.6}.service-card-range{margin-top:auto;color:var(--directory-text);font-size:.875rem;line-height:1.5}.copy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:40px}.copy-tile{min-width:0;padding:18px;border:1px solid var(--directory-line);border-radius:var(--directory-radius);background:var(--directory-surface);box-shadow:none}.copy-tile h2{margin-bottom:12px}.copy-tile p{margin-bottom:0;white-space:pre-line}.home-service-card{flex-direction:row;align-items:center;gap:12px}.home-service-card i{flex:0 0 auto;color:var(--directory-muted);font-size:1.125rem}.home-service-card h3{margin:0;font-size:1rem}.state-card h3{margin-bottom:14px}.state-place-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;font-size:.9375rem;list-style:none}.fact-grid{margin-bottom:32px}.fact-grid:empty{display:none}.fact-value{margin-bottom:6px;font-size:1.75rem;font-weight:650;line-height:1.2;letter-spacing:-.025em;overflow-wrap:anywhere}.fact-caption{margin:0;color:var(--directory-muted);font-size:.9375rem;line-height:1.5}.fact-source{margin:10px 0 0;color:var(--directory-muted);font-size:.8125rem}.state-facts{grid-template-columns:repeat(2,minmax(0,1fr));max-width:660px;margin-right:auto;margin-left:auto}.license-panel{max-width:75ch;margin-right:auto;margin-left:auto}.license-board{font-weight:600}.license-lookup{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 18px;border:1px solid var(--directory-link);border-radius:9px;background:var(--directory-link);color:#ffffff;font-weight:600;text-decoration:none}.license-lookup:hover,.license-lookup:focus{background:var(--directory-link);color:#ffffff;text-decoration:underline}
.cta{margin-top:28px;margin-bottom:32px}.cta-call{text-align:center}.cta-call .partner-availability,.cta-call .partner-disclosure{margin-right:auto;margin-left:auto}.cta .callbar{min-height:56px;padding:15px 34px;font-size:1.125rem}.partner-availability{max-width:65ch;margin-bottom:16px;font-weight:600}.callbar{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 22px;border:1px solid var(--directory-link);border-radius:999px;background:var(--directory-link);color:#ffffff;font-size:1rem;font-weight:650;line-height:1.4;text-align:center;text-decoration:none}.callbar:hover,.callbar:focus{background:var(--directory-link);color:#ffffff;text-decoration:underline}.partner-disclosure{max-width:70ch;margin:16px 0 0;color:var(--directory-muted);font-size:.875rem}.cta form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:680px}.cta form label{display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--directory-text);font-size:.9375rem}.cta form input:not([type="checkbox"]),.cta form textarea{width:100%}.cta form label:has(textarea),.cta form label:has(input[type="checkbox"]),.cta form p{grid-column:1/-1}.cta form label:has(input[type="checkbox"]){flex-direction:row;align-items:center;gap:9px}.cta form input[type="checkbox"]{flex:0 0 auto;width:17px;height:17px;margin:0;accent-color:var(--directory-text)}.cta form p{color:var(--directory-muted)}.cta form button{justify-self:start}.calldock{display:none}.calldock.is-on{position:fixed;left:0;right:0;bottom:0;z-index:1040;display:flex;align-items:center;justify-content:center;width:100%;max-width:none;min-height:96px;padding:16px 20px;border-radius:0;background:rgba(255,255,255,.94)}.calldock .callbar{max-width:100%;min-height:48px;padding:12px 24px;white-space:nowrap}
#place-map,#state-map{position:relative;z-index:0;display:block;width:100%;margin-top:16px;margin-bottom:20px;border:1px solid var(--directory-line);border-radius:var(--directory-radius);overflow:hidden}#place-map{height:466px}#state-map{height:350px}.service-card-range-note{font-size:.75rem;font-style:italic}.zip-filter{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0}.zip-filter label{margin-right:4px;color:var(--directory-muted);font-size:.875rem}.zip-filter input{flex:0 1 112px;width:112px}.zip-filter button{padding-right:16px;padding-left:16px}
.directory-table-wrap{width:100%;max-width:100%;border:1px solid var(--directory-line);border-radius:var(--directory-radius);background:var(--directory-surface);overflow-x:auto}.directory-table{width:100%;margin:0;border-collapse:collapse;font-size:.9375rem;line-height:1.6}.directory-table th,.directory-table td{padding:16px 18px;border-bottom:1px solid var(--directory-line);text-align:left;vertical-align:top}.directory-table thead th{background:var(--directory-background);color:var(--directory-muted);font-size:.8125rem;font-weight:600;white-space:nowrap}.directory-table tbody th{font-weight:500}.directory-table tbody tr:last-child th,.directory-table tbody tr:last-child td{border-bottom:0}.issues-table{min-width:680px}.issues-table th,.issues-table td{width:25%}.pricing-table td{font-variant-numeric:tabular-nums}.pricing-source{margin-bottom:24px;color:var(--directory-muted);font-size:.9375rem}.cost-range{font-size:1.125rem;font-variant-numeric:tabular-nums}.directory-inline-links,.directory-footer-links{display:flex;flex-wrap:wrap;gap:10px 22px}.directory-link-list{display:flex;flex-wrap:wrap;gap:12px 24px;margin:0;padding:0;list-style:none}.empty-list-note{max-width:65ch;margin-top:32px;color:var(--directory-muted)}.overview-return{margin-top:28px}
.directory-page-search{max-width:560px;margin:24px 0}.directory-page-search>label{display:block;margin-bottom:8px;font-size:.9375rem;font-weight:600}.directory-search-fields{display:flex;align-items:stretch;gap:10px;min-width:0}.directory-search-fields input{flex:1 1 0;width:0;min-width:0}.directory-search-fields button{flex:0 0 auto}.search-results{margin:32px 0 0;padding:0;list-style:none}.search-results li{padding:18px 0;border-bottom:1px solid var(--directory-line)}.search-results li:first-child{border-top:1px solid var(--directory-line)}.search-results span{color:var(--directory-muted)}
.legal-body{max-width:65ch;line-height:1.8}.legal-body h2{margin-top:36px;margin-bottom:16px}.legal-body h3,.legal-body h4,.legal-body h5,.legal-body h6{margin-top:28px;margin-bottom:12px;color:var(--directory-text);font-weight:650;line-height:1.35}.legal-body p{margin-bottom:20px}.legal-body ul,.legal-body ol{margin:0 0 24px;padding-left:24px}.legal-body li+li{margin-top:8px}.legal-body blockquote{margin:24px 0;padding-left:18px;border-left:2px solid var(--directory-line);color:var(--directory-muted)}.legal-body table{max-width:100%}.footer{padding:32px 0 92px;border-top:1px solid var(--directory-line);background:var(--directory-surface)}.directory-disclaimer{max-width:85ch;margin-bottom:20px;color:var(--directory-muted);font-size:.875rem;line-height:1.7}.directory-footer-links{font-size:.875rem}
@media(max-width:799px){.company-grid,.service-grid,.state-grid,.fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-header-inner{gap:20px}.directory-brand{max-width:48%}.directory-search{flex-basis:310px}.directory-section{margin-top:32px}.directory-table th,.directory-table td{padding:14px}}
@media(max-width:539px){html{scroll-padding-top:16px}.container{padding-right:18px;padding-left:18px}.directory-header-inner{flex-direction:column;align-items:stretch;gap:15px;padding-top:16px;padding-bottom:16px}.directory-brand{max-width:100%}.directory-search{flex:0 1 auto;width:100%}.directory-breadcrumbs{padding-top:20px}.main{padding-top:28px;padding-bottom:32px}h1{margin-bottom:24px}.company-grid,.service-grid,.state-grid,.fact-grid,.copy-grid{grid-template-columns:minmax(0,1fr);gap:14px}.fact-grid{margin-bottom:24px}#hero{padding-top:12px;padding-bottom:32px}.home-intro{font-size:1rem}#states{scroll-margin-top:16px}.cta form{grid-template-columns:minmax(0,1fr)}.zip-filter{gap:8px}.zip-filter label{flex:1 0 100%}.directory-table{min-width:510px}.pricing-table{min-width:0}.issues-table{min-width:680px}.calldock.is-on{min-height:84px;padding:12px 16px}.footer{padding-top:28px;padding-bottom:88px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.company-grid.company-grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}
.company-grid.company-grid-cols-2 .company-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.company-grid.company-grid-cols-2 .company-card :is(h3, p, .company-hours) {
  margin: 0;
}
.company-hours-line {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  min-width: 0;
  max-width: 100%;
}
.company-status,
.company-hours {
  flex: 0 0 auto;
  max-width: 100%;
}
.company-status,
.company-hours summary {
  white-space: nowrap;
}
.company-status:empty {
  display: none;
}
.company-status:not(:empty)::after {
  content: "\00b7";
  margin-left: 0.35em;
  margin-right: 0.35em;
}
.company-hours-wrap:not(:has(.company-status:not(:empty), .company-hours, p)) {
  display: none;
}
.company-hours {
  position: relative;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}
.company-hours summary {
  display: inline-flex;
  align-items: center;
  gap: 0.35em;
  color: inherit;
  font-weight: inherit;
  list-style: none;
  cursor: pointer;
}
.company-hours summary::-webkit-details-marker,
.company-hours summary::marker {
  display: none;
  content: "";
}
.company-hours summary::after {
  content: "";
  width: 0;
  height: 0;
  border-right: 0.28em solid transparent;
  border-left: 0.28em solid transparent;
  border-top: 0.35em solid currentColor;
}
.company-status.is-open + .company-hours summary {
  color: #1b7f3a;
}
.company-status.is-closed + .company-hours summary {
  color: #6b7280;
}
.company-card:has(.company-hours[open]) {
  position: relative;
  z-index: 2;
}
.company-hours-panel {
  position: absolute;
  z-index: 3;
  top: calc(100% + 6px);
  left: 0;
  width: max-content;
  max-width: none;
  padding: 10px 12px;
  border: 1px solid var(--directory-line);
  border-radius: 9px;
  background: var(--directory-surface);
  box-shadow: 0 8px 24px rgba(28, 36, 48, 0.12);
}
.company-hours:not([open]) .company-hours-panel {
  display: none;
}
.company-hours-panel ul {
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--directory-text);
  font-size: 0.875rem;
  line-height: 1.6;
}
.company-hours-panel li {
  white-space: nowrap;
}
@media (max-width: 539px) {
  .company-grid.company-grid-cols-2 {
    grid-template-columns: minmax(0, 1fr);
  }
  .company-status {
    white-space: normal;
  }
}

.icon-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
.phone-icon {
  width: 16px;
  height: 16px;
  margin-right: 4px;
  vertical-align: -2px;
}
.directory-utility-inner {
  min-height: 40px;
  padding-top: 8px;
  padding-bottom: 8px;
  font-size: 14px;
  line-height: 20px;
}
.directory-header-inner {
  gap: 24px;
  padding-top: 16px;
  padding-bottom: 16px;
}
.directory-brand {
  font-size: 20px;
  line-height: 28px;
  font-weight: 600;
  letter-spacing: 0;
}
.directory-search input {
  min-height: 40px;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 16px;
  line-height: 24px;
}
.directory-search button {
  min-height: 40px;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
  transition: background 700ms var(--motion), transform 700ms var(--motion);
}
.directory-search button:hover { background: #e6e8ee; }
.directory-search button:active { transform: scale(0.98); }

#hero {
  padding: 32px 0;
  border: 0;
  background-color: #f5f6f8;
}
.main.home #hero {
  background-image: linear-gradient(rgba(255,255,255,.62), rgba(255,255,255,.62)), url("/static/themes/locksmith/hero.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.main.home h1 {
  width: fit-content;
  max-width: 680px;
  margin: 0 0 16px;
  font-size: 36px;
  line-height: 40px;
  font-weight: 600;
  letter-spacing: 0;
  text-wrap: balance;
  color: #000000;
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .main.home h1 {
    background-image: linear-gradient(90deg, #000000, #666666);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
}
.home-intro {
  max-width: 680px;
  margin: 0 0 16px;
  color: #1c2430;
  font-size: 18px;
  line-height: 28px;
  text-wrap: pretty;
}
.home-proof {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  font-weight: 600;
}
.main.home .directory-section { margin-top: 64px; }
.main.home .home-services { margin-top: 32px; }
.main.home h2 {
  margin: 0 0 16px;
  font-size: 24px;
  line-height: 32px;
  font-weight: 600;
  letter-spacing: 0;
  text-wrap: balance;
}
.main.home .service-grid,
.main.home .state-grid { gap: 16px; }
.main.home { padding-bottom: 64px; }
.home-job {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  min-width: 0;
  min-height: 0;
  padding: 0 0 16px;
  overflow: hidden;
  border: 1px solid var(--directory-line);
  border-radius: 16px;
  background: #ffffff;
  color: #1c2430;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  text-decoration: none;
  transition: transform 700ms var(--motion), border-color 700ms var(--motion);
}
.home-job-photo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  flex: none;
  min-height: 0;
  object-fit: contain;
  object-position: center;
  background: #f5f6f8;
}
.home-job-label {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 0 16px;
}
a.home-job:hover {
  transform: translateY(-2px);
  border-color: var(--directory-muted);
  color: #1c2430;
  text-decoration: none;
}
a.home-job:active { transform: scale(0.98); }
.home-job-icon {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  color: #667084;
}
.home-job-title { min-width: 0; text-wrap: balance; }
.state-picker .service-grid,
.section-nav .service-grid { gap: 16px; }
a.home-job.home-job-text { padding-top: 16px; }
.home-commercial { margin-top: 32px; }
.home-tagline-text {
  width: fit-content;
  max-width: 680px;
  margin: 0;
  font-size: 36px;
  line-height: 40px;
  font-weight: 600;
  text-wrap: balance;
}
.tagline-line { display: block; }
.tagline-line + .tagline-line { margin-top: 8px; }
.motion .tagline-word {
  color: rgba(28, 36, 48, 0.3);
  transition: color 700ms var(--motion);
}
.motion .tagline-word.is-on { color: #1c2430; }
.main.home .state-card {
  padding: 16px;
  border-radius: 16px;
  transition: transform 700ms var(--motion);
}
.main.home .state-card:hover { transform: translateY(-2px); }
.home-faq-list { display: grid; gap: 8px; }
.home-faq details {
  padding: 16px;
  border: 1px solid var(--directory-line);
  border-radius: 16px;
  background: #ffffff;
}
.home-faq summary {
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  cursor: pointer;
}
.home-faq summary:hover { color: #0f4c81; }
.home-faq summary:focus-visible {
  outline: 2px solid var(--directory-muted);
  outline-offset: 3px;
}
.home-faq details p {
  margin: 16px 0 0;
  font-size: 16px;
  line-height: 24px;
  text-wrap: pretty;
}
.motion .reveal {
  opacity: 0;
  transform: translateY(64px);
  filter: blur(12px);
  transition: opacity 800ms var(--motion), transform 800ms var(--motion), filter 800ms var(--motion);
}
.motion .reveal.is-in {
  opacity: 1;
  transform: none;
  filter: none;
}
@media (min-width: 800px) {
  .main.home h1,
  .home-tagline-text {
    font-size: 48px;
    line-height: 1;
  }
}
@media (max-width: 799px) {
  .main.home .directory-section { margin-top: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  .reveal,
  .home-job,
  .tagline-word,
  .main.home .state-card,
  .directory-search button {
    transition: none;
    transform: none;
    filter: none;
  }
}
.state-intro { max-width: 65ch; color: var(--directory-muted); }
.state-city-grid, .state-job-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.state-city-card, .state-job {
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--directory-line);
  border-radius: var(--directory-radius);
  background: var(--directory-surface);
}
a.state-city-card { display: flex; flex-direction: column; gap: 6px; color: inherit; text-decoration: none; }
a.state-city-card:hover { border-color: var(--directory-muted); }
.state-city-name { color: var(--directory-link); font-weight: 650; }
a.state-city-card:hover .state-city-name { text-decoration: underline; }
.state-city-count { color: var(--directory-muted); font-size: .9375rem; }
.state-job { display: flex; align-items: center; gap: 10px; }
.state-job-icon { flex: 0 0 auto; width: 20px; height: 20px; color: var(--directory-muted); }
@media (max-width: 799px) {
  .state-city-grid, .state-job-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 539px) {
  .state-city-grid, .state-job-grid { grid-template-columns: minmax(0, 1fr); }
}

.legal-body .contact-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.legal-body .contact-row {
  display: grid;
  grid-template-columns: 42% minmax(0, 1fr);
  column-gap: 12px;
  align-items: start;
}

.legal-body .contact-label {
  display: block;
  padding-top: 9px;
}

.legal-body .contact-field input,
.legal-body .contact-field textarea {
  width: 100%;
}

.legal-body .contact-field input:user-invalid,
.legal-body .contact-field textarea:user-invalid {
  border-color: #8f2d2d;
}

.legal-body .contact-actions {
  grid-column: 2;
}

.legal-body .contact-form .error {
  display: block;
  margin-top: 6px;
  color: #8f2d2d;
  font-size: 0.875rem;
}

@media (max-width: 575px) {
  .legal-body .contact-form .contact-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .legal-body .contact-form .contact-actions {
    grid-column: auto;
  }

  .legal-body .contact-form button.license-lookup {
    width: 100%;
  }
}

.add-company-link {
  margin: 0 0 20px;
}
.add-company-link a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 9px 16px;
  border: 1px solid var(--directory-line);
  border-radius: 9px;
  background: var(--directory-background);
  color: var(--directory-text);
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}
.add-company-link a:hover {
  border-color: var(--directory-muted);
  color: var(--directory-text);
  text-decoration: none;
}
