/* 365일 아동의 날(국가아동권리보장원 기념일 홈페이지) case study: every rule is scoped to .nc-page / .nc so the shared header, contact and footer stay untouched.
   Night rooms take the navy of the 「365일 아동의 날」 logo; white and paper rooms follow the campaign art.
   Emphasis follows the color rule of the page itself: yellow is a highlighter under ink text, never text on white. */
.nc-page{--nc-white:#fff;--nc-paper:#f5f6fa;--nc-paper2:#eaedf5;--nc-ink:#141c33;--nc-sub:#454e66;--nc-mute:#5a6378;--nc-line:#141c331f;--nc-navy:#1e3660;--nc-night:#0e1830;--nc-night2:#14223f;--nc-fg:#f4f6fb;--nc-fg2:#bcc6dc;--nc-fg3:#97a2bf;--nc-dline:#f4f6fb24;--nc-yellow:#fcd83c;--nc-yellow2:#ffe26a;--nc-mok:#231815;--nc-green:#11e72a;--nc-pink:#ff5687;--nc-star:#ffed0a;--nc-mag:#d2349b;--nc-blue:#469dff;--nc-en:'Fredoka','Pretendard Variable',Pretendard,sans-serif;--nc-ease:cubic-bezier(.2,.7,.1,1);background:var(--nc-white)}
.nc-page .site-header{position:fixed;inset:0 0 auto;background:rgba(14,24,48,.9);border-bottom-color:#ffffff14}
.nc-page .site-header .container{background:transparent;box-shadow:none}
.nc-page.nc-at-hero .site-consult-bar{visibility:hidden;pointer-events:none}
.nc-skip{position:fixed;z-index:2000;left:12px;top:-60px;padding:12px 18px;border-radius:8px;background:#fff;color:#000;font-weight:700}
.nc-skip:focus{top:12px}
.nc{position:relative;color:var(--nc-ink);background:var(--nc-white);font-family:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif;font-size:18px;line-height:1.75;word-break:keep-all;overflow-wrap:anywhere;overflow-x:clip;-webkit-font-smoothing:antialiased}
.nc *{box-sizing:border-box}
.nc [hidden]{display:none!important}
.nc :where(h1,h2,h3,h4,p,figure,dl,dd,ul,ol,blockquote,table){margin:0;padding:0}
.nc :where(h1,h2,h3,h4){font-weight:800;line-height:1.24;letter-spacing:-.04em;text-wrap:balance}
.nc :where(p){text-wrap:pretty}
.nc :where(ul,ol){list-style:none}
.nc :where(a){color:inherit;text-decoration:none}
.nc :where(button){font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}
.nc :where(img,video,canvas){display:block;max-width:100%}
.nc :where(img,video){height:auto}
.nc em{font-style:normal;background:linear-gradient(transparent 60%,var(--nc-yellow) 60%,var(--nc-yellow) 92%,transparent 92%);padding:0 .06em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.nc code{font-family:var(--nc-en);font-size:max(14px,.94em);font-weight:500;letter-spacing:.01em;white-space:nowrap}
.nc :is(a,button,input,[tabindex]):focus-visible{outline:3px solid var(--nc-navy);outline-offset:5px;border-radius:6px}
.nc section[id]{scroll-margin-top:84px}
.nc-wrap{width:calc(100% - 12vw);max-width:1440px;margin-inline:auto}
.nc-sec{position:relative;padding-block:clamp(96px,10vw,170px)}
.nc-eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--nc-en);font-size:14px;font-weight:600;line-height:1.5;letter-spacing:.2em;color:var(--nc-navy)}
.nc-eyebrow::before{content:"";width:28px;height:2px;background:currentColor;opacity:.7}
.nc-head{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:22px;margin-bottom:clamp(48px,6vw,90px);border-bottom:1px solid var(--nc-line);font-size:15px;line-height:1.5;color:var(--nc-sub)}
.nc-head>span:first-child{display:inline-flex;align-items:center;gap:12px;font-family:var(--nc-en);font-weight:600;letter-spacing:.14em;color:var(--nc-ink);white-space:nowrap}
.nc-head svg,.nc-desk header svg{width:28px;height:28px;flex:none;overflow:visible}
.nc-head .mk-dot,.nc-desk .mk-dot{fill:var(--nc-pink)}
.nc-head .mk-line,.nc-desk .mk-line{stroke:var(--nc-mok)}
.nc-head .mk-plane,.nc-desk .mk-plane{fill:var(--nc-blue)}
.nc h2{font-size:clamp(34px,4vw,64px)}
.nc-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:7vw;align-items:start}
.nc-split h3{font-size:clamp(28px,2.8vw,44px)}
.nc-prose{padding-top:8px}
.nc-prose p{max-width:640px;color:var(--nc-sub);font-size:19px}
.nc-prose p+p{margin-top:22px}
.nc-pill{display:inline-flex;align-items:center;gap:22px;min-height:62px;padding:0 30px;border-radius:99px;background:var(--nc-yellow);color:#231815!important;font-weight:700;font-size:17px;transition:transform .3s,background .3s}
.nc-pill:hover{transform:translateY(-3px);background:var(--nc-yellow2)}
.nc-textlink{display:inline-flex;align-items:center;gap:32px;padding:12px 0;border-bottom:1.5px solid currentColor;font-size:17px;font-weight:600;line-height:1.5}
.nc-textlink span{font-size:22px;transition:transform .3s}
.nc-textlink:hover span{transform:translateX(4px)}

/* rooms */
:is(.nc-hero,.nc-pls,.nc-turn,.nc-process,.nc-mobile,.nc-compare,.nc-ending){background:var(--nc-night);color:var(--nc-fg)}
:is(.nc-pls,.nc-process,.nc-mobile,.nc-compare,.nc-ending) em{background:none;color:var(--nc-yellow)}
:is(.nc-pls,.nc-process,.nc-mobile,.nc-compare,.nc-ending) .nc-head{border-bottom-color:var(--nc-dline);color:var(--nc-fg2)}
:is(.nc-pls,.nc-process,.nc-mobile,.nc-compare,.nc-ending) .nc-head>span:first-child{color:var(--nc-fg)}
:is(.nc-pls,.nc-process,.nc-mobile,.nc-compare,.nc-ending) .nc-head .mk-line{stroke:var(--nc-fg)}
:is(.nc-pls,.nc-process,.nc-mobile,.nc-compare,.nc-ending) .nc-prose p{color:var(--nc-fg2)}
:is(.nc-pls,.nc-process,.nc-mobile,.nc-compare,.nc-ending) .nc-eyebrow{color:var(--nc-yellow)}
:is(.nc-hero,.nc-pls,.nc-turn,.nc-process,.nc-mobile,.nc-compare,.nc-ending) :is(a,button,input,[tabindex]):focus-visible{outline-color:var(--nc-yellow)}
:is(.nc-challenge,.nc-type,.nc-motion-sec,.nc-credits){background:var(--nc-paper)}

/* reveal */
.nc-js .nc-rv{opacity:0;transform:translateY(34px);transition:opacity .9s var(--nc-ease),transform .9s var(--nc-ease);transition-delay:var(--d,0ms)}
.nc-js .nc-rv.is-in{opacity:1;transform:none}

/* ---------------------------------------------------------------- 00 HERO: 365 dots → line → five shapes → five friends */
.nc-hero{position:relative}
html.nc-motion .nc-hero{height:580vh}
.nc-hero__pin{position:sticky;top:0;height:100vh;height:100svh;min-height:600px;overflow:hidden;background:radial-gradient(80% 70% at 50% 42%,#1b2d55 0,#111d3a 55%,#0b1428 100%)}
/* 밤 → 낮: 다섯 친구가 나타날 때 바탕이 캠페인 그림처럼 하얘진다(먹색 팔과 손글씨가 보이도록) */
.nc-hero__pin::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 60% at 50% 70%,#fff 0,#f5f6fa 100%);opacity:var(--day,0);pointer-events:none}
.nc-hero__pin.is-day .nc-beat{color:var(--nc-ink);text-shadow:none}
.nc-hero__pin.is-day .nc-beat em{color:var(--nc-ink);background:linear-gradient(transparent 60%,var(--nc-yellow) 60%,var(--nc-yellow) 92%,transparent 92%)}
.nc-hero__pin.is-day .nc-beat__tag{color:var(--nc-navy)}
.nc-hero__pin.is-day .nc-hero__hud{color:var(--nc-mute)}
.nc-hero__pin.is-day .nc-hero__hud li[data-h]{border-color:#141c3326}
.nc-hero__pin.is-day .nc-hero__hud li[data-h].is-done{color:var(--nc-ink)}
.nc-beat,.nc-beat em,.nc-beat__tag,.nc-hero__hud{transition:opacity .6s,transform .6s var(--nc-ease),color .5s}
.nc-hero__dots{position:absolute;inset:0;width:100%;height:100%}
.nc-hero__months{position:absolute;inset:0;pointer-events:none}
.nc-hero__months li{position:absolute;left:0;top:0;font-size:14px;font-weight:700;line-height:1;color:var(--nc-fg3);white-space:nowrap;transform:translate(var(--x,0px),var(--y,0px)) translate(-100%,-50%);opacity:var(--mo,0)}
.nc-hero__line{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.nc-hero__line path{fill:none;stroke:color-mix(in srgb,#231815 calc(var(--day,0) * 100%),#f4f6fb);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.nc-hero__marks{position:absolute;inset:0;pointer-events:none}
.nc-hero__mark{position:absolute;left:0;top:0;display:inline-flex;align-items:baseline;gap:8px;padding:5px 12px 6px;border-radius:99px;background:#0b1428d9;font-size:15px;font-weight:800;line-height:1.2;color:var(--nc-fg);white-space:nowrap;transform:translate(var(--x,0px),var(--y,0px)) translate(-50%,var(--my,-100%));opacity:var(--o,0);box-shadow:inset 0 0 0 1px #f4f6fb2e}
.nc-hero__mark b{font-family:var(--nc-en);font-size:17px;font-weight:600;color:var(--nc-yellow)}
.nc-hero__shapes{position:absolute;inset:0;pointer-events:none}
.nc-hero__shape{position:absolute;left:0;top:0;width:var(--w,100px);height:var(--h,100px);transform:translate(var(--x,0px),var(--y,0px));color:var(--c)}
.nc-hero__svg{position:absolute;left:calc(var(--cx) * 1%);top:calc(var(--cy) * 1%);width:calc(var(--sw) * 1%);height:auto;aspect-ratio:1;transform:translate(-50%,-50%) scale(var(--ss,0)) rotate(var(--sr,0deg));transform-origin:50% 50%;opacity:var(--so,0);overflow:visible}
.nc-hero__shape img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 100%;opacity:var(--io,0);transform:translateY(calc((1 - var(--io,0)) * 26px)) scale(calc(.9 + var(--io,0) * .1));transform-origin:50% 100%}
.nc-hero__count{position:absolute;left:var(--cl,6vw);top:calc(85px + 3vh);display:flex;align-items:baseline;gap:10px;font-family:var(--nc-en);color:var(--nc-yellow);opacity:var(--co,1);pointer-events:none}
.nc-hero__count b{min-width:3ch;font-size:clamp(56px,5.4vw,92px);font-weight:600;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.nc-hero__count span{font-size:clamp(17px,1.4vw,22px);font-weight:500;color:var(--nc-fg3)}
.nc-hero__title{position:absolute;left:6vw;top:calc(85px + 6vh);width:min(40vw,620px);transform:translateY(calc((1 - var(--t,0)) * 34px));opacity:var(--t,0);pointer-events:none}
.nc-hero__top{display:flex;flex-wrap:wrap;gap:6px 22px;padding-bottom:14px;border-bottom:1px solid var(--nc-line);font-size:14px;font-weight:700;letter-spacing:.06em;color:var(--nc-sub)}
.nc-hero__top span+span{font-family:var(--nc-en);font-weight:600;letter-spacing:.18em;color:var(--nc-navy)}
.nc-hero__title h1{margin-top:22px;font-size:clamp(46px,5vw,86px);font-weight:800;line-height:1.08;letter-spacing:-.055em;color:var(--nc-ink)}
.nc-hero__title h1 span{display:block}
.nc-hero__title h1 span+span{width:max-content;max-width:100%;color:var(--nc-navy);background:linear-gradient(transparent 62%,var(--nc-yellow) 62%,var(--nc-yellow) 94%,transparent 94%)}
.nc-hero__lead{margin-top:24px;font-size:clamp(17px,1.4vw,21px);font-weight:700;line-height:1.6;color:var(--nc-ink)}
.nc-hero__lead span{font-family:var(--nc-en);font-weight:500;letter-spacing:.02em;color:var(--nc-sub)}
.nc-hero__beats{position:absolute;left:50%;bottom:calc(5vh + 52px);width:min(92vw,860px);height:96px;transform:translateX(-50%);text-align:center;pointer-events:none}
.nc-beat{position:absolute;inset:auto 0 0;font-size:clamp(20px,1.8vw,27px);font-weight:700;line-height:1.45;letter-spacing:-.03em;opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s var(--nc-ease);text-shadow:0 2px 18px #0b1428}
.nc-beat.is-on{opacity:1;transform:none}
.nc-beat em{background:none;color:var(--nc-yellow)}
.nc-beat__tag{display:block;margin-bottom:6px;font-family:var(--nc-en);font-size:14px;font-weight:600;letter-spacing:.22em;color:var(--nc-yellow)}
.nc-hero__hud{position:absolute;left:4vw;right:4vw;bottom:3vh;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--nc-fg3);opacity:calc(1 - var(--t,0))}
.nc-hero__hud li[data-h]{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:99px;border:1px solid #f4f6fb26;transition:background .4s,color .4s,border-color .4s}
.nc-hero__hud li[data-h].is-on{background:var(--nc-yellow);border-color:var(--nc-yellow);color:#231815}
.nc-hero__hud li[data-h].is-done{color:var(--nc-fg)}
.nc-hero__hint{margin-left:auto;margin-right:52px;font-family:var(--nc-en);letter-spacing:.2em}
.nc-hero__down{display:inline-flex;gap:12px;align-items:center;min-height:48px;margin-top:26px;padding:0 24px;border-radius:99px;background:var(--nc-ink);color:#fff!important;font-size:16px;font-weight:700;pointer-events:none;transition:background .3s}
.nc-hero__down.is-live{pointer-events:auto}
.nc-hero__down:hover{background:var(--nc-navy)}
.nc-hero__down:focus-visible{outline-color:var(--nc-navy)!important}
html:not(.nc-motion) .nc-hero__pin{--day:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);align-items:center;gap:4vw;height:auto;min-height:100svh;padding:130px 6vw 140px}
html:not(.nc-motion) .nc-hero__title{position:relative;left:auto;top:auto;width:auto;transform:none;opacity:1}
html:not(.nc-motion) :is(.nc-hero__dots,.nc-hero__months,.nc-hero__line,.nc-hero__marks,.nc-hero__beats,.nc-hero__hud,.nc-hero__count){display:none}
html:not(.nc-motion) .nc-hero__shapes{position:relative;inset:auto;display:flex;align-items:flex-end;justify-content:center;gap:2%;height:clamp(220px,30vw,420px)}
html:not(.nc-motion) .nc-hero__shape{position:relative;transform:none;height:100%;width:auto;aspect-ratio:var(--ar,.7)}
html:not(.nc-motion) .nc-hero__shape img{opacity:1;transform:none}
html:not(.nc-motion) .nc-hero__down{pointer-events:auto}

/* ---------------------------------------------------------------- 01 OVERVIEW */
.nc-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:clamp(56px,6vw,90px);padding-top:30px;border-top:1px solid var(--nc-line)}
.nc-meta dt{font-family:var(--nc-en);font-size:14px;font-weight:600;letter-spacing:.16em;color:var(--nc-navy)}
.nc-meta dd{margin-top:10px;font-size:16px;font-weight:600;line-height:1.65}
.nc-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(56px,6vw,90px)}
.nc-stats li{display:grid;align-content:start;gap:4px;padding:26px 24px 6px;border-right:1px solid var(--nc-line)}
.nc-stats li:first-child{padding-left:0}
.nc-stats li:last-child{border-right:0}
.nc-stats strong{display:flex;align-items:baseline;gap:6px;font-family:var(--nc-en);font-size:clamp(56px,5.6vw,96px);font-weight:600;line-height:1;letter-spacing:-.02em;color:var(--nc-navy)}
.nc-stats li:nth-child(1) strong{color:#0b8522}
.nc-stats li:nth-child(2) strong{color:#d51e5d}
.nc-stats li:nth-child(3) strong{color:#760081}
.nc-stats li:nth-child(4) strong{color:#0062ff}
.nc-stats strong small{font-family:'Pretendard Variable',Pretendard,sans-serif;font-size:20px;font-weight:800;letter-spacing:0;color:var(--nc-ink)}
.nc-stats b{margin-top:14px;font-size:18px}
.nc-stats li>span{font-size:15px;line-height:1.6;color:var(--nc-sub)}
.nc-logos{display:flex;flex-wrap:wrap;align-items:center;gap:18px 34px;margin-top:clamp(56px,6vw,90px);padding:26px 30px;border-radius:18px;background:var(--nc-paper)}
.nc-logos img{width:min(100%,528px);height:auto}
.nc-logos figcaption{flex:1 1 300px;font-size:15px;line-height:1.65;color:var(--nc-sub)}

/* ---------------------------------------------------------------- 02 CHALLENGE */
.nc-quote{max-width:1180px;font-size:clamp(28px,3.1vw,50px);font-weight:700;line-height:1.48;letter-spacing:-.04em}
.nc-quote span{color:#141c332e;transition:color .4s}
.nc-quote span.is-on{color:var(--nc-ink)}
.nc-fchip{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border-radius:99px;background:#fff;box-shadow:inset 0 0 0 1px var(--nc-line);font-size:15px;font-weight:800;transition:background .3s,color .3s,box-shadow .3s}
.nc-fchip i{width:14px;height:14px;border-radius:4px;background:var(--f)}
.nc-fchip[aria-pressed="true"]{background:var(--nc-ink);color:#fff;box-shadow:none}
.nc-fchip--story,.nc-mi--story,.nc-chip--story{--f:#ffd84a;--fi:#5b4300}
.nc-fchip--rite,.nc-mi--rite,.nc-chip--rite{--f:#9fc3ff;--fi:#0b3a8c}
.nc-fchip--join,.nc-mi--join,.nc-chip--join{--f:#ffb3c9;--fi:#8e0f3a}
.nc-fchip--help,.nc-mi--help,.nc-chip--help{--f:#9ee6a9;--fi:#0d5a1b}
.nc-fchip--data,.nc-mi--data,.nc-chip--data{--f:#d8c2f2;--fi:#4f1a7f}
.nc-menumap{margin-top:clamp(64px,7vw,110px);padding:clamp(22px,3vw,40px);border-radius:24px;background:#fff;box-shadow:0 40px 90px -60px #141c3366,inset 0 0 0 1px var(--nc-line)}
.nc-menumap__legend{display:flex;flex-wrap:wrap;gap:8px}
.nc-menumap__cols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:26px}
.nc-menumap__day{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:4px 10px;padding-bottom:14px;margin-bottom:12px;border-bottom:2px solid var(--nc-ink)}
.nc-menumap__shape{grid-row:span 2;width:34px;height:34px;color:var(--c);overflow:visible}
.nc-menumap__day span{display:grid;font-size:16px;font-weight:800;line-height:1.3}
.nc-menumap__day span b{font-family:var(--nc-en);font-size:15px;font-weight:600;color:var(--nc-mute)}
.nc-menumap__day small{grid-column:2;font-size:14px;font-weight:700;color:var(--nc-mute)}
.nc-menumap__col ol{display:grid;gap:6px}
.nc-mi{display:flex;align-items:center;gap:8px;min-height:40px;padding:7px 12px;border-radius:10px;background:var(--nc-paper);font-size:15px;font-weight:700;line-height:1.35;transition:background .35s,color .35s,opacity .35s,transform .45s var(--nc-ease)}
.nc-mi::before{content:"";flex:none;width:10px;height:10px;border-radius:3px;background:var(--f)}
.nc-js [data-menumap] .nc-mi{opacity:.25;transform:translateY(8px)}
.nc-js [data-menumap] .nc-mi.is-on{opacity:1;transform:none}
[data-menumap][data-func] .nc-mi.is-on{opacity:.28}
[data-menumap][data-func="story"] .nc-mi--story.is-on,[data-menumap][data-func="rite"] .nc-mi--rite.is-on,[data-menumap][data-func="join"] .nc-mi--join.is-on,[data-menumap][data-func="help"] .nc-mi--help.is-on{opacity:1;background:var(--f);color:var(--fi)}
.nc-menumap figcaption{margin-top:24px;font-size:15px;line-height:1.7;color:var(--nc-sub)}
.nc-issues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,4vw,56px) clamp(30px,4vw,70px);margin-top:clamp(64px,7vw,110px)}
.nc-issues li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px}
.nc-issues li>span{font-family:var(--nc-en);font-size:30px;font-weight:600;line-height:1.1;color:var(--nc-navy)}
.nc-issues strong{display:block;font-size:clamp(21px,1.8vw,26px);line-height:1.4;letter-spacing:-.03em}
.nc-issues p{margin-top:12px;font-size:17px;color:var(--nc-sub)}

/* ---------------------------------------------------------------- 03 DAYS (sticky calendar + steps) */
.nc-cal{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:6vw;width:calc(100% - 12vw);max-width:1440px;margin:clamp(40px,5vw,80px) auto 0}
.nc-cal__stage{position:sticky;top:110px;align-self:start;height:calc(100vh - 150px);display:flex;flex-direction:column;justify-content:center;gap:16px}
.nc-cal__card{position:relative;padding:clamp(22px,2.6vw,40px);border-radius:26px;background:#fff;box-shadow:0 50px 100px -60px #141c3380,inset 0 0 0 1px var(--nc-line)}
.nc-cal__card::before{content:"";position:absolute;left:28px;right:28px;top:-9px;height:18px;background:radial-gradient(circle at 9px 9px,var(--nc-navy) 0 6px,transparent 7px) 0 0/calc((100% - 18px) / 5) 18px repeat-x}
.nc-cal__month{display:flex;align-items:baseline;gap:6px;font-weight:800}
.nc-cal__month b{font-family:var(--nc-en);font-size:clamp(54px,5vw,84px);font-weight:600;line-height:1;color:var(--nc-navy)}
.nc-cal__month span{font-size:24px}
.nc-cal__month small{margin-left:auto;font-family:var(--nc-en);font-size:18px;font-weight:600;color:var(--nc-mute)}
.nc-cal__dow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:16px;padding-bottom:8px;border-bottom:1px solid var(--nc-line);font-size:14px;font-weight:800;color:var(--nc-mute);text-align:center}
.nc-cal__dow li:first-child{color:#c2185b}
.nc-cal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:8px}
.nc-cal__grid--nov{display:none}
.nc-cal__stage[data-step="5"] .nc-cal__grid--may{display:none}
.nc-cal__stage[data-step="5"] .nc-cal__grid--nov{display:grid}
.nc-cal__d{position:relative;display:grid;place-items:center;aspect-ratio:1/.78;border-radius:10px;font-family:var(--nc-en);font-size:clamp(15px,1.2vw,19px);font-weight:500;color:var(--nc-sub);transition:background .45s,color .45s}
.nc-cal__d b{position:relative;z-index:2;font-weight:500}
.nc-cal__shape{position:absolute;z-index:1;width:72%;height:auto;overflow:visible;transform:scale(0);transition:transform .7s cubic-bezier(.3,1.5,.5,1)}
.nc-cal__d.is-day b{font-weight:600;color:var(--nc-ink)}
.nc-cal__d[data-key="children"] .nc-cal__shape{color:var(--nc-green)}
.nc-cal__d[data-key="adoption"] .nc-cal__shape{color:var(--nc-pink)}
.nc-cal__d[data-key="foster"] .nc-cal__shape{color:var(--nc-star)}
.nc-cal__d[data-key="missing"] .nc-cal__shape{color:var(--nc-mag)}
.nc-cal__d[data-key="missing"] b,.nc-cal__d[data-key="abuse"] b{transition:color .45s}
.nc-cal__d[data-key="abuse"] .nc-cal__shape{color:var(--nc-blue)}
/* the week bands light up with the day; every past day keeps its shape */
.nc-cal__stage[data-step="1"] .w-children,.nc-cal__stage[data-step="2"] .w-adoption,.nc-cal__stage[data-step="4"] .w-missing,.nc-cal__stage[data-step="5"] .w-abuse{background:var(--wb)}
.nc-cal__d.w-children{--wb:#11e72a24}
.nc-cal__d.w-adoption{--wb:#ff568724}
.nc-cal__d.w-missing{--wb:#d2349b1f}
.nc-cal__d.w-abuse{--wb:#469dff24}
.nc-cal__stage:is([data-step="1"],[data-step="2"],[data-step="3"],[data-step="4"],[data-step="6"]) [data-key="children"] .nc-cal__shape,
.nc-cal__stage:is([data-step="2"],[data-step="3"],[data-step="4"],[data-step="6"]) [data-key="adoption"] .nc-cal__shape,
.nc-cal__stage:is([data-step="3"],[data-step="4"],[data-step="6"]) [data-key="foster"] .nc-cal__shape,
.nc-cal__stage:is([data-step="4"],[data-step="6"]) [data-key="missing"] .nc-cal__shape,
.nc-cal__stage[data-step="5"] [data-key="abuse"] .nc-cal__shape{transform:scale(1)}
.nc-cal__stage[data-step="4"] [data-key="missing"] b,.nc-cal__stage[data-step="5"] [data-key="abuse"] b{color:#fff}
.nc-cal__stage[data-step="4"] [data-key="missing"] .nc-cal__shape,.nc-cal__stage[data-step="5"] [data-key="abuse"] .nc-cal__shape{transition-timing-function:var(--nc-ease);transition-duration:1.2s}
.nc-cal__d.is-un small{position:absolute;left:50%;top:100%;z-index:3;margin-top:4px;padding:3px 9px;border-radius:99px;background:var(--nc-navy);color:#fff;font-family:'Pretendard Variable',Pretendard,sans-serif;font-size:14px;font-weight:700;line-height:1.3;white-space:nowrap;transform:translateX(-30%);opacity:0;transition:opacity .5s .4s}
.nc-cal__stage[data-step="5"] .is-un small{opacity:1}
.nc-cal__weeks{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px;min-height:34px}
.nc-cal__weeks li{display:none;padding:4px 12px;border-radius:99px;font-size:14px;font-weight:800}
.nc-cal__weeks .w-children{background:#11e72a2e;color:#0b6a1c}
.nc-cal__weeks .w-adoption{background:#ff56872e;color:#a3153f}
.nc-cal__weeks .w-missing{background:#d2349b26;color:#760081}
.nc-cal__weeks .w-abuse{background:#469dff2e;color:#003fa8}
.nc-cal__stage[data-step="1"] .nc-cal__weeks .w-children,.nc-cal__stage[data-step="2"] .nc-cal__weeks .w-adoption,.nc-cal__stage[data-step="4"] .nc-cal__weeks .w-missing,.nc-cal__stage[data-step="5"] .nc-cal__weeks .w-abuse,.nc-cal__stage[data-step="6"] .nc-cal__weeks li:not(.w-abuse){display:inline-block}
.nc-cal__src{font-size:14px;color:var(--nc-mute)}
.nc-cal__steps{padding-bottom:20vh}
.nc-step{display:flex;flex-direction:column;justify-content:center;min-height:72vh;opacity:.3;transition:opacity .5s}
.nc-step.is-on{opacity:1}
.nc-step__tag{font-family:var(--nc-en);font-size:15px;font-weight:600;letter-spacing:.16em;color:var(--nc-navy)}
.nc-step[data-key="children"] .nc-step__tag{color:#0b8522}
.nc-step[data-key="adoption"] .nc-step__tag{color:#d51e5d}
.nc-step[data-key="foster"] .nc-step__tag{color:#946100}
.nc-step[data-key="missing"] .nc-step__tag{color:#760081}
.nc-step[data-key="abuse"] .nc-step__tag{color:#0062ff}
.nc-step h3{margin-top:14px;font-size:clamp(30px,2.8vw,46px)}
.nc-step p{margin-top:16px;max-width:560px;font-size:18px;color:var(--nc-sub)}

/* ---------------------------------------------------------------- 04 POINT · LINE · PLANE */
.nc-pls{background:radial-gradient(70% 60% at 20% 20%,#1b2d55 0,var(--nc-night) 70%)}
.nc-explode{position:relative;margin-top:clamp(40px,5vw,80px)}
html.nc-motion .nc-explode{height:300vh}
.nc-explode__pin{position:sticky;top:85px;height:calc(100vh - 85px);height:calc(100svh - 85px);min-height:560px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;width:calc(100% - 12vw);max-width:1440px;margin-inline:auto;padding:16px 0 96px}
.nc-explode__tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.nc-explode__tab{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 18px 0 12px;border-radius:99px;box-shadow:inset 0 0 0 1px #f4f6fb33;font-size:15px;font-weight:700;color:var(--nc-fg2);transition:background .3s,color .3s,box-shadow .3s}
.nc-explode__tab svg{width:22px;height:22px;color:var(--c);overflow:visible}
.nc-explode__tab span{font-family:var(--nc-en);font-weight:500;letter-spacing:.02em}
.nc-explode__tab[aria-selected="true"]{background:var(--nc-fg);color:var(--nc-ink);box-shadow:none}
.nc-explode__stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:clamp(14px,2.4vh,30px);min-height:0}
.nc-explode__stack{position:relative;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);place-items:center}
/* 세 겹은 같은 자리에 겹쳐 있다가(--ex 0) 점은 왼쪽, 선은 가운데, 면은 오른쪽으로 갈라진다(--ex 1) */
.nc-explode__char{position:relative;height:min(100%,520px);aspect-ratio:var(--ar);transform:scale(calc(1 - var(--ex,0) * (1 - var(--exs,1))))}
/* 먹색 선이 남색 위에서 묻히지 않도록 캐릭터는 흰 카드 위에 둔다. 맨 아래 면 카드만 늘 불투명하고, 선 · 점 카드는 갈라질 때 채워진다 */
.nc-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:7%;border-radius:22px;background:rgb(247 248 252 / var(--ex,0));box-shadow:0 30px 60px -34px rgb(0 0 0 / calc(var(--ex,0) * .6));transform:translateX(calc(var(--lx) * var(--ex,0) * var(--dx,300px) / (1 - var(--ex,0) * (1 - var(--exs,1))))) rotate(calc(var(--lx) * var(--ex,0) * 2deg))}
.nc-layer--dot{--lx:-1}
.nc-layer--line{--lx:0}
.nc-layer--plane{--lx:1;background:#f7f8fc;box-shadow:0 30px 60px -34px #0009}
.nc-explode__labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,30px);width:min(100%,var(--sw,1200px));margin-inline:auto;text-align:center}
.nc-explode__label{position:relative;padding:14px 6px 0;border-top:3px solid #f4f6fb2e;opacity:.3;transform:translateY(14px);transition:opacity .5s,transform .5s var(--nc-ease),border-color .5s}
.nc-explode__label.is-on{opacity:1;transform:none;border-color:var(--nc-yellow)}
.nc-explode__en{font-family:var(--nc-en);font-size:14px;font-weight:600;letter-spacing:.22em;color:var(--nc-yellow)}
.nc-explode__label b{margin-left:10px;font-size:15px;font-weight:800;color:var(--nc-fg2)}
.nc-explode__label strong{display:block;margin-top:6px;font-size:clamp(20px,1.7vw,27px);font-weight:800;line-height:1.3;letter-spacing:-.03em}
.nc-explode__label p{margin:8px auto 0;max-width:400px;font-size:15px;line-height:1.65;color:var(--nc-fg2)}
.nc-explode__word{display:flex;justify-content:center;align-items:baseline;gap:18px;font-size:16px;font-weight:700;color:var(--nc-fg2)}
.nc-explode__word b{font-family:var(--nc-en);font-size:clamp(28px,2.4vw,40px);font-weight:500;color:var(--nc-fg)}
.nc-forks{margin-top:clamp(40px,5vw,80px)}
.nc-forks__lead{font-size:clamp(24px,2.2vw,34px);font-weight:800;letter-spacing:-.03em}
.nc-forks ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}
.nc-fork{display:grid;align-content:start;gap:8px;padding:24px 24px 28px;border-radius:22px;background:#ffffff0a;box-shadow:inset 0 0 0 1px #f4f6fb1f}
.nc-fork__icon{display:flex;align-items:center;gap:8px;height:64px;margin-bottom:8px}
.nc-fork--dot .nc-fork__icon i{width:12px;height:12px;border-radius:50%;background:#f4f6fb59}
.nc-fork--dot .nc-fork__icon i:nth-child(3){width:22px;height:22px;background:var(--nc-pink)}
.nc-fork--line svg{width:150px;height:50px;overflow:visible}
.nc-fork--line path{stroke:var(--nc-fg);stroke-width:4;stroke-linecap:round}
.nc-fork--plane .nc-fork__icon i{display:block;width:36px;height:36px;color:var(--c)}
.nc-fork--plane .nc-fork__icon svg{width:100%;height:100%;overflow:visible}
.nc-fork b{font-size:15px;font-weight:800;color:var(--nc-yellow)}
.nc-fork strong{font-family:var(--nc-en);font-size:24px;font-weight:600;line-height:1.25;letter-spacing:.01em}
.nc-fork--plane strong{font-family:inherit;font-weight:800;letter-spacing:-.02em}
.nc-fork p{font-size:16px;line-height:1.65;color:var(--nc-fg2)}

/* ---------------------------------------------------------------- 05 COLOR */
.nc-pairs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:clamp(56px,6vw,90px)}
.nc-pair{display:grid;align-content:start;gap:14px}
.nc-pair__swatch{position:relative;display:grid;align-content:space-between;aspect-ratio:3/4;padding:18px;border-radius:22px;background:var(--c);overflow:hidden;color:#231815}
.nc-pair__swatch::after{content:"";position:absolute;left:0;right:0;bottom:0;height:7%;background:var(--c2)}
.nc-pair__shape{position:absolute;right:-12%;top:30%;width:78%;height:auto;color:var(--c2);opacity:.9;overflow:visible;transform:rotate(-8deg);transition:transform .9s var(--nc-ease)}
.nc-pair:hover .nc-pair__shape{transform:rotate(4deg) scale(1.06)}
.nc-pair__date{position:relative;font-family:var(--nc-en);font-size:clamp(34px,3vw,52px);font-weight:600;line-height:1}
.nc-pair__name{position:relative;align-self:end;margin-bottom:6%;font-size:17px;font-weight:800}
.nc-pair:nth-child(4) .nc-pair__swatch,.nc-pair:nth-child(5) .nc-pair__swatch{color:#fff}
.nc-pair:nth-child(5) .nc-pair__swatch{color:#06224f}
.nc-pair__rows{display:grid;gap:8px}
.nc-pair__rows div{display:grid;gap:4px;padding:10px 12px;border-radius:12px;background:var(--nc-paper)}
.nc-pair__rows dt{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:var(--nc-sub)}
.nc-pair__rows dt i{width:14px;height:14px;border-radius:4px;box-shadow:inset 0 0 0 1px #0002}
.nc-pair__rows dd{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 8px}
.nc-pair__rows dd button{font-size:16px;font-weight:600;border-bottom:1px dashed #141c3355}
.nc-pair__rows dd span{font-size:14px;font-weight:700;color:var(--nc-mute)}
.nc-pair__rows .is-ink{background:#fff;box-shadow:inset 0 0 0 1.5px var(--ink)}
.nc-pair__rows .is-ink dd button{color:var(--ink)}
.nc-pair__rows .is-ink dd span{color:var(--ink)}
.nc-pair__share{display:flex;height:30px;border-radius:8px;overflow:hidden;font-size:14px;font-weight:800}
.nc-pair__share span{display:grid;place-items:center;flex:var(--w) 1 0;min-width:46px;background:var(--c);color:#231815}
.nc-pair__share span+span{background:var(--c2);color:#fff}
.nc-pair:nth-child(3) .nc-pair__share span+span{color:#231815}
.nc-hilite{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(30px,4vw,70px);align-items:center;margin-top:clamp(64px,7vw,110px);padding:clamp(26px,3.4vw,52px);border-radius:26px;background:var(--nc-paper)}
.nc-hilite__text h3{margin-top:14px;font-size:clamp(28px,2.6vw,42px)}
.nc-hilite__text p{margin-top:16px;font-size:17px;color:var(--nc-sub)}
.nc-hilite__switch{display:inline-flex;gap:6px;margin-top:22px;padding:6px;border-radius:99px;background:#fff;box-shadow:inset 0 0 0 1px var(--nc-line)}
.nc-hilite__switch button{min-height:44px;padding:0 18px;border-radius:99px;font-size:15px;font-weight:800;color:var(--nc-sub);transition:background .3s,color .3s}
.nc-hilite__switch button[aria-pressed="true"]{background:var(--nc-ink);color:#fff}
.nc-hilite__demo{display:grid;align-content:center;gap:20px;min-height:300px;padding:clamp(24px,3vw,44px);border-radius:20px;background:#fff;box-shadow:inset 0 0 0 1px var(--nc-line)}
.nc-hilite__sample{font-size:clamp(32px,3.2vw,52px);font-weight:900;line-height:1.35;letter-spacing:-.04em}
.nc-hilite__sample span{transition:color .5s,background-size .7s var(--nc-ease);background:linear-gradient(transparent 58%,#ffed0a 58%,#ffed0a 94%,transparent 94%) 0 0/0% 100% no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.nc-hilite__demo[data-mode="text"] .nc-hilite__sample span{color:#ffed0a}
.nc-hilite__demo[data-mode="marker"] .nc-hilite__sample span{color:#231815;background-size:100% 100%}
.nc-hilite__ratio{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.nc-hilite__ratio b{font-family:var(--nc-en);font-size:clamp(34px,3vw,48px);font-weight:600;line-height:1}
.nc-hilite__demo[data-mode="text"] .nc-hilite__ratio b{color:#c2185b}
.nc-hilite__demo[data-mode="marker"] .nc-hilite__ratio b{color:#0b8522}
.nc-hilite__ratio span{font-size:16px;font-weight:700;color:var(--nc-sub)}
.nc-neutrals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:clamp(56px,6vw,90px)}
.nc-neutral{display:grid;align-content:start;gap:10px;width:100%;text-align:left}
.nc-neutral__chip{display:flex;justify-content:space-between;align-items:flex-end;min-height:150px;padding:18px;border-radius:20px;background:var(--c);color:var(--fg);box-shadow:inset 0 0 0 1px #141c331f;transition:transform .35s var(--nc-ease)}
.nc-neutral:hover .nc-neutral__chip{transform:translateY(-4px)}
.nc-neutral__chip b{font-size:20px;font-weight:800}
.nc-neutral__chip code{font-size:16px}
.nc-neutral__role{font-size:15px;font-weight:800;color:var(--nc-navy)}
.nc-neutral__desc{font-size:15px;line-height:1.65;color:var(--nc-sub)}
.nc-rules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:clamp(56px,6vw,90px);padding-top:30px;border-top:1px solid var(--nc-line)}
.nc-rules b{font-family:var(--nc-en);font-size:22px;font-weight:600;color:var(--nc-navy)}
.nc-rules strong{display:block;margin-top:6px;font-size:20px;line-height:1.4}
.nc-rules p{margin-top:8px;font-size:16px;line-height:1.65;color:var(--nc-sub)}

/* ---------------------------------------------------------------- 06 TYPE */
.nc-typeset{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,4vw,70px);margin-top:clamp(56px,6vw,90px);align-items:start}
.nc-typeset__art{position:sticky;top:110px;overflow:hidden;border-radius:26px;background:#fff;box-shadow:inset 0 0 0 1px var(--nc-line)}
.nc-typeset__marquee{display:flex;align-items:center;gap:40px;width:max-content;height:clamp(260px,26vw,400px);padding:30px;animation:nc-marquee 46s linear infinite}
.nc-typeset__marquee img{height:100%;width:auto;flex:none}
@keyframes nc-marquee{to{transform:translateX(-50%)}}
.nc-typeset__art figcaption{padding:16px 24px 22px;font-size:15px;line-height:1.65;color:var(--nc-sub);border-top:1px solid var(--nc-line)}
.nc-typeset__specs{display:grid;gap:16px}
.nc-spec{padding:22px 26px 26px;border-radius:22px;background:#fff;box-shadow:inset 0 0 0 1px var(--nc-line)}
.nc-spec__name{font-size:14px;font-weight:800;letter-spacing:.04em;color:var(--nc-navy)}
.nc-spec__big{display:flex;flex-wrap:wrap;gap:4px 22px;margin-top:10px;font-size:clamp(38px,3.6vw,60px);font-weight:800;line-height:1.08;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.nc-spec__hand{display:flex;flex-wrap:wrap;gap:0 26px;margin-top:6px;font-family:'Caveat',cursive;font-size:clamp(40px,3.6vw,60px);font-weight:600;line-height:1.15}
.nc-spec__title{margin-top:10px;font-size:clamp(34px,3.2vw,52px);font-weight:800;line-height:1.2;letter-spacing:-.05em}
.nc-spec__body{margin-top:12px;font-size:17px;line-height:1.75;color:var(--nc-ink)}
.nc-spec__rules{display:grid;gap:10px;padding:6px 4px}
.nc-spec__rules li{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:baseline;font-size:16px;line-height:1.6;color:var(--nc-sub)}
.nc-spec__rules b{font-family:var(--nc-en);font-size:24px;font-weight:600;color:var(--nc-navy)}

/* ---------------------------------------------------------------- 07 STRUCTURE */
.nc-visitors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 30px;margin-top:clamp(56px,6vw,90px)}
.nc-visitors li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 14px;padding-top:20px;border-top:1px solid var(--nc-line)}
.nc-visitors span{grid-row:span 2;font-family:var(--nc-en);font-size:20px;font-weight:600;color:var(--nc-navy)}
.nc-visitors strong{font-size:19px}
.nc-visitors p{font-size:16px;line-height:1.65;color:var(--nc-sub)}
.nc-visitors li:last-child span,.nc-visitors li:last-child strong{color:#c2185b}
.nc-ia{width:calc(100% - 8vw);max-width:1600px;margin:clamp(64px,7vw,110px) auto 0}
.nc-ia__frame{padding:clamp(18px,2.4vw,36px);border-radius:28px;background:var(--nc-paper);box-shadow:inset 0 0 0 1px var(--nc-line)}
.nc-ia__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin-bottom:18px}
.nc-ia__state{position:relative;display:grid;font-size:clamp(18px,1.5vw,22px);font-weight:800}
.nc-ia__state span{grid-area:1/1;transition:opacity .5s}
.nc-ia__after{opacity:var(--ia,1)}
.nc-ia__before{opacity:calc(1 - var(--ia,1))}
.nc-ia__help{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 18px 0 8px;border-radius:99px;background:var(--nc-navy);color:#fff;font-size:16px;font-weight:800;opacity:var(--ia,1);transform:translateY(calc((1 - var(--ia,1)) * -10px))}
.nc-ia__help>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--nc-yellow);color:#231815;font-weight:900}
.nc-ia__help small{font-size:14px;font-weight:600;color:#cfd8ec}
.nc-ia__board{display:grid;grid-template-columns:150px minmax(0,1fr);gap:0 10px}
.nc-ia__days{grid-column:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:10px}
.nc-ia__days p{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;background:#fff;font-size:15px;font-weight:800;line-height:1.25}
.nc-ia__days svg{flex:none;width:26px;height:26px;color:var(--c);overflow:visible}
.nc-ia__days b{font-family:var(--nc-en);font-size:15px;font-weight:600;color:var(--nc-mute)}
.nc-ia__grid{grid-column:1/-1;display:grid;grid-template-columns:150px repeat(5,minmax(0,1fr));gap:10px}
.nc-ia__row{grid-column:1;grid-row:calc(var(--r) + 1);display:grid;align-content:start;gap:2px;padding:12px 4px 0 0;opacity:var(--ia,1);transition:opacity .4s}
.nc-ia__row b{font-size:18px;font-weight:900}
.nc-ia__row span{font-size:14px;line-height:1.5;color:var(--nc-mute)}
.nc-ia__cell{grid-column:calc(var(--c) + 2);grid-row:calc(var(--r) + 1);display:flex;flex-wrap:wrap;align-content:flex-start;gap:6px;min-height:64px;padding:8px;border-radius:14px;background:rgb(255 255 255 / calc(var(--ia,1) * .9))}
.nc-chip{display:inline-flex;align-items:center;min-height:36px;padding:5px 11px;border-radius:9px;background:var(--f);color:var(--fi);font-size:14px;font-weight:800;line-height:1.3;will-change:transform}
.nc-chip--new{background:transparent;color:var(--nc-sub);box-shadow:inset 0 0 0 1.5px #5a637880;opacity:var(--ia,1)}
.nc-ia__note{margin-top:18px;font-size:15px;line-height:1.7;color:var(--nc-sub)}

/* ---------------------------------------------------------------- 08 MOTION */
.nc-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:clamp(56px,6vw,90px)}
.nc-principle{display:grid;align-content:start;gap:10px}
.nc-demo{position:relative;height:250px;margin-bottom:12px;border-radius:22px;background:#fff;box-shadow:inset 0 0 0 1px var(--nc-line);overflow:hidden}
.nc-principle__no{font-family:var(--nc-en);font-size:18px;font-weight:600;color:var(--nc-navy)}
.nc-principle h3{font-size:24px}
.nc-principle p{font-size:16px;line-height:1.7;color:var(--nc-sub)}
.nc-demo__dots{position:absolute;inset:24px;display:grid;grid-template-columns:repeat(7,1fr);place-items:center}
.nc-demo__dots b{width:10px;height:10px;border-radius:50%;background:#141c3324}
.nc-demo__grow{position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;color:var(--c)}
.nc-demo__grow svg{width:100%;height:100%;overflow:visible;transform:scale(.08);animation:nc-grow 3.6s var(--nc-ease) infinite}
@keyframes nc-grow{0%,12%{transform:scale(.08);border-radius:50%}40%,78%{transform:scale(1) rotate(0)}100%{transform:scale(.08) rotate(-30deg)}}
.nc-demo--line svg{position:absolute;inset:20px;width:calc(100% - 40px);height:calc(100% - 40px);overflow:visible}
.nc-demo--line path{stroke:var(--nc-mok);stroke-width:5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:nc-draw 3.6s ease-in-out infinite}
@keyframes nc-draw{0%{stroke-dashoffset:1}55%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
.nc-demo--pace{display:grid;grid-template-columns:1fr 1fr;place-items:center}
.nc-demo--pace span{display:grid;justify-items:center;gap:12px;color:var(--c)}
.nc-demo--pace svg{width:86px;height:86px;overflow:visible}
.nc-demo--pace small{font-size:14px;font-weight:800;color:var(--nc-sub)}
.nc-demo__a svg{animation:nc-bounce 1s cubic-bezier(.3,0,.4,1) infinite alternate}
.nc-demo__b svg{animation:nc-breathe 4.4s ease-in-out infinite}
@keyframes nc-bounce{from{transform:translateY(18px) scale(1.06,.94)}to{transform:translateY(-26px) scale(.96,1.04)}}
@keyframes nc-breathe{0%,100%{transform:scale(.94);opacity:.8}50%{transform:scale(1);opacity:1}}

/* ---------------------------------------------------------------- TURN (dots → line) */
.nc-turn{position:relative}
html.nc-motion .nc-turn{height:220vh}
.nc-turn__pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;place-items:center;background:radial-gradient(60% 50% at 50% 50%,#1b2d55 0,var(--nc-night) 70%)}
.nc-turn__dots{position:absolute;left:8vw;right:8vw;top:50%;display:flex;justify-content:space-between;transform:translateY(-50%)}
.nc-turn__dots i{width:14px;height:14px;border-radius:50%;background:var(--nc-fg);opacity:calc(1 - var(--tp,0) * 1.6);transform:translateY(calc(var(--tp,0) * (sin(var(--k) * 1rad) * 40px)))}
.nc-turn__line{position:absolute;left:0;top:50%;width:100%;height:30vh;transform:translateY(-50%);overflow:visible}
.nc-turn__line path{fill:none;stroke:var(--nc-fg);stroke-width:4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--tp,0));vector-effect:non-scaling-stroke}
.nc-turn p{position:absolute;left:0;right:0;font-size:clamp(34px,4.4vw,72px);font-weight:800;line-height:1.2;letter-spacing:-.045em;text-align:center;padding:0 6vw}
.nc-turn p span{display:block;margin-bottom:16px;font-family:var(--nc-en);font-size:clamp(15px,1.2vw,18px);font-weight:600;letter-spacing:.24em;color:var(--nc-yellow)}
.nc-turn__from{top:18vh;opacity:calc(1 - var(--tp,0) * 2.2)}
.nc-turn__to{bottom:16vh;opacity:calc(var(--tp,0) * 2.2 - 1.1)}
html:not(.nc-motion) .nc-turn{display:none}

/* ---------------------------------------------------------------- SIANS (A white · B paper) */
.nc-sian{position:relative;padding-block:clamp(90px,9vw,150px) clamp(70px,7vw,110px)}
.nc-sian--a{background:radial-gradient(#141c3314 1.5px,transparent 2px) 0 0/26px 26px,radial-gradient(60% 50% at 75% 30%,#fff6cc 0,#fff 66%);color:var(--nc-ink)}
.nc-sian--b{background:radial-gradient(55% 55% at 72% 38%,#ffe8ef 0,var(--nc-paper) 66%);color:var(--nc-ink)}
.nc-sian__inner{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.6fr);gap:clamp(30px,4vw,72px);align-items:center;width:calc(100% - 8vw);max-width:1600px;margin-inline:auto}
.nc-sian__info{position:relative}
.nc-sian__letter{position:absolute;right:0;top:-48px;font-family:var(--nc-en);font-size:clamp(150px,15vw,250px);font-weight:600;line-height:.8;opacity:.1;pointer-events:none;color:var(--nc-navy)}
.nc-sian__status{display:inline-block;padding:6px 14px;border-radius:99px;font-size:14px;font-weight:800;letter-spacing:.04em;background:var(--nc-navy);color:#fff}
.nc-sian--b .nc-sian__status{background:var(--nc-mok)}
.nc-sian__info h3{margin-top:20px;font-size:clamp(24px,2.2vw,36px)}
.nc-sian__info h3 small{display:block;margin-bottom:12px;font-family:var(--nc-en);font-size:clamp(38px,3.6vw,62px);font-weight:600;line-height:.98;letter-spacing:-.01em;color:var(--nc-navy)}
.nc-sian--b h3 small{color:#c2185b}
.nc-sian__info>p{margin-top:20px;font-size:17px;color:var(--nc-sub)}
.nc-sian__points{display:grid;gap:10px;margin-top:24px}
.nc-sian__points li{position:relative;padding-left:24px;font-size:16px;font-weight:600;line-height:1.55}
.nc-sian__points li::before{content:"";position:absolute;left:0;top:.45em;width:11px;height:11px;border-radius:50%;background:var(--nc-yellow);box-shadow:0 0 0 2px var(--nc-navy)}
.nc-sian--b .nc-sian__points li::before{border-radius:2px;height:4px;top:.7em;width:14px;background:var(--nc-mok);box-shadow:none}
.nc-sian__chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:26px}
.nc-sian__chips i{width:26px;height:26px;border-radius:50%;background:var(--c);box-shadow:0 0 0 1px #141c3333}
.nc-sian__chips span{margin-left:10px;font-size:14px;font-weight:700;opacity:.9}
.nc-sian__open{display:inline-flex;align-items:center;gap:14px;min-height:48px;margin-top:30px;padding:0 22px;border-radius:99px;font-size:16px;font-weight:800;background:var(--nc-navy);color:#fff!important;transition:transform .3s}
.nc-sian--b .nc-sian__open{background:var(--nc-mok)}
.nc-sian__open:hover{transform:translateY(-3px)}
.nc-sian__device{position:relative;padding:0 clamp(50px,7vw,130px) 0 0}
.nc-browser{overflow:hidden;border-radius:16px;background:#111;box-shadow:0 50px 100px -40px #141c33a6,0 0 0 1px #141c3324}
.nc-browser__bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;height:40px;padding:0 16px;background:#1b1f2a}
.nc-browser__bar>span:first-child{display:flex;gap:6px}
.nc-browser__bar>span:first-child i{width:10px;height:10px;border-radius:50%;background:#ffffff2e}
.nc-browser__url{justify-self:center;padding:3px 40px;border-radius:99px;background:#ffffff12;color:#d6dae4;font-family:var(--nc-en);font-size:14px;font-weight:500}
.nc-browser__live{font-family:var(--nc-en);font-size:14px;font-weight:600;letter-spacing:.12em;color:#ff8a7a}
.nc-browser__view{position:relative;aspect-ratio:16/10;background:#000}
.nc-browser__view video{width:100%;height:100%;object-fit:cover}
.nc-phone{position:relative;width:200px;margin:0;padding:8px;border-radius:32px;background:#111214;box-shadow:0 40px 80px -30px #000b,0 0 0 1px #ffffff26}
.nc-phone__notch{position:absolute;z-index:2;top:14px;left:50%;width:62px;height:16px;margin-left:-31px;border-radius:99px;background:#111214}
.nc-phone__view,.nc-phone>img{overflow:hidden;width:100%;border-radius:25px;aspect-ratio:390/844;background:#000}
.nc-phone__view video{width:100%;height:100%;object-fit:cover}
.nc-sian__device .nc-phone{position:absolute;right:0;bottom:56px}
.nc-chapter-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;align-items:center;margin-top:22px;max-width:calc(100% - 120px)}
.nc-chapter-bar__track{grid-column:1/-1;position:relative;height:3px;border-radius:2px;background:#8885}
.nc-chapter-bar__track i{position:absolute;inset:0;background:var(--nc-navy);transform:scaleX(var(--vp,0));transform-origin:left}
.nc-sian--b .nc-chapter-bar__track i{background:#c2185b}
.nc-chapter-bar__list{display:flex;flex-wrap:wrap;gap:6px}
.nc-chapter-bar__list button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 13px;border-radius:99px;border:1px solid #141c3340;font-size:14px;font-weight:700;line-height:1.4;transition:background .3s,color .3s,border-color .3s}
.nc-chapter-bar__list button b{font-family:var(--nc-en);font-size:14px;font-weight:600;opacity:.8}
.nc-chapter-bar__list button[aria-current="true"]{background:var(--nc-navy);border-color:var(--nc-navy);color:#fff}
.nc-sian--b .nc-chapter-bar__list button[aria-current="true"]{background:var(--nc-mok);border-color:var(--nc-mok)}
.nc-chapter-bar__play{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid #8889;font-size:14px;font-weight:700}
.nc-notes{margin-top:clamp(70px,7vw,120px)}
.nc-notes__head{display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center}
.nc-notes__head p{max-width:640px;font-size:16px;color:var(--nc-sub)}
.nc-notes__strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 18px;width:calc(100% - 12vw);max-width:1440px;margin:34px auto 0}
.nc-notes__shot{display:block;width:100%;overflow:hidden;border-radius:12px;background:#000;box-shadow:0 0 0 1px #141c3326}
.nc-notes__shot img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .8s var(--nc-ease)}
.nc-notes__shot:hover img{transform:scale(1.05)}
.nc-notes__strip b{display:block;margin-top:14px;font-size:17px;font-weight:800;letter-spacing:-.02em;color:var(--nc-navy)}
.nc-sian--b .nc-notes__strip b{color:#a3153f}
.nc-notes__strip p{margin-top:6px;font-size:15px;line-height:1.6;color:var(--nc-sub)}
.nc-sian__palette{margin-top:clamp(56px,6vw,90px)}
.nc-sian__visit{margin-top:18px;width:fit-content;max-width:100%;color:var(--nc-navy)}
.nc-sian__ptitle{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px}
.nc-sian__ptitle b{font-family:var(--nc-en);font-size:20px;font-weight:600}
.nc-sian__ptitle span{font-size:16px;font-weight:700;color:var(--nc-sub)}
.nc-sian__bar{display:flex;gap:4px;margin-top:16px;min-height:124px}
.nc-sian__bar li{flex:var(--w) 1 0;min-width:84px}
.nc-sian__bar button{display:grid;align-content:space-between;width:100%;height:100%;min-height:124px;padding:12px;border-radius:12px;background:var(--c);color:var(--fg);text-align:left;box-shadow:inset 0 0 0 1px #141c331f;transition:transform .3s}
.nc-sian__bar button:hover{transform:translateY(-4px)}
.nc-sian__bar b{font-size:14px;font-weight:800;line-height:1.3}
.nc-sian__bar code{font-size:14px}
.nc-sian__bar span{font-family:var(--nc-en);font-size:14px;font-weight:600;opacity:.85}

/* ---------------------------------------------------------------- night: process · mobile · compare · ending */
.nc-process{background:radial-gradient(60% 50% at 30% 10%,#1b2d55 0,var(--nc-night) 70%)}
.nc-dirs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:clamp(56px,6vw,90px)}
.nc-dir{display:grid;align-content:start;gap:8px;padding:18px 18px 24px;border-radius:20px;background:#ffffff0a;box-shadow:inset 0 0 0 1px #f4f6fb1f}
.nc-dir.is-picked{background:#fcd83c12;box-shadow:inset 0 0 0 2px var(--nc-yellow)}
.nc-dir__sketch{position:relative;display:grid;place-items:center;height:190px;margin-bottom:10px;padding:14px;border-radius:14px;background:#fff;overflow:hidden}
.nc-dir__cal{display:grid;grid-template-columns:repeat(14,1fr);gap:6px;width:100%}
.nc-dir__cal i{aspect-ratio:1;border-radius:50%;background:#141c3324}
.nc-dir__cal i.is-on{background:var(--nc-pink);transform:scale(1.5)}
.nc-dir__cal i.is-on:nth-child(39){background:var(--nc-green)}
.nc-dir__cal i.is-on:nth-child(50){background:#ffd400}
.nc-dir__cal i.is-on:nth-child(53){background:var(--nc-mag)}
.nc-dir__cal i.is-on:nth-child(77){background:var(--nc-blue)}
.nc-dir--line .nc-dir__sketch>svg{position:absolute;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);overflow:visible}
.nc-dir--line .nc-dir__sketch>svg path{stroke:var(--nc-mok);stroke-width:4;stroke-linecap:round}
.nc-dir__row{position:relative;display:flex;gap:6px}
.nc-dir__row i{display:block;width:30px;height:30px;color:var(--c)}
.nc-dir__row svg{width:100%;height:100%;overflow:visible}
.nc-dir__rooms{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;width:100%;height:100%}
.nc-dir__rooms i{border-radius:8px;background:var(--c)}
.nc-dir__rooms i:nth-child(odd){transform:translateY(10px)}
.nc-dir__help{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;align-items:center;width:100%}
.nc-dir__help b{grid-row:span 3;display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:var(--nc-navy);color:#fff;font-family:var(--nc-en);font-size:28px;font-weight:600}
.nc-dir__help i{height:12px;border-radius:6px;background:#141c3326}
.nc-dir__help i:first-of-type{background:var(--nc-yellow);width:80%}
.nc-dir__no{font-family:var(--nc-en);font-size:15px;font-weight:600;letter-spacing:.14em;color:var(--nc-yellow)}
.nc-dir h3{font-size:22px}
.nc-dir p{font-size:15px;line-height:1.65;color:var(--nc-fg2)}
.nc-dir__result{justify-self:start;margin-top:8px;padding:5px 12px;border-radius:99px;background:#f4f6fb1a;font-size:14px;font-weight:800;color:var(--nc-fg)}
.nc-dir.is-picked .nc-dir__result{background:var(--nc-yellow);color:#231815}
.nc-route{position:relative;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:14px;margin-top:clamp(70px,7vw,110px);padding-top:26px}
.nc-route::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:3px;background:#f4f6fb1f}
.nc-route::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:3px;background:var(--nc-yellow);transform:scaleX(var(--rp,0));transform-origin:left}
.nc-route li{display:grid;align-content:start;gap:6px;opacity:.4;transition:opacity .5s}
.nc-route li.is-on{opacity:1}
.nc-route b{font-family:var(--nc-en);font-size:24px;font-weight:600;color:var(--nc-yellow)}
.nc-route strong{font-size:17px;line-height:1.4}
.nc-route p{font-size:14px;line-height:1.6;color:var(--nc-fg2)}
.nc-decide__head{margin-top:clamp(80px,8vw,130px)}
.nc-decide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:clamp(40px,4vw,60px)}
.nc-decide li{display:grid;align-content:start;gap:10px;padding:24px 22px 28px;border-radius:22px;background:var(--nc-fg);color:var(--nc-ink)}
.nc-decide span{font-family:var(--nc-en);font-size:32px;font-weight:600;line-height:1;color:var(--nc-navy)}
.nc-decide strong{font-size:21px;line-height:1.35}
.nc-decide p{font-size:16px;line-height:1.65;color:var(--nc-sub)}
.nc-process__photo{margin-top:clamp(80px,8vw,130px)}
.nc-photos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:clamp(40px,5vw,70px)}
.nc-photos figure{margin:0}
.nc-photos img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:12px}
.nc-photos figcaption{margin-top:8px;font-size:14px;line-height:1.5;color:var(--nc-fg2)}
.nc-mobile{overflow:hidden}
.nc-phones{display:flex;gap:clamp(16px,2vw,30px);width:max-content;margin-top:clamp(56px,6vw,96px);padding-inline:6vw;padding-bottom:50px;transform:translate3d(calc(var(--px,0) * -1px),0,0)}
.nc-phones .nc-phone{flex:none;width:clamp(170px,15vw,230px);transform:translateY(calc(var(--pp,0) * var(--sp) * 1px))}
.nc-phones .nc-phone:nth-child(even){margin-top:70px}
.nc-phones .nc-phone--a{box-shadow:0 40px 80px -30px #000b,0 0 0 2px #fcd83c88}
.nc-phones .nc-phone--b{box-shadow:0 40px 80px -30px #000b,0 0 0 1px #ffffff55}
.nc-phones figcaption{position:absolute;left:0;right:0;bottom:-34px;text-align:center;font-size:14px;font-weight:700;color:var(--nc-fg2)}
.nc-compare{padding-top:clamp(70px,7vw,110px)}
.nc-table{display:grid;margin-top:clamp(48px,5vw,80px);border-top:2px solid var(--nc-fg)}
.nc-table__row{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(0,1fr);gap:24px;padding:18px 0;border-bottom:1px solid var(--nc-dline);font-size:17px;line-height:1.6}
.nc-table__row>span:first-child{font-weight:800;color:var(--nc-fg2)}
.nc-table__row--head{font-family:var(--nc-en);font-size:15px;font-weight:600;letter-spacing:.12em}
.nc-table__row--head .is-a{color:var(--nc-yellow)}
.nc-table__row--head .is-b{color:#ff9cb8}
.nc-credits{padding-top:clamp(70px,7vw,110px)}
.nc-desk{position:relative;max-width:980px;margin:30px auto 0;padding:clamp(40px,4.6vw,70px) clamp(26px,4.6vw,72px) clamp(32px,4vw,56px);border-radius:12px;background:#fff;color:var(--nc-ink);box-shadow:0 60px 120px -70px #141c3380,0 0 0 1px #141c331a,0 14px 0 -6px #e3e7f0,0 26px 0 -12px #d6dce8}
.nc-desk__rings{position:absolute;left:12%;right:12%;top:-16px;display:flex;justify-content:space-between}
.nc-desk__rings i{width:18px;height:34px;border-radius:9px;background:linear-gradient(90deg,#1e3660,#3c5a92 50%,#1e3660);box-shadow:0 4px 8px #0003}
.nc-desk header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;border-bottom:2px solid var(--nc-ink);font-family:var(--nc-en);font-size:14px;font-weight:600;letter-spacing:.14em}
.nc-desk header span:first-child{display:inline-flex;align-items:center;gap:10px}
.nc-desk__kicker{margin-top:34px;font-size:15px;font-weight:800;letter-spacing:.08em;color:var(--nc-navy)}
.nc-desk__kicker b{display:inline-block;margin-left:8px;padding:2px 10px;border-radius:99px;background:var(--nc-ink);color:var(--nc-yellow);font-family:var(--nc-en);font-weight:600;letter-spacing:.12em;white-space:nowrap}
.nc-desk h2{margin-top:14px;font-size:clamp(42px,4.6vw,76px)!important;font-weight:800;line-height:1.08!important;letter-spacing:-.055em}
.nc-desk__sub{margin-top:14px;font-size:18px;font-weight:600;color:var(--nc-sub)}
.nc-desk__list{display:grid;margin-top:30px;border-top:1.5px solid var(--nc-ink)}
.nc-desk__list li{display:grid;grid-template-columns:58px 150px minmax(0,1fr);align-items:baseline;gap:12px;padding:13px 0;border-bottom:1px solid var(--nc-line)}
.nc-desk__list li b{font-size:15px;font-weight:800;color:var(--nc-mute)}
.nc-desk__list li:nth-child(5) b{color:#0b8522}
.nc-desk__k{font-family:var(--nc-en);font-size:15px;font-weight:600;letter-spacing:.06em;color:var(--nc-navy)}
.nc-desk__v{font-size:16px;font-weight:600;line-height:1.6}
.nc-desk__foot{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:28px}
.nc-desk__foot span{display:inline-flex;align-items:center;gap:8px;color:var(--c)}
.nc-desk__foot svg{width:24px;height:24px;overflow:visible}
.nc-desk__foot b{font-family:var(--nc-en);font-size:16px;font-weight:600;color:var(--nc-ink)}
.nc-ending{overflow:hidden;background:radial-gradient(70% 60% at 80% 20%,#1b2d55 0,var(--nc-night) 70%)}
.nc-ending h2{margin-top:22px;font-size:clamp(38px,5vw,80px)}
.nc-ending .nc-wrap>p{margin-top:24px;font-size:19px;color:var(--nc-fg2)}
.nc-ending__links{display:flex;flex-wrap:wrap;align-items:center;gap:20px 40px;margin-top:40px}
.nc-others{margin-top:clamp(90px,9vw,140px)}
.nc-others__title{font-size:clamp(24px,2.2vw,32px)!important}
.nc-others ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px}
.nc-others a{display:flex;flex-direction:column;gap:8px}
.nc-others__img{overflow:hidden;border-radius:16px;aspect-ratio:820/568;background:#ffffff0d}
.nc-others__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--nc-ease)}
.nc-others a:hover img{transform:scale(1.04)}
.nc-others__tag{margin-top:8px;font-size:14px;font-weight:700;letter-spacing:.06em;color:var(--nc-yellow)}
.nc-others strong{font-size:21px}
.nc-others__desc{font-size:15px;line-height:1.6;color:var(--nc-fg2)}

/* ---------------------------------------------------------------- index (bottom), lightbox, toast */
.nc-index{position:fixed;z-index:1001;left:50%;bottom:22px;display:flex;align-items:center;gap:2px;max-width:calc(100vw - 40px);padding:6px 6px 6px 16px;border-radius:99px;background:#ffffffeb;backdrop-filter:blur(10px);box-shadow:0 18px 40px #141c3333,inset 0 0 0 1px #141c331f;transform:translate(-50%,140%);opacity:0;transition:transform .5s var(--nc-ease),opacity .5s,background .5s;font-family:'Pretendard Variable',Pretendard,sans-serif}
.nc-index.is-visible{transform:translate(-50%,0);opacity:1}
.nc-index__gauge{display:inline-grid;gap:3px;margin-right:12px}
.nc-index__gauge i{position:relative;display:block;width:30px;height:4px;border-radius:2px;background:#141c3321;overflow:hidden}
.nc-index__gauge i::after{content:"";position:absolute;inset:0;background:var(--nc-navy);transform:scaleX(var(--g,0));transform-origin:left}
.nc-index a{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 10px;border-radius:99px;color:#454e66;font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap;transition:background .3s,color .3s}
.nc-index a b{font-family:'Fredoka',sans-serif;font-size:14px;font-weight:600;color:#5a6378}
.nc-index a span{display:none}
.nc-index a:hover{color:#141c33}
.nc-index a[aria-current]{background:#141c33;color:#fff}
.nc-index a[aria-current] b{color:#fcd83c}
.nc-index a[aria-current] span{display:inline}
.nc-index.is-night{background:#0e1830eb;box-shadow:0 18px 40px #0006,inset 0 0 0 1px #f4f6fb2e}
.nc-index.is-night .nc-index__gauge i{background:#f4f6fb26}
.nc-index.is-night .nc-index__gauge i::after{background:#fcd83c}
.nc-index.is-night a{color:#bcc6dc}
.nc-index.is-night a b{color:#97a2bf}
.nc-index.is-night a:hover{color:#fff}
.nc-index.is-night a[aria-current]{background:#fcd83c;color:#231815}
.nc-index.is-night a[aria-current] b{color:#231815}
.nc-lightbox{width:min(1240px,94vw);max-width:none;height:92vh;max-height:none;padding:0;border:0;border-radius:18px;background:#0e1830;color:#fff;overflow:hidden}
.nc-lightbox::backdrop{background:#0b1428e6;backdrop-filter:blur(4px)}
.nc-lightbox__bar{display:flex;justify-content:space-between;align-items:center;gap:20px;height:60px;padding:0 20px;border-bottom:1px solid #ffffff1a}
.nc-lightbox__bar p{font-family:'Pretendard Variable',Pretendard,sans-serif;font-size:15px;font-weight:600}
.nc-lightbox__close{min-height:44px;padding:0 16px;border-radius:99px;border:1px solid #ffffff4d;background:none;color:#fff;font-family:'Pretendard Variable',Pretendard,sans-serif;font-size:15px;font-weight:600;cursor:pointer}
.nc-lightbox__scroll{height:calc(92vh - 60px);overflow:auto;padding:20px}
.nc-lightbox__list{display:grid;gap:26px;margin:0;padding:0;list-style:none}
.nc-lightbox__list figure{margin:0}
.nc-lightbox__list img{display:block;width:100%;height:auto;border-radius:10px;background:#14223f}
.nc-lightbox__list figcaption{display:flex;gap:10px;margin-top:10px;font-family:'Pretendard Variable',Pretendard,sans-serif;font-size:15px;font-weight:600;color:#dbe2f0}
.nc-lightbox__list figcaption b{color:#fcd83c;font-family:'Fredoka',sans-serif;font-size:14px}
.nc-lightbox__list li.is-target figure img{box-shadow:0 0 0 3px #fcd83c}
.nc-toast{position:fixed;z-index:2001;left:50%;bottom:90px;padding:12px 20px;border-radius:99px;background:#141c33;color:#fff;font-family:'Pretendard Variable',Pretendard,sans-serif;font-size:15px;font-weight:700;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}
.nc-toast.is-on{opacity:1;transform:translate(-50%,0)}

/* ---------------------------------------------------------------- responsive */
@media (max-width:1440px){
  .nc-index a{padding:0 7px}
  .nc-index__gauge i{width:24px}
}
@media (max-width:1280px){
  .nc-index a{padding:0 5px}
  .nc-index__gauge{margin-right:6px}
  .nc-index__gauge i{width:18px}
  .nc-pairs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .nc-route{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:34px}
  .nc-ia__board,.nc-ia__grid{grid-template-columns:120px repeat(5,minmax(0,1fr))}
  .nc-ia__board{grid-template-columns:120px minmax(0,1fr)}
}
@media (min-width:1101px) and (max-height:820px){
  .nc-hero__beats{bottom:calc(3vh + 46px);height:84px}
  .nc-beat{font-size:clamp(18px,1.6vw,23px)}
  .nc-hero__title h1{font-size:clamp(42px,4.4vw,72px)}
  .nc-explode__label p{display:none}
  .nc-explode__label{padding-block:8px}
}
@media (max-width:1100px){
  .nc-index{display:none}
  .nc-split{grid-template-columns:1fr;gap:26px}
  .nc-meta{grid-template-columns:1fr 1fr}
  .nc-stats{grid-template-columns:1fr 1fr}
  .nc-stats li:nth-child(2){border-right:0}
  .nc-stats li:nth-child(3){padding-left:0}
  .nc-stats li:nth-child(n+3){margin-top:26px;border-top:1px solid var(--nc-line)}
  .nc-menumap__cols{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:28px}
  .nc-issues{grid-template-columns:1fr}
  .nc-cal{grid-template-columns:1fr;gap:0}
  .nc-cal__stage{top:72px;height:auto;padding:14px 0 18px;background:var(--nc-white);z-index:2}
  .nc-cal__card{padding:18px 18px 14px}
  .nc-cal__card::before{left:20px;right:20px}
  .nc-cal__month b{font-size:44px}
  .nc-cal__d{aspect-ratio:1/.62}
  .nc-cal__src{display:none}
  .nc-cal__steps{position:relative;z-index:1;padding-bottom:10vh}
  .nc-step{min-height:0;padding:30px 0 34vh;justify-content:flex-start}
  .nc-explode__labels{gap:12px}
  .nc-explode__label{padding:10px 4px 0}
  .nc-explode__label p{display:none}
  .nc-explode__label strong{font-size:18px}
  .nc-forks ol{grid-template-columns:1fr}
  .nc-pairs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nc-hilite{grid-template-columns:1fr}
  .nc-neutrals{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nc-rules{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nc-typeset{grid-template-columns:1fr}
  .nc-typeset__art{position:relative;top:auto}
  .nc-visitors{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nc-ia__frame{overflow-x:auto;scrollbar-width:thin}
  .nc-ia__board{min-width:920px}
  .nc-principles{grid-template-columns:1fr}
  .nc-sian__inner{grid-template-columns:minmax(0,1fr)}
  .nc-sian__device{padding-right:clamp(70px,16vw,150px)}
  .nc-sian__device .nc-phone{width:clamp(120px,22vw,190px)}
  .nc-notes__head{grid-template-columns:1fr;gap:14px}
  .nc-notes__strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nc-dirs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nc-route{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nc-decide{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nc-photos{grid-template-columns:repeat(3,minmax(0,1fr))}
  .nc-phones{overflow-x:auto;width:auto;transform:none;scroll-snap-type:x mandatory;scrollbar-width:none}
  .nc-phones .nc-phone{transform:none;scroll-snap-align:center}
  .nc-table__row{grid-template-columns:120px minmax(0,1fr) minmax(0,1fr);gap:16px;font-size:15px}
  .nc-others ul{grid-template-columns:1fr}
  .nc-hero__title{left:6vw;right:6vw;top:auto;bottom:calc(8vh + 60px);width:auto;transform:translateY(calc((1 - var(--t,0)) * 30px))}
  .nc-hero__hint{display:none}
}
@media (max-width:720px){
  .nc{font-size:17px}
  .nc-wrap,.nc-cal,.nc-notes__strip,.nc-explode__pin{width:calc(100% - 40px)}
  .nc-sian__inner,.nc-ia{width:calc(100% - 24px)}
  .nc-sec{padding-block:88px}
  .nc-prose p{font-size:17px}
  .nc-head{flex-direction:column;align-items:flex-start;gap:6px}
  html.nc-motion .nc-hero{height:500svh}
  .nc-hero__title{left:20px;right:20px;bottom:calc(9svh + 48px)}
  .nc-hero__top{flex-direction:column;gap:2px}
  .nc-hero__title h1{font-size:clamp(40px,11.4vw,54px)}
  .nc-hero__lead{margin-top:16px;font-size:16px}
  .nc-hero__beats{bottom:calc(3svh + 48px);height:118px}
  .nc-beat{font-size:clamp(17px,4.8vw,21px)}
  .nc-hero__hud{left:20px;right:20px;bottom:2svh;gap:6px}
  .nc-hero__hud li[data-h]{padding:4px 9px}
  .nc-hero__count{right:20px;top:calc(72px + 2svh)}
  .nc-hero__count b{font-size:48px}
  .nc-hero__mark{font-size:14px;padding:4px 9px}
  .nc-hero__mark b{font-size:15px}
  html:not(.nc-motion) .nc-hero__pin{grid-template-columns:1fr;padding:110px 20px 120px}
  .nc-meta{grid-template-columns:1fr}
  .nc-stats strong{font-size:clamp(48px,14vw,66px)}
  .nc-stats li>span{font-size:14px}
  .nc-logos{padding:20px}
  .nc-quote{font-size:clamp(24px,6.6vw,32px)}
  .nc-menumap{padding:18px 14px}
  .nc-menumap__cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 10px}
  .nc-mi{font-size:14px;padding:6px 9px}
  .nc-issues li{grid-template-columns:48px 1fr;gap:12px}
  .nc-issues li>span{font-size:24px}
  .nc-issues strong{font-size:20px}
  .nc-cal__month b{font-size:38px}
  .nc-cal__d{font-size:14px;border-radius:8px}
  .nc-cal__weeks{margin-top:10px;min-height:30px}
  .nc-step h3{font-size:27px}
  .nc-step p{font-size:17px}
  html.nc-motion .nc-explode{height:260vh}
  .nc-explode__pin{top:72px;height:calc(100svh - 72px);padding:10px 0 20px}
  .nc-explode__tab{min-height:44px;padding:0 12px 0 8px;font-size:14px}
  .nc-explode__tab span{display:none}
  .nc-explode__labels{gap:8px}
  .nc-explode__label{padding:8px 2px 0}
  .nc-explode__label b{display:block;margin:2px 0 0}
  .nc-explode__label strong{font-size:15px;margin-top:2px}
  .nc-explode__word{font-size:15px}
  .nc-pairs{grid-template-columns:1fr 1fr;gap:12px}
  .nc-pair__swatch{padding:14px}
  .nc-pair__name{font-size:15px}
  .nc-pair__rows dd button{font-size:15px}
  .nc-hilite{padding:20px 16px}
  .nc-hilite__demo{min-height:220px;padding:20px}
  .nc-neutrals{grid-template-columns:1fr}
  .nc-rules{grid-template-columns:1fr}
  .nc-typeset__marquee{height:220px;gap:24px;padding:20px}
  .nc-spec{padding:18px}
  .nc-spec__rules li{grid-template-columns:60px minmax(0,1fr)}
  .nc-visitors{grid-template-columns:1fr}
  .nc-ia__frame{padding:14px;border-radius:20px}
  .nc-ia__head{flex-direction:column;align-items:flex-start}
  .nc-demo{height:220px}
  .nc-turn p{font-size:clamp(30px,8.4vw,40px)}
  .nc-sian__device{padding-right:0}
  .nc-sian__device .nc-phone{position:relative;right:auto;bottom:auto;width:56%;margin:24px auto 0}
  .nc-chapter-bar{max-width:none}
  .nc-notes__strip{grid-template-columns:1fr;gap:26px}
  .nc-sian__bar{flex-wrap:wrap}
  .nc-sian__bar li{flex-basis:calc(50% - 4px)}
  .nc-dirs{grid-template-columns:1fr}
  .nc-route{grid-template-columns:1fr}
  .nc-decide{grid-template-columns:1fr}
  .nc-photos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nc-table__row{grid-template-columns:1fr;gap:6px}
  .nc-table__row--head{display:none}
  .nc-compare .nc-table__row span[role="cell"]:nth-child(2)::before{content:"A · ";font-weight:800;color:var(--nc-yellow)}
  .nc-compare .nc-table__row span[role="cell"]:nth-child(3)::before{content:"B · ";font-weight:800;color:#ff9cb8}
  .nc-desk header{flex-direction:column;align-items:flex-start;gap:6px}
  .nc-desk__list li{grid-template-columns:46px minmax(0,1fr);gap:2px 10px}
  .nc-desk__v{grid-column:2}
  .nc-ending .nc-wrap>p br{display:none}
}
@media (prefers-reduced-motion:reduce){
  .nc *,.nc *::before,.nc *::after{animation:none!important;transition:none!important}
  .nc-js .nc-rv{opacity:1;transform:none}
  .nc-step{opacity:1}
  .nc-js [data-menumap] .nc-mi{opacity:1;transform:none}
  .nc-explode__label{opacity:1;transform:none}
  .nc-demo__grow svg{transform:scale(1)}
  .nc-demo--line path{stroke-dashoffset:0}
}
