.contact-layout { display:grid; grid-template-columns:.85fr 1.3fr; gap:clamp(48px,6vw,96px); padding-block:40px; align-items:start; }
.contact-intro h1 { font-size:clamp(52px,5.7vw,86px); line-height:1.02; letter-spacing:-.06em; }
.contact-intro h1 span { color:var(--coral); }
.contact-lead { margin-top:30px; font-size:clamp(19px,1.7vw,26px); line-height:1.5; }
.contact-channels { margin-top:36px; }
.contact-channels a { display:flex; gap:20px; align-items:center; justify-content:space-between; padding-block:23px; border-bottom:1px solid var(--line); font-size:18px; }
.contact-channels a:hover { color:var(--coral-hover); }
.contact-channels a > span { flex:1; min-width:0; }
.contact-channels a > .icon:first-child { width:32px; height:32px; }
.contact-channel-label { display:block; margin-bottom:8px; }
.contact-channels strong { font-weight:400; overflow-wrap:anywhere; }
.contact-explore { margin-top:32px; font-size:18px; }
.contact-explore > a { display:inline-flex; align-items:center; gap:10px; min-height:44px; margin:12px 28px 0 0; color:var(--coral-hover); }
.contact-explore > a:hover { text-decoration:underline; text-underline-offset:6px; }
.contact-compose h2 { font-size:clamp(32px,3vw,46px); letter-spacing:-.035em; }
.contact-required { margin-top:10px; color:var(--muted); font-size:17px; }
.contact-form { margin-top:22px; }
.contact-form fieldset { padding:0; margin:0; border:0; min-width:0; }
.contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 24px; }
.contact-form label { font-size:16px; line-height:1.5; }
.contact-fields label > span,.contact-message > span,.contact-star { color:var(--coral-hover); }
.contact-form small { font-size:inherit; }
.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea { display:block; width:100%; min-height:50px; border:1px solid #c8ceca; border-radius:6px; padding:12px 14px; margin-top:8px; font:inherit; color:var(--ink); background:white; transition:border-color .18s,box-shadow .18s; }
.contact-form input::placeholder,.contact-form textarea::placeholder { color:#747a75; }
.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible { outline:2px solid var(--coral-hover); outline-offset:2px; border-color:var(--coral-hover); }
.contact-message { display:block; margin-top:22px; }
.contact-form textarea { height:154px; min-height:154px; resize:vertical; }
.contact-count { text-align:right; font-size:13px; margin-top:5px; color:var(--muted); }
.contact-private,.contact-policy { font-size:13px; line-height:1.55; color:var(--muted); }
.contact-private { margin-top:8px; }
.contact-consent { display:flex; align-items:flex-start; gap:12px; margin-top:22px; cursor:pointer; }
.contact-consent input { flex:0 0 auto; width:20px; height:20px; margin:2px 0 0; accent-color:var(--coral-hover); }
.contact-policy { margin-top:12px; }
.contact-policy a { text-decoration:underline; text-underline-offset:3px; }
/* The custom disclosure was removed; retain the provider's standard attribution badge. */
.contact-page .grecaptcha-badge { visibility:visible; }
.contact-send { min-height:50px; font-size:17px; padding:12px 24px; margin-top:22px; cursor:pointer; }
.contact-send:disabled { cursor:default; transform:none; opacity:.65; }
.contact-status { margin-top:18px; font-size:15px; }
.contact-status:empty { margin:0; }
.contact-status.is-error { color:#a12620; border-left:3px solid currentColor; padding-left:12px; }
.contact-status.is-success { color:#176447; border-left:3px solid currentColor; padding-left:12px; }
.contact-again { margin-top:16px; }
.contact-trap,.contact-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.contact-spinner { display:none; width:18px; height:18px; border:2px solid #ffffff80; border-top-color:white; border-radius:50%; animation:contact-spin .8s linear infinite; }
.contact-form[aria-busy=true] .contact-spinner { display:block; }
.contact-form[aria-busy=true] .contact-send > .icon { display:none; }
@keyframes contact-spin { to { transform:rotate(360deg); } }
@media(max-width:920px) { .contact-layout { grid-template-columns:1fr; gap:40px; padding-block:36px 48px; } .contact-intro h1 { font-size:64px; } .contact-channels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; } }
@media(max-width:560px) { .contact-fields,.contact-channels { grid-template-columns:1fr; gap:20px; } .contact-intro h1 { font-size:52px; } .contact-compose h2 { font-size:34px; } .contact-lead { font-size:19px; } .contact-channels { gap:0; margin-top:22px; } .contact-send { width:100%; } }
@media(prefers-reduced-motion:reduce) { .contact-spinner { animation:none; } .contact-form input,.contact-form select,.contact-form textarea { transition:none; } }
