
        :root {
            --ink: #062f35;
            --deep: #021b20;
            --jade: #1d6c68;
            --mint: #78aaa1;
            --gold: #c89a50;
            --gold2: #ebcc91;
            --paper: #f5f0e5;
            --white: #fff;
            --text: #173f41;
            --muted: #667c7b;
            --line: rgba(10, 74, 75, .15);
            --shadow: 0 24px 70px rgba(4, 41, 45, .13)
        }

        * {
            box-sizing: border-box
        }

        html {
            scroll-behavior: smooth
        }

        body {
            margin: 0;
            background: var(--paper);
            color: var(--text);
            font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
            font-size: 16px;
            line-height: 1.8;
            -webkit-font-smoothing: antialiased
        }

        body.nav-open {
            overflow: hidden
        }

        a {
            color: inherit;
            text-decoration: none
        }

        button {
            font: inherit
        }

        img {
            max-width: 100%
        }

        .serif {
            font-family: "Songti SC", "STSong", "Noto Serif SC", serif
        }

        .wrap {
            width: min(1180px, calc(100% - 48px));
            margin: auto
        }

        .section {
            padding: 104px 0
        }

        .eyebrow {
            display: flex;
            align-items: center;
            gap: 12px;
            color: var(--gold);
            font-size: 12px;
            font-weight: 700;
            letter-spacing: .18em;
            text-transform: uppercase
        }

        .eyebrow:before {
            content: "";
            width: 34px;
            height: 1px;
            background: currentColor
        }

        .section-head {
            display: grid;
            grid-template-columns: .9fr 1.1fr;
            gap: 72px;
            align-items: end;
            margin-bottom: 48px
        }

        .section-head h2 {
            margin: 14px 0 0;
            color: var(--ink);
            font-size: clamp(36px, 4.2vw, 58px);
            font-weight: 500;
            line-height: 1.2;
            letter-spacing: .035em
        }

        .section-head p {
            max-width: 620px;
            margin: 0;
            color: var(--muted);
            line-height: 2
        }

        .reveal {
            opacity: 0;
            transform: translateY(24px);
            transition: .75s ease
        }

        .reveal.show {
            opacity: 1;
            transform: none
        }

        .topbar {
            position: fixed;
            z-index: 80;
            inset: 0 0 auto;
            height: 78px;
            border-bottom: 1px solid rgba(255, 255, 255, .14);
            background: rgba(3, 28, 33, .91);
            box-shadow: 0 8px 28px rgba(1, 20, 24, .12);
            backdrop-filter: blur(12px)
        }

        .site-nav {
            display: flex;
            align-items: center;
            justify-content: space-between;
            height: 78px;
            color: #fff
        }

        .brand-logo {
            display: block;
            width: 238px;
            height: auto
        }

        .links {
            display: flex;
            align-items: center;
            gap: 28px;
            color: rgba(255, 255, 255, .78);
            font-size: 13px
        }

        .links a {
            transition: .2s
        }

        .links a:hover {
            color: var(--gold2)
        }

        .nav-cta {
            padding: 9px 17px;
            border: 1px solid rgba(232, 202, 145, .7);
            color: var(--gold2) !important
        }

        .nav-toggle {
            position: relative;
            display: none;
            align-items: center;
            justify-content: center;
            width: 44px;
            height: 44px;
            padding: 0;
            border: 1px solid rgba(255, 255, 255, .35);
            background: transparent;
            color: #fff;
            cursor: pointer
        }

        .nav-toggle span {
            position: absolute;
            width: 20px;
            height: 1.5px;
            border-radius: 2px;
            background: currentColor;
            transition: transform .28s, opacity .2s
        }

        .nav-toggle span:first-child {
            transform: translateY(-6px)
        }

        .nav-toggle span:last-child {
            transform: translateY(6px)
        }

        .nav-toggle[aria-expanded="true"] span:first-child {
            transform: rotate(45deg)
        }

        .nav-toggle[aria-expanded="true"] span:nth-child(2) {
            opacity: 0
        }

        .nav-toggle[aria-expanded="true"] span:last-child {
            transform: rotate(-45deg)
        }

        .drawer-head, .nav-backdrop {
            display: none
        }

        .hero {
            position: relative;
            min-height: 900px;
            overflow: hidden;
            color: #fff;
            background: radial-gradient(circle at 73% 42%, rgba(42, 120, 113, .62), transparent 31%), linear-gradient(125deg, #021a20 8%, #07363c 57%, #0b5050)
        }

        .hero:before {
            content: "";
            position: absolute;
            inset: 0;
            opacity: .22;
            background-image: linear-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .07) 1px, transparent 1px);
            background-size: 58px 58px;
            mask-image: linear-gradient(90deg, #000, transparent 72%)
        }

        .hero:after {
            content: "";
            position: absolute;
            left: -10%;
            right: -10%;
            bottom: -155px;
            height: 260px;
            border-radius: 50% 50% 0 0/34% 34% 0 0;
            background: var(--paper)
        }

        .hero-grid {
            position: relative;
            z-index: 2;
            display: grid;
            grid-template-columns: 1.1fr .9fr;
            gap: 24px;
            align-items: center;
            min-height: 850px;
            padding-top: 106px;
            padding-bottom: 60px
        }

        .hero-kicker {
            margin-bottom: 24px;
            color: var(--gold2);
            font-size: 13px;
            letter-spacing: .2em
        }

        .hero h1 {
            margin: 0 0 26px;
            font-size: clamp(38px, 4.1vw, 52px);
            font-weight: 500;
            line-height: 1.12;
            letter-spacing: .035em
        }

        .hero h1 span {
            display: block;
            margin-top: 14px;
            color: var(--gold2);
            font-size: .42em;
            letter-spacing: .1em
        }

        .hero-lead {
            max-width: 650px;
            margin: 30px 0 0;
            color: rgba(255, 255, 255, .75);
            font-size: 17px;
            line-height: 2
        }

        .hero-lead strong {
            color: #fff;
            font-weight: 600
        }

        .hero-quote {
            margin: 25px 0 0;
            padding: 17px 20px;
            border-left: 2px solid var(--gold2);
            background: rgba(255, 255, 255, .05);
            color: rgba(255, 255, 255, .68);
            font-style: italic
        }

        .actions {
            display: flex;
            gap: 13px;
            margin-top: 30px
        }

        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 50px;
            padding: 0 24px;
            border: 1px solid transparent;
            transition: .25s
        }

        .btn-primary {
            background: var(--gold2);
            color: var(--deep)
        }

        .btn-primary:hover {
            background: #f4dda9;
            transform: translateY(-2px)
        }

        .btn-ghost {
            border-color: rgba(255, 255, 255, .42);
            color: #fff
        }

        .hero-art {
            position: relative;
            display: grid;
            place-items: center;
            min-height: 520px
        }

        .hero-ring {
            position: absolute;
            border: 1px solid rgba(232, 202, 145, .27);
            border-radius: 50%
        }

        .hero-ring.one {
            inset: 7%;
            animation: spin 30s linear infinite
        }

        .hero-ring.two {
            inset: 19%;
            animation: spin 22s linear infinite reverse
        }

        .hero-ring:after {
            content: "";
            position: absolute;
            top: 7%;
            left: 18%;
            width: 9px;
            height: 9px;
            border-radius: 50%;
            background: var(--gold2);
            box-shadow: 0 0 18px var(--gold2)
        }

        .hall-mark {
            position: relative;
            z-index: 2;
            display: grid;
            place-items: center;
            width: 310px;
            height: 310px;
            border: 1px solid rgba(232, 202, 145, .65);
            border-radius: 50%;
            background: rgba(2, 27, 32, .72);
            box-shadow: 0 30px 80px rgba(0, 0, 0, .26);
            text-align: center
        }

        .hall-mark strong {
            display: block;
            color: var(--gold2);
            font: 500 58px/1.1 "Songti SC", serif;
            letter-spacing: .12em
        }

        .hall-mark span {
            display: block;
            margin-top: 15px;
            color: rgba(255, 255, 255, .7);
            font-size: 13px;
            letter-spacing: .22em
        }

        @keyframes spin {
            to {
                transform: rotate(360deg)
            }
        }

        .coordinates {
            position: relative;
            z-index: 3;
            padding: 28px 0 100px
        }

        .coordinate-grid {
            display: grid;
            grid-template-columns: 1.08fr .92fr;
            gap: 68px;
            align-items: center
        }

        .coordinate-copy blockquote {
            margin: 0;
            color: var(--ink);
            font: 500 clamp(30px, 4vw, 52px)/1.55 "Songti SC", serif
        }

        .coordinate-copy blockquote em {
            color: var(--gold);
            font-style: normal
        }

        .coordinate-copy > p {
            margin: 26px 0;
            color: var(--muted);
            line-height: 2
        }

        .facts {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 10px
        }

        .fact {
            padding: 17px;
            border: 1px solid var(--line);
            background: #faf8f2
        }

        .fact b {
            display: block;
            color: var(--gold);
            font-size: 11px;
            letter-spacing: .12em
        }

        .fact span {
            display: block;
            margin-top: 6px;
            color: var(--ink);
            font-size: 13px
        }

        .coordinate-image {
            position: relative;
            padding: 15px;
            border: 1px solid var(--line);
            background: #fff;
            box-shadow: var(--shadow)
        }

        .coordinate-image img {
            display: block;
            width: 100%;
            aspect-ratio: 1.22;
            object-fit: cover;
            object-position: right center
        }

        .image-note {
            position: absolute;
            right: 24px;
            bottom: 22px;
            padding: 5px 9px;
            background: rgba(2, 27, 32, .76);
            color: rgba(255, 255, 255, .7);
            font-size: 10px
        }

        .legacy {
            color: #fff;
            background: var(--ink)
        }

        .legacy .section-head h2 {
            color: #fff
        }

        .legacy .section-head p {
            color: rgba(255, 255, 255, .6)
        }

        .legacy-line {
            position: relative;
            display: grid;
            grid-template-columns: repeat(5, 1fr);
            gap: 1px;
            background: rgba(255, 255, 255, .12)
        }

        .legacy-line:before {
            content: "";
            position: absolute;
            z-index: 2;
            top: 42px;
            left: 8%;
            right: 8%;
            height: 1px;
            background: linear-gradient(90deg, transparent, var(--gold2), transparent)
        }

        .legacy-item {
            position: relative;
            min-height: 330px;
            padding: 76px 28px 30px;
            background: var(--ink);
            transition: .3s
        }

        .legacy-item:hover {
            background: #0b4145
        }

        .legacy-dot {
            position: absolute;
            z-index: 3;
            top: 35px;
            left: 28px;
            width: 14px;
            height: 14px;
            border: 3px solid var(--ink);
            border-radius: 50%;
            background: var(--gold2);
            box-shadow: 0 0 0 1px var(--gold2)
        }

        .legacy-no {
            color: var(--gold2);
            font: 12px Georgia, serif;
            letter-spacing: .16em
        }

        .legacy-item h3 {
            margin: 13px 0 12px;
            font-size: 25px;
            font-weight: 500
        }

        .legacy-item h3 small {
            display: block;
            margin-top: 5px;
            color: var(--gold2);
            font-size: 12px;
            font-weight: 500;
            letter-spacing: .12em
        }

        .legacy-item p {
            margin: 0;
            color: rgba(255, 255, 255, .58);
            font-size: 13px;
            line-height: 1.9
        }

        .legacy-map {
            display: block;
            margin-top: 18px;
            color: var(--gold2);
            font-size: 12px
        }

        .legacy-line:before {
            transform: scaleX(0);
            transform-origin: left;
            transition: 2s
        }

        .legacy-line.lit:before {
            transform: scaleX(1)
        }

        .legacy-item {
            opacity: .35;
            transform: translateY(18px);
            transition: .65s
        }

        .legacy-item.active {
            opacity: 1;
            transform: none;
            background: #0b4145
        }

        .legacy-item .legacy-dot {
            background: #536b6c;
            box-shadow: 0 0 0 1px rgba(232, 202, 145, .25);
            transition: .4s
        }

        .legacy-item.active .legacy-dot {
            background: var(--gold2);
            box-shadow: 0 0 0 1px var(--gold2), 0 0 20px rgba(232, 202, 145, .7)
        }

        .experience {
            background: #f7f4ed
        }

        .act-shell {
            display: grid;
            grid-template-columns: 300px 1fr;
            min-height: 470px;
            border: 1px solid var(--line);
            background: #fff;
            box-shadow: var(--shadow)
        }

        .act-nav {
            padding: 30px;
            background: var(--ink)
        }

        .act-nav h3 {
            margin: 0 0 22px;
            color: #fff;
            font-size: 21px
        }

        .act-tab {
            display: block;
            width: 100%;
            margin: 8px 0;
            padding: 16px;
            border: 0;
            border-left: 2px solid transparent;
            background: rgba(255, 255, 255, .05);
            color: rgba(255, 255, 255, .65);
            text-align: left;
            cursor: pointer;
            transition: .25s
        }

        .act-tab small {
            display: block;
            margin-bottom: 3px;
            color: var(--gold2);
            font-size: 10px;
            letter-spacing: .12em
        }

        .act-tab.active, .act-tab:hover {
            border-left-color: var(--gold2);
            background: rgba(232, 202, 145, .12);
            color: #fff
        }

        .act-stage {
            position: relative;
            min-height: 470px;
            overflow: hidden
        }

        .act-panel {
            position: absolute;
            inset: 0;
            display: grid;
            grid-template-columns: .92fr 1.08fr;
            gap: 38px;
            align-items: center;
            padding: 50px;
            opacity: 0;
            pointer-events: none;
            transform: translateX(22px);
            transition: .45s
        }

        .act-panel.active {
            opacity: 1;
            pointer-events: auto;
            transform: none
        }

        .act-visual {
            position: relative;
            display: grid;
            place-items: center;
            aspect-ratio: 1.2;
            overflow: hidden;
            background: linear-gradient(145deg, #e2eee9, #fbfaf7)
        }

        .act-visual img {
            width: 100%;
            height: 100%;
            object-fit: cover
        }

        .act-symbol {
            font: 500 78px/1 "Songti SC", serif;
            color: var(--jade)
        }

        .act-symbol:after {
            content: "";
            display: block;
            width: 72px;
            height: 2px;
            margin: 18px auto;
            background: var(--gold)
        }

        .act-copy small {
            color: var(--gold);
            letter-spacing: .14em
        }

        .act-copy h3 {
            margin: 9px 0 16px;
            color: var(--ink);
            font-size: 30px;
            font-weight: 500
        }

        .act-copy p {
            margin: 0;
            color: var(--muted)
        }

        .act-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 24px
        }

        .act-tags span {
            padding: 7px 10px;
            border: 1px solid var(--line);
            background: #f7f4ed;
            color: var(--jade);
            font-size: 12px
        }

        .wisdom-grid {
            display: grid;
            grid-template-columns: .88fr 1.12fr;
            gap: 80px;
            align-items: center
        }

        .wisdom-map {
            position: relative;
            padding: 8px 0 20px;
            background: transparent;
            overflow: visible
        }

        .wisdom-map-head {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 94px;
            align-items: center;
            margin-bottom: 8px;
            padding: 0 20px 22px;
            color: var(--ink);
            font-size: 14px;
            font-weight: 700;
            text-align: center;
            letter-spacing: .1em
        }

        .towpath-track {
            position: relative;
            padding: 22px 0 30px;
            isolation: isolate
        }

        .towpath-river {
            position: absolute;
            z-index: 0;
            inset: -8px 0 -12px;
            width: 100%;
            height: calc(100% + 20px);
            overflow: visible;
            pointer-events: none;
            opacity: .9;
            mask-image: linear-gradient(to bottom, transparent 0, #000 12%, #000 72%, transparent 100%);
            -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 12%, #000 72%, transparent 100%)
        }

        .river-bed {
            fill: none;
            stroke: rgba(114, 170, 160, .06);
            stroke-width: 50;
            stroke-linecap: round
        }

        .river-inner {
            fill: none;
            stroke: rgba(199, 154, 82, .038);
            stroke-width: 29;
            stroke-linecap: round
        }

        .river-bank {
            fill: none;
            stroke: rgba(31, 107, 103, .14);
            stroke-width: 1;
            stroke-linecap: round
        }

        .river-flow {
            fill: none;
            stroke: rgba(199, 154, 82, .34);
            stroke-width: 1.1;
            stroke-linecap: round;
            stroke-dasharray: 6 14;
            animation: river-flow 8s linear infinite
        }

        @keyframes river-flow {
            to {
                stroke-dashoffset: -190
            }
        }

        .wisdom-row {
            --shift: 0px;
            position: relative;
            z-index: 2;
            display: grid;
            grid-template-columns: 1fr 94px 1fr;
            align-items: center;
            min-height: 84px;
            transform: translateX(var(--shift));
            transition: .3s
        }

        .wisdom-row:nth-of-type(1) {
            --shift: -25px
        }

        .wisdom-row:nth-of-type(2) {
            --shift: 20px
        }

        .wisdom-row:nth-of-type(3) {
            --shift: -18px
        }

        .wisdom-row:nth-of-type(4) {
            --shift: 24px
        }

        .wisdom-row b, .wisdom-row strong {
            padding: 14px 20px;
            font-size: 17px;
            font-weight: 500;
            text-align: center;
            transition: .25s
        }

        .wisdom-row b {
            color: var(--ink)
        }

        .wisdom-row strong {
            position: relative;
            color: var(--jade)
        }

        .wisdom-row strong:after {
            content: "";
            position: absolute;
            left: 50%;
            bottom: 7px;
            width: 0;
            height: 1px;
            background: #d44955;
            transform: translateX(-50%);
            transition: width .25s
        }

        .wisdom-row i {
            position: relative;
            z-index: 3;
            display: grid;
            place-items: center;
            width: 22px;
            height: 22px;
            margin: auto;
            border: 1px solid rgba(199, 154, 82, .62);
            border-radius: 50%;
            background: rgba(245, 240, 229, .92);
            color: var(--gold);
            font-size: 0;
            font-style: normal;
            transition: .25s
        }

        .wisdom-row i:after {
            content: "";
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: var(--gold)
        }

        .wisdom-row:hover b {
            color: #a9343f;
            transform: translateX(-3px)
        }

        .wisdom-row:hover strong {
            color: #d44955;
            transform: translateX(4px);
            text-shadow: 0 0 12px rgba(212, 73, 85, .16)
        }

        .wisdom-row:hover strong:after {
            width: 38px
        }

        .wisdom-row:hover i {
            border-color: #d44955;
            background: #fff5f2;
            box-shadow: 0 0 0 5px rgba(212, 73, 85, .1), 0 0 18px rgba(212, 73, 85, .28)
        }

        .wisdom-row:hover i:after {
            background: #d44955;
            box-shadow: 0 0 8px rgba(212, 73, 85, .78);
            animation: cherry-pulse 1.25s ease-in-out infinite
        }

        @keyframes cherry-pulse {
            50% {
                transform: scale(1.45);
                box-shadow: 0 0 13px rgba(212, 73, 85, .9)
            }
        }

        .wisdom-note {
            margin-top: 28px;
            padding: 18px 0 0;
            border-top: 1px solid var(--line);
            color: var(--muted);
            font-style: italic
        }

        .wisdom-note strong {
            color: var(--ink);
            font-style: normal
        }

        .wisdom-copy h2 {
            margin: 15px 0 24px;
            color: var(--ink);
            font-size: clamp(38px, 4.2vw, 58px);
            font-weight: 500;
            line-height: 1.22
        }

        .wisdom-copy > p {
            color: var(--muted);
            line-height: 2
        }

        .wisdom-list {
            margin: 28px 0 0;
            padding: 0;
            list-style: none
        }

        .wisdom-list li {
            display: grid;
            grid-template-columns: 90px 1fr;
            gap: 15px;
            padding: 14px 0;
            border-top: 1px solid var(--line)
        }

        .wisdom-list b {
            color: var(--gold)
        }

        .roles {
            color: #fff;
            background: linear-gradient(140deg, #031b21, #0b4749)
        }

        .roles .section-head h2 {
            color: #fff
        }

        .roles .section-head p {
            color: rgba(255, 255, 255, .6)
        }

        .role-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            border: 1px solid rgba(255, 255, 255, .14)
        }

        .role-card {
            position: relative;
            min-height: 300px;
            padding: 42px 34px 34px;
            border-right: 1px solid rgba(255, 255, 255, .14);
            overflow: hidden;
            transition: background .3s, box-shadow .3s
        }

        .role-card:last-child {
            border: 0
        }

        .role-card:before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 2px;
            background: linear-gradient(90deg, var(--gold2), transparent 78%);
            transform: scaleX(0);
            transform-origin: left;
            transition: .35s
        }

        .role-card:hover {
            z-index: 2;
            background: rgba(255, 255, 255, .045);
            box-shadow: inset 0 0 34px rgba(255, 255, 255, .025)
        }

        .role-card:hover:before {
            transform: scaleX(1)
        }

        .role-card h3 {
            margin: 18px 0 13px;
            font-size: 24px;
            font-weight: 500;
            transition: color .25s, transform .25s
        }

        .role-card:hover h3 {
            color: var(--gold2);
            transform: translateX(4px)
        }

        .role-card p {
            margin: 0;
            color: rgba(255, 255, 255, .58)
        }

        .role-card span {
            display: block;
            margin-top: 24px;
            color: var(--gold2);
            font-size: 12px;
            letter-spacing: .08em
        }

        .ecosystem {
            background: #f7f4ed
        }

        .space-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 16px
        }

        .space-card {
            position: relative;
            display: block;
            min-height: 330px;
            padding: 34px;
            border: 1px solid var(--line);
            background: #fff;
            cursor: pointer;
            transition: .3s
        }

        .space-card:hover {
            border-color: rgba(199, 154, 82, .6);
            box-shadow: var(--shadow);
            transform: translateY(-6px)
        }

        .space-card:focus-visible {
            outline: 2px solid var(--gold);
            outline-offset: 4px;
            box-shadow: var(--shadow)
        }

        .space-card:after {
            content: "了解更多  →";
            position: absolute;
            left: 34px;
            bottom: 28px;
            color: var(--jade);
            font-size: 12px;
            letter-spacing: .06em;
            opacity: 0;
            transform: translateY(5px);
            transition: .25s
        }

        .space-card:hover:after, .space-card:focus-visible:after {
            opacity: 1;
            transform: none
        }

        .space-card b {
            color: var(--gold);
            font: 24px Georgia, serif
        }

        .space-card h3 {
            margin: 54px 0 10px;
            color: var(--ink);
            font-size: 24px
        }

        .space-card strong {
            color: var(--gold);
            font-size: 13px
        }

        .space-card p {
            color: var(--muted);
            font-size: 14px
        }

        .visit {
            position: relative;
            overflow: hidden;
            padding: 116px 0;
            color: #fff;
            background: linear-gradient(90deg, rgba(3, 28, 33, .96), rgba(3, 28, 33, .76)), url('assets/mockup/offline-interior.png') center/cover
        }

        .visit-inner {
            display: grid;
            grid-template-columns: 1fr auto;
            gap: 55px;
            align-items: center
        }

        .visit h2 {
            margin: 14px 0 20px;
            font-size: clamp(38px, 4.7vw, 64px);
            font-weight: 500;
            line-height: 1.25
        }

        .visit p {
            max-width: 760px;
            margin: 0;
            color: rgba(255, 255, 255, .68)
        }

        .address {
            margin-top: 22px;
            color: var(--gold2);
            font-size: 13px
        }

        .visit-actions {
            display: flex;
            flex-direction: column;
            gap: 12px;
            min-width: 190px
        }

        footer {
            padding: 30px 0;
            background: #02171b;
            color: #82908d;
            font-size: 12px
        }

        .footer-inner {
            display: flex;
            justify-content: space-between;
            gap: 25px
        }

        .footer-slogan {
            color: var(--gold2);
            letter-spacing: .16em
        }

        @media (max-width: 1050px) {
            .legacy-line {
                grid-template-columns: 1fr 1fr
            }

            .legacy-line:before {
                display: none
            }

            .legacy-item {
                min-height: 280px;
                border-bottom: 1px solid rgba(255, 255, 255, .13)
            }

            .hero h1 {
                font-size: 64px
            }

            .hero-grid {
                gap: 20px
            }

            .hall-mark {
                width: 250px;
                height: 250px
            }

            .hall-mark strong {
                font-size: 46px
            }
        }

        @media (max-width: 900px) {
            .nav-toggle {
                display: flex;
                z-index: 92
            }

            .nav-collapse {
                position: fixed;
                z-index: 90;
                top: 0;
                right: 0;
                display: flex;
                flex-direction: column;
                width: min(84vw, 380px);
                height: 100vh;
                height: 100 dvh;
                padding: 28px 24px max(22px, env(safe-area-inset-bottom));
                overflow-y: auto;
                background: linear-gradient(165deg, #052f35, #021b20);
                box-shadow: -24px 0 60px rgba(0, 0, 0, .28);
                visibility: hidden;
                transform: translateX(105%);
                transition: transform .34s, visibility .34s
            }

            .nav-collapse.open {
                visibility: visible;
                transform: none
            }

            .drawer-head {
                display: block;
                min-height: 48px;
                padding-right: 54px;
                border-bottom: 1px solid rgba(255, 255, 255, .13);
                color: var(--gold2);
                font-size: 12px;
                letter-spacing: .18em
            }

            .links {
                flex: 1;
                flex-direction: column;
                align-items: flex-start;
                gap: 0;
                padding-top: 14px;
                font-size: 16px
            }

            .links a {
                width: 100%;
                padding: 14px 2px;
                border-bottom: 1px solid rgba(255, 255, 255, .1)
            }

            .nav-cta {
                width: 100%;
                margin-top: auto;
                text-align: center
            }

            .nav-backdrop {
                position: fixed;
                z-index: 85;
                inset: 0;
                display: block;
                border: 0;
                background: rgba(1, 17, 20, .62);
                opacity: 0;
                visibility: hidden;
                backdrop-filter: blur(3px);
                transition: .3s
            }

            .nav-backdrop.open {
                opacity: 1;
                visibility: visible
            }

            body.nav-open .nav-toggle {
                position: fixed;
                top: 17px;
                right: 20px
            }

            .hero-grid, .coordinate-grid, .wisdom-grid {
                grid-template-columns: 1fr
            }

            .hero-grid {
                padding-top: 150px
            }

            .hero-copy {
                text-align: left
            }

            .hero-art {
                min-height: 390px
            }

            .section-head {
                grid-template-columns: 1fr;
                gap: 28px
            }

            .act-shell {
                grid-template-columns: 1fr
            }

            .act-nav {
                display: flex;
                flex-wrap: wrap;
                gap: 8px
            }

            .act-nav h3 {
                width: 100%
            }

            .act-tab {
                flex: 1;
                min-width: 140px;
                margin: 0
            }

            .act-stage {
                min-height: 570px
            }

            .act-panel {
                grid-template-columns: 1fr;
                padding: 35px
            }

            .role-grid, .space-grid {
                grid-template-columns: 1fr
            }

            .role-card {
                min-height: auto;
                border-right: 0;
                border-bottom: 1px solid rgba(255, 255, 255, .14)
            }

            .visit-inner {
                grid-template-columns: 1fr
            }

            .visit-actions {
                flex-direction: row
            }
        }

        @media (max-width: 640px) {
            .wrap {
                width: min(100% -32px, 1180px)
            }

            .brand-logo {
                width: 195px
            }

            .section {
                padding: 76px 0
            }

            .section-head h2 {
                font-size: 38px
            }

            .hero {
                min-height: auto
            }

            .hero-grid {
                min-height: auto;
                padding-top: 132px;
                padding-bottom: 120px
            }

            .hero h1 {
                font-size: 48px
            }

            .hero h1 span {
                font-size: .38em;
                line-height: 1.5
            }

            .hero-lead {
                font-size: 15px
            }

            .actions {
                flex-direction: column
            }

            .hero-art {
                min-height: 320px
            }

            .hall-mark {
                width: 210px;
                height: 210px
            }

            .hall-mark strong {
                font-size: 40px
            }

            .coordinates {
                padding-bottom: 76px
            }

            .coordinate-copy blockquote {
                font-size: 30px
            }

            .facts {
                grid-template-columns: 1fr
            }

            .legacy-line {
                grid-template-columns: 1fr
            }

            .legacy-item {
                min-height: auto;
                padding: 75px 25px 28px
            }

            .act-nav {
                display: block
            }

            .act-tab {
                width: 100%;
                margin: 7px 0
            }

            .act-stage {
                min-height: 630px
            }

            .act-panel {
                padding: 24px
            }

            .wisdom-map-head {
                grid-template-columns: 1fr 1fr;
                gap: 48px;
                padding-right: 4px;
                padding-left: 4px
            }

            .wisdom-row {
                grid-template-columns: 1fr 48px 1fr
            }

            .wisdom-row:nth-of-type(1) {
                --shift: -10px
            }

            .wisdom-row:nth-of-type(2) {
                --shift: 8px
            }

            .wisdom-row:nth-of-type(3) {
                --shift: -8px
            }

            .wisdom-row:nth-of-type(4) {
                --shift: 10px
            }

            .river-bed {
                stroke-width: 38
            }

            .river-inner {
                stroke-width: 22
            }

            .wisdom-row b, .wisdom-row strong {
                padding: 12px 4px;
                font-size: 14px
            }

            .wisdom-row i {
                width: 20px;
                height: 20px
            }

            .visit-actions {
                flex-direction: column
            }

            .footer-inner {
                display: block
            }

            .footer-slogan {
                display: block;
                margin-top: 7px
            }
        }

        @media (prefers-reduced-motion: reduce) {
            html {
                scroll-behavior: auto
            }

            .reveal, .hero-ring, .act-panel, .legacy-item, .legacy-dot, .legacy-line:before {
                animation: none;
                transition: none
            }

            .reveal, .legacy-item {
                opacity: 1;
                transform: none
            }

            .legacy-line:before {
                transform: scaleX(1)
            }
        }
    