.resource-page { padding-top:78px; background:#fff; }
.resource-page .site-header { background:#fff; color:var(--ink); border-bottom-color:var(--line); }
.resource-page .brand-logo-light { opacity:0; }
.resource-page .brand-logo-color { opacity:1; }
.resource-page .brand-wordmark { color:var(--brand-blue); }
.resource-page .button { max-width:100%; gap:24px; line-height:1.45; white-space:normal; text-align:left; }
.resource-page .button .icon { flex-shrink:0; }
.resource-hero { position:relative; min-height:300px; display:flex; align-items:center; padding:64px 6vw; color:#fff; background:#071b2a; isolation:isolate; }
.resource-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 60%; z-index:-2; }
.resource-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(3,21,35,.96),rgba(3,21,35,.78) 48%,rgba(3,21,35,.35)); }
.resource-hero h1 { max-width:900px; margin:18px 0 0; font-size:clamp(38px,4vw,64px); line-height:1.08; letter-spacing:-.045em; }
.resource-hero p { max-width:600px; margin:22px 0 0; color:#c4d2e3; font-size:16px; line-height:1.7; }
.resource-breadcrumb { display:flex; align-items:center; gap:14px; padding:22px 6vw; border-bottom:1px solid var(--line); background:#edf2f8; color:#63758b; font-size:14px; }
.resource-breadcrumb a { color:var(--brand-blue); }
.resource-breadcrumb span[aria-hidden] { color:#8b99aa; }
.faq-layout { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.5fr); gap:7vw; padding:88px 6vw 110px; background:#f4f6f7; align-items:start; }
.resource-intro { position:sticky; top:114px; }
.resource-intro h2,.resource-request h2 { margin:20px 0; font-size:clamp(30px,3.2vw,48px); line-height:1.12; letter-spacing:-.04em; }
.resource-intro p,.resource-request p { color:#65788c; font-size:16px; line-height:1.75; }
.resource-intro .button { margin-top:26px; }
.resource-intro .resource-help-link { display:inline-block; margin-top:28px; color:var(--brand-blue); font-size:14px; border-bottom:1px solid var(--line); padding-bottom:7px; }
.faq-item { border-top:1px solid #cfd9e6; }
.faq-item:last-child { border-bottom:1px solid #cfd9e6; }
.faq-item summary { display:grid; grid-template-columns:28px minmax(0,1fr) 22px; align-items:start; gap:20px; list-style:none; padding:27px 0; cursor:pointer; color:var(--ink); font-size:20px; font-weight:600; line-height:1.35; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary:focus-visible { outline:2px solid var(--brand-blue); outline-offset:5px; }
.faq-number { color:var(--brand-blue); font-size:14px; line-height:27px; }
.faq-toggle { position:relative; height:24px; width:20px; }
.faq-toggle::before,.faq-toggle::after { content:""; position:absolute; top:12px; left:3px; width:14px; height:1.5px; background:var(--brand-blue); }
.faq-toggle::after { transform:rotate(90deg); transition:transform .2s; }
.faq-item[open] .faq-toggle::after { transform:rotate(0); }
.faq-answer { padding:0 40px 30px 48px; color:#65788c; font-size:16px; line-height:1.75; }
.faq-answer p { margin:0; }
.faq-answer a { color:var(--brand-blue); text-decoration:underline; text-underline-offset:3px; }
.download-library { padding:80px 6vw 100px; background:#f4f6f7; }
.download-library-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:32px; }
.download-library-heading h2 { margin:16px 0 0; font-size:clamp(30px,3vw,44px); line-height:1.15; letter-spacing:-.04em; }
.download-library-heading p { max-width:400px; margin:0; color:#65788c; font-size:16px; line-height:1.75; }
.download-card { display:grid; grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr); border:1px solid var(--line); background:#fff; margin-top:24px; }
.download-cover { display:grid; place-items:center; padding:36px; background:#e9eff5; min-height:320px; }
.download-cover img { width:100%; max-width:270px; max-height:300px; object-fit:contain; box-shadow:0 12px 25px rgba(18,41,72,.12); }
.download-copy { padding:42px 48px; align-self:center; }
.download-copy h3 { margin:16px 0; font-size:clamp(25px,2.4vw,36px); line-height:1.18; letter-spacing:-.035em; }
.download-copy p { margin:0; max-width:630px; color:#65788c; font-size:16px; line-height:1.75; }
.download-meta { display:flex; flex-wrap:wrap; gap:12px 22px; margin:24px 0; color:var(--brand-blue); font-size:14px; }
.download-actions { display:flex; flex-wrap:wrap; align-items:center; gap:26px; }
.download-preview { color:var(--brand-blue); border-bottom:1px solid var(--line); padding-bottom:6px; font-size:14px; }
.resource-request { padding:88px 6vw 100px; }
.resource-request>div:first-child { max-width:700px; }
.resource-request-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:38px; }
.resource-request-card { padding:34px; border-top:3px solid var(--brand-blue); background:#edf2f8; }
.resource-request-card h3 { margin:0 0 16px; font-size:25px; line-height:1.25; letter-spacing:-.025em; }
.resource-request-card .button { margin-top:25px; }
@media(max-width:900px) { .faq-layout { grid-template-columns:1fr; gap:44px; padding:60px 6vw 80px; } .resource-intro { position:static; } .resource-intro h2 { max-width:600px; } .resource-intro p { max-width:620px; } .download-copy { padding:30px; } .download-cover { padding:24px; } .download-library-heading { align-items:start; flex-direction:column; gap:20px; } }
@media(max-width:620px) { .resource-page { padding-top:72px; } .resource-hero { min-height:270px; padding:48px 24px; } .resource-hero h1 { font-size:38px; } .resource-breadcrumb { padding:20px 24px; gap:10px; flex-wrap:wrap; } .faq-layout,.download-library,.resource-request { padding:52px 24px 70px; } .faq-item summary { grid-template-columns:24px minmax(0,1fr) 18px; gap:12px; font-size:18px; } .faq-answer { padding:0 24px 26px 36px; } .download-card { grid-template-columns:1fr; } .download-cover { min-height:260px; } .download-cover img { max-height:240px; } .download-copy { padding:28px 24px 34px; } .resource-request-grid { grid-template-columns:1fr; gap:24px; } .resource-request-card { padding:28px 24px; } }
@media(prefers-reduced-motion:reduce) { .faq-toggle::after { transition:none; } }
