/* =========================================================
   대원사 꽃길숲 수목장 — 공용 스타일
   이 파일을 고치면 모든 HTML의 style.css?v= 값을 함께 올릴 것
   ========================================================= */

:root {
  --pink: #C8642A;        /* 벚꽃 분홍 — 장식·밑줄·아이콘 */
  --pink-ink: #A9420F;    /* 분홍 글자용(대비 확보) */
  --pink-soft: #F8E7DA;
  --green: #4F700A;       /* 숲 초록 — 제목·버튼·헤더/푸터 */
  --green-dark: #3F5C03;
  --green-soft: #EEF2DF;
  --bg: #FFFFFF;          /* 따뜻한 미색 바탕 */
  --paper: #FFFFFF;
  --text: #2B2B2B;
  --muted: #5B5B57;
  --line: #E6E3D6;
  --tbd: #FFF1A8;         /* [확인 필요] 표시 */

  --serif: "Gowun Batang", "Noto Serif KR", serif;
  --sans: "Pretendard Variable", Pretendard, -apple-system, "Malgun Gothic", sans-serif;

  --radius: 14px;
  --wrap: 1120px;
  --header-h: 64px;
  --mbar-h: 68px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  font-size: 18px;
  line-height: 1.75;
  word-break: keep-all;
  overflow-wrap: break-word;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
h1, h2, h3 { font-family: var(--serif); color: var(--green); line-height: 1.4; margin: 0 0 .5em; font-weight: 700; }
p { margin: 0 0 1em; }

.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 16px; }
.section { padding: 72px 0; }
.section--paper { background: var(--paper); }
.section--soft { background: var(--green-soft); }

.eyebrow {
  display: inline-block; font-family: var(--serif); color: var(--pink-ink);
  font-size: 17px; letter-spacing: .04em; margin-bottom: 8px;
}
.sec-title { font-size: 28px; }
.sec-title::after {
  content: ""; display: block; width: 56px; height: 3px; border-radius: 3px;
  background: var(--pink); margin-top: 14px;
}
.center { text-align: center; }
.center .sec-title::after { margin-left: auto; margin-right: auto; }
.lead { font-size: 19px; color: var(--muted); }

/* ---------- 반응형 유틸리티 (재사용) ----------
   .only-mo  : 모바일(767px 이하)에서만 보임
   .only-pc  : PC(768px 이상)에서만 보임
   .br-mo    : 모바일에서만 줄바꿈 <br class="br-mo">
   .br-pc    : PC에서만 줄바꿈   <br class="br-pc">        */
.only-pc, .br-pc { display: none; }
@media (min-width: 768px) {
  .only-mo, .br-mo { display: none; }
  .only-pc { display: revert; }
  br.br-pc { display: inline; }
}

/* ---------- [확인 필요] 표시 ---------- */
.tbd {
  background: var(--tbd); outline: 2px dashed #D9B300; outline-offset: 1px;
  border-radius: 4px; padding: 0 4px;
}
.tbd::after {
  content: "확인 필요"; font-family: var(--sans); font-size: 12px; font-weight: 700;
  color: #6B5800; background: #FFE34D; border-radius: 3px; padding: 1px 5px;
  margin-left: 6px; vertical-align: 2px; white-space: nowrap;
}

/* ---------- 버튼 ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 56px; padding: 0 26px; border-radius: 999px;
  font-family: var(--sans); font-size: 18px; font-weight: 700; text-decoration: none;
  border: 2px solid transparent; cursor: pointer; transition: background .2s, color .2s, transform .1s;
}
.btn:active { transform: translateY(1px); }
.btn svg { width: 22px; height: 22px; flex: none; }
.btn--call { background: var(--green); color: #fff; }
.btn--call:hover { background: var(--green-dark); }
.btn--line { background: #fff; color: var(--green); border-color: var(--green); }
.btn--line:hover { background: var(--green-soft); }
.btn--pink { background: var(--pink-ink); color: #fff; }
.btn--lg { min-height: 64px; font-size: 20px; padding: 0 30px; }
.btn--block { width: 100%; }
.btn-row { display: flex; flex-direction: column; gap: 12px; }
@media (min-width: 768px) { .btn-row { flex-direction: row; flex-wrap: wrap; } }

/* ---------- 헤더 ---------- */
.site-header {
  position: sticky; top: 0; z-index: 50; height: var(--header-h);
  background: rgba(255,255,255,.97); backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--line);
}
.site-header .wrap { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.brand img { width: 30px; height: 39px; }
.brand-text { display: flex; flex-direction: column; line-height: 1.15; }
.brand-text small { font-family: var(--serif); font-size: 13px; color: var(--muted); letter-spacing: .2em; }
.brand-text strong { font-family: var(--serif); font-size: 21px; color: var(--green); }

.gnb { display: none; }
.gnb a {
  text-decoration: none; font-size: 17px; font-weight: 600; color: var(--text);
  padding: 8px 2px; border-bottom: 2px solid transparent;
}
.gnb a:hover, .gnb a[aria-current="page"] { color: var(--green); border-color: var(--pink); }
.header-call { display: none; }

.menu-btn {
  width: 52px; height: 52px; border: 0; background: transparent; cursor: pointer;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  color: var(--green); font-size: 12px; font-weight: 700; font-family: var(--sans);
}
.menu-btn span.bars, .menu-btn span.bars::before, .menu-btn span.bars::after {
  display: block; width: 24px; height: 2px; background: currentColor; border-radius: 2px; position: relative;
}
.menu-btn span.bars::before, .menu-btn span.bars::after { content: ""; position: absolute; left: 0; }
.menu-btn span.bars::before { top: -7px; }
.menu-btn span.bars::after { top: 7px; }
.menu-btn span.bars { margin: 8px 0 9px; }

.mnav {
  position: fixed; inset: var(--header-h) 0 0 0; z-index: 49; background: var(--bg);
  padding: 12px 16px calc(var(--mbar-h) + 24px); overflow-y: auto;
  transform: translateX(100%); transition: transform .25s; visibility: hidden;
}
.mnav.open { transform: none; visibility: visible; }
.mnav a {
  display: flex; justify-content: space-between; align-items: center; min-height: 58px;
  border-bottom: 1px solid var(--line); text-decoration: none; font-size: 19px; font-weight: 600;
}
.mnav a::after { content: "›"; color: var(--pink); font-size: 26px; }
.mnav .btn { margin-top: 20px; }
.mnav .btn::after { content: none; }

@media (min-width: 1024px) {
  :root { --header-h: 76px; }
  .gnb { display: flex; gap: 26px; }
  .menu-btn, .mnav { display: none; }
  .header-call { display: inline-flex; min-height: 48px; padding: 0 20px; font-size: 17px; }
  .brand img { width: 34px; height: 44px; }
  .brand-text strong { font-size: 23px; }
}

/* ---------- 모바일 하단 고정 상담 바 ---------- */
.mbar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  display: grid; grid-template-columns: 1.4fr 1fr 1fr;
  height: calc(var(--mbar-h) + env(safe-area-inset-bottom));
  padding-bottom: env(safe-area-inset-bottom);
  background: #fff; border-top: 1px solid var(--line); box-shadow: 0 -4px 16px rgba(0,0,0,.06);
}
.mbar a {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  text-decoration: none; font-size: 16px; font-weight: 700; color: var(--green);
}
.mbar a svg { width: 22px; height: 22px; }
.mbar a.mbar-call { background: var(--green); color: #fff; font-size: 17px; }
.mbar a + a { border-left: 1px solid var(--line); }
body { padding-bottom: calc(var(--mbar-h) + env(safe-area-inset-bottom)); }
@media (min-width: 1024px) {
  .mbar { display: none; }
  body { padding-bottom: 0; }
}

/* ---------- 사진 자리(임시) ----------
   data-photo="images/..." 에 적힌 파일을 넣으면 자동으로 사진이 표시됩니다. */
.photo {
  position: relative; background: #CFCFCB; border-radius: var(--radius); overflow: hidden;
  background-size: cover; background-position: center; aspect-ratio: 4 / 3;
}
.photo:not(.has-img)::before {
  content: "사진 교체 예정"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -60%);
  font-size: 16px; font-weight: 700; color: #55554F; white-space: nowrap;
}
.photo:not(.has-img)::after {
  content: attr(data-photo); position: absolute; left: 50%; top: 50%; transform: translate(-50%, 70%);
  font-size: 13px; color: #6A6A64; white-space: nowrap; font-family: monospace;
}

