/* ==========================================================================
   YOUnique Wellness — design system
   Authored as plain CSS (no build step). Order: tokens → base → components
   → sections → responsive → motion preferences.
   ========================================================================== */

/* --------------------------------------------------------------- 1. Fonts */
/* Self-hosted so there is no third-party connection on the critical path.
   font-display:swap keeps first paint instant; the metric-adjust keeps the
   fallback close enough that the swap is barely visible. */
@font-face {
	font-family: 'Quicksand';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('../fonts/quicksand-300.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
	font-family: 'Quicksand';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/quicksand-400.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
	font-family: 'Quicksand';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('../fonts/quicksand-500.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
	font-family: 'Quicksand';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('../fonts/quicksand-600.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
	font-family: 'Quicksand';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('../fonts/quicksand-700.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}

/* -------------------------------------------------------------- 2. Tokens */
:root {
	/* Brand */
	--uw-primary: #21C7BB;
	--uw-primary-600: #14A79C;
	--uw-primary-700: #0E877E;
	--uw-primary-050: #E8FAF8;
	--uw-primary-100: #CFF3EF;

	--uw-blue: #1D5FA8;
	--uw-blue-600: #164B87;
	--uw-blue-050: #EAF2FB;

	--uw-red: #E2504F;
	--uw-red-600: #C93F3E;
	--uw-red-050: #FDEEED;

	--uw-green: #2E9E6B;
	--uw-green-600: #248156;
	--uw-green-050: #EAF7F1;

	/* Neutrals — deliberately warm slate, never pure black */
	--uw-ink: #22323A;
	--uw-ink-2: #3E525C;
	--uw-ink-3: #5F7480;
	--uw-muted: #8095A0;
	--uw-line: #E1ECEF;
	--uw-line-2: #EEF5F6;
	--uw-bg: #FFFFFF;
	--uw-bg-soft: #F5FBFA;
	--uw-bg-tint: #EFF8F7;

	/* Type */
	--uw-font: 'Quicksand', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	--uw-fs-h1: clamp(2rem, 1.15rem + 3.7vw, 4rem);
	--uw-fs-h2: clamp(1.65rem, 1.1rem + 2.2vw, 2.75rem);
	--uw-fs-h3: clamp(1.2rem, 1rem + 0.8vw, 1.6rem);
	--uw-fs-lead: clamp(1rem, 0.94rem + 0.3vw, 1.175rem);
	--uw-fs-body: clamp(0.975rem, 0.94rem + 0.16vw, 1.0625rem);
	--uw-fs-small: 0.875rem;

	/* Space & shape */
	--uw-wrap: 1240px;
	--uw-gutter: clamp(1.1rem, 4vw, 3rem);
	--uw-section: clamp(3.5rem, 7vw, 7rem);
	--uw-r-sm: 10px;
	--uw-r-md: 18px;
	--uw-r-lg: 26px;
	--uw-r-xl: 34px;
	--uw-r-pill: 999px;

	/* Elevation */
	--uw-sh-1: 0 2px 8px rgba(34, 50, 58, .05);
	--uw-sh-2: 0 10px 30px rgba(34, 50, 58, .08);
	--uw-sh-3: 0 22px 60px rgba(34, 50, 58, .12);
	--uw-sh-brand: 0 14px 34px rgba(33, 199, 187, .32);

	/* Motion */
	--uw-e-out: cubic-bezier(.22, .78, .3, 1);
	--uw-e-soft: cubic-bezier(.4, 0, .2, 1);
	--uw-t-fast: .18s;
	--uw-t: .32s;
	--uw-t-slow: .6s;

	--uw-header-h: 84px;
	color-scheme: light;
}

/* ---------------------------------------------------------------- 3. Base */
*, *::before, *::after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--uw-header-h) + 18px);
}

body {
	margin: 0;
	background: var(--uw-bg);
	color: var(--uw-ink);
	font-family: var(--uw-font);
	font-size: var(--uw-fs-body);
	font-weight: 500;
	line-height: 1.72;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

body.uw-locked { overflow: hidden; }

/* Scroll-reveal tweens start elements 46px off their final x, which would
   widen the page until they play. `clip` (not `hidden`) trims that without
   creating a scroll container, so sticky positioning still works inside. */
.uw-main { overflow-x: clip; }

/* Suppress transitions until JS has booted, so nothing animates from its
   unstyled position on first paint. */
body.uw-preload *, body.uw-preload *::before, body.uw-preload *::after {
	transition: none !important;
	animation-play-state: paused !important;
}

img, svg, video, picture { max-width: 100%; display: block; }
img, video { height: auto; }

a { color: var(--uw-blue); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--uw-primary-700); }

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 .5em;
	font-weight: 700;
	line-height: 1.18;
	letter-spacing: -.015em;
	color: var(--uw-ink);
	text-wrap: balance;
}

p { margin: 0 0 1.1em; }
p:last-child { margin-bottom: 0; }

ul, ol { margin: 0 0 1.1em; padding-left: 1.15em; }

button { font: inherit; color: inherit; }

:focus-visible {
	outline: 3px solid var(--uw-primary);
	outline-offset: 3px;
	border-radius: 6px;
}

::selection { background: var(--uw-primary-100); color: var(--uw-ink); }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.uw-skip {
	position: fixed;
	top: 10px; left: 10px;
	z-index: 999;
	padding: 12px 20px;
	background: var(--uw-primary);
	color: #fff;
	font-weight: 700;
	border-radius: var(--uw-r-pill);
	transform: translateY(-160%);
	transition: transform var(--uw-t) var(--uw-e-out);
	text-decoration: none;
}
.uw-skip:focus { transform: translateY(0); color: #fff; }

/* Shared layout rails */
.uw-header__inner, .uw-hero__inner, .uw-infobar__inner, .uw-doctor__inner,
.uw-gut__inner, .uw-gallery__inner, .uw-reviews__inner, .uw-cta__inner,
.uw-footer__inner, .uw-footer__bar, .uw-page__inner, .uw-single__inner,
.uw-archive__inner, .uw-pagehero__inner, .uw-404__inner {
	width: min(100% - (var(--uw-gutter) * 2), var(--uw-wrap));
	margin-inline: auto;
}

/* ------------------------------------------------------- 4. Type helpers */
.uw-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	margin: 0 0 .85rem;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--uw-primary-700);
}
.uw-eyebrow::before {
	content: '';
	width: 26px; height: 2px;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--uw-primary), var(--uw-blue));
}
.uw-eyebrow--center { display: flex; justify-content: center; }
.uw-eyebrow--light { color: rgba(255, 255, 255, .92); }
.uw-eyebrow--light::before { background: rgba(255, 255, 255, .7); }

.uw-h2 { font-size: var(--uw-fs-h2); margin-bottom: .55em; }
.uw-h2--center { text-align: center; }

.uw-lead {
	font-size: var(--uw-fs-lead);
	color: var(--uw-ink-2);
	font-weight: 500;
	max-width: 68ch;
}
.uw-lead--center { margin-inline: auto; text-align: center; }

.uw-underline {
	position: relative;
	display: inline-block;
	color: var(--uw-primary-700);
	white-space: nowrap;
}
.uw-underline::after {
	content: '';
	position: absolute;
	left: 0; right: 0; bottom: .06em;
	height: .34em;
	border-radius: var(--uw-r-pill);
	background: linear-gradient(90deg, rgba(33, 199, 187, .32), rgba(29, 95, 168, .22));
	z-index: -1;
	transform: scaleX(var(--uw-ul, 1));
	transform-origin: left center;
	transition: transform .8s var(--uw-e-out);
}

/* ------------------------------------------------------------ 5. Buttons */
/* One component, six variants. The sweep is a pseudo-layer that scales from
   the left so hover reads as a fill rather than a colour flip. */
.uw-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .6rem;
	padding: .95rem 1.6rem;
	border: 0;
	border-radius: var(--uw-r-pill);
	font-family: var(--uw-font);
	font-size: .975rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .01em;
	text-decoration: none;
	cursor: pointer;
	overflow: hidden;
	isolation: isolate;
	white-space: nowrap;
	transition: transform var(--uw-t) var(--uw-e-out),
	            box-shadow var(--uw-t) var(--uw-e-out),
	            color var(--uw-t-fast) linear,
	            border-color var(--uw-t-fast) linear;
	-webkit-tap-highlight-color: transparent;
}
.uw-btn__label, .uw-btn__icon { position: relative; z-index: 2; display: inline-flex; }
.uw-btn__icon { transition: transform var(--uw-t) var(--uw-e-out); }
.uw-btn__fill {
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform var(--uw-t-slow) var(--uw-e-out);
}
.uw-btn:hover, .uw-btn:focus-visible { transform: translateY(-2px); }
.uw-btn:hover .uw-btn__fill, .uw-btn:focus-visible .uw-btn__fill { transform: scaleX(1); }
.uw-btn:hover .uw-btn__icon { transform: translateX(4px); }
.uw-btn:active { transform: translateY(0) scale(.985); }
.uw-btn[disabled] { opacity: .45; pointer-events: none; }

/* Icons that point down or left should not slide right on hover. */
.uw-btn .uw-icon--arrow-down { transition: transform var(--uw-t) var(--uw-e-out); }
.uw-btn:hover .uw-btn__icon:has(.uw-icon--arrow-down) { transform: translateY(3px); }
.uw-btn:hover .uw-btn__icon:has(.uw-icon--calendar),
.uw-btn:hover .uw-btn__icon:has(.uw-icon--check),
.uw-btn:hover .uw-btn__icon:has(.uw-icon--phone) { transform: scale(1.12) rotate(-4deg); }

.uw-btn--sm { padding: .68rem 1.15rem; font-size: .875rem; }
.uw-btn--lg { padding: 1.12rem 2rem; font-size: 1.03rem; }

