:root {
	--orange: #fc5215;
	--orange-a-w: #fedcd0;
	--orange-a: rgba(252, 82, 21, .1);
	--orange-d: #321004;
	--blue: #28293d;
	--blue-a-w: #d4d4d8;
	--blue-a: rgba(40, 41, 61, .1);
	--blue-d: #08080c;
	--light-grey: #e9e9e9;
	--grey: #777777;
	--grey-a-w: #efefef;
	--grey-a: rgba(119, 119, 119, .1);
	--grey-d: #5e5e5e;
	--white: #ffffff;
	--white-a: rgba(255, 255, 255, .1);
	--white-a-l: rgba(255, 255, 255, .05);
	--black: #000000;
	--black-a: rgba(0, 0, 0, .1);
	--black-a-l: rgba(0, 0, 0, .05);
	--error: #DC3545;
	--error-w: #ED9AA2;
	--error-a-w: #F8D6DA;
	--error-d: #c6313e;
	--success: #198754;
	--success-w: #8CC3A9;
	--success-a-w: #D1E7DD;
	--success-d: #157247;
	--linkedin: #0a66c2;
	--linkedin-d: #0854a1;
	--u-xs: 5px;
	--u-xs-n: -5px;
	--u-sm: 10px;
	--u-sm-n: -10px;
	--u: 20px;
	--u-n: -20px;
	--u-me: 30px;
	--u-me-n: -30px;
	--u-lg: 40px;
	--u-lg-n: -40px;
	--u-xl: 80px;
	--u-xl-n: -80px;
	--u-xxl: 100px;
	--u-xxl-n: -100px;
	--bw: 1px;
	--bw-n: -1px;
	--border: 1px solid var(--black-a);
	--shadow: 0 2px 10px rgba(0, 0, 0, .1);
	--shadow-lg: 0 5px 40px rgba(0, 0, 0, .1);
	--transition: .3s;
	--transition-bezier: .6s cubic-bezier(0.175, 0.885, 0.32, 1.275);

	--bg: #f5f5f5;
	--surface: var(--white);
	--surface-2: var(--grey-a-w);
	--ink: var(--blue);
	--muted: var(--grey);
	--line: var(--black-a);
	--orange-soft: var(--orange-a-w);
	--navy: var(--blue);
	--radius-lg: 28px;
	--radius-md: 20px;
	--radius-sm: 14px;
	--page-width: 1040px;
	--font-body: 'noka', sans-serif;
	--font-display: 'noka' sans-serif;
}

* {
	box-sizing: border-box;
}

.material-symbols-outlined {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	font-family: "Material Symbols Outlined";
	font-size: 1.25rem;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	-webkit-font-feature-settings: "liga";
	-webkit-font-smoothing: antialiased;
	font-feature-settings: "liga";
	font-variation-settings: "FILL" 0, "wght" 200, "GRAD" 0, "opsz" 24;
}

html {
	font-size: 100%;
	scroll-behavior: smooth;
	background: var(--bg);
}

body {
	margin: 0;
	background: var(--bg);
	color: var(--ink);
	font-family: var(--font-body);
	-webkit-font-smoothing: antialiased;
}

button,
input {
	font: inherit;
}

button,
a {
	-webkit-tap-highlight-color: transparent;
}

button {
	color: inherit;
}

a {
	color: inherit;
	text-decoration: none;
}

img {
	display: block;
	max-width: 100%;
}



.app-shell {
	min-height: 100svh;
	padding-bottom: 98px;
}

.topbar {
	position: sticky;
	top: 0;
	z-index: 50;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 74px;
	padding: 12px max(20px, calc((100vw - var(--page-width)) / 2));
	background: rgba(40, 41, 61, .92);
	backdrop-filter: blur(18px);
}

.brand img {
	width: 140px;
	height: 44px;
	object-fit: contain;
	object-position: left center;
}

.icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 0;
/*	border-radius: 50%;*/
	background: rgba(255,255,255,.1);
	color: #fff;
	cursor: pointer;
}

main {
	width: min(100%, var(--page-width));
	margin: 0 auto;
}

.screen {
	display: none;
	padding: 22px 18px 30px;
	animation: screenIn .28s ease both;
	padding-top: 0;
}

.screen.active {
	display: block;
}

@keyframes screenIn {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}

.hero {
	position: relative;
	overflow: hidden;
	min-height: 370px;
	padding: 32px 28px;
	padding-top: 50px;
	border-radius: 0 0 var(--radius-lg) var(--radius-lg);
	/* background:
		radial-gradient(circle at 85% 10%, rgba(255,86,24,.55), transparent 27%),
		linear-gradient(135deg, #20212c, #111219); */
	color: #fff;
	box-shadow: var(--shadow);
	margin: -22px -18px 0;
}

.hero-background {
	position: absolute;
/*	z-index: -1;*/
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: .6;
	mix-blend-mode: multiply;
	object-fit: cover;
	z-index: 0;
}

.hero *:not(.hero-background, .hero-meta) {
	position: relative;
	z-index: 1;
}

/* .hero::after {
	content: "";
	position: absolute;
	right: -80px;
	bottom: -110px;
	width: 300px;
	height: 300px;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 50%;
	box-shadow: 0 0 0 32px rgba(255,255,255,.03), 0 0 0 68px rgba(255,255,255,.02);
} */

.hero-kicker,
.eyebrow {
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.hero-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 11px;
	border: 1px solid rgba(255,255,255,.13);
/*	border-radius: 999px;
	background: rgba(255,255,255,.07);
}

.status-dot {
	width: 7px;
	height: 7px;
/*	border-radius: 50%;*/
	background: var(--orange);
	border-radius: 50px;
/*	box-shadow: 0 0 0 5px rgba(115,225,138,.11);*/
}

