:root{
  --bg:#14161a;--bg-2:#1b1e24;--card:#1b1e24;
  --fg:#e8e6e1;--fg-2:#a8aeb9;--fg-3:#7d838f;
  --line:#2c2f36;--hair:#23262c;
  --gold:#c9a227;--crimson:#c8102e;
  --serif:"Playfair Display","Nanum Myeongjo",Georgia,"Times New Roman",serif;
  --sans:"Pretendard","Noto Sans KR",-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg-2);font-family:var(--sans);
  font-size:16px;line-height:1.8;letter-spacing:-0.003em}
img{max-width:100%;height:auto;display:block}
a{color:var(--fg)}
.wrap{width:min(1060px,90vw);margin:0 auto}

/* 마스트헤드 */
.mast{padding:clamp(26px,4.6vw,44px) 0 clamp(12px,1.8vw,18px);text-align:center}
.mast-link{text-decoration:none;display:inline-block}
.mast-name{font-family:var(--serif);font-weight:900;margin:0;color:#fff;
  text-transform:uppercase;white-space:nowrap;
  font-size:clamp(26px,6.2vw,56px);line-height:1.05;letter-spacing:.02em}
.mast-fire{color:var(--gold);font-size:1.13em;line-height:1}
.mast-rule{height:1px;background:#3a3e47;margin:0 auto clamp(15px,2.2vw,20px);width:min(600px,92%)}
.mast-hair{height:1px;background:var(--line);margin:clamp(15px,2.2vw,20px) auto 0;width:min(600px,92%)}
.mast-tag{font-family:var(--serif);font-size:12.5px;color:var(--fg-3);margin:13px 0 0;letter-spacing:.3em}

.nav{display:flex;gap:clamp(18px,3.2vw,38px);justify-content:center;flex-wrap:wrap;
  padding:14px 0 15px;border-top:1px solid var(--hair);border-bottom:1px solid var(--line);
  font-size:12.5px;letter-spacing:.14em}
.nav a{color:var(--fg-2);text-decoration:none;position:relative;padding-bottom:3px}
.nav a::after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:1px;
  background:var(--gold);transition:left .22s ease,right .22s ease}