.uw-btn--primary {
	background: var(--uw-primary);
	color: #fff;
	box-shadow: var(--uw-sh-brand);
}
.uw-btn--primary .uw-btn__fill { background: linear-gradient(120deg, var(--uw-primary-600), var(--uw-blue)); }
.uw-btn--primary:hover, .uw-btn--primary:focus-visible { color: #fff; box-shadow: 0 18px 40px rgba(29, 95, 168, .3); }

.uw-btn--blue { background: var(--uw-blue); color: #fff; box-shadow: 0 12px 30px rgba(29, 95, 168, .26); }
.uw-btn--blue .uw-btn__fill { background: linear-gradient(120deg, var(--uw-blue-600), var(--uw-primary)); }
.uw-btn--blue:hover, .uw-btn--blue:focus-visible { color: #fff; }

.uw-btn--red { background: var(--uw-red); color: #fff; box-shadow: 0 12px 30px rgba(226, 80, 79, .26); }
.uw-btn--red .uw-btn__fill { background: linear-gradient(120deg, var(--uw-red-600), #B23130); }
.uw-btn--red:hover, .uw-btn--red:focus-visible { color: #fff; }

.uw-btn--outline {
	background: transparent;
	color: var(--uw-ink);
	box-shadow: inset 0 0 0 2px var(--uw-line);
}
.uw-btn--outline .uw-btn__fill { background: var(--uw-primary-050); }
.uw-btn--outline:hover, .uw-btn--outline:focus-visible {
	color: var(--uw-primary-700);
	box-shadow: inset 0 0 0 2px var(--uw-primary);
}

.uw-btn--white {
	background: #fff;
	color: var(--uw-ink);
	box-shadow: var(--uw-sh-2);
}
.uw-btn--white .uw-btn__fill { background: linear-gradient(120deg, var(--uw-primary-050), #fff); }
.uw-btn--white:hover, .uw-btn--white:focus-visible { color: var(--uw-primary-700); }

.uw-btn--ghost {
	background: rgba(255, 255, 255, .1);
	color: #fff;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .55);
}
.uw-btn--ghost .uw-btn__fill { background: rgba(255, 255, 255, .18); }
.uw-btn--ghost:hover, .uw-btn--ghost:focus-visible { color: #fff; box-shadow: inset 0 0 0 2px #fff; }

/* ------------------------------------------------------------- 6. Header */
.uw-header {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 200;
	background: rgba(255, 255, 255, .82);
	backdrop-filter: saturate(180%) blur(14px);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	border-bottom: 1px solid transparent;
	transition: background var(--uw-t) var(--uw-e-soft),
	            box-shadow var(--uw-t) var(--uw-e-soft),
	            border-color var(--uw-t) var(--uw-e-soft),
	            transform var(--uw-t-slow) var(--uw-e-out);
}
.uw-header.is-stuck {
	background: rgba(255, 255, 255, .96);
	border-bottom-color: var(--uw-line);
	box-shadow: 0 6px 26px rgba(34, 50, 58, .07);
}
/* Hide on scroll-down, reveal on scroll-up — gives phones back ~84px. */
.uw-header.is-hidden { transform: translateY(-105%); }

.uw-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	min-height: var(--uw-header-h);
	padding-block: .55rem;
}

.uw-header__progress {
	position: absolute;
	left: 0; bottom: -1px;
	height: 3px;
	width: 100%;
	transform: scaleX(0);
	transform-origin: left center;
	background: linear-gradient(90deg, var(--uw-primary), var(--uw-blue), var(--uw-green));
	border-radius: 0 3px 3px 0;
}

/* Brand lockup */
.uw-brand {
	display: inline-flex;
	align-items: center;
	gap: .7rem;
	min-width: 0;
	text-decoration: none;
	color: inherit;
	flex: 0 1 auto;
}
.uw-brand__mark {
	display: grid;
	place-items: center;
	width: 52px; height: 52px;
	border-radius: 16px;
	background: linear-gradient(140deg, var(--uw-primary-050), #fff);
	box-shadow: inset 0 0 0 1px var(--uw-primary-100), var(--uw-sh-1);
	overflow: hidden;
	transition: transform var(--uw-t) var(--uw-e-out), box-shadow var(--uw-t) var(--uw-e-out);
}
.uw-brand:hover .uw-brand__mark { transform: rotate(-4deg) scale(1.04); box-shadow: var(--uw-sh-2); }
.uw-brand__mark svg, .uw-brand__gif { width: 40px; height: 40px; object-fit: contain; }
.uw-brand__text { display: flex; flex-direction: column; min-width: 0; line-height: 1.15; }
.uw-brand__name {
	font-size: clamp(1.02rem, .95rem + .35vw, 1.3rem);
	font-weight: 700;
	letter-spacing: -.02em;
	color: var(--uw-ink);
}
.uw-brand__tag {
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--uw-primary-700);
}

/* Animated fallback mark */
.uw-logomark__ring { transform-origin: 32px 32px; animation: uwSpin 14s linear infinite; }
.uw-logomark__pulse { stroke-dasharray: 120; stroke-dashoffset: 0; animation: uwTrace 4.5s var(--uw-e-soft) infinite; }
.uw-logomark__dot { animation: uwBeat 2.4s var(--uw-e-soft) infinite; transform-origin: 32px 18px; }
.uw-logomark__leaf { animation: uwSway 5s var(--uw-e-soft) infinite; transform-origin: 38px 40px; }
@keyframes uwSpin { to { transform: rotate(360deg); } }
@keyframes uwTrace { 0% { stroke-dashoffset: 120; } 55%, 100% { stroke-dashoffset: 0; } }
@keyframes uwBeat { 0%, 100% { transform: scale(1); } 40% { transform: scale(1.28); } }
@keyframes uwSway { 0%, 100% { transform: rotate(0deg); } 50% { transform: rotate(-7deg); } }

/* Nav */
/* On desktop the shell is layout-transparent; on mobile it becomes a fixed,
   clipping viewport for the drawer. Without it, a drawer parked at
   translateX(100%) widens the layout viewport on phones. */
.uw-navshell { display: contents; }
.uw-nav { margin-left: auto; }
.uw-nav__list {
	display: flex;
	align-items: center;
	gap: .15rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.uw-nav__item { position: relative; }
.uw-nav__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding: .62rem .8rem;
	border-radius: var(--uw-r-pill);
	font-size: .94rem;
	font-weight: 600;
	color: var(--uw-ink-2);
	text-decoration: none;
	transition: color var(--uw-t-fast) linear, background var(--uw-t-fast) linear;
}
.uw-nav__link::after {
	content: '';
	position: absolute;
	left: 50%; bottom: .3rem;
	width: 0; height: 2px;
	border-radius: 2px;
	background: var(--uw-primary);
	transform: translateX(-50%);
	transition: width var(--uw-t) var(--uw-e-out);
}
.uw-nav__link:hover, .uw-nav__link:focus-visible { color: var(--uw-primary-700); }
.uw-nav__link:hover::after { width: 22px; }
.uw-nav__item.current-menu-item > .uw-nav__link,
.uw-nav__item.current-menu-ancestor > .uw-nav__link,
.uw-nav__item.current_page_item > .uw-nav__link {
	color: var(--uw-primary-700);
	background: var(--uw-primary-050);
}
.uw-nav__item.current-menu-item > .uw-nav__link::after { width: 22px; }

.uw-nav__toggle {
	display: inline-grid;
	place-items: center;
	width: 24px; height: 24px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--uw-muted);
	cursor: pointer;
	border-radius: 50%;
	transition: transform var(--uw-t) var(--uw-e-out), color var(--uw-t-fast) linear;
}
.uw-nav__item--parent > .uw-nav__toggle { position: absolute; right: -6px; top: 50%; transform: translateY(-50%); }
.uw-nav__item--parent.is-open > .uw-nav__toggle { transform: translateY(-50%) rotate(180deg); color: var(--uw-primary); }
.uw-nav__item--parent > .uw-nav__link { padding-right: 1.5rem; }

.uw-submenu {
	position: absolute;
	top: calc(100% + 12px);
	left: 50%;
	min-width: 244px;
	margin: 0;
	padding: .5rem;
	list-style: none;
	background: #fff;
	border-radius: var(--uw-r-md);
	box-shadow: var(--uw-sh-3);
	border: 1px solid var(--uw-line-2);
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, 10px);
	transition: opacity var(--uw-t) var(--uw-e-out),
	            transform var(--uw-t) var(--uw-e-out),
	            visibility 0s linear var(--uw-t);
}
.uw-submenu::before {
	content: '';
	position: absolute;
	top: -7px; left: 50%;
	width: 14px; height: 14px;
	background: #fff;
	border-left: 1px solid var(--uw-line-2);
	border-top: 1px solid var(--uw-line-2);
	transform: translateX(-50%) rotate(45deg);
	border-radius: 3px 0 0 0;
}
.uw-nav__item--parent:hover > .uw-submenu,
.uw-nav__item--parent:focus-within > .uw-submenu,
.uw-nav__item--parent.is-open > .uw-submenu {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
	transition-delay: 0s;
}
.uw-submenu .uw-nav__link {
	display: flex;
	width: 100%;
	padding: .68rem .85rem;
	border-radius: var(--uw-r-sm);
	font-weight: 600;
	color: var(--uw-ink-2);
}
.uw-submenu .uw-nav__link::after { display: none; }
.uw-submenu .uw-nav__link:hover { background: var(--uw-primary-050); color: var(--uw-primary-700); }

.uw-nav__head, .uw-nav__foot { display: none; }

.uw-header__actions { display: flex; align-items: center; gap: .75rem; flex-shrink: 0; }

/* Hamburger */
.uw-burger {
	display: none;
	place-items: center;
	width: 48px; height: 48px;
	padding: 0;
	border: 0;
	border-radius: 15px;
	background: var(--uw-primary-050);
	box-shadow: inset 0 0 0 1px var(--uw-primary-100);
	cursor: pointer;
	transition: background var(--uw-t-fast) linear, transform var(--uw-t) var(--uw-e-out);
}
.uw-burger:active { transform: scale(.94); }
.uw-burger__box { position: relative; display: block; width: 22px; height: 16px; }
.uw-burger__line {
	position: absolute;
	left: 0;
	width: 100%; height: 2.5px;
	border-radius: 3px;
	background: var(--uw-primary-700);
	transition: transform .4s var(--uw-e-out), opacity .2s linear, width .4s var(--uw-e-out);
}
.uw-burger__line:nth-child(1) { top: 0; }
.uw-burger__line:nth-child(2) { top: 6.75px; width: 70%; }
.uw-burger__line:nth-child(3) { top: 13.5px; }
.uw-burger[aria-expanded="true"] { background: var(--uw-primary); box-shadow: var(--uw-sh-brand); }
.uw-burger[aria-expanded="true"] .uw-burger__line { background: #fff; }
.uw-burger[aria-expanded="true"] .uw-burger__line:nth-child(1) { transform: translateY(6.75px) rotate(45deg); }
.uw-burger[aria-expanded="true"] .uw-burger__line:nth-child(2) { opacity: 0; transform: translateX(-12px); }
.uw-burger[aria-expanded="true"] .uw-burger__line:nth-child(3) { transform: translateY(-6.75px) rotate(-45deg); }

/* Scrim shared by the drawer and the modal */
.uw-scrim {
	position: fixed;
	inset: 0;
	z-index: 190;
	background: rgba(24, 42, 50, .42);
	backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity var(--uw-t) var(--uw-e-soft);
}
.uw-scrim.is-open { opacity: 1; }

/* ------------------------------------------------------- 7. Social rail */
.uw-social {
	position: fixed;
	top: 50%;
	left: 18px;
	z-index: 150;
	transform: translateY(-50%);
}
.uw-social__list {
	display: flex;
	flex-direction: column;
	gap: .45rem;
	margin: 0;
	padding: .45rem;
	list-style: none;
	background: #fff;
	border-radius: var(--uw-r-pill);
	box-shadow: var(--uw-sh-2);
	border: 1px solid var(--uw-line-2);
}
.uw-social__link {
	position: relative;
	display: grid;
	place-items: center;
	width: 40px; height: 40px;
	border-radius: 50%;
	background: #fff;
	color: #1A2429;
	text-decoration: none;
	transition: transform var(--uw-t) var(--uw-e-out), background var(--uw-t-fast) linear, color var(--uw-t-fast) linear;
}
.uw-social__link:hover, .uw-social__link:focus-visible {
	transform: scale(1.12);
	background: var(--uw-primary-050);
	color: var(--uw-primary-700);
}
.uw-social__label {
	position: absolute;
	left: calc(100% + 12px);
	padding: .35rem .7rem;
	background: var(--uw-ink);
	color: #fff;
	font-size: .74rem;
	font-weight: 700;
	border-radius: var(--uw-r-sm);
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transform: translateX(-6px);
	transition: opacity var(--uw-t-fast) linear, transform var(--uw-t) var(--uw-e-out);
}
.uw-social__link:hover .uw-social__label { opacity: 1; transform: translateX(0); }

/* Back to top */
.uw-top {
	position: fixed;
	right: 18px; bottom: 22px;
	z-index: 150;
	display: grid;
	place-items: center;
	width: 46px; height: 46px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--uw-ink);
	box-shadow: var(--uw-sh-2);
	cursor: pointer;
	opacity: 0;
	pointer-events: none;
	transform: translateY(14px);
	transition: opacity var(--uw-t) linear, transform var(--uw-t) var(--uw-e-out), background var(--uw-t-fast) linear;
}
.uw-top .uw-icon { transform: rotate(180deg); }
.uw-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.uw-top:hover { background: var(--uw-primary); color: #fff; }

/* --------------------------------------------------------------- 8. Hero */
.uw-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: clamp(560px, 90svh, 920px);
	padding: calc(var(--uw-header-h) + clamp(2rem, 5vw, 3.6rem)) 0 clamp(4.5rem, 9vw, 7.5rem);
	overflow: hidden;
	isolation: isolate;
}
.uw-hero__media { position: absolute; inset: 0; z-index: -2; background: var(--uw-ink); }
.uw-hero__video {
	width: 100%; height: 100%;
	object-fit: cover;
	transform: scale(1.06);
}
/* Two stacked washes: a teal→blue brand tint, then a bottom-weighted scrim so
   the white type always clears WCAG AA regardless of the frame behind it. */
.uw-hero__veil {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(14, 40, 52, .74) 0%, rgba(14, 40, 52, .5) 42%, rgba(11, 33, 43, .88) 100%),
		linear-gradient(115deg, rgba(14, 90, 118, .55), rgba(20, 60, 120, .42));
}
.uw-hero__grain {
	position: absolute;
	inset: 0;
	opacity: .35;
	background-image: radial-gradient(rgba(255, 255, 255, .16) 1px, transparent 1px);
	background-size: 3px 3px;
	mix-blend-mode: overlay;
}

.uw-hero__inner { position: relative; text-align: center; }

.uw-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	margin: 0 0 1.4rem;
	padding: .5rem 1.1rem .5rem .8rem;
	border-radius: var(--uw-r-pill);
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .28);
	backdrop-filter: blur(6px);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #fff;
}
.uw-hero__dot {
	width: 9px; height: 9px;
	border-radius: 50%;
	background: var(--uw-primary);
	box-shadow: 0 0 0 0 rgba(33, 199, 187, .7);
	animation: uwPing 2.4s var(--uw-e-soft) infinite;
}
@keyframes uwPing {
	0% { box-shadow: 0 0 0 0 rgba(33, 199, 187, .7); }
	70% { box-shadow: 0 0 0 12px rgba(33, 199, 187, 0); }
	100% { box-shadow: 0 0 0 0 rgba(33, 199, 187, 0); }
}
.uw-hero__sep { opacity: .5; }
.uw-hero__tag { color: rgba(255, 255, 255, .82); }

.uw-hero__title {
	max-width: 20ch;
	margin: 0 auto .5em;
	font-size: var(--uw-fs-h1);
	font-weight: 700;
	line-height: 1.1;
	color: #fff;
	text-shadow: 0 2px 30px rgba(0, 0, 0, .28);
}
.uw-hero__title .uw-word { display: inline-block; }

/* Question shuffle */
.uw-shuffle {
	max-width: 780px;
	margin: 0 auto 1.9rem;
	padding: 1.1rem 1.25rem 1rem;
	border-radius: var(--uw-r-lg);
	background: rgba(255, 255, 255, .93);
	box-shadow: 0 18px 50px rgba(6, 26, 34, .32);
	border: 1px solid rgba(255, 255, 255, .8);
}
.uw-shuffle__label {
	display: block;
	margin-bottom: .55rem;
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--uw-primary-700);
}
.uw-shuffle__viewport {
	position: relative;
	min-height: 4.4em;
	display: grid;
	align-items: center;
}
.uw-shuffle__list { display: grid; margin: 0; padding: 0; list-style: none; }
.uw-shuffle__item {
	grid-area: 1 / 1;
	display: flex;
	align-items: flex-start;
	gap: .6rem;
	font-size: clamp(1rem, .93rem + .4vw, 1.2rem);
	font-weight: 600;
	line-height: 1.5;
	color: var(--uw-ink);
	text-align: left;
	opacity: 0;
	visibility: hidden;
	transform: translateY(14px);
	transition: opacity .5s var(--uw-e-soft), transform .5s var(--uw-e-out), visibility 0s linear .5s;
}
.uw-shuffle__item.is-active { opacity: 1; visibility: visible; transform: translateY(0); transition-delay: 0s; }
.uw-shuffle__item .uw-icon { flex-shrink: 0; margin-top: .22em; color: var(--uw-primary); }

.uw-shuffle__dots { display: flex; justify-content: center; gap: .4rem; margin-top: .85rem; }
.uw-shuffle__dot {
	width: 26px; height: 5px;
	padding: 0;
	border: 0;
	border-radius: var(--uw-r-pill);
	background: var(--uw-line);
	cursor: pointer;
	transition: background var(--uw-t-fast) linear, width var(--uw-t) var(--uw-e-out);
}
.uw-shuffle__dot.is-active { width: 40px; background: var(--uw-primary); }
.uw-shuffle__dot:hover { background: var(--uw-primary-600); }

.uw-hero__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .85rem; }

.uw-hero__sound {
	position: absolute;
	top: calc(var(--uw-header-h) + 14px);
	right: clamp(1rem, 3vw, 2.2rem);
	padding: .48rem 1rem;
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: var(--uw-r-pill);
	background: rgba(12, 32, 40, .35);
	backdrop-filter: blur(6px);
	color: rgba(255, 255, 255, .88);
	font-size: .74rem;
	font-weight: 600;
	cursor: pointer;
	transition: background var(--uw-t-fast) linear, color var(--uw-t-fast) linear;
}
.uw-hero__sound:hover { background: rgba(255, 255, 255, .22); color: #fff; }


/* ------------------------------------------------------------ 9. Infobar */
.uw-infobar { position: relative; z-index: 5; margin-top: clamp(-3.5rem, -5vw, -2rem); }
.uw-infobar__inner {
	display: grid;
	grid-template-columns: 1.15fr repeat(3, 1fr);
	gap: clamp(.9rem, 2vw, 1.75rem);
	align-items: center;
	padding: clamp(1.25rem, 2.6vw, 1.9rem);
	background: #fff;
	border-radius: var(--uw-r-xl);
	box-shadow: var(--uw-sh-3);
	border: 1px solid var(--uw-line-2);
}
.uw-infobar__lead { display: flex; align-items: center; gap: .85rem; }
.uw-infobar__badge {
	display: grid;
	place-items: center;
	width: 50px; height: 50px;
	flex-shrink: 0;
	border-radius: 16px;
	background: linear-gradient(140deg, var(--uw-primary), var(--uw-blue));
	color: #fff;
	box-shadow: var(--uw-sh-brand);
}
.uw-infobar__badge .uw-icon { animation: uwSpin 12s linear infinite; }
.uw-infobar__title { margin: 0; font-size: 1.02rem; font-weight: 700; line-height: 1.3; color: var(--uw-ink); }
.uw-infobar__sub { margin: 0; font-size: .84rem; color: var(--uw-ink-3); }

.uw-infobar__item {
	display: flex;
	align-items: center;
	gap: .75rem;
	padding: .6rem .5rem;
	border-radius: var(--uw-r-md);
	text-decoration: none;
	color: inherit;
	transition: background var(--uw-t-fast) linear, transform var(--uw-t) var(--uw-e-out);
}
a.uw-infobar__item:hover { background: var(--uw-bg-soft); transform: translateY(-2px); }
.uw-infobar__icon {
	display: grid;
	place-items: center;
	width: 42px; height: 42px;
	flex-shrink: 0;
	border-radius: 13px;
}
.uw-infobar__icon--blue { background: var(--uw-blue-050); color: var(--uw-blue); }
.uw-infobar__icon--red { background: var(--uw-red-050); color: var(--uw-red); }
.uw-infobar__icon--green { background: var(--uw-green-050); color: var(--uw-green); }
.uw-infobar__text { display: flex; flex-direction: column; min-width: 0; }
.uw-infobar__text em {
	font-style: normal;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--uw-muted);
}
.uw-infobar__text strong { font-size: .95rem; font-weight: 700; color: var(--uw-ink); overflow-wrap: anywhere; }

/* ------------------------------------------------------------- 10. Doctor */
.uw-doctor { padding-block: var(--uw-section); }
.uw-doctor__inner {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}
.uw-doctor__media { position: relative; }
.uw-doctor__frame {
	position: relative;
	border-radius: var(--uw-r-xl);
	overflow: hidden;
	box-shadow: var(--uw-sh-3);
	isolation: isolate;
}
.uw-doctor__photo { width: 100%; height: auto; display: block; }
.uw-doctor__blob {
	position: absolute;
	inset: auto -18% -24% -18%;
	height: 55%;
	background: radial-gradient(60% 100% at 50% 100%, rgba(33, 199, 187, .35), transparent 70%);
	z-index: 1;
	pointer-events: none;
}
.uw-doctor__ring {
	position: absolute;
	inset: -22px;
	border-radius: calc(var(--uw-r-xl) + 22px);
	border: 2px dashed var(--uw-primary-100);
	z-index: -1;
}
.uw-doctor__card {
	position: absolute;
	right: clamp(-.5rem, -1vw, 0rem);
	bottom: -22px;
	display: flex;
	align-items: center;
	gap: .7rem;
	max-width: 280px;
	padding: .85rem 1.1rem;
	background: #fff;
	border-radius: var(--uw-r-md);
	box-shadow: var(--uw-sh-3);
	border: 1px solid var(--uw-line-2);
}
.uw-doctor__cardIcon {
	display: grid;
	place-items: center;
	width: 40px; height: 40px;
	flex-shrink: 0;
	border-radius: 12px;
	background: var(--uw-red-050);
	color: var(--uw-red);
}
.uw-doctor__card strong { display: block; font-size: .92rem; line-height: 1.3; }
.uw-doctor__card em { font-style: normal; font-size: .74rem; color: var(--uw-ink-3); line-height: 1.4; display: block; }

.uw-doctor__aka { display: block; font-size: .62em; font-weight: 600; color: var(--uw-primary-700); margin-top: .2em; }

.uw-doctor__stats {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	margin: 0 0 1.5rem;
	padding: 0;
	list-style: none;
}
.uw-stat {
	display: flex;
	align-items: center;
	gap: .55rem;
	padding: .6rem .95rem;
	border-radius: var(--uw-r-pill);
	background: var(--uw-bg-soft);
	border: 1px solid var(--uw-line-2);
}
.uw-stat__icon { display: grid; place-items: center; }
.uw-stat--teal .uw-stat__icon, .uw-stat--teal .uw-stat__value { color: var(--uw-primary-700); }
.uw-stat--blue .uw-stat__icon, .uw-stat--blue .uw-stat__value { color: var(--uw-blue); }
.uw-stat--green .uw-stat__icon, .uw-stat--green .uw-stat__value { color: var(--uw-green-600); }
.uw-stat__value { font-size: 1.02rem; font-weight: 700; }
.uw-stat__label { font-size: .8rem; color: var(--uw-ink-3); font-weight: 600; }

/* Read more */
.uw-doctor__more {
	overflow: hidden;
	height: 0;
	opacity: 0;
	transition: height .5s var(--uw-e-out), opacity .35s linear;
}
.uw-doctor__bio.is-open .uw-doctor__more { opacity: 1; }
.uw-doctor__intro { position: relative; }
.uw-doctor__bio:not(.is-open) .uw-doctor__intro::after {
	content: '';
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 3.5em;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff 88%);
	pointer-events: none;
}
.uw-readmore {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	margin-top: .9rem;
	padding: .55rem 1.1rem .55rem 1.2rem;
	border: 0;
	border-radius: var(--uw-r-pill);
	background: var(--uw-primary-050);
	color: var(--uw-primary-700);
	font-size: .9rem;
	font-weight: 700;
	cursor: pointer;
	transition: background var(--uw-t-fast) linear, gap var(--uw-t) var(--uw-e-out);
}
.uw-readmore:hover { background: var(--uw-primary-100); gap: .7rem; }
.uw-readmore__icon { display: inline-flex; transition: transform var(--uw-t) var(--uw-e-out); }
.uw-doctor__bio.is-open .uw-readmore__icon { transform: rotate(180deg); }

.uw-doctor__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.9rem; }

