/*
Theme Name: Pacific Coast
Description: Theme for Pacific Coast Lighting & Electrical Solutions.
Version: 1.0
Text Domain: pcle
*/

@font-face { font-family: "Instrument Serif"; src: url(assets/fonts/InstrumentSerif-400-normal.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument Serif"; src: url(assets/fonts/InstrumentSerif-400-italic.woff2) format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Manrope"; src: url(assets/fonts/Manrope-400-700-normal.woff2) format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Space Mono"; src: url(assets/fonts/SpaceMono-400-normal.woff2) format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Space Mono"; src: url(assets/fonts/SpaceMono-700-normal.woff2) format("woff2"); font-weight: 700; font-display: swap; }

:root {
	--navy: #081b31;
	--deep: #033c5c;
	--water: #1e446b;
	--orange: #f79922;
	--gold: #fb9d27;
	--glow: #f6f5cb;
	--cream: #eae6d3;
	--white: #fff;

	--serif: "Instrument Serif", Georgia, serif;
	--sans: Manrope, system-ui, sans-serif;
	--mono: "Space Mono", ui-monospace, monospace;

	/* type scale 1.333 on 18px */
	--t-xs: .75rem;
	--t-s: .875rem;
	--t-m: 1.125rem;
	--t-l: 1.5rem;
	--t-xl: 2rem;
	--t-2xl: 2.666rem;
	--t-3xl: 3.553rem;
	--t-4xl: 4.736rem;

	/* gap unit 8px */
	--g1: .5rem;
	--g2: 1rem;
	--g3: 1.5rem;
	--g5: 2.5rem;
	--g8: 4rem;
	--g13: 6.5rem;

	--wide: 1240px;
	--text: 760px;
	--gutter: clamp(1rem, 4vw, 2.5rem);

	--ink: var(--white);
	--bg: var(--navy);
	--hair: rgb(255 255 255 / .16);
	--support: .74;
	--quiet: .54;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 6rem; }
body {
	margin: 0;
	background: var(--bg);
	color: var(--ink);
	font: 400 var(--t-m)/1.6 var(--sans);
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-underline-offset: .2em; text-decoration-thickness: 1px; }
a:hover { color: var(--gold); }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
h1, h2, h3, h4 { font-family: var(--serif); font-weight: 400; line-height: 1.02; letter-spacing: -.01em; margin: 0 0 var(--g3); text-wrap: balance; }
h1 { font-size: clamp(var(--t-3xl), 7vw, var(--t-4xl)); }
h2 { font-size: clamp(var(--t-2xl), 4.6vw, var(--t-3xl)); }
h3 { font-size: var(--t-xl); line-height: 1.1; }
h4 { font-family: var(--sans); font-weight: 700; font-size: var(--t-m); }
p { margin: 0 0 var(--g2); }
p, li { text-wrap: pretty; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: absolute; left: -999px; top: 0; z-index: 100; background: var(--gold); color: var(--navy); padding: var(--g1) var(--g2); }
.skip-link:focus { left: var(--g2); }

.eyebrow, .mono {
	font-family: var(--mono);
	font-size: var(--t-xs);
	letter-spacing: .14em;
	text-transform: uppercase;
}
.eyebrow { opacity: var(--support); margin-bottom: var(--g2); }
.lead, .is-style-lead { font-size: var(--t-l); line-height: 1.45; opacity: var(--support); max-width: 40ch; }
.support { opacity: var(--support); }
.quiet { opacity: var(--quiet); }

/* rooms */
.room-night { --bg: var(--navy); --ink: var(--white); }
.room-cream { --bg: var(--cream); --ink: var(--navy); --hair: rgb(8 27 49 / .16); }
.room-water { --bg: var(--water); --ink: var(--white); }
.room-paper { --bg: var(--white); --ink: var(--navy); --hair: rgb(8 27 49 / .14); }
.room-gold  { --bg: var(--navy); --ink: var(--white); }

/* buttons */
.btn, .wp-block-button__link {
	display: inline-flex; align-items: center; gap: .6em;
	font: 700 var(--t-s)/1 var(--sans);
	letter-spacing: .02em;
	padding: 1em 1.5em;
	border-radius: 999px;
	border: 1.5px solid currentColor;
	text-decoration: none;
	background: transparent;
	color: inherit;
	transition: background .25s, color .25s, box-shadow .35s, transform .25s;
}
.btn--gold, .wp-block-button.is-style-gold .wp-block-button__link, .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: var(--gold); color: var(--navy); border-color: var(--gold);
}
.btn--gold:hover, .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	color: var(--navy); box-shadow: 0 0 0 6px rgb(251 157 39 / .18), 0 0 40px rgb(251 157 39 / .55); transform: translateY(-1px);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--ink); color: var(--bg); }
.wp-block-buttons { gap: var(--g2); }

/* header */
.site-header {
	position: fixed; inset: 0 0 auto; z-index: 50;
	color: var(--white);
	transition: background .35s, box-shadow .35s, padding .35s;
}
.site-header.is-solid, .site-header.is-open { background: rgb(8 27 49 / .94); backdrop-filter: blur(10px); box-shadow: 0 1px 0 rgb(255 255 255 / .08); }
.site-header__bar {
	max-width: var(--wide); margin: 0 auto; padding: var(--g2) var(--gutter);
	display: flex; align-items: center; justify-content: space-between; gap: var(--g3);
}
.brand { display: flex; align-items: center; gap: .75rem; text-decoration: none; color: inherit; }
.brand:hover { color: inherit; }
.brand__badge { width: 56px; height: 56px; border-radius: 50%; filter: drop-shadow(0 4px 14px rgb(0 0 0 / .35)); transition: width .35s, height .35s; }
.is-solid .brand__badge { width: 44px; height: 44px; }
.brand__words { display: grid; line-height: 1; }
.brand__name { font-family: var(--serif); font-size: 1.6rem; }
.brand__sub { font-family: var(--mono); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; opacity: var(--support); margin-top: .3rem; }
.site-nav { display: flex; align-items: center; gap: var(--g3); }
.site-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: var(--g3); }
.site-nav a:not(.btn) { text-decoration: none; font-size: var(--t-s); font-weight: 600; opacity: .86; position: relative; padding: .4rem 0; }
.site-nav a:not(.btn):hover, .site-nav .current-menu-item > a:not(.btn), .site-nav a[aria-current]:not(.btn) { opacity: 1; color: var(--gold); }
.site-nav .btn--gold[aria-current], .site-nav .btn--gold:active { background: var(--gold); color: var(--navy); border-color: var(--gold); }
.site-nav__cta { padding: .85em 1.3em; }
.nav-toggle { display: none; }

