/* Shared form geometry; each contact page loads its own brand palette. */
body.contact-page{background:var(--contact-paper);color:var(--contact-text);--bg-canvas:var(--contact-paper);--bg-surface:var(--contact-surface);--bg-surface-elevated:var(--contact-surface);--text-main:var(--contact-text);--text-secondary:var(--contact-muted);--text-muted:var(--contact-muted);--glass-border:var(--contact-line);--advisory-blue:var(--contact-accent);--advisory-cyan:var(--contact-accent);--advisory-blue-glow:var(--contact-focus);--contact-success:var(--contact-accent)}
.contact-intro{max-width:1280px;margin:auto;padding:156px 28px 48px}
.contact-intro h1{font:600 clamp(38px,4.5vw,60px)/1.08 var(--font-display);letter-spacing:-.03em;max-width:19ch;margin:0 0 24px;text-wrap:balance;color:var(--contact-text)}
.contact-intro em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--contact-accent)}
.contact-intro p{max-width:62ch;color:var(--contact-muted);font-size:17px;line-height:1.8;margin:0}
.contact-page #main-content{padding:0 0 80px}
.contact-page #main-content>.container{max-width:1280px;padding:0 28px}
.contact-page .contact-main-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:56px;align-items:start}
.contact-page .lead-form{display:flex;flex-direction:column;gap:22px;min-width:0;max-width:100%;padding:32px;background:var(--contact-surface);border:1px solid var(--contact-line);border-radius:12px;box-shadow:none;backdrop-filter:none}
.contact-page .form-row-2col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.contact-page .form-group{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0}
.contact-page .form-label{font:600 13px/1.6 var(--font-body);color:var(--contact-text);text-transform:none;letter-spacing:0}
.contact-page .required-badge,.contact-page .optional-badge{font:400 12px/1.5 var(--font-body);color:var(--contact-muted);text-transform:none;letter-spacing:0}
.contact-page :is(.form-input,.form-select,.form-textarea){width:100%;min-width:0;max-width:100%;min-height:48px;box-sizing:border-box;border:1px solid var(--contact-line);border-radius:8px;background:var(--contact-input);color:var(--contact-text);padding:12px 14px;font:400 16px/1.5 var(--font-body);transition:border-color 180ms ease,box-shadow 180ms ease}
.contact-page .form-textarea{min-height:200px;resize:vertical}
.contact-page :is(.form-input,.form-select,.form-textarea):focus{border-color:var(--contact-accent);outline:2px solid var(--contact-accent);outline-offset:2px;box-shadow:none}
.contact-page :is(.form-input,.form-textarea)::placeholder{color:var(--contact-muted);opacity:1}
.contact-page .contact-request-description{font:400 13px/1.75 var(--font-body);color:var(--contact-muted);max-width:65ch;margin:2px 0 0}
.contact-page .field-error{display:none;font:400 13px/1.6 var(--font-body);color:var(--contact-error);margin:0}
.contact-page .field-error.visible{display:block}
.contact-page [aria-invalid=true]{border-color:var(--contact-error)}
.contact-page .form-status{display:none;padding:14px 16px;border-radius:8px;font-size:14px;line-height:1.7;margin:0;overflow-wrap:anywhere}
.contact-page .form-status:is(.sending,.success){background:var(--contact-tint);border:1px solid var(--contact-accent);color:var(--contact-accent)}
.contact-page .form-status.error{background:var(--contact-error-tint);border:1px solid var(--contact-error);color:var(--contact-error)}
.contact-page .char-counter-wrap{display:flex;justify-content:flex-end;gap:4px;font:400 12px/1.6 var(--font-body);color:var(--contact-muted)}
.contact-page .contact-submit{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:52px;width:100%;padding:14px 22px;border:0;border-radius:999px;background:var(--contact-accent);color:#fff;font:600 14px/1.5 var(--font-body);cursor:pointer;transition:background-color 180ms ease,transform 180ms ease}
.contact-page .contact-submit:hover{background:var(--contact-accent-hover);transform:translateY(-1px)}
.contact-page .contact-submit:disabled{opacity:.65;cursor:wait;transform:none}
.contact-details{min-width:0;padding:10px 0}
.contact-details h2{font:600 27px/1.3 var(--font-display);letter-spacing:-.02em;color:var(--contact-text);margin:0 0 20px}
.contact-details h3{font:600 17px/1.5 var(--font-body);color:var(--contact-text);margin:0 0 10px}
.contact-details p,.contact-details dd{font-size:14px;line-height:1.8;color:var(--contact-muted);margin:0}
.contact-person{display:flex;align-items:start;gap:18px;margin:24px 0;min-width:0}
.contact-person>div{min-width:0}
.contact-person img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0}
.contact-person h3{margin-bottom:4px}
.contact-person a{display:block;color:var(--contact-accent);font:500 14px/1.8 var(--font-body);padding:4px 0;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
.contact-person .contact-role{font-size:13px;margin-bottom:8px}
.contact-details-section{border-top:1px solid var(--contact-line);margin-top:28px;padding-top:26px}
.contact-details dl{display:grid;gap:18px;margin:0}
.contact-details dt{font-size:13px;font-weight:600;color:var(--contact-text);margin-bottom:5px}
.contact-details .contact-context-link{display:inline-flex;align-items:center;gap:16px;margin-top:18px;padding:8px 0;color:var(--contact-accent);font:600 14px/1.5 var(--font-body);text-decoration:underline;text-underline-offset:5px}
.contact-page :is(.m2-nav-shell,.m2-navigation-drawer){--menu-blue:var(--contact-accent);--menu-gold:var(--contact-accent);--menu-tint:var(--contact-tint)}
.contact-page .m2-nav-cta{background:var(--contact-accent);color:#fff}
.contact-page .master-footer{background:var(--contact-paper);border-color:var(--contact-line)}
.contact-page .master-footer :is(.footer-col-title,.footer-brand,.mb-footer-name){color:var(--contact-text)}
.contact-page :is(.footer-tagline,.footer-nav-link,.footer-bottom){color:var(--contact-muted)}
.contact-page .cookie-banner,.contact-page .modal-container{background:var(--contact-surface);border-color:var(--contact-line);color:var(--contact-text)}
.contact-page .cookie-actions .btn,.contact-page #cookie-save-prefs{min-height:44px;font-size:12px}
.contact-page :is(.btn-primary-advisory,.btn-primary-mitabela){background:var(--contact-accent);color:#fff;border-color:var(--contact-accent);box-shadow:none}
.contact-page .switch input:checked+.slider{background:var(--contact-accent)}
.contact-page :is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--contact-accent);outline-offset:4px}
@media(max-width:1000px){.contact-page .contact-main-grid{gap:32px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.contact-page .lead-form{padding:26px}}
@media(max-width:760px){.contact-intro{padding:130px 24px 32px}.contact-intro h1{font-size:42px}.contact-intro p{font-size:15px}.contact-page #main-content>.container{padding:0 24px}.contact-page .contact-main-grid{grid-template-columns:minmax(0,1fr);gap:32px}.contact-page .form-row-2col{grid-template-columns:minmax(0,1fr);gap:22px}.contact-page .lead-form{padding:24px 20px}.contact-page .form-textarea{min-height:190px}.contact-details{padding:0}.contact-details h2{font-size:25px}.contact-page #main-content{padding-bottom:56px}}
@media(prefers-reduced-motion:reduce){.contact-page :is(.contact-submit,.form-input,.form-select,.form-textarea){transition:none}.contact-page .contact-submit:hover{transform:none}}
