/**
 * Radoon — global stylesheet.
 *
 * Tokens, base typography, layout, buttons, forms, header, navigation, footer and the shared
 * components every page uses. Page families add their own small stylesheet on top.
 *
 * Brand rules enforced here:
 * - Gold (royal and sand) marks and hairlines only; never text or buttons on light grounds.
 * - Primary action is navy with white text; secondary is a navy outline.
 * - Sharp corners, no drop shadows, no gradients except the bird's own.
 * - Logical properties throughout, so the layout is written once for right-to-left.
 *
 * @package radoon
 */

/* ------------------------------------------------------------------ Tokens */

:root {
	--rdn-navy: #0f2c59;
	--rdn-ink: #0a1c3a;
	--rdn-royal: #b88a44;
	--rdn-sand: #dac0a3;
	--rdn-pearl: #faf9f8;
	--rdn-white: #fff;
	--rdn-text: #3a4a63;
	--rdn-muted: #5e6b80;
	--rdn-line: #e7e2da;
	--rdn-line-strong: #d6cfc3;
	--rdn-on-navy: #cad1db;
	--rdn-on-navy-muted: #9aa6b8;
	--rdn-line-navy: rgb(218 192 163 / 0.22);
	--rdn-success: #1c7a57;
	--rdn-error: #a63a31;

	--rdn-font-head: "IRANSansX FaNum", "Vazirmatn FD", Tahoma, sans-serif;
	--rdn-font-body: "Vazirmatn FD", Tahoma, sans-serif;
	--rdn-font-latin: Montserrat, "Vazirmatn FD", sans-serif;

	--rdn-fs-xs: 0.75rem;
	--rdn-fs-sm: 0.8125rem;
	--rdn-fs-base: 1rem;
	--rdn-fs-md: clamp(1.0625rem, 1rem + 0.25vw, 1.1875rem);
	--rdn-fs-lg: clamp(1.1875rem, 1.05rem + 0.5vw, 1.375rem);
	--rdn-fs-xl: clamp(1.5rem, 1.2rem + 1.1vw, 2.25rem);
	--rdn-fs-2xl: clamp(2rem, 1.5rem + 1.9vw, 3rem);
	--rdn-fs-display: clamp(2.125rem, 1.4rem + 2.6vw, 3.625rem);

	--rdn-container: 1200px;
	--rdn-gutter: clamp(1.25rem, 4vw, 2.5rem);
	--rdn-section: clamp(4.5rem, 3rem + 6vw, 8.5rem);
	--rdn-header-h: 76px;
	--rdn-strip-h: 40px;

	--rdn-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
	--rdn-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
	--rdn-fast: 180ms;
	--rdn-mid: 420ms;
	--rdn-slow: 900ms;
}

/* ------------------------------------------------------------------ Base */

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

html {
	/* Light only, so a browser's automatic dark theme leaves the brand colours alone. */
	color-scheme: only light;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-block-start: calc(var(--rdn-header-h) + 1rem);
}

body {
	margin: 0;
	background: var(--rdn-pearl);
	color: var(--rdn-text);
	font-family: var(--rdn-font-body);
	font-size: var(--rdn-fs-base);
	font-weight: 300;
	line-height: 2;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

img,
svg,
video,
canvas {
	display: block;
	max-inline-size: 100%;
	block-size: auto;
}

[hidden] {
	display: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 0.6em;
	color: var(--rdn-navy);
	font-family: var(--rdn-font-head);
	font-weight: 700;
	line-height: 1.5;
	text-wrap: balance;
}

p {
	margin: 0 0 1em;
	text-wrap: pretty;
}

a {
	color: var(--rdn-navy);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
	transition: color var(--rdn-fast) var(--rdn-ease);
}

a:hover {
	color: var(--rdn-ink);
}

:focus-visible {
	outline: 2px solid var(--rdn-royal);
	outline-offset: 3px;
}

/* A question or a fold opens with a click; a quick double click must not select its words. */
summary {
	-webkit-user-select: none;
	user-select: none;
	-webkit-tap-highlight-color: transparent;
}

::selection {
	background: var(--rdn-sand);
	color: var(--rdn-ink);
}

strong,
b {
	font-weight: 500;
}

hr {
	border: 0;
	border-block-start: 1px solid var(--rdn-line);
	margin: 2.5rem 0;
}

button,
input,
select,
textarea {
	font: inherit;
	color: inherit;
}

.rdn-latin,
:lang(en) {
	font-family: var(--rdn-font-latin);
}

.screen-reader-text {
	position: absolute !important;
	inline-size: 1px;
	block-size: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.rdn-skip {
	position: absolute;
	inset-block-start: -100px;
	inset-inline-start: 1rem;
	z-index: 1000;
	padding: 0.75rem 1.25rem;
	background: var(--rdn-navy);
	color: var(--rdn-white);
	font-weight: 500;
}

.rdn-skip:focus {
	inset-block-start: 1rem;
	color: var(--rdn-white);
}

.rdn-site {
	display: flex;
	flex-direction: column;
	min-block-size: 100vh;
	min-block-size: 100dvh;
}

.rdn-main {
	flex: 1;
	outline: none;
}

.rdn-container {
	inline-size: 100%;
	max-inline-size: calc(var(--rdn-container) + var(--rdn-gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--rdn-gutter);
}

.rdn-section {
	padding-block: var(--rdn-section);
}

.rdn-section--navy {
	background: var(--rdn-navy);
	color: var(--rdn-on-navy);
}

.rdn-section--ink {
	background: var(--rdn-ink);
	color: var(--rdn-on-navy);
}

.rdn-section--white {
	background: var(--rdn-white);
}

.rdn-section--navy :is(h1, h2, h3, h4),
.rdn-section--ink :is(h1, h2, h3, h4) {
	color: var(--rdn-white);
}

@media (width < 900px) {
	.rdn-only-desktop {
		display: none !important;
	}
}

@media (width >= 900px) {
	.rdn-only-mobile {
		display: none !important;
	}
}

/* ------------------------------------------------------------------ Section heads */

.rdn-eyebrow {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1.25rem;
	color: var(--rdn-navy);
	font-size: var(--rdn-fs-sm);
	font-weight: 500;
	line-height: 1.6;
}

.rdn-eyebrow::before {
	content: "";
	inline-size: 2.5rem;
	block-size: 1px;
	background: var(--rdn-royal);
	flex: none;
}

.rdn-eyebrow__index {
	color: var(--rdn-muted);
	font-family: var(--rdn-font-head);
}

.rdn-section--navy .rdn-eyebrow,
.rdn-section--ink .rdn-eyebrow {
	color: var(--rdn-sand);
}

.rdn-section--navy .rdn-eyebrow__index,
.rdn-section--ink .rdn-eyebrow__index {
	color: var(--rdn-royal);
}

.rdn-head {
	max-inline-size: 46rem;
	margin-block-end: clamp(2.5rem, 2rem + 2vw, 4rem);
}

.rdn-head--center {
	margin-inline: auto;
	text-align: center;
}

.rdn-head--center .rdn-eyebrow {
	justify-content: center;
}

.rdn-head__title {
	margin: 0;
	font-size: var(--rdn-fs-2xl);
	line-height: 1.45;
}

.rdn-head__lead {
	margin: 1.25rem 0 0;
	font-size: var(--rdn-fs-md);
	line-height: 2;
	color: var(--rdn-text);
}

.rdn-section--navy .rdn-head__lead,
.rdn-section--ink .rdn-head__lead {
	color: var(--rdn-on-navy);
}

.rdn-rule {
	display: block;
	inline-size: 3rem;
	block-size: 1px;
	margin-block: 1.5rem;
	background: var(--rdn-royal);
	border: 0;
}

/* ------------------------------------------------------------------ Buttons */

.rdn-btn {
	--btn-bg: var(--rdn-navy);
	--btn-fg: var(--rdn-white);
	--btn-border: var(--rdn-navy);
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.625rem;
	min-block-size: 3.25rem;
	padding: 0 1.75rem;
	border: 1px solid var(--btn-border);
	border-radius: 0;
	background: var(--btn-bg);
	color: var(--btn-fg);
	font-family: var(--rdn-font-body);
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition:
		background-color var(--rdn-fast) var(--rdn-ease),
		color var(--rdn-fast) var(--rdn-ease),
		border-color var(--rdn-fast) var(--rdn-ease);
}

.rdn-btn::after {
	content: "";
	position: absolute;
	inset-inline: 1.75rem;
	inset-block-end: 0.7rem;
	block-size: 1px;
	background: var(--rdn-royal);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform var(--rdn-mid) var(--rdn-ease);
}

.rdn-btn:hover {
	color: var(--btn-fg);
}

.rdn-btn:hover::after,
.rdn-btn:focus-visible::after {
	transform: scaleX(1);
}

.rdn-btn--primary:hover {
	--btn-bg: var(--rdn-ink);
	--btn-border: var(--rdn-ink);
}

.rdn-btn--secondary {
	--btn-bg: transparent;
	--btn-fg: var(--rdn-navy);
}

.rdn-btn--secondary:hover {
	--btn-bg: var(--rdn-navy);
	--btn-fg: var(--rdn-white);
}

.rdn-btn--light {
	--btn-bg: var(--rdn-sand);
	--btn-fg: var(--rdn-ink);
	--btn-border: var(--rdn-sand);
}

.rdn-btn--light::after {
	background: var(--rdn-navy);
}

.rdn-btn--light:hover {
	--btn-bg: var(--rdn-white);
	--btn-border: var(--rdn-white);
}

.rdn-btn--ghost {
	--btn-bg: transparent;
	--btn-fg: var(--rdn-white);
	--btn-border: rgb(255 255 255 / 0.4);
}

.rdn-btn--ghost:hover {
	--btn-border: var(--rdn-sand);
	--btn-fg: var(--rdn-white);
}

.rdn-btn--block {
	display: flex;
	inline-size: 100%;
}

.rdn-btn__icon {
	flex: none;
	transition: transform var(--rdn-mid) var(--rdn-ease);
}

.rdn-btn:hover .rdn-btn__icon--arrow-left,
.rdn-btn:hover .rdn-icon--arrow-left {
	transform: translateX(-4px);
}

.rdn-link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--rdn-navy);
	font-weight: 500;
	text-decoration: none;
	background: linear-gradient(var(--rdn-royal), var(--rdn-royal)) no-repeat right bottom / 0 1px;
	transition: background-size var(--rdn-mid) var(--rdn-ease);
}

.rdn-link:hover {
	background-size: 100% 1px;
}

/* ------------------------------------------------------------------ Forms */

.rdn-field {
	display: grid;
	gap: 0.5rem;
}

.rdn-field__label {
	color: var(--rdn-navy);
	font-size: var(--rdn-fs-sm);
	font-weight: 500;
	line-height: 1.6;
}

.rdn-input,
.rdn-select,
.rdn-textarea,
.rdn-search__input {
	inline-size: 100%;
	min-block-size: 3.25rem;
	padding: 0.75rem 1rem;
	border: 1px solid var(--rdn-line-strong);
	border-radius: 0;
	background: var(--rdn-white);
	color: var(--rdn-ink);
	font-weight: 300;
	line-height: 1.6;
	transition: border-color var(--rdn-fast) var(--rdn-ease), box-shadow var(--rdn-fast) var(--rdn-ease);
	appearance: none;
}

.rdn-textarea {
	min-block-size: 8rem;
	resize: vertical;
}

.rdn-input:hover,
.rdn-select:hover,
.rdn-textarea:hover {
	border-color: var(--rdn-muted);
}

.rdn-input:focus,
.rdn-select:focus,
.rdn-textarea:focus,
.rdn-search__input:focus {
	border-color: var(--rdn-navy);
	box-shadow: inset 0 -2px 0 var(--rdn-royal);
	outline: none;
}

.rdn-select {
	padding-inline-end: 2.75rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f2c59' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: left 1rem center;
	background-size: 1.125rem;
}

.rdn-input[aria-invalid="true"],
.rdn-select[aria-invalid="true"],
.rdn-textarea[aria-invalid="true"] {
	border-color: var(--rdn-error);
}

.rdn-field__error {
	color: var(--rdn-error);
	font-size: var(--rdn-fs-sm);
	line-height: 1.6;
}

.rdn-choice {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	cursor: pointer;
	line-height: 1.8;
}

.rdn-choice input {
	flex: none;
	inline-size: 1.125rem;
	block-size: 1.125rem;
	margin-block-start: 0.35rem;
	accent-color: var(--rdn-navy);
}

.rdn-search {
	position: relative;
	display: flex;
	max-inline-size: 32rem;
}

.rdn-search__input {
	padding-inline-end: 3.5rem;
}

.rdn-search__submit {
	position: absolute;
	inset-block: 0;
	inset-inline-end: 0;
	display: grid;
	place-items: center;
	inline-size: 3.25rem;
	border: 0;
	background: transparent;
	color: var(--rdn-navy);
	cursor: pointer;
}

/* ------------------------------------------------------------------ Announcement */

.rdn-announce {
	position: relative;
	z-index: 101;
	background: var(--rdn-sand);
	color: var(--rdn-ink);
	font-size: var(--rdn-fs-sm);
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
}

.rdn-announce__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	min-block-size: 2.5rem;
	padding-block: 0.375rem;
}

