@charset "utf-8";
/* =========================================================
   CHEONHWADANG theme
   Concept: night indigo, candle glow (gold / flame orange)
   Prefix: ch_
   NOTE: English comments only (Dreamweaver EUC-KR safe)
   ========================================================= */

:root{
  --ch-night:#17142b;      /* main dark background */
  --ch-night2:#221d3b;     /* section background, slightly lighter */
  --ch-panel:#2a2347;      /* card / panel background */
  --ch-cream:#f4eee2;      /* main text, warm off-white on dark */
  --ch-cream2:#d9d2c4;     /* secondary text */
  --ch-muted:#a89fc0;      /* muted text on dark */
  --ch-flame:#e8672f;      /* primary accent - candle flame orange */
  --ch-flame-deep:#c94f22;
  --ch-ember:#3a2a22;      /* soft warm tint, used behind quote marks */
  --ch-gold:#c9a15c;       /* hairline / label accent */
  --ch-line:rgba(201,161,92,.22);   /* hairlines on dark */
  --ch-line2:rgba(201,161,92,.36);
  --ch-shadow:0 18px 50px -28px rgba(0,0,0,.65);
  --ch-radius:18px;
  --ch-max:1180px;
  --ch-serif:"Noto Serif KR", serif;
  --ch-sans:"Noto Sans KR", sans-serif;
}

/* ---------- reset-ish (scoped, avoid touching admin) ---------- */
.ch-wrap *{box-sizing:border-box;}
.ch-wrap{
  font-family:var(--ch-sans);
  color:var(--ch-cream);
  line-height:1.75;
  background:var(--ch-night);
  -webkit-font-smoothing:antialiased;
  letter-spacing:-.01em;
}
.ch-wrap img{max-width:100%;display:block;}
.ch-wrap a{color:inherit;text-decoration:none;}
.ch-inner{max-width:var(--ch-max);margin:0 auto;padding:0 24px;}

/* ---------- shared ornaments ---------- */
.ch-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:13px;letter-spacing:.32em;font-weight:500;
  color:var(--ch-flame);text-transform:uppercase;
}
.ch-eyebrow::before{content:"";width:26px;height:1px;background:var(--ch-gold);}
.ch-h2{
  font-family:var(--ch-serif);font-weight:600;
  font-size:clamp(26px,3.4vw,38px);line-height:1.3;
  color:var(--ch-cream);margin:14px 0 0;letter-spacing:-.02em;
}
.ch-lead{color:var(--ch-muted);font-size:16px;margin-top:14px;}

/* blossom divider */
.ch-bloom{display:flex;align-items:center;justify-content:center;gap:16px;margin:8px 0;}
.ch-bloom span{height:1px;width:54px;background:linear-gradient(90deg,transparent,var(--ch-line2));}
.ch-bloom span:last-child{background:linear-gradient(90deg,var(--ch-line2),transparent);}
.ch-bloom svg{width:22px !important;height:22px !important;color:var(--ch-flame);opacity:.85;}

.ch-section{padding:92px 0;}
.ch-section--paper{background:var(--ch-night2);}
.ch-center{text-align:center;}

/* =========================================================
   HEADER / NAV
   ========================================================= */
