/* 시안 2 — JAPAN MINIMAL: 무인양품/Hario 톤 */
:root{
  --ink:#1a1a1a;
  --bg:#f4efe6;
  --bg-soft:#ebe4d4;
  --paper:#fbf8f1;
  --gold:#c7a24a;
  --gold-d:#8c6b1f;
  --line:rgba(26,26,26,.12);
  --muted:#6e6357;
}
body{background:var(--bg); color:var(--ink); font-family:'Pretendard Variable',system-ui,sans-serif}
.os-kakao-fab{background:var(--ink); color:var(--paper)}

.jm-nav{padding:24px 0; border-bottom:1px solid var(--line)}
.jm-nav__inner{display:flex; align-items:center; justify-content:space-between}
.jm-nav__brand{display:flex; align-items:baseline; gap:10px}
.jm-nav__brand-en{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:22px; color:var(--gold-d)}
.jm-nav__brand-ko{font-weight:700; letter-spacing:-.02em}
.jm-nav__menu{display:flex; gap:28px; font-size:13px; color:var(--muted); letter-spacing:.04em}
.jm-nav__menu a:hover, .jm-nav__menu a.active{color:var(--ink)}
.jm-nav__cta{font-size:13px; padding:10px 20px; border:1px solid var(--ink); border-radius:0; color:var(--ink); font-weight:600}
.jm-nav__cta:hover{background:var(--ink); color:var(--paper)}
@media(max-width:720px){.jm-nav__menu{display:none}}

/* hero — full-bleed */
.jm-hero{padding:120px 0 100px; position:relative; overflow:hidden}
.jm-hero::before{content:""; position:absolute; right:-100px; top:50px; width:520px; height:520px; background:radial-gradient(circle, var(--gold) 0, transparent 70%); opacity:.16; pointer-events:none}
.jm-hero__eyebrow{font-family:'Cormorant Garamond',serif; font-style:italic; color:var(--gold-d); font-size:18px}
.jm-hero h1{font-family:'Cormorant Garamond',serif; font-weight:400; font-style:italic; font-size:clamp(40px,7vw,84px); line-height:1.05; letter-spacing:-.03em; margin:18px 0 8px; color:var(--ink); max-width:900px}
.jm-hero h1 em{color:var(--gold-d); font-style:italic}
.jm-hero__lead{font-size:17px; color:var(--muted); max-width:520px; line-height:1.7; margin:24px 0 36px}
.jm-hero__cta{display:flex; gap:14px; flex-wrap:wrap}
.jm-btn{display:inline-flex; align-items:center; gap:10px; padding:14px 28px; font-size:14px; font-weight:600; letter-spacing:.04em; border-radius:0}
.jm-btn--solid{background:var(--ink); color:var(--paper)}
.jm-btn--solid:hover{background:#000}
.jm-btn--ghost{border:1px solid var(--ink); color:var(--ink)}
.jm-btn--ghost:hover{background:var(--ink); color:var(--paper)}

/* section */
.jm-sec{padding:120px 0; border-top:1px solid var(--line)}
.jm-sec--soft{background:var(--paper)}
.jm-sec__idx{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:14px; letter-spacing:.16em; color:var(--gold-d); text-transform:uppercase}
.jm-sec__title{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(32px,4.5vw,52px); font-weight:400; letter-spacing:-.02em; margin:8px 0 20px; line-height:1.1}
.jm-sec__lead{color:var(--muted); max-width:560px; line-height:1.8}

/* services — 1:1 split rows */
.jm-svc{display:flex; flex-direction:column; gap:80px; margin-top:48px}
.jm-svc__row{display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center}
.jm-svc__row:nth-child(even){grid-template-columns:1fr 1.1fr}
.jm-svc__row:nth-child(even) .jm-svc__media{order:2}
.jm-svc__media{aspect-ratio:4/3; background:linear-gradient(135deg, var(--bg-soft) 0%, var(--paper) 100%); border:1px solid var(--line); display:grid; place-items:center; color:var(--gold-d); font-family:'Cormorant Garamond',serif; font-style:italic; font-size:80px; opacity:.6}
.jm-svc__body h3{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:32px; font-weight:400; margin:0 0 4px}
.jm-svc__sub{color:var(--gold-d); font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:600}
.jm-svc__sum{margin:18px 0; color:var(--muted); line-height:1.8; font-size:15px}
.jm-svc__list{display:flex; flex-direction:column; gap:8px; margin-top:14px}
.jm-svc__list li{font-size:14px; color:var(--ink); padding-left:18px; position:relative}
.jm-svc__list li::before{content:""; position:absolute; left:0; top:11px; width:8px; height:1px; background:var(--gold-d)}
.jm-svc__cta{margin-top:24px; display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--ink); font-weight:600; letter-spacing:.04em; border-bottom:1px solid var(--ink); padding:4px 0}
.jm-svc__cta:hover{color:var(--gold-d); border-color:var(--gold-d)}
@media(max-width:760px){
  .jm-svc__row, .jm-svc__row:nth-child(even){grid-template-columns:1fr}
  .jm-svc__row:nth-child(even) .jm-svc__media{order:0}
}