.nav a:hover{color:#fff}
.nav a:hover::after{left:0;right:0}

/* 톱 영역 */
.top{display:grid;grid-template-columns:1.7fr 1fr;gap:clamp(24px,3.6vw,42px);
  padding:clamp(26px,3.6vw,40px) 0;border-bottom:1px solid var(--line)}
.ph{background:#22262d;display:flex;align-items:center;justify-content:center;
  color:#5c626c;font-size:11px;letter-spacing:.16em;aspect-ratio:16/10;text-align:center;padding:10px}
.kicker{display:inline-block;font-size:10px;letter-spacing:.24em;color:var(--gold);margin:0 0 9px}
.top-title{font-family:var(--serif);font-weight:700;color:#fff;
  font-size:clamp(24px,3.6vw,38px);line-height:1.3;letter-spacing:-0.01em;margin:0 0 12px}
.top-title a{text-decoration:none;color:inherit}
.top-title a:hover{color:var(--gold)}
.meta{font-size:12px;letter-spacing:.05em;color:var(--fg-3);margin:0 0 14px}
.lede{font-size:16.5px;color:var(--fg-2);margin:0;line-height:1.85}
.home-body{font-size:16.5px;line-height:1.95;margin-top:20px;color:var(--fg-2)}
.home-body p{margin:0 0 1.15em}
.home-body h2{font-family:var(--serif);font-size:21px;color:#fff;margin:28px 0 10px}
.home-body .fig{max-width:100%;float:none;margin:24px 0}
.home-body .fig img{width:100%}
.home-body::after{content:"";display:block;clear:both}

/* 사이드 */
.side{border-left:1px solid var(--line);padding-left:clamp(18px,2.6vw,30px)}
.side-title{font-size:10px;letter-spacing:.24em;color:var(--gold);margin:0 0 6px}
.side-rule{height:1px;background:var(--line);margin:0 0 14px}
.side ul{margin:0;padding:0;list-style:none}
.side li{padding:13px 0;border-bottom:1px solid var(--hair)}
.side li:last-child{border-bottom:0}
.side a{font-family:var(--serif);font-size:15px;line-height:1.5;color:var(--fg);
  text-decoration:none;display:block}
.side a:hover{color:var(--gold)}
.side .d{font-size:11px;letter-spacing:.05em;color:var(--fg-3);margin-top:5px}
.side-more{margin:16px 0 0;font-size:12px;letter-spacing:.04em}
.side-more a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(201,162,39,.4)}

/* 프로필 */
.profile-card{border:1px solid var(--line);background:var(--card);padding:16px;
  margin-bottom:26px;text-align:center}
.profile-photo{width:100%;max-width:180px;height:auto;margin:0 auto 12px;display:block;filter:grayscale(.15)}
.profile-name{font-family:var(--serif);font-size:22px;font-weight:700;color:#fff;margin:0 0 6px}
.profile-meta{font-size:12.5px;color:var(--fg-2);line-height:1.7;margin:0 0 10px}
.profile-credit{font-size:10px;color:var(--fg-3);margin:0}

/* 영상 */
.video-side{margin-bottom:26px}
.video-thumb{position:relative;display:block;overflow:hidden;background:#000}
.video-thumb img{width:100%;height:auto;display:block;transition:opacity .25s ease}
.video-thumb:hover img{opacity:.8}
.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:46px;height:46px;border-radius:50%;background:rgba(0,0,0,.66);border:2px solid rgba(255,255,255,.9)}
.video-play::after{content:"";position:absolute;left:52%;top:50%;transform:translate(-50%,-50%);
  border-left:13px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent}
.video-side-title{font-size:13.5px;font-family:var(--serif);margin:10px 0 0;line-height:1.5}
.video-side-title a{color:var(--fg);text-decoration:none}
.video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;overflow:hidden}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-lead{padding:22px 0 8px}
.video-lead-title{font-family:var(--serif);font-size:clamp(19px,2.6vw,26px);line-height:1.35;
  margin:16px 0 6px;color:#fff}
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.6vw,28px);padding:20px 0 10px}
.video-card{display:block;width:100%;text-align:left;background:none;border:0;padding:0;
  cursor:pointer;font:inherit;color:inherit}
.video-card .video-title{display:block;font-family:var(--serif);font-size:15.5px;line-height:1.45;
  margin:11px 0 4px;color:var(--fg)}
.video-card:hover .video-title{color:var(--gold)}
.video-card .video-date{display:block;font-size:11px;color:var(--fg-3)}
.video-card.is-playing .video-title{color:var(--gold)}
.video-card.is-playing .video-thumb{outline:2px solid var(--gold);outline-offset:-2px}

/* 섹션·그리드·목록 */
.sec-head{display:flex;align-items:center;gap:14px;margin:clamp(28px,3.6vw,44px) 0 0}
.sec-head span{font-size:10px;letter-spacing:.24em;color:var(--gold);white-space:nowrap}
.sec-head::after{content:"";flex:1;height:1px;background:var(--line)}
.sec-intro{font-size:13.5px;color:var(--fg-2);line-height:1.8;margin:14px 0 0;max-width:660px}
.sec-intro .legend{display:inline-block;font-size:11.5px;color:var(--fg-3);
  border-left:2px solid rgba(201,162,39,.5);padding-left:8px;margin-top:6px}
.sec-more{font-size:11.5px;letter-spacing:.05em;color:var(--fg-3);margin:14px 0 40px}
.sec-more a{color:var(--gold)}
.sec-note{margin:30px 0 44px;padding-top:14px;border-top:1px solid var(--hair);
  font-size:12.5px;color:var(--fg-3);line-height:1.8}
.notice{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);
  padding:22px 4px;font-size:14.5px;color:var(--fg-2);margin:26px 0 0;line-height:1.85}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,34px);padding:24px 0 4px}
