:root{
  --contact-ink:#15364e;
  --contact-ink-strong:#0d293d;
  --contact-muted:#5f7382;
  --contact-line:#d8e3e7;
  --contact-soft:#f4f8f8;
  --contact-soft-2:#eaf3f3;
  --contact-white:#fff;
  --contact-teal:#008f8c;
  --contact-teal-dark:#067370;
  --contact-success:#176d46;
  --contact-error:#a52b2b;
  --contact-shadow:0 18px 52px rgba(21,54,78,.09);
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body.vehoo-contact-page{
  margin:0;
  min-width:320px;
  background:var(--contact-white);
  color:var(--contact-ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.vehoo-contact-page a{color:inherit}

.contact-wrap{
  width:min(1180px,calc(100% - 40px));
  margin-inline:auto;
}

.contact-skip-link{
  position:fixed;
  z-index:9999;
  top:10px;
  left:10px;
  transform:translateY(-160%);
  padding:10px 14px;
  border-radius:9px;
  background:var(--contact-ink-strong);
  color:#fff!important;
  font-weight:800;
  text-decoration:none;
}

.contact-skip-link:focus{transform:none}

.contact-site-header{
  position:sticky;
  z-index:50;
  top:0;
  border-bottom:1px solid rgba(216,227,231,.9);
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);
}

.contact-header-inner{
  min-height:82px;
  display:flex;
  align-items:center;
  gap:28px;
}

.contact-brand{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  flex:0 0 auto;
}

.contact-brand img{
  display:block;
  width:138px;
  height:auto;
}

.contact-nav{
  display:flex;
  align-items:center;
  gap:4px;
  margin-left:auto;
}

.contact-nav a,
.contact-header-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 13px;
  border-radius:10px;
  color:var(--contact-ink);
  font-size:.91rem;
  font-weight:720;
  text-decoration:none;
}

.contact-nav a:hover,
.contact-nav a:focus-visible{
  background:var(--contact-soft);
}

.contact-header-action{
  gap:8px;
  padding-inline:17px;
  background:var(--contact-ink);
  color:#fff!important;
}

.contact-header-action:hover,
.contact-header-action:focus-visible{
  background:var(--contact-ink-strong);
}

.contact-breadcrumb{
  padding-block:20px 0;
}

.contact-breadcrumb ol{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
  color:var(--contact-muted);
  font-size:.82rem;
}

.contact-breadcrumb li+li::before{
  content:"/";
  margin-right:9px;
  color:#9aabb4;
}

.contact-breadcrumb a{text-decoration:none}
.contact-breadcrumb a:hover{text-decoration:underline}

.contact-hero{
  position:relative;
  overflow:hidden;
  padding:72px 0 76px;
}

.contact-hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:520px;
  height:520px;
  right:-180px;
  top:-220px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(0,143,140,.14),rgba(0,143,140,0) 70%);
}

.contact-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.72fr);
  gap:64px;
  align-items:center;
}

.contact-kicker{
  margin:0 0 14px;
  color:var(--contact-teal-dark);
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.contact-hero h1,
.contact-section-heading h2,
.contact-form-intro h2,
.contact-helpful-grid h2,
.contact-system-card h1{
  margin:0;
  color:var(--contact-ink-strong);
  letter-spacing:-.045em;
  line-height:1.04;
}

.contact-hero h1{
  max-width:780px;
  font-size:clamp(2.7rem,6vw,5.2rem);
}

.contact-hero-copy{
  max-width:760px;
  margin:23px 0 29px;
  color:var(--contact-muted);
  font-size:clamp(1.03rem,1.5vw,1.19rem);
  line-height:1.72;
}

.contact-primary-button,
.contact-secondary-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:52px;
  padding:0 20px;
  border:0;
  border-radius:11px;
  font:inherit;
  font-size:.92rem;
  font-weight:820;
  line-height:1.2;
  text-decoration:none;
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}

.contact-primary-button{
  background:var(--contact-ink);
  color:#fff!important;
  box-shadow:0 12px 28px rgba(21,54,78,.16);
}

