/* Global styles: fonts, tokens, themes, base elements and the few shared helpers.
   Breakpoints: tablet ≤ 991px, mobile landscape ≤ 767px, mobile ≤ 479px. */

@font-face {
	font-family: 'PP Editorial Old';
	src: url('/fonts/pp-editorial-old-400.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Avenir Next Condensed';
	src: url('/fonts/avenir-next-lt-pro-condensed-400.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Avenir Next Condensed';
	src: url('/fonts/avenir-next-lt-pro-condensed-500.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

:root {
	--color-ink: #2c3137;
	--color-paper: #fbfaf7;
	--color-cream: #f6f2ea;
	--color-gold: #d8c28a;

	--font-heading: 'PP Editorial Old', sans-serif;
	--font-body: 'Avenir Next Condensed', sans-serif;

	--page-gutter: 2rem;
	/* Width of the events strip on the right edge, and of the panel when it opens. */
	--events-strip: 16rem;
	--events-panel: 32rem;

	--ease-panel: cubic-bezier(0.596, 0.106, 0.404, 0.995);
	--ease-hover: cubic-bezier(0.77, 0, 0.175, 1);

	font-size: calc(0.0010322580645161228rem + 0.8324731182795699vw);
	height: 100%;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

/* Themes. Sections opt in with data-theme; the body's values are animated between
   them while scrolling (scripts/theme-scroll.js), which recolours the fixed nav. */
:root,
[data-theme='light'] {
	--theme-bg: var(--color-cream);
	--theme-text: var(--color-ink);
	--theme-text-muted: var(--color-ink);
	--theme-heading: var(--color-ink);
	--theme-button-bg: var(--color-ink);
	--theme-button-text: var(--color-cream);
	--theme-button-border: var(--color-ink);
	--theme-link-underline: var(--color-ink);
	--theme-nav-logo: var(--color-ink);
	--theme-select-bg: var(--color-ink);
	--theme-select-text: var(--color-gold);
	--theme-bg-transparent: #fff0;
}

[data-theme='dark'] {
	--theme-bg: var(--color-ink);
	--theme-text: var(--color-paper);
	--theme-text-muted: var(--color-paper);
	--theme-heading: var(--color-paper);
	--theme-button-bg: var(--color-gold);
	--theme-button-text: var(--color-ink);
	--theme-button-border: var(--color-paper);
	--theme-link-underline: var(--color-gold);
	--theme-nav-logo: var(--color-paper);
	--theme-select-bg: var(--color-gold);
	--theme-select-text: var(--color-ink);
	--theme-bg-transparent: transparent;
}

@media (max-width: 991px) {
	:root {
		--page-gutter: 1.5rem;
		--events-strip: 4rem;
		font-size: calc(0.001039628180039165rem + 1.6144814090019568vw);
	}
}

@media (max-width: 479px) {
	:root {
		--events-strip: 0px;
		font-size: calc(-0.00008786610878652734rem + 3.340585774058577vw);
	}
}

@media (max-width: 240px) {
	:root {
		font-size: 0.501rem;
	}
}

*,
::before,
::after {
	box-sizing: border-box;
}

body {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	margin: 0;
	background-color: var(--theme-bg);
	color: var(--theme-text);
	font-family: var(--font-body);
	font-size: 1rem;
	line-height: 1.7;
	overscroll-behavior: none;
	scrollbar-width: none;
	-webkit-tap-highlight-color: transparent;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

::-webkit-scrollbar {
	display: none;
}

::selection {
	background: var(--theme-select-bg);
	color: var(--theme-select-text);
}

:focus {
	outline: 0;
}

h1,
h2 {
	margin: 0;
	color: var(--theme-heading);
	font-family: var(--font-heading);
	font-weight: 500;
	line-height: 1.2;
}

p {
	margin: 0;
	color: var(--theme-text);
	font-size: 1.25rem;
}

a {
	display: inline-block;
	max-width: 100%;
	padding: 0;
	background-color: transparent;
	color: inherit;
	font-size: inherit;
	text-decoration: none;
	cursor: pointer;
}

img {
	display: inline-block;
	max-width: 100%;
	vertical-align: middle;
	border: 0;
}

figure {
	margin: 0;
}

button {
	all: unset;
	cursor: pointer;
	pointer-events: auto;
}

button:focus {
	outline: revert;
}

svg {
	display: block;
}

/* Lenis smooth scrolling. */
html.lenis {
	height: auto;
}

.lenis.lenis-smooth {
	scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
	overscroll-behavior: contain;
}

.lenis.lenis-stopped {
	overflow: hidden;
}

/* Shared layout. */
.gutter {
	position: relative;
	width: 100%;
	padding-inline: var(--page-gutter);
}

.container {
	display: flow-root;
	width: 100%;
	margin-inline: auto;
}

.container--wide {
	max-width: 91.6667%;
}

@media (max-width: 479px) {
	.container--wide {
		max-width: none;
	}
}

/* Shared type scale. */
.type-display {
	font-size: 10rem;
	line-height: 1;
}

.type-h2 {
	font-size: 3.5rem;
	line-height: 1.2;
}

.type-h3 {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 2.5rem;
	line-height: 1.2;
}

.type-lead {
	font-size: 1.5rem;
	line-height: 1.75;
}

@media (max-width: 991px) {
	.type-display {
		font-size: 6rem;
	}
}

@media (max-width: 479px) {
	.type-display {
		font-size: 4rem;
	}

	.type-h2,
	.type-h3 {
		font-size: 3rem;
	}

	.type-lead {
		font-size: 1.125rem;
	}
}

/* Visibility by breakpoint. */
@media (min-width: 992px) {
	.only-below-desktop {
		display: none !important;
	}
}

@media (max-width: 991px) {
	.only-desktop {
		display: none !important;
	}
}

@media (max-width: 479px) {
	.hide-mobile {
		display: none !important;
	}
}


	.logo.svelte-tssf2h {
		position: absolute;
		inset: 0;
		display: block;
		background: currentColor;
		pointer-events: none;
		mask: url('/images/logo-mask.webp') center / contain no-repeat;
	}


	.intro.svelte-3ni6g2 {
		color: var(--color-gold);
		pointer-events: none;
	}

	html[data-visit='first'] [data-intro='repeat'].svelte-3ni6g2,
	html[data-visit='repeat'] [data-intro='first'].svelte-3ni6g2 {
		display: none;
	}

	.curtain.svelte-3ni6g2 {
		position: fixed;
		inset: 0;
		z-index: 1100;
		overflow: hidden;
	}

	.panel.svelte-3ni6g2 {
		position: absolute;
		inset: 0;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	[data-intro='first'].svelte-3ni6g2 .panel--ink:where(.svelte-3ni6g2) {
		overflow: hidden;
	}

	.half.svelte-3ni6g2 {
		position: absolute;
		inset: auto 0 0;
		width: 100%;
		height: 52%;
	}

	.half--top.svelte-3ni6g2 {
		inset: 0 auto auto;
		height: 50%;
	}

	.panel--gold.svelte-3ni6g2 .half:where(.svelte-3ni6g2) {
		background-color: var(--color-gold);
	}

	.panel--ink.svelte-3ni6g2 .half:where(.svelte-3ni6g2) {
		background-color: var(--color-ink);
	}

	.backdrop.svelte-3ni6g2 {
		position: absolute;
		inset: 0;
		background-color: var(--color-ink);
	}

	.intro-logo.svelte-3ni6g2 {
		position: absolute;
		inset: 0;
		z-index: 1;
		width: 100%;
		height: 100%;
	}

	.intro-logo-box.svelte-3ni6g2 {
		position: absolute;
		top: 50%;
		left: 50%;
		width: min(74vw, 680px);
		height: clamp(100px, 18vw, 225px);
		transform: translate(-50%, -50%);
	}

	@media (max-width: 479px) {
		.curtain.svelte-3ni6g2 {
			max-height: 100dvh;
		}
	}


	svg.svelte-13so817 {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.size-12.svelte-13so817 {
		height: 0.75rem;
		max-width: none;
	}

	.size-16.svelte-13so817 {
		height: 1rem;
	}

	.size-18.svelte-13so817 {
		height: 1.125rem;
	}

	.size-20.svelte-13so817 {
		height: 1.25rem;
	}

	.size-24.svelte-13so817 {
		height: 1.5rem;
	}


	.round.svelte-tnj0cw {
		position: relative;
		display: inline-block;
		width: 3.5rem;
		min-width: 3.5rem;
		max-width: 3.5rem;
		height: 3.5rem;
		min-height: 3.5rem;
		max-height: 3.5rem;
		overflow: hidden;
		border: 0.0625rem solid var(--theme-button-border);
		border-radius: 50%;
		color: var(--theme-button-bg);
		transition: color 0.5s var(--ease-hover);
	}

	/* Touch screens keep :hover on after a tap; only devices that really hover get it. */
	@media (hover: hover) {
		.round.svelte-tnj0cw:hover {
			color: var(--theme-bg);
		}
	}

	.round-bg.svelte-tnj0cw {
		position: absolute;
		inset: 0;
		border-radius: 50%;
		background-color: var(--theme-button-bg);
		transform: translateY(101%);
	}

	.round-track.svelte-tnj0cw {
		position: relative;
		display: block;
		width: 100%;
		height: 100%;
	}

	.round-icon.svelte-tnj0cw {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		will-change: transform;
	}

	.round-icon--next.svelte-tnj0cw {
		position: absolute;
		top: -100%;
	}

	@media (max-width: 991px) {
		.round.svelte-tnj0cw:hover {
			color: var(--theme-button-bg);
		}
	}


	.line.svelte-jlhrbz {
		display: block;
		width: 100%;
		overflow: hidden;
		text-align: start;
	}

	/* One mask per rendered row when the label wraps (scripts/split-lines.js). */
	.line.svelte-jlhrbz .split-row {
		display: block;
		overflow: hidden;
	}

	.wrap.svelte-jlhrbz {
		display: inline-block;
		position: relative;
	}

	.word.svelte-jlhrbz,
	.char.svelte-jlhrbz {
		display: inline-block;
	}


	.text-link.svelte-1807z4t {
		position: relative;
		display: flex;
		align-self: flex-start;
		align-items: center;
		gap: 0.5rem;
		font-size: 1.5rem;
		line-height: 1.2;
		white-space: pre;
	}

	.text-link-label.svelte-1807z4t {
		display: block;
	}

	.text-link-underline.svelte-1807z4t {
		position: absolute;
		bottom: 0;
		display: block;
		width: 100%;
		height: 0.09375rem;
		overflow: hidden;
	}

	.text-link-fill.svelte-1807z4t {
		display: block;
		width: 100%;
		height: 100%;
		background-color: var(--theme-link-underline);
		transform: translate(-101%);
	}

	@media (max-width: 991px) {
		.text-link.svelte-1807z4t {
			width: 100%;
			font-weight: 500;
		}
	}

	@media (max-width: 479px) {
		.text-link.svelte-1807z4t {
			max-width: 100%;
		}
	}


	.nav.svelte-i58mgt {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100;
		width: 100%;
		padding-right: var(--events-strip);
		pointer-events: none;
		transition: padding-right 0.6s var(--ease-panel);
	}

	/* Menu */
	.menu.svelte-i58mgt {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		pointer-events: auto;
		transition: padding-right 0.6s var(--ease-panel);
	}

	.menu.svelte-i58mgt.is-open {
		padding-right: 16rem;
	}

	.menu-backdrop.svelte-i58mgt {
		position: absolute;
		inset: 0;
		height: 100vh;
		background-color: var(--color-gold);
		opacity: 0;
	}

	.menu-content.svelte-i58mgt {
		position: relative;
		display: flex;
		width: 100%;
		height: 100%;
		padding-top: 7rem;
		padding-right: 16rem;
		pointer-events: none;
	}

	.menu-sheet.svelte-i58mgt {
		position: absolute;
		inset: 0;
		padding-right: 16rem;
	}

	.menu-sheet-fill.svelte-i58mgt {
		width: 100%;
		height: 100%;
		background-color: var(--color-cream);
	}

	.menu-gutter.svelte-i58mgt {
		pointer-events: auto;
	}

	.menu-layout.svelte-i58mgt {
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		height: 100%;
	}

	.menu-grid.svelte-i58mgt {
		display: grid;
		grid-template-rows: auto;
		grid-template-columns: 5fr 7fr;
		grid-auto-columns: 1fr;
		gap: 5rem;
	}

	.menu-pages.svelte-i58mgt,
	.menu-secondary.svelte-i58mgt {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
	}

	.menu-pages.svelte-i58mgt {
		container-type: inline-size;
	}

	.menu-secondary.svelte-i58mgt {
		align-self: end;
		gap: 0.75rem;
		padding-bottom: 0.75rem;
	}

	.menu-link.svelte-i58mgt {
		display: flex;
		align-items: center;
		padding-left: 0;
		color: var(--color-ink);
		font-family: var(--font-heading);
		font-size: 12cqw;
		line-height: 1.3;
		transition: padding-left 0.5s var(--ease-hover);
	}

	.menu-link--small.svelte-i58mgt {
		font-size: 2rem;
	}

	/* Touch screens keep :hover on after a tap; only devices that really hover get it. */
	@media (hover: hover) {
		.menu-link.svelte-i58mgt:hover {
			padding-left: 2.5rem;
		}

		.menu-link--small.svelte-i58mgt:hover {
			padding-left: 1.25rem;
		}
	}

	.menu-logo.svelte-i58mgt {
		position: relative;
		height: 12rem;
		margin-top: 5rem;
		padding-right: 1rem;
		overflow: hidden;
		color: var(--color-ink);
	}

	.menu-bar.svelte-i58mgt {
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 6rem;
		margin-top: 3rem;
	}

	.menu-divider.svelte-i58mgt {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		width: 0;
		height: 0.0625rem;
		background-color: var(--theme-text-muted);
		opacity: 0.4;
	}

	.menu-socials.svelte-i58mgt {
		display: flex;
		align-items: center;
		gap: 0.75rem;
		opacity: 0;
	}

	.menu-legal.svelte-i58mgt {
		display: flex;
		align-items: center;
		gap: 2.5rem;
		color: var(--color-ink);
	}

	.menu-legal-item.svelte-i58mgt {
		overflow: hidden;
	}

	/* Bar */
	.bar.svelte-i58mgt {
		position: relative;
		display: flex;
		align-items: center;
		width: 100%;
		height: 7rem;
		pointer-events: none;
		transition: padding-right 0.6s var(--ease-panel);
	}

	.bar.svelte-i58mgt.is-open {
		padding-right: 16rem;
	}

	.bar-content.svelte-i58mgt {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
	}

	/* The mark sits in the top-left corner, its ink on the page gutter like the menu toggle on the right.
	   The logo image has transparent padding of about a tenth of its height on the left; pull it back. */
	.bar-logo.svelte-i58mgt {
		--logo-height: clamp(48px, 6vw, 73px);
		position: relative;
		width: clamp(145px, 18vw, 220px);
		height: var(--logo-height);
		margin-left: calc(var(--logo-height) * -0.1);
		pointer-events: auto;
	}

	.bar-logo-mark.svelte-i58mgt .logo {
		mask-position: left center;
	}

	.bar-logo-mark.svelte-i58mgt {
		position: relative;
		display: block;
		width: 100%;
		height: 100%;
		overflow: hidden;
		color: var(--theme-nav-logo);
	}

	.bar-logo-reveal.svelte-i58mgt {
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 0%;
		height: 100%;
		overflow: clip;
	}

	.bar-logo-mark--ink.svelte-i58mgt {
		position: absolute;
		top: 0;
		left: 0;
		width: clamp(145px, 18vw, 220px);
		color: var(--color-ink);
	}

	.bar-actions.svelte-i58mgt {
		display: flex;
		align-items: center;
	}

	.toggle.svelte-i58mgt {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		box-sizing: content-box;
		height: 3.5rem;
		max-height: 3.5rem;
		padding: 0 2rem;
		overflow: hidden;
		border: 0.0625rem solid var(--theme-button-border);
		border-radius: 4.5rem;
		color: var(--theme-nav-logo);
		font-family: var(--font-heading);
		font-size: 1.25rem;
		line-height: 1;
		pointer-events: auto;
		transition: color 0.3s var(--ease-hover);
	}

	@media (hover: hover) {
		.toggle.svelte-i58mgt:hover {
			color: var(--theme-button-text);
		}
	}

	.toggle--ghost.svelte-i58mgt {
		display: none;
		opacity: 0;
	}

	.toggle-bg.svelte-i58mgt {
		position: absolute;
		display: flex;
		width: 100%;
		height: 100%;
		border-radius: 4.5rem;
		background-color: var(--theme-button-bg);
		transform: translateY(101%);
	}

	.toggle-text.svelte-i58mgt {
		position: relative;
		display: block;
		padding-bottom: 0.175rem;
	}

	@media (max-width: 991px) {
		.menu.svelte-i58mgt {
			height: 100dvh;
			padding-right: 4rem;
		}

		.bar.svelte-i58mgt {
			padding-right: 1rem;
		}

		.bar.svelte-i58mgt.is-open {
			padding-right: 32rem;
		}

		.menu-content.svelte-i58mgt,
		.menu-sheet.svelte-i58mgt {
			padding-right: 4rem;
		}

		.menu-grid.svelte-i58mgt {
			grid-template-columns: 0.6fr 0.4fr;
			gap: 0;
		}

		.menu-link.svelte-i58mgt {
			font-size: 4.5rem;
		}

		.menu-link--small.svelte-i58mgt {
			font-size: 2rem;
		}

		.menu-logo.svelte-i58mgt {
			height: 10rem;
		}

		.menu-bar.svelte-i58mgt {
			flex-direction: row-reverse;
			align-items: flex-start;
			gap: 2rem;
			height: auto;
			padding-block: 2rem;
		}

		.menu-socials.svelte-i58mgt {
			justify-content: flex-end;
			align-items: center;
		}

		.menu-legal.svelte-i58mgt {
			display: grid;
			grid-template-rows: auto auto;
			grid-template-columns: 1fr 1fr;
			grid-auto-columns: 1fr;
			gap: 1rem;
		}

		.toggle-wrap.svelte-i58mgt {
			position: relative;
		}

		.toggle--ghost.svelte-i58mgt {
			position: absolute;
			inset: 0;
			display: flex;
			border-color: var(--color-ink);
			color: var(--color-ink);
			pointer-events: none;
		}
	}

	@media (max-width: 479px) {
		.menu.svelte-i58mgt {
			padding-right: 0;
			color: var(--color-ink);
		}

		.menu-content.svelte-i58mgt,
		.menu-sheet.svelte-i58mgt {
			padding-right: 0;
		}

		.menu-layout.svelte-i58mgt {
			align-items: center;
		}

		.menu-grid.svelte-i58mgt {
			grid-template-columns: 1fr;
			gap: 2rem;
		}

		.menu-link.svelte-i58mgt {
			font-size: 3rem;
		}

		.menu-link--small.svelte-i58mgt {
			font-size: 1.5rem;
		}

		.menu-bar.svelte-i58mgt {
			align-items: flex-end;
			margin-top: 1rem;
		}

		.menu-socials.svelte-i58mgt {
			flex-direction: column;
			justify-content: center;
			align-items: flex-end;
		}

		.menu-legal.svelte-i58mgt {
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			gap: 1rem;
		}

		.bar.svelte-i58mgt,
		.bar.svelte-i58mgt.is-open {
			padding-right: 0;
		}
	}


	.toggle-wrap.svelte-1mryjot {
		pointer-events: none;
	}

	.toggle.svelte-1mryjot {
		position: fixed;
		top: 2rem;
		right: 2rem;
		z-index: 101;
		display: block;
		width: 3.5rem;
		height: 3.5rem;
		overflow: hidden;
		border-radius: 50%;
		background-color: var(--color-paper);
		color: var(--color-gold);
		transform: scale(1);
		transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
	}

	.track.svelte-1mryjot {
		position: relative;
		display: block;
		width: 100%;
		height: 100%;
		transform: translateX(-100%);
	}

	.track-icon.svelte-1mryjot {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
	}

	.track-icon--next.svelte-1mryjot {
		position: absolute;
		top: 0;
		right: -100%;
	}

	.flip.svelte-1mryjot {
		display: block;
		transform: rotate(180deg);
	}

	.panel.svelte-1mryjot {
		position: fixed;
		top: 0;
		right: 0;
		height: 100vh;
		padding-bottom: 3.5rem;
		background-color: var(--color-ink);
	}

	.scroll.svelte-1mryjot {
		position: sticky;
		width: 32rem;
		height: 100vh;
		padding: 3.5rem 4rem;
		overflow: scroll;
	}

	.list.svelte-1mryjot {
		display: flex;
		flex-direction: column;
		gap: 1.5rem;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.card.svelte-1mryjot {
		position: relative;
		width: 100%;
		color: var(--theme-text);
		font-size: 1.25rem;
		line-height: 1;
	}

	.media.svelte-1mryjot {
		position: relative;
		display: block;
		width: 100%;
	}

	.media.svelte-1mryjot img:where(.svelte-1mryjot) {
		position: relative;
		width: 100%;
		height: auto;
		object-fit: cover;
	}

	.hover-logo.svelte-1mryjot {
		position: absolute;
		inset: 0;
		display: block;
		padding-inline: 2rem;
		color: var(--color-gold);
		opacity: 0;
		pointer-events: none;
	}

	/* Touch screens keep :hover on after a tap; only devices that really hover get it. */
	@media (hover: hover) {
		.card.svelte-1mryjot:hover .hover-logo:where(.svelte-1mryjot) {
			opacity: 1;
		}
	}

	.hover-logo-box.svelte-1mryjot {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
	}

	.hover-logo-box.svelte-1mryjot .logo {
		position: relative;
		inset: auto;
		width: 70%;
		height: 70px;
	}

	.info.svelte-1mryjot {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: flex-start;
		gap: 0.5rem;
		margin-top: 1rem;
		line-height: 1.2;
	}

	.title.svelte-1mryjot {
		position: relative;
		display: block;
		padding-bottom: 0.5rem;
		font-family: var(--font-heading);
		font-size: 1.5rem;
	}

	.credit.svelte-1mryjot {
		display: block;
		font-size: 0.875rem;
		line-height: 1.3;
		opacity: 0.75;
	}

	.shade.svelte-1mryjot {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		height: 100%;
		background-color: var(--color-ink);
		opacity: 0.75;
		cursor: pointer;
		transition: opacity 0.6s;
	}

	.shade.svelte-1mryjot.is-open {
		opacity: 0;
		pointer-events: none;
	}

	@media (max-width: 991px) {
		.toggle.svelte-1mryjot {
			top: 1.75rem;
			right: 2.25rem;
		}

		.scroll.svelte-1mryjot {
			padding-inline: 2rem;
		}
	}

	@media (max-width: 479px) {
		.scroll.svelte-1mryjot {
			width: 100vw;
		}

		.list.svelte-1mryjot {
			gap: 2rem;
		}

		.title.svelte-1mryjot {
			font-size: 2rem;
		}
	}


	.hero.svelte-pykimo {
		padding-top: 12rem;
	}

	.title-wrap.svelte-pykimo {
		margin-bottom: clamp(28px, 5vw, 72px);
	}

	.photo.svelte-pykimo {
		width: 100%;
		aspect-ratio: 3;
		overflow: hidden;
		background: var(--color-ink);
	}

	.photo.svelte-pykimo img:where(.svelte-pykimo) {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	@media (min-width: 992px) {
		.title-wrap.svelte-pykimo {
			container-type: inline-size;
		}

		.title.svelte-pykimo {
			font-size: clamp(48px, 10.5cqw, 160px);
			white-space: nowrap;
		}
	}

	@media (max-width: 991px) {
		.hero.svelte-pykimo {
			padding-top: 8rem;
		}
	}

	@media (max-width: 479px) {
		.title-wrap.svelte-pykimo {
			margin-top: 3rem;
		}
	}


	.pill.svelte-1jg4um1 {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 3.5rem;
		padding-inline: 2rem;
		overflow: hidden;
		border: 0.0625rem solid var(--theme-button-border);
		border-radius: 4.5rem;
		color: var(--color-ink);
		font-family: var(--font-heading);
		font-size: 1.25rem;
		font-weight: 500;
		line-height: 0.9;
		text-align: center;
		text-transform: lowercase;
	}

	.pill--gold.svelte-1jg4um1 {
		border-color: var(--color-gold);
		background-color: var(--color-gold);
	}

	.pill--ink.svelte-1jg4um1 {
		background-color: var(--color-ink);
		color: var(--color-gold);
	}

	.pill-bg.svelte-1jg4um1 {
		position: absolute;
		inset: -1%;
		border-radius: 4.5rem;
		background-color: var(--color-ink);
		transform: translate(101%);
	}

	.pill--ink.svelte-1jg4um1 .pill-bg:where(.svelte-1jg4um1) {
		background-color: var(--color-gold);
	}

	.pill-text.svelte-1jg4um1 {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100%;
		overflow: hidden;
		white-space: nowrap;
	}

	.pill-icon.svelte-1jg4um1 {
		position: relative;
		display: block;
		overflow: hidden;
	}

	.pill-icon-inner.svelte-1jg4um1 {
		display: flex;
		padding-left: 1.125rem;
	}

	@media (max-width: 479px) {
		.pill--ink.svelte-1jg4um1 {
			justify-content: flex-start;
		}

		.pill-icon.svelte-1jg4um1 {
			margin-left: auto;
		}
	}


	.about.svelte-4lu3rl {
		padding-block: 14rem;
	}

	.narrow.svelte-4lu3rl {
		max-width: 75%;
	}

	.text.svelte-4lu3rl {
		width: 100%;
		max-width: 45rem;
	}

	.text.svelte-4lu3rl p:where(.svelte-4lu3rl) + p:where(.svelte-4lu3rl) {
		margin-top: 1.5em;
	}

	.actions.svelte-4lu3rl {
		display: flex;
		gap: 1rem;
		margin-top: 3rem;
	}

	@media (max-width: 991px) {
		.about.svelte-4lu3rl {
			padding-block: 8rem;
		}
	}

	@media (max-width: 479px) {
		.about.svelte-4lu3rl {
			padding-block: 7rem;
		}

		.narrow.svelte-4lu3rl,
		.text.svelte-4lu3rl {
			max-width: none;
		}

		.actions.svelte-4lu3rl {
			flex-direction: column;
		}
	}


	.studio.svelte-wtr6u2 {
		position: relative;
		height: 100vh;
	}

	.frame.svelte-wtr6u2 {
		position: relative;
		width: 100%;
		height: 100%;
		overflow: hidden;
	}

	.image.svelte-wtr6u2 {
		position: relative;
		height: 100%;
		background: var(--color-ink);
	}

	.image.svelte-wtr6u2 img:where(.svelte-wtr6u2) {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: 35% center;
	}


	.trajectory.svelte-80z7cn {
		padding-block: 14rem;
	}

	.heading.svelte-80z7cn {
		width: 100%;
		max-width: 29rem;
	}

	.list.svelte-80z7cn {
		margin: 6rem 0 0;
		padding: 0;
		list-style: none;
	}

	.row.svelte-80z7cn {
		position: relative;
		overflow: hidden;
		padding-inline: 0;
		border-bottom: 0.0625rem solid var(--theme-text);
		color: var(--theme-text);
		cursor: pointer;
		will-change: transform;
		transition:
			color 0.5s var(--ease-hover),
			padding-right 0.5s var(--ease-hover),
			padding-left 0.5s var(--ease-hover);
	}

	.row.svelte-80z7cn:last-child {
		border-bottom-style: none;
	}

	/* Touch screens keep :hover on after a tap; only devices that really hover get it. */
	@media (hover: hover) {
		.row.svelte-80z7cn:hover {
			padding-inline: 2rem;
			color: var(--theme-button-text);
		}
	}

	.row-bg.svelte-80z7cn {
		position: absolute;
		inset: 0;
		background-color: var(--theme-button-bg);
		transform: translateY(101%);
	}

	.row-link.svelte-80z7cn {
		position: relative;
		display: flex;
		align-items: flex-end;
		padding: 1.5rem 0;
		overflow: hidden;
	}

	.row-title.svelte-80z7cn {
		position: relative;
		display: block;
		width: 100%;
		min-width: 35rem;
		max-width: 35rem;
		min-height: 2lh;
		font-family: var(--font-heading);
		font-size: 2rem;
		line-height: 1.2;
	}

	.row.svelte-80z7cn:nth-child(n + 4) .row-title:where(.svelte-80z7cn) {
		min-height: 3lh;
	}

	.row-content.svelte-80z7cn {
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
	}

	.row-source.svelte-80z7cn {
		display: flex;
		column-gap: 0.25em;
		width: 100%;
		max-width: 29rem;
		padding-left: 5rem;
		font-size: 1.25rem;
		opacity: 0.6;
		overflow-wrap: anywhere;
	}

	.tags.svelte-80z7cn {
		display: flex;
		flex-wrap: wrap;
		gap: 0.5rem;
		width: 100%;
	}

	.tag.svelte-80z7cn {
		display: flex;
		align-items: center;
		height: 2rem;
		padding-inline: 1rem;
		border-radius: 2rem;
		font-weight: 500;
		line-height: 0.9;
		text-transform: lowercase;
	}

	.tag--outline.svelte-80z7cn {
		border: 0.0625rem solid;
		background-color: var(--theme-bg-transparent);
	}

	.tag--gold.svelte-80z7cn {
		background-color: var(--color-gold);
		color: var(--color-ink);
	}

	.row-arrow.svelte-80z7cn {
		display: block;
		color: var(--color-gold);
	}

	.row-arrow-icon.svelte-80z7cn {
		display: block;
		transition: 0.6s var(--ease-hover);
	}

	.more.svelte-80z7cn {
		margin-top: 2.5rem;
	}

	.more-inline.svelte-80z7cn {
		display: inline-flex;
	}

	@media (max-width: 991px) {
		.trajectory.svelte-80z7cn {
			padding-block: 8rem;
		}

		.list.svelte-80z7cn {
			margin-top: 5rem;
		}

		.row.svelte-80z7cn:hover {
			padding-inline: 0;
			color: var(--theme-text);
		}

		.row.svelte-80z7cn:nth-child(n + 2) .row-title:where(.svelte-80z7cn) {
			min-height: 3lh;
		}

		.row.svelte-80z7cn:nth-child(5) .row-title:where(.svelte-80z7cn) {
			min-height: 4lh;
		}

		.row-link.svelte-80z7cn {
			flex-direction: column;
			align-items: flex-start;
			gap: 1rem;
		}

		.row-content.svelte-80z7cn {
			flex-direction: column;
			align-items: flex-start;
			row-gap: 0.75rem;
		}

		.row-source.svelte-80z7cn {
			padding-left: 0;
		}

		.row-arrow.svelte-80z7cn {
			position: absolute;
			bottom: 0;
			right: 0;
		}
	}

	@media (max-width: 479px) {
		.trajectory.svelte-80z7cn {
			padding-block: 7rem;
		}

		.heading.svelte-80z7cn {
			max-width: none;
		}

		.list.svelte-80z7cn {
			margin-top: 4rem;
		}

		.row-title.svelte-80z7cn {
			min-width: auto;
			max-width: none;
		}

		.row-content.svelte-80z7cn {
			row-gap: 0.5rem;
		}
	}


	.office.svelte-1hukyow {
		padding-block: 8rem;
		background-color: var(--color-ink);
		color: var(--color-paper);
	}

	.heading.svelte-1hukyow {
		width: 100%;
		max-width: 48.3333rem;
	}

	.map-container.svelte-1hukyow {
		display: block;
		max-width: 83.3333%;
	}

	.card.svelte-1hukyow {
		min-width: 0;
		margin-top: 10rem;
	}

	/* The map art is three times wider than tall and always fills the frame's height, so one
	   metre is (frame height / 2000) pixels and the pin sits 600 m left of centre, 30% down
	   (see marilia-toolchain/map/generate.js). Overlays are placed with the same numbers. */
	.frame.svelte-1hukyow {
		--map-height: clamp(300px, 42vw, 560px);
		--pin-x: calc(50% - var(--map-height) * 0.3);
		--pin-y: 30%;
		--map-avenue: #b89a52;
		position: relative;
		height: var(--map-height);
		overflow: hidden;
		background: var(--color-cream);
		color: var(--color-ink);
	}

	.map.svelte-1hukyow {
		display: block;
		width: 100%;
		height: 100%;
	}

	.map.svelte-1hukyow .map-art {
		display: block;
		width: 100%;
		height: 100%;
		transform-origin: var(--pin-x) var(--pin-y);
		/* Revealed from the pin by scripts/office-map.js; fully shown without it. */
		clip-path: circle(var(--reveal, 150%) at var(--pin-x) var(--pin-y));
		transition: transform 1.2s var(--ease-hover);
	}

	@media (hover: hover) {
		.map.svelte-1hukyow:hover .map-art {
			transform: scale(1.04);
		}
	}

	/* Map layers, drawn in ink on the cream paper. */
	.map.svelte-1hukyow .green {
		fill: var(--color-ink);
		fill-opacity: 0.045;
	}

	.map.svelte-1hukyow .sand {
		fill: var(--color-gold);
		fill-opacity: 0.25;
	}

	.map.svelte-1hukyow .road {
		fill: none;
		stroke: var(--color-ink);
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.map.svelte-1hukyow .road--foot {
		stroke-opacity: 0.1;
		stroke-width: 2;
		stroke-dasharray: 6 8;
	}

	.map.svelte-1hukyow .road--service {
		stroke-opacity: 0.14;
		stroke-width: 3;
	}

	.map.svelte-1hukyow .road--minor {
		stroke-opacity: 0.32;
		stroke-width: 4;
	}

	.map.svelte-1hukyow .road--major {
		stroke-opacity: 0.7;
		stroke-width: 9;
	}

	.map.svelte-1hukyow .sea {
		fill: var(--color-ink);
		fill-opacity: 0.05;
	}

	.map.svelte-1hukyow #office-map-hatch line {
		stroke: var(--color-ink);
		stroke-opacity: 0.18;
		stroke-width: 2.4;
	}

	.map.svelte-1hukyow .coast {
		fill: none;
		stroke: var(--color-ink);
		stroke-opacity: 0.6;
		stroke-width: 4;
	}

	.map.svelte-1hukyow .avenue {
		fill: none;
		stroke: var(--map-avenue);
		stroke-width: 11;
		stroke-linecap: round;
	}

	/* Label sizes are in map metres; they grow on smaller frames to stay readable. A paper halo
	   lifts the names off the roads beneath them. */
	.map.svelte-1hukyow .street-label {
		fill: var(--color-ink);
		fill-opacity: 0.8;
		font-family: var(--font-body);
		font-size: 40px;
		letter-spacing: 3px;
		paint-order: stroke;
		stroke: var(--color-cream);
		stroke-width: 12px;
		stroke-linejoin: round;
	}

	/* Pin. */
	.pin.svelte-1hukyow {
		position: absolute;
		top: var(--pin-y);
		left: var(--pin-x);
		width: 0;
		height: 0;
	}

	.pin-dot.svelte-1hukyow {
		position: absolute;
		top: 0;
		left: 0;
		width: 14px;
		height: 14px;
		border: 2px solid var(--color-ink);
		border-radius: 50%;
		background: var(--color-gold);
		transform: translate(-50%, -50%);
	}

	.callout.svelte-1hukyow {
		position: absolute;
		top: var(--pin-y);
		left: calc(var(--pin-x) + 1.5rem);
		display: flex;
		flex-direction: column;
		transform: translateY(-1.1rem);
		pointer-events: none;
		/* The same paper halo as the street names, over the roads around the office. */
		text-shadow:
			0 0 2px var(--color-cream),
			0 0 2px var(--color-cream),
			0 0 4px var(--color-cream),
			0 0 4px var(--color-cream),
			0 0 8px var(--color-cream),
			0 0 8px var(--color-cream);
	}

	.callout-title.svelte-1hukyow {
		font-family: var(--font-heading);
		font-size: 1.5rem;
		line-height: 1.2;
	}

	/* Softened by mixing rather than opacity, which would also thin its halo. */
	.callout-street.svelte-1hukyow {
		font-size: 1rem;
		line-height: 1.4;
		color: color-mix(in srgb, var(--color-ink) 70%, var(--color-cream));
	}

	/* The way out to Google Maps, top right. */
	.open.svelte-1hukyow {
		position: absolute;
		top: 1.25rem;
		right: 1.25rem;
		display: flex;
		align-items: center;
		gap: 0.5rem;
		padding: 0.5rem 1rem;
		border: 0.0625rem solid var(--color-ink);
		border-radius: 4.5rem;
		background: var(--color-cream);
		font-family: var(--font-heading);
		font-size: 1rem;
		line-height: 1;
		transition:
			background-color 0.4s var(--ease-hover),
			color 0.4s var(--ease-hover);
	}

	@media (hover: hover) {
		.map.svelte-1hukyow:hover .open:where(.svelte-1hukyow) {
			background: var(--color-ink);
			color: var(--color-cream);
		}
	}

	/* Scale and map credit, bottom left. */
	.legend.svelte-1hukyow {
		position: absolute;
		bottom: 1rem;
		left: 1.25rem;
		display: flex;
		align-items: center;
		gap: 1.5rem;
		font-size: 0.875rem;
		pointer-events: none;
	}

	.scale.svelte-1hukyow {
		display: flex;
		align-items: center;
		gap: 0.5rem;
		opacity: 0.6;
	}

	/* 500 m at the map's scale: a quarter of the frame height. */
	.scale-bar.svelte-1hukyow {
		width: calc(var(--map-height) * 0.25);
		height: 0.375rem;
		border: 0.0625rem solid currentColor;
		border-top: 0;
	}

	.credit.svelte-1hukyow {
		opacity: 0.5;
		pointer-events: auto;
	}

	figcaption.svelte-1hukyow {
		margin-top: 1rem;
		text-align: center;
	}

	.address.svelte-1hukyow {
		display: inline-flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: baseline;
		gap: 0 0.75rem;
		font-size: 1.25rem;
		line-height: 1.5;
	}

	.address-hint.svelte-1hukyow {
		font-size: 1rem;
		opacity: 0.6;
		text-decoration: underline;
		text-underline-offset: 0.2em;
	}

	@media (hover: hover) {
		.address.svelte-1hukyow:hover .address-hint:where(.svelte-1hukyow) {
			opacity: 1;
		}
	}

	@media (max-width: 991px) {
		.map-container.svelte-1hukyow {
			max-width: 91.6667%;
		}

		.card.svelte-1hukyow {
			margin-top: 6rem;
		}

		.map.svelte-1hukyow .street-label {
			font-size: 56px;
		}
	}

	@media (max-width: 479px) {
		.office.svelte-1hukyow {
			padding-block: 7rem;
		}

		.heading.svelte-1hukyow,
		.map-container.svelte-1hukyow {
			max-width: none;
		}

		.card.svelte-1hukyow {
			margin-top: 4rem;
		}

		.map.svelte-1hukyow .street-label {
			font-size: 72px;
		}

		/* Names placed beyond the middle of the map would be cut off at the card's edges. */
		.map.svelte-1hukyow .street-label--wide {
			display: none;
		}

		.open.svelte-1hukyow {
			top: 1rem;
			right: 1rem;
		}

		.callout-title.svelte-1hukyow {
			font-size: 1.25rem;
		}
	}


	.footer.svelte-59sg29 {
		position: relative;
		overflow: clip;
		background-color: var(--color-cream);
		color: var(--color-ink);
	}

	.content.svelte-59sg29 {
		display: flex;
		flex-direction: column;
		/* One screen tall, growing only when the columns need more room than that. */
		min-height: 100vh;
		padding-inline: 2rem;
	}

	.columns.svelte-59sg29 {
		display: grid;
		grid-template-rows: auto;
		/* Direito Militar has the longest list; it takes a double share from the logo's column. */
		grid-template-columns: 0.333333fr 0.666667fr 0.333333fr 0.666667fr;
		grid-auto-columns: 1fr;
		width: 100%;
		padding-top: 10rem;
		padding-bottom: 4rem;
	}

	.column.svelte-59sg29 {
		position: relative;
		z-index: 1;
		display: flex;
		flex-direction: column;
		row-gap: 2rem;
		width: 100%;
		padding-right: 2rem;
	}

	.column--military.svelte-59sg29 {
		justify-self: start;
	}

	.column--logo.svelte-59sg29 {
		z-index: 0;
		align-self: start;
		padding-right: 0;
	}

	.links.svelte-59sg29 {
		display: flex;
		flex-direction: column;
		align-self: flex-start;
		align-items: flex-start;
		row-gap: 1.5rem;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	/* Practice subjects can be long; they wrap within their column instead of widening it. */
	ul.links.svelte-59sg29 .text-link {
		white-space: normal;
	}

	.logo.svelte-59sg29 {
		position: relative;
		width: 100%;
		height: 10rem;
	}

	.cta.svelte-59sg29 {
		position: relative;
		display: flex;
		align-items: flex-end;
		width: 100%;
		margin-top: auto;
	}

	.cta-grid.svelte-59sg29 {
		display: grid;
		grid-template-rows: auto;
		grid-template-columns: 1fr 1fr;
		grid-auto-columns: 1fr;
		width: 100%;
	}

	.buttons.svelte-59sg29 {
		display: flex;
		gap: 1rem;
	}

	.registration.svelte-59sg29 {
		grid-column: span 2;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap: 1.5rem;
		margin-top: 2rem;
	}

	.registration.svelte-59sg29 p:where(.svelte-59sg29) {
		font-size: clamp(16px, 1.25vw, 20px);
		line-height: 1.5;
	}

	.registration.svelte-59sg29 span:where(.svelte-59sg29) {
		white-space: nowrap;
	}

	.bar.svelte-59sg29 {
		position: relative;
		display: flex;
		align-items: center;
		width: 100%;
		height: 10rem;
		margin-top: 3rem;
	}

	.divider.svelte-59sg29 {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		height: 0.0625rem;
		background-color: var(--theme-text-muted);
		opacity: 0.4;
	}

	.bar-grid.svelte-59sg29 {
		display: grid;
		grid-template-rows: auto;
		grid-template-columns: 1fr 2fr 1fr;
		grid-auto-columns: 1fr;
		align-items: center;
		width: 100%;
	}

	.socials.svelte-59sg29 {
		display: flex;
		align-self: flex-start;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 0 0.75rem;
	}

	.share.svelte-59sg29 {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.legal.svelte-59sg29 {
		display: flex;
		align-self: flex-start;
		justify-content: center;
		align-items: flex-start;
		gap: 0 2.5rem;
	}

	.bar-grid.svelte-59sg29 > .legal:where(.svelte-59sg29) {
		align-self: center;
	}

	@media (max-width: 991px) {
		.content.svelte-59sg29 {
			height: auto;
			padding-inline: 1rem;
		}

		.columns.svelte-59sg29 {
			grid-template-columns: 1fr 1fr;
			gap: 3rem 0;
			padding-top: 8rem;
			padding-bottom: 0;
		}

		.column.svelte-59sg29 {
			align-items: flex-start;
			row-gap: 1rem;
		}

		.column--military.svelte-59sg29 {
			justify-self: center;
		}

		.column--site.svelte-59sg29 {
			justify-self: start;
		}

		.column--logo.svelte-59sg29 {
			grid-area: 1 / 1 / 2 / 3;
		}

		.links.svelte-59sg29 {
			flex-flow: wrap;
			row-gap: 0.75rem;
		}

		/* Subjects stay one per line; short ones would otherwise pair up with no space between. */
		ul.links.svelte-59sg29 {
			flex-direction: column;
		}

		.logo.svelte-59sg29 {
			margin-bottom: 2rem;
		}

		.cta-grid.svelte-59sg29 {
			place-items: end stretch;
			gap: 3rem 0;
		}

		.registration.svelte-59sg29 {
			grid-column: span 1;
			align-self: start;
			justify-content: flex-end;
		}

		.bar.svelte-59sg29 {
			height: auto;
			padding-block: 3rem;
		}

		.bar-grid.svelte-59sg29 {
			grid-template-columns: 1fr 1fr;
			gap: 3rem 0;
		}

		.socials.svelte-59sg29 {
			grid-area: 1 / 2 / 2 / 3;
			place-self: start end;
		}

		.legal.svelte-59sg29 {
			flex-wrap: wrap;
			justify-content: flex-start;
			row-gap: 0.75rem;
		}

		.bar-grid.svelte-59sg29 > .legal:where(.svelte-59sg29) {
			justify-self: stretch;
		}
	}

	@media (max-width: 479px) {
		.content.svelte-59sg29 {
			padding-inline: 0;
		}

		.columns.svelte-59sg29,
		.cta-grid.svelte-59sg29,
		.bar-grid.svelte-59sg29 {
			grid-template-columns: 1fr;
		}

		.columns.svelte-59sg29 {
			padding-top: 7rem;
		}

		.column.svelte-59sg29 {
			row-gap: 1.25rem;
		}

		.column--logo.svelte-59sg29 {
			grid-column-end: 2;
		}

		.links.svelte-59sg29 {
			flex-direction: column;
		}

		.logo.svelte-59sg29 {
			height: 6rem;
		}

		.cta.svelte-59sg29 {
			margin-top: 4rem;
		}

		.buttons.svelte-59sg29 {
			flex-direction: column;
		}

		.registration.svelte-59sg29 {
			order: -9999;
			justify-content: flex-start;
			align-items: flex-start;
		}

		.socials.svelte-59sg29 {
			grid-column: 1 / 2;
			justify-self: start;
		}

		.legal.svelte-59sg29 {
			row-gap: 1.25rem;
			justify-content: flex-start;
		}
	}


	.page.svelte-1n46o8q {
		overflow: clip;
	}

	.main.svelte-1n46o8q {
		position: relative;
	}

	/* The page sits over the events panel and stops short of the right edge to show its strip. */
	.stack.svelte-1n46o8q {
		position: relative;
		margin-right: var(--events-strip);
		overflow: clip;
		background-color: var(--theme-bg);
		transition: margin-right 0.6s var(--ease-panel);
	}

	.stack.svelte-1n46o8q.is-open {
		margin-right: var(--events-panel);
	}

	.stack-cover.svelte-1n46o8q {
		position: absolute;
		inset: 0;
		z-index: 2;
		background-color: #000;
		mix-blend-mode: lighten;
	}

	@media (max-width: 991px) {
		.stack.svelte-1n46o8q {
			transition-property: all;
		}

		.stack.svelte-1n46o8q.is-open {
			margin-right: 0;
			transform: translate(-32rem);
		}
	}
