@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Noto+Serif+SC:wght@400;500&display=swap");

:root {
  --black: #0d0d0c;
  --ink: #181714;
  --zinc: #aaa79f;
  --ivory: #f5f0e7;
  --paper: #e9e1d5;
  --gold: #b89962;
  --gold2: #e1cda9;
  --blue: #8cbac6;
  --red: #b9473d;
  --green: #6d7f64;
  --line: rgba(184, 153, 98, 0.34);
  --muted: #aaa196;
  --secondary: #d0c8bd;
  --secondary-soft: #bbb2a7;
}

* { box-sizing: border-box; }
html, body { margin: 0; width: 100%; height: 100%; overflow: hidden; background: var(--black); color: var(--ivory); font-family: "Helvetica Neue", Arial, "Microsoft YaHei", sans-serif; }
button { font: inherit; }
.app { position: relative; width: 100%; height: 100%; isolation: isolate; overflow: hidden; background: #0d0d0c; }
#three { position: absolute; inset: 0; z-index: -2; opacity: 0.92; }
#three canvas { display: block; }
.wash { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(13,13,12,.96) 0%, rgba(13,13,12,.78) 42%, rgba(13,13,12,.08) 74%), linear-gradient(0deg, rgba(13,13,12,.9) 0%, transparent 32%); pointer-events: none; }

.masthead { position: absolute; inset: 0 0 auto 0; height: 74px; padding: 0 42px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid rgba(255,255,255,.12); z-index: 30; }
.maison { font: 500 11px "Cormorant Garamond", serif; letter-spacing: .22em; }
.maison span { color: var(--gold); }
.mast-center { font-size: 10px; letter-spacing: .18em; color: var(--secondary); }
.mast-right { justify-self: end; display: flex; align-items: center; gap: 18px; font-size: 10px; letter-spacing: .12em; color: var(--gold2); }
.proof-toggle { padding: 8px 11px; border: 1px solid var(--line); background: transparent; color: var(--gold2); cursor: pointer; }
.proof-toggle:hover, .proof-toggle:focus-visible { background: var(--gold); color: var(--black); outline: 0; }

