/* Rules activate only when the enhanced article is actually rendered. */
body.ave-post-layout:has(.ave-single) { --ave-ink:#22253d; --ave-muted:#626777; --ave-red:#b82b2f; --ave-line:#e4e6ea; --ave-offset:130px; }
body.ave-post-layout:has(.ave-single) .fusion-page-title-bar,
body.ave-post-layout #content > article:has(.ave-single) > .fusion-post-title,
body.ave-post-layout #content > article:has(.ave-single) > .fusion-post-slideshow,
body.ave-post-layout #content > article:has(.ave-single) > .fusion-meta-info { display:none; }
body.ave-post-layout:has(.ave-single) #main { padding:40px 24px 64px; background:#fff; }
body.ave-post-layout:has(.ave-single) #main > .fusion-row { max-width:1120px; }
body.ave-post-layout:has(.ave-single) #content { width:100% !important; float:none; }
.ave-single { color:var(--ave-ink); font-size:17px; line-height:1.8; }
.ave-single *, .ave-single *::before, .ave-single *::after { box-sizing:border-box; }
.ave-single [hidden] { display:none !important; }
.ave-single a { color:var(--ave-red); }
.ave-single a:focus-visible, .ave-single [tabindex]:focus-visible { outline:3px solid var(--ave-red); outline-offset:5px; }
.ave-breadcrumbs { display:flex; gap:12px; flex-wrap:wrap; font-size:13px; color:var(--ave-muted); margin-bottom:34px; }
.ave-breadcrumbs a { color:var(--ave-muted); text-decoration:none; }
.ave-single .ave-eyebrow { color:var(--ave-red); text-transform:uppercase; font-size:12px; font-weight:700; letter-spacing:.14em; margin:0 0 14px; }
.ave-single h1.ave-title { font-family:inherit; font-size:clamp(30px,4.1vw,52px); line-height:1.13; font-weight:700; letter-spacing:-.035em; color:var(--ave-ink); max-width:1000px; margin:0 0 22px; overflow-wrap:break-word; }
.ave-meta { display:flex; gap:12px; flex-wrap:wrap; color:var(--ave-muted); font-size:14px; margin-bottom:32px; }
.ave-featured { margin:0 0 48px; background:#f2f3f5; border-radius:12px; overflow:hidden; }
.ave-single .ave-hero-image { display:block; width:100%; height:auto; max-height:470px; object-fit:contain; margin:0; }
.ave-reading-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,340px); gap:clamp(28px,4vw,56px); align-items:start; }
.ave-prose { min-width:0; overflow-wrap:break-word; }
.ave-prose > p:first-child { font-size:20px; line-height:1.7; padding:0 0 24px; margin-top:0; border-bottom:1px solid var(--ave-line); }
.ave-prose p, .ave-prose ul, .ave-prose ol { margin:0 0 24px; }
.ave-prose li { margin-bottom:10px; }
.ave-prose :is(h2,h3,h4) { font-family:inherit; color:var(--ave-ink); font-weight:700; line-height:1.3; scroll-margin-top:var(--ave-offset); }
.ave-prose h2 { font-size:clamp(24px,2.5vw,31px); letter-spacing:-.02em; margin:44px 0 18px; }
.ave-prose h3 { font-size:22px; margin:32px 0 14px; }
.ave-prose a { text-decoration:underline; text-underline-offset:3px; }
.ave-prose img { max-width:100%; height:auto; }
.ave-prose iframe { max-width:100%; }
.ave-prose blockquote { margin:28px 0; padding:20px 24px; border-left:4px solid var(--ave-red); background:#f7f7f9; color:var(--ave-ink); }
.ave-prose pre { overflow:auto; max-width:100%; }
.ave-prose table { width:100%; border-collapse:collapse; font-size:15px; line-height:1.6; margin:24px 0; }
.ave-prose th, .ave-prose td { padding:14px 16px; border:1px solid var(--ave-line); text-align:left; vertical-align:top; }
.ave-prose th { background:var(--ave-ink); color:white; font-weight:600; }
.ave-prose tbody tr:nth-child(even) { background:#f7f8fa; }
.ave-table-scroll { max-width:100%; overflow-x:auto; margin:24px 0; }
.ave-table-scroll table { margin:0; min-width:480px; }
.ave-aside-inner { position:sticky; top:var(--ave-offset); }
.ave-aside { align-self:stretch; }
.ave-single .ave-toc h2 { font-family:inherit; font-weight:700; font-size:23px; line-height:1.2; letter-spacing:-.025em; margin:0 0 7px; color:var(--ave-ink); }
.ave-toc { border:1px solid #eef0f3; border-top:4px solid var(--ave-red); border-radius:12px; padding:23px 18px 10px; margin-bottom:24px; background:linear-gradient(135deg,#fff,#fafbfc); box-shadow:0 12px 32px rgb(34 37 61 / 7%); }
.ave-toc-header { display:grid; grid-template-columns:44px minmax(0,1fr); align-items:start; gap:13px; padding-bottom:20px; border-bottom:1px solid var(--ave-line); }
.ave-toc-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; color:var(--ave-red); background:#fbf0f1; }
.ave-toc-icon svg { width:23px; height:23px; }
.ave-single .ave-toc .ave-eyebrow { font-size:10px; letter-spacing:.15em; margin:0 0 7px; }
.ave-single .ave-toc-intro { color:var(--ave-muted); font-size:12px; line-height:1.5; margin:0; }
.ave-toc ol { margin:0; padding:0 5px 0 0; list-style:none; max-height:38vh; overflow:auto; scrollbar-width:thin; scrollbar-color:#d7d9df transparent; scrollbar-gutter:stable; }
.ave-toc ol:hover, .ave-toc ol:focus-within { scrollbar-color:#b5b9c3 transparent; }
.ave-toc ol::-webkit-scrollbar { width:4px; }
.ave-toc ol::-webkit-scrollbar-track { background:transparent; }
.ave-toc ol::-webkit-scrollbar-thumb { background:#d7d9df; border-radius:8px; }
.ave-toc ol:hover::-webkit-scrollbar-thumb { background:#b5b9c3; }
.ave-toc li { margin:0; padding:0; }
.ave-toc a { display:grid; grid-template-columns:32px minmax(0,1fr) 8px; align-items:center; gap:11px; color:var(--ave-ink); font-size:14px; line-height:1.45; padding:17px 2px; text-decoration:none; border-bottom:1px solid var(--ave-line); }
.ave-toc li:last-child a { border-bottom:0; }
.ave-toc-number { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#fbf0f1; color:var(--ave-red); font-size:12px; font-weight:700; }
.ave-toc-text { overflow-wrap:anywhere; }
.ave-toc-arrow { width:7px; height:7px; border-top:2px solid var(--ave-red); border-right:2px solid var(--ave-red); transform:rotate(45deg); }
.ave-toc a:hover, .ave-toc a[aria-current="location"] { color:var(--ave-red); background:#fff7f7; }
.ave-single .ave-toc a:focus-visible { outline-offset:-2px; border-radius:4px; }
.ave-contact { border-radius:10px; padding:25px; background:var(--ave-ink); color:#fff; }
.ave-contact .ave-eyebrow { color:#ffb3b5; font-size:11px; }
.ave-single .ave-contact h2 { font-family:inherit; color:#fff; font-size:24px; line-height:1.25; margin:0 0 16px; }
.ave-contact p:not(.ave-eyebrow) { font-size:14px; line-height:1.7; color:#e1e3ec; margin:0 0 22px; }
.ave-single a.ave-button { display:block; padding:12px 16px; border-radius:5px; color:#fff; background:var(--ave-red); text-decoration:none; font-size:14px; font-weight:700; text-align:center; }
.ave-single a.ave-button:hover { background:#972328; }
.ave-end { margin-top:48px; padding-top:24px; border-top:1px solid var(--ave-line); font-size:14px; }
@media(max-width:850px) { .ave-reading-layout { grid-template-columns:minmax(0,1fr); gap:32px; } .ave-aside { grid-row:1; } .ave-aside-inner { position:static; } .ave-contact { display:none; } .ave-toc ol { max-height:220px; } .ave-featured { margin-bottom:28px; } }
@media(max-width:540px) { body.ave-post-layout:has(.ave-single) #main { padding:24px 20px 40px; } .ave-single { font-size:16px; } .ave-prose > p:first-child { font-size:18px; } .ave-breadcrumbs { margin-bottom:26px; } }
@media print { body.ave-post-layout:has(.ave-single) #main { padding:0; } .ave-aside, .ave-breadcrumbs, .ave-end { display:none; } .ave-reading-layout { display:block; } .ave-prose table { font-size:11px; } .ave-table-scroll { overflow:visible; } }
