:root { --ink:#090303; --wine:#210807; --panel:#170908; --gold:#c9953d; --gold-bright:#f4d58d; --cream:#fff8e8; --muted:#c7b8aa; --line:rgba(244,213,141,.18); --max:1080px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--cream); background:radial-gradient(circle at 100% 0,#3b0c08 0,transparent 34rem),var(--ink); font-family:"Pretendard","Noto Sans KR",system-ui,sans-serif; line-height:1.7; word-break:keep-all; }
a { color:inherit; } img { max-width:100%; }
.skip-link { position:absolute; left:-9999px; top:0; }
.skip-link:focus { left:1rem; top:1rem; z-index:100; padding:.75rem 1rem; color:#120706; background:var(--gold-bright); }
.site-header { position:sticky; top:0; z-index:30; border-bottom:1px solid var(--line); background:rgba(9,3,3,.9); backdrop-filter:blur(16px); }
.nav { width:min(calc(100% - 2rem),var(--max)); min-height:72px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand { color:var(--gold-bright); font:700 1.15rem/1.1 Georgia,serif; letter-spacing:.1em; text-decoration:none; }
.brand small { display:block; margin-top:.28rem; color:#aa9581; font:600 .58rem/1.1 system-ui,sans-serif; letter-spacing:.16em; }
.nav-links { display:flex; align-items:center; gap:1.15rem; font-size:.9rem; }
.nav-links a { color:#ded0c1; text-decoration:none; }
.nav-links a:hover,.nav-links a:focus-visible { color:var(--gold-bright); }
.nav-call { padding:.58rem .9rem; border:1px solid var(--gold); color:var(--gold-bright)!important; }
.hero-home { position:relative; isolation:isolate; min-height:min(880px,92vh); padding:clamp(6rem,12vw,10rem) max(1rem,calc((100% - var(--max))/2)); display:flex; align-items:center; overflow:hidden; background:#090303; border-bottom:1px solid var(--line); }
.hero-home::before { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,#090303 0%,rgba(9,3,3,.96) 34%,rgba(9,3,3,.48) 58%,rgba(9,3,3,.05) 78%),linear-gradient(0deg,#090303 0%,transparent 22%); }
.hero-visual { position:absolute; inset:0; z-index:0; margin:0; overflow:hidden; }
.hero-visual img { position:absolute; top:31%; right:0; width:auto; max-width:none; height:118%; display:block; transform:translateY(-31%); object-fit:cover; }
.hero-copy { position:relative; z-index:2; width:min(620px,100%); }
.eyebrow { margin:0 0 1rem; color:var(--gold); font-size:.75rem; font-weight:850; letter-spacing:.16em; }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:1.4rem; font:700 clamp(2.8rem,8vw,6.2rem)/.98 Georgia,"Noto Serif KR",serif; letter-spacing:-.06em; }
h1 span,h2 span { color:var(--gold-bright); }
h2 { margin-bottom:1rem; font:700 clamp(2rem,5vw,3.6rem)/1.14 Georgia,"Noto Serif KR",serif; letter-spacing:-.045em; }
h3 { margin-bottom:.5rem; font-size:1.13rem; }
.lead { max-width:670px; margin-bottom:1.8rem; color:#e2d5c9; font-size:clamp(1.02rem,2vw,1.22rem); }
.actions { display:flex; flex-wrap:wrap; gap:.75rem; }
.button { min-height:52px; padding:.7rem 1.1rem; display:inline-flex; align-items:center; justify-content:center; gap:.55rem; border:1px solid var(--line); color:var(--cream); background:rgba(23,9,8,.86); font-weight:800; text-decoration:none; }
.button.primary { color:#160b06; border-color:var(--gold); background:linear-gradient(135deg,#ffe4a2,#c88f32); box-shadow:0 12px 34px rgba(201,149,61,.16); }
.button.primary span { font-size:.78rem; } .button.ghost { background:rgba(9,3,3,.55); }
.hero-note { margin:.9rem 0 0; color:#aa9a8d; font-size:.86rem; }
.image-note { position:absolute; right:max(1rem,calc((100% - var(--max))/2)); bottom:1.2rem; z-index:2; margin:0; color:rgba(255,248,232,.55); font-size:.68rem; }
.section { padding:clamp(4.5rem,9vw,7.5rem) 1rem; border-top:1px solid var(--line); }
.section-inner { width:min(100%,var(--max)); margin:0 auto; }
.section-intro { max-width:760px; margin-bottom:2rem; color:var(--muted); font-size:1.04rem; }
.split-heading { display:grid; grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr); gap:clamp(2rem,8vw,7rem); }
.intro-section { background:linear-gradient(180deg,rgba(50,16,13,.38),transparent); }
.quick-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.quick-grid div { padding:1rem .5rem 1rem 0; } .quick-grid span,.quick-grid strong { display:block; }
.quick-grid span { color:#9f8d7c; font-size:.76rem; } .quick-grid strong { margin-top:.25rem; color:var(--gold-bright); }
.price-section { background:radial-gradient(circle at 85% 15%,rgba(131,30,19,.25),transparent 25rem),#100504; }
.price-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2rem; }
.price-card { min-height:250px; padding:1.5rem; display:flex; flex-direction:column; justify-content:flex-end; border:1px solid var(--line); background:linear-gradient(155deg,rgba(255,255,255,.035),rgba(255,255,255,.005)); }
.price-card.featured { border-color:rgba(244,213,141,.56); background:linear-gradient(155deg,rgba(201,149,61,.18),rgba(255,255,255,.01)); }
.price-card span { color:var(--muted); }
.price-card strong { margin:.45rem 0; color:var(--gold-bright); font:700 clamp(3.2rem,8vw,5.2rem)/1 Georgia,serif; }
.price-card strong small { margin-left:.2rem; font:800 1rem/1 system-ui,sans-serif; }
.price-card .price-call { font-size:clamp(1.6rem,4vw,2.25rem); }
.price-card p { margin:0; color:#aa998a; font-size:.9rem; }
.notice,.adult-notice { margin:1.25rem 0 0; padding:1rem 1.15rem; border-left:3px solid var(--gold); color:#d2c2b2; background:rgba(201,149,61,.08); }
.gallery-section { background:#080202; }
.gallery { display:grid; grid-template-columns:1.1fr .8fr .8fr; gap:.8rem; margin-top:2rem; align-items:stretch; }
.gallery figure { position:relative; min-height:480px; margin:0; overflow:hidden; border:1px solid var(--line); background:var(--panel); }
.gallery img { width:100%; height:100%; display:block; object-fit:cover; filter:saturate(.92) contrast(1.05); }
.gallery figcaption { position:absolute; left:0; right:0; bottom:0; padding:2.5rem 1rem 1rem; color:#eee1d3; background:linear-gradient(transparent,rgba(8,2,2,.92)); font-size:.8rem; }
.steps { margin:0; padding:0; list-style:none; counter-reset:step; }
.steps li { position:relative; padding:1.2rem 1rem 1.2rem 4rem; border-top:1px solid var(--line); counter-increment:step; }
.steps li:last-child { border-bottom:1px solid var(--line); }
.steps li::before { content:counter(step,decimal-leading-zero); position:absolute; left:0; top:1.45rem; color:var(--gold); font:700 .8rem/1 Georgia,serif; }
.steps strong,.steps span { display:block; } .steps span { color:var(--muted); font-size:.92rem; }
.location-section { background:linear-gradient(135deg,#210807,#090303 70%); }
.call-panel { display:grid; grid-template-columns:1fr auto; align-items:end; gap:2rem; padding:clamp(2rem,6vw,4rem); border:1px solid rgba(201,149,61,.38); background:radial-gradient(circle at 85% 10%,rgba(201,149,61,.15),transparent 18rem),rgba(9,3,3,.55); }
.call-panel p { color:var(--muted); } .updated { margin-bottom:0; font-size:.8rem; }
.phone-display { color:var(--gold-bright); font:700 clamp(1.55rem,4vw,2.5rem)/1.1 Georgia,serif; text-decoration:none; white-space:nowrap; }
.phone-display span { display:block; margin-bottom:.45rem; color:#ae9d8e; font:800 .7rem/1 system-ui,sans-serif; letter-spacing:.12em; }
.narrow { max-width:820px; }
.faq details { padding:1.1rem 0; border-top:1px solid var(--line); }
.faq details:last-of-type { border-bottom:1px solid var(--line); }
.faq summary { cursor:pointer; font-weight:800; }
.faq details p { margin:.75rem 0 0; color:var(--muted); }
.grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.card { min-height:100%; padding:1.35rem; border:1px solid var(--line); background:linear-gradient(155deg,rgba(255,255,255,.035),rgba(255,255,255,.008)); }
.card p { margin-bottom:0; color:var(--muted); }
.card-link { display:block; text-decoration:none; }
.tag-list { display:flex; flex-wrap:wrap; gap:.6rem; }
.tag { padding:.55rem .8rem; border:1px solid var(--line); color:#d8cabc; text-decoration:none; }
.callout { margin:2rem 0; padding:1.4rem; border:1px solid rgba(201,149,61,.4); background:rgba(201,149,61,.07); }
.callout h2 { margin-top:0; } .callout p { color:#d8c9ba; }
.focus-section { background:rgba(201,149,61,.035); }
.focus-panel { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr); gap:2rem; padding:clamp(1.5rem,5vw,3rem); border:1px solid rgba(201,149,61,.35); background:var(--panel); }
.focus-panel p { color:var(--muted); } .focus-actions { display:grid; gap:.75rem; align-content:center; }
.article { width:min(calc(100% - 2rem),820px); margin:0 auto; padding:clamp(4rem,10vw,7rem) 0 7rem; }
.article h1 { font-size:clamp(2.4rem,7vw,4.8rem); }
.article h2 { margin-top:3.2rem; font-size:clamp(1.55rem,4vw,2.25rem); }
.article p,.article li { color:#d2c4b6; }
.article ul,.article ol { padding-left:1.25rem; } .article li+li { margin-top:.55rem; }
.article-figure { margin:2rem 0 0; overflow:hidden; border:1px solid var(--line); background:var(--panel); }
.article-figure img { display:block; width:100%; max-height:520px; object-fit:cover; object-position:center 38%; }
.article-figure figcaption { padding:.85rem 1rem; color:#cdbba9; font-size:.9rem; line-height:1.6; }
.site-footer { padding:3rem 1rem 7rem; border-top:1px solid var(--line); color:#8f7e70; text-align:center; font-size:.88rem; }
.site-footer a { color:#cdb99f; }
.mobile-call { position:fixed; left:50%; bottom:max(1rem,env(safe-area-inset-bottom)); z-index:40; width:min(calc(100% - 2rem),480px); min-height:58px; padding:.55rem 1rem; display:flex; align-items:center; justify-content:center; gap:.55rem; transform:translateX(-50%); border:1px solid #f4d58d; color:#180b06; background:linear-gradient(135deg,#ffe6a8,#c99135); box-shadow:0 16px 42px rgba(0,0,0,.5); font-weight:900; text-decoration:none; }
.mobile-call span { font-size:.78rem; }
@media (max-width:780px) { .nav{min-height:64px}.nav-links a:not(.nav-call){display:none}.hero-home{min-height:820px;padding-top:30rem;padding-bottom:5rem;align-items:flex-end}.hero-home::before{background:linear-gradient(180deg,rgba(9,3,3,.02) 0%,rgba(9,3,3,.12) 39%,rgba(9,3,3,.94) 61%,#090303 78%)}.hero-visual img{top:0;right:0;width:100%;height:auto;transform:none}.image-note{top:27rem;right:1rem;bottom:auto}.split-heading,.price-grid,.gallery,.call-panel,.grid,.grid.two,.focus-panel{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}.quick-grid div+div{border-top:1px solid var(--line)}.price-card{min-height:190px}.gallery figure{min-height:430px}.phone-display{white-space:normal} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *{transition:none!important} }
