*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--paper);color:var(--ink);font-family:var(--font);font-weight:var(--fw-body);
  font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--ls-body);
  -webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.wrap{max-width:calc(var(--maxw) + var(--gut)*2);margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:var(--gut);top:-60px;background:var(--ink);color:var(--paper);padding:10px 14px;z-index:50;font-size:var(--fs-small);text-decoration:none}
.skip:focus{top:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.t-display{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);font-weight:var(--fw-display)}
.t-h2{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2);font-weight:var(--fw-heading)}
.t-h3{font-size:var(--fs-h3);line-height:var(--lh-h3);letter-spacing:var(--ls-h3);font-weight:var(--fw-heading)}
.t-lead{font-size:var(--fs-lead);line-height:var(--lh-lead);letter-spacing:var(--ls-lead)}
.t-small{font-size:var(--fs-small);line-height:var(--lh-small);letter-spacing:var(--ls-small)}
.t-caption{font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:var(--ls-caption)}
.t-label{font-size:var(--fs-label);line-height:var(--lh-label);letter-spacing:var(--ls-label);text-transform:uppercase;font-weight:var(--fw-strong)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:var(--r-btn);
  background:var(--acc);color:var(--on-acc);font:var(--fw-strong) var(--fs-body)/1 var(--font);letter-spacing:var(--ls-body);text-decoration:none;border:0;cursor:pointer}
