:root{--bg:#F2F2F0;--paper:#fff;--fg:#1D1D1F;--muted:#6E6E73;--line:#E6E6E6;--soft:#F5F5F7;--accent:#F26B1D;--tint:#FFF3EA;--ok:#2DB86A;--pad:72px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--bg);color:var(--fg);font-family:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,system-ui,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;font-size:15px;line-height:1.55;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
h1,h2,h3{margin:0;letter-spacing:-0.02em}
.frame{max-width:1440px;margin:0 auto;background:var(--paper)}
@media (min-width:1480px){.frame{margin:24px auto;box-shadow:0 2px 24px rgba(0,0,0,.08)}}

/* header */
.hdr{position:sticky;top:0;z-index:20;height:64px;display:flex;align-items:center;gap:40px;padding:0 48px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}
.logo{display:flex;align-items:center;gap:9px;font-size:19px;font-weight:900;white-space:nowrap}
.logo i{width:28px;height:28px;border-radius:7px;background:var(--accent);color:#fff;font-style:normal;font-weight:900;font-size:21px;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.nav{display:flex;gap:28px;font-size:14px;font-weight:500;white-space:nowrap}
.hdr .right{margin-left:auto;display:flex;align-items:center;gap:16px;white-space:nowrap}
.hdr .tel{font-size:13px;color:var(--muted)}
.hdr .tel b{color:var(--fg)}
.btn{height:38px;display:inline-flex;align-items:center;padding:0 18px;border-radius:999px;background:var(--fg);color:#fff;font-size:13.5px;font-weight:700;white-space:nowrap;cursor:pointer;border:0;font-family:inherit}
.btn.o{background:var(--accent)}
.btn.ghost{background:transparent;border:1px solid #CFCFD2;color:var(--fg)}

/* title + store photo */
.title{text-align:center;padding:48px 20px 22px}
.title .eyebrow{font-size:13px;font-weight:700;color:var(--muted);letter-spacing:.04em}
.title h1{font-size:clamp(30px,3vw,44px);font-weight:900;margin-top:6px}
.title .open{margin-top:10px;font-size:16px;color:var(--muted)}
.title .open b{color:var(--fg)}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);margin-right:7px;vertical-align:1px}
.store{position:relative;height:clamp(260px,39vw,560px);overflow:hidden;background:#ddd}
.store img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.store .chip{position:absolute;left:var(--pad);bottom:26px;display:flex;gap:8px;flex-wrap:wrap}
.store .chip span{padding:8px 14px;border-radius:999px;background:rgba(0,0,0,.6);color:#fff;font-size:13px;font-weight:700;backdrop-filter:blur(6px)}

/* consult hero */
.consult{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.consult .ph{position:relative;min-height:520px;background:#ddd;overflow:hidden}
.consult .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.consult .ph .note{position:absolute;left:20px;top:18px;padding:6px 11px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;font-weight:700}
.consult .tx{padding:64px clamp(24px,5vw,80px);display:flex;flex-direction:column;justify-content:center}
.k{font-size:13px;font-weight:700;color:var(--accent);letter-spacing:.06em}
.consult h2{font-size:clamp(28px,2.9vw,42px);font-weight:900;line-height:1.22;margin-top:12px}
.consult p{font-size:clamp(14px,1.15vw,16.5px);color:var(--muted);margin:20px 0 0;line-height:1.75}
.consult .acts{margin-top:30px;display:flex;gap:10px;flex-wrap:wrap}

/* info 3 col */
.info{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:48px;padding:56px var(--pad);border-bottom:1px solid var(--line)}
.info h3{font-size:18px;font-weight:700;margin-bottom:14px}
.info p{margin:0 0 6px;font-size:15px;color:var(--muted)}
.info p b{color:var(--fg);font-weight:700}
.info a.more{display:inline-block;margin-top:10px;font-size:14px;font-weight:700;color:var(--accent)}
.info ul{margin:0;padding:0;list-style:none}
.info li{display:flex;gap:10px;font-size:15px;color:var(--muted);padding:10px 0;line-height:1.65;border-top:1px solid var(--line)}
.info li:first-child{border-top:0;padding-top:0}
.info li b{color:var(--fg);min-width:92px;font-weight:700}

/* sections */
.sec{padding:80px var(--pad) 0}
.sec h2{font-size:clamp(26px,2.5vw,36px);font-weight:900;line-height:1.25;margin-top:8px}
.sec .lead{margin:12px 0 0;font-size:clamp(14px,1.1vw,16px);color:var(--muted);max-width:720px}
.sec.center{text-align:center}
.sec.center .lead{margin-left:auto;margin-right:auto}

.three{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.three div{background:var(--soft);border-radius:18px;padding:30px 28px;text-align:left}
.three b{display:block;font-size:19px;font-weight:700}
.three p{margin:8px 0 0;font-size:clamp(13px,1vw,14.5px);color:var(--muted);line-height:1.7}

.pcard{text-align:left;margin-top:36px;display:grid;grid-template-columns:1.1fr 1fr;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}
.pcard .ph{position:relative;min-height:420px;background:#ddd}
.pcard .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pcard ol{margin:0;padding:44px 48px;list-style:none;display:flex;flex-direction:column;justify-content:center;gap:22px}
.pcard li{display:flex;gap:18px}
.pcard .no{width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;font-weight:900;font-size:15px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;margin-top:2px}
.pcard li b{display:block;font-size:18px;font-weight:700}
.pcard li span{display:block;margin-top:4px;font-size:14.5px;color:var(--muted)}

.who{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}
.who .c{border-radius:18px;overflow:hidden;background:var(--soft)}
.who .im{height:180px;position:relative;background:#ddd}
.who .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.who .bd{padding:20px 22px 24px}
.who b{display:block;font-size:18px;font-weight:700}
.who p{margin:6px 0 0;font-size:clamp(13px,1vw,14px);color:var(--muted);min-height:70px;line-height:1.65}
.who a{display:inline-block;margin-top:8px;font-size:13.5px;font-weight:700;color:var(--accent)}

.setb{margin-top:36px;display:grid;grid-template-columns:1fr 1fr;border-radius:20px;overflow:hidden;background:var(--tint)}
.setb .tx{padding:56px 52px;display:flex;flex-direction:column;justify-content:center}
.setb h3{font-size:28px;font-weight:900;line-height:1.3}
.setb p{margin:14px 0 0;font-size:clamp(13.5px,1.05vw,15.5px);color:var(--muted);line-height:1.75}
.setb .ph{position:relative;min-height:360px;background:#ddd}
.setb .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* sets (기획 상품) */
.sets{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:36px}
.sets .c{display:grid;grid-template-columns:1fr 1.15fr;border-radius:20px;overflow:hidden;background:var(--tint);min-height:300px}
.sets .im{position:relative;background:#ddd;min-height:220px}
.sets .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sets .badge{position:absolute;left:14px;top:14px;padding:6px 11px;border-radius:999px;background:var(--accent);color:#fff;font-size:12px;font-weight:800}
.sets .bd{padding:26px 26px 24px;display:flex;flex-direction:column}
.sets .period{font-size:12.5px;font-weight:700;color:var(--accent);letter-spacing:.02em}
.sets h3{font-size:21px;font-weight:900;line-height:1.3;margin-top:6px}
.sets ul{margin:12px 0 0;padding:0;list-style:none}
.sets li{font-size:14px;color:var(--fg);padding:5px 0;border-top:1px solid rgba(0,0,0,.06);display:flex;gap:8px}
.sets li:first-child{border-top:0}
.sets li::before{content:'·';color:var(--accent);font-weight:900}
.sets .for{margin-top:auto;padding-top:14px;font-size:13px;color:var(--muted);line-height:1.6}
.sets .for b{color:var(--fg);font-weight:700}
.sets .corner{margin-top:6px;font-size:12.5px;color:var(--muted)}
.sets.featured .c:first-child{grid-column:span 2;grid-template-columns:1.3fr 1fr;min-height:360px}
.sets.featured .c:first-child h3{font-size:28px}
@media (max-width:1100px){.sets .c{grid-template-columns:1fr}.sets .im{min-height:200px}}
@media (max-width:760px){
  .sets{display:flex;gap:12px;margin:24px calc(var(--pad) * -1) 0;padding:0 var(--pad) 6px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .sets::-webkit-scrollbar{display:none}
  .sets .c,.sets.featured .c:first-child{flex:0 0 78vw;max-width:320px;scroll-snap-align:start;grid-template-columns:1fr;grid-template-rows:150px auto;min-height:0}
  .sets .im{min-height:0;height:150px}
  .sets .bd{padding:16px 16px 18px}
  .sets h3,.sets.featured .c:first-child h3{font-size:17px}
  .sets li{font-size:13px;padding:4px 0}
  .sets .for{padding-top:10px;font-size:12.5px}
  .sets-hint{display:block}
}

.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:12px;margin-top:36px}
.gal div{position:relative;border-radius:14px;overflow:hidden;background:#ddd}
.gal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gal .wide{grid-column:span 2}

/* blog (auto-collected) */
.blog{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.blog .c{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.blog .bd{padding:20px 22px 22px;display:flex;flex-direction:column;gap:8px;height:100%}
.blog .tag{font-size:12px;font-weight:700;color:#03C75A}
.blog b{display:block;font-size:16.5px;font-weight:700;line-height:1.4}
.blog .desc{font-size:13.5px;color:var(--muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog .meta{margin-top:auto;font-size:12.5px;color:var(--muted)}
.blog-note{margin:14px 0 0;font-size:12.5px;color:var(--muted)}
.blog-more{margin-top:24px;text-align:center}
.blog-empty{margin-top:36px;padding:40px;border:1px dashed var(--line);border-radius:18px;text-align:center;color:var(--muted);font-size:14px}

/* sns */
.sns{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.sns .embed{min-height:200px;border-radius:14px;overflow:hidden;background:var(--soft);display:flex;align-items:center;justify-content:center}
.sns .embed iframe{width:100%;aspect-ratio:9/16;border:0}
.sns .embed blockquote{margin:0!important;width:100%!important;min-width:0!important}
.sns .empty{color:var(--muted);font-size:13.5px;text-align:center;padding:30px}
.sns-links{margin-top:24px;display:flex;gap:10px;flex-wrap:wrap}

/* route */
.route{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:36px}
.route .ph{position:relative;height:380px;border-radius:18px;overflow:hidden;background:#ddd}
.route .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.route .map{height:380px;border-radius:18px;background:#E9EDF1;overflow:hidden}
.route .map iframe{width:100%;height:100%;border:0}
.rbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:22px 26px;border:1px solid var(--line);border-radius:16px;flex-wrap:wrap}
.rbar p{margin:0;font-size:15px}
.rbar p b{font-weight:700}
.rbar p small{display:block;margin-top:4px;color:var(--muted);font-size:13.5px}
.rbar .b{display:flex;gap:8px;flex-wrap:wrap}

/* faq */
.faq{margin-top:32px;border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;padding:20px 0;font-size:17px;font-weight:700;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';color:var(--muted);font-weight:400;flex:0 0 auto}
details[open] summary::after{content:'–'}
details p{margin:0 0 20px;font-size:15px;color:var(--muted);max-width:820px}

/* footer */
.ft{margin-top:80px;padding:36px var(--pad) 40px;background:var(--soft);color:var(--muted);font-size:13px;line-height:1.8}
.ft b{color:var(--fg)}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  :root{--pad:40px}
  .hdr{padding:0 24px;gap:20px}
  .nav{gap:18px;font-size:13.5px}
  .who{grid-template-columns:repeat(2,1fr)}
  .info{grid-template-columns:1fr 1fr;gap:32px}
  .gal{grid-auto-rows:160px}
}
@media (max-width:760px){
  :root{--pad:16px}
  .hdr{height:56px;padding:0 16px;gap:12px}
  .nav,.hdr .tel{display:none}
  .logo{font-size:17px}
  .title{padding:32px 16px 18px}
  .title .open{font-size:14px}
  .store .chip{left:16px;bottom:16px}
  .consult{grid-template-columns:1fr}
  .consult .ph{min-height:260px}
  .consult .tx{padding:36px 20px 40px}
  .info{grid-template-columns:1fr;gap:28px;padding:40px var(--pad)}
  .sec{padding-top:56px}
  .three,.who,.blog,.sns{grid-template-columns:1fr}
  .pcard{grid-template-columns:1fr}
  .pcard .ph{min-height:240px}
  .pcard ol{padding:28px 22px;gap:18px}
  .setb{grid-template-columns:1fr}
  .setb .tx{padding:32px 24px}
  .setb .ph{min-height:240px}
  .gal{grid-template-columns:repeat(2,1fr);grid-auto-rows:130px}
  .route{grid-template-columns:1fr}
  .route .ph,.route .map{height:260px}
  .who p{min-height:0}
  .ft{margin-top:56px}
}
