/* VA C-file request companion guide */
.cfile-request-page { background: #f7f9fc; }
.cfile-request-page .cfile-hero { position: relative; overflow: hidden; padding: 76px 0 82px; color: #fff; background: linear-gradient(130deg, #071c34 0%, #0c2d53 58%, #174b78 100%); }
.cfile-request-page .cfile-hero::before { content: ""; position: absolute; width: 520px; height: 520px; right: -180px; top: -250px; border: 105px solid rgba(255,255,255,.035); border-radius: 50%; }
.cfile-request-page .cfile-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: linear-gradient(90deg, var(--red), #ed7189 42%, transparent 82%); }
.cfile-request-page .cfile-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr); gap: 68px; align-items: center; }
.cfile-request-page .cfile-hero-copy { max-width: 780px; }
.cfile-request-page .cfile-hero .eyebrow { color: #ffb2c0; }
.cfile-request-page .cfile-hero h1 { max-width: 760px; margin: 8px 0 18px; color: #fff; font-size: clamp(2.75rem, 5.5vw, 4.6rem); line-height: 1.02; letter-spacing: -.045em; }
.cfile-request-page .cfile-hero h1 span { display: block; }
.cfile-request-page .cfile-hero .lead { max-width: 735px; color: rgba(255,255,255,.84); font-size: 1.17rem; line-height: 1.7; }
.cfile-request-page .cfile-hero .hero-actions { margin-top: 31px; }
.cfile-request-page .cfile-official-button { padding: 15px 21px; box-shadow: 0 13px 30px rgba(0,0,0,.2); }
.cfile-request-page .cfile-official-button span,
.cfile-request-page .cfile-sticky-action .button span,
.cfile-request-page .cfile-paper-card .button span,
.cfile-request-page .cfile-review-actions .button span { margin-left: 6px; }
.cfile-request-page .cfile-external-note { max-width: 700px; margin-top: 16px; padding-left: 24px; position: relative; color: rgba(255,255,255,.68); font-size: .82rem; line-height: 1.55; }
.cfile-request-page .cfile-external-note::before { content: "✓"; position: absolute; left: 0; top: 0; width: 17px; height: 17px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: rgba(255,255,255,.16); font-size: .7rem; font-weight: 800; }
.cfile-request-page .cfile-hero-panel { padding: 28px; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; background: rgba(255,255,255,.08); backdrop-filter: blur(8px); box-shadow: 0 24px 60px rgba(0,0,0,.18); }
.cfile-request-page .cfile-panel-label { display: block; margin-bottom: 20px; color: #fff; font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cfile-request-page .cfile-hero-panel ol { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.cfile-request-page .cfile-hero-panel li { display: grid; grid-template-columns: 37px 1fr; gap: 12px; align-items: start; }
.cfile-request-page .cfile-hero-panel li > span { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 10px; color: var(--navy); background: #fff; font-size: .82rem; font-weight: 800; }
.cfile-request-page .cfile-hero-panel p { margin: 0; color: rgba(255,255,255,.68); font-size: .83rem; line-height: 1.4; }
.cfile-request-page .cfile-hero-panel strong { display: block; margin-bottom: 2px; color: #fff; font-size: .93rem; }

.cfile-request-page .cfile-section { padding: 82px 0; }
.cfile-request-page .cfile-action-section { background: #fff; }
.cfile-request-page .cfile-section-head { max-width: 720px; margin-bottom: 34px; }
.cfile-request-page .cfile-section-head-wide { max-width: 900px; }
.cfile-request-page .cfile-section-head h2 { margin: 6px 0 10px; color: var(--navy); font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -.035em; }
.cfile-request-page .cfile-section-head > p:last-child { color: #596779; font-size: 1.03rem; line-height: 1.7; }
.cfile-request-page .cfile-guide-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 38px; align-items: start; }
.cfile-request-page .cfile-request-steps { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.cfile-request-page .cfile-request-step { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 18px; padding: 25px; border: 1px solid #dce3ec; border-radius: 16px; background: #fff; box-shadow: 0 8px 25px rgba(12,35,64,.055); }
.cfile-request-page .cfile-step-number { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 14px; color: #fff; background: var(--navy); font-size: 1rem; font-weight: 800; box-shadow: 0 8px 18px rgba(12,35,64,.18); }
.cfile-request-page .cfile-request-step h3 { margin: 2px 0 10px; color: var(--navy); font-size: 1.08rem; }
.cfile-request-page .cfile-request-step p { color: #596779; line-height: 1.65; }
.cfile-request-page .cfile-selection { display: inline-flex; margin-top: 1px; padding: 10px 13px; border: 1px solid #c8d6e5; border-radius: 9px; color: var(--navy) !important; background: #f2f6fa; font-weight: 700; }
.cfile-request-page .cfile-copy-box { padding: 18px; border: 1px solid #c8d6e5; border-left: 4px solid var(--red); border-radius: 11px; background: #f7f9fc; }
.cfile-request-page .cfile-copy-box > p { color: #23384e; font-size: .96rem; }
.cfile-request-page .cfile-copy-actions { display: flex; align-items: center; gap: 14px; margin-top: 16px; }
.cfile-request-page .cfile-copy-button { min-width: 170px; padding: 10px 15px; font-size: .88rem; }
.cfile-request-page .cfile-copy-button.is-copied { color: #fff; border-color: #237a4a; background: #237a4a; }
.cfile-request-page .cfile-copy-status { color: #237a4a; font-size: .82rem; font-weight: 700; }
.cfile-request-page .cfile-sticky-action { position: sticky; top: 92px; padding: 27px; border-radius: 17px; color: #fff; background: var(--navy); box-shadow: 0 18px 38px rgba(12,35,64,.2); }
.cfile-request-page .cfile-sticky-kicker { color: #ffb2c0 !important; font-size: .72rem !important; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cfile-request-page .cfile-sticky-action h3 { margin: 8px 0 20px; color: #fff; font-size: 1.42rem; line-height: 1.28; }
.cfile-request-page .cfile-sticky-action .button { width: 100%; padding: 13px 16px; text-align: center; }
.cfile-request-page .cfile-sticky-action > p:last-child { margin-top: 13px; color: rgba(255,255,255,.67); font-size: .78rem; line-height: 1.5; }

.cfile-request-page .cfile-trust-section { padding: 0 0 82px; background: #fff; }
.cfile-request-page .cfile-trust-card { display: grid; grid-template-columns: 66px 1fr; gap: 24px; align-items: start; padding: 32px 36px; border: 1px solid #bcd8ca; border-radius: 18px; background: #f2faf5; }
.cfile-request-page .cfile-trust-icon { width: 66px; height: 66px; display: grid; place-items: center; border-radius: 18px; background: #d8f0e1; }
.cfile-request-page .cfile-trust-icon svg { width: 38px; height: 38px; fill: #237a4a; }
.cfile-request-page .cfile-trust-card .eyebrow { color: #237a4a; }
.cfile-request-page .cfile-trust-card h2 { margin: 5px 0 9px; color: var(--navy); font-size: clamp(1.65rem, 3vw, 2.3rem); }
.cfile-request-page .cfile-trust-card p:last-child { max-width: 930px; color: #40576b; line-height: 1.7; }

.cfile-request-page .cfile-contents-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid #dce3ec; border-radius: 18px; overflow: hidden; background: #fff; box-shadow: var(--shadow); }
.cfile-request-page .cfile-contents-grid article { min-height: 150px; padding: 25px; border-right: 1px solid #dce3ec; border-bottom: 1px solid #dce3ec; }
.cfile-request-page .cfile-contents-grid article:nth-child(3n) { border-right: 0; }
.cfile-request-page .cfile-contents-grid article:nth-last-child(-n+3) { border-bottom: 0; }
.cfile-request-page .cfile-contents-grid span { display: block; margin-bottom: 25px; color: var(--red); font-size: .75rem; font-weight: 800; letter-spacing: .09em; }
.cfile-request-page .cfile-contents-grid h3 { max-width: 250px; color: var(--navy); font-size: 1.05rem; line-height: 1.35; }

.cfile-request-page .cfile-paper-section { padding: 0 0 82px; }
.cfile-request-page .cfile-paper-card { display: flex; align-items: center; justify-content: space-between; gap: 42px; padding: 36px 40px; border: 1px solid #dce3ec; border-radius: 18px; background: #fff; box-shadow: var(--shadow); }
.cfile-request-page .cfile-paper-card h2 { margin: 5px 0 9px; color: var(--navy); font-size: clamp(1.7rem, 3vw, 2.3rem); }
.cfile-request-page .cfile-paper-card > div > p:not(.eyebrow) { max-width: 720px; color: #596779; line-height: 1.65; }
.cfile-request-page .cfile-paper-note { margin-top: 8px; font-size: .82rem; }
.cfile-request-page .cfile-paper-card .button { flex: 0 0 auto; color: var(--navy); border-color: #9fb2c5; }

.cfile-request-page .cfile-review-section { padding: 74px 0; color: #fff; background: var(--navy); }
.cfile-request-page .cfile-review-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 55px; align-items: center; }
.cfile-request-page .cfile-review-card .eyebrow { color: #ffb2c0; }
.cfile-request-page .cfile-review-card h2 { max-width: 760px; margin: 7px 0 12px; color: #fff; font-size: clamp(2rem, 4vw, 3.05rem); letter-spacing: -.035em; }
.cfile-request-page .cfile-review-card p:last-child { max-width: 780px; color: rgba(255,255,255,.76); font-size: 1.02rem; line-height: 1.7; }
.cfile-request-page .cfile-review-actions { display: grid; gap: 12px; min-width: 245px; }
.cfile-request-page .cfile-review-actions .button { width: 100%; text-align: center; }
.cfile-request-page .cfile-review-actions .button-ghost { color: #fff; border-color: rgba(255,255,255,.44); background: transparent; }
.cfile-request-page .cfile-review-actions .button-ghost:hover { color: var(--navy); background: #fff; }

.cfile-request-page .cfile-seo-section { padding: 84px 0; background: #fff; }
.cfile-request-page .cfile-article { max-width: 980px; }
.cfile-request-page .cfile-article-block + .cfile-article-block { margin-top: 58px; padding-top: 58px; border-top: 1px solid #dce3ec; }
.cfile-request-page .cfile-article-block h2 { margin-bottom: 17px; color: var(--navy); font-size: clamp(1.75rem, 3vw, 2.4rem); letter-spacing: -.025em; }
.cfile-request-page .cfile-article-block > p { color: #4f6072; line-height: 1.75; }
.cfile-request-page .cfile-article-block > p + p { margin-top: 13px; }
.cfile-request-page .cfile-check-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 18px; margin: 24px 0 0; padding: 0; list-style: none; }
.cfile-request-page .cfile-check-grid li { position: relative; padding: 14px 15px 14px 44px; border: 1px solid #dce3ec; border-radius: 10px; color: #344b61; background: #f8fafc; }
.cfile-request-page .cfile-check-grid li::before { content: "✓"; position: absolute; left: 15px; top: 14px; color: #237a4a; font-weight: 800; }
.cfile-request-page .cfile-resource-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 11px; margin: 0; padding: 0; list-style: none; }
.cfile-request-page .cfile-resource-grid a { display: block; padding: 15px 17px; border: 1px solid #dce3ec; border-radius: 10px; color: var(--navy); background: #f8fafc; font-weight: 700; text-decoration: none; }
.cfile-request-page .cfile-resource-grid a:hover { border-color: #aabed1; background: #f0f5fa; }
.cfile-request-page .cfile-faq-block .faq { margin-top: 4px; }

@media (max-width: 980px) {
  .cfile-request-page .cfile-hero-grid { grid-template-columns: 1fr; gap: 38px; }
  .cfile-request-page .cfile-hero-panel { max-width: 680px; }
  .cfile-request-page .cfile-guide-layout { grid-template-columns: 1fr; }
  .cfile-request-page .cfile-sticky-action { position: static; display: grid; grid-template-columns: 1fr auto; gap: 8px 24px; align-items: center; }
  .cfile-request-page .cfile-sticky-action h3 { grid-column: 1; margin-bottom: 0; }
  .cfile-request-page .cfile-sticky-action .button { grid-column: 2; grid-row: 1 / span 2; width: 250px; }
  .cfile-request-page .cfile-sticky-action > p:last-child { grid-column: 1 / -1; }
  .cfile-request-page .cfile-review-card { grid-template-columns: 1fr; gap: 30px; }
  .cfile-request-page .cfile-review-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 560px; }
}

@media (max-width: 720px) {
  .cfile-request-page .cfile-hero { padding: 52px 0 60px; }
  .cfile-request-page .cfile-hero h1 { font-size: clamp(2.35rem, 12vw, 3.4rem); }
  .cfile-request-page .cfile-hero .lead { font-size: 1rem; }
  .cfile-request-page .cfile-hero .button { width: 100%; text-align: center; }
  .cfile-request-page .cfile-hero-panel { padding: 22px; }
  .cfile-request-page .cfile-section { padding: 58px 0; }
  .cfile-request-page .cfile-request-step { grid-template-columns: 42px minmax(0, 1fr); gap: 13px; padding: 19px 17px; }
  .cfile-request-page .cfile-step-number { width: 42px; height: 42px; border-radius: 11px; }
  .cfile-request-page .cfile-copy-actions { align-items: flex-start; flex-direction: column; }
  .cfile-request-page .cfile-copy-button { width: 100%; }
  .cfile-request-page .cfile-sticky-action { display: block; padding: 23px; }
  .cfile-request-page .cfile-sticky-action h3 { margin-bottom: 18px; }
  .cfile-request-page .cfile-sticky-action .button { width: 100%; }
  .cfile-request-page .cfile-trust-section { padding-bottom: 58px; }
  .cfile-request-page .cfile-trust-card { grid-template-columns: 1fr; padding: 25px 22px; }
  .cfile-request-page .cfile-trust-icon { width: 56px; height: 56px; }
  .cfile-request-page .cfile-trust-icon svg { width: 32px; height: 32px; }
  .cfile-request-page .cfile-contents-grid { grid-template-columns: 1fr; }
  .cfile-request-page .cfile-contents-grid article:nth-child(n) { min-height: 0; border-right: 0; border-bottom: 1px solid #dce3ec; }
  .cfile-request-page .cfile-contents-grid article:last-child { border-bottom: 0; }
  .cfile-request-page .cfile-contents-grid span { margin-bottom: 13px; }
  .cfile-request-page .cfile-paper-section { padding-bottom: 58px; }
  .cfile-request-page .cfile-paper-card { align-items: flex-start; flex-direction: column; gap: 23px; padding: 27px 22px; }
  .cfile-request-page .cfile-paper-card .button { width: 100%; text-align: center; }
  .cfile-request-page .cfile-review-section { padding: 58px 0; }
  .cfile-request-page .cfile-review-actions { grid-template-columns: 1fr; }
  .cfile-request-page .cfile-seo-section { padding: 60px 0; }
  .cfile-request-page .cfile-article-block + .cfile-article-block { margin-top: 42px; padding-top: 42px; }
  .cfile-request-page .cfile-check-grid,
  .cfile-request-page .cfile-resource-grid { grid-template-columns: 1fr; }
}