.rdn-announce a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--rdn-ink);
	text-decoration: none;
}

.rdn-announce a:hover {
	text-decoration: underline;
}

.rdn-announce :focus-visible {
	outline-color: var(--rdn-ink);
}

/* ------------------------------------------------------------------ Header */

/*
 * The strip and the bar are one ink family and the bar never turns light. On light pages it is
 * solid ink at the top and ink glass once the page moves; over a dark hero it starts transparent.
 * The glass sits on ::before, so the destinations panel can blur the page with its own filter.
 * ::after is the reading-progress hairline; it grows from the start edge (right, in Persian).
 */

.rdn-header {
	position: sticky;
	inset-block-start: 0;
	z-index: 100;
	color: var(--rdn-white);
	transition: transform var(--rdn-mid) var(--rdn-ease);
}

.admin-bar .rdn-header {
	inset-block-start: var(--wp-admin--admin-bar--height, 32px);
}

.rdn-header[data-hidden] {
	transform: translateY(calc(-100% - 3px));
}

.rdn-header :focus-visible,
.rdn-header__strip :focus-visible,
.rdn-drawer :focus-visible {
	outline: 2px solid var(--rdn-sand);
	outline-offset: 3px;
}

/* Page dimmer behind the open destinations panel. */
.rdn-header::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	background: rgb(6 16 34 / 0.5);
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--rdn-mid) var(--rdn-ease), visibility 0s linear var(--rdn-mid);
}

.rdn-header[data-panel-open]::after {
	opacity: 1;
	visibility: visible;
	transition: opacity var(--rdn-mid) var(--rdn-ease), visibility 0s;
}

.rdn-header__strip {
	position: relative;
	z-index: 101;
	background: var(--rdn-ink);
	border-block-end: 1px solid rgb(218 192 163 / 0.1);
	color: var(--rdn-on-navy-muted);
	font-size: var(--rdn-fs-sm);
	line-height: 1.5;
}

.rdn-header__strip-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	min-block-size: var(--rdn-strip-h);
}

.rdn-header__licence {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	margin: 0;
	min-inline-size: 0;
}

.rdn-header__licence .rdn-icon {
	flex: none;
	color: var(--rdn-royal);
}

