/*
Theme Name:   Every Room Better — Child
Theme URI:    https://everyroombetter.com/
Description:  GeneratePress child theme for Every Room Better. Archetype C · Decision Path.
              Palette drawn from a decorating job: graphite pencil, sage cabinet paint,
              unlacquered brass, skimmed plaster, unsanded grout. Near-white background so
              the page never casts a tint over a photograph.
Author:       Every Room Better
Template:     generatepress
Version:      1.0.0
Text Domain:  rbt-child
*/

/* ==========================================================================
   CONTENTS
   1  Design tokens
   2  The signature device — the moulding profile
   3  Base
   4  Header and navigation
   5  Homepage — Decision Path, in the archetype's order
   6  Article
   7  Category and tag archives
   8  Search
   9  404
   10 Static page base
   11 Page block library
   12 Page variants
   13 Footer
   14 Responsive
   15 Accessibility and print
   ========================================================================== */


/* ==========================================================================
   1 · DESIGN TOKENS
   Every colour is the real colour of a physical thing on a decorating job.
   To recolour the site you change this block AND erb_blocks_tokens() in
   /wp-content/mu-plugins/erb-article-blocks.php. Both, or the article blocks
   will clash with the site around them.
   ========================================================================== */

:root {
	--rbt-ink:      #232320; /* graphite carpenter's pencil on bare drywall — headings */
	--rbt-body:     #3A3A35; /* the same pencil mark rubbed back — body copy */
	--rbt-muted:    #6E6E68; /* graphite dust — meta, captions */

	--rbt-sage:     #6B7355; /* sage cabinet paint, drab not mint — primary accent */
	--rbt-sage-d:   #4E5540; /* the same paint in the shadow of the door — hover */
	--rbt-sage-bg:  #EEF0E8; /* the same paint thinned to a test patch — washed panels */

	--rbt-brass:    #A8894F; /* unlacquered brass hardware, aged — secondary, rules and marks */
	--rbt-brass-d:  #8A6E38; /* the same brass behind the escutcheon — brass used as text */

	--rbt-white:    #FCFCFB; /* ceiling primer, flat white — page. Casts no tint on a photo */
	--rbt-panel:    #F2F2EF; /* joint compound, skimmed and sanded — cards, tables */
	--rbt-line:     #E2E2DD; /* unsanded grout line — borders */

	--rbt-good:     #1F6F6B; /* glazed tile, the green-blue of a fired glaze — this works */
	--rbt-good-bg:  #E6F0EF;
	--rbt-avoid:    #9A4A3C; /* rust bloom on a cast-iron radiator — do not do this */
	--rbt-avoid-bg: #F6EAE7;

	--rbt-radius:   3px;     /* a plaster arris, eased but not rounded */
	--rbt-measure:  68ch;    /* body copy line length */
	--rbt-shell:    1180px;  /* outer container */
	--rbt-header-h: 76px;

	--rbt-display: 'Instrument Serif', Georgia, 'Times New Roman', serif;
	--rbt-sans:    'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--rbt-mono:    'DM Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;

	--rbt-gap:     clamp(28px, 4vw, 56px);
}


/* ==========================================================================
   2 · THE SIGNATURE DEVICE — THE MOULDING PROFILE
   Every cornice, skirting and casing is drawn as a stepped profile. Three short
   segments, each offset down and along, the way a moulding steps as it returns.
   It appears in four places and nowhere else:
     · under the active navigation item
     · as the divider between homepage sections
     · under a page, archive or article title
     · along the head of the swatch block (drawn in the mu-plugin)
   ========================================================================== */

.rbt-profile {
	display: block;
	width: 86px;
	height: 11px;
	border: 0;
	margin: 0;
	background-image:
		linear-gradient(var(--rbt-sage),  var(--rbt-sage)),
		linear-gradient(var(--rbt-sage),  var(--rbt-sage)),
		linear-gradient(var(--rbt-brass), var(--rbt-brass));
	background-size: 26px 2px, 44px 2px, 16px 2px;
	background-position: 0 0, 26px 4px, 70px 8px;
	background-repeat: no-repeat;
}

/* Small version, for a nav item or an inline mark. */
.rbt-profile--sm {
	width: 44px;
	height: 7px;
	background-size: 13px 2px, 22px 2px, 9px 2px;
	background-position: 0 0, 13px 2px, 35px 4px;
}

/* Full-width divider: the profile sits at the left end of a hairline. */
.rbt-rule {
	position: relative;
	height: 11px;
	margin: var(--rbt-gap) 0;
	border-top: 1px solid var(--rbt-line);
}

.rbt-rule::before {
	content: "";
	position: absolute;
	top: 4px;
	left: 0;
	width: 86px;
	height: 11px;
	background-image:
		linear-gradient(var(--rbt-sage),  var(--rbt-sage)),
		linear-gradient(var(--rbt-sage),  var(--rbt-sage)),
		linear-gradient(var(--rbt-brass), var(--rbt-brass));
	background-size: 26px 2px, 44px 2px, 16px 2px;
	background-position: 0 0, 26px 4px, 70px 8px;
	background-repeat: no-repeat;
}


/* ==========================================================================
   3 · BASE
   ========================================================================== */

