:root{
  --ink:#2B2520;
  --indigo:#1F2A3D;
  --hanji:#F2EBDD;
  --hanji-light:#FAF6EE;
  --dancheong-red:#9B3A2E;
  --gold:#B8924A;
  --line: rgba(43,37,32,0.12);

  /* Pastel accent palette (warm pastel modern) */
  --peach:#FF6F61;      --peach-soft:#FFE7DE;
  --sun:#F5A623;         --sun-soft:#FFF1D6;
  --sage:#2E9E6C;         --sage-soft:#DFF4E7;
  --sky:#2E97B8;          --sky-soft:#DEF3F8;
  --lilac:#8867D8;        --lilac-soft:#ECE6FA;

  /* Deep variants for solid text-on-fill contexts (WCAG AA contrast w/ white text) */
  --sage-deep:#1E7A52;
  --sky-deep:#1D7691;
  --lilac-deep:#7452C9;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Noto Sans KR', sans-serif;
  background:var(--hanji-light);
  color:var(--ink);
  line-height:1.75;
  letter-spacing:-0.015em;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:'Song Myung', 'Noto Serif KR', serif;
  font-weight:500;
}
.brand-h1{
  margin:0; padding:0;
  font-size:inherit; font-weight:inherit;
  line-height:inherit;
}

a{color:inherit; text-decoration:none;}

/* ===== Header / Seal ===== */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:100;
}
.topbar{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 24px;
  background:linear-gradient(180deg, rgba(255,255,255,0.97) 0%, rgba(250,246,238,0.93) 100%);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
  box-shadow:0 2px 12px rgba(43,37,32,0.06);
}
.brand{
  display:flex; align-items:center; gap:10px;
  font-family:'Noto Sans KR', sans-serif;
  font-weight:700; font-size:17px;
  color:var(--indigo);
  letter-spacing:0.02em;
}
.seal{
  width:30px; height:30px;
  flex-shrink:0;
  border-radius:50%;
  overflow:hidden;
  box-shadow:0 0 0 2px rgba(184,146,74,0.3), 0 1px 4px rgba(43,37,32,0.12);
}
.seal img{width:100%; height:100%; object-fit:contain;}

/* ===== Top Menu (Quick Guide / 공지 / 소식 드롭다운) ===== */
.top-menu{
  background:var(--hanji-light);
  border-bottom:1px solid rgba(184,146,74,0.28);
  box-shadow:0 2px 10px rgba(43,37,32,0.05);
}
.top-menu-inner{
  max-width:1100px;
  margin:0 auto;
  display:flex;
  align-items:stretch;
  justify-content:center;
}
.tm-group{ position:relative; }
.tm-trigger{
  display:flex; align-items:center; gap:6px;
  height:100%;
  background:none; border:none; cursor:pointer;
  padding:13px 20px;
  font-family:'Noto Sans KR', sans-serif;
  font-size:13.5px; font-weight:700;
  color:var(--indigo); letter-spacing:0.01em;
  transition:color .2s, background .2s;
}
.tm-trigger:hover{ color:var(--dancheong-red); background:rgba(184,146,74,0.08); }
.tm-chevron{ width:11px; height:11px; flex-shrink:0; transition:transform .25s ease; }
.tm-group:hover .tm-chevron,
.tm-group.is-open .tm-chevron{ transform:rotate(180deg); }
.tm-group:hover .tm-trigger,
.tm-group.is-open .tm-trigger{ color:var(--dancheong-red); }

.tm-dropdown{
  position:absolute; top:100%; left:50%; transform:translate(-50%,8px);
  min-width:180px;
  background:var(--hanji-light);
  border:1px solid rgba(184,146,74,0.28);
  border-radius:10px;
  box-shadow:0 14px 30px rgba(43,37,32,0.16);
  padding:8px 0;
  opacity:0; visibility:hidden;
  transition:opacity .2s ease, transform .2s ease, visibility .2s;
  z-index:60;
}
.tm-group:hover .tm-dropdown,
.tm-group:focus-within .tm-dropdown,
.tm-group.is-open .tm-dropdown{
  opacity:1; visibility:visible; transform:translate(-50%,0);
}
.tm-dropdown a{
  display:block; padding:9px 22px;
  font-size:13px; color:var(--ink); opacity:0.78;
  transition:background .18s, color .18s, opacity .18s;
}
.tm-dropdown a:hover{
  background:rgba(184,146,74,0.14); color:var(--indigo); opacity:1;
}
@media (max-width:640px){
  .tm-trigger{ padding:12px 10px; font-size:12px; gap:4px; }
  .tm-dropdown{ min-width:150px; }
}
@media (max-width:360px){
  .tm-trigger{ padding:11px 4px; font-size:10.5px; gap:3px; }
  .tm-chevron{ width:9px; height:9px; }
}

