@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url("/letterset/poppins-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url("/letterset/poppins-latin-500-normal.woff2") format("woff2");}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url("/letterset/poppins-latin-600-normal.woff2") format("woff2");}
@font-face{font-family:"Poppins";font-style:normal;font-weight:700;font-display:swap;src:url("/letterset/poppins-latin-700-normal.woff2") format("woff2");}

:root{
	--colour-primary:#fdca10;
	--colour-zest:#fabb01;
	--colour-press:#da9d00;
	--colour-page:#281131;
	--colour-layer:#34193f;
	--colour-fg:#FFFFFF;
	--colour-subtle:#c0bfbf;
	--colour-border:#4a3155;
	--colour-line-strong:#6a4a77;
	--colour-grad-1:#23112a;
	--colour-fade-bottom:#3d2a45;
	--colour-advisory:#8b1e3f;
	--space-hair:4px;
	--space-tiny:12px;
	--space-snug:20px;
	--space-base:36px;
	--space-wide:56px;
	--space-roomy:84px;
	--space-vast:120px;
	--space-huge:180px;
	--space-band:44px;
	--corner-hair:2px;
	--corner-tiny:4px;
	--corner-snug:8px;
	--corner-base:12px;
	--corner-wide:16px;
	--corner-roomy:20px;
	--corner-vast:24px;
	--corner-huge:32px;
	--corner-capsule:9999px;
	--corner-orb:50%;
	--font-display:"Poppins",Arial,sans-serif;
	--font-text:"Poppins",Arial,sans-serif;
	--type-size-display-1:48px;
	--type-size-xl-2:36px;
	--type-size-h3:26px;
	--type-size-display-4:21px;
	--type-size-h5:18px;
	--type-size-micro-head:16px;
	--type-size-normal:19px;
	--type-size-caption:16px;
	--type-size-xs:14px;
	--line-compact:1.2;
	--line-base:1.7;
	--line-airy:2;
	--weight-normal:400;
	--weight-mid:500;
	--weight-strong:600;
	--spacing-tight:-0.01em;
	--spacing-regular:0;
	--spacing-wide:0.02em;
	--shadow-hair:none;
	--shadow-tiny:none;
	--shadow-snug:none;
	--shadow-base:none;
	--shadow-wide:0 8px 24px rgba(0,0,0,0.10);
	--shadow-roomy:0 8px 24px rgba(0,0,0,0.10);
	--shadow-vast:0 8px 24px rgba(0,0,0,0.10);
	--shadow-huge:0 8px 24px rgba(0,0,0,0.10);
	--border-slim:1px;
	--border-mid:2px;
	--border-heavy:3px;
	--dur-brisk:118ms;
	--dur-steady:230ms;
	--dur-slow:398ms;
	--easing-release:cubic-bezier(0.33, 0.68, 0.46, 0.92);
	--easing-start:cubic-bezier(0.35, 0.07, 0.30, 0.97);
	--easing-in-out:cubic-bezier(0.35, 0.07, 0.30, 0.97);
	--easing-overshoot:cubic-bezier(0.43, 1.25, 0.58, 1.30);
	--wrap-site:1200px;
	--wrap-text:1200px;
	--wrap-brief:490px;
	--wrap-padding-desktop:48px;
	--wrap-pad-md:32px;
	--wrap-pad-sm:16px;
	--wrap-edge:calc(var(--wrap-site) + 2 * var(--wrap-padding-desktop));
	--nav-height-desktop:56px;
	--nav-size-mobile:56px;
}

/* ---------------------------------------------------------- reset + base */
*,*::before,*::after{box-sizing:border-box;}
html,body{overflow-x:clip;}
html{scroll-behavior:smooth;}
body{
	margin:0;
	background:var(--colour-page);
	color:var(--colour-fg);
	font-family:var(--font-text);
	font-size:var(--type-size-normal);
	font-weight:var(--weight-normal);
	line-height:var(--line-airy);
	display:flex;
	flex-direction:column;
	min-height:100vh;
	opacity:0;
	transition:opacity var(--dur-slow) var(--easing-release);
}
body.is-lit{opacity:1;}
.sheet{flex:1 0 auto;}
img{max-width:100%;}
h1,h2,h3,h4,h5,h6{
	font-family:var(--font-display);
	font-weight:var(--weight-strong);
	line-height:var(--line-compact);
	letter-spacing:var(--spacing-tight);
	overflow-wrap:anywhere;
	margin:0 0 var(--space-snug);
}
h1{font-size:clamp(30px, 4vw, var(--type-size-display-1));}
h2{font-size:clamp(26px, 3vw, var(--type-size-xl-2));}
h3{font-size:clamp(21px, 2.2vw, var(--type-size-h3));font-family:var(--font-text);}
h4{font-size:var(--type-size-display-4);font-family:var(--font-text);}
h6{font-size:var(--type-size-micro-head);}
p{margin:0 0 var(--space-snug);}
ul,ol{margin:0 0 var(--space-snug);padding-inline-start:var(--space-base);}
figure{margin:0;}
.skiplane{
	position:absolute;
	inset-inline-start:var(--space-snug);
	z-index:400;
	background:var(--colour-zest);
	color:var(--colour-page);
	padding:var(--space-tiny) var(--space-snug);
	border-radius:var(--corner-snug);
	font-weight:var(--weight-strong);
	text-decoration:none;
}
.skiplane:not(:focus){top:-200px;}
.skiplane:focus{top:var(--space-tiny);}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}

/* ---------------------------------------------------------- shared inner */
.y18-inner,.y56-inner,.y38-inner,.d28-inner,.a59-inner,.h60-inner,.h37-inner,
.m83-inner,.j10-inner,.x21-inner,.a48-inner,.a10-inner,.g38-inner,.r36-inner{
	max-width:var(--wrap-edge);
	margin-inline:auto;
	padding-inline:var(--wrap-padding-desktop);
	width:100%;
}

