@charset "UTF-8";
/* main-v4.css (v4.1) — 첫 화면은 히어로 하나 · 섹션마다 다른 그리드 · 장식 없음 */
:root{--w:1440px;--gut:clamp(20px,3vw,48px);--r:16px}
body{font-size:16px;line-height:1.7}
.wrap{max-width:var(--w);padding:0 var(--gut)}
.util{display:none}
header{border-bottom:0;background:#fff}
header:not(.shrink) .wrap{height:84px}
nav.gnb{margin-left:56px;margin-right:auto}
nav.gnb>ul>li>a{font-size:16.5px;font-weight:600;padding:0 18px}
nav.gnb>ul>li>a::after{display:none}
nav.gnb>ul>li:hover>a,nav.gnb>ul>li.on>a{color:var(--acc-d)}
.hd-cta{border-radius:8px;background:var(--acc-d);color:#fff;border-color:var(--acc-d);font-weight:700;min-height:46px;padding:0 22px}
.hd-cta:hover{background:#A82C52}
.family{display:none}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.v4 h2{font-size:clamp(30px,3.2vw,44px);font-weight:700;letter-spacing:-.035em;line-height:1.18}
.v4 .sub{margin-top:14px;font-size:16px;color:var(--txt2);line-height:1.75;max-width:26em}
.v4 .lnk{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:15px;font-weight:600;color:var(--ink);margin-top:22px}
.v4 .lnk::after{content:"→";transition:transform .25s}
.v4 .lnk:hover::after{transform:translateX(5px)}
.v4hero{position:relative;height:calc(100vh - 84px);min-height:600px;max-height:860px;background:#FBF7F2;color:var(--ink);overflow:hidden}
.v4hero .slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s}
.v4hero .slide.on{opacity:1;visibility:visible;z-index:1}
.v4hero .slide .pic{position:absolute;inset:0;overflow:hidden}
.v4hero .slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.v4hero .slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,247,242,.92) 0%,rgba(251,247,242,.6) 30%,rgba(251,247,242,0) 50%)}
.v4hero .txt{position:relative;z-index:2;max-width:var(--w);margin:0 auto;padding:0 var(--gut) 60px;height:100%;display:flex;flex-direction:column;justify-content:center}
.v4hero .kicker{display:block;font-size:15px;font-weight:700;color:var(--acc-d);letter-spacing:.02em;margin-bottom:20px}
.v4hero h1{font-size:clamp(36px,5.2vw,72px);font-weight:700;line-height:1.15;letter-spacing:-.04em;color:var(--ink);max-width:13em}
.v4hero h1 em{font-style:normal;color:var(--acc-d)}
.v4hero p{margin-top:22px;font-size:18px;max-width:28em;color:var(--txt2);line-height:1.7}
.v4hero .acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.v4hero .btn{margin-top:0;align-self:flex-start;border-radius:8px;min-height:54px;padding:0 30px;font-size:16px;background:var(--acc-d);color:#fff;border-color:var(--acc-d);font-weight:700}
.v4hero .btn:hover{background:#A82C52;color:#fff;border-color:#A82C52}
.v4hero .btn.ghost{background:rgba(255,255,255,.6);color:var(--ink);border-color:rgba(30,30,30,.3)}
.v4hero .btn.ghost:hover{background:var(--acc-d);color:#fff;border-color:var(--acc-d)}
.v4hero .note{display:block;margin-top:26px;font-size:14px;color:var(--txt3)}.v4hero .note b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
/* 히어로 조작부: 밝은 일러스트 위 먹색 얇은 인디케이터 + 고스트 버튼 */
.v4hero .ctl{position:absolute;z-index:3;left:0;right:0;bottom:44px;color:var(--ink)}
.v4hero .ctl .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px}
.v4hero .ind{display:flex;gap:8px}
.v4hero .ind button{width:44px;height:44px;display:grid;align-items:center;padding:0;background:none;border:0;cursor:pointer}
.v4hero .ind i{display:block;height:2px;width:100%;background:rgba(30,30,30,.18);border-radius:1px;position:relative;overflow:hidden;transition:background .3s}
.v4hero .ind i::after{content:"";position:absolute;inset:0;background:var(--ink);transform:scaleX(0);transform-origin:left}
.v4hero .ind button.on i::after{animation:hfill var(--dur,7s) linear forwards}
.v4hero.paused .ind button.on i::after,.v4hero.hold .ind button.on i::after{animation-play-state:paused}
.v4hero .ind button:not(.on):hover i{background:rgba(30,30,30,.45)}
.v4hero .ind button:focus-visible{outline:2px solid var(--ink);outline-offset:-6px;border-radius:6px}
@keyframes hfill{to{transform:scaleX(1)}}
.v4hero .nav{display:flex;align-items:center;gap:8px}
.v4hero .num{display:inline-flex;align-items:baseline;gap:6px;margin-right:12px;font-size:14px;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:var(--txt3)}
.v4hero .num b{font-size:18px;font-weight:600;color:var(--ink);letter-spacing:0}
.v4hero .num em{font-style:normal;opacity:.5}
.v4hero .nav button{width:44px;height:44px;border:1px solid rgba(30,30,30,.3);border-radius:50%;color:var(--ink);display:grid;place-items:center;background:rgba(255,255,255,.5);backdrop-filter:blur(4px);cursor:pointer}
.v4hero .nav button:hover,.v4hero .nav button:focus-visible{background:var(--acc-d);color:#fff;border-color:var(--acc-d);outline:0}
.v4hero .pause .ic-play{display:none}
.v4hero .pause[aria-pressed="true"] .ic-pause{display:none}.v4hero .pause[aria-pressed="true"] .ic-play{display:block}
.v4work{padding:128px 0}
.v4work .in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:64px;align-items:start}
.v4work .side{position:sticky;top:110px}
.v4work .facts{display:grid;grid-template-columns:1fr 1fr;gap:26px 24px;margin-top:48px;padding-top:32px;border-top:1px solid var(--ink)}
.v4work .facts b{display:block;font-size:38px;font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.v4work .facts b small{font-size:15px;font-weight:600;margin-left:2px;color:var(--txt2)}
.v4work .facts span{display:block;margin-top:8px;font-size:13.5px;color:var(--txt3);line-height:1.5}
.v4mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:20px}
.v4mosaic a{position:relative;display:block;border-radius:var(--r);overflow:hidden;background:var(--beige)}
.v4mosaic a:first-child{grid-row:1/3;aspect-ratio:3/4}
.v4mosaic a:not(:first-child){aspect-ratio:4/3}
.v4mosaic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.v4mosaic a:hover img{transform:scale(1.04)}
.v4mosaic .tx{position:absolute;left:0;right:0;bottom:0;padding:22px 24px;background:rgba(18,12,14,.48);color:#fff}
.v4mosaic small{display:block;font-size:12.5px;font-weight:600;color:#F5D6DF;margin-bottom:4px}
.v4mosaic b{display:block;font-size:20px;font-weight:700;line-height:1.3}
.v4mosaic a:first-child b{font-size:26px}
.v4mosaic span{display:block;margin-top:6px;font-size:13.5px;color:#EDE7E9}
.v4nums{padding:0 0 128px}
.v4nums ul{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;border-top:1px solid var(--ink);padding-top:40px}
.v4nums b{display:block;font-size:clamp(44px,4.6vw,64px);font-weight:700;letter-spacing:-.045em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.v4nums b small{font-size:18px;font-weight:600;margin-left:3px;color:var(--txt2)}
.v4nums span{display:block;margin-top:12px;font-size:14px;color:var(--txt3);line-height:1.55}
.v4prod{background:var(--bg);padding:120px 0;margin-top:0}
.v4prod .in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);gap:56px;align-items:start;max-width:var(--w);margin:0 auto;padding:0 0 0 var(--gut)}
.v4prod .side{padding-bottom:8px}
.v4rail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(220px,20vw,290px);gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-right:var(--gut);padding-bottom:4px}
.v4rail::-webkit-scrollbar{display:none}
.v4rail li{scroll-snap-align:start}
.v4rail .pic{aspect-ratio:1;border-radius:var(--r);overflow:hidden;background:#fff}
.v4rail .pic img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.v4rail a:hover .pic img{transform:scale(1.05)}
.v4rail small{display:block;margin-top:14px;font-size:12.5px;color:var(--txt3);font-weight:600}
.v4rail b{display:block;margin-top:2px;font-size:16.5px;font-weight:700;color:var(--ink)}
.v4rail a:hover b{text-decoration:underline;text-underline-offset:4px}
.v4prod .ctlr{display:flex;gap:8px;margin-top:28px}
.v4prod .ctlr button{width:44px;height:44px;border:1px solid var(--line-d);border-radius:50%;background:#fff;font-size:18px;color:var(--ink)}
.v4prod .ctlr button:hover{border-color:var(--ink)}
.v4news{padding:128px 0}
.v4news .hd{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:40px}
.v4news .hd a{font-size:14.5px;font-weight:600;color:var(--txt2);text-decoration:underline;text-underline-offset:5px;min-height:44px;display:inline-flex;align-items:center}
.v4news .hd a:hover{color:var(--ink)}
.v4news .in{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:stretch}
.v4news .feat{position:relative;display:block;border-radius:var(--r);overflow:hidden;background:var(--beige);min-height:520px;color:#fff}
.v4news .feat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.v4news .feat:hover img{transform:scale(1.03)}
.v4news .feat .tx{position:absolute;left:0;right:0;bottom:0;padding:36px 40px;background:rgba(18,12,14,.55)}
.v4news .feat small{display:block;font-size:13px;font-weight:600;color:#F5D6DF;margin-bottom:10px}
.v4news .feat b{display:block;font-size:clamp(22px,2vw,28px);font-weight:700;line-height:1.3;letter-spacing:-.03em}
.v4news .feat span{display:block;margin-top:10px;font-size:14.5px;color:#EDE7E9;line-height:1.6;max-width:36em}
.v4news .rows{display:flex;flex-direction:column;justify-content:space-between}
.v4news .rows li{flex:1;border-bottom:1px solid var(--line)}
.v4news .rows li:first-child{border-top:1px solid var(--ink)}
.v4news .rows a{display:grid;grid-template-columns:104px 1fr;gap:20px;align-items:center;padding:18px 0;height:100%}
.v4news .th{display:block;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--beige)}
.v4news .th img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.v4news .rows a:hover .th img{transform:scale(1.06)}
.v4news .rows b{display:block;font-size:16.5px;font-weight:600;color:var(--ink);line-height:1.45}
.v4news .rows a:hover b{text-decoration:underline;text-underline-offset:4px}
.v4news .rows small{display:block;margin-top:6px;font-size:13px;color:var(--txt3);font-variant-numeric:tabular-nums}
.v4news .notice{margin-top:56px;padding-top:32px;border-top:1px solid var(--ink);display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:start}
.v4news .notice h3{font-size:18px;font-weight:700;display:flex;align-items:baseline;gap:14px}
.v4news .notice h3 a{font-size:13px;font-weight:600;color:var(--txt3);text-decoration:underline;text-underline-offset:4px}
.v4news .notice ul{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.v4news .notice a{display:block}
.v4news .notice .d{display:block;font-size:12.5px;color:var(--txt3);font-variant-numeric:tabular-nums}
.v4news .notice .t{display:block;margin-top:6px;font-size:15.5px;color:var(--ink);line-height:1.5;font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v4news .notice a:hover .t{text-decoration:underline;text-underline-offset:4px}
.v4news .notice .new{display:inline-block;margin-top:8px;background:var(--acc-d);color:#fff;font-size:10.5px;font-weight:800;padding:2px 6px;border-radius:4px}
.v4voice{background:var(--bg);padding:120px 0 96px}
.v4voice .grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:64px;align-items:center}
.v4voice .art{position:relative;background:#fff;border-radius:var(--r);aspect-ratio:13/10;overflow:hidden}
.v4voice .art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.03);transition:opacity .7s ease,transform 1.2s cubic-bezier(.2,.7,.2,1)}
.v4voice .art img.on{opacity:1;transform:none}

.v4voice .stage{position:relative;min-height:200px;margin-top:28px}
.v4voice blockquote{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s}
.v4voice blockquote.on{position:relative;opacity:1;visibility:visible}
.v4voice blockquote p{font-size:clamp(26px,3vw,44px);line-height:1.35;letter-spacing:-.04em;color:var(--ink);font-weight:600;max-width:22em}
.v4voice blockquote p::before{content:"“";color:var(--acc);margin-right:.08em}
.v4voice blockquote p::after{content:"”";color:var(--acc);margin-left:.08em}
.v4voice footer{background:none;border:0;padding:0;margin-top:28px;font-size:15px;color:var(--ink);font-weight:700}
.v4voice footer small{margin-left:12px;font-weight:400;color:var(--txt3);font-size:13px}
.v4voice .ctl{display:flex;align-items:center;gap:14px;margin-top:36px;font-size:14px;color:var(--txt3);font-variant-numeric:tabular-nums}
.v4voice .ctl b{color:var(--ink);font-weight:600}
.v4voice .ctl i{width:120px;height:2px;background:var(--line-d);position:relative;font-style:normal}
.v4voice .ctl i::after{content:"";position:absolute;left:0;top:0;height:100%;width:var(--p,33.3%);background:var(--acc-d);transition:width .3s}
.v4voice .ctl button{width:44px;height:44px;border:1px solid var(--line-d);border-radius:50%;background:#fff;font-size:18px;color:var(--ink)}
.v4voice .ctl button:hover{border-color:var(--ink)}
.v4give{position:relative;padding:112px 0;color:var(--ink);background:#fff}

.v4give .wrap{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:64px;align-items:center;background:var(--beige);border-radius:24px;padding:72px 64px;max-width:calc(var(--w) - 2 * var(--gut))}
.v4give h2{color:var(--ink)}
.v4give .sub{color:var(--txt2)}
.v4give .uses{margin-top:32px;border-top:1px solid var(--ink);max-width:520px}
.v4give .uses li{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--beige-d);font-size:15px}
.v4give .uses b{font-weight:700;color:var(--ink)}.v4give .uses span{color:var(--txt2)}
.v4give .panel{background:#fff;color:var(--ink);border-radius:var(--r);padding:12px 36px 32px;box-shadow:0 12px 40px rgba(60,40,20,.08)}
.v4give .row{display:grid;grid-template-columns:88px 1fr auto;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.v4give .row .k{font-size:13px;font-weight:600;color:var(--txt3)}
.v4give .row b{display:block;font-size:19px;white-space:nowrap;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.v4give .row small{display:block;font-size:13px;color:var(--txt3);margin-top:2px}
.v4give .cp{min-height:38px;padding:0 14px;border:1px solid var(--line-d);border-radius:6px;font-size:13px;font-weight:600;background:#fff}
.v4give .cp:hover{border-color:var(--ink)}
.v4give .acts{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}
.v4give .btn{border-radius:8px;min-height:52px;padding:0 24px;font-size:15.5px;font-weight:700;flex:1}
.v4give .btn-p{background:var(--acc-d);color:#fff;border-color:var(--acc-d)}
.v4give .btn-p:hover{background:#A82C52}
.v4give .btn-l{background:#fff;color:var(--ink);border-color:var(--line-d)}
.v4give .btn-l:hover{border-color:var(--ink)}
.v4ft{background:#fff;color:var(--txt2);padding:80px 0 40px;font-size:14px;border-top:1px solid var(--line)}
.v4ft .top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:64px;padding-bottom:56px;border-bottom:1px solid var(--line)}
.v4ft .brand img{height:44px;width:auto}
.v4ft .brand p{margin-top:24px;font-size:22px;font-weight:600;color:var(--ink);letter-spacing:-.03em;line-height:1.4}
.v4ft .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.v4ft h4{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:16px;letter-spacing:.02em}
.v4ft .cols a{display:block;padding:6px 0;color:var(--txt2);font-size:14.5px}.v4ft .cols a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.v4ft .contact b{display:block;font-size:26px;font-weight:700;color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.v4ft .contact span{display:block;margin-top:6px;font-size:13px}
.v4ft .contact a{margin-top:10px;text-decoration:underline;text-underline-offset:4px}
.v4ft .bottom{display:flex;justify-content:space-between;gap:32px;padding-top:28px;flex-wrap:wrap;font-size:13px;line-height:1.8;color:var(--txt3)}
.v4ft .links{display:flex;gap:20px;flex-wrap:wrap;align-items:center}.v4ft .links a{color:var(--ink);font-weight:600}.v4ft .links a:hover{text-decoration:underline}.v4ft .links span{color:var(--txt3)}
@media (max-width:1024px){
  .v4hero{height:auto;min-height:0;aspect-ratio:4/3}
  .v4work,.v4news{padding:88px 0}
  .v4work .in{grid-template-columns:1fr;gap:36px}.v4work .side{position:static}

  .v4prod{padding:88px 0}.v4prod .in{grid-template-columns:1fr;gap:32px}
  .v4news .in{grid-template-columns:1fr;gap:24px}.v4news .feat{min-height:400px}
  .v4news .notice{grid-template-columns:1fr;gap:20px}.v4news .notice ul{grid-template-columns:1fr;gap:16px}
  .v4voice{padding:88px 0 72px}.v4voice .grid{grid-template-columns:1fr;gap:36px}.v4voice .art{max-width:520px}
  .v4give .wrap{grid-template-columns:minmax(0,1fr);gap:40px;min-height:0;padding:56px 40px}
  .v4ft .top{grid-template-columns:1fr;gap:40px}.v4ft .cols{grid-template-columns:1fr 1fr;gap:28px}
}
@media (max-width:768px){
  header:not(.shrink) .wrap{height:64px}
  .v4hero{aspect-ratio:auto;height:auto;min-height:0;padding-bottom:28px}.v4hero .slide{position:relative;display:none}.v4hero .slide.on{display:block}.v4hero .slide .pic{position:relative;aspect-ratio:4/3;overflow:hidden}.v4hero .slide img{position:relative;display:block;width:100%;height:100%;object-fit:cover;object-position:68% 50%}.v4hero .slide::after{display:none}.v4hero .slide .pic::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:70%;background:linear-gradient(180deg,rgba(251,247,242,0) 0%,rgba(251,247,242,.9) 50%,#FBF7F2 68%)}.v4hero .txt{height:auto;min-height:350px;padding-top:0;margin-top:-22%}.v4hero .slide.on img{animation:none}.v4hero .txt{justify-content:flex-start;padding-bottom:0}
  .v4hero h1{font-size:32px}
.v4hero h1 em{font-style:normal;color:var(--acc-d)}.v4hero p{font-size:15px}
  .v4hero .ctl{position:relative;bottom:auto;margin-top:28px}.v4hero .ctl .wrap{gap:12px;flex-wrap:wrap}.v4hero .ind{gap:4px}.v4hero .ind button{width:28px}.v4hero .num{display:none}.v4hero .nav{gap:6px}.v4hero .nav button{width:40px;height:40px;backdrop-filter:none;background:rgba(255,255,255,.8)}.v4hero .kicker{font-size:13px;margin-bottom:14px}.v4hero .acts{margin-top:24px}.v4hero .acts .btn{min-height:48px;padding:0 20px;font-size:15px}.v4hero .note{margin-top:18px;font-size:13px}
  .v4 h2{font-size:27px}
  .v4work,.v4news{padding:64px 0}
  .v4mosaic{gap:12px}.v4mosaic a:first-child{grid-column:1/3;grid-row:auto;aspect-ratio:16/10}
  .v4mosaic .tx{padding:14px 16px}.v4mosaic b,.v4mosaic a:first-child b{font-size:17px}.v4mosaic span{display:none}
  .v4work .facts{margin-top:32px;gap:18px}.v4work .facts b{font-size:30px}
  .v4give .uses li{grid-template-columns:1fr;gap:2px}
  .v4ft{padding:56px 0 32px}.v4ft .cols{grid-template-columns:1fr}.v4ft .bottom{flex-direction:column;gap:16px}
  .v4prod{padding:64px 0}.v4rail{grid-auto-columns:62vw;gap:14px}.v4prod .ctlr{display:none}
  .v4news .feat{min-height:300px}.v4news .feat .tx{padding:20px}.v4news .feat b{font-size:18px}.v4news .feat span{display:none}
  .v4news .rows a{grid-template-columns:80px 1fr;gap:14px;padding:14px 0}.v4news .rows b{font-size:15px}
  .v4voice{padding:64px 0 56px}.v4voice .stage{min-height:0}.v4voice blockquote p br{display:none}
  .v4give{padding:64px 0}.v4give .wrap{grid-template-columns:minmax(0,1fr);gap:32px;padding:36px 20px;border-radius:18px}
  .v4give .uses li{grid-template-columns:1fr;gap:2px}
  .v4give .panel{padding:4px 18px 18px;min-width:0}.v4give .row{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}.v4give .row .k{grid-column:1/3}.v4give .row b{font-size:16px;white-space:normal;overflow-wrap:anywhere}
}
/* ---------------------------------------------------------------- 인터랙션 (v4.3) */
/* 스크롤 등장 */
.rv4{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.rv4.is-in{opacity:1;transform:none}
.rv4[data-d="1"]{transition-delay:.08s}.rv4[data-d="2"]{transition-delay:.16s}.rv4[data-d="3"]{transition-delay:.24s}.rv4[data-d="4"]{transition-delay:.32s}.rv4[data-d="5"]{transition-delay:.4s}
/* 히어로: 텍스트 순차 등장, 사진 켄번즈 */
.v4hero .slide.on img{animation:kb 7s ease-out forwards;transform-origin:62% 55%}
@keyframes kb{from{transform:scale(1.1) translateX(1.5%)}to{transform:scale(1) translateX(0)}}}
@keyframes kb{from{transform:scale(1.06)}to{transform:scale(1)}}
.v4hero .slide.on .txt>*{animation:up .8s cubic-bezier(.2,.7,.2,1) both}
.v4hero .slide.on .txt>*:nth-child(2){animation-delay:.1s}.v4hero .slide.on .txt>*:nth-child(3){animation-delay:.2s}.v4hero .slide.on .txt>*:nth-child(4){animation-delay:.3s}.v4hero .slide.on .txt>*:nth-child(5){animation-delay:.4s}
@keyframes up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.v4hero .btn{transition:background .2s,color .2s,transform .2s}
.v4hero .btn:hover{transform:translateY(-2px)}
.v4hero .nav button{transition:background .2s,color .2s,border-color .2s,transform .2s}
.v4hero .nav button:active{transform:scale(.94)}
/* 일터 모자이크 */
.v4mosaic a{isolation:isolate}
.v4mosaic .tx{transition:background .35s,padding-bottom .35s}
.v4mosaic .tx::after{content:"→";display:block;margin-top:10px;font-size:18px;opacity:0;transform:translateX(-8px);transition:opacity .3s,transform .3s}
.v4mosaic a:hover .tx{background:rgba(18,12,14,.62);padding-bottom:30px}
.v4mosaic a:hover .tx::after{opacity:1;transform:none}
.v4mosaic span{max-height:0;overflow:hidden;opacity:0;transition:max-height .35s,opacity .3s,margin .35s;margin-top:0}
.v4mosaic a:first-child span{max-height:4em;opacity:1;margin-top:6px}
.v4mosaic a:hover span{max-height:4em;opacity:1;margin-top:6px}
/* 숫자 */
.v4work .facts li{transition:transform .25s}
.v4work .facts li:hover{transform:translateY(-3px)}
/* 링크 화살표 */
.v4 .lnk{position:relative}
.v4 .lnk::before{content:"";position:absolute;left:0;bottom:6px;height:1.5px;width:0;background:var(--acc-d);transition:width .3s}
.v4 .lnk:hover::before{width:calc(100% - 26px)}
/* 제품 레일 */
.v4rail li{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.v4rail a:hover li,.v4rail li:hover{transform:translateY(-6px)}
.v4rail .pic{transition:box-shadow .35s}
.v4rail a:hover .pic{box-shadow:0 18px 40px rgba(30,20,10,.12)}
.v4rail b{position:relative;display:inline-block}
.v4rail b::after{content:"";position:absolute;left:0;bottom:-2px;height:1.5px;width:0;background:var(--acc-d);transition:width .3s}
.v4rail a:hover b{text-decoration:none}.v4rail a:hover b::after{width:100%}
.v4prod .ctlr button{transition:transform .2s,border-color .2s,background .2s}

.v4prod .ctlr button:active{transform:scale(.94)}
/* 이야기 */
.v4news .feat .tx{transition:padding-bottom .35s,background .35s}
.v4news .feat:hover .tx{padding-bottom:48px;background:rgba(18,12,14,.66)}
.v4news .feat .tx b{position:relative;display:inline-block}
.v4news .rows a{transition:padding-left .3s}
.v4news .rows a:hover{padding-left:10px}
.v4news .rows b{transition:color .2s}
.v4news .rows a:hover b{text-decoration:none;color:var(--acc-d)}
.v4news .notice a{transition:transform .25s}
.v4news .notice a:hover{transform:translateY(-3px)}
.v4news .notice a:hover .t{text-decoration:none;color:var(--acc-d)}
/* 인용 */
.v4voice blockquote.on p{animation:up .7s cubic-bezier(.2,.7,.2,1) both}
.v4voice blockquote.on footer{animation:up .7s .12s cubic-bezier(.2,.7,.2,1) both}
.v4voice .ctl button{transition:background .2s,color .2s,border-color .2s,transform .2s}

.v4voice .art:hover img.on{transform:scale(1.04)}
}
/* 후원 */
.v4give .panel{transition:transform .35s,box-shadow .35s}
.v4give .panel:hover{transform:translateY(-4px);box-shadow:0 22px 56px rgba(60,40,20,.14)}
.v4give .row{transition:background .2s}
.v4give .btn{transition:transform .2s,background .2s,border-color .2s,color .2s}
.v4give .btn:hover{transform:translateY(-2px)}
.v4give .cp{transition:background .2s,color .2s,border-color .2s}

.v4give .cp.done{background:var(--acc-d);color:#fff;border-color:var(--acc-d)}
/* 헤더·푸터 */
.hd-cta{transition:background .2s,transform .2s}.hd-cta:hover{transform:translateY(-1px)}
nav.gnb>ul>li>a{transition:color .2s}
.v4ft .cols a{transition:color .2s,padding-left .25s}.v4ft .cols a:hover{padding-left:6px;text-decoration:none}
@media (prefers-reduced-motion:reduce){
  .rv4{opacity:1;transform:none;transition:none}
  .v4hero .slide.on img,.v4hero .slide.on .txt>*,.v4voice blockquote.on p,.v4voice blockquote.on footer{animation:none}.v4voice .art img{transition:none}
  .v4mosaic span{max-height:none;opacity:1}
}
/* 호버 분홍 */
.v4 .lnk:hover{color:var(--acc-d)}.v4 .lnk:hover::before{background:var(--acc-d)}
.v4rail a:hover b{color:var(--acc-d)}.v4rail a:hover b::after{background:var(--acc-d)}
.v4prod .ctlr button:hover,.v4voice .ctl button:hover{background:var(--acc-d);border-color:var(--acc-d);color:#fff}
.v4news .feat:hover .tx b{color:#F5D6DF}
.v4news .hd a:hover{color:var(--acc-d)}
.v4give .cp:hover{background:var(--acc-d);border-color:var(--acc-d)}
.v4give .btn-l:hover{border-color:var(--acc-d);color:var(--acc-d)}
.v4ft .cols a:hover,.v4ft .links a:hover{color:var(--acc-d)}
nav.gnb>ul>li:hover>a{color:var(--acc-d)}
/* 모바일 푸터 압축 */
@media (max-width:768px){
 .v4ft{padding:36px 0 22px}.v4ft .top{gap:22px;padding-bottom:22px}.v4ft .brand img{height:34px}
 .v4ft .cols{grid-template-columns:1fr 1fr;gap:16px 14px}.v4ft h4{margin-bottom:6px;font-size:12px}
 .v4ft .cols a{display:inline-block;width:auto;padding:3px 10px 3px 0;font-size:13.5px}.v4ft .cols a:hover{padding-left:0}
 .v4ft .contact{grid-column:1/3;padding-top:4px;border-top:1px solid var(--line)}.v4ft .contact b{font-size:22px;margin-top:6px}.v4ft .contact a{display:inline-block;margin-top:6px}
 .v4ft .bottom{padding-top:18px;gap:10px;font-size:11.5px;line-height:1.7}.v4ft .links{gap:10px 14px}
}
/* 섹션 소제목 디테일: 아이브로우(2색 짧은 바 + 딥핑크 라벨) — 서브 .mhead .ul 과 같은 문법 */
.v4 .eyebrow{position:relative;display:inline-flex;align-items:center;gap:12px;font-size:13.5px;font-weight:700;color:var(--acc-d);letter-spacing:.04em;margin-bottom:18px}
.v4 .eyebrow::before{content:"";width:28px;height:3px;background:linear-gradient(90deg,var(--yellow) 0 50%,var(--pink) 50% 100%);border-radius:2px;transform-origin:left;transform:scaleX(0);transition:transform .6s .15s cubic-bezier(.2,.7,.2,1)}
.v4 .eyebrow.is-in::before{transform:scaleX(1)}
.v4voice .eyebrow{margin-bottom:0}
.v4news .hd{align-items:flex-end}.v4news .hd .eyebrow{margin-bottom:12px}
.v4prod .side{padding-top:8px}
.v4prod .tel{margin-top:16px;font-size:15px;color:var(--txt2)}.v4prod .tel b{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}
.v4prod .acts{display:flex;gap:24px;flex-wrap:wrap}.v4prod .acts .lnk{margin-top:14px}
.v4prod .ctlr{margin-top:36px}
@media (prefers-reduced-motion:reduce){.v4 .eyebrow::before{transform:none;transition:none}}`n
.v4ft .bottom .copy{display:inline-block;margin-top:6px;color:var(--txt3)}.v4ft .bottom .made{color:var(--txt3);text-decoration:underline;text-underline-offset:3px;margin-left:6px}.v4ft .bottom .made:hover{color:var(--acc-d)}
