:root {
    --gr-night: #090807;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--gr-night); }
body {
    min-height: 100vh;
    margin: 0;
    overflow-x: hidden;
    background: var(--gr-night);
    color: #efe3c2;
    font-family: Georgia, 'Times New Roman', serif;
}

.gr-home {
    min-height: 100svh;
    display: grid;
    place-items: center;
    background: #000;
}

.gr-chamber-shell {
    width: 100%;
    min-height: 100svh;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: #000;
}

.gr-chamber-stage {
    position: relative;
    width: min(100vw, calc(100svh * (16 / 9)));
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #000;
    isolation: isolate;
}

.gr-chamber-base {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill;
    user-select: none;
    -webkit-user-drag: none;
}

.gr-hotspot-layer {
    position: absolute;
    inset: 0;
    z-index: 10;
    pointer-events: none;
}

.gr-hotspot {
    position: absolute;
    z-index: 20;
    margin: 0;
    padding: 0;
    border: 0;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    box-shadow: none;
    cursor: pointer;
    pointer-events: auto;
}

/* Lexicon interactive area. Coordinates follow the same 2048 × 1152 master stage. */
.gr-hotspot-lexicon {
    left: 69.82%;
    top: 37.15%;
    width: 21.83%;
    height: 38.5%;
}

/* Hover illumination is rendered from the exact homepage master itself.
   This prevents any geometry shift when the hover state appears. */
.gr-hover-overlay {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
    opacity: 0;
    transition: opacity 130ms ease;
}

.gr-hover-overlay-lexicon {
    z-index: 15;
    filter: brightness(1.075);
    /* Tight silhouette around the lectern/book assembly; coordinates are
       percentages of the 2048 × 1152 authoritative homepage master. */
    clip-path: polygon(
        72.1% 38.0%,
        84.6% 37.0%,
        88.6% 41.2%,
        90.6% 49.0%,
        89.0% 58.2%,
        84.0% 60.2%,
        83.1% 72.0%,
        86.4% 82.8%,
        86.0% 94.3%,
        80.7% 97.0%,
        75.5% 95.5%,
        74.6% 82.5%,
        75.1% 70.5%,
        71.1% 61.0%,
        68.4% 58.0%,
        68.3% 48.0%
    );
}

.gr-hotspot-lexicon:hover + .gr-hover-overlay-lexicon,
.gr-hotspot-lexicon:focus-visible + .gr-hover-overlay-lexicon {
    opacity: 1;
}

.gr-hotspot:focus-visible {
    outline: 2px solid rgba(221, 190, 112, 0.92);
    outline-offset: 4px;
}

.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.admin-bar .gr-home { min-height: calc(100svh - 32px); }
.admin-bar .gr-chamber-shell { min-height: calc(100svh - 32px); }
.admin-bar .gr-chamber-stage {
    width: min(100vw, calc((100svh - 32px) * (16 / 9)));
}

@media (max-width: 782px) {
    .admin-bar .gr-home { min-height: calc(100svh - 46px); }
    .admin-bar .gr-chamber-shell { min-height: calc(100svh - 46px); }
    .admin-bar .gr-chamber-stage {
        width: min(100vw, calc((100svh - 46px) * (16 / 9)));
    }
}

.gr-content {
    width: min(900px, calc(100% - 3rem));
    margin: 5rem auto;
}

/* v0.8.0 — Lexicon menu opening interaction. */
.gr-lexicon-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 420ms ease, visibility 0s linear 420ms;
}

.gr-lexicon-modal[aria-hidden="false"] {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}

.gr-lexicon-backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    border: 0;
    margin: 0;
    padding: 0;
    appearance: none;
    -webkit-appearance: none;
    background: rgba(0, 0, 0, 0.74);
    cursor: default;
}

.gr-lexicon-panel {
    position: relative;
    z-index: 1;
    width: min(92vw, calc(88svh * (10 / 7)));
    aspect-ratio: 10 / 7;
    transform: scale(0.78) translateY(1.2%);
    transform-origin: center center;
    opacity: 0;
    filter: brightness(0.88);
    transition:
        transform 680ms cubic-bezier(0.2, 0.78, 0.2, 1),
        opacity 360ms ease,
        filter 680ms ease;
    pointer-events: auto;
}

.gr-lexicon-menu-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    user-select: none;
    -webkit-user-drag: none;
}

.gr-lexicon-modal.is-open {
    opacity: 1;
}

.gr-lexicon-modal.is-open .gr-lexicon-panel {
    transform: scale(1) translateY(0);
    opacity: 1;
    filter: brightness(1);
}

body.gr-lexicon-open {
    overflow: hidden;
}

.gr-lexicon-close {
    position: absolute;
    z-index: 8;
    top: clamp(8px, 1.2vw, 16px);
    right: clamp(8px, 1.2vw, 16px);
    width: clamp(36px, 4vw, 46px);
    height: clamp(36px, 4vw, 46px);
    display: grid;
    place-items: center;
    margin: 0;
    padding: 0 0 3px;
    border: 1px solid rgba(73, 48, 29, 0.55);
    border-radius: 50%;
    background: rgba(236, 221, 173, 0.90);
    color: #49301d;
    font: 30px/1 Georgia, serif;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
}

.gr-lexicon-close:hover,
.gr-lexicon-close:focus-visible {
    background: rgba(247, 235, 197, 0.98);
    border-color: rgba(73, 48, 29, 0.85);
    outline: 2px solid rgba(73, 48, 29, 0.55);
    outline-offset: 2px;
}


/* v0.8.1 — first Lexicon-menu hotspot: TRIALS hover only. */
.gr-menu-hotspot {
    position: absolute;
    z-index: 4;
    margin: 0;
    padding: 0;
    border: 0;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    box-shadow: none;
    cursor: pointer;
    pointer-events: auto;
}

.gr-menu-hotspot-trials {
    left: 22.8%;
    top: 18.3%;
    width: 24.0%;
    height: 10.2%;
}

.gr-menu-hover-overlay {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
    opacity: 0;
    transition: opacity 130ms ease;
}

.gr-menu-hover-overlay-trials {
    filter: brightness(1.075);
    clip-path: polygon(
        24.0% 19.3%,
        45.5% 19.3%,
        45.5% 27.4%,
        24.0% 27.4%
    );
}

.gr-menu-hotspot-trials:hover + .gr-menu-hover-overlay-trials,
.gr-menu-hotspot-trials:focus-visible + .gr-menu-hover-overlay-trials {
    opacity: 1;
}

.gr-menu-hotspot:focus-visible {
    outline: 2px solid rgba(98, 66, 30, 0.75);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .gr-lexicon-modal,
    .gr-lexicon-panel {
        transition-duration: 1ms !important;
    }
}

/* v0.8.2 — complete Lexicon menu hover map and Founding Trials entrance shell. */
.gr-menu-hotspot-heritage {
    left: 23.4%;
    top: 9.2%;
    width: 23.8%;
    height: 8.6%;
}
.gr-menu-hotspot-great-library {
    left: 18.0%;
    top: 28.8%;
    width: 31.5%;
    height: 10.0%;
}
.gr-menu-hotspot-chronicle {
    left: 56.6%;
    top: 9.2%;
    width: 26.8%;
    height: 8.6%;
}
.gr-menu-hotspot-great-hall {
    left: 57.8%;
    top: 18.2%;
    width: 24.7%;
    height: 10.2%;
}
.gr-menu-hotspot-enquiries {
    left: 58.8%;
    top: 28.8%;
    width: 23.5%;
    height: 10.0%;
}

.gr-menu-hover-overlay-heritage,
.gr-menu-hover-overlay-trials,
.gr-menu-hover-overlay-great-library,
.gr-menu-hover-overlay-chronicle,
.gr-menu-hover-overlay-great-hall,
.gr-menu-hover-overlay-enquiries {
    filter: brightness(1.075);
}
.gr-menu-hover-overlay-heritage {
    clip-path: polygon(23.7% 10.0%, 46.6% 10.0%, 46.6% 17.0%, 23.7% 17.0%);
}
.gr-menu-hover-overlay-great-library {
    clip-path: polygon(18.8% 29.5%, 48.6% 29.5%, 48.6% 37.5%, 18.8% 37.5%);
}
.gr-menu-hover-overlay-chronicle {
    clip-path: polygon(57.1% 10.0%, 82.5% 10.0%, 82.5% 17.0%, 57.1% 17.0%);
}
.gr-menu-hover-overlay-great-hall {
    clip-path: polygon(58.2% 19.2%, 81.8% 19.2%, 81.8% 27.3%, 58.2% 27.3%);
}
.gr-menu-hover-overlay-enquiries {
    clip-path: polygon(59.2% 29.6%, 81.4% 29.6%, 81.4% 37.6%, 59.2% 37.6%);
}

.gr-menu-hotspot-heritage:hover + .gr-menu-hover-overlay-heritage,
.gr-menu-hotspot-heritage:focus-visible + .gr-menu-hover-overlay-heritage,
.gr-menu-hotspot-great-library:hover + .gr-menu-hover-overlay-great-library,
.gr-menu-hotspot-great-library:focus-visible + .gr-menu-hover-overlay-great-library,
.gr-menu-hotspot-chronicle:hover + .gr-menu-hover-overlay-chronicle,
.gr-menu-hotspot-chronicle:focus-visible + .gr-menu-hover-overlay-chronicle,
.gr-menu-hotspot-great-hall:hover + .gr-menu-hover-overlay-great-hall,
.gr-menu-hotspot-great-hall:focus-visible + .gr-menu-hover-overlay-great-hall,
.gr-menu-hotspot-enquiries:hover + .gr-menu-hover-overlay-enquiries,
.gr-menu-hotspot-enquiries:focus-visible + .gr-menu-hover-overlay-enquiries {
    opacity: 1;
}


/* v0.8.5 — Trials book typography/layout aligned to established Raven book assets. */
.gr-trials-modal {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: grid;
    place-items: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 360ms ease, visibility 0s linear 360ms;
}
.gr-trials-modal[aria-hidden="false"] {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}
.gr-trials-modal.is-open { opacity: 1; }
.gr-trials-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.82);
}
.gr-trials-book {
    position: relative;
    z-index: 1;
    width: min(94vw, calc(90svh * (10 / 7)));
    aspect-ratio: 10 / 7;
    color: #1d120b;
    transform: scale(.96) translateY(12px);
    opacity: 0;
    transition: transform 520ms cubic-bezier(.2,.78,.2,1), opacity 320ms ease;
}
.gr-trials-modal.is-open .gr-trials-book {
    transform: scale(1) translateY(0);
    opacity: 1;
}
.gr-trials-book-image {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    user-select: none;
    -webkit-user-drag: none;
    pointer-events: none;
}
.gr-trials-book-content {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    pointer-events: none;
}
.gr-trials-page {
    position: relative;
    min-width: 0;
    pointer-events: auto;
}
.gr-trials-page-left { padding: 8.0% 7.4% 8.2% 10.2%; }
.gr-trials-page-right { padding: 8.0% 10.2% 8.2% 7.4%; }
.gr-trials-page-header {
    height: 12.5%;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    text-align: center;
}
.gr-trials-page h1 {
    margin: 0;
    font-family: 'Cinzel', Georgia, serif;
    font-size: clamp(2.05rem, 3.45vw, 3.5rem);
    font-weight: 400;
    line-height: 1;
    letter-spacing: .035em;
    transform: translateY(.58em);
}
.gr-trials-list {
    display: grid;
    grid-template-rows: repeat(5, minmax(0, 1fr));
    gap: 0;
    height: 67%;
    margin-top: 0;
}
.gr-trials-page-right .gr-trials-list {
    margin-top: 12.5%;
}
.gr-trial-entry {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 0;
    padding: .15em 4%;
    text-align: center;
    cursor: default;
}
.gr-trial-label {
    margin: 0 0 .22em;
    font-family: 'Cinzel', Georgia, serif;
    font-size: clamp(.52rem, .73vw, .73rem);
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #120b06;
    opacity: 1;
}
.gr-trial-entry h2 {
    margin: 0;
    font-family: 'Cormorant Garamond', Garamond, Georgia, serif;
    font-size: clamp(1.08rem, 1.72vw, 1.70rem);
    line-height: 1.02;
    font-weight: 600;
    letter-spacing: .005em;
}
.gr-trial-difficulty {
    margin: .30em 0 0;
    font-family: 'Cormorant Garamond', Garamond, Georgia, serif;
    font-size: clamp(.69rem, .90vw, .90rem);
    line-height: 1;
    font-weight: 600;
    letter-spacing: .055em;
    font-variant: small-caps;
    color: #24160d;
    opacity: 1;
}
.gr-return-lexicon {
    position: absolute;
    left: 50%;
    bottom: 14.0%;
    transform: translateX(-50%);
    z-index: 5;
    margin: 0;
    padding: .50em .82em;
    border: 0;
    background: transparent;
    color: #120b06;
    font-family: 'Cinzel', Georgia, serif;
    font-size: clamp(.64rem, .88vw, .90rem);
    font-weight: 600;
    letter-spacing: .12em;
    white-space: nowrap;
    cursor: pointer;
    opacity: 1;
    transition: opacity 130ms ease, text-shadow 130ms ease, filter 130ms ease;
}
.gr-return-lexicon:hover,
.gr-return-lexicon:focus-visible {
    opacity: 1;
    filter: brightness(1.16);
    text-shadow: 0 0 10px rgba(113,72,28,.35);
}
.gr-return-lexicon:focus-visible {
    outline: 1px solid rgba(76,45,20,.55);
    outline-offset: 4px;
}

/* v0.8.15 — NEXT PAGE now matches RETURN TO LEXICON visual strength; inactive behaviour retained.
   v0.8.14 — NEXT PAGE contrast correction only; inactive state retained.
   v0.8.13 — secondary text contrast correction: stronger Trial labels and navigation text.
   v0.8.12 — strengthened secondary text contrast while preserving hierarchy.
   NEXT PAGE remains visibly inactive.

   v0.8.11 — use the same proven text-control approach as Return to Lexicon.
   The next-spread control is deliberately visible but inactive until Trial 11 exists. */