.rdn-header__licence span {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.rdn-header__licence a,
.rdn-header__phone {
	flex: none;
	color: var(--rdn-sand);
	text-decoration: none;
	transition: color var(--rdn-fast) var(--rdn-ease);
}

.rdn-header__licence a {
	padding-inline-start: 0.75rem;
	border-inline-start: 1px solid rgb(218 192 163 / 0.22);
}

.rdn-header__licence a:hover,
.rdn-header__phone:hover {
	color: var(--rdn-white);
}

.rdn-header__phone {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: var(--rdn-fs-sm);
	letter-spacing: 0.02em;
}

.rdn-header__phone .rdn-icon {
	color: var(--rdn-royal);
}

.rdn-header__bar {
	position: relative;
	isolation: isolate;
	border-block-end: 1px solid rgb(218 192 163 / 0.16);
	transition: border-color var(--rdn-mid) var(--rdn-ease);
}

/* The surface also covers the bar's bottom border (with a hairline of its own), so no row of the
   page shows through between the glass bar and the destinations panel. */
.rdn-header__bar::before {
	content: "";
	position: absolute;
	inset: 0;
	inset-block-end: -1px;
	z-index: -1;
	background: var(--rdn-ink);
	border-block-end: 1px solid rgb(218 192 163 / 0.16);
	transition: opacity var(--rdn-mid) var(--rdn-ease), background-color var(--rdn-mid) var(--rdn-ease);
}

.rdn-header:is([data-scrolled], [data-panel-open]) .rdn-header__bar::before {
	background: rgb(10 28 58 / 0.9);
	-webkit-backdrop-filter: blur(18px) saturate(1.6);
	backdrop-filter: blur(18px) saturate(1.6);
}

.rdn-header__bar::after {
	content: "";
	position: absolute;
	inset-inline: 0;
	inset-block-end: -1px;
	block-size: 2px;
	background: var(--rdn-royal);
	transform: scaleX(var(--rdn-progress, 0));
	transform-origin: right;
	opacity: 0;
	transition: opacity var(--rdn-mid) var(--rdn-ease);
	pointer-events: none;
}

.rdn-header[data-scrolled] .rdn-header__bar::after {
	opacity: 1;
}

/* Over a dark hero the bar is transparent until the page moves or the panel opens. */
.rdn-has-dark-hero .rdn-header:not([data-scrolled], [data-panel-open]) .rdn-header__bar {
	border-color: rgb(218 192 163 / 0.12);
}

.rdn-has-dark-hero .rdn-header:not([data-scrolled], [data-panel-open]) .rdn-header__bar::before {
	opacity: 0;
}

.rdn-has-dark-hero .rdn-main {
	margin-block-start: calc(-1 * var(--rdn-header-h) - 1px);
}

.rdn-header__inner {
	display: flex;
	align-items: center;
	gap: 2rem;
	min-block-size: var(--rdn-header-h);
}

/* The logo stays white on hover (the global link hover would turn it ink on the ink bar); the
   bird alone lifts a little, as if about to take off, and settles back. */
.rdn-header__brand,
.rdn-header__brand:hover,
.rdn-header__brand:focus-visible {
	display: block;
	flex: none;
	color: var(--rdn-white);
}

.rdn-header__brand .rdn-logo {
	inline-size: 6.25rem;
	overflow: visible;
}

/* The registered sign stands just outside the logo's box, so the box may not clip it. */
.rdn-logo--registered {
	overflow: visible;
}

.rdn-logo__reg {
	opacity: 0.85;
}

.rdn-header__brand .rdn-logo__bird {
	transform-box: fill-box;
	transform-origin: 50% 50%;
	transition: transform var(--rdn-mid) var(--rdn-ease);
}

.rdn-header__brand:is(:hover, :focus-visible) .rdn-logo__bird {
	transform: translate(-6%, -9%);
}

.rdn-motion-off .rdn-header__brand .rdn-logo__bird {
	transition: none;
}

@media (prefers-reduced-motion: reduce) {
	.rdn-header__brand .rdn-logo__bird {
		transition: none;
	}
}

@media (width < 600px) {
	.rdn-header__brand .rdn-logo {
		inline-size: 5.25rem;
	}
}

.rdn-header__actions {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-inline-start: auto;
}

.rdn-header__cta {
	min-block-size: 2.75rem;
	padding-inline: 1.25rem 1.125rem;
	gap: 0.5rem;
}

.rdn-header__cta::after,
.rdn-drawer__cta::after {
	display: none;
}

.rdn-header__cta .rdn-btn__icon,
.rdn-drawer__cta .rdn-btn__icon {
	inline-size: 1.125rem;
	block-size: 1.125rem;
}

.rdn-header__icon-link,
.rdn-header__menu-toggle {
	display: grid;
	place-items: center;
	inline-size: 2.75rem;
	block-size: 2.75rem;
	padding: 0;
	border: 1px solid rgb(218 192 163 / 0.3);
	background: transparent;
	color: var(--rdn-white);
	cursor: pointer;
	transition: border-color var(--rdn-fast) var(--rdn-ease), background-color var(--rdn-fast) var(--rdn-ease);
}

.rdn-header__icon-link:hover,
.rdn-header__menu-toggle:hover {
	border-color: var(--rdn-sand);
	background: rgb(255 255 255 / 0.05);
	color: var(--rdn-white);
}

/*
 * Line icons drawn from the icon sprite: the stroke settings their presentation attributes used
 * to carry, at zero specificity so any rule that styles an icon still wins.
 */
:where(.rdn-icon--line) {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Flag symbols shared by the bar and the drawer: kept out of layout, never display:none. */
.rdn-flag-sprite {
	position: absolute;
	inline-size: 0;
	block-size: 0;
	overflow: hidden;
}

/* ------------------------------------------------------------------ Navigation */

.rdn-nav {
	display: none;
}

.rdn-nav__list {
	display: flex;
	align-items: center;
	gap: 0.125rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rdn-nav__list > li {
	position: relative;
	display: flex;
	align-items: center;
}

/* The destinations panel spans the whole bar, so its item must not become its anchor. */
.rdn-nav__list > li.rdn-destinations {
	position: static;
}

.rdn-nav__list > li > a {
	position: relative;
	display: block;
	padding: 0.5rem 0.875rem;
	color: var(--rdn-on-navy);
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.6;
	text-decoration: none;
	transition: color var(--rdn-fast) var(--rdn-ease);
}

.rdn-nav__list > li > a:hover,
.rdn-nav__list > li > a:focus-visible,
.rdn-nav__list > li.is-open > a,
.rdn-nav__list > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent, .current_page_item, .current_page_parent) > a {
	color: var(--rdn-white);
}

/* Hover and focus: a sand hairline that draws in from the start edge. */
.rdn-nav__list > li > a::after {
	content: "";
	position: absolute;
	inset-inline: 0.875rem;
	inset-block-end: 0.25rem;
	block-size: 1px;
	background: var(--rdn-sand);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform var(--rdn-mid) var(--rdn-ease);
}

.rdn-nav__list > li > a:hover::after,
.rdn-nav__list > li > a:focus-visible::after,
.rdn-nav__list > li.is-open > a::after {
	transform: scaleX(1);
}

/* Current page or section: a short royal hairline under the start of the label. */
.rdn-nav__list > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent, .current_page_item, .current_page_parent) > a::before {
	content: "";
	position: absolute;
	inset-inline-start: 0.875rem;
	inset-block-end: 0.25rem;
	inline-size: 1.125rem;
	block-size: 1px;
	background: var(--rdn-royal);
}

.rdn-nav__toggle {
	display: grid;
	place-items: center;
	inline-size: 1.75rem;
	block-size: 1.75rem;
	margin-inline-start: -0.5rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--rdn-on-navy);
	cursor: pointer;
	transition: color var(--rdn-fast) var(--rdn-ease);
}

.rdn-nav__toggle:hover,
.is-open > .rdn-nav__toggle {
	color: var(--rdn-sand);
}

.rdn-nav__toggle .rdn-icon {
	transition: transform var(--rdn-mid) var(--rdn-ease);
}

.is-open > .rdn-nav__toggle .rdn-icon {
	transform: rotate(180deg);
}

/* Plain submenus of an assigned menu. */
.rdn-nav .sub-menu {
	position: absolute;
	inset-block-start: calc(100% + 0.75rem);
	inset-inline-start: 0;
	z-index: 2;
	min-inline-size: 14rem;
	margin: 0;
	padding: 0.5rem 0;
	list-style: none;
	background: var(--rdn-ink);
	border: 1px solid rgb(218 192 163 / 0.16);
	border-block-start-color: var(--rdn-royal);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity var(--rdn-fast) var(--rdn-ease), transform var(--rdn-fast) var(--rdn-ease), visibility 0s linear var(--rdn-fast);
}

.rdn-nav .sub-menu::before {
	content: "";
	position: absolute;
	inset-inline: 0;
	inset-block-end: 100%;
	block-size: 0.75rem;
}

.rdn-nav li:hover > .sub-menu,
.rdn-nav li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity var(--rdn-fast) var(--rdn-ease), transform var(--rdn-fast) var(--rdn-ease), visibility 0s;
}

.rdn-nav .sub-menu a {
	display: block;
	padding: 0.5rem 1.25rem;
	color: var(--rdn-on-navy);
	font-size: 0.9375rem;
	text-decoration: none;
}

.rdn-nav .sub-menu a:hover,
.rdn-nav .sub-menu a:focus-visible,
.rdn-nav .sub-menu [aria-current] {
	background: rgb(255 255 255 / 0.05);
	color: var(--rdn-white);
}

@media (width >= 1100px) {
	.rdn-nav {
		display: block;
	}

	.rdn-header__menu-toggle {
		display: none;
	}
}

@media (width < 1100px) {
	.rdn-header__strip {
		display: none;
	}

	.rdn-header__cta {
		display: none;
	}
}

@media (width >= 900px) and (width < 1100px) {
	.rdn-header__cta {
		display: inline-flex;
	}
}

/* Destinations panel: one ink surface with the bar. */

.rdn-mega {
	position: absolute;
	inset-inline: 0;
	inset-block-start: calc(100% + 1px);
	max-block-size: calc(100vh - var(--rdn-header-h) - 1rem);
	max-block-size: calc(100dvh - var(--rdn-header-h) - 1rem);
	overflow-y: auto;
	overscroll-behavior: contain;
	color: var(--rdn-on-navy);
	background: rgb(10 28 58 / 0.96);
	-webkit-backdrop-filter: blur(18px) saturate(1.4);
	backdrop-filter: blur(18px) saturate(1.4);
	border-block-end: 1px solid rgb(218 192 163 / 0.16);
	opacity: 0;
	transform: translateY(-6px);
	transition: opacity var(--rdn-mid) var(--rdn-ease), transform var(--rdn-mid) var(--rdn-ease);
}

.rdn-mega[data-open] {
	opacity: 1;
	transform: none;
}

.rdn-mega__inner {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 8fr);
	grid-template-areas:
		"featured list"
		"foot list";
	grid-template-rows: auto 1fr;
	gap: 0 clamp(2rem, 3.5vw, 3.5rem);
	padding-block: 2.25rem 2.5rem;
}

.rdn-mega__featured {
	grid-area: featured;
}

.rdn-mega__list {
	grid-area: list;
	padding-inline-start: clamp(2rem, 3.5vw, 3.5rem);
	border-inline-start: 1px solid rgb(218 192 163 / 0.12);
}

.rdn-mega__foot {
	grid-area: foot;
	display: grid;
	align-content: end;
	justify-items: start;
	gap: 1rem;
	padding-block-start: 1.75rem;
}

.rdn-mega__label {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1rem;
	color: var(--rdn-sand);
	font-size: var(--rdn-fs-sm);
	font-weight: 500;
	line-height: 1.6;
}

.rdn-mega__label::before {
	content: "";
	flex: none;
	inline-size: 1.5rem;
	block-size: 1px;
	background: var(--rdn-royal);
}

.rdn-mega ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rdn-mega__featured ul {
	display: grid;
	gap: 0.75rem;
}

.rdn-mega__feature {
	display: grid;
	grid-template-columns: 4rem minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.125rem 1.25rem;
	padding: 1.25rem 1.5rem;
	border: 1px solid rgb(218 192 163 / 0.18);
	background: rgb(255 255 255 / 0.03);
	color: var(--rdn-white);
	text-decoration: none;
	transition: border-color var(--rdn-mid) var(--rdn-ease), background-color var(--rdn-mid) var(--rdn-ease);
}

.rdn-mega__feature:hover,
.rdn-mega__feature:focus-visible,
.rdn-mega__feature[aria-current] {
	border-color: rgb(218 192 163 / 0.55);
	background: rgb(255 255 255 / 0.06);
	color: var(--rdn-white);
}

.rdn-mega__flag-box {
	grid-row: 1 / span 2;
	display: flex;
	align-items: center;
}

