:root { --ink:#302838; --muted:#746b7d; --canvas:#f7f4f9; --paper:#fff; --line:#e2dce7; --brand:#76518d; --brand-dark:#503663; --soft:#eee6f3; }
* { box-sizing:border-box; }
body { margin:0; min-width:320px; color:var(--ink); background:var(--canvas); font-family:Heebo,sans-serif; }
button,input,textarea { font:inherit; }
.topbar { height:64px; display:flex; align-items:center; justify-content:space-between; padding:0 max(20px,calc((100vw - 920px)/2)); color:#fff; background:var(--brand-dark); }
.brand { display:flex; align-items:center; gap:10px; color:inherit; text-decoration:none; font:600 1.3rem Newsreader,serif; }
.brand-mark { width:32px; height:32px; display:grid; place-items:center; border:1px solid rgb(255 255 255 / 45%); border-radius:50%; font-family:Heebo,sans-serif; }
.top-actions { display:flex; gap:6px; }.icon-button { width:40px; height:40px; display:grid; place-items:center; color:inherit; border:1px solid rgb(255 255 255 / 25%); border-radius:5px; text-decoration:none; }.icon-button svg { width:19px; }
.contact-shell { width:min(920px,calc(100% - 28px)); margin:24px auto 48px; overflow:hidden; background:var(--paper); border:1px solid var(--line); border-radius:7px; }
.page-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 28px; color:#fff; background:var(--brand); }.page-heading h1 { margin:0; font-size:1.7rem; letter-spacing:0; }.page-heading p:last-child { margin:4px 0 0; opacity:.88; }.page-heading > svg { width:32px; height:32px; flex:0 0 auto; }.eyebrow { margin:0 0 3px; font-size:.72rem; font-weight:800; opacity:.8; }
.contact-content { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:32px; padding:32px 28px; }.contact-details h2 { margin:0; font-size:1.35rem; }.contact-details > p:not(.eyebrow) { margin:8px 0 20px; color:var(--muted); line-height:1.7; }.email-link { display:inline-flex; align-items:center; gap:8px; color:var(--brand); font-weight:700; text-decoration:none; direction:ltr; }.email-link:hover { text-decoration:underline; }.email-link svg { width:18px; }
.contact-form { display:grid; gap:15px; padding-inline-start:32px; border-inline-start:1px solid var(--line); }.contact-form label { display:grid; gap:6px; font-size:.86rem; font-weight:700; }.contact-form input,.contact-form textarea { width:100%; padding:9px 10px; color:var(--ink); background:#fff; border:1px solid #b9c9c4; border-radius:5px; }.contact-form input { min-height:42px; }.contact-form textarea { resize:vertical; }.contact-form input:focus,.contact-form textarea:focus { outline:3px solid rgb(118 81 141 / 15%); border-color:var(--brand); }.primary-button { min-height:42px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:9px 16px; color:#fff; background:var(--brand); border:0; border-radius:5px; font-weight:700; cursor:pointer; }.primary-button:hover { background:var(--brand-dark); }.primary-button svg { width:17px; }.form-note { margin:0; color:var(--muted); font-size:.78rem; }
.form-note[data-type='success'] { color:#147a4c; }.form-note[data-type='error'] { color:#b9382a; }.contact-form label.contact-trap[hidden] { display:none !important; }
.captcha-field { min-height:65px; }
@media(max-width:650px) { .contact-shell { width:calc(100% - 20px); margin-top:12px; }.page-heading,.contact-content { padding:20px 16px; }.contact-content { grid-template-columns:1fr; gap:24px; }.contact-form { padding-inline-start:0; padding-top:24px; border-inline-start:0; border-top:1px solid var(--line); } }
