/* NEXT CHAPTER: isolated homepage tokens and layouts. Shared dialogs stay in styles.css. */
.next-chapter{--ink:#242633;--paper:#f4f1e9;--blue:#4453d9;--blue-ink:#343f9f;--blue-soft:#e4e7f5;--wasabi:#d7ff00;--acid:var(--blue);--muted:#666b66;--line:#d2d3cb;--pad:clamp(22px,4.5vw,88px);background:var(--paper);color:var(--ink)}
.next-chapter .site-header{height:100px;border-bottom:1px solid var(--line);color:var(--ink)}
.next-chapter .header-location,.next-chapter .header-clock{color:#62665f}
.next-chapter .header-location{font-size:8px}
.next-chapter .pill{border-color:#b1b5ab;border-radius:0;padding:14px 18px}
.next-chapter .header-inquiry{color:var(--blue);border-color:var(--blue)}
.next-chapter .wordmark{font-size:27px}
.next-chapter .desktop-nav{gap:25px}
.next-chapter .live-dot{box-shadow:none}
.next-chapter .page-progress{height:3px}
.next-chapter .nc-section{padding:100px var(--pad)}
.next-chapter main{overflow:clip}
.nc-section [id],.nc-hero{scroll-margin-top:30px}
.nc-eyebrow{font-family:Pretendard,Arial,sans-serif;font-size:10px;font-weight:550;letter-spacing:.09em;line-height:1.5}
.nc-heading{font-size:clamp(30px,3.7vw,60px);font-weight:550;line-height:1.23;letter-spacing:-.055em;word-break:keep-all}
.nc-heading>span{display:block}
.nc-description{font-size:15px;line-height:1.85;letter-spacing:-.02em;color:#676c65;word-break:keep-all;max-width:390px}
.nc-button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;background:var(--blue);color:#fff;padding:19px 23px;min-height:58px;font-size:13px;font-weight:500}
.nc-button>span{font-size:22px;font-weight:400}
.nc-text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:13px;padding:12px 0;border-bottom:1px solid currentColor;min-height:44px}
.nc-text-link>span{font-size:22px}
.nc-hero{padding:135px var(--pad) 0;max-width:1800px;margin:auto}
.nc-hero-top{display:flex;justify-content:space-between;gap:25px;color:#676c65;margin-bottom:44px}
.nc-hero-top>span:first-child{color:var(--acid)}
.nc-hero-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:6vw;align-items:center}
.nc-hero h1{font-family:Syne,Pretendard,sans-serif;font-size:clamp(50px,5.65vw,97px);font-weight:650;letter-spacing:-.065em;line-height:.98}
.nc-hero h1>span{display:block}
.nc-hero h1 .nc-build{margin-top:.25em}
.nc-hero h1 .nc-hero-emphasis{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.065em;color:var(--acid);font-size:1.13em;line-height:1.05}
.nc-hero-lead{font-size:17px;font-weight:550;line-height:1.6;letter-spacing:-.025em;margin-top:35px;word-break:keep-all}
.nc-hero-description{font-size:14px;color:#62675f;line-height:1.85;max-width:420px;margin-top:12px;word-break:keep-all}
.nc-actions{display:flex;align-items:center;gap:26px;margin-top:28px}
.nc-actions .nc-text-link{border:0}
.nc-hero-bottom{margin-top:52px;border-top:1px solid var(--line);padding:23px 0;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#676c65}
.nc-hero-bottom>a{color:var(--ink)}
.nc-hero-bottom>a>span{margin-left:25px}
.nc-perspective{background:#e8e8ef;padding:22px 25px 18px;position:relative;min-width:0}
.nc-perspective-heading{display:flex;justify-content:space-between;color:#52594e}
.nc-perspective-heading>span:last-child{font-size:22px;line-height:1}
.nc-perspective-heading{align-items:center;gap:12px}
.nc-perspective-autoplay{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:73px;min-height:32px;padding:5px 7px;border:1px solid #b9bdce;color:#525976;font-size:9px;letter-spacing:0;white-space:nowrap}
.nc-perspective-autoplay [data-playback-icon]{font-size:14px;line-height:1}
.nc-perspective-autoplay:focus-visible{background:var(--wasabi);color:var(--ink)}
@media(hover:hover) and (pointer:fine){.nc-perspective-autoplay:hover{background:var(--wasabi);color:var(--ink)}}
.nc-perspective-art{height:310px;position:relative;isolation:isolate}
.nc-orbit{position:absolute;border:1px solid #8790d7;width:205px;height:205px;left:50%;top:50%;transition:transform .65s cubic-bezier(.2,.8,.2,1),border-radius .65s}
.nc-orbit-back{transform:translate(-63%,-43%) rotate(-27deg);border-color:#a4b2c3}
.nc-orbit-front{transform:translate(-40%,-55%) rotate(18deg)}
.nc-lens{width:152px;height:185px;background:var(--blue);color:#fff;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-9deg);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .65s,border-radius .65s,background .3s,color .3s,border-color .3s;border:1px solid var(--blue)}
.nc-lens-word{font-family:Syne,sans-serif;font-weight:650;font-size:17px;letter-spacing:.02em;transition:opacity .2s}
.nc-lens-sign{font-family:Georgia,serif;font-size:110px;line-height:1;font-style:italic;margin-top:0}
.nc-coordinate{position:absolute;font-size:8px;letter-spacing:.08em;color:#636c60}
.nc-coordinate-top{top:20px;right:15px}
.nc-coordinate-left{left:0;top:53%;writing-mode:vertical-rl;transform:rotate(180deg)}
.nc-coordinate-right{right:0;bottom:20px}
.nc-art-cross{position:absolute;left:4px;bottom:29px;color:var(--acid);font-size:28px;font-weight:250}
[data-perspective-stage="1"] .nc-lens{transform:translate(-50%,-50%) rotate(0);border-radius:80px}
[data-perspective-stage="1"] .nc-orbit-back{transform:translate(-76%,-50%) rotate(0);border-radius:50%}
[data-perspective-stage="1"] .nc-orbit-front{transform:translate(-24%,-50%) rotate(0);border-radius:50%}
[data-perspective-stage="2"] .nc-lens{transform:translate(-50%,-50%) rotate(9deg)}
[data-perspective-stage="2"] .nc-orbit-back{transform:translate(-61%,-61%) rotate(9deg)}
[data-perspective-stage="2"] .nc-orbit-front{transform:translate(-39%,-39%) rotate(9deg)}
.nc-perspective-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:21px;border-bottom:1px solid #b6bcb0;padding-bottom:10px}
.nc-perspective-controls button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:43px;font-size:12px;color:#545c50;transition:background .2s,color .2s}
.nc-perspective-controls button>span{font-size:9px}
.nc-perspective-controls button[aria-pressed=true]{background:var(--blue);color:white}
.nc-perspective-panel{padding-top:17px;border-top:1px solid #b6bcb0;margin-top:17px}
.nc-perspective.is-enhanced .nc-perspective-panel{padding-top:0;border:0;margin-top:0;min-height:116px}
.nc-perspective.is-enhanced .nc-perspective-panels{display:grid}
.nc-perspective.is-enhanced .nc-perspective-panel{grid-area:1/1;display:block!important;visibility:hidden;pointer-events:none;opacity:0;transform:translateY(7px);transition:opacity .3s,transform .3s,visibility 0s .3s}
.nc-perspective.is-enhanced .nc-perspective-panel:not([hidden]){visibility:visible;pointer-events:auto;opacity:1;transform:translateY(0);transition-delay:0s}
.nc-perspective-panel>.nc-eyebrow{font-size:8px;color:#5d6557}
.nc-perspective-panel h3{font-size:20px;font-weight:550;letter-spacing:-.035em;line-height:1.4;margin-top:10px;word-break:keep-all}
.nc-perspective-panel p{font-size:12px;color:#596150;line-height:1.7;margin-top:9px;word-break:keep-all}
.nc-perspective-note{margin-top:18px;display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#5b6355;line-height:1.5}
.nc-perspective-note>span{font-size:8px}
.next-chapter .nc-thinking{--thought-index:'?';--thought-x:0px;--thought-y:0px;--thought-turn:-12deg;--thought-round:0px;--thought-orbit-x:0px;--thought-orbit-turn:15deg;--thought-dot-x:0px;--thought-dot-y:0px;background:#222431;color:var(--paper);display:grid;grid-template-columns:1fr 1.4fr;gap:7vw;padding-top:85px;padding-bottom:85px}
.nc-thinking .nc-eyebrow{color:#a4b2ff}
.nc-thinking .nc-heading{margin-top:28px}
.nc-thinking .nc-description{color:#b7bac9;margin-top:25px;max-width:315px}
/* The native open detail drives the decorative composition, also without JS. */
.nc-thought-art{position:relative;width:300px;max-width:100%;height:245px;margin-top:32px}
.nc-thought-composition{position:absolute;width:300px;height:230px;left:50%;top:0;transform:translateX(-50%);transform-origin:50% 0}
.nc-thought-plane{position:absolute;width:186px;height:155px;left:46px;top:32px;background:var(--blue);transform:translate(var(--thought-x),var(--thought-y)) rotate(var(--thought-turn));border-radius:var(--thought-round);transition:transform .65s cubic-bezier(.2,.8,.2,1),border-radius .65s}
.nc-thought-orbit{position:absolute;width:195px;height:195px;left:65px;top:5px;border:1px solid #818abe;border-radius:50%;transform:translateX(var(--thought-orbit-x)) rotate(var(--thought-orbit-turn));transition:transform .65s cubic-bezier(.2,.8,.2,1);border-top-color:var(--wasabi)}
.nc-thought-index{position:absolute;left:18px;top:19px;font:600 165px/1.1 Syne,Arial,sans-serif;letter-spacing:-.09em;color:var(--paper);font-variant-numeric:tabular-nums}
.nc-thought-index::before{content:var(--thought-index)}
.nc-thought-dot{position:absolute;left:242px;top:165px;width:22px;height:22px;border-radius:50%;background:var(--wasabi);transform:translate(var(--thought-dot-x),var(--thought-dot-y));transition:transform .65s cubic-bezier(.2,1.2,.3,1)}
.nc-thought-markers{position:absolute;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.nc-thought-markers i{height:2px;background:#52566f;transition:background .25s,transform .35s;transform-origin:left}
.nc-thinking-playback{display:flex;align-items:center;justify-content:space-between;gap:12px;width:300px;max-width:100%;margin-top:16px;color:#aeb4d0;font-size:10px}
.nc-thinking-playback[hidden]{display:none}
.nc-thinking-autoplay{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:83px;min-height:36px;padding:6px 10px;border:1px solid #5e637a;color:var(--paper);font-size:10px}
.nc-thinking-autoplay [data-thinking-playback-icon]{font-size:14px;line-height:1}
.nc-thinking-autoplay:focus-visible{outline:2px solid var(--wasabi);outline-offset:3px;background:var(--wasabi);color:var(--ink)}
.nc-thinking:has([data-principle="1"][open]){--thought-index:'01'}
.nc-thinking:has([data-principle="2"][open]){--thought-index:'02';--thought-x:30px;--thought-y:-9px;--thought-turn:14deg;--thought-orbit-x:-27px;--thought-orbit-turn:100deg;--thought-dot-x:-29px;--thought-dot-y:-132px}
.nc-thinking:has([data-principle="3"][open]){--thought-index:'03';--thought-x:17px;--thought-y:5px;--thought-turn:0deg;--thought-round:90px;--thought-orbit-x:-15px;--thought-orbit-turn:195deg;--thought-dot-x:-111px;--thought-dot-y:-63px}
.nc-thinking:has([data-principle="4"][open]){--thought-index:'04';--thought-x:37px;--thought-y:4px;--thought-turn:0deg;--thought-round:12px;--thought-orbit-x:-36px;--thought-orbit-turn:260deg;--thought-dot-x:-40px;--thought-dot-y:-3px}
.nc-thinking:has([data-principle="5"][open]){--thought-index:'05';--thought-x:26px;--thought-y:-17px;--thought-turn:-22deg;--thought-orbit-x:5px;--thought-orbit-turn:335deg;--thought-dot-x:13px;--thought-dot-y:-137px}
.nc-thinking:has([data-principle="1"][open]) [data-thinking-mark="1"],.nc-thinking:has([data-principle="2"][open]) [data-thinking-mark="2"],.nc-thinking:has([data-principle="3"][open]) [data-thinking-mark="3"],.nc-thinking:has([data-principle="4"][open]) [data-thinking-mark="4"],.nc-thinking:has([data-principle="5"][open]) [data-thinking-mark="5"]{background:var(--wasabi);transform:scaleY(2)}
.nc-principles{align-self:center;min-width:0}
.nc-principle{position:relative;border-top:1px solid #4b4e62;transition:background .3s,border-color .3s}
.nc-principle:last-child{border-bottom:1px solid #4b4e62}
.nc-principle[open]{background:var(--blue);border-color:transparent;padding-bottom:1px}
.nc-principle[open]::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--wasabi)}
.nc-principle summary{list-style:none;display:grid;grid-template-columns:26px minmax(0,1fr) 32px;gap:15px;align-items:start;padding:23px 22px;cursor:pointer;min-height:101px}
.nc-principle summary::-webkit-details-marker{display:none}
.nc-principle-number{font-family:Syne,Arial,sans-serif;font-size:12px;padding-top:6px;color:#aeb4d0}
.nc-principle-label{transition:transform .3s}
.nc-principle summary strong{font-family:Syne,Pretendard,sans-serif;font-size:clamp(18px,1.75vw,28px);font-weight:550;letter-spacing:-.035em;line-height:1.25}
.nc-principle-summary{display:block;font-size:13px;color:#b7bac9;margin-top:7px;line-height:1.6;word-break:keep-all}
.nc-detail-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid #5e637a;border-radius:50%;font-size:23px;font-weight:250;line-height:1;transition:transform .3s,background .25s,color .25s,border-color .25s}
.nc-principle[open] .nc-detail-mark{transform:rotate(45deg);color:var(--ink);background:var(--wasabi);border-color:var(--wasabi)}
.nc-principle[open] .nc-principle-number{color:var(--wasabi)}
.nc-principle[open] summary strong{color:#fff}
.nc-principle[open] .nc-principle-summary{color:#e3e7ff}
.nc-principle>p{margin:0 25px 26px 63px;font-size:14px;line-height:1.85;color:#f1f2ff;max-width:450px;word-break:keep-all}
.nc-principle[open]>p{animation:nc-thought-reveal .35s ease-out both}
@keyframes nc-thought-reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.nc-thinking a:focus-visible,.nc-thinking summary:focus-visible{outline-color:var(--wasabi);outline-offset:-4px}
.nc-principle:not([open]):has(summary:focus-visible){background:#2d3041}
.nc-principle:not([open]) summary:focus-visible .nc-detail-mark{background:var(--wasabi);border-color:var(--wasabi);color:var(--ink);transform:rotate(90deg)}
.nc-principle:not([open]) summary:focus-visible .nc-principle-label{transform:translateX(5px)}
@media(hover:hover) and (pointer:fine){
  .nc-thinking-autoplay:hover{background:var(--wasabi);color:var(--ink);border-color:var(--wasabi)}
  .nc-principle:not([open]):hover{background:#2d3041}
  .nc-principle:not([open]) summary:hover .nc-detail-mark{background:var(--wasabi);border-color:var(--wasabi);color:var(--ink);transform:rotate(90deg)}
  .nc-principle:not([open]) summary:hover .nc-principle-label{transform:translateX(5px)}
}
.next-chapter .nc-capabilities{padding-bottom:60px}
.nc-capabilities-intro{display:grid;grid-template-columns:1fr 1.15fr;gap:20px 60px}
.nc-capabilities-intro .nc-eyebrow{grid-column:1/-1;color:#62675f}
.nc-capabilities-intro h2{font-size:30px;font-weight:550;letter-spacing:-.045em;line-height:1.35}
.nc-capabilities-intro>p:last-child{font-size:14px;color:#676c65;line-height:1.8;max-width:420px;word-break:keep-all}
.nc-disciplines{display:grid;grid-template-columns:1fr 1fr 1.4fr;border-top:1px solid #a5aaa0;border-bottom:1px solid #a5aaa0;margin-top:32px;padding:26px 0}
.nc-discipline{padding:0 30px;position:relative}
.nc-discipline:first-child{padding-left:0}
.nc-discipline+.nc-discipline{border-left:1px solid #c9cdc3}
.nc-discipline+.nc-discipline:before{content:'+';background:var(--paper);position:absolute;left:-8px;top:29px;font-size:20px;color:var(--acid)}
.nc-discipline>.nc-eyebrow{color:var(--acid)}
.nc-discipline h3{font-family:Syne,sans-serif;font-size:25px;font-weight:550;letter-spacing:-.045em;margin:10px 0 16px;line-height:1.2}
.nc-discipline ul{padding:0;margin:0;list-style:none;font-size:12px;line-height:1.8;color:#676c65}
.next-chapter .nc-services{padding-top:20px}
.nc-section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:38px}
.nc-section-heading .nc-eyebrow{margin-bottom:20px;color:#62675f}
.nc-section-heading>.nc-description{max-width:340px;font-size:13px}
.nc-section-heading>div:last-child>.nc-description{max-width:310px}
.nc-section-heading .nc-text-link{margin-top:20px}
.nc-services-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.nc-service{position:relative;min-width:0;overflow:clip}
.nc-service-link{display:flex;flex-direction:column;height:100%;min-height:540px;padding:29px 32px 0;position:relative;outline-offset:-4px!important}
.nc-service-copy{position:relative;z-index:2}
.nc-service-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.nc-service-top>.nc-eyebrow{font-size:10px;letter-spacing:.015em;line-height:1.6}
.nc-service-top>span:last-child{font-size:27px;line-height:1;transition:transform .25s}
.nc-service h3{font-family:Syne,Pretendard,sans-serif;font-size:clamp(34px,3.5vw,58px);line-height:1;letter-spacing:-.055em;font-weight:600;margin-top:35px}
.nc-service h3>span{display:block}
.nc-service-copy>p{font-size:14px;line-height:1.85;letter-spacing:-.02em;max-width:370px;margin-top:22px;word-break:keep-all}
.nc-service-keywords{display:block;font-size:10px;line-height:1.6;opacity:.76;margin-top:14px}
.nc-service-cta{display:inline-flex;align-items:center;gap:22px;font-size:12px;margin-top:22px;padding-bottom:7px;border-bottom:1px solid currentColor}
.nc-service-art{position:relative;min-height:190px;flex:1;display:grid;place-items:center;margin:0}
.nc-service-si-sm{grid-column:span 7;background:var(--blue);color:#fff}
.nc-service-si-sm .nc-service-link{flex-direction:row;min-height:470px;padding-bottom:34px;gap:5px}
.nc-service-si-sm .nc-service-copy{width:65%}
.nc-service-si-sm .nc-service-top{width:156%}
.nc-service-si-sm .nc-service-art{width:35%;align-self:flex-end;min-height:230px}
.nc-service-si-sm .nc-service-copy>p{max-width:290px}
.nc-service-si-sm .nc-eyebrow{color:inherit;opacity:.85}
.nc-window{border:1px solid #aeb7ee;width:205px;height:175px;transform:rotate(-8deg);background:#303c9f;color:#f4f1e9;display:flex;flex-direction:column;justify-content:space-between;transition:transform .4s}
.nc-window-bar{font-size:6px;padding:10px 12px;border-bottom:1px solid #aeb7ee;letter-spacing:3px;color:#c9d0ff}
.nc-window-tabs{display:flex;justify-content:space-between;padding:13px;font-size:8px;border-top:1px solid #aeb7ee}
.nc-service-community{grid-column:span 5;background:#e9e7df;color:var(--ink)}
.nc-service-community .nc-service-link{min-height:470px}
.nc-service-community h3{font-size:clamp(30px,2.6vw,43px);margin-top:26px}
.nc-service-community .nc-service-art{min-height:170px;display:flex;justify-content:center;padding-top:15px}
.nc-community-circle{height:125px;width:125px;border:1px solid #7b80a1;border-radius:50%;display:grid;place-items:center;font-size:8px;letter-spacing:.08em}
.nc-community-circle+.nc-community-circle{margin-left:-35px}
.nc-community-plus{position:absolute;font-size:62px;color:var(--blue-ink);left:50%;transform:translateX(-50%);line-height:1}
.nc-service-brand-goods{grid-column:span 5;background:#ddd9cd}
.nc-service-brand-goods .nc-service-link{min-height:520px}
.nc-service-brand-goods .nc-service-art{height:195px}
.nc-goods-tag{background:#f8f6ed;color:var(--blue);width:112px;height:144px;transform:rotate(-13deg);padding:20px 15px 13px;display:flex;flex-direction:column;justify-content:space-between;position:relative;left:-35px;transition:transform .4s;border:1px solid #bdbaa8}
.nc-goods-tag:before{content:'';width:10px;height:10px;position:absolute;top:7px;left:51px;border:1px solid #bdbaa8;border-radius:50%;background:#ddd9cd}
.nc-goods-tag span{font-size:8px;letter-spacing:.06em}
.nc-goods-tag b{font-family:Syne,sans-serif;font-size:54px;letter-spacing:-.1em;line-height:1}
.nc-goods-disc{position:absolute;width:110px;height:110px;display:grid;place-items:center;border-radius:50%;border:1px solid #a4accf;background:#c7cdea;font-size:70px;right:calc(50% - 108px);bottom:27px;transform:rotate(18deg);color:var(--blue-ink);transition:transform .4s}
.nc-service-zep{grid-column:span 7;background:var(--blue-soft);color:var(--blue-ink)}
.nc-service-zep .nc-service-link{min-height:520px}
.nc-service-zep .nc-service-art{min-height:170px;position:absolute;right:25px;bottom:32px;width:220px;opacity:.9}
.nc-service-zep .nc-service-copy>p{max-width:310px}
.nc-zep-label{position:relative;top:-20px;font-family:Syne,sans-serif;font-size:43px;font-weight:650;letter-spacing:-.06em}
.nc-zep-label>span{display:inline-block;font-size:30px;margin-left:10px}
.nc-service-popup{grid-column:1/-1;background:#e2e5e5;color:var(--ink)}
.nc-service-popup .nc-service-link{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:50px;min-height:380px;padding:0}
.nc-service-popup .nc-service-copy{padding:35px 35px 32px 0;grid-column:2;grid-row:1;min-width:0}
.nc-service-popup h3{font-size:clamp(30px,3.1vw,52px);margin-top:22px}
.nc-service-popup .nc-service-art{grid-column:1;grid-row:1;align-self:stretch;display:block;min-height:380px}
.nc-service-popup img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0;object-position:50% 42%}
.nc-service-popup figcaption{position:absolute;bottom:0;left:0;right:0;background:#191d18e8;padding:12px 18px;font-size:9px;line-height:1.5;color:#eeefe9}
.next-chapter .nc-work-section{background:#e9ebe3;padding-top:85px}
.nc-work-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:60px 35px;align-items:start}
.nc-work-2{margin-top:110px}
.nc-work-image{aspect-ratio:1.3;background:#d5d9cd;position:relative;overflow:hidden}
.nc-work-image img{height:100%;object-fit:cover;transition:transform .7s}
.nc-work-open{position:absolute;bottom:17px;right:17px;width:43px;height:43px;display:grid;place-items:center;background:var(--paper);color:var(--blue);font-size:29px;transition:background .25s,color .25s,transform .35s}
.nc-work-meta{padding-top:20px}
.nc-work-meta>.nc-eyebrow{font-size:9px;letter-spacing:.03em;color:#5d6658}
.nc-work h3{font-family:Syne,Pretendard,sans-serif;font-size:24px;font-weight:550;line-height:1.25;letter-spacing:-.035em;margin:10px 0;overflow-wrap:anywhere}
.nc-work-meta p{font-size:10px;line-height:1.8;color:#62695c;max-width:500px}
.nc-work-3{grid-column:1/-1;margin-top:0}
.nc-work-3>a{display:grid;grid-template-columns:1.2fr 1fr;gap:35px;align-items:center}
.nc-work-3 .nc-work-image{aspect-ratio:1.8}
.nc-work-3 .nc-work-image img{object-position:50% 35%}
.nc-work-3 .nc-work-meta{max-width:360px;padding:0}
.nc-work-3 h3{font-size:30px;line-height:1.4;word-break:keep-all}
.next-chapter .nc-ventures{background:#242633;color:var(--paper);display:grid;grid-template-columns:1fr 1.2fr;gap:9vw}
.nc-ventures-intro>.nc-eyebrow{color:#b7c3ad;font-size:9px}
.nc-ventures .nc-heading{margin-top:25px;font-size:clamp(30px,3.1vw,50px)}
.nc-ventures .nc-description{margin-top:26px;color:#b4bdae;max-width:320px}
.nc-venture-parent{font-family:Syne,sans-serif;display:block;font-size:24px;font-weight:650;letter-spacing:-.05em;margin-top:54px}
.nc-venture-parent>span{color:#c5d0ba;font-size:33px;vertical-align:middle;margin-left:15px}
.nc-venture{display:flex;gap:20px;padding:22px 0;border-top:1px solid #535e4d;align-items:center;min-height:124px}
.nc-venture-number{font-size:9px;align-self:flex-start;color:#b4bdae;padding-top:4px}
.nc-venture>div{flex:1;min-width:0}
.nc-venture .nc-eyebrow{font-size:8px;color:#b4bdae}
.nc-venture h3{font-family:Syne,sans-serif;font-size:clamp(20px,2.15vw,34px);font-weight:600;line-height:1.2;letter-spacing:-.035em;margin:8px 0}
.nc-venture p{font-size:12px;color:#bbc4b5;line-height:1.6;word-break:keep-all}
.nc-venture>span:last-child{font-size:30px;font-weight:300;transition:transform .25s}
.nc-venture-next{border-top:1px solid #535e4d;padding:22px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.nc-venture-next>.nc-eyebrow{color:#b4bdae;font-size:8px;grid-column:1/-1}
.nc-venture-next strong{font-size:16px;font-weight:500;letter-spacing:-.02em}
.nc-venture-next>span:last-child{font-size:11px;color:#b4bdae;align-self:end;text-align:right;line-height:1.6}
.nc-ventures a:focus-visible{outline-color:#c5d0ba}

.next-chapter .nc-contact{background:var(--blue-soft);padding-top:65px;padding-bottom:50px;color:var(--blue-ink)}
.nc-contact-main{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:28px}
.nc-contact h2{font-family:Syne,sans-serif;font-size:clamp(43px,6.5vw,105px);font-weight:550;line-height:1;letter-spacing:-.065em}
.nc-contact h2>span{display:block}
.nc-contact h2>span:last-child{font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:1.12em}
.nc-contact-symbol{display:grid;place-items:center;width:130px;height:130px;flex:0 0 auto;border:1px solid #627ad3;border-radius:50%;font-size:80px;font-weight:250;line-height:1}
.nc-contact-bottom{display:flex;gap:25px;align-items:center;justify-content:space-between;margin-top:45px}
.nc-contact-bottom>p{max-width:390px;line-height:1.85;font-size:15px;word-break:keep-all;letter-spacing:-.02em}
.nc-contact-bottom .nc-button{background:var(--blue);color:white;white-space:nowrap}
.nc-contact-email{font-size:11px}
.nc-contact-topics{display:flex;flex-wrap:wrap;gap:12px 30px;border-top:1px solid #a9b9ee;padding-top:25px;margin-top:38px}
.nc-contact-topics>button{font-size:12px;display:flex;gap:15px;align-items:center;padding:10px 0;min-height:44px}
.next-chapter .footer{background:#1b1d28;color:var(--paper);padding-top:30px}
.next-chapter .footer-wordmark{font-size:8.8vw;margin:32px 0;letter-spacing:-.08em}
.next-chapter .footer-wordmark>span{color:#bdc7b5}
.next-chapter .footer a:focus-visible{outline-color:#bcc6ff}
.next-chapter .inquiry-dialog{--acid:var(--blue)}
.next-chapter .inquiry-dialog .form-submit,.next-chapter .service-picker input:checked+span{color:white;background:var(--blue);border-color:var(--blue)}
.next-chapter .inquiry-dialog input:focus-visible,.next-chapter .inquiry-dialog textarea:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.next-chapter .inquiry-kicker,.next-chapter .form-note{color:#62675f}
.next-chapter #inquiry-form label>span:not(.service-picker span){color:#3a4a94}

/* Blue at rest, wasabi on intent. The same reaction is available by keyboard.
   Scope hover to a fine pointer so touch navigation has no sticky hover state. */
.next-chapter :is(.nc-button,.header-inquiry,.nc-perspective-controls button,.nc-contact-topics>button,.inquiry-dialog .form-submit){position:relative;isolation:isolate;overflow:hidden;--nc-fill:0;--nc-arrow:0px;transition:color .18s}
.next-chapter :is(.nc-button,.header-inquiry,.nc-perspective-controls button,.nc-contact-topics>button,.inquiry-dialog .form-submit)::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--wasabi);transform:scaleX(var(--nc-fill));transform-origin:left;transition:transform .42s cubic-bezier(.22,.8,.25,1);pointer-events:none}
.next-chapter :is(.nc-button>span,.header-inquiry>span,.nc-service-top>span:last-child,.nc-service-cta>span,.nc-contact-topics>button>span){display:inline-grid;place-items:center;line-height:1;flex-shrink:0;transform:translate(var(--nc-arrow,0px),calc(-1 * var(--nc-arrow,0px)));transition:transform .4s cubic-bezier(.22,1.4,.4,1)}
.nc-hero .nc-button>span{transform:translateY(var(--nc-arrow,0px))}
.next-chapter .nc-contact-topics>button{padding:10px 12px;margin-left:-12px}
.next-chapter .desktop-nav a::after{height:3px;background:var(--wasabi)}
.next-chapter .desktop-nav a:focus-visible::after{transform:scaleX(1)}
.nc-text-link>span{transition:background .25s,transform .35s;min-width:30px;text-align:center}
.nc-contact-symbol{transition:background .25s,color .25s,transform .35s}
.next-chapter :is(.nc-button,.header-inquiry,.nc-perspective-controls button,.nc-contact-topics>button,.inquiry-dialog .form-submit):focus-visible{--nc-fill:1;--nc-arrow:3px;color:var(--ink)}
.nc-text-link:focus-visible{color:var(--blue)}
.nc-text-link:focus-visible>span,.nc-work>a:focus-visible .nc-work-open{background:var(--wasabi);color:var(--ink);transform:translate(3px,-3px)}
.nc-work>a:focus-visible img{transform:scale(1.025)}
.nc-venture:focus-visible>span:last-child{color:var(--wasabi);transform:translate(3px,-3px)}
.nc-contact-symbol:focus-visible{background:var(--wasabi);color:var(--ink);transform:rotate(8deg)}
.nc-perspective:has(.nc-perspective-controls button:focus-visible) .nc-lens{background:var(--wasabi);border-color:var(--wasabi);color:var(--ink)}
@media(hover:hover) and (pointer:fine){
  .next-chapter :is(.nc-button,.header-inquiry,.nc-perspective-controls button,.nc-contact-topics>button,.inquiry-dialog .form-submit):hover{--nc-fill:1;--nc-arrow:3px;color:var(--ink)}
  .next-chapter .header-inquiry:hover{background:transparent;border-color:var(--blue)}
  .nc-text-link:hover{color:var(--blue)}
  .nc-text-link:hover>span,.nc-work>a:hover .nc-work-open{background:var(--wasabi);color:var(--ink);transform:translate(3px,-3px)}
  .nc-work>a:hover img{transform:scale(1.025)}
  .nc-venture:hover>span:last-child{color:var(--wasabi);transform:translate(3px,-3px)}
  .nc-contact-symbol:hover{background:var(--wasabi);color:var(--ink);transform:rotate(8deg)}
  .nc-perspective-art:hover .nc-lens,.nc-perspective:has(.nc-perspective-controls button:hover) .nc-lens{background:var(--wasabi);border-color:var(--wasabi);color:var(--ink)}
}
@media(hover:none),(pointer:coarse){
  .next-chapter .header-inquiry:hover{background:transparent;border-color:var(--blue);color:var(--blue)}
}

@media(min-width:1700px){.nc-service-si-sm .nc-service-link{min-height:520px}.nc-service-link{padding-left:40px;padding-right:40px}.nc-service-art{min-height:220px}}
@media(max-width:1100px){
  .next-chapter .header-location{display:none}.next-chapter .site-header{gap:25px}.next-chapter .desktop-nav{gap:20px}
  .nc-hero-layout{gap:4vw;grid-template-columns:1.2fr 1fr}.nc-hero h1{font-size:5.8vw}.nc-hero-lead{font-size:15px}.nc-hero-description{font-size:13px}
  .nc-perspective{padding:20px}.nc-perspective-art{height:260px}.nc-orbit{width:170px;height:170px}.nc-lens{width:130px;height:165px}.nc-lens-sign{font-size:95px}
  .nc-actions{gap:20px}.nc-actions .nc-button{font-size:11px;gap:17px;padding:16px}.nc-actions .nc-text-link{font-size:11px;gap:12px}
  .next-chapter .nc-thinking{gap:5vw}.nc-principle summary{grid-template-columns:22px minmax(0,1fr) 28px;gap:11px;padding-left:18px;padding-right:18px}.nc-principle>p{margin-left:51px}.nc-detail-mark{width:28px;height:28px;font-size:21px}
  .nc-service-link{padding:25px 24px 0}.nc-service-si-sm .nc-service-copy{width:100%}.nc-service-si-sm .nc-service-top{width:100%}.nc-service-si-sm .nc-service-art{display:none}
  .nc-service-community h3{font-size:3vw}.nc-service-zep .nc-service-art{width:170px;transform:scale(.8);transform-origin:bottom right;right:10px;bottom:20px}
  .nc-service-zep .nc-service-keywords{max-width:230px}.nc-service-popup .nc-service-link{gap:30px}.nc-service-popup .nc-service-copy{padding-right:25px}
  .nc-contact-bottom{flex-wrap:wrap}.nc-contact-bottom>p{max-width:50%}.nc-contact-email{margin-left:auto}

}
@media(min-width:761px) and (max-width:1050px){.next-chapter .site-header{gap:15px}.next-chapter .wordmark{font-size:22px}.next-chapter .mark-star{font-size:26px;margin-left:7px}.next-chapter .desktop-nav{font-size:11px;gap:14px}.next-chapter .site-header .pill{font-size:11px;padding:12px;gap:20px}}
@media(max-width:760px){
  .next-chapter .site-header{height:80px;gap:20px}.next-chapter .wordmark{font-size:24px}.next-chapter .mark-star{font-size:28px}
  .next-chapter .menu-toggle>span{background:var(--ink)}.next-chapter.menu-open .site-header{background:var(--paper);color:var(--ink)}.next-chapter .mobile-menu{background:var(--paper);color:var(--ink);top:79px;border-top:1px solid #c4c9bc;bottom:0}
  .next-chapter .mobile-menu a{border-color:#c4c9bc}.next-chapter .mobile-menu>button{color:var(--blue)}.next-chapter .mobile-menu>small{color:#62675f}
  .next-chapter .nc-section{padding:60px var(--pad)}.nc-hero{padding-top:109px}.nc-hero-top{font-size:8px;margin-bottom:30px}.nc-hero-top>span:last-child{display:none}
  .nc-hero-layout{grid-template-columns:1fr;gap:38px}.nc-hero h1{font-size:clamp(46px,10.4vw,76px)}.nc-hero h1 .nc-build{margin-top:.17em}
  .nc-hero-lead{font-size:16px;margin-top:27px;max-width:380px}.nc-hero-description{font-size:13px;max-width:420px;margin-top:10px}.nc-actions{margin-top:23px;gap:23px}.nc-actions .nc-button{font-size:12px;padding:16px 19px;gap:20px}.nc-actions .nc-text-link{font-size:12px;gap:17px}
  .nc-perspective{padding:20px}.nc-perspective-heading{font-size:8px}.nc-perspective-art{height:235px}.nc-orbit{width:165px;height:165px}.nc-lens{width:122px;height:150px}.nc-lens-word{font-size:14px}.nc-lens-sign{font-size:90px}.nc-coordinate-top{top:15px}.nc-perspective-controls{margin-bottom:18px}.nc-perspective-panel h3{font-size:20px}.nc-perspective.is-enhanced .nc-perspective-panel{min-height:115px}
  .nc-hero-bottom{margin-top:30px;padding:20px 0;font-size:9px;align-items:center}.nc-hero-bottom>span{max-width:170px;line-height:1.6}.nc-hero-bottom>a>span{margin-left:12px}
  .nc-thinking-playback{grid-column:1/-1;grid-row:4;width:100%;margin-top:20px}
  .next-chapter .nc-thinking{grid-template-columns:1fr;gap:32px}.nc-thinking-intro{display:grid;grid-template-columns:minmax(0,1fr) 106px;column-gap:16px}.nc-thinking-intro>.nc-eyebrow{grid-column:1}.nc-thinking .nc-heading{margin-top:22px;grid-column:1;grid-row:2}.nc-heading{font-size:34px}.nc-thinking .nc-description{font-size:14px;max-width:440px;margin-top:24px;grid-column:1/-1;grid-row:3}.nc-thought-art{grid-column:2;grid-row:1/3;align-self:center;width:106px;height:114px;margin:0}.nc-thought-composition{transform:translateX(-50%) scale(.4)}.nc-thought-markers{gap:5px}.nc-principle summary{padding:20px 16px;gap:10px;grid-template-columns:20px minmax(0,1fr) 26px;min-height:96px}.nc-principle summary strong{font-size:20px}.nc-principle-summary{font-size:12px}.nc-principle>p{font-size:13px;margin-left:46px;margin-right:20px}.nc-detail-mark{width:26px;height:26px;font-size:20px}
  .nc-capabilities-intro{grid-template-columns:1fr;gap:18px}.nc-capabilities-intro h2{font-size:27px}.nc-capabilities-intro>p:last-child{font-size:13px;max-width:400px}.nc-disciplines{grid-template-columns:1fr;padding:0;margin-top:26px}.nc-discipline,.nc-discipline:first-child{display:grid;grid-template-columns:25px 1fr;gap:8px 10px;padding:22px 0}.nc-discipline+.nc-discipline{border-left:0;border-top:1px solid #c9cdc3}.nc-discipline+.nc-discipline:before{display:none}.nc-discipline>.nc-eyebrow{padding-top:3px}.nc-discipline h3{font-size:24px;margin:0}.nc-discipline ul{grid-column:2;font-size:11px}
  .next-chapter .nc-services{padding-top:0}.nc-section-heading{display:block;margin-bottom:27px}.nc-section-heading .nc-eyebrow{font-size:9px;margin-bottom:18px}.nc-section-heading>.nc-description,.nc-section-heading>div:last-child>.nc-description{margin-top:20px;max-width:440px;font-size:13px}.nc-services .nc-heading{font-size:30px}.nc-services-grid{grid-template-columns:1fr;gap:15px}.nc-service{grid-column:1/-1}.nc-service-link{padding:25px;min-height:0}.nc-service-top>.nc-eyebrow{font-size:9px}.nc-service h3,.nc-service-community h3{font-size:42px;margin-top:25px}.nc-service-copy>p{font-size:13px;max-width:360px;margin-top:20px}.nc-service-keywords{font-size:10px;max-width:none!important}.nc-service-cta{font-size:12px;margin-top:20px}
  .nc-service-si-sm .nc-service-link{min-height:0;padding-bottom:25px}.nc-service-community .nc-service-link{min-height:0;padding-bottom:10px}.nc-service-community .nc-service-art{min-height:155px}.nc-community-circle{height:115px;width:115px}.nc-service-brand-goods .nc-service-link{min-height:0;padding-bottom:0}.nc-service-brand-goods .nc-service-art{min-height:190px}.nc-service-zep .nc-service-link{min-height:520px}.nc-service-zep .nc-service-art{transform:scale(.9);bottom:28px;right:30px}.nc-service-popup .nc-service-link{grid-template-columns:minmax(0,1fr);gap:0;min-height:0}.nc-service-popup .nc-service-copy{grid-column:1;grid-row:2;padding:25px}.nc-service-popup .nc-service-art{grid-row:1;min-height:240px;aspect-ratio:1.5}.nc-service-popup h3{font-size:36px}.nc-service-popup figcaption{font-size:8px;padding:10px 15px}
  .nc-work-grid{grid-template-columns:1fr;gap:38px}.nc-work-2{margin-top:0}.nc-work-image{aspect-ratio:1.3}.nc-work h3{font-size:23px}.nc-work-meta>.nc-eyebrow{font-size:8px}.nc-work-meta p{font-size:10px}.nc-work-3>a{grid-template-columns:1fr;gap:0}.nc-work-3 .nc-work-image{aspect-ratio:1.3}.nc-work-3 .nc-work-meta{padding-top:20px;max-width:none}.nc-work-3 h3{font-size:25px}.nc-work-section .nc-section-heading .nc-text-link{margin-top:15px}
  .next-chapter .nc-ventures{grid-template-columns:1fr;gap:35px}.nc-ventures .nc-heading{font-size:34px}.nc-ventures .nc-description{max-width:400px;font-size:14px;margin-top:20px}.nc-venture-parent{margin-top:25px;font-size:22px}.nc-venture{gap:14px;padding:21px 0;min-height:110px}.nc-venture h3{font-size:26px}.nc-venture p{font-size:11px}.nc-venture-next{grid-template-columns:1fr;gap:9px}.nc-venture-next>span:last-child{text-align:left}

  .nc-contact-main{align-items:flex-end;gap:10px;margin-top:25px}.nc-contact h2{font-size:clamp(34px,7.6vw,57px)}.nc-contact-symbol{width:53px;height:53px;font-size:38px;margin-bottom:4px}.nc-contact-bottom{display:block;margin-top:27px}.nc-contact-bottom>p{max-width:400px;font-size:14px}.nc-contact-bottom .nc-button{margin-top:24px;min-width:260px;justify-content:space-between}.nc-contact-email{display:block;margin-top:23px;font-size:12px}.nc-contact-topics{margin-top:27px;padding-top:20px;gap:6px 25px}.nc-contact-topics>button{font-size:11px}
  .next-chapter .footer-wordmark{font-size:9.3vw;margin:25px 0}.next-chapter .footer-bottom{font-size:8px;line-height:1.6}.next-chapter .inquiry-dialog h2{font-size:29px;word-break:keep-all}
}
@media(max-width:370px){
  .next-chapter{--pad:20px}.next-chapter .wordmark{font-size:22px}.nc-hero h1{font-size:44px}.nc-hero h1 .nc-hero-emphasis{font-size:1.02em}.nc-actions{gap:14px}.nc-actions .nc-button{font-size:10px;padding:14px;gap:12px}.nc-actions .nc-text-link{font-size:10px;gap:10px}.nc-actions span{font-size:18px}.nc-perspective{padding:17px}.nc-principle summary strong{font-size:17px}.nc-heading{font-size:30px}.nc-service h3,.nc-service-community h3{font-size:35px}.nc-service-link,.nc-service-popup .nc-service-copy{padding-left:22px;padding-right:22px}.nc-service-popup h3{font-size:31px}.nc-venture h3{font-size:23px}

.nc-contact h2{font-size:31px}.nc-contact-symbol{width:44px;height:44px;font-size:30px}.nc-contact-bottom .nc-button{min-width:0;width:100%;font-size:12px}
}
/* Each section has its own small visual response, using the same blue/wasabi language. */
.nc-capabilities-intro h2{word-break:keep-all;text-wrap:balance}
.nc-discipline-art{height:112px;width:124px;position:relative;margin:16px 0 24px;color:var(--blue)}
.nc-discipline-art i{position:absolute;display:block}
.nc-discipline-art--strategy i{width:70px;height:70px;border:1px solid currentColor;top:20px;left:20px}
.nc-discipline-art--strategy i:nth-child(1){transform:translate(-13px,-13px)}
.nc-discipline-art--strategy i:nth-child(2){background:var(--blue);transform:translate(7px,7px)}
.nc-discipline-art--strategy i:nth-child(3){width:18px;height:18px;background:var(--wasabi);border:0;left:62px;top:62px}
.nc-discipline-art--creative i:nth-child(1){width:86px;height:86px;border:1px solid currentColor;border-radius:50%;left:3px;top:12px}
.nc-discipline-art--creative i:nth-child(2){width:64px;height:77px;background:var(--blue);left:46px;top:18px;transform:rotate(22deg)}
.nc-discipline-art--creative i:nth-child(3){width:27px;height:27px;background:var(--wasabi);border-radius:50%;left:34px;top:72px}
.nc-discipline-art--technology{display:grid;grid-template-columns:repeat(3,27px);grid-template-rows:repeat(3,27px);gap:5px;padding-top:11px;transform:rotate(-8deg)}
.nc-discipline-art--technology i{position:static;border:1px solid var(--blue)}
.nc-discipline-art--technology i:nth-child(3n+1){background:var(--blue)}
.nc-discipline-art--technology i:nth-child(5){background:var(--wasabi);border-color:var(--wasabi)}
/* A shared 2.6s cycle: 0.8s movement + up to 0.8s stagger, then 1s fully still. */
.nc-disciplines{--wave-state:paused}
.nc-disciplines.is-wave-playing{--wave-state:running}
.nc-discipline{--wave-delay:0s}
.nc-discipline:nth-child(2){--wave-delay:.28s}
.nc-discipline:nth-child(3){--wave-delay:.56s}
.nc-discipline-art i{--piece-delay:0s}
.nc-discipline-art i:nth-child(2){--piece-delay:.06s}
.nc-discipline-art i:nth-child(3){--piece-delay:.12s}
.nc-discipline-art--technology i:nth-child(4){--piece-delay:.06s}
.nc-discipline-art--technology i:nth-child(5),.nc-discipline-art--technology i:nth-child(7){--piece-delay:.12s}
.nc-discipline-art--technology i:nth-child(6),.nc-discipline-art--technology i:nth-child(8){--piece-delay:.18s}
.nc-discipline-art--technology i:nth-child(9){--piece-delay:.24s}
.is-wave-ready .nc-discipline-art i{animation-duration:2.6s;animation-delay:calc(var(--wave-delay) + var(--piece-delay));animation-timing-function:cubic-bezier(.22,.7,.25,1);animation-iteration-count:infinite;animation-fill-mode:both;animation-play-state:var(--wave-state)}
.is-wave-ready .nc-discipline-art--strategy i:nth-child(1){animation-name:nc-strategy-outline}
.is-wave-ready .nc-discipline-art--strategy i:nth-child(2){animation-name:nc-strategy-plane}
.is-wave-ready .nc-discipline-art--strategy i:nth-child(3){animation-name:nc-strategy-point}
.is-wave-ready .nc-discipline-art--creative i:nth-child(1){animation-name:nc-creative-orbit}
.is-wave-ready .nc-discipline-art--creative i:nth-child(2){animation-name:nc-creative-morph}
.is-wave-ready .nc-discipline-art--creative i:nth-child(3){animation-name:nc-creative-point}
.is-wave-ready .nc-discipline-art--technology i{animation-name:nc-technology-wave}
@keyframes nc-strategy-outline{0%,30.769231%,100%{transform:translate(-13px,-13px)}9%{transform:translate(-18px,-14px) rotate(-12deg)}23%{transform:translate(-11px,-11px) rotate(2deg)}}
@keyframes nc-strategy-plane{0%,30.769231%,100%{transform:translate(7px,7px)}9%{transform:translate(13px,-5px) rotate(8deg)}23%{transform:translate(5px,10px) rotate(-2deg)}}
@keyframes nc-strategy-point{0%,30.769231%,100%{transform:translate(0,0) scale(1)}9%{transform:translate(8px,-12px) scale(1.16)}23%{transform:translate(-2px,2px) scale(.95)}}
@keyframes nc-creative-orbit{0%,30.769231%,100%{transform:translate(0,0) scale(1)}9%{transform:translate(4px,-3px) scale(.9,1.08)}23%{transform:translate(-1px,1px) scale(1.02,.98)}}
@keyframes nc-creative-morph{0%,30.769231%,100%{transform:rotate(22deg);border-radius:0}9%{transform:rotate(-15deg);border-radius:24px}23%{transform:rotate(26deg);border-radius:4px}}
@keyframes nc-creative-point{0%,30.769231%,100%{transform:translate(0,0) scale(1)}9%{transform:translate(35px,-35px) scale(.88)}23%{transform:translate(-4px,-3px) scale(1.08)}}
@keyframes nc-technology-wave{0%,30.769231%,100%{transform:translateY(0) rotate(0) scale(1)}9%{transform:translateY(-12px) rotate(9deg) scale(1.08)}23%{transform:translateY(3px) rotate(-3deg) scale(.96)}}
.nc-capabilities-playback{display:flex;justify-content:flex-end;margin-top:12px}
.nc-capabilities-playback[hidden]{display:none}
.nc-capabilities-motion{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:5px 10px;border:1px solid #b8bbc9;color:#535c77;font-size:10px}
.nc-capabilities-motion>span:first-child{font-size:13px}
.nc-capabilities-motion:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.nc-community-circle,.nc-community-plus,.nc-zep-grid i,.nc-service-popup img{transition:transform .55s cubic-bezier(.2,.8,.2,1),background .3s}
.nc-service-popup .nc-service-art{overflow:hidden}
.nc-work-open{display:flex;align-items:center;justify-content:center;gap:0;overflow:hidden;width:46px;height:46px;transition:width .35s,background .25s,color .25s,transform .35s}
.nc-work-open>span{max-width:0;opacity:0;white-space:nowrap;font-size:11px;transition:max-width .35s,opacity .2s,margin .35s}
.nc-work-open>b{font-size:27px;font-weight:400;flex-shrink:0}
.nc-venture{position:relative;padding:22px 16px;gap:18px;min-height:150px;transition:background .3s}
.nc-venture-number{position:absolute;top:8px;left:17px;padding:0;font-size:8px}
.nc-venture>.nc-venture-thumbnail{flex:0 0 94px;height:94px;overflow:hidden;background:#e4e7f5}
.nc-venture-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.nc-venture h3{font-size:clamp(21px,1.9vw,30px)}
.nc-venture-buildings{height:100%;display:flex;align-items:flex-end;justify-content:center;gap:5px;padding:18px 14px}
.nc-venture-buildings i{width:18px;height:35px;background:var(--blue);transform:skewY(-12deg);transition:transform .4s,background .3s}
.nc-venture-buildings i:nth-child(2){height:56px;background:var(--blue-ink)}
.nc-venture-buildings i:nth-child(3){height:45px}
.nc-venture-family{max-width:410px;margin-top:46px}
.nc-venture-parent{margin:0 0 34px;position:relative;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #717585;padding-bottom:14px}
.nc-venture-parent:after{content:'';position:absolute;bottom:-19px;left:50%;height:18px;border-left:1px solid #717585}
.nc-venture-parent>span{margin:0;color:var(--wasabi);transition:transform .5s}
.nc-family-leaves{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;position:relative}
.nc-family-leaves:before{content:'';position:absolute;top:-17px;left:16.66%;right:16.66%;border-top:1px solid #717585}
.nc-family-leaves>span{position:relative;display:grid;place-items:center;text-align:center;min-height:48px;padding:8px 4px;background:#303340;font-size:9px;line-height:1.5;letter-spacing:.025em;transition:background .3s,color .3s}
.nc-family-leaves>span:before{content:'';position:absolute;top:-17px;left:50%;height:17px;border-left:1px solid #717585}

.nc-contact-symbol{position:relative;background:var(--blue);color:white;border-color:var(--blue);--contact-radius:76px;flex-shrink:0;margin-right:12px}
.nc-contact-symbol:before{content:'';position:absolute;inset:-11px;border:1px solid #8290d7;border-top-color:transparent;border-radius:50%;transform:rotate(-35deg);transition:transform .6s}
.nc-contact-symbol:after{content:'';position:absolute;width:16px;height:16px;background:var(--wasabi);border:1px solid var(--blue);border-radius:50%;left:calc(50% - 8px);top:calc(50% - 8px);transform:rotate(-45deg) translateX(var(--contact-radius));transition:transform .6s}
.nc-service-link:focus-visible .nc-service-art>img{transform:scale(1.035)}
.nc-work>a:focus-visible .nc-work-open{width:145px}
.nc-work>a:focus-visible .nc-work-open>span{max-width:100px;opacity:1;margin-right:12px}
.nc-venture:focus-visible{background:var(--blue)}
.nc-venture:focus-visible :is(p,.nc-eyebrow,.nc-venture-number){color:#f1f2ff}
.nc-venture:focus-visible .nc-venture-thumbnail img{transform:scale(1.08)}
.nc-venture:focus-visible .nc-venture-buildings i{transform:skewY(0) translateY(-4px)}
.nc-ventures:has([data-venture="landmarkers"]:focus-visible) [data-family="landmarkers"],.nc-ventures:has([data-venture="games"]:focus-visible) [data-family="games"],.nc-ventures:has([data-venture="pieces-archive"]:focus-visible) [data-family="pieces-archive"]{background:var(--wasabi);color:var(--ink)}

.nc-contact-symbol:focus-visible:before,.nc-contact:has(.nc-button:focus-visible) .nc-contact-symbol:before{transform:rotate(45deg)}
.nc-contact-symbol:focus-visible:after,.nc-contact:has(.nc-button:focus-visible) .nc-contact-symbol:after{transform:rotate(20deg) translateX(var(--contact-radius))}
@media(hover:hover) and (pointer:fine){
  .nc-service-link:hover .nc-service-art>img{transform:scale(1.035)}
  .nc-work>a:hover .nc-work-open{width:145px}
  .nc-work>a:hover .nc-work-open>span{max-width:100px;opacity:1;margin-right:12px}
  .nc-venture:hover{background:var(--blue)}
  .nc-venture:hover :is(p,.nc-eyebrow,.nc-venture-number){color:#f1f2ff}
  .nc-venture:hover .nc-venture-thumbnail img{transform:scale(1.08)}
  .nc-venture:hover .nc-venture-buildings i{transform:skewY(0) translateY(-4px)}
  .nc-ventures:has(.nc-venture:hover) .nc-venture-parent>span{transform:rotate(60deg)}
  .nc-ventures:has([data-venture="landmarkers"]:hover) [data-family="landmarkers"],.nc-ventures:has([data-venture="games"]:hover) [data-family="games"],.nc-ventures:has([data-venture="pieces-archive"]:hover) [data-family="pieces-archive"]{background:var(--wasabi);color:var(--ink)}

  .nc-contact-symbol:hover:before,.nc-contact:has(.nc-button:hover) .nc-contact-symbol:before{transform:rotate(45deg)}
  .nc-contact-symbol:hover:after,.nc-contact:has(.nc-button:hover) .nc-contact-symbol:after{transform:rotate(20deg) translateX(var(--contact-radius))}
}
@media(max-width:1100px){

  .nc-venture>.nc-venture-thumbnail{flex-basis:75px;height:85px}
  .nc-venture{gap:12px;padding-left:12px;padding-right:12px}
  .nc-venture-number{left:13px}
  .nc-venture-buildings{padding:14px 8px;gap:4px}
}
@media(max-width:760px){
  .nc-discipline,.nc-discipline:first-child{grid-template-columns:25px minmax(0,1fr) 72px;gap:8px 10px;align-items:start}
  .nc-discipline>.nc-eyebrow{grid-column:1;grid-row:1}
  .nc-discipline h3{grid-column:2;grid-row:1;font-size:22px}
  .nc-discipline ul{grid-column:2;grid-row:2}
  .nc-discipline-art{grid-column:3;grid-row:1/3;align-self:center;width:124px;height:112px;transform:scale(.58);transform-origin:left center;margin:-23px 0}
  .nc-discipline-art--technology{transform:scale(.65) rotate(-8deg)}
  .nc-work-open{width:135px;height:40px;right:12px;bottom:12px}
  .nc-work-open>span{max-width:100px;opacity:1;margin-right:10px;font-size:10px}
  .nc-work-open>b{font-size:25px}
  .nc-venture-family{margin-top:35px;max-width:430px}
  .nc-venture-parent{font-size:22px}
  .nc-venture{min-height:128px;padding:22px 12px;gap:13px}
  .nc-venture>.nc-venture-thumbnail{flex-basis:68px;height:76px}
  .nc-venture h3{font-size:22px;overflow-wrap:anywhere}
  .nc-venture p{font-size:11px}
  .nc-venture .nc-eyebrow{font-size:7px;letter-spacing:.05em}
  .nc-venture>span:last-child{font-size:25px}
  .nc-venture-buildings{padding:12px 8px;gap:3px}
  .nc-venture-buildings i:nth-child(2){height:48px}
  .nc-venture-buildings i:nth-child(3){height:38px}

  .nc-contact-symbol{--contact-radius:36px;margin-right:8px}
  .nc-contact-symbol:before{inset:-9px}
  .nc-contact-symbol:after{width:11px;height:11px;left:calc(50% - 5.5px);top:calc(50% - 5.5px)}
}
@media(max-width:370px){
  .nc-discipline,.nc-discipline:first-child{grid-template-columns:20px minmax(0,1fr) 60px;gap:8px}
  .nc-discipline h3{font-size:20px}
  .nc-discipline-art{transform:scale(.48)}
  .nc-discipline-art--technology{transform:scale(.55) rotate(-8deg)}
  .nc-venture h3{font-size:17px}
  .nc-venture>.nc-venture-thumbnail{flex-basis:55px;height:70px}
  .nc-venture{gap:10px}
  .nc-family-leaves>span{font-size:8px}

  .nc-contact-symbol{--contact-radius:31px}
}
/* Service scenes: stable card colors, deliberate 9–12 second visual stories. */
.nc-services-context{max-width:340px}
.nc-services-context>.nc-description{max-width:none!important;font-size:13px}
.nc-service-motion-toggle{display:inline-flex;align-items:center;gap:7px;min-height:32px;margin-top:12px;padding:5px 10px;border:1px solid #b8bbc9;font-size:10px;color:#535c77}
.nc-service-motion-toggle>span:first-child{font-size:13px}
.nc-service-motion-toggle:focus-visible{background:var(--wasabi);color:var(--ink)}
.nc-service-link{--nc-arrow:0px;isolation:isolate;overflow:hidden}
.nc-service-cta{padding:8px 10px;margin-left:-10px;transition:color .25s,background .25s,border-color .25s}
.nc-service-top>span:last-child{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;transition:transform .35s,background .25s,color .25s}
.nc-service-link:has(.nc-service-copy:focus-visible){--nc-arrow:3px}
.nc-service-copy:focus-visible :is(.nc-service-cta,.nc-service-top>span:last-child){background:var(--wasabi);color:var(--ink);border-color:var(--wasabi)}
@media(hover:hover) and (pointer:fine){
  .nc-service-link:hover{--nc-arrow:3px}
  .nc-service-link:hover :is(.nc-service-cta,.nc-service-top>span:last-child){background:var(--wasabi);color:var(--ink);border-color:var(--wasabi)}
  .nc-service-motion-toggle:hover{background:var(--wasabi);color:var(--ink)}
}
.nc-window{width:226px;height:218px;border-color:#c4c9ed;background:var(--paper);color:var(--ink);transform:rotate(-5deg);flex-shrink:0}
.nc-window-bar{display:flex;justify-content:space-between;align-items:center;min-height:28px;padding:8px 11px;letter-spacing:0;background:#f0f0f5;color:var(--blue-ink);border-color:#c4c9ed;font-size:8px}
.nc-window-bar>span:first-child{font-size:6px;letter-spacing:3px}
.nc-editor-screen{position:relative;flex:1;background:#252a46;overflow:hidden}
.nc-code-editor,.nc-browser-preview{position:absolute;inset:0}
.nc-code-editor{display:flex;gap:9px;padding:25px 10px;color:#e7eaff;font-family:Consolas,monospace;font-size:10px;line-height:25px}
.nc-code-gutter{color:#7f8ab2;font-size:8px}
.nc-code-lines{min-width:0}
.nc-code-line{display:block;width:max-content;max-width:100%;white-space:nowrap;clip-path:inset(0 0 0 0)}
.nc-code-line em{color:#a4b2ff;font-style:normal}
.nc-code-line b{color:var(--wasabi);font-weight:400}
.nc-code-line i{display:inline-block;width:2px;height:11px;vertical-align:-1px;background:var(--wasabi);margin-left:2px}
.nc-editor-caption{position:absolute;bottom:13px;left:26px;font-size:7px;letter-spacing:.12em;color:#97a2cc}
.nc-browser-preview{background:#f4f1e9;padding:13px;opacity:0;transform:translateY(8px)}
.nc-mini-nav{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d3d5df;padding-bottom:7px}
.nc-mini-nav>b{font-family:Syne,sans-serif;font-size:16px;line-height:1;letter-spacing:-.1em;color:var(--blue)}
.nc-mini-nav>i{width:35px;height:4px;background:#d2d7ea}
.nc-mini-hero{display:flex;align-items:center;justify-content:space-between;margin-top:13px}
.nc-mini-hero>span{font-family:Syne,sans-serif;font-size:18px;font-weight:600;letter-spacing:-.06em;line-height:1.1}
.nc-mini-hero em{font-family:Georgia,serif;color:var(--blue);font-weight:400}
.nc-mini-hero>i{display:grid;place-items:center;width:35px;height:35px;background:var(--wasabi);color:var(--blue-ink);font-size:27px;font-style:normal}
.nc-mini-blocks{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin-top:14px}
.nc-mini-blocks>i{height:18px;background:#dfe3f1;transform-origin:bottom}
.nc-mini-blocks>i:nth-child(2){background:#c7cfef}
.nc-mini-blocks>i:nth-child(3){background:var(--blue)}
.nc-window-tabs{padding:10px 12px;font-size:7px;color:var(--blue-ink);border-color:#c4c9ed}
.nc-community-network{position:relative;width:260px;max-width:100%;height:180px}
.nc-community-circle{position:absolute;top:25px;left:calc(50% - 105px);height:120px;width:120px;border-color:#959dc3;font-size:8px;background:#e9e7df80}
.nc-community-circle+.nc-community-circle{margin:0;left:auto;right:calc(50% - 105px)}
.nc-community-plus{left:50%;top:85px;font-size:48px;transform:translate(-50%,-50%);z-index:1}
.nc-community-route{position:absolute;left:50%;top:40px;width:170px;height:95px;border-bottom:1px dashed #a4aaca;border-radius:50%;transform:translateX(-50%)}
.nc-community-signal{position:absolute;left:50%;top:85px;width:9px;height:9px;background:var(--wasabi);border:1px solid #8f98bc;border-radius:50%;transform:translate(calc(-80px + var(--signal)*80px),-28px);z-index:2}
.nc-goods-tag:after{content:'';position:absolute;inset:15px 8px 9px;border:1px dashed #d3d2c5;pointer-events:none}
.nc-goods-tag b{position:relative;z-index:1;clip-path:inset(0 0 0 0)}
.nc-goods-disc{width:94px;height:94px;font-size:61px;background:#c7cfef;border-color:#a0acd8;right:calc(50% - 108px);bottom:37px;z-index:2}
.nc-goods-star{display:block;position:absolute;width:61px;height:61px;left:50%;top:50%;transform:translate(-50%,-50%)}
.nc-service-zep .nc-service-art{height:230px;min-height:230px;opacity:1}
.nc-zep-scene{position:relative;width:220px;height:230px;perspective:650px}
.nc-zep-floor{position:absolute;width:170px;height:100px;left:25px;bottom:20px;border:1px solid #a4afe1;background:repeating-linear-gradient(90deg,transparent 0 33px,#b6bfe4 33px 34px),repeating-linear-gradient(0deg,transparent 0 24px,#b6bfe4 24px 25px);transform:rotateX(65deg) rotateZ(-10deg);opacity:.55}
.nc-cube-assembly{position:absolute;left:50%;top:42%;width:92px;height:92px;margin:-46px 0 0 -46px;transform-style:preserve-3d;transform:rotateX(-25deg) rotateY(-35deg)}
.nc-cubie{position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;transform-style:preserve-3d;transform:translate3d(calc(var(--x)*24px),calc(var(--y)*24px),calc(var(--z)*24px))}
.nc-cube-face{position:absolute;inset:0;border:1px solid #d4daf7;backface-visibility:hidden}
.nc-cube-face--front{background:#5364d9;transform:translateZ(22px)}
.nc-cube-face--back{background:#6374df;transform:rotateY(180deg) translateZ(22px)}
.nc-cube-face--right{background:#3547ad;transform:rotateY(90deg) translateZ(22px)}
.nc-cube-face--left{background:#4b5bc6;transform:rotateY(-90deg) translateZ(22px)}
.nc-cube-face--top{background:#9aa8ee;transform:rotateX(90deg) translateZ(22px)}
.nc-cube-face--bottom{background:#344398;transform:rotateX(-90deg) translateZ(22px)}
.nc-cubie:nth-child(3) .nc-cube-face--front,.nc-cubie:nth-child(3) .nc-cube-face--top{background:var(--wasabi)}
.nc-zep-label{position:absolute;top:auto;bottom:0;left:50%;transform:translateX(-50%);font-size:17px;letter-spacing:-.03em;white-space:nowrap}
.nc-zep-label>span{font-size:17px;margin-left:8px}
.is-motion-ready .nc-code-editor{animation:nc-editor-phase 10s linear infinite}
.is-motion-ready .nc-code-line--1{animation:nc-code-first 10s steps(20,end) infinite}
.is-motion-ready .nc-code-line--2{animation:nc-code-second 10s steps(27,end) infinite}
.is-motion-ready .nc-code-line--3{animation:nc-code-third 10s steps(13,end) infinite}
.is-motion-ready .nc-browser-preview{animation:nc-preview-phase 10s ease-in-out infinite}
.is-motion-ready .nc-mini-blocks>i{animation:nc-preview-blocks 10s ease-in-out infinite}
.is-motion-ready .nc-community-circle:first-child{animation:nc-community-left 10s ease-in-out infinite}
.is-motion-ready .nc-community-circle:nth-child(2){animation:nc-community-right 10s ease-in-out infinite}
.is-motion-ready .nc-community-plus{animation:nc-community-connect 10s ease-in-out infinite}
.is-motion-ready .nc-community-signal{animation:nc-community-message 10s linear infinite;animation-delay:calc(var(--signal)*-2.7s)}
.is-motion-ready .nc-goods-tag{animation:nc-goods-turn 9s ease-in-out infinite}
.is-motion-ready .nc-goods-tag b{animation:nc-goods-print 9s ease-in-out infinite}
.is-motion-ready .nc-goods-disc{animation:nc-goods-stamp 9s cubic-bezier(.45,0,.2,1) infinite}
.is-motion-ready .nc-cube-assembly{animation:nc-cube-turn 12s cubic-bezier(.45,0,.3,1) infinite}
.is-motion-ready .nc-cubie{animation:nc-cube-build 12s cubic-bezier(.45,0,.3,1) infinite}
.nc-service-art.is-motion-ready:not(.is-motion-playing) *{animation-play-state:paused!important}
@keyframes nc-code-first{0%,5%{clip-path:inset(0 100% 0 0)}20%,100%{clip-path:inset(0 0 0 0)}}
@keyframes nc-code-second{0%,23%{clip-path:inset(0 100% 0 0)}43%,100%{clip-path:inset(0 0 0 0)}}
@keyframes nc-code-third{0%,46%{clip-path:inset(0 100% 0 0)}58%,100%{clip-path:inset(0 0 0 0)}}
@keyframes nc-editor-phase{0%,60%{opacity:1}68%,99%{opacity:0}100%{opacity:1}}
@keyframes nc-preview-phase{0%,63%,100%{opacity:0;transform:translateY(8px)}72%,92%{opacity:1;transform:translateY(0)}99%{opacity:0;transform:translateY(0)}}
@keyframes nc-preview-blocks{0%,70%,100%{transform:scaleY(.05)}79%,96%{transform:scaleY(1)}}
@keyframes nc-community-left{0%,100%{transform:translateX(-6px)}35%,65%{transform:translateX(9px)}}
@keyframes nc-community-right{0%,100%{transform:translateX(6px)}35%,65%{transform:translateX(-9px)}}
@keyframes nc-community-connect{0%{transform:translate(-50%,-50%) rotate(0)}40%{transform:translate(-50%,-50%) rotate(120deg) scale(.85)}70%{transform:translate(-50%,-50%) rotate(240deg)}100%{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes nc-community-message{0%,100%{transform:translate(-80px,-28px);opacity:0}8%{opacity:1}25%{transform:translate(0,44px);opacity:1}45%{transform:translate(80px,-28px);opacity:1}50%{opacity:0}58%{transform:translate(80px,-28px);opacity:1}75%{transform:translate(0,-44px);opacity:1}95%{transform:translate(-80px,-28px);opacity:1}}
@keyframes nc-goods-turn{0%,100%{transform:rotate(-13deg)}25%,42%{transform:rotate(-4deg)}65%,85%{transform:rotate(-9deg)}}
@keyframes nc-goods-print{0%,28%,100%{clip-path:inset(0 100% 0 0);opacity:.25}49%,88%{clip-path:inset(0 0 0 0);opacity:1}97%{clip-path:inset(0 0 0 0);opacity:0}}
@keyframes nc-goods-stamp{0%,100%{transform:translate(14px,-10px) rotate(18deg)}28%,36%{transform:translate(-39px,-20px) rotate(-14deg) scale(.85)}48%,78%{transform:translate(14px,0) rotate(70deg)}}
@keyframes nc-cube-turn{0%,10%{transform:rotateX(-25deg) rotateY(-35deg)}35%{transform:rotateX(-15deg) rotateY(55deg)}55%{transform:rotateX(-25deg) rotateY(145deg)}78%{transform:rotateX(-15deg) rotateY(235deg)}100%{transform:rotateX(-25deg) rotateY(325deg)}}
@keyframes nc-cube-build{0%,15%,80%,100%{transform:translate3d(calc(var(--x)*24px),calc(var(--y)*24px),calc(var(--z)*24px))}40%,55%{transform:translate3d(calc(var(--x)*37px),calc(var(--y)*37px),calc(var(--z)*37px))}}
@media(max-width:1100px){
  .nc-service-si-sm .nc-service-link{flex-direction:column}
  .nc-service-si-sm .nc-service-art{display:grid;width:100%;min-height:238px;align-self:stretch;margin-top:20px}
  .nc-window{width:226px;height:218px}
}
@media(max-width:760px){
  .nc-services-context{max-width:440px}
  .nc-services-context>.nc-description{margin-top:20px}
  .nc-service-si-sm .nc-service-link{padding-bottom:20px}
  .nc-service-si-sm .nc-service-art{margin-top:16px;min-height:245px}
  .nc-service-community .nc-service-art{min-height:195px;padding-top:0}
  .nc-service-brand-goods .nc-service-art{min-height:215px}
  .nc-service-zep .nc-service-link{min-height:550px}
  .nc-service-zep .nc-service-art{bottom:18px;right:22px;width:220px;transform:scale(.9);transform-origin:bottom right}
}
/* The popup service shares the motion controller with the other four scenes. */
.nc-service-popup .nc-popup-art{display:grid;place-items:center;min-height:410px;background:transparent;border:0}
.nc-popup-scene{display:block;width:100%;height:auto;max-width:680px;font-family:Syne,Pretendard,sans-serif}
.nc-popup-drafting{opacity:.35}
.nc-popup-ad-mark{opacity:0}
.nc-popup-person{transform:translate(var(--person-x),var(--person-y));transform-box:view-box}
.nc-popup-door{transform-origin:34px 106px}
.is-motion-ready .nc-popup-ad-message{animation:nc-popup-message 14s ease-in-out infinite}
.is-motion-ready .nc-popup-ad-mark{animation:nc-popup-mark 14s ease-in-out infinite}
.is-motion-ready .nc-popup-person{animation:nc-popup-arrival 14s linear infinite;animation-delay:var(--arrival)}
.is-motion-ready .nc-popup-door{animation:nc-popup-entry 2.8s ease-in-out infinite}
.is-motion-ready .nc-popup-open-sign{animation:nc-popup-open 7s ease-in-out infinite}
.is-motion-ready .nc-popup-queue-path{animation:nc-popup-route 14s linear infinite}
@keyframes nc-popup-message{0%,38%,100%{opacity:1}48%,88%{opacity:0}}
@keyframes nc-popup-mark{0%,38%,100%{opacity:0}48%,88%{opacity:1}}
@keyframes nc-popup-arrival{0%{transform:translate(535px,427px);opacity:0}7%,16%{transform:translate(507px,411px);opacity:1}29%,38%{transform:translate(479px,395px);opacity:1}51%,60%{transform:translate(451px,379px);opacity:1}73%,82%{transform:translate(423px,363px);opacity:1}95%{transform:translate(395px,347px);opacity:1}100%{transform:translate(389px,340px);opacity:0}}
@keyframes nc-popup-entry{0%,35%,100%{transform:translateX(0)}60%,90%{transform:translateX(-26px)}}
.is-motion-ready .nc-popup-door-right{animation-name:nc-popup-entry-right}
@keyframes nc-popup-entry-right{0%,35%,100%{transform:translateX(0)}60%,90%{transform:translateX(26px)}}
@keyframes nc-popup-open{0%,100%{fill:var(--wasabi)}50%{fill:#efff9c}}
@keyframes nc-popup-route{to{stroke-dashoffset:70}}
@media(max-width:760px){
  .nc-service-popup .nc-popup-art{min-height:0;aspect-ratio:auto;padding:8px 0}
  .nc-popup-scene{width:110%;max-width:none}
  .nc-popup-annotations{font-size:9px}
}
.nc-contact .nc-contact-symbol:after{transform:rotate(-45deg) translateX(var(--contact-radius));transition:none}
/* Contact landing scene stays decorative and never intercepts a click. */
.nc-contact{position:relative;isolation:isolate}
.nc-lander{position:absolute;left:0;top:0;width:54px;height:60px;pointer-events:none;opacity:0;z-index:5;will-change:transform;transition:opacity .2s}
.nc-lander.is-visible{opacity:1}
.nc-lander svg{display:block;width:100%;height:100%;fill:var(--paper);stroke:var(--blue-ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nc-lander svg circle{fill:var(--blue)}
.nc-lander svg .nc-lander-flame{fill:var(--wasabi);stroke:var(--blue);transform-origin:32px 48px;animation:nc-thrust .18s alternate infinite}
.nc-lander.is-docked .nc-lander-flame{opacity:0}
.nc-landing-button{position:relative;overflow:visible!important}
.nc-landing-button>.nc-door{position:relative;display:block;width:22px;height:29px;flex:none;border:1px solid currentColor;background:#242633;perspective:100px;transform:none!important;font-size:0}
.nc-door>i{display:block;position:absolute;inset:0;background:var(--blue);border:1px solid #f4f1e9;transform-origin:right center;transition:transform .2s}
.nc-door>i:after{content:'';position:absolute;left:4px;top:13px;width:3px;height:3px;background:var(--wasabi)}
.nc-astronaut{position:absolute;right:24px;bottom:16px;width:15px;height:25px;fill:var(--paper);stroke:var(--blue-ink);stroke-width:1.6;opacity:0;pointer-events:none}
.nc-landing-button.is-boarding .nc-astronaut{animation:nc-boarding 2400ms linear both}
.nc-landing-button.is-boarding .nc-door>i{animation:nc-door-open 2600ms ease both}
.nc-person-leg,.nc-person-arm{fill:none;transform-box:fill-box;transform-origin:50% 0;stroke-linecap:round}
.is-boarding .nc-person-leg-a,.is-boarding .nc-person-arm-b{animation:nc-person-step .15s .48s ease-in-out 10 alternate}
.is-boarding .nc-person-leg-b,.is-boarding .nc-person-arm-a{animation:nc-person-step .15s .48s ease-in-out 10 alternate-reverse}
@keyframes nc-person-step{from{transform:rotate(-40deg)}to{transform:rotate(40deg)}}
@keyframes nc-thrust{from{transform:scaleY(.6)}to{transform:scaleY(1)}}
.nc-lander.is-boosting svg .nc-lander-flame{animation:nc-boost-thrust .09s alternate infinite;stroke-width:1;fill:#efffa5}
@keyframes nc-boost-thrust{from{transform:scale(.95,1.2)}to{transform:scale(1.15,1.85)}}
.nc-landing-dust{position:absolute;left:50%;top:75%;width:0;height:0;pointer-events:none}
.nc-landing-dust i{position:absolute;width:12px;height:8px;left:-6px;top:0;border-radius:50%;background:#a7b0dc;opacity:0;--side:1;--spread:calc(26px + var(--puff)*6px)}
.nc-landing-dust i:nth-child(2n){--side:-1}
.nc-lander.has-landed .nc-landing-dust i{animation:nc-touchdown-dust 1050ms ease-out both;animation-delay:calc(var(--puff)*35ms)}
@keyframes nc-touchdown-dust{0%{opacity:0;transform:translate(0,0) scale(.5)}15%{opacity:.4}100%{opacity:0;transform:translate(calc(var(--side)*var(--spread)),-13px) scale(2.5)}}
@keyframes nc-boarding{0%{opacity:0;transform:translate(-58px,-47px)}8%{opacity:1;transform:translate(-58px,-44px)}22%{transform:translate(-48px,0)}30%{transform:translate(-43px,-1px)}38%{transform:translate(-37px,0)}46%{transform:translate(-31px,-1px)}54%{transform:translate(-25px,0)}62%{transform:translate(-19px,-1px)}70%{transform:translate(-13px,0)}78%{transform:translate(-8px,-1px)}86%{opacity:1;transform:translate(-3px,0)}100%{opacity:0;transform:translate(5px,0) scale(.65)}}
@keyframes nc-door-open{0%,65%,100%{transform:rotateY(0)}77%,93%{transform:rotateY(105deg)}}
@media(prefers-reduced-motion:reduce),(hover:none){.nc-lander,.nc-astronaut{display:none}}
/* The planet surface unifies the inquiry entry, landing pad and base. */
.nc-contact .nc-contact-bottom{margin-top:28px;align-items:start}
.nc-contact .nc-contact-bottom>p{max-width:450px}
.nc-contact .nc-contact-email{margin-top:12px}
.nc-planet-scene{position:relative;height:310px;margin:28px calc(-1 * var(--pad)) 0;isolation:isolate}
.nc-planet-surface{position:absolute;left:-15%;width:130%;height:560px;top:120px;border-radius:50% 50% 0 0;border:1px solid #8c99cf;background:#d1d6e8;overflow:hidden;z-index:-1}
.nc-planet-surface:before{content:'';position:absolute;inset:18px 3% 0;border-radius:50% 50% 0 0;border-top:1px solid #a8b2d8}
.nc-planet-surface>i{position:absolute;border:1px solid #b2bad6;border-radius:50%;width:100px;height:24px;top:90px;left:18%;transform:rotate(-9deg);box-shadow:inset 0 4px 0 #bfc7e0}
.nc-planet-surface>i:nth-child(2){left:65%;top:130px;width:150px;height:32px;transform:rotate(7deg)}
.nc-planet-surface>i:nth-child(3){left:43%;top:180px;width:60px;height:15px}
.nc-contact .nc-planet-entry{position:absolute;left:56%;top:12px;width:350px;height:200px;padding:0;border:0;background:transparent;color:var(--blue-ink);font:inherit;text-align:left;overflow:visible;cursor:pointer;isolation:isolate}
.nc-planet-entry:focus-visible{outline:2px dashed var(--blue);outline-offset:8px}
.nc-planet-cta{position:absolute;left:12px;top:0;font-size:14px;font-weight:600;line-height:1.5;border-bottom:1px solid #8f9bc5;padding-bottom:9px;white-space:nowrap}
.nc-planet-cta small{display:block;font:8px/1.6 Consolas,monospace;letter-spacing:.1em;margin-top:6px;font-weight:400}
.nc-landing-pad{position:absolute;left:12px;bottom:42px;width:140px;height:10px;border:1px solid var(--blue-ink);background:var(--paper);box-shadow:0 5px 0 #8b98c6}
.nc-landing-pad>b{position:absolute;width:34px;height:16px;left:52px;top:-13px;border:1px solid #6c7dc4;border-radius:50%;background:#e7eafa;text-align:center;font:10px/14px Consolas,monospace;color:var(--blue)}
.nc-landing-pad>i{position:absolute;left:3px;top:-5px;width:4px;height:4px;border-radius:50%;background:var(--wasabi);box-shadow:0 0 5px #b5dc0080}
.nc-landing-pad>i:last-child{left:auto;right:3px}
.nc-hangar{position:absolute;right:20px;bottom:42px;width:92px;height:75px;border:1px solid #596db1;border-radius:44px 44px 0 0;background:#e8ebf5;box-shadow:inset -9px 0 0 #c1c9e2}
.nc-base-name{position:absolute;top:22px;left:15px;font:9px/1 Consolas,monospace;letter-spacing:.08em}
.nc-planet-entry .nc-door{position:absolute;left:32px;bottom:-1px;width:24px;height:31px;border:1px solid #4c5e9d;background:#242633;perspective:100px}
.nc-planet-entry .nc-astronaut{right:55px;bottom:42px;z-index:2}
.nc-planet-entry:hover .nc-landing-pad,.nc-planet-entry:focus-visible .nc-landing-pad{box-shadow:0 5px 0 #8b98c6,0 0 12px #f2ffb0}
.nc-planet-entry:hover .nc-planet-cta{color:var(--blue)}
.nc-planet-caption{position:absolute;left:var(--pad);bottom:25px;font:9px/1.5 Consolas,monospace;color:#6878ac;letter-spacing:.12em}
.nc-contact .nc-contact-topics{position:relative;margin-top:0;background:var(--blue-soft);padding-top:25px}
.nc-contact{overflow:hidden}
@keyframes nc-boarding{0%{opacity:0;transform:translate(-188px,-12px)}10%{opacity:1;transform:translate(-183px,-5px)}20%{transform:translate(-170px,0)}30%{transform:translate(-145px,-2px)}40%{transform:translate(-120px,0)}50%{transform:translate(-95px,-2px)}60%{transform:translate(-70px,0)}70%{transform:translate(-45px,-2px)}80%{opacity:1;transform:translate(-20px,0)}88%{opacity:1;transform:translate(-4px,0)}100%{opacity:0;transform:translate(5px,0) scale(.65)}}
@media(max-width:760px){.nc-contact .nc-contact-bottom>p{max-width:450px}.nc-contact .nc-contact-email{margin-top:18px}.nc-planet-scene{height:285px;margin-top:35px}.nc-contact .nc-planet-entry{left:50%;transform:translateX(-50%);width:300px;top:4px}.nc-hangar{right:10px}.nc-planet-entry .nc-astronaut{right:45px}.nc-landing-pad{width:115px;left:5px}.nc-landing-pad>b{left:40px}.nc-planet-surface{left:-55%;width:210%;top:115px}.nc-planet-caption{font-size:8px}.nc-planet-cta{font-size:13px}}
/* Surface light: white-blue highlights follow each illustration's own geometry. */
.nc-art-content{display:contents}
.nc-service .nc-art-pulse{border:0;padding:0;background:transparent;color:inherit;font:inherit;text-align:inherit;cursor:pointer;isolation:isolate}
.nc-art-pulse:focus-visible,.nc-service-copy:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.nc-window:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(112deg,transparent 34%,#dfeaff25 43%,#ffffffa0 50%,#dfeaff25 57%,transparent 66%);background-size:300% 100%;mix-blend-mode:screen}
.is-pulsing .nc-window:after{animation:nc-surface-sweep 1200ms cubic-bezier(.2,.65,.3,1) both}
.is-pulsing .nc-window-bar{animation:nc-edge-glint 650ms ease-out both}
.is-pulsing .nc-window-tabs{animation:nc-edge-glint 700ms 380ms ease-out both}
.nc-community-circle:after{content:'';position:absolute;inset:-1px;border-radius:50%;padding:2px;background:conic-gradient(from -70deg,transparent 0deg,#b8d0ff40 30deg,#fff 64deg,#a5bbff80 90deg,transparent 130deg);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:0;pointer-events:none}
.is-pulsing .nc-community-circle:after{animation:nc-orbit-glint 1000ms ease-out both}
.is-pulsing .nc-community-circle:nth-child(2):after{animation-delay:240ms;animation-direction:reverse}
.nc-community-plus:after{content:'';position:absolute;inset:16%;border-radius:50%;background:#f3f7ff;filter:blur(8px);opacity:0;pointer-events:none}
.is-pulsing .nc-community-plus:after{animation:nc-soft-glint 650ms 330ms ease-out both}
.nc-goods-tag:after{background:linear-gradient(110deg,transparent 30%,#ffffffb0 49%,transparent 68%);background-size:300% 100%;background-position:100% 0}
.is-pulsing .nc-goods-tag:after{animation:nc-paper-sweep 1000ms ease-out both}
.nc-goods-disc:after{content:'';position:absolute;inset:0;border-radius:50%;opacity:0;pointer-events:none;background:linear-gradient(115deg,transparent 25%,#ffffff90 48%,transparent 70%);background-size:300% 100%;mix-blend-mode:screen}
.is-pulsing .nc-goods-disc:after{animation:nc-surface-sweep 850ms 260ms ease-out both}
.is-pulsing .nc-goods-star{filter:drop-shadow(0 0 3px #edf3ff);transition:filter .2s}
.is-pulsing .nc-popup-building>path{animation:nc-facade-light 1000ms 180ms ease-out both}
.is-pulsing .nc-popup-building>path:nth-child(2){animation-delay:340ms}
.is-pulsing .nc-popup-building>path:nth-child(3){animation-delay:80ms}
.is-pulsing .nc-popup-building>g{animation:nc-sign-light 900ms 400ms ease-out both}
.is-pulsing .nc-popup-building>g:nth-of-type(2){animation-delay:580ms}
.is-pulsing .nc-popup-building>g:nth-of-type(3){animation-delay:0ms}
@keyframes nc-surface-sweep{0%{opacity:0;background-position:100% 0}15%{opacity:.8}75%{opacity:.65}100%{opacity:0;background-position:0 0}}
@keyframes nc-paper-sweep{0%{background-position:100% 0;box-shadow:none}40%{box-shadow:inset 0 0 8px #ffffff50}100%{background-position:0 0;box-shadow:none}}
@keyframes nc-edge-glint{0%,100%{box-shadow:none}35%{box-shadow:0 1px 6px #e4eeff80,inset 0 1px 2px #fff9}}
@keyframes nc-orbit-glint{0%{opacity:0;transform:rotate(-70deg)}20%{opacity:.95}75%{opacity:.7}100%{opacity:0;transform:rotate(200deg)}}
@keyframes nc-soft-glint{0%,100%{opacity:0}40%{opacity:.45}}
@keyframes nc-facade-light{0%,100%{filter:brightness(1)}35%{filter:brightness(1.13) drop-shadow(0 0 2px #e0eaff60)}}
@keyframes nc-sign-light{0%,100%{filter:brightness(1)}35%{filter:brightness(1.3) drop-shadow(0 0 3px #e0eaff90)}}
.nc-art-pulse.is-motion-ready:not(.is-motion-playing) *:after{animation-play-state:paused!important}
/* One-shot light only; the cube's existing transform animations remain intact. */
.nc-service-zep .nc-zep-pulse{z-index:3;border:0;padding:0;background:transparent;color:inherit;cursor:pointer;isolation:isolate}
.nc-zep-pulse:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.nc-cube-face:after{content:'';position:absolute;inset:-1px;background:#f5ffdc;opacity:0;pointer-events:none;box-shadow:0 0 16px 3px #d7ff00a0}
.nc-zep-pulse-ring{position:absolute;left:50%;top:46%;width:140px;height:140px;margin:-70px 0 0 -70px;border:2px solid #f7ffe6;border-radius:50%;opacity:0;pointer-events:none;box-shadow:0 0 12px #d7ff0090,inset 0 0 12px #d7ff0050;transform:scale(.25)}
.nc-zep-pulse-ring:nth-child(2){--pulse-delay:150ms}
.nc-zep-pulse-ring:nth-child(3){--pulse-delay:300ms}
.nc-zep-pulse.is-pulsing .nc-zep-pulse-ring{animation:nc-zep-light-ring 1050ms cubic-bezier(.12,.6,.2,1) both;animation-delay:var(--pulse-delay,0ms)}
.nc-zep-pulse.is-pulsing .nc-cube-face:after{animation:nc-zep-light-face 650ms ease-out both;animation-delay:calc((var(--x) + var(--y) + var(--z) + 3) * 65ms)}
.nc-zep-pulse.is-pulsing .nc-cube-face--top:after{animation-delay:calc((var(--x) + var(--y) + var(--z) + 3) * 65ms + 80ms)}
.nc-zep-pulse.is-pulsing .nc-cube-face--right:after{animation-delay:calc((var(--x) + var(--y) + var(--z) + 3) * 65ms + 140ms)}
.nc-zep-pulse.is-pulsing .nc-zep-floor:after{content:'';position:absolute;inset:-10px;border:2px solid #f7ffe6;box-shadow:0 0 15px #d7ff00;animation:nc-zep-floor-light 900ms 380ms ease-out both}
@keyframes nc-zep-light-face{0%{opacity:0}18%{opacity:.9}100%{opacity:0}}
@keyframes nc-zep-light-ring{0%{opacity:0;transform:scale(.25)}15%{opacity:.85}100%{opacity:0;transform:scale(1.5)}}
@keyframes nc-zep-floor-light{0%{opacity:0;transform:scale(.45)}20%{opacity:.8}100%{opacity:0;transform:scale(1.15)}}
/* The global motion pause also stops a manually triggered light wave. */
.nc-zep-pulse.is-motion-ready:not(.is-motion-playing) :is(.nc-cube-face:after,.nc-zep-floor:after){animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.next-chapter *,.next-chapter *:before,.next-chapter *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.nc-work a:hover img{transform:none}.nc-zep-pulse.is-pulsing :is(.nc-zep-pulse-ring,.nc-cube-face:after,.nc-zep-floor:after){opacity:0!important}}
/* Contact copy shares one baseline; the landing cue belongs to the pad. */
.nc-contact-intro{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:60px;align-items:end;margin-top:28px}
.nc-contact-intro .nc-contact-main{margin-top:0}
.nc-contact-intro h2{font-size:clamp(43px,6vw,98px)}
.nc-contact .nc-contact-bottom{display:block;margin-top:0;padding-bottom:7px}
.nc-contact .nc-contact-bottom>p{font-size:14px}
.nc-contact .nc-contact-email{display:inline-block;margin-left:0;margin-top:18px}
.nc-planet-cta{left:82px;transform:translateX(-50%);text-align:center}
.nc-base-name{top:25px;left:0;width:100%;text-align:center;font:8px/1 Consolas,monospace;letter-spacing:.015em}
.nc-contact .nc-contact-topics{background:transparent}
.nc-landing-guide{position:absolute;left:74px;bottom:69px;display:grid;gap:6px;pointer-events:none}
.nc-landing-guide>i{width:14px;height:8px;background:var(--blue);clip-path:polygon(0 0,50% 50%,100% 0,100% 45%,50% 100%,0 45%);opacity:.18;animation:nc-approach-light 1.8s ease-in-out infinite}
.nc-landing-guide>i:nth-child(2){animation-delay:.22s}
.nc-landing-guide>i:nth-child(3){animation-delay:.44s}
.nc-planet-entry.has-landed .nc-landing-guide>i{animation:none;opacity:.5}
@keyframes nc-approach-light{0%,65%,100%{opacity:.16}25%,40%{opacity:1;filter:drop-shadow(0 0 3px #4855df66)}}
@media(max-width:1000px){.nc-contact-intro{grid-template-columns:minmax(0,1fr) 260px;gap:30px}.nc-contact-intro h2{font-size:clamp(40px,6vw,65px)}}
@media(max-width:760px){.nc-contact-intro{display:block;margin-top:25px}.nc-contact-intro h2{font-size:clamp(34px,7.6vw,57px)}.nc-contact .nc-contact-bottom{margin-top:25px;max-width:390px}.nc-contact .nc-contact-email{margin-top:15px}.nc-planet-cta{left:62px}.nc-landing-guide{left:55px}.nc-planet-scene{margin-top:30px}.nc-contact-topics{gap:8px 24px}}
@media(prefers-reduced-motion:reduce){.nc-landing-guide>i{animation:none;opacity:.65}}
/* The outpost rests on a tangent of the planet rather than a flat baseline. */
.nc-terrain{position:absolute;inset:0;transform:rotate(var(--terrain-angle,0deg));transform-origin:82px 148px;pointer-events:none}
.nc-hangar{right:-6px;width:118px;height:94px;border-radius:52px 24px 0 0;background:linear-gradient(115deg,#f8f7ed 0%,#e8ebf5 65%,#bac5e5 66%);box-shadow:inset -8px 0 0 #b0bcdf,0 5px 0 #8c9bc5}
.nc-hangar:before{content:'';position:absolute;width:1px;height:25px;background:#6072af;left:64px;top:-26px;box-shadow:0 -3px 0 2px var(--wasabi)}
.nc-hangar:after{content:'';position:absolute;left:-8px;right:-8px;bottom:-6px;height:6px;border:1px solid #6679b4;border-radius:2px;background:#b9c5e2}
.nc-base-name{top:30px;font-size:9px;letter-spacing:.025em;text-align:left;padding-left:16px}
.nc-base-windows{position:absolute;left:17px;top:48px;width:16px;height:7px;border:1px solid #6275b2;border-radius:4px;background:#a6b6e0;box-shadow:24px 0 0 -1px #d5ff31,48px 0 0 -1px #8b9ed4}
.nc-base-panel{position:absolute;right:-35px;bottom:9px;width:29px;height:28px;border:2px solid #7788b9;transform:skewY(-12deg);background:repeating-linear-gradient(0deg,transparent 0 7px,#a2b2df 7px 8px),repeating-linear-gradient(90deg,#46599c 0 8px,#a2b2df 8px 9px)}
.nc-planet-entry .nc-door{z-index:1}
@media(max-width:760px){.nc-terrain{transform-origin:62px 148px}.nc-hangar{right:-16px}.nc-base-panel{right:-24px;width:20px}}
/* A larger headquarters with a clear sign and an integrated observatory. */
.nc-lander{transform-origin:27px 46.03px}
.nc-hangar{width:158px;height:126px;right:-46px;border-radius:60px 27px 0 0;box-shadow:inset -12px 0 0 #b0bcdf,0 5px 0 #8c9bc5}
.nc-base-name{top:38px;left:0;padding-left:14px;font:800 15px/1.1 Syne,Arial,sans-serif;letter-spacing:-.035em;color:#303e9a}
.nc-base-windows{left:18px;top:65px;width:24px;height:12px;border-radius:7px;background:#9cafe0;box-shadow:33px 0 0 -1px #d5ff31,66px 0 0 -1px #8b9ed4}
.nc-hangar:before{left:83px;height:21px;top:-22px}
.nc-base-observatory{position:absolute;width:45px;height:49px;right:11px;bottom:10px;border:1px solid #7587bd;border-radius:23px 23px 4px 4px;background:linear-gradient(120deg,#b6c8eb,#778dc6);box-shadow:inset 5px 0 0 #d6e1f5}
.nc-base-observatory:before{content:'';position:absolute;left:21px;top:0;bottom:0;border-left:1px solid #dce6fa}
.nc-base-observatory:after{content:'';position:absolute;left:2px;right:2px;top:22px;border-top:1px solid #dce6fa}
@media(max-width:760px){.nc-hangar{right:-39px;width:141px;height:116px}.nc-base-name{font-size:13px;padding-left:12px}.nc-base-windows{left:13px;box-shadow:31px 0 0 -1px #d5ff31,62px 0 0 -1px #8b9ed4}.nc-base-observatory{width:35px;height:37px;right:8px}}
.nc-base-name{font-family:Arial,sans-serif;font-weight:800;letter-spacing:-.025em}
/* A broad horizon keeps the inhabited area calm and level. */
.nc-planet-surface{left:-70%;width:240%}
.nc-terrain{transform:none}
@media(max-width:760px){.nc-planet-surface{left:-160%;width:420%}}
/* Read the invitation as one block, then enter through the landing scene. */
.nc-contact-intro{display:block}
.nc-contact .nc-contact-bottom{margin-top:26px;max-width:460px;padding-bottom:0}
.nc-contact .nc-contact-bottom>p{max-width:460px;font-size:14px;line-height:1.9}
.nc-contact .nc-contact-email{margin-top:14px}
.nc-planet-scene{margin-top:-100px}
@media(max-width:1000px){.nc-planet-scene{margin-top:-45px}.nc-contact .nc-contact-bottom{max-width:390px}}
@media(max-width:760px){.nc-contact .nc-contact-bottom{margin-top:23px;max-width:390px}.nc-planet-scene{margin-top:30px;height:245px}}
/* Light from the outpost becomes a quiet central seam; form styling is intact. */
.nc-inquiry-beam{position:fixed;height:2px;pointer-events:none;z-index:1000;transform-origin:0 50%;transform:rotate(var(--beam-angle));background:linear-gradient(90deg,#efffa5,#fff 70%,#b4c0ff);box-shadow:0 0 10px #fff,0 0 20px #a7b3ff;animation:nc-beam-travel 260ms ease-out both}
@keyframes nc-beam-travel{0%{scale:0 1;opacity:0}20%{opacity:1}80%{scale:1 1;opacity:1}100%{scale:1 1;opacity:.3}}
.nc-door.is-transmitting{box-shadow:0 0 12px 5px #f1ffb5,0 0 35px 10px #b8c5ff}
.nc-panel-opening::backdrop{animation:nc-room-dim 480ms ease both}
.nc-panel-closing::backdrop{animation:nc-room-undim 360ms ease both}
@keyframes nc-room-dim{from{opacity:0}to{opacity:1}}
@keyframes nc-room-undim{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){.nc-inquiry-beam{display:none}}
/* Temporary projection lives in the top layer, above the modal backdrop. */
.nc-holo-projection[popover]{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:transparent;pointer-events:none;animation:nc-holo-beam 840ms ease-out both}
.nc-holo-projection svg{width:100%;height:100%;display:block;overflow:visible}
.nc-holo-projection polygon{fill:#a8beff;fill-opacity:.13}
.nc-holo-projection path{fill:none;stroke:#c9dbff;stroke-width:1;opacity:.65}
.nc-holo-projection circle{fill:#edffc3;filter:drop-shadow(0 0 8px #bed3ff)}
.nc-holo-projection.is-returning{animation:nc-holo-recall 520ms ease-in both}
.nc-hangar.is-projecting:before{box-shadow:0 -3px 0 3px #efffc9,0 -6px 15px 8px #b9caff}
.nc-holo-opening{box-shadow:0 0 0 1px #c6d6ff,0 0 28px #aebeff66}
.nc-holo-opening:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 48%,#adc6ff66 50%,transparent 53%);animation:nc-holo-scan 620ms ease-out both}
.nc-holo-opening::backdrop{animation:nc-room-dim 620ms ease both}
.nc-holo-closing::backdrop{animation:nc-room-undim 520ms ease both}
@keyframes nc-holo-beam{0%{opacity:0;clip-path:inset(55% 0 0)}25%{opacity:1;clip-path:inset(0)}75%{opacity:.8}100%{opacity:0}}
@keyframes nc-holo-recall{0%{opacity:.7;clip-path:inset(0)}55%{opacity:1}100%{opacity:0;clip-path:inset(75% 0 0)}}
@keyframes nc-holo-scan{from{transform:translateY(-70%);opacity:.7}to{transform:translateY(70%);opacity:0}}
@media(prefers-reduced-motion:reduce){.nc-holo-projection{display:none}}
@keyframes nc-holo-beam{0%{opacity:0;transform:scale(.02)}25%{opacity:1;transform:scale(1)}75%{opacity:.8}100%{opacity:0;transform:scale(1)}}
@keyframes nc-holo-recall{0%{opacity:.7;transform:scale(1)}45%{opacity:1;transform:scale(.8)}100%{opacity:0;transform:scale(.01)}}
/* The panel itself is projected blue glass; the original form geometry stays intact. */
.next-chapter #inquiry-dialog{--acid:#95f6ff;color:#defbff;background:linear-gradient(125deg,#103e65b8,#082541cf);border:1px solid #91edff99;box-shadow:inset 0 0 32px #4dcaff18,0 0 0 1px #5fbde72b,0 0 35px #56bfff30;backdrop-filter:blur(3px);text-shadow:0 0 9px #79e3ff30}
.next-chapter #inquiry-dialog::backdrop{background:#02132580;backdrop-filter:blur(1px)}
.next-chapter #inquiry-dialog:before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#9edfff0c 3px 4px);border-top:2px solid #bbfaff;box-shadow:inset 0 -2px 0 #8deaff88}
.next-chapter #inquiry-dialog h2{color:#ddfcff;text-shadow:0 0 16px #7bddff4a}
.next-chapter #inquiry-dialog :is(.inquiry-kicker,.form-note,.inquiry-ready p,#inquiry-status){color:#a7dce9}
.next-chapter #inquiry-dialog :is(label,legend,label>span:not(.service-picker span)){color:#c5f0fa}
.next-chapter #inquiry-dialog :is(input,textarea){color:#edfdff;border-color:#9cdef96b;caret-color:#a9ffff;background:transparent;text-shadow:none}
.next-chapter #inquiry-dialog :is(input,textarea)::placeholder{color:#a9c6d5;opacity:1}
.next-chapter #inquiry-dialog :is(input,textarea):focus-visible{outline-color:#9defff}
.next-chapter #inquiry-dialog .service-picker label>span{color:#c6f6ff;background:#83dfff08;border-color:#83dfff66;text-shadow:none}
.next-chapter #inquiry-dialog .service-picker input:checked+span{background:#a3f1ff;color:#092d47;border-color:#c5fbff}
.next-chapter #inquiry-dialog .dialog-close{color:#c8f7ff;background:#123e60a6;border:1px solid #8adfff77;box-shadow:0 0 12px #84dfff18}
.next-chapter #inquiry-dialog .form-submit{color:#d6faff;background:#185582a6;border:1px solid #83deff88;box-shadow:inset 0 0 18px #8bdfff0d;text-shadow:none}
.next-chapter #inquiry-dialog .form-submit:before{background:#a8edff}
.next-chapter #inquiry-dialog .form-submit:is(:hover,:focus-visible){color:#092d47}
.next-chapter #inquiry-dialog .inquiry-ready pre{color:#ddfaff;background:#061e3673;border-color:#8bdfff55;text-shadow:none}
.next-chapter #inquiry-dialog :is(.inquiry-ready a,.inquiry-ready button){color:#b9f5ff}
.nc-holo-projection[popover].is-steady{animation:none;opacity:.24;transform:scale(1)}
.nc-holo-projection.is-steady polygon{fill:#83d9ff;fill-opacity:.13}
.nc-holo-projection.is-steady path{stroke:#a7edff;opacity:.45}
.nc-holo-projection.is-steady circle{fill:#b8fbff;opacity:.85}
/* Hologram colors share the site's cobalt and lavender palette. */
.next-chapter #inquiry-dialog{--acid:#c4c8ff;color:#f1f0ff;background:linear-gradient(125deg,#343a8eb8,#222749cf);border-color:#a6adf899;box-shadow:inset 0 0 32px #8992ff18,0 0 0 1px #8f97e82b,0 0 35px #727fff30;text-shadow:0 0 9px #c0c5ff30}
.next-chapter #inquiry-dialog::backdrop{background:#17192d80}
.next-chapter #inquiry-dialog:before{background:repeating-linear-gradient(0deg,transparent 0 3px,#c2c5ff0c 3px 4px);border-top-color:#dcddff;box-shadow:inset 0 -2px 0 #adb4ff88}
.next-chapter #inquiry-dialog h2{color:#f1efff;text-shadow:0 0 16px #adb5ff4a}
.next-chapter #inquiry-dialog :is(.inquiry-kicker,.form-note,.inquiry-ready p,#inquiry-status){color:#c3c5e8}
.next-chapter #inquiry-dialog :is(label,legend,label>span:not(.service-picker span)){color:#dddffa}
.next-chapter #inquiry-dialog :is(input,textarea){color:#f4f2ff;border-color:#b8bcf16b;caret-color:#d5d7ff}
.next-chapter #inquiry-dialog :is(input,textarea)::placeholder{color:#bfc0d9}
.next-chapter #inquiry-dialog :is(input,textarea):focus-visible{outline-color:#bcc2ff}
.next-chapter #inquiry-dialog .service-picker label>span{color:#dddfff;background:#a6adff08;border-color:#a6adff66}
.next-chapter #inquiry-dialog .service-picker input:checked+span{background:#c4c8ff;color:#252956;border-color:#dcdfff}
.next-chapter #inquiry-dialog .dialog-close{color:#e2e1ff;background:#353d7ba6;border-color:#b0b8ff77;box-shadow:0 0 12px #b0b8ff18}
.next-chapter #inquiry-dialog .form-submit{color:#f0edff;background:#4855dfa6;border-color:#a7afff88;box-shadow:inset 0 0 18px #b0b8ff0d}
.next-chapter #inquiry-dialog .form-submit:before{background:#c6caff}
.next-chapter #inquiry-dialog .form-submit:is(:hover,:focus-visible){color:#252956}
.next-chapter #inquiry-dialog .inquiry-ready pre{color:#e4e3ff;background:#20254973;border-color:#aeb6ff55}
.next-chapter #inquiry-dialog :is(.inquiry-ready a,.inquiry-ready button){color:#d3d6ff}
.nc-holo-projection.is-steady polygon{fill:#a5adff}
.nc-holo-projection.is-steady path{stroke:#c0c6ff}
.nc-holo-projection.is-steady circle{fill:#d7dbff}
/* Station HUD: quiet registration marks and underline-only field focus. */
.next-chapter #inquiry-dialog{border-color:#a6adf82e;box-shadow:inset 0 0 32px #8992ff12,0 0 28px #727fff26}
.next-chapter #inquiry-dialog:before{border:0;box-shadow:none;background:linear-gradient(#d9daff,#d9daff) left top/22px 2px no-repeat,linear-gradient(#d9daff,#d9daff) left top/2px 22px no-repeat,linear-gradient(#d9daff,#d9daff) right top/22px 2px no-repeat,linear-gradient(#d9daff,#d9daff) right top/2px 22px no-repeat,linear-gradient(#b7bfff,#b7bfff) left bottom/22px 2px no-repeat,linear-gradient(#b7bfff,#b7bfff) left bottom/2px 22px no-repeat,linear-gradient(#b7bfff,#b7bfff) right bottom/22px 2px no-repeat,linear-gradient(#b7bfff,#b7bfff) right bottom/2px 22px no-repeat,repeating-linear-gradient(0deg,transparent 0 4px,#c2c5ff06 4px 5px)}
.next-chapter #inquiry-dialog .inquiry-kicker{display:flex;align-items:center;gap:14px;max-width:calc(100% - 40px);letter-spacing:.07em}
.next-chapter #inquiry-dialog .inquiry-kicker:after{content:'PROJECT / 01';font:8px/1.4 Consolas,monospace;letter-spacing:.12em;color:#d4ff31;border-left:1px solid #b5bbef66;padding-left:14px;white-space:nowrap}
.next-chapter #inquiry-dialog h2{padding-bottom:18px;border-bottom:1px solid #a6adf844}
.next-chapter #inquiry-dialog :is(.form-row>label,#inquiry-form>label){position:relative}
.next-chapter #inquiry-dialog :is(input,textarea):is(:focus,:focus-visible){outline:none;box-shadow:none;border-color:#c7ccff;border-bottom:2px solid #c7ccff}
.next-chapter #inquiry-dialog :is(.form-row>label,#inquiry-form>label):focus-within:after{content:'';position:absolute;right:0;top:4px;width:4px;height:4px;background:var(--wasabi);box-shadow:0 0 5px #d4ff3140;pointer-events:none}
.next-chapter #inquiry-dialog :is(.form-row>label,#inquiry-form>label):focus-within{color:#f4f2ff}
.next-chapter #inquiry-dialog .form-note{display:flex;align-items:center;gap:10px}
.next-chapter #inquiry-dialog #inquiry-form>.form-note:before{content:'FW / BRIEF';font:8px/1.5 Consolas,monospace;letter-spacing:.1em;color:#b8bff4;border-right:1px solid #a6adf844;padding-right:10px;white-space:nowrap}
@media(max-width:480px){.next-chapter #inquiry-dialog .inquiry-kicker{gap:8px;letter-spacing:0}.next-chapter #inquiry-dialog .inquiry-kicker:after{font-size:7px;padding-left:8px}.next-chapter #inquiry-dialog h2{padding-bottom:14px}}
/* Click ripples live behind the fixed text and controls. */
.next-chapter #inquiry-dialog{isolation:isolate}
.next-chapter #inquiry-dialog>:is(form,section,.inquiry-kicker,h2){position:relative;z-index:1}
.next-chapter #inquiry-dialog>.dialog-close{z-index:2}
.nc-hud-ripple{position:absolute;left:0;top:0;width:100%;overflow:hidden;pointer-events:none;z-index:0;contain:layout paint}
.nc-hud-ripple-grid{position:absolute;display:grid;grid-template-columns:repeat(11,24px);grid-template-rows:repeat(9,24px);width:264px;height:216px;transform:translate(-50%,-50%);perspective:260px}
.nc-hud-ripple-grid>i{display:block;opacity:0;border:1px solid #c8ceff2b;background:#b3bcff26;transform-origin:center;animation:nc-hud-cell-wave 390ms var(--wave-delay) ease-out both}
.nc-hud-ripple-grid>i.is-alternate{background:#7f8bff12;border-color:#a4afff20}
@keyframes nc-hud-cell-wave{0%{opacity:0;transform:translateY(0) rotateX(0) scale(1)}24%{opacity:var(--wave-strength);transform:translateY(-3px) rotateX(19deg) scale(.94)}52%{opacity:calc(var(--wave-strength)*.55);transform:translateY(1px) rotateX(-9deg) scale(1.015)}100%{opacity:0;transform:translateY(0) rotateX(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.nc-hud-ripple{display:none}}
/* The mesh fills the glass; only a travelling, fading wave reveals its cells. */
.nc-hud-mesh{display:block;max-width:none;animation:none;opacity:1}
/* Keep spectral colors in the transient ripple, never in the glass background. */
.next-chapter #inquiry-dialog{background:linear-gradient(125deg,#343a8eb8,#222749cf)}
/* Only one corner loses sync; text and the glass body never flicker. */
.next-chapter #inquiry-dialog.is-edge-glitch[data-edge-corner="0"]:before{clip-path:polygon(25px 0,100% 0,100% 100%,0 100%,0 25px,25px 25px)}
.next-chapter #inquiry-dialog.is-edge-glitch[data-edge-corner="1"]:before{clip-path:polygon(0 0,calc(100% - 25px) 0,calc(100% - 25px) 25px,100% 25px,100% 100%,0 100%)}
.next-chapter #inquiry-dialog.is-edge-glitch[data-edge-corner="2"]:before{clip-path:polygon(0 0,100% 0,100% calc(100% - 25px),calc(100% - 25px) calc(100% - 25px),calc(100% - 25px) 100%,0 100%)}
.next-chapter #inquiry-dialog.is-edge-glitch[data-edge-corner="3"]:before{clip-path:polygon(0 0,100% 0,100% 100%,25px 100%,25px calc(100% - 25px),0 calc(100% - 25px))}
.nc-edge-fragment{position:absolute;width:22px;height:22px;pointer-events:none;z-index:3;border-color:#e0ddff;border-style:solid;border-width:0;filter:drop-shadow(2px 0 0 #ff8fd57a) drop-shadow(-2px 0 0 #90dfff7a);animation:nc-edge-interference 130ms steps(1,end) both}
.nc-edge-0{top:0;left:0;border-top-width:2px;border-left-width:2px}
.nc-edge-1{top:0;right:0;border-top-width:2px;border-right-width:2px}
.nc-edge-2{bottom:0;right:0;border-bottom-width:2px;border-right-width:2px}
.nc-edge-3{bottom:0;left:0;border-bottom-width:2px;border-left-width:2px}
@keyframes nc-edge-interference{0%{opacity:.6;transform:translateX(-2px)}25%{opacity:0}45%{opacity:.75;transform:translate(2px,1px)}70%{opacity:.25;transform:translateX(-1px)}100%{opacity:0;transform:none}}
@media(prefers-reduced-motion:reduce){.nc-edge-fragment{display:none}}
/* Keep displaced edge fragments inside the scrollable panel bounds. */
.nc-edge-0{top:3px;left:3px}.nc-edge-1{top:3px;right:3px}.nc-edge-2{bottom:3px;right:3px}.nc-edge-3{bottom:3px;left:3px}
/* An explicit antenna tip provides one accurate source for all four rays. */
.nc-hangar:before{display:none}
.nc-base-antenna{position:absolute;left:83px;top:-22px;width:1px;height:21px;background:#6072af;pointer-events:none}
.nc-base-antenna>i{position:absolute;left:-2px;top:-5px;width:5px;height:5px;border-radius:50%;background:var(--wasabi)}
.nc-hangar.is-projecting .nc-base-antenna>i{box-shadow:0 0 8px 2px #dbe0ffb3}
.nc-holo-projection[popover].is-steady{opacity:.34}
.nc-holo-projection.is-steady polygon{fill-opacity:.04}
.nc-holo-opening:after{display:none}
/* Soft projection stays in the space between antenna and glass. */
.nc-holo-projection polygon.nc-soft-beam{fill:url(#nc-soft-light);fill-opacity:1}
.nc-holo-projection[popover].is-steady{opacity:.3}
.nc-holo-projection.is-steady polygon.nc-soft-beam{fill:url(#nc-soft-light);fill-opacity:1}
.nc-holo-projection circle{opacity:.65}
@keyframes nc-holo-beam{0%{opacity:0;transform:scale(.2);clip-path:none}35%{opacity:.85;transform:scale(1)}100%{opacity:.3;transform:scale(1)}}
@keyframes nc-holo-recall{0%{opacity:.3;transform:scale(1);clip-path:none}35%{opacity:.55;transform:scale(.75)}100%{opacity:0;transform:scale(.02)}}
/* Keep the glass translucent while reducing background interference. */
.next-chapter #inquiry-dialog{backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);text-shadow:none}
.next-chapter #inquiry-dialog::backdrop{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.next-chapter #inquiry-dialog :is(input,textarea){color:#faf9ff;font-weight:500}
.next-chapter #inquiry-dialog :is(input,textarea)::placeholder{color:#d5d6ea;opacity:1}
.next-chapter #inquiry-dialog .service-picker label>span{color:#eeefff;font-weight:500}
.next-chapter #inquiry-dialog :is(.form-note,.inquiry-kicker){color:#d6d8f0}
/* Compact contact scene: contain the base and give the invitation breathing room. */
@media(max-width:760px){
 .nc-planet-scene{margin-top:60px;height:270px}
 .nc-contact .nc-planet-entry{left:20px;transform:none;width:calc(100% - 40px);max-width:400px}
 .nc-planet-entry .nc-hangar{right:0}
 .nc-planet-cta{font-size:13px}
}
@media(max-width:600px){
 .next-chapter #inquiry-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:24px 22px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#939bd077 transparent;scroll-padding-block:58px 24px}
 .next-chapter #inquiry-dialog>.dialog-close{position:sticky;top:0;float:right;width:44px;height:44px;margin:-12px -10px -44px 0;z-index:3;background:#343a76;backdrop-filter:blur(8px)}
 .next-chapter #inquiry-dialog .inquiry-kicker{min-height:32px;max-width:calc(100% - 34px);flex-wrap:wrap;gap:4px 8px}
 .next-chapter #inquiry-dialog .service-picker label>span{min-height:42px;display:flex;align-items:center;font-size:12px;padding:9px 11px}
 .next-chapter #inquiry-dialog :is(input,textarea){font-size:16px;scroll-margin-block:62px 28px}
 .next-chapter #inquiry-dialog .form-note{flex-wrap:wrap;gap:6px 10px}
}
@media(max-width:760px){.nc-contact .nc-planet-entry{left:50%;transform:translateX(-50%)}}
/* Scrolling on short screens must not carry decorative corners across the form. */
@media(max-width:600px){.next-chapter #inquiry-dialog:before{background:none}.next-chapter #inquiry-dialog{border-color:#a6adf877}}
/* One swipeable choice row keeps the mobile brief compact. */
.nc-service-options{display:contents}
@media(max-width:600px){
 .next-chapter #inquiry-dialog .service-picker{display:block;min-width:0;margin-bottom:18px}
 .next-chapter #inquiry-dialog .service-picker legend{width:100%;margin-bottom:8px}
 .next-chapter #inquiry-dialog .service-picker legend:after{content:'옆으로 넘겨 선택 ↔';float:right;font-size:10px;font-weight:400;color:#c9ccee}
 .next-chapter #inquiry-dialog .nc-service-options{display:flex;gap:7px;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:2px;padding:3px 2px 8px;scrollbar-width:thin;scrollbar-color:#a5adf87a transparent}
 .next-chapter #inquiry-dialog .nc-service-options label{flex:0 0 auto;scroll-snap-align:start}
 .next-chapter #inquiry-dialog .nc-service-options label>span{white-space:nowrap;min-height:42px}
 .next-chapter #inquiry-dialog h2{margin-top:12px;margin-bottom:20px}
 .next-chapter #inquiry-dialog :is(.form-row>label,#inquiry-form>label){margin-bottom:16px}
}
.nc-service-selection{display:none}
@media(max-width:600px){
 .next-chapter #inquiry-dialog .nc-service-selection{display:block;margin:5px 0 0;font-size:11px;line-height:1.65;color:#c9ccee;overflow-wrap:anywhere}
 .next-chapter #inquiry-dialog .nc-service-selection.has-selection{color:#edf0ff}
}
@media(max-width:760px){
 .next-chapter .nc-contact{padding-bottom:30px}
 .nc-planet-scene{height:220px}
}
