:root {
  --green-1000: #031712;
  --green-950: #061f1a;
  --green-900: #092b23;
  --green-800: #13473a;
  --cream: #f3ebdc;
  --paper: #fffaf0;
  --ink: #10211c;
  --yellow: #ffc62f;
  --orange: #ff7136;
  --red: #df2238;
  --mint: #60df99;
  --cyan: #36c4d6;
  --gold: #d6b46f;
  --line: rgba(16, 33, 28, .17);
  --max: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: "Arial Narrow", "PingFang SC", "Microsoft YaHei", sans-serif; line-height: 1.72; overflow-x: hidden; }
body.dialog-open { overflow: hidden; }
main section[id] { scroll-margin-top: 112px; }
img { display: block; width: 100%; }
a { color: inherit; text-decoration: none; }
button, video { font: inherit; }
.page-progress { position: fixed; z-index: 100; inset: 0 auto auto 0; width: calc(var(--scroll-progress, 0) * 100%); height: 4px; background: var(--yellow); pointer-events: none; }
.section-pad { padding: clamp(82px, 9vw, 148px) clamp(20px, 5vw, 78px); }
.section-pad > * { max-width: var(--max); margin-left: auto; margin-right: auto; }
.section-no { padding-bottom: 16px; border-bottom: 1px solid var(--line); color: #64736e; font: 800 11px/1 Arial, sans-serif; letter-spacing: .15em; }
.section-no.light { color: rgba(255,255,255,.52); border-color: rgba(255,255,255,.18); }
.section-no.red, .kicker.red { color: #bd1730; }
.kicker { margin: 0 0 20px; color: var(--red); font: 900 12px/1 Arial, sans-serif; letter-spacing: .18em; }
.kicker.gold { color: var(--gold); }
.kicker.mint { color: var(--mint); }
h2 { margin: 0; font-size: clamp(44px, 6.6vw, 96px); line-height: 1.06; letter-spacing: -.045em; }

.site-header { position: fixed; z-index: 40; inset: 0 0 auto; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: clamp(24px, 4vw, 65px); padding: 18px clamp(20px, 4vw, 62px); color: #fff; background: rgba(3,23,18,.42); border-bottom: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(18px) saturate(1.2); -webkit-backdrop-filter: blur(18px) saturate(1.2); transition: padding .35s ease, background .35s ease, box-shadow .35s ease; }
.site-header.is-scrolled { padding-top: 12px; padding-bottom: 12px; background: rgba(3,23,18,.88); box-shadow: 0 12px 32px rgba(3,23,18,.16); }
.brand { display: block; width: clamp(160px, 16vw, 228px); filter: brightness(0) invert(1); }
.nav { display: flex; justify-content: center; gap: clamp(18px, 2.7vw, 42px); font-size: 13px; font-weight: 800; white-space: nowrap; }
.nav a { padding: 9px 0; border-bottom: 2px solid transparent; }
.nav a:hover { color: var(--yellow); border-color: var(--yellow); }
.header-cta { display: inline-flex; align-items: center; gap: 24px; padding: 12px 15px 12px 20px; color: var(--green-950); background: var(--yellow); font-size: 13px; font-weight: 900; }
.header-cta span { font-size: 18px; }

.hero { position: relative; height: clamp(780px, 100svh, 960px); min-height: 780px; color: #fff; background: var(--green-950); overflow: hidden; touch-action: pan-y; }
.hero-track { display: flex; width: 100%; height: 100%; will-change: transform; transition: transform .8s cubic-bezier(.22,1,.36,1); }
.hero.is-dragging { cursor: grabbing; }
.hero.is-dragging .hero-track { transition: none; }
.hero-slide { position: relative; flex: 0 0 100%; min-width: 100%; height: 100%; display: grid; grid-template-columns: 52% 48%; overflow: hidden; }
.hero-slide::before { content: ""; position: absolute; inset: 0 48% 0 0; pointer-events: none; opacity: .24; background: radial-gradient(circle at 15% 22%, rgba(255,198,47,.35), transparent 28%), repeating-linear-gradient(115deg, transparent 0 26px, rgba(255,255,255,.045) 27px 28px); }
.slide-event { background: var(--green-950); }
.slide-growth { color: var(--green-950); background: #f4efe6; }
.slide-growth::before { opacity: .32; background: radial-gradient(circle at 17% 25%, rgba(255,113,54,.24), transparent 30%), repeating-linear-gradient(115deg, transparent 0 26px, rgba(16,33,28,.035) 27px 28px); }
.slide-story { background: #080d0b; }
.slide-story::before { background: radial-gradient(circle at 25% 35%, rgba(96,223,153,.18), transparent 35%), repeating-linear-gradient(115deg, transparent 0 26px, rgba(255,255,255,.035) 27px 28px); }
.hero-copy { position: relative; z-index: 4; align-self: center; min-width: 0; padding: 145px clamp(26px, 6vw, 95px) 150px; }
.eyebrow { margin: 0 0 30px; color: var(--gold); font: 900 12px/1 Arial, sans-serif; letter-spacing: .19em; }
.slide-growth .eyebrow { color: var(--red); }
.hero-title { margin: 0; font-size: clamp(68px, 8vw, 124px); line-height: .98; letter-spacing: -.06em; }
.hero-title span, .hero-title em { display: block; }
.hero-title span:first-child { color: var(--yellow); }
.hero-title em { color: var(--orange); font-style: normal; }
.slide-growth .hero-title { max-width: 720px; font-size: clamp(58px, 6.7vw, 104px); line-height: 1.02; }
.slide-growth .hero-title span:first-child { color: var(--green-950); }
.slide-growth .hero-title em { color: var(--red); }
.slide-story .hero-title { font-size: clamp(62px, 7.4vw, 112px); }
.slide-story .hero-title span:first-child { color: #fff; }
.slide-story .hero-title em { color: var(--mint); }
.hero-intro { max-width: 590px; margin: 30px 0 34px; color: rgba(255,255,255,.72); font-size: clamp(17px, 1.45vw, 21px); }
.slide-growth .hero-intro { color: rgba(16,33,28,.7); }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 28px; }
.button { display: inline-flex; min-height: 54px; align-items: center; padding: 0 25px; font-size: 14px; font-weight: 900; }
.button.primary { color: var(--green-950); background: var(--yellow); }
.button.primary:hover { background: #ffe078; }
.text-link { font-size: 14px; font-weight: 900; }
.text-link span { display: inline-block; margin-left: 8px; transition: transform .25s ease; }
.text-link:hover span { transform: translateX(5px); }
.hero-visual { position: relative; min-width: 0; height: 100%; overflow: hidden; background: var(--green-800); clip-path: polygon(8% 0,100% 0,100% 100%,0 100%); }
.hero-photo { position: absolute; inset: 0; height: 100%; object-fit: cover; object-position: 51% center; filter: saturate(.86) contrast(1.06); }
.hero-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3,23,18,.25), transparent 42%, rgba(3,23,18,.25)); }
.hero-photo-label { position: absolute; z-index: 3; top: 112px; right: 28px; display: grid; grid-template-columns: auto auto; align-items: start; gap: 14px; padding: 12px; color: #fff; background: rgba(3,23,18,.82); }
.hero-photo-label strong { color: var(--yellow); font-size: 12px; }
.hero-photo-label span { font-size: 10px; line-height: 1.3; letter-spacing: .08em; }
.hero-papercut { position: absolute; z-index: 4; width: clamp(145px, 18vw, 270px); right: -35px; bottom: 65px; border-radius: 50%; box-shadow: 0 20px 60px rgba(3,23,18,.42); animation: float 5s ease-in-out infinite; }
.flight-line { position: absolute; z-index: 3; width: 54%; height: 28%; right: 4%; top: 40%; border-top: 4px solid var(--yellow); border-radius: 50%; transform: rotate(-15deg); }
.ball-dot { position: absolute; z-index: 5; width: 18px; height: 11px; right: 15%; top: 36%; background: var(--yellow); border-radius: 50%; transform: rotate(-22deg); box-shadow: 0 0 0 5px rgba(255,198,47,.2); }
.growth-visual { height: calc(100% - 180px); align-self: center; margin: 90px 42px 90px 0; clip-path: none; border-radius: 40px; background: #d8d2c8; box-shadow: 0 30px 70px rgba(16,33,28,.16); }
.growth-visual .hero-photo { object-position: 56% center; }
.growth-caption { position: absolute; z-index: 4; left: 28px; bottom: 28px; display: grid; gap: 4px; padding: 18px 20px; color: #fff; background: rgba(3,23,18,.82); backdrop-filter: blur(12px); }
.growth-caption span { color: var(--yellow); font: 900 10px/1 Arial, sans-serif; letter-spacing: .14em; }
.growth-caption strong { font-size: 28px; line-height: 1; }
.growth-caption small { color: rgba(255,255,255,.64); }
.growth-cutout { position: absolute; z-index: 5; width: clamp(130px, 13vw, 210px); right: -24px; top: 12%; border: 8px solid #f4efe6; border-radius: 50%; filter: drop-shadow(0 20px 28px rgba(16,33,28,.2)); transform: rotate(7deg); }
.story-visual { clip-path: none; background: radial-gradient(circle at 50% 45%, #174536 0, #0a1d17 46%, #050a08 78%); }
.story-visual::after { background: linear-gradient(90deg, rgba(8,13,11,.55), transparent 30%, transparent 70%, rgba(8,13,11,.35)); }
.story-poster { position: absolute; z-index: 2; width: min(46%, 380px); left: 48%; top: 52%; overflow: hidden; border-radius: 30px; box-shadow: 0 45px 90px rgba(0,0,0,.55); transform: translate(-50%,-50%) rotate(-3deg); }
.story-poster img { aspect-ratio: 3 / 4; object-fit: cover; }
.story-avatar { position: absolute; z-index: 4; width: clamp(105px, 11vw, 170px); border-radius: 50%; filter: drop-shadow(0 22px 28px rgba(0,0,0,.4)); }
.story-avatar.avatar-one { right: 8%; top: 17%; border: 6px solid var(--orange); transform: rotate(8deg); }
.story-avatar.avatar-two { left: 5%; bottom: 15%; border: 6px solid var(--cyan); transform: rotate(-8deg); }
.story-team-strip { position: absolute; z-index: 4; left: 50%; bottom: 7%; width: min(82%, 640px); border: 1px solid rgba(255,255,255,.2); border-radius: 18px; box-shadow: 0 25px 55px rgba(0,0,0,.42); transform: translateX(-50%) rotate(1.5deg); }
.story-route { position: absolute; z-index: 3; inset: 0; pointer-events: none; }
.story-route span { position: absolute; width: 42%; height: 24%; left: 4%; top: 25%; border-top: 4px solid var(--yellow); border-radius: 50%; transform: rotate(18deg); }
.story-route i { position: absolute; width: 14px; height: 14px; left: 42%; top: 32%; background: var(--yellow); border-radius: 50%; box-shadow: 0 0 0 8px rgba(255,198,47,.16); }
.hero-slide .hero-copy > * { opacity: 0; transform: translateY(34px); transition: opacity .55s ease, transform .75s cubic-bezier(.22,1,.36,1); }
.hero-slide.is-active .hero-copy > * { opacity: 1; transform: translateY(0); }
.hero-slide.is-active .hero-copy > *:nth-child(2) { transition-delay: .08s; }
.hero-slide.is-active .hero-copy > *:nth-child(3) { transition-delay: .16s; }
.hero-slide.is-active .hero-copy > *:nth-child(4) { transition-delay: .24s; }
.hero-slide .hero-photo, .hero-slide .story-poster { transform-origin: center; transition: transform 1.1s cubic-bezier(.22,1,.36,1), filter .8s ease; }
.hero-slide:not(.is-active) .hero-photo { transform: scale(1.06); filter: saturate(.7) contrast(1.02); }
.hero-slide:not(.is-active) .story-poster { transform: translate(-50%,-50%) rotate(-3deg) scale(.92); }
.hero-status { position: absolute; z-index: 12; left: clamp(20px, 5vw, 78px); bottom: 45px; display: flex; align-items: center; gap: 12px; padding: 11px 15px; color: #fff; background: rgba(3,23,18,.72); border: 1px solid rgba(255,255,255,.15); border-radius: 999px; backdrop-filter: blur(14px); }
.hero-status span { color: var(--yellow); font: 1000 12px/1 Arial, sans-serif; }
.hero-status strong { font-size: 12px; }
.hero-controls { position: absolute; z-index: 12; right: clamp(20px, 5vw, 78px); bottom: 42px; display: flex; align-items: center; gap: 7px; padding: 6px; color: #fff; background: rgba(3,23,18,.74); border: 1px solid rgba(255,255,255,.15); border-radius: 999px; backdrop-filter: blur(14px); }
.hero-controls > button { width: 38px; height: 38px; display: grid; place-items: center; padding: 0; color: #fff; background: rgba(255,255,255,.1); border: 0; border-radius: 50%; cursor: pointer; transition: color .2s ease, background .2s ease, transform .2s ease; }
.hero-controls > button:hover { color: var(--green-950); background: var(--yellow); transform: scale(1.06); }
.hero-dots { display: flex; gap: 6px; align-items: center; padding: 0 6px; }
.hero-dots button { width: 22px; height: 4px; padding: 0; overflow: hidden; background: rgba(255,255,255,.35); border: 0; border-radius: 999px; cursor: pointer; transition: width .35s ease, background .35s ease; }
.hero-dots button.is-active { width: 42px; background: var(--yellow); }
.hero-progress { position: absolute; z-index: 13; inset: auto 0 0; height: 4px; background: rgba(255,255,255,.14); }
.hero-progress span { display: block; width: 100%; height: 100%; background: var(--yellow); transform: scaleX(var(--hero-progress, 0)); transform-origin: left; }
.hero-swipe-note { position: absolute; z-index: 10; left: 50%; bottom: 54px; margin: 0; color: rgba(255,255,255,.56); font: 900 10px/1 Arial, sans-serif; letter-spacing: .12em; transform: translateX(-50%); }

.manifesto { min-height: 340px; display: grid; grid-template-columns: 170px 1fr auto; gap: clamp(28px, 6vw, 90px); align-items: center; padding: 55px clamp(20px, 6vw, 92px); color: var(--green-950); background: var(--orange); transform: rotate(-1.2deg) scale(1.02); transform-origin: center; }
.manifesto-mark { font-size: 160px; font-weight: 1000; line-height: 1; letter-spacing: -.12em; }
.manifesto p { margin: 0; font-size: clamp(34px, 5vw, 76px); font-weight: 1000; line-height: 1.14; letter-spacing: -.04em; }
.manifesto > span { padding-left: 28px; border-left: 2px solid var(--green-950); font: 900 12px/1.5 Arial, sans-serif; letter-spacing: .13em; }

.motion-ribbon { position: relative; z-index: 3; overflow: hidden; color: var(--green-950); background: var(--yellow); border-top: 1px solid rgba(3,23,18,.25); border-bottom: 1px solid rgba(3,23,18,.25); transform: rotate(.7deg) scale(1.01); }
.motion-ribbon div { width: max-content; display: flex; align-items: center; gap: clamp(22px, 3vw, 48px); padding: 18px 0; animation: ribbonFlow 28s linear infinite; }
.motion-ribbon span { font: 1000 clamp(18px, 2.1vw, 31px)/1 Arial, sans-serif; letter-spacing: -.03em; white-space: nowrap; }
.motion-ribbon i { color: var(--red); font-size: 20px; font-style: normal; }

.system { position: relative; background: var(--cream); overflow: hidden; }
.system::after { content: "LOOP"; position: absolute; right: -1vw; bottom: -5vw; color: rgba(16,33,28,.035); font: 1000 clamp(150px, 26vw, 440px)/.72 Arial, sans-serif; letter-spacing: -.08em; pointer-events: none; }
.system-head { position: relative; z-index: 1; display: grid; grid-template-columns: 1.15fr .65fr; gap: clamp(50px, 9vw, 150px); align-items: end; padding: clamp(58px, 7vw, 94px) 0; }
.system-head > p { max-width: 560px; margin: 0 0 8px; color: #4d5d57; font-size: 19px; }
.system-head h2, .training-head h2 { font-size: clamp(44px, 5.6vw, 82px); }
.system-head h2 span, .training-head h2 span, .case-copy h2 span { display: block; }
.system-loop { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: stretch; gap: 12px; }
.loop-card { position: relative; min-height: 330px; display: flex; flex-direction: column; padding: 25px; overflow: hidden; border: 1px solid rgba(16,33,28,.16); border-radius: 18px; box-shadow: 0 22px 48px rgba(16,33,28,.1); transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease; }
.loop-card::after { content: ""; position: absolute; width: 120px; height: 120px; right: -45px; bottom: -50px; border: 28px solid currentColor; border-radius: 50%; opacity: .08; }
.loop-card span { font: 1000 48px/1 Arial, sans-serif; letter-spacing: -.06em; }
.loop-card small { margin-top: 10px; font: 900 10px/1 Arial, sans-serif; letter-spacing: .14em; }
.loop-card h3 { margin: auto 0 8px; font-size: clamp(40px, 4vw, 62px); line-height: 1.08; letter-spacing: -.04em; }
.loop-card p { margin: 0; font-size: 14px; }
.loop-card:nth-of-type(even) { margin-top: 22px; }
.loop-card:hover { box-shadow: 0 30px 58px rgba(16,33,28,.17); }
.loop-event { color: var(--green-950); background: var(--yellow); }
.loop-content { color: #fff; background: var(--red); }
.loop-growth { color: var(--green-950); background: var(--mint); }
.loop-return { color: #fff; background: var(--green-800); }
.loop-arrow { display: grid; place-items: center; color: var(--red); font-size: 32px; font-weight: 1000; }
.loop-note { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 20px; margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--line); color: #62706b; font-size: 13px; }
.loop-note span { color: var(--red); font-weight: 900; }

.training { position: relative; background: radial-gradient(circle at 92% 12%, rgba(255,198,47,.2), transparent 24%), radial-gradient(circle at 8% 88%, rgba(54,196,214,.1), transparent 22%), var(--cream); }
.training-head { display: grid; grid-template-columns: 1.05fr .75fr; gap: clamp(50px, 9vw, 150px); align-items: end; padding: clamp(52px, 7vw, 92px) 0; }
.training-lead { padding-bottom: 8px; }
.training-lead p { margin: 0 0 28px; color: #4d5d57; font-size: 19px; }
.arrow-link { display: flex; justify-content: space-between; gap: 28px; padding: 16px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); font-size: 14px; font-weight: 900; }
.training-stage { position: relative; display: grid; grid-template-columns: 58% 42%; min-height: 660px; overflow: hidden; background: var(--green-950); border-radius: 28px; box-shadow: 0 30px 70px rgba(16,33,28,.16); }
.training-photo-wrap { position: relative; overflow: hidden; }
.training-photo-wrap img { height: 100%; object-fit: cover; }
.photo-stamp { position: absolute; left: 20px; bottom: 20px; width: 105px; aspect-ratio: 1; display: grid; place-content: center; color: var(--green-950); background: var(--yellow); border-radius: 50%; text-align: center; font: 1000 14px/1.05 Arial, sans-serif; transform: rotate(-8deg); }
.training-path { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(255,255,255,.18); }
.level { min-height: 250px; display: flex; flex-direction: column; justify-content: space-between; padding: 27px; color: #fff; background: var(--green-950); }
.level span { font: 900 11px/1 Arial, sans-serif; letter-spacing: .12em; }
.level strong { margin-top: auto; font-size: clamp(28px, 3vw, 45px); line-height: 1; }
.level p { margin: 14px 0 0; color: rgba(255,255,255,.64); font-size: 14px; }
.level-yellow { border-top: 8px solid var(--yellow); }
.level-red { border-top: 8px solid var(--red); }
.level-blue { border-top: 8px solid var(--cyan); }
.level-green { border-top: 8px solid var(--mint); }
.training-cutout { position: absolute; z-index: 4; width: 190px; right: -58px; top: -75px; border: 10px solid var(--cream); border-radius: 50%; transform: rotate(8deg); }
.parent-reasons { display: grid; grid-template-columns: .75fr repeat(3, 1fr); gap: 0; margin-top: 46px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.parent-reasons > p, .parent-reasons > div { margin: 0; padding: 24px; border-right: 1px solid var(--line); }
.parent-reasons > *:last-child { border-right: 0; }
.parent-reasons > p { font-size: 18px; font-weight: 1000; }
.parent-reasons div { display: grid; grid-template-columns: 34px 1fr; gap: 6px 10px; }
.parent-reasons div span { grid-row: 1 / 3; color: var(--red); font: 900 11px/1 Arial, sans-serif; }
.parent-reasons strong { font-size: 17px; }
.parent-reasons small { color: #62706b; }
.education-proof { position: relative; display: grid; grid-template-columns: 1.05fr .95fr; gap: 1px; margin-bottom: 56px; overflow: hidden; color: #fff; background: rgba(255,255,255,.24); border: 1px solid rgba(16,33,28,.16); }
.education-statement { padding: clamp(34px, 5vw, 68px); background: var(--green-950); }
.education-statement > span { color: var(--yellow); font: 900 11px/1 Arial, sans-serif; letter-spacing: .17em; }
.education-statement h3 { max-width: 650px; margin: 22px 0; font-size: clamp(42px, 4.5vw, 64px); line-height: .96; letter-spacing: -.055em; }
.education-statement p { max-width: 560px; margin: 0; color: rgba(255,255,255,.68); font-size: 17px; }
.education-stats { display: grid; grid-template-columns: repeat(3, 1fr); grid-column: 2; grid-row: 1; color: var(--green-950); background: var(--yellow); }
.education-stats div { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: clamp(22px, 3vw, 40px); border-left: 1px solid rgba(16,33,28,.2); }
.education-stats strong { font: 1000 clamp(38px, 4.5vw, 68px)/.9 Arial, sans-serif; letter-spacing: -.06em; }
.education-stats span { margin-top: 12px; font-size: 13px; font-weight: 900; }
.education-values { grid-column: 1 / 3; display: grid; grid-template-columns: repeat(3, 1fr); color: var(--ink); background: var(--paper); }
.education-values p { display: grid; grid-template-columns: 34px 1fr; gap: 8px 12px; margin: 0; padding: 28px; border-right: 1px solid var(--line); }
.education-values p:last-child { border-right: 0; }
.education-values b { grid-row: 1 / 3; color: var(--red); font: 900 11px/1 Arial, sans-serif; }
.education-values strong { font-size: 18px; }
.education-values span { color: #60706a; font-size: 13px; }
.education-source { position: absolute; right: 18px; bottom: 9px; color: rgba(16,33,28,.45); font-size: 10px; }

.playbook { position: relative; color: #fff; background: var(--green-950); overflow: hidden; }
.route-grid { position: absolute; inset: 0; opacity: .14; background-image: linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px); background-size: 80px 80px; transform: perspective(600px) rotateX(62deg) scale(1.7); transform-origin: center bottom; }
.playbook > *:not(.route-grid) { position: relative; z-index: 1; }
.playbook-head { display: grid; grid-template-columns: 1.15fr .65fr; gap: 80px; align-items: end; padding: 62px 0 72px; }
.playbook-head > p { margin: 0; color: rgba(255,255,255,.64); font-size: 18px; }
.character-world { display: grid; grid-template-columns: 32% 68%; min-height: 620px; overflow: hidden; border: 1px solid rgba(255,255,255,.18); background: linear-gradient(135deg, #071f19, #0d342a); }
.character-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(30px, 4vw, 66px); }
.character-copy > span { color: var(--yellow); font: 900 11px/1 Arial, sans-serif; letter-spacing: .18em; }
.character-copy h3 { margin: 16px 0; font-size: clamp(36px, 4vw, 62px); line-height: 1; }
.character-copy p { color: rgba(255,255,255,.66); }
.character-prompt { align-self: flex-start; display: inline-flex; align-items: center; gap: 18px; margin-top: 14px; padding: 12px 0; color: var(--yellow); background: transparent; border: 0; border-bottom: 1px solid rgba(255,198,47,.45); font-size: 12px; font-weight: 900; cursor: pointer; }
.character-prompt span { font-size: 18px; transition: transform .2s ease; }
.character-prompt:hover span { transform: translate(4px,-3px); }
.role-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.role-chips span { padding: 8px 10px; color: var(--green-950); font: 900 11px/1 Arial, sans-serif; }
.role-chips .qb { background: var(--yellow); }.role-chips .x { background: #f0574d; }.role-chips .y { background: var(--mint); }.role-chips .z { background: var(--orange); }.role-chips .s { background: var(--cyan); }
.character-lineup { position: relative; align-self: stretch; min-height: 620px; overflow: hidden; background: radial-gradient(circle at center, rgba(96,223,153,.12), transparent 47%), repeating-linear-gradient(0deg, transparent 0 59px, rgba(255,255,255,.05) 60px), repeating-linear-gradient(90deg, transparent 0 59px, rgba(255,255,255,.05) 60px); }
.character-lineup::before { content: "FIND YOUR POSITION"; position: absolute; left: 50%; top: 50%; color: rgba(255,255,255,.055); font: 1000 clamp(70px, 9vw, 150px)/.8 Arial, sans-serif; text-align: center; transform: translate(-50%,-50%) rotate(-8deg); }
.character-card { position: absolute; z-index: 2; width: clamp(118px, 12vw, 190px); display: block; padding: 0; color: var(--green-950); background: transparent; border: 0; text-align: center; cursor: pointer; transition: transform .25s ease, filter .25s ease; }
.character-card:hover, .character-card:focus-visible { z-index: 5; outline: none; filter: brightness(1.08); transform: translateY(-12px) scale(1.04); }
.character-card img { filter: drop-shadow(0 22px 24px rgba(0,0,0,.28)); }
.character-card > span { display: inline-flex; gap: 7px; align-items: center; margin-top: -4px; padding: 7px 12px; background: #fff; font-size: 12px; transform: rotate(-3deg); }
.character-card > span strong { font-family: Arial, sans-serif; }
.character-card > span b { font-weight: 800; }
.character-card > span small { max-width: 0; overflow: hidden; white-space: nowrap; opacity: 0; transition: max-width .25s ease, opacity .25s ease; }
.character-card:hover > span small, .character-card:focus-visible > span small { max-width: 80px; opacity: .7; }
.char-qb { left: 5%; top: 12%; }.char-x { left: 35%; top: 5%; }.char-y { right: 5%; top: 16%; }.char-z { left: 20%; bottom: 6%; }.char-s { right: 18%; bottom: 5%; }
.char-qb > span { background: var(--yellow); }.char-x > span { background: #f0574d; }.char-y > span { background: var(--mint); }.char-z > span { background: var(--orange); }.char-s > span { background: var(--cyan); }

.character-dialog { position: fixed; inset: 50% auto auto 50%; width: min(1180px, calc(100vw - 36px)); max-height: min(900px, 92vh); margin: 0; padding: 0; color: #fff; background: #061f1a; border: 1px solid rgba(255,255,255,.3); box-shadow: 0 50px 140px rgba(0,0,0,.62); overflow: auto; transform: translate(-50%,-50%); }
.character-dialog::backdrop { background: rgba(1,12,9,.78); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.character-dialog-shell { position: relative; display: grid; grid-template-columns: 1.35fr .85fr; height: min(720px, 88vh); min-height: 600px; }
.character-dialog-close { position: absolute; z-index: 5; top: 18px; right: 18px; width: 46px; height: 46px; display: grid; place-items: center; padding: 0; color: #fff; background: rgba(3,23,18,.72); border: 1px solid rgba(255,255,255,.45); border-radius: 50%; font-size: 30px; line-height: 1; cursor: pointer; }
.character-dialog-art { position: relative; min-width: 0; display: grid; place-items: center; padding: 24px; background: #02130f; overflow: hidden; }
.character-dialog-art::before { content: "YINGSAI FIVE"; position: absolute; color: rgba(255,255,255,.035); font: 1000 clamp(80px, 10vw, 150px)/.8 Arial, sans-serif; transform: rotate(-9deg); }
.character-dialog-art img { position: relative; z-index: 1; width: 100%; height: 100%; max-height: 670px; object-fit: contain; transition: opacity .2s ease, transform .35s cubic-bezier(.22,1,.36,1); }
.character-dialog-art span { position: absolute; z-index: 2; left: 24px; bottom: 17px; color: rgba(255,255,255,.5); font: 900 9px/1 Arial, sans-serif; letter-spacing: .14em; }
.character-dialog-copy { display: flex; flex-direction: column; padding: clamp(46px, 5vh, 68px) clamp(30px, 4vw, 60px) 30px; background: linear-gradient(155deg, #0b382d, #061f1a 65%); }
.character-dialog-copy > span { color: var(--yellow); font: 900 11px/1 Arial, sans-serif; letter-spacing: .16em; }
.character-dialog-copy h3 { margin: 18px 0 14px; font-size: clamp(64px, 8vw, 112px); line-height: .86; letter-spacing: -.07em; }
.character-dialog-tagline { margin: 0 0 22px; color: rgba(255,255,255,.72); font-size: 18px; }
.character-dialog-profile { border-top: 1px solid rgba(255,255,255,.22); }
.character-dialog-profile p { display: grid; grid-template-columns: 82px 1fr; gap: 16px; margin: 0; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.character-dialog-profile b { color: var(--gold); font-size: 11px; }
.character-dialog-profile span { color: rgba(255,255,255,.72); font-size: 13px; }
.character-dialog blockquote { margin: 22px 0 auto; color: var(--mint); font-size: clamp(24px, 2.5vw, 36px); font-weight: 900; }
.character-dialog-nav { display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: center; margin-top: 24px; }
.character-dialog-nav button { padding: 11px 0; color: #fff; background: transparent; border: 0; border-bottom: 1px solid rgba(255,255,255,.35); cursor: pointer; }
.character-dialog-nav button:last-child { text-align: right; }
.character-dialog-nav b { color: var(--yellow); font: 900 11px/1 Arial, sans-serif; }
.character-dialog.is-changing .character-dialog-art img { opacity: .25; transform: scale(.96); }
.content-shelf { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; padding-top: 55px; }
.content-card { position: relative; overflow: hidden; min-height: 650px; color: #fff; background: #071d18; }
.content-card img { height: 100%; object-fit: cover; transition: transform .5s ease; }
.content-card:hover img { transform: scale(1.03); }
.content-card > div { position: absolute; inset: auto 0 0; padding: 70px 24px 25px; background: linear-gradient(transparent, rgba(2,18,14,.95)); }
.content-card span { color: var(--yellow); font: 900 10px/1 Arial, sans-serif; letter-spacing: .12em; }
.content-card h3 { margin: 9px 0 6px; font-size: clamp(20px, 2.2vw, 32px); line-height: 1.16; }
.content-card p { margin: 0; color: rgba(255,255,255,.64); }

.video-head { display: grid; grid-template-columns: 1.1fr .55fr; gap: 60px; align-items: end; padding: 100px 0 42px; }
.video-head span { color: var(--yellow); font: 900 11px/1 Arial, sans-serif; letter-spacing: .18em; }
.video-head h3 { max-width: 790px; margin: 14px 0 0; font-size: clamp(34px, 4.5vw, 68px); line-height: 1; letter-spacing: -.045em; }
.video-head > p { margin: 0; color: rgba(255,255,255,.62); }
.video-shelf { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 30px); align-items: start; }
.video-card { min-width: 0; }
.video-card.video-b { margin-top: 74px; }
.video-frame { position: relative; aspect-ratio: 9 / 16; overflow: hidden; background: #020d0a; box-shadow: 0 25px 60px rgba(0,0,0,.28); }
.video-frame::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.2); pointer-events: none; }
.video-frame video { display: block; width: 100%; height: 100%; object-fit: cover; background: #020d0a; }
.video-play { position: absolute; z-index: 3; left: 50%; top: 50%; width: 76px; height: 76px; display: grid; place-items: center; padding: 0 0 0 5px; color: var(--green-950); background: var(--yellow); border: 0; border-radius: 50%; box-shadow: 0 15px 35px rgba(0,0,0,.32); cursor: pointer; transform: translate(-50%,-50%); transition: transform .2s ease, background .2s ease; }
.video-play:hover { background: #ffe078; transform: translate(-50%,-50%) scale(1.08); }
.video-frame.is-playing .video-play { opacity: 0; pointer-events: none; }
.video-index { position: absolute; z-index: 2; top: 14px; left: 14px; padding: 8px 10px; color: var(--green-950); background: var(--yellow); font: 1000 10px/1 Arial, sans-serif; letter-spacing: .1em; pointer-events: none; }
.video-meta { display: grid; grid-template-columns: auto 1fr; gap: 20px; align-items: start; padding-top: 16px; }
.video-meta h3 { margin: 0; color: var(--yellow); font-size: clamp(28px, 3vw, 44px); line-height: 1; }
.video-meta p { margin: 2px 0 0; color: rgba(255,255,255,.62); font-size: 14px; }

.universe { background: var(--paper); }
.universe-title { padding: 62px 0; }
.universe-title .universe-intro { max-width: 780px; margin: 28px 0 0; color: #596761; font-size: 18px; }
.universe-grid { display: grid; grid-template-columns: repeat(12, 1fr); grid-template-rows: 330px 330px; gap: 16px; }
.universe-card { position: relative; overflow: hidden; color: #fff; background: var(--green-950); }
.universe-card[role="button"] { cursor: pointer; }
.universe-card[role="button"]:focus-visible { outline: 4px solid var(--yellow); outline-offset: 3px; }
.universe-card.winter { grid-column: 1 / 6; grid-row: 1 / 3; }
.universe-card.flag { grid-column: 6 / 13; grid-row: 1; }
.universe-card.mind { grid-column: 6 / 13; grid-row: 2; }
.universe-card img { position: absolute; inset: 0; height: 100%; object-fit: cover; transition: transform .6s ease; }
.universe-card:hover img { transform: scale(1.035); }
.universe-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(3,23,18,.95), transparent 65%); }
.universe-top, .universe-bottom { position: absolute; z-index: 2; left: 25px; right: 25px; }
.universe-top { top: 24px; display: flex; justify-content: space-between; align-items: start; }
.universe-top span { color: var(--yellow); font-size: 40px; font-weight: 1000; line-height: 1; }
.universe-top small { font: 900 10px/1 Arial, sans-serif; letter-spacing: .13em; }
.universe-bottom { bottom: 24px; }
.universe-bottom h3 { margin: 0; font-size: clamp(30px, 3.2vw, 50px); line-height: 1; }
.universe-bottom p { margin: 10px 0 0; color: rgba(255,255,255,.67); }
.universe-bottom b { display: block; margin-bottom: 10px; color: var(--yellow); font: 900 10px/1 Arial, sans-serif; letter-spacing: .13em; }
.events-title { display: grid; grid-template-columns: 1.12fr .68fr; gap: clamp(45px, 8vw, 130px); align-items: end; }
.events-title .kicker, .events-title h2 { grid-column: 1; }
.events-title h2 { font-size: clamp(48px, 5.6vw, 82px); }
.events-title h2 span { display: block; }
.events-title .universe-intro { grid-column: 2; grid-row: 1 / 3; align-self: end; }
.events-grid { grid-template-rows: 390px 390px; }
.events-grid .event-flag { grid-column: 1 / 8; grid-row: 1 / 3; }
.events-grid .event-snow { grid-column: 8 / 13; grid-row: 1; }
.events-grid .event-mind { grid-column: 8 / 13; grid-row: 2; }
.events-grid .event-snow h3, .events-grid .event-mind h3 { max-width: 520px; font-size: clamp(28px, 3vw, 44px); }
.events-grid .event-snow p, .events-grid .event-mind p { max-width: 520px; font-size: 14px; }
.events-grid .event-flag .universe-bottom h3 { font-size: clamp(66px, 8vw, 116px); }
.event-role { display: block; margin-top: 14px; color: rgba(255,255,255,.52); font-size: 11px; letter-spacing: .06em; }
.event-proof { display: grid; grid-template-columns: 1.2fr repeat(4, 1fr); margin-top: 26px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.event-proof > * { padding: 20px 18px; border-right: 1px solid var(--line); }
.event-proof > *:last-child { border-right: 0; }
.event-proof span { color: var(--red); font-size: 12px; font-weight: 900; }
.event-proof strong { font-size: 14px; }
.event-explore-note { display: flex; justify-content: flex-end; gap: 12px; margin: 18px 0 0; color: #687670; font-size: 12px; }
.event-explore-note span { color: var(--red); font-size: 18px; }

.brand-events { color: #fff; background: #031712; overflow: hidden; }
.brand-events-head { display: grid; grid-template-columns: 1.12fr .68fr; gap: clamp(48px, 8vw, 130px); align-items: end; padding: 68px 0; }
.brand-events-head h2 { max-width: 900px; font-size: clamp(52px, 6vw, 88px); }
.brand-events-head > p { margin: 0 0 8px; color: rgba(255,255,255,.62); font-size: 18px; }
.brand-event-stage { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(330px, .65fr); min-height: 720px; border: 1px solid rgba(255,255,255,.2); }
.brand-event-visual { position: relative; min-width: 0; min-height: 720px; overflow: hidden; background: #071e19; }
.brand-event-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(3,23,18,.9), transparent 58%), linear-gradient(90deg, rgba(3,23,18,.32), transparent 35%); pointer-events: none; }
.brand-event-visual img { height: 100%; object-fit: cover; transition: opacity .25s ease, transform .75s cubic-bezier(.22,1,.36,1); }
.brand-event-visual-copy { position: absolute; z-index: 2; left: clamp(26px, 4vw, 58px); right: 120px; bottom: clamp(30px, 5vw, 62px); }
.brand-event-visual-copy span { color: var(--yellow); font: 900 10px/1 Arial, sans-serif; letter-spacing: .16em; }
.brand-event-visual-copy strong { display: block; margin-top: 14px; font-size: clamp(58px, 8vw, 112px); line-height: .86; letter-spacing: -.07em; }
.brand-event-counter { position: absolute; z-index: 2; right: 26px; bottom: 28px; display: flex; align-items: end; gap: 7px; }
.brand-event-counter b { color: var(--yellow); font: 1000 54px/.8 Arial, sans-serif; }
.brand-event-counter span { color: rgba(255,255,255,.55); font: 900 12px/1 Arial, sans-serif; }
.brand-event-detail { display: flex; flex-direction: column; padding: clamp(36px, 4vw, 62px); background: #0a3027; }
.brand-event-detail > span { color: var(--gold); font: 900 10px/1 Arial, sans-serif; letter-spacing: .16em; }
.brand-event-detail h3 { margin: 20px 0 16px; font-size: clamp(48px, 5vw, 74px); line-height: .92; letter-spacing: -.06em; }
.brand-event-detail > p { margin: 0; color: rgba(255,255,255,.67); font-size: 16px; }
.brand-event-detail dl { margin: auto 0 0; border-top: 1px solid rgba(255,255,255,.2); }
.brand-event-detail dl div { display: grid; gap: 6px; padding: 17px 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.brand-event-detail dt { color: var(--mint); font-size: 11px; font-weight: 900; }
.brand-event-detail dd { margin: 0; color: rgba(255,255,255,.78); font-size: 14px; }
.brand-event-arrows { display: grid; grid-template-columns: 48px 1fr 48px; gap: 12px; align-items: center; margin-top: 30px; }
.brand-event-arrows button { width: 48px; height: 48px; display: grid; place-items: center; padding: 0; color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; cursor: pointer; }
.brand-event-arrows button:hover { color: var(--green-950); background: var(--yellow); border-color: var(--yellow); }
.brand-event-arrows span { color: rgba(255,255,255,.42); font-size: 10px; text-align: center; }
.brand-event-tabs { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid rgba(255,255,255,.2); border-top: 0; }
.brand-event-tabs button { min-height: 145px; display: grid; grid-template-columns: auto 1fr; gap: 7px 14px; align-content: center; padding: 24px; color: #fff; background: transparent; border: 0; border-right: 1px solid rgba(255,255,255,.2); text-align: left; cursor: pointer; transition: color .25s ease, background .25s ease; }
.brand-event-tabs button:last-child { border-right: 0; }
.brand-event-tabs button:hover, .brand-event-tabs button.is-active { color: var(--green-950); background: var(--yellow); }
.brand-event-tabs span { grid-row: 1 / 3; color: var(--gold); font: 1000 24px/1 Arial, sans-serif; }
.brand-event-tabs button.is-active span, .brand-event-tabs button:hover span { color: var(--red); }
.brand-event-tabs strong { font-size: 18px; line-height: 1.05; }
.brand-event-tabs small { opacity: .65; }
.brand-events.is-changing .brand-event-visual img { opacity: .25; transform: scale(1.045); }

.case-intro { position: relative; min-height: 720px; display: grid; grid-template-columns: .32fr 1.55fr .7fr; align-items: center; gap: clamp(24px, 5vw, 80px); color: #fff; background: var(--orange); overflow: hidden; }
.case-intro::before { content: "FLAG"; position: absolute; left: -2vw; bottom: -3vw; color: rgba(3,23,18,.09); font: 1000 clamp(150px, 28vw, 450px)/.72 Arial, sans-serif; letter-spacing: -.08em; }
.case-intro > * { position: relative; z-index: 1; }
.case-index { align-self: start; margin-top: 12px; padding-top: 16px; border-top: 2px solid var(--green-950); color: var(--green-950); font: 1000 12px/1 Arial, sans-serif; letter-spacing: .16em; }
.case-copy p { margin: 0 0 25px; color: var(--green-950); font-weight: 900; }
.case-copy h2 { color: var(--green-950); font-size: clamp(48px, 4.95vw, 72px); }
.case-intro > img { align-self: end; width: min(100%, 430px); filter: drop-shadow(0 30px 30px rgba(3,23,18,.23)); transform: translateY(11%) rotate(3deg); }

.partners { background: var(--cream); }
.partners-head, .people-head, .footprint-head, .team-building-head { display: grid; grid-template-columns: 1.12fr .68fr; gap: clamp(48px, 8vw, 130px); align-items: end; padding: 68px 0; }
.partners-head > p, .people-head > p, .footprint-head > p, .team-building-intro { margin: 0 0 8px; color: #54645e; font-size: 18px; }
.partner-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.partner-card { min-height: 610px; display: flex; flex-direction: column; padding: clamp(25px, 3vw, 42px); overflow: hidden; }
.partner-mountain { color: #fff; background: var(--green-950); }
.partner-university { color: var(--green-950); background: var(--yellow); }
.partner-school { color: #fff; background: var(--red); }
.partner-mark { display: flex; justify-content: space-between; align-items: start; }
.partner-mark span { font: 1000 48px/1 Arial, sans-serif; letter-spacing: -.06em; }
.partner-mark b { font: 900 10px/1 Arial, sans-serif; letter-spacing: .16em; }
.partner-name { margin: auto 0; font-size: clamp(42px, 4vw, 62px); font-weight: 1000; line-height: .94; letter-spacing: -.06em; }
.partner-copy { padding-top: 24px; border-top: 1px solid currentColor; }
.partner-copy strong { font-size: 19px; }
.partner-copy p { margin: 12px 0; opacity: .75; font-size: 14px; }
.partner-copy small { font: 900 10px/1 Arial, sans-serif; letter-spacing: .13em; }
.partner-principle, .people-standard, .team-building-delivery { display: grid; grid-template-columns: 1.2fr repeat(4, 1fr); margin-top: 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.partner-principle > *, .people-standard > *, .team-building-delivery > * { padding: 19px 16px; border-right: 1px solid var(--line); }
.partner-principle > *:last-child, .people-standard > *:last-child, .team-building-delivery > *:last-child { border-right: 0; }
.partner-principle span, .people-standard span, .team-building-delivery span { color: var(--red); font-size: 12px; font-weight: 900; }
.partner-principle strong, .people-standard strong, .team-building-delivery b { font-size: 14px; }

.team-building { color: #fff; background: var(--green-950); overflow: hidden; }
.team-building-head h2 { max-width: 880px; font-size: clamp(48px, 5.5vw, 80px); }
.team-building-intro { color: rgba(255,255,255,.66); }
.team-building-intro small { display: block; margin-top: 20px; color: var(--gold); font-size: 11px; }
.team-building-toolbar { display: flex; justify-content: space-between; align-items: center; padding: 0 0 22px; color: rgba(255,255,255,.52); font-size: 12px; }
.team-building-toolbar div { display: flex; gap: 8px; }
.team-building-toolbar button { width: 48px; height: 48px; display: grid; place-items: center; padding: 0; color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; cursor: pointer; transition: color .2s ease, background .2s ease, transform .2s ease; }
.team-building-toolbar button:hover { color: var(--green-950); background: var(--yellow); border-color: var(--yellow); transform: translateY(-2px); }
.team-case-track { display: flex; gap: 18px; padding-bottom: 18px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: none; cursor: grab; user-select: none; }
.team-case-track::-webkit-scrollbar { display: none; }
.team-case-track.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.team-case { position: relative; flex: 0 0 min(72vw, 1020px); min-height: 710px; overflow: hidden; color: #fff; background: #0c2b23; scroll-snap-align: start; }
.team-case img { position: absolute; inset: 0; height: 100%; object-fit: cover; pointer-events: none; filter: saturate(.78) contrast(1.08); transition: transform .7s ease; }
.team-case:hover img { transform: scale(1.035); }
.team-case::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,23,18,.96) 0, rgba(3,23,18,.72) 48%, rgba(3,23,18,.08) 78%); }
.team-case-top, .team-case-copy { position: absolute; z-index: 2; left: clamp(25px, 4vw, 58px); right: clamp(25px, 4vw, 58px); }
.team-case-top { top: clamp(25px, 4vw, 48px); display: flex; justify-content: space-between; }
.team-case-top span { color: var(--yellow); font: 1000 13px/1 Arial, sans-serif; letter-spacing: .12em; }
.team-case-top small { font: 900 10px/1 Arial, sans-serif; letter-spacing: .12em; }
.team-case-copy { bottom: clamp(35px, 5vw, 68px); max-width: 660px; }
.team-case-copy b { color: var(--mint); font-size: 12px; letter-spacing: .1em; }
.team-case-copy h3 { margin: 16px 0; font-size: clamp(58px, 7vw, 102px); line-height: .88; letter-spacing: -.07em; }
.team-case-copy p { margin: 0 0 18px; color: rgba(255,255,255,.75); font-size: 17px; }
.team-case-copy strong { font-size: 13px; }
.team-building-delivery { grid-template-columns: 1.2fr repeat(5, 1fr); border-color: rgba(255,255,255,.2); }
.team-building-delivery > * { border-color: rgba(255,255,255,.2); }
.team-building-delivery span { color: var(--yellow); }
.team-building-delivery b { color: rgba(255,255,255,.78); }

.people { background: var(--paper); }
.people-head h2, .footprint-head h2 { font-size: clamp(48px, 5.25vw, 76px); }
.people-stage { display: grid; grid-template-columns: 1.06fr .94fr; min-height: 760px; background: var(--green-950); }
.people-photo { position: relative; min-width: 0; margin: 0; overflow: hidden; }
.people-photo img { height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.05); }
.people-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(3,23,18,.88), transparent 60%); }
.people-photo figcaption { position: absolute; z-index: 2; inset: auto clamp(25px, 4vw, 58px) clamp(30px, 5vw, 66px); color: #fff; }
.people-photo figcaption span { color: var(--yellow); font: 900 11px/1 Arial, sans-serif; letter-spacing: .17em; }
.people-photo figcaption strong { display: block; max-width: 650px; margin-top: 15px; font-size: clamp(32px, 4vw, 58px); line-height: 1; letter-spacing: -.05em; }
.people-roles { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(255,255,255,.18); }
.people-roles article { position: relative; min-height: 380px; display: flex; flex-direction: column; padding: clamp(24px, 3vw, 42px); overflow: hidden; color: #fff; background: var(--green-950); }
.people-roles article > span { color: var(--gold); font: 900 10px/1 Arial, sans-serif; letter-spacing: .14em; }
.people-roles i { position: absolute; right: -8px; top: 26px; color: rgba(255,255,255,.07); font: italic 1000 160px/.8 Arial, sans-serif; }
.people-roles h3 { margin: auto 0 12px; font-size: clamp(31px, 3vw, 46px); line-height: 1; }
.people-roles p { margin: 0; color: rgba(255,255,255,.58); font-size: 14px; }

.footprint { color: #fff; background: #041a16; overflow: hidden; }
.footprint-head > p { color: rgba(255,255,255,.6); }
.footprint-layout { display: grid; grid-template-columns: 1fr 370px; min-height: 740px; border: 1px solid rgba(255,255,255,.18); }
.network-map { position: relative; min-width: 0; overflow: hidden; background: radial-gradient(circle at 64% 59%, rgba(54,196,214,.13), transparent 27%), radial-gradient(circle at 52% 28%, rgba(255,198,47,.11), transparent 24%), #06241d; }
.network-map::before { content: "PROJECT NETWORK"; position: absolute; left: 5%; bottom: 5%; color: rgba(255,255,255,.035); font: 1000 clamp(72px, 11vw, 170px)/.78 Arial, sans-serif; letter-spacing: -.07em; }
.map-grid { position: absolute; inset: 0; opacity: .32; background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px); background-size: 60px 60px; }
.map-grid::after { content: ""; position: absolute; width: 58%; height: 70%; left: 33%; top: 14%; border: 1px solid rgba(255,255,255,.13); border-radius: 44% 56% 48% 52% / 35% 43% 57% 65%; transform: rotate(-8deg); box-shadow: inset 0 0 80px rgba(96,223,153,.04); }
.map-route { position: absolute; z-index: 1; height: 0; border-top: 1px dashed rgba(255,198,47,.5); transform-origin: left center; }
.route-a { width: 35%; left: 57%; top: 30%; transform: rotate(98deg); }
.route-b { width: 23%; left: 57%; top: 30%; transform: rotate(159deg); }
.route-c { width: 27%; left: 64%; top: 67%; transform: rotate(49deg); }
.route-d { width: 25%; left: 51%; top: 49%; transform: rotate(47deg); }
.map-node { position: absolute; z-index: 3; display: grid; grid-template-columns: 22px auto; grid-template-rows: auto auto; gap: 2px 9px; padding: 0; color: rgba(255,255,255,.7); background: transparent; border: 0; text-align: left; cursor: pointer; transform: translate(-50%,-50%); transition: color .25s ease, transform .25s ease; }
.map-node:hover, .map-node.is-active { color: #fff; transform: translate(-50%,-50%) scale(1.08); }
.map-node > span { position: relative; grid-row: 1 / 3; align-self: center; width: 16px; height: 16px; background: var(--yellow); border: 4px solid #fff; border-radius: 50%; box-shadow: 0 0 0 7px rgba(255,198,47,.15); }
.map-node.is-active > span::after { content: ""; position: absolute; inset: -11px; border: 1px solid var(--yellow); border-radius: 50%; animation: mapPulse 2s ease-out infinite; }
.map-node b { font-size: 15px; line-height: 1; }
.map-node small { color: var(--gold); font-size: 10px; white-space: nowrap; }
.city-chongli { left: 53%; top: 21%; }.city-beijing { left: 60%; top: 32%; }.city-zhengzhou { left: 50%; top: 48%; }.city-shanghai { left: 67%; top: 65%; }
.map-compass { position: absolute; right: 28px; top: 24px; color: rgba(255,255,255,.45); font: 900 12px/1.5 Arial, sans-serif; text-align: center; }
.map-panel { display: flex; flex-direction: column; justify-content: center; padding: clamp(32px, 4vw, 56px); background: var(--yellow); color: var(--green-950); }
.map-panel > span { font: 900 10px/1 Arial, sans-serif; letter-spacing: .16em; }
.map-panel h3 { margin: 20px 0; font-size: clamp(42px, 5vw, 70px); line-height: .9; letter-spacing: -.06em; }
.map-panel p { min-height: 88px; margin: 0; color: rgba(16,33,28,.72); font-size: 16px; }
.map-stats { display: grid; gap: 0; margin: 44px 0; border-top: 1px solid rgba(16,33,28,.25); }
.map-stats b { display: flex; align-items: baseline; gap: 14px; padding: 14px 0; border-bottom: 1px solid rgba(16,33,28,.25); font-size: 13px; }
.map-stats strong { min-width: 48px; font: 1000 38px/1 Arial, sans-serif; letter-spacing: -.06em; }
.map-panel > small { font-size: 11px; }

.stories { color: var(--ink); background: var(--paper); overflow: hidden; }
.stories-head { display: grid; grid-template-columns: 1fr auto; gap: 35px; align-items: end; padding: 62px 0 52px; }
.drag-guide { display: flex; align-items: center; gap: 25px; padding-bottom: 8px; }
.drag-guide > span { color: #65736e; font-size: 13px; }
.drag-guide div { display: flex; gap: 8px; }
.drag-guide button { width: 48px; height: 48px; display: grid; place-items: center; color: var(--ink); background: transparent; border: 1px solid var(--ink); border-radius: 50%; cursor: pointer; transition: color .2s ease, background .2s ease, transform .2s ease; }
.drag-guide button:hover { color: var(--paper); background: var(--ink); transform: translateY(-2px); }
.story-track { display: flex; gap: 18px; margin-right: calc(clamp(20px, 5vw, 78px) * -1); padding: 0 clamp(20px, 5vw, 78px) 22px 0; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: none; cursor: grab; user-select: none; }
.story-track::-webkit-scrollbar { display: none; }
.story-track.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.story-card { position: relative; flex: 0 0 clamp(310px, 35vw, 540px); height: clamp(430px, 48vw, 650px); margin: 0; overflow: hidden; color: #fff; background: var(--green-950); scroll-snap-align: start; }
.story-card.story-wide { flex-basis: clamp(430px, 52vw, 760px); }
.story-card.story-tall { flex-basis: clamp(280px, 28vw, 410px); }
.story-card img { height: 100%; object-fit: cover; pointer-events: none; transition: transform .55s ease; }
.story-card:hover img { transform: scale(1.025); }
.story-card::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(3,23,18,.92)); pointer-events: none; }
.story-card figcaption { position: absolute; z-index: 2; inset: auto 24px 24px; display: grid; gap: 10px; }
.story-card figcaption span { color: var(--yellow); font: 900 10px/1 Arial, sans-serif; letter-spacing: .14em; }
.story-card figcaption strong { max-width: 520px; font-size: clamp(24px, 2.6vw, 40px); line-height: 1.08; }
.story-progress { height: 3px; margin-top: 26px; overflow: hidden; background: rgba(16,33,28,.13); }
.story-progress span { display: block; width: var(--gallery-progress, 12%); height: 100%; background: var(--red); transition: width .15s ease; }

.paper-lab { color: #66111e; background: #f1dfc7; background-image: radial-gradient(rgba(102,17,30,.08) 1px, transparent 1px); background-size: 8px 8px; }
.paper-head { text-align: center; }
.paper-head h2 { color: #9e1328; }
.paper-head > p:last-child { max-width: 720px; margin: 28px auto 0; color: #7d3e43; font-size: 17px; }
.paper-gallery { display: grid; grid-template-columns: repeat(12, 1fr); align-items: center; min-height: 670px; padding-top: 40px; }
.paper-gallery figure { position: relative; margin: 0; filter: drop-shadow(0 20px 25px rgba(102,17,30,.12)); transition: transform .35s ease; }
.paper-gallery figure:hover { transform: translateY(-10px) rotate(1deg); }
.paper-gallery figcaption { position: absolute; left: 50%; bottom: -20px; padding: 7px 12px; color: #fff; background: #9e1328; font-size: 12px; font-weight: 900; transform: translateX(-50%); white-space: nowrap; }
.paper-one { grid-column: 1 / 5; grid-row: 1; transform: rotate(-7deg); }
.paper-two { grid-column: 4 / 9; grid-row: 1; z-index: 2; }
.paper-three { grid-column: 8 / 13; grid-row: 1; transform: rotate(7deg); }
.paper-note { grid-column: 5 / 9; grid-row: 2; align-self: start; margin-top: -15px; padding: 25px; text-align: center; }
.paper-note strong { font-size: 26px; line-height: .9; letter-spacing: .06em; }
.paper-note p { color: #7d3e43; font-size: 14px; }
.ticket-wrap { padding-top: 70px; }
.ticket-wrap img { box-shadow: 0 25px 60px rgba(66,22,27,.14); }

.work { position: relative; min-height: 940px; color: #fff; overflow: hidden; }
.work-bg { position: absolute; inset: 0; height: 100%; object-fit: cover; }
.work-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,23,18,.95), rgba(3,23,18,.55) 60%, rgba(3,23,18,.1)); }
.work-copy { position: relative; z-index: 2; }
.work-copy > * { margin-left: 0; }
.work-copy .kicker { margin-top: 80px; }
.work-copy h2 { max-width: 840px; }
.work-lead { max-width: 610px; color: rgba(255,255,255,.7); font-size: 19px; }
.work-steps { max-width: 900px; display: grid; grid-template-columns: repeat(4, 1fr); margin: 70px 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.35); }
.work-steps li { display: grid; gap: 10px; padding: 22px 20px 22px 0; border-right: 1px solid rgba(255,255,255,.22); }
.work-steps li + li { padding-left: 20px; }
.work-steps span { color: var(--yellow); font: 900 11px/1 Arial, sans-serif; }
.work-steps strong { font-size: 19px; }
.work-steps small { color: rgba(255,255,255,.55); }

.contact { color: #fff; background: var(--green-950); }
.contact-character { display: flex; justify-content: center; align-items: center; padding-bottom: 64px; border-bottom: 1px solid rgba(255,255,255,.18); }
.contact-character img { width: clamp(92px, 13vw, 190px); margin: 0 -10px; filter: drop-shadow(0 18px 20px rgba(0,0,0,.28)); transition: transform .25s ease; }
.contact-character img:nth-child(even) { transform: translateY(22px) rotate(3deg); }
.contact-character img:nth-child(odd) { transform: translateY(-10px) rotate(-3deg); }
.contact-character img:hover { z-index: 2; transform: translateY(-18px) scale(1.06); }
.contact-character.is-sheet { padding-bottom: 46px; }
.contact-character.is-sheet img { width: min(100%, 1240px); margin: 0; border: 1px solid rgba(255,255,255,.17); transform: none !important; }
.contact-title { padding: 78px 0 60px; }
.contact-title h2 { font-size: clamp(70px, 10vw, 150px); }
.contact-options { border-top: 1px solid rgba(255,255,255,.2); }
.contact-options a { display: grid; grid-template-columns: 180px 1fr auto; gap: 20px; align-items: center; padding: 24px 0; border-bottom: 1px solid rgba(255,255,255,.2); transition: padding .25s ease, color .25s ease; }
.contact-options a:hover { padding-left: 14px; color: var(--yellow); }
.contact-options span { color: var(--gold); font-size: 13px; }
.contact-options strong { font-size: clamp(20px, 2.5vw, 34px); }
.contact-options em { font-size: 28px; font-style: normal; }
.contact-info { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; padding-top: 54px; color: rgba(255,255,255,.7); }
.contact-info p { display: grid; grid-template-columns: 60px 1fr; gap: 18px; margin: 0; }
.contact-info span { color: var(--gold); font-size: 12px; font-weight: 900; }

.footer { display: flex; align-items: end; justify-content: space-between; gap: 40px; padding: 35px clamp(20px, 5vw, 78px); color: rgba(255,255,255,.58); background: var(--green-1000); font-size: 12px; }
.footer-brand img { width: 190px; filter: brightness(0) invert(1); }
.footer-brand span { display: block; margin-top: 9px; }
.footer p { margin: 0 0 8px; }

/* Editorial rhythm: more breathing room, richer section changes and asymmetry. */
main p, main dd { line-height: 1.76; }
.hero-intro, .system-head > p, .training-lead p, .universe-intro, .brand-events-head > p,
.brand-event-detail > p, .education-statement p, .character-copy p, .video-head > p,
.partners-head > p, .team-building-intro, .people-head > p, .footprint-head > p,
.map-panel p, .work-lead { line-height: 1.82; }
.system-head h2, .training-head h2, .universe-title h2, .brand-events-head h2,
.partners-head h2, .team-building-head h2, .people-head h2, .footprint-head h2,
.case-copy h2, .work-copy h2 { line-height: 1.09; letter-spacing: -.045em; }
.universe-bottom h3, .brand-event-detail h3, .education-statement h3, .character-copy h3,
.video-head h3, .partner-name, .team-case-copy h3, .people-photo figcaption strong,
.people-roles h3, .map-panel h3 { line-height: 1.08; letter-spacing: -.045em; }
.story-card figcaption strong { line-height: 1.22; }
.partner-copy p, .team-case-copy p, .people-roles p, .level p, .education-values span,
.parent-reasons small, .work-steps small { line-height: 1.68; }

.section-no { display: flex; align-items: center; gap: 12px; }
.section-no::before { content: ""; width: 11px; height: 11px; flex: 0 0 auto; background: var(--orange); transform: rotate(45deg); }
.section-no.light::before { background: var(--yellow); }
.system { background: radial-gradient(circle at 12% 20%, rgba(255,113,54,.1), transparent 24%), radial-gradient(circle at 90% 80%, rgba(96,223,153,.1), transparent 26%), var(--cream); }
.universe { background: linear-gradient(135deg, rgba(255,198,47,.1), transparent 36%), var(--paper); }
.partners { background: radial-gradient(circle at 85% 10%, rgba(223,34,56,.1), transparent 26%), radial-gradient(circle at 12% 88%, rgba(255,198,47,.16), transparent 24%), var(--cream); }
.people { background: linear-gradient(118deg, rgba(54,196,214,.08), transparent 34%), var(--paper); }
.stories { background: radial-gradient(circle at 88% 8%, rgba(255,113,54,.12), transparent 24%), var(--paper); }

.system-loop { padding: 5px 0 28px; }
.universe-card { border-radius: 26px; box-shadow: 0 28px 62px rgba(16,33,28,.16); }
.brand-event-stage { overflow: hidden; border-radius: 30px 30px 0 0; box-shadow: 0 34px 75px rgba(0,0,0,.24); }
.brand-event-tabs { overflow: hidden; border-radius: 0 0 30px 30px; }
.education-proof { border-radius: 24px; box-shadow: 0 24px 58px rgba(16,33,28,.12); }
.education-stats div:nth-child(2) { background: var(--orange); }
.education-stats div:nth-child(3) { background: var(--mint); }
.partner-grid { align-items: start; padding: 8px 0 40px; }
.partner-card { border-radius: 12px; box-shadow: 0 25px 58px rgba(16,33,28,.13); transition: transform .35s cubic-bezier(.22,1,.36,1); }
.partner-card:nth-child(2) { margin-top: 32px; }
.partner-card:nth-child(3) { margin-top: 10px; }
.team-case { border-radius: 28px; }
.people-stage, .footprint-layout { overflow: hidden; border-radius: 28px; box-shadow: 0 30px 70px rgba(3,23,18,.18); }
.story-track { padding-bottom: 68px; }
.story-card { border-radius: 24px; box-shadow: 0 24px 56px rgba(16,33,28,.16); transition: transform .35s cubic-bezier(.22,1,.36,1); }
.story-card:nth-child(even) { margin-top: 38px; }

.js-motion .reveal-item { opacity: 0; transform: translateY(54px) scale(.985); transition: opacity .7s ease, transform .9s cubic-bezier(.22,1,.36,1); transition-delay: var(--reveal-delay, 0ms); }
.js-motion .reveal-item.is-visible { opacity: 1; transform: translateY(0) scale(1); }
[data-parallax-speed] { will-change: auto; }
.training-photo-wrap img[data-parallax-speed] { position: absolute; inset: -5% 0 auto; height: 110%; transform: translate3d(0,var(--parallax-y,0),0) scale(1.02); }
.work-bg[data-parallax-speed] { inset: -6% 0 auto; height: 112%; transform: translate3d(0,var(--parallax-y,0),0) scale(1.02); }

@media (min-width: 981px) and (prefers-reduced-motion: no-preference) {
  [data-parallax-speed] { will-change: transform; }
}

@keyframes float { 50% { transform: translateY(-12px) rotate(4deg); } }
@keyframes mapPulse { 0% { opacity: .9; transform: scale(.55); } 100% { opacity: 0; transform: scale(1.7); } }
@keyframes ribbonFlow { to { transform: translateX(-50%); } }

@media (max-width: 980px) {
  .site-header, .site-header.is-scrolled { background: #031712; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .hero-track { will-change: auto; }
  .hero-papercut, .map-node.is-active > span::after { animation: none; }
  .motion-ribbon div { animation: none; transform: none; }
  .training-photo-wrap img[data-parallax-speed], .work-bg[data-parallax-speed] { transform: scale(1.02); }
  .site-header { grid-template-columns: auto 1fr; }
  .nav { justify-content: end; overflow-x: auto; }
  .header-cta { display: none; }
  .hero { height: 1180px; min-height: 1180px; }
  .hero-slide { grid-template-columns: 1fr; grid-template-rows: 56% 44%; }
  .hero-slide::before { inset: 0; }
  .hero-copy { align-self: stretch; min-height: 0; padding: 150px clamp(26px, 7vw, 72px) 115px; }
  .hero-title, .slide-growth .hero-title, .slide-story .hero-title { max-width: 800px; font-size: clamp(66px, 11vw, 108px); }
  .hero-visual { height: 100%; min-height: 0; clip-path: none; }
  .growth-visual { height: calc(100% - 28px); margin: 0 28px 28px; clip-path: none; border-radius: 32px; }
  .story-visual { clip-path: none; }
  .story-poster { width: min(35%, 300px); }
  .hero-swipe-note { display: none; }
  .manifesto { grid-template-columns: 100px 1fr; }
  .manifesto-mark { font-size: 105px; }
  .manifesto > span { display: none; }
  .system-head, .training-head, .playbook-head, .video-head { grid-template-columns: 1fr; gap: 36px; }
  .events-title, .brand-events-head, .partners-head, .people-head, .footprint-head, .team-building-head { grid-template-columns: 1fr; gap: 36px; }
  .events-title .universe-intro { grid-column: 1; grid-row: auto; }
  .system-loop { grid-template-columns: 1fr auto 1fr; }
  .loop-return { grid-column: 3; }
  .loop-arrow:nth-of-type(2) { display: none; }
  .loop-card { min-height: 280px; }
  .case-intro { min-height: 650px; grid-template-columns: .3fr 1.5fr .6fr; }
  .training-stage { grid-template-columns: 1fr; }
  .training-photo-wrap { min-height: 580px; }
  .training-cutout { top: 525px; right: -20px; }
  .parent-reasons { grid-template-columns: 1fr 1fr; }
  .parent-reasons > * { border-bottom: 1px solid var(--line); }
  .education-proof { grid-template-columns: 1fr; }
  .education-stats { grid-column: 1; grid-row: auto; }
  .education-values { grid-column: 1; }
  .character-world { grid-template-columns: 1fr; }
  .character-lineup { min-height: 610px; }
  .content-shelf { overflow-x: auto; grid-template-columns: repeat(3, minmax(340px, 1fr)); padding-bottom: 12px; }
  .video-shelf { grid-template-columns: repeat(3, minmax(300px, 1fr)); overflow-x: auto; padding-bottom: 18px; scroll-snap-type: x mandatory; }
  .video-card { scroll-snap-align: start; }
  .universe-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 560px 360px; }
  .universe-card.winter { grid-column: 1 / 3; grid-row: 1; }
  .universe-card.flag { grid-column: 1; grid-row: 2; }
  .universe-card.mind { grid-column: 2; grid-row: 2; }
  .events-grid { grid-template-rows: 560px 390px; }
  .events-grid .event-flag { grid-column: 1 / 3; grid-row: 1; }
  .events-grid .event-snow { grid-column: 1; grid-row: 2; }
  .events-grid .event-mind { grid-column: 2; grid-row: 2; }
  .brand-event-stage { grid-template-columns: 1fr; }
  .brand-event-visual { min-height: 620px; }
  .brand-event-detail { min-height: 580px; }
  .brand-event-tabs { grid-template-columns: 1fr 1fr; }
  .brand-event-tabs button:nth-child(2) { border-right: 0; }
  .brand-event-tabs button:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.2); }
  .character-dialog-shell { height: auto; min-height: 0; grid-template-columns: 1fr; }
  .character-dialog-art { min-height: 540px; }
  .character-dialog-copy { min-height: 640px; }
  .event-proof, .partner-principle, .people-standard { grid-template-columns: 1fr 1fr; }
  .event-proof span, .partner-principle span, .people-standard span { grid-column: 1 / 3; }
  .partner-grid { display: flex; gap: 14px; padding-bottom: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .partner-grid::-webkit-scrollbar { display: none; }
  .partner-card { flex: 0 0 72vw; min-height: 560px; scroll-snap-align: start; }
  .team-case { flex-basis: 82vw; }
  .team-building-delivery { grid-template-columns: 1fr 1fr; }
  .team-building-delivery span { grid-column: 1 / 3; }
  .people-stage { grid-template-columns: 1fr; }
  .people-photo { min-height: 650px; }
  .footprint-layout { grid-template-columns: 1fr; }
  .network-map { min-height: 680px; }
  .map-panel { min-height: 410px; }
  .map-stats { grid-template-columns: repeat(3, 1fr); }
  .map-stats b { display: grid; gap: 8px; border-right: 1px solid rgba(16,33,28,.25); }
  .work-steps { grid-template-columns: 1fr 1fr; }
  .contact-info { grid-template-columns: 1fr; }
}

@media (max-width: 650px) {
  main section[id] { scroll-margin-top: 132px; }
  .site-header { display: block; padding: 14px 18px; }
  .brand { width: 150px; }
  .nav { justify-content: start; gap: 18px; margin-top: 12px; padding-bottom: 6px; font-size: 11px; }
  .hero { height: 920px; min-height: 920px; }
  .hero-slide { grid-template-rows: 67% 33%; }
  .hero-copy { min-height: 0; padding: 150px 20px 55px; }
  .hero-title, .slide-growth .hero-title, .slide-story .hero-title { max-width: 350px; font-size: clamp(56px, 16.5vw, 68px); line-height: .96; }
  .slide-growth .hero-title { font-size: clamp(48px, 14.6vw, 57px); line-height: .98; }
  .hero-intro { max-width: 345px; margin: 24px 0 26px; font-size: 16px; line-height: 1.6; }
  .hero-actions { gap: 16px 22px; }
  .button { min-height: 48px; padding: 0 18px; font-size: 13px; }
  .hero-visual { min-height: 0; }
  .hero-photo { object-position: 47% center; }
  .hero-papercut { width: 125px; right: -4px; bottom: 52px; }
  .hero-photo-label { top: 28px; right: 16px; }
  .flight-line { top: 38%; }
  .growth-visual { height: calc(100% - 18px); margin: 0 14px 18px; border-radius: 24px; }
  .growth-caption { left: 16px; bottom: 58px; padding: 13px 15px; }
  .growth-caption strong { font-size: 22px; }
  .growth-cutout { width: 110px; right: -5px; top: 10%; border-width: 5px; }
  .story-poster { width: 45%; max-width: 180px; border-radius: 20px; }
  .story-avatar { width: 92px; }
  .story-avatar.avatar-one { right: 6%; top: 9%; border-width: 4px; }
  .story-avatar.avatar-two { left: 3%; bottom: 12%; border-width: 4px; }
  .story-team-strip { width: 88%; bottom: 5%; border-radius: 12px; }
  .hero-status { display: none; }
  .hero-controls { left: 50%; right: auto; bottom: 18px; transform: translateX(-50%); }
  .hero-controls > button { width: 36px; height: 36px; }
  .hero-dots button { width: 18px; }
  .hero-dots button.is-active { width: 32px; }
  .manifesto { min-height: 290px; grid-template-columns: 50px 1fr; gap: 18px; padding: 40px 22px; transform: none; }
  .manifesto-mark { font-size: 72px; }
  .manifesto p { font-size: 34px; }
  .system-loop { grid-template-columns: 1fr; gap: 10px; }
  .loop-arrow { transform: rotate(90deg); min-height: 34px; }
  .loop-arrow:nth-of-type(2) { display: grid; }
  .loop-return { grid-column: auto; }
  .loop-card { min-height: 240px; }
  .loop-note { display: block; }
  .loop-note span { display: block; margin-bottom: 5px; }
  .case-intro { min-height: 760px; grid-template-columns: 1fr; align-content: start; gap: 25px; padding-top: 85px; }
  .case-index { margin: 0; }
  .system-head h2, .training-head h2 { font-size: 38px; }
  .case-copy h2 { font-size: 38px; }
  .system-head h2 span, .training-head h2 span, .case-copy h2 span { white-space: nowrap; }
  .case-intro > img { width: 270px; justify-self: end; margin-top: -30px; }
  .training-stage { min-height: auto; }
  .training-photo-wrap { min-height: 410px; }
  .training-path { grid-template-columns: 1fr; }
  .level { min-height: 180px; }
  .training-cutout { width: 135px; top: 365px; right: -8px; border-width: 6px; }
  .parent-reasons { grid-template-columns: 1fr; }
  .parent-reasons > p, .parent-reasons > div { border-right: 0; }
  .education-statement { padding: 34px 24px; }
  .education-statement h3 { font-size: 42px; }
  .education-stats strong { font-size: 36px; }
  .education-stats div { padding: 24px 14px; }
  .education-stats span { font-size: 11px; }
  .education-values { grid-template-columns: 1fr; padding-bottom: 18px; }
  .education-values p { border-right: 0; border-bottom: 1px solid var(--line); }
  .education-source { left: 24px; right: auto; }
  .character-copy { padding: 32px 22px; }
  .character-lineup { min-height: 520px; }
  .character-lineup .character-card { width: 128px; }
  .character-card > span small { display: none; }
  .char-qb { left: 1%; top: 10%; }.char-x { left: 35%; top: 4%; }.char-y { right: 0; top: 12%; }.char-z { left: 13%; bottom: 8%; }.char-s { right: 12%; bottom: 7%; }
  .content-shelf { grid-template-columns: repeat(3, minmax(285px, 82vw)); }
  .content-card { min-height: 560px; }
  .video-head { padding-top: 82px; }
  .video-shelf { grid-template-columns: repeat(3, minmax(278px, 78vw)); margin-right: -20px; }
  .video-card.video-b { margin-top: 0; }
  .video-meta { grid-template-columns: 1fr; gap: 8px; }
  .universe-grid { display: block; }
  .universe-card { min-height: 430px; margin-bottom: 12px; }
  .events-grid .event-flag .universe-bottom h3 { font-size: 62px; }
  .events-grid .event-snow h3, .events-grid .event-mind h3 { font-size: 34px; }
  .event-proof, .partner-principle, .people-standard, .team-building-delivery { grid-template-columns: 1fr 1fr; }
  .event-proof span, .partner-principle span, .people-standard span, .team-building-delivery span { grid-column: 1 / 3; }
  .partner-card { flex-basis: 86vw; min-height: 530px; }
  .partner-name { font-size: 45px; }
  .events-title h2, .brand-events-head h2, .team-building-head h2, .partners-head h2, .people-head h2, .footprint-head h2 { font-size: 38px; }
  .brand-event-visual { min-height: 480px; }
  .brand-event-visual-copy { right: 76px; }
  .brand-event-visual-copy strong { font-size: 52px; }
  .brand-event-counter b { font-size: 40px; }
  .brand-event-detail { min-height: 570px; padding: 34px 24px; }
  .brand-event-detail h3 { font-size: 48px; }
  .brand-event-tabs { grid-template-columns: 1fr; }
  .brand-event-tabs button { min-height: 110px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .brand-event-tabs button:nth-child(2) { border-right: 0; }
  .brand-event-tabs button:last-child { border-bottom: 0; }
  .character-dialog { width: calc(100vw - 18px); }
  .character-dialog-art { min-height: 330px; padding: 10px; }
  .character-dialog-art img { max-height: 320px; }
  .character-dialog-art span { left: 12px; bottom: 10px; }
  .character-dialog-copy { min-height: 560px; padding: 46px 22px 26px; }
  .character-dialog-copy h3 { font-size: 66px; }
  .character-dialog-tagline { font-size: 16px; }
  .character-dialog blockquote { font-size: 25px; }
  .character-dialog-nav { gap: 8px; }
  .character-dialog-nav button { font-size: 12px; }
  .team-building-toolbar { align-items: end; gap: 20px; }
  .team-building-toolbar > span { max-width: 140px; }
  .team-case { flex-basis: 86vw; min-height: 640px; }
  .team-case::after { background: linear-gradient(0deg, rgba(3,23,18,.96), rgba(3,23,18,.5) 72%, rgba(3,23,18,.08)); }
  .team-case-top { display: grid; gap: 8px; }
  .team-case-copy h3 { font-size: 58px; }
  .team-case-copy p { font-size: 15px; }
  .people-photo { min-height: 540px; }
  .people-roles { grid-template-columns: 1fr; }
  .people-roles article { min-height: 270px; }
  .people-roles i { font-size: 120px; }
  .network-map { min-height: 620px; }
  .map-node { grid-template-columns: 18px auto; gap: 2px 6px; }
  .map-node > span { width: 13px; height: 13px; border-width: 3px; }
  .map-node b { font-size: 13px; }
  .map-node small { font-size: 9px; }
  .map-panel { min-height: 450px; }
  .map-stats { grid-template-columns: 1fr; }
  .map-stats b { display: flex; border-right: 0; }
  .stories-head { grid-template-columns: 1fr; }
  .drag-guide { justify-content: space-between; }
  .story-track { margin-right: -20px; padding-right: 20px; }
  .story-card, .story-card.story-wide, .story-card.story-tall { flex-basis: 82vw; height: 520px; }
  .paper-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; min-height: auto; padding-top: 65px; }
  .paper-one, .paper-two, .paper-three { grid-column: auto; grid-row: auto; transform: none; }
  .paper-three { grid-column: 1 / 3; width: 55%; justify-self: center; }
  .paper-note { grid-column: 1 / 3; grid-row: auto; margin: 15px 0 0; }
  .work { min-height: 980px; }
  .work-shade { background: rgba(3,23,18,.77); }
  .work-steps { grid-template-columns: 1fr; }
  .work-steps li { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); padding-left: 0 !important; }
  .contact-options a { grid-template-columns: 1fr auto; }
  .contact-options a span { grid-column: 1 / 3; }
  .footer { display: block; }
  .footer > div:last-child { margin-top: 25px; }
}

@media (max-width: 980px) {
  .loop-card:nth-of-type(even) { margin-top: 0; }
  .partner-card:nth-child(2), .partner-card:nth-child(3) { margin-top: 0; }
  .partner-grid { padding-bottom: 18px; }
  .system-head h2, .training-head h2, .universe-title h2, .brand-events-head h2,
  .partners-head h2, .team-building-head h2, .people-head h2, .footprint-head h2,
  .case-copy h2, .work-copy h2 { line-height: 1.12; }
}

@media (max-width: 650px) {
  main p, main dd { line-height: 1.8; }
  .hero-title, .slide-growth .hero-title, .slide-story .hero-title { line-height: 1.04; }
  .manifesto p { line-height: 1.18; }
  .motion-ribbon div { gap: 20px; padding: 14px 0; animation-duration: 22s; }
  .motion-ribbon span { font-size: 18px; }
  .motion-ribbon i { font-size: 15px; }
  .section-no { gap: 9px; }
  .section-no::before { width: 8px; height: 8px; }
  .training-stage, .education-proof, .universe-card, .team-case,
  .people-stage, .footprint-layout, .story-card { border-radius: 18px; }
  .brand-event-stage { border-radius: 20px 20px 0 0; }
  .brand-event-tabs { border-radius: 0 0 20px 20px; }
  .story-card:nth-child(even) { margin-top: 0; }
  .story-track { padding-bottom: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