.gr-trials-next-spread {
    position: absolute;
    left: 50%;
    bottom: 14.0%;
    transform: translateX(-50%);
    z-index: 7;
    margin: 0;
    padding: .50em .82em;
    border: 0;
    background: transparent;
    color: #120b06;
    font-family: 'Cinzel', Georgia, serif;
    font-size: clamp(.64rem, .88vw, .90rem);
    font-weight: 600;
    letter-spacing: .12em;
    white-space: nowrap;
    cursor: pointer;
    opacity: 1 !important;
    pointer-events: auto;
}
.gr-trials-next-spread:disabled {
    color: #120b06;
    -webkit-text-fill-color: #120b06;
    opacity: 1 !important;
    cursor: default;
    pointer-events: none;
}

body.gr-trials-open { overflow: hidden; }

@media (max-width: 760px) {
    .gr-trials-book { width: min(98vw, calc(82svh * (10 / 7))); }
    .gr-trials-page-left { padding-left: 9.8%; padding-right: 6.8%; }
    .gr-trials-page-right { padding-right: 9.8%; padding-left: 6.8%; }
    .gr-trial-entry h2 { font-size: clamp(.76rem, 2.45vw, 1.05rem); }
    .gr-trial-label { font-size: clamp(.38rem, 1.10vw, .54rem); }
    .gr-trial-difficulty { font-size: clamp(.44rem, 1.15vw, .58rem); }
}

@media (prefers-reduced-motion: reduce) {
    .gr-lexicon-modal,
    .gr-lexicon-panel,
    .gr-trials-modal,
    .gr-trials-panel { transition-duration: 1ms !important; }
}

/* v0.9.0 — Trial 01 Face Value complete Question/Reveal prototype. */
.gr-trial-entry-active { cursor: pointer; border-radius: 3px; transition: filter 130ms ease, text-shadow 130ms ease; }
.gr-trial-entry-active:hover, .gr-trial-entry-active:focus-visible { filter: brightness(.78); text-shadow: 0 0 10px rgba(113,72,28,.20); outline: none; }
.gr-trial-modal { position: fixed; inset: 0; z-index: 1200; display: grid; place-items: center; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity 320ms ease, visibility 0s linear 320ms; }
.gr-trial-modal[aria-hidden="false"] { visibility: visible; pointer-events: auto; transition-delay: 0s; }
.gr-trial-modal.is-open { opacity: 1; }
.gr-trial-backdrop { position: absolute; inset: 0; z-index: 0; border: 0; padding: 0; background: rgba(0,0,0,.86); cursor: default; }
.gr-trial-stage { position: relative; z-index: 1; width: min(94vw, calc(90svh * (10 / 7))); aspect-ratio: 10 / 7; transform: scale(.97) translateY(10px); opacity: 0; transition: transform 460ms cubic-bezier(.2,.78,.2,1), opacity 280ms ease; }
.gr-trial-modal.is-open .gr-trial-stage { transform: scale(1) translateY(0); opacity: 1; }
.gr-trial-art { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; user-select: none; -webkit-user-drag: none; }
.gr-trial-reveal-art { opacity: 0; pointer-events: none; transition: opacity 260ms ease; }
.gr-trial-stage.is-revealed .gr-trial-question-art { opacity: 0; pointer-events: none; }
.gr-trial-stage.is-revealed .gr-trial-reveal-art { opacity: 1; }
.gr-trial-hotspot { position: absolute; z-index: 5; margin: 0; padding: 0; border: 0; background: transparent; cursor: pointer; }
/* REVEAL inscription on the lower left page of the supplied Question master. */
.gr-trial-reveal-hotspot { left: 19.0%; top: 79.0%; width: 20.0%; height: 9.0%; }
/* RETURN TO TRIAL inscription on the lower left page of the supplied Reveal master. */
.gr-trial-return-hotspot { left: 14.0%; top: 79.0%; width: 29.0%; height: 9.0%; }
.gr-trial-hotspot:focus-visible { outline: 2px solid rgba(92,54,24,.72); outline-offset: 3px; }
body.gr-trial-open { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .gr-trial-modal, .gr-trial-stage, .gr-trial-reveal-art { transition-duration: 1ms !important; } }

/* v0.9.7 — approved responsive Trial artwork viewer with reliable close controls for Trials 01–10. */
.gr-trial-artwork-hotspot {
    left: 53.75%;
    top: 13.9%;
    width: 35.5%;
    height: 72.0%;
    cursor: zoom-in;
}
.gr-trial-artwork-zoom {
    position: fixed;
    inset: 0;
    z-index: 1300;
    display: grid;
    place-items: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
    transition: opacity 260ms ease, visibility 0s linear 260ms;
}
.gr-trial-artwork-zoom[aria-hidden="false"] {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}
.gr-trial-artwork-zoom.is-open { opacity: 1; }
.gr-trial-artwork-zoom-backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    border: 0;
    padding: 0;
    background: rgba(0,0,0,.94);
    cursor: zoom-out;
}
.gr-trial-artwork-zoom-panel {
    position: relative;
    z-index: 1;
    margin: 0;
    width: min(98vw, 1400px);
    height: 98svh;
    display: grid;
    place-items: center;
    overflow: hidden;
    transform: scale(.975);
    opacity: 0;
    touch-action: none;
    transition: transform 340ms cubic-bezier(.2,.78,.2,1), opacity 220ms ease;
}
.gr-trial-artwork-zoom.is-open .gr-trial-artwork-zoom-panel {
    transform: scale(1);
    opacity: 1;
}

.gr-trial-artwork-zoom-close {
    position: fixed;
    top: max(14px, env(safe-area-inset-top));
    right: max(16px, env(safe-area-inset-right));
    z-index: 3;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(238,224,190,.72);
    border-radius: 50%;
    background: rgba(18,14,10,.72);
    color: #eee0be;
    font-family: Georgia, serif;
    font-size: 34px;
    line-height: 40px;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 4px 20px rgba(0,0,0,.35);
}
.gr-trial-artwork-zoom-close:hover,
.gr-trial-artwork-zoom-close:focus-visible {
    background: rgba(42,31,20,.92);
    outline: 2px solid rgba(238,224,190,.75);
    outline-offset: 2px;
}
.gr-trial-artwork-zoom-image {
    display: block;
    width: auto;
    height: auto;
    max-width: 98vw;
    max-height: 98svh;
    object-fit: contain;
    box-shadow: 0 18px 70px rgba(0,0,0,.55);
    user-select: none;
    -webkit-user-drag: none;
    touch-action: none;
    transform-origin: center center;
    will-change: transform;
}
.gr-trial-artwork-zoom-image.is-zoomed { cursor: grab; }
.gr-trial-artwork-zoom-image.is-dragging { cursor: grabbing; }
body.gr-trial-artwork-zoom-open { overflow: hidden; overscroll-behavior: none; }
@media (max-width: 700px) {
    .gr-trial-artwork-zoom-panel { width: 100vw; height: 100svh; }
    .gr-trial-artwork-zoom-image { max-width: 100vw; max-height: 100svh; }
}
@media (prefers-reduced-motion: reduce) {
    .gr-trial-artwork-zoom,
    .gr-trial-artwork-zoom-panel { transition-duration: 1ms !important; }
}

/* v0.10.0 — Trial Manager integration and dynamic archive pagination. */
.gr-trials-next-spread:not(:disabled) {
    cursor: pointer;
    pointer-events: auto;
}
.gr-trials-next-spread:not(:disabled):hover,
.gr-trials-next-spread:not(:disabled):focus-visible {
    filter: brightness(1.16);
    text-shadow: 0 0 10px rgba(113,72,28,.35);
    outline: none;
}
.gr-trials-next-spread:not(:disabled):focus-visible {
    outline: 1px solid rgba(76,45,20,.55);
    outline-offset: 4px;
}
.gr-trials-prev-spread {
    position: absolute;
    left: 34%;
    bottom: 14.0%;
    transform: translateX(-50%);
    z-index: 7;
    margin: 0;
    padding: .50em .82em;
    border: 0;
    background: transparent;
    color: #120b06;
    font-family: 'Cinzel', Georgia, serif;
    font-size: clamp(.64rem, .88vw, .90rem);
    font-weight: 600;
    letter-spacing: .12em;
    white-space: nowrap;
    cursor: pointer;
    opacity: 1;
}
.gr-trials-prev-spread:hover,
.gr-trials-prev-spread:focus-visible {
    filter: brightness(1.16);
    text-shadow: 0 0 10px rgba(113,72,28,.35);
}
.gr-trials-prev-spread:focus-visible {
    outline: 1px solid rgba(76,45,20,.55);
    outline-offset: 4px;
}
.gr-trials-prev-spread[hidden] { display: none !important; }
.gr-trial-reveal-hotspot:disabled {
    cursor: default;
    pointer-events: none;
}


/* v0.10.1 — dynamic page-turn activation correction.
   Explicit class/ARIA state wins over the legacy launch-state styling. */
.gr-trials-next-spread.is-active {
    cursor: pointer !important;
    pointer-events: auto !important;
}
.gr-trials-next-spread[aria-disabled="true"] {
    cursor: default !important;
    pointer-events: none !important;
}


/* v0.10.2 — secondary spread navigation correction.
   On later spreads PREVIOUS PAGE and RETURN TO LEXICON share the lower-left parchment
   at the same vertical level, with deliberate horizontal separation. */
.gr-trials-book-content.has-previous-spread .gr-return-lexicon {
    left: 66%;
    bottom: 14.0%;
}
.gr-trials-book-content.has-previous-spread .gr-trials-prev-spread {
    left: 34%;
    bottom: 14.0%;
}

/* v0.11.0 — Great Library modal and first controlled resource hotspots. */
.gr-great-library-modal {
    position: fixed;
    inset: 0;
    z-index: 1120;
    display: grid;
    place-items: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 360ms ease, visibility 0s linear 360ms;
}
.gr-great-library-modal[aria-hidden="false"] {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}
.gr-great-library-modal.is-open { opacity: 1; }
.gr-great-library-backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    border: 0;
    margin: 0;
    padding: 0;
    background: rgba(0,0,0,.82);
    cursor: default;
}
.gr-great-library-book {
    position: relative;
    z-index: 1;
    width: min(94vw, calc(90svh * (1458 / 1020)));
    aspect-ratio: 1458 / 1020;
    transform: scale(.96) translateY(12px);
    opacity: 0;
    transition: transform 520ms cubic-bezier(.2,.78,.2,1), opacity 320ms ease;
}
.gr-great-library-modal.is-open .gr-great-library-book {
    transform: scale(1) translateY(0);
    opacity: 1;
}
.gr-great-library-book-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    user-select: none;
    -webkit-user-drag: none;
    pointer-events: none;
}
body.gr-great-library-open { overflow: hidden; }
.gr-library-link {
    position: absolute;
    z-index: 3;
    display: block;
    border-radius: 4px;
    background: rgba(255,244,200,0);
    cursor: pointer;
    transition: background 130ms ease, box-shadow 130ms ease, filter 130ms ease;
}
.gr-library-link:hover,
.gr-library-link:focus-visible {
    background: rgba(255,244,200,.19);
    box-shadow: 0 0 18px rgba(232,198,111,.20);
    outline: none;
}
.gr-library-link:focus-visible {
    outline: 1px solid rgba(85,51,20,.65);
    outline-offset: 2px;
}
/* Coordinates follow the 1458 × 1020 Great Library master. */
.gr-library-link-wikipedia { left: 21.0%; top: 19.0%; width: 26.0%; height: 8.0%; }
.gr-library-link-nasa { left: 25.0%; top: 29.5%; width: 18.0%; height: 8.0%; }
.gr-library-link-on-this-day { left: 18.5%; top: 39.0%; width: 29.0%; height: 8.0%; }
.gr-library-link-youtube { left: 22.0%; top: 49.0%; width: 23.0%; height: 8.0%; }
.gr-library-link-google { left: 23.5%; top: 59.0%; width: 21.0%; height: 8.0%; }
.gr-library-link-gutenberg { left: 19.8%; top: 68.5%; width: 29.0%; height: 8.5%; }
.gr-library-link-archive-org { left: 18.0%; top: 79.0%; width: 31.0%; height: 8.0%; }
.gr-library-link-calculator { left: 58.0%; top: 19.0%; width: 26.0%; height: 8.0%; }
.gr-library-link-solvecipher { left: 59.0%; top: 49.0%; width: 25.0%; height: 8.0%; }
.gr-library-link-collins { left: 60.0%; top: 58.5%; width: 22.5%; height: 8.0%; }
.gr-library-link-word-finder { left: 56.0%; top: 69.0%; width: 30.0%; height: 8.0%; }
.gr-library-link-chatgpt { left: 60.0%; top: 79.0%; width: 22.0%; height: 8.0%; }

@media (prefers-reduced-motion: reduce) {
    .gr-great-library-modal,
    .gr-great-library-book { transition-duration: 1ms !important; }
}

