.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 0 28px;
    border: 1px solid var(--color-gold);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.19em;
    text-transform: uppercase;
    transition: transform 220ms var(--ease), box-shadow 220ms var(--ease), background 220ms var(--ease);
}

.button--primary {
    background: var(--color-ink);
    color: var(--color-champagne);
    box-shadow: 0 18px 42px rgba(37, 35, 35, 0.16);
}

.button--light {
    background: rgba(255, 247, 233, 0.92);
    color: var(--color-ink);
    border-color: rgba(255, 247, 233, 0.78);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.24);
}

.button:hover,
.button:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 24px 60px rgba(37, 35, 35, 0.2);
}

.button-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--color-ink);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.button-link--light {
    color: rgba(255, 247, 233, 0.94);
    text-shadow: 0 10px 32px rgba(0, 0, 0, 0.24);
}

.button-link::after {
    content: "→";
    color: var(--color-gold-deep);
    font-size: 1.2rem;
    line-height: 1;
}

.button-link--light::after {
    color: var(--color-champagne);
}


/* ---------------------------------------------------------
   Section Jump Controls
--------------------------------------------------------- */

.section-jump {
    position: absolute;
    right: var(--shell-x);
    bottom: clamp(24px, 4vh, 44px);
    z-index: 8;
    display: grid;
    gap: 10px;
}

.section-jump__button {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(157, 122, 61, 0.34);
    background: rgba(255, 250, 242, 0.78);
    color: var(--color-ink);
    font-size: 1.18rem;
    line-height: 1;
    box-shadow: 0 14px 40px rgba(37, 35, 35, 0.12);
    backdrop-filter: blur(14px);
    transition: transform 180ms var(--ease), background 180ms var(--ease), border-color 180ms var(--ease);
}

.section-jump__button:hover,
.section-jump__button:focus-visible {
    transform: translateY(-2px);
    background: rgba(255, 250, 242, 0.94);
    border-color: rgba(157, 122, 61, 0.58);
}

.arrival-hero .section-jump__button {
    background: rgba(37, 35, 35, 0.42);
    color: #fff7e9;
    border-color: rgba(255, 247, 233, 0.46);
}

.section-jump__button--top {
    font-size: 1.05rem;
}


/* ---------------------------------------------------------
   v0.6 Global Section Navigator
--------------------------------------------------------- */

.section-jump {
    display: none !important;
}

.global-section-nav {
    position: fixed;
    right: max(24px, calc(var(--shell-x) * 0.55));
    bottom: 28px;
    z-index: 120;
    display: grid;
    gap: 10px;
}

.global-section-nav__button {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(157, 122, 61, 0.34);
    background: rgba(255, 250, 242, 0.82);
    color: var(--color-ink);
    font-size: 1.12rem;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 14px 40px rgba(37, 35, 35, 0.12);
    backdrop-filter: blur(14px);
    transition: transform 180ms var(--ease), opacity 180ms var(--ease), background 180ms var(--ease);
}

.global-section-nav__button:hover,
.global-section-nav__button:focus-visible {
    transform: translateY(-2px);
    background: rgba(255, 250, 242, 0.96);
}

.global-section-nav__button[disabled] {
    opacity: 0.28;
    pointer-events: none;
}


/* v0.7 top-return state */
.global-section-nav__button[data-mode="top"] {
    font-size: 1.28rem;
    background: rgba(37, 35, 35, 0.86);
    color: var(--color-champagne);
    border-color: rgba(201, 169, 104, 0.54);
}


/* v0.8 top-return state */
.global-section-nav__button[data-mode="top"] {
    font-size: 1.28rem;
    background: rgba(37, 35, 35, 0.86);
    color: var(--color-champagne);
    border-color: rgba(201, 169, 104, 0.54);
}