/* ===== Hero Slideshow ===== */
.hero{
  position:relative;
  margin-top:0;
  width:100%;
  height:100vh;
  overflow:hidden;
  background:var(--indigo);
}
.slides{
  display:flex;
  height:100%;
  width:300%; /* 3 slides */
  animation: slide 15s linear infinite;
}
.slide{
  width:calc(100% / 3);
  height:100%;
  background-size:cover;
  background-position:center;
  position:relative;
  animation: kenburns 15s infinite alternate ease-in-out;
}
.slide::after{
  content:'';
  position:absolute; inset:0;
  z-index:1;
  background:
    radial-gradient(circle at center, rgba(31,42,61,0.2) 0%, rgba(31,42,61,0.7) 100%),
    linear-gradient(to bottom, rgba(31,42,61,0.3) 0%, rgba(15,20,30,0.85) 100%);
}
.slide-text{
  position:absolute; inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:80px 32px 100px;
  text-align:center;
  gap:16px;
}
.slide-eyebrow{
  font-size:12px;
  letter-spacing:0.3em;
  color:var(--gold);
  font-weight:700;
  text-transform:uppercase;
  text-shadow:0 2px 8px rgba(0,0,0,0.5);
}
.slide-main{
  font-family:'Song Myung', serif;
  font-size:clamp(32px, 6vw, 68px);
  font-weight:500;
  color:var(--hanji-light);
  letter-spacing:0.04em;
  line-height:1.35;
  text-shadow:0 4px 24px rgba(0,0,0,0.85), 0 2px 6px rgba(0,0,0,0.6);
  word-break:keep-all;
  display:block;
}
.slide-accent{
  color:var(--gold);
  position:relative;
  display:inline-block;
  background:linear-gradient(135deg, #ffffff 40%, var(--gold) 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}
.slide-sub{
  font-size:clamp(14px, 1.8vw, 18px);
  color:rgba(250,246,238,0.92);
  font-weight:300;
  letter-spacing:0.08em;
  text-shadow:0 2px 10px rgba(0,0,0,0.7);
  margin-top:6px;
  word-break:keep-all;
}
.hero:hover .slides,
.hero:hover .slide {
  animation-play-state: paused;
}
@media(max-width:640px){
  .slide-main{ font-size:clamp(22px,7vw,34px); }
  .slide-text{ padding:60px 20px 80px; gap:10px; }
  .slide-eyebrow{ font-size:10px; letter-spacing:0.2em; }
  .slide-sub{ font-size:13px; letter-spacing:0.04em; }
}
@keyframes slide{
  /* 3 slides: 각 4.3s 정지(28.6%) + 0.7s 전환(4.7%) = 5.0s(33.3%) */
  0%     { transform:translateX(0); }
  28.6%  { transform:translateX(0);        animation-timing-function:cubic-bezier(0.65,0,0.35,1); }
  33.3%  { transform:translateX(-33.33%); }
  61.9%  { transform:translateX(-33.33%);  animation-timing-function:cubic-bezier(0.65,0,0.35,1); }
  66.6%  { transform:translateX(-66.67%); }
  95.2%  { transform:translateX(-66.67%);  animation-timing-function:cubic-bezier(0.65,0,0.35,1); }
  100%   { transform:translateX(0); }
}
@keyframes kenburns {
  0%   { transform:scale(1); }
  100% { transform:scale(1.08); }
}
@media (prefers-reduced-motion: reduce){
  .slides{animation:none;}
  .slide{animation:none;}
  .hfp-card{ animation:none !important; }
}
@media (prefers-reduced-motion: reduce){
  .slides{animation:none;}
  .hfp-card{ animation:none !important; }
}

/* ===== Hero Floating Panels ===== */
.hero-floating-panels{
  position:absolute;
  right:6%;
  top:50%;
  transform:translateY(-50%);
  z-index:10;
  display:flex;
  flex-direction:column;
  gap:12px;
}
@media(max-width:1024px){
  .hero-floating-panels{ display:none; }
}
.hfp-card{
  background:rgba(255,255,255,0.94);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.6);
  border-left:5px solid var(--gold);
  border-radius:16px;
  box-shadow:0 16px 36px rgba(31,42,61,0.28);
  padding:16px 20px;
  color:var(--indigo);
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:170px;
  transition:transform .25s, box-shadow .25s;
}
.hfp-card:hover{ transform:translateY(-3px); box-shadow:0 20px 40px rgba(31,42,61,0.32); }
.hfp-card--1{ border-left-color:var(--peach); animation:hfpFadeIn .6s .1s ease both, hfpFloat 4.5s 1.5s ease-in-out infinite; }
.hfp-card--2{ border-left-color:var(--sage); animation:hfpFadeIn .6s .3s ease both, hfpFloat 5.0s 1.8s ease-in-out infinite; }
.hfp-card--3{ border-left-color:var(--lilac); animation:hfpFadeIn .6s .5s ease both, hfpFloat 4.2s 2.1s ease-in-out infinite; }
.hfp-card--1 .hfp-label{ color:var(--peach); }
.hfp-card--2 .hfp-label{ color:var(--sage); }
.hfp-card--3 .hfp-label{ color:var(--lilac); }
.hfp-label{
  font-size:10px;
  letter-spacing:0.16em;
  font-weight:700;
  text-transform:uppercase;
}
.hfp-value{
  font-size:17px;
  font-weight:700;
  color:var(--indigo);
  line-height:1.3;
  word-break:keep-all;
}
.hfp-desc{
  font-size:11px;
  color:var(--ink);
  opacity:0.6;
  letter-spacing:0.02em;
}
@keyframes hfpFadeIn{
  from{ opacity:0; transform:translateY(14px); }
  to{   opacity:1; transform:translateY(0); }
}
@keyframes hfpFloat{
  0%,100%{ transform:translateY(0); }
  50%{     transform:translateY(-5px); }
}

/* ===== Sections ===== */
section{
  max-width:760px;
  margin:0 auto;
  padding:64px 24px;
}
.section-label{
  display:inline-block;
  font-size:12px;
  letter-spacing:0.1em;
  color:var(--dancheong-red);
  border:1px solid var(--dancheong-red);
  border-radius:999px;
  padding:4px 14px;
  margin-bottom:18px;
  font-weight:500;
}
.section-title{
  font-size:clamp(23px, 3.6vw, 32px);
  font-weight:700;
  letter-spacing:-0.01em;
  color:var(--indigo);
  margin-bottom:28px;
}
.accent{ color:var(--dancheong-red); }

/* ===== Page band (colorful section background + blob shapes) ===== */
.page-band{
  position:relative;
  overflow:hidden;
}
.page-band::before,
.page-band::after{
  content:'';
  position:absolute;
  border-radius:50%;
  filter:blur(50px);
  z-index:0;
  pointer-events:none;
}
.page-band > section{ position:relative; z-index:1; }

.page-band--peach{ background:linear-gradient(180deg, var(--peach-soft) 0%, var(--hanji-light) 70%); }
.page-band--peach::before{ width:380px; height:380px; top:-140px; left:-110px; background:var(--peach); opacity:0.28; }
.page-band--peach::after{ width:280px; height:280px; bottom:-90px; right:-70px; background:var(--sun); opacity:0.3; }

.page-band--sage{ background:linear-gradient(180deg, var(--sage-soft) 0%, var(--hanji-light) 70%); }
.page-band--sage::before{ width:360px; height:360px; top:-120px; right:-100px; background:var(--sage); opacity:0.24; }
.page-band--sage::after{ width:280px; height:280px; bottom:-90px; left:-80px; background:var(--sky); opacity:0.26; }

.page-band--sun{ background:linear-gradient(180deg, var(--sun-soft) 0%, var(--hanji-light) 70%); }
.page-band--sun::before{ width:380px; height:380px; top:-130px; left:-110px; background:var(--sun); opacity:0.3; }
.page-band--sun::after{ width:260px; height:260px; bottom:-80px; right:-60px; background:var(--lilac); opacity:0.22; }

@media(max-width:640px){
  .page-band::before,
  .page-band::after{ filter:blur(34px); }
}

/* Intro */
.intro-lead{
  font-size:18px;
  font-weight:500;
  color:var(--indigo);
  margin-bottom:22px;
}
.virtue-list{
  list-style:none;
  margin-top:28px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.virtue-list li{
  display:flex;
  gap:18px;
  padding:18px 22px;
  align-items:center;
  background:rgba(255,255,255,0.75);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,0.6);
  border-radius:16px;
  box-shadow:0 8px 22px rgba(43,37,32,0.06);
  transition:transform .25s, box-shadow .25s;
}
.virtue-list li:hover{ transform:translateY(-3px); box-shadow:0 14px 28px rgba(43,37,32,0.1); }
.virtue-num{
  font-family:'Noto Sans KR', sans-serif;
  font-size:17px;
  color:#fff;
  font-weight:800;
  flex-shrink:0;
  width:40px; height:40px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 14px rgba(43,37,32,0.18);
}
.virtue-list li:nth-child(1) .virtue-num{ background:var(--peach); color:var(--indigo); }
.virtue-list li:nth-child(2) .virtue-num{ background:var(--sage-deep); }
.virtue-list li:nth-child(3) .virtue-num{ background:var(--lilac-deep); }
.virtue-text{font-size:16px; color:var(--ink); font-weight:500;}

/* Blog card */
.blog-card{
  margin-top:36px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:var(--hanji);
  border:1px solid var(--line);
  border-radius:10px;
  padding:20px 22px;
  transition:border-color .2s, transform .2s;
}
.blog-card:hover{border-color:var(--gold); transform:translateY(-1px);}
.blog-card-label{font-size:12px; color:var(--ink); opacity:0.6; margin-bottom:4px;}
.blog-card-name{font-family:'Noto Sans KR', sans-serif; font-weight:700; font-size:16px; color:var(--indigo);}
.blog-card-arrow{font-size:20px; color:var(--dancheong-red);}

/* Divider with seal motif */
.divider{
  display:flex; align-items:center; gap:14px;
  max-width:760px; margin:0 auto; padding:0 24px;
}
.divider-line{flex:1; height:1px; background:var(--line);}
.divider-mark{
  width:8px; height:8px;
  background:var(--dancheong-red);
  transform:rotate(45deg);
  flex-shrink:0;
}

/* Directions */
.map-frame{
  width:100%;
  aspect-ratio:16/9;
  border-radius:10px;
  overflow:hidden;
  border:1px solid var(--line);
  margin-bottom:24px;
}
.map-frame iframe{width:100%; height:100%; border:0;}
.info-rows{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:8px;
}
.info-row{
  display:flex;
  align-items:center;
  gap:16px;
  background:rgba(255,255,255,0.82);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,0.6);
  border-radius:14px;
  padding:14px 18px;
  box-shadow:0 6px 18px rgba(43,37,32,0.06);
  transition:transform .25s, box-shadow .25s;
}
.info-row:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(43,37,32,0.1); }
.info-chip{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:72px;
  padding:7px 12px;
  border-radius:999px;
  color:#fff;
  font-size:13px;
  font-weight:700;
  font-family:'Noto Sans KR', sans-serif;
  box-shadow:0 4px 10px rgba(43,37,32,0.16);
}
.info-row:nth-child(1) .info-chip{ background:var(--peach); color:var(--indigo); }
.info-row:nth-child(2) .info-chip{ background:var(--sage-deep); }
.info-row:nth-child(3) .info-chip{ background:var(--lilac-deep); }
.info-val{color:var(--ink); font-size:15px; font-weight:500;}