/* v0.11.2 — integrated Great Library Unit Converter and Translator shells. */
.gr-library-link-unit-converter { left: 57.0%; top: 29.3%; width: 29.0%; height: 8.2%; border: 0; padding: 0; }
.gr-library-link-translator { left: 59.0%; top: 39.2%; width: 25.0%; height: 8.0%; border: 0; padding: 0; }
.gr-library-tool-modal {
    position: fixed;
    inset: 0;
    z-index: 1180;
    display: grid;
    place-items: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 260ms ease, visibility 0s linear 260ms;
}
.gr-library-tool-modal[aria-hidden="false"] { visibility: visible; pointer-events: auto; transition-delay: 0s; }
.gr-library-tool-modal.is-open { opacity: 1; }
.gr-library-tool-backdrop { position: absolute; inset: 0; border: 0; background: rgba(0,0,0,.72); }
.gr-library-tool-panel {
    position: relative;
    z-index: 1;
    width: min(720px, 90vw);
    max-height: 88svh;
    overflow: auto;
    padding: clamp(32px, 5vw, 58px);
    border: 1px solid rgba(88,52,22,.48);
    border-radius: 10px 18px 12px 16px;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,225,.32), transparent 36%),
        linear-gradient(104deg, #d7bd83 0%, #ead9a9 46%, #cfb273 100%);
    color: #1d1209;
    box-shadow: 0 24px 80px rgba(0,0,0,.62), inset 0 0 42px rgba(91,52,17,.16);
    transform: scale(.975) translateY(8px);
    transition: transform 300ms cubic-bezier(.2,.78,.2,1);
}
.gr-library-tool-modal.is-open .gr-library-tool-panel { transform: scale(1) translateY(0); }
.gr-library-tool-panel::before {
    content: '';
    position: absolute;
    inset: 8px;
    pointer-events: none;
    border: 1px solid rgba(102,60,22,.20);
    border-radius: inherit;
}
.gr-library-tool-close {
    position: absolute;
    top: 12px;
    right: 16px;
    z-index: 3;
    border: 0;
    background: transparent;
    color: #2a180b;
    font: 34px/1 Georgia, serif;
    cursor: pointer;
}
.gr-library-tool-view h2 {
    margin: 0 0 .3em;
    font-family: 'Cinzel', Georgia, serif;
    font-size: clamp(1.55rem, 4vw, 2.4rem);
    font-weight: 400;
    letter-spacing: .08em;
    text-align: center;
}
.gr-library-tool-intro, .gr-library-tool-note {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: clamp(1.05rem, 2.4vw, 1.28rem);
    line-height: 1.35;
    text-align: center;
}
.gr-library-tool-view label {
    display: grid;
    gap: 6px;
    margin: 16px 0;
    font-family: 'Cinzel', Georgia, serif;
    font-size: .78rem;
    letter-spacing: .08em;
}
.gr-library-tool-view input,
.gr-library-tool-view select,
.gr-library-tool-view textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(72,42,16,.5);
    border-radius: 4px;
    background: rgba(255,248,220,.56);
    color: #1b1008;
    padding: 10px 12px;
    font: 600 1.08rem/1.25 'Cormorant Garamond', Georgia, serif;
}
.gr-library-tool-view textarea { resize: vertical; min-height: 130px; }
.gr-converter-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 14px; }
.gr-library-tool-result {
    display: block;
    min-height: 1.4em;
    margin: 22px 0 4px;
    text-align: center;
    font: 600 clamp(1.35rem, 3vw, 1.85rem)/1.2 'Cormorant Garamond', Georgia, serif;
}
.gr-library-tool-action {
    display: block;
    margin: 24px auto 6px;
    border: 1px solid rgba(65,39,17,.58);
    background: rgba(73,45,20,.10);
    color: #1e1209;
    padding: 10px 18px;
    font: 400 .86rem/1.2 'Cinzel', Georgia, serif;
    letter-spacing: .10em;
    cursor: pointer;
}
.gr-library-tool-action:hover,
.gr-library-tool-action:focus-visible { background: rgba(73,45,20,.20); outline: 1px solid rgba(65,39,17,.65); outline-offset: 3px; }
body.gr-library-tool-open { overflow: hidden; }
@media (max-width: 620px) {
    .gr-library-tool-panel { width: 92vw; max-height: 92svh; padding: 42px 24px 30px; }
    .gr-converter-grid { grid-template-columns: 1fr; gap: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .gr-library-tool-modal, .gr-library-tool-panel { transition-duration: 1ms !important; }
}


/* v0.12.0 — Heritage book shell and first-level navigation hotspots. */
.gr-heritage-modal {
    position: fixed;
    inset: 0;
    z-index: 1120;
    display: grid;
    place-items: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 360ms ease, visibility 0s linear 360ms;
}
.gr-heritage-modal[aria-hidden="false"] {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}
.gr-heritage-modal.is-open { opacity: 1; }
.gr-heritage-backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    border: 0;
    margin: 0;
    padding: 0;
    background: rgba(0,0,0,.82);
    cursor: default;
}
.gr-heritage-book {
    position: relative;
    z-index: 1;
    width: min(94vw, calc(90svh * (1458 / 1020)));
    aspect-ratio: 1458 / 1020;
    transform: scale(.96) translateY(12px);
    opacity: 0;
    transition: transform 520ms cubic-bezier(.2,.78,.2,1), opacity 320ms ease;
}
.gr-heritage-modal.is-open .gr-heritage-book {
    transform: scale(1) translateY(0);
    opacity: 1;
}
.gr-heritage-book-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    user-select: none;
    -webkit-user-drag: none;
    pointer-events: none;
}
body.gr-heritage-open { overflow: hidden; }
.gr-heritage-entry {
    position: absolute;
    z-index: 3;
    border: 0;
    border-radius: 4px;
    padding: 0;
    background: rgba(255,244,200,0);
    cursor: default;
    transition: background 130ms ease, box-shadow 130ms ease;
}
.gr-heritage-entry:hover,
.gr-heritage-entry:focus-visible {
    background: rgba(255,244,200,.19);
    box-shadow: 0 0 18px rgba(232,198,111,.20);
    outline: none;
}
/* Coordinates follow the 1458 × 1020 Heritage master. */
.gr-heritage-entry-lineage { left: 20.5%; top: 8.0%; width: 25.0%; height: 9.0%; }
.gr-heritage-entry-khartes { left: 20.0%; top: 18.5%; width: 26.0%; height: 9.0%; }
.gr-heritage-entry-conventions { left: 16.0%; top: 29.0%; width: 34.0%; height: 10.0%; }
@media (prefers-reduced-motion: reduce) {
    .gr-heritage-modal,
    .gr-heritage-book { transition-duration: 1ms !important; }
}

/* v0.12.1 — Heritage Lineage parchment sequence. */
.gr-lineage-modal {
    position: fixed;
    inset: 0;
    z-index: 1130;
    display: grid;
    place-items: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 340ms ease, visibility 0s linear 340ms;
}
.gr-lineage-modal[aria-hidden="false"] {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}
.gr-lineage-modal.is-open { opacity: 1; }
.gr-lineage-backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    border: 0;
    margin: 0;
    padding: 0;
    background: rgba(0,0,0,.84);
    cursor: default;
}
.gr-lineage-stage {
    position: relative;
    z-index: 1;
    width: min(95vw, calc(91svh * (1458 / 1020)));
    aspect-ratio: 1458 / 1020;
    transform: scale(.965) translateY(10px);
    opacity: 0;
    transition: transform 480ms cubic-bezier(.2,.78,.2,1), opacity 300ms ease;
}
.gr-lineage-modal.is-open .gr-lineage-stage {
    transform: scale(1) translateY(0);
    opacity: 1;
}
.gr-lineage-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    user-select: none;
    -webkit-user-drag: none;
}
.gr-lineage-nav {
    position: absolute;
    z-index: 3;
    bottom: 3.6%;
    border: 0;
    padding: .36em .58em;
    background: rgba(247,229,184,.36);
    color: #3e2918;
    font-family: "Cinzel", Georgia, serif;
    font-size: clamp(11px, 1.15vw, 18px);
    letter-spacing: .08em;
    line-height: 1.1;
    cursor: pointer;
    text-shadow: 0 1px rgba(255,255,255,.34);
    transition: background 130ms ease, box-shadow 130ms ease;
}
.gr-lineage-prev { left: 7.6%; }
.gr-lineage-next { right: 7.6%; }
.gr-lineage-nav:hover,
.gr-lineage-nav:focus-visible {
    background: rgba(247,229,184,.68);
    box-shadow: 0 0 16px rgba(232,198,111,.22);
    outline: 1px solid rgba(88,56,26,.46);
    outline-offset: 2px;
}
body.gr-lineage-open { overflow: hidden; }
@media (max-width: 620px) {
    .gr-lineage-stage { width: 98vw; }
    .gr-lineage-nav { bottom: 2.5%; font-size: 10px; }
    .gr-lineage-prev { left: 5%; }
    .gr-lineage-next { right: 5%; }
}
@media (prefers-reduced-motion: reduce) {
    .gr-lineage-modal,
    .gr-lineage-stage { transition-duration: 1ms !important; }
}

/* v0.12.2 — Heritage Khartes parchment. */
.gr-khartes-modal {
    position: fixed;
    inset: 0;
    z-index: 1130;
    display: grid;
    place-items: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 340ms ease, visibility 0s linear 340ms;
}
.gr-khartes-modal[aria-hidden="false"] {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}
.gr-khartes-modal.is-open { opacity: 1; }
.gr-khartes-backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    border: 0;
    margin: 0;
    padding: 0;
    background: rgba(0,0,0,.84);
    cursor: default;
}
.gr-khartes-stage {
    position: relative;
    z-index: 1;
    width: min(95vw, calc(91svh * (1458 / 1020)));
    aspect-ratio: 1458 / 1020;
    transform: scale(.965) translateY(10px);
    opacity: 0;
    transition: transform 480ms cubic-bezier(.2,.78,.2,1), opacity 300ms ease;
}
.gr-khartes-modal.is-open .gr-khartes-stage {
    transform: scale(1) translateY(0);
    opacity: 1;
}
.gr-khartes-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    user-select: none;
    -webkit-user-drag: none;
}
body.gr-khartes-open { overflow: hidden; }
@media (prefers-reduced-motion: reduce) {
    .gr-khartes-modal,
    .gr-khartes-stage { transition-duration: 1ms !important; }
}


/* v0.12.3 — Heritage Conventions parchment. */
.gr-conventions-modal {
    position: fixed;
    inset: 0;
    z-index: 1130;
    display: grid;
    place-items: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 340ms ease, visibility 0s linear 340ms;
}
.gr-conventions-modal[aria-hidden="false"] {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}
.gr-conventions-modal.is-open { opacity: 1; }
.gr-conventions-backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    border: 0;
    margin: 0;
    padding: 0;
    background: rgba(0,0,0,.84);
    cursor: default;
}
.gr-conventions-stage {
    position: relative;
    z-index: 1;
    width: min(95vw, calc(91svh * (1458 / 1020)));
    aspect-ratio: 1458 / 1020;
    transform: scale(.965) translateY(10px);
    opacity: 0;
    transition: transform 480ms cubic-bezier(.2,.78,.2,1), opacity 300ms ease;
}
.gr-conventions-modal.is-open .gr-conventions-stage {
    transform: scale(1) translateY(0);
    opacity: 1;
}
.gr-conventions-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    user-select: none;
    -webkit-user-drag: none;
}
body.gr-conventions-open { overflow: hidden; }
@media (prefers-reduced-motion: reduce) {
    .gr-conventions-modal,
    .gr-conventions-stage { transition-duration: 1ms !important; }
}


/* v0.13.0 — Homepage Khartes charter interaction. */
.gr-hotspot-charter {
    left: 56.3%;
    top: 49.4%;
    width: 10.7%;
    height: 8.8%;
}
.gr-hover-overlay-charter {
    z-index: 15;
    filter: brightness(1.10);
    clip-path: polygon(
        56.4% 51.0%,
        57.5% 49.6%,
        63.5% 49.0%,
        65.8% 50.4%,
        66.2% 53.3%,
        65.3% 56.1%,
        60.0% 57.2%,
        57.4% 56.1%,
        56.6% 54.1%
    );
}
.gr-hotspot-charter:hover + .gr-hover-overlay-charter,
.gr-hotspot-charter:focus-visible + .gr-hover-overlay-charter {
    opacity: 1;
}

.gr-charter-modal {
    position: fixed;
    inset: 0;
    z-index: 1160;
    display: grid;
    place-items: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 340ms ease, visibility 0s linear 340ms;
}
.gr-charter-modal[aria-hidden="false"] {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}
.gr-charter-modal.is-open { opacity: 1; }
.gr-charter-backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    border: 0;
    margin: 0;
    padding: 0;
    background: rgba(0,0,0,.84);
    cursor: default;
}
.gr-charter-stage {
    position: relative;
    z-index: 1;
    height: min(92svh, 1100px);
    aspect-ratio: 1600 / 2000;
    max-width: 94vw;
    transform: scale(.965) translateY(10px);
    opacity: 0;
    transition: transform 480ms cubic-bezier(.2,.78,.2,1), opacity 300ms ease;
}
.gr-charter-modal.is-open .gr-charter-stage {
    transform: scale(1) translateY(0);
    opacity: 1;
}
.gr-charter-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    user-select: none;
    -webkit-user-drag: none;
}
body.gr-charter-open { overflow: hidden; }

@media (max-width: 620px) {
    .gr-charter-stage {
        height: min(94svh, 1200px);
        max-width: 96vw;
    }
}
@media (prefers-reduced-motion: reduce) {
    .gr-charter-modal,
    .gr-charter-stage { transition-duration: 1ms !important; }
}


/* v0.13.1 — Homepage telescope interaction. */
.gr-hotspot-telescope {
    left: 51.4%;
    top: 34.0%;
    width: 15.0%;
    height: 17.5%;
}
.gr-hover-overlay-telescope {
    z-index: 15;
    filter: brightness(1.085);
    clip-path: polygon(
        51.0% 39.0%,
        55.0% 34.0%,
        64.2% 34.0%,
        66.7% 37.5%,
        64.7% 42.2%,
        60.8% 44.8%,
        59.2% 51.5%,
        55.7% 51.5%,
        56.2% 44.8%,
        52.8% 43.5%
    );
}
.gr-hotspot-telescope:hover + .gr-hover-overlay-telescope,
.gr-hotspot-telescope:focus-visible + .gr-hover-overlay-telescope {
    opacity: 1;
}

.gr-telescope-modal {
    position: fixed;
    inset: 0;
    z-index: 1165;
    display: grid;
    place-items: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 340ms ease, visibility 0s linear 340ms;
}
.gr-telescope-modal[aria-hidden="false"] {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}
.gr-telescope-modal.is-open { opacity: 1; }
.gr-telescope-backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    border: 0;
    margin: 0;
    padding: 0;
    background: rgba(0,0,0,.88);
    cursor: default;
}
.gr-telescope-stage {
    position: relative;
    z-index: 1;
    width: min(90vw, 89svh);
    aspect-ratio: 1 / 1;
    transform: scale(.94);
    opacity: 0;
    transition: transform 520ms cubic-bezier(.2,.78,.2,1), opacity 320ms ease;
}
.gr-telescope-modal.is-open .gr-telescope-stage {
    transform: scale(1);
    opacity: 1;
}
.gr-telescope-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    user-select: none;
    -webkit-user-drag: none;
}
body.gr-telescope-open { overflow: hidden; }

@media (max-width: 620px) {
    .gr-telescope-stage {
        width: min(96vw, 88svh);
    }
}
@media (prefers-reduced-motion: reduce) {
    .gr-telescope-modal,
    .gr-telescope-stage { transition-duration: 1ms !important; }
}


