/* Contact page only: real interface over the untouched approved ring. */
.contact-page { min-height:max(100svh,56.7vw); background:#30261c url('../img/contact-background-retro.png') center center/cover no-repeat; color:#ead8b5; font-family:Barlow,Arial,Helvetica,sans-serif; }
.contact-layout { display:grid; grid-template-columns:1.08fr 1fr; gap:6vw; padding:9.8vw 17.8vw 7.3vw 19vw; }
.contact-page h1,.contact-page h2 { font-family:Impact,'Arial Narrow','Arial Black',sans-serif; font-stretch:condensed; font-weight:400; letter-spacing:1.5px; }
.contact-page h1 { font-size:2.7vw; line-height:1.1; margin:0 0 1.55vw; white-space:nowrap; }
.contact-page h2 { font-size:2.7vw; line-height:1.1; margin:0 0 2.2vw; }
.contact-field { margin-bottom:.85vw; }
.contact-field label { display:block; margin-bottom:.35vw; font-size:1.15vw; line-height:1.35; }
.contact-field input,.contact-field textarea { display:block; width:100%; border:1px solid #e8cfaa9c; border-radius:3px; background:#F2D9B9; color:#21170f; font:16px/1.35 Barlow,Arial,Helvetica,sans-serif; padding:8px 10px; box-shadow:inset 0 0 12px #f8e2bb16; }
.contact-field input { height:2.65vw; }
.contact-field textarea { height:7.6vw; resize:vertical; }
.contact-submit { display:flex; align-items:center; justify-content:center; gap:20px; width:100%; min-height:4.1vw; padding:8px; border:1px solid #d7b58f; border-radius:4px; color:#f1ddbb; font:400 14px/1 Barlow,Arial,Helvetica,sans-serif; letter-spacing:normal; cursor:pointer; background:#8F1D32; box-shadow:inset 0 0 16px #43160f55; }
.contact-submit:hover { filter:brightness(1.12); }
.contact-page :is(input,textarea,button,a):focus-visible { outline:3px solid #ffe4a4; outline-offset:3px; }
.contact-details dl { margin:0; }
.contact-intro { margin:0 0 1.9vw; color:#ead8b5; font-size:1.4vw; line-height:1.45; }
.contact-detail { display:flex; align-items:center; gap:1.2vw; margin-bottom:1.9vw; font-size:1.4vw; line-height:1.45; }
.contact-detail dt { font-weight:600; margin-bottom:1px; }
.contact-detail dd { margin:0; }
.contact-detail a { color:inherit; text-decoration:none; overflow-wrap:anywhere; }
.contact-detail a:hover { text-decoration:underline; }
.contact-icon { display:grid; place-items:center; flex:0 0 4vw; height:4vw; border:3px solid #813527; border-radius:50%; }
.contact-icon svg { width:2.15vw; height:2.15vw; color:#F2D9B9; }
.contact-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.contact-status { padding:12px; margin-bottom:16px; border:1px solid currentColor; background:#20160ee6; font:16px/1.4 Barlow,Arial,Helvetica,sans-serif; }
.contact-error { display:block; padding-top:4px; font-size:14px; color:#ffe6c4; }
.contact-field [aria-invalid] { border-color:#ffd2a3; outline:1px solid #ffd2a3; }
@media(min-width:901px) {
 .contact-page { min-height:calc(100dvh - var(--admin-bar-height)); }
 .contact-layout { width:min(56vw,900px); margin-inline:auto; padding:clamp(142px,17dvh,180px) 0 clamp(24px,5dvh,54px); gap:clamp(48px,5vw,76px); }
 .contact-form-section,.contact-details { min-width:0; }
 .contact-page h1 { font-size:clamp(26px,3.2dvh,34px); margin-bottom:clamp(14px,2.2dvh,24px); white-space:normal; }
 .contact-page h2 { font-size:clamp(26px,3.2dvh,34px); margin-bottom:clamp(18px,2.6dvh,28px); }
 .contact-field { margin-bottom:clamp(8px,1.15dvh,12px); }
 .contact-field label { font-size:clamp(14px,1.75dvh,16px); margin-bottom:4px; }
 .contact-field input,.contact-field textarea { font-size:15px; padding:6px 9px; }
 .contact-field input { height:clamp(32px,4.4dvh,42px); }
 .contact-field textarea { height:clamp(76px,10.5dvh,110px); }
 .contact-submit { min-height:clamp(42px,5dvh,52px); height:round(nearest,clamp(45px,calc(4dvh + 14px),54px),1px); font-size:14px; gap:16px; padding:6px 8px; }
 .contact-detail { font-size:clamp(16px,2dvh,20px); gap:clamp(12px,1.5dvh,16px); margin-bottom:clamp(18px,2.6dvh,28px); }
 .contact-intro { font-size:clamp(16px,2dvh,20px); margin-bottom:clamp(18px,2.6dvh,28px); }
 .contact-icon { flex-basis:clamp(42px,5.2dvh,54px); height:clamp(42px,5.2dvh,54px); }
 .contact-icon svg { width:clamp(23px,2.8dvh,29px); height:clamp(23px,2.8dvh,29px); }

}
@media(max-width:900px) {
 .contact-page { background-position:center; }
 .contact-layout { grid-template-columns:1fr; padding:155px 15vw 70px; gap:55px; }
 .contact-page h1 { font-size:34px; margin-bottom:24px; white-space:normal; }
 .contact-page h2 { font-size:34px; margin-bottom:22px; }
 .contact-field { margin-bottom:16px; }
 .contact-field label { font-size:16px; margin-bottom:6px; }
 .contact-field input { height:42px; }
 .contact-field textarea { height:140px; }
 .contact-submit { min-height:54px; height:56px; font-size:13px; }
 .contact-detail { gap:18px; margin-bottom:25px; font-size:18px; }
 .contact-intro { font-size:18px; margin-bottom:25px; }
 .contact-icon { flex-basis:54px; height:54px; }
 .contact-icon svg { width:29px; height:29px; }
}
@media(max-width:600px) {
 .contact-layout { padding:120px 24px 45px; gap:42px; }
 .contact-page h1,.contact-page h2 { font-family:Barlow,'Arial Narrow',Impact,'Arial Black',sans-serif; }
 .contact-page h1 { font-size:30px; }
 .contact-submit { font-size:12px; }
 .contact-page h2 { font-size:30px; }
 .contact-detail { font-size:16px; gap:13px; }
 .contact-intro { font-size:16px; }
 .contact-icon { flex-basis:46px; height:46px; }
}

/* Contact headings, labels and data only; leave controls and icons unchanged. */
.contact-page h1,.contact-page h2,.contact-field label,.contact-detail dt,.contact-detail dd { color:#ead8b5; }

.contact-privacy-notice { margin:0 0 12px; color:inherit; font-size:14px; line-height:1.4; }
.contact-privacy-notice a { color:inherit; text-decoration:underline; }