.ch-header{
  position:sticky;top:0;z-index:120;background:rgba(23,20,43,.92);
  backdrop-filter:saturate(1.2) blur(8px);
  border-bottom:1px solid var(--ch-line);
}
.ch-nav{display:flex;align-items:center;justify-content:space-between;height:74px;}
.ch-logo{display:flex;align-items:baseline;gap:10px;}
.ch-logo b{font-family:var(--ch-serif);font-size:23px;font-weight:700;color:var(--ch-cream);letter-spacing:.02em;}
.ch-logo i{font-style:normal;font-size:12px;letter-spacing:.3em;color:var(--ch-flame);}
.ch-menu{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0;}
.ch-menu a{
  display:block;padding:10px 16px;font-size:15.5px;color:var(--ch-cream2);
  position:relative;transition:color .25s;
}
.ch-menu a::after{
  content:"";position:absolute;left:16px;right:16px;bottom:4px;height:1.5px;
  background:var(--ch-flame);transform:scaleX(0);transform-origin:left;transition:transform .3s;
}
.ch-menu a:hover{color:var(--ch-flame);}
.ch-menu a:hover::after{transform:scaleX(1);}
.ch-navcall{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--ch-flame);color:var(--ch-flame);
  padding:9px 18px;border-radius:999px;font-size:14.5px;font-weight:600;
  transition:.25s;
}
.ch-navcall:hover{background:var(--ch-flame);color:#fff;}
.ch-burger{display:none;width:44px;height:44px;border:1px solid var(--ch-line2);border-radius:12px;background:var(--ch-panel);cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px;}
.ch-burger span{width:20px;height:1.6px;background:var(--ch-cream);display:block;transition:.3s;}

/* =========================================================
   HERO
   ========================================================= */
.ch-hero{position:relative;overflow:hidden;background:var(--ch-night);}
.ch-hero-glow{
  position:absolute;right:-10%;top:50%;transform:translateY(-50%);
  width:min(640px,60vw);aspect-ratio:1/1;border-radius:50%;
  background:radial-gradient(circle, rgba(232,103,47,.16) 0%, rgba(201,161,92,.08) 45%, transparent 72%);
  z-index:0;pointer-events:none;user-select:none;
}
.ch-hero-inner{
  position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;
  gap:54px;align-items:center;padding:84px 24px 96px;
  max-width:var(--ch-max);margin:0 auto;
}
.ch-hero-eyebrow{font-size:13px;letter-spacing:.34em;color:var(--ch-flame);font-weight:500;}
.ch-hero h1{
  font-family:var(--ch-serif);font-weight:700;color:var(--ch-cream);
  font-size:clamp(46px,6.4vw,82px);line-height:1.04;margin:18px 0 0;letter-spacing:-.02em;
}
.ch-hero h1 small{display:block;font-size:.34em;font-weight:500;letter-spacing:.04em;color:var(--ch-muted);margin-top:18px;font-family:var(--ch-sans);}
.ch-hero-desc{margin:26px 0 0;color:var(--ch-cream2);font-size:17px;max-width:30em;line-height:1.85;}
.ch-hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;}
.ch-btn{
  display:inline-flex;align-items:center;gap:9px;padding:14px 26px;border-radius:999px;
  font-weight:600;font-size:15.5px;transition:.25s;
}
.ch-btn--solid{background:var(--ch-flame);color:#fff;box-shadow:0 14px 30px -14px rgba(232,103,47,.6);}
.ch-btn--solid:hover{background:var(--ch-flame-deep);transform:translateY(-2px);}
.ch-btn--ghost{border:1px solid var(--ch-line2);color:var(--ch-cream);background:var(--ch-panel);}
.ch-btn--ghost:hover{border-color:var(--ch-flame);color:var(--ch-flame);}
.ch-hero-meta{display:flex;gap:26px;margin-top:34px;flex-wrap:wrap;}
.ch-hero-meta div{font-size:14px;color:var(--ch-muted);}
.ch-hero-meta b{display:block;font-size:15px;color:var(--ch-cream);font-weight:600;letter-spacing:-.01em;margin-bottom:2px;}

/* arched photo frame (temple-gate echo) */
.ch-portrait{position:relative;justify-self:center;}
.ch-portrait-frame{
  width:min(380px,82vw);aspect-ratio:3/4;
  border-radius:9999px 9999px 22px 22px;overflow:hidden;
  border:1px solid var(--ch-line2);
  box-shadow:var(--ch-shadow);
  background:linear-gradient(160deg,var(--ch-night2),var(--ch-panel));
  position:relative;
}
.ch-portrait-frame img{width:100%;height:100%;object-fit:cover;}
.ch-portrait-frame .ch-ph{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:12px;color:var(--ch-muted);font-size:14px;text-align:center;
}
.ch-portrait-frame .ch-ph svg{width:54px;height:54px;color:var(--ch-line2);}
.ch-portrait::after{
  content:"";position:absolute;inset:-12px -12px auto auto;width:84px;height:84px;
  border:1px solid var(--ch-gold);border-radius:9999px 9999px 14px 14px;opacity:.5;z-index:-1;
  transform:translate(14px,-14px);
}
.ch-portrait-tag{
  position:absolute;left:-18px;bottom:30px;background:var(--ch-panel);border:1px solid var(--ch-line);
  border-radius:14px;padding:12px 18px;box-shadow:var(--ch-shadow);
}
.ch-portrait-tag b{font-family:var(--ch-serif);color:var(--ch-flame);font-size:16px;display:block;}
.ch-portrait-tag span{font-size:12.5px;color:var(--ch-muted);}

/* rising embers */
.ch-ember-spark{position:absolute;bottom:-20px;width:5px;height:5px;border-radius:50%;
  background:var(--ch-flame);box-shadow:0 0 10px 2px rgba(232,103,47,.7);
  z-index:1;opacity:0;animation:ch-rise linear infinite;}
@keyframes ch-rise{
  0%{transform:translateY(0) translateX(0);opacity:0;}
  12%{opacity:.85;}
  100%{transform:translateY(-90vh) translateX(18px);opacity:0;}
}

/* =========================================================
   GREETING preview
   ========================================================= */
.ch-greet{text-align:center;max-width:760px;margin:0 auto;}
.ch-greet .ch-quote{
  font-family:var(--ch-serif);font-size:clamp(21px,2.6vw,29px);line-height:1.7;
  color:var(--ch-cream);margin:26px 0 0;font-weight:500;
}
.ch-greet .ch-quote em{color:var(--ch-flame);font-style:normal;}
.ch-greet p{color:var(--ch-muted);margin-top:22px;font-size:16px;}
.ch-greet .ch-sign{margin-top:30px;font-family:var(--ch-serif);font-size:17px;color:var(--ch-cream);}
.ch-greet .ch-sign b{color:var(--ch-flame);}

/* =========================================================
   CONSULTATION / fees
   ========================================================= */
.ch-fees{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:48px;max-width:640px;margin-left:auto;margin-right:auto;}
.ch-fee{
  background:var(--ch-panel);border:1px solid var(--ch-line);border-radius:var(--ch-radius);
  padding:34px 28px;text-align:center;transition:.3s;position:relative;overflow:hidden;
}
.ch-fee::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,var(--ch-flame),var(--ch-gold));transform:scaleX(0);transform-origin:left;transition:transform .4s;}
.ch-fee:hover{transform:translateY(-6px);box-shadow:var(--ch-shadow);border-color:var(--ch-line2);}
.ch-fee:hover::before{transform:scaleX(1);}
.ch-fee-no{font-family:var(--ch-serif);font-size:13px;letter-spacing:.2em;color:var(--ch-gold);}
.ch-fee h3{font-family:var(--ch-serif);font-size:22px;margin:10px 0 0;color:var(--ch-cream);font-weight:600;}
.ch-fee .ch-price{font-size:30px;font-weight:700;color:var(--ch-flame);margin-top:14px;font-family:var(--ch-serif);}
.ch-fee .ch-price small{font-size:15px;font-weight:500;color:var(--ch-muted);}
.ch-fee p{font-size:14px;color:var(--ch-muted);margin-top:10px;}
.ch-info-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:40px;}
.ch-chip{
  display:inline-flex;align-items:center;gap:9px;background:var(--ch-night2);
  border:1px solid var(--ch-line);border-radius:999px;padding:11px 20px;font-size:14.5px;color:var(--ch-cream2);
}
.ch-chip svg{width:17px;height:17px;color:var(--ch-flame);}
.ch-chip b{color:var(--ch-cream);font-weight:600;}

