/* =====================================================================
   Marble page chrome (pg-*) — header, liquid-glass nav, hero hand-off,
   sticky-aside FAQ, framed closing band, footer. Shared by the 27 reviewed
   pages of marble-paginas-revisadas-hasta-dispositivos-medicos-2026-10-02.

   Ported from <delivery>/assets/css/marble-page.css (T2, reviewed-pages-batch-1).
   Faithful port: only colour is tokenized (#fff -> --ms-on-dark, or --mb-white
   where it fills a surface; #333 -> --mb-grey-800; each #000 mask stop carries
   a declared exemption). No selector, value or order changed.

   NOT enqueued yet: it also carries the chrome that T4 moves into the theme, so
   when it loads is decided there. It reaches .ms-* and [data-practice] rules,
   so load it after components.css. Script: assets/js/pg-page.js.
   ===================================================================== */
/* =====================================================================
   Marble Headhunter — Page chrome v1.0 (internal pages)
   Shared by every internal page: preview bar, header with liquid-glass
   navigation, intro band, sticky-aside FAQ, framed closing band and footer.
   Extracted from the approved Select / Intelligence V2 pages so a hub or a
   practice page only writes its own sections. Consumes marble-tokens.css and
   marble-components.css; every brand value comes from the territorial tokens
   (house = vinotinto, [data-practice="select|intelligence"] swap them).
   Page script: marble-page.js (hero hand-off, nav drop, counters, lit words).
   ===================================================================== */
:root {
	--pg-shade: 20 17 18;          /* warm black for photo scrims (rgb channels) */
	--pg-neutral-glass: 18 21 23;  /* navigation stays neutral grey (manual, chapter 09) */
}
[data-practice="select"] { --pg-shade: 11 18 22; }
[data-practice="intelligence"] { --pg-shade: 10 22 19; }
[data-practice="speakers"] { --pg-shade: 19 11 21; }

/* ---------- Preview chrome (not part of the design system) ---------- */
.pg-preview-bar {
	position: sticky; top: 0; z-index: 999;
	display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; align-items: baseline;
	padding: 0.5rem 1.25rem; background: var(--mb-grey-800); color: var(--ms-on-dark); font-size: 0.75rem;
}
.pg-preview-bar b { font-weight: 600; }
.pg-preview-bar span { opacity: 0.7; }
.pg-preview-bar em { font-style: normal; margin-left: auto; opacity: 0.6; }
.pg-wrap { position: relative; }

