body:has(.spy-contact) { background:#000; }
.spy-contact { max-width:1600px; margin:0 auto; padding:112px clamp(20px,4vw,56px) 48px; color:#fff; font:17px/1.7 Lato,Nunito,Arial,sans-serif; }
.spy-contact *, .spy-contact *::before { box-sizing:border-box; }
.spy-contact h1,.spy-contact h2 { margin:0 0 20px; color:inherit; font-family:Vera,Lato,Arial,sans-serif; text-indent:0; line-height:1.15; }
.spy-contact h1 { font-size:clamp(36px,5vw,64px); letter-spacing:-.025em; }
.spy-contact h2 { font-size:clamp(28px,3vw,40px); }
.spy-contact p { margin:0 0 22px; }
.spy-contact a { color:#fff; text-underline-offset:4px; }
.spy-contact a:focus-visible { outline:3px solid #22a7d7; outline-offset:4px; }
.spy-contact .spy-contact__kicker { font-size:12px; text-transform:uppercase; letter-spacing:.1em; font-weight:800; }
.spy-contact__hero { padding:clamp(30px,6vw,76px); margin-bottom:40px; border:1px solid #ffffff33; border-radius:8px; background:linear-gradient(90deg,rgba(10,18,30,.87),rgba(10,18,30,.55)),url("images/contact-hero.jpg") center 42%/cover no-repeat; }
.spy-contact__hero>p:not(.spy-contact__kicker) { max-width:690px; color:#e1e7ef; font-size:19px; }
.spy-contact__actions { display:flex; flex-wrap:wrap; gap:14px; }
.spy-contact .spy-contact__button,.spy-contact .spy-contact__outline { display:inline-block; padding:12px 20px; min-height:48px; background:#a61c0f; border:1px solid #a61c0f; border-radius:6px; color:#fff; text-decoration:none; font-size:16px; font-weight:800; }
.spy-contact .spy-contact__button:hover { background:#7f150b; }
.spy-contact .spy-contact__outline { background:transparent; border-color:#abb4c2; }
.spy-contact .spy-inquiry { margin-top:0; }
.spy-contact .spy-inquiry h2 { color:#172033; }
.spy-contact .spy-inquiry a { color:#8b2117; }
.spy-contact .spy-inquiry a:focus-visible { outline-color:#007d9f; }
.spy-contact__details { margin-top:32px; font-style:normal; }
.spy-contact__details dl { margin:0; padding:0; }
.spy-contact__details dl>div { margin-bottom:24px; }
.spy-contact__details dl>div:last-child { margin-bottom:0; }
.spy-contact__details dt { font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:#455267; margin-bottom:6px; }
.spy-contact__details dd { margin:0; font-size:16px; line-height:1.7; }
.spy-contact__details a { overflow-wrap:anywhere; }
.spy-contact__portal { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:28px; margin-top:40px; padding:32px; border:1px solid #526078; border-radius:8px; background:#172033; }
.spy-contact__portal>div { max-width:760px; }
.spy-contact__portal h2 { font-size:27px; }
.spy-contact__portal p:not(.spy-contact__kicker) { color:#d7dee9; font-size:16px; margin-bottom:0; }
.spy-contact__portal>a { display:inline-block; padding:12px 18px; border:1px solid #abb4c2; border-radius:6px; font-size:15px; font-weight:700; text-decoration:none; }
@media(max-width:640px) { .spy-contact { padding-top:96px; } .spy-contact__portal { padding:26px; } }