/* ---------------------------------------------------------- rg banner (RG-04) */
.p27{
	background:var(--colour-grad-1);
	color:var(--colour-fg);
	border-block-start:var(--border-heavy) solid var(--colour-advisory);
	border-block-end:var(--border-mid) solid var(--colour-advisory);
	padding-block:var(--space-hair);
}
.p27-hold{
	max-width:var(--wrap-edge);
	margin-inline:auto;
	padding-inline:var(--wrap-padding-desktop);
	display:block;
	text-align:center;
}
.p27-text{
	display:block;
	color:var(--colour-fg);
	font-size:var(--type-size-xs);
	line-height:var(--line-base);
	letter-spacing:var(--spacing-wide);
}
.p27-step{
	color:var(--colour-primary);
	text-decoration:underline;
	text-decoration-color:var(--colour-advisory);
	text-underline-offset:3px;
	transition:color var(--dur-brisk) var(--easing-release);
}
.p27-step:hover{color:var(--colour-zest);background:var(--colour-grad-1);}

/* ---------------------------------------------------------- header (HEAD-TIER) */
.b59{
	position:sticky;
	top:0;
	z-index:100;
	background:var(--colour-grad-1);
	color:var(--colour-fg);
	transition:background var(--dur-steady) var(--easing-release), backdrop-filter var(--dur-steady) var(--easing-release);
}
.b59.is-shrunk{
	background:rgba(35, 17, 42, 0.94);
	color:var(--colour-fg);
	-webkit-backdrop-filter:blur(12px);
	backdrop-filter:blur(12px);
}
.b59-tier{
	background:var(--colour-page);
	height:34px;
	border-block-end:var(--border-slim) solid var(--colour-border);
}
.b59-tier-hold{
	max-width:var(--wrap-edge);
	margin-inline:auto;
	padding-inline:var(--wrap-padding-desktop);
	height:100%;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:var(--space-snug);
}
.b59-note{
	color:var(--colour-subtle);
	font-size:var(--type-size-xs);
	letter-spacing:var(--spacing-wide);
	white-space:nowrap;
}
.b59-tier-step{
	color:var(--colour-primary);
	font-size:var(--type-size-xs);
	text-decoration:none;
	white-space:nowrap;
	transition:color var(--dur-brisk) var(--easing-release);
}
.b59-tier-step:hover{color:var(--colour-zest);background:var(--colour-page);}
.b59-base{min-height:56px;}
.b59-base-hold{
	position:relative;
	max-width:var(--wrap-edge);
	margin-inline:auto;
	padding-inline:var(--wrap-padding-desktop);
	min-height:56px;
	display:flex;
	align-items:center;
	gap:var(--space-tiny);
	padding-block:var(--space-hair);
	transition:padding-block var(--dur-steady) var(--easing-release);
}
.b59.is-shrunk .b59-base-hold{padding-block:0;}
.b59-mark{
	order:1;
	position:relative;
	display:inline-flex;
	align-items:center;
	flex-shrink:0;
	padding-inline-start:var(--space-tiny);
	text-decoration:none;
}
.b59-mark::before{
	content:"";
	position:absolute;
	inset-inline-start:-8px;
	inset-block-start:50%;
	margin-block-start:-27px;
	width:54px;
	height:54px;
	border-radius:var(--corner-orb);
	background:var(--colour-page);
	border:var(--border-slim) solid var(--colour-border);
}
.b59-mark-shot{
	position:relative;
	display:block;
	height:44px;
	width:auto;
	flex-shrink:0;
	transition:height var(--dur-steady) var(--easing-release);
}
.b59.is-shrunk .b59-mark-shot{height:34px;}
.b59-menu-lever{
	order:4;
	display:none;
	align-items:center;
	min-height:44px;
	padding-inline:var(--space-tiny);
	background:var(--colour-grad-1);
	color:var(--colour-fg);
	border:0;
	font-family:var(--font-display);
	font-size:var(--type-size-xs);
	font-weight:var(--weight-strong);
	letter-spacing:var(--spacing-wide);
	cursor:pointer;
	white-space:nowrap;
}
.b59-menu-lever:hover{color:var(--colour-primary);background:var(--colour-grad-1);}
.b59-links{
	order:2;
	display:flex;
	flex:0 0 auto;
	margin-inline-start:auto;
	align-items:center;
}
.b59-set{
	display:flex;
	align-items:center;
	gap:var(--space-tiny);
	list-style:none;
	margin:0;
	padding:0;
}
.b59-node{display:flex;align-items:center;}
.b59-node[hidden]{display:none;}
.b59-node + .b59-node::before{
	content:"/";
	color:var(--colour-line-strong);
	font-weight:var(--weight-strong);
	margin-inline-end:var(--space-tiny);
}
.b59-step{
	display:inline-flex;
	align-items:center;
	min-height:44px;
	padding-inline:var(--space-hair);
	color:var(--colour-fg);
	font-family:var(--font-display);
	font-size:16px;
	font-weight:600;
	font-variant-caps:small-caps;
	letter-spacing:var(--spacing-wide);
	text-decoration:none;
	white-space:nowrap;
	transition:color var(--dur-brisk) var(--easing-release);
}
.b59-step:hover{color:var(--colour-primary);text-decoration:underline;text-underline-offset:6px;}
.b59-step[aria-current="page"]{
	background:var(--colour-layer);
	color:var(--colour-primary);
	border-radius:var(--corner-capsule);
	padding-inline:var(--space-tiny);
	padding-block:var(--space-hair);
	min-height:34px;
	text-decoration:none;
}
.b59-more{position:relative;display:flex;align-items:center;}
.b59-more[hidden]{display:none;}
.b59-more-opener{
	display:inline-flex;
	align-items:center;
	min-height:44px;
	padding-inline:var(--space-hair);
	background:var(--colour-grad-1);
	color:var(--colour-primary);
	border:0;
	font-family:var(--font-display);
	font-size:16px;
	font-weight:600;
	font-variant-caps:small-caps;
	cursor:pointer;
	white-space:nowrap;
}
.b59-more-opener:hover{color:var(--colour-zest);background:var(--colour-grad-1);}
.b59-more-pane{
	display:none;
	position:absolute;
	inset-inline-end:0;
	inset-block-start:calc(100% + var(--space-hair));
	min-width:220px;
	max-height:70vh;
	overflow-y:auto;
	background:var(--colour-layer);
	color:var(--colour-fg);
	border:var(--border-slim) solid var(--colour-border);
	border-radius:var(--corner-base);
	padding:var(--space-tiny);
	z-index:120;
	box-shadow:var(--shadow-wide);
}
.b59-more-pane.is-open{display:block;}
.b59-more-set{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.b59-keys{
	order:3;
	display:flex;
	align-items:center;
	gap:var(--space-snug);
	margin-inline-start:var(--space-snug);
	flex-shrink:0;
}
.b59-go{text-decoration:none;}
.b59-quiet-go{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:44px;
	padding-inline:var(--space-snug);
	border-radius:var(--corner-base);
	background:var(--colour-layer);
	color:var(--colour-fg);
	border:var(--border-slim) solid var(--colour-line-strong);
	font-family:var(--font-display);
	font-size:var(--type-size-xs);
	font-weight:var(--weight-strong);
	text-decoration:none;
	white-space:nowrap;
	transition:transform var(--dur-brisk) var(--easing-release);
}
.b59-quiet-go:hover{background:var(--colour-line-strong);color:var(--colour-fg);transform:translateY(2px);}
.b59-pane{
	display:none;
	order:5;
	position:absolute;
	inset-inline:0;
	inset-block-start:100%;
	background:var(--colour-layer);
	color:var(--colour-fg);
	border-block-start:var(--border-slim) solid var(--colour-border);
	max-height:72vh;
	overflow-y:auto;
	z-index:110;
	box-shadow:var(--shadow-wide);
}
.b59-pane.is-open{display:block;}
.b59-pane-links{display:block;padding:var(--space-tiny) var(--wrap-pad-sm);}
.b59-pane-set{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.b59-pane-node{display:block;}
.b59-pane-step{
	display:flex;
	align-items:center;
	min-height:48px;
	padding-inline:var(--space-tiny);
	color:var(--colour-fg);
	font-family:var(--font-display);
	font-size:var(--type-size-caption);
	font-weight:var(--weight-strong);
	text-decoration:none;
	border-block-end:var(--border-slim) solid var(--colour-border);
}
.b59-pane-step:hover{color:var(--colour-primary);background:var(--colour-grad-1);}
.b59-pane-step[aria-current="page"]{color:var(--colour-primary);background:var(--colour-layer);}
.b59-more-set .b59-node{display:block;}
.b59-more-set .b59-node + .b59-node::before{content:none;}
.b59-more-set .b59-step{display:flex;min-height:42px;font-size:var(--type-size-caption);}

/* ---------------------------------------------------------- hero (HERO-06) */
.y18{position:relative;overflow:hidden;background:var(--colour-page);color:var(--colour-fg);}
.y18-inner{position:relative;padding-block:var(--space-wide);min-height:640px;display:flex;align-items:center;}
.y18-matter{position:relative;z-index:2;width:48%;}
.y18-eyebrow{
	display:block;
	color:var(--colour-primary);
	font-family:var(--font-display);
	font-size:var(--type-size-xs);
	font-weight:var(--weight-strong);
	letter-spacing:var(--spacing-wide);
	text-transform:uppercase;
	margin-block-end:var(--space-tiny);
}
.y18-second{
	font-size:var(--type-size-h5);
	color:var(--colour-subtle);
	line-height:var(--line-base);
	margin-block-end:var(--space-base);
}
.y18-go{text-decoration:none;}
.y18-fine{
	display:block;
	margin-block-start:var(--space-tiny);
	color:var(--colour-subtle);
	font-size:var(--type-size-xs);
	letter-spacing:var(--spacing-wide);
}
.y18-figure{
	position:absolute;
	inset-inline-end:0;
	inset-block-start:-40px;
	width:50%;
	height:calc(100% + 80px);
	transform:rotate(2deg);
	box-shadow:var(--shadow-wide);
	transition:transform var(--dur-slow) var(--easing-release);
	z-index:1;
}
.y18-figure:hover{transform:rotate(0deg) scale(1.02);}
.y18-shot{width:100%;height:100%;object-fit:cover;display:block;}

/* ---------------------------------------------------------- page header (PHEAD-02) */
.y56{background:var(--colour-page);color:var(--colour-fg);padding-block:var(--space-band);text-align:center;}
.y56-rule{display:block;width:64px;height:var(--border-heavy);background:var(--colour-zest);margin:0 auto var(--space-snug);}
.y56-second{
	max-width:580px;
	margin-inline:auto;
	color:var(--colour-subtle);
	font-size:var(--type-size-h5);
	line-height:var(--line-base);
}

/* ---------------------------------------------------------- breadcrumbs (BREAD-05) */
.y38{padding-block:var(--space-tiny);background:var(--colour-page);color:var(--colour-fg);}
.y38-list{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0;}
.y38-cell{display:flex;align-items:center;
	font-family:var(--font-display);
	font-size:var(--type-size-h5);
	font-weight:var(--weight-strong);
	letter-spacing:var(--spacing-tight);
	text-transform:uppercase;
	color:var(--colour-fg);
}
.y38-cell + .y38-cell::before{content:"/";color:var(--colour-zest);margin-inline:var(--space-tiny);}
.y38-step{color:var(--colour-subtle);text-decoration:none;transition:color var(--dur-brisk) var(--easing-release);}
.y38-step:hover{color:var(--colour-primary);background:var(--colour-page);}

/* ---------------------------------------------------------- byline (BYLINE-03) */
.d28{padding-block:var(--space-tiny);background:var(--colour-page);color:var(--colour-subtle);}
.d28-inner{
	display:flex;
	align-items:center;
	gap:var(--space-tiny);
	padding-block:var(--space-tiny);
	border-block-end:var(--border-slim) solid var(--colour-border);
}
.d28-avatar{
	width:28px;
	height:28px;
	border-radius:var(--corner-orb);
	object-fit:cover;
	object-position:center 20%;
	background:var(--colour-page);
	border:var(--border-mid) solid var(--colour-page);
	box-sizing:content-box;
	flex-shrink:0;
}
.d28-sub{color:var(--colour-subtle);font-size:var(--type-size-caption);line-height:var(--line-base);}
.d28-author{color:var(--colour-primary);text-decoration:none;}
.d28-author:hover{color:var(--colour-zest);background:var(--colour-page);text-decoration:underline;}
.d28-post{color:var(--colour-subtle);}
.d28-moment{color:var(--colour-subtle);}

/* ---------------------------------------------------------- prose (PROSE-06 centred, roomy) */
.a59{padding-block:var(--space-band);background:var(--colour-page);color:var(--colour-fg);}
.a59-matter{text-align:center;}
.a59-hdr{
	font-family:var(--font-display);
	font-size:clamp(27px, 2.7vw, 32px);
	font-weight:var(--weight-strong);
	color:var(--colour-fg);
	margin-block:var(--space-base) var(--space-snug);
	text-align:center;
}
.a59-matter p{
	color:var(--colour-subtle);
	font-size:var(--type-size-normal);
	line-height:var(--line-airy);
	margin-block-end:var(--space-snug);
	text-align:center;
}
.a59-set,.a59-steps{
	text-align:start;
	margin-block:0 var(--space-base);
	padding-inline-start:var(--space-base);
	color:var(--colour-subtle);
}
.a59-cell{margin-block-end:var(--space-tiny);line-height:var(--line-base);}
.a59-cell strong{color:var(--colour-fg);}
.a59-matter p a,.a59-cell a{color:var(--colour-primary);text-decoration:underline;text-underline-offset:3px;}
.a59-matter p a:hover,.a59-cell a:hover{color:var(--colour-press);background:var(--colour-page);}
.a59-tie{color:var(--colour-primary);}
.a59-figure{margin-block:var(--space-base);}
.a59-figure .a59-shot{
	width:100%;
	height:auto;
	max-height:430px;
	object-fit:cover;
	border-radius:var(--corner-base);
	display:block;
}
.a59-figure-tall{width:fit-content;margin-inline:auto;}
.a59-figure-tall .a59-shot{
	width:auto;
	max-width:min(100%, 540px);
	height:auto;
	max-height:52vh;
	object-fit:contain;
	background:var(--colour-layer);
}
.a59-lead{
	margin-block:var(--space-base);
	padding:var(--space-snug);
	background:var(--colour-layer);
	color:var(--colour-fg);
	border:var(--border-slim) dashed var(--colour-line-strong);
	border-radius:var(--corner-base);
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:var(--space-tiny);
}
.a59-go{text-decoration:none;}
.a59-fine{color:var(--colour-subtle);font-size:var(--type-size-xs);letter-spacing:var(--spacing-wide);}

/* ---------------------------------------------------------- items grid (GRID-03) */
.h60{padding-block:var(--space-band);background:var(--colour-page);color:var(--colour-fg);}
.h60-hdr{text-align:center;margin-block-end:var(--space-base);}
.h60-set{
	display:grid;
	grid-template-columns:repeat(20, minmax(0, 1fr));
	align-items:start;
	gap:var(--space-snug);
}
.h60-box:nth-of-type(4n+1),.h60-box:nth-of-type(4n+4){grid-column:span 12;}
.h60-box:nth-of-type(4n+2),.h60-box:nth-of-type(4n+3){grid-column:span 8;}
.h60-box{
	padding:var(--space-base);
	background:var(--colour-layer);
	color:var(--colour-fg);
	border:var(--border-slim) dashed var(--colour-line-strong);
	border-radius:var(--corner-base);
	transition:border-color var(--dur-steady) var(--easing-release);
}
.h60-box:hover{border-color:var(--colour-zest);}
.h60-sign{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:44px;
	height:44px;
	border-radius:var(--corner-orb);
	background:var(--colour-grad-1);
	border:var(--border-slim) solid var(--colour-line-strong);
	color:var(--colour-primary);
	margin-block-end:var(--space-tiny);
}
.h60-sign svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.h60-title{font-size:var(--type-size-display-4);font-family:var(--font-display);font-weight:var(--weight-strong);color:var(--colour-fg);margin-block-end:var(--space-tiny);}
.h60-text{font-size:var(--type-size-normal);line-height:var(--line-base);color:var(--colour-subtle);}
.h60-lead{
	grid-column:1 / -1;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:var(--space-snug);
	padding:var(--space-snug) var(--space-base);
	background:var(--colour-grad-1);
	color:var(--colour-fg);
	border:var(--border-slim) solid var(--colour-zest);
	border-radius:var(--corner-base);
}
.h60-cry{font-family:var(--font-display);font-size:var(--type-size-display-4);font-weight:var(--weight-strong);color:var(--colour-fg);}
.h60-go{text-decoration:none;}

/* ---------------------------------------------------------- faq (FAQ-10) */
.h37{padding-block:var(--space-band);background:var(--colour-page);color:var(--colour-fg);}
.h37-inner{display:grid;grid-template-columns:minmax(0, 2fr) minmax(0, 3fr);gap:var(--space-base);align-items:start;}
.h37-side{position:sticky;top:var(--space-roomy);align-self:start;padding:var(--space-snug);background:var(--colour-layer);color:var(--colour-fg);border-radius:var(--corner-base);}
.h37-hdr{margin-block-end:var(--space-tiny);}
.h37-brief{color:var(--colour-subtle);font-size:var(--type-size-caption);line-height:var(--line-base);margin:0;}
.h37-set{display:flex;flex-direction:column;}
.h37-cell{
	border-block-start:var(--border-slim) solid var(--colour-border);
	padding-block:var(--space-snug);
}
.h37-ask{display:flex;align-items:baseline;gap:var(--space-tiny);cursor:pointer;list-style:none;}
.h37-ask::-webkit-details-marker{display:none;}
.h37-title{margin:0;font-size:var(--type-size-display-4);color:var(--colour-fg);flex:1 1 auto;}
.h37-sign{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:24px;
	height:24px;
	flex-shrink:0;
	color:var(--colour-zest);
	font-family:var(--font-display);
	font-size:var(--type-size-h3);
	font-weight:var(--weight-strong);
}
.h37-sign::before{content:"+";}
.h37-cell[open] .h37-sign::before{content:"–";}
.h37-answer{color:var(--colour-subtle);font-size:var(--type-size-caption);line-height:var(--line-base);padding-block-start:var(--space-tiny);}

/* ---------------------------------------------------------- reviews (REV-04) */
.m83{padding-block:var(--space-band);background:var(--colour-page);color:var(--colour-fg);}
.m83-hdr{text-align:center;margin-block-end:var(--space-base);}
.m83-star{
	padding:var(--space-base);
	background:var(--colour-layer);
	color:var(--colour-fg);
	border-radius:var(--corner-wide);
	margin-block-end:var(--space-base);
	text-align:center;
}
.m83-quote{
	margin:var(--space-tiny) 0;
	font-size:var(--type-size-display-4);
	font-style:italic;
	line-height:var(--line-base);
	color:var(--colour-fg);
}
.m83-cite{display:block;color:var(--colour-subtle);font-size:var(--type-size-caption);font-style:normal;}
.m83-rate{display:inline-flex;align-items:center;gap:var(--space-hair);}
.m83-glyph{color:var(--colour-zest);letter-spacing:2px;font-size:var(--type-size-display-4);}
.m83-score{color:var(--colour-subtle);font-size:var(--type-size-xs);}
.m83-star .m83-glyph{font-size:28px;}
.m83-set{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--space-snug);}
.m83-cell{
	border-block-start:var(--border-slim) solid var(--colour-border);
	padding:var(--space-tiny) 0 var(--space-snug);
}
.m83-file{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-hair);}
.m83-author{font-family:var(--font-display);font-weight:var(--weight-strong);color:var(--colour-fg);}
.m83-text{color:var(--colour-subtle);font-size:var(--type-size-caption);line-height:var(--line-base);margin-block:var(--space-hair);}
.m83-moment{color:var(--colour-subtle);font-size:var(--type-size-xs);}

