/* ROYJU site engine · v120 · Cinematic design system
   v120 · 모든 font-size 는 calc((값)*var(--tk,1)) 형태 — 섹션별 글자 크기 배수(--tk)를 곱함 · 새 규칙을 넣을 때도 같은 형태로
   레퍼런스: "Scroll Tied Video Section" 스펙 (구조 · 타이포 · 간격 · 브레이크포인트 · 애니메이션)
   색상은 <head> 의 :root 변수로 주입 (--ink · --paper · --soft · --accent …) */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--f-body);color:var(--ink);background:var(--paper);overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body.mm-open{overflow:hidden}
img,video,canvas,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
.ic{flex-shrink:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:lang(ko){word-break:keep-all;overflow-wrap:break-word}:lang(ja),:lang(zh){word-break:normal;line-break:strict;overflow-wrap:anywhere}:lang(ja) .sec-x *,:lang(zh) .sec-x *{word-break:normal!important}

/* ═══ 타이포 (레퍼런스 수치) ═══ */
.d1{font-family:var(--f-display);font-size:calc((clamp(2rem,5vw,5rem))*var(--tk,1));font-weight:var(--w-light);text-transform:var(--tt);line-height:1.2;letter-spacing:var(--tr-d)}
.d2{font-family:var(--f-display);font-size:calc((clamp(1.5rem,4.5vw,4.5rem))*var(--tk,1));font-weight:var(--w-xlight);text-transform:var(--tt);line-height:1.3;letter-spacing:.025em}
.d3{font-family:var(--f-display);font-size:calc((clamp(2rem,4vw,4rem))*var(--tk,1));font-weight:var(--w-light);text-transform:var(--tt);line-height:1.2;letter-spacing:.025em}
.d4{font-family:var(--f-display);font-size:calc((clamp(1.75rem,3.4vw,3.25rem))*var(--tk,1));font-weight:var(--w-light);text-transform:var(--tt);line-height:1.2;letter-spacing:.02em}
.h5{font-family:var(--f-display);font-size:calc((clamp(1rem,1.3vw,1.2rem))*var(--tk,1));font-weight:var(--w-mid);text-transform:var(--tt);letter-spacing:.08em;line-height:1.35}
.eyebrow{font-size:calc((.875rem)*var(--tk,1));letter-spacing:.3em;text-transform:uppercase;font-weight:var(--w-mid)}
.eyebrow-lg{font-size:calc((1.125rem)*var(--tk,1));letter-spacing:.025em}
.label{font-size:calc((.75rem)*var(--tk,1));letter-spacing:.2em;text-transform:uppercase;font-weight:500}
.lead{font-size:calc((clamp(1rem,1.25vw,1.125rem))*var(--tk,1));line-height:1.85}
.muted{opacity:.62}
:lang(ko) .eyebrow,:lang(ja) .eyebrow,:lang(zh) .eyebrow{letter-spacing:.14em}
:lang(ko) .d1,:lang(ko) .d2,:lang(ko) .d3,:lang(ko) .d4,:lang(ja) .d1,:lang(ja) .d2,:lang(ja) .d3,:lang(ja) .d4{letter-spacing:-.01em;line-height:1.28}
.prose p{margin:0 0 1.1em;line-height:1.9}
.prose p:last-child{margin-bottom:0}
.prose strong{font-weight:600}

/* ═══ Stagger (0.8s cubic-bezier(0.16,1,0.3,1) · translateY 24px) ═══ */
.sg{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transition-delay:var(--d,0ms)}
.in .sg,.sg.in{opacity:1;transform:none}
html:not(.js) .sg{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.sg{opacity:1!important;transform:none!important;transition:none!important}}

/* ═══ 레이아웃 공통 ═══ */
.px{padding-left:calc(1.5rem*var(--px-k,1));padding-right:calc(1.5rem*var(--px-k,1))}
@media(min-width:640px){.px{padding-left:calc(2rem*var(--px-k,1));padding-right:calc(2rem*var(--px-k,1))}}
@media(min-width:768px){.px{padding-left:calc(5rem*var(--px-k,1));padding-right:calc(5rem*var(--px-k,1))}}
@media(min-width:1024px){.px{padding-left:calc(8rem*var(--px-k,1));padding-right:calc(8rem*var(--px-k,1))}}
.wrap{max-width:var(--wrap-w,1440px);margin:0 auto}
.sec{padding-top:calc(var(--sec-y,clamp(5rem,10vw,9rem))*var(--sec-k,1)*var(--sec-kt,1));padding-bottom:calc(var(--sec-y,clamp(5rem,10vw,9rem))*var(--sec-k,1)*var(--sec-kb,1));position:relative}
.sec-head{max-width:56rem;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.sec-head.c{margin-left:auto;margin-right:auto;text-align:center}
.sec-head .eyebrow{display:block;margin-bottom:1.25rem;opacity:.62}
.sec-head .sub{margin-top:1.5rem;max-width:40rem}
.sec-head.c .sub{margin-left:auto;margin-right:auto}
.bg-paper{background:var(--paper);color:var(--ink)}
.bg-soft{background:var(--soft);color:var(--ink)}
.bg-ink{background:var(--deep);color:#fff}
.bg-accent{background:var(--accent);color:var(--on-accent)}
.hair{border-top:1px solid var(--line)}
.bg-ink .hair,.bg-ink{--line:rgba(255,255,255,.18)}
.grid{display:grid;gap:clamp(1.5rem,3vw,3rem)}
.c2{grid-template-columns:1fr}.c3{grid-template-columns:1fr}.c4{grid-template-columns:1fr 1fr}
@media(min-width:768px){.c2{grid-template-columns:1fr 1fr}.c3{grid-template-columns:1fr 1fr}.c4{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.c3{grid-template-columns:repeat(3,1fr)}.c4{grid-template-columns:repeat(4,1fr)}}

/* ═══ 버튼 ═══ */
.circ{width:48px;height:48px;border-radius:50%;border:1px solid currentColor;display:inline-flex;align-items:center;justify-content:center;transition:opacity .3s,transform .3s,background .3s,color .3s}
.circ:hover{opacity:.7}
.circ.sm{width:40px;height:40px}
.circ.fill{background:#fff;color:#1f2937;border-color:#fff}
.circ.fill:hover{opacity:1;transform:scale(1.1)}
.btn-line{display:inline-flex;align-items:center;gap:1rem;font-size:calc((.875rem)*var(--tk,1));letter-spacing:.3em;text-transform:uppercase;font-weight:var(--w-mid)}
.btn-line .circ{width:40px;height:40px}
.btn-line:hover .circ{transform:translateX(4px)}
.btn-solid{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;background:var(--ink);color:var(--paper);padding:1.05rem 2rem;border-radius:var(--radius);font-size:calc((.78rem)*var(--tk,1));letter-spacing:.2em;text-transform:uppercase;font-weight:500;transition:opacity .3s,transform .3s;border:1px solid var(--ink);min-height:48px}
.btn-solid:hover{opacity:.86}
.btn-solid.full{width:100%}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:1.05rem 2rem;border:1px solid currentColor;border-radius:var(--radius);font-size:calc((.78rem)*var(--tk,1));letter-spacing:.2em;text-transform:uppercase;font-weight:500;transition:opacity .3s;min-height:48px}
.btn-ghost:hover{opacity:.7}
.bg-ink .btn-solid{background:#fff;color:var(--deep);border-color:#fff}
.btn-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}

/* ═══ 내비게이션 (레퍼런스: text-xs · tracking .15em · 활성 2px 밑줄 · 색 전환 .5s) ═══ */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;color:var(--nav-c);transition:color .5s,background-color .5s,padding .5s,box-shadow .5s;padding:2rem 1.5rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
@media(min-width:640px){.nav{padding:3rem 2rem 1.5rem}}
@media(min-width:768px){.nav{padding-left:3rem;padding-right:3rem}}
body.nav-light{--nav-c:#fff;--nav-inv:var(--ink)}
.nav.solid{background:var(--paper);color:var(--ink);padding-top:1.1rem;padding-bottom:1.1rem;box-shadow:0 1px 0 var(--line)}
.nav.solid{--nav-inv:var(--paper)}
.nav-solid-page main>.sec:first-child{padding-top:calc(clamp(5rem,10vw,9rem) + 3.5rem)}
.nav-l{display:flex;align-items:center;gap:1.25rem;min-width:0}
.nav-links{display:none;align-items:center;gap:2rem}
@media(min-width:1024px){.nav-links{display:flex}}
@media(min-width:1280px){.nav-links{gap:2.5rem}}
.nav-link{font-size:calc((.75rem)*var(--tk,1));letter-spacing:.15em;text-transform:uppercase;font-weight:500;position:relative;white-space:nowrap;transition:opacity .2s}
.nav-link:hover{opacity:.7}
.nav-link.act::after{content:"";position:absolute;left:0;right:0;bottom:-.75rem;height:2px;background:currentColor}
.nav-brand{font-size:calc((.75rem)*var(--tk,1));letter-spacing:.15em;text-transform:uppercase;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center}
.nav-brand img{height:28px;width:auto}
.nav-brand.m{display:inline-flex}
@media(min-width:1024px){.nav-brand.m{display:none}}
.nav-r{display:none;align-items:center;gap:1.75rem}
@media(min-width:640px){.nav-r{display:flex}}
.nav-util{font-size:calc((.75rem)*var(--tk,1));letter-spacing:.2em;text-transform:uppercase;font-weight:500;display:inline-flex;align-items:center;gap:.6rem;transition:opacity .2s;white-space:nowrap}
.nav-util:hover{opacity:.7}
.nav-dot{width:20px;height:20px;border-radius:50%;background:currentColor;display:inline-flex;align-items:center;justify-content:center}
.nav-dot .ic{color:var(--nav-inv)}
.nav-count{min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:currentColor;display:inline-flex;align-items:center;justify-content:center;font-size:calc((.65rem)*var(--tk,1));letter-spacing:0}
.nav-count b{color:var(--nav-inv);font-weight:600}
.nav-ent{opacity:0;transform:translateY(-12px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
.nav.ready .nav-ent{opacity:1;transform:none}
html:not(.js) .nav-ent{opacity:1;transform:none}
.burger{display:flex;flex-direction:column;gap:5px;padding:6px 0;width:28px}
.burger span{display:block;height:2px;background:currentColor;width:24px;transition:background .5s}
.burger span:last-child{width:16px}
@media(min-width:1024px){.burger{display:none}}
.nav-menu-m{display:inline-flex}
@media(min-width:640px){.nav-menu-m{display:none}}

/* ═══ 모바일 전체 메뉴 (fixed · DARK · .5s cubic-bezier(.4,0,.2,1)) ═══ */
.mm{position:fixed;inset:0;z-index:100;background:var(--deep);color:#fff;opacity:0;visibility:hidden;transition:opacity .5s cubic-bezier(.4,0,.2,1),visibility .5s cubic-bezier(.4,0,.2,1)}
.mm.open{opacity:1;visibility:visible}
.mm-in{height:100%;display:flex;flex-direction:column;transform:translateY(-2rem);transition:transform .5s cubic-bezier(.4,0,.2,1)}
.mm.open .mm-in{transform:none}
.mm-top{display:flex;justify-content:flex-end;padding:2rem 1.5rem 0}
@media(min-width:640px){.mm-top{padding:3rem 2rem 0}}
.mm-close{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;transition:border-color .3s}
.mm-close:hover{border-color:#fff}
.mm-links{flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 2rem;overflow-y:auto}
@media(min-width:640px){.mm-links{padding:0 3rem}}
.mm-link{display:block;padding:.75rem 0;font-size:calc((1.5rem)*var(--tk,1));font-weight:var(--w-light);letter-spacing:.025em;text-transform:uppercase;color:rgba(255,255,255,.6);opacity:0;transform:translateY(20px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1),color .2s;font-family:var(--f-display)}
@media(min-width:640px){.mm-link{font-size:calc((1.875rem)*var(--tk,1))}}
.mm.open .mm-link{opacity:1;transform:none}
.mm-link.act,.mm-link:hover{color:#fff}
.mm-foot{display:flex;flex-wrap:wrap;gap:1.75rem;padding:0 2rem 2.5rem;font-size:calc((.75rem)*var(--tk,1));letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6)}
@media(min-width:640px){.mm-foot{padding:0 3rem 2.5rem}}
.mm-foot a:hover{color:#fff}

/* ═══ 시네마틱 스크롤 장면 (레퍼런스 구조: 500vh 트랙 · sticky 100vh · video + canvas + overlay) ═══ */
.scene{position:relative;height:var(--track,500vh)}
.scene-sticky{position:sticky;top:0;width:100%;height:100vh;overflow:hidden;background:var(--scene-bg,#dfe3e6)}
.scene-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scene canvas.scene-media{opacity:0;transition:opacity .3s}
.scene canvas.scene-media.live{opacity:1}
.scene-img{transform-origin:50% 50%;will-change:transform}
.scene-over{position:absolute;inset:0;pointer-events:none}
.panel{position:absolute;inset:0;opacity:0;transition:opacity .1s ease-out;display:flex;align-items:center;color:var(--s-ink)}
.panel.tone-light{color:#fff}
.panel a,.panel button{pointer-events:auto}
.panel.al-left{justify-content:flex-start}
.panel.al-center{justify-content:center;text-align:center;padding-left:1.5rem;padding-right:1.5rem}
@media(min-width:640px){.panel.al-center{padding-left:2rem;padding-right:2rem}}
.panel.al-right{justify-content:flex-end}
.p-left{max-width:64rem}
.p-center{max-width:900px}
.p-right{max-width:42rem;text-align:left}
.p-sub{margin-top:1.5rem;font-size:calc((.875rem)*var(--tk,1));letter-spacing:.3em;text-transform:uppercase;color:var(--s-ink-56)}
.tone-light .p-sub{color:rgba(255,255,255,.8)}
.p-eye{font-size:calc((1.125rem)*var(--tk,1));letter-spacing:.025em;margin-bottom:1rem;color:var(--s-ink-60)}
.tone-light .p-eye{color:rgba(255,255,255,.6)}
.p-title{white-space:pre-line}
.p-right .p-title{margin-bottom:2rem;letter-spacing:.025em}
.acc1{color:var(--s-ink-80)}.acc2{color:var(--s-ink-50)}
.tone-light .acc1{color:rgba(255,255,255,.8)}.tone-light .acc2{color:rgba(255,255,255,.5)}
.p-cta{display:inline-flex;align-items:center;gap:1rem}
.p-cta .lb{font-size:calc((.875rem)*var(--tk,1));letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.tone-dark .p-cta .lb{color:var(--s-ink-80)}
.p-cta .circ.fill:hover{transform:scale(1.1)}
.p-cta-inline{margin-top:2.5rem}
.p-arrow{position:absolute;bottom:3rem;right:1.5rem;border-color:var(--s-ink-50);color:var(--s-ink)}
@media(min-width:640px){.p-arrow{right:2rem}}
@media(min-width:768px){.p-arrow{right:3rem}}
.tone-light .p-arrow{border-color:rgba(255,255,255,.5);color:#fff}
.p-ctrl{position:absolute;bottom:4rem;right:1.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem}
@media(min-width:640px){.p-ctrl{right:2rem}}
@media(min-width:768px){.p-ctrl{right:3rem}}
.p-ctrl .down{border-color:var(--s-ink-40)}
.p-ctrl .up{width:40px;height:40px;border-color:var(--s-ink-30);color:var(--s-ink-80);margin-top:.5rem}
.tone-light .p-ctrl .down{border-color:rgba(255,255,255,.4)}
.tone-light .p-ctrl .up{border-color:rgba(255,255,255,.3);color:rgba(255,255,255,.8)}
.p-dots{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:1rem}
.p-dots i{display:block;width:6px;height:6px;border-radius:50%;background:var(--s-ink-40)}
.p-dots i.on{width:8px;height:8px;background:var(--s-ink)}
.tone-light .p-dots i{background:rgba(255,255,255,.4)}
.tone-light .p-dots i.on{background:#fff}

/* ═══ 히어로 ═══ */
.hero{position:relative;display:flex;align-items:center;overflow:hidden;color:var(--ink)}
.hero.tone-light{color:#fff;background:#1a1a1a}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero.has-media.tone-light::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.28);pointer-events:none}
.hero.has-media.tone-dark::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.12);pointer-events:none}
/* 첫 화면 배경 (사진 · 자동 재생 영상) · 글자가 잘 읽히는 그라디언트 · 사진은 아주 천천히 다가오는 움직임 (스크롤과 무관) */
.hero.has-media.tone-light::after{background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.12) 32%,rgba(0,0,0,.16) 60%,rgba(0,0,0,.5) 100%)}
.hero.al-left.has-media.tone-light::after{background:linear-gradient(90deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,.2) 55%,rgba(0,0,0,.06) 100%),linear-gradient(180deg,rgba(0,0,0,.36) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,0) 70%,rgba(0,0,0,.3) 100%)}
.hero.has-media.tone-dark::after{background:linear-gradient(90deg,rgba(255,255,255,.58) 0%,rgba(255,255,255,.18) 55%,rgba(255,255,255,0) 80%)}
.hero.al-center.has-media.tone-dark::after{background:rgba(255,255,255,.3)}
.hero.al-right.has-media.tone-dark::after{background:linear-gradient(270deg,rgba(255,255,255,.58) 0%,rgba(255,255,255,0) 70%)}
.hero[data-first="1"] img.hero-media{animation:heroKb 18s cubic-bezier(.16,1,.3,1) both;transform-origin:50% 45%}
@keyframes heroKb{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero video.hero-media{background:#111}
@media (prefers-reduced-motion:reduce){.hero img.hero-media{animation:none}}
.hero-in{position:relative;z-index:2;width:100%;padding-top:7rem;padding-bottom:5rem}
.hero.al-center .hero-in{text-align:center}
.hero.al-center .hero-box{margin:0 auto;max-width:900px}
.hero.al-right .hero-box{margin-left:auto;max-width:42rem}
.hero-box{max-width:64rem}
.hero .p-eye{color:inherit;opacity:.62}
.hero .sub{margin-top:1.5rem;max-width:40rem;opacity:.85}
.hero.al-center .sub{margin-left:auto;margin-right:auto}
.hero .btn-row{margin-top:2.5rem}
.hero.al-center .btn-row{justify-content:center}
.hero.tone-light .btn-solid{background:#fff;color:#111;border-color:#fff}
.hero-scroll{position:absolute;bottom:2.5rem;right:1.5rem;z-index:2}
@media(min-width:768px){.hero-scroll{right:3rem}}

/* ═══ 섹션: 큰 문장 ═══ */
.statement{max-width:900px}
.statement.c{margin:0 auto;text-align:center}
.statement .acc1{color:var(--ink-80)}.statement .acc2{color:var(--ink-50)}
.bg-ink .statement .acc1{color:rgba(255,255,255,.8)}.bg-ink .statement .acc2{color:rgba(255,255,255,.5)}

/* ═══ 섹션: 사진 + 글 ═══ */
.split{display:grid;gap:clamp(2rem,6vw,6rem);align-items:center}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr}.split.img-left .split-media,.split.img-left .split-mwrap{order:-1}}
.split-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--soft)}
.split-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.split-media:hover img{transform:scale(1.03)}
.split .d4{margin-bottom:1.75rem}
.bul{list-style:none;margin-top:2rem;border-top:1px solid var(--line)}
.bul li{padding:1rem 0;border-bottom:1px solid var(--line);display:flex;gap:1rem;align-items:flex-start;font-size:calc((.95rem)*var(--tk,1))}
.bul li::before{content:"";width:14px;height:1px;background:currentColor;margin-top:.8em;flex-shrink:0;opacity:.6}
.split .btn-row{margin-top:2.5rem}
.split.noimg{align-items:start}
@media(min-width:900px){.split.noimg{grid-template-columns:5fr 6fr}}
.split.noimg .split-head .d4{margin-bottom:0}
.split.noimg .split-body>.prose:first-child{margin-top:.35rem}

/* ═══ 섹션: 카드 ═══ */
.card{border-top:1px solid var(--line);padding-top:1.75rem;display:flex;flex-direction:column;gap:1rem}
.card .num{font-size:calc((.75rem)*var(--tk,1));letter-spacing:.2em;opacity:.5}
.card .ico{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.card .cimg{aspect-ratio:4/3;overflow:hidden;background:var(--soft);margin-bottom:.5rem}
.card .cimg img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.card:hover .cimg img{transform:scale(1.04)}
.card p{opacity:.7;line-height:1.8;font-size:calc((.95rem)*var(--tk,1))}
.card .more{margin-top:auto;padding-top:.5rem;display:inline-flex;align-items:center;gap:.6rem;font-size:calc((.72rem)*var(--tk,1));letter-spacing:.2em;text-transform:uppercase}

/* ═══ 섹션: 숫자 ═══ */
.stats{display:grid;grid-template-columns:1fr 1fr;gap:3rem 2rem}
@media(min-width:900px){.stats{grid-template-columns:repeat(var(--n,4),1fr)}}
.stat .v{font-family:var(--f-display);font-size:calc((clamp(3rem,6vw,6rem))*var(--tk,1));font-weight:var(--w-xlight);line-height:1;letter-spacing:-.02em}
.stat .l{margin-top:1rem;font-size:calc((.75rem)*var(--tk,1));letter-spacing:.2em;text-transform:uppercase;opacity:.65}

/* ═══ 섹션: 단계 ═══ */
.steps{border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:4rem 1fr;gap:1rem;padding:2rem 0;border-bottom:1px solid var(--line)}
@media(min-width:900px){.step{grid-template-columns:8rem 1fr 1.4fr;align-items:baseline}}
.step .n{font-size:calc((.75rem)*var(--tk,1));letter-spacing:.2em;opacity:.5}
.step p{opacity:.72;line-height:1.8}
@media(max-width:899px){.step p{grid-column:2}}

/* ═══ 섹션: 가격표 ═══ */
.plans{display:grid;gap:1.5rem}
@media(min-width:900px){.plans{grid-template-columns:repeat(var(--n,3),1fr)}}
.plan{border:1px solid var(--line);padding:2.5rem 2rem;display:flex;flex-direction:column;gap:1.25rem;border-radius:var(--radius)}
.plan.hi{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.plan .pr{font-family:var(--f-display);font-size:calc((clamp(2.2rem,3.5vw,3.25rem))*var(--tk,1));font-weight:var(--w-light);line-height:1}
.plan .pr small{font-size:calc((.9rem)*var(--tk,1));opacity:.6;margin-left:.35rem;font-family:var(--f-body)}
.plan ul{list-style:none;display:flex;flex-direction:column;gap:.7rem;font-size:calc((.92rem)*var(--tk,1));flex:1}
.plan li{display:flex;gap:.7rem;align-items:flex-start}
.plan li .ic{margin-top:.2em;opacity:.7}
.plan.hi .btn-solid{background:var(--paper);color:var(--ink);border-color:var(--paper)}

/* ═══ 섹션: 컬렉션 ═══ */
.items{display:grid;gap:clamp(1.5rem,3vw,2.75rem) clamp(1.25rem,2.5vw,2rem)}
.items.c2{grid-template-columns:1fr}
.items.c3,.items.c4{grid-template-columns:1fr 1fr}
@media(min-width:768px){.items.c2{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.items.c3{grid-template-columns:repeat(3,1fr)}.items.c4{grid-template-columns:repeat(4,1fr)}}
@media(max-width:480px){.items.c3,.items.c4{grid-template-columns:1fr}}
.item{display:flex;flex-direction:column;gap:.9rem;position:relative}
.item .th{aspect-ratio:4/5;overflow:hidden;background:var(--soft);position:relative}
.item .th img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.item .th.ph{display:flex;align-items:center;justify-content:center}
.item .th.ph .ph-l{font-family:var(--f-display);font-size:calc((clamp(2.5rem,6vw,4.5rem))*var(--tk,1));font-weight:var(--w-xlight);opacity:.2;text-transform:uppercase;line-height:1}
.item .badge.inl{position:static;align-self:flex-start;background:transparent;border:1px solid var(--line-strong);color:inherit}
.item .item-rule{display:block;height:1px;background:var(--line);margin-bottom:.35rem}
.item:hover .th img{transform:scale(1.04)}
.item .badge{position:absolute;top:.9rem;left:.9rem;background:var(--paper);color:var(--ink);font-size:calc((.65rem)*var(--tk,1));letter-spacing:.18em;text-transform:uppercase;padding:.35rem .6rem}
.item .cat{font-size:calc((.7rem)*var(--tk,1));letter-spacing:.2em;text-transform:uppercase;opacity:.55}
.item .ttl{font-size:calc((1rem)*var(--tk,1));font-weight:var(--w-mid);letter-spacing:.04em;line-height:1.4}
.item .ds{font-size:calc((.9rem)*var(--tk,1));opacity:.68;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.item .pr{font-size:calc((.95rem)*var(--tk,1));display:flex;gap:.6rem;align-items:baseline}
.item .pr s{opacity:.45;font-size:calc((.85rem)*var(--tk,1))}
.item .act{display:flex;gap:.6rem;margin-top:.25rem;flex-wrap:wrap}
.item .act .mini{font-size:calc((.7rem)*var(--tk,1));letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:2px}
.item .act .mini:hover{opacity:.65}
.item.sold .th::after{content:attr(data-sold);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.45);color:#fff;font-size:calc((.75rem)*var(--tk,1));letter-spacing:.25em;text-transform:uppercase}
.items.people .th{aspect-ratio:3/4}
.items.people .th img{filter:grayscale(1);transition:filter .6s,transform 1.2s cubic-bezier(.16,1,.3,1)}
.items.people .item:hover .th img{filter:none}
.menu-list{border-top:1px solid var(--line)}
.mrow{display:grid;grid-template-columns:1fr auto;gap:.5rem 2rem;padding:1.5rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.mrow.has-img{grid-template-columns:88px 1fr auto;align-items:center}
.mrow .mi{width:88px;height:88px;overflow:hidden;background:var(--soft)}
.mrow .mi img{width:100%;height:100%;object-fit:cover}
.mrow .mt{font-weight:var(--w-mid);letter-spacing:.03em}
.mrow .md{font-size:calc((.88rem)*var(--tk,1));opacity:.65;margin-top:.3rem}
.mrow .mp{white-space:nowrap}
.mrow .mb{font-size:calc((.62rem)*var(--tk,1));letter-spacing:.15em;text-transform:uppercase;border:1px solid currentColor;padding:.15rem .45rem;margin-left:.6rem;vertical-align:middle;opacity:.7}
.cat-h{font-size:calc((.75rem)*var(--tk,1));letter-spacing:.25em;text-transform:uppercase;opacity:.55;margin:3rem 0 .5rem}
.cat-h:first-child{margin-top:0}
.masonry{column-count:1;column-gap:1rem}
@media(min-width:640px){.masonry{column-count:2}}
@media(min-width:1024px){.masonry{column-count:3}}
.masonry a{display:block;margin-bottom:1rem;break-inside:avoid;overflow:hidden;background:var(--soft)}
.masonry img{width:100%;height:auto;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.masonry a:hover img{transform:scale(1.03)}
.news{border-top:1px solid var(--line)}
.news a{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:1.6rem 0;border-bottom:1px solid var(--line);align-items:baseline;transition:opacity .2s}
.news a:hover{opacity:.65}
.news .nt{font-size:calc((1.05rem)*var(--tk,1));letter-spacing:.02em}
.news .nd{font-size:calc((.75rem)*var(--tk,1));letter-spacing:.15em;opacity:.55;white-space:nowrap}
.filters{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;margin-bottom:2.5rem}
.filters a{font-size:calc((.72rem)*var(--tk,1));letter-spacing:.2em;text-transform:uppercase;opacity:.5;padding-bottom:.35rem;border-bottom:1px solid transparent}
.filters a.on,.filters a:hover{opacity:1;border-bottom-color:currentColor}
.more-row{margin-top:clamp(2.5rem,5vw,4rem)}
.empty{padding:3rem 0;opacity:.55;font-size:calc((.9rem)*var(--tk,1));letter-spacing:.1em}

/* ═══ 후기 · FAQ ═══ */
.quotes{display:grid;gap:3rem}
@media(min-width:900px){.quotes{grid-template-columns:repeat(var(--n,3),1fr)}}
.quote q{display:block;font-family:var(--f-display);font-size:calc((clamp(1.15rem,1.6vw,1.45rem))*var(--tk,1));font-weight:var(--w-light);line-height:1.6;quotes:"\201C" "\201D"}
.quote .by{margin-top:1.5rem;display:flex;align-items:center;gap:.9rem}
.quote .by img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.quote .stars{display:flex;gap:2px;margin-bottom:1.25rem;opacity:.8}
.faq{border-top:1px solid var(--line);max-width:64rem}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1.5rem;padding:1.6rem 0;font-size:calc((1.05rem)*var(--tk,1));letter-spacing:.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ic{transition:transform .4s cubic-bezier(.16,1,.3,1)}
.faq details[open] summary .ic{transform:rotate(45deg)}
.faq .ans{padding:0 0 1.75rem;opacity:.72;line-height:1.9;max-width:48rem}

/* ═══ CTA ═══ */
.cta{position:relative;overflow:hidden}
.cta .cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cta.has-img::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.35)}
.cta.has-img{color:#fff}
.cta-in{position:relative;z-index:2;display:flex;flex-direction:column;gap:2rem;max-width:56rem}
.cta .btn-line{color:inherit}
.cta .btn-line .circ.fill{border-color:currentColor}

/* ═══ 폼 (밑줄형) ═══ */
.form{display:grid;gap:1.75rem}
.form .row{display:grid;gap:1.75rem}
@media(min-width:640px){.form .row{grid-template-columns:1fr 1fr}}
.fld{display:flex;flex-direction:column;gap:.5rem}
.fld label{font-size:calc((.7rem)*var(--tk,1));letter-spacing:.2em;text-transform:uppercase;opacity:.65}
.fld input,.fld select,.fld textarea{width:100%;border:0;border-bottom:1px solid var(--line-strong);background:transparent;padding:.7rem 0;font-size:calc((1rem)*var(--tk,1));outline:none;border-radius:0;transition:border-color .3s;-webkit-appearance:none;appearance:none}
.fld select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23777' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;padding-right:1.5rem}
.fld textarea{resize:vertical;min-height:120px;line-height:1.7}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-bottom-color:currentColor}
.bg-ink .fld input,.bg-ink .fld select,.bg-ink .fld textarea{border-bottom-color:rgba(255,255,255,.35)}
.bg-ink .fld option{color:#111}
.chk{display:flex;gap:.75rem;align-items:flex-start;font-size:calc((.85rem)*var(--tk,1));opacity:.8;cursor:pointer}
.chk input{width:18px;height:18px;margin-top:.15rem;accent-color:var(--ink);flex-shrink:0}
.note{font-size:calc((.85rem)*var(--tk,1));opacity:.7;line-height:1.8;padding:1.25rem 1.4rem;border:1px solid var(--line);border-radius:var(--radius)}
.flash{padding:1.1rem 1.4rem;margin-bottom:2rem;font-size:calc((.92rem)*var(--tk,1));border-left:2px solid currentColor;background:var(--soft)}
.flash.err{color:#9f1d1d;background:#fbeaea}
.bg-ink .flash{background:rgba(255,255,255,.08)}
.contact-grid{display:grid;gap:clamp(3rem,6vw,6rem)}
.contact-grid>*{min-width:0}.fld select,.fld input,.fld textarea{max-width:100%;min-width:0}   /* v133 · 긴 선택 항목이 있어도 휴대폰에서 폼이 화면 밖으로 넘치지 않게 */
@media(min-width:900px){.contact-grid{grid-template-columns:1fr 1.25fr}}
.info-list{list-style:none;border-top:1px solid var(--line)}
.info-list li{display:grid;grid-template-columns:7rem 1fr;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--line);font-size:calc((.95rem)*var(--tk,1))}
.info-list li>*{min-width:0;overflow-wrap:anywhere}   /* v133 · 긴 이메일 주소도 줄바꿈 */
.info-list .k{font-size:calc((.7rem)*var(--tk,1));letter-spacing:.2em;text-transform:uppercase;opacity:.55;padding-top:.2rem}
.map{margin-top:3rem;aspect-ratio:16/9;background:var(--soft);overflow:hidden}
.map iframe{width:100%!important;height:100%!important;border:0}

/* ═══ 영상 · 흐르는 글자 · 로고 · 구독 ═══ */
.vid{aspect-ratio:16/9;background:#000;overflow:hidden}
.vid iframe,.vid video{width:100%;height:100%;border:0;object-fit:cover}
.marq{overflow:hidden;white-space:nowrap;padding:clamp(2.5rem,5vw,4rem) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.marq-t{display:inline-flex;gap:4rem;animation:mq var(--mq,40s) linear infinite;font-family:var(--f-display);font-size:calc((clamp(2.5rem,7vw,7rem))*var(--tk,1));font-weight:var(--w-xlight);text-transform:var(--tt);letter-spacing:.02em;line-height:1}
.marq-t span{display:inline-block;padding-right:4rem}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marq-t{animation:none}}
.logos{display:flex;flex-wrap:wrap;gap:2.5rem 4rem;align-items:center;justify-content:center}
.logos img{height:36px;width:auto;opacity:.7;filter:grayscale(1)}
.nl{display:flex;gap:1rem;max-width:36rem;margin-top:2rem;align-items:flex-end}
.nl .fld{flex:1}

/* ═══ 푸터 ═══ */
.foot{background:var(--deep);color:rgba(255,255,255,.62);font-size:calc((.85rem)*var(--tk,1));line-height:1.8}
.foot-top{display:grid;gap:3rem;padding-top:5rem;padding-bottom:4rem}
@media(min-width:900px){.foot-top{grid-template-columns:1.4fr 1fr 1fr}}
.foot .fb{font-family:var(--f-display);color:#fff;font-size:calc((1.5rem)*var(--tk,1));font-weight:var(--w-light);text-transform:var(--tt);letter-spacing:.06em;margin-bottom:1rem}
.foot .fb img{height:34px;width:auto;filter:brightness(0) invert(1)}
.foot h4{font-size:calc((.7rem)*var(--tk,1));letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.45);font-weight:500;margin-bottom:1.25rem}
.foot a:hover{color:#fff}
.foot-links{display:flex;flex-direction:column;gap:.5rem}
.foot-soc{display:flex;gap:.75rem;margin-top:1.5rem}
.foot-soc a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;transition:border-color .3s}
.foot-soc a:hover{border-color:#fff}
.foot-bot{border-top:1px solid rgba(255,255,255,.12);padding-top:1.75rem;padding-bottom:2.25rem;display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;font-size:calc((.72rem)*var(--tk,1));letter-spacing:.08em}
.foot .biz{white-space:pre-line;font-size:calc((.75rem)*var(--tk,1));color:rgba(255,255,255,.45);margin-top:1rem}

/* ═══ 시스템 페이지 (상세 · 장바구니 · 주문 · 예약 · 회원) ═══ */
.sys{padding-top:clamp(8rem,12vw,11rem);padding-bottom:clamp(5rem,8vw,8rem);min-height:70vh}
.sys-narrow{max-width:34rem;margin:0 auto}
.sys-mid{max-width:64rem;margin:0 auto}
.sys h1{margin-bottom:2.5rem}
.crumb{font-size:calc((.7rem)*var(--tk,1));letter-spacing:.2em;text-transform:uppercase;opacity:.55;margin-bottom:2rem;display:inline-flex;align-items:center;gap:.5rem}
.crumb:hover{opacity:1}
.detail{display:grid;gap:clamp(2rem,5vw,5rem)}
@media(min-width:900px){.detail{grid-template-columns:1.1fr 1fr;align-items:start}}
.detail .dimg{aspect-ratio:4/5;background:var(--soft);overflow:hidden}
.detail .dimg img{width:100%;height:100%;object-fit:cover}
.detail .dprice{font-size:calc((1.5rem)*var(--tk,1));margin:1.5rem 0;display:flex;gap:.8rem;align-items:baseline}
.detail .dprice s{font-size:calc((1rem)*var(--tk,1));opacity:.45}
.detail .dmeta{list-style:none;border-top:1px solid var(--line);margin:2rem 0}
.detail .dmeta li{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line);font-size:calc((.9rem)*var(--tk,1))}
.detail .dmeta span{opacity:.55;font-size:calc((.72rem)*var(--tk,1));letter-spacing:.18em;text-transform:uppercase}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:var(--radius)}
.qty button{width:44px;height:44px;display:flex;align-items:center;justify-content:center}
.qty input{width:52px;text-align:center;border:0;background:transparent;font-size:calc((1rem)*var(--tk,1));-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.buy{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:1.5rem}
.cart-t{width:100%;border-collapse:collapse}
.cart-t td{padding:1.4rem 0;border-bottom:1px solid var(--line);vertical-align:middle}
.cart-t tr:first-child td{border-top:1px solid var(--line)}
.cart-t .ci{width:84px;padding-right:1.25rem}
.cart-t .ci img,.cart-t .ci .ph{width:84px;height:100px;object-fit:cover;background:var(--soft)}
.cart-t .cn{font-weight:var(--w-mid)}
.cart-t .cu{font-size:calc((.85rem)*var(--tk,1));opacity:.6;margin-top:.3rem}
.cart-t .cq{text-align:center;width:150px}
.cart-t .cl{text-align:right;white-space:nowrap;width:120px}
@media(max-width:640px){.cart-t .cq{width:auto}.cart-t .cl{display:none}}
.sum{margin-top:2rem;margin-left:auto;max-width:26rem}
.sum div{display:flex;justify-content:space-between;padding:.6rem 0;font-size:calc((.95rem)*var(--tk,1))}
.sum .tot{border-top:1px solid var(--line-strong);margin-top:.5rem;padding-top:1.1rem;font-size:calc((1.15rem)*var(--tk,1));font-weight:var(--w-mid)}
.co{display:grid;gap:clamp(2.5rem,5vw,5rem)}
@media(min-width:960px){.co{grid-template-columns:1.3fr 1fr;align-items:start}}
.co-box{border:1px solid var(--line);padding:2rem;border-radius:var(--radius)}
@media(min-width:960px){.co-box{position:sticky;top:7rem}}
.co h2{font-size:calc((.75rem)*var(--tk,1));letter-spacing:.22em;text-transform:uppercase;font-weight:500;margin:0 0 1.5rem;opacity:.7}
.pm{display:grid;gap:.75rem}
.pm label{display:flex;gap:.85rem;align-items:center;padding:1.05rem 1.2rem;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;transition:border-color .2s}
.pm label:has(input:checked){border-color:currentColor}
.pm input{accent-color:var(--ink)}
.done{text-align:center}
.done .ok-ic{width:72px;height:72px;border-radius:50%;border:1px solid currentColor;display:flex;align-items:center;justify-content:center;margin:0 auto 2rem}
.kv{list-style:none;border-top:1px solid var(--line);margin:2.5rem 0;text-align:left}
.kv li{display:flex;justify-content:space-between;gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--line);font-size:calc((.95rem)*var(--tk,1))}
.kv li span:first-child{opacity:.55;font-size:calc((.72rem)*var(--tk,1));letter-spacing:.18em;text-transform:uppercase;padding-top:.2rem}
.tabs-m{display:flex;gap:2rem;border-bottom:1px solid var(--line);margin-bottom:2rem;overflow-x:auto}
.tabs-m a{padding:.9rem 0;font-size:calc((.72rem)*var(--tk,1));letter-spacing:.2em;text-transform:uppercase;opacity:.55;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.tabs-m a.on{opacity:1;border-bottom-color:currentColor}
.tbl{width:100%;border-collapse:collapse;font-size:calc((.9rem)*var(--tk,1))}
.tbl th{font-size:calc((.68rem)*var(--tk,1));letter-spacing:.18em;text-transform:uppercase;opacity:.55;font-weight:500;text-align:left;padding:.8rem .5rem .8rem 0;border-bottom:1px solid var(--line-strong)}
.tbl td{padding:1rem .5rem 1rem 0;border-bottom:1px solid var(--line)}
.pill{display:inline-block;font-size:calc((.65rem)*var(--tk,1));letter-spacing:.15em;text-transform:uppercase;border:1px solid currentColor;padding:.2rem .55rem;opacity:.8}

/* ═══ 토스트 · 라이트박스 · 맨위로 ═══ */
.toast{position:fixed;left:50%;bottom:2rem;transform:translate(-50%,20px);background:var(--deep);color:#fff;padding:1rem 1.6rem;font-size:calc((.8rem)*var(--tk,1));letter-spacing:.12em;text-transform:uppercase;opacity:0;visibility:hidden;transition:all .5s cubic-bezier(.16,1,.3,1);z-index:120;display:flex;gap:1.25rem;align-items:center}
.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
.toast a{border-bottom:1px solid rgba(255,255,255,.6)}
.lbx{position:fixed;inset:0;z-index:110;background:rgba(10,10,10,.94);display:none;align-items:center;justify-content:center;padding:4rem 1rem}
.lbx.open{display:flex}
.lbx img{max-width:100%;max-height:100%;object-fit:contain}
.lbx button{position:absolute;color:#fff;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center}
.lbx .x{top:1.5rem;right:1.5rem}.lbx .pv{left:1.5rem;top:50%;margin-top:-24px}.lbx .nx{right:1.5rem;top:50%;margin-top:-24px}
.lbx .cap{position:absolute;bottom:1.5rem;left:0;right:0;text-align:center;color:rgba(255,255,255,.7);font-size:calc((.75rem)*var(--tk,1));letter-spacing:.18em;text-transform:uppercase}
.nf{min-height:80vh;display:flex;align-items:center}
/* 한글·CJK 라벨 자간 보정 (site.js 가 .cjk 부여) */
.cjk{letter-spacing:.05em!important}
.nav-link.cjk,.nav-util.cjk{letter-spacing:.02em!important}
.in-frame .sk-adm-edit{display:none!important}

/* ════════════════════════════════════════════════════════════════
   v95 · 전문 디자인 시스템 — 스킨 · 메뉴 모양 · 새 섹션
   스킨: line(기본 · 기존 사이트 그대로) · soft(병원 · 뷰티 · 카페) · corporate(기업 · 제조) · shop(쇼핑 · 패션)
   ════════════════════════════════════════════════════════════════ */
body{--nav-h:5.5rem;--btn-r:var(--radius);--card-r:var(--radius);--shadow:0 1px 2px rgba(20,20,30,.04),0 14px 36px -18px rgba(20,20,30,.18)}
.sk-btn-pill{--btn-r:999px}.sk-btn-round{--btn-r:10px}.sk-btn-square{--btn-r:0px}
.btn-solid,.btn-ghost{border-radius:var(--btn-r)}
.sk-case-upper{--tt:uppercase}.sk-case-normal{--tt:none}
.theme-dark{--shadow:0 1px 0 rgba(255,255,255,.04),0 18px 40px -20px rgba(0,0,0,.6)}

/* ═══ 메뉴 모양 · bar / center ═══ */
.sk-nav-bar{--nav-h:84px}
.sk-nav-center{--nav-h:72px}
@media(min-width:1024px){.sk-nav-center{--nav-h:120px}}
@media(max-width:767px){.sk-nav-bar{--nav-h:68px}}
.nav.nav2{padding:0;display:block}
.nav.nav2.solid{padding:0;background:var(--paper);box-shadow:0 1px 0 var(--line),0 10px 30px -24px rgba(0,0,0,.35)}
.nav2-in{height:var(--nav-h);display:flex;align-items:center;gap:1.75rem;padding:0 1.25rem;max-width:1680px;margin:0 auto}
@media(min-width:768px){.nav2-in{padding:0 2.5rem}}
@media(min-width:1280px){.nav2-in{padding:0 3.5rem}}
.nav2-brand{display:flex;flex-direction:column;justify-content:center;line-height:1.05;flex-shrink:0;min-width:0}
.nav2-brand .nb{font-family:var(--f-display);font-size:calc((1.3rem)*var(--tk,1));font-weight:var(--w-mid);letter-spacing:.06em;white-space:nowrap}
.nav2-brand .ns{font-size:calc((.56rem)*var(--tk,1));letter-spacing:.3em;text-transform:uppercase;opacity:.7;margin-top:.35rem;white-space:nowrap}
.nav2-brand img{height:34px;width:auto}
.nav2-links{display:none;flex:1;justify-content:center;align-items:center;gap:clamp(1.4rem,2.4vw,2.75rem)}
@media(min-width:1024px){.nav2-links{display:flex}}
.nav2-link{font-size:calc((.95rem)*var(--tk,1));font-weight:500;position:relative;padding:.45rem 0;white-space:nowrap;opacity:.86;transition:opacity .2s}
.nav2-link:hover,.nav2-link.act{opacity:1}
.nav2-link.act::after{content:"";position:absolute;left:0;right:0;bottom:-.25rem;height:2px;border-radius:2px;background:var(--accent)}
body.nav-light .nav2-link.act::after{background:currentColor}
.nav2-r{display:flex;align-items:center;gap:1.1rem;margin-left:auto}
@media(min-width:1024px){.nav2-r{margin-left:0}}
.nav2-ic{display:inline-flex;align-items:center;gap:.4rem;position:relative;opacity:.9}
.nav2-ic:hover{opacity:1}
.nav2-ic .t{display:none}
.nav2-cnt{position:absolute;top:-7px;right:-9px;min-width:17px;height:17px;border-radius:9px;background:var(--accent);color:var(--on-accent);font-size:calc((.62rem)*var(--tk,1));font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}
.nav2-cta{display:none;align-items:center;gap:.5rem;height:42px;padding:0 1.25rem;border-radius:var(--btn-r);background:var(--accent);color:var(--on-accent);font-size:calc((.88rem)*var(--tk,1));font-weight:600;white-space:nowrap;transition:transform .25s,box-shadow .25s}
.nav2-cta:hover{transform:translateY(-1px);box-shadow:0 10px 22px -12px var(--accent)}
@media(min-width:640px){.nav2-cta{display:inline-flex}}
body.nav-light .nav2-cta{background:#fff;color:#111}
.nav2 .burger{display:flex;flex-shrink:0}
@media(min-width:1024px){.nav2 .burger{display:none}}
@media(max-width:1023px){.nav2-in .nav2-brand{margin-right:auto}}
.nav2-center{background:var(--paper);color:var(--ink)}
.nav2-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:72px;padding:0 1.25rem;max-width:1680px;margin:0 auto}
@media(min-width:768px){.nav2-top{padding:0 2.5rem}}
.nav2-side{display:flex;align-items:center;gap:1rem}.nav2-side.r{justify-content:flex-end;gap:1.25rem}
.nav2-center .nav2-brand{align-items:center;text-align:center}
.nav2-center .nav2-brand .nb{font-size:calc((1.65rem)*var(--tk,1));letter-spacing:.1em}
.nav2-center .nav2-links{display:none;height:48px;border-top:1px solid var(--line);max-width:1680px;margin:0 auto}
@media(min-width:1024px){.nav2-center .nav2-links{display:flex}.nav2-center .burger{display:none}}
.nav2-center .nav2-cta{height:36px;font-size:calc((.8rem)*var(--tk,1));padding:0 1rem}
.sk-nav-center main{padding-top:var(--nav-h)}
.sk-nav-center.nav-solid-page main>.sec:first-child{padding-top:calc(var(--sec-y,clamp(4rem,7vw,6rem))*var(--sec-k,1)*var(--sec-kt,1))}
.sk-nav-bar.nav-solid-page main>.sec:first-child{padding-top:calc(var(--sec-y,clamp(5rem,10vw,9rem))*var(--sec-k,1)*var(--sec-kt,1) + var(--nav-h) - 1rem)}
.sk-nav-center .hero,.sk-nav-center .slider{--hh-off:var(--nav-h)}
.sk-nav-center .sl-inset{padding-top:1rem}
.sk-nav-center .sl-in,.sk-nav-center .hero2-in{padding-top:3rem}
.sk-nav-center .hero-in{padding-top:4rem}
.sk-nav-center .hero2-split .hero2-media,.sk-nav-center .sl-split .sl-media{margin-top:0}

/* ═══ 하단 밝은 모양 ═══ */
.foot.light{background:var(--soft);color:var(--ink-80)}
.foot.light .fb{color:var(--ink)}
.foot.light .fb img{filter:none}
.foot.light h4{color:var(--ink-50)}
.foot.light a:hover{color:var(--ink)}
.foot.light .foot-soc a{border-color:var(--line-strong)}
.foot.light .foot-soc a:hover{border-color:var(--ink)}
.foot.light .foot-bot{border-top-color:var(--line)}
.foot.light .biz{color:var(--ink-50)}

/* ═══ 히어로 · 바로가기 줄 ═══ */
.hero-ql{position:absolute;left:0;right:0;bottom:0;z-index:3}
.ql-row{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(255,255,255,.26)}
@media(min-width:900px){.ql-row{grid-template-columns:repeat(var(--n),1fr)}}
.ql{display:flex;align-items:center;gap:.8rem;padding:1.35rem 1.25rem;color:#fff;border-right:1px solid rgba(255,255,255,.16);font-weight:500;font-size:calc((.95rem)*var(--tk,1));transition:background .3s}
.ql:hover{background:rgba(255,255,255,.08)}
.ql:last-child{border-right:0}
.ql-go{margin-left:auto;opacity:.6;transition:transform .3s}
.ql:hover .ql-go{transform:translateX(3px);opacity:1}
.hero.has-ql .hero-in{padding-bottom:10rem}
@media(max-width:899px){.ql{padding:1rem .75rem;font-size:calc((.85rem)*var(--tk,1))}.ql:nth-child(2n){border-right:0}.ql-ic{display:none}}
.hero2 .hero-ql{position:relative}
.hero2 .ql-row{border-top:1px solid var(--line)}
.hero2 .ql{color:var(--ink);border-right-color:var(--line)}
.hero2 .ql:hover{background:var(--ink-06)}

/* ═══ 히어로 · 글 왼쪽 사진 오른쪽 / 페이지 배너 ═══ */
.hero2{position:relative;overflow:hidden}
.hero2-split{min-height:max(580px,var(--hh,80vh));display:flex;flex-direction:column;justify-content:center}
.hero2-media{position:absolute;top:0;right:0;bottom:0;width:58%}
.hero2-media img,.hero2-media video{width:100%;height:100%;object-fit:cover}
.hero2-split .hero2-media{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24%);mask-image:linear-gradient(90deg,transparent 0,#000 24%)}
.hero2-split[data-first] .hero2-media img{animation:heroKb 16s cubic-bezier(.16,1,.3,1) both}
.hero2-in{position:relative;z-index:2;width:100%;padding-top:calc(var(--nav-h) + 3rem);padding-bottom:4.5rem}
.hero2-box{max-width:38rem}
.hero2 .eyebrow{display:block;margin-bottom:1.25rem}
.hero2 .sub{margin-top:1.4rem;opacity:.72;max-width:32rem}
.hero2 .btn-row{margin-top:2.25rem}
.hero2-banner{min-height:clamp(340px,34vw,460px);display:flex;flex-direction:column;justify-content:flex-end}
.hero2-banner .hero2-media{width:56%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 42%);mask-image:linear-gradient(90deg,transparent 0,#000 42%)}
.hero2-banner .hero2-in{padding-top:calc(var(--nav-h) + 4rem);padding-bottom:3.5rem}
.hero2-banner .d4{font-size:calc((clamp(1.9rem,3.3vw,3rem))*var(--tk,1))}
.hero2-tabs{position:relative;z-index:2;background:var(--paper);border-bottom:1px solid var(--line)}
.h2t-row{display:flex;gap:clamp(1.25rem,3vw,2.75rem);overflow-x:auto;scrollbar-width:none}
.h2t-row::-webkit-scrollbar{display:none}
.h2t{padding:1.15rem 0;font-size:calc((.95rem)*var(--tk,1));opacity:.58;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:opacity .2s}
.h2t:hover{opacity:1}.h2t.on{opacity:1;border-bottom-color:var(--accent);font-weight:600}
@media(max-width:899px){
  .hero2-split{min-height:0;justify-content:flex-start}
  .hero2-split .hero2-media{position:relative;width:100%;height:min(78vw,460px);margin-top:var(--nav-h);-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}
  .hero2-split .hero2-in{padding-top:.5rem;padding-bottom:3rem}
  .hero2-banner .hero2-media{width:100%;opacity:.5;-webkit-mask-image:linear-gradient(180deg,#000 30%,transparent);mask-image:linear-gradient(180deg,#000 30%,transparent)}
}

/* ═══ 메인 슬라이드 ═══ */
.slider{position:relative;height:calc(var(--hh,100vh) - var(--hh-off,0px));min-height:560px;overflow:hidden;background:#101010;color:#fff}
.sl-track{position:absolute;inset:0}
.sl-slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;visibility:hidden;transition:opacity 1.1s cubic-bezier(.4,0,.2,1),visibility 1.1s}
.sl-slide.is-on{opacity:1;visibility:visible;z-index:1}
.sl-media{position:absolute;inset:0;overflow:hidden}
.sl-media img,.sl-media video{width:100%;height:100%;object-fit:cover}
.sl-slide.is-on .sl-media img{animation:heroKb 9s cubic-bezier(.16,1,.3,1) both}
.sl-slide.tone-light .sl-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.52) 0%,rgba(0,0,0,.18) 55%,rgba(0,0,0,.06) 100%),linear-gradient(180deg,rgba(0,0,0,.34) 0%,transparent 28%,transparent 68%,rgba(0,0,0,.4) 100%)}
.sl-slide.tone-light.al-center .sl-media::after{background:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,.28) 50%,rgba(0,0,0,.45))}
.sl-slide.tone-light.al-right .sl-media::after{background:linear-gradient(270deg,rgba(0,0,0,.5),rgba(0,0,0,.12) 60%),linear-gradient(180deg,rgba(0,0,0,.3),transparent 30%)}
.sl-slide.tone-dark{color:var(--ink)}
.sl-slide.tone-dark .sl-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.62) 0%,rgba(255,255,255,.2) 50%,rgba(255,255,255,0) 75%)}
.sl-in{position:relative;z-index:2;width:100%;padding-top:calc(var(--nav-h) + 1.5rem);padding-bottom:7.5rem}
.sl-box{max-width:46rem}
.sl-slide.al-center .sl-in{text-align:center}.sl-slide.al-center .sl-box{margin:0 auto}
.sl-slide.al-right .sl-box{margin-left:auto}
.sl-box .eyebrow{display:block;margin-bottom:1.3rem;opacity:.86}
.sl-box .sub{margin-top:1.4rem;max-width:34rem;opacity:.9}
.sl-slide.al-center .sub{margin-left:auto;margin-right:auto}
.sl-box .btn-row{margin-top:2.4rem}
.sl-slide.al-center .btn-row{justify-content:center}
.sl-slide.tone-light .btn-solid{background:#fff;color:#111;border-color:#fff}
.slider .sl-slide .sg{opacity:0;transform:translateY(26px);transition-delay:0ms}
.slider.in .sl-slide.is-on .sg{opacity:1;transform:none;transition-delay:var(--d,0ms)}
html:not(.js) .slider .sl-slide.is-on .sg{opacity:1;transform:none}
.sl-ui{position:absolute;left:0;right:0;bottom:0;z-index:4;padding-bottom:2.25rem;pointer-events:none;color:#fff;transition:color .6s}
.slider[data-tone="dark"] .sl-ui{color:var(--ink)}
.sl-ui-in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.sl-ui button,.sl-ui a{pointer-events:auto}
.sl-pager{display:flex;align-items:center;gap:1.1rem}
.sl-numbers .sl-dot{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;font-size:calc((.78rem)*var(--tk,1));letter-spacing:.1em;opacity:.55;transition:opacity .3s;padding:.25rem 0}
.sl-numbers .sl-dot.on{opacity:1}
.sl-numbers .sl-dot i{display:block;width:52px;height:2px;background:currentColor;opacity:.35;position:relative;overflow:hidden}
.sl-numbers .sl-dot.on i{opacity:1;background:rgba(128,128,128,.4)}
.sl-numbers .sl-dot.on i::after{content:"";position:absolute;inset:0;background:currentColor;transform-origin:left center;transform:scaleX(1)}
.slider.run .sl-numbers .sl-dot.on i::after{animation:slbar var(--auto,6s) linear both}
@keyframes slbar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.sl-dots .sl-dot{width:8px;height:8px;border-radius:5px;background:currentColor;opacity:.4;transition:all .35s}
.sl-dots .sl-dot.on{opacity:1;width:26px}
.sl-fraction{font-size:calc((.9rem)*var(--tk,1));letter-spacing:.12em;gap:.55rem}
.sl-fraction .sl-cur{font-weight:700}
.sl-fraction .sl-sep{opacity:.5}
.sl-bar{display:block;width:clamp(80px,12vw,160px);height:2px;background:rgba(128,128,128,.4);position:relative;margin-left:.9rem;overflow:hidden}
.sl-bar i{position:absolute;left:0;top:0;bottom:0;background:currentColor;width:calc(100% * var(--i,1) / var(--n,1));transition:width .6s cubic-bezier(.16,1,.3,1)}
.sl-arrows{display:flex;gap:.5rem;align-items:center}
.sl-arrows button{width:46px;height:46px;border-radius:50%;border:1px solid currentColor;display:flex;align-items:center;justify-content:center;opacity:.78;transition:opacity .2s,background .2s}
.sl-arrows button:hover{opacity:1}
.sl-arrows .sl-play{width:34px;height:34px;border-color:transparent}
.sl-play .i-play{display:none}.slider.paused .sl-play .i-play{display:inline-flex}.slider.paused .sl-play .i-pause{display:none}
@media(max-width:640px){.sl-arrows .sl-prev,.sl-arrows .sl-next{display:none}.sl-numbers .sl-dot i{width:32px}}
.sl-split{color:inherit;background:var(--soft)}
.sl-split.bg-paper{background:var(--paper)}.sl-split.bg-ink{background:var(--deep)}.sl-split.bg-accent{background:var(--accent)}
.sl-split .sl-slide{color:inherit}
.sl-split .sl-media{left:auto;width:56%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24%);mask-image:linear-gradient(90deg,transparent 0,#000 24%)}
.sl-split .sl-media::after{display:none}
.sl-split .sl-box{max-width:36rem}
.sl-split .sl-ui{color:inherit}
.sl-split .sl-slide .btn-solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}
@media(max-width:899px){.sl-split{height:auto;min-height:0}.sl-split .sl-track{position:relative;height:auto;display:grid}.sl-split .sl-slide{position:relative;grid-area:1/1;flex-direction:column;align-items:stretch}.sl-split .sl-media{position:relative;width:100%;height:min(80vw,460px);margin-top:var(--nav-h);-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 72%,transparent)}.sl-split .sl-in{padding-top:.5rem;padding-bottom:6rem}}
.sl-inset{background:transparent;color:#fff;height:auto;min-height:0;padding:calc(var(--nav-h) + .75rem) .75rem 0}
@media(min-width:768px){.sl-inset{padding-left:1.5rem;padding-right:1.5rem}}
.sl-inset .sl-track{position:relative;height:calc(var(--hh,100vh) * .74);min-height:440px;max-width:1680px;margin:0 auto;border-radius:max(var(--card-r),18px);overflow:hidden;background:#101010}
.sl-inset .sl-ui{left:.75rem;right:.75rem;max-width:1680px;margin:0 auto}
@media(min-width:768px){.sl-inset .sl-ui{left:1.5rem;right:1.5rem}}

/* ═══ 아이콘 목록 ═══ */
.sec-icons{--sec-y:clamp(3.5rem,6vw,5.5rem)}
.irow{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem 1rem}
@media(min-width:768px){.irow{grid-template-columns:repeat(var(--md,3),1fr)}}
@media(min-width:1100px){.irow{grid-template-columns:repeat(var(--lg,4),1fr)}}
.ir{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;padding:.35rem .9rem;transition:transform .35s}
a.ir:hover{transform:translateY(-4px)}
.ir-ic{color:var(--accent);margin-bottom:.45rem;display:flex;align-items:center;justify-content:center}
.ir-t{font-weight:600;font-size:calc((1rem)*var(--tk,1));letter-spacing:-.005em}
.ir-x{font-size:calc((.84rem)*var(--tk,1));opacity:.6;line-height:1.55}
@media(min-width:1100px){.ir-plain .ir+.ir{border-left:1px solid var(--line)}}
.ir-circle .ir-ic{width:76px;height:76px;border-radius:50%;background:var(--accent-08)}
.ir-card .ir{background:var(--card-bg);border-radius:max(var(--card-r),14px);padding:1.9rem 1rem 1.6rem;box-shadow:var(--shadow)}

/* ═══ 사진 카드 모음 ═══ */
.tiles{display:grid;gap:clamp(2rem,4vw,4rem)}
@media(min-width:1024px){.tl-side{grid-template-columns:minmax(260px,.85fr) 2.15fr;align-items:center}}
.tl-head .eyebrow,.ms-head .eyebrow{display:block;margin-bottom:1rem}
.tl-head .d4,.ms-head .d4{margin-bottom:1.25rem}
.tl-head .btn-row,.ms-head .btn-row{margin-top:2rem}
.tl-grid .tl-head{max-width:48rem}
.tl-items{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(.75rem,1.4vw,1.25rem)}
@media(min-width:768px){.tl-items{grid-template-columns:repeat(var(--n),1fr)}}
.tile{position:relative;overflow:hidden;border-radius:var(--card-r);background:var(--soft);display:block;aspect-ratio:3/4;isolation:isolate}
.r-square .tile{aspect-ratio:1/1}.r-landscape .tile{aspect-ratio:4/3}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
a.tile:hover img{transform:scale(1.06)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 42%,rgba(0,0,0,.58) 100%);z-index:1}
.tile-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.25rem 1.25rem 1.35rem;color:#fff;display:flex;flex-direction:column;gap:.3rem}
.tile-cap b{font-size:calc((clamp(1rem,1.3vw,1.2rem))*var(--tk,1));font-weight:600;padding-right:2.5rem}
.tile-cap span{font-size:calc((.84rem)*var(--tk,1));opacity:.86;line-height:1.45;padding-right:2.5rem}
.tile-go{position:absolute;right:1.1rem;bottom:1.25rem;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;transition:background .3s,color .3s}
a.tile:hover .tile-go{background:#fff;color:#111}

/* ═══ 사진 모음 + 글 ═══ */
.mosaic{display:grid;gap:clamp(2rem,4vw,4rem)}
@media(min-width:1024px){.ms-side{grid-template-columns:minmax(260px,.8fr) 2fr;align-items:center}}
.ms-top .ms-head{max-width:48rem}
.ms-grid{display:grid;gap:clamp(.5rem,1vw,.9rem);grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(120px,15vw,250px)}
.ms-i{position:relative;overflow:hidden;border-radius:calc(var(--card-r) * .8);background:var(--soft);display:block}
.ms-i img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.ms-i:hover img{transform:scale(1.04)}
.ms-n3{grid-template-columns:2fr 1fr}.ms-n3 .ms-i:first-child{grid-row:span 2}
.ms-n4,.ms-n5{grid-template-columns:2fr 1fr 1fr}.ms-n4 .ms-i:first-child,.ms-n5 .ms-i:first-child{grid-row:span 2}.ms-n4 .ms-i:nth-child(4){grid-column:span 2}
.ms-n6{grid-template-columns:repeat(3,1fr)}.ms-n6 .ms-i:first-child{grid-column:span 2;grid-row:span 2}
.ms-cap{position:absolute;left:.85rem;bottom:.75rem;color:#fff;font-size:calc((.8rem)*var(--tk,1));font-weight:500;text-shadow:0 1px 10px rgba(0,0,0,.45)}

/* ═══ 옆으로 넘기는 카드 (carousel · 목록 rail) ═══ */
.rail-top{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:clamp(2rem,4vw,3rem)}
.rail-top .sec-head{margin-bottom:0}
.rail-arrows{display:flex;gap:.5rem;flex-shrink:0}
.rail-arrows button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;transition:background .25s,color .25s,border-color .25s,opacity .25s}
.rail-arrows button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.rail-arrows button[disabled]{opacity:.3;pointer-events:none}
.rail,.items.rail{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--pv,4) - 1) * 1.25rem) / var(--pv,4));gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:.25rem;overscroll-behavior-x:contain}
.rail::-webkit-scrollbar{display:none}
.rail>*{scroll-snap-align:start;min-width:0}
@media(max-width:1023px){.rail,.items.rail{grid-auto-columns:calc((100% - 1.25rem) / 2.3)}}
@media(max-width:640px){.rail,.items.rail{grid-auto-columns:78%}}
.rc{display:flex;flex-direction:column;gap:1rem;position:relative}
.rc-img{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--card-r);background:var(--soft)}
.rail.r-square .rc-img{aspect-ratio:1/1}.rail.r-landscape .rc-img{aspect-ratio:4/3}
.rc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.rc:hover .rc-img img{transform:scale(1.05)}
.rc-badge{position:absolute;top:.85rem;left:.85rem;background:var(--paper);color:var(--ink);font-size:calc((.72rem)*var(--tk,1));font-weight:600;padding:.32rem .7rem;border-radius:999px;letter-spacing:.02em}
.rc-t{display:block;font-size:calc((1.05rem)*var(--tk,1));font-weight:600;line-height:1.4}
.rc-x{font-size:calc((.9rem)*var(--tk,1));opacity:.64;line-height:1.6;margin-top:.35rem}
.rc-overlay .rc-body{position:absolute;left:0;right:0;bottom:0;padding:1.4rem 1.25rem;color:#fff;background:linear-gradient(180deg,transparent,rgba(0,0,0,.62));border-radius:0 0 var(--card-r) var(--card-r)}

/* ═══ 대표 소개 ═══ */
.prof{display:grid;gap:clamp(2.5rem,5vw,5.5rem);align-items:center}
@media(min-width:900px){.prof{grid-template-columns:1.05fr .95fr}.pf-left .pf-media{order:-1}}
.prof.pf-noimg{grid-template-columns:1fr;max-width:48rem}
.pf-body .eyebrow{display:block;margin-bottom:1rem}
.pf-body .d4{margin-bottom:1.6rem}
.pf-name{display:flex;align-items:baseline;flex-wrap:wrap;gap:.6rem;margin-bottom:1.4rem}
.pf-name span{font-size:calc((.92rem)*var(--tk,1));opacity:.6}
.pf-name b{font-size:calc((1.6rem)*var(--tk,1));font-weight:var(--w-mid);font-family:var(--f-display)}
.pf-list{list-style:none;margin-top:1.75rem;display:grid;gap:.6rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.pf-list li{display:flex;gap:.75rem;font-size:calc((.95rem)*var(--tk,1));opacity:.85;line-height:1.55}
.pf-list li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);margin-top:.62em;flex-shrink:0}
.pf-sign{font-family:'Allura','Brush Script MT','Segoe Script',cursive;font-size:calc((2.6rem)*var(--tk,1));line-height:1;margin-top:1.75rem;opacity:.78;letter-spacing:0!important;text-transform:none}
.pf-media{aspect-ratio:4/5;overflow:hidden;border-radius:var(--card-r);background:var(--soft)}
.pf-media img{width:100%;height:100%;object-fit:cover}

/* ═══ 가격 안내 ═══ */
.pl-tabs{display:flex;gap:.25rem;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-bottom:clamp(2rem,4vw,3rem);border-bottom:1px solid var(--line);position:sticky;top:var(--nav-h);z-index:5;background:inherit}
.bg-paper .pl-tabs{background:var(--paper)}.bg-soft .pl-tabs{background:var(--soft)}
.pl-tabs::-webkit-scrollbar{display:none}
.pl-tabs a{padding:1rem 1.1rem;font-size:calc((.95rem)*var(--tk,1));opacity:.58;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:opacity .2s}
.pl-tabs a.on,.pl-tabs a:hover{opacity:1}.pl-tabs a.on{border-bottom-color:var(--accent);font-weight:600}
.pl-groups{display:grid;gap:clamp(2.25rem,4vw,3.5rem)}
.plg{display:grid;gap:2rem;padding-bottom:clamp(2.25rem,4vw,3.5rem);border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--nav-h) + 4.5rem)}
.plg:last-child{border-bottom:0;padding-bottom:0}
@media(min-width:900px){.plg.has-img{grid-template-columns:1.55fr 1fr;align-items:center;gap:clamp(2rem,5vw,5rem)}}
.plg-t{font-size:calc((clamp(1.15rem,1.6vw,1.4rem))*var(--tk,1));font-weight:var(--w-mid);color:var(--accent);font-family:var(--f-display)}
.plg-d{font-size:calc((.9rem)*var(--tk,1));opacity:.62;margin-top:.45rem;line-height:1.6}
.pl-rows{list-style:none;margin-top:1.1rem}
.pl-rows li{display:flex;align-items:baseline;gap:.75rem;padding:.85rem 0}
.pl-rows li+li{border-top:1px solid var(--ink-06)}
.pl-n{font-size:calc((1rem)*var(--tk,1))}.pl-n small{display:block;font-size:calc((.8rem)*var(--tk,1));opacity:.55;margin-top:.2rem}
.pl-dots{flex:1;border-bottom:1px dotted var(--line-strong);transform:translateY(-.3em);min-width:1rem}
.pl-p{font-weight:600;white-space:nowrap;font-size:calc((1.02rem)*var(--tk,1))}
.plg-img{aspect-ratio:4/3;overflow:hidden;border-radius:var(--card-r);background:var(--soft)}
.plg-img img{width:100%;height:100%;object-fit:cover}
.pl-note{margin-top:2rem;font-size:calc((.85rem)*var(--tk,1))}

/* ═══ 기획전 · 이벤트 배너 ═══ */
.sec-promo{--sec-y:clamp(3rem,6vw,5rem)}
.promos{display:grid;gap:clamp(.75rem,1.4vw,1.25rem)}
@media(min-width:768px){.promos{grid-template-columns:repeat(var(--n),1fr)}}
.promo{position:relative;overflow:hidden;border-radius:max(var(--card-r),14px);display:block;background:var(--soft);height:clamp(280px,30vw,440px);isolation:isolate}
.ph-sm .promo{height:clamp(200px,20vw,280px)}.ph-lg .promo{height:clamp(380px,42vw,600px)}
.promo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.3s cubic-bezier(.16,1,.3,1)}
a.promo:hover img{transform:scale(1.05)}
.promo.tone-light::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.58));z-index:1}
.promo-in{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(1.5rem,3vw,2.5rem);display:flex;flex-direction:column;gap:.45rem}
.promo.tone-light .promo-in{color:#fff}.promo.tone-dark .promo-in{color:#111}
.promo-e{font-size:calc((.76rem)*var(--tk,1));letter-spacing:.16em;text-transform:uppercase;opacity:.86;font-weight:600}
.promo-t{font-family:var(--f-display);font-size:calc((clamp(1.35rem,2.3vw,2.2rem))*var(--tk,1));font-weight:var(--w-mid);line-height:1.22;padding-right:3rem}
.promo-s{font-size:calc((.93rem)*var(--tk,1));opacity:.86}
.promo-go{position:absolute;right:clamp(1.5rem,3vw,2.5rem);bottom:clamp(1.5rem,3vw,2.5rem);width:40px;height:40px;border-radius:50%;border:1px solid currentColor;display:flex;align-items:center;justify-content:center;opacity:.85}

/* ═══ 카테고리 바로가기 ═══ */
.sec-cats{--sec-y:clamp(2.75rem,5vw,4.5rem)}
.cats-title{font-family:var(--f-display);font-size:calc((clamp(1.2rem,1.8vw,1.5rem))*var(--tk,1));font-weight:var(--w-mid);margin-bottom:1.75rem}
.cats{display:flex;gap:clamp(1rem,2.4vw,2.25rem);overflow-x:auto;scrollbar-width:none;padding:.25rem 0}
.cats::-webkit-scrollbar{display:none}
.cats::before,.cats::after{content:"";margin:auto}
.catx{display:flex;flex-direction:column;align-items:center;gap:.75rem;flex:0 0 auto;width:clamp(78px,9vw,116px);text-align:center}
.catx-img{width:100%;aspect-ratio:1/1;border-radius:50%;overflow:hidden;background:var(--soft);display:flex;align-items:center;justify-content:center;transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s}
a.catx:hover .catx-img{transform:translateY(-5px);box-shadow:var(--shadow)}
.catx-img img{width:100%;height:100%;object-fit:cover}
.catx-img.ic{color:var(--accent);background:var(--accent-08)}
.catx-l{font-size:calc((.88rem)*var(--tk,1));font-weight:500;line-height:1.35}
.cats-square .catx-img{border-radius:max(var(--card-r),14px)}
.cats-strip{display:grid;grid-template-columns:repeat(var(--n),minmax(130px,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cats-strip::before,.cats-strip::after{display:none}
.cats-strip .catx{width:auto;padding:1.5rem 1rem 1.25rem;border-right:1px solid var(--line)}
.cats-strip .catx:last-child{border-right:0}
.cats-strip .catx-img{border-radius:0;background:transparent;aspect-ratio:16/10}
.cats-strip .catx-img img{object-fit:contain}
.cats-strip a.catx:hover .catx-img{box-shadow:none}

/* ═══ 사진 + 글 · 포인트 · 사진 모양 ═══ */
.split-mwrap{position:relative;min-width:0}
.im-rounded .split-media{border-radius:max(var(--card-r),18px)}
.im-arch .split-media{border-radius:1000px 1000px max(var(--card-r),0px) max(var(--card-r),0px)}
@media(min-width:900px){.split.im-wide{grid-template-columns:.9fr 1.2fr}.split.im-wide.img-left{grid-template-columns:1.2fr .9fr}}
.im-wide .split-media{aspect-ratio:4/3}
.split.has-img2 .split-mwrap{padding:0 0 14% 14%}
.split.has-img2.img-left .split-mwrap{padding:0 14% 14% 0}
.split-media2{position:absolute;left:0;bottom:0;width:44%;aspect-ratio:1/1;overflow:hidden;border:6px solid var(--paper);border-radius:max(var(--card-r),6px);background:var(--soft);box-shadow:var(--shadow)}
.bg-soft .split-media2{border-color:var(--soft)}
.img-left .split-media2{left:auto;right:0}
.split-media2 img{width:100%;height:100%;object-fit:cover}
.pts{margin-top:2rem;display:grid;gap:1.3rem}
.pts-list .pt{display:flex;gap:1rem;align-items:flex-start}
.pt-ic{width:46px;height:46px;border-radius:50%;background:var(--accent-08);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pt-tx b{display:block;font-weight:600;font-size:calc((1rem)*var(--tk,1));line-height:1.4}
.pt-tx span{display:block;font-size:calc((.9rem)*var(--tk,1));opacity:.64;margin-top:.25rem;line-height:1.55}
.pts-boxes{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem}
.pts-boxes .pt{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.55rem;padding:1.35rem .75rem 1.2rem;border:1px solid var(--line);border-radius:max(var(--card-r),12px);background:var(--card-bg)}
.pts-boxes .pt-ic{background:transparent;width:auto;height:auto}
.pts-boxes .pt-tx b{font-size:calc((.92rem)*var(--tk,1))}.pts-boxes .pt-tx span{font-size:calc((.8rem)*var(--tk,1))}

/* ═══ 행동 유도 · 둥근 띠 / 한 줄 ═══ */
.sec-ctab{--sec-y:clamp(3rem,6vw,5rem)}
.ctab{border-radius:max(var(--card-r),18px);overflow:hidden;display:grid}
@media(min-width:900px){.ctab-band.has-img{grid-template-columns:.95fr 1.05fr}}
.ctab-media{min-height:260px;position:relative}
.ctab-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ctab-body{padding:clamp(2rem,4.5vw,4rem);display:flex;flex-direction:column;justify-content:center;gap:1.75rem}
.ctab-tx .eyebrow{display:block;margin-bottom:.9rem;opacity:.8}
.ctab-tx .lead{margin-top:1rem}
@media(min-width:900px){.ctab-split .ctab-body{flex-direction:row;align-items:center;justify-content:space-between}}
.ctab .btn-row{margin:0}
.ctab.bg-accent .btn-solid,.ctab.bg-ink .btn-solid{background:#fff;color:#111;border-color:#fff}
.ctab .btn-ghost{color:inherit}

/* ═══ 목록 · 사진 카드 모양 ═══ */
.items.cardsx .item{background:var(--card-bg);border-radius:max(var(--card-r),12px);overflow:hidden;box-shadow:var(--shadow);gap:.55rem;padding-bottom:1.4rem}
.items.cardsx .th{aspect-ratio:4/3}
.items.cardsx .item>*:not(.th){margin-left:1.3rem;margin-right:1.3rem}
.items.cardsx .item>.th+*{margin-top:.6rem}
.items.rail .th{border-radius:var(--card-r)}

/* ════════════ 스킨 · soft (병원 · 뷰티 · 카페 · 웰니스) ════════════ */
.sk-skin-soft{--card-r:18px;--tt:none;--w-light:500;--w-xlight:400;--w-mid:600;--sec-y:clamp(4.5rem,8vw,7.5rem)}
.sk-skin-soft.sk-case-upper{--tt:uppercase}
.sk-skin-soft .d1{font-size:calc((clamp(2.2rem,4.4vw,4.3rem))*var(--tk,1));letter-spacing:-.025em;line-height:1.16}
.sk-skin-soft .d2{letter-spacing:-.02em;line-height:1.3}
.sk-skin-soft .d3,.sk-skin-soft .d4{letter-spacing:-.02em;line-height:1.28}
.sk-skin-soft .d4{font-size:calc((clamp(1.6rem,2.8vw,2.6rem))*var(--tk,1))}
.sk-skin-soft .h5{letter-spacing:-.005em;font-size:calc((1.08rem)*var(--tk,1))}
.sk-skin-soft .eyebrow{font-size:calc((.76rem)*var(--tk,1));letter-spacing:.2em;color:var(--accent);opacity:1;font-weight:600}
.sk-skin-soft .sec-head .eyebrow{opacity:1}
.sk-skin-soft .hero .eyebrow,.sk-skin-soft .sl-slide.tone-light .eyebrow,.sk-skin-soft .bg-ink .eyebrow,.sk-skin-soft .bg-accent .eyebrow{color:inherit}
.sk-skin-soft .btn-solid{background:var(--accent);border-color:var(--accent);color:var(--on-accent);letter-spacing:.01em;text-transform:none;font-size:calc((.95rem)*var(--tk,1));font-weight:600;padding:.9rem 1.6rem;min-height:52px;box-shadow:0 12px 26px -14px var(--accent-30,var(--accent))}
.sk-skin-soft .btn-ghost{letter-spacing:.01em;text-transform:none;font-size:calc((.95rem)*var(--tk,1));font-weight:500;border-color:currentColor;min-height:52px;padding:.9rem 1.5rem}
.sk-skin-soft .btn-line{letter-spacing:.01em;text-transform:none;font-size:calc((.95rem)*var(--tk,1));font-weight:600}
.sk-skin-soft .btn-line .circ{border-color:var(--line-strong)}
.sk-skin-soft .sl-slide.tone-light .btn-solid,.sk-skin-soft .hero.tone-light .btn-solid{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.sk-skin-soft .card{border-top:0;background:var(--card-bg);border-radius:var(--card-r);padding:2rem 1.75rem;box-shadow:var(--shadow)}
.sk-skin-soft .card .ico{border:0;background:var(--accent-08);color:var(--accent);width:54px;height:54px}
.sk-skin-soft .card .cimg{border-radius:calc(var(--card-r) - 6px);margin:-.75rem -.75rem .5rem}
.sk-skin-soft .card .more{text-transform:none;letter-spacing:.01em;font-size:calc((.88rem)*var(--tk,1));font-weight:600;color:var(--accent)}
.sk-skin-soft .split-media,.sk-skin-soft .item .th,.sk-skin-soft .masonry a,.sk-skin-soft .detail .dimg,.sk-skin-soft .vid,.sk-skin-soft .map{border-radius:var(--card-r)}
.sk-skin-soft .bul{border-top:0}.sk-skin-soft .bul li{border-bottom:0;padding:.55rem 0}
.sk-skin-soft .bul li::before{width:18px;height:18px;border-radius:50%;background:var(--accent-14);margin-top:.2em}
.sk-skin-soft .item .ttl{letter-spacing:-.005em;font-weight:600}
.sk-skin-soft .item .cat,.sk-skin-soft .label{letter-spacing:.08em}
.sk-skin-soft .badge{border-radius:999px;background:var(--accent);color:var(--on-accent);letter-spacing:.04em}
.sk-skin-soft .step{border:0;background:var(--card-bg);border-radius:var(--card-r);padding:1.75rem 1.5rem;margin-bottom:.9rem;box-shadow:var(--shadow)}
.sk-skin-soft .steps{border-top:0}
.sk-skin-soft .step .n{color:var(--accent);opacity:1;font-weight:700}
.sk-skin-soft .plan{border-radius:var(--card-r);background:var(--card-bg);box-shadow:var(--shadow);border-color:transparent}
.sk-skin-soft .plan.hi{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.sk-skin-soft .quote{background:var(--card-bg);border-radius:var(--card-r);padding:2rem;box-shadow:var(--shadow)}
.sk-skin-soft .quote .stars{color:var(--accent);opacity:1}
.sk-skin-soft .quote q{font-size:calc((1.02rem)*var(--tk,1));font-family:var(--f-body);line-height:1.75}
.sk-skin-soft .faq{border-top:0;display:grid;gap:.75rem}
.sk-skin-soft .faq details{border:0;background:var(--card-bg);border-radius:14px;padding:0 1.5rem;box-shadow:var(--shadow)}
.sk-skin-soft .faq summary{padding:1.3rem 0;font-weight:500}
.sk-skin-soft .faq summary .ic{color:var(--accent)}
.sk-skin-soft .stat .v{color:var(--accent);font-weight:600}
.sk-skin-soft .fld label{text-transform:none;letter-spacing:.01em;font-size:calc((.85rem)*var(--tk,1));opacity:.75}
.sk-skin-soft .fld input,.sk-skin-soft .fld select,.sk-skin-soft .fld textarea{border:1px solid var(--line-strong);border-radius:12px;padding:.85rem 1rem;background:var(--card-bg)}
.sk-skin-soft .fld select{background-position:right 12px center;padding-right:2.2rem}
.sk-skin-soft .fld input:focus,.sk-skin-soft .fld select:focus,.sk-skin-soft .fld textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-14)}
.sk-skin-soft .contact-grid>div:last-child .form,.sk-skin-soft #reserve .form{background:var(--card-bg);border-radius:var(--card-r);padding:clamp(1.5rem,3vw,2.5rem);box-shadow:var(--shadow)}
.sk-skin-soft .info-list{border-top:0}.sk-skin-soft .info-list li{border-bottom:1px solid var(--ink-06)}
.sk-skin-soft .info-list .k{text-transform:none;letter-spacing:.02em;color:var(--accent);opacity:1;font-weight:600;font-size:calc((.82rem)*var(--tk,1))}
.sk-skin-soft .note{border-radius:14px;background:var(--card-bg)}
.sk-skin-soft .filters a,.sk-skin-soft .tabs-m a{text-transform:none;letter-spacing:.01em;font-size:calc((.92rem)*var(--tk,1))}
.sk-skin-soft .filters a.on{border-bottom-color:var(--accent)}
.sk-skin-soft .news{border-top:0}.sk-skin-soft .news a{border-bottom-color:var(--ink-06)}
.sk-skin-soft .cta.bg-ink,.sk-skin-soft .cta.bg-accent{border-radius:0}
.sk-skin-soft .mm{background:var(--paper);color:var(--ink)}
.sk-skin-soft .mm-link{color:var(--ink-50);text-transform:none;font-weight:600}
.sk-skin-soft .mm-link.act,.sk-skin-soft .mm-link:hover{color:var(--ink)}
.sk-skin-soft .mm-close{border-color:var(--line-strong)}
.sk-skin-soft .mm-foot{color:var(--ink-50);text-transform:none;letter-spacing:.02em}
.sk-skin-soft .hero .p-eye{opacity:.9}

/* ════════════ 스킨 · corporate (기업 · 제조 · 건설 · IR) ════════════ */
.sk-skin-corporate{--card-r:6px;--tt:none;--w-light:700;--w-xlight:600;--w-mid:600;--sec-y:clamp(5rem,9vw,8.5rem)}
.sk-skin-corporate.sk-case-upper{--tt:uppercase}
.sk-skin-corporate .d1{font-size:calc((clamp(2.4rem,5.4vw,5.6rem))*var(--tk,1));letter-spacing:-.035em;line-height:1.06}
.sk-skin-corporate .d2,.sk-skin-corporate .d3{letter-spacing:-.03em;line-height:1.14}
.sk-skin-corporate .d4{font-size:calc((clamp(1.8rem,3.2vw,3rem))*var(--tk,1));letter-spacing:-.03em;line-height:1.16}
.sk-skin-corporate .h5{letter-spacing:-.01em;font-size:calc((1.15rem)*var(--tk,1));font-weight:700}
.sk-skin-corporate .eyebrow{font-size:calc((.8rem)*var(--tk,1));letter-spacing:.14em;color:var(--accent);opacity:1;font-weight:700}
.sk-skin-corporate .hero .eyebrow,.sk-skin-corporate .sl-slide.tone-light .eyebrow,.sk-skin-corporate .bg-ink .eyebrow,.sk-skin-corporate .bg-accent .eyebrow{color:inherit;opacity:.85}
.sk-skin-corporate .btn-solid{background:var(--accent);border-color:var(--accent);color:var(--on-accent);text-transform:none;letter-spacing:0;font-size:calc((.95rem)*var(--tk,1));font-weight:600;padding:.9rem 1.5rem}
.sk-skin-corporate .btn-ghost{text-transform:none;letter-spacing:0;font-size:calc((.95rem)*var(--tk,1));font-weight:600}
.sk-skin-corporate .btn-line{text-transform:none;letter-spacing:0;font-size:calc((.95rem)*var(--tk,1));font-weight:700}
.sk-skin-corporate .card{border-top:3px solid var(--accent);background:var(--soft);padding:2rem 1.75rem 1.9rem;border-radius:0 0 var(--card-r) var(--card-r);transition:transform .35s,box-shadow .35s}
.sk-skin-corporate .card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.sk-skin-corporate .card .ico{border:0;background:var(--paper);color:var(--accent);border-radius:var(--card-r)}
.sk-skin-corporate .card .more{text-transform:none;letter-spacing:0;font-weight:700;color:var(--accent)}
.sk-skin-corporate .stat .v{font-weight:800;letter-spacing:-.04em}
.sk-skin-corporate .stat .l{text-transform:none;letter-spacing:.02em;font-size:calc((.9rem)*var(--tk,1))}
.sk-skin-corporate .item .ttl{font-weight:700;letter-spacing:-.01em}
.sk-skin-corporate .step .n{color:var(--accent);opacity:1;font-weight:800;font-size:calc((1rem)*var(--tk,1))}
.sk-skin-corporate .split-media,.sk-skin-corporate .item .th{border-radius:var(--card-r)}
.sk-skin-corporate .label,.sk-skin-corporate .item .cat{letter-spacing:.06em}
.sk-skin-corporate .nav2-link{font-weight:600}
.sk-skin-corporate .faq summary{font-weight:600}
.sk-skin-corporate .fld label{text-transform:none;letter-spacing:0;font-weight:600;font-size:calc((.85rem)*var(--tk,1))}
.sk-skin-corporate .fld input,.sk-skin-corporate .fld select,.sk-skin-corporate .fld textarea{border:1px solid var(--line-strong);border-radius:var(--card-r);padding:.85rem 1rem}

/* ════════════ 스킨 · shop (쇼핑 · 패션 · 리빙) ════════════ */
.sk-skin-shop{--card-r:10px;--tt:none;--w-light:600;--w-xlight:500;--w-mid:600;--sec-y:clamp(3.25rem,6vw,5.5rem)}
.sk-skin-shop.sk-case-upper{--tt:uppercase}
.sk-skin-shop .d1{font-size:calc((clamp(2rem,4.2vw,4rem))*var(--tk,1));letter-spacing:-.025em;line-height:1.14}
.sk-skin-shop .d4{font-size:calc((clamp(1.35rem,2.1vw,1.9rem))*var(--tk,1));letter-spacing:-.02em;line-height:1.3}
.sk-skin-shop .sec-head{margin-bottom:clamp(1.5rem,3vw,2.25rem)}
.sk-skin-shop .eyebrow{font-size:calc((.74rem)*var(--tk,1));letter-spacing:.16em;color:var(--accent);opacity:1;font-weight:700}
.sk-skin-shop .hero .eyebrow,.sk-skin-shop .sl-slide .eyebrow{color:inherit}
.sk-skin-shop .btn-solid{text-transform:none;letter-spacing:0;font-size:calc((.92rem)*var(--tk,1));font-weight:600;min-height:46px;padding:.8rem 1.4rem}
.sk-skin-shop .btn-ghost{text-transform:none;letter-spacing:0;font-size:calc((.92rem)*var(--tk,1));min-height:46px;padding:.8rem 1.4rem}
.sk-skin-shop .btn-line{text-transform:none;letter-spacing:0;font-size:calc((.92rem)*var(--tk,1));font-weight:600}
.sk-skin-shop .items{gap:clamp(1.5rem,2.5vw,2.25rem) clamp(.75rem,1.4vw,1.25rem)}
.sk-skin-shop .item{gap:.55rem}
.sk-skin-shop .item .th{border-radius:var(--card-r);aspect-ratio:1/1.08}
.sk-skin-shop .item .ttl{font-size:calc((.95rem)*var(--tk,1));font-weight:500;letter-spacing:0}
.sk-skin-shop .item .pr{font-weight:700;font-size:calc((1rem)*var(--tk,1))}
.sk-skin-shop .item .pr s{font-weight:400}
.sk-skin-shop .item .cat{letter-spacing:.04em;text-transform:none;font-size:calc((.78rem)*var(--tk,1))}
.sk-skin-shop .badge{background:var(--accent);color:var(--on-accent);border-radius:4px;letter-spacing:.04em;font-weight:700;top:.6rem;left:.6rem}
.sk-skin-shop .item .act .mini{text-transform:none;letter-spacing:0;font-size:calc((.82rem)*var(--tk,1));border:1px solid var(--line-strong);border-radius:6px;padding:.35rem .7rem}
.sk-skin-shop .card{border-top:0;background:var(--soft);border-radius:var(--card-r);padding:1.75rem}
.sk-skin-shop .card .more,.sk-skin-shop .label,.sk-skin-shop .filters a{text-transform:none;letter-spacing:.01em}
.sk-skin-shop .filters a{font-size:calc((.9rem)*var(--tk,1));border:1px solid var(--line);border-radius:999px;padding:.45rem 1rem;opacity:.75}
.sk-skin-shop .filters a.on{background:var(--ink);color:var(--paper);border-color:var(--ink);opacity:1}
.sk-skin-shop .filters{gap:.5rem}
.sk-skin-shop .fld label{text-transform:none;letter-spacing:0;font-size:calc((.85rem)*var(--tk,1))}
.sk-skin-shop .fld input,.sk-skin-shop .fld select,.sk-skin-shop .fld textarea{border:1px solid var(--line-strong);border-radius:8px;padding:.8rem .95rem}
.sk-skin-shop .nav2-link{font-weight:600;font-size:calc((.92rem)*var(--tk,1))}

/* 공통: 한글 제목은 대문자 변환 · 넓은 자간 없이 */
:lang(ko) .sk-skin-soft .eyebrow,:lang(ko) .sk-skin-corporate .eyebrow,:lang(ko) .sk-skin-shop .eyebrow{letter-spacing:.12em}

/* 모바일 다듬기 (v95) */
@media(max-width:767px){
  .tl-items{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:68%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-right:-1.5rem;padding-right:1.5rem}
  .tl-items::-webkit-scrollbar{display:none}
  .tl-items>.tile{scroll-snap-align:start}
  .promos{grid-auto-flow:column;grid-auto-columns:86%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .promos::-webkit-scrollbar{display:none}
  .promo{scroll-snap-align:start}
}
@media(max-width:640px){
  .sk-skin-shop .items.c3,.sk-skin-shop .items.c4{grid-template-columns:1fr 1fr}
  .sk-skin-shop .item .ds{display:none}
  .sk-skin-shop .rail,.sk-skin-shop .items.rail{grid-auto-columns:44%}
  .sk-skin-shop .item .act .mini{font-size:calc((.75rem)*var(--tk,1));padding:.3rem .55rem}
}

/* ═══ v96 · 맞춤 섹션 (AI 가 직접 디자인한 섹션) ═══
   섹션 CSS 는 #s번호 로 한정되어 다른 섹션에 영향 없음 · 아래는 공통 바탕만 */
.sec-x{position:relative;overflow:clip}
.sec-x img{max-width:100%;height:auto}
.sec-x .fill{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sec-x .cover{width:100%;height:100%;object-fit:cover}
.sec-x .pad{padding-top:calc(var(--sec-y,clamp(5rem,10vw,9rem))*var(--sec-k,1)*var(--sec-kt,1));padding-bottom:calc(var(--sec-y,clamp(5rem,10vw,9rem))*var(--sec-k,1)*var(--sec-kb,1))}
.sec-x .acc{color:var(--accent)}
.sec-x .ink{color:var(--ink)}
.sec-x .serif{font-family:var(--f-display)}
.sec-x .btn-solid{display:inline-flex}
.sec-x details summary{cursor:pointer;list-style:none}
.sec-x details summary::-webkit-details-marker{display:none}
.bg-ink.sec-x,.sec-x[data-tone="light"]{--line:rgba(255,255,255,.18)}
.sec-x .map iframe{width:100%;min-height:320px;border:0;display:block}
.sk-w{position:relative}

/* 폼 선택지 */
.skform .opts{display:flex;flex-wrap:wrap;gap:.6rem 1.25rem;padding-top:.35rem}
.skform .opts .chk{opacity:.9;align-items:center}
.skform .flash{margin-bottom:1.5rem}

/* 탭 */
[data-sk-tabs] [data-tab]{cursor:pointer}
[data-sk-tabs] [data-panel][hidden],[data-sk-tabs] [data-pane][hidden]{display:none!important}
[data-sk-tabs] [data-panel].on,[data-sk-tabs] [data-pane].on{animation:skfade .5s ease both}
@keyframes skfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* 옆으로 넘기는 줄 */
[data-sk-rail]{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
[data-sk-rail]::-webkit-scrollbar{display:none}
[data-sk-rail]>*{scroll-snap-align:start;flex-shrink:0}
[data-sk-prev]:disabled,[data-sk-next]:disabled{opacity:.3;cursor:default}

/* 차례로 바뀌기 */
[data-sk-fade]{display:grid}
[data-sk-fade]>*{grid-area:1/1;opacity:0;transition:opacity 1.2s ease;pointer-events:none}
[data-sk-fade]>.on{opacity:1;pointer-events:auto}
html:not(.js) [data-sk-fade]>*:first-child{opacity:1}

/* 전/후 비교 */
[data-sk-compare]{position:relative;overflow:hidden;--pos:50%;user-select:none;touch-action:pan-y}
[data-sk-compare]>img{display:block;width:100%;height:100%;object-fit:cover}
[data-sk-compare]>img.cmp-b,[data-sk-compare]>img:nth-of-type(2){position:absolute;inset:0;clip-path:inset(0 0 0 var(--pos))}
[data-sk-compare] .cmp-h{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.08);pointer-events:none;z-index:2}
[data-sk-compare] .cmp-h::after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23222' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6-6 6 6 6M15 6l6 6-6 6'/%3E%3C/svg%3E") center/22px no-repeat;box-shadow:0 4px 16px rgba(0,0,0,.18)}
[data-sk-compare] .cmp-r{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:3;margin:0;-webkit-appearance:none;appearance:none}

/* 흐르는 줄 */
[data-sk-marquee]{overflow:hidden;white-space:nowrap}
[data-sk-marquee] .mq-t{display:flex;width:max-content;gap:inherit;animation:skmq var(--mq,32s) linear infinite}
[data-sk-marquee]:hover .mq-t{animation-play-state:paused}
@keyframes skmq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){[data-sk-marquee] .mq-t{animation:none}}
[data-sk-parallax]{will-change:transform;transition:transform .08s linear}
[data-sk-countdown] [data-d],[data-sk-countdown] [data-h],[data-sk-countdown] [data-m],[data-sk-countdown] [data-s]{font-variant-numeric:tabular-nums}
[data-sk-count]{font-variant-numeric:tabular-nums}
/* 선택형(라디오 · 체크) 칸은 스킨의 입력칸 모양을 받지 않게 */
body .fld input[type=radio],body .fld input[type=checkbox]{width:18px;height:18px;min-height:0;padding:0;margin:.1rem 0 0;border:0;border-radius:0;background:none;box-shadow:none;-webkit-appearance:auto;appearance:auto;accent-color:var(--accent);flex-shrink:0}

/* ═══ v113 · 블로그 (자동 블로그 · 목록 · 글) ═══ */
.skb-head{max-width:48rem;margin-bottom:clamp(2rem,4vw,3.5rem)}
.skb-head .d4{margin:1rem 0 1.25rem}
.skb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,2.5vw,2.25rem)}
.skb-card{display:flex;flex-direction:column;gap:.6rem;color:inherit;text-decoration:none}
.skb-card b{font-family:var(--f-display);font-weight:var(--w-mid,500);font-size:calc((clamp(1.05rem,1.4vw,1.25rem))*var(--tk,1));line-height:1.45;color:var(--ink)}
.skb-card:hover b{text-decoration:underline;text-underline-offset:.2em}
.skb-thumb{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:var(--radius,0);background:var(--soft,#f2f2f2);margin-bottom:.4rem}
.skb-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.skb-card:hover .skb-thumb img{transform:scale(1.04)}
.skb-meta{font-size:calc((.78rem)*var(--tk,1));letter-spacing:.08em;opacity:.6}
.skb-ex{font-size:calc((.95rem)*var(--tk,1));line-height:1.75;opacity:.75;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.skb-pager{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-top:3rem;font-size:calc((.85rem)*var(--tk,1));letter-spacing:.12em}
.skb-pager a{display:inline-flex;align-items:center;gap:.4rem;border-bottom:1px solid currentColor;padding-bottom:2px}
.skb-art{max-width:46rem}
.skb-h1{margin:1rem 0 2rem;line-height:1.35;letter-spacing:0;text-transform:none}
.skb-cover{margin:0 0 2.5rem}
.skb-cover img{border-radius:var(--radius,0)}
.skb-cover figcaption,.skb-body figcaption{font-size:calc((.72rem)*var(--tk,1));opacity:.5;margin-top:.5rem;text-align:right}
.skb-body{font-size:calc((clamp(1rem,1.15vw,1.0625rem))*var(--tk,1));line-height:1.95}
.skb-body h2{font-family:var(--f-display);font-size:calc((clamp(1.3rem,2vw,1.6rem))*var(--tk,1));font-weight:var(--w-mid,500);line-height:1.4;margin:2.6em 0 .9em;color:var(--ink)}
.skb-body h3{font-size:calc((1.12rem)*var(--tk,1));font-weight:600;margin:2em 0 .6em;color:var(--ink)}
.skb-body h4{font-size:calc((1rem)*var(--tk,1));font-weight:600;margin:1.6em 0 .5em}
.skb-body ul,.skb-body ol{margin:0 0 1.3em 1.3em;padding:0}
.skb-body ul{list-style:disc}.skb-body ol{list-style:decimal}
.skb-body li{margin:.35em 0;line-height:1.85}
.skb-body a{color:var(--accent,inherit);text-decoration:underline;text-underline-offset:.2em}
.skb-body blockquote{margin:1.6em 0;padding:.9em 1.2em;border-left:3px solid var(--accent,currentColor);background:var(--accent-08,rgba(0,0,0,.03))}
.skb-body figure{margin:2.2em 0}
.skb-body img{max-width:100%;height:auto;border-radius:var(--radius,0)}
.skb-body table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:calc((.95rem)*var(--tk,1));display:block;overflow-x:auto}
.skb-body th,.skb-body td{border:1px solid var(--line,rgba(0,0,0,.12));padding:.65em .9em;text-align:left;vertical-align:top}
.skb-body th{background:var(--ink-06,rgba(0,0,0,.04));font-weight:600}
.skb-body hr{border:0;border-top:1px solid var(--line,rgba(0,0,0,.12));margin:2.5em 0}
.skb-faq{margin-top:3.5rem;border-top:1px solid var(--line,rgba(0,0,0,.12));padding-top:2rem}
.skb-faq h2{font-family:var(--f-display);font-size:calc((1.35rem)*var(--tk,1));font-weight:var(--w-mid,500);margin-bottom:1rem}
.skb-faq details{border-bottom:1px solid var(--line,rgba(0,0,0,.12));padding:1rem 0}
.skb-faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.skb-faq summary::-webkit-details-marker{display:none}
.skb-faq summary::after{content:"+";opacity:.5;font-weight:400}
.skb-faq details[open] summary::after{content:"−"}
.skb-faq details p{margin-top:.7rem;line-height:1.85;opacity:.8}
.skb-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2.5rem}
.skb-tags span{font-size:calc((.8rem)*var(--tk,1));padding:.35rem .75rem;border:1px solid var(--line,rgba(0,0,0,.15));border-radius:100px;opacity:.75}
.skb-cta{margin-top:3rem;padding:clamp(1.5rem,3vw,2.25rem);background:var(--accent-08,rgba(0,0,0,.04));border-radius:var(--radius,0)}
.skb-cta p{font-size:calc((1.05rem)*var(--tk,1));margin-bottom:1.25rem;line-height:1.6}
.skb-more{max-width:72rem;margin:clamp(4rem,7vw,6rem) auto 0;border-top:1px solid var(--line,rgba(0,0,0,.12));padding-top:2.5rem}
.skb-more h2{margin-bottom:1.75rem}
@media (max-width:900px){.skb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.skb-grid{grid-template-columns:minmax(0,1fr)}.skb-cta .btn-row{flex-direction:column;align-items:stretch}}

/* ════════════════════════════════════════════════════════════════
   v120 · 읽기 편한 글자 크기 · 메뉴와 본문 정렬 · 맞춤 섹션 안전장치
   ════════════════════════════════════════════════════════════════ */
/* 화면이 넓을수록 기준 글자를 조금 키움 (390px 16px → 1280px 17.4px → 1440px 17.7px → 1920px 18.6px · 최대 19px) · 관리자 > 디자인 "전체 글자 크기"가 있으면 그 값이 우선 */
html{font-size:clamp(100%,calc(.925rem + .2vw),118.75%)}
.lead{font-size:calc((clamp(1.0625rem,1.3vw,1.2rem))*var(--tk,1))}
.label{font-size:calc((.8125rem)*var(--tk,1))}
.sk-skin-soft .eyebrow,.sk-skin-corporate .eyebrow{font-size:calc((.8125rem)*var(--tk,1))}
.btn-solid,.btn-ghost{font-size:calc((.8125rem)*var(--tk,1))}
:lang(ko) .btn-solid,:lang(ko) .btn-ghost,:lang(ko) .btn-line,:lang(ja) .btn-solid,:lang(ja) .btn-ghost,:lang(ja) .btn-line,:lang(zh) .btn-solid,:lang(zh) .btn-ghost,:lang(zh) .btn-line{font-size:calc((.95rem)*var(--tk,1));letter-spacing:.04em}
/* 메뉴 글자 */
.nav-link,.nav-util{font-size:.8125rem}
.nav-brand{font-size:.875rem}
:lang(ko) .nav-link,:lang(ja) .nav-link,:lang(zh) .nav-link,:lang(ko) .nav-util,:lang(ja) .nav-util,:lang(zh) .nav-util{font-size:.975rem;letter-spacing:.02em}
:lang(ko) .nav-brand,:lang(ja) .nav-brand,:lang(zh) .nav-brand{font-size:1.125rem;letter-spacing:.04em}
.nav2-link{font-size:1rem}
.nav2-brand .nb{font-size:1.4rem}
.nav2-brand .ns{font-size:.625rem}
.nav2-cta{font-size:.95rem;height:44px;padding:0 1.35rem}
.nav2-center .nav2-cta{height:38px;font-size:.875rem}
.mm-foot{font-size:.8125rem}
/* 메뉴(로고 · 버튼)의 왼쪽 · 오른쪽 끝을 본문(.wrap.px)과 같은 선에 맞춤 (넓은 화면) */
@media(min-width:1280px){
  .nav:not(.nav2){padding-left:max(calc(8rem*var(--px-k,1)),calc((100% - var(--wrap-w,1440px))/2 + 8rem*var(--px-k,1)));padding-right:max(calc(8rem*var(--px-k,1)),calc((100% - var(--wrap-w,1440px))/2 + 8rem*var(--px-k,1)))}
  .nav2-in,.nav2-top,.nav2-center .nav2-links{max-width:var(--wrap-w,1440px);padding-left:calc(8rem*var(--px-k,1));padding-right:calc(8rem*var(--px-k,1))}
}
/* 맞춤 섹션: 좌우 여백이 두 번 들어가 본문이 안쪽으로 밀리는 것 방지 */
.sec-x .px .px{padding-left:0;padding-right:0}
.sec-x .wrap .wrap{max-width:none}
html.sk-ed-pick main [id^="s"]{cursor:crosshair}
html.sk-ed-pick a,html.sk-ed-pick button{cursor:crosshair}

/* ═══ v121 · 폼 안내 · 첨부 · 게시판 · 계산기 · 필터 · 알림 창 ═══ */
.form .form-h{font-family:var(--f-display);font-size:calc((1.15rem)*var(--tk,1));font-weight:600;margin:1.25rem 0 .1rem;letter-spacing:-.01em}
.form .form-h:first-child{margin-top:0}
.skform .form-note,.form .form-note{font-size:calc((.95rem)*var(--tk,1));line-height:1.7;opacity:.72;margin:0 0 .25rem}
.fld .fld-help{display:block;margin-top:.4rem;font-size:calc((.8125rem)*var(--tk,1));line-height:1.5;opacity:.62}
.fld .fld-help.err{opacity:1;color:#c0392b}
.form input[type="file"]{width:100%;padding:.7rem .8rem;border:1px dashed var(--line);border-radius:var(--radius,10px);background:transparent;font:inherit;font-size:calc((.95rem)*var(--tk,1));color:inherit}
.sk-entries{list-style:none;margin:0;padding:0;display:grid;gap:0}
.sk-entries>li{padding:1.4rem 0;border-top:1px solid var(--line)}
.sk-entries>li:last-child{border-bottom:1px solid var(--line)}
.sk-entries .e-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .9rem;margin-bottom:.5rem}
.sk-entries .e-h strong{font-size:calc((1.05rem)*var(--tk,1));font-weight:600}
.sk-entries .e-m{font-size:calc((.9rem)*var(--tk,1));opacity:.7}
.sk-entries time{margin-left:auto;font-size:calc((.85rem)*var(--tk,1));opacity:.55}
.sk-entries p{margin:0;line-height:1.75;font-size:calc((1rem)*var(--tk,1));opacity:.86}
.sk-entries.empty{padding:2rem 0;text-align:center}
.sk-calc{display:grid;gap:1.5rem}
.sk-calc .calc-rows{display:grid;gap:1rem 1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));align-items:end}
.sk-calc .fld{display:grid;gap:.45rem;margin:0}
.sk-calc .fld>span{font-size:calc((.9rem)*var(--tk,1));font-weight:500;opacity:.8}
.sk-calc .fld>span em{font-style:normal;opacity:.65}
.sk-calc input[type="number"],.sk-calc select{width:100%;padding:.8rem .9rem;border:1px solid var(--line);border-radius:var(--radius,10px);background:transparent;color:inherit;font:inherit;font-size:calc((1rem)*var(--tk,1))}
.sk-calc .chk{display:flex;align-items:center;gap:.6rem;min-height:3rem;font-size:calc((1rem)*var(--tk,1));cursor:pointer}
.sk-calc .calc-out{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.sk-calc .calc-l{font-size:calc((1rem)*var(--tk,1));opacity:.75}
.sk-calc .calc-v strong{font-family:var(--f-display);font-size:calc((clamp(1.75rem,3.2vw,2.5rem))*var(--tk,1));font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.sk-calc .calc-u{margin-left:.3rem;font-size:calc((1rem)*var(--tk,1));opacity:.75}
.sk-calc .calc-note{margin:0;font-size:calc((.875rem)*var(--tk,1));line-height:1.6;opacity:.6}
[data-sk-filter] [data-f],[data-f]{cursor:pointer}
[data-cat][hidden]{display:none!important}
[data-sk-popup]{display:none}
[data-sk-popup].on{display:flex;position:fixed;inset:0;z-index:9980;align-items:center;justify-content:center;padding:1.25rem;background:rgba(12,12,14,.56);animation:skPopIn .28s ease both}
[data-sk-popup].on>*{position:relative;max-width:min(100%,30rem);max-height:86vh;overflow:auto;background:var(--paper);color:var(--ink);border-radius:var(--card-r,16px);box-shadow:0 24px 80px rgba(0,0,0,.28)}
[data-sk-popup]:focus{outline:none}
[data-sk-popup] button:not([class]){border:0;background:none;padding:.5rem .15rem;margin-right:.75rem;font:inherit;font-size:calc((.9rem)*var(--tk,1));color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;opacity:.72}
[data-sk-popup] button:not([class]):hover{opacity:1}
html.sk-pop-open{overflow:hidden}
@keyframes skPopIn{from{opacity:0}to{opacity:1}}

/* ═══ v122 · 폼 상태 · 접수 조회 · 목록 검색 · 쪽 번호 ═══ */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.form-closed{padding:2rem 1.5rem;border:1px solid var(--line);border-radius:var(--card-r,14px);text-align:center}
.form-closed p{margin:0;font-size:calc((1.05rem)*var(--tk,1));line-height:1.7}
.skform .form-meta{margin:0 0 1rem;font-size:calc((.9rem)*var(--tk,1));font-weight:500;opacity:.75}
.sk-entries .e-a{margin-top:.75rem;padding:.9rem 1.1rem;border-left:2px solid var(--accent);background:var(--accent-08,rgba(0,0,0,.04));opacity:1}
.sk-lookup .lookup-res{margin-top:1.5rem}
.sk-finder{display:flex;flex-wrap:wrap;gap:.6rem .75rem;align-items:stretch;margin:0}
.sk-finder .fld{margin:0;flex:1 1 9rem;min-width:0}
.sk-finder .f-q{flex:3 1 14rem}
.sk-finder input,.sk-finder select{width:100%;height:100%;min-height:3rem;padding:.7rem .95rem;border:1px solid var(--line);border-radius:var(--radius,10px);background:transparent;color:inherit;font:inherit;font-size:calc((1rem)*var(--tk,1))}
.sk-finder .btn-solid{flex:0 0 auto;min-height:3rem}
.sk-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.sk-pager .pg-n{font-size:calc((.9rem)*var(--tk,1));opacity:.65}
.sk-pager .pg-l{display:flex;align-items:center;gap:.25rem}
.sk-pager .pg-l a,.sk-pager .pg-l b{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.5rem;padding:0 .5rem;border-radius:var(--radius,10px);font-size:calc((.95rem)*var(--tk,1));font-weight:500;font-variant-numeric:tabular-nums}
.sk-pager .pg-l b{background:var(--ink);color:var(--paper)}
.sk-pager .pg-l a:hover{background:var(--accent-08,rgba(0,0,0,.06))}
.sk-detail{padding-top:calc(var(--nav-h,72px) + 1px)}
/* ═══ v169 · 위 메뉴가 길어 오른쪽 단추와 겹칠 때 (site.js 가 붙임 · 겹치지 않으면 쓰이지 않음) ═══ */
.nav.nav-tight .nav-links{gap:1.2rem}
.nav.nav-tight .nav-link:not(.cjk){letter-spacing:.05em}
.nav.nav-tight .nav-util:not(.cjk){letter-spacing:.08em}
.nav.nav-tight .nav-r{gap:1.1rem}
.nav.nav-tight2 .nav-links{gap:.9rem}
.nav.nav-tight2 .nav-link:not(.nav-brand),.nav.nav-tight2 .nav-util{font-size:.75rem;letter-spacing:.02em}
.nav.nav-tight2 .nav-link.cjk:not(.nav-brand),.nav.nav-tight2 .nav-util.cjk{font-size:.8125rem;letter-spacing:0!important}
.nav.nav-tight2 .nav-r{gap:.85rem}
.nav.nav-fold .nav-links .nav-link:not(.nav-brand){display:none}
.nav2.nav-tight .nav2-in{gap:1.1rem}
.nav2.nav-tight .nav2-links{gap:1.15rem}
.nav2.nav-tight2 .nav2-links{gap:.85rem}
.nav2.nav-tight2 .nav2-link{font-size:.875rem}
.nav2.nav-tight2 .nav2-cta{padding:0 .95rem;font-size:.84rem}
.nav2.nav-tight2 .nav2-brand .nb{font-size:1.2rem}
@media(min-width:1280px){.nav2.nav-tight2 .nav2-in,.nav.nav-tight2:not(.nav2){padding-left:max(2rem,calc(4rem*var(--px-k,1)));padding-right:max(2rem,calc(4rem*var(--px-k,1)))}}
.nav2.nav-fold .nav2-links{display:none}
.nav2.nav-fold .burger{display:flex}
.nav2.nav-fold .nav2-in .nav2-brand{margin-right:auto}
/* ═══ v169 · 일본어 제목은 문절 단위로 줄바꿈 (지원하는 브라우저에서 · 쇼케이스 모양을 쓴 섹션만) ═══ */
:lang(ja) .sec-x.x-kit :is(h1,h2,h3,h4,.x-hl,.x-h,.x-hs,.x-h3,.x-fit){word-break:auto-phrase!important}
/* ═══ v169 · 쇼케이스 디자인 공통 (pro_x_* · pro_open_x_*) — 맞춤 섹션(.sec-x) 안에서만 ═══ */
.sec-x{--x-t:var(--ink);--x-t2:var(--ink-80);--x-t3:var(--ink-50);--x-l:var(--line);--x-l2:var(--line-strong);--x-s:var(--soft);--x-c:var(--card-bg,#fff);--x-b:var(--ink);--x-bt:var(--paper);--x-e:cubic-bezier(.16,1,.3,1)}
.sec-x[data-tone="light"],.sec-x.bg-ink{--x-t:#fff;--x-t2:rgba(255,255,255,.84);--x-t3:rgba(255,255,255,.58);--x-l:rgba(255,255,255,.2);--x-l2:rgba(255,255,255,.46);--x-s:rgba(255,255,255,.08);--x-c:rgba(255,255,255,.07);--x-b:#fff;--x-bt:#111}
.sec-x.bg-accent{--x-t:var(--on-accent);--x-t2:var(--on-accent);--x-t3:var(--on-accent);--x-l:rgba(128,128,128,.4);--x-l2:var(--on-accent);--x-s:rgba(128,128,128,.16);--x-c:rgba(128,128,128,.14);--x-b:var(--on-accent);--x-bt:var(--accent)}
/* 글자 */
.sec-x .x-eb{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--f-body);font-size:calc((.8125rem)*var(--tk,1));font-weight:700;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.sec-x[data-tone="light"] .x-eb,.sec-x.bg-ink .x-eb,.sec-x.bg-accent .x-eb{color:var(--x-t)}
.sec-x .x-eb.dot::before{content:"";flex:none;width:.5rem;height:.5rem;border-radius:50%;background:var(--accent)}
.sec-x .x-eb.bar::before{content:"";flex:none;width:1.75rem;height:1px;background:currentColor}
.sec-x .x-eb.mu{color:var(--x-t3)}
.sec-x .x-hl,.sec-x .x-h,.sec-x .x-hs,.sec-x .x-h3{font-family:var(--f-display);font-weight:var(--w-light,600);color:var(--x-t);word-break:keep-all;text-wrap:balance}
.sec-x .x-hl{font-size:calc((clamp(2rem,4.8vw,4.25rem))*var(--tk,1));line-height:1.24;letter-spacing:-.025em}
.sec-x .x-h{font-size:calc((clamp(1.75rem,3.5vw,3rem))*var(--tk,1));line-height:1.3;letter-spacing:-.02em}
.sec-x .x-hs{font-size:calc((clamp(1.375rem,2.3vw,2rem))*var(--tk,1));line-height:1.38;letter-spacing:-.015em}
.sec-x .x-h3{font-size:calc((clamp(1.125rem,1.45vw,1.375rem))*var(--tk,1));line-height:1.42;letter-spacing:-.01em}
.sec-x .x-p{font-size:calc((clamp(1rem,1.1vw,1.0625rem))*var(--tk,1));line-height:1.85;color:var(--x-t2);word-break:keep-all}
.sec-x .x-ps{font-size:calc((.9375rem)*var(--tk,1));line-height:1.75;color:var(--x-t3);word-break:keep-all}
.sec-x .x-n{font-family:var(--f-display);font-weight:700;line-height:1;letter-spacing:-.03em;font-feature-settings:"tnum";color:var(--x-t);overflow-wrap:normal}
/* 화살표 (글꼴에 기대지 않고 그림) */
.sec-x .x-ar{position:relative;display:inline-block;flex:none;width:1.05em;height:.72em;vertical-align:middle}
.sec-x .x-ar::before{content:"";position:absolute;left:0;right:1px;top:50%;height:1.5px;margin-top:-.75px;background:currentColor}
.sec-x .x-ar::after{content:"";position:absolute;right:0;top:50%;box-sizing:border-box;width:.5em;height:.5em;margin-top:-.25em;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
.sec-x .x-ar.l{transform:scaleX(-1)}
.sec-x .x-ar.ne{transform:rotate(-45deg)}
.sec-x .x-ar.dn{transform:rotate(90deg)}
/* 버튼 · 더 보기 */
.sec-x .x-btn{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;min-height:54px;padding:0 1.75rem;border:1px solid var(--x-b);border-radius:var(--btn-r,0px);background:var(--x-b);color:var(--x-bt);font-size:calc((.9375rem)*var(--tk,1));font-weight:600;line-height:1.25;letter-spacing:0;text-align:center;transition:background .4s,color .4s,border-color .4s}
.sec-x .x-btn .x-ar{transition:transform .5s var(--x-e)}
.sec-x .x-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.sec-x .x-btn:hover .x-ar{transform:translateX(4px)}
.sec-x .x-btn.ln{background:transparent;border-color:var(--x-l2);color:var(--x-t)}
.sec-x .x-btn.ln:hover{background:var(--x-b);border-color:var(--x-b);color:var(--x-bt)}
.sec-x .x-btn.ac{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.sec-x .x-btn.ac:hover{background:var(--x-b);border-color:var(--x-b);color:var(--x-bt)}
.sec-x .x-btn.wh{background:#fff;border-color:#fff;color:#111}
.sec-x .x-btn.wh:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.sec-x .x-btns{display:flex;flex-wrap:wrap;gap:.625rem}
.sec-x .x-more{display:inline-flex;align-items:center;gap:.9rem;min-height:44px;font-size:calc((.9375rem)*var(--tk,1));font-weight:600;line-height:1.3;color:var(--x-t)}
.sec-x .x-more>span{display:inline-flex;align-items:center;justify-content:center;flex:none;width:2.75rem;height:2.75rem;border:1px solid var(--x-l2);border-radius:50%;transition:background .4s,color .4s,border-color .4s,transform .5s var(--x-e)}
.sec-x .x-more:hover>span{background:var(--x-b);border-color:var(--x-b);color:var(--x-bt);transform:translateX(4px)}
.sec-x .x-ul{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;font-size:calc((.9375rem)*var(--tk,1));font-weight:600;color:var(--x-t);background:linear-gradient(currentColor,currentColor) 0 calc(100% - 9px)/100% 1px no-repeat;transition:background-size .5s var(--x-e)}
.sec-x .x-ul:hover{background-size:0 1px;background-position:100% calc(100% - 9px)}
.sec-x .x-tag{display:inline-flex;align-items:center;min-height:1.875rem;padding:0 .8rem;border:1px solid var(--x-l2);border-radius:999px;font-size:calc((.8125rem)*var(--tk,1));font-weight:600;line-height:1.2;color:var(--x-t);white-space:nowrap}
.sec-x .x-tag.ac{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}
/* 넘김 단추 */
.sec-x .x-nav{display:flex;gap:.5rem}
.sec-x .x-nb{display:inline-flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;padding:0;border:1px solid var(--x-l2);border-radius:50%;background:transparent;color:var(--x-t);cursor:pointer;transition:background .35s,color .35s,border-color .35s,opacity .35s}
.sec-x .x-nb:hover{background:var(--x-b);border-color:var(--x-b);color:var(--x-bt)}
.sec-x .x-nb[disabled]{opacity:.32;pointer-events:none}
/* 사진 */
.sec-x .x-ph{position:relative;display:block;overflow:hidden;border-radius:var(--card-r,0px);background:var(--x-s);isolation:isolate}
.sec-x .x-ph>img,.sec-x .x-ph>video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform 1.2s var(--x-e)}
.sec-x a.x-ph:hover>img,.sec-x .x-hv:hover .x-ph>img{transform:scale(1.045)}
.sec-x .x-sh::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,0) 38%,rgba(0,0,0,.72) 100%);pointer-events:none}
/* 섹션 머리 (작은 글 · 제목 · 오른쪽 설명 / 더 보기) */
.sec-x .x-hd{display:grid;gap:1.1rem;margin-bottom:clamp(2.25rem,4.4vw,4rem)}
.sec-x .x-hd.c{justify-items:center;text-align:center}
.sec-x .x-hd.c .x-p{max-width:40rem}
@media (min-width:900px){
.sec-x .x-hd.sp{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);column-gap:8%;align-items:end}
.sec-x .x-hd.sp>.x-eb{grid-column:1/-1}
.sec-x .x-hd.sp>.x-r{justify-self:end;text-align:left}
}
/* 긴 낱말이 좁은 칸 밖으로 나가지 않게 (쇼케이스 모양을 쓴 섹션 = .x-kit · 엔진이 붙임) · site.js 가 먼저 글자를 조금 줄여 보고, 그래도 안 되면 여기서 나눔 */
.sec-x.x-kit:not(:lang(ja)):not(:lang(zh)) :is(h1,h2,h3,h4){overflow-wrap:break-word}
/* 제목 줄바꿈 맞춤 (site.js) — 적어 둔 줄바꿈이 폭에 안 맞으면 풀고 고르게 나눔 · 자기 제목 클래스에는 x-fit 을 붙임 */
.sec-x .x-gap{display:none}
.sec-x .x-fold br{display:none}
.sec-x .x-fold .x-gap{display:inline}
@media (prefers-reduced-motion:reduce){.sec-x .x-ph>img,.sec-x .x-btn .x-ar,.sec-x .x-more>span{transition:none}}
