html:has(body.cool-subpage) {
    background: #edf3f9;
}

.cool-subpage {
    --bg: #f4f8fc;
    --bg-elevated: #eef3f9;
    --panel: rgba(255, 255, 255, 0.96);
    --panel-strong: #edf3fa;
    --line: rgba(63, 85, 117, 0.12);
    --line-strong: rgba(63, 85, 117, 0.22);
    --text: #24364a;
    --text-muted: #607287;
    --accent: #4d78af;
    --accent-soft: rgba(77, 120, 175, 0.1);
    --accent-deep: #2f547f;
    --sage: #d7e2ef;
    --sand: #dde7f2;
    --ink-blue: #1a2b4a;
    --gold-muted: #8ca3bf;
    --shadow: 0 18px 40px rgba(26, 43, 74, 0.08);
}

body.cool-subpage {
    background:
        radial-gradient(circle at top left, rgba(77, 120, 175, 0.12), transparent 30%),
        linear-gradient(180deg, #f7fbff 0%, #edf3f9 100%) !important;
    background-color: #edf3f9 !important;
}

.cool-subpage .site-shell,
.cool-subpage .site-main {
    background: transparent !important;
}

.cool-subpage .site-header {
    background: rgba(26, 43, 74, 0.94);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.cool-subpage .site-brand__cn,
.cool-subpage .site-brand__en {
    color: #f8fbff;
}

.cool-subpage .site-brand__en {
    opacity: 0.82;
}

.cool-subpage .site-nav__link {
    color: rgba(226, 232, 240, 0.9);
}

.cool-subpage .site-nav__link:hover,
.cool-subpage .site-nav__link:focus-visible {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
}

.cool-subpage .site-nav__link.is-current {
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
}

.cool-subpage .breadcrumb,
.cool-subpage .breadcrumb a {
    color: #5f7288;
}

.cool-subpage .hero-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(237, 243, 250, 0.98));
    border: 1px solid rgba(63, 85, 117, 0.08);
    box-shadow: 0 16px 36px rgba(26, 43, 74, 0.06);
}

.cool-subpage .info-card,
.cool-subpage .profile-card,
.cool-subpage .publication-card,
.cool-subpage .contact-card,
.cool-subpage .step-card,
.cool-subpage .faq-item,
.cool-subpage .theme-panel,
.cool-subpage .capability-card,
.cool-subpage .summary-card,
.cool-subpage .nav-card,
.cool-subpage .role-panel,
.cool-subpage .roster-band {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(63, 85, 117, 0.08);
    box-shadow: 0 12px 30px rgba(26, 43, 74, 0.05);
}

.cool-subpage .section-kicker,
.cool-subpage .eyebrow,
.cool-subpage .theme-hook,
.cool-subpage .profile-card__link,
.cool-subpage .link-inline,
.cool-subpage .profile-card__toggle,
.cool-subpage .nav-card a:hover,
.cool-subpage .nav-card a:focus-visible {
    color: var(--accent-deep);
}

.cool-subpage .chip,
.cool-subpage .filter-chip,
.cool-subpage .meta-chip,
.cool-subpage .profile-card__keyword,
.cool-subpage .metric-chip,
.cool-subpage .role-count {
    background: rgba(248, 251, 255, 0.86);
    border-color: rgba(63, 85, 117, 0.12);
    color: var(--text-muted);
}

.cool-subpage .chip--accent,
.cool-subpage .filter-chip.is-active {
    background: var(--accent-soft);
    color: var(--accent-deep);
    border-color: rgba(77, 120, 175, 0.2);
}

