:root{
  --blue:#1AABD6; --blue-deep:#128FB5;
  --ink:#504D54; --ink-soft:rgba(80,77,84,.68);
  --coral:#E4685A;
  --paper:#FFFFFF; --paper-warm:#F7F6F3;
  --navy:#1B2534; --navy-deep:#141C28;
  --hairline:rgba(80,77,84,.16);
  --display:"Source Serif 4",serif; --sans:"Public Sans",system-ui,sans-serif;
  --max:1280px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 40px}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:20px;line-height:1;white-space:nowrap}
.eyebrow::before{content:"";width:28px;height:3px;background:var(--coral);border-radius:0;flex:0 0 auto}
h1,h2,h3{font-family:var(--display);font-weight:400;color:var(--ink);line-height:1.1;letter-spacing:-.005em}
.btn{display:inline-block;font-size:16px;font-weight:600;padding:15px 30px;border-radius:8px;background:var(--blue);color:#fff;border:0;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.14);transition:background .18s,transform .18s,box-shadow .18s;font-family:var(--sans)}
.btn:hover{background:var(--blue-deep);transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,.16)}

header{position:sticky;top:0;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);z-index:50;border-bottom:1px solid var(--hairline)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px}
.nav .logo img{height:42px;width:auto}
.nav ul{display:flex;gap:30px;list-style:none}
.nav ul a{font-size:13px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink);transition:color .15s}
.nav ul a:hover{color:var(--blue-deep)}
.nav .btn{padding:12px 24px;font-size:15px}

