
/* ===================================================================
   코드 모드 — 시안을 섹션별로 해체해 텍스트는 HTML, 사진은 잘라낸 조각
   =================================================================== */
.doc{--paper:#f1ece2;--paper2:#f4efe6;--line:#ddd5c6;--line2:#e2dacb;
  --ink:#14161a;--ink2:#4d4740;--muted:#7a7365;--navy:#12306e;--red:#c0271e;
  --dark:#161514;--gold:#f0c020;
  max-width:1536px;margin:0 auto;background:var(--paper);color:var(--ink);
  box-shadow:0 34px 90px rgba(0,0,0,.5)}
.doc *{box-sizing:border-box}
.doc h1,.doc h2,.doc h3,.doc h4,.doc p{margin:0}
.doc .serif{font-family:'Noto Serif KR',serif}

/* --- 헤더 --- */
.d-head{display:flex;align-items:center;gap:20px;height:74px;padding:0 26px;
  background:var(--paper2);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.d-head__brand{height:38px;width:auto}
.d-nav{display:flex;gap:26px;margin:0 auto;font-size:15px;font-weight:500;color:#2a2a2a;flex-wrap:wrap}
.d-nav a{color:#2a2a2a}
.d-head__right{display:flex;align-items:center;gap:18px}
.btn{border:0;cursor:pointer;font-family:inherit;font-weight:700}
.btn--dark{background:#111;color:#fff;padding:13px 22px;font-size:15px}
.btn--red{background:var(--red);color:#fff;padding:17px 40px;font-size:17px;
  box-shadow:0 6px 18px rgba(0,0,0,.18)}
.btn--ghost{background:#3b3730;color:#f5efe4;border:1px solid #565046;padding:10px 22px;
  font-size:13px;font-weight:400}
.link{font-size:11.5px;color:var(--navy)}

/* --- 히어로 --- */
.d-hero{position:relative;display:grid;grid-template-columns:596px 504px 1fr;
  min-height:438px;background:radial-gradient(120% 100% at 8% 40%,#f3eee4 40%,#e4dccc 100%)}
.d-hero__copy{position:relative;padding:82px 26px 0 150px}
.d-hero__coord{position:absolute;left:22px;top:26px;display:flex;gap:14px;
  writing-mode:vertical-rl;font-size:12.5px;letter-spacing:.1em;color:#3a3a3a;font-weight:600}
.d-hero__coord span:last-child{letter-spacing:.12em;color:#6b6459;font-weight:400}
.d-hero__hand{position:absolute;left:26px;bottom:22px;font-family:'Noto Serif KR',serif;
  color:var(--navy);font-size:15px;line-height:1.45}
.d-hero__hand em{display:block;color:var(--red);text-decoration:underline;
  font-style:normal;margin-top:4px}
.d-hero h1{font-family:'Noto Serif KR',serif;font-weight:700;font-size:46px;
  line-height:1.28;letter-spacing:-.02em;text-wrap:pretty}
.d-hero__rule{width:378px;height:5px;background:var(--navy);border-radius:3px;
  margin-top:10px;opacity:.85}
.d-hero__sub{margin-top:16px;font-size:14.5px;color:#3f3f3f}
.d-hero__cta{margin-top:64px}
.d-hero__photo{position:relative;overflow:hidden}
.d-hero__photo img{width:100%;height:100%;object-fit:cover}

/* --- 신청 카드 --- */
.d-form{align-self:start;margin:8px 16px 0 0;padding:26px;background:var(--gold);
  box-shadow:0 10px 30px rgba(0,0,0,.18);
  clip-path:polygon(1% 2%,99% 0,100% 3%,99.2% 97%,100% 100%,1.5% 99%,0 96%,.6% 4%)}
.d-form h3{font-family:'Noto Serif KR',serif;font-weight:700;font-size:20px;color:#141414}
.d-form__sub{margin-top:8px;font-size:12.5px;color:#3f3a2a}
.d-form label{display:block;margin-top:16px;font-size:12.5px;font-weight:700;color:#2c2820}
.d-form__row{display:flex;align-items:center;gap:7px;margin-top:7px}
.d-form__row>div{flex:1;display:flex;align-items:center;gap:6px}
.d-form select{flex:1;width:100%;background:#fff;border:1px solid #cbb54a;padding:7px 9px;
  font-size:13px;font-family:inherit;color:var(--ink)}
.d-form__unit{font-size:12px;color:#3a3428}
.d-form__help{width:16px;height:16px;border-radius:50%;border:1px solid #6b6040;
  font-size:10px;display:flex;align-items:center;justify-content:center;color:#6b6040}
.d-form__check{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:12.5px;
  color:#2c2820;font-weight:400;cursor:pointer}
.d-form__check input{width:13px;height:13px;accent-color:#231f16}
.d-form .btn--dark{width:100%;margin-top:16px;padding:15px 0;font-size:16px}

/* --- 과거 관통 (테이블) --- */
.d-band{display:grid;grid-template-columns:1fr 692px;background:#efe9dd;
  border-top:1px solid var(--line)}
.d-past{display:flex;gap:18px;padding:22px 20px 24px}
.d-past__title{display:flex;align-items:flex-start;gap:10px;writing-mode:vertical-rl;flex:none}
.d-past__title h2{font-family:'Noto Serif KR',serif;font-weight:700;font-size:22px;
  letter-spacing:.14em}
.d-past__title p{font-size:11.5px;letter-spacing:.06em;color:var(--muted);margin-top:2px;
  max-height:150px}
.d-timeline{flex:1;border-collapse:separate;border-spacing:8px 0;table-layout:fixed}
.d-timeline th{font-family:'Noto Serif KR',serif;font-weight:700;font-size:16px;
  color:var(--ink);padding:0 0 2px}
.d-timeline .sub{font-size:11px;color:#5c564b;font-weight:400;display:block;margin-top:2px}
.d-timeline td{padding:8px 0 0;vertical-align:top}
.d-timeline figure{position:relative;margin:0}
.d-timeline img{width:100%;height:auto;box-shadow:0 2px 8px rgba(60,45,20,.14)}
.d-timeline .ok{position:absolute;right:-9px;bottom:14px;width:22px;height:22px;
  border-radius:50%;border:1.5px solid var(--red);color:var(--red);background:var(--paper2);
  font-size:11px;display:flex;align-items:center;justify-content:center}
.d-past__verified{margin-top:10px;font-size:12px;color:var(--muted);text-align:right}

/* --- 시대의 인물 --- */
.d-figures{position:relative;background:var(--dark);color:#f2ece1;padding:32px;
  display:grid;grid-template-columns:210px 1fr;gap:24px;align-items:start}
.d-figures h2{font-family:'Noto Serif KR',serif;font-weight:700;font-size:23px;line-height:1.3}
.d-figures p{margin-top:12px;font-size:12.5px;line-height:1.65;color:#c9c1b4}
.d-figures__cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.d-figures figure{margin:0}
.d-figures figure img{width:100%;height:150px;object-fit:cover;object-position:50% 20%;
  filter:sepia(.18)}
.d-figures figcaption{margin-top:8px;font-size:12.5px;line-height:1.5}
.d-figures figcaption b{display:block;font-family:'Noto Serif KR',serif;font-size:14px}
.d-figures figcaption span{color:#a49b8c;font-size:11px}
.d-figures__note{grid-column:1/-1;font-size:11px;color:#8d857a;line-height:1.6;
  border-top:1px solid rgba(255,255,255,.1);padding-top:12px}

/* --- 카드 6장 --- */
.d-cards{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line)}
.d-card{display:flex;background:var(--paper2);border-left:1px solid var(--line2);min-height:218px}
.d-card:first-child{border-left:0}
.d-card--dark{background:#1b2436;color:#eae3d6}
.d-card__tab{width:34px;background:#141414;display:flex;align-items:center;justify-content:center}
.d-card--dark .d-card__tab{background:#0f1523}
.d-card__tab span{writing-mode:vertical-rl;color:var(--paper2);font-size:13px;
  font-weight:700;letter-spacing:.1em}
.d-card__body{flex:1;padding:14px 12px;display:flex;flex-direction:column;gap:6px}
.d-card__kicker{font-size:12.5px;color:#2a2a2a}
.d-card--dark .d-card__kicker{color:#b3bccd}
.d-card__date{font-size:11px;color:var(--muted)}
.d-card__title{font-family:'Noto Serif KR',serif;font-weight:700;font-size:16px;
  line-height:1.35;margin-top:6px}
.d-card__text{font-size:11.5px;line-height:1.65;color:var(--ink2)}
.d-card--dark .d-card__text{color:#b3bccd}
.d-card__big{font-family:'Noto Serif KR',serif;font-weight:700;font-size:40px;
  line-height:1;color:var(--red)}
.d-card__link{margin-top:auto;font-size:11.5px;color:var(--navy)}
.d-card--dark .d-card__link{color:#9db6ea}
.d-card__pic{width:96px;object-fit:cover;align-self:stretch}
.d-card__tarot{width:70px;margin:14px 0 0 10px;align-self:flex-start;
  box-shadow:0 3px 10px rgba(0,0,0,.25)}
.d-nums{display:flex;gap:5px;margin-top:6px;flex-wrap:wrap}
.d-num{width:22px;height:22px;border-radius:50%;background:#ded4bf;color:#22201c;
  font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
.d-num--hit{background:var(--red);color:#fff}
.d-card__meta{font-size:10.5px;color:var(--muted);margin-top:10px}

/* --- 푸터 --- */
.d-foot{display:flex;align-items:center;gap:26px;padding:18px 26px;background:var(--paper2);
  border-top:1px solid var(--line);flex-wrap:wrap}
.d-foot__quote{width:390px;font-family:'Noto Serif KR',serif;font-size:13.5px;line-height:1.7}
.d-foot__quote cite{display:block;text-align:right;font-family:'Cormorant Garamond',serif;
  font-size:14px;color:var(--navy);font-style:normal;margin-top:4px}
.d-foot__disc{flex:1;min-width:260px;font-size:11px;line-height:1.6;color:#8b8478}
.d-foot .btn--red{padding:12px 20px;font-size:13px;line-height:1.4;box-shadow:none}

@media (max-width:1560px){
  .doc{max-width:100%}
  .d-hero{grid-template-columns:1fr}
  .d-hero__copy{padding:56px 26px 0 26px}
  .d-hero__coord,.d-hero__hand{display:none}
  .d-hero__photo{height:300px}
  .d-form{margin:0 26px 26px}
  .d-band{grid-template-columns:1fr}
  .d-cards{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .d-hero h1{font-size:32px}
  .d-hero__rule{width:60%}
  .d-cards{grid-template-columns:1fr}
  .d-past{flex-direction:column}
  .d-past__title{writing-mode:horizontal-tb}
  .d-timeline,.d-timeline tbody,.d-timeline tr{display:block}
  .d-timeline th,.d-timeline td{display:inline-block;width:31%;vertical-align:top}
}