/* ---------- 메인: 히어로 ---------- */
.hero { position: relative; overflow: hidden; color: #fff; }
.hero .photo { position: absolute; inset: 0; border-radius: 0; aspect-ratio: auto; background-color: #8E8E89; }
.hero .photo:not(.has-img)::before, .hero .photo:not(.has-img)::after { left: 12px; transform: none; color: #EDEDE8; z-index: 1; font-size: 12px; }
.hero .photo:not(.has-img)::before { top: 8px; }
.hero .photo:not(.has-img)::after { top: 26px; }
.hero .btn--call { border-color: rgba(255,255,255,.7); }
.hero::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(52,72,6,.35) 0%, rgba(52,72,6,.55) 60%, rgba(52,72,6,.75) 100%);
}
.hero-inner {
  position: relative; z-index: 1; text-align: center;
  padding: 56px 16px 84px; max-width: 760px; margin: 0 auto;
}
.hero-badge {
  display: inline-flex; align-items: center; gap: 12px; font-family: var(--serif);
  font-size: 17px; letter-spacing: .04em; color: #F6F1C8;
}
.hero-badge::before, .hero-badge::after { content: ""; width: 26px; height: 2px; background: var(--pink); }
.hero-logo {
  width: 92px; height: 120px; margin: 22px auto 18px; padding: 14px 18px;
  background: rgba(255,255,255,.94); border-radius: 50%/42%; box-sizing: content-box;
}
.hero-logo img { width: 100%; height: 100%; }
.hero h1 { color: #fff; font-size: 34px; line-height: 1.45; margin-bottom: 16px; text-shadow: 0 2px 12px rgba(0,0,0,.25); }
.hero-sub { font-size: 19px; color: #F7F6EE; margin-bottom: 30px; }
.hero-sub strong { color: #fff; }
.hero .btn--line { background: rgba(255,255,255,.95); border-color: #fff; }
.hero .btn-row { justify-content: center; }
@media (min-width: 768px) {
  .hero-inner { padding: 96px 16px 120px; }
  .hero h1 { font-size: 50px; }
  .hero-sub { font-size: 21px; }
}

/* ---------- 슬라이더 공통 (data-slider) ---------- */
.slider { position: relative; overflow: hidden; isolation: isolate; }
.slider .slide { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 1s ease; }
.slider .slide.is-active { opacity: 1; z-index: 1; }
.slider .slide img { width: 100%; height: 100%; object-fit: cover; }
.slider-dots { position: absolute; left: 0; right: 0; bottom: 14px; z-index: 3; display: flex; justify-content: center; gap: 4px; }
.slider-dots button {
  width: 32px; height: 32px; border: 0; padding: 0; background: transparent; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.slider-dots button::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.55); transition: width .3s, background .3s; }
.slider-dots button[aria-current="true"]::before { width: 26px; border-radius: 6px; background: #fff; }
.slider-arrow {
  position: absolute; top: 50%; z-index: 3; width: 52px; height: 52px; margin-top: -26px; border: 0; border-radius: 50%;
  background: rgba(255,255,255,.85); color: var(--green); font-size: 34px; line-height: 1; cursor: pointer; display: none;
}
.slider-arrow.prev { left: 16px; } .slider-arrow.next { right: 16px; }
@media (min-width: 768px) { .slider-arrow { display: block; } }

/* 렌더링(예상도) 이미지 표기 — 실제 사진으로 바꾸면 이 표시를 지우세요 */
.render-tag {
  position: absolute; right: 10px; top: 10px; z-index: 4;
  background: rgba(0,0,0,.5); color: #fff; font-size: 13px; font-weight: 600; padding: 2px 10px; border-radius: 999px;
}

/* 히어로 슬라이드: 모바일 = 전체 배경 / PC = 오른쪽 세로 액자 */
.hero-slides { position: absolute; inset: 0; }
.hero-slides .slider-dots { bottom: 10px; }
@media (min-width: 1024px) {
  .hero { background: var(--green-dark); }
  .hero::after { display: none; }
  .hero-wrap { max-width: var(--wrap); margin: 0 auto; padding: 56px 16px 104px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: center; }
  .hero-slides { position: relative; inset: auto; aspect-ratio: 4 / 5; max-height: 600px; border-radius: 24px; box-shadow: 0 20px 50px rgba(0,0,0,.3); order: 2; }
  .hero-slides .render-tag { right: 14px; top: 14px; }
  .hero-inner { padding: 0; text-align: left; margin: 0; }
  .hero-badge::before { display: none; }
  .hero-logo { margin: 22px 0 18px; }
  .hero .btn-row { justify-content: flex-start; }
}

/* 파노라마 띠 */
.pano-sec { padding: 64px 0 72px; background: var(--paper); }
.pano { height: 260px; margin-top: 28px; }
.pano figcaption {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 16px 52px; color: #fff; text-align: center;
  font-family: var(--serif); font-size: 19px; background: linear-gradient(transparent, rgba(0,0,0,.55));
}
/* 모바일: 긴 사진을 천천히 옆으로 훑어보기 */
.pano .slide img { object-position: 0% 50%; }
.pano .slide.is-active img { animation: pan 6s linear forwards; }
@keyframes pan { to { object-position: 100% 50%; } }
@media (min-width: 768px) {
  .pano { height: 420px; }
  .pano .slide img, .pano .slide.is-active img { object-position: 50% 50%; animation: none; }
  .pano figcaption { font-size: 22px; padding-bottom: 56px; }
}

/* 사진 위 표기 */
.photo .render-tag { display: none; }
.photo.has-img .render-tag { display: block; }
.photo--wide { aspect-ratio: 16 / 9; margin-top: 16px; }
.card-grid { display: grid; gap: 16px; margin-top: 16px; }
.card-photo { margin: 0; }
.card-photo .photo { aspect-ratio: 4 / 5; }
.card-photo figcaption { font-family: var(--serif); font-size: 19px; color: var(--green); margin-top: 8px; text-align: center; }
@media (min-width: 768px) { .card-grid { grid-template-columns: repeat(3, 1fr); } }

/* ---------- 메인: 두 갈래 입구 ---------- */
.paths { display: grid; gap: 16px; margin-top: -48px; position: relative; z-index: 2; }
.path-card {
  display: block; text-decoration: none; background: #fff; border-radius: var(--radius);
  padding: 26px 22px; border: 1px solid var(--line); box-shadow: 0 8px 24px rgba(79,112,10,.08);
  transition: transform .15s, box-shadow .15s;
}
.path-card:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(79,112,10,.14); }
.path-card .tag { display: inline-block; font-size: 15px; font-weight: 700; padding: 3px 12px; border-radius: 999px; margin-bottom: 10px; }
.path-card h2 { font-size: 25px; margin-bottom: 6px; }
.path-card p { color: var(--muted); margin-bottom: 14px; }
.path-card .go { font-weight: 700; color: var(--green); }
.path-card--prepare .tag { background: var(--green-soft); color: var(--green); }
.path-card--urgent { border-color: var(--pink); }
.path-card--urgent .tag { background: var(--pink-soft); color: var(--pink-ink); }
.path-card--urgent .go { color: var(--pink-ink); }
@media (min-width: 768px) { .paths { grid-template-columns: 1fr 1fr; gap: 24px; } .path-card { padding: 34px 32px; } }

/* ---------- 메인: 꽃길 따라가기 ---------- */
.trail-head { margin-bottom: 40px; }
.trail { position: relative; max-width: 760px; margin: 0 auto; padding-left: 64px; }
.trail-line {
  position: absolute; left: 22px; top: 8px; bottom: 8px; width: 6px; border-radius: 6px;
  background: repeating-linear-gradient(180deg, var(--line) 0 10px, transparent 10px 18px);
}
.trail-fill {
  position: absolute; left: 22px; top: 8px; width: 6px; height: 0; border-radius: 6px;
  background: linear-gradient(180deg, #F0C9A8, var(--pink));
}
.trail-walker {
  position: absolute; left: 25px; top: 8px; width: 34px; height: 34px; margin: -17px 0 0 -17px;
  transition: top .08s linear;
}
.trail-stop { position: relative; padding: 4px 0 56px; opacity: .35; transform: translateY(16px); transition: opacity .5s, transform .5s; }
.trail-stop:last-child { padding-bottom: 0; }
.trail-stop.on { opacity: 1; transform: none; }
.trail-stop::before {
  content: ""; position: absolute; left: -50px; top: 10px; width: 22px; height: 22px; border-radius: 50%;
  background: #fff; border: 4px solid var(--line); transition: border-color .4s, background .4s;
}
.trail-stop.on::before { border-color: var(--pink); background: var(--pink-soft); }
.trail-km { font-size: 15px; font-weight: 700; color: var(--pink-ink); letter-spacing: .05em; }
.trail-stop h3 { font-size: 24px; margin: 2px 0 10px; }
.trail-stop .photo { margin-top: 14px; aspect-ratio: 16 / 9; }
.trail-stop--end .photo { margin-top: 16px; }
.trail-stop--end {
  background: #fff; border: 2px solid var(--pink); border-radius: var(--radius); padding: 24px 20px;
}
.trail-stop--end::before { left: -54px; top: 26px; }
.trail-stop--end .btn-row { margin-top: 18px; }
.note { font-size: 16px; color: var(--muted); }
@media (min-width: 768px) {
  .trail { padding-left: 84px; }
  .trail-line, .trail-fill { left: 30px; }
  .trail-walker { left: 33px; }
  .trail-stop::before { left: -62px; }
  .trail-stop--end::before { left: -66px; }
  .trail-stop--end { padding: 32px; }
}

/* ---------- 메인: 숫자로 보는 대원사 ---------- */
.stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 32px; }
.stat { background: #fff; border-radius: var(--radius); padding: 22px 12px; text-align: center; border: 1px solid var(--line); }
.stat b { display: block; font-family: var(--serif); font-size: 30px; color: var(--green); line-height: 1.2; white-space: nowrap; }
.stat b small { font-size: 16px; margin-left: 2px; }
.stat span { display: block; font-size: 16px; color: var(--muted); margin-top: 6px; line-height: 1.5; }
@media (min-width: 768px) { .stats { grid-template-columns: repeat(3, 1fr); gap: 20px; } .stat b { font-size: 40px; } }

/* ---------- 메인: 사계절 탭 ---------- */
.tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 28px 0 20px; background: var(--green-soft); padding: 6px; border-radius: 999px; }
.tab {
  min-height: 52px; border: 0; border-radius: 999px; background: transparent; cursor: pointer;
  font-family: var(--sans); font-size: 18px; font-weight: 700; color: var(--green);
}
.tab[aria-selected="true"] { background: var(--green); color: #fff; }
.tab-panel { display: grid; gap: 20px; align-items: center; }
.tab-panel[hidden] { display: none; }
.tab-panel h3 { font-size: 24px; }
@media (min-width: 768px) { .tab-panel { grid-template-columns: 1.3fr 1fr; gap: 40px; } .tabs { max-width: 560px; margin-left: auto; margin-right: auto; } }

/* ---------- 메인: 신뢰 띠 ---------- */
.trust { background: var(--green); color: #F1F4E7; padding: 48px 0; }
.trust h2 { color: #fff; font-size: 24px; }
.trust-list { list-style: none; padding: 0; margin: 20px 0 0; display: grid; gap: 14px; }
.trust-list li { display: flex; gap: 12px; align-items: flex-start; }
.trust-list li::before {
  content: ""; flex: none; width: 22px; height: 22px; margin-top: 4px; border-radius: 50%;
  background: var(--pink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12l4 4 8-8' fill='none' stroke='%23fff' stroke-width='3'/%3E%3C/svg%3E") center/14px no-repeat;
}
.trust-list strong { color: #fff; }
.trust .tbd { color: var(--text); }
@media (min-width: 768px) { .trust-list { grid-template-columns: 1fr 1fr; gap: 18px 40px; } }

/* ---------- CTA 박스 ---------- */
.cta-box {
  background: #fff; border-radius: 20px; padding: 36px 20px; text-align: center;
  border: 1px solid var(--line); box-shadow: 0 10px 30px rgba(79,112,10,.08);
}
.cta-box h2 { font-size: 27px; }
.cta-phone { display: block; font-family: var(--sans); font-size: 34px; font-weight: 800; color: var(--green); text-decoration: none; margin: 6px 0 20px; letter-spacing: .01em; }
.cta-box .btn-row { justify-content: center; max-width: 720px; margin: 0 auto; }
.addr { display: grid; gap: 10px; margin: 28px auto 0; max-width: 720px; text-align: left; }
.addr div { background: var(--bg); border-radius: 10px; padding: 14px 16px; }
.addr b { color: var(--green); margin-right: 8px; }
.map-links { display: inline-flex; gap: 8px; margin-left: 6px; flex-wrap: wrap; }
.map-links a { font-size: 15px; font-weight: 700; color: var(--pink-ink); }
@media (min-width: 768px) { .cta-box { padding: 52px 40px; } .cta-phone { font-size: 44px; } .addr { grid-template-columns: 1fr 1fr; } }

/* ---------- 서브 페이지 공통 ---------- */
.page-hero { background: var(--green-soft); padding: 48px 0 40px; border-bottom: 1px solid var(--line); }
.page-hero h1 { font-size: 32px; margin-bottom: 8px; }
.page-hero p { color: var(--muted); margin: 0; }
.breadcrumb { font-size: 15px; color: var(--muted); margin-bottom: 10px; }
.breadcrumb a { text-decoration: none; }
.draft { border: 2px dashed var(--line); border-radius: var(--radius); padding: 22px 20px; background: #fff; }
.draft h2 { font-size: 23px; }
.draft + .draft { margin-top: 16px; }
@media (min-width: 768px) { .page-hero { padding: 72px 0 56px; } .page-hero h1 { font-size: 42px; } }

/* ---------- 푸터 ---------- */
.site-footer { background: var(--green-dark); color: #D9E0C6; padding: 48px 0 40px; font-size: 16px; line-height: 1.8; }
.site-footer a { color: #fff; }
.f-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.f-brand img { width: 34px; height: 44px; background: var(--bg); border-radius: 8px; padding: 4px; box-sizing: content-box; }
.f-brand strong { font-family: var(--serif); font-size: 22px; color: #fff; display: block; line-height: 1.3; }
.f-brand small { color: #BFC9A8; font-size: 14px; }
.f-info { display: grid; gap: 4px; margin-bottom: 18px; }
.f-info b { color: #fff; font-weight: 600; margin-right: 6px; }
.f-info .tbd { color: var(--text); }
.f-links { display: flex; gap: 18px; flex-wrap: wrap; border-top: 1px solid rgba(255,255,255,.15); padding-top: 16px; }
.f-links a { text-decoration: none; font-weight: 600; }
.f-copy { margin-top: 10px; font-size: 14px; color: #A6B188; }

/* ---------- 접근성 ---------- */
.skip { position: absolute; left: -9999px; }
.skip:focus { left: 16px; top: 8px; z-index: 100; background: #fff; padding: 8px 14px; }
:focus-visible { outline: 3px solid var(--pink); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .slider .slide { transition: none; }
  .pano .slide.is-active img { animation: none; }
  .trail-stop { opacity: 1; transform: none; transition: none; }
  .trail-walker { transition: none; }
}

/* ---------- 신도 가입 안내 (아주 작게, 곳곳에 재사용) ---------- */
.member-note { font-size: 13px; line-height: 1.5; color: var(--muted); margin: 10px 0 0; letter-spacing: -.01em; }
.member-note b { font-weight: 700; color: var(--pink-ink); }
.hero .member-note, .trust .member-note, .site-footer .member-note { color: rgba(255,255,255,.82); }
.hero .member-note b, .trust .member-note b, .site-footer .member-note b { color: #F2E98A; }
.center .member-note, .cta-box .member-note { text-align: center; }

/* ---------- 수목장 안내: 가격표 ---------- */
.tbl-title { font-size: 22px; margin: 36px 0 12px; }
.tbl-title small { display: block; font-family: var(--sans); font-size: 16px; font-weight: 400; color: var(--muted); margin-top: 2px; }
.tbl-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.price-tbl, .status-tbl { width: 100%; border-collapse: collapse; background: #fff; font-size: 17px; }
.price-tbl th, .price-tbl td { border: 1px solid var(--line); padding: 12px 8px; text-align: center; vertical-align: middle; }
.price-tbl thead th { background: var(--green); color: #fff; font-weight: 700; font-size: 16px; }
.price-tbl tbody th { background: var(--bg); color: var(--green); font-weight: 700; }
.price-tbl tbody th small { display: block; font-size: 13px; font-weight: 400; color: var(--muted); margin-top: 2px; }
.price-tbl tbody th small .tbd::after { content: none; }
.price-blank { background: repeating-linear-gradient(135deg, #FFF8CF 0 8px, #FFF1A8 8px 16px); min-width: 72px; }
.tbl-notes { list-style: none; padding: 0; margin: 16px 0 0; font-size: 16px; color: var(--muted); }
.tbl-notes li::before { content: "* "; color: var(--pink-ink); }
@media (min-width: 768px) {
  .price-tbl th, .price-tbl td { padding: 14px 16px; font-size: 18px; }
  .price-tbl thead th { font-size: 17px; }
}

/* 이용 안내 카드 */
.info-grid { display: grid; gap: 14px; margin-top: 24px; }
.info-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; }
.info-card h3 { font-size: 20px; margin-bottom: 6px; }
.info-card p { margin: 0; }
@media (min-width: 768px) { .info-grid { grid-template-columns: 1fr 1fr; gap: 18px; } }

/* 절차 */
.steps { list-style: none; padding: 0; margin: 24px 0 12px; counter-reset: st; display: grid; gap: 12px; }
.steps li { counter-increment: st; position: relative; background: #fff; border-radius: var(--radius); padding: 16px 16px 16px 64px; }
.steps li::before {
  content: counter(st); position: absolute; left: 16px; top: 16px; width: 34px; height: 34px; border-radius: 50%;
  background: var(--green); color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center;
}
.steps b { display: block; color: var(--green); font-size: 19px; }
.steps span { color: var(--muted); }
@media (min-width: 1024px) { .steps { grid-template-columns: repeat(5, 1fr); } .steps li { padding: 60px 16px 18px; } }

/* 조성 현황 표 */
.status-tbl { margin-top: 20px; }
.status-tbl th, .status-tbl td { border-bottom: 1px solid var(--line); padding: 14px 10px; text-align: left; vertical-align: top; }
.status-tbl th { width: 34%; color: var(--green); font-weight: 700; background: var(--bg); }
.chip { display: inline-block; font-size: 13px; font-weight: 700; padding: 1px 10px; border-radius: 999px; margin-right: 6px; }
.chip--done { background: var(--green-soft); color: var(--green); }

/* ---------- 메인 히어로 실사진 · 작은 로고 ---------- */
.hero-photo { margin: 0; }
.hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
.hero-mark { width: 22px; height: 29px; flex: none; }
.hero-badge { gap: 10px; }
.hero-inner { padding-top: 120px; }
@media (min-width: 1024px) { .hero-inner { padding-top: 0; } .hero-photo { max-height: 620px; } }

/* ---------- 메인 소개 + 바로가기 ---------- */
.intro .lead { max-width: 760px; margin: 0 auto; }
.quick { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 32px; }
.quick a {
  display: block; text-decoration: none; background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  padding: 18px 16px; transition: border-color .15s, transform .15s;
}
.quick a:hover { border-color: var(--pink); transform: translateY(-2px); }
.quick b { display: block; font-family: var(--serif); font-size: 19px; color: var(--green); }
.quick b::after { content: " ›"; color: var(--pink); }
.quick span { display: block; font-size: 15px; color: var(--muted); line-height: 1.5; margin-top: 4px; }
@media (min-width: 768px) { .quick { grid-template-columns: repeat(4, 1fr); gap: 16px; } .quick a { padding: 22px 20px; } }

/* ---------- 메인 실사진 미리보기 ---------- */
.gallery-strip { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 28px 0 24px; }
.gallery-strip a { display: block; border-radius: 12px; overflow: hidden; aspect-ratio: 3 / 4; }
.gallery-strip img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.gallery-strip a:hover img { transform: scale(1.04); }
@media (min-width: 768px) { .gallery-strip { grid-template-columns: repeat(4, 1fr); gap: 14px; } }

.photo--tall { aspect-ratio: 3 / 4 !important; max-width: 420px; }

/* ---------- 추모목 안내 카드 ---------- */
.tree-grid { display: grid; gap: 16px; margin-top: 24px; }
.tree-card { position: relative; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 14px 18px; }
.tree-card .photo { aspect-ratio: 4 / 3; margin-bottom: 12px; }
.tree-card h3 { font-size: 21px; margin-bottom: 4px; }
.tree-card h3 small { font-family: var(--sans); font-size: 15px; color: var(--pink-ink); font-weight: 700; margin-left: 4px; }
.tree-card p { margin: 0 0 6px; }
.tree-sp { font-size: 15px; color: var(--muted); }
.tree-no {
  position: absolute; left: 22px; top: 22px; z-index: 2; width: 34px; height: 34px; border-radius: 50%;
  background: var(--green); color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center;
}
@media (min-width: 768px) { .tree-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tree-grid { grid-template-columns: repeat(3, 1fr); } }
.card-grid--4 { grid-template-columns: 1fr 1fr; }
@media (min-width: 768px) { .card-grid--4 { grid-template-columns: repeat(4, 1fr); } }
.draft .photo--tall { margin-top: 16px; }

/* ---------- 설명 달린 사진 (figure + 캡션) ---------- */
.fig { margin: 14px 0 0; }
.fig img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); }
.fig figcaption { font-size: 15px; color: var(--muted); margin-top: 6px; line-height: 1.5; }
.fig--wide img { aspect-ratio: 16 / 9; }
.fig-grid { display: grid; gap: 12px; }
@media (min-width: 768px) { .fig-grid { grid-template-columns: 1fr 1fr; gap: 18px; } }
.src-note { font-size: 14px; color: var(--muted); margin: 10px 0 0; }
.card-photo--land img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); }
.card-grid--land { grid-template-columns: 1fr; }
@media (min-width: 768px) { .card-grid--land { grid-template-columns: repeat(3, 1fr); } }

/* =========================================================
   고급스러운 안정감 다듬기 (2026-10-02) — 아래 규칙이 위 규칙을 덮어씀
   ========================================================= */
:root {
  --gold: #B08A3E;          /* 가는 선 · 번호 등 절제된 포인트 */
  --hair: rgba(79, 112, 10, .14);
  --shadow: 0 1px 2px rgba(52,72,6,.04), 0 10px 30px rgba(52,72,6,.07);
}

/* 상단 신뢰 띠 */
.topbar { background: var(--green-dark); color: #D9E0C6; font-size: 14px; letter-spacing: .02em; }
.topbar .wrap { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.topbar b { color: #fff; font-weight: 600; }
.topbar a { color: #fff; text-decoration: none; font-weight: 600; }

/* 제목 체계: 작은 머리글 + 명조 제목 + 가는 금선 */
.eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--sans); font-size: 14px; font-weight: 600; letter-spacing: .2em; color: var(--pink-ink);
}
.eyebrow::before { content: ""; width: 22px; height: 1px; background: currentColor; opacity: .7; }
.center .eyebrow::after { content: ""; width: 22px; height: 1px; background: currentColor; opacity: .7; }
.sec-title { font-size: 30px; letter-spacing: -.01em; line-height: 1.38; }
.sec-title::after { width: 44px; height: 1px; border-radius: 0; background: var(--gold); margin-top: 18px; }
@media (min-width: 768px) { .sec-title { font-size: 38px; } .section { padding: 96px 0; } }

/* 카드 공통 질감 */
.path-card, .stat, .info-card, .tree-card, .draft, .cta-box, .steps li {
  border: 1px solid var(--hair); box-shadow: var(--shadow); border-radius: 18px;
}
.draft { border-style: solid; }
.path-card { padding: 30px 26px; }
.path-card h2 { font-size: 26px; }
.btn--call { box-shadow: 0 6px 18px rgba(52,72,6,.22); }
.btn { letter-spacing: .01em; }

/* 메인 소개: 사진 + 글 2단 */
.intro-sec { background: var(--bg); }
.intro-sec .intro { display: grid; gap: 36px; align-items: center; }
.intro-photo { position: relative; margin: 0 12px 0 0; }
.intro-photo::before {
  content: ""; position: absolute; inset: 14px -12px -12px 14px; border: 1px solid var(--gold); border-radius: 22px; opacity: .6;
}
.intro-photo img { position: relative; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 20px; box-shadow: var(--shadow); }
.intro-photo figcaption { position: relative; font-size: 14px; color: var(--muted); margin-top: 20px; }
.intro-text p { font-size: 18px; color: #3d3d3a; }
.intro-facts { margin: 24px 0 0; border-top: 1px solid var(--hair); }
.intro-facts div { display: grid; grid-template-columns: 92px 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--hair); }
.intro-facts dt { font-size: 15px; font-weight: 700; color: var(--green); letter-spacing: .04em; }
.intro-facts dd { margin: 0; font-size: 17px; }
.intro-sign { font-family: var(--serif); color: var(--pink-ink); font-size: 18px; margin: 22px 0 0; }
.intro-sign::before { content: "— "; }
@media (min-width: 1024px) {
  .intro-sec .intro { grid-template-columns: 1fr 1fr; gap: 72px; }
  .intro-photo img { aspect-ratio: 4 / 5; }
}

/* 바로가기: 숲 초록 바탕 + 가는 선 격자 */
.quick-sec { background: var(--green); color: #EFF3E3; padding: 72px 0; position: relative; overflow: hidden; }
.quick-sec::before {
  content: ""; position: absolute; right: -70px; bottom: -80px; width: 260px; height: 340px; opacity: .045;
  background: url("../assets/logo/logo-mark.svg") center / contain no-repeat; filter: brightness(0) invert(1);
}
.quick-head { position: relative; margin-bottom: 28px; }
.quick-head .eyebrow { color: #F2E98A; }
.quick-head h2 { color: #fff; font-size: 26px; margin: 6px 0 0; }
.quick-sec .quick {
  position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 0;
  border-top: 1px solid rgba(255,255,255,.16); border-left: 1px solid rgba(255,255,255,.16);
}
.quick-sec .quick a {
  position: relative; display: flex; flex-direction: column; gap: 6px; min-height: 168px;
  padding: 22px 16px 20px; background: transparent; border: 0; border-radius: 0;
  border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16);
  color: #fff; text-decoration: none; transition: background .25s;
}
.quick-sec .quick a:hover, .quick-sec .quick a:focus-visible { background: rgba(255,255,255,.07); transform: none; }
.quick-sec .q-no { display: block; position: absolute; right: 14px; top: 14px; font-size: 12px; letter-spacing: .12em; color: #E2CF8E; font-weight: 700; }
.quick-sec .q-ic { width: 30px; height: 30px; fill: none; stroke: #F2E98A; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 6px; }
.quick-sec .quick b { font-family: var(--serif); font-size: 19px; color: #fff; }
.quick-sec .quick b::after { content: none; }
.quick-sec .q-desc { display: block; font-size: 15px; margin: 0; color: #D9E0C6; line-height: 1.5; }
.quick-sec .q-go { display: block; margin-top: auto; color: #F2E98A; font-size: 18px; opacity: .6; transition: transform .25s, opacity .25s; }
.quick-sec .quick a:hover .q-go { opacity: 1; transform: translateX(4px); }
@media (min-width: 768px) {
  .quick-sec { padding: 96px 0; }
  .quick-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 36px; }
  .quick-head h2 { font-size: 34px; }
  .quick-sec .quick { grid-template-columns: repeat(4, 1fr); }
  .quick-sec .quick a { min-height: 210px; padding: 30px 26px 26px; }
  .quick-sec .q-ic { width: 34px; height: 34px; }
  .quick-sec .quick b { font-size: 22px; }
  .quick-sec .q-desc { font-size: 16px; }
}

/* 숫자 · 신뢰 띠 다듬기 */
.stat { padding: 26px 12px; background: #fff; }
.stat b { color: var(--green); }
.stat span { font-size: 15px; }
.trust { background: var(--green-dark); padding: 64px 0; }
.trust h2 { font-size: 26px; }
.trust-list li { padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.12); }
.trust-list li::before { background-color: transparent; border: 1px solid var(--pink); }

/* 페이지 머리 · 푸터 */
.site-footer { border-top: 3px solid var(--gold); }

/* ---------- 서브 페이지 고급화 ---------- */
.page-hero {
  position: relative; overflow: hidden; color: #fff; padding: 64px 0 56px; border-bottom: 0;
  background-color: var(--green-dark); background-size: cover; background-position: center; background-repeat: no-repeat;
}
.page-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(52,72,6,.92) 0%, rgba(52,72,6,.72) 55%, rgba(52,72,6,.45) 100%); }
.page-hero .wrap { position: relative; }
.page-hero h1 { color: #fff; font-size: 34px; letter-spacing: -.01em; }
.page-hero h1::after { content: ""; display: block; width: 44px; height: 1px; background: var(--gold); margin-top: 16px; }
.page-hero p { color: #EAEFDC; font-size: 18px; }
.page-hero .breadcrumb { color: #D9E0C6; font-size: 14px; letter-spacing: .08em; }
.page-hero .breadcrumb a { color: #fff; }
.page-hero .member-note { color: rgba(255,255,255,.8); margin-top: 14px; }
.page-hero .member-note b { color: #F2E98A; }
@media (min-width: 768px) { .page-hero { padding: 104px 0 88px; } .page-hero h1 { font-size: 46px; } }

.draft { padding: 28px 22px; background: #fff; }
.draft + .draft { margin-top: 20px; }
.draft h2 { position: relative; font-size: 24px; padding-left: 16px; margin-bottom: 14px; }
.draft h2::before { content: ""; position: absolute; left: 0; top: .35em; bottom: .35em; width: 3px; background: var(--pink); border-radius: 2px; }
@media (min-width: 768px) { .draft { padding: 40px 44px; } .draft h2 { font-size: 27px; } }

.tbl-wrap { border-radius: 16px; border: 1px solid var(--hair); box-shadow: var(--shadow); }
.price-tbl th, .price-tbl td { border-color: var(--hair); }
.price-tbl thead th { background: var(--green-dark); letter-spacing: .04em; }
.status-tbl { margin-top: 0; }
.tbl-title { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.tbl-title small { display: inline; margin: 0; }
.info-card { padding: 24px 22px; border-top: 3px solid var(--gold); }
.tree-card { padding: 16px 16px 22px; }
.tree-card h3 { font-size: 22px; }

/* FAQ 아코디언 */
.faq-list { display: grid; gap: 12px; }
.faq-item { background: #fff; border: 1px solid var(--hair); border-radius: 16px; box-shadow: var(--shadow); }
.faq-item summary {
  list-style: none; cursor: pointer; display: flex; gap: 14px; align-items: flex-start;
  padding: 22px 20px; font-family: var(--serif); font-size: 20px; color: var(--green); font-weight: 700;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::before { content: "Q"; flex: none; font-family: var(--serif); color: var(--pink-ink); }
.faq-item summary::after { content: "+"; margin-left: auto; color: var(--gold); font-size: 26px; line-height: 1; transition: transform .2s; }
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-item .faq-a { padding: 0 20px 22px 50px; color: #3d3d3a; }
.faq-item .faq-a p { margin: 0; }
@media (min-width: 768px) { .faq-item summary { padding: 26px 30px; font-size: 21px; } .faq-item .faq-a { padding: 0 30px 26px 60px; } }

/* 신도 등록 안내: 부담 없이 조용하게 */
.member-note { font-size: 13px; color: var(--muted); }
.member-note b { color: inherit; font-weight: 600; }
.site-footer .member-note { color: #B3BE97; margin-top: 14px; }

/* ---------- 신도 가입 이유 설명 ---------- */
.mw-why { display: block; font-size: 13px; line-height: 1.6; color: inherit; opacity: .85; margin-top: 4px; }
.trust .mw-why { color: #D9E0C6; font-size: 14px; }
.info-card .mw-why { font-size: 15px; color: var(--muted); opacity: 1; margin-top: 8px; }
.member-why {
  margin-top: 28px; padding: 22px 20px; border-radius: 16px; background: #F7F6EE;
  border: 1px solid var(--hair); border-left: 3px solid var(--gold); font-size: 15px; line-height: 1.65;
}
.member-why--plain { margin-top: 0; background: transparent; border: 0; padding: 0; }
.mw-lead { margin: 0 0 12px; font-size: 16px; color: var(--text); }
.mw-lead b { color: var(--green); }
.mw-q { margin: 0 0 8px; font-family: var(--serif); font-weight: 700; color: var(--green); font-size: 16px; }
.member-why ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.member-why li { position: relative; padding-left: 18px; }
.member-why li::before { content: ""; position: absolute; left: 2px; top: .7em; width: 6px; height: 6px; border-radius: 50%; background: var(--pink); }
.member-why li b { display: block; color: var(--green); font-size: 15px; }
.member-why li span { color: var(--muted); }
.mw-foot { margin: 12px 0 0; font-size: 14px; color: var(--muted); }
@media (min-width: 768px) {
  .member-why:not(.member-why--plain) ul { grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .member-why:not(.member-why--plain) { padding: 26px 30px; }
}

/* ---------- 가격의 가치 요약 ---------- */
.value-strip { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 28px 0 12px; background: var(--hair); border: 1px solid var(--hair); border-radius: 16px; overflow: hidden; }
.value-strip div { background: #fff; padding: 18px 16px; }
.value-strip b { display: block; font-family: var(--serif); font-size: 18px; color: var(--green); }
.value-strip b::before { content: ""; display: block; width: 18px; height: 1px; background: var(--gold); margin-bottom: 10px; }
.value-strip span { display: block; font-size: 14px; color: var(--muted); line-height: 1.55; margin-top: 4px; }
.value-note { font-size: 15px; color: var(--muted); margin: 0 0 8px; }
@media (min-width: 768px) { .value-strip { grid-template-columns: repeat(4, 1fr); } .value-strip div { padding: 24px 22px; } .value-strip b { font-size: 20px; } .value-strip span { font-size: 15px; } }

/* =========================================================
   대원사 홈페이지 색감 맞춤 (올리브 초록 · 주황갈색 · 흰 바탕) 2026-10-04
   ========================================================= */
:root { --olive: #587A0B; --olive-top: #466401; --rust: #B34A16; --temple-yellow: #F2E98A; --brown: #5A4823; }
body { background: #FFFFFF; }
.section--paper, .pano-sec, .intro-sec { background: #F7F6EE; }
.topbar { background: var(--olive-top); }
.site-header { background: var(--olive); border-bottom: 3px solid var(--rust); backdrop-filter: none; }
.brand img { background: #fff; border-radius: 10px; padding: 3px 4px; box-sizing: content-box; }
.brand-text small { color: #E3EAC9; }
.brand-text strong { color: #fff; }
.gnb a { color: #fff; }
.gnb a:hover, .gnb a[aria-current="page"] { color: var(--temple-yellow); border-color: var(--temple-yellow); }
.menu-btn { color: #fff; }
.header-call { background: var(--rust); box-shadow: none; }
.header-call:hover { background: #9A3D10; }
.eyebrow { color: var(--rust); }
.site-footer { background: var(--olive-top); border-top-color: var(--rust); }
.trail-fill { background: linear-gradient(180deg, #F3C6CD, #D98C98); }
.trail-stop.on::before { border-color: #D98C98; background: #FBEFF1; }
.mbar a.mbar-call { background: var(--olive); }

/* ---------- 정보 목록 · 연혁 · 문화재 ---------- */
.sub-h { font-size: 20px; margin: 28px 0 12px; }
.info-list, .heritage { list-style: none; padding: 0; margin: 8px 0 0; border-top: 1px solid var(--hair); }
.info-list li, .heritage li { display: grid; gap: 2px; padding: 12px 0; border-bottom: 1px solid var(--hair); }
.info-list b, .heritage b { color: var(--green); font-size: 16px; }
.info-list span, .heritage span { color: #3d3d3a; font-size: 16px; }
@media (min-width: 768px) {
  .info-list li, .heritage li { grid-template-columns: 200px 1fr; gap: 16px; }
}
.timeline { list-style: none; padding: 0 0 0 18px; margin: 8px 0 0; border-left: 2px solid var(--hair); }
.timeline li { position: relative; padding: 0 0 14px 14px; }
.timeline li::before { content: ""; position: absolute; left: -25px; top: 8px; width: 10px; height: 10px; border-radius: 50%; background: #fff; border: 2px solid var(--rust); }
.timeline b { display: block; color: var(--rust); font-size: 15px; letter-spacing: .03em; }
.timeline span { font-size: 16px; color: #3d3d3a; }
.visit-mini { display: block; font-size: 14px; color: var(--muted); margin-top: 2px; }

/* =========================================================
   메인 리뉴얼 (참고: 전체 폭 슬라이드 · 사진 카드 · 2단 하단) 2026-10-04
   ========================================================= */
/* 히어로 */
.mhero { position: relative; height: max(600px, 86vh); max-height: 900px; overflow: hidden; background: #1f2b05; color: #fff; }
.mhero-slides { position: absolute; inset: 0; }
.mhero .slide { margin: 0; }
.mhero .slide img { width: 100%; height: 100%; object-fit: cover; }
.mhero .slide img.is-soft { filter: blur(2px) saturate(1.05); transform: scale(1.08); }
.mhero .slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,28,2,.45) 0%, rgba(20,28,2,.5) 55%, rgba(20,28,2,.78) 100%); }
.mhero .slide.is-active img { animation: kenburns 9s ease-out forwards; }
.mhero .slide.is-active img.is-soft { animation: none; }
@keyframes kenburns { from { transform: scale(1.06); } to { transform: scale(1); } }
.mhero-copy {
  position: absolute; z-index: 2; left: 0; right: 0; top: 38%; transform: translateY(-50%);
  text-align: center; padding: 0 20px; max-width: 900px; margin: 0 auto;
}
.mhero-kicker { display: inline-block; font-size: 14px; font-weight: 600; letter-spacing: .22em; color: var(--temple-yellow); margin-bottom: 14px; }
.mhero h1, .mhero .mhero-title {
  font-family: var(--serif); font-weight: 700; color: #fff; font-size: 34px; line-height: 1.38; margin: 0 0 14px;
  text-shadow: 0 2px 18px rgba(0,0,0,.35); letter-spacing: -.01em;
}
.mhero-copy p:not(.mhero-title) { font-size: 17px; color: #EEF1E2; margin: 0; }
.mhero .slide.is-active .mhero-copy > * { animation: rise .9s ease both; }
.mhero .slide.is-active .mhero-copy > *:nth-child(2) { animation-delay: .15s; }
.mhero .slide.is-active .mhero-copy > *:nth-child(3) { animation-delay: .3s; }
@keyframes rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.mhero figcaption { position: absolute; z-index: 2; left: 16px; bottom: 16px; font-size: 12px; color: rgba(255,255,255,.7); }
.mhero-ctrl { position: absolute; z-index: 3; left: 0; right: 0; bottom: 64px; display: flex; align-items: center; justify-content: center; gap: 10px; }
.mhero-ctrl .slider-dots { position: static; }
.slider-count { font-size: 13px; letter-spacing: .12em; color: rgba(255,255,255,.85); }
.mhero-cta { position: absolute; z-index: 3; left: 0; right: 0; bottom: 112px; display: flex; flex-direction: column; gap: 10px; padding: 0 16px; align-items: stretch; }
.btn--glass { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.75); backdrop-filter: blur(4px); }
.btn--glass:hover { background: rgba(255,255,255,.22); }
.scroll-ind {
  position: absolute; z-index: 3; right: 18px; bottom: 120px; writing-mode: vertical-rl; font-size: 11px; letter-spacing: .3em;
  color: rgba(255,255,255,.8); text-decoration: none; padding-bottom: 46px; display: none;
}
.scroll-ind::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 1px; height: 38px; background: rgba(255,255,255,.7); animation: drip 1.8s infinite; }
@keyframes drip { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
.mhero .slider-arrow { background: rgba(255,255,255,.14); color: #fff; border: 1px solid rgba(255,255,255,.5); }
@media (min-width: 768px) {
  .mhero h1, .mhero .mhero-title { font-size: 56px; }
  .mhero-copy p:not(.mhero-title) { font-size: 20px; }
  .mhero-cta { flex-direction: row; justify-content: center; bottom: 128px; }
  .mhero-ctrl { bottom: 72px; }
  .scroll-ind { display: block; }
  .mhero figcaption { left: 24px; bottom: 22px; }
}
@media (prefers-reduced-motion: reduce) { .mhero .slide.is-active img, .mhero .slide.is-active .mhero-copy > * { animation: none; } }

/* 꽃길숲을 선택하는 이유 */
.merit { list-style: none; padding: 0; margin: 36px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--hair); border: 1px solid var(--hair); border-radius: 18px; overflow: hidden; }
.merit li { background: #fff; padding: 24px 16px 22px; text-align: center; }
.merit svg { width: 44px; height: 44px; padding: 10px; border: 1px solid var(--hair); border-radius: 50%; fill: none; stroke: var(--olive); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 12px; }
.merit b { display: block; font-family: var(--serif); font-size: 18px; color: var(--green); }
.merit span { display: block; font-size: 14px; color: var(--muted); margin-top: 4px; line-height: 1.5; }
@media (min-width: 768px) { .merit { grid-template-columns: repeat(3, 1fr); } .merit li { padding: 34px 24px 30px; } .merit svg { width: 54px; height: 54px; padding: 13px; } .merit b { font-size: 21px; } .merit span { font-size: 15px; } }

/* 꽃길숲 안내: 제목 + 사진 카드 캐러셀 */
.guide-sec { background: #F7F6EE; overflow: hidden; }
.guide-wrap { display: grid; gap: 24px; }
.guide-head p { color: var(--muted); }
.car-btns { display: flex; gap: 18px; margin-top: 18px; }
.car-btns button { background: none; border: 0; border-bottom: 1px solid currentColor; padding: 4px 0; font-size: 14px; letter-spacing: .08em; color: var(--muted); cursor: pointer; font-family: var(--sans); }
.car-btns button:hover { color: var(--green); }
.car { margin-right: -16px; }
.car-track { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 4px 16px 8px 0; }
.car-track::-webkit-scrollbar { display: none; }
.pcard {
  position: relative; flex: 0 0 72%; max-width: 300px; aspect-ratio: 3 / 4; border-radius: 16px; overflow: hidden; scroll-snap-align: start;
  background: linear-gradient(160deg, #6E8F22, #3F5C03); color: #fff; text-decoration: none; box-shadow: var(--shadow);
}
.pcard img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.pcard:hover img { transform: scale(1.05); }
.pcard::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,28,2,0) 35%, rgba(20,28,2,.78) 100%); }
.pcard--plain::before {
  content: ""; position: absolute; right: -30px; top: -20px; width: 180px; height: 230px; opacity: .1;
  background: url("../assets/logo/logo-mark.svg") center / contain no-repeat; filter: brightness(0) invert(1);
}
.pcard-body { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; padding: 20px; display: block; }
.pcard-body b { display: block; font-family: var(--serif); font-size: 22px; }
.pcard-body span { display: block; font-size: 14px; color: #EEF1E2; margin-top: 6px; line-height: 1.5; }
.pcard-body i { display: inline-block; font-style: normal; margin-top: 12px; color: var(--temple-yellow); transition: transform .25s; }
.pcard:hover .pcard-body i { transform: translateX(4px); }
@media (min-width: 1024px) {
  .guide-wrap { grid-template-columns: 280px minmax(0, 1fr); gap: 40px; align-items: center; }
  .pcard { flex-basis: 260px; }
}

/* 하단 2단: 자주 묻는 질문 + 상담 */
.duo { display: grid; gap: 24px; }
.duo-head { display: flex; align-items: baseline; justify-content: space-between; border-bottom: 2px solid var(--green); padding-bottom: 12px; }
.duo-head h2 { font-size: 26px; margin: 0; }
.duo-head a { font-size: 14px; color: var(--muted); text-decoration: none; }
.duo-faq ul { list-style: none; padding: 0; margin: 0; background: #fff; border-radius: 0 0 16px 16px; }
.duo-faq li a { display: flex; gap: 12px; padding: 18px 8px; border-bottom: 1px solid var(--hair); text-decoration: none; font-size: 17px; }
.duo-faq li a:hover { color: var(--green); }
.duo-faq li span { font-family: var(--serif); color: var(--rust); font-weight: 700; }
.duo-call { background: #fff; border: 1px solid var(--hair); border-radius: 18px; padding: 28px 22px; box-shadow: var(--shadow); }
.duo-call h2 { font-size: 24px; }
.duo-call .cta-phone { margin: 4px 0 8px; }
.duo-note { font-size: 15px; color: var(--muted); }
.duo-call .addr { grid-template-columns: 1fr; margin-top: 20px; }
@media (min-width: 1024px) { .duo { grid-template-columns: 1fr 1.1fr; gap: 48px; align-items: start; } .duo-call { padding: 36px; } .duo-call .cta-phone { font-size: 40px; } }

/* 맨 위로 */
.to-top {
  position: fixed; z-index: 55; right: 14px; bottom: calc(var(--mbar-h) + 14px + env(safe-area-inset-bottom));
  width: 46px; height: 46px; border-radius: 50%; background: #fff; color: var(--green); border: 1px solid var(--hair);
  box-shadow: var(--shadow); display: flex; align-items: center; justify-content: center; text-decoration: none; font-size: 20px;
  opacity: 0; pointer-events: none; transition: opacity .3s;
}
.to-top.show { opacity: 1; pointer-events: auto; }
@media (min-width: 1024px) { .to-top { bottom: 28px; right: 28px; width: 52px; height: 52px; } }

/* ---------- 히어로 부제 줄맞춤 ---------- */
.mhero-copy p:not(.mhero-title) { line-height: 1.75; text-wrap: balance; }
@media (max-width: 767px) { .mhero-copy p:not(.mhero-title) { font-size: 15.5px; } }

/* ---------- 가까운 거리 ---------- */
.near-sec { background: #fff; }
.near { display: grid; gap: 28px; align-items: center; }
.near-map { max-width: 300px; margin: 0 auto; width: 100%; }
.near-map .ring { fill: none; stroke: var(--olive); stroke-dasharray: 3 5; }
.near-map .r1 { fill: rgba(88,122,11,.12); stroke-dasharray: none; }
.near-map .r2 { fill: rgba(88,122,11,.06); }
.near-map .r3 { opacity: .7; }
.near-map .dot { fill: var(--rust); }
.near-map text { font-family: var(--sans); text-anchor: middle; font-weight: 700; fill: var(--green); font-size: 15px; }
.near-map .lbl-c { fill: var(--rust); font-family: var(--serif); font-size: 17px; }
.near-map .lbl-s { font-size: 13px; fill: var(--muted); }
.near-list { list-style: none; padding: 0; margin: 20px 0 10px; display: grid; gap: 10px; }
.near-list li { display: flex; align-items: baseline; gap: 14px; padding: 14px 18px; border: 1px solid var(--hair); border-radius: 14px; background: #F7F6EE; }
.near-list b { flex: none; min-width: 96px; font-family: var(--serif); font-size: 24px; color: var(--green); }
.near-list span { font-size: 16px; color: #3d3d3a; }
.near-list--plain li { background: #fff; }
@media (min-width: 1024px) { .near { grid-template-columns: 340px 1fr; gap: 64px; } .near-map { max-width: 340px; } .near-list b { font-size: 28px; min-width: 120px; } }

/* =========================================================
   두 갈래 카드 · 선택 이유 — 고급화 2026-10-04
   ========================================================= */
.paths { gap: 18px; }
.path-card {
  position: relative; display: flex; flex-direction: column; min-height: 250px;
  padding: 34px 30px 30px; border-radius: 20px; border: 1px solid var(--hair);
  background: #fff; box-shadow: 0 2px 4px rgba(52,72,6,.04), 0 18px 40px rgba(52,72,6,.10);
  transition: transform .25s, box-shadow .25s;
}
.path-card:hover { transform: translateY(-4px); box-shadow: 0 2px 4px rgba(52,72,6,.05), 0 24px 50px rgba(52,72,6,.16); }
.path-card::before { content: ""; position: absolute; left: 30px; top: 0; width: 44px; height: 3px; background: var(--gold); border-radius: 0 0 3px 3px; }
.pc-no { position: absolute; right: 28px; top: 26px; font-family: var(--serif); font-size: 15px; letter-spacing: .14em; color: var(--gold); }
.path-card .tag {
  align-self: flex-start; background: none !important; padding: 0; border-radius: 0; margin-bottom: 14px;
  font-size: 13px; font-weight: 700; letter-spacing: .16em; color: var(--rust) !important;
}
.path-card h2 { font-size: 25px; line-height: 1.45; letter-spacing: -.01em; margin-bottom: 10px; }
.path-card p { font-size: 16px; line-height: 1.7; color: var(--muted); margin-bottom: 22px; }
.path-card .go {
  margin-top: auto; display: flex; align-items: center; justify-content: space-between;
  padding-top: 18px; border-top: 1px solid var(--hair); font-size: 16px; font-weight: 700; color: var(--green);
}
.path-card .go::after {
  content: "→"; width: 42px; height: 42px; border-radius: 50%; border: 1px solid currentColor;
  display: inline-flex; align-items: center; justify-content: center; font-size: 17px; transition: background .25s, color .25s;
}
.path-card:hover .go::after { background: var(--green); color: #fff; border-color: var(--green); }
/* 상을 당하셨나요: 깊은 올리브 카드 */
.path-card--urgent { background: linear-gradient(150deg, #4F700A 0%, #34490A 100%); border-color: transparent; color: #fff; }
.path-card--urgent h2 { color: #fff; }
.path-card--urgent p { color: #DCE3C8; }
.path-card--urgent .tag { color: var(--temple-yellow) !important; }
.path-card--urgent .go { color: #fff; border-top-color: rgba(255,255,255,.2); }
.path-card--urgent:hover .go::after { background: #fff; color: var(--green); border-color: #fff; }
@media (min-width: 768px) { .path-card { padding: 42px 40px 36px; min-height: 280px; } .path-card::before { left: 40px; } .pc-no { right: 36px; top: 32px; } .path-card h2 { font-size: 28px; } }

/* 꽃길숲을 선택하는 이유: 깊은 올리브 바탕 */
.merit-sec--dark { position: relative; overflow: hidden; background: radial-gradient(120% 90% at 50% 0%, #4A660C 0%, #2F4205 70%); color: #fff; }
.merit-sec--dark::before {
  content: ""; position: absolute; left: -60px; bottom: -80px; width: 320px; height: 420px; opacity: .05;
  background: url("../assets/logo/logo-mark.svg") center / contain no-repeat; filter: brightness(0) invert(1);
}
.merit-sec--dark .eyebrow { color: var(--temple-yellow); }
.merit-sec--dark .sec-title { color: #fff; }
.merit-sec--dark .sec-title::after { background: var(--gold); }
.merit-sec--dark .merit { position: relative; background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.14); border-radius: 0; }
.merit-sec--dark .merit li { position: relative; background: rgba(32,46,4,.55); text-align: left; padding: 30px 22px 28px; transition: background .3s; }
.merit-sec--dark .merit li:hover { background: rgba(32,46,4,.3); }
.m-no { display: block; font-style: normal; font-family: var(--serif); font-size: 14px; letter-spacing: .18em; color: var(--gold); margin-bottom: 18px; }
.merit-sec--dark .merit svg { width: 34px; height: 34px; padding: 0; border: 0; border-radius: 0; stroke: #E2CF8E; stroke-width: 1.3; margin-bottom: 14px; }
.merit-sec--dark .merit b { color: #fff; font-size: 19px; }
.merit-sec--dark .merit b::after { content: ""; display: block; width: 24px; height: 1px; background: rgba(226,207,142,.6); margin: 12px 0 10px; }
.merit-sec--dark .merit span { color: #CBD4B6; font-size: 14px; }
@media (min-width: 768px) {
  .merit-sec--dark .merit li { padding: 40px 34px 36px; }
  .merit-sec--dark .merit b { font-size: 22px; }
  .merit-sec--dark .merit span { font-size: 15px; }
}

/* 선택 이유: 바탕만 흰색으로 되돌림(디자인 요소는 유지) */
.merit-sec--light { background: #fff; color: var(--text); }
.merit-sec--light::before { display: none; }
.merit-sec--light .eyebrow { color: var(--rust); }
.merit-sec--light .sec-title { color: var(--green); }
.merit-sec--light .merit { background: var(--hair); border-color: var(--hair); border-radius: 18px; }
.merit-sec--light .merit li { background: #fff; }
.merit-sec--light .merit li:hover { background: #F7F6EE; }
.merit-sec--light .merit svg { stroke: var(--olive); }
.merit-sec--light .merit b { color: var(--green); }
.merit-sec--light .merit b::after { background: var(--gold); }
.merit-sec--light .merit span { color: var(--muted); }

/* 상을 당하셨나요 카드: 흰 바탕으로 되돌림(디자인 요소 유지) */
.path-card--urgent { background: #fff; border-color: var(--hair); color: var(--text); }
.path-card--urgent h2 { color: var(--green); }
.path-card--urgent p { color: var(--muted); }
.path-card--urgent .tag { color: var(--rust) !important; }
.path-card--urgent .go { color: var(--rust); border-top-color: var(--hair); }
.path-card--urgent:hover .go::after { background: var(--rust); color: #fff; border-color: var(--rust); }

/* =========================================================
   시안 v2 반영 (세 가지 · 숫자 · 천봉산 · 사계절 · 마무리 · 3단 푸터) 2026-10-04
   ========================================================= */
.mhero-cta { flex-wrap: wrap; }
.mhero-contact { flex-basis: 100%; text-align: center; margin: 2px 0 0; font-size: 13px; color: rgba(255,255,255,.85); letter-spacing: .02em; }
@media (min-width: 768px) { .mhero-contact { font-size: 14px; } }

/* 메뉴 6개: 좁은 PC에서 간격 조정 */
@media (min-width: 1024px) and (max-width: 1199px) { .gnb { gap: 18px; } .gnb a { font-size: 16px; } }

/* 대원사만의 세 가지 */
.three-sec { background: #F7F6EE; }
.three { display: grid; gap: 16px; margin-top: 32px; }
.three-card { border-radius: 20px; padding: 30px 26px; }
.three-card--blossom { background: #FCF1F2; }
.three-card--tea { background: #EEF2E6; }
.three-card--comfort { background: #F4EFE4; }
.three-ic { width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.three-ic svg { width: 26px; height: 26px; fill: none; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.three-card--blossom .three-ic { background: #F4D5DA; } .three-card--blossom .three-ic svg { stroke: #A8455A; }
.three-card--tea .three-ic { background: #D5E0C8; } .three-card--tea .three-ic svg { stroke: var(--green); }
.three-card--comfort .three-ic { background: #E6DCC8; } .three-card--comfort .three-ic svg { stroke: var(--brown); }
.three-tag { display: block; font-size: 13px; font-weight: 700; letter-spacing: .18em; margin-bottom: 8px; }
.three-card--blossom .three-tag { color: #A8455A; } .three-card--tea .three-tag { color: var(--green); } .three-card--comfort .three-tag { color: var(--brown); }
.three-card h3 { font-size: 23px; line-height: 1.45; margin-bottom: 12px; color: #2E3B12; }
.three-card p { font-size: 16px; color: #4a4a45; margin: 0; }
.three-more { margin-top: 28px; }
.three-more a, .text-link { font-weight: 700; color: var(--green); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 2px; }
@media (min-width: 900px) { .three { grid-template-columns: repeat(3, 1fr); gap: 22px; } .three-card { padding: 36px 32px; } }

/* 숫자: 굵은 선 위 큰 숫자 */
.numline { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 20px; }
.numline div { border-top: 2px solid var(--green); padding-top: 22px; }
.numline b { display: block; font-family: var(--serif); font-size: 40px; line-height: 1.1; color: #2E3B12; white-space: nowrap; }
.numline b small { font-size: 18px; margin-left: 2px; }
.numline span { display: block; margin-top: 8px; font-size: 15px; color: var(--muted); }
@media (min-width: 900px) { .numline { grid-template-columns: repeat(4, 1fr); gap: 24px; } .numline b { font-size: 54px; } .numline b small { font-size: 22px; } }

/* 천봉산 이야기 */
.story-sec { background: #F4EFE4; }
.story-band { display: grid; gap: 30px; align-items: center; }
.story-photo { margin: 0; }
.story-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 20px; box-shadow: var(--shadow); }
.story-photo figcaption { font-size: 14px; color: var(--muted); margin-top: 10px; }
.story-text p { font-size: 17px; color: #3d3d3a; }
@media (min-width: 1024px) { .story-band { grid-template-columns: 1fr 1fr; gap: 72px; } .story-photo img { aspect-ratio: 1 / 1; } }

/* 사계절 카드 4장 */
.seasons4 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 32px; }
.seasons4 figure { margin: 0; }
.seasons4 .photo { aspect-ratio: 3 / 4; border-radius: 18px; }
.seasons4 .s-spring { background-color: #F4D5DA; } .seasons4 .s-summer { background-color: #D3DFCE; }
.seasons4 .s-autumn { background-color: #EBCDB3; } .seasons4 .s-winter { background-color: #E4E5E5; }
.seasons4 .photo.has-img .render-tag { display: block; }
.seasons4 figcaption { margin-top: 12px; font-weight: 700; font-size: 17px; color: #2E3B12; }
@media (min-width: 900px) { .seasons4 { grid-template-columns: repeat(4, 1fr); gap: 20px; } }

/* 마무리 띠 */
.closing { background: radial-gradient(120% 120% at 50% 0%, #4F700A 0%, #34490A 75%); color: #fff; padding: 80px 0; }
.closing-mark { width: 40px; height: 52px; margin: 0 auto 18px; background: #fff; border-radius: 12px; padding: 6px 8px; box-sizing: content-box; }
.closing h2 { color: #fff; font-size: 30px; line-height: 1.45; }
.closing p { color: #DCE3C8; margin-bottom: 26px; }
.closing .btn-row { justify-content: center; max-width: 520px; margin: 0 auto; }
.btn--white { background: #fff; color: var(--green); }
.btn--white:hover { background: #F2F4EA; }
@media (min-width: 768px) { .closing { padding: 110px 0; } .closing h2 { font-size: 42px; } }

/* 3단 푸터 */
.f-cols { display: grid; gap: 26px; margin-bottom: 26px; }
.f-col h3 { color: #fff; font-family: var(--sans); font-size: 16px; margin: 0 0 10px; }
.f-col p { margin: 0 0 6px; }
.f-sub { color: #C9D3B5; }
.site-footer .tbd { color: var(--text); }
@media (min-width: 900px) { .f-cols { grid-template-columns: 1.2fr 1.3fr 1fr; gap: 40px; } }

/* 기도와 수행 페이지 */
.info-grid--3 { margin-top: 0; }
@media (min-width: 900px) { .info-grid--3 { grid-template-columns: repeat(3, 1fr); } }
.soft-box { margin-top: 28px; background: #F4EFE4; border-radius: 20px; padding: 30px 26px; }
.soft-box .eyebrow { color: var(--brown); }
.soft-box p { color: #3d3d3a; }
@media (min-width: 768px) { .soft-box { padding: 44px 48px; } }

/* 둘러보기: 추모목 숲 사진 3장 */
.card-grid--3 { grid-template-columns: 1fr; }
@media (min-width: 600px) { .card-grid--3 { grid-template-columns: repeat(3, 1fr); } }
.card-grid--3 .photo { aspect-ratio: 2 / 3; }

/* ---------- 서브 페이지 머리: 올리브 덮개 → 중성 어두운 덮개(메뉴 띠와 겹쳐 보이지 않게) ---------- */
.page-hero { background-color: #1E211A; min-height: 260px; display: flex; align-items: flex-end; }
.page-hero::before {
  background:
    linear-gradient(180deg, rgba(14,16,12,.30) 0%, rgba(14,16,12,0) 35%, rgba(14,16,12,.55) 100%),
    linear-gradient(90deg, rgba(14,16,12,.70) 0%, rgba(14,16,12,.38) 55%, rgba(14,16,12,.10) 100%);
}
.page-hero .wrap { width: 100%; }
.page-hero h1, .page-hero p, .page-hero .breadcrumb { text-shadow: 0 1px 12px rgba(0,0,0,.35); }
.page-hero .breadcrumb { color: rgba(255,255,255,.85); }
.page-hero p { color: rgba(255,255,255,.92); }
@media (min-width: 768px) { .page-hero { min-height: 360px; } }

/* 메인 소개 사진 액자: 사진에만 딱 맞는 금색 선(캡션 제외) */
.intro-photo::before { display: none; }
.intro-photo { margin: 0 14px 0 0; }
.intro-photo img { box-shadow: 14px 14px 0 -1px #F7F6EE, 14px 14px 0 0 rgba(176,138,62,.65), 0 10px 30px rgba(52,72,6,.10); }
.intro-photo figcaption { margin-top: 26px; }

/* ---------- 방문 전 답사 예약 필수 ---------- */
.visit-must { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 8px 16px; border-radius: 999px; font-size: 14px; line-height: 1.4; }
.visit-must svg { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.visit-must b { font-weight: 800; }
.visit-must--hero { flex-basis: 100%; justify-content: center; background: rgba(255,255,255,.95); color: var(--rust); box-shadow: 0 6px 18px rgba(0,0,0,.18); max-width: 520px; margin: 4px auto 0; }
.visit-must--hero span { color: #4a3a2a; } .visit-must--hero b { color: var(--rust); }
.visit-must--light { background: #FBEEE6; color: var(--rust); border: 1px solid #F0D3C2; margin-top: 12px; }
.visit-must--light span { color: #5a4636; } .visit-must--light b { color: var(--rust); }
.visit-note { display: flex; gap: 14px; align-items: flex-start; background: #FBEEE6; border: 1px solid #F0D3C2; border-left: 4px solid var(--rust); border-radius: 14px; padding: 16px 18px; margin: 0 0 20px; }
.visit-note svg { width: 26px; height: 26px; flex: none; fill: none; stroke: var(--rust); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; margin-top: 2px; }
.visit-note b { display: block; color: var(--rust); font-size: 18px; }
.visit-note span { display: block; color: #5a4636; font-size: 15px; margin-top: 2px; }
.visit-note--top { position: relative; z-index: 3; margin: -40px 0 18px; box-shadow: 0 10px 30px rgba(52,72,6,.12); background: #fff; }
.visit-note--top + .paths { margin-top: 0; }
.must-inline { color: var(--temple-yellow); font-size: 1.1em; }
@media (max-width: 767px) { .visit-must { font-size: 13px; padding: 8px 12px; } .visit-must--hero { max-width: 100%; } }
@media (min-width: 768px) { .visit-note { padding: 20px 24px; } .visit-note b { font-size: 20px; } }

.flex-break { flex-basis: 100%; height: 0; }
.visit-must--hero { flex-basis: auto; }

/* ---------- 수목장 안내: 전나무 추모목 · 비교 · 실제 가격표 ---------- */
@media (min-width: 900px) { .tree-grid--3 { grid-template-columns: repeat(3, 1fr); } }
.compare-sec { background: #fff; }
.compare-tbl { width: 100%; border-collapse: collapse; background: #fff; font-size: 16px; }
.compare-tbl th, .compare-tbl td { padding: 14px 12px; border-bottom: 1px solid var(--hair); text-align: left; vertical-align: top; }
.compare-tbl thead th { font-size: 15px; color: var(--muted); font-weight: 700; background: #F7F6EE; }
.compare-tbl thead th.ours { background: var(--olive); color: #fff; }
.compare-tbl tbody th { width: 22%; color: var(--green); font-weight: 700; }
.compare-tbl td { color: #6b6b66; }
.compare-tbl td.ours { background: #F4F7EA; color: #2E3B12; }
.compare-tbl td.ours b { color: var(--rust); }
@media (min-width: 768px) { .compare-tbl th, .compare-tbl td { padding: 18px 20px; font-size: 17px; } }
.price-tbl--real td.price { font-weight: 700; color: #2E3B12; white-space: nowrap; }
.price-tbl--real td { white-space: nowrap; }
.price-tbl--real tbody th small { white-space: normal; }
@media (max-width: 600px) { .price-tbl--real th, .price-tbl--real td { padding: 10px 6px; font-size: 14px; } .price-tbl--real thead th { font-size: 13px; } }
@media (max-width: 600px) {
  .price-tbl--real th, .price-tbl--real td { padding: 9px 4px; font-size: 13px; }
  .price-tbl--real tbody th small { font-size: 11px; }
  .price-tbl--real td.price { font-size: 13px; letter-spacing: -.02em; }
  .compare-tbl th, .compare-tbl td { padding: 12px 8px; font-size: 14px; }
  .compare-tbl tbody th { width: 20%; }
  .compare-tbl td:not(.ours) { width: 30%; }
}

/* 스님들의 부도를 모셔 온 터 — 강조 단락 */
.draft--sacred { background: #F4EFE4; border-color: #E6DCC8; }
.draft--sacred h2::before { background: var(--gold); }

/* ---------- 히어로: 문구를 버튼 묶음 위에 고정(낮은 화면에서 겹침 방지) ---------- */
.mhero { height: max(640px, 88vh); }
.mhero-copy { top: auto; bottom: 372px; transform: none; }
@media (min-width: 768px) {
  .mhero-copy { bottom: 300px; }
}
/* 노트북 등 세로가 낮은 화면: 제목·여백 살짝 줄임 */
@media (min-width: 768px) and (max-height: 820px) {
  .mhero { height: max(600px, 92vh); }
  .mhero h1, .mhero .mhero-title { font-size: 44px; margin-bottom: 10px; }
  .mhero-copy p:not(.mhero-title) { font-size: 17px; }
  .mhero-kicker { margin-bottom: 8px; }
  .mhero-cta { bottom: 104px; }
  .mhero-ctrl { bottom: 56px; }
  .mhero-copy { bottom: 262px; }
}
@media (min-width: 768px) and (max-height: 820px) { .mhero-copy { bottom: 286px; } }
@media (min-width: 768px) { .mhero-copy { bottom: 316px; } }
@media (min-width: 768px) and (max-height: 820px) { .mhero-copy { bottom: 286px; } }

/* =========================================================
   '방문 전 답사 예약 필수' 안내 — 고급스럽게 통일 (금색 가는 선 · 올리브 글씨)
   ========================================================= */
.visit-must {
  gap: 10px; padding: 9px 20px; border-radius: 999px; font-size: 14px; letter-spacing: .01em;
  background: #FBFAF4; border: 1px solid rgba(176,138,62,.55); color: #4a4a45; box-shadow: none;
}
.visit-must svg { width: 17px; height: 17px; stroke: var(--gold); stroke-width: 1.5; }
.visit-must b { color: var(--green); font-weight: 700; letter-spacing: .02em; }
.visit-must span { color: #5b5b57; }
.visit-must b::after { content: ""; display: inline-block; width: 1px; height: 11px; background: rgba(176,138,62,.6); margin: 0 10px; vertical-align: -1px; }
/* 히어로: 버튼과 같은 유리 질감 */
.visit-must--hero {
  background: rgba(20,28,2,.28); border: 1px solid rgba(226,207,142,.7); color: #fff;
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); box-shadow: none; max-width: none;
}
.visit-must--hero svg { stroke: #E2CF8E; }
.visit-must--hero b { color: var(--temple-yellow); }
.visit-must--hero span { color: rgba(255,255,255,.9); }
.visit-must--hero b::after { background: rgba(226,207,142,.7); }
.visit-must--light { background: #FBFAF4; border-color: rgba(176,138,62,.55); }
.visit-must--light b, .visit-must--light span { color: inherit; }
.visit-must--light b { color: var(--green); }
/* 안내 상자 */
.visit-note { background: #fff; border: 1px solid var(--hair); border-left: 3px solid var(--gold); border-radius: 14px; box-shadow: var(--shadow); }
.visit-note svg { stroke: var(--gold); stroke-width: 1.5; }
.visit-note b { color: var(--green); font-family: var(--serif); font-weight: 700; }
.visit-note span { color: var(--muted); }
.visit-note--top { background: #fff; }
.must-inline { color: var(--temple-yellow); font-family: var(--serif); letter-spacing: .02em; }
@media (max-width: 767px) {
  .visit-must { padding: 8px 14px; font-size: 13px; gap: 8px; }
  .visit-must b::after { margin: 0 7px; }
}
@media (max-width: 767px) { .visit-must--hero span { display: none; } .visit-must--hero b::after { display: none; } .visit-must--hero { align-self: center; margin-left: auto; margin-right: auto; } }

.vm-sub { font-style: normal; }
@media (max-width: 767px) {
  .visit-must--hero span { display: inline; }
  .visit-must--hero .vm-sub { display: none; }
  .visit-must--light { display: flex; align-items: flex-start; border-radius: 14px; }
  .visit-must--light b { display: block; }
  .visit-must--light b::after { display: none; }
  .visit-must--light .vm-sub { display: block; margin-top: 2px; }
}

/* 히어로: 상담 안내 줄 삭제에 맞춰 문구 위치 재조정 */
.mhero-copy { bottom: 340px; }
@media (min-width: 768px) { .mhero-copy { bottom: 288px; } .mhero-cta { bottom: 120px; } }
@media (min-width: 768px) and (max-height: 820px) { .mhero-copy { bottom: 258px; } .mhero-cta { bottom: 100px; } }

/* ---------- '조성 예상 이미지' 표기: 모두 사진 오른쪽 아래, 조금 더 작게 ---------- */
.render-tag { top: auto; bottom: 10px; right: 10px; font-size: 11.5px; padding: 2px 9px; background: rgba(0,0,0,.42); }
.mhero figcaption { left: auto; right: 16px; bottom: 14px; font-size: 11px; color: rgba(255,255,255,.75); }
@media (min-width: 768px) { .mhero figcaption { right: 22px; bottom: 20px; } }
/* 메인 소개 사진: 캡션을 사진 안 오른쪽 아래로 */
.intro-photo { position: relative; }
.intro-photo figcaption {
  position: absolute; right: 12px; bottom: 12px; margin: 0; z-index: 2;
  font-size: 11.5px; color: #fff; background: rgba(0,0,0,.42); padding: 2px 9px; border-radius: 999px;
}

/* ---------- 가까운 거리: 안쪽에서 바깥으로 퍼지는 연출 ---------- */
.near-map svg { overflow: visible; }
.near-map .ring, .near-map .pulse { transform-box: fill-box; transform-origin: center; }
.near-map .pulse { fill: none; stroke: var(--olive); stroke-width: 1.5; opacity: 0; }
.near-map.in .pulse { animation: ripple 4.2s cubic-bezier(.2,.6,.3,1) infinite; }
.near-map.in .pulse:nth-of-type(2) { animation-delay: 1.4s; }
.near-map.in .pulse:nth-of-type(3) { animation-delay: 2.8s; }
@keyframes ripple { 0% { transform: scale(.06); opacity: .55; } 70% { opacity: .18; } 100% { transform: scale(1.08); opacity: 0; } }
/* 처음 보일 때 40분 → 1시간 → 1시간 안팎 순서로 펼쳐짐 */
.near-map .ring { transform: scale(.15); opacity: 0; transition: transform 1.1s cubic-bezier(.2,.7,.2,1), opacity .9s ease; }
.near-map text { opacity: 0; transition: opacity .7s ease; }
.near-map .dot { transform-box: fill-box; transform-origin: center; animation: beat 2.8s ease-in-out infinite; }
@keyframes beat { 0%,100% { transform: scale(1); } 50% { transform: scale(1.25); } }
.near-map.in .ring { transform: scale(1); opacity: 1; }
.near-map.in .r1 { transition-delay: .1s; }
.near-map.in .r2 { transition-delay: .55s; }
.near-map.in .r3 { transition-delay: 1s; opacity: .7; }
.near-map.in text { opacity: 1; }
.near-map.in .lbl-c { transition-delay: .2s; }
.near-map.in text:nth-of-type(2) { transition-delay: .7s; }
.near-map.in text:nth-of-type(3) { transition-delay: 1.15s; }
.near-map.in text:nth-of-type(4) { transition-delay: 1.6s; }
@media (prefers-reduced-motion: reduce) {
  .near-map .ring, .near-map text { transition: none; transform: none; opacity: 1; }
  .near-map .pulse, .near-map .dot { animation: none; }
}

/* =========================================================
   테두리 고급화 — 금빛 가는 선 · 안쪽 흰 선 · 부드러운 그림자 (전 페이지 공통)
   ========================================================= */
:root {
  --hair: rgba(176,138,62,.26);
  --hair-strong: rgba(176,138,62,.45);
  --line: rgba(176,138,62,.22);
  --frame: 0 0 0 1px rgba(176,138,62,.22), inset 0 0 0 1px rgba(255,255,255,.7), 0 1px 2px rgba(52,72,6,.04), 0 12px 32px rgba(52,72,6,.07);
}
/* 카드·상자 */
.path-card, .info-card, .tree-card, .draft, .duo-call, .faq-item, .cta-box, .three-card,
.visit-note, .stat, .steps li, .tbl-wrap, .soft-box {
  border: 0; box-shadow: var(--frame);
}
.path-card:hover { box-shadow: 0 0 0 1px var(--hair-strong), inset 0 0 0 1px rgba(255,255,255,.7), 0 2px 4px rgba(52,72,6,.05), 0 22px 46px rgba(52,72,6,.13); }
.visit-note { border-left: 0; box-shadow: var(--frame), inset 3px 0 0 var(--gold); }
.info-card { border-top: 0; box-shadow: var(--frame), inset 0 3px 0 rgba(176,138,62,.55); }
.draft--sacred { box-shadow: 0 0 0 1px rgba(176,138,62,.35), inset 0 0 0 1px rgba(255,255,255,.5), 0 12px 32px rgba(52,72,6,.06); }
.three-card { box-shadow: 0 0 0 1px rgba(176,138,62,.18), inset 0 0 0 1px rgba(255,255,255,.65); }
.pcard { box-shadow: 0 0 0 1px rgba(176,138,62,.25), 0 14px 34px rgba(20,28,2,.16); }
.pcard::before { content: ""; position: absolute; inset: 8px; border: 1px solid rgba(255,255,255,.28); border-radius: 11px; z-index: 2; pointer-events: none; }
.pcard--plain::before { inset: auto; }
/* 사진 */
.photo, .fig img, .story-photo img, .gallery-strip a, .card-photo--land img { box-shadow: 0 0 0 1px rgba(176,138,62,.22), 0 10px 26px rgba(52,72,6,.08); }
/* 목록·표의 가는 선 */
.merit { background: var(--hair); border-color: var(--hair); }
.near-list li { border: 0; box-shadow: 0 0 0 1px var(--hair), inset 0 0 0 1px rgba(255,255,255,.7); }
.value-strip { background: var(--hair); border-color: var(--hair); }
.intro-facts, .intro-facts div, .info-list, .info-list li, .heritage, .heritage li { border-color: var(--hair); }
.duo-head { border-bottom: 1px solid var(--hair-strong); position: relative; }
.duo-head::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 56px; height: 2px; background: var(--gold); }
.duo-faq ul { box-shadow: 0 0 0 1px var(--hair); }
.duo-faq li a { border-color: var(--hair); }
.price-tbl th, .price-tbl td, .compare-tbl th, .compare-tbl td, .status-tbl th, .status-tbl td { border-color: var(--hair); }
.path-card .go { border-top-color: var(--hair); }
/* 버튼 테두리 */
.btn--line { border-width: 1px; border-color: rgba(79,112,10,.55); box-shadow: inset 0 0 0 1px rgba(255,255,255,.6); }
.btn--line:hover { border-color: var(--gold); background: #FBFAF4; }
.btn--call { box-shadow: inset 0 0 0 1px rgba(255,255,255,.18), 0 6px 18px rgba(52,72,6,.22); }
.btn--glass { border-width: 1px; border-color: rgba(226,207,142,.75); }
.path-card .go::after { border-color: rgba(176,138,62,.6); }
/* 헤더·푸터 경계선 */
.site-header { border-bottom: 2px solid var(--rust); box-shadow: 0 1px 0 rgba(226,207,142,.35); }
.f-links { border-top-color: rgba(226,207,142,.25); }
.pcard--plain::before { border: 0; inset: auto; }
.pcard--plain { outline: 1px solid rgba(255,255,255,.28); outline-offset: -9px; }

/* ---------- 새 로고(아치·벚꽃 나무·언덕) ---------- */
.brand img { width: 36px; height: 40px; background: none; padding: 0; border-radius: 0; }
.brand { gap: 12px; }
.brand-text small { letter-spacing: .32em; }
@media (min-width: 1024px) { .brand img { width: 42px; height: 46px; } }
.f-brand img { width: 40px; height: 44px; background: none; padding: 0; border-radius: 0; }
.closing-mark { width: 52px; height: 57px; background: none; padding: 0; border-radius: 0; }

/* =========================================================
   꽃길숲을 선택하는 이유 — 6가지 색 · 메달 아이콘 · 카드형 (고급화)
   ========================================================= */
.merit2 { list-style: none; padding: 0; margin: 40px 0 0; display: grid; grid-template-columns: 1fr; gap: 16px; }
.m2 {
  --c: #4F700A; --c2: #6E8F22; --soft: #F3F6EA; --deep: #2E3B12;
  position: relative; overflow: hidden; border-radius: 20px; padding: 28px 24px 26px;
  background: linear-gradient(160deg, #fff 0%, var(--soft) 100%);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--c) 22%, transparent), inset 0 0 0 1px rgba(255,255,255,.8), 0 14px 34px color-mix(in srgb, var(--c) 12%, transparent);
  transition: transform .3s ease, box-shadow .3s ease;
}
.m2:hover { transform: translateY(-5px); box-shadow: 0 0 0 1px color-mix(in srgb, var(--c) 40%, transparent), inset 0 0 0 1px rgba(255,255,255,.8), 0 24px 48px color-mix(in srgb, var(--c) 20%, transparent); }
.m2::after { content: ""; position: absolute; left: 24px; top: 0; width: 46px; height: 3px; border-radius: 0 0 3px 3px; background: linear-gradient(90deg, var(--c), var(--c2)); }
.m2-num { position: absolute; right: 18px; top: 6px; font-family: var(--serif); font-size: 64px; font-weight: 700; line-height: 1; color: var(--c); opacity: .09; letter-spacing: -.02em; }
.m2-ic {
  display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; margin-bottom: 18px;
  background: radial-gradient(circle at 30% 25%, var(--c2), var(--c) 70%);
  box-shadow: 0 0 0 4px #fff, 0 0 0 5px color-mix(in srgb, var(--c) 30%, transparent), 0 10px 22px color-mix(in srgb, var(--c) 35%, transparent);
  transition: transform .4s ease;
}
.m2:hover .m2-ic { transform: rotate(-6deg) scale(1.06); }
.m2-ic svg { width: 34px; height: 34px; fill: none; stroke: #fff; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.m2 b { display: block; font-family: var(--serif); font-size: 21px; color: var(--deep); letter-spacing: -.01em; }
.m2 b::after { content: ""; display: block; width: 28px; height: 1px; background: var(--c); opacity: .5; margin: 12px 0 10px; }
.m2-desc { display: block; font-size: 15px; line-height: 1.65; color: #55554f; }
.m2--forest  { --c: #3E6A2C; --c2: #6F9A45; --soft: #EEF4E6; --deep: #23401A; }
.m2--temple  { --c: #8A5A2B; --c2: #B9874E; --soft: #F8F0E4; --deep: #5A3814; }
.m2--blossom { --c: #C2566F; --c2: #E68AA0; --soft: #FCEEF1; --deep: #8E2F47; }
.m2--stone   { --c: #56627A; --c2: #8592AA; --soft: #EEF1F6; --deep: #333E54; }
.m2--teal    { --c: #2C6E6E; --c2: #4E9C96; --soft: #E8F3F1; --deep: #164B4B; }
.m2--amber   { --c: #B07624; --c2: #D9A350; --soft: #FBF2E2; --deep: #74480C; }
@media (min-width: 640px) { .merit2 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) {
  .merit2 { grid-template-columns: repeat(3, 1fr); gap: 22px; }
  .m2 { padding: 36px 32px 32px; }
  .m2::after { left: 32px; }
  .m2-ic { width: 72px; height: 72px; }
  .m2-ic svg { width: 38px; height: 38px; }
  .m2 b { font-size: 23px; }
  .m2-desc { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { .m2, .m2-ic { transition: none; } }
@media (max-width: 639px) {
  .m2 { display: grid; grid-template-columns: 60px 1fr; column-gap: 16px; align-items: start; padding: 22px 18px 20px; }
  .m2-ic { grid-row: 1 / span 2; width: 60px; height: 60px; margin: 2px 0 0; }
  .m2-ic svg { width: 32px; height: 32px; }
  .m2 b { font-size: 19px; }
  .m2 b::after { margin: 8px 0 6px; }
  .m2-num { font-size: 46px; right: 14px; top: 4px; }
}

/* =========================================================
   고급화 2차: 소개 사진 액자 · 답사 안내 · 두 갈래 카드 · 절차 · 목록 · FAQ
   ========================================================= */
/* 1) 메인 소개 사진: 사방 고른 금테 액자 */
.intro-photo { margin: 12px; }
.intro-photo img {
  box-shadow: 0 0 0 10px #FBFAF4, 0 0 0 11px rgba(176,138,62,.55), 0 0 0 12px rgba(255,255,255,.9), 0 22px 46px rgba(52,72,6,.16);
}
.intro-photo figcaption { right: 12px; bottom: 12px; }

/* 공통 메달 */
.pc-ic, .visit-note > svg {
  display: flex; align-items: center; justify-content: center; flex: none;
  border-radius: 50%; background: radial-gradient(circle at 30% 25%, var(--c2), var(--c) 70%);
  box-shadow: 0 0 0 4px #fff, 0 0 0 5px color-mix(in srgb, var(--c) 30%, transparent), 0 10px 22px color-mix(in srgb, var(--c) 32%, transparent);
}

/* 2-1) 답사 예약 안내: 금빛 메달 배너 */
.visit-note {
  --c: #A9822F; --c2: #D7B460;
  align-items: center; gap: 18px; padding: 20px 22px; border-radius: 18px;
  background: linear-gradient(120deg, #FFFDF6 0%, #F8F0DC 100%);
  box-shadow: 0 0 0 1px rgba(176,138,62,.35), inset 0 0 0 1px rgba(255,255,255,.85), 0 14px 34px rgba(120,90,30,.12);
}
.visit-note > svg { width: 52px; height: 52px; padding: 13px; margin: 0; stroke: #fff; stroke-width: 1.6; }
.visit-note b { color: #5A3E0E; font-size: 19px; }
.visit-note span { color: #6b5a3a; }
.visit-note--top { background: linear-gradient(120deg, #FFFDF6 0%, #F8F0DC 100%); }
@media (min-width: 768px) { .visit-note > svg { width: 58px; height: 58px; padding: 14px; } .visit-note b { font-size: 21px; } }

/* 2-2) 두 갈래 카드: 고유 색 · 메달 · 큰 번호 */
.path-card {
  --c: #3E6A2C; --c2: #6F9A45; --soft: #EEF4E6; --deep: #23401A;
  background: linear-gradient(160deg, #fff 0%, var(--soft) 100%);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--c) 22%, transparent), inset 0 0 0 1px rgba(255,255,255,.8), 0 16px 38px color-mix(in srgb, var(--c) 12%, transparent);
}
.path-card--urgent { --c: #9E3D2A; --c2: #CF7457; --soft: #FBEEE8; --deep: #6E2414; background: linear-gradient(160deg, #fff 0%, var(--soft) 100%); color: var(--text); }
.path-card:hover { box-shadow: 0 0 0 1px color-mix(in srgb, var(--c) 40%, transparent), inset 0 0 0 1px rgba(255,255,255,.8), 0 26px 52px color-mix(in srgb, var(--c) 20%, transparent); }
.path-card::before { width: 52px; background: linear-gradient(90deg, var(--c), var(--c2)); }
.path-card .pc-no { right: 22px; top: 10px; font-size: 64px; font-weight: 700; line-height: 1; letter-spacing: -.02em; color: var(--c); opacity: .09; }
.pc-ic { width: 62px; height: 62px; margin-bottom: 18px; }
.pc-ic svg { width: 32px; height: 32px; fill: none; stroke: #fff; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.path-card:hover .pc-ic { transform: rotate(-6deg) scale(1.06); }
.pc-ic { transition: transform .4s ease; }
.path-card .tag, .path-card--urgent .tag { color: var(--c) !important; }
.path-card h2, .path-card--urgent h2 { color: var(--deep); }
.path-card p, .path-card--urgent p { color: #55554f; }
.path-card .go, .path-card--urgent .go { color: var(--c); border-top-color: color-mix(in srgb, var(--c) 18%, transparent); }
.path-card .go::after { width: 44px; height: 44px; border: 0; color: #fff; background: radial-gradient(circle at 30% 25%, var(--c2), var(--c) 70%); box-shadow: 0 6px 14px color-mix(in srgb, var(--c) 30%, transparent); }
.path-card:hover .go::after, .path-card--urgent:hover .go::after { background: radial-gradient(circle at 30% 25%, var(--c2), var(--c) 70%); color: #fff; transform: translateX(3px); }
.path-card .go::after { transition: transform .25s ease; }
@media (min-width: 768px) { .pc-ic { width: 68px; height: 68px; } .pc-ic svg { width: 36px; height: 36px; } }

/* 3) 안치 절차 번호 · 거리 목록 · FAQ Q 도 메달 톤으로 */
.steps li::before { background: radial-gradient(circle at 30% 25%, #6F9A45, #3E6A2C 70%); box-shadow: 0 0 0 3px #fff, 0 0 0 4px rgba(62,106,44,.3), 0 6px 14px rgba(62,106,44,.3); font-family: var(--serif); }
.steps li { background: linear-gradient(160deg, #fff 0%, #F3F6EA 100%); }
.near-list li { background: linear-gradient(120deg, #fff 0%, #F4F7EA 100%); }
.near-list b { color: #3E6A2C; }
.faq-item summary::before { content: "Q"; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; color: #fff; font-size: 15px; background: radial-gradient(circle at 30% 25%, #CF7457, #9E3D2A 70%); box-shadow: 0 4px 10px rgba(158,61,42,.25); margin-top: -2px; }
.duo-faq li span { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; color: #fff; font-size: 13px; background: radial-gradient(circle at 30% 25%, #CF7457, #9E3D2A 70%); flex: none; }

/* =========================================================
   수목장이란: 단면 그림 + 4단계 (간결형)
   ========================================================= */
.whatis { max-width: 980px; margin: 0 auto; padding: 26px 20px 22px; border-radius: 22px; background: linear-gradient(160deg, #fff 0%, #F3F6EA 100%);
  box-shadow: 0 0 0 1px rgba(62,106,44,.18), inset 0 0 0 1px rgba(255,255,255,.85), 0 16px 38px rgba(62,106,44,.10); }
.wi-head h2 { font-size: 23px; color: #23401A; margin: 6px 0 10px; }
.wi-head p { font-size: 15px; line-height: 1.7; color: #55554f; margin: 0; }
.wi-body { display: grid; gap: 18px; margin-top: 20px; align-items: center; }
.wi-figbox { margin: 0; position: relative; }
.wi-fig { display: block; width: 100%; height: auto; border-radius: 18px; box-shadow: 0 0 0 6px #fff, 0 0 0 7px rgba(176,138,62,.4), 0 14px 30px rgba(52,72,6,.12); }
.wi-figbox figcaption { position: absolute; right: 10px; top: 10px; font-size: 11px; color: #7a7a6a; background: rgba(255,255,255,.8); padding: 2px 8px; border-radius: 99px; }
.wi-t { font-family: var(--serif); font-size: 13px; font-weight: 700; fill: #23401A; }
.wi-t--s { font-size: 11px; font-weight: 400; fill: #55554f; }
.wi-t--w { fill: #fff; font-size: 12px; font-weight: 400; }
.wi-t--wb { fill: #fff; font-size: 14px; }
.wi-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.wi-steps li { display: flex; gap: 14px; align-items: flex-start; padding: 12px 14px; border-radius: 14px; background: rgba(255,255,255,.75); box-shadow: 0 0 0 1px rgba(62,106,44,.12); }
.wi-no { flex: none; display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; color: #fff; font-family: var(--serif); font-weight: 700;
  background: radial-gradient(circle at 30% 25%, #6F9A45, #3E6A2C 70%); box-shadow: 0 0 0 3px #fff, 0 0 0 4px rgba(62,106,44,.3), 0 6px 12px rgba(62,106,44,.25); }
.wi-steps li > div > b { display: block; font-family: var(--serif); font-size: 17px; color: #23401A; }
.wi-steps p { margin: 2px 0 0; font-size: 14px; line-height: 1.6; color: #55554f; }
.wi-src { margin: 16px 0 0; font-size: 12px; line-height: 1.6; color: #8a8a7a; }
@media (min-width: 768px) {
  .whatis { padding: 34px 36px 26px; }
  .wi-head h2 { font-size: 26px; }
  .wi-body { grid-template-columns: 1fr 1.05fr; gap: 32px; }
}
.wi-steps p b { color: #3E6A2C; }
@media (max-width: 767px) { .wi-steps li { padding: 10px 12px; gap: 12px; } .wi-steps p { font-size: 13.5px; } .wi-steps li > div > b { font-size: 16px; } }

/* =========================================================
   상을 당하셨을 때 (urgent): 할 일 · 3일장 · 꽃길숲 절차 · 서류 · 상담
   ========================================================= */
.ug-sec .lead { max-width: 760px; }
.ug-ic { display: flex; align-items: center; justify-content: center; flex: none; width: 56px; height: 56px; border-radius: 50%;
  --c: #3E6A2C; --c2: #6F9A45; background: radial-gradient(circle at 30% 25%, var(--c2), var(--c) 70%);
  box-shadow: 0 0 0 4px #fff, 0 0 0 5px color-mix(in srgb, var(--c) 30%, transparent), 0 10px 22px color-mix(in srgb, var(--c) 30%, transparent); }
.ug-ic svg { width: 28px; height: 28px; fill: none; stroke: #fff; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.ug-ic--gold { --c: #A9822F; --c2: #D7B460; }
.ug-ic--help { --c: #9E3D2A; --c2: #CF7457; }

/* 지금 하실 일 */
.ug-now { list-style: none; margin: 28px 0 0; padding: 0; display: grid; gap: 16px; }
.ug-now-item { position: relative; overflow: hidden; padding: 26px 22px 22px; border-radius: 20px; background: linear-gradient(160deg, #fff 0%, #EEF4E6 100%);
  box-shadow: 0 0 0 1px rgba(62,106,44,.2), inset 0 0 0 1px rgba(255,255,255,.8), 0 14px 34px rgba(62,106,44,.1); }
.ug-now-item::after { content: ""; position: absolute; left: 22px; top: 0; width: 46px; height: 3px; border-radius: 0 0 3px 3px; background: linear-gradient(90deg, #3E6A2C, #6F9A45); }
.ug-now-no { position: absolute; right: 18px; top: 6px; font-family: var(--serif); font-size: 60px; font-weight: 700; line-height: 1; color: #3E6A2C; opacity: .09; }
.ug-now-item .ug-ic { margin-bottom: 16px; }
.ug-now-item h3 { font-size: 19px; color: #23401A; margin: 0 0 8px; }
.ug-now-item p { margin: 0; font-size: 15px; line-height: 1.7; color: #55554f; }
.ug-now-item p b { color: #3E6A2C; }

/* 3일장 */
.ug-days { list-style: none; margin: 28px 0 0; padding: 0; display: grid; gap: 14px; counter-reset: d; }
.ug-day { position: relative; padding: 22px 20px 18px; border-radius: 18px; background: #fff;
  box-shadow: 0 0 0 1px rgba(176,138,62,.28), inset 0 0 0 1px rgba(255,255,255,.9), 0 12px 28px rgba(120,90,30,.08); }
.ug-day-chip { display: inline-block; padding: 4px 12px; border-radius: 99px; font-size: 13px; font-weight: 700; color: #fff; letter-spacing: .02em;
  background: radial-gradient(circle at 30% 25%, #D7B460, #A9822F 75%); box-shadow: 0 4px 10px rgba(169,130,47,.25); }
.ug-day h3 { font-size: 19px; color: #5A3E0E; margin: 12px 0 10px; }
.ug-day ul { list-style: none; margin: 0; padding: 0; }
.ug-day ul li { position: relative; padding: 6px 0 6px 16px; font-size: 14.5px; line-height: 1.55; color: #55554f; border-top: 1px dashed rgba(176,138,62,.25); }
.ug-day ul li:first-child { border-top: 0; }
.ug-day ul li::before { content: ""; position: absolute; left: 2px; top: 14px; width: 5px; height: 5px; border-radius: 50%; background: #B08A3E; }
.ug-day ul li small { color: #8a7a5a; }
.ug-day ul li b { color: #5A3E0E; }
.ug-day:last-child { background: linear-gradient(160deg, #fff 0%, #EEF4E6 100%); box-shadow: 0 0 0 1px rgba(62,106,44,.28), 0 12px 28px rgba(62,106,44,.1); }
.ug-day:last-child .ug-day-chip { background: radial-gradient(circle at 30% 25%, #6F9A45, #3E6A2C 75%); }
.ug-day:last-child h3 { color: #23401A; }

/* 꽃길숲 절차 */
.ug-flow { list-style: none; margin: 30px 0 0; padding: 0; position: relative; }
.ug-flow::before { content: ""; position: absolute; left: 21px; top: 22px; bottom: 22px; width: 2px; background: linear-gradient(#6F9A45, rgba(111,154,69,.15)); }
.ug-flow > li { position: relative; display: flex; gap: 16px; align-items: flex-start; padding: 0 0 18px; }
.ug-flow-no { position: relative; z-index: 1; flex: none; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%;
  color: #fff; font-family: var(--serif); font-size: 18px; font-weight: 700; background: radial-gradient(circle at 30% 25%, #6F9A45, #3E6A2C 70%);
  box-shadow: 0 0 0 4px #fff, 0 0 0 5px rgba(62,106,44,.3), 0 8px 18px rgba(62,106,44,.28); }
.ug-flow > li > div { flex: 1; padding: 14px 18px; border-radius: 16px; background: linear-gradient(160deg, #fff 0%, #F3F6EA 100%); box-shadow: 0 0 0 1px rgba(62,106,44,.15), 0 8px 20px rgba(62,106,44,.06); }
.ug-flow h3 { font-size: 18px; color: #23401A; margin: 0 0 4px; }
.ug-flow p { margin: 0; font-size: 14.5px; line-height: 1.65; color: #55554f; }
.ug-flow p b { color: #9E3D2A; }

/* 서류 · 팁 */
.ug-docs { list-style: none; margin: 28px 0 0; padding: 0; display: grid; gap: 14px; }
.ug-doc { display: flex; gap: 16px; align-items: flex-start; padding: 20px; border-radius: 18px; background: linear-gradient(160deg, #fff 0%, #FBF5E6 100%);
  box-shadow: 0 0 0 1px rgba(176,138,62,.3), inset 0 0 0 1px rgba(255,255,255,.9), 0 12px 26px rgba(120,90,30,.08); }
.ug-doc .ug-ic { width: 50px; height: 50px; }
.ug-doc .ug-ic svg { width: 26px; height: 26px; }
.ug-doc h3 { font-size: 18px; color: #5A3E0E; margin: 2px 0 6px; }
.ug-doc h3 em { font-style: normal; font-family: var(--sans, inherit); font-size: 12px; font-weight: 700; color: #A9822F; padding: 2px 8px; border-radius: 99px; background: rgba(215,180,96,.18); margin-left: 6px; vertical-align: 2px; }
.ug-doc p { margin: 0; font-size: 14.5px; line-height: 1.6; color: #55554f; }
.ug-note { margin: 14px 0 0; font-size: 13px; color: #8a8a7a; }
.ug-sub { font-size: 20px; color: #23401A; margin: 40px 0 0; }
.ug-tips { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ug-tips li { padding: 18px 16px; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px rgba(62,106,44,.16), 0 8px 20px rgba(62,106,44,.06); }
.ug-tips b { display: block; font-family: var(--serif); font-size: 24px; color: #3E6A2C; line-height: 1.2; }
.ug-tips p { margin: 8px 0 6px; font-size: 14px; line-height: 1.6; color: #55554f; }
.ug-tips small { font-size: 11.5px; color: #9a9a8a; }

/* FAQ + 상담 */
.ug-faq { margin-top: 24px; }
.ug-help { margin-top: 34px; display: grid; gap: 18px; padding: 24px 22px; border-radius: 22px; background: linear-gradient(120deg, #FFFDF6 0%, #F8F0DC 100%);
  box-shadow: 0 0 0 1px rgba(176,138,62,.35), inset 0 0 0 1px rgba(255,255,255,.85), 0 16px 36px rgba(120,90,30,.12); }
.ug-help-txt b { display: block; font-family: var(--serif); font-size: 20px; color: #5A3E0E; }
.ug-help-txt p { margin: 6px 0 0; font-size: 15px; line-height: 1.65; color: #6b5a3a; }
.ug-help-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.ug-btn { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; min-height: 52px; padding: 8px 22px; border-radius: 14px;
  font-weight: 700; font-size: 15px; color: #5A3E0E; text-decoration: none; background: #fff; box-shadow: 0 0 0 1px rgba(176,138,62,.45); transition: transform .2s ease, box-shadow .2s ease; }
.ug-btn small { font-size: 12px; font-weight: 500; opacity: .85; letter-spacing: .02em; }
.ug-btn--main { flex: 1; color: #fff; background: linear-gradient(160deg, #4E7A2E, #2F5520); box-shadow: 0 0 0 1px rgba(255,255,255,.2) inset, 0 10px 22px rgba(47,85,32,.28); }
.ug-btn:hover { transform: translateY(-2px); }

@media (min-width: 768px) {
  .ug-now { grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .ug-days { grid-template-columns: repeat(4, 1fr); }
  .ug-docs { grid-template-columns: 1fr 1fr; }
  .ug-tips { grid-template-columns: repeat(4, 1fr); }
  .ug-flow { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
  .ug-flow::before { left: 22px; right: 22px; top: 21px; bottom: auto; width: auto; height: 2px; background: linear-gradient(90deg, #6F9A45, rgba(111,154,69,.2)); }
  .ug-flow > li { flex-direction: column; gap: 14px; padding: 0; }
  .ug-flow > li > div { width: 100%; height: 100%; box-sizing: border-box; }
  .ug-help { grid-template-columns: auto 1fr auto; align-items: center; padding: 26px 30px; gap: 22px; }
  .ug-help .ug-ic { width: 62px; height: 62px; }
  .ug-help-btns { flex-wrap: nowrap; }
  .ug-btn--main { flex: none; }
}
/* 가격표: 5위 이상은 안내 문구로 */
.price-tbl--real tr.tr-more td { background: linear-gradient(120deg, #FBF7EA, #F4F7EA); color: #5A3E0E; font-family: var(--serif); font-weight: 700; }
.price-tbl--real tr.tr-more td[colspan] { white-space: normal; font-family: inherit; font-weight: 500; font-size: 15px; color: #6b5a3a; letter-spacing: -.01em; }

/* =========================================================
   대원사 홈페이지 톤 맞춤: 머리(녹색 문양) · 바닥(한지색 + 삼색 띠) · 한자 사명
   ========================================================= */
:root { --olive: #557808; --olive-top: #476500; }
.topbar { background: #476500; border-bottom: 1px solid rgba(0,0,0,.12); }
.site-header {
  background-color: #557808;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='48' viewBox='0 0 72 48'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.055' stroke-width='1.2'%3E%3Cpath d='M6 30c0-7 6-12 12-12s10 4 10 9-4 8-8 8-6-3-6-6 2-4 4-4'/%3E%3Cpath d='M42 12c0-7 6-12 12-12s10 4 10 9-4 8-8 8-6-3-6-6 2-4 4-4'/%3E%3Cpath d='M28 27c4-3 10-3 14 0M64 9c4-3 8-3 8-3M0 33c2-1 4-2 6-3'/%3E%3C/g%3E%3C/svg%3E"),
    linear-gradient(180deg, #5A7E0E 0%, #557808 55%, #50730A 100%);
  border-bottom: 1px solid #3F5A02; box-shadow: 0 1px 0 rgba(255,255,255,.06) inset, 0 2px 10px rgba(30,45,0,.18);
}

/* 바닥: 대원사 한지색 + 삼색 띠 */
.site-footer {
  position: relative; color: #55524A; border-top: 0;
  background-color: #ECDEB3;
  background-image:
    radial-gradient(rgba(140,110,50,.06) 1px, transparent 1.2px),
    radial-gradient(rgba(255,255,255,.25) 1px, transparent 1.2px),
    linear-gradient(180deg, #EEE0B6 0%, #EADBAE 100%);
  background-size: 7px 7px, 11px 11px, auto; background-position: 0 0, 3px 5px, 0 0;
}
.site-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px;
  background: linear-gradient(90deg, #437E8C 0 58%, #B04F2D 58% 86%, #E0A346 86% 100%); }
.site-footer a { color: #3A3832; }
.site-footer a:hover { color: #B04F2D; }
.f-col h3 { color: #2F2D28; font-weight: 700; }
.f-col p { color: #55524A; }
.f-sub { color: #6E6A5E; }
.f-links { border-top: 1px solid rgba(120,95,40,.22); }
.f-links a { color: #2F2D28; }
.f-copy { color: #7E796D; }
.site-footer .member-note { color: #6E6A5E; }
.site-footer .member-note b { color: #B04F2D; }
.site-footer .tbd { color: #3A3832; }

/* 한자 사명 */
.f-brand--temple { gap: 12px; margin-bottom: 6px; }
.f-brand--temple img { width: 40px; height: 44px; }
.f-temple { display: inline-flex; align-items: center; gap: 10px; }
.f-temple small { display: block; font-size: 12px; line-height: 1.45; color: #55524A; letter-spacing: .04em; text-align: right; }
.f-temple strong { font-family: "Noto Serif KR", var(--serif); font-size: 34px; line-height: 1; font-weight: 700; color: #2B2722; letter-spacing: .08em; }
.f-site { margin: 0 0 14px; padding-left: 52px; font-family: var(--serif); font-size: 17px; font-weight: 700; color: #4F700A; letter-spacing: .02em; }

/* 답사 예약 혜택 · 들어오는 길 */
.vn-gift { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; padding: 5px 12px 5px 8px; border-radius: 99px; font-style: normal; font-size: 13.5px; color: #3E6A2C;
  background: linear-gradient(120deg, #F1F6E6, #E6EFD4); box-shadow: 0 0 0 1px rgba(62,106,44,.22); }
.vn-gift::before { content: ""; width: 18px; height: 18px; border-radius: 50%; flex: none;
  background: radial-gradient(circle at 30% 25%, #6F9A45, #3E6A2C 70%) ; -webkit-mask: none;
  box-shadow: inset 0 0 0 5px transparent; }
.vn-gift::before { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18c0-7 5-12 13-12 0 8-5 13-12 13'/%3E%3Cpath d='M6 18l6-6'/%3E%3C/svg%3E") center/12px no-repeat, radial-gradient(circle at 30% 25%, #6F9A45, #3E6A2C 70%); }
.vn-gift b { font-weight: 700; color: #23401A; }
.visit-note .vn-gift { display: inline-flex; }
.vn-gift-line { margin: 0 0 8px; }
.way-grid { display: grid; gap: 14px; margin: 16px 0 0; }
.way-grid figure { margin: 0; position: relative; border-radius: 16px; overflow: hidden; box-shadow: 0 0 0 1px rgba(176,138,62,.35), 0 14px 30px rgba(52,72,6,.12); }
.way-grid img { display: block; width: 100%; height: 240px; object-fit: cover; }
.way-grid figcaption { position: absolute; left: 0; right: 0; bottom: 0; display: flex; align-items: center; gap: 10px; padding: 26px 14px 12px; font-size: 14.5px; color: #fff;
  background: linear-gradient(transparent, rgba(20,28,8,.72)); }
.way-grid figcaption span { flex: none; display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; font-weight: 700; font-size: 13px;
  background: radial-gradient(circle at 30% 25%, #6F9A45, #3E6A2C 70%); box-shadow: 0 0 0 2px rgba(255,255,255,.85); }
.way-warn { margin: 14px 0 0; padding: 12px 14px; border-radius: 12px; font-size: 14.5px; color: #6E2414; background: #FBEEE8; box-shadow: 0 0 0 1px rgba(158,61,42,.2); }
@media (min-width: 768px) { .way-grid { grid-template-columns: 1fr 1fr; } .way-grid img { height: 300px; } }
.vn-gift, .visit-note .vn-gift { display: inline-block; line-height: 1.5; padding: 6px 14px 6px 10px; }
.vn-gift::before { display: inline-block; vertical-align: -4px; margin-right: 6px; }
.vn-gift b, .visit-note .vn-gift b { display: inline; font-family: inherit; font-size: inherit; color: #23401A; margin: 0; }
.vn-gift, .visit-note .vn-gift { border-radius: 12px; }
/* 봉안함 강조 · 마무리 띠 벚꽃길 배경 */
.vn-gift b.gift-red, .visit-note .vn-gift b.gift-red, b.gift-red { color: #B3261E; font-weight: 700; }
.closing {
  position: relative; isolation: isolate;
  background: linear-gradient(180deg, rgba(30,38,12,.55) 0%, rgba(30,38,12,.62) 50%, rgba(24,30,8,.78) 100%),
              url("../images/hero/slide-01-cherry-path.jpg") center 55% / cover no-repeat;
}
.closing h2 { text-shadow: 0 2px 18px rgba(0,0,0,.45); }
.closing p { color: #F1EEDF; text-shadow: 0 1px 10px rgba(0,0,0,.5); }
@media (min-width: 1024px) { .closing { background-attachment: scroll; padding: 130px 0; } }
.gj-note { margin: 0 0 10px; padding: 10px 14px; border-radius: 12px; font-size: 15px; color: #23401A; background: linear-gradient(120deg, #F1F6E6, #E9F0DA); box-shadow: 0 0 0 1px rgba(62,106,44,.18); }
.gj-note b { color: #3E6A2C; }
.hl-sacred { display: block; margin-top: 12px; font-family: var(--serif); font-weight: 700; color: #3F5C03; line-height: 1.7; }
.hl-sacred { background: linear-gradient(transparent 62%, rgba(242,233,138,.65) 62%); display: inline; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.hl-mark { background: linear-gradient(transparent 62%, rgba(242,233,138,.65) 62%); box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.sec-title .hl-mark { background: linear-gradient(transparent 68%, rgba(242,233,138,.6) 68%); }
/* =========================================================
   머리 고급화: 문양 제거 · 깊은 녹색 · 금빛 실선 · 정제된 메뉴 · 금테 전화 버튼
   ========================================================= */
.topbar { background: #3F5C02; color: rgba(255,255,255,.78); font-size: 13px; letter-spacing: .06em; border-bottom: 1px solid rgba(226,200,130,.18); }
.topbar b { color: #F2E3A6; font-weight: 600; }
.topbar a { color: #F2E3A6; }
.site-header {
  background: linear-gradient(180deg, #587C0C 0%, #4E7108 100%);
  background-image: linear-gradient(180deg, #587C0C 0%, #4E7108 100%);
  border-bottom: 1px solid rgba(226,200,130,.55);
  box-shadow: 0 1px 0 rgba(0,0,0,.18), 0 8px 24px rgba(30,45,0,.18);
}
.brand-text small { color: rgba(242,227,166,.9); font-size: 12px; letter-spacing: .38em; }
.brand-text strong { color: #fff; letter-spacing: .02em; font-weight: 700; }
.gnb a {
  position: relative; color: rgba(255,255,255,.88); font-weight: 500; font-size: 16px; letter-spacing: .03em;
  padding: 10px 2px; border-bottom: 0; transition: color .25s ease;
}
.gnb a::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: 2px; height: 1px; background: #E8CF86; transition: left .3s ease, right .3s ease; }
.gnb a:hover, .gnb a[aria-current="page"] { color: #F2E3A6; border-color: transparent; }
.gnb a:hover::after, .gnb a[aria-current="page"]::after { left: 0; right: 0; }
@media (min-width: 1024px) { .gnb { gap: 30px; } }
@media (min-width: 1024px) and (max-width: 1199px) { .gnb { gap: 20px; } .gnb a { font-size: 15px; } }
.header-call {
  min-height: 44px; padding: 0 20px 0 8px; gap: 10px; border-radius: 99px; font-size: 16px; font-weight: 600; letter-spacing: .04em;
  color: #F2E3A6; background: rgba(0,0,0,.12); border: 1px solid rgba(232,207,134,.7);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.header-call svg { width: 28px; height: 28px; padding: 6px; box-sizing: border-box; border-radius: 50%; color: #3F5C02; background: radial-gradient(circle at 30% 25%, #F6E7B0, #D7B460 75%); }
.header-call:hover { background: rgba(232,207,134,.16); color: #fff; border-color: #F2E3A6; }

/* =========================================================
   신뢰 띠 (trust2): 밝은 한지 바탕 · 금테 액자 · 다섯 메달
   ========================================================= */
.trust2 { padding: 64px 0; background: linear-gradient(180deg, #FBF8EE 0%, #F4EFE0 100%); }
.tr-head { text-align: center; }
.tr-head .eyebrow { justify-content: center; }
.tr-head h2 { font-size: 26px; color: #23401A; margin: 8px 0 0; line-height: 1.45; }
.tr-list { list-style: none; margin: 30px 0 0; padding: 8px 22px; border-radius: 22px; background: #fff;
  box-shadow: 0 0 0 1px rgba(176,138,62,.35), inset 0 0 0 6px #fff, inset 0 0 0 7px rgba(176,138,62,.18), 0 18px 40px rgba(90,70,20,.10); }
.tr-list li { display: grid; grid-template-columns: 52px 1fr; column-gap: 16px; align-items: center; padding: 18px 4px; border-top: 1px solid rgba(176,138,62,.2); }
.tr-list li:first-child { border-top: 0; }
.tr-ic { grid-row: span 2; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%;
  background: radial-gradient(circle at 30% 25%, #7FA24B, #3E6A2C 70%);
  box-shadow: 0 0 0 3px #fff, 0 0 0 4px rgba(176,138,62,.45), 0 8px 18px rgba(62,106,44,.25); }
.tr-ic svg { width: 28px; height: 28px; fill: none; stroke: #fff; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.tr-list b { font-family: var(--serif); font-size: 18px; color: #23401A; letter-spacing: -.01em; }
.tr-desc { font-size: 15px; line-height: 1.6; color: #4A4A42; }
.tr-desc br { display: none; }
@media (min-width: 900px) {
  .trust2 { padding: 84px 0; }
  .tr-head h2 { font-size: 32px; }
  .tr-list { display: grid; grid-template-columns: repeat(5, 1fr); padding: 34px 10px; margin-top: 40px; }
  .tr-list li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0; padding: 4px 16px; border-top: 0; border-left: 1px solid rgba(176,138,62,.25); }
  .tr-list li:first-child { border-left: 0; }
  .tr-ic { width: 64px; height: 64px; margin-bottom: 18px; }
  .tr-ic svg { width: 34px; height: 34px; }
  .tr-list b { font-size: 19px; margin-bottom: 8px; }
  .tr-desc { font-size: 15px; }
  .tr-desc br { display: inline; }
}

/* 두 갈래 카드: 혜택 칩 · 전화 줄 */
.pc-perks { list-style: none; margin: -8px 0 14px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.pc-perks li { padding: 4px 11px; border-radius: 99px; font-size: 13px; font-weight: 600; letter-spacing: -.01em;
  color: var(--deep, #6E2414); background: #fff; box-shadow: 0 0 0 1px color-mix(in srgb, var(--c, #9E3D2A) 30%, transparent); }
.pc-perks li::before { content: "✓"; margin-right: 5px; color: var(--c, #9E3D2A); font-weight: 700; }
.path-card .pc-tel { margin: 0 0 18px; font-size: 15px; color: #55554f; white-space: nowrap; }
.path-card .pc-tel b { font-size: 17px; letter-spacing: .03em; color: var(--deep, #6E2414); }
.path-card .pc-benefit { margin: -6px 0 16px; padding: 10px 14px; border-radius: 12px; display: flex; flex-direction: column; gap: 2px;
  background: rgba(255,255,255,.75); box-shadow: 0 0 0 1px color-mix(in srgb, var(--c, #9E3D2A) 22%, transparent); }
.path-card .pc-benefit span { font-size: 12.5px; letter-spacing: .02em; color: #8a6a5a; }
.path-card .pc-benefit b { font-size: 15px; color: var(--deep, #6E2414); letter-spacing: -.01em; }

/* =========================================================
   2.0 1단계: 사진 위 문구 숨김 · 5초 요약 띠 · 히어로 버튼 우선순위
   ========================================================= */
.mhero figcaption, .render-tag, .intro-photo figcaption { display: none !important; }
.fig--tall img { aspect-ratio: 3 / 4; max-height: 520px; object-position: top; }
.fig--lead { margin: 0 0 24px; }

.q5 { background: linear-gradient(180deg, #FBF8EE, #F4EFE0); border-bottom: 1px solid rgba(176,138,62,.22); }
.q5 ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; }
.q5 li { display: grid; justify-items: center; text-align: center; gap: 4px; padding: 20px 8px; border-top: 1px solid rgba(176,138,62,.2); }
.q5 li:nth-child(-n+2) { border-top: 0; }
.q5 li:nth-child(even) { border-left: 1px solid rgba(176,138,62,.2); }
.q5-ic { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; margin-bottom: 6px;
  background: radial-gradient(circle at 30% 25%, #7FA24B, #3E6A2C 70%); box-shadow: 0 0 0 3px #fff, 0 0 0 4px rgba(62,106,44,.28), 0 6px 14px rgba(62,106,44,.22); }
.q5-ic svg { width: 24px; height: 24px; fill: none; stroke: #fff; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.q5 b { font-family: var(--serif); font-size: 17px; color: #23401A; }
.q5 li > span:last-child { font-size: 13.5px; line-height: 1.5; color: #55554f; }
@media (min-width: 900px) {
  .q5 ul { grid-template-columns: repeat(4, 1fr); }
  .q5 li, .q5 li:nth-child(-n+2) { grid-template-columns: auto; padding: 28px 12px; border-top: 0; border-left: 1px solid rgba(176,138,62,.2); }
  .q5 li:first-child { border-left: 0; }
  .q5 b { font-size: 19px; }
  .q5 li > span:last-child { font-size: 15px; }
}
.q5 + .wrap { padding-top: 32px; }
.q5 + .wrap .visit-note--top { margin-top: 0; }
@media (min-width: 900px) { .q5 + .wrap { padding-top: 48px; } }

/* =========================================================
   2.0 2단계: 메인 이용료 요약 · 평생 영구 안치
   ========================================================= */
.ph-sec { background: #fff; }
.center .lead { max-width: 720px; margin-left: auto; margin-right: auto; }
.ph-list { list-style: none; margin: 34px 0 0; padding: 0; display: grid; gap: 16px; }
.ph { --c: #3E6A2C; --c2: #6F9A45; --soft: #EEF4E6; --deep: #23401A;
  position: relative; overflow: hidden; border-radius: 20px; padding: 28px 24px 24px;
  background: linear-gradient(160deg, #fff 0%, var(--soft) 100%);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--c) 22%, transparent), inset 0 0 0 1px rgba(255,255,255,.8), 0 14px 34px color-mix(in srgb, var(--c) 12%, transparent); }
.ph::after { content: ""; position: absolute; left: 24px; top: 0; width: 46px; height: 3px; border-radius: 0 0 3px 3px; background: linear-gradient(90deg, var(--c), var(--c2)); }
.ph--blossom { --c: #C2566F; --c2: #E68AA0; --soft: #FCEEF1; --deep: #8E2F47; }
.ph--amber { --c: #B07624; --c2: #D9A350; --soft: #FBF2E2; --deep: #74480C; }
.ph-ic { display: flex; align-items: center; justify-content: center; width: 60px; height: 60px; border-radius: 50%; margin-bottom: 16px;
  background: radial-gradient(circle at 30% 25%, var(--c2), var(--c) 70%);
  box-shadow: 0 0 0 4px #fff, 0 0 0 5px color-mix(in srgb, var(--c) 30%, transparent), 0 10px 22px color-mix(in srgb, var(--c) 32%, transparent); }
.ph-ic svg { width: 34px; height: 34px; fill: none; stroke: #fff; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.ph-kind { display: block; font-family: var(--serif); font-size: 22px; font-weight: 700; color: var(--deep); }
.ph-kind em { font-style: normal; font-family: var(--sans, inherit); font-size: 13px; font-weight: 600; color: var(--c); margin-left: 8px; letter-spacing: .02em; }
.ph-desc { margin: 6px 0 14px; font-size: 15px; line-height: 1.6; color: #55554f; }
.ph-price { margin: 0; padding-top: 14px; border-top: 1px dashed color-mix(in srgb, var(--c) 35%, transparent); font-family: var(--serif); font-size: 26px; font-weight: 700; line-height: 1.35; color: var(--deep); }
.ph-price small { font-size: 14px; font-weight: 500; color: var(--c); }
.ph-fee { margin: 8px 0 0; font-size: 14px; line-height: 1.6; color: #6b6a62; }
.ph-notes { list-style: none; margin: 30px 0 0; padding: 0; display: grid; gap: 12px; }
.ph-notes li { display: grid; gap: 4px; padding: 16px 18px; border-radius: 14px; background: #FBF8EE; box-shadow: 0 0 0 1px rgba(176,138,62,.22); }
.ph-notes b { font-family: var(--serif); font-size: 17px; color: #23401A; }
.ph-notes span { font-size: 15px; line-height: 1.65; color: #4A4A42; }
.ph-aside { max-width: 760px; margin: 24px auto 0; text-align: center; font-size: 14.5px; line-height: 1.7; color: #6b6a62; }
.ph-cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 28px; }
.ph-cta .btn { flex: 1 1 220px; max-width: 320px; }

.lf-sec .lf-list { list-style: none; margin: 32px auto 0; padding: 6px 20px; max-width: 920px; border-radius: 22px; background: #fff;
  box-shadow: 0 0 0 1px rgba(176,138,62,.35), inset 0 0 0 6px #fff, inset 0 0 0 7px rgba(176,138,62,.16), 0 18px 40px rgba(90,70,20,.08); }
.lf-list li { display: grid; gap: 4px; padding: 18px 4px; border-top: 1px solid rgba(176,138,62,.22); }
.lf-list li:first-child { border-top: 0; }
.lf-q { font-size: 14px; font-weight: 600; letter-spacing: .01em; color: #8a6a3a; }
.lf-a { font-size: 15px; line-height: 1.65; color: #4A4A42; }
.lf-a b { display: block; font-family: var(--serif); font-size: 19px; color: #23401A; margin-bottom: 2px; }
.lf-a b::before { content: "✓"; display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; margin-right: 8px; border-radius: 50%; font-size: 12px; color: #fff; vertical-align: 2px;
  background: radial-gradient(circle at 30% 25%, #7FA24B, #3E6A2C 70%); }
@media (min-width: 768px) {
  .ph-list { grid-template-columns: repeat(3, 1fr); gap: 22px; }
  .ph { padding: 34px 28px 28px; }
  .ph::after { left: 28px; }
  .ph-notes { grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .lf-list li { grid-template-columns: 240px 1fr; gap: 20px; align-items: center; padding: 20px 12px; }
  .lf-sec .lf-list { padding: 10px 28px; }
  .lf-q { font-size: 15px; }
  .lf-a { font-size: 16px; }
}

/* 2.0 3단계: 계약 시 혜택 */
.ug-perks { list-style: none; margin: 22px 0 0; padding: 14px 18px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; border-radius: 16px;
  background: linear-gradient(120deg, #FFFDF6, #F8F0DC); box-shadow: 0 0 0 1px rgba(176,138,62,.35); }
.ug-perks .ug-perks-h { font-family: var(--serif); font-weight: 700; color: #5A3E0E; margin-right: 4px; }
.ug-perks li:not(.ug-perks-h) { padding: 5px 12px; border-radius: 99px; font-size: 14px; font-weight: 600; color: #3E6A2C; background: #fff; box-shadow: 0 0 0 1px rgba(62,106,44,.25); }
.ug-perks li:not(.ug-perks-h)::before { content: "✓"; margin-right: 6px; color: #3E6A2C; }

/* 2.0 3단계: 하위 페이지 마무리 CTA · 가격 설명 */
.sub-cta { background: linear-gradient(180deg, #FBF8EE, #F4EFE0); border-top: 1px solid rgba(176,138,62,.22); }
.sub-cta .lead { max-width: 640px; margin-left: auto; margin-right: auto; }
.ph-notes--guide { margin-top: 26px; }

/* 참고 문구 블록 · 개인정보처리방침 */
.ph-aside { max-width: 720px; margin: 28px auto 0; padding: 20px 24px 22px; text-align: center; border-radius: 18px;
  background: linear-gradient(120deg, #FFFDF6, #F8F0DC); box-shadow: 0 0 0 1px rgba(176,138,62,.3); }
.ph-aside-tag { display: inline-block; margin-bottom: 10px; padding: 2px 12px; border-radius: 99px; font-size: 12.5px; font-weight: 700; letter-spacing: .08em; color: #8a6a3a; background: rgba(215,180,96,.2); }
.ph-aside-calc { margin: 0 0 12px; font-size: 15px; line-height: 1.7; color: #6b5a3a; }
.ph-aside-calc b { color: #5A3E0E; font-weight: 700; }
.ph-aside-main { margin: 0; padding-top: 12px; border-top: 1px dashed rgba(176,138,62,.4); font-family: var(--serif); font-size: 19px; font-weight: 700; line-height: 1.6; color: #23401A; }
@media (min-width: 768px) { .ph-aside { padding: 24px 32px 26px; } .ph-aside-main { font-size: 22px; } .ph-aside-calc { font-size: 16px; } }

.policy { max-width: 860px; margin: 0 auto; }
.pol-lead { margin: 0 0 24px; padding: 18px 20px; border-radius: 14px; font-size: 16px; line-height: 1.8; color: #4A4A42; background: #FBF8EE; box-shadow: 0 0 0 1px rgba(176,138,62,.25); }
.pol-sec { padding: 22px 0; border-top: 1px solid rgba(176,138,62,.22); }
.pol-sec h3 { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; font-size: 19px; color: #23401A; }
.pol-sec h3 span { flex: none; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; font-family: var(--serif); font-size: 15px; color: #fff;
  background: radial-gradient(circle at 30% 25%, #7FA24B, #3E6A2C 70%); }
.pol-sec p { margin: 0 0 10px; font-size: 16px; line-height: 1.8; color: #4A4A42; }
.pol-sec ul { margin: 0; padding: 0 0 0 20px; }
.pol-sec li { margin: 0 0 8px; font-size: 16px; line-height: 1.75; color: #4A4A42; }
.pol-box { margin: 0 0 12px; padding: 14px 18px; border-radius: 12px; background: #F3F6EA; box-shadow: 0 0 0 1px rgba(62,106,44,.18); }
.pol-box p { margin: 0 0 4px; }

/* =========================================================
   모바일: 첫 화면 사진이 더 보이도록 · 소개 사진 위로/크게
   ========================================================= */
@media (max-width: 767px) {
  .mhero .slide::after { background: linear-gradient(180deg, rgba(20,28,2,.16) 0%, rgba(20,28,2,.06) 26%, rgba(20,28,2,.42) 48%, rgba(20,28,2,.86) 100%); }
  .mhero-cta .btn--glass { display: none; }            /* 전화는 하단 고정 바에 항상 있음 */
  .mhero-cta { bottom: 108px; }
  .mhero-copy { bottom: 264px; }
  .mhero h1, .mhero .mhero-title { font-size: 38px; text-shadow: 0 2px 16px rgba(0,0,0,.35); }
  .mhero-copy p:not(.mhero-title) { text-shadow: 0 1px 10px rgba(0,0,0,.4); }
  .mhero-kicker { text-shadow: 0 1px 8px rgba(0,0,0,.6); }
  .merit-sec { padding-bottom: 32px; }
  .intro-sec { padding-top: 0; }
  .intro-sec .intro { gap: 22px; }
  .intro-photo { margin: 0 -16px; }
  .intro-photo img { border-radius: 0; aspect-ratio: 4 / 5; box-shadow: none; }
}


/* =========================================================
   모바일: 글씨 진하게 · 본문 굵기 500 · 작은 글씨 키움
   ========================================================= */
@media (max-width: 767px) {
  body { color: #1d1f1d; font-weight: 500; -webkit-font-smoothing: antialiased; }
  :root { --text: #1d1f1d; }
  b, strong, h1, h2, h3, h4, th { font-weight: 700; }
  .car-btns button { color: #3a3a35; }
  .compare-tbl thead th { color: #3a3a35; }
  .duo-note { color: #3a3a35; }
  .f-col p { color: #3a382f; }
  .f-sub { color: #4a473e; }
  .f-temple small { color: #3a382f; }
  .guide-head p { color: #3a3a35; }
  .info-card .mw-why { color: #3a3a35; }
  .lead { color: #3a3a35; }
  .lf-a { color: #2b2b26; }
  .lf-q { color: #6a4f26; }
  .m2-desc { color: #33332e; }
  .member-why li span { color: #3a3a35; }
  .merit span { color: #3a3a35; }
  .merit-sec--light .merit span { color: #3a3a35; }
  .mw-foot { color: #3a3a35; }
  .note { color: #3a3a35; }
  .numline span { color: #3a3a35; }
  .path-card .pc-benefit span { color: #6a4a3a; }
  .path-card .pc-tel { color: #33332e; }
  .path-card p { color: #33332e; }
  .path-card--urgent p { color: #33332e; }
  .ph-aside { color: #46463f; }
  .ph-aside-calc { color: #4d3f26; }
  .ph-desc { color: #33332e; }
  .ph-fee { color: #46463f; }
  .ph-notes span { color: #2b2b26; }
  .pol-lead { color: #2b2b26; }
  .pol-sec li { color: #2b2b26; }
  .pol-sec p { color: #2b2b26; }
  .price-tbl tbody th small { color: #3a3a35; }
  .price-tbl--real tr.tr-more td[colspan] { color: #4d3f26; }
  .q5 li > span:last-child { color: #33332e; }
  .quick span { color: #3a3a35; }
  .src-note { color: #3a3a35; }
  .stat span { color: #3a3a35; }
  .steps span { color: #3a3a35; }
  .tbl-notes { color: #3a3a35; }
  .tbl-title small { color: #3a3a35; }
  .tr-desc { color: #2b2b26; }
  .tree-sp { color: #3a3a35; }
  .ug-day ul li { color: #33332e; }
  .ug-day ul li small { color: #5f5238; }
  .ug-doc p { color: #33332e; }
  .ug-flow p { color: #33332e; }
  .ug-help-txt p { color: #4d3f26; }
  .ug-note { color: #605f55; }
  .ug-now-item p { color: #33332e; }
  .ug-tips p { color: #33332e; }
  .ug-tips small { color: #605f55; }
  .value-note { color: #3a3a35; }
  .value-strip span { color: #3a3a35; }
  .visit-mini { color: #3a3a35; }
  .visit-must span { color: #3a3a35; }
  .visit-note span { color: #4d3f26; }
  .wi-head p { color: #33332e; }
  .wi-src { color: #605f55; }
  .wi-steps p { color: #33332e; }
  .duo-faq li span { font-size: 15px; }
  .lf-q { font-size: 15px; }
  .merit span { font-size: 15px; }
  .pcard-body span { font-size: 15px; }
  .ph-fee { font-size: 15px; }
  .q5 li > span:last-child { font-size: 15px; }
  .src-note { font-size: 15px; }
  .ug-day ul li { font-size: 15px; }
  .ug-doc p { font-size: 15px; }
  .ug-flow p { font-size: 15px; }
  .ug-note { font-size: 15px; }
  .ug-perks li:not(.ug-perks-h) { font-size: 15px; }
  .ug-tips p { font-size: 15px; }
  .value-strip span { font-size: 15px; }
  .wi-steps p { font-size: 15px; }
}
@media (max-width: 767px) { .site-footer .member-note, .site-footer .f-copy, .site-footer .f-sub, .site-footer .f-temple small { color: #4a473e; } .site-footer .member-note { font-size: 14px; } }
/* END mobile-text */

/* 맨 위 띠: 사찰 나무색(고목 갈색) */
.topbar { background: linear-gradient(180deg, #6B4528 0%, #58381F 100%); color: rgba(255,244,222,.88); border-bottom: 1px solid rgba(226,200,130,.4); }
.topbar b, .topbar a { color: #F2E3A6; }

/* =========================================================
   새 로고 반영: 헤더 가로형 · 푸터/마무리 마크
   ========================================================= */
.brand { gap: 0; }
.brand img.brand-logo { display: block; width: auto; height: 54px; background: none; padding: 0; border-radius: 0; box-sizing: border-box; }
@media (min-width: 1024px) { .brand img.brand-logo { height: 64px; width: auto; } }
.f-brand--temple img.f-mark { width: 104px; height: auto; background: none; padding: 0; }
.closing-mark { width: 150px; height: auto; }

/* =========================================================
   헤더 로고 글씨 키움 · 둘러보기 사진은 잘림 없이(땅까지) 보이게
   ========================================================= */
.brand img.brand-logo { height: 58px; }
@media (min-width: 1024px) { .brand img.brand-logo { height: 66px; } }
.site-header { min-height: 64px; }

.shots { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; margin-top: 18px; }
.shots figure { margin: 0; }
.shots a { display: block; }
.shots img { display: block; width: 100%; height: auto; border-radius: 14px; box-shadow: 0 0 0 1px rgba(176,138,62,.3), 0 10px 24px rgba(52,72,6,.10); }
.shots figcaption { margin-top: 8px; font-size: 14px; line-height: 1.5; color: #3a3a35; text-align: center; }
@media (min-width: 768px) { .shots { grid-template-columns: repeat(3, 1fr); gap: 18px; } .shots figcaption { font-size: 15px; } }
@media (min-width: 1100px) { .shots { grid-template-columns: repeat(4, 1fr); } }

.look2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; margin: 4px 0 18px; }
.look2 figure { margin: 0; }
.look2 img { display: block; width: 100%; height: auto; border-radius: 14px; box-shadow: 0 0 0 1px rgba(176,138,62,.3), 0 10px 24px rgba(52,72,6,.10); }
.look2 figcaption { margin-top: 8px; font-size: 14px; line-height: 1.5; color: #3a3a35; text-align: center; }
@media (min-width: 768px) { .look2 { gap: 22px; max-width: 760px; } .look2 figcaption { font-size: 15px; } }

/* 경내 사진도 자르지 않고 건물 전체가 보이게 */
.card-photo--land img { aspect-ratio: auto; height: auto; object-fit: contain; }
.card-grid--land { align-items: start; }

/* =========================================================
   메인 슬라이드: 대기업 방식(풀블리드 · 느린 전환 · 진행 막대) · 위 띠 제거
   ========================================================= */
.mhero { height: calc(100vh - var(--header-h)); height: calc(100svh - var(--header-h)); min-height: 560px; max-height: 940px; }
.mhero .slider .slide, .mhero .slide { transition: opacity 1.6s cubic-bezier(.4,0,.2,1); }
.mhero .slide.is-active img { animation: kenburns 14s linear forwards; }
.mhero .slide.is-active .mhero-copy > * { animation: rise 1.2s cubic-bezier(.2,.7,.2,1) both; }
.mhero .slide.is-active .mhero-copy > *:nth-child(2) { animation-delay: .25s; }
.mhero .slide.is-active .mhero-copy > *:nth-child(3) { animation-delay: .5s; }
.mhero-ctrl .slider-count, .mhero .slider-count { display: none; }

/* 진행 막대 */
.mhero-ctrl { bottom: 78px; gap: 0; }
.mhero .slider-dots { gap: 10px; }
.mhero .slider-dots button { position: relative; display: block; width: 36px; height: 22px; padding: 0; border: 0; background: none; cursor: pointer; }
.mhero .slider-dots button::before, .mhero .slider-dots button[aria-current="true"]::before {
  content: ""; position: absolute; left: 0; right: 0; top: 50%; width: auto; height: 2px; border-radius: 0; background: rgba(255,255,255,.4); transform: translateY(-50%); }
.mhero .slider-dots button::after { content: ""; position: absolute; left: 0; top: 50%; width: 100%; height: 2px; background: #fff; transform: translateY(-50%) scaleX(0); transform-origin: left center; }
.mhero .slider-dots button[aria-current="true"]::after { animation: heroFill var(--ms, 6500ms) linear forwards; }
@keyframes heroFill { from { transform: translateY(-50%) scaleX(0); } to { transform: translateY(-50%) scaleX(1); } }
@media (min-width: 768px) { .mhero-ctrl { bottom: 72px; } .mhero .slider-dots { gap: 14px; } .mhero .slider-dots button { width: 64px; } }

/* 화살표: 얇은 선형 */
.mhero .slider-arrow { width: 56px; height: 56px; border: 0; background: transparent; font-size: 40px; font-weight: 200; line-height: 1; color: rgba(255,255,255,.75); transition: color .25s, transform .25s; }
.mhero .slider-arrow:hover { color: #fff; background: transparent; }
.mhero .slider-arrow.prev:hover { transform: translateX(-3px); } .mhero .slider-arrow.next:hover { transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) { .mhero .slider-dots button[aria-current="true"]::after { animation: none; transform: translateY(-50%) scaleX(1); } }

/* 헤더: 영문 줄이 들어간 로고에 맞춰 높이 조정 · 좁은 PC 화면에서 메뉴 줄바꿈 방지 */
:root { --header-h: 72px; }
@media (min-width: 1024px) { :root { --header-h: 84px; } }
.brand img.brand-logo { height: 64px; }
@media (min-width: 1024px) { .brand img.brand-logo { height: 76px; } }
.gnb a, .header-call { white-space: nowrap; }
@media (min-width: 1024px) and (max-width: 1279px) {
  .gnb { gap: 16px; } .gnb a { font-size: 15px; letter-spacing: 0; }
  .header-call { padding: 0 14px 0 6px; font-size: 15px; gap: 8px; }
  .brand img.brand-logo { height: 60px; }
}

/* =========================================================
   슬라이드 전환을 자연스럽게: 이전 장면 위로 새 장면이 서서히 덮임
   (겹쳐 사라지며 어두워지던 현상 · 확대 효과가 갑자기 되돌아가던 현상 · 글씨 겹침 해소)
   ========================================================= */
.mhero .slide { opacity: 0; z-index: 0; transition: opacity 1.6s cubic-bezier(.4,0,.2,1); will-change: opacity; }
.mhero .slide.is-active { opacity: 1; z-index: 2; }
.mhero .slide.is-prev { opacity: 1; z-index: 1; transition: none; }
.mhero .slide img { will-change: transform; backface-visibility: hidden; }
/* 이전 장면도 확대 동작을 이어서 유지(멈추거나 되돌아가지 않음) */
.mhero .slide.is-prev img:not(.is-soft) { animation: kenburns 14s linear forwards; }
/* 글씨: 나가는 장면은 빠르게 사라지고, 들어오는 장면은 사진이 자리잡은 뒤 차례로 */
.mhero .slide .mhero-copy { transition: opacity .5s ease; }
.mhero .slide.is-prev .mhero-copy { opacity: 0; }
.mhero .slide.is-active .mhero-copy > * { animation: rise 1.2s cubic-bezier(.2,.7,.2,1) both; animation-delay: .7s; }
.mhero .slide.is-active .mhero-copy > *:nth-child(2) { animation-delay: .95s; }
.mhero .slide.is-active .mhero-copy > *:nth-child(3) { animation-delay: 1.2s; }
@media (prefers-reduced-motion: reduce) { .mhero .slide, .mhero .slide.is-prev { transition: none; } .mhero .slide.is-active .mhero-copy > * { animation: none; } }

/* 5초 요약 아이콘: 은은하게 깜박임(순서대로 반짝) */
.q5-ic { position: relative; animation: q5blink 2.6s ease-in-out infinite; }
.q5 li:nth-child(2) .q5-ic { animation-delay: .5s; }
.q5 li:nth-child(3) .q5-ic { animation-delay: 1s; }
.q5 li:nth-child(4) .q5-ic { animation-delay: 1.5s; }
.q5-ic::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid rgba(176,138,62,.55); opacity: 0; animation: q5ring 2.6s ease-out infinite; animation-delay: inherit; pointer-events: none; }
.q5 li:nth-child(2) .q5-ic::after { animation-delay: .5s; }
.q5 li:nth-child(3) .q5-ic::after { animation-delay: 1s; }
.q5 li:nth-child(4) .q5-ic::after { animation-delay: 1.5s; }
@keyframes q5blink { 0%, 100% { opacity: 1; filter: brightness(1); } 45% { opacity: .55; filter: brightness(1.35); } 60% { opacity: 1; filter: brightness(1.15); } }
@keyframes q5ring { 0% { transform: scale(.92); opacity: .0; } 20% { opacity: .9; } 100% { transform: scale(1.5); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .q5-ic, .q5-ic::after { animation: none; } }

/* 형광 밑줄: 글씨 폭만큼, 글씨 아래쪽에만 (박스 전체 폭으로 퍼지던 문제 수정) */
.hl-mark, .visit-note b .hl-mark, .visit-note span.hl-mark { display: inline !important; margin: 0 !important; padding: 0 2px; font: inherit; color: inherit; line-height: inherit;
  background: linear-gradient(transparent 58%, rgba(242,233,138,.75) 58%, rgba(242,233,138,.75) 92%, transparent 92%); box-decoration-break: clone; -webkit-box-decoration-break: clone; }

/* =========================================================
   모바일 압축: 수목장 핵심만 남기고, 대원사 이야기는 '더 알아보기'로
   ========================================================= */
.more-mo { display: none; }
.more-card { position: relative; display: block; margin-top: 12px; padding: 18px 56px 18px 20px; border-radius: 16px; text-decoration: none; background: linear-gradient(160deg, #fff, #F3F6EA); box-shadow: 0 0 0 1px rgba(62,106,44,.2), 0 8px 20px rgba(62,106,44,.08); }
.more-card b { display: block; font-family: var(--serif); font-size: 18px; color: #23401A; }
.more-card span { display: block; margin-top: 4px; font-size: 14.5px; line-height: 1.5; color: #4A4A42; }
.more-card i { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; font-style: normal; color: #fff; background: radial-gradient(circle at 30% 25%, #6F9A45, #3E6A2C 70%); }

@media (max-width: 767px) {
  .more-mo { display: block; }
  .mo-skip { display: none !important; }
  .section { padding: 44px 0; }

  /* 두 갈래 카드: 요약만 */
  .q5 li { padding: 14px 8px; }
  .q5-ic { width: 40px; height: 40px; margin-bottom: 4px; }
  .path-card { padding: 22px 20px; }
  .path-card .pc-no, .path-card > p:not(.pc-benefit):not(.pc-tel) { display: none; }
  .path-card .pc-ic { width: 52px; height: 52px; margin-bottom: 12px; }
  .path-card h2 { font-size: 21px; margin-bottom: 12px; }
  .path-card .go { margin-top: 6px; padding-top: 14px; }

  /* 선택 이유: 4개만, 작게 */
  .m2--blossom, .m2--teal { display: none; }
  .merit2 { margin-top: 24px; gap: 12px; }
  .m2 { padding: 20px 18px 18px; }
  .m2-num { display: none; }
  .m2-ic { width: 48px; height: 48px; margin-bottom: 10px; }
  .m2-ic svg { width: 26px; height: 26px; }
  .m2 b { font-size: 19px; }
  .m2 b::after { margin: 8px 0 6px; }

  /* 수목장 소개: 사진 + 핵심 문장만 */
  .intro-facts { display: none; }
  .intro-text p:nth-of-type(1) { display: none; }

  /* 이용료: 카드만 간결하게 */
  .ph-desc, .ph-notes { display: none; }
  .ph-list { margin-top: 22px; gap: 12px; }
  .ph { padding: 20px 20px 18px; }
  .ph-ic { width: 46px; height: 46px; margin-bottom: 10px; }
  .ph-ic svg { width: 26px; height: 26px; }
  .ph-kind { font-size: 20px; }
  .ph-price { margin-top: 10px; padding-top: 10px; font-size: 23px; }
  .ph-aside { margin-top: 20px; padding: 16px 18px 18px; }
  .ph-cta { margin-top: 18px; }

  /* 평생 영구 안치: 질문 3개만 */
  .lf-list li:nth-child(n+4) { display: none; }
  .lf-sec .ph-cta .btn--line { display: none; }
  .lf-sec .lf-list { margin-top: 22px; }

  /* 사진: 옆으로 넘겨 보기 */
  .gallery-strip { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px; margin: 20px -16px 18px; padding: 0 16px; -webkit-overflow-scrolling: touch; }
  .gallery-strip a { flex: 0 0 58%; aspect-ratio: 3 / 4; scroll-snap-align: start; }

  /* 신뢰 띠: 3개 · 거리 지도는 작게 · 상담 안내는 하단 바와 마무리 띠로 대체 */
  .near-map { max-width: 210px; }
  .near { gap: 18px; }
  .duo-call { display: none; }
  .duo { gap: 0; }
}
@media (max-width: 767px) {
  .ph { display: grid; grid-template-columns: 46px 1fr; column-gap: 14px; align-items: center; padding: 16px 18px; }
  .ph-ic { grid-row: 1 / span 3; margin: 0; align-self: start; margin-top: 4px; }
  .ph-kind, .ph-price, .ph-fee { grid-column: 2; }
  .ph-price { margin-top: 4px; padding-top: 0; border-top: 0; font-size: 21px; }
  .ph-fee { margin-top: 4px; font-size: 14px; }
  .ph::after { left: 18px; }
}

/* =========================================================
   메인 압축(모든 화면): 수목장 중심 · 대원사 신뢰는 짧게 · 나머지는 둘러보기/이야기 페이지로
   ========================================================= */
.more-mo { display: block; background: linear-gradient(180deg, #FBF8EE, #F4EFE0); }
.more-grid { display: grid; gap: 12px; margin-top: 12px; }
@media (min-width: 768px) { .more-grid { grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 26px; } .more-grid .more-card { margin-top: 0; } }
.ph-notes { display: none; }
.lf-list li:nth-child(n+4) { display: none; }
.lf-sec .ph-cta .btn--line { display: none; }
.intro-facts { display: none; }
@media (min-width: 900px) { .tr-list { grid-template-columns: repeat(3, 1fr); } }

/* =========================================================
   결정의 순간별 입구 · 답사부터 결정까지
   ========================================================= */
.moments { background: #fff; padding-top: 56px; }
.moments .lead { max-width: 640px; margin-left: auto; margin-right: auto; }
.mm-list { list-style: none; margin: 30px 0 0; padding: 0; display: grid; gap: 14px; }
.mm { --c: #3E6A2C; --c2: #6F9A45; --soft: #EEF4E6; --deep: #23401A;
  position: relative; display: block; height: 100%; box-sizing: border-box; overflow: hidden; padding: 22px 20px 20px; border-radius: 20px; text-decoration: none; color: inherit;
  background: linear-gradient(160deg, #fff 0%, var(--soft) 100%);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--c) 22%, transparent), inset 0 0 0 1px rgba(255,255,255,.8), 0 14px 32px color-mix(in srgb, var(--c) 12%, transparent);
  transition: transform .3s ease, box-shadow .3s ease; }
.mm:hover { transform: translateY(-4px); box-shadow: 0 0 0 1px color-mix(in srgb, var(--c) 40%, transparent), 0 22px 44px color-mix(in srgb, var(--c) 20%, transparent); }
.mm::before { content: ""; position: absolute; left: 20px; top: 0; width: 44px; height: 3px; border-radius: 0 0 3px 3px; background: linear-gradient(90deg, var(--c), var(--c2)); }
.mm--temple { --c: #8A5A2B; --c2: #B9874E; --soft: #F8F0E4; --deep: #5A3814; }
.mm--amber { --c: #B07624; --c2: #D9A350; --soft: #FBF2E2; --deep: #74480C; }
.mm--rust { --c: #9E3D2A; --c2: #CF7457; --soft: #FBEEE8; --deep: #6E2414; }
.mm-ic { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%; margin-bottom: 12px;
  background: radial-gradient(circle at 30% 25%, var(--c2), var(--c) 70%);
  box-shadow: 0 0 0 4px #fff, 0 0 0 5px color-mix(in srgb, var(--c) 30%, transparent), 0 8px 18px color-mix(in srgb, var(--c) 30%, transparent); }
.mm-ic svg { width: 28px; height: 28px; fill: none; stroke: #fff; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.mm-tag { display: block; font-size: 13.5px; font-weight: 700; letter-spacing: .02em; color: var(--c); }
.mm h3 { margin: 8px 0 8px; font-size: 21px; line-height: 1.4; color: var(--deep); }
.mm p { margin: 0; font-size: 15px; line-height: 1.65; color: #4A4A42; }
.mm-perk { margin-top: 12px !important; padding: 9px 12px; border-radius: 10px; background: rgba(255,255,255,.8); box-shadow: 0 0 0 1px color-mix(in srgb, var(--c) 22%, transparent); }
.mm-perk span { display: block; font-size: 12px; color: #8a6a5a; }
.mm-perk b { font-size: 14px; color: var(--deep); }
.mm-go { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; font-size: 15px; font-weight: 700; color: var(--c); }
.mm-go::after { content: "→"; transition: transform .25s ease; }
.mm:hover .mm-go::after { transform: translateX(4px); }
.moments .visit-note { margin: 26px 0 0; }
@media (min-width: 768px) { .mm-list { grid-template-columns: 1fr 1fr; gap: 18px; } .mm { padding: 28px 26px 24px; } .mm h3 { font-size: 23px; } }
@media (min-width: 1200px) { .mm-list { grid-template-columns: repeat(4, 1fr); } .mm h3 { font-size: 21px; } }

.vf-sec { background: linear-gradient(180deg, #FBF8EE, #F4EFE0); }
.vf-sec .lead { max-width: 640px; margin-left: auto; margin-right: auto; }
.vf-steps { list-style: none; margin: 30px 0 0; padding: 0; display: grid; gap: 12px; }
.vf-steps li { display: flex; gap: 14px; align-items: flex-start; padding: 18px 18px; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px rgba(176,138,62,.3), 0 10px 24px rgba(90,70,20,.07); }
.vf-no { flex: none; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; font-family: var(--serif); font-weight: 700; font-size: 18px; color: #fff;
  background: radial-gradient(circle at 30% 25%, #6F9A45, #3E6A2C 70%); box-shadow: 0 0 0 3px #fff, 0 0 0 4px rgba(62,106,44,.3), 0 6px 14px rgba(62,106,44,.25); }
.vf-steps b { display: block; font-family: var(--serif); font-size: 19px; color: #23401A; }
.vf-steps p { margin: 4px 0 0; font-size: 15px; line-height: 1.65; color: #4A4A42; }
.vf-chips { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.vf-chips li { padding: 6px 14px; border-radius: 99px; font-size: 14px; font-weight: 600; color: #3E6A2C; background: #fff; box-shadow: 0 0 0 1px rgba(62,106,44,.25); }
.vf-chips li::before { content: "✓"; margin-right: 6px; }
@media (min-width: 900px) { .vf-steps { grid-template-columns: repeat(3, 1fr); gap: 18px; } .vf-steps li { flex-direction: column; gap: 12px; padding: 24px 22px; } }
@media (max-width: 767px) { .moments { padding-top: 40px; } }
@media (max-width: 767px) {
  .mm-list { margin-top: 22px; gap: 10px; }
  .mm { display: grid; grid-template-columns: 46px 1fr; column-gap: 14px; align-items: start; padding: 16px 16px 14px; }
  .mm-ic { grid-row: 1 / span 5; width: 46px; height: 46px; margin: 2px 0 0; }
  .mm-ic svg { width: 25px; height: 25px; }
  .mm > *:not(.mm-ic) { grid-column: 2; }
  .mm h3 { font-size: 19px; margin: 4px 0 0; }
  .mm p { display: none; }
  .mm--rust p { display: block; margin-top: 6px; font-size: 14.5px; }
  .mm-go { margin-top: 8px; font-size: 14.5px; }
  .moments .visit-note { margin-top: 18px; }
  .vf-steps p { font-size: 14.5px; }
}

/* =========================================================
   신뢰의 디자인 레이어 (2026-10-09)
   원칙: 색은 짙은 숲녹색 + 금 선 + 상아색으로 절제 · 모든 상자는 '이중 금선 액자'(증서·공문서 느낌)
        · 아이콘은 짙은 녹색 원 + 금테 · 어두운 띠로 무게감 · 은은하고 깊은 그림자
   ========================================================= */
:root { --tf: #284336; --tf-deep: #1F3328; --tf-mid: #33563F; --tf-gold: #B08A3E; --tf-gold-l: #E2CF8E; }

/* 1) 상자: 이중 금선 액자 + 깊고 얇은 그림자 */
.m2, .ph, .mm, .vf-steps li, .more-card, .info-card, .tree-card, .ug-now-item, .ug-day, .ug-doc, .ug-tips li, .steps li, .ph-aside, .near-list li, .faq-item, .whatis, .compare-tbl, .value-strip div {
  background: #fff !important; border: 1px solid rgba(40,67,54,.18) !important; border-radius: 14px !important;
  box-shadow: inset 0 0 0 5px #fff, inset 0 0 0 6px rgba(176,138,62,.42), 0 1px 2px rgba(20,36,28,.06), 0 24px 44px -24px rgba(20,36,28,.34) !important;
  transition: transform .3s ease, box-shadow .3s ease;
}
.m2:hover, .ph:hover, .mm:hover, .more-card:hover, .vf-steps li:hover {
  transform: translateY(-4px);
  box-shadow: inset 0 0 0 5px #fff, inset 0 0 0 6px rgba(176,138,62,.75), 0 1px 2px rgba(20,36,28,.08), 0 30px 54px -22px rgba(20,36,28,.42) !important;
}
.m2, .ph, .mm { --deep: #1F3A2D; }
.m2::after, .ph::after, .mm::before { background: linear-gradient(90deg, var(--tf-gold), #D9BF7E) !important; height: 3px; }
.m2-num, .pc-no { color: var(--tf) !important; opacity: .07; }

/* 2) 아이콘: 짙은 녹색 원 + 금테 + 금빛 선 */
.m2-ic, .ph-ic, .mm-ic, .q5-ic, .tr-ic, .pc-ic, .ug-ic, .wi-no, .vf-no, .ug-flow-no {
  background: linear-gradient(145deg, var(--tf-mid), var(--tf-deep)) !important;
  box-shadow: 0 0 0 3px #fff, 0 0 0 4.5px rgba(176,138,62,.85), 0 12px 22px -8px rgba(20,36,28,.55) !important;
}
.m2-ic svg, .ph-ic svg, .mm-ic svg, .q5-ic svg, .tr-ic svg, .pc-ic svg, .ug-ic svg { stroke: var(--tf-gold-l) !important; }
.mm--rust .mm-ic { background: linear-gradient(145deg, #9A3B2C, #6E2418) !important; }
.mm--rust .mm-ic svg { stroke: #F6E3C8 !important; }
.steps li::before { background: linear-gradient(145deg, var(--tf-mid), var(--tf-deep)) !important; box-shadow: 0 0 0 3px #fff, 0 0 0 4.5px rgba(176,138,62,.85) !important; color: var(--tf-gold-l); }

/* 3) 제목 색: 하나의 깊은 녹색 */
.m2 b, .ph-kind, .mm h3, .vf-steps b, .more-card b, .lf-a b, .q5 b, .ph-notes b { color: var(--tf) !important; }
.sec-title, .tr-head h2 { color: var(--tf); }

/* 4) 요약 띠 */
.q5 { background: #fff; border-top: 1px solid rgba(176,138,62,.5); border-bottom: 1px solid rgba(176,138,62,.5); }
.q5 li { border-color: rgba(176,138,62,.35) !important; }

/* 5) 증서형 목록 상자 (평생 영구 안치 Q&A) */
.lf-sec .lf-list { border: 1px solid rgba(40,67,54,.2); border-radius: 14px; box-shadow: inset 0 0 0 6px #fff, inset 0 0 0 7px rgba(176,138,62,.5), 0 28px 50px -26px rgba(20,36,28,.38); }
.lf-a b::before { background: linear-gradient(145deg, var(--tf-mid), var(--tf-deep)) !important; color: var(--tf-gold-l); }

/* 6) 신뢰 띠: 짙은 녹색 바탕 + 금선 (확신을 주는 무게) */
.trust2 { background: radial-gradient(120% 140% at 50% 0%, #34553F 0%, var(--tf-deep) 72%) !important; }
.trust2 .tr-head h2, .trust2 b { color: #fff !important; }
.trust2 .eyebrow { color: var(--tf-gold-l) !important; }
.trust2 .tr-desc { color: rgba(255,255,255,.86) !important; }
.trust2 .tr-list { background: rgba(255,255,255,.04) !important; border: 1px solid rgba(226,207,142,.5) !important;
  box-shadow: inset 0 0 0 6px var(--tf-deep), inset 0 0 0 7px rgba(226,207,142,.28), 0 30px 60px -30px rgba(0,0,0,.6) !important; }
.trust2 .tr-list li { border-color: rgba(226,207,142,.28) !important; }
.trust2 .tr-ic { box-shadow: 0 0 0 3px var(--tf-deep), 0 0 0 4.5px rgba(226,207,142,.9), 0 12px 22px -8px rgba(0,0,0,.6) !important; background: linear-gradient(145deg, #3E6A4C, #274132) !important; }

/* 7) 안내 배너·참고 상자도 같은 액자 */
.visit-note, .ph-aside { border: 1px solid rgba(176,138,62,.55) !important; border-radius: 14px !important;
  box-shadow: inset 0 0 0 5px #FFFDF6, inset 0 0 0 6px rgba(176,138,62,.4), 0 24px 44px -26px rgba(90,70,20,.4) !important; }
.visit-note > svg { background: linear-gradient(145deg, #C9A24E, #8E6A22) !important; }

/* =========================================================
   글씨 더 짙게 (모든 화면)
   ========================================================= */
:root { --text: #131513; --muted: #2a2a26; }
body { color: #131513; }
@media (min-width: 768px) { body { font-weight: 450; } }
.car-btns button { color: #2a2a26; }
.compare-tbl thead th { color: #2a2a26; }
.duo-note { color: #2a2a26; }
.f-col p { color: #2b2a23; }
.f-sub { color: #34322a; }
.f-temple small { color: #2b2a23; }
.guide-head p { color: #2a2a26; }
.info-card .mw-why { color: #2a2a26; }
.lead { color: #2a2a26; }
.lf-a { color: #1f1f1b; }
.lf-q { color: #5a4220; }
.m2-desc { color: #262621; }
.member-why li span { color: #2a2a26; }
.merit span { color: #2a2a26; }
.merit-sec--light .merit span { color: #2a2a26; }
.mm p { color: #1f1f1b; }
.mm-perk span { color: #523628; }
.more-card span { color: #1f1f1b; }
.mw-foot { color: #2a2a26; }
.note { color: #2a2a26; }
.numline span { color: #2a2a26; }
.path-card .pc-benefit span { color: #523628; }
.path-card .pc-tel { color: #262621; }
.path-card p { color: #262621; }
.path-card--urgent p { color: #262621; }
.ph-aside { color: #33332e; }
.ph-aside-calc { color: #3d311c; }
.ph-desc { color: #262621; }
.ph-fee { color: #33332e; }
.ph-notes span { color: #1f1f1b; }
.pol-lead { color: #1f1f1b; }
.pol-sec li { color: #1f1f1b; }
.pol-sec p { color: #1f1f1b; }
.price-tbl tbody th small { color: #2a2a26; }
.price-tbl--real tr.tr-more td[colspan] { color: #3d311c; }
.q5 li > span:last-child { color: #262621; }
.quick span { color: #2a2a26; }
.src-note { color: #2a2a26; }
.stat span { color: #2a2a26; }
.steps span { color: #2a2a26; }
.tbl-notes { color: #2a2a26; }
.tbl-title small { color: #2a2a26; }
.tree-sp { color: #2a2a26; }
.ug-day ul li { color: #262621; }
.ug-day ul li small { color: #4a3f2a; }
.ug-doc p { color: #262621; }
.ug-flow p { color: #262621; }
.ug-help-txt p { color: #3d311c; }
.ug-note { color: #46463f; }
.ug-now-item p { color: #262621; }
.ug-tips p { color: #262621; }
.ug-tips small { color: #46463f; }
.value-note { color: #2a2a26; }
.value-strip span { color: #2a2a26; }
.vf-steps p { color: #1f1f1b; }
.visit-mini { color: #2a2a26; }
.visit-must span { color: #2a2a26; }
.visit-note span { color: #3d311c; }
.wi-head p { color: #262621; }
.wi-src { color: #46463f; }
.wi-steps p { color: #262621; }

/* 모바일 점검 보완 */
.sec-title { text-wrap: balance; }
@media (min-width: 768px) { .more-grid { grid-template-columns: repeat(2, 1fr); max-width: 860px; margin-left: auto; margin-right: auto; } }
.f-links a, .duo-head a { display: inline-flex; align-items: center; min-height: 44px; }
.wi-src { font-size: 13px; }

/* =========================================================
   메인 슬라이드 글씨: 절제된 명조 · 금빛 가는 선 · 넓은 자간 (호텔·금융 브랜드 방식)
   ========================================================= */
.mhero-kicker { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 18px; font-size: 13px; font-weight: 500; letter-spacing: .34em; color: #E6D49A; text-shadow: 0 1px 10px rgba(0,0,0,.5); }
.mhero-kicker::before, .mhero-kicker::after { content: ""; width: 26px; height: 1px; background: rgba(230,212,154,.75); }
.mhero h1, .mhero .mhero-title { font-weight: 400 !important; letter-spacing: -.01em; line-height: 1.38; color: #fff; text-wrap: balance;
  text-shadow: 0 2px 28px rgba(0,0,0,.42), 0 1px 3px rgba(0,0,0,.25); margin-bottom: 0; }
.mhero-copy p:not(.mhero-title) { margin-top: 0; font-weight: 400; letter-spacing: .02em; line-height: 1.85; color: rgba(255,255,255,.92); text-shadow: 0 1px 14px rgba(0,0,0,.5); }
.mhero-copy p:not(.mhero-title)::before { content: ""; display: block; width: 48px; height: 1px; margin: 20px auto 18px; background: linear-gradient(90deg, transparent, #E2CF8E, transparent); }
@media (min-width: 768px) {
  .mhero-kicker { font-size: 14px; margin-bottom: 22px; }
  .mhero h1, .mhero .mhero-title { font-size: 58px; }
  .mhero-copy p:not(.mhero-title) { font-size: 19px; }
  .mhero-copy p:not(.mhero-title)::before { margin: 24px auto 22px; width: 64px; }
}
@media (max-width: 767px) {
  .mhero-kicker { font-size: 12.5px; letter-spacing: .3em; margin-bottom: 14px; }
  .mhero h1, .mhero .mhero-title { font-size: 34px; }
  .mhero-copy p:not(.mhero-title) { font-size: 15px; }
  .mhero-copy p:not(.mhero-title)::before { margin: 14px auto 12px; }
}
/* 밝은 사진 위에서도 글씨가 또렷하도록 글씨 뒤에 은은한 어두운 번짐 */
.mhero-copy { isolation: isolate; }
.mhero-copy::before { content: ""; position: absolute; z-index: -1; inset: -70px -50px -50px; pointer-events: none; background: radial-gradient(closest-side, rgba(12,20,8,.42), rgba(12,20,8,.16) 65%, transparent); }
.mhero-kicker { color: #F1E4B4; font-weight: 600; text-shadow: 0 1px 12px rgba(0,0,0,.65); }

/* 첫 화면 안내 배지: 어두운 바탕 위에서 글씨가 보이도록(전체 글씨 진하게 규칙이 덮어쓰던 문제 수정) */
.mhero .visit-must b { color: #F1E4B4 !important; }
.mhero .visit-must span, .mhero .visit-must .vm-sub, .mhero .visit-must em { color: rgba(255,255,255,.92) !important; }
.mhero .visit-must svg { color: #F1E4B4; }

/* PC 첫 화면: 글씨 덩어리를 아래로 내리고 크기를 줄여 머리글에 붙지 않게 */
@media (min-width: 768px) {
  .mhero h1, .mhero .mhero-title { font-size: 50px; line-height: 1.32; }
  .mhero-copy { bottom: 258px; }
  .mhero-kicker { font-size: 15px; margin-bottom: 20px; }
  .mhero-copy p:not(.mhero-title)::before { margin: 20px auto 18px; }
}
@media (min-width: 768px) and (max-height: 820px) {
  .mhero h1, .mhero .mhero-title { font-size: 44px; }
  .mhero-copy { bottom: 236px; }
  .mhero-cta { bottom: 100px; }
  .mhero-kicker { margin-bottom: 14px; }
  .mhero-copy p:not(.mhero-title) { font-size: 17px; }
  .mhero-copy p:not(.mhero-title)::before { margin: 14px auto 12px; }
}
.mhero-kicker { text-shadow: 0 1px 3px rgba(0,0,0,.7), 0 0 16px rgba(0,0,0,.55); }
@media (min-width: 768px) { .mhero-copy { bottom: 286px; } }
@media (min-width: 768px) and (max-height: 820px) { .mhero-copy { bottom: 266px; } }
@media (max-width: 767px) {
  .mhero-kicker { font-size: 14px; font-weight: 600; letter-spacing: .28em; margin-bottom: 16px; }
  .mhero-kicker::before, .mhero-kicker::after { width: 22px; }
}
.ph-aside-main { text-wrap: balance; }
.tbl-sub { display: block; margin-top: 3px; font-size: 12.5px; line-height: 1.5; color: #46463f; }
/* PC: 경내 사진은 모두 같은 4:3 규격으로 (세로 사진은 건물이 보이는 위치로 맞춤) */
@media (min-width: 768px) {
  .card-photo--land img { aspect-ratio: 4 / 3; height: auto; object-fit: cover; }
  .card-photo--land img.pos-night { object-position: 50% 18%; }
}

/* =========================================================
   모바일 메인 재구성: 고객이 가장 궁금해하는 순서(가격→영구 안치→사진→신뢰→답사→거리→질문)로,
   나머지는 상단 메뉴(카테고리)로. 데스크톱 구성은 그대로.
   ========================================================= */
.urg-slim { display: none; }
@media (max-width: 767px) {
  main#main { display: flex; flex-direction: column; }
  main#main > .mhero { order: 1; } main#main > .q5 { order: 2; } main#main > .urg-slim { order: 3; }
  main#main > .ph-sec { order: 4; } main#main > .lf-sec { order: 5; } main#main > .gal-sec { order: 6; }
  main#main > .trust2 { order: 7; } main#main > .moments { order: 8; } main#main > .vf-sec { order: 9; }
  main#main > .near-sec { order: 10; } main#main > .faq-sec { order: 11; } main#main > .closing { order: 12; }
  /* 모바일 메인에서 뺀 구간(상단 메뉴에 모두 있음) */
  .merit-sec, .intro-sec, .more-mo { display: none !important; }

  .urg-slim { display: flex; align-items: center; gap: 12px; margin: 14px 16px 0; padding: 12px 14px; border-radius: 14px; text-decoration: none;
    background: linear-gradient(120deg, #FBEEE8, #F7E3DA); box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 4px rgba(158,61,42,.3), 0 14px 28px -18px rgba(110,36,20,.5); border: 1px solid rgba(158,61,42,.4); }
  .urg-ic { flex: none; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(145deg, #9A3B2C, #6E2418); box-shadow: 0 0 0 3px #fff, 0 0 0 4.5px rgba(176,138,62,.85); }
  .urg-ic svg { width: 22px; height: 22px; fill: rgba(255,255,255,.2); stroke: #F6E3C8; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
  .urg-txt { flex: 1; display: block; min-width: 0; }
  .urg-txt b { display: block; font-family: var(--serif); font-size: 16.5px; color: #6E2418; }
  .urg-txt em { display: block; font-style: normal; font-size: 13.5px; line-height: 1.4; color: #5a3a30; }
  .urg-slim i { font-style: normal; font-size: 20px; color: #9A3B2C; }

  /* 구간별 압축 */
  .ph-sec .lead, .moments .lead, .vf-sec .lead, .moments .visit-note, .mm-list li:last-child { display: none; }
  .ph-sec { padding-top: 34px; } .ph-cta .btn--line { display: none; }
  .moments { padding-top: 34px; }
  .near-map { display: none; }
  .vf-steps li { padding: 14px 14px; }
  .closing { padding: 48px 0; }
}
@media (max-width: 767px) {
  .lf-sec .lead, .near-sec .src-note, .near-sec .visit-must, .near-sec .visit-mini { display: none; }
  .vf-chips { display: none; }
  .vf-steps p { font-size: 14px; line-height: 1.55; }
  .trust2 { padding: 40px 0; }
  .tr-list { padding: 4px 16px; margin-top: 22px; }
  .tr-list li { padding: 12px 2px; }
  .near-list li { padding: 10px 14px; }
  .near-sec { padding: 36px 0; }
  .ph-aside { padding: 14px 16px 16px; }
  .lf-list li { padding: 14px 4px; }
}

/* =========================================================
   PC도 모바일과 같은 구성으로 압축 (고객이 궁금해하는 순서, 나머지는 상단 메뉴로)
   ========================================================= */
@media (min-width: 768px) {
  main#main { display: flex; flex-direction: column; }
  main#main > .mhero { order: 1; } main#main > .q5 { order: 2; } main#main > .urg-slim { order: 3; }
  main#main > .ph-sec { order: 4; } main#main > .lf-sec { order: 5; } main#main > .gal-sec { order: 6; }
  main#main > .trust2 { order: 7; } main#main > .moments { order: 8; } main#main > .vf-sec { order: 9; }
  main#main > .near-sec { order: 10; } main#main > .faq-sec { order: 11; } main#main > .closing { order: 12; }
  .merit-sec, .intro-sec, .more-mo { display: none !important; }

  .urg-slim { display: flex; align-items: center; gap: 16px; width: min(1100px, calc(100% - 48px)); box-sizing: border-box; margin: 28px auto 0; padding: 16px 22px; border-radius: 14px; text-decoration: none;
    background: linear-gradient(120deg, #FBEEE8, #F7E3DA); border: 1px solid rgba(158,61,42,.4);
    box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 5px rgba(158,61,42,.3), 0 18px 36px -22px rgba(110,36,20,.5); transition: transform .3s ease; }
  .urg-slim:hover { transform: translateY(-2px); }
  .urg-ic { flex: none; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(145deg, #9A3B2C, #6E2418); box-shadow: 0 0 0 3px #fff, 0 0 0 4.5px rgba(176,138,62,.85); }
  .urg-ic svg { width: 26px; height: 26px; fill: rgba(255,255,255,.2); stroke: #F6E3C8; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
  .urg-txt { flex: 1; }
  .urg-txt b { display: inline; font-family: var(--serif); font-size: 20px; color: #6E2418; margin-right: 14px; }
  .urg-txt em { font-style: normal; font-size: 16px; color: #5a3a30; }
  .urg-slim i { font-style: normal; font-size: 24px; color: #9A3B2C; }
  .urg-slim.only-mo { display: flex; }

  .ph-sec .lead, .moments .lead, .vf-sec .lead, .moments .visit-note, .mm-list li:last-child, .vf-chips,
  .near-sec .src-note, .near-sec .visit-must, .near-sec .visit-mini { display: none; }
  .mm-list { grid-template-columns: repeat(3, 1fr); }
  .ph-sec, .moments { padding-top: 56px; }
  .moments, .ph-sec, .lf-sec, .gal-sec, .vf-sec, .near-sec, .faq-sec { padding-top: 56px; padding-bottom: 56px; }
}

/* =========================================================
   수목장 고르는 법 (계약 전 확인 7가지) · 메인 안내 줄 재색
   ========================================================= */
.guide-slim { background: linear-gradient(120deg, #F4F8EC, #E8F0DA) !important; border-color: rgba(40,67,54,.4) !important; }
.guide-slim .urg-ic { background: linear-gradient(145deg, #33563F, #1F3328) !important; }
.guide-slim .urg-ic svg { fill: none; stroke: #E2CF8E; stroke-width: 1.5; }
.guide-slim .urg-txt b { color: #1F3A2D !important; } .guide-slim .urg-txt em { color: #3a4a3e !important; } .guide-slim i { color: #284336 !important; }

.cg-sec .lead { max-width: 700px; margin-left: auto; margin-right: auto; }
.cg-list { list-style: none; margin: 34px auto 0; padding: 0; max-width: 940px; display: grid; gap: 18px; }
.cg-item { display: flex; gap: 18px; padding: 24px 22px; border-radius: 16px; background: #fff; border: 1px solid rgba(40,67,54,.18);
  box-shadow: inset 0 0 0 5px #fff, inset 0 0 0 6px rgba(176,138,62,.42), 0 24px 44px -26px rgba(20,36,28,.34); }
.cg-no { flex: none; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; font-family: var(--serif); font-size: 22px; font-weight: 700; color: #E2CF8E;
  background: linear-gradient(145deg, #33563F, #1F3328); box-shadow: 0 0 0 3px #fff, 0 0 0 4.5px rgba(176,138,62,.85), 0 12px 22px -8px rgba(20,36,28,.55); }
.cg-body { flex: 1; min-width: 0; }
.cg-short { display: block; font-size: 13.5px; font-weight: 700; letter-spacing: .04em; color: #8A5A2B; }
.cg-body h2 { margin: 6px 0 8px; font-size: 22px; line-height: 1.4; color: #284336; }
.cg-why { margin: 0 0 12px; font-size: 15.5px; line-height: 1.7; color: #262621; }
.cg-check { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 6px; }
.cg-check li { position: relative; padding-left: 26px; font-size: 15px; line-height: 1.6; color: #1f1f1b; }
.cg-check li::before { content: "✓"; position: absolute; left: 0; top: 1px; display: flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; font-size: 11px; color: #E2CF8E; background: #284336; }
.cg-ours { display: grid; gap: 4px; padding: 14px 16px; border-radius: 12px; background: linear-gradient(120deg, #FFFDF6, #F8F0DC); box-shadow: 0 0 0 1px rgba(176,138,62,.45), inset 0 0 0 3px #FFFDF6, inset 0 0 0 4px rgba(176,138,62,.25); }
.cg-ours b { font-family: var(--serif); font-size: 15px; color: #8A5A2B; letter-spacing: .04em; }
.cg-ours span { font-size: 15.5px; line-height: 1.7; color: #1f1f1b; font-weight: 600; }
@media (max-width: 767px) { .cg-item { gap: 12px; padding: 18px 14px; } .cg-no { width: 40px; height: 40px; font-size: 18px; } .cg-body h2 { font-size: 19px; } }

/* 박스 테두리 더 진하게: 바깥선은 짙은 녹색, 안쪽 금선도 또렷하게 */
.m2, .ph, .mm, .vf-steps li, .more-card, .info-card, .tree-card, .ug-now-item, .ug-day, .ug-doc, .ug-tips li, .steps li, .near-list li, .faq-item, .whatis, .cg-item, .value-strip div {
  border: 1.5px solid rgba(40,67,54,.72) !important;
  box-shadow: inset 0 0 0 5px #fff, inset 0 0 0 6px rgba(176,138,62,.85), 0 1px 2px rgba(20,36,28,.08), 0 24px 44px -24px rgba(20,36,28,.40) !important;
}
.m2:hover, .ph:hover, .mm:hover, .more-card:hover, .vf-steps li:hover { border-color: rgba(40,67,54,.92) !important; box-shadow: inset 0 0 0 5px #fff, inset 0 0 0 6px #B08A3E, 0 1px 2px rgba(20,36,28,.1), 0 30px 54px -22px rgba(20,36,28,.5) !important; }
.lf-sec .lf-list { border: 1.5px solid rgba(40,67,54,.72); box-shadow: inset 0 0 0 6px #fff, inset 0 0 0 7px rgba(176,138,62,.85), 0 28px 50px -26px rgba(20,36,28,.42); }
.visit-note, .ph-aside { border: 1.5px solid rgba(138,106,40,.85) !important; box-shadow: inset 0 0 0 5px #FFFDF6, inset 0 0 0 6px rgba(176,138,62,.8), 0 24px 44px -26px rgba(90,70,20,.45) !important; }
.guide-slim, .urg-slim { border-width: 1.5px !important; }
.guide-slim { border-color: rgba(40,67,54,.75) !important; }
.trust2 .tr-list { border: 1.5px solid rgba(226,207,142,.85) !important; box-shadow: inset 0 0 0 6px var(--tf-deep), inset 0 0 0 7px rgba(226,207,142,.55), 0 30px 60px -30px rgba(0,0,0,.6) !important; }
.cg-ours { box-shadow: 0 0 0 1.5px rgba(176,138,62,.85), inset 0 0 0 3px #FFFDF6, inset 0 0 0 4px rgba(176,138,62,.5); }

/* 메인 슬라이드 아래 모든 구간: 구분선·사진·버튼·질문 목록 테두리도 같은 강도로 */
.q5 { border-top: 1.5px solid rgba(138,106,40,.9); border-bottom: 1.5px solid rgba(138,106,40,.9); }
.q5 li { border-color: rgba(138,106,40,.55) !important; }
.gallery-strip a { box-shadow: 0 0 0 1.5px rgba(40,67,54,.72), 0 0 0 4px #fff, 0 0 0 5.5px rgba(176,138,62,.85), 0 14px 28px -14px rgba(20,36,28,.4); }
.duo-faq ul { border: 1.5px solid rgba(40,67,54,.72); border-radius: 14px; box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 5px rgba(176,138,62,.8), 0 22px 40px -24px rgba(20,36,28,.38); padding: 6px 12px; }
.duo-faq li a { border-color: rgba(40,67,54,.28); }
.duo-faq li:last-child a { border-bottom: 0; }
.btn--line { border: 1.5px solid #3f5f4c !important; }
.faq-item { border-radius: 14px; }
.near-list li, .lf-list li { border-color: rgba(40,67,54,.28); }
.lf-list li { border-top-color: rgba(176,138,62,.55); }
.tr-list li { border-top-color: rgba(176,138,62,.5); }
.trust2 .tr-list li { border-color: rgba(226,207,142,.5) !important; }
.sec-title::after, .sec-title + .lead::before { background: #B08A3E; }
/* 추모목 숲 사진: 모든 사진을 같은 3:4 규격으로(땅이 보이도록 아래쪽 기준) */
.shots img { aspect-ratio: 3 / 4; height: auto; object-fit: cover; object-position: 50% 78%; }
/* 함께 둘러볼 곳: 두 사진을 같은 3:4 규격으로, PC에서는 가로 절반씩 */
.look2 img { aspect-ratio: 3 / 4; height: auto; object-fit: cover; object-position: 55% 100%; }
@media (min-width: 768px) { .look2 { max-width: none; width: 100%; grid-template-columns: 1fr 1fr; gap: 22px; } }

/* 하위 페이지의 내용 상자(draft)도 메인과 같은 이중 금선 액자로 */
.draft { border: 1.5px solid rgba(40,67,54,.72) !important; border-radius: 14px !important;
  box-shadow: inset 0 0 0 5px #fff, inset 0 0 0 6px rgba(176,138,62,.85), 0 1px 2px rgba(20,36,28,.08), 0 24px 44px -24px rgba(20,36,28,.40) !important; }
.draft--sacred { box-shadow: inset 0 0 0 5px #F4EFE4, inset 0 0 0 6px rgba(176,138,62,.85), 0 24px 44px -24px rgba(20,36,28,.40) !important; }
.draft { padding-left: 24px; padding-right: 24px; }
@media (max-width: 767px) { .draft { padding: 24px 20px; } }
/* 추모목 숲 사진: 마지막 줄이 모자라도 가운데 정렬로 조화롭게 */
.shots { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.shots figure { flex: 0 0 calc(50% - 6px); min-width: 0; }
@media (min-width: 768px) { .shots { gap: 18px; } .shots figure { flex-basis: calc(33.333% - 12px); } }
@media (min-width: 1100px) { .shots figure { flex-basis: calc(25% - 13.5px); } }
.shots figcaption em { display: block; margin-bottom: 2px; font-style: normal; font-size: 12px; font-weight: 700; letter-spacing: .08em; color: #8A5A2B; }
.shot-future img { box-shadow: 0 0 0 1px rgba(176,138,62,.55), 0 10px 24px rgba(52,72,6,.10); }
/* 메인 이용료 카드 사진 */
.ph-photo { display: block; width: calc(100% + 56px); margin: -34px -28px 18px; max-width: none; aspect-ratio: 16 / 10; object-fit: cover; object-position: 50% 70%; border-radius: 13px 13px 0 0; border-bottom: 1.5px solid rgba(176,138,62,.85); }
@media (max-width: 767px) {
  .ph { grid-template-columns: 84px 1fr; }
  .ph-photo { grid-row: 1 / span 5; grid-column: 1; width: 84px; height: 100%; min-height: 96px; margin: 0; aspect-ratio: auto; border: 0; border-radius: 10px; box-shadow: 0 0 0 1.5px rgba(176,138,62,.85); }
  .ph-ic { display: none; }
  .ph-kind, .ph-price, .ph-fee { grid-column: 2; }
}
@media (max-width: 767px) { .ph-photo { height: 100px; min-height: 0; align-self: start; } }
/* 푸터 사업자 정보 */
.f-biz { margin: 0 0 18px; padding: 14px 18px; border-radius: 12px; background: rgba(255,255,255,.45); border: 1px solid rgba(120,95,40,.35); }
.f-biz-h { margin: 0 0 8px; font-family: var(--serif); font-weight: 700; font-size: 14px; letter-spacing: .08em; color: #2f2d28; }
.f-biz dl { margin: 0; display: grid; gap: 4px 28px; grid-template-columns: 1fr; }
.f-biz dl div { display: flex; gap: 10px; font-size: 14px; line-height: 1.6; color: #3a382f; }
.f-biz dt { flex: none; min-width: 96px; font-weight: 700; color: #2f2d28; }
.f-biz dd { margin: 0; }
@media (min-width: 768px) { .f-biz dl { grid-template-columns: 1fr 1fr; } }

/* 푸터 사업자 정보: 증서형 액자 · 4칸 구성 */
.f-site { padding-left: 0; margin-top: 4px; }
.f-biz { position: relative; margin: 6px 0 22px; padding: 22px 22px 20px; border-radius: 14px; background: linear-gradient(160deg, #FFFDF6, #F6EFD9); border: 1.5px solid rgba(40,67,54,.7);
  box-shadow: inset 0 0 0 5px #FFFDF6, inset 0 0 0 6px rgba(176,138,62,.85), 0 22px 40px -26px rgba(60,45,15,.5); }
.f-biz-h { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; padding-bottom: 12px; border-bottom: 1px solid rgba(176,138,62,.6); font-family: var(--serif); font-size: 17px; font-weight: 700; letter-spacing: .12em; color: #284336; }
.f-biz-h::before { content: ""; flex: none; width: 30px; height: 30px; border-radius: 50%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E2CF8E' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21V9l7-5 7 5v12'/%3E%3Cpath d='M9 21v-6h6v6M9 11h.01M15 11h.01'/%3E%3C/svg%3E") center/18px no-repeat, linear-gradient(145deg, #33563F, #1F3328);
  box-shadow: 0 0 0 2px #FFFDF6, 0 0 0 3.5px rgba(176,138,62,.85); }
.f-biz dl { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; margin: 0; }
.f-biz dl div { display: block; padding-left: 12px; border-left: 2px solid rgba(176,138,62,.75); }
.f-biz dt { display: block; min-width: 0; margin-bottom: 3px; font-size: 12.5px; font-weight: 700; letter-spacing: .1em; color: #8A5A2B; }
.f-biz dd { margin: 0; font-family: var(--serif); font-size: 17px; font-weight: 700; line-height: 1.45; color: #1f1f1b; word-break: keep-all; }
@media (min-width: 900px) {
  .f-biz { padding: 26px 32px 24px; }
  .f-biz dl { grid-template-columns: 0.9fr 0.8fr 1.1fr 1.6fr; gap: 0 26px; }
  .f-biz dd { font-size: 18px; }
}
