/* WPC homepage sections (Moonlit Editorial). Scoped to .wpc-hs rows only. */

.wpc-hs {
	--wpc-pearl:#F3EFE7; --wpc-surface:#FCFAF6; --wpc-ink:#111318;
	--wpc-accent:#6544D8; --wpc-gold:#D7B978; --wpc-muted:#6B6672;
	--wpc-line:#D8D0C3; --wpc-mid:#182033; --wpc-forest:#173D37;
}

/* Type pairing */
.wpc-hs .wpc-body,
.wpc-hs .wpc-eyebrow,
.wpc-hs .wpc-textlink,
.wpc-hs .wpc-meta,
.wpc-hs .wpc-btns .kb-button {
	font-family:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
}
.wpc-hs .wpc-head,
.wpc-hs .wpc-head * {
	font-family:"Cormorant Garamond","Iowan Old Style",Georgia,serif;
	letter-spacing:-0.005em; text-transform:none;
}
.wpc-hs .wpc-head { text-wrap:balance; }
.wpc-hs .wpc-body { font-size:1.0625rem; line-height:1.62; max-width:62ch; margin-top:0; }
.wpc-hs .wpc-lede { font-size:1.125rem; }
.wpc-hs .wpc-small { font-size:0.9375rem; }
.wpc-hs .wpc-fineprint { font-size:0.8125rem; }
.wpc-hs .wpc-meta { font-size:0.8125rem; letter-spacing:.02em; }
.wpc-hs .wpc-center .wpc-body { margin-left:auto; margin-right:auto; }

/* Buttons */
.wpc-hs .wpc-btns .kb-button {
	font-weight:500; letter-spacing:.06em; text-transform:uppercase;
	font-size:.8125rem; padding:.95rem 1.7rem; transition:transform .15s ease, filter .2s ease;
}
.wpc-hs .wpc-btns .kb-button:hover { filter:brightness(.92); }
.wpc-hs .wpc-btns .kb-button:active { transform:translateY(2px); }

/* Text links */
.wpc-hs .wpc-textlink a {
	text-decoration:none; padding-bottom:3px;
	border-bottom:1px solid rgba(215,185,120,.6);
	transition:border-color .2s ease;
}
.wpc-hs .wpc-textlink a:hover { border-bottom-color:currentColor; }

/* Shared image frames */
.wpc-hs .wpc-frame { overflow:hidden; border-radius:4px; margin:0; }
.wpc-hs .wpc-frame img {
	width:100%; height:100%; object-fit:cover; display:block;
	transition:transform .6s ease;
}

/* 1. Collections bento */
.wpc-hs .wpc-col-lead .wpc-frame { aspect-ratio:5/6; }
.wpc-hs .wpc-col-lead .wpc-frame img { object-position:45% 50%; }
.wpc-hs .wpc-col-small .wpc-frame { aspect-ratio:2/1; }
.wpc-hs .wpc-col-tile:hover .wpc-frame img { transform:scale(1.03); }
.wpc-hs .wpc-col-small + .wpc-col-small { border-top:1px solid var(--wpc-line); padding-top:28px; }

/* 2. Pillars */
.wpc-hs.wpc-pillars .wpc-pillar { border-top:1px solid rgba(215,185,120,.45); padding-top:22px !important; }
.wpc-hs.wpc-pillars .wpc-pillar-mark { opacity:.9; }

/* 3. Familiar */
.wpc-hs .wpc-fam-img .wpc-frame { aspect-ratio:5/4; }
.wpc-hs .wpc-fam-img .wpc-frame img { object-position:40% 50%; }

/* 4. Chronicles */
.wpc-hs .wpc-chr-lead .wpc-frame { aspect-ratio:3/2; }
.wpc-hs .wpc-chr-thumb .wpc-frame { aspect-ratio:1/1; }
.wpc-hs .wpc-chr-lead:hover .wpc-frame img { transform:scale(1.03); }
.wpc-hs .wpc-rule { border:0; border-top:1px solid var(--wpc-line); opacity:1; margin:0; }

