html[data-gh-motion='reduced'] *,
html[data-gh-motion='reduced'] *::before,
html[data-gh-motion='reduced'] *::after {
    animation-duration: 0.18s !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.18s !important;
    scroll-behavior: auto !important;
}

html[data-gh-motion='off'] *,
html[data-gh-motion='off'] *::before,
html[data-gh-motion='off'] *::after,
html[data-gh-comfort='calm'] *,
html[data-gh-comfort='calm'] *::before,
html[data-gh-comfort='calm'] *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
}

html[data-gh-motion='off'] [data-reveal],
html[data-gh-motion='reduced'] [data-reveal],
html[data-gh-comfort='calm'] [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
}

html[data-gh-motion='off'] .home-entry-video,
html[data-gh-comfort='calm'] .home-entry-video {
    opacity: 0 !important;
}

html[data-gh-comfort='calm'] {
    --shadow-sm: 0 1px 4px rgb(var(--rgb-black) / 0.08);
    --shadow-md: 0 4px 14px rgb(var(--rgb-black) / 0.1);
    --shadow-lg: 0 8px 24px rgb(var(--rgb-black) / 0.12);
}

html[data-gh-comfort='calm'] body {
    background: var(--cream);
}

html[data-gh-comfort='calm'] .home-entry-overlay {
    background: rgb(15 23 42 / 0.78) !important;
}

html[data-gh-comfort='calm'] * {
    text-shadow: none !important;
}

html[data-gh-contrast='high'] {
    --color-primary: #06133d;
    --color-primary-strong: #020817;
    --color-primary-hover: #0b1f5f;
    --color-text-mid: #111827;
    --color-text-soft: #1f2937;
    --color-muted: #273449;
    --color-border-medium: rgb(2 8 23 / 0.42);
    --color-surface-card: var(--paper);
    --color-surface-card-strong: var(--paper);
    --color-surface-panel: var(--paper);
    --color-surface-panel-alt: var(--cream);
}

html[data-gh-contrast='high'] body {
    color: var(--ink);
    background: var(--paper);
}

html[data-gh-contrast='high'] a:not(.btn-modern):not(.btn-primary):not(.btn-outline),
html[data-gh-contrast='high'] summary,
html[data-gh-contrast='high'] button:not(.gh-access-option):not(.gh-access-close):not(.accessibility-trigger):not(.scroll-top) {
    text-decoration: none;
}

html[data-gh-contrast='high'] a:focus-visible,
html[data-gh-contrast='high'] button:focus-visible,
html[data-gh-contrast='high'] input:focus-visible,
html[data-gh-contrast='high'] textarea:focus-visible,
html[data-gh-contrast='high'] select:focus-visible,
html[data-gh-contrast='high'] summary:focus-visible {
    outline: 4px solid #ffbf00;
    outline-offset: 4px;
}

html[data-gh-color='grayscale'] body > :not(.accessibility-trigger):not(.gh-access-panel):not(.gh-access-backdrop):not(.gh-screen-magnifier) {
    filter: grayscale(1) contrast(1.08);
}

body.gh-access-body-locked {
    overflow: hidden;
    touch-action: none;
}

body.gh-access-body-locked .gh-access-panel {
    touch-action: auto;
}

.gh-access-panel {
    position: fixed;
    right: var(--gh-floating-button-right, 2rem);
    bottom: calc(var(--gh-floating-button-bottom, 2rem) + var(--gh-floating-button-size, 3rem) + var(--gh-floating-button-size, 3rem) + var(--gh-floating-button-gap, 0.75rem) + var(--gh-floating-button-gap, 0.75rem));
    z-index: 1200;
    width: min(92vw, 540px);
    overflow-y: auto;
    max-height: calc(100dvh - 180px);
    box-sizing: border-box;
    padding: 1rem;
    border: 1px solid rgb(15 23 42 / 0.16);
    border-radius: 0;
    background: rgb(255 255 255 / 0.985);
    color: var(--ink);
    box-shadow: 0 22px 70px rgb(15 23 42 / 0.24);
}

.gh-access-panel[hidden] {
    display: none;
}

.gh-access-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.8rem;
}

