/*
 * Round Fit — Material 3 Expressive layer (2026-10-29).
 * Loaded after style.css (and planner.css). Tokens first, then components.
 * The scheme is built from the brand gold #c8893f (HCT hue 67) with near-black warm neutrals:
 * one dark scheme — black is the brand. No purple anywhere: every hue sits between 40 and 70.
 * Not touched here: the logo plate and its animations, photo sizing/object-fit/filters, copy.
 * Rollback: docs/m3-redesign.md.
 */

/* ---------- 1. Tokens ---------- */
:root {
	color-scheme: dark;

	/* Colour — primary: brand gold; secondary: oak; tertiary: walnut/cherry; neutrals: warm black */
	--md-sys-color-primary: #c8893f;
	--md-sys-color-on-primary: #1c1100;
	--md-sys-color-primary-container: #5c3a0c;
	--md-sys-color-on-primary-container: #ffdcbb;
	--md-sys-color-primary-fixed-dim: #e0a35a;   /* gold for text and icons on dark surfaces */
	--md-sys-color-inverse-primary: #885200;
	--md-sys-color-secondary: #e0c1a3;
	--md-sys-color-on-secondary: #402d17;
	--md-sys-color-secondary-container: #4a3825;
	--md-sys-color-on-secondary-container: #feddbd;
	--md-sys-color-tertiary: #ed9669;
	--md-sys-color-on-tertiary: #341100;
	--md-sys-color-tertiary-container: #6a3010;
	--md-sys-color-on-tertiary-container: #ffdbcb;
	--md-sys-color-error: #ffb4ab;
	--md-sys-color-on-error: #690005;
	--md-sys-color-error-container: #93000a;
	--md-sys-color-on-error-container: #ffdad6;
	--md-sys-color-surface-container-lowest: #0b0a09;
	--md-sys-color-surface: #151412;
	--md-sys-color-surface-dim: #151412;
	--md-sys-color-surface-container-low: #1a1816;
	--md-sys-color-surface-container: #1f1c19;
	--md-sys-color-surface-container-high: #2a2622;
	--md-sys-color-surface-container-highest: #35302b;
	--md-sys-color-surface-bright: #3d3835;
	--md-sys-color-on-surface: #efe9df;
	--md-sys-color-on-surface-body: #d9d2c7;    /* long-form text, softer than on-surface */
	--md-sys-color-on-surface-variant: #b2a89b;
	--md-sys-color-outline: #8a8075;
	--md-sys-color-outline-variant: #3b352f;
	--md-sys-color-inverse-surface: #efe9df;
	--md-sys-color-inverse-on-surface: #2a2622;
	--md-sys-color-scrim: #000;
	--md-sys-color-shadow: #000;
	--md-sys-color-app-bar: #26282b;           /* graphite band the logo plate is screwed onto */
	--md-sys-color-on-app-bar: #e4ded4;

	/* State layers */
	--md-sys-state-hover: 0.08;
	--md-sys-state-focus: 0.10;
	--md-sys-state-pressed: 0.10;
	--md-sys-state-dragged: 0.16;

	/* Type — Onest for text, Genos for figures; emphasized = heavier weight */
	--md-ref-typeface-brand: var(--wp--preset--font-family--body);
	--md-ref-typeface-plain: var(--wp--preset--font-family--body);
	--md-ref-typeface-numeric: var(--wp--preset--font-family--numeric);
	--md-sys-typescale-display-large-size: clamp(2.375rem, 1.6rem + 3.2vw, 4rem);
	--md-sys-typescale-display-large-line-height: 1.04;
	--md-sys-typescale-display-medium-size: clamp(2rem, 1.5rem + 2vw, 2.8125rem);
	--md-sys-typescale-display-medium-line-height: 1.1;
	--md-sys-typescale-display-small-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);
	--md-sys-typescale-display-small-line-height: 1.12;
	--md-sys-typescale-headline-large-size: 2rem;
	--md-sys-typescale-headline-large-line-height: 1.25;
	--md-sys-typescale-headline-medium-size: 1.75rem;
	--md-sys-typescale-headline-medium-line-height: 1.28;
	--md-sys-typescale-headline-small-size: clamp(1.25rem, 1.15rem + .4vw, 1.5rem);
	--md-sys-typescale-headline-small-line-height: 1.3;
	--md-sys-typescale-title-large-size: 1.375rem;
	--md-sys-typescale-title-large-line-height: 1.27;
	--md-sys-typescale-title-medium-size: 1rem;
	--md-sys-typescale-title-medium-line-height: 1.5;
	--md-sys-typescale-title-small-size: 0.875rem;
	--md-sys-typescale-title-small-line-height: 1.43;
	--md-sys-typescale-body-large-size: 1.0625rem;  /* 17 px kept for reading comfort */
	--md-sys-typescale-body-large-line-height: 1.65;
	--md-sys-typescale-body-medium-size: 0.9375rem;
	--md-sys-typescale-body-medium-line-height: 1.5;
	--md-sys-typescale-body-small-size: 0.8125rem;
	--md-sys-typescale-body-small-line-height: 1.4;
	--md-sys-typescale-label-large-size: 0.875rem;
	--md-sys-typescale-label-large-line-height: 1.43;
	--md-sys-typescale-label-medium-size: 0.75rem;
	--md-sys-typescale-label-medium-line-height: 1.33;
	--md-sys-typescale-label-small-size: 0.6875rem;
	--md-sys-typescale-label-small-line-height: 1.45;
	--md-sys-typescale-weight-regular: 400;
	--md-sys-typescale-weight-medium: 500;
	--md-sys-typescale-weight-emphasized: 650;
	--md-sys-typescale-weight-display-emphasized: 780;

	/* Shape — restrained: small/medium corners for structure, full and the expressive shapes only for accents */
	--md-sys-shape-corner-none: 0;
	--md-sys-shape-corner-extra-small: 4px;
	--md-sys-shape-corner-small: 8px;
	--md-sys-shape-corner-medium: 12px;
	--md-sys-shape-corner-large: 16px;
	--md-sys-shape-corner-large-increased: 20px;
	--md-sys-shape-corner-extra-large: 28px;
	--md-sys-shape-corner-full: 999px;
	/* Expressive shape library (used sparingly): 9-sided cookie for step numbers */
	--md-sys-shape-cookie9: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M98.2 50.0L98.0 51.7L97.3 53.3L96.2 54.9L94.9 56.3L93.3 57.6L91.8 58.9L90.3 60.0L89.0 61.2L88.0 62.4L87.4 63.6L87.1 65.0L87.1 66.5L87.3 68.2L87.7 70.0L88.1 72.0L88.4 74.0L88.5 76.0L88.3 77.9L87.8 79.5L86.9 81.0L85.7 82.1L84.1 82.9L82.3 83.4L80.3 83.7L78.3 83.7L76.3 83.6L74.4 83.6L72.7 83.7L71.2 83.9L69.9 84.5L68.8 85.3L67.8 86.5L66.9 87.9L66.0 89.6L65.0 91.3L64.0 93.1L62.8 94.7L61.5 96.0L60.0 96.9L58.4 97.5L56.7 97.5L55.0 97.1L53.2 96.4L51.6 95.3L50.0 94.0L48.5 92.7L47.1 91.4L45.8 90.4L44.4 89.6L43.1 89.2L41.7 89.1L40.2 89.4L38.6 89.9L36.8 90.6L35.0 91.3L33.0 92.0L31.1 92.5L29.2 92.6L27.5 92.4L25.9 91.7L24.6 90.7L23.5 89.3L22.7 87.6L22.1 85.7L21.7 83.7L21.4 81.7L21.1 79.9L20.8 78.2L20.3 76.8L19.5 75.6L18.5 74.6L17.2 73.9L15.6 73.2L13.8 72.6L11.9 72.0L10.0 71.3L8.2 70.4L6.7 69.3L5.5 68.0L4.7 66.5L4.4 64.8L4.4 63.1L4.9 61.2L5.7 59.4L6.7 57.6L7.7 55.9L8.7 54.3L9.5 52.8L10.0 51.4L10.2 50.0L10.0 48.6L9.5 47.2L8.7 45.7L7.7 44.1L6.7 42.4L5.7 40.6L4.9 38.8L4.4 36.9L4.4 35.2L4.7 33.5L5.5 32.0L6.7 30.7L8.2 29.6L10.0 28.7L11.9 28.0L13.8 27.4L15.6 26.8L17.2 26.1L18.5 25.4L19.5 24.4L20.3 23.2L20.8 21.8L21.1 20.1L21.4 18.3L21.7 16.3L22.1 14.3L22.7 12.4L23.5 10.7L24.6 9.3L25.9 8.3L27.5 7.6L29.2 7.4L31.1 7.5L33.0 8.0L35.0 8.7L36.8 9.4L38.6 10.1L40.2 10.6L41.7 10.9L43.1 10.8L44.4 10.4L45.8 9.6L47.1 8.6L48.5 7.3L50.0 6.0L51.6 4.7L53.2 3.6L55.0 2.9L56.7 2.5L58.4 2.5L60.0 3.1L61.5 4.0L62.8 5.3L64.0 6.9L65.0 8.7L66.0 10.4L66.9 12.1L67.8 13.5L68.8 14.7L69.9 15.5L71.2 16.1L72.7 16.3L74.4 16.4L76.3 16.4L78.3 16.3L80.3 16.3L82.3 16.6L84.1 17.1L85.7 17.9L86.9 19.0L87.8 20.5L88.3 22.1L88.5 24.0L88.4 26.0L88.1 28.0L87.7 30.0L87.3 31.8L87.1 33.5L87.1 35.0L87.4 36.4L88.0 37.6L89.0 38.8L90.3 40.0L91.8 41.1L93.3 42.4L94.9 43.7L96.2 45.1L97.3 46.7L98.0 48.3Z'/%3E%3C/svg%3E");

	/* Elevation (dark scheme: shadow + tonal step up) */
	--md-sys-elevation-0: none;
	--md-sys-elevation-1: 0 1px 2px rgba(0,0,0,.55), 0 1px 3px 1px rgba(0,0,0,.3);
	--md-sys-elevation-2: 0 1px 2px rgba(0,0,0,.55), 0 2px 6px 2px rgba(0,0,0,.3);
	--md-sys-elevation-3: 0 4px 8px 3px rgba(0,0,0,.3), 0 1px 3px rgba(0,0,0,.55);
	--md-sys-elevation-4: 0 6px 10px 4px rgba(0,0,0,.3), 0 2px 3px rgba(0,0,0,.55);
	--md-sys-elevation-5: 0 8px 12px 6px rgba(0,0,0,.3), 0 4px 4px rgba(0,0,0,.55);

	/* Motion — M3 Expressive springs as CSS linear() (sampled spring curves) */
	--md-sys-motion-spring-fast-spatial: linear(0, 0.112, 0.352, 0.611, 0.827, 0.976, 1.06, 1.092, 1.091, 1.071, 1.047, 1.024, 1.007, 0.997, 0.992, 0.991, 0.992, 0.995, 0.997, 0.999, 1);
	--md-sys-motion-spring-fast-spatial-duration: 350ms;     /* damping 0.6, stiffness 800 */
	--md-sys-motion-spring-default-spatial: linear(0, 0.091, 0.28, 0.483, 0.66, 0.796, 0.891, 0.953, 0.988, 1.007, 1.014, 1.015, 1.013, 1.01, 1.007, 1.005, 1.003, 1.001, 1);
	--md-sys-motion-spring-default-spatial-duration: 500ms;  /* damping 0.8, stiffness 380 */
	--md-sys-motion-spring-fast-effects: linear(0, 0.058, 0.181, 0.321, 0.456, 0.574, 0.672, 0.751, 0.813, 0.861, 0.897, 0.924, 0.945, 0.96, 0.971, 0.979, 0.985, 0.989, 0.992, 0.996, 1);
	--md-sys-motion-spring-fast-effects-duration: 150ms;     /* damping 1, stiffness 3800 */
	--md-sys-motion-spring-default-effects: linear(0, 0.045, 0.144, 0.264, 0.385, 0.496, 0.594, 0.677, 0.745, 0.801, 0.845, 0.881, 0.908, 0.93, 0.947, 0.96, 0.969, 0.977, 0.983, 0.99, 1);
	--md-sys-motion-spring-default-effects-duration: 200ms;  /* damping 1, stiffness 1600 */
	--md-sys-motion-easing-emphasized: cubic-bezier(0.2, 0, 0, 1);
	--md-sys-motion-easing-emphasized-decelerate: cubic-bezier(0.05, 0.7, 0.1, 1);
	--md-sys-motion-easing-emphasized-accelerate: cubic-bezier(0.3, 0, 0.8, 0.15);
	--md-sys-motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);
	--md-sys-motion-duration-short2: 100ms;
	--md-sys-motion-duration-short4: 200ms;
	--md-sys-motion-duration-medium2: 300ms;
	--md-sys-motion-duration-medium4: 400ms;
	--md-sys-motion-duration-long2: 500ms;

	/* Shorthands used below */
	--m3-shape-t: border-radius var(--md-sys-motion-spring-fast-spatial-duration) var(--md-sys-motion-spring-fast-spatial);
	--m3-fx-t: background-color var(--md-sys-motion-spring-default-effects-duration) var(--md-sys-motion-spring-default-effects),
		color var(--md-sys-motion-spring-default-effects-duration) var(--md-sys-motion-spring-default-effects),
		border-color var(--md-sys-motion-spring-default-effects-duration) var(--md-sys-motion-spring-default-effects),
		box-shadow var(--md-sys-motion-spring-default-effects-duration) var(--md-sys-motion-spring-default-effects);
	--m3-focus-ring: 0 0 0 3px var(--md-sys-color-surface), 0 0 0 5px var(--md-sys-color-secondary);
}
/* A state layer is an inset shadow tinted with the content colour: it sits over the background and under the text. */
:root { --m3-sl: 0; }