@media (max-width: 980px) {
	.nav-toggle {
		display: grid; place-items: center; width: 48px; height: 48px;
		background: transparent; border: 1.5px solid rgb(255 255 255 / .4); border-radius: 50%; color: inherit; cursor: pointer;
	}
	.nav-toggle__bars, .nav-toggle__bars::before, .nav-toggle__bars::after {
		content: ""; display: block; width: 18px; height: 2px; background: currentColor; position: relative; transition: transform .3s, background .3s;
	}
	.nav-toggle__bars::before { position: absolute; top: -6px; }
	.nav-toggle__bars::after { position: absolute; top: 6px; }
	.is-open .nav-toggle__bars { background: transparent; }
	.is-open .nav-toggle__bars::before { transform: translateY(6px) rotate(45deg); }
	.is-open .nav-toggle__bars::after { transform: translateY(-6px) rotate(-45deg); }
	.site-nav {
		position: fixed; inset: 0; top: 80px; z-index: -1;
		flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: var(--g5);
		padding: var(--g5) var(--gutter);
		background: var(--navy);
		transform: translateY(-110%); transition: transform .45s cubic-bezier(.2,.7,.2,1);
	}
	.is-open .site-nav { transform: none; }
	.site-nav ul { flex-direction: column; gap: var(--g2); }
	.site-nav a:not(.btn) { font-family: var(--serif); font-size: var(--t-2xl); font-weight: 400; opacity: 1; }
}
@media (max-width: 480px) {
	.brand__name { font-size: 1.3rem; }
	.brand__sub { font-size: .55rem; letter-spacing: .08em; }
	.brand__badge { width: 46px; height: 46px; }
}

/* page layout */
.site-main { min-height: 60vh; }
.entry > *:not(.alignfull):not(.alignwide) { max-width: var(--text); margin-left: auto; margin-right: auto; padding-left: var(--gutter); padding-right: var(--gutter); }
.entry > .alignwide { max-width: var(--wide); margin-left: auto; margin-right: auto; padding-left: var(--gutter); padding-right: var(--gutter); }
.entry > .alignfull { width: 100%; max-width: none; }
.wp-block-group.alignfull, .wp-block-cover.alignfull { padding-left: var(--gutter); padding-right: var(--gutter); }
.wp-block-group.alignfull > .wp-block-group__inner-container, .wp-block-group.alignfull.is-layout-constrained > * { max-width: var(--wide); margin-left: auto; margin-right: auto; }
.wp-block-group.alignfull.is-layout-constrained > p, .wp-block-group.alignfull.is-layout-constrained > .lead { margin-left: auto; margin-right: auto; }
.section { padding-top: var(--g13); padding-bottom: var(--g13); position: relative; }

.page-head {
	max-width: var(--wide); margin: 0 auto; padding: calc(var(--g13) + 4rem) var(--gutter) var(--g8);
}
.page-head h1 { max-width: 16ch; }
.page-head .lead { max-width: 52ch; }

/* ---------- HOME ---------- */
.pc-hero.wp-block-cover {
	min-height: 100svh !important;
	align-items: flex-end;
	padding: 8rem var(--gutter) var(--g8);
	overflow: hidden;
	isolation: isolate;
	background: var(--navy);
}
.pc-hero .wp-block-cover__image-background { transform: translate3d(0, var(--py, 0), 0) scale(1.12); transform-origin: 50% 40%; will-change: transform; }
.pc-hero .wp-block-cover__background {
	opacity: 1 !important;
	background:
		linear-gradient(90deg, rgb(8 27 49 / .92) 0%, rgb(8 27 49 / .6) 38%, rgb(8 27 49 / 0) 70%),
		linear-gradient(0deg, rgb(8 27 49 / .95) 0%, rgb(8 27 49 / 0) 45%),
		linear-gradient(180deg, rgb(8 27 49 / .55) 0%, rgb(8 27 49 / 0) 30%) !important;
}
.pc-hero .wp-block-cover__inner-container { max-width: var(--wide); width: 100%; margin: 0 auto; position: relative; z-index: 2; }
.pc-hero h1 { font-size: clamp(3rem, 6.4vw, 6.6rem); line-height: .94; max-width: 13ch; margin-bottom: var(--g3); }
.pc-hero h1 em { font-style: italic; color: var(--gold); }
.pc-hero p.lead { max-width: 46ch; font-size: clamp(1.05rem, 1.6vw, var(--t-l)); }
.pc-hero .eyebrow { color: var(--glow); opacity: .9; }
.pc-hero__bolt {
	position: absolute; z-index: 1; pointer-events: none;
	right: 6%; top: 11%;
	width: clamp(130px, 14vw, 220px);
	transform: translate3d(var(--bx, 0), var(--by, 0), 0) rotate(var(--br, 8deg)) scale(var(--bs, 1));
	transform-origin: 50% 50%;
	will-change: transform;
}
.pc-bolt { width: 100%; height: auto; overflow: visible; }
.pc-bolt path { fill: var(--gold); filter: drop-shadow(0 0 22px rgb(251 157 39 / .7)) drop-shadow(0 0 70px rgb(247 153 34 / .45)); }
.pc-hero__bolt .pc-bolt path { animation: hum 4.5s ease-in-out infinite; }
@keyframes hum { 0%, 100% { opacity: 1; } 48% { opacity: 1; } 50% { opacity: .82; } 52% { opacity: 1; } }
.pc-hero .scroll-cue { position: absolute; left: 50%; bottom: var(--g3); font-family: var(--mono); font-size: var(--t-xs); letter-spacing: .2em; opacity: var(--quiet); transform: translateX(-50%); }
@media (max-width: 760px) {
	.pc-hero.wp-block-cover { padding-bottom: var(--g8); }
	.pc-hero__bolt { right: 6%; top: 15%; width: 112px; }
	.pc-hero .wp-block-cover__image-background { object-position: 70% 50% !important; }
	.pc-hero .wp-block-cover__background { background: linear-gradient(0deg, rgb(8 27 49 / .97) 0%, rgb(8 27 49 / .78) 48%, rgb(8 27 49 / .2) 100%) !important; }
}

