

#nt-portfolio .gg{--gg-ink:var(--ink,#20201f);--gg-ink2:var(--ink2,#41423d);--gg-mut:var(--mut,#64645f);--gg-ln:var(--ln,#cdcdc8);--gg-ln2:#a9a9a1;--gg-surface:#fffefa;--gg-panel:#efede7;--gg-tint:#f8ece5;--gg-acc:#e2552c;--gg-acc-ink:#b13c16;--gg-btn:#262624;--gg-btn-ink:#fbfaf6;--gg-ph:#ffffff;--gg-ph-ln:#bdbcb5;
  --wf-accent:var(--gg-acc);--wf-brand:"GINTAA";
  container:gg/inline-size;color:var(--gg-ink);font-family:var(--sans,system-ui,sans-serif)!important}

html[data-theme=dark] #nt-portfolio .cv-doc.gv-case.case-study{background:var(--bg,#101010);--ink:#f4f4f1;--ink2:#dcdcd8;--mut:#aaa9a4;--dim:#96928c;--line:#30302f;--ln:#30302f;color:#f4f4f1}
html[data-theme=dark] #nt-portfolio .gg{--gg-ink:#f2f1ec;--gg-ink2:#d9d8d2;--gg-mut:#a9a8a2;--gg-ln:#353533;--gg-ln2:#5f5f5a;--gg-surface:#181817;--gg-panel:#1c1c1b;--gg-tint:#2a1c16;--gg-acc:#ff6f45;--gg-acc-ink:#ff9370;--gg-btn:#ecebe6;--gg-btn-ink:#151514;--gg-ph:#121211;--gg-ph-ln:#4c4c48}

#nt-portfolio .gg section.ch.gg-s{padding:0;margin:clamp(88px,10cqw,128px) 0 0;scroll-margin-top:24px}
#nt-portfolio .gg section.ch.gg-s.is-sup{margin-top:clamp(72px,8.5cqw,104px)}
#nt-portfolio .gg section.ch.gg-s:first-child{margin-top:clamp(48px,6cqw,72px)}
#nt-portfolio .gg section.ch.gg-s.is-last{margin-bottom:clamp(96px,11cqw,150px)}
#nt-portfolio .gg .gg-k{display:block;margin:0 0 14px;font:500 12px/1.4 var(--mono,ui-monospace,monospace);font-family:var(--mono,ui-monospace,monospace)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--gg-acc-ink)}
#nt-portfolio .gg :is(h2,h3).gg-h2{max-width:22ch;margin:0;font:500 clamp(30px,4.6cqw,44px)/1.08 var(--sans);font-family:var(--sans)!important;letter-spacing:-.025em;color:var(--gg-ink);text-wrap:balance}
#nt-portfolio .gg .is-sup :is(h2,h3).gg-h2{font-size:clamp(26px,3.6cqw,34px);max-width:26ch}
#nt-portfolio .gg :is(h3,h4,h5).gg-h3{margin:0;font:500 clamp(19px,2.3cqw,22px)/1.25 var(--sans);font-family:var(--sans)!important;letter-spacing:-.012em;color:var(--gg-ink);text-transform:none}
#nt-portfolio .gg p.gg-p{max-width:62ch;margin:22px 0 0;font-size:18px;line-height:1.62;color:var(--gg-ink2)}
#nt-portfolio .gg p.gg-p+p.gg-p{margin-top:16px}
#nt-portfolio .gg p.gg-lede{max-width:44ch;margin:0;font:400 clamp(22px,3cqw,28px)/1.35 var(--sans);font-family:var(--sans)!important;letter-spacing:-.012em;color:var(--gg-ink)}
#nt-portfolio .gg p.gg-sm{margin:8px 0 0;font-size:15px;line-height:1.5;color:var(--gg-mut);max-width:48ch}
#nt-portfolio .gg figure.gg-fig{margin:clamp(36px,5cqw,56px) 0 0;max-width:none}
#nt-portfolio .gg .gg-panel{padding:clamp(18px,3.4cqw,36px);border:1px solid var(--gg-ln);border-radius:20px;background:var(--gg-panel)}
#nt-portfolio .gg ul.gg-list{margin:10px 0 0;padding:0;list-style:none;max-width:none}
#nt-portfolio .gg ul.gg-list li{position:relative;margin:0 0 6px;padding-left:20px;font-size:15px;line-height:1.45;color:var(--gg-ink2)}
#nt-portfolio .gg ul.gg-list li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:1.5px;border-radius:0;background:var(--gg-mut)}
#nt-portfolio .gg ul.gg-list.is-plus li::before{content:"+";top:0;width:auto;height:auto;background:none;font:600 15px/1.45 var(--sans);font-family:var(--sans)!important;color:var(--gg-ink)}
#nt-portfolio .gg ul.gg-list.is-minus li::before{content:"\2212";top:0;width:auto;height:auto;background:none;font:600 15px/1.45 var(--sans);font-family:var(--sans)!important;color:var(--gg-acc-ink)}
#nt-portfolio .gg .gg-chip{display:inline-block;padding:2px 9px;border:1px solid var(--gg-acc);border-radius:999px;font:500 11px/1.6 var(--mono,monospace);font-family:var(--mono,monospace)!important;letter-spacing:.06em;text-transform:uppercase;color:var(--gg-acc-ink);background:transparent;white-space:nowrap;vertical-align:middle}
#nt-portfolio .gg .gg-num{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 6px;border:1px solid var(--gg-ln2);border-radius:999px;font:500 12px/1 var(--mono,monospace);font-family:var(--mono,monospace)!important;color:var(--gg-ink2);background:var(--gg-surface)}
#nt-portfolio .gg .is-chosen .gg-num{border-color:var(--gg-acc);color:var(--gg-acc-ink)}
#nt-portfolio .gg a:focus-visible{outline:2px solid var(--gg-acc);outline-offset:3px;border-radius:2px}