body {
	background: var(--rbt-white);
	color: var(--rbt-body);
	font-family: var(--rbt-sans);
	font-size: 17px;      /* blueprint 3: a phone, held in the room, mid-decision */
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

.site-content { padding-top: 0; }

.grid-container,
.rbt-shell {
	max-width: var(--rbt-shell);
	margin-left: auto;
	margin-right: auto;
	padding-left: 22px;
	padding-right: 22px;
	width: 100%;
	box-sizing: border-box;
}

h1, h2, h3, h4,
.entry-title {
	font-family: var(--rbt-display);
	font-weight: 400;          /* Instrument Serif ships one weight. Size carries hierarchy. */
	color: var(--rbt-ink);
	line-height: 1.12;
	letter-spacing: -0.005em;
	margin-top: 0;
}

h1, .entry-title { font-size: clamp(2.25rem, 1.6rem + 2.6vw, 3.5rem); margin-bottom: .5em; }
h2 { font-size: clamp(1.7rem, 1.35rem + 1.5vw, 2.35rem); margin-bottom: .5em; }
h3 { font-size: clamp(1.32rem, 1.15rem + .7vw, 1.6rem); margin-bottom: .45em; }
h4 { font-size: 1.15rem; margin-bottom: .4em; }

p { margin: 0 0 1.25em; }

a {
	color: var(--rbt-sage);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	text-decoration-color: var(--rbt-line);
	transition: color .12s ease, text-decoration-color .12s ease;
}

a:hover,
a:focus { color: var(--rbt-sage-d); text-decoration-color: currentColor; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--rbt-sage);
	outline-offset: 2px;
	border-radius: 2px;
}

strong { font-weight: 700; color: var(--rbt-ink); }

/* The eyebrow label. Mono, because everything technical on this site is mono. */
.rbt-eyebrow {
	display: block;
	font-family: var(--rbt-mono);
	font-size: .75rem;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--rbt-sage);
	margin: 0 0 .55em;
}

.rbt-eyebrow--brass { color: var(--rbt-brass-d); }

/* Anything that is a number, a code or a measurement is set in mono. */
.rbt-num,
.rbt-hex,
.rbt-dim { font-family: var(--rbt-mono); font-size: .9em; }

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	overflow: hidden;
	position: absolute !important;
	word-wrap: normal !important;
}

.rbt-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 1000;
	background: var(--rbt-ink);
	color: var(--rbt-white);
	padding: 12px 20px;
	font-family: var(--rbt-mono);
	font-size: .85rem;
}

.rbt-skip-link:focus { left: 0; color: var(--rbt-white); }

img { max-width: 100%; height: auto; }


/* ==========================================================================
   4 · HEADER AND NAVIGATION
   Archetype C's navigation shows depth, so the header carries the categories
   and every inner page carries a breadcrumb directly beneath it.
   ========================================================================== */

.site-header {
	background: var(--rbt-white);
	border-bottom: 1px solid var(--rbt-line);
	padding: 0;
}