/* ---------- Header: logo + liquid glass navigation ---------- */
.pg-head {
	position: absolute; inset-inline: 0; top: 0; z-index: 30;
	display: flex; align-items: center; justify-content: space-between; gap: 2rem;
	padding: 1.5rem var(--ms-gutter);
}
.pg-logo { display: block; width: 10rem; color: var(--ms-on-dark); text-decoration: none; }
.pg-logo svg { display: block; width: 100%; height: auto; overflow: visible; }
.pg-logo:focus-visible { outline: 2px solid var(--ms-on-dark); outline-offset: 6px; border-radius: 0.5rem; }
.pg-nav .menu {
	--lg-mx: 50%; --lg-my: 0%;
	position: relative; isolation: isolate;
	display: flex; align-items: center; gap: 0.35rem;
	margin: 0; padding: 0.4rem 0.45rem 0.4rem 1.25rem; list-style: none;
	border-radius: var(--ms-radius-pill);
	background: linear-gradient(180deg, rgb(255 255 255 / 0.16) 0%, rgb(255 255 255 / 0.04) 46%, rgb(255 255 255 / 0.08) 100%), rgb(var(--pg-neutral-glass) / 0.24);
	-webkit-backdrop-filter: blur(14px) saturate(185%) brightness(1.06);
	backdrop-filter: blur(14px) saturate(185%) brightness(1.06);
	box-shadow: 0 18px 40px -12px rgb(0 0 0 / 0.45), 0 2px 6px rgb(0 0 0 / 0.18), inset 0 1px 0 rgb(255 255 255 / 0.35), inset 0 -1px 1px rgb(255 255 255 / 0.1), inset 0 0 22px rgb(255 255 255 / 0.05);
	transition: box-shadow 0.6s var(--ms-ease);
}
html.has-liquid .pg-nav .menu {
	-webkit-backdrop-filter: url(#ms-liquid-lens) blur(10px) saturate(190%) brightness(1.08);
	backdrop-filter: url(#ms-liquid-lens) blur(10px) saturate(190%) brightness(1.08);
}
/* token-exempt: #000 here is a mask-image/-webkit-mask gradient stop, not a rendered colour. mask-image's default mask-mode is alpha (not luminance) for a CSS gradient source, so only the stop's opacity is used and the RGB channel is discarded. No token in tokens.css carries pure #000000 (the nearest, --mb-ink-deep, is #141112 and would not be an exact match), so the literal is left as-is rather than approximated. */
.pg-nav .menu::before {
	content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; border-radius: inherit; padding: 1px;
	background: linear-gradient(135deg, rgb(255 255 255 / 0.75) 0%, rgb(255 255 255 / 0.12) 28%, rgb(255 255 255 / 0.04) 55%, rgb(255 255 255 / 0.3) 88%, rgb(255 255 255 / 0.55) 100%);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}
.pg-nav .menu::after {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; border-radius: inherit;
	background: radial-gradient(9rem 5rem at var(--lg-mx) var(--lg-my), rgb(255 255 255 / 0.2), transparent 70%), radial-gradient(60% 120% at 18% -30%, rgb(255 255 255 / 0.16), transparent 60%);
	opacity: 0.55; transition: opacity 0.5s ease;
}
.pg-nav .menu:hover::after { opacity: 1; }
.pg-nav .menu > .menu-item { position: relative; }
.pg-nav .menu > .menu-item > a {
	position: relative; z-index: 1; display: block;
	padding: 0.6rem 0.95rem; border-radius: var(--ms-radius-pill);
	color: var(--ms-on-dark); text-decoration: none; font-size: 0.9375rem; font-weight: 500; letter-spacing: 0.005em;
	text-shadow: 0 1px 8px rgb(0 0 0 / 0.25);
}
.pg-nav .menu > .menu-item > a:focus-visible { outline: 2px solid var(--ms-on-dark); outline-offset: -2px; }
/* Active section: the only place the navigation takes the page color */
.pg-nav .menu > :is(.current-menu-ancestor, .current-menu-item) > a::after {
	content: ""; position: absolute; left: 50%; bottom: 0.2rem; width: 0.3rem; height: 0.3rem; border-radius: 50%;
	background: var(--ms-brand-on-dark); translate: -50% 0;
}
.pg-nav .menu > .menu-item:last-child > a {
	margin-inline-start: 0.35rem; padding-inline: 1.25rem;
	background: rgb(255 255 255 / 0.94); color: var(--ms-brand-deep); text-shadow: none; font-weight: 600;
	box-shadow: inset 0 1px 0 var(--mb-white), inset 0 -2px 0 var(--ms-brand-on-dark), 0 4px 14px -4px rgb(0 0 0 / 0.35);
	transition: background-color 0.35s ease, transform 0.5s var(--ms-ease-spring);
}
.pg-nav .menu > .menu-item:last-child > a:hover { background: var(--mb-white); transform: scale(1.04); }
.pg-drop {
	position: absolute; z-index: 0; left: 0;
	top: var(--drop-y, 0.4rem); height: var(--drop-h, 2.5rem); width: var(--drop-w, 6rem);
	border-radius: var(--ms-radius-pill); pointer-events: none; opacity: 0;
	transform: translateX(var(--drop-x, 0)) scale(var(--drop-sx, 1), var(--drop-sy, 1));
	background: radial-gradient(120% 90% at 30% 0%, rgb(255 255 255 / 0.34), transparent 60%), linear-gradient(180deg, rgb(255 255 255 / 0.2), rgb(255 255 255 / 0.06));
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.6), inset 0 -1px 0 rgb(255 255 255 / 0.12), inset 0 0 12px rgb(255 255 255 / 0.12), 0 6px 16px -6px rgb(0 0 0 / 0.35);
	transition: transform 0.62s var(--ms-ease-spring), width 0.62s var(--ms-ease-spring), opacity 0.3s ease;
}
.pg-drop.is-on { opacity: 1; }
/* Sub-menus in the same material */
.pg-nav .sub-menu {
	position: absolute; top: calc(100% + 0.75rem); left: 50%; z-index: 30;
	min-width: 15rem; margin: 0; padding: 0.6rem; list-style: none;
	border-radius: 1.4rem; color: var(--ms-on-dark);
	background: linear-gradient(180deg, rgb(255 255 255 / 0.12), rgb(255 255 255 / 0.03)), rgb(var(--pg-neutral-glass) / 0.62);
	-webkit-backdrop-filter: blur(22px) saturate(180%);
	backdrop-filter: blur(22px) saturate(180%);
	box-shadow: 0 30px 60px -20px rgb(0 0 0 / 0.55), inset 0 1px 0 rgb(255 255 255 / 0.3), inset 0 0 0 1px rgb(255 255 255 / 0.1);
	opacity: 0; visibility: hidden; transform: translate(-50%, 0.5rem);
	transition: opacity 0.3s ease, transform 0.4s var(--ms-ease), visibility 0s linear 0.4s;
}
html.has-liquid .pg-nav .sub-menu { -webkit-backdrop-filter: url(#ms-liquid-lens) blur(18px) saturate(180%); backdrop-filter: url(#ms-liquid-lens) blur(18px) saturate(180%); }
.pg-nav .sub-menu::before { content: ""; position: absolute; inset-inline: 0; bottom: 100%; height: 0.75rem; }
.pg-nav .menu-item:hover > .sub-menu,
.pg-nav .menu-item:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translate(-50%, 0); transition-delay: 0s; }
.pg-nav .sub-menu .menu-label {
	padding: 0.5rem 1.5rem 0.25rem 1.75rem;
	font-family: var(--ms-font-label); font-weight: 600; font-size: var(--ms-label-sm); letter-spacing: 0.12em; text-transform: uppercase;
	color: rgb(255 255 255 / 0.55);
}
.pg-nav .sub-menu .menu-item > a {
	position: relative; display: block; padding: 0.5rem 1.5rem 0.5rem 1.75rem; border-radius: 0.9rem;
	color: rgb(255 255 255 / 0.85); text-decoration: none; white-space: nowrap; font-size: 0.875rem; font-weight: 500;
	transition: background-color 0.3s ease, color 0.3s ease;
}
.pg-nav .sub-menu .menu-item > a::before {
	content: ""; position: absolute; left: 0.75rem; top: 50%; width: 0.4rem; height: 0.4rem; border-radius: 50%;
	background: var(--ms-brand-on-dark); transform: translateY(-50%) scale(0); transition: transform 0.35s var(--ms-ease);
}
.pg-nav .sub-menu .menu-item > a:hover,
.pg-nav .sub-menu .menu-item > a:focus-visible { background: rgb(255 255 255 / 0.1); color: var(--ms-on-dark); }
.pg-nav .sub-menu .menu-item > a:is(:hover, :focus-visible, [aria-current="page"])::before { transform: translateY(-50%) scale(1); }
.pg-nav .sub-menu .menu-item > a[aria-current="page"] { color: var(--ms-on-dark); }
.pg-nav .sub-menu > * { opacity: 0; transform: translateY(0.25rem); transition: opacity 0.3s ease, transform 0.4s var(--ms-ease); }
.pg-nav .menu-item:hover > .sub-menu > *,
.pg-nav .menu-item:focus-within > .sub-menu > * { opacity: 1; transform: none; }
.pg-nav .sub-menu > :nth-child(2) { transition-delay: 0.04s; }
.pg-nav .sub-menu > :nth-child(3) { transition-delay: 0.08s; }
.pg-nav .sub-menu > :nth-child(4) { transition-delay: 0.12s; }
.pg-nav .sub-menu > :nth-child(5) { transition-delay: 0.16s; }
.pg-nav .sub-menu > :nth-child(6) { transition-delay: 0.2s; }
.pg-nav .sub-menu > :nth-child(7) { transition-delay: 0.24s; }
.pg-nav .sub-menu > :nth-child(n+8) { transition-delay: 0.28s; }
@media (max-width: 64rem) { .pg-nav { display: none; } }

/* ---------- Intro band: framed photo with scroll hand-off (settles into an inset card) ---------- */
.pg-hero { --pg-p: 0; position: relative; height: max(calc(100svh - 2.25rem), 40rem); color: var(--ms-on-dark); isolation: isolate; }
.pg-hero--short { height: max(min(82svh, 46rem), 36rem); }
.pg-hero__frame {
	position: absolute; inset: 0; overflow: hidden; isolation: isolate; background: var(--ms-dark);
	clip-path: inset(calc(var(--pg-p) * 1.5rem) calc(var(--pg-p) * 2.4vw) calc(var(--pg-p) * 1.5rem) round calc(var(--pg-p) * var(--ms-radius-lg)));
	will-change: clip-path;
}
.pg-hero__media { position: absolute; inset: 0; z-index: -3; transform: scale(calc(1 + var(--pg-p) * 0.06)); transform-origin: 50% 40%; }
.pg-hero__media picture, .pg-hero__media img { display: block; width: 100%; height: 100%; }
.pg-hero__media picture { animation: pg-settle 2.4s var(--ms-ease) both; }
.pg-hero__media img { object-fit: cover; object-position: var(--pg-focus, 50% 50%); filter: grayscale(1) contrast(1.06) brightness(calc(1 - var(--pg-p) * 0.35)); }
@keyframes pg-settle { from { transform: scale(1.1); opacity: 0.001; } 30% { opacity: 1; } to { transform: scale(1); opacity: 1; } }
.pg-hero__scrim {
	position: absolute; inset: 0; z-index: -2;
	background:
		linear-gradient(90deg, rgb(var(--pg-shade) / 0.84) 0%, rgb(var(--pg-shade) / 0.68) 34%, rgb(var(--pg-shade) / 0.22) 56%, rgb(var(--pg-shade) / 0) 68%),
		linear-gradient(0deg, rgb(var(--pg-shade) / 0.9) 0%, rgb(var(--pg-shade) / 0.35) 28%, rgb(var(--pg-shade) / 0) 46%),
		linear-gradient(180deg, rgb(var(--pg-shade) / 0.55) 0%, rgb(var(--pg-shade) / 0) 20%),
		radial-gradient(60% 50% at 18% 44%, color-mix(in srgb, var(--ms-brand) 42%, transparent), transparent 70%),
		radial-gradient(26% 36% at 92% 90%, rgb(var(--pg-shade) / 0.6), transparent 72%);
}
.pg-hero__grain { position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: 0.22; mix-blend-mode: overlay; background-image: var(--ms-grain); }
.pg-hero__content {
	position: absolute; inset-inline-start: var(--ms-container-edge); inset-block-start: 50%;
	width: min(52rem, 64vw);
	translate: 0 calc(-50% - var(--pg-p) * 4rem); opacity: calc(1 - var(--pg-p) * 1.4);
	display: grid;
}
.pg-hero__title { margin: 0; font-weight: inherit; }
.pg-hero__kicker {
	display: flex; align-items: center; gap: 0.9rem; margin-block-end: var(--ms-kicker-gap);
	font-family: var(--ms-font-label); font-weight: 600; font-size: var(--ms-label); letter-spacing: var(--ms-tracking-label); text-transform: uppercase; line-height: 1.3;
	color: rgb(255 255 255 / 0.82);
	opacity: 0; animation: pg-fade 1s var(--ms-ease) 0.35s forwards;
}
.pg-hero__kicker .pg-idx { color: var(--ms-brand-on-dark); letter-spacing: 0.06em; font-variant-numeric: tabular-nums; }
.pg-hero__kicker i { width: 2.75rem; height: 1px; background: linear-gradient(90deg, var(--ms-brand-on-dark), rgb(255 255 255 / 0.25)); transform-origin: left; animation: pg-draw 1.1s var(--ms-ease) 0.5s both; }
.pg-hero__display { display: block; font-family: var(--ms-font-display); font-size: var(--ms-display); line-height: 0.94; letter-spacing: -0.012em; color: var(--ms-on-dark); }
.pg-line { display: block; overflow: hidden; padding-inline: 0.08em; margin-inline: -0.08em; padding-block-end: 0.16em; margin-block-end: -0.16em; font-weight: 600; }
.pg-line--light { font-weight: 300; color: rgb(255 255 255 / 0.94); }
.pg-line > span { display: inline-block; transform: translateY(108%); animation: pg-rise 1.25s var(--ms-ease) forwards; }
.pg-line:nth-child(1) > span { animation-delay: 0.45s; }
.pg-line:nth-child(2) > span { animation-delay: 0.58s; }
.pg-line:nth-child(3) > span { animation-delay: 0.71s; }
.pg-line:nth-child(4) > span { animation-delay: 0.84s; }
.pg-hero__lede {
	max-width: 30rem;
	margin: clamp(1.25rem, 2.6vh, 1.75rem) 0 0;
	padding-inline-start: 1rem;
	border-inline-start: 2px solid var(--ms-brand-on-dark);
	font-size: clamp(0.95rem, 0.85rem + 0.25vw, 1.0625rem);
	line-height: 1.6;
	color: rgb(255 255 255 / 0.84);
	text-shadow: 0 1px 12px rgb(0 0 0 / 0.45);
	text-wrap: pretty;
	opacity: 0;
	animation: pg-fade 1s var(--ms-ease) 0.95s forwards;
}
@keyframes pg-draw { from { transform: scaleX(0); } }
@keyframes pg-fade { from { opacity: 0; transform: translateY(0.5rem); } to { opacity: 1; transform: none; } }
@keyframes pg-rise { to { transform: translateY(0); } }
/* Hero CTA: glass pill grows out of the circle (Home hero language) */
.pg-hero-cta {
	position: relative; justify-self: start; display: inline-flex; align-items: center; gap: 1.1rem;
	margin-block-start: clamp(1.75rem, 3.6vh, 2.5rem); padding: 0.35rem 0.35rem 0.35rem 1.4rem;
	border-radius: var(--ms-radius-pill); color: var(--ms-on-dark); text-decoration: none; isolation: isolate;
	opacity: 0; animation: pg-fade 1s var(--ms-ease) 1.15s forwards;
}
.pg-hero-cta::before {
	content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit;
	background: rgb(255 255 255 / 0.1); border: 1px solid rgb(255 255 255 / 0.22);
	-webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
	clip-path: inset(0 0 0 calc(100% - 3.7rem) round 999px);
	transition: clip-path 0.7s var(--ms-ease), background-color 0.5s var(--ms-ease);
}
.pg-hero-cta__label { font-family: var(--ms-font-label); font-weight: 600; font-size: 0.8125rem; letter-spacing: 0.2em; text-transform: uppercase; transition: letter-spacing 0.7s var(--ms-ease); }
.pg-hero-cta .ms-cta__circle { border-color: color-mix(in srgb, var(--ms-brand-on-dark) 85%, transparent); color: var(--ms-on-dark); background: radial-gradient(120% 90% at 30% 0%, rgb(255 255 255 / 0.28), rgb(255 255 255 / 0) 62%), rgb(255 255 255 / 0.06); }
.pg-hero-cta:is(:hover, :focus-visible)::before { clip-path: inset(0 0 0 0 round 999px); background: rgb(255 255 255 / 0.16); }
.pg-hero-cta:is(:hover, :focus-visible) .pg-hero-cta__label { letter-spacing: 0.24em; }
.pg-hero-cta:is(:hover, :focus-visible) .ms-cta__circle { background: var(--ms-brand); border-color: var(--ms-brand); }
.pg-hero-cta:is(:hover, :focus-visible) svg { transform: translateX(3px); }
.pg-hero-cta:focus-visible { outline: 2px solid var(--ms-on-dark); outline-offset: 4px; }
/* Aside: one credential on the right edge */
.pg-hero__aside {
	position: absolute; right: clamp(1.5rem, 2.6vw, 3rem); bottom: clamp(1.75rem, 6vh, 3.75rem);
	width: max-content; display: grid; gap: 1rem;
	padding-block-start: 0.9rem; border-block-start: 1px solid rgb(255 255 255 / 0.22);
	opacity: 0; animation: pg-fade 1.1s var(--ms-ease) 1.35s forwards; translate: 0 calc(var(--pg-p) * -2rem);
}
.pg-hero__aside::before { content: ""; position: absolute; top: -1px; left: 0; width: 3rem; height: 2px; background: var(--ms-brand-on-dark); }
.pg-hero__credential { margin: 0; display: flex; align-items: center; gap: 0.7rem; font-family: var(--ms-font-label); font-weight: 600; font-size: var(--ms-label-sm); letter-spacing: var(--ms-tracking-label); text-transform: uppercase; color: rgb(255 255 255 / 0.78); }
.pg-hero__credential::before { content: ""; width: 0.4rem; height: 0.4rem; border-radius: 50%; background: var(--ms-brand-on-dark); }
@media (min-width: 64.01rem) {
	.pg-hero__content { inset-block: clamp(9rem, 19vh, 12rem) clamp(2rem, 6vh, 4rem); translate: 0 calc(var(--pg-p) * -4rem); align-content: center; }
}
@media (min-width: 64.01rem) and (max-height: 760px) {
	.pg-hero__display { font-size: clamp(3rem, 1rem + 4.2vw, 4.9rem); }
	.pg-hero-cta { margin-block-start: 1.25rem; }
}
@media (max-width: 64rem) {
	.pg-hero, .pg-hero--short { height: auto; }
	.pg-hero__frame { position: relative; min-height: max(100svh, 44rem); }
	.pg-hero--short .pg-hero__frame { min-height: max(80svh, 40rem); }
	.pg-hero__media img { object-position: var(--pg-focus-m, 70% 50%); }
	.pg-hero__content { position: relative; inset: auto; width: auto; translate: 0 calc(var(--pg-p) * -4rem); padding: 9rem var(--ms-gutter) 11rem; }
	.pg-hero__aside { left: var(--ms-gutter); right: var(--ms-gutter); width: auto; bottom: 1.75rem; }
	.pg-hero__scrim { background: linear-gradient(0deg, rgb(var(--pg-shade) / 0.94) 0%, rgb(var(--pg-shade) / 0.74) 55%, rgb(var(--pg-shade) / 0.55) 100%), radial-gradient(70% 50% at 20% 40%, color-mix(in srgb, var(--ms-brand) 35%, transparent), transparent 70%); }
}
@media (max-width: 40rem) {
	.pg-hero__display { font-size: clamp(2.6rem, 11vw, 3.4rem); }
}

/* ---------- Shared section bits ---------- */
.pg-label { margin: 0 0 0.9rem; font-family: var(--ms-font-label); font-weight: 600; font-size: var(--ms-label-sm); letter-spacing: var(--ms-tracking-label); text-transform: uppercase; color: var(--ms-brand); }
.pg-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.35rem; }
.pg-list li { display: flex; align-items: baseline; gap: 0.85rem; font-size: var(--ms-body-sm); line-height: 1.6; color: var(--ms-ink-soft); }
.pg-list__n { font-family: var(--ms-font-label); font-weight: 600; font-size: 0.625rem; letter-spacing: 0.06em; color: var(--ms-brand); font-variant-numeric: tabular-nums; }
.pg-lede-link { margin-block-start: 0.25rem; }
.pg-word { transition: opacity 0.45s ease; }
.is-split .pg-word:not(.is-lit) { opacity: 0.2; }
.ms-kicker__rule { transform-origin: left; }
[data-reveal].is-armed:not(.is-in) .ms-kicker__rule { transform: scaleX(0); }
[data-reveal].is-in .ms-kicker__rule { transition: transform 1s var(--ms-ease) 0.15s; }
/* Drawn brand rule on quotes inside revealed sections */
[data-reveal] .ms-quote { position: relative; border-inline-start-color: transparent; }
[data-reveal] .ms-quote::before { content: ""; position: absolute; inset-block: 0; left: -2px; width: 2px; background: var(--ms-brand); transform-origin: top; }
[data-reveal].is-armed:not(.is-in) .ms-quote::before { transform: scaleY(0); }
[data-reveal].is-in .ms-quote::before { transition: transform 1.2s var(--ms-ease) 0.45s; }
.ms-acc__btn:focus-visible { outline: 2px solid var(--ms-brand); outline-offset: 6px; border-radius: 0.75rem; }

/* ---------- FAQ: sticky aside + accordion ---------- */
.pg-faq__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--ms-grid-gap); align-items: start; }
.pg-faq__aside { grid-column: 1 / span 4; align-self: stretch; }
.pg-faq__sticky { position: sticky; top: 7rem; }
.pg-help { margin-block-start: clamp(2.5rem, 5vw, 3.5rem); max-width: 22rem; padding: 1.75rem; gap: 0.75rem; align-items: flex-start; }
.pg-help__t { font-family: var(--ms-font-display); font-weight: 600; font-size: 1.75rem; line-height: 1; color: var(--ms-ink); }
.pg-help .ms-card__text { max-width: none; }
.pg-help .ms-cta { margin-block-start: 0.5rem; }
.pg-faq .ms-accordion { grid-column: 6 / span 7; padding-block-start: 0.25rem; }
.pg-faq .ms-acc__inner p a { color: var(--ms-brand); text-underline-offset: 0.22em; }
.pg-faq.is-armed:not(.is-in) .ms-acc { opacity: 0; translate: 0 1rem; }
.pg-faq.is-in .ms-acc { transition: opacity 0.7s ease, translate 0.8s var(--ms-ease), background-color 0.5s ease; }
.pg-faq.is-in .ms-acc:nth-child(2) { transition-delay: 0.06s, 0.06s, 0s; }
.pg-faq.is-in .ms-acc:nth-child(3) { transition-delay: 0.12s, 0.12s, 0s; }
.pg-faq.is-in .ms-acc:nth-child(4) { transition-delay: 0.18s, 0.18s, 0s; }
.pg-faq.is-in .ms-acc:nth-child(5) { transition-delay: 0.24s, 0.24s, 0s; }
.pg-faq.is-in .ms-acc:nth-child(6) { transition-delay: 0.3s, 0.3s, 0s; }
.pg-faq.is-in .ms-acc:nth-child(7) { transition-delay: 0.36s, 0.36s, 0s; }
.pg-faq.is-settled .ms-acc { transition-delay: 0s; }
.ms-acc__inner p { opacity: 0; transform: translateY(0.4rem); transition: opacity 0.3s ease, transform 0.45s var(--ms-ease); }
.ms-acc.is-open .ms-acc__inner p { opacity: 1; transform: none; transition-delay: 0.12s; }
@media (max-width: 64rem) {
	.pg-faq__aside, .pg-faq .ms-accordion { grid-column: 1 / -1; }
	.pg-faq__sticky { position: static; }
	.pg-help { display: none; }
	.pg-faq .ms-accordion { margin-block-start: 2.5rem; }
}

