/* assets/js/vendor/lenis.css */
html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}

/* assets/css/home.css */
@font-face{font-family:"Pretendard";src:url(../fonts/Pretendard-sub.woff2?v=33547de312) format("woff2-variations");font-weight:100 900;font-display:swap}
@font-face{font-family:"SerifKR";src:url(../fonts/serif-kr-sub.woff2?v=8a145fb81c) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Cormorant";src:url(../fonts/Cormorant-sub.woff2?v=83e341e78b) format("woff2");font-weight:300 700;font-display:swap}
:root{--ink:#141414;--ink2:#5a5a5a;--ink3:#8c8c8c;--line:#e3e3e3;--bg:#fff;--soft:#f4f3f1;--acc:#7a2430;--w:1280px;--pad:40px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-padding-top:72px}
body{font-family:"Pretendard",system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;word-break:keep-all}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:8px 12px}
.wrap{max-width:var(--w);margin:0 auto;padding:0 var(--pad)}
.serif{font-family:"SerifKR","Noto Serif KR",serif;font-weight:400}

/* header */
.hd{position:fixed;inset:0 0 auto;z-index:50;color:#fff;transition:background .3s,color .3s,border-color .3s;border-bottom:1px solid rgba(255,255,255,.18)}
.hd__in{max-width:1440px;margin:0 auto;height:76px;padding:0 var(--pad);display:flex;align-items:center;gap:56px}
.logo{display:flex;align-items:baseline;gap:10px}
.logo__mark{font-weight:800;font-size:25px;letter-spacing:.01em;line-height:1}
.logo__mark b{font-weight:800;color:#c6a46e}
.logo__name{font-size:13px;font-weight:600;letter-spacing:.14em}
.gnb{display:flex;gap:44px;font-size:15px;font-weight:500}
.gnb a{opacity:.92}.gnb a:hover{opacity:1;text-decoration:underline;text-underline-offset:6px}
.hd__pc{margin-left:auto;font-size:14px;font-weight:600;padding:9px 18px;border:1px solid currentColor;transition:background .2s,color .2s}
.hd__pc:hover{background:#fff;color:var(--ink)}
.hd.is-solid{background:#fff;color:var(--ink);border-bottom-color:var(--line)}
.hd.is-solid .logo__mark{color:#1f4a37}.hd.is-solid .logo__mark b{color:#a68350}
.hd.is-solid .hd__pc{background:var(--acc);border-color:var(--acc);color:#fff}
.hd.is-solid .hd__pc:hover{background:#5e1b25}
.hd__menu{display:none;margin-left:auto;width:40px;height:40px;background:none;border:0;color:inherit;cursor:pointer;position:relative}
.hd__menu span{position:absolute;left:9px;right:9px;height:1.5px;background:currentColor;transition:transform .2s}
.hd__menu span:first-child{top:15px}.hd__menu span:last-child{top:24px}
.hd.is-open .hd__menu span:first-child{transform:translateY(4.5px) rotate(45deg)}
.hd.is-open .hd__menu span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.mnav{display:none}

/* hero */
.hero{position:relative;height:100vh;min-height:620px;max-height:1100px;color:#fff;overflow:hidden;background:#222}
.hero img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.38) 0,rgba(0,0,0,0) 22%,rgba(0,0,0,0) 50%,rgba(0,0,0,.45) 100%)}
.hero__txt{position:absolute;z-index:2;left:max(var(--pad),calc((100vw - 1440px)/2 + var(--pad)));bottom:96px}
.hero h1{font-size:58px;line-height:1.28;letter-spacing:-.01em}
.hero__txt p{margin-top:22px;font-size:15px;letter-spacing:.02em;opacity:.88}
.hero__cap{position:absolute;z-index:2;right:max(var(--pad),calc((100vw - 1440px)/2 + var(--pad)));bottom:100px;font-size:13px;opacity:.8}
.hero__cap:hover{opacity:1;text-decoration:underline}

/* products */
.products{padding:140px 0 120px}
.head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:44px}
h2{font-size:30px;font-weight:600;letter-spacing:-.01em;line-height:1.3}
.more{font-size:14px;color:var(--ink2);border-bottom:1px solid var(--ink3);padding-bottom:2px}
.more:hover{color:var(--acc);border-color:var(--acc)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:56px 28px}
.grid a{display:block}
.ph{display:block;aspect-ratio:3/4;overflow:hidden;background:var(--soft)}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.grid a:hover .ph img{transform:scale(1.035)}
.en{display:block;margin-top:16px;font-family:"Cormorant",serif;font-size:21px;font-weight:500;line-height:1.25}
.ko{display:block;margin-top:2px;font-size:13px;color:var(--ink2)}
.grid a:hover .en{color:var(--acc)}
.sizes{margin-top:64px;padding-top:22px;border-top:1px solid var(--line);font-size:14px;color:var(--ink2)}
.sizes a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.sep{display:inline-block;width:1px;height:12px;background:var(--line);margin:0 18px;vertical-align:-1px}

/* band */
.band{position:relative;height:88vh;min-height:520px;max-height:960px;overflow:hidden}
.band img{width:100%;height:100%;object-fit:cover;object-position:45% 50%}
.band__cap{position:absolute;left:max(var(--pad),calc((100vw - 1440px)/2 + var(--pad)));bottom:28px;font-size:13px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.band__cap:hover{text-decoration:underline}

/* about */
.about{padding:150px 0 0}
.about__in{display:grid;grid-template-columns:5fr 7fr;gap:40px}
.about h2{font-size:40px;line-height:1.2}
.about__txt{max-width:600px}
.about__txt p{font-size:17px;line-height:1.95;color:#333}
.about__txt p+p{margin-top:18px}
.about__img{margin-top:90px}
.about__img img{width:100%;aspect-ratio:21/9;object-fit:cover}

/* catalog */
.catalog{padding:140px 0}
.catalog__in{display:grid;grid-template-columns:7fr 5fr;gap:72px;align-items:center}
.catalog__cover{display:block;background:var(--soft);padding:48px;border:1px solid var(--line)}
.catalog__cover img{box-shadow:0 12px 30px rgba(0,0,0,.10)}
.catalog__txt p{margin-top:16px;color:#333}
.catalog__txt .meta{margin-top:8px;font-size:13px;color:#6b6b6b}
.btn{display:inline-block;margin-top:32px;padding:15px 34px;background:var(--ink);color:#fff;font-size:14px;font-weight:600;letter-spacing:.02em;transition:background .2s}
.btn:hover{background:var(--acc)}

/* contact */
.contact{background:var(--soft);padding:110px 0}
.contact__in{display:grid;grid-template-columns:5fr 7fr;gap:40px}
.contact dl{display:grid;grid-template-columns:1fr 1fr;gap:36px 40px}
.contact dt{font-size:13px;color:#6b6b6b;margin-bottom:6px}
.contact dd{font-size:19px;font-weight:500}
.contact dd a:hover{color:var(--acc)}

/* footer */
.ft{background:#141414;color:#b5b5b5;padding:64px 0 36px;font-size:13px;line-height:1.9}
.ft__in{display:grid;grid-template-columns:auto 1fr auto;gap:64px;align-items:start}
.logo--ft .logo__mark{color:#fff}.logo--ft .logo__name{color:#b5b5b5}
.ft nav{display:flex;gap:28px}.ft nav a:hover{color:#fff}
.ft__copy{margin-top:48px;padding-top:24px;border-top:1px solid #2a2a2a;color:#8a8a8a;font-size:12px}

/* tablet */
@media (max-width:1100px){
  :root{--pad:28px}
  .hd__in{gap:36px}.gnb{gap:28px}
  .grid{grid-template-columns:repeat(3,1fr)}
}
/* mobile */
@media (max-width:767px){
  :root{--pad:20px}
  html{scroll-padding-top:60px}
  .hd__in{height:60px}
  .gnb,.hd__pc{display:none}
  .hd__menu{display:block}
  .logo__mark{font-size:22px}
  .mnav{display:block;max-height:0;overflow:hidden;background:#fff;color:var(--ink);transition:max-height .3s}
  .hd.is-open .mnav{max-height:400px;border-top:1px solid var(--line)}
  .mnav a{display:block;padding:15px var(--pad);font-size:16px;border-bottom:1px solid var(--line)}
  .mnav a:last-child{color:var(--acc);font-weight:600;border-bottom:0}
  .hero{height:100svh;min-height:560px}
  .hero__txt{bottom:76px;right:var(--pad)}
  .hero h1{font-size:36px}
  .hero__txt p{font-size:13px;margin-top:14px}
  .hero__cap{bottom:28px;left:var(--pad);right:auto;font-size:12px}
  .products{padding:88px 0 72px}
  .head{margin-bottom:28px}
  h2{font-size:24px}
  .grid{grid-template-columns:1fr 1fr;gap:36px 14px}
  .en{font-size:17px;margin-top:10px}.ko{font-size:12px}
  .sizes{margin-top:44px;font-size:13px;line-height:1.9}
  .sep{display:block;width:0;height:6px;margin:0}
  .band{height:72vh;min-height:420px}
  .about{padding:96px 0 0}
  .about__in,.contact__in,.catalog__in{grid-template-columns:1fr;gap:24px}
  .about h2{font-size:30px}
  .about__txt p{font-size:16px;line-height:1.9}
  .about__img{margin-top:48px;padding:0}
  .about__img img{aspect-ratio:4/3}
  .catalog{padding:96px 0}
  .catalog__cover{padding:22px}
  .catalog__txt{margin-top:8px}
  .btn{display:block;text-align:center}
  .contact{padding:80px 0}
  .contact dl{grid-template-columns:1fr;gap:22px}
  .contact dd{font-size:17px}
  .ft__in{grid-template-columns:1fr;gap:24px}
  .ft nav{flex-wrap:wrap;gap:20px}
}

picture{display:contents}
.maps{display:flex;gap:16px;margin-top:8px;font-size:14px;font-weight:500}
.maps a{color:var(--ink2);border-bottom:1px solid var(--line)}
.maps a:hover{color:var(--acc);border-color:var(--acc)}

/* assets/css/motion.css */
/* ---- v5 motion layer ---- */
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:60;pointer-events:none}
.progress span{display:block;height:100%;background:var(--acc);transform-origin:0 50%;transform:scaleX(0)}
.hd{transition:background .3s,color .3s,border-color .3s,transform .45s cubic-bezier(.2,.7,.2,1)}
.hd.is-hidden{transform:translateY(-100%)}

/* scroll zoom scenes (hero + wall): one photo, camera dolly into its own marble */
.zoom{position:relative;background:#111}
.zoom__stage{position:relative;height:100vh;height:100svh;overflow:hidden;background:#111}
.zoom__tilt{position:absolute;inset:0;transform-origin:50% 100%}
.zoom__cam{position:absolute;inset:0;transform-origin:0 0}
.zoom__pic{position:absolute;inset:0}
.zoom__cam img{display:block;width:100%;height:100%;object-fit:cover;max-width:none}
/* 줌 구간 고해상도 겹침: 같은 사진의 같은 영역(Real-ESRGAN 4배) — 다른 사진으로 바뀌지 않음 */
.zoom__cam img.zoom__hd{position:absolute;object-fit:fill;opacity:0;transition:opacity .5s;pointer-events:none}
/* 시작 장면 움직이는 영상: 같은 사진 위 같은 자리(원본 px 좌표 %)에 겹침. 재생 전·실패·저전력이면 투명 → 아래 사진이 그대로 포스터 역할 */
.zoom__vid{position:absolute;z-index:2;display:block;opacity:0;object-fit:fill;pointer-events:none;background:transparent}
.rm .zoom__vid{display:none}
.zoom__vid--light{mix-blend-mode:hard-light} /* 0.5 회색 = 변화 없음, 어두워지는 곳은 곱하기·밝아지는 곳은 스크린 → 사진 결 유지 */
.zoom__vid--curt{-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.zoom__cam img.zoom__hd.is-on{opacity:1}
.zoom__cam.is-sized img{object-fit:fill}
.zoom--wall .zoom__cam img{object-position:45% 50%}
.zoom__shade{position:absolute;inset:0;pointer-events:none;z-index:1}
.hero .zoom__shade{background:linear-gradient(180deg,rgba(0,0,0,.38) 0,rgba(0,0,0,0) 22%,rgba(0,0,0,0) 50%,rgba(0,0,0,.45) 100%)}
.zoom__shade::after{content:"";position:absolute;inset:0;opacity:var(--vig,0);background:radial-gradient(130% 100% at 50% 55%,rgba(0,0,0,0) 45%,rgba(0,0,0,.55) 100%)}
.zoom--wall .zoom__shade::after{background:radial-gradient(130% 100% at 50% 55%,rgba(0,0,0,0) 50%,rgba(40,20,22,.28) 100%)}
.zoom__name{position:absolute;z-index:3;left:max(var(--pad),calc((100vw - 1440px)/2 + var(--pad)));right:var(--pad);bottom:84px;color:#fff;opacity:0;text-shadow:0 1px 14px rgba(0,0,0,.45)}
.zoom__name .en{display:block;font-family:"Cormorant",serif;font-weight:400;font-size:clamp(48px,7vw,104px);line-height:1;letter-spacing:-.01em}
.zoom__name .ko{display:block;margin-top:16px;font-size:14px;letter-spacing:.04em;opacity:1;color:inherit} /* 제품 목록 .ko 회색이 이어받지 않게 */
.zoom__name:hover .en{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:10px}
.zoom--wall .zoom__name{color:#fff;text-shadow:0 1px 16px rgba(0,0,0,.7),0 0 3px rgba(0,0,0,.45)}
.zoom--wall .zoom__shade{background:linear-gradient(transparent 40%,rgba(0,0,0,.76))}
.hero::after{display:none}
.hero{height:auto;max-height:none;min-height:0}
.hero__txt{z-index:3}
.hero h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero h1 .ln>span{display:inline-block;will-change:transform}
.js:not(.rm) .hero h1 .ln>span{transform:translateY(110%)}
.js:not(.rm) .hero__sub{opacity:0}
.hero__hint{position:absolute;z-index:3;right:max(var(--pad),calc((100vw - 1440px)/2 + var(--pad)));bottom:100px;color:#fff;font-size:12px;letter-spacing:.2em;opacity:.9;padding-bottom:46px;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.hero__hint::after{content:"";position:absolute;left:50%;bottom:0;width:1px;height:36px;background:currentColor;transform-origin:50% 0;animation:hint 2.2s cubic-bezier(.6,0,.3,1) infinite}
@keyframes hint{0%{transform:scaleY(0)}50%{transform:scaleY(1);transform-origin:50% 0}51%{transform-origin:50% 100%}100%{transform:scaleY(0);transform-origin:50% 100%}}
.rm .zoom__name{opacity:1}.rm .hero__hint{display:none}
.rm .zoom__name{bottom:28px}.rm .zoom__name .en{font-size:20px}.rm .zoom--wall .zoom__name{color:#fff}

/* product grid */
.grid .ph img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.grid a:hover .ph img{transform:scale(1.06)}

/* spaces – horizontal */
.spaces{background:#141414;color:#fff;overflow:hidden}
.spaces__pin{height:100vh;display:flex;flex-direction:column;justify-content:center;gap:40px}
.spaces__head{display:flex;align-items:baseline;justify-content:space-between;width:100%}
.spaces__head p{font-size:14px;color:#9a9a9a}
.spaces__track{display:flex;gap:32px;padding:0 max(var(--pad),calc((100vw - 1440px)/2 + var(--pad)));will-change:transform}
.sp{flex:0 0 auto;width:min(62vw,940px)}
.sp__ph{display:block;aspect-ratio:16/9;max-height:62vh;overflow:hidden}
.sp__ph img,.home .sp__ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);transition:filter .4s}
.sp:hover .sp__ph img{filter:brightness(1.06)}
.sp__cap{display:flex;gap:14px;align-items:baseline;margin-top:16px}
.sp .en{margin:0;color:#fff}.sp .ko{margin:0;color:#9a9a9a}
.sp:hover .en{color:#d9a7ae}

/* about */
.about__txt .w{opacity:.14;transition:none}
.rm .about__txt .w{opacity:1}
.about__clip{overflow:hidden}
.about__img img{will-change:transform;transform:scale(1.15)}
.rm .about__img img{transform:none}

/* generic fade-up */
.js:not(.rm) [data-up]{opacity:0;transform:translateY(40px)}

@media (max-width:1023px){
  .spaces__pin{height:auto;padding:96px 0}
  .spaces__track{flex-direction:column;gap:44px;padding:0 var(--pad)}
  .sp{width:100%}
  .sp__ph{aspect-ratio:16/9;max-height:none}
}
@media (max-width:767px){
  .zoom__name{bottom:64px}.zoom__name .ko{font-size:14px;margin-top:10px}
  .hero__hint{bottom:28px;padding-bottom:40px}
  .spaces__head{flex-direction:column;gap:6px}
  .sp__cap{flex-direction:column;gap:2px}
}

.spaces__head a{color:#fff;border-bottom:1px solid rgba(255,255,255,.7)}

/* assets/css/site.css */
/* v6 공용 스타일 — 홈(home.css 뒤에 로드)과 하위 페이지가 함께 씀. home.css와 겹치지 않게 이름을 따로 둠 */
@font-face{font-family:"Pretendard";src:url(../fonts/Pretendard-sub.woff2?v=33547de312) format("woff2-variations");font-weight:100 900;font-display:swap}
:root{--k:#1d1d1b;--k2:#55534e;--k3:#6b6861;--ln:#e2ded5;--ln2:#cfcac0;--cr:#f5f2ec;--bd:#efebe3;--gr:#144232;--gd:#7d5f36;--gdl:#c6a46e}
.pg{margin:0;font-family:"Pretendard","Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:var(--k);background:#fff;font-size:15px;line-height:1.6;letter-spacing:-.01em;word-break:keep-all;-webkit-text-size-adjust:100%}
.pg *,.pg *::before,.pg *::after{box-sizing:border-box}
.pg h1,.pg h2,.pg h3,.pg p,.pg ul,.pg dl,.pg dd,.pg figure{margin:0;padding:0}
.pg [hidden]{display:none!important}
.pg ul{list-style:none}.pg a{color:inherit;text-decoration:none}.pg img{display:block;max-width:100%;height:auto}
.pg button,.pg input,.pg select,.pg textarea{font:inherit;color:inherit}
.cw{max-width:1200px;margin:0 auto;padding:0 40px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:8px 12px}
.pg :focus-visible{outline:2px solid var(--gr);outline-offset:2px}
/* 상단 */
.util{background:var(--gr);color:#e3ebe6;font-size:12.5px}
.util .cw{display:flex;justify-content:space-between;height:34px;align-items:center;gap:16px}
.util a{color:#fff}.util span+span{margin-left:16px}
.sh{border-bottom:1px solid var(--ln);background:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:50}
.sh__in{display:flex;align-items:center;height:72px;gap:26px}
.brand{display:flex;align-items:center;gap:10px;flex:none}
.brand b{font-weight:800;font-size:24px;letter-spacing:.02em;color:var(--gr);line-height:1}
.brand b i{font-style:normal;color:var(--gd)}
.brand span{font-size:13px;line-height:1.25;border-left:1px solid var(--ln2);padding-left:10px}
.brand span em{display:block;font-style:normal;color:var(--k3);font-size:11.5px}
.gnav{display:flex;gap:24px;margin-left:auto;font-size:15px;font-weight:500}
.gnav a{padding:24px 0;border-bottom:2px solid transparent}
.gnav a:hover{color:var(--gr)}
.gnav a.on{border-color:var(--gr);color:var(--gr)}
.gnav a.pc{color:var(--k2)}
.sh .cta{flex:none;background:var(--gr);color:#fff;font-size:14px;font-weight:600;padding:9px 16px}
.sh__mb{display:none}
.mcat,.smenu{display:none}
/* 공통 */
.crumb{font-size:12.5px;color:var(--k2);padding:18px 0 0}
.crumb a:hover{color:var(--k)}.crumb i{font-style:normal;margin:0 6px;color:var(--k2)}
.pghead{padding:14px 0 26px;border-bottom:1px solid var(--ln);display:flex;align-items:flex-end;gap:8px 20px;flex-wrap:wrap}
.pghead h1{font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.3}
.pghead p{color:var(--k2);font-size:14.5px;padding-bottom:4px}
.h2{font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.35}
.lnk{font-size:14px;color:var(--k2);border-bottom:1px solid var(--ln2);white-space:nowrap}
.lnk:hover{color:var(--gr);border-color:var(--gr)}
.ui-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;font-size:14.5px;font-weight:600;border:1px solid var(--k);background:#fff;color:var(--k);cursor:pointer;text-align:center}
.ui-btn:hover{background:var(--cr)}
.ui-btn.pr{background:var(--gr);border-color:var(--gr);color:#fff}
.ui-btn.pr:hover{background:#0f3527}
.nt{font-size:12.5px;color:var(--k3)}
.sec{padding:64px 0 0}
.sec-h{display:flex;align-items:baseline;gap:10px 22px;margin-bottom:22px;flex-wrap:wrap}
.sec-h .lnk{margin-left:auto}
.blk{margin-top:64px}
.blk .h2{margin-bottom:6px}.blk>.nt{margin-bottom:18px}
/* 제품 카드 */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 22px}
.pgrid .im{aspect-ratio:1/1;overflow:hidden;background:var(--bd)}
.pgrid .im img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.pgrid a:hover .im img{transform:scale(1.04)}
.pgrid .n{margin-top:12px;font-size:14.5px;font-weight:600;line-height:1.4}
.pgrid .n em{display:block;font-style:normal;font-weight:400;color:var(--k2)}
.pgrid .s{font-size:12.5px;color:var(--k3);margin-top:3px}
.pgrid li[hidden]{display:none}
/* 홈 블록 */
.lines{display:grid;grid-template-columns:7fr 5fr;gap:24px;padding:72px 0 0}
.lines a{display:block}
.lines .im{height:300px;overflow:hidden;background:var(--bd)}
.lines img{width:100%;height:100%;object-fit:cover}
.lines .cap{display:flex;justify-content:space-between;align-items:baseline;gap:4px 12px;padding:14px 0 12px;border-bottom:1px solid var(--ln)}
.lines .cap b{font-size:18px;font-weight:700}
.lines .cap span{font-size:13.5px;color:var(--k2)}
.lines a:hover b{color:var(--gr)}
.tabs{display:flex;gap:4px 16px;font-size:14px}
.tabs button{background:none;border:0;padding:4px 0;color:var(--k2);cursor:pointer;border-bottom:1px solid transparent}
.tabs button[aria-selected=true]{color:var(--k);font-weight:600;border-color:var(--k)}
.finder{margin-top:34px;padding:16px 0;border-top:1px solid var(--ln);border-bottom:1px solid var(--ln);display:flex;gap:10px 22px;flex-wrap:wrap;font-size:14px;align-items:baseline}
.finder b{font-weight:600;margin-right:4px}
.finder a{color:var(--k2)}.finder a:hover{color:var(--gr);text-decoration:underline}
.finder small{color:var(--k3);margin-left:3px;font-size:12px}
.finder .fsep{width:1px;height:12px;background:var(--ln2)}
.finder .nt{width:100%}
.types{border-top:1px solid var(--k)}
.types li{display:grid;grid-template-columns:160px 230px 1fr 170px;gap:28px;align-items:center;padding:18px 0;border-bottom:1px solid var(--ln)}
.types img{width:160px;height:90px;object-fit:cover}
.types b{font-size:16.5px;display:block}
.types .te{font-size:12.5px;color:var(--k3);letter-spacing:.02em}
.types p{color:var(--k2);font-size:14px}
.types .kw{font-size:13px;color:var(--gd);text-align:right}
.strip{display:flex;gap:16px;overflow-x:auto;scrollbar-width:thin;padding-bottom:8px}
.strip figure{flex:none;width:360px}
.strip img{width:360px;height:240px;object-fit:cover}
.strip figcaption,.gal figcaption{font-size:13px;color:var(--k2);margin-top:8px}
.strip figcaption b,.gal figcaption b{color:var(--k);font-weight:600;margin-right:6px}
.strip a:hover b{color:var(--gr)}
.cc{display:grid;grid-template-columns:1fr 1fr;margin-top:72px;border-top:1px solid var(--k)}
.cc>div{padding:34px 0 40px}
.cc>div+div{border-left:1px solid var(--ln);padding-left:40px}
.cat-row{display:flex;gap:24px;margin-top:18px;align-items:flex-start}
.cat-row img{width:220px;height:124px;object-fit:cover;border:1px solid var(--ln)}
.dl{display:grid;grid-template-columns:72px 1fr;row-gap:8px;font-size:15px;margin-top:18px}
.dl dt{color:var(--k3);font-size:14px}
.dl dd a{border-bottom:1px solid var(--ln2)}
.dl dd .maps{display:flex;gap:12px;margin-top:4px;font-size:13px}
/* 하단 */
.sf{margin-top:88px;background:var(--cr);border-top:1px solid var(--ln);font-size:13.5px;color:var(--k2)}
.sf .cw{padding-top:36px;padding-bottom:36px;display:grid;grid-template-columns:240px 1fr auto;gap:30px}
.sf p{line-height:1.8}.sf p b{color:var(--k)}
.sf nav{display:flex;flex-direction:column;gap:6px;text-align:right}
.sf nav a:hover{color:var(--gr)}
.sf .cp{grid-column:1/-1;border-top:1px solid var(--ln);padding-top:16px;font-size:12px;color:var(--k3)}
/* 목록 */
.lay{display:grid;grid-template-columns:220px 1fr;gap:40px;padding-top:28px}
.lay>div{min-width:0}
.flt h3{font-size:13px;color:var(--k3);font-weight:500;margin-bottom:6px}
.flt__top{display:flex;justify-content:space-between;align-items:baseline}
.flt__top button{background:none;border:0;font-size:12.5px;color:var(--k2);text-decoration:underline;cursor:pointer;padding:0}
.flt__close{display:none}
.fg{border-top:1px solid var(--ln)}
.fg:last-of-type{border-bottom:1px solid var(--ln)}
.fg summary{list-style:none;display:flex;justify-content:space-between;padding:13px 0;font-size:14.5px;font-weight:600;cursor:pointer}
.fg summary::-webkit-details-marker{display:none}
.fg summary::after{content:"+";font-weight:400;color:var(--k3)}
.fg[open] summary::after{content:"−"}
.fg label{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--k2);padding:4px 0;cursor:pointer}
.fg label input{width:15px;height:15px;accent-color:var(--gr);margin:0}
.fg label small{margin-left:auto;color:var(--k3);font-size:12px}
.fg .last{padding-bottom:12px}
.flt .nt{margin-top:12px;line-height:1.5}
.bar{display:flex;align-items:center;gap:14px;margin-bottom:22px;font-size:14px;flex-wrap:wrap}
.bar .cnt b{font-weight:700}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{font-size:12.5px;border:1px solid var(--ln2);padding:3px 10px;color:var(--k2);background:#fff;cursor:pointer}
.chip::after{content:" ×";color:var(--k3)}
.bar .sr{margin-left:auto;display:flex;gap:8px}
.bar input,.bar select{height:44px;border:1px solid var(--ln2);padding:0 10px;background:#fff;font-size:16px;border-radius:0}
.bar input{width:210px}
.pager{display:flex;gap:4px;justify-content:center;margin-top:44px;font-size:14px;flex-wrap:wrap}
.pager button{min-width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;background:none;cursor:pointer;padding:0 8px}
.pager button[aria-current=page]{border-color:var(--k);font-weight:600}
.empty-r{padding:60px 0;text-align:center;color:var(--k2)}
.mflt{display:none}
.scrim{display:none}
/* 상세 */
.pd{display:grid;grid-template-columns:1fr 440px;gap:48px;padding-top:24px}
.pd>div{min-width:0}
.gmain{display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--bd);border:0;padding:0;cursor:zoom-in}
.gmain img{width:100%;height:100%;object-fit:cover}
.gmain.tall img{object-fit:contain}
.gmain.port{aspect-ratio:3/4}.gmain.port img{object-fit:contain}
.thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:8px}
.thumbs button{border:0;padding:0;background:var(--bd);cursor:pointer;aspect-ratio:1/1;overflow:hidden}
.thumbs img{width:100%;height:100%;object-fit:cover;opacity:.8}
.thumbs button[aria-current=true] img{opacity:1;outline:2px solid var(--k);outline-offset:-2px}
.pi h1{font-size:30px;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.pi .ko{font-size:16px;color:var(--k2);margin-top:4px}
.pi .alt{font-size:13px;color:var(--k3);margin-top:6px}
.spec{width:100%;border-collapse:collapse;margin-top:24px;font-size:14px;border-top:1px solid var(--k)}
.spec th{width:110px;text-align:left;font-weight:500;color:var(--k3);padding:11px 12px 11px 0;border-bottom:1px solid var(--ln);vertical-align:top}
.spec td{padding:11px 0;border-bottom:1px solid var(--ln)}
.spec .na{color:var(--k3)}
.spec a{border-bottom:1px solid var(--ln2)}
.pi .act{display:flex;gap:8px;margin-top:24px}
.pi .act .ui-btn{flex:1}
.pi .notes{margin-top:18px;font-size:12.5px;color:var(--k3);line-height:1.7}
.slab2{display:grid;grid-template-columns:260px 1fr;gap:22px;align-items:start}
.slab2 img{width:100%}
.slab2 .r p{margin-top:12px;font-size:14px;color:var(--k2)}
.slab1{display:grid;grid-template-columns:260px 1fr;gap:22px;align-items:end}
.slab1 p{font-size:14px;color:var(--k2)}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 18px}
.gal img{width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--bd)}
.gal button{display:block;width:100%;border:0;padding:0;background:none;cursor:zoom-in}
.lbx{position:fixed;inset:0;z-index:300;background:#111;display:flex;align-items:center;justify-content:center;padding:48px 16px}
.lbx[hidden]{display:none}
.lbx img{max-width:100%;max-height:100%;object-fit:contain}
.lbx button{position:absolute;top:10px;right:12px;background:none;border:0;color:#fff;font-size:30px;line-height:1;cursor:pointer;padding:8px 12px}
.lbx p{position:absolute;left:0;right:0;bottom:14px;text-align:center;color:#ddd;font-size:13px}
/* 프로젝트·회사·견적·카탈로그 */
.empty{margin-top:34px;background:var(--cr);padding:44px 48px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.empty b{font-size:19px;display:block;margin-bottom:8px}
.empty p{color:var(--k2);font-size:14.5px;max-width:640px}
.empty .act{display:flex;gap:8px}
.ab{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-top:34px;align-items:start}
.ab .lead{font-size:19px;line-height:1.65;font-weight:500}
.ab .lead+p{margin-top:14px;color:var(--k2)}
.info{width:100%;border-collapse:collapse;border-top:1px solid var(--k);font-size:14.5px}
.info th{width:130px;text-align:left;font-weight:500;color:var(--k3);padding:12px 12px 12px 0;border-bottom:1px solid var(--ln);vertical-align:top}
.info td{padding:12px 0;border-bottom:1px solid var(--ln)}
.ab-img img{width:100%;height:420px;object-fit:cover}
.ab-img figcaption{margin-top:8px}
.loc{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.loc .dl{margin-top:0}
.loc .act{display:flex;gap:8px;flex-wrap:wrap}
.qt{display:grid;grid-template-columns:1fr 320px;gap:56px;padding-top:30px}
.frm .row{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid var(--ln);align-items:start;margin:0;border-left:0;border-right:0;border-top:0;min-width:0}
.frm fieldset.row{padding:14px 0}
.frm .row:first-child{border-top:1px solid var(--k)}
.frm .lb{font-size:14px;font-weight:600;padding-top:9px}
.frm legend.lb{float:left;width:150px;padding:9px 20px 0 0}
.frm .lb i{color:#a3262f;font-style:normal;margin-left:2px}
.frm input[type=text],.frm input[type=tel],.frm input[type=email],.frm select,.frm textarea{width:100%;height:44px;border:1px solid var(--ln2);padding:0 12px;background:#fff;font-size:16px;border-radius:0}
.frm textarea{height:150px;padding:10px 12px;resize:vertical}
.frm .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.frm .opts{display:flex;flex-wrap:wrap;gap:8px 18px;padding-top:9px;font-size:14px}
.frm .opts label{display:flex;gap:6px;align-items:center;cursor:pointer}
.frm .opts input{accent-color:var(--gr);margin:0}
.frm .help{font-size:12.5px;color:var(--k3);margin-top:6px}
.frm .err{color:#a3262f;font-size:13px;margin-top:10px}
.frm .hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.frm .st{font-size:14px;margin-top:12px;line-height:1.6}.frm .st.ok{color:var(--gr);font-weight:600}.frm .st.bad{color:#a3262f}.frm .st a{color:inherit;text-decoration:underline}
.frm button[aria-busy=true]{opacity:.6;cursor:progress}
.agree{margin-top:18px;background:var(--cr);padding:16px 18px;font-size:13px;color:var(--k2)}
.agree label{display:flex;gap:8px;color:var(--k);font-weight:600;margin-top:8px;align-items:center;cursor:pointer}
.agree input{accent-color:var(--gr);margin:0}
.submit{margin-top:22px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.side{border-top:1px solid var(--k);padding-top:18px;font-size:14px}
.side h2{font-size:16px;margin-bottom:12px}
.side .big{font-size:24px;font-weight:700;color:var(--gr);letter-spacing:0}
.side .dl{grid-template-columns:56px 1fr;font-size:14px;margin-top:12px}
.side hr{border:0;border-top:1px solid var(--ln);margin:20px 0}
.ctab{width:100%;border-collapse:collapse;margin-top:30px;border-top:1px solid var(--k)}
.ctab td{border-bottom:1px solid var(--ln);padding:22px 0;vertical-align:top;font-size:14.5px}
.ctab .cv{width:300px}
.ctab .cv img{width:260px;border:1px solid var(--ln)}
.ctab b{font-size:18px;display:block;margin-bottom:6px}
.ctab .meta{color:var(--k2);font-size:13.5px}
.ctab .bt{width:290px;text-align:right}
.ctab .bt .ui-btn{margin:0 0 6px 6px}
.toc{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:20px}
.toc h3{font-size:16px;padding-bottom:10px;border-bottom:1px solid var(--k)}
.toc li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--ln);font-size:14px}
.toc li a{color:var(--k2);white-space:nowrap}.toc li a:hover{color:var(--gr);text-decoration:underline}
/* 홈 전용 덮어쓰기: 줌 글씨는 고딕 */
.hero h1{font-family:"Pretendard",sans-serif;font-weight:700;letter-spacing:-.03em}
.zoom__name .en,.sp .en{font-family:"Pretendard",sans-serif;font-weight:600;letter-spacing:-.02em}
.zoom__name .en{font-size:clamp(34px,4.6vw,64px);line-height:1.1}
.sp .en{font-size:20px}
.home-main{background:#fff}
@media (max-width:1100px){
 .gnav{gap:16px;font-size:14px}.brand span{display:none}
 .types li{grid-template-columns:140px 1fr 1fr;gap:18px}.types .kw{grid-column:2/-1;text-align:left}
 .types img{width:140px}
}
@media (max-width:767px){
 .pg{font-size:14.5px}
 .cw{padding:0 20px}
 .util{display:none}
 .sh__in{height:58px;gap:12px}
 .brand b{font-size:21px}.brand span{display:block;font-size:12px}.brand span em{display:none}
 .gnav,.sh .cta{display:none}
 .sh__mb{display:flex;margin-left:auto;gap:4px;align-items:center;font-size:14px}
 .sh__mb a{padding:10px 8px;font-weight:600;color:var(--gr)}
 .sh__btn{width:44px;height:44px;background:none;border:0;position:relative;cursor:pointer;padding:0}
 .sh__btn span{position:absolute;left:11px;right:11px;height:2px;background:var(--k);transition:transform .2s}
 .sh__btn span:first-child{top:17px}.sh__btn span:last-child{top:25px}
 .sh.is-open .sh__btn span:first-child{transform:translateY(4px) rotate(45deg)}
 .sh.is-open .sh__btn span:last-child{transform:translateY(-4px) rotate(-45deg)}
 .smenu{display:block;max-height:0;overflow:hidden;transition:max-height .3s;background:#fff}
 .sh.is-open .smenu{max-height:560px;border-top:1px solid var(--ln)}
 .smenu a{display:block;padding:14px 20px;font-size:16px;border-bottom:1px solid var(--ln)}
 .smenu a.q{color:var(--gr);font-weight:700}
 .mcat{display:flex;gap:18px;overflow-x:auto;white-space:nowrap;padding:0 20px;height:44px;align-items:center;border-top:1px solid var(--ln);font-size:14px;font-weight:500;scrollbar-width:none}
 .mcat::-webkit-scrollbar{display:none}
 .mcat a.on{color:var(--gr);font-weight:700}
 .pghead h1{font-size:24px}
 .lines{grid-template-columns:1fr;gap:20px;padding-top:48px}
 .lines .im{height:200px}
 .lines .cap{flex-direction:column}
 .sec{padding-top:52px}
 .sec-h .tabs{order:3;width:100%}
 .pgrid{grid-template-columns:1fr;gap:28px 0}
 .pgrid .n{font-size:14.5px}
 .types li{grid-template-columns:96px 1fr;gap:4px 14px;padding:14px 0}
 .types img{width:96px;height:96px;grid-row:span 3}
 .types .kw{grid-column:auto;text-align:left}
 .strip{gap:10px}.strip figure{width:250px}.strip img{width:250px;height:170px}
 .cc{grid-template-columns:1fr;margin-top:52px}
 .cc>div+div{border-left:0;padding-left:0;border-top:1px solid var(--ln)}
 .cat-row img{width:130px;height:74px}
 .finder{gap:8px 14px}.finder .fsep{display:none}.finder b{width:100%}
 .sf{margin-top:64px}
 .sf .cw{grid-template-columns:1fr;gap:14px}
 .sf nav{flex-direction:row;flex-wrap:wrap;gap:6px 14px;text-align:left}
 .lay{grid-template-columns:1fr;gap:0;padding-top:16px}
 .flt{position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;max-height:82vh;overflow-y:auto;padding:18px 20px 24px;transform:translateY(105%);transition:transform .3s;box-shadow:0 -6px 24px rgba(0,0,0,.15);visibility:hidden}
 .flt.is-open{transform:none;visibility:visible}
 .flt__close{display:flex;position:sticky;bottom:-24px;margin:16px -20px -24px;padding:12px 20px;background:#fff;border-top:1px solid var(--ln);gap:8px}
 .flt__close .ui-btn{flex:1}
 .scrim{display:block;position:fixed;inset:0;z-index:89;background:rgba(0,0,0,.35)}
 .scrim[hidden]{display:none}
 .mflt{display:flex;gap:8px;overflow-x:auto;margin-bottom:14px;scrollbar-width:none}
 .mflt button{flex:none;border:1px solid var(--ln2);padding:7px 12px;font-size:13.5px;background:#fff;cursor:pointer}
 .mflt button.f{background:var(--k);color:#fff;border-color:var(--k)}
 .bar{gap:10px}
 .bar .sr{margin-left:0;width:100%}
 .bar input{flex:1;width:auto;min-width:0}
 .pd{grid-template-columns:1fr;gap:26px;padding-top:14px}
 .thumbs{gap:5px}
 .pi h1{font-size:25px}
 .pi .act{flex-direction:column}.pi .act .ui-btn{flex:none;width:100%}
 .slab2,.slab1{grid-template-columns:1fr}
 .slab2>img,.slab1>img{width:60%}
 .gal{grid-template-columns:1fr;gap:18px}
 .blk{margin-top:48px}
 .empty{grid-template-columns:1fr;padding:28px 22px}
 .empty .act{flex-direction:column}
 .ab,.loc,.qt{grid-template-columns:1fr;gap:28px}
 .ab .lead{font-size:17px}
 .ab-img img{height:240px}
 .frm .row{grid-template-columns:1fr;gap:6px;padding:12px 0}
 .frm legend.lb{float:none;width:auto;padding:0 0 6px}
 .frm .lb{padding-top:0}
 .frm .two{grid-template-columns:1fr}
 .ctab,.ctab tbody,.ctab tr,.ctab td{display:block;width:100%!important}
 .ctab td{border:0;padding:8px 0;text-align:left!important}
 .ctab tr{border-bottom:1px solid var(--ln);padding:16px 0}
 .ctab .cv img{width:100%}
 .ctab .bt .ui-btn{margin:0 6px 6px 0}
 .toc{grid-template-columns:1fr;gap:28px}
 .zoom__name .en{font-size:30px}
}
.hd.is-open .mnav{max-height:600px}

/* 모바일 메뉴: 열면 화면 전체를 불투명하게 덮음(아래 페이지·가로 메뉴가 비치지 않게). 열린 동안 스크롤은 site.js가 잠금 */
@media (max-width:767px){
 .sh.is-open{z-index:200}
 .sh.is-open .sh__in{position:fixed;top:0;left:0;right:0;z-index:2;background:#fff;border-bottom:1px solid var(--ln)}
 .sh.is-open .smenu{position:fixed;left:0;right:0;top:58px;bottom:0;height:calc(100vh - 58px);height:calc(100dvh - 58px);max-height:none;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;z-index:1;background:#fff;transition:none}
 .hd.is-open{z-index:200}
 .hd.is-open .mnav{height:calc(100vh - 60px);height:calc(100dvh - 60px);max-height:none;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#fff}
}

/* '슬랩' 묶음 메뉴: PC 드롭다운 · 모바일 아코디언 (기존 글꼴·색, 작은 화살표만) */
.dd{position:relative;display:flex;align-items:center}
.dd__btn{display:flex;align-items:center;gap:6px;background:none;border:0;padding:24px 0;margin:0;font:inherit;color:inherit;cursor:pointer;border-bottom:2px solid transparent}
.gnav .dd__btn:hover{color:var(--gr)}
.gnav .dd__btn.on{border-color:var(--gr);color:var(--gr)}
.arw{display:block;flex:none;transition:transform .2s}
.dd.is-open .arw,.acc__btn[aria-expanded=true] .arw{transform:rotate(180deg)}
.dd__menu{position:absolute;top:100%;left:-16px;min-width:170px;background:#fff;border:1px solid var(--ln);padding:6px 0;z-index:30;color:var(--k);text-align:left}
.dd__menu::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.dd__menu[hidden]{display:none}
.pg .dd__menu a,.gnb .dd__menu a{display:block;padding:10px 16px;border:0;font-size:14.5px;font-weight:500;color:var(--k);opacity:1;white-space:nowrap;text-decoration:none}
.pg .dd__menu a:hover{background:var(--cr);color:var(--gr)}
.pg .dd__menu a.on{color:var(--gr);font-weight:700}
.gnb .dd__btn{padding:0;font-size:15px;font-weight:500;opacity:.92}
.gnb .dd__btn:hover,.gnb .dd.is-open .dd__btn{opacity:1}
.gnb .dd__menu{top:calc(100% + 16px)}
.acc__btn{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 20px;margin:0;font:inherit;font-size:16px;background:none;border:0;border-bottom:1px solid var(--ln);text-align:left;color:inherit;cursor:pointer}
.mnav .acc__btn{padding:15px var(--pad);border-bottom:1px solid var(--line)}
.acc__panel[hidden]{display:none}
.pg .acc__panel a{padding-left:36px;font-size:15px;color:var(--k2)}
.mnav .acc__panel a{padding-left:calc(var(--pad) + 16px)}
.pg .acc__panel a.on{color:var(--gr);font-weight:700}
.mnav .acc__panel a:last-child{color:var(--k2);font-weight:400;border-bottom:1px solid var(--line)}
@media (min-width:768px){.acc__btn,.acc__panel{display:none}}

/* 홈 모바일 메뉴를 하위 페이지 메뉴와 똑같이(열린 상태만): 머리 'BDL | 바라디엠에스' + 전화 + ×, 항목 글자·줄 간격·색 동일, 견적요청은 사이트 기본 초록(--gr).
   닫힌 홈 머리(히어로 위 투명)는 그대로 */
.hd .brand,.hd .hd__tel{display:none}
@media (max-width:767px){
 .hd.is-open{background:#fff;color:var(--k);border-bottom:0}
 .hd.is-open .hd__in{height:58px;gap:4px;padding:0 20px;background:#fff;border-bottom:1px solid var(--ln)}
 .hd.is-open .logo{display:none}
 .hd.is-open .brand{display:flex}
 .hd.is-open .hd__tel{display:block;margin-left:auto;padding:10px 8px;font-size:14px;font-weight:600;color:var(--gr)}
 .hd.is-open .hd__menu{margin-left:0;width:44px;height:44px;color:var(--k)}
 .hd.is-open .hd__menu span{left:11px;right:11px;height:2px;background:var(--k)}
 .hd.is-open .hd__menu span:first-child{top:17px;transform:translateY(4px) rotate(45deg)}
 .hd.is-open .hd__menu span:last-child{top:25px;transform:translateY(-4px) rotate(-45deg)}
 .hd.is-open .mnav{height:calc(100vh - 58px);height:calc(100dvh - 58px);border-top:1px solid var(--ln);color:var(--k)}
 .mnav a,.mnav a:last-child{display:block;padding:14px 20px;font-size:16px;font-weight:400;color:var(--k);border-bottom:1px solid var(--ln)}
 .mnav a.q{color:var(--gr);font-weight:700}
 .mnav .acc__btn{padding:14px 20px;border-bottom:1px solid var(--ln)}
 .mnav .acc__panel a,.mnav .acc__panel a:last-child{padding-left:36px;font-size:15px;color:var(--k2);font-weight:400}
 .mnav .acc__panel a.on{color:var(--gr);font-weight:700}
 /* 아이폰 홈 막대(safe-area)에 마지막 항목이 가리지 않게 */
 .sh.is-open .smenu,.hd.is-open .mnav{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}
}

/* 홈 '대표 제품'(큰 사진 2장 + 한 줄 6장) · '색으로 찾기'(원형 사진 8개) — 디자인 시안 ui-up-1111 구간만 반영 */
.home .sec2{padding-top:140px}
.home .hh{display:flex;align-items:baseline;gap:12px 28px;flex-wrap:wrap;margin-bottom:40px}
.home .hh h2{font-size:clamp(28px,2.9vw,40px);font-weight:600;letter-spacing:-.03em;line-height:1.25;color:var(--k)}
.home .hn{font-size:14px;color:var(--k3)}
.home .mr{margin-left:auto;font-size:15px;font-weight:500;color:var(--k);padding-bottom:3px;border-bottom:1px solid var(--k)}
.home .mr::after{content:" →"}
.home .mr:hover{color:var(--gr);border-color:var(--gr)}
.home .fe{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.home .fe--b{margin-top:160px}
.home .fe a,.home .rw a{display:block;color:var(--k)}
.home .fe__im{display:block;overflow:hidden;background:#ecebe8;aspect-ratio:4/5}
.home .fe__im img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.home a:hover .fe__im img{transform:scale(1.04)}
.home .fe__nm{display:flex;flex-direction:column;margin-top:18px}
.home .fe__nm b{font-size:24px;font-weight:600;letter-spacing:-.02em;line-height:1.3}
.home .fe__nm span{font-size:15px;color:var(--k2);margin-top:2px}
.home .rw{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;margin-top:88px}
.home .rw .fe__im{aspect-ratio:3/4}
.home .rw .fe__nm{margin-top:14px}
.home .rw .fe__nm b{font-size:18px}
.home .rw .fe__nm span{font-size:14px}
.home .sw{display:grid;grid-template-columns:repeat(8,1fr);gap:20px}
.home .sw a{display:block;color:var(--k)}
.home .sw__im{display:block;aspect-ratio:1/1;overflow:hidden;border-radius:50%;background:#ecebe8;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.home .sw__im img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.home .sw a:hover img{transform:scale(1.08)}
.home .sw__t{display:block;text-align:center;margin-top:14px;font-size:15px;font-weight:500;line-height:1.4}
.home .sw__t small{display:block;font-size:13.5px;color:var(--k3);font-weight:400}
.home .pt{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:48px;padding-top:24px;border-top:1px solid var(--ln);font-size:15px;color:var(--k2)}
.home .pt b{color:var(--k);font-weight:600;margin-right:6px}
.home .pt a:hover{color:var(--gr);text-decoration:underline;text-underline-offset:4px}
@media (max-width:1100px){.home .rw{grid-template-columns:repeat(3,1fr)}.home .sw{grid-template-columns:repeat(4,1fr)}}
@media (max-width:767px){
 .home .sec2{padding-top:96px}
 .home .hh{margin-bottom:28px}
 .home .hh h2{font-size:28px}
 .home .fe{grid-template-columns:1fr;gap:44px}
 .home .fe--b{margin-top:0;width:auto;margin-left:0}
 .home .fe__nm b{font-size:21px}
 .home .rw{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:64px -20px 0;padding:0 20px 6px;scroll-padding:0 20px;scrollbar-width:none}
 .home .rw::-webkit-scrollbar{display:none}
 .home .rw li{flex:0 0 100%;scroll-snap-align:start}
 .home .sw{grid-template-columns:repeat(4,1fr);gap:22px 12px}
 .home .sw__t{font-size:14px;margin-top:10px;line-height:1.35}
 .home .sw__t small{font-size:13px}
 .home .pt{gap:8px 18px}
 .home .pt b{width:100%}
}

/* '동작 줄이기'(prefers-reduced-motion)에서 히어로 사진이 위쪽 띠로만 나오던 문제: .pg img{height:auto} 가 줌 사진 높이를 덮어썼음 */
.pg .zoom__cam img:not(.zoom__hd){height:100%}
.rm .hero .zoom__name{display:none}

/* 2026-11-11 모바일 줌 사진 아래 검은 띠: 아이폰 주소창이 접히면 화면이 100svh 보다 커져 무대(100svh) 아래 #111 바탕이 보였음.
   무대를 큰 화면 높이(100lvh)로 두고, 아래쪽 글자는 주소창이 펴져 있을 때도 보이도록 그 차이만큼 올림 */
@supports (height:100lvh){@media (max-width:767px){
 .zoom__stage{height:100lvh}
 .hero__txt{bottom:calc(76px + 100lvh - 100svh)}
 .zoom__name{bottom:calc(64px + 100lvh - 100svh)}
 .rm .zoom__name{bottom:calc(28px + 100lvh - 100svh)}
 .hero__hint{bottom:calc(28px + 100lvh - 100svh)}
}}
/* 2026-11-11 모바일 화질: 대표 제품 큰 두 장은 모바일에서 4:3 칸(4:5 로 자르면 1600px 원본을 3배 화면에서 늘려야 했음) */
@media (max-width:767px){.home .fe__im,.home .fe--a .fe__im,.home .fe--b .fe__im{aspect-ratio:4/3}}
/* 2026-11-11 모바일 DPR3 화질: cover 로 잘라 원본 화소가 모자란 칸은 자르지 않고 사진 비율 그대로(축소만) */
.pgrid .im picture{display:contents}
@media (max-width:767px){
 .gal img{aspect-ratio:auto;height:auto;object-fit:contain}
 .ab-img img{height:auto}
 .ctab .cv img{max-width:min(100%,333px)}
 .gmain img[style*="--mw"]{max-width:var(--mw);margin:0 auto}
}
@media (max-width:767px){.home .rw .fe__im{aspect-ratio:5/6}} /* 가장 작은 원본(1644×818)도 보이는 영역이 화면×3 이상 */


/* layout2-1111: 태블릿 열, 가독성, 단순 배치. 줌 동작은 유지 */
.home .fe--b{margin-top:0}
.gal{grid-template-columns:1fr 1fr}
.gal figure:first-child{grid-column:1/-1}
.util,.mcat,.sh .cta{display:none}
.sf{background:#fff;font-size:14px;color:var(--k)}
.sf .cw{display:block;padding-top:28px;padding-bottom:28px}
.sf .brand{margin-bottom:10px}
.sf__info{line-height:1.8;font-size:14px;color:var(--k)}
.sf .cp{border-top:1px solid var(--ln);padding-top:14px;margin-top:16px;font-size:14px;color:var(--k2);grid-column:auto}
.crumb a{padding:12px 4px;margin:-12px -4px;display:inline-block}
.sh__mb a,.sh__btn,.hd__menu,.hd__tel{min-width:44px;min-height:44px}
.frm .opts label,.agree label{min-height:44px;display:flex;align-items:center}
.cc--band{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:72px;padding:28px 0;border-top:1px solid var(--k)}
.cc--band .cc__tel{margin:0;font-size:28px;font-weight:700;letter-spacing:-.02em}
.cc--band .cc__tel a{color:var(--gr)}
.cc--band .cc__btns{display:flex;gap:8px;flex-wrap:wrap}
.ab-hero{margin:18px 0 0}
.ab-hero img{width:100%;height:auto;display:block}
.ab-lead{font-size:19px;line-height:1.65;font-weight:500;margin:22px 0 0;max-width:40em}
.cat-one{display:grid;grid-template-columns:320px 1fr;gap:28px;align-items:center;margin-top:28px}
.cat-one img{width:100%;height:auto;border:1px solid var(--ln)}
.cat-one b{display:block;font-size:20px;margin-bottom:8px}
.cat-links{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin-top:16px}
@media (max-width:1199px){
  .cw{padding:0 28px}
  .pgrid{grid-template-columns:repeat(3,1fr);gap:28px 16px}
  .pd{grid-template-columns:1fr;gap:28px}
  .gal{grid-template-columns:1fr 1fr}
}
@media (max-width:1023px){
  .pgrid{grid-template-columns:repeat(2,1fr);gap:24px 14px}
  .lay{grid-template-columns:1fr;gap:0;padding-top:16px}
  .flt{position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;max-height:82vh;overflow-y:auto;padding:18px 20px 24px;transform:translateY(105%);transition:transform .3s;box-shadow:none;visibility:hidden}
  .flt.is-open{transform:none;visibility:visible}
  .flt__close{display:flex;position:sticky;bottom:-24px;margin:16px -20px -24px;padding:12px 20px;background:#fff;border-top:1px solid var(--ln);gap:8px}
  .flt__close .ui-btn{flex:1}
  .scrim{display:block;position:fixed;inset:0;z-index:89;background:rgba(0,0,0,.35)}
  .scrim[hidden]{display:none}
  .mflt{display:flex;gap:8px;overflow-x:auto;margin-bottom:14px;scrollbar-width:none}
  .mflt button{flex:none;border:1px solid var(--ln2);padding:10px 14px;font-size:14px;background:#fff;cursor:pointer;min-height:44px}
  .mflt button.f{background:var(--k);color:#fff;border-color:var(--k)}
  .bar .sr{margin-left:0;width:100%}
  .bar input{flex:1;width:auto;min-width:0}
  .qt,.ab,.loc{grid-template-columns:1fr;gap:28px}
  .frm .row{grid-template-columns:1fr;gap:6px}
  .frm legend.lb{float:none;width:auto;padding:0 0 6px}
  .frm .lb{padding-top:0}
  .ctab,.ctab tbody,.ctab tr,.ctab td{display:block;width:100%!important}
  .ctab td{border:0;padding:8px 0;text-align:left!important}
  .cat-one{grid-template-columns:1fr}
  .cc--band{margin-top:48px;padding:22px 0}
  .cc--band .cc__tel{font-size:24px}
  .gnav{gap:14px;font-size:14px}
}
@media (max-width:767px){
  .pgrid{grid-template-columns:1fr;gap:28px 0}
  .gal{grid-template-columns:1fr}
  .gal figure:first-child{grid-column:auto}
  .cc--band{flex-direction:column;align-items:flex-start}
  .cat-one{grid-template-columns:1fr}
  .sf .cw{grid-template-columns:1fr}
}