.inside-header {
	max-width: var(--rbt-shell);
	margin: 0 auto;
	padding: 14px 22px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.site-logo,
.rbt-logo { display: flex; align-items: center; line-height: 0; }

.rbt-logo a { display: inline-flex; align-items: center; text-decoration: none; }
.rbt-logo svg { display: block; height: 44px; width: auto; }
.rbt-logo-mark-only { display: none; }

.main-navigation,
.main-navigation .inside-navigation { background: transparent; }

.main-navigation .main-nav > ul {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	justify-content: flex-end;
}

.main-navigation .main-nav ul li a {
	font-family: var(--rbt-sans);
	font-size: .95rem;
	font-weight: 500;
	line-height: 1;
	color: var(--rbt-ink);
	padding: 10px 11px 14px;
	text-decoration: none;
	position: relative;
}

.main-navigation .main-nav ul li a:hover { color: var(--rbt-sage-d); }

/* Active item — the signature, first placement. */
.main-navigation .main-nav ul li.current-menu-item > a::after,
.main-navigation .main-nav ul li.current-menu-parent > a::after,
.main-navigation .main-nav ul li.current-post-ancestor > a::after {
	content: "";
	position: absolute;
	left: 11px;
	bottom: 3px;
	width: 44px;
	height: 7px;
	background-image:
		linear-gradient(var(--rbt-sage),  var(--rbt-sage)),
		linear-gradient(var(--rbt-sage),  var(--rbt-sage)),
		linear-gradient(var(--rbt-brass), var(--rbt-brass));
	background-size: 13px 2px, 22px 2px, 9px 2px;
	background-position: 0 0, 13px 2px, 35px 4px;
	background-repeat: no-repeat;
}

/* Breadcrumb bar — the archetype's "navigation shows depth". */
.rbt-crumbs {
	border-bottom: 1px solid var(--rbt-line);
	background: var(--rbt-white);
}

.rbt-crumbs-inner {
	max-width: var(--rbt-shell);
	margin: 0 auto;
	padding: 9px 22px;
	font-family: var(--rbt-mono);
	font-size: .76rem;
	color: var(--rbt-muted);
	letter-spacing: .02em;
	overflow-x: auto;
	white-space: nowrap;
	scrollbar-width: none;
}

.rbt-crumbs-inner::-webkit-scrollbar { display: none; }
.rbt-crumbs a { color: var(--rbt-muted); text-decoration: none; }
.rbt-crumbs a:hover { color: var(--rbt-sage-d); }
.rbt-crumbs .sep { color: var(--rbt-line); padding: 0 7px; }


/* ==========================================================================
   5 · HOMEPAGE — ARCHETYPE C · DECISION PATH
   Section order is the archetype's, not blueprint 10's. Blueprint 10 supplies
   the copy inside each one.
     5.1  the path            5.5  latest guides
     5.2  start here          5.6  seasonal band
     5.3  style board         5.7  trust band
     5.4  category schedule   5.8  newsletter
   ========================================================================== */

.rbt-home section { padding: 0; }

.rbt-section { padding: clamp(40px, 5vw, 66px) 0 0; }
.rbt-section-head { margin-bottom: 26px; max-width: 60ch; }
.rbt-section-head h2 { margin-bottom: .3em; }
.rbt-section-head p { color: var(--rbt-muted); margin: 0; }

/* --- 5.1 The path ------------------------------------------------------- */
/* Three steps: a question, a branch, a destination. Renders with no JS, and
   the LCP is the hero sentence, not an image. */

.rbt-path-hero { padding: clamp(38px, 5vw, 64px) 0 0; }

.rbt-path-thesis {
	font-family: var(--rbt-display);
	font-size: clamp(2.3rem, 1.4rem + 3.4vw, 4rem);
	line-height: 1.05;
	color: var(--rbt-ink);
	max-width: 20ch;
	margin: 0 0 .35em;
}

.rbt-path-sub {
	max-width: 54ch;
	color: var(--rbt-muted);
	font-size: 1.06rem;
	margin: 0 0 34px;
}

.rbt-path {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: var(--rbt-line);
	border: 1px solid var(--rbt-line);
	border-radius: var(--rbt-radius);
	overflow: hidden;
}

.rbt-path-step {
	background: var(--rbt-white);
	padding: 24px 24px 26px;
	display: flex;
	flex-direction: column;
}

.rbt-path-step:last-child { background: var(--rbt-sage-bg); }

.rbt-path-num {
	font-family: var(--rbt-mono);
	font-size: .76rem;
	letter-spacing: .1em;
	color: var(--rbt-brass-d);
	margin-bottom: 10px;
}

.rbt-path-q {
	font-family: var(--rbt-display);
	font-size: 1.6rem;
	line-height: 1.15;
	color: var(--rbt-ink);
	margin: 0 0 16px;
}

.rbt-path-links { list-style: none; margin: 0; padding: 0; }

.rbt-path-links li { border-top: 1px solid var(--rbt-line); }
.rbt-path-links li:last-child { border-bottom: 1px solid var(--rbt-line); }

.rbt-path-links a {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 9px 0;
	text-decoration: none;
	color: var(--rbt-body);
	font-size: .97rem;
}

.rbt-path-links a:hover { color: var(--rbt-sage-d); }

.rbt-path-links .rbt-path-tag {
	font-family: var(--rbt-mono);
	font-size: .72rem;
	color: var(--rbt-muted);
	white-space: nowrap;
}

/* --- 5.2 Start here ----------------------------------------------------- */

.rbt-start {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}

.rbt-start-item {
	border: 1px solid var(--rbt-line);
	border-radius: var(--rbt-radius);
	padding: 22px 22px 24px;
	background: var(--rbt-white);
}

.rbt-start-item h3 { margin-bottom: .4em; font-size: 1.35rem; }
.rbt-start-item h3 a { text-decoration: none; color: var(--rbt-ink); }
.rbt-start-item h3 a:hover { color: var(--rbt-sage-d); }
.rbt-start-item p { font-size: .96rem; color: var(--rbt-muted); margin: 0; }

/* --- 5.3 Style board ---------------------------------------------------- */
/* Interiors is visual. Where a style has no featured image yet, the fallback
   is its real three-colour palette, not a grey box. */

.rbt-board {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 16px;
}

.rbt-board-item { text-decoration: none; display: block; }

.rbt-board-fig {
	aspect-ratio: 3 / 4;
	border-radius: var(--rbt-radius);
	overflow: hidden;
	background: var(--rbt-panel);
	display: flex;
	flex-direction: column;
}

.rbt-board-fig img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rbt-board-fig span { flex: 1; display: block; }

.rbt-board-item h3 {
	font-family: var(--rbt-sans);
	font-size: .95rem;
	font-weight: 600;
	color: var(--rbt-ink);
	margin: 10px 0 2px;
	line-height: 1.3;
}

.rbt-board-item .rbt-hex { color: var(--rbt-muted); font-size: .72rem; }
.rbt-board-item:hover h3 { color: var(--rbt-sage-d); }

/* --- 5.4 Category schedule ---------------------------------------------- */
/* A "schedule" is the drawing that lists every finish on a job. Eight rows,
   each with its real description and its three most recent guides. This is the
   archetype's secondary router: categories as a plain list, not tiles. */

.rbt-schedule { border-top: 1px solid var(--rbt-line); }

.rbt-schedule-row {
	display: grid;
	grid-template-columns: 34px minmax(0, 1.05fr) minmax(0, 1.15fr);
	gap: 24px;
	padding: 24px 0;
	border-bottom: 1px solid var(--rbt-line);
	align-items: start;
}

.rbt-schedule-icon { color: var(--rbt-sage); padding-top: 4px; }
.rbt-schedule-icon svg { width: 30px; height: 30px; display: block; }

.rbt-schedule-head h3 { font-size: 1.5rem; margin-bottom: .2em; }
.rbt-schedule-head h3 a { text-decoration: none; color: var(--rbt-ink); }
.rbt-schedule-head h3 a:hover { color: var(--rbt-sage-d); }

.rbt-schedule-count {
	font-family: var(--rbt-mono);
	font-size: .74rem;
	color: var(--rbt-muted);
	display: block;
	margin-bottom: 10px;
}

.rbt-schedule-desc { font-size: .95rem; color: var(--rbt-muted); margin: 0; }

.rbt-schedule-links { list-style: none; margin: 0; padding: 0; }
.rbt-schedule-links li { margin-bottom: 7px; }

.rbt-schedule-links a {
	font-size: .95rem;
	color: var(--rbt-body);
	text-decoration: none;
	border-bottom: 1px solid var(--rbt-line);
	padding-bottom: 1px;
}

.rbt-schedule-links a:hover { color: var(--rbt-sage-d); border-color: var(--rbt-sage); }

/* --- 5.5 Cards, used by latest, archives and search ---------------------- */
/* A "plate" is the full-page illustration in a design book. Letterbox image,
   mono index, title, mono metadata. */

.rbt-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px 26px;
}

.rbt-plate { min-width: 0; }

.rbt-plate-fig {
	display: block;
	aspect-ratio: 3 / 1;
	overflow: hidden;
	background: var(--rbt-panel);
	border-radius: var(--rbt-radius);
	position: relative;
}

.rbt-plate-fig img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: opacity .15s ease;
}

.rbt-plate:hover .rbt-plate-fig img { opacity: .9; }

.rbt-plate-index {
	position: absolute;
	left: 0;
	bottom: 0;
	background: var(--rbt-ink);
	color: var(--rbt-white);
	font-family: var(--rbt-mono);
	font-size: .72rem;
	padding: 3px 8px;
	letter-spacing: .04em;
}