/* ---------- Closing: framed band that mirrors the hero, then footer ---------- */
.pg-close { --pg-c: 0; position: relative; height: max(128svh, 62rem); color: var(--ms-on-dark); }
.pg-close__frame {
	position: absolute; inset: 0; overflow: hidden; isolation: isolate; background: var(--ms-dark);
	clip-path: inset(calc((1 - var(--pg-c)) * 1.5rem) calc((1 - var(--pg-c)) * 2.4vw) 0 round calc((1 - var(--pg-c)) * var(--ms-radius-lg)) calc((1 - var(--pg-c)) * var(--ms-radius-lg)) 0 0);
}
.pg-close::after { content: ""; position: absolute; inset: auto 0 -1px; height: 2px; background: var(--ms-dark); }
.pg-close__media { position: absolute; inset: 0; z-index: -3; display: block; }
.pg-close__media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--pg-focus, 70% 50%); filter: grayscale(1) contrast(1.05); transform: scale(calc(1.08 - var(--pg-c) * 0.08)); }
.pg-close__scrim {
	position: absolute; inset: 0; z-index: -2;
	background:
		linear-gradient(90deg, rgb(var(--pg-shade) / 0.86) 0%, rgb(var(--pg-shade) / 0.66) 36%, rgb(var(--pg-shade) / 0.1) 62%),
		linear-gradient(0deg, var(--ms-dark) 0%, color-mix(in srgb, var(--ms-dark) 70%, transparent) 22%, transparent 42%),
		radial-gradient(50% 45% at 20% 38%, color-mix(in srgb, var(--ms-brand) 40%, transparent), transparent 70%);
}
.pg-close__grain { position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: 0.2; mix-blend-mode: overlay; background-image: var(--ms-grain); }
.pg-close__grid {
	position: relative; height: 100%; box-sizing: border-box;
	max-width: calc(var(--ms-container-max) + 2 * var(--ms-gutter)); margin-inline: auto;
	padding: clamp(6.5rem, 14vh, 9.5rem) var(--ms-gutter) clamp(2rem, 5vh, 3.5rem);
	display: grid; grid-template-rows: 1fr auto; gap: clamp(4rem, 12vh, 9rem);
}
.pg-close__lead { align-self: start; max-width: 34rem; }
.pg-close__h { display: grid; font-family: var(--ms-font-display); font-weight: 300; font-size: var(--ms-display); line-height: 0.92; letter-spacing: -0.015em; color: var(--ms-on-dark); }
.pg-close__h .ms-line { display: block; }
.pg-close__h strong { font-weight: 600; font-size: 1.22em; line-height: 0.86; letter-spacing: -0.02em; }
.pg-close__lede { margin-block-start: 1.1rem; max-width: 40ch; font-size: var(--ms-body); line-height: 1.7; color: var(--ms-on-dark-soft); }
.pg-close__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem 2rem; margin-block-start: clamp(1.75rem, 3vw, 2.25rem); }
.pg-close__alt { font-size: var(--ms-body-sm); color: rgb(255 255 255 / 0.8); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.25em; }
.pg-close__alt:hover { color: var(--ms-on-dark); text-decoration-thickness: 2px; }
.pg-routes { position: relative; align-self: end; padding: 1.25rem 1.25rem 1rem; }
.pg-routes__title { margin: 0 0 0.75rem 0.5rem; font-family: var(--ms-font-label); font-weight: 600; font-size: var(--ms-label-sm); letter-spacing: var(--ms-tracking-label); text-transform: uppercase; color: rgb(255 255 255 / 0.62); }
.pg-routes ul { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.5rem; }
.pg-route { height: 100%; box-sizing: border-box; display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; padding: 1rem 1rem 1rem 1.1rem; border-radius: var(--ms-radius-sm); color: var(--ms-on-dark); text-decoration: none; transition: background-color 0.35s ease; }
.pg-route:is(:hover, :focus-visible) { background: rgb(255 255 255 / 0.08); }
.pg-route:focus-visible { outline: 2px solid var(--ms-on-dark); outline-offset: 2px; }
.pg-route__txt { display: grid; gap: 0.3rem; }
.pg-route__t { font-family: var(--ms-font-display); font-weight: 600; font-size: 1.2rem; line-height: 1.1; }
.pg-route__d { font-size: 0.78rem; line-height: 1.45; color: rgb(255 255 255 / 0.66); }
.pg-route .ms-cta__circle { width: var(--ms-circle-sm); height: var(--ms-circle-sm); }
.pg-route .ms-cta__circle svg { width: 0.9rem; height: 0.9rem; }
.pg-route:is(:hover, :focus-visible) .ms-cta__circle { background: var(--ms-brand); border-color: var(--ms-brand); }
.pg-close.is-armed:not(.is-in) .pg-route { opacity: 0; transform: translateY(0.75rem); }
.pg-close.is-in .pg-route { transition: opacity 0.7s ease, transform 0.8s var(--ms-ease), background-color 0.35s ease; }
.pg-close.is-in:not(.is-settled) .pg-routes li:nth-child(1) .pg-route { transition-delay: 0.75s, 0.75s, 0s; }
.pg-close.is-in:not(.is-settled) .pg-routes li:nth-child(2) .pg-route { transition-delay: 0.85s, 0.85s, 0s; }
.pg-close.is-in:not(.is-settled) .pg-routes li:nth-child(3) .pg-route { transition-delay: 0.95s, 0.95s, 0s; }
.pg-close.is-in:not(.is-settled) .pg-routes li:nth-child(4) .pg-route { transition-delay: 1.05s, 1.05s, 0s; }