.rdn-mega__flag {
	inline-size: auto;
	block-size: 2rem;
	max-inline-size: 4rem;
	outline: 1px solid rgb(255 255 255 / 0.14);
}

.rdn-mega__feature-title {
	font-family: var(--rdn-font-head);
	font-size: var(--rdn-fs-md);
	font-weight: 700;
	line-height: 1.5;
}

.rdn-mega__feature-note {
	grid-column: 2;
	color: var(--rdn-on-navy-muted);
	font-size: var(--rdn-fs-sm);
	line-height: 1.8;
}

.rdn-mega__arrow {
	grid-column: 3;
	grid-row: 1 / span 2;
	color: var(--rdn-sand);
	transition: transform var(--rdn-mid) var(--rdn-ease);
}

.rdn-mega__feature:hover .rdn-mega__arrow,
.rdn-mega__feature:focus-visible .rdn-mega__arrow {
	transform: translateX(-5px);
}

.rdn-mega__list ul {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-template-rows: repeat(var(--rdn-rows, 7), auto);
	grid-auto-flow: column;
	column-gap: 1.5rem;
}

.rdn-mega__list a {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	min-block-size: 2.75rem;
	border-block-end: 1px solid rgb(218 192 163 / 0.08);
	color: var(--rdn-on-navy);
	font-size: 0.9375rem;
	line-height: 1.5;
	text-decoration: none;
	transition: color var(--rdn-fast) var(--rdn-ease), border-color var(--rdn-mid) var(--rdn-ease);
}

.rdn-mega__list a span {
	background: linear-gradient(var(--rdn-sand), var(--rdn-sand)) no-repeat right bottom / 0 1px;
	transition: background-size var(--rdn-mid) var(--rdn-ease);
}

.rdn-mega__list a:hover,
.rdn-mega__list a:focus-visible,
.rdn-mega__list a[aria-current] {
	color: var(--rdn-white);
}

.rdn-mega__list a:hover span,
.rdn-mega__list a:focus-visible span {
	background-size: 100% 1px;
}

.rdn-mega__list a[aria-current] {
	border-block-end-color: var(--rdn-royal);
}

.rdn-mega__mini-flag {
	flex: none;
	inline-size: 1.5rem;
	block-size: auto;
	outline: 1px solid rgb(255 255 255 / 0.14);
}

.rdn-mega__note {
	max-inline-size: 22rem;
	margin: 0;
	color: var(--rdn-on-navy-muted);
	font-size: var(--rdn-fs-sm);
	line-height: 1.9;
}

.rdn-mega__all {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	min-block-size: 2.75rem;
	padding-inline: 1.25rem 1rem;
	border: 1px solid rgb(218 192 163 / 0.4);
	color: var(--rdn-sand);
	font-size: 0.9375rem;
	font-weight: 500;
	text-decoration: none;
	transition: border-color var(--rdn-fast) var(--rdn-ease), color var(--rdn-fast) var(--rdn-ease);
}

.rdn-mega__all:hover,
.rdn-mega__all:focus-visible {
	border-color: var(--rdn-sand);
	color: var(--rdn-white);
}

.rdn-mega__all .rdn-icon {
	transition: transform var(--rdn-mid) var(--rdn-ease);
}

.rdn-mega__all:hover .rdn-icon,
.rdn-mega__all:focus-visible .rdn-icon {
	transform: translateX(-4px);
}

/* Mobile drawer: a full-height ink panel beside the menu button. */

.rdn-drawer {
	position: fixed;
	inset-block: 0;
	inset-inline: auto 0;
	inline-size: min(28rem, 100%);
	max-inline-size: 100%;
	block-size: 100%;
	block-size: 100dvh;
	max-block-size: 100%;
	max-block-size: 100dvh;
	margin: 0;
	padding: 0;
	border: 0;
	border-inline-start: 1px solid rgb(218 192 163 / 0.16);
	background: var(--rdn-ink);
	color: var(--rdn-on-navy);
	overflow: hidden;
}

.rdn-drawer[open] {
	display: flex;
	flex-direction: column;
	animation: rdn-drawer-in var(--rdn-mid) var(--rdn-ease);
}

.rdn-drawer[data-closing] {
	animation: rdn-drawer-out 260ms var(--rdn-ease-in-out) forwards;
}

.rdn-drawer::backdrop {
	background: rgb(6 16 34 / 0.6);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}

.rdn-drawer[open]::backdrop {
	animation: rdn-fade-in var(--rdn-mid) var(--rdn-ease);
}

.rdn-drawer[data-closing]::backdrop {
	animation: rdn-fade-out 260ms var(--rdn-ease-in-out) forwards;
}

/* The drawer is pinned to the end edge (left, in Persian), so it slides in from there. */
@keyframes rdn-drawer-in {
	from {
		transform: translateX(-100%);
	}
}

@keyframes rdn-drawer-out {
	to {
		transform: translateX(-100%);
	}
}

@keyframes rdn-fade-in {
	from {
		opacity: 0;
	}
}

@keyframes rdn-fade-out {
	to {
		opacity: 0;
	}
}

.rdn-drawer__head {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-block-size: var(--rdn-header-h);
	padding-inline: var(--rdn-gutter);
	border-block-end: 1px solid rgb(218 192 163 / 0.14);
}

.rdn-drawer__brand {
	display: grid;
	gap: 0.375rem;
	justify-items: start;
}

.rdn-drawer__head .rdn-logo {
	inline-size: 7rem;
	color: var(--rdn-white);
}

.rdn-drawer__meaning {
	margin: 0;
	color: var(--rdn-sand);
	font-size: var(--rdn-fs-xs);
	line-height: 1.6;
}

.rdn-drawer__close {
	display: grid;
	flex: none;
	place-items: center;
	inline-size: 2.75rem;
	block-size: 2.75rem;
	padding: 0;
	border: 1px solid rgb(218 192 163 / 0.3);
	background: transparent;
	color: var(--rdn-white);
	cursor: pointer;
	transition: border-color var(--rdn-fast) var(--rdn-ease);
}

.rdn-drawer__close:hover {
	border-color: var(--rdn-sand);
}

.rdn-drawer__nav {
	flex: 1;
	min-block-size: 0;
	padding: 0.5rem var(--rdn-gutter) 1.5rem;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.rdn-drawer__nav .rdn-nav__list {
	flex-direction: column;
	align-items: stretch;
	gap: 0;
}

.rdn-drawer__nav .rdn-nav__list > li {
	flex-wrap: wrap;
	border-block-end: 1px solid rgb(218 192 163 / 0.12);
}

.rdn-drawer__nav .rdn-nav__list > li > a {
	position: relative;
	display: flex;
	flex: 1;
	align-items: center;
	min-block-size: 3.75rem;
	padding: 0.5rem 0;
	color: var(--rdn-white);
	font-family: var(--rdn-font-head);
	font-size: var(--rdn-fs-lg);
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
}

.rdn-drawer__nav .rdn-nav__list > li > a::after {
	display: none;
}

/* Current page or section: a royal segment on the row's hairline. */
.rdn-drawer__nav .rdn-nav__list > li:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent, .current_page_item, .current_page_parent) > a::before {
	inset-inline-start: 0;
	inset-block-end: -1px;
	inline-size: 2rem;
}

.rdn-drawer__nav .rdn-nav__toggle {
	inline-size: 3rem;
	block-size: 3rem;
	margin: 0;
	border: 1px solid rgb(218 192 163 / 0.22);
	color: var(--rdn-sand);
}

.rdn-drawer__nav .is-open > .rdn-nav__toggle {
	border-color: var(--rdn-sand);
}

.rdn-drawer__nav .sub-menu {
	flex-basis: 100%;
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
}

.rdn-drawer__nav .sub-menu a {
	display: flex;
	align-items: center;
	min-block-size: 2.75rem;
	color: var(--rdn-on-navy);
	text-decoration: none;
}

.rdn-drawer__sub {
	flex-basis: 100%;
	padding-block: 0.25rem 1.5rem;
}

.rdn-drawer__sub[data-open] {
	animation: rdn-fade-in var(--rdn-mid) var(--rdn-ease);
}

.rdn-drawer__sub ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rdn-drawer__sub-label {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	margin: 0.75rem 0 0.5rem;
	color: var(--rdn-sand);
	font-size: var(--rdn-fs-xs);
	font-weight: 500;
	line-height: 1.6;
}

.rdn-drawer__sub-label::before {
	content: "";
	flex: none;
	inline-size: 1.25rem;
	block-size: 1px;
	background: var(--rdn-royal);
}

.rdn-drawer__sub .rdn-drawer__featured {
	display: grid;
	gap: 0.5rem;
	margin-block-end: 1rem;
}

.rdn-drawer__featured a {
	display: flex;
	align-items: center;
	gap: 0.875rem;
	min-block-size: 3.5rem;
	padding-inline: 1rem;
	border: 1px solid rgb(218 192 163 / 0.18);
	background: rgb(255 255 255 / 0.03);
	color: var(--rdn-white);
	font-weight: 500;
	text-decoration: none;
}

.rdn-drawer__featured a[aria-current] {
	border-color: var(--rdn-royal);
}

.rdn-drawer__featured span {
	flex: 1;
}

.rdn-drawer__featured .rdn-icon {
	color: var(--rdn-sand);
}

.rdn-drawer__flag {
	flex: none;
	inline-size: auto;
	block-size: 1.375rem;
	outline: 1px solid rgb(255 255 255 / 0.14);
}

