@charset "utf-8";
/* ═══════════════════════════════════════════════
   43 MATERIA 마테리아 — 건축자재 쇼룸·매거진형 셀렉트샵
   컨셉: 에디토리얼 매거진 / 풀폭 시공사례 스크롤 / 큰 여백 / serif 헤드라인
        (17~24 그리드 쇼핑몰과 완전히 다른 구도 — 콘텐츠·스토리 중심 커머스)
   톤: 웜 페이퍼 + 잉크 + 테라코타 클레이 + 세이지
   ═══════════════════════════════════════════════ */
:root{
  --paper:#f4f0e8;
  --paper-2:#ece6da;
  --ink:#211f1b;
  --ink-2:#6f6a60;
  --line:#ddd5c7;
  --clay:#a85c3c;
  --clay-deep:#8a4a2f;
  --sage:#6c7360;
  --white:#fbf9f5;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font-family:inherit;cursor:pointer;border:0;background:none}
input,select,textarea{font-family:inherit}
.serif{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.wrap-n{max-width:900px;margin:0 auto;padding:0 32px}

html.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s ease}
html.js .reveal.on{opacity:1;transform:none}

/* ── 헤더: 미니멀 에디토리얼 ── */
.hd{position:absolute;top:0;left:0;right:0;z-index:50;padding:26px 0}
.hd.solid{position:sticky;background:var(--paper);border-bottom:1px solid var(--line)}
.hd-in{max-width:1240px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between}
.logo{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:30px;font-weight:700;letter-spacing:.16em;line-height:1}
.logo small{display:block;font-family:'Pretendard Variable',sans-serif;font-size:9.5px;font-weight:600;letter-spacing:.42em;margin-top:5px;opacity:.65}
.gnb{display:flex;gap:32px;align-items:center}
.gnb a{font-size:13.5px;font-weight:600;letter-spacing:.02em;position:relative;padding:4px 0}
.gnb a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;transition:right .3s}
.gnb a:hover::after,.gnb a.active::after{right:0}
.hd-r{display:flex;gap:20px;align-items:center}
.hd-r .ic{font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;gap:5px}
.hd-r .ic .n{background:var(--clay);color:#fff;font-size:10px;font-weight:800;border-radius:50%;width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center}
.m-burger{display:none;font-size:21px}
/* 라이트 헤더(히어로 위 흰 글씨) */
.hd.on-hero .logo,.hd.on-hero .gnb a,.hd.on-hero .hd-r .ic,.hd.on-hero .m-burger{color:var(--white)}

#mNav{position:fixed;inset:0 0 0 auto;width:min(82vw,340px);background:var(--paper);z-index:300;padding:70px 34px 34px;transform:translateX(100%);transition:transform .4s cubic-bezier(.7,0,.2,1);box-shadow:-20px 0 60px rgba(33,31,27,.16)}
#mNav.open{transform:none}
#mNav a{display:block;padding:15px 2px;font-size:18px;font-weight:600;border-bottom:1px solid var(--line)}
#mNav .serif{font-size:21px;letter-spacing:.04em}
#mNav .m-close{position:absolute;top:20px;right:22px;font-size:26px;color:var(--ink-2)}

/* ── 풀스크린 히어로 ── */
.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden}
.hero .hero-swiper{position:absolute;inset:0;width:100%;height:100%}
.hero .hero-swiper .swiper-slide{position:relative;display:flex;align-items:flex-end;overflow:hidden}
.hero .hero-swiper:not(.swiper-initialized) .swiper-slide:not(:first-child){display:none}
.hero .hero-swiper .swiper-pagination{bottom:36px !important;left:0;right:0;width:auto;text-align:center;z-index:6}
.hero .hero-swiper .swiper-pagination-bullet{background:#fff;opacity:.45;width:8px;height:8px;margin:0 6px !important;transition:.3s}
.hero .hero-swiper .swiper-pagination-bullet-active{opacity:1;width:26px;border-radius:5px}
.hero .bg{position:absolute;inset:0}
.hero .bg img{width:100%;height:100%;object-fit:cover}
.hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,18,15,.35) 0%,rgba(20,18,15,.05) 40%,rgba(20,18,15,.62) 100%)}
.hero .inner{position:relative;color:var(--white);padding:0 0 80px;width:100%}
.hero .ey{font-size:12.5px;font-weight:700;letter-spacing:.4em;text-transform:uppercase;opacity:.9}
.hero h1{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:clamp(44px,7vw,104px);font-weight:600;line-height:1.02;letter-spacing:-.01em;margin:18px 0 0}
.hero .sub{max-width:540px;margin-top:22px;font-size:16px;line-height:1.8;opacity:.92}
.hero .cta{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:13.5px;font-weight:700;letter-spacing:.02em;padding:15px 30px;border-radius:0;transition:.25s}
.btn-fill{background:var(--white);color:var(--ink)}
.btn-fill:hover{background:var(--clay);color:#fff}
.btn-line{border:1.5px solid rgba(255,255,255,.7);color:#fff}
.btn-line:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn-clay{background:var(--clay);color:#fff}
.btn-clay:hover{background:var(--clay-deep)}
.btn-ink{background:var(--ink);color:var(--white)}
.btn-ink:hover{background:#000}
.btn-dline{border:1.5px solid var(--ink);color:var(--ink)}
.btn-dline:hover{background:var(--ink);color:var(--white)}
.hero .scroll-h{position:absolute;right:32px;bottom:36px;color:var(--white);font-size:11px;font-weight:700;letter-spacing:.3em;writing-mode:vertical-rl;opacity:.85}

/* ── 섹션 공통 ── */
.sec{padding:104px 0}
.sec-sm{padding:72px 0}
.sec-lab{font-size:12px;font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:var(--clay)}
.sec-h{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:clamp(32px,4.4vw,56px);font-weight:600;line-height:1.1;letter-spacing:-.01em;margin-top:14px}
.sec-h.c{text-align:center}
.sec-intro{max-width:600px;margin:18px auto 0;text-align:center;color:var(--ink-2);font-size:15.5px;line-height:1.9}

/* ── 인트로 매니페스토 ── */
.manifesto{text-align:center}
.manifesto .big{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:clamp(26px,3.4vw,42px);font-weight:500;line-height:1.4;letter-spacing:-.005em;max-width:880px;margin:0 auto}
.manifesto .big em{font-style:normal;color:var(--clay)}
.manifesto .sign{margin-top:30px;font-size:13px;letter-spacing:.22em;color:var(--ink-2);text-transform:uppercase}

/* ── 자재 카테고리 (4 대형 카드) ── */
.materials{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.mat{position:relative;aspect-ratio:3/4;overflow:hidden;display:block}
.mat img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.mat:hover img{transform:scale(1.06)}
.mat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(20,18,15,.66))}
.mat .cap{position:absolute;left:24px;right:24px;bottom:24px;z-index:2;color:var(--white)}
.mat .cap .no{font-size:11px;font-weight:700;letter-spacing:.2em;opacity:.85}
.mat .cap h3{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:27px;font-weight:600;margin-top:5px;line-height:1.1}
.mat .cap p{font-size:12.5px;opacity:.9;margin-top:4px}

/* ── 시공사례: 풀폭 교차 레이아웃 ── */
.project{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0}
.project + .project{margin-top:6px}
.project .ph{position:relative;aspect-ratio:4/3;overflow:hidden}
.project .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.project:hover .ph img{transform:scale(1.05)}
.project .tx{padding:56px 64px}
.project.flip .ph{order:2}
.project .pj-lab{font-size:11.5px;font-weight:700;letter-spacing:.28em;color:var(--clay);text-transform:uppercase}
.project h3{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:clamp(28px,3.2vw,40px);font-weight:600;line-height:1.12;margin:14px 0 0}
.project .loc{font-size:13px;color:var(--ink-2);margin-top:8px;letter-spacing:.04em}
.project p{margin-top:18px;color:var(--ink-2);font-size:15px;line-height:1.9;max-width:440px}
.project .tags{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px}
.project .tags span{font-size:11.5px;font-weight:600;border:1px solid var(--line);border-radius:999px;padding:6px 14px;color:var(--ink-2)}
.project .lk{margin-top:26px;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.04em;border-bottom:1.5px solid var(--ink);padding-bottom:4px}

/* ── 에디터 픽 (제품 큐레이션) ── */
.picks{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 28px}
.pick{display:block}
.pick .ph{aspect-ratio:1/1;overflow:hidden;background:var(--paper-2)}
.pick .ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.pick:hover .ph img{transform:scale(1.05)}
.pick .meta{padding:18px 2px 0}
.pick .ed{font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--clay);text-transform:uppercase}
.pick h3{font-size:17px;font-weight:700;margin-top:7px;line-height:1.4}
.pick .desc{font-size:13.5px;color:var(--ink-2);margin-top:5px;line-height:1.7}
.pick .pr{margin-top:11px;font-size:15px;font-weight:800;font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;letter-spacing:.02em}
.pick .pr .unit{font-family:'Pretendard Variable',sans-serif;font-size:12px;font-weight:600;color:var(--ink-2);margin-left:5px}

/* ── 공간별 무드(작은 갤러리) ── */
.rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.room{position:relative;aspect-ratio:1/1;overflow:hidden;display:block}
.room img{width:100%;height:100%;object-fit:cover;transition:transform .9s}
.room:hover img{transform:scale(1.05)}
.room .lb{position:absolute;left:20px;bottom:18px;z-index:2;color:#fff;font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:24px;font-weight:600}
.room::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(20,18,15,.5))}

/* ── 풀폭 띠 배너 (견적·쇼룸) ── */
.cta-band{position:relative;padding:120px 0;text-align:center;color:var(--white);overflow:hidden}
.cta-band .bg{position:absolute;inset:0}
.cta-band .bg img{width:100%;height:100%;object-fit:cover}
.cta-band .bg::after{content:"";position:absolute;inset:0;background:rgba(20,18,15,.56)}
.cta-band .inner{position:relative}
.cta-band h2{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:clamp(30px,4.4vw,56px);font-weight:600;line-height:1.12}
.cta-band p{max-width:520px;margin:18px auto 0;font-size:15.5px;opacity:.9;line-height:1.85}
.cta-band .cta{margin-top:30px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ── 저널(아티클) ── */
.journal{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.jn{display:block}
.jn .ph{aspect-ratio:3/2;overflow:hidden;background:var(--paper-2)}
.jn .ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s}
.jn:hover .ph img{transform:scale(1.05)}
.jn .cat{margin-top:16px;font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--clay);text-transform:uppercase}
.jn h3{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:23px;font-weight:600;margin-top:8px;line-height:1.25}
.jn .date{font-size:12.5px;color:var(--ink-2);margin-top:7px}

/* ── 푸터 ── */
.footer{background:var(--ink);color:#b6ad9e;padding:80px 0 38px}
.ft-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:46px;border-bottom:1px solid rgba(255,255,255,.12)}
.ft-top .lg{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:30px;font-weight:700;letter-spacing:.16em;color:#fff}
.ft-top p{margin-top:16px;font-size:13px;line-height:1.85;color:#8f877a}
.ft-top h4{color:#fff;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:15px}
.ft-top li{margin-bottom:10px;font-size:13.5px}
.ft-top li a:hover{color:#fff}
.ft-top .tel{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:25px;color:#fff;font-weight:600}
.ft-bot{padding-top:26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;color:#79715f}

/* ── 서브 히어로(내부 페이지) ── */
.sub-hero{padding:160px 0 64px;border-bottom:1px solid var(--line);text-align:center}
.sub-hero .crumb{font-size:12px;letter-spacing:.16em;color:var(--ink-2);text-transform:uppercase}
.sub-hero h1{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:clamp(38px,5.5vw,68px);font-weight:600;line-height:1.05;margin-top:14px}
.sub-hero p{max-width:560px;margin:18px auto 0;color:var(--ink-2);font-size:15.5px;line-height:1.85}

/* ── COLLECTION (제품 목록 — 에디토리얼 그리드) ── */
.coll{padding:64px 0 100px}
.coll-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:48px}
.coll-bar .fil{display:flex;gap:8px;flex-wrap:wrap}
.coll-bar .fil button{font-size:13px;font-weight:600;letter-spacing:.02em;padding:9px 18px;border:1px solid var(--line);border-radius:999px;color:var(--ink-2);background:transparent}
.coll-bar .fil button.on,.coll-bar .fil button:hover{background:var(--ink);color:var(--white);border-color:var(--ink)}
.coll-bar select{border:1px solid var(--line);border-radius:0;padding:10px 16px;font-size:13px;background:var(--white)}
.coll-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 30px}
.paging{display:flex;justify-content:center;gap:8px;margin-top:64px}
.paging a{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);font-size:14px;font-weight:600;color:var(--ink-2)}
.paging a.on,.paging a:hover{background:var(--ink);color:var(--white);border-color:var(--ink)}

/* ── VIEW (상품 상세 — 매거진) ── */
.pview{padding:150px 0 100px}
.pv-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:start}
.pv-photo{position:relative;overflow:hidden}
.pv-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.pv .crumb{font-size:12px;letter-spacing:.14em;color:var(--ink-2);text-transform:uppercase}
.pv .ed{font-size:11.5px;font-weight:700;letter-spacing:.18em;color:var(--clay);text-transform:uppercase;margin-top:18px}
.pv h1{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:clamp(32px,3.6vw,46px);font-weight:600;line-height:1.08;margin-top:10px}
.pv .lead{margin-top:18px;color:var(--ink-2);font-size:15.5px;line-height:1.9}
.pv-price{margin:26px 0;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pv-price .now{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:34px;font-weight:600}
.pv-price .unit{font-size:13.5px;color:var(--ink-2);margin-left:8px}
.pv-price .sub{margin-top:6px;font-size:13px;color:var(--ink-2)}
.pv-opt .lb{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin:22px 0 11px}
.pv-opt .opts{display:flex;gap:9px;flex-wrap:wrap}
.pv-opt .opts button{border:1px solid var(--line);padding:12px 18px;font-size:13.5px;font-weight:600;background:var(--white);min-width:64px}
.pv-opt .opts button b{display:block;font-size:14px}
.pv-opt .opts button span{display:block;font-size:11px;color:var(--ink-2);margin-top:2px}
.pv-opt .opts button.on{border-color:var(--ink);background:var(--ink);color:var(--white)}
.pv-qty{display:flex;align-items:center;gap:16px;margin-top:24px}
.pv-qty .lb2{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.qty{display:flex;border:1px solid var(--line)}
.qty button{width:42px;height:46px;font-size:18px;color:var(--ink-2);background:var(--white)}
.qty input{width:54px;text-align:center;border:0;outline:0;font-size:15px;font-weight:700;background:var(--white)}
.pv-sum{display:flex;justify-content:space-between;align-items:baseline;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.pv-sum .l{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.pv-sum .v{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:30px;font-weight:600}
.pv-cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.pv-cta .btn{width:100%}
.pv-note{margin-top:16px;font-size:12.5px;color:var(--ink-2);line-height:1.7}
.pv-tabs{margin-top:80px;border-top:1px solid var(--line)}
.pv-tabs .heads{display:flex;gap:38px;border-bottom:1px solid var(--line)}
.pv-tabs .heads button{padding:22px 0;font-size:13.5px;font-weight:700;letter-spacing:.06em;color:var(--ink-2);border-bottom:2px solid transparent;margin-bottom:-1px}
.pv-tabs .heads button.on{color:var(--ink);border-bottom-color:var(--clay)}
.pv-tabs .pane{display:none;padding:40px 0;max-width:760px}
.pv-tabs .pane.on{display:block}
.pv-tabs .pane p{color:var(--ink-2);font-size:15px;line-height:1.95}
.pv-tabs .spec{width:100%;border-collapse:collapse;font-size:14px;margin-top:8px}
.pv-tabs .spec th,.pv-tabs .spec td{padding:14px 6px;border-bottom:1px solid var(--line);text-align:left}
.pv-tabs .spec th{width:180px;font-weight:700;color:var(--ink)}
.pv-tabs .spec td{color:var(--ink-2)}
.rv{padding:22px 0;border-bottom:1px solid var(--line)}
.rv .st{color:var(--clay);font-size:13px;letter-spacing:2px}
.rv p{margin-top:7px;font-size:14.5px}
.rv .who{margin-top:7px;font-size:12.5px;color:var(--ink-2)}

/* ── CART ── */
.cart{padding:150px 0 100px}
.cart-grid{display:grid;grid-template-columns:1fr 360px;gap:44px;align-items:start}
.ct-list{border-top:1px solid var(--ink)}
.ct-row{display:grid;grid-template-columns:96px 1fr 130px 150px 40px;gap:18px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}
.ct-row .th{width:96px;height:96px;object-fit:cover;background:var(--paper-2)}
.ct-row .nm{font-size:15px;font-weight:700}
.ct-row .op{font-size:12.5px;color:var(--ink-2);margin-top:3px}
.ct-row .up{font-size:13.5px;color:var(--ink-2)}
.ct-row .ls{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:19px;font-weight:600}
.ct-row .rm{font-size:18px;color:var(--ink-2)}
.ct-row .qty{transform:scale(.92);transform-origin:left}
.ct-side{border:1px solid var(--ink);padding:30px;position:sticky;top:120px}
.ct-side h3{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:24px;font-weight:600;margin-bottom:18px}
.ct-side .row{display:flex;justify-content:space-between;font-size:14px;color:var(--ink-2);padding:8px 0}
.ct-side .row b{color:var(--ink);font-weight:700}
.ct-side .tot{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);margin-top:10px;padding-top:16px}
.ct-side .tot .l{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ct-side .tot .v{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:30px;font-weight:600;color:var(--clay)}
.ct-side .btn{width:100%;margin-top:20px}
.ct-side .note{margin-top:14px;font-size:12px;color:var(--ink-2);text-align:center;line-height:1.7}

/* ── ABOUT ── */
.about-body{padding:30px 0 60px}
.ab-lead{max-width:760px;margin:0 auto 70px;text-align:center}
.ab-lead p{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:clamp(22px,2.8vw,32px);font-weight:500;line-height:1.5}
.ab-vals{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.ab-v .no{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:38px;font-weight:600;color:var(--clay)}
.ab-v h3{font-size:17px;font-weight:700;margin:10px 0 9px}
.ab-v p{font-size:14px;color:var(--ink-2);line-height:1.85}

/* ── JOURNAL 목록 ── */
.jn-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:0;border:1px solid var(--line);background:var(--white);margin-bottom:64px}
.jn-feature .ph{overflow:hidden;background:var(--paper-2)}
.jn-feature .ph img{width:100%;height:100%;object-fit:cover;min-height:340px;transition:transform 1s}
.jn-feature:hover .ph img{transform:scale(1.04)}
.jn-feature .tx{padding:48px 52px;display:flex;flex-direction:column;justify-content:center}
.jn-feature .cat{font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--clay);text-transform:uppercase}
.jn-feature h2{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:clamp(28px,3.2vw,40px);font-weight:600;line-height:1.2;margin:16px 0 14px}
.jn-feature p{color:var(--ink-2);font-size:15px;line-height:1.85;max-width:440px}
.jn-feature .date{font-size:12.5px;color:var(--ink-2);margin-top:20px}
.jn-feature .lk{margin-top:24px;font-size:13px;font-weight:700;border-bottom:1.5px solid var(--ink);padding-bottom:4px;align-self:flex-start}
.jn-bar{margin-bottom:44px}

/* ── ARTICLE(저널 상세) ── */
.article{padding:140px 0 0}
.art-head{max-width:780px;margin:0 auto;text-align:center;padding:0 32px}
.art-head .crumb{font-size:12px;letter-spacing:.16em;color:var(--ink-2);text-transform:uppercase}
.art-head .cat{display:inline-block;margin-top:18px;font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--clay);text-transform:uppercase}
.art-head h1{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:clamp(32px,4.6vw,58px);font-weight:600;line-height:1.12;margin:16px 0 0}
.art-head .meta{margin-top:22px;font-size:13px;color:var(--ink-2);letter-spacing:.02em}
.art-hero{margin:54px 0 0;aspect-ratio:21/9;overflow:hidden;background:var(--paper-2)}
.art-hero img{width:100%;height:100%;object-fit:cover}
.art-body{max-width:720px;margin:0 auto;padding:64px 32px 40px}
.art-body p{font-size:17px;line-height:1.95;color:#34312b;margin-bottom:26px}
.art-body h3{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:26px;font-weight:600;margin:44px 0 16px;line-height:1.3}
.art-body .lead{font-size:20px;line-height:1.8;color:var(--ink)}
.art-body figure{margin:40px 0}
.art-body figure img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--paper-2)}
.art-body figcaption{margin-top:12px;font-size:12.5px;color:var(--ink-2);text-align:center;letter-spacing:.02em}
.art-quote{border-left:3px solid var(--clay);padding:6px 0 6px 28px;margin:40px 0;font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:23px;line-height:1.55;font-weight:600;color:var(--ink)}
.art-tags{display:flex;flex-wrap:wrap;gap:8px;max-width:720px;margin:8px auto 0;padding:0 32px}
.art-tags span{font-size:12px;font-weight:600;color:var(--ink-2);border:1px solid var(--line);padding:7px 14px}
.art-share{max-width:720px;margin:36px auto 0;padding:28px 32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.art-share .by{display:flex;align-items:center;gap:13px}
.art-share .by .av{width:46px;height:46px;border-radius:50%;background:var(--clay);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex:none}
.art-share .by .nm{font-size:14px;font-weight:700}
.art-share .by .ro{font-size:12px;color:var(--ink-2)}

/* ── SHOWROOM ── */
.shw-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:0;border:1px solid var(--line);background:var(--white);margin-top:8px}
.shw-grid .ph{overflow:hidden;background:var(--paper-2);min-height:420px}
.shw-grid .ph img{width:100%;height:100%;object-fit:cover}
.shw-info{padding:48px 50px;display:flex;flex-direction:column;justify-content:center}
.shw-info h2{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:30px;font-weight:600;margin-bottom:6px}
.shw-info .addr{color:var(--ink-2);font-size:14.5px;margin-bottom:26px}
.shw-row{display:flex;justify-content:space-between;padding:15px 0;border-top:1px solid var(--line);font-size:14.5px}
.shw-row:last-of-type{border-bottom:1px solid var(--line)}
.shw-row .k{color:var(--ink-2);font-weight:600;letter-spacing:.02em}
.shw-row .v{font-weight:600;text-align:right}
.shw-row .v small{display:block;font-size:12px;color:var(--ink-2);font-weight:400;margin-top:2px}
.shw-info .acts{margin-top:28px;display:flex;gap:10px;flex-wrap:wrap}
.shw-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:8px}
.shw-step .no{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;font-size:34px;font-weight:600;color:var(--clay)}
.shw-step h3{font-size:18px;font-weight:700;margin:8px 0 8px}
.shw-step p{font-size:14px;color:var(--ink-2);line-height:1.8}
.form-grid{display:grid;gap:16px;max-width:660px;margin:0 auto}
.form-grid .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid label{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--line);background:var(--white);padding:13px 15px;font-size:14.5px;outline:0;transition:border-color .2s}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--clay)}
.form-grid textarea{resize:vertical}

