/* ===== 조합 소개 — 섹션별 리듬 =====
     인사말(이미지 풀블리드) → 우리는(타이포 선언) → 비전(다크 밴드) → 가치(3열 포스터)
     → 역할(틴트 장부) → 연혁(가로 트랙) → 사람(인물 그리드). 배경·구성·모션을 번갈아 배치. */
  .num{color:var(--meta);font-size:.82rem;font-weight:700;letter-spacing:.14em;display:block;margin-bottom:.9rem}

  /* 스태거 리빌: 부모 .reveal이 켜지면 자식이 순서대로 */
  .stg > *{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
  .stg.in > *{opacity:1;transform:none}
  .stg.in > *:nth-child(2){transition-delay:.08s}
  .stg.in > *:nth-child(3){transition-delay:.16s}
  .stg.in > *:nth-child(4){transition-delay:.24s}
  .stg.in > *:nth-child(5){transition-delay:.32s}
  .stg.in > *:nth-child(6){transition-delay:.4s}
  .stg.in > *:nth-child(7){transition-delay:.48s}
  .draw{display:block;transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease-out)}
  .in .draw{transform:scaleX(1)}

  /* 1. 인사말 — 이미지가 왼쪽 화면 끝까지 */
  .greet2{background:var(--paper);padding-block:var(--sec)}
  .greet2 .g-body .stg{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.6rem,4vw,4rem);align-items:start}
  .greet2 .g-body .num{grid-column:1 / -1}
  .greet2 .g-body .g-visual{grid-column:1}
  .greet2 .g-body .g-text{grid-column:2;padding-top:.4rem}
  .greet2 .g-visual{position:sticky;top:110px;aspect-ratio:4/5;background:#3a342d;overflow:hidden;display:flex;align-items:flex-end}
  .greet2 .g-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;transform:scale(1.04);transition:transform 1.6s var(--ease-out)}
  .greet2 .in .g-visual img{transform:none}
  .greet2 .g-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,16,11,0) 42%,rgba(19,16,11,.34) 68%,rgba(19,16,11,.8) 100%)}
  .greet2 .g-visual h2{position:relative;color:#fff;padding:clamp(1.4rem,2.6vw,2.2rem);text-shadow:0 2px 18px rgba(0,0,0,.35)}
  .greet2 h2{font-size:clamp(1.9rem,3.6vw,2.9rem);font-weight:800;letter-spacing:-.03em;line-height:1.25}
  .greet2 p{font-size:clamp(1.02rem,1.3vw,1.15rem);line-height:1.9;color:#2a251d;max-width:58ch}
  .greet2 p + p{margin-top:1rem}
  .greet2 .sig{margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--line);display:flex;align-items:center;gap:.7rem;max-width:58ch}
  .greet2 .sig .role{color:var(--meta);font-size:.92rem}
  .greet2 .sig .nm{font-weight:800;font-size:1.15rem}

  /* 2. 우리는 — 큰 선언문 */
  .stmt{background:var(--alt);padding-block:clamp(4.5rem,10vw,8.5rem)}
  .stmt .big{font-size:clamp(1.7rem,3.8vw,3.1rem);font-weight:800;letter-spacing:-.03em;line-height:1.3;max-width:26ch}
  .stmt .rule{width:64px;height:3px;background:var(--pine);margin:clamp(1.6rem,3vw,2.4rem) 0}
  .stmt .cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,4vw,3.4rem);max-width:1000px}
  .stmt .cols p{font-size:1.02rem;line-height:1.85;color:var(--body)}

  /* 3. 비전 — 다크 밴드 + 흐린 사진 */
  .vision{position:relative;background:var(--charcoal);color:#fff;overflow:hidden}
  .vision .vbg{position:absolute;inset:0;opacity:.16}
  .vision .vbg img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
  .vision .vbg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(43,43,46,.2),rgba(43,43,46,1) 85%)}
  .vision .wrap{position:relative;padding-block:clamp(4.5rem,10vw,8.5rem)}
  .vision .vlab{font-size:.82rem;font-weight:700;letter-spacing:.2em;color:#a89f90}
  .vision .vstmt{margin-top:1.2rem;font-size:clamp(1.9rem,4.6vw,3.7rem);font-weight:800;letter-spacing:-.03em;line-height:1.25}
  .vision .mgrid{margin-top:clamp(3rem,6vw,4.6rem);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,3vw,2.6rem)}
  .vision .m{padding-top:1.4rem;position:relative}
  .vision .m .mline{position:absolute;top:0;left:0;right:0;height:1px;background:rgba(255,255,255,.28)}
  .vision .m .mk{font-size:.78rem;font-weight:700;letter-spacing:.12em;color:var(--pine)}
  .vision .m .mt{margin-top:.6rem;font-size:1.3rem;font-weight:800;letter-spacing:-.01em}
  .vision .m .md{margin-top:.55rem;color:#cfc6b8;font-size:.98rem;line-height:1.7}

  /* 4. 핵심 가치 — 세로 구분선 3열 포스터 */
  .vals{background:var(--paper);padding-block:var(--sec)}
  .vgrid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
  .v{position:relative;padding:clamp(1.8rem,3vw,2.6rem) clamp(1.2rem,2.4vw,2.2rem) clamp(2.4rem,4vw,3.4rem);border-left:1px solid var(--line);min-height:340px;display:flex;flex-direction:column;transition:background var(--t-base)}
  .v:first-child{border-left:0;padding-left:0}
  .v:hover{background:var(--alt)}
  .v .vn{font-size:clamp(3.2rem,6vw,5rem);font-weight:800;letter-spacing:-.05em;line-height:1;color:var(--pine)}
  .v .ven{margin-top:1.4rem;font-size:.8rem;font-weight:700;letter-spacing:.12em;color:var(--meta);text-transform:uppercase}
  .v h3{margin-top:.5rem;font-size:1.45rem;font-weight:800;letter-spacing:-.02em}
  .v p{margin-top:.9rem;color:var(--body);font-size:1rem;line-height:1.75;max-width:30ch}
  .v .vbar{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--pine);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}
  .v:hover .vbar{transform:scaleX(1)}

  /* 5. 주요 역할 — 틴트 배경, 전폭 장부 */
  .ledger{background:var(--pine-tint);padding-block:var(--sec)}
  .ledger .lhead h2{font-size:clamp(1.7rem,3.3vw,2.45rem);font-weight:800;letter-spacing:-.03em;line-height:1.18;margin-bottom:clamp(2rem,4vw,3rem)}
  .lrow{position:relative;display:grid;grid-template-columns:4.5rem minmax(0,1fr) minmax(0,1.3fr);gap:0 clamp(1rem,3vw,2.6rem);align-items:start;padding:clamp(1.4rem,2.4vw,2rem) 0}
  .lrow .ln{position:absolute;left:0;right:0;top:0;height:1px;background:rgba(30,28,26,.22)}
  .lrow .ln.bottom{top:auto;bottom:0}
  .lrow .li{font-weight:800;color:var(--pine);font-size:1.05rem;letter-spacing:.02em;padding-top:.25rem}
  .lrow h3{font-size:clamp(1.15rem,1.8vw,1.45rem);font-weight:800;letter-spacing:-.02em;line-height:1.35}
  .lrow p{color:#3c3630;font-size:1rem;line-height:1.8}

  /* 6. 걸어온 길 — 큰 연도 가로 트랙 */
  .path{background:var(--alt);padding-block:var(--sec)}
  .path .phead h2{font-size:clamp(1.7rem,3.3vw,2.45rem);font-weight:800;letter-spacing:-.03em;line-height:1.18}
  .path .phead p{margin-top:1rem;max-width:56ch;color:var(--body);font-size:1.02rem;line-height:1.8}
  .path .track{position:relative;margin-top:clamp(3rem,6vw,4.6rem);display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding-top:2.2rem}
  .path .tline{position:absolute;left:0;right:0;top:0;height:2px;background:var(--line)}
  .path .node{position:relative}
  .path .dot{position:absolute;top:calc(-2.2rem - 7px);left:0;width:16px;height:16px;border-radius:50%;background:var(--pine);border:3px solid var(--alt);box-shadow:0 0 0 1px var(--pine)}
  .path .node.open .dot{background:var(--alt)}
  .path .yr{font-size:.92rem;font-weight:700;letter-spacing:.04em;line-height:1;color:var(--meta)}
  .path .node.open .yr{color:var(--pine)}
  .path .lb{margin-top:.6rem;font-weight:700;font-size:1.15rem;letter-spacing:-.01em}
  .path .cp{margin-top:.3rem;color:var(--meta);font-size:.92rem}

  /* 7. 함께하는 사람들 */
  .team{background:var(--paper);padding-block:var(--sec)}
  .people{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem}
  .pcard{background:var(--white);border:1px solid var(--line);padding:0 0 1.6rem;text-align:center;transition:transform .6s var(--ease-out),box-shadow .6s var(--ease-out)}
  .pcard:hover{transform:translateY(-6px);box-shadow:0 26px 46px -28px rgba(23,20,15,.4)}
  .pcard .pav{display:block;width:100%;aspect-ratio:3/4;overflow:hidden;margin:0 0 1.2rem;background:#ece3d0}
  .pcard .pav img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block;transition:transform 1.2s var(--ease-out)}
  .pcard:hover .pav img{transform:scale(1.04)}
  .pcard .pn{font-weight:800;font-size:1.12rem;letter-spacing:-.01em;padding:0 1.2rem}
  .pcard .pr{color:var(--pine);font-weight:700;font-size:.88rem;margin-top:.2rem}
  .pcard .pd{color:var(--body);font-size:.9rem;line-height:1.6;margin-top:.7rem;padding:0 1.2rem}

  @media (max-width:920px){
    .greet2 .g-body .stg{display:block}
  .greet2 .g-body .num,.greet2 .g-body .g-visual,.greet2 .g-body .g-text{grid-column:auto}
  .greet2 .g-visual{position:relative;top:auto;aspect-ratio:4/3;margin:0 0 1.6rem;max-width:none}
  .greet2 .g-body .g-text{padding-top:0}
  .greet2 p,.greet2 .sig{max-width:none}
    .stmt .cols{grid-template-columns:1fr}
    .vision .mgrid{grid-template-columns:1fr}
    .vgrid{grid-template-columns:1fr;border-top:0}
    .v{border-left:0;border-top:1px solid var(--line);padding-left:0;min-height:0}
    .lrow{grid-template-columns:3rem minmax(0,1fr)}
    .lrow p{grid-column:2}
    .people{grid-template-columns:repeat(3,1fr)}
  }
  @media (max-width:620px){
    .people{grid-template-columns:1fr 1fr}
    .path .track{grid-template-columns:1fr;gap:2rem;padding-top:0}
    .path .tline{display:none}
    .path .node{padding-left:2rem}
    .path .dot{top:.6rem;left:0}
  }