.cool-subpage .members-visual {
    border-color: rgba(63, 85, 117, 0.08);
    background:
        linear-gradient(140deg, rgba(77, 120, 175, 0.16), rgba(26, 43, 74, 0.18)),
        linear-gradient(180deg, #f7fbff, #dfe8f4);
}

.cool-subpage .members-visual__label {
    background: rgba(248, 251, 255, 0.84);
    border-color: rgba(63, 85, 117, 0.1);
}

.cool-subpage .members-visual__node {
    background: rgba(77, 120, 175, 0.18);
    border: 1px solid rgba(77, 120, 175, 0.16);
}

.cool-subpage .members-visual__node:nth-child(2) {
    background: rgba(26, 43, 74, 0.16);
}

.cool-subpage .members-visual__node:nth-child(3) {
    background: rgba(140, 163, 191, 0.18);
}

.cool-subpage .roster-band,
.cool-subpage .roster-band[data-role] {
    background: transparent;
}

.cool-subpage .profile-card__avatar {
    background: linear-gradient(180deg, #e7eef8, #cfdaea);
    border-color: rgba(63, 85, 117, 0.16);
}

.cool-subpage .profile-card__portrait {
    background: linear-gradient(180deg, #edf4fb, #d8e4f1);
    border-color: rgba(63, 85, 117, 0.14);
}

.cool-subpage .summary-card__item,
.cool-subpage .nav-card a,
.cool-subpage .faq-item summary,
.cool-subpage .contact-card__meta {
    border-color: rgba(63, 85, 117, 0.08);
}

.cool-subpage .profile-card__details {
    border-color: transparent;
    transition:
        max-height 1.15s cubic-bezier(0.16, 1, 0.3, 1),
        padding-top 1.15s cubic-bezier(0.16, 1, 0.3, 1),
        border-color 0.46s ease,
        opacity 0.46s ease,
        transform 0.46s ease;
}

.cool-subpage .profile-card.is-expanded .profile-card__details {
    border-color: rgba(63, 85, 117, 0.08);
    transition:
        max-height 1.35s cubic-bezier(0.16, 1, 0.3, 1),
        padding-top 1.35s cubic-bezier(0.16, 1, 0.3, 1),
        border-color 0.62s ease 0.34s,
        opacity 0.62s ease 0.34s,
        transform 0.62s ease 0.34s;
}

@media (prefers-reduced-motion: reduce) {
    .cool-subpage .profile-card__details,
    .cool-subpage .profile-card.is-expanded .profile-card__details {
        transition-duration: 0.01s;
        transition-delay: 0s;
        transform: none;
    }
}

.cool-subpage .timeline::before {
    background: rgba(77, 120, 175, 0.2);
}

.cool-subpage .members-timeline__rail::before {
    background: rgba(77, 120, 175, 0.24);
}

.cool-subpage .members-timeline__dot {
    background: rgba(248, 251, 255, 0.96);
    border-color: rgba(77, 120, 175, 0.34);
}

.cool-subpage .members-timeline__link.is-active .members-timeline__dot,
.cool-subpage .members-timeline__link:hover .members-timeline__dot,
.cool-subpage .members-timeline__link:focus-visible .members-timeline__dot {
    box-shadow: 0 0 0 6px rgba(77, 120, 175, 0.12);
}

.cool-subpage .step-card::before {
    background: var(--accent);
}

.cool-subpage .role-panel__details {
    transition:
        max-height 1.15s cubic-bezier(0.16, 1, 0.3, 1),
        opacity 0.46s ease,
        transform 0.46s ease;
}

.cool-subpage .role-panel.is-expanded .role-panel__details {
    transition:
        max-height 1.35s cubic-bezier(0.16, 1, 0.3, 1),
        opacity 0.62s ease 0.34s,
        transform 0.62s ease 0.34s;
}

@media (prefers-reduced-motion: reduce) {
    .cool-subpage .role-panel__details,
    .cool-subpage .role-panel.is-expanded .role-panel__details {
        transition-duration: 0.01s;
        transition-delay: 0s;
        transform: none;
    }
}

.cool-subpage .icon-badge {
    background: rgba(77, 120, 175, 0.12);
    color: var(--accent-deep);
}

.cool-subpage .research-hero__visual {
    border-color: rgba(63, 85, 117, 0.08);
    background:
        linear-gradient(160deg, rgba(26, 43, 74, 0.22), rgba(77, 120, 175, 0.16)),
        linear-gradient(180deg, #f7fbff, #dfe8f3);
}

.cool-subpage .theme-illustration {
    border-color: rgba(63, 85, 117, 0.08);
    background: linear-gradient(180deg, rgba(248, 251, 255, 0.98), rgba(230, 238, 247, 0.98));
}

.cool-subpage .btn {
    background: var(--accent);
    color: #f8fbff;
}

.cool-subpage .btn-secondary {
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(63, 85, 117, 0.12);
    color: var(--text);
}

.cool-subpage .btn-ghost {
    border-color: rgba(77, 120, 175, 0.22);
    color: var(--accent-deep);
}

.cool-subpage .site-footer {
    background: linear-gradient(180deg, rgba(229, 235, 243, 0.68), rgba(221, 231, 242, 0.68));
    border-top: 1px solid rgba(63, 85, 117, 0.08);
}

.cool-subpage .roster-band.is-spotlight {
    box-shadow: 0 0 0 2px rgba(77, 120, 175, 0.18), 0 20px 44px rgba(26, 43, 74, 0.08);
}

/* Homepage-aligned member directory */
html:has(body.members-page) {
    background: oklch(97.4% 0.006 252);
}

body.members-page {
    --bg: oklch(97.4% 0.006 252);
    --bg-elevated: oklch(94.8% 0.009 252);
    --panel: oklch(99% 0.004 252);
    --panel-strong: oklch(96.5% 0.008 252);
    --line: oklch(87% 0.012 252);
    --line-strong: oklch(25% 0.025 258);
    --text: oklch(25% 0.025 258);
    --text-muted: oklch(48% 0.022 258);
    --accent: oklch(37% 0.13 28);
    --accent-soft: oklch(37% 0.13 28 / 0.08);
    --accent-deep: oklch(37% 0.13 28);
    --ink-blue: oklch(25% 0.025 258);
    --shadow: 0 16px 38px oklch(25% 0.025 258 / 0.09);
    --radius-sm: 0.2rem;
    --radius-md: 0.2rem;
    --radius-lg: 0.2rem;
    --container: 1280px;
    --font-sans: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans CJK SC", "Noto Sans SC", "Source Han Sans SC", ui-sans-serif, system-ui, sans-serif;
    --font-serif: "Songti SC", "STSong", "Noto Serif CJK SC", "Noto Serif SC", "Source Han Serif SC", "SimSun", ui-serif, serif;
    background: var(--bg) !important;
    color: var(--text);
    font-family: var(--font-sans);
    font-kerning: normal;
}

.members-page .site-shell,
.members-page .site-main {
    background: var(--bg) !important;
}

.members-page .site-header,
.recruitment-letter-page .site-header {
    background: oklch(28% 0.055 258);
    border-bottom: 1px solid oklch(94% 0.01 252 / 0.2);
    backdrop-filter: none;
}

.members-page .site-header__bar,
.recruitment-letter-page .site-header__bar {
    min-height: 78px;
}

.members-page .site-brand__cn,
.members-page .site-brand__en,
.recruitment-letter-page .site-brand__cn,
.recruitment-letter-page .site-brand__en {
    color: oklch(96% 0.008 252);
}

.members-page .site-brand__cn,
.recruitment-letter-page .site-brand__cn {
    font-family: var(--font-serif);
}

.members-page .site-brand__en,
.recruitment-letter-page .site-brand__en {
    opacity: 0.76;
}

.members-page .site-nav,
.recruitment-letter-page .site-nav {
    gap: clamp(1.1rem, 2.6vw, 2.25rem);
}

.members-page .site-nav__link,
.recruitment-letter-page .site-nav__link {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    border-bottom: 1px solid oklch(94% 0.01 252 / 0.34);
    border-radius: 0;
    background: transparent;
    color: oklch(95% 0.008 252);
    padding: 0.4rem 0;
    font-size: 0.84rem;
    letter-spacing: 0.04em;
}

.members-page .site-nav__link:hover,
.members-page .site-nav__link:focus-visible,
.members-page .site-nav__link.is-current,
.recruitment-letter-page .site-nav__link:hover,
.recruitment-letter-page .site-nav__link:focus-visible,
.recruitment-letter-page .site-nav__link.is-current {
    border-color: oklch(96% 0.01 252);
    background: transparent;
    color: oklch(99% 0.004 252);
    outline: none;
}

.members-page .site-nav__link:focus-visible,
.members-page .members-timeline__link:focus-visible,
.members-page .btn:focus-visible,
.members-page .btn-secondary:focus-visible,
.members-page .profile-card__contact-link:focus-visible,
.recruitment-letter-page .site-nav__link:focus-visible {
    outline: 2px solid oklch(88% 0.08 85);
    outline-offset: 4px;
}

.members-page .site-main {
    padding: 1.25rem 0 5rem;
}

.members-page .breadcrumb,
.members-page .breadcrumb a {
    color: var(--muted-color, oklch(48% 0.022 258));
}

.members-page .breadcrumb {
    margin-bottom: 0.9rem;
    font-size: 0.82rem;
}

.members-page .members-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(12.5rem, 18vw, 14.5rem);
    align-items: center;
    gap: clamp(2rem, 5vw, 5rem);
    border: 0;
    border-top: 1px solid var(--text);
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding: 1.25rem 0 1.5rem;
}

.members-page .members-hero__copy {
    min-width: 0;
}

.members-page .members-hero__logo {
    position: relative;
    width: 100%;
    aspect-ratio: 1.12;
    justify-self: end;
    margin: 0;
    overflow: hidden;
}

.members-page .members-hero__logo img {
    position: absolute;
    top: 0;
    left: 0;
    width: 142.5%;
    max-width: none;
    height: auto;
    transform: translate(-14.75%, -19.5%);
    mix-blend-mode: multiply;
}

.members-page .members-hero .hero-title {
    margin: 0 0 0.65rem;
    color: var(--text);
    font-family: var(--font-serif);
    font-size: clamp(2.15rem, 3.6vw, 3.4rem);
    font-weight: 400;
    line-height: 1.12;
}

.members-page .members-hero .hero-copy {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.96rem;
    line-height: 1.7;
}

.members-page .members-layout.section {
    display: block;
    margin-top: 1.5rem;
}

.members-page .members-layout > .members-timeline {
    position: sticky;
    top: 78px;
    z-index: 15;
    width: 100%;
}

.members-page .members-timeline__card {
    width: 100%;
    max-height: none;
    overflow: visible;
    border: 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    background: oklch(99% 0.004 252 / 0.96);
    box-shadow: none;
    padding: 0;
}

.members-page .members-timeline__card > .section-kicker,
.members-page .members-timeline__rail::before,
.members-page .members-timeline__dot {
    display: none;
}

.members-page .members-timeline__rail {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    padding: 0;
    overflow: visible;
}

.members-page .members-timeline__link {
    display: flex;
    min-width: 0;
    min-height: 52px;
    align-items: center;
    gap: 0.7rem;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: transparent;
    color: var(--text-muted);
    padding: 0 0.75rem;
    text-decoration: none;
}

.members-page .members-timeline__index {
    flex: 0 0 auto;
    color: var(--accent);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.members-page .members-timeline__copy {
    display: flex;
    min-width: 0;
    flex-direction: row;
    align-items: baseline;
    gap: 0.45rem;
}

.members-page .members-timeline__copy strong {
    color: inherit;
    font-size: 0.86rem;
    font-weight: 500;
}

.members-page .members-timeline__copy span {
    color: inherit;
    font-size: 0.68rem;
    letter-spacing: 0.04em;
}

.members-page .members-timeline__link:hover,
.members-page .members-timeline__link.is-active {
    border-color: var(--accent);
    background: oklch(96.5% 0.008 252);
    color: var(--text);
}

.members-page .members-layout__content {
    padding-top: clamp(2rem, 4vw, 3.5rem);
}

.members-page .members-layout__content .roster-band {
    margin-top: clamp(2.5rem, 5vw, 4.5rem);
    border-top: 1px solid var(--text);
    padding-top: 1rem;
    scroll-margin-top: 9rem;
}

.members-page .members-layout__content .roster-band:first-child {
    margin-top: 0;
}

.members-page .roster-band__header {
    margin-bottom: 1.1rem;
    padding: 0;
}

.members-page .roster-band__header .section-title {
    color: var(--text);
    font-family: var(--font-serif);
    font-size: clamp(1.45rem, 2.2vw, 1.9rem);
    font-weight: 400;
    letter-spacing: 0;
}

.members-page .role-count {
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--accent);
    padding: 0;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.members-page .members-roster-grid {
    gap: clamp(1rem, 2vw, 1.5rem);
}

.members-page .profile-card {
    border: 1px solid var(--line);
    border-radius: 0.2rem;
    background: var(--panel);
    box-shadow: 0 16px 38px oklch(25% 0.025 258 / 0.09);
}

.members-page .profile-card .section-kicker {
    color: var(--accent);
}

.members-page .profile-card__name {
    color: var(--text);
    font-family: var(--font-serif);
    font-weight: 600;
}

.members-page .profile-card__keyword {
    border-color: var(--line);
    border-radius: 0.2rem;
    background: transparent;
    color: var(--text-muted);
}

.members-page .profile-card__portrait {
    border-color: var(--line);
    border-radius: 0.2rem;
    background: var(--bg-elevated);
}

.members-page .profile-card__contact {
    border-top-color: var(--line);
}

.members-page .profile-card__contact-link {
    color: var(--accent);
}

.members-page .join-banner {
    margin-top: clamp(3rem, 6vw, 5rem);
    border: 0;
    border-top: 1px solid var(--text);
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    padding: 1.5rem 0 1.75rem;
}

.members-page .join-banner .section-kicker {
    color: var(--accent);
}

.members-page .join-banner .section-title {
    color: var(--text);
    font-weight: 400;
}

.members-page .join-banner .cta-row {
    margin-top: 0;
}

.members-page .join-banner .btn,
.members-page .join-banner .btn-secondary {
    min-height: 44px;
    border: 0;
    border-bottom: 1px solid var(--accent);
    border-radius: 0;
    background: transparent;
    color: var(--text);
    padding: 0.5rem 0;
}

.members-page .join-banner .btn:hover,
.members-page .join-banner .btn-secondary:hover {
    transform: none;
    color: var(--accent);
}

.members-page .site-footer {
    margin-top: 0;
    border-top: 1px solid var(--line);
    background: var(--bg-elevated);
}

.members-page .roster-band.is-spotlight {
    box-shadow: 0 0 0 2px var(--accent-soft);
}

@media (max-width: 760px) {
    .members-page .site-header,
    .recruitment-letter-page .site-header {
        position: relative;
        top: auto;
    }

    .members-page .site-header__bar,
    .recruitment-letter-page .site-header__bar {
        min-height: 0;
        flex-wrap: wrap;
        padding: 0.9rem 0;
    }

    .members-page .site-nav,
    .recruitment-letter-page .site-nav {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.65rem;
    }

    .members-page .site-nav__link,
    .recruitment-letter-page .site-nav__link {
        justify-content: center;
        min-width: 0;
        padding-inline: 0.1rem;
        font-size: 0.72rem;
        text-align: center;
    }

    .members-page .members-hero {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 1rem 0 1.2rem;
    }

    .members-page .members-hero__logo {
        width: clamp(9.5rem, 48vw, 11rem);
        justify-self: start;
    }

    .members-page .members-hero .hero-title {
        font-size: clamp(2rem, 10vw, 2.65rem);
    }

    .members-page .members-layout.section {
        margin-top: 1rem;
    }

    .members-page .members-layout > .members-timeline {
        top: 0;
    }

    .members-page .members-timeline__link {
        min-height: 48px;
        justify-content: center;
        gap: 0.3rem;
        padding: 0 0.25rem;
    }

    .members-page .members-timeline__copy span {
        display: none;
    }

    .members-page .members-timeline__copy strong {
        font-size: 0.76rem;
        white-space: nowrap;
    }

    .members-page .members-timeline__index {
        font-size: 0.62rem;
    }

    .members-page .members-layout__content {
        padding-top: 1.8rem;
    }

    .members-page .members-layout__content .roster-band {
        margin-top: 2.8rem;
        scroll-margin-top: 4.5rem;
    }

    .members-page .join-banner {
        align-items: flex-start;
    }
}

/* Recruitment invitation letter */
body.recruitment-letter-page {
    --invitation-navy: oklch(24% 0.055 258);
    --invitation-navy-deep: oklch(18% 0.043 258);
    --invitation-ink: oklch(25% 0.025 258);
    --invitation-muted: oklch(47% 0.018 258);
    --invitation-paper: oklch(97.2% 0.012 83);
    --invitation-paper-deep: oklch(93.5% 0.018 83);
    --invitation-accent: oklch(38% 0.135 28);
    --invitation-rule: oklch(58% 0.018 258);
    --invitation-ease: cubic-bezier(0.16, 1, 0.3, 1);
    background: var(--invitation-navy-deep) !important;
}

.recruitment-letter-page .site-main,
.recruitment-letter-page .site-shell {
    background: var(--invitation-navy-deep) !important;
}

.recruitment-letter-page .site-main {
    padding: 0;
}

.recruitment-letter-page .site-main > .container {
    width: 100%;
    max-width: none;
    padding: 0;
}

.recruitment-letter-page .recruitment-breadcrumb {
    position: relative;
    z-index: 12;
    width: min(1280px, calc(100% - 2rem));
    margin: 0 auto;
    padding: 1.25rem 0 0.9rem;
    background: oklch(97.4% 0.006 252);
    box-shadow: 0 0 0 100vmax oklch(97.4% 0.006 252);
    clip-path: inset(0 -100vmax);
}

.recruitment-letter-page .breadcrumb,
.recruitment-letter-page .breadcrumb a {
    color: oklch(48% 0.022 258);
}

.recruitment-letter-page .breadcrumb {
    margin-bottom: 0;
    font-size: 0.82rem;
}

.invitation-experience {
    color: var(--invitation-ink);
}

.invitation-stage {
    position: relative;
    isolation: isolate;
    min-height: clamp(58rem, 108vh, 70rem);
    overflow: hidden;
    background:
        radial-gradient(circle at 52% 8%, oklch(34% 0.052 258) 0, transparent 42%),
        var(--invitation-navy);
    padding: clamp(2rem, 3vw, 2.75rem) clamp(1rem, 5vw, 4.5rem) clamp(3rem, 6vw, 5rem);
}

.invitation-stage::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -3;
    background-image:
        repeating-linear-gradient(0deg, transparent 0 3px, oklch(12% 0.028 258 / 0.07) 4px),
        repeating-linear-gradient(90deg, transparent 0 6px, oklch(72% 0.018 258 / 0.025) 7px);
    opacity: 0.48;
    pointer-events: none;
}

.invitation-stage__light {
    position: absolute;
    inset: -12% 10% auto;
    z-index: -2;
    height: 38rem;
    background: radial-gradient(ellipse, oklch(80% 0.025 245 / 0.13), transparent 66%);
    filter: blur(1.5rem);
    pointer-events: none;
}

.bench-prop {
    position: absolute;
    z-index: -1;
    pointer-events: none;
    transform-origin: center;
}

.bench-prop--protein {
    display: flex;
    flex-direction: column;
    top: clamp(5.5rem, 9vw, 9rem);
    left: clamp(-10rem, -7vw, -5rem);
    width: clamp(16rem, 25vw, 23rem);
    margin: 0;
    overflow: hidden;
    border: 1px solid oklch(78% 0.018 252);
    background: oklch(96% 0.009 252);
    box-shadow: 0 18px 42px oklch(10% 0.03 258 / 0.35);
    padding: 1.1rem 1.1rem 0.85rem;
    transform: rotate(-7deg);
}

.bench-prop--protein::before,
.bench-prop--protein::after {
    content: "";
    display: block;
    height: 2px;
    background: oklch(54% 0.035 258);
}

.bench-prop--protein::before {
    width: 42%;
    margin-bottom: 0.65rem;
    box-shadow: 0 0.35rem 0 oklch(72% 0.018 258);
}

.bench-prop--protein::after {
    width: 31%;
    margin-top: 0.7rem;
    align-self: flex-end;
}

.bench-prop--protein img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1.18;
    object-fit: cover;
    object-position: 17% center;
    filter: saturate(0.68) contrast(1.02);
}

.bench-prop--group-photo {
    top: clamp(2.6rem, 6vw, 5.5rem);
    right: clamp(-7rem, -3vw, -2rem);
    width: clamp(13rem, 21vw, 19rem);
    background: oklch(95.5% 0.008 83);
    box-shadow: 0 18px 42px oklch(10% 0.03 258 / 0.38);
    padding: 0.7rem 0.7rem 1.65rem;
    transform: rotate(6deg);
}

.group-photo-placeholder {
    position: relative;
    display: grid;
    aspect-ratio: 4 / 3;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 26% 22%, oklch(80% 0.025 243 / 0.22), transparent 28%),
        linear-gradient(155deg, oklch(42% 0.035 252), oklch(25% 0.04 258));
    color: oklch(90% 0.012 245 / 0.62);
}

.group-photo-placeholder::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid oklch(94% 0.01 245 / 0.18);
    background: linear-gradient(115deg, transparent 25%, oklch(98% 0.008 245 / 0.08) 48%, transparent 70%);
}