/* v0.13.2 — Homepage Apollo's Lyre interaction. */
.gr-hotspot-lyre {
    left: 31.0%;
    top: 69.0%;
    width: 8.7%;
    height: 22.0%;
}
.gr-hover-overlay-lyre {
    z-index: 15;
    filter: brightness(1.11) sepia(.08) saturate(1.08);
    clip-path: polygon(
        31.8% 69.0%,
        36.7% 68.4%,
        39.3% 71.2%,
        39.0% 89.0%,
        35.7% 92.0%,
        32.0% 89.0%
    );
}
.gr-hotspot-lyre:hover + .gr-hover-overlay-lyre,
.gr-hotspot-lyre:focus-visible + .gr-hover-overlay-lyre,
.gr-hotspot-lyre.is-playing + .gr-hover-overlay-lyre {
    opacity: 1;
}
.gr-hotspot-lyre.is-playing + .gr-hover-overlay-lyre {
    filter: brightness(1.16) sepia(.14) saturate(1.14);
    animation: gr-lyre-glow 2.6s ease-in-out infinite;
}
@keyframes gr-lyre-glow {
    0%,100% { opacity: .66; }
    50% { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .gr-hotspot-lyre.is-playing + .gr-hover-overlay-lyre { animation: none; }
}


/* v0.13.3 — Homepage Quill & Ink / Honorary Raven Register. */
.gr-hotspot-quill {
    left: 39.4%;
    top: 46.2%;
    width: 5.2%;
    height: 14.2%;
}
.gr-hover-overlay-quill {
    z-index: 15;
    filter: brightness(1.12) sepia(.08) saturate(1.05);
    clip-path: polygon(
        42.7% 45.9%,
        44.3% 46.6%,
        43.4% 51.8%,
        42.5% 57.3%,
        43.4% 58.7%,
        42.8% 60.2%,
        40.7% 59.8%,
        40.3% 57.8%,
        41.1% 55.2%,
        41.4% 50.0%
    );
}
.gr-hotspot-quill:hover + .gr-hover-overlay-quill,
.gr-hotspot-quill:focus-visible + .gr-hover-overlay-quill {
    opacity: 1;
}

.gr-register-modal {
    position: fixed;
    inset: 0;
    z-index: 1170;
    display: grid;
    place-items: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 340ms ease, visibility 0s linear 340ms;
}
.gr-register-modal[aria-hidden="false"] {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}
.gr-register-modal.is-open { opacity: 1; }
.gr-register-backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    border: 0;
    background: rgba(0,0,0,.86);
    margin: 0;
    padding: 0;
}
.gr-register-parchment {
    position: relative;
    z-index: 1;
    width: min(92vw, 900px);
    max-height: 91svh;
    overflow: auto;
    box-sizing: border-box;
    padding: clamp(28px, 4.5vw, 62px) clamp(28px, 5vw, 70px);
    color: #2f2118;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.35), transparent 30%),
        radial-gradient(circle at 80% 72%, rgba(167,112,48,.08), transparent 32%),
        linear-gradient(100deg, rgba(120,72,28,.08), transparent 11%, transparent 90%, rgba(120,72,28,.09)),
        #ead6a5;
    border: 1px solid rgba(85,51,22,.55);
    box-shadow:
        0 24px 70px rgba(0,0,0,.62),
        inset 0 0 38px rgba(119,70,26,.18);
    transform: scale(.965) translateY(10px);
    opacity: 0;
    transition: transform 460ms cubic-bezier(.2,.78,.2,1), opacity 300ms ease;
}
.gr-register-modal.is-open .gr-register-parchment {
    transform: scale(1) translateY(0);
    opacity: 1;
}
.gr-register-parchment::before {
    content: "";
    position: absolute;
    inset: 10px;
    pointer-events: none;
    border: 1px solid rgba(92,55,25,.22);
}
.gr-register-close {
    position: absolute;
    top: 12px;
    right: 16px;
    border: 0;
    background: transparent;
    color: #49301d;
    font: 30px/1 Georgia, serif;
    cursor: pointer;
}
.gr-register-header {
    text-align: center;
    margin-bottom: 28px;
}
.gr-register-kicker,
.gr-register-header h2,
.gr-register-list-section h3 {
    font-family: "Cinzel", Georgia, serif;
    letter-spacing: .08em;
}
.gr-register-kicker {
    margin: 0 0 8px;
    font-size: 12px;
}
.gr-register-header h2 {
    margin: 0 0 14px;
    font-weight: 400;
    font-size: clamp(24px, 4vw, 40px);
}
.gr-register-header p:last-child {
    margin: 0 auto;
    max-width: 610px;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(19px, 2.2vw, 25px);
}
.gr-register-form label {
    display: block;
    margin-bottom: 8px;
    font-family: "Cinzel", Georgia, serif;
    font-size: 13px;
    letter-spacing: .05em;
}
.gr-register-input-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
}
.gr-register-input-row input {
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid rgba(76,47,23,.52);
    background: rgba(255,250,230,.48);
    color: #2c1c13;
    font: 600 22px/1.15 "Cormorant Garamond", Georgia, serif;
}
.gr-register-input-row button {
    padding: 10px 16px;
    border: 1px solid rgba(73,45,22,.66);
    background: rgba(84,50,22,.11);
    color: #342116;
    font: 12px/1.2 "Cinzel", Georgia, serif;
    letter-spacing: .04em;
    cursor: pointer;
}
.gr-register-input-row button:hover,
.gr-register-input-row button:focus-visible {
    background: rgba(84,50,22,.20);
}
.gr-register-input-row button:disabled {
    opacity: .5;
    cursor: wait;
}

.gr-register-field {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 14px;
    margin: 0 0 14px;
    border: 1px solid rgba(76,47,23,.52);
    background: rgba(255,250,230,.48);
    color: #2c1c13;
    font: 600 20px/1.2 "Cormorant Garamond", Georgia, serif;
}
.gr-register-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.gr-register-optional { font-family: "Cormorant Garamond", Georgia, serif; letter-spacing: 0; text-transform: none; }
.gr-register-ack {
    display: flex !important;
    gap: 10px;
    align-items: flex-start;
    margin: 12px 0 16px !important;
    font: 16px/1.35 "Cormorant Garamond", Georgia, serif !important;
    letter-spacing: 0 !important;
}
.gr-register-ack input { margin-top: 3px; }
.gr-register-submit-row { text-align: center; margin-top: 16px; }
.gr-register-submit-row button,
.gr-raven-key-forgot {
    padding: 10px 16px;
    border: 1px solid rgba(73,45,22,.66);
    background: rgba(84,50,22,.11);
    color: #342116;
    font: 12px/1.2 "Cinzel", Georgia, serif;
    letter-spacing: .04em;
    cursor: pointer;
}
.gr-raven-key-forgot { display: block; margin: 8px 0 0; border: 0; background: transparent; padding: 4px 0; text-decoration: underline; }
.gr-raven-reset-parchment { width: min(92vw, 720px); }
.gr-register-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
}
.gr-register-note,
.gr-register-message,
.gr-register-count,
.gr-register-empty {
    font-family: "Cormorant Garamond", Georgia, serif;
}
.gr-register-note {
    margin: 10px 0 0;
    font-size: 16px;
}
.gr-register-message {
    min-height: 1.4em;
    margin: 10px 0 0;
    font-size: 18px;
    font-weight: 600;
}
.gr-register-divider {
    height: 1px;
    margin: 28px auto 22px;
    width: 70%;
    background: rgba(82,49,24,.32);
}
.gr-register-list-section h3 {
    text-align: center;
    margin: 0 0 5px;
    font-weight: 400;
    font-size: 22px;
}
.gr-register-count {
    text-align: center;
    margin: 0 0 13px;
    font-size: 15px;
}
.gr-register-list {
    max-height: 230px;
    overflow: auto;
    padding: 10px 16px;
    border-top: 1px solid rgba(82,49,24,.20);
    border-bottom: 1px solid rgba(82,49,24,.20);
}
.gr-register-list ul {
    margin: 0;
    padding: 0;
    list-style: none;
    columns: 2;
    column-gap: 28px;
}
.gr-register-list li {
    break-inside: avoid;
    padding: 4px 0;
    font: 600 19px/1.25 "Cormorant Garamond", Georgia, serif;
}
.gr-register-empty {
    margin: 0;
    text-align: center;
    font-size: 18px;
}
body.gr-register-open { overflow: hidden; }

@media (max-width: 680px) {
    .gr-register-parchment {
        width: 96vw;
        max-height: 94svh;
        padding: 38px 24px 30px;
    }
    .gr-register-input-row {
        grid-template-columns: 1fr;
    }
    .gr-register-list ul {
        columns: 1;
    }
}
@media (prefers-reduced-motion: reduce) {
    .gr-register-modal,
    .gr-register-parchment { transition-duration: 1ms !important; }
}


/* v0.13.4 — Separate Quill submission from table Register. */
.gr-hotspot-register-parchment {
    left: 42.4%;
    top: 51.1%;
    width: 13.3%;
    height: 8.2%;
}
.gr-hover-overlay-register-parchment {
    z-index: 15;
    filter: brightness(1.09) sepia(.04);
    clip-path: polygon(
        42.1% 51.0%,
        51.7% 49.8%,
        55.8% 52.0%,
        54.2% 57.8%,
        45.4% 59.2%,
        42.0% 56.8%
    );
}
.gr-hotspot-register-parchment:hover + .gr-hover-overlay-register-parchment,
.gr-hotspot-register-parchment:focus-visible + .gr-hover-overlay-register-parchment {
    opacity: 1;
}

.gr-register-submit-parchment {
    max-width: 780px;
}
.gr-register-submit-parchment .gr-register-header {
    margin-bottom: 34px;
}
.gr-register-submit-parchment .gr-register-message {
    min-height: 2.8em;
}

.gr-public-register-modal {
    position: fixed;
    inset: 0;
    z-index: 1171;
    display: grid;
    place-items: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 340ms ease, visibility 0s linear 340ms;
}
.gr-public-register-modal[aria-hidden="false"] {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}
.gr-public-register-modal.is-open { opacity: 1; }
.gr-public-register-backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    border: 0;
    background: rgba(0,0,0,.86);
    margin: 0;
    padding: 0;
}
.gr-public-register-parchment {
    position: relative;
    z-index: 1;
    width: min(92vw, 920px);
    max-height: 91svh;
    overflow: auto;
    box-sizing: border-box;
    padding: clamp(32px, 4.8vw, 66px) clamp(28px, 5vw, 72px);
    color: #2f2118;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.35), transparent 30%),
        radial-gradient(circle at 80% 72%, rgba(167,112,48,.08), transparent 32%),
        linear-gradient(100deg, rgba(120,72,28,.08), transparent 11%, transparent 90%, rgba(120,72,28,.09)),
        #ead6a5;
    border: 1px solid rgba(85,51,22,.55);
    box-shadow:
        0 24px 70px rgba(0,0,0,.62),
        inset 0 0 38px rgba(119,70,26,.18);
    transform: scale(.965) translateY(10px);
    opacity: 0;
    transition: transform 460ms cubic-bezier(.2,.78,.2,1), opacity 300ms ease;
}
.gr-public-register-modal.is-open .gr-public-register-parchment {
    transform: scale(1) translateY(0);
    opacity: 1;
}
.gr-public-register-parchment::before {
    content: "";
    position: absolute;
    inset: 10px;
    pointer-events: none;
    border: 1px solid rgba(92,55,25,.22);
}
.gr-public-register-close {
    position: absolute;
    top: 12px;
    right: 16px;
    border: 0;
    background: transparent;
    color: #49301d;
    font: 30px/1 Georgia, serif;
    cursor: pointer;
}
.gr-public-register-parchment .gr-register-list {
    max-height: min(52svh, 500px);
}
.gr-public-register-parchment .gr-register-list ul {
    columns: 3;
    column-gap: 30px;
}
body.gr-public-register-open { overflow: hidden; }

@media (max-width: 760px) {
    .gr-public-register-parchment {
        width: 96vw;
        max-height: 94svh;
        padding: 40px 24px 30px;
    }
    .gr-public-register-parchment .gr-register-list ul {
        columns: 2;
    }
}
@media (max-width: 480px) {
    .gr-public-register-parchment .gr-register-list ul {
        columns: 1;
    }
}
@media (prefers-reduced-motion: reduce) {
    .gr-public-register-modal,
    .gr-public-register-parchment { transition-duration: 1ms !important; }
}


/* v0.14.0 — Great Hall integration. */
.gr-great-hall-modal,
.gr-community-modal,
.gr-feedback-modal,
.gr-raven-reset-modal {
    position: fixed;
    inset: 0;
    display: grid;
    place-items: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 340ms ease, visibility 0s linear 340ms;
}
.gr-great-hall-modal { z-index: 1125; }
.gr-community-modal,
.gr-feedback-modal,
.gr-raven-reset-modal { z-index: 1145; }

.gr-great-hall-modal[aria-hidden="false"],
.gr-community-modal[aria-hidden="false"],
.gr-feedback-modal[aria-hidden="false"],
.gr-raven-reset-modal[aria-hidden="false"] {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}
.gr-great-hall-modal.is-open,
.gr-community-modal.is-open,
.gr-feedback-modal.is-open,
.gr-raven-reset-modal.is-open { opacity: 1; }

.gr-great-hall-backdrop,
.gr-community-backdrop,
.gr-feedback-backdrop,
.gr-raven-reset-backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    border: 0;
    margin: 0;
    padding: 0;
    background: rgba(0,0,0,.84);
}

.gr-great-hall-book {
    position: relative;
    z-index: 1;
    width: min(94vw, calc(90svh * (10 / 7)));
    aspect-ratio: 10 / 7;
    transform: scale(.965) translateY(10px);
    opacity: 0;
    transition: transform 480ms cubic-bezier(.2,.78,.2,1), opacity 300ms ease;
}
.gr-great-hall-modal.is-open .gr-great-hall-book {
    transform: scale(1) translateY(0);
    opacity: 1;
}
.gr-great-hall-book-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: fill;
    display: block;
    user-select: none;
    -webkit-user-drag: none;
}

.gr-great-hall-entry {
    position: absolute;
    z-index: 4;
    border: 0;
    margin: 0;
    padding: 0;
    background: transparent;
    cursor: pointer;
}
.gr-great-hall-entry-community {
    left: 18.2%;
    top: 24.6%;
    width: 27.0%;
    height: 8.5%;
}
.gr-great-hall-entry-feedback {
    left: 21.4%;
    top: 35.5%;
    width: 22.0%;
    height: 8.0%;
}
.gr-great-hall-entry:hover,
.gr-great-hall-entry:focus-visible {
    background: rgba(255,238,184,.10);
    box-shadow: 0 0 22px rgba(232,199,122,.16);
    outline: 1px solid rgba(113,77,36,.20);
}