.hero h1,
.page-intro h1 {
	margin: 44px 0 15px;
	font-family: var(--font-display);
	font-size: clamp(55px, 14vw, 90px);
	font-weight: 800;
	line-height: .86;
	text-transform: uppercase;
	letter-spacing: -.04em;
}

.hero h1 em {
	color: var(--orange);
	font-weight: 400;
}

.hero > p {
	position: relative;
	z-index: 2;
	max-width: 540px;
	margin: 0;
	color: rgba(255,255,255,.72);
	font-size: 1rem;
	line-height: 1.65;
}

.hero-meta {
	position: absolute;
	left: 28px;
	bottom: 26px;
	z-index: 5;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 18px;
	color: rgba(255,255,255,.72);
	font-size: 0.8125rem;
	font-weight: 600;
}

.hero-meta span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.hero-meta .material-symbols-outlined {
	width: 16px;
	height: 16px;
	color: var(--orange);
}

.quick-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 11px;
	margin: 18px 0 36px;
}

.quick-card {
	display: flex;
	min-height: 138px;
	flex-direction: column;
	align-items: flex-start;
	padding: 18px;
	border: 1px solid var(--line);
/*	border-radius: var(--radius-md);*/
	background: var(--surface);
/*	box-shadow: 0 8px 30px rgba(32,33,43,.045);*/
	text-align: left;
	cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease;
}

.quick-card:active,
.feature-card:active,
.pc-card:active,
.light-card:active {
	transform: scale(.98);
}

.quick-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin-bottom: auto;
/*	border-radius: 13px;*/
	background: var(--surface-2);
	color: var(--navy);
}

.quick-card.danger .quick-icon {
	background: #fee1de;
	color: #c72f24;
}

.quick-card strong {
	margin-top: 18px;
	font-size: 1.0625rem;
}

.quick-card small {
	margin-top: 4px;
	color: var(--muted);
	font-size: 0.75rem;
	line-height: 1.4;
}

.section-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	margin: 34px 3px 15px;
}

.section-head.compact {
	margin-top: 36px;
}

.eyebrow {
	color: var(--orange);
}

.section-head h2,
.panel-heading h2,
.content-card h2,
.responsibility-card h2,
.complete-card h2 {
	margin: 5px 0 0;
	font-family: var(--font-display);
	font-size: 2.375rem;
	font-weight: 800;
	line-height: .95;
	text-transform: uppercase;
}

.feature-stack {
	display: grid;
	gap: 10px;
}

.feature-card {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 104px;
	overflow: hidden;
	padding: 18px 18px;
	border: 0;
/*	border-radius: var(--radius-md);*/
	background: var(--surface);
	text-align: left;
	box-shadow: 0 10px 32px rgba(32,33,43,.055);
	cursor: pointer;
}

/* .feature-card::after {
	content: "";
	position: absolute;
	right: -38px;
	top: -65px;
	width: 150px;
	height: 150px;
	border-radius: 50%;
	background: var(--orange-soft);
	opacity: .42;
} */ 

.feature-card > .material-symbols-outlined {
	position: relative;
	z-index: 2;
	align-self: flex-start;
	width: 18px;
}

.feature-copy {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 15px;
}

.feature-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 50px;
	width: 50px;
	height: 50px;
/*	border-radius: 16px;*/
	background: var(--navy);
	color: #fff;
}

.feature-copy strong,
.feature-copy small {
	display: block;
}

.feature-copy strong {
	margin-bottom: 4px;
	font-size: 1.0625rem;
}

.feature-copy small {
	max-width: 245px;
	color: var(--muted);
	line-height: 1.45;
}

.welcome-note {
	position: relative;
	display: grid;
	grid-template-columns: 105px 1fr;
	gap: 20px;
	align-items: center;
	margin: 34px 0 0;
	padding: 22px;
	overflow: hidden;
	border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
	background: var(--navy);
	color: #fff;
}

.welcome-note img {
	/* width: 187px; */
	height: calc(100% + 44px);
	/* margin: -22px 0; */
	margin-left: -22px;
	object-fit: cover;
/*	transform: rotate(-7deg);*/
}

.welcome-note h3 {
	margin: 6px 0 8px;
	font-family: var(--font-display);
	font-size: 1.875rem;
	font-weight: 400;
}

.welcome-note p {
	margin: 0;
	color: rgba(255,255,255,.68);
	font-size: 0.8125rem;
	line-height: 1.6;
}

.page-intro {
	padding: 12px 4px 8px;
	padding-top: 28px;
}

.page-intro .back-btn {
	margin-bottom: 10px;
}

.page-intro .back-btn + .eyebrow {
	position: absolute;
	margin-left: 20px;
	margin-top: 3px;
}

.page-intro .back-btn + .eyebrow::before {content: '› ';}

.page-intro h1 {
	margin: 8px 0 14px;
	font-size: clamp(58px, 15vw, 82px);
	color: var(--ink);
}

.page-intro p {
	max-width: 610px;
	margin: 0;
	color: var(--muted);
	line-height: 1.65;
}

.dark-intro {
	margin: -22px -18px 0;
	padding: 24px 22px 32px;
/*	border-radius: 0 0 var(--radius-lg) var(--radius-lg);*/
	background:
		radial-gradient(circle at 90% 0, rgba(255,86,24,.45), transparent 28%),
		var(--navy);
	color: #fff;
	border-bottom-right-radius: var(--u-lg);
	padding-top: 50px;
}

.dark-intro h1,
.dark-intro .back-btn {
	color: #fff;
}