/* ---------- 2. Base ---------- */
body { background: var(--md-sys-color-surface); color: var(--md-sys-color-on-surface-body); }
:focus-visible { outline: 2px solid var(--md-sys-color-secondary); outline-offset: 3px; }
::selection { background: var(--md-sys-color-primary); color: var(--md-sys-color-on-primary); }
:where(.wp-site-blocks) h1, :where(.wp-site-blocks) h2 { font-weight: var(--md-sys-typescale-weight-display-emphasized); }
h1, .wp-block-post-title:where(h1) { font-size: var(--md-sys-typescale-display-large-size); line-height: var(--md-sys-typescale-display-large-line-height); letter-spacing: -0.03em; }
h2 { font-size: var(--md-sys-typescale-display-small-size); line-height: var(--md-sys-typescale-display-small-line-height); letter-spacing: -0.025em; }
h3 { font-size: var(--md-sys-typescale-headline-small-size); line-height: var(--md-sys-typescale-headline-small-line-height); font-weight: var(--md-sys-typescale-weight-emphasized); letter-spacing: -0.01em; }
h4 { font-size: var(--md-sys-typescale-title-large-size); line-height: var(--md-sys-typescale-title-large-line-height); font-weight: var(--md-sys-typescale-weight-emphasized); letter-spacing: 0; }
a { color: var(--md-sys-color-primary-fixed-dim); }
a:hover { color: var(--md-sys-color-on-surface); }
hr, .wp-block-separator { border-color: var(--md-sys-color-outline-variant); }