.rbt-plate h3 {
	font-size: 1.28rem;
	line-height: 1.2;
	margin: 12px 0 6px;
}

.rbt-plate h3 a { text-decoration: none; color: var(--rbt-ink); }
.rbt-plate h3 a:hover { color: var(--rbt-sage-d); }

.rbt-plate-meta {
	font-family: var(--rbt-mono);
	font-size: .73rem;
	color: var(--rbt-muted);
	letter-spacing: .02em;
}

.rbt-plate-meta a { color: var(--rbt-sage); text-decoration: none; }
.rbt-plate-meta a:hover { color: var(--rbt-sage-d); }

/* --- 5.6 Seasonal band -------------------------------------------------- */

.rbt-season {
	background: var(--rbt-panel);
	border-radius: var(--rbt-radius);
	padding: clamp(24px, 3vw, 36px);
	display: grid;
	grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
	gap: 30px;
	align-items: start;
}

.rbt-season h2 { font-size: 1.9rem; margin-bottom: .25em; }
.rbt-season-note { color: var(--rbt-muted); font-size: .95rem; margin: 0; }

.rbt-season-links { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 30px; }
.rbt-season-links li { margin-bottom: 8px; break-inside: avoid; }
.rbt-season-links a { color: var(--rbt-body); text-decoration: none; font-size: .97rem; }
.rbt-season-links a:hover { color: var(--rbt-sage-d); }

/* --- 5.7 Trust band ----------------------------------------------------- */
/* Three columns. This is the block a brand reads before it emails. */

.rbt-trust {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: var(--rbt-line);
	border: 1px solid var(--rbt-line);
	border-radius: var(--rbt-radius);
	overflow: hidden;
}

.rbt-trust-col { background: var(--rbt-white); padding: 26px 24px 28px; }
.rbt-trust-col h3 { font-size: 1.3rem; margin-bottom: .35em; }
.rbt-trust-col p { font-size: .95rem; color: var(--rbt-muted); margin: 0 0 14px; }

.rbt-trust-col a.rbt-trust-link {
	font-family: var(--rbt-mono);
	font-size: .76rem;
	letter-spacing: .04em;
	text-decoration: none;
	color: var(--rbt-sage);
	border-bottom: 1px solid var(--rbt-sage);
	padding-bottom: 2px;
}

.rbt-trust-col a.rbt-trust-link:hover { color: var(--rbt-sage-d); border-color: var(--rbt-sage-d); }

/* --- 5.8 Newsletter ----------------------------------------------------- */
/* One inline field. Never a popup. */

.rbt-signup {
	margin: var(--rbt-gap) 0 clamp(48px, 6vw, 80px);
	padding: clamp(26px, 3vw, 38px);
	background: var(--rbt-ink);
	border-radius: var(--rbt-radius);
	color: var(--rbt-panel);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 440px);
	gap: 30px;
	align-items: center;
}