/* ---------------------------------------------------------- data table (TABLE-06) */
.x21{padding-block:var(--space-band);background:var(--colour-page);color:var(--colour-fg);}
.x21-cap{
	display:block;
	text-align:center;
	font-family:var(--font-display);
	font-size:var(--type-size-display-4);
	font-style:italic;
	color:var(--colour-subtle);
	padding-block-end:var(--space-base);
}
.x21-rule{display:block;width:40px;height:var(--border-mid);background:var(--colour-zest);margin:0 auto var(--space-tiny);}
.x21-scroll{overflow-x:auto;}
.x21-grid{width:100%;border-collapse:collapse;min-width:520px;}
.x21-grid th,.x21-grid td{padding:var(--space-tiny);text-align:start;border-block-end:var(--border-slim) solid var(--colour-border);font-size:var(--type-size-caption);}
.x21-grid thead th{background:var(--colour-layer);color:var(--colour-fg);font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--spacing-wide);font-size:var(--type-size-xs);}
.x21-grid tbody th{background:var(--colour-grad-1);color:var(--colour-fg);font-weight:var(--weight-strong);}
.x21-grid tbody td{background:var(--colour-page);color:var(--colour-subtle);}
.x21-file:hover td{background:var(--colour-layer);color:var(--colour-fg);}

