/*
 * WonderTale House — the house pages (Phase 3D). Markup: wondertale-core authors.php, house.php,
 * contact.php, legal.php.
 *
 *   .wt-plate    Ex-libris bookplate: the typographic stand-in for an author portrait.
 *   .wt-authors  Author directory: a lamplit library at night, then one tall card per author.
 *   .wt-author   Author profile: bookplate and cover fan in the library, positioning, books,
 *                characters, story-world band.
 *   .wt-ostory   Our Story: the house in an arched gold frame under the stars, an open-book
 *                spread, beliefs, storytellers, story worlds, a lit door to the books.
 *   .wt-contact  Contact: a sealed letter in lamplight, topic cards, the letter form.
 *   .wt-legal    Privacy Policy / Terms: a quiet reading page with an "On this page" index.
 *
 * Reuses: worlds.css (editor bar, hidden-record marks, scene layers), catalogue.css (book cards,
 * crumbs, editor panel, world band), sections.css (chips, friend cards, section heads).
 * Artwork is decorative (aria-hidden). Motion: transform/opacity only, off for reduced motion.
 */

.wt-site .wt-main--house { display: block; background: var(--wt-ivory); overflow-x: clip; }
.wt-site .wt-main--house:focus { outline: none; }

/* Section heads on dark grounds. */
.wt-site .wt-section-head--on-dark .wt-section-head__eyebrow { color: var(--wt-gold); }
.wt-site .wt-section-head--on-dark .wt-section-head__title { color: var(--wt-ivory); }
.wt-site .wt-section-head--on-dark .wt-section-head__lead { color: rgb(255 247 238 / 0.88); }