.gr-hall-parchment {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: min(94vw, 1040px);
    max-height: 92svh;
    overflow: auto;
    padding: clamp(34px, 4.5vw, 62px) clamp(28px, 5vw, 72px);
    color: #2f2118;
    background:
        radial-gradient(circle at 28% 18%, rgba(255,255,255,.35), transparent 30%),
        radial-gradient(circle at 80% 72%, rgba(167,112,48,.08), transparent 32%),
        linear-gradient(100deg, rgba(120,72,28,.08), transparent 11%, transparent 90%, rgba(120,72,28,.09)),
        #ead6a5;
    border: 1px solid rgba(85,51,22,.55);
    box-shadow:
        0 24px 70px rgba(0,0,0,.62),
        inset 0 0 38px rgba(119,70,26,.18);
    transform: scale(.965) translateY(10px);
    opacity: 0;
    transition: transform 460ms cubic-bezier(.2,.78,.2,1), opacity 300ms ease;
}
.gr-community-modal.is-open .gr-hall-parchment,
.gr-feedback-modal.is-open .gr-hall-parchment,
.gr-raven-reset-modal.is-open .gr-hall-parchment {
    transform: scale(1) translateY(0);
    opacity: 1;
}
.gr-hall-parchment::before {
    content: "";
    position: absolute;
    inset: 10px;
    pointer-events: none;
    border: 1px solid rgba(92,55,25,.22);
}
.gr-hall-close {
    position: absolute;
    z-index: 5;
    top: 12px;
    right: 16px;
    border: 0;
    background: transparent;
    color: #49301d;
    font: 30px/1 Georgia, serif;
    cursor: pointer;
}
.gr-hall-header {
    text-align: center;
    margin-bottom: 25px;
}
.gr-hall-header h2 {
    margin: 0 0 10px;
    font-family: "Cinzel", Georgia, serif;
    font-weight: 400;
    letter-spacing: .08em;
    font-size: clamp(26px, 4vw, 42px);
}
.gr-hall-header p:last-child {
    max-width: 760px;
    margin: 0 auto;
    font: 20px/1.3 "Cormorant Garamond", Georgia, serif;
}
.gr-hall-identity,
.gr-hall-compose,
.gr-hall-discussions {
    position: relative;
    z-index: 1;
}
.gr-hall-identity h3,
.gr-hall-compose h3,
.gr-hall-discussions h3 {
    margin: 0 0 9px;
    font: 400 16px/1.2 "Cinzel", Georgia, serif;
    letter-spacing: .06em;
}
.gr-hall-identity-row {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 9px;
}
.gr-hall-identity-row input,
.gr-hall-compose input,
.gr-hall-compose textarea,
.gr-hall-reply-box textarea,
.gr-feedback-parchment textarea {
    box-sizing: border-box;
    width: 100%;
    border: 1px solid rgba(76,47,23,.50);
    background: rgba(255,250,230,.50);
    color: #2c1c13;
    padding: 10px 12px;
    font: 18px/1.25 "Cormorant Garamond", Georgia, serif;
}
.gr-hall-identity-row button,
.gr-hall-compose button,
.gr-hall-reply-box button,
.gr-feedback-parchment > button:not(.gr-hall-close) {
    border: 1px solid rgba(73,45,22,.66);
    background: rgba(84,50,22,.11);
    color: #342116;
    padding: 10px 14px;
    font: 12px/1.2 "Cinzel", Georgia, serif;
    letter-spacing: .04em;
    cursor: pointer;
}
.gr-hall-identity-row button:hover,
.gr-hall-compose button:hover,
.gr-hall-reply-box button:hover,
.gr-feedback-parchment > button:not(.gr-hall-close):hover {
    background: rgba(84,50,22,.20);
}
.gr-hall-identity-status,
.gr-hall-status {
    min-height: 1.35em;
    margin: 8px 0 0;
    font: 600 17px/1.25 "Cormorant Garamond", Georgia, serif;
}
.gr-hall-compose {
    margin-top: 22px;
}
.gr-hall-compose input,
.gr-hall-compose textarea {
    display: block;
    margin-bottom: 8px;
}
.gr-hall-divider {
    height: 1px;
    width: 72%;
    margin: 27px auto 22px;
    background: rgba(82,49,24,.30);
}
.gr-hall-topic-list {
    display: grid;
    gap: 16px;
}
.gr-hall-topic {
    padding: 15px 16px;
    border: 1px solid rgba(78,47,23,.25);
    background: rgba(255,249,226,.22);
}
.gr-hall-topic h4 {
    margin: 0 0 3px;
    font: 600 22px/1.2 "Cormorant Garamond", Georgia, serif;
}
.gr-hall-topic-meta {
    margin: 0 0 8px;
    opacity: .72;
    font: 14px/1.2 "Cormorant Garamond", Georgia, serif;
}
.gr-hall-topic-body,
.gr-hall-reply p:last-child {
    white-space: pre-wrap;
    margin: 0;
    font: 18px/1.35 "Cormorant Garamond", Georgia, serif;
}
.gr-hall-replies {
    margin: 14px 0 0 22px;
    padding-left: 14px;
    border-left: 2px solid rgba(91,57,27,.20);
}
.gr-hall-reply {
    margin: 0 0 12px;
}
.gr-hall-reply-box {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    align-items: start;
    margin-top: 14px;
}
.gr-hall-reply-box .gr-hall-status {
    grid-column: 1 / -1;
}
.gr-feedback-parchment {
    width: min(92vw, 820px);
}
.gr-feedback-parchment .gr-hall-identity-row {
    grid-template-columns: 1fr 1fr;
    margin-bottom: 12px;
}
.gr-feedback-parchment textarea {
    display: block;
    margin: 0 0 10px;
    resize: vertical;
}

.gr-raven-key-result {
    margin-top: 18px;
    padding: 16px 18px;
    border: 1px solid rgba(110,67,30,.34);
    background: rgba(255,244,204,.32);
    text-align: center;
}
.gr-raven-key-result p {
    margin: 5px 0;
    font: 17px/1.3 "Cormorant Garamond", Georgia, serif;
}
.gr-raven-key-value {
    font: 600 23px/1.2 "Cinzel", Georgia, serif !important;
    letter-spacing: .08em;
    user-select: all;
}
.gr-raven-key-result button {
    margin-top: 8px;
    padding: 9px 14px;
    border: 1px solid rgba(73,45,22,.66);
    background: rgba(84,50,22,.11);
    color: #342116;
    font: 12px/1.2 "Cinzel", Georgia, serif;
    cursor: pointer;
}

body.gr-great-hall-open,
body.gr-community-open,
body.gr-feedback-open,
body.gr-raven-reset-open { overflow: hidden; }

@media (max-width: 760px) {
    .gr-great-hall-book {
        width: min(98vw, calc(86svh * (10 / 7)));
    }
    .gr-hall-parchment {
        width: 96vw;
        max-height: 94svh;
        padding: 40px 22px 28px;
    }
    .gr-hall-identity-row {
        grid-template-columns: 1fr;
    }
    .gr-feedback-parchment .gr-hall-identity-row {
        grid-template-columns: 1fr;
    }
    .gr-hall-reply-box {
        grid-template-columns: 1fr;
    }
}
@media (prefers-reduced-motion: reduce) {
    .gr-great-hall-modal,
    .gr-community-modal,
    .gr-feedback-modal,
    .gr-raven-reset-modal,
    .gr-great-hall-book,
    .gr-hall-parchment {
        transition-duration: 1ms !important;
    }
}


/* v0.15.0 — Chronicle Integration. */
.gr-chronicle-modal {
    position: fixed;
    inset: 0;
    z-index: 1128;
    display: grid;
    place-items: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 340ms ease, visibility 0s linear 340ms;
}
.gr-chronicle-modal[aria-hidden="false"] {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}
.gr-chronicle-modal.is-open { opacity: 1; }

.gr-chronicle-backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    border: 0;
    margin: 0;
    padding: 0;
    background: rgba(0,0,0,.84);
}

.gr-chronicle-book {
    position: relative;
    z-index: 1;
    width: min(94vw, calc(90svh * (10 / 7)));
    aspect-ratio: 10 / 7;
    transform: scale(.965) translateY(10px);
    opacity: 0;
    transition: transform 480ms cubic-bezier(.2,.78,.2,1), opacity 300ms ease;
}
.gr-chronicle-modal.is-open .gr-chronicle-book {
    transform: scale(1) translateY(0);
    opacity: 1;
}

.gr-chronicle-book-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill;
    user-select: none;
    -webkit-user-drag: none;
}

.gr-chronicle-left-page,
.gr-chronicle-right-page {
    position: absolute;
    z-index: 2;
    top: 9.5%;
    bottom: 13.5%;
    box-sizing: border-box;
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(90,55,25,.28) transparent;
}
.gr-chronicle-left-page {
    left: 11.7%;
    width: 35.0%;
    padding: 0 2.2% 0 1.0%;
}
.gr-chronicle-right-page {
    left: 53.2%;
    width: 34.6%;
    padding: 0 1.0% 0 2.2%;
}

.gr-chronicle-section-title {
    margin: 0 0 8px;
    text-align: center;
    font: 400 clamp(20px, 2.4vw, 38px)/1.1 "Cinzel", Georgia, serif;
    letter-spacing: .08em;
}
.gr-chronicle-date {
    margin: 0 0 10px;
    text-align: center;
    font: 14px/1.2 "Cinzel", Georgia, serif;
    letter-spacing: .05em;
}
.gr-chronicle-title {
    margin: 0 0 16px;
    text-align: center;
    font: 500 clamp(20px, 2vw, 31px)/1.15 "Cormorant Garamond", Georgia, serif;
}
.gr-chronicle-text {
    color: #2f2118;
    font: 500 clamp(15px, 1.28vw, 20px)/1.32 "Cormorant Garamond", Georgia, serif;
}
.gr-chronicle-text p {
    margin: 0 0 .78em;
}
.gr-chronicle-text h2,
.gr-chronicle-text h3,
.gr-chronicle-text h4 {
    margin: .6em 0 .3em;
    font-family: "Cormorant Garamond", Georgia, serif;
}
.gr-chronicle-text ul,
.gr-chronicle-text ol {
    margin: .4em 0 .8em 1.2em;
    padding: 0;
}
.gr-chronicle-text a {
    color: #5d351c;
    text-decoration-thickness: 1px;
}

.gr-chronicle-figure {
    margin: 0 0 12px;
    text-align: center;
}
.gr-chronicle-figure img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 28svh;
    margin: 0 auto;
    object-fit: contain;
    border: 1px solid rgba(83,49,21,.28);
    box-shadow: 0 4px 15px rgba(78,45,20,.12);
}

.gr-chronicle-return,
.gr-chronicle-newer,
.gr-chronicle-older {
    position: absolute;
    z-index: 4;
    bottom: 8.0%;
    border: 0;
    background: transparent;
    color: #332116;
    font: 12px/1.2 "Cinzel", Georgia, serif;
    letter-spacing: .055em;
    cursor: pointer;
}
.gr-chronicle-return { left: 15.2%; }
.gr-chronicle-newer { left: 55.0%; }
.gr-chronicle-older { right: 15.0%; }

.gr-chronicle-return:hover,
.gr-chronicle-return:focus-visible,
.gr-chronicle-newer:hover:not(:disabled),
.gr-chronicle-newer:focus-visible:not(:disabled),
.gr-chronicle-older:hover:not(:disabled),
.gr-chronicle-older:focus-visible:not(:disabled) {
    text-shadow: 0 0 10px rgba(114,74,30,.30);
}
.gr-chronicle-newer:disabled,
.gr-chronicle-older:disabled {
    opacity: .28;
    cursor: default;
}

body.gr-chronicle-open { overflow: hidden; }

@media (max-width: 760px) {
    .gr-chronicle-book {
        width: min(98vw, calc(86svh * (10 / 7)));
    }
    .gr-chronicle-left-page,
    .gr-chronicle-right-page {
        top: 8.8%;
        bottom: 15%;
    }
    .gr-chronicle-text {
        font-size: clamp(12px, 2.0vw, 16px);
        line-height: 1.24;
    }
    .gr-chronicle-section-title {
        font-size: clamp(17px, 3vw, 24px);
    }
    .gr-chronicle-title {
        font-size: clamp(15px, 2.5vw, 21px);
    }
    .gr-chronicle-return,
    .gr-chronicle-newer,
    .gr-chronicle-older {
        font-size: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gr-chronicle-modal,
    .gr-chronicle-book {
        transition-duration: 1ms !important;
    }
}


/* v0.15.1 — Chronicle page geometry and ink correction. */
.gr-chronicle-left-page,
.gr-chronicle-right-page {
    top: 12.2%;
    bottom: 15.2%;
    color: #2f2118 !important;
    overflow: auto;
}

.gr-chronicle-left-page {
    left: 16.8%;
    width: 29.2%;
    padding: 0 1.0% 0 0;
}

.gr-chronicle-right-page {
    left: 54.0%;
    width: 29.2%;
    padding: 0 0 0 1.0%;
}

.gr-chronicle-section-title,
.gr-chronicle-date,
.gr-chronicle-title,
.gr-chronicle-text,
.gr-chronicle-text p,
.gr-chronicle-text h2,
.gr-chronicle-text h3,
.gr-chronicle-text h4,
.gr-chronicle-return,
.gr-chronicle-newer,
.gr-chronicle-older {
    color: #2f2118 !important;
    text-shadow: none !important;
}

.gr-chronicle-section-title {
    margin-top: 0;
    margin-bottom: 7px;
}

.gr-chronicle-date {
    margin-bottom: 9px;
}

.gr-chronicle-title {
    margin-bottom: 15px;
}

.gr-chronicle-text {
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: auto;
}

.gr-chronicle-text > *:first-child {
    margin-top: 0 !important;
}

.gr-chronicle-return {
    left: 17.0%;
    bottom: 8.5%;
}
.gr-chronicle-newer {
    left: 55.5%;
    bottom: 8.5%;
}
.gr-chronicle-older {
    right: 17.0%;
    bottom: 8.5%;
}

@media (max-width: 760px) {
    .gr-chronicle-left-page,
    .gr-chronicle-right-page {
        top: 11.5%;
        bottom: 16.0%;
    }

    .gr-chronicle-left-page {
        left: 16.5%;
        width: 29.4%;
    }

    .gr-chronicle-right-page {
        left: 54.0%;
        width: 29.4%;
    }
}


/* v0.16.0 — Enquiries Integration. */
.gr-enquiries-modal {
    position: fixed;
    inset: 0;
    z-index: 1130;
    display: grid;
    place-items: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 340ms ease, visibility 0s linear 340ms;
}
.gr-enquiries-modal[aria-hidden="false"] {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}
.gr-enquiries-modal.is-open { opacity: 1; }

.gr-enquiries-backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    border: 0;
    margin: 0;
    padding: 0;
    background: rgba(0,0,0,.86);
}