/* ---------------------------------------------------------- cta block (CTA-02) */
.j10{padding-block:var(--space-band);background:var(--colour-page);color:var(--colour-fg);}
.j10-box{
	max-width:var(--wrap-brief);
	margin-inline:auto;
	padding:var(--space-base);
	text-align:center;
	background:var(--colour-layer);
	color:var(--colour-fg);
	border:var(--border-slim) solid var(--colour-line-strong);
	border-radius:var(--corner-wide);
}
.j10-eyebrow{display:block;color:var(--colour-primary);font-family:var(--font-display);font-size:var(--type-size-xs);letter-spacing:var(--spacing-wide);text-transform:uppercase;margin-block-end:var(--space-hair);}
.j10-title{color:var(--colour-fg);margin-block-end:var(--space-tiny);}
.j10-text{color:var(--colour-subtle);line-height:var(--line-airy);margin-block:var(--space-tiny) var(--space-snug);}
.j10-go{text-decoration:none;}
.j10-quiet-go{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:52px;
	padding-inline:var(--space-base);
	border-radius:var(--corner-base);
	background:var(--colour-zest);
	color:var(--colour-page);
	font-family:var(--font-display);
	font-weight:var(--weight-strong);
	text-decoration:none;
}
.j10-quiet-go:hover{background:var(--colour-press);color:var(--colour-page);}
.j10-fine{display:block;margin-block-start:var(--space-tiny);color:var(--colour-subtle);font-size:var(--type-size-xs);}

