:root{--bg:#fbfaf7;--bg2:#fff;--bg3:#f3f1ec;--text:#1a1917;--muted:#6e6a63;--faint:#76716a;--gold:#836540;--accent:#836540;--accent-deep:#6f5636;--on-accent:#fff;--ink:#1a1917;--on-ink:#fbfaf7;--accent-a03:#83654008;--accent-a04:#8365400a;--accent-a05:#8365400d;--accent-a06:#8365400f;--accent-a08:#83654014;--accent-a10:#8365401a;--accent-a12:#8365401f;--accent-a15:#83654026;--accent-a20:#83654033;--accent-a30:#8365404d;--accent-a50:#83654080;--gold-dim:var(--accent-a10);--gold-border:var(--accent-a30);--ink-a03:#1a191708;--ink-a04:#1a19170a;--ink-a05:#1a19170d;--ink-a06:#1a19170f;--ink-a08:#1a191714;--ink-a10:#1a19171a;--ink-a12:#1a19171f;--ink-a15:#1a191726;--ink-a20:#1a191733;--ink-a35:#1a191759;--ink-a45:#1a191773;--ink-a55:#1a19178c;--ink-a82:#1a1917d1;--ink-a25:#1a191740;--ink-a30:#1a19174d;--ink-a60:#1a191799;--ink-a70:#1a1917b3;--ink-a75:#1a1917bf;--ink-a80:#1a1917cc;--ink-a85:#1a1917d9;--ink-a88:#1a1917e0;--ink-a90:#1a1917e6;--ink-a95:#1a1917f2;--border:#1a19171a;--border-hover:#1a191738;--success:#4d7850;--warning:#8b682e;--danger:#a6453f;--info:#46688c;--grade-1:#726d66;--grade-2:#46688c;--grade-3:var(--accent);--grade-4:#9a4a72;--font-serif:"Instrument Serif", "Pretendard Variable", Pretendard, "Noto Serif KR", serif;--font-elegant:var(--font-serif);--font-sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Noto Sans KR", "Noto Sans JP", "Noto Sans SC", sans-serif;--font-body:var(--font-sans);--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--t-display:clamp(2.75rem, 6.5vw, 5.5rem);--t-h1:clamp(2rem, 4.2vw, 3.25rem);--t-h2:clamp(1.5rem, 2.8vw, 2.25rem);--t-h3:clamp(1.125rem, 1.8vw, 1.5rem);--t-body:1rem;--t-sm:.875rem;--t-xs:.8125rem;--t-label:.6875rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--measure:38rem;--container:1200px;--radius-sm:3px;--radius:6px;--radius-lg:12px;--radius-xl:18px;--radius-full:9999px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-soft:cubic-bezier(.32, .72, 0, 1);--ease:.28s var(--ease-out);--ease-fast:.18s var(--ease-out);--ease-slow:.6s var(--ease-out);--shadow-sm:0 1px 2px #3a30220d;--shadow-md:0 2px 8px #3a30220f;--shadow-lg:0 12px 32px #3a302217;--shadow-gold:0 2px 12px #83654024;--glow-gold:var(--shadow-gold);--glow-gold-lg:var(--shadow-lg);--text-glow:none;--z-base:1;--z-card:10;--z-nav:100;--z-mobile:150;--z-modal:200;--z-toast:300}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-weight:400;font-size:var(--t-body);word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums;line-height:1.65;overflow-x:hidden}h1,h2,h3{font-family:var(--font-serif);letter-spacing:-.02em;text-wrap:balance;font-weight:400;line-height:1.12}p{text-wrap:pretty}img,svg,video{max-width:100%}body:before{content:"";z-index:1;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}:focus:not(:focus-visible){outline:none}.skip-link{z-index:9999;background:var(--ink);color:var(--on-ink);font-weight:600;font-size:var(--t-sm);border-radius:var(--radius);transition:top var(--ease-fast);padding:10px 18px;text-decoration:none;position:absolute;top:-100%;left:16px}.skip-link:focus{top:16px}::selection{background:var(--accent-a20);color:var(--text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--ink-a15);border-radius:var(--radius-full);border:3px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--ink-a20)}input[type=date],input[type=time],input[type=datetime-local]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.reveal{opacity:0}.reveal.is-in{opacity:1;animation:fadeUp .6s var(--ease-out) both}.ea-pop-in{animation:.45s cubic-bezier(.22,1,.36,1) both eaPopIn}.ea-pop-out{animation:.35s cubic-bezier(.55,0,1,.45) both eaPopOut}@keyframes eaPopIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}@keyframes eaPopOut{to{opacity:0;transform:translateY(100%)}}.lift{transition:transform .35s var(--ease-out), box-shadow .35s var(--ease-out)}.lift:hover{transform:translateY(-4px);box-shadow:0 10px 28px #3a30221a}.photo-card{transition:transform .35s var(--ease-out), box-shadow .35s var(--ease-out)}.photo-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px #3a30221a}.nav{z-index:var(--z-nav);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(160%)blur(14px);height:68px;transition:border-color var(--ease), background var(--ease);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:0 40px;display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{border-bottom-color:var(--border)}.nav-logo{flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.nav-links{white-space:nowrap;align-items:center;gap:4px;display:flex}.nav-link{font-family:var(--font-sans);font-size:var(--t-sm);letter-spacing:-.005em;color:var(--muted);border-radius:var(--radius);transition:color var(--ease-fast), background var(--ease-fast);white-space:nowrap;padding:8px 12px;font-weight:500;text-decoration:none;position:relative}.nav-link:hover{color:var(--text);background:var(--ink-a04)}.nav-link.active{color:var(--text);font-weight:600}.nav-link.active:after{content:"";background:var(--accent);border-radius:2px;height:1.5px;position:absolute;bottom:2px;left:12px;right:12px}.mobile-menu-btn{color:var(--text);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:8px;display:none}.mobile-menu-btn:hover{background:var(--ink-a04)}.mobile-menu{z-index:var(--z-modal);background:color-mix(in srgb, var(--bg) 96%, transparent);-webkit-backdrop-filter:blur(20px);animation:fadeIn .25s var(--ease-out);flex-direction:column;justify-content:safe center;align-items:center;gap:8px;padding:72px 40px 40px;display:flex;position:fixed;inset:0;overflow-y:auto}.mobile-nav-link{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--text);cursor:pointer;transition:color var(--ease-fast);padding:10px 20px;font-size:28px;text-decoration:none}.mobile-nav-link:hover{color:var(--accent)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (width<=1100px){.nav-links{display:none}.mobile-menu-btn{display:block}}@media (width<=768px){.nav{height:60px;padding:0 16px}}.font-cinzel{font-family:var(--font-serif);letter-spacing:-.01em}.font-cormorant{font-family:var(--font-serif)}.text-gold{color:var(--accent)}.text-muted{color:var(--muted)}.divider{background:var(--border);height:1px}.corner-mark{display:none}button,[role=button]{cursor:pointer;font-family:inherit}button:disabled,[role=button][aria-disabled=true]{cursor:not-allowed;opacity:.45}.btn-primary{background:var(--ink);color:var(--on-ink);font-family:var(--font-sans);font-size:var(--t-sm);letter-spacing:-.005em;border-radius:var(--radius);transition:background var(--ease-fast), transform var(--ease-fast), box-shadow var(--ease);text-transform:none;border:none;justify-content:center;align-items:center;gap:8px;padding:13px 26px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary:hover{box-shadow:var(--shadow-md);background:#34302a}.btn-primary:active{transform:scale(.985)}.btn-outline{color:var(--text);font-family:var(--font-sans);font-size:var(--t-sm);letter-spacing:-.005em;border:1px solid var(--border-hover);border-radius:var(--radius);transition:all var(--ease-fast);text-transform:none;background:0 0;justify-content:center;align-items:center;gap:8px;padding:12px 26px;font-weight:500;text-decoration:none;display:inline-flex}.btn-outline:hover{border-color:var(--text);background:var(--ink-a03)}.btn-outline:active{transform:scale(.985)}.btn-ghost{color:var(--muted);font-family:var(--font-sans);font-size:var(--t-sm);border-radius:var(--radius);transition:color var(--ease-fast), background var(--ease-fast);background:0 0;border:none;padding:8px 14px}.btn-ghost:hover{color:var(--text);background:var(--ink-a04)}.section{padding:var(--space-32) 40px;max-width:var(--container);margin:0 auto}@media (width<=768px){.section{padding:var(--space-20) 20px}}.section-label{font-family:var(--font-sans);font-size:var(--t-label);letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin-bottom:14px;font-weight:600}.section-title{font-family:var(--font-serif);font-size:var(--t-h2);letter-spacing:-.025em;margin-bottom:14px;font-weight:400;line-height:1.14}.section-sub{font-family:var(--font-sans);color:var(--muted);margin-bottom:var(--space-12);max-width:var(--measure);font-size:1.0625rem;font-weight:400;line-height:1.7}.tag{font-size:var(--t-label);border-radius:var(--radius-sm);background:var(--ink-a05);color:var(--muted);letter-spacing:0;font-weight:500;font-family:var(--font-sans);border:none;align-items:center;padding:4px 10px;display:inline-flex}.tag.gold{background:var(--accent-a12);color:var(--accent-deep)}.lang-chip{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);letter-spacing:.04em;font-size:11px;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;padding:2px 7px}.filters{margin-bottom:var(--space-10);flex-wrap:wrap;gap:8px;display:flex}.filter-btn{font-family:var(--font-sans);font-size:var(--t-sm);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--muted);transition:all var(--ease-fast);letter-spacing:-.005em;background:0 0;padding:8px 16px;font-weight:500}.filter-btn:hover{border-color:var(--border-hover);color:var(--text)}.filter-btn.active{border-color:var(--ink);background:var(--ink);color:var(--on-ink)}.form-group{margin-bottom:var(--space-5)}.form-label{font-family:var(--font-sans);font-size:var(--t-xs);letter-spacing:0;text-transform:none;color:var(--text);margin-bottom:7px;font-weight:600;display:block}.form-input{background:var(--bg2);border:1px solid var(--border);width:100%;color:var(--text);font-family:var(--font-sans);font-size:var(--t-body);border-radius:var(--radius);transition:border-color var(--ease-fast), box-shadow var(--ease-fast);outline:none;padding:12px 14px;font-weight:400}.form-input::placeholder{color:var(--faint)}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-a15);background:var(--bg2)}.tab-nav{border-bottom:1px solid var(--border);margin-bottom:var(--space-10);scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:2px;display:flex;overflow-x:auto}.tab-nav::-webkit-scrollbar{display:none}.tab-btn{font-family:var(--font-sans);font-size:var(--t-sm);letter-spacing:-.005em;color:var(--muted);transition:color var(--ease-fast), border-color var(--ease-fast);text-transform:none;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-1px;padding:13px 18px;font-weight:500}.tab-btn.active{color:var(--text);border-bottom-color:var(--ink);font-weight:600}.tab-btn:hover{color:var(--text)}.back-btn{font-family:var(--font-sans);font-size:var(--t-sm);letter-spacing:0;color:var(--muted);margin-bottom:var(--space-8);margin-top:var(--space-5);text-transform:none;transition:color var(--ease-fast);background:0 0;border:none;align-items:center;gap:6px;padding:0;font-weight:500;display:inline-flex}.back-btn:hover{color:var(--text)}.page-enter{animation:fadeUp .5s var(--ease-out)}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fadeInDown{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.toast{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:var(--t-sm);z-index:var(--z-toast);animation:slideUp .35s var(--ease-out);max-width:320px;padding:15px 20px;position:fixed;bottom:24px;right:24px}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.toast-title{font-family:var(--font-sans);font-size:var(--t-sm);letter-spacing:0;color:var(--text);margin-bottom:3px;font-weight:600}.modal-overlay{background:var(--ink-a45);z-index:var(--z-modal);-webkit-backdrop-filter:blur(6px);animation:fadeIn .2s var(--ease-out);justify-content:center;align-items:flex-start;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:460px;animation:fadeUp .3s var(--ease-out);margin:auto 0;padding:40px;position:relative}@media (width<=500px){.modal{border-radius:var(--radius-lg);padding:28px 22px}}.modal-close{color:var(--muted);border-radius:var(--radius);width:32px;height:32px;transition:color var(--ease-fast), background var(--ease-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:14px;right:14px}.modal-close:hover{color:var(--text);background:var(--ink-a05)}.modal-title{font-family:var(--font-serif);letter-spacing:-.025em;margin-bottom:6px;font-size:26px;line-height:1.2}.modal-sub{font-size:var(--t-sm);color:var(--muted);margin-bottom:var(--space-8)}.role-tabs{margin-bottom:var(--space-6);background:var(--ink-a04);border-radius:var(--radius-lg);grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;display:grid}.role-tab{color:var(--muted);font-family:var(--font-sans);font-size:var(--t-sm);border-radius:var(--radius);transition:all var(--ease-fast);text-align:center;background:0 0;border:none;padding:9px 8px;font-weight:500}.role-tab.active{background:var(--bg2);color:var(--text);box-shadow:var(--shadow-sm);font-weight:600}.stats-bar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);gap:0;display:flex}.stat-item{padding:var(--space-8) var(--space-6);text-align:left;border-right:1px solid var(--border);flex:1}.stat-item:last-child{border-right:none}.stat-num{font-family:var(--font-serif);letter-spacing:-.03em;color:var(--text);font-size:40px;font-weight:400;line-height:1;display:block}.stat-label{font-size:var(--t-xs);color:var(--muted);letter-spacing:0;font-family:var(--font-sans);text-transform:none;margin-top:8px;display:block}@media (width<=600px){.stats-bar{flex-wrap:wrap}.stat-item{border-bottom:1px solid var(--border);flex:50%}.stat-item:nth-child(2n){border-right:none}.stat-num{font-size:30px}}.packages{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.package{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg2);transition:border-color var(--ease-fast), box-shadow var(--ease), transform var(--ease);flex-direction:column;padding:26px;display:flex;position:relative}.package:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.package.selected{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.package.selected:after{content:"";background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23FBFAF7' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-6'/%3E%3C/svg%3E") center / 13px no-repeat;border-radius:50%;width:20px;height:20px;position:absolute;top:14px;right:14px}.package.recommended:before{content:"POPULAR";background:var(--accent-a12);color:var(--accent-deep);font-family:var(--font-sans);letter-spacing:.08em;border-radius:var(--radius-sm);padding:3px 8px;font-size:11px;font-weight:600;position:absolute;top:14px;left:26px}.package-name{font-family:var(--font-sans);font-size:var(--t-sm);letter-spacing:0;margin-bottom:10px;font-weight:600}.package-price{font-family:var(--font-serif);letter-spacing:-.03em;color:var(--text);margin-bottom:2px;font-size:34px;line-height:1}.package-price span{font-size:var(--t-sm);color:var(--muted);font-family:var(--font-sans)}.package-desc{font-size:var(--t-sm);color:var(--muted);margin-top:12px;line-height:1.7}.reviews{flex-direction:column;gap:0;display:flex}.review{border:none;border-bottom:1px solid var(--border);padding:var(--space-6) 0;background:0 0;border-radius:0}.review-stars{color:var(--accent);font-size:var(--t-sm);letter-spacing:2px;margin-bottom:10px}.review-text{font-family:var(--font-sans);font-size:var(--t-body);color:var(--text);max-width:var(--measure);margin-bottom:14px;font-style:normal;line-height:1.75}.review-author{font-size:var(--t-sm);color:var(--text);font-weight:600;font-family:var(--font-sans);letter-spacing:0}.review-date{font-size:var(--t-xs);color:var(--faint);margin-top:2px}.steps{gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.step{padding:var(--space-6) 0 0;border:none;border-top:1px solid var(--ink);background:0 0;position:relative}.step-num{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--accent);letter-spacing:.05em;margin-bottom:14px;font-weight:500;line-height:1}.step-title{font-family:var(--font-serif);font-size:var(--t-h3);letter-spacing:-.02em;margin-bottom:8px}.step-desc{font-size:var(--t-sm);color:var(--muted);line-height:1.7}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}@media (width<=600px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}.gallery-item{aspect-ratio:1;background:var(--bg3);cursor:pointer;border-radius:var(--radius-sm);overflow:hidden}.gallery-item-inner{width:100%;height:100%;transition:transform .6s var(--ease-out);background-position:50%;background-size:cover}.gallery-item:hover .gallery-item-inner{transform:scale(1.04)}.gallery-item:hover .portfolio-loc-badge{opacity:1!important}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=768px){.my-layout{flex-direction:column;gap:1.25rem!important}.my-sidebar{display:flex;overflow-x:auto;width:100%!important;position:static!important}.my-sidebar>button{white-space:nowrap;flex:none;width:auto!important}.my-layout>div:last-child{width:100%}.contact-grid{grid-template-columns:1fr!important;gap:28px!important}.stack-on-phone{grid-template-columns:1fr!important}}