.dark-intro p {
	color: rgba(255,255,255,.65);
}

.back-btn,
.text-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 0;
	border: 0;
	background: transparent;
	font-weight: 700;
	cursor: pointer;
}

.back-btn .material-symbols-outlined,
.text-btn .material-symbols-outlined {
	width: 17px;
	height: 17px;
}

.info-strip {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin: 22px 0 18px;
	overflow: hidden;
	border: 1px solid var(--line);
/*	border-radius: var(--radius-md);*/
	background: var(--surface);
}

.info-strip > div {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 8px;
	padding: 15px 13px;
	border-right: 1px solid var(--line);
}

.info-strip > div:last-child {
	border-right: 0;
}

.info-strip .material-symbols-outlined {
	color: var(--orange);
}

.info-strip span,
.info-strip small,
.info-strip strong {
	display: block;
}

.info-strip small {
	margin-bottom: 2px;
	color: var(--muted);
	font-size: 0.625rem;
}

.info-strip strong {
	overflow: hidden;
	font-size: 0.75rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.content-card {
	overflow: hidden;
	margin-top: 18px;
/*	border-radius: var(--radius-lg);*/
	background: var(--surface);
	box-shadow: var(--shadow);
}

.photo-card > img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.card-body {
	padding: 24px;
}

.content-card h2 {
	margin: 7px 0 13px;
}

.content-card p,
.accordion-panel p,
.lead-copy,
.rule p,
.alert-card p,
.console-hero p,
.responsibility-card p {
	color: var(--muted);
	line-height: 1.65;
}

.content-card p:last-child,
.accordion-panel p:last-child,
.lead-copy,
.rule p:last-child,
.alert-card p:last-child,
.console-hero p:last-child,
.responsibility-card p:last-child {margin-bottom: 0;}

.tip {
	display: flex;
	gap: 12px;
	margin-top: 18px;
	padding: 14px;
/*	border-radius: var(--radius-sm);*/
	background: var(--orange-soft);
	color: #7f3215;
	font-size: 0.8125rem;
	line-height: 1.5;
}

.tip .material-symbols-outlined {
	flex: 0 0 auto;
	color: var(--orange);
}

.room-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 11px;
}

.room-card {
	overflow: hidden;
/*	border-radius: var(--radius-md);*/
	background: var(--surface);
	box-shadow: 0 10px 28px rgba(32,33,43,.05);
}

.room-photo,
.room-placeholder {
	width: 100%;
	aspect-ratio: 4 / 3;
	background-position: center;
	background-size: cover;
}

.room-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f5d853;
	color: var(--navy);
}

.room-placeholder.alt {
	background: #ef7957;
}

.room-placeholder.dark {
	background: #6479b5;
	color: #fff;
}

.room-placeholder .material-symbols-outlined {
	width: 36px;
	height: 36px;
}

.room-copy {
	position: relative;
	padding: 15px;
}

.room-copy span {
	color: var(--orange);
	font-size: 0.625rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.room-copy h3 {
	margin: 4px 0 4px;
	font-family: var(--font-display);
	font-size: 1.625rem;
	font-weight: 400;
}

.room-copy p {
	margin: 0;
	padding-right: 42px;
	color: var(--muted);
	font-size: 0.6875rem;
	line-height: 1.4;
}

.room-copy > strong {
	position: absolute;
	right: 13px;
	bottom: 14px;
	font-size: 0.6875rem;
}

.accordion-list {
	display: grid;
	gap: 9px;
	margin-top: 22px;
}

.accordion {
	overflow: hidden;
	border: 1px solid var(--line);
/*	border-radius: 18px;*/
	background: var(--surface);
}

.accordion-trigger {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	padding: 18px;
	border: 0;
	background: transparent;
	text-align: left;
	cursor: pointer;
}

.accordion-trigger > span {
	display: flex;
	align-items: center;
	gap: 12px;
}

.accordion-trigger > span .material-symbols-outlined {
	color: var(--orange);
}

.accordion-trigger > .material-symbols-outlined {
	transition: transform .25s ease;
}

.accordion.open .accordion-trigger > .material-symbols-outlined {
	transform: rotate(180deg);
}

.accordion-panel {
	max-height: 0;
	overflow: hidden;
	padding: 0 18px;
	opacity: 0;
	transition: max-height .35s ease, opacity .25s ease, padding .35s ease;
}

.accordion.open .accordion-panel {
	max-height: 700px;
	padding: 0 18px 18px;
	opacity: 1;
}

.accordion-panel p {
	margin: 0 0 12px;
	font-size: 0.8125rem;
}

.inline-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--orange);
	font-size: 0.8125rem;
	font-weight: 700;
}

.inline-link .material-symbols-outlined {
	width: 15px;
	height: 15px;
	display: inline-flex;
}

.outdoor-card {
	display: grid;
}

.outdoor-card img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.gaming-tabs {
	position: sticky;
	top: 86px;
	z-index: 20;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 4px;
	margin: 16px 0 24px;
	padding: 5px;
/*	border-radius: 16px;*/
	background: rgba(255,255,255,.78);
	box-shadow: 0 8px 24px rgba(32,33,43,.08);
	backdrop-filter: blur(14px);
}

.gaming-tab {
	padding: 10px 6px;
	border: 0;
/*	border-radius: 12px;*/
	background: transparent;
	color: var(--muted);
	font-size: 0.75rem;
	font-weight: 800;
	cursor: pointer;
}

.gaming-tab.active {
	background: var(--navy);
	color: #fff;
}

.gaming-panel {
	display: none;
	animation: screenIn .24s ease both;
}

.gaming-panel.active {
	display: block;
}

.panel-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
	margin: 8px 2px 17px;
}