/* steps */
.pc-steps { background: var(--navy); color: var(--white); }
.pc-steps h2 { max-width: 15ch; }
.pc-steps .wp-block-columns { gap: 0; margin-top: var(--g8); border-top: 1px solid var(--hair); }
.pc-steps .wp-block-column { padding: var(--g5) var(--g5) 0 0; position: relative; }
.pc-steps .wp-block-column + .wp-block-column { padding-left: var(--g5); border-left: 1px solid var(--hair); }
.pc-steps .step-no { font-family: var(--mono); font-size: var(--t-s); color: var(--gold); letter-spacing: .1em; margin-bottom: var(--g3); }
.pc-steps h3 { font-size: var(--t-2xl); }
.pc-steps p:not(.step-no) { opacity: var(--support); }
@media (max-width: 781px) {
	.pc-steps .wp-block-column, .pc-steps .wp-block-column + .wp-block-column { padding: var(--g5) 0; border-left: 0; border-bottom: 1px solid var(--hair); }
}

/* who */
.pc-who { background: var(--deep); color: var(--white); overflow: hidden; }
.pc-who__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--hair); border: 1px solid var(--hair); margin-top: var(--g8); }
.pc-who__grid > .wp-block-group { background: var(--deep); padding: var(--g3); min-height: 210px; display: flex; flex-direction: column; gap: var(--g1); transition: background .35s; }
.pc-who__grid > .wp-block-group:hover { background: #06456a; }
.pc-who__grid h3 { font-size: var(--t-l); margin: auto 0 var(--g1); }
.pc-who__grid p { font-size: var(--t-s); opacity: var(--support); margin: 0; }
.pc-who__grid .who-no { font-family: var(--mono); font-size: var(--t-xs); color: var(--gold); opacity: 1; letter-spacing: .1em; }
@media (max-width: 980px) { .pc-who__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .pc-who__grid { grid-template-columns: 1fr; } .pc-who__grid > .wp-block-group { min-height: 0; } }

/* lines (home) */
.pc-lines { background: var(--water); color: var(--white); }
.pc-lines__head { display: flex; justify-content: space-between; align-items: end; gap: var(--g5); flex-wrap: wrap; }
.pc-lines__head h2 { margin: 0; max-width: 12ch; }
.pc-lines__list { list-style: none; margin: var(--g8) 0 0; padding: 0; border-top: 1px solid var(--hair); counter-reset: line; }
.pc-lines__list li { counter-increment: line; border-bottom: 1px solid var(--hair); }
.pc-lines__list a {
	display: grid; grid-template-columns: 5rem 1fr auto; align-items: baseline; gap: var(--g3);
	padding: var(--g3) 0; text-decoration: none; transition: padding .35s, color .2s;
}
.pc-lines__list a::before { content: "0" counter(line); font-family: var(--mono); font-size: var(--t-s); color: var(--gold); }
.pc-lines__list strong { font-family: var(--serif); font-weight: 400; font-size: clamp(var(--t-xl), 4vw, var(--t-3xl)); line-height: 1; }
.pc-lines__list em { font-style: normal; font-size: var(--t-s); opacity: var(--support); max-width: 34ch; text-align: right; }
.pc-lines__list a:hover { padding-left: var(--g2); color: var(--glow); }
.pc-lines__list a:hover strong { color: var(--gold); }
@media (max-width: 680px) {
	.pc-lines__list a { grid-template-columns: 3rem 1fr; }
	.pc-lines__list em { grid-column: 2; text-align: left; }
}

/* coverage */
.pc-coverage { background: var(--navy); color: var(--white); }
.pc-coverage h2 { max-width: 14ch; }
.pc-map { margin: var(--g5) 0 var(--g8); }
.pc-map svg { width: 100%; overflow: visible; }
.pc-map__land path { fill: rgb(255 255 255 / .1); stroke: rgb(255 255 255 / .35); stroke-width: 1.2; }
.pc-map__line { fill: none; stroke: var(--gold); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--draw, 1)); filter: drop-shadow(0 0 8px rgb(251 157 39 / .8)); }
.pc-map__pins circle { fill: var(--navy); stroke: var(--gold); stroke-width: 3; }
.pc-map__bolt path { fill: var(--gold); }
.pc-map__label { font-family: var(--mono); font-size: 15px; letter-spacing: .14em; fill: var(--white); opacity: .8; }
.pc-map__note { font-family: var(--mono); font-size: 11px; letter-spacing: .2em; fill: var(--white); opacity: .4; text-anchor: middle; }
.pc-coverage .wp-block-columns { gap: var(--g5); }
.pc-coverage h3 { font-size: var(--t-l); font-family: var(--mono); text-transform: uppercase; letter-spacing: .12em; font-size: var(--t-s); color: var(--gold); }
.pc-coverage ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: var(--g1) var(--g3); font-family: var(--serif); font-size: var(--t-xl); line-height: 1.2; }
.pc-coverage .conditions { margin-top: var(--g8); padding-top: var(--g3); border-top: 1px solid var(--hair); opacity: var(--support); max-width: 52ch; }

/* blog band */
.pc-blog { background: var(--cream); color: var(--navy); --hair: rgb(8 27 49 / .16); }
.pc-blog__head { display: flex; justify-content: space-between; align-items: end; gap: var(--g3); flex-wrap: wrap; margin-bottom: var(--g8); }
.pc-blog__head h2 { margin: 0; }
.wp-block-latest-posts.is-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--g5); padding: 0; margin: 0; }
.wp-block-latest-posts.is-grid li { margin: 0; width: auto; display: flex; flex-direction: column; gap: var(--g1); }
.wp-block-latest-posts__featured-image img { aspect-ratio: 4/3; object-fit: cover; width: 100%; margin-bottom: var(--g2); transition: transform .6s; }
.wp-block-latest-posts__featured-image { overflow: hidden; margin: 0 !important; }
.wp-block-latest-posts.is-grid li:hover img { transform: scale(1.04); }
.wp-block-latest-posts__post-title { font-family: var(--serif); font-size: var(--t-xl); line-height: 1.08; text-decoration: none; }
.wp-block-latest-posts__post-date { font-family: var(--mono); font-size: var(--t-xs); letter-spacing: .12em; text-transform: uppercase; opacity: var(--quiet); order: -1; }
.wp-block-latest-posts__post-excerpt { font-size: var(--t-s); opacity: var(--support); margin: 0; }
@media (max-width: 860px) { .wp-block-latest-posts.is-grid { grid-template-columns: 1fr; } }