/* Schedule */
.schedule-table{
  width:100%;
  border-collapse:collapse;
  margin-top:8px;
  font-size:15px;
}
.schedule-table th{
  text-align:left;
  font-family:'Noto Sans KR', sans-serif;
  font-weight:700;
  color:var(--indigo);
  padding:12px 10px;
  border-bottom:2px solid var(--indigo);
  font-size:14px;
}
.schedule-table td{
  padding:14px 10px;
  border-bottom:1px solid var(--line);
}
.schedule-table tr:last-child td{border-bottom:none;}
.tag{
  display:inline-block;
  font-size:12px;
  padding:3px 10px;
  border-radius:999px;
  background:rgba(155,58,46,0.1);
  color:var(--dancheong-red);
  font-weight:500;
}
.schedule-card{
  --card-tint:var(--gold);
  position:relative;
  background:rgba(255,255,255,0.85);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,0.6);
  border-left:6px solid var(--card-tint);
  border-radius:18px;
  padding:26px 28px;
  margin-bottom:18px;
  box-shadow:0 10px 26px rgba(43,37,32,0.06);
  transition:transform .25s, box-shadow .25s;
}
.schedule-card:hover{ transform:translateY(-4px); box-shadow:0 16px 34px rgba(43,37,32,0.12); }
.schedule-card:nth-child(1){ --card-tint:var(--peach); }
.schedule-card:nth-child(2){ --card-tint:var(--sun); }
.schedule-card:nth-child(3){ --card-tint:var(--sage); }
.schedule-card:nth-child(4){ --card-tint:var(--sky); }
.schedule-card:nth-child(5){ --card-tint:var(--lilac); }
.schedule-card-title{
  font-size:18px;
  font-weight:700;
  color:var(--indigo);
  margin-bottom:10px;
}
.schedule-card-desc{
  font-size:15px;
  line-height:1.7;
  color:var(--ink);
  opacity:0.85;
}
.schedule-card-time{
  display:inline-block;
  margin-top:14px;
  color:var(--indigo);
  background:var(--card-tint);
  font-weight:700;
  font-size:13px;
  padding:6px 14px;
  border-radius:999px;
}
.schedule-card:nth-child(3) .schedule-card-time{ background:var(--sage-deep); color:#fff; }
.schedule-card:nth-child(4) .schedule-card-time{ background:var(--sky-deep); color:#fff; }
.schedule-card:nth-child(5) .schedule-card-time{ background:var(--lilac-deep); color:#fff; }

/* Contact / Footer */
.contact-block{
  position:relative;
  overflow:hidden;
  background:linear-gradient(160deg, var(--indigo) 0%, #2b3a58 55%, #3c3168 100%);
  color:var(--hanji-light);
}
.contact-block::before,
.contact-block::after{
  content:'';
  position:absolute;
  border-radius:50%;
  filter:blur(60px);
  z-index:0;
  pointer-events:none;
}
.contact-block::before{ width:420px; height:420px; top:-160px; right:-120px; background:var(--lilac); opacity:0.35; }
.contact-block::after{ width:320px; height:320px; bottom:-120px; left:-90px; background:var(--sun); opacity:0.22; }
.contact-block > div{ position:relative; z-index:1; }
.contact-block .section-title{color:var(--hanji-light);}
.contact-block .section-label{
  border-color:var(--gold); color:var(--gold);
}
.contact-grid{
  display:grid;
  gap:14px;
  margin-top:8px;
}
.contact-item{
  display:flex; justify-content:space-between; align-items:center;
  gap:16px;
  padding:18px 22px;
  background:rgba(255,255,255,0.08);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:16px;
  font-size:16px;
  transition:background .25s, transform .25s;
}
.contact-item:hover{ background:rgba(255,255,255,0.14); transform:translateY(-2px); }
.contact-item .label{
  flex-shrink:0;
  display:inline-flex; align-items:center; justify-content:center;
  min-width:60px;
  padding:5px 12px;
  border-radius:999px;
  background:var(--gold);
  color:var(--indigo);
  opacity:1; font-size:12px; font-weight:700;
}
.contact-item .value{font-weight:500; text-align:right;}
.contact-item a.value{color:var(--gold);}

footer{
  background:var(--indigo);
  color:var(--hanji-light);
  text-align:center;
  padding:48px 24px 32px;
}
.footer-inner{
  max-width:760px;
  margin:0 auto;
}
.footer-seal{
  width:28px; height:28px;
  margin:0 auto 14px;
  border-radius:50%;
  overflow:hidden;
  opacity:0.85;
}
.footer-seal img{width:100%; height:100%; object-fit:contain;}
.footer-name{
  font-size:16px;
  font-weight:700;
  color:var(--hanji-light);
  margin-bottom:14px;
  letter-spacing:0.02em;
}
.footer-info{
  font-size:13px;
  color:var(--hanji-light);
  opacity:0.72;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:24px;
  line-height:1.8;
}
.footer-info a{ color:var(--hanji-light); transition:color .2s; }
.footer-info a[href^="tel"]:hover{ color:var(--gold); }
.footer-blog{ color:var(--gold) !important; }
.footer-blog:hover{ text-decoration:underline; }
.footer-sep{ opacity:0.35; font-size:11px; }
.footer-line{
  border:none;
  border-top:1px solid rgba(250,246,238,0.15);
  margin:0 0 20px;
}
.footer-copy{
  font-size:12px;
  color:var(--hanji-light);
  opacity:0.55;
}
@media(max-width:640px){
  .footer-info{ flex-direction:column; gap:4px; }
  .footer-sep{ display:none; }
}

/* ===== Sub-page layout ===== */
.page-main{ padding-top:109px; }
@media (max-width:640px){
  .page-main{ padding-top:101px; }
}

/* ===== Hero CTA buttons ===== */
.hero-cta{
  position:absolute;
  left:50%; bottom:24px;
  transform:translateX(-50%);
  z-index:6;
  display:flex; gap:10px; align-items:center;
}
.hero-blog-btn{
  padding:12px 24px; border-radius:999px;
  background:rgba(250,246,238,0.88);
  color:var(--indigo);
  font-weight:700; font-size:14px; letter-spacing:0.02em;
  border:1px solid rgba(184,146,74,0.5);
  transition:transform .2s, background .2s;
  white-space:nowrap;
}
.hero-blog-btn:hover{ transform:translateY(-2px); background:var(--hanji-light); }
@media(max-width:640px){
  .hero-cta{ bottom:16px; gap:8px; }
  .hero-blog-btn{ font-size:12px; padding:9px 16px; }
}

/* ===== Mobile Hamburger Button ===== */
.menu-toggle {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 24px;
  height: 18px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 101;
  outline: none;
}
.hamburger-bar {
  width: 100%;
  height: 2px;
  background-color: var(--indigo);
  border-radius: 1px;
  transition: all 0.3s ease;
}
@media (max-width: 640px) {
  .menu-toggle {
    display: flex;
  }
}

/* Hamburger active transformation */
.menu-toggle.is-active .hamburger-bar:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
  background-color: var(--hanji-light);
}
.menu-toggle.is-active .hamburger-bar:nth-child(2) {
  opacity: 0;
}
.menu-toggle.is-active .hamburger-bar:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
  background-color: var(--hanji-light);
}

/* Mobile Nav Overlay Menu */
.mobile-menu-overlay {
  position: fixed;
  inset: 0;
  z-index: 99;
  background: linear-gradient(135deg, rgba(31, 42, 61, 0.98), rgba(15, 20, 30, 0.99));
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}
.mobile-menu-overlay.is-open {
  opacity: 1;
  visibility: visible;
}
.mobile-menu-close {
  display: none; /* We toggle burger icon status instead */
}
.mobile-nav-links {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  text-align: center;
}
.mobile-nav-links a {
  font-family: 'Song Myung', serif;
  font-size: 24px;
  color: var(--hanji-light);
  letter-spacing: 0.12em;
  transition: color 0.25s, transform 0.25s;
  font-weight: 500;
}
.mobile-nav-links a:hover,
.mobile-nav-links a:active {
  color: var(--gold);
  transform: scale(1.05);
}

/* ===== Scroll Reveal Animations ===== */
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.9s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.9s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ===== Map Links & Buttons ===== */
.map-links {
  display: flex;
  gap: 16px;
  margin: 24px 0 32px;
}
.map-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 24px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 700;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  box-shadow: 0 4px 14px rgba(43, 37, 32, 0.08);
  text-align: center;
  letter-spacing: 0.02em;
}
.naver-map {
  background-color: #03c75a;
  color: #ffffff;
  border: 1px solid #03c75a;
}
.naver-map:hover {
  background-color: #02b34f;
  border-color: #02b34f;
  box-shadow: 0 8px 24px rgba(3, 199, 90, 0.35);
  transform: translateY(-3px);
}
.kakao-map {
  background-color: #fee500;
  color: #191919;
  border: 1px solid #fee500;
}
.kakao-map:hover {
  background-color: #fada0a;
  border-color: #fada0a;
  box-shadow: 0 8px 24px rgba(254, 229, 0, 0.45);
  transform: translateY(-3px);
}
@media (max-width: 540px) {
  .map-links {
    flex-direction: column;
    gap: 10px;
  }
  .map-btn {
    padding: 12px 20px;
    font-size: 14px;
  }
}

