/* LYIS theme styles.
   Principles: gold appears only where someone joins. One orchestrated opening on the homepage;
   elsewhere motion only answers what the visitor does (scrolling, choosing, opening). */

:root {
	--lyis-plum: #652153;
	--lyis-plum-deep: #3E1234;
	--lyis-plum-night: #2B0F25;
	--lyis-gold: #F2B23A;
	--lyis-gold-hover: #FFC452;
	--lyis-mist: #F6F1F4;
	--lyis-line: #E4D9E1;
	--lyis-ink: #22161F;
	--lyis-ink-soft: #4E4450;
	--lyis-ease: cubic-bezier(.7, 0, .2, 1);
	--lyis-ease-out: cubic-bezier(.16, 1, .3, 1);
	--lyis-header-h: 84px;
}

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--lyis-header-h) + 1rem); }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--lyis-plum); color: #fff; }
img { height: auto; }

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--lyis-gold);
	outline-offset: 3px;
}

/* ---------- Headings with a short plum rule ---------- */
.lyis-rule::after {
	content: "";
	display: block;
	width: 56px;
	height: 5px;
	margin-top: 0.9rem;
	background: currentColor;
	opacity: 0.9;
}
.has-white-color.lyis-rule::after { background: #fff; }

/* ---------- Utility bar ---------- */
.lyis-utility { font-size: 0.8125rem; }
.lyis-utility p { margin: 0; }
.lyis-utility a { color: #fff; text-decoration: none; font-weight: 500; }
.lyis-utility a:hover { color: var(--lyis-gold); }
.lyis-utility__tagline { color: #E9DCE5; }
.lyis-utility__links { gap: 1.5rem !important; }

/* ---------- Header ---------- */
.lyis-site-header { position: sticky; top: 0; z-index: 50; }
.lyis-site-header .lyis-utility { transition: margin-top .35s var(--lyis-ease-out); }
.lyis-header { border-bottom: 1px solid var(--lyis-line); transition: box-shadow .3s ease; }
.lyis-header__bar { min-height: var(--lyis-header-h); gap: 1.5rem; transition: min-height .35s var(--lyis-ease-out); }
.lyis-header__nav { gap: 1.75rem !important; }
.lyis-header .wp-block-navigation-item__content { color: var(--lyis-ink); text-decoration: none; padding: 0.5rem 0; background-image: linear-gradient(var(--lyis-plum), var(--lyis-plum)); background-size: 0 3px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .3s var(--lyis-ease-out); }
.lyis-header .wp-block-navigation-item__content:hover,
.lyis-header .current-menu-item > .wp-block-navigation-item__content { background-size: 100% 3px; color: var(--lyis-ink); }
.lyis-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: #fff; font-size: 1.5rem; font-weight: 700; }
.lyis-header__join .wp-block-button__link { padding: 0.8rem 1.35rem; }
body.lyis-scrolled .lyis-site-header .lyis-utility { margin-top: calc(-1 * var(--lyis-utility-h, 40px)); }
body.lyis-scrolled .lyis-header { box-shadow: 0 1px 0 var(--lyis-line), 0 10px 30px -18px rgba(43, 15, 37, .35); }
body.lyis-scrolled .lyis-header__bar { min-height: 68px; }

/* Brand mark: the plum square with its white inner frame, from the LYIS badge */
.lyis-brand { display: inline-flex; align-items: center; gap: 0.85rem; text-decoration: none; color: var(--lyis-ink); }
.lyis-brand__badge { position: relative; display: grid; place-items: center; width: 54px; height: 54px; background: var(--lyis-plum); flex: none; }
.lyis-brand__badge::before { content: ""; position: absolute; inset: 4px; border: 2px solid #fff; }
.lyis-brand__badge span { color: #fff; font-weight: 800; font-size: 0.95rem; letter-spacing: 0.06em; }
.lyis-brand__name { font-weight: 700; font-size: 0.9375rem; line-height: 1.2; }
.lyis-brand--light { color: #fff; }
.lyis-brand--light .lyis-brand__badge { background: var(--lyis-plum); }

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: background-color .2s ease, color .2s ease, transform .2s var(--lyis-ease-out); }
.wp-block-button.is-style-join .wp-block-button__link,
.lyis-tier__choose,
.lyis-form__submit,
.lyis-joinbar__link {
	position: relative;
	overflow: hidden;
	background: var(--lyis-gold);
	color: var(--lyis-plum-night);
	font-weight: 800;
	border: 0;
	isolation: isolate;
}
.wp-block-button.is-style-join .wp-block-button__link:hover,
.lyis-tier__choose:hover,
.lyis-form__submit:hover,
.lyis-joinbar__link:hover { background: var(--lyis-gold-hover); color: var(--lyis-plum-night); transform: translateY(-2px); }
/* A light sweep crosses gold buttons on hover, and once on the hero button after the opening. */
.wp-block-button.is-style-join .wp-block-button__link::after,
.lyis-tier__choose::after,
.lyis-form__submit::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .55) 50%, transparent 65%);
	transform: translateX(-110%);
}
.wp-block-button.is-style-join .wp-block-button__link:hover::after,
.lyis-tier__choose:hover::after,
.lyis-form__submit:hover::after,
.lyis-hero.is-landed .lyis-hero__join .wp-block-button__link::after { transition: transform .8s var(--lyis-ease); transform: translateX(110%); }
.wp-block-button.is-style-ghost .wp-block-button__link { background: transparent; color: #fff; box-shadow: inset 0 0 0 2px #fff; }
.wp-block-button.is-style-ghost .wp-block-button__link:hover { background: #fff; color: var(--lyis-plum); }

/* ---------- Hero: the opening ---------- */
.lyis-hero { background: var(--lyis-plum); overflow: hidden; padding-bottom: clamp(5rem, 10vw, 8rem) !important; }
.lyis-hero .wp-block-cover__video-background,
.lyis-hero .wp-block-cover__background { clip-path: inset(0); }
.lyis-hero .wp-block-cover__background { background: var(--lyis-plum-night); opacity: .5 !important; }
.lyis-hero .wp-block-cover__inner-container { position: relative; z-index: 2; }
.lyis-hero__panel { max-width: 680px; }
.lyis-hero__title { font-size: clamp(2.75rem, 6.4vw, 5.5rem) !important; line-height: 0.98 !important; letter-spacing: -0.035em !important; margin-bottom: 1.25rem; text-wrap: balance; }
.lyis-hero__lead { color: #F3EAF0; max-width: 34em; margin-bottom: 2rem; }
.lyis-hero__actions { gap: 1rem 1.5rem !important; }
.lyis-hero__join .wp-block-button__link { font-size: 1.0625rem; padding: 1.1rem 2.1rem; }

/* The square that opens: drawn as a frame matching the brand badge */
.lyis-hero__frame { position: absolute; z-index: 1; pointer-events: none; left: 50%; top: 50%; width: var(--sq, 300px); height: var(--sq, 300px); transform: translate(-50%, -50%); border: 3px solid #fff; opacity: 0; }

.lyis-js .lyis-hero:not(.is-open) .wp-block-cover__video-background,
.lyis-js .lyis-hero:not(.is-open) .wp-block-cover__background { clip-path: inset(var(--iy, 30%) var(--ix, 40%)); }
.lyis-js .lyis-hero:not(.is-open) .lyis-hero__frame { opacity: 1; }
.lyis-js .lyis-hero.is-open .wp-block-cover__video-background,
.lyis-js .lyis-hero.is-open .wp-block-cover__background { clip-path: inset(0); transition: clip-path 1.25s var(--lyis-ease); }
.lyis-js .lyis-hero.is-open .lyis-hero__frame { opacity: 0; width: 140vmax; height: 140vmax; transition: width 1.25s var(--lyis-ease), height 1.25s var(--lyis-ease), opacity .9s ease .35s; }

.lyis-word-mask { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: 0.08em; margin-bottom: -0.08em; }
.lyis-word { display: inline-block; }
.lyis-js .lyis-hero:not(.is-open) .lyis-hero__title:not(.is-split) { visibility: hidden; }
.lyis-js .lyis-hero:not(.is-open) .lyis-word { transform: translateY(105%); }
.lyis-js .lyis-hero:not(.is-open) .lyis-hero__lead,
.lyis-js .lyis-hero:not(.is-open) .lyis-hero__actions { opacity: 0; transform: translateY(16px); }
.lyis-js .lyis-hero.is-open .lyis-word { transform: none; transition: transform .9s var(--lyis-ease-out); transition-delay: calc(.75s + var(--i) * 70ms); }
.lyis-js .lyis-hero.is-open .lyis-hero__lead { opacity: 1; transform: none; transition: opacity .8s ease 1.35s, transform .8s var(--lyis-ease-out) 1.35s; }
.lyis-js .lyis-hero.is-open .lyis-hero__actions { opacity: 1; transform: none; transition: opacity .8s ease 1.6s, transform .8s var(--lyis-ease-out) 1.6s; }

.lyis-film-open { display: inline-flex; align-items: center; gap: 0.7rem; background: none; border: 0; color: #fff; font: inherit; font-weight: 700; font-size: 1rem; cursor: pointer; padding: 0.5rem 0; }
.lyis-film-open__icon { display: grid; place-items: center; width: 46px; height: 46px; border: 2px solid #fff; transition: background .2s ease, color .2s ease; }
.lyis-film-open:hover .lyis-film-open__icon { background: #fff; color: var(--lyis-plum); }

.lyis-dialog { width: min(1100px, 94vw); padding: 0; border: 0; background: #000; }
.lyis-dialog::backdrop { background: rgba(43, 15, 37, .85); }
.lyis-dialog video { display: block; width: 100%; height: auto; }
.lyis-dialog form { position: absolute; top: 0; right: 0; z-index: 2; margin: 0; }
.lyis-dialog__close { width: 48px; height: 48px; border: 0; background: var(--lyis-plum); color: #fff; font-size: 1.75rem; line-height: 1; cursor: pointer; }
.lyis-dialog[open] { animation: lyis-pop .35s var(--lyis-ease-out); }
@keyframes lyis-pop { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }

/* ---------- Two doors ---------- */
.lyis-doors { position: relative; z-index: 3; margin-top: clamp(-4.5rem, -6vw, -3rem) !important; }
.lyis-doors__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.lyis-door { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 0.25rem 1rem; padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.5rem, 3vw, 2.5rem); text-decoration: none; }
.lyis-door__kicker { grid-column: 1; font-size: 0.9375rem; font-weight: 500; }
.lyis-door__title { grid-column: 1; font-size: clamp(1.375rem, 2.2vw, 1.75rem); font-weight: 800; line-height: 1.15; }
.lyis-door__arrow { grid-column: 2; grid-row: 1 / span 2; transition: transform .35s var(--lyis-ease-out); }
.lyis-door:hover .lyis-door__arrow { transform: translateX(6px); }
.lyis-door--join { background: var(--lyis-gold); color: var(--lyis-plum-night); }
.lyis-door--join:hover { background: var(--lyis-gold-hover); color: var(--lyis-plum-night); }
.lyis-door--member { background: var(--lyis-plum-deep); color: #fff; }
.lyis-door--member .lyis-door__kicker { color: #E9DCE5; }
.lyis-door--member:hover { background: var(--lyis-plum-night); color: #fff; }

/* ---------- Why join ---------- */
.lyis-why__intro h2 { font-size: clamp(2.25rem, 4.6vw, 3.75rem); margin: 0; text-wrap: balance; }
.lyis-why__cards .wp-block-image { margin-bottom: 1.25rem; aspect-ratio: 3 / 2; overflow: hidden; }
.lyis-why__cards .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.lyis-why__cards h3 { margin-bottom: 0.4rem; }

.lyis-figures { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 1.5rem; margin: clamp(3rem, 6vw, 5rem) 0 0; padding: clamp(1.5rem, 3vw, 2.5rem) 0 0; border-top: 1px solid var(--lyis-line); }
.lyis-figures__item { display: flex; flex-direction: column-reverse; gap: 0.25rem; }
.lyis-figures dt { font-size: 0.9375rem; font-weight: 600; color: var(--lyis-ink-soft); }
.lyis-figures dd { margin: 0; font-size: clamp(2.75rem, 5vw, 4rem); font-weight: 800; line-height: 1; color: var(--lyis-plum); letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }

/* Photographs reveal with a wipe as they scroll into view */
.lyis-js .lyis-reveal img { clip-path: inset(0 0 100% 0); transform: scale(1.08); }
.lyis-js .lyis-reveal.is-visible img { clip-path: inset(0); transform: none; transition: clip-path 1.1s var(--lyis-ease), transform 1.6s var(--lyis-ease-out); }

/* ---------- Conference ---------- */
.lyis-conf__cols { margin: 0 !important; align-items: stretch !important; }
.lyis-conf__media .wp-block-image { margin: 0; height: 100%; min-height: 360px; }
.lyis-conf__media .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.lyis-conf__body { padding: clamp(2.5rem, 6vw, 5.5rem) clamp(1.5rem, 5vw, 5rem) !important; }
.lyis-conf__body h2 { margin-top: 0.25rem; }
.lyis-conf__when, .lyis-conf__text { color: #F3EAF0; }
.lyis-countdown { display: flex; align-items: baseline; gap: 0.75rem; margin: 0; }
.lyis-countdown__num { font-size: clamp(4rem, 9vw, 7rem); font-weight: 800; line-height: 0.9; letter-spacing: -0.05em; font-variant-numeric: tabular-nums; }
.lyis-countdown__label { font-weight: 600; color: #F3EAF0; max-width: 8em; line-height: 1.25; }

/* ---------- Courses ---------- */
.lyis-course { border: 1px solid var(--lyis-line); display: flex; flex-direction: column; }
.lyis-course .wp-block-image { margin: 0; aspect-ratio: 16 / 9; overflow: hidden; }
.lyis-course .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.lyis-course__body { padding: clamp(1.5rem, 3vw, 2.25rem); display: flex; flex-direction: column; gap: 0.75rem; flex: 1; }
.lyis-course__body > * { margin: 0 !important; }
.lyis-course__body .wp-block-buttons { margin-top: auto !important; padding-top: 0.75rem; }
.lyis-course__type { color: var(--lyis-plum); font-weight: 700; }
.lyis-course__price { font-size: 0.9375rem; }

/* ---------- Gallery drift ---------- */
.lyis-gallery__head { margin-bottom: clamp(2rem, 4vw, 3rem); }
.lyis-gallery__head h2 { margin: 0; }
.lyis-drift { display: grid; gap: 14px; overflow: hidden; }
.lyis-drift__track { display: flex; gap: 14px; width: max-content; transform: translate3d(var(--shift, 0px), 0, 0); will-change: transform; }
.lyis-drift__row[data-dir="right"] .lyis-drift__track { margin-left: -480px; }
.lyis-drift__item { margin: 0; width: clamp(240px, 26vw, 380px); aspect-ratio: 3 / 2; overflow: hidden; background: var(--lyis-line); }
.lyis-drift__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--lyis-ease-out); }
.lyis-drift__item:hover img { transform: scale(1.05); }

/* ---------- Voices ---------- */
.lyis-voices-wrap__h { font-size: var(--wp--preset--font-size--x-large) !important; color: #E9DCE5 !important; font-weight: 700 !important; }
.lyis-voices blockquote { margin: 0; }
.lyis-voices blockquote p { font-size: clamp(1.75rem, 3.4vw, 2.75rem); font-weight: 700; line-height: 1.22; letter-spacing: -0.02em; margin: 0 0 1.5rem; text-wrap: balance; }
.lyis-voices blockquote p::before { content: "\201C"; display: block; font-size: 5rem; line-height: 0.6; height: 2.25rem; color: #fff; opacity: .35; }
.lyis-voices figcaption { display: flex; flex-direction: column; gap: 0.2rem; }
.lyis-voices figcaption span { color: #E9DCE5; font-size: 0.9375rem; }
.lyis-voices__panel { margin: 0; min-height: 15rem; }
.lyis-voices__panel:not([hidden]) { animation: lyis-fade .5s var(--lyis-ease-out); }
@keyframes lyis-fade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.lyis-voices__tabs { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2.5rem; }
.lyis-voices__tabs button { display: flex; align-items: center; gap: 0.75rem; padding: 0.4rem 1rem 0.4rem 0.4rem; background: transparent; border: 1px solid rgba(255, 255, 255, .25); color: #fff; font: inherit; font-size: 0.9375rem; font-weight: 600; cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.lyis-voices__tabs img { width: 44px; height: 44px; object-fit: cover; filter: grayscale(1); transition: filter .3s ease; }
.lyis-voices__tabs button[aria-selected="true"] { background: #fff; color: var(--lyis-plum-deep); border-color: #fff; }
.lyis-voices__tabs button[aria-selected="true"] img,
.lyis-voices__tabs button:hover img { filter: none; }

/* ---------- What's on ---------- */
.lyis-events { list-style: none; margin: 1.5rem 0; padding: 0; border-top: 1px solid var(--lyis-line); }
.lyis-event { display: grid; grid-template-columns: 84px 1fr; gap: 1.25rem; padding: 1.25rem 0; border-bottom: 1px solid var(--lyis-line); align-items: start; }
.lyis-event__date { display: grid; place-content: center; text-align: center; width: 84px; height: 84px; background: var(--lyis-plum); color: #fff; font-weight: 700; font-size: 0.8125rem; line-height: 1.1; }
.lyis-event__date span { display: block; font-size: 1.375rem; font-weight: 800; }
.lyis-event__date--open { background: transparent; color: var(--lyis-plum); box-shadow: inset 0 0 0 2px var(--lyis-plum); }
.lyis-event__title { font-weight: 800; font-size: 1.1875rem; text-decoration: none; color: var(--lyis-ink); }
.lyis-event__title:hover { color: var(--lyis-plum); text-decoration: underline; }
.lyis-event p { margin: 0.35rem 0 0; color: var(--lyis-ink-soft); font-size: 0.9375rem; }
.lyis-latest { margin-top: 1.5rem; border-top: 1px solid var(--lyis-line); }
.lyis-latest .wp-block-post-template { margin: 0; }
.lyis-latest__item { padding: 1.25rem 0; border-bottom: 1px solid var(--lyis-line); }
.lyis-latest__item > * { margin: 0 0 0.35rem !important; }
.lyis-latest__item .wp-block-post-title a { text-decoration: none; color: var(--lyis-ink); }
.lyis-latest__item .wp-block-post-title a:hover { color: var(--lyis-plum); text-decoration: underline; }
.lyis-latest__cat a { color: var(--lyis-plum); font-weight: 700; text-decoration: none; }

/* ---------- Join ---------- */
.lyis-join h2 { margin: 0; }
.lyis-steps { list-style: none; margin: clamp(2.5rem, 5vw, 4rem) 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 2rem; counter-reset: none; }
.lyis-step { position: relative; padding-top: 1.25rem; border-top: 3px solid var(--lyis-plum); }
.lyis-step__n { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 1rem; background: var(--lyis-plum); color: #fff; font-weight: 800; font-size: 1.125rem; }
.lyis-step h3 { margin: 0 0 0.35rem; font-size: 1.25rem; }
.lyis-step p { margin: 0; color: var(--lyis-ink-soft); }

.lyis-tiers { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1rem; margin-bottom: clamp(2rem, 4vw, 3rem); }
.lyis-tier { position: relative; display: flex; flex-direction: column; padding: 1.75rem 1.5rem; background: #fff; border: 1px solid var(--lyis-line); transition: transform .35s var(--lyis-ease-out), box-shadow .35s ease; }
.lyis-tier:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -26px rgba(43, 15, 37, .45); }
.lyis-tier__name { font-size: 1.1875rem; margin: 0 0 0.75rem; color: var(--lyis-ink); }
.lyis-tier__price { margin: 0 0 1rem; color: var(--lyis-ink-soft); }
.lyis-tier__price strong { font-size: 2.5rem; font-weight: 800; color: var(--lyis-plum); letter-spacing: -0.03em; margin-right: 0.25rem; }
.lyis-tier ul { margin: 0 0 1.5rem; padding-left: 1.1rem; color: var(--lyis-ink-soft); font-size: 0.9375rem; }
.lyis-tier ul li { margin-bottom: 0.3rem; }
.lyis-tier__choose { margin-top: auto; padding: 0.85rem 1rem; font: inherit; font-weight: 800; font-size: 0.9375rem; cursor: pointer; }
.lyis-tier--featured { background: var(--lyis-plum); border-color: var(--lyis-plum); color: #fff; }
.lyis-tier--featured .lyis-tier__name, .lyis-tier--featured .lyis-tier__price strong { color: #fff; }
.lyis-tier--featured .lyis-tier__price, .lyis-tier--featured ul { color: #F3EAF0; }
.lyis-tier__flag { position: absolute; top: -0.85rem; left: 1.5rem; margin: 0; padding: 0.25rem 0.65rem; background: var(--lyis-plum-night); color: #fff; font-size: 0.8125rem; font-weight: 700; }
.lyis-tier.is-chosen { outline: 3px solid var(--lyis-gold); outline-offset: -3px; }
.lyis-join__form { scroll-margin-top: calc(var(--lyis-header-h) + 1.5rem); }
.lyis-join__form.is-highlight { animation: lyis-glow 1.2s ease; }
@keyframes lyis-glow { 0% { box-shadow: 0 0 0 0 rgba(242, 178, 58, .9); } 100% { box-shadow: 0 0 0 18px rgba(242, 178, 58, 0); } }

/* ---------- Forms ---------- */
.lyis-form__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0 1.25rem; }
.lyis-field { margin: 0 0 1.1rem; display: flex; flex-direction: column; gap: 0.35rem; }
.lyis-field--wide { grid-column: 1 / -1; }
.lyis-field label { font-weight: 600; font-size: 0.9375rem; }
.lyis-field input, .lyis-field select, .lyis-field textarea { font: inherit; padding: 0.8rem 0.9rem; border: 1px solid #B9A9B5; background: #fff; color: var(--lyis-ink); border-radius: 0; width: 100%; box-sizing: border-box; transition: border-color .2s ease, box-shadow .2s ease; }
.lyis-field input:focus, .lyis-field select:focus, .lyis-field textarea:focus { border-color: var(--lyis-plum); box-shadow: 0 0 0 3px rgba(101, 33, 83, .18); outline: none; }
.lyis-field--check { flex-direction: row; align-items: flex-start; gap: 0.65rem; }
.lyis-field--check input { width: 20px; height: 20px; margin-top: 0.15rem; flex: none; accent-color: var(--lyis-plum); }
.lyis-field--check label { font-weight: 400; }
.lyis-form__submit { padding: 1rem 2rem; font: inherit; font-weight: 800; font-size: 1rem; cursor: pointer; }
.lyis-form__trap { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lyis-form__success { padding: 1.25rem 1.5rem; background: var(--lyis-plum); color: #fff; font-weight: 600; font-size: 1.125rem; margin: 0; }
.lyis-form__error { padding: 1rem 1.25rem; border-left: 5px solid #B3261E; background: #FDECEA; color: #5C1410; font-weight: 600; }

/* Newsletter (secondary action: white, not gold) */
.lyis-news__text { color: #F3EAF0; }
.lyis-news .lyis-field--inline { display: grid; grid-template-columns: 1fr auto; gap: 0; margin: 0; }
.lyis-news .lyis-field--inline label { grid-column: 1 / -1; color: #fff; margin-bottom: 0.4rem; }
.lyis-news .lyis-field--inline input { border: 0; padding: 1rem; }
.lyis-news .lyis-field--inline button { border: 0; padding: 0 1.75rem; background: var(--lyis-plum-night); color: #fff; font: inherit; font-weight: 800; cursor: pointer; transition: background .2s ease; }
.lyis-news .lyis-field--inline button:hover { background: #000; }
.lyis-news .lyis-form__success { background: var(--lyis-plum-night); }

/* ---------- Footer ---------- */
.lyis-footer a { color: #E9DCE5; text-decoration: none; }
.lyis-footer a:hover { color: #fff; text-decoration: underline; }
.lyis-footer__about { color: #CDBBC8; max-width: 26em; margin: 1.25rem 0 1.5rem; }
.lyis-footer__h { font-size: 1rem !important; color: #fff !important; font-weight: 700 !important; margin-bottom: 0.75rem; }
.lyis-footer__list { list-style: none; padding: 0; margin: 0; font-size: 0.9375rem; }
.lyis-footer__list li { margin-bottom: 0.55rem; }
.lyis-footer__rule { margin: var(--wp--preset--spacing--40) 0 1.25rem !important; opacity: .5; }
.lyis-footer__legal a { margin-left: 1.25rem; }
.lyis-footer__legal a:first-child { margin-left: 0; }

/* ---------- Page heads, single posts, archives ---------- */
.lyis-page__head h1 { margin: 0; }
.lyis-single__meta { gap: 0.75rem !important; color: var(--lyis-ink-soft); }
.lyis-single .wp-block-post-content { font-size: 1.125rem; line-height: 1.75; }
.lyis-cards .wp-block-post-featured-image { margin-bottom: 1rem; overflow: hidden; }
.lyis-cards .wp-block-post-featured-image img { transition: transform .6s var(--lyis-ease-out); }
.lyis-cards li:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.lyis-cards .wp-block-post-title a { text-decoration: none; color: var(--lyis-ink); }
.lyis-cards .wp-block-post-title a:hover { color: var(--lyis-plum); text-decoration: underline; }

/* ---------- Mobile join bar ---------- */
.lyis-joinbar { display: none; }
@media (max-width: 781px) {
	.lyis-utility__tagline { display: none; }
	.lyis-header__join { display: none; }
	.lyis-brand__name { font-size: 0.8125rem; }
	.lyis-brand__badge { width: 46px; height: 46px; }
	.lyis-joinbar { display: block; position: fixed; z-index: 60; left: 0; right: 0; bottom: 0; padding: 0.6rem 1rem calc(0.6rem + env(safe-area-inset-bottom)); background: var(--lyis-plum-night); transform: translateY(110%); transition: transform .45s var(--lyis-ease-out); }
	.lyis-joinbar.is-shown { transform: none; }
	.lyis-joinbar__link { display: block; text-align: center; padding: 0.95rem; text-decoration: none; }
	.lyis-event { grid-template-columns: 72px 1fr; }
	.lyis-event__date { width: 72px; height: 72px; }
	.lyis-drift__row[data-dir="right"] .lyis-drift__track { margin-left: -260px; }
	.lyis-footer__legal a { margin: 0 1rem 0 0; display: inline-block; }
}

/* ---------- Reduced motion: everything arrives in its final state ---------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
	.lyis-js .lyis-hero:not(.is-open) .wp-block-cover__video-background,
	.lyis-js .lyis-hero:not(.is-open) .wp-block-cover__background { clip-path: inset(0); }
	.lyis-hero__frame { display: none; }
	.lyis-js .lyis-hero .lyis-word,
	.lyis-js .lyis-hero .lyis-hero__lead,
	.lyis-js .lyis-hero .lyis-hero__actions { transform: none !important; opacity: 1 !important; }
	.lyis-js .lyis-reveal img { clip-path: none; transform: none; }
	.lyis-drift__track { transform: none !important; }
	.lyis-drift { overflow-x: auto; }
}

/* =====================================================================
   Refresh, 24 October 2026: the golden thread, the living headline,
   photos that bloom, the cursor-aware hero, the featured article.
   ===================================================================== */

/* Hero no longer balloons on very tall screens */
.lyis-hero { min-height: clamp(560px, 86vh, 820px) !important; }
.lyis-hero .wp-block-cover__video-background { transition: transform 1.2s var(--lyis-ease-out); will-change: transform; }

/* ---------- The living headline ---------- */
.lyis-rotator { position: relative; display: inline-block; min-width: var(--rot-w, auto); }
.lyis-rotator::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0.02em; height: 0.09em; background: #fff; transform: scaleX(0); transform-origin: left; }
.lyis-rotator.is-settled::after { transform: scaleX(1); transition: transform .7s var(--lyis-ease) .15s; }
.lyis-rotator__word { display: inline-block; }
.lyis-rotator.is-out .lyis-rotator__word { transform: translateY(-110%); transition: transform .45s var(--lyis-ease); }
.lyis-rotator.is-in .lyis-rotator__word { transform: translateY(110%); }
.lyis-rotator.is-settling .lyis-rotator__word { transform: none; transition: transform .55s var(--lyis-ease-out); }

/* ---------- Photos that bloom from plum to colour ---------- */
.lyis-tone { position: relative; overflow: hidden; }
.lyis-tone img { filter: grayscale(1) contrast(1.12); }
.lyis-tone::after { content: ""; position: absolute; inset: 0; background: var(--lyis-plum); mix-blend-mode: screen; opacity: 1; pointer-events: none; }
.lyis-tone.is-visible img { filter: none; transition: filter 1.1s ease .55s, clip-path 1.1s var(--lyis-ease), transform 1.6s var(--lyis-ease-out); }
.lyis-tone.is-visible::after { opacity: 0; transition: opacity 1.1s ease .55s; }
@media (hover: hover) and (pointer: fine) {
	.lyis-drift__item img { filter: grayscale(1) contrast(1.12); transition: filter .6s ease, transform .6s var(--lyis-ease-out); }
	.lyis-drift__item::after { content: ""; position: absolute; inset: 0; background: var(--lyis-plum); mix-blend-mode: screen; pointer-events: none; transition: opacity .6s ease; }
	.lyis-drift__item { position: relative; }
	.lyis-drift__item:hover img { filter: none; }
	.lyis-drift__item:hover::after { opacity: 0; }
}

/* ---------- The golden thread ---------- */
main.has-thread { position: relative; }
.lyis-thread { position: absolute; top: 0; width: 24px; pointer-events: none; z-index: 4; overflow: visible; }
.lyis-thread__track { fill: none; stroke: var(--lyis-line); stroke-width: 1; }
.lyis-thread__line { fill: none; stroke: var(--lyis-gold); stroke-width: 2.5; }
.lyis-thread__node { fill: #fff; stroke: var(--lyis-plum); stroke-width: 1.5; transition: fill .4s ease, stroke .4s ease, transform .4s var(--lyis-ease-out); transform-box: fill-box; transform-origin: center; }
.lyis-thread__node.is-lit { fill: var(--lyis-gold); stroke: var(--lyis-gold); transform: rotate(45deg); }
.lyis-thread__end { fill: #fff; stroke: var(--lyis-plum); stroke-width: 2; transition: fill .4s ease, stroke .4s ease; }
.lyis-thread__end.is-lit { fill: var(--lyis-gold); stroke: var(--lyis-plum-night); }
.lyis-thread__tip { fill: var(--lyis-gold); }
.lyis-thread-bar { position: absolute; left: 0; bottom: -1px; height: 3px; width: 100%; background: var(--lyis-gold); transform-origin: left; transform: scaleX(0); display: none; }
.lyis-join__form.is-threaded { box-shadow: inset 6px 0 0 var(--lyis-gold); }
@media (max-width: 1099px) {
	.lyis-thread { display: none; }
	.lyis-thread-bar { display: block; }
}

/* ---------- Featured article ---------- */
.lyis-feature { margin-top: 1.5rem; }
.lyis-feature .wp-block-post-template { margin: 0; }
.lyis-feature__image { position: relative; margin: 0 0 1.25rem 0; aspect-ratio: 3 / 2; }
.lyis-feature__image::before { content: ""; position: absolute; left: 14px; top: 14px; right: -14px; bottom: -14px; background: var(--lyis-plum); z-index: -1; }
.lyis-feature__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lyis-feature .wp-block-post-title { margin: 0.35rem 0 0.5rem; }
.lyis-feature .wp-block-post-title a { text-decoration: none; color: var(--lyis-ink); }
.lyis-feature .wp-block-post-title a:hover { color: var(--lyis-plum); text-decoration: underline; }
.lyis-feature__excerpt { color: var(--lyis-ink-soft); font-size: 1rem; }
.lyis-feature__excerpt .wp-block-post-excerpt__more-text { display: none; }
.lyis-feature__meta { gap: 0.75rem !important; color: var(--lyis-ink-soft); }
.lyis-feature .wp-block-post-author-name { font-weight: 700; color: var(--lyis-ink); }
.lyis-feature .wp-block-post-author-name::after { content: ""; display: inline-block; width: 4px; height: 4px; background: var(--lyis-gold); margin: 0 0 0.2em 0.75rem; }

@media (prefers-reduced-motion: reduce) {
	.lyis-tone img, .lyis-drift__item img { filter: none !important; }
	.lyis-tone::after, .lyis-drift__item::after { display: none !important; }
	.lyis-rotator::after { transform: scaleX(1); }
	.lyis-hero .wp-block-cover__video-background { transform: none !important; }
}