/* process numbered list */
.jm-proc{display:grid; grid-template-columns:repeat(3,1fr); gap:48px 32px; margin-top:48px}
.jm-proc__step{padding-left:0}
.jm-proc__no{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:60px; color:var(--gold-d); line-height:1}
.jm-proc__title{margin-top:16px; font-size:18px; font-weight:700; letter-spacing:-.01em}
.jm-proc__desc{color:var(--muted); font-size:14px; margin-top:8px; line-height:1.7}
@media(max-width:720px){.jm-proc{grid-template-columns:1fr 1fr}}

/* guarantees - quiet 4 col */
.jm-guard{display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:48px; border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.jm-guard__card{padding:32px 24px; border-right:1px solid var(--line)}
.jm-guard__card:last-child{border-right:0}
.jm-guard__title{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:22px; margin:0 0 8px; color:var(--ink)}
.jm-guard__desc{color:var(--muted); font-size:13px; line-height:1.7}
@media(max-width:720px){.jm-guard{grid-template-columns:1fr 1fr} .jm-guard__card:nth-child(even){border-right:0} .jm-guard__card:nth-child(-n+2){border-bottom:1px solid var(--line)}}

/* faq */
.jm-faq{display:flex; flex-direction:column; max-width:780px; margin:48px auto 0}
.jm-faq details{padding:24px 0; border-bottom:1px solid var(--line)}
.jm-faq summary{cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:16px; font-weight:600; font-size:16px}
.jm-faq summary::after{content:"+"; color:var(--gold-d); font-family:'Cormorant Garamond',serif; font-size:24px; line-height:1}
.jm-faq details[open] summary::after{content:"–"}
.jm-faq__a{color:var(--muted); margin-top:14px; line-height:1.8}

/* form */
.jm-form{display:grid; grid-template-columns:1fr 1fr; gap:0; max-width:720px; border-top:1px solid var(--ink)}
.jm-form label{display:flex; flex-direction:column; padding:18px 0; border-bottom:1px solid var(--line); font-size:11px; letter-spacing:.16em; color:var(--muted); text-transform:uppercase; font-weight:600}
.jm-form label.full{grid-column:1/-1}
.jm-form label > span{margin-bottom:6px}
.jm-form input, .jm-form select, .jm-form textarea{
  background:transparent; border:0; padding:0;
  font-family:inherit; font-size:16px; color:var(--ink); outline:none;
  letter-spacing:0; text-transform:none;
}
.jm-form button{grid-column:1/-1; margin-top:32px; padding:18px; background:var(--ink); color:var(--paper); font-weight:600; letter-spacing:.06em; border-radius:0}
.jm-form button:hover{background:#000}
@media(max-width:640px){.jm-form{grid-template-columns:1fr}}

/* footer */
.jm-footer{padding:80px 0 100px; background:var(--ink); color:var(--paper)}
.jm-footer .os-container{display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:48px}
.jm-footer__brand{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:32px; color:var(--gold)}
.jm-footer h4{font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:#a09486; margin:0 0 12px}
.jm-footer a, .jm-footer p{color:var(--paper); margin:4px 0; font-size:13px}
.jm-footer a:hover{color:var(--gold)}
.jm-footer__qr{margin-top:18px}
.jm-footer__qr img{width:100px; height:100px; padding:8px; background:var(--paper); border-radius:0}
.jm-footer__copy{grid-column:1/-1; padding-top:24px; border-top:1px solid #2a2a2a; color:#a09486; font-size:12px; margin-top:32px}
@media(max-width:720px){.jm-footer .os-container{grid-template-columns:1fr}}

.jm-page-hero{padding:80px 0}
.jm-page-hero h1{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(32px,5vw,56px); font-weight:400; margin:8px 0 12px}