/* ---------------------------------------------------------------- 11. Gut */
.uw-gut { position: relative; padding-block: var(--uw-section); background: var(--uw-bg-soft); overflow: hidden; }
.uw-gut__wash {
	position: absolute;
	inset: auto -10% -30% -10%;
	height: 60%;
	background: radial-gradient(50% 60% at 50% 100%, rgba(33, 199, 187, .14), transparent 70%);
	pointer-events: none;
}
.uw-gut__inner { position: relative; }
.uw-gut__head { max-width: 820px; margin: 0 auto clamp(2.2rem, 5vw, 3.6rem); text-align: center; }

.uw-gut__grid {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}

.uw-gutfig { margin: 0; text-align: center; }
.uw-gutfig__svg { width: 100%; max-width: 380px; height: auto; margin-inline: auto; }
.uw-gutfig__draw { stroke-linejoin: round; }
.uw-gutfig__caption {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	margin-top: 1rem;
	padding: .55rem 1rem;
	border-radius: var(--uw-r-pill);
	background: #fff;
	box-shadow: var(--uw-sh-1);
	font-size: .84rem;
	font-weight: 600;
	color: var(--uw-ink-2);
	text-align: left;
}
.uw-gutfig__caption .uw-icon { color: var(--uw-red); flex-shrink: 0; }
/* Flora and node pulses are pure CSS so they keep breathing even after the
   one-shot GSAP draw finishes. */