.panel-heading h2 {
	font-size: 2.5rem;
}

.text-btn {
	color: var(--orange);
	font-size: 0.75rem;
}

.pc-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 0 60px;
	gap: 9px;
}

.pc-card {
	display: flex;
	min-height: 124px;
	flex-direction: column;
	align-items: flex-start;
	padding: 13px;
	border: 1px solid rgba(255,255,255,.08);
/*	border-radius: 17px;*/
	background: var(--navy);
	color: #fff;
	text-align: left;
	cursor: pointer;
}

.pc-card:last-child {
	margin-left: -60px;
	margin-right: 60px;
}

.pc-card span {
	margin-bottom: auto;
	color: var(--white);
	background: var(--orange);
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--u-lg);
	height: var(--u-lg);
}

.pc-card strong {
	margin-top: 15px;
	font-size: 0.8125rem;
}

.pc-card small {
	margin-top: 2px;
	overflow: hidden;
	color: rgba(255,255,255,.48);
	font-size: 0.625rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.network-note,
.alert-card {
	display: flex;
	gap: 13px;
	margin-top: 16px;
	padding: 17px;
/*	border-radius: 18px;*/
	background: var(--surface);
	box-shadow: 0 10px 28px rgba(32,33,43,.05);
}

.network-note > .material-symbols-outlined,
.alert-card > .material-symbols-outlined {
	flex: 0 0 auto;
	color: var(--orange);
}

.network-note strong,
.network-note p,
.alert-card strong,
.alert-card p {
	margin: 0;
}

.network-note p,
.alert-card p {
	margin-top: 4px;
	color: var(--muted);
	font-size: 0.75rem;
	line-height: 1.55;
}

.lead-copy {
	margin: -4px 2px 18px;
	font-size: 0.875rem;
}

.light-control-list {
	display: grid;
	gap: 14px;
}

.light-control-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	padding: 8px;
	border: 2px solid var(--navy);
	border-radius: 22px;
	background: var(--navy);
/*	box-shadow: 7px 7px 0 var(--orange);*/
}

.light-control-row:nth-child(odd) {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	margin-bottom: -8px;
	padding-bottom: 0;
}

.light-control-row:nth-child(even) {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	padding-top: 4px;
	margin-top: -8px;
}

.light-control-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 72px;
	min-height: 126px;
	overflow: hidden;
	border-radius: 15px;
	background: var(--surface);
}

.light-control-item.image-first {
	grid-template-columns: 72px minmax(0, 1fr);
}

.light-control-copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	justify-content: center;
	padding: 13px 12px;
/*	padding-right: 26px;*/
}

.light-control-item.image-first .light-control-copy {
/*	padding-right: 13px;*/
/*	padding-left: 26px;*/
}

.button-index {
	display: inline-block;
	margin-bottom: 5px;
	color: var(--orange);
	font-size: 0.5625rem;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.light-control-item.text-first .light-control-copy * {
	text-align: right !important;
}

.light-control-copy strong {
	font-family: var(--font-display);
	font-size: 1.375rem;
	font-weight: 800;
	line-height: .95;
	text-transform: uppercase;
}

.light-control-copy p {
	margin: 7px 0 0;
	color: var(--muted);
	font-size: 0.625rem;
	line-height: 1.35;
}

.light-control-image {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	background: repeating-linear-gradient(135deg, #e6e0d6 0, #e6e0d6 9px, #f4f0e9 9px, #f4f0e9 18px);
	color: #8f8b83;
}

.light-control-image::before {
	content: "+";
	position: absolute;
	top: 50%;
	left: 50%;
	font-size: 1.75rem;
	font-weight: 300;
	transform: translate(-50%, -68%);
}

.light-control-image span {
	margin-top: 31px;
	font-size: 0.5rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-align: center;
	text-transform: uppercase;
}

.light-control-image img {
	width: 100%;
/*	height: 100%;*/
	height: auto;
	object-fit: cover;
	aspect-ratio: 1 / 1;
	border-radius: 100% 0 0 100%;
/*	margin-left: -20px;*/
}

.light-control-item.image-first .light-control-image img {
	margin-left: 0;
	border-radius: 0 100% 100% 0;
/*	margin-right: -20px;*/
}

.light-control-image:has(img)::before,
.light-control-image:has(img) span {
	display: none;
}

.voice-accordion {
	grid-column: 1 / -1;
	overflow: hidden;
/*	border-radius: 14px;*/
	background: rgba(255,255,255,.08);
	color: #fff;
}

.voice-trigger {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 11px 13px;
	border: 0;
	background: transparent;
	color: inherit;
	font-size: 0.6875rem;
	font-weight: 800;
	cursor: pointer;
}

.voice-trigger > span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.voice-trigger .material-symbols-outlined {
	width: 15px;
	height: 15px;
}

.voice-trigger > .material-symbols-outlined {
	transition: transform .25s ease;
}

.voice-accordion.open .voice-trigger > .material-symbols-outlined {
	transform: rotate(180deg);
}

.voice-panel {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: max-height .3s ease, opacity .25s ease, padding .3s ease;
}

.voice-accordion.open .voice-panel {
	max-height: 180px;
	padding: 0 10px 10px;
	opacity: 1;
}

.voice-panel div {
	padding: 10px;
/*	border-radius: 10px;*/
	background: rgba(255,255,255,.08);
}

.voice-panel strong {
	display: block;
	color: var(--orange);
	font-size: 0.625rem;
	text-transform: uppercase;
}

.voice-panel p {
	margin: 4px 0 0;
	color: rgba(255,255,255,.72);
	font-size: 0.625rem;
	line-height: 1.35;
}

.light-control-row.single-last .light-control-item {
	grid-column: 1 / -1;
}

.rule-list {
	display: grid;
	gap: 10px;
}

.rule {
	display: grid;
	grid-template-columns: 42px 1fr;
	align-items: center;
	gap: 15px;
	padding: 19px;
/*	border-radius: 19px;*/
	background: var(--surface);
}

.rule:first-child {
	background: var(--orange);
}

.rule:first-child * {
	color: var(--white);
}

.rule > span {
	color: var(--orange);
	font-family: var(--font-display);
	font-size: 1.75rem;
}

.rule strong {
	font-size: 0.875rem;
}

.rule p {
	margin: 5px 0 0;
	font-size: 0.75rem;
}

.alert-card {
	background: #fff3ee;
}

.alert-card.secondary {
	background: #fff9e8;
}

.console-hero {
	display: grid;
	gap: 18px;
}

.console-visual {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 220px;
/*	border-radius: var(--radius-lg);*/
	/* background:
		radial-gradient(circle at 30% 30%, rgba(255,86,24,.5), transparent 30%),
		var(--navy); */
	color: #fff;
}

.console-visual .material-symbols-outlined {
	width: 84px;
	height: 84px;
	stroke-width: 1.2;
}

.console-hero p {
	font-size: 0.875rem;
}

.place-list {
	display: grid;
	gap: 9px;
	margin-top: 18px;
}

.place-card {
	display: grid;
	grid-template-columns: 48px 1fr 20px;
	gap: 13px;
	align-items: center;
	padding: 15px;
/*	border-radius: 19px;*/
	background: var(--surface);
	box-shadow: 0 8px 26px rgba(32,33,43,.045);
}

.place-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
/*	border-radius: 15px;*/
	border: 1px solid var(--orange);
/*	background: var(--orange-soft);*/
	color: var(--orange);
}

.place-card div span,
.place-card div strong,
.place-card div small {
	display: block;
}

.place-card div span {
	color: var(--orange);
	font-size: 0.5625rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.place-card div strong {
	margin: 3px 0 2px;
	font-size: 0.875rem;
}

.place-card div small {
	color: var(--muted);
	font-size: 0.6875rem;
}

.place-card > .material-symbols-outlined {
	width: 18px;
	color: var(--muted);
}

.activity-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
}

.activity-grid article {
	padding: 18px;
/*	border-radius: 19px;*/
	background: var(--surface);
	display: flex;
	flex-direction: column;
}

.activity-grid article > div {
	height: 100%;
	margin: 10px 0;
}

.activity-grid article > .material-symbols-outlined {
	color: var(--orange);
	font-size: 3rem;
	height: var(--u-xl);
	width: var(--u-xl);
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--orange-a);
	margin-top: 0;
}