/* Eyebrow = label-large, emphasized, in gold */
.round-eyebrow, .round-eyebrow a, .round-types .round-types__kicker {
	color: var(--md-sys-color-primary-fixed-dim); font-size: var(--md-sys-typescale-label-large-size); line-height: var(--md-sys-typescale-label-large-line-height);
	font-weight: var(--md-sys-typescale-weight-emphasized); letter-spacing: 0.1em;
}
.round-card .round-eyebrow, .round-types .round-types__kicker { font-size: var(--md-sys-typescale-label-medium-size); }

/* ---------- 3. Buttons (M3 Expressive: square shape that morphs on press, state layers, sizes S–L) ---------- */
.wp-element-button, .wp-block-button__link, .round-form button[type=submit], .round-search button, .rfp-btn {
	--m3-sl-c: var(--md-sys-color-on-primary);
	display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; box-sizing: border-box;
	min-height: 56px; padding: 0 1.5rem;
	border: 0; border-radius: var(--md-sys-shape-corner-large);
	background-color: var(--md-sys-color-primary); color: var(--md-sys-color-on-primary);
	font-family: var(--md-ref-typeface-plain); font-size: var(--md-sys-typescale-title-medium-size); line-height: 1.25;
	font-weight: var(--md-sys-typescale-weight-emphasized); letter-spacing: 0.01em; text-transform: none; text-decoration: none;
	box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--m3-sl-c) calc(var(--m3-sl) * 100%), transparent);
	transform: none; cursor: pointer;
	transition: var(--m3-shape-t), var(--m3-fx-t);
}
.wp-element-button:hover, .wp-block-button__link:hover, .round-form button[type=submit]:hover, .round-search button:hover, .rfp-btn:hover {
	--m3-sl: var(--md-sys-state-hover); transform: none;
	background-color: var(--md-sys-color-primary); color: var(--md-sys-color-on-primary);
	box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--m3-sl-c) calc(var(--m3-sl) * 100%), transparent), var(--md-sys-elevation-1);
}
.wp-element-button:focus-visible, .wp-block-button__link:focus-visible, .round-form button[type=submit]:focus-visible, .round-search button:focus-visible, .rfp-btn:focus-visible {
	--m3-sl: var(--md-sys-state-focus); outline: 2px solid var(--md-sys-color-secondary); outline-offset: 3px;
}
/* Shape morph on press: corners tighten with a spatial spring */
.wp-element-button:active, .wp-block-button__link:active, .round-form button[type=submit]:active, .round-search button:active, .rfp-btn:active {
	--m3-sl: var(--md-sys-state-pressed); border-radius: var(--md-sys-shape-corner-small); transform: none;
	box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--m3-sl-c) calc(var(--m3-sl) * 100%), transparent);
}
/* Outlined button */
.wp-block-button.is-style-outline > .wp-block-button__link, .wp-block-button.is-style-outline > .wp-block-button__link:hover, .wp-block-button.is-style-outline > .wp-block-button__link:active {
	--m3-sl-c: var(--md-sys-color-primary-fixed-dim);
	background-color: transparent; color: var(--md-sys-color-on-surface);
	border: 1px solid var(--md-sys-color-outline); padding: 0 calc(1.5rem - 1px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { border-color: var(--md-sys-color-primary-fixed-dim); }
.wp-block-button.is-style-outline > .wp-block-button__link { border-radius: var(--md-sys-shape-corner-large); }
.wp-block-button.is-style-outline > .wp-block-button__link:active { border-radius: var(--md-sys-shape-corner-small); }
/* Tonal button (planner secondary actions, search) */
.round-search button, .rfp-btn.is-tonal {
	--m3-sl-c: var(--md-sys-color-on-secondary-container);
	background-color: var(--md-sys-color-secondary-container); color: var(--md-sys-color-on-secondary-container);
}
.round-search button:hover { background-color: var(--md-sys-color-secondary-container); color: var(--md-sys-color-on-secondary-container); }
/* Text button */
.round-form__add, .rfp-link {
	--m3-sl-c: var(--md-sys-color-primary-fixed-dim);
	display: inline-flex; align-items: center; min-height: 48px; padding: 0 0.75rem; margin-left: -0.75rem;
	border-radius: var(--md-sys-shape-corner-full); color: var(--md-sys-color-primary-fixed-dim);
	font-weight: var(--md-sys-typescale-weight-emphasized); font-size: var(--md-sys-typescale-label-large-size); text-decoration: none;
	box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--m3-sl-c) calc(var(--m3-sl) * 100%), transparent);
	transition: var(--m3-fx-t);
}
.round-form__add:hover, .rfp-link:hover { --m3-sl: var(--md-sys-state-hover); color: var(--md-sys-color-primary-fixed-dim); }
.round-form__add:focus-visible, .rfp-link:focus-visible { --m3-sl: var(--md-sys-state-focus); outline: 2px solid var(--md-sys-color-secondary); outline-offset: 2px; color: var(--md-sys-color-primary-fixed-dim); }
/* Button group: standard 8 px gap */
.wp-block-buttons { gap: 0.5rem; }
/* Size S for the top app bar CTA (40 px visual, 48 px touch target) */
.round-header__cta .wp-block-button__link {
	min-height: 40px !important; padding: 0 1rem !important; font-size: var(--md-sys-typescale-label-large-size) !important;
	border-radius: var(--md-sys-shape-corner-medium); position: relative;
}
.round-header__cta .wp-block-button__link::before { content: ""; position: absolute; inset: -4px 0; }
.round-header__cta .wp-block-button__link:active { border-radius: var(--md-sys-shape-corner-small); }
/* Size L for the hero's first action */
.round-hero .wp-block-buttons > .wp-block-button:first-child > .wp-block-button__link { min-height: 64px; padding-inline: 2rem; font-size: 1.0625rem; border-radius: var(--md-sys-shape-corner-large-increased); }
.round-hero .wp-block-buttons > .wp-block-button:first-child > .wp-block-button__link:active { border-radius: var(--md-sys-shape-corner-medium); }
/* "Sending": the screw keeps turning (round.js), button stays in shape */
button.is-sending { padding-right: 3rem !important; }