.rdn-drawer__countries {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: repeat(var(--rdn-rows, 13), auto);
	grid-auto-flow: column;
	column-gap: 1rem;
}

.rdn-drawer__countries a {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	min-block-size: 2.75rem;
	border-block-end: 1px solid rgb(218 192 163 / 0.08);
	color: var(--rdn-on-navy);
	font-size: 0.9375rem;
	line-height: 1.5;
	text-decoration: none;
}

.rdn-drawer__countries a[aria-current] {
	border-block-end-color: var(--rdn-royal);
	color: var(--rdn-white);
}

.rdn-drawer__mini-flag {
	flex: none;
	inline-size: 1.375rem;
	block-size: auto;
	outline: 1px solid rgb(255 255 255 / 0.14);
}

.rdn-drawer__all {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-block-size: 2.75rem;
	margin-block-start: 0.75rem;
	color: var(--rdn-sand);
	font-weight: 500;
	text-decoration: none;
}

.rdn-drawer__foot {
	display: grid;
	flex: none;
	gap: 0.875rem;
	padding: 1.25rem var(--rdn-gutter) calc(1.25rem + env(safe-area-inset-bottom));
	border-block-start: 1px solid rgb(218 192 163 / 0.14);
}

.rdn-drawer__cta {
	min-block-size: 3.25rem;
}

.rdn-drawer__licence {
	display: flex;
	gap: 0.5rem;
	margin: 0;
	color: var(--rdn-on-navy-muted);
	font-size: var(--rdn-fs-xs);
	line-height: 1.8;
}

.rdn-drawer__licence .rdn-icon {
	flex: none;
	margin-block-start: 0.1rem;
	color: var(--rdn-royal);
}

.rdn-drawer__licence a {
	margin-inline-start: 0.25rem;
	color: var(--rdn-sand);
	text-decoration: none;
	white-space: nowrap;
}

/* Header, panel and drawer motion stops for reduced motion and for the site's pause switch. */
@media (prefers-reduced-motion: reduce) {
	.rdn-header,
	.rdn-header::after,
	.rdn-header *,
	.rdn-header *::before,
	.rdn-header *::after,
	.rdn-drawer,
	.rdn-drawer * {
		transition-duration: 0s !important;
		animation: none !important;
	}

	.rdn-drawer::backdrop {
		animation: none !important;
	}

	.rdn-mega {
		transform: none;
	}

	.rdn-header .rdn-icon--arrow-left,
	.rdn-drawer .rdn-icon--arrow-left {
		transform: none !important;
	}
}

html.rdn-motion-off .rdn-header,
html.rdn-motion-off .rdn-header::after,
html.rdn-motion-off .rdn-header *,
html.rdn-motion-off .rdn-header *::before,
html.rdn-motion-off .rdn-header *::after,
html.rdn-motion-off .rdn-drawer,
html.rdn-motion-off .rdn-drawer * {
	transition-duration: 0s !important;
	animation: none !important;
}

html.rdn-motion-off .rdn-drawer::backdrop {
	animation: none !important;
}

html.rdn-motion-off .rdn-mega {
	transform: none;
}

html.rdn-motion-off .rdn-header .rdn-icon--arrow-left,
html.rdn-motion-off .rdn-drawer .rdn-icon--arrow-left {
	transform: none !important;
}

/* ------------------------------------------------------------------ Page head, crumbs */

/* Every inner view opens on navy. The header sits on it, transparent, so the head starts under
   the bar and clears it with its own top padding. The content is centred in a band of about half
   the screen on desktop and only as tall as it needs on phones. */
.rdn-page-head {
	position: relative;
	display: grid;
	align-content: center;
	min-block-size: clamp(25rem, 50vh, 35rem);
	padding-block: calc(var(--rdn-header-h) + clamp(2rem, 1rem + 3vw, 3.5rem)) clamp(2.75rem, 2rem + 3vw, 4.5rem);
	overflow: hidden;
	isolation: isolate;
	background: var(--rdn-navy);
	color: var(--rdn-on-navy);
}

/* A section follows directly: the head only introduces it. */
.rdn-page-head--compact {
	min-block-size: clamp(21rem, 40vh, 28rem);
	padding-block-end: clamp(2.25rem, 1.75rem + 2vw, 3.5rem);
}

.rdn-page-head__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2.5rem;
	align-items: center;
}

.rdn-page-head__main {
	max-inline-size: 46rem;
	min-inline-size: 0;
}

.rdn-page-head .rdn-eyebrow {
	margin-block-end: 1.25rem;
	color: var(--rdn-sand);
}

.rdn-page-head__rule {
	margin-block: 0 1.5rem;
}

.rdn-page-head__title {
	max-inline-size: 40rem;
	margin: 0;
	color: var(--rdn-white);
	font-size: clamp(2rem, 1.4rem + 2.1vw, 3.25rem);
	line-height: 1.42;
}

.rdn-page-head__lead {
	max-inline-size: 40rem;
	margin: 1.25rem 0 0;
	color: var(--rdn-on-navy);
	font-size: var(--rdn-fs-md);
	line-height: 2.05;
}

.rdn-page-head__lead a {
	color: var(--rdn-white);
	text-decoration-color: var(--rdn-sand);
}

.rdn-page-head__lead a:hover {
	color: var(--rdn-sand);
}

.rdn-page-head__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1.25rem;
	margin: 1.75rem 0 0;
	padding: 0;
	list-style: none;
	color: var(--rdn-on-navy-muted);
	font-size: var(--rdn-fs-sm);
	line-height: 1.6;
}

.rdn-page-head__meta li {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.rdn-page-head__meta li + li {
	padding-inline-start: 1.25rem;
	border-inline-start: 1px solid var(--rdn-line-navy);
}

.rdn-page-head__meta .rdn-icon {
	flex: none;
	color: var(--rdn-sand);
}

.rdn-page-head__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 2rem 0 0;
	padding: 0;
	list-style: none;
}

.rdn-topic {
	display: inline-flex;
	align-items: center;
	min-block-size: 2.375rem;
	padding: 0.25rem 1rem;
	border: 1px solid rgb(255 255 255 / 0.2);
	color: var(--rdn-white);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.5;
	text-decoration: none;
	transition: border-color var(--rdn-fast) var(--rdn-ease), background-color var(--rdn-fast) var(--rdn-ease), color var(--rdn-fast) var(--rdn-ease);
}

.rdn-topic:hover {
	border-color: var(--rdn-sand);
	color: var(--rdn-white);
}

.rdn-topic[aria-current="page"] {
	border-color: var(--rdn-sand);
	background: var(--rdn-sand);
	color: var(--rdn-ink);
}

.rdn-page-head__after {
	margin-block-start: 2rem;
}

.rdn-page-head__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-block-start: 2.25rem;
}

/* Far column: an aside of a dedicated template, set off by a hairline, or the way mark. */
.rdn-page-head__aside {
	min-inline-size: 0;
}

.rdn-page-head__decor {
	display: none;
}

@media (width >= 960px) {
	.rdn-page-head--aside .rdn-page-head__inner,
	.rdn-page-head--decor .rdn-page-head__inner {
		grid-template-columns: minmax(0, 1fr) minmax(15rem, 26rem);
		gap: clamp(3rem, 6vw, 6rem);
	}

	.rdn-page-head__aside {
		padding-inline-start: clamp(1.75rem, 3vw, 2.75rem);
		border-inline-start: 1px solid var(--rdn-line-navy);
	}

	.rdn-page-head__decor {
		display: block;
	}
}

@media (width < 960px) {
	.rdn-page-head,
	.rdn-page-head--compact {
		min-block-size: 0;
		padding-block: calc(var(--rdn-header-h) + 1.75rem) 2.75rem;
	}

	.rdn-page-head__aside {
		padding-block-start: 2rem;
		border-block-start: 1px solid var(--rdn-line-navy);
	}

	.rdn-page-head__way--small {
		display: none;
	}
}

/* Key figures in the far column (rdn_get_head_facts()): quiet label, large white value. */
.rdn-head-facts__title {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1.25rem;
	color: var(--rdn-sand);
	font-size: var(--rdn-fs-sm);
	font-weight: 500;
	line-height: 1.6;
}

.rdn-head-facts__title::before {
	content: "";
	flex: none;
	inline-size: 1.5rem;
	block-size: 1px;
	background: var(--rdn-royal);
}

.rdn-head-facts__list {
	display: grid;
	margin: 0;
}

.rdn-head-facts__item {
	padding-block: 1.125rem;
	border-block-end: 1px solid var(--rdn-line-navy);
}

.rdn-head-facts__item:first-child {
	padding-block-start: 0;
}

.rdn-head-facts__item:last-child {
	padding-block-end: 0;
	border-block-end: 0;
}

.rdn-head-facts__label {
	margin: 0 0 0.25rem;
	color: var(--rdn-on-navy-muted);
	font-size: var(--rdn-fs-sm);
	line-height: 1.6;
}

.rdn-head-facts__value {
	margin: 0;
	color: var(--rdn-white);
	font-family: var(--rdn-font-head);
	font-size: var(--rdn-fs-lg);
	font-weight: 700;
	line-height: 1.5;
}

.rdn-head-facts__value a {
	color: inherit;
	text-decoration: underline;
	text-decoration-color: var(--rdn-line-navy);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.35em;
}

.rdn-head-facts__value a:hover {
	text-decoration-color: var(--rdn-sand);
}

.rdn-head-facts__note {
	margin: 0.25rem 0 0;
	color: var(--rdn-on-navy-muted);
	font-size: var(--rdn-fs-sm);
	line-height: 1.8;
}