.card-title{font-family:var(--serif);font-weight:700;color:#fff;font-size:19px;line-height:1.42;margin:14px 0 8px}
.card-title a{text-decoration:none;color:inherit}
.card-title a:hover{color:var(--gold)}
.card p{font-size:12px;color:var(--fg-3);margin:0}
.list{list-style:none;margin:18px 0 clamp(28px,3.6vw,44px);padding:0}
.list li{display:flex;justify-content:space-between;align-items:baseline;gap:20px;
  padding:14px 0;border-bottom:1px solid var(--hair)}
.list a{font-family:var(--serif);font-size:16.5px;color:var(--fg);text-decoration:none;line-height:1.5}
.list a:hover{color:var(--gold)}
.list time{font-size:11px;letter-spacing:.06em;color:var(--fg-3);white-space:nowrap}

/* 기사 */
.article{padding:clamp(28px,3.6vw,44px) 0 56px;max-width:720px;margin:0 auto}
.art-title{font-family:var(--serif);font-weight:700;color:#fff;
  font-size:clamp(25px,4vw,36px);line-height:1.32;margin:0 0 14px}
.art-meta{font-size:12px;letter-spacing:.05em;color:var(--fg-3);margin:0 0 22px;
  padding-bottom:16px;border-bottom:1px solid var(--hair)}
.art-lede{font-family:var(--serif);font-size:19px;color:var(--fg);margin:0 0 26px;line-height:1.7}
.art-body{font-size:16.5px;line-height:1.95}
.art-body p{margin:0 0 1.2em}
.art-body h2{font-family:var(--serif);font-size:21px;color:#fff;margin:30px 0 10px}
.fig{margin:0 0 20px;max-width:100%}
.fig img{width:100%;height:auto;display:block}
.photo-credits{margin-top:32px;padding-top:16px;border-top:1px solid var(--hair)}
.photo-credits-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}
.photo-credits-h{font-size:10px;letter-spacing:.24em;color:var(--gold);margin:0}
.photo-credits-count{font-size:11px;color:var(--fg-3)}
.photo-credits-list{margin:0;padding-left:18px;font-size:12px;color:var(--fg-3);line-height:1.9}
.photo-credits-list a{color:var(--fg-3)}
.page-body{padding:clamp(26px,3.6vw,42px) 0 56px;max-width:720px;margin:0 auto;font-size:16.5px;line-height:1.9}
.page-body h2{font-family:var(--serif);font-size:21px;color:#fff;margin:34px 0 12px}

/* 블로그 */
.blog-list{list-style:none;margin:22px 0 0;padding:0}
.blog-item{display:grid;grid-template-columns:92px 1fr 120px;gap:20px;align-items:start;
  padding:18px 0;border-bottom:1px solid var(--hair)}
.blog-date{font-size:11px;letter-spacing:.06em;color:var(--fg-3);padding-top:5px}
.blog-title{font-family:var(--serif);font-size:18px;line-height:1.45;margin:0 0 6px}
.blog-title a{color:var(--fg);text-decoration:none}
.blog-title a:hover{color:var(--gold)}
.blog-excerpt{font-size:13.5px;color:var(--fg-3);margin:0;line-height:1.75}
.blog-thumb img{width:100%;height:auto;display:block}
.blog-badge{display:inline-block;font-size:10px;letter-spacing:.22em;color:#14161a;
  background:var(--gold);padding:4px 10px;margin:0 0 14px}
.blog-single{max-width:740px}
.blog-body-full{font-size:16.5px;line-height:1.95}
.blog-inline{margin:24px 0;max-width:100%}
.blog-inline img{width:100%;height:auto;display:block;max-height:80vh;object-fit:contain;background:#0f1114}
.blog-origin{margin-top:32px;padding-top:16px;border-top:1px solid var(--hair);font-size:13px;color:var(--fg-3)}
.blog-origin a{color:var(--gold)}

/* 푸터 */
.foot{border-top:1px solid var(--line);margin-top:clamp(28px,3.6vw,46px);
  padding:26px 0 56px;font-size:12px;color:var(--fg-3);text-align:center;line-height:2}
.foot a{color:var(--fg-3);text-decoration:none;border-bottom:1px solid var(--line)}
.foot-dateline{font-size:11px;letter-spacing:.14em;color:var(--fg-3);margin:0 0 14px;
  padding-bottom:12px;border-bottom:1px solid var(--hair)}
.foot-strip{font-family:var(--serif);color:var(--fg);font-size:14px;margin:0 0 12px;letter-spacing:.02em}

@media(max-width:860px){
  .top{grid-template-columns:1fr}
  .side{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:22px}
  .grid,.video-grid{grid-template-columns:1fr}
  .blog-item{grid-template-columns:1fr;gap:6px}
  .list li{flex-direction:column;gap:5px}
}
@media(max-width:520px){
  .mast-name{white-space:normal;line-height:1.18;letter-spacing:.005em}
  .mast-tag{letter-spacing:.16em;font-size:11.5px}
}
