/**
 * Emerald Vault Sales Engine — Public / Frontend Styles
 *
 * Base styles for single artwork display and the guided selling flow.
 * Theme-agnostic: uses CSS custom properties so themes can override.
 *
 * @package EmeraldVaultSalesEngine
 */

/* ── Design tokens ──────────────────────────────────────────────────────── */
:root {
    /*
     * Refined colour palette for a luxurious gallery feel.
     * Deep emerald provides a rich foundation, warm gold accents
     * create contrast and highlights, while neutral taupes
     * keep text gentle on the eye. A soft cream background
     * reduces stark contrast on cards and panels.
     */
    --evse-primary:      #222222;
    --evse-primary-dark: #000000;
    --evse-accent:       #ecb928;
    --evse-text:         #444444;
    --evse-muted:        #888888;
    --evse-border:       #dbdbdb;
    --evse-radius:       0;
    --evse-shadow:       0 10px 28px rgba(0,0,0,0.045);
    /* Light background for cards and panels */
    --evse-light-bg:     #ffffff;
}

/* ── Artwork card (used in recommendation results) ──────────────────────── */
.evse-artwork-card {
    border: 1px solid var(--evse-border);
    border-radius: var(--evse-radius);
    overflow: hidden;
    box-shadow: var(--evse-shadow);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
    /* Soften card background to a warm cream */
    background: var(--evse-light-bg);
}

.evse-artwork-card:hover {
	box-shadow: 0 6px 24px rgba(0,0,0,0.13);
	transform: translateY(-2px);
}

.evse-artwork-card__image {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}

.evse-artwork-card__body {
	padding: 14px 16px;
}

.evse-artwork-card__title {
	font-size: 15px;
	font-weight: 600;
	color: var(--evse-text);
	margin: 0 0 4px;
}

.evse-artwork-card__meta {
	font-size: 12px;
	color: var(--evse-muted);
	margin: 0 0 8px;
}

.evse-artwork-card__price {
	font-size: 15px;
	font-weight: 700;
	color: var(--evse-primary);
}

.evse-artwork-card__badge {
	display: inline-block;
	padding: 2px 8px;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border-radius: 12px;
	background: #e8f5e9;
	color: var(--evse-primary);
	margin-left: 6px;
	vertical-align: middle;
}

/* ── Guide flow container (placeholder — expanded in future modules) ────── */
.evse-guide {
	max-width: 720px;
	margin: 40px auto;
	font-family: inherit;
}

.evse-guide__step {
    background: var(--evse-light-bg);
    border: 1px solid var(--evse-border);
    border-radius: var(--evse-radius);
    padding: 32px;
    box-shadow: var(--evse-shadow);
    margin-bottom: 24px;
}

.evse-guide__question {
	font-size: 20px;
	font-weight: 600;
	color: var(--evse-text);
	margin-bottom: 20px;
	line-height: 1.4;
}

.evse-guide__options {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 12px;
}

.evse-guide__option {
	border: 2px solid var(--evse-border);
	border-radius: var(--evse-radius);
	padding: 14px;
	cursor: pointer;
	text-align: center;
	font-size: 14px;
	transition: border-color 0.15s, background 0.15s;
	background: #fff;
}

.evse-guide__option:hover,
.evse-guide__option.is-selected {
	border-color: var(--evse-primary);
	background: #f0f7f2;
}

.evse-guide__option.is-selected {
	font-weight: 600;
}

/* ── Results grid ───────────────────────────────────────────────────────── */
.evse-results-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 20px;
	margin-top: 24px;
}

/* ── Loading spinner ────────────────────────────────────────────────────── */
.evse-loading {
	text-align: center;
	padding: 40px;
	color: var(--evse-muted);
}

.evse-loading::after {
	content: '';
	display: block;
	width: 36px;
	height: 36px;
	border: 3px solid var(--evse-border);
	border-top-color: var(--evse-primary);
	border-radius: 50%;
	animation: evse-spin 0.7s linear infinite;
	margin: 12px auto 0;
}

@keyframes evse-spin {
	to { transform: rotate(360deg); }
}

/* Iona-aligned public sales engine pieces; private-room styles below are untouched. */
.evse-results-grid {
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 18px;
}

.evse-artwork-card {
	border-radius: 0;
	background: #fff;
	box-shadow: 0 10px 28px rgba(0,0,0,.045);
}

.evse-artwork-card:hover {
	box-shadow: 0 16px 34px rgba(0,0,0,.09);
}

.evse-artwork-card__image {
	width: calc(100% - 20px);
	margin: 10px 10px 0;
	aspect-ratio: 16 / 9;
	object-fit: contain;
	background: #f4f4f2;
}

.evse-artwork-card__body {
	padding: 14px 14px 16px;
}

.evse-artwork-card__title {
	font-family: "Gilroy", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: clamp(1.22rem, 1.45vw, 1.55rem);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: 0;
	color: #111;
}

.evse-artwork-card__meta {
	font-size: .82rem;
	line-height: 1.45;
	color: #696969;
}

.evse-artwork-card__price {
	display: block;
	margin-top: 8px;
	color: #111;
	font-size: .95rem;
	font-weight: 800;
}

.evse-artwork-card__badge {
	border-radius: 0;
	background: #f4f4f2;
	color: #111;
	letter-spacing: .04em;
}

.evse-guide {
	width: min(100%, 820px);
	padding: 0 18px;
}

.evse-guide__step {
	border-radius: 0;
	background: #fff;
	box-shadow: 0 10px 28px rgba(0,0,0,.045);
}

.evse-guide__question {
	font-family: "Gilroy", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-weight: 800;
	letter-spacing: 0;
	color: #111;
}

.evse-guide__option {
	border-width: 1px;
	border-radius: 0;
	background: #fff;
	color: #111;
}

.evse-guide__option:hover,
.evse-guide__option.is-selected {
	border-color: #111;
	background: #f4f4f2;
}

@media (max-width: 600px) {
	.evse-guide {
		margin: 22px auto;
		padding: 0 14px;
	}

	.evse-guide__step {
		padding: 22px 16px;
	}

	.evse-guide__options,
	.evse-results-grid {
		grid-template-columns: 1fr;
	}
}

