:root{--purple:#5d2788;--deep:#211e23;--cream:#f2edf5;--paper:#fcfafc;--gold:#c7a1de;--ink:#302a33;--muted:#665e69;--line:rgba(55,43,62,.16)}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
header{min-height:108px;padding:12px 6vw;background:var(--purple);color:white;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.2)}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:116px;height:82px;object-fit:contain}
.brand b{display:block;font:22px Georgia,serif}
.brand small{display:block;margin-top:5px;font-size:7px;letter-spacing:.13em;text-transform:uppercase;opacity:.8}
.back{border:1px solid rgba(255,255,255,.4);border-radius:99px;padding:12px 17px;font-size:11px}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:bold;color:var(--purple)}
.intro{padding:90px 8vw;background:linear-gradient(135deg,var(--purple),#44205f);color:white;display:grid;grid-template-columns:1fr .75fr;gap:8vw;align-items:end}
.intro .eyebrow{color:var(--gold)}
.intro h1{font:400 clamp(60px,8vw,105px)/.9 Georgia,serif;letter-spacing:-.05em;margin:20px 0 30px}
.intro h1 em{font-weight:400;color:var(--gold)}
.intro>div>p:last-child{max-width:680px;font-size:16px;line-height:1.7;color:#eee5f3}
.contact-details{border-top:1px solid rgba(255,255,255,.2)}
.contact-details a{display:block;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.contact-details small{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:8px;color:var(--gold);margin-bottom:7px}
.contact-details b{font:400 20px Georgia,serif}
.contact-layout{padding:95px 8vw;display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}
.form-intro h2,.privacy h2{font:400 clamp(38px,5vw,58px)/1.05 Georgia,serif;letter-spacing:-.04em;margin:15px 0 25px}
.form-intro>p:not(.eyebrow),.privacy p{font-size:14px;line-height:1.7;color:var(--muted)}
.response-note{margin-top:35px;padding:20px;background:var(--cream);display:grid;gap:7px}
.response-note b{font-size:11px}
.response-note span{font-size:12px;line-height:1.55;color:var(--muted)}
form{background:white;border:1px solid var(--line);padding:40px;box-shadow:0 18px 45px rgba(55,30,70,.07)}
form label{display:block;font-size:11px;font-weight:bold;margin-bottom:22px}
form label>span{color:var(--purple)}
input,select,textarea{display:block;width:100%;margin-top:9px;border:1px solid #cfc4d5;background:white;padding:13px;font:14px Arial,sans-serif;color:var(--ink)}
textarea{resize:vertical;line-height:1.55}
.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.consent{display:flex;align-items:flex-start;gap:10px;font-weight:normal;line-height:1.5}
.consent input{width:auto;margin:3px 0 0;accent-color:var(--purple)}
.consent span{color:var(--muted)}
.consent a{color:var(--purple);text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
form button{border:0;border-radius:99px;background:var(--purple);color:white;padding:15px 20px;min-width:210px;display:flex;justify-content:space-between;font-weight:bold;cursor:pointer}
.trap{position:absolute!important;left:-9999px!important}
.form-status{padding:15px;margin-bottom:24px;font-size:12px;line-height:1.5}
.form-status.success{background:#e5f2e9;color:#245c34}
.form-status.error{background:#f8e6ea;color:#7a2636}
.privacy{padding:75px 8vw;background:var(--cream);display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}
footer{background:var(--deep);color:#b9afbb;padding:28px 8vw;display:flex;justify-content:space-between;gap:30px;font-size:9px;line-height:1.5}
@media(max-width:850px){.intro,.contact-layout,.privacy{grid-template-columns:1fr}
.two{grid-template-columns:1fr}
}
@media(max-width:560px){header{min-height:88px}
.brand img{width:90px;height:64px}
.brand b{font-size:16px}
.brand small{display:none}
.back{font-size:9px;padding:10px}
.intro,.contact-layout,.privacy{padding:65px 6vw}
form{padding:25px 20px}
.contact-details b{font-size:16px}
footer{flex-direction:column}
}
body{font-size:16px}.contact-details b,.contact-details a,.contact-details span,form label,input,select,textarea,button{font-size:15px;line-height:1.6}@media(max-width:620px){body{font-size:17px}.intro h1{font-size:46px}.contact-details b,.contact-details a,.contact-details span,form label,input,select,textarea,button{font-size:16px}}
/* Readable typography */
body{font-size:17px;line-height:1.65}.brand small{font-size:11px}.back,.eyebrow,.contact-details small{font-size:14px}.intro>div>p:last-child,.form-intro>p:not(.eyebrow),.privacy p{font-size:17px;line-height:1.7}.contact-details b{font-size:22px}.response-note b,.response-note span,form label,input,select,textarea,form button,.form-status{font-size:16px}.consent{line-height:1.6}footer{font-size:13px;line-height:1.55}@media(max-width:560px){.back{font-size:14px}.contact-details b{font-size:19px}footer{font-size:14px}}