.rbt-signup h2 { color: var(--rbt-white); font-size: 1.85rem; margin-bottom: .2em; }
.rbt-signup p { margin: 0; color: #B9B9B2; font-size: .95rem; }

.rbt-signup-form { display: flex; gap: 10px; flex-wrap: wrap; }

.rbt-signup-form input[type="email"] {
	flex: 1 1 200px;
	min-width: 0;
	padding: 12px 14px;
	border: 1px solid #4A4A44;
	background: #2E2E2A;
	color: var(--rbt-white);
	font-family: var(--rbt-sans);
	font-size: 1rem;
	border-radius: var(--rbt-radius);
}

.rbt-signup-form input[type="email"]::placeholder { color: #85857E; }

.rbt-signup-form button {
	padding: 12px 22px;
	border: 0;
	background: var(--rbt-sage);
	color: var(--rbt-white);
	font-family: var(--rbt-sans);
	font-weight: 600;
	font-size: 1rem;
	border-radius: var(--rbt-radius);
	cursor: pointer;
}

.rbt-signup-form button:hover { background: #7C8564; }

.rbt-signup-note { font-family: var(--rbt-mono); font-size: .72rem; color: #85857E; margin-top: 10px; }


/* ==========================================================================
   6 · ARTICLE
   Archetype C's article: the table of contents is a sticky rail on the left at
   desktop width, and falls back inline on anything narrower.
   ========================================================================== */

.single .entry-header,
.page .entry-header { margin-bottom: 18px; }

.single .entry-title { max-width: 24ch; }

/* Meta strip — mono, because it is data. */
.rbt-meta {
	font-family: var(--rbt-mono);
	font-size: .76rem;
	letter-spacing: .02em;
	color: var(--rbt-muted);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 0;
	padding: 10px 0 12px;
	border-top: 1px solid var(--rbt-line);
	border-bottom: 1px solid var(--rbt-line);
	margin-bottom: 30px;
}

.rbt-meta a { color: var(--rbt-sage); text-decoration: none; }
.rbt-meta a:hover { color: var(--rbt-sage-d); }
.rbt-meta .sep { color: var(--rbt-line); padding: 0 9px; }
.rbt-meta .rbt-updated { color: var(--rbt-brass-d); }

.single .entry-content,
.page .entry-content {
	font-size: 1.0625rem;
	line-height: 1.75;
	max-width: var(--rbt-measure);
}

.single .entry-content > h2 { margin-top: 1.9em; }
.single .entry-content > h3 { margin-top: 1.5em; }
.single .entry-content ul,
.single .entry-content ol { margin: 0 0 1.3em; padding-left: 1.25em; }
.single .entry-content li { margin-bottom: .5em; }

.single .entry-content h2,
.single .entry-content h3 { scroll-margin-top: calc(var(--rbt-header-h) + 24px); }

.single .entry-content blockquote {
	margin: 1.7em 0;
	padding: 4px 0 4px 22px;
	border-left: 3px solid var(--rbt-brass);
	font-family: var(--rbt-display);
	font-size: 1.4rem;
	line-height: 1.35;
	color: var(--rbt-ink);
}

.single .entry-content blockquote p:last-child { margin-bottom: 0; }

.single .entry-content figure { margin: 1.8em 0; }

.single .entry-content figcaption {
	font-family: var(--rbt-mono);
	font-size: .74rem;
	color: var(--rbt-muted);
	margin-top: 8px;
}

/* Table of contents */
.rbt-toc {
	border: 1px solid var(--rbt-line);
	border-radius: var(--rbt-radius);
	padding: 16px 18px 18px;
	margin: 0 0 30px;
	background: var(--rbt-white);
}

.rbt-toc-title {
	font-family: var(--rbt-mono);
	font-size: .72rem;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--rbt-sage);
	margin: 0 0 10px;
}

.rbt-toc ol { list-style: none; margin: 0; padding: 0; counter-reset: rbttoc; }

.rbt-toc li { margin: 0 0 7px; line-height: 1.35; }
.rbt-toc li.rbt-toc-h3 { padding-left: 14px; }

.rbt-toc a {
	font-size: .88rem;
	color: var(--rbt-body);
	text-decoration: none;
	border-bottom: 1px solid transparent;
}

.rbt-toc a:hover { color: var(--rbt-sage-d); border-color: var(--rbt-sage); }

/* Author box */
.rbt-author {
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr);
	gap: 20px;
	align-items: start;
	margin: 44px 0 0;
	padding: 24px;
	background: var(--rbt-panel);
	border-radius: var(--rbt-radius);
	max-width: var(--rbt-measure);
}

.rbt-author img { border-radius: 50%; display: block; width: 74px; height: 74px; object-fit: cover; }
.rbt-author h2 { font-size: 1.25rem; margin-bottom: .2em; }
.rbt-author p { font-size: .95rem; margin: 0; color: var(--rbt-body); }

/* Policy strip — what a brand looks for before it pays. */
.rbt-policy {
	margin: 20px 0 0;
	padding: 14px 0 0;
	border-top: 1px solid var(--rbt-line);
	font-family: var(--rbt-mono);
	font-size: .75rem;
	color: var(--rbt-muted);
	max-width: var(--rbt-measure);
}

.rbt-policy a { color: var(--rbt-sage); text-decoration: none; }
.rbt-policy a:hover { color: var(--rbt-sage-d); }
.rbt-policy .sep { color: var(--rbt-line); padding: 0 8px; }


/* ==========================================================================
   7 · CATEGORY AND TAG ARCHIVES
   ========================================================================== */

.rbt-archive-head {
	padding: clamp(34px, 4vw, 54px) 0 26px;
	border-bottom: 1px solid var(--rbt-line);
	margin-bottom: clamp(30px, 4vw, 44px);
}

.rbt-archive-head h1 { margin-bottom: .3em; }

.rbt-archive-head .rbt-profile { margin-bottom: 18px; }

/* Printed in full — the term description is indexed and must never be cut. */
.rbt-archive-desc {
	max-width: 62ch;
	font-size: 1.05rem;
	color: var(--rbt-body);
	margin: 0 0 14px;
}

.rbt-archive-count {
	font-family: var(--rbt-mono);
	font-size: .76rem;
	color: var(--rbt-muted);
	letter-spacing: .03em;
}

.rbt-archive-list { padding-bottom: clamp(40px, 5vw, 64px); }

.rbt-pagination {
	margin-top: 46px;
	padding-top: 22px;
	border-top: 1px solid var(--rbt-line);
	font-family: var(--rbt-mono);
	font-size: .82rem;
}

.rbt-pagination .page-numbers {
	display: inline-block;
	padding: 6px 11px;
	color: var(--rbt-body);
	text-decoration: none;
	border: 1px solid var(--rbt-line);
	border-radius: var(--rbt-radius);
	margin-right: 5px;
}

.rbt-pagination .page-numbers.current,
.rbt-pagination .page-numbers:hover { background: var(--rbt-sage); border-color: var(--rbt-sage); color: var(--rbt-white); }


/* ==========================================================================
   8 · SEARCH
   ========================================================================== */

.rbt-search { display: flex; gap: 10px; max-width: 520px; }

.rbt-search input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	padding: 11px 14px;
	border: 1px solid var(--rbt-line);
	border-radius: var(--rbt-radius);
	font-family: var(--rbt-sans);
	font-size: 1rem;
	background: var(--rbt-white);
	color: var(--rbt-ink);
}

.rbt-search button {
	padding: 11px 20px;
	border: 0;
	background: var(--rbt-ink);
	color: var(--rbt-white);
	font-family: var(--rbt-sans);
	font-weight: 600;
	border-radius: var(--rbt-radius);
	cursor: pointer;
	font-size: 1rem;
}

.rbt-search button:hover { background: var(--rbt-sage-d); }

.rbt-empty {
	max-width: 62ch;
	padding: 8px 0 clamp(40px, 5vw, 64px);
}

.rbt-empty p { color: var(--rbt-muted); }

.rbt-empty-routes {
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 22px;
}

.rbt-empty-routes a {
	display: block;
	padding: 10px 12px;
	border: 1px solid var(--rbt-line);
	border-radius: var(--rbt-radius);
	text-decoration: none;
	color: var(--rbt-ink);
	font-size: .95rem;
}

.rbt-empty-routes a:hover { border-color: var(--rbt-sage); color: var(--rbt-sage-d); }


/* ==========================================================================
   9 · 404
   An empty screen is an invitation to act, so the 404 routes into the eight
   categories rather than apologising.
   ========================================================================== */

.rbt-404 { padding: clamp(44px, 6vw, 80px) 0 clamp(44px, 6vw, 80px); }
.rbt-404 h1 { max-width: 18ch; }
.rbt-404 > p { max-width: 56ch; color: var(--rbt-muted); font-size: 1.05rem; }
.rbt-404 .rbt-search { margin: 26px 0 34px; }


/* ==========================================================================
   10 · STATIC PAGE BASE
   ========================================================================== */

.rbt-page-hero { padding: clamp(34px, 4vw, 56px) 0 0; }
.rbt-page-hero h1 { margin-bottom: .25em; }

.rbt-page-updated {
	font-family: var(--rbt-mono);
	font-size: .75rem;
	color: var(--rbt-muted);
	letter-spacing: .02em;
	margin: 0 0 24px;
}

.page .entry-content { padding-bottom: clamp(40px, 5vw, 70px); }
.page .entry-content h2 { margin-top: 1.8em; }
.page .entry-content h3 { margin-top: 1.4em; }


/* ==========================================================================
   11 · PAGE BLOCK LIBRARY
   Twelve classes. Every one works on every page. Never used inside an article —
   articles use the erb-* classes from the mu-plugin.
   ========================================================================== */

.rbt-lede {
	font-size: 1.25rem;
	line-height: 1.55;
	color: var(--rbt-ink);
	max-width: 60ch;
	margin-bottom: 1.4em;
}

.rbt-callout {
	border: 1px solid var(--rbt-line);
	border-left: 3px solid var(--rbt-sage);
	background: var(--rbt-sage-bg);
	border-radius: var(--rbt-radius);
	padding: 18px 20px;
	margin: 1.8em 0;
}

.rbt-callout > :last-child { margin-bottom: 0; }

.rbt-note {
	font-size: .9rem;
	color: var(--rbt-muted);
	max-width: 62ch;
}

.rbt-deflist { margin: 1.6em 0; }
.rbt-deflist dt {
	font-family: var(--rbt-mono);
	font-size: .82rem;
	letter-spacing: .03em;
	color: var(--rbt-ink);
	padding-top: 14px;
	border-top: 1px solid var(--rbt-line);
	margin-bottom: 5px;
}
.rbt-deflist dd { margin: 0 0 14px; font-size: .98rem; }

.rbt-legal { list-style: none; counter-reset: rbtlegal; margin: 1.6em 0; padding: 0; }
.rbt-legal > li {
	counter-increment: rbtlegal;
	position: relative;
	padding-left: 46px;
	margin-bottom: 16px;
}
.rbt-legal > li::before {
	content: counter(rbtlegal) ".";
	position: absolute;
	left: 0;
	top: 0;
	font-family: var(--rbt-mono);
	font-size: .88rem;
	color: var(--rbt-muted);
}

.rbt-steps { list-style: none; counter-reset: rbtsteps; margin: 1.8em 0; padding: 0; }
.rbt-steps > li {
	counter-increment: rbtsteps;
	position: relative;
	padding-left: 62px;
	min-height: 46px;
	margin-bottom: 22px;
}
.rbt-steps > li::before {
	content: counter(rbtsteps, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: -4px;
	font-family: var(--rbt-mono);
	font-size: 1.7rem;
	color: var(--rbt-brass);
	line-height: 1;
}

.rbt-checklist { list-style: none; margin: 1.6em 0; padding: 0; }
.rbt-checklist > li { position: relative; padding-left: 30px; margin-bottom: 10px; }
.rbt-checklist > li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: .55em;
	width: 11px;
	height: 6px;
	border-left: 2px solid var(--rbt-good);
	border-bottom: 2px solid var(--rbt-good);
	transform: rotate(-45deg);
}

.rbt-datatable { overflow-x: auto; margin: 1.8em 0; -webkit-overflow-scrolling: touch; }
.rbt-datatable table { width: 100%; border-collapse: collapse; font-size: .94rem; min-width: 460px; }
.rbt-datatable th {
	font-family: var(--rbt-mono);
	font-size: .74rem;
	letter-spacing: .05em;
	text-transform: uppercase;
	text-align: left;
	background: var(--rbt-panel);
	color: var(--rbt-ink);
	padding: 10px 12px;
	border: 1px solid var(--rbt-line);
	font-weight: 400;
}
.rbt-datatable td { padding: 10px 12px; border: 1px solid var(--rbt-line); vertical-align: top; }

.rbt-person {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 20px;
	align-items: start;
	margin: 1.8em 0;
}
/* Auto-placement guard. The block is two columns, so a third child (img, h3, p)
   used to wrap back under the photo and render 96px wide. The photo is pinned to
   column 1 row 1; everything else is pinned to column 2 and stacks. */
.rbt-person > * { grid-column: 2; }
.rbt-person > img { grid-column: 1; grid-row: 1; }
.rbt-person img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; display: block; }
.rbt-person h3 { font-size: 1.25rem; margin-bottom: .2em; }
.rbt-person p { font-size: .96rem; margin: 0; }
.rbt-person p + p { margin-top: .8em; }