/* Phase 5: Private Rooms */
.evse-private-room{max-width:1240px;margin:0 auto;padding:clamp(34px,6vw,88px) 20px;color:#171512;background:#fbfaf7}
.evse-private-room__hero{max-width:840px;margin:0 auto 34px;text-align:center}
.evse-private-room__eyebrow,.evse-private-room__kicker{margin:0 0 10px;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;color:#667069}
.evse-private-room h1{margin:0 0 14px;font-size:clamp(2rem,5vw,4rem);line-height:1.04;letter-spacing:0}
.evse-private-room h2{letter-spacing:0}
.evse-private-room__meta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:14px 0 0}
.evse-private-room__meta-row span{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid #d8d1c7;background:#fff;border-radius:4px;color:#514b43;font-size:.88rem}
.evse-private-room__notice{margin:22px auto;padding:14px 18px;border:1px solid #c99a32;background:#fff7df;border-radius:6px;color:#624400}
.evse-private-room__intro{margin:24px auto 0;max-width:760px;font-size:1.03rem;line-height:1.75;color:#3f3a34}
.evse-private-room__trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 0 36px;border:1px solid #d9d2c7;background:#d9d2c7}
.evse-private-room__trust div{display:grid;gap:6px;padding:18px;background:#fff}
.evse-private-room__trust strong{font-size:.92rem;color:#161411}
.evse-private-room__trust span{font-size:.9rem;line-height:1.55;color:#615a51}
.evse-private-room__feature{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:0;margin:0 0 34px;border:1px solid #d8d1c7;background:#fff}
.evse-private-room__feature-image{min-height:360px;background:#efebe4}
.evse-private-room__feature-image img{display:block;width:100%;height:100%;aspect-ratio:5/4;object-fit:cover}
.evse-private-room__feature-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,4vw,46px)}
.evse-private-room__feature-copy h2{margin:0 0 14px;font-size:clamp(1.6rem,3vw,2.6rem);line-height:1.08}
.evse-private-room__feature-copy p{font-size:1rem;line-height:1.65;color:#4d473f}
.evse-private-room__summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 8px}
.evse-private-room__summary div{display:grid;gap:4px;padding:16px;border:1px solid #d8d1c7;background:#fff}
.evse-private-room__summary span{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:#667069}
.evse-private-room__summary strong{font-size:1.4rem;color:#171512}
.evse-private-room__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:22px}
.evse-private-room-card{overflow:hidden;border:1px solid #d8d1c7;border-radius:8px;background:#fff;box-shadow:0 12px 32px rgba(35,31,26,.06)}
.evse-private-room-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:#efebe4}
.evse-private-room-card__body{display:flex;min-height:260px;flex-direction:column;padding:20px}
.evse-private-room-card h2{margin:0 0 10px;font-size:1.18rem;line-height:1.25}
.evse-private-room-card p{color:#5b544b;line-height:1.58}
.evse-private-room-card__facts{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:0;list-style:none}
.evse-private-room-card__facts li{display:inline-flex;align-items:center;min-height:27px;padding:4px 8px;border:1px solid #e0d9cf;border-radius:4px;background:#f7f4ef;color:#3f3a34;font-size:.78rem}
.evse-private-room-card__actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:auto;padding-top:10px}
.evse-private-room-card__actions--featured{margin-top:12px}
.evse-private-room-card__button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:1px solid #111;background:#111;color:#fff;text-decoration:none;border-radius:4px;font-size:.9rem}
.evse-private-room-card__link{display:inline-flex;color:#1c4738;text-decoration:none;border-bottom:1px solid currentColor;font-size:.92rem}
.evse-private-room__empty,.evse-private-room--locked,.evse-private-room--error{max-width:620px;margin:0 auto;text-align:center}
.evse-private-room__empty{padding:28px;border:1px solid #d8d1c7;background:#fff}
.evse-private-room-password-form{display:grid;gap:14px;margin:24px auto 0;max-width:360px;text-align:left}
.evse-private-room-password-form input{width:100%;padding:12px 14px;border:1px solid rgba(0,0,0,.18);border-radius:6px}
.evse-private-room-password-form button{padding:12px 16px;border:0;border-radius:4px;background:#111;color:#fff;cursor:pointer}

/* Phase 7: private room mobile hardening */
@media ( max-width: 600px ) {
	.evse-private-room { padding: 28px 14px; }
	.evse-private-room__trust,
	.evse-private-room__feature,
	.evse-private-room__summary { grid-template-columns: 1fr; }
	.evse-private-room__feature-image { min-height: 260px; }
	.evse-private-room__grid { grid-template-columns: 1fr; gap: 18px; }
	.evse-private-room-card__body { padding: 16px; }
}

/* Private Room: white neumorphic gallery finish */
.evse-private-room{
	--evse-room-bg:#f7f8f7;
	--evse-room-panel:#ffffff;
	--evse-room-ink:#050505;
	--evse-room-muted:#626862;
	--evse-room-soft:#e8ece8;
	--evse-room-edge:#ffffff;
	--evse-room-emerald:#00b86b;
	--evse-room-emerald-dark:#006f43;
	--evse-room-shadow-dark:rgba(164,174,166,.62);
	--evse-room-shadow-light:rgba(255,255,255,.96);
	max-width:1280px;
	background:var(--evse-room-bg);
	color:var(--evse-room-ink);
}
.evse-private-room__hero{
	position:relative;
	max-width:900px;
	padding:34px clamp(18px,4vw,46px);
	border-radius:28px;
	background:linear-gradient(145deg,#fff,#f2f4f2);
	box-shadow:18px 18px 42px var(--evse-room-shadow-dark),-18px -18px 42px var(--evse-room-shadow-light),inset 1px 1px 0 #fff;
}
.evse-private-room__hero::before,
.evse-private-room__feature-copy::before{
	content:"";
	display:inline-flex;
	width:42px;
	height:42px;
	margin:0 auto 14px;
	border-radius:14px;
	background:
		linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,0) 42%),
		radial-gradient(circle at 70% 72%,#003f28 0 18%,transparent 19%),
		linear-gradient(145deg,#38ffad 0%,#00b86b 48%,#006f43 100%);
	box-shadow:7px 7px 14px rgba(0,111,67,.24),-5px -5px 13px #fff,inset 0 1px 2px rgba(255,255,255,.85);
}
.evse-private-room__feature-copy::before{margin:0 0 16px}
.evse-private-room__eyebrow,
.evse-private-room__kicker{
	color:var(--evse-room-emerald-dark);
	font-weight:800;
	letter-spacing:.18em;
}
.evse-private-room h1,
.evse-private-room__feature-copy h2,
.evse-private-room-card h2{
	color:var(--evse-room-ink);
	text-shadow:0 1px 0 #fff;
}
.evse-private-room__meta-row span,
.evse-private-room-card__facts li{
	position:relative;
	gap:7px;
	border:0;
	border-radius:999px;
	background:linear-gradient(145deg,#fff,#eef1ee);
	box-shadow:5px 5px 11px rgba(171,181,173,.58),-5px -5px 11px #fff,inset 1px 1px 0 #fff;
	color:#252a25;
}
.evse-private-room__meta-row span::before,
.evse-private-room-card__facts li::before{
	content:"";
	flex:0 0 auto;
	width:9px;
	height:9px;
	border-radius:50%;
	background:linear-gradient(145deg,#77ffd0,#00b86b 55%,#006f43);
	box-shadow:0 0 0 2px rgba(0,184,107,.13),0 2px 5px rgba(0,111,67,.42),inset 0 1px 1px #bfffe7;
}
.evse-private-room__intro{
	color:#313731;
}
.evse-private-room__trust{
	gap:18px;
	border:0;
	background:transparent;
}
.evse-private-room__trust div,
.evse-private-room__summary div,
.evse-private-room__empty,
.evse-private-room--locked,
.evse-private-room--error{
	position:relative;
	overflow:hidden;
	border:0;
	border-radius:22px;
	background:linear-gradient(145deg,#fff,#f1f3f1);
	box-shadow:14px 14px 30px rgba(166,176,168,.56),-14px -14px 30px #fff,inset 1px 1px 0 #fff;
}
.evse-private-room__trust div{padding:24px 22px 22px 70px}
.evse-private-room__trust div::before,
.evse-private-room__summary div::before{
	content:"";
	position:absolute;
	left:22px;
	top:22px;
	width:28px;
	height:28px;
	border-radius:10px;
	background:
		linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,255,255,0) 45%),
		linear-gradient(145deg,#5dffc1,#00b86b 55%,#006f43);
	box-shadow:5px 5px 11px rgba(0,111,67,.22),-3px -3px 8px #fff,inset 0 1px 1px rgba(255,255,255,.9);
}
.evse-private-room__trust div:nth-child(2)::before{border-radius:50% 50% 12px 12px}
.evse-private-room__trust div:nth-child(3)::before{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);border-radius:6px}
.evse-private-room__trust strong,
.evse-private-room__summary strong{
	color:var(--evse-room-ink);
}
.evse-private-room__trust span,
.evse-private-room__summary span,
.evse-private-room-card p,
.evse-private-room__feature-copy p{
	color:var(--evse-room-muted);
}
.evse-private-room__feature{
	overflow:hidden;
	border:0;
	border-radius:30px;
	background:linear-gradient(145deg,#fff,#f1f3f1);
	box-shadow:20px 20px 46px rgba(161,171,163,.58),-20px -20px 46px #fff,inset 1px 1px 0 #fff;
}
.evse-private-room__feature-image{
	margin:18px;
	border-radius:24px;
	background:#fff;
	box-shadow:inset 8px 8px 18px rgba(178,187,180,.55),inset -8px -8px 18px #fff;
}
.evse-private-room__feature-image img{
	border-radius:20px;
	filter:saturate(1.08) contrast(1.03);
	box-shadow:9px 9px 20px rgba(106,113,107,.34),-5px -5px 16px #fff;
}
.evse-private-room__feature-copy{
	position:relative;
}
.evse-private-room__summary{
	gap:18px;
	margin:0 0 18px;
}
.evse-private-room__summary div{
	min-height:104px;
	padding:22px 22px 20px 68px;
}
.evse-private-room__grid{
	gap:24px;
}
.evse-private-room-card{
	border:0;
	border-radius:26px;
	background:linear-gradient(145deg,#fff,#f1f3f1);
	box-shadow:16px 16px 34px rgba(161,171,163,.58),-16px -16px 34px #fff,inset 1px 1px 0 #fff;
	transition:transform .18s ease,box-shadow .18s ease;
}
.evse-private-room-card:hover{
	transform:translateY(-3px);
	box-shadow:20px 20px 38px rgba(148,158,150,.64),-18px -18px 38px #fff,inset 1px 1px 0 #fff;
}
.evse-private-room-card img{
	width:calc(100% - 24px);
	margin:12px;
	border-radius:20px;
	box-shadow:inset 8px 8px 18px rgba(173,183,175,.58),inset -8px -8px 18px #fff;
}
.evse-private-room-card__body{
	padding:8px 22px 22px;
}
.evse-private-room-card__button,
.evse-private-room-password-form button{
	position:relative;
	gap:9px;
	border:0;
	border-radius:999px;
	background:linear-gradient(145deg,#0c0c0c,#000);
	color:#fff;
	font-weight:800;
	letter-spacing:.01em;
	box-shadow:8px 8px 16px rgba(134,143,136,.68),-6px -6px 14px #fff,inset 0 1px 0 rgba(255,255,255,.25);
}
.evse-private-room-card__button::before,
.evse-private-room-password-form button::before{
	content:"";
	width:13px;
	height:13px;
	border-radius:4px;
	background:
		linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,0) 44%),
		linear-gradient(145deg,#69ffc7,#00b86b 55%,#006f43);
	box-shadow:0 0 10px rgba(0,184,107,.7),inset 0 1px 1px #d8fff0;
}
.evse-private-room-card__button:hover,
.evse-private-room-password-form button:hover{
	color:#fff;
	transform:translateY(-1px);
	box-shadow:10px 10px 18px rgba(115,124,117,.7),-7px -7px 14px #fff,inset 0 1px 0 rgba(255,255,255,.28);
}
.evse-private-room-card__link{
	position:relative;
	align-items:center;
	gap:8px;
	color:#006f43;
	font-weight:800;
	border-bottom:0;
}
.evse-private-room-card__link::before{
	content:"";
	width:10px;
	height:10px;
	border-radius:50%;
	background:linear-gradient(145deg,#7dffd3,#00b86b,#006f43);
	box-shadow:0 0 10px rgba(0,184,107,.62);
}
.evse-private-room-password-form input{
	border:0;
	background:#f7f8f7;
	box-shadow:inset 6px 6px 13px rgba(166,176,168,.64),inset -6px -6px 13px #fff;
}

@media ( max-width: 600px ) {
	.evse-private-room__hero,
	.evse-private-room__feature,
	.evse-private-room-card{border-radius:22px}
	.evse-private-room__trust div,
	.evse-private-room__summary div{padding-left:64px}
}

/* Emerald Vault reference-page treatment */
.evse-private-room{
	--ev-page-green:#00472e;
	--ev-page-green-2:#00613f;
	--ev-page-icon:#005336;
	--ev-page-ink:#0b0b0b;
	--ev-page-muted:#5d625e;
	--ev-page-line:#e4e7e3;
	--ev-page-shadow:0 14px 36px rgba(0,0,0,.08);
	max-width:100%;
	padding:0 0 52px;
	background:#fff;
	color:var(--ev-page-ink);
}
.evse-private-room__masthead{
	display:flex;
	align-items:center;
	justify-content:space-between;
	min-height:86px;
	padding:0 clamp(22px,5vw,62px);
	background:linear-gradient(90deg,#003b28,#005637 54%,#003b28);
	color:#fff;
	box-shadow:0 8px 18px rgba(0,0,0,.18);
}
.evse-private-room__brand{
	font-family:Georgia,serif;
	font-size:clamp(2rem,4vw,3.05rem);
	letter-spacing:.16em;
	text-transform:uppercase;
	text-shadow:0 2px 6px rgba(0,0,0,.2);
}
.evse-private-room__topnav{
	display:flex;
	gap:clamp(18px,3vw,44px);
	align-items:center;
	font-family:Georgia,serif;
	font-size:.9rem;
	font-weight:700;
	text-transform:uppercase;
}
.evse-private-room__searchbar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	width:min(1160px,calc(100% - 48px));
	min-height:46px;
	margin:18px auto;
	padding:0 22px;
	border:1px solid #d8ddd8;
	border-radius:999px;
	background:#fff;
	color:#8b908c;
	box-shadow:inset 0 2px 4px rgba(0,0,0,.04),0 3px 10px rgba(0,0,0,.05);
}
.evse-private-room__searchbar i{
	position:relative;
	width:21px;
	height:21px;
	border:3px solid #050505;
	border-radius:50%;
}
.evse-private-room__searchbar i::after{
	content:"";
	position:absolute;
	right:-8px;
	bottom:-6px;
	width:10px;
	height:3px;
	border-radius:2px;
	background:#050505;
	transform:rotate(45deg);
}
.evse-private-room__subnav{
	display:flex;
	align-items:center;
	gap:36px;
	min-height:58px;
	padding:0 clamp(22px,5vw,62px);
	border-top:1px solid #eef0ee;
	border-bottom:1px solid #dfe4df;
	background:#fff;
	box-shadow:0 5px 12px rgba(0,0,0,.05);
}
.evse-private-room__subnav a{
	color:#161616;
	text-decoration:none;
	font-family:Georgia,serif;
	font-size:1rem;
}
.evse-private-room__menu-icon{
	position:relative;
	width:28px;
	height:18px;
	margin-right:auto;
	border-top:3px solid #111;
	border-bottom:3px solid #111;
}
.evse-private-room__menu-icon::before{
	content:"";
	position:absolute;
	left:0;
	top:6px;
	width:28px;
	height:3px;
	background:#111;
}
.evse-private-room__hero{
	max-width:1160px;
	margin:32px auto 26px;
	padding:0 24px;
	border-radius:0;
	background:#fff;
	box-shadow:none;
}
.evse-private-room__hero::before,
.evse-private-room__feature-copy::before{display:none}
.evse-private-room__eyebrow,
.evse-private-room__kicker{
	color:var(--ev-page-green);
	font-family:Georgia,serif;
	letter-spacing:0;
	text-transform:none;
	font-size:1.2rem;
	font-weight:500;
}
.evse-private-room h1{
	margin:0 0 10px;
	font-family:Georgia,serif;
	font-size:clamp(2.25rem,4.4vw,3.45rem);
	font-weight:500;
	line-height:1.03;
	color:#000;
	text-shadow:none;
}
.evse-private-room__intro{
	max-width:720px;
	margin-top:16px;
	font-size:1.03rem;
	color:#222;
}
.evse-private-room__meta-row{
	justify-content:flex-start;
	gap:10px;
	margin-top:18px;
}
.evse-private-room__meta-row span,
.evse-private-room-card__facts li{
	border:1px solid #e4e8e4;
	border-radius:10px;
	background:#fff;
	box-shadow:0 8px 20px rgba(0,0,0,.05);
	color:#101010;
}
.evse-private-room__meta-row span::before,
.evse-private-room-card__facts li::before{
	background:var(--ev-page-green);
	box-shadow:none;
}
.evse-private-room__trust,
.evse-private-room__feature,
.evse-private-room__summary,
.evse-private-room__grid,
.evse-private-room__record,
.evse-private-room__benefits{
	width:min(1120px,calc(100% - 48px));
	margin-left:auto;
	margin-right:auto;
}
.evse-private-room__feature{
	grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);
	align-items:start;
	gap:48px;
	border:0;
	border-radius:0;
	background:#fff;
	box-shadow:none;
}
.evse-private-room__feature-image{
	margin:0;
	min-height:0;
	background:transparent;
	box-shadow:none;
}
.evse-private-room__feature-image>img{
	width:100%;
	aspect-ratio:4/3;
	border-radius:10px;
	object-fit:cover;
	box-shadow:0 14px 30px rgba(0,0,0,.16);
}
.evse-private-room__thumbs{
	display:flex;
	gap:26px;
	margin:18px 0 0 42px;
}
.evse-private-room__thumbs span{
	display:flex;
	width:86px;
	height:62px;
	align-items:center;
	justify-content:center;
	padding:4px;
	border:1px solid #0c5a3b;
	border-radius:7px;
	background:#fff;
	box-shadow:0 8px 14px rgba(0,0,0,.08);
}
.evse-private-room__thumbs img{
	width:100%;
	height:100%;
	border-radius:4px;
	object-fit:cover;
}
.evse-private-room__feature-copy{
	padding:8px 0 0;
}
.evse-private-room__feature-copy h2{
	margin:0 0 10px;
	font-family:Georgia,serif;
	font-size:clamp(2.15rem,4vw,3.2rem);
	font-weight:500;
	line-height:1.05;
	color:#000;
}
.evse-private-room__feature-copy p{
	color:#171717;
}
.evse-private-room-card__button,
.evse-private-room-password-form button{
	min-height:52px;
	padding:0 32px;
	border-radius:7px;
	background:linear-gradient(180deg,#00613f,#003d29);
	color:#fff;
	box-shadow:0 9px 16px rgba(0,78,50,.22);
	font-family:Georgia,serif;
	font-weight:700;
	text-transform:uppercase;
}
.evse-private-room-card__button::before,
.evse-private-room-password-form button::before{
	width:16px;
	height:16px;
	border-radius:4px;
	background:transparent;
	border:2px solid #fff;
	box-shadow:none;
}
.evse-private-room-card__link{
	min-height:52px;
	padding:0 28px;
	border:1px solid #d8ddd8;
	border-radius:7px;
	color:#000;
	font-family:Georgia,serif;
	font-weight:700;
	text-transform:uppercase;
	box-shadow:0 8px 14px rgba(0,0,0,.05);
}
.evse-private-room-card__link::before{
	width:16px;
	height:16px;
	background:transparent;
	border:2px solid var(--ev-page-green);
	border-radius:50%;
	box-shadow:none;
}
.evse-private-room__trust{
	grid-template-columns:repeat(5,1fr);
	gap:0;
	margin-top:28px;
	margin-bottom:18px;
	border:1px solid #e4e8e4;
	border-radius:10px;
	overflow:hidden;
	background:#fff;
	box-shadow:var(--ev-page-shadow);
}
.evse-private-room__trust div{
	min-height:86px;
	padding:18px 14px 16px 62px;
	border-right:1px solid #e8ece8;
	border-radius:0;
	box-shadow:none;
}
.evse-private-room__trust div::before,
.evse-private-room__summary div::before,
.evse-private-room__steps li::before,
.evse-private-room__benefits li::before,
.evse-private-room__verified::before{
	background:var(--ev-page-green);
	box-shadow:0 0 0 4px rgba(0,83,54,.08);
}
.evse-private-room__trust strong{
	font-size:.78rem;
	text-transform:uppercase;
}
.evse-private-room__trust span{
	font-size:.78rem;
	line-height:1.35;
}
.evse-private-room__summary{
	gap:16px;
	margin-top:18px;
}
.evse-private-room__summary div,
.evse-private-room-card,
.evse-private-room__steps,
.evse-private-room__ledger,
.evse-private-room__benefits article{
	border:1px solid #e4e8e4;
	border-radius:12px;
	background:#fff;
	box-shadow:var(--ev-page-shadow);
}
.evse-private-room__summary div{
	min-height:86px;
	padding:18px 18px 16px 64px;
}
.evse-private-room__grid{
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:20px;
	margin-top:22px;
}
.evse-private-room-card{
	border-radius:12px;
	overflow:hidden;
	transition:transform .16s ease,box-shadow .16s ease;
}
.evse-private-room-card:hover{
	transform:translateY(-2px);
	box-shadow:0 18px 40px rgba(0,0,0,.12);
}
.evse-private-room-card img{
	width:100%;
	margin:0;
	aspect-ratio:4/3;
	border-radius:0;
	box-shadow:none;
}
.evse-private-room-card__body{
	min-height:250px;
	padding:20px;
}
.evse-private-room-card h2,
.evse-private-room__steps h2,
.evse-private-room__ledger h2,
.evse-private-room__benefits h2{
	font-family:Georgia,serif;
	font-weight:500;
	color:#000;
}
.evse-private-room-card__actions{
	gap:12px;
}
.evse-private-room-card__actions:not(.evse-private-room-card__actions--featured) .evse-private-room-card__button,
.evse-private-room-card__actions:not(.evse-private-room-card__actions--featured) .evse-private-room-card__link{
	min-height:40px;
	padding:0 14px;
	font-size:.78rem;
}
.evse-private-room__record{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:20px;
	margin-top:22px;
}
.evse-private-room__steps,
.evse-private-room__ledger{
	padding:26px;
}
.evse-private-room__steps ol{
	display:grid;
	gap:18px;
	margin:18px 0 0;
	padding:0;
	list-style:none;
}
.evse-private-room__steps li{
	position:relative;
	padding-left:58px;
}
.evse-private-room__steps li::before{
	content:counter(list-item);
	position:absolute;
	left:0;
	top:0;
	display:grid;
	width:32px;
	height:32px;
	place-items:center;
	border-radius:4px;
	color:#fff;
	font-weight:800;
}
.evse-private-room__steps li span{
	display:block;
	margin-top:4px;
	color:#333;
	font-size:.9rem;
}
.evse-private-room__ledger dl{
	margin:18px 0;
}
.evse-private-room__ledger dl div{
	display:grid;
	grid-template-columns:150px 1fr;
	gap:12px;
	padding:10px 0;
	border-bottom:1px solid #e7ebe7;
}
.evse-private-room__ledger dt{
	color:#111;
	font-weight:700;
}
.evse-private-room__ledger dd{
	margin:0;
	color:#333;
}
.evse-private-room__verified{
	display:flex;
	align-items:center;
	gap:12px;
	width:max-content;
	max-width:100%;
	padding:12px 16px;
	border:1px solid #e4e8e4;
	border-radius:8px;
	background:#fff;
	font-weight:800;
	text-transform:uppercase;
}
.evse-private-room__verified::before{
	content:"";
	width:24px;
	height:24px;
	border-radius:5px;
}
.evse-private-room__benefits{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:20px;
	margin-top:20px;
}
.evse-private-room__benefits article{
	padding:24px;
}
.evse-private-room__benefits ul{
	display:grid;
	gap:10px;
	margin:18px 0 0;
	padding:0;
	list-style:none;
}
.evse-private-room__benefits li{
	position:relative;
	padding-left:24px;
}
.evse-private-room__benefits li::before{
	content:"";
	position:absolute;
	left:0;
	top:.45em;
	width:10px;
	height:10px;
	border-radius:50%;
}

@media (max-width:900px){
	.evse-private-room__topnav{display:none}
	.evse-private-room__subnav{gap:18px;overflow:auto}
	.evse-private-room__feature,
	.evse-private-room__record,
	.evse-private-room__benefits{grid-template-columns:1fr}
	.evse-private-room__trust{grid-template-columns:1fr}
	.evse-private-room__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
	.evse-private-room__masthead{min-height:72px}
	.evse-private-room__brand{font-size:1.75rem}
	.evse-private-room__searchbar,
	.evse-private-room__trust,
	.evse-private-room__feature,
	.evse-private-room__summary,
	.evse-private-room__grid,
	.evse-private-room__record,
	.evse-private-room__benefits{width:calc(100% - 28px)}
	.evse-private-room__grid,
	.evse-private-room__summary{grid-template-columns:1fr}
	.evse-private-room__thumbs{margin-left:0;gap:10px}
	.evse-private-room__thumbs span{width:74px;height:54px}
}

/* Cinematic password lock screen */
.evse-private-room-lock{
	min-height:100vh;
	padding:clamp(22px,4vw,48px);
	background:
		radial-gradient(circle at 50% 18%,rgba(0,92,58,.2),transparent 42%),
		linear-gradient(180deg,#fff 0%,#f4f6f4 100%);
	color:#050505;
}
.evse-private-room-lock__stage{
	position:relative;
	width:min(1120px,100%);
	margin:0 auto;
	overflow:hidden;
	border-radius:30px;
	background:#001f16;
	box-shadow:0 34px 80px rgba(0,0,0,.24),0 0 0 1px rgba(255,255,255,.9),inset 0 1px 0 rgba(255,255,255,.22);
}
.evse-private-room-lock__video{
	display:block;
	width:100%;
	height:min(70vh,680px);
	min-height:420px;
	object-fit:cover;
	filter:saturate(1.18) contrast(1.08);
}
.evse-private-room-lock__stage::after{
	content:"";
	position:absolute;
	inset:0;
	background:
		linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.45)),
		radial-gradient(circle at 50% 55%,rgba(0,204,128,.18),transparent 34%);
	pointer-events:none;
}
.evse-private-room-lock__glass{
	position:absolute;
	left:50%;
	bottom:clamp(28px,5vw,64px);
	z-index:2;
	width:min(760px,calc(100% - 40px));
	padding:clamp(18px,3vw,30px);
	border:1px solid rgba(255,255,255,.26);
	border-radius:24px;
	background:linear-gradient(135deg,rgba(255,255,255,.2),rgba(255,255,255,.06));
	box-shadow:0 18px 44px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.42);
	backdrop-filter:blur(12px);
	transform:translateX(-50%);
	text-align:center;
}
.evse-private-room-lock__eyebrow{
	margin:0 0 10px;
	font-family:Georgia,serif;
	letter-spacing:.24em;
	text-transform:uppercase;
	color:#83ffd1;
	text-shadow:0 0 18px rgba(0,255,166,.55);
}
.evse-private-room-lock h1{
	margin:0;
	font-family:Georgia,serif;
	font-size:clamp(2rem,5vw,4.7rem);
	font-weight:500;
	line-height:1;
	color:#fff;
	text-shadow:0 3px 18px rgba(0,0,0,.5);
}
.evse-private-room-lock__form{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:14px;
	align-items:end;
	width:min(760px,100%);
	margin:28px auto 0;
	padding:18px;
	border-radius:22px;
	background:#fff;
	box-shadow:18px 18px 38px rgba(165,175,167,.54),-18px -18px 38px #fff,inset 1px 1px 0 #fff;
}
.evse-private-room-lock__form label{
	display:grid;
	gap:8px;
}
.evse-private-room-lock__form span{
	font-size:.78rem;
	font-weight:800;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:#005336;
}
.evse-private-room-lock__form input{
	min-height:54px;
	border:0;
	border-radius:14px;
	background:#f6f8f6;
	box-shadow:inset 8px 8px 16px rgba(166,176,168,.62),inset -8px -8px 16px #fff;
	color:#050505;
	font-size:1.1rem;
}
.evse-private-room-lock__form button{
	min-height:54px;
	white-space:nowrap;
}
.evse-room-unlocking .evse-private-room-lock__stage{
	animation:evse-lock-open .85s cubic-bezier(.16,1,.3,1) both;
}
.evse-room-unlocking .evse-private-room-lock__form{
	animation:evse-lock-form .65s ease both;
}
.evse-room-unlocking .evse-private-room-lock__glass{
	animation:evse-lock-glow .85s ease both;
}
.evse-private-room--unlocked{
	animation:evse-room-reveal .9s cubic-bezier(.16,1,.3,1) both;
}
.evse-private-room--unlocked .evse-private-room__masthead{
	animation:evse-green-wipe .9s cubic-bezier(.16,1,.3,1) both;
}
@keyframes evse-lock-open{
	0%{transform:scale(1);filter:brightness(1)}
	55%{transform:scale(1.018);filter:brightness(1.25) saturate(1.3)}
	100%{transform:scale(.985);filter:brightness(.15);opacity:.18}
}
@keyframes evse-lock-form{
	to{transform:translateY(18px) scale(.96);opacity:0}
}
@keyframes evse-lock-glow{
	45%{box-shadow:0 0 80px rgba(0,255,166,.65),inset 0 1px 0 rgba(255,255,255,.52)}
	100%{transform:translateX(-50%) scale(1.08);opacity:0}
}
@keyframes evse-room-reveal{
	0%{opacity:0;transform:translateY(28px);filter:blur(12px) brightness(1.25)}
	100%{opacity:1;transform:translateY(0);filter:blur(0) brightness(1)}
}
@keyframes evse-green-wipe{
	0%{clip-path:inset(0 100% 0 0)}
	100%{clip-path:inset(0 0 0 0)}
}

@media (max-width:700px){
	.evse-private-room-lock{padding:16px}
	.evse-private-room-lock__stage{border-radius:22px}
	.evse-private-room-lock__video{height:58vh;min-height:340px}
	.evse-private-room-lock__form{grid-template-columns:1fr}
}

/* Homepage acquisition confidence layer */
.evse-home-commerce{
	background:#f7f6f2;
	color:#111;
	font-family:Inter,Arial,sans-serif;
}
.evse-home-commerce *{box-sizing:border-box}
.evse-home-commerce__inner{
	width:min(100%,1240px);
	margin:0 auto;
	padding:86px 24px 92px;
}
.evse-home-commerce__eyebrow{
	margin:0 0 16px;
	color:#005336;
	font-size:12px;
	font-weight:900;
	letter-spacing:.12em;
	text-transform:uppercase;
}
.evse-home-commerce__intro{
	display:grid;
	grid-template-columns:minmax(0,1.05fr) minmax(280px,.55fr);
	gap:36px;
	align-items:end;
	margin:0 0 30px;
}
.evse-home-commerce__intro h2{
	margin:0;
	color:#111;
	font-family:Georgia,"Times New Roman",serif;
	font-size:clamp(38px,5.6vw,78px);
	font-weight:500;
	line-height:.96;
	letter-spacing:0;
}
.evse-home-commerce__intro p{
	margin:0;
	color:#5f5b54;
	font-size:16px;
	line-height:1.65;
}
.evse-home-paths{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:12px;
	margin:0 0 22px;
}
.evse-home-paths a{
	display:grid;
	min-height:220px;
	padding:18px;
	border:1px solid #ded9cf;
	border-radius:8px;
	background:#fff;
	color:#111;
	text-decoration:none;
	box-shadow:0 16px 36px rgba(0,0,0,.045);
	transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.evse-home-paths a:hover{
	transform:translateY(-3px);
	border-color:#111;
	box-shadow:0 22px 44px rgba(0,0,0,.075);
}
.evse-home-paths span{
	color:#005336;
	font-size:12px;
	font-weight:900;
	letter-spacing:.08em;
}
.evse-home-paths strong{
	align-self:end;
	margin:0 0 8px;
	font-family:Georgia,"Times New Roman",serif;
	font-size:28px;
	font-weight:500;
	line-height:1.02;
	letter-spacing:0;
}
.evse-home-paths p{
	margin:0;
	color:#68645d;
	font-size:13px;
	line-height:1.45;
}
.evse-home-process{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:12px;
	margin:0 0 22px;
}
.evse-home-process>div{
	display:grid;
	grid-template-columns:42px minmax(0,1fr);
	gap:8px 14px;
	padding:18px;
	border:1px solid #ded9cf;
	border-radius:8px;
	background:#111;
	color:#fff;
}
.evse-home-process span{
	display:flex;
	align-items:center;
	justify-content:center;
	width:42px;
	height:42px;
	border:1px solid rgba(255,255,255,.22);
	border-radius:50%;
	color:#fff;
}
.evse-home-process svg{width:20px;height:20px}
.evse-home-process strong{
	align-self:center;
	font-size:13px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.08em;
}
.evse-home-process p{
	grid-column:2;
	margin:0;
	color:rgba(255,255,255,.72);
	font-size:13px;
	line-height:1.5;
}
.evse-home-proof{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:12px;
	margin:0 0 22px;
}
.evse-home-proof>div{
	padding:24px;
	border:1px solid #ded9cf;
	border-radius:8px;
	background:#fff;
	box-shadow:0 16px 36px rgba(0,0,0,.04);
}
.evse-home-proof h3,.evse-home-cta h3{
	margin:0 0 16px;
	color:#111;
	font-family:Georgia,"Times New Roman",serif;
	font-size:clamp(28px,3vw,44px);
	font-weight:500;
	line-height:1;
	letter-spacing:0;
}
.evse-home-proof ul{
	display:grid;
	gap:10px;
	margin:0;
	padding:0;
	list-style:none;
}
.evse-home-proof li{
	padding:0 0 10px;
	border-bottom:1px solid #eee9df;
	font-size:14px;
	font-weight:800;
}
.evse-home-proof details{
	padding:12px 0;
	border-bottom:1px solid #eee9df;
}
.evse-home-proof summary{
	cursor:pointer;
	font-size:14px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.05em;
}
.evse-home-proof details p{
	margin:8px 0 0;
	color:#68645d;
	font-size:13px;
	line-height:1.55;
}
.evse-home-cta{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:22px;
	align-items:center;
	padding:24px;
	border-radius:8px;
	background:#fff;
	border:1px solid #111;
}
.evse-home-cta span{
	display:block;
	margin:0 0 8px;
	color:#005336;
	font-size:12px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.1em;
}
.evse-home-cta h3{max-width:760px;margin:0}
.evse-home-cta>div:last-child{
	display:flex;
	gap:10px;
	flex-wrap:wrap;
	justify-content:flex-end;
}
.evse-home-button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:48px;
	padding:14px 18px;
	border:1px solid #111;
	border-radius:6px;
	color:#111;
	font-size:12px;
	font-weight:900;
	line-height:1.1;
	text-decoration:none;
	text-transform:uppercase;
	letter-spacing:.08em;
}
.evse-home-button--dark{
	background:#111;
	color:#fff;
}
@media (max-width:980px){
	.evse-home-commerce__intro,.evse-home-proof,.evse-home-cta{grid-template-columns:1fr}
	.evse-home-paths{grid-template-columns:repeat(2,minmax(0,1fr))}
	.evse-home-process{grid-template-columns:1fr}
	.evse-home-cta>div:last-child{justify-content:flex-start}
}
@media (max-width:640px){
	.evse-home-commerce__inner{padding:54px 14px 62px}
	.evse-home-commerce__intro{gap:16px}
	.evse-home-commerce__intro h2{font-size:38px}
	.evse-home-paths{grid-template-columns:1fr}
	.evse-home-paths a{min-height:178px}
	.evse-home-process>div{grid-template-columns:36px minmax(0,1fr);padding:14px}
	.evse-home-process span{width:36px;height:36px}
	.evse-home-proof>div,.evse-home-cta{padding:18px}
	.evse-home-button{width:100%}
}

/* Elementor-editable viewing gallery template */
.evse-edit-room{
	background:#f7f6f2;
	color:#111;
	font-family:Inter,Arial,sans-serif;
}
.evse-edit-room *{box-sizing:border-box}
.evse-edit-room__inner{
	width:min(100%,1240px);
	margin:0 auto;
	padding:72px 24px 82px;
}
.evse-edit-room__eyebrow,.evse-edit-room__cta span{
	margin:0 0 14px;
	color:#005336;
	font-size:12px;
	font-weight:900;
	letter-spacing:.12em;
	text-transform:uppercase;
}
.evse-edit-room h1{
	max-width:920px;
	margin:0;
	font-family:Georgia,"Times New Roman",serif;
	font-size:clamp(42px,7vw,92px);
	font-weight:500;
	line-height:.94;
	letter-spacing:0;
}
.evse-edit-room__intro{
	max-width:760px;
	margin:24px 0 30px;
	color:#5f5b54;
	font-size:16px;
	line-height:1.7;
}
.evse-edit-room__stats{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:10px;
	margin:0 0 28px;
}
.evse-edit-room__stats>div{
	padding:18px;
	border:1px solid #ded9cf;
	border-radius:8px;
	background:#fff;
}
.evse-edit-room__stats span{
	display:block;
	margin:0 0 8px;
	color:#68645d;
	font-size:11px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.08em;
}
.evse-edit-room__stats strong{
	font-family:Georgia,"Times New Roman",serif;
	font-size:34px;
	font-weight:500;
	line-height:1;
}
.evse-edit-room-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:14px;
	margin:0 0 28px;
}
.evse-edit-room-card{
	overflow:hidden;
	border:1px solid #ded9cf;
	border-radius:8px;
	background:#fff;
	box-shadow:0 18px 40px rgba(0,0,0,.05);
}
.evse-edit-room-card__image{
	display:block;
	aspect-ratio:4/3;
	background:#f0eee8;
}
.evse-edit-room-card__image img{
	width:100%;
	height:100%;
	object-fit:contain;
	object-position:center;
}
.evse-edit-room-card__body{padding:16px}
.evse-edit-room-card__body>p{
	margin:0 0 6px;
	color:#005336;
	font-size:11px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.08em;
}
.evse-edit-room-card h3{
	margin:0 0 14px;
	font-family:Georgia,"Times New Roman",serif;
	font-size:30px;
	font-weight:500;
	line-height:1;
	letter-spacing:0;
}
.evse-edit-room-card dl{
	display:grid;
	grid-template-columns:1fr;
	gap:8px;
	margin:0 0 16px;
}
.evse-edit-room-card dl div{
	display:flex;
	justify-content:space-between;
	gap:14px;
	padding:0 0 8px;
	border-bottom:1px solid #eee9df;
}
.evse-edit-room-card dt{
	color:#68645d;
	font-size:10px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.08em;
}
.evse-edit-room-card dd{
	margin:0;
	font-size:12px;
	font-weight:800;
	text-align:right;
}
.evse-edit-room-card__actions{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:8px;
}
.evse-edit-room-card__actions a,.evse-edit-room__cta a{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:44px;
	padding:12px;
	border:1px solid #111;
	border-radius:6px;
	color:#111;
	font-size:11px;
	font-weight:900;
	line-height:1.1;
	text-decoration:none;
	text-transform:uppercase;
	letter-spacing:.08em;
}
.evse-edit-room-card__actions a:last-child,.evse-edit-room__cta a{
	background:#111;
	color:#fff;
}
.evse-edit-room__cta{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:18px;
	align-items:center;
	padding:24px;
	border:1px solid #111;
	border-radius:8px;
	background:#fff;
}
.evse-edit-room__cta h2{
	max-width:760px;
	margin:0;
	font-family:Georgia,"Times New Roman",serif;
	font-size:clamp(30px,4vw,54px);
	font-weight:500;
	line-height:1;
	letter-spacing:0;
}
.evse-edit-room-note{
	padding:18px;
	border:1px dashed #cfc8bc;
	border-radius:8px;
	background:#fff;
	color:#68645d;
	font-size:14px;
}
@media (max-width:980px){
	.evse-edit-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.evse-edit-room__cta{grid-template-columns:1fr}
}
@media (max-width:640px){
	.evse-edit-room__inner{padding:48px 14px 58px}
	.evse-edit-room h1{font-size:42px}
	.evse-edit-room__stats,.evse-edit-room-grid{grid-template-columns:1fr}
	.evse-edit-room-card__actions{grid-template-columns:1fr}
	.evse-edit-room__cta{padding:18px}
	.evse-edit-room__cta a{width:100%}
}

/* Branded informational pages: support, policies, mission, opportunities */
.ev-info-page{
	background:#f7f6f2;
	color:#111;
	font-family:Inter,Arial,sans-serif;
}
.ev-info-page *{box-sizing:border-box}
.ev-info-shell{
	width:min(100%,1180px);
	margin:0 auto;
	padding:74px 24px 86px;
}
.ev-info-kicker{
	margin:0 0 14px;
	color:#005336;
	font-size:12px;
	font-weight:900;
	letter-spacing:.12em;
	text-transform:uppercase;
}
.ev-info-hero{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(280px,.46fr);
	gap:34px;
	align-items:end;
	margin:0 0 24px;
}
.ev-info-hero h1{
	margin:0;
	color:#111;
	font-family:Georgia,"Times New Roman",serif;
	font-size:clamp(42px,6vw,86px);
	font-weight:500;
	line-height:.96;
	letter-spacing:0;
}
.ev-info-hero p{
	margin:0;
	color:#5f5b54;
	font-size:16px;
	line-height:1.65;
}
.ev-info-nav{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin:0 0 28px;
	padding:10px;
	border:1px solid #ded9cf;
	border-radius:8px;
	background:#fff;
}
.ev-info-nav a{
	display:inline-flex;
	align-items:center;
	min-height:38px;
	padding:9px 12px;
	border:1px solid #eee9df;
	border-radius:6px;
	color:#111;
	font-size:11px;
	font-weight:900;
	line-height:1.1;
	text-decoration:none;
	text-transform:uppercase;
	letter-spacing:.07em;
}
.ev-info-nav a[aria-current="page"],.ev-info-nav a:hover{
	border-color:#111;
	background:#111;
	color:#fff;
}
.ev-info-grid{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);
	gap:18px;
	align-items:start;
}
.ev-info-accordions{
	display:grid;
	gap:10px;
}
.ev-info-card,.ev-info-accordions details,.ev-info-related{
	border:1px solid #ded9cf;
	border-radius:8px;
	background:#fff;
	box-shadow:0 16px 36px rgba(0,0,0,.045);
}
.ev-info-accordions details{
	overflow:hidden;
}
.ev-info-accordions summary{
	cursor:pointer;
	display:flex;
	justify-content:space-between;
	gap:16px;
	padding:18px 20px;
	color:#111;
	font-family:Georgia,"Times New Roman",serif;
	font-size:clamp(23px,2.2vw,34px);
	font-weight:500;
	line-height:1.05;
	letter-spacing:0;
}
.ev-info-accordions summary::after{
	content:"+";
	flex:0 0 auto;
	color:#005336;
	font-family:Inter,Arial,sans-serif;
	font-size:22px;
	font-weight:900;
	line-height:1;
}
.ev-info-accordions details[open] summary::after{content:"-"}
.ev-info-body{
	padding:0 20px 20px;
	color:#4e4a43;
	font-size:15px;
	line-height:1.72;
}
.ev-info-body p{margin:0 0 14px}
.ev-info-body p:last-child{margin-bottom:0}
.ev-info-side{
	display:grid;
	gap:12px;
	position:sticky;
	top:18px;
}
.ev-info-card{
	padding:20px;
}
.ev-info-card h2,.ev-info-related h2{
	margin:0 0 12px;
	color:#111;
	font-family:Georgia,"Times New Roman",serif;
	font-size:30px;
	font-weight:500;
	line-height:1;
	letter-spacing:0;
}
.ev-info-card p,.ev-info-related p{
	margin:0;
	color:#68645d;
	font-size:14px;
	line-height:1.6;
}
.ev-info-card ul{
	display:grid;
	gap:10px;
	margin:14px 0 0;
	padding:0;
	list-style:none;
}
.ev-info-card li{
	padding-bottom:10px;
	border-bottom:1px solid #eee9df;
	font-size:13px;
	font-weight:800;
}
.ev-info-card li:last-child{border-bottom:0;padding-bottom:0}
.ev-info-related{
	grid-column:1/-1;
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:18px;
	align-items:center;
	margin-top:6px;
	padding:22px;
}
.ev-info-actions{
	display:flex;
	flex-wrap:wrap;
	gap:9px;
	justify-content:flex-end;
}
.ev-info-button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:44px;
	padding:12px 14px;
	border:1px solid #111;
	border-radius:6px;
	color:#111;
	font-size:11px;
	font-weight:900;
	line-height:1.1;
	text-decoration:none;
	text-transform:uppercase;
	letter-spacing:.08em;
}
.ev-info-button--dark{
	background:#111;
	color:#fff;
}
@media (max-width:900px){
	.ev-info-hero,.ev-info-grid,.ev-info-related{grid-template-columns:1fr}
	.ev-info-side{position:static}
	.ev-info-actions{justify-content:flex-start}
}
@media (max-width:640px){
	.ev-info-shell{padding:48px 14px 60px}
	.ev-info-hero{gap:14px}
	.ev-info-hero h1{font-size:42px}
	.ev-info-nav{display:grid;grid-template-columns:1fr 1fr}
	.ev-info-nav a{justify-content:center;text-align:center}
	.ev-info-accordions summary{padding:16px;font-size:24px}
	.ev-info-body{padding:0 16px 18px;font-size:14px}
	.ev-info-card,.ev-info-related{padding:18px}
	.ev-info-button{width:100%}
}

/* Public Emerald Vault gallery */
.ev-vault-public{--evv-ink:#0f1110;--evv-cream:#f7f3ea;--evv-paper:#fffdf7;--evv-line:rgba(20,25,21,.13);--evv-muted:#6f746c;--evv-emerald:#0d5b43;--evv-gold:#b99656;width:min(1420px,calc(100vw - 44px));margin:0 auto;padding:56px 0 90px;color:var(--evv-ink)}
.ev-vault-public *{box-sizing:border-box}
.ev-vault-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,460px);gap:28px;align-items:stretch;padding:clamp(28px,5vw,58px);border:1px solid rgba(255,255,255,.16);border-radius:8px;background:linear-gradient(135deg,rgba(7,13,10,.94),rgba(11,47,36,.91)),url("../design-system/assets/paintings/pillars-three.png") center/cover;box-shadow:0 28px 80px rgba(0,0,0,.18);overflow:hidden;position:relative}
.ev-vault-hero:after{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.12);pointer-events:none}
.ev-vault-hero__copy,.ev-vault-hero__panel{position:relative;z-index:1}
.ev-vault-kicker{margin:0 0 14px;color:var(--evv-gold);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.ev-vault-hero h1{max-width:840px;margin:0;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,7vw,92px);line-height:.9;font-weight:500;letter-spacing:0}
.ev-vault-hero__copy>p:not(.ev-vault-kicker){max-width:720px;margin:24px 0 0;color:rgba(255,255,255,.82);font-size:clamp(15px,1.4vw,19px);line-height:1.65}
.ev-vault-hero__panel{align-self:end;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);border-radius:8px;overflow:hidden;backdrop-filter:blur(12px)}
.ev-vault-hero__panel div{min-height:122px;padding:22px;background:rgba(9,15,12,.58)}
.ev-vault-hero__panel strong{display:block;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:42px;line-height:1;font-weight:500}
.ev-vault-hero__panel span{display:block;margin-top:10px;color:rgba(255,255,255,.72);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.ev-vault-controls{display:grid;grid-template-columns:minmax(260px,1.3fr) repeat(3,minmax(160px,.7fr));gap:14px;margin:24px 0 16px;padding:14px;border:1px solid var(--evv-line);border-radius:8px;background:var(--evv-paper);box-shadow:0 14px 42px rgba(0,0,0,.045)}
.ev-vault-controls label{display:grid;gap:7px;margin:0}.ev-vault-controls span{color:#232722;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.ev-vault-controls input,.ev-vault-controls select{width:100%;height:46px;border:1px solid rgba(17,17,17,.14);border-radius:6px;background:#fff;color:#111;padding:0 13px;font:inherit;font-size:14px}
.ev-vault-ledger-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 24px}
.ev-vault-ledger-strip div{display:flex;align-items:center;gap:10px;min-height:46px;padding:12px 14px;border:1px solid var(--evv-line);border-radius:8px;background:#fff;color:#1b1f1b;font-size:12px;font-weight:800}
.ev-vault-ledger-strip span,.ev-vault-ledger span{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff 0 15%,var(--evv-gold) 18% 42%,var(--evv-emerald) 45% 100%);box-shadow:0 0 0 1px rgba(13,91,67,.18);flex:0 0 16px}
.ev-vault-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.ev-vault-card{position:relative;display:grid;grid-template-rows:auto 1fr;min-width:0;border:1px solid var(--evv-line);border-radius:8px;background:#fff;box-shadow:0 16px 48px rgba(0,0,0,.055);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
.ev-vault-card:hover{transform:translateY(-3px);box-shadow:0 24px 70px rgba(0,0,0,.095)}.ev-vault-card[hidden]{display:none}
.ev-vault-card__image{position:relative;aspect-ratio:16/10;background:#f1f1ee;overflow:hidden}.ev-vault-card__image img{width:100%;height:100%;object-fit:cover;display:block}
.ev-vault-status{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border-radius:999px;background:rgba(255,255,255,.94);color:#111;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.ev-vault-status--sold{background:#111;color:#fff}.ev-vault-status--available{background:#f7fff9;color:#0d5b43}
.ev-vault-card__body{padding:18px}.ev-vault-card__artist{margin:0 0 8px;color:var(--evv-muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.ev-vault-card h2{margin:0 0 16px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(25px,2.1vw,34px);line-height:.98;font-weight:500;letter-spacing:0;color:#111}
.ev-vault-specs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0 0 14px;border-top:1px solid var(--evv-line);border-bottom:1px solid var(--evv-line)}
.ev-vault-specs div{min-width:0;padding:12px 9px;border-right:1px solid var(--evv-line)}.ev-vault-specs div:last-child{border-right:0}
.ev-vault-specs span{display:block;margin-bottom:6px;color:#111;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.ev-vault-specs strong{display:block;color:#2a2f29;font-size:12px;line-height:1.25;font-weight:500;overflow-wrap:anywhere}
.ev-vault-ledger{display:grid;gap:8px;margin:0 0 14px}.ev-vault-ledger div{display:grid;grid-template-columns:18px auto;gap:9px;align-items:start;padding:9px 10px;border:1px solid rgba(13,91,67,.12);border-radius:7px;background:#fbfaf6}
.ev-vault-ledger strong,.ev-vault-ledger em{display:block;font-style:normal;line-height:1.2}.ev-vault-ledger strong{font-size:12px}.ev-vault-ledger em{margin-top:2px;color:var(--evv-muted);font-size:11px}
.ev-vault-story{margin:0 0 16px;color:#4d534c;font-size:13px;line-height:1.55}.ev-vault-card__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ev-vault-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 12px;border:1px solid #d9d5cc;border-radius:6px;background:#fff;color:#111;text-decoration:none;font-family:Georgia,"Times New Roman",serif;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;cursor:pointer}
.ev-vault-button--dark{border-color:#111;background:linear-gradient(180deg,#242424,#050505);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 10px 24px rgba(0,0,0,.12)}
.ev-vault-dialog{width:min(640px,calc(100vw - 30px));border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#0d110f;color:#fff;padding:28px;box-shadow:0 32px 90px rgba(0,0,0,.42)}
.ev-vault-dialog::backdrop{background:rgba(5,8,6,.72);backdrop-filter:blur(5px)}.ev-vault-dialog h2{margin:0 0 22px;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,6vw,56px);line-height:.95;font-weight:500}
.ev-vault-dialog__close{float:right;min-height:34px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:transparent;color:#fff;padding:0 12px;cursor:pointer}
.ev-vault-dialog dl{display:grid;gap:1px;margin:0;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);border-radius:8px;overflow:hidden}.ev-vault-dialog dl div{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:14px 16px;background:rgba(255,255,255,.055)}
.ev-vault-dialog dt,.ev-vault-dialog dd{margin:0}.ev-vault-dialog dt{color:var(--evv-gold);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.ev-vault-dialog dd{color:rgba(255,255,255,.88)}
.ev-vault-empty,.ev-vault-zero{margin:24px 0 0;padding:34px;border:1px solid var(--evv-line);border-radius:8px;background:var(--evv-paper);text-align:center}.ev-vault-zero h2{margin:0 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,5vw,58px);font-weight:500;line-height:1}.ev-vault-zero p{max-width:720px;margin:0 auto 20px;color:var(--evv-muted);line-height:1.65}.ev-vault-zero a{color:#111;font-weight:800}
@media (max-width:1100px){.ev-vault-hero,.ev-vault-controls,.ev-vault-grid{grid-template-columns:1fr 1fr}.ev-vault-controls label:first-child{grid-column:1/-1}.ev-vault-ledger-strip{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.ev-vault-public{width:calc(100vw - 24px);padding:30px 0 64px}.ev-vault-hero,.ev-vault-controls,.ev-vault-grid,.ev-vault-ledger-strip{grid-template-columns:1fr}.ev-vault-hero{padding:28px 20px}.ev-vault-hero:after{inset:10px}.ev-vault-hero__panel{grid-template-columns:1fr 1fr}.ev-vault-hero__panel div{min-height:96px;padding:16px}.ev-vault-hero__panel strong{font-size:34px}.ev-vault-controls{padding:12px}.ev-vault-specs{grid-template-columns:1fr 1fr}.ev-vault-specs div:nth-child(2n){border-right:0}.ev-vault-card__actions{grid-template-columns:1fr}.ev-vault-dialog{padding:22px 18px}.ev-vault-dialog dl div{grid-template-columns:1fr;gap:6px}}
