        /* ===== TOKENS ===== */
        :root {
            --pw-ink: #0e1c17;
            --pw-ink-2: #14241d;
            --pw-moss: #1b3328;
            --pw-moss-line: #2b4738;
            --pw-velvet: #233f33;
            --pw-parchment: #f3e8c8;
            --pw-parchment-soft: #d8cca8;
            --pw-parchment-mute: #9a9170;
            --pw-gold: #d4a84a;
            --pw-gold-bright: #f4d066;
            --pw-gold-deep: #8a6817;
            --pw-ember: #b8423a;
            --pw-gem: #58c8a8;
            --pw-ruby: #c8364d;

            --pw-radius-sm: 6px;
            --pw-radius: 10px;
            --pw-radius-lg: 14px;
            --pw-radius-xl: 20px;

            --pw-shadow-card: 0 10px 28px rgba(0,0,0,.45);
            --pw-shadow-glow: 0 0 32px rgba(212,168,74,.18);

            --pw-grad-gold: linear-gradient(135deg, #f4d066 0%, #d4a84a 50%, #8a6817 100%);
            --pw-grad-gold-soft: linear-gradient(135deg, #e6c060, #c39a3a);
            --pw-grad-velvet: linear-gradient(180deg, #233f33 0%, #14241d 100%);
            --pw-grad-throne: linear-gradient(180deg, rgba(14,28,23,.2) 0%, rgba(14,28,23,.85) 100%);

            --pw-top-h: 64px;
            --pw-max: 1280px;
        }

        /* ===== RESET ===== */
        *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        body {
            font-family: 'Inter', system-ui, sans-serif;
            background: var(--pw-ink);
            color: var(--pw-parchment);
            line-height: 1.55;
            overflow-x: hidden;
            background-image:
                radial-gradient(1200px 600px at 50% -100px, rgba(212,168,74,.08), transparent 70%),
                radial-gradient(800px 400px at 80% 30%, rgba(88,200,168,.04), transparent 70%);
        }
        a { color: inherit; text-decoration: none; }
        img { max-width: 100%; display: block; }
        button, input { font-family: inherit; border: none; outline: none; color: inherit; }
        h1, h2, h3, h4 { font-family: 'Cinzel', 'Inter', serif; letter-spacing: .02em; }

        ::-webkit-scrollbar { height: 8px; width: 8px; }
        ::-webkit-scrollbar-track { background: var(--pw-ink-2); }
        ::-webkit-scrollbar-thumb { background: var(--pw-velvet); border-radius: 4px; }
        ::-webkit-scrollbar-thumb:hover { background: var(--pw-gold-deep); }

        .pw-container { max-width: var(--pw-max); margin: 0 auto; padding: 0 24px; }

        /* ===== TOP CROWN (header) ===== */
        .crown-top {
            position: sticky;
            top: 0;
            z-index: 1000;
            height: var(--pw-top-h);
            background: linear-gradient(180deg, #0c1814 0%, #0e1c17 100%);
            border-bottom: 1px solid var(--pw-moss-line);
            box-shadow: 0 4px 20px rgba(0,0,0,.4);
        }
        .crown-top__inner {
            max-width: var(--pw-max);
            margin: 0 auto;
            height: 100%;
            padding: 0 24px;
            display: flex;
            align-items: center;
            gap: 16px;
        }
        .crown-toggle {
            display: none;
            background: transparent;
            cursor: pointer;
            padding: 8px;
            border-radius: var(--pw-radius-sm);
        }
        .crown-toggle__bar {
            display: block;
            width: 22px;
            height: 2px;
            background: var(--pw-gold);
            margin: 5px 0;
            border-radius: 2px;
            transition: .25s;
        }
        .crown-toggle:hover .crown-toggle__bar { background: var(--pw-gold-bright); }

        .crown-top__crest {
            display: flex;
            align-items: center;
            gap: 12px;
            font-family: 'Cinzel', serif;
            font-weight: 900;
            font-size: 22px;
            color: var(--pw-gold-bright);
            letter-spacing: .08em;
        }
        .crown-top__crest-mark {
            width: 38px;
            height: 38px;
            display: block;
            filter: drop-shadow(0 2px 4px rgba(0,0,0,.4));
        }

        .crown-nav {
            display: flex;
            gap: 4px;
            margin-left: 16px;
        }
        .crown-nav a {
            font-size: 12px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .8px;
            color: var(--pw-parchment-soft);
            padding: 8px 14px;
            border-radius: var(--pw-radius-sm);
            transition: color .2s, background .2s;
        }
        .crown-nav a:hover { color: var(--pw-gold-bright); background: rgba(212,168,74,.06); }
        .crown-nav a.is-active { color: var(--pw-gold-bright); background: rgba(212,168,74,.08); }

        .crown-top__keys {
            margin-left: auto;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .knight-btn {
            height: 38px;
            padding: 0 22px;
            border-radius: var(--pw-radius-sm);
            font-size: 12px;
            font-weight: 700;
            letter-spacing: .9px;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            white-space: nowrap;
            text-transform: uppercase;
            transition: transform .15s, box-shadow .2s, background .2s;
        }
        .knight-btn--ghost {
            background: transparent;
            border: 1px solid var(--pw-gold-deep);
            color: var(--pw-parchment);
        }
        .knight-btn--ghost:hover { border-color: var(--pw-gold); color: var(--pw-gold-bright); }
        .knight-btn--gold {
            background: var(--pw-grad-gold);
            color: #1a1208;
            box-shadow: 0 4px 14px rgba(212,168,74,.3), inset 0 1px 0 rgba(255,255,255,.3);
        }
        .knight-btn--gold:hover { transform: translateY(-1px); box-shadow: 0 6px 22px rgba(244,208,102,.45), inset 0 1px 0 rgba(255,255,255,.4); }

        /* ===== REALM DRAWER (mobile + desktop overlay nav) ===== */
        .realm-drawer {
            position: fixed;
            top: var(--pw-top-h);
            left: 0;
            width: 280px;
            height: calc(100vh - var(--pw-top-h));
            background: var(--pw-ink-2);
            border-right: 1px solid var(--pw-moss-line);
            transform: translateX(-100%);
            transition: transform .3s ease;
            z-index: 900;
            overflow-y: auto;
            padding: 16px 0;
        }
        .realm-drawer.is-open { transform: translateX(0); }
        .realm-drawer__banner {
            margin: 0 16px 16px;
            border-radius: var(--pw-radius);
            overflow: hidden;
            display: block;
            background: var(--pw-velvet);
            position: relative;
            border: 1px solid var(--pw-moss-line);
        }
        .realm-drawer__banner img { width: 100%; display: block; }
        .realm-drawer__rule {
            height: 1px;
            background: var(--pw-moss-line);
            margin: 10px 16px;
        }
        .realm-drawer__group { list-style: none; }
        .realm-drawer__group li a {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 11px 20px;
            font-size: 12px;
            font-weight: 600;
            letter-spacing: .7px;
            color: var(--pw-parchment-soft);
            text-transform: uppercase;
            transition: background .15s, color .15s;
        }
        .realm-drawer__group li a:hover,
        .realm-drawer__group li a.is-active {
            background: rgba(212,168,74,.06);
            color: var(--pw-gold-bright);
        }
        .realm-drawer__group li a.is-active {
            border-left: 3px solid var(--pw-gold);
            padding-left: 17px;
        }
        .realm-drawer__icon {
            display: inline-block;
            width: 22px;
            text-align: center;
            font-size: 17px;
            color: var(--pw-gold);
            opacity: .65;
            line-height: 1;
        }
        .realm-drawer__group li a:hover .realm-drawer__icon,
        .realm-drawer__group li a.is-active .realm-drawer__icon { opacity: 1; color: var(--pw-gold-bright); }

        .realm-veil {
            position: fixed;
            inset: var(--pw-top-h) 0 0 0;
            background: rgba(0,0,0,.5);
            opacity: 0;
            pointer-events: none;
            transition: opacity .25s;
            z-index: 890;
        }
        .realm-veil.is-shown { opacity: 1; pointer-events: auto; }

        /* ===== THRONE BANNER (hero) ===== */
        .throne-banner {
            position: relative;
            min-height: 460px;
            display: flex;
            align-items: center;
            overflow: hidden;
            background: var(--pw-ink);
        }
        .throne-banner__art {
            position: absolute;
            inset: 0;
            background: url('../img/pw-hero.webp') center/cover no-repeat;
            background-color: #1c2e25;
        }
        .throne-banner__veil {
            position: absolute;
            inset: 0;
            background:
                linear-gradient(90deg, rgba(14,28,23,.92) 0%, rgba(14,28,23,.55) 45%, rgba(14,28,23,.15) 100%),
                radial-gradient(ellipse at 70% 50%, rgba(212,168,74,.18), transparent 70%);
        }
        .throne-banner__core {
            position: relative;
            z-index: 1;
            padding: 60px 24px;
            max-width: var(--pw-max);
            margin: 0 auto;
            width: 100%;
        }
        .throne-banner__rune {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: var(--pw-gold-bright);
            font-family: 'Cinzel', serif;
            font-size: 13px;
            font-weight: 500;
            letter-spacing: .4em;
            text-transform: uppercase;
            margin-bottom: 18px;
        }
        .throne-banner__rune::before,
        .throne-banner__rune::after {
            content: '';
            display: inline-block;
            width: 32px;
            height: 1px;
            background: var(--pw-gold-deep);
        }
        .throne-banner__crown {
            font-size: 52px;
            font-weight: 900;
            color: var(--pw-parchment);
            line-height: 1.05;
            margin-bottom: 14px;
            text-transform: uppercase;
            max-width: 620px;
        }
        .throne-banner__crown span {
            background: var(--pw-grad-gold);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        .throne-banner__hoard {
            font-size: 22px;
            font-weight: 700;
            color: var(--pw-gold-bright);
            margin-bottom: 12px;
            letter-spacing: .04em;
        }
        .throne-banner__line {
            font-size: 15px;
            color: var(--pw-parchment-soft);
            max-width: 540px;
            margin-bottom: 28px;
        }
        .summon-btn {
            display: inline-flex;
            align-items: center;
            gap: 12px;
            padding: 15px 38px;
            background: var(--pw-grad-gold);
            color: #1a1208;
            font-family: 'Cinzel', serif;
            font-size: 15px;
            font-weight: 700;
            letter-spacing: .12em;
            text-transform: uppercase;
            border-radius: var(--pw-radius-sm);
            cursor: pointer;
            transition: transform .18s, box-shadow .25s;
            box-shadow: 0 8px 28px rgba(212,168,74,.35), inset 0 1px 0 rgba(255,255,255,.35);
        }
        .summon-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 12px 36px rgba(244,208,102,.5), inset 0 1px 0 rgba(255,255,255,.45);
        }
        .summon-btn::after {
            content: '♛';
            font-size: 16px;
            line-height: 1;
        }

        /* ===== GUILD STRIP (categories) ===== */
        .guild-strip {
            background: linear-gradient(180deg, #11211b 0%, #0e1c17 100%);
            border-bottom: 1px solid var(--pw-moss-line);
            padding: 18px 0;
        }
        .guild-strip__row {
            max-width: var(--pw-max);
            margin: 0 auto;
            display: flex;
            gap: 6px;
            padding: 0 24px;
            overflow-x: auto;
            scrollbar-width: thin;
        }
        .guild-icon {
            display: flex;
            flex-direction: column;
            align-items: center;
            min-width: 86px;
            padding: 12px 8px;
            border-radius: var(--pw-radius);
            cursor: pointer;
            transition: background .2s, transform .2s;
            text-decoration: none;
            flex-shrink: 0;
        }
        .guild-icon:hover { background: rgba(212,168,74,.06); transform: translateY(-2px); }
        .guild-icon__img {
            width: 44px; height: 44px;
            margin-bottom: 10px;
            opacity: .85;
            transition: opacity .2s, transform .2s;
        }
        .guild-icon:hover .guild-icon__img { opacity: 1; transform: scale(1.08); }
        .guild-icon__label {
            font-size: 9px;
            font-weight: 700;
            letter-spacing: .6px;
            text-transform: uppercase;
            color: var(--pw-parchment-mute);
            text-align: center;
            white-space: nowrap;
        }
        .guild-icon:hover .guild-icon__label { color: var(--pw-gold-bright); }

        /* ===== SECTION DIVIDERS ===== */
        .royal-divider {
            display: flex;
            align-items: center;
            gap: 14px;
            max-width: 480px;
            margin: 0 auto 28px;
            justify-content: center;
        }
        .royal-divider::before,
        .royal-divider::after {
            content: '';
            flex: 1;
            height: 1px;
            background: linear-gradient(90deg, transparent, var(--pw-gold-deep), transparent);
        }
        .royal-divider__glyph {
            font-size: 18px;
            color: var(--pw-gold);
            line-height: 1;
        }

        /* ===== SECTION BASE ===== */
        .royal-block {
            padding: 56px 0 16px;
        }
        .royal-block__heading {
            text-align: center;
            margin-bottom: 36px;
        }
        .royal-block__kicker {
            display: block;
            font-family: 'Cinzel', serif;
            font-size: 12px;
            font-weight: 500;
            letter-spacing: .5em;
            color: var(--pw-gold);
            text-transform: uppercase;
            margin-bottom: 10px;
        }
        .royal-block__title {
            font-size: 30px;
            font-weight: 700;
            color: var(--pw-parchment);
            margin-bottom: 10px;
            text-transform: uppercase;
        }
        .royal-block__lead {
            font-size: 15px;
            color: var(--pw-parchment-soft);
            max-width: 640px;
            margin: 0 auto;
        }

        /* ===== HALL BLOCK (game gallery) ===== */
        .hall-block {
            padding: 36px 0 12px;
        }
        .hall-block__head {
            max-width: var(--pw-max);
            margin: 0 auto 18px;
            padding: 0 24px;
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
        }
        .hall-block__title {
            display: flex;
            align-items: baseline;
            gap: 12px;
        }
        .hall-block__title h2 {
            font-size: 22px;
            font-weight: 700;
            color: var(--pw-parchment);
            text-transform: uppercase;
        }
        .hall-block__title::before {
            content: '♟';
            font-size: 22px;
            color: var(--pw-gold);
        }
        .hall-block__more {
            font-family: 'Cinzel', serif;
            font-size: 11px;
            font-weight: 500;
            color: var(--pw-gold);
            letter-spacing: .15em;
            text-transform: uppercase;
            transition: color .2s;
        }
        .hall-block__more:hover { color: var(--pw-gold-bright); text-decoration: underline; }
        .hall-block__row {
            max-width: var(--pw-max);
            margin: 0 auto;
            padding: 0 24px 16px;
            display: flex;
            gap: 14px;
            overflow-x: auto;
        }

        /* ===== RELIC CARD (game) ===== */
        .relic-card {
            min-width: 170px;
            max-width: 170px;
            border-radius: var(--pw-radius);
            overflow: hidden;
            background: var(--pw-moss);
            border: 1px solid var(--pw-moss-line);
            transition: transform .25s, box-shadow .25s, border-color .25s;
            position: relative;
            cursor: pointer;
            flex-shrink: 0;
        }
        .relic-card::before,
        .relic-card::after {
            content: '';
            position: absolute;
            width: 14px; height: 14px;
            border: 2px solid var(--pw-gold);
            opacity: 0;
            transition: opacity .25s;
            pointer-events: none;
        }
        .relic-card::before { top: 6px; left: 6px; border-right: none; border-bottom: none; }
        .relic-card::after { bottom: 6px; right: 6px; border-left: none; border-top: none; }
        .relic-card:hover {
            transform: translateY(-4px);
            border-color: var(--pw-gold-deep);
            box-shadow: var(--pw-shadow-card), var(--pw-shadow-glow);
        }
        .relic-card:hover::before, .relic-card:hover::after { opacity: 1; }
        .relic-card__art {
            width: 100%;
            aspect-ratio: 3/4;
            object-fit: cover;
            display: block;
        }
        .relic-card__veil {
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(14,28,23,.3), rgba(14,28,23,.85));
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: opacity .25s;
        }
        .relic-card:hover .relic-card__veil { opacity: 1; }
        .relic-card__body {
            padding: 9px 12px;
        }
        .relic-card__name {
            font-size: 12px;
            font-weight: 600;
            color: var(--pw-parchment);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .relic-card__maker {
            font-size: 10px;
            color: var(--pw-parchment-mute);
            margin-top: 3px;
        }
        .play-btn {
            padding: 10px 26px;
            background: var(--pw-grad-gold);
            color: #1a1208;
            font-family: 'Cinzel', serif;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: .15em;
            text-transform: uppercase;
            border-radius: var(--pw-radius-sm);
            box-shadow: 0 2px 8px rgba(0,0,0,.4);
        }

        /* ===== TOURNEY COURT ===== */
        .tourney-court {
            max-width: calc(var(--pw-max) - 48px);
            margin: 36px auto;
            padding: 48px 32px;
            background:
                linear-gradient(135deg, rgba(212,168,74,.08) 0%, transparent 70%),
                linear-gradient(180deg, #1c3429 0%, #11221c 100%);
            border: 1px solid var(--pw-gold-deep);
            border-radius: var(--pw-radius-xl);
            text-align: center;
            position: relative;
            overflow: hidden;
        }
        .tourney-court::before {
            content: '';
            position: absolute;
            inset: 0;
            background-image:
                radial-gradient(circle at 20% 30%, rgba(212,168,74,.12), transparent 40%),
                radial-gradient(circle at 80% 70%, rgba(212,168,74,.08), transparent 40%);
            pointer-events: none;
        }
        .tourney-court__sigil {
            font-size: 36px;
            color: var(--pw-gold);
            margin-bottom: 10px;
            position: relative;
            line-height: 1;
        }
        .tourney-court__rune {
            font-family: 'Cinzel', serif;
            font-size: 12px;
            font-weight: 500;
            color: var(--pw-gold-bright);
            letter-spacing: .5em;
            text-transform: uppercase;
            margin-bottom: 14px;
            position: relative;
        }
        .tourney-court__call {
            font-size: 36px;
            font-weight: 900;
            color: var(--pw-parchment);
            text-transform: uppercase;
            margin-bottom: 10px;
            position: relative;
        }
        .tourney-court__bounty {
            font-family: 'Cinzel', serif;
            font-size: 28px;
            color: var(--pw-gold-bright);
            font-weight: 700;
            margin-bottom: 26px;
            position: relative;
        }

        /* ===== LEDGER (winners) ===== */
        .ledger-block {
            padding: 64px 0;
            background: linear-gradient(180deg, var(--pw-ink) 0%, var(--pw-ink-2) 50%, var(--pw-ink) 100%);
        }
        .ledger-frame {
            max-width: var(--pw-max);
            margin: 0 auto;
            padding: 0 24px;
        }
        .ledger-grid {
            display: grid;
            grid-template-columns: 280px 1fr;
            gap: 28px;
            align-items: start;
        }
        .ledger-stats {
            display: flex;
            flex-direction: column;
            gap: 14px;
            position: sticky;
            top: calc(var(--pw-top-h) + 16px);
        }
        .ledger-stat {
            background: var(--pw-moss);
            border: 1px solid var(--pw-moss-line);
            border-left: 3px solid var(--pw-gold);
            border-radius: var(--pw-radius);
            padding: 16px 18px;
        }
        .ledger-stat__label {
            display: block;
            font-family: 'Cinzel', serif;
            font-size: 10px;
            font-weight: 500;
            letter-spacing: .22em;
            text-transform: uppercase;
            color: var(--pw-parchment-mute);
            margin-bottom: 6px;
        }
        .ledger-stat__value {
            display: block;
            font-size: 22px;
            font-weight: 800;
            color: var(--pw-gold-bright);
            font-variant-numeric: tabular-nums;
            line-height: 1.1;
        }
        .ledger-stat__hint {
            display: block;
            font-size: 11px;
            color: var(--pw-parchment-soft);
            margin-top: 4px;
        }
        .ledger-feed {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }
        .ledger-item {
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 12px 16px;
            background: var(--pw-ink-2);
            border: 1px solid var(--pw-moss-line);
            border-radius: var(--pw-radius);
            transition: opacity .5s, transform .5s, border-color .5s, background .5s;
        }
        .ledger-item.is-entering {
            opacity: 0;
            transform: translateX(-12px);
        }
        .ledger-item.is-leaving {
            opacity: 0;
            transform: translateX(8px);
        }
        .ledger-item.is-fresh {
            border-color: var(--pw-gold-deep);
            background: linear-gradient(90deg, rgba(212,168,74,.14), var(--pw-ink-2) 60%);
        }
        .ledger-item__thumb {
            width: 52px;
            height: 52px;
            border-radius: var(--pw-radius-sm);
            object-fit: cover;
            flex-shrink: 0;
            box-shadow: 0 2px 6px rgba(0,0,0,.5);
        }
        .ledger-item__body {
            flex: 1;
            min-width: 0;
        }
        .ledger-item__line {
            display: flex;
            align-items: baseline;
            gap: 10px;
            justify-content: space-between;
            font-size: 14px;
            color: var(--pw-parchment-soft);
        }
        .ledger-item__line strong {
            color: var(--pw-parchment);
            font-weight: 700;
            margin-right: 4px;
        }
        .ledger-item__amount {
            font-family: 'Cinzel', serif;
            font-size: 17px;
            font-weight: 700;
            color: var(--pw-gold-bright);
            font-variant-numeric: tabular-nums;
            white-space: nowrap;
        }
        .ledger-item__amount--down { color: var(--pw-ruby); }
        .ledger-item__sub {
            font-size: 12px;
            color: var(--pw-parchment-mute);
            margin-top: 3px;
        }
        .ledger-item__sub b {
            font-weight: 600;
            color: var(--pw-parchment-soft);
        }


        /* ===== ALLIES (providers) ===== */
        .allies-block {
            padding: 36px 0;
        }
        .allies-row {
            max-width: var(--pw-max);
            margin: 0 auto;
            padding: 0 24px;
            display: flex;
            gap: 12px;
            overflow-x: auto;
        }
        .ally-shield {
            min-width: 110px;
            height: 64px;
            background: var(--pw-velvet);
            border: 1px solid var(--pw-moss-line);
            border-radius: var(--pw-radius);
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 10px 16px;
            flex-shrink: 0;
            transition: border-color .2s, background .2s;
        }
        .ally-shield:hover { border-color: var(--pw-gold-deep); background: var(--pw-moss); }
        .ally-shield img { max-width: 78px; max-height: 42px; object-fit: contain; opacity: .82; filter: brightness(1.1); }
        .ally-shield:hover img { opacity: 1; }

        /* ===== TROVES (bonus) ===== */
        .troves-block {
            padding: 64px 0;
            background: linear-gradient(180deg, transparent 0%, rgba(212,168,74,.03) 50%, transparent 100%);
        }
        .troves-grid {
            max-width: var(--pw-max);
            margin: 0 auto;
            padding: 0 24px;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 22px;
        }
        .trove-coffer {
            background: var(--pw-grad-velvet);
            border: 1px solid var(--pw-moss-line);
            border-radius: var(--pw-radius-lg);
            padding: 32px 24px;
            text-align: center;
            position: relative;
            transition: transform .25s, border-color .25s, box-shadow .25s;
            overflow: hidden;
        }
        .trove-coffer::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 3px;
            background: var(--pw-grad-gold);
        }
        .trove-coffer:hover {
            transform: translateY(-4px);
            border-color: var(--pw-gold-deep);
            box-shadow: var(--pw-shadow-glow);
        }
        .trove-coffer__seal {
            width: 76px;
            height: 76px;
            margin: 0 auto 16px;
            border-radius: 50%;
            background: rgba(212,168,74,.1);
            border: 1px solid var(--pw-gold-deep);
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .trove-coffer__seal img { width: 56px; height: 56px; }
        .trove-coffer__title {
            font-family: 'Cinzel', serif;
            font-size: 17px;
            font-weight: 700;
            color: var(--pw-parchment);
            margin-bottom: 8px;
            text-transform: uppercase;
            letter-spacing: .05em;
        }
        .trove-coffer__prize {
            font-size: 26px;
            font-weight: 800;
            background: var(--pw-grad-gold);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            margin-bottom: 8px;
        }
        .trove-coffer__line { color: var(--pw-parchment-soft); font-size: 13px; }

        .troves-codex {
            max-width: var(--pw-max);
            margin: 36px auto 0;
            padding: 0 24px;
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 22px;
        }
        .troves-codex__page {
            background: var(--pw-ink-2);
            border: 1px solid var(--pw-moss-line);
            border-radius: var(--pw-radius-lg);
            padding: 28px;
        }
        .troves-codex__page h3 {
            font-size: 17px;
            font-weight: 700;
            color: var(--pw-gold-bright);
            margin-bottom: 14px;
            letter-spacing: .03em;
        }
        .troves-codex__page p {
            color: var(--pw-parchment-soft);
            font-size: 13px;
            line-height: 1.75;
            margin-bottom: 10px;
        }
        .troves-codex__page p:last-child { margin-bottom: 0; }
        .troves-codex__page strong { color: var(--pw-parchment); }

        .troves-cta {
            max-width: var(--pw-max);
            margin: 36px auto 0;
            padding: 0 24px;
            text-align: center;
        }

        /* ===== VAULT (deposits) ===== */
        .vault-block {
            padding: 56px 0;
        }
        .vault-frame {
            max-width: var(--pw-max);
            margin: 0 auto;
            padding: 0 24px;
        }
        .vault-frame h3 {
            font-size: 19px;
            font-weight: 700;
            color: var(--pw-gold-bright);
            margin: 28px 0 10px;
            letter-spacing: .04em;
        }
        .vault-frame > p {
            font-size: 14px;
            color: var(--pw-parchment-soft);
            line-height: 1.75;
            margin-bottom: 14px;
            max-width: 920px;
        }
        .vault-frame strong { color: var(--pw-parchment); }
        .vault-table {
            background: var(--pw-ink-2);
            border: 1px solid var(--pw-moss-line);
            border-radius: var(--pw-radius-lg);
            overflow: hidden;
            margin: 14px 0;
        }
        .vault-row {
            display: grid;
            grid-template-columns: 2fr 1fr 1fr 1fr;
            padding: 13px 22px;
            font-size: 13px;
            color: var(--pw-parchment);
            border-bottom: 1px solid var(--pw-moss-line);
        }
        .vault-row:last-child { border-bottom: none; }
        .vault-row--head {
            background: var(--pw-velvet);
            font-family: 'Cinzel', serif;
            font-weight: 500;
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: .25em;
            color: var(--pw-gold);
        }

        /* ===== RANK (VIP) ===== */
        .rank-block {
            padding: 72px 0;
            background: linear-gradient(180deg, var(--pw-ink-2) 0%, var(--pw-ink) 100%);
        }
        .rank-intro {
            font-size: 15px;
            color: var(--pw-parchment-soft);
            line-height: 1.75;
            max-width: 820px;
            margin: 0 auto 36px;
            text-align: center;
            padding: 0 24px;
        }
        .rank-intro strong { color: var(--pw-parchment); }
        .rank-tiers {
            max-width: 920px;
            margin: 0 auto 36px;
            padding: 0 24px;
            display: flex;
            flex-direction: column;
            gap: 14px;
        }
        .rank-tier {
            display: grid;
            grid-template-columns: 130px 1fr;
            gap: 22px;
            padding: 26px 28px;
            background: var(--pw-moss);
            border: 1px solid var(--pw-moss-line);
            border-radius: var(--pw-radius-lg);
            position: relative;
            overflow: hidden;
            transition: border-color .25s, transform .25s, box-shadow .25s;
        }
        .rank-tier::before {
            content: '';
            position: absolute;
            top: 0; left: 0; bottom: 0;
            width: 4px;
            background: var(--pw-gold-deep);
        }
        .rank-tier:hover {
            border-color: var(--pw-gold-deep);
            transform: translateX(4px);
            box-shadow: var(--pw-shadow-glow);
        }
        .rank-tier[data-tier="5"]::before { background: var(--pw-grad-gold); }
        .rank-tier[data-tier="5"] { border-color: var(--pw-gold-deep); }
        .rank-tier__crest {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 6px;
            padding-right: 22px;
            border-right: 1px solid var(--pw-moss-line);
        }
        .rank-tier__num {
            font-family: 'Cinzel', serif;
            font-size: 12px;
            font-weight: 500;
            letter-spacing: .3em;
            color: var(--pw-parchment-mute);
        }
        .rank-tier__icon {
            font-size: 48px;
            color: var(--pw-gold);
            line-height: 1;
            text-shadow: 0 2px 8px rgba(212,168,74,.3);
        }
        .rank-tier[data-tier="5"] .rank-tier__icon { color: var(--pw-gold-bright); }
        .rank-tier__body { min-width: 0; }
        .rank-tier__name {
            font-family: 'Cinzel', serif;
            font-size: 22px;
            font-weight: 700;
            color: var(--pw-parchment);
            margin-bottom: 10px;
            letter-spacing: .05em;
        }
        .rank-tier__desc {
            font-size: 14px;
            color: var(--pw-parchment-soft);
            line-height: 1.65;
            margin-bottom: 14px;
        }
        .rank-tier__perks {
            list-style: none;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 6px 18px;
        }
        .rank-tier__perks li {
            font-size: 13px;
            color: var(--pw-parchment);
            padding-left: 18px;
            position: relative;
        }
        .rank-tier__perks li::before {
            content: '◆';
            position: absolute;
            left: 0;
            color: var(--pw-gold);
            font-size: 10px;
            top: 3px;
        }
        .rank-tier__perks li strong { color: var(--pw-gold-bright); font-weight: 700; }
        .rank-cta { text-align: center; padding: 0 24px; }


        /* ===== PILLARS (features) ===== */
        .pillars-block {
            padding: 64px 0;
        }
        .pillars-grid {
            max-width: var(--pw-max);
            margin: 0 auto;
            padding: 0 24px;
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 18px;
        }
        .pillar-card {
            background: var(--pw-moss);
            border: 1px solid var(--pw-moss-line);
            border-radius: var(--pw-radius-lg);
            padding: 32px 20px;
            text-align: center;
            position: relative;
            transition: transform .25s, border-color .25s;
        }
        .pillar-card:hover {
            transform: translateY(-3px);
            border-color: var(--pw-gold-deep);
        }
        .pillar-card__sigil {
            width: 60px;
            height: 60px;
            margin: 0 auto 16px;
            border-radius: 50%;
            background: rgba(212,168,74,.12);
            border: 1px solid var(--pw-gold-deep);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 26px;
            color: var(--pw-gold-bright);
        }
        .pillar-card h3 {
            font-size: 15px;
            font-weight: 700;
            color: var(--pw-parchment);
            margin-bottom: 8px;
            text-transform: uppercase;
            letter-spacing: .03em;
        }
        .pillar-card p { font-size: 13px; color: var(--pw-parchment-soft); line-height: 1.6; }

        /* ===== SCRIBE (review article) ===== */
        .scribe-block {
            padding: 56px 0;
            background: var(--pw-ink-2);
        }
        .scribe-frame {
            max-width: var(--pw-max);
            margin: 0 auto;
            padding: 0 24px;
        }
        .scribe-frame__head { margin-bottom: 26px; }
        .scribe-frame__head h2 {
            font-size: 26px;
            font-weight: 700;
            color: var(--pw-parchment);
            margin-bottom: 6px;
            text-transform: uppercase;
            letter-spacing: .04em;
        }
        .scribe-frame__head h2::before { content: '✦ '; color: var(--pw-gold); }
        .scribe-frame__head p { font-size: 14px; color: var(--pw-parchment-soft); }

        .scribe-content {
            display: flex;
            gap: 28px;
        }
        .scribe-prose { flex: 1; }
        .scribe-prose p {
            font-size: 14px;
            color: var(--pw-parchment-soft);
            line-height: 1.8;
            margin-bottom: 14px;
        }
        .scribe-prose strong { color: var(--pw-parchment); }
        .scribe-prose a { color: var(--pw-gold-bright); text-decoration: underline; }

        .scribe-balance {
            display: flex;
            gap: 18px;
            margin-top: 22px;
        }
        .scribe-virtues, .scribe-vices {
            flex: 1;
            background: var(--pw-moss);
            border: 1px solid var(--pw-moss-line);
            border-radius: var(--pw-radius);
            padding: 18px 20px;
        }
        .scribe-virtues h3 {
            font-size: 14px;
            font-weight: 700;
            color: var(--pw-gem);
            margin-bottom: 10px;
            letter-spacing: .04em;
        }
        .scribe-vices h3 {
            font-size: 14px;
            font-weight: 700;
            color: var(--pw-ruby);
            margin-bottom: 10px;
            letter-spacing: .04em;
        }
        .scribe-virtues ul, .scribe-vices ul { list-style: none; }
        .scribe-virtues li, .scribe-vices li {
            font-size: 13px;
            color: var(--pw-parchment);
            padding: 5px 0;
        }
        .scribe-virtues li::before { content: '◆ '; color: var(--pw-gem); }
        .scribe-vices li::before { content: '◇ '; color: var(--pw-ruby); }

        .scribe-aside {
            width: 280px;
            flex-shrink: 0;
        }
        .scribe-card {
            background: var(--pw-moss);
            border: 1px solid var(--pw-gold-deep);
            border-radius: var(--pw-radius-lg);
            padding: 22px;
            position: relative;
        }
        .scribe-card::before {
            content: '♚';
            position: absolute;
            top: 14px; right: 16px;
            color: var(--pw-gold);
            font-size: 22px;
            opacity: .35;
        }
        .scribe-card h3 {
            font-size: 16px;
            font-weight: 700;
            color: var(--pw-gold-bright);
            margin-bottom: 14px;
            text-transform: uppercase;
            letter-spacing: .06em;
        }
        .scribe-card__row {
            display: flex;
            justify-content: space-between;
            padding: 9px 0;
            border-bottom: 1px solid var(--pw-moss-line);
        }
        .scribe-card__row:last-child { border-bottom: none; }
        .scribe-card__label {
            font-size: 13px;
            color: var(--pw-parchment-mute);
        }
        .scribe-card__value {
            font-size: 13px;
            font-weight: 600;
            color: var(--pw-parchment);
        }
        .scribe-card__value--ok { color: var(--pw-gem); }

        /* ===== VOICES (player notes) ===== */
        .voices-block {
            padding: 64px 0;
        }
        .voices-grid {
            max-width: var(--pw-max);
            margin: 0 auto;
            padding: 0 24px;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 18px;
        }
        .voice-card {
            background: var(--pw-moss);
            border: 1px solid var(--pw-moss-line);
            border-radius: var(--pw-radius-lg);
            padding: 22px;
            transition: border-color .25s;
        }
        .voice-card:hover { border-color: var(--pw-gold-deep); }
        .voice-card__head {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 12px;
        }
        .voice-card__sigil {
            width: 44px;
            height: 44px;
            border-radius: 50%;
            background: var(--pw-grad-gold);
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: 'Cinzel', serif;
            font-weight: 700;
            color: #1a1208;
            font-size: 17px;
            box-shadow: inset 0 1px 0 rgba(255,255,255,.3);
        }
        .voice-card__name {
            font-size: 14px;
            font-weight: 700;
            color: var(--pw-parchment);
        }
        .voice-card__since {
            font-size: 11px;
            color: var(--pw-parchment-mute);
            display: block;
        }
        .voice-card__stars {
            color: var(--pw-gold-bright);
            font-size: 15px;
            margin-bottom: 8px;
            letter-spacing: 2px;
        }
        .voice-card p {
            font-size: 13px;
            color: var(--pw-parchment-soft);
            line-height: 1.65;
        }

        /* ===== STEPS (inscription) ===== */
        .steps-block {
            padding: 56px 0;
            background: var(--pw-ink-2);
        }
        .steps-frame {
            max-width: var(--pw-max);
            margin: 0 auto;
            padding: 0 24px;
        }
        .steps-frame h2 {
            font-size: 24px;
            font-weight: 700;
            color: var(--pw-parchment);
            margin-bottom: 8px;
            text-transform: uppercase;
            letter-spacing: .04em;
        }
        .steps-frame__intro {
            font-size: 14px;
            color: var(--pw-parchment-soft);
            margin-bottom: 24px;
        }
        .steps-row {
            display: flex;
            gap: 14px;
            flex-wrap: wrap;
        }
        .step-tile {
            flex: 1;
            min-width: 220px;
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 18px;
            background: var(--pw-moss);
            border: 1px solid var(--pw-moss-line);
            border-radius: var(--pw-radius-lg);
            transition: border-color .25s, transform .25s;
        }
        .step-tile:hover { border-color: var(--pw-gold-deep); transform: translateY(-2px); }
        .step-tile__num {
            width: 42px;
            height: 42px;
            background: var(--pw-grad-gold);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: 'Cinzel', serif;
            font-weight: 800;
            color: #1a1208;
            font-size: 17px;
            flex-shrink: 0;
            box-shadow: inset 0 1px 0 rgba(255,255,255,.3);
        }
        .step-tile__label {
            font-size: 13px;
            font-weight: 600;
            color: var(--pw-parchment);
        }

        /* ===== SUMMON (CTA banner) ===== */
        .summon-block {
            max-width: calc(var(--pw-max) - 48px);
            margin: 56px auto;
            padding: 56px 24px;
            text-align: center;
            background:
                radial-gradient(ellipse at center, rgba(212,168,74,.12), transparent 70%),
                linear-gradient(135deg, #1c3429 0%, #11221c 100%);
            border: 1px solid var(--pw-gold-deep);
            border-radius: var(--pw-radius-xl);
            position: relative;
            overflow: hidden;
        }
        .summon-block::before,
        .summon-block::after {
            content: '♛';
            position: absolute;
            font-size: 120px;
            color: var(--pw-gold);
            opacity: .04;
            line-height: 1;
        }
        .summon-block::before { top: 20px; left: 30px; transform: rotate(-15deg); }
        .summon-block::after { bottom: 20px; right: 30px; transform: rotate(15deg); }
        .summon-block h2 {
            font-size: 30px;
            font-weight: 800;
            color: var(--pw-parchment);
            margin-bottom: 10px;
            text-transform: uppercase;
            position: relative;
        }
        .summon-block h2 span {
            background: var(--pw-grad-gold);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        .summon-block p {
            font-size: 15px;
            color: var(--pw-parchment-soft);
            margin-bottom: 26px;
            position: relative;
        }
        .summon-block .summon-btn { position: relative; }

        /* ===== SCROLLS (FAQ) ===== */
        .scrolls-block {
            padding: 56px 0;
        }
        .scrolls-frame {
            max-width: var(--pw-max);
            margin: 0 auto;
            padding: 0 24px;
        }
        .scrolls-frame > h2 {
            font-size: 26px;
            font-weight: 700;
            color: var(--pw-parchment);
            margin-bottom: 20px;
            text-transform: uppercase;
            letter-spacing: .04em;
            text-align: center;
        }
        .scroll-item {
            border: 1px solid var(--pw-moss-line);
            border-radius: var(--pw-radius-lg);
            margin-bottom: 10px;
            overflow: hidden;
            background: var(--pw-moss);
            transition: border-color .25s;
        }
        .scroll-item.is-open { border-color: var(--pw-gold-deep); }
        .scroll-q {
            width: 100%;
            padding: 18px 22px;
            background: transparent;
            color: var(--pw-parchment);
            font-size: 14px;
            font-weight: 600;
            text-align: left;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 16px;
        }
        .scroll-q h3 {
            font-size: 14px;
            font-weight: 600;
            margin: 0;
            color: var(--pw-parchment);
            font-family: 'Inter', sans-serif;
        }
        .scroll-q::after {
            content: '◇';
            font-size: 18px;
            color: var(--pw-gold);
            transition: transform .25s, content 0s;
            flex-shrink: 0;
        }
        .scroll-item.is-open .scroll-q::after { content: '◆'; transform: rotate(90deg); }
        .scroll-a {
            max-height: 0;
            overflow: hidden;
            transition: max-height .35s;
        }
        .scroll-item.is-open .scroll-a { max-height: 600px; }
        .scroll-a__inner {
            padding: 0 22px 18px;
            font-size: 13px;
            color: var(--pw-parchment-soft);
            line-height: 1.75;
        }
        .scroll-a__inner p { margin-bottom: 10px; }
        .scroll-a__inner p:last-child { margin-bottom: 0; }
        .scroll-a__inner strong { color: var(--pw-parchment); }

        /* ===== BASTION (footer) ===== */
        .bastion-base {
            background: #0a1612;
            border-top: 1px solid var(--pw-moss-line);
            padding: 48px 0 24px;
            margin-top: 32px;
        }
        .bastion-base__top {
            max-width: var(--pw-max);
            margin: 0 auto 32px;
            padding: 0 24px;
            display: flex;
            gap: 44px;
            flex-wrap: wrap;
        }
        .bastion-base__crest {
            flex: 1;
            min-width: 220px;
        }
        .bastion-base__crest img { height: 40px; margin-bottom: 14px; }
        .bastion-base__crest p {
            font-size: 13px;
            color: var(--pw-parchment-mute);
            line-height: 1.7;
            max-width: 320px;
        }
        .bastion-base__col {
            min-width: 140px;
        }
        .bastion-base__heading {
            display: block;
            font-family: 'Cinzel', serif;
            font-size: 12px;
            font-weight: 700;
            color: var(--pw-gold);
            text-transform: uppercase;
            letter-spacing: .25em;
            margin-bottom: 14px;
        }
        .bastion-base__col ul { list-style: none; }
        .bastion-base__col ul li { margin-bottom: 8px; }
        .bastion-base__col ul li a {
            font-size: 12px;
            color: var(--pw-parchment-mute);
            transition: color .2s;
        }
        .bastion-base__col ul li a:hover { color: var(--pw-gold-bright); }
        .bastion-base__pay-row {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
        }
        .bastion-base__pay-row img { height: 30px; opacity: .65; }
        .bastion-base__pay-row img:hover { opacity: 1; }

        .bastion-base__bottom {
            border-top: 1px solid var(--pw-moss-line);
            padding: 22px 24px 0;
            text-align: center;
            max-width: var(--pw-max);
            margin: 0 auto;
        }
        .bastion-base__seals {
            display: flex;
            gap: 10px;
            justify-content: center;
            margin-bottom: 18px;
            flex-wrap: wrap;
        }
        .bastion-seal {
            display: inline-block;
            padding: 5px 14px;
            background: var(--pw-velvet);
            border: 1px solid var(--pw-gold-deep);
            border-radius: var(--pw-radius-sm);
            font-family: 'Cinzel', serif;
            font-size: 11px;
            font-weight: 600;
            color: var(--pw-gold-bright);
            letter-spacing: .08em;
        }
        .bastion-base__legal p {
            font-size: 11px;
            color: var(--pw-parchment-mute);
            line-height: 1.7;
            max-width: 760px;
            margin: 0 auto 8px;
        }
        .bastion-base__legal a { color: var(--pw-gold-bright); text-decoration: underline; }
        .bastion-base__legal strong { color: var(--pw-parchment); }

        /* ===== RESPONSIVE ===== */
        @media (max-width: 1080px) {
            .crown-nav { display: none; }
            .crown-toggle { display: block; }
            .pillars-grid { grid-template-columns: repeat(2, 1fr); }
            .voices-grid { grid-template-columns: repeat(2, 1fr); }
            .troves-codex { grid-template-columns: 1fr; }
            .scribe-content { flex-direction: column; }
            .scribe-aside { width: 100%; }
            .scribe-balance { flex-direction: column; }
        }
        @media (max-width: 760px) {
            .crown-top__crest { font-size: 18px; }
            .crown-top__crest img { height: 32px; }
            .throne-banner__crown { font-size: 34px; }
            .throne-banner__hoard { font-size: 18px; }
            .throne-banner__core { padding: 48px 24px; }
            .royal-block__title { font-size: 24px; }
            .summon-block h2 { font-size: 22px; }
            .tourney-court__call { font-size: 24px; }
            .tourney-court__bounty { font-size: 22px; }
            .voices-grid { grid-template-columns: 1fr; }
            .pillars-grid { grid-template-columns: 1fr; }
            .steps-row { flex-direction: column; }
            .vault-row { grid-template-columns: 1fr 1fr; gap: 4px; }
            .ledger-grid { grid-template-columns: 1fr; }
            .ledger-stats { position: static; flex-direction: row; flex-wrap: wrap; }
            .ledger-stat { flex: 1 1 calc(50% - 7px); min-width: 140px; }
            .rank-tier { grid-template-columns: 1fr; }
            .rank-tier__crest { flex-direction: row; padding-right: 0; padding-bottom: 14px; border-right: none; border-bottom: 1px solid var(--pw-moss-line); justify-content: flex-start; gap: 18px; }
            .rank-tier__icon { font-size: 36px; }
            .relic-card { min-width: 140px; max-width: 140px; }
            .knight-btn--ghost { display: none; }
            .bastion-base__top { gap: 24px; }
        }
        @media (max-width: 480px) {
            .throne-banner__crown { font-size: 28px; }
            .summon-btn { padding: 13px 24px; font-size: 13px; }
            .crown-top__inner { padding: 0 14px; gap: 10px; }
        }