#nt-portfolio .gg .gg-problem p.gg-lede{margin-top:28px}

#nt-portfolio .gg .gg-src{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:clamp(32px,4cqw,44px) 0 0;padding:0;list-style:none;border-top:1px solid var(--gg-ln)}
#nt-portfolio .gg .gg-src>li{position:relative;margin:0;padding:18px 22px 0 0}
#nt-portfolio .gg .gg-src>li::before{content:none}
#nt-portfolio .gg .gg-src>li+li{padding-left:22px;border-left:1px solid var(--gg-ln)}
#nt-portfolio .gg .gg-src b{display:block;font:500 17px/1.3 var(--sans);font-family:var(--sans)!important;color:var(--gg-ink)}
#nt-portfolio .gg .gg-src span{display:block;margin-top:6px;font-size:14px;line-height:1.5;color:var(--gg-mut)}
#nt-portfolio .gg .gg-src em{display:block;margin-bottom:8px;font:500 11px/1.4 var(--mono,monospace);font-family:var(--mono,monospace)!important;font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--gg-acc-ink)}
#nt-portfolio .gg .gg-themes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto 1fr auto;gap:0 clamp(14px,2.2cqw,24px);margin:0;padding:0;list-style:none}
#nt-portfolio .gg .gg-themes>li{display:grid;grid-row:span 3;grid-template-rows:subgrid;margin:0;padding:0;min-width:0}
#nt-portfolio .gg .gg-themes>li::before{content:none}
#nt-portfolio .gg .gg-tn{display:block;margin:0 0 10px;font:500 12px/1 var(--mono,monospace);font-family:var(--mono,monospace)!important;color:var(--gg-acc-ink)}
#nt-portfolio .gg .gg-themes p.gg-sm{margin-top:8px;font-size:14.5px}
#nt-portfolio .gg .gg-vis{height:118px;margin:16px 0 0;padding:12px;border:1px solid var(--gg-ln);border-radius:14px;background:var(--gg-surface);display:flex;flex-direction:column;justify-content:center;gap:7px;overflow:hidden}
#nt-portfolio .gg .gg-stack{position:relative;height:100%}
#nt-portfolio .gg .gg-stack i{position:absolute;width:46%;height:62%;border:1px solid var(--gg-ln2);border-radius:8px;background:var(--gg-ph)}
#nt-portfolio .gg .gg-stack i:nth-child(1){left:42%;top:4px}#nt-portfolio .gg .gg-stack i:nth-child(2){left:30%;top:12px}#nt-portfolio .gg .gg-stack i:nth-child(3){left:18%;top:20px}
#nt-portfolio .gg .gg-stack i:nth-child(4){left:6%;top:28px;border:1.5px solid var(--gg-acc)}
#nt-portfolio .gg .gg-pills{display:flex;flex-wrap:wrap;gap:6px;align-content:center}
#nt-portfolio .gg .gg-pills span{padding:3px 9px;border:1px solid var(--gg-ln2);border-radius:999px;font-size:12px;line-height:1.4;color:var(--gg-ink2);white-space:nowrap}
#nt-portfolio .gg .gg-pills span:first-child{border-color:var(--gg-acc);color:var(--gg-acc-ink)}
#nt-portfolio .gg .gg-owe{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.3;color:var(--gg-ink2)}
#nt-portfolio .gg .gg-owe i{flex:1;height:6px;border-radius:3px;background:var(--gg-ln)}
#nt-portfolio .gg .gg-owe b{font-weight:500;padding:1px 7px;border:1px solid var(--gg-ln2);border-radius:999px;font-size:11px}
#nt-portfolio .gg .gg-owe.is-p b{border-color:var(--gg-acc);color:var(--gg-acc-ink)}
#nt-portfolio .gg .gg-tl{position:relative;display:grid;gap:8px;padding-left:16px;font-size:12px;line-height:1.3;color:var(--gg-mut)}
#nt-portfolio .gg .gg-tl::before{content:"";position:absolute;left:4px;top:5px;bottom:5px;width:1px;background:var(--gg-ln2)}
#nt-portfolio .gg .gg-tl span{position:relative}
#nt-portfolio .gg .gg-tl span::before{content:"";position:absolute;left:-16px;top:3px;width:9px;height:9px;border:1px solid var(--gg-ln2);border-radius:50%;background:var(--gg-surface)}
#nt-portfolio .gg .gg-tl span.w-on{color:var(--gg-acc-ink)}
#nt-portfolio .gg .gg-tl span.w-on::before{border-color:var(--gg-acc);background:var(--gg-acc)}
#nt-portfolio .gg .gg-converge{display:block;width:100%;height:64px;margin:6px 0 0;overflow:visible}
#nt-portfolio .gg .gg-converge path{fill:none;stroke:var(--gg-acc);stroke-width:1.2;vector-effect:non-scaling-stroke}
#nt-portfolio .gg .gg-five{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start;max-width:600px;margin:0 auto;padding:22px 24px;border:1.5px solid var(--gg-acc);border-radius:18px;background:var(--gg-tint)}
#nt-portfolio .gg .gg-five .gg-tn{width:auto;margin:0;padding:6px 0 0;border:0}
#nt-portfolio .gg .gg-five p.gg-sm{max-width:none;color:var(--gg-ink2)}
#nt-portfolio .gg .gg-q{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(18px,4cqw,48px);align-items:end;margin:clamp(36px,5cqw,52px) 0 0;padding-top:0}
#nt-portfolio .gg .gg-q p.gg-lede{max-width:none;color:var(--gg-acc-ink)}
@container gg (max-width:640px){
  #nt-portfolio .gg .gg-src{grid-template-columns:minmax(0,1fr)}
  #nt-portfolio .gg .gg-src>li,#nt-portfolio .gg .gg-src>li+li{padding:16px 0;border-left:0;border-bottom:1px solid var(--gg-ln)}
  #nt-portfolio .gg .gg-themes{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;row-gap:28px}
  #nt-portfolio .gg .gg-themes>li{display:block}
  #nt-portfolio .gg .gg-converge{display:none}
  #nt-portfolio .gg .gg-five{margin-top:28px;grid-template-columns:minmax(0,1fr);gap:8px}
  #nt-portfolio .gg .gg-q{grid-template-columns:minmax(0,1fr);gap:10px}
}
@container gg (max-width:420px){#nt-portfolio .gg .gg-themes{grid-template-columns:minmax(0,1fr)}}

#nt-portfolio .gg .gg-jr{display:grid;grid-template-columns:76px repeat(6,minmax(0,1fr));grid-template-rows:auto auto auto;grid-auto-flow:column;column-gap:0;font-size:14px;line-height:1.42}
#nt-portfolio .gg .gg-jr>*,#nt-portfolio .gg .gg-jstage>*{min-width:0;padding:12px 8px;border-top:1px solid var(--gg-ln)}
#nt-portfolio .gg .gg-jr>.gg-jl:first-child,#nt-portfolio .gg .gg-jstage>.gg-jh{padding-top:0;border-top:0}
#nt-portfolio .gg .gg-jr>.gg-jl{padding-left:0;font:500 11px/1.4 var(--mono,monospace);font-family:var(--mono,monospace)!important;letter-spacing:.06em;text-transform:uppercase;color:var(--gg-mut)}
#nt-portfolio .gg .gg-jh{position:relative;padding-bottom:14px!important}
#nt-portfolio .gg .gg-jh::before{content:"";position:absolute;left:0;right:0;top:13px;height:1px;background:var(--gg-ln2)}
#nt-portfolio .gg .gg-jl+.gg-jl+.gg-jl+.gg-jstage .gg-jh::before{left:10px}
#nt-portfolio .gg .gg-jstage:last-child .gg-jh::before{right:auto;width:22px;left:10px}
#nt-portfolio .gg .gg-jh .gg-num{position:relative;min-width:26px;height:26px;font-size:11px;background:var(--gg-panel)}
#nt-portfolio .gg .gg-jh b{display:block;margin-top:10px;font:500 15px/1.25 var(--sans);font-family:var(--sans)!important;color:var(--gg-ink)}
#nt-portfolio .gg .gg-jlab{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#nt-portfolio .gg .gg-jt{display:block;position:relative;padding-left:14px;margin:0 0 6px;color:var(--gg-ink2)}
#nt-portfolio .gg .gg-jt::before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;border-radius:50%}
#nt-portfolio .gg .gg-jo .gg-jt::before{background:var(--gg-acc)}
#nt-portfolio .gg .gg-je .gg-jt{color:var(--gg-mut)}
#nt-portfolio .gg .gg-je .gg-jt::before{border:1px solid var(--gg-ln2)}
#nt-portfolio .gg .gg-jo{background:var(--gg-tint)}
#nt-portfolio .gg .gg-jl.gg-jo{background:transparent;color:var(--gg-acc-ink)}
#nt-portfolio .gg .gg-jend{margin:clamp(36px,5cqw,56px) 0 0;max-width:30ch;font:400 clamp(24px,3.6cqw,34px)/1.25 var(--sans);font-family:var(--sans)!important;letter-spacing:-.018em;color:var(--gg-ink)}
#nt-portfolio .gg .gg-jkey{display:flex;flex-wrap:wrap;gap:8px 22px;margin:18px 0 0;font-size:13px;color:var(--gg-mut)}
#nt-portfolio .gg .gg-jkey span{position:relative;padding-left:14px}
#nt-portfolio .gg .gg-jkey span::before{content:"";position:absolute;left:0;top:.42em;width:7px;height:7px;border-radius:50%;background:var(--gg-acc)}
#nt-portfolio .gg .gg-jkey span+span::before{background:transparent;border:1px solid var(--gg-ln2)}
@container gg (min-width:761px){#nt-portfolio .gg .gg-jstage{display:contents}}
@container gg (max-width:760px){
  #nt-portfolio .gg .gg-jr{display:block}
  #nt-portfolio .gg .gg-jr>.gg-jl{display:none}
  #nt-portfolio .gg .gg-jstage{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:12px;padding:18px 0;border-top:1px solid var(--gg-ln)}
  #nt-portfolio .gg .gg-jl+.gg-jl+.gg-jl+.gg-jstage{border-top:0;padding-top:0}
  #nt-portfolio .gg .gg-jstage>*{grid-column:2;padding:0;border:0}
  #nt-portfolio .gg .gg-jstage>.gg-jh{display:contents}
  #nt-portfolio .gg .gg-jh::before{content:none}
  #nt-portfolio .gg .gg-jstage .gg-num{grid-column:1;grid-row:1/span 3}
  #nt-portfolio .gg .gg-jstage .gg-jh b{grid-column:2;margin:3px 0 8px}
  #nt-portfolio .gg .gg-jstage .gg-jo{padding:8px 10px 2px;border-radius:8px}
  #nt-portfolio .gg .gg-jstage .gg-je{padding:8px 10px 0}
  #nt-portfolio .gg .gg-jlab{position:static;width:auto;height:auto;overflow:visible;clip:auto;display:block;margin-bottom:4px;font:500 10.5px/1.4 var(--mono,monospace);font-family:var(--mono,monospace)!important;letter-spacing:.06em;text-transform:uppercase}
  #nt-portfolio .gg .gg-jo .gg-jlab{color:var(--gg-acc-ink)}
  #nt-portfolio .gg .gg-je .gg-jlab{color:var(--gg-mut)}
}

#nt-portfolio .gg .gg-method{display:flex;flex-wrap:wrap;align-items:center;gap:10px 0;margin:clamp(28px,4cqw,40px) 0 0;padding:0;list-style:none}
#nt-portfolio .gg .gg-method li{margin:0;padding:0;display:flex;align-items:center;font-size:15px;color:var(--gg-ink)}
#nt-portfolio .gg .gg-method li::before{content:none}
#nt-portfolio .gg .gg-method li span{padding:7px 14px;border:1px solid var(--gg-ln2);border-radius:999px;white-space:nowrap}
#nt-portfolio .gg .gg-method li:last-child span{border-color:var(--gg-acc);color:var(--gg-acc-ink)}
#nt-portfolio .gg .gg-method li+li::before{content:"";position:static;display:block;width:22px;height:1px;margin:0 4px;background:var(--gg-ln2);border-radius:0}
#nt-portfolio .gg .gg-cons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,3cqw,32px);margin:clamp(28px,4cqw,40px) 0 0}
#nt-portfolio .gg .gg-cons>div{padding-top:14px;border-top:1.5px solid var(--gg-ink)}
#nt-portfolio .gg .gg-qs{margin:clamp(28px,4cqw,40px) 0 0;padding:0;list-style:none;border-top:1px solid var(--gg-ln)}
#nt-portfolio .gg .gg-qs li{margin:0;padding:0;border-bottom:1px solid var(--gg-ln)}
#nt-portfolio .gg .gg-qs li::before{content:none}
#nt-portfolio .gg .gg-qs a{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:baseline;padding:13px 0;color:var(--gg-ink);text-decoration:none;font-size:17px}
#nt-portfolio .gg .gg-qs a span:first-child{font:500 12px/1 var(--mono,monospace);font-family:var(--mono,monospace)!important;color:var(--gg-mut)}
#nt-portfolio .gg .gg-qs a span:last-child{color:var(--gg-mut);font-size:14px}
#nt-portfolio .gg .gg-qs a:hover span:nth-child(2),#nt-portfolio .gg .gg-qs a:focus-visible span:nth-child(2){text-decoration:underline;text-underline-offset:3px}
@container gg (max-width:560px){#nt-portfolio .gg .gg-cons{grid-template-columns:minmax(0,1fr)}#nt-portfolio .gg .gg-qs a span:last-child{display:none}#nt-portfolio .gg .gg-qs a{grid-template-columns:36px minmax(0,1fr)}}

#nt-portfolio .gg .gg-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2cqw,20px);margin:clamp(28px,4cqw,40px) 0 0}
#nt-portfolio .gg .gg-opt{min-width:0;padding:16px;border:1px solid var(--gg-ln);border-radius:16px;background:var(--gg-surface)}
#nt-portfolio .gg .gg-opt.is-chosen{border:1.5px solid var(--gg-acc);background:var(--gg-tint)}
#nt-portfolio .gg .gg-opt-h{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
#nt-portfolio .gg .gg-opt-h .gg-h3{flex:1 1 auto;font-size:17px}
#nt-portfolio .gg .gg-opt p.gg-sm{font-size:14px;margin-top:8px}
#nt-portfolio .gg .gg-opt .gg-ph{margin:14px auto 4px;max-width:150px;aspect-ratio:9/14.5}
#nt-portfolio .gg .gg-flow .gg-ph{aspect-ratio:9/14.5}
#nt-portfolio .gg .gg-opt ul.gg-list li{font-size:13.5px;margin-bottom:4px}
#nt-portfolio .gg .gg-dir{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:clamp(16px,4cqw,40px);margin:clamp(28px,3.4cqw,36px) 0 0;padding:0}
#nt-portfolio .gg .gg-dir .gg-k{margin:0 0 6px}
#nt-portfolio .gg .gg-dir p.gg-p{margin:0;font-size:16.5px}
#nt-portfolio .gg .gg-spec{position:relative;margin:clamp(28px,4cqw,40px) 0 0;padding:0}
#nt-portfolio .gg .gg-spec-ends{display:flex;justify-content:space-between;gap:16px;font:500 13px/1.3 var(--sans);font-family:var(--sans)!important;color:var(--gg-ink)}
#nt-portfolio .gg .gg-spec-line{position:relative;height:22px;margin:8px 0 0}
#nt-portfolio .gg .gg-spec-line::before{content:"";position:absolute;left:0;right:0;top:10px;height:1px;background:var(--gg-ln2)}
#nt-portfolio .gg .gg-spec-line::after{content:"";position:absolute;right:0;top:6px;width:8px;height:8px;border-top:1px solid var(--gg-ln2);border-right:1px solid var(--gg-ln2);transform:rotate(45deg)}
#nt-portfolio .gg .gg-spec-line i{position:absolute;top:4px;width:13px;height:13px;margin-left:-6px;border:1px solid var(--gg-ln2);border-radius:50%;background:var(--gg-surface)}
#nt-portfolio .gg .gg-spec-line i.w-on{border-color:var(--gg-acc);background:var(--gg-acc)}
#nt-portfolio .gg .gg-spec-pts{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:8px 0 0;padding:0;list-style:none}
#nt-portfolio .gg .gg-spec-pts li{margin:0;padding:0;font-size:13.5px;line-height:1.4;color:var(--gg-mut);text-align:center}
#nt-portfolio .gg .gg-spec-pts li::before{content:none}
#nt-portfolio .gg .gg-spec-pts b{display:block;font-weight:500;color:var(--gg-ink)}
#nt-portfolio .gg .gg-spec-pts li.w-on b{color:var(--gg-acc-ink)}
@container gg (max-width:640px){
  #nt-portfolio .gg .gg-opts{grid-template-columns:minmax(0,1fr)}
  #nt-portfolio .gg .gg-opt{display:grid;grid-template-columns:minmax(0,1fr) 112px;column-gap:16px}
  #nt-portfolio .gg .gg-opt>*{grid-column:1}
  #nt-portfolio .gg .gg-opt>.gg-ph{grid-column:2;grid-row:1/span 4;margin:0;max-width:none;align-self:start}
  #nt-portfolio .gg .gg-opt.is-chosen{order:-1}
  #nt-portfolio .gg .gg-dir{grid-template-columns:minmax(0,1fr);gap:6px}
  #nt-portfolio .gg .gg-spec-pts li{font-size:12.5px}
}
@container gg (max-width:400px){#nt-portfolio .gg .gg-opt{grid-template-columns:minmax(0,1fr) 92px}}

#nt-portfolio .gg .gg-models{display:grid;gap:clamp(14px,2.4cqw,22px);margin:clamp(32px,4.5cqw,48px) 0 0}
#nt-portfolio .gg .gg-model{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(18px,3cqw,26px);padding:clamp(18px,3cqw,28px);border:1px solid var(--gg-ln);border-radius:20px;background:var(--gg-surface)}
#nt-portfolio .gg .gg-model.is-chosen{border:1.5px solid var(--gg-acc);background:var(--gg-tint)}
#nt-portfolio .gg .gg-model-t{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:clamp(16px,4cqw,40px);align-items:start}
#nt-portfolio .gg .gg-model-t>.gg-opt-h,#nt-portfolio .gg .gg-model-t>p{grid-column:1}
#nt-portfolio .gg .gg-model-t>ul{grid-column:2;grid-row:1/span 2;margin-top:0}
#nt-portfolio .gg .gg-model-t>ul+ul{grid-row:3/span 1;margin-top:-2px}
#nt-portfolio .gg .gg-model-t .gg-opt-h{margin-bottom:4px}
#nt-portfolio .gg .gg-model .gg-flow{max-width:640px;width:100%;margin:0 auto}
#nt-portfolio .gg .gg-flow{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) 16px minmax(0,1fr);align-items:start;margin:0;padding:0;list-style:none}
#nt-portfolio .gg .gg-flow>li{margin:0;padding:0;min-width:0}
#nt-portfolio .gg .gg-flow>li::before{content:none}
#nt-portfolio .gg .gg-flow>li.w-arr{position:relative;align-self:center;height:1px;margin-top:-44px;background:var(--gg-ln2)}
#nt-portfolio .gg .gg-flow>li.w-arr::after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:1px solid var(--gg-ln2);border-right:1px solid var(--gg-ln2);transform:rotate(45deg)}
#nt-portfolio .gg .gg-flow .w-cap{display:block;margin-top:8px;font-size:12.5px;line-height:1.35;color:var(--gg-mut)}
#nt-portfolio .gg .gg-flow .w-cap b{display:block;font-weight:500;color:var(--gg-ink)}
@container gg (max-width:600px){#nt-portfolio .gg .gg-model-t{grid-template-columns:minmax(0,1fr)}#nt-portfolio .gg .gg-model-t>ul,#nt-portfolio .gg .gg-model-t>ul+ul{grid-column:1;grid-row:auto;margin-top:8px}}
@container gg (max-width:420px){#nt-portfolio .gg .gg-flow{grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr) 10px minmax(0,1fr)}#nt-portfolio .gg .gg-flow .w-cap{font-size:11.5px}}

#nt-portfolio .gg .gg-who{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(18px,4cqw,40px);align-items:start;margin:clamp(28px,4cqw,40px) 0 0}
#nt-portfolio .gg .gg-who-l{margin:0;padding:0;list-style:none;border-top:1px solid var(--gg-ln)}
#nt-portfolio .gg .gg-who-l>li{display:grid;grid-template-columns:minmax(0,1fr);gap:4px 12px;margin:0;padding:16px 0;border-bottom:1px solid var(--gg-ln)}
#nt-portfolio .gg .gg-who-l>li::before{content:none}
#nt-portfolio .gg .gg-who-l>li.is-chosen{margin-top:10px;padding:16px 14px;border:1.5px solid var(--gg-acc);border-radius:14px;background:var(--gg-tint)}
#nt-portfolio .gg .gg-who-l .gg-num{grid-row:1/span 2}
#nt-portfolio .gg .gg-who-l p.gg-sm{margin:0;font-size:14.5px}
#nt-portfolio .gg .gg-pair{display:grid;grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);align-items:center;gap:6px}
#nt-portfolio .gg .gg-pair .w-arr{height:1px;background:var(--gg-ln2)}
@container gg (max-width:600px){#nt-portfolio .gg .gg-who{grid-template-columns:minmax(0,1fr)}#nt-portfolio .gg .gg-pair{width:100%;max-width:340px;margin:0 auto}}

#nt-portfolio .gg .gg-pay{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(18px,4cqw,44px);align-items:start;margin:clamp(28px,4cqw,40px) 0 0}
#nt-portfolio .gg .gg-steps{margin:0;padding:0;list-style:none;counter-reset:s}
#nt-portfolio .gg .gg-steps>li{position:relative;margin:0;padding:0 0 18px 40px;font-size:15.5px;line-height:1.45;color:var(--gg-ink2)}
#nt-portfolio .gg .gg-steps>li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:-2px;width:26px;height:26px;border:1px solid var(--gg-ln2);border-radius:50%;background:var(--gg-surface);font:500 11px/26px var(--mono,monospace);font-family:var(--mono,monospace)!important;text-align:center;color:var(--gg-ink2)}
#nt-portfolio .gg .gg-steps>li::after{content:"";position:absolute;left:13px;top:26px;bottom:2px;width:1px;background:var(--gg-ln)}
#nt-portfolio .gg .gg-steps>li:last-child::after{content:none}
#nt-portfolio .gg .gg-steps>li.w-on::before{border-color:var(--gg-acc);color:var(--gg-acc-ink)}
#nt-portfolio .gg .gg-steps b{display:block;font-weight:500;color:var(--gg-ink)}
#nt-portfolio .gg .gg-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:clamp(24px,3cqw,32px) 0 0}
#nt-portfolio .gg .gg-modes>div{padding-top:12px;border-top:1px solid var(--gg-ink)}
#nt-portfolio .gg .gg-modes p.gg-sm{font-size:14px}
#nt-portfolio .gg .gg-pay .gg-ph{width:100%;max-width:200px;margin:0 auto}
@container gg (max-width:600px){#nt-portfolio .gg .gg-pay{grid-template-columns:minmax(0,1fr)}#nt-portfolio .gg .gg-modes{grid-template-columns:minmax(0,1fr)}}

#nt-portfolio .gg figure.gg-board{--seq-gap:clamp(18px,3cqw,30px)}
#nt-portfolio .gg p.gg-boardnote{margin:0;font-size:14px;color:var(--gg-mut)}
#nt-portfolio .gg p.gg-seqlab{margin:clamp(30px,4cqw,44px) 0 14px;font:500 15px/1.3 var(--sans);font-family:var(--sans)!important;color:var(--gg-ink)}
#nt-portfolio .gg .gg-seq{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--seq-gap);row-gap:28px;margin:0;padding:0;list-style:none}
#nt-portfolio .gg .gg-seq>li{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:12px;margin:0;padding:0;min-width:0;position:relative}
#nt-portfolio .gg .gg-seq>li::before{content:none}
#nt-portfolio .gg .gg-seq .gg-ph{width:100%;max-width:180px;margin:0 auto;align-self:start}
#nt-portfolio .gg .gg-seq>li:not(:last-child)>.gg-ph::before{content:"";position:absolute;top:50%;right:calc(var(--seq-gap) / -2 - 5px);width:7px;height:7px;margin-top:-3.5px;border-top:1.2px solid var(--gg-ink2);border-right:1.2px solid var(--gg-ink2);transform:rotate(45deg)}
#nt-portfolio .gg .gg-seq-end>li:not(:last-child)>.gg-ph::before{content:none}
#nt-portfolio .gg .gg-st{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 9px;align-items:start;align-content:start}
#nt-portfolio .gg .gg-st .gg-num{grid-row:1/span 2;min-width:24px;height:24px;padding:0 5px;border:0;background:color-mix(in srgb,var(--gg-acc) 16%,transparent);color:var(--gg-acc-ink);font-size:11px}
#nt-portfolio .gg .gg-st b{font:500 15px/1.3 var(--sans);font-family:var(--sans)!important;color:var(--gg-ink)}
#nt-portfolio .gg .gg-st span:not(.gg-num){font-size:13.5px;line-height:1.4;color:var(--gg-mut)}
#nt-portfolio .gg .gg-seq>li.is-edge .gg-num{background:transparent;box-shadow:inset 0 0 0 1px var(--gg-acc)}
@container gg (max-width:640px){
  #nt-portfolio .gg .gg-seq{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}
  #nt-portfolio .gg .gg-seq>li:nth-child(2n)>.gg-ph::before{content:none}
  #nt-portfolio .gg .gg-seq .gg-ph{max-width:200px}
  #nt-portfolio .gg .gg-st{grid-template-columns:minmax(0,1fr)}
  #nt-portfolio .gg .gg-st .gg-num{grid-row:auto;justify-self:start}
}

#nt-portfolio .gg .gg-cx{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2.4cqw,22px);margin:clamp(32px,4.5cqw,48px) 0 0}
#nt-portfolio .gg .gg-cx>article{min-width:0;padding:clamp(18px,3cqw,26px);border:1px solid var(--gg-ln);border-radius:20px;background:var(--gg-surface)}
#nt-portfolio .gg .gg-cx-h{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}
#nt-portfolio .gg .gg-cx p.gg-sm{font-size:14.5px;max-width:none}
#nt-portfolio .gg .gg-dia{margin:18px 0 0;padding:14px;border:1px solid var(--gg-ln);border-radius:14px;background:var(--gg-panel)}
#nt-portfolio .gg .gg-prep{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;align-items:center;font-size:12.5px;color:var(--gg-ink2)}
#nt-portfolio .gg .gg-prep .w-bar{position:relative;display:flex;height:22px;border-radius:6px;overflow:hidden;border:1px solid var(--gg-ln2);background:var(--gg-surface)}
#nt-portfolio .gg .gg-prep .w-bar span{display:flex;align-items:center;padding:0 7px;font-size:11px;white-space:nowrap;overflow:hidden;color:var(--gg-ink2)}
#nt-portfolio .gg .gg-prep .w-prep{background:var(--gg-ln)}
#nt-portfolio .gg .gg-prep .w-wait{background:repeating-linear-gradient(135deg,transparent 0 4px,color-mix(in srgb,var(--gg-acc) 32%,transparent) 4px 6px);color:var(--gg-acc-ink)!important;border-left:1px solid var(--gg-acc)}
#nt-portfolio .gg .gg-prep .w-ready{border-left:1px solid var(--gg-ln2)}
#nt-portfolio .gg .gg-prep .w-axis{grid-column:2;display:flex;justify-content:space-between;font-size:11px;color:var(--gg-mut)}
#nt-portfolio .gg .gg-lim{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#nt-portfolio .gg .gg-lim>div{padding:10px;border:1px solid var(--gg-ln2);border-radius:10px;background:var(--gg-surface);font-size:12.5px;line-height:1.35;color:var(--gg-mut)}
#nt-portfolio .gg .gg-lim>div.is-limit{border-color:var(--gg-acc)}
#nt-portfolio .gg .gg-lim b{display:block;margin-bottom:6px;font-weight:500;color:var(--gg-ink)}
#nt-portfolio .gg .gg-lim .w-stk{display:flex;gap:3px;margin-bottom:8px}
#nt-portfolio .gg .gg-lim .w-stk i{width:14px;height:14px;border:1px solid var(--gg-ln2);border-radius:3px}
#nt-portfolio .gg .gg-lim .is-limit .w-stk i{border-color:var(--gg-acc)}
#nt-portfolio .gg .gg-ref{width:100%;border-collapse:collapse;font-size:12.5px;color:var(--gg-ink2)}
#nt-portfolio .gg .gg-ref th{padding:0 0 6px;text-align:left;font:500 10.5px/1.3 var(--mono,monospace);font-family:var(--mono,monospace)!important;letter-spacing:.06em;text-transform:uppercase;color:var(--gg-mut)}
#nt-portfolio .gg .gg-ref th:last-child,#nt-portfolio .gg .gg-ref td:last-child{text-align:right}
#nt-portfolio .gg .gg-ref td{padding:6px 0;border-top:1px solid var(--gg-ln)}
#nt-portfolio .gg .gg-ref tr.w-x td{color:var(--gg-acc-ink)}
#nt-portfolio .gg .gg-ref caption{caption-side:top;text-align:left;padding:0 0 10px;font-size:12.5px;color:var(--gg-ink)}
#nt-portfolio .gg .gg-ref caption .w-tag{margin-left:6px;padding:1px 7px;border:1px solid var(--gg-acc);border-radius:999px;font-size:10.5px;color:var(--gg-acc-ink)}
#nt-portfolio .gg .gg-hand{display:grid;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) 12px minmax(0,1fr);align-items:stretch;font-size:12.5px;line-height:1.35;color:var(--gg-mut)}
#nt-portfolio .gg .gg-hand>div{padding:10px;border:1px solid var(--gg-ln2);border-radius:10px;background:var(--gg-surface)}
#nt-portfolio .gg .gg-hand>div.is-out{border-style:dashed;background:transparent}
#nt-portfolio .gg .gg-hand>i{align-self:center;height:1px;background:var(--gg-ln2)}
#nt-portfolio .gg .gg-hand b{display:block;margin-bottom:6px;font-weight:500;color:var(--gg-ink)}
#nt-portfolio .gg .gg-hand .w-scope{display:block;margin-top:8px;font:500 10px/1.3 var(--mono,monospace);font-family:var(--mono,monospace)!important;letter-spacing:.06em;text-transform:uppercase;color:var(--gg-acc-ink)}
#nt-portfolio .gg .gg-hand .is-out .w-scope{color:var(--gg-mut)}
#nt-portfolio .gg .gg-cx-f{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.7fr);gap:clamp(14px,3cqw,32px);margin:clamp(28px,3.4cqw,36px) 0 0;padding:0}
#nt-portfolio .gg .gg-cx-f p.gg-p{margin:0;font-size:16.5px}
@container gg (max-width:700px){#nt-portfolio .gg .gg-cx{grid-template-columns:minmax(0,1fr)}#nt-portfolio .gg .gg-cx-f{grid-template-columns:minmax(0,1fr);gap:6px}}
@container gg (max-width:400px){#nt-portfolio .gg .gg-hand{grid-template-columns:minmax(0,1fr);gap:6px}#nt-portfolio .gg .gg-hand>i{display:none}#nt-portfolio .gg .gg-lim{grid-template-columns:minmax(0,1fr)}}

#nt-portfolio .gg ul.gg-next{margin:clamp(24px,3cqw,32px) 0 0;padding:0;list-style:none;max-width:64ch}
#nt-portfolio .gg ul.gg-next li{margin:0;padding:14px 0 14px 28px;position:relative;border-top:1px solid var(--gg-ln);font-size:17px;line-height:1.55;color:var(--gg-ink2)}
#nt-portfolio .gg ul.gg-next li::before{content:"?";position:absolute;left:2px;top:14px;width:auto;height:auto;background:none;border-radius:0;font:500 15px/1.55 var(--mono,monospace);font-family:var(--mono,monospace)!important;color:var(--gg-acc-ink)}

@media (prefers-reduced-motion:reduce){#nt-portfolio .gg *{transition:none!important;animation:none!important}}

html[data-theme=dark] #nt-portfolio .cv .cv-doc.gv-case :is(.case-wayfinding,.x-next){border-color:#30302f!important}
html[data-theme=dark] #nt-portfolio .cv .cv-doc.gv-case .case-wayfinding a{color:#aaa9a4!important}
html[data-theme=dark] #nt-portfolio .cv .cv-doc.gv-case .case-wayfinding a:hover{color:#f4f4f1!important}
html[data-theme=dark] #nt-portfolio .cv .cv-doc.gv-case .x-next :is(.x-nx,.x-nx strong,.x-nx-k){color:#f4f4f1!important;border-color:#55554f!important}
html[data-theme=dark] #nt-portfolio .cv .cv-doc.gv-case .x-next :is(.x-chip,.x-n,.x-l){color:#aaa9a4!important;border-color:#55554f!important}
html[data-theme=light] #nt-portfolio .cv .cv-doc.gv-case .c-kick,html[data-theme=light] #nt-portfolio .cv .cv-doc.gv-case .c-kick *{color:#65665f!important}
#nt-portfolio .cv-doc.gv-case .gv-facts>div:last-child,#nt-portfolio body.gv-case .gv-facts>div:last-child{border-bottom:0}
