@font-face{font-family:'Inter';src:url('/archive-fine/inter-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('/archive-fine/inter-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('/archive-fine/inter-900.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}

:root{
	--root:#ffa646;
	--beacon:#74092c;
	--spot-deep:#4f071b;
	--ground:#111213;
	--above:#1a1c1f;
	--script:#ffffff;
	--subtle:#c1c1c1;
	--line:#2c2f34;
	--edge-hard:#43474e;
	--ramp-start:#eb1661;
	--blend-b:#a70d3e;
	--warn-band:#8b1e3f;

	--s-2xs:8px;
	--s-xs:12px;
	--s-sm:16px;
	--s-md:24px;
	--s-lg:32px;
	--s-xl:48px;
	--s-2xl:72px;
	--s-3xl:112px;

	--r-2xs:1px;
	--r-xs:2px;
	--r-sm:6px;
	--r-md:10px;
	--r-lg:16px;
	--r-xl:22px;
	--stadium:9999px;
	--round-full:50%;

	--heading:'Inter',system-ui,sans-serif;
	--prose:'Inter',system-ui,sans-serif;
	--display-1:56px;
	--h2:38px;
	--sub:24px;
	--display-4:18px;
	--h5:15px;
	--h6:13px;
	--copy:16px;
	--sm:13px;
	--legal:11px;

	--close:1.08;
	--regular:1.4;
	--open:1.6;
	--normal:500;
	--half:700;
	--black:900;
	--snug:-0.02em;
	--default:0.02em;
	--spread:0.1em;

	--d-xs:none;
	--d-sm:0 1px 3px rgba(0,0,0,0.05);
	--d-md:0 4px 12px rgba(0,0,0,0.09);
	--d-lg:0 8px 24px rgba(0,0,0,0.13);

	--fast:135ms;
	--mid:280ms;
	--slow:480ms;
	--out:cubic-bezier(0.34, 0.7, 0.51, 0.96);
	--smooth:cubic-bezier(0.36, 0, 0.34, 0.94);
	--overshoot:cubic-bezier(0.21, 1.75, 0.6, 1.25);

	--page:1100px;
	--narrow:660px;
	--pad-lg:40px;
	--pad-md:24px;
	--edge-narrow:16px;
	--thin:1px;
	--medium:2px;
	--thick:3px;

	--size-desktop:88px;
	--h-sm:64px;
	--shell:120px;
	--sec-y:44px;
	--frame:calc(var(--page) + 2 * var(--pad-lg));
}

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

html{scroll-behavior:smooth}
html,body{overflow-x:clip}

body{
	margin:0;
	background:var(--ground);
	color:var(--script);
	font-family:var(--prose);
	font-size:var(--copy);
	font-weight:var(--normal);
	line-height:var(--regular);
	letter-spacing:var(--default);
	-webkit-font-smoothing:antialiased;
	display:flex;
	flex-direction:column;
	min-height:100vh;
}

h1,h2,h3,h4,h5,h6{
	font-family:var(--heading);
	line-height:var(--close);
	letter-spacing:var(--snug);
	overflow-wrap:anywhere;
	margin:0;
}

p,ul,ol{margin:0}
img{max-width:100%}
a{color:var(--root);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--root);text-decoration-thickness:2px}

[id]{scroll-margin-block-start:130px}

.skip-hop{position:absolute;left:var(--s-sm);top:-200px;z-index:200;background:var(--root);color:#111213;padding:10px 18px;border-radius:var(--r-xs);font-weight:var(--half)}
.skip-hop:not(:focus){top:-200px}
.skip-hop:focus{top:var(--s-sm)}

.shellmain{flex:1 0 auto;margin-block-start:var(--shell)}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* ── header · HEAD-INSET (island) ───────────────────────────── */
.sconce{
	position:fixed;
	inset-block-start:0;
	inset-inline:0;
	z-index:100;
	padding:var(--s-xs) var(--s-sm);
	background:transparent;
	transition:transform var(--mid) var(--out),box-shadow var(--mid) var(--out);
}
.sconce.is-hidden{transform:translateY(-130%)}
.sconce.is-deep{box-shadow:var(--d-lg)}

.sconce-inner{
	position:relative;
	display:flex;
	align-items:center;
	gap:var(--s-sm);
	height:96px;
	max-width:1440px;
	margin-inline:auto;
	padding:var(--s-sm) var(--s-md);
	background:var(--above);
	color:var(--script);
	border-radius:var(--r-md);
	border:var(--thin) solid var(--line);
}

.sconce-glyph{display:flex;align-items:center;flex-shrink:0;background:var(--above);color:var(--script)}
.sconce-glyph-art{display:block;height:44px;width:auto;flex-shrink:0}

.sconce-toggle{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	inline-size:42px;
	block-size:42px;
	padding:0;
	border:0;
	background:var(--above);
	color:var(--script);
	border-radius:var(--r-xs);
	cursor:pointer;
	order:3;
	margin-inline-start:auto;
}
.sconce-toggle:hover{background:#26282c;color:var(--root)}
.sconce-dots{
	display:block;
	inline-size:5px;
	block-size:5px;
	background:currentColor;
	box-shadow:9px 0 0 0 currentColor,0 9px 0 0 currentColor,9px 9px 0 0 currentColor;
	margin-inline-end:9px;
	margin-block-end:9px;
}

.sconce-routes{flex:1 1 auto;min-width:0;background:var(--above);color:var(--script)}
.sconce-roll{
	display:flex;
	flex-wrap:nowrap;
	align-items:center;
	gap:var(--s-sm);
	margin:0;
	padding:0;
	list-style:none;
}
.sconce-unit{flex:0 0 auto;position:relative}
.sconce-href{
	display:block;
	position:relative;
	padding:9px 6px;
	font-size:13px;
	font-weight:500;
	text-transform:uppercase;
	letter-spacing:var(--spread);
	text-decoration:none;
	white-space:nowrap;
	background:var(--above);
	color:var(--subtle);
	border-radius:var(--r-xs);
	transition:background var(--fast) var(--out),color var(--fast) var(--out);
}
.sconce-href:hover{background:#26282c;color:var(--root)}
.sconce-href[aria-current='page']{background:var(--above);color:var(--script)}
.sconce-href[aria-current='page']::after{
	content:'';
	position:absolute;
	inset-block-end:1px;
	inset-inline-start:50%;
	transform:translateX(-50%);
	inline-size:5px;
	block-size:5px;
	border-radius:var(--round-full);
	background:var(--root);
}

.sconce-spill{position:relative;flex:0 0 auto}
.sconce-spill-toggle{
	padding:9px 8px;
	border:0;
	font-family:var(--prose);
	font-size:13px;
	font-weight:500;
	text-transform:uppercase;
	letter-spacing:var(--spread);
	background:var(--above);
	color:var(--subtle);
	border-radius:var(--r-xs);
	cursor:pointer;
}
.sconce-spill-toggle:hover{background:#26282c;color:var(--root)}
.sconce-spill-menu{
	display:none;
	position:absolute;
	inset-block-start:calc(100% + 10px);
	inset-inline-end:0;
	min-inline-size:200px;
	max-block-size:60vh;
	overflow-y:auto;
	margin:0;
	padding:var(--s-2xs);
	list-style:none;
	background:#202226;
	color:var(--script);
	border:var(--thin) solid var(--edge-hard);
	border-radius:var(--r-sm);
	box-shadow:var(--d-lg);
	z-index:12;
}
.sconce-spill-menu.is-open{display:block}
.sconce-spill-menu .sconce-unit{display:block;width:100%}
.sconce-spill-menu .sconce-href{background:#202226;color:var(--subtle);white-space:normal}
.sconce-spill-menu .sconce-href:hover{background:#2c2f34;color:var(--root)}
.sconce-spill-menu .sconce-href[aria-current='page']::after{display:none}

.sconce-mark{flex:0 0 auto;font-size:20px;line-height:1;background:var(--above);color:var(--script)}

.sconce-tap{
	flex-shrink:0;
	display:inline-flex;
	align-items:center;
	white-space:nowrap;
	min-block-size:44px;
	padding-inline:22px;
	font-size:var(--sm);
	font-weight:var(--half);
	text-transform:uppercase;
	letter-spacing:var(--spread);
	text-decoration:none;
	border-radius:var(--r-xs);
}

.sconce-panel{
	display:none;
	position:absolute;
	inset-block-start:calc(100% - var(--s-xs));
	inset-inline:var(--s-sm);
	max-block-size:72vh;
	overflow-y:auto;
	padding:var(--s-sm);
	background:#202226;
	color:var(--script);
	border:var(--thin) solid var(--edge-hard);
	border-radius:var(--r-md);
	box-shadow:var(--d-lg);
	z-index:99;
}
.sconce-panel.is-open{display:block;}
.sconce-panel-roll{margin:0;padding:0;list-style:none;display:grid;gap:2px}
.sconce-panel-unit{display:block}
.sconce-panel-href{
	display:block;
	padding:11px var(--s-xs);
	font-size:var(--sm);
	font-weight:500;
	text-transform:uppercase;
	letter-spacing:var(--spread);
	text-decoration:none;
	background:#202226;
	color:var(--subtle);
	border-radius:var(--r-xs);
}
.sconce-panel-href:hover{background:#2c2f34;color:var(--root)}
.sconce-panel-href[aria-current='page']{background:#2c2f34;color:var(--root)}

/* ── 18+ ribbon · RG-03 ─────────────────────────────────────── */
.pledge-band{
	max-width:var(--frame);
	inline-size:calc(100% - 2 * var(--edge-narrow));
	margin:0 auto var(--s-md);
	padding:10px var(--s-md);
	background:var(--warn-band);
	color:#ffffff;
	border-radius:var(--r-sm);
}
.pledge-line{font-size:var(--legal);line-height:1.45;letter-spacing:var(--default);text-align:center;margin:0}
.pledge-href{background:var(--warn-band);color:#ffffff;text-decoration:underline}
.pledge-href:hover{background:var(--warn-band);color:#ffe3ec}

/* ── hero · HERO-02 (split photo right) ─────────────────────── */
.shelf{padding-block:var(--sec-y);background:var(--ground);color:var(--script)}
.shelf-inner{
	max-width:var(--frame);
	margin-inline:auto;
	padding-inline:var(--pad-lg);
	display:grid;
	grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
	gap:var(--s-xl);
	align-items:center;
}
.shelf-copy{min-width:0}
.shelf-kicker{
	display:block;
	font-size:var(--sm);
	font-weight:var(--half);
	text-transform:uppercase;
	letter-spacing:var(--spread);
	background:var(--ground);
	color:var(--root);
	margin-block-end:var(--s-sm);
}
.shelf-hdr{font-size:clamp(30px,4.4vw,var(--display-1));font-weight:var(--black);text-transform:uppercase;color:var(--script)}
.shelf-lede{
	max-width:var(--narrow);
	margin-block-start:var(--s-md);
	font-size:var(--h5);
	line-height:var(--regular);
	background:var(--ground);
	color:var(--subtle);
}
.shelf-bar{display:flex;flex-wrap:wrap;gap:var(--s-sm);margin-block-start:var(--s-lg)}
.shelf-tap{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-block-size:52px;
	padding-inline:var(--s-lg);
	font-size:var(--h6);
	font-weight:var(--half);
	text-transform:uppercase;
	letter-spacing:var(--spread);
	text-decoration:none;
	border-radius:var(--r-xs);
}
.shelf-quiet{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-block-size:52px;
	padding-inline:var(--s-lg);
	font-size:var(--h6);
	font-weight:var(--half);
	text-transform:uppercase;
	letter-spacing:var(--spread);
	text-decoration:none;
	background:#1f2126;
	color:var(--script);
	border:var(--thin) solid var(--edge-hard);
	border-radius:var(--r-xs);
	transition:transform var(--fast) var(--out),background var(--fast) var(--out);
}
.shelf-quiet:hover{background:#2c2f34;color:var(--script);transform:scale(1.02)}
.shelf-fine{
	display:block;
	max-width:var(--narrow);
	margin-block-start:var(--s-sm);
	font-size:var(--legal);
	background:var(--ground);
	color:var(--subtle);
}
.shelf-art{
	margin:0;
	aspect-ratio:4 / 5;
	overflow:hidden;
	border-radius:var(--r-lg);
	border:var(--thin) solid var(--line);
	background:var(--above);
}
.shelf-art-shot{
	inline-size:100%;
	block-size:100%;
	object-fit:cover;
	display:block;
	transition:transform var(--slow) var(--out);
}
.shelf-art:hover .shelf-art-shot{transform:scale(1.025)}

/* ── page header · PHEAD-10 (manifesto) ─────────────────────── */
.mantle{padding-block:var(--sec-y);background:var(--ground);color:var(--script)}
.mantle-inner{max-width:var(--frame);margin-inline:auto;padding-inline:var(--pad-lg);text-align:center}
.mantle-kicker{
	display:block;
	font-size:var(--sm);
	font-weight:var(--half);
	text-transform:uppercase;
	letter-spacing:var(--spread);
	background:var(--ground);
	color:var(--root);
	margin-block-end:var(--s-sm);
}
.mantle-hdr{font-size:clamp(30px,5.6vw,72px);font-weight:var(--black);text-transform:uppercase;color:var(--script)}
.mantle-pip{display:block;margin-block:var(--s-sm);font-size:var(--h2);line-height:1;background:var(--ground);color:var(--root)}
.mantle-lede{
	max-width:var(--narrow);
	margin-inline:auto;
	font-style:italic;
	font-size:var(--display-4);
	line-height:var(--regular);
	background:var(--ground);
	color:var(--subtle);
}

/* ── prose · PROSE-13 (rule above the heading) ──────────────── */
.harbor{padding-block:var(--sec-y);background:var(--ground);color:var(--subtle)}
.harbor-inner{max-width:var(--frame);margin-inline:auto;padding-inline:var(--pad-lg)}
.harbor-hdr{
	position:relative;
	margin-block:var(--s-lg) var(--s-sm);
	padding-block-start:var(--s-sm);
	font-size:clamp(24px,3vw,var(--h2));
	font-weight:var(--black);
	text-transform:uppercase;
	color:var(--script);
}
.harbor-hdr::before{
	content:'';
	position:absolute;
	inset-block-start:0;
	inset-inline:0;
	block-size:1px;
	background:var(--line);
}
.harbor-inner > .harbor-hdr:first-child{margin-block-start:0}
.harbor-copy{margin-block-end:var(--s-sm);line-height:var(--open);color:var(--subtle)}
.harbor-href{background:var(--ground);color:var(--root);text-decoration:underline;text-decoration-thickness:1px}
.harbor-href:hover{background:var(--ground);color:var(--root);text-decoration-thickness:2px}
.harbor-roll{margin-block-end:var(--s-sm);padding-inline-start:0;list-style:none}
.harbor-unit{position:relative;padding-inline-start:var(--s-md);margin-block-end:var(--s-2xs);line-height:var(--open)}
.harbor-unit::before{content:'';position:absolute;inset-inline-start:0;inset-block-start:11px;inline-size:8px;block-size:2px;background:var(--root)}
.harbor-steps{margin-block-end:var(--s-sm);padding-inline-start:0;list-style:none;counter-reset:tally}
.harbor-step{position:relative;padding-inline-start:var(--s-lg);margin-block-end:var(--s-2xs);line-height:var(--open);counter-increment:tally}
.harbor-step::before{
	content:counter(tally);
	position:absolute;
	inset-inline-start:0;
	inset-block-start:0;
	inline-size:22px;
	text-align:center;
	font-weight:var(--black);
	font-size:var(--sm);
	line-height:1.6;
	background:var(--ground);
	color:var(--root);
}
.harbor-invite{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-sm);margin-block:var(--s-md) var(--s-lg)}
.harbor-tap{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-block-size:50px;
	padding-inline:var(--s-lg);
	font-size:var(--h6);
	font-weight:var(--half);
	text-transform:uppercase;
	letter-spacing:var(--spread);
	text-decoration:none;
	border-radius:var(--r-xs);
}
.harbor-terms{font-size:var(--legal);background:var(--ground);color:var(--subtle)}
.harbor-frame-shotWide{max-inline-size:760px;margin:var(--s-md) 0 var(--s-lg)}
.harbor-frame-shotTall{max-inline-size:340px;margin:var(--s-md) 0 var(--s-lg)}
.harbor-frame-shotSquare{max-inline-size:420px;margin:var(--s-md) 0 var(--s-lg)}
.harbor-art{
	inline-size:100%;
	block-size:auto;
	display:block;
	border-radius:var(--r-md);
	border:var(--thin) solid var(--line);
	background:var(--above);
}
.harbor-note{margin-block-start:var(--s-2xs);font-size:var(--legal);background:var(--ground);color:var(--subtle)}

/* ── items grid · GRID-03 (asymmetric widths) ───────────────── */
.veranda{padding-block:var(--sec-y);background:var(--ground);color:var(--subtle)}
.veranda-inner{max-width:var(--frame);margin-inline:auto;padding-inline:var(--pad-lg)}
.veranda-hdr{margin-block-end:var(--s-lg);font-size:clamp(24px,3vw,var(--h2));font-weight:var(--black);text-transform:uppercase;color:var(--script)}
.veranda-roll{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-lg)}
.veranda-tile{
	position:relative;
	grid-column:span 7;
	padding:var(--s-lg);
	background:var(--above);
	color:var(--subtle);
	border:var(--thin) solid var(--line);
	border-radius:var(--r-md);
	overflow:hidden;
}
.veranda-tile:nth-child(4n+2),.veranda-tile:nth-child(4n+3){grid-column:span 5}
.veranda-tile::after{
	content:'';
	position:absolute;
	inset-block-end:0;
	inset-inline-start:0;
	inline-size:0;
	block-size:2px;
	background:var(--root);
	transition:inline-size var(--mid) var(--out);
}
.veranda-tile:hover::after{inline-size:100%}
.veranda-sign{display:block;inline-size:34px;block-size:34px;margin-block-end:var(--s-sm);background:var(--above);color:var(--root)}
.veranda-sign svg{inline-size:100%;block-size:100%;fill:currentColor;display:block}
.veranda-tile-hdr{margin-block-end:var(--s-2xs);font-size:var(--display-4);font-weight:var(--half);text-transform:uppercase;color:var(--script)}
.veranda-copy{line-height:var(--open);color:var(--subtle)}

/* ── reviews · REV-04 (featured + list) ─────────────────────── */
.banner{padding-block:var(--sec-y);background:var(--ground);color:var(--subtle)}
.banner-inner{max-width:var(--frame);margin-inline:auto;padding-inline:var(--pad-lg)}
.banner-hdr{margin-block-end:var(--s-sm);font-size:clamp(24px,3vw,var(--h2));font-weight:var(--black);text-transform:uppercase;color:var(--script)}
.banner-score{display:flex;align-items:baseline;gap:var(--s-2xs);margin-block-end:var(--s-lg)}
.banner-value{font-size:var(--sub);font-weight:var(--black);background:var(--ground);color:var(--root)}
.banner-outof{font-size:var(--sm);background:var(--ground);color:var(--subtle)}
.banner-lead{
	margin:0 0 var(--s-2xl);
	padding:var(--s-xl);
	background:#22161b;
	color:var(--script);
	border-radius:var(--r-lg);
	border-inline-start:3px solid var(--beacon);
}
.banner-copy{margin:0;font-size:var(--display-4);font-style:italic;line-height:var(--regular);color:var(--script)}
.banner-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-sm);margin-block-start:var(--s-md)}
.banner-who{font-style:normal;font-weight:var(--half);font-size:var(--sm);text-transform:uppercase;letter-spacing:var(--spread);background:#22161b;color:var(--script)}
.banner-stars{font-size:20px;letter-spacing:1px;background:#22161b;color:var(--root)}
.banner-roll{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-lg);margin:0;padding:0;list-style:none}
.banner-unit{padding-block-start:var(--s-md);border-block-start:var(--thin) solid var(--line);background:var(--ground);color:var(--subtle)}
.banner-tier{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-2xs);margin-block-end:var(--s-2xs)}
.banner-unit .banner-who{background:var(--ground);color:var(--script)}
.banner-unit .banner-stars{font-size:15px;background:var(--ground);color:var(--root)}
.banner-unit .banner-copy{font-size:var(--sm);font-style:normal;line-height:var(--open);color:var(--subtle)}

/* ── data table · TABLE-06 (editorial with caption) ─────────── */
.spire{padding-block:var(--sec-y);background:var(--ground);color:var(--subtle)}
.spire-inner{max-width:var(--frame);margin-inline:auto;padding-inline:var(--pad-lg)}
.spire-hdr{margin-block-end:var(--s-sm);font-size:clamp(24px,3vw,var(--h2));font-weight:var(--black);text-transform:uppercase;text-align:center;color:var(--script)}
.spire-note{
	position:relative;
	max-width:var(--narrow);
	margin:0 auto var(--s-lg);
	padding-block-start:var(--s-sm);
	font-family:var(--heading);
	font-size:var(--display-4);
	font-style:italic;
	text-align:center;
	background:var(--ground);
	color:var(--subtle);
}
.spire-note::before{content:'';position:absolute;inset-block-start:0;inset-inline-start:50%;transform:translateX(-50%);inline-size:40px;block-size:2px;background:var(--root)}
.spire-scroll{overflow-x:auto}
.spire-grid{inline-size:100%;min-inline-size:520px;border-collapse:collapse;background:var(--ground);color:var(--subtle)}
.spire-th{
	padding:var(--s-xs) var(--s-sm);
	text-align:start;
	font-size:var(--h6);
	font-weight:var(--black);
	text-transform:uppercase;
	letter-spacing:var(--spread);
	background:#22161b;
	color:var(--root);
	border-block-end:2px solid var(--beacon);
}
.spire-tier{border-block-end:var(--thin) solid var(--line)}
.spire-key{padding:var(--s-xs) var(--s-sm);text-align:start;font-weight:var(--half);background:var(--ground);color:var(--script);vertical-align:top}
.spire-cell{padding:var(--s-xs) var(--s-sm);font-size:var(--sm);background:var(--ground);color:var(--subtle);vertical-align:top}

/* ── faq · FAQ-01 (classic accordion) ───────────────────────── */
.crochet{padding-block:var(--sec-y);background:var(--ground);color:var(--subtle)}
.crochet-inner{max-width:var(--frame);margin-inline:auto;padding-inline:var(--pad-lg)}
.crochet-hdr{margin-block-end:var(--s-md);font-size:clamp(24px,3vw,var(--h2));font-weight:var(--black);text-transform:uppercase;color:var(--script)}
.crochet-roll{display:block}
.crochet-unit{border-block-end:var(--thin) solid var(--line);background:var(--ground);color:var(--subtle)}
.crochet-slot{list-style:none;cursor:pointer;padding-block:var(--s-md)}
.crochet-slot::-webkit-details-marker{display:none}
.crochet-ask{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	align-items:center;
	gap:var(--s-md);
	font-size:var(--h5);
	font-weight:var(--half);
	text-transform:none;
	letter-spacing:var(--default);
	line-height:var(--regular);
	background:var(--ground);
	color:var(--script);
}
.crochet-slot:hover .crochet-ask{background:var(--ground);color:var(--root)}
.crochet-sign{
	inline-size:24px;
	block-size:24px;
	font-size:22px;
	line-height:1;
	text-align:center;
	background:var(--ground);
	color:var(--root);
	transition:transform var(--mid) var(--smooth);
}
.crochet-unit[open] .crochet-sign{transform:rotate(45deg)}
.crochet-inside{overflow:hidden;transition:block-size var(--mid) var(--smooth)}
.crochet-copy{padding-block:0 var(--s-md);line-height:var(--open);background:var(--ground);color:var(--subtle)}

/* ── cta block · CTA-07 (card with decorative number) ───────── */
.vault{padding-block:var(--sec-y);background:var(--ground);color:var(--subtle)}
.vault-inner{max-width:var(--frame);margin-inline:auto;padding-inline:var(--pad-lg)}
.vault-tile{
	padding:var(--s-xl);
	text-align:center;
	background:#17181b;
	color:var(--subtle);
	border:2px solid var(--beacon);
	border-radius:var(--r-lg);
}
.vault-digit{display:block;font-family:var(--heading);font-size:clamp(34px,5vw,var(--display-1));font-weight:var(--black);line-height:1;background:#17181b;color:var(--root)}
.vault-hdr{margin-block:var(--s-sm);font-size:clamp(24px,3vw,var(--h2));font-weight:var(--black);text-transform:uppercase;color:var(--script)}
.vault-copy{max-width:var(--narrow);margin-inline:auto;line-height:var(--open);background:#17181b;color:var(--subtle)}
.vault-tap{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-block-size:54px;
	margin-block-start:var(--s-md);
	padding-inline:var(--s-xl);
	font-size:var(--h6);
	font-weight:var(--half);
	text-transform:uppercase;
	letter-spacing:var(--spread);
	text-decoration:none;
	border-radius:var(--r-xs);
}
.vault-terms{display:block;margin-block-start:var(--s-sm);font-size:var(--legal);background:#17181b;color:var(--subtle)}

/* ── author byline · BYLINE-02 (bordered card) ──────────────── */
.canopy{display:block;padding-block:var(--s-lg);background:var(--ground);color:var(--subtle)}
.canopy-tile{
	display:flex;
	gap:var(--s-md);
	max-width:var(--narrow);
	margin-inline:auto;
	padding:var(--s-lg);
	background:var(--above);
	color:var(--subtle);
	border:var(--thin) solid var(--line);
	border-radius:var(--r-md);
}
.canopy-shot{flex:0 0 auto;inline-size:64px;block-size:64px;border-radius:var(--round-full);overflow:hidden;background:var(--above)}
.canopy-shot-art{inline-size:64px;block-size:64px;object-fit:cover;object-position:center top;display:block}
.canopy-inside{min-width:0}
.canopy-mark{display:block;font-size:var(--legal);text-transform:uppercase;letter-spacing:var(--spread);background:var(--above);color:var(--subtle)}
.canopy-hdr{margin-block:2px var(--s-2xs);font-size:var(--display-4);font-weight:var(--half);color:var(--script)}
.canopy-href{background:var(--above);color:var(--script);text-decoration:none}
.canopy-href:hover{background:var(--above);color:var(--root);text-decoration:underline}
.canopy-role{font-size:var(--sm);background:var(--above);color:var(--subtle)}
.canopy-copy{margin-block-start:var(--s-2xs);line-height:var(--regular);font-size:var(--sm);background:var(--above);color:var(--subtle)}
.canopy-more{display:inline-block;margin-block-start:var(--s-2xs);font-size:var(--sm);text-transform:uppercase;letter-spacing:var(--spread);text-decoration:none;background:var(--above);color:var(--root)}
.canopy-more:hover{background:var(--above);color:var(--root);text-decoration:underline}

/* ── author card · AUTH-07 (quote with portrait) ────────────── */
.hearth{padding-block:var(--sec-y);background:var(--ground);color:var(--subtle)}
.hearth-inner{max-width:var(--frame);margin-inline:auto;padding-inline:var(--pad-lg)}
.hearth-tile{
	display:grid;
	grid-template-columns:100px minmax(0,1fr);
	gap:var(--s-lg);
	padding:var(--s-xl);
	background:var(--above);
	color:var(--subtle);
	border-radius:var(--r-md);
	border-inline-start:4px solid var(--beacon);
}
.hearth-shot{inline-size:100px;block-size:100px;border-radius:var(--round-full);object-fit:cover;object-position:center top;display:block}
.hearth-inside{min-width:0}
.hearth-quote{display:block;font-family:var(--heading);font-size:var(--display-1);font-weight:var(--black);line-height:0.7;background:var(--above);color:var(--root)}
.hearth-copy{margin:var(--s-sm) 0 0;font-size:var(--h5);font-style:italic;line-height:var(--regular);background:var(--above);color:var(--script)}
.hearth-by{margin-block-start:var(--s-md);font-size:var(--sm);letter-spacing:var(--spread);background:var(--above);color:var(--subtle)}
.hearth-role{background:var(--above);color:var(--subtle)}
.hearth-articles{margin-block-start:var(--s-xl)}
.hearth-articles-hdr{margin-block-end:var(--s-md);font-size:var(--sub);font-weight:var(--black);text-transform:uppercase;color:var(--script)}
.hearth-articles-roll{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-xs);margin:0;padding:0;list-style:none}
.hearth-articles-unit{padding-block:var(--s-2xs);border-block-start:var(--thin) solid var(--line)}
.hearth-href{background:var(--ground);color:var(--root);text-decoration:none;font-size:var(--sm)}
.hearth-href:hover{background:var(--ground);color:var(--root);text-decoration:underline;text-decoration-thickness:2px}

/* ── legal · LEGAL-03 (sidebar toc) ─────────────────────────── */
.keystone{padding-block:var(--sec-y);background:var(--ground);color:var(--subtle)}
.keystone-inner{
	max-width:var(--frame);
	margin-inline:auto;
	padding-inline:var(--pad-lg);
	display:grid;
	grid-template-columns:240px minmax(0,1fr);
	gap:var(--s-2xl);
}
.keystone-guide{
	position:sticky;
	inset-block-start:130px;
	align-self:start;
	padding:var(--s-md);
	background:var(--above);
	color:var(--subtle);
	border-radius:var(--r-md);
	border:var(--thin) solid var(--line);
}
.keystone-guide-hdr{margin-block-end:var(--s-2xs);font-size:var(--h6);font-weight:var(--black);text-transform:uppercase;letter-spacing:var(--spread);color:var(--script)}
.keystone-guide-roll{margin:0;padding-inline-start:var(--s-sm);font-size:var(--sm);color:var(--subtle)}
.keystone-guide-unit{margin-block-start:var(--s-2xs)}
.keystone-href{background:var(--above);color:var(--subtle);text-decoration:none}
.keystone-href:hover{background:var(--above);color:var(--root);text-decoration:underline}
.keystone-inside{min-width:0}
.keystone-lede{margin-block-end:var(--s-md);font-size:var(--h5);line-height:var(--regular);background:var(--ground);color:var(--script)}
.keystone-hdr{margin-block:var(--s-lg) var(--s-sm);font-size:clamp(22px,2.6vw,var(--sub));font-weight:var(--black);text-transform:uppercase;color:var(--script)}
.keystone-copy{margin-block-end:var(--s-sm);line-height:var(--open);background:var(--ground);color:var(--subtle)}
.keystone-roll{margin-block-end:var(--s-sm);padding-inline-start:0;list-style:none}
.keystone-unit{position:relative;padding-inline-start:var(--s-md);margin-block-end:var(--s-2xs);line-height:var(--open);background:var(--ground);color:var(--subtle)}
.keystone-unit::before{content:'';position:absolute;inset-inline-start:0;inset-block-start:11px;inline-size:8px;block-size:2px;background:var(--root)}
.keystone-fine{margin-block-start:var(--s-lg);padding-block-start:var(--s-sm);border-block-start:var(--thin) solid var(--line);font-size:var(--sm);background:var(--ground);color:var(--subtle)}

/* ── contact form · FORM-03 (single field per row) ──────────── */
.kiosk{padding-block:var(--sec-y);background:var(--ground);color:var(--subtle)}
.kiosk-inner{max-width:var(--frame);margin-inline:auto;padding-inline:var(--pad-lg)}
.kiosk-hdr{margin-block-end:var(--s-sm);font-size:clamp(24px,3vw,var(--h2));font-weight:var(--black);text-transform:uppercase;text-align:center;color:var(--script)}
.kiosk-lede{max-width:540px;margin:0 auto var(--s-lg);text-align:center;background:var(--ground);color:var(--subtle)}
.kiosk-form{display:grid;gap:var(--s-2xs);max-width:640px;margin-inline:auto}
.kiosk-tag{font-size:var(--sm);text-transform:uppercase;letter-spacing:var(--spread);background:var(--ground);color:var(--subtle)}
.kiosk-slot{
	inline-size:100%;
	min-block-size:48px;
	margin-block-end:var(--s-xs);
	padding:0 var(--s-xs);
	font-family:var(--prose);
	font-size:var(--copy);
	background:var(--above);
	color:var(--script);
	border:var(--thin) solid var(--edge-hard);
	border-radius:var(--r-xs);
}
.kiosk-area{
	inline-size:100%;
	margin-block-end:var(--s-md);
	padding:var(--s-xs);
	font-family:var(--prose);
	font-size:var(--copy);
	background:var(--above);
	color:var(--script);
	border:var(--thin) solid var(--edge-hard);
	border-radius:var(--r-xs);
}
.kiosk-slot:focus,.kiosk-area:focus{outline:2px solid var(--root);outline-offset:1px}
.kiosk-send{
	inline-size:100%;
	min-block-size:52px;
	font-family:var(--prose);
	font-size:var(--h6);
	font-weight:var(--half);
	text-transform:uppercase;
	letter-spacing:var(--spread);
	background:var(--root);
	color:#111213;
	border:0;
	border-radius:var(--r-xs);
	cursor:pointer;
	transition:transform var(--fast) var(--out),background var(--fast) var(--out);
}
.kiosk-send:hover{background:#ffbb6e;color:#111213;transform:scale(1.02)}
.kiosk-done{max-width:640px;margin:var(--s-md) auto 0;padding:var(--s-md);background:#1d2a1d;color:#d8f0d8;border-radius:var(--r-md)}
.kiosk-line{margin-block-start:var(--s-md);text-align:center;font-size:var(--sm);background:var(--ground);color:var(--subtle)}
.kiosk-href{background:var(--ground);color:var(--root);text-decoration:underline}
.kiosk-href:hover{background:var(--ground);color:var(--root);text-decoration-thickness:2px}

/* ── error · ERR-05 (glitch) ────────────────────────────────── */
.mast{padding-block:var(--s-2xl);background:var(--ground);color:var(--subtle)}
.mast-inner{max-width:var(--frame);margin-inline:auto;padding-inline:var(--pad-lg);text-align:center}
.mast-code{display:block;font-family:var(--heading);font-size:clamp(56px,12vw,140px);font-weight:var(--black);line-height:1;background:var(--ground);color:var(--beacon)}
.mast-hdr{
	position:relative;
	max-width:var(--narrow);
	margin:var(--s-md) auto 0;
	font-size:clamp(26px,4vw,var(--h2));
	font-weight:var(--black);
	text-transform:uppercase;
	color:var(--script);
}
.mast-hdr::before,.mast-hdr::after{content:attr(data-text);position:absolute;inset:0;opacity:0.55}
.mast-hdr::before{transform:translate(2px,-2px);color:var(--ramp-start)}
.mast-hdr::after{transform:translate(-2px,2px);color:var(--root)}
.mast-copy{max-width:var(--narrow);margin:var(--s-md) auto 0;line-height:var(--open);background:var(--ground);color:var(--subtle)}
.mast-back{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-block-size:52px;
	margin-block-start:var(--s-lg);
	padding-inline:var(--s-xl);
	font-size:var(--h6);
	font-weight:var(--half);
	text-transform:uppercase;
	letter-spacing:var(--spread);
	text-decoration:none;
	background:var(--root);
	color:#111213;
	border-radius:var(--r-xs);
	transition:transform var(--fast) var(--out),background var(--fast) var(--out);
}
.mast-back:hover{background:#ffbb6e;color:#111213;transform:scale(1.02)}

/* ── cookie · COOK-01 (bottom floating pill) ────────────────── */
.sigil{
	position:fixed;
	inset-block-end:var(--s-md);
	inset-inline:var(--s-md);
	max-width:var(--narrow);
	margin-inline:auto;
	z-index:90;
	display:none;
	opacity:0;
	visibility:hidden;
	background:var(--above);
	color:var(--subtle);
	border:var(--thin) solid var(--edge-hard);
	border-radius:var(--r-md);
	box-shadow:var(--d-md);
}
.sigil.is-open{display:block;opacity:1;visibility:visible}
.sigil-inner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-md);padding:var(--s-md)}
.sigil-line{flex:1 1 280px;font-size:var(--sm);line-height:var(--regular);background:var(--above);color:var(--subtle)}
.sigil-bar{display:flex;gap:var(--s-2xs)}
.sigil-grant{
	min-block-size:36px;
	padding-inline:var(--s-sm);
	font-family:var(--prose);
	font-size:var(--legal);
	font-weight:var(--half);
	text-transform:uppercase;
	letter-spacing:var(--spread);
	background:var(--root);
	color:#111213;
	border:0;
	border-radius:var(--r-xs);
	cursor:pointer;
}
.sigil-grant:hover{background:#ffbb6e;color:#111213}
.sigil-refuse{
	min-block-size:36px;
	padding-inline:var(--s-sm);
	font-family:var(--prose);
	font-size:var(--legal);
	font-weight:var(--half);
	text-transform:uppercase;
	letter-spacing:var(--spread);
	background:#26292e;
	color:var(--script);
	border:var(--thin) solid var(--edge-hard);
	border-radius:var(--r-xs);
	cursor:pointer;
}
.sigil-refuse:hover{background:#33373d;color:var(--script)}

/* ── footer · FOOT-04 (sticky mini) ─────────────────────────── */
.alcove{
	position:relative;
	flex:0 0 auto;
	margin-block-start:var(--s-lg);
	background:#0d0e0f;
	color:var(--subtle);
	border-block-start:var(--thin) solid var(--line);
}
.alcove-inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:var(--s-md);
	min-block-size:64px;
	max-width:1440px;
	margin-inline:auto;
	padding-inline:var(--pad-lg);
}
.alcove-line{font-size:var(--legal);background:#0d0e0f;color:var(--subtle)}
.alcove-routes{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-sm)}
.alcove-href{
	position:relative;
	padding-inline-start:var(--s-sm);
	font-size:var(--legal);
	text-transform:uppercase;
	letter-spacing:var(--spread);
	text-decoration:none;
	background:#0d0e0f;
	color:var(--subtle);
}
.alcove-href:first-child{padding-inline-start:0}
.alcove-href::before{content:'';position:absolute;inset-inline-start:0;inset-block:2px;inline-size:1px;background:var(--line)}
.alcove-href:first-child::before{display:none}
.alcove-href:hover{background:#0d0e0f;color:var(--script);text-decoration:underline}

/* ── narrow screens (desktop-first) ─────────────────────────── */
@media (max-width:1180px){
	.sconce-inner{gap:var(--s-xs);padding-inline:var(--s-sm)}
	.sconce-roll{gap:var(--s-xs)}
	.sconce-glyph-art{height:40px}
	.sconce-tap{padding-inline:16px;font-size:var(--legal)}
}

@media (max-width:1023px){
	.sconce-routes{display:none}
	.sconce-mark{margin-inline-start:auto}
	.sconce-toggle{margin-inline-start:var(--s-2xs)}
	.sconce-inner{height:64px;padding-block:6px;gap:var(--s-2xs);position:relative}
	.sconce-glyph-art{height:34px}
	.veranda-roll{grid-template-columns:minmax(0,1fr)}
	.shellmain{margin-block-start:88px}
	.sconce-tap{order:2;min-block-size:40px;padding-inline:14px;font-size:var(--legal)}
	.shelf-inner{grid-template-columns:minmax(0,1fr);gap:var(--s-lg)}
	.shelf-art{aspect-ratio:16 / 9;order:2}
	.keystone-inner{grid-template-columns:minmax(0,1fr);gap:var(--s-lg)}
	.keystone-guide{position:relative;inset-block-start:auto}
	.veranda-tile,.veranda-tile:nth-child(4n+2),.veranda-tile:nth-child(4n+3){grid-column:auto}
	.hearth-articles-roll{grid-template-columns:minmax(0,1fr)}
}

@media (min-width:1024px){
	.sconce-panel{display:none !important}
	.sconce-toggle{display:none}
}

@media (max-width:820px){
	:root{
		--display-1:34px;
		--h2:26px;
		--sub:20px;
		--display-4:16px;
		--h5:14px;
		--h6:12px;
		--copy:15px;
		--sm:12px;
		--legal:10px;
		--sec-y:36px;
		--pad-lg:20px;
	}
	.banner-roll{grid-template-columns:minmax(0,1fr)}
	.banner-lead{padding:var(--s-md)}
	.hearth-tile{grid-template-columns:minmax(0,1fr);gap:var(--s-md);padding:var(--s-md)}
	.vault-tile{padding:var(--s-md)}
	.harbor-invite{gap:var(--s-2xs)}
	.harbor-tap,.shelf-tap,.shelf-quiet,.vault-tap{inline-size:100%}
	.alcove-inner{flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--s-2xs);min-block-size:80px;padding-block:var(--s-xs)}
	.canopy-tile{flex-direction:column}
	.spire-grid{min-inline-size:440px}
}

@media (max-width:720px){
	.sigil,.sigil-inner{padding:12px 14px;gap:8px;font-size:13px;line-height:1.35}
	.sigil-inner{padding:12px 14px}
	.sigil-line{font-size:12px;line-height:1.35}
	.sigil-grant,.sigil-refuse{padding:8px 14px;font-size:11px;min-block-size:36px}
}

@media (max-width:430px){
	.sconce-inner{padding-inline:10px;gap:6px}
	.sconce-glyph-art{height:26px}
	.sconce-tap{padding-inline:10px;font-size:10px;min-block-size:38px}
	.sconce-mark{font-size:16px}
	.sconce-toggle{inline-size:36px;block-size:36px}
	.shellmain{margin-block-start:88px}
	.pledge-band{padding:8px 12px}
	.spire-grid{min-inline-size:340px}
	.hearth-quote{font-size:40px}
}

@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
}
.pulpit-act{display:block;text-align:center;padding:11px var(--s-xs);border-radius:var(--r-xs);font-size:var(--sm);font-weight:500;letter-spacing:var(--spread)}
.pulpit-act{position:relative;
  background:#16A34A;color:#111213;text-decoration:none;text-transform:uppercase;
  transition:background 0.3s ease-out,color 0.3s ease-out,transform 0.3s ease-out;}
.pulpit-act.pulpit-act{color:#111213;text-decoration:none;}
.pulpit-act:hover{background:#15803D;color:#FFFFFF;animation:none}
.pulpit-act.pulpit-act:hover{color:#FFFFFF;text-decoration:none}
.pulpit-act:hover::after{animation:none}
.pulpit-act:active{background:#166534;color:#FFFFFF}
.pulpit-act:focus-visible{outline:3px solid #111213;outline-offset:3px}
@keyframes pulpit-pulse{0%,100%{transform:scaleX(0)}40%,60%{transform:scaleX(1)}}
.pulpit-act::after{content:"";position:absolute;left:12%;right:12%;bottom:6px;height:2px;background:currentColor;opacity:.5;transform-origin:left;animation:pulpit-pulse 2s ease infinite}
@media (prefers-reduced-motion:reduce){.pulpit-act,.pulpit-act::after{animation:none!important;transition:none!important}}
.sconce-tap.pulpit-act{display:inline-flex;align-items:center;justify-content:center;min-block-size:44px;padding:0 22px;font-size:var(--sm);font-weight:var(--half)}
.shelf-tap.pulpit-act,.vault-tap.pulpit-act,.harbor-tap.pulpit-act{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--s-lg);font-size:var(--h6);font-weight:var(--half)}
.shelf-tap.pulpit-act{min-block-size:52px}
.vault-tap.pulpit-act{min-block-size:54px;padding-inline:var(--s-xl)}
.harbor-tap.pulpit-act{min-block-size:50px}
@media (max-width:1023px){.sconce-tap.pulpit-act{min-block-size:40px;padding:0 14px;font-size:var(--legal)}}
@media (max-width:820px){.shelf-tap.pulpit-act,.harbor-tap.pulpit-act,.vault-tap.pulpit-act{inline-size:100%}}
@media (max-width:430px){.sconce-tap.pulpit-act{padding:0 10px;font-size:10px;min-block-size:38px}}

@media (max-width: 1049px) {
  .sconce-routes,
  .sconce-roll,
  .sconce-href { display: none !important; }
  .sconce-toggle { display: flex !important; }
}
