/* ==========================================================================
   The Brew List — "Light Roast"
   Paper / Stone / Charcoal + one Tangerine accent. Bricolage Grotesque + IBM Plex Mono.
   Rule of the system: any orange FILL behind text uses Burnt #D2410C with white text
   (4.66:1; hover #B23508, 6.17:1). Tangerine #FF5A1F is for accents only: logo dot,
   rules, markers, illustrations, big headline accent words.
   ========================================================================== */

:root {
	--bl-paper: var(--wp--preset--color--paper, #FAF9F6);
	--bl-stone: var(--wp--preset--color--stone, #ECE8E1);
	--bl-ink: var(--wp--preset--color--charcoal, #161616);
	--bl-orange: var(--wp--preset--color--tangerine, #FF5A1F);
	--bl-burnt: var(--wp--preset--color--burnt, #D2410C);
	--bl-burnt-dark: var(--wp--preset--color--burnt-dark, #B23508);
	--bl-sage: var(--wp--preset--color--sage, #C9D3BF);
	--bl-grey: var(--wp--preset--color--warm-grey, #85827B);
	--bl-muted: var(--wp--preset--color--muted, #64615A);
	--bl-line: var(--wp--preset--color--line, #DDD8CF);
	--bl-body2: #4A4842;
	--bl-mono: var(--wp--preset--font-family--plex-mono, "IBM Plex Mono", monospace);
	--bl-r-s: 14px;
	--bl-r-m: 22px;
	--bl-r-l: 28px;
	--bl-shadow: 0 10px 30px rgba(22, 22, 22, .08);
	--bl-section: clamp(56px, 8vw, 96px);
}

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 24px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { font-optical-sizing: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; overflow-x: clip; }
::selection { background: var(--bl-burnt); color: #fff; }
img { height: auto; max-width: 100%; }
.wp-site-blocks { padding-top: 0; padding-bottom: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.bl-main { margin-block-start: 0 !important; }

/* Links: ink text, tangerine underline */
a { text-decoration-thickness: 1.5px; text-underline-offset: .18em; text-decoration-color: var(--bl-orange); }
a:hover { text-decoration-thickness: 2.5px; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--bl-burnt); outline-offset: 3px; border-radius: 4px;
}
.bl-news :where(a, button, input):focus-visible { outline-color: var(--bl-paper); }

.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.bl-skip { position: absolute; left: 12px; top: -60px; z-index: 1000; background: var(--bl-ink); color: var(--bl-paper); padding: 10px 16px; border-radius: 999px; font-weight: 600; text-decoration: none; }
.bl-skip:focus { top: 12px; }

/* ---------- Primitives ---------- */
.is-style-label, p.is-style-label {
	font-family: var(--bl-mono); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase;
	color: var(--bl-muted); line-height: 1.5; margin: 0;
}
.bl-dot::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--bl-orange); margin-right: 9px; vertical-align: 1px; }
.bl-accent { color: var(--bl-orange); }

/* Buttons */
.wp-block-button__link { transition: background-color .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease; display: inline-flex; align-items: center; justify-content: center; gap: .5em; white-space: nowrap; }
.wp-block-button__link:active { transform: translateY(1px); }
.wp-block-button.is-style-check-price .wp-block-button__link {
	background: var(--bl-burnt); color: #fff; font-weight: 650;
}
.wp-block-button.is-style-check-price .wp-block-button__link::after {
	content: "↗"; font-weight: 500; transition: transform .15s ease; display: inline-block;
}
.wp-block-button.is-style-check-price .wp-block-button__link:hover { background: var(--bl-burnt-dark); color: #fff; }
.wp-block-button.is-style-check-price .wp-block-button__link:hover::after { transform: translate(2px, -2px); }
.wp-block-button.is-style-check-price.bl-no-arrow .wp-block-button__link::after { content: none; }
.wp-block-button.is-style-ghost .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent; color: var(--bl-ink); box-shadow: inset 0 0 0 1.5px var(--bl-ink);
}
.wp-block-button.is-style-ghost .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--bl-ink); color: var(--bl-paper); }
.bl-btn-sm .wp-block-button__link { padding: .7rem 1.2rem; font-size: .9375rem; }

/* ---------- Header ---------- */
.bl-header { border-bottom: 1px solid var(--bl-line); background: var(--bl-paper); position: relative; z-index: 20; }
.bl-header__row { min-height: 64px; gap: 16px; }
.bl-logo { display: inline-flex; align-items: center; gap: 9px; text-decoration: none; color: var(--bl-ink); font-weight: 800; font-size: 24px; letter-spacing: -.045em; line-height: 1; }
.bl-logo__word b { color: var(--bl-orange); font-weight: 800; }
.bl-logo__mark { width: 28px; height: 28px; border-radius: 50%; border: 4px solid var(--bl-ink); display: inline-grid; place-items: center; flex: none; box-sizing: border-box; }
.bl-logo__mark::after { content: ""; width: calc(100% - 8px); height: calc(100% - 8px); border-radius: 50%; background: var(--bl-orange); }
.bl-logo:hover { text-decoration: none; }
.bl-logo:hover .bl-logo__mark::after { transform: scale(.85); transition: transform .2s ease; }

.bl-nav .wp-block-navigation-item__content { padding: 9px 16px; border-radius: 999px; text-decoration: none; transition: background-color .15s ease; }
.bl-nav .wp-block-navigation-item__content:hover { background: var(--bl-stone); text-decoration: none; }
.bl-nav .current-menu-item > .wp-block-navigation-item__content,
.bl-nav .wp-block-navigation-item__content[aria-current="page"] { background: var(--bl-ink); color: var(--bl-paper); }
.bl-nav .is-deals > .wp-block-navigation-item__content::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--bl-orange); margin-right: 8px; vertical-align: 1px; box-shadow: 0 0 0 3px rgba(255, 90, 31, .18); }
.bl-nav .wp-block-navigation__container { gap: 4px; }
.bl-nav .is-deals > .wp-block-navigation-item__content { display: inline-flex; align-items: center; }
.bl-nav .wp-block-navigation__responsive-container-open { width: 42px; height: 42px; border: 1px solid var(--bl-line); border-radius: 50%; align-items: center; justify-content: center; }
.bl-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--bl-paper); padding: 24px clamp(18px, 4vw, 48px); }
.bl-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; }
.bl-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--bl-line); }
.bl-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 2rem; font-weight: 700; letter-spacing: -.04em; padding: 14px 0; border-radius: 0; width: 100%; }
.bl-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover { background: none; }
.bl-nav .wp-block-navigation__responsive-container-close { width: 42px; height: 42px; border: 1px solid var(--bl-line); border-radius: 50%; display: grid; place-items: center; top: 12px; right: 0; }

