.heritage-page { min-height: 100vh; padding-top: 96px; background: #fbf5e8; color: #143b4a; }
.heritage-page-hero { position: relative; display: grid; grid-template-columns: 1fr 1.12fr; min-height: 790px; overflow: hidden; background: #f3ead8; }
.heritage-hero-art { position: relative; min-height: 650px; overflow: hidden; }
.heritage-hero-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,transparent 45%,#f3ead8),linear-gradient(0deg,rgba(243,234,216,.84),transparent 45%); }
.heritage-hero-art > img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
.heritage-brand-lockup { position: absolute; z-index: 2; top: clamp(3.5rem,7vw,7rem); left: clamp(2rem,5vw,5.5rem); display: grid; grid-template-columns: clamp(64px,7vw,88px) auto; gap: clamp(1rem,1.7vw,1.5rem); align-items: center; width: min(72%,440px); }
.heritage-brand-lockup::before { content: ""; position: absolute; z-index: -1; inset: -1.25rem -1.6rem; border-radius: 999px; background: rgba(255,250,240,.42); filter: blur(18px); }
.heritage-brand-lockup > img { width: 100%; height: auto; filter: drop-shadow(0 8px 16px rgba(20,59,74,.12)); }
.heritage-brand-lockup span { display: grid; gap: .5rem; padding-left: clamp(1rem,1.7vw,1.45rem); border-left: 1px solid rgba(181,40,49,.28); }
.heritage-brand-lockup strong { color: #b52831; font: 500 clamp(1.35rem,2vw,2rem)/1.1 "STKaiti","KaiTi","Kaiti SC","FangSong","Microsoft YaHei",serif; letter-spacing: .08em; white-space: nowrap; }
.heritage-brand-lockup small { color: #153c74; font-size: clamp(.5rem,.7vw,.66rem); font-weight: 800; letter-spacing: .13em; line-height: 1.5; text-transform: uppercase; }
.heritage-hero-copy { position: relative; z-index: 2; align-self: center; max-width: 850px; padding: clamp(5rem,8vw,9rem) clamp(1.5rem,8vw,9rem) clamp(5rem,8vw,9rem) clamp(2rem,4vw,5rem); }
.heritage-page-eyebrow { margin: 0 0 1rem; color: #0c5f61; font-size: .68rem; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }
.heritage-hero-copy h1 { margin: 0; font: 500 clamp(3.8rem,6vw,7rem)/.93 Georgia,"Songti SC",serif; letter-spacing: -.055em; }
.heritage-hero-copy h1 em { color: #ef5c43; font-weight: 400; }
.heritage-hero-copy > p:last-child { max-width: 660px; margin: 2rem 0 0; color: rgba(20,59,74,.72); font-size: clamp(1rem,1.25vw,1.16rem); line-height: 1.9; }
.heritage-founded { position: absolute; z-index: 3; left: clamp(1.5rem,5vw,6rem); bottom: clamp(2rem,5vw,5rem); display: grid; color: #143b4a; }
.heritage-founded span,.heritage-founded small { font-size: .58rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.heritage-founded strong { color: #ef5c43; font: 500 clamp(4.7rem,9vw,9rem)/.85 Georgia,serif; letter-spacing: -.07em; }
.heritage-founded small { margin-top: .6rem; color: rgba(20,59,74,.5); }

.heritage-origin { display: grid; grid-template-columns: .45fr 1.25fr .7fr; gap: clamp(2rem,6vw,7rem); padding: var(--section-space-y) var(--section-space-x); background: linear-gradient(rgba(20,123,120,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(20,123,120,.03) 1px,transparent 1px),#fffaf0; background-size: 28px 28px; }
.heritage-section-label { display: flex; align-items: flex-start; gap: .8rem; padding-top: .6rem; }
.heritage-section-label span { color: #ef5c43; font: italic 1.7rem Georgia,serif; }
.heritage-section-label p { margin: .35rem 0 0; color: #0c5f61; font-size: .67rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.heritage-origin-copy h2,.heritage-groups-heading h2 { margin: 0; font: 500 clamp(3rem,5vw,5.5rem)/.98 Georgia,"Songti SC",serif; letter-spacing: -.045em; }
.heritage-origin-text { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 2rem; }
.heritage-origin-text p { margin: 0; color: rgba(20,59,74,.7); line-height: 1.9; }
.heritage-origin blockquote { position: relative; align-self: center; margin: 0; padding: 2rem 0 0; border-top: 1px solid rgba(20,59,74,.2); color: #b52831; font: 500 clamp(1.4rem,2.2vw,2.3rem)/1.45 Georgia,"Songti SC",serif; }
.heritage-origin blockquote span { position: absolute; left: 0; top: -.4rem; color: #edae36; font-size: 4rem; }

.heritage-timeline { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(3rem,8vw,10rem); padding: var(--section-space-y) var(--section-space-x); background: #0c5f61; color: white; }
.heritage-section-label.light p { color: rgba(255,255,255,.64); }
.heritage-section-label.light span { color: #ffd58a; }
.heritage-timeline header .chinese-kicker { margin-top: 4rem; }
.heritage-timeline header h2 { margin: 0; font: 500 clamp(3rem,5vw,5.6rem)/.98 Georgia,"Songti SC",serif; letter-spacing: -.045em; }
.heritage-timeline-list { border-top: 1px solid rgba(255,255,255,.18); }
.heritage-timeline-list article { display: grid; grid-template-columns: 95px 1fr; gap: 1.5rem; padding: 2rem 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.heritage-timeline-list article > strong { color: #ffd58a; font: 500 1.35rem Georgia,"Songti SC",serif; }
.heritage-timeline-list article div > p:first-child { margin: 0 0 .35rem; color: rgba(255,255,255,.55); font-size: .7rem; letter-spacing: .12em; }
.heritage-timeline-list h3 { margin: 0 0 .6rem; font: 500 clamp(1.35rem,2vw,1.9rem) Georgia,serif; }
.heritage-timeline-list article div > p:last-child { margin: 0; color: rgba(255,255,255,.62); font-size: .85rem; line-height: 1.7; }

.heritage-groups { padding: var(--section-space-y) var(--section-space-x); background: #f6eddc; }
.heritage-groups-heading { display: grid; grid-template-columns: .45fr 1.55fr; gap: clamp(2rem,6vw,7rem); max-width: 1300px; margin: 0 auto 4rem; }
.heritage-groups-heading > div:last-child > p:last-child { max-width: 650px; color: rgba(20,59,74,.68); line-height: 1.8; }
.heritage-group-grid { position: relative; isolation: isolate; display: grid; grid-template-columns: repeat(5,1fr); align-items: end; gap: 0; max-width: 1400px; min-height: 480px; margin: 0 auto; padding: clamp(12rem,22vw,20rem) clamp(1rem,2vw,1.5rem) clamp(1rem,2vw,1.5rem); overflow: hidden; border: 1px solid rgba(20,59,74,.1); border-radius: clamp(1.6rem,3vw,2.8rem); background-image: linear-gradient(0deg,rgba(12,95,97,.82) 0%,rgba(12,95,97,.2) 48%,rgba(255,250,240,.02) 75%),url("../media/hero-copy-artwork-no-performer.png"); background-size: cover; background-position: center 58%; box-shadow: 0 30px 75px rgba(20,59,74,.14); }
.heritage-group-grid::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(239,92,67,.12),transparent 30%,transparent 72%,rgba(237,174,54,.13)); }
.heritage-group-grid article { position: relative; min-height: 160px; padding: clamp(1.15rem,2vw,1.7rem); border-right: 1px solid rgba(20,59,74,.12); display: flex; flex-direction: column; justify-content: flex-end; background: rgba(255,250,240,.74); backdrop-filter: blur(8px); }
.heritage-group-grid article:first-of-type { border-radius: 20px 0 0 20px; }
.heritage-group-grid article:last-of-type { border-right: 0; border-radius: 0 20px 20px 0; }
.heritage-group-grid span { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 1.3rem; border-radius: 50%; background: #147b78; color: #fffaf0; font: 500 1.35rem Georgia,"Songti SC",serif; box-shadow: 0 10px 25px rgba(12,95,97,.18); }
.heritage-group-grid article:nth-of-type(2) span { background: #153c74; }
.heritage-group-grid article:nth-of-type(3) span { background: #ef5c43; }
.heritage-group-grid article:nth-of-type(4) span { background: #b52831; }
.heritage-group-grid article:nth-of-type(5) span { background: #edae36; color: #143b4a; }
.heritage-group-grid p { margin: 0 0 .4rem; color: #b52831; font: 500 .83rem Georgia,"Songti SC",serif; letter-spacing: .1em; }
.heritage-group-grid h3 { margin: 0; font: 500 clamp(.95rem,1.45vw,1.4rem) Georgia,serif; }

.heritage-service { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem,8vw,10rem); padding: var(--section-space-y) var(--section-space-x); background: #fffaf0; }
.heritage-service h2 { margin: 0; font: 500 clamp(3rem,5vw,5.5rem)/1 Georgia,"Songti SC",serif; letter-spacing: -.045em; }
.heritage-service ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(20,59,74,.16); }
.heritage-service li { display: grid; grid-template-columns: 55px 1fr auto; gap: 1rem; align-items: center; padding: 1.35rem 0; border-bottom: 1px solid rgba(20,59,74,.16); }
.heritage-service li span { color: #ef5c43; font: italic 1rem Georgia,serif; }
.heritage-service li p { margin: 0; font: 500 1.2rem Georgia,"Songti SC",serif; }
.heritage-service li small { color: rgba(20,59,74,.5); font-size: .6rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.heritage-next-step { display: flex; justify-content: space-between; align-items: center; gap: 3rem; padding: var(--section-space-y) var(--section-space-x); background: #153c74; color: white; }
.heritage-next-step h2 { max-width: 820px; margin: 0; font: 500 clamp(2.7rem,4.7vw,5rem)/1 Georgia,"Songti SC",serif; }
.heritage-next-step a { display: inline-flex; align-items: center; gap: 1rem; padding: .8rem .8rem .8rem 1.3rem; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.heritage-next-step a b { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #ffd58a; color: #153c74; }

@media (max-width: 1000px) {
	.heritage-page { padding-top: 78px; }
	.heritage-hero-copy { padding: 4rem 2rem; }
	.heritage-origin { grid-template-columns: .35fr 1.65fr; }
	.heritage-origin blockquote { grid-column: 2; }
	.heritage-timeline { grid-template-columns: 1fr; }
	.heritage-group-grid { grid-template-columns: repeat(5,1fr); }
	.heritage-service { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
	.heritage-page-hero { grid-template-columns: 1fr; }
	.heritage-hero-art { min-height: 500px; }
	.heritage-hero-copy { padding: 3rem 1.3rem; }
	.heritage-hero-art::after { background: linear-gradient(0deg,#f3ead8,transparent 60%); }
	.heritage-brand-lockup { top: 2.4rem; left: 50%; grid-template-columns: 50px max-content; justify-content: center; gap: .8rem; width: min(78%,340px); transform: translateX(-50%); }
	.heritage-brand-lockup span { gap: .35rem; padding-left: .8rem; }
	.heritage-brand-lockup strong { font-size: clamp(1.02rem,4.4vw,1.35rem); }
	.heritage-brand-lockup small { font-size: .44rem; letter-spacing: .11em; }
	.heritage-founded { top: 340px; bottom: auto; }
	.heritage-origin,.heritage-groups-heading { grid-template-columns: 1fr; }
	.heritage-origin,.heritage-timeline,.heritage-groups,.heritage-service,.heritage-next-step { padding: 3rem 1.3rem; }
	.heritage-timeline header .chinese-kicker { margin-top: 2rem; }
	.heritage-groups-heading { margin-bottom: 3rem; }
	.heritage-origin blockquote { grid-column: auto; }
	.heritage-origin-text { grid-template-columns: 1fr; }
	.heritage-group-grid { grid-template-columns: 1fr; align-content: end; min-height: 700px; padding: 14rem 1rem 1rem; background-position: 55% center; }
	.heritage-group-grid article { width: 100%; min-height: 78px; padding: .75rem .55rem; border: 0; border-bottom: 1px solid rgba(255,250,240,.22); display: grid; grid-template-columns: 40px 1fr; align-content: center; gap: .1rem .8rem; background: transparent; backdrop-filter: none; }
	.heritage-group-grid article:first-of-type,.heritage-group-grid article:last-of-type { border-radius: 0; }
	.heritage-group-grid article:last-of-type { border-bottom: 0; }
	.heritage-group-grid span { grid-row: 1 / 3; width: 40px; height: 40px; margin: 0; font-size: 1.05rem; box-shadow: none; }
	.heritage-group-grid p,.heritage-group-grid h3 { grid-column: 2; }
	.heritage-group-grid p { margin: 0; color: #ffd58a; font-size: .72rem; letter-spacing: .08em; }
	.heritage-group-grid h3 { color: #fffaf0; font-size: .95rem; text-shadow: 0 1px 8px rgba(20,59,74,.25); }
	.heritage-group-grid article:nth-of-type(-n+2) p { color: #b52831; }
	.heritage-group-grid article:nth-of-type(-n+2) h3 { color: #143b4a; text-shadow: none; }
	.heritage-service li { grid-template-columns: 42px 1fr; }
	.heritage-service li small { grid-column: 2; }
	.heritage-next-step { align-items: flex-start; flex-direction: column; }
}
