.contact-page { --contact-ink:#263d4c; --contact-muted:#60717d; --contact-line:#d6dfe4; --contact-accent:#294b62; background:#f2f5f6; color:var(--contact-ink); font-family:var(--font-inter),Inter,Arial,sans-serif; font-size:17px; line-height:1.65; color-scheme:light; padding:140px clamp(20px,4vw,72px) 80px; }
.contact-page *, .contact-page *::before, .contact-page *::after { box-sizing:border-box; }
.contact-page svg { width:22px; height:22px; flex-shrink:0; stroke-width:1.7; }
.contact-page a { color:inherit; text-underline-offset:4px; }
.contact-page :is(a,button,input,textarea):focus-visible { outline:3px solid #789bad; outline-offset:4px; }
.contact-page-heading { padding-bottom:34px; margin-bottom:32px; border-bottom:1px solid var(--contact-line); }
.contact-page-heading nav { display:flex; gap:12px; font-size:15px; color:var(--contact-muted); margin-bottom:24px; }
.contact-page-heading nav a { text-decoration:none; }
.contact-heading-row { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.contact-heading-row h1 { font-size:clamp(34px,3.8vw,54px); line-height:1.15; font-weight:600; letter-spacing:-.045em; margin:0 0 18px; }
.contact-heading-row p { font-size:19px; color:var(--contact-muted); line-height:1.7; max-width:760px; margin:0; }
.contact-email-link { display:flex; align-items:center; gap:15px; text-decoration:none; flex-shrink:0; padding:18px 0 18px 30px; border-left:1px solid var(--contact-line); }
.contact-email-link span { font-size:14px; color:var(--contact-muted); }
.contact-email-link strong { display:block; font-size:18px; font-weight:550; color:var(--contact-ink); }
.contact-layout { display:grid; grid-template-columns:minmax(280px,.8fr) minmax(0,1.45fr); align-items:start; gap:clamp(24px,3vw,48px); }
.contact-aside { min-width:0; }
.contact-overview { background:#e9eff2; border:1px solid var(--contact-line); border-radius:12px; padding:30px; }
.contact-page h2 { font-size:27px; font-weight:600; letter-spacing:-.035em; line-height:1.3; margin:0 0 14px; }
.contact-page h3 { font-size:19px; font-weight:600; margin:0 0 12px; }
.contact-overview>p, .contact-aside-section p { color:var(--contact-muted); margin:0 0 20px; }
.contact-section-icon { display:grid; place-items:center; width:48px; height:48px; background:#fff; border:1px solid var(--contact-line); border-radius:10px; margin-bottom:24px; }
.contact-overview ul { list-style:none; padding:22px 0 0; margin:24px 0 0; border-top:1px solid #cdd9e0; display:grid; gap:18px; }
.contact-overview li { display:flex; align-items:center; gap:12px; font-size:16px; }
.contact-overview li svg { width:19px; height:19px; color:#5c7868; }
.contact-aside-section { padding:30px 4px; }
.contact-aside-section p { font-size:16px; }
.contact-aside-section p:last-child { margin-bottom:0; }
.contact-aside-section ul { margin:0; padding-left:20px; color:var(--contact-muted); font-size:16px; display:grid; gap:12px; }
.contact-resources { margin:26px -6px -6px; }
.contact-resources a { display:flex; align-items:center; gap:14px; padding:20px 0; border-top:1px solid #ccd8df; text-decoration:none; }
.contact-resources a>span { flex:1; }
.contact-resources strong, .contact-resource-link strong { font-size:16px; font-weight:600; display:block; }
.contact-resources small, .contact-resource-link small { font-size:14px; line-height:1.6; color:var(--contact-muted); display:block; margin-top:4px; }
.contact-resources a:hover strong, .contact-resource-link:hover strong { text-decoration:underline; }
.contact-resources a>svg:last-child { width:18px; }
.contact-resource-link { display:flex; align-items:center; gap:14px; padding:22px; border:1px solid var(--contact-line); border-radius:10px; background:#fff; text-decoration:none; }
.contact-resource-link>span { flex:1; }
.contact-form-panel { min-width:0; background:#fff; border:1px solid var(--contact-line); border-radius:12px; overflow:hidden; box-shadow:0 4px 24px #263d4c04; }
.contact-form-panel>header { background:#fbfcfd; border-bottom:1px solid var(--contact-line); padding:30px 36px; }
.contact-form-panel>header p { font-size:16px; color:var(--contact-muted); margin:0; }
.contact-form-panel form { padding:32px 36px; }
.contact-fields { display:grid; gap:24px; margin:0; padding:0; border:0; min-width:0; }
.contact-field-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.contact-fields label { display:block; font-size:16px; font-weight:550; min-width:0; }
.contact-fields label>span { font-size:14px; font-weight:400; color:var(--contact-muted); margin-left:6px; }
.contact-fields :is(input:not([type=radio]),textarea) { display:block; width:100%; min-width:0; margin-top:9px; border:1px solid #c7d4dd; border-radius:7px; background:#fcfdfe; color:var(--contact-ink); font:inherit; font-size:16px; font-weight:400; padding:13px 15px; min-height:52px; transition:border-color .15s,box-shadow .15s; }
.contact-fields :is(input,textarea)::-moz-placeholder { color:#7d8c97; opacity:1; }
.contact-fields :is(input,textarea)::placeholder { color:#7d8c97; opacity:1; }
.contact-fields :is(input,textarea):focus { border-color:#66869b; box-shadow:0 0 0 3px #66869b18; }
.contact-fields textarea { resize:vertical; line-height:1.7; }
.contact-fields:disabled { opacity:.7; }
.contact-field-note { color:var(--contact-muted); font-size:14px; line-height:1.65; margin:-12px 0 0; }
.contact-topics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; border:0; padding:0; margin:0; min-width:0; }
.contact-topics legend { font-size:16px; font-weight:550; margin-bottom:12px; padding:0; }
.contact-topics label { display:flex; align-items:center; gap:10px; padding:12px 14px; border:1px solid var(--contact-line); border-radius:7px; cursor:pointer; }
.contact-topics label:has(input:checked) { background:#edf3f6; border-color:#57758a; }
.contact-topics label>span { font-size:15px; color:var(--contact-ink); margin:0; }
.contact-topics input { width:17px; height:17px; accent-color:var(--contact-accent); margin:0; }
.contact-verification { margin-top:26px; min-height:78px; }
.contact-verification>p { color:var(--contact-muted); font-size:15px; }
.contact-submit-row { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:26px; margin-top:26px; border-top:1px solid var(--contact-line); }
.contact-submit-row p { font-size:14px; color:var(--contact-muted); max-width:300px; margin:0; }
.contact-primary { display:inline-flex; align-items:center; justify-content:center; gap:14px; padding:15px 22px; min-height:54px; background:var(--contact-accent); color:white!important; border:1px solid var(--contact-accent); border-radius:8px; font:inherit; font-size:16px; font-weight:550; text-decoration:none; cursor:pointer; flex-shrink:0; }
.contact-primary:hover:not(:disabled) { background:#203b50; }
.contact-primary:disabled { opacity:.5; cursor:not-allowed; }
.contact-error { padding:16px 18px; margin-top:20px; border:1px solid #ddc1bb; background:#fcf4f2; border-radius:8px; color:#834c43; font-size:15px; }
.contact-confirmation { padding:clamp(32px,5vw,72px); min-height:460px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.contact-confirmation-icon { display:grid; place-items:center; width:54px; height:54px; background:#edf4f0; border:1px solid #cbded2; border-radius:12px; margin-bottom:26px; color:#527362; }
.contact-confirmation p { color:var(--contact-muted); max-width:520px; }
.contact-confirmation dl { margin:15px 0 30px; }
.contact-confirmation dt { font-size:14px; color:var(--contact-muted); }
.contact-confirmation dd { margin:4px 0 0; font-size:20px; font-weight:550; }
.contact-sr-only, .contact-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.contact-spinner { animation:contact-spin 1s linear infinite; }
@keyframes contact-spin { to { transform:rotate(360deg); } }
@media(max-width:1150px) { .contact-heading-row { flex-direction:column; align-items:flex-start; gap:24px; } .contact-email-link { border-left:0; padding:0; } .contact-layout { grid-template-columns:minmax(250px,.75fr) minmax(0,1.4fr); gap:24px; } .contact-overview { padding:24px; } .contact-form-panel>header,.contact-form-panel form { padding:28px; } .contact-field-row { grid-template-columns:1fr; } .contact-submit-row { flex-direction:column-reverse; align-items:stretch; } .contact-submit-row p { max-width:none; } }
@media(max-width:800px) { .contact-page { padding-top:115px; padding-bottom:50px; } .contact-layout { display:flex; flex-direction:column; } .contact-aside { display:contents; } .contact-form-panel { order:0; width:100%; } .contact-overview { order:1; width:100%; } .contact-aside-section { order:2; padding:15px 4px; } .contact-resource-link { order:3; width:100%; } .contact-field-row { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:520px) { .contact-page { padding-inline:16px; } .contact-heading-row h1 { font-size:36px; } .contact-heading-row p { font-size:17px; } .contact-form-panel>header,.contact-form-panel form { padding:24px 18px; } .contact-field-row,.contact-topics { grid-template-columns:1fr; } .contact-page h2 { font-size:24px; } }
.contact-support .contact-page-heading { border:0; padding-bottom:0; }
.contact-support .contact-heading-row h1 { margin-bottom:12px; }
.contact-support .contact-layout { grid-template-columns:minmax(300px,.65fr) minmax(0,1.35fr); align-items:stretch; gap:0; border:1px solid var(--contact-line); border-radius:12px; overflow:hidden; background:#fff; }
.contact-support .contact-aside { display:flex; flex-direction:column; padding:32px; background:#eaf0f3; border-right:1px solid var(--contact-line); }
.contact-support .contact-form-panel { border:0; border-radius:0; box-shadow:none; }
.contact-support .contact-form-panel>header { background:#fff; padding:30px 36px 0; border:0; }
.contact-support .contact-form-panel>header h2 { margin:0; }
.contact-support .contact-form-panel form { padding-top:26px; }
.contact-support .contact-support-topics { grid-template-columns:1fr; gap:8px; }
.contact-support-topics legend { font-size:21px; font-weight:600; margin-bottom:22px; }
.contact-support-topics label { min-height:52px; padding:12px 16px; background:transparent; border-color:transparent; }
.contact-support-topics label:hover { background:#ffffff80; }
.contact-support-topics label:has(input:checked) { background:#fff; border-color:#aebfcb; box-shadow:0 2px 5px #263d4c05; }
.contact-support-topics label>span { font-size:17px; font-weight:500; }
.contact-support-topics input { width:18px; height:18px; flex-shrink:0; }
.contact-support-links { display:grid; gap:4px; margin-top:28px; padding-top:22px; border-top:1px solid #cdd9e0; }
.contact-support-links a { display:flex; align-items:center; gap:12px; min-height:48px; padding:10px 6px; text-decoration:none; font-size:17px; }
.contact-support-links a span { flex:1; }
.contact-support-links a>svg:last-child, .contact-support-email>svg:last-child { width:18px; height:18px; color:var(--contact-muted); }
.contact-support-links a:hover span, .contact-support-email:hover strong { text-decoration:underline; }
.contact-support-email { display:flex; align-items:center; gap:12px; padding-top:32px; margin-top:auto; text-decoration:none; }
.contact-support-email span { flex:1; color:var(--contact-muted); font-size:15px; }
.contact-support-email strong { display:block; color:var(--contact-ink); font-size:18px; font-weight:550; overflow-wrap:anywhere; }
.contact-support .contact-fields label, .contact-support .contact-fields :is(input:not([type=radio]),textarea), .contact-support .contact-primary { font-size:17px; }
.contact-support .contact-submit-row p { font-size:15px; }
.contact-support .contact-layout:has(.contact-confirmation) .contact-support-topics { display:none; }
.contact-support .contact-layout:has(.contact-confirmation) .contact-support-links { margin-top:0; padding-top:0; border:0; }
@media(max-width:1150px) { .contact-support .contact-layout { grid-template-columns:300px minmax(0,1fr); } .contact-support .contact-aside { padding:28px 22px; } .contact-support .contact-form-panel>header { padding:28px 28px 0; } }
@media(max-width:800px) { .contact-support .contact-layout { display:grid; grid-template-columns:1fr; } .contact-support .contact-aside { border-right:0; border-bottom:1px solid var(--contact-line); } .contact-support .contact-support-topics { grid-template-columns:repeat(2,minmax(0,1fr)); } .contact-support-links { display:flex; flex-wrap:wrap; -moz-column-gap:24px; column-gap:24px; margin-top:20px; padding-top:16px; } .contact-support-email { padding-top:18px; } }
@media(max-width:520px) { .contact-support .contact-aside { padding:24px 18px; } .contact-support .contact-form-panel>header { padding:24px 18px 0; } .contact-support .contact-support-topics { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .contact-page *, .contact-page *::before, .contact-page *::after { animation:none!important; transition:none!important; } }