.group-photo-placeholder span {
    font-family: var(--font-sans);
    font-size: 0.58rem;
    letter-spacing: 0.18em;
}

.invitation-letter {
    position: relative;
    z-index: 2;
    width: min(62rem, calc(100vw - 11rem));
    margin: 0 auto;
    overflow: hidden;
    background: var(--invitation-paper);
    box-shadow:
        0 2.2rem 4.5rem oklch(10% 0.03 258 / 0.34),
        0 0.35rem 0.8rem oklch(10% 0.03 258 / 0.2);
    clip-path: polygon(0.35% 0.6%, 99.6% 0, 100% 99.2%, 0 100%);
    transform-origin: 50% 48%;
}

.invitation-letter::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        repeating-linear-gradient(7deg, transparent 0 5px, oklch(72% 0.02 83 / 0.025) 6px),
        linear-gradient(100deg, oklch(100% 0.003 83 / 0.34), transparent 25% 72%, oklch(84% 0.02 83 / 0.16));
    pointer-events: none;
}

.invitation-letter__fold {
    position: absolute;
    top: 49.5%;
    right: 0;
    left: 0;
    z-index: 0;
    height: 1px;
    background: oklch(58% 0.02 83 / 0.12);
    box-shadow: 0 0.25rem 0.75rem oklch(45% 0.025 83 / 0.05);
    pointer-events: none;
}