.uw-gutfig__flora circle { transform-box: fill-box; transform-origin: center; animation: uwFloat 6s var(--uw-e-soft) infinite; }
.uw-gutfig__flora circle:nth-child(2) { animation-duration: 7.5s; animation-delay: -1.2s; }
.uw-gutfig__flora circle:nth-child(3) { animation-duration: 8.5s; animation-delay: -2.4s; }
.uw-gutfig__flora circle:nth-child(4) { animation-duration: 6.8s; animation-delay: -3.1s; }
.uw-gutfig__flora circle:nth-child(5) { animation-duration: 9s; animation-delay: -4s; }
.uw-gutfig__flora circle:nth-child(6) { animation-duration: 7s; animation-delay: -1.8s; }
@keyframes uwFloat {
	0%, 100% { transform: translate(0, 0) scale(1); }
	33% { transform: translate(5px, -8px) scale(1.14); }
	66% { transform: translate(-6px, 5px) scale(.9); }
}
.uw-gutfig__node { transform-box: fill-box; transform-origin: center; animation: uwNode 3s var(--uw-e-soft) infinite; }
.uw-gutfig__node:nth-child(2) { animation-delay: -1s; }
.uw-gutfig__node:nth-child(3) { animation-delay: -2s; }
@keyframes uwNode { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.45); opacity: .55; } }
.uw-gutfig__signal { animation: uwDash 3.5s linear infinite; }
@keyframes uwDash { to { stroke-dashoffset: -32; } }

.uw-pillars { margin: 1.8rem 0; padding: 0; list-style: none; display: grid; gap: .75rem; }
.uw-pillar {
	display: flex;
	gap: .9rem;
	padding: 1rem 1.15rem;
	background: #fff;
	border-radius: var(--uw-r-md);
	border: 1px solid var(--uw-line-2);
	box-shadow: var(--uw-sh-1);
	transition: transform var(--uw-t) var(--uw-e-out), box-shadow var(--uw-t) var(--uw-e-out);
}
.uw-pillar:hover { transform: translateX(5px); box-shadow: var(--uw-sh-2); }
.uw-pillar__icon {
	display: grid;
	place-items: center;
	width: 42px; height: 42px;
	flex-shrink: 0;
	border-radius: 13px;
}
.uw-pillar--teal .uw-pillar__icon { background: var(--uw-primary-050); color: var(--uw-primary-700); }
.uw-pillar--green .uw-pillar__icon { background: var(--uw-green-050); color: var(--uw-green-600); }
.uw-pillar--blue .uw-pillar__icon { background: var(--uw-blue-050); color: var(--uw-blue); }
.uw-pillar__body strong { display: block; font-size: .98rem; margin-bottom: .15rem; }
.uw-pillar__body em { font-style: normal; font-size: .88rem; color: var(--uw-ink-3); line-height: 1.6; }

/* ------------------------------------------------------------ 12. Gallery */
.uw-gallery { padding-block: var(--uw-section); }
.uw-gallery__head { max-width: 760px; margin: 0 auto clamp(2rem, 4vw, 3rem); }
.uw-gallery__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: clamp(.9rem, 2vw, 1.4rem);
	margin: 0;
	padding: 0;
	list-style: none;
}
.uw-gallery__item { position: relative; }
.uw-gallery__item figure {
	position: relative;
	margin: 0;
	border-radius: var(--uw-r-lg);
	overflow: hidden;
	box-shadow: var(--uw-sh-2);
	aspect-ratio: 4 / 3;
	transition: transform var(--uw-t-slow) var(--uw-e-out), box-shadow var(--uw-t) var(--uw-e-out);
}
.uw-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--uw-e-out); }
.uw-gallery__item:hover figure { transform: translateY(-6px); box-shadow: var(--uw-sh-3); }
.uw-gallery__item:hover img { transform: scale(1.07); }
.uw-gallery__item figcaption {
	position: absolute;
	inset: auto 0 0 0;
	padding: 2.4rem 1.1rem 1.05rem;
	background: linear-gradient(180deg, transparent, rgba(12, 34, 42, .82));
	color: #fff;
	font-size: .92rem;
	font-weight: 700;
}
.uw-gallery__item figcaption span { display: inline-flex; transform: translateY(4px); opacity: .92; transition: transform var(--uw-t) var(--uw-e-out), opacity var(--uw-t) linear; }
.uw-gallery__item:hover figcaption span { transform: translateY(0); opacity: 1; }

/* ------------------------------------------------------------ 13. Reviews */
.uw-reviews { padding-block: var(--uw-section); background: var(--uw-bg-soft); }
.uw-reviews__head { max-width: 720px; margin: 0 auto clamp(2rem, 4vw, 3rem); }
.uw-reviews__widget { min-height: 60px; }
.uw-reviews__notice {
	display: flex;
	gap: 1rem;
	max-width: 720px;
	margin-inline: auto;
	padding: 1.4rem 1.6rem;
	background: #fff;
	border: 1px dashed var(--uw-primary);
	border-radius: var(--uw-r-lg);
	color: var(--uw-ink-2);
}
.uw-reviews__notice .uw-icon { color: var(--uw-primary); flex-shrink: 0; }
.uw-reviews__notice code { background: var(--uw-primary-050); padding: .1em .45em; border-radius: 6px; font-size: .88em; }

/* ----------------------------------------------------------------- 14. CTA */
.uw-cta { padding-block: clamp(2rem, 4vw, 3.5rem) var(--uw-section); }
.uw-cta__inner {
	position: relative;
	padding: clamp(2.4rem, 6vw, 4.5rem) clamp(1.4rem, 5vw, 4rem);
	border-radius: var(--uw-r-xl);
	background: linear-gradient(125deg, var(--uw-primary) 0%, #16A4B4 45%, var(--uw-blue) 100%);
	color: #fff;
	text-align: center;
	overflow: hidden;
	isolation: isolate;
	box-shadow: 0 28px 70px rgba(29, 95, 168, .28);
}
.uw-cta__orb { position: absolute; border-radius: 50%; filter: blur(8px); pointer-events: none; z-index: -1; }
.uw-cta__orb--a { width: 320px; height: 320px; top: -140px; left: -80px; background: radial-gradient(circle, rgba(255,255,255,.28), transparent 68%); }
.uw-cta__orb--b { width: 380px; height: 380px; bottom: -190px; right: -100px; background: radial-gradient(circle, rgba(46,158,107,.35), transparent 68%); }
.uw-cta__title {
	max-width: 22ch;
	margin: 0 auto .6em;
	font-size: var(--uw-fs-h2);
	color: #fff;
}
.uw-cta__text { max-width: 60ch; margin: 0 auto 1.9rem; color: rgba(255, 255, 255, .92); font-size: var(--uw-fs-lead); }
.uw-cta__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .85rem; }

/* -------------------------------------------------------------- 15. Footer */
.uw-footer {
	position: relative;
	padding-top: clamp(3rem, 6vw, 5rem);
	background: linear-gradient(180deg, #F7FCFC 0%, #EDF6F7 100%);
	color: var(--uw-ink-2);
	overflow: hidden;
}
.uw-footer__glow {
	position: absolute;
	top: -160px; left: 50%;
	width: 720px; height: 360px;
	transform: translateX(-50%);
	background: radial-gradient(closest-side, rgba(33, 199, 187, .18), transparent);
	pointer-events: none;
}
.uw-footer__inner {
	position: relative;
	display: grid;
	grid-template-columns: 1.5fr 1fr 1.4fr 1fr;
	gap: clamp(1.8rem, 4vw, 3.2rem);
	padding-bottom: clamp(2rem, 4vw, 3rem);
}
.uw-footer__brand { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.uw-footer__mark {
	display: grid;
	place-items: center;
	width: 54px; height: 54px;
	border-radius: 17px;
	background: #fff;
	box-shadow: var(--uw-sh-1);
	overflow: hidden;
}
.uw-footer__mark svg, .uw-footer__mark img { width: 40px; height: 40px; }
.uw-footer__brand strong { display: block; font-size: 1.14rem; font-weight: 700; color: var(--uw-ink); line-height: 1.2; }
.uw-footer__brand em {
	font-style: normal;
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--uw-primary-700);
}
.uw-footer__blurb { font-size: .93rem; line-height: 1.75; margin-bottom: 1.4rem; max-width: 42ch; }

.uw-footer__title {
	margin: 0 0 1rem;
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--uw-ink);
}
.uw-footer__menu { margin: 0; padding: 0; list-style: none; display: grid; gap: .55rem; }
.uw-footer__menu a {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	font-size: .93rem;
	font-weight: 600;
	color: var(--uw-ink-2);
	text-decoration: none;
	transition: color var(--uw-t-fast) linear, transform var(--uw-t) var(--uw-e-out);
}
.uw-footer__menu a::before {
	content: '';
	width: 0; height: 2px;
	border-radius: 2px;
	background: var(--uw-primary);
	transition: width var(--uw-t) var(--uw-e-out);
}
.uw-footer__menu a:hover { color: var(--uw-primary-700); transform: translateX(3px); }
.uw-footer__menu a:hover::before { width: 12px; }