/* =========================================================
   LATEST: gallery
   ========================================================= */
.ch-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;}
.ch-more{display:inline-flex;align-items:center;gap:7px;color:var(--ch-flame);font-size:14.5px;font-weight:600;border-bottom:1px solid transparent;transition:.25s;padding-bottom:2px;}
.ch-more:hover{border-color:var(--ch-flame);}

.ch-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px;}
.ch-gal-item{
  border-radius:var(--ch-radius);overflow:hidden;border:1px solid var(--ch-line);
  background:var(--ch-panel);display:block;transition:.3s;
}
.ch-gal-item:hover{transform:translateY(-5px);box-shadow:var(--ch-shadow);}
.ch-gal-thumb{aspect-ratio:1/1;overflow:hidden;background:var(--ch-panel);position:relative;}
.ch-gal-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s;}
.ch-gal-item:hover .ch-gal-thumb img{transform:scale(1.06);}
.ch-gal-thumb .ch-noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--ch-line2);}
.ch-gal-thumb .ch-noimg svg{width:40px;height:40px;}
.ch-gal-cap{padding:15px 16px;}
.ch-gal-cap b{display:block;font-size:14.5px;color:var(--ch-cream);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ch-gal-cap span{font-size:12px;color:var(--ch-muted);}
.ch-empty{grid-column:1/-1;text-align:center;padding:50px 0;color:var(--ch-muted);font-size:15px;}

/* =========================================================
   LATEST: reviews
   ========================================================= */
.ch-revs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px;}
.ch-rev{
  background:var(--ch-panel);border:1px solid var(--ch-line);border-radius:var(--ch-radius);
  padding:28px 26px;transition:.3s;position:relative;
}
.ch-rev:hover{transform:translateY(-5px);box-shadow:var(--ch-shadow);}
.ch-rev-q{font-family:var(--ch-serif);font-size:34px;line-height:1;color:var(--ch-ember);}
.ch-rev-star{display:flex;gap:2px;margin-top:6px;font-size:16px;line-height:1;}
.ch-rev-star span{color:var(--ch-line);}
.ch-rev-star span.on{color:var(--ch-gold);}
.ch-rev-body{font-size:15px;color:var(--ch-cream2);line-height:1.8;margin-top:8px;
  display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;min-height:6em;}
