/* Reusable content-page, form-page and resource-card layouts. */
.cfc-page {padding-block:clamp(48px,6vw,88px);background:var(--background);min-height:65vh}
.cfc-page-header {display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center;padding-bottom:52px;border-bottom:1px solid var(--border);margin-bottom:64px}
.cfc-page-header .eyebrow {margin-bottom:24px;font-size:12px}
.cfc-page-title {font-size:clamp(42px,5.5vw,76px);line-height:1.06;letter-spacing:-.055em;max-width:900px}
.cfc-page-description {font-size:18px;line-height:1.75;max-width:660px;margin-top:28px}
.cfc-page-meta {display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:26px}
.cfc-badge {display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border-glow);border-radius:999px;padding:6px 12px;font-size:12px;line-height:1.5;color:var(--accent-bright);background:rgba(var(--accent-rgb),.055)}
.cfc-breadcrumbs {display:flex;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--text-muted);margin-bottom:30px;line-height:1.6}
.cfc-breadcrumbs a:hover {color:var(--accent-bright)}
.cfc-breadcrumbs [aria-current=page] {color:var(--text-secondary)}
.cfc-section {scroll-margin-top:0;margin-bottom:80px;min-width:0}
.cfc-section-heading {display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:28px}
.cfc-section-heading .eyebrow {font-size:11px;margin-bottom:12px}
.cfc-section-heading h2 {font-size:clamp(28px,3vw,42px);line-height:1.15;letter-spacing:-.04em}
.cfc-section-heading>p {max-width:430px;font-size:15px;line-height:1.7}
.cfc-panel {padding:clamp(24px,3vw,40px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0}
.cfc-panel h3 {font-size:21px;line-height:1.35;margin-bottom:18px}
.cfc-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;min-width:0}
.cfc-stack {display:flex;flex-direction:column;gap:20px}
.cfc-prose {max-width:780px;font-size:18px;line-height:1.8}
.cfc-prose p+p {margin-top:20px}
.cfc-prose h2 {font-size:34px;margin-block:40px 20px}
.cfc-prose h3 {font-size:24px;margin-block:32px 16px}
.cfc-prose a {color:var(--accent-bright);text-decoration:underline;text-underline-offset:4px}
.cfc-resource-card {display:flex;flex-direction:column;gap:16px;min-width:0;border:1px solid var(--border);border-radius:var(--radius);padding:28px;background:var(--surface);transition:border-color var(--transition),box-shadow var(--transition)}
.cfc-resource-card:hover {border-color:var(--border-glow);box-shadow:var(--glow-soft)}
.cfc-resource-card h3 {font-size:23px;line-height:1.3}
.cfc-resource-card p {font-size:15px;line-height:1.75}
.cfc-resource-card .inline-link {margin-top:auto;align-self:flex-start}
.cfc-table-wrap {overflow:auto;border:1px solid var(--border);border-radius:12px}
.cfc-table {width:100%;border-collapse:collapse;min-width:520px;font-size:14px;text-align:left}
.cfc-table th {font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);background:var(--surface-raised);font-weight:600}
.cfc-table td,.cfc-table th {padding:17px 20px;border-bottom:1px solid var(--border)}
.cfc-table tr:last-child td {border-bottom:0}
.cfc-table td {color:var(--text-secondary)}
.cfc-table tr:hover td {background:rgba(var(--accent-rgb),.035)}
.cfc-disclosure {border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:20px 24px;font-size:15px}
.cfc-disclosure summary {cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:600;min-height:28px;color:var(--text)}
.cfc-disclosure summary::-webkit-details-marker {display:none}
.cfc-disclosure summary::after {content:'⌄';font-size:22px;color:var(--accent-bright);transition:transform var(--control-motion)}
.cfc-disclosure[open] summary::after {transform:rotate(180deg)}
.cfc-disclosure summary:focus-visible {outline:2px solid var(--accent-bright);outline-offset:6px}
.cfc-disclosure p {padding-top:20px;line-height:1.75}
.cfc-page .button {font-size:14px;min-height:48px}
/* Editorial features share media frames that can also hold poster-backed video. */
.cfc-feature-page {padding-top:0}
.cfc-visual-hero {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);align-items:center;gap:var(--space-md);min-height:min(790px,calc(100svh - var(--header-height)));padding-block:var(--space-xl)}
.cfc-visual-hero .eyebrow {margin-bottom:var(--space-md)}
.cfc-visual-hero .cfc-page-title {font-size:clamp(52px,5.5vw,86px)}
.cfc-visual-hero .cfc-page-description {max-width:500px;font-size:clamp(16px,1.35vw,18px)}
.cfc-feature-media {min-width:0;margin:0;position:relative}
.cfc-feature-media img,.cfc-feature-media video {display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain;mix-blend-mode:lighten;mask-image:radial-gradient(ellipse at center,#000 48%,transparent 76%)}
.cfc-feature-media figcaption {text-align:center;color:var(--text-muted);font-size:11px;letter-spacing:var(--tracking-label);text-transform:uppercase;margin-top:var(--space-md)}
.cfc-value-strip {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md);padding-block:var(--space-md);border-block:1px solid var(--border);margin-bottom:var(--section-space);color:var(--accent-bright);font-size:12px;letter-spacing:.08em;text-align:center}
.cfc-value-strip span+span {border-left:1px solid var(--border)}
.cfc-visual-row {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:var(--space-xl);padding-block:var(--space-lg)}
@media(max-width:900px){.cfc-visual-hero{grid-template-columns:1fr;min-height:0;padding-block:var(--space-lg);gap:var(--space-lg)}.cfc-visual-hero .cfc-page-description{max-width:660px}.cfc-feature-media{width:100%;max-width:780px;margin-inline:auto}.cfc-visual-row{grid-template-columns:1fr;gap:var(--space-lg)}.cfc-visual-row .cfc-feature-media{order:2}}
@media(max-width:480px){.cfc-visual-hero .cfc-page-title{font-size:clamp(44px,12vw,56px)}.cfc-feature-media figcaption{font-size:9px;letter-spacing:.12em}.cfc-value-strip{font-size:10px;gap:var(--space-xs);letter-spacing:0}.cfc-value-strip span{padding-inline:var(--space-xs)}.cfc-visual-row{padding-block:0}}
@media(max-width:760px){.cfc-page-header{grid-template-columns:1fr;gap:30px;margin-bottom:44px;padding-bottom:36px}.cfc-page-title{font-size:clamp(42px,10vw,62px)}.cfc-page-description{font-size:16px}.cfc-section-heading{display:block}.cfc-section-heading>p{margin-top:18px}.cfc-grid{grid-template-columns:1fr}.cfc-section{margin-bottom:52px}.cfc-breadcrumbs{font-size:12px}.cfc-panel{padding:24px}}