.activity-grid span,
.activity-grid strong {
	display: block;
}

.activity-grid article > span {
/*	margin-top: 24px;*/
	color: var(--orange);
	font-size: 0.625rem;
	font-weight: 800;
}

.activity-grid strong {
	margin-top: 3px;
	font-size: 0.9375rem;
}

.activity-grid p {
	margin: 5px 0 0;
	color: var(--muted);
	font-size: 0.6875rem;
	line-height: 1.45;
}

.checkout-intro strong {
	color: var(--orange);
}

.progress-card {
	margin: 18px 0;
	padding: 20px;
/*	border-radius: var(--radius-md);*/
	background: var(--navy);
	color: #fff;
}

.progress-top {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
}

.progress-top strong {
	display: block;
	margin-top: 4px;
	font-size: 1rem;
}

.progress-top > span {
	font-family: var(--font-display);
	font-size: 2.125rem;
	color: var(--orange);
}

.progress-track {
	display: block;
	height: 7px;
	margin-top: 18px;
	overflow: hidden;
/*	border-radius: 99px;*/
	background: rgba(255,255,255,.1);
}

.progress-track span {
	display: block;
	width: 0;
	height: 100%;
/*	border-radius: inherit;*/
	background: var(--orange);
	transition: width .35s ease;
}

.checklist {
	display: grid;
	gap: 9px;
}

.check-item {
	display: grid;
	grid-template-columns: 30px 1fr;
	gap: 13px;
	align-items: start;
	padding: 18px;
	border: 1px solid var(--line);
/*	border-radius: 19px;*/
	background: var(--surface);
	cursor: pointer;
	transition: opacity .2s ease, transform .2s ease;
}

.check-item input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.check-ui {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 29px;
	height: 29px;
	border: 2px solid #cfcbc3;
/*	border-radius: 9px;*/
	background: #fff;
	transition: all .2s ease;
}

.check-ui .material-symbols-outlined {
	width: 17px;
	height: 17px;
	opacity: 0;
}

.check-item input:checked + .check-ui {
	border-color: var(--orange);
	background: var(--orange);
	color: #fff;
}

.check-item input:checked + .check-ui .material-symbols-outlined {
	opacity: 1;
}

.check-item:has(input:checked) {
	opacity: .58;
}

.check-item strong,
.check-item small {
	display: block;
}

.check-item strong {
	font-size: 0.875rem;
}

.check-item small {
	margin-top: 4px;
	color: var(--muted);
	font-size: 0.6875rem;
	line-height: 1.5;
}

.complete-card {
	display: none;
	margin-top: 18px;
	padding: 30px 22px;
/*	border-radius: var(--radius-lg);*/
	background: var(--orange-soft);
	text-align: center;
	animation: screenIn .4s ease both;
}

.complete-card.show {
	display: block;
}

.complete-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	margin: 0 auto 15px;
/*	border-radius: 50%;*/
	background: var(--orange);
	font-size: 2.5rem;
	color: #fff;
}