@media (width < 960px) {
	.rdn-head-facts__list {
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.5rem), 1fr));
		gap: 1.25rem 2rem;
	}

	.rdn-head-facts__item,
	.rdn-head-facts__item:first-child,
	.rdn-head-facts__item:last-child {
		padding: 0;
		border: 0;
	}
}

/* The way mark: a fine dotted route that ends a little behind the bird. The drawing is an SVG in
   physical coordinates, so the bird is placed with physical offsets that match it. */
.rdn-way {
	position: relative;
	inline-size: 100%;
	aspect-ratio: 400 / 260;
	pointer-events: none;
}

.rdn-way__route {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	max-inline-size: none;
	overflow: visible;
}

.rdn-way__bird {
	position: absolute;
	top: 11%;
	left: 20.5%;
	inline-size: 13.5%;
}

.rdn-way__bird .rdn-bird {
	inline-size: 100%;
}

.rdn-page-head__way--small {
	inline-size: 9rem;
	margin-block-end: 1.5rem;
}

.rdn-way__reveal {
	stroke-dasharray: 1;
	stroke-dashoffset: 0;
	animation: rdn-way-draw 1.5s var(--rdn-ease-in-out) 0.25s both;
}

.rdn-way__origin,
.rdn-way__dot {
	animation: rdn-way-fade 0.6s var(--rdn-ease) both;
}

.rdn-way__bird {
	animation: rdn-way-arrive 1.1s var(--rdn-ease) 1.3s both;
}

@keyframes rdn-way-draw {
	from {
		stroke-dashoffset: 1;
	}
}

@keyframes rdn-way-fade {
	from {
		opacity: 0;
	}
}

/* The bird faces left and glides the last few pixels forward; it never turns. */
@keyframes rdn-way-arrive {
	from {
		opacity: 0;
		transform: translateX(16px);
	}
}

html.rdn-motion-off .rdn-way *,
html.rdn-motion-off .rdn-way {
	animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.rdn-way * {
		animation: none !important;
	}
}

/* Breadcrumbs sit on the navy head: muted links, sand hairline separators. */
.rdn-crumbs ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.75rem;
	margin: 0 0 clamp(1.75rem, 1.25rem + 1.5vw, 2.5rem);
	padding: 0;
	list-style: none;
	color: var(--rdn-on-navy-muted);
	font-size: var(--rdn-fs-sm);
	line-height: 1.6;
}

.rdn-crumbs li {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	min-inline-size: 0;
}

.rdn-crumbs li:not(:last-child)::after {
	content: "";
	flex: none;
	inline-size: 1px;
	block-size: 0.75rem;
	background: currentColor;
	color: var(--rdn-sand);
	opacity: 0.7;
	transform: skewX(-20deg);
}

.rdn-crumbs a {
	color: var(--rdn-on-navy-muted);
	text-decoration: none;
	transition: color var(--rdn-fast) var(--rdn-ease);
}

.rdn-crumbs a:hover {
	color: var(--rdn-white);
}

.rdn-crumbs [aria-current="page"] {
	max-inline-size: 30ch;
	overflow: hidden;
	color: var(--rdn-on-navy);
	white-space: nowrap;
	text-overflow: ellipsis;
}

.rdn-crumbs [aria-current="page"] > span {
	overflow: hidden;
	text-overflow: ellipsis;
}

/* The search form inside a navy head. */
.rdn-search--navy {
	max-inline-size: 34rem;
}

.rdn-search--navy .rdn-search__input {
	border-color: rgb(255 255 255 / 0.24);
	background: rgb(255 255 255 / 0.06);
	color: var(--rdn-white);
}

.rdn-search--navy .rdn-search__input::placeholder {
	color: var(--rdn-on-navy-muted);
	opacity: 1;
}

.rdn-search--navy .rdn-search__input:hover {
	border-color: rgb(255 255 255 / 0.4);
}

.rdn-search--navy .rdn-search__input:focus {
	border-color: var(--rdn-sand);
	background: rgb(255 255 255 / 0.1);
}

.rdn-search--navy .rdn-search__submit {
	color: var(--rdn-sand);
}

/* ------------------------------------------------------------------ Cards and listings */

.rdn-listing {
	padding-block: 3rem var(--rdn-section);
}

.rdn-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr));
	gap: 2.5rem 2rem;
}

.rdn-card__link {
	display: flex;
	flex-direction: column;
	block-size: 100%;
	color: inherit;
	text-decoration: none;
}

.rdn-card__media {
	position: relative;
	margin: 0 0 1.25rem;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: var(--rdn-white);
	border: 1px solid var(--rdn-line);
}

.rdn-card__media img {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	transition: transform var(--rdn-slow) var(--rdn-ease);
}

.rdn-card__link:hover .rdn-card__media img {
	transform: scale(1.035);
}

.rdn-card__placeholder {
	display: grid;
	place-items: center;
	block-size: 100%;
}

.rdn-card__placeholder .rdn-bird {
	inline-size: 3rem;
	opacity: 0.5;
}

.rdn-card__eyebrow {
	margin: 0 0 0.5rem;
	color: var(--rdn-muted);
	font-size: var(--rdn-fs-sm);
	font-weight: 500;
	line-height: 1.6;
}

.rdn-card__title {
	margin: 0 0 0.75rem;
	font-size: var(--rdn-fs-lg);
	line-height: 1.6;
}

.rdn-card__excerpt {
	flex: 1;
	margin: 0 0 1rem;
	color: var(--rdn-text);
	font-size: 0.9375rem;
	line-height: 1.9;
}

.rdn-card__more {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	color: var(--rdn-navy);
	font-size: var(--rdn-fs-sm);
	font-weight: 500;
}

.rdn-pagination ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem;
	margin: 4rem 0 0;
	padding: 0;
	list-style: none;
}

.rdn-pagination :is(a, span) {
	display: grid;
	place-items: center;
	min-inline-size: 2.75rem;
	block-size: 2.75rem;
	padding-inline: 0.5rem;
	border: 1px solid var(--rdn-line);
	color: var(--rdn-navy);
	text-decoration: none;
}

.rdn-pagination .current {
	border-color: var(--rdn-navy);
	background: var(--rdn-navy);
	color: var(--rdn-white);
}

.rdn-empty,
.rdn-lost__inner {
	display: grid;
	justify-items: center;
	gap: 1rem;
	padding-block: 4rem;
	text-align: center;
}

.rdn-empty__bird,
.rdn-lost__bird {
	inline-size: 3.5rem;
}

.rdn-empty__title {
	margin: 0;
	color: var(--rdn-navy);
	font-family: var(--rdn-font-head);
	font-size: var(--rdn-fs-lg);
	font-weight: 700;
}

.rdn-lost {
	padding-block: var(--rdn-section);
}

.rdn-lost__title {
	margin: 0;
	font-size: var(--rdn-fs-2xl);
}

.rdn-lost__lead {
	max-inline-size: 34rem;
}

.rdn-lost__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin-block-end: 1.5rem;
}

/* ------------------------------------------------------------------ Footer */

.rdn-footer {
	position: relative;
	background: var(--rdn-ink);
	color: var(--rdn-on-navy);
	font-size: 0.9375rem;
	line-height: 1.9;
}

.rdn-footer a {
	color: var(--rdn-on-navy);
	text-decoration: none;
}

.rdn-footer a:hover {
	color: var(--rdn-white);
}

/* A plain royal hairline where the footer begins (the brand keeps gradients for the bird). */
.rdn-footer__route {
	block-size: 1px;
	background: var(--rdn-royal);
	opacity: 0.45;
}

.rdn-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) repeat(3, minmax(0, 1fr));
	gap: 3rem;
	padding-block: 5rem 4rem;
}

.rdn-footer__logo {
	display: block;
	inline-size: 10rem;
	color: var(--rdn-white);
}

.rdn-footer__logo:hover {
	color: var(--rdn-white);
}

.rdn-footer__slogan {
	margin: 1.5rem 0 0;
	color: var(--rdn-sand);
	font-family: var(--rdn-font-head);
	font-size: var(--rdn-fs-lg);
	font-weight: 400;
}

.rdn-footer__story {
	max-inline-size: 22rem;
	margin: 0.75rem 0 0;
	color: var(--rdn-on-navy);
	font-size: var(--rdn-fs-sm);
	line-height: 2;
}

.rdn-footer__motto {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 1.25rem 0 0;
	color: var(--rdn-on-navy-muted);
	font-family: var(--rdn-font-head);
	font-size: var(--rdn-fs-sm);
}

.rdn-footer__motto::before {
	content: "";
	flex: none;
	inline-size: 1.75rem;
	block-size: 1px;
	background: var(--rdn-royal);
}

.rdn-footer__note {
	max-inline-size: 18rem;
	margin: 0 0 1rem;
	color: var(--rdn-on-navy);
	font-size: var(--rdn-fs-sm);
	line-height: 2;
}

.rdn-footer__title {
	margin: 0 0 1.25rem;
	padding-block-end: 0.75rem;
	border-block-end: 1px solid var(--rdn-line-navy);
	color: var(--rdn-sand);
	font-size: var(--rdn-fs-sm);
	font-weight: 500;
}