/* 5. Reviews (placeholder slots) */
.wpc-hs .wpc-review { border-top:1px solid var(--wpc-ink); padding-top:26px !important; }
.wpc-hs .wpc-review-quote { font-style:italic; }
.wpc-hs .wpc-placeholder { outline:1px dashed rgba(101,68,216,.45); outline-offset:10px; }

/* 6. Potion List */
.wpc-hs .wpc-pl-img .wpc-frame { aspect-ratio:4/5; }
.wpc-hs .wpc-reach { max-width:30rem; margin:4px 0 0; }
.wpc-hs .wpc-reach input[type="email"],
.wpc-hs .wpc-reach input[type="text"] {
	font-family:"Manrope",sans-serif; background:var(--wpc-surface);
	border:1px solid var(--wpc-line); border-radius:8px; color:var(--wpc-ink);
	padding:.85rem 1rem;
}
.wpc-hs .wpc-reach input:focus {
	outline:2px solid var(--wpc-accent); outline-offset:2px; border-color:var(--wpc-accent);
}
.wpc-hs .wpc-reach button,
.wpc-hs .wpc-reach input[type="submit"] {
	font-family:"Manrope",sans-serif; font-weight:500; letter-spacing:.06em;
	text-transform:uppercase; background:var(--wpc-accent); color:var(--wpc-surface);
	border:0; border-radius:999px; padding:.85rem 1.6rem; cursor:pointer;
}

/* Focus + motion */
.wpc-hs a:focus-visible,
.wpc-hs button:focus-visible { outline:2px solid var(--wpc-accent); outline-offset:3px; }
@media (prefers-reduced-motion:reduce) {
	.wpc-hs * { transition:none !important; animation:none !important; }
}

/* Mobile */
@media (max-width:767px) {
	.wpc-hs .wpc-body { font-size:1rem; }
	.wpc-hs .wpc-col-lead .wpc-frame { aspect-ratio:4/3; }
	.wpc-hs .wpc-col-small + .wpc-col-small { padding-top:22px; }
	.wpc-hs .wpc-pl-img .wpc-frame { aspect-ratio:3/2; }
	.wpc-hs .wpc-placeholder { outline-offset:6px; }
}