.gh-access-panel-body {
    display: grid;
    gap: 0.7rem;
}

.gh-access-kicker {
    margin: 0 0 0.16rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-primary);
}

.gh-access-panel h2,
.gh-access-panel h3,
.gh-access-panel p {
    color: inherit;
}

.gh-access-panel h2 {
    margin: 0;
    font-size: 1.3rem;
    line-height: 1.15;
}

.gh-access-panel h3 {
    margin: 0 0 0.48rem;
    font-size: 0.9rem;
}

.gh-access-close {
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgb(15 23 42 / 0.14);
    border-radius: 0;
    background: var(--cream);
    color: var(--ink);
    cursor: pointer;
    font-size: 1.55rem;
    line-height: 1;
}

.gh-access-settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
}

.gh-access-section {
    min-width: 0;
    padding: 0.72rem;
    border: 1px solid rgb(15 23 42 / 0.1);
    border-radius: 0;
    background: var(--paper);
}

.gh-access-section--quick {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem;
    padding: 0;
    border: 0;
    background: transparent;
}

.gh-access-section--color {
    grid-column: 1 / -1;
}

.gh-access-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem;
}

.gh-access-options--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gh-access-options--wrap {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.gh-access-option {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.46rem 0.58rem;
    border: 1px solid rgb(15 23 42 / 0.16);
    border-radius: 0;
    background: var(--cream);
    color: var(--ink);
    cursor: pointer;
    font: inherit;
    font-size: 0.8rem;
    font-weight: 750;
    line-height: 1.15;
    text-align: center;
}

.gh-access-option:hover,
.gh-access-option:focus-visible {
    border-color: var(--color-primary);
    background: var(--sand);
}

.gh-access-option.is-active {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: var(--paper);
}

.gh-access-option--wide {
    width: 100%;
}

.gh-access-option--ghost {
    background: var(--paper);
}

.gh-access-note {
    margin: 0;
    font-size: 0.76rem;
    line-height: 1.45;
    color: var(--muted);
}

.gh-screen-magnifier {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1198;
    overflow: hidden;
    border: 2px solid rgb(255 255 255 / 0.94);
    border-radius: 0;
    background: var(--paper);
    box-shadow: 0 16px 42px rgb(15 23 42 / 0.28), inset 0 0 0 1px rgb(15 23 42 / 0.18);
    opacity: 0;
    pointer-events: none;
    contain: strict;
    will-change: transform;
}

.gh-screen-magnifier.is-visible {
    opacity: 1;
}

.gh-screen-magnifier::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 0;
    background: linear-gradient(135deg, rgb(255 255 255 / 0.18), transparent 38%);
    pointer-events: none;
}

.gh-screen-magnifier-copy {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100vw;
    min-height: 100vh;
    transform-origin: 0 0;
    pointer-events: none;
    user-select: none;
}

.gh-screen-magnifier-copy--page {
    z-index: 1;
    background: var(--paper);
}

.gh-screen-magnifier-copy--fixed {
    z-index: 2;
    overflow: visible;
    background: transparent;
}

.gh-screen-magnifier-copy--fixed header,
.gh-screen-magnifier-copy--fixed [role='banner'] {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    transform: none !important;
}

.gh-screen-magnifier-copy [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
}

html[data-gh-motion='off'] .gh-screen-magnifier,
html[data-gh-comfort='calm'] .gh-screen-magnifier {
    transition: none !important;
}

@media (max-width: 600px) {
    .gh-access-panel {
        right: 1rem;
        bottom: calc(var(--gh-floating-button-bottom, 1rem) + var(--gh-floating-button-size, 2.8rem) + var(--gh-floating-button-gap, 0.65rem) + 0.75rem);
        width: calc(100vw - 2rem);
        max-height: min(78dvh, calc(100dvh - 7.2rem));
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    .gh-access-settings-grid,
    .gh-access-section--quick,
    .gh-access-options,
    .gh-access-options--two,
    .gh-access-options--wrap {
        grid-template-columns: 1fr;
    }
}

@media (pointer: coarse) {
    .gh-screen-magnifier {
        display: none;
    }
}