.complete-card p {
	max-width: 390px;
	margin: 10px auto 0;
	color: #754027;
	font-size: 0.8125rem;
	line-height: 1.55;
}

.menu-list {
	display: grid;
	gap: 7px;
	margin-top: 18px;
}

.menu-list button {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	padding: 17px;
	border: 1px solid var(--line);
/*	border-radius: 17px;*/
	background: var(--surface);
	cursor: pointer;
}

.menu-list button > span {
	display: flex;
	align-items: center;
	gap: 13px;
}

.menu-list button > span .material-symbols-outlined {
	color: var(--orange);
}

.menu-list button > .material-symbols-outlined {
	width: 17px;
	color: var(--muted);
}

.responsibility-card {
	display: grid;
	grid-template-columns: 42px 1fr;
	gap: 14px;
	margin-top: 20px;
	padding: 22px;
/*	border-radius: var(--radius-lg);*/
	background: #dcead7;
}

.responsibility-card .material-symbols-outlined {
	color: #387049;
	font-size: 3rem;
}

.responsibility-card h2 {
	font-size: 2rem;
}

.responsibility-card p {
	margin: 9px 0 0;
	font-size: 0.75rem;
	color: #49604d;
}

.bottom-nav {
	position: fixed;
	left: 50%;
	bottom: max(10px, env(safe-area-inset-bottom));
	z-index: 60;
	display: grid;
	width: 80%;
	max-width: 520px;
	grid-template-columns: repeat(4, 1fr);
	padding: 8px;
	border: 1px solid rgba(255,255,255,.08);
	border-radius: 100px;
	background: rgba(40,41,61,.94);
	box-shadow: 0 16px 50px rgba(0,0,0,.22);
	backdrop-filter: blur(20px);
	transform: translateX(-50%);
}

.nav-item {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	padding: 8px 5px;
	border: 0;
	border-radius: 5px;
	background: transparent;
	color: rgba(255,255,255,.48);
	font-size: 0.5625rem;
	font-weight: 700;
	cursor: pointer;
}

.nav-item:last-child {border-radius: 5px 50px 50px 5px;}

.nav-item:first-child {border-radius: 50px 5px 5px 50px;}

.nav-item .material-symbols-outlined {
	width: 20px;
	height: 20px;
}

.nav-item.active {
	background: rgba(255,255,255,.08);
	color: #fff;
}

.nav-item.active .material-symbols-outlined {
	color: var(--orange);
}

.sheet-backdrop {
	position: fixed;
	inset: 0;
	z-index: 79;
	background: rgba(11,12,17,.48);
	opacity: 0;
	pointer-events: none;
	transition: opacity .28s ease;
	backdrop-filter: blur(3px);
}

.sheet-backdrop.open {
	opacity: 1;
	pointer-events: auto;
}

.bottom-sheet {
	position: fixed;
	left: 50%;
	bottom: 0;
	z-index: 80;
	width: min(100%, 620px);
	max-height: 88svh;
	overflow-y: auto;
	padding: 10px 20px calc(24px + env(safe-area-inset-bottom));
	border-radius: 28px 28px 0 0;
	background: var(--surface);
	box-shadow: 0 -20px 60px rgba(0,0,0,.18);
	transform: translate(-50%, 105%);
	transition: transform .32s cubic-bezier(.2,.9,.25,1);
}

.bottom-sheet.open {
	transform: translate(-50%, 0);
}

.sheet-handle {
	width: 42px;
	height: 5px;
	margin: 1px auto 10px;
	border-radius: 99px;
	background: #d4d1cb;
}

.sheet-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 8px 0 16px;
}

.sheet-header .icon-btn {
	background: var(--surface-2);
	color: var(--ink);
	border-radius: 50%;
}

.sheet-header h2 {
	margin: 2px 0 0;
	font-family: var(--font-display);
	font-size: 2.125rem;
	font-weight: 400;
}

.sheet-content {
	padding-bottom: 8px;
}

.sheet-block {
	padding: 16px;
/*	border-radius: 18px;*/
	background: var(--bg);
}

.sheet-block + .sheet-block {
	margin-top: 10px;
}

.sheet-block small,
.sheet-block strong {
	display: block;
}

.sheet-block small {
	margin-bottom: 4px;
	color: var(--muted);
	font-size: 0.6875rem;
}

.sheet-block strong {
	font-size: 1.0625rem;
}

.copy-row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 10px;
	align-items: center;
}

.copy-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	height: 42px;
	padding: 0 13px;
	border: 0;
	border-radius: 50px;
	background: var(--orange);
	color: #fff;
	text-transform: uppercase;
	font-size: 0.6875rem;
	font-weight: 800;
	cursor: pointer;
}

.wifi-password {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.sheet-list {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sheet-list li,
.sheet-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 14px;
/*	border-radius: 15px;*/
	background: var(--bg);
	font-size: 0.8125rem;
}

.sheet-link .material-symbols-outlined {
	width: 17px;
	color: var(--orange);
}

.map-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}

.emergency-number {
	color: #c82922;
	font-size: 1.3125rem !important;
}

.plan-image {
	width: 100%;
/*	border-radius: 17px;*/
}

.a11y-controls {
	display: grid;
	gap: 9px;
}

.a11y-controls button {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 15px;
	border: 1px solid var(--line);
/*	border-radius: 15px;*/
	background: var(--surface);
	font-weight: 700;
	cursor: pointer;
}

body.high-contrast {
	--bg: #000;
	--surface: #111;
	--surface-2: #191919;
	--ink: #fff;
	--muted: #d0d0d0;
	--line: rgba(255,255,255,.2);
	--orange-soft: #4f1b08;
}