.invitation-letter__content {
    position: relative;
    z-index: 1;
    padding: clamp(2rem, 3.2vw, 3rem) clamp(2rem, 6.2vw, 6rem) clamp(2.1rem, 3.8vw, 3.6rem);
}

.letterhead {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 2rem;
    border-bottom: 1px solid var(--invitation-rule);
    padding-bottom: 1.4rem;
}

.letterhead__identity {
    display: grid;
    gap: 0.2rem;
}

.letterhead__identity strong,
.letterhead__identity span {
    font-family: var(--font-serif);
    font-weight: 500;
}

.letterhead__identity strong {
    font-size: clamp(1.25rem, 2vw, 1.7rem);
    letter-spacing: 0.09em;
}

.letterhead__identity span {
    font-size: 1rem;
    letter-spacing: 0.12em;
}

.letterhead__identity small,
.letterhead__meta {
    font-family: var(--font-sans);
    font-size: 0.68rem;
    letter-spacing: 0.11em;
}

.letterhead__identity small {
    color: var(--invitation-muted);
}

.letterhead__meta {
    margin: clamp(1.3rem, 2vw, 1.7rem) 0 0.7rem;
    color: var(--invitation-muted);
    text-transform: uppercase;
}

.invitation-letter__recipient {
    margin: 0 0 0.65rem;
    color: var(--invitation-muted);
    font-family: var(--font-serif);
    font-size: 1rem;
    letter-spacing: 0.08em;
}

