/* V170 blog-only composition. Shared site styles and existing pages remain unchanged. */
.blog-page { background:#fff; }
.blog-wrap { width:min(1232px,calc(100% - 96px)); margin-inline:auto; }
.blog-page h1 { font:600 clamp(46px,5.5vw,80px)/1.04 Cormorant,Georgia,serif; letter-spacing:-1.4px; text-wrap:balance; }
.blog-page h1 em { font-weight:500; }
.blog-page main { min-width:0; }
.blog-page .eyebrow { font-size:11px; letter-spacing:1.5px; line-height:1.6; }
.blog-page .button { max-width:100%; white-space:normal; text-align:center; }
.blog-page .button > span { margin-left:18px; }
.blog-page .blog-text-link { display:inline-block; text-decoration:underline; text-underline-offset:5px; font-size:14px; font-weight:600; }
.blog-index-hero { background:var(--offwhite); padding:84px 0 70px; }
.blog-index-hero h1 { max-width:1000px; }
.blog-index-intro { display:flex; align-items:flex-start; gap:28px; margin-top:34px; }
.blog-index-intro p { font-size:17px; line-height:1.75; margin:0; }
.blog-index-line { display:block; width:56px; height:2px; background:var(--coral); flex-shrink:0; margin-top:14px; }
.blog-featured { display:grid; grid-template-columns:1.05fr 1fr; gap:64px; align-items:center; padding-block:78px 88px; }
.blog-featured h2 { font:600 clamp(40px,4vw,58px)/1.08 Cormorant,Georgia,serif; letter-spacing:-.6px; max-width:520px; text-wrap:balance; }
.blog-featured-copy > p:not(.eyebrow) { max-width:540px; font-size:17px; line-height:1.85; color:#665855; }
.blog-featured-facts { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:11px; font-weight:600; margin:28px 0; }
.blog-featured-facts span+span::before { content:'·'; padding-right:16px; color:var(--coral); }
.blog-dot { display:inline-block; width:7px; height:7px; background:var(--coral); border-radius:50%; margin-right:8px; }
.blog-featured-art { padding:22px; background:var(--offwhite); border:1px solid #e8e1d7; border-radius:4px; transition:box-shadow .25s ease; }
.blog-featured-art:hover { box-shadow:0 16px 40px #330e1312; }
.blog-featured-art img { width:100%; height:auto; }
.blog-index-contact { position:relative; background:var(--offwhite); padding:72px 0 80px; text-align:center; overflow:hidden; }
.blog-index-contact::before { content:''; position:absolute; inset:0; background:url('../assets/markenzeichen-original.svg') right center / auto 125% no-repeat; opacity:.035; pointer-events:none; }
.blog-index-contact .blog-wrap { position:relative; }
.blog-index-contact h2 { font-size:clamp(40px,4vw,56px); text-wrap:balance; }
.blog-index-contact p:not(.eyebrow) { font-size:16px; }
.blog-article-hero { background:var(--offwhite); padding:30px 0 48px; border-bottom:1px solid #e9e2d8; }
.blog-breadcrumb { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:45px; font-size:11px; line-height:1.6; color:#756460; }
.blog-breadcrumb a { text-decoration:underline; text-underline-offset:3px; }
.blog-article-hero h1 { max-width:950px; }
.blog-subtitle { font:400 clamp(19px,2vw,25px)/1.5 Montserrat,Arial,sans-serif; max-width:800px; margin:24px 0; color:#6e5d58; text-wrap:balance; }
.blog-meta { display:flex; gap:14px 26px; flex-wrap:wrap; font-size:11px; font-weight:600; margin-top:30px; }
.blog-meta a { text-decoration:underline; text-underline-offset:4px; }
.blog-meta span:not(:first-child)::before { content:'·'; margin-right:24px; color:var(--coral); }
.blog-reading-layout { display:grid; grid-template-columns:252px minmax(0,760px); gap:80px; justify-content:start; padding-block:56px 80px; align-items:start; }
.blog-toc { align-self:start; font-size:12px; line-height:1.55; }
.blog-toc details { border-top:2px solid var(--bordeaux); padding-top:18px; }
.blog-toc summary { font-weight:700; font-size:12px; cursor:pointer; list-style:none; display:flex; justify-content:space-between; }
.blog-toc summary::after { content:'+'; font-size:18px; line-height:1; }
.blog-toc details[open] summary::after { content:'−'; }
.blog-toc summary::-webkit-details-marker { display:none; }
.blog-toc ol { list-style:none; padding:0; margin:20px 0 8px; }
.blog-toc li a { display:flex; gap:12px; padding:10px 0; border-bottom:1px solid #eee9e2; }
.blog-toc li a:hover,.blog-toc li a[aria-current] { text-decoration:underline; text-underline-offset:3px; }
.blog-toc li span { color:#9c7673; font-size:10px; padding-top:2px; }
.blog-toc .toc-level-3 { padding-left:28px; font-size:11px; }
.blog-toc .toc-video { display:inline-block; padding:10px 0; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
@media(min-width:1050px) and (min-height:780px) { .blog-toc { position:sticky; top:110px; } }
.blog-article { min-width:0; color:#493735; font-size:17px; line-height:1.85; }
.blog-article > p { margin:0 0 24px; }
.blog-article h2 { color:var(--bordeaux); font:600 40px/1.15 Cormorant,Georgia,serif; letter-spacing:-.4px; margin:60px 0 24px; text-wrap:balance; scroll-margin-top:112px; }
.blog-article h3 { color:var(--bordeaux); margin:36px 0 20px; font-size:21px; scroll-margin-top:112px; }
.blog-article .section-number { display:block; color:#b29c94; font:500 12px/1.5 Montserrat,Arial,sans-serif; letter-spacing:1.5px; margin-bottom:12px; }
.blog-tldr { padding:28px 32px 28px 30px; border-left:3px solid var(--coral); background:var(--offwhite); margin-bottom:36px; }
.blog-tldr .eyebrow { color:var(--bordeaux); margin:0 0 12px; }
.blog-tldr p:last-child { margin:0; font-size:18px; line-height:1.8; color:var(--bordeaux); }
.blog-figure { margin:40px 0 50px; }
.blog-zoom-link { display:block; padding:20px; background:#f8f7f4; border:1px solid #e8e1d7; }
.blog-zoom-link img { width:100%; height:auto; }
.blog-zoom-link > span { display:flex; justify-content:space-between; align-items:center; padding:16px 0 0; font-size:12px; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.blog-figure figcaption { font-size:12px; line-height:1.7; color:#756460; margin-top:14px; }
.blog-article .blog-checkpoint { border-left:1px solid #ded6c6; padding-left:20px; margin-left:4px; }
.blog-inline-cta { margin-top:30px!important; }
.blog-inline-cta .button { font-size:14px; }
.blog-video-section { border-top:1px solid #ded6c6; margin-top:64px; padding-top:36px; scroll-margin-top:110px; }
.blog-video-section h2 { margin-top:12px; }
.blog-video { aspect-ratio:16/9; position:relative; background:var(--bordeaux); color:var(--offwhite); overflow:hidden; border-radius:3px; }
.blog-video-facade { display:grid; grid-template-columns:.8fr 1.2fr; height:100%; align-items:center; padding:28px; gap:28px; }
.blog-video-facade > img { width:100%; height:100%; object-fit:contain; max-height:100%; opacity:.9; }
.blog-video-facade > div { text-align:center; min-width:0; }
.blog-video-facade p { font-size:14px; margin:6px 0 12px; }
.video-emblem { font-size:30px; color:#f5f3ee; }
.blog-video-facade .button { font-size:12px; padding:14px 18px; min-height:44px; }
.blog-video-facade .blog-consent-note { font-size:10px; line-height:1.6; margin:12px 0 0; color:#e1d4cd; }
.blog-video iframe { width:100%; height:100%; border:0; display:block; }
.blog-video-status { font-size:12px; margin:14px 0; }
.blog-video-status:empty { display:none; }
.blog-video-section > .blog-text-link { margin-top:14px; font-size:12px; }
.blog-chapters { margin-top:24px; font-size:13px; border-top:1px solid #e8e1d7; }
.blog-chapters summary { padding:14px 0; cursor:pointer; font-weight:600; }
.blog-chapters > div { display:grid; gap:8px; }
.blog-chapters a { display:block; padding:7px 0; text-decoration:underline; text-underline-offset:3px; }
.blog-chapters a span { display:inline-block; min-width:42px; font-variant-numeric:tabular-nums; }
.blog-return { margin-top:48px; padding-top:24px; border-top:1px solid #ded6c6; }
.blog-image-dialog { width:min(1000px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; color:var(--bordeaux); }
.blog-image-dialog::backdrop { background:#1e0a0ee0; }
.blog-image-dialog > img { width:100%; height:auto; }
@media(max-width:1049px) {
 .blog-reading-layout { grid-template-columns:minmax(0,760px); justify-content:center; gap:32px; }
 .blog-toc nav ol { columns:2; column-gap:28px; }
 .blog-toc li { break-inside:avoid; }
 .blog-index-hero { padding:60px 0; }
 .blog-featured { gap:36px; padding-block:56px; }
}
@media(max-width:650px) {
 .blog-wrap { width:calc(100% - 40px); }
 .blog-page h1 { font-size:46px; line-height:1.08; letter-spacing:-.8px; }
 .blog-index-hero { padding:42px 0 40px; }
 .blog-index-intro { gap:18px; margin-top:24px; }
 .blog-index-line { width:24px; }
 .blog-index-intro p { font-size:14px; line-height:1.8; }
 .blog-index-intro br { display:none; }
 .blog-featured { display:flex; flex-direction:column; gap:32px; padding-block:40px 48px; }
 .blog-featured h2 { font-size:40px; }
 .blog-featured-copy > p:not(.eyebrow) { font-size:15px; }
 .blog-featured .button { font-size:14px; }
 .blog-featured-art { padding:14px; }
 .blog-featured-facts { font-size:10px; gap:8px 12px; }
 .blog-featured-facts span+span::before { padding-right:12px; }
 .blog-index-contact { padding:44px 0 48px; }
 .blog-index-contact .button { font-size:13px; padding:18px 20px; }
 .blog-article-hero { padding:24px 0 32px; }
 .blog-breadcrumb { font-size:10px; gap:8px; margin-bottom:28px; }
 .blog-page .eyebrow { font-size:10px; letter-spacing:1.1px; }
 .blog-subtitle { font-size:18px; margin:20px 0; }
 .blog-meta { font-size:10px; gap:12px 16px; margin-top:24px; }
 .blog-meta span:not(:first-child)::before { margin-right:14px; }
 .blog-reading-layout { padding-block:32px 48px; gap:28px; }
 .blog-toc nav ol { columns:1; }
 .blog-toc li a { min-height:44px; }
 .blog-article { font-size:16px; line-height:1.85; }
 .blog-tldr { padding:22px; }
 .blog-tldr p:last-child { font-size:16px; }
 .blog-article h2 { font-size:34px; margin-top:44px; scroll-margin-top:88px; }
 .blog-article h3 { font-size:19px; scroll-margin-top:88px; }
 .blog-figure { margin:30px 0 40px; }
 .blog-zoom-link { padding:10px; }
 .blog-inline-cta .button { font-size:13px; padding:18px 20px; }
 .blog-video-facade { gap:14px; padding:14px; grid-template-columns:.7fr 1.3fr; }
 .video-emblem { font-size:22px; }
 .blog-video-facade p { font-size:11px; margin:0 0 8px; }
 .blog-video-facade .button { padding:10px 12px; font-size:11px; }
 .blog-video-facade .blog-consent-note { font-size:9px; margin-top:8px; }
 .blog-video-section { scroll-margin-top:88px; }
}
@media(prefers-reduced-motion:reduce) { .blog-page *, .blog-page *::before, .blog-page *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
/* Use one header offset for article anchors; do not add the site's global offset twice. */
html:has(> body.blog-page) { scroll-padding-top:0; }
@media(max-width:650px) { .blog-article-hero h1 { font-size:44px; } }
.blog-image-viewport { max-height:calc(100dvh - 32px); overflow:auto; }
.blog-image-viewport > img { display:block; width:100%; height:auto; }
.blog-image-viewport:focus-visible { outline:3px solid var(--coral); outline-offset:-3px; }
.blog-toc summary { min-height:44px; align-items:center; }
.blog-chapters a { min-height:44px; }

/* Fit the real TOC height instead of assuming all articles have the same outline. */
.blog-toc { position:static; }
.blog-toc.blog-toc-fits { position:sticky; top:110px; }

.blog-article-hero h1, .blog-article p, .blog-article h2 { overflow-wrap:break-word; }

/* Telepski reference: compact contrast intro, then a regular image-led article grid. */
.blog-list-page { background:#f5f3ee; }
.blog-list-intro { padding:72px 0 76px; background:var(--bordeaux); color:var(--offwhite); text-align:center; }
.blog-list-label { display:inline-block; background:#ffffff0b; border:1px solid #ffffff1c; padding:5px 13px; margin:0 0 21px; font:500 14px/1.5 Cormorant,Georgia,serif; }
.blog-list-page .blog-list-intro h1 { font:500 46px/1.12 Cormorant,Georgia,serif; letter-spacing:-.4px; max-width:1080px; margin:0 auto 21px; text-wrap:balance; }
.blog-list-intro-copy { max-width:830px; margin:0 auto; font:400 15px/1.7 Montserrat,Arial,sans-serif; color:#e0d6d2; }
.blog-list-library { padding:64px 0 88px; }
.blog-list-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 24px; align-items:stretch; }
.blog-list-card { display:flex; flex-direction:column; min-width:0; background:#fff; border-radius:3px; overflow:hidden; box-shadow:0 1px 3px #330e1309; }
.blog-list-image { display:block; overflow:hidden; aspect-ratio:3/2; background:var(--sand); }
.blog-list-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.blog-list-image:hover img { transform:scale(1.025); }
.blog-list-card-body { padding:24px 24px 20px; display:flex; flex-direction:column; flex:1; }
.blog-list-category { font-size:9px; line-height:1.5; font-weight:650; text-transform:uppercase; letter-spacing:.8px; color:#86736c; margin:0 0 12px; }
.blog-list-card h2 { margin:0 0 16px; font:400 27px/1.12 Cormorant,Georgia,serif; letter-spacing:-.2px; text-wrap:balance; }
.blog-list-card h2 a:hover { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.blog-list-excerpt { font:400 14px/1.75 Montserrat,Arial,sans-serif; color:#746661; margin:0 0 18px; }
.blog-list-read { display:inline-flex; align-items:center; gap:10px; width:fit-content; min-height:44px; margin-top:auto; font-size:11px; font-weight:700; letter-spacing:.7px; text-transform:uppercase; }
.blog-list-read:hover { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:1000px) {
 .blog-list-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .blog-list-intro { padding:56px 0; }
 .blog-list-page .blog-list-intro h1 { font-size:38px; }
}
@media(max-width:650px) {
 .blog-list-intro { padding:24px 0; }
 .blog-list-label { font-size:12px; margin-bottom:18px; }
 .blog-list-page .blog-list-intro h1 { font-size:30px; line-height:1.1; letter-spacing:0; margin-bottom:18px; }
 .blog-list-intro-copy { font-size:12px; line-height:1.65; }
 .blog-list-intro-copy br { display:none; }
 .blog-list-library { padding:24px 0 40px; }
 .blog-list-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
 .blog-list-card-body { padding:20px 22px 16px; }
 .blog-list-card h2 { font-size:26px; margin-bottom:14px; }
 .blog-list-category { font-size:9px; margin-bottom:10px; }
 .blog-list-excerpt { font-size:13px; line-height:1.75; }
}
@media(prefers-reduced-motion:reduce) { .blog-list-image img { transition:none; } }

/* Local Carta-inspired editorial study; only the active sample opts in. */
.blog-carta { --reading-ink:#493735; }
.blog-carta .blog-wrap { width:min(1232px,calc(100% - 96px)); }
.blog-carta .blog-article-hero { background:#f1eee7; border:0; padding:26px 0 56px; }
.blog-carta .blog-breadcrumb { margin-bottom:34px; font-size:11px; }
.carta-hero-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); gap:64px; align-items:center; }
.carta-author-photo { margin:0; min-width:0; }
.carta-author-photo img { width:100%; height:auto; aspect-ratio:1.25; object-fit:cover; object-position:60% 35%; display:block; border-radius:3px; }
.carta-author-photo figcaption { margin-top:12px; font-size:10px; color:#76635e; letter-spacing:.25px; }
.carta-hero-copy .eyebrow { margin:0 0 20px; }
.blog-carta .blog-article-hero h1 { font-size:clamp(46px,4.8vw,68px); line-height:1.02; font-weight:500; letter-spacing:-1.4px; max-width:620px; margin:0; text-wrap:balance; }
.blog-carta .blog-subtitle { font-size:17px; line-height:1.7; margin:24px 0; max-width:490px; color:#6e5d58; text-wrap:pretty; }
.carta-byline { border-top:1px solid #d8cdc1; padding-top:20px; display:flex; flex-wrap:wrap; gap:8px 24px; font-size:11px; line-height:1.8; }
.carta-byline strong { font-weight:600; }
.carta-video-link { display:inline-flex; align-items:center; gap:10px; font-size:11px; font-weight:600; margin-top:18px; min-height:44px; text-decoration:underline; text-underline-offset:5px; }
.carta-video-link > span { background:var(--bordeaux); color:var(--offwhite); width:28px; height:28px; border-radius:50%; display:grid; place-items:center; font-size:9px; padding-left:2px; }
.blog-carta .blog-reading-layout { grid-template-columns:250px minmax(0,740px); gap:86px; padding-block:64px 88px; }
.blog-carta .blog-toc details { border-top:1px solid #cdbeb5; padding-top:10px; }
.blog-carta .blog-toc summary { font-size:13px; }
.blog-carta .blog-toc li a { padding-block:12px; font-size:12px; color:#75635d; }
.blog-carta .blog-toc .toc-level-3 a { font-size:11px; }
.blog-carta .blog-toc li a:hover { color:var(--bordeaux); }
.blog-carta .blog-article { color:var(--reading-ink); font-size:16px; line-height:1.9; }
.blog-carta .blog-tldr { background:#f6f3ee; border:0; border-left:3px solid #bda88d; padding:28px 32px; margin:0 0 36px; }
.blog-carta .blog-tldr .eyebrow { margin:0 0 14px; font-size:10px; }
.blog-carta .blog-tldr > p:not(.eyebrow) { font:500 31px/1.12 Cormorant,Georgia,serif; color:var(--bordeaux); margin:0 0 18px; }
.blog-carta .blog-tldr ul { padding-left:19px; margin:0; font-size:14px; line-height:1.8; }
.blog-carta .blog-tldr li { padding-left:5px; margin:10px 0; }
.blog-carta .blog-tldr li::marker { color:#a98e6d; }
.blog-carta .blog-article h2 { font-weight:500; font-size:40px; margin-top:54px; }
.blog-carta .blog-article h3 { font-size:19px; line-height:1.5; }
.blog-carta .section-number { font-size:11px; letter-spacing:2px; padding-top:0; margin-bottom:12px; color:#9b8071; }
.blog-carta .blog-figure { margin-block:36px 48px; }
.blog-carta .blog-zoom-link { border:1px solid #e3dcd2; background:#faf9f6; padding:20px; }
.blog-carta .blog-figure figcaption { font-size:11px; line-height:1.7; }
.blog-carta .blog-video-section { border-top:1px solid #ddd3c8; padding-top:36px; margin-top:56px; }
.carta-related { padding:54px max(48px,calc((100% - 1232px)/2)) 64px; background:#f1eee7; }
.carta-related-heading h2 { font:500 44px/1.12 Cormorant,Georgia,serif; letter-spacing:-.6px; margin:14px 0 32px; }
.carta-related-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:30px; }
.carta-related-grid > a { padding:30px 32px; border:1px solid #d8cdc1; background:#faf9f6; transition:transform .2s,box-shadow .2s,border-color .2s; }
.carta-related-grid > a:hover { transform:translateY(-3px); border-color:#a68c81; box-shadow:0 12px 28px #330e130a; }
.carta-related-grid h3 { font:500 32px/1.2 Cormorant,Georgia,serif; margin:14px 0; }
.carta-related-grid p { font-size:13px; color:#75635d; line-height:1.8; max-width:370px; }
.carta-read { display:flex; justify-content:space-between; border-top:1px solid #e1d8cd; padding-top:18px; margin-top:24px; font-size:12px; font-weight:600; }
.blog-carta a:focus-visible { outline:2px solid var(--coral); outline-offset:5px; }
@media(max-width:1100px) {
 .carta-hero-grid { gap:36px; }
 .blog-carta .blog-reading-layout { grid-template-columns:220px minmax(0,1fr); gap:40px; }
 .blog-carta .blog-toc nav ol { columns:1; }
 .blog-carta .blog-toc li a { font-size:11px; }
}
@media(max-width:800px) {
 .blog-carta .blog-wrap { width:calc(100% - 48px); }
 .blog-carta .blog-reading-layout { grid-template-columns:1fr; gap:32px; padding-block:36px 56px; }
 .blog-carta .blog-toc nav ol { columns:2; }
 .carta-hero-grid { grid-template-columns:.8fr 1.2fr; gap:28px; }
 .blog-carta .blog-article-hero h1 { font-size:46px; }
 .blog-carta .blog-subtitle { font-size:14px; margin-block:18px; }
 .carta-related { padding:40px 24px; }
}
@media(max-width:600px) {
 .blog-carta .blog-wrap { width:calc(100% - 40px); }
 .blog-carta .blog-article-hero { padding:20px 0 30px; }
 .blog-carta .blog-breadcrumb { margin-bottom:26px; font-size:9px; }
 .carta-hero-grid { display:flex; flex-direction:column; align-items:stretch; gap:24px; }
 .carta-hero-copy { order:-1; }
 .carta-hero-copy .eyebrow { margin-bottom:14px; font-size:9px; }
 .blog-carta .blog-article-hero h1 { font-size:44px; letter-spacing:-.8px; }
 .blog-carta .blog-subtitle { font-size:15px; line-height:1.7; margin:18px 0; }
 .carta-byline { padding-top:14px; gap:4px 20px; font-size:10px; }
 .carta-video-link { margin-top:10px; font-size:10px; }
 .carta-author-photo img { aspect-ratio:1.75; object-position:60% 30%; }
 .carta-author-photo figcaption { font-size:9px; margin-top:8px; }
 .blog-carta .blog-toc nav ol { columns:1; }
 .blog-carta .blog-toc li a { font-size:12px; }
 .blog-carta .blog-tldr { padding:24px 22px; margin-bottom:28px; }
 .blog-carta .blog-tldr > p:not(.eyebrow) { font-size:29px; }
 .blog-carta .blog-tldr ul { font-size:13px; }
 .blog-carta .blog-article { font-size:15px; line-height:1.85; }
 .blog-carta .blog-article h2 { font-size:34px; }
 .blog-carta .blog-zoom-link { padding:8px; }
 .carta-related { padding:38px 20px 44px; }
 .carta-related-heading h2 { font-size:36px; }
 .carta-related-grid { grid-template-columns:1fr; gap:16px; }
 .carta-related-grid > a { padding:24px; }
 .carta-related-grid h3 { font-size:30px; }
}

/* V177: rounded embedded player. */
.blog-carta .blog-video-direct { border-radius:12px; overflow:hidden; }
.blog-carta .blog-video-direct iframe { border-radius:inherit; display:block; }

/* V180: nested outline mirrors article heading hierarchy. */
.blog-carta .blog-toc li > ol { margin:0; columns:1; }
.blog-carta .blog-toc .toc-level-3 { padding-left:24px; }
.blog-carta .blog-toc li a { align-items:baseline; }
.blog-carta .blog-toc li a > span { flex:0 0 18px; }

/* V182: editorial type scale, consistent with the existing two brand families. */
.blog-carta .blog-article { font-size:17px; line-height:1.85; }
.blog-carta .blog-article h2 { font-size:clamp(34px,3vw,42px); line-height:1.16; }
.blog-carta .blog-article h3 { font:600 20px/1.5 Montserrat,Arial,sans-serif; }
.blog-carta .blog-toc summary { font-size:14px; }
.blog-carta .blog-toc li a { font-size:13px; line-height:1.6; }
.blog-carta .blog-toc .toc-level-3 a { font-size:12px; }
.blog-carta .carta-byline,.blog-carta .carta-video-link { font-size:12px; }
.blog-carta .blog-tldr ul { font-size:15px; }
.blog-carta .blog-figure figcaption { font-size:12px; }
.blog-carta .carta-related-grid p { font-size:15px; }
.blog-carta .blog-zoom-link { cursor:zoom-in; }
/* Numeric examples are composed as quiet calculation cards. */
@media(max-width:1100px) {
 .blog-carta .blog-toc li a { font-size:12px; }
}
@media(max-width:600px) {
 .blog-carta .blog-article { font-size:16px; }
 .blog-carta .blog-article h3 { font-size:18px; }
 .blog-carta .blog-toc li a { font-size:13px; }
 .blog-carta .blog-tldr ul { font-size:14px; }
 .blog-carta .carta-byline,.blog-carta .carta-video-link { font-size:11px; }
 .blog-carta .carta-related-grid p { font-size:14px; }
}


/* V184: existing phone, email, LinkedIn and booking destinations. */
.blog-carta .blog-contact { border-top:1px solid #d8cdc1; margin-top:24px; padding-top:22px; }
.blog-carta .blog-contact > p { margin:0 0 14px; font:500 12px/1.6 Montserrat,Arial,sans-serif; color:#75635d; }
.blog-contact-icons { display:flex; gap:12px; }
.blog-contact-icons a { width:44px; height:44px; border:1px solid #ded5cb; border-radius:50%; background:#f3efe8; display:grid; place-items:center; transition:background .2s,color .2s,transform .2s; }
.blog-contact-icons a:hover { background:var(--bordeaux); color:var(--offwhite); transform:translateY(-2px); }
.blog-contact-icons svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.blog-contact-icons .blog-contact-linkedin { fill:currentColor; stroke:none; }
.blog-contact-booking { display:flex; align-items:center; justify-content:center; min-height:44px; margin-top:18px; padding:10px 14px; border:1px solid #bdaaa0; border-radius:5px; font:600 11px/1.5 Montserrat,Arial,sans-serif; text-align:center; transition:background .2s,color .2s; }
.blog-contact-booking:hover { background:var(--bordeaux); color:var(--offwhite); }
@media(max-width:800px) { .blog-carta .blog-contact { display:flex; flex-wrap:wrap; align-items:center; gap:14px 20px; } .blog-carta .blog-contact > p { flex-basis:100%; margin:0; } .blog-contact-booking { margin-top:0; } }

/* V185: image-led related stories in the established brand typography. */
.blog-carta .related-editorial { background:#fff; border-top:1px solid #e8e1d8; padding-top:64px; }
.related-story-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px 30px; }
.related-story[hidden] { display:none; }
.related-story { min-width:0; }
.related-story > a { display:flex; flex-direction:column; height:100%; }
.related-story img { width:100%; height:auto; aspect-ratio:1.6; object-fit:cover; border-radius:10px; display:block; transition:filter .25s; }
.related-story > a:hover img { filter:brightness(.94); }
.related-story-copy { padding:22px 6px 0; display:flex; flex-direction:column; flex:1; }
.blog-carta .related-story .eyebrow { color:#806b63; font-size:10px; line-height:1.6; letter-spacing:.8px; margin:0 0 12px; }
.related-story h3 { font:400 23px/1.35 Montserrat,Arial,sans-serif; letter-spacing:-.4px; margin:0 0 14px; text-wrap:pretty; }
.related-story-excerpt { font:400 15px/1.8 Montserrat,Arial,sans-serif; color:#75635d; margin:0 0 28px; }
.related-story-read { font:600 12px/1.6 Montserrat,Arial,sans-serif; text-decoration:underline; text-underline-offset:5px; margin-top:auto; padding:10px 0; }
.related-story > a:hover .related-story-read { color:#a3493e; }
.related-story-actions { margin-top:42px; display:flex; flex-direction:column; align-items:center; gap:22px; }
.related-story-actions .button { width:auto; font-size:13px; padding:16px 26px; min-height:48px; }
.related-story-actions [hidden] { display:none; }
.related-story-status { text-align:center; font-size:12px; color:#75635d; }
.related-story-status:empty { display:none; }
@media(max-width:1000px) { .related-story-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .related-story h3 { font-size:21px; } }
@media(max-width:600px) { .blog-carta .related-editorial { padding-top:40px; } .related-story-grid { grid-template-columns:1fr; gap:34px; } .related-story-copy { padding:18px 2px 0; } .related-story h3 { font-size:22px; } .related-story-excerpt { font-size:14px; margin-bottom:14px; } .related-story-actions { margin-top:32px; } }
.blog-carta #carta-related-title { scroll-margin-top:110px; }

/* Contact CTA is a button, not an underlined text link. */
.blog-carta .blog-contact-booking, .blog-carta .blog-contact-booking:hover, .blog-carta .blog-contact-booking:focus-visible { text-decoration:none; }

/* V187: independent navigation space; contact height no longer disables sticky. */
@media(min-width:801px) {
 .blog-carta .blog-toc { position:sticky; top:110px; max-height:calc(100dvh - 134px); display:grid; grid-template-rows:minmax(0,1fr) auto; min-height:0; }
 .blog-carta .blog-toc > details { min-height:0; overflow-y:auto; overscroll-behavior-y:contain; scrollbar-width:thin; scrollbar-color:#c8b8ad transparent; padding-right:10px; }
 .blog-carta .blog-contact { margin-top:18px; padding-top:16px; }
}
/* The original short answer is moved here only on the stacked/mobile layout. */
@media(max-width:800px) {
 .blog-carta .carta-hero-grid { display:flex; flex-direction:column; align-items:stretch; gap:24px; }
 .blog-carta .carta-hero-copy { order:-1; }
 .blog-carta .carta-hero-copy .blog-tldr { margin:24px 0 4px; padding:22px 24px; background:#faf8f4; border-left:2px solid #bda88d; }
 .blog-carta .carta-hero-copy .blog-tldr > p:not(.eyebrow) { font-size:29px; }
 .blog-carta .carta-hero-copy .blog-tldr ul { font-size:14px; }
 .blog-carta .carta-author-photo img { aspect-ratio:2; object-position:center; }
 .blog-carta .blog-article-hero { padding-bottom:28px; }
 .blog-carta .blog-reading-layout { padding-top:28px; }
}

/* Shared card component across overview and recommendations. */
.blog-list-card { min-width:0; background:#fff; }
.blog-list-card>a { display:flex; flex-direction:column; height:100%; }
.blog-list-card img { display:block; width:100%; height:auto; aspect-ratio:1.6; object-fit:cover; border-radius:8px 8px 0 0; }
.blog-list-card .related-story-copy { padding:24px; }
.blog-list-card h3 { font:500 30px/1.2 Cormorant,Georgia,serif; margin:0 0 14px; }
.blog-list-card .eyebrow { font-size:10px; margin:0 0 14px; }
.blog-list-card .related-story-excerpt { font-size:14px; }
@media(max-width:600px) {
}

/* Overview cards are H2; related cards are H3 beneath the section H2. */
.blog-list-card h2 { font-family:var(--font-display, "Cormorant Garamond", serif); font-size:clamp(1.6rem,2.3vw,2.15rem); font-weight:400; line-height:1.15; margin:12px 0 16px; }

/* Blog entry: original brand mark, cropped across the background like appointment intro. */
.blog-list-intro { position:relative; isolation:isolate; overflow:hidden; }
.blog-list-intro::before { content:""; position:absolute; z-index:-1; pointer-events:none; inset:-62% -8% -72% 6%; background:url('../assets/markenzeichen-original.svg') center / contain no-repeat; opacity:.13; }
.blog-list-intro > .blog-wrap { position:relative; }
.blog-list-label { background:none; border:0; padding:0; color:#e0d6d2; font:600 10px/1.6 Montserrat,Arial,sans-serif; letter-spacing:1.3px; text-transform:uppercase; }
.blog-list-page .blog-list-intro h1 { max-width:850px; }
.blog-list-intro-copy { max-width:790px; font-size:16px; }
@media(max-width:650px) {
 .blog-list-intro { padding:38px 0 40px; }
 .blog-list-intro::before { inset:-15% -65% -15% -45%; opacity:.11; }
 .blog-list-label { max-width:none; font-size:9px; line-height:1.7; margin-bottom:18px; }
 .blog-list-page .blog-list-intro h1 { font-size:32px; line-height:1.12; max-width:100%; }
 .blog-list-intro-copy { font-size:14px; line-height:1.75; max-width:39ch; }
}

/* Shared H2/H3 outline: numbered children remain subordinate and separately linkable. */
.blog-carta .blog-toc .toc-level-3 { padding-left:14px; }
.blog-carta .blog-toc .toc-level-3 > a > span { flex:0 0 26px; }

/* Tables are explicitly typed by content, never by the number of columns alone. */
.blog-carta .blog-table-scroll { max-width:100%; margin:30px 0; border:1px solid #e5ddd3; border-radius:14px; background:#fff; overflow-x:auto; scroll-margin-top:110px; }
.blog-carta .blog-table-scroll:focus-visible { outline:3px solid var(--coral); outline-offset:4px; }
.blog-carta .blog-table-scroll table { width:100%; min-width:0; table-layout:fixed; border-collapse:separate; border-spacing:0; font:400 14px/1.7 Montserrat,Arial,sans-serif; color:#493735; }
.blog-carta .blog-table-scroll caption { padding:22px 24px; background:#f5f2ed; font:600 17px/1.5 Montserrat,Arial,sans-serif; text-align:left; color:var(--bordeaux); }
.blog-carta .blog-table-scroll th,.blog-carta .blog-table-scroll td { padding:18px 20px; text-align:left; vertical-align:top; white-space:normal; overflow-wrap:anywhere; border:0; border-top:1px solid #e8e1d8; }
.blog-carta .blog-table-scroll thead th { color:#806c64; font-size:11px; line-height:1.6; font-weight:600; }
.blog-carta .blog-table-scroll tbody th { color:var(--bordeaux); font-weight:600; }
.blog-carta .blog-table-scroll .is-numeric { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; overflow-wrap:normal; }
.blog-carta .calculation-table table { table-layout:auto; }
.blog-carta .calculation-table th:first-child { width:auto; }
.blog-carta .calculation-table caption { font:500 25px/1.25 Cormorant,Georgia,serif; }
.blog-carta .calculation-table thead th:last-child { text-align:right; }
.blog-carta .blog-table-scroll .table-result { background:var(--bordeaux); }
.blog-carta .blog-table-scroll .table-result th,.blog-carta .blog-table-scroll .table-result td { color:var(--offwhite); font-weight:600; }
.blog-carta .calculation-table .table-result td { font-size:22px; }
.blog-carta .comparison-table th:first-child { width:28%; }
.blog-carta .blog-definitions { margin:30px 0; scroll-margin-top:110px; }
.blog-definitions dl { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:16px; margin:0; }
.blog-definition { min-width:0; border:1px solid #e5ddd3; border-radius:12px; padding:24px; background:#f7f4ef; }
.blog-definition dt { font:600 17px/1.5 Montserrat,Arial,sans-serif; color:var(--bordeaux); margin:0 0 12px; }
.blog-definition dd { margin:0; font:400 15px/1.8 Montserrat,Arial,sans-serif; color:#69564f; overflow-wrap:anywhere; }
@media(max-width:650px) {
 .blog-carta .blog-table-scroll,.blog-carta .blog-definitions { scroll-margin-top:88px; margin:24px 0; }
 .blog-carta .blog-table-scroll { overflow:visible; }
 .blog-carta .blog-table-scroll table,.blog-carta .blog-table-scroll tbody { display:block; width:100%; }
 .blog-carta .blog-table-scroll caption { display:block; border-radius:13px 13px 0 0; padding:20px; font-size:17px; }
 .blog-carta .blog-table-scroll thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .blog-carta .blog-table-scroll tbody tr { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; padding:20px; border-top:1px solid #e8e1d8; }
 .blog-carta .blog-table-scroll tbody th,.blog-carta .blog-table-scroll tbody td { display:block; width:auto; border:0; padding:0; text-align:left; white-space:normal; overflow-wrap:anywhere; font-size:15px; }
 .blog-carta .blog-table-scroll tbody th { font-size:16px; }
 .blog-carta .blog-table-scroll tbody td::before { content:attr(data-label); display:block; color:#806c64; font-size:10px; line-height:1.6; font-weight:600; margin-bottom:4px; }
 .blog-carta .calculation-table tbody td::before { content:none; }
 .blog-carta .calculation-table tbody th { font-size:13px; font-weight:400; }
 .blog-carta .calculation-table tbody td { font-size:20px; }
 .blog-carta .calculation-table .table-result th { font-weight:600; }
 .blog-carta .calculation-table .table-result td { font-size:26px; }
 .blog-carta .blog-table-scroll tbody tr:last-child { border-radius:0 0 13px 13px; }
 .blog-definition { padding:22px; }
}

@media(max-width:650px) {
 .blog-carta .blog-table-scroll tbody tr > th:first-child { width:100%; }
}

@media(max-width:650px) {
 .blog-carta .data-table tbody th::before { content:attr(data-label); display:block; color:#806c64; font-size:10px; line-height:1.6; font-weight:600; margin-bottom:4px; }
 .blog-carta .blog-table-scroll .table-result th::before,.blog-carta .blog-table-scroll .table-result td::before { color:#e0d6d2; }
}

/* A graphic and its optional source caption form one visual/semantic unit. */
.blog-carta .blog-figure { border:1px solid #e3dcd2; border-radius:12px; overflow:hidden; background:#faf9f6; }
.blog-carta .blog-figure .blog-zoom-link { border:0; background:none; padding:20px; }
.blog-carta .blog-figure img { display:block; width:100%; height:auto; }
.blog-carta .blog-figure > img { box-sizing:border-box; padding:20px; }
.blog-carta .blog-figure > figcaption { margin:0; padding:14px 20px; border-top:1px solid #e3dcd2; background:#f3efe8; color:#756460; font:400 12px/1.7 Montserrat,Arial,sans-serif; overflow-wrap:anywhere; }
@media(max-width:650px) {
 .blog-carta .blog-figure .blog-zoom-link,.blog-carta .blog-figure > img { padding:12px; }
 .blog-carta .blog-figure > figcaption { padding:12px 14px; }
}

/* Child groups adapt to the actual navigation space; without JS all links stay visible. */
.blog-carta .blog-toc .toc-parent-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; border-bottom:1px solid #eee9e2; }
.blog-carta .blog-toc .toc-parent-row > a { min-width:0; border-bottom:0; }
.blog-carta .blog-toc .toc-subpoints-toggle { width:36px; min-height:44px; margin:4px -6px 0 0; padding:8px; border:0; border-radius:5px; background:none; color:var(--bordeaux); font:500 19px/1 Montserrat,Arial,sans-serif; cursor:pointer; }
.blog-carta .blog-toc .toc-subpoints-toggle:hover { background:#f3efe8; }
.blog-carta .blog-toc .toc-subpoints-toggle:focus-visible { outline:2px solid var(--coral); outline-offset:-2px; }
.blog-carta .blog-toc [data-toc-children][hidden],.blog-carta .blog-toc .toc-subpoints-toggle[hidden] { display:none; }

/* Editorial metadata and references: shared across every article. */
.carta-byline a{color:inherit;text-underline-offset:.2em}.blog-date{display:block;font-weight:400;margin-top:.35em}
.blog-sources{margin-block:2.5rem;padding-block:1.25rem;border-block:1px solid var(--line,#ded6cc);font-size:.875em;overflow-wrap:anywhere}
.blog-sources ul{padding-left:1.2em}.blog-sources li+li{margin-top:.9em}.blog-sources li p{font-size:.9em;margin:.35em 0 0}

.blog-image-title-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }

/* V190: editorial wrapping uses words and the available component width. */
.carta-hero-copy { min-width: 0; container-type: inline-size; }
.blog-carta .blog-article-hero h1 {
 font-size: clamp(30px, 8cqi, 60px);
 line-height: 1.08; letter-spacing: -.65px;
 max-width: none; overflow-wrap: normal; word-break: normal; hyphens: auto;
}
.blog-page :is(h2,h3,.blog-list-card-title,.related-story h3),
.blog-article :is(p,li,dt,dd), .blog-carta .blog-table-scroll :is(th,td) {
 word-break: normal; overflow-wrap: normal; hyphens: auto;
}
.blog-definitions dl { grid-template-columns: minmax(0,1fr); }
.blog-definition {
 display: grid; grid-template-columns: minmax(120px,.35fr) minmax(0,1fr);
 gap: 12px 28px; padding: 22px 24px; align-items: start;
}
.blog-definition dt { margin: 0; }
.blog-definition dd { overflow-wrap: normal; word-break: normal; hyphens: auto; line-height: 1.65; }
@media (max-width: 650px) {
 .blog-definition { grid-template-columns: minmax(0,1fr); gap: 8px; padding: 20px; }
}

/* Prose wraps at spaces; dictionary hyphenation is reserved for headings. */
.blog-article :is(p,li,dt,dd), .blog-carta .blog-table-scroll :is(th,td) { hyphens: manual; }

.blog-article .blog-url, .blog-article a[href^="http"] { overflow-wrap: anywhere; }
