@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Nanum+Myeongjo:wght@400;700&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{--ink:#26313a;--cream:#f3eee5;--paper:#faf8f3;--red:#a64434;--muted:#68645e;--line:#c7beb2;--dark:#26313a;--sand:#e5d9cc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Noto Sans KR',sans-serif;word-break:keep-all}a{text-decoration:none;color:inherit}button{font:inherit}img{width:100%;height:100%;object-fit:cover;display:block}.sample{background:#26292b;color:#f5f1ea;text-align:center;padding:8px 10px;font:700 9px 'DM Sans','Noto Sans KR';letter-spacing:.1em}.sample span{font-weight:400;letter-spacing:0}.header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:relative;z-index:5}.brand{font:800 20px 'DM Sans';letter-spacing:-.04em}.brand span{display:block;font:600 9px 'Noto Sans KR';letter-spacing:.08em;margin-top:3px}.header nav{display:flex;gap:42px;align-items:center;font-size:12px;font-weight:600}.header nav a:hover{color:var(--red)}.nav-book{border:1px solid var(--ink);border-radius:30px;padding:13px 21px}.menu{display:none}.hero{min-height:calc(100svh - 116px);height:760px;max-height:900px;position:relative;overflow:hidden;padding:25px 5% 30px}.hero-kicker,.hero-bottom,.section-meta{display:flex;justify-content:space-between;gap:20px;font:700 10px 'DM Sans';letter-spacing:.12em}.hero-kicker{color:#918b81}.hero h1{position:relative;z-index:0;text-align:center;font:700 clamp(76px,13vw,195px)/.86 'DM Sans';letter-spacing:-.065em;margin:65px -5% 0}.hero h1 span{color:var(--red)}.hero-hand{position:absolute;z-index:2;top:38%;right:11%;color:var(--red);font:italic 400 clamp(23px,3vw,42px) 'Nanum Myeongjo',serif;transform:rotate(-9deg)}.hero-dog{position:absolute;z-index:1;height:70%;width:auto;max-width:70%;object-fit:contain;object-position:bottom;bottom:0;left:50%;transform:translateX(-50%)}.hero-side{position:absolute;left:6%;bottom:90px;z-index:2}.hero-side span,.overline{font:700 9px 'DM Sans';letter-spacing:.16em;color:var(--red)}.hero-side p{font:400 16px/1.8 'Nanum Myeongjo';margin:20px 0}.hero-side a{font-size:11px;font-weight:700;border-bottom:1px solid #77736b;padding-bottom:7px}.hero-bottom{position:absolute;bottom:25px;left:5%;right:5%;z-index:2;color:#817c73}.manifesto,.space,.ritual,.guide,.faq{padding:110px max(6%,calc((100% - 1320px)/2))}.section-meta{border-top:1px solid #beb7ab;padding-top:16px;color:#8d887e}.manifesto{background:var(--paper)}.manifesto-content{padding:90px 0 20px 16%}.overline{margin:0 0 25px}.manifesto h2,.ritual h2,.guide h2,.faq h2,.booking h2{font:400 clamp(36px,4.2vw,60px)/1.45 'Nanum Myeongjo',serif;letter-spacing:-.045em;margin:0}.manifesto h2 em,.ritual h2 em,.guide h2 em,.faq h2 em,.booking h2 em{font-style:normal;color:var(--red)}.manifesto-bottom{display:flex;align-items:center;gap:15%;margin-top:55px}.manifesto-bottom p{max-width:540px;font-size:14px;line-height:2.1;color:#625e58}.seal{flex:none;width:120px;height:120px;border:1px solid var(--red);border-radius:50%;display:grid;place-content:center;text-align:center;color:var(--red);font:700 9px/1.7 'DM Sans';letter-spacing:.1em;transform:rotate(-15deg)}.space{background:var(--sand)}.space-heading{display:flex;justify-content:space-between;align-items:end;margin:70px 0 55px}.space-heading h2{font:700 clamp(52px,7.5vw,110px)/.95 'DM Sans';letter-spacing:-.055em;margin:0}.space-heading h2 em{font-style:normal;color:var(--red)}.space-heading p,.guide-heading>p{font-size:13px;line-height:1.9;color:#655f58}.space-photos{display:grid;grid-template-columns:1.4fr .65fr;gap:35px;align-items:end}figure{margin:0}.photo-wide img{height:510px}.photo-small img{height:320px}.space figcaption{display:flex;justify-content:space-between;gap:15px;margin-top:15px;font-size:11px;color:#7b756d}.space figcaption span:first-child{font:700 9px 'DM Sans';letter-spacing:.12em;color:var(--red)}.sample-note{font-size:11px;color:#706a63;margin:25px 0 0}.ritual{background:var(--dark);color:#f7f3ec}.ritual .section-meta{border-color:#686b69;color:#c5c0b7}.ritual-intro{padding:80px 0 60px}.ritual .overline{color:#edb1a2}.ritual h2 em{color:#edb1a2}.ritual-rows article{display:grid;grid-template-columns:.2fr 1fr .35fr;gap:20px;border-top:1px solid #666968;padding:27px 0;align-items:start}.ritual-rows article:last-child{border-bottom:1px solid #666968}.number,.row-eng{font:700 10px 'DM Sans';letter-spacing:.1em;color:#c8c2b8}.ritual-rows h3{font:400 23px 'Nanum Myeongjo';margin:0 0 10px}.ritual-rows p{font-size:12px;color:#d0cdc5;margin:0;line-height:1.8}.row-eng{text-align:right}.guide{background:var(--paper)}.guide-heading{display:flex;justify-content:space-between;align-items:end;margin:80px 0 65px}.guide-rows>div{display:grid;grid-template-columns:.18fr .65fr 1fr;gap:20px;border-top:1px solid #d4cfc6;padding:25px 0;align-items:baseline}.guide-rows>div:last-child{border-bottom:1px solid #d4cfc6}.guide-rows span{font:700 10px 'DM Sans';color:var(--red)}.guide-rows h3{font-size:16px;margin:0}.guide-rows p{font-size:13px;color:#66625b;line-height:1.8;margin:0}.faq{background:var(--cream);display:grid;grid-template-columns:1fr 1.1fr;gap:10%}.faq-list details{border-top:1px solid #c5beb2}.faq-list details:last-child{border-bottom:1px solid #c5beb2}.faq-list summary{list-style:none;cursor:pointer;padding:23px 35px 23px 0;position:relative;font-size:13px;font-weight:700}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:3px;color:var(--red);font-size:21px}.faq-list details[open] summary:after{content:'−'}.faq-list p{font-size:12px;line-height:1.9;color:#68635d;padding-bottom:16px}.booking{text-align:center;position:relative;overflow:hidden;background:#d8c6b7;padding:110px 20px 130px}.booking>p:not(.overline){font-size:13px;color:#655a53;margin:25px auto}.booking-button{border:1px solid #272b2b;background:transparent;border-radius:30px;padding:16px 23px;font-size:12px;font-weight:700;cursor:pointer}.booking-button:hover{background:#292d2e;color:white}.booking-button span{margin-left:45px}.booking-note{max-width:460px;line-height:1.7}.booking-word{position:absolute;bottom:-.27em;left:0;right:0;font:800 clamp(80px,14vw,210px) 'DM Sans';letter-spacing:-.08em;color:rgba(255,255,255,.13);pointer-events:none}footer{background:var(--dark);color:#f6f2eb;padding:60px 6% 25px}.footer-main{display:flex;align-items:center;gap:40px;padding-bottom:50px}.footer-main p{font-size:12px;color:#c8c8be}.top{margin-left:auto;font:700 10px 'DM Sans';letter-spacing:.1em}.footer-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #616361;padding-top:20px;color:#c4c4bb;font:600 10px 'DM Sans','Noto Sans KR'}.menu{border:0;background:none}.menu span{display:block;width:24px;height:1px;background:#23272a;margin:7px 0}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--red);outline-offset:4px}@media(max-width:750px){.header{height:70px}.menu{display:block;padding:10px;cursor:pointer}.header nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--cream);padding:10px 6% 25px;flex-direction:column;align-items:stretch;gap:0}.header nav.open{display:flex}.header nav a{padding:15px 0}.header nav .nav-book{padding:15px;margin-top:5px;text-align:center}.hero{height:calc(100svh - 95px);min-height:620px;padding:20px 5%}.hero-kicker span:last-child{display:none}.hero h1{font-size:clamp(64px,15vw,105px);margin-top:65px}.hero-dog{height:60%;max-width:100%;left:57%}.hero-hand{top:35%;right:5%;font-size:25px}.hero-side{left:6%;bottom:75px}.hero-side p{font-size:13px}.hero-bottom span:first-child{display:none}.hero-bottom{justify-content:flex-end}.manifesto,.space,.ritual,.guide,.faq{padding:75px 6%}.manifesto-content{padding:60px 0 0}.manifesto-bottom{gap:20px;align-items:start;margin-top:35px}.manifesto-bottom p{font-size:13px}.seal{width:85px;height:85px;font-size:7px}.space-heading{display:block;margin:55px 0 35px}.space-heading p{margin-top:25px}.space-photos{grid-template-columns:1fr;gap:35px}.photo-wide img{height:340px}.photo-small{margin-left:20%}.photo-small img{height:270px}.ritual-intro{padding:60px 0 40px}.ritual-rows article{grid-template-columns:30px 1fr}.row-eng{grid-column:2;text-align:left}.guide-heading{display:block;margin:60px 0 40px}.guide-heading>p{margin-top:25px}.guide-rows>div{grid-template-columns:30px 1fr;gap:10px}.guide-rows p{grid-column:2}.faq{grid-template-columns:1fr;gap:35px}.booking{padding:80px 20px 100px}.footer-main{flex-direction:column;align-items:start;gap:10px}.top{margin:0}.footer-bottom{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Typography and color refinements */
body{line-height:1.6;-webkit-font-smoothing:antialiased}
.header nav,.nav-book,.hero-side a,.booking-button{font-size:13px}
.hero-kicker,.hero-bottom,.section-meta,.hero-side span,.overline{font-size:10px}
.hero-side p{font-size:16px;line-height:1.85}
.manifesto-bottom p,.space-heading p,.guide-heading>p,.guide-rows p,.faq-list p,.ritual-rows p{font-size:14px;line-height:1.9}
.guide-rows h3,.faq-list summary{font-size:15px}
.space figcaption,.sample-note,.footer-main p,.footer-bottom{font-size:11px}
.hero-kicker,.section-meta{color:#69645d}
.hero-bottom{color:#625e58}
.ritual .section-meta{color:#c5c0b7}
.booking>p:not(.overline){color:#554a43;font-size:14px}
.booking-button{border-color:var(--ink);color:var(--ink);transition:background .2s,color .2s}
.booking-button:hover{background:var(--ink);color:var(--paper)}
@media(max-width:750px){.hero h1{font-size:clamp(60px,14vw,100px);line-height:.9;letter-spacing:-.06em}.hero-side p{font-size:14px}.manifesto-bottom p,.guide-rows p,.faq-list p,.ritual-rows p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.booking-button{transition:none}}
/* Leave breathing room around the dog and keep its paws above the page edge. */
.hero-dog { height: 62%; max-width: 64%; bottom: 32px; }
@media(max-width:750px) {
  .hero-dog { height: 50%; max-width: 85%; left: 59%; bottom: 32px; }
}