/* ---------------------------------------------------------- legal (LEGAL-03) */
.a48{padding-block:var(--space-band);background:var(--colour-page);color:var(--colour-fg);}
.a48-frame{display:grid;grid-template-columns:240px minmax(0, 1fr);gap:var(--space-base);align-items:start;}
.a48-toc{
	position:sticky;
	top:var(--space-roomy);
	align-self:start;
	padding:var(--space-snug);
	background:var(--colour-layer);
	color:var(--colour-fg);
	border-radius:var(--corner-base);
}
.a48-toc-hdr{margin:0 0 var(--space-tiny);font-size:var(--type-size-display-4);color:var(--colour-fg);}
.a48-toc-set{margin:0;padding-inline-start:var(--space-snug);color:var(--colour-subtle);}
.a48-toc-cell{margin-block-end:var(--space-hair);font-size:var(--type-size-caption);}
.a48-toc-step{color:var(--colour-subtle);text-decoration:none;}
.a48-toc-step:hover{color:var(--colour-primary);background:var(--colour-layer);}
.a48-matter{min-width:0;}
.a48-brief{color:var(--colour-subtle);font-size:var(--type-size-h5);line-height:var(--line-base);}
.a48-part{margin-block-end:var(--space-base);background:var(--colour-page);color:var(--colour-fg);}
.a48-part .a48-hdr{margin-block:var(--space-base) var(--space-tiny);font-size:var(--type-size-h3);color:var(--colour-fg);}
.a48-hdr{color:var(--colour-fg);}
.a48-text{color:var(--colour-subtle);line-height:var(--line-airy);}
.a48-set{margin:0 0 var(--space-base);padding-inline-start:var(--space-base);color:var(--colour-subtle);}
.a48-cell{margin-block-end:var(--space-tiny);line-height:var(--line-base);}
.a48-warn{
	padding:var(--space-snug);
	background:var(--colour-layer);
	color:var(--colour-subtle);
	border-inline-start:var(--border-heavy) solid var(--colour-advisory);
	border-radius:var(--corner-snug);
	font-size:var(--type-size-caption);
	line-height:var(--line-base);
}
.a48-moment{margin-block-start:var(--space-snug);color:var(--colour-subtle);font-size:var(--type-size-xs);}