/* lights on */
.pc-night.wp-block-cover { min-height: 92svh !important; padding: var(--g13) var(--gutter); overflow: hidden; }
.pc-night .wp-block-cover__background { background: linear-gradient(180deg, rgb(8 27 49 / .9) 0%, rgb(8 27 49 / .25) 45%, rgb(8 27 49 / .8) 100%) !important; opacity: 1 !important; }
.pc-night .wp-block-cover__image-background { transform: translate3d(0, var(--py, 0), 0) scale(1.1); will-change: transform; }
.pc-night .wp-block-cover__inner-container { max-width: var(--wide); width: 100%; margin: 0 auto; text-align: left; }
.pc-night h2 { font-size: clamp(var(--t-3xl), 7vw, 6.4rem); max-width: 12ch; line-height: .95; }
.pc-night .lead { max-width: 44ch; }
.pc-night .wp-block-button__link { font-size: var(--t-m); padding: 1.1em 1.8em; box-shadow: 0 0 0 0 rgb(251 157 39 / .5); }
.pc-night.is-lit .wp-block-button__link { animation: switch-on 1.1s steps(1) 1 forwards, glow 3.2s 1.1s ease-in-out infinite; }
@keyframes switch-on { 0% { opacity: .35; } 20% { opacity: 1; } 28% { opacity: .4; } 40% { opacity: 1; } 100% { opacity: 1; } }
@keyframes glow { 0%, 100% { box-shadow: 0 0 0 6px rgb(251 157 39 / .16), 0 0 40px rgb(251 157 39 / .45); } 50% { box-shadow: 0 0 0 10px rgb(251 157 39 / .1), 0 0 80px rgb(251 157 39 / .7); } }

/* ---------- INNER PAGES ---------- */
.page-hero.wp-block-cover { min-height: 72svh !important; padding: calc(var(--g13) + 3rem) var(--gutter) var(--g8); align-items: flex-end; overflow: hidden; }
.page-hero .wp-block-cover__background { background: linear-gradient(0deg, rgb(8 27 49 / .92) 0%, rgb(8 27 49 / .35) 60%, rgb(8 27 49 / .5) 100%) !important; opacity: 1 !important; }
.page-hero .wp-block-cover__image-background { transform: translate3d(0, var(--py, 0), 0) scale(1.1); will-change: transform; }
.page-hero .wp-block-cover__inner-container { max-width: var(--wide); width: 100%; margin: 0 auto; color: var(--white); }
.page-hero h1 { max-width: 14ch; }
.page-hero .lead { max-width: 52ch; }

/* about */
.room-cream .entry { padding-bottom: var(--g13); }
.pc-about-body { padding-top: var(--g13); }
.pc-about-body .wp-block-columns { gap: var(--g8); align-items: start; }
.pc-about-body h2 { font-size: var(--t-3xl); }
.pc-about-body .wp-block-image img { aspect-ratio: 4/5; object-fit: cover; width: 100%; }
.pc-chain { list-style: none; margin: var(--g5) 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--hair); }
.pc-chain li { padding: var(--g3) var(--g2) var(--g3) 0; border-bottom: 1px solid var(--hair); position: relative; }
.pc-chain li strong { display: block; font-family: var(--serif); font-weight: 400; font-size: var(--t-xl); line-height: 1.1; margin-bottom: var(--g1); }
.pc-chain li em { font-style: normal; font-size: var(--t-s); opacity: var(--support); display: block; }
.pc-chain li.is-us strong { color: var(--orange); }
.pc-chain li.is-us::after { content: ""; position: absolute; left: 0; right: var(--g2); top: -1px; height: 3px; background: var(--gold); }
@media (max-width: 760px) { .pc-chain { grid-template-columns: 1fr 1fr; } }
.pc-values { margin-top: var(--g8); }
.pc-values .wp-block-column { border-top: 1px solid var(--hair); padding-top: var(--g3); }
.pc-values h3 { font-size: var(--t-xl); }
.pc-values p { opacity: var(--support); }

/* manufacturers */
.room-water .entry { padding-bottom: var(--g13); }
.pc-row { padding-top: var(--g8); padding-bottom: var(--g8); border-bottom: 1px solid var(--hair); }
.pc-row .wp-block-media-text { gap: var(--g8); grid-template-columns: 46% 1fr !important; }
.pc-row:nth-of-type(even) .wp-block-media-text { grid-template-columns: 1fr 46% !important; }
.pc-row .wp-block-media-text__media { overflow: hidden; }
.pc-row .wp-block-media-text__media img { aspect-ratio: 4/3; object-fit: cover; width: 100%; transform: translate3d(0, var(--py, 0), 0) scale(1.08); will-change: transform; }
.pc-row .wp-block-media-text__content { padding: 0 !important; }
.pc-row .row-code { font-family: var(--mono); font-size: var(--t-s); color: var(--gold); letter-spacing: .1em; }
.pc-row h2 { font-size: clamp(var(--t-2xl), 4vw, var(--t-3xl)); margin-bottom: var(--g2); }
.pc-row .tags { font-family: var(--mono); font-size: var(--t-xs); letter-spacing: .1em; text-transform: uppercase; opacity: var(--support); }
.pc-row p:not(.row-code):not(.tags) { opacity: var(--support); }
.pc-row .use { opacity: 1 !important; padding-left: var(--g2); border-left: 2px solid var(--gold); }
.link-slot .wp-block-button__link {
	background: transparent !important; color: var(--white) !important; border: 1.5px dashed rgb(255 255 255 / .6) !important;
}
.link-slot .wp-block-button__link:hover { border-style: solid !important; border-color: var(--gold) !important; color: var(--gold) !important; box-shadow: none !important; }
@media (max-width: 781px) {
	.pc-row .wp-block-media-text, .pc-row:nth-of-type(even) .wp-block-media-text { grid-template-columns: 1fr !important; gap: var(--g3); }
	.pc-row .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media { grid-row: 1; }
	.pc-row .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content { grid-row: 2; }
}
.pc-sample-note { font-family: var(--mono); font-size: var(--t-xs); letter-spacing: .1em; text-transform: uppercase; padding: var(--g2) var(--g3); border: 1px dashed rgb(255 255 255 / .45); display: inline-block; opacity: .85; }

/* line card */
.room-paper .site-header:not(.is-solid):not(.is-open) { color: var(--navy); }
.room-paper .site-header:not(.is-solid):not(.is-open) .nav-toggle { border-color: rgb(8 27 49 / .35); }
.pc-linecard-head { padding-top: calc(var(--g13) + 4rem); background:
	linear-gradient(rgb(255 255 255 / .86), rgb(255 255 255 / .97)),
	url(assets/img/plan-texture.jpg) center/cover; }