.invitation-letter h1 {
    max-width: 8em;
    margin: 0;
    color: var(--invitation-ink);
    font-family: var(--font-serif);
    font-size: clamp(2.7rem, 5.2vw, 4.9rem);
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1.05;
    text-wrap: balance;
}

.invitation-letter__accent {
    display: block;
    width: 2.5rem;
    height: 0.22rem;
    margin: 1.1rem 0 1.5rem;
    background: var(--invitation-accent);
}

.invitation-letter__body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(2.25rem, 4.5vw, 4.25rem);
    max-width: none;
}

.invitation-letter__section {
    display: grid;
    gap: 0.8rem;
}

.invitation-letter__section + .invitation-letter__section {
    margin-top: 0;
    border-top: 0;
    border-left: 1px solid oklch(76% 0.018 83);
    padding-top: 0;
    padding-left: clamp(2.25rem, 4.5vw, 4.25rem);
}

.invitation-letter__section h2 {
    margin: 0 0 0.15rem;
    color: var(--invitation-accent);
    font-family: var(--font-sans);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.12em;
}

.invitation-letter__body p {
    margin: 0;
    font-family: var(--font-serif);
    font-size: clamp(1.02rem, 1.35vw, 1.16rem);
    line-height: 1.82;
    text-align: left;
    text-wrap: pretty;
}

.ink-character {
    display: inline;
    white-space: pre-wrap;
}

.invitation-letter__action {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.2rem;
    margin-top: clamp(1.4rem, 2vw, 1.8rem);
    border-top: 1px solid oklch(76% 0.018 83);
    border-bottom: 1px solid oklch(76% 0.018 83);
    background: transparent;
    color: var(--invitation-accent);
    padding: 1rem 0.75rem;
    text-decoration: none;
    transition: background-color 220ms var(--invitation-ease);
}

.invitation-letter__action::after {
    content: "";
    position: absolute;
    right: 0.75rem;
    bottom: 0.6rem;
    left: 0.75rem;
    height: 1px;
    background: currentColor;
    transform: scaleX(0.38);
    transform-origin: left;
    transition: transform 260ms var(--invitation-ease);
}

.invitation-letter__action-copy {
    display: grid;
    gap: 0.15rem;
    font-family: var(--font-serif);
}

.invitation-letter__action-copy small {
    color: var(--invitation-muted);
    font-size: 0.72rem;
    font-weight: 400;
    letter-spacing: 0.08em;
}

.invitation-letter__action-copy > span {
    font-size: 0.92rem;
    letter-spacing: 0.08em;
}

.invitation-letter__action strong {
    min-width: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1rem, 1.6vw, 1.25rem);
    font-weight: 600;
    letter-spacing: 0.03em;
    overflow-wrap: anywhere;
}

.invitation-letter__action-arrow {
    font-size: 1.1rem;
    transition: transform 220ms var(--invitation-ease);
}

.invitation-letter__action:hover,
.invitation-letter__action:focus-visible {
    background: oklch(38% 0.135 28 / 0.055);
}

.invitation-letter__action:hover::after,
.invitation-letter__action:focus-visible::after {
    transform: scaleX(1);
}

.invitation-letter__action:hover .invitation-letter__action-arrow,
.invitation-letter__action:focus-visible .invitation-letter__action-arrow {
    transform: translate3d(0.22rem, -0.12rem, 0);
}

.invitation-letter__action:focus-visible,
.invitation-followup a:focus-visible {
    outline: 2px solid var(--invitation-accent);
    outline-offset: 5px;
}

.invitation-letter__action:active {
    transform: translateY(1px);
}

.invitation-letter__closing {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-top: clamp(2rem, 3.6vw, 3rem);
}

.invitation-letter__closing > p {
    margin: 0;
    font-family: var(--font-serif);
    font-size: 0.98rem;
    letter-spacing: 0.08em;
}

.signature-block {
    display: flex;
    align-items: flex-end;
    gap: 1.2rem;
}

.signature-mark {
    position: relative;
    min-width: 8.8rem;
    padding: 0.4rem 0 0.65rem;
    color: var(--invitation-ink);
    user-select: none;
}

.signature-mark > span {
    display: block;
    font-family: "Kaiti SC", "STKaiti", "KaiTi", "KaiTi_GB2312", var(--font-serif);
    font-size: clamp(2.4rem, 4.2vw, 3.6rem);
    font-weight: 600;
    letter-spacing: -0.15em;
    line-height: 1;
    text-shadow: 0.03em 0.02em 0 var(--invitation-paper), 0.055em 0.04em 0 oklch(33% 0.035 258 / 0.3);
    transform: skewX(-8deg) rotate(-4deg);
}

.signature-mark > i {
    position: absolute;
    right: 0.1rem;
    bottom: 0.8rem;
    width: 6.2rem;
    height: 1px;
    background: var(--invitation-accent);
    transform: rotate(-7deg);
}

.signature-block__caption {
    display: grid;
    gap: 0.15rem;
    border-top: 1px solid oklch(73% 0.018 83);
    padding-top: 0.45rem;
    font-family: var(--font-sans);
    font-size: 0.68rem;
    letter-spacing: 0.05em;
}

.signature-block__caption span,
.signature-block__caption small {
    color: var(--invitation-muted);
}

.invitation-letter__notice {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin: 2rem 0 0;
    color: var(--invitation-muted);
    font-family: var(--font-sans);
    font-size: 0.875rem;
    line-height: 1.7;
}

.invitation-letter__notice a {
    flex: 0 0 auto;
    color: var(--invitation-accent);
    text-decoration: none;
}

.invitation-letter__notice a:hover,
.invitation-letter__notice a:focus-visible {
    text-decoration: underline;
    text-underline-offset: 0.25em;
}

