/* Contact, Privacy and 404 page layout. Shared components live in /assets/site.css. */

/* ---------- contact: hero ---------- */
.contact-hero{padding:80px 0 72px}
.contact-hero .split-head{margin-bottom:0}
.contact-hero .display-l{max-width:620px}
@media (max-width:879px){.contact-hero{padding:48px 0 40px}}

/* ---------- contact: form and aside ---------- */
.contact-main{padding-top:72px}
@media (max-width:879px){.contact-main{padding-top:32px}}
.signup-card-head{padding-bottom:24px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.signup-card-head .small{margin-top:8px;max-width:520px}
.signup-card .form-grid{row-gap:24px}
.signup-card .select{text-overflow:ellipsis}
.signup-consent{padding-top:24px;border-top:1px solid var(--line)}
.field .checkbox{display:grid;margin-bottom:0;font:500 15px/22px var(--sans);color:var(--ink)}
.signup-consent .field-error{padding-left:32px}
.signup-consent .checkbox input[aria-invalid=true]{border-color:var(--error)}
.signup-consent-help{padding-left:32px}
.signup-actions{margin-top:28px;gap:14px 20px}
.signup-actions .form-note{flex:1 1 240px;max-width:340px}
.signup-status{margin-top:12px}
.signup-status:empty{margin-top:0}
.signup-card .success{padding:16px 0 8px}
.signup-card .success .h3{outline-offset:4px}
@media (max-width:639px){.signup-card-head{padding-bottom:20px;margin-bottom:24px}.signup-actions .form-note{max-width:none}}

.contact-aside{padding-top:8px}
.aside-block+.aside-block{margin-top:40px;padding-top:40px;border-top:1px solid var(--line-strong)}
.aside-block>.h4{margin-bottom:20px}
.get-list{display:grid;gap:20px}
.get-list li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:14px;align-items:start}
.get-list .icon{width:20px;height:20px;margin-top:1px;color:var(--signal-600)}
.get-list p{margin-top:4px;font-size:14px;line-height:22px;color:var(--muted)}
.aside-contacts>div+div{margin-top:18px}
.aside-contacts dt{font:600 15px/22px var(--sans);color:var(--ink)}
.aside-contacts dd{margin:4px 0 0;font:400 14px/22px var(--sans);color:var(--muted)}
@media (max-width:879px){.contact-aside{padding-top:24px}}
@media (min-width:640px) and (max-width:879px){
  .contact-aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:40px;align-items:start}
  .contact-aside>.aside-block+.aside-block{margin-top:0;padding-top:0;border-top:0}
}

/* ---------- contact: FAQ ---------- */
.faq-intro .small{max-width:300px}
@media (min-width:880px){.faq-intro{position:sticky;top:calc(var(--header-h) + 40px)}}
.faq summary{min-height:44px}
.faq .answer p{font-size:16px;line-height:26px}

/* ---------- privacy: document ---------- */
.doc-page{padding:88px 0 var(--section-y)}
.doc-head{padding-bottom:48px;border-bottom:1px solid var(--line)}
.doc-head>*{max-width:760px}
.doc-meta{margin-top:16px;font:400 14px/20px var(--sans);color:var(--muted);font-variant-numeric:tabular-nums}
.doc-lead{margin-top:24px}
.doc-body{row-gap:0}
.doc .h3{scroll-margin-top:calc(var(--header-h) + 32px)}
.doc-toc{margin-top:48px;padding-left:24px;border-left:1px solid var(--line)}
@media (min-width:880px){.doc-toc{position:sticky;top:calc(var(--header-h) + 40px)}}
.doc-toc-head{font:600 12px/16px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.doc-toc li a{display:block;padding:6px 0;font:400 14px/20px var(--sans);color:var(--muted);transition:color .12s var(--ease)}
.doc-toc li a:hover{color:var(--ink)}
.doc-toc-foot{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.doc-toc-foot .link-arrow{margin-top:8px}
@media (max-width:879px){.doc-page{padding-top:48px}.doc-head{padding-bottom:32px}.doc .h3{margin-top:40px}.doc-toc{display:none}}

/* ---------- 404 ---------- */
.nf{padding:96px 0 var(--section-y)}
.nf-grid{display:grid;grid-template-columns:minmax(0,1fr);row-gap:32px}
.nf-copy .lead{margin-top:20px}
.nf-keep{white-space:nowrap}
@media (min-width:880px){
  .nf-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto 1fr;column-gap:24px;row-gap:0}
  .nf-copy{grid-column:1/7;grid-row:1}
  .nf-actions{grid-column:1/7;grid-row:2;align-self:start;margin-top:40px}
  .nf-links{grid-column:8/13;grid-row:1/3;align-self:start;margin-top:32px}
}
@media (max-width:879px){.nf{padding-top:56px}}
@media (max-width:639px){.nf-links .doc-row .cat{display:none}}
