body.contact-modern-page { background: #f8f6fa; color: #24132d; }

#contact-modern { --contact-purple:#491564; --contact-purple-dark:#2b0d3b; --contact-gold:#f4b223; --contact-ink:#24132d; --contact-muted:#655d69; --contact-line:rgba(73,21,100,.14); font-family:"Roboto",Arial,sans-serif; }
#contact-modern *, #contact-modern *::before, #contact-modern *::after { box-sizing:border-box; }
#contact-modern h1, #contact-modern h2, #contact-modern p { margin-top:0; }
.contact-modern-shell { width:min(1280px,calc(100% - 48px)); margin:0 auto; }
.contact-modern-hero { position:relative; min-height:560px; display:flex; align-items:flex-end; overflow:hidden; background:var(--contact-purple-dark); }
.contact-modern-hero>img, .contact-modern-hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.contact-modern-hero>img { object-fit:cover; object-position:center 45%; }
.contact-modern-hero-shade { background:linear-gradient(90deg,rgba(30,8,43,.88),rgba(30,8,43,.36) 65%,rgba(30,8,43,.1)); }
.contact-modern-hero-content { position:relative; z-index:1; padding:88px 0 76px; color:#fff; }
.contact-modern-kicker, .contact-modern-label { margin-bottom:14px; color:var(--contact-gold); font-size:12px; font-weight:700; letter-spacing:.08em; line-height:1.3; text-transform:uppercase; }
.contact-modern-hero h1 { max-width:720px; margin-bottom:20px; color:#fff !important; font-size:clamp(42px,5vw,72px); font-weight:700; letter-spacing:0; line-height:1.02; }
.contact-modern-hero-content>p:not(.contact-modern-kicker) { max-width:620px; margin-bottom:30px; color:rgba(255,255,255,.88); font-size:18px; line-height:1.6; }
.contact-modern-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:13px 20px; border:1px solid transparent; border-radius:6px; font-size:14px; font-weight:700; line-height:1.2; text-decoration:none; transition:transform 160ms ease,background-color 160ms ease,color 160ms ease; }
.contact-modern-button:hover, .contact-modern-button:focus-visible { transform:translateY(-2px); }
.contact-modern-button-light { background:#fff; color:var(--contact-purple); }
.contact-modern-button-primary { background:var(--contact-purple); color:#fff; }
.contact-modern-button-primary:hover, .contact-modern-button-primary:focus-visible { background:var(--contact-purple-dark); color:#fff; }
.contact-modern-section { padding:86px 0; }
.contact-modern-connect, .contact-modern-location { background:#fff; }
.contact-modern-heading { max-width:650px; margin-bottom:34px; }
.contact-modern-heading h2, .contact-modern-form-intro h2, .contact-modern-location-copy h2 { margin-bottom:14px; color:var(--contact-purple); font-size:clamp(30px,4vw,46px); font-weight:700; letter-spacing:0; line-height:1.1; }
.contact-modern-heading>p:last-child, .contact-modern-form-intro>p:not(.contact-modern-label), .contact-modern-location-copy>p:not(.contact-modern-label) { margin-bottom:0; color:var(--contact-muted); font-size:16px; line-height:1.7; }
.contact-modern-contact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.contact-modern-contact-card { position:relative; display:flex; align-items:flex-start; gap:14px; min-height:146px; padding:22px; border:1px solid var(--contact-line); border-radius:8px; background:#fff; color:var(--contact-ink); text-decoration:none; transition:border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease; }
.contact-modern-contact-card:hover, .contact-modern-contact-card:focus-visible { border-color:var(--contact-purple); box-shadow:0 12px 28px rgba(73,21,100,.13); color:var(--contact-ink); transform:translateY(-3px); }
.contact-modern-icon { display:grid; width:40px; height:40px; flex:0 0 40px; place-items:center; border-radius:50%; background:#f5edf8; color:var(--contact-purple); }
.contact-modern-contact-card strong, .contact-modern-contact-card small { display:block; }
.contact-modern-contact-card strong { margin:3px 0 8px; color:var(--contact-purple); font-size:16px; }
.contact-modern-contact-card small { color:var(--contact-muted); font-size:13px; line-height:1.6; }
.contact-modern-card-arrow { position:absolute; top:22px; right:20px; color:var(--contact-gold); font-size:12px; }
.contact-modern-form-section { background:#f8f6fa; }
.contact-modern-form-grid, .contact-modern-location-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:56px; align-items:start; }
.contact-modern-form-intro, .contact-modern-location-copy { padding-top:18px; }
.contact-modern-response-note { display:flex; gap:12px; margin-top:30px; padding:16px; border-left:3px solid var(--contact-gold); background:#fff; color:var(--contact-muted); font-size:13px; line-height:1.55; }
.contact-modern-response-note i { padding-top:2px; color:var(--contact-purple); }
.contact-modern-form-panel { padding:30px; border:1px solid var(--contact-line); border-radius:8px; background:#fff; box-shadow:0 14px 30px rgba(73,21,100,.08); }
.contact-modern-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 16px; }
.contact-modern-form-row { display:flex; min-width:0; flex-direction:column; gap:7px; }
.contact-modern-form-wide, .contact-modern-form>.contact-modern-button, .contact-modern-form>.submitting { grid-column:1/-1; }
.contact-modern-form label { color:var(--contact-purple); font-size:13px; font-weight:700; }
.contact-modern-form input, .contact-modern-form textarea { width:100%; border:1px solid rgba(73,21,100,.2); border-radius:4px; background:#fff; color:var(--contact-ink); font:inherit; font-size:14px; line-height:1.4; outline:none; transition:border-color 160ms ease,box-shadow 160ms ease; }
.contact-modern-form input { height:48px; min-height:48px; padding:12px 14px; }
.contact-modern-form textarea { min-height:150px; padding:13px 14px; resize:vertical; }
.contact-modern-form input:focus, .contact-modern-form textarea:focus { border-color:var(--contact-purple); box-shadow:0 0 0 3px rgba(73,21,100,.12); }
.contact-modern-form-message { display:none; margin-bottom:18px; padding:12px 14px; border-radius:4px; background:#fff3f3; color:#9f2d2d; font-size:13px; }
.contact-modern-form-success { background:#edf8f1; color:#226b3c; }
.contact-modern-form-message.is-visible { display:block; }
.contact-modern-form .contact-modern-button:disabled { cursor:wait; opacity:.7; transform:none; }
.contact-modern-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.contact-modern-text-link { display:inline-flex; gap:9px; align-items:center; margin-top:24px; color:var(--contact-purple); font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.contact-modern-map-wrap { min-height:380px; overflow:hidden; border:1px solid var(--contact-line); border-radius:8px; background:#eee; }
.contact-modern-map-wrap iframe { display:block; width:100%; min-height:380px; border:0; }

@media (max-width:800px) { .contact-modern-contact-grid, .contact-modern-form-grid, .contact-modern-location-grid { grid-template-columns:1fr; gap:30px; } .contact-modern-form-intro, .contact-modern-location-copy { padding-top:0; } }
@media (max-width:560px) { .contact-modern-shell { width:min(100% - 32px,1280px); } .contact-modern-hero { min-height:590px; } .contact-modern-hero-content { padding:72px 0 56px; } .contact-modern-hero h1 { font-size:42px; } .contact-modern-hero-content>p:not(.contact-modern-kicker) { font-size:16px; } .contact-modern-button { width:100%; } .contact-modern-section { padding:62px 0; } .contact-modern-form { grid-template-columns:1fr; } .contact-modern-form-panel { padding:20px; } .contact-modern-form-wide, .contact-modern-form>.contact-modern-button, .contact-modern-form>.submitting { grid-column:auto; } .contact-modern-map-wrap, .contact-modern-map-wrap iframe { min-height:300px; } }