.uw-footer__contact { margin: 0; padding: 0; list-style: none; display: grid; gap: 1rem; }
.uw-footer__contact li { display: flex; gap: .75rem; }
.uw-footer__contact .uw-icon { flex-shrink: 0; margin-top: .2rem; color: var(--uw-primary-700); }
.uw-footer__contact em {
	display: block;
	font-style: normal;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--uw-muted);
}
.uw-footer__contact a, .uw-footer__plain { font-size: .94rem; font-weight: 600; color: var(--uw-ink); text-decoration: none; }
.uw-footer__contact a:hover { color: var(--uw-primary-700); }

.uw-footer__social { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.uw-footer__social a {
	display: grid;
	place-items: center;
	width: 42px; height: 42px;
	border-radius: 50%;
	background: #fff;
	color: #1A2429;
	box-shadow: var(--uw-sh-1);
	transition: transform var(--uw-t) var(--uw-e-out), background var(--uw-t-fast) linear, color var(--uw-t-fast) linear;
}
.uw-footer__social a:hover { transform: translateY(-3px); background: var(--uw-primary); color: #fff; }

.uw-footer__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .8rem;
	padding-block: 1.3rem;
	border-top: 1px solid var(--uw-line);
}
.uw-footer__copy, .uw-footer__legal { margin: 0; font-size: .8rem; color: var(--uw-ink-3); }
.uw-footer__legal { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; }
.uw-footer__legalMenu { display: flex; gap: .9rem; margin: 0; padding: 0; list-style: none; }
.uw-footer__legalMenu a { font-size: .8rem; color: var(--uw-ink-3); text-decoration: none; }
.uw-footer__legalMenu a:hover { color: var(--uw-primary-700); }
.uw-footer__disclaimer { max-width: 52ch; opacity: .85; }

/* --------------------------------------------------------- 16. Forms */
.uw-field { display: block; margin: 0 0 1rem; }
.uw-field label,
.uw-radios legend {
	display: block;
	margin-bottom: .38rem;
	font-size: .84rem;
	font-weight: 700;
	color: var(--uw-ink);
}
.uw-req { color: var(--uw-red); }

.uw-field input[type="text"],
.uw-field input[type="email"],
.uw-field input[type="tel"],
.uw-field input[type="url"],
.uw-field input[type="search"],
.uw-field textarea,
.uw-select select,
.uw-commentform input[type="text"],
.uw-commentform input[type="email"],
.uw-commentform input[type="url"],
.uw-commentform textarea {
	width: 100%;
	padding: .82rem 1rem;
	font-family: var(--uw-font);
	font-size: .96rem;
	font-weight: 500;
	color: var(--uw-ink);
	background: #fff;
	border: 1.5px solid var(--uw-line);
	border-radius: var(--uw-r-sm);
	transition: border-color var(--uw-t-fast) linear, box-shadow var(--uw-t-fast) linear;
	-webkit-appearance: none;
	appearance: none;
}
.uw-field textarea { resize: vertical; min-height: 96px; line-height: 1.6; }
.uw-field input:focus,
.uw-field textarea:focus,
.uw-select select:focus {
	outline: none;
	border-color: var(--uw-primary);
	box-shadow: 0 0 0 4px rgba(33, 199, 187, .16);
}
.uw-field.has-error input,
.uw-field.has-error textarea { border-color: var(--uw-red); }
.uw-field__error {
	display: none;
	margin-top: .3rem;
	font-size: .8rem;
	font-weight: 600;
	color: var(--uw-red);
}
.uw-field__error.is-shown, .uw-field.has-error .uw-field__error { display: block; }

.uw-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }

.uw-select { position: relative; display: block; }
.uw-select select { padding-right: 2.6rem; cursor: pointer; }
.uw-select .uw-icon {
	position: absolute;
	right: .9rem; top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	color: var(--uw-muted);
}

.uw-radios { margin: 0 0 1rem; padding: 0; border: 0; }
.uw-radios__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .6rem; }
.uw-radio { position: relative; display: block; cursor: pointer; }
.uw-radio input { position: absolute; opacity: 0; width: 0; height: 0; }
.uw-radio__box {
	display: flex;
	align-items: center;
	gap: .5rem;
	padding: .78rem .9rem;
	border: 1.5px solid var(--uw-line);
	border-radius: var(--uw-r-sm);
	font-size: .88rem;
	font-weight: 600;
	color: var(--uw-ink-2);
	background: #fff;
	transition: border-color var(--uw-t-fast) linear, background var(--uw-t-fast) linear,
	            color var(--uw-t-fast) linear, transform var(--uw-t) var(--uw-e-out);
}
.uw-radio__box .uw-icon { color: var(--uw-muted); flex-shrink: 0; transition: color var(--uw-t-fast) linear; }
.uw-radio:hover .uw-radio__box { border-color: var(--uw-primary-100); transform: translateY(-1px); }
.uw-radio input:checked + .uw-radio__box {
	border-color: var(--uw-primary);
	background: var(--uw-primary-050);
	color: var(--uw-primary-700);
}
.uw-radio input:checked + .uw-radio__box .uw-icon { color: var(--uw-primary); }
.uw-radio input:focus-visible + .uw-radio__box { box-shadow: 0 0 0 4px rgba(33, 199, 187, .18); }