/* ---------------------------------------------------------- contact form (FORM-07) */
.a10{padding-block:var(--space-band);background:var(--colour-page);color:var(--colour-fg);}
.a10-box{
	max-width:720px;
	margin-inline:auto;
	border-radius:var(--corner-wide);
	overflow:hidden;
	background:var(--colour-layer);
	color:var(--colour-fg);
	padding-block-end:var(--space-snug);
}
.a10-band{display:block;height:8px;background:var(--colour-zest);}
.a10-body{padding:var(--space-base) var(--space-base) 0;}
.a10-form{display:flex;flex-direction:column;gap:var(--space-snug);}
.a10-file{display:flex;flex-direction:column;gap:var(--space-hair);flex:0 0 auto;}
.a10-cap{font-family:var(--font-display);font-size:var(--type-size-caption);font-weight:var(--weight-strong);color:var(--colour-fg);}
.a10-input{
	width:100%;
	min-height:48px;
	padding:var(--space-tiny);
	background:var(--colour-page);
	color:var(--colour-fg);
	border:0;
	border-block-end:var(--border-mid) dashed var(--colour-line-strong);
	border-radius:var(--corner-tiny);
	font-family:var(--font-text);
	font-size:var(--type-size-caption);
}
.a10-input:focus{border-block-end-color:var(--colour-zest);outline:var(--border-mid) solid var(--colour-zest);}
.a10-send{
	align-self:center;
	min-height:52px;
	padding-inline:var(--space-base);
	background:var(--colour-zest);
	color:var(--colour-page);
	border:0;
	border-radius:var(--corner-base);
	font-family:var(--font-display);
	font-size:var(--type-size-caption);
	font-weight:var(--weight-strong);
	cursor:pointer;
	transition:transform var(--dur-brisk) var(--easing-release);
}
.a10-send:hover{background:var(--colour-press);color:var(--colour-page);transform:translateY(2px);}
.a10-done{
	margin-block-start:var(--space-snug);
	padding:var(--space-snug);
	background:var(--colour-grad-1);
	color:var(--colour-fg);
	border-radius:var(--corner-snug);
	font-size:var(--type-size-caption);
}
.a10-done[hidden]{display:none;}

/* ---------------------------------------------------------- author card (AUTH-01) */
.g38{padding-block:var(--space-band);background:var(--colour-page);color:var(--colour-fg);}
.g38-box{
	display:grid;
	grid-template-columns:160px minmax(0, 1fr);
	gap:var(--space-base);
	align-items:start;
	padding:var(--space-base);
	background:var(--colour-layer);
	color:var(--colour-fg);
	border-radius:var(--corner-wide);
	box-shadow:var(--shadow-snug);
}
.g38-avatar{
	width:160px;
	height:160px;
	border-radius:var(--corner-orb);
	overflow:hidden;
	padding:var(--border-heavy);
	background:var(--colour-layer);
	box-sizing:content-box;
}
.g38-shot{width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:var(--corner-orb);display:block;}
.g38-body{display:flex;flex-direction:column;gap:var(--space-tiny);}
.g38-post{font-family:var(--font-text);font-weight:var(--weight-mid);font-size:var(--type-size-caption);text-transform:uppercase;letter-spacing:var(--spacing-wide);color:var(--colour-primary);}
.g38-author{font-size:var(--type-size-xl-2);margin:0;color:var(--colour-fg);}
.g38-text{color:var(--colour-subtle);line-height:var(--line-airy);margin:0;}
.g38-set{display:flex;flex-wrap:wrap;gap:var(--space-hair);}
.g38-chip{
	padding:var(--space-hair) var(--space-tiny);
	background:var(--colour-primary);
	color:var(--colour-page);
	border-radius:var(--corner-capsule);
	font-size:var(--type-size-xs);
	text-transform:uppercase;
	letter-spacing:var(--spacing-wide);
}

/* ---------------------------------------------------------- error (ERR-05) */
.r36{padding-block:var(--space-roomy);background:var(--colour-page);color:var(--colour-fg);text-align:center;flex:1 0 auto;}
.r36-inner{width:100%;}
.r36-title{position:relative;color:var(--colour-fg);font-size:clamp(28px, 5vw, 46px);}
.r36-title::before,.r36-title::after{content:attr(data-text);position:absolute;inset:0;color:var(--colour-zest);opacity:0.6;}
.r36-title::before{transform:translate(2px, -2px);}
.r36-title::after{transform:translate(-2px, 2px);color:var(--colour-press);}
.r36-text{color:var(--colour-subtle);max-width:var(--wrap-brief);margin-inline:auto;}
.r36-go{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:52px;
	padding-inline:var(--space-base);
	background:var(--colour-zest);
	color:var(--colour-page);
	border-radius:var(--corner-base);
	font-family:var(--font-display);
	font-weight:var(--weight-strong);
	text-decoration:none;
	transition:transform var(--dur-brisk) var(--easing-release);
}
.r36-go:hover{background:var(--colour-press);color:var(--colour-page);transform:translateY(2px);}

