/* bng.eu */
:root {

  --bng-blue: #4D9FFF;
  --bng-teal: #2DD4BF;
  --bng-pink: #FF6FB5;
  --bng-navy: #070C16;
  --bng-ink: #E8EEF6;
  --bng-ink-light: #25324B;
  --bng-inset: #0B1322;
  --bng-chrome: #FFFFFF 0%, #E6EDF5 18%, #AAB9CC 42%, #7E8FA6 55%,
                #93A5BC 62%, #C9D5E3 80%, #8FA0B8 100%;

  --k-black: #FFFFFF;
  --k-dark:  #E6EDF5;
  --k-light: #C9D5E3;
  --k-on-dark:    var(--bng-ink-light);
  --k-on-dark-2:  #4A5B78;
  --k-on-light:   var(--bng-ink-light);
  --k-on-light-2: #4A5B78;

  --k-blue: #0B51B4;

  --k-teal: #0E6E63;
  --k-pink: #B03A72;

  --k-teal-fig: #0A574F;
  --k-pink-fig: #8E2D5C;

  --k-blue-ink: #0B51B4;

  --k-wrap: 1440px;
  --k-pad: clamp(1.25rem, 4vw, 2rem);
  --ease: cubic-bezier(.22, .61, .36, 1);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
html.is-locked { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; background: var(--k-black); color: var(--k-on-dark);
  font-family: var(--font); font-size: 17px; line-height: 1.47; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
h1, h2, h3, p, ul, ol, dl, dd, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
svg { display: block; }
:focus-visible { outline: 2px solid var(--k-blue); outline-offset: 3px; border-radius: 6px; }
.m-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip { position: absolute; left: 50%; top: 0; z-index: 90; transform: translate(-50%, -120%);
  padding: .75rem 1.25rem; background: var(--k-light); color: var(--k-on-light); border-radius: 0 0 12px 12px; font-weight: 500; }
.skip:focus { transform: translate(-50%, 0); }

.m-wrap { width: min(var(--k-wrap), 100% - var(--k-pad) * 2); margin-inline: auto; }
.m-band__cap { width: min(var(--k-wrap), 100% - var(--k-pad) * 2); margin-inline: auto; }
.m-center { text-align: center; }
.m-center .m-lede, .m-center .m-meta { margin-inline: auto; }

.m-d80 { font-size: clamp(2.6rem, 5.6vw, 5rem);   font-weight: 600; line-height: 1.05; letter-spacing: -.015em; }
.m-d64 { font-size: clamp(2.3rem, 4.5vw, 4rem);   font-weight: 600; line-height: 1.0625; letter-spacing: -.009em; }
.m-d56 { font-size: clamp(2.1rem, 3.9vw, 3.5rem); font-weight: 600; line-height: 1.07; letter-spacing: -.005em; }
.m-d48 { font-size: clamp(1.9rem, 3.4vw, 3rem);   font-weight: 600; line-height: 1.084; letter-spacing: -.003em; }
.m-d40 { font-size: clamp(1.7rem, 2.8vw, 2.5rem); font-weight: 600; line-height: 1.1; letter-spacing: 0; }
.m-d32 { font-size: clamp(1.45rem, 2.2vw, 2rem);  font-weight: 600; line-height: 1.125; letter-spacing: .004em; }
.m-d28 { font-size: clamp(1.25rem, 1.9vw, 1.75rem); font-weight: 600; line-height: 1.14; letter-spacing: .007em; }
.m-d24 { font-size: clamp(1.15rem, 1.6vw, 1.5rem); font-weight: 600; line-height: 1.167; letter-spacing: .009em; }
.m-eyebrow { font-size: 1.05rem; font-weight: 600; letter-spacing: .007em; color: var(--k-on-dark-2); margin-bottom: .4rem; }
.m-lede { font-size: 1.0625rem; line-height: 1.47; color: var(--k-on-dark-2); max-width: 64ch; margin-top: 1rem; }
.m-link { color: var(--k-blue); display: inline-flex; align-items: center; gap: .35rem; }
.m-link:hover { text-decoration: underline; text-underline-offset: .2em; }

.m-sec { position: relative; padding-block: clamp(4rem, 8vw, 7.5rem); background: var(--k-black); }
.m-sec--black { background: var(--k-black); }
.m-sec--dark  { background: var(--k-dark); }
.m-sec--light { background: var(--k-light); color: var(--k-on-light); }
.m-sec--light .m-eyebrow, .m-sec--light .m-lede { color: var(--k-on-light-2); }
.m-sec--light .m-link { color: var(--k-blue-ink); }
.m-sec--light :focus-visible { outline-color: var(--k-blue-ink); }

.m-hdr { position: fixed; inset: 0 0 auto; z-index: 60;
  background:

    linear-gradient(180deg, #FFFFFF 0%, #F6F9FC 32%, #E9EFF6 58%,
      #D6E0EC 82%, #BCC9DA 97%, #C7D3E2 100%);
  transition: top .34s var(--ease-out), box-shadow .3s var(--ease); }
.m-hdr::after { content: ""; position: absolute; inset: auto 0 0; height: 1px;
  background: rgba(37, 50, 75, .3); opacity: 0; transition: opacity .3s var(--ease); }
.m-hdr[data-scrolled] { top: 0;
  box-shadow: 0 16px 36px -26px rgba(15, 29, 56, .75); }
.m-hdr[data-scrolled]::after { opacity: 1; }

.m-hdr__pg { position: absolute; inset: auto 0 0; height: 2px; transform: scaleX(0);
  transform-origin: 0 50%; opacity: 0; transition: opacity .3s var(--ease);
  background: linear-gradient(90deg, var(--bng-blue), var(--bng-teal) 52%, var(--bng-pink)); }
.m-hdr[data-scrolled] .m-hdr__pg { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: scroll()) {
    .m-hdr__pg { animation: m-pg linear both; animation-timeline: scroll(root block); }
    @keyframes m-pg { from { transform: scaleX(0); } to { transform: scaleX(1); } }
  }
}

.m-hdr__in { width: min(var(--k-wrap), 100% - var(--k-pad) * 2); margin-inline: auto; height: 96px;
  display: flex; align-items: center; gap: .55rem; }

.m-brand { display: inline-flex; align-items: center; flex: none;
  margin-inline-end: auto; }
.m-brand img { display: block; height: 96px; width: auto; }
.m-nav { display: flex; align-items: center; gap: .06rem; }
.m-nav > a, .m-nav__t { display: inline-flex; align-items: center; gap: .38rem;
  padding: .4rem .62rem; border-radius: 999px; font-size: .75rem; line-height: 1.2;
  color: var(--k-on-dark); white-space: nowrap;
  transition: background-color .2s var(--ease), color .2s var(--ease); }
.m-nav > a:hover, .m-nav__t:hover { background: rgba(37, 50, 75, .07); }

.m-nav__i { position: static; }
.m-nav__c { width: .38rem; height: .38rem; border-right: 1.3px solid currentColor;
  border-bottom: 1.3px solid currentColor; transform: translateY(-.12em) rotate(45deg);
  opacity: .6; transition: transform .28s var(--ease-out), opacity .2s var(--ease); }
.m-nav__i.is-open .m-nav__t { background: rgba(77, 159, 255, .14); color: var(--k-blue); }
.m-nav__i.is-open .m-nav__c { transform: translateY(.06em) rotate(-135deg); opacity: 1; }

.m-mm { position: absolute; left: 0; right: 0; top: 100%;
  opacity: 0; visibility: hidden; transform: translateY(-.5rem);
  background: linear-gradient(180deg, #FFFFFF 0%, #F6FAFD 100%);
  border-top: 1px solid rgba(37, 50, 75, .1);
  box-shadow: 0 26px 46px -30px rgba(15, 29, 56, .6);
  transition: opacity .24s var(--ease), transform .3s var(--ease-out), visibility .3s; }
.m-nav__i.is-open > .m-mm { opacity: 1; visibility: visible; transform: none; }

html:not(.js) .m-nav__i:hover > .m-mm,
html:not(.js) .m-nav__i:focus-within > .m-mm { opacity: 1; visibility: visible; transform: none; }
.m-mm__in { width: min(1120px, 100% - var(--k-pad) * 2); margin-inline: auto;
  padding: 1.45rem 0 1.1rem; }
.m-mm__cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .4rem 2rem; }

.m-mm__col + .m-mm__col { padding-left: 2rem; margin-left: -1rem;
  border-left: 1px solid rgba(37, 50, 75, .09); }
.m-mm__h { display: flex; align-items: center; gap: .5rem; margin: 0 0 .55rem;
  font-size: .64rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase;
  color: var(--fam-ink); }
.m-mm__h .m-svc__mark { width: .8rem; height: .46rem; }
.m-mm__col ul { display: grid; }

.m-mm__col a { position: relative; display: block; margin-left: -.5rem;
  padding: .32rem .5rem .32rem 1.35rem; border-radius: .45rem;
  font-size: .85rem; color: var(--k-on-light);
  transition: background-color .18s var(--ease), color .18s var(--ease); }
.m-mm__col a::before { content: ""; position: absolute; left: .5rem; top: 50%;
  width: .4rem; height: .4rem; margin-top: -.2rem; background: var(--fam);
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
  opacity: 0; transform: translateX(-.35rem);
  transition: opacity .18s var(--ease), transform .22s var(--ease-out); }
.m-mm__col a:hover { background: var(--fam-2); color: var(--fam-ink); }
.m-mm__col a:hover::before, .m-mm__col a:focus-visible::before { opacity: 1; transform: none; }
.m-mm__foot { display: flex; align-items: baseline; gap: 1rem; flex-wrap: wrap;
  margin-top: 1.1rem; padding-top: .85rem; border-top: 1px solid rgba(37, 50, 75, .1);
  font-size: .78rem; color: var(--k-on-light-2); }
.m-mm__all { font-weight: 600; color: var(--k-blue-ink); }
.m-mm__all:hover { text-decoration: underline; text-underline-offset: .25em; }

.m-mm__prod { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; }
.m-mm__prod a { display: grid; gap: .3rem; padding: .95rem 1rem 1rem; border-radius: .7rem;
  background: linear-gradient(150deg, rgba(255, 255, 255, .95), rgba(230, 237, 245, .65));
  box-shadow: inset 0 0 0 1px rgba(37, 50, 75, .1);
  transition: box-shadow .2s var(--ease), transform .2s var(--ease-out); }
.m-mm__prod a:hover { transform: translateY(-2px);
  box-shadow: inset 0 0 0 1px rgba(77, 159, 255, .5), 0 12px 22px -16px rgba(15, 29, 56, .6); }
.m-mm__prod b { display: flex; align-items: center; gap: .5rem;
  font-size: 1.05rem; font-weight: 600; letter-spacing: -.01em; color: var(--k-on-light); }
.m-mm__prod b::before { content: ""; flex: none; width: .8rem; height: .46rem;
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
  background: linear-gradient(120deg, var(--bng-blue), var(--bng-teal)); }
.m-mm__prod a:nth-child(2) b::before { background: linear-gradient(120deg, var(--bng-teal), var(--bng-pink)); }
.m-mm__prod a:nth-child(3) b::before { background: linear-gradient(120deg, var(--bng-pink), var(--bng-blue)); }
.m-mm__prod span { font-size: .76rem; color: var(--k-on-light-2); }

.m-lang { display: flex; gap: .1rem; }

.m-lang a { font-size: .7rem; font-weight: 500; letter-spacing: .04em; padding: .22rem .45rem; border-radius: 999px; color: #C7C7CC; }
.m-lang a.is-on { color: var(--k-black); background: var(--k-on-dark); }
.m-burger { display: none; }
.m-panel { display: none; }
@media (max-width: 62rem) {
  .m-mm__in, .m-hdr__in { width: min(100% - var(--k-pad) * 2, 1120px); }
  .m-nav > a, .m-nav__t { padding-inline: .5rem; }
}
@media (max-width: 52rem) {
  .m-nav { display: none; }

  .m-burger { display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 5px; width: 2.5rem; height: 2.5rem; margin-inline-start: auto; }
  .m-burger i { display: block; width: 17px; height: 1.4px; background: currentColor; border-radius: 2px; transition: transform .3s var(--ease-out); }
  .m-burger[aria-expanded="true"] i:first-of-type { transform: translateY(3.2px) rotate(45deg); }
  .m-burger[aria-expanded="true"] i:last-of-type { transform: translateY(-3.2px) rotate(-45deg); }

  .m-panel { display: block; position: absolute; inset: 100% 0 auto; z-index: 55; background: #FFFFFF;
    max-height: calc(100vh - 76px); overflow-y: auto; overscroll-behavior: contain;
    padding: 1rem var(--k-pad) 1.6rem; transform: translateY(-8px); opacity: 0; visibility: hidden;
    box-shadow: 0 26px 46px -30px rgba(15, 29, 56, .6);
    transition: opacity .25s var(--ease), transform .3s var(--ease-out), visibility .3s; }
  .m-panel.is-open { transform: none; opacity: 1; visibility: visible; }
  .m-panel nav { display: grid; }
  .m-panel nav a { padding: .85rem 0; font-size: 1.05rem; border-bottom: 1px solid rgba(37, 50, 75, .2); }
  .m-panel__svc { display: grid; gap: 1.35rem; margin-top: 1.5rem; }
  .m-panel__fam ul { display: grid; gap: .1rem; }
  .m-panel__fam a { display: block; padding: .42rem 0; font-size: .95rem; color: var(--k-on-light); }
}

.m-hero { padding-bottom: 0; overflow: clip; }
.m-hero__in { text-align: center; }
.m-hero__eb { color: var(--k-on-dark); }
.m-hero .m-d64 { margin-block: .06em .18em; }

.m-d64 .line { display: inline; }
.m-d64 .line + .line::before { content: " "; }
.m-hero .m-d64 .accent { background: linear-gradient(92deg, var(--bng-blue), var(--bng-teal) 46%, var(--bng-pink));
  -webkit-background-clip: text; background-clip: text; color: transparent; }
.m-hero__sub { color: var(--k-on-dark); font-weight: 500; }

.m-btn { position: relative; isolation: isolate; display: inline-flex; align-items: center;
  justify-content: center; gap: .5rem; min-height: 2.5rem; padding: .56rem 1.35rem;
  border: 0; border-radius: 0; background: none; cursor: pointer;
  color: #fff; font: inherit; font-size: .92rem; font-weight: 600; letter-spacing: .01em;
  --cut: .68rem;
  filter: drop-shadow(0 7px 8px rgba(15, 29, 56, .42));
  transition: transform .12s var(--ease-out), filter .12s var(--ease-out); }
.m-btn::before, .m-btn::after { content: ""; position: absolute; inset: 0;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%);
  transition: translate .12s var(--ease-out); }

.m-btn::after { z-index: -2; translate: 0 3px; background: var(--btn-side); }
.m-btn::before { z-index: -1;
  background: linear-gradient(180deg, var(--btn-1), var(--btn-2) 58%, var(--btn-3));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .26); }
.m-btn:hover { transform: translateY(-1px); filter: drop-shadow(0 10px 11px rgba(15, 29, 56, .5)); }
.m-btn:hover::after { translate: 0 4px; }
.m-btn:active { transform: translateY(3px); filter: drop-shadow(0 2px 3px rgba(15, 29, 56, .4)); }
.m-btn:active::after { translate: 0 0; }
.m-btn:active::before { box-shadow: inset 0 2px 5px -2px rgba(0, 0, 0, .55); }
.m-btn:focus-visible { outline: 2px solid var(--k-on-light); outline-offset: 3px; }

.m-btn--ghost { color: var(--k-on-light); }
.m-btn--ghost::after { background: rgba(37, 50, 75, .3); }
.m-btn--ghost::before { background: linear-gradient(180deg, #FFFFFF, #E9EFF7);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95),
    inset 0 0 0 1px rgba(37, 50, 75, .32); }
.m-btn--ghost:hover::before { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95),
  inset 0 0 0 1px rgba(15, 122, 110, .7); }
.m-btn--ghost:active::before { box-shadow: inset 0 0 0 1px rgba(37, 50, 75, .28),
  inset 0 2px 5px -2px rgba(15, 29, 56, .5); }

.m-actions { display: flex; flex-wrap: wrap; gap: .7rem; justify-content: center; margin-top: 1.8rem; }
.m-hero__art { margin-top: 0; }

.m-bento { display: grid; gap: 1rem; grid-template-columns: repeat(6, 1fr); margin-top: clamp(2.5rem, 5vw, 4rem); }
.m-tile { grid-column: span 2; background: var(--k-dark); border-radius: 18px; padding: 1.7rem 1.6rem 1.8rem;
  display: grid; gap: .55rem; align-content: start; }
.m-tile--1, .m-tile--2 { grid-column: span 3; }
.m-tile--7 { grid-column: span 6; grid-template-columns: 3.25rem minmax(0, 1fr) minmax(0, 1.2fr);
  align-items: center; gap: .3rem 1.4rem; }
.m-tile--7 .m-tile__ic { grid-row: 1 / span 2; }
.m-tile--7 .m-tile__d { grid-column: 3; grid-row: 1 / span 2; }
.m-tile__ic { width: 3.25rem; height: 3.25rem; }
.m-tile__d { font-size: .97rem; color: var(--k-on-dark-2); }
.m-tile__tag { font-size: .84rem; color: var(--k-blue); }

.m-chips { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 2.2rem; }
.m-chip { background: #FFFFFF; border-radius: 18px; padding: 1.7rem 1.6rem; display: grid; gap: .5rem;
  transition: transform .35s var(--ease-out); }
.m-chip:hover { transform: translateY(-3px); }
.m-chip__k { font-size: 1.6rem; font-weight: 600; letter-spacing: -.01em; }
.m-chip__v { font-size: .95rem; color: var(--k-on-dark-2); }
.m-chip--bng .m-chip__k { color: #8FC5FF; }
.m-chip--nav .m-chip__k { color: #7DE9DA; }
.m-chip--res .m-chip__k { color: #C0A8FF; }

.m-closer { display: grid; gap: clamp(2rem, 5vw, 3.5rem); grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); align-items: center; }
.m-pills { display: grid; gap: .5rem; margin-top: 1.6rem; }
.m-pills li { background: #FFFFFF; border-radius: 999px; padding: .7rem 1.2rem; font-size: .95rem; }
.m-pills__k { color: var(--k-on-dark-2); margin-inline-end: .6rem; font-size: .82rem; }

.m-statement .m-d80 { margin-top: .2em; }

.m-fig { margin-top: 1rem; background: var(--k-dark); border-radius: 22px; padding: clamp(1rem, 2.5vw, 1.8rem); }
.m-fig__art { overflow-x: auto; }
.m-cap { margin-top: 1rem; font-size: .86rem; color: var(--k-on-dark-2); }
.m-cap b { color: var(--k-on-dark); font-weight: 600; }
.m-cap span { display: block; margin-top: .2rem; }
.m-specs { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 2.2rem; }
.m-specs li { background: var(--k-dark); border-radius: 18px; padding: 1.4rem 1.3rem; }
.m-specs b { display: block; }
.m-specs span { display: block; margin-top: .35rem; font-size: .88rem; color: var(--k-on-dark-2); }
.m-legend { display: grid; gap: 1rem 2rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 2.2rem; }
.m-legend li { display: grid; gap: .3rem; align-content: start; }
.m-legend__n { font-size: .78rem; color: var(--k-blue); }
.m-legend b { font-weight: 600; }
.m-legend__d { font-size: .9rem; color: var(--k-on-dark-2); }
.m-feats { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 2.2rem; }
.m-feats li { background: var(--k-dark); border-radius: 18px; padding: 1.4rem 1.3rem; display: grid; gap: .45rem; align-content: start; }
.m-feats b { font-weight: 600; }
.m-feats span { font-size: .9rem; color: var(--k-on-dark-2); }
.m-foot-note { margin-top: 2rem; font-size: .95rem; color: var(--k-on-dark-2); display: flex; flex-wrap: wrap; gap: .3rem 1rem; }

.m-nums { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: clamp(2.5rem, 5vw, 3.5rem); }
.m-nums li { background: var(--k-dark); border-radius: 18px; padding: 1.8rem 1.5rem; }
.m-nums b { display: block; font-size: clamp(2.2rem, 4vw, 3.4rem); font-weight: 600; letter-spacing: -.015em; line-height: 1.04; font-variant-numeric: tabular-nums; }
.m-nums b small { font-size: .52em; }
.m-nums span { display: block; margin-top: .7rem; font-size: .9rem; color: var(--k-on-dark-2); }
.m-proof { display: flex; flex-wrap: wrap; gap: .5rem 2rem; margin-top: 1.6rem; justify-content: center; }
.m-proof li { font-size: .9rem; color: var(--k-on-dark-2); display: flex; align-items: center; gap: .5rem; }
.m-proof li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--k-blue); }

.m-meta { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 2.5rem; text-align: left; max-width: 46rem; }
.m-meta div { background: #fff; border-radius: 16px; padding: 1.1rem 1.2rem; }
.m-meta dt { font-size: .78rem; color: var(--k-on-light-2); }
.m-meta dd { margin: .3rem 0 0; font-size: .95rem; }

.m-foot { position: relative; isolation: isolate; overflow: clip;
  background: #FFFFFF; color: var(--k-on-light-2); font-size: .8rem;
  padding-block: clamp(3rem, 6vw, 4.8rem) clamp(1.4rem, 2.6vw, 2rem); }
.m-foot::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background:
    radial-gradient(70% 90% at 4% 0%, rgba(77, 159, 255, .13), transparent 62%),
    radial-gradient(60% 80% at 96% 18%, rgba(45, 212, 191, .11), transparent 60%),
    repeating-linear-gradient(30deg, rgba(37, 50, 75, .028) 0 1px, transparent 1px 34px),
    repeating-linear-gradient(-30deg, rgba(37, 50, 75, .028) 0 1px, transparent 1px 34px); }

.m-foot__horizon { position: absolute; inset: 0 0 auto; height: 3px; z-index: 1;
  background: linear-gradient(90deg, var(--bng-blue) 0 34%, var(--bng-teal) 34% 67%,
    var(--bng-pink) 67% 100%); }

.m-foot__top { display: grid; gap: clamp(2rem, 4vw, 3rem) clamp(1.5rem, 3vw, 2.6rem);
  grid-template-columns: minmax(15rem, 1.35fr) repeat(4, minmax(0, 1fr)); }

.m-foot__mark { margin: 0; }
.m-foot__mark img { display: block; height: 3.1rem; width: auto; }
.m-foot__lead { margin: .85rem 0 0; max-width: 34ch; font-size: .92rem; line-height: 1.5;
  color: var(--k-on-light-2); }

.m-foot__bar { display: flex; flex-wrap: wrap; align-items: center;
  gap: clamp(.8rem, 2vw, 1.6rem); margin-top: clamp(2rem, 4vw, 3rem); }
.m-foot__status { position: relative; display: inline-flex; align-items: center;
  flex: none; gap: .7rem; margin: 0; padding: .52rem .95rem .54rem .8rem;
  font-size: .62rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  white-space: nowrap; color: var(--k-teal);
  background: linear-gradient(140deg, rgba(255, 255, 255, .95), rgba(233, 245, 243, .9));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9),
    inset 0 0 0 1px rgba(14, 110, 99, .34),
    0 2px 6px -3px rgba(14, 110, 99, .45);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - .5rem), calc(100% - .5rem) 100%, 0 100%); }
