:root{
  --bg:#1C1713; --bg-2:#241E19; --card:#2C251F; --line:#3A322A;
  --ink:#F4ECDD; --ink-2:#E6DED0; --text:#D3CABA; --muted:#ADA393; --faint:#8C8272;
  --gold:#C2A46A; --gold-hi:#D9C08A;
  --paper:#EDE7DB; --paper-ink:#2A241E; --paper-text:#4E463C;
  --serif:'Noto Serif KR', serif; --sans:'Noto Sans KR','Apple SD Gothic Neo',sans-serif;
  --pad:6%;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink-2);font-family:var(--sans);font-weight:400;line-height:1.85;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word}
h1,h2,h3,.copy,.hero-copy{text-wrap:balance}
img{display:block;max-width:100%}
a{color:var(--gold)}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}
h1,h2,h3,p{margin:0}
.serif{font-family:var(--serif)}
.wrap{max-width:1160px;margin:0 auto}

/* 링크: 화살표 + 글자 밑줄 */
.more{display:inline-flex;align-items:center;gap:8px;padding:10px 0;line-height:1.4;color:var(--gold);text-decoration:none;font-size:14px}
.more span{padding-bottom:4px;border-bottom:1px solid var(--gold)}
.more:hover{color:var(--gold-hi)}
.more:hover span{border-color:var(--gold-hi)}

