:root{
  --paper:#faf8f3;
  --paper-deep:#f2eee3;
  --ink:#12192a;
  --ink-soft:#5b6472;
  --hairline:#e6e0d2;
  --hairline-strong:#d6cca9;
  --gold:#a6813e;
  --gold-deep:#7c5f27;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Pretendard Variable','Pretendard',-apple-system,sans-serif;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
.wrap{max-width:820px;margin:0 auto;padding:0 24px;}
em{font-style:italic;color:var(--gold-deep);}

/* signature divider: hairline with centered gold diamond */
hr.rule{border:none;height:1px;background:var(--hairline);margin:0;position:relative;}
hr.rule::after{
  content:"";position:absolute;left:50%;top:50%;
  width:6px;height:6px;background:var(--gold);
  transform:translate(-50%,-50%) rotate(45deg);
}

/* header */
header.top{padding:22px 0;position:absolute;top:0;left:0;right:0;z-index:20;}
header.top .brand,header.top .brand span{color:#fff;}
header.top nav a{color:rgba(255,255,255,.82);}
header.top nav a:hover{color:#fff;}
body.sub header.top{position:static;border-bottom:1px solid var(--hairline);}
body.sub header.top .brand,body.sub .brand span{color:var(--ink);}
body.sub header.top .brand span{color:var(--ink-soft);}
body.sub header.top nav a,body.sub .back{color:var(--ink-soft);}
header.top .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.brand{font-family:'Noto Serif KR',serif;font-size:18px;font-weight:600;letter-spacing:0.01em;display:inline-flex;align-items:center;gap:8px;}
.brand::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold);}
.brand span{font-weight:400;color:var(--ink-soft);font-size:13.5px;}
header.top nav{display:flex;flex-wrap:wrap;}
header.top nav a{font-size:14px;color:var(--ink-soft);margin-left:22px;}
header.top nav a:hover{color:var(--gold-deep);}
.back{font-size:14px;color:var(--ink-soft);}
.back:hover{color:var(--gold-deep);}

/* hero — full bleed */
section.hero-full{
  position:relative;min-height:88vh;
  display:flex;align-items:center;justify-content:center;
  background:#0d1424 url('hero.jpg') center 22% / cover no-repeat;
  text-align:center;padding:140px 24px 96px;
}
section.hero-full::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,17,32,.62) 0%,rgba(11,17,32,.42) 45%,rgba(11,17,32,.72) 100%);
}
.hero-inner{position:relative;z-index:2;max-width:760px;}
.hero-eyebrow{
  font-family:'Noto Serif KR',serif;font-style:italic;
  font-size:15px;color:#dcc08a;margin:0 0 22px;
}
.hero-full h1{
  font-family:'Noto Serif KR',serif;font-weight:500;color:#fff;
  font-size:clamp(34px,5.6vw,60px);line-height:1.3;margin:0 0 26px;
  letter-spacing:-0.01em;
}
.hero-sub{font-size:16px;color:rgba(255,255,255,.86);margin:0 0 34px;line-height:1.8;}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.hero-links{
  display:flex;align-items:center;justify-content:center;gap:16px;
  margin-top:22px;flex-wrap:wrap;
}
.hero-links a{
  font-size:13.5px;color:rgba(255,255,255,.78);
  border-bottom:1px solid rgba(220,192,138,.5);padding-bottom:2px;transition:.16s;
}
.hero-links a:hover{color:#fff;border-color:#dcc08a;}
.hero-links .sep{width:3px;height:3px;background:rgba(255,255,255,.4);transform:rotate(45deg);}
.btn-light,.btn-ghost,.btn-solid{
  display:inline-block;font-size:14px;padding:13px 26px;
  border:1px solid transparent;transition:.18s;
}
.btn-light{background:#fff;color:var(--ink);}
.btn-light:hover{background:var(--gold);color:#fff;}
.btn-ghost{border-color:rgba(255,255,255,.5);color:#fff;}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.12);}
.btn-solid{background:var(--ink);color:#fff;}
.btn-solid:hover{background:var(--gold-deep);}

/* topics band */
.topics-band{background:var(--paper-deep);padding:84px 0 92px;}
.band-head{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start;margin-bottom:46px;}
.band-head h2{
  font-family:'Noto Serif KR',serif;font-weight:500;
  font-size:clamp(26px,3.4vw,38px);line-height:1.4;margin:0;color:var(--ink);
}
.band-aside p{font-size:14.5px;color:var(--ink-soft);margin:0 0 20px;max-width:32em;}
.pillar{margin-bottom:40px;}
.pillar:last-child{margin-bottom:0;}
.group{margin-bottom:52px;}
.group:last-child{margin-bottom:0;}
.group-head{
  display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
  padding-bottom:12px;margin-bottom:26px;
  border-bottom:1px solid var(--ink);
}
.group-head h3{
  font-family:'Noto Serif KR',serif;font-weight:500;
  font-size:25px;margin:0;color:var(--ink);letter-spacing:-0.01em;
}
.group-head p{font-size:14px;color:var(--ink-soft);margin:0;}
.group .pillar-head{border-top:none;padding-top:0;margin-bottom:14px;}
.group .pillar-head h3{font-size:18px;}
.pillar-head{
  display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
  border-top:1px solid var(--hairline-strong);padding-top:14px;margin-bottom:16px;
}
.pillar-head h3{
  font-family:'Noto Serif KR',serif;font-weight:500;font-size:21px;margin:0;color:var(--ink);
}
.pillar-head p{font-size:13.5px;color:var(--ink-soft);margin:0;}
.topic-blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.tb{
  min-height:190px;padding:22px 20px;
  display:flex;flex-direction:column;justify-content:space-between;gap:14px;
  text-decoration:none;transition:transform .16s ease, box-shadow .16s ease;
}
a.tb:hover{transform:translateY(-2px);}
a.tb:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
.tb-cta{
  font-size:12.5px;letter-spacing:.02em;
  padding-top:10px;border-top:1px solid rgba(255,255,255,.22);
}
.tb-a .tb-cta,.tb-c .tb-cta{color:rgba(255,255,255,.75);}
.tb-b .tb-cta{color:rgba(255,255,255,.8);}
a.tb:hover .tb-cta{color:#dcc08a;}
.tb h4{font-family:'Noto Serif KR',serif;font-weight:500;font-size:18px;margin:0;}
.tb p{font-size:13.5px;margin:0;line-height:1.65;}
.tb-a{background:#16233d;color:#fff;}
.tb-a p{color:rgba(255,255,255,.72);}
.tb-b{background:#22355c;color:#fff;}
.tb-b p{color:rgba(255,255,255,.75);}
.tb-c{background:#0e1526;color:#fff;}
.tb-c p{color:rgba(255,255,255,.68);}

/* about band */
.about-band{padding:84px 0;}
.about-grid{display:grid;grid-template-columns:300px 1fr;gap:52px;align-items:start;}
figure.about-portrait{margin:0;position:relative;}
figure.about-portrait::after{
  content:"";position:absolute;bottom:-12px;right:-12px;width:70px;height:70px;
  border-bottom:1px solid var(--gold);border-right:1px solid var(--gold);
}
figure.about-portrait img{
  display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;
}

/* generic sections */
section.section{padding:60px 0;}
section.section h2{font-family:'Noto Serif KR',serif;font-size:23px;font-weight:500;margin:0 0 10px;}
section.section .sub{font-size:14px;color:var(--ink-soft);margin:0 0 38px;}

/* about */
.about-copy h2{font-family:'Noto Serif KR',serif;font-size:23px;font-weight:500;margin:0 0 16px;}
.about-copy p{font-size:15px;color:var(--ink-soft);margin:0 0 12px;max-width:42em;}
.cred-columns{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:28px;}
.cred-block h4{
  font-family:'Noto Serif KR',serif;font-style:italic;font-weight:400;
  font-size:14px;color:var(--gold-deep);margin:0 0 12px;
}
.cred-block ul{list-style:none;padding:0;margin:0;}
.cred-block li{font-size:13.5px;color:var(--ink-soft);padding:8px 0;border-top:1px solid var(--hairline);}
.cred-block li:last-child{border-bottom:1px solid var(--hairline);}

/* column list */
.col-item{padding:30px 0;border-top:1px solid var(--hairline);}
.col-item:last-child{border-bottom:1px solid var(--hairline);}
.col-item .tag{font-family:'Noto Serif KR',serif;font-style:italic;font-size:13.5px;color:var(--gold-deep);margin:0 0 10px;}
.col-item h3{font-family:'Noto Serif KR',serif;font-weight:500;font-size:20px;margin:0 0 10px;}
.col-item p{font-size:14.5px;color:var(--ink-soft);margin:0 0 14px;max-width:40em;}
.col-item .more{font-size:13.5px;color:var(--ink);border-bottom:1px solid var(--gold);padding-bottom:1px;}
.col-item .more:hover{color:var(--gold-deep);}

/* faq accordion */
details.q{border-top:1px solid var(--hairline);padding:20px 0;}
details.q:last-child{border-bottom:1px solid var(--hairline);}
details.q summary{cursor:pointer;font-size:15.5px;font-weight:500;list-style:none;}
details.q summary::-webkit-details-marker{display:none;}
details.q summary::before{content:"+";color:var(--gold-deep);margin-right:12px;font-weight:500;}
details.q[open] summary::before{content:"–";}
details.q .a{font-size:14.5px;color:var(--ink-soft);margin:14px 0 0 22px;max-width:40em;}

/* article (column detail pages) */
article.article{padding:60px 0 40px;}
article.article .tag{font-family:'Noto Serif KR',serif;font-style:italic;font-size:13.5px;color:var(--gold-deep);margin:0 0 16px;}
article.article h1{font-family:'Noto Serif KR',serif;font-weight:500;font-size:30px;line-height:1.5;margin:0 0 18px;}
article.article .meta{font-size:13px;color:var(--ink-soft);margin:0 0 34px;}
.quotes{margin:0 0 36px;padding:22px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);}
.quotes p{font-family:'Noto Serif KR',serif;font-style:italic;font-size:17px;color:var(--ink);margin:0 0 10px;line-height:1.6;}
.quotes p:last-child{margin-bottom:0;}
article.article .lead{font-size:16.5px;color:var(--ink-soft);margin:0 0 34px;max-width:36em;}
article.article .lead strong{color:var(--ink);font-weight:500;}
article.article h2{font-family:'Noto Serif KR',serif;font-weight:500;font-size:19px;margin:46px 0 14px;}
article.article p{font-size:15.5px;margin:0 0 16px;max-width:38em;color:var(--ink-soft);}
article.article p strong{color:var(--ink);font-weight:500;}
article.article ul,article.article ol{padding-left:20px;max-width:38em;}
article.article li{font-size:15.5px;margin-bottom:8px;color:var(--ink-soft);}
article.article li strong{color:var(--ink);font-weight:500;}
.callout{background:var(--paper-deep);border-left:2px solid var(--gold);padding:18px 22px;font-size:14.5px;color:var(--ink-soft);margin:26px 0;}

/* references */
.refs{margin-top:46px;border-top:1px solid var(--hairline);padding-top:28px;}
.refs h2{font-family:'Noto Serif KR',serif;font-weight:500;font-size:17px;margin:0 0 14px;}
.refs ol{padding-left:20px;max-width:42em;}
.refs li{font-size:13.5px;color:var(--ink-soft);margin-bottom:10px;}
.disclaimer{font-size:13px;color:var(--ink-soft);border-top:1px solid var(--hairline);padding-top:18px;margin-top:32px;max-width:42em;}

/* faq block on column pages */
.faq-block{margin-top:50px;border-top:1px solid var(--hairline);padding-top:34px;}
.faq-block .faq-item{margin-bottom:24px;padding:0 24px;max-width:772px;margin-left:auto;margin-right:auto;}
.faq-item .q{font-weight:500;font-size:15.5px;margin-bottom:6px;color:var(--ink);}
.faq-item .a{font-size:14.5px;color:var(--ink-soft);max-width:38em;}

/* footer */
footer{padding:50px 0 64px;border-top:1px solid var(--hairline);margin-top:34px;}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:13.5px;color:var(--ink-soft);}
footer a{color:var(--ink-soft);}
footer a:hover{color:var(--gold-deep);}

@media (max-width:900px){
  .topic-blocks{grid-template-columns:repeat(2,1fr);}
  .band-head{grid-template-columns:1fr;gap:24px;}
  .about-grid{grid-template-columns:220px 1fr;gap:32px;}
}
@media (max-width:680px){
  section.hero-full{min-height:76vh;padding:120px 20px 72px;}
  .topic-blocks{grid-template-columns:1fr;}
  .tb{min-height:190px;}
  .about-grid{grid-template-columns:1fr;gap:28px;}
  figure.about-portrait{max-width:240px;}
  .cred-columns{grid-template-columns:1fr;gap:12px;}
  header.top .wrap{justify-content:center;}
}


/* cases */
.cases-band{padding:80px 0 88px;}
.case-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px;}
.cf{
  background:transparent;border:1px solid var(--hairline-strong);
  color:var(--ink-soft);border-radius:999px;padding:7px 15px;
  font-size:13px;cursor:pointer;font-family:inherit;transition:.16s;
}
.cf:hover{border-color:var(--gold);color:var(--ink);}
.cf.on{background:var(--ink);border-color:var(--ink);color:#fff;}
.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px 22px;}
.case h4{font-family:'Noto Serif KR',serif;font-weight:500;font-size:16px;margin:14px 0 6px;}
.case h4 .dur{font-size:13px;font-weight:400;color:var(--ink-soft);}
.case p{font-size:13.5px;color:var(--ink-soft);margin:0;}
.case-imgs{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.case-imgs figure{margin:0;position:relative;}
.case-imgs.portrait img{aspect-ratio:3/4;}
.case-imgs.wide img{aspect-ratio:2/1;}
.case-imgs figcaption{
  position:absolute;left:8px;bottom:8px;
  background:rgba(11,17,32,.72);color:#fff;
  font-family:'Noto Serif KR',serif;font-style:italic;
  font-size:12px;padding:3px 10px;letter-spacing:.02em;
}
.case-imgs .ph,.case-imgs img{
  aspect-ratio:4/3;width:100%;height:auto;display:block;object-fit:cover;
  border:1px solid var(--hairline-strong);
}
.case-imgs .ph{
  background:var(--paper-deep);
  display:flex;align-items:center;justify-content:center;
  font-family:'Noto Serif KR',serif;font-style:italic;
  font-size:13px;color:var(--ink-soft);
}
.case-note{font-size:12.5px;color:var(--ink-soft);margin-top:30px;padding-top:16px;border-top:1px solid var(--hairline);}

@media (max-width:680px){
  .case-grid{grid-template-columns:1fr;}
}


/* lightbox */
.case-imgs figure{cursor:zoom-in;}
.lb{
  position:fixed;inset:0;z-index:200;
  background:rgba(11,17,32,.94);
  display:none;align-items:center;justify-content:center;
  padding:56px 20px 72px;
}
.lb.on{display:flex;}
.lb-stage{max-width:1100px;width:100%;text-align:center;}
.lb-stage img{
  max-width:100%;max-height:76vh;width:auto;height:auto;
  display:block;margin:0 auto;border:1px solid rgba(255,255,255,.16);
}
.lb-cap{
  color:#fff;font-size:14px;margin-top:16px;
  font-family:'Noto Serif KR',serif;
}
.lb-cap .tag{
  font-style:italic;color:#dcc08a;margin-right:10px;
}
.lb-close,.lb-nav{
  position:absolute;background:transparent;border:1px solid rgba(255,255,255,.3);
  color:#fff;cursor:pointer;font-family:inherit;transition:.16s;
}
.lb-close{top:18px;right:20px;width:38px;height:38px;font-size:18px;line-height:1;border-radius:50%;}
.lb-nav{top:50%;transform:translateY(-50%);width:42px;height:42px;font-size:18px;border-radius:50%;}
.lb-prev{left:18px;} .lb-next{right:18px;}
.lb-close:hover,.lb-nav:hover{border-color:#a6813e;background:rgba(166,129,62,.22);}
.lb-hint{
  position:absolute;bottom:22px;left:0;right:0;text-align:center;
  color:rgba(255,255,255,.45);font-size:12px;
}
@media (max-width:680px){
  .lb{padding:52px 12px 64px;}
  .lb-nav{width:36px;height:36px;}
  .lb-prev{left:8px;} .lb-next{right:8px;}
}


/* column search */
.col-search{margin:0 0 34px;}
.col-search input[type="search"]{
  width:100%;padding:14px 18px;
  border:1px solid var(--hairline-strong);
  background:var(--surface, #fff);
  font-family:inherit;font-size:15px;color:var(--ink);
  transition:border-color .16s;
  -webkit-appearance:none;appearance:none;border-radius:0;
}
.col-search input[type="search"]::placeholder{color:var(--ink-soft);opacity:.75;}
.col-search input[type="search"]:focus{outline:none;border-color:var(--gold);}
.col-search-status{
  font-size:13px;color:var(--ink-soft);margin:10px 0 0;min-height:1.2em;
  font-family:'Noto Serif KR',serif;font-style:italic;
}


/* related columns */
.related{
  margin-top:44px;padding-top:26px;
  border-top:1px solid var(--hairline);
}
.related h2{
  font-family:'Noto Serif KR',serif;font-weight:500;
  font-size:16px;margin:0 0 16px;color:var(--ink);
}
.related ul{list-style:none;padding:0;margin:0;}
.related li{border-top:1px solid var(--hairline);}
.related li:last-child{border-bottom:1px solid var(--hairline);}
.related a{
  display:block;padding:14px 0;font-size:14.5px;color:var(--ink);
  transition:.16s;
}
.related a:hover{color:var(--gold-deep);}
.related .t::after{content:"\00a0→";color:var(--gold);font-size:13px;}
.related a .why{
  display:block;font-size:13px;color:var(--ink-soft);margin-top:4px;
}


/* author byline (column pages) */
.byline{
  margin-top:44px;padding:24px 0 0;
  border-top:1px solid var(--hairline-strong);
  display:grid;grid-template-columns:72px 1fr;gap:20px;align-items:start;
}
.byline img{
  width:72px;height:auto;aspect-ratio:2/3;object-fit:cover;
  display:block;border:1px solid var(--hairline-strong);
}
.byline .b-name{
  font-family:'Noto Serif KR',serif;font-weight:500;
  font-size:16.5px;margin:0 0 2px;color:var(--ink);
}
.byline .b-role{
  font-family:'Noto Serif KR',serif;font-style:italic;
  font-size:13.5px;color:var(--gold-deep);margin:0 0 12px;
}
.byline p.b-cred{
  font-size:13.5px;color:var(--ink-soft);margin:0 0 4px;line-height:1.6;
}
.byline .b-more{
  display:inline-block;margin-top:10px;font-size:13px;color:var(--ink);
  border-bottom:1px solid var(--gold);padding-bottom:1px;
}
.byline .b-more:hover{color:var(--gold-deep);}
@media (max-width:600px){
  .byline{grid-template-columns:60px 1fr;gap:16px;}
  .byline img{width:60px;}
}


/* author box (column footer) */
.authorbox{
  margin-top:44px;padding:24px 0 0;
  border-top:1px solid var(--hairline);
  display:grid;grid-template-columns:74px 1fr;gap:20px;align-items:start;
}
.authorbox img{
  width:74px;height:auto;aspect-ratio:2/3;object-fit:cover;
  display:block;border:1px solid var(--hairline-strong);
}
.authorbox .who{
  font-family:'Noto Serif KR',serif;font-weight:500;
  font-size:16px;margin:0 0 2px;color:var(--ink);
}
.authorbox .role{
  font-family:'Noto Serif KR',serif;font-style:italic;
  font-size:13.5px;color:var(--gold-deep);margin:0 0 12px;
}
.authorbox .cv{font-size:13.5px;color:var(--ink-soft);margin:0 0 5px;line-height:1.65;}
.authorbox .cv:last-of-type{margin-bottom:0;}
.authorbox .now{color:var(--ink);}
.authorbox .more-link{
  display:inline-block;margin-top:14px;font-size:13px;color:var(--ink);
  border-bottom:1px solid var(--gold);padding-bottom:1px;
}
.authorbox .more-link:hover{color:var(--gold-deep);}
@media (max-width:680px){
  .authorbox{grid-template-columns:60px 1fr;gap:16px;}
  .authorbox img{width:60px;}
}