/* 0. Promo banner (second section, under hero). Scoped to .wpc-promo. */
.wpc-hs.wpc-promo {
	--wpc-promo-cream:#F7EFE3; --wpc-promo-gold:#C9A25E; --wpc-promo-gold-soft:#D7B978;
	--wpc-promo-ink:#0B0B0D; --wpc-promo-plum:#4E304A; --wpc-promo-btn:#18181D;
}
.kb-row-layout-wrap.wpc-hs.wpc-promo { background:#F3EFE7; padding:40px 24px; }
.wpc-hs.wpc-promo > .kt-row-column-wrap {
	position:relative; display:grid; grid-template-columns:minmax(0,33.7fr) minmax(0,66.3fr);
	gap:0; padding:18px; background:var(--wpc-promo-cream);
	max-width:1440px; margin-left:auto; margin-right:auto;
}
/* outer gold frame */
.wpc-hs.wpc-promo > .kt-row-column-wrap::before {
	content:""; position:absolute; inset:18px; border:1.5px solid var(--wpc-promo-gold);
	pointer-events:none; z-index:2;
}
.wpc-hs.wpc-promo .wpc-promo-copy,
.wpc-hs.wpc-promo .wpc-promo-media { padding:0 !important; margin:0 !important; min-width:0; }
.wpc-hs.wpc-promo .wpc-promo-copy > .kt-inside-inner-col,
.wpc-hs.wpc-promo .wpc-promo-media > .kt-inside-inner-col { height:100%; padding:0; box-sizing:border-box; }
.wpc-hs.wpc-promo .wpc-promo-copy > .kt-inside-inner-col { container-type:inline-size; }
.wpc-hs.wpc-promo *, .wpc-hs.wpc-promo *::before { box-sizing:border-box; }

/* left copy panel: scales with its own width so it reads like the mockup at any size */
.wpc-promo-panel {
	position:relative; height:100%; width:100%;
	display:flex; flex-direction:column; align-items:center; justify-content:center;
	text-align:center; color:var(--wpc-promo-ink);
	padding:9cqi 3.5cqi 8cqi;
}
.wpc-promo-panel .wpc-promo-defs { position:absolute; width:0; height:0; overflow:hidden; }
.wpc-promo-panel svg { fill:var(--wpc-promo-gold); display:block; }

/* scattered stars */
.wpc-promo-stars { position:absolute; inset:0; pointer-events:none; }
.wpc-promo-stars svg, .wpc-promo-stars i { position:absolute; }
.wpc-promo-stars i { width:.55cqi; height:.55cqi; border-radius:50%; background:var(--wpc-promo-gold); opacity:.8; }
.wpc-promo-stars .s1 { width:4.2cqi; height:4.2cqi; left:91%; top:6.5%; }
.wpc-promo-stars .s2 { width:1.6cqi; height:1.6cqi; left:9%; top:12.5%; }
.wpc-promo-stars .s3 { width:1.8cqi; height:1.8cqi; left:57%; top:12.6%; }
.wpc-promo-stars .s4 { width:1.6cqi; height:1.6cqi; left:88%; top:13.5%; }
.wpc-promo-stars .s5 { width:3.8cqi; height:3.8cqi; left:9.4%; top:39%; }
.wpc-promo-stars .s6 { width:3.6cqi; height:3.6cqi; left:90.5%; top:41%; }
.wpc-promo-stars .s7 { width:1.6cqi; height:1.6cqi; left:93%; top:35%; }
.wpc-promo-stars .s8 { width:1.6cqi; height:1.6cqi; left:9%; top:57%; }
.wpc-promo-stars .s9 { width:3.4cqi; height:3.4cqi; left:6%; top:75.5%; }
.wpc-promo-stars .s10 { width:2cqi; height:2cqi; left:91%; top:67%; }
.wpc-promo-stars .s11 { width:4.2cqi; height:4.2cqi; left:10%; top:90%; }
.wpc-promo-stars .s12 { width:5.2cqi; height:5.2cqi; left:89%; top:87.5%; }
.wpc-promo-stars .c1, .wpc-promo-stars .c2 { width:5cqi; height:5cqi; left:0; transform:translate(-50%,-50%); }
.wpc-promo-stars .c1 { top:0; } .wpc-promo-stars .c2 { top:100%; }
.wpc-promo-stars .m1 { width:5.2cqi; height:5.2cqi; left:7.4%; top:51.5%; }
.wpc-promo-stars .d1 { left:12%; top:6%; } .wpc-promo-stars .d2 { left:89%; top:22%; }
.wpc-promo-stars .d3 { left:7%; top:49%; } .wpc-promo-stars .d4 { left:88%; top:93%; }
.wpc-promo-stars .d5 { left:12%; top:84%; }

/* logo wordmark */
.wpc-promo-logo {
	position:relative; font-family:"Playfair Display",Georgia,serif; font-weight:500;
	font-size:6.6cqi; line-height:.98; letter-spacing:-.035em; color:var(--wpc-promo-ink);
	display:flex; flex-direction:column; align-items:center; margin:0 0 7.5cqi;
}
.wpc-promo-logo span { display:flex; align-items:center; gap:1cqi; }
.wpc-promo-logo span:last-child { margin-left:1cqi; }
.wpc-promo-logomoon { width:5.4cqi; height:5.4cqi; }

/* hairline rules */
.wpc-promo-rule { display:flex; align-items:center; gap:2.2cqi; width:64%; margin:0 0 4.2cqi; }
.wpc-promo-rule span { flex:1; height:1.5px; background:var(--wpc-promo-gold); }
.wpc-promo-rulemoon { width:3.2cqi; height:3.2cqi; }
.wpc-promo-rule--spark { width:51%; margin:2.6cqi 0 4.4cqi; }
.wpc-promo-rulespark { width:5.4cqi; height:5.4cqi; }

.wpc-promo-panel .wpc-promo-eyebrow {
	font-family:"Manrope",system-ui,sans-serif; font-weight:500; text-transform:uppercase;
	font-size:3.1cqi; letter-spacing:.42em; margin:0 -.42em 1.6cqi 0; line-height:1.2;
	color:var(--wpc-promo-ink);
}
.wpc-promo-title {
	font-family:"Playfair Display",Georgia,serif !important; font-weight:800 !important;
	font-variant-numeric:lining-nums; font-size:10.9cqi !important; line-height:1.04 !important;
	letter-spacing:-.045em !important; color:var(--wpc-promo-ink) !important;
	text-transform:none !important; margin:0 !important;
}
.wpc-promo-free {
	display:block; color:var(--wpc-promo-plum); font-weight:900;
	font-size:2.62em; line-height:.86; letter-spacing:-.035em; margin:.13em 0 .1em;
	transform:scaleY(1.2); transform-origin:50% 55%;
}
.wpc-promo-panel .wpc-promo-sub {
	font-family:"Manrope",system-ui,sans-serif; font-weight:500; font-size:4.8cqi;
	line-height:1.38; letter-spacing:-.005em; margin:0 0 5cqi; color:var(--wpc-promo-ink);
}

/* CTA: elongated hexagon with gold edge */
.wpc-promo-btn {
	position:relative; display:inline-flex; align-items:center; justify-content:center; gap:6.4cqi;
	width:85%; height:12.6cqi; color:#F7EFE3 !important; text-decoration:none !important;
	font-family:"Manrope",system-ui,sans-serif; font-weight:700; text-transform:uppercase;
	font-size:4.1cqi; letter-spacing:.1em; isolation:isolate;
	clip-path:polygon(7.5% 0,92.5% 0,100% 50%,92.5% 100%,7.5% 100%,0 50%);
	background:var(--wpc-promo-gold); transition:filter .2s ease, transform .15s ease;
}
.wpc-promo-btn::before {
	content:""; position:absolute; inset:2px; z-index:-1; background:var(--wpc-promo-btn);
	clip-path:polygon(7.3% 0,92.7% 0,100% 50%,92.7% 100%,7.3% 100%,0 50%);
}
.wpc-promo-btn svg { width:3.6cqi; height:3.6cqi; flex:none; }
.wpc-promo-btn:hover { filter:brightness(1.15); }
.wpc-promo-btn:active { transform:translateY(2px); }
.wpc-promo-btn:focus-visible { outline:2px solid var(--wpc-promo-plum); outline-offset:4px; }

.wpc-promo-panel .wpc-promo-date {
	display:inline-flex; align-items:center; gap:4cqi; margin:4.6cqi 0 0;
	padding:0 6cqi; height:8.6cqi; border:1.5px solid var(--wpc-promo-gold); border-radius:999px;
	font-family:"Manrope",system-ui,sans-serif; font-weight:600; font-size:3.9cqi; letter-spacing:.005em;
	color:var(--wpc-promo-ink);
}
.wpc-promo-date svg { width:1.9cqi; height:1.9cqi; }

/* right image slot: drop an Image block in; it fills the frame */
.wpc-hs.wpc-promo .wpc-promo-media > .kt-inside-inner-col {
	position:relative; min-height:100%; border-left:2px solid var(--wpc-promo-gold);
	background:#111318; overflow:hidden;
}
.wpc-hs.wpc-promo .wpc-promo-media figure,
.wpc-hs.wpc-promo .wpc-promo-media .wp-block-image { position:absolute; inset:0; margin:0; height:100%; }
.wpc-hs.wpc-promo .wpc-promo-media img { width:100% !important; height:100% !important; object-fit:cover; display:block; }
.wpc-hs.wpc-promo .wpc-promo-media img:not([src]),
.wpc-hs.wpc-promo .wpc-promo-media img[src=""] { display:none; }

/* stacked: copy panel first, image below */
@media (max-width:767px) {
	.kb-row-layout-wrap.wpc-hs.wpc-promo { padding:24px 12px; }
	.wpc-hs.wpc-promo > .kt-row-column-wrap { grid-template-columns:minmax(0,1fr); padding:12px; }
	.wpc-promo-stars .c2 { display:none; }
	.wpc-hs.wpc-promo > .kt-row-column-wrap::before { inset:12px; }
	.wpc-promo-panel { max-width:560px; margin:0 auto; padding:12cqi 6cqi 11cqi; }
	.wpc-hs.wpc-promo .wpc-promo-media > .kt-inside-inner-col {
		border-left:0; border-top:2px solid var(--wpc-promo-gold); aspect-ratio:6/5; min-height:0;
	}
}