/* No photo supplied — collapse to a single column instead of leaving a 96px gap. */
.rbt-person:not(:has(> img)) { grid-template-columns: minmax(0, 1fr); }
.rbt-person:not(:has(> img)) > * { grid-column: 1; }

.rbt-contact-card {
	display: block;
	border: 1px solid var(--rbt-line);
	border-radius: var(--rbt-radius);
	padding: 18px 20px;
	text-decoration: none;
	color: var(--rbt-body);
	background: var(--rbt-white);
	margin: 0 0 14px;
}
.rbt-contact-card:hover { border-color: var(--rbt-sage); }

/* If a <p> is placed inside an <a class="rbt-contact-card"> the browser splits
   the anchor and leaves empty duplicates behind. These two rules stop those
   duplicates from drawing an empty box, and let the card hold paragraphs when
   it is written as a <div>. */
.rbt-contact-card:empty { display: none; }
.rbt-contact-card p { margin: 0 0 .7em; }
.rbt-contact-card p:last-child { margin-bottom: 0; }

.rbt-contact-card strong {
	display: block;
	font-family: var(--rbt-mono);
	font-size: .95rem;
	font-weight: 500;
	color: var(--rbt-sage);
	margin-bottom: 4px;
}

.rbt-cta {
	background: var(--rbt-panel);
	border-radius: var(--rbt-radius);
	padding: clamp(24px, 3vw, 36px);
	margin: 2.2em 0 1em;
}
.rbt-cta h2 { margin-top: 0; font-size: 1.75rem; }
.rbt-cta p { max-width: 56ch; }
.rbt-cta a {
	display: inline-block;
	background: var(--rbt-sage);
	color: var(--rbt-white);
	text-decoration: none;
	font-weight: 600;
	padding: 11px 22px;
	border-radius: var(--rbt-radius);
}
.rbt-cta a:hover { background: var(--rbt-sage-d); color: var(--rbt-white); }