.uw-check { display: flex; align-items: flex-start; gap: .65rem; margin: .3rem 0 .4rem; cursor: pointer; }
.uw-check input { position: absolute; opacity: 0; width: 0; height: 0; }
.uw-check__box {
	display: grid;
	place-items: center;
	width: 22px; height: 22px;
	flex-shrink: 0;
	margin-top: .12rem;
	border: 1.5px solid var(--uw-line);
	border-radius: 7px;
	background: #fff;
	color: transparent;
	transition: background var(--uw-t-fast) linear, border-color var(--uw-t-fast) linear, color var(--uw-t-fast) linear;
}
.uw-check input:checked + .uw-check__box { background: var(--uw-primary); border-color: var(--uw-primary); color: #fff; }
.uw-check input:focus-visible + .uw-check__box { box-shadow: 0 0 0 4px rgba(33, 199, 187, .18); }
.uw-check__text { font-size: .84rem; line-height: 1.6; color: var(--uw-ink-3); }

/* Honeypot — off-screen rather than display:none so bots that skip hidden
   fields still fill it. */
.uw-hp { position: absolute !important; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }

.uw-formError {
	margin: .8rem 0 0;
	padding: .8rem 1rem;
	border-radius: var(--uw-r-sm);
	background: var(--uw-red-050);
	color: var(--uw-red-600);
	font-size: .88rem;
	font-weight: 600;
}
.uw-formSuccess {
	display: flex;
	gap: .7rem;
	margin: .9rem 0 0;
	padding: 1rem 1.15rem;
	border-radius: var(--uw-r-md);
	background: var(--uw-green-050);
	color: var(--uw-green-600);
	font-weight: 600;
}
.uw-formSuccess .uw-icon { flex-shrink: 0; }
.uw-formSuccess p { margin: 0; }

.uw-search { position: relative; display: flex; max-width: 460px; }
.uw-search input {
	flex: 1;
	padding: .85rem 3.2rem .85rem 1.1rem;
	font-family: var(--uw-font);
	font-size: .95rem;
	border: 1.5px solid var(--uw-line);
	border-radius: var(--uw-r-pill);
	background: #fff;
}
.uw-search input:focus { outline: none; border-color: var(--uw-primary); box-shadow: 0 0 0 4px rgba(33, 199, 187, .16); }
.uw-search button {
	position: absolute;
	right: 5px; top: 50%;
	transform: translateY(-50%);
	display: grid;
	place-items: center;
	width: 40px; height: 40px;
	border: 0;
	border-radius: 50%;
	background: var(--uw-primary);
	color: #fff;
	cursor: pointer;
	transition: background var(--uw-t-fast) linear;
}
.uw-search button:hover { background: var(--uw-primary-700); }

/* --------------------------------------------------------- 17. Modal */
.uw-modal {
	position: fixed;
	inset: 0;
	z-index: 400;
	display: grid;
	place-items: center;
	padding: clamp(.6rem, 3vw, 2rem);
	overflow-y: auto;
	overscroll-behavior: contain;
}
.uw-modal[hidden] { display: none; }
.uw-modal__backdrop {
	position: fixed;
	inset: 0;
	background: rgba(14, 36, 44, .55);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	opacity: 0;
	transition: opacity var(--uw-t) var(--uw-e-soft);
	border: 0;
}
.uw-modal.is-open .uw-modal__backdrop { opacity: 1; }

.uw-modal__dialog {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 330px minmax(0, 1fr);
	width: min(100%, 1020px);
	max-height: min(94svh, 900px);
	background: #fff;
	border-radius: var(--uw-r-xl);
	box-shadow: 0 40px 100px rgba(10, 32, 40, .35);
	overflow: hidden;
	opacity: 0;
	transform: translateY(26px) scale(.97);
	transition: opacity var(--uw-t) var(--uw-e-soft), transform .45s var(--uw-e-out);
}
.uw-modal.is-open .uw-modal__dialog { opacity: 1; transform: translateY(0) scale(1); }

.uw-modal__close {
	position: absolute;
	top: 14px; right: 14px;
	z-index: 6;
	display: grid;
	place-items: center;
	width: 42px; height: 42px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--uw-ink);
	box-shadow: var(--uw-sh-2);
	cursor: pointer;
	transition: transform var(--uw-t) var(--uw-e-out), background var(--uw-t-fast) linear, color var(--uw-t-fast) linear;
}
.uw-modal__close:hover { background: var(--uw-red); color: #fff; transform: rotate(90deg); }

.uw-modal__aside {
	position: relative;
	padding: clamp(1.5rem, 3vw, 2.1rem);
	background: linear-gradient(160deg, var(--uw-primary) 0%, #178FAF 55%, var(--uw-blue) 100%);
	color: #fff;
	overflow-y: auto;
}
.uw-modal__brand { display: flex; align-items: center; gap: .6rem; margin-bottom: 1.6rem; }
.uw-modal__mark {
	display: grid;
	place-items: center;
	width: 44px; height: 44px;
	border-radius: 14px;
	background: rgba(255, 255, 255, .95);
	overflow: hidden;
}
.uw-modal__mark svg, .uw-modal__mark img { width: 34px; height: 34px; }
.uw-modal__brand strong { display: block; font-size: .98rem; line-height: 1.2; }
.uw-modal__brand em { font-style: normal; font-size: .62rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; opacity: .85; }

.uw-modal__eyebrow {
	margin: 0 0 .4rem;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .8);
}
.uw-modal__asideTitle { font-size: 1.32rem; line-height: 1.28; color: #fff; margin-bottom: 1.3rem; }

.uw-modal__points { margin: 0 0 1.4rem; padding: 0; list-style: none; display: grid; gap: .7rem; }
.uw-modal__points li { display: flex; gap: .6rem; font-size: .88rem; line-height: 1.5; }
.uw-modal__points .uw-icon { flex-shrink: 0; margin-top: .12rem; opacity: .9; }

.uw-modal__note {
	display: flex;
	gap: .6rem;
	padding: .85rem 1rem;
	border-radius: var(--uw-r-md);
	background: rgba(255, 255, 255, .15);
	border: 1px solid rgba(255, 255, 255, .28);
	font-size: .84rem;
	line-height: 1.55;
}
.uw-modal__note .uw-icon { flex-shrink: 0; margin-top: .1rem; }
.uw-modal__note p { margin: 0; }

.uw-modal__call {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	margin-top: 1.2rem;
	font-size: .95rem;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	border-bottom: 2px solid rgba(255, 255, 255, .4);
	padding-bottom: .15rem;
}
.uw-modal__call:hover { color: #fff; border-bottom-color: #fff; }

.uw-modal__body { padding: clamp(1.5rem, 3vw, 2.2rem); overflow-y: auto; overscroll-behavior: contain; }
.uw-modal__head { margin-bottom: 1.4rem; padding-right: 2.6rem; }
.uw-modal__title { font-size: clamp(1.25rem, 1.05rem + .8vw, 1.65rem); margin-bottom: .4em; }
.uw-modal__intro { font-size: .92rem; color: var(--uw-ink-3); margin-bottom: 1.2rem; }

.uw-steps { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.uw-steps__item {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: .42rem .85rem .42rem .45rem;
	border-radius: var(--uw-r-pill);
	background: var(--uw-bg-soft);
	font-size: .8rem;
	font-weight: 700;
	color: var(--uw-muted);
	transition: background var(--uw-t-fast) linear, color var(--uw-t-fast) linear;
}
.uw-steps__item span {
	display: grid;
	place-items: center;
	width: 22px; height: 22px;
	border-radius: 50%;
	background: #fff;
	color: var(--uw-muted);
	font-size: .74rem;
	box-shadow: inset 0 0 0 1.5px var(--uw-line);
}
.uw-steps__item.is-active { background: var(--uw-primary-050); color: var(--uw-primary-700); }
.uw-steps__item.is-active span { background: var(--uw-primary); color: #fff; box-shadow: none; }
.uw-steps__item.is-done { color: var(--uw-green-600); background: var(--uw-green-050); }
.uw-steps__item.is-done span { background: var(--uw-green); color: #fff; box-shadow: none; }

.uw-step[hidden] { display: none; }
.uw-step__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .8rem;
	margin-top: 1.4rem;
	padding-top: 1.2rem;
	border-top: 1px solid var(--uw-line-2);
}
.uw-step__hint { margin: 0; font-size: .84rem; color: var(--uw-muted); font-weight: 600; }
.uw-back {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .6rem .9rem;
	border: 0;
	border-radius: var(--uw-r-pill);
	background: transparent;
	color: var(--uw-ink-3);
	font-weight: 700;
	font-size: .9rem;
	cursor: pointer;
	transition: background var(--uw-t-fast) linear, color var(--uw-t-fast) linear;
}
.uw-back .uw-icon { transform: rotate(180deg); }
.uw-back:hover { background: var(--uw-bg-soft); color: var(--uw-ink); }

/* Calendar + slots */
.uw-picker { display: grid; grid-template-columns: minmax(0, 1fr) 214px; gap: 1.4rem; }
.uw-cal__head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .8rem; }
.uw-cal__month { margin: 0; font-size: 1rem; font-weight: 700; }
.uw-cal__nav {
	display: grid;
	place-items: center;
	width: 34px; height: 34px;
	border: 1.5px solid var(--uw-line);
	border-radius: 50%;
	background: #fff;
	color: var(--uw-ink-2);
	cursor: pointer;
	transition: border-color var(--uw-t-fast) linear, background var(--uw-t-fast) linear, color var(--uw-t-fast) linear;
}
.uw-cal__nav:hover:not([disabled]) { border-color: var(--uw-primary); background: var(--uw-primary-050); color: var(--uw-primary-700); }
.uw-cal__nav[disabled] { opacity: .35; cursor: not-allowed; }
[data-uw-cal-prev] .uw-icon { transform: rotate(180deg); }

.uw-cal__dow, .uw-cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.uw-cal__dow {
	margin-bottom: 5px;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--uw-muted);
	text-align: center;
}
.uw-cal__day {
	position: relative;
	aspect-ratio: 1;
	display: grid;
	place-items: center;
	border: 0;
	border-radius: 12px;
	background: transparent;
	font-family: var(--uw-font);
	font-size: .9rem;
	font-weight: 600;
	color: var(--uw-ink-2);
	cursor: pointer;
	transition: background var(--uw-t-fast) linear, color var(--uw-t-fast) linear, transform var(--uw-t) var(--uw-e-out);
}
.uw-cal__day--pad { pointer-events: none; }
.uw-cal__day:hover:not([disabled]) { background: var(--uw-primary-050); transform: scale(1.06); }
.uw-cal__day[disabled] { color: var(--uw-line); cursor: not-allowed; }
.uw-cal__day.is-open::after {
	content: '';
	position: absolute;
	bottom: 5px; left: 50%;
	width: 4px; height: 4px;
	border-radius: 50%;
	background: var(--uw-green);
	transform: translateX(-50%);
}
.uw-cal__day.is-today { box-shadow: inset 0 0 0 1.5px var(--uw-line); }
.uw-cal__day.is-selected { background: var(--uw-primary); color: #fff; box-shadow: var(--uw-sh-brand); }
.uw-cal__day.is-selected::after { background: #fff; }
.uw-cal__tz {
	display: flex;
	align-items: center;
	gap: .4rem;
	margin: .9rem 0 0;
	font-size: .76rem;
	font-weight: 600;
	color: var(--uw-muted);
}

.uw-slots { display: flex; flex-direction: column; min-height: 240px; }
.uw-slots__title { margin: 0 0 .6rem; font-size: .82rem; font-weight: 700; color: var(--uw-ink); }
.uw-slots__list {
	display: grid;
	gap: .4rem;
	max-height: 268px;
	overflow-y: auto;
	padding-right: 4px;
	scrollbar-width: thin;
}
.uw-slot {
	padding: .62rem .7rem;
	border: 1.5px solid var(--uw-line);
	border-radius: var(--uw-r-sm);
	background: #fff;
	font-family: var(--uw-font);
	font-size: .88rem;
	font-weight: 700;
	color: var(--uw-ink-2);
	cursor: pointer;
	transition: border-color var(--uw-t-fast) linear, background var(--uw-t-fast) linear,
	            color var(--uw-t-fast) linear, transform var(--uw-t) var(--uw-e-out);
}
.uw-slot:hover { border-color: var(--uw-primary); transform: translateY(-1px); }
.uw-slot.is-selected { background: var(--uw-primary); border-color: var(--uw-primary); color: #fff; }
.uw-slots__msg { margin: 0; padding: .9rem; font-size: .84rem; color: var(--uw-muted); text-align: center; background: var(--uw-bg-soft); border-radius: var(--uw-r-sm); }
.uw-slots__spinner {
	width: 26px; height: 26px;
	margin: 1.4rem auto;
	border: 3px solid var(--uw-line);
	border-top-color: var(--uw-primary);
	border-radius: 50%;
	animation: uwSpin .8s linear infinite;
}

.uw-chosen {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin: 0 0 1.2rem;
	padding: .8rem 1rem;
	border-radius: var(--uw-r-md);
	background: var(--uw-primary-050);
	color: var(--uw-primary-700);
	font-weight: 700;
	font-size: .92rem;
}

.uw-success { text-align: center; padding: 1rem 0; }
.uw-success__badge { display: flex; justify-content: center; margin-bottom: 1rem; }
.uw-success__ring { stroke-dasharray: 145; stroke-dashoffset: 145; animation: uwRing .7s var(--uw-e-out) forwards; }
.uw-success__tick { stroke-dasharray: 44; stroke-dashoffset: 44; animation: uwTick .45s var(--uw-e-out) .5s forwards; }
@keyframes uwRing { to { stroke-dashoffset: 0; } }
@keyframes uwTick { to { stroke-dashoffset: 0; } }
.uw-success__title { font-size: 1.45rem; margin-bottom: .5em; }
.uw-success__text { max-width: 46ch; margin: 0 auto 1rem; color: var(--uw-ink-3); }
.uw-success__ref {
	display: inline-block;
	margin: 0 0 1.5rem;
	padding: .45rem 1rem;
	border-radius: var(--uw-r-pill);
	background: var(--uw-bg-soft);
	font-size: .84rem;
	font-weight: 700;
	color: var(--uw-ink-2);
	letter-spacing: .06em;
}
.uw-success__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; }

.uw-btn.is-loading { pointer-events: none; }
.uw-btn.is-loading .uw-btn__icon { animation: uwSpin .8s linear infinite; }

/* ------------------------------------------------- 18. Pages & blog */
.uw-pagehero {
	position: relative;
	padding: calc(var(--uw-header-h) + clamp(2.5rem, 6vw, 4.5rem)) 0 clamp(2.2rem, 5vw, 3.6rem);
	background: linear-gradient(160deg, var(--uw-primary-050) 0%, #F4FAFD 60%, #fff 100%);
	overflow: hidden;
}
.uw-pagehero__wash {
	position: absolute;
	top: -180px; right: -120px;
	width: 480px; height: 480px;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(33, 199, 187, .2), transparent);
	pointer-events: none;
}
.uw-pagehero__inner { position: relative; }
.uw-pagehero__title { font-size: var(--uw-fs-h1); margin-bottom: .3em; max-width: 22ch; }
.uw-pagehero__sub { font-size: var(--uw-fs-lead); color: var(--uw-ink-2); max-width: 62ch; margin: 0; }

.uw-crumbs { margin-bottom: 1rem; }
.uw-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.uw-crumbs li { display: inline-flex; align-items: center; gap: .35rem; font-size: .82rem; font-weight: 600; }
.uw-crumbs a { color: var(--uw-ink-3); text-decoration: none; }
.uw-crumbs a:hover { color: var(--uw-primary-700); }
.uw-crumbs .uw-icon { color: var(--uw-line); }
.uw-crumbs [aria-current] { color: var(--uw-primary-700); }

.uw-page, .uw-single { padding-block: clamp(2.5rem, 5vw, 4rem); }
.uw-page__inner, .uw-single__inner { max-width: 860px; }
.uw-page__thumb, .uw-single__thumb { margin: 0 0 2rem; border-radius: var(--uw-r-lg); overflow: hidden; box-shadow: var(--uw-sh-2); }

.uw-single__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 1.1rem;
	margin-bottom: 1.6rem;
	font-size: .84rem;
	font-weight: 600;
	color: var(--uw-ink-3);
}
.uw-single__meta span { display: inline-flex; align-items: center; gap: .35rem; }
.uw-single__meta .uw-icon { color: var(--uw-primary); }

/* Long-form content */
.uw-prose { font-size: var(--uw-fs-lead); line-height: 1.85; color: var(--uw-ink-2); }
.uw-prose > * + * { margin-top: 1.1em; }
.uw-prose h2 { font-size: var(--uw-fs-h2); margin-top: 1.8em; }
.uw-prose h3 { font-size: var(--uw-fs-h3); margin-top: 1.6em; }
.uw-prose h2, .uw-prose h3, .uw-prose h4 { color: var(--uw-ink); }
.uw-prose a { color: var(--uw-blue); font-weight: 600; }
.uw-prose ul, .uw-prose ol { padding-left: 1.35em; }
.uw-prose li { margin-bottom: .45em; }
.uw-prose ul li::marker { color: var(--uw-primary); }
.uw-prose blockquote {
	margin: 1.8em 0;
	padding: 1.2rem 1.5rem;
	border-left: 4px solid var(--uw-primary);
	border-radius: 0 var(--uw-r-md) var(--uw-r-md) 0;
	background: var(--uw-bg-soft);
	font-style: normal;
	font-weight: 600;
	color: var(--uw-ink);
}
.uw-prose blockquote p:last-child { margin-bottom: 0; }
.uw-prose img { border-radius: var(--uw-r-md); }
.uw-prose figure { margin: 1.8em 0; }
.uw-prose figcaption { margin-top: .6rem; font-size: .84rem; color: var(--uw-muted); text-align: center; }
.uw-prose code {
	padding: .12em .45em;
	background: var(--uw-bg-tint);
	border-radius: 6px;
	font-size: .9em;
}
.uw-prose pre { padding: 1.2rem; background: var(--uw-ink); color: #E6F4F3; border-radius: var(--uw-r-md); overflow-x: auto; }
.uw-prose pre code { background: none; padding: 0; }
.uw-prose table { width: 100%; border-collapse: collapse; font-size: .94rem; }
.uw-prose th, .uw-prose td { padding: .7rem .9rem; border-bottom: 1px solid var(--uw-line); text-align: left; }
.uw-prose th { background: var(--uw-bg-soft); font-weight: 700; color: var(--uw-ink); }
.uw-prose hr { border: 0; border-top: 1px solid var(--uw-line); margin: 2.4em 0; }

.uw-subpages { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; margin: 2.6rem 0 0; padding: 0; list-style: none; }
.uw-subpages a {
	display: block;
	height: 100%;
	padding: 1.3rem 1.4rem;
	border: 1px solid var(--uw-line-2);
	border-radius: var(--uw-r-lg);
	background: #fff;
	box-shadow: var(--uw-sh-1);
	text-decoration: none;
	color: inherit;
	transition: transform var(--uw-t) var(--uw-e-out), box-shadow var(--uw-t) var(--uw-e-out), border-color var(--uw-t-fast) linear;
}
.uw-subpages a:hover { transform: translateY(-4px); box-shadow: var(--uw-sh-2); border-color: var(--uw-primary-100); }
.uw-subpages__icon {
	display: grid;
	place-items: center;
	width: 40px; height: 40px;
	margin-bottom: .8rem;
	border-radius: 12px;
	background: var(--uw-primary-050);
	color: var(--uw-primary-700);
}
.uw-subpages strong { display: block; font-size: 1.05rem; margin-bottom: .3rem; color: var(--uw-ink); }
.uw-subpages em { font-style: normal; font-size: .88rem; color: var(--uw-ink-3); line-height: 1.6; }

.uw-archive { padding-block: clamp(2.5rem, 5vw, 4rem); }
.uw-archive__inner { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: clamp(2rem, 4vw, 3.4rem); align-items: start; }
body.uw-no-sidebar .uw-archive__inner { grid-template-columns: minmax(0, 1fr); }
.uw-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: clamp(1.1rem, 2.4vw, 1.8rem); }

.uw-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--uw-line-2);
	border-radius: var(--uw-r-lg);
	overflow: hidden;
	box-shadow: var(--uw-sh-1);
	transition: transform var(--uw-t) var(--uw-e-out), box-shadow var(--uw-t) var(--uw-e-out);
}
.uw-card:hover { transform: translateY(-5px); box-shadow: var(--uw-sh-2); }
.uw-card__link { position: absolute; inset: 0; z-index: 3; }
.uw-card__media { position: relative; margin: 0; aspect-ratio: 16 / 10; overflow: hidden; background: var(--uw-bg-tint); }
.uw-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--uw-e-out); }
.uw-card:hover .uw-card__media img { transform: scale(1.06); }
.uw-card__placeholder { display: grid; place-items: center; height: 100%; color: var(--uw-primary); opacity: .5; }
.uw-card__body { padding: 1.2rem 1.3rem 1.4rem; display: flex; flex-direction: column; flex: 1; }
.uw-card__meta { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0 0 .5rem; font-size: .76rem; font-weight: 700; color: var(--uw-muted); text-transform: uppercase; letter-spacing: .08em; }
.uw-card__cat { color: var(--uw-primary-700); }
.uw-card__title { font-size: 1.1rem; line-height: 1.35; margin-bottom: .5rem; }
.uw-card__excerpt { font-size: .9rem; color: var(--uw-ink-3); margin-bottom: 1rem; flex: 1; }
.uw-card__more { display: inline-flex; align-items: center; gap: .4rem; font-size: .86rem; font-weight: 700; color: var(--uw-primary-700); }
.uw-card__more .uw-icon { transition: transform var(--uw-t) var(--uw-e-out); }
.uw-card:hover .uw-card__more .uw-icon { transform: translateX(4px); }

