.content-page { font-size:16px; }
.content-page main { overflow-wrap:anywhere; }
.content-page main :where(a:not(.btn)) { color:var(--primary); }
.content-page .container { width:100%; max-width:1380px; margin:0 auto; padding:0 48px; }
.content-page section { padding:72px 0; scroll-margin-top:110px; }
.content-page main h1 { font-size:clamp(38px,5.1vw,64px); line-height:1.02; letter-spacing:-.055em; }
.content-page main h2 { font-size:clamp(30px,3.1vw,44px); line-height:1.08; letter-spacing:-.04em; }
.content-page main h3 { font-size:23px; line-height:1.3; letter-spacing:-.016em; }
.content-page .eyebrow { font-size:12px; letter-spacing:.14em; color:var(--clean); }
.content-page main a:not(.btn):not(.guide-card):not(.related-card) { text-underline-offset:4px; }
.content-page code,.content-page .formula { font-family:var(--font-mono); }
.content-page .page-hero { padding:86px 0 64px; }
.content-page .page-hero-inner { max-width:1380px; }
.content-page .page-hero h1 { max-width:960px; margin:22px 0 24px; }
.content-page .page-hero .lede { max-width:780px; font-size:17px; line-height:1.7; color:var(--text-muted); }
.content-page .page-hero-ctas { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.content-page .page-hero-ctas .btn { font-size:16px; padding:16px 22px; }
.content-page .btn-ghost { background:transparent; border-color:var(--surface-border); color:var(--primary); }
.content-page .btn-ghost:hover { background:var(--primary-light); }
.content-page .hero-microcopy { margin-top:18px; color:var(--text-muted); font-size:14px; }
.content-page .section-head { max-width:780px; margin:0 0 32px; }
.content-page .section-head h2 { margin-top:14px; }
.content-page .page-hero h1:first-child,
.content-page .section-head h2:first-child,
.content-page .final-cta h2:first-child { margin-top:0; }
.content-page .section-head p:not(.eyebrow) { margin-top:18px; font-size:17px; line-height:1.75; color:var(--text-muted); }
.content-page .alt { background:var(--surface-sunken); border-block:1px solid var(--surface-border); }
.content-page .problem-list,.content-page .limits-list { list-style:none; margin:0; padding:0; }
.content-page .problem-list li,.content-page .limits-list li { padding:20px 0 20px 24px; border-top:1px solid var(--surface-border); position:relative; line-height:1.75; }
.content-page .problem-list li::before,.content-page .limits-list li::before { content:'—'; position:absolute; left:0; color:var(--text-muted); }
.content-page .problem-list { max-width:900px; }

.content-page .compare-shell { max-width:100%; border:1px solid var(--surface-border); border-radius:5px; background:var(--surface-raised); overflow:hidden; }
.content-page .compare-grid { display:grid; grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr); }
.content-page .compare-panel { min-width:0; overflow-x:auto; }
.content-page .compare-panel:last-child { background:var(--clean-soft); }
.content-page .compare-label { padding:18px 16px; border-bottom:1px solid var(--surface-border); font-size:14px; font-weight:600; }
.content-page .compare-panel:last-child .compare-label { background:var(--surface-sunken); }
.content-page .compare-panel table { width:100%; border-collapse:collapse; font-size:14px; }
.content-page .compare-panel th { text-align:left; padding:14px 12px; color:var(--text-muted); font-size:12px; font-weight:500; }
.content-page .compare-panel td { padding:16px 12px; border-top:1px solid var(--surface-border); white-space:nowrap; }
.content-page .compare-panel .bad { color:var(--messy); }
.content-page .compare-panel .fixed { color:var(--clean); font-weight:600; }
.content-page .compare-panel .removed { opacity:.65; text-decoration:line-through; }
.content-page .compare-panel .flag { color:var(--soon); }
.content-page .compare-arrows { display:flex; flex-direction:column; gap:8px; align-items:center; justify-content:center; border-inline:1px solid var(--surface-border); color:var(--text-muted); }
.content-page .compare-note { padding:16px 0; color:var(--text-muted); font-size:14px; }
.content-page .steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; padding:0; }
.content-page .step { border-top:2px solid var(--surface-border); padding-top:24px; }
.content-page .step-num { display:none; }
.content-page .step h3 { font-size:20px; margin-bottom:12px; }
.content-page .step p { color:var(--text-muted); line-height:1.75; }
.content-page .privacy-note { margin-top:32px; color:var(--text-muted); font-size:15px; }
.content-page .page-callout,.content-page .mid-cta { padding:28px; border:1px solid var(--surface-border); border-radius:5px; background:var(--primary-light); }
.content-page .page-callout { border-left:3px solid var(--messy); }
.content-page .page-callout h2 { font-size:22px; margin-bottom:12px; }
.content-page .page-callout p { color:var(--text-muted); line-height:1.75; }
.content-page .page-callout p + p { margin-top:12px; }
.content-page .mid-cta p { margin-bottom:20px; font-size:18px; line-height:1.65; }
.content-page .clean-pills { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.content-page .clean-pill { padding:8px 14px; border:1px solid var(--surface-border); border-radius:100px; font-size:14px; color:var(--accent); }
.content-page .format-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.content-page .format-card { padding:24px; border:1px solid var(--surface-border); border-radius:5px; background:var(--surface-raised); }
.content-page .format-card h3 { font-size:20px; margin-bottom:14px; }
.content-page .format-card p { color:var(--text-muted); margin-top:10px; }
.content-page .format-card code { display:block; font-size:15px; margin-top:16px; }
.content-page .ambig-card { border:1px solid var(--soon-line); border-radius:5px; background:var(--soon-soft); padding:28px; }
.content-page .ambig-row { display:flex; flex-wrap:wrap; align-items:center; gap:20px; }
.content-page .ambig-val { font-family:var(--font-mono); font-size:18px; }
.content-page .ambig-arrow { color:var(--text-muted); }
.content-page .ambig-card p { margin-top:18px; color:var(--text-muted); line-height:1.7; }
.content-page .faq-list { max-width:900px; }
.content-page .faq-item { border-top:1px solid var(--surface-border); }
.content-page .faq-item:last-child { border-bottom:1px solid var(--surface-border); }
.content-page .faq-item > summary { position:relative; padding:24px 32px 24px 0; font-size:18px; font-weight:600; cursor:pointer; list-style:none; }
.content-page .faq-item > summary::-webkit-details-marker { display:none; }
.content-page .faq-item > summary::after { content:'+'; position:absolute; right:4px; top:22px; font-size:22px; color:var(--accent); }
.content-page .faq-item[open] > summary::after { content:'−'; }
.content-page .faq-answer { padding:0 28px 24px 0; color:var(--text-muted); line-height:1.8; }
.content-page .faq-answer a { color:var(--primary); }
.content-page .related-grid,.content-page .guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.content-page .related-card,.content-page .guide-card { display:block; padding:28px; background:var(--surface-raised); border:1px solid var(--surface-border); border-radius:5px; text-decoration:none; }
.content-page .related-card:hover,.content-page .guide-card:hover { border-color:var(--accent); background:var(--primary-light); }
.content-page .related-card .k,.content-page .guide-card .k { font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--clean); }
.content-page .related-card h3,.content-page .guide-card h2 { font-size:23px; line-height:1.3; margin-top:16px; color:var(--text-main); }
.content-page .guide-card p:not(.k) { color:var(--text-muted); line-height:1.75; margin-top:18px; }
.content-page .final-cta { background:var(--primary); color:#fff; }

.content-page .final-cta h2 { margin-top:18px; }
.content-page .final-cta .eyebrow,.content-page .final-cta p { color:var(--text-onDark); }
.content-page .final-cta a:not(.btn) { color:inherit; }
.content-page .final-cta p:not(.eyebrow) { margin-top:20px; }
.content-page .final-cta .btn { margin-top:28px; background:var(--surface-raised); color:var(--primary); border-color:var(--surface-raised); }
.content-page .final-cta .btn:hover { background:#fff; }
.content-page .final-cta-note { font-size:14px; }

.content-page .article-hero { padding:72px 0 36px; }
.content-page .article-hero .container { max-width:960px; }
.content-page .breadcrumb { color:var(--accent); font-size:14px; text-decoration:none; }
.content-page .article-hero h1 { margin:24px 0; font-size:clamp(36px,4.3vw,56px); }
.content-page .article-meta { color:var(--text-muted); font-size:19px; line-height:1.65; }
.content-page .article-date { font-size:14px; color:var(--text-muted); margin-top:20px; }
.guide-page main > article { width:100%; max-width:960px; margin:0 auto; padding:0 48px 80px; }
.guide-page main > article h2 { margin:48px 0 22px; font-size:30px; line-height:1.25; }
.guide-page main > article h3 { margin:32px 0 18px; }
.guide-page main > article p { font-size:17px; line-height:1.85; margin-bottom:22px; color:var(--text-muted); }
.guide-page main > article .intro { font-size:19px; color:var(--text-main); }
.guide-page main > article ul,.guide-page main > article ol { margin:0 0 24px; padding-left:24px; }
.guide-page main > article li { font-size:17px; line-height:1.8; margin-bottom:12px; color:var(--text-muted); }
.guide-page main > article b,.guide-page main > article strong { color:var(--text-main); }
.content-page .formula { display:block; white-space:pre-wrap; overflow-wrap:anywhere; padding:20px; background:var(--surface-raised); border:1px solid var(--surface-border); border-radius:5px; font-size:14px; line-height:1.8; margin:12px 0 24px; }
.content-page .callout { padding:28px; margin:36px 0; border:1px solid var(--surface-border); border-radius:5px; background:var(--surface-sunken); }
.content-page .callout p:last-child { margin-bottom:0; }
.content-page .cta-link { font-weight:600; color:var(--primary); }
.content-page .related-nav { margin-top:48px; padding-top:28px; border-top:1px solid var(--surface-border); }
.content-page .related-nav .k { font-size:13px; text-transform:uppercase; letter-spacing:.1em; }
.content-page .related-nav a { display:block; margin-bottom:14px; font-size:16px; font-weight:600; color:var(--primary); }
.content-page .table-wrap { overflow-x:auto; border:1px solid var(--surface-border); border-radius:5px; background:var(--surface-raised); margin:16px 0; }
.content-page .data-table { border-collapse:collapse; width:100%; font-size:14px; }
.content-page .data-table th { text-align:left; padding:16px; font-size:13px; font-weight:600; color:var(--text-muted); background:var(--surface-sunken); }
.content-page .data-table td { border-top:1px solid var(--surface-border); padding:16px; vertical-align:top; line-height:1.75; }
.content-page .data-table td:first-child { white-space:nowrap; }
.content-page .data-table .bad { color:var(--messy); }
.content-page .data-table .fixed { color:var(--clean); background:var(--clean-soft); }
.content-page .data-table .muted { color:var(--text-muted); }
.content-page .figure-note { font-size:14px; line-height:1.7; color:var(--text-muted); margin:12px 0 26px; }
.guide-page main > article .figure-note { font-size:14px; }
.content-page .paid-tag { display:inline-block; margin-left:8px; vertical-align:middle; font-size:12px; font-weight:600; padding:3px 7px; border:1px solid var(--pro-line); border-radius:4px; color:var(--pro); background:var(--pro-soft); }

.contact-page main { padding:72px 0 88px; }
.contact-page main .container { max-width:800px; }
.contact-page main h1 { margin:20px 0 24px; font-size:clamp(36px,4vw,52px); }
.contact-page main .lede { margin-bottom:36px; font-size:18px; color:var(--text-muted); line-height:1.75; }
.contact-page form { padding:32px; background:var(--surface-raised); border:1px solid var(--surface-border); border-radius:5px; }
.contact-page .field { margin-bottom:24px; }
.contact-page label { display:block; font-size:15px; font-weight:600; margin-bottom:10px; }
.contact-page input,.contact-page textarea { width:100%; font:inherit; padding:13px; color:var(--text-main); border:1px solid var(--text-subtle); border-radius:4px; background:var(--surface-base); }
.contact-page textarea { min-height:160px; resize:vertical; }
.contact-page .hp { position:absolute; left:-9999px; width:1px; height:1px; }
.contact-page .card { max-width:640px; padding:40px; border:1px solid var(--surface-border); border-radius:5px; background:var(--surface-raised); margin:0 auto; }
.contact-page .mark { font-size:32px; color:var(--accent); margin-bottom:16px; }
.contact-page .card p { color:var(--text-muted); line-height:1.75; margin:20px 0 28px; }
.contact-page .back-link { font-weight:600; color:var(--primary); text-underline-offset:5px; }
.content-page summary:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.content-page .compare-panel:focus-visible,.content-page .table-wrap:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:-3px;
}
.content-page [id] { scroll-margin-top:110px; }
@media(max-width:1024px) {
  .guide-page main > article { padding-inline:36px; }
  .content-page .container { padding-inline:36px; }
  .content-page .steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .content-page .compare-grid { grid-template-columns:minmax(0,1fr); }
  .content-page .compare-arrows { padding:12px; flex-direction:row; border-inline:0; border-block:1px solid var(--surface-border); }
  .content-page .compare-arrows > span { transform:rotate(90deg); }
}
@media(max-width:640px) {
  .content-page section { padding:48px 0; }
  .content-page .page-hero { padding:48px 0 36px; }
  .content-page .steps,.content-page .related-grid,.content-page .guide-grid,.content-page .format-grid { grid-template-columns:minmax(0,1fr); }
  .content-page .page-hero-ctas { align-items:stretch; flex-direction:column; }
  .content-page .page-hero-ctas .btn { justify-content:center; text-align:center; }
  .content-page .article-hero { padding:48px 0 28px; }
  .guide-page main > article { padding:0 36px 56px; }
  .guide-page main > article h2 { font-size:26px; }
  .content-page .related-card,.content-page .guide-card,.content-page .callout { padding:24px; }
  .contact-page main { padding:48px 0; }
  .contact-page form,.contact-page .card { padding:24px; }
}
@media(min-width:1025px) and (max-width:1200px) {
  .content-page .container { padding-inline:32px; }
}
@media(max-width:560px) {
  .guide-page main > article { padding-inline:22px; }
  .content-page .container { padding-inline:22px; }
}
.csv-example { overflow-x:auto; border:1px solid var(--surface-border); border-radius:8px; background:var(--surface-raised); }
.csv-diff { width:100%; min-width:640px; border-collapse:collapse; text-align:left; font-size:14px; }
.csv-diff caption { padding:16px; text-align:left; color:var(--text-muted); font-size:12px; }
.csv-diff th,.csv-diff td { padding:14px 16px; border-top:1px solid var(--surface-border); }
.csv-diff th { background:var(--surface-sunken); font-weight:600; }
.csv-diff del,.csv-diff ins { display:block; }
.csv-diff td:nth-child(-n+3) { white-space:nowrap; }
.csv-diff del { color:var(--text-muted); }
.csv-diff ins { color:var(--primary); text-decoration:none; font-weight:600; }
.csv-diff .csv-review { background:var(--soon-soft); color:var(--soon); }
.csv-duplicate { color:var(--text-muted); }