/* ── 반응형 ── */
@media (max-width:1024px){
  .materials{grid-template-columns:repeat(2,1fr)}
  .picks,.journal,.rooms,.coll-grid,.ab-vals{grid-template-columns:repeat(2,1fr)}
  .jn-feature,.shw-grid{grid-template-columns:1fr}
  .jn-feature .ph img{min-height:260px}
  .shw-steps{grid-template-columns:1fr;gap:20px}
  .project{grid-template-columns:1fr}
  .project .ph{aspect-ratio:16/10}
  .project.flip .ph{order:0}
  .project .tx{padding:40px 36px 52px}
  .pv-grid{grid-template-columns:1fr;gap:36px}
  .cart-grid{grid-template-columns:1fr}
  .ct-side{position:static}
  .ft-top{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .wrap,.wrap-n{padding:0 20px}
  .gnb{display:none}
  .m-burger{display:block}
  .hd-r .ic .lb{display:none}
  .hero{min-height:90vh}
  .hero .inner{padding-bottom:56px}
  .sec{padding:68px 0}
  .sec-sm{padding:52px 0}
  .materials{grid-template-columns:1fr 1fr;gap:4px}
  .mat{aspect-ratio:1/1}
  .picks,.journal,.coll-grid{grid-template-columns:1fr}
  .rooms{grid-template-columns:1fr;gap:4px}
  .project .tx{padding:32px 22px 44px}
  .cta-band{padding:80px 0}
  .pview,.cart{padding:120px 0 70px}
  .pv-cta{grid-template-columns:1fr}
  .ct-row{grid-template-columns:72px 1fr;gap:12px;position:relative}
  .ct-row .up,.ct-row .ls{grid-column:2}
  .ct-row .rm{position:absolute;top:24px;right:0}
  .ft-top{grid-template-columns:1fr}
  .ab-vals{grid-template-columns:1fr}
  .pv-tabs .heads{gap:22px;overflow-x:auto}
  .jn-feature .tx,.shw-info{padding:34px 24px}
  .article{padding:108px 0 0}
  .art-hero{aspect-ratio:16/10}
  .art-body{padding:44px 4px 30px}
  .art-body p{font-size:16px}
  .form-grid .two{grid-template-columns:1fr}
}
