.contact-page{background:var(--cream);color:var(--charcoal)}
.contact-intro{position:relative;min-height:540px;padding:calc(var(--nav-h) + 105px) 0 145px;overflow:hidden;background:linear-gradient(115deg,var(--charcoal),#342537 55%,var(--umber));color:#fff}
.contact-intro-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end}
.contact-intro h1{max-width:780px;margin:0;font-family:"League Spartan",sans-serif;font-size:clamp(4.2rem,7vw,7.2rem);font-weight:800;letter-spacing:-.055em;line-height:.8;text-transform:uppercase}
.contact-intro h1 em{display:block;color:var(--sage);font-family:"Knewave",cursive;font-size:.72em;font-style:normal;font-weight:400;letter-spacing:0;line-height:1.05}
.contact-lead{max-width:500px;margin:0 0 16px;color:rgba(255,255,255,.8);font-size:1.2rem}
.contact-pattern{position:absolute;right:-30px;top:76px;width:420px;height:420px;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='144' height='144' viewBox='0 0 144 144'%3E%3Cg fill='none'%3E%3Cpath d='M72 5 139 72 72 139 5 72Z' stroke='%239cab88' stroke-width='12'/%3E%3Cpath d='M72 29 115 72 72 115 29 72Z' stroke='%238d5a3c' stroke-width='8'/%3E%3Ccircle cx='72' cy='72' r='8' fill='%23f4efe5'/%3E%3C/g%3E%3C/svg%3E");background-size:144px 144px;transform:rotate(8deg)}
.contact-wave{position:absolute;right:0;bottom:-1px;left:0;height:115px;line-height:0}.contact-wave svg{width:100%;height:100%}.contact-wave path{fill:var(--cream)}
.contact-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:90px;align-items:start}
.contact-details h2{margin:0 0 22px;font-family:"League Spartan",sans-serif;font-size:clamp(3.2rem,5vw,5.4rem);letter-spacing:-.05em;line-height:.86}
.contact-details>p:not(.eyebrow){color:#65584c}
.contact-email{display:inline-block;margin:20px 0 32px;padding-bottom:5px;border-bottom:3px solid var(--green);color:var(--navy);font-family:"League Spartan",sans-serif;font-size:clamp(1.3rem,2.4vw,2rem);font-weight:700}
.contact-email:hover{color:var(--green)}
.contact-topics{display:flex;flex-wrap:wrap;gap:9px}.contact-topics span{padding:8px 12px;background:rgba(156,171,136,.22);color:var(--navy);font-size:.78rem;font-weight:700}
.response-note{margin-top:28px;font-size:.88rem}
.contact-form{display:grid;gap:24px;padding:42px;background:#fff;box-shadow:16px 16px 0 var(--umber)}
.contact-form label{display:grid;gap:8px;color:var(--navy);font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:14px 15px;border:1px solid rgba(30,43,62,.25);border-radius:0;outline:0;background:var(--cream);color:var(--charcoal);font:inherit;text-transform:none}
.contact-form textarea{resize:vertical;min-height:170px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(44,110,51,.12)}
.contact-form .button{justify-self:start;background:var(--green);color:#fff;cursor:pointer}.contact-form .button:hover,.contact-form .button:focus-visible{background:var(--umber)}
.form-note{margin:-12px 0 0;color:#76675d;font-size:.78rem}
@media(max-width:900px){.contact-intro-grid,.contact-layout{grid-template-columns:1fr}.contact-intro-grid{gap:32px}.contact-layout{gap:55px}.contact-lead{max-width:680px}.contact-pattern{opacity:.06}}
@media(max-width:640px){.contact-intro{min-height:560px;padding-top:calc(var(--nav-h) + 75px)}.contact-intro h1{font-size:clamp(3.5rem,16vw,5rem)}.contact-section{padding-top:60px}.contact-form{padding:26px 20px;box-shadow:9px 9px 0 var(--umber)}.form-row{grid-template-columns:1fr}.contact-email{font-size:1.25rem}}
/* TanzAnimation image logo */
.site-logo,
.footer-logo {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.site-logo img {
  display: block;
  width: auto;
  height: 48px;
  max-width: 260px;
  object-fit: contain;
}

.footer-logo img {
  display: block;
  width: auto;
  height: 58px;
  max-width: 300px;
  object-fit: contain;
}

/* Remove styling intended for the old text logo */
.site-logo::before,
.site-logo::after,
.footer-logo::before,
.footer-logo::after {
  display: none;
}

@media (max-width: 768px) {
  .site-logo img {
    height: 39px;
    max-width: 210px;
  }

  .footer-logo img {
    height: 55px;
    max-width: 240px;
  }
}
