/* B2AGI v2 — Ceremonial mode (Batch I light theme, 2026-09-25)
   따뜻한 서간(warm stone) 위의 조각 — PM 스펙: P5.1_BATCH_I_DESIGN_POLISH_SPEC_20260925.md
   자체 호스팅 subset 폰트 (P3): tools/build_font_subsets.py 생성 · SIL OFL 1.1 — 귀속: assets/fonts/OFL-NOTICE.txt
   활자 정본: 디자인 v1.3 §7 — Cinzel=display · Cormorant=EN 본문 · Noto Serif KR=KO 본문 · ZH 시스템 스택(Henry L3 결정 #5) */
@font-face{font-family:'Cinzel';src:url(/assets/fonts/b2agi-cinzel-display.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0020-007E,U+00A0-00FF,U+2010-205F}
@font-face{font-family:'Cormorant Garamond';src:url(/assets/fonts/b2agi-cormorant-latin.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0020-007E,U+00A0-00FF,U+2010-205F}
@font-face{font-family:'Noto Serif KR';src:url(/assets/fonts/b2agi-notoserifkr-ko.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0020-007E,U+00A0-00FF,U+2010-205F,U+3000-30FF,U+3130-318F,U+AC00-D7A3,U+F900-FAFF,U+FF00-FFEF}
:root{
  /* ── Batch I 토큰 (스펙 §1 단일 소스) ── */
  --paper:#f6f1e8;        /* warm stone 배경 */
  --paper-raised:#fbf8f1; /* 카드·인용·상판 */
  --ink:#1c1814;          /* 본문·제목 */
  --ink-soft:#4a4238;     /* 보조 텍스트 (paper 대비 ≥7:1) */
  --gold:#8a6a2f;         /* 악센트·오버라인·배지 */
  --gold-bright:#a8843a;  /* 링크 hover */
  --hairline:#d9d0bf;     /* 1px 구분선 */
  --night:#14110d;        /* 푸터 전용 반전 배경 */
  /* 구성요소 호환 별칭 (인라인 스타일 등이 참조) */
  --muted:#4a4238; --bone:#1c1814; --stone:#d9d0bf; --gold-soft:#8a6a2f;
}
html{background:var(--paper);font-size:100%}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:'Cormorant Garamond','Noto Serif KR',Georgia,'Times New Roman','Nanum Myeongjo',serif;
  font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased}
@media (min-width:768px){body{font-size:18px}}
html[lang="ko"] body{font-family:'Noto Serif KR','Cormorant Garamond',Georgia,'Nanum Myeongjo',serif;font-size:17px;line-height:1.9;word-break:keep-all}
html[lang="zh-Hans"] body{font-family:'Songti SC','Noto Serif CJK SC','Songti TC','Noto Serif CJK TC',serif;font-size:18px;line-height:1.8}
::selection{background:#e6d9ba;color:var(--ink)}
a{color:var(--gold);text-decoration:underline;text-decoration-color:var(--hairline);text-underline-offset:3px}
a:hover{color:var(--gold-bright);text-decoration-color:var(--gold-bright)}
.display{font-family:'Cinzel',Georgia,'Times New Roman',serif;letter-spacing:.14em}
html[lang="ko"] .display{letter-spacing:.02em}
.skip{position:absolute;left:-9999px}
.band{padding:clamp(64px,10vh,120px) 6vw;max-width:880px;margin:0 auto}
.band.narrow{max-width:680px}
.center{text-align:center}

/* 오버라인·행위 제목 — Cinzel 12px · 0.32em · 금박 */
.eyebrow{font-family:'Cinzel',Georgia,serif;font-size:12px;letter-spacing:.32em;color:var(--gold);text-transform:uppercase;margin:0 0 2.2rem}
h1.display{font-size:clamp(44px,7vw,56px);margin:0;color:var(--ink);font-weight:400}
.fiveb{font-family:'Cinzel',Georgia,serif;font-size:clamp(13px,1.6vw,18px);letter-spacing:.32em;color:var(--gold);margin:1.6rem 0 0}
.tagline{font-size:clamp(17px,2.2vw,24px);color:var(--ink-soft);margin:3rem auto 0;max-width:34em}
.rule{width:96px;height:1px;background:var(--gold);opacity:.6;margin:3.5rem auto;border:0}

/* 배지 — 1px 금볼더 pill · Cinzel 11px uppercase · 안쪽 여백 6/14px */
.badge{display:inline-block;font-family:'Cinzel',Georgia,serif;font-size:11px;letter-spacing:.14em;
  padding:6px 14px;border:1px solid var(--gold);border-radius:999px;color:var(--gold);margin:0 6px 8px 0;text-transform:uppercase}
.badge.gold{color:var(--paper);background:var(--gold);border-color:var(--gold)}

h2{font-family:'Cinzel',Georgia,serif;font-weight:400;font-size:clamp(24px,3vw,28px);margin:0 0 2rem;color:var(--ink)}
h3{font-weight:400;font-size:21px;margin:0 0 .6rem;color:var(--ink)}

/* 5B 카드 — flat(그림자 금지) · 상판 + 헤어 라인 · 좌측 금박 인덱스 */
.fiveb-grid{display:grid;grid-template-columns:1fr;gap:16px;text-align:left;margin-top:2rem;counter-reset:b2agi-fiveb}
.fiveb-grid>div{counter-increment:b2agi-fiveb;position:relative;background:var(--paper-raised);
  border:1px solid var(--hairline);padding:28px 32px 28px 84px}
.fiveb-grid>div::before{content:counter(b2agi-fiveb,decimal-leading-zero);position:absolute;left:28px;top:26px;
  font-family:'Cinzel',Georgia,serif;font-size:21px;color:var(--gold);letter-spacing:.06em}
.fiveb-grid h3{margin-bottom:.4rem}
.fiveb-grid p{color:var(--ink-soft);font-size:15px;margin:.4rem 0 0;max-width:60ch}

/* 입구 — 헤어 라인 격자 평면 */
.entrances{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--hairline);border:1px solid var(--hairline);margin-top:2.5rem}
.entrance{background:var(--paper-raised);padding:2.6rem 2rem;text-decoration:none;transition:background .6s}
.entrance:hover{background:#f3ecdd}
.entrance .kind{font-family:'Cinzel',Georgia,serif;font-size:10px;letter-spacing:.32em;color:var(--gold);text-transform:uppercase}
.entrance .name{font-size:20px;color:var(--ink);margin:.9rem 0 .4rem}
.entrance .sub{font-size:13px;color:var(--ink-soft)}
.act-title{font-family:'Cinzel',Georgia,serif;font-size:12px;letter-spacing:.32em;color:var(--gold);text-transform:uppercase;margin:0 0 1.2rem}
.seal-copy{font-size:clamp(16px,2vw,20px);color:var(--ink-soft);max-width:36em;margin:0 auto}
.verify{margin-top:3rem;font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:12.5px;color:var(--ink-soft);text-align:left;max-width:560px;margin-left:auto;margin-right:auto}
.verify a{color:var(--gold)}
.verify summary{cursor:pointer;color:var(--ink-soft);letter-spacing:.08em}
.verify ol{color:var(--ink-soft);line-height:2}
.poster-frame{margin:3rem auto 0;max-width:832px;border:1px solid var(--hairline);background:var(--paper-raised)}
.poster-frame img{width:100%;display:block}
.poster-frame iframe{width:100%;aspect-ratio:16/10;border:0;display:block}
.constellation-embed{margin-top:2rem;aspect-ratio:16/10;border:1px solid var(--hairline);background:var(--paper-raised)}
.constellation-embed iframe{width:100%;height:100%;border:0}
.beacon{width:10px;height:10px;border-radius:50%;background:var(--gold);margin:3rem auto;
  box-shadow:0 0 24px 6px rgba(138,106,47,.28),0 0 80px 30px rgba(138,106,47,.10)}

/* 진입 fade-up 1회 — 스크롤 애니메이션 없음 */
@keyframes b2agi-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.band{animation:b2agi-rise .6s ease-out both}

/* 글로벌 nav — Batch J1 (Aleteion P0, PM 1100 GO): 얇고 조용한 오버라인 → 스크롤 시 sticky + 헤어 라인 */
.site-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:2rem;
  padding:.85rem 6vw;background:transparent;border-bottom:1px solid transparent;
  transition:border-color .4s ease,background-color .4s ease}
.site-nav.scrolled{background:var(--paper);border-bottom-color:var(--hairline)}
.site-nav .brand{font-family:'Cinzel',Georgia,'Times New Roman',serif;letter-spacing:.18em;font-size:15px;color:var(--ink);text-decoration:none}
.site-nav nav{display:flex;gap:1.7rem;margin-left:auto}
.site-nav nav a{font-family:'Cinzel',Georgia,serif;font-size:10.5px;letter-spacing:.22em;color:var(--ink-soft);text-decoration:none;text-transform:uppercase}
.site-nav nav a:hover{color:var(--gold)}
html[lang="ko"] .site-nav nav a{letter-spacing:.12em}
.site-nav .languages{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:11px;letter-spacing:.08em;white-space:nowrap}
.site-nav .languages a{color:var(--ink-soft);text-decoration:none}
.site-nav .languages strong{color:var(--gold);font-weight:600}
.nav-toggle{display:none}
@media (max-width:860px){
  .site-nav{flex-wrap:wrap;row-gap:.6rem}
  .site-nav .nav-toggle{display:block;margin-left:auto;background:none;border:1px solid var(--hairline);border-radius:2px;
    font-family:'Cinzel',Georgia,serif;font-size:10px;letter-spacing:.22em;color:var(--ink-soft);padding:6px 14px;cursor:pointer}
  .site-nav nav{display:none;width:100%;flex-direction:column;gap:1rem;margin:.8rem 0 .2rem}
  .site-nav .languages{display:none;width:100%;margin:0 0 .6rem}
  .site-nav.open nav,.site-nav.open .languages{display:flex}
  .site-nav.open{background:var(--paper);border-bottom-color:var(--hairline)}
}

/* EXPLORE B2AGI — Batch K1 section map (PM 20260926_1100 승인 카피) */
.explore-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--hairline);border:1px solid var(--hairline);margin-top:2.5rem}
.explore-grid a{background:var(--paper-raised);padding:2.2rem 2rem;text-decoration:none;transition:background .6s;display:block}
.explore-grid a:hover{background:#f3ecdd}
.explore-grid .idx{font-family:'Cinzel',Georgia,serif;font-size:10px;letter-spacing:.32em;color:var(--gold)}
.explore-grid .name{font-family:'Cinzel',Georgia,serif;font-size:15px;letter-spacing:.14em;color:var(--ink);margin:.9rem 0 .4rem}
.explore-grid .sub{font-size:13px;color:var(--ink-soft)}

/* 푸터 — night 반전 */
footer{background:var(--night);border-top:1px solid var(--night);padding:3rem 6vw;text-align:center;color:#a89e8d;font-size:13px}
footer .found{font-size:15px;color:#d9d0bf;margin:0 0 .6rem}
footer nav{margin-top:1.6rem;display:flex;gap:1.6rem;justify-content:center;flex-wrap:wrap;font-family:-apple-system,sans-serif;font-size:12px}
footer nav a{color:#a89e8d;text-decoration:none}
footer nav a:hover{color:#c9a959}
.historical{font-size:13.5px;color:#a89e8d;margin-top:2.4rem}
@media (prefers-reduced-motion:reduce){.entrance{transition:none}.band{animation:none}}
