
:root{--bg:#fff8ef;--ink:#3b322d;--green:#4d7558;--pink:#f2b9b5;--line:#e9dccd;--card:#fffdf9}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:ui-rounded,"Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif}
a{color:inherit}.site-header{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:14px 5vw;background:rgba(255,248,239,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{text-decoration:none;font-size:22px;font-weight:900}.site-header nav{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}.site-header nav a{text-decoration:none;font-size:12px;font-weight:800}
main{width:min(1100px,92vw);margin:auto}.hero{min-height:82vh;display:grid;place-items:center;text-align:center;align-content:center;padding:70px 0}.hero-art{width:min(760px,94vw);max-height:430px;object-fit:contain}.hero h1{font-size:clamp(40px,8vw,90px);letter-spacing:.16em;margin:15px 0}
.eyebrow,.kicker{font-size:12px;letter-spacing:.18em;font-weight:900;color:var(--green)}.muted{opacity:.62;font-size:13px}.music-player{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:9px 15px;background:#fff;box-shadow:0 8px 30px rgba(60,40,20,.08)}.music-player button{border:0;border-radius:50%;width:38px;height:38px;background:var(--green);color:white;font-size:16px}.music-player div{display:flex;flex-direction:column;text-align:left}.music-player span{font-size:12px;opacity:.6}
.panel{margin:32px 0;padding:42px;border:1px solid var(--line);border-radius:28px;background:var(--card);box-shadow:0 12px 45px rgba(80,55,30,.05)}.panel h2{font-size:clamp(26px,4vw,44px);margin:8px 0 18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.card{padding:20px;border-radius:20px;background:#f7efe4}.section-head{display:flex;justify-content:space-between;align-items:end}
button,.primary,.contact-grid a{border:0;border-radius:14px;padding:12px 16px;background:var(--green);color:#fff;font-weight:800;text-decoration:none;cursor:pointer}.guestbook{margin-top:26px;padding-top:20px;border-top:1px dashed var(--line)}input,textarea{width:100%;margin:6px 0;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;font:inherit}textarea{min-height:100px;resize:vertical}
.guest{padding:14px 0;border-bottom:1px solid var(--line)}.guest small{opacity:.55}.passport{display:grid;gap:8px;padding:22px;border:2px solid #cab798;border-radius:20px;background:#fffaf0}.stamp{display:inline-block;margin:4px;padding:7px 10px;border:2px dashed var(--green);border-radius:50%;font-size:12px;font-weight:900}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.contact-grid a{text-align:center;background:#fff;color:var(--ink);border:1px solid var(--line)}
footer{display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap;padding:50px 20px 70px;border-top:1px solid var(--line)}footer a{font-size:11px;opacity:.4}
@media(max-width:760px){.site-header{align-items:flex-start}.site-header nav{gap:8px}.site-header nav a{font-size:10px}.panel{padding:25px}.hero{padding-top:45px}}