.invitation-followup {
    position: relative;
    z-index: 4;
    display: grid;
    grid-template-columns: auto 1fr 1fr;
    width: min(62rem, calc(100vw - 11rem));
    margin: 0 auto;
    border-top: 1px solid oklch(74% 0.02 252 / 0.38);
    border-bottom: 1px solid oklch(74% 0.02 252 / 0.38);
    background: oklch(22% 0.05 258);
    color: oklch(91% 0.01 252);
}

.invitation-followup > span,
.invitation-followup a {
    display: flex;
    min-height: 64px;
    align-items: center;
    padding: 0.8rem 1.25rem;
}

.invitation-followup > span {
    color: oklch(69% 0.018 252);
    font-size: 0.78rem;
    letter-spacing: 0.1em;
}

.invitation-followup a {
    justify-content: space-between;
    gap: 1rem;
    border-left: 1px solid oklch(74% 0.02 252 / 0.3);
    color: inherit;
    font-family: var(--font-serif);
    text-decoration: none;
}

.invitation-followup a:hover {
    background: oklch(28% 0.055 258);
    color: oklch(98% 0.006 252);
}

.invitation-experience.is-motion-prepared .bench-prop--protein {
    opacity: 0;
    transform: translate3d(-7rem, -2rem, 0) rotate(-14deg) scale(0.92);
}

.invitation-experience.is-motion-prepared .bench-prop--group-photo {
    opacity: 0;
    transform: translate3d(5rem, -3rem, 0) rotate(13deg) scale(0.94);
}

.invitation-experience.is-motion-prepared .invitation-letter {
    opacity: 0.16;
    clip-path: inset(46% 0 46% 0);
    transform: perspective(72rem) translate3d(0, -2.2rem, 0) rotateX(-12deg) scale(0.96, 0.18);
}

.invitation-experience.is-motion-prepared .letterhead,
.invitation-experience.is-motion-prepared .letterhead__meta,
.invitation-experience.is-motion-prepared .invitation-letter__accent,
.invitation-experience.is-motion-prepared .invitation-letter__section h2,
.invitation-experience.is-motion-prepared .invitation-letter__action,
.invitation-experience.is-motion-prepared .invitation-letter__closing,
.invitation-experience.is-motion-prepared .invitation-letter__notice,
.invitation-experience.is-motion-prepared .invitation-followup {
    opacity: 0;
}

.invitation-experience.is-motion-prepared .ink-character {
    opacity: 0;
    filter: blur(0.08rem);
    transform: translate3d(0.08em, 0.03em, 0);
}

.invitation-experience.is-motion-prepared .signature-mark {
    clip-path: inset(0 100% 0 0);
}

.invitation-experience.is-playing .bench-prop--protein {
    animation: invitation-place-protein 650ms var(--invitation-ease) 0ms both;
}

.invitation-experience.is-playing .bench-prop--group-photo {
    animation: invitation-place-group-photo 680ms var(--invitation-ease) 280ms both;
}

.invitation-experience.is-playing .invitation-letter {
    animation: invitation-unfold-paper 1000ms var(--invitation-ease) 950ms both;
}

.invitation-experience.is-playing .letterhead {
    animation: invitation-fade-up 520ms var(--invitation-ease) 1600ms both;
}

.invitation-experience.is-playing .letterhead__meta {
    animation: invitation-fade-up 420ms var(--invitation-ease) 1800ms both;
}

.invitation-experience.is-playing .invitation-letter__accent {
    animation: invitation-draw-rule 400ms var(--invitation-ease) 3550ms both;
    transform-origin: left;
}

.invitation-experience.is-playing .invitation-letter__section:first-child h2 {
    animation: invitation-fade-up 350ms var(--invitation-ease) 4000ms both;
}

.invitation-experience.is-playing .invitation-letter__section:nth-child(2) h2 {
    animation: invitation-fade-up 350ms var(--invitation-ease) 10450ms both;
}

.invitation-experience.is-playing .ink-character {
    animation: invitation-ink-character 350ms var(--invitation-ease) var(--ink-delay) both;
}

.invitation-experience.is-playing .invitation-letter__action {
    animation: invitation-fade-up 430ms var(--invitation-ease) var(--invitation-action-delay, 19400ms) both;
}

.invitation-experience.is-playing .invitation-letter__closing {
    animation: invitation-fade-up 430ms var(--invitation-ease) var(--invitation-closing-delay, 19900ms) both;
}

.invitation-experience.is-playing .signature-mark {
    animation: invitation-signature 750ms var(--invitation-ease) var(--invitation-signature-delay, 20100ms) both;
}

.invitation-experience.is-playing .invitation-letter__notice {
    animation: invitation-fade-up 430ms var(--invitation-ease) var(--invitation-notice-delay, 20800ms) both;
}

.invitation-experience.is-playing .invitation-followup {
    animation: invitation-fade-up 430ms var(--invitation-ease) var(--invitation-followup-delay, 21100ms) both;
}

.invitation-experience.is-complete .bench-prop,
.invitation-experience.is-complete .invitation-letter,
.invitation-experience.is-complete .letterhead,
.invitation-experience.is-complete .letterhead__meta,
.invitation-experience.is-complete .invitation-letter__accent,
.invitation-experience.is-complete .invitation-letter__section h2,
.invitation-experience.is-complete .invitation-letter__action,
.invitation-experience.is-complete .invitation-letter__closing,
.invitation-experience.is-complete .invitation-letter__notice,
.invitation-experience.is-complete .invitation-followup,
.invitation-experience.is-complete .ink-character {
    opacity: 1;
    filter: none;
}

.invitation-experience.is-complete .bench-prop--protein {
    transform: rotate(-7deg);
}

.invitation-experience.is-complete .bench-prop--group-photo {
    transform: rotate(6deg);
}

.invitation-experience.is-complete .invitation-letter {
    clip-path: polygon(0.35% 0.6%, 99.6% 0, 100% 99.2%, 0 100%);
    transform: none;
}

.invitation-experience.is-complete .signature-mark {
    clip-path: inset(0 0 0 0);
}

@keyframes invitation-place-protein {
    from { opacity: 0; transform: translate3d(-7rem, -2rem, 0) rotate(-14deg) scale(0.92); }
    to { opacity: 1; transform: translate3d(0, 0, 0) rotate(-7deg) scale(1); }
}

@keyframes invitation-place-group-photo {
    from { opacity: 0; transform: translate3d(5rem, -3rem, 0) rotate(13deg) scale(0.94); }
    to { opacity: 1; transform: translate3d(0, 0, 0) rotate(6deg) scale(1); }
}