/* 헤더 */
.site-header{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:28px var(--pad) 56px;background:linear-gradient(to bottom,rgba(0,0,0,.6) 0%,rgba(0,0,0,.3) 55%,rgba(0,0,0,0) 100%)}
.brand{font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:.5em;margin-right:-.5em;color:var(--ink-2);text-decoration:none;transition:opacity .35s ease,visibility .35s}
.nav{display:flex;gap:32px;font-size:16px}
.nav a{color:#DDD5C7;text-decoration:none}
.nav a:hover{color:var(--gold-hi)}
.menu-btn{display:none;width:44px;height:44px;margin-right:-10px;align-items:center;justify-content:center;background:none;border:0;color:var(--ink-2);cursor:pointer}

/* 첫 화면 */
.hero-bg{position:fixed;top:0;left:0;z-index:0;width:100%;height:100vh;height:100lvh;object-fit:cover;filter:brightness(.62)}
.hero{position:relative;z-index:1;height:100vh;height:100svh;min-height:560px;max-height:900px;background:linear-gradient(to bottom,rgba(28,23,19,0.0) calc(100% - 280px),rgba(28,23,19,0.096) calc(100% - 224px),rgba(28,23,19,0.324) calc(100% - 168px),rgba(28,23,19,0.596) calc(100% - 112px),rgba(28,23,19,0.824) calc(100% - 56px),rgba(28,23,19,0.92) 100%)}
.sheet{position:relative;z-index:1}
.band-intro{background:linear-gradient(to bottom,rgba(28,23,19,0.92) 0,rgba(28,23,19,0.92) 100px,rgba(28,23,19,0.92) 200px,rgba(28,23,19,0.92) 100%)}
.band-dark{background:rgba(28,23,19,.92)}
section[id]{scroll-margin-top:96px}
.site-header{transition:padding .3s ease,background-color .3s ease}
.site-header.scrolled{padding-top:18px;padding-bottom:18px;background:rgba(18,14,11,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.hero-text{position:absolute;left:var(--pad);right:var(--pad);bottom:72px;display:flex;flex-direction:column;gap:6px;max-width:640px}
.hero-mark{align-self:flex-start;display:flex;flex-direction:column;gap:18px}
.hero-mark h1{line-height:0}
.hero-mark picture{display:block}
.hero-mark img{width:0;min-width:100%;height:auto;display:block}
.hero-sub{font-size:18px;letter-spacing:.2em;margin-right:-.2em;white-space:nowrap;color:var(--gold)}
.m-only{display:none}
.more-inline{display:none;white-space:nowrap;color:var(--gold);text-decoration:none;margin-left:6px}
.more-inline span{padding-bottom:2px;border-bottom:1px solid var(--gold)}
.hero-copy{font-family:var(--serif);font-weight:300;font-size:24px;line-height:1.6;color:var(--ink)}

/* 소개 */
.about{max-width:760px;margin:0 auto;padding:140px var(--pad) 120px;text-align:center;display:flex;flex-direction:column;gap:28px}
.about .copy{font-family:var(--serif);font-weight:300;font-size:28px;line-height:1.75;color:var(--ink)}
.about p:not(.copy){font-size:17px;color:var(--text)}

.name{display:flex;flex-wrap:wrap;gap:64px;align-items:center;padding:0 var(--pad) 96px}
.name>img{flex:1 1 320px;min-width:0;width:100%;height:300px;object-fit:cover}
.name>div{flex:1 1 320px;display:flex;flex-direction:column;gap:18px}
.name h2{font-family:var(--serif);font-weight:500;font-size:28px;color:var(--ink)}
.name p{font-size:16px;color:var(--text)}
.name p.note{font-size:14px;color:var(--muted)}
.welcome h2{font-weight:400;line-height:1.6}
.welcome>img{order:2;flex:1 1 440px;height:420px;object-position:55% 40%}
.welcome>div{flex:1 1 360px}
.divider{width:72px;height:1px;margin:0 auto;background:var(--gold);opacity:.6}
.intro-line{display:none}
.about{padding-bottom:100px}
.welcome{padding-top:100px;padding-bottom:100px}
.class .divider{margin-bottom:36px}

.name .more{align-self:flex-start;margin-top:6px}

/* 마당 */
.place{--img-h:620px;background:rgba(243,238,228,.88);color:#2A241E;padding-bottom:48px}
.place-hero{width:100%;height:var(--img-h);object-fit:cover;object-position:50% 70%;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 80%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0,#000 80%,transparent 100%)}
.place-body{padding:96px var(--pad) 0;display:flex;flex-direction:column;gap:120px}
.place-row{display:flex;flex-wrap:wrap;gap:56px;align-items:center}
.place-text{flex:1 1 380px;display:flex;flex-direction:column;gap:16px}
.place h2{font-family:var(--serif);font-weight:500;font-size:30px;line-height:1.5;color:#2A241E}
.place p{font-size:17px;color:#4E463C}
.place .info p{font-size:16px}
.yard-pics{flex:1 1 480px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.yard-pics img{width:100%;height:260px;object-fit:cover}
.front-img{flex:1 1 420px;min-width:0;width:100%;height:400px;object-fit:cover}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 28px;text-decoration:none;font-size:15px}
.btn.primary{background:var(--gold);color:var(--bg);font-weight:500}
.btn.primary:hover{background:var(--gold-hi)}
.btn.ghost{border:1px solid #BFB3A0;color:#2A241E}
.btn.ghost:hover{border-color:#8F7240}
.foot{margin:96px auto 0;padding:24px var(--pad) 0;border-top:1px solid #D9CFBF;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;font-size:13px;color:#7A6F62}
.place .more{color:#8F7240}
.place .more span{border-bottom-color:#8F7240}
.place .more:hover{color:#6E5730}

/* 원데이 클래스 */
.class{background:rgba(28,23,19,.92);padding:0 var(--pad) 100px}
.class .wrap{max-width:1120px;display:flex;flex-direction:column;gap:64px}
.class-head{display:flex;flex-direction:column;gap:12px;text-align:center}
.class-head h2{font-family:var(--serif);font-weight:500;font-size:34px;color:var(--ink)}
.class-head .lead{font-size:17px;color:var(--gold)}
.class-head .desc{margin:-8px auto 0;max-width:640px;font-size:16px;color:var(--text)}
.flow{list-style:none;margin:0;padding:0;display:flex;justify-content:center}
.flow li{flex:1 1 160px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:12px;text-align:center}
.mark{width:60px;height:60px;flex:0 0 60px;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:22px;color:#DDD5C7}
.mark.tea{border:1px solid var(--gold);border-radius:50%;color:var(--gold)}
.flow strong{font-weight:500;font-size:17px;color:var(--ink)}
.flow small{font-size:14px;color:var(--muted)}
.flow .step{display:contents}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.card{position:relative;background:rgba(18,14,11,.96);border:1px solid rgba(194,164,106,.45);display:flex;flex-direction:column;transition:border-color .2s ease,background-color .2s ease}
.card:hover{border-color:var(--gold-hi);background:rgba(28,22,17,.97)}
.card:focus-within{outline:2px solid var(--gold-hi);outline-offset:3px}
.card .more::after{content:"";position:absolute;inset:0}
.card .more:focus-visible{outline:none}
.card img{width:100%;height:220px;object-fit:cover}
.card-body{flex:1;padding:26px 28px 22px;display:flex;flex-direction:column;gap:4px;line-height:1.55;border-top:4px solid}
.card h3{font-family:var(--serif);font-weight:500;font-size:21px;line-height:1.4;color:var(--ink);margin-bottom:6px}
.card p{font-size:15px;color:var(--text)}
.card p.for{font-size:14px;color:var(--muted)}
.card .more{align-self:flex-end;margin-top:auto}

/* 소장 */
.director{display:flex;flex-wrap:wrap;gap:64px;align-items:stretch;padding:100px var(--pad) 140px}
.director-photo{order:2;flex:1 1 320px;min-width:0;position:relative;min-height:240px}
.director-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 40%}
.director>div:not(.director-photo){flex:1 1 320px;justify-content:center;display:flex;flex-direction:column;gap:18px}
.director .role{font-size:15px;color:var(--gold)}
.director h2{font-family:var(--serif);font-weight:500;font-size:30px;color:var(--ink)}
.director .copy{font-family:var(--serif);font-weight:300;font-size:19px;line-height:1.8;color:#ECE4D6}
.director p.bio{font-size:15px;color:var(--text)}
.director .more{align-self:flex-start;margin-top:6px}

/* 오시는 길 */

/* ── 모바일 ── */
@media (max-width:760px){
  :root{--pad:24px}
  .site-header{padding:12px 24px;background:none}
  .brand{opacity:0;visibility:hidden}
  .site-header.scrolled .brand,.site-header:has(.nav.open) .brand{opacity:1;visibility:visible}
  .menu-btn{filter:drop-shadow(0 1px 6px rgba(0,0,0,.5))}
  .site-header.scrolled{padding-top:10px;padding-bottom:10px}
  .brand{font-size:19px}
  .menu-btn{display:flex}
  .nav{position:absolute;top:0;left:0;right:0;z-index:-1;flex-direction:column;gap:0;padding:76px 24px 24px;background:rgba(28,23,19,.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:none}
  .nav.open{display:flex}
  .site-header:has(.nav.open){background:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .nav a{padding:12px 0;font-size:17px}

  .hero{min-height:520px}
  .hero-bg{object-position:57% 50%}
  .hero{background:linear-gradient(to bottom,rgba(28,23,19,0.0) calc(100% - 260px),rgba(28,23,19,0.096) calc(100% - 208px),rgba(28,23,19,0.324) calc(100% - 156px),rgba(28,23,19,0.596) calc(100% - 104px),rgba(28,23,19,0.824) calc(100% - 52px),rgba(28,23,19,0.92) 100%)}
  section[id]{scroll-margin-top:64px}
  .hero-text{bottom:48px;gap:2px}
  .hero-mark{gap:12px}
  .hero-sub{font-size:12px;letter-spacing:.12em;margin-right:-.12em}
  .hero-copy{font-size:clamp(13px,3.85vw,15px);line-height:1.55;white-space:nowrap}
  .m-only{display:inline}
  .name .more,.director .more{align-self:flex-end;flex-direction:row-reverse;gap:6px;margin-top:-14px;padding:6px 0;font-size:13px}
  .name .more span,.director .more span{padding-bottom:2px}
  .about{text-align:left}
  .class-head{text-align:left}
  .class-head .desc{margin-left:0}

  .about{padding:24px}
  .about .copy{font-size:20px}
  .about .copy br{display:none}
  .about p:not(.copy){font-size:15px}

  .name{gap:24px;padding:0 24px 24px}
  .name>img{flex-basis:auto;height:220px}
  .name>div{flex-basis:auto}
  .name h2{font-size:21px}
  .name p{font-size:15px}
  .name p.note{font-size:13px}
  .welcome>img{flex:none;height:240px}


  .class{padding:24px}
  .class .wrap{gap:48px}
  .class-head h2{font-size:25px}
  .class-head .lead,.class-head .desc{font-size:15px}
  .flow{flex-direction:column;align-items:stretch}
  .flow li{flex:none;flex-direction:row;align-items:center;gap:18px;padding:12px 0;text-align:left}
  .flow .step{display:flex;flex-direction:column;line-height:1.5}
  .mark{width:48px;height:48px;flex-basis:48px;font-size:19px}
  .flow strong{font-size:16px}
  .cards{grid-template-columns:1fr;gap:20px}
  .card img{height:200px}
  .card-body{padding:22px 22px 16px;gap:4px}
  .card .more{padding:12px 0}

  .director{flex-direction:column;align-items:stretch;gap:22px;padding:24px}
  .director-photo{order:0;flex:none;height:280px;min-height:0}
  .director>div:not(.director-photo){flex:none}
  .director h2{font-size:23px}
  .director .copy{font-size:17px}

  .place{--img-h:340px;padding-bottom:24px}
  .band-intro,.band-dark,.class,.place{background:rgba(28,23,19,.92)}
  .place-hero{-webkit-mask-image:none;mask-image:none}
  .place-hero{object-position:75% 50%}
  .place-body{padding:24px 24px 0;gap:56px}
  .place-row{gap:24px}
  .place-text,.yard-pics,.front-img{flex-basis:auto}
  .place h2{font-size:21px}
  .place p,.place .info p{font-size:15px}
  .yard-pics{gap:10px}
  .yard-pics img{height:180px}
  .front-img{height:300px}
  .visit-row .front-img{order:-1}
  .btns{flex-direction:column;gap:10px}
  .btn{min-height:52px}
  .foot{margin:24px 24px 0;padding:20px 0 0;flex-direction:column;align-items:flex-start;gap:4px}
  /* 세로 여백 1.5배 + 짧은 그라데이션 경계 */
  .band-intro{background:linear-gradient(to bottom,rgba(28,23,19,0.92) 0,rgba(28,23,19,0.92) 100px,rgba(28,23,19,0.92) 200px,rgba(28,23,19,0.92) 100%)}
  .place{background:rgba(243,238,228,.88);padding-bottom:36px}
  .place-hero{-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 80%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0,#000 80%,transparent 100%)}
  .about{padding:140px 24px 36px}
  .name{padding:0 24px 36px}
  .director{padding:36px 24px}
  .class{padding:36px 24px}
  .place-body{padding:36px 24px 0}
  .foot{margin:36px 24px 0}
  .divider{width:56px;margin:0 24px}
  .class .divider{margin:0}
  .band-dark>.divider{margin:36px 24px 0}
  .welcome{padding-top:36px;padding-bottom:36px}
  .class{padding-top:36px;padding-bottom:36px}
  .director{padding-top:36px}
  /* 모바일 정리: 여는 인사말 · 링크 통일 · 카드 간격 */
  .about{padding:100px 24px 72px;text-align:center}
  .about+.divider{margin:0 auto}
  .welcome{padding-top:72px}
  .more,.name .more,.director .more,.card .more,.foot .more{align-self:flex-start;flex-direction:row-reverse;gap:6px;margin-top:0;padding:6px 0;font-size:13px;line-height:1.4}
  .more span{padding-bottom:2px}
  .more svg{width:14px;height:14px}
  .card .more{margin-top:10px}
  .cards{gap:24px}
  .card-body{padding:24px}
  .band-dark>.divider{margin:0 24px}
  /* 모바일: 실선 위아래 72px 통일, 사진 먼저, 화살표 앞 */
  .intro-line{display:block;margin:0 auto}
  .band-intro{padding-top:72px}
  .about{padding-top:72px}
  .welcome{padding-top:72px;padding-bottom:72px}
  .welcome>img{order:-1}
  .class{padding-top:0;padding-bottom:72px}
  .class .divider{margin-bottom:24px}
  .director{padding-top:72px}
  .more,.name .more,.director .more,.card .more,.foot .more{flex-direction:row}
  .class .divider{margin:0 auto 24px}
  .band-dark>.divider{margin:0 auto}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ───────── 하위 페이지 공통 ───────── */
.page-hero{position:relative;z-index:1;height:62vh;min-height:420px;max-height:640px;
  background:linear-gradient(to bottom,rgba(28,23,19,0.0) calc(100% - 340px),rgba(28,23,19,0.096) calc(100% - 272px),rgba(28,23,19,0.324) calc(100% - 204px),rgba(28,23,19,0.596) calc(100% - 136px),rgba(28,23,19,0.824) calc(100% - 68px),rgba(28,23,19,0.92) 100%)}
.page-hero .inner{position:absolute;left:var(--pad);right:var(--pad);bottom:64px;display:flex;flex-direction:column;gap:10px}
.page-hero .eyebrow{font-size:15px;letter-spacing:.2em;color:var(--gold)}
.page-hero h1{font-family:var(--serif);font-weight:500;font-size:40px;line-height:1.3;color:var(--ink)}
.pg{padding:100px var(--pad)}
.pg .wrap{display:flex;flex-direction:column;gap:22px}
.pg-center{max-width:680px;margin:0 auto;text-align:center;align-items:center}
.pg .eyebrow{font-size:15px;color:var(--gold)}
.pg h2{font-family:var(--serif);font-weight:500;font-size:30px;line-height:1.5;color:var(--ink)}
.pg .lead{font-family:var(--serif);font-weight:300;font-size:28px;line-height:1.75;color:var(--ink)}
.pg p.body{font-size:16px;color:var(--text)}
.pg p.note{font-size:14px;color:var(--muted)}
.pg-intro{padding-top:140px}
.pg-intro .body{max-width:600px}
/* 논어 원문 */
.classic{margin:8px 0 4px;padding:6px 0 6px 22px;border-left:1px solid rgba(194,164,106,.6);display:flex;flex-direction:column;gap:10px}
.classic .han{font-family:var(--serif);font-weight:400;font-size:20px;letter-spacing:.08em;line-height:1.8;color:var(--ink)}
.classic .ko{font-size:15px;color:var(--text)}
.classic cite{font-style:normal;font-size:13px;color:var(--muted)}
.pg-name .wrap{max-width:760px}
/* 현판 */
.sign-img{width:100%;max-width:1000px;margin:0 auto;height:auto;aspect-ratio:1400/640;object-fit:cover;object-position:50% 80%}
.pg-sign .wrap{max-width:1000px}
.pg-sign .text{max-width:640px;margin:16px auto 0;text-align:center;display:flex;flex-direction:column;gap:18px;align-items:center}
.credits{margin:6px 0 0;display:grid;grid-template-columns:auto auto;gap:6px 18px;font-size:15px;color:var(--text);text-align:left}
.credits dt{color:var(--gold)}
.credits dd{margin:0}
/* 마무리 */
.pg-end .wrap{align-items:center;text-align:center}
.pg-end .btns{justify-content:center}
.pg-foot{position:relative;z-index:1;background:rgba(28,23,19,.92);padding:0 var(--pad) 40px}
.pg-foot .foot{margin-top:0;border-top-color:var(--line);color:var(--faint)}
.pg-end .btn.ghost{border-color:#5A5046;color:var(--ink-2)}
.pg-end .btn.ghost:hover{border-color:var(--gold)}

@media (max-width:760px){
  .page-hero{height:52vh;min-height:360px}
  .page-hero .inner{left:24px;right:24px;bottom:48px;gap:8px}
  .page-hero .eyebrow{font-size:12px;letter-spacing:.12em}
  .page-hero h1{font-size:28px}
  .pg{padding:72px 24px}
  .pg-intro{padding-top:28px}
  .band-intro>.divider{margin:0 auto}
  .pg-center{text-align:center}
  .pg h2{font-size:22px}
  .pg .lead{font-size:20px}
  .pg .lead br{display:none}
  .sign-img{aspect-ratio:4/3;object-position:50% 70%}
  .pg p.body{font-size:15px}
  .pg p.note{font-size:13px}
  .classic{padding-left:16px}
  .classic .han{font-size:17px;letter-spacing:.04em}
  .classic .ko{font-size:14px}
  .pg-sign .text{margin-top:8px}
  .credits{font-size:14px}
  .pg-end .btns{flex-direction:column;align-self:stretch}
  .pg-foot{padding:0 0 32px}
}

/* 호련재 곳곳 */
.pg-places{padding-top:0}
.places{display:grid;grid-template-columns:5fr 7fr;grid-template-rows:1fr 1fr;gap:16px;height:640px}
.places figure{margin:0;position:relative;overflow:hidden;min-height:0}
.places img{width:100%;height:100%;object-fit:cover}
.places .pl-a{grid-row:1 / 3}
.places figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 16px 12px;font-size:13px;color:var(--ink-2);background:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}
@media (max-width:760px){
  .pg-places{padding-top:0}
  .places{grid-template-columns:1fr 1fr;grid-template-rows:auto;height:auto;gap:10px}
  .places .pl-a{grid-column:1 / 3;grid-row:auto;height:300px}
  .places .pl-b,.places .pl-c{height:170px}
  .places figcaption{padding:20px 10px 8px;font-size:12px}
}

/* 메뉴: 호련재 소개 하위 */
.nav-group{position:relative}
.nav-group .sub{position:absolute;top:100%;left:-18px;margin-top:10px;padding:12px 18px 14px;display:none;flex-direction:column;gap:8px;white-space:nowrap;background:rgba(28,23,19,.86);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(194,164,106,.25)}
.nav-group .sub::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.nav-group:hover .sub,.nav-group:focus-within .sub{display:flex}
.nav-group .sub a{font-size:15px}
.nav a[aria-current="page"]{color:var(--gold-hi)}
/* 공간 둘러보기 */
.room-head{max-width:640px;display:flex;flex-direction:column;gap:14px;margin-bottom:12px}
.gal{display:grid;gap:16px}
.gal figure{margin:0;position:relative;overflow:hidden;min-height:0}
.gal img{width:100%;height:100%;object-fit:cover}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 16px 12px;font-size:13px;color:var(--ink-2);background:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}
.gal-a{grid-template-columns:1fr 1fr 1fr;grid-template-rows:420px 300px}
.gal-a .g-wide{grid-column:1 / 3;grid-row:1}
.gal-a .g-tall{grid-column:3;grid-row:1 / 3}
.gal-a figure:nth-child(3){grid-column:1;grid-row:2}
.gal-a figure:nth-child(4){grid-column:2;grid-row:2}
.gal-b{grid-template-columns:2fr 1fr;grid-template-rows:440px}
.gal-c{grid-template-columns:1fr;grid-template-rows:520px}
.gal-c img{object-position:50% 40%}
@media (max-width:760px){
  .nav-group .sub{position:static;display:flex;margin:0;padding:0 0 6px 14px;gap:0;background:none;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}
  .nav-group .sub::before{display:none}
  .nav .nav-group .sub a{padding:8px 0;font-size:15px;color:var(--muted)}
  .nav .nav-group .sub a[aria-current="page"]{color:var(--gold-hi)}
  .nav-group .nav-top{display:block}
  .gal{gap:10px}
  .gal-a,.gal-b{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .gal-a .g-wide,.gal-b .g-wide{grid-column:1 / 3;grid-row:auto;height:240px}
  .gal-a .g-tall{grid-column:1;grid-row:auto;height:240px}
  .gal-a figure:nth-child(3){grid-column:2;grid-row:auto;height:240px}
  .gal-a figure:nth-child(4){grid-column:1 / 3;grid-row:auto;height:200px}
  .gal-b figure:nth-child(2){grid-column:1 / 3;height:200px}
  .gal-c{grid-template-rows:240px}
  .gal figcaption{padding:20px 10px 8px;font-size:12px}
  .room-head{gap:10px;margin-bottom:8px}
}

/* 공간 둘러보기: 3열 · 대표 사진 배치 */
.gal-3{grid-template-columns:repeat(3,1fr)}
.gal-3 figure{aspect-ratio:3/4}
.gal-feat{grid-template-columns:2fr 1fr 1fr;grid-template-rows:280px 280px}
.gal-feat figure:first-child{grid-row:1 / 3}
.gal+.gal{margin-top:16px}
@media (max-width:760px){
  .gal-3{grid-template-columns:1fr 1fr}
  .gal-3 figure:first-child{grid-column:1 / 3;aspect-ratio:4/3}
  .gal-feat{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .gal-feat figure{height:170px}
  .gal-feat figure:first-child{grid-column:1 / 3;grid-row:auto;height:300px}
  .gal+.gal{margin-top:10px}
}
@media (max-width:760px){.gal-3:has(figure:nth-child(6)) figure:first-child{grid-column:auto;aspect-ratio:3/4}}

.gal-4{grid-template-columns:repeat(4,1fr)}
.gal-4 figure{aspect-ratio:4/3}
.gal-b figure:first-child img{object-position:50% 45%}
@media (max-width:760px){.gal-4{grid-template-columns:1fr 1fr}}
.gal-feat7{grid-template-columns:2fr 1fr 1fr 1fr}
@media (max-width:760px){.gal-feat7{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.gal-b figure:first-child{grid-column:1 / 3;height:240px}.gal-b figure:nth-child(2){grid-column:1 / 3;height:200px}}

.gal-b2{grid-template-columns:2fr 1fr 1fr;grid-template-rows:240px 240px}
.gal-b2 figure:nth-child(1){grid-column:1;grid-row:1 / 3}
.gal-b2 figure:nth-child(2){grid-column:2 / 4;grid-row:1}
.gal-learn{grid-template-columns:repeat(4,1fr);grid-template-rows:480px 220px}
.gal-learn figure:first-child{grid-column:1 / 5}
.gal-learn figure:first-child img{object-position:50% 40%}
@media (max-width:760px){
  .gal-b2,.gal-learn{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .gal-b2 figure,.gal-learn figure{height:170px}
  .gal-b2 figure:nth-child(1),.gal-learn figure:first-child{grid-column:1 / 3;grid-row:auto;height:240px}
  .gal-b2 figure:nth-child(2){grid-column:1 / 3;grid-row:auto;height:200px}
}
.gal-b2 figure:nth-child(2) img{object-position:50% 50%}
.gal-learn{grid-template-columns:repeat(3,1fr);grid-template-rows:480px 260px}
.gal-learn figure:first-child{grid-column:1 / 4}
@media (max-width:760px){.gal-learn{grid-template-columns:1fr 1fr;grid-template-rows:auto}.gal-learn figure:first-child{grid-column:1 / 3}.gal-learn figure:last-child{grid-column:1 / 3;height:200px}}
.gal-learn figure:first-child img{object-position:50% 35%}
.gal-learn figure:nth-child(2) img{object-position:50% 40%}
.gal-b2{grid-template-columns:1fr 1fr;grid-template-rows:auto}
.gal-b2 figure,.gal-b2 figure:nth-child(1),.gal-b2 figure:nth-child(2){grid-column:auto;grid-row:auto;aspect-ratio:4/3;height:auto}
.gal-b2 figure:nth-child(4) img{object-position:50% 45%}
@media (max-width:760px){.gal-b2 figure,.gal-b2 figure:nth-child(1),.gal-b2 figure:nth-child(2){grid-column:auto;height:auto}}
.gal-feat{grid-template-rows:300px 300px}
.gal-feat figure:first-child img{object-position:50% 60%}
.gal-tea{grid-template-columns:2fr 1fr;grid-template-rows:300px 300px}
.gal-tea figure:first-child{grid-row:1 / 3}
.gal-tea figure:first-child img{object-position:50% 60%}
.gal-dagi{grid-template-columns:2fr 1fr 1fr;grid-template-rows:380px}
@media (max-width:760px){
  .gal-tea,.gal-dagi{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .gal-tea figure,.gal-dagi figure{height:170px}
  .gal-tea figure:first-child,.gal-dagi figure:first-child{grid-column:1 / 3;grid-row:auto;height:260px}
}
.gal-tea figure:first-child img{object-position:50% 50%}

/* 사진 크게 보기 */
.zoomable img{cursor:zoom-in;transition:transform .5s ease}
.zoomable:hover img{transform:scale(1.03)}
.lightbox{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:4vh 4vw;background:rgba(12,10,8,.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:zoom-out}
.lightbox.open{display:flex}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain;cursor:default}
.lb-close{position:absolute;top:16px;right:20px;width:44px;height:44px;border:0;background:none;color:var(--ink-2);font-size:32px;line-height:1;cursor:pointer}
.gal-tea figure:first-child img{object-position:50% 40%}
.gal-tea figure:first-child img{object-position:60% 30%}
.gal-tea figure:first-child img{object-position:50% 50%}

/* 소장 소개 */
.pg .wrap.profile{display:flex;flex-direction:row;flex-wrap:wrap;gap:64px;align-items:center}
.profile-img{flex:0 0 46%;min-width:0;height:560px;object-fit:cover;object-position:50% 30%}
.profile-text{flex:1 1 0;display:flex;flex-direction:column;gap:18px}
.pg-works .wrap{align-items:center;text-align:center}
.works{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:100%;max-width:820px;margin-top:12px}
.work{padding:32px 28px 24px;border:1px solid rgba(194,164,106,.45);background:rgba(18,14,11,.6);display:flex;flex-direction:column;align-items:center;gap:8px}
.work .kind{font-size:14px;color:var(--gold)}
.work h3{font-family:var(--serif);font-weight:500;font-size:21px;line-height:1.5;color:var(--ink)}
.gal-dir{grid-template-columns:repeat(3,1fr);grid-template-rows:340px}
.gal-dir figure:nth-child(1) img{object-position:50% 30%}
.gal-dir figure:nth-child(2) img{object-position:30% 40%}
@media (max-width:760px){
  .pg .wrap.profile{gap:24px;flex-direction:column;align-items:stretch}
  .profile-img{flex:none;height:360px}
  .profile-text{flex:none}
  .works{grid-template-columns:1fr;gap:16px}
  .work{padding:24px}
  .work h3{font-size:18px}
  .gal-dir{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .gal-dir figure{height:180px}
  .gal-dir figure:last-child{grid-column:1 / 3;height:220px}
}
.cv{margin:8px 0 0;padding:24px 0 0;border-top:1px solid rgba(194,164,106,.35);display:flex;flex-direction:column;gap:16px}
.cv div{display:grid;grid-template-columns:88px 1fr;gap:16px}
.cv dt{font-size:14px;color:var(--gold);line-height:1.9}
.cv dd{margin:0;font-size:15px;line-height:1.9;color:var(--text)}
.pg-essay{padding-top:60px;padding-bottom:60px}
.pg .wrap.essay{max-width:680px;gap:28px}
.essay p{font-size:16.5px;line-height:2.05;color:var(--text)}
.essay .eyebrow{text-align:center;margin-bottom:12px}
.essay .essay-quote{margin:28px 0;font-family:var(--serif);font-weight:300;font-size:25px;line-height:1.75;color:var(--ink);text-align:center}
.essay .sign{margin-top:8px;text-align:right;font-family:var(--serif);font-size:16px;color:var(--ink-2)}
.pg-room + .pg-essay, .pg-essay + .pg-room{padding-top:20px}
@media (max-width:760px){
  .cv div{grid-template-columns:1fr;gap:2px}
  .cv dd{font-size:14px}
  .pg-essay{padding-top:40px;padding-bottom:40px}
  .essay p{font-size:15px;line-height:2}
  .essay .essay-quote{font-size:20px;margin:16px 0}
}

/* 수업 안내 */
.pg-courses{padding-top:20px}
.courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.course{position:relative;padding:36px 28px 28px;border:1px solid rgba(194,164,106,.45);background:rgba(18,14,11,.96);display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;text-decoration:none;color:inherit;line-height:1.6;transition:border-color .2s ease}
.course.open:hover{border-color:var(--gold-hi)}
.course h3{font-family:var(--serif);font-weight:500;font-size:24px;color:var(--ink)}
.course .c-kind{font-size:14px;color:var(--gold)}
.course .c-desc{font-size:15px;color:var(--text);margin-top:4px}
.course .c-meta{font-size:15px;color:var(--ink-2);margin-top:10px}
.course .more{margin-top:auto}
.course.soon{border-color:rgba(194,164,106,.2);background:rgba(18,14,11,.6)}
.course.soon h3{color:var(--muted)}
.course.soon .c-kind,.course.soon .c-desc{color:var(--faint)}
.course .c-badge{margin-top:auto;padding:6px 16px;border:1px solid #5A5046;font-size:13px;letter-spacing:.1em;color:var(--muted)}
.facts{display:grid;grid-template-columns:repeat(4,1fr);width:100%;max-width:760px;margin:24px 0 0;border-top:1px solid rgba(194,164,106,.35);border-bottom:1px solid rgba(194,164,106,.35)}
.facts div{padding:20px 8px;display:flex;flex-direction:column;gap:4px}
.facts div+div{border-left:1px solid rgba(194,164,106,.2)}
.facts dt{font-size:13px;color:var(--gold)}
.facts dd{margin:0;font-family:var(--serif);font-size:19px;color:var(--ink)}
.theme-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px}
.theme-nav a{display:inline-flex;align-items:center;gap:10px;padding:10px 20px;border:1px solid #5A5046;color:var(--ink-2);text-decoration:none;font-size:15px}
.theme-nav a span{font-family:var(--serif);color:var(--accent)}
.theme-nav a:hover{border-color:var(--accent)}
.theme{scroll-margin-top:60px}
.theme-top{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.theme-top img{width:100%;height:440px;object-fit:cover;border-bottom:4px solid var(--accent)}
.theme-text{display:flex;flex-direction:column;gap:10px}
.theme-num{font-family:var(--serif);font-size:15px;letter-spacing:.1em;color:var(--accent);filter:brightness(1.35)}
.theme-text h3{font-family:var(--serif);font-weight:500;font-size:32px;line-height:1.4;color:var(--ink)}
.theme-sub{font-family:var(--serif);font-weight:300;font-size:19px;color:var(--ink-2)}
.theme-goal{margin-top:14px;padding-top:20px;border-top:1px solid rgba(194,164,106,.35)}
.theme-goal .label{font-size:14px;color:var(--gold);margin-bottom:6px}
.theme-goal p:not(.label){font-size:15.5px;line-height:1.95;color:var(--text)}
.theme-for{font-size:14px;color:var(--muted)}
.theme-for::before{content:"";display:inline-block;width:14px;height:1px;background:var(--gold);vertical-align:middle;margin-right:8px}
.tl-wrap{margin-top:56px;max-width:860px;width:100%;align-self:center}
.tl-title{font-family:var(--serif);font-size:20px;color:var(--ink);padding-bottom:16px;border-bottom:1px solid rgba(194,164,106,.35)}
.tl-title span{font-family:var(--sans);font-size:14px;color:var(--muted);margin-left:10px}
.tl{list-style:none;margin:0;padding:0}
.tl > li{display:grid;grid-template-columns:52px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid rgba(194,164,106,.15)}
.tl .mark{width:52px;height:52px;flex:none;font-size:19px}
.tl .mark:not(.tea){color:var(--muted)}
.tl-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:6px}
.tl-head h4{font-family:var(--serif);font-weight:500;font-size:19px;line-height:1.5;color:var(--ink)}
.tl-head h4 em{font-style:normal;font-weight:400;font-size:15px;color:var(--ink-2)}
.tl-n{color:var(--gold)}
.tl-min{flex:none;font-size:14px;color:var(--gold)}
.tl-body p{font-size:15px;line-height:1.9;color:var(--text)}
.tl-sub{list-style:none;margin:12px 0 0;padding:0 0 0 14px;border-left:1px solid rgba(194,164,106,.35);display:flex;flex-direction:column;gap:8px}
.tl-sub li{font-size:14.5px;line-height:1.8;color:var(--text)}
.tl-sub strong{display:block;font-weight:500;color:var(--ink-2)}
@media (max-width:760px){
  .courses{grid-template-columns:1fr;gap:14px}
  .course{padding:26px 20px 22px}
  .course h3{font-size:21px}
  .course.soon{flex-direction:row;flex-wrap:wrap;justify-content:space-between;text-align:left;padding:18px 20px}
  .course.soon .c-kind{order:2;width:100%;display:none}
  .course.soon .c-desc{display:none}
  .course.soon h3{font-size:18px}
  .course .c-badge{margin:0}
  .facts{grid-template-columns:1fr 1fr}
  .facts div:nth-child(3){border-left:0}
  .facts div:nth-child(n+3){border-top:1px solid rgba(194,164,106,.2)}
  .facts dd{font-size:17px}
  .theme-nav{flex-direction:column;align-items:stretch;gap:8px;width:100%}
  .theme-nav a{justify-content:flex-start}
  .theme-top{grid-template-columns:1fr;gap:24px}
  .theme-top img{height:260px}
  .theme-text h3{font-size:25px}
  .theme-sub{font-size:17px}
  .theme-goal p:not(.label){font-size:14.5px}
  .tl-wrap{margin-top:40px}
  .tl > li{grid-template-columns:40px 1fr;gap:14px;padding:22px 0}
  .tl .mark{width:40px;height:40px;font-size:16px}
  .tl-head{flex-direction:column;gap:0}
  .tl-head h4{font-size:17px}
  .tl-body p{font-size:14.5px}
}

/* 수업 안내: 주제 카드 · 세부 페이지 */
.pg-themes{padding-top:40px}
.tcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tcard{background:rgba(18,14,11,.96);border:1px solid rgba(194,164,106,.45);display:flex;flex-direction:column}
.tcard-img{display:block;border-bottom:4px solid var(--accent)}
.tcard-img img{display:block;width:100%;height:220px;object-fit:cover}
.tcard-body{flex:1;padding:24px 26px 24px;display:flex;flex-direction:column;gap:6px;line-height:1.6}
.tcard h3{font-family:var(--serif);font-weight:500;font-size:21px;line-height:1.45}
.tcard h3 a{color:var(--ink);text-decoration:none}
.tcard h3 a:hover{color:var(--gold-hi)}
.tcard-sub{font-size:15px;color:var(--text)}
.tcard .theme-for{margin-top:2px}
.tcard-act{margin-top:auto;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.tcard-act .btn{min-height:42px;padding:8px 22px;font-size:14px}
.book{margin-top:40px;max-width:860px;width:100%;align-self:center;padding:32px;border:1px solid rgba(194,164,106,.45);background:rgba(18,14,11,.6);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.book-meta{display:flex;gap:0;font-family:var(--serif);font-size:18px;color:var(--ink)}
.book-meta span+span::before{content:"·";margin:0 12px;color:var(--gold)}
.book .btns{margin-top:0}
.book .btn.ghost{border-color:#5A5046;color:var(--ink-2)}
.book .btn.ghost:hover{border-color:var(--gold)}
.page-hero-sm{height:48vh;min-height:360px;max-height:480px}
.page-hero .eyebrow a{color:inherit;text-decoration:none}
.page-hero .eyebrow a:hover{color:var(--gold-hi)}
.pg-others .wrap{align-items:center;text-align:center}
.others{display:grid;grid-template-columns:1fr 1fr;gap:20px;width:100%;max-width:860px;margin-bottom:8px}
.other{padding:26px 24px;border:1px solid rgba(194,164,106,.3);border-left:4px solid var(--accent);display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;text-decoration:none;line-height:1.55;transition:border-color .2s}
.other:hover{border-color:var(--gold)}
.other strong{font-family:var(--serif);font-weight:500;font-size:19px;color:var(--ink)}
.other small{font-size:14px;color:var(--muted)}
@media (max-width:760px){
  .tcards{grid-template-columns:1fr;gap:20px}
  .tcard-img img{height:200px}
  .book{padding:22px 20px;flex-direction:column;align-items:stretch;gap:16px}
  .book-meta{justify-content:center;font-size:16px}
  .book .btns{flex-direction:column}
  .others{grid-template-columns:1fr;gap:12px}
  .page-hero-sm{height:40vh;min-height:300px}
}
.theme-detail .theme-num,.theme-detail .theme-text h3{display:none}
.theme-detail .theme-sub{font-size:22px;color:var(--ink)}
@media (max-width:760px){.theme-detail .theme-sub{font-size:19px}}

/* 오시는 길 */
.pg-visit{padding-top:20px}
.pg .wrap.visit{display:grid;grid-template-columns:7fr 5fr;gap:56px;align-items:center}
.map{position:relative;height:460px;background:#2A231C url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M0 39.5h40M39.5 0v40' stroke='%23C2A46A' stroke-opacity='.08'/%3E%3C/svg%3E");border:1px solid rgba(194,164,106,.35)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.35) sepia(.15)}
.visit-info{display:flex;flex-direction:column;gap:10px}
.visit-info h2{font-family:var(--serif);font-weight:500;font-size:30px;line-height:1.5;color:var(--ink)}
.visit-name{font-size:15px;color:var(--muted)}
.map-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.map-links a{padding:9px 16px;border:1px solid #5A5046;color:var(--ink-2);text-decoration:none;font-size:14px}
.map-links a:hover{border-color:var(--gold);color:var(--gold-hi)}
.visit-dl{margin:24px 0 0;padding-top:20px;border-top:1px solid rgba(194,164,106,.35);display:flex;flex-direction:column;gap:10px}
.visit-dl div{display:grid;grid-template-columns:88px 1fr;gap:16px}
.visit-dl dt{font-size:14px;color:var(--gold);line-height:1.9}
.visit-dl dd{margin:0;font-size:15px;line-height:1.9}
.visit-dl a{color:var(--text);text-decoration:none;border-bottom:1px solid #5A5046}
.visit-dl a:hover{color:var(--gold-hi);border-color:var(--gold)}
.gal-visit{grid-template-columns:1fr 1fr;grid-template-rows:400px}
.gal-visit figure:nth-child(2) img{object-position:50% 70%}
@media (max-width:760px){
  .pg .wrap.visit{grid-template-columns:1fr;gap:28px}
  .map{height:300px}
  .visit-info h2{font-size:23px}
  .map-links a{flex:1 1 auto;text-align:center;padding:10px 8px;font-size:13px}
  .visit-dl div{grid-template-columns:72px 1fr;gap:10px}
  .gal-visit{grid-template-columns:1fr;grid-template-rows:none}
  .gal-visit figure{height:240px}
}

/* 세부 메뉴 */
section[id],dl[id]{scroll-margin-top:90px}
.nav-top[data-here]{color:var(--gold-hi)}
.nav-group .sub .soon{font-size:14px;color:var(--faint);cursor:default}
@media (max-width:760px){
  .nav .nav-group .sub .soon{padding:8px 0;font-size:14px}
}
@media (max-width:760px){
  .nav.open{max-height:100vh;max-height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .nav .nav-group .nav-top{padding:10px 0;font-size:16px}
  .nav .nav-group .sub a,.nav .nav-group .sub .soon{padding:6px 0}
}
/* 모바일: 큰 메뉴를 누르면 세부 메뉴가 펼쳐짐 */
@media (max-width:760px){
  .nav .nav-group .nav-top{display:flex;align-items:center;justify-content:space-between;padding:14px 0;font-size:17px}
  .nav .nav-group .nav-top::after{content:"";width:8px;height:8px;margin-right:6px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .2s ease;opacity:.7}
  .nav .nav-group.open .nav-top::after{transform:rotate(-135deg) translateY(-3px)}
  .nav .nav-group .sub{display:none}
  .nav .nav-group.open .sub{display:flex;padding-bottom:10px}
  .nav .nav-group + .nav-group{border-top:1px solid rgba(194,164,106,.15)}
}
/* 가운데 정렬된 박스 안의 링크는 모바일에서도 가운데 */
@media (max-width:760px){
  .work .more,.course .more,.pg-others .more{align-self:center}
}
/* 수업 주제 카드: '자세히 보기'는 데스크톱·모바일 모두 오른쪽 */
.tcard-act{justify-content:flex-end}
.card .more{align-self:flex-end}
@media (max-width:760px){
  .card .more{align-self:flex-end}
  .tcard-act{justify-content:flex-end}
}
/* 수업 주제 카드: 카드 전체가 링크 */
.tcard{position:relative;transition:border-color .2s ease,background-color .2s ease}
.tcard .more::after{content:"";position:absolute;inset:0}
.tcard:hover{border-color:var(--gold-hi);background:rgba(28,22,17,.97)}
.tcard:hover h3{color:var(--gold-hi)}
.tcard:focus-within{outline:2px solid var(--gold-hi);outline-offset:3px}
.tcard .more:focus-visible{outline:none}
.tcard-img img{transition:opacity .2s ease}
.tcard:hover .tcard-img img{opacity:.92}
.card:hover h3{color:var(--gold-hi)}
/* 저서·연재 카드: 카드 전체가 링크 */
.work{position:relative;transition:border-color .2s ease,background-color .2s ease}
.work .more::after{content:"";position:absolute;inset:0}
.work:hover{border-color:var(--gold-hi);background:rgba(28,22,17,.85)}
.work:hover h3{color:var(--gold-hi)}
.work:focus-within{outline:2px solid var(--gold-hi);outline-offset:3px}
.work .more:focus-visible{outline:none}
.course.open:hover h3,.other:hover strong{color:var(--gold-hi)}

.course.open:hover{border-color:rgba(194,164,106,.45)}
.course.open:hover h3{color:var(--ink)}

/* 수업 주제 카드 아래 여백 줄이기 */
.tcard-body{padding:24px 26px 12px}
.tcard-act{padding-top:4px}
.tcard .more,.card .more{padding:6px 0}
.card-body{padding-bottom:12px}
@media (max-width:760px){
  .tcard-body{padding:22px 22px 10px}
  .card .more{padding:6px 0;margin-top:2px}
  .card-body{padding-bottom:10px}
}
/* 메뉴: 원데이 주제는 들여쓰기 */
.nav-group .sub a.indent{padding-left:14px;font-size:14px;position:relative}
.nav-group .sub a.indent::before{content:"";position:absolute;left:2px;top:50%;width:6px;height:1px;background:currentColor;opacity:.5}
@media (max-width:760px){
  .nav .nav-group .sub a.indent{padding-left:16px;font-size:14px}
}
/* 네이버 지도 */
.map-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-decoration:none;color:var(--ink-2);text-align:center}
.map-fallback svg{color:var(--gold);margin-bottom:6px}
.map-fallback strong{font-family:var(--serif);font-weight:500;font-size:20px;color:var(--ink)}
.map-fallback span{font-size:14px;color:var(--muted)}
.map-fallback em{margin-top:14px;font-style:normal;font-size:14px;color:var(--gold);padding-bottom:3px;border-bottom:1px solid var(--gold)}
.map-fallback:hover em{color:var(--gold-hi);border-color:var(--gold-hi)}
.map.loaded .map-fallback{display:none}
/* 카드: '자세히 보기' 밑줄에서 아래 테두리까지 = 오른쪽 여백 */
.tcard .more,.card .more{padding:6px 0 0}
.tcard-body{padding-bottom:26px}
.card-body{padding-bottom:28px}
@media (max-width:760px){
  .tcard .more,.card .more{padding:6px 0 0}
  .tcard-body{padding-bottom:22px}
  .card-body{padding-bottom:24px}
}
/* 카카오톡 등 앱 안 브라우저 대응 */
html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}
html,body{overscroll-behavior-y:none}
.hero-bg{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:transform;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
/* 글자가 커져도 화면 밖으로 나가지 않게 */
body{overflow-x:clip}
@supports not (overflow-x:clip){body{overflow-x:hidden}}
.hero-sub,.hero-copy{white-space:normal}
.hero-mark{max-width:100%}
@media (max-width:760px){
  .hero-copy{white-space:normal;word-break:keep-all}
  .hero-sub{white-space:normal;letter-spacing:.12em}
}
p,h1,h2,h3,h4,li,dd,dt,a,span,strong,small{overflow-wrap:break-word}

/* 메인: 사진 한 화면 */
body.home .hero{height:100vh;height:100svh;max-height:none}
/* 메뉴 버튼: 세 줄, 잘 보이게 */
.menu-btn{color:var(--ink)}
@media (max-width:760px){.menu-btn{width:48px;height:48px;margin-right:-12px}}
/* 메인: 사진은 원본에 가깝게 화사하게, 로고부터 아래로 먹빛 갈색 그라데이션 */
body.home .hero-bg{filter:brightness(.95)}
body.home .hero{background:linear-gradient(to bottom,rgba(16,12,9,0) calc(100% - 290px),rgba(16,12,9,.22) calc(100% - 235px),rgba(16,12,9,.5) calc(100% - 170px),rgba(16,12,9,.74) calc(100% - 95px),rgba(16,12,9,.86) 100%)}
@media (max-width:760px){
  body.home .hero{background:linear-gradient(to bottom,rgba(16,12,9,0) calc(100% - 200px),rgba(16,12,9,.25) calc(100% - 160px),rgba(16,12,9,.52) calc(100% - 115px),rgba(16,12,9,.75) calc(100% - 60px),rgba(16,12,9,.86) 100%)}
}
/* 호련재 이야기: 소개 세 갈래 */
.lead-pre{font-size:15px;letter-spacing:.08em;color:var(--gold);margin-bottom:-6px}
.pg-pillars{}
.pillars{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px !important}
.pillar{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.pillar .mark{width:52px;height:52px;flex:none;font-size:20px}
.pillar h3{font-family:var(--serif);font-weight:500;font-size:21px;line-height:1.45;color:var(--ink);padding-bottom:14px;border-bottom:1px solid rgba(194,164,106,.35);align-self:stretch}
.pillar p{font-size:15px;line-height:1.95;color:var(--text)}
@media (max-width:760px){
  .lead-pre{font-size:14px}
  .pillars{grid-template-columns:1fr;gap:44px !important}
  .pillar .mark{width:44px;height:44px;font-size:17px}
  .pillar h3{font-size:19px}
  .pillar p{font-size:14.5px}
}
/* 페이지 제목과 본문 사이 간격 줄이기 */
.page-hero .inner{bottom:52px}
.pg-intro{padding-top:100px}
.pg.theme-detail{padding-top:72px}
@media (max-width:760px){
  .page-hero .inner{bottom:34px}
  .pg-intro{padding-top:24px}
  .pg.theme-detail{padding-top:40px}
}
/* 데스크톱: 내용 사이 금색 구분선 없애기 */
@media (min-width:761px){
  .divider{display:none}
  .divider + .pg{padding-top:20px}
}
/* 페이지 제목과 본문 사이 간격 더 줄이기 */
.page-hero .inner{bottom:40px}
.pg-intro{padding-top:64px}
.pg.theme-detail{padding-top:48px}
@media (max-width:760px){
  .page-hero .inner{bottom:26px}
  .pg-intro{padding-top:16px}
  .pg.theme-detail{padding-top:28px}
}
/* 메뉴: 오시는 길은 세부 없이 바로 이동 */
.nav-single[aria-current="page"]{color:var(--gold-hi)}
@media (max-width:760px){
  .nav .nav-single{display:block;padding:14px 0;font-size:17px;border-top:1px solid rgba(194,164,106,.15)}
}
/* 오시는 길: 지도 없이 한 단 */
.pg .wrap.visit{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:680px;gap:0}
.visit-info{align-items:center;width:100%}
.map-links{justify-content:center}
.visit-dl{width:100%;max-width:440px;text-align:left}
@media (max-width:760px){
  .pg .wrap.visit{gap:0}
}
.visit-dl div{grid-template-columns:auto auto;justify-content:center}

/* 저서·연재 카드: 박스 자체가 링크 */
a.work{color:inherit;text-decoration:none;cursor:pointer}
a.work:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}
.work{padding:30px 28px}
@media (max-width:760px){.work{padding:24px}}
/* 현판 사진·소장 프로필 사진 크기 줄이기 */
.sign-img{max-width:760px;display:block}
.pg-sign .wrap{max-width:760px}
.profile-img{flex:0 0 38%;height:460px}
@media (max-width:760px){
  .sign-img{aspect-ratio:3/2;max-width:100%}
  .profile-img{flex:none;height:300px}
}

/* 수업 안내: 원데이 수업 흐름 */
.oneday-flow{width:100%;max-width:900px;margin-top:40px}
@media (max-width:760px){.oneday-flow{margin-top:28px;max-width:320px}}
.oneday-flow{max-width:1060px}
.oneday-flow small{white-space:nowrap}
@media (max-width:760px){.oneday-flow{max-width:320px}}

@media (max-width:760px){.oneday-flow{max-width:none;width:100%}}
.pg-oneday .wrap.pg-center{max-width:1100px}
.pg-oneday .body{max-width:680px}
.oneday-flow strong{white-space:nowrap}
