body { margin:0; }
.stell-contact-page { --navy:#203b53;--deep:#0e2233;--red:#862825; font-family:'Work Sans',sans-serif;color:var(--navy);background:#fff;flex:1;display:flex;flex-direction:column; }
.stell-contact-page * { box-sizing:border-box; }
.stell-contact-page a { color:inherit; }
.stell-contact-page :is(a,button,input):focus-visible { outline:3px solid #a6463f;outline-offset:4px; }
.contact-skip { position:absolute;left:24px;top:-100px;z-index:10;background:#fff;padding:12px 18px; }
.contact-skip:focus { top:12px; }
.contact-header { padding:26px 6%;background:var(--deep);display:flex;align-items:center;justify-content:space-between;gap:24px;color:#fff; }
.contact-header img { display:block;object-fit:contain;width:140px;height:auto; }
.contact-header nav { display:flex;gap:30px;align-items:center;font-size:14px; }
.contact-header nav a { text-decoration:none;padding:10px 0; }
.contact-header nav a[aria-current] { border-bottom:1px solid #b6c1c9; }
.contact-main { width:min(1180px,88%);margin:0 auto;padding:90px 0 100px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,9vw,130px);flex:1; }
.contact-eyebrow { text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:600;color:var(--red);margin:0 0 24px; }
.contact-intro h1 { font-size:clamp(38px,4vw,56px);line-height:1.08;letter-spacing:-.05em;font-weight:600;margin:0 0 26px; }
.contact-intro h1 em { font-family:'Libre Caslon Text',Georgia,serif;font-weight:400;line-height:1.2; }
.contact-intro>p:not(.contact-eyebrow) { font-size:17px;line-height:1.7;max-width:355px;margin:0; }
.contact-direct { display:grid;gap:10px;margin-top:52px;font-size:14px; }
.contact-direct a { font-size:17px;font-weight:500;text-decoration:none; }
.contact-direct a span { color:var(--red);margin-left:8px; }
.contact-form-note { font-size:13px;color:#546673;margin:0 0 25px; }
.contact-field { margin-bottom:22px; }
.contact-field label { display:block;font-weight:500;font-size:15px;margin-bottom:9px; }
.contact-field label span { font-weight:400;color:#546673;font-size:13px; }
.contact-field input { display:block;width:100%;height:52px;border:1px solid #a8b5bf;border-radius:3px;background:#fff;color:var(--navy);font:400 16px 'Work Sans',sans-serif;padding:12px 14px; }
.contact-field input::placeholder { color:#657887;opacity:1; }
.contact-field input[aria-invalid] { border-color:var(--red); }
.contact-hint,.contact-privacy { font-size:12px;line-height:1.6;color:#546673; }
.contact-hint { margin:8px 0 0; }
.contact-form button { min-height:52px;border:0;border-radius:28px;padding:14px 24px;background:var(--red);color:#fff;font:600 14px 'Work Sans',sans-serif;cursor:pointer;display:inline-flex;gap:20px;align-items:center; }
.contact-form button:hover { background:#6e211f; }
.contact-form button:disabled { opacity:.65;cursor:wait; }
.contact-form button span { font-size:22px;font-weight:400; }
.contact-privacy { margin:17px 0 0; }
.contact-trap { display:none; }
.contact-errors { border-left:3px solid var(--red);padding:15px 20px;margin:0 0 25px;background:#fcf5f4; }
.contact-errors h2 { font-size:17px;margin:0 0 10px; }
.contact-errors ul { padding-left:20px;margin:0;font-size:14px;line-height:1.6; }
.contact-field-error { color:var(--red);font-size:13px;line-height:1.5;margin:8px 0 0; }
.contact-success { border-top:2px solid var(--navy);padding-top:28px; }
.contact-success h2 { font-size:30px;letter-spacing:-.03em;line-height:1.15;margin:0 0 18px; }
.contact-success>p:not(.contact-eyebrow) { font-size:16px;line-height:1.7; }
.contact-success a { display:inline-block;color:var(--red);font-weight:600;font-size:14px;margin-top:24px; }
@media(max-width:760px) { .contact-main { grid-template-columns:1fr;gap:42px;padding:48px 0 60px; } .contact-intro h1 { font-size:42px; } .contact-direct { margin-top:24px; } .contact-header { padding:20px 6%; } .contact-header img { width:115px; } .contact-header nav { gap:16px;font-size:13px; } }
@media(max-width:380px) { .contact-header { flex-wrap:wrap;gap:12px; } .contact-header nav { width:100%;justify-content:space-between; } .contact-intro h1 { font-size:37px; } }