.ch-rev-meta{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--ch-line);}
.ch-rev-meta b{font-size:14px;color:var(--ch-flame);font-weight:600;}
.ch-rev-meta span{font-size:12.5px;color:var(--ch-muted);}

/* =========================================================
   DIRECTIONS
   ========================================================= */
.ch-map-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;margin-top:48px;align-items:stretch;}
.ch-map-info{display:flex;flex-direction:column;gap:4px;}
.ch-fact{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--ch-line);}
.ch-fact:first-child{padding-top:0;}
.ch-fact-ic{flex:0 0 auto;width:40px;height:40px;border-radius:12px;background:var(--ch-ember);display:flex;align-items:center;justify-content:center;color:var(--ch-flame);}
.ch-fact-ic svg{width:19px;height:19px;}
.ch-fact b{display:block;font-size:13px;letter-spacing:.12em;color:var(--ch-muted);text-transform:uppercase;margin-bottom:4px;}
.ch-fact p{font-size:16px;color:var(--ch-cream);line-height:1.6;}
.ch-fact a{color:var(--ch-flame);font-weight:600;}
.ch-map-frame{border-radius:var(--ch-radius);overflow:hidden;border:1px solid var(--ch-line);min-height:380px;background:var(--ch-panel);}
.ch-map-frame iframe{width:100%;height:100%;min-height:380px;border:0;display:block;}

/* =========================================================
   FOOTER
   ========================================================= */