/* ---------- Footer: same deep ground, no seam ---------- */
.pg-foot { background: var(--ms-dark); color: rgb(255 255 255 / 0.78); padding-block: clamp(4rem, 7vw, 5.5rem) 2rem; }
.pg-foot__top { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--ms-grid-gap); row-gap: 3rem; }
.pg-foot__brand { grid-column: 1 / span 5; display: grid; gap: 1.1rem; align-content: start; justify-items: start; }
.pg-foot__brand .pg-logo { width: 11.5rem; color: var(--ms-on-dark); background: none; }
.pg-foot__promise { margin-block-start: 0.5rem; max-width: 18ch; font-family: var(--ms-font-display); font-weight: 300; font-size: clamp(1.75rem, 1.2rem + 1vw, 2.35rem); line-height: 1.04; color: var(--ms-on-dark); }
.pg-foot__shl { display: flex; align-items: center; gap: 0.7rem; font-family: var(--ms-font-label); font-weight: 600; font-size: var(--ms-label-sm); letter-spacing: var(--ms-tracking-label); text-transform: uppercase; color: rgb(255 255 255 / 0.7); }
.pg-foot__shl::before { content: ""; width: 0.45rem; height: 0.45rem; border-radius: 50%; background: var(--ms-brand-on-dark); }
.pg-foot__nav { grid-column: 7 / span 6; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ms-grid-gap); }
.pg-foot__nav ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.65rem; }
.pg-foot a[aria-current="page"] { color: var(--ms-on-dark); background-size: 100% 1px; }
.pg-foot__offices { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ms-grid-gap); margin-block-start: clamp(3rem, 6vw, 4.5rem); padding-block-start: 2rem; border-block-start: 1px solid rgb(255 255 255 / 0.1); }
.pg-foot__office { font-style: normal; }
.pg-foot__office p:not(.ms-footer__label) { font-size: var(--ms-body-sm); line-height: 1.6; color: rgb(255 255 255 / 0.72); }
.pg-foot__social { display: flex; flex-wrap: wrap; gap: 0.4rem 1.25rem; }
.pg-foot__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-block-start: clamp(2.5rem, 5vw, 3.5rem); padding-block-start: 1.5rem; border-block-start: 1px solid rgb(255 255 255 / 0.1); font-size: 0.78rem; color: rgb(255 255 255 / 0.55); }
.pg-foot__legal { display: flex; gap: 1.5rem; }
.pg-foot__place { font-family: var(--ms-font-label); font-weight: 600; font-size: var(--ms-label-sm); letter-spacing: var(--ms-tracking-label); text-transform: uppercase; }
@media (max-width: 64rem) {
	.pg-close { height: auto; min-height: 100svh; }
	.pg-close__frame { position: relative; min-height: 100svh; }
	.pg-close__grid { min-height: 100svh; }
	.pg-routes ul { grid-template-columns: 1fr 1fr; }
	.pg-foot__brand, .pg-foot__nav { grid-column: 1 / -1; }
	.pg-foot__offices { grid-template-columns: 1fr 1fr; row-gap: 2rem; }
}
@media (max-width: 40rem) {
	.pg-close__scrim { background: linear-gradient(0deg, rgb(var(--pg-shade) / 0.95) 0%, rgb(var(--pg-shade) / 0.74) 55%, rgb(var(--pg-shade) / 0.58) 100%); }
	.pg-routes ul { grid-template-columns: 1fr; }
	.pg-foot__nav { grid-template-columns: 1fr 1fr; }
	.pg-foot__offices { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.pg-hero__media picture, .pg-line > span, .pg-hero__kicker, .pg-hero__kicker i, .pg-hero-cta, .pg-hero__aside, .pg-hero__lede { animation: pg-fade-only 0.4s ease-out both !important; transform: none; }
	.pg-close__media img { transform: none; }
	.pg-word { opacity: 1 !important; }
}
@keyframes pg-fade-only { from { opacity: 0; } to { opacity: 1; } }

/* Theme port (batch 5): the two blocks below are the delivery's marble-page.css from the
   "marble-mobile-nav" marker on, taken whole. Only the colours changed, to tokens: #fff is
   --ms-on-dark and the var() fallbacks (#79242f, #3f151c) are dropped, since the tokens
   sheet always loads before this one. */
/* ==== marble-mobile-nav (2026-10-05) ====
   Mobile and tablet menu: a fixed glass button opens a full-screen panel built from the page's own nav.
   Below 64rem the desktop navs (.pg-nav, .sp-nav, .ip-nav, .marble-preview-nav) hide and this takes over.
   Stacking sits above the review preview bar (z-index 999). The panel takes the page's dark tone (--ms-dark: wine, slate for Select, petrol for Intelligence, amber for Speakers). */
.mn-toggle, .mn-panel { display: none; }
.mn-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
@media (max-width: 64rem) {
	.pg-nav, .sp-nav, .ip-nav, .marble-preview-nav { display: none !important; }
	.mn-toggle {
		position: fixed; z-index: 1001; inset-block-start: 1.15rem; inset-inline-end: var(--ms-gutter, 1.25rem);
		display: grid; place-items: center; width: 2.9rem; height: 2.9rem; padding: 0; border-radius: 50%; cursor: pointer;
		border: 1px solid rgb(255 255 255 / 0.28); background: rgb(22 12 15 / 0.58); color: var(--ms-on-dark);
		-webkit-backdrop-filter: blur(14px) saturate(160%); backdrop-filter: blur(14px) saturate(160%);
		box-shadow: 0 0.6rem 1.6rem -0.6rem rgb(0 0 0 / 0.55);
		transition: background-color 0.3s ease, transform 0.3s ease;
	}
	.mn-toggle:hover { background: rgb(22 12 15 / 0.75); }
	.mn-toggle:focus-visible { outline: 2px solid var(--ms-on-dark); outline-offset: 3px; }
	.mn-toggle__bars { position: relative; display: block; width: 1.15rem; height: 0.7rem; }
	.mn-toggle__bars i { position: absolute; inset-inline: 0; height: 2px; border-radius: 2px; background: currentColor; transition: transform 0.35s ease, top 0.35s ease; }
	.mn-toggle__bars i:first-child { top: 0; }
	.mn-toggle__bars i:last-child { top: calc(100% - 2px); }
	.mn-toggle[aria-expanded="true"] .mn-toggle__bars i { top: calc(50% - 1px); }
	.mn-toggle[aria-expanded="true"] .mn-toggle__bars i:first-child { transform: rotate(45deg); }
	.mn-toggle[aria-expanded="true"] .mn-toggle__bars i:last-child { transform: rotate(-45deg); }

	.mn-panel {
		position: fixed; inset: 0; z-index: 1000; overflow-y: auto; overscroll-behavior: contain;
		display: block; padding: 5.5rem var(--ms-gutter, 1.25rem) 2.5rem; color: var(--ms-on-dark);
		background:
			radial-gradient(70% 45% at 85% 0%, color-mix(in srgb, var(--ms-brand) 45%, transparent), transparent 70%),
			var(--ms-dark);
		opacity: 0; transform: translateY(-0.75rem); transition: opacity 0.35s ease, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
	}
	.mn-panel[hidden] { display: none; }
	.mn-panel.is-open { opacity: 1; transform: none; }
	.mn-panel__inner { display: grid; gap: 2rem; max-width: 40rem; margin-inline: auto; }
	.mn-panel__label { margin: 0; font-family: var(--ms-font-label, inherit); font-weight: 600; font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; color: rgb(255 255 255 / 0.6); }

	.mn-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgb(255 255 255 / 0.14); }
	.mn-item { border-bottom: 1px solid rgb(255 255 255 / 0.14); }
	.mn-item__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
	.mn-item__link { flex: 1; padding: 0.85rem 0; color: var(--ms-on-dark); text-decoration: none;
		font-family: var(--ms-font-display, inherit); font-weight: 300; font-size: clamp(1.7rem, 1.3rem + 2.4vw, 2.3rem); line-height: 1.1; letter-spacing: -0.01em; }
	.mn-item__link[aria-current] { font-weight: 600; }
	.mn-item__link:focus-visible, .mn-sub a:focus-visible, .mn-foot a:focus-visible { outline: 2px solid var(--ms-on-dark); outline-offset: 3px; border-radius: 0.25rem; }
	.mn-item__toggle { position: relative; flex: none; width: 2.75rem; height: 2.75rem; padding: 0; border-radius: 50%; cursor: pointer;
		border: 1px solid rgb(255 255 255 / 0.3); background: transparent; color: var(--ms-on-dark); }
	.mn-item__toggle::before, .mn-item__toggle::after { content: ""; position: absolute; top: 50%; left: 50%; width: 0.85rem; height: 2px; margin: -1px 0 0 -0.425rem; background: currentColor; transition: transform 0.3s ease; }
	.mn-item__toggle::after { transform: rotate(90deg); }
	.mn-item__toggle[aria-expanded="true"]::after { transform: rotate(0deg); }
	.mn-item__toggle:focus-visible { outline: 2px solid var(--ms-on-dark); outline-offset: 2px; }
	.mn-sub { margin: 0; padding: 0 0 1rem; list-style: none; display: grid; gap: 0.1rem; }
	.mn-sub[hidden] { display: none; }
	.mn-sub a { display: flex; align-items: center; gap: 0.65rem; min-height: 2.75rem; color: rgb(255 255 255 / 0.78); text-decoration: none; font-size: 1.05rem; }
	.mn-sub a::before { content: ""; width: 0.4rem; height: 0.4rem; border-radius: 50%; background: rgb(255 255 255 / 0.35); flex: none; }
	.mn-sub a[aria-current="page"] { color: var(--ms-on-dark); font-weight: 600; }
	.mn-sub a[aria-current="page"]::before { background: var(--ms-on-dark); }

	.mn-foot { display: grid; gap: 1rem; justify-items: start; }
	.mn-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: 0 1.75rem; border-radius: 999px;
		background: var(--ms-on-dark); color: var(--ms-dark); text-decoration: none;
		font-family: var(--ms-font-label, inherit); font-weight: 600; font-size: 0.8rem; letter-spacing: 0.14em; text-transform: uppercase; }
	.mn-alt { color: rgb(255 255 255 / 0.78); font-size: 0.95rem; text-underline-offset: 3px; }
	html.mn-lock, html.mn-lock body { overflow: hidden; }
}
@media (max-width: 64rem) and (prefers-reduced-motion: reduce) {
	.mn-panel, .mn-toggle__bars i, .mn-item__toggle::after { transition: none; }
	.mn-panel { transform: none; }
}
/* ==== /marble-mobile-nav ==== */