.rbt-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin: 1.8em 0; }
.rbt-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin: 1.8em 0; }

/* The editor adds empty paragraphs between block-level children. Inside a grid
   every child is a cell, so an empty <p> used to open a hole in the layout. */
.rbt-grid-2 > p:empty,
.rbt-grid-3 > p:empty,
.entry-content > p:empty { display: none; }


/* ==========================================================================
   12 · PAGE VARIANTS
   WordPress puts page-{slug} on <body>. Each page gets its own hero, its own
   rhythm and one accent decision. The blocks inside stay identical.
   ========================================================================== */

/* about — wide and editorial, generous measure, the signature under the hero */
.page-about .rbt-page-hero h1 { max-width: 16ch; }
.page-about .rbt-page-hero .rbt-profile { margin: 6px 0 20px; }
.page-about .entry-content { max-width: 72ch; font-size: 1.09rem; line-height: 1.85; }
.page-about .entry-content p { margin-bottom: 1.5em; }
.page-about .rbt-person { margin-bottom: 2.4em; }

/* contact — compact, straight into the cards, partnership card in the accent */
.page-contact .rbt-page-hero { padding-top: clamp(26px, 3vw, 38px); }
.page-contact .rbt-page-hero h1 { font-size: clamp(2rem, 1.5rem + 1.8vw, 2.7rem); }
.page-contact .entry-content { max-width: 58ch; }
.page-contact .rbt-contact-card:first-of-type {
	background: var(--rbt-sage-bg);
	border-color: var(--rbt-sage);
}

/* write-for-us — confident band, sectioned, closing CTA in the accent */
.page-write-for-us .rbt-page-hero {
	background: var(--rbt-panel);
	padding: clamp(34px, 4vw, 56px) 0 clamp(28px, 3vw, 40px);
	margin-bottom: 34px;
}
.page-write-for-us .entry-content h2 {
	padding-top: 1.1em;
	border-top: 1px solid var(--rbt-line);
	margin-top: 1.9em;
}
.page-write-for-us .rbt-cta { background: var(--rbt-ink); }
.page-write-for-us .rbt-cta h2,
.page-write-for-us .rbt-cta p { color: var(--rbt-white); }

/* editorial-policy — plain title on the surface colour, every section equal */
.page-editorial-policy .rbt-page-hero { background: var(--rbt-panel); padding: 34px 0 30px; margin-bottom: 30px; }
.page-editorial-policy .entry-content h2 { font-size: 1.5rem; margin-top: 1.9em; }
.page-editorial-policy .entry-content { max-width: 66ch; }

/* how-we-test — this site publishes it as "How We Choose Colors". Process-led:
   the step count sits in the hero and rbt-steps carries the page. */
.page-how-we-test .rbt-page-hero { padding-bottom: 6px; }
.page-how-we-test .rbt-page-hero .rbt-eyebrow { color: var(--rbt-brass-d); }
.page-how-we-test .rbt-steps > li::before { color: var(--rbt-sage); font-size: 2rem; }
.page-how-we-test .entry-content { max-width: 66ch; }

/* privacy-policy, terms, cookie-policy — one treatment on purpose. A reader who
   lands on one should recognise the other two as the same kind of document. */
.page-privacy-policy .rbt-page-hero,
.page-terms .rbt-page-hero,
.page-cookie-policy .rbt-page-hero { padding: clamp(26px, 3vw, 38px) 0 0; }

.page-privacy-policy .rbt-page-hero h1,
.page-terms .rbt-page-hero h1,
.page-cookie-policy .rbt-page-hero h1 { font-size: clamp(1.85rem, 1.4rem + 1.5vw, 2.4rem); }

.page-privacy-policy .entry-content,
.page-terms .entry-content,
.page-cookie-policy .entry-content {
	font-size: .98rem;
	line-height: 1.62;
	max-width: 70ch;
}

.page-privacy-policy .entry-content h2,
.page-terms .entry-content h2,
.page-cookie-policy .entry-content h2 { font-size: 1.35rem; margin-top: 1.7em; }

.page-privacy-policy .rbt-datatable th,
.page-cookie-policy .rbt-datatable th { color: var(--rbt-sage); }

.page-terms .rbt-callout { border-left-color: var(--rbt-avoid); background: var(--rbt-avoid-bg); }

/* affiliate-disclosure — compact, short, deliberately plain */
.page-affiliate-disclosure .rbt-page-hero { padding-top: clamp(26px, 3vw, 38px); }
.page-affiliate-disclosure .rbt-page-hero h1 { font-size: clamp(1.9rem, 1.45rem + 1.5vw, 2.5rem); }
.page-affiliate-disclosure .entry-content { max-width: 60ch; }
.page-affiliate-disclosure .rbt-callout { background: var(--rbt-white); border-left-color: var(--rbt-line); }


/* ==========================================================================
   13 · FOOTER
   Three columns. The links are built from the page slugs in functions.php,
   so no WordPress menu is needed down here.
   ========================================================================== */

.rbt-footer {
	background: var(--rbt-ink);
	color: #B9B9B2;
	padding: clamp(38px, 5vw, 60px) 0 0;
	font-size: .94rem;
}

/* GeneratePress prints .site-info immediately after. It carries the copyright
   line, which comes from the generate_copyright filter — never from the
   Customizer field, which strips HTML. */
.site-footer { background: var(--rbt-ink); padding: 0; }
.site-footer .inside-site-info,
.site-footer .copyright-bar { padding: 0; }

.rbt-footer-inner {
	max-width: var(--rbt-shell);
	margin: 0 auto;
	padding: 0 22px;
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr);
	gap: 36px;
}