/* ---------- 4. Top app bar + navigation ---------- */
.round-header {
	background: var(--md-sys-color-app-bar); border-bottom: 0; box-shadow: none;
	transition: box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard);
}
.round-header .wp-block-navigation a, .round-header .wp-block-navigation-item__content {
	--m3-sl-c: var(--md-sys-color-on-app-bar);
	display: inline-flex; align-items: center; min-height: 40px; padding: 0 0.75rem !important; border-radius: var(--md-sys-shape-corner-full);
	color: var(--md-sys-color-on-app-bar) !important; font-weight: var(--md-sys-typescale-weight-medium); letter-spacing: 0.01em; text-decoration: none !important;
	box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--m3-sl-c) calc(var(--m3-sl) * 100%), transparent);
	transition: var(--m3-fx-t);
}
.round-header .wp-block-navigation a:hover { --m3-sl: var(--md-sys-state-hover); color: var(--md-sys-color-on-app-bar) !important; }
.round-header .wp-block-navigation a:focus-visible { --m3-sl: var(--md-sys-state-focus); outline: 2px solid var(--md-sys-color-secondary); outline-offset: 0; }
/* Active indicator: a pill in the secondary container */
.round-header .wp-block-navigation a[aria-current], .round-header .wp-block-navigation .current-menu-item > a {
	background: var(--md-sys-color-secondary-container); color: var(--md-sys-color-on-secondary-container) !important; font-weight: var(--md-sys-typescale-weight-emphasized);
}
@media (min-width: 1024px) {
	.round-header .wp-block-navigation__container { gap: 0.125rem !important; }
	html:lang(de) .round-header .wp-block-navigation__container, html:lang(es) .round-header .wp-block-navigation__container { gap: 0 !important; }
	.round-header .wp-block-navigation a { padding: 0 0.625rem !important; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
	.round-header .wp-block-navigation a { padding: 0 0.5rem !important; }
}
/* Menu open / close: 48 px icon buttons */
.round-header .wp-block-navigation__responsive-container-open, .round-header .wp-block-navigation__responsive-container-close {
	--m3-sl-c: var(--md-sys-color-on-app-bar);
	width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: var(--md-sys-shape-corner-full);
	box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--m3-sl-c) calc(var(--m3-sl) * 100%), transparent);
	transition: var(--m3-fx-t), var(--m3-shape-t);
}
.round-header .wp-block-navigation__responsive-container-open:hover, .round-header .wp-block-navigation__responsive-container-close:hover { --m3-sl: var(--md-sys-state-hover); }
.round-header .wp-block-navigation__responsive-container-open:active, .round-header .wp-block-navigation__responsive-container-close:active { --m3-sl: var(--md-sys-state-pressed); border-radius: var(--md-sys-shape-corner-medium); }
.round-header .wp-block-navigation__responsive-container-close { top: 1rem !important; right: 1rem !important; }
/* Mobile: the overlay becomes a full-height navigation sheet */
.round-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--md-sys-color-surface-container-low) !important; color: var(--md-sys-color-on-surface) !important;
	padding: 1rem 1rem 2rem !important;
}
.round-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 4.5rem !important; align-items: stretch !important; }
.round-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0.25rem !important; align-items: stretch !important; width: 100%; }
.round-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; }
.round-header .wp-block-navigation__responsive-container.is-menu-open a {
	--m3-sl-c: var(--md-sys-color-on-surface);
	display: flex !important; width: 100%; box-sizing: border-box; min-height: 56px; padding: 0 1.5rem !important;
	color: var(--md-sys-color-on-surface) !important; font-size: var(--md-sys-typescale-title-large-size); font-weight: var(--md-sys-typescale-weight-medium);
}
.round-header .wp-block-navigation__responsive-container.is-menu-open a[aria-current] { background: var(--md-sys-color-secondary-container); color: var(--md-sys-color-on-secondary-container) !important; }
.round-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { color: var(--md-sys-color-on-surface) !important; --m3-sl-c: var(--md-sys-color-on-surface); }
@media (prefers-reduced-motion: no-preference) {
	.round-header .wp-block-navigation__responsive-container.is-menu-open { animation: m3-sheet-in var(--md-sys-motion-spring-default-spatial-duration) var(--md-sys-motion-spring-default-spatial) both !important; }
}
@keyframes m3-sheet-in { from { transform: translateX(-24px); opacity: 0; } to { transform: none; opacity: 1; } }

