@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');

:root {
    --ink: #123c32;
    --ink-deep: #0b2822;
    --green: #1d604d;
    --green-soft: #dcebe1;
    --paper: #f7f5ef;
    --paper-warm: #efeadf;
    --gold: #d9a85b;
    --gold-light: #f3d89f;
    --red: #a35442;
    --line: rgba(18, 60, 50, .16);
    --muted: rgba(18, 60, 50, .64);
    --white: #fffdf7;
    --shadow: 0 28px 80px rgba(18, 60, 50, .12);
    --radius: 22px;
    --container: 1240px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    min-width: 320px;
    margin: 0;
    overflow-x: hidden;
    color: var(--ink);
    background: var(--paper);
    font-family: Manrope, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.55;
}

body::selection { color: var(--paper); background: var(--green); }

a { color: inherit; text-decoration: none; }

button, input, select, textarea { font: inherit; }

button { cursor: pointer; }

img { display: block; max-width: 100%; }

.container { width: min(calc(100% - 64px), var(--container)); margin: 0 auto; }

.ambient { position: fixed; z-index: -1; width: 480px; height: 480px; border-radius: 50%; pointer-events: none; filter: blur(1px); opacity: .35; }
.ambient--one { top: -260px; right: -180px; background: radial-gradient(circle, rgba(217,168,91,.32), transparent 68%); }
.ambient--two { bottom: -260px; left: -180px; background: radial-gradient(circle, rgba(97,157,128,.2), transparent 68%); }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-weight: 700; line-height: 1.02; }
h1, h2 { font-family: 'Playfair Display', Georgia, serif; letter-spacing: -.04em; }
h1 { font-size: clamp(3.5rem, 7vw, 7.9rem); }
h2 { font-size: clamp(2.5rem, 4.6vw, 5.5rem); }
h3 { font-size: 1.22rem; }
em { color: var(--green); font-weight: 600; }

.eyebrow, .panel-kicker, .sidebar-label, .stage-label, .admin-card-label {
    font-family: 'DM Mono', Consolas, monospace;
    font-size: .64rem;
    font-weight: 500;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.eyebrow { display: flex; align-items: center; gap: 11px; margin-bottom: 22px; color: var(--green); }
.eyebrow-line { display: inline-block; width: 31px; height: 1px; background: currentColor; }
.eyebrow--light { color: var(--gold-light); }

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 17px;
    min-height: 54px;
    padding: 0 22px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    transition: transform 220ms ease, box-shadow 220ms ease, background 220ms ease, color 220ms ease;
}
.button:hover { transform: translateY(-3px); box-shadow: 0 15px 26px rgba(18, 60, 50, .15); }
.button--primary { color: var(--paper); background: var(--green); box-shadow: 0 10px 20px rgba(18, 60, 50, .16); }
.button--dark { color: var(--paper); background: var(--ink-deep); }
.button--small { min-height: 40px; padding: 0 17px; font-size: .59rem; }
.button--wide { width: 100%; }
.button--outline-light { border-color: rgba(247,245,239,.35); color: var(--paper); background: transparent; }
.button--danger { color: #fff; background: var(--red); }
.button--tiny { min-height: 31px; padding: 0 11px; font-size: .55rem; gap: 7px; }

.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--green); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.text-link:hover { color: var(--ink-deep); }
.text-link strong { font-weight: 800; }

/* Public navigation */
.site-header { position: relative; z-index: 20; border-bottom: 1px solid var(--line); background: rgba(247,245,239,.88); backdrop-filter: blur(18px); transition: box-shadow 250ms ease; }
.site-header.is-scrolled { box-shadow: 0 15px 30px rgba(18,60,50,.08); }
.nav-shell { display: flex; align-items: center; justify-content: space-between; min-height: 82px; }
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand-mark { display: grid; width: 43px; height: 43px; overflow: hidden; place-items: center; border: 1px solid rgba(18,60,50,.2); border-radius: 13px; background: var(--ink); }
.brand-mark img { width: 100%; height: 100%; object-fit: cover; }
.brand-copy { display: grid; gap: 1px; }
.brand-copy strong { font-size: .93rem; font-weight: 800; letter-spacing: .17em; }
.brand-copy small { color: var(--green); font-family: 'DM Mono', Consolas, monospace; font-size: .53rem; letter-spacing: .18em; }
.site-nav { display: flex; align-items: center; gap: 26px; }
.site-nav > a:not(.button) { position: relative; color: rgba(18,60,50,.76); font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.site-nav > a:not(.button)::after { position: absolute; right: 0; bottom: -9px; left: 0; height: 1px; background: var(--green); content: ''; transform: scaleX(0); transform-origin: right; transition: transform 180ms ease; }
.site-nav > a:not(.button):hover::after { transform: scaleX(1); transform-origin: left; }
.nav-login { color: var(--green) !important; }
.menu-toggle { display: none; align-items: center; gap: 10px; border: 0; color: var(--ink); background: transparent; font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.menu-toggle__icon { font-size: 1.2rem; line-height: 1; }

.flash { position: fixed; z-index: 50; top: 94px; right: 25px; display: flex; gap: 12px; max-width: 420px; padding: 15px 18px; border: 1px solid; border-radius: 14px; box-shadow: var(--shadow); font-size: .78rem; background: var(--white); animation: flash-in 400ms ease both; }
.flash strong { font-family: 'DM Mono', Consolas, monospace; font-size: .61rem; letter-spacing: .1em; text-transform: uppercase; }
.flash--success { border-color: rgba(29,96,77,.35); }
.flash--error { border-color: rgba(163,84,66,.35); }

/* Homepage */
.home-hero { min-height: calc(100vh - 82px); padding: 74px 0 88px; }
.home-hero__grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(480px, 1fr); align-items: center; gap: 6vw; min-width: 0; }
.hero-copy { max-width: 650px; min-width: 0; }
.hero-copy h1 { max-width: 680px; min-width: 0; margin-bottom: 26px; }
.hero-lead { max-width: 520px; margin-bottom: 32px; color: var(--muted); font-size: 1.02rem; }
.hero-actions { display: flex; align-items: center; gap: 25px; margin-bottom: 42px; }
.hero-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; color: rgba(18,60,50,.56); font-family: 'DM Mono', Consolas, monospace; font-size: .59rem; letter-spacing: .09em; text-transform: uppercase; }
.pulse-dot, .floating-tag__dot { width: 7px; height: 7px; border-radius: 50%; background: #5ab77f; box-shadow: 0 0 0 5px rgba(90,183,127,.15); animation: pulse 2s ease-in-out infinite; }
.meta-rule { width: 28px; height: 1px; background: var(--line); }

.hero-stage { position: relative; min-height: 590px; perspective: 1300px; }
.stage-surface { position: relative; min-height: 590px; overflow: hidden; border-radius: 44% 44% 28px 28px; background: radial-gradient(circle at 50% 40%, rgba(97,157,128,.45), transparent 34%), linear-gradient(145deg, #174d3f 0%, #0d3028 72%); box-shadow: inset 0 0 90px rgba(6,29,23,.32); transform: rotateX(var(--tilt-y, 0deg)) rotateY(var(--tilt-x, 0deg)); transform-style: preserve-3d; transition: transform 240ms ease; }
.stage-surface::after { position: absolute; inset: 0; background: linear-gradient(115deg, transparent 32%, rgba(255,255,255,.08) 42%, transparent 52%); content: ''; mix-blend-mode: screen; pointer-events: none; }
.stage-grid { position: absolute; inset: 0; opacity: .17; background-image: linear-gradient(rgba(243,216,159,.35) 1px, transparent 1px), linear-gradient(90deg, rgba(243,216,159,.35) 1px, transparent 1px); background-size: 52px 52px; transform: perspective(600px) rotateX(55deg) translateY(35%); transform-origin: bottom; }
.stage-label { position: absolute; z-index: 5; color: rgba(247,245,239,.66); font-family: 'DM Mono', Consolas, monospace; font-size: .56rem; letter-spacing: .13em; text-transform: uppercase; }
.stage-label--top { top: 28px; right: 31px; }
.stage-label--bottom { bottom: 26px; left: 30px; }
.orbit { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(243,216,159,.45); border-radius: 50%; transform: translate(-50%, -50%) rotate(-22deg) scaleY(.53); animation: orbit-spin 18s linear infinite; }
.orbit--a { width: 76%; height: 51%; }
.orbit--b { width: 88%; height: 42%; transform: translate(-50%, -50%) rotate(64deg) scaleY(.35); animation-duration: 24s; animation-direction: reverse; border-color: rgba(122,202,158,.4); }
.orbit-dot { position: absolute; z-index: 3; width: 11px; height: 11px; border-radius: 50%; background: var(--gold-light); box-shadow: 0 0 16px rgba(243,216,159,.9); }
.orbit-dot--a { top: 31%; left: 76%; animation: dot-drift 6s ease-in-out infinite; }
.orbit-dot--b { right: 22%; bottom: 31%; width: 7px; height: 7px; background: #79c69b; animation: dot-drift 5s ease-in-out infinite reverse; }
.parallax-layer { position: absolute; transform: translate(var(--shift-x, 0px), var(--shift-y, 0px)); transition: transform 180ms ease; }
.record-wrap { top: 13%; left: 8%; z-index: 4; }
.record { position: relative; width: 138px; height: 138px; border: 1px solid rgba(0,0,0,.18); border-radius: 50%; background: radial-gradient(circle at 38% 32%, #5f786e, #0c1714 64%); box-shadow: 15px 22px 30px rgba(0,0,0,.25); animation: record-float 6s ease-in-out infinite; }
.record-groove { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; transform: translate(-50%, -50%); }
.record-groove--one { width: 72%; height: 72%; }.record-groove--two { width: 54%; height: 54%; }
.record-label { position: absolute; top: 50%; left: 50%; width: 30px; height: 30px; border-radius: 50%; background: var(--gold); transform: translate(-50%, -50%); }
.record-hole { position: absolute; top: 50%; left: 50%; width: 5px; height: 5px; border-radius: 50%; background: var(--ink-deep); transform: translate(-50%, -50%); }
.logo-card-wrap { top: 25%; left: 23%; z-index: 6; width: 55%; max-width: 325px; }
.logo-card { position: relative; overflow: hidden; padding: 22px 22px 17px; border: 1px solid rgba(247,245,239,.18); border-radius: 19px; background: linear-gradient(145deg, #f3d89f, #c68a3c); box-shadow: 20px 30px 45px rgba(0,0,0,.3); animation: card-float 7s ease-in-out infinite; transform: rotate(7deg); }
.logo-card img { width: 100%; border-radius: 11px; mix-blend-mode: multiply; }
.logo-card__shine { position: absolute; z-index: 2; top: -20%; left: -30%; width: 20%; height: 150%; background: rgba(255,255,255,.35); transform: rotate(24deg); animation: shine 6s ease-in-out infinite; }
.logo-card__footer { display: flex; justify-content: space-between; margin-top: 14px; color: var(--ink-deep); font-family: 'DM Mono', Consolas, monospace; font-size: .54rem; font-weight: 600; letter-spacing: .1em; }
.waveform-wrap { right: 9%; bottom: 17%; z-index: 7; }
.waveform { display: flex; align-items: center; gap: 5px; height: 80px; padding: 0 18px; border: 1px solid rgba(247,245,239,.28); border-radius: 999px; background: rgba(12,40,33,.3); transform: rotate(-12deg); }
.waveform i { display: block; width: 3px; border-radius: 8px; background: var(--gold-light); animation: equalizer 1.2s ease-in-out infinite alternate; }
.waveform i:nth-child(1), .waveform i:nth-child(9) { height: 23px; }.waveform i:nth-child(2), .waveform i:nth-child(8) { height: 39px; animation-delay: -.2s; }.waveform i:nth-child(3), .waveform i:nth-child(7) { height: 57px; animation-delay: -.4s; }.waveform i:nth-child(4), .waveform i:nth-child(6) { height: 34px; animation-delay: -.65s; }.waveform i:nth-child(5) { height: 68px; animation-delay: -.8s; }
.floating-tag { position: absolute; z-index: 8; display: flex; align-items: center; gap: 9px; padding: 10px 13px; border: 1px solid rgba(243,216,159,.34); border-radius: 999px; color: var(--gold-light); background: rgba(9,37,30,.6); font-family: 'DM Mono', Consolas, monospace; font-size: .53rem; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(8px); }
.floating-tag--top { top: 20%; right: 4%; }.floating-tag--bottom { right: 7%; bottom: 28%; }.floating-tag--bottom strong { color: var(--paper); font-size: .9rem; }
.stage-shadow { position: absolute; right: 12%; bottom: -22px; left: 12%; height: 48px; border-radius: 50%; background: rgba(18,60,50,.27); filter: blur(18px); }

.section { padding: 112px 0; }
.signal-summary { background: var(--paper-warm); }
.section-intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(260px, .52fr); align-items: end; gap: 12%; margin-bottom: 55px; }
.section-intro h2 { max-width: 720px; margin-bottom: 0; }.section-intro > p { max-width: 340px; margin-bottom: 8px; color: var(--muted); font-size: .9rem; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.feature-card { position: relative; min-height: 290px; padding: 24px; overflow: hidden; border: 1px solid rgba(18,60,50,.18); border-radius: var(--radius); background: var(--white); transition: transform 260ms ease, box-shadow 260ms ease; }
.feature-card:hover { box-shadow: var(--shadow); transform: translateY(-8px); }.feature-card--green { color: var(--paper); background: var(--green); }.feature-card--gold { background: var(--gold-light); }.feature-card--ink { color: var(--paper); background: var(--ink-deep); }
.feature-card__number { display: block; margin-bottom: 64px; font-family: 'DM Mono', Consolas, monospace; font-size: .6rem; letter-spacing: .12em; opacity: .68; }.feature-card h3 { max-width: 280px; font-family: 'Playfair Display', Georgia, serif; font-size: 1.75rem; letter-spacing: -.03em; }.feature-card p { max-width: 300px; margin-bottom: 0; opacity: .7; font-size: .82rem; }.feature-card__arrow { position: absolute; right: 23px; bottom: 21px; font-size: 1.3rem; }
.membership { background: var(--paper); }.membership-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(390px, .75fr); align-items: start; gap: 15%; }.membership-copy h2 { max-width: 550px; }.membership-copy > p:not(.eyebrow) { max-width: 460px; margin-bottom: 27px; color: var(--muted); }.fee-board { padding: 27px; border: 1px solid rgba(18,60,50,.18); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow); }.fee-board__row { display: grid; grid-template-columns: 1fr auto; gap: 1px 18px; padding: 18px 0; border-bottom: 1px solid var(--line); }.fee-board__row span { font-size: .8rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }.fee-board__row strong { color: var(--green); font-family: 'Playfair Display', Georgia, serif; font-size: 1.7rem; }.fee-board__row small { grid-column: 1 / -1; color: var(--muted); font-family: 'DM Mono', Consolas, monospace; font-size: .56rem; }.fee-board__row--highlight { padding-right: 12px; padding-left: 12px; border-radius: 12px; background: var(--gold-light); }.fee-board__button { width: 100%; margin-top: 21px; }

/* Public forms and auth */
.auth-page, .registration-page { min-height: calc(100vh - 82px); padding: 86px 0 120px; }.auth-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(390px, .63fr); align-items: center; gap: 15%; }.auth-intro h1 { max-width: 620px; margin-bottom: 25px; }.auth-intro > p:not(.eyebrow) { max-width: 460px; color: var(--muted); }.auth-card { padding: 34px; border: 1px solid rgba(18,60,50,.18); border-radius: var(--radius); background: rgba(255,253,247,.78); box-shadow: var(--shadow); }.auth-footnote { margin: 23px 0 0; color: var(--muted); font-size: .78rem; }.auth-footnote a { color: var(--green); font-weight: 800; }.auth-orbit { position: relative; width: 220px; height: 220px; margin-top: 44px; border: 1px solid rgba(29,96,77,.32); border-radius: 50%; transform: rotate(-18deg); }.auth-orbit::before, .auth-orbit::after { position: absolute; inset: 19%; border: 1px solid rgba(217,168,91,.55); border-radius: 50%; content: ''; }.auth-orbit::after { inset: 43%; border: 0; background: var(--gold); box-shadow: 0 0 28px rgba(217,168,91,.6); }.auth-orbit span, .auth-orbit i { position: absolute; top: 0; left: 50%; width: 9px; height: 9px; border-radius: 50%; background: var(--green); transform: translate(-50%, -50%); }.auth-orbit i { top: 100%; left: 50%; background: var(--gold); }.admin-seal { display: grid; width: 158px; height: 158px; margin-top: 44px; place-items: center; border: 1px solid rgba(29,96,77,.35); border-radius: 50%; transform: rotate(12deg); }.admin-seal span { font-family: 'Playfair Display', Georgia, serif; font-size: 4rem; }.admin-seal small { margin-top: -39px; font-family: 'DM Mono', Consolas, monospace; font-size: .52rem; letter-spacing: .12em; }.admin-card-label { margin-bottom: 25px; color: var(--green); }
.registration-heading { max-width: 790px; margin-bottom: 56px; }.registration-heading h1 { margin-bottom: 23px; }.registration-heading > p:not(.eyebrow) { max-width: 600px; color: var(--muted); }.registration-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: start; gap: 8%; }.registration-form { min-width: 0; padding: 38px; border: 1px solid rgba(18,60,50,.18); border-radius: var(--radius); background: rgba(255,253,247,.78); box-shadow: var(--shadow); }.registration-aside { min-width: 0; }.aside-sticky { position: sticky; top: 108px; padding: 27px; border-radius: var(--radius); color: var(--paper); background: var(--green); box-shadow: var(--shadow); }.aside-number { display: block; margin-bottom: 45px; color: var(--gold-light); font-family: 'DM Mono', Consolas, monospace; font-size: .6rem; letter-spacing: .14em; }.aside-sticky h2 { margin-bottom: 19px; font-size: 2.25rem; color: var(--paper); }.aside-sticky h2 em { color: var(--gold-light); }.aside-sticky > p { color: rgba(247,245,239,.7); font-size: .78rem; }.aside-list { display: grid; gap: 15px; margin: 29px 0; padding-top: 22px; border-top: 1px solid rgba(247,245,239,.24); }.aside-list div { display: grid; gap: 1px; }.aside-list strong { color: var(--gold-light); font-family: 'Playfair Display', Georgia, serif; font-size: 1.26rem; }.aside-list span { color: rgba(247,245,239,.66); font-size: .67rem; }.aside-sticky .text-link { color: var(--gold-light); }
.form-section { padding: 35px 0; border-bottom: 1px solid var(--line); }.form-section:first-of-type { padding-top: 0; }.form-section__heading { display: flex; gap: 17px; margin-bottom: 29px; }.form-section__heading > span { color: var(--gold); font-family: 'Playfair Display', Georgia, serif; font-size: 1.55rem; }.form-section__heading h2 { margin-bottom: 5px; font-family: 'Playfair Display', Georgia, serif; font-size: 2rem; }.form-section__heading p { margin: 0; color: var(--muted); font-size: .78rem; }.form-fields { display: grid; gap: 22px 18px; }.form-fields--two { grid-template-columns: 1fr 1fr; }.field { display: grid; gap: 8px; min-width: 0; }.field--wide { grid-column: 1 / -1; }.field label { color: rgba(18,60,50,.75); font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.field input, .field select, .field textarea { width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid rgba(18,60,50,.2); border-radius: 7px; outline: 0; color: var(--ink); background: rgba(247,245,239,.65); font-size: .86rem; transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease; }.field textarea { min-height: 115px; resize: vertical; }.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--green); background: var(--white); box-shadow: 0 0 0 3px rgba(29,96,77,.1); }.field small { color: var(--muted); font-size: .67rem; }.field--error input, .field--error select, .field--error textarea { border-color: var(--red); box-shadow: 0 0 0 3px rgba(163,84,66,.08); }.field--error small { color: var(--red); }.password-field { position: relative; }.password-field input { padding-right: 62px; }.password-field button { position: absolute; top: 50%; right: 9px; border: 0; color: var(--green); background: transparent; font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; transform: translateY(-50%); }.check-field { display: flex; align-items: flex-start; gap: 10px; color: var(--muted); font-size: .76rem; }.check-field input { width: 16px; height: 16px; margin-top: 2px; accent-color: var(--green); }.honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }.guardian-section { display: none; }.guardian-section.is-visible { display: block; }.inline-error { margin-top: 18px; color: var(--red); font-size: .76rem; }.payment-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-bottom: 25px; }.payment-summary > div { display: grid; gap: 3px; padding: 14px; border-radius: 10px; background: var(--paper-warm); }.payment-summary span { color: var(--muted); font-family: 'DM Mono', Consolas, monospace; font-size: .55rem; letter-spacing: .08em; text-transform: uppercase; }.payment-summary strong { color: var(--green); font-family: 'Playfair Display', Georgia, serif; font-size: 1.18rem; }.payment-summary small { color: var(--muted); font-size: .61rem; }.payment-summary__total { background: var(--gold-light) !important; }.registration-submit { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding-top: 29px; }.registration-submit p { max-width: 370px; margin: 0; color: var(--muted); font-size: .72rem; }
.alert { display: flex; gap: 12px; margin-bottom: 22px; padding: 14px 15px; border: 1px solid; border-radius: 10px; font-size: .76rem; }.alert strong { display: block; color: var(--green); font-family: 'DM Mono', Consolas, monospace; font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; }.alert--success { border-color: rgba(29,96,77,.25); background: rgba(220,235,225,.65); }.alert--error { border-color: rgba(163,84,66,.3); background: rgba(163,84,66,.08); }.alert--error strong { color: var(--red); }
.stack-form { display: grid; gap: 20px; }.stack-form .button { justify-self: start; }.auth-card .stack-form { gap: 23px; }

/* Application shell */
.app-body { min-height: 100vh; background: #eef0e9; }.app-topbar { position: sticky; z-index: 30; top: 0; display: flex; align-items: center; justify-content: space-between; min-height: 72px; padding: 0 34px; color: var(--paper); background: var(--ink-deep); }.app-topbar .brand-mark { border-color: rgba(243,216,159,.35); background: var(--paper); }.app-topbar .brand-copy strong { color: var(--paper); }.app-topbar .brand-copy small { color: var(--gold-light); }.topbar-actions { display: flex; align-items: center; gap: 18px; }.topbar-welcome { color: rgba(247,245,239,.68); font-size: .7rem; }.app-shell { display: grid; grid-template-columns: 248px minmax(0, 1fr); min-height: calc(100vh - 72px); }.app-sidebar { display: flex; flex-direction: column; padding: 34px 19px 25px; background: var(--green); }.sidebar-label { margin: 0 14px 17px; color: rgba(247,245,239,.5); }.app-nav { display: grid; gap: 5px; }.app-nav a { display: flex; align-items: center; gap: 11px; padding: 12px 14px; border-radius: 8px; color: rgba(247,245,239,.66); font-size: .72rem; font-weight: 700; transition: color 180ms ease, background 180ms ease; }.app-nav a:hover, .app-nav a.is-active { color: var(--paper); background: rgba(247,245,239,.12); }.app-nav a b { min-width: 21px; margin-left: auto; padding: 2px 5px; border-radius: 99px; color: var(--ink); background: var(--gold-light); font-size: .58rem; text-align: center; }.nav-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; opacity: .6; }.app-nav a.is-active .nav-dot { color: var(--gold-light); opacity: 1; box-shadow: 0 0 0 4px rgba(243,216,159,.12); }.sidebar-bottom { display: grid; gap: 11px; margin-top: auto; padding: 21px 14px 0; border-top: 1px solid rgba(247,245,239,.14); }.sidebar-bottom a { color: var(--gold-light); font-size: .68rem; font-weight: 700; }.sidebar-bottom a span { float: right; }.app-main { min-width: 0; padding: 53px 5vw 85px; }.app-heading { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 39px; }.app-heading h1 { margin: 0; font-size: clamp(2.6rem, 4.4vw, 5rem); }.app-heading h1 em { color: var(--green); }.app-date { color: var(--muted); font-family: 'DM Mono', Consolas, monospace; font-size: .59rem; letter-spacing: .1em; text-transform: uppercase; }.app-main > .alert { max-width: 920px; }
.stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin-bottom: 18px; }.stat-card { display: grid; min-height: 143px; padding: 20px; border: 1px solid rgba(18,60,50,.13); border-radius: 15px; background: var(--white); }.stat-card--dark { color: var(--paper); background: var(--ink); }.stat-card > span { color: var(--muted); font-family: 'DM Mono', Consolas, monospace; font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }.stat-card--dark > span { color: rgba(247,245,239,.58); }.stat-card > strong { align-self: center; font-family: 'Playfair Display', Georgia, serif; font-size: 2.1rem; }.stat-card > strong small { display: block; margin-top: -3px; font-family: Manrope, Arial, sans-serif; font-size: .64rem; font-weight: 600; }.stat-card > small { color: var(--muted); font-size: .67rem; }.stat-card--dark > small { color: rgba(247,245,239,.6); }
.dashboard-grid, .two-column { display: grid; grid-template-columns: minmax(0, 1.32fr) minmax(290px, .68fr); gap: 17px; margin-bottom: 18px; }.panel { min-width: 0; margin-bottom: 18px; padding: 26px; border: 1px solid rgba(18,60,50,.13); border-radius: 17px; background: var(--white); }.panel--wide { min-height: 275px; }.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 24px; }.panel-heading h2 { margin: 5px 0 0; font-size: 2rem; }.panel-kicker { color: var(--green); }.panel-count { color: var(--muted); font-family: 'DM Mono', Consolas, monospace; font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }.panel-lead { max-width: 640px; color: var(--muted); font-size: .85rem; }.panel-link { display: flex; justify-content: space-between; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--green); font-size: .69rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.mini-progress { max-width: 590px; margin-top: 31px; }.mini-progress > div:first-child { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; font-size: .71rem; font-weight: 700; }.mini-progress strong { color: var(--green); font-family: 'Playfair Display', Georgia, serif; font-size: 1.6rem; }.progress-bar { height: 7px; overflow: hidden; border-radius: 99px; background: #d8ded5; }.progress-bar span { display: block; height: 100%; border-radius: inherit; background: var(--green); transition: width 400ms ease; }.quick-links { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 35px; }.quick-links a { display: flex; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; transition: background 180ms ease, transform 180ms ease; }.quick-links a:hover { background: var(--paper-warm); transform: translateY(-3px); }.quick-links strong { color: var(--gold); font-family: 'Playfair Display', Georgia, serif; font-size: 1.45rem; }.quick-links span { display: grid; gap: 2px; }.quick-links b { font-size: .72rem; }.quick-links small { color: var(--muted); font-size: .62rem; }.detail-list { display: grid; gap: 13px; margin: 25px 0 0; }.detail-list div { display: flex; justify-content: space-between; gap: 15px; padding-bottom: 11px; border-bottom: 1px solid var(--line); }.detail-list dt { color: var(--muted); font-family: 'DM Mono', Consolas, monospace; font-size: .58rem; text-transform: uppercase; }.detail-list dd { margin: 0; font-size: .74rem; font-weight: 700; text-align: right; }.goal-list--compact { display: grid; gap: 0; }.goal-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .45fr) auto; align-items: center; gap: 28px; padding: 18px 0; border-top: 1px solid var(--line); }.goal-row:first-child { border-top: 0; }.goal-row h3 { margin: 4px 0 0; font-family: 'Playfair Display', Georgia, serif; font-size: 1.28rem; }.goal-row__date { color: var(--muted); font-family: 'DM Mono', Consolas, monospace; font-size: .56rem; text-transform: uppercase; }.goal-row__progress { display: grid; align-items: center; grid-template-columns: auto 1fr; gap: 11px; }.goal-row__progress strong { color: var(--green); font-family: 'Playfair Display', Georgia, serif; font-size: 1.25rem; }.goal-row__progress .progress-bar { width: 100%; }
.badge { display: inline-flex; align-items: center; width: max-content; padding: 4px 8px; border-radius: 99px; font-family: 'DM Mono', Consolas, monospace; font-size: .52rem; letter-spacing: .07em; text-transform: uppercase; }.badge--success { color: #185940; background: #d9eddf; }.badge--warning { color: #78551e; background: #fae8b9; }.badge--danger { color: #8c4135; background: #f2d8d1; }.badge--neutral { color: var(--muted); background: #e5e9e3; }
.step-list { display: grid; gap: 10px; margin-top: 24px; }.step-list div { display: flex; align-items: center; gap: 13px; padding: 10px 0; border-bottom: 1px solid var(--line); }.step-list strong { color: var(--gold); font-family: 'DM Mono', Consolas, monospace; font-size: .63rem; }.step-list span { font-size: .75rem; }.profile-fact { display: flex; justify-content: space-between; margin-top: 35px; padding-top: 20px; border-top: 1px solid var(--line); }.profile-fact span { color: var(--muted); font-size: .7rem; }.profile-fact strong { font-size: .72rem; }.goals-layout { align-items: start; }.goal-list { display: grid; gap: 0; }.goal-card { margin-bottom: 17px; }.goal-card__head { display: flex; justify-content: space-between; gap: 25px; }.goal-card h2 { margin: 5px 0 9px; font-size: 2rem; }.goal-card__head p { max-width: 560px; margin-bottom: 0; color: var(--muted); font-size: .78rem; }.goal-score { display: grid; align-content: start; justify-items: end; }.goal-score strong { color: var(--green); font-family: 'Playfair Display', Georgia, serif; font-size: 2.45rem; }.goal-score span { color: var(--muted); font-family: 'DM Mono', Consolas, monospace; font-size: .53rem; text-transform: uppercase; }.progress-bar--large { height: 10px; margin: 24px 0 25px; }.goal-card__body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .65fr); gap: 30px; padding-top: 22px; border-top: 1px solid var(--line); }.progress-form { display: grid; align-content: start; gap: 17px; }.progress-form .field:first-child { grid-template-columns: 1fr auto; align-items: center; }.progress-form .field:first-child label { grid-column: 1 / -1; }.progress-form output { color: var(--green); font-family: 'Playfair Display', Georgia, serif; font-size: 1.35rem; }.progress-form input[type=range] { width: 100%; accent-color: var(--green); }.update-history { display: grid; align-content: start; gap: 11px; }.update-history > div { padding-bottom: 10px; border-bottom: 1px solid var(--line); }.update-history > div strong { color: var(--green); font-family: 'Playfair Display', Georgia, serif; font-size: 1.2rem; }.update-history > div span { margin-left: 8px; color: var(--muted); font-family: 'DM Mono', Consolas, monospace; font-size: .54rem; }.update-history p { margin: 3px 0 0; color: var(--muted); font-size: .69rem; }.empty-state { display: grid; gap: 6px; padding: 24px 0; color: var(--muted); }.empty-state strong { color: var(--ink); font-family: 'Playfair Display', Georgia, serif; font-size: 1.35rem; }.empty-state span { font-size: .78rem; }.report-list__item { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 0; border-top: 1px solid var(--line); }.report-list__item:first-of-type { border-top: 0; }.report-list__item > div { display: grid; gap: 3px; }.report-list__item strong { font-size: .77rem; }.report-list__item span:not(.badge) { color: var(--muted); font-size: .62rem; }.report-list__item.is-selected strong { color: var(--green); }.message-thread { display: grid; gap: 13px; margin-bottom: 23px; }.message-bubble { max-width: 80%; padding: 14px 16px; border-radius: 12px 12px 12px 2px; background: var(--paper-warm); }.message-bubble--admin { justify-self: end; border-radius: 12px 12px 2px 12px; color: var(--paper); background: var(--green); }.message-bubble span { font-family: 'DM Mono', Consolas, monospace; font-size: .53rem; letter-spacing: .06em; text-transform: uppercase; opacity: .68; }.message-bubble p { margin: 8px 0 0; font-size: .76rem; }.term-count { display: grid; gap: 0; padding: 15px 0 25px; border-bottom: 1px solid var(--line); }.term-count strong { color: var(--green); font-family: 'Playfair Display', Georgia, serif; font-size: 4.5rem; line-height: .9; }.term-count span { color: var(--muted); font-family: 'DM Mono', Consolas, monospace; font-size: .57rem; text-transform: uppercase; }.term-dates { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 23px; }.term-dates div { display: grid; gap: 4px; }.term-dates span, .payment-list__row span { color: var(--muted); font-size: .62rem; }.term-dates strong { font-family: 'Playfair Display', Georgia, serif; font-size: 1.16rem; }.payment-list { display: grid; gap: 0; }.payment-list__row { display: flex; justify-content: space-between; gap: 15px; padding: 16px 0; border-top: 1px solid var(--line); }.payment-list__row:first-child { border-top: 0; }.payment-list__row > div { display: grid; gap: 4px; }.payment-list__row > div:last-child { justify-items: end; }.payment-list__row strong { font-size: .75rem; }.payment-list__row > div:last-child strong { color: var(--green); font-family: 'Playfair Display', Georgia, serif; font-size: 1.24rem; }