.gr-enquiries-sheet {
    position: relative;
    z-index: 1;
    width: min(92vw, calc(88svh * (10 / 7)));
    aspect-ratio: 10 / 7;
    transform: scale(.965) translateY(10px);
    opacity: 0;
    transition: transform 460ms cubic-bezier(.2,.78,.2,1), opacity 300ms ease;
}
.gr-enquiries-modal.is-open .gr-enquiries-sheet {
    transform: scale(1) translateY(0);
    opacity: 1;
}

.gr-enquiries-sheet-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: fill;
    user-select: none;
    -webkit-user-drag: none;
}

.gr-enquiries-content {
    position: absolute;
    z-index: 2;
    left: 13.5%;
    right: 13.5%;
    top: 10.5%;
    bottom: 13.5%;
    box-sizing: border-box;
    overflow: auto;
    padding: 0 2%;
    color: #2f2118;
}

.gr-enquiries-header {
    text-align: center;
    margin-bottom: 16px;
}
.gr-enquiries-header h2 {
    margin: 0 0 5px;
    color: #2f2118;
    font: 400 clamp(25px, 3vw, 43px)/1.1 "Cinzel", Georgia, serif;
    letter-spacing: .08em;
}
.gr-enquiries-header p {
    margin: 0;
    color: #2f2118;
    font: 500 clamp(17px, 1.8vw, 24px)/1.2 "Cormorant Garamond", Georgia, serif;
}

.gr-enquiries-form label {
    display: block;
    margin-bottom: 5px;
    color: #2f2118;
    font: 400 13px/1.2 "Cinzel", Georgia, serif;
    letter-spacing: .045em;
}

.gr-enquiries-row,
.gr-enquiries-field {
    margin-bottom: 12px;
}

.gr-enquiries-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.gr-enquiries-form input,
.gr-enquiries-form select,
.gr-enquiries-form textarea {
    box-sizing: border-box;
    width: 100%;
    border: 1px solid rgba(77,47,23,.45);
    background: rgba(255,250,232,.42);
    color: #2f2118;
    padding: 9px 11px;
    font: 600 17px/1.2 "Cormorant Garamond", Georgia, serif;
    outline: none;
}
.gr-enquiries-form input:focus,
.gr-enquiries-form select:focus,
.gr-enquiries-form textarea:focus {
    border-color: rgba(70,42,20,.72);
    box-shadow: 0 0 0 2px rgba(94,57,27,.09);
}
.gr-enquiries-form textarea {
    resize: vertical;
    min-height: 128px;
    max-height: 240px;
}

.gr-enquiries-prize-note {
    margin: 0 0 12px;
    padding: 8px 10px;
    border: 1px solid rgba(118,42,30,.34);
    background: rgba(145,47,31,.05);
    color: #6d231b;
    font: 600 16px/1.25 "Cormorant Garamond", Georgia, serif;
    text-align: center;
}

.gr-enquiries-submit,
.gr-enquiries-success button {
    display: block;
    margin: 4px auto 0;
    padding: 10px 18px;
    border: 1px solid rgba(73,45,22,.64);
    background: rgba(84,50,22,.10);
    color: #342116;
    font: 12px/1.2 "Cinzel", Georgia, serif;
    letter-spacing: .045em;
    cursor: pointer;
}
.gr-enquiries-submit:hover,
.gr-enquiries-submit:focus-visible,
.gr-enquiries-success button:hover,
.gr-enquiries-success button:focus-visible {
    background: rgba(84,50,22,.20);
}
.gr-enquiries-submit:disabled {
    opacity: .5;
    cursor: wait;
}

.gr-enquiries-privacy {
    margin: 10px auto 0;
    max-width: 680px;
    text-align: center;
    color: rgba(47,33,24,.78);
    font: 14px/1.25 "Cormorant Garamond", Georgia, serif;
}

.gr-enquiries-status {
    min-height: 1.3em;
    margin: 8px 0 0;
    text-align: center;
    color: #2f2118;
    font: 600 16px/1.25 "Cormorant Garamond", Georgia, serif;
}

.gr-enquiries-success {
    position: absolute;
    inset: 24% 12%;
    z-index: 3;
    text-align: center;
    color: #2f2118;
}
.gr-enquiries-success h3 {
    margin: 0 0 16px;
    font: 400 clamp(24px, 3vw, 38px)/1.15 "Cinzel", Georgia, serif;
    letter-spacing: .06em;
}
.gr-enquiries-success p {
    margin: 0 0 18px;
    font: 500 clamp(18px, 2vw, 25px)/1.3 "Cormorant Garamond", Georgia, serif;
}

.gr-enquiries-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
}

.gr-enquiries-return {
    position: absolute;
    z-index: 4;
    left: 15.0%;
    bottom: 8.2%;
    border: 0;
    background: transparent;
    color: #332116;
    font: 12px/1.2 "Cinzel", Georgia, serif;
    letter-spacing: .055em;
    cursor: pointer;
}
.gr-enquiries-return:hover,
.gr-enquiries-return:focus-visible {
    text-shadow: 0 0 10px rgba(114,74,30,.30);
}

body.gr-enquiries-open { overflow: hidden; }

