:root{--paper:#f3efe6;--paper-2:#ebe6da;--ink:#16140f;--ink-2:#4a463c;--ink-3:#8a8473;--rule:#cfc8b6;--accent:#a8341f;--serif:"Noto Serif KR", "Cormorant Garamond", serif;--latin:"Cormorant Garamond", "Noto Serif KR", serif;--sans:"Pretendard Variable", Pretendard, system-ui, sans-serif;--gutter:clamp(20px, 4vw, 56px);--label-col:200px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-padding-top:88px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;word-break:keep-all;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea{-webkit-user-select:text;user-select:text}img,svg{-webkit-user-drag:none}.wrap{max-width:1280px;padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto}.label{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:12px;font-weight:500}.label b{color:var(--accent);margin-right:.6em;font-weight:600}.sec{padding-top:clamp(72px,10vw,140px)}.js .rv{opacity:0;transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transform:translateY(18px)}.js .rv.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transition:none;transform:none}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.mascot[data-astro-cid-nc4tnjkm]{display:block;overflow:visible}.chat{--fab:64px;--cx:max(20px, env(safe-area-inset-right));--cy:max(20px, env(safe-area-inset-bottom));right:var(--cx);bottom:var(--cy);z-index:50;font-family:var(--sans);color:var(--ink);position:fixed}.chat [hidden]{display:none!important}.chat .sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.chat svg:not(.mascot) path{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.chat .fab{width:var(--fab);height:var(--fab);background:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:50%;padding:0;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .2s .4s;animation:.7s cubic-bezier(.2,.9,.2,1.15) .6s backwards chat-pop;display:block;position:relative;overflow:hidden;box-shadow:0 10px 28px #16140f47}.chat[data-state=open] .fab{opacity:0;pointer-events:none;transition:none}.chat .fab:after{content:"";background:var(--accent);border:2px solid var(--ink);opacity:0;border-radius:50%;width:12px;height:12px;transition:opacity .2s,transform .3s cubic-bezier(.2,.9,.2,1.4);position:absolute;top:9px;right:9px;transform:scale(0)}.chat[data-unread=true] .fab:after{opacity:1;transform:scale(1)}.chat .fab:hover{transform:translateY(-3px)}.chat .fab:active{transform:scale(.96)}.chat .fab .mascot,.chat .avatar .mascot{width:100%;height:100%;position:absolute;inset:0}.chat .bubble{right:calc(var(--fab) + 12px);width:max-content;max-width:min(260px, calc(100vw - var(--fab) - 2 * var(--cx) - 12px));background:var(--paper);border:1px solid var(--ink);border-radius:14px 14px 4px;padding:10px 34px 10px 14px;font-size:13.5px;line-height:1.55;animation:.5s cubic-bezier(.2,.8,.2,1) chat-in;position:absolute;bottom:10px;box-shadow:0 8px 24px #16140f24}.chat .bubble-close{width:24px;height:24px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:5px;right:5px}.chat .bubble-close:hover{color:var(--ink);background:var(--paper-2)}.chat .sheet{--ox:0px;--oy:0px;--rc:calc(var(--fab) / 2);--r:18px 18px 18px 18px;width:min(392px, calc(100vw - 2 * var(--cx)));height:min(600px, calc(100dvh - var(--cy) - 20px));visibility:hidden;filter:drop-shadow(0 22px 40px #16140f38);transition:visibility 0s .5s;position:absolute;bottom:0;right:0}.chat[data-state=open] .sheet{visibility:visible;transition-delay:0s}.chat .panel{background:var(--ink);border:1px solid var(--ink);border-radius:var(--r);clip-path:inset(calc(100% - var(--oy) - var(--fab)) var(--ox) var(--oy) calc(100% - var(--ox) - var(--fab)) round var(--rc) var(--rc) var(--rc) var(--rc));flex-direction:column;transition:clip-path .45s cubic-bezier(.5,0,.2,1),background-color .35s;display:flex;position:absolute;inset:0;overflow:hidden}.chat[data-state=open] .panel{background:var(--paper);clip-path:inset(0 0 0 0 round var(--r));transition:clip-path .6s cubic-bezier(.2,.85,.25,1),background-color .4s 50ms}.chat .panel :is(.who,.close,.log,.chips,.composer,.foot){opacity:0;transition:opacity .15s}.chat[data-state=open] .panel :is(.who,.close,.log,.chips,.composer,.foot){opacity:1;transition:opacity .35s .25s}.chat .panel header{border-bottom-color:#0000;transition:border-color .15s}.chat[data-state=open] .panel header{border-bottom-color:var(--rule);transition:border-color .35s .25s}.chat .panel header{border-bottom:1px solid var(--rule);align-items:center;gap:12px;padding:14px 14px 14px 16px;display:flex}.chat .avatar{background:var(--ink);border-radius:50%;flex:none;width:42px;height:42px;position:relative;overflow:hidden}.chat .who{flex:1;min-width:0}.chat .who strong{font-family:var(--serif);letter-spacing:-.01em;font-size:16px;line-height:1.3;display:block}.chat .who em{font-style:normal}.chat .who span{color:var(--ink-3);align-items:center;gap:6px;font-size:12px;display:flex}.chat .who span:before{content:"";background:var(--ink-3);border-radius:50%;width:6px;height:6px}.chat[data-ready=true] .who span:before{background:#3f8a5a}.chat .close{width:34px;height:34px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;transition:background .2s;display:grid}.chat .close:hover{background:var(--paper-2)}.chat .log{overscroll-behavior:contain;scroll-behavior:smooth;flex-direction:column;flex:1;gap:10px;padding:18px 16px 8px;display:flex;overflow-y:auto}.chat .msg{white-space:pre-wrap;overflow-wrap:anywhere;max-width:84%;padding:10px 14px;font-size:14.5px;line-height:1.6;animation:.35s cubic-bezier(.2,.8,.2,1) chat-in}.chat .msg-assistant{background:var(--paper-2);border-radius:16px 16px 16px 4px;align-self:flex-start}.chat .msg-user{background:var(--ink);color:var(--paper);border-radius:16px 16px 4px;align-self:flex-end}.chat .msg-error{color:var(--accent)}.chat .dots{gap:4px;padding:6px 0;display:inline-flex}.chat .dots i{background:var(--ink-3);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite chat-dot}.chat .dots i:nth-child(2){animation-delay:.15s}.chat .dots i:nth-child(3){animation-delay:.3s}.chat .chips{flex-wrap:wrap;gap:8px;padding:6px 16px 12px;display:flex}.chat .chips button{font:inherit;color:var(--ink-2);border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:99px;padding:6px 12px;font-size:13px;transition:border-color .2s,color .2s}.chat .chips button:hover{border-color:var(--ink);color:var(--ink)}.chat .composer{border-top:1px solid var(--rule);align-items:flex-end;gap:8px;padding:10px 12px 10px 16px;transition:border-color .2s;display:flex}.chat .composer:focus-within{border-top-color:var(--ink)}.chat .composer textarea{resize:none;min-height:38px;max-height:120px;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:8px 0;font-size:16px;line-height:1.5}.chat .composer textarea::placeholder{color:var(--ink-3)}.chat .send{background:var(--ink);width:38px;height:38px;color:var(--paper);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;transition:opacity .2s,transform .2s;display:grid}.chat .send:not(:disabled):hover{transform:scale(1.06)}.chat .send:disabled{opacity:.22;cursor:default}.chat .foot{color:var(--ink-3);text-align:center;padding:0 16px 10px;font-size:11px}@keyframes chat-pop{0%{opacity:0;transform:scale(.4)translateY(16px)}}@keyframes chat-in{0%{opacity:0;transform:translateY(8px)}}@keyframes chat-dot{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@media (width<=560px){.chat{--fab:56px;--cx:max(16px, env(safe-area-inset-right));--cy:max(16px, env(safe-area-inset-bottom))}.chat .sheet{--ox:var(--cx);--oy:var(--cy);--r:20px 20px 0 0;width:auto;height:min(calc(var(--vvh,100dvh) - 12px), 680px);position:fixed;bottom:0;left:0;right:0}.chat .panel{padding-bottom:env(safe-area-inset-bottom);border-width:1px 0 0}.chat .msg{max-width:88%}}@media (prefers-reduced-motion:reduce){.chat *,.chat :before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