.btn:hover{background:var(--acc-strong)}
.btn.sm{min-height:40px;padding:0 16px;font-size:var(--fs-small)}
.tlink{font-size:var(--fs-small);letter-spacing:var(--ls-small);color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px;text-decoration-thickness:1px}
.tlink:hover{text-decoration-color:var(--ink)}
.tlink .ar{display:inline-block;margin-left:6px}
.ph{display:block;height:.62em;background:var(--paper-2);border-radius:2px}
.ph.inl{display:inline-block;width:9em;height:.8em;vertical-align:-.05em}
section{padding:var(--sec) 0}
.sec-h{margin-bottom:var(--sec-head)}
.sec-h p{color:var(--ink-2);margin-top:14px;max-width:38em}
.top{position:sticky;top:0;z-index:30;background:rgba(244,242,238,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:var(--top-h);gap:16px}
.top .logo img{height:30px;width:auto}
.nav{display:flex;align-items:center;gap:36px}
.nav a.m{font-size:var(--fs-small);letter-spacing:var(--ls-small);text-decoration:none;color:var(--ink-2);font-weight:500}
.nav a.m:hover{color:var(--ink)}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:var(--r-btn);width:40px;height:40px;cursor:pointer;color:var(--ink);align-items:center;justify-content:center}
.menu-btn svg{width:18px;height:18px}
.mnav{display:none}
.hero{position:relative;margin-top:calc((var(--top-h) + 1px)*-1);padding:0;min-height:max(640px,88vh);background:var(--frame);color:var(--on-band);overflow:hidden;isolation:isolate;display:flex;align-items:center}
.hero .stage{position:absolute;inset:0;z-index:0}
.hero-in{position:relative;z-index:2;width:100%;padding-top:calc(var(--top-h) + 48px);padding-bottom:104px}
.hero .copy{max-width:560px}
.hero h1{color:var(--on-band)}
.hero .sub{margin-top:20px;color:var(--on-dark-2)}
.hero .sub span{display:block}
.hero .act{display:flex;align-items:center;gap:28px;margin-top:32px;flex-wrap:wrap}
.hero .btn{box-shadow:inset 0 0 0 1px var(--glow)}
.hero .tlink{color:var(--on-band);text-decoration-color:rgba(237,230,216,.4)}
.hero .tlink:hover{text-decoration-color:var(--on-band)}
.hero :focus-visible{outline-color:var(--glow)}
.fb{position:absolute;inset:0;background:var(--frame)}
.fb .stars{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.fb .pair{position:absolute;left:72%;top:50%;height:44%;aspect-ratio:2.76/2;transform:translate(-50%,-50%)}
.fb .pair span{position:absolute;top:0;height:100%;aspect-ratio:1;border-radius:50%}
.fb .f{left:0;background:radial-gradient(circle at 36% 34%,rgba(237,230,216,.30),rgba(237,230,216,.05) 60%,transparent 71%);box-shadow:inset 0 0 0 1px rgba(237,230,216,.32)}
.fb .d{right:0;mix-blend-mode:screen;border:1.5px dotted rgba(124,157,255,.8);background:radial-gradient(circle,rgba(124,157,255,.06) 0 55%,rgba(124,157,255,.22) 68%,transparent 71%);box-shadow:0 0 48px rgba(124,157,255,.18)}
#gl{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.pause{position:absolute;right:max(var(--gut),calc((100% - var(--maxw))/2));bottom:28px;z-index:3;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(237,230,216,.08);border:1px solid rgba(237,230,216,.32);color:var(--on-band);cursor:pointer}
.pause svg{width:14px;height:14px}
.pause .i-play{display:none}
.pause[aria-pressed="true"] .i-play{display:block}
.pause[aria-pressed="true"] .i-pause{display:none}
.pause:focus-visible{outline-color:var(--glow)}
.top{transition:background-color .25s,border-color .25s}
body:has(.hero) .top:not(.solid){background:transparent;border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
body:has(.hero) .top:not(.solid) .nav a.m{color:var(--on-band)}
body:has(.hero) .top:not(.solid) .btn{box-shadow:inset 0 0 0 1px var(--glow)}
body:has(.hero) .top:not(.solid) .menu-btn{color:var(--on-band);border-color:rgba(237,230,216,.32)}
body:has(.hero) .top:not(.solid) :focus-visible{outline-color:var(--glow)}
.about .grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px;align-items:start}
.about .copy p.t-lead{color:var(--ink)}
.about .since{margin-top:20px;color:var(--muted)}
.vals{margin-top:44px;border-top:1px solid var(--ink)}
.vals h3{font-size:var(--fs-small);letter-spacing:var(--ls-small);font-weight:var(--fw-strong);padding:14px 0 6px}
.vals dl{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:24px}
.vals dt,.vals dd{padding:12px 0;border-bottom:1px solid var(--line)}
.vals dt{font-size:var(--fs-small);line-height:var(--lh-small);letter-spacing:var(--ls-small);font-weight:var(--fw-strong);color:var(--ink)}
.vals dd{font-size:var(--fs-small);line-height:var(--lh-small);letter-spacing:var(--ls-small);color:var(--ink-2)}
.about .neutral{margin-top:24px;color:var(--ink-2)}
.dg{width:100%;height:auto}
.dg .hl{fill:none;stroke:var(--ink);stroke-width:var(--stroke)}
.dg .hl-f{fill:none;stroke:var(--ink);stroke-width:var(--stroke-faint);opacity:.28}
.dg .lens{fill:var(--acc);opacity:.14}
.dg .lens-s{fill:none;stroke:var(--acc);stroke-width:var(--stroke-strong)}
.dg .dot{fill:var(--acc)}
.dg .tk{fill:var(--ink)}
.dg text{font-family:var(--font);fill:var(--ink)}
.dg .tx-w{font-size:15px;font-weight:600;letter-spacing:-.01em}
.dg .tx-m{font-size:13px;font-weight:500;letter-spacing:.01em;fill:var(--ink-2)}
.only-m{display:none}
.dgw{position:relative}
.dgw .lab{position:absolute;white-space:nowrap;line-height:1;transform:translateY(-82%)}
.dgw .lab.c{transform:translate(-50%,-82%)}
.dgw .lab.w{font-size:15px;font-weight:600;letter-spacing:-.01em}
.dgw .lab.s{font-size:13px;font-weight:500;letter-spacing:.01em}
.about .dgw .lab.s{color:var(--ink-2)}
.prt .dgw .lab{color:var(--on-band)}
.prt .dgw .lab.s{color:var(--on-band-muted)}
.prt .dgw .lab.bd{background:var(--band);padding:0 10px;transform:translateY(-50%)}
.focus g[data-k],.focus .lab[data-k]{opacity:.32;transition:opacity .2s}
.focus g[data-k].on,.focus .lab[data-k].on{opacity:1}
.prt .dgw .lab.s.on{color:var(--on-band)}
.ins .lead-card{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:center;text-decoration:none;color:inherit}
.ins .thumb{aspect-ratio:3/2;background:var(--paper-2);border-radius:6px;overflow:hidden}
.ins .thumb svg{width:100%;height:100%}
.ins .cat{color:var(--muted);font-size:var(--fs-caption);letter-spacing:var(--ls-caption);font-weight:var(--fw-strong)}
.ins h3{margin-top:10px}
.ins .sum{margin-top:14px;max-width:440px;color:var(--ink-2)}
.ins .sum .ph:last-child{width:72%}
.ins .date{display:block;margin-top:18px;font-size:13px;color:var(--muted)}
.ins .more{margin-top:44px;padding-top:20px;border-top:1px solid var(--line)}
.band{background:var(--band);color:var(--on-band)}
.band .sec-h p{color:var(--on-band-muted)}
.band :focus-visible{outline-color:var(--glow)}
.prt .grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:center}
.pd{width:100%;height:auto}
.pd text{font-family:var(--font);fill:var(--on-band)}
.pd .w{font-size:15px;font-weight:600;letter-spacing:-.01em}
.pd .s{font-size:13px;letter-spacing:.01em;fill:var(--on-band-muted)}
.pd .s.m{font-size:14px}   
.pd .ln{fill:none;stroke:var(--on-band);stroke-width:var(--stroke)}
.pd .lf{fill:none;stroke:var(--on-band);stroke-width:var(--stroke-faint);opacity:.35}
.pd .nd{fill:var(--band);stroke:var(--on-band);stroke-width:var(--stroke)}
.pd .gl{fill:none;stroke:var(--glow);stroke-width:var(--stroke-strong)}
.pd .gfill{fill:var(--glow);opacity:.55}
.pd .mask{fill:var(--band)}
.pd g[data-k]{transition:opacity .2s}
.pd g.on .ln,.pd g.on .lf{stroke:var(--on-band);opacity:1}
.pd g.on .s{fill:var(--on-band)}
.cats{list-style:none}
.cats li{padding:22px 0;border-top:1px solid var(--band-line);display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:16px}
.cats li:last-child{border-bottom:1px solid var(--band-line)}
.cats .gly{grid-row:span 3;padding-top:6px}
.cats .gly svg{width:24px;height:24px}
.cats .gly .g{fill:none;stroke:var(--on-band);stroke-width:1.5}
.cats h3{font-size:var(--fs-lead);line-height:1.45;letter-spacing:var(--ls-lead);font-weight:var(--fw-heading)}
.cats .en{color:var(--on-band-muted);margin-top:2px}
.cats p{margin-top:8px;font-size:var(--fs-small);line-height:var(--lh-small);letter-spacing:var(--ls-small);color:var(--on-band-muted)}
.ben-grid{display:grid;grid-template-columns:460px minmax(0,1fr);align-items:start}
.ben-fig svg{width:460px;height:400px;max-width:none}
.ben-fig .hl{fill:none;stroke:var(--ink);stroke-width:var(--stroke)}
.ben-fig .lens{fill:var(--acc);opacity:.12}
.ben-fig .lens-s{fill:none;stroke:var(--acc);stroke-width:var(--stroke-strong)}
.ben-fig .dot{fill:var(--acc)}
.ben-fig .ld{fill:none;stroke:var(--ink);stroke-width:var(--stroke-faint);opacity:.45}
.ben-list{list-style:none;margin-top:40px}
.ben-list li{display:flex;align-items:center;height:80px;gap:20px;border-bottom:1px solid var(--line)}
.ben-list li:first-child{border-top:1px solid var(--line)}
.ben-list .nm{flex:none;width:96px;padding-left:12px;font-size:var(--fs-h3);line-height:var(--lh-h3);letter-spacing:var(--ls-h3);font-weight:var(--fw-heading)}
.ben-list .ds{color:var(--ink);font-size:var(--fs-body);line-height:1.6;letter-spacing:var(--ls-body)}
.join .grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:72px;align-items:start}
.join .sec-h p span{display:block}
form .f{margin-top:22px}
form label.lb{display:block;font-size:var(--fs-small);letter-spacing:var(--ls-small);font-weight:var(--fw-strong);margin-bottom:8px}
form input[type=text],form input[type=email],form textarea{width:100%;font:var(--fw-body) var(--fs-body)/1.5 var(--font);letter-spacing:var(--ls-body);color:var(--ink);
  background:#FFFFFF;border:1px solid var(--field-line);border-radius:var(--r-btn);padding:13px 14px}
form input::placeholder,form textarea::placeholder{color:var(--muted)}
form textarea{min-height:148px;resize:vertical}
form input:focus,form textarea:focus{outline:2px solid var(--acc);outline-offset:0;border-color:transparent}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.agree{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.agree .ck{display:flex;gap:10px;align-items:flex-start;font-size:var(--fs-small);line-height:var(--lh-small);letter-spacing:var(--ls-small)}
.agree input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--acc);flex:none}
.agree details{margin-top:10px;font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:var(--ls-caption);color:var(--ink-2)}
.agree summary{cursor:pointer;color:var(--muted);display:inline-block}
.agree .dt{margin-top:10px;padding:14px 16px;background:var(--paper-2);border-radius:var(--r-btn)}
.agree .dt ul{margin:8px 0 8px 18px}
.agree .pp{display:inline-block;margin-top:10px}
form .sub{margin-top:28px}
.still{position:relative;aspect-ratio:4/5;border-radius:var(--r-frame);overflow:hidden;background:var(--frame)}
.still svg{position:absolute;inset:0;width:100%;height:100%}
footer{background:var(--band);color:var(--on-band);padding:64px 0 56px}
footer .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px 48px;align-items:end}
footer img{height:30px;width:auto}
footer .kw{margin-top:22px;color:var(--on-band)}
footer .ct{margin-top:6px;color:var(--on-band-muted);display:flex;align-items:center;gap:10px}
footer .ct .ph{background:rgba(237,230,216,.14);width:11em;height:.8em}
footer .rt{text-align:right;color:var(--on-band-muted)}
footer .rt a{color:var(--on-band);text-decoration:underline;text-decoration-color:var(--band-line);text-underline-offset:5px}
footer .rt p+p{margin-top:8px}
@media (max-width:1023px){
  .hero{min-height:max(760px,92vh);align-items:flex-start}
  .hero-in{padding-top:calc(var(--top-h) + 56px)}
  .fb .pair{left:50%;top:auto;bottom:9%;height:auto;width:min(70%,460px);transform:translateX(-50%)}
  .about .grid,.prt .grid,.join .grid{gap:48px}
  .ins .lead-card{gap:32px}
  .ben-grid{grid-template-columns:minmax(0,1fr)}
  .ben-fig{display:flex;justify-content:center}
  .ben-fig svg{width:min(100%,320px);height:auto}
  .ben-fig .ld{display:none}
  .ben-list{margin-top:24px}
  .ben-list li{height:auto;min-height:0;display:block;padding:16px 0}
  .ben-list .nm{display:block;width:auto;padding:0;margin-bottom:4px}
}
@media (max-width:860px){
  .nav a.m{display:none}
  .menu-btn{display:inline-flex}
  .mnav{border-top:1px solid var(--line)}
  .mnav.open{display:block}
  body:has(.hero) .top:not(.solid) .mnav{background:var(--band);border-top-color:var(--band-line)}
  body:has(.hero) .top:not(.solid) .mnav a{color:var(--on-band);border-bottom-color:var(--band-line)}
  .mnav a{display:block;padding:14px var(--gut);border-bottom:1px solid var(--line);text-decoration:none;font-size:var(--fs-body)}
  .about .grid,.prt .grid,.join .grid{grid-template-columns:minmax(0,1fr)}
  .about .fig{order:-1}
  .ins .lead-card{grid-template-columns:minmax(0,1fr)}
  .join .still{aspect-ratio:3/1;order:-1}
  .join .grid > .still{order:-1}
}
@media (max-width:640px){
  .top .logo img{height:24px}
  .nav{gap:10px}
  .hero{min-height:max(680px,96svh)}
  .hero-in{padding-top:calc(var(--top-h) + 36px)}
  .hero .sub span{display:inline}
  .fb .pair{width:84%;bottom:8%}
  .pause{bottom:16px}
  .only-d,.dgw{display:none}
  .only-m{display:block}
  .vals{margin-top:32px}
  .two{grid-template-columns:minmax(0,1fr);gap:0}
  .two .f + .f{margin-top:22px}
  footer .wrap{grid-template-columns:minmax(0,1fr)}
  footer .rt{text-align:left}
}
.mo .mo-c{fill:none;stroke:var(--ink);stroke-width:1.25}
.mo .mo-aux{fill:none;stroke:var(--ink);stroke-width:1;opacity:.24}
.mo .mo-aux2{opacity:.32}
.mo .mo-lf{fill:var(--acc);opacity:.14}
.mo .mo-ls{fill:none;stroke:var(--acc);stroke-width:1.5}
.chip .mo *{vector-effect:non-scaling-stroke}
.ins a{text-decoration:none;color:inherit}
.ins-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:start}
.ins .lead{display:block}
.ins .lead .thumb{margin-bottom:24px}
.ins .lead .sum{max-width:none}
.ins-rows,.ins-list{list-style:none;border-top:1px solid var(--line)}
.ins-rows li,.ins-list li{border-bottom:1px solid var(--line)}
.ins .row{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:20px;align-items:start;padding:24px 0}
.ins .chip{display:block;width:72px;height:72px;background:var(--paper-2);border-radius:6px;overflow:hidden}
.ins .chip svg{width:100%;height:100%}
.ins .row .rtx{display:block;min-width:0}
.ins .row .cat{display:block}
.ins .row .ttl{display:block;margin-top:6px;font-size:var(--fs-lead);line-height:1.45;letter-spacing:var(--ls-lead);font-weight:var(--fw-heading)}
.ins .row .sum{display:block;margin-top:8px;max-width:none;font-size:var(--fs-small);line-height:var(--lh-small);letter-spacing:var(--ls-small);color:var(--ink-2)}
.ins .row .date{display:block;margin-top:10px;font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:var(--ls-caption);color:var(--muted)}
.ins .lead:hover h3,.ins .row:hover .ttl{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.sub-page{padding:72px 0 var(--sec)}
.sub-page .page-h{margin-bottom:var(--sec-head)}
.sub-page .page-h p{color:var(--ink-2);margin-top:14px;max-width:38em}
.ins-page .ins-list{max-width:920px}
.ins-page .row{padding:28px 0}
.ins-page .row .ttl{font-size:var(--fs-h3);line-height:var(--lh-h3);letter-spacing:var(--ls-h3)}
.ins-page .row .sum{font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--ls-body)}
.art-w{max-width:720px;margin:0 auto}
.art-band{background:var(--paper-2);border-radius:6px;overflow:hidden}
.art-band svg{width:100%;height:auto;aspect-ratio:3/1}
.art-band svg.only-m{aspect-ratio:2/1}
.art-photo img{display:block;width:100%;height:auto;border-radius:6px;background:var(--paper-2)}
.art-photo figcaption{margin-top:10px;font-size:13px;line-height:var(--lh-caption);letter-spacing:var(--ls-caption);color:var(--muted)}
.art-photo figcaption a{color:var(--muted);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.art-photo figcaption a:hover{text-decoration-color:var(--muted)}
.art-meta{margin-top:36px;display:flex;flex-wrap:wrap;align-items:center;row-gap:4px;font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:var(--ls-caption);color:var(--muted)}
.art-meta .cat{font-weight:var(--fw-strong)}
.art-meta .dt{padding-left:12px;margin-left:12px;border-left:1px solid var(--line)}
.art-meta.pv{margin-top:12px}
.art-meta.pv + .prose{margin-top:32px}
.type-chip{display:inline-block;padding:1px 10px;border:1px solid var(--field-line);border-radius:999px;font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:var(--ls-caption);font-weight:var(--fw-strong);color:var(--ink-2)}
.acts a{text-decoration:none;color:inherit}
.tl{list-style:none;max-width:920px}
.tl li a{display:grid;grid-template-columns:120px minmax(0,1fr)}
.tl-d{padding:26px 24px 0 0;font-size:var(--fs-small);line-height:var(--lh-small);letter-spacing:var(--ls-small);color:var(--muted);font-variant-numeric:tabular-nums}
.tl-b{position:relative;display:block;padding:24px 0 32px 32px;border-left:1px solid var(--line)}
.tl-b::before{content:"";position:absolute;left:-5px;top:31px;width:9px;height:9px;border-radius:50%;background:var(--paper);border:1.5px solid var(--ink)}
.tl-h{margin-top:10px;font-size:var(--fs-lead);line-height:1.45;letter-spacing:var(--ls-lead);font-weight:var(--fw-heading)}
.tl-s{display:block;margin-top:8px;font-size:var(--fs-small);line-height:var(--lh-small);letter-spacing:var(--ls-small);color:var(--ink-2);max-width:40em}
.tl li a:hover .tl-h{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.acts .more{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.act-page a{text-decoration:none;color:inherit}
.act-list{list-style:none;max-width:920px;border-top:1px solid var(--line)}
.act-list li{border-bottom:1px solid var(--line)}
.arow{display:grid;grid-template-columns:168px minmax(0,1fr);column-gap:28px;align-items:start;padding:28px 0}
.athumb{display:block;aspect-ratio:3/2;background:var(--paper-2);border-radius:6px;overflow:hidden}
.athumb img,.athumb svg{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.atx{display:block;min-width:0}
.ameta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:var(--fs-small);line-height:var(--lh-small);letter-spacing:var(--ls-small);color:var(--muted)}
.arow .ttl{margin-top:10px;font-size:var(--fs-h3);line-height:var(--lh-h3);letter-spacing:var(--ls-h3);font-weight:var(--fw-heading)}
.arow .sum{display:block;margin-top:8px;color:var(--ink-2)}
.arow:hover .ttl{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.art-meta .type-chip + .dt{border-left:0;margin-left:2px}
.art-photo.portrait{max-width:480px}
.art-photo.portrait img{aspect-ratio:auto;object-fit:initial}
.art-video .yt{position:relative;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:var(--frame)}
.art-video .yt-play{display:block;width:100%;height:100%;padding:0;border:0;cursor:pointer;background:none;position:relative}
.art-video .yt-play img{width:100%;height:100%;object-fit:cover}
.art-video .yt-icon{position:absolute;left:50%;top:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(14,16,22,.72);color:var(--on-band);border:1px solid rgba(237,230,216,.4)}
.art-video .yt-icon svg{width:26px;height:26px}
.art-video .yt-play:hover .yt-icon{background:var(--band)}
.art-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.art-photo.wide img{aspect-ratio:auto;object-fit:initial}
.art-video figcaption,.art-photo.portrait figcaption,.art-photo.wide figcaption{margin-top:10px;font-size:13px;line-height:var(--lh-caption);letter-spacing:var(--ls-caption);color:var(--muted)}
.ins .thumb img,.ins .chip img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.hub .page-h{margin-bottom:32px}
.tabs{display:flex;gap:32px;border-bottom:1px solid var(--line)}
.tabs a{padding:12px 0;margin-bottom:-1px;border-bottom:2px solid transparent;text-decoration:none;color:var(--ink-2);font-size:var(--fs-body);line-height:1.5;font-weight:500}
.tabs a:hover{color:var(--ink)}
.tabs a[aria-current="page"]{color:var(--ink);font-weight:var(--fw-heading);border-bottom-color:var(--ink)}
.vband{position:relative;height:280px;margin-top:40px;background:var(--frame);overflow:hidden}
.vband .vmedia,.vband video,.vband img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;max-width:none}
.vband .pause{bottom:20px}
.contact-band{margin-top:0}
.hub a{text-decoration:none;color:inherit}
.hub-lead{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:center;margin-top:56px}
.cthumb{display:block;aspect-ratio:3/2;background:var(--paper-2);border-radius:6px;overflow:hidden}
.cthumb svg,.cthumb img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.hub .cat{display:block;font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:var(--ls-caption);font-weight:var(--fw-strong);color:var(--muted)}
.hub .ttl{display:block;margin-top:8px;font-size:var(--fs-lead);line-height:1.45;letter-spacing:var(--ls-lead);font-weight:var(--fw-heading)}
.hub-lead .ttl{margin-top:10px;font-size:var(--fs-h3);line-height:var(--lh-h3);letter-spacing:var(--ls-h3)}
.hub .sum{display:block;margin-top:8px;font-size:var(--fs-small);line-height:var(--lh-small);letter-spacing:var(--ls-small);color:var(--ink-2)}
.hub-lead .sum{font-size:var(--fs-body);line-height:var(--lh-body);letter-spacing:var(--ls-body)}
.hub .date{display:block;margin-top:12px;font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:var(--ls-caption);color:var(--muted)}
.cards{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px;margin-top:56px;padding-top:56px;border-top:1px solid var(--line)}
.cards li{min-width:0}
.card{display:block}
.card .cthumb{margin-bottom:16px}
.card:hover .ttl,.hub-lead:hover .ttl{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
:root{--m-ease:cubic-bezier(.2,.7,.2,1)}
@keyframes mUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes mRise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes mRight{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes mFade{from{opacity:0}}
@keyframes mGrow92{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
@keyframes mGrow80{from{opacity:0;transform:scale(.8)}}
@keyframes mGrow96{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@keyframes mSettle{from{opacity:0;transform:scale(1.03)}to{opacity:1;transform:none}}
@keyframes mZoom106{from{transform:scale(1.06)}to{transform:none}}
@keyframes mZoom104{from{transform:scale(1.04)}to{transform:none}}
@keyframes mDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.m-now,.m-now *{animation:none!important}
.m-on [data-m="up"]:not(.in),.m-on [data-m="right"]:not(.in),.m-on [data-m="grow"]:not(.in),.m-on [data-m="settle"]:not(.in),.m-on [data-m="rise"]:not(.in),.m-on [data-m="card"]:not(.in){opacity:0}
.m-on [data-m="up"].in{animation:mUp .7s var(--m-ease) backwards;animation-delay:var(--d,0ms)}
.m-on [data-m="right"].in{animation:mRight .7s var(--m-ease) backwards;animation-delay:var(--d,0ms)}
.m-on [data-m="grow"].in{animation:mGrow96 .8s var(--m-ease) backwards}
.m-on [data-m="settle"].in{animation:mSettle .8s var(--m-ease) backwards}
.m-on [data-m="rise"].in{animation:mRise .8s var(--m-ease) backwards;animation-delay:120ms}
.m-on [data-m="card"].in{animation:mUp .7s var(--m-ease) backwards;animation-delay:var(--d,0ms)}
.m-on [data-m="card"].in .cthumb > *{animation:mZoom104 .9s var(--m-ease) backwards;animation-delay:var(--d,0ms)}
.m-on [data-m="lead"]:not(.in) > :not(.thumb):not(.cthumb){opacity:0}
.m-on [data-m="lead"].in > :not(.thumb):not(.cthumb){animation:mUp .7s var(--m-ease) backwards;animation-delay:120ms}
.m-on [data-m="lead"].in .thumb > *,.m-on [data-m="lead"].in .cthumb > *{animation:mZoom106 1s var(--m-ease) backwards}
.ins-rows li:nth-child(2),.ct-cats li:nth-child(2),.ben-list li:nth-child(2){--d:80ms}
.ins-rows li:nth-child(3),.ct-cats li:nth-child(3),.ben-list li:nth-child(3){--d:160ms}
.ben-list li:nth-child(4){--d:240ms}
.ben-list li{--d0:300ms}
.m-on .ben-list li[data-m="up"].in{animation-delay:calc(var(--d0) + var(--d,0ms))}
.cards li:nth-child(3n+2){--d:80ms}
.cards li:nth-child(3n){--d:160ms}
.news{overflow-x:clip}
.m-on .hero-in .copy > *{animation:mUp .8s var(--m-ease) backwards}
.m-on .hero-in .copy > :nth-child(2){animation-delay:120ms}
.m-on .hero-in .copy > :nth-child(3){animation-delay:240ms}
.m-line{stroke-dasharray:1}
.m-on [data-m="about"]:not(.in) .m-line,.m-on [data-m="prt"]:not(.in) .m-line{stroke-dashoffset:1}
.m-on [data-m="about"].in .m-line{animation:mDraw .9s var(--m-ease) backwards;animation-delay:var(--d,0ms)}
.m-grow,[data-m="prt"] .gfill,[data-m="prt"] .gl{transform-box:fill-box;transform-origin:center}
.m-on [data-m="about"]:not(.in) :is(.m-grow,.lens,.lens-s,.dot,.m-ticks,.lab,.tx-w,.tk){opacity:0}
.m-on [data-m="about"].in .lab.w,.m-on [data-m="about"].in .tx-w{animation:mFade .6s var(--m-ease) backwards;animation-delay:200ms}
.m-on [data-m="about"].in .m-grow{animation:mGrow92 .8s var(--m-ease) backwards;animation-delay:700ms}
.m-on [data-m="about"].in .dot{animation:mFade .5s var(--m-ease) backwards;animation-delay:900ms}
.m-on [data-m="about"].in .lens,.m-on [data-m="about"].in .lens-s{animation:mFade .8s var(--m-ease) backwards;animation-delay:1100ms}
.m-on [data-m="about"].in .m-ticks,.m-on [data-m="about"].in .tk{animation:mFade .6s var(--m-ease) backwards;animation-delay:1400ms}
.m-on [data-m="about"].in .lab.s{animation:mFade .6s var(--m-ease) backwards;animation-delay:1400ms}
.m-on [data-m="about"].in .lab.s:nth-child(5){animation-delay:1480ms}
.m-on [data-m="about"].in .lab.s:nth-child(6){animation-delay:1560ms}
.m-on [data-m="about"].in .lab.s:nth-child(7){animation-delay:1640ms}
.m-on [data-m="prt"]:not(.in) :is(.nd,.gfill,.gl,g[data-k],.lab,.w,path[d^="M226 214"],path[d^="M164 179"]){opacity:0}
.m-on [data-m="prt"].in .m-line{animation:mDraw .9s var(--m-ease) backwards}
.m-on [data-m="prt"].in :is(.nd,.lab.w,text.w,path[d^="M226 214"],path[d^="M164 179"]){animation:mFade .6s var(--m-ease) backwards;animation-delay:400ms}
.m-on [data-m="prt"].in :is(.gfill,.gl){animation:mGrow80 .7s var(--m-ease) backwards;animation-delay:900ms}
.m-on [data-m="prt"].in [data-k="infra"]{animation:mFade .7s var(--m-ease) backwards;animation-delay:1150ms}
.m-on [data-m="prt"].in [data-k="commerce"]{animation:mFade .7s var(--m-ease) backwards;animation-delay:1240ms}
.m-on [data-m="prt"].in [data-k="trust"]{animation:mFade .7s var(--m-ease) backwards;animation-delay:1330ms}
#cats li[data-k="commerce"]{--d:90ms}
#cats li[data-k="trust"]{--d:180ms}
@media (min-width:861px){ #cats li{--d0:1150ms} .m-on #cats li[data-m="up"].in{animation-delay:calc(var(--d0) + var(--d,0ms))} }
.ben{overflow-x:clip}
.ben-fig{view-timeline-name:--ben}
@keyframes benL{from{transform:translateX(-72px)}to{transform:none}}
@keyframes benR{from{transform:translateX(72px)}to{transform:none}}
@supports (animation-timeline: view()){
  .m-on [data-m="ben"] .ben-l{animation:benL linear both;animation-timeline:--ben;animation-range:entry 0% cover 50%}
  .m-on [data-m="ben"] .ben-r{animation:benR linear both;animation-timeline:--ben;animation-range:entry 0% cover 50%}
  .m-on [data-m="ben"] :is(.lens,.lens-s,.dot,.ld){animation:mFade linear both;animation-timeline:--ben;animation-range:cover 38% cover 52%}
  .ben-grid{timeline-scope:--ben}
  .m-on .ben .ben-grid .ben-list li[data-m]{animation:mUp linear both;animation-timeline:--ben;animation-range:cover 48% cover 58%}
  .m-on .ben .ben-grid .ben-list li[data-m]:nth-child(2){animation-range:cover 50% cover 60%}
  .m-on .ben .ben-grid .ben-list li[data-m]:nth-child(3){animation-range:cover 52% cover 62%}
  .m-on .ben .ben-grid .ben-list li[data-m]:nth-child(4){animation-range:cover 54% cover 64%}
}
@supports not (animation-timeline: view()){
  .m-on [data-m="ben"]:not(.in) .ben-l{transform:translateX(-72px)}
  .m-on [data-m="ben"]:not(.in) .ben-r{transform:translateX(72px)}
  .m-on [data-m="ben"]:not(.in) :is(.lens,.lens-s,.dot,.ld){opacity:0}
  .m-on [data-m="ben"].in .ben-l{animation:benL .9s var(--m-ease) backwards}
  .m-on [data-m="ben"].in .ben-r{animation:benR .9s var(--m-ease) backwards}
  .m-on [data-m="ben"].in :is(.lens,.lens-s,.dot,.ld){animation:mFade .6s var(--m-ease) backwards;animation-delay:800ms}
  .ben-list li{--d0:900ms}
}
.pause svg,.still .pause svg{position:absolute;inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);margin:0}
.still .pause .i-play{transform:translate(calc(-50% + .5px),-50%)}
.lang-sw{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-caption);line-height:1;letter-spacing:.04em;font-weight:500;color:var(--ink-2)}
.lang-sw a{text-decoration:none;color:var(--ink-2);padding:8px 2px}
.lang-sw a:hover{color:var(--ink)}
.lang-sw a[aria-current]{color:var(--ink);font-weight:700}
body:has(.hero) .top:not(.solid) .lang-sw,body:has(.hero) .top:not(.solid) .lang-sw a{color:var(--on-band)}
html:lang(en){--ls-display:-.012em;--ls-h2:-.01em;--ls-h3:-.006em;--ls-lead:-.002em;--ls-body:0em;--ls-small:0em;--ls-caption:.004em;--ls-label:.06em}
html:lang(en) body{word-break:normal}
.jn-slogan{max-width:12em}
.art-lead{margin-top:16px;color:var(--ink-2)}
.still .vmedia,.still video,.still > .vmedia img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none}
.still .pause{right:14px;bottom:14px;width:32px;height:32px}
.still .pause svg{width:12px;height:12px}
.join .jn{align-items:center}
.jn-copy .t-lead{margin-top:16px;color:var(--ink-2);max-width:30em}
.jn-copy .t-lead span{display:block}
.jn-copy .btn{margin-top:32px}
.join .jn .still{width:100%;max-width:420px;justify-self:center}
:root{--surface:#FFFFFF}
.contact{padding-top:96px;padding-bottom:120px}
.ct-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);column-gap:112px;align-items:start}
.ct-l{grid-column:1;grid-row:1}
.ct-cats{grid-column:1;grid-row:2}
.ct-r{grid-column:2;grid-row:1 / span 2}
.contact .eyebrow{font-size:12px;line-height:1.4;letter-spacing:.24em;font-weight:700;color:var(--acc);text-transform:uppercase}
.contact h1{margin-top:22px;font-size:56px;line-height:1.16;letter-spacing:-.032em;font-weight:800;color:var(--ink)}
.ct-lead{margin-top:30px;font-size:19px;line-height:1.75;letter-spacing:-.008em;color:var(--ink-2);max-width:32em}
.ct-cats{margin-top:56px;border-top:1px solid var(--line)}
.ct-cats ul{list-style:none}
.ct-cats li{padding:28px 0;border-bottom:1px solid var(--line)}
.ct-cats h3{font-size:18px;line-height:1.45;letter-spacing:-.01em;font-weight:700;color:var(--ink)}
.ct-cats p{margin-top:8px;font-size:16px;line-height:1.7;letter-spacing:-.004em;color:var(--ink-2)}
.contact{overflow-x:clip}
.ct-r{position:relative;isolation:isolate}
.ct-r::before{content:"";position:absolute;inset:-64px -56px;border-radius:64px;background:radial-gradient(closest-side,rgba(18,21,28,.06),rgba(18,21,28,0));z-index:-1;pointer-events:none}
.ct-card{background:var(--surface);border:1px solid rgba(18,21,28,.07);border-radius:24px;padding:52px 52px 48px;box-shadow:0 40px 90px -30px rgba(18,21,28,.22),0 2px 8px rgba(18,21,28,.04)}
.ct-card h2{font-size:26px;line-height:1.35;letter-spacing:-.02em;font-weight:700;color:var(--ink)}
.ct-guide{margin-top:16px;font-size:17px;line-height:1.75;letter-spacing:-.006em;color:var(--ink-2)}
.ct-mail{display:inline-flex;align-items:center;gap:12px;margin-top:36px;padding:20px 34px;border-radius:999px;font-size:17px;font-weight:600;width:auto}
.ct-mail .ar{display:inline-block;transition:transform .2s}
.ct-mail:hover .ar{transform:translateX(3px)}
.ct-note{margin-top:24px;font-size:15px;line-height:1.7;letter-spacing:-.004em;color:var(--ink-2)}
.ct-note button.tlink{background:none;border:0;padding:0;cursor:pointer;font:inherit;color:var(--ink)}
.ct-pp{margin-top:32px;padding:0 4px;font-size:14px;line-height:1.65;color:var(--muted)}
.ct-pp .tlink{margin-left:4px}
footer .logos{display:flex;align-items:center;gap:16px}
footer img.kwba{height:34px}
footer .logos .vr{width:1px;height:30px;background:var(--on-band);opacity:.32}
footer .info{margin-top:24px;color:var(--on-band-muted)}
footer .info div{display:flex;gap:14px}
footer .info div + div{margin-top:4px}
footer .info dt{flex:none;width:3.6em;color:var(--on-band);font-weight:var(--fw-strong)}
footer .info dd{min-width:0}
footer .info a{color:var(--on-band-muted);text-decoration:underline;text-decoration-color:var(--band-line);text-underline-offset:5px}
footer .info a:hover{text-decoration-color:var(--on-band-muted)}
.art h1{margin-top:12px}
.prose{margin-top:36px}
.prose > * + *{margin-top:20px}
.prose .basis{font-size:var(--fs-small);line-height:var(--lh-small);letter-spacing:var(--ls-small);color:var(--muted);padding-bottom:20px;border-bottom:1px solid var(--line)}
.prose .basis em{font-style:normal}
.prose h2{margin-top:56px;font-size:var(--fs-h3);line-height:var(--lh-h3);letter-spacing:var(--ls-h3);font-weight:var(--fw-heading)}
.prose h2 + *{margin-top:14px}
.prose h3{margin-top:40px;font-size:var(--fs-lead);line-height:1.5;letter-spacing:var(--ls-lead);font-weight:var(--fw-heading)}
.prose strong{font-weight:700}
.prose ol,.prose ul{padding-left:1.4em}
.prose li + li{margin-top:8px}
.prose li::marker{color:var(--muted)}
.prose .tbl{overflow-x:auto;margin-top:28px}
.prose table{width:100%;border-collapse:collapse;font-size:var(--fs-small);line-height:var(--lh-small);letter-spacing:var(--ls-small)}
.prose th,.prose td{text-align:left;vertical-align:top;padding:12px 20px 12px 0;border-bottom:1px solid var(--line)}
.prose th:last-child,.prose td:last-child{padding-right:0}
.prose thead th{font-weight:var(--fw-strong);border-bottom:1px solid var(--ink)}
.refs{margin-top:72px;border-top:1px solid var(--ink)}
.refs h2{font-size:var(--fs-small);line-height:var(--lh-small);letter-spacing:var(--ls-small);font-weight:var(--fw-strong);padding:14px 0 6px}
.refs ul{list-style:none}
.refs li{padding:12px 0;border-bottom:1px solid var(--line);font-size:var(--fs-small);line-height:var(--lh-small);letter-spacing:var(--ls-small);color:var(--ink-2)}
.refs a{color:var(--ink-2);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px;overflow-wrap:anywhere;word-break:break-all}
.refs a:hover{text-decoration-color:var(--ink)}
.back{margin-top:56px}
.tlink .al{display:inline-block;margin-right:6px}
@media (max-width:1023px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .hub-lead{grid-template-columns:minmax(0,1fr);gap:20px}
  .ct-grid{grid-template-columns:minmax(0,1fr)}
  .ct-l,.ct-cats,.ct-r{grid-column:1}
  .ct-l{grid-row:1}
  .ct-r{grid-row:2}
  .ct-cats{grid-row:3}
  .ct-r{margin-top:48px}
  .ct-cats{margin-top:56px}
  .contact{padding-top:56px;padding-bottom:80px}
  .contact h1{font-size:36px;line-height:1.22}
  .ct-lead{font-size:17px}
  .ct-r::before{inset:-32px -16px}
  .join .jn .still{max-width:none;justify-self:stretch}
  .ins-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .ins-grid + .more{border-top:0;padding-top:0;margin-top:32px}
}
@media (max-width:640px){
  .sub-page{padding-top:44px}
  .ct-card{padding:32px 24px 28px}
  .vband{height:200px;margin-top:28px}
  .tabs{gap:24px}
  .cards{grid-template-columns:minmax(0,1fr);gap:40px;margin-top:40px;padding-top:40px}
  .hub-lead{margin-top:40px}
  .tl li a{grid-template-columns:minmax(0,1fr);border-left:1px solid var(--line);padding-left:24px;position:relative}
  .tl li a::before{content:"";position:absolute;left:-5px;top:26px;width:9px;height:9px;border-radius:50%;background:var(--paper);border:1.5px solid var(--ink)}
  .tl-d{padding:20px 0 0}
  .tl-b{border-left:0;padding:8px 0 24px}
  .tl-b::before{display:none}
  .arow{grid-template-columns:96px minmax(0,1fr);column-gap:16px;padding:22px 0}
  .arow .ttl{font-size:var(--fs-lead);line-height:1.45;letter-spacing:var(--ls-lead);margin-top:8px}
  .arow .sum{font-size:var(--fs-small);line-height:var(--lh-small);letter-spacing:var(--ls-small)}
  .ct-card h2{font-size:22px}
  .ct-mail{padding:16px 24px;font-size:16px;max-width:100%}
  .ct-cats{margin-top:40px}
  .ct-cats li{padding:22px 0}
  .ins .row{grid-template-columns:56px minmax(0,1fr);column-gap:16px;padding:20px 0}
  .ins .chip{width:56px;height:56px}
  .ins-page .row{grid-template-columns:48px minmax(0,1fr);column-gap:14px}
  .ins-page .chip{width:48px;height:48px}
  .ins-page .row .sum{font-size:var(--fs-small);line-height:var(--lh-small);letter-spacing:var(--ls-small)}
  .art-meta{margin-top:28px}
  .prose h2{margin-top:44px}
  .refs{margin-top:56px}
}
html:lang(en) footer .info dt{width:auto;min-width:6.4em}