.bl-header__actions { gap: 10px; }
.bl-header__cta { display: none !important; }
.bl-search .wp-block-search__inside-wrapper { border: 0; padding: 0; }
.bl-search .wp-block-search__button { width: 42px; height: 42px; padding: 0; margin: 0; border-radius: 50%; border: 1px solid var(--bl-line); background: transparent; color: var(--bl-ink); display: grid; place-items: center; }
.bl-search .wp-block-search__button:hover { background: var(--bl-stone); }
.bl-search .wp-block-search__button svg { width: 22px; height: 22px; fill: currentColor; }
.bl-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input { border: 1.5px solid var(--bl-line); border-radius: 999px; padding: 9px 16px; font: inherit; font-size: .9375rem; background: #fff; min-width: 180px; }
.bl-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__inside-wrapper { gap: 6px; }

/* ---------- Sections ---------- */
.bl-section { margin-block-start: var(--bl-section) !important; }
.bl-shead { margin-bottom: clamp(24px, 3vw, 36px); gap: 12px 20px; align-items: flex-end; }
.bl-shead h2 { margin: 10px 0 0; }
.bl-more { margin: 0; }
.bl-more a { font-weight: 600; text-decoration: none; border-bottom: 2px solid var(--bl-orange); padding-bottom: 2px; white-space: nowrap; }
.bl-more a:hover { border-bottom-color: var(--bl-ink); }
.bl-note { font-family: var(--bl-mono); font-size: .75rem; color: var(--bl-muted); margin-top: 16px; }
.bl-empty { padding: 32px; border: 1px dashed var(--bl-line); border-radius: var(--bl-r-m); color: var(--bl-muted); text-align: center; }

/* ---------- Hero ---------- */
.bl-hero { display: grid; grid-template-columns: 1fr; gap: 32px; padding: 36px 0 44px; align-items: center; }
.bl-hero > * { margin: 0 !important; }
.bl-hero__title { font-size: clamp(3.25rem, 1.2rem + 6.2vw, 6rem); line-height: .92; letter-spacing: -.055em; margin-block: 22px 26px !important; font-weight: 700; }
.bl-hero__lead { font-size: clamp(1.0625rem, .95rem + .45vw, 1.25rem); color: var(--bl-body2); max-width: 32em; margin: 0; }
.bl-hero__ctas { margin-top: 30px !important; gap: 12px; }
.bl-stats { list-style: none; padding: 22px 0 0; margin: 32px 0 0; border-top: 1px solid var(--bl-line); display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 18px clamp(22px, 4vw, 40px); }
.bl-stats li { font-family: var(--bl-mono); font-size: .75rem; color: var(--bl-muted); line-height: 1.3; }
.bl-stats strong { display: block; font-family: var(--wp--preset--font-family--bricolage); font-size: clamp(1.625rem, 1.2rem + 1.2vw, 2.125rem); letter-spacing: -.04em; font-weight: 700; color: var(--bl-ink); line-height: 1; margin-bottom: 6px; }
.bl-hero__art { position: relative; aspect-ratio: 1 / 1; border-radius: var(--bl-r-l); overflow: hidden; background: var(--bl-stone); }
.bl-hero__img, .bl-hero__img img { position: absolute; inset: 0; width: 100%; height: 100% !important; margin: 0 !important; object-fit: cover; }
.bl-chip { position: absolute; margin: 0 !important; background: var(--bl-paper); border-radius: var(--bl-r-s); padding: 11px 15px; box-shadow: var(--bl-shadow); font-size: .875rem; line-height: 1.3; max-width: calc(100% - 32px); }
.bl-chip strong { display: block; font-size: 1.0625rem; letter-spacing: -.02em; }
.bl-chip a { text-decoration: none; }
.bl-chip a:hover strong { text-decoration: underline; text-decoration-color: var(--bl-orange); }
.bl-chip__label { display: block; font-family: var(--bl-mono); font-size: .65625rem; letter-spacing: .06em; text-transform: uppercase; color: var(--bl-muted); margin-bottom: 2px; }
.bl-chip--a { left: 16px; top: 16px; }
.bl-chip--b { right: 16px; bottom: 16px; padding-left: 64px; }
.bl-chip--b::before { content: ""; position: absolute; left: 13px; top: 50%; translate: 0 -50%; width: 38px; height: 38px; border-radius: 50%; border: 6px solid var(--bl-ink); box-sizing: border-box; background: radial-gradient(circle, var(--bl-orange) 0 46%, transparent 47%); }

/* ---------- Category strip ---------- */
.bl-cats { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--bl-line); border-bottom: 1px solid var(--bl-line); margin-block-start: 0 !important; }
.bl-cats__item { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 16px 18px; font-weight: 600; font-size: 1rem; letter-spacing: -.02em; text-decoration: none; border-right: 1px solid var(--bl-line); border-bottom: 1px solid var(--bl-line); transition: background-color .15s ease; }
.bl-cats__item:nth-child(2n) { border-right: 0; }
.bl-cats__item span { font-family: var(--bl-mono); font-size: .75rem; font-weight: 400; color: var(--bl-muted); letter-spacing: 0; }
.bl-cats__item:hover { background: var(--bl-stone); text-decoration: none; }
.bl-cats__item.is-deals { grid-column: 1 / -1; background: var(--bl-burnt); color: #fff; border: 0; }
.bl-cats__item.is-deals span { color: #fff; }
.bl-cats__item.is-deals:hover { background: var(--bl-burnt-dark); color: #fff; }
.bl-cats__item.is-deals:hover span { color: #fff; }

/* ---------- Bento ---------- */
.bl-bento { display: grid; grid-template-columns: 1fr; gap: 14px; }
.bl-tile { position: relative; overflow: hidden; border-radius: 24px; padding: 24px; min-height: 270px; display: flex; flex-direction: column; justify-content: flex-end; isolation: isolate; transition: transform .2s ease, box-shadow .2s ease; }
.bl-tile:hover { transform: translateY(-3px); box-shadow: var(--bl-shadow); }
.bl-tile:focus-within { outline: 2px solid var(--bl-burnt); outline-offset: 3px; }
.bl-tile__ill { position: absolute; z-index: -1; right: -8px; top: -12px; width: 170px; height: 170px; pointer-events: none; transition: transform .3s ease; }
.bl-tile:hover .bl-tile__ill { transform: translateY(-4px) rotate(-2deg); }
.bl-tile__count { position: absolute; top: 22px; left: 24px; font-family: var(--bl-mono); font-size: .75rem; border: 1px solid currentColor; border-radius: 999px; padding: 3px 10px; opacity: .85; }
.bl-tile__label { font-family: var(--bl-mono); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; margin: 0; color: inherit; opacity: .78; }
.bl-tile__title { font-size: 1.75rem; line-height: 1.05; letter-spacing: -.035em; margin: 8px 0 0; max-width: 13em; }
.bl-tile__title a { text-decoration: none; color: inherit; }
.bl-tile__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.bl-tile__title a:focus-visible { outline: none; }
.bl-tile__desc { font-size: .9375rem; margin: 8px 0 0; max-width: 22em; }
.bl-tile--big { background: var(--bl-ink); color: var(--bl-paper); min-height: 440px; }
.bl-tile--big .bl-tile__ill { inset: 0 0 auto auto; width: 100%; height: 66%; right: 0; top: 0; object-fit: cover; object-position: top right; }
.bl-tile--big .bl-tile__title { font-size: clamp(2rem, 1.3rem + 2vw, 2.75rem); }
.bl-tile--big .bl-tile__label { color: #B9B4AA; opacity: 1; }
.bl-tile--big .bl-tile__count { left: auto; right: 24px; background: var(--bl-ink); opacity: 1; border-color: var(--bl-ink); }
.bl-tile--sage { background: var(--bl-sage); }
.bl-tile--stone { background: var(--bl-stone); }
.bl-tile--orange { background: var(--bl-burnt); color: #fff; }
.bl-tile--orange .bl-tile__label, .bl-tile--orange .bl-tile__count { opacity: 1; }
.bl-tile--white { background: #fff; box-shadow: inset 0 0 0 1px var(--bl-line); }

/* ---------- Post cards ---------- */
.bl-cards { display: grid !important; grid-template-columns: 1fr; gap: 14px; list-style: none; padding: 0; margin: 0; }
.bl-cards > li { margin: 0 !important; display: flex; }
.bl-card { background: #fff; border: 1px solid var(--bl-line); border-radius: var(--bl-r-m); padding: 12px; display: flex; flex-direction: column; width: 100%; position: relative; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.bl-card:hover { transform: translateY(-3px); box-shadow: var(--bl-shadow); border-color: #cfc9bd; }
.bl-card > * { margin: 0 !important; }
.bl-card__img { border-radius: var(--bl-r-s); overflow: hidden; background: var(--bl-stone); margin-bottom: 14px !important; }
.bl-card__img img { border-radius: var(--bl-r-s); transition: transform .4s ease; }
.bl-card:hover .bl-card__img img { transform: scale(1.03); }
/* No featured image: stone placeholder with the cup-ring mark */
.bl-card:not(:has(.bl-card__img))::before { content: ""; display: block; aspect-ratio: 16 / 9; border-radius: var(--bl-r-s); margin-bottom: 14px; background: radial-gradient(circle at 50% 50%, var(--bl-orange) 0 9%, transparent 9.4%), radial-gradient(circle at 50% 50%, transparent 0 13%, var(--bl-ink) 13.4% 18%, transparent 18.4%), var(--bl-stone); }
.wp-block-post.category-espresso .bl-card:not(:has(.bl-card__img))::before { background: url(../img/machine.svg) center / auto 78% no-repeat, var(--bl-stone); }
.wp-block-post.category-grinders .bl-card:not(:has(.bl-card__img))::before { background: url(../img/grinder.svg) center / auto 78% no-repeat, var(--bl-sage); }
.wp-block-post.category-brewing .bl-card:not(:has(.bl-card__img))::before { background: url(../img/dripper.svg) center / auto 78% no-repeat, var(--bl-stone); }
.wp-block-post.category-beans .bl-card:not(:has(.bl-card__img))::before { background: url(../img/beans.svg) center / auto 78% no-repeat, var(--bl-sage); }
.wp-block-post.category-deals .bl-card:not(:has(.bl-card__img))::before { background: url(../img/kettle.svg) center / auto 78% no-repeat, var(--bl-orange); }
.bl-card__body { display: flex; flex-direction: column; flex: 1; padding: 0 6px 6px; }
.bl-card__body > * { margin: 0 !important; }
.bl-card__cat { font-family: var(--bl-mono); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; color: var(--bl-muted); position: relative; z-index: 2; }
.bl-card__cat a { text-decoration: none; }
.bl-card__cat a:hover { text-decoration: underline; }
.bl-card__title { font-size: 1.3125rem; line-height: 1.15; letter-spacing: -.03em; margin-block: 6px 10px !important; }
.bl-card__title a { text-decoration: none; }
.bl-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: var(--bl-r-m); }
.bl-card__excerpt { font-size: .9375rem; color: var(--bl-body2); line-height: 1.5; }
.bl-card__excerpt p { margin: 0; }
.bl-card__foot { margin-top: auto !important; padding-top: 16px; border-top: 1px solid var(--bl-line); margin-block-start: 16px !important; gap: 8px; }
.bl-card__date { font-family: var(--bl-mono); font-size: .75rem; color: var(--bl-muted); }
.bl-card__more { font-weight: 600; font-size: .875rem; text-decoration: none; background: var(--bl-ink); color: var(--bl-paper) !important; border-radius: 999px; padding: 8px 14px; position: relative; z-index: 2; white-space: nowrap; }
.bl-card__more::after { content: " →"; }
.bl-card__more:hover { background: var(--bl-burnt); color: #fff !important; text-decoration: none; }

/* ---------- Trust ---------- */
.bl-principles { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; border-top: 1px solid var(--bl-ink); }
.bl-principle { padding: 24px 0 0; margin: 0 !important; }
.bl-principle > * { margin: 0 !important; }
.bl-principle h3 { font-size: 1.25rem; letter-spacing: -.03em; margin-block: 10px 6px !important; }
.bl-principle p:not(.is-style-label) { font-size: .9375rem; color: #55534D; line-height: 1.5; }

/* ---------- Newsletter ---------- */
.bl-news { margin-block-start: var(--bl-section) !important; background: var(--bl-ink); color: var(--bl-paper); border-radius: 24px; padding: 32px 20px; display: grid; grid-template-columns: 1fr; gap: 28px; align-items: center; position: relative; overflow: hidden; isolation: isolate; }
.bl-news::before { content: ""; position: absolute; z-index: -1; width: 220px; height: 220px; border-radius: 50%; border: 34px solid var(--bl-orange); right: -110px; bottom: -110px; }
.bl-news > * { margin: 0 !important; }
.bl-news .is-style-label { color: #B9B4AA; }
.bl-news__copy > * { margin: 0; }
.bl-news__title { font-size: clamp(2.625rem, 1.6rem + 3vw, 4rem); line-height: .95; letter-spacing: -.05em; margin-block: 14px 18px !important; color: var(--bl-paper); }
.bl-news__lead { color: #C9C5BC; font-size: clamp(1.0625rem, 1rem + .3vw, 1.125rem); max-width: 31em; margin: 0; }
.bl-news__form { background: var(--bl-paper); color: var(--bl-ink); border-radius: var(--bl-r-m); padding: 24px; position: relative; }
.bl-news__formtitle { font-size: 1.25rem; font-weight: 700; letter-spacing: -.02em; margin: 0; }
.bl-news__form input[type="email"] { width: 100%; box-sizing: border-box; border: 1.5px solid var(--bl-line); border-radius: 999px; padding: 14px 20px; font: inherit; font-size: 1rem; margin: 14px 0 10px; background: #fff; color: var(--bl-ink); }
.bl-news__form input[type="email"]::placeholder { color: #8A867E; }
.bl-news__form input[type="email"]:focus-visible { outline: 2px solid var(--bl-burnt); outline-offset: 2px; border-color: var(--bl-ink); }
.bl-news__submit { width: 100%; border: 0; border-radius: 999px; padding: 15px; background: var(--bl-burnt); color: #fff; font: inherit; font-weight: 650; font-size: 1rem; cursor: pointer; transition: background-color .15s ease, color .15s ease; }
.bl-news__submit:hover { background: var(--bl-burnt-dark); color: #fff; }
.bl-news__submit:focus-visible { outline: 2px solid var(--bl-ink) !important; outline-offset: 3px; }
.bl-news__points { list-style: none; padding: 0; margin: 18px 0 0; font-size: .875rem; }
.bl-news__points li { display: flex; gap: 10px; padding: 4px 0; }
.bl-news__points li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--bl-orange); margin-top: 7px; flex: none; }
.bl-news__fine { font-family: var(--bl-mono); font-size: .6875rem; color: var(--bl-muted); margin: 14px 0 0; line-height: 1.5; }
.bl-news__fine a:focus-visible { outline-color: var(--bl-burnt); }

/* ---------- Footer ---------- */
.bl-footer { margin-top: var(--bl-section); border-top: 1px solid var(--bl-line); padding-top: 48px; padding-bottom: 28px; }
.bl-footer__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 24px; }
.bl-footer__grid > * { margin: 0 !important; }
.bl-footer__brand { grid-column: 1 / -1; }
.bl-footer__tagline { font-size: 1.0625rem; color: #55534D; margin: 14px 0 0; max-width: 21em; }
.bl-footer__h { font-family: var(--bl-mono); font-weight: 400; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--bl-muted); margin: 0 0 12px; }
.bl-footer__list { list-style: none; padding: 0; margin: 0; font-weight: 500; line-height: 2.1; }
.bl-footer__list a { text-decoration: none; }
.bl-footer__list a:hover { text-decoration: underline; }
.bl-bigword { font-size: clamp(4.75rem, 15vw, 13rem); font-weight: 800; letter-spacing: -.065em; line-height: .9; margin-block: 40px 0 !important; padding-bottom: 10px; color: var(--bl-stone); white-space: nowrap; overflow: hidden; user-select: none; }
.bl-bigword b { color: var(--bl-orange); font-weight: 800; }
.bl-footer__legal { display: flex; flex-direction: column; gap: 10px; padding-top: 22px; border-top: 1px solid var(--bl-line); margin-top: 0 !important; }
.bl-footer__legal p { font-family: var(--bl-mono); font-size: .75rem; color: var(--bl-muted); line-height: 1.65; margin: 0; max-width: 68em; }
.bl-footer__legal strong { color: var(--bl-ink); font-weight: 500; }
.bl-footer__copy { white-space: nowrap; }

/* ==========================================================================
   Single post
   ========================================================================== */
.bl-article-head { padding-top: clamp(32px, 6vw, 72px); }
.bl-article-head > * { margin-block: 0; }
.bl-article-kicker { gap: 8px; margin-bottom: 20px !important; }
.bl-pill { font-family: var(--bl-mono); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; margin: 0; line-height: 1; }
.bl-pill a, p.bl-pill { display: inline-block; padding: 7px 12px; border-radius: 999px; }
.bl-pill a { background: var(--bl-ink); color: var(--bl-paper); text-decoration: none; }
.bl-pill a:hover { background: var(--bl-burnt); color: #fff; }
.bl-pill .wp-block-post-terms__separator { display: none; }
.bl-pill a + a { margin-left: 6px; }
p.bl-pill--line { box-shadow: inset 0 0 0 1px var(--bl-line); color: var(--bl-muted); }
.bl-article-title { font-size: clamp(2.375rem, 1.4rem + 3.6vw, 4.5rem); line-height: .98; letter-spacing: -.05em; margin-block: 0 20px !important; }
.bl-article-dek { font-size: clamp(1.125rem, 1rem + .5vw, 1.375rem); line-height: 1.45; color: var(--bl-body2); margin-block: 0 22px !important; letter-spacing: -.01em; }
.bl-article-dek p { margin: 0; }
.bl-article-meta { gap: 6px 20px; padding: 14px 0; border-top: 1px solid var(--bl-line); border-bottom: 1px solid var(--bl-line); margin-block: 0 20px !important; }
.bl-article-meta > * { margin: 0 !important; color: var(--bl-muted); }
.bl-meta-published::before { content: "Published "; }
.bl-meta-updated::before { content: "· Updated "; }
.bl-meta-by { font-family: var(--bl-mono); font-size: .75rem; margin: 0; }
.bl-article-meta { font-family: var(--bl-mono); font-size: .75rem; }
.bl-disclosure { background: var(--bl-stone); border-radius: var(--bl-r-s); padding: 14px 18px 14px 50px; position: relative; margin-block: 0 !important; }
.bl-disclosure::before { content: "i"; position: absolute; left: 16px; top: 15px; width: 22px; height: 22px; border-radius: 50%; background: var(--bl-ink); color: var(--bl-paper); font-family: var(--bl-mono); font-size: .75rem; font-weight: 500; display: grid; place-items: center; }
.bl-disclosure p { font-size: .875rem; line-height: 1.55; margin: 0; color: #3A3833; }
.bl-disclosure strong { color: var(--bl-ink); }
.bl-article-hero { margin-top: clamp(28px, 4vw, 48px) !important; }
.bl-article-hero img { border-radius: var(--bl-r-l); }

/* Prose */
.bl-prose { margin-top: clamp(28px, 4vw, 48px) !important; font-size: clamp(1.0625rem, 1rem + .25vw, 1.1875rem); line-height: 1.68; }
.bl-prose > * + * { margin-block-start: 1.15em; }
.bl-prose > p, .bl-prose > ul, .bl-prose > ol { color: #26251F; }
.bl-prose h2 { font-size: clamp(1.875rem, 1.3rem + 1.8vw, 2.625rem); line-height: 1.05; letter-spacing: -.04em; margin-block-start: 2.1em; margin-bottom: .1em; scroll-margin-top: 24px; }
.bl-prose h2 + * { margin-block-start: .7em; }
.bl-prose h3 { font-size: clamp(1.375rem, 1.1rem + .8vw, 1.625rem); margin-block-start: 1.8em; scroll-margin-top: 24px; }
.bl-prose h4 { margin-block-start: 1.6em; }
.bl-prose :where(ul, ol):not([class*="is-style-"]):not(.bl-cards) { padding-left: 1.3em; }
.bl-prose :where(ul, ol):not([class*="is-style-"]) li { margin: .35em 0; padding-left: .2em; }
.bl-prose ul:not([class*="is-style-"]) > li::marker { color: var(--bl-orange); }
.bl-prose ol:not([class*="is-style-"]) > li::marker { font-family: var(--bl-mono); font-size: .85em; color: var(--bl-muted); }
.bl-prose strong { font-weight: 650; }
.bl-prose em { font-style: italic; }
.bl-prose hr, .bl-prose .wp-block-separator { border: 0; border-top: 1px solid var(--bl-line); margin: 2.5em 0; }
.bl-prose blockquote { margin-inline: 0; }
.bl-prose mark { background: #FFE3D6; color: var(--bl-ink); padding: .05em .3em; border-radius: 4px; font-family: var(--bl-mono); font-size: .78em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.bl-prose .is-style-label { margin-bottom: .4em; }
.bl-updated-line { font-family: var(--bl-mono); font-size: .8125rem !important; color: var(--bl-muted) !important; line-height: 1.55; }
.bl-updated-line em { font-style: normal; }

/* Tables (default + styles) */
.wp-block-table { margin-inline: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.wp-block-table table { border-collapse: collapse; width: 100%; font-size: .9375rem; line-height: 1.45; }
.wp-block-table th, .wp-block-table td { border: 0; border-bottom: 1px solid var(--bl-line); padding: 12px 14px; text-align: left; vertical-align: top; }
.wp-block-table thead, .wp-block-table tfoot { border: 0; }
.bl-prose > .wp-block-table.alignwide { max-width: min(1040px, 100%) !important; }
.wp-block-table thead th { font-family: var(--bl-mono); font-weight: 500; font-size: .71875rem; letter-spacing: .06em; text-transform: uppercase; color: var(--bl-muted); border-bottom: 1.5px solid var(--bl-ink); white-space: nowrap; background: transparent; }
.wp-block-table tfoot { border-top: 0; }
.wp-block-table figcaption { text-align: left; margin-top: 10px; }
.wp-block-table.is-style-stripes { border-bottom: 0; }
.bl-prose .wp-block-table:not(.is-style-specs) { background: #fff; border: 1px solid var(--bl-line); border-radius: var(--bl-r-m); padding: 6px 8px 4px; }
.bl-prose .wp-block-table:not(.is-style-specs) tbody tr:last-child :where(td, th) { border-bottom: 0; }
.bl-prose .wp-block-table:not(.is-style-specs) figcaption { padding: 0 14px 10px; }
.wp-block-table.is-style-comparison table { min-width: 680px; }
.wp-block-table.is-style-comparison td { min-width: 7.5em; }
.wp-block-table.is-style-comparison tbody td:first-child { font-weight: 650; letter-spacing: -.01em; white-space: nowrap; }
.wp-block-table.is-style-comparison tbody tr:hover { background: var(--bl-paper); }
.wp-block-table.is-style-specs { margin: 0; overflow: visible; }
.wp-block-table.is-style-specs table { font-family: var(--bl-mono); font-size: .75rem; border-top: 1px solid var(--bl-line); }
.wp-block-table.is-style-specs td { padding: 7px 0; }
.wp-block-table.is-style-specs td:first-child { color: var(--bl-muted); padding-right: 16px; }
.wp-block-table.is-style-specs td:last-child { text-align: right; }

/* Scroll hint for wide tables on small screens */
.wp-block-table.is-style-comparison { background-image: linear-gradient(to right, #fff 30%, rgba(255,255,255,0)), linear-gradient(to left, #fff 30%, rgba(255,255,255,0)), linear-gradient(to right, rgba(22,22,22,.12), rgba(22,22,22,0)), linear-gradient(to left, rgba(22,22,22,.12), rgba(22,22,22,0)); background-position: left center, right center, left center, right center; background-repeat: no-repeat; background-size: 32px 100%, 32px 100%, 12px 100%, 12px 100%; background-attachment: local, local, scroll, scroll; }

/* Short answer */
.bl-answer { background: var(--bl-sage); border-radius: var(--bl-r-m); padding: 22px 24px; }
.bl-answer > * { margin: 0 !important; }
.bl-answer > * + * { margin-top: 8px !important; }
.bl-answer .is-style-label { color: #3D4636; }
.bl-answer p:not(.is-style-label) { font-size: 1.125rem; line-height: 1.55; color: var(--bl-ink); }

/* Top picks */
.bl-toppicks { background: #fff; border: 1px solid var(--bl-line); border-radius: var(--bl-r-m); padding: 8px 20px; }
.bl-toppicks > * { margin: 0 !important; }
.bl-toppicks__head { padding: 16px 0 14px; border-bottom: 1.5px solid var(--bl-ink); align-items: baseline; gap: 8px 16px; }
.bl-toppicks__title { font-size: 1.625rem !important; margin: 0 !important; letter-spacing: -.035em; }
.bl-toppicks__row { display: grid; grid-template-columns: 1fr; gap: 8px; padding: 18px 0; border-bottom: 1px solid var(--bl-line); align-items: center; }
.bl-toppicks__cta { margin-top: 6px !important; }
.bl-toppicks__row:last-child { border-bottom: 0; }
.bl-toppicks__row > * { margin: 0 !important; }
.bl-toppicks__info > * { margin: 0 !important; }
.bl-toppicks__name { font-size: 1.25rem !important; margin-block: 0 4px !important; letter-spacing: -.03em; }
.bl-toppicks__why { font-size: .9375rem; color: var(--bl-body2); line-height: 1.45; }
.bl-toppicks__cta .wp-block-button__link { width: 100%; }
.bl-badge { display: inline-block; justify-self: start; align-self: start; width: max-content; font-family: var(--bl-mono); font-size: .6875rem; letter-spacing: .05em; text-transform: uppercase; background: var(--bl-stone); color: var(--bl-ink); border-radius: 999px; padding: 5px 10px; margin: 0; line-height: 1.2; }
.bl-badge.is-accent { background: var(--bl-burnt); color: #fff; }

/* Product card */
.bl-product { background: #fff; border: 1px solid var(--bl-line); border-radius: var(--bl-r-m); padding: 14px; display: grid; grid-template-columns: 1fr; gap: 18px; }
.bl-product > * { margin: 0 !important; }
.bl-product__media { position: relative; background: var(--bl-stone); border-radius: var(--bl-r-s); aspect-ratio: 4 / 3; display: grid; place-items: center; overflow: hidden; }
.bl-product__media > * { margin: 0 !important; }
.bl-product__img { width: 72%; height: 100%; display: grid; place-items: center; }
.bl-product__img img { width: 100%; height: 100%; object-fit: contain; }
.bl-product__media .bl-badge { position: absolute; top: 12px; left: 12px; background: var(--bl-paper); }
.bl-product__media .bl-badge.is-accent, .bl-product__media .bl-badge:first-child + .bl-badge { background: var(--bl-burnt); color: #fff; }
.bl-product__body { display: flex; flex-direction: column; padding: 0 6px 6px; }
.bl-product__body > * { margin: 0 !important; }
.bl-product__name { font-size: clamp(1.375rem, 1.2rem + .6vw, 1.625rem) !important; letter-spacing: -.035em; margin-block: 6px 10px !important; }
.bl-product__verdict { font-size: 1rem; line-height: 1.5; color: var(--bl-body2); margin-bottom: 16px !important; }
.bl-product .wp-block-table { margin-bottom: 18px !important; }
.bl-product__foot { margin-top: auto !important; gap: 12px; }
.bl-price { margin: 0; font-size: .8125rem; color: var(--bl-muted); line-height: 1.2; }
.bl-price span { display: block; font-family: var(--bl-mono); font-size: .6875rem; letter-spacing: .05em; text-transform: uppercase; }
.bl-price strong { display: block; color: var(--bl-ink); font-size: 1.25rem; letter-spacing: -.02em; margin-top: 3px; }
.bl-product__foot .wp-block-buttons { gap: 8px; }

/* Pros / cons */
.bl-proscons { display: grid; grid-template-columns: 1fr; gap: 12px; }
.bl-proscons > * { margin: 0 !important; }
.bl-proscons__col { border-radius: var(--bl-r-m); padding: 20px 22px; }
.bl-proscons__col > * { margin: 0 !important; }
.bl-proscons__col--pros { background: #EEF2EA; box-shadow: inset 0 0 0 1px #D5DDCC; }
.bl-proscons__col--cons { background: #fff; box-shadow: inset 0 0 0 1px var(--bl-line); }
.bl-proscons__title { font-family: var(--bl-mono); font-weight: 500; font-size: .75rem !important; letter-spacing: .06em !important; text-transform: uppercase; margin-bottom: 10px !important; }
ul.is-style-pros, ul.is-style-cons, ul.is-style-dots { list-style: none; padding: 0 !important; margin: 0; }
ul.is-style-pros li, ul.is-style-cons li, ul.is-style-dots li { position: relative; padding: 6px 0 6px 30px !important; margin: 0 !important; font-size: 1rem; line-height: 1.5; }
ul.is-style-pros li + li, ul.is-style-cons li + li { border-top: 1px solid rgba(22, 22, 22, .07); }
ul.is-style-pros li::before, ul.is-style-cons li::before { position: absolute; left: 0; top: 8px; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-family: var(--bl-mono); font-size: .875rem; font-weight: 500; line-height: 1; }
ul.is-style-pros li::before { content: "+"; background: var(--bl-ink); color: var(--bl-paper); }
ul.is-style-cons li::before { content: "–"; background: var(--bl-stone); color: var(--bl-ink); box-shadow: inset 0 0 0 1px var(--bl-line); }
ul.is-style-dots li::before { content: ""; position: absolute; left: 6px; top: 15px; width: 8px; height: 8px; border-radius: 50%; background: var(--bl-orange); }

/* Who it's for + buy row */
.bl-whofor { border-left: 3px solid var(--bl-orange); padding-left: 16px; }
.bl-prose > .is-style-label { margin-block-start: 1.75em; }
.bl-prose > .is-style-label + .wp-block-buttons { margin-block-start: .6em; }
.bl-buy { gap: 10px; }
.bl-buy .wp-block-button__link { padding: .85rem 1.4rem; }

/* FAQ (Details) */
.wp-block-details { border-top: 1px solid var(--bl-line); padding: 0; }
.wp-block-details + .wp-block-details { margin-block-start: 0 !important; }
.wp-block-details:last-of-type { border-bottom: 1px solid var(--bl-line); }
.wp-block-details summary { list-style: none; cursor: pointer; padding: 18px 44px 18px 0; position: relative; font-weight: 650; font-size: 1.125rem; letter-spacing: -.02em; line-height: 1.35; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: 0; top: 50%; translate: 0 -50%; width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--bl-line); display: grid; place-items: center; font-family: var(--bl-mono); font-weight: 400; font-size: 1.125rem; transition: transform .2s ease, background-color .2s ease; }
.wp-block-details[open] summary::after { content: "–"; background: var(--bl-ink); color: var(--bl-paper); border-color: var(--bl-ink); }
.wp-block-details summary:hover::after { border-color: var(--bl-ink); }
.wp-block-details > :not(summary) { margin: 0 0 18px; color: var(--bl-body2); }

/* End of article */
.bl-article-end { margin-top: clamp(40px, 6vw, 64px) !important; }
.bl-tags { font-family: var(--bl-mono); font-size: .75rem; color: var(--bl-muted); margin-bottom: 16px; }
.bl-method { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: start; border-top: 1.5px solid var(--bl-ink); padding-top: 22px; }
.bl-method > * { margin: 0 !important; }
.bl-method .bl-logo__mark { margin-top: 2px; }
.bl-method p { margin: 0; font-size: .9375rem; line-height: 1.55; color: var(--bl-body2); }
.bl-method p + p { margin-top: 6px; }

/* ==========================================================================
   Page / listing / 404
   ========================================================================== */
.bl-page-head { padding-top: clamp(40px, 7vw, 88px); }
.bl-page-title { font-size: clamp(2.625rem, 1.6rem + 4vw, 5rem); line-height: .95; letter-spacing: -.055em; margin-block: 0 !important; }
.bl-page-title::after { content: "."; color: var(--bl-orange); }
.bl-page .bl-prose { margin-top: clamp(28px, 4vw, 44px) !important; }
.bl-page .bl-prose h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); margin-block-start: 1.8em; }

.bl-listing-head { padding: clamp(40px, 7vw, 80px) 0 clamp(28px, 4vw, 44px); border-bottom: 1px solid var(--bl-line); margin-bottom: clamp(28px, 4vw, 44px) !important; }
.bl-listing-head > * { margin: 0 !important; }
.bl-listing-title { font-size: clamp(2.625rem, 1.4rem + 5vw, 6rem) !important; line-height: .92; letter-spacing: -.055em; margin-block: 14px 0 !important; }
.bl-listing-desc { font-size: 1.125rem; color: var(--bl-body2); max-width: 36em; margin-top: 16px !important; }
.bl-pagination { margin-top: 40px !important; font-family: var(--bl-mono); font-size: .875rem; gap: 8px; }
.bl-pagination a, .bl-pagination .current { text-decoration: none; padding: 8px 14px; border-radius: 999px; }
.bl-pagination .current { background: var(--bl-ink); color: var(--bl-paper); }
.bl-search-big { margin-top: 24px !important; max-width: 560px; }
.bl-search-big .wp-block-search__inside-wrapper { border: 1.5px solid var(--bl-line); background: #fff; border-radius: 999px; padding: 5px; }
.bl-search-big .wp-block-search__input { border: 0; background: transparent; padding: 10px 16px; font: inherit; font-size: 1rem; }
.bl-search-big .wp-block-search__input:focus-visible { outline: none; }
.bl-search-big .wp-block-search__inside-wrapper:focus-within { border-color: var(--bl-ink); outline: 2px solid var(--bl-burnt); outline-offset: 2px; }
.bl-search-big .wp-block-search__button { border-radius: 999px; margin: 0; padding: 10px 20px; background: var(--bl-ink); color: var(--bl-paper); font-weight: 600; border: 0; }

.bl-404 { padding-top: clamp(56px, 10vw, 120px); }
.bl-404__title { font-size: clamp(3.25rem, 1.5rem + 6.5vw, 7rem); line-height: .9; letter-spacing: -.06em; margin-block: 16px 20px !important; }
.bl-404__lead { font-size: 1.1875rem; color: var(--bl-body2); max-width: 30em; }
.bl-404__links { margin-top: 28px !important; gap: 10px; }

/* Contact form placeholder (pages) */
.bl-form { display: grid; gap: 14px; background: #fff; border: 1px solid var(--bl-line); border-radius: var(--bl-r-m); padding: 22px; }
.bl-form label { font-family: var(--bl-mono); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; color: var(--bl-muted); display: block; margin-bottom: 6px; }
.bl-form input, .bl-form textarea, .bl-form select { width: 100%; box-sizing: border-box; border: 1.5px solid var(--bl-line); border-radius: 14px; padding: 12px 16px; font: inherit; font-size: 1rem; background: var(--bl-paper); color: var(--bl-ink); }
.bl-form textarea { min-height: 160px; resize: vertical; }
.bl-form input:focus-visible, .bl-form textarea:focus-visible { border-color: var(--bl-ink); }
.bl-form button { justify-self: start; border: 0; border-radius: 999px; padding: 14px 24px; background: var(--bl-ink); color: var(--bl-paper); font: inherit; font-weight: 600; cursor: pointer; }
.bl-form button:hover { background: var(--bl-burnt); color: #fff; }
.bl-owner-note { background: #FFE3D6; border-radius: var(--bl-r-s); padding: 14px 18px; font-family: var(--bl-mono); font-size: .8125rem; line-height: 1.55; }

@media (max-width: 599px) {
	.bl-header__actions { margin-left: auto; }
	.bl-header__row > .bl-nav { order: 3; }
	.bl-header__row { gap: 8px; }
	.bl-card { display: grid; grid-template-columns: 96px 1fr; gap: 0 14px; padding: 10px; align-items: start; }
	.bl-card::before { grid-row: 1 / 3; aspect-ratio: 1 / 1 !important; margin: 0 !important; border-radius: 12px !important; }
	.bl-card .bl-card__img { grid-row: 1 / 3; margin: 0 !important; }
	.bl-card .bl-card__img img { aspect-ratio: 1 / 1 !important; }
	.bl-card__body { padding: 2px 4px 2px 0; }
	.bl-card__title { font-size: 1.0625rem; margin-block: 4px 6px !important; }
	.bl-card__excerpt { display: none; }
	.bl-card__foot { border-top: 0; padding-top: 0; margin-block-start: 2px !important; }
	.bl-card__more { display: none; }
	.bl-stats strong { font-size: 1.625rem; }
}

/* ==========================================================================
   ≥ 600px
   ========================================================================== */
@media (min-width: 600px) {
	.bl-cards { grid-template-columns: repeat(2, 1fr); gap: 20px; }
	.bl-proscons { grid-template-columns: 1fr 1fr; }
	.bl-toppicks__row { grid-template-columns: 1fr auto; grid-template-areas: "badge cta" "info cta"; gap: 6px 24px; }
	.bl-toppicks__row > .bl-badge { grid-area: badge; }
	.bl-toppicks__row > .bl-toppicks__info { grid-area: info; }
	.bl-toppicks__row > .bl-toppicks__cta { grid-area: cta; margin-top: 0 !important; }
	.bl-toppicks__cta .wp-block-button__link { min-width: 15.5rem; }
	.bl-toppicks__cta .wp-block-button__link { width: auto; }
	.bl-news { padding: 48px 40px; }
	.bl-footer__legal { flex-direction: row; justify-content: space-between; gap: 40px; }
}

/* ==========================================================================
   ≥ 782px (tablet / desktop)
   ========================================================================== */
@media (min-width: 782px) {
	.bl-header__row { min-height: 84px; }
	.bl-logo { font-size: 30px; gap: 10px; }
	.bl-logo__mark { width: 34px; height: 34px; border-width: 5px; }
	.bl-logo__mark::after { width: calc(100% - 10px); height: calc(100% - 10px); }
	.bl-header__cta { display: flex !important; }

	.bl-hero { grid-template-columns: 1.15fr 1fr; gap: 40px; padding: 72px 0 80px; }
	.bl-stats { margin-top: 52px; }
	.bl-chip--a { left: 24px; top: 24px; }
	.bl-chip--b { right: 24px; bottom: 24px; }

	.bl-cats { grid-template-columns: repeat(5, 1fr); }
	.bl-cats__item.is-deals { grid-column: auto; }
	.bl-cats__item { padding: 22px 24px; font-size: 1.1875rem; border-bottom: 0; border-right: 1px solid var(--bl-line) !important; }
	.bl-cats__item.is-deals { border-right: 0 !important; }

	.bl-bento { grid-template-columns: 1.4fr 1fr 1fr; grid-template-rows: 300px 300px; gap: 20px; }
	.bl-tile { padding: 28px; min-height: 0; }
	.bl-tile--big { grid-row: 1 / 3; min-height: 0; }
	.bl-tile__count { top: 24px; left: 28px; }
	.bl-tile--big .bl-tile__count { right: 28px; }
	.bl-tile--big .bl-tile__ill { height: 100%; }

	.bl-principles { grid-template-columns: repeat(4, 1fr); gap: 0; }
	.bl-principle { padding: 26px 26px 0 0; }

	.bl-news { grid-template-columns: 1.2fr 1fr; gap: 56px; padding: 64px; border-radius: 32px; }
	.bl-news::before { width: 380px; height: 380px; border-width: 60px; right: -120px; top: -120px; bottom: auto; }
	.bl-news__form { padding: 28px; }

	.bl-footer { padding-top: 56px; padding-bottom: 32px; }
	.bl-footer__grid { grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; }
	.bl-footer__brand { grid-column: auto; }
	.bl-bigword { margin-top: 64px !important; }

	.bl-product { grid-template-columns: 300px 1fr; gap: 26px; padding: 16px; }
	.bl-product__media { aspect-ratio: auto; min-height: 100%; }
	.bl-toppicks { padding: 8px 28px; }
	.bl-answer { padding: 26px 30px; }
}

@media (min-width: 1100px) {
	.bl-cards { grid-template-columns: repeat(4, 1fr); }
	.bl-cards--3 { grid-template-columns: repeat(3, 1fr); }
}

/* Editor niceties */
.editor-styles-wrapper .bl-tile__title a::after,
.editor-styles-wrapper .bl-card__title a::after { display: none; }

/* Sticky first column on scrollable comparison tables */
.wp-block-table.is-style-comparison tbody td:first-child,
.wp-block-table.is-style-comparison thead th:first-child { position: sticky; left: 0; background: #fff; z-index: 1; }
.wp-block-table.is-style-comparison tbody td:first-child { box-shadow: 1px 0 0 var(--bl-line); }
@media (min-width: 1100px) { .wp-block-table.is-style-comparison tbody td:first-child { box-shadow: none; } }

/* Generic group styles */
.wp-block-group.is-style-card { background: #fff; border: 1px solid var(--bl-line); border-radius: var(--bl-r-m); padding: clamp(18px, 3vw, 28px); }
.wp-block-group.is-style-callout { background: var(--bl-stone); border-radius: var(--bl-r-m); padding: clamp(18px, 3vw, 28px); }