.progress { position: absolute; left: 42px; top: 104px; bottom: 102px; width: 142px; z-index: 20; display: grid; grid-template-rows: repeat(10,minmax(0,1fr)); }
.progress::before { content: ""; position: absolute; left: 4px; top: 8px; bottom: 8px; width: 1px; background: rgba(255,255,255,.12); }
.step-link { position: relative; display: block; width: 100%; min-height: 0; padding: 0 0 0 23px; margin: 0; border: 0; background: transparent; color: var(--secondary-soft); text-align: left; cursor: pointer; transition: color .3s ease; }
.step-link::before { content: ""; position: absolute; left: 0; top: 4px; width: 9px; height: 9px; border: 1px solid #777168; border-radius: 50%; background: var(--black); transition: .3s ease; }
.step-link em { display: block; font-style: normal; font-size: 10px; letter-spacing: .14em; }
.step-link span { display: block; margin-top: 7px; font: 400 13px "Noto Serif SC", serif; }
.step-link.active { color: var(--ivory); }
.step-link.active::before { background: var(--gold); border-color: var(--gold); box-shadow: 0 0 0 5px rgba(184,153,98,.12); }
.step-link.passed { color: #c4baad; }
.step-link.passed::before { background: #7f7668; border-color: #7f7668; }
.counter { position: absolute; left: 42px; bottom: 31px; z-index: 22; }
.counter strong { display: block; font: 400 38px "Cormorant Garamond", serif; }
.counter span { font-size: 10px; letter-spacing: .14em; color: var(--secondary); }

.stage { position: absolute; left: 210px; right: 42px; top: 74px; bottom: 92px; z-index: 10; }
.scene { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; opacity: 0; transform: translateY(24px); pointer-events: none; transition: opacity .48s ease, transform .62s cubic-bezier(.2,.75,.25,1); }
.scene.active { opacity: 1; transform: translateY(0); pointer-events: auto; }
.eyebrow { margin: 0 0 26px; color: #d2b572; font-size: 10px; letter-spacing: .2em; }
.display { margin: 0; font: 400 112px/.83 "Cormorant Garamond", serif; }
.display em { font-style: italic; color: var(--gold2); }
.cn-title { margin: 22px 0 0; font: 400 43px/1.24 "Noto Serif SC", serif; }
.lead { max-width: 540px; margin: 31px 0 0; color: #c5bdb1; font: 400 15px/1.85 "Noto Serif SC", serif; }
.micro { margin-top: 42px; display: flex; align-items: center; gap: 17px; color: var(--secondary); font-size: 11px; letter-spacing: .1em; }
.micro::before { content: ""; width: 54px; height: 1px; background: var(--gold); }

.hero-lockup { width: 58%; max-width: 660px; }
.hero-lockup .display { font-size: 128px; }
.hero-lockup .cn-title { font-size: 47px; }
.hero-metric { position: absolute; right: 1%; bottom: 4%; text-align: right; }
.hero-metric b { display: block; font: 400 74px/1 "Cormorant Garamond", serif; color: var(--gold2); }
.hero-metric span { font-size: 10px; letter-spacing: .16em; color: var(--secondary); }

.audit-layout { display: grid; grid-template-columns: minmax(360px,.72fr) minmax(620px,1.28fr); gap: 64px; align-items: center; }
.audit-intro .lead { max-width: 500px; }
.audit-boundary { margin-top: 28px; padding: 17px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.audit-boundary span { display: block; color: #d2b572; font-size: 10px; letter-spacing: .16em; }
.audit-boundary strong { display: block; max-width: 480px; margin-top: 9px; color: #d8d0c5; font: 400 14px/1.65 "Noto Serif SC", serif; }
.audit-dashboard { min-width: 0; border-top: 1px solid rgba(205,168,94,.55); border-bottom: 1px solid rgba(205,168,94,.35); background: rgba(11,10,8,.56); }
.audit-metrics { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid rgba(205,168,94,.24); }
.audit-metric { min-width: 0; padding: 20px 18px; border-right: 1px solid rgba(205,168,94,.18); }
.audit-metric:last-child { border-right: 0; }
.audit-metric strong { display: block; color: var(--gold2); font: 400 43px/1 "Cormorant Garamond", serif; }
.audit-metric span { display: block; margin-top: 8px; color: var(--ivory); font: 400 13px "Noto Serif SC", serif; }
.audit-metric small { display: block; margin-top: 6px; color: var(--secondary); font-size: 11px; }
.audit-metric.pending strong { color: #d6a14f; }
.audit-columns { display: grid; grid-template-columns: 1fr 1fr; }
.audit-column { padding: 22px 24px 25px; border-right: 1px solid rgba(205,168,94,.18); }
.audit-column:last-child { border-right: 0; }
.audit-column header { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; margin-bottom: 19px; }
.audit-column header span { color: #ddc27f; font-size: 10px; letter-spacing: .14em; }
.audit-column header b { color: #d8d0c5; font-size: 12px; font-weight: 400; }
.bar-list { display: grid; gap: 14px; }
.audit-bar div { display: flex; justify-content: space-between; margin-bottom: 6px; color: var(--secondary); font-size: 11px; }
.audit-bar b { color: #ded5c7; font-weight: 400; }
.audit-bar i { display: block; height: 2px; background: rgba(255,255,255,.12); }
.audit-bar em { display: block; height: 100%; background: var(--gold); box-shadow: 0 0 12px rgba(184,153,98,.2); }
.audit-column:first-child .audit-bar em { background: var(--blue); }
.method-status { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(205,168,94,.2); }
.method-cell { padding: 14px 18px; border-right: 1px solid rgba(205,168,94,.14); }
.method-cell:last-child { border-right: 0; }
.method-cell span { display: block; color: var(--secondary); font-size: 10px; letter-spacing: .12em; }
.method-cell b { display: block; margin-top: 7px; color: #9eb397; font: 400 15px "Cormorant Garamond", serif; }
.method-cell.pending b { color: #d2a458; }

.filter-layout { display: grid; grid-template-columns: .88fr 1.12fr; gap: 60px; align-items: center; }
.sieve { position: relative; height: 470px; border-left: 1px solid var(--line); border-right: 1px solid var(--line); overflow: hidden; background: rgba(14,17,17,.42); }
.sieve::before, .sieve::after { content: ""; position: absolute; left: 9%; right: 9%; height: 1px; background: var(--line); z-index: 2; }
.sieve::before { top: 34%; }
.sieve::after { top: 66%; }
.flow-canvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .64; }
.sieve-label { position: absolute; right: 15px; z-index: 4; color: var(--secondary); font-size: 10px; letter-spacing: .1em; }
.sieve-label.one { top: 15%; }
.sieve-label.two { top: 48%; }
.sieve-label.three { top: 80%; color: var(--blue); }
.stream { position: absolute; left: 12%; right: 12%; top: 6%; z-index: 3; display: grid; grid-template-columns: repeat(11, 1fr); gap: 8px; }
.dot { width: 5px; height: 5px; border-radius: 50%; background: #d6c8af; opacity: .3; }
.dot.keep { background: var(--blue); opacity: .95; box-shadow: 0 0 8px rgba(140,186,198,.45); }
.dot.reject { opacity: .08; }
.quality-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 42px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.14); }
.quality-grid div { padding: 17px 15px; background: #141412; }
.quality-grid strong { display: block; font: 400 29px "Cormorant Garamond", serif; }
.quality-grid span { display: block; margin-top: 7px; color: var(--secondary); font-size: 10px; }
.platforms { display: flex; gap: 8px; margin-top: 16px; flex-wrap: wrap; }
.platforms span { padding: 9px 11px; border: 1px solid rgba(255,255,255,.18); color: var(--secondary); font-size: 10px; letter-spacing: .08em; }
.platforms span:first-child { border-color: rgba(140,186,198,.48); color: var(--blue); }

.read-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 72px; align-items: center; }
.quote-card { position: relative; padding: 40px 42px; border: 1px solid var(--line); background: rgba(20,20,18,.72); box-shadow: 24px 24px 0 rgba(184,153,98,.06); overflow: hidden; }
.quote-card::after { content: ""; position: absolute; width: 120px; height: 120px; right: -54px; top: -54px; border: 1px solid rgba(140,186,198,.28); border-radius: 50%; box-shadow: 0 0 0 22px rgba(140,186,198,.025), 0 0 0 45px rgba(184,153,98,.02); }
.quote-card .source { color: #a8d0da; font-size: 10px; letter-spacing: .15em; }
.quote-card blockquote { margin: 34px 0 0; font: 400 30px/1.42 "Cormorant Garamond", serif; }
.quote-card mark { padding: 0 3px; background: rgba(184,153,98,.18); color: var(--gold2); }
.quote-audit { display: flex; gap: 22px; margin-top: 26px; padding-top: 15px; border-top: 1px solid rgba(205,168,94,.24); color: var(--secondary); font-size: 10px; letter-spacing: .09em; }
.quote-audit b { margin-left: 7px; color: #9eb397; font-weight: 400; }
.quote-audit b.pending { color: #d2a458; }
.quote-tabs { display: flex; gap: 8px; margin-top: 26px; }
.quote-tabs button { width: 35px; height: 3px; padding: 0; border: 0; background: rgba(255,255,255,.2); cursor: pointer; }
.quote-tabs button.active { background: var(--red); }
.tag-stack { display: flex; flex-direction: column; gap: 11px; }
.tag-row { display: grid; grid-template-columns: 86px 1fr; gap: 15px; align-items: center; padding: 17px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.tag-row span { font-size: 10px; letter-spacing: .13em; color: var(--secondary-soft); }
.tag-row strong { font: 400 16px "Noto Serif SC", serif; }
.tag-row:last-child strong { color: var(--gold2); }

.cluster-layout { display: grid; grid-template-columns: .76fr 1.24fr; gap: 46px; align-items: center; }
.cluster-field { position: relative; height: 530px; overflow: hidden; isolation: isolate; }
.cluster-field::before { content: ""; position: absolute; inset: 16px; border: 1px solid rgba(184,153,98,.12); border-radius: 50%; opacity: .62; box-shadow: inset 0 0 70px rgba(140,186,198,.018); }
.cluster-core { position: absolute; left: 50%; top: 50%; z-index: 4; width: 154px; height: 154px; transform: translate(-50%,-50%); display: grid; place-content: center; justify-items: center; border: 1px solid var(--gold); border-radius: 50%; background: rgba(13,13,12,.94); color: var(--gold2); text-align: center; box-shadow: 0 0 0 10px rgba(13,13,12,.76), inset 0 0 40px rgba(184,153,98,.06); }
.cluster-core strong { font: 400 44px/1 "Cormorant Garamond", serif; }
.cluster-core span { margin-top: 7px; font: 500 10px/1.3 "Helvetica Neue", Arial, sans-serif; letter-spacing: .14em; color: var(--secondary); }
.cluster-core b { margin-top: 7px; font: 400 14px "Noto Serif SC", serif; }
.cluster-orb { position: absolute; left: 0; top: 0; z-index: 3; will-change: transform; filter: drop-shadow(0 12px 16px rgba(0,0,0,.25)); }
.cluster { position: relative; width: 100%; height: 100%; padding: 12%; border: 1px solid rgba(245,240,231,.4); border-radius: 50%; color: var(--ink); cursor: pointer; display: grid; place-content: center; text-align: center; box-shadow: 0 13px 28px rgba(0,0,0,.28), inset 0 0 24px rgba(255,255,255,.12); transition: box-shadow .24s ease, filter .24s ease; animation: orb-breathe 4.8s ease-in-out infinite; }
.cluster:hover, .cluster:focus-visible { outline: 0; filter: brightness(1.08); box-shadow: 0 13px 30px rgba(0,0,0,.34), 0 0 0 2px var(--gold), inset 0 0 24px rgba(255,255,255,.18); }
.cluster.active { box-shadow: 0 16px 38px rgba(0,0,0,.4), 0 0 0 4px var(--black), 0 0 0 5px var(--gold), inset 0 0 30px rgba(255,255,255,.2); animation: orb-select .72s cubic-bezier(.16,.8,.2,1); }
.cluster.active::after { content: ""; position: absolute; inset: -10px; border: 1px solid rgba(225,205,169,.52); border-radius: 50%; pointer-events: none; animation: selected-halo .72s cubic-bezier(.16,.8,.2,1); }
.cluster-field.orbit-aligning .cluster-orb { filter: drop-shadow(0 14px 20px rgba(140,186,198,.13)); }
.cluster b { display: block; max-width: 100%; font: 400 13px/1.35 "Noto Serif SC", serif; word-break: keep-all; }
.cluster span { display: block; margin-top: 8px; font-size: 10px; }
.cluster.c02 { background: #d59a98; }
.cluster.n04 { background: #d6bf96; }
.cluster.c01 { background: #96c1cc; }
.cluster.n01 { background: #a0ab92; }
.cluster.c03 { background: #c97e71; }
.scent-particle { position: absolute; z-index: 8; width: var(--size); height: var(--size); border-radius: 50%; background: var(--particle); pointer-events: none; transform: translate(-50%,-50%); animation: scent-burst .85s cubic-bezier(.15,.72,.2,1) forwards; }
@keyframes orb-breathe { 0%, 100% { filter: saturate(.96) brightness(.98); } 50% { filter: saturate(1.04) brightness(1.035); } }
@keyframes orb-select { 0% { transform: scale(1); } 18% { transform: scale(.86); } 52% { transform: scale(1.17); } 76% { transform: scale(.96); } 100% { transform: scale(1); } }
@keyframes selected-halo { 0% { opacity: 0; transform: scale(.72); } 42% { opacity: .85; } 100% { opacity: .55; transform: scale(1); } }
@keyframes scent-burst { 0% { opacity: 0; transform: translate(-50%,-50%) scale(.2); } 16% { opacity: .95; } 100% { opacity: 0; transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(.05); } }
.cluster-detail { padding: 27px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.cluster-detail .code { color: #a8d0da; font-size: 10px; letter-spacing: .14em; }
.cluster-detail h3 { margin: 17px 0; font: 400 28px/1.35 "Noto Serif SC", serif; }
.cluster-detail p { margin: 0; color: #c9c0b4; font-size: 14px; line-height: 1.7; }
.cluster-detail small { display: block; margin-top: 22px; color: #d2b572; font-size: 10px; letter-spacing: .12em; }

.ledger-layout { display: grid; grid-template-columns: minmax(330px,.66fr) minmax(650px,1.34fr); gap: 52px; align-items: center; }
.ledger-intro .lead { max-width: 470px; }
.ledger-tabs { margin-top: 28px; border-top: 1px solid rgba(205,168,94,.28); }
.ledger-tab { width: 100%; padding: 12px 4px; display: grid; grid-template-columns: 72px minmax(0,1fr) auto; gap: 12px; align-items: center; border: 0; border-bottom: 1px solid rgba(205,168,94,.15); background: transparent; color: var(--secondary-soft); text-align: left; cursor: pointer; }
.ledger-tab span { color: #ddc27f; font-size: 10px; letter-spacing: .1em; }
.ledger-tab b { font: 400 13px "Noto Serif SC", serif; }
.ledger-tab small { color: var(--secondary-soft); font-size: 10px; }
.ledger-tab:hover, .ledger-tab:focus-visible, .ledger-tab.active { color: var(--ivory); background: rgba(205,168,94,.04); outline: 0; }
.ledger-tab.active { box-shadow: inset 2px 0 var(--gold); padding-left: 12px; }
.evidence-ledger { --ledger-accent: var(--gold); position: relative; padding: 28px 32px; border: 1px solid rgba(205,168,94,.58); background-color: #0b0a08; background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.014) 0 1px, transparent 1px 6px); box-shadow: 0 28px 60px rgba(0,0,0,.42), inset 0 0 60px rgba(205,168,94,.025); }
.evidence-ledger::before { content: ""; position: absolute; inset: 9px; border: 1px solid rgba(205,168,94,.2); pointer-events: none; }
.ledger-head { position: relative; display: flex; justify-content: space-between; align-items: start; padding-bottom: 16px; border-bottom: 1px solid rgba(205,168,94,.25); }
.ledger-head span, .ledger-body section > span, .ledger-boundary > span { color: #ddc27f; font-size: 10px; letter-spacing: .14em; }
.ledger-head h3 { margin: 9px 0 0; font: 400 28px/1.3 "Noto Serif SC", serif; }
.ledger-head > b { padding: 7px 10px; border: 1px solid var(--ledger-accent); color: var(--ledger-accent); font-size: 10px; font-weight: 400; }
.ledger-metrics { position: relative; display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid rgba(205,168,94,.2); }
.ledger-metrics div { padding: 17px 14px; border-right: 1px solid rgba(205,168,94,.14); }
.ledger-metrics div:last-child { border-right: 0; }
.ledger-metrics strong { display: block; color: var(--gold2); font: 400 25px "Cormorant Garamond", serif; }
.ledger-metrics span { display: block; margin-top: 5px; color: var(--secondary); font-size: 10px; }
.ledger-body { position: relative; display: grid; grid-template-columns: .82fr 1.18fr; gap: 28px; padding: 22px 0; }
.ledger-mix { display: grid; gap: 11px; }
.mix-row { display: grid; grid-template-columns: 58px 1fr 22px; gap: 9px; align-items: center; color: var(--secondary); font-size: 10px; }
.mix-row b, .mix-row strong { font-weight: 400; }
.mix-row i { height: 2px; background: rgba(255,255,255,.13); }
.mix-row em { display: block; height: 100%; background: var(--ledger-accent); }
.ledger-record blockquote { margin: 14px 0 0; color: #e4dacb; font: 400 19px/1.48 "Cormorant Garamond", serif; }
.reason-chain { position: relative; display: flex; align-items: center; justify-content: space-between; padding: 13px 0; border-top: 1px solid rgba(205,168,94,.18); border-bottom: 1px solid rgba(205,168,94,.18); color: #d4ccc1; font-size: 10px; letter-spacing: .08em; }
.reason-chain i { color: var(--ledger-accent); font-style: normal; }
.ledger-boundary { position: relative; margin-top: 19px; padding-left: 16px; border-left: 2px solid #c39d5e; }
.ledger-boundary p { margin: 7px 0 0; color: #d4cbc0; font: 400 13px/1.6 "Noto Serif SC", serif; }

.validation-layout { display: grid; grid-template-columns: minmax(330px,.68fr) minmax(660px,1.32fr); gap: 48px; align-items: center; }
.validation-intro .lead { max-width: 500px; margin-top: 24px; }
.validation-totals { display: grid; grid-template-columns: repeat(5,1fr); margin-top: 28px; border-top: 1px solid rgba(205,168,94,.26); border-bottom: 1px solid rgba(205,168,94,.18); }
.validation-total { min-width: 0; padding: 15px 9px; border-right: 1px solid rgba(205,168,94,.14); }
.validation-total:last-child { border-right: 0; }
.validation-total strong { display: block; color: var(--gold2); font: 400 28px/1 "Cormorant Garamond", serif; }
.validation-total span { display: block; margin-top: 7px; color: var(--secondary); font-size: 10px; line-height: 1.35; }
.validation-total.keep strong { color: #a6bd9d; }
.validation-total.review strong { color: #d2a458; }
.validation-total.reject strong { color: #a5a19b; }
.validation-total.low strong { color: #cc776d; }
.validation-panel { min-width: 0; border-top: 1px solid rgba(205,168,94,.58); border-bottom: 1px solid rgba(205,168,94,.38); background: rgba(9,9,8,.58); box-shadow: 0 25px 55px rgba(0,0,0,.26); }
.validation-panel-head { display: flex; justify-content: space-between; gap: 20px; padding: 12px 18px; border-bottom: 1px solid rgba(205,168,94,.22); color: #d8b96e; font-size: 10px; letter-spacing: .12em; }
.validation-panel-head b { color: #a6bd9d; font-weight: 400; }
.validation-matrix { display: grid; grid-template-rows: repeat(5,52px); }
.validation-row { position: relative; display: grid; grid-template-columns: 70px minmax(180px,1fr) 58px 58px 48px; gap: 10px; align-items: center; padding: 0 17px; border: 0; border-bottom: 1px solid rgba(205,168,94,.12); background: transparent; color: var(--secondary-soft); text-align: left; cursor: pointer; }
.validation-row::before { content: ""; position: absolute; left: 0; top: 13px; bottom: 13px; width: 2px; background: #c39d5e; transform: scaleY(0); transition: transform .25s ease; }
.validation-row:hover, .validation-row:focus-visible, .validation-row.active { outline: 0; color: var(--ivory); background: rgba(205,168,94,.035); }
.validation-row.active::before { transform: scaleY(1); }
.validation-row.pass::before { background: #93a889; }
.validation-id { color: #ddc27f; font-size: 10px; letter-spacing: .09em; }
.validation-name { font: 400 13px/1.25 "Noto Serif SC", serif; }
.validation-name small { display: block; margin-top: 4px; color: var(--secondary); font: 10px/1.2 "Helvetica Neue", Arial, sans-serif; }
.validation-mini { color: var(--secondary); font-size: 9px; text-align: center; }
.validation-mini b { display: block; color: #e4dacb; font: 400 17px/1 "Cormorant Garamond", serif; }
.validation-row em { justify-self: end; color: #d2a458; font: normal 10px "Cormorant Garamond", serif; letter-spacing: .08em; }
.validation-row.pass em { color: #9eb397; }
.validation-detail { padding: 16px 18px 18px; background: rgba(205,168,94,.025); }
.validation-detail header { display: flex; justify-content: space-between; color: #d8b96e; font-size: 10px; letter-spacing: .1em; }
.validation-detail header b { font-weight: 400; }
.validation-detail header b.pass { color: #9eb397; }
.validation-detail header b.hold { color: #d2a458; }
.validation-checks { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: 14px; }
.validation-check { min-width: 0; }
.validation-check span { display: block; color: var(--secondary); font-size: 9px; }
.validation-check strong { display: block; margin-top: 5px; color: #d2a458; font: 400 21px/1 "Cormorant Garamond", serif; }
.validation-check.pass strong { color: #9eb397; }
.validation-check small { margin-left: 3px; color: var(--secondary); font-size: 10px; }
.validation-check i { display: block; height: 2px; margin-top: 7px; background: rgba(255,255,255,.12); }
.validation-check em { display: block; height: 100%; background: #c39d5e; }
.validation-check.pass em { background: #93a889; }
.validation-detail footer { display: grid; grid-template-columns: 86px 1fr; gap: 14px; margin-top: 15px; padding-top: 12px; border-top: 1px solid rgba(205,168,94,.14); }
.validation-detail footer span { color: #d8b96e; font-size: 9px; letter-spacing: .1em; }
.validation-detail footer p { margin: 0; color: #cfc6ba; font: 400 12px/1.55 "Noto Serif SC", serif; }

.protocol-layout { display: grid; grid-template-columns: minmax(360px,.72fr) minmax(620px,1.28fr); gap: 58px; align-items: center; }
.protocol-intro .lead { max-width: 510px; margin-top: 24px; }
.protocol-gate { margin-top: 29px; padding: 16px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.protocol-gate span { grid-column: 1 / -1; color: #d2b572; font-size: 10px; letter-spacing: .14em; }
.protocol-gate strong { color: #d8d0c5; font: 400 15px "Noto Serif SC", serif; }
.protocol-workspace { min-width: 0; display: grid; grid-template-columns: 210px minmax(0,1fr); min-height: 392px; border: 1px solid rgba(205,168,94,.58); background: #0b0a08; box-shadow: 0 28px 60px rgba(0,0,0,.36); }
.protocol-tabs { display: grid; grid-template-rows: repeat(3,1fr); border-right: 1px solid rgba(205,168,94,.25); }
.protocol-tab { display: grid; grid-template-columns: 32px 1fr; gap: 9px; align-content: center; padding: 18px; border: 0; border-bottom: 1px solid rgba(205,168,94,.14); background: transparent; color: var(--secondary-soft); text-align: left; cursor: pointer; }
.protocol-tab:last-child { border-bottom: 0; }
.protocol-tab:hover, .protocol-tab:focus-visible, .protocol-tab.active { outline: 0; background: rgba(205,168,94,.045); color: var(--ivory); box-shadow: inset 2px 0 var(--gold); }
.protocol-tab > span { grid-row: 1 / 3; color: #d8b96e; font: 400 27px/1 "Cormorant Garamond", serif; }
.protocol-tab b { font: 400 13px/1.35 "Noto Serif SC", serif; }
.protocol-tab small { color: #d2a458; font-size: 10px; }
.protocol-tab.complete small { color: #9eb397; }
.protocol-card { position: relative; min-width: 0; padding: 26px 34px; overflow: hidden; }
.protocol-card::before { content: ""; position: absolute; inset: 9px; border: 1px solid rgba(205,168,94,.18); pointer-events: none; }
.protocol-watermark { position: absolute; right: 23px; top: -30px; color: rgba(245,240,231,.045); font: 400 190px/.9 "Cormorant Garamond", serif; }
.protocol-card header { position: relative; display: flex; justify-content: space-between; padding-bottom: 13px; border-bottom: 1px solid rgba(205,168,94,.23); color: #d8b96e; font-size: 10px; letter-spacing: .12em; }
.protocol-card header b { color: #d2a458; font-weight: 400; }
.protocol-card h3 { position: relative; margin: 25px 0 22px; font: 400 31px/1.3 "Noto Serif SC", serif; }
.protocol-fields { position: relative; display: grid; gap: 0; border-top: 1px solid rgba(205,168,94,.13); }
.protocol-fields div { display: grid; grid-template-columns: 128px 1fr; gap: 18px; align-items: center; min-height: 48px; border-bottom: 1px solid rgba(205,168,94,.12); }
.protocol-fields span, .protocol-card footer span { color: var(--secondary); font-size: 9px; letter-spacing: .12em; }
.protocol-fields strong { color: #ddd3c4; font: 400 13px/1.5 "Noto Serif SC", serif; }
.protocol-card footer { position: relative; margin-top: 20px; padding-left: 15px; border-left: 1px solid var(--gold); }
.protocol-card footer p { margin: 7px 0 0; color: #d4cbc0; font: 400 13px/1.6 "Noto Serif SC", serif; }

.candidate-header { display: flex; justify-content: space-between; align-items: end; margin-bottom: 20px; }
.candidate-header .cn-title { margin: 0; font-size: 36px; }
.score-legend { max-width: 430px; color: var(--secondary); font-size: 10px; line-height: 1.55; letter-spacing: .1em; text-align: right; }
.candidate-workspace { position: relative; height: 384px; display: grid; grid-template-columns: minmax(270px,.72fr) minmax(0,1.28fr); isolation: isolate; border: 1px solid rgba(205,168,94,.58); background-color: #0b0a08; background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.014) 0 1px, transparent 1px 6px), repeating-linear-gradient(45deg, rgba(205,168,94,.012) 0 1px, transparent 1px 9px); box-shadow: 0 24px 55px rgba(0,0,0,.34), inset 0 0 55px rgba(205,168,94,.025); }
.candidate-workspace::before { content: ""; position: absolute; inset: 8px; z-index: 0; border: 1px solid rgba(205,168,94,.22); pointer-events: none; }
.candidate-grid { position: relative; z-index: 1; min-height: 0; display: grid; grid-template-rows: repeat(4,minmax(0,1fr)); margin: 9px 0 9px 9px; border-right: 1px solid rgba(205,168,94,.26); overflow: hidden; }
.candidate { --accent: var(--gold); position: relative; min-width: 0; min-height: 0; padding: 13px 19px 13px 24px; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 12px; align-items: center; border: 0; border-bottom: 1px solid rgba(205,168,94,.14); background: transparent; color: var(--secondary-soft); text-align: left; cursor: pointer; transition: color .28s ease, background .28s ease, padding-left .35s cubic-bezier(.2,.75,.25,1), box-shadow .28s ease; }
.candidate:last-child { border-bottom: 0; }
.candidate::before { content: ""; position: absolute; left: 0; top: 18%; bottom: 18%; width: 2px; background: var(--accent); transform: scaleY(0); transform-origin: center; transition: transform .28s ease; }
.candidate:hover, .candidate:focus-visible { outline: 0; color: var(--ivory); background: rgba(205,168,94,.035); }
.candidate.active { padding-left: 29px; color: var(--ivory); background: rgba(205,168,94,.045); box-shadow: inset 0 1px rgba(205,168,94,.18), inset 0 -1px rgba(205,168,94,.12), inset 18px 0 30px rgba(205,168,94,.025); }
.candidate.active::before { transform: scaleY(1); }
.candidate-no { font: 400 22px/1 "Cormorant Garamond", serif; color: var(--accent); }
.candidate-copy { min-width: 0; }
.candidate-copy b { display: block; font: 400 14px/1.45 "Noto Serif SC", serif; white-space: normal; }
.candidate-copy small { display: block; margin-top: 7px; color: var(--secondary); font-size: 10px; line-height: 1.45; letter-spacing: .06em; }
.candidate-state { font: 400 10px/1.2 "Cormorant Garamond", serif; letter-spacing: .1em; color: var(--accent); writing-mode: vertical-rl; }
.pressure { --accent: var(--gold); position: relative; z-index: 1; min-width: 0; min-height: 0; margin: 9px 9px 9px 0; padding: 20px 38px 26px; overflow: hidden; background: rgba(7,7,6,.28); animation: folio-in .45s cubic-bezier(.2,.75,.25,1); }
.pressure::before { content: ""; position: absolute; left: 0; top: 25px; bottom: 25px; width: 1px; background: var(--accent); opacity: .56; }
.folio-watermark { position: absolute; right: 20px; top: -28px; font: 400 176px/.9 "Cormorant Garamond", serif; color: rgba(245,240,231,.035); pointer-events: none; }
.folio-head { position: relative; display: flex; justify-content: space-between; align-items: center; padding-bottom: 10px; border-bottom: 1px solid rgba(205,168,94,.24); color: #d8b96e; font-size: 10px; letter-spacing: .14em; text-shadow: 0 1px rgba(0,0,0,.9); }
.folio-head b { font: 400 10px "Cormorant Garamond", serif; letter-spacing: .16em; }
.folio-title { position: relative; max-width: 76%; margin: 17px 0 14px; color: #f1e8d8; font: 400 30px/1.32 "Noto Serif SC", serif; text-shadow: 0 1px 1px #000; }
.folio-meta { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 12px; }
.folio-meta p { margin: 0; }
.folio-meta span, .folio-verdict span { display: block; margin-bottom: 7px; color: var(--secondary-soft); font-size: 10px; letter-spacing: .14em; }
.folio-meta strong { display: block; color: #cbc1b4; font-size: 10px; font-weight: 400; line-height: 1.5; }
.folio-tests { position: relative; border-top: 1px solid rgba(205,168,94,.18); }
.pressure-test { display: grid; grid-template-columns: 58px 70px minmax(80px,1fr); gap: 13px; align-items: center; min-height: 27px; border-bottom: 1px solid rgba(205,168,94,.09); }
.pressure-test b { color: #c9c0b4; font-size: 10px; font-weight: 400; }
.pressure-test em { color: var(--state); font-size: 10px; font-style: normal; }
.pressure-test i { height: 1px; background: rgba(255,255,255,.13); overflow: hidden; }
.pressure-test i::after { content: ""; display: block; width: var(--fill); height: 100%; background: var(--state); }
.folio-verdict { position: relative; margin-top: 10px; padding-left: 18px; border-left: 1px solid var(--accent); }
.folio-verdict p { margin: 0; color: #d3cbc0; font: 400 13px/1.55 "Noto Serif SC", serif; }
@keyframes folio-in { from { opacity: .25; transform: translateX(12px); } to { opacity: 1; transform: translateX(0); } }

.verdict-layout { height: 100%; display: grid; grid-template-columns: minmax(620px,1.35fr) minmax(330px,.65fr); gap: 30px; align-items: center; }
.verdict-content { min-width: 0; display: grid; gap: 18px; align-content: center; }
.verdict-bottle-space { min-width: 0; height: 100%; }
.verdict-main { position: relative; }
.verdict-main .eyebrow { margin-bottom: 13px; }
.verdict-main .display { max-width: 760px; font-size: 70px; line-height: .9; color: var(--gold2); }
.verdict-main .cn-title { margin-top: 15px; font-size: 32px; }
.verdict-line { max-width: 680px; margin-top: 13px; font: 400 15px/1.65 "Noto Serif SC", serif; color: #d4ccc0; }
.wardrobe { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; perspective: 1100px; }
.wardrobe-card { --plaque: var(--blue); position: relative; min-height: 272px; padding: 22px 23px; border: 1px solid rgba(205,168,94,.7); border-radius: 2px; color: var(--ivory); overflow: hidden; background-color: #0b0a08; background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 1px, transparent 1px 6px), repeating-linear-gradient(45deg, rgba(205,168,94,.014) 0 1px, transparent 1px 10px); box-shadow: 0 28px 56px rgba(0,0,0,.46), inset 0 0 70px rgba(205,168,94,.035), inset 0 1px rgba(255,255,255,.035); transform: rotateY(2deg); transition: transform .45s cubic-bezier(.2,.75,.25,1), box-shadow .45s ease; }
.wardrobe-card.red { --plaque: var(--red); transform: rotateY(-2deg); }
.wardrobe-card:hover { transform: rotateY(0) translateY(-6px); box-shadow: 0 34px 68px rgba(0,0,0,.55), inset 0 0 76px rgba(205,168,94,.045); }
.wardrobe-card.red:hover { transform: rotateY(0) translateY(-6px); }
.wardrobe-card::before { content: ""; position: absolute; inset: 9px; z-index: 0; border: 1px solid rgba(205,168,94,.32); box-shadow: inset 0 0 0 4px rgba(205,168,94,.025); pointer-events: none; }
.wardrobe-card::after { content: ""; position: absolute; left: 32px; top: 52px; width: 2px; height: 2px; z-index: 0; background: #cda85e; opacity: .5; box-shadow: 47px 18px rgba(205,168,94,.34), 128px -9px rgba(205,168,94,.25), 176px 30px rgba(205,168,94,.38), 35px 111px rgba(205,168,94,.23), 146px 137px rgba(205,168,94,.28), 91px 201px rgba(205,168,94,.22), 185px 237px rgba(205,168,94,.3), 18px 274px rgba(205,168,94,.2); pointer-events: none; }
.plaque-no { position: absolute; right: 22px; top: 44px; z-index: 1; width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid rgba(205,168,94,.52); border-radius: 50%; color: #d4b66f; font: 400 25px/1 "Cormorant Garamond", serif; box-shadow: inset 0 0 0 4px #0b0a08, inset 0 0 0 5px rgba(205,168,94,.18), 0 0 24px rgba(205,168,94,.04); }
.plaque-no::before { content: "MFK"; position: absolute; top: 7px; font: 6px "Cormorant Garamond", serif; letter-spacing: .12em; color: rgba(212,182,111,.7); }
.wardrobe-card small { position: relative; z-index: 1; color: #d8b96e; font-size: 10px; line-height: 1.5; letter-spacing: .08em; }
.evidence-badge { position: relative; z-index: 1; display: block; width: max-content; margin-top: 13px; padding: 5px 8px; border: 1px solid currentColor; font-size: 10px; letter-spacing: .08em; }
.evidence-badge.strong { color: #a8c29e; }
.evidence-badge.pending { color: #d2a458; }
.wardrobe-card h3 { position: relative; z-index: 1; max-width: 70%; margin: 28px 0 14px; font: 400 23px/1.35 "Noto Serif SC", serif; text-shadow: 0 1px 1px #000; }
.wardrobe-card h3::after { content: ""; display: block; width: 38px; height: 2px; margin-top: 10px; background: var(--plaque); box-shadow: 42px 0 rgba(205,168,94,.42); }
.wardrobe-card p { position: relative; z-index: 1; margin: 0; color: #d8d0c5; font: 400 13px/1.65 "Noto Serif SC", serif; }
.wardrobe-card footer { position: absolute; left: 23px; right: 23px; bottom: 17px; z-index: 1; display: grid; gap: 5px; padding-top: 10px; border-top: 1px solid rgba(205,168,94,.34); color: #d7bc7e; font-size: 10px; line-height: 1.45; }

.proof { position: absolute; right: 0; top: 74px; bottom: 92px; width: 380px; padding: 30px 28px; border-left: 1px solid rgba(205,168,94,.3); background: rgba(11,10,8,.96); backdrop-filter: blur(18px); z-index: 25; transition: transform .4s ease; overflow-y: auto; }
.proof.closed { transform: translateX(100%); }
.proof-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.proof-head span { font-size: 10px; letter-spacing: .16em; color: #d2b572; }
.proof-head b { font: 400 18px "Cormorant Garamond", serif; }
.proof-body { padding-top: 27px; }
.proof-item { margin-bottom: 28px; }
.proof-item label { display: block; margin-bottom: 10px; color: var(--secondary-soft); font-size: 10px; letter-spacing: .13em; }
.proof-item strong { display: block; font: 400 16px/1.5 "Noto Serif SC", serif; }
.proof-item p { margin: 8px 0 0; color: #c8bfb3; font-size: 13px; line-height: 1.65; }
.proof-source { margin-top: 26px; padding: 17px 0; border-top: 1px solid rgba(205,168,94,.28); border-bottom: 1px solid rgba(205,168,94,.16); }
.proof-source header { display: flex; justify-content: space-between; color: #d2b572; font-size: 10px; letter-spacing: .12em; }
.proof-source header b { font-weight: 400; color: var(--gold2); }
.proof-source blockquote { margin: 17px 0 13px; color: #ddd3c4; font: 400 15px/1.55 "Cormorant Garamond", serif; }
.proof-source small { color: var(--secondary-soft); font-size: 10px; line-height: 1.5; }
.proof-chain { margin-top: 20px; display: grid; gap: 8px; }
.proof-chain span { display: grid; grid-template-columns: 28px 1fr; gap: 10px; align-items: center; color: var(--secondary); font-size: 10px; }
.proof-chain i { color: var(--gold); font: normal 12px "Cormorant Garamond", serif; }
.trace { display: flex; gap: 5px; margin-top: 30px; }
.trace i { height: 2px; flex: 1; background: rgba(255,255,255,.13); }
.trace i.on { background: var(--gold); }

.controls { position: absolute; left: 210px; right: 0; bottom: 0; height: 92px; display: flex; align-items: center; border-top: 1px solid rgba(255,255,255,.12); z-index: 30; background: rgba(13,13,12,.72); backdrop-filter: blur(12px); }
.control-btn { height: 100%; min-width: 130px; padding: 0 28px; border: 0; border-right: 1px solid rgba(255,255,255,.12); background: transparent; color: var(--secondary); cursor: pointer; font-size: 11px; letter-spacing: .12em; }
.control-btn:hover:not(:disabled), .control-btn:focus-visible:not(:disabled) { background: var(--gold); color: var(--black); outline: 0; }
.control-btn:disabled { opacity: .25; cursor: default; }
.control-btn.next { margin-left: auto; border-left: 1px solid rgba(255,255,255,.12); border-right: 0; color: var(--gold2); }
.now { display: flex; align-items: baseline; gap: 15px; margin-left: 26px; }
.now b { font: 400 25px "Cormorant Garamond", serif; }
.now span { font-size: 10px; letter-spacing: .13em; color: var(--secondary); }
.keyhint { margin-left: 24px; color: #999186; font-size: 10px; letter-spacing: .1em; }

.bottle-hit { position: absolute; z-index: 13; left: 68%; right: 4%; top: 88px; bottom: 105px; cursor: grab; touch-action: none; pointer-events: none; }
.bottle-hit.visible { pointer-events: auto; }
.bottle-hit.dragging { cursor: grabbing; }
.bottle-reset { position: absolute; z-index: 24; right: 44px; bottom: 111px; width: 36px; height: 36px; padding: 0; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: rgba(13,13,12,.75); color: var(--gold2); cursor: pointer; opacity: 0; pointer-events: none; transform: translateY(5px); transition: .3s ease; }
.app[data-step="9"] .bottle-hit { left: 72%; right: 2%; }
.bottle-reset.visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.bottle-reset:hover, .bottle-reset:focus-visible { background: var(--gold); color: var(--black); outline: 0; }

@media (max-width: 1300px) {
  .stage { right: 34px; }
  .proof { width: 300px; transform: translateX(100%); }
  .proof.open { transform: translateX(0); }
  .bottle-reset { right: 44px; }
  .app[data-step="9"] .bottle-reset { right: 44px; }
  .candidate-header .cn-title { font-size: 34px; }
  .display, .hero-lockup .display { font-size: 88px; }
  .verdict-main .display { font-size: 68px; }
  .cluster-layout { grid-template-columns: .82fr 1.18fr; }
  .audit-layout { gap: 34px; }
  .ledger-layout { gap: 30px; grid-template-columns: minmax(300px,.62fr) minmax(590px,1.38fr); }
  .audit-metric { padding-right: 12px; padding-left: 12px; }
  .audit-metric strong { font-size: 38px; }
  .wardrobe-card { min-height: 272px; }
}

@media (max-width: 980px) {
  .candidate-workspace { grid-template-columns: 250px 1fr; }
  .candidate { padding-left: 17px; }
  .candidate.active { padding-left: 22px; }
  .candidate-state { display: none; }
  .pressure { padding-right: 26px; padding-left: 27px; }
  .verdict-layout { grid-template-columns: 1fr; }
  .verdict-bottle-space { display: none; }
  .audit-layout, .ledger-layout, .validation-layout, .protocol-layout { grid-template-columns: 1fr; gap: 24px; }
  .audit-intro .lead, .ledger-intro .lead { max-width: 680px; }
  .ledger-tabs { display: grid; grid-template-columns: repeat(5,1fr); }
  .ledger-tab { display: block; padding: 10px; border-right: 1px solid rgba(205,168,94,.15); }
  .ledger-tab b, .ledger-tab small { display: block; margin-top: 6px; }
}

@media (min-width: 1100px) {
  .mast-center, .mast-right { font-size: 11px; }
  .step-link span { font-size: 14px; }
  .lead { max-width: 600px; font-size: 17px; line-height: 1.8; }
  .micro { font-size: 12px; }
  .quality-grid span, .platforms span, .quote-card .source, .tag-row span { font-size: 11px; }
  .cluster-detail p { font-size: 14px; }
  .cluster-detail small, .score-legend { font-size: 10px; }
  .candidate-copy small { font-size: 10px; }
  .folio-meta span, .folio-verdict span { font-size: 10px; }
  .folio-meta strong, .pressure-test b, .pressure-test em { font-size: 11px; }
  .wardrobe-card small, .wardrobe-card footer { font-size: 10px; }
  .proof-item strong { font-size: 17px; }
  .proof-item p { font-size: 14px; }
}

@media (max-width: 760px) {
  html { height: auto; min-height: 100%; overflow-x: hidden; overflow-y: auto; }
  body { height: auto; min-height: 100%; overflow: visible; }
  .app { height: auto; min-height: 100vh; overflow: visible; }
  .masthead { position: fixed; height: 60px; padding: 0 18px; grid-template-columns: 1fr auto; background: rgba(13,13,12,.92); }
  .mast-center { display: none; }
  .maison { font-size: 10px; }
  .mast-right span { display: none; }
  .progress { position: fixed; left: 0; right: 0; top: 60px; bottom: auto; width: auto; height: 42px; padding: 0 18px; display: flex; background: rgba(13,13,12,.95); border-bottom: 1px solid rgba(255,255,255,.12); }
  .progress::before { left: 18px; right: 18px; top: 21px; bottom: auto; width: auto; height: 1px; }
  .step-link { flex: 1; margin: 0; padding: 0; }
  .step-link::before { left: 50%; top: 17px; transform: translateX(-50%); }
  .step-link em, .step-link span, .counter { display: none; }
  .stage { position: relative; left: auto; right: auto; top: auto; bottom: auto; min-height: 850px; padding: 128px 20px 130px; }
  .scene { padding: 0; justify-content: flex-start; top: 142px; bottom: auto; min-height: 600px; }
  .stage:has(.scene[data-scene="1"].active) { min-height: 1420px; }
  .stage:has(.scene[data-scene="4"].active) { min-height: 1400px; }
  .stage:has(.scene[data-scene="5"].active) { min-height: 1660px; }
  .stage:has(.scene[data-scene="6"].active) { min-height: 1500px; }
  .stage:has(.scene[data-scene="7"].active) { min-height: 1300px; }
  .stage:has(.scene[data-scene="8"].active) { min-height: 1420px; }
  .stage:has(.scene[data-scene="9"].active) { min-height: 1840px; }
  .scene[data-scene="1"] { min-height: 1180px; }
  .scene[data-scene="4"] { min-height: 1210px; }
  .scene[data-scene="5"] { min-height: 1420px; }
  .scene[data-scene="6"] { min-height: 1280px; }
  .scene[data-scene="7"] { min-height: 1120px; }
  .scene[data-scene="8"] { min-height: 1200px; }
  .scene[data-scene="9"] { min-height: 1580px; }
  .display, .hero-lockup .display, .verdict-main .display { font-size: 62px; }
  .cn-title, .hero-lockup .cn-title, .verdict-main .cn-title { font-size: 29px; }
  .lead { font-size: 13px; }
  .hero-metric { display: none; }
  .filter-layout, .read-layout, .cluster-layout, .audit-layout, .ledger-layout, .validation-layout, .protocol-layout, .verdict-layout { grid-template-columns: 1fr; gap: 30px; }
  .hero-lockup { width: 100%; }
  .verdict-content { gap: 30px; }
  .verdict-bottle-space { display: none; }
  .sieve { height: 280px; }
  .quality-grid { margin-top: 24px; }
  .audit-metrics { grid-template-columns: repeat(2,1fr); }
  .audit-metric:nth-child(2) { border-right: 0; }
  .audit-metric:nth-child(-n+2) { border-bottom: 1px solid rgba(205,168,94,.18); }
  .audit-columns { grid-template-columns: 1fr; }
  .audit-column { border-right: 0; border-bottom: 1px solid rgba(205,168,94,.18); }
  .method-status { grid-template-columns: repeat(2,1fr); }
  .method-cell:nth-child(2) { border-right: 0; }
  .method-cell:nth-child(-n+2) { border-bottom: 1px solid rgba(205,168,94,.14); }
  .quote-card { padding: 25px; }
  .quote-card blockquote { font-size: 22px; }
  .tag-stack { display: grid; grid-template-columns: 1fr 1fr; }
  .cluster-field { height: 520px; }
  .cluster-core { width: 112px; height: 112px; }
  .cluster-core strong { font-size: 32px; }
  .ledger-tabs { grid-template-columns: 1fr; }
  .ledger-tab { display: grid; grid-template-columns: 62px minmax(0,1fr); row-gap: 3px; }
  .ledger-tab small { grid-column: 2; justify-self: start; margin-top: 0; }
  .evidence-ledger { padding: 25px 20px; }
  .ledger-metrics { grid-template-columns: repeat(2,1fr); }
  .ledger-body { grid-template-columns: 1fr; }
  .reason-chain { flex-wrap: wrap; gap: 8px; justify-content: flex-start; }
  .validation-totals { grid-template-columns: repeat(3,1fr); }
  .validation-total:nth-child(3) { border-right: 0; }
  .validation-row { grid-template-columns: 62px minmax(130px,1fr) 48px 48px; padding-right: 12px; padding-left: 12px; }
  .validation-row em { display: none; }
  .validation-checks { grid-template-columns: repeat(2,1fr); }
  .protocol-workspace { grid-template-columns: 1fr; }
  .protocol-tabs { grid-template: 1fr / repeat(3,1fr); border-right: 0; border-bottom: 1px solid rgba(205,168,94,.25); }
  .protocol-tab { padding: 14px 10px; border-right: 1px solid rgba(205,168,94,.14); border-bottom: 0; }
  .protocol-card { min-height: 430px; padding: 25px 20px; }
  .protocol-fields div { grid-template-columns: 96px 1fr; }
  .candidate-header { display: block; }
  .score-legend { margin-top: 15px; text-align: left; }
  .candidate-workspace { grid-template-columns: 1fr; height: auto; min-height: 0; }
  .candidate-grid { grid-template: repeat(2,96px) / repeat(2,1fr); border-right: 0; border-bottom: 1px solid rgba(225,205,169,.18); }
  .candidate { grid-template-columns: 24px minmax(0,1fr); gap: 8px; padding: 13px 12px; border-right: 1px solid rgba(255,255,255,.09); }
  .candidate:nth-child(2) { border-right: 0; }
  .candidate:nth-child(3) { border-bottom: 0; }
  .candidate.active { padding-left: 17px; }
  .candidate-no { font-size: 18px; }
  .candidate-copy b { font-size: 12px; }
  .candidate-copy small { font-size: 10px; }
  .candidate-state { display: none; }
  .pressure { min-height: 500px; padding: 25px 20px 28px; }
  .folio-watermark { top: -9px; right: 5px; font-size: 124px; }
  .folio-title { max-width: 84%; margin: 25px 0 24px; font-size: 25px; }
  .folio-meta { grid-template-columns: 1fr; gap: 13px; }
  .pressure-test { grid-template-columns: 48px 62px minmax(60px,1fr); }
  .wardrobe { grid-template-columns: 1fr; }
  .wardrobe-card { min-height: 350px; transform: none; }
  .wardrobe-card.red { transform: none; }
  .wardrobe-card h3 { margin-top: 32px; }
  .proof { position: fixed; top: 60px; bottom: 76px; width: min(88vw,340px); }
  .controls { position: fixed; left: 0; height: 76px; }
  .control-btn { min-width: 92px; padding: 0 16px; }
  .now { margin-left: 14px; }
  .keyhint { display: none; }
  .control-btn.next { margin-left: auto; }
  #three, .wash { position: fixed; }
  #three { opacity: 1; }
  .wash { background: linear-gradient(180deg, rgba(13,13,12,.97) 0%, rgba(13,13,12,.88) 44%, rgba(13,13,12,0) 58%, rgba(13,13,12,.18) 100%); }
  .bottle-hit { position: fixed; left: 45%; right: 0; top: 105px; bottom: 100px; }
  .bottle-reset { position: fixed; right: 18px; bottom: 91px; }
}

@media (prefers-reduced-motion: reduce) {
  .scene, .candidate, .bottle-reset { transition-duration: .01ms; }
  .cluster, .cluster.active, .cluster.active::after, .scent-particle { animation-duration: .01ms; }
}
