/* MacLabb: flow-based post layouts with viewport-centered article columns. */
body.single-post { position: relative; min-height: 100vh; }
.single-post .originals-main.originals-native-single { position: static; isolation: isolate; padding: 0; }
.single-post .originals-header { z-index: 100; }
.single-post .originals-footer { position: relative; z-index: 100; }
.single-post :is(.elementor-location-header,.elementor-location-footer) { position: relative; z-index: 100; }
.originals-reference, .originals-reference-guides {
	--originals-reference-view: var(--originals-viewport-width, 100vw);
	--originals-reference-available: calc(var(--originals-reference-view) - var(--originals-reference-padding-left, 24px) - var(--originals-reference-padding-right, 24px));
	--originals-reference-rail: 200.121px;
	--originals-reference-rail-gap: 54.34px;
	--originals-reference-body-span: min(var(--originals-reference-reading-width, 591px), calc(var(--originals-reference-available) - 2 * (var(--originals-reference-rail) + var(--originals-reference-rail-gap))));
	--originals-reference-direction: ltr;
}
[dir="rtl"] .originals-reference { --originals-reference-direction: rtl; }
.originals-reference {
	position: relative; z-index: 2; min-width: 0;
	padding: var(--originals-reference-padding-top, 50px) var(--originals-reference-padding-right, 24px) var(--originals-reference-padding-bottom, 80px) var(--originals-reference-padding-left, 24px);
	background: var(--originals-reference-page-background, #fff);
	color: var(--originals-reference-body-color, #333);
	font: var(--originals-reference-body-weight, 400) var(--originals-reference-body-size, 18px)/var(--originals-reference-body-line-height, 1.611111) var(--originals-reference-body-family, sans-serif);
	font-variation-settings: "GRAD" 0, "ROND" 0, "wdth" 100;
}
.originals-reference .originals-post-frame { display: grid; grid-template-columns: var(--originals-reference-rail) minmax(0, 1fr) var(--originals-reference-rail); column-gap: var(--originals-reference-rail-gap); align-items: start; width: min(100%, calc(var(--originals-reference-reading-width) + 2 * (var(--originals-reference-rail) + var(--originals-reference-rail-gap)))); margin-inline: auto; direction: ltr; }
.originals-reference .originals-post-frame > :is(.originals-reference-body,.originals-reference-hero,.originals-post-toc,.originals-reference-sidebar) { direction: var(--originals-reference-direction); }
.originals-reference .originals-reference-body { grid-column: 2; grid-row: 1; min-width: 0; }
.originals-reference-reading { width: min(100%, var(--originals-reference-reading-width)); margin-inline: auto; }
.originals-reference .originals-post-toc { grid-column: 1; grid-row: 1; }
.originals-reference .originals-reference-sidebar { grid-column: 3; grid-row: 1; }
.originals-reference .originals-toc-right > .originals-post-toc { grid-column: 3; }
.originals-reference .originals-toc-right > .originals-reference-sidebar { grid-column: 1; }
.originals-reference-hero { width: min(100%, var(--originals-reference-width)); margin: 0 auto var(--originals-reference-heading-gap, 34px); display: flex; flex-direction: column; align-items: center; gap: 19px; }
.originals-reference-heading { display: flex; flex-direction: column; align-items: center; gap: 19px; min-width: 0; width: 100%; text-align: center; }
body .originals-main .originals-reference .originals-article-title { max-width: min(100%, var(--originals-reference-title-width)); margin: 0; color: var(--originals-reference-title-color); font-family: var(--originals-reference-title-family); font-size: var(--originals-reference-title-size, 40px); font-weight: var(--originals-reference-title-weight, 500); line-height: var(--originals-reference-title-line-height, 1.2); letter-spacing: -.02em; text-align: inherit; font-style: normal; text-transform: none; text-decoration: none; overflow-wrap: anywhere; }
.originals-reference[data-title-highlight="true"] .originals-title-ink { color: var(--originals-reference-highlight-text, #fff); background: var(--originals-reference-highlight-background, #000); border-radius: .25em; padding: .12em .205em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.originals-reference .originals-post-introduction { width: min(100%, var(--originals-reference-intro-width, 519px)); margin: 0; font: 400 16px/25px var(--originals-reference-body-family); letter-spacing: -.02em; color: var(--originals-reference-intro-color, #808080); }
.originals-reference .originals-post-introduction > :first-child { margin-block-start: 0; }
.originals-reference .originals-post-introduction > :last-child { margin-block-end: 0; }
.originals-reading-badge { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: max-content; min-width: 86.381px; min-height: 23.232px; padding: 5px 12.6px; border-radius: 4px; color: var(--originals-reference-badge-text, #fff); font: 400 12px/13.232px var(--originals-reference-body-family); letter-spacing: -.02em; white-space: nowrap; background: linear-gradient(rgb(255 255 255 / 20%), rgb(255 255 255 / 20%)), linear-gradient(90deg,var(--originals-reference-badge-color-1,#006fff),var(--originals-reference-badge-color-2,#bd2eff) 36.538%,var(--originals-reference-badge-color-3,#ff1717) 70.673%,var(--originals-reference-badge-color-4,#ff9500)); }
.originals-reference-byline, .originals-reference-main-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 16px; color: var(--originals-reference-muted-color, #666); font: 400 16px/25px var(--originals-reference-body-family); letter-spacing: -.02em; }
.originals-reference-main-meta { width: 100%; justify-content: start; gap: 8px; }
.originals-reference-main-meta .originals-post-categories { margin-inline-start: auto; max-width: 190px; text-align: end; }
.originals-reference .originals-post-categories a { color: inherit; text-decoration: none; }
.originals-reference .originals-post-categories a:hover { text-decoration: underline; }
.originals-meta-divider { color: var(--originals-reference-title-color); }
.originals-reference .originals-post-author { display: inline-flex; align-items: center; gap: 10.28px; min-width: 0; min-height: 28.438px; color: var(--originals-reference-muted-color); font: inherit; }
.originals-reference .originals-author-picture { display: flex; align-items: center; justify-content: center; flex: 0 0 28.438px; width: 28.438px; height: 28.438px; border-radius: 8px; }
.originals-reference .originals-author-initial { background: #d9d9d9; color: #333; font-size: 16px; }
.originals-reference .originals-author-picture img.originals-author-logo { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; margin: 0; float: none; border-radius: 0; }
.originals-reference .originals-author-name { color: inherit; text-decoration: none; font: inherit; overflow-wrap: anywhere; }
.originals-reference .originals-author-name:hover { text-decoration: underline; }
.originals-reference-image { width: 100%; margin: 0; min-width: 0; }
.originals-reference :is(.originals-reference-image > img,.originals-reference-image-window > img) { display: block; width: 100%; height: var(--originals-reference-image-height); max-height: none; object-fit: cover; object-position: center var(--originals-reference-image-focus, center); border: var(--originals-reference-image-border-width,0px) var(--originals-reference-image-border-style,solid) var(--originals-reference-image-border-color,#e8e8e8); border-radius: var(--originals-reference-image-radius-top-left,12px) var(--originals-reference-image-radius-top-right,12px) var(--originals-reference-image-radius-bottom-right,12px) var(--originals-reference-image-radius-bottom-left,12px); }
.originals-reference-image figcaption { margin: 10px auto 0; padding-inline: 16px; color: var(--originals-reference-muted-color); font: 400 13px/1.5 var(--originals-reference-body-family); text-align: center; }

/* Main: one surface spanning the header and body, with the outline outside it. */
.originals-reference-classic, .originals-reference-guides { --originals-reference-rail-gap: 46px; --originals-reference-body-span: min(var(--originals-reference-width,770px), calc(var(--originals-reference-available) - 2 * (var(--originals-reference-rail) + var(--originals-reference-rail-gap)))); }
.originals-reference-classic { background: transparent; }
.originals-reference-classic:not(.originals-article-has-toc), .originals-reference-guides:not(.originals-article-has-toc) { --originals-reference-body-span: min(var(--originals-reference-width,770px), var(--originals-reference-available)); }
.originals-reference-classic .originals-post-frame { width: min(100%, calc(var(--originals-reference-width) + 2 * (var(--originals-reference-rail) + var(--originals-reference-rail-gap)))); position: relative; isolation: isolate; }
.originals-reference-classic:not(.originals-article-has-toc) .originals-post-frame { width: min(100%,var(--originals-reference-width)); grid-template-columns: minmax(0,1fr); }
.originals-reference-classic:not(.originals-article-has-toc) :is(.originals-reference-surface,.originals-reference-hero,.originals-reference-body) { grid-column: 1; }
.originals-reference-surface { grid-column: 2; grid-row: 1 / 3; align-self: stretch; min-width: 0; background: var(--originals-reference-surface,#fbfbfb); border-radius: var(--originals-reference-box-radius,16px); z-index: 0; }
.originals-reference-classic .originals-reference-hero { grid-column: 2; grid-row: 1; width: 100%; margin: 0; padding: var(--originals-reference-inner,18px) var(--originals-reference-inner,18px) var(--originals-reference-heading-gap,20px); position: relative; z-index: 1; }
.originals-reference-classic .originals-reference-heading { align-items: start; gap: 17px; text-align: start; }
.originals-reference-classic .originals-reference-image { width: calc(100% + 2 * var(--originals-reference-inner,18px)); margin: calc(-1 * var(--originals-reference-inner,18px)) calc(-1 * var(--originals-reference-inner,18px)) 4px; }
.originals-reference-classic .originals-reference-body { grid-column: 2; grid-row: 2; width: 100%; padding: 0 var(--originals-reference-inner,18px) var(--originals-reference-inner,18px); position: relative; z-index: 1; }
.originals-reference-classic .originals-post-toc { grid-row: 2; }
.originals-reference-classic .originals-post-author { min-height: 33.114px; font-size: 18px; line-height: 25px; }
.originals-reference-classic .originals-reading-badge { min-width: 96px; }
.originals-reference-classic .originals-author-picture { flex-basis: 33.114px; width: 33.114px; height: 33.114px; }
.originals-reference-guides { position: absolute; inset-block: 0; inset-inline: 0; width: min(calc(var(--originals-reference-body-span) + 36px), calc(100% - 12px)); margin-inline: auto; border-inline: var(--originals-post-line-width,1px) var(--originals-post-line-style,dashed) var(--originals-post-line-color,#e8e8e8); pointer-events: none; z-index: 1; }
.originals-post-screen-rule { width: var(--originals-reference-view); margin-inline: calc((100% - var(--originals-reference-view)) / 2); height: 0; border-top: var(--originals-post-line-width,1px) var(--originals-post-line-style,dashed) var(--originals-post-line-color,#e8e8e8); position: relative; }
.originals-rule-start { top: -18px; }
.originals-rule-end { top: 22px; }

/* Blog 3 uses a full-width image before its centered heading, without overlay text. */
.originals-reference-type-full-image > .originals-reference-hero { width: 100%; }
.originals-reference-type-full-image .originals-reference-heading { width: min(100%, var(--originals-reference-width)); }
.originals-reference-type-full-image .originals-reference-image-pin { width: var(--originals-reference-view); max-width: none; margin-inline: calc((100% - var(--originals-reference-view)) / 2); }
.originals-reference-image-pin .originals-reference-image { width: 100%; }
.originals-reference-image-window { height: var(--originals-reference-image-height); overflow: hidden; border: var(--originals-reference-image-border-width,0px) var(--originals-reference-image-border-style,solid) var(--originals-reference-image-border-color,#e8e8e8); border-radius: var(--originals-reference-image-radius-top-left,0px) var(--originals-reference-image-radius-top-right,0px) var(--originals-reference-image-radius-bottom-right,0px) var(--originals-reference-image-radius-bottom-left,0px); }
.originals-reference .originals-reference-image-window > img { border: 0; border-radius: 0; height: 100%; }
/* The image stays in viewport coordinates; opaque title/content surfaces pass above it. */
.originals-featured-fixed .originals-reference-image::before { content: ""; display: block; height: var(--originals-reference-image-height); }
.originals-featured-fixed .originals-reference-image-window { position: fixed; top: var(--originals-fixed-image-top); left: var(--originals-fixed-image-left,0px); width: var(--originals-fixed-image-width,100%); z-index: 0; }
.originals-featured-fixed > .originals-reference-hero { gap: 0; margin-bottom: 0; }
.originals-featured-fixed .originals-reference-heading { position: relative; z-index: 1; width: var(--originals-reference-view); max-width: none; padding: 19px var(--originals-reference-padding-right,24px) var(--originals-reference-heading-gap,40px) var(--originals-reference-padding-left,24px); background: var(--originals-reference-page-background,#fff); }
.originals-featured-fixed > .originals-post-frame { position: relative; z-index: 1; }
.originals-featured-fixed > .originals-post-frame::before { content: ""; position: absolute; top: 0; bottom: calc(-1 * var(--originals-reference-padding-bottom,80px)); left: calc((100% - var(--originals-reference-view)) / 2); width: var(--originals-reference-view); background: var(--originals-reference-page-background,#fff); z-index: -1; pointer-events: none; }
.originals-featured-fixed .originals-reference-image figcaption { position: relative; z-index: 1; margin: 0; padding-block: 10px 0; background: var(--originals-reference-page-background,#fff); }
/* Blogs 4/5 use two-column headers; the article below retains its centered rails. */
.originals-reference-type-image-right .originals-reference-hero.originals-reference-has-image { display: grid; grid-template-columns: minmax(0,634fr) minmax(0,751fr); gap: 50px; align-items: center; direction: ltr; }
.originals-reference-type-image-left .originals-reference-hero.originals-reference-has-image { display: grid; grid-template-columns: minmax(0,751fr) minmax(0,634fr); gap: 50px; align-items: center; direction: ltr; }
.originals-reference-type-image-right .originals-reference-heading, .originals-reference-type-image-left .originals-reference-heading { align-items: start; text-align: start; direction: var(--originals-reference-direction); }
.originals-reference-hero:not(.originals-reference-has-image) .originals-reference-heading { width: min(100%,var(--originals-reference-title-width)); margin-inline: auto; }
.originals-reference-sidebar { position: sticky; top: calc(var(--originals-header-scroll-offset,0px) + 24px); padding: 16px 12px; margin-left: -14px; margin-right: 14px; border: 1px solid #e8e8e8; border-radius: 10px; background: var(--originals-reference-surface,#fff); box-shadow: 0 10px 20px rgb(0 0 0 / 5%); font-size: 14px; line-height: 1.5; min-width: 0; }
.originals-toc-right > .originals-reference-sidebar { margin-left: 14px; margin-right: -14px; }
.originals-reference-sidebar .widget:last-child { margin-bottom: 0; }
.originals-reference-sidebar :is(input,select,textarea) { max-width: 100%; }
body .originals-main .originals-reference-sidebar :is(h2,h3) { font: 500 18px/1.3 var(--originals-reference-body-family); margin-top: 0; color: inherit; }

/* Native content, captions and interactive outline; no saved post markup changes. */
.originals-reference .entry-content { font: inherit; color: inherit; }
.originals-reference .originals-article-content > :first-child { margin-block-start: 0; }
body .originals-main .originals-reference .originals-article-content > :first-child { margin-block-start: 0; }
.originals-reference .originals-article-content > :last-child { margin-block-end: 0; }
.originals-reference .originals-article-content p { margin-block: 0 29px; }
body .originals-main .originals-reference .originals-article-content h2 { font-family: var(--originals-reference-body-family); font-size: var(--originals-reference-body-heading-size,35px); font-weight: 400; line-height: .83; color: var(--originals-reference-title-color,#000); letter-spacing: -.03em; text-transform: none; margin: 48px 0 18px; }
body .originals-main .originals-reference-classic .originals-article-content h2 { margin-top: 64px; }
.originals-reference .originals-article-content :is(h2,h3) { scroll-margin-block-start: calc(var(--originals-header-scroll-offset,0px) + 24px); }
.originals-reference .originals-article-content :is(.alignwide,.alignfull) { width: 100%; max-width: 100%; margin-inline: 0; }
.originals-reference .originals-article-content .wp-block-image img { border-radius: 12px; }
.originals-reference .originals-after-post { max-width: none; }
.originals-reference .originals-entry-footer { margin-top: 40px; }
.originals-post-toc { --originals-toc-indent: 29.7048px; min-width: 0; position: sticky; top: calc(var(--originals-header-scroll-offset,0px) + 24px); padding: 12px; border: 1px solid #e8e8e8; border-radius: 10px; background: var(--originals-reference-page-background,#fff); box-shadow: 0 10px 20px rgb(0 0 0 / 5%); z-index: 2; }
.originals-post-toc summary { display: flex; justify-content: space-between; align-items: center; gap: 8px; cursor: pointer; list-style: none; font: 400 12px/29px var(--originals-toc-family,monospace); text-transform: uppercase; letter-spacing: -.02em; color: var(--originals-reference-title-color,#000); }
.originals-post-toc summary::-webkit-details-marker { display: none; }
.originals-post-toc details[open] summary { margin-bottom: 13px; }
.originals-post-toc details:not([open]) summary > span { transform: rotate(-90deg); }
.originals-post-toc nav { position: relative; width: calc(100% + 24px); margin-inline: -12px; max-height: min(var(--originals-toc-height,260px), max(100px,calc(100dvh - var(--originals-header-scroll-offset,0px) - 150px))); overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
/* The rail follows real row heights and H2/H3 nesting, including wrapped labels. */
.originals-toc-track { position: absolute; inset-inline-start: 0; top: 0; pointer-events: none; overflow: visible; fill: none; }
.originals-toc-track path { stroke: rgb(0 0 0 / 38%); stroke-width: 1; }
[dir="rtl"] .originals-toc-track { transform: scaleX(-1); }
.originals-post-toc ol { margin: 0; padding: 0; list-style: none; }
.originals-post-toc li { margin: 0; padding: 0; }
.originals-post-toc a { display: block; position: relative; padding: 5px 14px 9px 22px; text-decoration: none; color: var(--originals-reference-title-color,#000); font: 400 13px/21px var(--originals-reference-body-family); letter-spacing: -.01em; overflow-wrap: anywhere; }
[dir="rtl"] .originals-post-toc a { padding-inline: 22px 14px; }
.originals-post-toc .originals-toc-level-h3 > a { --originals-toc-depth: var(--originals-toc-indent); padding-inline-start: calc(22px + var(--originals-toc-indent)); }
.originals-post-toc a::after { content: ""; position: absolute; inset-inline-start: calc(var(--originals-toc-depth,0px) + 1px); top: 0; bottom: 0; border-inline-start: 1px solid rgb(0 0 0 / 38%); pointer-events: none; }
.originals-post-toc[data-rail-ready="true"] a::after { display: none; }
.originals-post-toc a:hover, .originals-post-toc a[aria-current="location"] { color: #006fff; }
.originals-post-toc a[aria-current="location"]::before { content: ""; position: absolute; inset-inline-start: var(--originals-toc-depth,0px); top: calc((100% - 24.1865px) / 2); width: 3px; height: 24.1865px; background: var(--originals-toc-active) no-repeat; z-index: 1; }
.originals-post-toc[data-overflow-bottom="true"][data-expanded="true"]::after { content: ""; position: absolute; inset-inline: 12px; bottom: 12px; height: 80px; pointer-events: none; background: linear-gradient(transparent,var(--originals-reference-page-background,#fff) 80.769%); }
@media(max-width:1024px) {
	.originals-reference .originals-post-frame { display: flex; flex-direction: column; gap: 24px; width: min(100%,var(--originals-reference-reading-width)); }
	.originals-reference .originals-reference-body { width: 100%; }
	.originals-post-toc { position: static; width: min(100%,420px); align-self: center; }
	.originals-reference-sidebar, .originals-toc-right > .originals-reference-sidebar { position: static; width: 100%; margin: 0; }
	.originals-reference-classic, .originals-reference-guides { --originals-reference-body-span: min(var(--originals-reference-width),var(--originals-reference-available)); }
	.originals-reference-classic .originals-post-frame { display: grid; width: min(100%,var(--originals-reference-width)); grid-template-columns: minmax(0,1fr); row-gap: 0; }
	.originals-reference-classic .originals-reference-surface { grid-column: 1; grid-row: 2 / 4; }
	.originals-reference-classic .originals-post-toc { grid-column: 1; grid-row: 1; width: 100%; margin-bottom: 24px; }
	.originals-reference-classic .originals-reference-hero { grid-column: 1; grid-row: 2; }
	.originals-reference-classic .originals-reference-body { grid-column: 1; grid-row: 3; }
	.originals-reference-type-image-right .originals-reference-hero.originals-reference-has-image, .originals-reference-type-image-left .originals-reference-hero.originals-reference-has-image { display: flex; gap: 24px; }
	.originals-reference-type-image-right .originals-reference-heading, .originals-reference-type-image-left .originals-reference-heading { width: min(100%,var(--originals-reference-title-width)); margin-inline: auto; }
}
@media(max-width:780px) {
	.originals-reference-classic { --originals-reference-inner: min(18px,4vw); }
	.originals-reference .originals-reference-main-meta { flex-wrap: wrap; }
	.originals-reference .originals-reference-main-meta .originals-post-categories { flex-basis: 100%; margin-inline-start: 0; max-width: none; text-align: start; }
	.originals-reference .originals-reference-byline { gap: 6px 10px; font-size: 14px; }
	.originals-reference .originals-post-author { font-size: 14px; }
	.originals-reference .originals-post-introduction { font-size: 15px; line-height: 24px; }
	.originals-post-toc nav { max-height: var(--originals-toc-mobile-height,180px); }
	body .originals-main .originals-reference .originals-article-content h2 { line-height: 1.15; }
}
@media(prefers-reduced-motion:reduce) {
	.originals-featured-fixed .originals-reference-image::before { display: none; }
	.originals-featured-fixed .originals-reference-image-window { position: static; width: 100%; clip-path: none !important; }
}
@media print {
	.originals-featured-fixed .originals-reference-image::before { display: none; }
	.originals-featured-fixed .originals-reference-image-window { position: static; width: 100%; clip-path: none !important; }
	.originals-reference-guides,.originals-post-screen-rule,.originals-post-toc,.originals-reference-sidebar { display: none !important; }
	.originals-reference { padding: 0; background: #fff; color: #000; }
	.originals-reference .originals-post-frame { display: block; width: 100%; }
	.originals-reference-surface { display: none; }
	.originals-reference .originals-reference-hero { width: 100%; margin: 0 0 24px; }
	.originals-reference .originals-reference-image { width: 100%; margin-inline: 0; }
	.originals-reference[data-title-highlight="true"] .originals-title-ink { print-color-adjust: exact; }
}
