:root{
  --paper:#FAF7F1; --ink:#211E1A; --gold:#A98436; --gray:#8B8478; --line:#E4DCCC;
  --serif:'Noto Serif KR',serif;
  --serif-en:'Cormorant Garamond',Georgia,serif;
  --sans:'Pretendard',-apple-system,sans-serif;
  --ease:cubic-bezier(0.16,1,0.3,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);letter-spacing:-0.04em;padding-bottom:58px}
/* 모션은 GSAP ScrollTrigger(site.js)가 전담 — .reveal은 타깃 마커 */

/* top bar */
.top{position:absolute;top:0;left:0;right:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;padding:18px 26px;mix-blend-mode:multiply}
.top .menu-btn{justify-self:start;background:none;border:0;cursor:pointer;font-family:var(--serif-en);font-style:italic;font-size:16px;color:var(--ink);letter-spacing:-0.01em;padding:0}
.top .menu-btn:hover{color:var(--gold)}
.top .logo{justify-self:center;font-family:var(--serif);font-weight:600;font-size:16px;letter-spacing:-0.05em;color:var(--ink);text-decoration:none}
.top .logo em{font-style:italic;color:var(--gold);letter-spacing:-0.01em}
.top a.tel{justify-self:end;font-family:var(--serif-en);font-size:15px;color:var(--ink);text-decoration:none;letter-spacing:-0.01em}
@media(max-width:560px){.top a.tel{display:none}}

/* overlay menu */
.ovl{position:fixed;inset:0;z-index:100;background:var(--paper);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;opacity:0;pointer-events:none;transition:opacity .6s var(--ease)}
.ovl.open{opacity:1;pointer-events:auto}
.ovl .x{position:absolute;top:16px;right:26px;background:none;border:0;cursor:pointer;font-family:var(--serif-en);font-style:italic;font-size:16px;color:var(--gray);letter-spacing:-0.01em}
.ovl .x:hover{color:var(--ink)}
.ovl a.item{font-family:var(--serif);font-weight:500;font-size:clamp(17px,2vw,24px);letter-spacing:-0.05em;color:var(--ink);text-decoration:none;line-height:1.9;opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .7s var(--ease),color .8s var(--ease)}
.ovl.open a.item{opacity:1;transform:none}
.ovl a.item:hover{color:var(--gold)}
.ovl.open:has(a.item:hover) a.item:not(:hover){opacity:.3}
.ovl a.item small{font-family:var(--serif-en);font-style:italic;font-size:15px;color:var(--gold);margin-left:14px;letter-spacing:-0.01em}
.ovl .ovl-tel{margin-top:34px;font-family:var(--serif-en);font-size:19px;color:var(--gray);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:4px}
.ovl .ovl-tel:hover{color:var(--gold);border-color:var(--gold)}

/* intro line */
.intro{padding:150px 26px 70px;text-align:center}
.intro .en{font-family:var(--serif-en);font-style:italic;font-size:17px;color:var(--gold)}
.intro h1{font-family:var(--serif);font-weight:500;font-size:clamp(22px,3.2vw,34px);letter-spacing:-0.06em;line-height:1.5;margin-top:16px}
.intro .en2{font-family:var(--serif-en);font-style:italic;font-size:16px;color:var(--gray);margin-top:2px;letter-spacing:-0.01em}
.intro h1.hero-en{font-family:var(--serif-en);font-weight:500;font-style:italic;font-size:clamp(27px,3.8vw,42px);letter-spacing:-0.02em;line-height:1.2}
.intro.page{padding:140px 26px 30px}
.intro.page h1{font-size:clamp(22px,3vw,32px)}

/* video */
.vfull{margin:90px 0}
.vfull video{width:100%;display:block;background:#000;max-height:92vh}
.vfull .cap,.vreel .cap{margin-top:14px;text-align:center;font-family:var(--serif-en);font-style:italic;font-size:14px;color:var(--gray)}
.vreel{margin:110px auto;max-width:400px;padding:0 26px}
.vreel video{width:100%;display:block;aspect-ratio:9/16;object-fit:cover;background:#000}

/* gallery */
.g{max-width:1280px;margin:0 auto;padding:0 26px}
.g img{width:100%;display:block;object-fit:cover}
.full{margin:90px 0;overflow:hidden}
.full img{max-height:92vh}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:90px 0;align-items:start}
.pair > div{overflow:hidden}
@media(max-width:640px){.pair{grid-template-columns:1fr}}
.pair .a{margin-top:70px}
@media(max-width:640px){.pair .a{margin-top:0}}
.pair img{aspect-ratio:3/4}

/* fin */
.fin{padding:150px 26px 120px;text-align:center}
.fin p{font-family:var(--serif);font-weight:500;font-size:clamp(16px,2.1vw,22px);letter-spacing:-0.06em;line-height:1.7}
.fin .tel{display:inline-block;margin-top:40px;font-family:var(--serif-en);font-size:clamp(17px,2vw,21px);color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:6px;letter-spacing:-0.01em;transition:color .4s var(--ease)}
.fin .tel:hover{color:var(--gold)}
.fin .s{margin-top:18px;font-size:12px;color:var(--gray);letter-spacing:-0.02em}

footer{text-align:center;padding:0 26px 60px}
footer .ai{font-size:10.5px;color:#B9B2A5;letter-spacing:-0.02em}

.sticky-call{position:fixed;bottom:0;left:0;right:0;z-index:60}
.sticky-call a{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:#F4EFE6;text-decoration:none;font-weight:700;font-size:14.5px;letter-spacing:-0.03em;padding:16px 0}
.sticky-call .num{font-family:var(--serif-en);font-weight:500;font-size:18px;letter-spacing:-0.01em;color:#C9AC6E}
