/* Column-only styles. Shared brand, header, footer and color tokens are reused. */
.column-page { --column-border:#e9e3e8; color:var(--ink); }
.column-page :focus-visible { outline:3px solid #ae0065; outline-offset:5px; }
.column-skip { position:fixed; left:16px; top:-100px; z-index:100; padding:14px; background:white; color:var(--ink); }
.column-skip:focus { top:12px; }
.column-wrap { width:min(1180px,calc(100% - 48px)); margin:0 auto; }
.column-hero { padding:130px max(24px,calc((100vw - 1180px)/2)) 60px; }
.column-hero h1 { font-size:clamp(28px,3.7vw,54px); line-height:1.55; max-width:980px; }
.column-hero .kicker { color:#ff74be; }
.column-hero p:last-child { font-weight:500; font-size:15px; max-width:850px; }
.column-breadcrumb { padding:22px 0; font-size:12px; line-height:1.8; }
.column-breadcrumb ol { display:flex; flex-wrap:wrap; gap:6px 12px; padding:0; margin:0; list-style:none; }
.column-breadcrumb li { display:inline; overflow-wrap:anywhere; }
.column-breadcrumb li+li::before { content:'›'; margin-right:12px; opacity:.6; }
.column-breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
.column-hero .column-breadcrumb { color:#e5dce4; padding:0 0 30px; }
.column-section-title { display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; margin-bottom:24px; }
.column-section-title .kicker { flex-basis:100%; margin:0 0 -12px; color:#9a0059; }
.column-section-title h2 { margin:0; font-size:clamp(24px,3vw,34px); line-height:1.5; }
.column-section-title>span { color:#68606b; font-size:13px; }
.column-topics { padding:52px 0 40px; }
.column-topic-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--column-border); }
.column-topic-grid>a { display:flex; gap:20px; padding:24px 20px 24px 0; border-bottom:1px solid var(--column-border); align-items:baseline; transition:background .2s; }
.column-topic-grid>a:nth-child(even) { padding-left:24px; border-left:1px solid var(--column-border); }
.column-topic-grid>a:hover { background:#fff3f8; }
.column-topic-number { font-family:'Anton',sans-serif; color:#bc0068; font-size:20px; }
.column-topic-grid h3 { margin:0 0 6px; font-size:18px; }
.column-topic-grid p { margin:0; font-size:13px; font-weight:400; line-height:1.8; color:#625a65; }
.column-topic-grid>a>span:last-child { margin-left:auto; }
.column-list { padding:24px 0 80px; }
.column-category-nav { display:flex; flex-wrap:wrap; gap:8px; padding-bottom:30px; }
.column-category-nav a { display:block; padding:9px 15px; border:1px solid #e1d7df; border-radius:30px; font-size:13px; background:#fff; }
.column-category-nav a[aria-current],.column-category-nav a:hover { color:#fff; background:#211923; border-color:#211923; }
.column-empty { text-align:center; border:1px solid var(--column-border); border-radius:22px; padding:60px 24px; background:linear-gradient(135deg,#fff8fc,#fff); }
.column-empty .kicker { color:#aa0064; }
.column-empty h3 { font-size:22px; margin:14px 0; }
.column-empty p { color:#625a65; font-size:14px; }
.column-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.column-card { overflow:hidden; border:1px solid var(--column-border); border-radius:20px; background:#fff; }
.column-card-image { display:block; aspect-ratio:1200/630; overflow:hidden; background:var(--soft); }
.column-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .25s; }
.column-card:hover img { transform:scale(1.025); }
.column-card-copy { padding:22px; }
.column-category { font-size:12px; color:#a80063; }
.column-card h3 { margin:12px 0; font-size:18px; line-height:1.8; }
.column-card h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.column-card p { font-size:14px; font-weight:400; color:#625a65; line-height:1.9; }
.column-dates { display:flex; flex-wrap:wrap; gap:8px 18px; color:#716674; font-size:12px; }
.column-pagination { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px; padding-top:40px; }
.column-pagination a { min-width:44px; text-align:center; padding:12px; border:1px solid var(--column-border); border-radius:8px; }
.column-pagination a[aria-current] { color:white; background:#211923; }
.column-page main>.column-wrap { padding-top:105px; padding-bottom:64px; }
.column-hero+.column-wrap { padding-top:0!important; }
.column-article-head { max-width:940px; margin:12px auto 40px; }
.column-article-head h1 { font-size:clamp(26px,3.2vw,43px); line-height:1.65; overflow-wrap:anywhere; margin:16px 0 24px; }
.column-article-head .kicker { color:#a80063; }
.column-author { font-size:13px; color:#716674; }
.column-author a { text-decoration:underline; text-underline-offset:4px; }
.column-cover { width:100%; height:auto; aspect-ratio:1200/630; object-fit:cover; border-radius:20px; margin-top:30px; }
.column-reading-layout { display:grid; grid-template-columns:minmax(0,800px) minmax(180px,1fr); gap:56px; }
.column-body { font-size:16px; font-weight:400; line-height:2.1; min-width:0; overflow-wrap:anywhere; }
.column-body p { margin:20px 0; }
.column-body h2 { font-size:clamp(22px,2.5vw,30px); line-height:1.65; margin:48px 0 24px; padding-bottom:14px; border-bottom:2px solid #f4c4de; font-weight:800; }
.column-body h3 { font-size:20px; line-height:1.7; margin:30px 0 16px; }
.column-body section { scroll-margin-top:110px; }
.column-body a:not(.column-button) { color:#a50060; text-decoration:underline; text-underline-offset:4px; }
.column-body .column-lead { font-size:17px; margin:0 0 28px; }
.column-toc { padding:24px 28px; border:1px solid var(--column-border); border-radius:16px; background:#fcf9fb; }
.column-toc h2 { font-size:18px; margin:0 0 14px; padding:0; border:0; }
.column-toc ol { padding-left:24px; margin:0; }
.column-toc li { padding:4px 0; }
.column-body ul { padding-left:24px; }
.column-body li { margin:8px 0; }
.column-body .column-checklist { list-style:none; padding:20px 24px; background:#fff5fa; border-radius:12px; }
.column-checklist li { padding-left:28px; position:relative; }
.column-checklist li::before { content:'✓'; color:#a80063; position:absolute; left:0; }
.column-table { width:100%; overflow-x:auto; margin:28px 0; }
.column-table table { width:100%; min-width:520px; border-collapse:collapse; font-size:14px; line-height:1.8; }
.column-table caption { text-align:left; font-weight:700; margin-bottom:12px; }
.column-table th,.column-table td { padding:14px 18px; border:1px solid #e3dce1; text-align:left; }
.column-table thead th { background:#241d26; color:white; }
.column-table tbody th { background:#fff4fa; }
.column-callout { padding:20px 24px; border-left:4px solid #b00065; background:#fff5fa; margin:28px 0; }
.column-callout.note { border-color:#716674; background:#f5f4f6; }
.column-callout.warning { border-color:#a86914; background:#fff8eb; }
.column-callout p { margin:8px 0 0; }
.column-sidebar { align-self:start; position:sticky; top:115px; border-top:3px solid #211923; padding-top:20px; font-size:14px; line-height:1.9; }
.column-sidebar hr { border:0; border-top:1px solid var(--column-border); margin:20px 0; }
.column-sidebar .kicker { color:#a80063; }
.column-cta { margin:40px 0; padding:28px; border-radius:16px; background:#fff3f8; border:1px solid #efc9dd; }
.column-body .column-cta h2 { font-size:22px; border:0; padding:0; margin:0 0 16px; }
.column-cta>div { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.column-button { display:inline-flex; padding:12px 24px; background:#a80063; color:white; border-radius:28px; font-weight:700; }
.column-faq details { padding:18px 0; border-bottom:1px solid var(--column-border); }
.column-faq summary { cursor:pointer; font-weight:700; }
.column-related { padding-top:50px; }
.column-related h2 { font-size:26px; }
.column-preview-label { padding:12px; border:2px dashed #a80063; font-size:13px; }
@media(max-width:1000px) { .column-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .column-reading-layout { grid-template-columns:1fr; gap:30px; } .column-sidebar { position:static; } }
@media(max-width:600px) {
 .column-wrap { width:calc(100% - 32px); }
 .column-hero { padding:112px 20px 40px; }
 .column-hero h1 { font-size:28px; }
 .column-hero p:last-child { font-size:14px; line-height:1.9; }
 .column-breadcrumb { font-size:11px; }
 .column-topics { padding-top:36px; }
 .column-topic-grid { grid-template-columns:1fr; }
 .column-topic-grid>a,.column-topic-grid>a:nth-child(even) { padding:20px 4px; border-left:0; }
 .column-category-nav { gap:7px; }
 .column-category-nav a { padding:10px 12px; font-size:12px; }
 .column-grid { grid-template-columns:1fr; }
 .column-empty { padding:36px 16px; }
 .column-empty h3 { font-size:20px; }
 .column-page main>.column-wrap { padding-top:96px; }
 .column-article-head h1 { font-size:25px; line-height:1.65; }
 .column-cover { border-radius:12px; }
 .column-body { font-size:16px; line-height:2; }
 .column-toc,.column-callout,.column-cta { padding:20px; }
 .column-body h3 { font-size:18px; }
 .column-cta>div { flex-direction:column; align-items:stretch; }
 .column-button { justify-content:center; }
}
/* Editorial reading rhythm, scoped so the existing LP is unchanged. */
.column-editorial { --column-border:#e8e3e7; }
.column-editorial .column-article-head { max-width:960px; margin-bottom:64px; }
.column-editorial .column-article-head h1 { font-weight:800; letter-spacing:.015em; line-height:1.65; font-size:clamp(26px,3vw,40px); }
.column-editorial .column-cover { aspect-ratio:auto; object-fit:contain; border-radius:16px; box-shadow:0 18px 50px #28172112; }
.column-editorial .column-reading-layout { grid-template-columns:minmax(0,780px) minmax(180px,1fr); gap:72px; }
.column-editorial .column-body { font-size:16px; line-height:2.15; font-weight:400; letter-spacing:.025em; }
.column-editorial .column-body strong { font-weight:700; color:#20191f; }
.column-editorial .column-introduction { border-bottom:1px solid var(--column-border); padding-bottom:26px; margin-bottom:32px; }
.column-image-pending { margin-top:28px; border:1px dashed #dbcbd5; border-radius:12px; padding:22px; color:#716674; background:#fcf9fb; font-size:13px; text-align:center; }
.column-editorial .column-introduction p:first-child { margin-top:0; font-size:18px; font-weight:500; }
.column-editorial .column-body p { margin:0 0 1.35em; }
.column-toc-disclosure { margin:32px 0 64px; }
.column-toc-disclosure>summary { cursor:pointer; font-size:18px; font-weight:700; padding:3px 0; }
.column-toc-disclosure>summary span { margin-left:12px; font-size:12px; font-weight:400; color:#716674; }
.column-toc-disclosure[open]>summary { margin-bottom:20px; }
.column-toc-disclosure ol { list-style:none; padding:0; font-size:14px; line-height:1.85; }
.column-toc-disclosure li { padding:8px 0; border-top:1px solid #eee7ec; }
.column-editorial .column-chapter { margin-top:64px; }
.column-chapter-head { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 0; border-top:2px solid #242025; border-bottom:1px solid var(--column-border); margin-bottom:32px; }
.column-editorial .column-chapter-head h2 { flex:1; font-size:clamp(21px,2vw,27px); line-height:1.75; border:0; margin:0; padding:0; font-weight:700; }
.column-heading-figure { flex:0 1 auto; max-width:48%; margin:0; }
.column-heading-figure img { display:block; max-width:100%; height:auto; border-radius:6px; }
.column-inline-figure { margin:34px 0 42px; }
.column-inline-figure img { display:block; width:100%; height:auto; border-radius:10px; box-shadow:0 14px 34px #28172114; }
.column-editorial .column-body h3 { border-left:3px solid #dc238a; padding-left:14px; font-size:19px; font-weight:700; margin:38px 0 20px; }
.column-editorial .column-sidebar { align-self:start; position:sticky; top:110px; font-size:13px; }
.column-editorial .column-preview-label { background:#fff3f9; color:#9a0059; border-left:3px solid #f72aa9; padding:10px 16px; font-size:12px; }
.column-editorial .column-faq details { margin:12px 0; padding:18px 20px; }
.column-editorial .column-faq details p { margin:20px 0 0; }
.column-editorial .column-sources { font-size:12px; line-height:1.9; }
.column-editorial .column-sources li { margin-bottom:12px; }
@media(max-width:1000px) { .column-editorial .column-reading-layout { grid-template-columns:minmax(0,1fr); gap:36px; } .column-editorial .column-sidebar { position:static; } }
@media(max-width:600px) {
 .column-editorial .column-article-head { margin-bottom:36px; }
 .column-editorial .column-body { font-size:16px; line-height:2.05; letter-spacing:.015em; }
 .column-editorial .column-introduction p:first-child { font-size:17px; }
 .column-editorial .column-chapter { margin-top:48px; }
 .column-chapter-head { flex-direction:column; align-items:flex-start; gap:20px; }
 .column-heading-figure { max-width:100%; }
 .column-toc-disclosure { padding:20px; }
 .column-editorial .column-chapter-head h2 { font-size:22px; }
}
@media(prefers-reduced-motion:reduce) { .column-page { scroll-behavior:auto; } .column-card-image img { transition:none; } }
