@font-face {
	font-family: "Archivo";
	src: url("../fonts/archivo-latin.woff2") format("woff2");
	font-style: normal;
	font-weight: 500 700;
	font-display: swap;
}

@font-face {
	font-family: "Noto Sans";
	src: url("../fonts/noto-sans-latin.woff2") format("woff2");
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
}

@font-face {
	font-family: "Noto Sans Mono";
	src: url("../fonts/noto-sans-mono-latin.woff2") format("woff2");
	font-style: normal;
	font-weight: 500 600;
	font-display: swap;
}

:root {
	--ranama-blue: #223f99;
	--ranama-green: #406d5a;
	--ranama-amber: #d99a2b;
	--ranama-navy: #2b3e5b;
	--ranama-mist: #edf1f4;
	--ranama-white: #fff;
	--ranama-slate: #6c7f91;
	--ranama-steel: #a9b2bc;
	--ranama-ink: #17263b;
	--ranama-p03-line: rgba(43, 62, 91, 0.18);
	--ranama-p03-shell: min(1400px, calc(100vw - clamp(2rem, 7vw, 7rem)));
}

html {
	scroll-behavior: smooth;
}

body.ranama-page-03-body {
	margin: 0;
	background: var(--ranama-mist);
	color: var(--ranama-navy);
	font-family: "Noto Sans", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.65;
	overflow-x: clip;
}

body.admin-bar .ranama-home-header {
	top: 32px;
}

.ranama-p03,
.ranama-p03 *,
.ranama-p03 *::before,
.ranama-p03 *::after,
.ranama-home-header *,
.ranama-home-footer * {
	box-sizing: border-box;
}

.ranama-p03 {
	overflow: clip;
}

.ranama-p03 section {
	position: relative;
}

.ranama-p03 h1,
.ranama-p03 h2,
.ranama-p03 h3,
.ranama-p03 p,
.ranama-p03 figure,
.ranama-p03 blockquote,
.ranama-home-header p,
.ranama-home-footer p {
	margin: 0;
}

.ranama-p03 h1,
.ranama-p03 h2,
.ranama-p03 h3 {
	font-family: "Archivo", Arial, sans-serif;
	font-weight: 600;
	letter-spacing: -0.04em;
	line-height: 0.98;
}

.ranama-p03 h1 em,
.ranama-p03 h2 em {
	font-style: normal;
	font-weight: 500;
}

.ranama-p03 img,
.ranama-home-header img,
.ranama-home-footer img {
	display: block;
	max-width: 100%;
}

.ranama-p03 a,
.ranama-home-header a,
.ranama-home-footer a {
	color: inherit;
	text-decoration: none;
}

.ranama-p03 a:focus-visible,
.ranama-p03 summary:focus-visible,
.ranama-home-header a:focus-visible,
.ranama-home-header button:focus-visible,
.ranama-home-footer a:focus-visible {
	outline: 2px solid var(--ranama-amber);
	outline-offset: 5px;
}

.ranama-p03-shell {
	margin-inline: auto;
	width: var(--ranama-p03-shell);
}

.ranama-p03-kicker,
.ranama-p03-micro {
	align-items: center;
	display: flex;
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.68rem;
	font-weight: 600;
	gap: 0.8rem;
	letter-spacing: 0.11em;
	line-height: 1.4;
	text-transform: uppercase;
}

.ranama-p03-kicker > span {
	align-items: center;
	background: var(--ranama-amber);
	color: var(--ranama-ink);
	display: inline-flex;
	font-size: 0.61rem;
	height: 1.55rem;
	justify-content: center;
	letter-spacing: 0;
	min-width: 1.8rem;
	padding-inline: 0.35rem;
}

.ranama-p03-kicker--light {
	color: rgba(255, 255, 255, 0.76);
}

.ranama-p03-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem 1.8rem;
}

.ranama-p03-button {
	align-items: center;
	display: inline-flex;
	font-size: 0.72rem;
	font-weight: 700;
	gap: 2rem;
	justify-content: space-between;
	letter-spacing: 0.075em;
	line-height: 1.25;
	min-height: 3.9rem;
	padding: 0.25rem 1.4rem;
	text-transform: uppercase;
	transition: background-color 220ms ease, color 220ms ease, transform 220ms ease;
}

.ranama-p03-button:hover {
	transform: translateY(-2px);
}

.ranama-p03-button--amber {
	background: var(--ranama-amber);
	color: var(--ranama-ink) !important;
}

.ranama-p03-button--amber:hover {
	background: var(--ranama-white);
}

.ranama-p03-button--blue {
	background: var(--ranama-blue);
	color: var(--ranama-white) !important;
}

.ranama-p03-button--blue:hover {
	background: var(--ranama-navy);
}

.ranama-p03-button--outline {
	border: 1px solid rgba(255, 255, 255, 0.48);
	color: var(--ranama-white) !important;
}

.ranama-p03-button--outline:hover {
	background: var(--ranama-white);
	color: var(--ranama-navy) !important;
}

.ranama-p03-text-link {
	align-items: center;
	border-bottom: 1px solid currentColor;
	display: inline-flex;
	font-size: 0.74rem;
	font-weight: 700;
	gap: 1.8rem;
	justify-content: space-between;
	letter-spacing: 0.055em;
	line-height: 1.4;
	padding-block: 0.55rem;
	text-transform: uppercase;
	transition: color 180ms ease, gap 180ms ease;
}

.ranama-p03-text-link:hover {
	color: var(--ranama-blue);
	gap: 2.4rem;
}

.ranama-p03-text-link--light {
	color: var(--ranama-white) !important;
}

.ranama-p03-text-link--light:hover {
	color: var(--ranama-amber) !important;
}