/* ---------------------------------------------------------- cookie (COOK-04) */
.z70-veil{
	display:none;
	position:fixed;
	inset:0;
	z-index:89;
	background:rgba(0, 0, 0, 0.40);
	pointer-events:none;
}
.z70-veil.is-open{display:block;}
.z70{
	display:none;
	position:fixed;
	inset-inline:0;
	inset-block-end:0;
	z-index:90;
	background:var(--colour-page);
	color:var(--colour-fg);
	border-block-start:4px solid var(--colour-zest);
	padding-block:var(--space-snug);
	opacity:0;
	clip-path:inset(0 100% 0 0);
	transition:opacity var(--dur-slow) var(--easing-release), clip-path var(--dur-slow) var(--easing-release);
}
.z70.is-open{display:block;opacity:1;clip-path:inset(0 0 0 0);}
.z70.is-gone{transform:translateX(120vw);opacity:0;}
.z70-hold{
	max-width:var(--wrap-edge);
	margin-inline:auto;
	padding-inline:var(--wrap-padding-desktop);
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:var(--space-tiny);
	text-align:center;
}
.z70-title{margin:0;font-family:var(--font-display);font-size:var(--type-size-display-4);font-weight:var(--weight-strong);color:var(--colour-fg);}
.z70-note{margin:0;max-width:var(--wrap-brief);color:var(--colour-subtle);font-size:var(--type-size-caption);line-height:var(--line-airy);}
.z70-keys{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-tiny);}
.z70-approve,.z70-later{
	min-height:48px;
	padding-inline:var(--space-snug);
	border:0;
	border-radius:var(--corner-base);
	font-family:var(--font-display);
	font-size:var(--type-size-caption);
	font-weight:var(--weight-strong);
	cursor:pointer;
	transition:transform var(--dur-brisk) var(--easing-release);
}
.z70-approve{background:var(--colour-zest);color:var(--colour-page);}
.z70-approve:hover{background:var(--colour-press);color:var(--colour-page);transform:translateY(2px);}
.z70-later{background:var(--colour-layer);color:var(--colour-fg);border:var(--border-slim) solid var(--colour-line-strong);}
.z70-later:hover{background:var(--colour-line-strong);color:var(--colour-fg);transform:translateY(2px);}

/* ---------------------------------------------------------- footer (FOOT-05) */
.d12{background:var(--colour-primary);color:var(--colour-page);padding-block:var(--space-band);}
.d12-hold{max-width:var(--wrap-edge);margin-inline:auto;padding-inline:var(--wrap-padding-desktop);}
.d12-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--space-base);}
.d12-column{min-width:0;}
.d12-mark{
	display:inline-flex;
	align-items:center;
	padding:var(--space-tiny);
	background:var(--colour-page);
	border-radius:var(--corner-base);
	margin-block-end:var(--space-tiny);
}
.d12-mark-shot{display:block;height:64px;width:auto;}
.d12-text{color:var(--colour-page);font-size:var(--type-size-caption);line-height:var(--line-base);margin:0;}
.d12-hdr{
	font-family:var(--font-display);
	font-weight:var(--weight-strong);
	font-size:var(--type-size-caption);
	text-transform:uppercase;
	letter-spacing:var(--spacing-wide);
	color:var(--colour-page);
	margin:0 0 var(--space-tiny);
}
.d12-list{list-style:none;margin:0;padding:0;}
.d12-cell{margin-block-end:var(--space-hair);}
.d12-step{
	color:var(--colour-grad-1);
	background:var(--colour-primary);
	font-size:var(--type-size-caption);
	text-decoration:none;
	transition:color var(--dur-brisk) var(--easing-release);
}
.d12-step:hover{color:var(--colour-page);background:var(--colour-primary);text-decoration:underline;}
.d12-base{
	margin-block-start:var(--space-base);
	padding-block-start:var(--space-snug);
	border-block-start:var(--border-slim) solid var(--colour-press);
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:var(--space-tiny);
}
.d12-fine{color:var(--colour-grad-1);background:var(--colour-primary);font-size:var(--type-size-xs);}
.d12-up{color:var(--colour-grad-1);background:var(--colour-primary);font-size:var(--type-size-xs);text-decoration:underline;}
.d12-up:hover{color:var(--colour-page);background:var(--colour-primary);}

/* ---------------------------------------------------------- tablet */
@media (max-width: 1180px){
	.y18-matter{width:50%;}
	.y18-figure{width:48%;}
	.h37-inner{grid-template-columns:minmax(0, 1fr);}
	.h37-side{position:static;}
	.d12-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
	.b59-step{font-size:15px;}
	.b59-set{gap:var(--space-hair);}
}
@media (max-width: 1040px){
	.y18-matter{width:50%;}
	.y18-figure{width:46%;}
}
@media (max-width: 1024px){
	.b59-links{display:none;}
	.b59-menu-lever{display:inline-flex;margin-inline-start:auto;order:4;}
	.b59-keys{margin-inline-start:var(--space-tiny);order:3;}
	.b59-mark{margin-inline-end:auto;}
}
@media (max-width: 820px){
	.y18-inner,.y56-inner,.y38-inner,.d28-inner,.a59-inner,.h60-inner,.h37-inner,
	.m83-inner,.j10-inner,.x21-inner,.a48-inner,.a10-inner,.g38-inner,.r36-inner{
		padding-inline:var(--wrap-pad-md);
	}
	.p27-hold,.z70-hold,.d12-hold,.b59-tier-hold,.b59-base-hold{padding-inline:var(--wrap-pad-md);}
	.y18-inner{flex-direction:column;align-items:stretch;min-height:0;padding-block:var(--space-base);}
	.y18-matter{width:100%;}
	.y18-figure{position:relative;inset:auto;width:100%;height:280px;transform:none;margin-block-start:var(--space-base);}
	.y18-figure:hover{transform:none;}
	.h60-set{grid-template-columns:minmax(0, 1fr);}
	.h60-box:nth-of-type(4n+1),.h60-box:nth-of-type(4n+2),.h60-box:nth-of-type(4n+3),.h60-box:nth-of-type(4n+4){grid-column:auto;}
	.m83-set{grid-template-columns:minmax(0, 1fr);}
	.a48-frame{grid-template-columns:minmax(0, 1fr);}
	.a48-toc{position:static;}
	.g38-box{grid-template-columns:minmax(0, 1fr);justify-items:center;text-align:center;}
	.g38-avatar{width:120px;height:120px;}
	.g38-set{justify-content:center;}
	.b59-note{white-space:normal;font-size:12px;}
}