body.high-contrast .quick-card,
body.high-contrast .feature-card,
body.high-contrast .content-card,
body.high-contrast .accordion,
body.high-contrast .room-card,
body.high-contrast .place-card,
body.high-contrast .activity-grid article,
body.high-contrast .check-item,
body.high-contrast .menu-list button,
body.high-contrast .network-note,
body.high-contrast .rule {
	color: #fff;
}

body.dyslexic {
	font-family: "Dyslexic", Arial, sans-serif;
}

body.dyslexic *:not(.material-symbols-outlined) {
	font-family: "Dyslexic", Arial, sans-serif !important;
	letter-spacing: .02em;
	word-spacing: .06em;
}

body.dyslexic .material-symbols-outlined {
	font-family: "Material Symbols Outlined" !important;
	letter-spacing: normal !important;
	word-spacing: normal !important;
	font-variation-settings: "FILL" 0, "wght" 200, "GRAD" 0, "opsz" 24 !important;
}



@media (min-width: 720px) {
	.screen {
		padding: 28px 28px 50px;
	}

	.hero {
		min-height: 430px;
		padding: 42px;
	}

	.hero h1 {
		margin-top: 58px;
	}

	.hero-meta {
		left: 42px;
		bottom: 36px;
	}

	.quick-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.quick-card {
		min-height: 154px;
	}

	.feature-stack {
		grid-template-columns: repeat(3, 1fr);
	}

	.feature-card {
		min-height: 175px;
		align-items: flex-end;
	}

	.feature-copy {
		align-items: flex-start;
		flex-direction: column;
	}

	.feature-copy small {
		max-width: 210px;
	}

	.welcome-note {
		grid-template-columns: 160px 1fr;
		padding: 34px;
	}

	.welcome-note img {
		width: 150px;
		height: calc(100% + 66px);
		margin-left: -34px;
	}

	.room-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.pc-grid {
		grid-template-columns: repeat(2, 1fr);
	}


	.activity-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.place-list {
		grid-template-columns: repeat(2, 1fr);
	}

	.outdoor-card {
		grid-template-columns: 1.1fr .9fr;
		align-items: stretch;
	}

	.outdoor-card img {
		height: 100%;
		aspect-ratio: auto;
		object-fit: cover;
	}

	.console-hero {
		grid-template-columns: 1fr 1fr;
		align-items: center;
	}

	.bottom-nav {
		max-width: 560px;
	}
}


/* V2 — rapprochement avec l'identité Gamers Nest */
.hero,
.dark-intro {
	background-color: var(--navy);
}

/* .hero::before,
.dark-intro::before {
	content: "";
	position: absolute;
	inset: auto -35px 30px auto;
	width: 150px;
	height: 150px;
	border: 20px solid rgba(255,90,31,.85);
	border-radius: 44% 56% 61% 39% / 38% 45% 55% 62%;
	transform: rotate(18deg);
	pointer-events: none;
} */

.hero h1 em {
	font-style: normal;
}

.quick-card,
.feature-card,
.content-card,
.room-card,
.accordion,
.place-card,
.activity-grid article,
.check-item,
.menu-list button {
/*	border: 2px solid var(--navy);*/
	border: 0;
/*	box-shadow: 5px 5px 0 rgba(32,32,45,.12);*/
}

.quick-card:hover,
.feature-card:hover {
	box-shadow: 7px 7px 0 var(--orange);
	transform: translate(-2px,-2px);
}

.eyebrow {
	font-family: var(--font-display);
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: .09em;
}

.wifi-qr-wrap {
	display: grid;
	justify-items: center;
	margin-top: 12px;
	padding: 18px;
/*	border: 2px solid var(--navy);*/
/*	border-radius: 18px;*/
	background: var(--orange-soft);
	text-align: center;
}

.wifi-qr-card {
	width: min(210px, 70vw);
	padding: 26px;
/*	border: 2px solid var(--navy);*/
/*	border-radius: 15px;*/
	background: var(--orange);
/*	box-shadow: 5px 5px 0 var(--orange);*/
	border-radius: 10px;
}

.wifi-qr-card img {
	width: 100%;
	height: auto;
}

.wifi-qr-wrap p {
	margin: 15px 0 0;
	color: var(--muted);
	font-size: 0.75rem;
}

@media (max-width: 480px) {
	.light-control-item,
	.light-control-item.image-first {
		grid-template-columns: minmax(0,1fr) 58px;
	}

	.light-control-item.image-first {
		grid-template-columns: 58px minmax(0,1fr);
	}

	.light-control-copy {
		padding: 10px 9px;
	}

	.light-control-copy strong {
		font-size: 1.1875rem;
	}

	.light-control-copy p {
		font-size: 0.5625rem;
	}
}

.voice-accordion-global {
	margin-top: var(--u);
	background: var(--blue);
}
.voice-accordion-global .voice-panel {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.voice-accordion-global.open .voice-panel {
	max-height: 700px;
}
.tournament-card {
	position: relative;
	text-decoration: none;
}
.external-badge {
	position: absolute;
	top: var(--u-sm);
	right: var(--u-sm);
	display: inline-flex;
	color: var(--grey);
}
.external-badge .material-symbols-outlined {
	font-size: 1rem;
}
.a11y-size-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--u-xs);
	margin-bottom: var(--u-sm);
}
.a11y-size-grid button {
	justify-content: center;
	padding: 12px 6px;
}
.a11y-size-grid button.active {
	border-color: var(--orange);
	background: var(--orange-a-w);
	color: var(--orange-d);
}
.whatsapp-action {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--u);
	padding: var(--u);