@media (max-width: 760px) {
    .gr-enquiries-sheet {
        width: min(98vw, calc(84svh * (10 / 7)));
    }
    .gr-enquiries-content {
        left: 12.5%;
        right: 12.5%;
        top: 9.5%;
        bottom: 14.5%;
    }
    .gr-enquiries-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .gr-enquiries-form textarea {
        min-height: 92px;
    }
    .gr-enquiries-return {
        font-size: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gr-enquiries-modal,
    .gr-enquiries-sheet {
        transition-duration: 1ms !important;
    }
}


/* v0.16.6 — Mobile Trials Index typography correction. */
@media (max-width: 760px) {
    .gr-trials-page-left {
        padding: 8.0% 8.2% 8.2% 11.2%;
    }

    .gr-trials-page-right {
        padding: 8.0% 11.2% 8.2% 8.2%;
    }

    .gr-trials-page h1 {
        font-size: clamp(1.05rem, 4.1vw, 1.55rem);
        line-height: 1;
        transform: translateY(.42em);
    }

    .gr-trials-list {
        height: 66%;
    }

    .gr-trials-page-right .gr-trials-list {
        margin-top: 11.5%;
    }

    .gr-trial-entry {
        padding: .08em 6%;
    }

    .gr-trial-label {
        margin-bottom: .12em;
        font-size: clamp(.34rem, 1.8vw, .54rem);
        line-height: 1;
        letter-spacing: .10em;
    }

    .gr-trial-entry h2 {
        max-width: 100%;
        margin: 0 auto;
        font-size: clamp(.57rem, 2.65vw, .88rem);
        line-height: .98;
        letter-spacing: 0;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .gr-trial-difficulty {
        margin-top: .14em;
        font-size: clamp(.39rem, 1.85vw, .58rem);
        line-height: .95;
        letter-spacing: .035em;
    }

    .gr-return-lexicon {
        bottom: 13.4%;
        font-size: clamp(.38rem, 1.9vw, .58rem);
        letter-spacing: .08em;
    }
}

@media (max-width: 430px) {
    .gr-trial-entry h2 {
        font-size: clamp(.50rem, 2.9vw, .76rem);
        line-height: .96;
    }

    .gr-trial-label {
        font-size: clamp(.31rem, 1.9vw, .48rem);
    }

    .gr-trial-difficulty {
        font-size: clamp(.35rem, 1.8vw, .50rem);
    }
}


/* v0.16.7 — Trials Index book-relative mobile typography.
   The Trials book itself is the sizing container, so text follows the displayed
   book rather than relying on viewport width alone. */
.gr-trials-book {
    container-type: inline-size;
    container-name: gr-trials-index;
}

@container gr-trials-index (max-width: 700px) {
    .gr-trials-page-left {
        padding: 7.8% 8.8% 8.4% 11.8%;
    }

    .gr-trials-page-right {
        padding: 7.8% 11.8% 8.4% 8.8%;
    }

    .gr-trials-page-header {
        height: 11.8%;
    }

    .gr-trials-page h1 {
        font-size: 5.1cqw;
        line-height: .96;
        transform: translateY(.30em);
    }

    .gr-trials-list {
        height: 65.5%;
    }

    .gr-trials-page-right .gr-trials-list {
        margin-top: 10.7%;
    }

    .gr-trial-entry {
        padding: 0 7%;
        justify-content: center;
    }

    .gr-trial-label {
        margin-bottom: .06em;
        font-size: 1.55cqw;
        line-height: .95;
        letter-spacing: .08em;
    }

    .gr-trial-entry h2 {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        font-size: 2.75cqw;
        line-height: .92;
        letter-spacing: 0;
        overflow-wrap: break-word;
        word-break: normal;
    }

    .gr-trial-difficulty {
        margin-top: .06em;
        font-size: 1.65cqw;
        line-height: .92;
        letter-spacing: .025em;
    }

    .gr-return-lexicon,
    .gr-trials-next-spread,
    .gr-trials-prev-spread {
        font-size: 1.55cqw;
        line-height: 1;
        letter-spacing: .06em;
    }
}

/* Fallback for browsers without container queries. */
@supports not (container-type: inline-size) {
    @media (max-width: 760px) {
        .gr-trials-page h1 { font-size: 1.15rem !important; }
        .gr-trial-label { font-size: .38rem !important; }
        .gr-trial-entry h2 { font-size: .60rem !important; line-height: .92 !important; }
        .gr-trial-difficulty { font-size: .39rem !important; margin-top: .05em !important; }
        .gr-trial-entry { padding-top: 0 !important; padding-bottom: 0 !important; }
    }
}


/* v0.16.8 — Mobile Trials edge-clearance refinement. */
@container gr-trials-index (max-width: 700px) {
    .gr-trial-entry h2 {
        font-size: 2.65cqw;
        max-width: 96%;
    }

    .gr-trials-page-right .gr-trial-entry {
        padding-left: 8%;
        padding-right: 8%;
    }
}

@supports not (container-type: inline-size) {
    @media (max-width: 760px) {
        .gr-trial-entry h2 {
            font-size: .58rem !important;
            max-width: 96% !important;
        }

        .gr-trials-page-right .gr-trial-entry {
            padding-left: 8% !important;
            padding-right: 8% !important;
        }
    }
}


/* v0.16.9 — Chronicle navigation contrast refinement. */
.gr-chronicle-return,
.gr-chronicle-newer,
.gr-chronicle-older {
    color: #24160d !important;
    font-weight: 600 !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

.gr-chronicle-return:hover,
.gr-chronicle-return:focus-visible,
.gr-chronicle-newer:hover:not(:disabled),
.gr-chronicle-newer:focus-visible:not(:disabled),
.gr-chronicle-older:hover:not(:disabled),
.gr-chronicle-older:focus-visible:not(:disabled) {
    color: #160d07 !important;
    filter: brightness(.92);
    text-shadow: 0 0 8px rgba(83,49,21,.20) !important;
}

.gr-chronicle-newer:disabled,
.gr-chronicle-older:disabled {
    color: #6f5b49 !important;
    font-weight: 500 !important;
    opacity: .34 !important;
    filter: none !important;
    text-shadow: none !important;
}

@media (max-width: 700px) { .gr-register-two-col { grid-template-columns: 1fr; gap: 0; } }

/* v0.16.18 — persistent Trials close control for constrained viewports. */
.gr-trials-close {
    position: absolute;
    z-index: 12;
    top: clamp(8px, 1.2vw, 16px);
    right: clamp(8px, 1.2vw, 16px);
    width: clamp(36px, 4vw, 46px);
    height: clamp(36px, 4vw, 46px);
    display: grid;
    place-items: center;
    margin: 0;
    padding: 0 0 3px;
    border: 1px solid rgba(73, 48, 29, 0.55);
    border-radius: 50%;
    background: rgba(236, 221, 173, 0.90);
    color: #49301d;
    font: 30px/1 Georgia, serif;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
    pointer-events: auto;
}

.gr-trials-close:hover,
.gr-trials-close:focus-visible {
    background: rgba(247, 235, 197, 0.98);
    border-color: rgba(73, 48, 29, 0.85);
    outline: 2px solid rgba(73, 48, 29, 0.55);
    outline-offset: 2px;
}

/* v0.16.19 — persistent individual Trial close control for constrained viewports. */
.gr-trial-close {
    position: absolute;
    z-index: 12;
    top: clamp(8px, 1.2vw, 16px);
    right: clamp(8px, 1.2vw, 16px);
    width: clamp(36px, 4vw, 46px);
    height: clamp(36px, 4vw, 46px);
    display: grid;
    place-items: center;
    margin: 0;
    padding: 0 0 3px;
    border: 1px solid rgba(73, 48, 29, 0.55);
    border-radius: 50%;
    background: rgba(236, 221, 173, 0.90);
    color: #49301d;
    font: 30px/1 Georgia, serif;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
    pointer-events: auto;
}

.gr-trial-close:hover,
.gr-trial-close:focus-visible {
    background: rgba(247, 235, 197, 0.98);
    border-color: rgba(73, 48, 29, 0.85);
    outline: 2px solid rgba(73, 48, 29, 0.55);
    outline-offset: 2px;
}


/* v0.16.20 — consistent persistent close controls for all large book/stage overlays. */
.gr-section-close {
    position: absolute;
    z-index: 16;
    top: clamp(8px, 1.2vw, 16px);
    right: clamp(8px, 1.2vw, 16px);
    width: clamp(36px, 4vw, 46px);
    height: clamp(36px, 4vw, 46px);
    display: grid;
    place-items: center;
    margin: 0;
    padding: 0 0 3px;
    border: 1px solid rgba(73, 48, 29, 0.55);
    border-radius: 50%;
    background: rgba(236, 221, 173, 0.90);
    color: #49301d;
    font: 30px/1 Georgia, serif;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
    pointer-events: auto;
}
.gr-section-close:hover,
.gr-section-close:focus-visible {
    background: rgba(247, 235, 197, 0.98);
    border-color: rgba(73, 48, 29, 0.85);
    outline: 2px solid rgba(73, 48, 29, 0.55);
    outline-offset: 2px;
}


/* v0.16.21 — Scheduled Reveal notice.
   Locked REVEAL controls remain deliberately interactive: selecting one opens
   a clear parchment notice with the configured Reveal date instead of acting
   like a broken/disabled button. */
.gr-trial-reveal-hotspot[data-reveal-available="false"] {
    cursor: pointer;
    pointer-events: auto;
}
.gr-reveal-pending {
    position: fixed;
    inset: 0;
    z-index: 1215;
    display: grid;
    place-items: center;
    padding: clamp(16px, 4vw, 40px);
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 220ms ease, visibility 0s linear 220ms;
}
.gr-reveal-pending[aria-hidden="false"] {
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}
.gr-reveal-pending.is-open { opacity: 1; }
.gr-reveal-pending-backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: rgba(16, 10, 6, .76);
    cursor: pointer;
}
.gr-reveal-pending-panel {
    position: relative;
    z-index: 1;
    width: min(620px, 92vw);
    margin: 0;
    padding: clamp(34px, 5vw, 56px) clamp(28px, 6vw, 64px);
    border: 1px solid rgba(91, 55, 25, .68);
    border-radius: 2px;
    color: #2d1b10;
    text-align: center;
    background:
        radial-gradient(circle at 50% 18%, rgba(255,255,255,.30), transparent 40%),
        linear-gradient(rgba(238,218,174,.97), rgba(213,183,129,.98));
    box-shadow: 0 24px 70px rgba(0,0,0,.55), inset 0 0 38px rgba(104,61,25,.14);
    font-family: "Cormorant Garamond", Georgia, serif;
}
.gr-reveal-pending-panel::before {
    content: "";
    position: absolute;
    inset: 10px;
    border: 1px solid rgba(91, 55, 25, .30);
    pointer-events: none;
}
.gr-reveal-pending-panel h2 {
    position: relative;
    margin: 0 0 .8em;
    font-family: Cinzel, Georgia, serif;
    font-size: clamp(1.15rem, 3.2vw, 1.75rem);
    font-weight: 400;
    letter-spacing: .055em;
    line-height: 1.25;
}
.gr-reveal-pending-copy,
.gr-reveal-pending-counsel {
    position: relative;
    margin: .65em auto 0;
    max-width: 28em;
    font-size: clamp(1.05rem, 2.8vw, 1.35rem);
    line-height: 1.42;
}
.gr-reveal-pending-date {
    font-weight: 600;
}
.gr-reveal-pending-counsel {
    margin-top: .85em;
    font-style: italic;
}
.gr-reveal-pending-close {
    position: absolute;
    z-index: 3;
    top: 8px;
    right: 12px;
    width: 38px;
    height: 38px;
    margin: 0;
    padding: 0;
    border: 0;
    color: #3b2415;
    background: transparent;
    font-family: Georgia, serif;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
}
.gr-reveal-pending-close:hover,
.gr-reveal-pending-close:focus-visible {
    color: #111;
}
.gr-reveal-pending-close:focus-visible {
    outline: 2px solid rgba(92,54,24,.72);
    outline-offset: 2px;
}
body.gr-reveal-pending-open { overflow: hidden; }
@media (prefers-reduced-motion: reduce) {
    .gr-reveal-pending { transition-duration: 1ms !important; }
}

/* v0.16.24 — Pyramidagrams. */
.gr-menu-hotspot-pyramidagrams {
    left: 19%; top: 39.6%; width: 25%; height: 9%;
    display:flex; align-items:center; justify-content:center;
}
.gr-menu-visible-label {
    font-family:'Cinzel', Georgia, serif;
    font-size:clamp(15px,1.70vw,34px);
    letter-spacing:.035em;
    color:#17100a;
    text-shadow:0 1px rgba(255,255,255,.22);
    white-space:nowrap;
    pointer-events:none;
}
.gr-menu-hotspot-pyramidagrams:hover .gr-menu-visible-label,
.gr-menu-hotspot-pyramidagrams:focus-visible .gr-menu-visible-label { filter:brightness(1.5); }
.gr-menu-hover-overlay-pyramidagrams { display:none; }

.gr-pyramidagrams-modal,.gr-pyramidagram-modal { position:fixed; inset:0; z-index:10020; opacity:0; pointer-events:none; transition:opacity .34s ease; }
.gr-pyramidagrams-modal[aria-hidden="false"],.gr-pyramidagram-modal[aria-hidden="false"] { pointer-events:auto; }
.gr-pyramidagrams-modal.is-open,.gr-pyramidagram-modal.is-open { opacity:1; }
.gr-pyramidagrams-backdrop,.gr-pyramidagram-backdrop { position:absolute; inset:0; border:0; background:rgba(4,3,2,.84); cursor:pointer; }
.gr-pyramidagrams-book { position:absolute; left:50%; top:50%; transform:translate(-50%,-48%) scale(.985); width:min(96vw,calc(92svh * 1.428571)); aspect-ratio:10/7; transition:transform .34s ease; }
.gr-pyramidagrams-modal.is-open .gr-pyramidagrams-book { transform:translate(-50%,-50%) scale(1); }
.gr-pyramidagrams-book-image { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.gr-pyramidagrams-book-content { position:absolute; inset:0; display:grid; grid-template-columns:1fr 1fr; column-gap:3%; padding-left:12%; padding-right:11%; box-sizing:border-box; }
.gr-pyramidagrams-page { position:relative; box-sizing:border-box; min-width:0; padding-top:14%; padding-bottom:11%; }
.gr-pyramidagrams-page-left { padding-left:5%; padding-right:3%; }
.gr-pyramidagrams-page-right { padding-left:5%; padding-right:5%; padding-top:14%; }
.gr-pyramidagrams-page h1 { margin:0; text-align:center; font-family:'Cinzel',Georgia,serif; font-weight:400; font-size:clamp(18px,2.3vw,42px); color:#24170d; }
.gr-pyramidagrams-intro { margin:.3em 0 1.4em; text-align:center; font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(12px,1.35vw,25px); letter-spacing:.12em; color:#3b2817; }
.gr-pyramidagrams-index { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:minmax(2.15em,auto); gap:clamp(8px,.8vw,15px) clamp(8px,.85vw,16px); align-content:start; margin-top:.5em; }
.gr-pyramidagrams-entry { border:0; background:transparent; padding:.25em .1em; font-family:'Cinzel',Georgia,serif; font-size:clamp(14px,1.55vw,29px); color:#24170d; cursor:pointer; border-bottom:1px solid transparent; }
.gr-pyramidagrams-entry:hover,.gr-pyramidagrams-entry:focus-visible { color:#6c451e; border-bottom-color:#6c451e; outline:none; }
.gr-pyramidagrams-close { position:absolute; z-index:8; right:-3.8%; top:2.0%; width:clamp(36px,4vw,46px); height:clamp(36px,4vw,46px); display:grid; place-items:center; margin:0; padding:0 0 3px; border:1px solid rgba(73,48,29,.55); border-radius:50%; background:rgba(236,221,173,.90); color:#49301d; font:30px/1 Georgia,serif; cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,.28); }
.gr-pyramidagrams-close:hover,.gr-pyramidagrams-close:focus-visible { background:rgba(247,235,197,.98); border-color:rgba(73,48,29,.85); outline:2px solid rgba(73,48,29,.55); outline-offset:2px; }
.gr-pyramidagrams-return,.gr-pyramidagrams-prev,.gr-pyramidagrams-next { position:absolute; bottom:10%; border:0; background:transparent; font-family:'Cinzel',Georgia,serif; font-size:clamp(11px,1.05vw,19px); font-weight:500; color:#392413; opacity:.88; cursor:pointer; }
.gr-pyramidagrams-return { left:8%; }
.gr-pyramidagrams-prev { right:2%; }
.gr-pyramidagrams-next { right:20%; }
.gr-pyramidagrams-return:hover,.gr-pyramidagrams-prev:hover,.gr-pyramidagrams-next:hover,.gr-pyramidagrams-return:focus-visible,.gr-pyramidagrams-prev:focus-visible,.gr-pyramidagrams-next:focus-visible { opacity:1; text-decoration:underline; outline:none; }
.gr-pyramidagrams-next:disabled { opacity:.28; cursor:default; text-decoration:none; }
body.gr-pyramidagrams-open,body.gr-pyramidagram-open { overflow:hidden; }

.gr-pyramidagram-stage { position:absolute; left:50%; top:50%; transform:translate(-50%,-48%) scale(.985); height:min(96svh,960px); aspect-ratio:9/16; transition:transform .34s ease; }
.gr-pyramidagram-modal.is-open .gr-pyramidagram-stage { transform:translate(-50%,-50%) scale(1); }
.gr-pyramidagram-art { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.gr-pyramidagram-close { position:absolute; z-index:5; right:2.5%; top:1.2%; width:36px; height:36px; border:0; border-radius:50%; background:rgba(20,14,8,.75); color:#d9b56f; font-size:27px; line-height:1; cursor:pointer; }
.gr-pyramidagram-number { position:absolute; z-index:3; left:7.2%; top:7.0%; font-family:'Cinzel',Georgia,serif; font-size:clamp(12px,2.1vh,22px); font-weight:600; color:#171008; text-shadow:0 1px 0 rgba(255,235,190,.28); opacity:.96; }
.gr-pyramidagram-letter { position:absolute; z-index:3; transform:translate(-50%,-50%); font-family:'Cinzel',Georgia,serif; font-size:clamp(42px,9.2vh,92px); line-height:1; color:#050403; }
.gr-pyramidagram-letter-1{left:50%;top:32.0%}.gr-pyramidagram-letter-2{left:39.6%;top:43.5%}.gr-pyramidagram-letter-3{left:60.5%;top:43.5%}
.gr-pyramidagram-letter-4{left:29.4%;top:55.0%}.gr-pyramidagram-letter-5{left:50%;top:55.0%}.gr-pyramidagram-letter-6{left:70.6%;top:55.0%}
.gr-pyramidagram-letter-7{left:19.2%;top:66.6%}.gr-pyramidagram-letter-8{left:39.7%;top:66.6%}.gr-pyramidagram-letter-9{left:60.3%;top:66.6%}.gr-pyramidagram-letter-10{left:80.8%;top:66.6%}
.gr-pyramidagram-answer { position:absolute; z-index:4; left:13%; right:13%; top:74.2%; height:7.4%; display:flex; align-items:center; justify-content:center; opacity:0; font-family:'Cinzel',Georgia,serif; font-size:clamp(24px,5.2vh,52px); letter-spacing:.04em; color:#1c120a; background:rgba(226,191,132,.97); border-radius:8px; transition:opacity .2s ease; }
.gr-pyramidagram-answer.is-revealed { opacity:1; }
.gr-pyramidagram-reveal { position:absolute; z-index:4; left:28%; right:28%; top:87.2%; height:9.2%; border:0; background:transparent; cursor:pointer; }
.gr-pyramidagram-reveal:focus-visible { outline:2px solid rgba(218,178,92,.9); outline-offset:-5px; }

@media (max-width:700px) {
  .gr-pyramidagrams-book { width:99vw; }
  .gr-pyramidagrams-index { grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px 4px; }
  .gr-pyramidagrams-book-content { padding-left:9%; padding-right:8%; column-gap:3%; }
  .gr-pyramidagrams-page-left,.gr-pyramidagrams-page-right { padding-left:3%; padding-right:3%; }
  .gr-pyramidagrams-entry { font-size:clamp(10px,2.7vw,17px); }
}
@media (prefers-reduced-motion:reduce){.gr-pyramidagrams-modal,.gr-pyramidagram-modal,.gr-pyramidagrams-book,.gr-pyramidagram-stage{transition-duration:1ms!important}}

/* v0.16.32 — Numberids. */
.gr-menu-hotspot-numberids{left:55%;top:39.6%;width:25%;height:9%;display:flex;align-items:center;justify-content:center}.gr-menu-hotspot-numberids:hover .gr-menu-visible-label,.gr-menu-hotspot-numberids:focus-visible .gr-menu-visible-label{filter:brightness(1.5)}.gr-menu-hover-overlay-numberids{display:none}
.gr-numberids-modal,.gr-numberid-modal{position:fixed;inset:0;z-index:10020;opacity:0;pointer-events:none;transition:opacity .34s ease}.gr-numberids-modal[aria-hidden="false"],.gr-numberid-modal[aria-hidden="false"]{pointer-events:auto}.gr-numberids-modal.is-open,.gr-numberid-modal.is-open{opacity:1}.gr-numberids-backdrop,.gr-numberid-backdrop{position:absolute;inset:0;border:0;background:rgba(4,3,2,.84);cursor:pointer}
.gr-numberids-book{position:absolute;left:50%;top:50%;transform:translate(-50%,-48%) scale(.985);width:min(96vw,calc(92svh * 1.428571));aspect-ratio:10/7;transition:transform .34s ease}.gr-numberids-modal.is-open .gr-numberids-book{transform:translate(-50%,-50%) scale(1)}.gr-numberids-book-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.gr-numberids-book-content{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;column-gap:3%;padding-left:12%;padding-right:11%;box-sizing:border-box}.gr-numberids-page{position:relative;box-sizing:border-box;min-width:0;padding-top:14%;padding-bottom:11%}.gr-numberids-page-left{padding-left:5%;padding-right:3%}.gr-numberids-page-right{padding-left:5%;padding-right:5%;padding-top:14%}
.gr-numberids-page h1{margin:0;text-align:center;font-family:'Cinzel',Georgia,serif;font-weight:400;font-size:clamp(18px,2.3vw,42px);color:#24170d}.gr-numberids-intro{margin:.3em 0 1.4em;text-align:center;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(12px,1.35vw,25px);letter-spacing:.12em;color:#3b2817}.gr-numberids-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(2.15em,auto);gap:clamp(8px,.8vw,15px) clamp(8px,.85vw,16px);align-content:start;margin-top:.5em}.gr-numberids-entry{border:0;background:transparent;padding:.25em .1em;font-family:'Cinzel',Georgia,serif;font-size:clamp(14px,1.55vw,29px);color:#24170d;cursor:pointer;border-bottom:1px solid transparent}.gr-numberids-entry:hover,.gr-numberids-entry:focus-visible{color:#6c451e;border-bottom-color:#6c451e;outline:none}
.gr-numberids-close{position:absolute;z-index:8;right:-3.8%;top:2%;width:clamp(36px,4vw,46px);height:clamp(36px,4vw,46px);display:grid;place-items:center;margin:0;padding:0 0 3px;border:1px solid rgba(73,48,29,.55);border-radius:50%;background:rgba(236,221,173,.90);color:#49301d;font:30px/1 Georgia,serif;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.28)}.gr-numberids-return,.gr-numberids-prev,.gr-numberids-next{position:absolute;bottom:10%;border:0;background:transparent;font-family:'Cinzel',Georgia,serif;font-size:clamp(11px,1.05vw,19px);font-weight:500;color:#392413;opacity:.88;cursor:pointer}.gr-numberids-return{left:8%}.gr-numberids-prev{right:2%}.gr-numberids-next{right:20%}.gr-numberids-next:disabled{opacity:.28;cursor:default}
body.gr-numberids-open,body.gr-numberid-open{overflow:hidden}.gr-numberid-stage{position:absolute;left:50%;top:50%;transform:translate(-50%,-48%) scale(.985);height:min(96svh,960px);aspect-ratio:9/16;transition:transform .34s ease}.gr-numberid-modal.is-open .gr-numberid-stage{transform:translate(-50%,-50%) scale(1)}.gr-numberid-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.gr-numberid-close{position:absolute;z-index:5;right:2.5%;top:1.2%;width:36px;height:36px;border:0;border-radius:50%;background:rgba(20,14,8,.75);color:#d9b56f;font-size:27px;line-height:1;cursor:pointer}.gr-numberid-number{position:absolute;z-index:3;left:7.2%;top:7%;font-family:'Cinzel',Georgia,serif;font-size:clamp(12px,2.1vh,22px);font-weight:600;color:#171008;opacity:.96}
.gr-numberid-cell{position:absolute;z-index:3;transform:translate(-50%,-50%);font-family:Arial,sans-serif;font-size:clamp(38px,8vh,82px);line-height:1;color:#050403}.gr-numberid-cell-1{left:50%;top:30.2%}.gr-numberid-cell-2{left:39.6%;top:40.1%}.gr-numberid-cell-3{left:60.5%;top:40.1%}.gr-numberid-cell-4{left:29.4%;top:49.7%}.gr-numberid-cell-5{left:50%;top:49.7%}.gr-numberid-cell-6{left:70.6%;top:49.7%}.gr-numberid-cell-7{left:19.2%;top:59.5%}.gr-numberid-cell-8{left:39.7%;top:59.5%}.gr-numberid-cell-9{left:60.3%;top:59.5%}.gr-numberid-cell-10{left:80.8%;top:59.5%}.gr-numberid-instruction{position:absolute;z-index:4;left:12%;right:12%;top:67.4%;height:10.5%;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 4%;box-sizing:border-box;font-family:'Cinzel',Georgia,serif;font-size:clamp(16px,3.2vh,34px);font-weight:600;line-height:1.25;color:#171008}.gr-numberid-instruction.is-revealed{font-size:clamp(38px,8vh,82px)}.gr-numberid-reveal{position:absolute;z-index:4;left:25%;right:25%;top:81.2%;height:8.8%;border:0;background:transparent;cursor:pointer}
@media(max-width:700px){.gr-numberids-book{width:99vw}.gr-numberids-index{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px 4px}.gr-numberids-book-content{padding-left:9%;padding-right:8%;column-gap:3%}.gr-numberids-page-left,.gr-numberids-page-right{padding-left:3%;padding-right:3%}.gr-numberids-entry{font-size:clamp(10px,2.7vw,17px)}}

/* v0.16.33 — Numberids: centre dynamic values within the stone blocks. */
.gr-numberid-cell{
  transform:none;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  width:18.8%;
  height:9.2%;
  line-height:1;
  box-sizing:border-box;
}
.gr-numberid-cell-1{left:40.6%;top:26.1%}
.gr-numberid-cell-2{left:30.2%;top:35.8%}
.gr-numberid-cell-3{left:51.1%;top:35.8%}
.gr-numberid-cell-4{left:20.0%;top:45.5%}
.gr-numberid-cell-5{left:40.6%;top:45.5%}
.gr-numberid-cell-6{left:61.2%;top:45.5%}
.gr-numberid-cell-7{left:9.8%;top:55.2%}
.gr-numberid-cell-8{left:30.3%;top:55.2%}
.gr-numberid-cell-9{left:50.9%;top:55.2%}
.gr-numberid-cell-10{left:71.4%;top:55.2%}


/* v0.16.34 — Numberids: calibrated centres of the ten engraved writing faces. */
.gr-numberid-cell{
  transform:translate(-50%,-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  width:17.8%;
  height:8.6%;
  line-height:1;
  box-sizing:border-box;
}
.gr-numberid-cell-1{left:50.4%;top:30.7%}
.gr-numberid-cell-2{left:40.2%;top:40.6%}
.gr-numberid-cell-3{left:60.3%;top:40.6%}
.gr-numberid-cell-4{left:30.8%;top:50.5%}
.gr-numberid-cell-5{left:50.2%;top:50.5%}
.gr-numberid-cell-6{left:69.7%;top:50.5%}
.gr-numberid-cell-7{left:22.4%;top:60.3%}
.gr-numberid-cell-8{left:41.1%;top:60.3%}
.gr-numberid-cell-9{left:59.6%;top:60.3%}
.gr-numberid-cell-10{left:78.1%;top:60.3%}

/* v0.16.35 — The Raven's Almanac. */
.gr-menu-hotspot-almanac{left:25%;top:49.0%;width:25%;height:9%;display:flex;align-items:center;justify-content:center}.gr-menu-hotspot-almanac:hover .gr-menu-visible-label,.gr-menu-hotspot-almanac:focus-visible .gr-menu-visible-label{filter:brightness(1.5)}.gr-menu-hover-overlay-almanac{display:none}
.gr-almanac-modal{position:fixed;inset:0;z-index:10030;opacity:0;pointer-events:none;overflow-y:auto;transition:opacity .34s ease}.gr-almanac-modal[aria-hidden="false"]{pointer-events:auto}.gr-almanac-modal.is-open{opacity:1}.gr-almanac-backdrop{position:fixed;inset:0;border:0;background:rgba(4,3,2,.86);cursor:pointer}.gr-almanac-stage{position:relative;z-index:1;width:min(96vw,789px);aspect-ratio:789/2048;margin:3vh auto;box-shadow:0 14px 45px rgba(0,0,0,.45)}.gr-almanac-art{position:absolute;inset:0;width:100%;height:100%;display:block}.gr-almanac-close{position:fixed;z-index:5;right:clamp(10px,2vw,30px);top:clamp(10px,2vw,30px);width:42px;height:42px;border:1px solid rgba(73,48,29,.55);border-radius:50%;background:rgba(236,221,173,.94);color:#49301d;font:30px/1 Georgia,serif;cursor:pointer}
.gr-almanac-date,.gr-almanac-h,.gr-almanac-t,.gr-almanac-note{position:absolute;z-index:3;color:#25170f}.gr-almanac-date{left:20%;right:20%;top:22.3%;text-align:center;font-family:'Cinzel',Georgia,serif;font-size:clamp(20px,4.2vw,42px);letter-spacing:.06em;color:#6b211c}.gr-almanac-image{position:absolute;z-index:2;left:9.5%;width:28.7%;height:14.0%;object-fit:cover}.gr-almanac-image-1{top:29.7%}.gr-almanac-image-2{top:47.1%}.gr-almanac-image-3{top:64.7%}.gr-almanac-h{left:42.2%;right:10%;margin:0;font-family:'Cinzel',Georgia,serif;font-weight:600;font-size:clamp(13px,2.5vw,25px);line-height:1.15;color:#6b211c}.gr-almanac-h1{top:28.8%}.gr-almanac-h2{top:46.2%}.gr-almanac-h3{top:63.8%}.gr-almanac-t{left:42.2%;right:9.5%;margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(12px,2.05vw,20px);line-height:1.25}.gr-almanac-t1{top:34.1%}.gr-almanac-t2{top:51.5%}.gr-almanac-t3{top:69.1%}.gr-almanac-note{left:24.5%;right:10%;top:84.2%;margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(12px,2vw,20px);line-height:1.25}.gr-almanac-prev,.gr-almanac-next{position:absolute;z-index:4;bottom:5.7%;height:3.2%;border:0;background:transparent;cursor:pointer}.gr-almanac-prev{left:14%;width:28%}.gr-almanac-next{right:14%;width:28%}body.gr-almanac-open{overflow:hidden}
@media(max-width:600px){.gr-almanac-stage{width:100vw;margin:0 auto}.gr-almanac-close{width:38px;height:38px;font-size:26px}.gr-almanac-t{font-size:clamp(11px,2.55vw,16px)}.gr-almanac-h{font-size:clamp(12px,3vw,19px)}.gr-almanac-note{font-size:clamp(11px,2.5vw,16px)}}

/* v0.16.36 — Almanac Lexicon alignment: full-size original-menu treatment. */
.gr-menu-hotspot-almanac {
    left: 22.8%;
    top: 49.5%;
    width: 24.0%;
    height: 9.0%;
}
.gr-menu-hotspot-almanac .gr-menu-visible-label {
    font-size: clamp(18px, 2.10vw, 42px);
    letter-spacing: .025em;
}

/* v0.16.37 — final Almanac Lexicon optical centring correction. */
.gr-menu-hotspot-almanac { left: 21.3%; }

/* v0.16.38 — Almanac Lexicon final 12px-equivalent left nudge. */
.gr-menu-hotspot-almanac { left: 19.8%; }


/* v0.16.42 — Raven's Note hierarchy and divider clearance. */
.gr-almanac-note-heading{position:absolute;z-index:3;left:24.5%;right:10%;top:81.8%;margin:0;font-family:'Cinzel',Georgia,serif;font-weight:600;font-size:clamp(13px,2.5vw,25px);line-height:1.15;color:#6b211c}
.gr-almanac-note{top:85.2%;}
@media(max-width:600px){.gr-almanac-note-heading{font-size:clamp(12px,3vw,19px)}}

/* v0.16.44 — raise Raven's Note body for bottom-divider clearance. */
.gr-almanac-note{top:84.2%;}

/* v0.16.44 — lower two-line Raven's Note body for balanced clearance. */
.gr-almanac-note{top:84.75%;}

/* v0.16.46 — inset Almanac story images inside the baked ornamental frames. */
.gr-almanac-image{left:10.8%;width:26.1%;height:12.7%;}
.gr-almanac-image-1{top:30.35%;}
.gr-almanac-image-2{top:47.75%;}
.gr-almanac-image-3{top:65.35%;}

/* v0.16.46 — measured Almanac image aperture correction.
   The artwork's inner frame begins at ~11% of the 789px master width.
   Images are inset beyond that line and clipped at the ornamental corners
   so the baked gold frame remains visible on all four sides. */
.gr-almanac-image{
  left:11.55%;
  width:24.85%;
  height:11.75%;
  object-fit:cover;
  clip-path:polygon(5.5% 0,94.5% 0,100% 5.5%,100% 94.5%,94.5% 100%,5.5% 100%,0 94.5%,0 5.5%);
}
.gr-almanac-image-1{top:30.55%;}
.gr-almanac-image-2{top:47.95%;}
.gr-almanac-image-3{top:65.55%;}


/* v0.16.48 — structural Almanac image framing: dynamic art below a transparent foreground frame overlay. */
.gr-almanac-frames-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;display:block;}
.gr-almanac-date,.gr-almanac-h,.gr-almanac-t,.gr-almanac-note,.gr-almanac-note-heading{z-index:4;}
.gr-almanac-image{z-index:2;left:10.8%;width:26.7%;height:12.7%;object-fit:cover;}
.gr-almanac-image-1{top:29.2%;}
.gr-almanac-image-2{top:46.2%;}
.gr-almanac-image-3{top:63.4%;}

/* v0.16.48 — final measured Almanac image apertures.
   Dynamic images sit wholly inside the clear parchment opening; no frame overlay. */
.gr-almanac-frames-overlay{display:none!important;}
.gr-almanac-image{
  z-index:2;
  left:11.60%;
  width:25.20%;
  height:11.80%;
  object-fit:cover;
  clip-path:none;
}
.gr-almanac-image-1{top:30.00%;}
.gr-almanac-image-2{top:47.40%;}
.gr-almanac-image-3{top:65.00%;}

/* v0.16.49 — conservative Almanac image inset.
   Deliberately leaves a visible parchment margin inside every ornamental frame. */
.gr-almanac-image{
  z-index:2;
  left:12.55%;
  width:23.10%;
  height:10.95%;
  object-fit:cover;
  clip-path:none;
}
.gr-almanac-image-1{top:30.42%;}
.gr-almanac-image-2{top:47.82%;}
.gr-almanac-image-3{top:65.42%;}

/* v0.16.50 — definitive Almanac image aperture rule.
   IMPORTANT used intentionally to guarantee this rule wins over all earlier accumulated aperture experiments. */
.gr-almanac-image{
  left:12.55% !important;
  width:23.10% !important;
  height:10.95% !important;
  object-fit:cover !important;
  clip-path:none !important;
}
.gr-almanac-image-1{top:30.42% !important;}
.gr-almanac-image-2{top:47.82% !important;}
.gr-almanac-image-3{top:65.42% !important;}


/* v0.16.51 — final visual centring calibration from active v0.16.50 render.
   Slightly larger; shifted right and down while retaining parchment reveal. */
.gr-almanac-image{
  left:12.70% !important;
  width:24.40% !important;
  height:11.80% !important;
}
.gr-almanac-image-1{top:30.55% !important;}
.gr-almanac-image-2{top:47.95% !important;}
.gr-almanac-image-3{top:65.55% !important;}

/* v0.16.54 — Quick Trials Lexicon entrance. Mirrors the Almanac/Numberids live-label treatment. */
.gr-menu-hotspot-quick-trials{left:55%;top:49.5%;width:25%;height:9%;display:flex;align-items:center;justify-content:center}
.gr-menu-hotspot-quick-trials:hover .gr-menu-visible-label,.gr-menu-hotspot-quick-trials:focus-visible .gr-menu-visible-label{filter:brightness(1.5)}
.gr-menu-hover-overlay-quick-trials{display:none}
.gr-menu-hotspot-quick-trials .gr-menu-visible-label{font-size:clamp(16px,1.85vw,37px);letter-spacing:.02em}