.uw-widget { margin-bottom: 1.6rem; padding: 1.3rem 1.4rem; background: var(--uw-bg-soft); border-radius: var(--uw-r-lg); }
.uw-widget__title { font-size: .84rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; margin-bottom: .9rem; }
.uw-widget ul { margin: 0; padding: 0; list-style: none; display: grid; gap: .5rem; }
.uw-widget a { color: var(--uw-ink-2); text-decoration: none; font-weight: 600; font-size: .92rem; }
.uw-widget a:hover { color: var(--uw-primary-700); }

.uw-pagination { margin-top: 2.6rem; }
.uw-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; }
.uw-pagination .page-numbers {
	display: grid;
	place-items: center;
	min-width: 42px; height: 42px;
	padding: 0 .7rem;
	border-radius: var(--uw-r-pill);
	background: var(--uw-bg-soft);
	color: var(--uw-ink-2);
	font-weight: 700;
	font-size: .9rem;
	text-decoration: none;
	transition: background var(--uw-t-fast) linear, color var(--uw-t-fast) linear;
}
.uw-pagination .page-numbers:hover { background: var(--uw-primary-050); color: var(--uw-primary-700); }
.uw-pagination .page-numbers.current { background: var(--uw-primary); color: #fff; }

.uw-postnav { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 3rem; }
.uw-postnav__link {
	padding: 1.1rem 1.3rem;
	border: 1px solid var(--uw-line-2);
	border-radius: var(--uw-r-md);
	text-decoration: none;
	color: inherit;
	background: #fff;
	transition: border-color var(--uw-t-fast) linear, transform var(--uw-t) var(--uw-e-out);
}
.uw-postnav__link:hover { border-color: var(--uw-primary); transform: translateY(-3px); }
.uw-postnav__link--next { text-align: right; }
.uw-postnav__link em { display: block; font-style: normal; font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--uw-muted); margin-bottom: .3rem; }
.uw-postnav__link strong { font-size: .96rem; line-height: 1.4; color: var(--uw-ink); }

.uw-tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 2rem; }
.uw-tags a { padding: .35rem .85rem; border-radius: var(--uw-r-pill); background: var(--uw-bg-soft); font-size: .8rem; font-weight: 600; color: var(--uw-ink-2); text-decoration: none; }
.uw-tags a:hover { background: var(--uw-primary-050); color: var(--uw-primary-700); }

.uw-empty { text-align: center; padding: clamp(2.5rem, 6vw, 5rem) 1rem; background: var(--uw-bg-soft); border-radius: var(--uw-r-xl); }
.uw-empty .uw-icon { color: var(--uw-primary); margin-bottom: 1rem; display: inline-block; }
.uw-empty p { max-width: 46ch; margin-inline: auto; margin-bottom: 1.6rem; color: var(--uw-ink-3); }

