/* Shared article and editor rules. Keep component typography separate from page headings. */
:is(.article-body,.editor-styles-wrapper){overflow-wrap:break-word;line-height:var(--gbx-line-height,1.85)}
:is(.article-body,.editor-styles-wrapper) p{margin-block:0 var(--gbx-p-gap,1.35em);line-height:inherit}
:is(.article-body,.editor-styles-wrapper) .gb-p{font-size:1em}
:is(.article-body,.editor-styles-wrapper) :is(.gb-lead,.is-style-gb-lead){font-size:1.22em;line-height:1.65;color:var(--muted)}
:is(.article-body,.editor-styles-wrapper) :is(.gb-small,.is-style-gb-small){font-size:.87em;color:var(--muted)}
:is(.article-body,.editor-styles-wrapper) :is(.gb-caption,figcaption){font-size:var(--gbx-caption-size,14px);line-height:1.6;color:var(--muted);margin:10px 0 0;letter-spacing:normal}
:is(.article-body,.editor-styles-wrapper) .gb-indent{text-indent:1.75em}
:is(.article-body,.editor-styles-wrapper) :is(.gb-dropcap,.is-style-gb-dropcap){display:flow-root}
:is(.article-body,.editor-styles-wrapper) :is(h2,h3,h4,h5,h6){clear:both;line-height:1.3!important;margin-block:1.6em .65em!important;letter-spacing:-.025em;scroll-margin-top:150px}
:is(.article-body,.editor-styles-wrapper) h2{font-size:var(--gbx-h2-size,32px)!important}
:is(.article-body,.editor-styles-wrapper) h3{font-size:var(--gbx-h3-size,24px)}
:is(.article-body,.editor-styles-wrapper) :is(.gb-callout,.gb-note,.gb-evidence,.gb-key-takeaways,.gb-comparison,.gb-steps,.gb-timeline) :is(h2,h3,h4){font-size:1.06em!important;line-height:1.45!important;margin:0 0 .6em!important;letter-spacing:-.01em}
:is(.article-body,.editor-styles-wrapper) :is(.gb-callout,.gb-note,.gb-evidence,.gb-key-takeaways){padding:24px 28px;margin-block:30px;clear:both}
:is(.article-body,.editor-styles-wrapper) :is(.gb-callout,.gb-note,.gb-evidence,.gb-key-takeaways,.gb-comparison,.gb-steps li,.gb-timeline li,.gb-details>div)>:last-child{margin-bottom:0}
:is(.article-body,.editor-styles-wrapper) :is(.gb-callout,.gb-note) p+p{margin-top:.9em}
:is(.article-body,.editor-styles-wrapper) .gb-note>strong{display:block;margin-bottom:.5em;font-size:.9em}
:is(.article-body,.editor-styles-wrapper) .gbx-demo-label{padding:12px 16px;font-size:12px;margin-block:16px 24px}
.gb-callout--source{background:var(--blue-bg);border-color:var(--blue)}
.gb-callout--correction{background:var(--panel);color:var(--panel-ink);border-color:var(--panel-accent)}
.gb-callout--correction a{color:var(--panel-accent)}
:is(.article-body,.editor-styles-wrapper) :is(ul,ol){padding-inline-start:1.4em;margin-block:0 1.35em}
:is(.article-body,.editor-styles-wrapper) li{padding-inline-start:.15em;margin-block:.45em}
:is(.article-body,.editor-styles-wrapper) li::marker{color:var(--accent);font-weight:700}
:is(.article-body,.editor-styles-wrapper) .gb-quote{border:1px solid var(--line)!important;border-inline-start:4px solid var(--accent)!important;background:var(--surface);padding:28px 32px!important;margin:32px 0!important;clear:both}
:is(.article-body,.editor-styles-wrapper) .gb-quote blockquote{border:0;background:none;padding:0;margin:0;font-size:1em}
:is(.article-body,.editor-styles-wrapper) .gb-quote p{font-size:1.35em!important;line-height:1.55!important;font-weight:600;letter-spacing:-.025em;margin:0!important}
:is(.article-body,.editor-styles-wrapper) .gb-quote :is(figcaption,cite){display:block;font-size:var(--gbx-caption-size,14px)!important;font-weight:400;font-style:normal;line-height:1.6!important;margin-top:18px;color:var(--muted)}
.gb-quote .quiet-button{min-height:44px;margin-top:18px;font-size:14px}
:is(.article-body,.editor-styles-wrapper) .gb-pullquote{padding-block:22px;border-block:2px solid var(--accent);margin:32px 0;clear:both}
:is(.article-body,.editor-styles-wrapper) .gb-pullquote p{font-size:1.5em;line-height:1.5;font-weight:600;margin:0}
:is(.article-body,.editor-styles-wrapper) .gb-evidence dl{grid-template-columns:minmax(120px,.6fr) minmax(0,1.4fr);gap:14px 24px;margin:20px 0 0}
:is(.article-body,.editor-styles-wrapper) .gb-comparison{gap:24px;padding-block:24px;grid-template-columns:repeat(2,minmax(0,1fr));margin:32px 0}
.gb-comparison>section{min-width:0}
:is(.article-body,.editor-styles-wrapper) .gb-steps{list-style:none;counter-reset:step;padding:0!important;margin-block:30px}
:is(.article-body,.editor-styles-wrapper) .gb-steps>li{margin:0;min-height:50px;padding:0 0 28px 58px;position:relative;counter-increment:step}
.gb-steps>li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:0;width:36px;height:36px;display:grid;place-items:center;background:var(--ink);color:var(--bg);font:700 14px/1 ui-monospace,monospace}
.gb-steps>li:not(:last-child):after{content:'';position:absolute;left:17px;top:42px;bottom:7px;width:1px;background:var(--line)}
:is(.article-body,.editor-styles-wrapper) .gb-timeline{list-style:none;margin-block:30px;padding-inline-start:26px!important}
.gb-timeline li{padding:0 0 18px 8px}
.gb-timeline time{display:block;margin-bottom:8px}
:is(.article-body,.editor-styles-wrapper) .gb-details{padding:0!important;border:1px solid var(--line)!important;margin-block:24px!important}
:is(.article-body,.editor-styles-wrapper) .gb-details summary{padding:18px 22px;font-size:1em!important;line-height:1.5!important;min-height:56px}
:is(.article-body,.editor-styles-wrapper) .gb-details>div{padding:0 22px 22px;font-size:1em!important;line-height:inherit!important}
:is(.article-body,.editor-styles-wrapper) .gb-image{margin-block:28px}
:is(.article-body,.editor-styles-wrapper) .gb-image img{display:block;width:100%;height:auto;margin:0;filter:none}
:is(.article-body,.editor-styles-wrapper) :is(.gb-image--left,.gb-image--right){width:43%;margin-block:6px 22px}
:is(.article-body,.editor-styles-wrapper) .gb-gallery{clear:both;gap:16px;margin:28px 0;min-width:0;max-width:100%}
:is(.article-body,.editor-styles-wrapper) .gb-gallery-item{margin:0;min-width:0;max-width:100%;float:none}
.gb-gallery-item>a{display:block;border:0;text-decoration:none!important}
.gb-gallery-item img{display:block;width:100%;height:auto;margin:0;aspect-ratio:4/3;object-fit:cover;filter:none}
.gb-gallery-item figcaption{margin:10px 0 0}
:is(.article-body,.editor-styles-wrapper) .gb-gallery--two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
:is(.article-body,.editor-styles-wrapper) .gb-gallery--three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
:is(.article-body,.editor-styles-wrapper) .gb-gallery--editorial{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-auto-rows:minmax(0,1fr);align-items:stretch}
.gb-gallery--editorial>.gb-gallery-item{display:grid;grid-template-rows:minmax(0,1fr) auto}
.gb-gallery--editorial>.gb-gallery-item>a{height:100%;min-height:0}
.gb-gallery--editorial>.gb-gallery-item:first-child{grid-row:span 2}
.gb-gallery--editorial>.gb-gallery-item:first-child>a{position:relative}
.gb-gallery--editorial>.gb-gallery-item:first-child img{position:absolute;inset:0;aspect-ratio:auto}
.gb-gallery--editorial>.gb-gallery-item img{height:100%;min-height:0;aspect-ratio:auto;object-fit:cover}
.gb-gallery--editorial>.gb-gallery-item:not(:first-child) img{aspect-ratio:4/3}
.gb-gallery--editorial:has(>.gb-gallery-item:only-child){grid-template-columns:1fr;grid-auto-rows:auto}
.gb-gallery--editorial:has(>.gb-gallery-item:only-child) img{height:auto;aspect-ratio:16/9}
:is(.article-body,.editor-styles-wrapper) .gb-gallery--strip{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px;overscroll-behavior-inline:contain}
.gb-gallery--strip>.gb-gallery-item{flex:0 0 72%;scroll-snap-align:start}
:is(.article-body,.editor-styles-wrapper) .gb-gallery--masonry{display:block;columns:2;column-gap:16px}
.gb-gallery--masonry>.gb-gallery-item{break-inside:avoid;margin-bottom:16px}
.gb-gallery--masonry img{aspect-ratio:var(--gbx-image-ratio,4/3);height:auto}
:is(.article-body,.editor-styles-wrapper) .gb-gallery[data-fit=contain] img{object-fit:contain;background:var(--surface)}
.gb-table-wrap{clear:both;scrollbar-width:thin}
:is(.article-body,.editor-styles-wrapper) .gb-table caption{padding:14px 16px;line-height:1.6;text-align:start}
.gb-code{clear:both}.gb-code pre{overflow:auto}.gb-sources{clear:both}.gb-audio audio{width:100%;min-width:0}
:is(.article-body,.editor-styles-wrapper) .gb-audio .gb-audio-title{font-size:1.1em!important;margin:0 0 18px!important}
:is(.article-body,.editor-styles-wrapper) .gb-audio .eyebrow{font-size:12px;line-height:1.5;margin:0 0 12px}
:is(.article-body,.editor-styles-wrapper) .gb-component-label{display:block;clear:both;font:600 12px/1.5 var(--gbx-ui-font,Archivo,sans-serif);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:30px 0 10px}
.gb-component-group{display:flow-root;margin-block:32px}
.gb-component-actions{display:flex;flex-wrap:wrap;gap:12px}
/* Gutenberg's native controls use the same geometry as the shortcodes. */
:is(.article-body,.editor-styles-wrapper) .wp-block-gallery:is(.is-style-gb-two,.is-style-gb-three,.is-style-gb-editorial){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-block:28px}
:is(.article-body,.editor-styles-wrapper) .wp-block-gallery.is-style-gb-three{grid-template-columns:repeat(3,minmax(0,1fr))}
:is(.article-body,.editor-styles-wrapper) .wp-block-gallery:is(.is-style-gb-two,.is-style-gb-three,.is-style-gb-editorial,.is-style-gb-strip)>figure.wp-block-image{width:100%!important;min-width:0;margin:0!important;flex:none;display:block}
.wp-block-gallery:is(.is-style-gb-two,.is-style-gb-three,.is-style-gb-editorial,.is-style-gb-strip)>figure.wp-block-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;filter:none}
:is(.article-body,.editor-styles-wrapper) .wp-block-gallery:is(.is-style-gb-two,.is-style-gb-three,.is-style-gb-editorial,.is-style-gb-strip)>figure.wp-block-image figcaption{position:static;background:none;color:var(--muted);padding:0;margin:10px 0 0;max-height:none;font-size:var(--gbx-caption-size,14px)}
.wp-block-gallery.is-style-gb-editorial>figure.wp-block-image:first-child{grid-column:1/-1;grid-row:auto}
.wp-block-gallery.is-style-gb-editorial>figure.wp-block-image:first-child img{aspect-ratio:16/9}
:is(.article-body,.editor-styles-wrapper) .wp-block-gallery.is-style-gb-strip{display:flex;gap:16px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:16px}
:is(.article-body,.editor-styles-wrapper) .wp-block-gallery.is-style-gb-strip>figure.wp-block-image{flex:0 0 80%;width:80%!important}
:is(.article-body,.editor-styles-wrapper) .wp-block-quote.is-style-gb-editorial{border:1px solid var(--line)!important;border-inline-start:4px solid var(--accent)!important;background:var(--surface);padding:28px!important;margin-block:32px!important}
:is(.article-body,.editor-styles-wrapper) .wp-block-quote.is-style-gb-editorial p{font-size:1.35em!important;line-height:1.55!important;margin-bottom:0}
:is(.article-body,.editor-styles-wrapper) .wp-block-quote.is-style-gb-editorial cite{display:block;font-size:var(--gbx-caption-size,14px)!important;margin-top:18px;font-style:normal}
:is(.article-body,.editor-styles-wrapper) :is(.is-style-gb-context,.is-style-gb-takeaway) :is(h2,h3){font-size:1.06em!important;margin:0 0 .6em!important}
:is(.article-body,.editor-styles-wrapper) :is(.is-style-gb-context,.is-style-gb-takeaway)>:last-child{margin-bottom:0}
@media(max-width:700px){
 :is(.article-body,.editor-styles-wrapper) :is(.gb-image--left,.gb-image--right){float:none;width:100%;margin:24px 0}
 :is(.article-body,.editor-styles-wrapper) :is(.gb-callout,.gb-note,.gb-evidence,.gb-key-takeaways,.gb-quote){padding:20px!important}
 :is(.article-body,.editor-styles-wrapper) .gb-comparison{grid-template-columns:1fr}
 .gb-comparison>section+section{padding:20px 0 0;border-inline-start:0;border-top:1px solid var(--line)}
 :is(.article-body,.editor-styles-wrapper) .gb-evidence dl{grid-template-columns:1fr;gap:6px}
 .gb-evidence dd{margin-bottom:14px}
 :is(.article-body,.editor-styles-wrapper) .gb-gallery{gap:10px}
 :is(.article-body,.editor-styles-wrapper) .gb-gallery--three{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gb-gallery--three>.gb-gallery-item:last-child:nth-child(odd){grid-column:1/-1}
 :is(.article-body,.editor-styles-wrapper) .gb-gallery--editorial{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}
 .gb-gallery--editorial>.gb-gallery-item:first-child{grid-column:1/-1;grid-row:auto}
 .gb-gallery--editorial>.gb-gallery-item img{height:auto;aspect-ratio:4/3}
 .gb-gallery--editorial>.gb-gallery-item:first-child img{aspect-ratio:16/9}
 .gb-gallery--editorial>.gb-gallery-item:first-child img{position:static}
 .gb-gallery--strip>.gb-gallery-item{flex-basis:86%}
 :is(.article-body,.editor-styles-wrapper) .wp-block-gallery.is-style-gb-three{grid-template-columns:repeat(2,minmax(0,1fr))}
 :is(.article-body,.editor-styles-wrapper) .wp-block-gallery:is(.is-style-gb-two,.is-style-gb-three,.is-style-gb-editorial){gap:10px}
}
[dir=rtl] .gb-steps>li{padding-left:0;padding-right:58px}[dir=rtl] .gb-steps>li:before{left:auto;right:0}[dir=rtl] .gb-steps>li:after{left:auto;right:17px}
@media print{.gb-gallery--strip{display:grid!important;grid-template-columns:1fr 1fr!important;overflow:visible!important}.gb-details>div{display:block}.gb-quote .quiet-button,.gb-code .quiet-button{display:none}}

/* Pair only a compact image and its following paragraph; leave galleries intact. */
:is(.article-body,.editor-styles-wrapper) .gb-media-flow{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;align-items:start;clear:both;margin-block:32px}
:is(.article-body,.editor-styles-wrapper) .gb-media-flow>figure,:is(.article-body,.editor-styles-wrapper) .gb-media-flow>p{float:none!important;width:auto!important;min-width:0;margin:0!important}
.gb-media-flow img{display:block;width:100%;height:auto;object-fit:contain;filter:none}.gb-media-flow-copy{min-width:0}.gb-media-flow-copy>p:first-child{margin-top:0}.gb-media-flow--right>figure{order:2}
.gb-showcase-intro{border-block:2px solid var(--ink);padding:24px 0;margin:24px 0 36px}.gb-showcase-section{clear:both;padding-top:26px;margin-top:30px;border-top:1px solid var(--line)}.gb-showcase-label{display:block;font:700 12px/1.5 monospace;color:var(--accent);letter-spacing:.07em;margin-bottom:10px}.gb-showcase-section>h2{margin-top:0!important}.gb-showcase-section>.gb-small{margin-bottom:24px}.gbx-rail-toc{max-height:65vh;overflow:auto}
@media(max-width:560px){:is(.article-body,.editor-styles-wrapper) .gb-media-flow{grid-template-columns:minmax(0,1fr);gap:18px}.gb-media-flow--right>figure{order:0}.gb-media-flow>figure{max-width:400px}}
