/* FirmLedge company-data campaign. Uses the site's existing brand and form styles. */
.campaign-header { border-bottom: 1px solid var(--rule); }
.campaign-header-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:96px; }
.campaign-header nav { display:flex; gap:28px; font-size:14px; }
.campaign-header nav a { color:var(--muted); text-decoration:none; }
.campaign-header nav a:hover { color:var(--cobalt); text-decoration:underline; }
.campaign-hero { padding:64px 0 72px; }
.campaign-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:64px; align-items:start; }
.campaign-intro { padding-top:8px; }
.campaign-intro h1 { font-size:clamp(38px,4.1vw,57px); line-height:1.08; margin:0 0 28px; letter-spacing:-.025em; }
.campaign-intro h1 span { color:var(--cobalt); }
.campaign-lede { font-size:23px; line-height:1.4; max-width:27ch; margin-bottom:16px; }
.campaign-description { color:var(--muted); max-width:43ch; }
.campaign-offer { border-top:1px solid var(--rule-strong); margin-top:32px; padding-top:28px; }
.campaign-offer .eyebrow { margin-bottom:12px; }
.campaign-offer h2 { font-size:27px; }
.campaign-offer p { font-size:16px; }
.campaign-offer .small { font-size:14px; }
.campaign-records { color:var(--muted); font-size:14px; line-height:1.6; margin:26px 0; }
.campaign-records span { display:block; color:var(--ink); font-weight:600; margin-bottom:5px; }
.campaign-founder { display:flex; align-items:center; gap:18px; border-top:1px solid var(--rule); padding-top:24px; margin-top:28px; }
.campaign-founder img { width:72px; height:88px; object-fit:cover; object-position:50% 28%; }
.campaign-founder p { font-size:14px; margin:0 0 4px; }
.campaign-founder a { font-size:13px; }
.campaign-form-panel { background:var(--white); border:1px solid var(--rule); border-top:4px solid var(--cobalt); padding:32px; scroll-margin-top:24px; }
.campaign-form-heading h2 { font-size:30px; margin-bottom:10px; }
.campaign-form-heading > p:last-child { color:var(--muted); font-size:16px; margin-bottom:24px; }
.campaign-form-panel .owner-form { margin:0; max-width:none; padding:0; border:0; background:transparent; }
.campaign-form-panel .owner-form-legend { font-size:13px; line-height:1.5; margin-bottom:20px; }
.campaign-form-panel .owner-form-row { gap:16px; }
.campaign-form-panel .owner-field { margin-bottom:18px; }
.campaign-form-panel .owner-field label { font-size:14px; line-height:1.4; margin-bottom:6px; }
.campaign-form-panel .owner-field label span { font-size:11px; white-space:nowrap; }
.campaign-form-panel input, .campaign-form-panel textarea { background:#FCFCFA; font-size:16px; }
.campaign-form-panel .owner-field textarea { min-height:80px; }
.campaign-form-panel .owner-field-hint { font-size:12px; line-height:1.5; margin-top:6px; }
.campaign-form-panel .button[type=submit] { width:100%; font-size:15px; line-height:1.3; padding:15px 10px; cursor:pointer; }
.campaign-form-panel .owner-form-note { font-size:12px; margin-top:12px; }
.campaign-permission { margin-top:16px; padding-top:16px; border-top:1px solid var(--rule); font-size:12px; line-height:1.5; color:var(--faint); }
.campaign-form-panel .owner-form-feedback--success { border:0; padding:0; }
.campaign-form-panel .owner-form-feedback--success h3 { font-size:26px; }
.campaign-mobile-action { display:none; }
.campaign-next { padding:64px 0; }
.campaign-section-heading h2 { font-size:34px; margin-bottom:32px; }
.campaign-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.campaign-steps > div { border-top:1px solid var(--rule-strong); padding-top:18px; }
.campaign-steps .index { margin-bottom:12px; color:var(--cobalt); }
.campaign-steps h3 { font-size:23px; line-height:1.25; }
.campaign-steps p:last-child { font-size:16px; color:var(--muted); }
.campaign-timing { margin-top:30px; font-size:13px; color:var(--muted); }
.campaign-questions { padding:56px 0; }
.campaign-questions-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:72px; }
.campaign-questions h2 { font-size:32px; }
.campaign-questions .text-link { font-size:14px; }
.campaign-faqs details { border-top:1px solid var(--rule-strong); }
.campaign-faqs details:last-child { border-bottom:1px solid var(--rule-strong); }
.campaign-faqs summary { font-weight:500; font-size:16px; cursor:pointer; padding:18px 0; }
.campaign-faqs summary:focus-visible { outline:2px solid var(--cobalt); outline-offset:3px; }
.campaign-faqs details p { font-size:15px; color:var(--muted); padding-bottom:18px; }
.campaign-contact { padding:28px 0; font-size:15px; text-align:center; }
.campaign-footer { border-top:1px solid var(--rule); padding:24px 0; color:var(--faint); font-size:12px; }
.campaign-footer .container > div { display:flex; justify-content:space-between; gap:20px; }
.campaign-footer nav { display:flex; gap:20px; }
.campaign-footer p { margin:16px 0 0; max-width:100ch; font-size:11px; }
@media(max-width:950px) {
 .campaign-grid { gap:36px; }
 .campaign-form-panel { padding:24px; }
 .campaign-intro h1 { font-size:43px; }
 .campaign-form-panel .owner-form-row { grid-template-columns:1fr; gap:0; }
}
@media(max-width:720px) {
 .campaign-header-inner { min-height:76px; }
 .campaign-header nav { gap:16px; font-size:12px; }
 .campaign-header .brand { font-size:21px; }
 .campaign-header .brand svg { width:34px; height:34px; }
 .campaign-hero { padding:34px 0 42px; }
 .campaign-grid { grid-template-columns:1fr; gap:30px; }
 .campaign-intro { padding:0; }
 .campaign-intro h1 { font-size:clamp(36px,8.4vw,49px); margin-bottom:22px; }
 .campaign-lede { font-size:21px; max-width:none; }
 .campaign-description { font-size:16px; }
 .campaign-mobile-action { display:block; margin:24px 0; }
 .campaign-mobile-action .button { width:100%; text-align:center; line-height:1.3; }
 .campaign-offer { margin-top:24px; padding-top:22px; }
 .campaign-founder { margin-top:20px; padding-top:20px; }
 .campaign-records { margin:20px 0; }
 .campaign-form-panel { padding:24px 20px; }
 .campaign-form-panel .owner-form-row { grid-template-columns:1fr 1fr; gap:14px; }
 .campaign-next { padding:40px 0; }
 .campaign-section-heading h2 { font-size:29px; margin-bottom:24px; }
 .campaign-steps { grid-template-columns:1fr; gap:22px; }
 .campaign-steps h3 { font-size:23px; }
 .campaign-questions { padding:38px 0; }
 .campaign-questions-grid { grid-template-columns:1fr; gap:26px; }
 .campaign-contact { text-align:left; font-size:14px; }
 .campaign-footer .container > div { flex-direction:column; gap:12px; }
}
@media(max-width:390px) {
 .campaign-header nav a:first-child { display:none; }
 .campaign-form-panel .owner-form-row { grid-template-columns:1fr; gap:0; }
}
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto; } }

