:root {
  --ink: #17241e;
  --forest: #233c31;
  --deep: #162d25;
  --jade: #536d60;
  --gold: #aa8150;
  --paper: #f5f1e8;
  --ivory: #fbfaf6;
  --line: rgba(35, 60, 49, .14);
}

body:has(.v3-page) > .site-footer { display: none; }
body:has(.v3-page) .official-main { padding: 0; }
.v3-page { overflow: hidden; }
.v3-page a:hover, .v3-page a:focus { text-decoration: none; }
.v3-page h1, .v3-page h2, .v3-page h3, .v3-page p { font-family: inherit; }
.v3-nav a { position: relative; padding: 34px 0 30px; color: inherit; font-size: 14px; letter-spacing: .08em; text-decoration: none; }
.v3-nav a:after { content: ""; position: absolute; left: 50%; bottom: 20px; width: 0; height: 1px; background: #d9bd8c; transition: .25s; }
.v3-nav a:hover:after { width: 100%; left: 0; }
.nav-group { position: relative; display: flex; align-items: stretch; }
.nav-group-toggle { display: flex; align-items: center; gap: 6px; padding: 34px 0 30px; color: inherit; background: none; border: 0; font-size: 14px; letter-spacing: .08em; }
.nav-group-toggle span { color: #d9bd8c; font: 12px Arial,sans-serif; transition: transform .2s; }
.nav-group.is-open > .nav-group-toggle span { transform: rotate(180deg); }
.nav-dropdown {
  position: absolute; z-index: 2100; top: calc(100% - 1px); right: -90px; width: 590px; display: none;
  grid-template-columns: 190px 1fr; color: var(--ink); background: rgba(251,250,246,.98);
  border-top: 2px solid #b69259; box-shadow: 0 22px 55px rgba(10,28,21,.22); backdrop-filter: blur(16px);
}
.nav-group.is-open > .nav-dropdown { display: grid; }
.nav-dropdown__intro { padding: 27px 24px; color: #fff; background: var(--deep); }
.nav-dropdown__intro small { color: #c9aa72; font: 8px Arial,sans-serif; letter-spacing: .22em; }
.nav-dropdown__intro strong { display: block; margin: 9px 0; font-size: 17px; font-weight: 500; }
.nav-dropdown__intro p { margin: 0; color: rgba(255,255,255,.52); font-size: 10px; line-height: 1.8; }
.nav-dropdown__links { display: grid; grid-template-columns: repeat(2,1fr); padding: 13px; }
.v3-nav .nav-dropdown__links a { display: grid; grid-template-columns: 27px 1fr; gap: 9px; padding: 14px; color: var(--ink); }
.v3-nav .nav-dropdown__links a:after { display: none; }
.nav-dropdown__links a:hover { background: #f0ebe1; }
.nav-dropdown__links i { color: #aa8150; font: 9px Arial,sans-serif; font-style: normal; }
.nav-dropdown__links b, .nav-dropdown__links small { display: block; }
.nav-dropdown__links b { margin-bottom: 5px; font-size: 12px; font-weight: 500; }
.nav-dropdown__links small { color: #818a84; font-size: 8px; }
.nav-group--more { align-items: center; }
.nav-group--more .nav-group-toggle { padding: 0; }
.nav-dropdown--compact { right: 0; width: 150px; grid-template-columns: 1fr; padding: 9px; }
.nav-group.is-open > .nav-dropdown--compact { display: grid; }
.nav-dropdown--compact a { padding: 10px 12px; color: #435148; font-size: 11px; }
.nav-dropdown--compact a:hover { color: #8b6a3f; background: #f0ebe1; }
.quick-links a { color: rgba(255,255,255,.78); font-size: 12px; }
.join-actions a { display: inline-block; text-decoration: none; }
.extra-temple { display: none; }

body.v3-home > .site-header { display:block !important; position:relative; z-index:3000; }
body.v3-home .archive-header .navbar { min-height:88px; background:rgba(18,43,34,.92); border:0; box-shadow:none; backdrop-filter:blur(14px); }
body.v3-home .archive-header .navbar-brand { height:88px; padding:0; }
body.v3-home .archive-header .navbar-nav > li > a { padding:34px 10px; color:rgba(255,255,255,.76) !important; font-size:12px; font-weight:400; }
body.v3-home .archive-header .navbar-nav > li > a:hover,
body.v3-home .archive-header .navbar-nav > li.open > a { color:#e1c48d !important; background:rgba(255,255,255,.04); }
body.v3-home .archive-header .nav-cta { margin:24px 0 0 8px; padding:10px 14px !important; color:#17362a !important; background:#8d2f27; }
.archive-menu { min-width:240px; padding:10px; border:0; border-top:2px solid #b69259; border-radius:0; box-shadow:0 20px 45px rgba(10,28,21,.22); }
.archive-menu > li > a { padding:11px 13px; color:#283a31; }
.archive-menu > li > a:hover { background:#f1ece2; }
.archive-menu strong,.archive-menu small { display:block; }
.archive-menu strong { font-size:12px; font-weight:500; }
.archive-menu small { margin-top:4px; color:#899089; font-size:9px; }
.archive-menu--small { min-width:150px; }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ivory); color: var(--ink); font-family: "Noto Serif SC", "Songti SC", "STSong", Georgia, serif; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
.v3-header { position: absolute; z-index: 2001; top: 0; left: 0; right: 0; height: 88px; display: flex; align-items: center; justify-content: space-between; padding: 0 4.8vw; color: #fff; border-bottom: 1px solid rgba(255,255,255,.2); }
.brand { display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; }
.brand-seal { width: 43px; height: 43px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.75); border-radius: 50% 50% 47% 53%; font-size: 22px; }
.brand-copy { display: flex; flex-direction: column; letter-spacing: .13em; }
.brand-copy b { font-size: 19px; font-weight: 500; }
.brand-copy small { font: 8px/1.5 Arial, sans-serif; letter-spacing: .23em; opacity: .72; }
.v3-nav { display: flex; gap: 30px; }
.v3-nav button, .quiet-btn { color: inherit; background: none; border: 0; font-size: 14px; letter-spacing: .08em; }
.v3-nav button { position: relative; padding: 34px 0 30px; }
.v3-nav button:after { content: ""; position: absolute; left: 50%; bottom: 20px; width: 0; height: 1px; background: #d9bd8c; transition: .25s; }
.v3-nav button:hover:after { width: 100%; left: 0; }
.header-actions { display: flex; align-items: center; gap: 18px; }
.primary-btn { border: 0; background: var(--forest); color: #fff; padding: 15px 24px; border-radius: 3px; letter-spacing: .1em; transition: .25s; }
.primary-btn:hover { background: #355448; transform: translateY(-2px); }
.primary-btn.small { background: rgba(255,255,255,.96); color: var(--deep); padding: 11px 18px; }
.primary-btn.ivory { background: #efe8d9; color: var(--deep); }
.menu-btn { display: none; background: none; border: 0; color: #fff; font-size: 25px; }

.hero { min-height: 820px; height: 100vh; max-height: 980px; position: relative; display: flex; align-items: center; color: #fff; overflow: hidden; background: #263f34; }
.hero-image { position: absolute; inset: 0; background-image: url("/temple-hero-v3.png"), radial-gradient(circle at 68% 28%, #789088, transparent 26%), linear-gradient(135deg, #233d33, #61766d); background-size: cover; background-position: center; transform: scale(1.01); }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,26,21,.82) 0%, rgba(16,34,28,.57) 38%, rgba(18,31,27,.08) 73%), linear-gradient(0deg, rgba(10,24,19,.58), transparent 48%); }
.hero-content { z-index: 2; width: min(1180px, 90vw); margin: 45px auto 0; }
.eyebrow, .section-kicker { font: 11px/1.3 Arial, sans-serif; letter-spacing: .3em; color: var(--gold); text-transform: uppercase; }
.eyebrow { color: #e8d7b5; display: flex; align-items: center; gap: 14px; margin-bottom: 28px; }
.eyebrow span { width: 35px; height: 1px; background: currentColor; }
.hero h1 { font-size: clamp(50px, 6.1vw, 88px); font-weight: 400; line-height: 1.13; letter-spacing: .1em; margin: 0; text-shadow: 0 3px 25px rgba(0,0,0,.14); }
.hero h1 em { font-style: normal; color: #f2dfbd; }
.hero-content > p { margin: 28px 0 34px; font-size: 17px; line-height: 2; letter-spacing: .09em; color: rgba(255,255,255,.82); }
.hero-search { max-width: 680px; height: 64px; display: flex; align-items: center; background: rgba(255,255,255,.95); border-radius: 3px; padding: 6px 7px 6px 23px; box-shadow: 0 16px 50px rgba(0,0,0,.17); }
.search-icon { color: #667c70; font: 27px Arial; transform: rotate(-15deg); }
.hero-search input { flex: 1; min-width: 0; border: 0; outline: 0; padding: 0 15px; background: transparent; color: var(--ink); font-size: 15px; }
.hero-search button { height: 51px; border: 0; background: var(--forest); color: white; padding: 0 28px; letter-spacing: .1em; }
.quick-links { display: flex; gap: 16px; align-items: center; margin-top: 17px; font-size: 12px; color: rgba(255,255,255,.55); }
.quick-links button { border: 0; background: none; color: rgba(255,255,255,.78); padding: 0; font-size: 12px; }
.hero-stats { position: absolute; z-index: 2; bottom: 0; right: 0; width: min(660px, 49vw); height: 112px; display: grid; grid-template-columns: repeat(4, 1fr); background: rgba(20,46,37,.85); backdrop-filter: blur(14px); border-top: 1px solid rgba(255,255,255,.15); }
.hero-stats div { display: flex; justify-content: center; flex-direction: column; padding-left: 25px; border-left: 1px solid rgba(255,255,255,.12); }
.hero-stats strong { font-size: 23px; font-weight: 400; color: #f2dfbd; }
.hero-stats span { font-size: 11px; margin-top: 8px; color: rgba(255,255,255,.65); }

.section { padding: 110px max(5vw, calc((100vw - 1220px)/2)); }
.intro { background: var(--ivory); }
.intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10vw; margin-top: 28px; }
.intro h2, .section-heading h2, .graph-copy h2, .canon-title h2 { font-size: clamp(36px, 4vw, 57px); line-height: 1.35; font-weight: 400; margin: 0; letter-spacing: .08em; }
.intro-grid p, .section-heading p, .graph-copy > p, .canon-title > p { color: #65736b; line-height: 2.1; font-size: 15px; margin: 7px 0 22px; }
.text-link { border: 0; border-bottom: 1px solid #9c7e54; padding: 0 0 8px; background: none; color: var(--deep); letter-spacing: .06em; }
.text-link span { margin-left: 13px; color: var(--gold); }
.reader-switch { display: inline-flex; border: 1px solid var(--line); padding: 4px; margin: 10px 18px 18px 0; background: #f3efe6; }
.reader-switch button { border: 0; padding: 9px 15px; background: transparent; color: #778078; font-size: 11px; }
.reader-switch button.active { background: var(--deep); color: #fff; }
.reading-guide { padding: 48px max(5vw, calc((100vw - 1220px)/2)); display: grid; grid-template-columns: 80px 1fr 1fr; gap: 28px; align-items: center; color: #fff; background: #31483d; }
.reading-guide.research { background: #252d29; }
.mode-mark { width: 64px; height: 64px; display: grid; place-items: center; border: 1px solid #c9ad78; border-radius: 50%; color: #dec79c; font-size: 28px; }
.reading-guide small { color: #d0b47d; letter-spacing: .2em; font-size: 9px; }
.reading-guide h2 { margin: 8px 0; font-size: 25px; font-weight: 400; }
.reading-guide p { color: rgba(255,255,255,.58); font-size: 11px; line-height: 1.8; margin: 0; }
.reading-guide ul { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2,1fr); gap: 13px 20px; font-size: 11px; color: rgba(255,255,255,.75); }
.data-overview { display: grid; grid-template-columns: repeat(6,1fr); background: #fff; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 0 max(5vw, calc((100vw - 1220px)/2)); }
.data-overview article { min-height: 148px; display: flex; align-items: center; gap: 14px; padding: 24px 18px; border-right: 1px solid var(--line); }
.data-overview article:first-child { border-left: 1px solid var(--line); }
.data-overview i { width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid #c9b99c; border-radius: 50%; color: var(--gold); font-style: normal; font-size: 13px; }
.data-overview b { font: 28px Arial,sans-serif; color: var(--forest); }
.data-overview h3 { font-size: 13px; margin: 4px 0; font-weight: 500; }
.data-overview p { font-size: 9px; color: #8d948f; margin: 0; white-space: nowrap; }

.temple-section { background: var(--paper); }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 42px; }
.section-heading h2 { margin-top: 14px; }
.section-heading > p { max-width: 460px; margin-bottom: 4px; }
.filters { display: flex; gap: 8px; align-items: center; padding-bottom: 25px; border-bottom: 1px solid var(--line); margin-bottom: 34px; overflow-x: auto; }
.filters button { white-space: nowrap; border: 1px solid transparent; background: transparent; padding: 9px 17px; color: #6e786f; font-size: 13px; }
.filters button.active { background: var(--deep); color: #fff; border-radius: 2px; }
.filters .map-link { margin-left: auto; color: var(--gold); }
.temple-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.temple-card { background: #fff; box-shadow: 0 13px 40px rgba(31,47,39,.06); transition: transform .3s, box-shadow .3s; overflow: hidden; }
.temple-card:hover { transform: translateY(-7px); box-shadow: 0 20px 50px rgba(31,47,39,.13); }
.card-art { height: 225px; position: relative; overflow: hidden; background: linear-gradient(#cdd8d0, #edf0e9); }
.sand .card-art { background: linear-gradient(#ded3bf, #f1eadc); }
.gold .card-art { background: linear-gradient(#ccad79, #f2e4c7); }
.sea .card-art { background: linear-gradient(#b8d2ce, #e1eeeb); }
.red .card-art { background: linear-gradient(#c39a88, #e8d3c6); }
.blue .card-art { background: linear-gradient(#aebfca, #e1e7e9); }
.mountain { position: absolute; bottom: -30px; border-radius: 46% 54% 0 0; transform: rotate(10deg); filter: blur(.2px); }
.m1 { width: 330px; height: 170px; left: -70px; background: rgba(63,91,77,.35); }
.m2 { width: 310px; height: 145px; right: -80px; background: rgba(34,65,53,.43); transform: rotate(-10deg); }
.sun { position: absolute; width: 44px; height: 44px; border-radius: 50%; background: rgba(238,215,171,.85); top: 40px; right: 47px; box-shadow: 0 0 35px #f5ddac; }
.pagoda { position: absolute; left: 50%; bottom: 17px; transform: translateX(-50%); width: 115px; height: 116px; background: #314b40; clip-path: polygon(45% 0,55% 0,57% 16%,72% 25%,60% 30%,62% 45%,83% 56%,66% 61%,68% 76%,96% 89%,62% 92%,60% 100%,40% 100%,38% 92%,4% 89%,32% 76%,34% 61%,17% 56%,38% 45%,40% 30%,28% 25%,43% 16%); opacity: .85; }
.card-tag { position: absolute; left: 18px; top: 18px; padding: 7px 10px; background: rgba(251,250,246,.85); backdrop-filter: blur(8px); font-size: 11px; color: #4c6258; }
.card-body { padding: 23px 24px 20px; }
.card-body > div { display: flex; align-items: center; justify-content: space-between; }
.card-body h3 { font-size: 25px; font-weight: 500; margin: 0; }
.card-body > div span { font-size: 11px; color: var(--gold); border: 1px solid #d9cbb5; padding: 4px 8px; }
.card-body p, .card-body small { color: #7d867f; font-size: 12px; display: block; margin: 9px 0; }
.evidence-line { display: grid!important; grid-template-columns: 30px 1fr; gap: 8px; align-items: center!important; background: #f3efe6; padding: 8px; margin-top: 11px; }
.evidence-line b { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--forest); color: #fff; font: 11px Arial; }
.evidence-line span { border: 0!important; padding: 0!important; color: #6d756e!important; font-size: 9px!important; line-height: 1.5; }
.card-body button { width: 100%; display: flex; justify-content: space-between; border: 0; border-top: 1px solid var(--line); background: none; padding: 15px 0 0; margin-top: 17px; color: var(--ink); font-size: 13px; }
.empty { padding: 50px; text-align: center; color: #777; border: 1px dashed var(--line); }
.load-more { display: block; margin: 35px auto 0; padding: 14px 30px; border: 1px solid #ad9b7d; background: transparent; color: var(--deep); }

.graph-section { min-height: 720px; background: var(--deep); color: #fff; display: grid; grid-template-columns: 38% 62%; align-items: center; overflow: hidden; }
.section-kicker.light { color: #d6b87f; }
.graph-copy h2 { margin: 18px 0 24px; color: #f6f0e3; }
.graph-copy > p { color: rgba(255,255,255,.62); }
.graph-copy ul { padding: 0; list-style: none; margin: 30px 0; }
.graph-copy li { border-top: 1px solid rgba(255,255,255,.11); padding: 14px 0; color: rgba(255,255,255,.82); font-size: 13px; }
.graph-copy li span { color: #bfa16f; font: 10px Arial; margin-right: 15px; }
.graph-tabs { display: flex; gap: 7px; margin: 30px 0 16px; }
.graph-tabs button { padding: 10px 14px; border: 1px solid rgba(255,255,255,.18); background: transparent; color: rgba(255,255,255,.62); font-size: 11px; }
.graph-tabs button.active { background: #e8dfcd; color: var(--deep); border-color: #e8dfcd; }
.node-detail { border-left: 2px solid #b89c6c; background: rgba(255,255,255,.045); padding: 15px 18px; min-height: 105px; }
.node-detail small { color: #cbb386; font-size: 9px; letter-spacing: .12em; }
.node-detail h3 { margin: 7px 0 3px; font-weight: 400; font-size: 20px; }
.node-detail p { color: rgba(255,255,255,.5); font-size: 10px; margin: 0; line-height: 1.6; }
.graph-visual { position: relative; height: 570px; }
.graph-visual svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.lines path { fill: none; stroke: rgba(216,190,143,.38); stroke-width: 1; stroke-dasharray: 4 4; }
.node { position: absolute; width: 108px; height: 108px; border-radius: 50%; border: 1px solid rgba(225,202,158,.32); color: #fff; background: rgba(255,255,255,.045); backdrop-filter: blur(6px); display: flex; flex-direction: column; align-items: center; justify-content: center; box-shadow: 0 0 0 9px rgba(255,255,255,.018); padding: 0; transition: .25s; }
.node:hover,.node.selected { border-color: #d4b779; background: rgba(219,190,137,.13); transform: scale(1.06); }
.node i { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid #b99b67; border-radius: 50%; color: #d7bd8c; font-style: normal; margin-bottom: 7px; }
.node b { font-size: 13px; font-weight: 400; }
.node small { color: rgba(255,255,255,.46); margin-top: 4px; font-size: 9px; }
.node.central { width: 155px; height: 155px; left: 50%; top: 50%; transform: translate(-50%,-50%); background: #e8dfcd; color: var(--deep); border: 0; box-shadow: 0 0 0 18px rgba(222,201,160,.09), 0 0 70px rgba(201,171,116,.15); }
.node.central i { background: var(--deep); color: #ead9b9; }
.n1 { left: 7%; top: 5%; }.n2 { right: 4%; top: 6%; }.n3 { right: 0; top: 43%; }.n4 { right: 15%; bottom: 0; }.n5 { left: 13%; bottom: 2%; }.n6 { left: 0; top: 42%; }.n7 { left: 43%; top: -2%; }.n8 { right: -1%; top: -2%; }

.people-section { background: #f8f5ee; }
.section-heading.centered { flex-direction: column; align-items: center; text-align: center; }
.section-heading.centered p { max-width: 620px; }
.lineage { display: flex; justify-content: center; align-items: center; margin-top: 55px; }
.master-grid { display: grid; grid-template-columns: repeat(8,1fr); gap: 38px 6px; margin-top: 50px; }
.person-wrap { display: flex; align-items: center; }
.person { width: 145px; text-align: center; }
.portrait { margin: auto; width: 104px; height: 104px; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle at 50% 35%, #eadcc4 0 24%, #9b8162 25% 31%, #304b3d 32% 65%, #1b3027 66%); box-shadow: 0 7px 25px rgba(36,52,43,.14); border: 5px solid #fdfbf6; }
.portrait span { color: rgba(255,255,255,.9); font-size: 31px; }
.person small { display: block; margin-top: 17px; color: var(--gold); font-size: 10px; }
.person h3 { margin: 6px 0; font-size: 19px; font-weight: 500; }
.person p { margin: 0; color: #858d87; font-size: 10px; }
.line-arrow { color: #b6a785; opacity: .7; margin: 0 -5px; }
.school-table { margin-top: 85px; border: 1px solid var(--line); background: rgba(255,255,255,.72); }
.table-title { padding: 30px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; }
.table-title h3 { font-size: 27px; margin: 0; font-weight: 400; }
.table-note { margin: 0; padding: 15px 25px; background: #fbf8f1; color: #756e62; font-size: 10px; line-height: 1.7; border-bottom: 1px solid var(--line); }
.table-head,.table-row { display: grid; grid-template-columns: .7fr 1fr 1.35fr 1fr; padding: 14px 25px; }
.table-head { color: #9a8159; font-size: 10px; background: #f0eadf; }
.table-row { border-top: 1px solid var(--line); font-size: 12px; }
.table-row span:first-child { color: var(--forest); font-size: 15px; font-weight: 600; }

.canon-section { display: grid; grid-template-columns: 36% 64%; background: #ece5d7; gap: 7vw; }
.canon-title { padding-top: 30px; }
.canon-title h2 { margin: 14px 0 22px; }
.canon-categories { display: flex; flex-wrap: wrap; gap: 7px; margin: 25px 0; }
.canon-categories span { padding: 6px 9px; border: 1px solid rgba(71,85,77,.18); color: #81745f; font-size: 9px; background: rgba(255,255,255,.32); }
.canon-list article { display: grid; grid-template-columns: 95px 1fr 35px; gap: 25px; align-items: center; padding: 22px 0; border-bottom: 1px solid rgba(51,68,59,.16); }
.book { width: 85px; height: 116px; background: #304b3e; padding: 8px; box-shadow: 4px 6px 12px rgba(40,50,44,.17); }
.book span { width: 100%; height: 100%; border: 1px solid rgba(226,203,158,.42); color: #ead6ad; display: grid; place-items: center; writing-mode: vertical-rl; letter-spacing: .23em; }
.book-1 { background: #6f3a2c; }.book-2 { background: #81714e; }
.canon-list small { color: var(--gold); font-size: 10px; }
.canon-list h3 { margin: 6px 0; font-size: 22px; font-weight: 500; }
.canon-list p { color: #6d756e; font-size: 12px; line-height: 1.8; margin: 5px 0; }
.canon-list b { color: #9a8057; font-size: 10px; font-weight: 400; }
.canon-list article > button { border: 1px solid #b8ad98; background: none; width: 32px; height: 32px; border-radius: 50%; color: #756650; }

.sources-section { background: #f5f1e8; }
.evidence-legend { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); margin-bottom: 34px; }
.evidence-legend > div { display: flex; gap: 14px; min-height: 110px; padding: 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.55); }
.evidence-legend b { flex: 0 0 35px; height: 35px; display: grid; place-items: center; border-radius: 50%; background: var(--forest); color: #fff; font: 13px Arial; }
.evidence-legend span { font-size: 10px; color: #7a827c; line-height: 1.6; }
.evidence-legend strong { display: block; color: var(--ink); font-size: 13px; margin-bottom: 4px; }
.source-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.source-list a { display: grid; grid-template-columns: 76px 1fr 25px; gap: 18px; align-items: center; padding: 21px; background: #fff; border: 1px solid var(--line); color: inherit; text-decoration: none; transition: .2s; }
.source-list a:hover { transform: translateY(-2px); border-color: #ad9367; }
.source-list > a > span { color: #9b7e4e; font-size: 10px; }
.source-list h3 { margin: 0 0 5px; font-size: 15px; font-weight: 500; }
.source-list p { margin: 0; color: #858b86; font-size: 10px; }
.source-list i { color: var(--gold); font-style: normal; }
.editorial-note { margin-top: 25px; padding: 28px 32px; border-left: 3px solid #a98650; background: #e9e2d5; }
.editorial-note h3 { margin: 0 0 8px; font-size: 18px; }
.editorial-note p { margin: 0; color: #686f69; line-height: 1.9; font-size: 11px; }

.culture-section { background: #faf9f5; }
.culture-grid { display: grid; grid-template-columns: 1.55fr 1fr; grid-template-rows: 230px 230px; gap: 18px; }
.culture-grid article { position: relative; overflow: hidden; color: #fff; background: #314d41; }
.culture-grid article:before { content: ""; position: absolute; inset: 0; opacity: .95; }
.culture-main { grid-row: span 2; }
.culture-main:before { background: radial-gradient(circle at 65% 28%, #cab687 0 3%, transparent 4%), linear-gradient(145deg, transparent 43%, rgba(0,0,0,.25) 44%), linear-gradient(20deg, #182d24, #8c8d70); }
.culture-side.sculpture:before { background: radial-gradient(circle at 75% 40%, #c8b07f 0 12%, transparent 13%), linear-gradient(120deg, #6d644f, #253c31); }
.culture-side.relic:before { background: repeating-linear-gradient(90deg, rgba(214,196,158,.1) 0 2px, transparent 2px 24px), linear-gradient(130deg,#352f26,#8a795c); }
.culture-grid article > div { position: absolute; z-index: 1; left: 38px; bottom: 36px; }
.culture-main > div { left: 55px!important; bottom: 50px!important; }
.culture-grid span { color: #d9c18f; font-size: 11px; letter-spacing: .2em; }
.culture-grid h3 { font-size: 29px; font-weight: 400; letter-spacing: .1em; margin: 10px 0; }
.culture-main h3 { font-size: 45px; }
.culture-grid p { color: rgba(255,255,255,.65); font-size: 12px; }
.culture-grid button { color: #fff; background: none; border: 0; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.5); }
.topic-grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 32px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.topic-grid article { min-height: 165px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); position: relative; background: #fff; }
.topic-grid i { position: absolute; right: 20px; top: 19px; font: 10px Arial; color: #b69b6e; }
.topic-grid h3 { font-size: 21px; margin: 7px 0; font-weight: 500; }
.topic-grid p { color: #7d867f; font-size: 11px; }
.topic-grid button { border: 0; background: none; color: var(--gold); padding: 10px 0 0; font-size: 10px; }

.join-section { background: var(--deep); color: #fff; padding: 80px max(5vw, calc((100vw - 1220px)/2)); display: grid; grid-template-columns: 110px 1fr auto; gap: 40px; align-items: center; }
.seal-outline { width: 100px; height: 100px; border-radius: 50%; border: 1px solid rgba(216,190,143,.4); display: grid; place-items: center; color: #d3b77f; font-size: 45px; }
.join-section h2 { font-size: 38px; font-weight: 400; margin: 12px 0; }
.join-section p { color: rgba(255,255,255,.58); line-height: 1.8; max-width: 650px; font-size: 13px; }
.join-actions { display: flex; gap: 10px; }
.outline-btn { color: #efe7d7; border: 1px solid rgba(255,255,255,.35); background: transparent; padding: 14px 22px; }

.v3-footer { background: #101c17; color: rgba(255,255,255,.7); padding: 70px max(5vw, calc((100vw - 1220px)/2)) 25px; }
.v3-footer .footer-top { display: flex; justify-content: space-between; padding-bottom: 50px; }
.v3-footer .footer-brand { display: flex; gap: 16px; align-items: center; }
.v3-footer .footer-brand .brand-seal { color: #d8bc86; border-color: #866f49; }
.v3-footer .footer-brand b { color: #fff; font-size: 21px; letter-spacing: .14em; }
.v3-footer .footer-brand p { font-size: 11px; color: rgba(255,255,255,.4); }
.v3-footer .footer-links { display: flex; gap: 80px; }
.v3-footer .footer-links div { display: flex; flex-direction: column; gap: 10px; }
.v3-footer .footer-links b { color: #d9c18f; font-size: 12px; margin-bottom: 5px; }
.v3-footer .footer-links a { color: rgba(255,255,255,.47); text-decoration: none; font-size: 11px; }
.v3-footer .footer-bottom { border-top: 1px solid rgba(255,255,255,.08); padding-top: 22px; display: flex; justify-content: space-between; font-size: 10px; color: rgba(255,255,255,.32); }

@media (max-width: 980px) {
  body.v3-home .archive-header .navbar,
  body.v3-home .archive-header .navbar-brand { min-height:72px; height:72px; }
  body.v3-home .archive-header .navbar-collapse { background:#122b22; border:0; }
  body.v3-home .archive-header .navbar-nav > li > a { padding:13px 15px; }
  body.v3-home .archive-header .nav-cta { display:inline-flex; margin:8px 15px 18px; }
  .archive-menu { margin:0 15px !important; background:#f7f2e8; }
  .v3-nav { position: absolute; top: 88px; left: 0; right: 0; background: rgba(18,43,34,.98); display: none; padding: 15px 25px 25px; flex-direction: column; gap: 0; }
  .v3-nav.open { display: flex; }
  .v3-nav button { text-align: left; padding: 14px 0; }
  .v3-nav button:after { display: none; }
  .v3-nav a { width: 100%; padding: 14px 0; text-align: left; }
  .v3-nav a:after { display: none; }
  .v3-nav .nav-group { display: block; width: 100%; }
  .v3-nav .nav-group-toggle { width: 100%; justify-content: space-between; padding: 14px 0; }
  .v3-nav .nav-dropdown { position: static; width: 100%; grid-template-columns: 1fr; background: rgba(255,255,255,.04); border: 0; box-shadow: none; }
  .v3-nav .nav-dropdown__intro { display: none; }
  .v3-nav .nav-dropdown__links { grid-template-columns: repeat(2,1fr); padding: 6px 0 12px; }
  .v3-nav .nav-dropdown__links a { color: rgba(255,255,255,.72); background: rgba(255,255,255,.035); }
  .v3-nav .nav-dropdown__links a:hover { background: rgba(255,255,255,.08); }
  .v3-nav .nav-dropdown__links small { color: rgba(255,255,255,.4); }
  .nav-group--more { display: none; }
  .quiet-btn, .header-actions .small { display: none; }
  .menu-btn { display: block; }
  .hero { min-height: 760px; }
  .hero-stats { width: 100%; max-width: none; }
  .data-overview { grid-template-columns: repeat(3,1fr); }
  .reading-guide { grid-template-columns: 70px 1fr; }
  .reading-guide ul { grid-column: 2; }
  .evidence-legend { grid-template-columns: repeat(2,1fr); }
  .data-overview article:nth-child(3) { border-right: 0; }
  .temple-grid { grid-template-columns: repeat(2, 1fr); }
  .graph-section { grid-template-columns: 1fr; padding-bottom: 60px; }
  .graph-visual { height: 520px; }
  .lineage { flex-wrap: wrap; gap: 28px 0; }
  .master-grid { grid-template-columns: repeat(4,1fr); }
  .canon-section { grid-template-columns: 1fr; }
  .topic-grid { grid-template-columns: repeat(2,1fr); }
  .join-section { grid-template-columns: 85px 1fr; }
  .join-actions { grid-column: 2; }
}

@media (max-width: 640px) {
  .v3-header { height: 72px; padding: 0 20px; }
  .brand-seal { width: 38px; height: 38px; }
  .brand-copy b { font-size: 16px; }
  .v3-nav { top: 72px; }
  .hero { height: auto; min-height: 760px; align-items: flex-start; }
  .hero-content { margin-top: 145px; width: calc(100% - 40px); }
  .hero h1 { font-size: 42px; line-height: 1.28; letter-spacing: .06em; }
  .hero-content > p { font-size: 14px; line-height: 1.9; }
  .desktop { display: none; }
  .hero-search { height: 58px; padding-left: 15px; }
  .hero-search input { font-size: 13px; }
  .hero-search button { padding: 0 15px; height: 46px; font-size: 12px; }
  .quick-links { flex-wrap: wrap; gap: 11px 14px; }
  .quick-links span { width: 100%; }
  .hero-stats { height: 90px; grid-template-columns: repeat(4, 1fr); }
  .hero-stats div { padding: 0 8px; text-align: center; align-items: center; }
  .hero-stats strong { font-size: 16px; }
  .hero-stats span { font-size: 8px; }
  .section { padding: 75px 20px; }
  .data-overview { grid-template-columns: repeat(2,1fr); padding: 0; }
  .reading-guide { padding: 45px 20px; display: block; }
  .reading-guide .mode-mark { margin-bottom: 20px; }
  .reading-guide ul { margin-top: 22px; }
  .source-list { grid-template-columns: 1fr; }
  .evidence-legend { grid-template-columns: 1fr; }
  .data-overview article { min-height: 120px; padding: 18px 12px; }
  .data-overview article:nth-child(3) { border-right: 1px solid var(--line); }
  .data-overview article:nth-child(even) { border-right: 0; }
  .intro-grid, .section-heading { display: block; }
  .intro-grid { margin-top: 18px; }
  .intro-grid > div { margin-top: 25px; }
  .intro h2, .section-heading h2, .graph-copy h2, .canon-title h2 { font-size: 34px; }
  .section-heading > p { margin-top: 15px; }
  .filters .map-link { margin-left: 0; }
  .temple-grid { grid-template-columns: 1fr; }
  .card-art { height: 210px; }
  .graph-section { padding-left: 20px; padding-right: 20px; }
  .graph-visual { height: 420px; transform: scale(.9); margin: -25px -35px; }
  .node { width: 90px; height: 90px; }
  .node.central { width: 125px; height: 125px; }
  .node i { width: 25px; height: 25px; margin-bottom: 3px; }
  .node b { font-size: 10px; }.node small { font-size: 7px; }
  .lineage { display: grid; grid-template-columns: repeat(2, 1fr); }
  .master-grid { grid-template-columns: repeat(2,1fr); gap: 30px 0; }
  .line-arrow { display: none; }
  .school-table { overflow-x: auto; }
  .table-title { display: block; }
  .table-title h3 { margin-top: 8px; }
  .table-head,.table-row { min-width: 650px; }
  .canon-list article { grid-template-columns: 75px 1fr 28px; gap: 13px; }
  .book { width: 70px; height: 98px; }
  .culture-grid { display: block; }
  .culture-grid article { height: 300px; margin-bottom: 12px; }
  .culture-main { height: 420px!important; }
  .topic-grid { grid-template-columns: 1fr; }
  .join-section { padding: 65px 20px; display: block; text-align: center; }
  .seal-outline { margin: 0 auto 30px; }
  .join-actions { justify-content: center; margin-top: 25px; flex-wrap: wrap; }
  .v3-footer .footer-top { display: block; }
  .v3-footer .footer-links { margin-top: 40px; gap: 40px; justify-content: space-between; }
  .v3-footer .footer-bottom { display: block; line-height: 2; }
}