/* Shared night-library hero ground (authors, author profile). */
.wt-site .wt-authors__hero,
.wt-site .wt-author__hero {
	--_edge: 56px;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	color: var(--wt-ivory);
	background:
		radial-gradient(ellipse 34% 46% at 50% 40%, rgb(246 201 120 / 0.28), transparent 70%),
		radial-gradient(ellipse 60% 50% at 50% 0%, rgb(42 90 110 / 0.5), transparent 70%),
		linear-gradient(180deg, var(--wt-night) 0%, #0d2f3b 60%, #10333b 100%);
}
.wt-site .wt-authors__art,
.wt-site .wt-author__art { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.wt-site .wt-authors__layer--shelves,
.wt-site .wt-author__layer--shelves { inset: auto 0 0; height: 100%; background: url(../img/ornaments/library-room.svg) center bottom / cover no-repeat; opacity: 0.85; }
.wt-site .wt-authors__sparkles,
.wt-site .wt-author__sparkles { position: absolute; inset: 0 0 30%; pointer-events: none; }
.wt-site .wt-authors__sparkles .wt-spark,
.wt-site .wt-author__sparkles .wt-spark { --s: 6px; background: radial-gradient(circle, #fffbe0 0%, rgb(255 226 140 / 0.9) 28%, rgb(233 162 59 / 0) 70%); }
.wt-site .wt-authors__edge,
.wt-site .wt-author__edge,
.wt-site .wt-ostory__edge,
.wt-site .wt-contact__edge {
	position: absolute;
	inset: auto 0 -1px;
	height: var(--_edge, 56px);
	z-index: 3;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 64' preserveAspectRatio='none'%3E%3Cpath d='M0 30 C200 2 360 52 560 26 C760 0 900 50 1100 30 C1260 14 1360 38 1440 24 V64 H0Z' fill='%23E9A23B' fill-opacity='.6'/%3E%3Cpath d='M0 36 C200 8 360 58 560 32 C760 6 900 56 1100 36 C1260 20 1360 44 1440 30 V64 H0Z' fill='%23FFF7EE'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat;
}
.wt-site .wt-authors__eyebrow,
.wt-site .wt-author__kicker,
.wt-site .wt-ostory__eyebrow,
.wt-site .wt-contact__eyebrow {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0 0 var(--wt-space-4);
	font-size: var(--wt-fs-eyebrow);
	font-weight: 800;
	letter-spacing: var(--wt-tracking-eyebrow);
	text-transform: uppercase;
	color: var(--wt-gold);
}
.wt-site .wt-authors__eyebrow::before,
.wt-site .wt-authors__eyebrow::after,
.wt-site .wt-ostory__eyebrow::before,
.wt-site .wt-ostory__eyebrow::after,
.wt-site .wt-contact__eyebrow::before,
.wt-site .wt-contact__eyebrow::after { content: "✦"; letter-spacing: 0; font-size: 0.8em; }

/* ---------- Ex-libris bookplate ---------- */
.wt-site .wt-plate {
	--plate-a: #fffaf0;
	--plate-b: #fbecd2;
	--plate-ink: #8a5a10;
	--plate-mono: #064f4b;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 100%;
	aspect-ratio: 300 / 380;
	padding: 18% 12% 12%;
	border-radius: 999px 999px 22px 22px;
	background:
		radial-gradient(ellipse 70% 50% at 50% 34%, rgb(255 255 255 / 0.9), transparent 70%),
		linear-gradient(180deg, var(--plate-a), var(--plate-b));
	box-shadow: 0 0 0 1px rgb(138 90 16 / 0.18), 0 30px 50px -24px rgb(4 20 28 / 0.65), 0 10px 18px -10px rgb(4 20 28 / 0.4);
	color: var(--plate-ink);
	text-align: center;
}
.wt-site .wt-plate--tint-2 { --plate-a: #fbf6ff; --plate-b: #efe3f6; --plate-ink: #6e4c78; --plate-mono: #4b2f56; }
.wt-site .wt-plate__frame { position: absolute; inset: 4%; width: 92%; height: 92%; color: var(--plate-ink); opacity: 0.7; pointer-events: none; }
.wt-site .wt-plate__kicker { position: relative; font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.22em; text-transform: uppercase; }
.wt-site .wt-plate__mono {
	position: relative;
	font-family: var(--wt-font-display);
	font-size: clamp(3.4rem, 2.4rem + 4vw, 6.25rem);
	font-weight: 600;
	font-style: italic;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--plate-mono);
	font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144;
	text-shadow: 0 2px 0 rgb(255 255 255 / 0.7);
}
.wt-site .wt-plate__rule { position: relative; display: flex; align-items: center; gap: 10px; width: 64%; color: var(--wt-gold); }
.wt-site .wt-plate__rule::before,
.wt-site .wt-plate__rule::after { content: ""; flex: 1; height: 1px; background: currentColor; opacity: 0.6; }
.wt-site .wt-plate__lotus { width: 30px; height: 19px; flex: none; }
.wt-site .wt-plate__name { position: relative; font-family: var(--wt-font-display); font-weight: 600; font-size: clamp(1.15rem, 1rem + 0.6vw, 1.5rem); line-height: 1.15; color: var(--plate-mono); }
.wt-site .wt-plate__house { position: relative; font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; opacity: 0.85; }
.wt-site .wt-plate--md .wt-plate__mono { font-size: clamp(3rem, 2.4rem + 2.4vw, 4.5rem); }
.wt-site .wt-plate--md .wt-plate__name { font-size: 1.125rem; }

/* Cover fan (decorative) behind a bookplate. */
.wt-site .wt-fan { position: absolute; inset: auto 0 6%; z-index: 0; height: 58%; pointer-events: none; }
.wt-site .wt-fan__book { position: absolute; bottom: 0; width: 42%; }
.wt-site .wt-fan__img { display: block; width: 100%; height: auto; border-radius: 3px 9px 9px 3px; box-shadow: -2px 0 0 rgb(40 20 0 / 0.25), 12px 18px 26px -10px rgb(4 20 28 / 0.6); }
.wt-site .wt-fan__book--1 { left: -8%; rotate: -12deg; }
.wt-site .wt-fan__book--2 { right: -8%; rotate: 10deg; }
.wt-site .wt-fan__book--3 { left: 50%; translate: -50% 0; rotate: 2deg; bottom: -6%; z-index: -1; }
.wt-site .wt-fan--1 .wt-fan__book--1 { left: auto; right: -12%; rotate: 9deg; }

/* ---------- Author card (directory, Our Story) ---------- */
.wt-site .wt-authors__list { display: grid; grid-template-columns: 1fr; gap: clamp(28px, 4vw, 48px); margin: 0; padding: 0; list-style: none; }
.wt-site .wt-authors__item { margin: 0; min-width: 0; }
@media (min-width: 900px) { .wt-site .wt-authors__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { .wt-site .wt-authors__list:has(> .wt-authors__item:only-child) { grid-template-columns: minmax(0, 560px); justify-content: center; } }
.wt-site .wt-authors__list--compact { margin-top: clamp(40px, 5vw, 64px) !important; }

.wt-site .wt-acard {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	height: 100%;
	border-radius: 32px;
	background: #fffdf9;
	box-shadow: 0 0 0 1px var(--wt-line), 0 24px 48px -28px rgb(122 74 20 / 0.45);
	transition: transform var(--wt-dur-base) var(--wt-ease-out), box-shadow var(--wt-dur-base) var(--wt-ease-out);
}
.wt-site .wt-acard__art {
	position: relative;
	isolation: isolate;
	display: grid;
	place-items: center;
	padding: clamp(28px, 4vw, 44px) 18% clamp(36px, 4vw, 52px);
	border-radius: 32px 32px 0 0;
	overflow: hidden;
	background:
		radial-gradient(ellipse 50% 60% at 50% 46%, rgb(246 201 120 / 0.35), transparent 70%),
		linear-gradient(180deg, #0f3443 0%, #14404b 100%);
}
.wt-site .wt-acard--tint-2 .wt-acard__art { background: radial-gradient(ellipse 50% 60% at 50% 46%, rgb(214 196 236 / 0.3), transparent 70%), linear-gradient(180deg, #2c2140 0%, #3c2a4d 100%); }
.wt-site .wt-acard__art::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url(../img/ornaments/stars.svg) center top / cover no-repeat; opacity: 0.6; }
.wt-site .wt-acard__glow { position: absolute; left: 50%; bottom: 0; width: 70%; height: 30%; translate: -50% 0; border-radius: 50%; background: radial-gradient(ellipse, rgb(255 226 170 / 0.45), transparent 70%); }
.wt-site .wt-acard__art .wt-plate { position: relative; z-index: 2; width: min(100%, 240px); }
.wt-site .wt-acard__art .wt-fan { inset: auto 6% 10%; height: 54%; }
.wt-site .wt-acard__portrait { position: relative; z-index: 2; width: min(100%, 220px); aspect-ratio: 4 / 5; border-radius: 999px 999px 20px 20px; overflow: hidden; box-shadow: 0 0 0 6px #fffaf0, 0 24px 40px -20px rgb(4 20 28 / 0.7); }
.wt-site .wt-acard__portrait-img { width: 100%; height: 100%; object-fit: cover; }
.wt-site .wt-acard__body { padding: clamp(22px, 3vw, 32px) clamp(22px, 3vw, 36px) clamp(26px, 3vw, 36px); text-align: center; }
.wt-site .wt-acard__kicker { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin: 0 0 8px; font-size: var(--wt-fs-eyebrow); font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wt-gold-700); }
.wt-site .wt-acard__kicker .wt-chip { letter-spacing: 0; text-transform: none; }
.wt-site .wt-acard__name { margin: 0; font-family: var(--wt-font-display); font-weight: 600; font-size: var(--wt-fs-h2); line-height: 1.08; color: var(--wt-teal-900); font-variation-settings: "SOFT" 60, "opsz" 120; }
.wt-site .wt-acard__link { color: inherit; text-decoration: none; }
.wt-site .wt-acard__link::after { content: ""; position: absolute; inset: 0; z-index: 4; border-radius: 32px; }
.wt-site .wt-acard__link:focus-visible { outline: none; }
.wt-site .wt-acard:has(.wt-acard__link:focus-visible) { outline: var(--wt-focus-ring); outline-offset: 4px; }
.wt-site .wt-acard__link:hover { text-decoration: underline; text-decoration-color: rgb(6 79 75 / 0.35); text-underline-offset: 6px; }
.wt-site .wt-acard__line { margin: 12px auto 0; max-width: 40ch; font-family: var(--wt-font-display); font-style: italic; font-size: clamp(1.1rem, 1.02rem + 0.35vw, 1.3rem); line-height: 1.45; color: #3e4a4a; font-variation-settings: "SOFT" 100, "opsz" 72; }
.wt-site .wt-acard__worlds { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 18px 0 0; }
.wt-site .wt-chip--series.is-hidden { opacity: 0.7; outline: 1.5px dashed rgb(180 71 47 / 0.5); outline-offset: 2px; }
.wt-site .wt-acard__books { margin: 14px 0 0; font-size: 0.9375rem; font-weight: 700; color: var(--wt-forest-700); }
.wt-site .wt-acard__cta { margin: 18px 0 0; }
.wt-site .wt-acard__cta .wt-link-arrow { font-weight: 800; color: var(--wt-teal); }
@media (hover: hover) {
	.wt-site .wt-acard:has(.wt-acard__link):hover { transform: translateY(-4px); box-shadow: 0 0 0 1px var(--wt-line), 0 34px 60px -30px rgb(122 74 20 / 0.55); }
	.wt-site .wt-acard:hover .wt-fan__book--1 { rotate: -15deg; }
	.wt-site .wt-acard:hover .wt-fan__book--2 { rotate: 13deg; }
}
.wt-site .wt-fan__book { transition: rotate var(--wt-dur-slow) var(--wt-ease-out); }
.wt-site .wt-acard.is-hidden { outline: 2px dashed rgb(180 71 47 / 0.55); outline-offset: 6px; }
.wt-site .wt-acard.is-hidden .wt-acard__art > * { filter: saturate(0.6); }

/* ---------- Author directory ---------- */
.wt-site .wt-authors__hero { padding: clamp(64px, 8vw, 120px) var(--wt-gutter) calc(var(--_edge) + clamp(72px, 9vw, 140px)); text-align: center; }
.wt-site .wt-authors__intro { position: relative; z-index: 2; max-width: 780px; margin-inline: auto; }
.wt-site .wt-authors__title,
.wt-site .wt-author__title,
.wt-site .wt-ostory__title,
.wt-site .wt-contact__title {
	margin: 0;
	font-family: var(--wt-font-display);
	font-weight: 600;
	font-size: var(--wt-fs-display);
	line-height: 1.02;
	letter-spacing: -0.02em;
	color: var(--wt-ivory);
	font-variation-settings: "SOFT" 70, "WONK" 0, "opsz" 144;
	text-wrap: balance;
	text-shadow: 0 2px 24px rgb(4 20 28 / 0.45);
}
.wt-site .wt-authors__lead,
.wt-site .wt-contact__lead { margin: var(--wt-space-5) auto 0; max-width: 56ch; font-size: var(--wt-fs-lead); line-height: 1.6; color: rgb(255 247 238 / 0.9); text-wrap: pretty; text-shadow: 0 1px 12px rgb(4 20 28 / 0.6); }
.wt-site .wt-authors__body { position: relative; padding: 0 var(--wt-gutter) var(--wt-section-pad); background: linear-gradient(180deg, #fff7ee 0%, #fdf0df 100%); }
.wt-site .wt-authors__body > * { max-width: var(--wt-content-max); margin-inline: auto; }
.wt-site .wt-authors__body > .wt-authors__list { margin-top: calc(-1 * clamp(48px, 6vw, 96px)); position: relative; z-index: 4; }
.wt-site .wt-authors__onward { margin: clamp(40px, 5vw, 64px) auto 0; text-align: center; }

/* ---------- Author profile ---------- */
.wt-site .wt-author__hero { padding: clamp(40px, 5vw, 72px) var(--wt-gutter) calc(var(--_edge) + clamp(40px, 5vw, 72px)); }
.wt-site .wt-author__inner { position: relative; z-index: 5; display: grid; grid-template-columns: 1fr; gap: clamp(28px, 4vw, 64px); max-width: var(--wt-content-max); margin-inline: auto; align-items: center; }
@media (min-width: 900px) { .wt-site .wt-author__inner { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }
.wt-site .wt-author__plate { position: relative; display: grid; place-items: center; width: min(100%, 420px); margin-inline: auto; padding: 0 12% 14%; }
.wt-site .wt-author__glow { position: absolute; inset: 6% 0 0; border-radius: 50%; background: radial-gradient(circle, rgb(255 226 170 / 0.38), transparent 64%); }
.wt-site .wt-author__plate .wt-plate { position: relative; z-index: 2; }
.wt-site .wt-author__plate .wt-fan { inset: auto -4% 0; height: 52%; }
.wt-site .wt-author__portrait { position: relative; z-index: 2; width: 100%; aspect-ratio: 4 / 5; border-radius: 999px 999px 22px 22px; overflow: hidden; box-shadow: 0 0 0 8px #fffaf0, 0 30px 50px -24px rgb(4 20 28 / 0.7); }
.wt-site .wt-author__portrait-img { width: 100%; height: 100%; object-fit: cover; }
.wt-site .wt-author__intro { min-width: 0; }
.wt-site .wt-author__intro .wt-crumbs { margin-bottom: 18px; }
.wt-site .wt-author__kicker { justify-content: flex-start; }
.wt-site .wt-author__kicker .wt-chip { letter-spacing: 0; text-transform: none; }
.wt-site .wt-author__lead { margin: var(--wt-space-5) 0 0; max-width: 46ch; font-family: var(--wt-font-display); font-style: italic; font-size: clamp(1.3rem, 1.1rem + 0.8vw, 1.85rem); line-height: 1.38; color: #ffe1a6; font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 96; text-shadow: 0 1px 14px rgb(4 20 28 / 0.55); }
.wt-site .wt-author__worlds { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 0; }
.wt-site .wt-author__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 30px; }
.wt-site .wt-author__about { padding: clamp(32px, 4vw, 56px) var(--wt-gutter) 0; background: #fffdf9; }
.wt-site .wt-author__about-inner { max-width: var(--wt-reading-max); margin-inline: auto; }
.wt-site .wt-author__about .wt-editor-note { margin: 0; text-align: left; }
.wt-site .wt-author__section { padding: clamp(48px, 6vw, 96px) var(--wt-gutter); background: linear-gradient(180deg, #fffdf9 0%, #fdf0df 100%); scroll-margin-top: calc(var(--wt-header-h, 72px) + 16px); }
.wt-site .wt-author__section:focus { outline: none; }
.wt-site .wt-author__section .wt-section-head { margin-inline: auto; text-align: center; }
.wt-site .wt-author__section .wt-catalogue__grid,
.wt-site .wt-author__section .wt-gallery { margin-top: clamp(32px, 4vw, 56px); }
.wt-site .wt-author__friends { background: linear-gradient(180deg, #fff7ee 0%, #fff1e0 100%); }
.wt-site .wt-author__world .wt-book__world-eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.wt-site .wt-author__world .wt-book__world-eyebrow .wt-chip { letter-spacing: 0; text-transform: none; }
.wt-site .wt-author__series { display: flex; flex-wrap: wrap; gap: 10px 14px; margin: 0 0 24px; padding: 0; list-style: none; }
.wt-site .wt-author__series li { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0; padding: 8px 14px; border-radius: var(--wt-radius-pill); background: rgb(255 247 238 / 0.12); box-shadow: inset 0 0 0 1px rgb(255 247 238 / 0.25); font-family: var(--wt-font-display); font-weight: 600; color: var(--wt-ivory); }
.wt-site .wt-author__series a { color: var(--wt-ivory); text-decoration: underline; text-decoration-color: rgb(255 247 238 / 0.45); text-underline-offset: 4px; }
.wt-site .wt-author__closing { padding: clamp(56px, 7vw, 112px) var(--wt-gutter); background: radial-gradient(ellipse 40% 60% at 50% 100%, rgb(246 201 120 / 0.35), transparent 70%), #fff7ee; text-align: center; }
.wt-site .wt-author__closing-title { margin: 0 0 24px; font-family: var(--wt-font-display); font-weight: 600; font-size: var(--wt-fs-h2); line-height: 1.1; color: var(--wt-teal-900); text-wrap: balance; }

/* ---------- Our Story ---------- */
.wt-site .wt-ostory__hero {
	--_edge: 64px;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(64px, 8vw, 120px) var(--wt-gutter) calc(var(--_edge) + clamp(40px, 5vw, 80px));
	color: var(--wt-ivory);
	text-align: center;
	background:
		radial-gradient(ellipse 50% 40% at 50% 78%, rgb(246 201 120 / 0.3), transparent 70%),
		radial-gradient(ellipse 60% 50% at 50% 0%, rgb(42 90 110 / 0.55), transparent 70%),
		linear-gradient(180deg, var(--wt-night) 0%, #0f3443 60%, #183a43 100%);
}
.wt-site .wt-ostory__art { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.wt-site .wt-ostory__layer--sky { background: url(../img/ornaments/stars.svg) center top / cover no-repeat; opacity: 0.8; }
.wt-site .wt-ostory__sparkles { position: absolute; inset: 0 0 40%; pointer-events: none; }
.wt-site .wt-ostory__sparkles .wt-spark { --s: 7px; background: radial-gradient(circle, #fffbe0 0%, rgb(255 226 140 / 0.9) 28%, rgb(233 162 59 / 0) 70%); }
.wt-site .wt-ostory__intro { position: relative; z-index: 2; max-width: 900px; margin-inline: auto; }
.wt-site .wt-ostory__title > span,
.wt-site .wt-contact__title > span { display: block; }
.wt-site .wt-ostory__accent,
.wt-site .wt-contact__accent { color: var(--wt-gold); font-style: italic; font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144; }
.wt-site .wt-ostory__frame {
	position: relative;
	z-index: 2;
	width: min(100%, 1100px);
	margin: clamp(32px, 4vw, 56px) auto 0;
	padding: clamp(8px, 1vw, 12px);
	border-radius: min(48vw, 560px) min(48vw, 560px) 28px 28px;
	background: linear-gradient(180deg, #f6c978, #c98f3a 60%, #8a5a10);
	box-shadow: 0 40px 80px -40px rgb(0 0 0 / 0.8), 0 0 0 1px rgb(255 226 170 / 0.4);
}
.wt-site .wt-ostory__plate { display: block; overflow: hidden; border-radius: inherit; border-radius: min(48vw, 552px) min(48vw, 552px) 20px 20px; aspect-ratio: 1672 / 941; background: #0b2433; }
.wt-site .wt-ostory__plate-img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
.wt-site .wt-ostory__frame-glow { position: absolute; inset: auto 10% -18px; height: 36px; border-radius: 50%; background: radial-gradient(ellipse, rgb(255 226 170 / 0.55), transparent 70%); filter: blur(4px); }

.wt-site .wt-ostory__belief { padding: clamp(32px, 5vw, 80px) var(--wt-gutter) clamp(56px, 7vw, 112px); background: #fffdf9; }
.wt-site .wt-ostory__belief-inner { max-width: 1100px; margin-inline: auto; }
.wt-site .wt-ostory__spread {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(20px, 3vw, 40px);
	align-items: start;
	padding: clamp(28px, 4vw, 64px);
	border-radius: 28px;
	background:
		linear-gradient(90deg, transparent calc(50% - 1px), rgb(138 90 16 / 0.18) 50%, transparent calc(50% + 1px)),
		linear-gradient(180deg, #fffaf0, #fbf0dc);
	box-shadow: 0 0 0 1px var(--wt-line), 0 30px 60px -36px rgb(122 74 20 / 0.5);
}
@media (max-width: 899px) { .wt-site .wt-ostory__spread { background: linear-gradient(180deg, #fffaf0, #fbf0dc); } }
@media (min-width: 900px) { .wt-site .wt-ostory__spread { grid-template-columns: 1fr 1fr; column-gap: clamp(48px, 7vw, 112px); } }
.wt-site .wt-ostory__book-art { position: absolute; top: -34px; left: 50%; width: 120px; height: 68px; translate: -50% 0; background: url(../img/ornaments/open-book.svg) center / contain no-repeat; }
.wt-site .wt-ostory__lead {
	margin: 0;
	font-family: var(--wt-font-display);
	font-weight: 500;
	font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);
	line-height: 1.3;
	color: var(--wt-teal-900);
	font-variation-settings: "SOFT" 80, "opsz" 96;
	text-wrap: pretty;
}
.wt-site .wt-ostory__lead::first-letter { float: left; margin: 0.05em 0.04em 0 0; font-size: 3.1em; line-height: 0.82; font-weight: 600; font-style: normal; color: var(--wt-gold-700); font-variation-settings: "SOFT" 100, "WONK" 0, "opsz" 144; }
.wt-site .wt-ostory__pages p { margin: 0 0 1em; font-size: var(--wt-fs-lead); line-height: 1.7; color: #2c3838; }
.wt-site .wt-ostory__pages p:last-child { margin-bottom: 0; }

.wt-site .wt-ostory__section { padding: var(--wt-section-pad) var(--wt-gutter); }
.wt-site .wt-ostory__inner { position: relative; max-width: var(--wt-content-max); margin-inline: auto; }
.wt-site .wt-ostory__pillars { background: linear-gradient(180deg, #fdf0df 0%, #fff7ee 100%); }
.wt-site .wt-ostory__beliefs { display: grid; grid-template-columns: 1fr; gap: clamp(16px, 2vw, 28px); margin: clamp(40px, 5vw, 64px) 0 0; padding: 0; list-style: none; }
@media (min-width: 640px) { .wt-site .wt-ostory__beliefs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .wt-site .wt-ostory__beliefs { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.wt-site .wt-ostory__beliefitem { margin: 0; padding: 28px 24px 30px; border-radius: 999px 999px 26px 26px; background: #fffdf9; box-shadow: 0 0 0 1px var(--wt-line), 0 18px 36px -26px rgb(122 74 20 / 0.45); text-align: center; }
.wt-site .wt-ostory__beliefart { display: block; width: 128px; height: 116px; margin: 8px auto 18px; background: center / contain no-repeat; }
.wt-site .wt-ostory__beliefart--pillar-again { background-image: url(../img/ornaments/pillar-again.svg); }
.wt-site .wt-ostory__beliefart--pillar-seed { background-image: url(../img/ornaments/pillar-seed.svg); }
.wt-site .wt-ostory__beliefart--pillar-together { background-image: url(../img/ornaments/pillar-together.svg); }
.wt-site .wt-ostory__beliefart--pillar-library { background-image: url(../img/ornaments/pillar-library.svg); }
.wt-site .wt-ostory__belieftitle { margin: 0; font-family: var(--wt-font-display); font-weight: 600; font-size: var(--wt-fs-h4); line-height: 1.25; color: var(--wt-teal-900); }
.wt-site .wt-ostory__beliefcopy { margin: 10px 0 0; font-size: 1rem; line-height: 1.6; color: #3e4a4a; }
.wt-site .wt-ostory__tellers { background: #fff7ee; }
.wt-site .wt-ostory__more { margin: clamp(28px, 4vw, 48px) 0 0; text-align: center; }

.wt-site .wt-ostory__worlds { position: relative; isolation: isolate; overflow: hidden; padding: var(--wt-section-pad) var(--wt-gutter); color: var(--wt-ivory); background: radial-gradient(ellipse 40% 50% at 50% 100%, rgb(246 201 120 / 0.3), transparent 70%), linear-gradient(180deg, #0b2433 0%, #123b47 70%, #1c4651 100%); }
.wt-site .wt-ostory__worlds-art { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.wt-site .wt-ostory__layer--gates { inset: auto 0 0; height: 70%; background: url(../img/ornaments/world-gates.svg) center bottom / auto 100% no-repeat; opacity: 0.35; }
.wt-site .wt-ostory__doors { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 320px)); justify-content: center; gap: 20px; margin: clamp(36px, 4vw, 56px) 0 0; padding: 0; list-style: none; }
.wt-site .wt-ostory__door { margin: 0; padding: 26px 24px; border-radius: 999px 999px 24px 24px; background: rgb(255 247 238 / 0.08); box-shadow: inset 0 0 0 1px rgb(255 226 170 / 0.35); text-align: center; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.wt-site .wt-ostory__door.is-hidden { box-shadow: inset 0 0 0 1.5px rgb(255 184 166 / 0.6); }
.wt-site .wt-ostory__door-arch { display: grid; place-items: center; width: 72px; height: 92px; margin: 4px auto 14px; border-radius: 999px 999px 10px 10px; background: radial-gradient(ellipse 60% 60% at 50% 70%, #fff2cf, #f6c978); color: var(--wt-gold-700); box-shadow: 0 0 30px 6px rgb(246 201 120 / 0.35); }
.wt-site .wt-ostory__door-arch .wt-lotus { width: 40px; height: 26px; }
.wt-site .wt-ostory__door-name { margin: 0; font-family: var(--wt-font-display); font-weight: 600; font-size: var(--wt-fs-h3); color: var(--wt-ivory); }
.wt-site .wt-ostory__door-name a { color: var(--wt-ivory); text-decoration: underline; text-decoration-color: rgb(255 247 238 / 0.4); text-underline-offset: 5px; }
.wt-site .wt-ostory__door-copy { margin: 10px 0 0; font-size: 0.9375rem; line-height: 1.55; color: rgb(255 247 238 / 0.85); }
.wt-site .wt-ostory__door .wt-chip { margin-top: 10px; }

.wt-site .wt-ostory__finale { padding: var(--wt-section-pad) var(--wt-gutter); text-align: center; background: radial-gradient(ellipse 36% 60% at 50% 30%, rgb(255 226 170 / 0.5), transparent 70%), linear-gradient(180deg, #fff7ee 0%, #fdeedb 100%); }
.wt-site .wt-ostory__finale-door { display: block; width: 104px; height: 140px; margin: 0 auto 28px; background: url(../img/ornaments/story-door.svg) center / contain no-repeat; filter: drop-shadow(0 18px 24px rgb(122 74 20 / 0.35)); }
.wt-site .wt-ostory__finale-title { margin: 0 auto; max-width: 20ch; font-family: var(--wt-font-display); font-weight: 600; font-size: var(--wt-fs-h1); line-height: 1.08; color: var(--wt-teal-900); text-wrap: balance; }
.wt-site .wt-ostory__finale-copy { margin: 18px auto 0; max-width: 48ch; font-size: var(--wt-fs-lead); line-height: 1.6; color: #2c3838; }
.wt-site .wt-ostory__finale-cta { margin: 30px 0 0; }
.wt-site .wt-ostory__signature { margin: 36px 0 0; font-family: var(--wt-font-display); font-style: italic; font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.6rem); color: var(--wt-gold-700); font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 96; }
.wt-site .wt-ostory__signature::before,
.wt-site .wt-ostory__signature::after { content: "✦"; margin-inline: 0.6em; font-style: normal; font-size: 0.7em; color: var(--wt-gold); }
.wt-site .wt-ostory .wt-editor-note { margin: 18px auto 0; }

/* ---------- Contact ---------- */
.wt-site .wt-contact__hero {
	--_edge: 56px;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: clamp(560px, 50vw, 720px);
	padding: clamp(64px, 8vw, 112px) var(--wt-gutter) calc(var(--_edge) + clamp(220px, 24vw, 340px));
	color: var(--wt-ivory);
	text-align: center;
	background:
		radial-gradient(ellipse 40% 40% at 50% 78%, rgb(246 201 120 / 0.28), transparent 70%),
		radial-gradient(ellipse 60% 50% at 50% 0%, rgb(42 90 110 / 0.55), transparent 70%),
		linear-gradient(180deg, var(--wt-night) 0%, #0f3443 60%, #183a43 100%);
}
.wt-site .wt-contact__art { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.wt-site .wt-contact__layer--sky { background: url(../img/ornaments/stars.svg) center top / cover no-repeat; opacity: 0.75; }
.wt-site .wt-contact__layer--letter { inset: auto 0 calc(var(--_edge) - 10px); height: clamp(260px, 28vw, 400px); background: url(../img/ornaments/letter.svg) center bottom / auto 100% no-repeat; }
.wt-site .wt-contact__sparkles { position: absolute; inset: 0 0 35%; pointer-events: none; }
.wt-site .wt-contact__sparkles .wt-spark { --s: 6px; background: radial-gradient(circle, #fffbe0 0%, rgb(255 226 140 / 0.9) 28%, rgb(233 162 59 / 0) 70%); }
.wt-site .wt-contact__intro { position: relative; z-index: 2; max-width: 860px; margin-inline: auto; }
.wt-site .wt-contact__section { padding: clamp(40px, 5vw, 80px) var(--wt-gutter); }
.wt-site .wt-contact__inner { max-width: var(--wt-content-max); margin-inline: auto; }
.wt-site .wt-contact__inner--narrow { max-width: 760px; }
.wt-site .wt-contact__topics { background: linear-gradient(180deg, #fff7ee 0%, #fdf0df 100%); }
.wt-site .wt-topics { display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(14px, 2vw, 24px); margin: clamp(28px, 4vw, 48px) 0 0; padding: 0; list-style: none; }
.wt-site .wt-topic {
	position: relative;
	flex: 1 1 210px;
	max-width: 280px;
	margin: 0;
	padding: 26px 22px 24px;
	border-radius: 24px;
	background: #fffdf9;
	box-shadow: 0 0 0 1px var(--wt-line), 0 16px 32px -24px rgb(122 74 20 / 0.45);
	text-align: center;
	transition: transform var(--wt-dur-base) var(--wt-ease-out), box-shadow var(--wt-dur-base) var(--wt-ease-out);
}
.wt-site .wt-topic__badge { display: grid; place-items: center; width: 56px; height: 56px; margin: 0 auto 14px; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #fff4d8, #f6c978); color: var(--wt-teal-900); box-shadow: 0 0 0 6px #fff7ee, 0 0 0 7px var(--wt-line); }
.wt-site .wt-topic--families .wt-topic__badge { background: radial-gradient(circle at 40% 35%, #ffe7df, #f3a48e); }
.wt-site .wt-topic--educators .wt-topic__badge { background: radial-gradient(circle at 40% 35%, #e6f3ea, #a9d3b8); }
.wt-site .wt-topic--publishing .wt-topic__badge { background: radial-gradient(circle at 40% 35%, #f1e8f6, #cdb5e0); }
.wt-site .wt-topic__icon { width: 26px; height: 26px; }
.wt-site .wt-topic__title { margin: 0; font-family: var(--wt-font-display); font-weight: 600; font-size: 1.25rem; line-height: 1.2; color: var(--wt-teal-900); }
.wt-site .wt-topic__link { color: inherit; text-decoration: none; }
.wt-site .wt-topic__link::after { content: ""; position: absolute; inset: 0; border-radius: 24px; }
.wt-site .wt-topic__link:focus-visible { outline: none; }
.wt-site .wt-topic:has(.wt-topic__link:focus-visible) { outline: var(--wt-focus-ring); outline-offset: 4px; }
.wt-site .wt-topic__copy { margin: 8px 0 0; font-size: 0.9375rem; line-height: 1.55; color: #3e4a4a; }
@media (hover: hover) { .wt-site .wt-topic:has(.wt-topic__link):hover { transform: translateY(-3px); box-shadow: 0 0 0 1px var(--wt-line), 0 24px 40px -26px rgb(122 74 20 / 0.55); } }

.wt-site .wt-contact__letter { background: linear-gradient(180deg, #fdf0df 0%, #fff7ee 100%); padding-bottom: var(--wt-section-pad); scroll-margin-top: calc(var(--wt-header-h, 72px) + 16px); }
.wt-site .wt-contact__letter:focus { outline: none; }
.wt-site .wt-letter {
	position: relative;
	padding: clamp(40px, 5vw, 64px) clamp(22px, 5vw, 64px) clamp(32px, 4vw, 48px);
	border-radius: 18px;
	background:
		repeating-linear-gradient(180deg, transparent 0 35px, rgb(138 90 16 / 0.06) 35px 36px),
		linear-gradient(180deg, #fffdf7, #fbf1de);
	box-shadow: 0 0 0 1px #ecd9b6, 0 40px 60px -40px rgb(122 74 20 / 0.55), 0 2px 0 #fff inset;
}
.wt-site .wt-letter__seal { position: absolute; top: -30px; left: 50%; display: grid; place-items: center; width: 60px; height: 60px; translate: -50% 0; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #e7826a, #b4472f 60%, #7d2a18); color: #ffd9c6; box-shadow: 0 8px 16px -6px rgb(125 42 24 / 0.6); }
.wt-site .wt-letter__seal .wt-lotus { width: 32px; height: 20px; }
.wt-site .wt-letter__title { margin: 0 0 6px; text-align: center; font-family: var(--wt-font-display); font-weight: 600; font-size: var(--wt-fs-h2); color: var(--wt-teal-900); }
.wt-site .wt-letter__closed { margin: 16px 0 0; text-align: center; font-size: var(--wt-fs-lead); color: #3b4646; }
.wt-site .wt-letter__status { margin: 10px 0 0; text-align: center; font-weight: 700; }
.wt-site .wt-letter__status:empty { display: none; }
.wt-site .wt-letter__status--ok { padding: 12px 16px; border-radius: 12px; background: #e3f3e8; color: #1f4a2c; }
.wt-site .wt-letter__status--err { padding: 12px 16px; border-radius: 12px; background: #fde8e2; color: #7a2f1e; }
.wt-site .wt-form { margin-top: 18px; }
.wt-site .wt-form__fields { margin: 0; padding: 0; border: 0; min-width: 0; }
.wt-site .wt-form__fields:disabled { opacity: 0.72; }
.wt-site .wt-form__row { margin: 0 0 18px; }
.wt-site .wt-form__grid { display: grid; grid-template-columns: 1fr; gap: 0 20px; }
@media (min-width: 640px) { .wt-site .wt-form__grid { grid-template-columns: 1fr 1fr; } }
.wt-site .wt-form__label { display: block; margin: 0 0 6px; font-weight: 800; color: var(--wt-teal-900); }
.wt-site .wt-form__control {
	display: block;
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	border: 1.5px solid #c9b48f;
	border-radius: 12px;
	background: #fffefb;
	color: var(--wt-ink);
	font: inherit;
	font-size: 1rem;
	line-height: 1.5;
}
.wt-site .wt-form__control--area { min-height: 160px; resize: vertical; }
.wt-site .wt-form__control:focus-visible { outline: var(--wt-focus-ring); outline-offset: 2px; border-color: var(--wt-teal); }
.wt-site .wt-form__control:user-invalid { border-color: var(--wt-coral-700); }
.wt-site .wt-form__help { margin: 6px 0 0; font-size: 0.875rem; color: #4a5656; }
.wt-site .wt-form__row--check { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start; }
.wt-site .wt-form__row--check label { line-height: 1.55; color: #2c3838; }
.wt-site .wt-form__check { width: 24px; height: 24px; margin: 1px 0 0; accent-color: var(--wt-teal); }
.wt-site .wt-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.wt-site .wt-form__young { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 22px; padding: 12px 16px; border-radius: 14px; background: #fff3d6; color: #4b3410; font-size: 0.9375rem; line-height: 1.5; }
.wt-site .wt-form__young-icon { width: 26px; height: 17px; flex: none; margin-top: 2px; color: var(--wt-gold-700); }
.wt-site .wt-form__actions { margin: 0; text-align: center; }
.wt-site .wt-contact .wt-editor-note { margin: 0 0 14px; text-align: center; }

/* ---------- Legal pages ---------- */
.wt-site .wt-legal { background: #fffdf9; }
.wt-site .wt-legal__hero { padding: clamp(48px, 6vw, 88px) var(--wt-gutter) clamp(32px, 4vw, 56px); text-align: center; background: radial-gradient(ellipse 50% 70% at 50% 0%, rgb(255 226 170 / 0.45), transparent 70%), linear-gradient(180deg, #fff3e2, #fffdf9); border-bottom: 1px solid var(--wt-line); }
.wt-site .wt-legal__hero-inner { max-width: 820px; margin-inline: auto; }
.wt-site .wt-legal__eyebrow { margin: 0 0 12px; font-size: var(--wt-fs-eyebrow); font-weight: 800; letter-spacing: var(--wt-tracking-eyebrow); text-transform: uppercase; color: var(--wt-gold-700); }
.wt-site .wt-legal__title { margin: 0; font-family: var(--wt-font-display); font-weight: 600; font-size: var(--wt-fs-h1); line-height: 1.06; color: var(--wt-teal-900); }
.wt-site .wt-legal__meta { margin: 14px 0 0; font-weight: 700; color: #4a5656; }
.wt-site .wt-legal__body { display: grid; grid-template-columns: 1fr; gap: clamp(24px, 4vw, 56px); max-width: 1080px; margin-inline: auto; padding: clamp(32px, 4vw, 64px) var(--wt-gutter) var(--wt-section-pad); }
@media (min-width: 960px) { .wt-site .wt-legal__body { grid-template-columns: 260px minmax(0, 1fr); } .wt-site .wt-legal__toc { position: sticky; top: calc(var(--wt-header-h, 72px) + 24px); align-self: start; } }
.wt-site .wt-legal__toc { padding: 18px 20px; border-radius: 18px; background: #fff7ee; box-shadow: inset 0 0 0 1px var(--wt-line); }
.wt-site .wt-legal__toc-title { margin: 0 0 10px; font-size: var(--wt-fs-eyebrow); font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wt-gold-700); font-family: var(--wt-font-body); }
.wt-site .wt-legal__toc ol { margin: 0; padding-left: 1.2em; }
.wt-site .wt-legal__toc li { margin: 0 0 6px; line-height: 1.4; }
.wt-site .wt-legal__toc a { color: var(--wt-teal); text-decoration: underline; text-decoration-color: rgb(6 79 75 / 0.3); text-underline-offset: 3px; }
.wt-site .wt-legal__prose { max-width: var(--wt-reading-max); font-size: var(--wt-fs-body); line-height: 1.75; color: var(--wt-ink); }
.wt-site .wt-legal__prose h2 { margin: 2em 0 0.5em; font-family: var(--wt-font-display); font-weight: 600; font-size: var(--wt-fs-h3); line-height: 1.2; color: var(--wt-teal-900); scroll-margin-top: calc(var(--wt-header-h, 72px) + 20px); }
.wt-site .wt-legal__prose h2:first-child { margin-top: 0; }
.wt-site .wt-legal__prose h3 { margin: 1.5em 0 0.4em; font-size: 1.125rem; font-weight: 800; color: var(--wt-teal-900); }
.wt-site .wt-legal__prose p { margin: 0 0 1em; }
.wt-site .wt-legal__prose mark.wt-review { display: block; margin: 0.6em 0; padding: 10px 14px; border-left: 4px solid var(--wt-coral-700); border-radius: 0 10px 10px 0; background: #fff1d6; color: #5b2a14; font-size: 0.9375rem; line-height: 1.55; }
.wt-site .wt-legal__prose mark.wt-review::before { content: "Review · "; font-weight: 800; }

/* ---------- Responsive ---------- */
@media (max-width: 767px) {
	.wt-site .wt-authors__hero { padding-bottom: calc(var(--_edge) + 64px); }
	.wt-site .wt-authors__body > .wt-authors__list { margin-top: -40px; }
	.wt-site .wt-author__plate { width: min(100%, 300px); }
	.wt-site .wt-contact__hero { min-height: 0; padding-bottom: calc(var(--_edge) + 200px); }
	.wt-site .wt-contact__layer--letter { height: 220px; }
	.wt-site .wt-ostory__frame { border-radius: 46vw 46vw 18px 18px; }
	.wt-site .wt-ostory__plate { border-radius: 44vw 44vw 12px 12px; aspect-ratio: 720 / 940; }
	.wt-site .wt-ostory__plate-img { object-position: 50% 50%; }
}
@media (max-width: 479px) {
	.wt-site .wt-acard__art { padding-inline: 14%; }
	.wt-site .wt-contact__hero { padding-bottom: calc(var(--_edge) + 170px); }
	.wt-site .wt-contact__layer--letter { height: 190px; }
	.wt-site .wt-topic { max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
	.wt-site .wt-acard,
.wt-site .wt-topic,
.wt-site .wt-fan__book { transition: none !important; }
	.wt-site .wt-acard:hover,
.wt-site .wt-topic:hover { transform: none !important; }
}