.m-foot__status i { position: relative; flex: none; width: 8px; height: 8px;
  border-radius: 50%; background: var(--bng-teal);
  box-shadow: 0 0 0 1px rgba(14, 110, 99, .5); }
.m-foot__status i::before, .m-foot__status i::after { content: ""; position: absolute;
  inset: 0; border-radius: 50%; border: 1.5px solid var(--bng-teal);
  animation: m-ping 2.6s cubic-bezier(.22, .61, .36, 1) infinite; }
.m-foot__status i::after { animation-delay: 1.3s; }

@keyframes m-ping {
  0%   { transform: scale(1);   opacity: .7; }
  70%  { transform: scale(2.4); opacity: 0; }
  100% { transform: scale(2.4); opacity: 0; }
}

.m-foot__ways { list-style: none; margin: 0 0 0 auto; padding: 0;
  display: flex; flex-wrap: wrap; gap: clamp(.8rem, 1.8vw, 1.2rem); }
.m-foot__ways li { flex: 0 0 auto; max-width: 100%; }
.m-foot__ways a { position: relative; isolation: isolate; display: grid;
  grid-template-columns: auto minmax(0, 1fr); align-items: center;
  gap: .1rem .75rem; padding: .7rem 1.1rem .75rem .95rem;
  text-decoration: none; color: var(--k-on-light);
  --cut: .7rem;
  transition: transform .14s var(--ease-out), filter .14s var(--ease-out);
  filter: drop-shadow(0 6px 9px rgba(15, 29, 56, .18)); }
.m-foot__ways a::before, .m-foot__ways a::after { content: ""; position: absolute;
  inset: 0;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%);
  transition: translate .14s var(--ease-out); }
.m-foot__ways a::after { z-index: -2; translate: 0 3px; background: rgba(37, 50, 75, .26); }
.m-foot__ways a::before { z-index: -1;
  background: linear-gradient(160deg, #FFFFFF, #F1F5FA 52%, #E3EAF3);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95),
    inset 0 0 0 1px rgba(37, 50, 75, .16); }

.m-foot__ic { grid-row: 1 / span 2; flex: none; width: 1.35rem; height: 1.35rem;
  fill: none; stroke: var(--k-blue-ink); stroke-width: 1.6;
  stroke-linecap: round; stroke-linejoin: round; }

.m-foot__ways li:nth-child(2) .m-foot__ic { stroke: var(--k-pink); }
.m-foot__ways b { font-size: .6rem; font-weight: 600; letter-spacing: .2em;
  text-transform: uppercase; color: var(--k-on-light-2); }
.m-foot__ways span { font-size: clamp(.98rem, 1.5vw, 1.1rem); font-weight: 600;
  letter-spacing: -.005em; font-variant-numeric: tabular-nums; }
.m-foot__ways a:hover { transform: translateY(-2px);
  filter: drop-shadow(0 10px 13px rgba(15, 29, 56, .26)); }
.m-foot__ways a:hover::after { translate: 0 5px; }
.m-foot__ways a:hover::before { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95),
  inset 0 0 0 1px rgba(11, 81, 180, .4); }
.m-foot__ways a:hover span { color: var(--k-blue-ink); }
.m-foot__ways a:active { transform: translateY(3px);
  filter: drop-shadow(0 2px 3px rgba(15, 29, 56, .2)); }
.m-foot__ways a:active::after { translate: 0 0; }
.m-foot__ways a:active::before { box-shadow: inset 0 0 0 1px rgba(37, 50, 75, .24),
  inset 0 2px 5px -2px rgba(15, 29, 56, .4); }
.m-foot__ways a:focus-visible { outline: 2px solid var(--k-blue-ink); outline-offset: 3px; }
@media (max-width: 52rem) { .m-foot__ways { margin-left: 0; } }
@media (max-width: 34rem) { .m-foot__ways li { flex: 1 1 100%; } }
@media (prefers-reduced-motion: reduce) {
  .m-foot__ways a, .m-foot__ways a::before, .m-foot__ways a::after { transition: none; }
  .m-foot__ways a:hover, .m-foot__ways a:active { transform: none; }
  .m-foot__ways a:hover::after, .m-foot__ways a:active::after { translate: 0 3px; }

  .m-foot__status i::before, .m-foot__status i::after {
    animation: none; opacity: .3; transform: scale(1.8); }
}

.m-foot__top h2 { display: flex; align-items: center; gap: .5rem; margin: 0 0 .9rem;
  font-size: .62rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase;
  color: var(--k-on-light); }
.m-foot__top h2::before { content: ""; flex: none; width: .58rem; height: .34rem;
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); background: var(--bng-blue); }
.m-foot__top nav:nth-of-type(2) h2::before { background: var(--bng-teal); }
.m-foot__top nav:nth-of-type(3) h2::before { background: var(--bng-pink); }
.m-foot__top nav:nth-of-type(4) h2::before { background: var(--k-blue-ink); }
.m-foot__top ul { display: grid; gap: .55rem; }
.m-foot__top a { display: inline-block; font-size: .88rem; color: var(--k-on-light-2);
  background-image: linear-gradient(var(--k-blue-ink), var(--k-blue-ink));
  background-repeat: no-repeat; background-position: 0 100%; background-size: 0 1px;
  transition: background-size .2s var(--ease-out), color .2s var(--ease),
    translate .2s var(--ease-out); }
.m-foot__top a:hover { color: var(--k-blue-ink); background-size: 100% 1px; translate: 3px 0; }

.m-foot__id { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem 1.1rem;
  margin: clamp(1.4rem, 3vw, 2rem) 0 0; padding-top: clamp(1.1rem, 2.2vw, 1.5rem);
  font-size: .78rem; box-shadow: inset 0 1px 0 rgba(37, 50, 75, .16); }
.m-foot__id b { font-weight: 600; letter-spacing: .14em; color: var(--k-on-light); }
.m-foot__id span { color: var(--k-on-light-2); }
.m-foot__id a { color: var(--k-blue-ink); font-variant-numeric: tabular-nums;
  box-shadow: inset 0 -1px 0 rgba(11, 81, 180, .3); }
.m-foot__id a:hover { box-shadow: inset 0 -2px 0 var(--k-blue-ink); }

.m-foot__id > * + * { padding-left: 1.1rem; border-left: 1px solid rgba(37, 50, 75, .18); }

.m-foot__end { position: relative; display: flex; flex-wrap: wrap; align-items: flex-end;
  justify-content: space-between; gap: 1.2rem clamp(1.5rem, 4vw, 3rem);
  margin-top: clamp(2.4rem, 5vw, 4rem); padding-bottom: clamp(.8rem, 1.6vw, 1.1rem); }
.m-foot__end::after { content: ""; position: absolute; inset: auto 0 0; height: 2px;
  background: linear-gradient(90deg, var(--bng-blue) 0 2.6rem,
    rgba(37, 50, 75, .2) 2.6rem 100%); }

.m-foot__big { display: block; height: clamp(5.5rem, 13vw, 10rem); width: auto; margin: 0; }
.m-foot__base { display: flex; flex-direction: column; align-items: flex-end; gap: .45rem;
  text-align: right; font-size: .75rem; margin-left: auto; }
.m-foot__base > :first-child { margin-bottom: .6rem; }
.m-foot__up { --cut: .5rem; font-size: .82rem; min-height: 2.2rem; padding: .45rem 1.2rem .45rem 1.05rem; }

