:root {
  --contact-brand:#022639;
  --contact-green:#AABF00;
  --contact-orange:#FFB502;
  --contact-ease:cubic-bezier(.22,1,.36,1);
}

.contact-hero { min-height:min(760px,calc(100svh - 82px)); display:grid; align-items:center; position:relative; overflow:hidden; isolation:isolate; background:#f8f7f2; }
.contact-hero__media,.contact-hero__veil { position:absolute; inset:0; }
.contact-hero__media { z-index:-3; margin:0; }
.contact-hero__media img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.contact-hero__veil { z-index:-2; background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 34%,rgba(255,255,255,.55) 52%,rgba(255,255,255,0) 70%); }
.contact-hero__shell { width:min(1180px,calc(100% - 2rem)); margin-inline:auto; padding:clamp(8rem,14vw,10rem) 0 clamp(4rem,8vw,6rem); }
.contact-hero__content { width:min(620px,53%); }
.contact-hero__kicker { display:flex; align-items:center; gap:.75rem; margin:0 0 1.15rem; color:var(--contact-green); font-size:.72rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.contact-hero__kicker::before { width:2rem; height:2px; background:var(--contact-orange); content:""; }
.contact-hero h1 { margin:0; color:var(--contact-brand); font-size:clamp(3rem,5.9vw,6rem); font-weight:700; letter-spacing:-.07em; line-height:.94; }
.contact-hero h1 span { display:block; color:var(--contact-green); }
.contact-hero__lead { max-width:570px; margin:1.7rem 0 0; color:#526b77; font-size:clamp(1rem,1.3vw,1.12rem); line-height:1.8; }
.contact-info__legacy { display:none; }
.contact-info__intro { margin:.8rem 0 0; color:#526b77; font-size:clamp(1rem,1.2vw,1.08rem); font-weight:400; line-height:1.65; }
.contact-methods { width:min(100%,540px); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin:1.5rem auto 3rem; }
.contact-method { min-width:0; min-height:68px; display:grid; grid-template-columns:42px minmax(0,1fr); gap:.8rem; align-items:center; padding:.75rem .9rem; color:var(--contact-brand) !important; border:1px solid rgba(2,38,57,.11); border-radius:18px; background:#fff; box-shadow:0 13px 30px rgba(2,38,57,.08); transition:transform .28s var(--contact-ease),box-shadow .28s var(--contact-ease),border-color .28s ease; }
.contact-method--wide { grid-column:1/-1; }
.contact-method:hover { color:var(--contact-brand) !important; border-color:rgba(255,181,2,.7); transform:translateY(-5px); box-shadow:0 20px 38px rgba(2,38,57,.14); }
.contact-method:focus-visible { outline:3px solid var(--contact-orange); outline-offset:3px; }
.contact-method svg { width:42px; height:42px; padding:9px; color:var(--contact-brand); fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; border-radius:13px; background:var(--contact-orange); }
.contact-method--green svg { background:var(--contact-green); }
.contact-method--green:not(:last-child) svg path { fill:currentColor; stroke:none; }
.contact-method span { display:grid; min-width:0; overflow-wrap:anywhere; color:var(--contact-brand); font-size:.78rem; font-weight:500; line-height:1.4; }
.contact-method small { color:#6c7f88; font-size:.65rem; font-weight:400; letter-spacing:.03em; }
.contact-hero__curve { position:absolute; z-index:-1; pointer-events:none; opacity:.72; }
.contact-hero__curve--orange { width:clamp(8rem,17vw,17rem); aspect-ratio:1; top:8rem; left:-3rem; border-top:2px solid var(--contact-orange); border-right:2px solid var(--contact-orange); border-radius:0 5rem 0 0; }
.contact-hero__curve--green { width:clamp(7rem,14vw,14rem); aspect-ratio:1; right:3vw; bottom:-4rem; border-top:2px solid var(--contact-green); border-left:2px solid var(--contact-green); border-radius:5rem 0 0; }

@media (max-width:991px) {
  .contact-hero { min-height:720px; }
  .contact-hero__content { width:min(610px,67%); }
  .contact-hero__veil { background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 46%,rgba(255,255,255,.2) 78%); }
}

@media (max-width:767px) {
  .contact-hero { min-height:820px; align-items:start; }
  .contact-hero__media img { object-position:center; }
  .contact-hero__veil { background:linear-gradient(180deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.97) 38%,rgba(255,255,255,.66) 49%,rgba(255,255,255,0) 66%); }
  .contact-hero__shell { width:min(100% - 1.5rem,1180px); padding:7.7rem 0 3rem; }
  .contact-hero__content { width:100%; padding-right:1rem; }
  .contact-hero h1 { max-width:22rem; font-size:clamp(2.15rem,10vw,2.8rem); letter-spacing:-.055em; line-height:.98; }
  .contact-hero__lead { max-width:20rem; margin-top:.9rem; color:#315164; font-size:.9rem; line-height:1.55; }
  .contact-methods { grid-template-columns:1fr; margin-top:1.25rem; }
  .contact-method--wide { grid-column:auto; }
  .contact-hero__curve--orange { top:6.5rem; left:-5rem; }
  .contact-hero__curve--green { right:-3rem; bottom:5rem; }
}

@media (max-width:430px) {
  .contact-hero { min-height:790px; }
  .contact-hero__lead { max-width:19rem; }
  .contact-method { min-height:64px; }
}

@media (prefers-reduced-motion:reduce) {
  .contact-method { transition:none; }
}