.ranama-p03-boundary {
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.ranama-p03-boundary i {
	background: var(--ranama-blue);
	position: absolute;
}

.ranama-p03-boundary__top,
.ranama-p03-boundary__bottom {
	height: 2px;
}

.ranama-p03-boundary__left,
.ranama-p03-boundary__right {
	width: 2px;
}

/* Shared header state, isolated to Page #3 assets. */
.ranama-skip-link {
	background: var(--ranama-white);
	color: var(--ranama-navy);
	font-family: "Noto Sans", Arial, sans-serif;
	font-size: 0.8rem;
	font-weight: 700;
	left: 1rem;
	padding: 0.8rem 1.1rem;
	position: fixed;
	top: -6rem;
	z-index: 10020;
}

.ranama-skip-link:focus {
	top: 1rem;
}

.ranama-home-header {
	background: rgba(43, 62, 91, 0.98);
	color: var(--ranama-white);
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	transition: background-color 240ms ease, box-shadow 240ms ease;
	z-index: 5000;
}

.ranama-home-header::after {
	background: rgba(255, 255, 255, 0.32);
	bottom: 0;
	content: "";
	height: 1px;
	left: clamp(1rem, 3vw, 3rem);
	position: absolute;
	right: clamp(1rem, 3vw, 3rem);
}

.ranama-home-header.is-scrolled,
.ranama-home-header.is-menu-open {
	background: rgba(43, 62, 91, 0.97);
	box-shadow: 0 12px 35px rgba(16, 31, 51, 0.15);
}

.ranama-home-header__bar {
	align-items: center;
	display: grid;
	grid-template-columns: auto 1fr;
	height: 5.25rem;
	margin-inline: auto;
	width: min(1600px, calc(100vw - clamp(2rem, 6vw, 6rem)));
}

.ranama-home-header__brand {
	align-items: center;
	display: flex;
	height: 100%;
	padding-right: clamp(1rem, 2.7vw, 3rem);
}

.ranama-home-header__brand img {
	height: auto;
	width: clamp(7.2rem, 9vw, 9.5rem);
}

.ranama-home-header__nav {
	height: 100%;
	justify-self: end;
}

.ranama-home-header__menu {
	display: flex;
	height: 100%;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ranama-home-header__menu > li {
	display: flex;
	position: relative;
}

.ranama-home-header__menu > li > a,
.ranama-home-header__menu > li > button {
	align-items: center;
	background: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
	display: flex;
	font-family: "Noto Sans", Arial, sans-serif;
	font-size: 0.69rem;
	font-weight: 600;
	gap: 0.45rem;
	letter-spacing: 0.045em;
	padding-inline: clamp(0.65rem, 1.35vw, 1.4rem);
	position: relative;
	transition: background-color 180ms ease, color 180ms ease;
	white-space: nowrap;
}

.ranama-home-header__menu > li > a::after,
.ranama-home-header__menu > li > button::after {
	background: var(--ranama-amber);
	bottom: 0;
	content: "";
	height: 3px;
	left: 50%;
	position: absolute;
	right: 50%;
	transition: left 180ms ease, right 180ms ease;
}

.ranama-home-header__menu > li > a:hover::after,
.ranama-home-header__menu > li > a:focus-visible::after,
.ranama-home-header__menu > li > button:hover::after,
.ranama-home-header__menu > li > button:focus-visible::after,
.ranama-home-header__item--has-submenu.is-submenu-open > button::after,
.ranama-home-header__item--has-submenu:focus-within > button::after {
	left: 0;
	right: 0;
}

.ranama-home-header__menu > li > button > span {
	color: var(--ranama-amber);
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.75rem;
	transition: transform 180ms ease;
}

.ranama-home-header__item--has-submenu.is-submenu-open > button > span {
	transform: rotate(45deg);
}

.ranama-home-header__submenu {
	background: rgba(23, 38, 59, 0.985);
	border-top: 3px solid var(--ranama-amber);
	display: grid;
	left: 0;
	min-width: 24rem;
	opacity: 0;
	padding: 0.7rem 1rem 1rem;
	pointer-events: none;
	position: absolute;
	top: calc(100% - 1px);
	transform: translateY(-0.6rem);
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
	visibility: hidden;
	z-index: 3;
}

.ranama-home-header__item--products .ranama-home-header__submenu {
	left: 50%;
	min-width: 29rem;
	transform: translate(-50%, -0.6rem);
}

.ranama-home-header__item--has-submenu:hover > .ranama-home-header__submenu,
.ranama-home-header__item--has-submenu:focus-within > .ranama-home-header__submenu,
.ranama-home-header__item--has-submenu.is-submenu-open > .ranama-home-header__submenu {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
	visibility: visible;
}

.ranama-home-header__item--products:hover > .ranama-home-header__submenu,
.ranama-home-header__item--products:focus-within > .ranama-home-header__submenu,
.ranama-home-header__item--products.is-submenu-open > .ranama-home-header__submenu {
	transform: translate(-50%, 0);
}

.ranama-home-header__submenu a {
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1.35;
	padding: 0.85rem 0.3rem;
	transition: color 180ms ease, padding-left 180ms ease;
}

.ranama-home-header__submenu a:hover,
.ranama-home-header__submenu a:focus-visible {
	color: var(--ranama-amber);
	padding-left: 0.7rem;
}

.ranama-home-header__submenu .ranama-home-header__submenu-child {
	color: rgba(255, 255, 255, 0.68);
	font-size: 0.67rem;
	padding-left: 1.4rem;
}

.ranama-home-header__menu .ranama-home-header__quote {
	background: var(--ranama-amber);
	color: var(--ranama-ink);
	font-weight: 700;
	margin-left: 0.7rem;
	padding-inline: 1.25rem;
	text-transform: uppercase;
}

.ranama-home-header__menu .ranama-home-header__quote::after {
	display: none;
}

.ranama-home-header__menu .ranama-home-header__quote > span {
	color: inherit;
	font-family: inherit;
	font-size: inherit;
}

.ranama-home-header__toggle {
	background: transparent;
	border: 0;
	color: var(--ranama-white);
	cursor: pointer;
	display: none;
	font: inherit;
}

/* Scope Chamber opening. */
.ranama-p03-hero {
	background: var(--ranama-mist);
	min-height: max(58rem, 100svh);
	padding: 5.25rem 0 clamp(2.5rem, 5vw, 5rem);
}

.ranama-p03-hero__shell {
	padding-top: clamp(2rem, 4vw, 4rem);
	position: relative;
	z-index: 1;
}

.ranama-p03-breadcrumb {
	align-items: center;
	color: var(--ranama-slate);
	display: flex;
	flex-wrap: wrap;
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.56rem;
	gap: 0.55rem;
	letter-spacing: 0.07em;
	margin-bottom: 2rem;
	text-transform: uppercase;
}

.ranama-p03-breadcrumb a:hover {
	color: var(--ranama-blue);
}

.ranama-p03-breadcrumb strong {
	color: var(--ranama-navy);
	font-weight: 600;
}

.ranama-p03-hero__chamber {
	--ranama-p03-hero-route-x: calc(9% + clamp(2.05rem, 4.1vw, 4.1rem));
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-template-rows: auto minmax(21rem, 0.9fr) auto;
	min-height: 47rem;
	overflow: hidden;
	padding: clamp(2.5rem, 5vw, 5rem);
	position: relative;
}

.ranama-p03-boundary--hero .ranama-p03-boundary__top {
	left: 0;
	right: 23%;
	top: 0;
}

.ranama-p03-boundary--hero .ranama-p03-boundary__right {
	height: 31%;
	right: 23%;
	top: 0;
}

.ranama-p03-boundary--hero .ranama-p03-boundary__bottom {
	bottom: 0;
	left: var(--ranama-p03-hero-route-x);
	right: 0;
}

.ranama-p03-hero__coordinate {
	color: var(--ranama-blue);
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.52rem;
	grid-column: 10 / -1;
	grid-row: 1;
	justify-self: end;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.ranama-p03-hero__heading {
	grid-column: 1 / 10;
	grid-row: 1;
	padding-bottom: clamp(2.5rem, 5vw, 5rem);
	z-index: 2;
}

.ranama-p03-hero h1 {
	font-size: clamp(4.4rem, 7.6vw, 8.6rem);
	line-height: 0.88;
	margin-top: clamp(1.6rem, 3vw, 3rem);
	max-width: 8.3em;
	position: relative;
}

.ranama-p03-hero h1 em {
	color: var(--ranama-blue);
	display: block;
}

.ranama-p03-hero__stem {
	background: var(--ranama-blue);
	height: 100rem;
	left: 12%;
	position: absolute;
	top: calc(100% + 1rem);
	transform-origin: center top;
	width: 2px;
}

.ranama-p03-hero__image {
	clip-path: polygon(0 0, 88% 0, 88% 9%, 100% 9%, 100% 100%, 12% 100%, 12% 92%, 0 92%);
	grid-column: 1 / 9;
	grid-row: 2 / 4;
	height: 31rem;
	overflow: hidden;
	position: relative;
	z-index: 3;
}

.ranama-p03-hero__image::after {
	background: linear-gradient(90deg, rgba(23, 38, 59, 0.04), rgba(23, 38, 59, 0.34));
	content: "";
	inset: 0;
	position: absolute;
}

.ranama-p03-hero__image img {
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 1100ms cubic-bezier(0.22, 1, 0.36, 1);
	width: 100%;
}

.ranama-p03-hero__image figcaption,
.ranama-p03-capability__image figcaption,
.ranama-p03-enquiry__image figcaption,
.ranama-p03-proof__document figcaption {
	background: rgba(23, 38, 59, 0.9);
	bottom: 0;
	color: rgba(255, 255, 255, 0.8);
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.53rem;
	letter-spacing: 0.08em;
	padding: 0.72rem 0.9rem;
	position: absolute;
	right: 0;
	text-transform: uppercase;
	z-index: 3;
}

.ranama-p03-hero__image figcaption span,
.ranama-p03-capability__image figcaption span,
.ranama-p03-enquiry__image figcaption span,
.ranama-p03-proof__document figcaption span {
	color: var(--ranama-amber);
	display: block;
	font-size: 0.47rem;
}

.ranama-p03-hero__brief {
	align-self: center;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 2rem 5rem rgba(23, 38, 59, 0.12);
	grid-column: 8 / -1;
	grid-row: 2 / 4;
	margin: 2rem 0 2rem -2rem;
	padding: clamp(2rem, 4vw, 4rem);
	position: relative;
	z-index: 4;
}

.ranama-p03-hero__brief::before {
	background: var(--ranama-amber);
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	top: 0;
	width: 42%;
}

.ranama-p03-hero__brief > p {
	color: var(--ranama-slate);
	font-size: clamp(0.9rem, 1.05vw, 1rem);
	line-height: 1.68;
}

.ranama-p03-hero__brief > p + p {
	margin-top: 0.9rem;
}

.ranama-p03-hero__brief .ranama-p03-hero__lead {
	color: var(--ranama-navy);
	font-family: "Archivo", Arial, sans-serif;
	font-size: clamp(1.35rem, 2vw, 2rem);
	font-weight: 600;
	letter-spacing: -0.03em;
	line-height: 1.22;
}

.ranama-p03-hero__brief .ranama-p03-actions {
	align-items: stretch;
	flex-direction: column;
	margin-top: 1.8rem;
}

.ranama-p03-hero__brief .ranama-p03-button,
.ranama-p03-hero__brief .ranama-p03-text-link {
	width: 100%;
}

.ranama-p03-hero__gate {
	align-items: center;
	display: flex;
	position: absolute;
	right: 0;
	top: 29%;
	z-index: 4;
}

.ranama-p03-hero__gate span {
	background: var(--ranama-blue);
	color: var(--ranama-white);
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.53rem;
	letter-spacing: 0.08em;
	padding: 0.75rem 0.9rem;
	text-transform: uppercase;
}

.ranama-p03-hero__gate i {
	background: var(--ranama-amber);
	height: 3px;
	width: clamp(3rem, 7vw, 7rem);
}

.ranama-p03-hero__proof {
	border-top: 1px solid rgba(43, 62, 91, 0.28);
	display: grid;
	font-family: "Noto Sans Mono", monospace;
	grid-template-columns: repeat(3, 1fr);
	letter-spacing: 0.07em;
	margin-top: 2.5rem;
	text-transform: uppercase;
}

.ranama-p03-hero__proof p {
	border-right: 1px solid var(--ranama-p03-line);
	font-size: 0.58rem;
	padding: 1rem 1.25rem 0;
}

.ranama-p03-hero__proof p:first-child {
	padding-left: 0;
}

.ranama-p03-hero__proof p:last-child {
	border-right: 0;
}

.ranama-p03-hero__proof span {
	color: var(--ranama-amber);
	display: block;
	font-size: 0.5rem;
	margin-bottom: 0.3rem;
}

/* Requirement manifest: one inspectable information field. */
.ranama-p03-manifest {
	background: var(--ranama-white);
	padding: clamp(8rem, 12vw, 13rem) 0;
}

.ranama-p03-manifest::before {
	background: var(--ranama-blue);
	content: "";
	height: calc(clamp(8rem, 12vw, 13rem) - 1.5rem);
	left: calc((100vw - var(--ranama-p03-shell)) / 2 + 8%);
	position: absolute;
	top: 0;
	width: 1px;
}

.ranama-p03-manifest__intro {
	display: grid;
	gap: clamp(3rem, 8vw, 8rem);
	grid-template-columns: 1.15fr 0.85fr;
}

.ranama-p03-manifest h2 {
	font-size: clamp(3.7rem, 6.6vw, 7.4rem);
	margin-top: 2rem;
	max-width: 8.5em;
}

.ranama-p03-manifest h2 em {
	color: var(--ranama-blue);
}

.ranama-p03-manifest__copy {
	align-self: end;
	border-top: 3px solid var(--ranama-blue);
	font-size: clamp(0.98rem, 1.25vw, 1.15rem);
	line-height: 1.72;
	padding-top: 1.5rem;
}

.ranama-p03-manifest__copy p + p {
	color: var(--ranama-slate);
	margin-top: 1rem;
}

.ranama-p03-manifest__field {
	display: grid;
	grid-template-columns: 0.27fr 0.73fr;
	margin-top: clamp(5rem, 8vw, 8rem);
	position: relative;
}

.ranama-p03-manifest__field::before {
	background: var(--ranama-blue);
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.ranama-p03-manifest__meta {
	background: var(--ranama-navy);
	color: var(--ranama-white);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 34rem;
	padding: clamp(2rem, 4vw, 4rem);
}

.ranama-p03-manifest__meta span,
.ranama-p03-manifest__meta small {
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.55rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ranama-p03-manifest__meta span {
	color: var(--ranama-amber);
}

.ranama-p03-manifest__meta strong {
	font-family: "Archivo", Arial, sans-serif;
	font-size: clamp(2.4rem, 4vw, 4.3rem);
	letter-spacing: -0.04em;
	line-height: 0.95;
}

.ranama-p03-manifest__meta small {
	color: rgba(255, 255, 255, 0.58);
	line-height: 1.5;
}

.ranama-p03-manifest__register {
	display: grid;
	grid-template-columns: 1fr 1fr;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ranama-p03-manifest__register li {
	align-items: start;
	border-bottom: 1px solid var(--ranama-p03-line);
	border-right: 1px solid var(--ranama-p03-line);
	display: grid;
	gap: 1rem;
	grid-template-columns: 2rem 1fr;
	min-height: 7.55rem;
	padding: 1.5rem;
}

.ranama-p03-manifest__register li:nth-child(odd) {
	border-left: 1px solid var(--ranama-p03-line);
}

.ranama-p03-manifest__register span {
	color: var(--ranama-amber);
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.6rem;
}

.ranama-p03-manifest__register strong {
	font-size: clamp(0.95rem, 1.15vw, 1.1rem);
	line-height: 1.45;
}

.ranama-p03-manifest__callout {
	background: var(--ranama-mist);
	border-left: 4px solid var(--ranama-amber);
	display: grid;
	gap: 1.4rem;
	grid-column: 2;
	grid-template-columns: 8rem 1fr 1fr;
	padding: 1.7rem;
}

.ranama-p03-manifest__callout span {
	color: var(--ranama-blue);
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.55rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ranama-p03-manifest__callout p {
	font-size: 0.86rem;
	line-height: 1.6;
}

/* External regulatory field. */
.ranama-p03-context {
	background: var(--ranama-navy);
	color: var(--ranama-white);
	padding: clamp(8rem, 12vw, 13rem) 0;
}

.ranama-p03-context__grid {
	background-image: linear-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px);
	background-size: 8rem 8rem;
	inset: 0;
	position: absolute;
}

.ranama-p03-context__inner {
	display: grid;
	gap: 4rem;
	grid-template-columns: 1.05fr 0.35fr 0.6fr;
	position: relative;
}

.ranama-p03-context__heading {
	grid-column: 1 / 3;
}

.ranama-p03-context h2 {
	font-size: clamp(4rem, 7vw, 8rem);
	margin-top: 2rem;
	max-width: 8.2em;
}

.ranama-p03-context h2 em {
	color: var(--ranama-amber);
	display: block;
}

.ranama-p03-context__stat {
	align-self: end;
	border-left: 1px solid rgba(255, 255, 255, 0.34);
	display: flex;
	flex-direction: column;
	grid-column: 3;
	padding-left: 2rem;
}

.ranama-p03-context__stat strong {
	color: var(--ranama-amber);
	font-family: "Archivo", Arial, sans-serif;
	font-size: clamp(6rem, 11vw, 12rem);
	font-weight: 600;
	letter-spacing: -0.07em;
	line-height: 0.72;
}

.ranama-p03-context__stat span {
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.57rem;
	letter-spacing: 0.08em;
	line-height: 1.5;
	margin-top: 2rem;
	text-transform: uppercase;
}

.ranama-p03-context__body {
	color: rgba(255, 255, 255, 0.73);
	display: grid;
	gap: 1.2rem 3rem;
	grid-column: 1 / 3;
	grid-template-columns: 1fr 1fr;
	line-height: 1.75;
}

.ranama-p03-context__body p:first-child,
.ranama-p03-context__body p:nth-child(3) {
	color: var(--ranama-white);
	font-weight: 600;
}

.ranama-p03-context__callout {
	align-self: stretch;
	background: var(--ranama-blue);
	display: flex;
	flex-direction: column;
	grid-column: 3;
	justify-content: space-between;
	padding: 2rem;
}

.ranama-p03-context__callout span {
	color: var(--ranama-amber);
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.54rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ranama-p03-context__callout p {
	font-family: "Archivo", Arial, sans-serif;
	font-size: clamp(1.5rem, 2.3vw, 2.5rem);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.18;
	margin-top: 4rem;
}

.ranama-p03-context__source {
	border-top: 1px solid rgba(255, 255, 255, 0.3);
	color: rgba(255, 255, 255, 0.58);
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.55rem;
	grid-column: 1 / -1;
	letter-spacing: 0.055em;
	padding-top: 1rem;
	text-transform: uppercase;
}

.ranama-p03-context__source span {
	color: var(--ranama-amber);
	margin-right: 2rem;
}

/* Defined Ranama capability chamber. */
.ranama-p03-capability {
	background: var(--ranama-white);
	padding: clamp(8rem, 12vw, 13rem) 0;
}

.ranama-p03-capability__chamber {
	display: grid;
	grid-template-columns: 1.08fr 0.92fr;
	min-height: 47rem;
	padding: clamp(2rem, 4vw, 4rem);
	position: relative;
}

.ranama-p03-boundary--capability .ranama-p03-boundary__top {
	left: 8%;
	right: 0;
	top: 0;
}

.ranama-p03-boundary--capability .ranama-p03-boundary__right {
	bottom: 12%;
	right: 0;
	top: 0;
}

.ranama-p03-boundary--capability .ranama-p03-boundary__bottom {
	bottom: 12%;
	left: 0;
	right: 0;
}

.ranama-p03-boundary--capability .ranama-p03-boundary__left {
	bottom: 12%;
	height: 36%;
	left: 0;
}

.ranama-p03-capability__image {
	align-self: stretch;
	clip-path: polygon(0 0, 88% 0, 88% 10%, 100% 10%, 100% 100%, 0 100%);
	margin: 4rem 0 0 -4rem;
	min-height: 40rem;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.ranama-p03-capability__image::after {
	background: linear-gradient(90deg, rgba(23, 38, 59, 0.04), rgba(23, 38, 59, 0.45));
	content: "";
	inset: 0;
	position: absolute;
}

.ranama-p03-capability__image img {
	height: 100%;
	object-fit: cover;
	object-position: 52% center;
	width: 100%;
}

.ranama-p03-capability__content {
	align-self: center;
	background: var(--ranama-white);
	margin-left: -5rem;
	padding: clamp(3rem, 6vw, 6rem);
	position: relative;
	z-index: 3;
}

.ranama-p03-capability h2 {
	font-size: clamp(3.2rem, 5.2vw, 6rem);
	margin: 2rem 0;
}

.ranama-p03-capability h2 em {
	color: var(--ranama-blue);
}

.ranama-p03-capability__content > p:not(.ranama-p03-kicker) {
	color: var(--ranama-slate);
	font-size: 0.98rem;
	line-height: 1.72;
}

.ranama-p03-capability__content > p + p {
	margin-top: 1rem;
}

.ranama-p03-capability__content blockquote {
	border-left: 4px solid var(--ranama-amber);
	color: var(--ranama-navy);
	font-family: "Archivo", Arial, sans-serif;
	font-size: clamp(1.45rem, 2.25vw, 2.4rem);
	font-weight: 600;
	letter-spacing: -0.03em;
	line-height: 1.2;
	margin-top: 2rem;
	padding-left: 1.4rem;
}

.ranama-p03-capability__edge {
	bottom: 12%;
	color: var(--ranama-blue);
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.52rem;
	letter-spacing: 0.08em;
	position: absolute;
	right: 1rem;
	text-transform: uppercase;
	transform: rotate(-90deg);
	transform-origin: right bottom;
}

/* The only page-wide handover route: interrupted at the scope gate. */
.ranama-p03-handover {
	background: var(--ranama-ink);
	color: var(--ranama-white);
	padding: clamp(8rem, 12vw, 13rem) 0;
}

.ranama-p03-handover__intro {
	max-width: 1400px;
}

.ranama-p03-handover h2 {
	font-size: clamp(4rem, 7vw, 8rem);
	margin-top: 2rem;
	max-width: 9.5em;
}

.ranama-p03-handover h2 em {
	color: var(--ranama-amber);
}

.ranama-p03-handover__field {
	min-height: 50rem;
	margin-top: clamp(5rem, 8vw, 8rem);
	position: relative;
}

.ranama-p03-handover__labels {
	display: grid;
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.52rem;
	grid-template-columns: 2fr 1fr 2fr;
	letter-spacing: 0.08em;
	position: absolute;
	top: -1rem;
	text-transform: uppercase;
	width: 100%;
}

.ranama-p03-handover__labels span:nth-child(2) {
	color: var(--ranama-amber);
	text-align: center;
}

.ranama-p03-handover__labels span:last-child {
	color: rgba(255, 255, 255, 0.55);
	text-align: right;
}

.ranama-p03-handover__line {
	height: 3px;
	position: absolute;
	top: 8.8rem;
}

.ranama-p03-handover__line::before,
.ranama-p03-handover__line::after {
	content: "";
	inset: 0;
	position: absolute;
}

.ranama-p03-handover__line::before {
	background: rgba(255, 255, 255, 0.2);
}

.ranama-p03-handover__line::after {
	background: var(--ranama-amber);
	transform-origin: left center;
}

.ranama-p03-handover__line--before {
	left: 2%;
	width: 38%;
}

.ranama-p03-handover__line--after {
	right: 2%;
	width: 38%;
}

.ranama-p03-handover__line--after::after {
	background: var(--ranama-blue);
}

.ranama-p03-handover__gate {
	align-items: center;
	background: var(--ranama-blue);
	border: 3px solid var(--ranama-amber);
	display: flex;
	flex-direction: column;
	height: 12rem;
	justify-content: center;
	left: 50%;
	position: absolute;
	top: 1.5rem;
	transform: translateX(-50%);
	width: 9rem;
	z-index: 3;
}

.ranama-p03-handover__gate span {
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.6rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.6;
	text-align: center;
	text-transform: uppercase;
}

.ranama-p03-handover__gate i {
	background: var(--ranama-amber);
	height: 0.55rem;
	margin-top: 1.3rem;
	width: 0.55rem;
}

.ranama-p03-handover__steps {
	display: grid;
	grid-template-columns: repeat(10, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
}

.ranama-p03-handover__step {
	padding-top: 12rem;
	position: relative;
}

.ranama-p03-handover__step--01 { grid-column: 1 / 3; }
.ranama-p03-handover__step--02 { grid-column: 3 / 5; padding-left: 1.5rem; }
.ranama-p03-handover__step--03 { grid-column: 5 / 7; padding: 18rem 1.5rem 0; }
.ranama-p03-handover__step--04 { grid-column: 7 / 9; padding-left: 1.5rem; }
.ranama-p03-handover__step--05 { grid-column: 9 / 11; padding-left: 1.5rem; }

.ranama-p03-handover__step > span {
	color: var(--ranama-amber);
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.08em;
}

.ranama-p03-handover__step--03 > span {
	color: var(--ranama-white);
}

.ranama-p03-handover__step h3 {
	font-size: clamp(1.65rem, 2.3vw, 2.6rem);
	line-height: 1.05;
	margin-top: 1.2rem;
}

.ranama-p03-handover__step p {
	color: rgba(255, 255, 255, 0.66);
	font-size: 0.86rem;
	line-height: 1.65;
	margin-top: 1rem;
}

.ranama-p03-handover__step--03 {
	background: linear-gradient(to bottom, rgba(34, 63, 153, 0.7), rgba(34, 63, 153, 0));
}

/* Signature current-scope chamber. */
.ranama-p03-scope {
	background: var(--ranama-mist);
	padding: clamp(9rem, 14vw, 15rem) 0;
}

.ranama-p03-scope__grid {
	background-image: linear-gradient(var(--ranama-p03-line) 1px, transparent 1px), linear-gradient(90deg, var(--ranama-p03-line) 1px, transparent 1px);
	background-size: 8rem 8rem;
	inset: 0;
	position: absolute;
}

.ranama-p03-scope__chamber {
	background: var(--ranama-blue);
	color: var(--ranama-white);
	display: grid;
	grid-template-columns: 0.28fr 0.72fr;
	min-height: 58rem;
	position: relative;
	z-index: 1;
}

.ranama-p03-scope__chamber::before {
	border: 2px solid rgba(255, 255, 255, 0.55);
	clip-path: polygon(0 0, 42% 0, 42% 9%, 100% 9%, 100% 100%, 16% 100%, 16% 90%, 0 90%);
	content: "";
	inset: 2rem;
	pointer-events: none;
	position: absolute;
}

.ranama-p03-scope__licence {
	background: var(--ranama-navy);
	display: flex;
	flex-direction: column;
	grid-column: 1;
	grid-row: 1 / 3;
	justify-content: space-between;
	min-height: 43rem;
	padding: clamp(2rem, 4vw, 4rem);
	position: relative;
	z-index: 2;
}

.ranama-p03-scope__licence span,
.ranama-p03-scope__licence small {
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.55rem;
	letter-spacing: 0.08em;
	line-height: 1.5;
	text-transform: uppercase;
}

.ranama-p03-scope__licence span {
	color: var(--ranama-amber);
}

.ranama-p03-scope__licence strong {
	font-family: "Archivo", Arial, sans-serif;
	font-size: clamp(3.5rem, 5.8vw, 6.4rem);
	font-weight: 600;
	letter-spacing: -0.055em;
	line-height: 0.85;
	transform: rotate(-90deg);
}

.ranama-p03-scope__licence small {
	color: rgba(255, 255, 255, 0.58);
}

.ranama-p03-scope__heading {
	grid-column: 2;
	padding: clamp(4rem, 7vw, 7rem) clamp(3rem, 7vw, 7rem) 3rem;
	position: relative;
	z-index: 2;
}

.ranama-p03-scope h2 {
	font-size: clamp(4rem, 7vw, 7.8rem);
	margin: 2rem 0;
	max-width: 7em;
}

.ranama-p03-scope h2 em {
	color: var(--ranama-amber);
	display: block;
}

.ranama-p03-scope__heading > p:not(.ranama-p03-kicker) {
	color: rgba(255, 255, 255, 0.73);
	font-size: clamp(0.95rem, 1.2vw, 1.12rem);
	max-width: 45rem;
}

.ranama-p03-scope__heading > p + p {
	margin-top: 1rem;
}

.ranama-p03-scope__codes {
	background: rgba(255, 255, 255, 0.3);
	border: 1px solid rgba(255, 255, 255, 0.3);
	display: grid;
	gap: 1px;
	grid-column: 2;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	margin: 0 clamp(3rem, 7vw, 7rem);
	padding: 0;
	position: relative;
	z-index: 2;
}

.ranama-p03-scope__codes li {
	background: var(--ranama-blue);
	font-family: "Noto Sans Mono", monospace;
	font-size: clamp(1rem, 1.8vw, 1.65rem);
	font-weight: 600;
	letter-spacing: 0.05em;
	padding: 1.2rem;
}

.ranama-p03-scope__codes li:last-child {
	color: var(--ranama-white);
}

.ranama-p03-scope__guidance {
	align-items: end;
	border-top: 1px solid rgba(255, 255, 255, 0.32);
	display: grid;
	gap: 2rem;
	grid-column: 1 / -1;
	grid-template-columns: 0.65fr 1fr auto;
	margin: clamp(3rem, 6vw, 6rem) clamp(3rem, 5vw, 5rem) 0;
	padding: 2rem 0 clamp(3rem, 5vw, 5rem);
	position: relative;
	z-index: 2;
}

.ranama-p03-scope__guidance > p {
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.9rem;
}

.ranama-p03-scope__guidance blockquote {
	font-family: "Archivo", Arial, sans-serif;
	font-size: clamp(1.35rem, 2vw, 2.1rem);
	font-weight: 600;
	letter-spacing: -0.03em;
	line-height: 1.2;
}

.ranama-p03-scope__edge {
	background: var(--ranama-amber);
	bottom: 2rem;
	color: var(--ranama-ink);
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.5rem;
	letter-spacing: 0.08em;
	padding: 0.7rem 0.85rem;
	position: absolute;
	right: 2rem;
	text-transform: uppercase;
	z-index: 3;
}

/* Two records, two roles: documented support rather than badges. */
.ranama-p03-evidence {
	background: var(--ranama-white);
	padding: clamp(9rem, 13vw, 14rem) 0;
}

.ranama-p03-evidence__inner {
	display: grid;
	gap: clamp(4rem, 8vw, 8rem);
	grid-template-columns: 0.55fr 1.45fr;
}

.ranama-p03-evidence__heading {
	position: relative;
}

.ranama-p03-evidence__heading::after {
	background: var(--ranama-blue);
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 100%;
	width: 62%;
}

.ranama-p03-evidence h2 {
	font-size: clamp(3.6rem, 5.8vw, 6.7rem);
	margin-top: 2rem;
}

.ranama-p03-evidence h2 em {
	color: var(--ranama-blue);
	display: block;
}

.ranama-p03-evidence__records {
	display: grid;
	grid-template-columns: 1fr 1fr;
	position: relative;
}

.ranama-p03-evidence__records::before {
	background: var(--ranama-blue);
	content: "";
	height: 4px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.ranama-p03-evidence__record {
	border-bottom: 1px solid var(--ranama-p03-line);
	border-right: 1px solid var(--ranama-p03-line);
	display: flex;
	flex-direction: column;
	min-height: 36rem;
	padding: clamp(2rem, 4vw, 4rem);
}

.ranama-p03-evidence__record:first-child {
	border-left: 1px solid var(--ranama-p03-line);
}

.ranama-p03-evidence__record .ranama-p03-micro {
	color: var(--ranama-blue);
	margin-bottom: 3rem;
}

.ranama-p03-evidence__record > span,
.ranama-p03-evidence__record > small {
	color: var(--ranama-slate);
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.55rem;
	letter-spacing: 0.07em;
	line-height: 1.5;
	text-transform: uppercase;
}

.ranama-p03-evidence__record > strong {
	font-family: "Archivo", Arial, sans-serif;
	font-size: clamp(3.2rem, 5vw, 5.4rem);
	font-weight: 600;
	letter-spacing: -0.055em;
	line-height: 0.9;
	margin: 1rem 0 3rem;
}

.ranama-p03-evidence__record h3 {
	font-family: "Noto Sans", Arial, sans-serif;
	font-size: clamp(1.15rem, 1.6vw, 1.55rem);
	letter-spacing: -0.02em;
	line-height: 1.3;
}

.ranama-p03-evidence__record > small {
	color: var(--ranama-blue);
	margin-top: 0.8rem;
}

.ranama-p03-evidence__record > p:last-child {
	border-top: 1px solid var(--ranama-p03-line);
	color: var(--ranama-slate);
	font-size: 0.88rem;
	line-height: 1.68;
	margin-top: auto;
	padding-top: 1.5rem;
}

.ranama-p03-evidence__inner > .ranama-p03-text-link {
	grid-column: 2;
	justify-self: start;
}

/* Competent-person proof and management-system context. */
.ranama-p03-proof {
	background: linear-gradient(118deg, var(--ranama-blue), var(--ranama-navy));
	color: var(--ranama-white);
	padding: clamp(8rem, 12vw, 13rem) 0;
}

.ranama-p03-proof::before {
	background-image: linear-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px);
	background-size: 8rem 8rem;
	clip-path: polygon(0 0, 43% 0, 43% 23%, 100% 23%, 100% 100%, 61% 100%, 61% 83%, 0 83%);
	content: "";
	inset: 0;
	position: absolute;
}

.ranama-p03-proof__chamber {
	display: grid;
	gap: clamp(4rem, 8vw, 8rem);
	grid-template-columns: 0.42fr 0.58fr;
	position: relative;
	z-index: 1;
}

.ranama-p03-proof__document {
	align-self: start;
	background: var(--ranama-white);
	clip-path: polygon(0 0, 90% 0, 90% 8%, 100% 8%, 100% 100%, 0 100%);
	height: clamp(39rem, 54vw, 52rem);
	overflow: hidden;
	padding: 2rem;
	position: relative;
}

.ranama-p03-proof__document::after {
	border: 1px solid rgba(43, 62, 91, 0.24);
	content: "";
	inset: 1rem;
	pointer-events: none;
	position: absolute;
}

.ranama-p03-proof__document img {
	height: 100%;
	object-fit: contain;
	object-position: center top;
	width: 100%;
	background: #fff;
}

.ranama-p03-proof__content {
	align-self: center;
}

.ranama-p03-proof h2 {
	font-size: clamp(3.7rem, 6vw, 6.9rem);
	margin: 2rem 0 3rem;
}

.ranama-p03-proof h2 em {
	color: var(--ranama-amber);
	display: block;
}

.ranama-p03-proof__hierarchy {
	border-top: 1px solid rgba(255, 255, 255, 0.36);
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-bottom: 2.5rem;
}

.ranama-p03-proof__hierarchy > div {
	border-bottom: 1px solid rgba(255, 255, 255, 0.28);
	display: flex;
	flex-direction: column;
	min-height: 17rem;
	padding: 1.5rem;
}

.ranama-p03-proof__hierarchy > div:first-child {
	border-right: 1px solid rgba(255, 255, 255, 0.28);
}

.ranama-p03-proof__hierarchy span,
.ranama-p03-proof__hierarchy small {
	color: var(--ranama-amber);
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.53rem;
	letter-spacing: 0.07em;
	line-height: 1.5;
	text-transform: uppercase;
}

.ranama-p03-proof__hierarchy strong {
	font-family: "Archivo", Arial, sans-serif;
	font-size: clamp(1.8rem, 3vw, 3.2rem);
	letter-spacing: -0.04em;
	line-height: 1;
	margin: 1.5rem 0 1rem;
}

.ranama-p03-proof__hierarchy p {
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.88rem;
	line-height: 1.55;
}

.ranama-p03-proof__hierarchy small {
	color: rgba(255, 255, 255, 0.55);
	margin-top: auto;
	padding-top: 1rem;
}

.ranama-p03-proof__content > p:not(.ranama-p03-kicker) {
	color: rgba(255, 255, 255, 0.73);
	font-size: 0.92rem;
	line-height: 1.7;
}

.ranama-p03-proof__content > p + p {
	margin-top: 0.7rem;
}

.ranama-p03-proof__content blockquote {
	border-left: 4px solid var(--ranama-amber);
	font-family: "Archivo", Arial, sans-serif;
	font-size: clamp(1.4rem, 2.1vw, 2.2rem);
	font-weight: 600;
	letter-spacing: -0.03em;
	line-height: 1.2;
	margin: 2rem 0;
	padding-left: 1.4rem;
}

/* Practical handover field. */
.ranama-p03-enquiry {
	background: var(--ranama-mist);
	padding: clamp(9rem, 13vw, 14rem) 0;
}

.ranama-p03-enquiry__heading {
	display: grid;
	grid-template-columns: 1.35fr 0.65fr;
}

.ranama-p03-enquiry h2 {
	font-size: clamp(3.8rem, 6.4vw, 7.2rem);
	grid-column: 1;
	margin-top: 2rem;
	max-width: 9em;
}

.ranama-p03-enquiry h2 em {
	color: var(--ranama-blue);
}

.ranama-p03-enquiry__summary {
	align-self: end;
	border-left: 3px solid var(--ranama-blue);
	color: var(--ranama-slate);
	display: grid;
	gap: 0.5rem;
	grid-column: 2;
	line-height: 1.7;
	padding: 0.25rem 0 0.25rem 2rem;
}

.ranama-p03-enquiry__field {
	display: grid;
	grid-template-columns: 0.48fr 0.52fr;
	margin-top: clamp(5rem, 8vw, 8rem);
	min-height: 52rem;
	position: relative;
}

.ranama-p03-enquiry__field::before {
	background: var(--ranama-blue);
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	top: -1.5rem;
	width: 67%;
	z-index: 3;
}

.ranama-p03-enquiry__image {
	clip-path: polygon(0 0, 88% 0, 88% 9%, 100% 9%, 100% 100%, 0 100%);
	height: 52rem;
	overflow: hidden;
	position: relative;
}

.ranama-p03-enquiry__image::after {
	background: linear-gradient(90deg, rgba(23, 38, 59, 0.04), rgba(23, 38, 59, 0.34));
	content: "";
	inset: 0;
	position: absolute;
}

.ranama-p03-enquiry__image img {
	height: 100%;
	object-fit: cover;
	object-position: 47% center;
	width: 100%;
}

.ranama-p03-enquiry__register {
	align-self: center;
	background: rgba(255, 255, 255, 0.97);
	box-shadow: 0 2rem 5rem rgba(23, 38, 59, 0.1);
	margin-left: -5rem;
	padding: clamp(2rem, 4vw, 4rem);
	position: relative;
	z-index: 2;
}

.ranama-p03-enquiry__meta {
	align-items: end;
	border-bottom: 3px solid var(--ranama-blue);
	display: grid;
	gap: 1rem;
	grid-template-columns: 0.6fr 1.4fr;
	padding-bottom: 1.4rem;
}

.ranama-p03-enquiry__meta span {
	color: var(--ranama-blue);
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.55rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ranama-p03-enquiry__meta strong {
	font-family: "Archivo", Arial, sans-serif;
	font-size: clamp(1.5rem, 2.4vw, 2.5rem);
	letter-spacing: -0.035em;
	line-height: 1.1;
}

.ranama-p03-enquiry__register ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}

.ranama-p03-enquiry__register li {
	border-bottom: 1px solid var(--ranama-p03-line);
	display: grid;
	font-size: 0.84rem;
	gap: 0.8rem;
	grid-template-columns: 1.7rem 1fr;
	line-height: 1.5;
	min-height: 5rem;
	padding: 1rem 0.8rem;
}

.ranama-p03-enquiry__register li:nth-child(odd) {
	border-right: 1px solid var(--ranama-p03-line);
	padding-left: 0;
}

.ranama-p03-enquiry__register li span {
	color: var(--ranama-amber);
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.55rem;
	font-weight: 600;
}

.ranama-p03-enquiry__register .ranama-p03-button {
	width: 100%;
}

/* Classification uncertainty is a deliberate exception lane. */
.ranama-p03-uncertain {
	background: var(--ranama-white);
	overflow: hidden;
	padding: clamp(8rem, 12vw, 13rem) 0;
}

.ranama-p03-uncertain__inner {
	display: grid;
	gap: clamp(3rem, 7vw, 7rem);
	grid-template-columns: 1.05fr 0.7fr 0.25fr;
}

.ranama-p03-uncertain h2 {
	font-size: clamp(3.6rem, 6vw, 6.8rem);
	margin-top: 2rem;
}

.ranama-p03-uncertain h2 em {
	color: var(--ranama-blue);
	display: block;
}

.ranama-p03-uncertain__body {
	align-self: end;
	color: var(--ranama-slate);
	display: grid;
	gap: 1rem;
	line-height: 1.72;
	padding-left: clamp(1.25rem, 2vw, 2rem);
	position: relative;
}

.ranama-p03-uncertain__body::before {
	background: var(--ranama-blue);
	bottom: -100vh;
	content: "";
	left: 0;
	position: absolute;
	top: -100vh;
	width: 1px;
}

.ranama-p03-uncertain__body p:nth-child(2),
.ranama-p03-uncertain__body p:last-child {
	color: var(--ranama-navy);
	font-weight: 700;
}

.ranama-p03-uncertain__callout {
	background: var(--ranama-amber);
	display: flex;
	flex-direction: column;
	grid-column: 1 / 3;
	margin-left: 12%;
	padding: clamp(2rem, 4vw, 4rem);
}

.ranama-p03-uncertain__callout span {
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.55rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.ranama-p03-uncertain__callout p {
	font-size: 1rem;
	margin-top: 2rem;
}

.ranama-p03-uncertain__callout strong {
	font-family: "Archivo", Arial, sans-serif;
	font-size: clamp(1.9rem, 3.4vw, 3.7rem);
	letter-spacing: -0.04em;
	line-height: 1.08;
	margin-top: 0.7rem;
}

/* Editorial preparation interval. */
.ranama-p03-preparation {
	background: var(--ranama-mist);
	padding: clamp(7rem, 10vw, 11rem) 0;
}

.ranama-p03-preparation::before {
	background: var(--ranama-amber);
	content: "";
	height: 3px;
	left: 0;
	position: absolute;
	top: 3rem;
	width: 38%;
}

.ranama-p03-preparation__inner {
	display: grid;
	gap: clamp(4rem, 10vw, 10rem);
	grid-template-columns: 1.15fr 0.85fr;
}

.ranama-p03-preparation h2 {
	font-size: clamp(3.4rem, 5.6vw, 6.3rem);
	margin-top: 2rem;
}

.ranama-p03-preparation h2 em {
	color: var(--ranama-blue);
	display: block;
}

.ranama-p03-preparation__copy {
	align-self: end;
	border-top: 3px solid var(--ranama-blue);
	padding-top: 1.5rem;
}

.ranama-p03-preparation__copy p {
	color: var(--ranama-slate);
	line-height: 1.72;
}

.ranama-p03-preparation__copy .ranama-p03-text-link {
	margin-top: 2rem;
}

/* Wider Ranama relationship remains visibly separate. */
.ranama-p03-wider {
	background: var(--ranama-navy);
	color: var(--ranama-white);
	padding: clamp(8rem, 12vw, 13rem) 0;
}

.ranama-p03-wider__line {
	border-top: 1px solid var(--ranama-amber);
	position: absolute;
	right: 0;
	top: 3.5rem;
	width: 44%;
}

.ranama-p03-wider__line span {
	background: var(--ranama-navy);
	color: rgba(255, 255, 255, 0.6);
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.52rem;
	letter-spacing: 0.08em;
	padding: 0 0.8rem;
	position: absolute;
	right: 11vw;
	top: -0.65rem;
	text-transform: uppercase;
}

.ranama-p03-wider__inner {
	display: grid;
	gap: clamp(4rem, 9vw, 9rem);
	grid-template-columns: 1.2fr 0.8fr;
}

.ranama-p03-wider h2 {
	font-size: clamp(3.8rem, 6.5vw, 7.2rem);
	margin-top: 2rem;
}

.ranama-p03-wider h2 em {
	color: var(--ranama-amber);
	display: block;
}

.ranama-p03-wider__copy {
	align-self: end;
	border-left: 1px solid rgba(255, 255, 255, 0.3);
	color: rgba(255, 255, 255, 0.72);
	padding-left: 2rem;
}

.ranama-p03-wider__copy p + p {
	margin-top: 1rem;
}

.ranama-p03-wider__copy .ranama-p03-text-link {
	margin-top: 2rem;
}

/* FAQ as a controlled question register. */
.ranama-p03-faq {
	background: var(--ranama-white);
	padding: clamp(9rem, 13vw, 14rem) 0;
}

.ranama-p03-faq::before {
	background: var(--ranama-blue);
	content: "";
	inset: 0 auto 0 33%;
	position: absolute;
	width: 1px;
}

.ranama-p03-faq__inner {
	display: grid;
	gap: clamp(4rem, 8vw, 8rem);
	grid-template-columns: 0.55fr 1.45fr;
}

.ranama-p03-faq h2 {
	font-size: clamp(3.5rem, 5.6vw, 6.5rem);
	margin-top: 2rem;
}

.ranama-p03-faq h2 em {
	color: var(--ranama-blue);
	display: block;
}

.ranama-p03-faq__heading > p:not(.ranama-p03-kicker) {
	color: var(--ranama-slate);
	font-size: 0.9rem;
	margin-top: 2rem;
}

.ranama-p03-faq__list {
	border-top: 4px solid var(--ranama-blue);
}

.ranama-p03-faq details {
	border-bottom: 1px solid var(--ranama-p03-line);
}

.ranama-p03-faq summary {
	align-items: center;
	cursor: pointer;
	display: grid;
	font-family: "Archivo", Arial, sans-serif;
	font-size: clamp(1.2rem, 1.8vw, 1.85rem);
	font-weight: 600;
	gap: 1.2rem;
	grid-template-columns: 2rem 1fr 2rem;
	letter-spacing: -0.025em;
	list-style: none;
	padding: 1.6rem 0;
}

.ranama-p03-faq summary::-webkit-details-marker {
	display: none;
}

.ranama-p03-faq summary span {
	color: var(--ranama-amber);
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.6rem;
	letter-spacing: 0.08em;
}

.ranama-p03-faq summary i {
	color: var(--ranama-blue);
	font-family: "Noto Sans Mono", monospace;
	font-style: normal;
	justify-self: end;
	transition: transform 180ms ease;
}

.ranama-p03-faq details[open] summary i {
	transform: rotate(45deg);
}

.ranama-p03-faq details > p {
	color: var(--ranama-slate);
	font-size: 0.95rem;
	line-height: 1.72;
	max-width: 52rem;
	padding: 0 2rem 1.1rem 3.2rem;
}

.ranama-p03-faq details > p:last-child {
	padding-bottom: 1.8rem;
}

.ranama-p03-faq details a {
	border-bottom: 1px solid var(--ranama-blue);
	color: var(--ranama-blue);
	font-weight: 700;
}

/* The chamber opens into a clear commercial next step. */
.ranama-p03-conversion {
	background: linear-gradient(118deg, var(--ranama-blue), var(--ranama-navy));
	color: var(--ranama-white);
	padding: clamp(9rem, 13vw, 14rem) 0 clamp(6rem, 9vw, 9rem);
}

.ranama-p03-conversion__grid {
	background-image: linear-gradient(rgba(255, 255, 255, 0.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.055) 1px, transparent 1px);
	background-size: 8rem 8rem;
	inset: 0;
	position: absolute;
}

.ranama-p03-conversion__inner {
	padding: clamp(3rem, 6vw, 6rem);
	position: relative;
	z-index: 1;
}

.ranama-p03-conversion__statement {
	display: grid;
	gap: clamp(4rem, 9vw, 9rem);
	grid-template-columns: 1.35fr 0.65fr;
	margin-top: clamp(3rem, 6vw, 6rem);
}

.ranama-p03-conversion h2 {
	font-size: clamp(4.2rem, 7.4vw, 8.3rem);
	max-width: 7.2em;
}

.ranama-p03-conversion h2 em {
	color: var(--ranama-amber);
	display: block;
}

.ranama-p03-conversion__statement > div {
	align-self: end;
	border-top: 1px solid rgba(255, 255, 255, 0.4);
	color: rgba(255, 255, 255, 0.72);
	line-height: 1.7;
	padding-top: 1.5rem;
}

.ranama-p03-conversion__statement > div p + p {
	margin-top: 1rem;
}

.ranama-p03-conversion__actions {
	margin-top: clamp(3rem, 6vw, 6rem);
}

.ranama-p03-conversion__handover {
	max-width: 100%;
	width: fit-content;
}

.ranama-p03-conversion__route {
	height: clamp(4.5rem, 7vw, 7rem);
	margin-top: 1rem;
	position: relative;
}

.ranama-p03-conversion__route i {
	background: var(--ranama-amber);
	display: block;
	position: absolute;
}

.ranama-p03-conversion__route i:first-child {
	bottom: 1rem;
	left: 18%;
	top: 0;
	width: 2px;
}

.ranama-p03-conversion__route i:last-child {
	bottom: 1rem;
	height: 2px;
	left: 18%;
	right: 0;
}

.ranama-p03-conversion__signature {
	border-top: 1px solid rgba(255, 255, 255, 0.28);
	font-family: "Archivo", Arial, sans-serif;
	font-size: clamp(1.4rem, 2.4vw, 2.5rem);
	font-weight: 600;
	letter-spacing: -0.03em;
	margin-top: 1rem !important;
	padding-top: 1.5rem;
	text-align: right;
}

/* Shared colophon. */
.ranama-home-footer {
	background: var(--ranama-ink);
	color: var(--ranama-white);
	font-family: "Noto Sans", Arial, sans-serif;
	padding: 0 0 3rem;
}

.ranama-home-footer__line {
	background: rgba(255, 255, 255, 0.12);
	height: 1px;
	position: relative;
}

.ranama-home-footer__line span {
	background: var(--ranama-amber);
	display: block;
	height: 3px;
	width: 28%;
}

.ranama-home-footer__inner {
	display: grid;
	gap: 4rem;
	grid-template-columns: 1fr auto;
	margin-inline: auto;
	padding-top: clamp(5rem, 8vw, 8rem);
	width: var(--ranama-p03-shell);
}

.ranama-home-footer__brand img {
	height: auto;
	width: 10rem;
}

.ranama-home-footer__quote {
	align-items: center;
	align-self: start;
	background: var(--ranama-amber);
	color: var(--ranama-ink) !important;
	display: flex;
	font-size: 0.7rem;
	font-weight: 700;
	gap: 2.5rem;
	justify-self: end;
	letter-spacing: 0.05em;
	min-height: 3.4rem;
	padding: 0 1.25rem;
	text-transform: uppercase;
}

.ranama-home-footer__nav {
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
	grid-column: 1 / -1;
	grid-template-columns: 1.15fr 1fr 0.72fr 0.72fr;
}

.ranama-home-footer__group {
	align-content: start;
	border-top: 1px solid rgba(255, 255, 255, 0.24);
	display: grid;
}

.ranama-home-footer__group > p {
	color: var(--ranama-amber);
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.53rem;
	font-weight: 600;
	letter-spacing: 0.09em;
	padding: 1rem 0 0.7rem;
	text-transform: uppercase;
}

.ranama-home-footer__group a {
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	font-size: 0.72rem;
	font-weight: 600;
	padding: 0.8rem 0;
}

.ranama-home-footer__group a:hover {
	color: var(--ranama-amber);
}

.ranama-home-footer__meta {
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	color: rgba(255, 255, 255, 0.48);
	display: flex;
	font-family: "Noto Sans Mono", monospace;
	font-size: 0.52rem;
	grid-column: 1 / -1;
	justify-content: space-between;
	letter-spacing: 0.07em;
	padding-top: 1rem;
	text-transform: uppercase;
}

/* Progressive enhancement only after JavaScript opts in. */
html.ranama-p03-motion [data-p03-reveal] {
	opacity: 0;
	transform: translateY(2rem);
	transition: opacity 740ms cubic-bezier(0.22, 1, 0.36, 1), transform 740ms cubic-bezier(0.22, 1, 0.36, 1);
}

html.ranama-p03-motion [data-p03-reveal].is-in-view {
	opacity: 1;
	transform: translateY(0);
}

html.ranama-p03-motion .ranama-p03-boundary i {
	transform: scale(0);
	transition: transform 1050ms cubic-bezier(0.22, 1, 0.36, 1);
}

html.ranama-p03-motion .ranama-p03-boundary__top,
html.ranama-p03-motion .ranama-p03-boundary__bottom {
	transform-origin: left center;
}

html.ranama-p03-motion .ranama-p03-boundary__left,
html.ranama-p03-motion .ranama-p03-boundary__right {
	transform-origin: center top;
}

html.ranama-p03-motion .ranama-p03-hero__stem {
	transform: scaleY(0);
	transition: transform 1050ms cubic-bezier(0.22, 1, 0.36, 1);
}

html.ranama-p03-motion [data-p03-chamber].is-chamber-active .ranama-p03-boundary i,
html.ranama-p03-motion [data-p03-chamber].is-chamber-active .ranama-p03-hero__stem {
	transform: scale(1);
}

html.ranama-p03-motion .ranama-p03-handover__line::after {
	transform: scaleX(0);
	transition: transform 900ms cubic-bezier(0.22, 1, 0.36, 1);
}

html.ranama-p03-motion .ranama-p03-handover.is-handover-active .ranama-p03-handover__line--before::after {
	transform: scaleX(1);
}

html.ranama-p03-motion .ranama-p03-handover.is-handover-active .ranama-p03-handover__line--after::after {
	transform: scaleX(1);
	transition-delay: 480ms;
}

html.ranama-p03-motion .ranama-p03-handover__gate {
	transition: box-shadow 500ms ease, background-color 500ms ease;
}

html.ranama-p03-motion .ranama-p03-handover.is-handover-active .ranama-p03-handover__gate {
	box-shadow: 0 0 0 1rem rgba(217, 154, 43, 0.1);
}

html.ranama-p03-motion .ranama-p03-conversion__route i:first-child {
	transform: scaleY(0);
	transform-origin: center top;
	transition: transform 720ms cubic-bezier(0.22, 1, 0.36, 1);
}

html.ranama-p03-motion .ranama-p03-conversion__route i:last-child {
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 560ms 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

html.ranama-p03-motion .ranama-p03-conversion.is-chamber-active .ranama-p03-conversion__route i {
	transform: scale(1);
}

/* Laptop. */
@media (max-width: 1280px) {
	.ranama-p03-hero__chamber {
		--ranama-p03-hero-route-x: 12.1712vw;
	}

	.ranama-home-header__menu > li > a,
	.ranama-home-header__menu > li > button {
		padding-inline: 0.7rem;
	}

	.ranama-p03-hero h1 {
		font-size: clamp(4rem, 7.2vw, 7rem);
	}

	.ranama-p03-hero__brief {
		grid-column: 7 / -1;
	}

	.ranama-p03-capability__content {
		margin-left: -3rem;
		padding: 4rem;
	}

	.ranama-p03-handover__step h3 {
		font-size: clamp(1.45rem, 2.15vw, 2.25rem);
	}

	.ranama-p03-scope__guidance {
		grid-template-columns: 0.7fr 1fr;
	}

	.ranama-p03-scope__guidance .ranama-p03-button {
		grid-column: 2;
		justify-self: start;
	}
}

/* Compact navigation and tablet composition. */
@media (max-width: 1080px) {
	:root {
		--ranama-p03-shell: min(1400px, calc(100vw - 3rem));
	}

	.ranama-home-header__bar {
		grid-template-columns: auto 1fr auto;
		width: calc(100vw - 3rem);
	}

	.ranama-home-header__toggle {
		align-items: center;
		display: flex;
		gap: 1rem;
		grid-column: 3;
		justify-self: end;
	}

	.ranama-home-header__toggle-label {
		font-family: "Noto Sans Mono", monospace;
		font-size: 0.6rem;
		letter-spacing: 0.09em;
		text-transform: uppercase;
	}

	.ranama-home-header__toggle-lines {
		display: grid;
		gap: 0.4rem;
		width: 1.6rem;
	}

	.ranama-home-header__toggle-lines i {
		background: currentColor;
		display: block;
		height: 1px;
		transition: transform 220ms ease;
	}

	.ranama-home-header__nav {
		background: var(--ranama-navy);
		display: block;
		height: auto;
		left: 0;
		padding: 1.5rem;
		position: absolute;
		right: 0;
		top: 5.25rem;
	}

	.ranama-home-header__menu {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		height: auto;
	}

	html.ranama-p03-js .ranama-home-header__nav {
		opacity: 0;
		pointer-events: none;
		transform: translateY(-0.75rem);
		transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
		visibility: hidden;
	}

	html.ranama-p03-js .ranama-home-header.is-menu-open .ranama-home-header__nav {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
		visibility: visible;
	}

	.ranama-home-header__menu > li {
		display: block;
	}

	.ranama-home-header__menu > li > a,
	.ranama-home-header__menu > li > button {
		border-top: 1px solid rgba(255, 255, 255, 0.22);
		justify-content: space-between;
		min-height: 3.5rem;
		width: 100%;
	}

	.ranama-home-header__menu > li:last-child {
		grid-column: 1 / -1;
	}

	.ranama-home-header__menu .ranama-home-header__quote {
		justify-content: space-between;
		margin: 1rem 0 0;
	}

	.ranama-home-header__submenu,
	.ranama-home-header__item--products .ranama-home-header__submenu {
		border-top-width: 1px;
		display: none;
		left: auto;
		min-width: 0;
		opacity: 1;
		padding: 0 1rem 1rem;
		pointer-events: auto;
		position: static;
		transform: none;
		visibility: visible;
	}

	.ranama-home-header__item--has-submenu.is-submenu-open > .ranama-home-header__submenu,
	html:not(.ranama-p03-js) .ranama-home-header__submenu {
		display: grid;
	}

	.ranama-home-header.is-menu-open .ranama-home-header__toggle-lines i:first-child {
		transform: translateY(0.2rem) rotate(45deg);
	}

	.ranama-home-header.is-menu-open .ranama-home-header__toggle-lines i:last-child {
		transform: translateY(-0.2rem) rotate(-45deg);
	}

	.ranama-p03-hero {
		min-height: 79rem;
	}

	.ranama-p03-hero__chamber {
		--ranama-p03-hero-route-x: calc(12.9vw - 0.4rem);
		grid-template-rows: auto 26rem auto;
		min-height: 65rem;
		padding: 3rem;
	}

	.ranama-p03-boundary--hero .ranama-p03-boundary__right {
		height: 4.5rem;
	}

	.ranama-p03-hero__stem {
		left: calc(12.9vw - 3.4rem);
	}

	.ranama-p03-hero__heading {
		grid-column: 1 / -1;
	}

	.ranama-p03-hero__coordinate {
		display: none;
	}

	.ranama-p03-hero__image {
		grid-column: 1 / 10;
		height: 32rem;
	}

	.ranama-p03-hero__brief {
		grid-column: 7 / -1;
		margin-left: -3rem;
		padding: 2.5rem;
	}

	.ranama-p03-manifest__field {
		grid-template-columns: 0.32fr 0.68fr;
	}

	.ranama-p03-manifest__callout {
		grid-template-columns: 1fr 1fr;
	}

	.ranama-p03-manifest__callout span {
		grid-column: 1 / -1;
	}

	.ranama-p03-context__inner {
		grid-template-columns: 1fr 0.36fr;
	}

	.ranama-p03-context__heading,
	.ranama-p03-context__body {
		grid-column: 1;
	}

	.ranama-p03-context__stat,
	.ranama-p03-context__callout {
		grid-column: 2;
	}

	.ranama-p03-context__stat {
		grid-row: 1;
	}

	.ranama-p03-context__callout {
		grid-row: 2;
	}

	.ranama-p03-capability__chamber {
		grid-template-columns: 0.9fr 1.1fr;
	}

	.ranama-p03-capability__image {
		margin-left: -2rem;
	}

	.ranama-p03-capability__content {
		margin-left: -4rem;
		padding: 3rem;
	}

	.ranama-p03-handover__field {
		min-height: 62rem;
	}

	.ranama-p03-handover__steps {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.ranama-p03-handover__step--01 { grid-column: 1 / 3; }
	.ranama-p03-handover__step--02 { grid-column: 3 / 5; }
	.ranama-p03-handover__step--03 { grid-column: 5 / 7; }
	.ranama-p03-handover__step--04 { grid-column: 2 / 4; margin-top: 7rem; }
	.ranama-p03-handover__step--05 { grid-column: 4 / 6; margin-top: 7rem; }

	.ranama-p03-handover__line--after {
		left: 58%;
		right: auto;
		width: 38%;
	}

	.ranama-p03-scope__chamber {
		grid-template-columns: 0.24fr 0.76fr;
	}

	.ranama-p03-scope__codes {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.ranama-p03-scope__codes li {
		border: 0;
		padding: 1.2rem;
	}

	.ranama-p03-scope__guidance {
		grid-template-columns: 1fr 1.2fr;
	}

	.ranama-p03-evidence__inner {
		grid-template-columns: 1fr;
	}

	.ranama-p03-evidence__records,
	.ranama-p03-evidence__inner > .ranama-p03-text-link {
		grid-column: 1;
	}

	.ranama-p03-evidence__heading {
		max-width: 42rem;
	}

	.ranama-p03-proof__chamber {
		grid-template-columns: 0.38fr 0.62fr;
	}

	.ranama-p03-proof__document {
		height: 42rem;
		padding: 1rem;
	}

	.ranama-p03-enquiry__field {
		grid-template-columns: 0.42fr 0.58fr;
	}

	.ranama-p03-enquiry__register {
		margin-left: -3rem;
	}

	.ranama-p03-uncertain__inner {
		grid-template-columns: 1fr 0.8fr;
	}

	.ranama-p03-uncertain__callout {
		grid-column: 1 / -1;
	}

	.ranama-p03-faq__inner {
		grid-template-columns: 0.7fr 1.3fr;
	}

	.ranama-p03-conversion__statement {
		grid-template-columns: 1.2fr 0.8fr;
	}

	.ranama-p03-conversion__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.ranama-p03-conversion__actions > * {
		width: 100%;
	}

	.ranama-p03-conversion__handover {
		width: 100%;
	}
}

/* Mobile: the chamber becomes a persistent edge and the handover becomes vertical. */
@media (max-width: 767px) {
	:root {
		--ranama-p03-shell: calc(100vw - 2rem);
	}

	body.admin-bar .ranama-home-header {
		top: 46px;
	}

	.ranama-home-header__bar {
		height: 4.5rem;
		width: calc(100vw - 2rem);
	}

	.ranama-home-header__brand img {
		width: 7rem;
	}

	.ranama-home-header__nav {
		max-height: calc(100svh - 4.5rem);
		overflow-y: auto;
		padding: 1rem;
		top: 4.5rem;
	}

	.ranama-home-header__menu {
		grid-template-columns: 1fr;
	}

	.ranama-home-header__menu > li:last-child {
		grid-column: 1;
	}

	.ranama-p03 {
		font-size: 15px;
	}

	.ranama-p03-kicker,
	.ranama-p03-micro {
		font-size: 0.56rem;
	}

	.ranama-p03-button,
	.ranama-p03-text-link {
		font-size: 0.65rem;
	}

	.ranama-p03-hero {
		min-height: 84rem;
		padding-top: 4.5rem;
	}

	.ranama-p03-hero__shell {
		padding-top: 1.5rem;
	}

	.ranama-p03-breadcrumb {
		font-size: 0.47rem;
		gap: 0.35rem;
	}

	.ranama-p03-breadcrumb strong {
		flex-basis: 100%;
	}

	.ranama-p03-hero__chamber {
		--ranama-p03-hero-route-x: 1.6rem;
		display: flex;
		flex-direction: column;
		min-height: 0;
		padding: 2.5rem 0 4rem 1.6rem;
	}

	.ranama-p03-boundary--hero .ranama-p03-boundary__top {
		left: 1.6rem;
		right: 22%;
	}

	.ranama-p03-boundary--hero .ranama-p03-boundary__right {
		right: 22%;
	}

	.ranama-p03-boundary--hero .ranama-p03-boundary__bottom {
		left: var(--ranama-p03-hero-route-x);
	}

	.ranama-p03-hero h1 {
		font-size: clamp(3.5rem, 16vw, 5rem);
		margin-top: 1.5rem;
	}

	.ranama-p03-hero__stem {
		left: -1rem;
	}

	.ranama-p03-hero__heading {
		padding: 0 1rem 2.5rem;
	}

	.ranama-p03-hero__image {
		height: 23rem;
		margin-left: -1.6rem;
		width: calc(100% + 1.6rem);
	}

	.ranama-p03-hero__image img {
		object-position: 55% center;
	}

	.ranama-p03-hero__brief {
		margin: -3rem 0 0 1rem;
		padding: 4.5rem 1.4rem 1.8rem;
	}

	.ranama-p03-hero__gate {
		right: -1rem;
		top: 38%;
	}

	.ranama-p03-hero__proof {
		grid-template-columns: 1fr;
		margin-top: 1.5rem;
	}

	.ranama-p03-hero__proof p,
	.ranama-p03-hero__proof p:first-child {
		border-bottom: 1px solid var(--ranama-p03-line);
		border-right: 0;
		padding: 0.7rem 0;
	}

	.ranama-p03-manifest,
	.ranama-p03-context,
	.ranama-p03-capability,
	.ranama-p03-handover,
	.ranama-p03-scope,
	.ranama-p03-evidence,
	.ranama-p03-proof,
	.ranama-p03-enquiry,
	.ranama-p03-uncertain,
	.ranama-p03-preparation,
	.ranama-p03-wider,
	.ranama-p03-faq {
		padding-block: 6rem;
	}

	.ranama-p03-manifest::before {
		height: 4.5rem;
	}

	.ranama-p03-manifest__intro,
	.ranama-p03-context__inner,
	.ranama-p03-preparation__inner,
	.ranama-p03-wider__inner,
	.ranama-p03-faq__inner,
	.ranama-p03-conversion__statement {
		grid-template-columns: 1fr;
	}

	.ranama-p03-manifest h2,
	.ranama-p03-context h2,
	.ranama-p03-capability h2,
	.ranama-p03-scope h2,
	.ranama-p03-evidence h2,
	.ranama-p03-proof h2,
	.ranama-p03-enquiry h2,
	.ranama-p03-uncertain h2,
	.ranama-p03-preparation h2,
	.ranama-p03-wider h2,
	.ranama-p03-faq h2 {
		font-size: clamp(3rem, 13.5vw, 4.45rem);
	}

	.ranama-p03-manifest__field {
		display: block;
	}

	.ranama-p03-manifest__meta {
		display: grid;
		gap: 1.5rem;
		grid-template-columns: 1fr 1fr;
		min-height: 0;
		padding: 1.5rem;
	}

	.ranama-p03-manifest__meta strong {
		font-size: 2.4rem;
		grid-column: 1 / -1;
	}

	.ranama-p03-manifest__meta small {
		justify-self: end;
		text-align: right;
	}

	.ranama-p03-manifest__register {
		grid-template-columns: 1fr;
	}

	.ranama-p03-manifest__register li,
	.ranama-p03-manifest__register li:nth-child(odd) {
		border-left: 1px solid var(--ranama-p03-line);
		min-height: 5.5rem;
	}

	.ranama-p03-manifest__callout {
		grid-template-columns: 1fr;
	}

	.ranama-p03-context__heading,
	.ranama-p03-context__body,
	.ranama-p03-context__stat,
	.ranama-p03-context__callout,
	.ranama-p03-context__source {
		grid-column: 1;
		grid-row: auto;
	}

	.ranama-p03-context__stat {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.3);
		padding: 2rem 0 0;
	}

	.ranama-p03-context__stat strong {
		font-size: 7rem;
	}

	.ranama-p03-context__body {
		grid-template-columns: 1fr;
	}

	.ranama-p03-context__callout p {
		margin-top: 2.5rem;
	}

	.ranama-p03-context__source span {
		display: block;
		margin-bottom: 0.5rem;
	}

	.ranama-p03-capability__chamber {
		display: block;
		min-height: 0;
		padding: 2rem 0 3rem 1.5rem;
	}

	.ranama-p03-capability__image {
		height: 24rem;
		margin: 2rem 0 0 -1.5rem;
		min-height: 0;
		width: calc(100% + 1.5rem);
	}

	.ranama-p03-capability__content {
		margin: -3rem 0 0 1rem;
		padding: 4.5rem 1.5rem 2rem;
	}

	.ranama-p03-capability__edge {
		display: none;
	}

	.ranama-p03-boundary--capability .ranama-p03-boundary__top {
		left: 1.5rem;
	}

	.ranama-p03-boundary--capability .ranama-p03-boundary__bottom {
		bottom: 0;
	}

	.ranama-p03-boundary--capability .ranama-p03-boundary__right {
		bottom: 0;
	}

	.ranama-p03-boundary--capability .ranama-p03-boundary__left {
		bottom: 0;
		height: 72%;
	}

	.ranama-p03-handover h2 {
		font-size: clamp(3.5rem, 15vw, 5rem);
	}

	.ranama-p03-handover__field {
		min-height: 0;
		padding: 5rem 0 0 3.2rem;
	}

	.ranama-p03-handover__labels {
		display: none;
	}

	.ranama-p03-handover__line {
		height: auto;
		left: 0.9rem;
		right: auto;
		width: 3px;
	}

	.ranama-p03-handover__line--before {
		height: 22rem;
		top: 5rem;
	}

	.ranama-p03-handover__line--after {
		height: 33rem;
		top: 49rem;
	}

	.ranama-p03-handover__line::after {
		transform-origin: center top;
	}

	html.ranama-p03-motion .ranama-p03-handover__line::after {
		transform: scaleY(0);
	}

	html.ranama-p03-motion .ranama-p03-handover.is-handover-active .ranama-p03-handover__line::after {
		transform: scaleY(1);
	}

	.ranama-p03-handover__gate {
		height: 8rem;
		left: -0.9rem;
		top: 29rem;
		transform: none;
		width: 7rem;
	}

	.ranama-p03-handover__steps {
		display: flex;
		flex-direction: column;
		gap: 3.5rem;
	}

	.ranama-p03-handover__step,
	.ranama-p03-handover__step--01,
	.ranama-p03-handover__step--02,
	.ranama-p03-handover__step--03,
	.ranama-p03-handover__step--04,
	.ranama-p03-handover__step--05 {
		background: transparent;
		margin: 0;
		padding: 0;
	}

	.ranama-p03-handover__step--03 {
		background: var(--ranama-blue);
		margin: 5rem 0 3rem -1.4rem;
		padding: 1.5rem;
	}

	.ranama-p03-handover__step h3 {
		font-size: 2.15rem;
	}

	.ranama-p03-scope__grid,
	.ranama-p03-proof::before,
	.ranama-p03-conversion__grid {
		background-size: 4.5rem 4.5rem;
	}

	.ranama-p03-scope__chamber {
		display: block;
		min-height: 0;
		padding-bottom: 6rem;
	}

	.ranama-p03-scope__chamber::before {
		clip-path: none;
		inset: 1rem;
	}

	.ranama-p03-scope__licence {
		display: grid;
		gap: 1.5rem;
		grid-template-columns: 1fr auto;
		min-height: 0;
		padding: 2rem;
	}

	.ranama-p03-scope__licence strong {
		font-size: 3.2rem;
		grid-column: 1 / -1;
		transform: none;
	}

	.ranama-p03-scope__licence small {
		justify-self: end;
		text-align: right;
	}

	.ranama-p03-scope__heading {
		padding: 4rem 2rem 2rem;
	}

	.ranama-p03-scope__codes {
		grid-template-columns: 1fr 1fr;
		margin: 0 2rem;
		padding: 0;
	}

	.ranama-p03-scope__codes li,
	.ranama-p03-scope__codes li:not(:nth-child(3n + 1)),
	.ranama-p03-scope__codes li:not(:nth-child(4n + 1)) {
		border: 0;
		padding: 1.2rem;
	}

	.ranama-p03-scope__guidance {
		display: block;
		margin: 3rem 2rem 0;
		padding-bottom: 2rem;
	}

	.ranama-p03-scope__guidance > * + * {
		margin-top: 1.5rem;
	}

	.ranama-p03-scope__guidance .ranama-p03-button {
		width: 100%;
	}

	.ranama-p03-scope__edge {
		bottom: 1rem;
		right: 1rem;
	}

	.ranama-p03-evidence__records,
	.ranama-p03-proof__chamber,
	.ranama-p03-enquiry__field,
	.ranama-p03-uncertain__inner {
		grid-template-columns: 1fr;
	}

	.ranama-p03-evidence__record {
		border-left: 1px solid var(--ranama-p03-line);
		min-height: 31rem;
		padding: 2rem 1.5rem;
	}

	.ranama-p03-proof__document {
		height: 34rem;
		margin: 0 auto;
		width: min(82vw, 27rem);
	}

	.ranama-p03-proof__hierarchy {
		grid-template-columns: 1fr;
		margin-top: 3rem;
	}

	.ranama-p03-proof__hierarchy > div:first-child {
		border-right: 0;
	}

	.ranama-p03-proof__hierarchy > div {
		min-height: 14rem;
	}

	.ranama-p03-enquiry__heading {
		display: block;
	}

	.ranama-p03-enquiry__summary {
		margin-top: 2rem;
		padding-left: 1.5rem;
	}

	.ranama-p03-enquiry__field {
		min-height: 0;
	}

	.ranama-p03-enquiry__field::before {
		top: -1.25rem;
		width: 74%;
	}

	.ranama-p03-enquiry__image {
		height: 28rem;
	}

	.ranama-p03-enquiry__image img {
		object-position: 52% 35%;
	}

	.ranama-p03-enquiry__register {
		margin: -3rem 1rem 0;
		padding: 4.5rem 1.3rem 1.5rem;
	}

	.ranama-p03-enquiry__meta {
		grid-template-columns: 1fr;
	}

	.ranama-p03-enquiry__register ul {
		grid-template-columns: 1fr;
	}

	.ranama-p03-enquiry__register li:nth-child(odd) {
		border-right: 0;
	}

	.ranama-p03-uncertain__body {
		padding-left: 1.25rem;
	}

	.ranama-p03-uncertain__callout {
		grid-column: 1;
		margin: 0 1rem 0 0;
	}

	.ranama-p03-preparation__copy,
	.ranama-p03-wider__copy {
		margin-top: 0;
	}

	.ranama-p03-faq::before {
		display: none;
	}

	.ranama-p03-faq__list {
		margin-top: 0;
	}

	.ranama-p03-faq summary {
		font-size: 1.18rem;
		grid-template-columns: 1.5rem 1fr 1rem;
	}

	.ranama-p03-faq details > p {
		padding-left: 2.7rem;
	}

	.ranama-p03-conversion {
		padding: 7rem 0 6rem;
	}

	.ranama-p03-conversion__inner {
		padding: 3rem 1.5rem;
	}

	.ranama-p03-conversion h2 {
		font-size: clamp(3.6rem, 16vw, 5.2rem);
	}

	.ranama-p03-conversion__statement > div {
		margin-top: 3rem;
	}

	.ranama-p03-conversion__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.ranama-p03-conversion__actions > * {
		width: 100%;
	}

	.ranama-p03-conversion__handover {
		width: 100%;
	}

	.ranama-p03-conversion__route i:first-child {
		left: 2rem;
	}

	.ranama-p03-conversion__route i:last-child {
		left: 2rem;
		right: 0;
	}

	.ranama-p03-conversion__signature {
		font-size: 1.35rem;
		text-align: left;
	}

	.ranama-home-footer__inner {
		display: block;
		padding-top: 5rem;
	}

	.ranama-home-footer__quote {
		margin-top: 3rem;
	}

	.ranama-home-footer__nav {
		grid-template-columns: 1fr;
		margin-top: 4rem;
	}

	.ranama-home-footer__meta {
		flex-direction: column;
		gap: 0.7rem;
		margin-top: 4rem;
	}
}

@media (max-width: 390px) {
	.ranama-p03-hero h1 {
		font-size: clamp(3.05rem, 15.5vw, 4rem);
	}

	.ranama-p03-hero__brief {
		margin-left: 0;
	}

	.ranama-p03-hero__gate span {
		font-size: 0.46rem;
	}

	.ranama-p03-manifest h2,
	.ranama-p03-context h2,
	.ranama-p03-capability h2,
	.ranama-p03-scope h2,
	.ranama-p03-evidence h2,
	.ranama-p03-proof h2,
	.ranama-p03-enquiry h2,
	.ranama-p03-uncertain h2,
	.ranama-p03-preparation h2,
	.ranama-p03-wider h2,
	.ranama-p03-faq h2 {
		font-size: clamp(2.7rem, 13vw, 3.7rem);
	}

	.ranama-p03-scope__codes {
		grid-template-columns: 1fr;
	}

	.ranama-p03-scope__codes li,
	.ranama-p03-scope__codes li:nth-child(even) {
		border: 0;
		padding: 1.2rem;
	}

	.ranama-p03-proof__document {
		height: 29rem;
	}

	.ranama-p03-handover__step h3 {
		font-size: 1.9rem;
	}
}

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

	.ranama-p03 *,
	.ranama-p03 *::before,
	.ranama-p03 *::after,
	.ranama-home-header *,
	.ranama-home-footer * {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	html.ranama-p03-motion [data-p03-reveal] {
		opacity: 1;
		transform: none;
	}

	html.ranama-p03-motion .ranama-p03-boundary i,
	html.ranama-p03-motion .ranama-p03-handover__line::after {
		transform: none;
	}
}

/* Match the approved homepage closing-signature scale and spacing. */
.ranama-p03-conversion__signature {
	border-top: 1px solid rgba(255, 255, 255, 0.28);
	font-size: clamp(1.3rem, 2.5vw, 2.5rem);
	letter-spacing: -0.03em;
	/* The preceding route occupies part of the homepage-equivalent CTA-to-rule gap. */
	margin-top: clamp(0.5rem, 2vw, 2rem) !important;
	padding-top: 1.8rem;
}

@media (max-width: 767px) {
	.ranama-p03-conversion__signature {
		font-size: 1.45rem;
		text-align: left;
	}
}