@keyframes invitation-unfold-paper {
    0% {
        opacity: 0.16;
        clip-path: inset(46% 0 46% 0);
        transform: perspective(72rem) translate3d(0, -2.2rem, 0) rotateX(-12deg) scale(0.96, 0.18);
    }
    48% {
        opacity: 1;
        clip-path: inset(22% 0 22% 0);
        transform: perspective(72rem) translate3d(0, -0.5rem, 0) rotateX(-4deg) scale(0.985, 0.62);
    }
    100% {
        opacity: 1;
        clip-path: polygon(0.35% 0.6%, 99.6% 0, 100% 99.2%, 0 100%);
        transform: none;
    }
}

@keyframes invitation-fade-up {
    from { opacity: 0; transform: translate3d(0, 0.6rem, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes invitation-draw-rule {
    from { opacity: 0; transform: scaleX(0); }
    to { opacity: 1; transform: scaleX(1); }
}

@keyframes invitation-ink-character {
    from { opacity: 0; filter: blur(0.08rem); transform: translate3d(0.08em, 0.03em, 0); }
    to { opacity: 1; filter: blur(0); transform: translate3d(0, 0, 0); }
}

@keyframes invitation-signature {
    from { opacity: 0.3; clip-path: inset(0 100% 0 0); filter: blur(0.06rem); }
    to { opacity: 1; clip-path: inset(0 0 0 0); filter: blur(0); }
}

@media (hover: hover) and (pointer: fine) {
    .invitation-letter__action,
    .invitation-followup a {
        transition: color 220ms var(--invitation-ease), background-color 220ms var(--invitation-ease), transform 120ms var(--invitation-ease);
    }
}

@media (max-width: 1100px) {
    .invitation-letter,
    .invitation-followup {
        width: min(54rem, calc(100vw - 5rem));
    }

    .bench-prop--protein {
        left: -8rem;
        width: 18rem;
    }

    .bench-prop--group-photo {
        right: -5rem;
        width: 15rem;
    }
}

@media (max-width: 760px) {
    .recruitment-letter-page .recruitment-breadcrumb {
        width: calc(100% - 2rem);
        padding-top: 1.25rem;
    }

    .invitation-stage {
        min-height: 0;
        padding: 5.5rem 1rem 2.5rem;
    }

    .invitation-letter,
    .invitation-followup {
        width: 100%;
    }

    .bench-prop--protein {
        top: 1rem;
        left: -4.8rem;
        width: 11.5rem;
        padding: 0.65rem;
        transform: rotate(-8deg);
    }

    .bench-prop--group-photo {
        top: 0.5rem;
        right: -3.2rem;
        width: 9rem;
        padding: 0.4rem 0.4rem 1rem;
    }

    .invitation-letter__content {
        display: flex;
        flex-direction: column;
        padding: 2rem 1.35rem 2.2rem;
    }

    .letterhead { order: 1; }
    .letterhead__meta { order: 2; }
    .invitation-letter__recipient { order: 3; }
    .invitation-letter h1 { order: 4; }
    .invitation-letter__accent { order: 5; }
    .invitation-letter__action { order: 6; }
    .invitation-letter__body { order: 7; }
    .invitation-letter__closing { order: 8; }
    .invitation-letter__notice { order: 9; }

    .letterhead {
        gap: 1rem;
        padding-bottom: 1rem;
    }

    .letterhead__identity strong {
        font-size: 1.08rem;
    }

    .letterhead__identity span {
        font-size: 0.78rem;
    }

    .letterhead__identity small {
        font-size: 0.54rem;
        letter-spacing: 0.07em;
    }

    .letterhead__meta {
        display: block;
        margin: 1.5rem 0 0.55rem;
        font-size: 0.62rem;
    }

    .invitation-letter__recipient {
        margin-top: 0;
    }

    .invitation-letter h1 {
        max-width: 7em;
        font-size: clamp(2.25rem, 11.5vw, 3.55rem);
    }

    .invitation-letter__body {
        grid-template-columns: 1fr;
        max-width: 100%;
        gap: 0;
    }

    .invitation-letter__section + .invitation-letter__section {
        margin-top: 2rem;
        border-top: 1px solid oklch(76% 0.018 83);
        border-left: 0;
        padding-top: 2rem;
        padding-left: 0;
    }

    .invitation-letter__body p {
        font-size: 1rem;
        line-height: 1.82;
        text-align: left;
    }

    .invitation-letter__action {
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 0.7rem;
        margin: 0 0 1.65rem;
        padding-inline: 0.6rem;
    }

    .invitation-experience.is-playing .invitation-letter__action {
        animation-delay: 4000ms;
    }

    .invitation-experience.is-playing .invitation-letter__section:first-child h2 {
        animation-delay: 4550ms;
    }

    .invitation-experience.is-playing .invitation-letter__section:nth-child(2) h2 {
        animation-delay: 11150ms;
    }

    .invitation-experience.is-playing .invitation-letter__body .ink-character {
        animation-delay: calc(var(--ink-delay) + 700ms);
    }

    .invitation-experience.is-playing .invitation-letter__closing {
        animation-delay: 20150ms;
    }

    .invitation-experience.is-playing .signature-mark {
        animation-delay: 20400ms;
    }

    .invitation-experience.is-playing .invitation-letter__notice {
        animation-delay: 21150ms;
    }

    .invitation-experience.is-playing .invitation-followup {
        animation-delay: 21500ms;
    }

    .invitation-letter__action-copy small {
        display: none;
    }

    .invitation-letter__action strong {
        font-size: 0.96rem;
    }

    .invitation-letter__notice {
        display: grid;
        gap: 0.5rem;
        font-size: 0.875rem;
    }

    .invitation-letter__closing {
        display: grid;
        gap: 1.5rem;
    }

    .signature-block {
        justify-self: end;
        gap: 0.7rem;
    }

    .signature-block__caption {
        display: none;
    }

    .invitation-followup {
        grid-template-columns: 1fr;
    }

    .invitation-followup > span,
    .invitation-followup a {
        min-height: 52px;
        padding: 0.7rem 1rem;
    }

    .invitation-followup a {
        border-top: 1px solid oklch(74% 0.02 252 / 0.3);
        border-left: 0;
    }

    .invitation-experience.is-motion-prepared .bench-prop--protein {
        transform: translate3d(-3rem, -1rem, 0) rotate(-14deg) scale(0.92);
    }

    .invitation-experience.is-motion-prepared .bench-prop--group-photo {
        transform: translate3d(2rem, -2rem, 0) rotate(12deg) scale(0.94);
    }

}

@media (prefers-reduced-motion: reduce) {
    .recruitment-letter-page *,
    .recruitment-letter-page *::before,
    .recruitment-letter-page *::after {
        animation-duration: 0.01ms !important;
        animation-delay: 0ms !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }

    .invitation-experience .bench-prop,
    .invitation-experience .invitation-letter,
    .invitation-experience .letterhead,
    .invitation-experience .invitation-letter__accent,
    .invitation-experience .invitation-letter__action,
    .invitation-experience .invitation-letter__closing,
    .invitation-experience .invitation-letter__notice,
    .invitation-experience .invitation-followup,
    .invitation-experience .ink-character {
        opacity: 1 !important;
        filter: none !important;
        transform: none !important;
    }
}

@media print {
    body.recruitment-letter-page,
    .recruitment-letter-page .site-shell,
    .recruitment-letter-page .site-main,
    .invitation-stage {
        background: var(--invitation-paper) !important;
    }

    .recruitment-letter-page .site-header,
    .recruitment-letter-page .site-footer,
    .recruitment-letter-page .recruitment-breadcrumb,
    .bench-prop,
    .invitation-stage__light,
    .invitation-followup {
        display: none !important;
    }

    .invitation-stage {
        min-height: 0;
        overflow: visible;
        padding: 0;
    }

    .invitation-letter {
        width: 100%;
        box-shadow: none;
        clip-path: none !important;
        transform: none !important;
    }

    .invitation-letter__content {
        padding: 1.2cm 1.5cm;
    }

    .invitation-letter a {
        color: var(--invitation-ink);
    }
}

/* English composition: preserve the visual system while tuning Latin typography. */
body[data-language="en"].members-page .members-hero .hero-title,
body[data-language="en"].members-page .roster-band__header .section-title,
body[data-language="en"].members-page .profile-card__name,
body[data-language="en"].members-page .join-banner .section-title,
body[data-language="en"].recruitment-letter-page .letterhead__identity strong,
body[data-language="en"].recruitment-letter-page .letterhead__identity span,
body[data-language="en"].recruitment-letter-page .invitation-letter h1,
body[data-language="en"].recruitment-letter-page .invitation-letter__recipient,
body[data-language="en"].recruitment-letter-page .invitation-letter__body p,
body[data-language="en"].recruitment-letter-page .invitation-letter__closing > p,
body[data-language="en"].recruitment-letter-page .invitation-followup a {
    font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
}

body[data-language="en"].members-page .members-hero__copy {
    max-width: 47rem;
}

body[data-language="en"].members-page .members-hero .hero-title {
    max-width: 11ch;
    font-size: clamp(2.8rem, 5.4vw, 5rem);
    letter-spacing: -0.045em;
    line-height: 0.98;
}

body[data-language="en"].members-page .members-hero .hero-copy {
    max-width: 62ch;
    line-height: 1.72;
}

body[data-language="en"].members-page .members-timeline__copy {
    align-items: center;
}

body[data-language="en"].members-page .members-timeline__copy strong {
    font-size: 0.82rem;
    letter-spacing: -0.01em;
}

body[data-language="en"].members-page .roster-band__header .section-title {
    max-width: 19ch;
    font-size: clamp(1.55rem, 2.1vw, 2rem);
    letter-spacing: -0.025em;
    line-height: 1.05;
}

body[data-language="en"].members-page .roster-band__header .section-copy {
    max-width: 62ch;
    line-height: 1.65;
}

body[data-language="en"].members-page .role-count {
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

body[data-language="en"].members-page .profile-card__name {
    font-size: clamp(1.35rem, 2vw, 1.7rem);
    letter-spacing: -0.025em;
    line-height: 1.05;
    text-wrap: balance;
}

body[data-language="en"].recruitment-letter-page .letterhead__identity strong {
    max-width: 34ch;
    font-size: clamp(1.08rem, 1.7vw, 1.45rem);
    letter-spacing: -0.018em;
    line-height: 1.15;
}

body[data-language="en"].recruitment-letter-page .letterhead__identity span {
    font-size: 0.92rem;
    letter-spacing: 0.01em;
}

body[data-language="en"].recruitment-letter-page .letterhead__meta {
    letter-spacing: 0.095em;
}

body[data-language="en"].recruitment-letter-page .invitation-letter h1 {
    max-width: 13ch;
    font-size: clamp(2.65rem, 5vw, 4.55rem);
    font-weight: 500;
    letter-spacing: -0.048em;
    line-height: 0.98;
}

body[data-language="en"].recruitment-letter-page .invitation-letter__recipient {
    letter-spacing: 0;
}

body[data-language="en"].recruitment-letter-page .invitation-letter__body {
    gap: clamp(2rem, 4vw, 3.7rem);
}

body[data-language="en"].recruitment-letter-page .invitation-letter__section + .invitation-letter__section {
    padding-left: clamp(2rem, 4vw, 3.7rem);
}

body[data-language="en"].recruitment-letter-page .invitation-letter__section h2 {
    font-size: 0.7rem;
    letter-spacing: 0.11em;
    line-height: 1.35;
    text-transform: uppercase;
}

body[data-language="en"].recruitment-letter-page .invitation-letter__body p {
    max-width: 31em;
    font-size: clamp(0.98rem, 1.25vw, 1.1rem);
    letter-spacing: -0.008em;
    line-height: 1.68;
}

body[data-language="en"].recruitment-letter-page .invitation-letter__action-copy > span,
body[data-language="en"].recruitment-letter-page .invitation-letter__closing > p {
    letter-spacing: 0;
}

body[data-language="en"].recruitment-letter-page .invitation-letter__notice {
    max-width: 100%;
    font-size: 0.8rem;
    line-height: 1.55;
}

body[data-language="en"].recruitment-letter-page .signature-mark > span {
    font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
    font-size: clamp(2rem, 3.2vw, 2.85rem);
    font-style: italic;
    font-weight: 600;
    letter-spacing: -0.075em;
    line-height: 0.95;
    transform: skewX(-7deg) rotate(-3deg);
}

body[data-language="en"].recruitment-letter-page .signature-mark {
    min-width: clamp(11.5rem, 18vw, 14rem);
}

body[data-language="en"].recruitment-letter-page .signature-mark > i {
    right: 0;
    width: 8.5rem;
    transform: rotate(-5deg);
}

body[data-language="en"].recruitment-letter-page .signature-block__caption {
    max-width: 26rem;
    line-height: 1.45;
}

body[data-language="en"].recruitment-letter-page .invitation-followup > span {
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

@media (max-width: 760px) {
    body[data-language="en"].members-page .members-hero .hero-title {
        font-size: clamp(2.6rem, 13vw, 3.55rem);
    }

    body[data-language="en"].members-page .members-timeline__copy strong {
        max-width: 8.5rem;
        font-size: 0.7rem;
        line-height: 1.15;
        white-space: normal;
    }

    body[data-language="en"].recruitment-letter-page .invitation-letter h1 {
        max-width: 11ch;
        font-size: clamp(2.35rem, 11.5vw, 3.35rem);
    }

    body[data-language="en"].recruitment-letter-page .invitation-letter__body p {
        max-width: 38em;
    }
}