/* Language switcher = assist chip + menu */
.round-lang summary {
	--m3-sl-c: var(--md-sys-color-on-app-bar);
	display: inline-flex; align-items: center; gap: 0.25rem; min-height: 32px; padding: 0 0.75rem; position: relative;
	border: 1px solid var(--md-sys-color-outline) !important; border-radius: var(--md-sys-shape-corner-small);
	color: var(--md-sys-color-on-app-bar); font-size: var(--md-sys-typescale-label-large-size); font-weight: var(--md-sys-typescale-weight-medium);
	box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--m3-sl-c) calc(var(--m3-sl) * 100%), transparent);
	transition: var(--m3-fx-t), var(--m3-shape-t);
}
.round-lang summary::before { content: ""; position: absolute; inset: -8px -4px; }  /* 48 px touch target */
.round-lang summary::after { content: ""; width: 0; height: 0; border: 4px solid transparent; border-top-color: currentColor; margin: 4px 0 0 2px; transition: transform var(--md-sys-motion-spring-fast-spatial-duration) var(--md-sys-motion-spring-fast-spatial); }
.round-lang[open] summary::after { transform: rotate(180deg) translateY(4px); }
.round-lang summary:hover { --m3-sl: var(--md-sys-state-hover); }
.round-lang[open] summary { background: var(--md-sys-color-secondary-container); color: var(--md-sys-color-on-secondary-container); border-color: transparent !important; border-radius: var(--md-sys-shape-corner-medium); }
.round-lang ul {
	padding: 0.5rem 0; min-width: 12rem; top: calc(100% + 8px);
	background: var(--md-sys-color-surface-container); border: 0; border-radius: var(--md-sys-shape-corner-large);
	box-shadow: var(--md-sys-elevation-2);
	transform-origin: top right;
}
@media (prefers-reduced-motion: no-preference) {
	.round-lang[open] ul { animation: m3-menu-in var(--md-sys-motion-spring-fast-spatial-duration) var(--md-sys-motion-spring-fast-spatial) both; }
}
@keyframes m3-menu-in { from { transform: scaleY(.6); opacity: 0; } to { transform: none; opacity: 1; } }
.round-lang a {
	--m3-sl-c: var(--md-sys-color-on-surface);
	display: flex; align-items: center; min-height: 48px; padding: 0 0.75rem; margin: 0 0.25rem; border-radius: var(--md-sys-shape-corner-medium);
	color: var(--md-sys-color-on-surface); font-size: var(--md-sys-typescale-label-large-size);
	box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--m3-sl-c) calc(var(--m3-sl) * 100%), transparent);
	transition: var(--m3-fx-t);
}
.round-lang a span { color: var(--md-sys-color-on-surface-variant); }
.round-lang a:hover { --m3-sl: var(--md-sys-state-hover); background: transparent; }
.round-lang a[aria-current] { background: var(--md-sys-color-secondary-container); color: var(--md-sys-color-on-secondary-container); font-weight: var(--md-sys-typescale-weight-emphasized); }
.round-header .round-lang summary { background-color: transparent; border-color: var(--md-sys-color-outline) !important; }
.round-header .round-lang[open] summary { background: var(--md-sys-color-secondary-container); color: var(--md-sys-color-on-secondary-container); }

/* ---------- 5. Cards and containers ---------- */
/* Filled card: product, journal and related cards */
.round-card, .round-related a, .round-types a {
	--m3-sl-c: var(--md-sys-color-on-surface);
	background: var(--md-sys-color-surface-container); border: 0; border-radius: var(--md-sys-shape-corner-medium);
	box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--m3-sl-c) calc(var(--m3-sl) * 100%), transparent);
	transition: var(--m3-fx-t), var(--m3-shape-t);
}
.round-card { padding: 0.75rem 0.75rem 1.25rem; }
.round-card:hover, .round-related a:hover, .round-types a:hover {
	--m3-sl: var(--md-sys-state-hover); background: var(--md-sys-color-surface-container);
	box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--m3-sl-c) calc(var(--m3-sl) * 100%), transparent), var(--md-sys-elevation-1);
}
/* Expressive: interactive cards round off a little when hovered (shape morph) */
.round-card:hover, .round-types a:hover, .round-related a:hover { border-radius: var(--md-sys-shape-corner-large-increased); }
.round-card:focus-within { outline: 2px solid var(--md-sys-color-secondary); outline-offset: 2px; }
.round-card h3, .round-card .wp-block-post-title { font-size: var(--md-sys-typescale-title-large-size); line-height: var(--md-sys-typescale-title-large-line-height); font-weight: var(--md-sys-typescale-weight-emphasized); letter-spacing: -0.005em; padding-inline: 0.25rem; }
.round-card > :not(.wp-block-post-featured-image) { padding-inline: 0.25rem; }
.round-card .wp-block-post-featured-image { border-radius: var(--md-sys-shape-corner-small); }
.round-price--compact { color: var(--md-sys-color-on-surface-variant); }
.round-price--compact .round-price__num { color: var(--md-sys-color-on-surface); font-size: 1.25rem; font-weight: 600; }
.round-card__excerpt, .round-card__excerpt p { color: var(--md-sys-color-on-surface-variant); }
.round-related a { padding: 0.5rem; font-weight: var(--md-sys-typescale-weight-emphasized); }
.round-types a { padding: 1.5rem; border: 0; }
.round-types a:hover { border-color: transparent; }
.round-types strong { font-size: var(--md-sys-typescale-title-large-size); font-weight: var(--md-sys-typescale-weight-emphasized); }
.round-types span { color: var(--md-sys-color-on-surface-variant); }