.contact-primary-button:hover,
.contact-primary-button:focus-visible{
  background:var(--contact-ink-strong);
  transform:translateY(-1px);
  box-shadow:0 16px 34px rgba(21,54,78,.2);
}

.contact-secondary-button{
  border:1px solid var(--contact-line);
  background:#fff;
  color:var(--contact-ink)!important;
}

.contact-secondary-button:hover,
.contact-secondary-button:focus-visible{
  background:var(--contact-soft);
}

.contact-primary-button:focus-visible,
.contact-secondary-button:focus-visible,
.contact-nav a:focus-visible,
.contact-header-action:focus-visible,
.contact-route-card a:focus-visible,
.contact-footer a:focus-visible{
  outline:3px solid rgba(0,143,140,.28);
  outline-offset:3px;
}

.contact-expectation-card{
  padding:30px 30px 27px;
  border:1px solid var(--contact-line);
  border-radius:22px;
  background:linear-gradient(145deg,#fff 0%,#f7fbfb 100%);
  box-shadow:var(--contact-shadow);
}

.contact-card-label{
  margin:0 0 21px;
  color:var(--contact-ink-strong);
  font-size:.8rem;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.contact-expectation-card ol{
  display:grid;
  gap:21px;
  margin:0;
  padding:0;
  list-style:none;
}

.contact-expectation-card li{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:15px;
  align-items:start;
}

.contact-expectation-card li>span{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--contact-soft-2);
  color:var(--contact-teal-dark);
  font-size:.72rem;
  font-weight:900;
}

.contact-expectation-card strong{
  display:block;
  margin:1px 0 5px;
  color:var(--contact-ink-strong);
  font-size:.96rem;
}

.contact-expectation-card p{
  margin:0;
  color:var(--contact-muted);
  font-size:.88rem;
  line-height:1.62;
}

.contact-section{padding:76px 0}

.contact-section--soft{
  border-block:1px solid #e3ecee;
  background:var(--contact-soft);
}

.contact-section-heading{
  display:grid;
  grid-template-columns:minmax(0,.55fr) minmax(0,1.2fr);
  gap:34px;
  align-items:end;
  margin-bottom:31px;
}

.contact-section-heading h2,
.contact-form-intro h2,
.contact-helpful-grid h2{
  font-size:clamp(2rem,3.5vw,3.3rem);
}

.contact-route-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.contact-route-card{
  position:relative;
  display:flex;
  min-height:285px;
  flex-direction:column;
  padding:28px;
  border:1px solid var(--contact-line);
  border-radius:18px;
  background:#fff;
}

.contact-route-card--active{
  border-color:#b9dcdc;
  background:linear-gradient(155deg,#fff 0%,#f2f9f8 100%);
}

.contact-route-number{
  display:inline-flex;
  width:max-content;
  margin-bottom:38px;
  color:var(--contact-teal-dark);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.08em;
}

.contact-route-card h3{
  margin:0 0 10px;
  color:var(--contact-ink-strong);
  font-size:1.28rem;
  line-height:1.25;
}

.contact-route-card p{
  margin:0 0 25px;
  color:var(--contact-muted);
  font-size:.92rem;
}

.contact-route-card a{
  margin-top:auto;
  color:var(--contact-ink);
  font-size:.88rem;
  font-weight:820;
  text-decoration:none;
}

.contact-route-card a:hover{text-decoration:underline}

.contact-form-layout{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:56px;
  align-items:start;
}

.contact-form-intro{
  position:sticky;
  top:112px;
}

.contact-form-intro>p:not(.contact-kicker){
  margin:18px 0 0;
  color:var(--contact-muted);
  font-size:.98rem;
}

.contact-security-note{
  margin-top:29px;
  padding:19px 20px;
  border:1px solid #bfdedc;
  border-radius:14px;
  background:#edf8f7;
}

.contact-security-note strong{
  color:var(--contact-ink-strong);
  font-size:.9rem;
}

.contact-security-note p{
  margin:6px 0 0;
  color:var(--contact-muted);
  font-size:.85rem;
}

.contact-form-card{
  padding:32px;
  border:1px solid var(--contact-line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 36px rgba(21,54,78,.06);
}

.contact-form-status{
  margin:0 0 25px;
  padding:13px 15px;
  border:1px solid #d4e3e5;
  border-radius:11px;
  background:#f8fbfb;
  color:var(--contact-muted);
  font-size:.87rem;
  line-height:1.55;
}

.contact-form-status.is-success{
  border-color:#b9dbc9;
  background:#f1f9f5;
  color:var(--contact-success);
}

.contact-form-status.is-error{
  border-color:#e8c5c5;
  background:#fff5f5;
  color:var(--contact-error);
}

.contact-field-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.contact-field{margin-bottom:18px}

.contact-field label,
.contact-privacy-field label{
  display:block;
  margin-bottom:7px;
  color:var(--contact-ink-strong);
  font-size:.86rem;
  font-weight:760;
}

.contact-field label span{
  color:var(--contact-muted);
  font-weight:560;
}

.contact-field input,
.contact-field select,
.contact-field textarea{
  width:100%;
  min-height:50px;
  border:1px solid #cbd9de;
  border-radius:10px;
  background:#fff;
  color:var(--contact-ink-strong);
  font:inherit;
  font-size:.94rem;
  outline:none;
  transition:border-color .15s ease,box-shadow .15s ease;
}

.contact-field input,
.contact-field select{padding:0 13px}

.contact-field textarea{
  min-height:155px;
  padding:12px 13px;
  resize:vertical;
  line-height:1.55;
}

.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus{
  border-color:var(--contact-teal);
  box-shadow:0 0 0 4px rgba(0,143,140,.1);
}

.contact-field [aria-invalid="true"],
.contact-privacy-field [aria-invalid="true"]{
  border-color:#c95b5b;
}

.contact-field-help{
  margin:6px 0 0;
  color:var(--contact-muted);
  font-size:.76rem;
  line-height:1.5;
}

.contact-field-error{
  margin:6px 0 0;
  color:var(--contact-error);
  font-size:.78rem;
  font-weight:720;
}

.contact-privacy-field{
  margin:2px 0 22px;
}

.contact-privacy-field label{
  display:flex;
  gap:11px;
  align-items:flex-start;
  margin:0;
  color:var(--contact-muted);
  font-size:.82rem;
  font-weight:560;
  line-height:1.55;
}

.contact-privacy-field input{
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin:2px 0 0;
  accent-color:var(--contact-teal-dark);
}

.contact-privacy-field a{
  color:var(--contact-ink);
  font-weight:760;
}

.contact-submit{min-width:245px}

.contact-submit:disabled{
  cursor:wait;
  opacity:.67;
  transform:none;
  box-shadow:none;
}

.contact-fineprint{
  margin:13px 0 0;
  color:var(--contact-muted);
  font-size:.76rem;
  line-height:1.55;
}

.contact-honeypot{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
}

.contact-helpful-grid{
  display:grid;
  grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);
  gap:58px;
  align-items:start;
}

.contact-helpful-copy{
  color:var(--contact-muted);
  font-size:1rem;
}

.contact-helpful-copy p{
  margin:0 0 17px;
}

.contact-helpful-copy a{
  color:var(--contact-ink);
  font-weight:760;
}

.contact-footer{
  padding:55px 0 24px;
  border-top:1px solid #dfe8ea;
  background:#112f43;
  color:#dce7eb;
}

.contact-footer-grid{
  display:grid;
  grid-template-columns:1.45fr .75fr .9fr;
  gap:50px;
}

.contact-footer-brand img{
  width:130px;
  filter:brightness(0) invert(1);
}

.contact-footer p{
  max-width:360px;
  color:#b8c9d1;
}

.contact-footer h2{
  margin:0 0 13px;
  color:#fff;
  font-size:.78rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.contact-footer-grid>div:not(:first-child){
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.contact-footer a{
  margin:4px 0;
  color:#dce7eb;
  font-size:.86rem;
  text-decoration:none;
}

.contact-footer a:hover{text-decoration:underline}

.contact-footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:37px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.12);
  color:#9eb2bc;
  font-size:.75rem;
}

.contact-system-page{
  width:min(760px,calc(100% - 32px));
  min-height:100vh;
  margin:auto;
  padding:56px 0;
}

.contact-logo{
  display:inline-flex;
  margin-bottom:28px;
}

.contact-logo img{
  width:132px;
  height:auto;
}

.contact-system-card{
  padding:34px;
  border:1px solid var(--contact-line);
  border-radius:20px;
  background:#fff;
  box-shadow:var(--contact-shadow);
}

.contact-system-card h1{
  font-size:clamp(2rem,7vw,3.4rem);
}

.contact-system-card>p:not(.contact-kicker):not(.contact-reference):not(.contact-fineprint){
  margin:18px 0 0;
  color:var(--contact-muted);
}

.contact-reference{
  display:inline-block;
  margin:20px 0;
  padding:8px 11px;
  border-radius:8px;
  background:var(--contact-soft);
  color:var(--contact-ink);
  font-size:.85rem;
}

.contact-system-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}

@media(max-width:980px){
  .contact-header-inner{gap:14px}
  .contact-nav a{padding-inline:9px;font-size:.84rem}
  .contact-hero-grid{grid-template-columns:1fr;gap:38px}
  .contact-expectation-card{max-width:720px}
  .contact-route-grid{grid-template-columns:1fr 1fr}
  .contact-form-layout{grid-template-columns:1fr;gap:31px}
  .contact-form-intro{position:static}
  .contact-helpful-grid{grid-template-columns:1fr;gap:24px}
}

@media(max-width:760px){
  .contact-wrap{width:min(100% - 28px,1180px)}
  .contact-header-inner{
    min-height:0;
    padding:13px 0 11px;
    flex-wrap:wrap;
  }
  .contact-brand img{width:116px}
  .contact-header-action{
    margin-left:auto;
    min-height:40px;
    padding-inline:13px;
    font-size:.82rem;
  }
  .contact-nav{
    order:3;
    width:100%;
    margin:0;
    overflow-x:auto;
    padding-top:5px;
    scrollbar-width:none;
  }
  .contact-nav::-webkit-scrollbar{display:none}
  .contact-nav a{
    flex:0 0 auto;
    min-height:38px;
    padding-inline:10px;
  }
  .contact-breadcrumb{padding-top:14px}
  .contact-hero{padding:48px 0 55px}
  .contact-hero h1{font-size:clamp(2.55rem,13vw,4.1rem)}
  .contact-section{padding:58px 0}
  .contact-section-heading{grid-template-columns:1fr;gap:8px}
  .contact-route-grid{grid-template-columns:1fr}
  .contact-route-card{min-height:0}
  .contact-route-number{margin-bottom:25px}
  .contact-footer-grid{grid-template-columns:1fr 1fr}
  .contact-footer-grid>div:first-child{grid-column:1/-1}
}

@media(max-width:580px){
  .contact-field-grid{grid-template-columns:1fr;gap:0}
  .contact-form-card{padding:22px 18px;border-radius:17px}
  .contact-expectation-card{padding:23px 20px;border-radius:17px}
  .contact-route-card{padding:23px}
  .contact-submit{width:100%;min-width:0}
  .contact-footer-grid{grid-template-columns:1fr;gap:28px}
  .contact-footer-grid>div:first-child{grid-column:auto}
  .contact-footer-bottom{flex-direction:column}
  .contact-system-page{padding:34px 0}
  .contact-system-card{padding:25px 20px}
  .contact-system-actions{display:grid}
  .contact-system-actions a{width:100%}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .contact-primary-button,
  .contact-secondary-button{transition:none}
}