.ch-footer{background:#100d1f;color:#cfc6bd;padding:60px 0 34px;}
.ch-footer .ch-inner{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;}
.ch-foot-brand b{font-family:var(--ch-serif);font-size:22px;color:#fff;letter-spacing:.04em;}
.ch-foot-brand p{margin-top:14px;font-size:14px;line-height:1.9;color:#a99f95;}
.ch-foot-call{display:inline-flex;align-items:center;gap:9px;margin-top:18px;color:#fff;font-size:19px;font-family:var(--ch-serif);}
.ch-foot-call svg{width:18px;height:18px;color:var(--ch-flame);}
.ch-foot-links{display:flex;flex-direction:column;gap:11px;font-size:14.5px;}
.ch-foot-links a{color:#cfc6bd;transition:.2s;}
.ch-foot-links a:hover{color:#fff;}
.ch-foot-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:22px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12.5px;color:#8a8077;}
.ch-foot-bottom a{color:#a99f95;}
.ch-foot-visit{font-size:12.5px;color:#8a8077;}
.ch-foot-visit *{color:#a99f95 !important;}

/* =========================================================
   SUB PAGE shell
   ========================================================= */
.ch-pagehead{position:relative;background:var(--ch-night2);border-bottom:1px solid var(--ch-line);
  text-align:center;padding:74px 24px 60px;overflow:hidden;}
.ch-pagehead .ch-glow{position:absolute;right:-6%;top:50%;transform:translateY(-50%);
  width:min(420px,50vw);aspect-ratio:1/1;border-radius:50%;
  background:radial-gradient(circle, rgba(232,103,47,.14) 0%, rgba(201,161,92,.07) 45%, transparent 72%);
  z-index:0;pointer-events:none;}
.ch-pagehead .ch-rel{position:relative;z-index:2;}
.ch-pagehead h1{font-family:var(--ch-serif);font-size:clamp(30px,4vw,44px);color:var(--ch-cream);margin:14px 0 0;font-weight:600;}
.ch-crumb{font-size:13px;color:var(--ch-muted);margin-top:14px;}
.ch-crumb b{color:var(--ch-flame);}
.ch-page{padding:80px 0;}
.ch-prose{max-width:780px;margin:0 auto;}
.ch-prose h2{font-family:var(--ch-serif);font-size:26px;color:var(--ch-cream);margin:0 0 8px;font-weight:600;}
.ch-prose h2 + .ch-bloomline{margin-bottom:26px;}
.ch-bloomline{width:46px;height:2px;background:var(--ch-flame);margin:14px 0 28px;}
.ch-prose p{font-size:16.5px;line-height:1.95;color:var(--ch-cream2);margin:0 0 20px;}
.ch-prose p.ch-em{font-family:var(--ch-serif);font-size:20px;color:var(--ch-cream);line-height:1.8;}
.ch-prose strong{color:var(--ch-flame);font-weight:600;}

.ch-guide{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:36px 0;}
.ch-guide-card{background:var(--ch-night2);border:1px solid var(--ch-line);border-radius:var(--ch-radius);padding:26px;}
.ch-guide-card .ch-step{font-family:var(--ch-serif);color:var(--ch-gold);font-size:13px;letter-spacing:.2em;}
.ch-guide-card h3{font-size:18px;color:var(--ch-cream);margin:8px 0 8px;font-weight:600;}
.ch-guide-card p{font-size:14.5px;color:var(--ch-muted);line-height:1.7;margin:0;}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1024px){
  .ch-gal{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:860px){
  .ch-section{padding:66px 0;}
  .ch-hero-inner{grid-template-columns:1fr;gap:40px;padding:56px 24px 70px;text-align:center;}
  .ch-hero-desc{margin-left:auto;margin-right:auto;}
  .ch-hero-cta,.ch-hero-meta{justify-content:center;}
  .ch-portrait{order:-1;}
  .ch-hero-glow{width:70vw;opacity:.7;}
  .ch-fees{grid-template-columns:1fr;}
  .ch-revs{grid-template-columns:1fr;}
  .ch-gal{grid-template-columns:repeat(2,1fr);}
  .ch-map-grid{grid-template-columns:1fr;}
  .ch-guide{grid-template-columns:1fr;}
  .ch-footer .ch-inner{grid-template-columns:1fr;}
  .ch-menu,.ch-navcall{display:none;}
  .ch-burger{display:flex;}
  .ch-menu.ch-open{
    display:flex;position:absolute;left:0;right:0;top:74px;flex-direction:column;
    background:var(--ch-night2);border-bottom:1px solid var(--ch-line);padding:10px 24px 18px;gap:0;
    box-shadow:var(--ch-shadow);
  }
  .ch-menu.ch-open li{width:100%;border-bottom:1px solid var(--ch-line);}
  .ch-menu.ch-open a{padding:15px 4px;}
  .ch-menu.ch-open a::after{display:none;}
}
@media (max-width:480px){
  .ch-inner{padding:0 14px;}
  .ch-gal{grid-template-columns:1fr 1fr;gap:12px;}
  .ch-pagehead .ch-glow{width:60vw;}
  .ch-revs{gap:14px;margin-top:30px;}
  .ch-rev{padding:22px 18px;}
  .ch-rev-body{font-size:14.5px;line-height:1.75;min-height:0;-webkit-line-clamp:5;}
}

/* accessibility */
@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important;}
}
.ch-wrap a:focus-visible,.ch-wrap button:focus-visible{outline:2px solid var(--ch-flame);outline-offset:3px;border-radius:6px;}
/* =========================================================
   INTRO subpage (bo_table=11)
   ========================================================= */
.ch-intro-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:60px;align-items:start;max-width:var(--ch-max);margin:0 auto;}
.ch-intro-photo{
  position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:var(--ch-radius);
  border:1px solid var(--ch-line);background:var(--ch-panel);
}
.ch-intro-photo img{width:100%;height:100%;object-fit:cover;}
.ch-intro-photo .ch-ph{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:12px;color:var(--ch-muted);font-size:14px;text-align:center;padding:0 20px;
}
.ch-intro-photo .ch-ph svg{width:48px;height:48px;color:var(--ch-line2);}
.ch-intro-copy p{margin:0 0 18px;}
@media (max-width:860px){
  .ch-intro-grid{grid-template-columns:1fr;gap:32px;}
  .ch-intro-photo{max-width:340px;margin:0 auto;}
}

/* =========================================================
   GUIDE subpage (bo_table=21)
   ========================================================= */
.ch-tip{
  max-width:640px;margin:36px auto 0;display:flex;gap:14px;align-items:flex-start;
  background:var(--ch-panel);border:1px solid var(--ch-line);border-radius:var(--ch-radius);
  padding:20px 24px;
}
.ch-tip svg{width:20px;height:20px;color:var(--ch-gold);flex-shrink:0;margin-top:2px;}
.ch-tip p{font-size:14.5px;color:var(--ch-cream2);margin:0;line-height:1.7;}
.ch-notice{
  max-width:780px;margin:70px auto 0;padding-top:40px;border-top:1px solid var(--ch-line);
}
.ch-notice h3{font-family:var(--ch-serif);font-size:19px;color:var(--ch-cream);margin:12px 0 14px;font-weight:600;}