.pc-linecard-head h1 { max-width: 12ch; }
.pc-sheet { border: 1.5px solid var(--navy); margin-top: var(--g5); margin-bottom: var(--g13); background: var(--white); }
.pc-sheet__top { display: flex; justify-content: space-between; align-items: center; gap: var(--g3); padding: var(--g3); border-bottom: 1.5px solid var(--navy); flex-wrap: wrap; }
.pc-sheet__top img { width: 84px; height: 84px; }
.pc-sheet__top .mono { opacity: .7; }
.wp-block-table.pc-linecard { margin: 0; overflow-x: auto; }
.wp-block-table.pc-linecard table { border-collapse: collapse; width: 100%; min-width: 640px; font-size: var(--t-s); }
.wp-block-table.pc-linecard th { font-family: var(--mono); font-size: var(--t-xs); letter-spacing: .12em; text-transform: uppercase; text-align: left; background: var(--navy); color: var(--white); padding: var(--g2) var(--g3); border: 0; }
.wp-block-table.pc-linecard td { padding: var(--g3); border: 0; border-bottom: 1px solid var(--hair); vertical-align: top; }
.wp-block-table.pc-linecard td:first-child { font-family: var(--mono); color: var(--orange); font-weight: 700; white-space: nowrap; }
.wp-block-table.pc-linecard td:nth-child(2) { font-family: var(--serif); font-size: var(--t-l); line-height: 1.1; }
.wp-block-table.pc-linecard tr:hover td { background: #fbf8ef; }
.pc-sheet .wp-block-file { padding: var(--g3); margin: 0; display: flex; gap: var(--g3); align-items: center; flex-wrap: wrap; border-top: 1.5px solid var(--navy); }
.wp-block-file .wp-block-file__button { background: var(--gold); color: var(--navy); font-weight: 700; border-radius: 999px; padding: 1em 1.5em; font-size: var(--t-s); text-decoration: none; }
.wp-block-file .wp-block-file__button:hover { box-shadow: 0 0 30px rgb(251 157 39 / .6); }
.wp-block-file a:not(.wp-block-file__button) { font-family: var(--mono); font-size: var(--t-s); }

/* quote */
.room-gold .entry { padding-bottom: var(--g13); background: radial-gradient(120% 70% at 85% 0%, rgb(251 157 39 / .55) 0%, rgb(247 153 34 / .18) 35%, rgb(8 27 49 / 0) 70%), var(--navy); }
.pc-quote-head { padding-top: calc(var(--g13) + 4rem); padding-bottom: var(--g5); position: relative; }
.pc-quote-head .pc-bolt { position: absolute; right: var(--gutter); top: calc(var(--g13) + 2rem); width: clamp(70px, 9vw, 130px); }
.pc-quote-head h1 { max-width: 10ch; }

/* blog */
.room-cream .site-header:not(.is-solid):not(.is-open) { color: var(--navy); }
.room-cream .site-header:not(.is-solid):not(.is-open) .nav-toggle { border-color: rgb(8 27 49 / .35); }
.post-list { max-width: var(--wide); margin: 0 auto; padding: 0 var(--gutter) var(--g13); display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--g5); }
.post-card__link { display: flex; flex-direction: column; gap: var(--g1); text-decoration: none; }
.post-card__img { overflow: hidden; display: block; margin-bottom: var(--g2); }
.post-card__img img { aspect-ratio: 4/3; object-fit: cover; width: 100%; transition: transform .6s; }
.post-card__link:hover img { transform: scale(1.04); }
.post-card__link:hover { color: inherit; }
.post-card__link:hover .post-card__title { color: var(--orange); }
.post-card__meta { font-family: var(--mono); font-size: var(--t-xs); letter-spacing: .12em; text-transform: uppercase; opacity: var(--quiet); }
.post-card__title { font-family: var(--serif); font-size: var(--t-xl); line-height: 1.08; transition: color .2s; }
.post-card__excerpt { font-size: var(--t-s); opacity: var(--support); }
.post-card__more { font-size: var(--t-s); font-weight: 700; margin-top: var(--g1); }
@media (max-width: 860px) { .post-list { grid-template-columns: 1fr; } }
.post { padding-bottom: var(--g13); }
.post__head { max-width: var(--text); margin: 0 auto; padding: calc(var(--g13) + 4rem) var(--gutter) var(--g5); }
.post__head h1 { font-size: clamp(var(--t-2xl), 6vw, var(--t-4xl)); }
.post__head .eyebrow a { text-decoration: none; }
.post__img { max-width: var(--wide); margin: 0 auto var(--g8); padding: 0 var(--gutter); }
.post__img img { width: 100%; aspect-ratio: 16/8; object-fit: cover; }
.post__body h2 { font-size: var(--t-2xl); margin-top: var(--g8); }
.post__body p, .post__body li { opacity: .9; }
.post__body ul { padding-left: 1.2em; }
.post__body li { margin-bottom: var(--g1); }
.post__cta { max-width: var(--text); margin: var(--g8) auto 0; padding: var(--g5) var(--gutter); border-top: 1px solid var(--hair); display: flex; align-items: center; justify-content: space-between; gap: var(--g3); flex-wrap: wrap; }
.post__cta p { font-family: var(--serif); font-size: var(--t-xl); margin: 0; }

/* footer */
.site-footer { background: #050f1d; color: var(--white); padding: var(--g13) var(--gutter) var(--g5); position: relative; }
.site-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--gold) 30%, var(--orange) 70%, transparent); box-shadow: 0 0 18px rgb(251 157 39 / .6); }
.site-footer__inner { max-width: var(--wide); margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: var(--g8); }
.site-footer__brand img { width: 120px; height: 120px; margin-bottom: var(--g3); }
.site-footer__name { font-family: var(--serif); font-size: var(--t-xl); line-height: 1.1; max-width: 18ch; }
.site-footer__line { opacity: var(--support); font-size: var(--t-s); max-width: 34ch; }
.site-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--g1); font-size: var(--t-s); }
.site-footer a { text-decoration: none; opacity: .86; }
.site-footer a:hover { opacity: 1; }
.site-footer__legal { max-width: var(--wide); margin: var(--g8) auto 0; padding-top: var(--g3); border-top: 1px solid rgb(255 255 255 / .1); font-family: var(--mono); font-size: var(--t-xs); letter-spacing: .08em; opacity: var(--quiet); }
@media (max-width: 860px) { .site-footer__inner { grid-template-columns: 1fr; gap: var(--g5); } }