/* Outlined / filled info cards */
.round-benefits li, .round-options li, .round-kit {
	background: var(--md-sys-color-surface-container-low); border: 1px solid var(--md-sys-color-outline-variant); border-radius: var(--md-sys-shape-corner-medium);
}
.round-options li { border-top: 1px solid var(--md-sys-color-outline-variant); position: relative; overflow: hidden; }
.round-options li::before { content: ""; position: absolute; left: 1.5rem; top: 0; width: 2.5rem; height: 4px; border-radius: 0 0 var(--md-sys-shape-corner-extra-small) var(--md-sys-shape-corner-extra-small); background: var(--md-sys-color-primary); }
.round-benefits h3, .round-options strong, .round-steps strong { font-size: var(--md-sys-typescale-title-medium-size); font-weight: var(--md-sys-typescale-weight-emphasized); color: var(--md-sys-color-on-surface); }
.round-benefits h3 { font-size: 1.125rem; }
.round-benefits p, .round-options span, .round-steps span, .round-trust__list span { color: var(--md-sys-color-on-surface-variant); }
.round-kit.is-featured { background: var(--md-sys-color-surface-container-high); border: 2px solid var(--md-sys-color-primary); }
.round-kit__lead { color: var(--md-sys-color-primary-fixed-dim); }

/* Trust bar: one filled container, divided */
.round-trust__list { gap: 1px; background: var(--md-sys-color-outline-variant); border-radius: var(--md-sys-shape-corner-large); }
.round-trust__list li { background: var(--md-sys-color-surface-container); }
.round-trust__list strong { color: var(--md-sys-color-on-surface); font-weight: var(--md-sys-typescale-weight-emphasized); }

/* Process steps: number in the expressive cookie shape */
.round-steps li {
	background: var(--md-sys-color-surface-container); border: 0; border-radius: var(--md-sys-shape-corner-medium);
	padding: 1.25rem 1.5rem 1.5rem; gap: 0.5rem;
}
.round-steps li::before {
	display: grid; place-items: center; width: 3rem; height: 3rem; margin-bottom: 0.25rem;
	background: var(--md-sys-color-primary-container); color: var(--md-sys-color-on-primary-container);
	-webkit-mask: var(--md-sys-shape-cookie9) center / contain no-repeat; mask: var(--md-sys-shape-cookie9) center / contain no-repeat;
	font-size: 1.125rem; font-weight: 600;
}

/* Dimension tiles */
.round-dims div { border-left: 0; padding: 0.875rem 1rem; background: var(--md-sys-color-surface-container); border-radius: var(--md-sys-shape-corner-medium); }
.round-dims dt { color: var(--md-sys-color-on-surface-variant); font-size: var(--md-sys-typescale-label-medium-size); font-weight: var(--md-sys-typescale-weight-medium); }
.round-dims dd { color: var(--md-sys-color-on-surface); }

/* Stats: emphasized display figures */
.round-stats strong { font-size: var(--md-sys-typescale-display-small-size); color: var(--md-sys-color-primary-fixed-dim); font-weight: 600; }
.round-stats span { color: var(--md-sys-color-on-surface-variant); }

/* Big containers: CTA, newsletter, enquiry */
.round-cta, .round-newsletter__box { border: 0; border-radius: var(--md-sys-shape-corner-extra-large); overflow: hidden; }
.round-quote, .round-enquiry { border-radius: var(--md-sys-shape-corner-extra-large); }
.round-legal-note { border-left: 0; background: var(--md-sys-color-surface-container-high); border-radius: var(--md-sys-shape-corner-medium); padding: 1rem 1.25rem; }

/* Price block */
.round-price { border-block: 0; padding: 1rem 1.25rem; background: var(--md-sys-color-surface-container); border-radius: var(--md-sys-shape-corner-large); }
.round-price__main { color: var(--md-sys-color-on-surface-variant); }
.round-price__main .round-price__num { font-size: var(--md-sys-typescale-display-small-size); color: var(--md-sys-color-on-surface); font-weight: 600; }
.round-price__note { color: var(--md-sys-color-on-surface-variant); }
.round-ticks { color: var(--md-sys-color-on-surface-variant); }
.round-ticks li::before { color: var(--md-sys-color-primary-fixed-dim); }

/* Specs and matrix = lists with dividers */
.round-specs th, .round-specs td, .round-matrix th, .round-matrix td { border-bottom-color: var(--md-sys-color-outline-variant); }
.round-specs th, .round-matrix thead th { color: var(--md-sys-color-on-surface-variant); }