/*	border-radius: 18px;*/
	background: var(--success-a-w);
	color: var(--success-d);
}
.whatsapp-action > span:first-child {
	display: flex;
	align-items: center;
	gap: var(--u-sm);
}
@media (max-width: 560px) {
	.voice-accordion-global .voice-panel {
		grid-template-columns: 1fr;
	}
}

.topbar-actions {
	display: flex;
	align-items: center;
	gap: var(--u-xs);
}

.essentials-card .quick-icon {
	background: var(--orange-a-w);
	color: var(--orange);
}

.search-field {
	position: sticky;
	top: 0;
	z-index: 2;
	display: grid;
	grid-template-columns: 24px 1fr auto;
	gap: var(--u-sm);
	align-items: center;
	margin: 0 0 var(--u);
	padding: 13px 15px;
	border: var(--border);
/*	border-radius: 16px;*/
	background: var(--white);
	box-shadow: var(--shadow);
}

.search-field input {
	min-width: 0;
	padding: 0;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--ink);
	font-size: 1rem;
}

.search-clear {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
/*	border-radius: 50%;*/
	background: var(--grey-a-w);
	color: var(--grey);
	cursor: pointer;
}

.search-results {
	display: grid;
	gap: var(--u-sm);
}

.search-result {
	display: grid;
	grid-template-columns: 42px 1fr 20px;
	gap: var(--u-sm);
	align-items: center;
	width: 100%;
	padding: 14px;
	border: var(--border);
/*	border-radius: 16px;*/
	background: var(--surface);
	text-align: left;
	cursor: pointer;
}

.search-result > .material-symbols-outlined:first-child {
	color: var(--orange);
}

.search-result strong,
.search-result small {
	display: block;
}

.search-result small {
	margin-top: 3px;
	color: var(--muted);
	line-height: 1.4;
}

.search-empty {
	padding: var(--u-me) var(--u);
/*	border-radius: 18px;*/
	background: var(--grey-a-w);
	color: var(--muted);
	text-align: center;
}

.essential-grid {
	display: grid;
	gap: var(--u-sm);
}

.essential-card {
	padding: var(--u);
/*	border-radius: 18px;*/
	background: var(--bg);
}

.essential-card-header {
	display: flex;
	align-items: center;
	gap: var(--u-sm);
	margin-bottom: var(--u-sm);
	color: var(--orange);
}

.essential-card strong,
.essential-card small {
	display: block;
}

.essential-card small {
	margin-top: 4px;
	color: var(--muted);
}

.essential-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--u-xs);
	margin-top: var(--u-sm);
}

.essential-actions a,
.essential-actions button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 42px;
	padding: 8px 10px;
	border: 0;
	border-radius: 50px;
	background: var(--orange);
	color: var(--white);
	font-size: .75rem;
	font-weight: 700;
	cursor: pointer;
	text-transform: uppercase;
}

.essential-actions a {background: var(--navy);}

.essential-actions a.whatsapp {background: #157247;}

.call-action {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--u);
	margin-top: var(--u-sm);
	padding: var(--u);
/*	border-radius: 18px;*/
	background: var(--blue-a);
	color: var(--blue);
}

.call-action > span:first-child {
	display: flex;
	align-items: center;
	gap: var(--u-sm);
}

.install-app-button[hidden] {
	display: none !important;
}

.offline-status {
	position: fixed;
	left: 50%;
	top: 84px;
	z-index: 70;
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 8px 12px;
/*	border-radius: 999px;*/
	background: var(--blue);
	color: var(--white);
	box-shadow: var(--shadow);
	font-size: .72rem;
	font-weight: 700;
	transform: translate(-50%, -20px);
	opacity: 0;
	pointer-events: none;
	transition: var(--transition);
}

.offline-status.show {
	transform: translate(-50%, 0);
	opacity: 1;
}

.offline-status .material-symbols-outlined {
	font-size: 1rem;
}

@media (max-width: 480px) {
	.essential-actions {
		grid-template-columns: 1fr;
	}
}

/* V4.2 — interactions dynamiques */
.inline-link-button {
	padding: 0;
	border: 0;
	background: transparent;
	font: inherit;
	cursor: pointer;
}

.plan-placeholder {
	display: flex;
	min-height: 280px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--u-sm);
/*	padding: var(--u-lg) var(--u);*/
	border: 1px dashed var(--black-a);
	border-radius: 10px;
	background: var(--grey-a-w);
	text-align: center;
}

.plan-placeholder .material-symbols-outlined {
	font-size: 3rem;
	color: var(--orange);
}

.plan-placeholder p {
	max-width: 360px;
	margin: 0;
	color: var(--grey);
}

.plan-placeholder img {
	aspect-ratio: 1 / 1;
	height: auto;
}

[data-search-anchor] {
	scroll-margin-top: 120px;
}

.search-target-highlight {
	animation: searchTargetPulse 1.6s ease;
}

@keyframes searchTargetPulse {
	0%, 100% { box-shadow: inherit; }
	20%, 65% { box-shadow: 0 0 0 3px var(--orange-a-w), var(--shadow-lg); }
}

hr {
	background: var(--blue);
	height: 1px;
	border: 0;
	margin: var(--u-lg);
}

#footer-social-logos {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: var(--u);
	width: 100%;
	gap: var(--u);
}

#footer-social-logos img {
	height: var(--u-lg);
	width: var(--u-lg);
}

#footer-social-logos img:last-child {
	justify-self: flex-end;
	margin-left: auto;
}

/*** CHEATS ***/

.center-align {text-align: center;}
.right-align {text-align: right;}
.justify {text-align: justify;}
.pre-line {white-space: pre-line;}