:root{--bg:#f5f3ec;--ink:#293d34;--soft:#6b766b;--line:#c4cabe;--roof:#344c40;--wall:#faf8f0;--pine:#385b49;--lamp:#b58b4b;--veil:rgba(63,83,67,.045)}
body{background-image:radial-gradient(ellipse at 80% 18%,rgba(179,191,166,.13),transparent 55%)}
a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--pine);outline-offset:5px}
.site-header{max-width:1200px;margin:auto;padding:25px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:12px;font-family:serif;font-size:20px;font-weight:bold;text-decoration:none;white-space:nowrap}.brand-mark{border:1px solid var(--line);width:35px;height:35px;display:grid;place-items:center;border-radius:50%;font-weight:normal}nav{display:flex;gap:30px;font-size:14px}nav a{text-decoration:none;color:var(--soft)}nav a:hover{color:var(--ink)}.theme{font:inherit;font-size:12px;color:var(--ink);border:1px solid var(--line);background:transparent;border-radius:30px;padding:7px 14px;cursor:pointer}
main{max-width:1200px;padding:30px 40px 0}.home-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:560px;gap:45px}.eyebrow{font-size:12px;letter-spacing:.18em;color:var(--pine);margin:0 0 25px}.welcome h1{font-size:clamp(38px,4.6vw,61px);line-height:1.4;letter-spacing:-.045em;font-family:'Gowun Batang','Batang',serif;font-weight:normal}.intro{font-size:15px;line-height:2.1;margin:25px 0 30px;color:var(--soft)}.primary-link{display:inline-flex;gap:35px;background:var(--pine);color:#fff;padding:14px 22px;border-radius:4px;text-decoration:none;font-size:14px}.primary-link:hover{filter:brightness(1.12)}.small-note{font-size:11px;color:var(--soft);margin-top:14px;letter-spacing:.07em}.map-wrap{position:relative;padding:28px 24px 24px;background:var(--veil);border:1px solid var(--line);border-radius:48% 48% 8px 8px;overflow:hidden}.map-title{text-align:center;font-family:serif;font-size:18px;margin:20px 0 0}.map-title span{display:block;font-family:sans-serif;font-size:11px;color:var(--soft);margin-top:6px}.map-wrap svg{max-height:360px}.legend{justify-content:center;font-size:11px;margin-top:0}.section-caption{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;margin-bottom:20px;font-size:13px}.section-caption span+span{font-size:11px;color:var(--soft)}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.experience{display:block;padding:25px 27px;border:1px solid var(--line);border-radius:5px;text-decoration:none;background:var(--veil);transition:transform .2s,background .2s}.experience:hover{transform:translateY(-4px);background:var(--wall)}.card-number{font-size:10px;letter-spacing:.09em;color:var(--soft)}.experience h2{font-size:25px;font-family:serif;font-weight:normal;margin:18px 0 12px}.experience h2 span{float:right;font-family:sans-serif;font-size:18px;color:var(--soft)}.experience p{font-size:13px;line-height:1.9;color:var(--soft)}.card-tag{display:inline-block;margin-top:12px;font-size:11px;color:var(--pine);border-top:1px solid var(--line);padding-top:12px}.closing{text-align:center;font-family:serif;font-size:17px;color:var(--soft);padding:47px 0 40px;margin:0}.site-footer{max-width:1120px;margin:0 auto;padding:22px 0 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px;color:var(--soft);gap:16px}.room{max-width:650px;margin:0 auto;padding:10px 0 40px}.stage{border:1px solid var(--line);border-bottom:4px solid var(--roof);border-radius:6px;padding:20px}.room .desc{color:var(--soft)}
@media(prefers-color-scheme:dark){:root:not([data-theme='light']){--bg:#1e2822;--ink:#e5e7dc;--soft:#adb7a8;--line:#47574b;--roof:#8f9e8e;--wall:#2b382e;--pine:#73947b;--lamp:#d9ae64;--veil:rgba(214,225,203,.04)}}
:root[data-theme='dark']{--bg:#1e2822;--ink:#e5e7dc;--soft:#adb7a8;--line:#47574b;--roof:#8f9e8e;--wall:#2b382e;--pine:#73947b;--lamp:#d9ae64;--veil:rgba(214,225,203,.04)}
@media(max-width:700px){.site-header{padding:18px 20px;flex-wrap:wrap;gap:13px}.brand{font-size:17px}.site-header nav{order:3;width:100%;justify-content:center;gap:45px;padding-top:8px;font-size:13px}main{padding:30px 20px 0}.home-grid{grid-template-columns:1fr;gap:25px;min-height:auto}.welcome{padding-top:15px}.welcome h1{font-size:43px}.eyebrow{margin-bottom:18px}.intro{margin:20px 0}.map-wrap{margin:0 0 30px;border-radius:42% 42% 6px 6px}.map-wrap svg{max-height:330px}.experience-grid{grid-template-columns:1fr}.experience{padding:20px 24px}.experience p br{display:none}.experience h2{margin:12px 0 6px}.experience p{margin:5px 0}.card-tag{margin-top:8px}.site-footer{margin:0 20px;flex-wrap:wrap}.closing{font-size:14px;padding:35px 0}.section-caption{font-size:12px}.room h2{font-size:1.9rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Supplied altar artwork: immersive wide hall with graceful non-WebGL fallback. */
.room.immersive-hall{max-width:1120px}.immersive-hall .stage{background:#211b15;border:1px solid #4b3d29;padding:0;overflow:hidden}.hall3 .view{max-width:none}.hall3 .view canvas{aspect-ratio:8/5;border:0;border-radius:0}.altar-scene{position:relative;aspect-ratio:8/5;overflow:hidden;background:#21150f;isolation:isolate}.hall-wall{position:absolute;inset:0 0 17%;background:repeating-linear-gradient(90deg,#21150d 0,#312015 2%,#21150d 2.3%,#21150d 25%)}.altar-painting{position:absolute;width:80%;height:72%;object-fit:cover;left:10%;top:4%;filter:brightness(.68) saturate(.85);box-shadow:0 0 0 9px #49301b,0 4px 40px #000}.hall-floor{position:absolute;inset:72% -30% -40%;background:repeating-linear-gradient(90deg,transparent 0 8.7%,#1a110d 8.8% 9%),repeating-linear-gradient(0deg,#553321 0 5%,#432a1e 5.2% 9%,#261a13 9.2% 9.5%);transform:perspective(400px) rotateX(35deg);transform-origin:top}.altar-table{position:absolute;left:14%;right:14%;height:12%;bottom:14%;background:linear-gradient(#8c592d 0 8%,#372119 9% 16%,#6b2e20 17% 80%,#c49b50 81% 84%,#46251b 85%);box-shadow:0 15px 30px #0008}.altar-statue{position:absolute;height:75%;width:60%;object-fit:contain;left:20%;bottom:23%;filter:brightness(.85) drop-shadow(0 5px 18px #e7ad4433)}.hall-pillar{position:absolute;top:0;bottom:0;width:4%;background:linear-gradient(90deg,#140e0a,#4b2e1d 40%,#1d120b);box-shadow:9px 0 20px #0008}.hall-pillar.left{left:5%}.hall-pillar.right{right:5%}.hall-beam{position:absolute;left:0;right:0;top:0;height:5%;background:linear-gradient(#1b100b,#563821,#28180f);box-shadow:0 8px 15px #0009}.candle{position:absolute;width:.8%;height:11%;bottom:26%;background:linear-gradient(90deg,#a38852,#ffebae,#d3b77b);box-shadow:0 0 30px #ffbd4644}.candle.left{left:22%}.candle.right{right:22%}.candle i{position:absolute;bottom:100%;left:-20%;width:140%;height:24%;border-radius:80% 20% 70% 30%;background:#fffbd7;box-shadow:0 0 12px 6px #ffbf5966;animation:candleGlow 2s ease-in-out infinite alternate}.my-cushion{position:absolute;width:15%;height:5%;left:42.5%;bottom:4%;background:#654032;border-radius:35%;box-shadow:0 6px 4px #0009}.bow-dim{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none}.hall-audio{padding:20px 26px;background:#30271d;color:#e4dac4;border-top:1px solid #6e5636}.audio-title{display:flex;justify-content:space-between;gap:15px;margin-bottom:15px;font-family:serif;font-size:18px}.audio-title small{font-family:sans-serif;font-size:11px;color:#b9ab93}.audio-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.audio-grid label{font-size:12px;color:#d9c6a1}.audio-grid audio{display:block;width:100%;margin-top:9px;height:36px}.hall-audio p{font-size:11px;color:#b9ab93;margin:12px 0 0}.hall3>.modes,.hall3>div:last-child{color:var(--ink)}.hall3>div:last-child{background:var(--bg);padding:20px}.hall3 .view{background:#21150f}@keyframes candleGlow{to{opacity:.8;transform:scale(.85,1.08)}}
@media(max-width:700px){.altar-scene{aspect-ratio:1}.altar-painting{height:65%;top:8%;width:110%;left:-5%}.altar-statue{height:64%;width:90%;left:5%}.hall3 .view canvas{aspect-ratio:1}.audio-grid{grid-template-columns:1fr;gap:18px}.audio-title{display:block}.audio-title small{display:block;margin-top:6px}.hall-audio{padding:18px}.hall-pillar.left{left:1%}.hall-pillar.right{right:1%}.candle.left{left:16%}.candle.right{right:16%}}

/* 마당 한구석의 작은 현판(3D 그림): 살짝 비스듬히 건 나무 판, 아래에 작은 글 '마음에 점을 찍다'. 휴대폰에서는 더 작게. */
.yard{position:relative}.plaque{position:absolute;top:0;right:4px;width:150px;margin:0;text-align:center;transform:perspective(520px) rotateY(-16deg) rotateX(4deg);transform-origin:right center;pointer-events:none}
.plaque svg{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 6px #0004)}.plaque figcaption{font-family:"Gowun Batang",serif;font-size:13px;color:var(--soft);letter-spacing:.12em;margin-top:2px}
@media(max-width:700px){.plaque{width:112px;right:0}.plaque figcaption{font-size:12px}}
