/* Ask Seldon shares the quote page's typography, calm cards and clear field rhythm. */
.contact-page .prose:has(.ask-layout) { max-width:none; }
.contact-page .hero { padding-bottom:16px; }
.contact-page .hero h1 { font-size:clamp(36px,5vw,64px); letter-spacing:-.045em; }
.ask-intro { max-width:760px; margin:0 0 32px; color:var(--text-2); font-size:clamp(17px,2vw,20px)!important; line-height:1.75; word-break:keep-all; overflow-wrap:anywhere; }
.ask-layout { display:grid; gap:32px; align-items:start; }
.ask-form.cf { display:block; position:relative; max-width:none; margin:0; padding:clamp(20px,4vw,36px); border:1px solid var(--line-hover); border-radius:20px; background:var(--surface); }
.ask-form .ask-fields { display:grid; gap:28px; min-width:0; padding:0; margin:0; border:0; }
.ask-form .ask-topic { min-width:0; margin:0; padding:0; border:0; }
.ask-form .ask-field { min-width:0; }
.ask-form .ask-field > label,.ask-form .ask-topic > legend { display:block; margin:0 0 12px; padding:0; color:var(--text); font-size:16px; font-weight:600; line-height:1.5; }
.ask-required,.ask-optional { display:inline-block; margin-inline-start:6px; color:var(--text-2); font-size:12px; font-weight:400; vertical-align:middle; }
.ask-topics { display:flex; flex-wrap:wrap; gap:8px; }
.ask-form .ask-chip { display:block; position:relative; max-width:100%; cursor:pointer; margin:0; }
.ask-chip input { position:absolute; width:1px; height:1px; opacity:0; }
.ask-chip span { display:flex; align-items:center; min-height:46px; padding:10px 16px; border:1px solid var(--line-hover); border-radius:999px; background:var(--bg-input); color:var(--text-2); font-size:15px; line-height:1.5; overflow-wrap:anywhere; }
.ask-chip input:checked + span { background:var(--accent-tint); color:var(--accent-on-tint); border-color:var(--accent); }
.ask-chip input:focus-visible + span { outline:2px solid var(--accent); outline-offset:3px; }
.ask-chip input[aria-invalid=true] + span { border-color:#edaaaa; }
.ask-form .ask-field :is(input,textarea) { display:block; width:100%; min-height:52px; padding:12px 14px; border:1px solid var(--line-hover); border-radius:12px; background:var(--bg-input); color:var(--text); font:inherit; font-size:16px; line-height:1.6; }
.ask-form .ask-field textarea { resize:vertical; min-height:180px; }
.ask-form .ask-field :is(input,textarea)::placeholder { color:var(--text-3); opacity:1; }
.ask-form .ask-field :is(input,textarea):focus { outline:2px solid var(--accent); outline-offset:2px; border-color:var(--accent); box-shadow:none; }
.ask-form .ask-field [aria-invalid=true] { border-color:#edaaaa; }
.ask-contact-fields { display:grid; gap:24px; }
.ask-form .ask-hint { margin:10px 0 0; padding:0; color:var(--text-2); font-size:13px!important; line-height:1.65!important; }
.ask-form .ask-error { margin:8px 0 0; color:#edaaaa; font-size:14px!important; line-height:1.6!important; }
.ask-error:empty { display:none; }
.ask-privacy { padding-top:24px; border-top:1px solid var(--line-card); }
.ask-consent { display:flex; align-items:flex-start; gap:12px; min-height:44px; font-size:14px; line-height:1.75; color:var(--text-2); cursor:pointer; }
.ask-consent input { flex:0 0 20px; width:20px; height:20px; margin:3px 0 0; accent-color:var(--accent); }
.ask-consent input:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.ask-privacy-link { display:inline-flex; align-items:center; min-height:44px; margin-inline-start:32px; font-size:14px; }
.ask-submit-row { display:grid; gap:0; }
.ask-form .ask-submit { width:100%; min-height:54px; font-size:17px; font-weight:600; border-radius:12px; }
.ask-form .ask-submit:disabled { cursor:wait; }
.ask-fields:disabled .ask-chip { cursor:default; }
.ask-form .ask-status { margin:20px 0 0; padding:16px; font-size:15px!important; line-height:1.7!important; border:1px solid var(--line-hover); border-radius:12px; overflow-wrap:anywhere; }
.ask-form .ask-status:empty { display:none; }
.ask-status--error { color:#f0b6b6; background:rgba(174,68,68,.1); }
.ask-status--success { color:var(--text); background:var(--accent-tint); }
.ask-status:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.ask-form .ask-nojs { color:var(--text-2); margin-top:20px; }
.ask-aside { min-width:0; border-left:2px solid var(--accent); padding:4px 0 4px 24px; }
.ask-aside .ask-kicker { color:var(--accent-on-tint); margin:0; font-size:13px!important; }
.ask-aside h2#ask-welcome-title { margin:12px 0 20px; font-size:clamp(22px,2.5vw,28px); line-height:1.5; word-break:keep-all; overflow-wrap:anywhere; }
.ask-aside p { color:var(--text-2); margin:0 0 20px; }
.ask-aside .ask-aside-note { font-size:14px; }
.ask-quote { margin-top:28px; padding-top:20px; border-top:1px solid var(--line-hover); }
.ask-quote summary { min-height:44px; padding:10px 0; cursor:pointer; font-size:14px; color:var(--text); }
.ask-quote summary:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.ask-quote p { font-size:14px!important; margin:12px 0 0; }
.ask-quote a { display:inline-flex; align-items:center; min-height:44px; margin-top:8px; font-size:14px; }
.ask-form :is(input,textarea,button),.ask-status { scroll-margin-block:110px 96px; }
#subscribe-complete h2 { margin-top:0; }
#subscribe-complete .btn { width:100%; margin-top:20px; }
@media(min-width:900px) { .ask-layout { grid-template-columns:minmax(0,720px) minmax(240px,1fr); gap:48px; } .ask-aside { position:sticky; top:112px; } }