.hero{position:relative;overflow:hidden;background:var(--paper-warm)}
.hero-inner{display:grid;grid-template-columns:minmax(0,47fr) minmax(0,53fr);align-items:stretch}
.hero-copy{padding:80px 64px 80px max(40px,calc((100vw - var(--max))/2 + 40px));position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center}
.hero-copy h1{font-size:clamp(40px,4vw,56px);margin-bottom:20px}
.hero-copy p{font-size:18px;color:var(--ink-soft);max-width:56ch}
.hero-photo{position:relative;min-height:440px;z-index:2;clip-path:url(#heroClip)}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-photo svg.edge{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}

.contact-main{padding:90px 0 90px}
.contact-grid{display:grid;grid-template-columns:1fr 420px;gap:132px;align-items:stretch}

.form-card h2{font-size:clamp(26px,2.4vw,32px);margin-bottom:8px}
.form-card .sub{font-size:16px;color:var(--ink-soft);margin-bottom:34px}
.form-card .sub a{color:var(--blue-deep)}
.form-card .sub a:hover{text-decoration:underline}
.field{margin-bottom:22px}
.field label{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
.field input,.field textarea{width:100%;font-family:var(--sans);font-size:16px;color:var(--ink);background:var(--paper);border:1px solid var(--hairline);border-radius:8px;padding:13px 15px;transition:border-color .15s,box-shadow .15s}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,171,214,.15)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-note{font-size:13.5px;color:var(--ink-soft);margin-top:16px}

.info{display:flex;flex-direction:column}
.info-block{padding:28px 0;border-bottom:1px solid var(--hairline)}
.info-block h3{font-weight:500;font-size:22px;margin-bottom:10px;line-height:1.25}
.info-block p{font-size:16.5px;color:var(--ink-soft)}
.info-block p strong{color:var(--ink);font-weight:600}
.info-block a{color:var(--blue-deep);white-space:nowrap}
.info-block a:hover{text-decoration:underline}

.info-map{margin-top:28px;border:1px solid var(--hairline);border-radius:12px;overflow:hidden;flex:1;min-height:240px}
.info-map iframe{display:block;width:100%;height:100%;min-height:240px;border:0}

footer{background:var(--navy-deep);color:rgba(255,255,255,.66);padding:64px 0 40px;font-size:14px}
.foot-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:40px;margin-bottom:44px}
.foot-logo img{height:52px;width:auto}
.foot-badges{display:flex;justify-content:space-between;align-items:center;width:584px;gap:0}
.foot-badges .chip{background:#fff;border-radius:10px;padding:7px 10px;display:flex;align-items:center}
.foot-badges .chip.vet{padding:7px 6px}
.foot-badges img{display:block;height:66px;width:auto}
.foot-contact{display:flex;flex-direction:column;gap:14px;justify-self:end}
.foot-contact .line{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.5;color:rgba(255,255,255,.72)}
.foot-contact .line.addr{align-items:flex-start}
.foot-contact .line.addr .ic{margin-top:3px}
.foot-contact .line a{color:rgba(255,255,255,.72)}
.foot-contact .line a:hover{color:#fff}
.foot-contact .ic{width:16px;height:16px;stroke:rgba(255,255,255,.72);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.foot-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:40px;border-top:1px solid rgba(255,255,255,.12);padding-top:28px}
.foot-bottom .copy{justify-self:start}
.foot-bottom nav{display:flex;justify-self:center;flex-wrap:nowrap;white-space:nowrap}
.foot-bottom nav .sep{margin:0 6px;color:rgba(255,255,255,.35)}
.foot-bottom a:hover{color:#fff}
.foot-bottom .social{justify-self:end;margin-right:76px;display:flex;gap:10px}
.foot-bottom .social a{width:30px;height:30px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:grid;place-items:center;transition:border-color .15s}
.foot-bottom .social a svg{width:13px;height:13px;fill:rgba(255,255,255,.78);transition:fill .15s}
.foot-bottom .social a:hover{border-color:#fff}
.foot-bottom .social a:hover svg{fill:#fff}

.rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.rv{opacity:1;transform:none;transition:none}}

@media (max-width:940px){
  .wrap{padding:0 24px}
  .nav ul{display:none}
  .eyebrow{white-space:normal}
  .page-head{padding:60px 0 48px}
  .contact-main{padding:64px 0 64px}
  .contact-grid{grid-template-columns:1fr;gap:60px}
  .field-row{grid-template-columns:1fr}
  .hero-inner{grid-template-columns:1fr}
  .hero-copy{padding:60px 24px 40px}
  .hero-photo{min-height:280px;clip-path:none}
  .hero-photo svg.edge{display:none}
  .foot-top{grid-template-columns:1fr;gap:32px;justify-items:center}
  .foot-contact{justify-self:center;align-items:center}
  .foot-badges{width:auto;justify-content:center;gap:10px}
  .foot-badges img{height:46px}
  .foot-bottom{grid-template-columns:1fr;justify-items:center;gap:14px}
  .foot-bottom .copy,.foot-bottom nav,.foot-bottom .social{justify-self:center;margin-right:0}
  .foot-bottom nav{flex-wrap:wrap;white-space:normal;justify-content:center}
}
.phone-rows{margin-top:4px;border-bottom:.5px solid rgba(228,104,90,.75)}
.phone-rows .row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0;border-top:.5px solid rgba(228,104,90,.75);font-size:16.5px}
.phone-rows .row:first-child{border-top:0;padding-top:2px}
.phone-rows .row.nodiv{border-top:0;padding-top:0}
.phone-rows .dept{color:var(--ink-soft);font-size:18px}
.phone-rows a{color:var(--blue-deep);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.phone-rows a:hover{text-decoration:underline}
.hh-company-website{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-status{min-height:1.5em;margin-top:16px}.form-status.is-success{color:#17744b}.form-status.is-error{color:#b4372d}
@media (max-width:940px){.hero-photo img{transform:none}}


/* Staged desktop contact-hero alignment with the 350px inner-page heroes. */
@media (min-width: 941px) {
  body.hh-contact-page .hero,
  body.hh-contact-page .hero-inner {
    height: 350px;
  }

  body.hh-contact-page .hero-copy {
    padding-top: 55px;
    padding-bottom: 55px;
  }

  body.hh-contact-page .hero-photo {
    min-height: 350px;
    background: url('/wp-content/uploads/2026/08/contact-hero-350-v5.webp') center / cover no-repeat;
  }

  body.hh-contact-page .hero-photo img {
    opacity: 0;
  }

  body.hh-contact-page .hero-photo svg.edge path {
    stroke-width: 1.5;
  }
}



.contact-main{padding:90px 0 90px}
.contact-grid{display:grid;grid-template-columns:1fr 420px;gap:132px;align-items:stretch}

.form-card h2{font-size:clamp(26px,2.4vw,32px);margin-bottom:8px}
.form-card .sub{font-size:16px;color:var(--ink-soft);margin-bottom:34px}
.form-card .sub a{color:var(--blue-deep)}
.form-card .sub a:hover{text-decoration:underline}
.field{margin-bottom:22px}
.field label{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
.field input,.field textarea{width:100%;font-family:var(--sans);font-size:16px;color:var(--ink);background:var(--paper);border:1px solid var(--hairline);border-radius:8px;padding:13px 15px;transition:border-color .15s,box-shadow .15s}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,171,214,.15)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-note{font-size:13.5px;color:var(--ink-soft);margin-top:16px}

.info{display:flex;flex-direction:column}
.info-block{padding:28px 0;border-bottom:1px solid var(--hairline)}
.info-block h3{font-weight:500;font-size:22px;margin-bottom:10px;line-height:1.25}
.info-block p{font-size:16.5px;color:var(--ink-soft)}
.info-block p strong{color:var(--ink);font-weight:600}
.info-block a{color:var(--blue-deep);white-space:nowrap}
.info-block a:hover{text-decoration:underline}

.info-map{margin-top:28px;border:1px solid var(--hairline);border-radius:12px;overflow:hidden;flex:1;min-height:240px}
.info-map iframe{display:block;width:100%;height:100%;min-height:240px;border:0}

footer{background:var(--navy-deep);color:rgba(255,255,255,.66);padding:64px 0 40px;font-size:14px}
.foot-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:40px;margin-bottom:44px}
.foot-logo img{height:52px;width:auto}
.foot-badges{display:flex;justify-content:space-between;align-items:center;width:584px;gap:0}
.foot-badges .chip{background:#fff;border-radius:10px;padding:7px 10px;display:flex;align-items:center}
.foot-badges .chip.vet{padding:7px 6px}
.foot-badges img{display:block;height:66px;width:auto}
.foot-contact{display:flex;flex-direction:column;gap:14px;justify-self:end}
.foot-contact .line{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.5;color:rgba(255,255,255,.72)}
.foot-contact .line.addr{align-items:flex-start}
.foot-contact .line.addr .ic{margin-top:3px}
.foot-contact .line a{color:rgba(255,255,255,.72)}
.foot-contact .line a:hover{color:#fff}
.foot-contact .ic{width:16px;height:16px;stroke:rgba(255,255,255,.72);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.foot-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:40px;border-top:1px solid rgba(255,255,255,.12);padding-top:28px}
.foot-bottom .copy{justify-self:start}
.foot-bottom nav{display:flex;justify-self:center;flex-wrap:nowrap;white-space:nowrap}
.foot-bottom nav .sep{margin:0 6px;color:rgba(255,255,255,.35)}
.foot-bottom a:hover{color:#fff}
.foot-bottom .social{justify-self:end;margin-right:76px;display:flex;gap:10px}
.foot-bottom .social a{width:30px;height:30px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:grid;place-items:center;transition:border-color .15s}
.foot-bottom .social a svg{width:13px;height:13px;fill:rgba(255,255,255,.78);transition:fill .15s}
.foot-bottom .social a:hover{border-color:#fff}
.foot-bottom .social a:hover svg{fill:#fff}

.rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.rv{opacity:1;transform:none;transition:none}}

@media (max-width:940px){
  .wrap{padding:0 24px}
  .nav ul{display:none}
  .eyebrow{white-space:normal}
  .page-head{padding:60px 0 48px}
  .contact-main{padding:64px 0 64px}
  .contact-grid{grid-template-columns:1fr;gap:60px}
  .field-row{grid-template-columns:1fr}
  .hero-inner{grid-template-columns:1fr}
  .hero-copy{padding:60px 24px 40px}
  .hero-photo{min-height:280px;clip-path:none}
  .hero-photo svg.edge{display:none}
  .foot-top{grid-template-columns:1fr;gap:32px;justify-items:center}
  .foot-contact{justify-self:center;align-items:center}
  .foot-badges{width:auto;justify-content:center;gap:10px}
  .foot-badges img{height:46px}
  .foot-bottom{grid-template-columns:1fr;justify-items:center;gap:14px}
  .foot-bottom .copy,.foot-bottom nav,.foot-bottom .social{justify-self:center;margin-right:0}
  .foot-bottom nav{flex-wrap:wrap;white-space:normal;justify-content:center}
}
.phone-rows{margin-top:4px;border-bottom:.5px solid rgba(228,104,90,.75)}
.phone-rows .row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0;border-top:.5px solid rgba(228,104,90,.75);font-size:16.5px}
.phone-rows .row:first-child{border-top:0;padding-top:2px}
.phone-rows .row.nodiv{border-top:0;padding-top:0}
.phone-rows .dept{color:var(--ink-soft);font-size:18px}
.phone-rows a{color:var(--blue-deep);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.phone-rows a:hover{text-decoration:underline}
.hh-company-website{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-status{min-height:1.5em;margin-top:16px}.form-status.is-success{color:#17744b}.form-status.is-error{color:#b4372d}
@media (max-width:940px){.hero-photo img{transform:none}}