.rbt-footer h2 {
	font-family: var(--rbt-mono);
	font-size: .74rem;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: #85857E;
	margin: 0 0 14px;
}

.rbt-footer-brand svg { height: 40px; width: auto; display: block; margin-bottom: 16px; }
.rbt-footer-brand p { max-width: 40ch; margin: 0 0 14px; }

.rbt-footer-address {
	font-family: var(--rbt-mono);
	font-size: .82rem;
	color: var(--rbt-white);
}

.rbt-footer-address a { color: var(--rbt-white); text-decoration: none; border-bottom: 1px solid #4A4A44; }
.rbt-footer-address a:hover { border-color: var(--rbt-brass); color: var(--rbt-brass); }

.rbt-footer ul { list-style: none; margin: 0; padding: 0; }
.rbt-footer li { margin-bottom: 8px; }
.rbt-footer li a { color: #B9B9B2; text-decoration: none; }
.rbt-footer li a:hover { color: var(--rbt-white); }

.rbt-copyright {
	max-width: var(--rbt-shell);
	margin: clamp(30px, 4vw, 46px) auto 0;
	padding: 18px 22px 26px;
	border-top: 1px solid #3A3A35;
	font-family: var(--rbt-mono);
	font-size: .74rem;
	line-height: 1.7;
	color: #85857E;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 18px;
	justify-content: space-between;
}

.rbt-copyright a { color: #85857E; text-decoration: none; }
.rbt-copyright a:hover { color: var(--rbt-white); }


/* ==========================================================================
   14 · RESPONSIVE
   Three breakpoints. Below 768 the wordmark hides and the mark stands alone —
   most of this site's traffic is a phone held in the room being decorated.
   ========================================================================== */

@media (min-width: 769px) {
	.site-header { position: sticky; top: 0; z-index: 90; }
}

/* The sticky table-of-contents rail. Desktop only. */
@media (min-width: 1100px) {
	.single .entry-content {
		display: grid;
		grid-template-columns: 210px minmax(0, 1fr);
		column-gap: 46px;
		max-width: none;
	}
	.single .entry-content > * { grid-column: 2; max-width: var(--rbt-measure); }
	.single .entry-content > .rbt-toc {
		grid-column: 1;
		grid-row: 1 / span 9999;
		position: sticky;
		top: calc(var(--rbt-header-h) + 20px);
		align-self: start;
		margin: 0;
		border: 0;
		border-left: 1px solid var(--rbt-line);
		border-radius: 0;
		padding: 2px 0 2px 16px;
		max-width: none;
	}
}

@media (max-width: 1024px) {
	.rbt-board { grid-template-columns: repeat(3, 1fr); }
	.rbt-grid { grid-template-columns: repeat(2, 1fr); }
	.rbt-schedule-row { grid-template-columns: 30px minmax(0, 1fr); }
	.rbt-schedule-links { grid-column: 1 / -1; padding-left: 54px; }
	.rbt-season { grid-template-columns: 1fr; }
	.rbt-signup { grid-template-columns: 1fr; }
	.rbt-footer-inner { grid-template-columns: 1fr 1fr; }
	.rbt-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 768px) {
	body { font-size: 17px; }

	.inside-header { flex-wrap: wrap; padding: 12px 18px; }

	.rbt-logo-wordmark { display: none; }
	.rbt-logo-mark-only { display: block; }
	.rbt-logo svg { height: 34px; }

	.main-navigation .main-nav > ul { justify-content: flex-start; gap: 0; }
	.main-navigation .main-nav ul li a { font-size: .9rem; padding: 8px 9px 12px; }
	.main-navigation .main-nav ul li.current-menu-item > a::after { left: 9px; }

	.grid-container, .rbt-shell { padding-left: 18px; padding-right: 18px; }

	.rbt-path { grid-template-columns: 1fr; }
	.rbt-path-step { padding: 20px 18px 22px; }
	.rbt-start { grid-template-columns: 1fr; gap: 16px; }
	.rbt-trust { grid-template-columns: 1fr; }
	.rbt-season-links { columns: 1; }
	.rbt-empty-routes { grid-template-columns: 1fr; }
	.rbt-grid-2, .rbt-grid-3 { grid-template-columns: 1fr; }
	.rbt-author { grid-template-columns: 1fr; gap: 14px; }
	.single .entry-title { max-width: none; }
}

@media (max-width: 620px) {
	.rbt-board { grid-template-columns: repeat(2, 1fr); }
	.rbt-grid { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
	.rbt-schedule-row { grid-template-columns: 1fr; gap: 14px; }
	.rbt-schedule-icon { display: none; }
	.rbt-schedule-links { padding-left: 0; }
	.rbt-steps > li { padding-left: 44px; }
	.rbt-person { grid-template-columns: 1fr; }
	.rbt-person > * { grid-column: 1; }
	.rbt-person > img { grid-row: auto; }
	.rbt-signup-form { flex-direction: column; }
	.rbt-signup-form button { width: 100%; }
	.rbt-meta .sep { padding: 0 6px; }
}


/* ==========================================================================
   15 · ACCESSIBILITY AND PRINT
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
		scroll-behavior: auto !important;
	}
}

@media print {
	.site-header,
	.rbt-crumbs,
	.rbt-footer,
	.site-footer,
	.rbt-signup,
	.rbt-toc,
	.rbt-policy,
	.rbt-search,
	.main-navigation { display: none !important; }

	body { background: #fff; color: #000; font-size: 11pt; }

	.single .entry-content { display: block; max-width: none; }

	a { color: #000; text-decoration: underline; }
	.single .entry-content a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; word-break: break-all; }

	.rbt-author { background: none; border: 1px solid #999; }
	.rbt-callout, .rbt-cta, .rbt-season { background: none !important; border: 1px solid #999; }
	h1, h2, h3 { page-break-after: avoid; }
	table, figure, .rbt-datatable { page-break-inside: avoid; }
}
