/* Contact and footer follow the approved landing, using Pixel's own contacts. */
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.contact.section { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:48px; background:#181a1f; color:#fff; }
.contact .contact-head h2 { margin:0; max-width:440px; }
.contact .contact-intro { max-width:440px; margin-top:20px; color:#b9bec7; font-size:var(--rz-text); line-height:var(--rz-leading); }
.contact .contact-people { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:28px; }
.contact .person { display:flex; flex-direction:column; align-items:flex-start; gap:8px; min-width:0; padding-top:16px; border-top:1px solid #43474f; }
html[data-rezim-system] .contact .person h3 { margin:0; font-size:18px!important; line-height:1.4!important; }
.contact .person p { min-height:36px; color:#b9bec7; }
.contact .person a { font-size:14px; line-height:1.5; font-weight:400; text-decoration:underline; text-underline-offset:5px; overflow-wrap:anywhere; }
.contact .person a[href^="tel:"] { margin-top:8px; white-space:nowrap; }
.contact .brief-form { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; min-width:0; }
.contact .brief-form label { display:grid; gap:6px; }
.contact .brief-form label small { margin-left:4px; color:#b9bec7; font-size:12px; font-weight:400; }
.contact .brief-form .required-marker { color:#b9bec7; }
.contact .brief-form input, .contact .brief-form textarea { width:100%; border:1px solid #9298a3; color:#fff; background:transparent; }
.contact .brief-form textarea { min-height:100px!important; resize:vertical; }
.contact .brief-form input::placeholder, .contact .brief-form textarea::placeholder { color:#b9bec7; opacity:1; }
.contact .brief-form input:hover, .contact .brief-form textarea:hover { border-color:#fff; }
.contact :is(a,button,input,textarea,summary):focus-visible { outline:2px solid #9eb4ff; outline-offset:4px; }
.contact .contact-help { margin-top:-12px; font-size:12px; line-height:1.5; color:#b9bec7; }
.contact .brief-extra summary { padding:6px 0; color:#b9bec7; font-size:14px; cursor:pointer; }
.contact .brief-extra[open] label { margin-top:12px; }
.contact .form-submit.button { justify-self:stretch; justify-content:center; width:100%; border:1px solid #6e8aff; border-radius:4px; background:#315cff; color:#fff; box-shadow:inset 0 1px 0 #ffffff26,0 3px 8px #00000026; transform:none; }
.contact .form-submit.button:hover { background:#456eff; border-color:#9eb4ff; box-shadow:inset 0 1px 0 #ffffff26,0 3px 8px #00000026; transform:none; }
.contact .form-submit.button:active { background:#284ce3; transform:none; }
.contact .form-note { color:#b9bec7; font-size:14px; line-height:1.5; }
.contact #brief-mail { justify-self:start; padding:4px 0; color:#fff; }
.contact #brief-mail[hidden] { display:none; }
.contact #brief-status:empty { display:none; }
html[data-rezim-system] .footer { display:block; padding:0 var(--rz-page-pad) 32px; background:#181a1f; color:#b9bec7; }
.footer .siteFamilyNav { margin-top:0; }
.footer .footer-meta { display:flex; justify-content:space-between; gap:16px; margin-top:24px; padding-top:24px; border-top:1px solid #43474f; font-size:14px; line-height:1.5; font-weight:400; }
.no-js .contact .brief-form { display:none; }
@media(max-width:900px) { .contact .contact-people { grid-template-columns:1fr; } .contact .person p { min-height:0; } }
@media(max-width:760px) { .contact.section { grid-template-columns:minmax(0,1fr); gap:32px; } .contact .contact-people { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } .contact .person p { min-height:36px; } .contact .person a { font-size:12px; } html[data-rezim-system] .contact .person h3 { font-size:16px!important; } .footer .footer-meta { flex-direction:column; gap:8px; } }
@media(max-width:360px) { .contact .contact-people { grid-template-columns:1fr; } .contact .person p { min-height:0; } }

/* Explicit consent for server intake; surrounding contact layout is unchanged. */
.contact .brief-form .brief-consent { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:start; gap:12px; font-size:13px; line-height:1.5; color:#b9bec7; }
.contact .brief-form .brief-consent input { width:18px; height:18px; margin-top:2px; padding:0; accent-color:#315cff; }
.contact .brief-form .brief-honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.contact .form-submit:disabled { cursor:wait; opacity:.7; }
/* Matching short form hierarchy, retaining the PIXEL contact palette and geometry. */
.contact .brief-form h3 { margin:0; font-size:var(--rz-subheading,24px); line-height:1.3; }
.contact .brief-form .form-intro { margin:-8px 0 4px; color:#b9bec7; font-size:14px; line-height:1.6; }
.contact .brief-extra summary { min-height:44px; padding:10px 0; }
.contact .brief-form input[type=file] { min-width:0; width:100%; padding:8px; font-size:13px; }
.contact .brief-form input[type=file]::file-selector-button { min-height:36px; margin-right:10px; padding:7px 12px; border:1px solid #9298a3; border-radius:4px; background:#202329; color:#fff; font:inherit; cursor:pointer; }
.contact .brief-form .file-hint { margin-top:8px; font-size:12px; line-height:1.6; }
.contact .brief-form .file-error { margin-top:8px; color:#ffb6c3; font-size:13px; line-height:1.6; }
.contact .brief-form .file-remove { min-height:44px; padding:8px 0; border:0; background:none; color:#fff; font:inherit; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
