/*
Theme Name: FrogSpell Interactive
Theme URI: https://frogspellinteractive.com/
Author: FrogSpell
Author URI: https://frogspell.com/
Description: The FrogSpell Interactive website: the FrogSpell game studio. Standalone (no parent theme, no page builder, no plugins needed). All text is in inc/content.php. Style "Dave mock-up" (locked).
Version: 5.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: frogspell-interactive
*/

/* ==========================================================================
   LOCKED STYLE: Dave's mock-up (see STYLE_LOCK.txt). One design shared by all
   five FrogSpell sites. Do not change.
   ========================================================================== *//* ==========================================================================
   FROGSPELL - LOCKED STYLE: DAVE'S MOCK-UP (see STYLE_LOCK.txt)
   Near-black navy, full-bleed painterly art, Cinzel headings with gold accents,
   transparent header, glowing project cards, studio band, footer bar with newsletter.
   ========================================================================== */
:root {
	--bg: #070A12;
	--bg-2: #0B1020;
	--panel: #10172A;
	--panel-2: #0D1324;
	--line: rgba(214, 170, 84, .28);
	--line-soft: rgba(255, 255, 255, .09);
	--text: #F3E9D6;
	--muted: #B9B3A6;
	--gold: #E7B657;
	--gold-text: #EFC468;
	--gold-grad: linear-gradient(180deg, #F8DE94 0%, #EDC060 45%, #C98F2E 100%);
	--ink: #16110A;
	--error-text: #FFB4A8;
	--head: "Cinzel", "Trajan Pro", Georgia, serif;
	--body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--r: 6px;
	--gutter: 48px;
	--max: 1360px;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 90px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
body { margin: 0; background: var(--bg); color: var(--text); font: 400 17px/1.65 var(--body); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--gold-text); }
a:hover { color: var(--text); }
p { margin: 0 0 16px; }
h1, h2, h3, .h2, .h3 { font-family: var(--head); font-weight: 700; color: var(--text); line-height: 1.12; margin: 0 0 18px; letter-spacing: .01em; }
h1 { font-size: 72px; }
h2, .h2 { font-size: 40px; }
h3, .h3 { font-size: 22px; line-height: 1.25; margin-bottom: 10px; }
ul { margin: 0; padding: 0; }
:focus-visible { outline: 2px solid var(--gold-text); outline-offset: 3px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: 16px; top: -100px; z-index: 200; background: var(--gold); color: var(--ink); padding: 10px 18px; border-radius: var(--r); font-weight: 700; }
.skip-link:focus { top: 16px; }
main:focus { outline: none; }
.container { width: 100%; max-width: calc(var(--max) + 2 * var(--gutter)); margin: 0 auto; padding: 0 var(--gutter); }
.gold-text { background: var(--gold-grad); -webkit-background-clip: text; background-clip: text; color: var(--gold); -webkit-text-fill-color: transparent; }
.eyebrow { font: 600 13px/1.4 var(--body); letter-spacing: .32em; text-transform: uppercase; color: var(--gold-text); margin: 0 0 12px; }
.eyebrow--hero { font-family: var(--head); font-size: 16px; letter-spacing: .38em; }
.lead { font-size: 20px; color: var(--muted); max-width: 680px; }
.text-link { color: var(--gold-text); font-weight: 600; font-size: 14px; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid var(--gold); padding-bottom: 4px; white-space: nowrap; }
.text-link:hover { color: var(--text); }

/* ---------- buttons: solid gold gradient / outlined gold ---------- */
.buttons { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 28px; }
.buttons--center { justify-content: center; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 15px 30px; border-radius: 4px; font: 700 15px/1.2 var(--body); letter-spacing: .1em; text-transform: uppercase; text-decoration: none; border: 1.5px solid transparent; cursor: pointer; transition: filter .15s ease, background-color .15s ease, color .15s ease; }
.btn--primary { background: var(--gold-grad); color: var(--ink); box-shadow: 0 6px 24px rgba(231, 182, 87, .25); }
.btn--primary:hover { filter: brightness(1.08); color: var(--ink); }
.btn--secondary { background: rgba(7, 10, 18, .35); color: var(--gold-text); border-color: var(--gold); }
.btn--secondary:hover { background: var(--gold); color: var(--ink); }
.btn--small { padding: 9px 18px; font-size: 13px; }
.btn__arrow { font-size: 1.2em; line-height: 1; }
.btn__play { display: inline-flex; margin-left: -6px; }
.buttons--small { margin-top: 16px; gap: 10px; }
.buttons--small .btn { padding: 9px 16px; font-size: 13px; }
.buttons--end { margin-top: auto; padding-top: 12px; }

/* ---------- header: transparent over the art, uppercase menu, gold outline CTA ---------- */
.site-header { position: relative; z-index: 50; padding: 14px 0; background: var(--bg); border-bottom: 1px solid var(--line-soft); }
.site-header--overlay { position: absolute; top: 0; left: 0; right: 0; background: linear-gradient(180deg, rgba(7, 10, 18, .88) 0%, rgba(7, 10, 18, .45) 70%, rgba(7, 10, 18, 0) 100%); border-bottom: 0; }
.site-header__inner { display: flex; align-items: center; gap: 32px; }
.site-logo { display: block; flex: none; text-decoration: none; }
.site-logo img { width: 200px; height: auto; }
.site-nav { display: flex; align-items: center; gap: 32px; flex: 1; justify-content: space-between; }
.site-nav ul { list-style: none; display: flex; align-items: center; gap: 36px; margin: 0 auto; }
.site-nav a:not(.btn) { color: var(--text); text-decoration: none; font: 600 14px var(--body); letter-spacing: .16em; text-transform: uppercase; padding: 8px 0; border-bottom: 1.5px solid transparent; }
.site-nav a:not(.btn):hover, .site-nav a[aria-current="page"] { color: var(--gold-text); border-bottom-color: var(--gold); }
.site-nav__cta { flex: none; }
.nav-toggle, .nav-toggle__btn { display: none; }
.wordmark { display: grid; gap: 4px; line-height: 1.05; }
.wordmark__name { font: 700 22px var(--head); color: var(--text); }
.wordmark__line { font: 600 11px var(--body); letter-spacing: .24em; text-transform: uppercase; color: var(--gold-text); }

/* ---------- hero: full-bleed art, dark gradient on the left ---------- */
.mk-hero { position: relative; display: flex; align-items: center; min-height: 640px; padding: 150px 0 90px; overflow: hidden; border-bottom: 1px solid var(--line-soft); }
.mk-hero--page { min-height: 470px; padding: 150px 0 70px; }
.mk-hero--plain { background: radial-gradient(ellipse 60% 80% at 80% 20%, rgba(231, 182, 87, .12), transparent 70%), var(--bg-2); }
.mk-hero__bg { position: absolute; inset: 0; }
.mk-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 70% center; }
.mk-hero__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7, 10, 18, .94) 0%, rgba(7, 10, 18, .78) 32%, rgba(7, 10, 18, .25) 60%, rgba(7, 10, 18, 0) 78%), linear-gradient(0deg, rgba(7, 10, 18, .9) 0%, rgba(7, 10, 18, 0) 28%); }
.mk-hero__in { position: relative; z-index: 2; }
.mk-hero h1 { max-width: 21ch; font-size: 64px; font-weight: 800; text-shadow: 0 2px 18px rgba(0, 0, 0, .55); }
.mk-hero--page h1 { font-size: 58px; max-width: 18ch; }
.mk-hero__lead { color: var(--text); font-size: 22px; text-shadow: 0 1px 10px rgba(0, 0, 0, .7); }
.mk-hero--right .mk-hero__bg img { object-position: 20% center; }
.mk-hero--right .mk-hero__bg::after { background: linear-gradient(270deg, rgba(7, 10, 18, .94) 0%, rgba(7, 10, 18, .78) 32%, rgba(7, 10, 18, .25) 60%, rgba(7, 10, 18, 0) 78%), linear-gradient(0deg, rgba(7, 10, 18, .9) 0%, rgba(7, 10, 18, 0) 28%); }
.mk-hero--right .mk-hero__in { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
.mk-hero--right .buttons { justify-content: flex-end; }
.mk-hero--right .mk-hero__in > * { max-width: 600px; }
.mk-hero--right h1 { max-width: 13ch; }
.mk-card__media img { object-position: center top; }

/* ---------- sections ---------- */
.section { padding: 72px 0; border-bottom: 1px solid var(--line-soft); }
.section--first { padding-top: 56px; }
.section--tight { padding: 56px 0; }
.section--white { background: var(--bg-2); }
.section--deep { background: linear-gradient(180deg, var(--bg) 0%, #0A0F1E 100%); }
.section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 32px; }
.section-head__text { max-width: 1000px; }
.section-head h2 { margin: 0; }
.section-head__text .lead { margin: 14px 0 0; }
.stack-xl > * + * { margin-top: 48px; }

/* ---------- the card row with glowing borders ---------- */
.mk-cards-section { background: linear-gradient(180deg, #080C17 0%, var(--bg) 100%); }
.mk-cards { display: grid; gap: 22px; grid-template-columns: repeat(5, 1fr); }
.mk-cards--4 { grid-template-columns: repeat(4, 1fr); }
.mk-cards--3 { grid-template-columns: repeat(3, 1fr); }
.mk-cards--2 { grid-template-columns: repeat(2, 1fr); }
.mk-cards--1 { grid-template-columns: minmax(0, 420px); }
.mk-cards > * { min-width: 0; }
.mk-card { --glow: #E7B657; display: flex; flex-direction: column; background: linear-gradient(180deg, rgba(16, 23, 42, .95), rgba(9, 13, 25, .98)); border: 1.5px solid var(--glow); border-radius: 8px; overflow: hidden; box-shadow: 0 0 0 1px rgba(0, 0, 0, .4), 0 0 22px -4px var(--glow), inset 0 0 18px -10px var(--glow); }
.mk-card__media { aspect-ratio: 380 / 318; overflow: hidden; background: #0A0F1C; }
.mk-card__media img { width: 100%; height: 100%; object-fit: cover; }
.mk-cards--portrait .mk-card__media { aspect-ratio: 600 / 776; padding: 14px 14px 0; background: radial-gradient(circle at 50% 30%, rgba(231, 182, 87, .12), transparent 70%); }
.mk-cards--portrait .mk-card__media img { object-fit: contain; }
.mk-card__tile { display: flex; align-items: center; justify-content: center; height: 100%; padding: 20px; text-align: center; font: 700 26px/1.15 var(--head); color: var(--text); background: radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--glow) 35%, transparent), transparent 70%), #0B1122; }
.mk-card__body { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 14px 16px 18px; flex: 1; }
.mk-card__title { font-size: 20px; margin: 0; }
.mk-card__label { margin: 0; font: 600 12px var(--body); letter-spacing: .26em; text-transform: uppercase; color: var(--gold-text); }
.mk-card__text { margin: 0 0 8px; font-size: 15px; line-height: 1.45; color: var(--text); }
.mk-card .btn { margin-top: auto; }

/* ---------- studio band ---------- */
.mk-band { position: relative; overflow: hidden; padding: 96px 0; border-bottom: 1px solid var(--line-soft); }
.mk-band__bg { position: absolute; inset: 0; }
.mk-band__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 65% center; }
.mk-band__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7, 10, 18, .95) 0%, rgba(7, 10, 18, .8) 34%, rgba(7, 10, 18, .2) 62%, rgba(7, 10, 18, .05) 100%); }
.mk-band__in { position: relative; z-index: 2; max-width: calc(var(--max) + 2 * var(--gutter)); }
.mk-band h2 { max-width: 22ch; text-shadow: 0 2px 14px rgba(0, 0, 0, .6); }
.mk-band__text { max-width: 600px; color: var(--text); font-size: 19px; text-shadow: 0 1px 8px rgba(0, 0, 0, .7); }