/* ==== marble-search (2026-10-06) ====
   Site search in the main nav. A white magnifier sits in the glass pill before Contacto; it turns the pill itself into
   the search field (the links fade out, nothing else moves) and results drop in a glass panel under the pill.
   Hover is a round glass halo, the same gesture as the site's circle buttons. Phone: a field at the top of the menu panel. */
.mb-search { display: flex; align-items: center; list-style: none; }
.mb-search__btn, .mb-search__close {
	position: relative; display: grid; place-items: center; width: 2.25rem; height: 2.25rem; padding: 0; border-radius: 50%; cursor: pointer;
	border: 1px solid transparent; background: transparent; color: var(--ms-on-dark); transition: background-color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease;
}
.mb-search__btn::before, .mb-search__close::before { content: ""; position: absolute; inset: -0.25rem; } /* 44px touch target */
.mb-search__btn:hover, .mb-search__btn:focus-visible, .mb-search__close:hover, .mb-search__close:focus-visible {
	background: rgb(255 255 255 / 0.14); border-color: rgb(255 255 255 / 0.3); outline: none;
}
.mb-search__btn svg, .mb-search__close svg, .mb-search__icon { width: 1.05rem; height: 1.05rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.mb-search__field {
	position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; gap: 0.6rem; padding: 0 0.45rem 0 1.25rem;
	opacity: 0; visibility: hidden; transition: opacity 0.3s ease 0.08s, visibility 0s linear 0.38s;
}
.mb-search__icon { flex: none; color: rgb(255 255 255 / 0.65); }
.mb-search__input {
	flex: 1; min-width: 0; height: 2.25rem; padding: 0; border: 0; background: transparent; color: var(--ms-on-dark); outline: none;
	font: inherit; font-size: 0.95rem; letter-spacing: 0.01em;
}
.mb-search__input::placeholder { color: rgb(255 255 255 / 0.55); }
.mb-search__input::-webkit-search-cancel-button { display: none; }
ul.menu.is-searching > :not(.mb-search), ul.menu.is-searching .mb-search__btn {
	opacity: 0; visibility: hidden; transition: opacity 0.2s ease, visibility 0s linear 0.2s;
}
ul.menu > :not(.mb-search) { transition: opacity 0.25s ease 0.1s; }
ul.menu.is-searching .mb-search__field { opacity: 1; visibility: visible; transition: opacity 0.3s ease 0.08s; }
.mb-search__results {
	position: absolute; inset-block-start: calc(100% + 0.6rem); inset-inline-end: 0; z-index: 5; width: min(28rem, calc(100vw - 2.5rem));
	margin: 0; padding: 0.4rem; list-style: none; border-radius: 1.25rem; color: var(--ms-on-dark);
	border: 1px solid rgb(255 255 255 / 0.18); background: rgb(22 14 16 / 0.72);
	-webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%);
	box-shadow: 0 1.2rem 2.4rem -1rem rgb(0 0 0 / 0.55);
	opacity: 0; transform: translateY(-0.3rem); visibility: hidden; transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0.25s;
}
.mb-search__results.is-open { opacity: 1; transform: none; visibility: visible; transition: opacity 0.25s ease, transform 0.25s ease; }
.mb-search__opt { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.7rem 0.8rem; border-radius: 0.9rem; color: var(--ms-on-dark); text-decoration: none; cursor: pointer; }
.mb-search__opt + .mb-search__opt { box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.08); }
.mb-search__opt:hover, .mb-search__opt.is-active { background: rgb(255 255 255 / 0.1); box-shadow: none; }
.mb-search__name { font-size: 0.95rem; font-weight: 500; line-height: 1.3; }
.mb-search__sec { flex: none; font-size: 0.68rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: rgb(255 255 255 / 0.55); }
.mb-search__empty { padding: 0.8rem; font-size: 0.9rem; color: rgb(255 255 255 / 0.7); }
.mb-search__sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* phone and tablet: inside the menu panel */
.mn-search { position: relative; }
.mn-search__box { display: flex; align-items: center; gap: 0.6rem; height: 3rem; padding: 0 1rem; border-radius: 999px; border: 1px solid rgb(255 255 255 / 0.25); background: rgb(255 255 255 / 0.08); }
.mn-search__box:focus-within { border-color: rgb(255 255 255 / 0.6); }
.mn-search .mb-search__results { position: static; width: auto; margin-top: 0.6rem; background: rgb(255 255 255 / 0.06); box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; transform: none; }
.mn-search .mb-search__results:not(.is-open) { display: none; }
@media (max-width: 64rem) { .mb-search--nav { display: none; } }
/* the magnifier adds one item to the pill: keep every label on one line, and tighten the links on narrow desktops */
ul.menu > li > a { white-space: nowrap; }
@media (min-width: 64.01rem) and (max-width: 75rem) {
	.pg-nav ul.menu > li > a, .sp-nav ul.menu > li > a, .ip-nav ul.menu > li > a, .marble-preview-nav ul.menu > li > a { padding-inline: 0.6rem; }
}
@media (prefers-reduced-motion: reduce) {
	.mb-search__field, .mb-search__results, ul.menu > :not(.mb-search), .mb-search__btn { transition: none !important; }
}
/* ==== /marble-search ==== */
