.content-page { background:#fbfcfe; }
.content-page .ambient-gradient { display:block; position:fixed; inset:0; pointer-events:none; }
.page-content,.page-footer { position:relative; z-index:1; width:min(1120px,calc(100% - 64px)); margin-inline:auto; }
.page-content { padding:170px 0 80px; }
.page-intro { max-width:780px; margin-bottom:90px; }
.page-intro h1 { font-size:clamp(44px,5.5vw,82px); margin-bottom:30px; }
.page-content p { color:var(--body); font-size:17px; line-height:1.8; margin:0 0 22px; }
.page-content .page-lead { font-size:clamp(23px,2.4vw,31px); line-height:1.45; color:var(--ink); max-width:730px; }
.page-content a { text-underline-offset:4px; }
.editorial-row { display:grid; grid-template-columns:1fr 1.5fr; gap:70px; border-top:1px solid #dce4ed; padding:48px 0; }
.editorial-row h2,.contact-context h2 { font-size:clamp(28px,3vw,40px); line-height:1.15; }
.page-content strong { font-weight:550; color:var(--ink); }
.text-links { display:flex; flex-wrap:wrap; gap:18px 26px; align-items:center; }
.text-links a,.text-link { font-size:15px; color:#086f81; font-weight:500; }
.plain-steps { margin:0; padding-left:22px; }
.plain-steps li { padding-left:12px; margin-bottom:30px; }
.plain-steps li::marker { color:#086f81; }
.plain-steps h3 { font-size:20px; font-weight:500; margin:0 0 10px; }
.page-faq details { padding:18px 0; border-bottom:1px solid #dce4ed; }
.page-faq details:first-child { padding-top:0; }
.page-faq summary { font-size:19px; font-weight:500; cursor:pointer; color:var(--ink); }
.page-faq details p { font-size:16px; margin:15px 0 0; }
.page-footer { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:30px 0 210px; border-top:1px solid #dce4ed; color:var(--body); font-size:13px; }
.page-footer nav { display:flex; gap:24px; }
.contact-layout { display:grid; grid-template-columns:1fr 1.5fr; gap:70px; }
.contact-context h2 { margin-bottom:24px; }
.contact-context p { font-size:15px; }
.contact-form { min-width:0; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.field { display:flex; flex-direction:column; gap:8px; margin-bottom:24px; }
.field label { font-size:14px; font-weight:500; }
.field input,.field select,.field textarea { width:100%; min-height:48px; padding:12px 14px; border:1px solid #768596; border-radius:8px; background:rgba(255,255,255,.9); color:var(--ink); font:inherit; font-size:16px; scroll-margin-block:130px 230px; }
.field textarea { resize:vertical; }
.page-content .form-note { font-size:13px; line-height:1.65; }
.form-button { border:0; font-size:15px; min-height:48px; }
.email-ready { margin-top:24px; padding-top:22px; border-top:1px solid #c5d7df; }
.email-ready[hidden] { display:none; }
.content-page:has(.contact-form) .download-dock { position:relative; right:auto; bottom:auto; transform:none; width:fit-content; margin:0 32px 24px auto; }
.content-page:has(.contact-form) .page-footer { padding-bottom:32px; }
.page-content #contact-status { color:#086f81; font-size:15px; }
.email-ready .form-note { margin-top:18px; }
#copy-message { padding:0; background:none; border:0; color:#086f81; font-size:15px; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:800px) {
 .page-content { padding-top:125px; }
 .page-intro { margin-bottom:50px; }
 .editorial-row,.contact-layout { grid-template-columns:1fr; gap:26px; }
 .editorial-row { padding:32px 0; }
 .page-content p { font-size:16px; }
}
@media(max-width:650px) {
 .page-content,.page-footer { width:calc(100% - 40px); }
 .page-content { padding-top:120px; padding-bottom:50px; }
 .page-intro h1 { font-size:46px; margin-bottom:24px; }
 .page-content .page-lead { font-size:24px; }
 .editorial-row h2,.contact-context h2 { font-size:30px; }
 .field-row { grid-template-columns:1fr; gap:0; }
 .page-footer { flex-direction:column; align-items:flex-start; gap:8px; padding-bottom:110px; }
}