@media (max-width: 68rem) {
  .m-foot__top { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .m-foot__brand { grid-column: 1 / -1; }
  .m-foot__lead { max-width: 48ch; }
}

@media (max-width: 46rem) {
  .m-hdr__in { height: 76px; }
  .m-brand img { height: 76px; }
  .m-hero { padding-top: calc(76px + clamp(2.5rem, 5vw, 4rem)); }
}
@media (max-width: 46rem) {
  .m-foot__top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 34rem) {
  .m-foot__end { align-items: flex-start; }
  .m-foot__base { text-align: left; margin-left: 0; align-items: flex-start; }
}
@media (max-width: 30rem) {
  .m-foot__top { grid-template-columns: minmax(0, 1fr); }
}

.js [data-rv] { opacity: 0; transform: translateY(1.25rem); }
.js [data-rv].is-in { opacity: 1; transform: none;
  transition: opacity .32s ease var(--rv-d, 0s), transform .32s ease var(--rv-d, 0s); }

.rv-1 { --rv-d: .08s; } .rv-2 { --rv-d: .16s; } .rv-3 { --rv-d: .24s; }
.rv-4 { --rv-d: .32s; } .rv-5 { --rv-d: .40s; }

.js [data-rv="fig"] { --rv-fd: calc(var(--rv-d, 0s) + .1s);
  transform: translateY(1.75rem) scale(.985); filter: blur(10px); }
.js [data-rv="fig"].is-in { transform: none; filter: blur(0);
  transition: opacity .4s ease var(--rv-fd), transform .4s ease var(--rv-fd),
              filter .4s cubic-bezier(.42, 0, .1, 1) var(--rv-fd); }

@media (max-width: 46rem) {
  .js [data-rv="fig"] { filter: blur(6px); transform: translateY(1.1rem) scale(.99); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
  .js [data-rv] { opacity: 1; transform: none; filter: none; }
}

@media (max-width: 62rem) {
  .m-bento { grid-template-columns: repeat(4, 1fr); }
  .m-tile, .m-tile--1, .m-tile--2 { grid-column: span 2; }
  .m-tile--7 { grid-column: span 4; grid-template-columns: 3.25rem minmax(0, 1fr); }
  .m-tile--7 .m-tile__d { grid-column: 1 / -1; grid-row: auto; }
  .m-chips, .m-specs, .m-legend, .m-feats, .m-nums, .m-why, .m-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .m-closer, .m-prod { grid-template-columns: minmax(0, 1fr); }
  .m-foot__cols { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 62rem) {

  .m-bento { grid-template-columns: minmax(0, 1fr); }
  .m-col, .m-col:nth-child(2) { grid-template-rows: auto auto; }
  .m-card--tall { min-height: 16rem; }
  .m-closer { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 40rem) {
  .m-tile, .m-tile--1, .m-tile--2, .m-tile--7 { grid-column: span 1; grid-template-columns: minmax(0, 1fr); }
  .m-chips, .m-specs, .m-legend, .m-feats, .m-nums, .m-why, .m-meta, .m-prod__pair { grid-template-columns: minmax(0, 1fr); }
  .m-ui__k { grid-template-columns: minmax(0, 1fr); }
  .m-ui__rows li { grid-template-columns: minmax(0, 1fr) auto; }
  }

.m-hero { padding-top: calc(96px + clamp(2.5rem, 5vw, 4rem)); }
#servicii, #produse, #aproape, #centre, #cifre, #companie, #contact,
#proces, .m-svc { scroll-margin-top: 112px; }

.m-anchor { display: block; height: 0; scroll-margin-top: 112px; }

.m-pick { margin-top: 1.6rem; font-size: .82rem; color: var(--k-on-dark-2); }
.m-note { margin-top: .5rem; font-size: 1.05rem; color: var(--k-on-dark-2); max-width: 62ch; }
.m-center .m-note, .m-center .m-lede { margin-inline: auto; }

.m-bento { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 2.2rem; }
.m-col { display: grid; gap: 1rem; grid-template-rows: 1.75fr 1fr; }
.m-col:nth-child(2) { grid-template-rows: 1fr 1.75fr; }
.m-card { background: var(--k-dark); border-radius: 18px; padding: 1.7rem 1.6rem; position: relative; overflow: hidden; }
.m-card--tall { display: flex; flex-direction: column; justify-content: flex-end; min-height: 25rem; }
.m-card--row { display: flex; align-items: center; gap: 1.2rem; }
.m-card__ic { width: 3.25rem; height: 3.25rem; flex: none; }
.m-card--tall .m-card__ic { margin-bottom: auto; }
.m-card--tall .m-d32 { margin-top: 1.2rem; }
.m-card__d { margin-top: .4rem; font-size: .95rem; color: var(--k-on-dark-2); }

.m-card--photo { color: var(--k-on-light); }
.m-card--photo .m-card__d { color: var(--k-on-light-2); }
.m-ph-1 { background: linear-gradient(150deg, #FFFFFF 0%, #DCE9F8 52%, #C9D5E3 100%);
  box-shadow: inset 0 4px 0 var(--bng-blue); }
.m-ph-2 { background: linear-gradient(150deg, #FFFFFF 0%, #F6E2EE 55%, #E4D3DE 100%);
  box-shadow: inset 0 4px 0 var(--bng-pink); }

.m-headrow { display: flex; align-items: baseline; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; }

.m-closer { display: grid; gap: clamp(2rem, 5vw, 3.5rem); grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  align-items: center; margin-top: 2rem; }
.m-taglist { display: grid; gap: .55rem; justify-items: start; }
.m-taglist li { display: inline-flex; align-items: center; gap: .6rem; background: #FFFFFF;
  border-radius: 999px; padding: .55rem 1.1rem .55rem .6rem; font-size: .88rem; }
.m-taglist__p { display: grid; place-items: center; width: 1.35rem; height: 1.35rem; border-radius: 50%;
  background: rgba(37, 50, 75, .2); font-size: .8rem; line-height: 1; }

.m-band { background: #FFFFFF; padding-block: 0 clamp(2rem, 4vw, 3rem); }
.m-band__art { width: 100%; overflow-x: auto; }
.m-band__art svg { width: 100%; min-width: 900px; height: auto; }
.m-band__cap { margin-top: 1.2rem; font-size: .84rem; color: var(--k-on-dark-2); }
.m-band__cap b { color: var(--k-on-dark); font-weight: 600; }
.m-band__cap span { display: block; margin-top: .2rem; }

.m-pair { display: grid; gap: clamp(2rem, 5vw, 4rem); grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(2.5rem, 5vw, 4rem); padding-block: clamp(2rem, 4vw, 3rem);
  border-top: 1px solid rgba(37, 50, 75, .2); border-bottom: 1px solid rgba(37, 50, 75, .2); }
.m-big { display: block; font-size: clamp(3rem, 7vw, 6rem); font-weight: 600; letter-spacing: -.02em;
  line-height: 1; font-variant-numeric: tabular-nums; }
.m-big small { font-size: .5em; }
.m-pair span { display: block; margin-top: .8rem; font-size: .95rem; color: var(--k-on-dark-2); max-width: 30ch; }

.m-sec--light2 { background: #F4F8FC; color: var(--k-on-light); }
.m-sec--light2 .m-lede, .m-sec--light2 .m-proof li { color: var(--k-on-light-2); }
.m-layers { display: grid; gap: .5rem; margin-top: 2rem; }
.m-layers li { background: #FFFFFF; border-radius: 14px; padding: .95rem 1.3rem; display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; align-items: baseline; }
.m-layers__k { font-size: .78rem; color: var(--k-on-light-2); min-width: 4.5rem; }
.m-sec--light2 .m-proof li { color: var(--k-on-light-2); }
.m-sec--light2 .m-proof li::before { background: var(--k-blue-ink); }

@media (max-width: 62rem) {
  .m-bento { grid-template-columns: minmax(0, 1fr); }
  .m-col, .m-col:nth-child(2) { grid-template-rows: auto auto; }
  .m-card--tall { min-height: 15rem; }
  .m-closer { grid-template-columns: minmax(0, 1fr); }
  .m-prod { grid-template-columns: minmax(0, 1fr); }
  .m-pair { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .m-specs, .m-legend, .m-feats, .m-why, .m-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .m-foot__cols { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 40rem) {
  .m-specs, .m-legend, .m-feats, .m-why, .m-meta, .m-foot__cols { grid-template-columns: minmax(0, 1fr); }
  .m-ui__k { grid-template-columns: minmax(0, 1fr); }
  .m-ui__rows li { grid-template-columns: minmax(0, 1fr) auto; }
    .m-card--row { flex-direction: column; align-items: flex-start; gap: .9rem; }
}

.m-hero {
  background: linear-gradient(180deg, #FFFFFF 0%, #FBFBFD 52%, #F2F4F8 100%);
  color: var(--k-on-light);
}
.m-hero__eb { color: var(--k-on-light-2); }
.m-hero .m-d64 { color: var(--k-on-light); }
.m-hero .m-d64 .accent {

  background: linear-gradient(92deg, #0B51B4, #0E7A6D 52%, #B5306F);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.m-hero__sub { color: var(--k-on-light-2); font-weight: 500; }
.m-hero .m-hero .m-hero .m-hero :focus-visible { outline-color: var(--k-blue-ink); }

.m-hdr .m-nav > a, .m-hdr .m-nav__t, .m-hdr .m-burger { color: var(--k-on-light); }
.m-hdr .m-nav > a:hover, .m-hdr .m-nav__t:hover { background: rgba(255, 255, 255, .55); }
.m-hdr .m-nav__i.is-open .m-nav__t { background: rgba(255, 255, 255, .8); color: var(--k-blue-ink); }
.m-hdr .m-lang a { color: #4A5B78; }
.m-hdr .m-lang a.is-on { color: #FFFFFF; background: var(--k-on-light); }
.m-hdr :focus-visible { outline-color: var(--k-blue-ink); }

.m-stage { width: min(var(--k-wrap), 100% - var(--k-pad) * 2);
  margin: clamp(1rem, 2.5vw, 2rem) auto 0; }
.hz { width: 100%; height: auto; }
.hz-grid path { stroke: #DDE2EC; stroke-width: 1; }
.hz-perf polygon { fill: #DCE9FA; stroke: #C2D6F0; stroke-width: 1; }
.hz-u { stroke: #8C95A8; stroke-width: 1; opacity: .55; }
.hz-edge { fill: none; stroke: #FFFFFF; stroke-width: 1.2; }
.hz-sh { fill: #1B2434; opacity: .10; }
.hz-glass { stroke: rgba(77, 159, 255, .5); stroke-width: 1; }
.hz-rail { stroke: #8FB6E8; stroke-width: 2; stroke-linecap: round; }
.hz-grille { stroke: #8C95A8; stroke-width: 1.4; opacity: .5; }
.hz-drop { stroke: #A8B1C4; stroke-width: 1; opacity: .5; }
.hz-trayface { opacity: .92; }
.hz-led { opacity: .95; }

.m-closer__art { display: grid; place-items: center; }
.rk { width: auto; max-width: 100%; height: clamp(26rem, 58vw, 52rem); }
.rk-rail  { fill: #12161E; stroke: #39404E; stroke-width: 1; }
.rk-hole  { fill: #070C16; stroke: #4A5B78; stroke-width: .6; }
.rk-face  { fill: none; stroke: #4E5666; stroke-width: .9; }
.rk-blank { fill: #1A1E27; stroke: #333A47; stroke-width: .8; }
.rk-port  { fill: #0B1322; stroke: #4A5B78; stroke-width: .5; }
.rk-disp  { fill: #0B1322; stroke: #0F7A6E; stroke-width: 1; }
.rk-led   { fill: #6A7386; }
.rk-led--b { fill: #4D9FFF; }
.rk-led--t { fill: #2DD4BF; }
.rk-dim   { stroke: #8A93A8; stroke-width: 1; }
.rk-lead  { stroke: #8A93A8; stroke-width: 1; stroke-dasharray: 3 3; }
.rk-tick  { stroke: #6A7386; stroke-width: 1; }
.rk-un    { fill: #8A93A8; font-size: 9px; font-family: var(--font); letter-spacing: .04em; }
.rk-dt    { fill: #C7CCD8; font-size: 11px; font-family: var(--font); letter-spacing: .03em; }
.rk-cart  { fill: none; stroke: #4A5262; stroke-width: 1; }
.rk-cart-l { stroke: #4A5262; stroke-width: 1; }
.rk-ct    { fill: #E6E9F0; font-size: 10px; font-weight: 600; font-family: var(--font); letter-spacing: .06em; }
.rk-cs    { fill: #A8B0C0; font-size: 9.5px; font-family: var(--font); letter-spacing: .04em; }

.m-net { padding-bottom: clamp(2.5rem, 5vw, 4rem); }
.m-net__art { width: 100%; margin-top: clamp(1.5rem, 4vw, 3rem); overflow-x: auto; }
.m-net__art svg { width: 100%; min-width: 820px; height: auto; }
.m-net__cap { margin-top: 1rem; font-size: .84rem; color: var(--k-on-dark-2); }
.m-net__cap b { color: var(--k-on-dark); font-weight: 600; }
.tp-node    { fill: #131822; stroke: #5B87C8; stroke-width: 1.2; }
.tp-node-hi { fill: none; stroke: rgba(37, 50, 75, .26); stroke-width: 1; }
.tp-u       { fill: #2C3748; }
.tp-name    { fill: #E6E9F0; font-size: 13px; font-weight: 600; font-family: var(--font); }
.tp-carn    { fill: #101620; stroke: #4E5A72; stroke-width: 1.2; }
.tp-carc    { fill: #2DD4BF; }
.tp-car-name{ fill: #A8B0C0; font-size: 11px; font-family: var(--font); }
@media (prefers-reduced-motion: reduce) { .tp-pkt { display: none; } }

.sc { width: 100%; height: auto; }
.sc-zone   { fill: #E6EDF5; stroke: #C9D5E3; stroke-width: 1; }
.sc-zone--b{ fill: #DCE6F2; stroke: #AAB9CC; }
.sc-tile   { fill: #D8E2EE; stroke: #AAB9CC; stroke-width: 1; }
.sc-edge   { fill: none; stroke: #FFFFFF; stroke-width: 1.1; }
.sc-sh     { fill: #070C16; opacity: .09; }
.sc-u      { stroke: #93A5BC; stroke-width: 1; opacity: .6; }
.sc-glass  { stroke: rgba(77, 159, 255, .45); stroke-width: 1; }
.sc-scr    { stroke: #4D9FFF; stroke-width: 1.4; opacity: .85; }
.sc-boom   { stroke: #7E8FA6; stroke-width: 2.4; stroke-linecap: round; }
.sc-boom--c{ stroke-width: 1.8; opacity: .75; }
.sc-mast   { stroke: #7E8FA6; stroke-width: 1.8; }
.sc-lat    { stroke: #93A5BC; stroke-width: 1; opacity: .8; }
.sc-cable  { stroke: #8FA0B8; stroke-width: 1.2; }
.sc-fib    { stroke: #4D9FFF; stroke-width: 1.6; stroke-dasharray: 4 5; opacity: .55; fill: none; }
.sc-lb     { fill: #25324B; font-size: 11.5px; font-weight: 600; font-family: var(--font); letter-spacing: .02em; }

.m-note.m-center { margin-inline: auto; max-width: 54ch; text-wrap: balance; }

.m-procin { position: relative; isolation: isolate; overflow: clip;
  padding-block: clamp(4.5rem, 9vw, 7.5rem) clamp(3rem, 6vw, 5rem);
  background: linear-gradient(180deg, #FFFFFF 0%, #F1F6FC 58%, #E6EEF8 100%); }

.m-procin::before { content: ""; position: absolute; inset: 0; z-index: 0;
  background:
    repeating-linear-gradient(-52deg,
      rgba(37, 50, 75, .085) 0 1.5px, transparent 1.5px 10px),
    linear-gradient(0deg, rgba(37, 50, 75, .07), rgba(37, 50, 75, .07));
  clip-path: polygon(0 62%, 100% 22%, 100% 100%, 0 100%); pointer-events: none;
  z-index: 1; }
.m-procin > .m-wrap { position: relative; z-index: 1; }

.m-svc > .m-wrap, .m-svc > .m-svc__fig { position: relative; z-index: 1; }

.m-svc .m-cutface { height: clamp(10rem, 18vw, 16rem); }
.m-cutface { position: absolute; inset: 0 0 auto; z-index: 0; pointer-events: none;
  height: clamp(17rem, 32vw, 29rem);
  background:
    repeating-linear-gradient(-52deg,
      rgba(37, 50, 75, .085) 0 1.5px, transparent 1.5px 10px),
    linear-gradient(0deg, rgba(37, 50, 75, .06), rgba(37, 50, 75, .06));
  clip-path: polygon(0 58%, 100% 18%, 100% 100%, 0 100%); }

.m-cut { position: relative; display: grid; justify-items: start;
  gap: clamp(.8rem, 1.8vw, 1.15rem);
  padding-inline-start: clamp(1.5rem, 4vw, 3rem); }

.m-cut::before { content: ""; position: absolute; inset-inline-start: 0;
  top: .2rem; bottom: .2rem; width: clamp(.6rem, 1.5vw, .95rem);
  background:
    repeating-linear-gradient(-45deg, rgba(37, 50, 75, .5) 0 1.5px, transparent 1.5px 6px),
    linear-gradient(180deg, #FFFFFF, #D9E4F1);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - .9rem), 0 100%); }

.m-cut__k { margin: 0; }
.m-cut__k span { display: inline-block; padding: .36rem .85rem .32rem;
  font-size: .66rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase;
  color: var(--k-on-light);
  background:
    repeating-linear-gradient(-45deg, rgba(37, 50, 75, .15) 0 1.5px, transparent 1.5px 7px),
    linear-gradient(170deg, #FFFFFF, #E4ECF6);
  clip-path: polygon(0 0, 100% 0, 100% 100%, .58rem 100%, 0 calc(100% - .58rem)); }

.m-cut__h { margin: 0; max-width: 17ch; color: var(--k-on-light);
  font-size: clamp(2.3rem, 5.9vw, 4.6rem); font-weight: 600;
  line-height: 1.045; letter-spacing: -.018em; text-wrap: balance; }

.m-cut__rule { margin: .2rem 0 0; width: min(30rem, 100%); height: .62rem;
  background:
    linear-gradient(90deg, var(--bng-blue) 0 3.4rem, transparent 3.4rem 4.5rem,
      rgba(37, 50, 75, .32) 4.5rem 4.6rem, transparent 4.6rem),
    repeating-linear-gradient(90deg,
      rgba(37, 50, 75, .26) 0 1.5px, transparent 1.5px 8px);
  -webkit-mask-image: linear-gradient(90deg, #000 0 62%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0 62%, transparent 100%); }

.m-cut__d { margin: 0; max-width: 56ch; font-size: clamp(1rem, 1.4vw, 1.15rem);
  line-height: 1.5; color: var(--k-on-light-2); }

.m-procin { padding-bottom: clamp(1.5rem, 3vw, 2.5rem); }

.m-svc {
  position: relative; isolation: isolate; overflow: clip;
  background:
    radial-gradient(118% 58% at 50% 12%, var(--fam-1) 0%,
      var(--fam-2) 46%, transparent 74%),
    radial-gradient(48% 38% at 4% -6%, rgba(45, 212, 191, .17) 0%,
      rgba(45, 212, 191, 0) 70%),
    radial-gradient(48% 38% at 97% -8%, rgba(255, 111, 181, .14) 0%,
      rgba(255, 111, 181, 0) 70%),
    linear-gradient(180deg, #EFF5FC 0%, #FAFCFE 54%, #FFFFFF 100%);
  padding-block: clamp(3rem, 6vw, 5.5rem) clamp(2.5rem, 5vw, 4.5rem);
}
.m-svc--alt {
  background:
    radial-gradient(118% 58% at 50% 12%, var(--fam-1) 0%,
      var(--fam-2) 46%, transparent 74%),
    radial-gradient(48% 38% at 97% -6%, rgba(45, 212, 191, .16) 0%,
      rgba(45, 212, 191, 0) 70%),
    radial-gradient(48% 38% at 4% -8%, rgba(255, 111, 181, .13) 0%,
      rgba(255, 111, 181, 0) 70%),
    linear-gradient(180deg, #DFE9F5 0%, #EDF3FA 56%, #F6F9FC 100%);
}

.m-svc__head { display: grid; grid-template-columns: auto minmax(0, 1fr);
  align-items: center; column-gap: clamp(1rem, 2.4vw, 1.9rem); row-gap: .3rem; }

.m-svc__ghost { grid-row: 1 / span 2; align-self: center; display: grid;
  place-items: center; min-width: 3.9rem;
  padding: .62rem .9rem .56rem;
  font-size: clamp(1.7rem, 3.4vw, 2.7rem); font-weight: 600; line-height: 1;
  letter-spacing: -.02em; font-variant-numeric: tabular-nums;
  color: var(--k-on-light);
  background:
    linear-gradient(var(--fam), var(--fam)) bottom / 100% 3px no-repeat,
    repeating-linear-gradient(-45deg, rgba(37, 50, 75, .26) 0 1.5px, transparent 1.5px 7px),
    linear-gradient(155deg, #FFFFFF, #CFDDEC);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - .68rem),
    calc(100% - .68rem) 100%, 0 100%); }

:root { --btn-1: #0F7A6E; --btn-2: #0C6459; --btn-3: #094F47; --btn-side: #063831; }
[data-fam="1"] { --btn-1: #1668D6; --btn-2: #0B51B4; --btn-3: #08407F; --btn-side: #062F5E; }
[data-fam="2"] { --btn-1: #0F7A6E; --btn-2: #0C6459; --btn-3: #094F47; --btn-side: #063831; }
[data-fam="3"] { --btn-1: #B03A72; --btn-2: #96305F; --btn-3: #7C264D; --btn-side: #5A1A37; }
[data-fam="4"] { --btn-1: #1B62C2; --btn-2: #144C99; --btn-3: #0F3B77; --btn-side: #0A2A55; }

#centre { --btn-1: #1B62C2; --btn-2: #144C99; --btn-3: #0F3B77; --btn-side: #0A2A55; }
#cifre  { --btn-1: #B03A72; --btn-2: #96305F; --btn-3: #7C264D; --btn-side: #5A1A37; }

[data-fam] { --fam: var(--bng-blue); --fam-ink: var(--k-blue);
  --fam-1: rgba(77, 159, 255, .17); --fam-2: rgba(77, 159, 255, .055); }
[data-fam="2"] { --fam: var(--bng-teal); --fam-ink: var(--k-teal);
  --fam-1: rgba(45, 212, 191, .2); --fam-2: rgba(45, 212, 191, .06); }
[data-fam="3"] { --fam: var(--bng-pink); --fam-ink: var(--k-pink);
  --fam-1: rgba(255, 111, 181, .17); --fam-2: rgba(255, 111, 181, .055); }
[data-fam="4"] { --fam: #1B62C2; --fam-ink: #123F86;
  --fam-1: rgba(27, 98, 194, .15); --fam-2: rgba(27, 98, 194, .05); }

.m-svc__fam { margin: 0; display: flex; align-items: center; gap: .7rem;
  font-size: .72rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase;
  color: var(--k-on-dark); }
.m-svc__mark { flex: none; width: 1.15rem; height: .66rem;
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
  background: var(--fam); }
.m-svc__fam::after { content: ""; flex: 1 1 auto; max-width: 8rem; height: 1px;
  margin-left: .2rem;
  background: linear-gradient(90deg, rgba(37, 50, 75, .3), rgba(37, 50, 75, 0)); }
.m-svc__h { margin: 0; font-size: clamp(1.55rem, 3vw, 2.6rem); font-weight: 600;
  line-height: 1.1; letter-spacing: -.004em; }

.m-svc__h::after { content: ""; display: block; margin-top: .7rem;
  width: min(22rem, 100%); height: .5rem;
  background:
    linear-gradient(90deg, var(--fam) 0 2.2rem, transparent 2.2rem 3.5rem,
      rgba(37, 50, 75, .3) 3.5rem 3.6rem, transparent 3.6rem),
    repeating-linear-gradient(90deg,
      rgba(37, 50, 75, .24) 0 1.5px, transparent 1.5px 8px);
  -webkit-mask-image: linear-gradient(90deg, #000 0 58%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0 58%, transparent 100%); }

.m-svc__art { width: 100%; margin-top: clamp(1.6rem, 3.5vw, 2.6rem); overflow-x: auto; }
.m-svc__art img { display: block; width: 100%; min-width: 760px; height: auto; }

.m-svc__steps { list-style: none; margin: clamp(1.5rem, 3vw, 2.4rem) 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.4rem clamp(1rem, 2vw, 1.6rem); }
.m-svc__steps li { position: relative; padding-top: 1.3rem;
  border-top: 1px solid rgba(37, 50, 75, .22); }
.m-svc__steps li::before { content: ""; position: absolute; top: -3.5px; inset-inline-start: 0;
  width: 7px; height: 7px; border-radius: 50%; background: var(--k-blue); }
.m-svc__steps li:nth-child(2)::before { background: var(--k-teal); }
.m-svc__steps li:nth-child(3)::before { background: var(--k-pink); }
.m-svc__steps li:nth-child(2) b { color: var(--k-teal); }
.m-svc__steps li:nth-child(3) b { color: var(--k-pink); }
.m-svc__steps b { display: block; font-size: .7rem; font-weight: 600; letter-spacing: .14em;
  color: var(--k-on-light-2); font-variant-numeric: tabular-nums; }
.m-svc__steps span { display: block; margin-top: .3rem; font-size: .9rem; line-height: 1.42;
  color: var(--k-on-dark-2); }

.m-svc__cap { margin: clamp(1.4rem, 3vw, 2rem) 0 0; font-size: .84rem; line-height: 1.5;
  color: var(--k-on-dark-2); max-width: 80ch; }
.m-svc__cap b { color: var(--k-on-dark); font-weight: 600; }
.m-svc__cap span { display: block; margin-top: .2rem; }
.sc-vent { fill: #C9D5E3; stroke: none; opacity: .75; }

.m-stage { position: relative; }
.m-stage picture, .m-stage img { display: block; }
.m-tags { position: absolute; inset: 0; margin: 0; padding: 0; list-style: none;
  pointer-events: none; }

.m-tag { position: absolute; width: 0; height: 0; }
.m-tag i { position: absolute; left: -3.5px; top: -3.5px; width: 7px; height: 7px;
  border-radius: 50%; border: 1.5px solid var(--bng-blue); background: #FFFFFF; }
.m-tag::before { content: ""; position: absolute; left: 0; top: 0;
  width: 2.45rem; height: 1px; background: rgba(37, 50, 75, .34);
  transform-origin: 0 0; }
.m-tag span { position: absolute; bottom: .78rem; white-space: nowrap;
  font-size: .655rem; font-weight: 600; letter-spacing: .105em; text-transform: uppercase;
  color: var(--bng-ink-light); padding-bottom: .22rem;
  border-bottom: 1px solid rgba(37, 50, 75, .24); }

@media (max-width: 62rem) {
  .m-tag::before { width: 1.9rem; }
  .m-tag span { font-size: .6rem; letter-spacing: .08em; bottom: .62rem; }
  .m-tag span { --gap: 1.75rem; }
}

.m-tag--1 { left: 21.54%; top: 20.67%; }
.m-tag--1::before { transform: rotate(210deg); }
.m-tag--1 span { inset-inline-end: 2.25rem; text-align: right; bottom: .78rem; top: auto; }
.m-tag--2 { left: 49.67%; top: 13.26%; }
.m-tag--2::before { transform: rotate(210deg); }
.m-tag--2 span { inset-inline-end: 2.25rem; text-align: right; bottom: .78rem; top: auto; }
.m-tag--3 { left: 93.36%; top: 40.16%; }
.m-tag--3::before { transform: rotate(150deg); }
.m-tag--3 span { inset-inline-end: 2.25rem; text-align: right; top: .78rem; bottom: auto; }
.m-tag--4 { left: 8.18%; top: 63.97%; }
.m-tag--4::before { transform: rotate(30deg); }
.m-tag--4 span { inset-inline-start: 2.25rem; text-align: left; top: .78rem; bottom: auto; }
.m-tag--5 { left: 37.70%; top: 50.63%; }
.m-tag--5::before { transform: rotate(210deg); }
.m-tag--5 span { inset-inline-end: 2.25rem; text-align: right; bottom: .78rem; top: auto; }
.m-tag--6 { left: 68.50%; top: 56.93%; }
.m-tag--6::before { transform: rotate(30deg); }
.m-tag--6 span { inset-inline-start: 2.25rem; text-align: left; top: .78rem; bottom: auto; }
.m-tag--7 { left: 18.83%; top: 81.71%; }
.m-tag--7::before { transform: rotate(210deg); }
.m-tag--7 span { inset-inline-end: 2.25rem; text-align: right; bottom: .78rem; top: auto; }
.m-tag--8 { left: 42.49%; top: 83.19%; }
.m-tag--8::before { transform: rotate(150deg); }
.m-tag--8 span { inset-inline-end: 2.25rem; text-align: right; top: .78rem; bottom: auto; }
.m-tag--9 { left: 75.88%; top: 82.82%; }
.m-tag--9::before { transform: rotate(30deg); }
.m-tag--9 span { inset-inline-start: 2.25rem; text-align: left; top: .78rem; bottom: auto; }

.h-sect  { width: 100%; height: auto; }
.h-line  { stroke: rgba(37, 50, 75, .62); stroke-width: 1.4; }
.h-dash  { stroke: rgba(37, 50, 75, .26); stroke-width: 1; stroke-dasharray: 6 7; }
.h-ped   { stroke: rgba(37, 50, 75, .2); stroke-width: 1; }
.h-u     { stroke: rgba(37, 50, 75, .2); stroke-width: 1; }
.h-hi    { stroke: rgba(37, 50, 75, .85); stroke-width: 1.4; }
.h-perf  { stroke: #0B51B4; stroke-width: 2; stroke-linecap: round; }
.h-perf2 { stroke: rgba(11, 81, 180, .75); stroke-width: 1.6; stroke-linecap: round; }
.h-dim   { stroke: rgba(37, 50, 75, .55); stroke-width: 1; }

@media (max-width: 52rem) {
  .m-svc__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 34rem) {
  .m-svc__head { grid-template-columns: minmax(0, 1fr); row-gap: .5rem; }
  .m-svc__ghost { grid-row: auto; justify-self: start; }
  .m-svc__steps { grid-template-columns: minmax(0, 1fr); }
}

.m-svc__fig { position: relative;
  width: min(var(--k-wrap), 100% - var(--k-pad) * 2); margin-inline: auto; }
.m-ann { position: absolute; inset: 0; width: auto; margin: 0; padding: 0;
  list-style: none; pointer-events: none; }
.m-ann > li { position: absolute; width: 0; height: 0; }
.m-ann i { position: absolute; left: -3.5px; top: -3.5px; width: 7px; height: 7px;
  border-radius: 50%; border: 1.5px solid var(--bng-blue); background: #FFFFFF; }
.m-ann > li::before { content: ""; position: absolute; left: 0; top: 0; height: 1px;
  background: rgba(37, 50, 75, .34); transform-origin: 0 0; }
.m-ann span { position: absolute; bottom: 0; white-space: nowrap;
  font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: var(--bng-ink-light); padding-bottom: .24rem;
  border-bottom: 1px solid rgba(37, 50, 75, .24); }
.m-ann b { color: var(--k-blue); font-weight: 600; margin-inline-end: .5rem;
  font-variant-numeric: tabular-nums; }

.m-ann > li:nth-child(2) i { border-color: var(--bng-teal); }
.m-ann > li:nth-child(3) i { border-color: var(--bng-pink); }
.m-ann > li:nth-child(2) b { color: var(--k-teal-fig); }
.m-ann > li:nth-child(3) b { color: var(--k-pink-fig); }

.m-ann--1-1 { left: 20.879%; top: 26.860%; }
.m-ann--1-1::before { width: 3.328rem; transform: rotate(-124.29deg); }
.m-ann--1-1 span { right: 0; text-align: right; transform: translate(-1.875rem, -2.750rem); }
.m-ann--1-2 { left: 48.387%; top: 42.006%; }
.m-ann--1-2::before { width: 5.131rem; transform: rotate(-124.08deg); }
.m-ann--1-2 span { right: 0; text-align: right; transform: translate(-2.875rem, -4.250rem); }
.m-ann--1-3 { left: 58.766%; top: 26.860%; }
.m-ann--1-3::before { width: 2.649rem; transform: rotate(-19.29deg); }
.m-ann--1-3 span { left: 0; text-align: left; transform: translate(2.500rem, -0.875rem); }
.m-ann--1-4 { left: 87.726%; top: 24.012%; }
.m-ann--1-4::before { width: 4.202rem; transform: rotate(-157.25deg); }
.m-ann--1-4 span { right: 0; text-align: right; transform: translate(-3.875rem, -1.625rem); }
.m-ann--2-1 { left: 21.089%; top: 22.965%; }
.m-ann--2-1::before { width: 2.473rem; transform: rotate(-106.14deg); }
.m-ann--2-1 span { right: 0; text-align: right; transform: translate(-0.688rem, -2.375rem); }
.m-ann--2-2 { left: 43.040%; top: 41.802%; }
.m-ann--2-2::before { width: 4.310rem; transform: rotate(-73.14deg); }
.m-ann--2-2 span { right: 0; text-align: right; transform: translate(1.250rem, -4.125rem); }
.m-ann--2-3 { left: 56.355%; top: 51.860%; }
.m-ann--2-3::before { width: 5.529rem; transform: rotate(-47.29deg); }
.m-ann--2-3 span { left: 0; text-align: left; transform: translate(3.750rem, -4.062rem); }
.m-ann--2-4 { left: 90.661%; top: 30.233%; }
.m-ann--2-4::before { width: 5.582rem; transform: rotate(-145.95deg); }
.m-ann--2-4 span { right: 0; text-align: right; transform: translate(-4.625rem, -3.125rem); }
.m-ann--3-1 { left: 21.613%; top: 33.837%; }
.m-ann--3-1::before { width: 2.948rem; transform: rotate(-111.12deg); }
.m-ann--3-1 span { right: 0; text-align: right; transform: translate(-1.062rem, -2.750rem); }
.m-ann--3-2 { left: 45.452%; top: 31.221%; }
.m-ann--3-2::before { width: 1.846rem; transform: rotate(-28.30deg); }
.m-ann--3-2 span { right: 0; text-align: right; transform: translate(1.625rem, -0.875rem); }
.m-ann--3-3 { left: 55.516%; top: 29.826%; }
.m-ann--3-3::before { width: 2.830rem; transform: rotate(-6.34deg); }
.m-ann--3-3 span { left: 0; text-align: left; transform: translate(2.812rem, -0.312rem); }
.m-ann--3-4 { left: 85.629%; top: 38.314%; }
.m-ann--3-4::before { width: 8.291rem; transform: rotate(-139.59deg); }
.m-ann--3-4 span { right: 0; text-align: right; transform: translate(-6.312rem, -5.375rem); }
.m-ann--4-1 { left: 21.089%; top: 38.430%; }
.m-ann--4-1::before { width: 2.240rem; transform: rotate(-149.86deg); }
.m-ann--4-1 span { right: 0; text-align: right; transform: translate(-1.938rem, -1.125rem); }
.m-ann--4-2 { left: 48.387%; top: 32.209%; }
.m-ann--4-2::before { width: 4.031rem; transform: rotate(-150.26deg); }
.m-ann--4-2 span { right: 0; text-align: right; transform: translate(-3.500rem, -2.000rem); }
.m-ann--4-3 { left: 55.516%; top: 43.314%; }
.m-ann--4-3::before { width: 6.413rem; transform: rotate(-37.87deg); }
.m-ann--4-3 span { left: 0; text-align: left; transform: translate(5.062rem, -3.938rem); }
.m-ann--4-4 { left: 88.879%; top: 25.174%; }
.m-ann--4-4::before { width: 2.519rem; transform: rotate(-133.99deg); }
.m-ann--4-4 span { right: 0; text-align: right; transform: translate(-1.750rem, -1.812rem); }
.m-ann--5-1 { left: 21.089%; top: 28.023%; }
.m-ann--5-1::before { width: 3.936rem; transform: rotate(-100.06deg); }
.m-ann--5-1 span { right: 0; text-align: right; transform: translate(-0.688rem, -3.875rem); }
.m-ann--5-2 { left: 46.919%; top: 28.895%; }
.m-ann--5-2::before { width: 1.778rem; transform: rotate(169.88deg); }
.m-ann--5-2 span { right: 0; text-align: right; transform: translate(-1.750rem, 0.312rem); }
.m-ann--5-3 { left: 53.000%; top: 30.872%; }
.m-ann--5-3::before { width: 4.310rem; transform: rotate(-16.86deg); }
.m-ann--5-3 span { left: 0; text-align: left; transform: translate(4.125rem, -1.250rem); }
.m-ann--5-4 { left: 88.879%; top: 25.465%; }
.m-ann--5-4::before { width: 4.249rem; transform: rotate(-153.81deg); }
.m-ann--5-4 span { right: 0; text-align: right; transform: translate(-3.812rem, -1.875rem); }
.m-ann--6-1 { left: 21.089%; top: 31.744%; }
.m-ann--6-1::before { width: 4.738rem; transform: rotate(-98.34deg); }
.m-ann--6-1 span { right: 0; text-align: right; transform: translate(-0.688rem, -4.688rem); }
.m-ann--6-2 { left: 48.282%; top: 31.628%; }
.m-ann--6-2::before { width: 3.078rem; transform: rotate(-156.04deg); }
.m-ann--6-2 span { right: 0; text-align: right; transform: translate(-2.812rem, -1.250rem); }
.m-ann--6-3 { left: 54.573%; top: 32.791%; }
.m-ann--6-3::before { width: 5.791rem; transform: rotate(-13.74deg); }
.m-ann--6-3 span { left: 0; text-align: left; transform: translate(5.625rem, -1.375rem); }
.m-ann--6-4 { left: 87.831%; top: 21.977%; }
.m-ann--6-4::before { width: 3.204rem; transform: rotate(-159.44deg); }
.m-ann--6-4 span { right: 0; text-align: right; transform: translate(-3.000rem, -1.125rem); }
.m-ann--7-1 { left: 21.298%; top: 37.384%; }
.m-ann--7-1::before { width: 2.982rem; transform: rotate(-146.98deg); }
.m-ann--7-1 span { right: 0; text-align: right; transform: translate(-2.500rem, -1.625rem); }
.m-ann--7-2 { left: 49.016%; top: 43.547%; }
.m-ann--7-2::before { width: 3.988rem; transform: rotate(-122.20deg); }
.m-ann--7-2 span { right: 0; text-align: right; transform: translate(-2.125rem, -3.375rem); }
.m-ann--7-3 { left: 88.879%; top: 25.698%; }
.m-ann--7-3::before { width: 3.010rem; transform: rotate(-175.24deg); }
.m-ann--7-3 span { right: 0; text-align: right; transform: translate(-3.000rem, -0.250rem); }
.m-ann--7-4 { left: 52.581%; top: 33.721%; }
.m-ann--7-4::before { width: 3.475rem; transform: rotate(-37.69deg); }
.m-ann--7-4 span { left: 0; text-align: left; transform: translate(2.750rem, -2.125rem); }
.m-ann--8-1 { left: 21.089%; top: 33.488%; }
.m-ann--8-1::before { width: 5.357rem; transform: rotate(-97.37deg); }
.m-ann--8-1 span { right: 0; text-align: right; transform: translate(-0.688rem, -5.312rem); }
.m-ann--8-2 { left: 48.597%; top: 25.988%; }
.m-ann--8-2::before { width: 3.065rem; transform: rotate(177.66deg); }
.m-ann--8-2 span { right: 0; text-align: right; transform: translate(-3.062rem, 0.125rem); }
.m-ann--8-3 { left: 50.903%; top: 46.744%; }
.m-ann--8-3::before { width: 7.133rem; transform: rotate(-28.81deg); }
.m-ann--8-3 span { left: 0; text-align: left; transform: translate(6.250rem, -3.438rem); }
.m-ann--8-4 { left: 88.879%; top: 25.174%; }
.m-ann--8-4::before { width: 4.277rem; transform: rotate(-153.06deg); }
.m-ann--8-4 span { right: 0; text-align: right; transform: translate(-3.812rem, -1.938rem); }
.m-ann--9-1 { left: 21.089%; top: 33.488%; }
.m-ann--9-1::before { width: 5.357rem; transform: rotate(-97.37deg); }
.m-ann--9-1 span { right: 0; text-align: right; transform: translate(-0.688rem, -5.312rem); }
.m-ann--9-2 { left: 42.621%; top: 48.430%; }
.m-ann--9-2::before { width: 6.079rem; transform: rotate(-75.11deg); }
.m-ann--9-2 span { right: 0; text-align: right; transform: translate(1.562rem, -5.875rem); }
.m-ann--9-3 { left: 50.065%; top: 41.081%; }
.m-ann--9-3::before { width: 7.261rem; transform: rotate(-13.44deg); }
.m-ann--9-3 span { left: 0; text-align: left; transform: translate(7.062rem, -1.688rem); }
.m-ann--9-4 { left: 88.879%; top: 25.174%; }
.m-ann--9-4::before { width: 4.277rem; transform: rotate(-153.06deg); }
.m-ann--9-4 span { right: 0; text-align: right; transform: translate(-3.812rem, -1.938rem); }
.m-ann--10-1 { left: 21.089%; top: 33.488%; }
.m-ann--10-1::before { width: 5.357rem; transform: rotate(-97.37deg); }
.m-ann--10-1 span { right: 0; text-align: right; transform: translate(-0.688rem, -5.312rem); }
.m-ann--10-2 { left: 48.177%; top: 45.581%; }
.m-ann--10-2::before { width: 5.458rem; transform: rotate(-119.50deg); }
.m-ann--10-2 span { right: 0; text-align: right; transform: translate(-2.688rem, -4.750rem); }
.m-ann--10-3 { left: 47.758%; top: 56.686%; }
.m-ann--10-3::before { width: 9.375rem; transform: rotate(-36.87deg); }
.m-ann--10-3 span { left: 0; text-align: left; transform: translate(7.500rem, -5.625rem); }
.m-ann--10-4 { left: 88.879%; top: 25.174%; }
.m-ann--10-4::before { width: 4.277rem; transform: rotate(-153.06deg); }
.m-ann--10-4 span { right: 0; text-align: right; transform: translate(-3.812rem, -1.938rem); }
.m-ann--11-1 { left: 21.089%; top: 33.488%; }
.m-ann--11-1::before { width: 5.357rem; transform: rotate(-97.37deg); }
.m-ann--11-1 span { right: 0; text-align: right; transform: translate(-0.688rem, -5.312rem); }
.m-ann--11-2 { left: 42.935%; top: 49.186%; }
.m-ann--11-2::before { width: 4.193rem; transform: rotate(-116.57deg); }
.m-ann--11-2 span { right: 0; text-align: right; transform: translate(-1.875rem, -3.750rem); }
.m-ann--11-3 { left: 47.548%; top: 61.279%; }
.m-ann--11-3::before { width: 9.228rem; transform: rotate(-28.30deg); }
.m-ann--11-3 span { left: 0; text-align: left; transform: translate(8.125rem, -4.375rem); }
.m-ann--11-4 { left: 88.879%; top: 25.174%; }
.m-ann--11-4::before { width: 4.277rem; transform: rotate(-153.06deg); }
.m-ann--11-4 span { right: 0; text-align: right; transform: translate(-3.812rem, -1.938rem); }
.m-ann--12-1 { left: 21.089%; top: 24.186%; }
.m-ann--12-1::before { width: 2.895rem; transform: rotate(-103.74deg); }
.m-ann--12-1 span { right: 0; text-align: right; transform: translate(-0.688rem, -2.812rem); }
.m-ann--12-2 { left: 46.919%; top: 28.895%; }
.m-ann--12-2::before { width: 1.858rem; transform: rotate(-160.35deg); }
.m-ann--12-2 span { right: 0; text-align: right; transform: translate(-1.750rem, -0.625rem); }
.m-ann--12-3 { left: 53.419%; top: 26.105%; }
.m-ann--12-3::before { width: 5.088rem; transform: rotate(27.82deg); }
.m-ann--12-3 span { left: 0; text-align: left; transform: translate(4.500rem, 2.375rem); }
.m-ann--12-4 { left: 88.879%; top: 25.174%; }
.m-ann--12-4::before { width: 4.277rem; transform: rotate(-153.06deg); }
.m-ann--12-4 span { right: 0; text-align: right; transform: translate(-3.812rem, -1.938rem); }
.m-ann--13-1 { left: 21.089%; top: 24.186%; }
.m-ann--13-1::before { width: 2.895rem; transform: rotate(-103.74deg); }
.m-ann--13-1 span { right: 0; text-align: right; transform: translate(-0.688rem, -2.812rem); }
.m-ann--13-2 { left: 46.919%; top: 25.988%; }
.m-ann--13-2::before { width: 1.754rem; transform: rotate(175.91deg); }
.m-ann--13-2 span { right: 0; text-align: right; transform: translate(-1.750rem, 0.125rem); }
.m-ann--13-3 { left: 53.419%; top: 24.360%; }
.m-ann--13-3::before { width: 5.307rem; transform: rotate(32.01deg); }
.m-ann--13-3 span { left: 0; text-align: left; transform: translate(4.500rem, 2.812rem); }
.m-ann--13-4 { left: 88.879%; top: 25.174%; }
.m-ann--13-4::before { width: 4.277rem; transform: rotate(-153.06deg); }
.m-ann--13-4 span { right: 0; text-align: right; transform: translate(-3.812rem, -1.938rem); }
.m-ann--14-1 { left: 21.089%; top: 29.419%; }
.m-ann--14-1::before { width: 4.305rem; transform: rotate(-99.19deg); }
.m-ann--14-1 span { right: 0; text-align: right; transform: translate(-0.688rem, -4.250rem); }
.m-ann--14-2 { left: 47.758%; top: 27.151%; }
.m-ann--14-2::before { width: 2.382rem; transform: rotate(-175.49deg); }
.m-ann--14-2 span { right: 0; text-align: right; transform: translate(-2.375rem, -0.188rem); }
.m-ann--14-3 { left: 52.790%; top: 46.570%; }
.m-ann--14-3::before { width: 5.843rem; transform: rotate(-32.33deg); }
.m-ann--14-3 span { left: 0; text-align: left; transform: translate(4.938rem, -3.125rem); }
.m-ann--14-4 { left: 88.879%; top: 25.174%; }
.m-ann--14-4::before { width: 4.277rem; transform: rotate(-153.06deg); }
.m-ann--14-4 span { right: 0; text-align: right; transform: translate(-3.812rem, -1.938rem); }
.m-ann--15-1 { left: 21.613%; top: 35.727%; }
.m-ann--15-1::before { width: 5.977rem; transform: rotate(-96.60deg); }
.m-ann--15-1 span { right: 0; text-align: right; transform: translate(-0.688rem, -5.938rem); }
.m-ann--15-2 { left: 46.919%; top: 27.733%; }
.m-ann--15-2::before { width: 1.778rem; transform: rotate(-169.88deg); }
.m-ann--15-2 span { right: 0; text-align: right; transform: translate(-1.750rem, -0.312rem); }
.m-ann--15-3 { left: 53.419%; top: 25.523%; }
.m-ann--15-3::before { width: 5.148rem; transform: rotate(29.05deg); }
.m-ann--15-3 span { left: 0; text-align: left; transform: translate(4.500rem, 2.500rem); }
.m-ann--15-4 { left: 88.879%; top: 25.174%; }
.m-ann--15-4::before { width: 4.277rem; transform: rotate(-153.06deg); }
.m-ann--15-4 span { right: 0; text-align: right; transform: translate(-3.812rem, -1.938rem); }
.m-ann--16-1 { left: 21.089%; top: 24.186%; }
.m-ann--16-1::before { width: 2.895rem; transform: rotate(-103.74deg); }
.m-ann--16-1 span { right: 0; text-align: right; transform: translate(-0.688rem, -2.812rem); }
.m-ann--16-2 { left: 46.919%; top: 27.733%; }
.m-ann--16-2::before { width: 1.778rem; transform: rotate(-169.88deg); }
.m-ann--16-2 span { right: 0; text-align: right; transform: translate(-1.750rem, -0.312rem); }
.m-ann--16-3 { left: 52.161%; top: 50.291%; }
.m-ann--16-3::before { width: 6.825rem; transform: rotate(-37.18deg); }
.m-ann--16-3 span { left: 0; text-align: left; transform: translate(5.438rem, -4.125rem); }
.m-ann--16-4 { left: 88.879%; top: 25.174%; }
.m-ann--16-4::before { width: 4.277rem; transform: rotate(-153.06deg); }
.m-ann--16-4 span { right: 0; text-align: right; transform: translate(-3.812rem, -1.938rem); }
.m-ann--17-1 { left: 21.089%; top: 35.233%; }
.m-ann--17-1::before { width: 5.357rem; transform: rotate(-97.37deg); }
.m-ann--17-1 span { right: 0; text-align: right; transform: translate(-0.688rem, -5.312rem); }
.m-ann--17-2 { left: 47.339%; top: 27.616%; }
.m-ann--17-2::before { width: 1.778rem; transform: rotate(-169.88deg); }
.m-ann--17-2 span { right: 0; text-align: right; transform: translate(-1.750rem, -0.312rem); }
.m-ann--17-3 { left: 55.935%; top: 55.523%; }
.m-ann--17-3::before { width: 6.270rem; transform: rotate(-66.50deg); }
.m-ann--17-3 span { left: 0; text-align: left; transform: translate(2.500rem, -5.750rem); }
.m-ann--17-4 { left: 88.879%; top: 25.174%; }
.m-ann--17-4::before { width: 4.277rem; transform: rotate(-153.06deg); }
.m-ann--17-4 span { right: 0; text-align: right; transform: translate(-3.812rem, -1.938rem); }
.m-ann--18-1 { left: 21.089%; top: 24.186%; }
.m-ann--18-1::before { width: 2.895rem; transform: rotate(-103.74deg); }
.m-ann--18-1 span { right: 0; text-align: right; transform: translate(-0.688rem, -2.812rem); }
.m-ann--18-2 { left: 47.339%; top: 24.128%; }
.m-ann--18-2::before { width: 3.412rem; transform: rotate(151.56deg); }
.m-ann--18-2 span { right: 0; text-align: right; transform: translate(-3.000rem, 1.625rem); }
.m-ann--18-3 { left: 50.694%; top: 64.884%; }
.m-ann--18-3::before { width: 6.644rem; transform: rotate(-41.19deg); }
.m-ann--18-3 span { left: 0; text-align: left; transform: translate(5.000rem, -4.375rem); }
.m-ann--18-4 { left: 88.879%; top: 25.174%; }
.m-ann--18-4::before { width: 4.277rem; transform: rotate(-153.06deg); }
.m-ann--18-4 span { right: 0; text-align: right; transform: translate(-3.812rem, -1.938rem); }
.m-ann--19-1 { left: 21.089%; top: 36.977%; }
.m-ann--19-1::before { width: 5.977rem; transform: rotate(-96.60deg); }
.m-ann--19-1 span { right: 0; text-align: right; transform: translate(-0.688rem, -5.938rem); }
.m-ann--19-2 { left: 47.339%; top: 28.198%; }
.m-ann--19-2::before { width: 1.778rem; transform: rotate(-169.88deg); }
.m-ann--19-2 span { right: 0; text-align: right; transform: translate(-1.750rem, -0.312rem); }
.m-ann--19-3 { left: 54.887%; top: 22.151%; }
.m-ann--19-3::before { width: 3.658rem; transform: rotate(19.98deg); }
.m-ann--19-3 span { left: 0; text-align: left; transform: translate(3.438rem, 1.250rem); }
.m-ann--19-4 { left: 88.879%; top: 25.174%; }
.m-ann--19-4::before { width: 4.277rem; transform: rotate(-153.06deg); }
.m-ann--19-4 span { right: 0; text-align: right; transform: translate(-3.812rem, -1.938rem); }
.m-ann--20-1 { left: 21.089%; top: 36.395%; }
.m-ann--20-1::before { width: 5.791rem; transform: rotate(-96.82deg); }
.m-ann--20-1 span { right: 0; text-align: right; transform: translate(-0.688rem, -5.750rem); }
.m-ann--20-2 { left: 47.339%; top: 26.453%; }
.m-ann--20-2::before { width: 3.131rem; transform: rotate(153.95deg); }
.m-ann--20-2 span { right: 0; text-align: right; transform: translate(-2.812rem, 1.375rem); }
.m-ann--20-3 { left: 48.387%; top: 69.477%; }
.m-ann--20-3::before { width: 7.825rem; transform: rotate(-58.72deg); }
.m-ann--20-3 span { left: 0; text-align: left; transform: translate(4.062rem, -6.688rem); }
.m-ann--20-4 { left: 88.879%; top: 25.174%; }
.m-ann--20-4::before { width: 4.277rem; transform: rotate(-153.06deg); }
.m-ann--20-4 span { right: 0; text-align: right; transform: translate(-3.812rem, -1.938rem); }
.m-ann--21-1 { left: 21.089%; top: 36.395%; }
.m-ann--21-1::before { width: 5.791rem; transform: rotate(-96.82deg); }
.m-ann--21-1 span { right: 0; text-align: right; transform: translate(-0.688rem, -5.750rem); }
.m-ann--21-2 { left: 47.339%; top: 27.616%; }
.m-ann--21-2::before { width: 1.750rem; transform: rotate(180.00deg); }
.m-ann--21-2 span { right: 0; text-align: right; transform: translate(-1.750rem, 0.000rem); }
.m-ann--21-3 { left: 53.105%; top: 63.081%; }
.m-ann--21-3::before { width: 6.003rem; transform: rotate(-51.34deg); }
.m-ann--21-3 span { left: 0; text-align: left; transform: translate(3.750rem, -4.688rem); }
.m-ann--21-4 { left: 88.879%; top: 25.174%; }
.m-ann--21-4::before { width: 4.277rem; transform: rotate(-153.06deg); }
.m-ann--21-4 span { right: 0; text-align: right; transform: translate(-3.812rem, -1.938rem); }

@media (max-width: 82rem) {
  .m-ann { position: static; display: grid; gap: 1.4rem clamp(1rem, 2vw, 1.6rem);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(var(--k-wrap), 100% - var(--k-pad) * 2); margin-inline: auto;
    margin-top: clamp(1.5rem, 3vw, 2.4rem); }
  .m-ann > li { position: relative; width: auto; height: auto; left: auto; top: auto;
    padding-top: 1.3rem; border-top: 1px solid rgba(37, 50, 75, .22); }
  .m-ann > li::before { display: none; }
  .m-ann i { left: 0; top: -3.5px; border-width: 2px; }
  .m-ann > li span { position: static; right: auto; left: auto; transform: none;
    text-align: start; white-space: normal; border-bottom: 0; padding-bottom: 0;
    display: block; text-transform: none; letter-spacing: 0; font-weight: 400;
    font-size: .9rem; line-height: 1.42; color: var(--k-on-dark-2); }
  .m-ann b { display: block; margin: 0 0 .3rem; font-size: .7rem; letter-spacing: .14em;
    color: var(--k-on-light-2); }
}
@media (max-width: 34rem) { .m-ann { grid-template-columns: minmax(0, 1fr); } }

.m-svc [hidden], .m-proj [hidden] { display: none !important; }
.m-art { position: relative; width: 100%; min-width: 1240px;
  aspect-ratio: 1240 / 430; }
.m-art img { position: absolute; inset: 0; width: 100%; height: 100%;
  min-width: 0; }
.m-pins { position: absolute; inset: 0; margin: 0; padding: 0; list-style: none;
  pointer-events: none; }
.m-pin { position: absolute; }
.m-pin > a { position: absolute; inset: 0; display: block; pointer-events: auto;
  border-radius: .4rem; transition: transform .18s var(--ease-out); }

.m-pin::before { content: ""; position: absolute; inset: -18% -10%; pointer-events: none;
  opacity: 0; transform: scale(1.18);
  --c: var(--fam-ink); --w: 1.6px; --l: 12px;
  background:
    linear-gradient(var(--c), var(--c)) left top / var(--l) var(--w) no-repeat,
    linear-gradient(var(--c), var(--c)) left top / var(--w) var(--l) no-repeat,
    linear-gradient(var(--c), var(--c)) right top / var(--l) var(--w) no-repeat,
    linear-gradient(var(--c), var(--c)) right top / var(--w) var(--l) no-repeat,
    linear-gradient(var(--c), var(--c)) left bottom / var(--l) var(--w) no-repeat,
    linear-gradient(var(--c), var(--c)) left bottom / var(--w) var(--l) no-repeat,
    linear-gradient(var(--c), var(--c)) right bottom / var(--l) var(--w) no-repeat,
    linear-gradient(var(--c), var(--c)) right bottom / var(--w) var(--l) no-repeat;
  transition: opacity .16s ease, transform .22s var(--ease-out); }

.m-pin > a::after { content: ""; position: absolute; inset: 0;
  clip-path: polygon(50% 8%, 98% 44%, 50% 80%, 2% 44%);
  background: linear-gradient(160deg, rgba(77, 159, 255, .4),
    rgba(45, 212, 191, .26) 62%, rgba(255, 111, 181, .24));
  opacity: 0; transition: opacity .18s ease; }

.m-pin i { position: absolute; left: 50%; bottom: 14%; width: 7px; height: 7px;
  margin-left: -3.5px; border-radius: 50%; background: #FFFFFF;
  border: 1.5px solid var(--fam);
  transition: background-color .16s ease, transform .18s var(--ease-out); }

.m-pin__t { position: absolute; left: 50%; bottom: calc(100% - .25rem);
  transform: translate(-50%, 0); white-space: nowrap;
  padding-bottom: .22rem; border-bottom: 1px solid rgba(37, 50, 75, .2);
  font-size: .6rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase;
  color: var(--k-on-dark-2);

  background: linear-gradient(var(--fam-ink), var(--fam-ink)) bottom center / 0 1.5px no-repeat;
  transition: color .16s ease, background-size .26s var(--ease-out),
    border-color .12s ease; }
.m-pin__t::after { content: ""; position: absolute; left: 50%; top: 100%;
  width: 1px; height: .5rem; background: rgba(37, 50, 75, .24); }

.m-pin > a[aria-current] .m-pin__t { color: var(--k-on-dark);
  border-bottom-color: var(--fam); }
.m-pin > a[aria-current] i { background: var(--fam-ink); transform: scale(1.35); }

.m-pin:hover::before, .m-pin:has(> a:focus-visible)::before {
  opacity: 1; transform: scale(1); }
.m-pin > a:hover::after, .m-pin > a:focus-visible::after { opacity: 1; }
.m-pin > a:hover i, .m-pin > a:focus-visible i {
  background: var(--fam-ink); transform: scale(1.5); }
.m-pin > a:hover .m-pin__t, .m-pin > a:focus-visible .m-pin__t {
  color: var(--fam-ink); background-size: 100% 1.5px;
  border-bottom-color: transparent; }

@keyframes m-fig-in { from { opacity: 0; transform: scale(1.008); }
  to { opacity: 1; transform: none; } }
@keyframes m-fig-out { from { opacity: 1; transform: none; }
  to { opacity: 0; transform: scale(.996); } }
@keyframes m-ann-in { from { opacity: 0; transform: translateY(7px); }
  to { opacity: 1; transform: none; } }
.m-svc.is-swap .m-art img:not([hidden]):not(.is-out) {
  animation: m-fig-in .52s var(--ease) both; }
.m-art img.is-out { animation: m-fig-out .46s var(--ease) both; pointer-events: none; }
.m-svc.is-swap ol.m-ann:not([hidden]) > li { animation: m-ann-in .4s var(--ease-out) both; }
.m-svc.is-swap ol.m-ann:not([hidden]) > li:nth-child(1) { animation-delay: .14s; }
.m-svc.is-swap ol.m-ann:not([hidden]) > li:nth-child(2) { animation-delay: .22s; }
.m-svc.is-swap ol.m-ann:not([hidden]) > li:nth-child(3) { animation-delay: .30s; }
.m-svc.is-swap ol.m-ann:not([hidden]) > li:nth-child(4) { animation-delay: .38s; }
.m-svc.is-swap .m-svc__lead > [data-st]:not([hidden]) {
  animation: m-ann-in .42s var(--ease-out) .16s both; }

@media (prefers-reduced-motion: reduce) {
  .m-pin::before, .m-pin > a::after, .m-pin i, .m-pin__t { transition: none; }
  .m-svc.is-swap .m-art img:not([hidden]), .m-art img.is-out,
  .m-svc.is-swap ol.m-ann:not([hidden]) > li,
  .m-svc.is-swap .m-svc__lead > [data-st]:not([hidden]) { animation: none; }
}

.m-tlds { position: absolute; inset: 0; margin: 0; padding: 0; list-style: none;
  pointer-events: none; }
.m-tld { position: absolute; width: 0; height: 0; }
.m-tld span { position: absolute; left: 50%; bottom: .95rem; transform: translateX(-50%);
  white-space: nowrap; font-size: .6rem; font-weight: 600; letter-spacing: .04em;
  color: var(--k-on-dark); padding-bottom: .2rem;
  border-bottom: 1px solid rgba(37, 50, 75, .24); }
.m-tld span::after { content: ""; position: absolute; left: 50%; top: 100%;
  width: 1px; height: .5rem; background: rgba(37, 50, 75, .24); }
@media (max-width: 34rem) { .m-tlds { display: none; } }

.m-tld--1 { left: 44.194%; top: 36.105%; }
.m-tld--2 { left: 48.387%; top: 34.128%; }
.m-tld--3 { left: 52.581%; top: 32.151%; }
.m-tld--4 { left: 56.774%; top: 30.174%; }

.m-pin--g1-1 { left: 22.823%; top: 8.837%; width: 4.355%; height: 9.767%; }
.m-pin--g1-2 { left: 29.758%; top: 8.837%; width: 4.355%; height: 9.767%; }
.m-pin--g1-3 { left: 36.694%; top: 8.837%; width: 4.355%; height: 9.767%; }
.m-pin--g1-4 { left: 43.629%; top: 8.837%; width: 4.355%; height: 9.767%; }
.m-pin--g1-5 { left: 50.565%; top: 8.837%; width: 4.355%; height: 9.767%; }
.m-pin--g1-6 { left: 57.500%; top: 8.837%; width: 4.355%; height: 9.767%; }
.m-pin--g1-7 { left: 64.435%; top: 8.837%; width: 4.355%; height: 9.767%; }
.m-pin--g2-1 { left: 22.823%; top: 8.837%; width: 4.355%; height: 9.767%; }
.m-pin--g2-2 { left: 28.790%; top: 8.837%; width: 4.355%; height: 9.767%; }
.m-pin--g2-3 { left: 34.758%; top: 8.837%; width: 4.355%; height: 9.767%; }
.m-pin--g2-4 { left: 40.726%; top: 8.837%; width: 4.355%; height: 9.767%; }
.m-pin--g3-1 { left: 22.823%; top: 8.837%; width: 4.355%; height: 9.767%; }
.m-pin--g3-2 { left: 28.790%; top: 8.837%; width: 4.355%; height: 9.767%; }
.m-pin--g3-3 { left: 34.758%; top: 8.837%; width: 4.355%; height: 9.767%; }
.m-pin--g3-4 { left: 40.726%; top: 8.837%; width: 4.355%; height: 9.767%; }
.m-pin--g3-5 { left: 46.694%; top: 8.837%; width: 4.355%; height: 9.767%; }
.m-pin--g4-1 { left: 22.823%; top: 8.837%; width: 4.355%; height: 9.767%; }
.m-pin--g4-2 { left: 28.790%; top: 8.837%; width: 4.355%; height: 9.767%; }
.m-pin--g4-3 { left: 34.758%; top: 8.837%; width: 4.355%; height: 9.767%; }
.m-pin--g4-4 { left: 40.726%; top: 8.837%; width: 4.355%; height: 9.767%; }
.m-pin--g4-5 { left: 46.694%; top: 8.837%; width: 4.355%; height: 9.767%; }

.m-svc__head--lead { grid-template-columns: auto minmax(0, 1fr) minmax(16rem, 30rem); }
.m-svc__head--lead > .m-svc__lead {
  grid-column: 3; grid-row: 1 / span 2; align-self: center; display: grid; }

.m-svc__cut { grid-column: 2; grid-row: 1 / span 2; align-self: center;
  gap: clamp(.7rem, 1.5vw, 1rem); }

.m-svc__cut .m-svc__ttl { grid-column: auto; justify-self: stretch; align-items: end; }
.m-svc__cut .m-svc__h { font-size: clamp(1.8rem, 3.9vw, 3.1rem); line-height: 1.06;
  letter-spacing: -.02em; }
.m-svc__cut .m-svc__h::after { display: none; }
.m-svc__cut .m-cut__rule { width: min(22rem, 100%); }

.m-svc--r .m-cutface { transform: scaleX(-1); }
.m-svc__head--r { grid-template-columns: minmax(16rem, 30rem) minmax(0, 1fr) auto; }
.m-svc__head--r > .m-svc__lead { grid-column: 1; }
.m-svc__head--r > .m-svc__num { grid-column: 3; }
.m-svc__head--r .m-svc__cut { justify-items: end; text-align: right;
  padding-inline: 0 clamp(1.5rem, 4vw, 3rem); }
.m-svc__head--r .m-svc__cut::before { inset-inline-start: auto; inset-inline-end: 0;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - .9rem)); }
.m-svc__head--r .m-cut__k span {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - .58rem),
    calc(100% - .58rem) 100%, 0 100%); }
.m-svc__head--r .m-cut__rule { transform: scaleX(-1); }
.m-svc__head--r .m-svc__desc {
  padding: 1rem 1.3rem 1.05rem 1.15rem;
  background:
    linear-gradient(var(--fam), var(--fam)) right top / 3px 100% no-repeat,
    repeating-linear-gradient(45deg, rgba(37, 50, 75, .055) 0 1.5px, transparent 1.5px 7px),
    linear-gradient(210deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .5));
  clip-path: polygon(0 0, 100% 0, 100% 100%, .85rem 100%, 0 calc(100% - .85rem)); }
.m-svc__head--r .m-svc__desc::after { right: auto; left: -.06rem;
  transform: rotate(45deg); transform-origin: 0 50%; }

.m-svc__num { grid-row: 1 / span 2; align-self: center; display: grid; }
.m-svc__ttl { grid-column: 2; display: grid; }
.m-svc__num > [data-st], .m-svc__ttl > [data-st] { grid-area: 1 / 1; }
.m-svc__num > [data-st][hidden], .m-svc__ttl > [data-st][hidden] {
  display: grid !important; visibility: hidden; }
.m-svc__ttl > [data-st][hidden] { display: block !important; }

html:not(.js) .m-art { aspect-ratio: auto; }
html:not(.js) .m-art img { position: static; }
html:not(.js) .m-pins { display: none; }
html:not(.js) .m-svc [data-st][hidden] { display: block !important; visibility: visible; }
html:not(.js) .m-svc__num > [data-st], html:not(.js) .m-svc__ttl > [data-st],
html:not(.js) .m-svc__lead > [data-st] { grid-area: auto; }

.m-svc__lead > [data-st] { grid-area: 1 / 1; }
.m-svc__lead > [data-st][hidden] { display: block !important; visibility: hidden; }

.m-svc__desc { position: relative; margin: 0;
  padding: 1rem 1.15rem 1.05rem 1.3rem;
  font-size: .95rem; line-height: 1.6; color: var(--k-on-dark-2);
  background:
    linear-gradient(var(--fam), var(--fam)) left top / 3px 100% no-repeat,
    repeating-linear-gradient(-45deg, rgba(37, 50, 75, .055) 0 1.5px, transparent 1.5px 7px),
    linear-gradient(150deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .5));
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - .85rem),
    calc(100% - .85rem) 100%, 0 100%); }

.m-svc__desc::after { content: ""; position: absolute; right: -.06rem; bottom: .48rem;
  width: 1.25rem; height: 1px; background: rgba(37, 50, 75, .34);
  transform: rotate(-45deg); transform-origin: 100% 50%; }
.m-svc__desc b { color: var(--k-on-dark); font-weight: 600; }

@media (max-width: 68rem) and (min-width: 34.01rem) {
  .m-svc__head--lead { grid-template-columns: auto minmax(0, 1fr); }
}
@media (max-width: 68rem) {
  .m-svc__head--lead > .m-svc__lead {
    grid-column: 1 / -1; grid-row: auto; margin-top: clamp(1rem, 2.4vw, 1.5rem); }
}
@media (max-width: 68rem) {
  .m-svc__head--r {
    grid-template-columns: auto minmax(0, 1fr); }
  .m-svc__head--r > .m-svc__num { grid-column: 1; }
  .m-svc__head--r .m-svc__cut { grid-column: 2; justify-items: start; text-align: left;
    padding-inline: clamp(1.5rem, 4vw, 3rem) 0; }
  .m-svc__head--r .m-svc__cut::before { inset-inline-start: 0; inset-inline-end: auto;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - .9rem), 0 100%); }
  .m-svc__head--r .m-cut__rule { transform: none; }
}
@media (max-width: 34rem) {
  .m-svc__cut { grid-column: 1; }

  .m-svc__head--lead { grid-template-columns: minmax(0, 1fr); }
  .m-svc__num { grid-row: auto; justify-self: start; }
  .m-svc__ttl { grid-column: 1; }
  .m-svc__head--lead > .m-svc__lead { grid-column: 1; }

  .m-svc__head--r { grid-template-columns: minmax(0, 1fr); }
  .m-svc__head--r .m-svc__cut { grid-column: 1; }
  .m-svc__head--r > .m-svc__num { grid-column: 1; }
  .m-svc__head--r > .m-svc__lead { grid-column: 1; }
}

.m-tag--1 { left: 21.54%; top: 20.67%; }
.m-tag--1::before { transform: rotate(210deg); }
.m-tag--1 span { inset-inline-end: 2.25rem; text-align: right; bottom: .78rem; top: auto; }
.m-tag--2 { left: 49.67%; top: 13.26%; }
.m-tag--2::before { transform: rotate(210deg); }
.m-tag--2 span { inset-inline-end: 2.25rem; text-align: right; bottom: .78rem; top: auto; }
.m-tag--3 { left: 93.36%; top: 40.16%; }
.m-tag--3::before { transform: rotate(150deg); }
.m-tag--3 span { inset-inline-end: 2.25rem; text-align: right; top: .78rem; bottom: auto; }
.m-tag--4 { left: 8.18%; top: 63.97%; }
.m-tag--4::before { transform: rotate(30deg); }
.m-tag--4 span { inset-inline-start: 2.25rem; text-align: left; top: .78rem; bottom: auto; }
.m-tag--5 { left: 37.70%; top: 50.63%; }
.m-tag--5::before { transform: rotate(210deg); }
.m-tag--5 span { inset-inline-end: 2.25rem; text-align: right; bottom: .78rem; top: auto; }
.m-tag--6 { left: 68.50%; top: 56.93%; }
.m-tag--6::before { transform: rotate(30deg); }
.m-tag--6 span { inset-inline-start: 2.25rem; text-align: left; top: .78rem; bottom: auto; }
.m-tag--7 { left: 18.83%; top: 81.71%; }
.m-tag--7::before { transform: rotate(210deg); }
.m-tag--7 span { inset-inline-end: 2.25rem; text-align: right; bottom: .78rem; top: auto; }
.m-tag--8 { left: 42.49%; top: 83.19%; }
.m-tag--8::before { transform: rotate(150deg); }
.m-tag--8 span { inset-inline-end: 2.25rem; text-align: right; top: .78rem; bottom: auto; }
.m-tag--9 { left: 75.88%; top: 82.82%; }
.m-tag--9::before { transform: rotate(30deg); }
.m-tag--9 span { inset-inline-start: 2.25rem; text-align: left; top: .78rem; bottom: auto; }

.m-proj { position: relative; isolation: isolate; overflow: clip; color: var(--k-on-light);
  background:
    radial-gradient(86% 56% at 50% 0%, rgba(77, 159, 255, .13) 0%, transparent 72%),
    radial-gradient(42% 40% at 5% 6%, rgba(45, 212, 191, .11) 0%, transparent 70%),
    radial-gradient(44% 40% at 96% 4%, rgba(255, 111, 181, .11) 0%, transparent 70%),
    linear-gradient(180deg, #EEF4FB 0%, #FAFCFE 56%, #FFFFFF 100%);
  padding-block: clamp(3rem, 6vw, 5.5rem) clamp(2.5rem, 5vw, 4.5rem); }

.m-proj::before, .m-proj::after { content: ""; position: absolute; inset: 0;
  z-index: -1; opacity: 0; pointer-events: none;
  transition: opacity .55s var(--ease); }
.m-proj::before { background:
    radial-gradient(86% 56% at 50% 0%, rgba(45, 212, 191, .2) 0%, transparent 72%); }
.m-proj::after { background:
    radial-gradient(86% 56% at 50% 0%, rgba(255, 111, 181, .18) 0%, transparent 72%); }
.m-proj[data-swap="2"]::before, .m-proj[data-swap="3"]::after { opacity: 1; }
.m-proj > [data-rv], .m-dc > [data-rv] { position: relative; z-index: 1; }
.m-proj__head .m-cut__h { max-width: 15ch; }

.m-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(.7rem, 1.6vw, 1.2rem); margin-top: clamp(1.8rem, 3.4vw, 2.6rem); }

.m-tab > button { position: relative; width: 100%; height: 100%; align-content: start;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr); align-items: center;
  gap: .25rem .75rem; padding: 1rem 1.1rem 1.05rem; text-align: left;
  background:
    repeating-linear-gradient(-45deg, rgba(37, 50, 75, .05) 0 1.5px, transparent 1.5px 7px),
    linear-gradient(155deg, rgba(255, 255, 255, .5), rgba(255, 255, 255, .22));
  box-shadow: inset 0 0 0 1px rgba(37, 50, 75, .14);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - .9rem), calc(100% - .9rem) 100%, 0 100%);
  transition: background-color .22s var(--ease), box-shadow .22s var(--ease),
    transform .26s var(--ease-out); }
.m-tab > button:hover { transform: translateY(-2px);
  box-shadow: inset 0 0 0 1px rgba(37, 50, 75, .26); }
.m-tab .m-svc__mark { grid-row: 1 / span 2; width: 1.3rem; height: .74rem;
  opacity: .45; transition: opacity .2s var(--ease); }
.m-tab b { font-size: clamp(1.25rem, 2vw, 1.6rem); font-weight: 600;
  letter-spacing: -.02em; line-height: 1.05; }
.m-tab span { font-size: .66rem; font-weight: 600; letter-spacing: .14em;
  text-transform: uppercase; color: var(--k-on-light-2); }
.m-tab > button::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px;
  background: var(--fam); opacity: .3; transition: opacity .2s var(--ease); }
.m-tab > button::after { content: ""; position: absolute; right: -.06rem; bottom: .62rem;
  width: 1.5rem; height: 1px; background: rgba(37, 50, 75, .3);
  transform: rotate(-45deg); transform-origin: 100% 50%; }
.m-tab > button[aria-current] {
  background:
    repeating-linear-gradient(-45deg, rgba(37, 50, 75, .05) 0 1.5px, transparent 1.5px 7px),
    linear-gradient(155deg, #FFFFFF, rgba(255, 255, 255, .86));
  box-shadow: inset 0 0 0 1px rgba(37, 50, 75, .22), 0 16px 30px -26px rgba(15, 29, 56, .8); }
.m-tab > button[aria-current]::before { opacity: 1; height: 4px; }
.m-tab > button[aria-current] .m-svc__mark { opacity: 1; }
.m-tab > button[aria-current] span { color: var(--fam-ink); }

.m-proj__fig { position: relative; margin-top: clamp(.6rem, 1.4vw, 1.2rem);
  width: min(var(--k-wrap), 100% - var(--k-pad) * 2); margin-inline: auto; }
.m-proj__scroll { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; }
.m-proj__art { position: relative; width: 100%; min-width: 1240px;
  aspect-ratio: 1240 / 430; }
.m-proj__art img { position: absolute; inset: 0; width: 100%; height: 100%; }

.m-proj__foot { display: grid; margin-top: clamp(.8rem, 1.6vw, 1.4rem); }
.m-proj__foot > [data-st] { grid-area: 1 / 1; }
.m-proj__foot > [data-st][hidden] { display: block !important; visibility: hidden; }
html:not(.js) .m-proj__foot > [data-st] { grid-area: auto; }
html:not(.js) .m-proj__foot > [data-st][hidden] { visibility: visible; }
html:not(.js) .m-proj__art { aspect-ratio: auto; }
html:not(.js) .m-proj__art img { position: static; }
.m-proj__row { display: grid; align-items: start;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: clamp(1.4rem, 3.4vw, 3rem); padding-top: 1.6rem;
  border-top: 1px solid rgba(37, 50, 75, .16); }
.m-proj__k { font-size: clamp(1.35rem, 2.3vw, 1.85rem); font-weight: 600;
  line-height: 1.22; letter-spacing: -.018em; }

.m-proj__d { position: relative; margin: 1.1rem 0 1.3rem;
  padding: 1rem 1.15rem 1.05rem 1.3rem;
  font-size: .93rem; line-height: 1.6; color: var(--k-on-light-2);
  background:
    linear-gradient(var(--fam), var(--fam)) left top / 3px 100% no-repeat,
    repeating-linear-gradient(-45deg, rgba(37, 50, 75, .055) 0 1.5px, transparent 1.5px 7px),
    linear-gradient(150deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .55));
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - .85rem),
    calc(100% - .85rem) 100%, 0 100%); }
.m-proj__d::after { content: ""; position: absolute; right: -.06rem; bottom: .48rem;
  width: 1.25rem; height: 1px; background: rgba(37, 50, 75, .34);
  transform: rotate(-45deg); transform-origin: 100% 50%; }

.m-caps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.m-caps li { position: relative; display: grid;
  grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: .1rem .8rem;
  padding: .85rem 1rem .9rem;
  background:
    repeating-linear-gradient(-45deg, rgba(37, 50, 75, .045) 0 1.5px, transparent 1.5px 7px),
    linear-gradient(155deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .45));
  box-shadow: inset 0 0 0 1px rgba(37, 50, 75, .12);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - .7rem), calc(100% - .7rem) 100%, 0 100%);
  transition: box-shadow .2s var(--ease), transform .24s var(--ease-out); }
.m-caps li:hover { transform: translateY(-2px);
  box-shadow: inset 0 0 0 1px rgba(37, 50, 75, .26); }
.m-caps li::after { content: ""; position: absolute; inset: 0 0 auto; height: 2px;
  background: var(--fam); opacity: .55; }
.m-caps b { font-size: .68rem; font-weight: 600; letter-spacing: .12em;
  color: var(--fam-ink); font-variant-numeric: tabular-nums; padding-top: .12em; }
.m-caps span { font-size: .92rem; line-height: 1.4; color: var(--k-on-light); }

.m-proj.is-swap .m-proj__art img:not([hidden]) {
  animation: m-fig-in .5s var(--ease-out) both; }
.m-proj.is-swap ol.m-ann:not([hidden]) > li { animation: m-ann-in .4s var(--ease-out) both; }
.m-proj.is-swap ol.m-ann:not([hidden]) > li:nth-child(2) { animation-delay: .1s; }
.m-proj.is-swap ol.m-ann:not([hidden]) > li:nth-child(3) { animation-delay: .18s; }
.m-proj.is-swap .m-proj__foot > [data-st]:not([hidden]) {
  animation: m-ann-in .4s var(--ease-out) .08s both; }

@media (max-width: 62rem) {
  .m-proj__row { grid-template-columns: minmax(0, 1fr); gap: 1.4rem; }
}
@media (max-width: 40rem) {
  .m-tabs { grid-template-columns: minmax(0, 1fr); }
  .m-caps { grid-template-columns: minmax(0, 1fr); }
  .m-tab > button { padding: .85rem 1rem .9rem; }
}
@media (prefers-reduced-motion: reduce) {
  .m-tab > button, .m-proj::before, .m-proj::after, .m-caps li { transition: none; }
  .m-proj.is-swap .m-proj__art img:not([hidden]),
  .m-proj.is-swap ol.m-ann:not([hidden]) > li,
  .m-proj.is-swap .m-proj__foot > [data-st]:not([hidden]) { animation: none; }
}

.m-dc { position: relative; isolation: isolate; overflow: clip; color: var(--k-on-light);
  background:
    radial-gradient(76% 46% at 50% 0%, rgba(77, 159, 255, .14) 0%, transparent 70%),
    radial-gradient(40% 36% at 4% 10%, rgba(45, 212, 191, .1) 0%, transparent 70%),
    radial-gradient(42% 38% at 97% 6%, rgba(255, 111, 181, .1) 0%, transparent 70%),
    linear-gradient(180deg, #EDF3FA 0%, #FAFCFE 52%, #FFFFFF 100%);
  padding-block: clamp(3rem, 6vw, 5.5rem) clamp(2.5rem, 5vw, 4.5rem);
  --fam: var(--bng-blue); --fam-ink: var(--k-blue); }
.m-dc__head .m-cut__h { max-width: 18ch; }

.m-dc__specs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.2rem; margin-top: clamp(1.8rem, 3.4vw, 2.6rem);
  padding-top: 1.3rem; border-top: 1px solid rgba(37, 50, 75, .16); }
.m-dc__specs li { display: grid; gap: .3rem; padding-left: 1rem;
  border-left: 1px solid rgba(37, 50, 75, .14); }
.m-dc__specs li:first-child { padding-left: 0; border-left: 0; }
.m-dc__specs b { font-size: clamp(1.5rem, 2.8vw, 2.2rem); font-weight: 600;
  letter-spacing: -.022em; line-height: 1; font-variant-numeric: tabular-nums; }
.m-dc__specs li:nth-child(2) b { color: var(--k-blue); }
.m-dc__specs li:nth-child(3) b { color: var(--k-teal); }
.m-dc__specs li:nth-child(4) b { color: var(--k-pink); }
.m-dc__specs span { font-size: .8rem; color: var(--k-on-light-2); }

.m-dc__fig { position: relative; margin-top: clamp(1.4rem, 3vw, 2.4rem);
  width: min(var(--k-wrap), 100% - var(--k-pad) * 2); margin-inline: auto; }
.m-dc__scroll { overflow-x: visible; }
.m-dc__art { position: relative; width: 100%; aspect-ratio: 1240 / 1090; }
.m-dc__art img { position: absolute; inset: 0; width: 100%; height: 100%; }

.m-tblock { display: grid; grid-template-columns: auto auto auto minmax(0, 1fr);
  margin-top: 1.1rem; box-shadow: inset 0 0 0 1px rgba(37, 50, 75, .22);
  background: linear-gradient(150deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .5)); }
.m-tblock > div { padding: .7rem 1.1rem .75rem;
  box-shadow: inset 1px 0 0 rgba(37, 50, 75, .16); }
.m-tblock > div:first-child { box-shadow: none; }
.m-tblock dt { font-size: .62rem; font-weight: 600; letter-spacing: .16em;
  text-transform: uppercase; color: var(--k-on-light-2); }
.m-tblock dd { margin: .2rem 0 0; font-size: .92rem; font-weight: 600;
  color: var(--k-on-light); }
.m-tblock__d { display: grid; align-content: center;
  background: repeating-linear-gradient(-45deg,
    rgba(37, 50, 75, .05) 0 1.5px, transparent 1.5px 7px); }
.m-tblock__d dd { font-weight: 400; font-size: .86rem; color: var(--k-on-light-2); }

.m-dc__netrow { display: grid; grid-template-columns: minmax(0, 1fr) auto;
  align-items: center; gap: 1.4rem; margin-top: .9rem; }
.m-cns { position: absolute; inset: 0; margin: 0; padding: 0; list-style: none; }
.m-cn { position: absolute; transform: translate(-50%, 0); white-space: nowrap;
  font-size: .66rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: var(--k-on-light-2); }
.m-cn b { display: block; font-size: .82rem; letter-spacing: .1em;
  color: var(--k-on-light); }

.m-caps__t { font-size: .96rem; font-weight: 600; line-height: 1.25; }
.m-caps__d { grid-column: 2; margin-top: .35rem; font-size: .85rem; line-height: 1.5;
  color: var(--k-on-light-2); }

.m-dc__net { margin-top: clamp(2.4rem, 5vw, 4rem);
  padding-top: clamp(1.6rem, 3vw, 2.4rem);
  border-top: 1px solid rgba(37, 50, 75, .16); }
.m-dc__net .m-eyebrow { color: var(--k-teal); }
.m-dc__net .m-d32 { margin-top: .5rem; max-width: 30ch; }
.m-dc__netd { margin: 0; max-width: 64ch; font-size: .93rem; color: var(--k-on-light-2); }

@media (max-width: 62rem) {
  .m-dc__specs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem 1rem; }
  .m-dc__specs li:nth-child(3) { padding-left: 0; border-left: 0; }
  .m-tblock { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .m-tblock__d { grid-column: 1 / -1; box-shadow: inset 0 1px 0 rgba(37, 50, 75, .16); }
}
@media (max-width: 40rem) {
  .m-dc__specs { grid-template-columns: minmax(0, 1fr); }
  .m-dc__specs li { padding-left: 0; border-left: 0; padding-top: .8rem;
    border-top: 1px solid rgba(37, 50, 75, .12); }
  .m-dc__specs li:first-child { padding-top: 0; border-top: 0; }
  .m-tblock { grid-template-columns: minmax(0, 1fr); }
  .m-tblock > div { box-shadow: inset 0 1px 0 rgba(37, 50, 75, .16); }
  .m-tblock > div:first-child { box-shadow: none; }
  .m-dc__netrow { grid-template-columns: minmax(0, 1fr); }
}

.m-ann--31-1 { left: 25.887%; top: 17.470%; }
.m-ann--31-1::before { width: 1.912rem; transform: rotate(-101.31deg); }
.m-ann--31-1 span { left: 0; text-align: left; transform: translate(-0.375rem, -1.875rem); }
.m-ann--31-2 { left: 35.952%; top: 37.935%; }
.m-ann--31-2::before { width: 10.196rem; transform: rotate(-40.53deg); }
.m-ann--31-2 span { left: 0; text-align: left; transform: translate(7.750rem, -6.625rem); }
.m-ann--31-3 { left: 43.500%; top: 26.958%; }
.m-ann--31-3::before { width: 1.912rem; transform: rotate(-11.31deg); }
.m-ann--31-3 span { left: 0; text-align: left; transform: translate(1.875rem, -0.375rem); }
.m-ann--31-4 { left: 43.248%; top: 50.772%; }
.m-ann--31-4::before { width: 2.929rem; transform: rotate(129.81deg); }
.m-ann--31-4 span { right: 0; text-align: right; transform: translate(-1.875rem, 2.250rem); }
.m-ann--31-5 { left: 96.087%; top: 62.000%; }
.m-ann--31-5::before { width: 12.655rem; transform: rotate(-122.91deg); }
.m-ann--31-5 span { right: 0; text-align: right; transform: translate(-6.875rem, -10.625rem); }
.m-ann--31-6 { left: 64.635%; top: 65.070%; }
.m-ann--31-6::before { width: 3.625rem; transform: rotate(133.60deg); }
.m-ann--31-6 span { right: 0; text-align: right; transform: translate(-2.500rem, 2.625rem); }
.m-ann--31-7 { left: 20.323%; top: 71.628%; }
.m-ann--31-7::before { width: 1.741rem; transform: rotate(-111.04deg); }
.m-ann--31-7 span { left: 0; text-align: left; transform: translate(-0.625rem, -1.625rem); }
.m-ann--32-1 { left: 25.887%; top: 17.470%; }
.m-ann--32-1::before { width: 1.912rem; transform: rotate(-101.31deg); }
.m-ann--32-1 span { left: 0; text-align: left; transform: translate(-0.375rem, -1.875rem); }
.m-ann--32-2 { left: 35.952%; top: 37.935%; }
.m-ann--32-2::before { width: 10.196rem; transform: rotate(-40.53deg); }
.m-ann--32-2 span { left: 0; text-align: left; transform: translate(7.750rem, -6.625rem); }
.m-ann--32-3 { left: 43.500%; top: 26.958%; }
.m-ann--32-3::before { width: 1.912rem; transform: rotate(-11.31deg); }
.m-ann--32-3 span { left: 0; text-align: left; transform: translate(1.875rem, -0.375rem); }
.m-ann--32-4 { left: 43.248%; top: 50.772%; }
.m-ann--32-4::before { width: 2.929rem; transform: rotate(129.81deg); }
.m-ann--32-4 span { right: 0; text-align: right; transform: translate(-1.875rem, 2.250rem); }
.m-ann--32-5 { left: 96.087%; top: 62.000%; }
.m-ann--32-5::before { width: 12.655rem; transform: rotate(-122.91deg); }
.m-ann--32-5 span { right: 0; text-align: right; transform: translate(-6.875rem, -10.625rem); }
.m-ann--32-6 { left: 64.635%; top: 65.070%; }
.m-ann--32-6::before { width: 3.625rem; transform: rotate(133.60deg); }
.m-ann--32-6 span { right: 0; text-align: right; transform: translate(-2.500rem, 2.625rem); }
.m-ann--32-7 { left: 20.323%; top: 71.628%; }
.m-ann--32-7::before { width: 1.741rem; transform: rotate(-111.04deg); }
.m-ann--32-7 span { left: 0; text-align: left; transform: translate(-0.625rem, -1.625rem); }
.m-ann--33-1 { left: 25.887%; top: 17.470%; }
.m-ann--33-1::before { width: 1.912rem; transform: rotate(-101.31deg); }
.m-ann--33-1 span { left: 0; text-align: left; transform: translate(-0.375rem, -1.875rem); }
.m-ann--33-2 { left: 35.952%; top: 37.935%; }
.m-ann--33-2::before { width: 10.196rem; transform: rotate(-40.53deg); }
.m-ann--33-2 span { left: 0; text-align: left; transform: translate(7.750rem, -6.625rem); }
.m-ann--33-3 { left: 43.500%; top: 26.958%; }
.m-ann--33-3::before { width: 1.912rem; transform: rotate(-11.31deg); }
.m-ann--33-3 span { left: 0; text-align: left; transform: translate(1.875rem, -0.375rem); }
.m-ann--33-4 { left: 43.248%; top: 50.772%; }
.m-ann--33-4::before { width: 2.929rem; transform: rotate(129.81deg); }
.m-ann--33-4 span { right: 0; text-align: right; transform: translate(-1.875rem, 2.250rem); }
.m-ann--33-5 { left: 96.087%; top: 62.000%; }
.m-ann--33-5::before { width: 12.655rem; transform: rotate(-122.91deg); }
.m-ann--33-5 span { right: 0; text-align: right; transform: translate(-6.875rem, -10.625rem); }
.m-ann--33-6 { left: 64.635%; top: 65.070%; }
.m-ann--33-6::before { width: 3.625rem; transform: rotate(133.60deg); }
.m-ann--33-6 span { right: 0; text-align: right; transform: translate(-2.500rem, 2.625rem); }
.m-ann--33-7 { left: 20.323%; top: 71.628%; }
.m-ann--33-7::before { width: 1.741rem; transform: rotate(-111.04deg); }
.m-ann--33-7 span { left: 0; text-align: left; transform: translate(-0.625rem, -1.625rem); }
@supports (container-type: inline-size) {
  .m-proj__fig { container-type: inline-size; }
  .m-ann--31-1::before { width: 2.467cqw; }
  .m-ann--31-1 span { transform: translate(-0.484cqw, -2.419cqw); }
  .m-ann--31-2::before { width: 13.156cqw; }
  .m-ann--31-2 span { transform: translate(10.000cqw, -8.548cqw); }
  .m-ann--31-3::before { width: 2.467cqw; }
  .m-ann--31-3 span { transform: translate(2.419cqw, -0.484cqw); }
  .m-ann--31-4::before { width: 3.779cqw; }
  .m-ann--31-4 span { transform: translate(-2.419cqw, 2.903cqw); }
  .m-ann--31-5::before { width: 16.329cqw; }
  .m-ann--31-5 span { transform: translate(-8.871cqw, -13.710cqw); }
  .m-ann--31-6::before { width: 4.677cqw; }
  .m-ann--31-6 span { transform: translate(-3.226cqw, 3.387cqw); }
  .m-ann--31-7::before { width: 2.247cqw; }
  .m-ann--31-7 span { transform: translate(-0.806cqw, -2.097cqw); }
  .m-ann--32-1::before { width: 2.467cqw; }
  .m-ann--32-1 span { transform: translate(-0.484cqw, -2.419cqw); }
  .m-ann--32-2::before { width: 13.156cqw; }
  .m-ann--32-2 span { transform: translate(10.000cqw, -8.548cqw); }
  .m-ann--32-3::before { width: 2.467cqw; }
  .m-ann--32-3 span { transform: translate(2.419cqw, -0.484cqw); }
  .m-ann--32-4::before { width: 3.779cqw; }
  .m-ann--32-4 span { transform: translate(-2.419cqw, 2.903cqw); }
  .m-ann--32-5::before { width: 16.329cqw; }
  .m-ann--32-5 span { transform: translate(-8.871cqw, -13.710cqw); }
  .m-ann--32-6::before { width: 4.677cqw; }
  .m-ann--32-6 span { transform: translate(-3.226cqw, 3.387cqw); }
  .m-ann--32-7::before { width: 2.247cqw; }
  .m-ann--32-7 span { transform: translate(-0.806cqw, -2.097cqw); }
  .m-ann--33-1::before { width: 2.467cqw; }
  .m-ann--33-1 span { transform: translate(-0.484cqw, -2.419cqw); }
  .m-ann--33-2::before { width: 13.156cqw; }
  .m-ann--33-2 span { transform: translate(10.000cqw, -8.548cqw); }
  .m-ann--33-3::before { width: 2.467cqw; }
  .m-ann--33-3 span { transform: translate(2.419cqw, -0.484cqw); }
  .m-ann--33-4::before { width: 3.779cqw; }
  .m-ann--33-4 span { transform: translate(-2.419cqw, 2.903cqw); }
  .m-ann--33-5::before { width: 16.329cqw; }
  .m-ann--33-5 span { transform: translate(-8.871cqw, -13.710cqw); }
  .m-ann--33-6::before { width: 4.677cqw; }
  .m-ann--33-6 span { transform: translate(-3.226cqw, 3.387cqw); }
  .m-ann--33-7::before { width: 2.247cqw; }
  .m-ann--33-7 span { transform: translate(-0.806cqw, -2.097cqw); }
}

.m-nt--3 { left: 45.666%; top: 17.974%; }
.m-nt--3::before { width: 18.120rem; transform: rotate(-170.89deg); }
.m-nt--3 > span { transform: translate(-35.391rem, -2.870rem); width: 17.500rem; }
.m-nt--5 { left: 48.528%; top: 27.768%; }
.m-nt--5::before { width: 20.140rem; transform: rotate(-176.86deg); }
.m-nt--5 > span { transform: translate(-37.609rem, -1.105rem); width: 17.500rem; }
.m-nt--4 { left: 53.026%; top: 31.078%; }
.m-nt--4::before { width: 23.617rem; transform: rotate(177.54deg); }
.m-nt--4 > span { transform: translate(-41.095rem, 1.016rem); width: 17.500rem; }
.m-nt--2 { left: 44.780%; top: 40.396%; }
.m-nt--2::before { width: 17.483rem; transform: rotate(169.77deg); }
.m-nt--2 > span { transform: translate(-34.705rem, 3.105rem); width: 17.500rem; }
.m-nt--6 { left: 62.498%; top: 42.930%; }
.m-nt--6::before { width: 32.456rem; transform: rotate(162.40deg); }
.m-nt--6 > span { transform: translate(-48.436rem, 9.816rem); width: 17.500rem; }
.m-nt--1 { left: 32.173%; top: 48.819%; }
.m-nt--1::before { width: 12.605rem; transform: rotate(126.14deg); }
.m-nt--1 > span { transform: translate(-24.934rem, 10.180rem); width: 17.500rem; }
.m-nt--7 { left: 37.903%; top: 85.780%; }
.m-nt--7::before { width: 12.363rem; transform: rotate(-163.86deg); }
.m-nt--7 > span { transform: translate(-29.375rem, -3.438rem); width: 17.500rem; }
.m-cn--1 { left: 41.935%; top: 93.028%; }
.m-cn--2 { left: 72.581%; top: 87.706%; }
.m-cn--3 { left: 58.065%; top: 96.881%; }
.m-cn--4 { left: 28.226%; top: 83.211%; }
.m-cn--5 { left: 94.355%; top: 83.211%; }
.m-cn--6 { left: 28.226%; top: 96.972%; }
.m-cn--7 { left: 94.355%; top: 96.972%; }
.m-tblock--on { left: 0.000%; top: 0.917%; width: 79.032%; }
@supports (container-type: inline-size) {
  .m-dc__fig { container-type: inline-size; }
  .m-nt--3::before { width: 23.381cqw; }
  .m-nt--3 > span { transform: translate(-45.666cqw, -3.703cqw); width: 22.581cqw; }
  .m-nt--5::before { width: 25.987cqw; }
  .m-nt--5 > span { transform: translate(-48.528cqw, -1.425cqw); width: 22.581cqw; }
  .m-nt--4::before { width: 30.473cqw; }
  .m-nt--4 > span { transform: translate(-53.026cqw, 1.310cqw); width: 22.581cqw; }
  .m-nt--2::before { width: 22.558cqw; }
  .m-nt--2 > span { transform: translate(-44.780cqw, 4.007cqw); width: 22.581cqw; }
  .m-nt--6::before { width: 41.879cqw; }
  .m-nt--6 > span { transform: translate(-62.498cqw, 12.666cqw); width: 22.581cqw; }
  .m-nt--1::before { width: 16.265cqw; }
  .m-nt--1 > span { transform: translate(-32.173cqw, 13.135cqw); width: 22.581cqw; }
  .m-nt--7::before { width: 15.952cqw; }
  .m-nt--7 > span { transform: translate(-37.903cqw, -4.435cqw); width: 22.581cqw; }
}

.m-nt { position: absolute; inset: 0; width: auto; margin: 0; padding: 0;
  list-style: none; pointer-events: none; z-index: 2; }
.m-nt > li { position: absolute; width: 0; height: 0; }
.m-nt i { position: absolute; left: -3.5px; top: -3.5px; width: 7px; height: 7px;
  border-radius: 50%; border: 1.5px solid var(--bng-blue); background: #FFFFFF; }
.m-nt > li::before { content: ""; position: absolute; left: 0; top: 0; height: 1px;
  background: rgba(37, 50, 75, .34); transform-origin: 0 0; }
.m-nt > li > span { position: absolute; top: 0; left: 0; display: block;
  padding-top: .5rem; border-top: 1px solid rgba(37, 50, 75, .28); }
.m-nt b { font-size: .7rem; font-weight: 600; letter-spacing: .1em;
  color: var(--k-blue); font-variant-numeric: tabular-nums; margin-inline-end: .45rem; }
.m-nt strong { font-size: .7rem; font-weight: 600; letter-spacing: .1em;
  text-transform: uppercase; color: var(--bng-ink-light); }
.m-nt__d { display: block; margin-top: .3rem; font-size: .76rem; line-height: 1.45;
  font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--k-on-light-2); }

.m-nt > li:nth-child(3n+2) i { border-color: var(--bng-teal); }
.m-nt > li:nth-child(3n) i { border-color: var(--bng-pink); }
.m-nt > li:nth-child(3n+2) b { color: var(--k-teal-fig); }
.m-nt > li:nth-child(3n) b { color: var(--k-pink-fig); }

.m-tblock--on { position: absolute; z-index: 2; margin: 0;
  grid-template-columns: auto auto auto minmax(0, 1fr);
  background: linear-gradient(150deg, rgba(255, 255, 255, .97), rgba(255, 255, 255, .88)); }
.m-tblock--on > div { padding: .45rem .9rem .5rem;
  box-shadow: inset 1px 0 0 rgba(37, 50, 75, .16); }
.m-tblock--on > div:first-child { box-shadow: none; }
.m-tblock--on dt { font-size: .58rem; }
.m-tblock--on dd { font-size: .84rem; }
.m-tblock--on .m-tblock__d dd { font-size: .75rem; line-height: 1.45; }

@media (max-width: 82rem) {

  .m-dc__art { aspect-ratio: 960 / 1090; }
  .m-dc__art img { object-fit: cover; object-position: 100% 50%; }
  .m-nt { position: static; display: grid; gap: 1.4rem clamp(1rem, 2vw, 1.6rem);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(var(--k-wrap), 100% - var(--k-pad) * 2); margin-inline: auto;
    margin-top: clamp(1.5rem, 3vw, 2.4rem); }
  .m-nt > li { position: relative; width: auto; height: auto; left: auto; top: auto;
    padding-top: 1.3rem; border-top: 1px solid rgba(37, 50, 75, .22); }
  .m-nt > li::before { display: none; }
  .m-nt i { left: 0; top: -3.5px; border-width: 2px; }
  .m-nt > li > span { position: static; display: block; width: auto; text-align: start;
    transform: none; white-space: normal; border-bottom: 0; padding-bottom: 0; }
  .m-nt strong { display: block; margin-top: .15rem; }
  .m-tblock--on { position: static; width: auto; left: auto; top: auto;
    margin-top: clamp(1.5rem, 3vw, 2.4rem);
    width: min(var(--k-wrap), 100% - var(--k-pad) * 2); margin-inline: auto; }
}
@media (max-width: 34rem) {
  .m-nt { grid-template-columns: minmax(0, 1fr); }
  .m-tblock--on { grid-template-columns: minmax(0, 1fr); }
  .m-tblock--on > div:nth-child(3) { box-shadow: inset 0 1px 0 rgba(37, 50, 75, .16); }
}

@media (max-width: 62rem) {
  .m-hero__art { overflow-x: visible; }
  .m-stage { min-width: 0; }
  .m-tags { position: static; display: grid; gap: .55rem clamp(.8rem, 3vw, 1.4rem);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: clamp(1rem, 3vw, 1.6rem); pointer-events: auto; }
  .m-tag { position: static; width: auto; height: auto;
    display: flex; align-items: baseline; gap: .5rem; }
  .m-tag::before { position: static; width: .42rem; height: .42rem; border-radius: 50%;
    flex: none; transform: none; background: var(--bng-blue); align-self: center; }
  .m-tag i { display: none; }
  .m-tag span { position: static; inset: auto; transform: none; white-space: normal;
    text-align: start; border-bottom: 0; padding-bottom: 0; font-size: .72rem;
    letter-spacing: .06em; line-height: 1.35; }
  .m-tag:nth-child(3n+2)::before { background: var(--bng-teal); }
  .m-tag:nth-child(3n)::before { background: var(--bng-pink); }
}
@media (max-width: 34rem) { .m-tags { grid-template-columns: minmax(0, 1fr); } }

@media (max-width: 82rem) {
  .m-svc__art { overflow-x: visible; }
  .m-svc__art img { min-width: 0; }

  .m-art { min-width: 0; aspect-ratio: auto; }
  .m-art img { position: static; width: 100%; height: auto; }
  .m-art img.is-out { display: none; }
  .m-proj__scroll { overflow-x: visible; }
  .m-proj__art { min-width: 0; aspect-ratio: auto; }
  .m-proj__art img { position: static; width: 100%; height: auto; }

  .m-pins { position: static; display: flex; flex-wrap: wrap; gap: .5rem .45rem;
    margin-top: clamp(.9rem, 2vw, 1.25rem); padding-inline: var(--k-pad);
    pointer-events: auto; }
  .m-pin { position: static; width: auto; height: auto; left: auto; top: auto; }
  .m-pin::before { display: none; }

  .m-pin > a { position: static; display: inline-flex; align-items: center; gap: .45rem;
    padding: .58rem .95rem; border-radius: .7rem;
    background: linear-gradient(180deg, #FFFFFF 0%, #F3F7FC 54%, #E4EBF4 100%);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, .95),
      inset 0 0 0 1px rgba(37, 50, 75, .17),
      0 3px 0 rgba(37, 50, 75, .17),
      0 6px 11px -6px rgba(15, 29, 56, .55);
    transition: transform .12s var(--ease-out), box-shadow .12s var(--ease-out); }
  .m-pin > a::after { display: none; }

  .m-pin i { position: static; left: auto; bottom: auto; width: .56rem; height: .34rem;
    border: 0; border-radius: 0; transform: none;
    clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
    background: linear-gradient(120deg, var(--bng-blue), var(--bng-teal) 55%, var(--bng-pink)); }
  .m-pin__t { position: static; left: auto; bottom: auto; transform: none;
    padding-bottom: 0; border-bottom: 0; background: none; font-size: .72rem;
    letter-spacing: .05em; color: var(--k-on-light); }
  .m-pin__t::after { display: none; }

  .m-pin > a:active { transform: translateY(3px);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, .6),
      inset 0 0 0 1px rgba(37, 50, 75, .22),
      inset 0 2px 5px -2px rgba(15, 29, 56, .4),
      0 0 0 rgba(37, 50, 75, 0),
      0 1px 2px -1px rgba(15, 29, 56, .4); }

  .m-pin > a[aria-current] { transform: translateY(2px);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .22)), var(--fam-ink);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, .2),
      0 2px 0 rgba(37, 50, 75, .5),
      0 4px 8px -5px rgba(15, 29, 56, .6); }
  .m-pin > a[aria-current] .m-pin__t { color: #FFFFFF; }
  .m-pin > a[aria-current] i { background: #FFFFFF; }
  .m-pin > a:hover { box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, .95),
      inset 0 0 0 1px var(--fam-ink),
      0 3px 0 rgba(37, 50, 75, .17),
      0 6px 11px -6px rgba(15, 29, 56, .55); }
  .m-pin > a[aria-current]:hover { box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, .2),
      0 2px 0 rgba(37, 50, 75, .5),
      0 4px 8px -5px rgba(15, 29, 56, .6); }

  .m-cns { position: static; display: flex; flex-wrap: wrap; gap: .3rem .9rem;
    margin-top: .9rem; }
  .m-cn { position: static; left: auto; top: auto; transform: none; }
  .m-cn b { display: inline; }
  .m-tlds { position: static; display: flex; flex-wrap: wrap; gap: .3rem .9rem;
    margin-top: .8rem; padding-inline: var(--k-pad); }
  .m-tld { position: static; width: auto; height: auto; left: auto; top: auto; }
  .m-tld span { position: static; left: auto; bottom: auto; transform: none; }
  .m-tld span::after { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .m-pin > a { transition: none; }
}

.m-figs { position: relative; isolation: isolate; overflow: clip; }
.m-figs > [data-rv], .m-figs > .m-wrap, .m-figs > ul,
.m-figs__top > .m-wrap { position: relative; z-index: 1; }

.m-figs__top { position: relative; padding-bottom: clamp(1.6rem, 3.5vw, 2.8rem); }

.m-figs__chain { position: relative; }
.m-figs__pair { position: absolute; inset: 0; list-style: none; margin: 0; padding: 0;
  width: auto; pointer-events: none; }
.m-figs__pair > li { position: absolute; width: 0; height: 0; }
.m-figs__pair > li > i:first-child { position: absolute; left: -3.5px; top: -3.5px;
  width: 7px; height: 7px; border-radius: 50%; border: 1.5px solid var(--bng-blue);
  background: #FFFFFF; }
.m-figs__pair > li:nth-child(2) > i:first-child { border-color: var(--bng-teal); }
.m-figs__pair > li::before { content: ""; position: absolute; left: 0; top: 0; height: 1px;
  background: rgba(37, 50, 75, .34); transform-origin: 0 0; }
.m-figs__pair > li > span { position: absolute; bottom: 0; left: 0; display: block; }
.m-figs__pair b { display: block; font-size: clamp(2.8rem, 5.4vw, 4.6rem); font-weight: 600;
  line-height: 1; letter-spacing: -.035em; color: var(--k-on-light); }
.m-figs__pair b small { font-size: .46em; font-weight: 500; margin-inline-start: .06em;
  color: var(--k-blue-ink); }
.m-figs__pair > li:nth-child(2) b small { color: var(--k-teal); }

.m-figs__rule { display: block; height: .5rem; margin: .9rem 0 .7rem;
  background:
    linear-gradient(var(--bng-blue), var(--bng-blue)) left center / 2.6rem 2px no-repeat,
    repeating-linear-gradient(90deg, rgba(37, 50, 75, .32) 0 1px, transparent 1px 8px)
      left center / 100% 6px no-repeat;
  mask-image: linear-gradient(90deg, #000 0 58%, transparent 100%); }
.m-figs__pair > li:nth-child(2) .m-figs__rule {
  background:
    linear-gradient(var(--bng-teal), var(--bng-teal)) left center / 2.6rem 2px no-repeat,
    repeating-linear-gradient(90deg, rgba(37, 50, 75, .32) 0 1px, transparent 1px 8px)
      left center / 100% 6px no-repeat; }
.m-figs__pair em { display: block; font-style: normal; font-size: .95rem; line-height: 1.5;
  color: var(--k-on-light-2); }

.m-figs__pair > li:nth-child(n+3) b { font-size: clamp(1.5rem, 2.2vw, 2rem); }
.m-figs__pair > li:nth-child(n+3) em { font-size: .8rem; line-height: 1.4; }
.m-figs__pair > li:nth-child(n+3) .m-figs__rule { height: .4rem; margin: .5rem 0 .45rem;
  background:
    linear-gradient(var(--bng-pink), var(--bng-pink)) left center / 1.8rem 2px no-repeat,
    repeating-linear-gradient(90deg, rgba(37, 50, 75, .3) 0 1px, transparent 1px 7px)
      left center / 100% 5px no-repeat; }
.m-figs__pair > li:nth-child(4) .m-figs__rule {
  background:
    linear-gradient(var(--bng-blue), var(--bng-blue)) left center / 1.8rem 2px no-repeat,
    repeating-linear-gradient(90deg, rgba(37, 50, 75, .3) 0 1px, transparent 1px 7px)
      left center / 100% 5px no-repeat; }
.m-figs__pair > li:nth-child(5) .m-figs__rule {
  background:
    linear-gradient(var(--bng-teal), var(--bng-teal)) left center / 1.8rem 2px no-repeat,
    repeating-linear-gradient(90deg, rgba(37, 50, 75, .3) 0 1px, transparent 1px 7px)
      left center / 100% 5px no-repeat; }
.m-figs__pair > li:nth-child(3) > i:first-child { border-color: var(--bng-pink); }
.m-figs__pair > li:nth-child(4) > i:first-child { border-color: var(--bng-blue); }
.m-figs__pair > li:nth-child(5) > i:first-child { border-color: var(--bng-teal); }

.m-figs__team { margin-top: clamp(2.8rem, 6vw, 4.6rem); padding-top: clamp(1.8rem, 3.5vw, 2.8rem);
  box-shadow: inset 0 1px 0 rgba(37, 50, 75, .16); }

@media (max-width: 46rem) {
}
@media (max-width: 34rem) {
  .m-figs__pair { grid-template-columns: minmax(0, 1fr); }
}

.m-figs__say { margin: clamp(2.2rem, 4vw, 3.2rem) 0 0; padding-top: 1.2rem;

  margin-inline-start: clamp(1.5rem, 4vw, 3rem);
  max-width: 56ch; font-size: clamp(1.18rem, 2vw, 1.62rem); line-height: 1.35;
  letter-spacing: -.015em; color: var(--k-on-light);
  background: linear-gradient(90deg, var(--bng-blue) 0 33%, var(--bng-teal) 33% 66%,
    var(--bng-pink) 66% 100%) top left / 5.2rem 3px no-repeat; }
.m-figs__chain { margin-top: clamp(.6rem, 1.6vw, 1.2rem);
  width: min(var(--k-wrap), 100% - var(--k-pad) * 2); margin-inline: auto; }
.m-figs__chain img { display: block; width: 100%; height: auto; }

.m-figs__read--1 { left: 12.097%; top: 36.667%; }
.m-figs__read--1::before { width: 5.062rem; transform: rotate(-159.78deg); }
.m-figs__read--1 > span { bottom: 0; top: auto; transform: translate(-4.750rem, -1.750rem); width: 20.625rem; }
.m-figs__read--2 { left: 69.032%; top: 43.889%; }
.m-figs__read--2::before { width: 3.599rem; transform: rotate(-110.32deg); }
.m-figs__read--2 > span { bottom: 0; top: auto; transform: translate(-1.250rem, -3.375rem); width: 20.625rem; }
.m-figs__read--3 { left: 31.774%; top: 41.944%; }
.m-figs__read--3::before { width: 5.585rem; transform: rotate(-31.73deg); }
.m-figs__read--3 > span { bottom: 0; top: auto; transform: translate(4.750rem, -2.938rem); width: 14.375rem; }
.m-figs__read--4 { left: 50.484%; top: 67.222%; }
.m-figs__read--4::before { width: 6.365rem; transform: rotate(160.50deg); }
.m-figs__read--4 > span { top: 0; top: 0; transform: translate(-6.000rem, 2.125rem); width: 14.375rem; }
.m-figs__read--5 { left: 88.065%; top: 64.444%; }
.m-figs__read--5::before { width: 6.943rem; transform: rotate(156.67deg); }
.m-figs__read--5 > span { top: 0; top: 0; transform: translate(-6.375rem, 2.750rem); width: 14.375rem; }
@supports (container-type: inline-size) {
  .m-figs__chain { container-type: inline-size; }
  .m-figs__read--1::before { width: 6.532cqw; }
  .m-figs__read--1 > span { transform: translate(-6.129cqw, -2.258cqw); width: 26.613cqw; }
  .m-figs__read--2::before { width: 4.644cqw; }
  .m-figs__read--2 > span { transform: translate(-1.613cqw, -4.355cqw); width: 26.613cqw; }
  .m-figs__read--3::before { width: 7.206cqw; }
  .m-figs__read--3 > span { transform: translate(6.129cqw, -3.790cqw); width: 18.548cqw; }
  .m-figs__read--4::before { width: 8.213cqw; }
  .m-figs__read--4 > span { transform: translate(-7.742cqw, 2.742cqw); width: 18.548cqw; }
  .m-figs__read--5::before { width: 8.959cqw; }
  .m-figs__read--5 > span { transform: translate(-8.226cqw, 3.548cqw); width: 18.548cqw; }
}

@media (max-width: 82rem) {
  .m-figs__pair { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1.2rem, 3vw, 2.4rem); width: min(var(--k-wrap), 100% - var(--k-pad) * 2);
    margin: clamp(1.4rem, 3vw, 2.2rem) auto 0; pointer-events: auto; }
  .m-figs__pair > li { position: relative; width: auto; height: auto; left: auto; top: auto;
    padding-top: 1.1rem; box-shadow: inset 0 1px 0 rgba(37, 50, 75, .18); }
  .m-figs__pair > li::before { display: none; }
  .m-figs__pair > li > i:first-child { display: none; }
  .m-figs__pair > li > span { position: static; width: auto; transform: none; }
}
@media (max-width: 34rem) {
  .m-figs__pair { grid-template-columns: minmax(0, 1fr); }
}

.m-figs .m-cutface { inset: 0; height: auto;
  clip-path: polygon(0 49%, 100% 15%, 100% 100%, 0 100%); }

@media (prefers-reduced-motion: reduce) {
}

.m-figs__spine { position: relative; margin-top: clamp(1.6rem, 3.4vw, 2.6rem); }
.m-figs__spine img { display: block; width: 100%; height: auto; }

.m-et--1 { left: 16.129%; top: 46.835%; }
.m-et--1::before { width: 12.446rem; transform: rotate(-146.47deg); }
.m-et--1 > span { transform: translate(-10.375rem, -6.875rem) translateY(-100%); width: 17.500rem; }
.m-et--2 { left: 38.387%; top: 56.540%; }
.m-et--2::before { width: 11.718rem; transform: rotate(-123.69deg); }
.m-et--2 > span { transform: translate(-6.500rem, -9.750rem) translateY(-100%); width: 17.500rem; }
.m-et--3 { left: 69.032%; top: 51.055%; }
.m-et--3::before { width: 10.725rem; transform: rotate(-130.75deg); }
.m-et--3 > span { transform: translate(-7.000rem, -8.125rem) translateY(-100%); width: 17.500rem; }
.m-et--4 { left: 5.161%; top: 75.949%; }
.m-et--4::before { width: 2.481rem; transform: rotate(139.09deg); }
.m-et--4 > span { transform: translate(-1.875rem, 1.625rem); width: 26.875rem; }
@supports (container-type: inline-size) {
  .m-figs__spine { container-type: inline-size; }
  .m-et--1::before { width: 16.060cqw; }
  .m-et--1 > span { transform: translate(-13.387cqw, -8.871cqw) translateY(-100%); width: 22.581cqw; }
  .m-et--2::before { width: 15.120cqw; }
  .m-et--2 > span { transform: translate(-8.387cqw, -12.581cqw) translateY(-100%); width: 22.581cqw; }
  .m-et--3::before { width: 13.838cqw; }
  .m-et--3 > span { transform: translate(-9.032cqw, -10.484cqw) translateY(-100%); width: 22.581cqw; }
  .m-et--4::before { width: 3.202cqw; }
  .m-et--4 > span { transform: translate(-2.419cqw, 2.097cqw); width: 34.677cqw; }
}

.m-figs__spine .m-et--1 > span,
.m-figs__spine .m-et--2 > span,
.m-figs__spine .m-et--3 > span { border-top: 0; padding-top: 0;
  padding-bottom: .5rem; border-bottom: 1px solid rgba(37, 50, 75, .28); }

@media (max-width: 82rem) {

  .m-figs__spine img { aspect-ratio: 1240 / 308; height: auto;
    object-fit: cover; object-position: 50% 67.5%; }
  .m-figs__spine .m-nt { margin-top: clamp(1.4rem, 3vw, 2.2rem); }
  .m-figs__spine .m-nt > li { left: auto; top: auto; }
  .m-figs__spine .m-nt > li > span { transform: none; width: auto;
    bottom: auto; top: auto; }
}

.m-ct { position: relative; isolation: isolate; overflow: clip; }
.m-ct > .m-wrap { position: relative; z-index: 1; }

.m-ct .m-cutface { height: clamp(11rem, 20vw, 17rem); }

.m-ct__grid { display: grid; gap: clamp(1.6rem, 3.4vw, 2.8rem);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start; margin-top: clamp(1.8rem, 3.6vw, 2.8rem); }

.m-ct__fig { position: relative; }
.m-ct__fig img { display: block; width: 100%; height: auto; }

.m-ct__block { position: absolute; left: 0; right: 14%; bottom: 0; margin: 0;
  display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start;
  background: linear-gradient(150deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .9)),
    repeating-linear-gradient(-45deg, rgba(37, 50, 75, .05) 0 1.5px, transparent 1.5px 7px);
  box-shadow: inset 0 0 0 1px rgba(37, 50, 75, .22);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - .75rem), calc(100% - .75rem) 100%, 0 100%); }

.m-ct__block::before { content: ""; position: absolute; inset: 0 0 auto; height: 2px;
  background: linear-gradient(90deg, var(--bng-blue) 0 34%, var(--bng-teal) 34% 67%,
    var(--bng-pink) 67% 100%); }
.m-ct__block .m-svc__mark { width: .95rem; height: .54rem;

  background: linear-gradient(135deg, var(--bng-blue), var(--bng-teal) 55%, var(--bng-pink)); }
.m-ct__block dt { display: flex; align-items: center; gap: .5rem;
  padding: .55rem .8rem .55rem .75rem; font-size: .58rem; font-weight: 600;
  letter-spacing: .2em; text-transform: uppercase; color: var(--k-on-light);
  box-shadow: inset -1px 0 0 rgba(37, 50, 75, .2); white-space: nowrap; }
.m-ct__block dd { margin: 0; padding: .55rem .9rem .6rem; font-size: .8rem;
  line-height: 1.45; color: var(--k-on-light-2); }

.m-ct__card { font-style: normal; margin-top: clamp(1.2rem, 2.6vw, 1.8rem);
  padding: clamp(1.1rem, 2.2vw, 1.5rem) 0 0; position: relative;
  background: linear-gradient(168deg, #FFFFFF, #EEF3F9);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .9),
    inset 0 0 0 1px rgba(37, 50, 75, .2),
    0 6px 0 #C4D0DF,
    0 7px 0 rgba(37, 50, 75, .22),
    0 20px 26px -18px rgba(15, 29, 56, .6); }
.m-ct__card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px;
  background: linear-gradient(180deg, var(--bng-blue) 0 34%, var(--bng-teal) 34% 67%,
    var(--bng-pink) 67% 100%); }
.m-ct__who { margin: 0 clamp(1.1rem, 2.2vw, 1.5rem);
  padding-bottom: clamp(.8rem, 1.8vw, 1.1rem);
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  flex-wrap: wrap; box-shadow: inset 0 -1px 0 rgba(37, 50, 75, .24); }

.m-ct__logo { display: block; flex: none; height: clamp(2.6rem, 4.4vw, 3.4rem); width: auto; }
.m-ct__who span { font-size: .6rem; font-weight: 600; letter-spacing: .2em;
  text-transform: uppercase; color: var(--k-on-light-2); }

.m-ct__rows small { display: inline-block; margin-top: .18rem; font-size: .84em;
  color: var(--k-on-light-2); font-variant-numeric: tabular-nums;
  letter-spacing: .01em; }
.m-ct__rows { margin: 0; }
.m-ct__rows > div { display: grid; grid-template-columns: 6.6rem minmax(0, 1fr);
  align-items: baseline; gap: .2rem 1rem;
  padding: .7rem clamp(1.1rem, 2.2vw, 1.5rem);
  box-shadow: inset 0 -1px 0 rgba(37, 50, 75, .14); }
.m-ct__rows > div:last-child { box-shadow: none; padding-bottom: clamp(.9rem, 2vw, 1.2rem); }
.m-ct__rows dt { font-size: .6rem; font-weight: 600; letter-spacing: .18em;
  text-transform: uppercase; color: var(--k-on-light-2); }
.m-ct__rows dd { margin: 0; font-size: .95rem; line-height: 1.5; color: var(--k-on-light);
  font-variant-numeric: tabular-nums; }
.m-ct__rows a { color: var(--k-blue-ink); text-decoration: none;
  box-shadow: inset 0 -1px 0 rgba(11, 81, 180, .35); }
.m-ct__rows a:hover { box-shadow: inset 0 -2px 0 var(--k-blue-ink); }
.m-ct__rows a:focus-visible { outline: 2px solid var(--k-blue-ink); outline-offset: 3px; }

.m-ct__form { position: relative; }
.m-form--tight { padding: clamp(1.2rem, 2.4vw, 1.7rem); }
.m-form--tight .m-form__h { font-size: clamp(1.25rem, 2.2vw, 1.6rem); }
.m-form--tight .m-form__k { margin-bottom: .7rem; }
.m-form--tight .m-form__grid { gap: .75rem .8rem; margin-top: 1rem; }
.m-form--tight .m-field input, .m-form--tight .m-field textarea {
  font-size: .95rem; padding: .55rem .7rem; }
.m-form--tight .m-field textarea { min-height: 5rem; }
.m-form--tight .m-field label { font-size: .64rem; letter-spacing: .12em; }
.m-form--tight .m-form__gdpr { margin-top: .95rem; }
.m-form--tight .m-form__gdpr label { font-size: .84rem; gap: .6rem; }
.m-form--tight .m-form__go { margin-top: 1rem; gap: .7rem 1rem; }
.m-form--tight .m-form__note { font-size: .74rem; max-width: 34ch; }

@media (max-width: 62rem) {
  .m-ct__grid { grid-template-columns: minmax(0, 1fr); }
  .m-ct__block { right: 0; }
}

@media (max-width: 46rem) {
  .m-ct__block { position: static; margin-top: .6rem; }

  .m-ct__fig img { aspect-ratio: 620 / 268; height: auto;
    object-fit: cover; object-position: 50% 0; }
}
@media (max-width: 34rem) {
  .m-ct__rows > div { grid-template-columns: minmax(0, 1fr); }
  .m-ct__block { grid-template-columns: minmax(0, 1fr); }
  .m-ct__block dt { box-shadow: inset 0 -1px 0 rgba(37, 50, 75, .16); }
  .m-form--tight .m-form__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .m-btn, .m-btn::before, .m-btn::after { transition: none; }
  .m-btn:hover, .m-btn:active { transform: none; }
  .m-btn:hover::after, .m-btn:active::after { translate: 0 3px; }
}

.m-form__box { margin-top: clamp(2.4rem, 5vw, 4rem); }
.m-form { position: relative; text-align: left; padding: clamp(1.6rem, 3.4vw, 2.8rem);
  background:
    linear-gradient(170deg, rgba(255, 255, 255, .97), rgba(255, 255, 255, .8)),
    repeating-linear-gradient(-45deg, rgba(37, 50, 75, .045) 0 1.5px, transparent 1.5px 8px);
  box-shadow: inset 0 0 0 1px rgba(37, 50, 75, .18), 0 24px 40px -34px rgba(15, 29, 56, .7);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 1.8rem), calc(100% - 1.8rem) 100%, 0 100%); }
.m-form::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px;
  background: linear-gradient(90deg, var(--bng-blue) 0 34%, var(--bng-teal) 34% 67%,
    var(--bng-pink) 67% 100%); }
.m-form__k { margin: 0 0 .9rem; }
.m-form__k span { display: inline-block; padding: .3rem .7rem;
  font-size: .64rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase;
  color: var(--k-on-light-2);
  background: repeating-linear-gradient(-45deg,
    rgba(37, 50, 75, .09) 0 1.5px, transparent 1.5px 7px);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - .5rem), calc(100% - .5rem) 100%, 0 100%); }
.m-form__h { margin: 0; font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 600;
  letter-spacing: -.025em; line-height: 1.1; color: var(--k-on-light); }
.m-form__d { margin: .6rem 0 0; font-size: .98rem; color: var(--k-on-light-2); max-width: 54ch; }

.m-form__grid { display: grid; gap: clamp(.9rem, 2vw, 1.3rem);
  grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: clamp(1.4rem, 3vw, 2rem); }
.m-field { margin: 0; display: grid; gap: .38rem; }
.m-field--wide { grid-column: 1 / -1; }
.m-field label { font-size: .72rem; font-weight: 600; letter-spacing: .14em;
  text-transform: uppercase; color: var(--k-on-light); }
.m-field label i { font-style: normal; letter-spacing: .1em; color: var(--k-on-light-2);
  text-transform: none; font-weight: 500; }
.m-field input, .m-field textarea { width: 100%; font: inherit; font-size: 1rem;
  color: var(--k-on-light); padding: .72rem .85rem; border: 0; border-radius: .2rem;
  background: linear-gradient(180deg, #F2F6FB, #FFFFFF);
  box-shadow: inset 0 0 0 1px rgba(37, 50, 75, .22), inset 0 2px 4px -2px rgba(15, 29, 56, .35);
  transition: box-shadow .16s var(--ease); }
.m-field textarea { resize: vertical; min-height: 7.5rem; line-height: 1.5; }
.m-field input::placeholder, .m-field textarea::placeholder { color: #5C6B84; }

.m-field input:focus-visible, .m-field textarea:focus-visible {
  outline: 2px solid var(--k-blue-ink); outline-offset: 2px;
  box-shadow: inset 0 0 0 1px var(--k-blue-ink), inset 0 2px 4px -2px rgba(15, 29, 56, .25); }
.m-field input[aria-invalid], .m-field textarea[aria-invalid] {
  box-shadow: inset 0 0 0 2px var(--k-pink), inset 0 2px 4px -2px rgba(15, 29, 56, .3); }
.m-field__e { font-size: .82rem; color: var(--k-pink); }

.m-form__gdpr { margin: clamp(1.1rem, 2.4vw, 1.6rem) 0 0; display: grid; gap: .3rem; }
.m-form__gdpr label { display: grid; grid-template-columns: auto minmax(0, 1fr);
  gap: .7rem; align-items: start; font-size: .92rem; line-height: 1.5;
  color: var(--k-on-light-2); }
.m-form__gdpr input { width: 1.15rem; height: 1.15rem; margin: .12rem 0 0;
  accent-color: var(--k-blue-ink); }
.m-form__go { margin: clamp(1.2rem, 2.6vw, 1.8rem) 0 0; display: flex; flex-wrap: wrap;
  align-items: center; gap: .9rem 1.4rem; }

.m-form__note { font-size: .82rem; line-height: 1.45; color: var(--k-on-light-2);
  max-width: 46ch; }

.m-form__ok, .m-form__bad { margin: 1.1rem 0 0; padding: .8rem 1rem; font-size: .95rem;
  background: rgba(45, 212, 191, .14); color: var(--k-on-light);
  box-shadow: inset 0 0 0 1px rgba(14, 110, 99, .5);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - .7rem), calc(100% - .7rem) 100%, 0 100%); }
.m-form__bad { background: rgba(255, 111, 181, .14);
  box-shadow: inset 0 0 0 1px rgba(176, 58, 114, .5); }

.m-form__pot { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

@media (max-width: 46rem) {
  .m-form__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .m-field input, .m-field textarea { transition: none; }
}

@media (max-width: 82rem) {
  .m-svc__fig > .m-ann,
  .m-proj__fig > .m-ann,
  .m-dc__fig > .m-nt,
  .m-figs__chain > .m-figs__pair { width: 100%; margin-inline: 0; }
}