.rdn-footer__contact,
.rdn-footer__menu {
	display: grid;
	gap: 0.625rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rdn-footer__contact li {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
}

.rdn-footer__contact .rdn-icon {
	flex: none;
	margin-block-start: 0.3rem;
	color: var(--rdn-royal);
}

/* Several numbers of one channel (the office lines) on one row, wrapping whole numbers. */
.rdn-contact-numbers {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 0.625rem;
}

.rdn-contact-numbers a {
	white-space: nowrap;
}

/* Inherits the row colour, so it reads on the navy footer and on the light contact page alike. */
.rdn-contact-numbers__sep {
	font-weight: 400;
	opacity: 0.5;
}

.rdn-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
}

/*
 * The brand frame for the network marks and the trust seals: a hairline box on a faint navy
 * plate, its four corners drawn in royal hairlines that reach further on hover.
 */
@property --rdn-tick {
	syntax: "<length>";
	inherits: false;
	initial-value: 0.5rem;
}

.rdn-footer__social a,
.rdn-footer__seals a.is-loaded {
	position: relative;
	background: rgb(255 255 255 / 0.035);
	border: 1px solid var(--rdn-line-navy);
	transition:
		border-color var(--rdn-fast) var(--rdn-ease),
		background-color var(--rdn-fast) var(--rdn-ease),
		transform var(--rdn-fast) var(--rdn-ease);
}

.rdn-footer__social a::before,
.rdn-footer__seals a.is-loaded::before {
	--rdn-tick: 0.5rem;
	content: "";
	position: absolute;
	inset: -1px;
	pointer-events: none;
	background:
		linear-gradient(var(--rdn-royal) 0 0) top left / var(--rdn-tick) 1px,
		linear-gradient(var(--rdn-royal) 0 0) top left / 1px var(--rdn-tick),
		linear-gradient(var(--rdn-royal) 0 0) top right / var(--rdn-tick) 1px,
		linear-gradient(var(--rdn-royal) 0 0) top right / 1px var(--rdn-tick),
		linear-gradient(var(--rdn-royal) 0 0) bottom left / var(--rdn-tick) 1px,
		linear-gradient(var(--rdn-royal) 0 0) bottom left / 1px var(--rdn-tick),
		linear-gradient(var(--rdn-royal) 0 0) bottom right / var(--rdn-tick) 1px,
		linear-gradient(var(--rdn-royal) 0 0) bottom right / 1px var(--rdn-tick);
	background-repeat: no-repeat;
	transition: --rdn-tick var(--rdn-mid) var(--rdn-ease);
}

.rdn-footer__social a:hover,
.rdn-footer__social a:focus-visible,
.rdn-footer__seals a.is-loaded:hover,
.rdn-footer__seals a.is-loaded:focus-visible {
	border-color: rgb(218 192 163 / 0.4);
	background-color: rgb(255 255 255 / 0.06);
	transform: translateY(-2px);
}

.rdn-footer__social a:hover::before,
.rdn-footer__social a:focus-visible::before,
.rdn-footer__seals a.is-loaded:hover::before,
.rdn-footer__seals a.is-loaded:focus-visible::before {
	--rdn-tick: 0.875rem;
}

.rdn-footer__social a {
	display: grid;
	place-items: center;
	inline-size: 2.875rem;
	block-size: 2.875rem;
}

.rdn-footer__social .rdn-icon {
	inline-size: 1.375rem;
	block-size: 1.375rem;
}

@media (prefers-reduced-motion: reduce) {
	.rdn-footer__social a,
	.rdn-footer__seals a.is-loaded,
	.rdn-footer__social a::before,
	.rdn-footer__seals a.is-loaded::before {
		transition: none;
	}

	.rdn-footer__social a:hover,
	.rdn-footer__seals a.is-loaded:hover {
		transform: none;
	}
}

.rdn-footer__licence {
	display: flex;
	gap: 0.75rem;
	margin: 0 0 1rem;
}

.rdn-footer__licence > .rdn-icon {
	flex: none;
	margin-block-start: 0.3rem;
	color: var(--rdn-royal);
}

.rdn-footer__licence > span {
	text-wrap: balance;
}

.rdn-footer__licence-no {
	color: var(--rdn-sand);
}

.rdn-footer__verify {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	color: var(--rdn-sand) !important;
	font-size: var(--rdn-fs-sm);
	border-block-end: 1px solid var(--rdn-line-navy);
}

/* The seals line up under the licence text, past its shield (20px) and the gap beside it. */
.rdn-footer__seals {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-block-start: 1.5rem;
	margin-inline-start: calc(20px + 0.75rem);
}

.rdn-footer__seals img {
	max-block-size: 5.5rem;
	inline-size: auto;
}

/*
 * A seal is framed only once its picture has arrived, so a seal not yet served leaves no box: the
 * brand frame around a white plate that holds the issuer's picture as it is.
 */
.rdn-footer__seals a.is-loaded {
	display: block;
	padding: 0.5rem;
}

.rdn-footer__seals img.is-loaded {
	background: var(--rdn-white);
	padding: 0.375rem;
	box-shadow: 0 0.5rem 1.5rem rgb(0 0 0 / 0.18);
}

.rdn-footer__legal {
	border-block-start: 1px solid var(--rdn-line-navy);
	font-size: var(--rdn-fs-sm);
	line-height: 1.9;
}

.rdn-footer__legal-inner {
	padding-block: 2rem calc(2rem + env(safe-area-inset-bottom));
}

.rdn-footer__entity {
	margin: 0 0 0.5rem;
	color: var(--rdn-on-navy);
}

.rdn-footer__disclaimer {
	max-inline-size: 60rem;
	margin: 0 0 1.5rem;
	color: var(--rdn-on-navy-muted);
}

.rdn-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	color: var(--rdn-on-navy-muted);
}

.rdn-footer__bottom p {
	margin: 0;
}

.rdn-footer__legal-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* On touch screens each footer link is a full fingertip tall; the rows close up to keep the rhythm. */
@media (pointer: coarse) {
	.rdn-footer__menu,
	.rdn-footer__contact {
		gap: 0;
	}

	.rdn-footer__contact li {
		align-items: center;
	}

	.rdn-footer__contact .rdn-icon {
		margin-block-start: 0;
	}

	.rdn-footer__menu a,
	.rdn-footer__contact a {
		display: inline-flex;
		align-items: center;
		min-block-size: 2.75rem;
	}
}

@media (width < 1000px) {
	.rdn-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rdn-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (width < 600px) {
	.rdn-footer__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 2.5rem;
		padding-block: 3.5rem 3rem;
	}
}

/* ------------------------------------------------------------------ Tab bar (phones) */

/*
 * Ink glass at the foot of the screen with a royal hairline on top. Each tab is an icon over its
 * name; the page being read has its tab lit, with a short royal bar over it. The consultation
 * tab stands in the middle, raised above the bar: a navy square with a royal edge holding the
 * bird. The bar steps aside while a form field has the keyboard open.
 */
:root {
	--rdn-tabbar-h: 4.25rem;
}

.rdn-tabbar {
	position: fixed;
	inset-inline: 0;
	inset-block-end: 0;
	z-index: 90;
	display: grid;
	grid-auto-columns: minmax(0, 1fr);
	grid-auto-flow: column;
	align-items: end;
	block-size: calc(var(--rdn-tabbar-h) + env(safe-area-inset-bottom));
	padding-block-end: env(safe-area-inset-bottom);
	padding-inline: 0.25rem;
	box-sizing: border-box;
	background: rgb(10 28 58 / 0.94);
	-webkit-backdrop-filter: blur(16px) saturate(1.5);
	backdrop-filter: blur(16px) saturate(1.5);
	border-block-start: 1px solid rgb(184 138 68 / 0.45);
	transition: transform var(--rdn-mid) var(--rdn-ease);
}

/* The keyboard is open: the bar steps aside so it never sits on a form. */
body:has(:is(input, textarea, select):focus) .rdn-tabbar {
	transform: translateY(110%);
}

.rdn-tabbar__tab {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.25rem;
	block-size: var(--rdn-tabbar-h);
	color: rgb(250 249 248 / 0.66);
	font-size: 0.6875rem;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
	transition: color var(--rdn-fast) var(--rdn-ease);
}

.rdn-tabbar__tab:hover {
	color: var(--rdn-white);
}

.rdn-tabbar__icon {
	display: grid;
	place-items: center;
	transition: transform var(--rdn-fast) var(--rdn-ease);
}

.rdn-tabbar__tab:active .rdn-tabbar__icon {
	transform: scale(0.88);
}

/* The page being read: its tab lit, a short royal bar over it. */
.rdn-tabbar__tab::before {
	content: "";
	position: absolute;
	inset-block-start: -1px;
	left: 50%;
	inline-size: 1.75rem;
	block-size: 2px;
	margin-left: -0.875rem;
	background: var(--rdn-royal);
	transform: scaleX(0);
	transition: transform var(--rdn-mid) var(--rdn-ease);
}

.rdn-tabbar__tab[aria-current="page"],
.rdn-tabbar__tab[aria-expanded="true"] {
	color: var(--rdn-white);
}

.rdn-tabbar__tab[aria-current="page"]:not(.rdn-tabbar__tab--main)::before,
.rdn-tabbar__tab[aria-expanded="true"]::before {
	transform: scaleX(1);
}

.rdn-tabbar__tab[aria-current="page"] .rdn-tabbar__icon,
.rdn-tabbar__tab[aria-expanded="true"] .rdn-tabbar__icon {
	color: var(--rdn-sand);
}

/* The consultation: raised in the middle, the bird on navy inside a royal edge. */
.rdn-tabbar__tab--main {
	justify-content: flex-end;
	padding-block-end: 0.5rem;
	box-sizing: border-box;
	color: var(--rdn-sand);
	font-weight: 700;
}