/* Admin tables and content */
.admin-body .app-main { background: #eef0e9; }.queue-list { display: grid; gap: 0; }.queue-list a { display: grid; grid-template-columns: 50px 1fr auto; align-items: center; gap: 15px; padding: 14px 0; border-top: 1px solid var(--line); }.queue-list a:first-child { border-top: 0; }.queue-list a > strong { color: var(--green); font-family: 'Playfair Display', Georgia, serif; font-size: 1.7rem; }.queue-list a span { display: grid; gap: 2px; }.queue-list a b { font-size: .75rem; }.queue-list a small { color: var(--muted); font-size: .63rem; }.queue-list a i { color: var(--green); font-style: normal; }.admin-note-panel { color: var(--paper); background: var(--green); }.admin-note-panel .panel-kicker { color: var(--gold-light); }.admin-note-panel h2 { margin: 9px 0 14px; font-size: 2.3rem; }.admin-note-panel p { max-width: 260px; color: rgba(247,245,239,.7); font-size: .78rem; }.admin-note-panel .button { margin-top: 10px; color: var(--ink); background: var(--gold-light); }.table-wrap { overflow-x: auto; }.data-table { width: 100%; border-collapse: collapse; text-align: left; }.data-table th { padding: 0 14px 13px; color: var(--muted); font-family: 'DM Mono', Consolas, monospace; font-size: .56rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }.data-table td { padding: 15px 14px; border-top: 1px solid var(--line); color: rgba(18,60,50,.8); font-size: .72rem; vertical-align: middle; }.data-table td:first-child, .data-table th:first-child { padding-left: 0; }.data-table td:last-child, .data-table th:last-child { padding-right: 0; }.data-table td strong { display: block; color: var(--ink); font-size: .74rem; }.data-table td small { display: block; margin-top: 3px; color: var(--muted); font-size: .6rem; }.data-table .badge { margin-top: 4px; }.table-link { color: var(--green); font-size: .65rem; font-weight: 800; text-transform: uppercase; white-space: nowrap; }.table-message { max-width: 270px; }.muted-copy { color: var(--muted); font-size: .62rem; }.inline-actions { display: flex; flex-wrap: wrap; gap: 6px; }.inline-actions form { margin: 0; }.back-link { display: inline-block; margin-bottom: 18px; color: var(--green); font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.user-edit-panel { max-width: 950px; }.inline-review { display: grid; grid-template-columns: 70px minmax(100px, 1fr) auto; gap: 5px; }.inline-review input, .inline-review select { min-width: 0; height: 31px; padding: 4px 6px; border: 1px solid var(--line); border-radius: 5px; color: var(--ink); background: var(--paper); font-size: .62rem; }.content-layout { align-items: start; }.content-block-list { display: grid; gap: 16px; }.content-block-editor { padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }.content-block-editor--new { border-style: dashed; background: var(--white); }.content-block-editor__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }.content-block-editor__id { color: var(--gold); font-family: 'DM Mono', Consolas, monospace; font-size: .65rem; }.content-block-editor .inline-actions { margin-top: 16px; }

/* Motion and responsive */
.reveal { opacity: 0; transform: translateY(18px); transition: opacity 700ms ease, transform 700ms ease; transition-delay: var(--delay, 0ms); }.reveal.is-visible { opacity: 1; transform: translateY(0); }
@keyframes pulse { 0%, 100% { opacity: .65; transform: scale(.85); } 50% { opacity: 1; transform: scale(1.18); } }
@keyframes orbit-spin { from { transform: translate(-50%, -50%) rotate(-22deg) scaleY(.53); } to { transform: translate(-50%, -50%) rotate(338deg) scaleY(.53); } }
@keyframes dot-drift { 0%, 100% { transform: translate(0, 0) scale(.8); } 50% { transform: translate(-8px, 12px) scale(1.18); } }
@keyframes record-float { 0%, 100% { transform: translateY(0) rotate(12deg); } 50% { transform: translateY(-12px) rotate(30deg); } }
@keyframes card-float { 0%, 100% { transform: rotate(7deg) translateY(0); } 50% { transform: rotate(10deg) translateY(-10px); } }
@keyframes shine { 0%, 52% { transform: translateX(-20%) rotate(24deg); } 72%, 100% { transform: translateX(520%) rotate(24deg); } }
@keyframes equalizer { from { transform: scaleY(.55); } to { transform: scaleY(1.08); } }
@keyframes flash-in { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1050px) {
    .home-hero__grid { grid-template-columns: minmax(0, .9fr) minmax(370px, 1fr); gap: 30px; }
    .hero-stage, .stage-surface { min-height: 520px; }.membership-grid { gap: 8%; }.app-shell { grid-template-columns: 220px minmax(0, 1fr); }.app-main { padding-right: 30px; padding-left: 30px; }
}

@media (max-width: 850px) {
    .container { width: min(calc(100% - 42px), 720px); }.site-nav { gap: 15px; }.home-hero { padding-top: 55px; }.home-hero__grid, .auth-grid, .registration-layout, .membership-grid { grid-template-columns: 1fr; }.hero-copy { max-width: 700px; }.hero-stage { width: min(100%, 600px); margin: 25px auto 0; }.section-intro { grid-template-columns: 1fr; gap: 18px; }.section-intro > p { max-width: 550px; }.membership-copy { max-width: 650px; }.fee-board { max-width: 600px; }.registration-aside { order: -1; }.aside-sticky { position: relative; top: auto; }.auth-grid { gap: 45px; }.auth-intro h1 { max-width: 700px; }.auth-orbit, .admin-seal { display: none; }.app-shell { grid-template-columns: 1fr; }.app-sidebar { position: sticky; z-index: 20; top: 72px; display: block; padding: 10px 15px; overflow-x: auto; white-space: nowrap; }.app-sidebar .sidebar-label, .sidebar-bottom { display: none; }.app-nav { display: flex; gap: 5px; }.app-nav a { display: inline-flex; padding: 10px 12px; }.app-main { padding: 38px 22px 65px; }.stat-grid { grid-template-columns: repeat(2, 1fr); }.dashboard-grid, .two-column { grid-template-columns: 1fr; }.panel--wide { min-height: auto; }
}

@media (max-width: 620px) {
    .container { width: calc(100% - 34px); }.nav-shell { min-height: 72px; }.brand-mark { width: 40px; height: 40px; }.brand-copy strong { font-size: .82rem; }.menu-toggle { display: inline-flex; }.site-nav { position: absolute; top: 100%; right: 0; left: 0; display: grid; gap: 0; padding: 13px 17px 21px; border-bottom: 1px solid var(--line); background: rgba(247,245,239,.98); box-shadow: 0 18px 25px rgba(18,60,50,.08); opacity: 0; pointer-events: none; transform: translateY(-8px); transition: opacity 180ms ease, transform 180ms ease; }.site-header.is-open .site-nav { opacity: 1; pointer-events: auto; transform: translateY(0); }.site-nav > a:not(.button) { padding: 13px 0; border-bottom: 1px solid var(--line); }.site-nav > a:not(.button)::after { bottom: -1px; }.site-nav .button { width: 100%; margin-top: 15px; }.home-hero { min-height: auto; padding-top: 58px; padding-bottom: 70px; }.hero-copy h1 { font-size: clamp(3rem, 15vw, 5rem); }.hero-lead { font-size: .93rem; }.hero-actions { align-items: flex-start; flex-direction: column; gap: 22px; }.hero-stage, .stage-surface { min-height: 450px; }.stage-surface { border-radius: 37% 37% 18px 18px; }.logo-card-wrap { top: 26%; width: 62%; left: 19%; }.record { width: 105px; height: 105px; }.waveform { height: 65px; }.floating-tag { font-size: .47rem; }.floating-tag--top { top: 18%; right: 2%; }.floating-tag--bottom { right: 2%; bottom: 20%; }.stage-label { font-size: .48rem; }.stage-label--top { top: 21px; right: 20px; }.stage-label--bottom { bottom: 19px; left: 20px; }.section { padding: 80px 0; }.section-intro h2, .membership-copy h2 { font-size: 3rem; }.feature-grid { grid-template-columns: 1fr; }.feature-card { min-height: 250px; }.payment-summary, .form-fields--two { grid-template-columns: 1fr; }.field--wide { grid-column: auto; }.registration-form { padding: 23px 17px; }.registration-submit { align-items: stretch; flex-direction: column; }.registration-submit p { max-width: none; }.auth-page, .registration-page { padding-top: 59px; }.auth-card { padding: 23px 18px; }.app-topbar { padding: 0 17px; }.topbar-welcome { display: none; }.app-main { padding-right: 17px; padding-left: 17px; }.app-heading { align-items: flex-start; flex-direction: column; gap: 12px; margin-bottom: 28px; }.app-heading h1 { font-size: 3rem; }.stat-grid { grid-template-columns: 1fr 1fr; gap: 8px; }.stat-card { min-height: 125px; padding: 15px; }.stat-card > strong { font-size: 1.7rem; }.dashboard-grid, .two-column { gap: 0; }.panel { padding: 20px 17px; border-radius: 13px; }.panel-heading { gap: 10px; }.panel-heading h2 { font-size: 1.68rem; }.quick-links { grid-template-columns: 1fr; }.goal-row { grid-template-columns: 1fr; gap: 12px; }.goal-row__progress { max-width: 100%; }.goal-row > .badge { justify-self: start; }.goal-card__head { flex-direction: column; gap: 10px; }.goal-score { justify-items: start; }.goal-card h2 { font-size: 1.75rem; }.goal-card__body { grid-template-columns: 1fr; gap: 29px; }.message-bubble { max-width: 94%; }.data-table { min-width: 760px; }.data-table th, .data-table td { padding-right: 9px; padding-left: 9px; }.inline-review { grid-template-columns: 65px minmax(100px, 1fr) auto; }.footer-grid { grid-template-columns: 1fr !important; gap: 31px !important; }.footer-admin, .footer-links { justify-self: start !important; }.site-footer { padding-top: 55px !important; }.footer-bottom { align-items: flex-start !important; flex-direction: column; gap: 13px; }.flash { top: 82px; right: 17px; left: 17px; max-width: none; }
}

@media (max-width: 620px) {
    .home-hero__grid {
        grid-template-columns: minmax(0, 1fr);
        min-width: 0;
    }
    .hero-copy, .hero-copy h1, .hero-lead {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
    .hero-lead { overflow-wrap: anywhere; }
    .hero-copy h1 {
        font-size: clamp(2.2rem, 11.2vw, 4.2rem);
        letter-spacing: -.055em;
        line-height: .98;
        white-space: normal;
        word-break: normal;
        overflow-wrap: normal;
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .reveal { opacity: 1; transform: none; }
}

/* Footer */
.site-footer { padding: 75px 0 25px; color: var(--paper); background: var(--ink-deep); }.footer-grid { display: grid; grid-template-columns: 1.1fr .8fr .8fr; gap: 60px; padding-bottom: 58px; }.brand--footer .brand-mark { border-color: rgba(243,216,159,.45); background: var(--paper); }.brand--footer .brand-copy strong { color: var(--paper); }.brand--footer .brand-copy small { color: var(--gold-light); }.footer-note { max-width: 260px; margin: 20px 0 0; color: rgba(247,245,239,.56); font-size: .77rem; }.footer-links, .footer-admin { display: grid; align-content: start; justify-self: end; gap: 10px; }.footer-links > a { color: var(--gold-light); font-size: .78rem; font-weight: 700; }.footer-links > span:last-child { color: rgba(247,245,239,.55); font-size: .68rem; }.admin-entry { display: flex; gap: 9px; color: var(--gold-light); font-size: .8rem; font-weight: 800; }.footer-socials { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 12px; color: rgba(247,245,239,.58); font-size: .62rem; }.footer-socials a:hover { color: var(--gold-light); }.footer-bottom { display: flex; align-items: center; justify-content: space-between; padding-top: 18px; border-top: 1px solid rgba(247,245,239,.14); color: rgba(247,245,239,.45); font-family: 'DM Mono', Consolas, monospace; font-size: .55rem; letter-spacing: .08em; text-transform: uppercase; }
.home-footer-fees { position: relative; padding: 21px 0 22px; border-bottom: 1px solid rgba(247,245,239,.14); background: linear-gradient(90deg, rgba(217,168,91,.1), rgba(255,255,255,.035) 52%, rgba(29,96,77,.16)); }
.home-footer-fees__inner { display: grid; grid-template-columns: minmax(165px, .62fr) minmax(0, 1.38fr); align-items: center; gap: 24px; }
.home-footer-fees__label { color: var(--gold-light); font-family: 'DM Mono', Consolas, monospace; font-size: .59rem; letter-spacing: .16em; line-height: 1.45; text-transform: uppercase; }
.home-footer-fees__items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; min-width: 0; }
.home-footer-fees__item { display: grid; gap: 4px; min-width: 0; padding-left: 16px; border-left: 1px solid rgba(243,216,159,.3); }
.home-footer-fees__item strong { color: var(--paper); font-family: 'Playfair Display', Georgia, serif; font-size: 1.28rem; letter-spacing: -.04em; line-height: 1; white-space: nowrap; }
.home-footer-fees__item small { overflow-wrap: anywhere; color: rgba(247,245,239,.58); font-family: 'DM Mono', Consolas, monospace; font-size: .52rem; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; }

/* Teacher entry and review states */
.nav-teacher { color: var(--gold) !important; }
.hero-teacher-entry { display: flex; align-items: center; gap: 12px; max-width: 520px; margin-top: 27px; padding: 13px 15px; border: 1px solid rgba(18,60,50,.15); border-radius: 13px; background: rgba(255,253,247,.58); }
.hero-teacher-entry__mark { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border-radius: 50%; color: var(--paper); background: var(--gold); font-family: 'DM Mono', Consolas, monospace; font-size: .68rem; }
.hero-teacher-entry > div { display: grid; gap: 2px; min-width: 0; }
.hero-teacher-entry strong { font-size: .7rem; }
.hero-teacher-entry > div span { color: var(--muted); font-size: .62rem; }
.hero-teacher-entry > a { margin-left: auto; color: var(--green); font-size: .61rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }
.teacher-portal-strip { padding-top: 44px; padding-bottom: 44px; background: var(--gold-light); }
.teacher-portal-strip__inner { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.teacher-portal-strip h2 { max-width: 600px; margin-bottom: 13px; font-size: clamp(2.3rem, 4vw, 4.5rem); }
.teacher-portal-strip p:not(.eyebrow) { max-width: 560px; margin-bottom: 0; color: rgba(18,60,50,.7); font-size: .82rem; }
.teacher-portal-strip__actions { display: grid; justify-items: start; gap: 18px; flex: 0 0 auto; }
.footer-teacher-entry { color: var(--paper); font-size: .72rem; font-weight: 700; }
.button--outline { border-color: var(--line); color: var(--green); background: transparent; }
.badge--info { color: #245b73; background: #d8ebf3; }
.panel--notice { color: var(--green); background: var(--green-soft); }
.panel--notice strong { font-weight: 800; }
.field-hint, .pending-copy { color: var(--muted); font-size: .68rem; }

.milestone-builder { display: grid; gap: 13px; margin-top: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper-warm); }
.milestone-builder__head { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.milestone-builder__head > div { display: grid; gap: 3px; }
.milestone-builder__head strong { font-size: .82rem; }
.weight-total { color: var(--green); font-family: 'Playfair Display', Georgia, serif; font-size: 1.6rem; }
.weight-total.is-valid { color: var(--green); }
.weight-total.is-invalid { color: var(--red); }
.milestone-rows { display: grid; gap: 11px; }
.milestone-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 92px 28px; align-items: end; gap: 9px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); }
.milestone-row .field { gap: 5px; }
.milestone-row .field label { font-size: .55rem; }
.milestone-row .field input { min-height: 39px; padding: 8px; font-size: .74rem; }
.milestone-remove { width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; color: var(--red); background: #f2d8d1; font-size: 1.1rem; line-height: 1; }
.milestone-remove:disabled { cursor: not-allowed; opacity: .45; }
.score-band-list { display: grid; gap: 0; margin-top: 22px; }
.score-band-list > div { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 11px 0; border-top: 1px solid var(--line); }
.score-band-list strong { color: var(--green); font-family: 'DM Mono', Consolas, monospace; font-size: .64rem; }
.score-band-list span { font-size: .73rem; font-weight: 700; }
.goal-status-line { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 17px; }
.approval-note { color: var(--muted); font-size: .67rem; }
.teacher-milestone-list { display: grid; gap: 13px; }
.teacher-milestone { padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper-warm); }
.teacher-milestone__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; margin-bottom: 13px; }
.teacher-milestone__heading > div { min-width: 0; }
.teacher-milestone__heading > div > span { color: var(--gold); font-family: 'DM Mono', Consolas, monospace; font-size: .56rem; text-transform: uppercase; }
.teacher-milestone__heading h3 { margin: 4px 0; font-size: 1.02rem; }
.teacher-milestone__heading p { margin: 0; color: var(--muted); font-size: .69rem; }
.teacher-milestone__heading > strong { color: var(--green); font-family: 'Playfair Display', Georgia, serif; font-size: 1.6rem; white-space: nowrap; }
.milestone-progress-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .72fr) auto; align-items: end; gap: 10px; }
.milestone-progress-form .field:first-child { display: grid; grid-template-columns: 1fr auto; align-items: center; }
.milestone-progress-form .field:first-child label { grid-column: 1 / -1; }
.milestone-progress-form output { color: var(--green); font-family: 'Playfair Display', Georgia, serif; font-size: 1.2rem; }
.milestone-progress-form input[type=range] { width: 100%; accent-color: var(--green); }
.approval-lock { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.approval-lock small { color: var(--muted); font-size: .67rem; }
.lesson-list { display: grid; gap: 0; }
.lesson-row { display: grid; grid-template-columns: 125px minmax(0, 1fr) auto; align-items: start; gap: 22px; padding: 18px 0; border-top: 1px solid var(--line); }
.lesson-row:first-child { border-top: 0; }
.lesson-row__date { display: grid; gap: 4px; }
.lesson-row__date strong { color: var(--green); font-family: 'Playfair Display', Georgia, serif; font-size: 1.1rem; }
.lesson-row__date span { color: var(--muted); font-size: .63rem; }
.lesson-row h3 { margin: 4px 0; font-size: 1.08rem; }
.lesson-row p { margin: 0; color: var(--muted); font-size: .7rem; }

@media (max-width: 850px) {
    .teacher-portal-strip__inner { align-items: flex-start; flex-direction: column; }
    .teacher-portal-strip__actions { grid-template-columns: auto auto; align-items: center; }
    .milestone-progress-form { grid-template-columns: 1fr 1fr; }
    .milestone-progress-form .button { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 620px) {
    .site-nav .nav-teacher { border-bottom: 1px solid var(--line); }
    .hero-teacher-entry { align-items: flex-start; flex-wrap: wrap; }
    .hero-teacher-entry > a { width: 100%; margin-left: 42px; }
    .teacher-portal-strip__actions { grid-template-columns: 1fr; }
    .milestone-row { grid-template-columns: 1fr 1fr; }
    .milestone-row .milestone-weight { grid-column: 1 / 2; }
    .milestone-remove { align-self: end; }
    .milestone-progress-form { grid-template-columns: 1fr; }
    .milestone-progress-form .field:first-child { grid-template-columns: 1fr auto; }
    .lesson-row { grid-template-columns: 1fr; gap: 10px; }
}

.weekly-plan-days,
.assigned-goal-list { display: grid; gap: 16px; }

.weekly-plan-day {
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 18px;
    background: rgba(255, 255, 255, .52);
}

.weekly-plan-day__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.weekly-plan-day__head > div:last-child {
    display: grid;
    gap: 3px;
    text-align: right;
}

.weekly-plan-day__head strong { font-size: 1.05rem; }
.weekly-plan-day__head small { color: var(--muted); }

.weekly-archive-days {
    display: grid;
    gap: 7px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
}

.weekly-archive-days div {
    display: flex;
    gap: 10px;
    color: var(--muted);
    font-size: .83rem;
}

.weekly-archive-days strong { color: var(--ink); min-width: 88px; }

.assigned-goal-card { margin: 0; }

@media (max-width: 620px) {
    .weekly-plan-day { padding: 14px; }
    .weekly-plan-day__head { align-items: flex-start; flex-direction: column; }
    .weekly-plan-day__head > div:last-child { text-align: left; }
    .weekly-archive-days div { display: grid; gap: 2px; }
}

/* HIZE live-studio visual system */
:root {
    --ink: #102b27;
    --ink-deep: #061613;
    --green: #1a6b55;
    --green-soft: #d7ebe0;
    --paper: #f4f2e9;
    --paper-warm: #eee9dc;
    --gold: #c98238;
    --gold-light: #f2d69a;
    --red: #b35b4b;
    --line: rgba(16, 43, 39, .14);
    --muted: rgba(16, 43, 39, .62);
    --white: #fffdf7;
    --shadow: 0 32px 90px rgba(6, 22, 19, .15);
    --radius: 24px;
    --container: 1280px;
}

::selection { color: var(--ink-deep); background: var(--gold-light); }
body { background: var(--paper); }
body::before { position: fixed; z-index: -3; inset: 0; pointer-events: none; content: ""; opacity: .36; background-image: radial-gradient(rgba(16,43,39,.12) .6px, transparent .6px); background-size: 7px 7px; mask-image: linear-gradient(to bottom, #000, transparent 68%); }
.ambient { filter: blur(18px); opacity: .72; }
.ambient--one { background: #d9a857; }
.ambient--two { background: #96c8ad; }

.site-header { border-bottom: 1px solid rgba(16,43,39,.1); background: rgba(244,242,233,.72); box-shadow: 0 12px 45px rgba(6,22,19,.05); backdrop-filter: blur(20px); }
.site-header.is-scrolled { background: rgba(244,242,233,.94); box-shadow: 0 14px 35px rgba(6,22,19,.1); }
.nav-shell { min-height: 84px; }
.brand-mark { border: 1px solid rgba(242,214,154,.64); box-shadow: 0 8px 24px rgba(6,22,19,.13); }
.brand-copy strong { letter-spacing: .04em; }
.site-nav { align-items: center; gap: 26px; }
.site-nav > a:not(.button) { color: rgba(16,43,39,.7); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.site-nav > a:not(.button):hover, .site-nav .nav-login { color: var(--green); }
.button { min-height: 47px; border-radius: 999px; box-shadow: 0 12px 24px rgba(6,22,19,.1); letter-spacing: .08em; }
.button--primary { color: var(--ink-deep); background: linear-gradient(135deg, #f5d999, #c98238); box-shadow: 0 14px 30px rgba(201,130,56,.24); }
.button--primary:hover { box-shadow: 0 18px 35px rgba(201,130,56,.34); transform: translateY(-2px); }
.button--dark { background: linear-gradient(135deg, #173e34, #071a16); }
.text-link { color: var(--green); font-weight: 800; }
.text-link span, .button span:last-child { transition: transform .25s ease; }
.text-link:hover span, .button:hover span:last-child { transform: translate(3px, -3px); }

.home-hero { position: relative; min-height: calc(100svh - 84px); padding: clamp(60px, 8vw, 112px) 0 86px; isolation: isolate; background: radial-gradient(circle at 85% 18%, rgba(242,214,154,.24), transparent 31%), linear-gradient(135deg, #f4f2e9 0%, #e9eee5 55%, #d5e3d8 100%); }
.home-hero::before { position: absolute; z-index: -1; inset: 0; pointer-events: none; content: ""; opacity: .3; background: linear-gradient(90deg, transparent 49.8%, rgba(16,43,39,.13) 50%, transparent 50.2%), linear-gradient(rgba(16,43,39,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(16,43,39,.09) 1px, transparent 1px); background-size: 100% 100%, 88px 88px, 88px 88px; mask-image: linear-gradient(to bottom, #000, transparent 75%); }
.home-hero__grid { grid-template-columns: minmax(0, .82fr) minmax(480px, 1.18fr); align-items: center; gap: clamp(40px, 7vw, 110px); }
.hero-copy { max-width: 620px; }
.hero-copy h1 { max-width: 680px; color: var(--ink-deep); font-size: clamp(4.2rem, 7.7vw, 8.4rem); letter-spacing: -.085em; line-height: .86; }
.hero-copy h1::after { display: block; width: 70px; height: 5px; margin-top: 29px; content: ""; border-radius: 99px; background: var(--gold); box-shadow: 0 0 28px rgba(201,130,56,.5); }
.hero-lead { max-width: 510px; margin-top: 34px; color: rgba(16,43,39,.7); font-size: 1.02rem; }
.hero-actions { margin-top: 35px; }
.hero-meta { margin-top: 34px; color: rgba(16,43,39,.57); font-family: 'DM Mono', Consolas, monospace; font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }
.hero-teacher-entry { border-color: rgba(26,107,85,.18); background: rgba(255,253,247,.62); box-shadow: 0 15px 32px rgba(6,22,19,.06); }
.hero-stage { width: 100%; max-width: 690px; margin-left: auto; perspective: 1400px; }
.stage-surface { min-height: clamp(530px, 62vw, 720px); border: 1px solid rgba(242,214,154,.5); border-radius: 43% 43% 24px 24px; background: #08201b; box-shadow: 0 42px 80px rgba(6,22,19,.27), inset 0 0 90px rgba(242,214,154,.08); transform: rotateX(var(--tilt-y, 0deg)) rotateY(var(--tilt-x, 0deg)); transform-style: preserve-3d; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.stage-image { position: absolute; z-index: 0; inset: 0; overflow: hidden; border-radius: inherit; opacity: .87; mix-blend-mode: screen; transform: translateZ(-30px) scale(1.05); }
.stage-image img { width: 100%; height: 100%; object-fit: cover; opacity: .78; animation: studio-breathe 12s ease-in-out infinite; }
.stage-surface::before { position: absolute; z-index: 2; inset: 0; border-radius: inherit; pointer-events: none; content: ""; background: linear-gradient(115deg, rgba(242,214,154,.2), transparent 24%, transparent 70%, rgba(242,214,154,.12)); mix-blend-mode: screen; }
.stage-surface::after { position: absolute; z-index: 2; inset: 0; border-radius: inherit; pointer-events: none; content: ""; box-shadow: inset 0 0 70px rgba(0,0,0,.42); }
.stage-grid { z-index: 3; opacity: .5; background-image: linear-gradient(rgba(242,214,154,.13) 1px, transparent 1px), linear-gradient(90deg, rgba(242,214,154,.13) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(to bottom, transparent, #000 35%, transparent 100%); }
.stage-label, .floating-tag, .waveform-wrap, .record-wrap, .logo-card-wrap, .orbit, .orbit-dot { z-index: 4; }
.stage-label { color: rgba(242,214,154,.76); letter-spacing: .16em; }
.logo-card { border: 1px solid rgba(242,214,154,.62); box-shadow: 0 35px 45px rgba(0,0,0,.35), 0 0 40px rgba(242,214,154,.15); background: rgba(244,242,233,.94); }
.logo-card__shine { opacity: .64; }
.record { box-shadow: 0 22px 42px rgba(0,0,0,.5); }
.floating-tag { border-color: rgba(242,214,154,.38); color: var(--gold-light); background: rgba(6,22,19,.68); box-shadow: 0 10px 25px rgba(0,0,0,.22); backdrop-filter: blur(12px); }
.stage-shadow { background: radial-gradient(ellipse, rgba(6,22,19,.35), transparent 70%); }

.section { padding: clamp(80px, 10vw, 138px) 0; }
.signal-summary { background: linear-gradient(180deg, #f4f2e9, #e8eee7); }
.section-intro h2, .membership-copy h2 { color: var(--ink-deep); font-size: clamp(2.8rem, 5vw, 5.8rem); letter-spacing: -.075em; line-height: .95; }
.section-intro > p, .membership-copy > p { color: rgba(16,43,39,.66); }
.feature-grid { grid-template-columns: repeat(3, 1fr); gap: 17px; }
.feature-card { min-height: 280px; border: 1px solid rgba(16,43,39,.12); border-radius: 22px; box-shadow: 0 22px 45px rgba(6,22,19,.07); transition: transform .35s ease, box-shadow .35s ease; }
.feature-card:hover { box-shadow: 0 29px 62px rgba(6,22,19,.15); transform: translateY(-8px) rotate(-1deg); }
.feature-card--green { background: linear-gradient(145deg, #cfe6d7, #a9d1bb); }
.feature-card--gold { background: linear-gradient(145deg, #f4dca5, #d88c46); }
.feature-card--ink { color: var(--paper); background: linear-gradient(145deg, #164b3c, #061a16); }
.feature-card__arrow { font-size: 1.6rem; }
.membership { background: #102b27; }
.membership-copy h2 { color: var(--paper); }
.membership-copy > p { color: rgba(244,242,233,.67); }
.fee-board { border: 1px solid rgba(242,214,154,.35); border-radius: 25px; background: rgba(255,253,247,.08); box-shadow: 0 32px 70px rgba(0,0,0,.2); backdrop-filter: blur(18px); }
.fee-board__row { border-color: rgba(242,214,154,.18); }
.fee-board__row > span, .fee-board__row small { color: rgba(244,242,233,.58); }
.fee-board__row strong { color: var(--gold-light); }
.fee-board__row--highlight { background: rgba(242,214,154,.1); }
.teacher-portal-strip { background: linear-gradient(100deg, #e8c37b, #f3d89f); }
.site-footer { position: relative; overflow: hidden; background: linear-gradient(145deg, #061613, #102b27); }
.site-footer::before { position: absolute; top: -190px; right: -120px; width: 520px; height: 520px; content: ""; border: 1px solid rgba(242,214,154,.22); border-radius: 50%; box-shadow: 0 0 0 35px rgba(242,214,154,.04), 0 0 0 70px rgba(242,214,154,.025); }

.registration-page, .auth-page { position: relative; isolation: isolate; background: linear-gradient(145deg, #f4f2e9, #dce9de); }
.registration-heading, .auth-grid { position: relative; z-index: 1; }
.registration-heading h1, .auth-intro h1 { color: var(--ink-deep); font-size: clamp(3.3rem, 7vw, 7.2rem); letter-spacing: -.08em; line-height: .88; }
.registration-form, .auth-card { border: 1px solid rgba(16,43,39,.12); border-radius: 25px; box-shadow: 0 30px 80px rgba(6,22,19,.12); background: rgba(255,253,247,.8); backdrop-filter: blur(18px); }
.form-section { border-color: rgba(16,43,39,.12); }
.form-section__heading span { color: var(--gold); }
.field input, .field select, .field textarea { border-color: rgba(16,43,39,.16); border-radius: 12px; background: rgba(255,255,255,.7); }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(201,130,56,.13); }
.payment-summary { border: 1px solid rgba(201,130,56,.26); border-radius: 18px; background: linear-gradient(135deg, rgba(242,214,154,.26), rgba(215,235,224,.46)); }
.payment-summary__total { border-color: rgba(16,43,39,.16); }
.payment-summary small { display: block; margin-top: 6px; color: var(--muted); font-size: .62rem; }
.registration-aside { color: var(--paper); }
.aside-sticky { border-radius: 24px; background: linear-gradient(145deg, #164b3c, #061613); box-shadow: 0 30px 70px rgba(6,22,19,.24); }

.app-body { color: var(--ink); background: #edf2ec; }
.app-topbar { min-height: 74px; border-bottom: 1px solid rgba(242,214,154,.17); background: linear-gradient(100deg, #061613, #123c32 62%, #1a6b55); box-shadow: 0 15px 35px rgba(6,22,19,.15); }
.app-topbar .brand-copy strong { color: var(--paper); }
.app-topbar .brand-copy small { color: var(--gold-light); }
.app-shell { min-height: calc(100vh - 74px); }
.app-sidebar { color: rgba(244,242,233,.68); background: #071a16; border-right: 1px solid rgba(242,214,154,.1); }
.sidebar-label { color: rgba(242,214,154,.53); }
.app-nav a { border-radius: 10px; color: rgba(244,242,233,.62); }
.app-nav a:hover, .app-nav a.is-active { color: var(--paper); background: rgba(242,214,154,.12); }
.app-nav a.is-active .nav-dot { background: var(--gold-light); box-shadow: 0 0 14px rgba(242,214,154,.7); }
.sidebar-bottom a { color: var(--gold-light); }
.app-main { background: radial-gradient(circle at 90% 0%, rgba(242,214,154,.2), transparent 30%), #edf2ec; }
.app-heading h1 { color: var(--ink-deep); font-size: clamp(3rem, 5vw, 5.6rem); letter-spacing: -.075em; line-height: .9; }
.app-date { color: var(--muted); }
.stat-card, .panel { border: 1px solid rgba(16,43,39,.11); border-radius: 20px; box-shadow: 0 18px 42px rgba(6,22,19,.06); background: rgba(255,253,247,.76); backdrop-filter: blur(12px); }
.stat-card--dark { color: var(--paper); background: linear-gradient(145deg, #164b3c, #061613); }
.stat-card > strong { color: var(--green); }
.stat-card--dark > strong { color: var(--gold-light); }
.panel-heading h2 { color: var(--ink-deep); letter-spacing: -.04em; }
.panel-kicker, .eyebrow { color: var(--gold); }
.panel-lead, .empty-state span, .field-hint { color: var(--muted); }
.progress-bar { background: rgba(16,43,39,.12); }
.progress-bar span { background: linear-gradient(90deg, var(--green), var(--gold)); box-shadow: 0 0 16px rgba(201,130,56,.3); }
.quick-links a { border-color: rgba(16,43,39,.12); border-radius: 14px; background: rgba(255,255,255,.55); transition: transform .25s ease, border-color .25s ease; }
.quick-links a:hover { border-color: rgba(201,130,56,.6); transform: translateY(-3px); }
.goal-card, .assigned-goal-card, .weekly-plan-day, .teacher-milestone { border-color: rgba(16,43,39,.12); box-shadow: 0 12px 28px rgba(6,22,19,.04); background: rgba(255,253,247,.74); }
.goal-score strong, .teacher-milestone__heading > strong, .term-count strong { color: var(--green); }
.data-table td { border-color: rgba(16,43,39,.1); }
.data-table th { color: rgba(16,43,39,.55); }
.data-table td strong { color: var(--ink-deep); }
.data-table tr:hover td { background: rgba(242,214,154,.08); }
.profile-admin-identity { display: flex; align-items: center; gap: 17px; margin: 0 0 22px; padding: 15px; border: 1px solid rgba(201,130,56,.22); border-radius: 18px; background: linear-gradient(135deg, rgba(242,214,154,.2), rgba(215,235,224,.3)); }
.profile-admin-identity > div:last-child { display: grid; gap: 3px; }
.profile-admin-identity p { margin: 0; color: var(--muted); font-size: .74rem; }
.profile-admin-identity small { color: var(--muted); font-size: .62rem; }
.profile-avatar { display: inline-grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; overflow: hidden; border: 1px solid rgba(242,214,154,.56); border-radius: 50%; color: var(--ink-deep); background: linear-gradient(135deg, var(--gold-light), var(--gold)); font-family: 'DM Mono', Consolas, monospace; font-size: .58rem; font-weight: 800; letter-spacing: .04em; box-shadow: 0 5px 14px rgba(0,0,0,.18); }
.profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.profile-avatar--large { width: 92px; height: 92px; flex-basis: 92px; font-size: 1rem; }
.topbar-profile { display: inline-flex; align-items: center; gap: 9px; }
.topbar-profile .profile-avatar { border-color: rgba(242,214,154,.8); }
.profile-fact { border-top-color: rgba(16,43,39,.12); }
.flash, .alert { border-radius: 13px; box-shadow: 0 18px 40px rgba(6,22,19,.13); }
.badge--warning { color: #88531c; background: #f5e0b7; }
.badge--success { color: #14523d; background: #cfe8d9; }
.badge--danger { color: #8d3e35; background: #f0d4cf; }
.admin-body .app-main { background: radial-gradient(circle at 80% 0%, rgba(242,214,154,.18), transparent 28%), #e8eee8; }
.admin-note-panel { background: linear-gradient(145deg, #164b3c, #061613); }

@keyframes studio-breathe { 0%, 100% { transform: scale(1.04) translate3d(0, 0, 0); filter: saturate(.95) brightness(.9); } 50% { transform: scale(1.1) translate3d(-1.3%, -1%, 0); filter: saturate(1.15) brightness(1.05); } }

@media (max-width: 1050px) {
    .home-hero__grid { grid-template-columns: minmax(0, .9fr) minmax(390px, 1fr); gap: 36px; }
    .hero-copy h1 { font-size: clamp(4rem, 8vw, 6.5rem); }
}

@media (max-width: 850px) {
    .home-hero__grid { grid-template-columns: 1fr; }
    .hero-copy { max-width: 720px; }
    .hero-stage { max-width: 720px; margin: 10px auto 0; }
    .feature-grid { grid-template-columns: 1fr; }
    .feature-card { min-height: 225px; }
    .profile-admin-identity { align-items: flex-start; }
}

@media (max-width: 620px) {
    .hero-copy h1 { font-size: clamp(3.3rem, 16vw, 5.6rem); }
    .hero-stage { width: 100%; }
    .stage-surface { min-height: 440px; border-radius: 35% 35% 18px 18px; }
    .stage-image img { object-position: 58% center; }
    .app-topbar { min-height: 68px; }
    .topbar-profile .topbar-welcome { display: none; }
    .profile-admin-identity { padding: 12px; }
    .profile-avatar--large { width: 72px; height: 72px; flex-basis: 72px; }
}

@media (prefers-reduced-motion: reduce) {
    .stage-image img { animation: none; }
    .stage-surface { transform: none !important; }
    .feature-card:hover, .quick-links a:hover, .button--primary:hover { transform: none; }
}

/* Compact HIZE access home */
:root {
    --home-night: #070d16;
    --home-night-soft: #0d1724;
    --home-panel: rgba(17, 29, 44, .82);
    --home-ivory: #f6f0e4;
    --home-muted: rgba(246, 240, 228, .67);
    --home-cyan: #6de2dc;
    --home-cyan-deep: #2eb6bb;
    --home-coral: #ff8a72;
    --home-lilac: #bca8ff;
    --home-line: rgba(246, 240, 228, .16);
    --home-shadow: 0 28px 80px rgba(0, 0, 0, .28);
}

body.home-page-body {
    min-height: 100svh;
    overflow: hidden;
    color: var(--home-ivory);
    background: var(--home-night);
}

body.home-page-body .ambient { display: none; }

body.home-page-body .site-header {
    min-height: 84px;
    border-bottom-color: rgba(246, 240, 228, .12);
    background: rgba(7, 13, 22, .78);
    box-shadow: 0 18px 45px rgba(0, 0, 0, .16);
    backdrop-filter: blur(22px);
}

body.home-page-body .site-header.is-scrolled { background: rgba(7, 13, 22, .94); }
body.home-page-body .brand-copy strong { color: var(--home-ivory); }
body.home-page-body .brand-copy small { color: var(--home-cyan); }
body.home-page-body .brand-mark { border-color: rgba(109, 226, 220, .45); background: #111d2c; }
body.home-page-body .site-nav > a:not(.button) { color: rgba(246, 240, 228, .72); }
body.home-page-body .site-nav > a:not(.button):hover,
body.home-page-body .site-nav .nav-login { color: var(--home-cyan); }
body.home-page-body .site-nav > a:not(.button)::after { background: var(--home-cyan); }
body.home-page-body .button--light { color: var(--home-night); background: var(--home-ivory); box-shadow: 0 10px 25px rgba(246, 240, 228, .12); }
body.home-page-body .button--light:hover { color: var(--home-night); background: var(--home-cyan); }
body.home-page-body .menu-toggle { color: var(--home-ivory); }

.home-page,
.home-screen {
    width: 100%;
    height: calc(100svh - 84px);
    min-height: 0;
}

.home-screen {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(circle at 72% 14%, rgba(109, 226, 220, .1), transparent 22%),
        radial-gradient(circle at 12% 86%, rgba(188, 168, 255, .1), transparent 27%),
        linear-gradient(135deg, #070d16 0%, #0b1521 54%, #101a2c 100%);
}

.home-screen__glow,
.home-screen__grain {
    position: absolute;
    pointer-events: none;
}

.home-screen__glow { z-index: -1; width: 32vw; height: 32vw; border-radius: 50%; filter: blur(10px); opacity: .55; }
.home-screen__glow--one { top: -20%; right: 18%; background: radial-gradient(circle, rgba(109, 226, 220, .3), transparent 68%); animation: home-glow-drift 10s ease-in-out infinite; }
.home-screen__glow--two { bottom: -31%; left: -8%; background: radial-gradient(circle, rgba(255, 138, 114, .18), transparent 68%); animation: home-glow-drift 13s ease-in-out infinite reverse; }
.home-screen__grain { z-index: -1; inset: 0; opacity: .16; background-image: radial-gradient(rgba(246, 240, 228, .35) .55px, transparent .65px); background-size: 6px 6px; mask-image: linear-gradient(to bottom, #000, transparent 88%); }

.home-screen__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(350px, .88fr) minmax(420px, 1.12fr);
    grid-template-areas:
        "copy visual"
        "access visual"
        "footnote visual";
    grid-template-rows: auto auto 1fr;
    align-items: center;
    gap: clamp(34px, 5.5vw, 90px);
    height: calc(100% - 58px);
    padding-top: 20px;
}

.home-copy { position: relative; z-index: 4; grid-area: copy; width: min(100%, 560px); }
.home-kicker { display: flex; align-items: center; flex-wrap: wrap; gap: 13px; margin-bottom: 24px; color: rgba(246, 240, 228, .48); font-family: 'DM Mono', Consolas, monospace; font-size: .57rem; letter-spacing: .14em; text-transform: uppercase; }
.home-kicker > span:not(:first-child)::before { display: inline-block; width: 4px; height: 4px; margin: 0 12px 2px 0; border-radius: 50%; background: var(--home-coral); content: ''; }
.home-kicker__live { display: inline-flex; align-items: center; gap: 8px; color: var(--home-cyan); }
.home-kicker__live i { width: 7px; height: 7px; border-radius: 50%; background: var(--home-coral); box-shadow: 0 0 0 5px rgba(255, 138, 114, .14), 0 0 16px rgba(255, 138, 114, .7); animation: pulse 2.2s ease-in-out infinite; }
.eyebrow--home { margin-bottom: 17px; color: var(--home-cyan); }
.home-copy h1 { max-width: 610px; margin-bottom: 22px; color: var(--home-ivory); font-size: clamp(3.4rem, 6.4vw, 6.9rem); letter-spacing: -.085em; line-height: .87; }
.home-copy h1 em { color: var(--home-coral); font-style: normal; text-shadow: 0 0 28px rgba(255, 138, 114, .18); }
.home-copy h1::after { display: block; width: 58px; height: 4px; margin-top: 23px; border-radius: 99px; background: linear-gradient(90deg, var(--home-cyan), var(--home-coral)); box-shadow: 0 0 22px rgba(109, 226, 220, .34); content: ''; }
.home-lead { max-width: 470px; margin-bottom: 22px; color: var(--home-muted); font-size: .91rem; line-height: 1.65; }

.home-access-grid { display: grid; grid-area: access; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; width: 100%; max-width: 620px; justify-self: start; }
.home-access-card { display: grid; grid-template-columns: 31px minmax(0, 1fr) auto; align-items: center; gap: 14px; min-height: 138px; padding: 20px 19px; border: 1px solid var(--home-line); border-radius: 20px; color: var(--home-ivory); background: rgba(17, 29, 44, .66); box-shadow: 0 18px 38px rgba(0, 0, 0, .16); transition: border-color 220ms ease, background 220ms ease, box-shadow 220ms ease, transform 220ms ease; }
.home-access-card:hover { border-color: rgba(109, 226, 220, .7); background: rgba(25, 46, 65, .9); box-shadow: 0 19px 35px rgba(0, 0, 0, .22), 0 0 24px rgba(109, 226, 220, .1); transform: translateY(-3px); }
.home-access-card--primary { border-color: rgba(255, 138, 114, .5); background: linear-gradient(135deg, rgba(255, 138, 114, .2), rgba(17, 29, 44, .86)); }
.home-access-card--primary:hover { border-color: var(--home-coral); background: linear-gradient(135deg, rgba(255, 138, 114, .3), rgba(17, 29, 44, .9)); }
.home-access-card__index { align-self: start; padding-top: 2px; color: var(--home-cyan); font-family: 'DM Mono', Consolas, monospace; font-size: .72rem; letter-spacing: .08em; }
.home-access-card--primary .home-access-card__index { color: var(--home-coral); }
.home-access-card strong, .home-access-card small { display: block; }
.home-access-card strong { font-size: 1rem; font-weight: 800; letter-spacing: .03em; line-height: 1.2; }
.home-access-card small { margin-top: 7px; color: rgba(246, 240, 228, .62); font-size: .72rem; line-height: 1.35; }
.home-access-card b { color: var(--home-cyan); font-size: 1.45rem; font-weight: 400; transition: transform 220ms ease; }
.home-access-card:hover b { color: var(--home-coral); transform: translate(2px, -2px); }
.home-footnote { display: flex; grid-area: footnote; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 0; align-self: start; color: rgba(246, 240, 228, .43); font-family: 'DM Mono', Consolas, monospace; font-size: .56rem; letter-spacing: .08em; text-transform: uppercase; }
.home-footnote i { width: 22px; height: 1px; background: var(--home-line); }
.home-footnote .pulse-dot { width: 6px; height: 6px; background: var(--home-coral); box-shadow: 0 0 0 4px rgba(255, 138, 114, .11); }

.home-visual { position: relative; z-index: 2; grid-area: visual; width: min(100%, 680px); min-height: 0; justify-self: end; align-self: center; }
.home-visual .stage-surface { height: min(67vh, 620px); min-height: 395px; border: 1px solid rgba(109, 226, 220, .32); border-radius: 38px 38px 118px 38px; background: radial-gradient(circle at 48% 40%, rgba(47, 151, 166, .32), transparent 36%), linear-gradient(135deg, #102c3b, #080f1c 72%); box-shadow: 0 40px 80px rgba(0, 0, 0, .42), inset 0 0 90px rgba(109, 226, 220, .07); }
.home-visual .stage-image { opacity: .65; }
.home-visual .stage-image img { opacity: .73; }
.home-visual .stage-grid { opacity: .42; background-image: linear-gradient(rgba(109, 226, 220, .16) 1px, transparent 1px), linear-gradient(90deg, rgba(109, 226, 220, .16) 1px, transparent 1px); }
.home-visual .stage-label { color: rgba(109, 226, 220, .75); }
.home-visual .orbit { border-color: rgba(109, 226, 220, .48); }
.home-visual .orbit--b { border-color: rgba(255, 138, 114, .46); }
.home-visual .orbit-dot--a { background: var(--home-coral); box-shadow: 0 0 17px rgba(255, 138, 114, .9); }
.home-visual .orbit-dot--b { background: var(--home-cyan); box-shadow: 0 0 16px rgba(109, 226, 220, .8); }
.home-visual .record { background: radial-gradient(circle at 38% 32%, #315565, #050a11 64%); }
.home-visual .record-label { background: var(--home-coral); }
.home-visual .logo-card { border-color: rgba(109, 226, 220, .68); background: linear-gradient(145deg, #d9fbef, #73cacd); box-shadow: 20px 30px 45px rgba(0, 0, 0, .42), 0 0 45px rgba(109, 226, 220, .18); }
.home-visual .logo-card__footer { color: #0b252c; }
.home-visual .waveform { border-color: rgba(109, 226, 220, .38); background: rgba(4, 14, 23, .42); }
.home-visual .waveform i { background: linear-gradient(to top, var(--home-coral), var(--home-cyan)); }
.home-visual .floating-tag { border-color: rgba(109, 226, 220, .42); color: var(--home-cyan); background: rgba(5, 14, 23, .72); }
.home-visual .floating-tag--bottom strong { color: var(--home-coral); }
.home-visual .stage-shadow { background: radial-gradient(ellipse, rgba(0, 0, 0, .48), transparent 70%); }

/* The admin control is a deliberately quiet circular touch target. */
.home-admin-hotspot { position: fixed; z-index: 70; right: 12px; bottom: 12px; width: 190px; height: 48px; }
.home-admin-hotspot__trigger { position: absolute; top: 0; right: 0; z-index: 2; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%; outline: 0; color: transparent; background: transparent; cursor: pointer; }
.home-admin-hotspot__trigger:focus-visible { box-shadow: 0 0 0 3px rgba(109, 226, 220, .8), 0 0 0 6px rgba(7, 13, 22, .9); }
.home-admin-hotspot__link { position: absolute; right: 0; bottom: 0; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border: 1px solid rgba(109, 226, 220, .55); border-radius: 999px; opacity: 0; pointer-events: none; color: var(--home-ivory); background: rgba(7, 13, 22, .94); box-shadow: 0 16px 35px rgba(0, 0, 0, .35); font-family: 'DM Mono', Consolas, monospace; font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; transform: translateY(6px) scale(.92); transform-origin: right bottom; transition: opacity 180ms ease, transform 180ms ease, border-color 180ms ease; }
.home-admin-hotspot__link span:last-child { color: var(--home-coral); font-size: .95rem; }
.home-admin-hotspot:hover .home-admin-hotspot__link,
.home-admin-hotspot:focus-within .home-admin-hotspot__link,
.home-admin-hotspot.is-revealed .home-admin-hotspot__link { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); }
.home-admin-hotspot:hover .home-admin-hotspot__trigger,
.home-admin-hotspot.is-revealed .home-admin-hotspot__trigger { background: rgba(109, 226, 220, .08); }
.home-admin-hotspot__link:hover { border-color: var(--home-coral); }

/* Unified registration and sign-in room */
body.access-body { color: var(--ink); background: #e8eef0; }
.access-page { position: relative; min-height: calc(100svh - 84px); overflow: hidden; isolation: isolate; padding: clamp(42px, 6vw, 78px) 0 100px; background: radial-gradient(circle at 87% 7%, rgba(109, 226, 220, .22), transparent 27%), radial-gradient(circle at 4% 86%, rgba(255, 138, 114, .12), transparent 26%), linear-gradient(135deg, #eaf0ed 0%, #dce8e6 48%, #cbdde0 100%); }
.access-page::before { position: absolute; z-index: -1; inset: 0; pointer-events: none; content: ''; opacity: .28; background-image: linear-gradient(rgba(16, 43, 39, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(16, 43, 39, .08) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to bottom, #000, transparent 84%); }
.access-page__glow { position: absolute; z-index: -1; width: 320px; height: 320px; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.access-page__glow--one { top: 8%; right: -130px; background: radial-gradient(circle, rgba(109, 226, 220, .35), transparent 68%); }
.access-page__glow--two { bottom: 3%; left: -150px; background: radial-gradient(circle, rgba(255, 138, 114, .24), transparent 68%); }
.access-shell { position: relative; z-index: 1; width: min(calc(100% - 64px), 1160px); }
.access-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 30px; margin-bottom: 32px; }
.access-heading h1 { max-width: 760px; margin: 0 0 18px; color: var(--ink-deep); font-size: clamp(3rem, 6.4vw, 6.8rem); letter-spacing: -.08em; line-height: .88; }
.access-heading p:not(.eyebrow) { max-width: 520px; margin: 0; color: var(--muted); font-size: .96rem; }
.access-heading__mark { display: grid; gap: 5px; min-width: 140px; padding: 22px 18px; border: 1px solid rgba(16, 43, 39, .15); border-radius: 50%; color: var(--ink-deep); background: rgba(255, 253, 247, .5); text-align: center; transform: rotate(8deg); }
.access-heading__mark span { font-family: 'Playfair Display', Georgia, serif; font-size: 2rem; font-weight: 700; letter-spacing: -.08em; }
.access-heading__mark small { color: var(--green); font-family: 'DM Mono', Consolas, monospace; font-size: .5rem; letter-spacing: .1em; text-transform: uppercase; }
.access-switcher { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; padding: 7px; border: 1px solid rgba(16, 43, 39, .13); border-radius: 999px; background: rgba(255, 253, 247, .54); box-shadow: 0 15px 30px rgba(6, 22, 19, .06); backdrop-filter: blur(14px); }
.access-switcher__role, .access-switcher__action { display: flex; align-items: center; gap: 4px; }
.access-switcher a { display: inline-flex; align-items: center; justify-content: center; min-height: 39px; padding: 0 17px; border-radius: 999px; color: rgba(16, 43, 39, .58); font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; transition: color 180ms ease, background 180ms ease, box-shadow 180ms ease; }
.access-switcher a:hover { color: var(--ink-deep); }
.access-switcher a.is-active { color: var(--ink-deep); background: var(--home-cyan); box-shadow: 0 8px 17px rgba(46, 182, 187, .2); }
.access-switcher__action a.is-active { color: var(--home-ivory); background: var(--ink-deep); box-shadow: 0 8px 17px rgba(6, 22, 19, .16); }
.access-form { width: 100%; margin: 0 auto; }
.access-form--wide { padding: clamp(25px, 4vw, 44px); }
.access-form--login { max-width: 660px; padding: clamp(28px, 5vw, 52px); }
.access-form__intro { display: flex; align-items: flex-start; gap: 18px; margin-bottom: 28px; }
.access-form__number { flex: 0 0 auto; padding-top: 7px; color: var(--home-coral); font-family: 'DM Mono', Consolas, monospace; font-size: .6rem; letter-spacing: .11em; }
.access-form__intro h2 { margin: 0 0 7px; color: var(--ink-deep); font-size: clamp(1.75rem, 3vw, 2.75rem); letter-spacing: -.05em; }
.access-form__intro p { max-width: 560px; margin: 0; color: var(--muted); font-size: .78rem; }
.access-form__section { padding: 28px 0; border-top: 1px solid rgba(16, 43, 39, .12); }
.access-form__section:first-of-type { padding-top: 0; border-top: 0; }
.access-form__section-label { margin-bottom: 17px; color: var(--green); font-family: 'DM Mono', Consolas, monospace; font-size: .6rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.access-form__submit { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding-top: 28px; border-top: 1px solid rgba(16, 43, 39, .12); }
.access-form__submit > span { max-width: 360px; color: var(--muted); font-size: .72rem; }
.access-form .button--primary { color: var(--ink-deep); }
.access-form--login .access-form__intro { margin-bottom: 34px; }
.access-form--login .button { margin-top: 5px; }
.access-form--login .auth-footnote { margin-bottom: 0; }
.access-form--login.auth-card { background: rgba(255, 253, 247, .84); }

@keyframes home-glow-drift { 0%, 100% { transform: translate3d(0, 0, 0) scale(1); } 50% { transform: translate3d(-18px, 15px, 0) scale(1.08); } }

@media (max-width: 1050px) {
    .home-screen__grid { grid-template-columns: minmax(320px, .85fr) minmax(360px, 1.15fr); gap: 32px; }
    .home-copy h1 { font-size: clamp(3.2rem, 7vw, 5.8rem); }
    .home-visual .stage-surface { height: min(64vh, 570px); min-height: 365px; }
}

@media (max-width: 850px) {
    body.home-page-body .site-header { min-height: 76px; }
    .home-page, .home-screen { height: calc(100svh - 76px); }
    .home-screen__grid { display: block; height: 100%; padding-top: 24px; }
    .home-copy { width: min(100%, 650px); }
    .home-visual { position: absolute; z-index: 1; top: 3%; right: -12%; bottom: 14%; left: 24%; width: auto; max-width: none; opacity: .34; pointer-events: none; }
    .home-visual .stage-surface { height: 100%; min-height: 0; }
    .home-copy h1 { max-width: 590px; }
    .access-heading { grid-template-columns: 1fr; }
    .access-heading__mark { display: none; }
}

@media (max-width: 620px) {
    body.home-page-body .site-header { min-height: 72px; }
    body.home-page-body .site-nav { background: rgba(7, 13, 22, .98); border-bottom-color: rgba(246, 240, 228, .12); }
    body.home-page-body .site-nav > a:not(.button) { color: rgba(246, 240, 228, .78); border-bottom-color: rgba(246, 240, 228, .12); }
    body.home-page-body .site-nav > a:not(.button):hover { color: var(--home-cyan); }
    .home-page, .home-screen { height: calc(100svh - 72px); }
    .home-screen__grid { padding-top: 15px; }
    .home-kicker { gap: 8px; margin-bottom: 15px; font-size: .5rem; }
    .home-kicker > span:not(:first-child)::before { margin-right: 8px; }
    .eyebrow--home { margin-bottom: 12px; font-size: .56rem; }
    .home-copy h1 { max-width: 480px; margin-bottom: 15px; font-size: clamp(3rem, 15vw, 4.9rem); }
    .home-copy h1::after { width: 44px; height: 3px; margin-top: 16px; }
    .home-lead { max-width: 390px; margin-bottom: 16px; font-size: .77rem; line-height: 1.45; }
    .home-access-grid { gap: 7px; }
    .home-access-card { min-height: 57px; padding: 8px 9px; border-radius: 12px; }
    .home-access-card strong { font-size: .66rem; }
    .home-access-card small { font-size: .53rem; }
    .home-access-card b { font-size: .9rem; }
    .home-footnote { gap: 7px; margin-top: 13px; font-size: .48rem; }
    .home-footnote i { width: 12px; }
    .home-visual { top: 13%; right: -25%; bottom: 17%; left: 19%; opacity: .22; }
    .home-admin-hotspot { right: 8px; bottom: 8px; }
    .access-page { min-height: calc(100svh - 72px); padding: 34px 0 70px; }
    .access-shell { width: calc(100% - 34px); }
    .access-heading { margin-bottom: 22px; }
    .access-heading h1 { margin-bottom: 13px; font-size: clamp(2.9rem, 14vw, 4.9rem); }
    .access-heading p:not(.eyebrow) { font-size: .82rem; }
    .access-switcher { align-items: stretch; flex-direction: column; border-radius: 18px; }
    .access-switcher__role, .access-switcher__action { display: grid; grid-template-columns: repeat(2, 1fr); }
    .access-switcher a { min-height: 36px; padding: 0 9px; font-size: .55rem; }
    .access-form--wide, .access-form--login { padding: 22px 16px; }
    .access-form__intro { gap: 11px; margin-bottom: 22px; }
    .access-form__number { font-size: .52rem; }
    .access-form__intro h2 { font-size: 1.65rem; }
    .access-form__intro p { font-size: .7rem; }
    .access-form__section { padding: 22px 0; }
    .access-form__submit { align-items: stretch; flex-direction: column; gap: 15px; }
    .access-form__submit .button { width: 100%; }
}

@media (max-width: 410px) {
    .home-kicker > span:last-child { display: none; }
    .home-copy h1 { font-size: clamp(2.8rem, 14vw, 4.2rem); }
    .home-access-card { grid-template-columns: 22px minmax(0, 1fr) auto; gap: 8px; min-height: 105px; padding: 12px 10px; }
    .home-access-card strong { font-size: .76rem; }
    .home-access-card small { font-size: .57rem; }
    .home-footnote span:last-child { max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

@media (max-height: 700px) and (min-width: 621px) {
    .home-screen__grid { padding-top: 8px; }
    .home-kicker { margin-bottom: 12px; }
    .home-copy h1 { font-size: clamp(3rem, 6vw, 5.4rem); margin-bottom: 13px; }
    .home-copy h1::after { margin-top: 15px; }
    .home-lead { margin-bottom: 14px; font-size: .82rem; }
    .home-access-card { min-height: 112px; }
    .home-footnote { margin-top: 11px; }
    .home-visual .stage-surface { min-height: 330px; }
}

@media (prefers-reduced-motion: reduce) {
    .home-screen__glow--one, .home-screen__glow--two, .home-kicker__live i { animation: none; }
    .home-access-card, .home-admin-hotspot__link { transition: none; }
    .home-visual .stage-image img, .home-visual .record, .home-visual .logo-card, .home-visual .orbit, .home-visual .orbit-dot, .home-visual .waveform i { animation: none; }
}

/* Final responsive sizing pass for every homepage viewport */
body.home-page-body {
    --home-header-height: 84px;
    --home-gutter: clamp(16px, 4vw, 48px);
    overflow-x: hidden;
}

body.home-page-body .site-header,
body.home-page-body .nav-shell { min-height: var(--home-header-height); }

body.home-page-body .container {
    width: min(calc(100% - (var(--home-gutter) * 2)), var(--container));
}

.home-page,
.home-screen {
    height: calc(100svh - var(--home-header-height));
}

@supports (height: 100dvh) {
    .home-page,
    .home-screen { height: calc(100dvh - var(--home-header-height)); }
}

.home-screen__grid {
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
    gap: clamp(22px, 5vw, 78px);
    min-width: 0;
    padding-right: 0;
    padding-left: 0;
}

.home-copy,
.home-visual,
.home-access-grid,
.home-access-card { min-width: 0; }

.home-copy { padding-bottom: clamp(18px, 2.5vh, 34px); }
.home-access-card > span:nth-child(2) { min-width: 0; }
.home-access-card strong,
.home-access-card small { overflow-wrap: anywhere; }
.home-visual .stage-surface { height: clamp(340px, 64svh, 620px); min-height: 0; }
    .home-admin-hotspot { right: max(10px, env(safe-area-inset-right)); bottom: max(10px, env(safe-area-inset-bottom)); }

@media (max-width: 1100px) {
    body.home-page-body { --home-gutter: clamp(18px, 3.2vw, 34px); }
    .home-screen__grid { gap: clamp(20px, 3.2vw, 38px); }
    .home-copy h1 { font-size: clamp(3.1rem, 6.4vw, 5.8rem); }
    .home-visual .stage-surface { height: clamp(330px, 60svh, 540px); }
    .home-access-card { min-height: 126px; padding-right: 15px; padding-left: 15px; }
}

@media (max-width: 760px) {
    body.home-page-body { --home-header-height: 76px; --home-gutter: 22px; }
    body.home-page-body .site-header { position: relative; }
    body.home-page-body .menu-toggle { display: inline-flex; }
    body.home-page-body .site-nav {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        display: grid;
        gap: 0;
        padding: 12px var(--home-gutter) 20px;
        border-bottom: 1px solid rgba(246, 240, 228, .12);
        background: rgba(7, 13, 22, .98);
        box-shadow: 0 18px 30px rgba(0, 0, 0, .22);
        opacity: 0;
        pointer-events: none;
        transform: translateY(-8px);
        transition: opacity 180ms ease, transform 180ms ease;
    }
    body.home-page-body .site-header.is-open .site-nav { opacity: 1; pointer-events: auto; transform: translateY(0); }
    body.home-page-body .site-nav > a:not(.button) { padding: 12px 0; border-bottom: 1px solid rgba(246, 240, 228, .12); }
    body.home-page-body .site-nav > a:not(.button)::after { bottom: -1px; }
    body.home-page-body .site-nav .button { width: 100%; margin-top: 14px; }
    .home-screen__grid { display: block; height: 100%; padding-top: clamp(14px, 3vh, 28px); }
    .home-copy { position: relative; z-index: 4; width: min(100%, 640px); padding-bottom: 64px; }
    .home-copy h1 { max-width: 620px; font-size: clamp(3.2rem, 9vw, 5.4rem); }
    .home-visual { position: absolute; z-index: 1; top: 3%; right: -14%; bottom: 15%; left: 22%; width: auto; max-width: none; opacity: .3; pointer-events: none; }
    .home-visual .stage-surface { height: 100%; min-height: 0; }
    }

@media (max-width: 480px) {
    body.home-page-body { --home-header-height: 72px; --home-gutter: 17px; }
    .home-screen__grid { padding-top: 12px; }
    .home-copy { padding-bottom: 54px; }
    .home-kicker { gap: 7px; margin-bottom: 13px; font-size: .49rem; }
    .eyebrow--home { margin-bottom: 10px; }
    .home-copy h1 { max-width: 440px; margin-bottom: 13px; font-size: clamp(2.8rem, 13.5vw, 4.5rem); line-height: .86; }
    .home-copy h1::after { width: 43px; height: 3px; margin-top: 14px; }
    .home-lead { max-width: 390px; margin-bottom: 14px; font-size: .74rem; line-height: 1.42; }
    .home-access-grid { gap: 6px; }
    .home-access-card { grid-template-columns: 24px minmax(0, 1fr) auto; gap: 10px; min-height: 112px; padding: 14px 13px; border-radius: 16px; }
    .home-access-card strong { font-size: .82rem; line-height: 1.2; }
    .home-access-card small { margin-top: 5px; font-size: .61rem; line-height: 1.25; }
    .home-access-card b { font-size: 1.15rem; }
    .home-footnote { gap: 6px; margin-top: 12px; font-size: .46rem; }
    .home-footnote i { width: 10px; }
    .home-visual { top: 14%; right: -28%; bottom: 18%; left: 16%; opacity: .2; }
}

@media (max-width: 350px) {
    .home-kicker > span:last-child { display: none; }
    .home-copy h1 { font-size: clamp(2.65rem, 13vw, 3.8rem); }
    .home-access-card strong { font-size: .72rem; }
    .home-access-card small { font-size: .54rem; }
    .home-footnote span:last-child { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

@media (max-height: 700px) and (min-width: 761px) {
    .home-screen__grid { height: calc(100% - 45px); padding-top: 6px; }
    .home-copy { padding-bottom: 10px; }
    .home-kicker { margin-bottom: 11px; }
    .home-copy h1 { margin-bottom: 12px; font-size: clamp(2.9rem, 5.9vw, 5.2rem); }
    .home-copy h1::after { margin-top: 14px; }
    .home-lead { margin-bottom: 12px; font-size: .79rem; }
    .home-access-grid { gap: 7px; }
    .home-access-card { min-height: 108px; }
    .home-footnote { margin-top: 10px; }
    .home-visual .stage-surface { height: min(52svh, 420px); min-height: 280px; }
}

@media (orientation: landscape) and (max-height: 560px) {
    body.home-page-body { --home-header-height: 64px; }
    body.home-page-body .site-header,
    body.home-page-body .nav-shell { min-height: var(--home-header-height); }
    .home-screen__grid { padding-top: 4px; }
    .home-copy h1 { font-size: clamp(2.6rem, 7.8vh, 4.4rem); }
    .home-copy h1::after { margin-top: 10px; }
    .home-lead { margin-bottom: 9px; font-size: .72rem; }
    .home-access-card { min-height: 88px; padding-top: 10px; padding-bottom: 10px; }
    .home-access-card strong { font-size: .72rem; }
    .home-access-card small { display: block; font-size: .51rem; }
    .home-footnote { margin-top: 8px; }
    .home-visual .stage-surface { height: min(48svh, 310px); }
}

/* Gentle homepage scroll: the hero fills the first view and the signal strip follows just below it. */
body.home-page-body {
    --home-scroll-space: clamp(56px, 8vh, 88px);
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: rgba(109, 226, 220, .72) rgba(246, 240, 228, .08);
    scroll-behavior: smooth;
}

body.home-page-body::-webkit-scrollbar { width: 8px; }
body.home-page-body::-webkit-scrollbar-track { background: rgba(246, 240, 228, .08); }
body.home-page-body::-webkit-scrollbar-thumb { border: 2px solid var(--home-night); border-radius: 999px; background: linear-gradient(var(--home-cyan), var(--home-coral)); }
body.home-page-body::-webkit-scrollbar-thumb:hover { background: var(--home-ivory); }

.home-page,
.home-screen {
    height: calc(100svh - var(--home-header-height) + var(--home-scroll-space));
}

@supports (height: 100dvh) {
    .home-page,
    .home-screen { height: calc(100dvh - var(--home-header-height) + var(--home-scroll-space)); }
}

.home-screen__grid { height: calc(100% - 58px - var(--home-scroll-space)); }

.home-scroll-cue {
    position: fixed;
    z-index: 8;
    bottom: max(14px, env(safe-area-inset-bottom));
    left: 50%;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 6px;
    color: rgba(246, 240, 228, .62);
    font-family: 'DM Mono', Consolas, monospace;
    font-size: .5rem;
    letter-spacing: .13em;
    text-transform: uppercase;
    pointer-events: none;
    transform: translateX(-50%);
    transition: opacity 280ms ease, transform 280ms ease;
}

.home-scroll-cue i {
    position: relative;
    display: block;
    width: 1px;
    height: 26px;
    background: linear-gradient(to bottom, var(--home-cyan), rgba(109, 226, 220, 0));
    animation: home-scroll-pulse 2.2s ease-in-out infinite;
}

.home-scroll-cue i::after {
    position: absolute;
    bottom: 2px;
    left: 50%;
    width: 6px;
    height: 6px;
    border-right: 1px solid var(--home-coral);
    border-bottom: 1px solid var(--home-coral);
    content: '';
    transform: translateX(-50%) rotate(45deg);
}

body.home-page-body.has-scrolled .home-scroll-cue {
    opacity: 0;
    transform: translate(-50%, 9px);
}

@keyframes home-scroll-pulse {
    0%, 100% { opacity: .45; transform: scaleY(.8); transform-origin: top; }
    50% { opacity: 1; transform: scaleY(1); transform-origin: top; }
}

@media (max-width: 760px) {
    body.home-page-body { --home-scroll-space: clamp(48px, 8vh, 64px); }
    .home-screen__grid { height: calc(100% - var(--home-scroll-space)); }
    .home-scroll-cue { bottom: max(12px, env(safe-area-inset-bottom)); font-size: .45rem; }
    .home-scroll-cue i { height: 21px; }
}

@media (max-width: 480px) {
    body.home-page-body { --home-scroll-space: clamp(44px, 7vh, 56px); }
    .home-scroll-cue { bottom: max(10px, env(safe-area-inset-bottom)); }
}

@media (max-height: 700px) and (min-width: 761px) {
    .home-screen__grid { height: calc(100% - 45px - var(--home-scroll-space)); }
}

@media (orientation: landscape) and (max-height: 560px) {
    body.home-page-body { --home-scroll-space: clamp(40px, 8vh, 56px); }
    .home-screen__grid { height: calc(100% - 42px - var(--home-scroll-space)); }
    .home-scroll-cue { bottom: 7px; }
}

@media (max-width: 760px) and (orientation: landscape) and (max-height: 560px) {
    .home-screen__grid { height: calc(100% - var(--home-scroll-space)); }
}

@media (prefers-reduced-motion: reduce) {
    body.home-page-body { scroll-behavior: auto; }
    .home-scroll-cue { transition: none; }
    .home-scroll-cue i { animation: none; }
}

/* HIZE MUSIC brand palette: warm white, forest green, and yellow gold */
:root {
    --ink: #123c32;
    --ink-deep: #0b2822;
    --green: #1d604d;
    --green-soft: #dcebe1;
    --paper: #f7f5ef;
    --paper-warm: #efeadf;
    --gold: #d9a85b;
    --gold-light: #f3d89f;
    --line: rgba(18, 60, 50, .16);
    --muted: rgba(18, 60, 50, .64);
    --white: #fffdf7;
    --home-cyan: #1d604d;
    --home-cyan-deep: #123c32;
    --home-coral: #d9a85b;
    --home-lilac: #dcebe1;
}

body { color: var(--ink); background: var(--paper); }
body::before { background-image: radial-gradient(rgba(18, 60, 50, .1) .6px, transparent .6px); }

body.home-page-body {
    --home-night: #0b2822;
    --home-night-soft: #123c32;
    --home-panel: rgba(255, 253, 247, .86);
    --home-ivory: #fffdf7;
    --home-muted: rgba(18, 60, 50, .66);
    --home-line: rgba(18, 60, 50, .16);
    --home-shadow: 0 28px 80px rgba(18, 60, 50, .15);
    color: var(--ink);
    background: var(--paper);
    min-width: 0;
    scrollbar-color: var(--green) rgba(18, 60, 50, .09);
}

body.home-page-body .site-header {
    border-bottom-color: rgba(18, 60, 50, .13);
    background: rgba(247, 245, 239, .86);
    box-shadow: 0 14px 38px rgba(18, 60, 50, .08);
}

body.home-page-body .site-header.is-scrolled { background: rgba(247, 245, 239, .97); }
body.home-page-body .brand-copy strong { color: var(--ink-deep); }
body.home-page-body .brand-copy small { color: var(--green); }
body.home-page-body .brand-mark { border-color: rgba(217, 168, 91, .7); background: var(--green); }
body.home-page-body .site-nav > a:not(.button) { color: rgba(18, 60, 50, .76); }
body.home-page-body .site-nav > a:not(.button):hover,
body.home-page-body .site-nav .nav-login { color: var(--green); }
body.home-page-body .site-nav > a:not(.button)::after { background: var(--gold); }
body.home-page-body .button--light { color: var(--paper); background: var(--green); box-shadow: 0 12px 25px rgba(18, 60, 50, .16); }
body.home-page-body .button--light:hover { color: var(--ink-deep); background: var(--gold); }
body.home-page-body .menu-toggle { color: var(--ink); }

.home-screen {
    color: var(--ink);
    background:
        radial-gradient(circle at 78% 12%, rgba(217, 168, 91, .22), transparent 24%),
        radial-gradient(circle at 11% 88%, rgba(29, 96, 77, .12), transparent 29%),
        linear-gradient(135deg, #f7f5ef 0%, #eef3eb 57%, #dcebe1 100%);
}

.home-screen__glow--one { background: radial-gradient(circle, rgba(217, 168, 91, .3), transparent 68%); }
.home-screen__glow--two { background: radial-gradient(circle, rgba(29, 96, 77, .18), transparent 68%); }
.home-screen__grain { opacity: .22; background-image: radial-gradient(rgba(18, 60, 50, .2) .55px, transparent .65px); }
.home-kicker { color: rgba(18, 60, 50, .58); }
.home-kicker > span:not(:first-child)::before { background: var(--gold); }
.home-kicker__live { color: var(--green); }
.home-kicker__live i { background: var(--gold); box-shadow: 0 0 0 5px rgba(217, 168, 91, .16), 0 0 16px rgba(217, 168, 91, .62); }
.eyebrow--home { color: var(--green); }
.home-copy h1 { color: var(--ink-deep); }
.home-copy h1 em { color: var(--gold); text-shadow: 0 0 28px rgba(217, 168, 91, .24); }
.home-copy h1::after { background: linear-gradient(90deg, var(--green), var(--gold)); box-shadow: 0 0 22px rgba(217, 168, 91, .34); }
.home-lead { color: rgba(18, 60, 50, .7); }

.home-access-card {
    border-color: rgba(18, 60, 50, .16);
    color: var(--ink);
    background: rgba(255, 253, 247, .82);
    box-shadow: 0 15px 30px rgba(18, 60, 50, .08);
}
.home-access-card:hover { border-color: rgba(29, 96, 77, .52); background: rgba(220, 235, 225, .88); box-shadow: 0 19px 35px rgba(18, 60, 50, .14), 0 0 24px rgba(217, 168, 91, .12); }
.home-access-card--primary { border-color: rgba(29, 96, 77, .5); color: var(--paper); background: linear-gradient(135deg, var(--green), var(--ink-deep)); }
.home-access-card--primary:hover { border-color: var(--gold); background: linear-gradient(135deg, #246f58, var(--green)); }
.home-access-card__index { color: var(--green); }
.home-access-card--primary .home-access-card__index { color: var(--gold-light); }
.home-access-card small { color: rgba(18, 60, 50, .6); }
.home-access-card--primary small { color: rgba(247, 245, 239, .7); }
.home-access-card b { color: var(--green); }
.home-access-card:hover b { color: var(--gold); }
.home-footnote { color: rgba(18, 60, 50, .58); }
.home-footnote i { background: rgba(18, 60, 50, .2); }
.home-footnote .pulse-dot { background: var(--green); box-shadow: 0 0 0 4px rgba(29, 96, 77, .12); }

.home-visual .stage-surface {
    border-color: rgba(217, 168, 91, .54);
    background: radial-gradient(circle at 48% 40%, rgba(217, 168, 91, .27), transparent 36%), linear-gradient(135deg, #164b3c, #061613 72%);
    box-shadow: 0 40px 80px rgba(18, 60, 50, .26), inset 0 0 90px rgba(217, 168, 91, .08);
}
.home-visual .stage-grid { background-image: linear-gradient(rgba(243, 216, 159, .16) 1px, transparent 1px), linear-gradient(90deg, rgba(243, 216, 159, .16) 1px, transparent 1px); }
.home-visual .stage-label { color: rgba(243, 216, 159, .82); }
.home-visual .orbit { border-color: rgba(243, 216, 159, .52); }
.home-visual .orbit--b { border-color: rgba(122, 202, 158, .5); }
.home-visual .orbit-dot--a { background: var(--gold-light); box-shadow: 0 0 17px rgba(243, 216, 159, .9); }
.home-visual .orbit-dot--b { background: #79c69b; box-shadow: 0 0 16px rgba(122, 202, 158, .8); }
.home-visual .record-label { background: var(--gold); }
.home-visual .logo-card { border-color: rgba(217, 168, 91, .72); background: linear-gradient(145deg, #fffdf7, var(--gold-light)); box-shadow: 20px 30px 45px rgba(0, 0, 0, .34), 0 0 45px rgba(217, 168, 91, .18); }
.home-visual .logo-card__footer { color: var(--ink-deep); }
.home-visual .waveform { border-color: rgba(243, 216, 159, .42); background: rgba(6, 22, 19, .42); }
.home-visual .waveform i { background: linear-gradient(to top, var(--green), var(--gold-light)); }
.home-visual .floating-tag { border-color: rgba(243, 216, 159, .45); color: var(--gold-light); background: rgba(6, 22, 19, .72); }
.home-visual .floating-tag--bottom strong { color: var(--gold-light); }
.home-visual .stage-shadow { background: radial-gradient(ellipse, rgba(18, 60, 50, .28), transparent 70%); }

.home-admin-hotspot__trigger:focus-visible { box-shadow: 0 0 0 3px rgba(29, 96, 77, .7), 0 0 0 6px rgba(247, 245, 239, .95); }
.home-admin-hotspot__link { border-color: rgba(217, 168, 91, .72); color: var(--paper); background: rgba(11, 40, 34, .96); }
.home-admin-hotspot__link span:last-child { color: var(--gold-light); }
.home-admin-hotspot:hover .home-admin-hotspot__trigger,
.home-admin-hotspot.is-revealed .home-admin-hotspot__trigger { background: rgba(217, 168, 91, .1); }
.home-admin-hotspot__link:hover { border-color: var(--gold-light); }

.home-scroll-cue { color: rgba(18, 60, 50, .62); }
.home-scroll-cue i { background: linear-gradient(to bottom, var(--green), rgba(29, 96, 77, 0)); }
.home-scroll-cue i::after { border-color: var(--gold); }
body.home-page-body::-webkit-scrollbar-track { background: rgba(18, 60, 50, .08); }
body.home-page-body::-webkit-scrollbar-thumb { border-color: var(--paper); background: linear-gradient(var(--green), var(--gold)); }
body.home-page-body::-webkit-scrollbar-thumb:hover { background: var(--ink-deep); }

/* Match the access room and application shells to the recovered brand. */
body.access-body { background: var(--paper); }
.access-page { background: radial-gradient(circle at 87% 7%, rgba(217, 168, 91, .2), transparent 27%), radial-gradient(circle at 4% 86%, rgba(29, 96, 77, .13), transparent 26%), linear-gradient(135deg, #f7f5ef 0%, #e8f0e8 48%, #dcebe1 100%); }
.access-page__glow--one { background: radial-gradient(circle, rgba(217, 168, 91, .3), transparent 68%); }
.access-page__glow--two { background: radial-gradient(circle, rgba(29, 96, 77, .2), transparent 68%); }
.access-switcher a.is-active { background: var(--green); color: var(--paper); box-shadow: 0 8px 17px rgba(29, 96, 77, .2); }
.access-switcher__action a.is-active { background: var(--ink-deep); color: var(--paper); }
.access-form__number { color: var(--gold); }

body.app-body { background: #edf2ec; }
.app-main { background: radial-gradient(circle at 90% 0%, rgba(217, 168, 91, .16), transparent 30%), #edf2ec; }

/* Rental applications */
.rental-page-body { background: var(--theme-background, var(--paper)); }
.rental-page { min-height: calc(100vh - 84px); padding: clamp(58px, 8vw, 105px) 0 110px; background: radial-gradient(circle at 86% 8%, rgba(217,168,91,.2), transparent 28%), linear-gradient(135deg, var(--theme-background, #f7f5ef), var(--theme-surface, #fffdf7)); }
.rental-heading { max-width: 900px; margin-bottom: 40px; }
.rental-heading h1 { max-width: 850px; margin-bottom: 20px; color: var(--theme-text, var(--ink-deep)); font-size: clamp(3.5rem, 7vw, 7.5rem); letter-spacing: -.08em; line-height: .88; }
.rental-heading > p:last-child { max-width: 650px; color: var(--theme-muted, var(--muted)); font-size: 1rem; }
.rental-success { margin-bottom: 28px; }
.rental-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); align-items: start; gap: 24px; }
.rental-catalog, .rental-form-panel { min-width: 0; padding: clamp(22px, 3vw, 34px); border: 1px solid var(--theme-line, var(--line)); border-radius: 24px; background: color-mix(in srgb, var(--theme-surface, #fffdf7) 88%, transparent); box-shadow: 0 28px 70px rgba(18,60,50,.09); backdrop-filter: blur(16px); }
.rental-form-panel { position: sticky; top: 104px; }
.rental-section-heading { display: flex; gap: 16px; margin-bottom: 28px; }
.rental-section-heading > span { color: var(--theme-accent-secondary, var(--gold)); font-family: 'DM Mono', Consolas, monospace; font-size: .68rem; letter-spacing: .1em; }
.rental-section-heading h2 { margin: 0 0 8px; color: var(--theme-text, var(--ink-deep)); font-size: clamp(2rem, 4vw, 3.4rem); }
.rental-section-heading p { margin: 0; color: var(--theme-muted, var(--muted)); font-size: .78rem; }
.rental-package-section + .rental-package-section { margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--theme-line, var(--line)); }
.rental-package-section__heading { display: grid; gap: 4px; margin-bottom: 13px; }
.rental-package-section__heading span { color: var(--theme-accent, var(--green)); font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rental-package-section__heading small { color: var(--theme-muted, var(--muted)); font-size: .7rem; }
.rental-package-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.rental-option { position: relative; display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 13px; min-width: 0; padding: 10px; border: 1px solid var(--theme-line, var(--line)); border-radius: 17px; background: rgba(255,255,255,.46); cursor: pointer; transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease, background 180ms ease; }
.rental-option:hover, .rental-option.is-selected { border-color: var(--theme-accent, var(--green)); background: rgba(220,235,225,.72); box-shadow: 0 13px 28px rgba(18,60,50,.1); transform: translateY(-2px); }
.rental-option > input[type='radio'], .rental-option > input[type='checkbox'] { position: absolute; width: 1px; height: 1px; opacity: 0; }
.rental-option__image { display: block; min-height: 106px; overflow: hidden; border-radius: 12px; background: var(--theme-background, var(--paper-warm)); }
.rental-option__image img { width: 100%; height: 100%; min-height: 106px; object-fit: cover; }
.rental-option__body { display: grid; align-content: start; gap: 6px; min-width: 0; }
.rental-option__body strong { color: var(--theme-text, var(--ink-deep)); font-size: .79rem; line-height: 1.2; }
.rental-option__body small { color: var(--theme-muted, var(--muted)); font-size: .65rem; line-height: 1.45; }
.rental-option__body em { margin-top: auto; color: var(--theme-accent, var(--green)); font-size: .72rem; font-style: normal; font-weight: 800; }
.rental-option__mix { grid-column: 1 / -1; padding-top: 7px; border-top: 1px solid var(--theme-line, var(--line)); color: var(--theme-muted, var(--muted)); font-family: 'DM Mono', Consolas, monospace; font-size: .52rem; letter-spacing: .07em; text-transform: uppercase; }
.rental-selected-preview { display: grid; grid-template-columns: 75px minmax(0, 1fr); align-items: center; gap: 13px; padding: 10px; border: 1px solid var(--theme-line, var(--line)); border-radius: 16px; background: rgba(255,255,255,.5); }
.rental-selected-preview img { width: 75px; height: 75px; border-radius: 11px; object-fit: cover; }
.rental-selected-preview > div { display: grid; gap: 5px; min-width: 0; }
.rental-selected-preview strong { color: var(--theme-text, var(--ink-deep)); font-size: .8rem; }
.rental-selected-preview small { color: var(--theme-muted, var(--muted)); font-size: .64rem; }
.rental-estimate { display: grid; gap: 4px; margin: 17px 0 4px; padding: 18px; border: 1px solid rgba(217,168,91,.38); border-radius: 17px; background: linear-gradient(135deg, rgba(242,214,154,.3), rgba(215,235,224,.45)); }
.rental-estimate span { color: var(--theme-muted, var(--muted)); font-family: 'DM Mono', Consolas, monospace; font-size: .57rem; letter-spacing: .1em; text-transform: uppercase; }
.rental-estimate strong { color: var(--theme-text, var(--ink-deep)); font-family: 'Playfair Display', Georgia, serif; font-size: 2rem; }
.rental-estimate small { color: var(--theme-muted, var(--muted)); font-size: .65rem; }
.rental-form .button { justify-self: stretch; }
.rental-page .field input, .rental-page .field select, .rental-page .field textarea { background: rgba(255,255,255,.7); }
.rental-form--catalog { display: grid; gap: 0; }
.rental-clear-package { justify-self: start; margin-bottom: 4px; padding: 0; border: 0; color: var(--theme-accent, var(--green)); background: transparent; font-size: .64rem; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.rental-clear-package:hover { color: var(--theme-accent-secondary, var(--gold)); }
.rental-item-group + .rental-item-group { margin-top: 24px; }
.rental-item-group__heading { display: grid; gap: 3px; margin-bottom: 10px; }
.rental-item-group__heading strong { color: var(--theme-text, var(--ink-deep)); font-size: .74rem; }
.rental-item-group__heading small { color: var(--theme-muted, var(--muted)); font-size: .64rem; }
.rental-item-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.rental-item-option { grid-template-columns: 70px minmax(0, 1fr) auto; align-items: stretch; }
.rental-item-option .rental-option__image, .rental-item-option .rental-option__image img { min-height: 88px; }
.rental-item-option .rental-option__body { min-width: 0; }
.rental-item-quantity { display: grid; align-content: end; gap: 4px; min-width: 46px; color: var(--theme-muted, var(--muted)); font-family: 'DM Mono', Consolas, monospace; font-size: .5rem; letter-spacing: .08em; text-transform: uppercase; }
.rental-item-quantity input { position: static; width: 48px; height: 34px; padding: 5px; border: 1px solid var(--theme-line, var(--line)); border-radius: 8px; color: var(--theme-text, var(--ink-deep)); background: rgba(255,255,255,.72); font: inherit; font-size: .68rem; opacity: 1; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.rental-custom-items { display: grid; gap: 12px; }
.rental-custom-item { padding: 15px; border: 1px solid var(--theme-line, var(--line)); border-radius: 16px; background: rgba(255,255,255,.48); }
.rental-custom-item__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.rental-custom-item__number { color: var(--theme-accent, var(--green)); font-family: 'DM Mono', Consolas, monospace; font-size: .58rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.rental-item-remove { padding: 0; border: 0; color: var(--theme-muted, var(--muted)); background: transparent; font: inherit; font-size: .62rem; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.rental-item-remove:hover:not(:disabled) { color: var(--theme-accent-secondary, var(--gold)); }
.rental-item-remove:disabled { cursor: not-allowed; opacity: .4; text-decoration: none; }
.rental-add-item { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; width: 100%; margin-top: 12px; padding: 12px 14px; border: 1px dashed var(--theme-accent, var(--green)); border-radius: 12px; color: var(--theme-accent, var(--green)); background: rgba(220,235,225,.35); font: inherit; font-size: .68rem; font-weight: 800; cursor: pointer; }
.rental-add-item:hover { background: rgba(220,235,225,.72); }
.rental-add-item span:last-child { font-size: 1.1rem; line-height: 1; }
.rental-proposal-hint { margin: 12px 0 0; color: var(--theme-muted, var(--muted)); font-size: .64rem; line-height: 1.5; }
.rental-custom-note { display: grid; gap: 4px; margin: 18px 0 21px; padding: 14px; border-left: 3px solid var(--theme-accent-secondary, var(--gold)); background: rgba(217,168,91,.1); }
.rental-custom-note strong { color: var(--theme-text, var(--ink-deep)); font-size: .72rem; }
.rental-custom-note span { color: var(--theme-muted, var(--muted)); font-size: .64rem; line-height: 1.45; }
.rental-form-fields { padding-top: 20px; border-top: 1px solid var(--theme-line, var(--line)); }
.rental-conversation-layout { display: grid; grid-template-columns: minmax(290px, .75fr) minmax(0, 1.25fr); align-items: start; gap: 24px; }
.rental-conversation-summary, .rental-conversation-thread { min-width: 0; }
.rental-conversation-summary .detail-list { margin-bottom: 22px; }
.rental-conversation-selections { display: grid; gap: 9px; padding-top: 20px; border-top: 1px solid var(--theme-line, var(--line)); }
.rental-conversation-selections > div { display: flex; justify-content: space-between; gap: 12px; color: var(--theme-muted, var(--muted)); font-size: .68rem; }
.rental-conversation-selections strong { color: var(--theme-text, var(--ink-deep)); }
.rental-conversation-reply { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--theme-line, var(--line)); }
.rental-conversation-access { display: grid; gap: 9px; margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--theme-line, var(--line)); }
.rental-conversation-access p { margin: 0; color: var(--theme-muted, var(--muted)); font-size: .68rem; line-height: 1.5; }
.rental-conversation-access input { width: 100%; min-width: 0; padding: 10px 11px; border: 1px solid var(--theme-line, var(--line)); border-radius: 9px; color: var(--theme-text, var(--ink-deep)); background: rgba(255,255,255,.72); font-size: .68rem; }
.rental-conversation-access .button { justify-self: start; }
.rental-unread-count { display: block; margin-top: 4px; color: var(--theme-accent-secondary, var(--gold)); font-size: .58rem; }

/* Admin rental, activity, and theme controls */
.admin-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: -14px 0 22px; }
.admin-tabs a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 13px; border: 1px solid var(--theme-line, var(--line)); border-radius: 999px; color: var(--theme-muted, var(--muted)); background: rgba(255,255,255,.48); font-size: .64rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.admin-tabs a:hover, .admin-tabs a.is-active { color: var(--theme-surface, var(--paper)); border-color: var(--theme-accent, var(--green)); background: var(--theme-accent, var(--green)); }
.admin-tabs a span { display: inline-grid; min-width: 19px; place-items: center; padding: 2px 5px; border-radius: 99px; color: var(--theme-text, var(--ink)); background: var(--theme-accent-secondary, var(--gold-light)); font-size: .55rem; }
.rental-admin-detail { align-items: start; }
.rental-admin-contact { display: grid; gap: 3px; margin-bottom: 21px; }
.rental-admin-contact strong { color: var(--theme-text, var(--ink-deep)); font-family: 'Playfair Display', Georgia, serif; font-size: 1.55rem; }
.rental-admin-contact span { color: var(--theme-muted, var(--muted)); font-size: .7rem; }
.rental-admin-note { margin-top: 25px; padding: 15px; border-left: 3px solid var(--theme-accent-secondary, var(--gold)); background: rgba(217,168,91,.1); }
.rental-admin-note p { margin: 6px 0 0; color: var(--theme-muted, var(--muted)); font-size: .76rem; }
.rental-admin-form { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--theme-line, var(--line)); }
.activity-list { display: grid; gap: 0; }
.activity-list__item { display: grid; gap: 9px; padding: 15px 0; border-top: 1px solid var(--theme-line, var(--line)); }
.activity-list__item:first-child { border-top: 0; padding-top: 0; }
.activity-list__item > div { display: grid; gap: 4px; }
.activity-list__item strong { color: var(--theme-text, var(--ink-deep)); font-size: .72rem; }
.activity-list__item span { color: var(--theme-muted, var(--muted)); font-size: .62rem; }
.activity-list__item code { overflow-wrap: anywhere; color: var(--theme-muted, var(--muted)); font-family: 'DM Mono', Consolas, monospace; font-size: .58rem; line-height: 1.5; white-space: pre-wrap; }
.rental-admin-catalog { display: grid; gap: 16px; }
.rental-package-editor { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 20px; padding: 17px; border: 1px solid var(--theme-line, var(--line)); border-radius: 17px; background: rgba(255,255,255,.43); }
.rental-package-editor__image { display: grid; align-content: start; gap: 7px; }
.rental-package-editor__image img { width: 130px; height: 130px; border-radius: 13px; object-fit: cover; }
.rental-package-editor__image span { color: var(--theme-muted, var(--muted)); font-family: 'DM Mono', Consolas, monospace; font-size: .54rem; text-align: center; }
.rental-package-editor__fields { min-width: 0; }
.rental-package-editor__fields .button { margin-top: 17px; }
.rental-admin-items { display: grid; gap: 10px; margin: 22px 0; padding-top: 20px; border-top: 1px solid var(--theme-line, var(--line)); }
.rental-admin-items__row { display: flex; align-items: start; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--theme-line, var(--line)); color: var(--theme-muted, var(--muted)); font-size: .68rem; }
.rental-admin-items__row > span { display: grid; gap: 4px; min-width: 0; }
.rental-admin-items__row strong { color: var(--theme-text, var(--ink-deep)); font-size: .72rem; }
.rental-admin-items__row small { color: var(--theme-muted, var(--muted)); font-size: .62rem; line-height: 1.45; }
.rental-admin-items__row em { flex: 0 0 auto; color: var(--theme-accent, var(--green)); font-size: .62rem; font-style: normal; font-weight: 800; text-align: right; }
.theme-tabs { margin-top: -12px; }
.theme-admin-layout { align-items: start; }
.theme-color-grid input[type='color'] { width: 100%; min-height: 43px; padding: 4px; cursor: pointer; }
.theme-upload-form { margin-bottom: 25px; padding-bottom: 24px; border-bottom: 1px solid var(--theme-line, var(--line)); }
.theme-wallpaper-list { display: grid; gap: 11px; }
.theme-wallpaper-row { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 9px; border: 1px solid var(--theme-line, var(--line)); border-radius: 13px; background: rgba(255,255,255,.48); }
.theme-wallpaper-row.is-archived { opacity: .55; }
.theme-wallpaper-row img { width: 64px; height: 48px; border-radius: 8px; object-fit: cover; }
.theme-wallpaper-row > div:nth-child(2) { display: grid; gap: 3px; min-width: 0; }
.theme-wallpaper-row strong { color: var(--theme-text, var(--ink-deep)); font-size: .68rem; }
.theme-wallpaper-row span, .theme-wallpaper-row small { color: var(--theme-muted, var(--muted)); font-size: .56rem; }
.theme-wallpaper-row__actions { justify-self: end; }

/* Database-driven theme tokens */
body[data-theme-group] { background-color: var(--theme-background, var(--paper)); color: var(--theme-text, var(--ink)); }
body[data-theme-group] .site-header { border-bottom-color: var(--theme-line, var(--line)); }
body[data-theme-group] .app-main { background-color: var(--theme-background, #edf2ec); }
body[data-theme-group] .panel, body[data-theme-group] .stat-card, body[data-theme-group] .registration-form, body[data-theme-group] .auth-card { background-color: var(--theme-surface, var(--white)); }
body[data-theme-group] .panel, body[data-theme-group] .stat-card, body[data-theme-group] .field input, body[data-theme-group] .field select, body[data-theme-group] .field textarea { border-color: var(--theme-line, var(--line)); }
body[data-theme-group] .panel-heading h2, body[data-theme-group] .app-heading h1, body[data-theme-group] .auth-intro h1, body[data-theme-group] .registration-heading h1 { color: var(--theme-text, var(--ink-deep)); }

/* Bilingual navigation and translation manager */
.language-switcher { display: inline-flex; align-items: center; gap: 4px; padding: 3px; border: 1px solid rgba(18,60,50,.18); border-radius: 999px; background: rgba(255,253,247,.72); }
.language-switcher__link { display: inline-flex; align-items: center; min-height: 25px; padding: 0 8px; border-radius: 999px; color: var(--muted); font-family: 'DM Mono', Consolas, monospace; font-size: .52rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.language-switcher__link:hover, .language-switcher__link.is-active { color: var(--paper); background: var(--green); }
.language-switcher--app { border-color: rgba(247,245,239,.2); background: rgba(247,245,239,.08); }
.language-switcher--app .language-switcher__link { color: rgba(247,245,239,.7); }
.language-switcher--app .language-switcher__link:hover, .language-switcher--app .language-switcher__link.is-active { color: var(--ink-deep); background: var(--gold-light); }
.translation-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin: 25px 0 18px; }
.translation-stat { display: grid; gap: 4px; padding: 15px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: var(--paper-warm); }
.translation-stat:hover, .translation-stat.is-active { border-color: var(--green); background: rgba(29,96,77,.08); }
.translation-stat strong { color: var(--green); font-family: 'Playfair Display', Georgia, serif; font-size: 1.55rem; }
.translation-stat span { color: var(--muted); font-size: .63rem; font-weight: 700; }
.translation-search { display: flex; align-items: end; gap: 10px; max-width: 680px; }
.translation-search .field { flex: 1; }
.translation-list { display: grid; gap: 0; }
.translation-editor { margin-bottom: 12px; }
.translation-editor__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.translation-editor__head > div { display: grid; gap: 4px; }
.translation-editor__head strong { color: var(--ink-deep); font-family: 'DM Mono', Consolas, monospace; font-size: .72rem; overflow-wrap: anywhere; }
.translation-editor__head small { color: var(--muted); font-size: .62rem; }
.translation-editor textarea { min-height: 82px; }
.bilingual-content-grid { display: grid; gap: 14px; }
.bilingual-content-row { display: grid; gap: 13px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.bilingual-content-row__meta { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; min-width: 0; }
.bilingual-content-row__meta > .panel-kicker { min-width: 0; overflow-wrap: anywhere; }
.bilingual-content-row__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; min-width: 0; }
.bilingual-content-row__fields .field { min-width: 0; }
.bilingual-content-row__fields textarea { min-height: 86px; }
.bilingual-content-panel__subheading { margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--line); }
@media (max-width: 760px) {
    .bilingual-content-row__fields { grid-template-columns: 1fr; }
}
@media (max-width: 850px) { .translation-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .nav-shell .language-switcher { margin-left: auto; margin-right: 9px; } .language-switcher__link { padding: 0 6px; font-size: .48rem; } .topbar-actions { gap: 8px; } .translation-stats { grid-template-columns: 1fr 1fr; } .translation-search { align-items: stretch; flex-direction: column; } }
body[data-theme-group] .panel-lead, body[data-theme-group] .empty-state span, body[data-theme-group] .field-hint, body[data-theme-group] .app-date { color: var(--theme-muted, var(--muted)); }
body[data-theme-group] em, body[data-theme-group] .text-link, body[data-theme-group] .panel-kicker, body[data-theme-group] .eyebrow { color: var(--theme-accent, var(--green)); }
body[data-theme-group] .button--primary { background: linear-gradient(135deg, var(--theme-accent-secondary, var(--gold)), var(--theme-accent, var(--green))); }
body[data-theme-group] .button--dark { background: var(--theme-text, var(--ink-deep)); }
body[data-theme-group="home"] .home-screen { background-color: var(--theme-background, #f7f5ef); background-image: linear-gradient(var(--theme-wallpaper-overlay, transparent), var(--theme-wallpaper-overlay, transparent)), var(--theme-wallpaper), radial-gradient(circle at 78% 12%, rgba(217, 168, 91, .22), transparent 24%), radial-gradient(circle at 11% 88%, rgba(29, 96, 77, .12), transparent 29%), linear-gradient(135deg, var(--theme-background, #f7f5ef) 0%, var(--theme-surface, #fffdf7) 57%, var(--theme-background, #f7f5ef) 100%); background-position: center, var(--theme-background-position, center), center, center, center; background-size: cover, cover, auto, auto, auto; background-blend-mode: normal; }
body[data-theme-group="rental"] .rental-page { position: relative; background-color: var(--theme-background, #f1f4ed); background-image: linear-gradient(var(--theme-wallpaper-overlay, transparent), var(--theme-wallpaper-overlay, transparent)), var(--theme-wallpaper), radial-gradient(circle at 86% 8%, rgba(217,168,91,.2), transparent 28%), linear-gradient(135deg, var(--theme-background, #f7f5ef), var(--theme-surface, #fffdf7)); background-position: center, var(--theme-background-position, center), center, center; background-size: cover, cover, auto, auto; background-blend-mode: normal; }
body[data-theme-group="public"] .access-page, body[data-theme-group="public"] .registration-page, body[data-theme-group="public"] .auth-page, body[data-theme-group="admin"] .auth-page { background-color: var(--theme-background, #f7f5ef); background-image: linear-gradient(var(--theme-wallpaper-overlay, transparent), var(--theme-wallpaper-overlay, transparent)), var(--theme-wallpaper), radial-gradient(circle at 87% 7%, rgba(217, 168, 91, .2), transparent 27%), radial-gradient(circle at 4% 86%, rgba(29, 96, 77, .13), transparent 26%), linear-gradient(135deg, var(--theme-background, #f7f5ef) 0%, var(--theme-surface, #fffdf7) 48%, var(--theme-background, #f7f5ef) 100%); background-position: center, var(--theme-background-position, center), center, center, center; background-size: cover, cover, auto, auto, auto; background-blend-mode: normal; }
body[data-theme-group="student"] .app-main, body[data-theme-group="teacher"] .app-main, body[data-theme-group="admin"] .app-main { background-image: linear-gradient(var(--theme-wallpaper-overlay, transparent), var(--theme-wallpaper-overlay, transparent)), var(--theme-wallpaper), radial-gradient(circle at 90% 0%, rgba(217, 168, 91, .16), transparent 30%); background-position: center, var(--theme-background-position, center), center; background-size: cover, cover, auto; background-blend-mode: normal; }
.home-access-card--rental { border-color: rgba(217,168,91,.58); background: linear-gradient(135deg, rgba(217,168,91,.2), rgba(255,253,247,.82)); }
.home-access-card--rental:hover { border-color: var(--gold); background: linear-gradient(135deg, rgba(217,168,91,.32), rgba(220,235,225,.9)); }
.home-access-card--studio { border-color: rgba(83, 115, 189, .45); background: linear-gradient(135deg, rgba(83, 115, 189, .14), rgba(255,253,247,.86)); }
.home-access-card--studio:hover { border-color: #5373bd; background: linear-gradient(135deg, rgba(83, 115, 189, .24), rgba(220,235,225,.9)); }

/* HIZE studio request desk */
body[data-theme-group="studio"] .studio-page { position: relative; background-color: var(--theme-background, #f1f4ed); background-image: linear-gradient(var(--theme-wallpaper-overlay, transparent), var(--theme-wallpaper-overlay, transparent)), var(--theme-wallpaper), radial-gradient(circle at 86% 8%, rgba(83,115,189,.18), transparent 28%), linear-gradient(135deg, var(--theme-background, #f7f5ef), var(--theme-surface, #fffdf7)); background-position: center, var(--theme-background-position, center), center, center; background-size: cover, cover, auto, auto; background-blend-mode: normal; }
.studio-page .studio-heading { max-width: 840px; }
.studio-page .studio-heading > p:last-child { max-width: 720px; }
.studio-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(350px, .85fr); align-items: start; gap: 24px; }
.studio-catalog, .studio-request-panel { min-width: 0; padding: clamp(22px, 3vw, 34px); border: 1px solid var(--theme-line, var(--line)); border-radius: 24px; background: color-mix(in srgb, var(--theme-surface, #fffdf7) 88%, transparent); box-shadow: 0 28px 70px rgba(18,60,50,.09); backdrop-filter: blur(16px); }
.studio-request-panel { position: sticky; top: 104px; }
.studio-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.studio-service-card { display: grid; gap: 9px; min-width: 0; padding: 17px; border: 1px solid var(--theme-line, var(--line)); border-radius: 17px; background: rgba(255,255,255,.5); cursor: pointer; transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease, background 180ms ease; }
.studio-service-card:hover, .studio-service-card.is-selected { border-color: var(--theme-accent, var(--green)); background: rgba(220,235,225,.72); box-shadow: 0 13px 28px rgba(18,60,50,.1); transform: translateY(-2px); }
.studio-service-card > input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.studio-service-card__top { display: flex; align-items: start; justify-content: space-between; gap: 10px; }
.studio-service-card__top small { color: var(--theme-accent, var(--green)); font-family: 'DM Mono', Consolas, monospace; font-size: .56rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.studio-service-card__top b { color: var(--theme-accent-secondary, var(--gold)); font-size: .62rem; text-align: right; }
.studio-service-card strong { color: var(--theme-text, var(--ink-deep)); font-size: .86rem; line-height: 1.25; }
.studio-service-card > span:last-child { color: var(--theme-muted, var(--muted)); font-size: .68rem; line-height: 1.5; }
.studio-project-fields { margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--theme-line, var(--line)); }
.studio-estimate { display: grid; gap: 5px; margin: 0 0 22px; padding: 19px; border: 1px solid rgba(83,115,189,.3); border-radius: 17px; background: linear-gradient(135deg, rgba(83,115,189,.14), rgba(217,168,91,.16)); }
.studio-estimate span { color: var(--theme-muted, var(--muted)); font-family: 'DM Mono', Consolas, monospace; font-size: .57rem; letter-spacing: .1em; text-transform: uppercase; }
.studio-estimate strong { color: var(--theme-text, var(--ink-deep)); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(1.55rem, 3vw, 2.25rem); line-height: 1.05; }
.studio-estimate small { color: var(--theme-muted, var(--muted)); font-size: .65rem; line-height: 1.45; }
.studio-private-note { display: grid; gap: 5px; margin: 24px 0; padding: 15px; border-left: 3px solid var(--theme-accent-secondary, var(--gold)); background: rgba(217,168,91,.1); }
.studio-private-note strong { color: var(--theme-text, var(--ink-deep)); font-size: .74rem; }
.studio-private-note span { color: var(--theme-muted, var(--muted)); font-size: .65rem; line-height: 1.5; }
.studio-file-list { display: grid; gap: 10px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--theme-line, var(--line)); }
.studio-file-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 10px 0; border-bottom: 1px solid var(--theme-line, var(--line)); }
.studio-file-row > div { display: grid; gap: 4px; min-width: 0; }
.studio-file-row strong { overflow-wrap: anywhere; color: var(--theme-text, var(--ink-deep)); font-size: .7rem; }
.studio-file-row small { color: var(--theme-muted, var(--muted)); font-size: .58rem; }
.studio-message-file { display: grid; gap: 5px; margin-top: 10px; padding: 10px; border: 1px solid rgba(255,255,255,.2); border-radius: 10px; background: rgba(0,0,0,.08); }
.message-bubble--admin .studio-message-file { background: rgba(255,255,255,.5); }
.studio-message-file strong { overflow-wrap: anywhere; font-size: .68rem; }
.studio-message-file small, .studio-message-file a { font-size: .58rem; }
.studio-message-file audio { width: 100%; max-width: 360px; height: 34px; }
.studio-admin-catalog { display: grid; gap: 16px; }
.studio-service-editor { display: grid; gap: 15px; padding: 17px; border: 1px solid var(--theme-line, var(--line)); border-radius: 17px; background: rgba(255,255,255,.43); }
.studio-service-editor .button { justify-self: start; }

@media (max-width: 980px) {
    .studio-layout { grid-template-columns: 1fr; }
    .studio-request-panel { position: relative; top: auto; }
}

@media (max-width: 620px) {
    .studio-catalog, .studio-request-panel { padding: 18px; border-radius: 18px; }
    .studio-service-grid { grid-template-columns: 1fr; }
    .studio-file-row { align-items: start; flex-direction: column; }
}

@media (max-width: 980px) {
    .rental-layout { grid-template-columns: 1fr; }
    .rental-form-panel { position: relative; top: auto; }
    .rental-conversation-layout { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
    .rental-page { padding-top: 45px; }
    .rental-heading h1 { font-size: clamp(3rem, 14vw, 5rem); }
    .rental-catalog, .rental-form-panel { padding: 18px; border-radius: 18px; }
    .rental-package-grid { grid-template-columns: 1fr; }
    .rental-item-grid { grid-template-columns: 1fr; }
    .rental-option { grid-template-columns: 78px minmax(0, 1fr); }
    .rental-option__image, .rental-option__image img { min-height: 92px; }
    .rental-item-option { grid-template-columns: 72px minmax(0, 1fr) auto; }
    .rental-item-option .rental-option__image, .rental-item-option .rental-option__image img { min-height: 84px; }
    .rental-custom-item { padding: 12px; }
    .rental-package-editor { grid-template-columns: 1fr; }
    .rental-package-editor__image { grid-template-columns: 90px 1fr; align-items: center; }
    .rental-package-editor__image img { width: 90px; height: 70px; }
    .rental-package-editor__image span { text-align: left; }
    .theme-wallpaper-row { grid-template-columns: 54px minmax(0, 1fr); }
    .theme-wallpaper-row img { width: 54px; height: 42px; }
    .theme-wallpaper-row__actions { grid-column: 2; justify-self: start; }
}

/* Best performers spotlight */
.home-performer-section {
    position: relative;
    padding: clamp(54px, 8vw, 105px) 0 clamp(64px, 9vw, 120px);
    overflow: hidden;
    background: linear-gradient(180deg, #e7efe8, #f7f5ef 82%);
}
.home-performer-section::before { position: absolute; top: 0; right: 7%; width: 1px; height: 100%; background: linear-gradient(to bottom, rgba(29,96,77,.2), transparent); content: ''; opacity: .6; }
.home-performer-alert { position: relative; display: block; overflow: hidden; padding: clamp(22px, 4vw, 42px); border: 1px solid rgba(217,168,91,.68); border-radius: 30px; color: var(--ink-deep); background: radial-gradient(circle at 92% 12%, rgba(217,168,91,.3), transparent 25%), linear-gradient(135deg, rgba(255,253,247,.98), rgba(220,235,225,.9)); box-shadow: 0 28px 70px rgba(18,60,50,.16), 0 0 0 1px rgba(255,253,247,.72) inset, 0 0 42px rgba(217,168,91,.13); isolation: isolate; transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease; }
.home-performer-alert:hover { border-color: var(--gold); box-shadow: 0 35px 82px rgba(18,60,50,.2), 0 0 46px rgba(217,168,91,.24); transform: translateY(-5px); }
.home-performer-alert:focus-visible { outline: 0; box-shadow: 0 0 0 4px rgba(247,245,239,.95), 0 0 0 7px var(--green), 0 35px 82px rgba(18,60,50,.2); }
.home-performer-alert__sheen { position: absolute; z-index: -1; top: -45%; left: -18%; width: 16%; height: 190%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.62), transparent); filter: blur(2px); pointer-events: none; transform: rotate(24deg); animation: performer-sheen 7s ease-in-out infinite; }
.home-performer-alert__orbit { position: absolute; z-index: -1; border: 1px solid rgba(29,96,77,.13); border-radius: 50%; pointer-events: none; transform: rotate(-21deg) scaleY(.42); animation: performer-orbit 15s linear infinite; }
.home-performer-alert__orbit--one { top: -28%; right: -5%; width: 39%; height: 95%; }
.home-performer-alert__orbit--two { right: -8%; bottom: -40%; width: 50%; height: 115%; border-color: rgba(217,168,91,.25); animation-duration: 21s; animation-direction: reverse; }
.home-performer-alert__head, .home-performer-alert__foot { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.home-performer-alert__head { padding-bottom: 18px; border-bottom: 1px solid rgba(18,60,50,.13); }
.home-performer-alert__live { display: inline-flex; align-items: center; gap: 10px; color: var(--green); font-family: 'DM Mono', Consolas, monospace; font-size: .62rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.home-performer-alert__live i { display: block; width: 8px; height: 8px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 5px rgba(217,168,91,.16), 0 0 18px rgba(217,168,91,.75); animation: pulse 1.8s ease-in-out infinite; }
.home-performer-alert__head-link { color: var(--green); font-size: .64rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.home-performer-alert__head-link b { margin-left: 8px; font-size: 1rem; font-weight: 400; transition: transform 200ms ease; }
.home-performer-alert:hover .home-performer-alert__head-link b { display: inline-block; transform: translate(3px, -3px); }
.home-performer-alert__body { display: grid; grid-template-columns: minmax(230px, .82fr) minmax(0, 1.18fr); gap: clamp(28px, 6vw, 84px); padding: clamp(25px, 4vw, 46px) 0 34px; }
.home-performer-alert__intro { display: grid; align-content: center; gap: 10px; max-width: 390px; }
.eyebrow--home-performers { margin-bottom: 8px; color: var(--green); }
.home-performer-alert__intro > strong { max-width: 420px; color: var(--ink-deep); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2rem, 4.3vw, 4.6rem); letter-spacing: -.065em; line-height: .92; }
.home-performer-alert__intro > span:last-child { max-width: 330px; color: rgba(18,60,50,.64); font-size: .78rem; line-height: 1.55; }
.home-performer-alert__lanes { display: grid; gap: 12px; align-content: center; }
.home-performer-lane { display: grid; grid-template-columns: minmax(105px, .38fr) minmax(0, .62fr); align-items: center; gap: 18px; min-height: 104px; padding: 14px 16px; border: 1px solid rgba(18,60,50,.14); border-radius: 18px; background: rgba(255,253,247,.68); box-shadow: 0 13px 27px rgba(18,60,50,.06); }
.home-performer-lane--teacher { border-color: rgba(217,168,91,.4); background: rgba(249,239,213,.72); }
.home-performer-lane__label { display: grid; gap: 6px; color: var(--green); font-family: 'DM Mono', Consolas, monospace; font-size: .58rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.home-performer-lane__label > span { color: var(--gold); font-size: .55rem; }
.home-performer-lane__profile { display: flex; align-items: center; gap: 12px; min-width: 0; }
.home-performer-lane__photo { width: 58px; height: 58px; flex: 0 0 58px; overflow: hidden; border: 2px solid rgba(217,168,91,.72); border-radius: 50%; background: var(--paper-warm); box-shadow: 0 0 0 4px rgba(217,168,91,.1); }
.home-performer-lane__photo img { width: 100%; height: 100%; object-fit: cover; }
.home-performer-lane__profile > span:last-child { display: grid; gap: 3px; min-width: 0; }
.home-performer-lane__profile strong { overflow-wrap: anywhere; color: var(--ink-deep); font-family: 'Playfair Display', Georgia, serif; font-size: 1.2rem; line-height: 1; }
.home-performer-lane__profile small { overflow-wrap: anywhere; color: rgba(18,60,50,.6); font-size: .62rem; }
.home-performer-lane__empty { display: flex; align-items: center; gap: 10px; color: rgba(18,60,50,.56); font-size: .67rem; line-height: 1.35; }
.home-performer-lane__empty > span { display: grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; border: 1px dashed var(--green); border-radius: 50%; color: var(--green); font-size: 1.1rem; }
.home-performer-alert__foot { padding-top: 16px; border-top: 1px solid rgba(18,60,50,.13); color: rgba(18,60,50,.55); font-family: 'DM Mono', Consolas, monospace; font-size: .53rem; letter-spacing: .1em; text-transform: uppercase; }
.home-performer-alert__foot b { color: var(--green); font-size: 1rem; font-weight: 400; }

/* Public performer page */
.performers-page { min-height: calc(100vh - 84px); color: var(--theme-text, var(--ink)); background: linear-gradient(145deg, var(--theme-background, #f7f5ef), var(--theme-surface, #fffdf7)); }
.performers-hero { position: relative; overflow: hidden; padding: clamp(70px, 11vw, 150px) 0 clamp(58px, 8vw, 104px); color: var(--paper); background: radial-gradient(circle at 86% 16%, rgba(217,168,91,.26), transparent 27%), linear-gradient(135deg, #0b2822, #123c32 62%, #1d604d); isolation: isolate; }
.performers-hero::after { position: absolute; z-index: -1; inset: 0; opacity: .23; background-image: linear-gradient(rgba(243,216,159,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(243,216,159,.16) 1px, transparent 1px); background-size: 66px 66px; mask-image: linear-gradient(to bottom, #000, transparent 85%); content: ''; }
.performers-hero__glow { position: absolute; z-index: -1; width: 33vw; height: 33vw; border-radius: 50%; filter: blur(8px); pointer-events: none; }
.performers-hero__glow--one { top: -25%; right: -4%; background: radial-gradient(circle, rgba(217,168,91,.33), transparent 67%); animation: home-glow-drift 11s ease-in-out infinite; }
.performers-hero__glow--two { bottom: -40%; left: -8%; background: radial-gradient(circle, rgba(122,202,158,.25), transparent 67%); animation: home-glow-drift 14s ease-in-out infinite reverse; }
.performers-hero__inner { display: flex; align-items: end; justify-content: space-between; gap: 45px; }
.performers-hero .eyebrow { color: var(--gold-light); }
.performers-hero h1 { max-width: 860px; margin-bottom: 24px; color: var(--paper); font-size: clamp(3.4rem, 7.8vw, 8.4rem); letter-spacing: -.085em; line-height: .86; }
.performers-hero__lead { max-width: 620px; margin-bottom: 0; color: rgba(247,245,239,.7); font-size: .95rem; }
.performers-hero__mark { display: grid; align-content: center; justify-items: center; width: 150px; height: 150px; flex: 0 0 150px; border: 1px solid rgba(243,216,159,.48); border-radius: 50%; color: var(--gold-light); transform: rotate(12deg); }
.performers-hero__mark strong { font-family: 'Playfair Display', Georgia, serif; font-size: 5.4rem; line-height: .8; }
.performers-hero__mark span { margin-top: 15px; font-family: 'DM Mono', Consolas, monospace; font-size: .52rem; letter-spacing: .1em; }
.performers-list { padding: clamp(60px, 9vw, 120px) 0 55px; }
.performer-showcase + .performer-showcase { margin-top: clamp(70px, 10vw, 135px); }
.performer-showcase__heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 32px; }
.performer-showcase__heading h2 { margin: 6px 0 11px; color: var(--ink-deep); font-size: clamp(2.7rem, 5vw, 5.5rem); letter-spacing: -.075em; }
.performer-showcase__heading p { max-width: 470px; margin: 0; color: var(--muted); font-size: .78rem; }
.performer-showcase__count { color: var(--green); font-family: 'DM Mono', Consolas, monospace; font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.performer-lead-card { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr); min-height: 470px; overflow: hidden; border: 1px solid rgba(18,60,50,.14); border-radius: 27px; background: var(--white); box-shadow: 0 25px 60px rgba(18,60,50,.1); }
.performer-lead-card__image { min-height: 470px; background: var(--paper-warm); }
.performer-lead-card__image img { width: 100%; height: 100%; object-fit: cover; }
.performer-lead-card__body { display: grid; align-content: center; gap: 12px; padding: clamp(28px, 5vw, 65px); background: linear-gradient(145deg, #fffdf7, #f1e8d3); }
.performer-card__eyebrow { color: var(--gold); font-family: 'DM Mono', Consolas, monospace; font-size: .57rem; letter-spacing: .12em; text-transform: uppercase; }
.performer-lead-card h3 { margin: 2px 0 0; color: var(--ink-deep); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2.4rem, 4vw, 4.4rem); letter-spacing: -.06em; line-height: .92; }
.performer-card__role { color: var(--green); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.performer-lead-card p { margin: 10px 0 15px; color: var(--muted); font-size: .78rem; line-height: 1.7; }
.performer-card__index { color: var(--green); font-family: 'DM Mono', Consolas, monospace; font-size: .56rem; letter-spacing: .12em; text-transform: uppercase; }
.performer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; margin-top: 17px; }
.performer-card { display: grid; grid-template-columns: 170px minmax(0, 1fr); min-height: 205px; overflow: hidden; border: 1px solid rgba(18,60,50,.13); border-radius: 19px; background: rgba(255,253,247,.82); box-shadow: 0 16px 38px rgba(18,60,50,.07); }
.performer-card__image { min-height: 205px; background: var(--paper-warm); }
.performer-card__image img { width: 100%; height: 100%; object-fit: cover; }
.performer-card__body { display: grid; align-content: center; gap: 8px; padding: 21px; }
.performer-card h3 { margin: 1px 0 0; color: var(--ink-deep); font-family: 'Playfair Display', Georgia, serif; font-size: 1.7rem; letter-spacing: -.045em; line-height: .98; }
.performer-card p { margin: 3px 0 0; color: var(--muted); font-size: .68rem; line-height: 1.55; }
.performer-empty { display: flex; align-items: center; gap: 20px; min-height: 160px; padding: 26px; border: 1px dashed rgba(29,96,77,.42); border-radius: 22px; background: rgba(220,235,225,.42); }
.performer-empty__icon { display: grid; width: 50px; height: 50px; flex: 0 0 50px; place-items: center; border: 1px dashed var(--green); border-radius: 50%; color: var(--green); font-size: 1.6rem; }
.performer-empty strong { color: var(--ink-deep); font-family: 'Playfair Display', Georgia, serif; font-size: 1.55rem; }
.performer-empty p { margin: 5px 0 0; color: var(--muted); font-size: .72rem; }
.performers-cta { padding: 20px 0 105px; }
.performers-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: clamp(26px, 5vw, 50px); border-radius: 25px; color: var(--paper); background: linear-gradient(135deg, var(--green), var(--ink-deep)); box-shadow: 0 25px 60px rgba(18,60,50,.17); }
.performers-cta .panel-kicker { color: var(--gold-light); }
.performers-cta h2 { max-width: 580px; margin: 8px 0 0; color: var(--paper); font-size: clamp(2.2rem, 4.4vw, 4.8rem); }

/* Performer manager */
.performer-admin-intro { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 26px; }
.performer-admin-intro h2 { margin: 7px 0 11px; color: var(--ink-deep); font-size: clamp(2.3rem, 4.5vw, 4.7rem); letter-spacing: -.07em; }
.performer-admin-intro p { max-width: 670px; margin: 0; color: var(--muted); font-size: .78rem; }
.performer-admin-intro__stat { display: grid; min-width: 150px; padding: 17px; border-left: 3px solid var(--gold); background: rgba(217,168,91,.12); }
.performer-admin-intro__stat strong { color: var(--green); font-family: 'Playfair Display', Georgia, serif; font-size: 3.2rem; line-height: .9; }
.performer-admin-intro__stat span { margin-top: 6px; color: var(--muted); font-family: 'DM Mono', Consolas, monospace; font-size: .54rem; letter-spacing: .08em; text-transform: uppercase; }
.performer-admin-layout { align-items: start; }
.performer-editor-panel { min-width: 0; }
.performer-editor-form .button { margin-top: 4px; }
.performer-editor-preview { display: grid; grid-template-columns: 90px minmax(0, 1fr); align-items: center; gap: 13px; padding: 11px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper-warm); }
.performer-editor-preview img { width: 90px; height: 90px; border-radius: 11px; object-fit: cover; }
.performer-editor-preview span { color: var(--muted); font-size: .62rem; }
.performer-admin-guide { color: var(--paper); background: linear-gradient(145deg, var(--green), var(--ink-deep)); }
.performer-admin-guide .panel-kicker { color: var(--gold-light); }
.performer-admin-guide h2 { margin: 7px 0 0; color: var(--paper); font-size: clamp(2rem, 3.5vw, 3.4rem); }
.performer-admin-guide__mark { color: var(--gold-light); font-family: 'DM Mono', Consolas, monospace; font-size: .56rem; letter-spacing: .1em; }
.performer-admin-guide__steps { display: grid; gap: 0; margin: 28px 0; }
.performer-admin-guide__steps > div { display: grid; grid-template-columns: 33px minmax(0, 1fr); gap: 12px; padding: 14px 0; border-top: 1px solid rgba(247,245,239,.18); }
.performer-admin-guide__steps strong { color: var(--gold-light); font-family: 'DM Mono', Consolas, monospace; font-size: .62rem; }
.performer-admin-guide__steps span { display: grid; gap: 4px; }
.performer-admin-guide__steps b { color: var(--paper); font-size: .73rem; }
.performer-admin-guide__steps small { color: rgba(247,245,239,.68); font-size: .65rem; line-height: 1.5; }
.performer-admin-guide .text-link { color: var(--gold-light); }
.performer-admin-groups { display: grid; gap: 18px; margin-top: 18px; }
.performer-admin-group { margin-bottom: 0; }
.performer-admin-group .panel-heading { align-items: end; }
.performer-admin-group .panel-heading h2 { margin: 6px 0 5px; font-size: clamp(2rem, 3.7vw, 3.7rem); }
.performer-admin-group .panel-lead { margin: 0; }
.performer-admin-list { display: grid; gap: 12px; }
.performer-admin-card { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 19px; padding: 13px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.5); }
.performer-admin-card.is-archived { opacity: .66; }
.performer-admin-card__image { position: relative; min-height: 130px; overflow: hidden; border-radius: 11px; background: var(--paper-warm); }
.performer-admin-card__image img { width: 100%; height: 100%; object-fit: cover; }
.performer-admin-card__image > span { position: absolute; right: 7px; bottom: 7px; padding: 4px 6px; border-radius: 6px; color: var(--paper); background: rgba(6,22,19,.78); font-family: 'DM Mono', Consolas, monospace; font-size: .55rem; }
.performer-admin-card__body { display: grid; align-content: center; gap: 7px; min-width: 0; }
.performer-admin-card__top { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.performer-admin-card__top h3 { margin: 5px 0 0; color: var(--ink-deep); font-family: 'Playfair Display', Georgia, serif; font-size: 1.65rem; letter-spacing: -.045em; }
.performer-admin-card__role { color: var(--green); font-size: .63rem; letter-spacing: .07em; text-transform: uppercase; }
.performer-admin-card__body p { max-width: 650px; margin: 3px 0 7px; color: var(--muted); font-size: .69rem; line-height: 1.55; }
.performer-admin-delete { background: #7f3d32; }

@keyframes performer-sheen { 0%, 50% { transform: translateX(-10%) rotate(24deg); opacity: 0; } 65% { opacity: 1; } 82%, 100% { transform: translateX(850%) rotate(24deg); opacity: 0; } }
@keyframes performer-orbit { from { transform: rotate(-21deg) scaleY(.42); } to { transform: rotate(339deg) scaleY(.42); } }

/* Mobile hero correction: preserve the live stage in normal document flow. */
@media (max-width: 760px) {
    body.home-page-body { overflow-y: auto; }
    .home-page { height: auto; min-height: 0; }
    .home-screen { height: auto; min-height: 0; overflow: visible; padding-bottom: 28px; }
    .home-screen__grid { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "visual" "access" "footnote"; grid-template-rows: auto auto auto auto; align-items: stretch; gap: 0; height: auto; padding-top: 18px; }
    .home-copy { grid-area: copy; width: 100%; padding-bottom: 0; }
    .home-visual { position: relative; inset: auto; z-index: 2; grid-area: visual; width: 100%; max-width: 680px; margin: 32px auto 0; opacity: 1; pointer-events: auto; }
    .home-visual .stage-surface { height: clamp(360px, 92vw, 520px); min-height: 360px; }
    .home-access-grid { grid-area: access; margin-top: clamp(25px, 5vw, 38px); }
    .home-footnote { grid-area: footnote; margin-top: 13px; }
    .home-scroll-cue { display: none; }
    .home-performer-alert__body { grid-template-columns: 1fr; gap: 27px; }
    .home-performer-alert__intro { max-width: 500px; }
    .performers-hero__inner, .performer-showcase__heading, .performers-cta__inner, .performer-admin-intro { align-items: flex-start; flex-direction: column; }
    .performers-hero__mark { display: none; }
    .performer-lead-card { grid-template-columns: 1fr; }
    .performer-lead-card__image { min-height: min(78vw, 440px); max-height: 440px; }
    .performer-grid { grid-template-columns: 1fr; }
    .performer-admin-intro__stat { min-width: 0; }
}

@media (max-width: 480px) {
    .home-screen__grid { padding-top: 14px; }
    .home-visual { margin-top: 27px; }
    .home-visual .stage-surface { height: clamp(350px, 94vw, 430px); min-height: 350px; }
    .home-footer-fees { padding: 17px 0 18px; }
    .home-footer-fees__inner { grid-template-columns: 1fr; gap: 13px; }
    .home-footer-fees__items { gap: 6px; }
    .home-footer-fees__item { padding-left: 9px; }
    .home-footer-fees__item strong { font-size: 1.02rem; }
    .home-footer-fees__item small { font-size: .47rem; letter-spacing: .05em; }
    .home-performer-alert { padding: 19px 16px; border-radius: 22px; }
    .home-performer-alert__head, .home-performer-alert__foot { align-items: flex-start; flex-direction: column; gap: 10px; }
    .home-performer-alert__body { padding-top: 24px; }
    .home-performer-lane { grid-template-columns: 1fr; gap: 10px; }
    .home-performer-lane__profile { min-height: 58px; }
    .performers-hero h1 { font-size: clamp(3rem, 14vw, 5.1rem); }
    .performer-lead-card__body { padding: 28px 22px; }
    .performer-card { grid-template-columns: 105px minmax(0, 1fr); }
    .performer-card__image { min-height: 170px; }
    .performer-card__body { padding: 15px; }
    .performer-card h3 { font-size: 1.36rem; }
    .performer-empty { align-items: flex-start; flex-direction: column; }
    .performer-admin-card { grid-template-columns: 90px minmax(0, 1fr); gap: 12px; padding: 10px; }
    .performer-admin-card__image { min-height: 90px; }
    .performer-admin-card__top { align-items: flex-start; flex-direction: column; gap: 7px; }
    .performer-admin-card__top h3 { font-size: 1.3rem; }
    .performer-admin-card__body p { font-size: .65rem; }
}

@media (prefers-reduced-motion: reduce) {
    .home-performer-alert__sheen, .home-performer-alert__orbit, .home-performer-alert__live i, .performers-hero__glow--one, .performers-hero__glow--two { animation: none; }
    .home-performer-alert, .home-performer-alert__head-link b { transition: none; }
}

@media (max-width: 900px) and (orientation: landscape) and (max-height: 560px) {
    body.home-page-body { overflow-y: auto; }
    .home-page { height: auto; min-height: 0; }
    .home-screen { height: auto; min-height: 0; overflow: visible; padding-bottom: 28px; }
    .home-screen__grid { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "visual" "access" "footnote"; grid-template-rows: auto auto auto auto; align-items: stretch; gap: 0; height: auto; padding-top: 14px; }
    .home-copy { grid-area: copy; width: 100%; padding-bottom: 0; }
    .home-visual { position: relative; inset: auto; z-index: 2; grid-area: visual; width: 100%; max-width: 720px; margin: 28px auto 0; opacity: 1; pointer-events: auto; }
    .home-visual .stage-surface { height: clamp(280px, 52vw, 430px); min-height: 280px; }
    .home-access-grid { grid-area: access; margin-top: clamp(22px, 4vw, 32px); }
    .home-footnote { grid-area: footnote; margin-top: 11px; }
    .home-scroll-cue { display: none; }
}

/* Final cross-device guardrails for translated copy and narrow layouts. */
html { overflow-x: clip; }
body { max-width: 100%; }

img, svg, video, canvas, iframe { max-width: 100%; }
.container, .nav-shell, .app-topbar, .app-main, .panel,
.dashboard-grid, .two-column, .auth-grid, .registration-layout,
.rental-layout, .studio-layout, .form-fields, .field, .panel-heading,
.app-heading, .rental-section-heading, .rental-option__body,
.rental-selected-preview > div, .studio-service-card, .studio-request-panel,
.performer-lead-card__body, .performer-card__body, .performer-admin-card__body {
    min-width: 0;
}

.field label, .field small, .panel-lead, .app-date, .rental-heading > p,
.rental-section-heading p, .studio-heading > p, .studio-service-card > span,
.studio-estimate small, .studio-private-note span, .performer-card p,
.performer-lead-card p, .performer-admin-card p, .data-table td,
.data-table td strong, .data-table td small {
    overflow-wrap: anywhere;
}

.data-table-wrap, .table-wrap { max-width: 100%; }
.field input, .field select, .field textarea, .button { min-width: 0; }
.field label { line-height: 1.35; }
.data-table td, .data-table th { font-variant-numeric: lining-nums tabular-nums; }
.stat-card > strong, .goal-score strong, .term-count strong,
.fee-board__row strong, .payment-list__row > div:last-child strong,
.rental-option__body em, .rental-estimate strong, .studio-estimate strong,
.studio-service-card__top b, .score-band-list strong, .teacher-milestone__heading > strong,
.home-footer-fees__item strong, [data-rental-total], [data-studio-estimate] {
    font-variant-numeric: lining-nums tabular-nums;
}

@media (max-width: 980px) {
    .auth-grid, .registration-layout, .dashboard-grid, .two-column,
    .rental-layout, .studio-layout, .membership-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .rental-form-panel, .studio-request-panel, .aside-sticky {
        position: relative;
        top: auto;
    }

    .performer-lead-card { grid-template-columns: minmax(0, 1fr); }
    .performer-lead-card__image { min-height: min(58vw, 440px); max-height: 440px; }
}

@media (max-width: 900px) {
    .site-header { position: relative; }
    .nav-shell { min-height: 72px; gap: 10px; }
    .nav-shell .brand { min-width: 0; flex: 0 1 auto; }
    .nav-shell .brand-copy { min-width: 0; }
    .brand-copy strong, .brand-copy small { white-space: nowrap; }
    .menu-toggle { display: inline-flex; flex: 0 0 auto; }
    .nav-shell .language-switcher { margin-left: auto; margin-right: 0; flex: 0 0 auto; }
    .site-nav {
        position: absolute;
        z-index: 25;
        top: 100%;
        right: 0;
        left: 0;
        display: grid;
        gap: 0;
        padding: 13px 17px 21px;
        border-bottom: 1px solid var(--line);
        background: rgba(247,245,239,.98);
        box-shadow: 0 18px 25px rgba(18,60,50,.08);
        opacity: 0;
        pointer-events: none;
        transform: translateY(-8px);
        transition: opacity 180ms ease, transform 180ms ease;
    }
    .site-header.is-open .site-nav { opacity: 1; pointer-events: auto; transform: translateY(0); }
    .site-nav > a:not(.button) {
        min-width: 0;
        padding: 13px 0;
        border-bottom: 1px solid var(--line);
        line-height: 1.4;
        overflow-wrap: anywhere;
    }
    .site-nav > a:not(.button)::after { bottom: -1px; }
    .site-nav .button { width: 100%; margin-top: 15px; white-space: normal; }

    .app-topbar { gap: 10px; padding-right: clamp(12px, 3vw, 34px); padding-left: clamp(12px, 3vw, 34px); }
    .app-topbar .brand, .topbar-actions, .topbar-profile { min-width: 0; }
    .app-topbar .brand { flex: 1 1 auto; }
    .app-topbar .brand-copy { min-width: 0; }
    .app-topbar .brand-copy strong, .app-topbar .brand-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .topbar-actions { flex: 0 1 auto; gap: 10px; }
    .topbar-profile { flex: 0 1 auto; }
    .app-topbar .button { flex: 0 0 auto; white-space: nowrap; }

    .app-sidebar { max-width: 100vw; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
    .app-nav { min-width: max-content; }
    .app-nav a { white-space: nowrap; }

    .app-heading, .panel-heading, .rental-section-heading { align-items: flex-start; }
    .goal-card__head { min-width: 0; }
    .milestone-progress-form { min-width: 0; }
}

@media (max-width: 700px) {
    .container { width: min(calc(100% - 32px), 720px); }
    .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .form-fields--two, .payment-summary { grid-template-columns: minmax(0, 1fr); }
    .field--wide { grid-column: auto; }
    .rental-package-grid, .rental-item-grid, .studio-service-grid { grid-template-columns: minmax(0, 1fr); }
    .rental-catalog, .rental-form-panel, .studio-catalog, .studio-request-panel { padding: 20px; }
    .table-wrap { overflow-x: auto; }
    .data-table { min-width: 720px; }
    .data-table th, .data-table td { padding-right: 9px; padding-left: 9px; }
    .quick-links { grid-template-columns: minmax(0, 1fr); }
    .goal-row, .lesson-row { grid-template-columns: minmax(0, 1fr); }
    .goal-row__progress { max-width: 100%; }
    .goal-row > .badge { justify-self: start; }
    .rental-section-heading { gap: 11px; }
    .rental-section-heading h2 { font-size: clamp(1.75rem, 8vw, 3rem); }
    .studio-service-card__top { align-items: flex-start; flex-direction: column; }
    .studio-service-card__top b { text-align: left; }
    .performer-showcase__heading, .performers-cta__inner, .performer-admin-intro { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 480px) {
    .nav-shell { gap: 6px; }
    .brand { gap: 8px; }
    .brand-mark { width: 38px; height: 38px; }
    .brand-copy strong { font-size: .78rem; letter-spacing: .12em; }
    .brand-copy small { font-size: .46rem; letter-spacing: .12em; }
    .menu-toggle { gap: 6px; font-size: .58rem; }
    .language-switcher__link { min-width: 29px; padding-right: 6px; padding-left: 6px; font-size: 0; }
    .language-switcher__link::before { content: attr(data-short-label); font-size: .52rem; line-height: 1; }
    .language-switcher--app .language-switcher__link::before { content: attr(lang); text-transform: uppercase; }
    .language-switcher__link { min-height: 24px; }

    .app-topbar { min-height: 64px; gap: 7px; padding-right: 10px; padding-left: 10px; }
    .app-topbar .brand-mark { width: 36px; height: 36px; }
    .app-topbar .brand-copy strong { font-size: .72rem; }
    .app-topbar .brand-copy small { display: none; }
    .topbar-actions { gap: 6px; }
    .app-topbar .button { min-height: 36px; padding-right: 10px; padding-left: 10px; font-size: .52rem; }
    .app-main { padding-right: 12px; padding-left: 12px; }
    .app-heading h1 { font-size: clamp(2.25rem, 12vw, 3rem); }
    .stat-grid { gap: 7px; }
    .stat-card { min-height: 116px; padding: 13px 11px; }
    .stat-card > strong { font-size: clamp(1.45rem, 8vw, 1.85rem); }
    .panel { padding: 18px 15px; }
    .panel-heading h2 { font-size: clamp(1.5rem, 8vw, 2rem); }
    .rental-catalog, .rental-form-panel, .studio-catalog, .studio-request-panel { padding: 17px; }
    .rental-option { grid-template-columns: 68px minmax(0, 1fr); gap: 10px; }
    .rental-option__image, .rental-option__image img { min-height: 84px; }
    .rental-estimate strong, .studio-estimate strong { font-size: clamp(1.35rem, 7vw, 2rem); overflow-wrap: anywhere; }
    .rental-selected-preview { grid-template-columns: 62px minmax(0, 1fr); gap: 10px; }
    .rental-selected-preview img { width: 62px; height: 62px; }
    .rental-custom-item__top { align-items: flex-start; flex-direction: column; }
    .rental-item-remove { align-self: flex-start; }
    .performer-lead-card__body { padding: 24px 18px; }
    .performer-card { grid-template-columns: 92px minmax(0, 1fr); }
    .performer-card__image { min-height: 150px; }
    .performer-card__body { padding: 13px; }
}

@media (max-width: 360px) {
    .brand-copy strong { font-size: .72rem; }
    .menu-toggle { font-size: .54rem; }
    .language-switcher__link { min-width: 27px; padding-right: 5px; padding-left: 5px; }
    .app-topbar .brand-copy strong { font-size: .67rem; }
    .topbar-actions { gap: 4px; }
    .app-topbar .button { padding-right: 8px; padding-left: 8px; font-size: .48rem; }
    .stat-grid { grid-template-columns: minmax(0, 1fr); }
    .rental-option { grid-template-columns: 60px minmax(0, 1fr); }
    .rental-option__image, .rental-option__image img { min-height: 76px; }
    .performer-card { grid-template-columns: 78px minmax(0, 1fr); }
    .performer-card__image { min-height: 136px; }
}

/* Final cross-device layout guardrails. Keep the homepage sections in flow. */
body.home-page-body .home-page {
    height: auto;
    min-height: 0;
}

body.home-page-body h1,
body.home-page-body h2,
body.home-page-body h3,
body.home-page-body .home-access-card strong,
body.home-page-body .home-access-card small,
body.home-page-body .home-footer-fees__item small {
    text-wrap: balance;
}

.home-access-card__index,
.home-footer-fees__item strong,
.home-performer-alert__foot,
.home-performer-lane__label > span,
.panel-count,
.badge,
.stat-card > strong,
.performer-card__index,
.performer-showcase__count,
.performer-admin-card__image > span {
    font-variant-numeric: tabular-nums;
}

.home-footer-fees__item strong {
    white-space: nowrap;
}

@media (max-width: 900px) {
    body.home-page-body {
        overflow-y: auto;
    }

    body.home-page-body .home-screen {
        height: auto;
        min-height: 0;
        overflow: visible;
        padding-bottom: clamp(28px, 5vw, 46px);
    }

    body.home-page-body .home-screen__grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "copy" "visual" "access" "footnote";
        grid-template-rows: auto auto auto auto;
        align-items: stretch;
        gap: 0;
        height: auto;
        padding-top: clamp(14px, 3vh, 28px);
    }

    body.home-page-body .home-copy {
        grid-area: copy;
        width: 100%;
        padding-bottom: 0;
    }

    body.home-page-body .home-visual {
        position: relative;
        inset: auto;
        z-index: 2;
        grid-area: visual;
        width: 100%;
        max-width: 720px;
        margin: clamp(28px, 4vw, 38px) auto 0;
        opacity: 1;
        pointer-events: auto;
    }

    body.home-page-body .home-visual .stage-surface {
        height: clamp(360px, 67vw, 560px);
        min-height: 0;
    }

    body.home-page-body .home-access-grid {
        grid-area: access;
        width: 100%;
        max-width: 620px;
        margin-top: clamp(25px, 5vw, 38px);
    }

    body.home-page-body .home-footnote {
        grid-area: footnote;
        margin-top: 13px;
    }
}

@media (max-width: 480px) {
    body.home-page-body .home-visual {
        margin-top: 27px;
    }

    body.home-page-body .home-visual .stage-surface {
        height: clamp(350px, 94vw, 430px);
    }

    body.home-page-body .home-access-card strong {
        line-height: 1.25;
    }

    body.home-page-body .home-access-card small {
        line-height: 1.35;
    }

    body.home-page-body .home-footer-fees__items {
        gap: 6px;
    }

    body.home-page-body .home-footer-fees__item strong {
        font-size: clamp(.9rem, 4.4vw, 1.02rem);
    }
}

@media (max-width: 620px) {
    body.home-page-body .home-footer-fees__inner {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    body.home-page-body .home-footer-fees__items {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
    }

    body.home-page-body .home-footer-fees__item {
        padding-left: 9px;
    }

    body.home-page-body .home-footer-fees__item strong {
        font-size: clamp(.9rem, 4.4vw, 1.02rem);
    }
}

@media (max-width: 360px) {
    body.home-page-body .home-footer-fees__items {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    body.home-page-body .home-footer-fees__item {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 8px;
        padding-left: 9px;
    }

    body.home-page-body .home-footer-fees__item small {
        grid-column: 1;
        grid-row: 1;
        font-size: .52rem;
    }

    body.home-page-body .home-footer-fees__item strong {
        grid-column: 2;
        grid-row: 1;
        font-size: .98rem;
    }
}

@media (max-width: 900px) and (orientation: landscape) and (max-height: 560px) {
    body.home-page-body .home-screen {
        padding-bottom: 28px;
    }

    body.home-page-body .home-screen__grid {
        padding-top: 14px;
    }

    body.home-page-body .home-visual {
        margin-top: 28px;
    }

    body.home-page-body .home-visual .stage-surface {
        height: clamp(280px, 52vw, 430px);
        min-height: 280px;
    }

    body.home-page-body .home-access-grid {
        margin-top: clamp(22px, 4vw, 32px);
    }
}


/* Admin record history and PDF actions */
.report-list__item-link { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 0; flex: 1 1 auto; color: inherit; }
.report-list__item-link > div { display: grid; gap: 3px; min-width: 0; }
.report-list__item > .admin-record-actions { flex: 0 0 auto; margin-top: 0; }
.admin-record-actions { align-items: center; margin-top: 5px; }
.admin-record-actions .table-link { font-size: .55rem; letter-spacing: .04em; }
.table-link--danger { color: #dc2626 !important; font-weight: 700 !important; cursor: pointer; background: transparent; border: 0; padding: 0; }
.table-link--danger:hover { color: #991b1b !important; text-decoration: underline; }
.table-link--warning { color: #d97706 !important; font-weight: 600 !important; cursor: pointer; background: transparent; border: 0; padding: 0; }
.table-link--warning:hover { color: #b45309 !important; text-decoration: underline; }
.admin-history-entry-actions { margin-top: 8px; }
.history-panel .panel-heading > .inline-actions { align-items: center; }
.history-panel .panel-count { margin: 0; }
.history-filters { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(120px, .55fr) minmax(180px, 1fr) auto; gap: 12px; align-items: end; margin: 0 0 24px; padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper-warm); }
.history-filters .field { min-width: 0; }
.history-filters__actions { display: flex; flex-wrap: wrap; gap: 7px; }
.history-filters__actions .button { white-space: nowrap; }
.report-manager-stats { margin-bottom: 18px; }
.report-manager-panel .panel-heading { align-items: flex-start; }
.report-manager-panel .panel-heading .panel-lead { margin: 9px 0 0; }
.report-manager-filters { grid-template-columns: minmax(190px, .8fr) minmax(260px, 1.5fr) auto; }
.report-manager-table td:first-child { min-width: 210px; }
.report-manager-table td:nth-child(2) { min-width: 190px; }
.report-manager-table td:nth-child(4) { min-width: 145px; }
.report-manager-table td:last-child { min-width: 185px; }
.report-manager-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 22px; color: var(--muted); font-family: 'DM Mono', Consolas, monospace; font-size: .58rem; text-transform: uppercase; }
@media (max-width: 900px) {
    .history-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .history-filters__actions { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
    .report-list__item { align-items: stretch; flex-direction: column; gap: 10px; }
    .report-list__item-link { align-items: flex-start; }
    .history-filters { grid-template-columns: 1fr; }
    .history-filters__actions { grid-column: auto; }
    .admin-record-actions { align-items: flex-start; flex-direction: column; }
    .history-panel .panel-heading > .inline-actions { align-items: flex-start; flex-direction: column; }
    .report-manager-pagination { justify-content: flex-start; }
}

.goal-automation-layout { align-items: start; }
.goal-automation-panel { background: linear-gradient(145deg, var(--green), #1b5143); color: var(--paper); border-color: transparent; }
.goal-automation-panel .panel-kicker, .goal-automation-panel .panel-lead { color: rgba(247,245,239,.72); }
.goal-automation-panel .panel-heading h2 { color: var(--paper); }
.goal-automation-steps { display: grid; gap: 16px; margin-top: 28px; }
.goal-automation-steps > div { display: grid; grid-template-columns: 34px 1fr; gap: 2px 12px; padding-bottom: 15px; border-bottom: 1px solid rgba(247,245,239,.16); }
.goal-automation-steps strong { grid-row: span 2; color: var(--gold); font-family: 'DM Mono', Consolas, monospace; font-size: .7rem; }
.goal-automation-steps span { font-weight: 800; font-size: .78rem; }
.goal-automation-steps small { color: rgba(247,245,239,.68); font-size: .68rem; }
.goal-automation-note { display: grid; gap: 5px; margin-top: 24px; padding: 15px; border: 1px solid rgba(247,245,239,.18); border-radius: 12px; background: rgba(0,0,0,.12); }
.goal-automation-note strong { font-family: 'Playfair Display', Georgia, serif; font-size: 1.1rem; }
.goal-automation-note span { color: rgba(247,245,239,.72); font-size: .7rem; }
.goal-card--simple { overflow: hidden; }
.goal-status-detail { color: var(--muted); font-family: 'DM Mono', Consolas, monospace; font-size: .56rem; text-transform: uppercase; }
.goal-tracker-summary { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.goal-tracker-summary__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; color: var(--muted); font-size: .68rem; font-weight: 800; }
.goal-tracker-summary__top strong { color: var(--green); font-family: 'Playfair Display', Georgia, serif; font-size: 1.35rem; }
.goal-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 19px; }
.goal-metric-grid > div { display: grid; gap: 5px; padding-right: 10px; border-right: 1px solid var(--line); }
.goal-metric-grid > div:last-child { border-right: 0; }
.goal-metric-grid span, .goal-result-report span, .goal-result-admin-card__numbers span { color: var(--muted); font-family: 'DM Mono', Consolas, monospace; font-size: .54rem; text-transform: uppercase; }
.goal-metric-grid strong { font-family: 'Playfair Display', Georgia, serif; font-size: 1rem; }
.goal-automation-summary { margin: 18px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.65; }
.goal-result-report { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 22px; padding: 17px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper-warm); }
.goal-result-report > div { display: grid; gap: 4px; }
.goal-result-report strong { font-family: 'Playfair Display', Georgia, serif; font-size: 1.35rem; }
.goal-result-report p { grid-column: 1 / -1; margin: 2px 0 0; color: var(--muted); font-size: .7rem; line-height: 1.6; }
.goal-result-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .9fr) auto; align-items: end; gap: 12px; margin-top: 22px; padding-top: 21px; border-top: 1px solid var(--line); }
.goal-result-form .button { height: fit-content; }
.goal-result-form small { display: block; margin-top: 5px; color: var(--muted); font-size: .62rem; }
.goal-result-form label span { color: var(--muted); font-weight: 400; }
.goal-result--positive { color: #28724f !important; }
.goal-result--negative { color: var(--red) !important; }
.goal-weekly-progress { display: grid; gap: 10px; margin-top: 20px; padding: 15px 16px; border: 1px solid rgba(18,60,50,.14); border-radius: 12px; background: linear-gradient(135deg, rgba(238,247,241,.9), rgba(255,253,247,.8)); }
.goal-weekly-progress--empty { color: var(--muted); background: var(--paper-warm); }
.goal-weekly-progress--empty strong { color: var(--ink); }
.goal-weekly-progress__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.goal-weekly-progress__head div { display: grid; gap: 3px; }
.goal-weekly-progress__head span { color: var(--green); font-size: .72rem; font-weight: 800; }
.goal-weekly-progress__head small { color: var(--muted); font-size: .62rem; }
.goal-weekly-progress__head > strong { color: var(--green); font-family: 'Playfair Display', Georgia, serif; font-size: 1.45rem; }
.goal-weekly-progress > p { margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.55; }
.goal-weekly-progress--empty span { color: var(--muted); font-size: .68rem; line-height: 1.55; }
.goal-weekly-history { border-top: 1px solid rgba(18,60,50,.12); padding-top: 9px; }
.goal-weekly-history summary { cursor: pointer; color: var(--green); font-size: .65rem; font-weight: 800; }
.goal-weekly-history > div { display: grid; gap: 6px; margin-top: 9px; }
.goal-weekly-history > div > div { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: .64rem; }
.goal-weekly-history > div strong { color: var(--green); }
.goal-result-admin-grid { display: grid; gap: 14px; }
.goal-result-admin-card { display: grid; gap: 14px; padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper-warm); }
.goal-result-admin-card h3 { margin: 4px 0; font-family: 'Playfair Display', Georgia, serif; font-size: 1.3rem; }
.goal-result-admin-card p { margin: 0; color: var(--muted); font-size: .7rem; line-height: 1.55; }
.goal-result-admin-card__numbers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.goal-result-admin-card__numbers > div { display: grid; gap: 4px; }
.goal-result-admin-card__numbers strong { font-family: 'Playfair Display', Georgia, serif; font-size: 1.4rem; }
.goal-delete-button { white-space: nowrap; }

@media (max-width: 760px) {
    .goal-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .goal-metric-grid > div:nth-child(2) { border-right: 0; }
    .goal-result-form { grid-template-columns: 1fr; }
    .goal-result-form .button { justify-self: start; }
}

@media (max-width: 520px) {
    .goal-result-report, .goal-result-admin-card__numbers { grid-template-columns: 1fr; }
    .goal-result-report p { grid-column: auto; }
}

.assignment-picker-grid, .goal-manager-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.assignment-picker { display: grid; gap: 10px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper-warm); }
.assignment-picker__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.assignment-picker__heading label { display: block; margin: 0; font-weight: 700; }
.assignment-picker__heading small { display: block; margin-top: 4px; color: var(--muted); font-size: .66rem; }
.assignment-picker__heading > span { flex: 0 0 auto; padding: 5px 8px; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: .62rem; font-weight: 700; }
.assignment-picker select { min-height: 246px; padding: 8px; background: var(--paper); }
.assignment-picker option { padding: 8px 7px; white-space: normal; }
.assignment-picker option:checked { background: var(--green); color: #fff; }
.assignment-search { width: 100%; }
.assignment-picker__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.goal-manager-layout { align-items: start; }
.goal-manager-layout > .panel { min-width: 0; }
.goal-manager-layout [data-admin-goal-recipients] { width: 100%; min-height: 188px; }
.goal-manager-layout [data-admin-goal-recipients][hidden] { display: none; }
.field-readout { display: flex; align-items: center; min-height: 46px; padding: 0 12px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper-warm); color: var(--ink); font-weight: 700; }
.weekly-progress-panel { overflow: hidden; }
.weekly-report-form { margin-top: 18px; }
.weekly-report-rows { display: grid; gap: 12px; }
.weekly-report-row { display: grid; gap: 14px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper-warm); }
.weekly-report-row__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.weekly-report-row__head strong { color: var(--green); font-size: .76rem; letter-spacing: .04em; text-transform: uppercase; }
.weekly-report-row select { width: 100%; }
.weekly-report-percent { grid-column: 1 / -1; }
.percent-input-pair { display: grid; grid-template-columns: minmax(140px, 1fr) 82px 20px; align-items: center; gap: 10px; }
.percent-input-pair input[type="range"] { accent-color: var(--green); }
.percent-input-pair input[type="number"] { width: 100%; }
.percent-input-pair > span { color: var(--muted); font-weight: 700; }
.weekly-report-history, .weekly-report-admin-list { display: grid; gap: 12px; }
.weekly-report-history__item, .weekly-report-admin-card { display: grid; gap: 10px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper-warm); }
.weekly-report-history__item .panel-heading, .weekly-report-admin-card .panel-heading { margin: 0; }
.weekly-report-history__item h3 { margin: 4px 0 0; font-family: 'Playfair Display', Georgia, serif; font-size: 1.2rem; }
.weekly-report-history__item p { margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.55; }
.weekly-report-history__entries { display: grid; gap: 8px; }
.weekly-report-history__entries > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) auto; gap: 10px; align-items: center; padding: 9px 0; border-top: 1px solid var(--line); font-size: .7rem; }
.weekly-report-history__entries span { color: var(--muted); }
.weekly-report-history__entries b { color: var(--green); }
.weekly-report-admin-card .table-wrap { margin-top: 2px; }
.weekly-report-admin-card .progress-bar { min-width: 90px; }
.weekly-report-admin-card .review-toolbar { margin-top: 4px; }

@media (max-width: 900px) {
    .assignment-picker-grid, .goal-manager-layout { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
    .assignment-picker select { min-height: 190px; }
    .percent-input-pair { grid-template-columns: 1fr 72px 18px; }
    .weekly-report-history__entries > div { grid-template-columns: 1fr auto; }
    .weekly-report-history__entries span { grid-column: 1 / -1; }
}

/* Goal dispatch and weekly workspace refinements */
.picker-search-bar { position: relative; display: flex; align-items: center; width: 100%; }
.picker-search-icon { position: absolute; left: 12px; font-size: 0.85rem; color: var(--muted); pointer-events: none; }
.picker-search-bar .assignment-search { width: 100%; padding: 10px 32px 10px 34px; border: 1px solid rgba(18, 60, 50, 0.18); border-radius: 10px; background: #fff; font-size: 0.76rem; color: var(--ink); transition: border-color 0.18s ease, box-shadow 0.18s ease; }
.picker-search-bar .assignment-search:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(18, 60, 50, 0.1); outline: none; }
.picker-search-clear { position: absolute; right: 8px; display: flex; align-items: center; justify-content: center; width: 22px; height: 22px; border: none; border-radius: 50%; background: rgba(0, 0, 0, 0.08); color: var(--ink); font-size: 1rem; line-height: 1; cursor: pointer; transition: background 0.15s ease; }
.picker-search-clear:hover { background: rgba(0, 0, 0, 0.16); }

.picker-quick-chips { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; padding: 2px 0 6px; }
.chips-label { font-size: 0.65rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: 0.04em; margin-right: 2px; }
.quick-chip { display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border: 1px solid rgba(18, 60, 50, 0.15); border-radius: 999px; background: #fff; font-size: 0.68rem; font-weight: 600; color: var(--ink); cursor: pointer; transition: all 0.16s ease; user-select: none; }
.quick-chip:hover { border-color: var(--green); background: var(--green-soft); color: var(--green); transform: translateY(-1px); }
.quick-chip.active { border-color: var(--green); background: var(--green); color: #fff; box-shadow: 0 2px 6px rgba(18, 60, 50, 0.2); }
.quick-chip .chip-count { display: inline-block; padding: 0 5px; border-radius: 999px; background: rgba(0, 0, 0, 0.07); font-size: 0.58rem; font-weight: 700; }
.quick-chip.active .chip-count { background: rgba(255, 255, 255, 0.25); color: #fff; }

.picker-guidance-card { display: flex; align-items: flex-start; gap: 12px; padding: 16px; border: 1px dashed rgba(18, 60, 50, 0.22); border-radius: 12px; background: linear-gradient(135deg, rgba(238, 247, 241, 0.6), rgba(255, 253, 247, 0.9)); }
.picker-guidance-card .guidance-icon { font-size: 1.5rem; line-height: 1; color: var(--green); flex-shrink: 0; }
.picker-guidance-card .guidance-body { display: grid; gap: 6px; }
.picker-guidance-card strong { font-size: 0.78rem; color: var(--green); }
.picker-guidance-card p { margin: 0; font-size: 0.7rem; color: var(--muted); line-height: 1.45; }
.picker-no-results { display: grid; place-items: center; text-align: center; gap: 4px; padding: 24px 16px; border: 1px dashed var(--line); border-radius: 12px; background: var(--paper-warm); }
.picker-no-results span { font-size: 1.5rem; }
.picker-no-results strong { font-size: 0.78rem; color: var(--ink); }
.picker-no-results p { margin: 0; font-size: 0.68rem; color: var(--muted); }
.picker-guidance-card[hidden], .picker-no-results[hidden] { display: none !important; }
.badge--neutral { background: #e2e8f0; color: #334155; font-weight: 700; font-size: 0.64rem; padding: 2px 8px; border-radius: 999px; }

.batch-choice-list, .recipient-choice-list { display: grid; gap: 8px; max-height: 480px; overflow-y: auto; padding: 4px; }
.batch-goal-table-wrap, .batch-teacher-table-wrap { max-height: 480px; overflow-y: auto; border: 1px solid rgba(18, 60, 50, 0.14); border-radius: 12px; background: #fff; box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.02); }
.batch-goal-table, .batch-teacher-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 0.72rem; }
.batch-goal-table th, .batch-teacher-table th { position: sticky; top: 0; z-index: 3; background: #eef5f1; color: var(--green); font-weight: 800; font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.04em; padding: 9px 10px; border-bottom: 2px solid rgba(18, 60, 50, 0.16); white-space: nowrap; }
.batch-goal-table td, .batch-teacher-table td { padding: 9px 10px; border-bottom: 1px solid rgba(18, 60, 50, 0.07); vertical-align: middle; }
.batch-table-group-row td { background: #f8faf9; padding: 7px 10px; border-top: 1px solid rgba(18, 60, 50, 0.12); border-bottom: 1px solid rgba(18, 60, 50, 0.12); }
.batch-table-group-header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.batch-table-goal-row, .batch-table-teacher-row { transition: background 0.14s ease, transform 0.14s ease; cursor: pointer; }
.batch-table-goal-row:hover, .batch-table-teacher-row:hover { background: rgba(18, 60, 50, 0.035); }
.batch-table-goal-row:has(input:checked), .batch-table-teacher-row:has(input:checked),
.batch-table-goal-row.is-selected, .batch-table-teacher-row.is-selected { background: var(--green-soft) !important; }
.batch-table-goal-row[hidden], .batch-table-teacher-row[hidden], .batch-table-group-row[hidden] { display: none !important; }
.batch-table-check-label { display: flex; align-items: center; justify-content: center; cursor: pointer; margin: 0; }
.batch-table-check-label input[type="checkbox"] { width: 17px; height: 17px; accent-color: var(--green); cursor: pointer; }
.batch-student-cell { display: grid; gap: 3px; min-width: 110px; }
.batch-student-cell strong { font-size: 0.74rem; color: var(--ink); }
.batch-goal-cell { display: grid; gap: 3px; min-width: 170px; max-width: 280px; }
.batch-goal-title { font-size: 0.73rem; color: var(--ink); line-height: 1.35; }
.batch-goal-desc { color: var(--muted); font-size: 0.65rem; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.batch-deadline-cell { display: grid; gap: 2px; min-width: 100px; white-space: nowrap; }
.batch-deadline-cell .deadline-date { font-weight: 700; font-size: 0.68rem; color: var(--ink); }
.batch-unassigned-badge { display: inline-block; padding: 2px 7px; border-radius: 999px; background: #f1f5f9; color: #64748b; font-size: 0.6rem; font-weight: 700; border: 1px solid #cbd5e1; white-space: nowrap; }
.batch-choice-group-header { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 12px; margin-top: 6px; border-radius: 8px; background: rgba(18,60,50,.07); border-left: 3px solid var(--green); }
.batch-choice-group-title { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: .73rem; color: var(--ink); }
.batch-group-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--green); }
.batch-group-dot--overdue { background: #b91c1c; }
.batch-group-tag { font-size: .62rem; font-weight: 700; padding: 2px 7px; border-radius: 999px; background: rgba(18,60,50,.12); color: var(--green); text-transform: uppercase; letter-spacing: .03em; }
.batch-group-tag--overdue { background: #fee2e2; color: #b91c1c; }
.batch-choice, .recipient-choice { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border: 1px solid rgba(18,60,50,.12); border-radius: 10px; background: var(--paper); cursor: pointer; transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease; }
.batch-choice:hover, .recipient-choice:hover { border-color: rgba(18,60,50,.34); transform: translateY(-1px); box-shadow: 0 4px 10px rgba(0,0,0,.04); }
.batch-choice:has(input:checked), .recipient-choice:has(input:checked) { border-color: var(--green); background: var(--green-soft); box-shadow: 0 0 0 2px rgba(18,60,50,.08); }
.batch-choice input, .recipient-choice input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 3px; accent-color: var(--green); cursor: pointer; }
.batch-choice__body, .recipient-choice > span { display: grid; gap: 4px; min-width: 0; flex: 1 1 auto; }
.batch-choice__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.batch-choice__top strong { color: var(--ink); font-size: .78rem; font-weight: 800; }
.talent-badge { font-size: .62rem; font-weight: 700; padding: 2px 7px; border-radius: 999px; background: rgba(18,60,50,.08); color: var(--green); border: 1px solid rgba(18,60,50,.15); }
.batch-choice__goal-title { color: var(--ink); font-size: .73rem; font-weight: 600; line-height: 1.35; }
.batch-choice__goal-desc { color: var(--muted); font-size: .66rem; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.batch-choice__meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; margin-top: 3px; font-size: .66rem; color: var(--muted); }
.badge-percent { display: inline-block; padding: 1px 6px; border-radius: 6px; background: #e0f2fe; color: #0369a1; font-weight: 700; font-size: .63rem; }
.batch-active-badge { flex: 0 0 auto; padding: 3px 7px; border-radius: 999px; background: #fef3c7; color: #92400e; font-size: .62rem; font-style: normal; font-weight: 800; white-space: nowrap; border: 1px solid #fde68a; }
.text-danger { color: #b91c1c !important; }
.batch-choice em, .recipient-choice em { flex: 0 0 auto; color: var(--green); font-size: .6rem; font-style: normal; font-weight: 800; white-space: nowrap; }
.batch-choice[hidden], .recipient-choice[hidden], .batch-choice-group-header[hidden] { display: none; }
.batch-dispatch-preview { padding: 11px 13px; border: 1px solid rgba(18,60,50,.14); border-radius: 9px; background: var(--green-soft); color: var(--green); font-size: .7rem; font-weight: 700; }
.button:disabled { cursor: not-allowed; opacity: .5; transform: none; }
.goal-recipient-lane { display: grid; gap: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper-warm); }
.goal-recipient-lane[hidden] { display: none; }
.recipient-lane__head { display: grid; gap: 3px; }
.recipient-lane__head strong { color: var(--green); font-size: .78rem; }
.recipient-lane__head small { color: var(--muted); font-size: .65rem; }
.plan-week-intro { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(220px, .7fr); gap: 18px; margin-bottom: 18px; padding: 20px; border: 1px solid rgba(18,60,50,.14); border-radius: 16px; background: linear-gradient(135deg, rgba(238,247,241,.92), rgba(255,253,247,.95)); }
.plan-week-intro h2 { margin: 5px 0 8px; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(1.35rem, 2vw, 2rem); line-height: 1.08; }
.plan-week-intro p { max-width: 760px; margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.65; }
.plan-week-intro__status { display: grid; align-content: center; gap: 7px; padding: 14px; border-left: 1px solid rgba(18,60,50,.14); }
.plan-week-intro__status strong { color: var(--green); font-size: .78rem; line-height: 1.35; }
.plan-week-intro__status small { color: var(--muted); font-size: .66rem; line-height: 1.45; }
.plan-week-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
.plan-week-step { display: flex; align-items: flex-start; gap: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper-warm); }
.plan-week-step > span { display: grid; place-items: center; width: 27px; height: 27px; flex: 0 0 27px; border-radius: 50%; background: var(--green); color: #fff; font-size: .63rem; font-weight: 800; }
.plan-week-step div { display: grid; gap: 3px; }
.plan-week-step strong { color: var(--ink); font-size: .72rem; }
.plan-week-step small { color: var(--muted); font-size: .63rem; line-height: 1.4; }
.plan-week-layout { align-items: start; }
.plan-week-plan-panel, .plan-week-progress-panel { min-width: 0; }
.plan-week-day.is-inactive { opacity: .6; }
.plan-week-day.is-inactive .weekly-plan-day__head { margin-bottom: 0; }
.plan-week-day.is-inactive [data-plan-day-fields] { display: none; }
.plan-week-submit-row { justify-content: space-between; align-items: center; }
.plan-week-submit-row .field-hint { margin: 0; }
.weekly-report-row__head > div { display: grid; gap: 3px; }
.weekly-report-row__head small { color: var(--muted); font-size: .64rem; }
.plan-week-history-panel { margin-top: 18px; }
.plan-week-history-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.plan-week-history-grid > div > h3 { margin: 0 0 10px; font-family: 'Playfair Display', Georgia, serif; font-size: 1.18rem; }
.plan-week-history-grid .lesson-list, .plan-week-history-grid .weekly-report-history { max-height: 650px; overflow: auto; }
.plan-week-history-grid .lesson-row { grid-template-columns: minmax(92px, .5fr) minmax(0, 1.5fr) auto; }
.weekly-report-admin-filters, .assignment-history-filters { align-items: end; }

@media (max-width: 900px) {
    .plan-week-intro, .plan-week-history-grid { grid-template-columns: 1fr; }
    .plan-week-intro__status { border-top: 1px solid rgba(18,60,50,.14); border-left: 0; }
}

@media (max-width: 620px) {
    .plan-week-steps { grid-template-columns: 1fr; }
    .plan-week-intro { padding: 15px; }
    .plan-week-submit-row { align-items: flex-start; flex-direction: column; }
    .plan-week-history-grid .lesson-row { grid-template-columns: 1fr; }
    .batch-choice-list, .recipient-choice-list { max-height: 300px; }
}

/* School Certificate Studio & Generator */
.cert-download-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 24px;
    margin-bottom: 22px;
    background: linear-gradient(135deg, #123c32 0%, #1c5c4e 100%);
    border: 2px solid #d3a557;
    border-radius: 16px;
    color: #fff;
    box-shadow: 0 10px 25px rgba(18, 60, 50, 0.22);
}
.cert-download-hero__content {
    display: grid;
    gap: 6px;
}
.cert-download-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #e4c27a;
}
.cert-download-hero h3 {
    margin: 0;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1.35rem;
    color: #fff;
}
.cert-download-hero p {
    margin: 0;
    font-size: 0.76rem;
    color: rgba(255, 255, 255, 0.88);
    line-height: 1.5;
}
.cert-download-hero__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.button--gold {
    background: linear-gradient(135deg, #e4c27a 0%, #c8963e 100%);
    color: #123c32 !important;
    font-weight: 800;
    border: 1px solid #d3a557;
    box-shadow: 0 4px 12px rgba(200, 150, 62, 0.35);
}
.button--gold:hover {
    background: linear-gradient(135deg, #ebd193 0%, #d8a44b 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(200, 150, 62, 0.45);
}

.cert-studio-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    gap: 20px;
    align-items: start;
}
.cert-student-select-card {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid rgba(18, 60, 50, 0.14);
    border-radius: 12px;
    background: var(--paper-warm);
}
.cert-preview-card {
    position: relative;
    display: grid;
    gap: 14px;
    padding: 24px;
    border: 2px solid #d3a557;
    border-radius: 14px;
    background: #fcfbf7;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}
.cert-preview-watermark {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 140px;
    height: 140px;
    opacity: 0.08;
    pointer-events: none;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.cert-preview-header {
    text-align: center;
    border-bottom: 1px solid rgba(211, 165, 87, 0.35);
    padding-bottom: 10px;
}
.cert-preview-header small {
    display: block;
    color: #976f2d;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.cert-preview-header strong {
    color: var(--green);
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1.1rem;
}
.cert-preview-body {
    display: grid;
    gap: 8px;
    text-align: center;
    position: relative;
    z-index: 1;
}
.cert-preview-kicker {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--muted);
    font-weight: 700;
}
.cert-preview-name {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1.35rem;
    color: var(--green);
    font-weight: 800;
}
.cert-preview-score-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 4px 12px;
    margin: 4px auto;
    border-radius: 999px;
    background: rgba(18, 60, 50, 0.08);
    border: 1px solid rgba(211, 165, 87, 0.4);
    color: var(--green);
    font-size: 0.68rem;
    font-weight: 800;
}
.cert-preview-statement {
    font-size: 0.72rem;
    color: #37443e;
    line-height: 1.55;
    margin: 4px 0;
}
.cert-preview-footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid rgba(211, 165, 87, 0.35);
    font-size: 0.65rem;
    position: relative;
    z-index: 1;
}
.cert-preview-sig {
    display: grid;
    gap: 2px;
}
.cert-preview-sig strong {
    color: var(--green);
    font-size: 0.68rem;
}
.cert-preview-sig span {
    color: var(--muted);
}
.cert-accordion {
    margin-top: 12px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--paper-warm);
    padding: 10px 14px;
}
.cert-accordion summary {
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--green);
    cursor: pointer;
    user-select: none;
}
.cert-accordion[open] summary {
    margin-bottom: 12px;
}

.cert-tabs {
    margin-bottom: 20px;
}

.cert-verify-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
}

.cert-parchment {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

@media (max-width: 900px) {
    .cert-studio-grid { grid-template-columns: 1fr; }
    .cert-download-hero { flex-direction: column; align-items: flex-start; }
    .cert-verify-banner { flex-direction: column; align-items: flex-start; }
}

/* Homepage stage video (Admin > Video uploader) */
.stage-surface--video { background: #050c0a; }
.stage-surface--video .stage-video { position: absolute; z-index: 1; inset: 0; display: block; width: 100%; height: 100%; border-radius: inherit; object-fit: cover; background: #050c0a; pointer-events: none; }
.stage-video-sound { position: absolute; z-index: 8; left: 22px; bottom: 22px; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px 9px 11px; border: 1px solid rgba(243, 216, 159, .38); border-radius: 999px; color: var(--gold-light, #f3d89f); background: rgba(9, 37, 30, .66); font-family: 'DM Mono', Consolas, monospace; font-size: .53rem; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; backdrop-filter: blur(8px); transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.stage-video-sound:hover { border-color: rgba(243, 216, 159, .7); background: rgba(9, 37, 30, .82); transform: translateY(-1px); }
.stage-video-sound:focus-visible { outline: 2px solid var(--gold-light, #f3d89f); outline-offset: 3px; }
.stage-video-sound__icon { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.stage-video-sound__icon path:first-child { fill: currentColor; stroke: none; }
.stage-video-sound.is-muted .stage-video-sound__icon--unmuted, .stage-video-sound:not(.is-muted) .stage-video-sound__icon--muted { display: none; }
.stage-video-sound.is-muted { animation: stage-video-sound-pulse 2.4s ease-in-out infinite; }
@keyframes stage-video-sound-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(243, 216, 159, .32); } 50% { box-shadow: 0 0 0 8px rgba(243, 216, 159, 0); } }
@media (prefers-reduced-motion: reduce) { .stage-video-sound.is-muted { animation: none; } }

.video-uploader-layout { align-items: start; }
.video-uploader-preview { position: relative; overflow: hidden; aspect-ratio: 16 / 10; margin-top: 14px; border: 1px solid var(--theme-line, var(--line)); border-radius: 26px 26px 72px 26px; background: radial-gradient(circle at 48% 40%, rgba(242, 214, 154, .2), transparent 40%), linear-gradient(135deg, #123c32, #08201b 72%); }
.video-uploader-preview video { display: block; width: 100%; height: 100%; object-fit: cover; background: #050c0a; }
.video-uploader-preview__empty { position: absolute; inset: 0; display: grid; place-content: center; gap: 8px; padding: 20px; color: rgba(243, 216, 159, .86); text-align: center; }
.video-uploader-preview__empty strong { font-size: .78rem; letter-spacing: .18em; }
.video-uploader-preview__empty span { color: rgba(247, 245, 239, .7); font-size: .62rem; }
.video-uploader-live-meta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 14px; }
.video-uploader-live-meta > div:first-child { display: grid; gap: 3px; min-width: 0; }
.video-uploader-live-meta strong { color: var(--theme-text, var(--ink-deep)); font-size: .74rem; }
.video-uploader-live-meta span { color: var(--theme-muted, var(--muted)); font-size: .58rem; }
.video-uploader-live-meta__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.video-uploader-progress { display: grid; gap: 7px; }
.video-uploader-progress[hidden], .video-uploader-error[hidden] { display: none; }
.video-uploader-progress__bar { overflow: hidden; height: 9px; border-radius: 999px; background: rgba(18, 60, 50, .12); }
.video-uploader-progress__bar span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--green, #123c32), var(--gold, #d9a85b)); transition: width .2s ease; }
.video-uploader-progress small { color: var(--theme-muted, var(--muted)); font-size: .6rem; }
.video-uploader-error { margin: 0; padding: 10px 12px; border-radius: 10px; color: #8a1f1f; background: #fbe1df; font-size: .64rem; }
.video-uploader-library { margin-bottom: 18px; }
.video-uploader-list { display: grid; gap: 9px; }
.video-uploader-row { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 9px; border: 1px solid var(--theme-line, var(--line)); border-radius: 13px; background: rgba(255, 255, 255, .48); }
.video-uploader-row.is-live { border-color: rgba(20, 82, 61, .45); box-shadow: inset 3px 0 0 #14523d; }
.video-uploader-row__thumb { overflow: hidden; width: 120px; aspect-ratio: 16 / 9; border-radius: 9px; background: linear-gradient(135deg, #123c32, #08201b); }
.video-uploader-row__thumb video { display: block; width: 100%; height: 100%; object-fit: cover; }
.video-uploader-row__copy { display: grid; gap: 3px; min-width: 0; }
.video-uploader-row__copy strong { overflow: hidden; color: var(--theme-text, var(--ink-deep)); font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.video-uploader-row__copy span, .video-uploader-row__copy small { overflow: hidden; color: var(--theme-muted, var(--muted)); font-size: .56rem; text-overflow: ellipsis; white-space: nowrap; }
.video-uploader-row__actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }

@media (max-width: 700px) {
    .video-uploader-row { grid-template-columns: 88px minmax(0, 1fr); }
    .video-uploader-row__thumb { width: 88px; }
    .video-uploader-row__actions { grid-column: 1 / -1; justify-content: flex-start; }
}

/* Homepage spotlight: every enabled performer is listed inside its lane. */
.home-performer-lane__people { display: grid; gap: 10px; min-width: 0; }
.home-performer-lane__people > .home-performer-lane__profile + .home-performer-lane__profile { padding-top: 10px; border-top: 1px solid rgba(18,60,50,.1); }

/* Homepage Mobile Money alert: tap-to-dial USSD box on phones, readable notice elsewhere. */
.home-momo-section { position: relative; margin-top: clamp(-70px, -5vw, -28px); padding: 0 0 clamp(54px, 8vw, 100px); background: #f7f5ef; }
.home-momo-alert { position: relative; display: block; overflow: hidden; padding: clamp(22px, 4vw, 40px); border: 1px solid rgba(243,216,159,.72); border-radius: 30px; color: #fffdf7; text-align: center; background: radial-gradient(circle at 12% 0%, rgba(217,168,91,.36), transparent 32%), radial-gradient(circle at 88% 100%, rgba(255,204,0,.2), transparent 36%), linear-gradient(135deg, #0b2822, #14523d 55%, #0b2822); box-shadow: 0 28px 70px rgba(11,40,34,.28), 0 0 0 1px rgba(255,253,247,.12) inset; isolation: isolate; -webkit-tap-highlight-color: transparent; animation: momo-glow 2.6s ease-in-out infinite; transition: transform 220ms ease, border-color 220ms ease; }
.home-momo-alert[href]:hover { border-color: #ffcc00; transform: translateY(-4px); }
.home-momo-alert[href]:active { transform: scale(.985); }
.home-momo-alert:focus-visible { outline: 0; box-shadow: 0 0 0 4px rgba(247,245,239,.95), 0 0 0 7px var(--gold), 0 28px 70px rgba(11,40,34,.28); }
.home-momo-alert.is-desktop { cursor: default; }
.home-momo-alert__sheen { position: absolute; z-index: -1; top: -45%; left: -18%; width: 14%; height: 190%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent); pointer-events: none; transform: rotate(24deg); animation: performer-sheen 5.5s ease-in-out infinite; }
.home-momo-alert__ring { position: absolute; z-index: -1; top: 50%; left: 50%; width: 46%; aspect-ratio: 1; border: 1px solid rgba(243,216,159,.3); border-radius: 50%; pointer-events: none; transform: translate(-50%, -50%) scale(.4); opacity: 0; animation: momo-ripple 3.6s ease-out infinite; }
.home-momo-alert__ring--two { animation-delay: 1.8s; }
.home-momo-alert__head, .home-momo-alert__foot { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.home-momo-alert__head { padding-bottom: 16px; border-bottom: 1px solid rgba(255,253,247,.16); }
.home-momo-alert__live { display: inline-flex; align-items: center; gap: 10px; color: #f3d89f; font-family: 'DM Mono', Consolas, monospace; font-size: .62rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.home-momo-alert__live i { display: block; width: 9px; height: 9px; border-radius: 50%; background: #3ee08f; box-shadow: 0 0 0 5px rgba(62,224,143,.18), 0 0 18px rgba(62,224,143,.85); animation: pulse 1.4s ease-in-out infinite; }
.home-momo-alert__brand { padding: 6px 12px; border-radius: 999px; color: #0b2822; background: #ffcc00; font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 6px 18px rgba(255,204,0,.32); }
.home-momo-alert__body { position: relative; display: grid; justify-items: center; gap: 12px; padding: clamp(24px, 4vw, 42px) 0 clamp(22px, 3.5vw, 34px); }
.home-momo-alert__title { color: #ffcc00; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2.2rem, 6vw, 4.4rem); font-weight: 700; letter-spacing: -.04em; line-height: .95; text-shadow: 0 0 26px rgba(255,204,0,.4); }
.home-momo-alert .eyebrow.eyebrow--home-momo { margin-bottom: 0; color: #f3d89f; }
.home-momo-alert__code { display: inline-flex; align-items: baseline; justify-content: center; max-width: 100%; color: #fffdf7; font-family: 'DM Mono', Consolas, monospace; font-size: clamp(1.5rem, 7.6vw, 5.4rem); font-weight: 600; letter-spacing: -.02em; line-height: 1; white-space: nowrap; font-variant-numeric: tabular-nums; text-shadow: 0 0 22px rgba(255,204,0,.45), 0 0 2px rgba(255,253,247,.6); animation: momo-code 2.6s ease-in-out infinite; }
.home-momo-alert__symbol { color: #ffcc00; }
.home-momo-alert__note { max-width: 520px; color: rgba(255,253,247,.74); font-size: .8rem; line-height: 1.55; }
.home-momo-alert__foot { padding-top: 16px; border-top: 1px solid rgba(255,253,247,.16); }
.home-momo-alert__cta { display: inline-flex; align-items: center; gap: 10px; padding: 11px 18px 11px 11px; border-radius: 999px; color: #0b2822; background: linear-gradient(135deg, #ffe27a, #ffcc00); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; box-shadow: 0 10px 26px rgba(255,204,0,.35); }
.home-momo-alert__cta-icon { display: grid; width: 30px; height: 30px; flex: 0 0 30px; place-items: center; border-radius: 50%; background: #0b2822; animation: momo-ring 1.6s ease-in-out infinite; }
.home-momo-alert__cta-icon svg { width: 15px; height: 15px; fill: #ffcc00; }
.home-momo-alert.is-desktop .home-momo-alert__cta { color: #f3d89f; background: rgba(255,253,247,.08); box-shadow: inset 0 0 0 1px rgba(243,216,159,.4); }
.home-momo-alert.is-desktop .home-momo-alert__cta-icon { background: rgba(243,216,159,.16); animation: none; }
.home-momo-alert.is-desktop .home-momo-alert__cta-icon svg { fill: #f3d89f; }
.home-momo-alert__hint { color: rgba(255,253,247,.5); font-family: 'DM Mono', Consolas, monospace; font-size: .53rem; letter-spacing: .1em; text-transform: uppercase; }

@keyframes momo-glow { 0%, 100% { box-shadow: 0 28px 70px rgba(11,40,34,.28), 0 0 0 1px rgba(255,253,247,.12) inset, 0 0 0 0 rgba(255,204,0,.0); } 50% { box-shadow: 0 28px 70px rgba(11,40,34,.28), 0 0 0 1px rgba(255,253,247,.12) inset, 0 0 46px 4px rgba(255,204,0,.34); } }
@keyframes momo-code { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.035); } }
@keyframes momo-ripple { 0% { opacity: .9; transform: translate(-50%, -50%) scale(.4); } 100% { opacity: 0; transform: translate(-50%, -50%) scale(2.1); } }
@keyframes momo-ring { 0%, 70%, 100% { transform: rotate(0); } 75% { transform: rotate(-14deg); } 80% { transform: rotate(12deg); } 85% { transform: rotate(-9deg); } 90% { transform: rotate(6deg); } }

@media (max-width: 480px) {
    .home-momo-alert { padding: 19px 14px; border-radius: 22px; }
    .home-momo-alert__head, .home-momo-alert__foot { flex-direction: column; gap: 10px; }
    .home-momo-alert__cta { justify-content: center; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .home-momo-alert, .home-momo-alert__sheen, .home-momo-alert__ring, .home-momo-alert__code, .home-momo-alert__cta-icon, .home-momo-alert__live i { animation: none; }
    .home-momo-alert { transition: none; }
}
