/* Qinhuai Laureate — site-specific editorial case study. */
.qinhuai-project-body {
  --qin-gold: #f2bb63;
  --qin-gold-soft: #d8a95f;
  --qin-red: #8c2922;
  --qin-ink: #090806;
  --qin-paper: #ece6d8;
  --qin-paper-ink: #241d14;
  --qin-line: rgba(242, 187, 99, .24);
  background: #090806;
}

.qinhuai-project-body::before { opacity: .18; background: radial-gradient(circle at 82% 12%, rgba(242,187,99,.15), transparent 31%); }
.qinhuai-project-body .site-header { background: rgba(9,8,6,.78); }
.qinhuai-project { overflow: hidden; }
.qin-section { position: relative; padding: clamp(88px, 11vw, 164px) 0; }
.qin-section-kicker { color: var(--qin-gold); font: 650 .69rem/1.45 var(--font-mono); letter-spacing: .19em; text-transform: uppercase; }
.qin-section-title { max-width: 840px; margin-top: 20px; font-family: var(--font-display); font-size: clamp(2.5rem, 5.1vw, 5.25rem); font-weight: 580; line-height: 1.02; letter-spacing: -.06em; text-wrap: balance; }
.qin-section-lead { max-width: 660px; color: #b8b0a2; font-size: clamp(1rem, 1.45vw, 1.22rem); line-height: 1.85; }

/* Hero */
.qin-hero { position: relative; min-height: max(720px, calc(100svh - var(--header-height))); display: flex; align-items: stretch; isolation: isolate; background: #0b0907; }
.qin-hero-image { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; filter: saturate(.82) contrast(1.04); }
.qin-hero-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(5,4,3,.93) 0%, rgba(5,4,3,.66) 39%, rgba(5,4,3,.18) 68%, rgba(5,4,3,.3) 100%), linear-gradient(180deg, rgba(5,4,3,.2), transparent 45%, rgba(5,4,3,.9)); }
.qin-hero-shade::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 74% 30%, rgba(242,187,99,.14), transparent 30%); mix-blend-mode: screen; }
.qin-hero-frame { position: absolute; inset: 18px; z-index: 1; border: 1px solid rgba(242,187,99,.32); pointer-events: none; }
.qin-hero-content { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, .42fr); grid-template-rows: auto 1fr auto; gap: 44px 70px; padding-top: clamp(34px, 5vw, 68px); padding-bottom: clamp(45px, 6vw, 82px); }
.qin-back { grid-column: 1 / -1; align-self: start; width: max-content; color: rgba(255,255,255,.68); font-size: .82rem; transition: color .2s ease; }
.qin-back:hover { color: var(--qin-gold); }
.qin-hero-copy { grid-column: 1; align-self: end; max-width: 920px; }
.qin-kicker { margin-bottom: 24px; color: var(--qin-gold); font: 650 .72rem/1.4 var(--font-mono); letter-spacing: .2em; }
.qin-category { width: max-content; margin-bottom: 16px; padding: 8px 11px; border: 1px solid rgba(242,187,99,.4); color: #f7dfb3; font: 600 .68rem/1 var(--font-mono); letter-spacing: .11em; text-transform: uppercase; }
.qin-title { width: max-content; max-width: 100%; font-family: var(--font-display); font-size: clamp(2rem, 7.2vw, 7.25rem); font-weight: 560; line-height: .9; letter-spacing: -.075em; white-space: nowrap; text-wrap: nowrap; text-shadow: 0 12px 40px rgba(0,0,0,.42); }
html[lang="en"] .qin-title { font-size: clamp(1.8rem, 5.2vw, 6.5rem); letter-spacing: -.065em; }
.qin-tagline { max-width: 700px; margin-top: 30px; color: rgba(255,255,255,.78); font-size: clamp(1rem, 1.55vw, 1.25rem); line-height: 1.72; }
.qin-hero-facts { grid-column: 2; align-self: end; display: grid; border-top: 1px solid rgba(255,255,255,.24); }
.qin-hero-fact { display: grid; grid-template-columns: .72fr 1fr; gap: 18px; padding: 17px 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.qin-hero-fact dt { color: rgba(255,255,255,.45); font: 600 .64rem/1.5 var(--font-mono); letter-spacing: .09em; text-transform: uppercase; }
.qin-hero-fact dd { color: #fff; font-size: .88rem; line-height: 1.55; }
.qin-scroll-cue { position: absolute; right: 32px; bottom: 95px; z-index: 2; display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.38); font: 600 .58rem/1 var(--font-mono); letter-spacing: .14em; writing-mode: vertical-rl; }
.qin-scroll-cue i { width: 1px; height: 42px; background: linear-gradient(var(--qin-gold), transparent); }

/* Overview */
.qin-intro { background: #0b0a08; }
.qin-intro::before { content: "NO. 1"; position: absolute; right: -1.5vw; top: 5%; color: rgba(242,187,99,.025); font: 700 clamp(10rem, 26vw, 27rem)/1 var(--font-display); letter-spacing: -.14em; pointer-events: none; }
.qin-intro-grid { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(300px, .7fr); gap: clamp(55px, 10vw, 150px); align-items: start; }
.qin-intro-copy { padding-top: 42px; }
.qin-intro-copy > p { color: #c9c1b3; font-size: clamp(1.12rem, 1.7vw, 1.42rem); line-height: 1.9; }
.qin-partner { display: grid; gap: 8px; margin-top: 52px; padding-top: 22px; border-top: 1px solid var(--qin-line); }
.qin-partner span { color: #777064; font: 600 .65rem/1.5 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }
.qin-partner strong { color: var(--qin-gold-soft); font-size: .94rem; font-weight: 620; }

/* Visual identity */
.qin-identity { overflow: hidden; background: #751f1a; color: #fff7e8; }
.qin-identity::before { content: ""; position: absolute; inset: 0; opacity: .17; background: repeating-linear-gradient(90deg, transparent 0, transparent calc(16.666% - 1px), rgba(255,247,232,.17) 16.666%); pointer-events: none; }
.qin-identity-inner { position: relative; }
.qin-identity .qin-section-kicker { color: #f7d79e; }
.qin-identity-lockup { margin: clamp(48px, 7vw, 86px) 0 clamp(48px, 6vw, 74px); padding: clamp(34px, 5vw, 66px) 0; border-top: 1px solid rgba(255,247,232,.3); border-bottom: 1px solid rgba(255,247,232,.3); }
.qin-identity-lockup img { width: min(100%, 1050px); height: auto; display: block; margin-inline: auto; opacity: .96; filter: invert(88%) sepia(34%) saturate(647%) hue-rotate(344deg) brightness(105%) contrast(96%); }
.qin-identity-copy { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(300px, .55fr); gap: clamp(35px, 8vw, 120px); align-items: end; }
.qin-identity-copy h2 { max-width: 620px; font-family: var(--font-display); font-size: clamp(2.3rem, 4.5vw, 4.8rem); font-weight: 570; line-height: 1; letter-spacing: -.055em; }
.qin-identity-copy p { max-width: 560px; color: rgba(255,247,232,.72); font-size: clamp(1rem, 1.35vw, 1.16rem); line-height: 1.85; }

/* Four chapters */
.qin-journey { background: linear-gradient(180deg, #0b0a08, #100c08); }
.qin-heading-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .55fr); gap: 60px; align-items: end; margin-bottom: clamp(52px, 7vw, 92px); }
.qin-chapter-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.qin-chapter { position: relative; min-height: 530px; display: flex; align-items: end; overflow: hidden; isolation: isolate; border: 1px solid rgba(242,187,99,.16); background: #14100c; }
.qin-chapter:nth-child(2), .qin-chapter:nth-child(4) { transform: translateY(46px); }
.qin-chapter img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) brightness(.84); transition: transform .8s var(--ease), filter .5s ease; }
.qin-chapter::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 34%, rgba(7,5,3,.92) 91%); }
.qin-chapter:hover img { transform: scale(1.035); filter: saturate(1) brightness(.95); }
.qin-chapter-copy { width: 100%; display: grid; grid-template-columns: 58px 1fr; gap: 18px; align-items: start; padding: 34px; }
.qin-chapter-number { color: var(--qin-gold); font: 650 .72rem/1.4 var(--font-mono); letter-spacing: .1em; }
.qin-chapter h3 { margin-bottom: 9px; font-family: var(--font-display); font-size: clamp(1.8rem, 3vw, 3rem); font-weight: 580; line-height: 1; letter-spacing: -.045em; }
.qin-chapter p { max-width: 500px; color: rgba(255,255,255,.68); font-size: .92rem; line-height: 1.7; }

/* Built for the site */
.qin-field { background: var(--qin-paper); color: var(--qin-paper-ink); }
.qin-field .qin-section-kicker { color: #8b5b1e; }
.qin-field .qin-section-lead { color: #645a4c; }
.qin-field-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .65fr); gap: clamp(45px, 8vw, 120px); align-items: center; }
.qin-field-media { position: relative; }
.qin-field-media::before { content: ""; position: absolute; inset: -14px 14px 14px -14px; z-index: 0; border: 1px solid rgba(101,71,35,.3); }
.qin-field-media img { position: relative; z-index: 1; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; filter: saturate(.82) contrast(1.02); }
.qin-field-media figcaption { position: relative; z-index: 1; margin-top: 16px; color: #766b5b; font: 600 .64rem/1.6 var(--font-mono); letter-spacing: .06em; }
.qin-field-points { display: grid; gap: 0; margin-top: 38px; border-top: 1px solid rgba(36,29,20,.22); list-style: none; }
.qin-field-points li { position: relative; padding: 18px 0 18px 32px; border-bottom: 1px solid rgba(36,29,20,.22); color: #40372c; font-size: .91rem; }
.qin-field-points li::before { content: "◆"; position: absolute; left: 2px; color: var(--qin-red); font-size: .7rem; }

/* Technical foundation */
.qin-tech { background: #711f1b; color: #fff8e8; }
.qin-tech::before { content: ""; position: absolute; inset: 0; opacity: .14; background: repeating-linear-gradient(90deg, transparent 0, transparent calc(25% - 1px), rgba(255,255,255,.16) 25%); pointer-events: none; }
.qin-tech .qin-section-kicker { color: #ffd690; }
.qin-heading-row-light .qin-section-lead { color: rgba(255,248,232,.7); }
.qin-tech-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,248,232,.34); }
.qin-tech-card { min-height: 320px; display: flex; flex-direction: column; padding: 34px 30px; border-right: 1px solid rgba(255,248,232,.26); }
.qin-tech-card:last-child { border-right: 0; }
.qin-tech-index { color: #ffd690; font: 650 .68rem/1 var(--font-mono); letter-spacing: .1em; }
.qin-tech-card h3 { margin: auto 0 14px; font-family: var(--font-display); font-size: clamp(1.6rem, 2.5vw, 2.55rem); font-weight: 580; line-height: 1.05; letter-spacing: -.04em; }
.qin-tech-card p { color: rgba(255,248,232,.68); font-size: .9rem; line-height: 1.72; }

/* Recognition */
.qin-recognition { background: #0a0907; }
.qin-recognition-intro { max-width: 970px; }
.qin-recognition-intro .qin-section-lead { margin-top: 30px; }
.qin-award-card { display: grid; grid-template-columns: minmax(300px, .52fr) minmax(0, 1fr); margin-top: clamp(56px, 8vw, 104px); border: 1px solid var(--qin-line); background: #11100d; }
.qin-award-copy { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(34px, 5vw, 70px); }
.qin-award-mark { margin-bottom: auto; color: rgba(242,187,99,.14); font: 700 clamp(5rem, 9vw, 9rem)/.8 var(--font-display); letter-spacing: -.08em; }
.qin-award-copy h3 { max-width: 480px; margin: 26px 0 16px; font-family: var(--font-display); font-size: clamp(1.8rem, 3vw, 3.2rem); font-weight: 580; line-height: 1.14; letter-spacing: -.045em; }
.qin-award-copy strong { color: var(--qin-gold); font: 650 .84rem/1.5 var(--font-mono); letter-spacing: .08em; }
.qin-award-image { position: relative; min-height: 460px; overflow: hidden; background: #16130f; }
.qin-award-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s var(--ease), filter .35s ease; }
.qin-award-image > span { position: absolute; right: 24px; bottom: 24px; width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; background: var(--qin-gold); color: #151008; font-size: 1.5rem; }
.qin-award-image:hover img { transform: scale(1.02); filter: brightness(1.06); }
.qin-press-section { margin-top: clamp(78px, 10vw, 134px); }
.qin-press-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 30px; }
.qin-press-card { display: grid; grid-template-columns: minmax(180px, .52fr) 1fr; min-height: 390px; border: 1px solid var(--qin-line); background: #100e0b; overflow: hidden; }
.qin-press-visual { min-height: 390px; overflow: hidden; background: #18130e; }
.qin-press-visual img { width: 100%; height: 100%; object-fit: cover; object-position: top center; filter: saturate(.72); transition: transform .6s var(--ease), filter .4s ease; }
.qin-press-card:hover .qin-press-visual img { transform: scale(1.025); filter: saturate(.94); }
.qin-press-copy { display: flex; flex-direction: column; justify-content: end; padding: 30px; }
.qin-press-copy span { margin-bottom: auto; color: rgba(242,187,99,.38); font: 650 2rem/1 var(--font-display); }
.qin-press-copy h3 { margin-bottom: 12px; font-family: var(--font-display); font-size: clamp(1.45rem, 2vw, 2.15rem); font-weight: 580; }
.qin-press-copy p { color: #8f877a; font-size: .86rem; line-height: 1.7; }

/* Outro and lightbox */
.qin-outro { padding-bottom: clamp(100px, 13vw, 190px); background: radial-gradient(circle at 70% 30%, rgba(242,187,99,.1), transparent 31%), #0a0907; }
.qin-outro-inner { padding-top: clamp(58px, 8vw, 96px); border-top: 1px solid var(--qin-line); }
.qin-outro h2 { max-width: 1050px; margin: 28px 0 24px; font-family: var(--font-display); font-size: clamp(3rem, 6.8vw, 7.2rem); font-weight: 560; line-height: .98; letter-spacing: -.07em; text-wrap: balance; }
.qin-outro p:not(.qin-section-kicker) { max-width: 650px; color: #9d9589; font-size: 1rem; line-height: 1.8; }
.qin-outro .btn { margin-top: 42px; border-color: rgba(242,187,99,.58); }
.qin-outro .btn:hover { border-color: var(--qin-gold); color: var(--qin-gold); }
.qin-lightbox { width: min(94vw, 1500px); max-width: none; max-height: 92vh; padding: 0; border: 1px solid rgba(255,255,255,.2); background: #070706; color: #fff; overflow: auto; }
.qin-lightbox::backdrop { background: rgba(0,0,0,.88); backdrop-filter: blur(8px); }
.qin-lightbox img { width: 100%; height: auto; }
.qin-lightbox-close { position: sticky; top: 14px; z-index: 2; float: right; width: 44px; height: 44px; margin: 14px; display: grid; place-items: center; border-radius: 50%; background: rgba(8,8,7,.86); color: #fff; font-size: 1.6rem; }

@media (max-width: 1040px) {
  .qin-hero-content { grid-template-columns: 1fr; grid-template-rows: auto 1fr auto; }
  .qin-hero-copy, .qin-hero-facts { grid-column: 1; }
  .qin-hero-facts { grid-template-columns: repeat(2, 1fr); }
  .qin-hero-fact { display: block; padding-right: 18px; }
  .qin-hero-fact dt { margin-bottom: 7px; }
  .qin-intro-grid, .qin-field-grid { grid-template-columns: 1fr; }
  .qin-intro-copy { max-width: 760px; padding-top: 0; }
  .qin-heading-row { grid-template-columns: 1fr; align-items: start; }
  .qin-field-copy { max-width: 760px; }
  .qin-award-card { grid-template-columns: 1fr; }
  .qin-award-mark { margin-bottom: 60px; }
}

@media (max-width: 780px) {
  .qin-hero { min-height: 760px; }
  .qin-hero-shade { background: linear-gradient(180deg, rgba(5,4,3,.7), rgba(5,4,3,.32) 35%, rgba(5,4,3,.94) 78%); }
  .qin-hero-image { object-position: 56% center; }
  .qin-title { font-size: clamp(2.15rem, 9.1vw, 3rem); }
  html[lang="en"] .qin-title { font-size: clamp(1.75rem, 6.9vw, 2.5rem); }
  .qin-chapter-grid, .qin-tech-grid, .qin-press-grid { grid-template-columns: 1fr; }
  .qin-chapter:nth-child(2), .qin-chapter:nth-child(4) { transform: none; }
  .qin-chapter { min-height: 440px; }
  .qin-tech-card { min-height: 260px; border-right: 0; border-bottom: 1px solid rgba(255,248,232,.26); }
  .qin-tech-card:last-child { border-bottom: 0; }
  .qin-press-card { min-height: 340px; }
  .qin-scroll-cue { display: none; }
}

@media (max-width: 560px) {
  .qin-hero { min-height: 720px; }
  .qin-hero-frame { inset: 9px; }
  .qin-hero-content { gap: 30px; padding-top: 26px; padding-bottom: 34px; }
  .qin-hero-facts { grid-template-columns: 1fr 1fr; }
  .qin-hero-fact { padding: 12px 10px 12px 0; }
  .qin-hero-fact dd { font-size: .78rem; }
  .qin-kicker { margin-bottom: 16px; font-size: .62rem; }
  .qin-title { font-size: clamp(2.15rem, 9.1vw, 3rem); }
  html[lang="en"] .qin-title { font-size: clamp(1.75rem, 6.9vw, 2.5rem); }
  .qin-tagline { margin-top: 20px; }
  .qin-section { padding-block: 82px; }
  .qin-section-title { font-size: clamp(2.3rem, 11.5vw, 3.7rem); }
  .qin-heading-row { gap: 25px; margin-bottom: 42px; }
  .qin-identity-lockup { margin-block: 38px; padding-block: 28px; }
  .qin-identity-copy { grid-template-columns: 1fr; gap: 22px; }
  .qin-chapter { min-height: 390px; }
  .qin-chapter-copy { grid-template-columns: 40px 1fr; gap: 10px; padding: 24px 20px; }
  .qin-field-media::before { inset: -8px 8px 8px -8px; }
  .qin-award-copy { padding: 30px 24px; }
  .qin-award-mark { margin-bottom: 42px; }
  .qin-award-image { min-height: 250px; }
  .qin-press-card { grid-template-columns: 46% 1fr; min-height: 320px; }
  .qin-press-visual { min-height: 320px; }
  .qin-press-copy { padding: 20px 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .qin-chapter:nth-child(2), .qin-chapter:nth-child(4) { transform: none; }
}