/* reveal */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
.reveal.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
	.reveal { opacity: 1; transform: none; }
	.pc-hero .wp-block-cover__image-background, .pc-night .wp-block-cover__image-background, .page-hero .wp-block-cover__image-background, .pc-row .wp-block-media-text__media img { transform: none !important; }
	.pc-hero__bolt { transform: rotate(8deg) !important; }
	.pc-map__line { stroke-dashoffset: 0; }
	.pc-night .wp-block-button__link { box-shadow: 0 0 0 6px rgb(251 157 39 / .16), 0 0 40px rgb(251 157 39 / .45); }
}

/* fixes after first look */
.pc-who__grid > * { margin: 0 !important; }
.pc-lines__head > *, .pc-blog__title > *, .pc-lines__title > * { margin-block-start: 0; }
.pc-lines__title .eyebrow { margin-bottom: var(--g2); }
ul.wp-block-latest-posts.is-grid { display: grid !important; }
ul.wp-block-latest-posts.is-grid > li { width: auto !important; margin: 0 !important; }
.pc-map__land path.pc-map__hi { fill: rgb(255 255 255 / .16); stroke: rgb(255 255 255 / .55); stroke-width: 1; }
.pc-map__land path.pc-map__ca { fill: url(#pcLandFade); stroke: rgb(255 255 255 / .55); stroke-width: 1; }
.pc-map__dots circle { fill: var(--gold); opacity: .8; }
.pc-map__city { font-family: var(--sans); font-size: 13px; fill: var(--white); opacity: .72; }

/* hero badge: their full logo, Shane 10-08 */
.pc-hero__badge { right: 5%; top: 50%; width: clamp(260px, 30vw, 460px); margin-top: calc(clamp(260px, 30vw, 460px) / -2); --br: 0deg; }
.pc-hero__badge img { width: 100%; height: auto; border-radius: 50%; filter: drop-shadow(0 24px 60px rgb(0 0 0 / .55)); }
@media (max-width: 760px) {
	.pc-hero__badge { right: auto; left: var(--gutter); top: 96px; width: 132px; margin-top: 0; }
}
.pc-quote-head .pc-quote-badge { position: absolute; right: var(--gutter); top: calc(var(--g13) + 1rem); width: clamp(110px, 14vw, 200px); border-radius: 50%; filter: drop-shadow(0 18px 40px rgb(0 0 0 / .5)); }

/* quote form (Phoros's pcle-quote plugin markup) */
.pc-quote-body { padding-top: var(--g3) !important; }
.pcle-quote { max-width: 900px; margin: 0 auto; }
.pcle-quote-doors { display: grid; grid-template-columns: 1fr 1fr; gap: var(--g2); margin-bottom: var(--g3); }
.pcle-quote-door {
	text-align: left; cursor: pointer; padding: var(--g3); border-radius: 18px;
	background: rgb(255 255 255 / .05); color: var(--white); border: 1.5px solid rgb(255 255 255 / .22);
	font: 400 var(--t-2xl)/1 var(--serif); transition: background .25s, border-color .25s, box-shadow .35s;
}
.pcle-quote-door::after { display: block; margin-top: var(--g1); font: 400 var(--t-s)/1.45 var(--sans); opacity: var(--support); }
.pcle-quote-door[data-door="specify"]::after { content: "I'm designing or specifying a project: contractor, architect, engineer, designer, owner."; }
.pcle-quote-door[data-door="buy"]::after { content: "I'm a distributor and need price and availability."; }
.pcle-quote-door:hover { border-color: var(--gold); }
.pcle-quote-door.is-active { background: var(--gold); color: var(--navy); border-color: var(--gold); box-shadow: 0 0 0 6px rgb(251 157 39 / .16), 0 0 60px rgb(251 157 39 / .4); }
.pcle-quote-door.is-active::after { opacity: .85; }
.pcle-quote-panel {
	background: var(--white); color: var(--navy); border-radius: 22px; padding: var(--g5);
	display: grid; grid-template-columns: 1fr 1fr; gap: var(--g3) var(--g3);
	box-shadow: 0 30px 80px rgb(0 0 0 / .35);
}
.pcle-quote-panel[hidden] { display: none; }
.pcle-quote-panel > p { margin: 0; }
.pcle-quote-panel label { display: grid; gap: .4rem; font-family: var(--mono); font-size: var(--t-xs); letter-spacing: .1em; text-transform: uppercase; color: rgb(8 27 49 / .75); }
.pcle-quote-panel input:not([type=checkbox]):not([type=file]), .pcle-quote-panel select, .pcle-quote-panel textarea {
	font: 400 var(--t-m)/1.4 var(--sans); letter-spacing: 0; text-transform: none; color: var(--navy);
	width: 100%; padding: .8rem .95rem; border: 1.5px solid rgb(8 27 49 / .2); border-radius: 12px; background: #fbfaf6;
	transition: border-color .2s, box-shadow .2s;
}
.pcle-quote-panel select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--navy) 50%), linear-gradient(135deg, var(--navy) 50%, transparent 50%); background-position: calc(100% - 20px) 55%, calc(100% - 14px) 55%; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 2.5rem; }
.pcle-quote-panel input:focus, .pcle-quote-panel select:focus, .pcle-quote-panel textarea:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 4px rgb(251 157 39 / .25); }
.pcle-quote-panel textarea { min-height: 140px; resize: vertical; }
.pcle-quote-panel > p:has(textarea), .pcle-quote-panel > .pcle-quote-lines, .pcle-quote-panel > .pcle-quote-file, .pcle-quote-panel > p:last-child { grid-column: 1 / -1; }
.pcle-quote-lines { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: var(--g1); }
.pcle-quote-lines legend { font-family: var(--mono); font-size: var(--t-xs); letter-spacing: .1em; text-transform: uppercase; color: rgb(8 27 49 / .75); margin-bottom: .5rem; padding: 0; }
.pcle-quote-lines label { display: inline-flex; align-items: center; gap: .5rem; font: 600 var(--t-s)/1 var(--sans); letter-spacing: 0; text-transform: none; color: var(--navy); padding: .7rem 1rem; border: 1.5px solid rgb(8 27 49 / .2); border-radius: 999px; cursor: pointer; transition: background .2s, border-color .2s; }
.pcle-quote-lines label:has(input:checked) { background: var(--navy); color: var(--white); border-color: var(--navy); }
.pcle-quote-lines input { accent-color: var(--gold); margin: 0; }
.pcle-quote-file input[type=file] { font: 400 var(--t-s) var(--sans); letter-spacing: 0; text-transform: none; color: var(--navy); padding: var(--g2); border: 1.5px dashed rgb(8 27 49 / .3); border-radius: 12px; width: 100%; background: #fbfaf6; }
.pcle-quote-file input[type=file]::file-selector-button { font: 700 var(--t-s) var(--sans); background: var(--navy); color: var(--white); border: 0; border-radius: 999px; padding: .6rem 1rem; margin-right: 1rem; cursor: pointer; }
.pcle-quote-panel button[type=submit] {
	font: 700 var(--t-m)/1 var(--sans); background: var(--gold); color: var(--navy); border: 0; border-radius: 999px; padding: 1.1em 2em; cursor: pointer; transition: box-shadow .3s, transform .2s;
}
.pcle-quote-panel button[type=submit]:hover { box-shadow: 0 0 0 6px rgb(251 157 39 / .2), 0 0 40px rgb(251 157 39 / .55); transform: translateY(-1px); }
.pcle-quote-error, .pcle-quote-success { grid-column: 1 / -1; border-radius: 14px; padding: var(--g2) var(--g3); margin-bottom: var(--g3); font-weight: 600; }
.pcle-quote-error { background: #fde8e4; color: #8a1f0d; }
.pcle-quote-success { background: var(--gold); color: var(--navy); font-family: var(--serif); font-weight: 400; font-size: var(--t-xl); }
@media (max-width: 680px) {
	.pcle-quote-doors { grid-template-columns: 1fr; }
	.pcle-quote-panel { grid-template-columns: 1fr; padding: var(--g3); }
	.pcle-quote-door { font-size: var(--t-xl); }
	.pc-quote-head .pc-quote-badge { position: static; width: 96px; margin-bottom: var(--g3); }
}

/* W1 who: departures board + swapping photo (Shane: "boring"; locked 47702) */
.pc-who { background: var(--deep); }
.pc-who__stage { position: relative; margin-top: var(--g8); }
.pc-who__stage > * { margin-block-start: 0 !important; }
.pc-role { position: relative; padding: var(--g2) 0; border-top: 1px solid var(--hair); cursor: default; }
.pc-role:last-child { border-bottom: 1px solid var(--hair); }
.pc-role .who-no { font-family: var(--mono); font-size: var(--t-xs); color: var(--gold); letter-spacing: .12em; margin: 0 0 .2rem; }
.pc-role h3 { font-size: clamp(2.2rem, 4.6vw, 4.4rem); line-height: .98; margin: 0 0 .35rem; opacity: .42; transition: opacity .35s, color .35s, transform .45s cubic-bezier(.2,.7,.2,1); }
.pc-role .who-promise { margin: 0; font-size: var(--t-m); opacity: var(--support); max-width: 40ch; }
.pc-role.is-active h3 { opacity: 1; color: var(--gold); transform: translateX(.4rem); }
.pc-role .wp-block-image { margin: 0 0 var(--g2); }
.pc-role .wp-block-image img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
@media (min-width: 900px) {
	.pc-who__stage.is-staged { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); column-gap: var(--g8); }
	.pc-who__frame { grid-column: 1; grid-row: 1 / span 8; position: sticky; top: 14vh; height: 72vh; overflow: hidden; border-radius: 4px; background: var(--navy); }
	.pc-who__frame figure { position: absolute; inset: 0; margin: 0; clip-path: inset(0 0 100% 0); transition: clip-path .8s cubic-bezier(.7,0,.2,1); }
	.pc-who__frame figure.is-active { clip-path: inset(0 0 0 0); z-index: 2; }
	.pc-who__frame figure.was-active { clip-path: inset(0); z-index: 1; }
	.pc-who__frame img { width: 100%; height: 100% !important; aspect-ratio: auto !important; max-width: none; object-fit: cover; transform: scale(1.06); transition: transform 1.6s cubic-bezier(.2,.7,.2,1); }
	.pc-who__frame figure.is-active img { transform: scale(1); }
	.pc-who__frame::after { content: attr(data-label); position: absolute; left: var(--g3); bottom: var(--g3); z-index: 3; font-family: var(--mono); font-size: var(--t-xs); letter-spacing: .14em; text-transform: uppercase; color: var(--white); background: rgb(8 27 49 / .7); padding: .5rem .8rem; }
	.pc-who__stage.is-staged .pc-role { grid-column: 2; padding: var(--g3) 0; }
}

/* L1 lines: pinned sideways strip on wide screens, stacked on phones */
.pc-lines { background: var(--water); padding: 0 !important; }
.pc-lines__pin { padding: var(--g13) var(--gutter) var(--g8); }
.pc-lines__pin > * { margin-block-start: 0 !important; }
.pc-lines__head { display: block; max-width: var(--wide); margin: 0 auto var(--g5); }
.pc-lines__head h2 { max-width: none; margin-bottom: var(--g2); }
.pc-track { display: grid; gap: var(--g3); max-width: var(--wide); margin: 0 auto; }
.pc-track > * { margin: 0 !important; }
.pc-card.wp-block-cover { min-height: 78svh !important; padding: var(--g5) var(--g3); align-items: flex-end; border-radius: 4px; overflow: hidden; }
.pc-card .wp-block-cover__background { opacity: 1 !important; background: linear-gradient(0deg, rgb(8 27 49 / .95) 0%, rgb(8 27 49 / .55) 45%, rgb(8 27 49 / .05) 100%) !important; }
.pc-card .wp-block-cover__image-background { transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.pc-card:hover .wp-block-cover__image-background { transform: scale(1.05); }
.pc-card .wp-block-cover__inner-container { width: 100%; }
.pc-card .card-code { font-family: var(--mono); font-size: var(--t-s); color: var(--gold); letter-spacing: .12em; }
.pc-card h3 { font-size: clamp(2.6rem, 5vw, 4.8rem); line-height: .95; margin-bottom: var(--g2); }
.pc-card .card-desc { opacity: var(--support); max-width: 34ch; }
.pc-card--pdf { background: var(--navy); border: 1.5px solid rgb(251 157 39 / .5); border-radius: 4px; padding: var(--g5) var(--g3); display: flex; flex-direction: column; justify-content: flex-end; min-height: 50svh; }
.pc-card--pdf h3 { font-size: clamp(2rem, 3.6vw, 3.4rem); max-width: 12ch; }
@media (min-width: 900px) {
	.pc-lines.is-pinned .pc-lines__pin { position: sticky; top: 0; height: 100vh; overflow: hidden; display: flex; flex-direction: column; justify-content: center; padding-top: 6rem; padding-bottom: var(--g5); }
	.pc-lines.is-pinned .pc-track { display: flex; gap: var(--g3); max-width: none; margin: 0; width: max-content; transform: translate3d(var(--tx, 0), 0, 0); will-change: transform; padding-left: max(var(--gutter), calc((100vw - var(--wide)) / 2)); }
	.pc-lines.is-pinned .pc-card { width: min(42vw, 560px); flex: 0 0 auto; min-height: 0 !important; height: 62vh; }
	.pc-lines.is-pinned .pc-lines__head { width: 100%; }
	.pc-lines__progress { height: 2px; background: rgb(255 255 255 / .15); max-width: var(--wide); width: 100%; margin: var(--g5) auto 0; position: relative; }
	.pc-lines__progress::after { content: ""; position: absolute; inset: 0; transform-origin: 0 50%; transform: scaleX(var(--lp, 0)); background: var(--gold); box-shadow: 0 0 12px rgb(251 157 39 / .7); }
}
@media (min-width: 900px) and (prefers-reduced-motion: reduce) {
	.pc-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; max-width: none; padding-bottom: var(--g2); }
	.pc-track > * { flex: 0 0 min(42vw, 560px); scroll-snap-align: start; }
}
.pc-who { overflow: visible !important; }
.pc-lines > .pc-lines__pin { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
@media (min-width: 900px) {
	.pc-lines.is-pinned .pc-lines__head { padding: 0 var(--gutter); margin-bottom: var(--g3); }
	.pc-lines.is-pinned .pc-lines__head .lead { margin: 0; font-size: var(--t-m); }
	.pc-lines.is-pinned .pc-lines__head h2 { margin-bottom: var(--g1); }
	.pc-lines.is-pinned .pc-card, .pc-lines.is-pinned .pc-card--pdf { height: min(60vh, 560px); }
	.pc-lines__progress { margin-top: var(--g3); }
}
@media (max-width: 980px) {
	.site-header.is-solid, .site-header.is-open { backdrop-filter: none; background: var(--navy); }
	.site-nav { inset: 80px 0 auto 0; height: calc(100svh - 80px); visibility: hidden; transition: transform .45s cubic-bezier(.2,.7,.2,1), visibility 0s .45s; }
	.is-open .site-nav { visibility: visible; transition: transform .45s cubic-bezier(.2,.7,.2,1), visibility 0s; }
	.room-paper .site-header .site-nav, .room-cream .site-header .site-nav { color: var(--white); }
}

/* S2 steps: the route a product takes (Shane: boring; Phoros PASS 47708) */
.pc-steps > * { margin-block-start: 0; }
.pc-route { position: relative; margin: var(--g8) 0 var(--g5); }
.pc-route svg { position: absolute; left: 0; right: 0; top: 7px; width: 100%; height: 6px; overflow: visible; }
.pc-route__line { fill: none; stroke: var(--gold); stroke-width: 3; stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--draw, 0)); filter: drop-shadow(0 0 6px rgb(251 157 39 / .9)); }
.pc-route ol { list-style: none; margin: 0; padding: 0; display: flex; justify-content: space-between; position: relative; }
.pc-route li { display: flex; flex-direction: column; align-items: center; gap: .8rem; font-family: var(--mono); font-size: var(--t-xs); letter-spacing: .14em; text-transform: uppercase; opacity: .8; }
.pc-route li:first-child { align-items: flex-start; }
.pc-route li:last-child { align-items: flex-end; }
.pc-route li span { width: 18px; height: 18px; border-radius: 50%; background: var(--navy); border: 3px solid var(--gold); }
.pc-route li.is-us { color: var(--gold); opacity: 1; }
.pc-route li.is-us span { width: 26px; height: 26px; margin-top: -4px; background: var(--gold); box-shadow: 0 0 0 6px rgb(251 157 39 / .2), 0 0 30px rgb(251 157 39 / .8); }
.pc-steps__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--g3); }
.pc-steps__cards > * { margin: 0 !important; }
.pc-step.wp-block-cover { min-height: 64vh !important; padding: var(--g5) var(--g3) var(--g3); align-items: flex-end; overflow: hidden; border-radius: 4px; }
.pc-step .wp-block-cover__background { opacity: 1 !important; background: linear-gradient(0deg, rgb(8 27 49 / .96) 0%, rgb(8 27 49 / .7) 42%, rgb(8 27 49 / .15) 100%) !important; }
.pc-step .wp-block-cover__image-background { transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.pc-step:hover .wp-block-cover__image-background { transform: scale(1.05); }
.pc-step .wp-block-cover__inner-container { width: 100%; position: static !important; }
.pc-step .step-big { position: absolute; top: -.18em; left: .1em; margin: 0; font-family: var(--mono); font-weight: 700; font-size: clamp(7rem, 13vw, 12rem); line-height: 1; color: transparent; -webkit-text-stroke: 2px rgb(251 157 39 / .9); letter-spacing: -.04em; z-index: 1; }
.pc-step h3 { font-size: clamp(2.4rem, 3.6vw, 3.6rem); margin-bottom: var(--g2); position: relative; z-index: 2; }
.pc-step p:not(.step-big) { opacity: var(--support); margin: 0; position: relative; z-index: 2; }
.pc-steps__cards .pc-step:nth-child(2) { transform: translateY(var(--g5)); }
.pc-steps__cards .pc-step:nth-child(3) { transform: translateY(calc(var(--g5) * 2)); }
.pc-steps { padding-bottom: calc(var(--g13) + var(--g5) * 2) !important; }
@media (max-width: 860px) {
	.pc-route { margin: var(--g5) 0 var(--g3); }
	.pc-route ol { flex-direction: row; flex-wrap: wrap; gap: var(--g2) var(--g3); justify-content: flex-start; }
	.pc-route li, .pc-route li:first-child, .pc-route li:last-child { flex-direction: row; align-items: center; }
	.pc-route svg { display: none; }
	.pc-steps__cards { grid-template-columns: 1fr; padding-left: var(--g3); border-left: 3px solid var(--gold); box-shadow: -8px 0 18px -10px rgb(251 157 39 / .8); }
	.pc-steps__cards .pc-step:nth-child(n) { transform: none; }
	.pc-step.wp-block-cover { min-height: 70svh !important; }
	.pc-steps { padding-bottom: var(--g13) !important; }
}
.pc-step.wp-block-cover { position: relative; } .pc-route__line { stroke-width: 5px; }