/* ---------------------------------------------------------- mobile */
@media (max-width: 720px){
	.z70,.z70-hold{padding:12px 14px;gap:8px;font-size:13px;line-height:1.35;}
	.z70-title{display:none;}
	.z70-note{font-size:13px;line-height:1.4;}
	.z70-approve,.z70-later{padding:8px 14px;font-size:12px;min-height:40px;}
	.z70-keys{width:100%;}
	.z70-approve,.z70-later{flex:1 1 auto;}
	.d12-grid{grid-template-columns:minmax(0, 1fr);}
	.b59-keys{flex-basis:100%;order:5;margin-inline-start:0;}
	.b59-base-hold{flex-wrap:wrap;min-height:0;padding-block:var(--space-hair);}
	.b59-mark-shot{height:36px;}
	.b59-mark::before{width:44px;height:44px;margin-block-start:-22px;}
	.b59-pane{inset-block-start:100%;}
}
@media (max-width: 640px){
	.x21-grid{min-width:0;}
	.x21-grid th,.x21-grid td{padding:var(--space-hair);font-size:var(--type-size-xs);white-space:normal;}
}
@media (max-width: 520px){
	.y18-inner,.y56-inner,.y38-inner,.d28-inner,.a59-inner,.h60-inner,.h37-inner,
	.m83-inner,.j10-inner,.x21-inner,.a48-inner,.a10-inner,.g38-inner,.r36-inner{
		padding-inline:var(--wrap-pad-sm);
	}
	.p27-hold,.z70-hold,.d12-hold,.b59-tier-hold,.b59-base-hold{padding-inline:var(--wrap-pad-sm);}
	:root{
		--type-size-display-1:32px;
		--type-size-xl-2:26px;
		--type-size-h3:22px;
		--type-size-display-4:19px;
		--type-size-h5:17px;
		--type-size-micro-head:15px;
		--type-size-normal:18px;
		--type-size-caption:15px;
		--type-size-xs:13px;
		--space-band:32px;
	}
	.b59-tier{height:auto;padding-block:var(--space-hair);}
	.b59-tier-step{display:none;}
	.a59-figure .a59-shot{max-height:260px;}
	.h60-lead{flex-direction:column;align-items:stretch;text-align:center;}
	.a10-body{padding:var(--space-snug) var(--space-snug) 0;}
	.r36{padding-block:var(--space-base);}
}
@media (max-width: 380px){
	.b59-menu-lever{font-size:12px;padding-inline:var(--space-hair);}
	.b59-note{font-size:11px;}
}

/* ---------------------------------------------------------- motion off */
@media (prefers-reduced-motion: reduce){
	*,*::before,*::after{
		animation-duration:0.01ms !important;
		animation-iteration-count:1 !important;
		transition-duration:0.01ms !important;
		scroll-behavior:auto !important;
	}
	body{opacity:1;}
}

/* ---------------------------------------------------------- offer button (cta-style.mjs, domain-rolled) */
@property --dash-shine{syntax:"<percentage>";inherits:false;initial-value:-30%;}
.dash-act{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:0 var(--space-snug);
	min-height:44px;
	border-radius:var(--corner-base);
	border:var(--border-slim) solid var(--colour-line-strong);
	font-size:var(--type-size-xs);
	font-weight:var(--weight-strong);
	font-family:var(--font-display);
	background:#0D9488;
	color:#23112A;
	text-decoration:none;
	overflow:hidden;
	transition:background var(--dur-steady) var(--easing-release), transform var(--dur-steady) var(--easing-release);
}
.dash-act.dash-act{color:#23112A;text-decoration:none;font-family:var(--font-display);}
.dash-act:hover{background:#0F766E;color:#FFFFFF;animation:none;}
.dash-act.dash-act:hover{color:#FFFFFF;text-decoration:none;}
.dash-act:hover::after{animation:none;}
.dash-act:active{background:#115E59;color:#FFFFFF;}
.dash-act:focus-visible{outline:3px solid #23112A;outline-offset:3px;}
.dash-act::after{
	content:"";
	position:absolute;
	inset:0;
	width:100%;
	transform:none;
	pointer-events:none;
	background:linear-gradient(100deg, transparent calc(var(--dash-shine) - 22%), rgba(255, 255, 255, 0.42) var(--dash-shine), transparent calc(var(--dash-shine) + 22%));
	animation:dash-drift 2.4s var(--easing-in-out) infinite;
}
@keyframes dash-drift{
	0%{--dash-shine:-30%;}
	50.000%,100%{--dash-shine:130%;}
}
@media (prefers-reduced-motion: reduce){
	.dash-act,.dash-act::after{animation:none !important;transition:none !important;}
}

/* anchor targets clear the sticky header */
[id]{scroll-margin-block-start:110px;}

@media (max-width: 500px) {
  .b59-links,
  .b59-set,
  .b59-step { display: none !important; }
  .b59-more-opener { display: inline-flex !important; }
}