.uw-404 { padding-block: clamp(3rem, 7vw, 6rem); text-align: center; }
.uw-404__code { font-size: clamp(4.5rem, 14vw, 9rem); font-weight: 700; line-height: 1; margin: 0; background: linear-gradient(120deg, var(--uw-primary), var(--uw-blue)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.uw-404 .uw-search { margin: 1.8rem auto; }
.uw-404__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .8rem; }

.uw-comments { margin-top: 3.4rem; padding-top: 2.4rem; border-top: 1px solid var(--uw-line); }
.uw-comments__list { list-style: none; padding: 0; margin: 0 0 2rem; }
.uw-comments__list .comment-body { padding: 1.2rem 0; border-bottom: 1px solid var(--uw-line-2); }
.uw-comments__list .children { list-style: none; padding-left: clamp(1rem, 4vw, 2.4rem); }

/* Contact block used by [yw_contact_form] */
.uw-contact { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(1.6rem, 4vw, 3rem); align-items: start; }
.uw-contact__aside { padding: clamp(1.5rem, 3vw, 2.2rem); background: var(--uw-bg-soft); border-radius: var(--uw-r-xl); }
.uw-contact__title { font-size: var(--uw-fs-h3); }
.uw-contact__intro { font-size: .95rem; color: var(--uw-ink-3); }
.uw-contact__details { margin: 1.4rem 0 1.6rem; padding: 0; list-style: none; display: grid; gap: .9rem; font-size: .93rem; }
.uw-contact__details li { display: flex; gap: .7rem; align-items: flex-start; }
.uw-contact__details span { display: grid; place-items: center; width: 34px; height: 34px; flex-shrink: 0; border-radius: 11px; background: #fff; color: var(--uw-primary-700); box-shadow: var(--uw-sh-1); }
.uw-contact__details a { color: var(--uw-ink); font-weight: 600; text-decoration: none; }
.uw-contact__details a:hover { color: var(--uw-primary-700); }
.uw-contact__form { padding: clamp(1.5rem, 3vw, 2.2rem); background: #fff; border: 1px solid var(--uw-line-2); border-radius: var(--uw-r-xl); box-shadow: var(--uw-sh-2); }
.uw-contact__formTitle { font-size: var(--uw-fs-h3); margin-bottom: .3em; }
.uw-contact__formIntro { font-size: .92rem; color: var(--uw-ink-3); margin-bottom: 1.4rem; }

/* ------------------------------------------------------- 19. Responsive */

@media (max-width: 1180px) {
	.uw-footer__inner { grid-template-columns: 1.4fr 1fr 1.4fr; }
	.uw-footer__col--extra { grid-column: 1 / -1; }
	.uw-footer__social { justify-content: flex-start; }
}

@media (max-width: 1120px) {
	/* Nav becomes a right-hand drawer. Everything below this width is the
	   phone/tablet experience — the desktop dropdown never applies. */
	.uw-burger { display: grid; }

	/* backdrop-filter turns an element into a containing block for its
	   position:fixed descendants, which would trap the drawer inside the
	   header's 75px box. A solid bar is also cheaper to composite on phones. */
	.uw-header {
		background: rgba(255, 255, 255, .97);
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
	.uw-header.is-stuck { background: #fff; }

	.uw-navshell {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 210;
		overflow: hidden;
		pointer-events: none;
	}
	.uw-navshell:has(.uw-nav.is-open) { pointer-events: auto; }

	.uw-nav {
		position: absolute;
		top: 0; right: 0; bottom: 0;
		pointer-events: auto;
		display: flex;
		flex-direction: column;
		width: min(88vw, 380px);
		margin: 0;
		padding: 0;
		background: #fff;
		box-shadow: -20px 0 60px rgba(16, 40, 48, .18);
		transform: translateX(100%);
		visibility: hidden;
		transition: transform .45s var(--uw-e-out), visibility 0s linear .45s;
		overflow-y: auto;
		overscroll-behavior: contain;
	}
	.uw-nav.is-open { transform: translateX(0); visibility: visible; transition-delay: 0s; }

	.uw-nav__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 1.15rem 1.25rem;
		border-bottom: 1px solid var(--uw-line-2);
	}
	.uw-nav__headTitle { font-size: .78rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--uw-muted); }
	.uw-nav__close {
		display: grid;
		place-items: center;
		width: 40px; height: 40px;
		border: 0;
		border-radius: 50%;
		background: var(--uw-bg-soft);
		color: var(--uw-ink);
		cursor: pointer;
	}
	.uw-nav__close:hover { background: var(--uw-red-050); color: var(--uw-red); }

	.uw-nav__list { flex-direction: column; align-items: stretch; gap: 0; padding: .6rem .8rem; }
	.uw-nav__item { border-bottom: 1px solid var(--uw-line-2); }
	.uw-nav__item:last-child { border-bottom: 0; }
	.uw-nav__link {
		padding: .95rem .6rem;
		font-size: 1.02rem;
		border-radius: var(--uw-r-sm);
	}
	.uw-nav__link::after { display: none; }
	.uw-nav__item--parent > .uw-nav__toggle {
		position: absolute;
		right: .4rem; top: 1.35rem;
		width: 34px; height: 34px;
		transform: none;
		background: var(--uw-bg-soft);
	}
	.uw-nav__item--parent.is-open > .uw-nav__toggle { transform: rotate(180deg); background: var(--uw-primary-050); }

	/* Accordion, not a floating panel: opened by the toggle button only. */
	.uw-submenu {
		position: static;
		min-width: 0;
		padding: 0 0 .5rem .8rem;
		border: 0;
		box-shadow: none;
		border-left: 2px solid var(--uw-primary-100);
		margin-left: .6rem;
		transform: none;
		opacity: 1;
		visibility: visible;
		display: none;
	}
	.uw-submenu::before { display: none; }
	.uw-nav__item--parent:hover > .uw-submenu, .uw-nav__item--parent:focus-within > .uw-submenu { display: none; }
	.uw-nav__item--parent.is-open > .uw-submenu { display: block; transform: none; }
	.uw-submenu .uw-nav__link { padding: .6rem .6rem; font-size: .94rem; }

	.uw-nav__foot { display: grid; gap: .8rem; margin-top: auto; padding: 1.2rem; border-top: 1px solid var(--uw-line-2); }
	.uw-nav__cta { width: 100%; }
	.uw-nav__call {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: .5rem;
		padding: .7rem;
		border-radius: var(--uw-r-pill);
		background: var(--uw-bg-soft);
		color: var(--uw-ink);
		font-weight: 700;
		font-size: .94rem;
		text-decoration: none;
	}
	.uw-nav__call:hover { background: var(--uw-primary-050); color: var(--uw-primary-700); }

	.uw-header__cta { display: none; }
}

@media (max-width: 1000px) {
	.uw-doctor__inner, .uw-gut__grid { grid-template-columns: minmax(0, 1fr); }
	.uw-doctor__media { max-width: 520px; margin-inline: auto; }
	.uw-gutfig { order: -1; }
	.uw-archive__inner { grid-template-columns: minmax(0, 1fr); }
	.uw-contact { grid-template-columns: minmax(0, 1fr); }
	.uw-modal__dialog { grid-template-columns: minmax(0, 1fr); }
	.uw-modal__aside { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.6rem; align-items: start; }
	.uw-modal__brand { grid-column: 1 / -1; margin-bottom: .4rem; }
	.uw-modal__eyebrow, .uw-modal__asideTitle { grid-column: 1 / -1; margin-bottom: .5rem; }
	.uw-modal__asideTitle { font-size: 1.15rem; }
	.uw-modal__points { margin-bottom: 0; }
	.uw-modal__call { grid-column: 1 / -1; margin-top: .4rem; }
}

@media (max-width: 900px) {
	:root { --uw-header-h: 74px; }

	.uw-infobar__inner { grid-template-columns: 1fr 1fr; }
	.uw-infobar__lead { grid-column: 1 / -1; }

	.uw-footer__inner { grid-template-columns: 1fr 1fr; }
	.uw-footer__col--brand { grid-column: 1 / -1; }

	/* Social rail docks to the bottom edge, out of the way of content but
	   still inside thumb reach. */
	.uw-social {
		top: auto; left: 50%;
		bottom: 14px;
		transform: translateX(-50%);
	}
	.uw-social__list { flex-direction: row; }
	.uw-social__link { width: 38px; height: 38px; }
	.uw-social__label { display: none; }

	/* The dock tucks away once the footer (which has its own social row) is
	   on screen, so the last of the page is never sitting under it. */
	.uw-social { transition: transform var(--uw-t) var(--uw-e-out), opacity var(--uw-t) linear; }
	.uw-social.is-tucked { transform: translate(-50%, 140%); opacity: 0; pointer-events: none; }

	.uw-top { bottom: 74px; right: 14px; }
	.uw-footer { padding-bottom: 64px; }

	.uw-postnav { grid-template-columns: 1fr; }
	.uw-postnav__link--next { text-align: left; }
}

@media (max-width: 760px) {
	.uw-picker { grid-template-columns: minmax(0, 1fr); }
	.uw-slots { min-height: 0; }
	.uw-slots__list { grid-template-columns: repeat(auto-fill, minmax(94px, 1fr)); max-height: 200px; }
	.uw-modal__aside { grid-template-columns: 1fr; }
	.uw-modal__points li:nth-child(n+3) { display: none; }
	.uw-field-grid { grid-template-columns: 1fr; }
	.uw-step__actions { flex-direction: column-reverse; align-items: stretch; }
	.uw-step__actions .uw-btn { width: 100%; }
	.uw-step__hint { text-align: center; }
	.uw-back { align-self: center; }
}

@media (max-width: 620px) {
	.uw-brand__mark { width: 44px; height: 44px; border-radius: 14px; }
	.uw-brand__mark svg, .uw-brand__gif { width: 34px; height: 34px; }
	.uw-brand__name { font-size: 1rem; }
	.uw-brand__tag { font-size: .58rem; letter-spacing: .14em; }

	.uw-hero { min-height: 84svh; }
	.uw-hero__eyebrow {
		gap: .45rem;
		padding: .42rem .8rem .42rem .6rem;
		font-size: .6rem;
		letter-spacing: .07em;
		white-space: nowrap;
	}
	.uw-hero__dot { width: 7px; height: 7px; }

	/* In flow rather than floating, so it can never sit over the headline. */
	.uw-hero__sound {
		position: static;
		display: inline-block;
		margin: 1.1rem auto 0;
	}
	.uw-hero__title { max-width: none; }
	.uw-shuffle { padding: 1rem; margin-bottom: 1.4rem; }
	.uw-shuffle__viewport { min-height: 5.4em; }
	.uw-hero__actions .uw-btn { width: 100%; }

	.uw-infobar { margin-top: -1.8rem; }
	.uw-infobar__inner { grid-template-columns: 1fr; }

	.uw-doctor__card { position: static; margin-top: 1.5rem; max-width: none; }
	.uw-doctor__actions .uw-btn { width: 100%; }

	.uw-footer__inner { grid-template-columns: 1fr; }
	.uw-footer__bar { flex-direction: column; align-items: flex-start; }

	.uw-cta__actions .uw-btn, .uw-success__actions .uw-btn { width: 100%; }

	.uw-top { display: none; }
	.uw-modal { padding: 0; align-items: end; }
	.uw-modal__dialog {
		width: 100%;
		max-height: 94svh;
		border-radius: var(--uw-r-xl) var(--uw-r-xl) 0 0;
		transform: translateY(100%);
	}
	.uw-modal.is-open .uw-modal__dialog { transform: translateY(0); }
	.uw-modal__close { top: 10px; right: 10px; width: 38px; height: 38px; }

	/* On a phone the value proposition must not push the calendar below the
	   fold — keep the brand, the headline and the Zoom/Meet note, drop the
	   rest (all of it repeats elsewhere on the page). */
	.uw-modal__aside { padding: 1.05rem 1.15rem 1.15rem; }
	.uw-modal__brand { margin-bottom: .75rem; }
	.uw-modal__mark { width: 38px; height: 38px; border-radius: 12px; }
	.uw-modal__mark svg, .uw-modal__mark img { width: 28px; height: 28px; }
	.uw-modal__eyebrow { display: none; }
	.uw-modal__asideTitle { font-size: 1.02rem; line-height: 1.3; margin-bottom: .75rem; }
	.uw-modal__points { display: none; }
	.uw-modal__note { padding: .6rem .8rem; font-size: .78rem; }
	.uw-modal__call { display: none; }

	.uw-modal__head { padding-right: 2.4rem; margin-bottom: 1.1rem; }
	.uw-modal__title { font-size: 1.14rem; }
	.uw-modal__intro { font-size: .86rem; margin-bottom: .9rem; }

	.uw-steps { gap: .3rem; }
	.uw-steps__item { font-size: .68rem; padding: .32rem .55rem .32rem .32rem; gap: .35rem; }
	.uw-steps__item span { width: 18px; height: 18px; font-size: .64rem; }
}

/* Wide screens: give the hero copy a little more room to breathe. */
@media (min-width: 1400px) {
	:root { --uw-wrap: 1300px; }
}

/* Devices without hover (touch) should not rely on :hover to reveal anything. */
@media (hover: none) {
	.uw-gallery__item figcaption span { transform: none; opacity: 1; }
	.uw-social__label { display: none; }
}

/* ------------------------------------------------- 20. Motion preferences */
/* GSAP is also gated on this query in main.js; these rules cover the CSS-only
   animations and any state GSAP may already have applied. */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }

	*, *::before, *::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
		scroll-behavior: auto !important;
	}

	.uw-hero__video { display: none; }
	.uw-hero__media {
		background-image: var(--uw-hero-poster);
		background-size: cover;
		background-position: center;
	}
	.uw-gutfig__draw, .uw-gutfig__signal { stroke-dashoffset: 0 !important; }
	.uw-success__ring, .uw-success__tick { stroke-dashoffset: 0 !important; }
	.uw-hero__eyebrow .uw-hero__dot { animation: none; }
}

/* --------------------------------------------------- 21. Print & no-JS */
.no-js [data-uw-reveal],
.no-js [data-uw-fade],
.no-js [data-uw-stagger] > * { opacity: 1 !important; transform: none !important; }

@media print {
	.uw-header, .uw-social, .uw-top, .uw-modal, .uw-cta, .uw-hero__media { display: none !important; }
	body { color: #000; background: #fff; }
	.uw-hero { min-height: 0; padding-top: 1rem; }
	.uw-hero__title, .uw-hero__eyebrow { color: #000; text-shadow: none; }
}

@media (max-width: 430px) {
	.uw-brand { gap: .55rem; }
	.uw-brand__name { font-size: .95rem; }
	.uw-brand__tag { font-size: .53rem; letter-spacing: .12em; }
	.uw-brand__mark { width: 40px; height: 40px; border-radius: 12px; }
	.uw-brand__mark svg, .uw-brand__gif { width: 30px; height: 30px; }
	.uw-burger { width: 44px; height: 44px; }
}