/* ---------- 6. Chips (filter / assist) ---------- */
.round-cats a, .round-suited a {
	--m3-sl-c: var(--md-sys-color-on-surface-variant);
	display: inline-flex; align-items: center; gap: 0.5rem; min-height: 32px; padding: 0 1rem; position: relative;
	border: 1px solid var(--md-sys-color-outline); border-radius: var(--md-sys-shape-corner-small);
	color: var(--md-sys-color-on-surface-variant); font-size: var(--md-sys-typescale-label-large-size); font-weight: var(--md-sys-typescale-weight-medium);
	background: transparent;
	box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--m3-sl-c) calc(var(--m3-sl) * 100%), transparent);
	transition: var(--m3-fx-t), var(--m3-shape-t);
}
.round-cats a { min-height: 40px; }
.round-cats a::before, .round-suited a::before { content: ""; position: absolute; inset: -8px 0; }
.round-cats a:hover, .round-suited a:hover { --m3-sl: var(--md-sys-state-hover); border-color: var(--md-sys-color-outline); color: var(--md-sys-color-on-surface); }
.round-cats a:active, .round-suited a:active { border-radius: var(--md-sys-shape-corner-medium); }
.round-cats a[aria-current] {
	background: var(--md-sys-color-secondary-container); border-color: transparent; color: var(--md-sys-color-on-secondary-container); font-weight: var(--md-sys-typescale-weight-emphasized);
	border-radius: var(--md-sys-shape-corner-medium);
}
.round-cats a[aria-current]::after { content: ""; order: -1; width: 18px; height: 18px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.55 18 3.85 12.3l1.43-1.43 4.27 4.28 9.18-9.18 1.42 1.42z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.55 18 3.85 12.3l1.43-1.43 4.27 4.28 9.18-9.18 1.42 1.42z'/%3E%3C/svg%3E") center / contain no-repeat; }
/* Filter chips in forms */
.round-form .round-chip > span {
	--m3-sl-c: var(--md-sys-color-on-surface-variant);
	min-height: 40px; padding: 0 1rem; gap: 0.5rem; position: relative;
	border: 1px solid var(--md-sys-color-outline); border-radius: var(--md-sys-shape-corner-small);
	background: transparent; color: var(--md-sys-color-on-surface-variant);
	font-size: var(--md-sys-typescale-label-large-size); font-weight: var(--md-sys-typescale-weight-medium);
	box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--m3-sl-c) calc(var(--m3-sl) * 100%), transparent);
	transition: var(--m3-fx-t), var(--m3-shape-t);
}
.round-form .round-chip > span::after { content: ""; position: absolute; inset: -4px 0; }
.round-chip:hover > span { --m3-sl: var(--md-sys-state-hover); border-color: var(--md-sys-color-outline); }
.round-chip input:checked + span {
	background: var(--md-sys-color-secondary-container); border-color: transparent; color: var(--md-sys-color-on-secondary-container);
	border-radius: var(--md-sys-shape-corner-medium); font-weight: var(--md-sys-typescale-weight-emphasized);
}
.round-chip input:checked + span::before { color: inherit; }
.round-chip input:focus-visible + span { --m3-sl: var(--md-sys-state-focus); outline: 2px solid var(--md-sys-color-secondary); outline-offset: 2px; }
.round-chips.is-invalid .round-chip > span { border-color: var(--md-sys-color-error); }

/* ---------- 7. Text fields (outlined) ---------- */
.round-form label > span, .round-chips legend, .rfp-field__l, .rfp-ff label {
	color: var(--md-sys-color-on-surface-variant); font-size: var(--md-sys-typescale-body-small-size); font-weight: var(--md-sys-typescale-weight-medium); letter-spacing: 0.02em;
}
.round-form input:not([type=checkbox]):not([type=radio]), .round-form select, .round-form textarea, .round-search input[type=search],
.rfp select, .rfp input[type="number"], .rfp input[type="text"], .rfp input[type="email"], .rfp input[type="tel"], .rfp textarea {
	min-height: 56px; padding: 0.875rem 1rem; box-sizing: border-box;
	background: transparent; color: var(--md-sys-color-on-surface);
	border: 1px solid var(--md-sys-color-outline); border-radius: var(--md-sys-shape-corner-extra-small);
	font-size: 1rem; box-shadow: none;
	transition: border-color var(--md-sys-motion-spring-fast-effects-duration) var(--md-sys-motion-spring-fast-effects), box-shadow var(--md-sys-motion-spring-fast-effects-duration) var(--md-sys-motion-spring-fast-effects);
}
.round-form select, .rfp select { background-color: var(--md-sys-color-surface); }
.round-form textarea, .rfp textarea { min-height: 7.5rem; }
.round-form input:not([type=checkbox]):not([type=radio]):hover, .round-form select:hover, .round-form textarea:hover, .round-search input[type=search]:hover,
.rfp select:hover, .rfp input:hover, .rfp textarea:hover { border-color: var(--md-sys-color-on-surface); }
.round-form input:focus, .round-form select:focus, .round-form textarea:focus, .round-search input[type=search]:focus,
.rfp select:focus, .rfp input:focus, .rfp textarea:focus {
	outline: none; border-color: var(--md-sys-color-primary); box-shadow: inset 0 0 0 1px var(--md-sys-color-primary);
}
.round-form input::placeholder, .round-form textarea::placeholder, .round-search input::placeholder { color: var(--md-sys-color-on-surface-variant); opacity: 1; }
.round-search input[type=search] { background: var(--md-sys-color-surface-container-high); border-color: transparent; border-radius: var(--md-sys-shape-corner-full); padding-inline: 1.5rem; }
.round-search button { border-radius: var(--md-sys-shape-corner-full); }
.round-search button:active { border-radius: var(--md-sys-shape-corner-medium); }
/* Error state + supporting text */
.round-field__err { color: var(--md-sys-color-error); font-size: var(--md-sys-typescale-body-small-size); margin-top: 0.25rem; padding-inline: 1rem; }
.round-field.is-invalid input:not([type=checkbox]), .round-field.is-invalid select, .round-field.is-invalid textarea { border-color: var(--md-sys-color-error); box-shadow: inset 0 0 0 1px var(--md-sys-color-error); }
.round-field.is-invalid label > span { color: var(--md-sys-color-error); }
.round-form__hint, .rfp-field__h { color: var(--md-sys-color-on-surface-variant); font-size: var(--md-sys-typescale-body-small-size); }
.round-form__note, .round-cta-note, .round-reading-time { color: var(--md-sys-color-on-surface-variant); }
/* Checkboxes: 48 px rows, gold check */
.round-form__consent, .round-form__check, .rfp-consent { min-height: 48px; align-items: center; }
.round-form__consent input, .round-form__check input, .rfp-consent input, .round-form__checks input { width: 18px; height: 18px; accent-color: var(--md-sys-color-primary); }
.round-form__checks label { min-height: 48px; }
/* Product line in the enquiry + success message */
.round-form__about { border-left: 0; background: var(--md-sys-color-surface-container-high); border-radius: var(--md-sys-shape-corner-medium); }
.round-form__success { border-left: 0; background: var(--md-sys-color-primary-container); color: var(--md-sys-color-on-primary-container); border-radius: var(--md-sys-shape-corner-large); }
.round-form__success .round-form__success-title { color: var(--md-sys-color-on-primary-container); font-weight: var(--md-sys-typescale-weight-emphasized); }
/* Notices = snackbar-like banners */
.round-form__notice, .rfp-notice { border: 0; border-radius: var(--md-sys-shape-corner-small); padding: 0.875rem 1rem; box-shadow: var(--md-sys-elevation-1); }
.round-form__notice.is-ok, .rfp-notice.is-ok { background: var(--md-sys-color-inverse-surface); color: var(--md-sys-color-inverse-on-surface); }
.round-form__notice.is-error, .rfp-notice.is-error { background: var(--md-sys-color-error-container); color: var(--md-sys-color-on-error-container); }