/* ---------- panels: text, values, team, games, books, music ---------- */
.card, .card--text, .team-card, .showcase, .soon, .upcoming, .contact-info, .contact-form-card, .book, .mk-news__item, .mk-empty { background: linear-gradient(180deg, var(--panel), var(--panel-2)); border: 1px solid var(--line); border-radius: 8px; }
.text-block { max-width: 880px; }
.text-block p:not(.eyebrow) { font-size: 18px; color: var(--muted); }
.text-block--art { max-width: none; }
.grid { display: grid; gap: 22px; }
.grid--2 { grid-template-columns: repeat(2, 1fr); }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid > * { min-width: 0; }
.card { overflow: hidden; display: flex; flex-direction: column; color: var(--text); }
.card--text { padding: 26px; }
.card--text p { color: var(--muted); margin: 0; }
.card__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #0A0F1C; }
.card__media img { width: 100%; height: 100%; object-fit: cover; }
.card__media img.card__logo { width: auto; height: 78%; max-width: 86%; margin: auto; object-fit: contain; }
.card__type { display: flex; flex-direction: column; justify-content: center; padding: 26px; height: 100%; background: radial-gradient(circle at 30% 30%, rgba(231, 182, 87, .16), transparent 60%), #0B1122; }
.card__type p { font: 700 28px/1.1 var(--head); margin: 0 0 10px; color: var(--text); }
.card__type span { font: 600 12px var(--body); letter-spacing: .2em; text-transform: uppercase; color: var(--gold-text); }
.card__body { padding: 22px 24px 26px; }
.card__body p:not(.eyebrow) { color: var(--muted); }
.tag { position: absolute; top: 14px; left: 14px; background: rgba(7, 10, 18, .85); color: var(--text); font: 600 12px var(--body); letter-spacing: .14em; text-transform: uppercase; padding: 6px 12px; border-radius: 4px; border: 1px solid var(--line); }
.tag--status { background: var(--gold-grad); color: var(--ink); border-color: transparent; }
.tag--inline { position: static; display: inline-block; margin-left: 10px; vertical-align: middle; }
.grid--single { grid-template-columns: 1fr; }
.grid--single .card { flex-direction: row; }
.grid--single .card__media { flex: 0 0 38%; aspect-ratio: auto; min-height: 280px; }
.grid--single .card__body { align-self: center; padding: 32px; }
.empty-note { color: var(--muted); font-size: 18px; }
.team-grid { list-style: none; display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.team-card { display: grid; grid-template-columns: 140px 1fr; gap: 22px; padding: 22px; }
.team-photo { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 6px; border: 1px solid var(--line); }
.team-card h3 { margin-bottom: 4px; }
.team-card__role { font: 600 12px var(--body); letter-spacing: .22em; text-transform: uppercase; color: var(--gold-text); }
.team-card p:last-child { color: var(--muted); margin: 0; }
.signoff { margin-top: 28px; color: var(--muted); }
.showcase { display: grid; grid-template-columns: minmax(0, 420px) 1fr; gap: 40px; align-items: start; padding: 26px; scroll-margin-top: 110px; }
.showcase--flip .showcase__media { order: 0; }
.showcase__media img { width: 100%; border-radius: 6px; border: 1px solid var(--line); }
.showcase__body > p:not(.eyebrow):not(.showcase__hook) { color: var(--muted); }
.showcase__hook { font: 700 22px/1.3 var(--head); color: var(--gold-text); }
.checklist { list-style: none; margin: 18px 0; display: grid; gap: 8px; }
.checklist li { position: relative; padding-left: 26px; }
.checklist li::before { content: ""; position: absolute; left: 2px; top: 9px; width: 8px; height: 8px; transform: rotate(45deg); background: var(--gold); }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; }
.chip { display: flex; gap: 6px; border: 1px solid var(--line); border-radius: 4px; padding: 6px 12px; font-size: 14px; background: rgba(231, 182, 87, .06); }
.chip dt { font-weight: 700; color: var(--gold-text); }
.chip dt::after { content: ":"; }
.chip dd { margin: 0; }
.classes { list-style: none; display: grid; grid-template-columns: repeat(7, 1fr); gap: 12px; }
.classes__item { min-width: 0; background: linear-gradient(180deg, var(--panel), var(--panel-2)); border: 1px solid var(--line); border-radius: 8px; padding: 8px; }
.classes__item img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: top; border-radius: 4px; }
.classes__item span { display: block; margin-top: 8px; text-align: center; font: 700 13px var(--head); letter-spacing: .06em; color: var(--gold-text); }
.books-by { font-weight: 600; color: var(--muted); margin: -14px 0 26px; }
.book-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.book { display: flex; flex-direction: column; overflow: hidden; min-width: 0; }
.book__cover { padding: 22px 22px 0; background: radial-gradient(circle at 50% 30%, rgba(231, 182, 87, .12), transparent 70%); }
.book__cover img { width: 100%; aspect-ratio: 600 / 776; object-fit: cover; border-radius: 4px; box-shadow: 0 18px 40px rgba(0, 0, 0, .6); }
.book__body { padding: 18px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.book__subtitle { color: var(--text); font-weight: 600; font-size: 15px; }
.book__desc { color: var(--muted); font-size: 15px; }
.book__body .buttons { margin-top: auto; padding-top: 8px; }
.upcoming, .soon { padding: 32px; }
.upcoming { margin-top: 28px; }
.upcoming p:last-child, .soon .lead { color: var(--muted); margin-bottom: 0; }
.cta { display: flex; justify-content: space-between; align-items: center; gap: 28px; flex-wrap: wrap; padding: 36px 40px; border: 1px solid var(--line); border-radius: 8px; background: radial-gradient(ellipse 60% 140% at 0% 0%, rgba(231, 182, 87, .12), transparent 70%), linear-gradient(180deg, var(--panel), var(--panel-2)); }
.cta__text { max-width: 720px; } .cta__text .lead { margin: 0; }
.cta .buttons { margin-top: 0; }
.mk-news { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.mk-news__item { padding: 24px; }
.mk-news__item h3 a { color: var(--text); text-decoration: none; }
.mk-news__item h3 a:hover { color: var(--gold-text); }
.mk-news__item p:not(.mk-card__label) { color: var(--muted); }
.mk-empty { max-width: 760px; padding: 40px; }
.mk-empty p { color: var(--muted); }
.spotlight { display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: center; }
.spotlight > * { min-width: 0; }
.spotlight__media img { width: 100%; border-radius: 8px; border: 1px solid var(--line); }
.spotlight--books { grid-template-columns: 1fr 1.2fr; }
.cover-row { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.cover-row img { width: 100%; border-radius: 4px; box-shadow: 0 12px 30px rgba(0, 0, 0, .55); }
.card--link { text-decoration: none; }
.card--link:hover { border-color: var(--gold); }
.card__media--pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 14px; }
.card__media--pair img { object-fit: contain; }
.card__body--grow { display: flex; flex-direction: column; flex: 1; }
.card--placeholder { opacity: .7; }
.showcase__media[style] img { border-color: var(--glow); box-shadow: 0 0 22px -6px var(--glow); }
.prose { max-width: 820px; } .prose > * { margin-top: 0; margin-bottom: 16px; } .prose h2 { font-size: 32px; margin-top: 40px; }

/* ---------- contact + forms ---------- */
.contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 22px; align-items: start; }
.contact-grid > * { min-width: 0; }
.contact-info, .contact-form-card { padding: 28px; }
.info-list { list-style: none; display: grid; gap: 18px; }
.info-list li { display: grid; gap: 2px; }
.info-list__label { font: 600 12px var(--body); letter-spacing: .22em; text-transform: uppercase; color: var(--muted); }
.fsi-form { display: grid; gap: 20px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.form-row > * { min-width: 0; }
.field { display: grid; gap: 8px; }
.field label { font-weight: 600; }
.field__note { font-weight: 400; color: var(--muted); }
.field input, .field textarea { width: 100%; min-width: 0; font: inherit; color: var(--text); background: #070B16; border: 1px solid var(--line); border-radius: 4px; padding: 13px 15px; }
.field input:focus-visible, .field textarea:focus-visible { outline: 2px solid var(--gold-text); outline-offset: 1px; }
.field textarea { min-height: 160px; resize: vertical; }
.field__error { display: none; margin: 0; color: var(--error-text); font-weight: 600; font-size: 15px; }
.field--error input, .field--error textarea { border-color: #E0705F; }
.field--error .field__error { display: block; }
.fsi-form .btn { justify-self: start; }
.form-alert { display: flex; gap: 12px; border: 1px solid #E0705F; color: var(--error-text); border-radius: 4px; padding: 12px 16px; }
.form-alert p { margin: 0; font-weight: 600; } .form-alert__icon { display: none; }
.form-success { text-align: center; padding: 32px; border: 1px solid var(--line); border-radius: 8px; }
.form-success__icon { display: none; } .form-success p { margin: 0; }
.frog-art { margin: 0 auto 18px; max-width: 220px; }
.frog-art img { width: 100%; border-radius: 8px; border: 1px solid var(--line); }
.page-hero--center { text-align: center; padding: 140px 0 80px; }
.page-hero--center .lead { margin: 0 auto; }

/* ---------- footer bar (mock-up) + newsletter ---------- */
.site-footer { background: #05080F; border-top: 1px solid var(--line); padding: 26px 0 22px; color: var(--muted); font-size: 15px; }
.footer-bar { display: flex; align-items: center; gap: 32px; flex-wrap: wrap; padding-bottom: 22px; border-bottom: 1px solid var(--line-soft); }
.footer-bar__logo img { width: 170px; }
.footer-bar__nav ul { list-style: none; display: flex; gap: 28px; flex-wrap: wrap; }
.footer-bar__nav a { color: var(--text); text-decoration: none; font: 600 13px var(--body); letter-spacing: .16em; text-transform: uppercase; }
.footer-bar__nav a:hover { color: var(--gold-text); }
.newsletter { display: flex; align-items: center; gap: 14px; margin-left: auto; flex-wrap: wrap; padding-left: 26px; border-left: 1px solid var(--line-soft); }
.newsletter__title { margin: 0; font: 600 13px var(--body); letter-spacing: .16em; text-transform: uppercase; color: var(--text); }
.newsletter__form { display: flex; }
.newsletter__form input[type="email"] { width: 260px; font: inherit; font-size: 14px; color: var(--text); background: #070B16; border: 1px solid var(--gold); border-right: 0; border-radius: 4px 0 0 4px; padding: 10px 14px; }
.newsletter__form input::placeholder { color: #8C8678; }
.newsletter__go { flex: none; width: 46px; border: 0; border-radius: 0 4px 4px 0; background: var(--gold-grad); color: var(--ink); font-size: 20px; font-weight: 700; cursor: pointer; }
.newsletter__done { margin: 0; color: var(--gold-text); font-weight: 600; }
.newsletter__error { flex-basis: 100%; margin: 0; color: var(--error-text); font-size: 14px; font-weight: 600; text-align: right; }
.footer-bar__social { list-style: none; display: flex; gap: 14px; }
.footer-bar__social a { color: var(--text); display: inline-flex; }
.footer-bar__social a:hover { color: var(--gold-text); }
.footer-meta { display: flex; flex-wrap: wrap; gap: 18px 40px; align-items: flex-start; padding-top: 18px; font-size: 14px; }
.footer-meta h2 { font: 600 12px var(--body); letter-spacing: .2em; text-transform: uppercase; color: var(--gold-text); margin: 0 0 6px; }
.footer-meta ul { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 18px; }
.footer-meta a { color: var(--muted); text-decoration: none; }
.footer-meta a:hover { color: var(--text); text-decoration: underline; }
.footer-meta p { margin: 0; }
.footer-meta__copy { margin-left: auto !important; align-self: flex-end; }
.sc-cart-wrapper, .wp-block-surecart-cart-icon { display: none !important; }

/* ---------- responsive ---------- */
@media (max-width: 1240px) {
	h1, .mk-hero h1 { font-size: 54px; }
	.mk-cards { grid-template-columns: repeat(3, 1fr); }
	.mk-cards--4 { grid-template-columns: repeat(2, 1fr); }
	.site-nav ul { gap: 22px; }
	.classes { grid-template-columns: repeat(4, 1fr); }
	.newsletter { margin-left: 0; padding-left: 0; border-left: 0; }
}
@media (max-width: 1024px) {
	:root { --gutter: 28px; }
	/* hamburger menu */
	.site-header__inner { flex-wrap: wrap; gap: 16px; justify-content: space-between; }
	.nav-toggle { display: block; position: absolute; width: 1px; height: 1px; opacity: 0; }
	.nav-toggle__btn { display: grid; gap: 5px; align-content: center; justify-items: center; width: 46px; height: 46px; border: 1.5px solid var(--gold); border-radius: 4px; cursor: pointer; margin-left: auto; }
	.nav-toggle__btn span { display: block; width: 22px; height: 2px; background: var(--gold-text); }
	.nav-toggle:focus-visible + .nav-toggle__btn { outline: 2px solid var(--gold-text); outline-offset: 3px; }
	.site-nav { display: none; flex-basis: 100%; flex-direction: column; align-items: stretch; gap: 14px; padding: 10px 0 18px; background: rgba(7, 10, 18, .97); border-top: 1px solid var(--line-soft); }
	.nav-toggle:checked ~ .site-nav { display: flex; }
	.site-nav ul { flex-direction: column; align-items: stretch; gap: 0; margin: 0; }
	.site-nav a:not(.btn) { display: block; padding: 12px 4px; border-bottom: 1px solid var(--line-soft); }
	.site-nav__cta { align-self: flex-start; }
	.showcase, .spotlight, .spotlight--books { grid-template-columns: 1fr; }
	.contact-grid, .team-grid, .grid--2, .mk-news { grid-template-columns: 1fr; }
	.grid--3, .book-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
	:root { --gutter: 16px; }
	body { font-size: 17px; }
	h1, .mk-hero h1 { font-size: 38px; }
	h2, .h2 { font-size: 30px; }
	.mk-hero { min-height: 0; padding: 120px 0 56px; }
	.mk-hero--page { padding: 120px 0 44px; }
	.mk-hero--page h1 { font-size: 36px; }
	.mk-hero__bg::after, .mk-hero--right .mk-hero__bg::after { background: linear-gradient(90deg, rgba(7, 10, 18, .9) 0%, rgba(7, 10, 18, .6) 100%), linear-gradient(0deg, rgba(7, 10, 18, .9) 0%, rgba(7, 10, 18, 0) 40%); }
	.mk-hero--right .mk-hero__in { align-items: flex-start; text-align: left; }
	.mk-hero--right .buttons { justify-content: flex-start; }
	.mk-hero__lead { font-size: 18px; }
	.eyebrow--hero { font-size: 13px; letter-spacing: .26em; }
	.site-logo img { width: 160px; }
	.mk-cards, .mk-cards--4, .mk-cards--3 { grid-template-columns: repeat(2, 1fr); gap: 14px; }
	.mk-cards--2, .mk-cards--1 { grid-template-columns: 1fr; }
	.mk-card__text { font-size: 14px; }
	.mk-band { padding: 64px 0; }
	.mk-band__bg::after { background: linear-gradient(90deg, rgba(7, 10, 18, .92), rgba(7, 10, 18, .65)); }
	.section { padding: 52px 0; }
	.grid--3, .book-grid, .form-row { grid-template-columns: 1fr; }
	.grid--single .card { flex-direction: column; }
	.team-card { grid-template-columns: 84px 1fr; gap: 14px; padding: 16px; }
	.classes { grid-template-columns: repeat(2, 1fr); }
	.cta { padding: 26px 20px; }
	.btn { width: 100%; }
	.mk-card .btn, .site-nav__cta, .newsletter__go { width: auto; }
	.footer-bar { gap: 20px; }
	.newsletter__form { width: 100%; }
	.newsletter__form input[type="email"] { width: 100%; min-width: 0; }
	.newsletter__error { text-align: left; }
	.footer-meta__copy { margin-left: 0 !important; }
}
@media (max-width: 420px) {
	.mk-cards, .mk-cards--4, .mk-cards--3 { grid-template-columns: 1fr; }
}
