/* 자동 생성 — wp_theme.py 가 만듭니다. 여기를 고치지 말고 원본(shell/ · src/)을 고친 뒤 다시 돌리세요. */

  /* 인사말 첫 화면: 사진·인용문·여백에 vh 상한을 걸어 서명까지 한 화면에.
     본문 글자 크기(var(--fs-body))는 그대로 두고 줄간격·여백만 조인다. */
  .lead{background:var(--paper);padding:min(2.8vh,36px) 0;
    height:calc(100svh - var(--hh) - var(--sbh));display:flex;align-items:center}
  .lead-grid{display:grid;grid-template-columns:min(27vh,272px) minmax(0,1fr) min(29vh,296px);
    gap:clamp(24px,3.2vw,60px);align-items:start;max-width:none;width:100%}
  .portrait{margin:0}
  .portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 22%;
    border-radius:6px;box-shadow:0 28px 54px -34px rgba(10,58,99,.5)}
  .portrait figcaption{margin-top:min(1.6vh,18px)}
  .p-name{font-size:min(clamp(19px,1.8vw,32px),3.2vh);font-weight:900;letter-spacing:-.03em;
    color:var(--navy);line-height:1.2}
  .p-role{margin-top:5px;font-family:var(--mono);font-size:min(var(--fs-small),1.7vh);
    letter-spacing:.14em;font-weight:500;color:var(--brand)}
  .say .eyebrow{font-size:min(var(--fs-eyebrow),1.7vh)}
  .say blockquote{margin:min(1.2vh,14px) 0 0;font-size:min(clamp(18px,1.8vw,32px),3.3vh);
    font-weight:800;line-height:1.42;letter-spacing:-.03em;color:var(--navy);text-wrap:balance}
  .say p{margin-top:min(1.3vh,16px);max-width:64ch;font-size:var(--fs-body);
    line-height:1.76;color:var(--muted)}
  .sign{margin-top:min(1.9vh,24px);padding-top:min(1.5vh,20px);border-top:1px solid var(--line);
    display:flex;align-items:flex-end;gap:clamp(14px,1.8vw,30px);flex-wrap:wrap}
  .sign-slot{width:min(clamp(110px,10.5vw,160px),19vh);aspect-ratio:12/5;border:1.5px dashed #C3CDC2;
    border-radius:4px;background:#F1F4F0;display:grid;place-items:center;
    font-size:min(var(--fs-small),1.7vh);color:#8C9A8E}
  .sign-who{display:flex;flex-direction:column;gap:2px;font-size:min(var(--fs-small),1.7vh);color:var(--muted)}
  .sign-who b{font-size:min(var(--fs-h3),2.4vh);font-weight:800;letter-spacing:-.02em;color:var(--ink)}
  /* 오른쪽 약력 레일 (A안 — 잎맥 노드 타임라인) */
  .rail{align-self:stretch;border-left:1px solid var(--line);
    padding-left:clamp(18px,1.9vw,36px);display:flex;flex-direction:column}
  .rail .eyebrow{font-size:min(var(--fs-eyebrow),1.7vh)}
  .rail h2{margin-top:min(1.1vh,12px);font-size:min(clamp(17px,1.5vw,28px),2.9vh);
    font-weight:900;letter-spacing:-.03em;color:var(--navy);line-height:1.25}
  .rail-list{--rp:clamp(16px,1.3vw,26px);position:relative;
    margin-top:min(2.3vh,28px);padding-left:var(--rp)}
  .rail-list::before{content:"";position:absolute;left:3px;top:.7em;bottom:.7em;width:1px;
    background:linear-gradient(180deg,var(--brand-lift),rgba(127,209,168,.22))}
  .rail-list li{position:relative;padding-bottom:min(2.4vh,28px)}
  .rail-list li:last-child{padding-bottom:0}
  .rail-list li::before{content:"";position:absolute;left:calc(var(--rp) * -1);top:.62em;width:7px;height:7px;
    border-radius:50%;background:var(--brand);box-shadow:0 0 0 3.5px var(--paper)}
  .rail-list b{display:block;font-size:min(var(--fs-h3),2.35vh);font-weight:800;
    letter-spacing:-.02em;color:var(--navy);line-height:1.34}
  .rail-list span{display:block;margin-top:3px;font-size:min(var(--fs-small),1.65vh);color:var(--muted)}
  .career-link{display:inline-block;margin-top:min(2.6vh,30px);font-family:var(--mono);
    font-size:min(var(--fs-small),1.65vh);font-weight:700;letter-spacing:.05em;color:var(--brand)}
  .career-link:hover{color:var(--cta-hover)}

  @media (max-width:1240px){
    .lead-grid{grid-template-columns:min(26vh,250px) minmax(0,1fr)}
    .rail{grid-column:1 / -1;border-left:0;border-top:1px solid var(--line);
      padding-left:0;padding-top:min(2.2vh,26px);margin-top:min(1.4vh,18px)}
    .rail-list{margin-top:min(1.8vh,22px);padding-left:0;
      display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,30px)}
    .rail-list::before{display:none}
    .rail-list li{padding:min(1vh,12px) 0 0;border-top:2px solid var(--navy)}
    .rail-list li::before{display:none}
    .career-link{margin-top:min(2vh,22px)}
  }
  @media (max-width:900px){
    .lead{height:auto;display:block;padding-block:34px 40px}
    .lead-grid{grid-template-columns:1fr;gap:24px}
    .portrait img{max-width:360px}
    .say blockquote{font-size:clamp(21px,5.2vw,30px)}
    .rail-list{grid-template-columns:repeat(2,1fr)}
  }
  @media (max-width:560px){ .rail-list{grid-template-columns:1fr;gap:14px} }
