:root { color-scheme: light; --paper:#f3f0e7; --ink:#222222; --muted:#626164; --purple:#6341ad; --border:#dedbe0; font-family:Arial, Helvetica, sans-serif; color:var(--ink); background:var(--paper); }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; }
header, footer { border-color:#dedad1; border-style:solid; border-width:0 0 1px; }
.masthead, main, footer { width:min(1174px, calc(100% - 64px)); margin:auto; }
.masthead { min-height:102px; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; }
a { color:inherit; }
.wordmark { width:max-content; text-decoration:none; font-size:25px; font-weight:900; letter-spacing:-1.6px; line-height:1; }
.wordmark small { display:block; letter-spacing:4px; margin-top:5px; font-size:13px; }
.tagline { text-align:center; }
.inbox { justify-self:end; font-size:13px; }
main { display:grid; grid-template-columns:minmax(0, 445fr) minmax(0, 680fr); gap:48px; align-items:start; padding:63px 0; }
.eyebrow { font-weight:800; letter-spacing:.17em; font-size:11px; }
.intro::before { content:""; display:inline-block; border-radius:50%; width:7px; height:7px; background:var(--purple); margin-right:12px; }
h1 { margin:30px 0; font-size:clamp(45px, 5.4vw, 72px); letter-spacing:-.065em; line-height:1.01; max-width:410px; }
h1 em { color:var(--purple); font-style:normal; }
.lede, .aside-note { max-width:320px; }
.lede, .aside-note p { color:var(--muted); line-height:1.7; }
.stamp { display:flex; gap:12px; align-items:center; width:max-content; margin:74px 0 44px; color:var(--purple); transform:rotate(-5deg); }
.stamp b { font-size:54px; font-weight:900; letter-spacing:-.12em; }
.stamp span { border-left:2px solid; padding-left:12px; font-size:10px; font-weight:900; letter-spacing:.15em; line-height:1.5; }
.aside-note { border-top:1px solid #dedad1; padding-top:29px; font-size:14px; }
.aside-note p { margin:5px 0; }
.aside-note small { font-size:8px; }
article { background:#fff; border:1px solid var(--border); border-radius:4px; padding:36px; }
.card-top { display:flex; gap:10px; justify-content:space-between; align-items:center; }
.card-top p { margin:0; }
.badge { padding:8px 10px; border:1px solid var(--border); border-radius:50px; font-size:8px; letter-spacing:.13em; white-space:nowrap; }
h2 { margin:0; font-size:27px; letter-spacing:-.045em; }
.hint, label small { font-size:12px; color:var(--muted); line-height:1.55; }
fieldset { border:0; margin:34px 0 0; padding:0; min-width:0; }
legend { display:flex; width:100%; gap:16px; align-items:center; padding:0; font-weight:700; }
legend::after { content:""; flex:1; border-top:1px solid var(--border); }
legend span { color:var(--purple); font-size:11px; }
.fields { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:19px 18px; padding:36px 0 15px; }
.wide { grid-column:1 / -1; }
label, .label { display:block; font-size:12px; font-weight:700; }
input:not([type=radio],[type=checkbox]), select, textarea { display:block; width:100%; min-height:44px; margin-top:8px; padding:11px 12px; color:var(--ink); border:1px solid #d6d3d9; border-radius:3px; background:#f9f9fa; font:inherit; font-weight:400; font-size:14px; }
textarea { resize:vertical; }
label small { display:block; margin-top:6px; font-weight:400; }
#services { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.pill { position:relative; }
.pill input, .trap { position:absolute; opacity:0; width:1px; height:1px; overflow:hidden; }
.pill span { display:block; cursor:pointer; color:var(--muted); border:1px solid var(--border); border-radius:3px; background:#fafafa; padding:10px 12px; font-weight:400; }
.pill input:checked + span { border-color:var(--purple); color:var(--purple); background:#f0eafa; }
.pill input:checked + span::after { content:" ✓"; }
:focus-visible, .pill input:focus-visible + span { outline:2px solid var(--purple); outline-offset:2px; }
.consent { display:flex; gap:8px; align-items:flex-start; margin:12px 0 20px; line-height:1.5; }
.consent input { accent-color:var(--purple); }
button { cursor:pointer; min-height:46px; border:0; border-radius:3px; padding:12px 17px; color:#fff; background:var(--purple); font:inherit; font-weight:700; }
button:disabled { opacity:.7; cursor:wait; }
#message { color:#8f2828; font-size:14px; }
.privacy { margin-bottom:0; }
#confirmation { padding:15px 0; line-height:1.5; }
footer { border-width:1px 0 0; display:flex; justify-content:space-between; padding:22px 0; font-size:12px; gap:14px; }
@media (max-width:880px) { main { grid-template-columns:1fr; max-width:680px; gap:27px; padding:28px 0 45px; } h1 { margin:18px 0; } .stamp,.aside-note,.tagline { display:none; } .masthead { grid-template-columns:1fr 1fr; min-height:75px; } }
@media (max-width:520px) { .masthead,main,footer { width:calc(100% - 32px); } .fields { grid-template-columns:1fr; padding-top:24px; } article { padding:20px; } .wordmark { font-size:21px; } input:not([type=radio],[type=checkbox]), select, textarea { font-size:16px; } }

#reference { overflow-wrap:anywhere; }