.rdn-tabbar__tab--main:hover {
	color: var(--rdn-sand);
}

.rdn-tabbar__mark {
	position: relative;
	display: grid;
	place-items: center;
	inline-size: 3.25rem;
	block-size: 3.25rem;
	margin-block: -1.5rem 0.125rem;
	box-sizing: border-box;
	border: 1px solid var(--rdn-royal);
	background: var(--rdn-navy);
	outline: 4px solid rgb(10 28 58 / 0.94);
	transition: transform var(--rdn-fast) var(--rdn-ease), background-color var(--rdn-fast) var(--rdn-ease);
}

.rdn-tabbar__mark .rdn-bird {
	inline-size: 1.625rem;
	block-size: auto;
	transition: transform var(--rdn-mid) var(--rdn-ease);
}

.rdn-tabbar__tab--main:hover .rdn-tabbar__mark,
.rdn-tabbar__tab--main[aria-current="page"] .rdn-tabbar__mark {
	background: var(--rdn-ink);
}

.rdn-tabbar__tab--main:active .rdn-tabbar__mark {
	transform: scale(0.94);
}

.rdn-tabbar__tab--main:is(:hover, :focus-visible) .rdn-tabbar__mark .rdn-bird {
	transform: translate(-2px, -2px);
}

/* A slow royal breath round the raised square. */
.rdn-tabbar__mark::after {
	content: "";
	position: absolute;
	inset: -1px;
	border: 1px solid rgb(184 138 68 / 0.6);
	opacity: 0;
	pointer-events: none;
	animation: rdn-tabbar-breath 4.8s var(--rdn-ease-in-out) 2s infinite;
}

@keyframes rdn-tabbar-breath {
	0% {
		opacity: 0.7;
		transform: scale(1);
	}

	60%,
	100% {
		opacity: 0;
		transform: scale(1.35);
	}
}

.rdn-motion-off .rdn-tabbar__mark::after {
	animation: none;
}

@media (prefers-reduced-motion: reduce) {
	.rdn-tabbar__mark::after {
		animation: none;
	}
}

/* Room for the bar at the end of every page: the ink footer runs on under it. */
@media (width < 900px) {
	body:has(.rdn-tabbar) .rdn-footer {
		padding-block-end: calc(var(--rdn-tabbar-h) + env(safe-area-inset-bottom));
	}

	/* The bar holds the menu and the consultation; the header keeps the logo. */
	body:has(.rdn-tabbar) .rdn-header__menu-toggle,
	body:has(.rdn-tabbar) .rdn-header__cta {
		display: none;
	}
}

@media (width >= 900px) {
	.rdn-tabbar,
	.rdn-sheet {
		display: none;
	}
}

/* ------------------------------------------------------------------ Destinations sheet (phones) */

.rdn-sheet {
	position: fixed;
	inset-block: auto 0;
	inset-inline: 0;
	inline-size: 100%;
	max-inline-size: 100%;
	max-block-size: min(86dvh, 46rem);
	margin: 0;
	padding: 0 0 env(safe-area-inset-bottom);
	box-sizing: border-box;
	border: 0;
	border-block-start: 1px solid rgb(184 138 68 / 0.55);
	background: var(--rdn-ink);
	color: var(--rdn-pearl);
	overflow: hidden;
}

.rdn-sheet[open] {
	display: flex;
	flex-direction: column;
	animation: rdn-sheet-in var(--rdn-mid) var(--rdn-ease);
}

.rdn-sheet[data-closing] {
	animation: rdn-sheet-out 240ms var(--rdn-ease-in-out) forwards;
}

.rdn-sheet::backdrop {
	background: rgb(6 16 34 / 0.6);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}

@keyframes rdn-sheet-in {
	from {
		transform: translateY(100%);
	}
}

@keyframes rdn-sheet-out {
	to {
		transform: translateY(100%);
	}
}

.rdn-sheet__head {
	position: relative;
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.5rem 1.25rem 0.875rem;
	touch-action: none;
}

.rdn-sheet__grip {
	position: absolute;
	inset-block-start: 0.625rem;
	left: 50%;
	inline-size: 2.5rem;
	block-size: 3px;
	margin-left: -1.25rem;
	background: rgb(218 192 163 / 0.35);
}

.rdn-sheet__titles {
	flex: 1;
	min-inline-size: 0;
}

.rdn-sheet__kicker {
	margin: 0 0 0.125rem;
	color: var(--rdn-sand);
	font-size: var(--rdn-fs-xs);
	font-weight: 500;
}

.rdn-sheet__title {
	margin: 0;
	color: var(--rdn-white);
	font-family: var(--rdn-font-head);
	font-size: var(--rdn-fs-lg);
	font-weight: 700;
	line-height: 1.5;
}

.rdn-sheet__close {
	display: grid;
	place-items: center;
	inline-size: 2.75rem;
	block-size: 2.75rem;
	padding: 0;
	border: 1px solid rgb(218 192 163 / 0.3);
	background: transparent;
	color: var(--rdn-white);
	cursor: pointer;
}

.rdn-sheet__search {
	position: relative;
	margin: 0 1.25rem 0.75rem;
}

.rdn-sheet__search > .rdn-icon {
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 0.875rem;
	color: var(--rdn-sand);
	transform: translateY(-50%);
	pointer-events: none;
}

.rdn-sheet__input {
	inline-size: 100%;
	min-block-size: 2.75rem;
	box-sizing: border-box;
	padding-block: 0.5rem;
	padding-inline: 2.5rem 0.875rem;
	border: 1px solid rgb(218 192 163 / 0.3);
	border-radius: 0;
	background: rgb(250 249 248 / 0.06);
	color: var(--rdn-white);
	font: inherit;
	font-size: 1rem;
}

.rdn-sheet__input::placeholder {
	color: rgb(250 249 248 / 0.5);
}

.rdn-sheet__input:focus {
	border-color: var(--rdn-sand);
	outline: none;
}

.rdn-sheet__body {
	flex: 1;
	min-block-size: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 0.25rem 1.25rem 1rem;
}

.rdn-sheet__featured,
.rdn-sheet__grid {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rdn-sheet__featured {
	display: grid;
	gap: 0.5rem;
	margin-block-end: 0.75rem;
}

.rdn-sheet__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.5rem;
}

.rdn-sheet__dest {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	min-block-size: 2.75rem;
	padding: 0.5rem 0.75rem;
	box-sizing: border-box;
	border: 1px solid rgb(218 192 163 / 0.18);
	color: rgb(250 249 248 / 0.92);
	font-size: 0.875rem;
	line-height: 1.5;
	text-decoration: none;
	transition: border-color var(--rdn-fast) var(--rdn-ease), background-color var(--rdn-fast) var(--rdn-ease);
}

.rdn-sheet__dest:hover,
.rdn-sheet__dest:active {
	border-color: var(--rdn-sand);
	background: rgb(218 192 163 / 0.1);
	color: var(--rdn-white);
}

.rdn-sheet__dest--featured {
	padding: 0.75rem 0.875rem;
	border-color: rgb(184 138 68 / 0.5);
	background: rgb(184 138 68 / 0.08);
}

.rdn-sheet__flag {
	flex: none;
	display: block;
	inline-size: 1.625rem;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	outline: 1px solid rgb(218 192 163 / 0.25);
}

.rdn-sheet__dest--featured .rdn-sheet__flag {
	inline-size: 2.5rem;
}

.rdn-sheet__flag svg {
	display: block;
	inline-size: 100%;
	block-size: 100%;
}

.rdn-sheet__text {
	display: grid;
	flex: 1;
	min-inline-size: 0;
}

.rdn-sheet__name {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.rdn-sheet__dest--featured .rdn-sheet__name {
	color: var(--rdn-white);
	font-family: var(--rdn-font-head);
	font-size: var(--rdn-fs-md);
	font-weight: 700;
}

.rdn-sheet__line {
	color: rgb(250 249 248 / 0.7);
	font-size: var(--rdn-fs-xs);
	line-height: 1.7;
}

.rdn-sheet__arrow {
	flex: none;
	color: var(--rdn-sand);
}

.rdn-sheet__empty {
	margin: 1rem 0;
	color: rgb(250 249 248 / 0.78);
	font-size: var(--rdn-fs-sm);
}

.rdn-sheet__empty a {
	color: var(--rdn-sand);
}

.rdn-sheet__foot {
	display: grid;
	grid-auto-columns: minmax(0, 1fr);
	grid-auto-flow: column;
	border-block-start: 1px solid rgb(218 192 163 / 0.16);
}

.rdn-sheet__more {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-block-size: 3.25rem;
	color: var(--rdn-sand);
	font-size: var(--rdn-fs-sm);
	font-weight: 700;
	text-decoration: none;
}

.rdn-sheet__more:hover {
	color: var(--rdn-white);
}

.rdn-sheet__more + .rdn-sheet__more {
	border-inline-start: 1px solid rgb(218 192 163 / 0.16);
}

.rdn-sheet :focus-visible {
	outline: 2px solid var(--rdn-sand);
	outline-offset: 2px;
}


/* ------------------------------------------------------------------ Reveal on scroll */

.js [data-rdn-reveal] {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity var(--rdn-slow) var(--rdn-ease), transform var(--rdn-slow) var(--rdn-ease);
	transition-delay: calc(var(--rdn-reveal-delay, 0) * 1ms);
}

.js [data-rdn-reveal][data-revealed] {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 1ms !important;
	}

	.js [data-rdn-reveal] {
		opacity: 1;
		transform: none;
	}
}