/* ---------- 8. Lists: FAQ, footer ---------- */
.round-faq__item { border-top-color: var(--md-sys-color-outline-variant); }
.round-faq__item:last-of-type { border-bottom-color: var(--md-sys-color-outline-variant); }
.round-faq__item summary {
	--m3-sl-c: var(--md-sys-color-on-surface);
	align-items: center; min-height: 56px; padding: 0.75rem 1rem; margin-inline: -1rem; border-radius: var(--md-sys-shape-corner-medium);
	font-size: var(--md-sys-typescale-title-medium-size); font-weight: var(--md-sys-typescale-weight-emphasized); color: var(--md-sys-color-on-surface);
	box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--m3-sl-c) calc(var(--m3-sl) * 100%), transparent);
	transition: var(--m3-fx-t);
}
.round-faq__item summary:hover { --m3-sl: var(--md-sys-state-hover); }
.round-faq__item summary:focus-visible { --m3-sl: var(--md-sys-state-focus); outline-offset: 0; }
.round-faq__item summary::after {
	content: ""; width: 24px; height: 24px; background: var(--md-sys-color-primary-fixed-dim);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 15.4-6-6L7.4 8l4.6 4.6L16.6 8 18 9.4z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 15.4-6-6L7.4 8l4.6 4.6L16.6 8 18 9.4z'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform var(--md-sys-motion-spring-fast-spatial-duration) var(--md-sys-motion-spring-fast-spatial);
}
.round-faq__item[open] summary::after { content: ""; transform: rotate(180deg); }
.round-faq__item p { color: var(--md-sys-color-on-surface-body); }

.round-footer__title { color: var(--md-sys-color-on-surface-variant); font-size: var(--md-sys-typescale-label-medium-size); font-weight: var(--md-sys-typescale-weight-emphasized); }
.round-footer__links { gap: 0; }
.round-footer__links a { display: inline-flex; align-items: center; min-height: 40px; color: var(--md-sys-color-on-surface-body); }
.round-footer a:hover { color: var(--md-sys-color-on-surface); }
.round-footer__langs a { display: inline-flex; align-items: center; min-height: 40px; color: var(--md-sys-color-on-surface-variant); }
.round-footer__langs a[aria-current] { color: var(--md-sys-color-on-surface); font-weight: var(--md-sys-typescale-weight-emphasized); }

/* ---------- 9. Pagination, lightbox (dialog), gallery thumbs ---------- */
.round-pager__item {
	--m3-sl-c: var(--md-sys-color-on-surface);
	min-width: 48px; height: 48px; border: 0; border-radius: var(--md-sys-shape-corner-full);
	background: transparent; color: var(--md-sys-color-on-surface-body);
	box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--m3-sl-c) calc(var(--m3-sl) * 100%), transparent);
	transition: var(--m3-fx-t), var(--m3-shape-t);
}
a.round-pager__item:hover { --m3-sl: var(--md-sys-state-hover); background: transparent; color: var(--md-sys-color-on-surface); }
a.round-pager__item:active { border-radius: var(--md-sys-shape-corner-medium); }
.round-pager__item.is-current { background: var(--md-sys-color-primary); color: var(--md-sys-color-on-primary); border-radius: var(--md-sys-shape-corner-medium); }
.round-pager__arrow { color: var(--md-sys-color-primary-fixed-dim); }

.round-lb { background: color-mix(in srgb, var(--md-sys-color-scrim) 88%, transparent); }
.round-lb button {
	--m3-sl-c: var(--md-sys-color-on-surface);
	border: 0; border-radius: var(--md-sys-shape-corner-full); background: var(--md-sys-color-surface-container-high); color: var(--md-sys-color-on-surface);
	box-shadow: inset 0 0 0 100vmax color-mix(in srgb, var(--m3-sl-c) calc(var(--m3-sl) * 100%), transparent);
	transition: var(--m3-fx-t), var(--m3-shape-t);
}
.round-lb button:hover { --m3-sl: var(--md-sys-state-hover); color: var(--md-sys-color-on-surface); }
.round-lb button:active { border-radius: var(--md-sys-shape-corner-medium); }
.round-gallery__thumbs a[aria-current] { outline-color: var(--md-sys-color-primary); }
.round-drawings a:hover, .round-drawings a:focus-visible { outline-color: var(--md-sys-color-secondary); }

/* ---------- 11. Motion: section drawers use the spatial spring; reduced motion respected ---------- */
.rf-js .rf-drawer.rf-in { transition: opacity var(--md-sys-motion-duration-long2) var(--md-sys-motion-easing-emphasized-decelerate), transform 600ms var(--md-sys-motion-spring-default-spatial); }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
	button.is-sending::after { animation: none !important; }
}
