/* Nonus homepage. Source in design px (Figma 1920 frame); build.cjs converts px -> rem (1rem = 1rem at 1920). 1px hairlines stay 1px. */
:root{--ink:#0B0C10;--or:#FF5A14;--bl:#254ED4;--g1:#F4F5F7;--g2:#E9EAEC;--g3:#C0C5CE;--g4:#8A9099;--g5:#6B717C;--g6:#565B66;--ln:#45474A;
--eo:cubic-bezier(.16,1,.3,1);--eio:cubic-bezier(.65,0,.35,1)}
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:clamp(10px,.8333vw,18px);-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{font-family:'Manrope',system-ui,sans-serif;color:var(--ink);background:#fff;font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img{display:block;max-width:100%}
ol,ul{list-style:none}
:focus-visible{outline:0.125rem solid var(--or);outline-offset:0.125rem}
.label{font-size:0.75rem;line-height:1rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--g4)}
.js .pre{display:grid}
.vl{position:absolute;width:1px;background:currentColor}
.plus{position:absolute;width:0.8125rem;height:0.8125rem;color:#fff;opacity:.85;pointer-events:none;z-index:5;transition:opacity .3s}
.plus::before,.plus::after{content:"";position:absolute;background:currentColor}
.plus::before{left:0.375rem;top:0;width:1px;height:0.8125rem}.plus::after{top:0.375rem;left:0;height:1px;width:0.8125rem}

.ln{display:block;overflow:clip;padding-bottom:.12em;margin-bottom:-.12em}.li{display:block}
.sg{display:flex;gap:4.5rem;flex:none}
/* ---------- preload: rectangle loader -> logo -> logo closes to a line -> shutters open ---------- */
.pre{position:fixed;inset:0;z-index:100;display:none;color:#fff}
.js .pre{display:block}
.pre-h{position:absolute;left:0;right:0;height:50%;background:var(--ink)}
.pre-t{top:0}.pre-b{bottom:0}
.pre-logo{position:absolute;left:50%;top:50%;width:20rem;height:5.3125rem;margin:-2.6875rem 0 0 -10rem;clip-path:inset(0 0 100% 0)}
.pre-logo svg{display:block;width:100%;height:100%}
.pre-line{position:absolute;left:0;right:0;top:50%;height:0.125rem;margin-top:-1px;background:#fff;transform:scaleX(0)}
.pre-count{position:absolute;right:6rem;bottom:11rem;font-size:0.8125rem;font-weight:600;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.7)}
.pre-bars{position:absolute;left:6rem;right:6rem;bottom:6rem;height:4rem;display:flex;gap:0.375rem;align-items:flex-end}
.pre-bars i{flex:1;height:100%;background:rgba(255,255,255,.1);transform-origin:bottom;animation:preOn .12s linear forwards;animation-delay:calc(var(--i) * 32ms)}
@keyframes preOn{to{background:#fff}}

/* ---------- header (design: lines at y=40 and y=111, left cell 130, right cell 1778) ---------- */
.hdr{position:fixed;top:0;left:0;right:0;height:7rem;z-index:50;color:#fff;transition:color .15s}
.hdr[data-theme=light]{color:var(--ink)}
.hdr-glass{z-index:0;position:absolute;left:0;right:0;top:2.5rem;height:4.5rem;opacity:0;visibility:hidden;transition:opacity .4s,background .15s,visibility 0s .4s;background:rgba(11,12,16,.55);backdrop-filter:blur(1.5rem) saturate(140%);-webkit-backdrop-filter:blur(1.5rem) saturate(140%)}
.hdr[data-theme=light] .hdr-glass{background:rgba(255,255,255,.62)}
.hdr.is-stuck .hdr-glass{opacity:1;visibility:visible;transition:opacity .4s,background .15s}
.hdr.mega-open .hdr-glass{visibility:visible;transition:opacity .4s,background .15s}
.hl{position:absolute;left:0;right:0;height:1px;background:currentColor;opacity:.24;transform-origin:left;z-index:3}
.hl-t{top:2.5rem}.hl-b{top:6.9375rem}
.vl-l{left:8.125rem;top:2.5rem;height:4.5rem;opacity:0;transition:opacity .3s}
.hdr.is-stuck .vl-l,.hdr.mega-open .vl-l{opacity:.24}
.hdr.is-stuck .plus,.hdr.mega-open .plus{opacity:0}
.hdr .vl-l,.hdr .vl-r{z-index:3}
.vl-r{right:8.8125rem;top:2.5rem;height:4.5rem;opacity:.24}
.hdr-logo{position:absolute;left:1.375rem;top:4.0625rem;width:5.25rem;height:1.375rem;color:inherit;z-index:3}
.hdr-logo svg{display:block}
.hdr-nav{position:absolute;left:0;right:0;top:2.5625rem;height:4.375rem;display:flex;justify-content:center;align-items:center;gap:2.25rem;z-index:3}
.nv{position:relative;display:inline-flex;align-items:center;padding:0.375rem 0.75rem;font-size:0.9375rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.25rem;opacity:.72;transition:opacity .25s,color .3s .12s;isolation:isolate}
.nv.is-on,.nv.hot{opacity:1}
.nv-t{position:relative;display:inline-block;white-space:nowrap}
.nv-t.scr{color:transparent}
.nv-s{position:absolute;left:0;top:0;white-space:nowrap;color:var(--nvc,#fff);pointer-events:none}
.nv.hot .nv-s{color:var(--ink)}
.hdr[data-theme=light] .nv-s{--nvc:var(--ink)}
.nv-bg{position:absolute;inset:0;z-index:-1;background:var(--or);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--eio)}
.nv.hot{color:var(--ink)}
.nv.hot .nv-bg{transform:scaleX(1);transform-origin:left;transition:transform .5s var(--eo) .12s}
.nv-fr{position:absolute;inset:-0.375rem -0.375rem;border:1px solid rgba(255,255,255,.85);opacity:0;transition:opacity .25s;pointer-events:none}
.nv-fr b{position:absolute;width:0.4375rem;height:0.4375rem;background:#fff;transform:scale(0);transition:transform .3s var(--eo)}
.nv-fr b:nth-child(1){left:-0.25rem;top:-0.25rem}.nv-fr b:nth-child(2){right:-0.25rem;top:-0.25rem}.nv-fr b:nth-child(3){left:-0.25rem;bottom:-0.25rem}.nv-fr b:nth-child(4){right:-0.25rem;bottom:-0.25rem}
.nv.hot .nv-fr{opacity:1;transition:opacity .3s .55s}
.nv.hot .nv-fr b{transform:scale(1);transition:transform .35s var(--eo) .6s}
.nv.hot .nv-fr b:nth-child(2){transition-delay:.66s}.nv.hot .nv-fr b:nth-child(3){transition-delay:.72s}.nv.hot .nv-fr b:nth-child(4){transition-delay:.78s}
.car{display:inline-block;width:0.5rem;height:0.3125rem;margin-left:0.375rem;background:currentColor;clip-path:polygon(0 0,100% 0,50% 100%);border-radius:1px;transition:transform .4s var(--eo)}
.nv.open .car{transform:rotate(180deg)}
.hdr-cta{position:absolute;right:0.25rem;top:2.8125rem;width:8.3125rem;height:3.875rem;display:flex;align-items:center;padding:0 0.8125rem 0 1.4375rem;background:#fff;color:var(--ink);overflow:hidden;isolation:isolate;z-index:3;transition:background .15s,color .15s}
.hdr[data-theme=light] .hdr-cta{background:var(--ink);color:#fff}
.hdr-cta::before,.hdr-cta::after{content:"";position:absolute;top:0;bottom:0;width:0;background:var(--or);z-index:-1;transition:width .5s var(--eo)}
.hdr-cta::before{left:0}.hdr-cta::after{right:0}
.hdr-cta:hover::before,.hdr-cta:hover::after{width:50.5%}
.hdr-cta:hover{color:var(--ink)}
.hdr-cta .t{font-size:0.875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;flex:none;transition:opacity .25s ease .22s,transform .4s var(--eo) .22s}
.hdr-cta:hover .t{opacity:0;transform:translateX(-0.625rem);transition-delay:.18s}
.hdr.mega-open{color:#fff}
.hdr.mega-open .hdr-cta{background:#fff;color:var(--ink)}
.hdr.mega-open .hdr-glass{opacity:0}
.p1{left:7.75rem;top:2.125rem}.p2{left:7.75rem;top:6.5625rem}.p3{right:8.4375rem;top:2.125rem}.p4{right:8.4375rem;top:6.5625rem}

/* ---------- section base ---------- */
.sec,.dt-cta{--cut:3.375rem;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 54 54'%3E%3Cpath d='M0 54C0 44.67 3.3 36.7 9.9 30.1L30.1 9.9C36.7 3.3 44.67 0 54 0L54 54Z'/%3E%3C/svg%3E") 0 0/var(--cut) var(--cut) no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 54 54'%3E%3Cpath d='M54 54C54 44.67 50.7 36.7 44.1 30.1L23.9 9.9C17.3 3.3 9.33 0 0 0L0 54Z'/%3E%3C/svg%3E") 100% 0/var(--cut) var(--cut) no-repeat,linear-gradient(#000,#000) 0 calc(var(--cut) - 0.03125rem)/100% calc(100% - var(--cut) + 0.03125rem) no-repeat,linear-gradient(#000,#000) calc(var(--cut) - 0.03125rem) 0/calc(100% - 2*var(--cut) + 1px) var(--cut) no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 54 54'%3E%3Cpath d='M0 54C0 44.67 3.3 36.7 9.9 30.1L30.1 9.9C36.7 3.3 44.67 0 54 0L54 54Z'/%3E%3C/svg%3E") 0 0/var(--cut) var(--cut) no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 54 54'%3E%3Cpath d='M54 54C54 44.67 50.7 36.7 44.1 30.1L23.9 9.9C17.3 3.3 9.33 0 0 0L0 54Z'/%3E%3C/svg%3E") 100% 0/var(--cut) var(--cut) no-repeat,linear-gradient(#000,#000) 0 calc(var(--cut) - 0.03125rem)/100% calc(100% - var(--cut) + 0.03125rem) no-repeat,linear-gradient(#000,#000) calc(var(--cut) - 0.03125rem) 0/calc(100% - 2*var(--cut) + 1px) var(--cut) no-repeat}
.sec{position:relative;margin-top:0;padding:5rem 6rem 0;background:#fff;overflow:hidden}
.h2{font-size:4.75rem;line-height:5.25rem;font-weight:600;letter-spacing:-.04em;margin-top:1rem;max-width:75rem}
.h2 .d0{color:var(--ink)}.h2 .d1{color:#A5ABB5}
.lead{font-size:1.125rem;line-height:1.75rem;font-weight:500;color:var(--g5)}

/* ---------- 01 hero ---------- */
.hero-stage{position:sticky;top:0;z-index:0;background:var(--ink);overflow:hidden}
.hero{position:relative;transform-origin:50% 45%;will-change:transform;height:max(100vh,45rem);min-height:45rem;color:#fff;background:var(--ink);overflow:hidden;margin-top:0;border-radius:0}
.hero-bg{position:absolute;inset:0;overflow:hidden}
.hero-dim{position:absolute;inset:0;z-index:9;background:var(--ink);opacity:0;pointer-events:none}
.hero-bg .hb{position:absolute;inset:0;overflow:hidden}
.hero-bg img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;transform-origin:50% 0}
.hero-sc{position:absolute;inset:0;pointer-events:none}
.hero-sc-l{background:linear-gradient(90deg,rgba(11,12,16,.92),rgba(11,12,16,.55) 50%,rgba(11,12,16,0))}
.hero-sc-b{background:linear-gradient(180deg,rgba(11,12,16,0),rgba(11,12,16,.3) 50%,rgba(11,12,16,.8))}
.hero-sc-t{background:linear-gradient(180deg,rgba(11,12,16,.71),rgba(11,12,16,0) 20%)}
.vl-hero{left:8.125rem;top:2.5rem;bottom:1.1875rem;background:var(--ln);z-index:4}
.hp1{left:7.75rem;bottom:5.25rem}.hp2{left:7.75rem;bottom:0.8125rem}.hp3,.hp4{display:none}
.hero-copy{position:absolute;left:12.0625rem;top:18.25rem}
.eyebrow{font-size:0.8125rem;line-height:1.125rem;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.55)}
.hero-h{margin-top:1.25rem;font-size:5.25rem;line-height:5.75rem;font-weight:600;letter-spacing:-.045em;width:56.25rem}
.hero-h .dm{color:rgba(255,255,255,.51)}
.hero-lead{margin-top:1.8125rem;width:27.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:400;letter-spacing:-.01em;color:rgba(255,255,255,.72)}
.btn-a{margin-top:2.75rem;display:flex;align-items:flex-end;width:max-content;height:3.5rem;color:var(--ink)}
.ba-body{position:relative;display:flex;align-items:center;width:12.6875rem;height:3.5rem;padding:0 2.75rem 0 1.75rem;background:var(--or);font-size:1rem;font-weight:600;letter-spacing:-.01em;transition:background .3s}
.ba-body b{font-weight:600}
.ba-cell{width:3.75rem;height:3rem;background:#fff;display:grid;place-items:center;border-radius:0 0.625rem 0.625rem 0;transition:background .3s,color .3s}
.btn-a:hover .ba-body{background:#fff}
.btn-a:hover .ba-cell{background:var(--or)}
.ba-cell svg{transition:transform .4s var(--eo)}
.btn-a:hover .ba-cell svg{transform:translateX(0.25rem)}
.evt{position:absolute;right:4rem;bottom:11.625rem;width:19.5rem;padding:1.5rem;border-radius:1rem;background:rgba(11,12,16,.38);backdrop-filter:blur(0.5rem);-webkit-backdrop-filter:blur(0.5rem);display:flex;flex-direction:column;gap:0.75rem}
.evt-k{font-size:0.75rem;line-height:1rem;font-weight:600;letter-spacing:.12em;color:rgba(255,255,255,.7)}
.evt-t{font-size:1.375rem;line-height:1.75rem;font-weight:600;letter-spacing:-.02em;min-height:3.5rem}
.evt-l{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.9375rem;font-weight:500;line-height:1.25rem;width:max-content}
.evt-l svg{transition:transform .35s var(--eo)}
.evt-l:hover svg{transform:translateX(0.25rem)}
.pager{position:absolute;right:4rem;bottom:7.125rem;height:3rem;display:flex;align-items:center;gap:1.4375rem}
.pg-n{font-size:0.875rem;font-weight:600;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.pg-b{position:relative;display:block;width:5.5rem;height:3rem}
.pg-prev,.pg-next{position:absolute;top:0;height:3rem;display:grid;place-items:center;transition:background .3s,color .3s}
.pg-prev{left:0;width:3rem;background:rgba(255,255,255,.18);color:#fff}
.pg-next{left:2.75rem;width:2.75rem;background:var(--or);color:var(--ink)}
.pg-prev:hover{background:#fff;color:var(--ink)}
.pg-next:hover{background:#fff}
.pg-prev svg{margin-right:0.375rem}.pg-next svg{margin-left:0.375rem}
.strip{z-index:3;position:absolute;left:0;right:0;bottom:1.25rem;height:4.4375rem;border-top:1px solid rgba(255,255,255,.24);border-bottom:1px solid var(--ln);background:rgba(11,12,16,.55);backdrop-filter:blur(0.75rem);-webkit-backdrop-filter:blur(0.75rem)}
.strip-in{position:absolute;left:8.1875rem;right:0;top:0;bottom:0;overflow:hidden;display:flex;align-items:center}
.strip-track{display:flex;gap:4.5rem;width:max-content;padding-left:2.75rem;padding-right:4.5rem}
.strip-track span{font-size:1.3125rem;line-height:1.8125rem;font-weight:600;letter-spacing:-.02em;color:rgba(255,255,255,.6);white-space:nowrap;transition:color .3s}
.strip-track span{display:flex;align-items:center;opacity:.78;transition:opacity .3s}.strip-track span:hover{opacity:1}
.strip-track img{display:block;width:calc(var(--w)*1rem/16);height:calc(var(--h)*1rem/16);max-width:none;user-select:none;transform:translateY(calc(var(--dy,0)*1rem/16));filter:brightness(var(--b,1))}

/* ---------- 02 about ---------- */
.about{height:88.125rem;padding-top:5rem}
.about .label{display:block}
.statement{margin-top:1rem;width:97.5rem;font-size:4.5rem;line-height:5.25rem;font-weight:600;letter-spacing:-.04em}
.statement .w{color:#E6E8EC}
.statement .s1{color:var(--ink)}.statement .s2{color:var(--g3)}
.lq{position:absolute;inset:0;overflow:hidden;contain:strict;border-radius:inherit}
.lq::before{content:"";position:absolute;left:0;top:0;width:260%;height:260%;background:linear-gradient(118deg,#0B2A9A 0%,#2A6BFF 9%,#9CC4FF 17%,#FFC62E 25%,#FF8A2B 33%,#FF3B30 41%,#C2185B 49%,#2A6BFF 57%,#9CC4FF 65%,#FFC62E 73%,#FF3B30 81%,#2A6BFF 90%,#0B2A9A 100%);will-change:transform;animation:lqf 42s ease-in-out infinite alternate}
@keyframes lqf{0%{transform:translate(-4%,-12%) rotate(0deg)}100%{transform:translate(-58%,-52%) rotate(8deg)}}
.bx-box.off *,.bx-box.off .lq::before{animation-play-state:paused!important}
.bx-box .sc.s1 *{animation-play-state:paused}.bx-box.v1 .sc.s1 *{animation-play-state:running}.bx-box.v1 .sc.s0 *{animation-play-state:paused!important}
.bx .bx-p{contain:paint}.sv-row{contain:layout paint}
.sv-more *{will-change:auto}
.pj-card,.tm-card{backface-visibility:hidden}
.bento{position:absolute;left:6rem;right:6rem;top:32.5rem;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:25rem 25rem;gap:1rem}
.bx{position:relative;display:flex;flex-direction:column;padding:0.5rem;border-radius:1.5rem;background:#F3F4F7;color:var(--ink)}
.bx-p{position:relative;flex:1;min-height:0;overflow:hidden;border-radius:1.125rem;background:#fff;box-shadow:inset 0 0 0 1px rgba(11,12,16,.08)}
.bx-x{position:relative;padding:1.25rem 0.875rem 0.75rem}
.bx-x h3{padding-right:2.25rem;font-size:1.375rem;line-height:1.75rem;font-weight:600;letter-spacing:-.02em}
.bx-x .ar{position:absolute;right:0.875rem;top:1.5rem;color:var(--g5)}
.bx-x p{margin-top:0.375rem;max-width:35rem;font-size:0.9375rem;line-height:1.375rem;font-weight:500;color:var(--g5)}
.bx-box{grid-column:1/6;grid-row:1/3;position:relative;overflow:hidden;border-radius:1.5rem;background:linear-gradient(118deg,#2A6BFF,#FF8A2B 55%,#C2185B);isolation:isolate;clip-path:inset(0 round 1.5rem);color:#fff}
.ey{margin-bottom:0.75rem;font-size:0.75rem;line-height:1rem;font-weight:600;letter-spacing:.1em;color:rgba(255,255,255,.7)}
.bx-c{grid-column:6/10;grid-row:1}.bx-d{grid-column:10/13;grid-row:1}.bx-b{grid-column:6/9;grid-row:2}.bx-e{grid-column:9/13;grid-row:2}
.pill{position:absolute;right:1rem;top:1rem;z-index:4;display:flex;align-items:center;gap:0.625rem;height:2.25rem;padding:0 0.875rem 0 0.625rem;border-radius:0.75rem;background:#fff;box-shadow:0 0.25rem 1rem rgba(11,12,16,.1),0 0 0 1px rgba(11,12,16,.06);font-size:0.875rem;line-height:1.25rem;font-weight:500;color:var(--ink);white-space:nowrap}
.pill i{width:0.875rem;height:0.5rem;border-radius:0.25rem;flex:none}
.p-white,.p-blue{position:absolute;inset:0}
.p-blue{background:linear-gradient(180deg,#F4F7FF,#EAF0FF)}
.bx-warm .bx-p{background:#FFE9BE}
.bx .bx-p{background:#fff;box-shadow:inset 0 0 0 1px rgba(11,12,16,.06);display:flex;align-items:flex-end;padding:1.75rem 1.875rem}
.bx-n{font-size:4.5rem;line-height:1;font-weight:700;letter-spacing:-.05em;color:#254ED4}
.bx .pill{background:rgba(255,255,255,.94)}
.ui-back{position:absolute;left:50%;bottom:0;border-radius:1.375rem 1.375rem 0 0;transform:translateX(-50%)}
.ui-back.b1{width:68%;height:74%;background:#2F5BFF;animation:uib 6s ease-in-out infinite alternate}
.ui-back.b2{width:60%;height:80%;background:#D6E4FF;animation:uib 6s ease-in-out -2s infinite alternate}
.ui-back.gr{background:#B9BCC8;width:60%;height:74%}
@keyframes uib{to{transform:translateX(-50%) translateY(-0.375rem)}}
.ui-card{position:absolute;left:50%;bottom:-0.125rem;width:76%;height:68%;transform:translateX(-50%);padding:1rem 1rem 0;border-radius:1.375rem 1.375rem 0 0;background:#1E1F23;color:#fff;box-shadow:0 -0.625rem 1.875rem rgba(11,12,16,.12);overflow:hidden}
.ui-h{display:flex;align-items:center;gap:0.75rem}
.ui-ic{display:grid;place-items:center;width:2.625rem;height:2.625rem;border-radius:0.75rem;flex:none}.ui-ic svg{width:1.375rem;height:1.375rem}
.ui-h b{display:block;font-size:1.0625rem;line-height:1.375rem;font-weight:600}.ui-h span{display:block;font-size:0.8125rem;line-height:1.125rem;color:rgba(255,255,255,.55)}
.ui-row{display:flex;align-items:center;gap:0.625rem;height:2.5rem;margin-top:0.5rem;padding:0 0.75rem;border-radius:0.75rem;font-size:0.875rem;font-weight:500;color:rgba(255,255,255,.72)}
.ui-row.hi{background:rgba(255,255,255,.1);color:#fff}.ui-row svg{width:1.25rem;height:1.25rem;flex:none}.ui-row span{flex:1}.ui-row em{font-style:normal;font-size:0.8125rem;color:rgba(255,255,255,.55)}.ui-row.hi em{color:#fff;font-weight:600}
.upt{display:flex;gap:0.25rem;align-items:flex-end;height:2.75rem;margin-top:1rem}
.upt i{flex:1;height:100%;border-radius:0.1875rem;background:#4ADE80;transform-origin:bottom;animation:upt 3.2s ease-in-out infinite;animation-delay:calc(var(--j)*.06s)}
@keyframes upt{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.62)}}
.wave{display:block;width:calc(100% + 2rem);margin:0.625rem -1rem 0;height:3.75rem}
.rings{position:absolute;inset:0;width:100%;height:100%}
.rings .r1,.rings .r2,.rings .r3{transform-origin:12.5rem 16.875rem;animation:rg 5s ease-in-out infinite alternate}
.rings .r2{animation-delay:-1.2s}.rings .r3{animation-delay:-2.4s}
@keyframes rg{to{transform:scale(1.06)}}
.v-sheet{position:absolute;left:50%;bottom:-2.5rem;width:78%;height:56%;transform:translateX(-50%);border-radius:2.25rem;background:#fff4de}
.v-card{position:absolute;left:50%;bottom:-0.125rem;width:78%;height:38%;transform:translateX(-50%);padding:1rem 1.125rem;border-radius:1.375rem 1.375rem 0 0;background:#fff;box-shadow:0 -0.5rem 1.5rem rgba(160,100,0,.12)}
.v-k{font-size:0.6875rem;line-height:0.875rem;font-weight:600;letter-spacing:.08em;color:var(--g4)}.v-t{margin-top:0.375rem;font-size:1.0625rem;line-height:1.375rem;font-weight:600;letter-spacing:-.02em}
.tl{position:absolute;left:12%;right:12%;top:4rem;display:flex;justify-content:space-between}
.tl-t{position:absolute;left:0;right:0;top:0.375rem;height:0.25rem;border-radius:0.125rem;background:rgba(11,12,16,.14);overflow:hidden}
.tl-f{display:block;height:100%;width:100%;background:var(--ink);transform-origin:left;animation:tlf 7s ease-in-out infinite}
@keyframes tlf{0%{transform:scaleX(0)}70%,100%{transform:scaleX(1)}}
.tl-n{position:relative;width:1rem;height:1rem}
.tl-n b{display:block;width:1rem;height:1rem;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 0.1875rem var(--ink);position:relative;z-index:1}
.tl-n span{position:absolute;left:50%;top:1.625rem;transform:translateX(-50%);white-space:nowrap;font-size:0.75rem;line-height:1rem;font-weight:600;color:var(--ink)}
.tl-n:last-child b{background:var(--or);box-shadow:none}
.bt{position:absolute;left:2.25rem;right:2.25rem;bottom:2.125rem;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:1.625rem}
.tg{display:grid;align-items:end}
.tk{position:absolute;left:2.25rem;top:2.125rem;z-index:2;display:grid}
.tk span{grid-area:1/1;justify-self:start;padding:0.5rem 0.875rem;border-radius:62.4375rem;background:rgba(255,255,255,.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);font-size:0.8125rem;line-height:1rem;font-weight:700;letter-spacing:.14em;color:#fff;text-shadow:0 1px 0.375rem rgba(6,8,16,.5);transition:opacity .8s var(--eo),transform .8s var(--eo)}
.tk .t1{opacity:0;transform:translateY(0.625rem)}
.bx-box.v1 .tk .t0{opacity:0;transform:translateY(-0.625rem)}.bx-box.v1 .tk .t1{opacity:1;transform:none}
.tg-i{grid-area:1/1;transition:opacity .8s var(--eo),transform .8s var(--eo)}
.tg .tx{max-width:38.75rem;font-size:2.375rem;line-height:2.875rem;font-weight:600;letter-spacing:-.035em}
.tg .t1{opacity:0;transform:translateY(0.875rem)}
.bx-box.v1 .tg .t0{opacity:0;transform:translateY(-0.875rem)}.bx-box.v1 .tg .t1{opacity:1;transform:none}
.pg{position:absolute;right:2.25rem;top:2.25rem;z-index:2;display:flex;gap:0.375rem}
.pg i{display:block;width:1.75rem;height:0.25rem;border-radius:0.125rem;background:rgba(255,255,255,.3);overflow:hidden}
.pg b{display:block;height:100%;background:#fff;transform:scaleX(0);transform-origin:left}
.bx-box:not(.v1) .pg i:nth-child(1) b,.bx-box.v1 .pg i:nth-child(2) b{animation:pgf 6s linear forwards}
@keyframes pgf{to{transform:scaleX(1)}}
.sc{position:absolute;left:1.5rem;right:1.5rem;bottom:1rem;width:calc(100% - 3rem);height:64%;transition:opacity .8s var(--eo),transform .8s var(--eo)}
.sc.s1{opacity:0;transform:translateY(1.125rem)}
.bx-box.v1 .sc.s0{opacity:0;transform:translateY(-1.125rem)}.bx-box.v1 .sc.s1{opacity:1;transform:none}
.sc-l{font-family:inherit;font-size:0.8125rem;font-weight:600;fill:rgba(255,255,255,.85)}
.mp-f{stroke-dasharray:1;stroke-dashoffset:1;animation:mpf 6s ease-in-out infinite}
@keyframes mpf{0%{stroke-dashoffset:1}85%,100%{stroke-dashoffset:0}}
.hub-r{transform-origin:center;transform-box:fill-box;animation:hub 3.6s ease-out infinite}
@keyframes hub{0%{transform:scale(.9);opacity:.8}100%{transform:scale(1.25);opacity:0}}
.pn{animation:pnf 5s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.8s)}
@keyframes pnf{to{translate:0 -0.375rem}}
.pj-ill,.tm-ill,.gg-ill{position:absolute;inset:0;width:100%;height:100%}
.pj-ill .f1{animation:pjf 6s ease-in-out infinite alternate}.pj-ill .f2{animation:pjf 6s ease-in-out -2s infinite alternate}.pj-ill .f3{animation:pjf 6s ease-in-out -4s infinite alternate}
@keyframes pjf{to{transform:translateY(-0.5rem)}}
.av{animation:avf 4.5s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.6s)}
@keyframes avf{to{translate:0 -0.375rem}}
.gg{stroke-dasharray:0 100;animation:ggf 6s ease-in-out infinite}
@keyframes ggf{0%{stroke-dasharray:0 100}60%,100%{stroke-dasharray:92 100}}
.gg-t{font-family:inherit;font-size:2.75rem;font-weight:700;letter-spacing:-.04em;fill:#1E1F23}
.ill{position:absolute;inset:0;width:100%;height:100%}
.ill text{font-family:inherit}
.ill .ti{font-size:1.1875rem;font-weight:600;fill:#fff}.ill .ts{font-size:0.84375rem;font-weight:500;fill:rgba(255,255,255,.55)}
.ill .tr{font-size:0.9375rem;font-weight:500;fill:#fff}.ill .tv{font-size:0.9375rem;font-weight:600;fill:#fff}
.ill .big{font-size:3.25rem;font-weight:700;letter-spacing:-.04em;fill:#1E1F23}.ill .ts2{font-size:0.9375rem;font-weight:500;fill:#6B6F7B}
.ill .fb1{animation:fbf 6s ease-in-out infinite alternate}.ill .fb2{animation:fbf 6s ease-in-out -3s infinite alternate}
@keyframes fbf{to{translate:0 -0.4375rem}}
.ill .hb{transform-box:fill-box;transform-origin:center;animation:hbt 2.4s ease-in-out infinite}
@keyframes hbt{0%,100%{transform:scale(1)}45%{transform:scale(1.07)}}
.ill .r1,.ill .r2,.ill .r3{transform-box:view-box;transform-origin:12.5rem 21rem;animation:rg 5s ease-in-out infinite alternate}
.ill .r2{animation-delay:-1.2s}.ill .r3{animation-delay:-2.4s}

.ill.art.idle [data-g=back-layers]{animation:idl 5s ease-in-out infinite alternate}
@keyframes idl{to{translate:0 -0.25rem}}
.ill.art .mk,.ill.art .chip{will-change:transform}
.bx-g{position:absolute;inset:0.5rem;overflow:hidden;border-radius:1.125rem;background:rgba(16,20,44,.36);backdrop-filter:blur(1.75rem) saturate(140%);-webkit-backdrop-filter:blur(1.75rem) saturate(140%);box-shadow:inset 0 0.125rem 0 rgba(255,255,255,.8),inset 0.125rem 0 0 rgba(255,255,255,.45),inset 0 -0.125rem 0 rgba(255,255,255,.25),inset 0 0 0 1px rgba(255,255,255,.35),inset 0 0 3.125rem rgba(255,255,255,.14),0 1.125rem 2.5rem rgba(4,8,30,.3);padding:2rem}

.stk-l{position:absolute;left:2rem;top:2rem;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0.25rem}
.stk-l li{display:flex;align-items:center;gap:0.75rem;height:2rem;font-size:0.9375rem;line-height:1.375rem;font-weight:500;color:rgba(255,255,255,.55);transition:color .5s}
.stk-l li b{font-size:0.6875rem;font-weight:600;letter-spacing:.06em;width:1.25rem;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.4);transition:color .5s}
.stk-l li::before{content:"";width:0.375rem;height:0.375rem;border-radius:50%;background:rgba(255,255,255,.35);order:-1;transition:background .5s,transform .5s var(--eo)}
.stk-l li.on{color:#fff}.stk-l li.on b{color:var(--or)}.stk-l li.on::before{background:var(--or);transform:scale(1.5)}
.stk{position:absolute;right:0;top:4%;width:62%;height:80%;--k:1}
.stk-s{position:absolute;left:50%;top:50%;width:0;height:0;transform:scale(var(--k))}
.ch{position:absolute;left:-2.875rem;top:-2.875rem;width:5.75rem;height:5.75rem;border-radius:1.5rem;display:grid;place-items:center;color:#fff;--a:0;--e:0;will-change:transform;
background:linear-gradient(rgba(255,107,43,calc(var(--a)*.7)),rgba(255,107,43,calc(var(--a)*.7))),linear-gradient(145deg,rgba(255,255,255,.34),rgba(255,255,255,.12));
box-shadow:inset 0 1.5px 0 rgba(255,255,255,.8),inset 0 0 0 1px rgba(255,255,255,.35),0 0.875rem 1.875rem rgba(6,10,34,.28)}
.ch svg{width:2.25rem;height:2.25rem}
.stk-f{position:absolute;left:-10.5rem;top:-10.5rem;width:21rem;height:21rem;border-radius:2.5rem;opacity:0;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55),0 0 5rem rgba(255,255,255,.18);pointer-events:none}
.hn{display:block;font-size:0.8125rem;line-height:1rem;font-weight:600;letter-spacing:.08em;color:var(--g4)}
.how-i h3{margin-top:0.75rem;font-size:2.25rem;line-height:2.75rem;font-weight:600;letter-spacing:-.03em}
.how-i p{margin-top:0.75rem;font-size:1rem;line-height:1.5rem;font-weight:500;color:var(--g5);max-width:30rem}

/* ---------- 03 services ---------- */
.services{background:var(--g1);height:100rem}
.services .lead{margin-top:1.875rem;width:35rem}
.sv-list{position:absolute;left:6rem;right:6rem;top:19.25rem}
.sv-row{position:relative;height:8.25rem;margin-bottom:0.75rem;border-radius:1.25rem;background:#fff;overflow:hidden;cursor:pointer;box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .3s}
.sv-row.is-open{box-shadow:inset 0 0 0 1px var(--or)}
.sv-mark{position:absolute;left:2rem;top:3.5rem;width:0.625rem;height:0.625rem;border-radius:0.125rem;background:var(--or);transform:scale(0);transition:transform .3s var(--eo)}
.sv-row.is-open .sv-mark{transform:scale(1)}
.sv-no{position:absolute;left:2rem;top:3.625rem;font-size:1.25rem;line-height:1rem;font-weight:600;letter-spacing:.08em;color:var(--g4);transition:color .3s,left .3s var(--eo),top .3s var(--eio)}
.sv-row.is-open .sv-no{left:3.375rem;top:3.25rem;color:var(--ink)}
.sv-nm{position:absolute;left:8.75rem;top:2.875rem;font-size:2rem;line-height:2.5rem;font-weight:600;letter-spacing:-.03em;color:var(--ink);white-space:nowrap;transform-origin:left center}
.sv-sum{position:absolute;left:47.5rem;top:3.4375rem;width:43.75rem;font-size:0.9375rem;line-height:1.375rem;font-weight:500;color:var(--g5);transition:opacity .25s}
.sv-row.is-open .sv-sum{opacity:0}
.sv-arr{position:absolute;right:1.6875rem;top:2.4375rem;width:3.375rem;height:3.375rem;display:grid;place-items:center;color:var(--ink);transition:transform .45s var(--eio)}
.sv-arr svg{opacity:.3;transition:opacity .3s}
.sv-row:hover .sv-arr svg,.sv-row.is-open .sv-arr svg{opacity:1}
.sv-row:not(.is-open):hover .sv-arr{transform:translateX(0.375rem)}
.sv-row.is-open .sv-arr{transform:translate(-1rem,-1.0625rem) rotate(-45deg)}
.sv-more{position:absolute;left:8.75rem;top:7rem;width:93.75rem}
.sv-d{width:45rem;font-size:1.125rem;line-height:1.75rem;font-weight:500;color:var(--g5)}
.sv-chips{margin-top:2rem;display:flex;flex-wrap:wrap;gap:0.5rem;width:77.5rem}
.chip{display:inline-flex;align-items:center;height:2.5rem;padding:0 1.125rem;border-radius:0.625rem;background:var(--g1);font-size:0.875rem;font-weight:600;color:var(--ink);transition:background .2s}
.chip:hover{background:var(--g2)}
.sv-link{margin-top:3rem;display:inline-flex;align-items:center;gap:0.5rem;font-size:1rem;line-height:1.375rem;font-weight:600;color:var(--bl)}
.sv-link svg{transition:transform .35s var(--eo)}
.sv-link:hover svg{transform:translate(0.1875rem,-0.1875rem)}
.sv-row.is-open .sv-nm{font-size:3rem;line-height:4.5rem;top:1.5rem}

/* ---------- 04 projects ---------- */
.projects{background:var(--ink);color:#fff;height:auto;padding-bottom:8.75rem;overflow:visible}
.projects .label{color:rgba(255,255,255,.56)}
.projects .h2 .d0{color:#fff}.projects .h2 .d1{color:rgba(255,255,255,.56)}
.projects .lead{margin-top:1.8125rem;width:43rem;color:rgba(255,255,255,.72)}
.vl-proj{left:3.5rem;top:0;bottom:2rem;background:var(--ln);z-index:6}
.lnk-w{margin-top:1.25rem;display:inline-flex;align-items:center;gap:0.5rem;font-size:1rem;line-height:1.375rem;font-weight:600}
.lnk-w svg{transition:transform .35s var(--eo)}
.lnk-w:hover svg{transform:translateX(0.25rem)}
.pj-body{position:relative;margin:1.4375rem -6rem 0}
.pj-stage-wrap{position:sticky;top:5.5rem;z-index:3;height:37.5rem;background:var(--ink);overflow:hidden}
.pj-stage{position:absolute;inset:0;perspective:112.5rem;perspective-origin:50% 50%}
.pj-card{position:absolute;left:50%;top:50%;width:60rem;height:35rem;margin:-17rem 0 0 -30rem;cursor:pointer;will-change:transform}
.pj-tilt{position:absolute;inset:0}
.pj-shape{position:absolute;inset:0;overflow:hidden;background:#1a1c22}
.pj-shape img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pj-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,12,16,0) 0%,rgba(11,12,16,.05) 50%,rgba(11,12,16,.88) 100%)}
.pj-dim{position:absolute;inset:0;background:var(--ink);opacity:0;pointer-events:none}
.pj-info{position:absolute;left:2.5rem;right:2.5rem;bottom:2.25rem}
.pj-kind{font-size:0.6875rem;line-height:0.875rem;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.72)}
.pj-ti{margin-top:0.75rem;font-size:3.5rem;line-height:3.875rem;font-weight:600;letter-spacing:-.04em;max-width:47.5rem}
.pj-re{margin-top:1rem;font-size:1.125rem;line-height:1.625rem;font-weight:500;color:rgba(255,255,255,.85)}
.pj-nav{position:absolute;right:2.5rem;bottom:2.5rem;display:flex;gap:0.75rem}
.pj-nav button{width:3rem;height:3rem;border-radius:0.75rem;display:grid;place-items:center;transition:background .3s,color .3s,opacity .3s}
.pj-prev{background:rgba(255,255,255,.12);color:#fff}
.pj-next{background:var(--or);color:var(--ink)}
.pj-prev:hover{background:#fff;color:var(--ink)}.pj-next:hover{background:#fff}
.pj-nav button[disabled]{opacity:.35;pointer-events:none}
.pj-list{position:relative;margin-top:3.625rem;padding:0 5.625rem 0 6rem;border-top:1px solid rgba(255,255,255,.24)}
.pj-lab{height:3.6875rem;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.24);margin:0 -5.625rem 0 -6rem;padding-left:6rem;font-size:0.875rem;font-weight:700;letter-spacing:.14em;color:var(--or)}
.pj-row{position:relative;height:4.5rem;display:grid;grid-template-columns:5rem 60rem 22.75rem 1fr 2.5rem;align-items:center;cursor:pointer;color:#fff}
.pj-row::before{content:"";position:absolute;left:-2.4375rem;right:-5.625rem;top:0;bottom:0;background:rgba(255,255,255,.04);opacity:0;transition:opacity .35s}
.pj-row::after{content:"";position:absolute;left:-6rem;right:-5.625rem;bottom:0;height:1px;background:rgba(255,255,255,.24);opacity:0;transition:opacity .35s}
.pj-row.is-on::after{opacity:1}
.pj-row[data-i="0"]{height:4.8125rem}
.pj-row.is-on::before{opacity:1}
.pj-mark{position:absolute;left:0;top:1.9375rem;width:0.625rem;height:0.625rem;border-radius:0.125rem;background:var(--or);transform:scale(0);transition:transform .3s var(--eo)}
.pj-row.is-on .pj-mark{transform:scale(1)}
.pj-no{position:relative;padding-left:1.375rem;font-size:0.8125rem;font-weight:600;letter-spacing:.08em;opacity:.35;transition:opacity .35s}
.pj-nm{position:relative;font-size:2.25rem;line-height:2.875rem;font-weight:600;letter-spacing:-.03em;opacity:.4;transition:opacity .35s}
.pj-fd{position:relative;font-size:0.75rem;font-weight:600;letter-spacing:.12em;opacity:.35;transition:opacity .35s;opacity:.35}
.pj-rs{position:relative;font-size:1.25rem;line-height:1.5rem;font-weight:600;letter-spacing:-.01em;opacity:.4;transition:opacity .35s}
.pj-ar{position:relative;justify-self:end;opacity:.4;transition:opacity .35s,transform .45s var(--eio)}
.pj-row.is-on .pj-ar{transform:rotate(-45deg)}
.pj-row.is-on .pj-no,.pj-row.is-on .pj-nm,.pj-row.is-on .pj-rs,.pj-row.is-on .pj-ar{opacity:1}
.pj-row.is-on .pj-fd{opacity:.72}
.pj-row:hover .pj-nm{opacity:.75}

/* ---------- 05 process (pinned) ---------- */
.process{height:auto;padding:0;overflow:visible}
.pc-pin{position:relative;height:100vh;min-height:45rem;padding:5rem 6rem 0}
.pc-list{position:absolute;left:6rem;top:9.5rem;width:53.75rem}
.pc-it{position:relative;padding-bottom:2rem;cursor:pointer;transition:padding .5s var(--eio)}
.pc-it.is-on{padding-bottom:3.125rem}
.pc-no{position:absolute;left:0;top:1.75rem;font-size:0.9375rem;line-height:1rem;font-weight:600;letter-spacing:.08em;color:var(--g4);transition:left .4s var(--eo),color .3s}
.pc-it.is-on .pc-no{left:1.75rem;color:var(--ink)}
.pc-mk{position:absolute;left:0;top:1.875rem;width:0.75rem;height:0.75rem;border-radius:0.1875rem;background:var(--or);transform:scale(0);transition:transform .35s var(--eo)}
.pc-it.is-on .pc-mk{transform:scale(1)}
.pc-t{margin-left:4.5rem;font-size:4rem;line-height:4.5rem;font-weight:600;letter-spacing:-.04em;color:var(--g3);transition:color .4s}
.pc-it:hover .pc-t{color:#A5ABB5}
.pc-it.is-on .pc-t{color:var(--ink)}
.pc-tag{position:absolute;left:37.75rem;top:1.875rem;font-size:0.8125rem;line-height:1rem;font-weight:600;color:var(--g4);transition:opacity .3s}
.pc-it.is-on .pc-tag{opacity:0}
.pc-more{margin-left:4.5rem;height:0;overflow:hidden;opacity:0}
.pc-d{padding-top:1rem;width:35rem;font-size:1.125rem;line-height:1.75rem;font-weight:500;color:var(--g5)}
.pc-chips{margin-top:3rem;display:flex;gap:0.5rem}
.pc-chips .chip{font-size:0.8125rem;padding:0 1rem}
.pc-panel{position:absolute;left:62.5rem;top:6rem;width:51.5rem;height:50.75rem;color:#fff}
.pc-shape{position:absolute;inset:0;background:var(--bl)}
.pc-body{position:absolute;inset:0}
.pp{position:absolute;inset:0;visibility:hidden}
.pp-tag{position:absolute;left:3rem;top:4rem;font-size:0.75rem;line-height:1rem;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.72)}
.pp-ti{position:absolute;left:3rem;top:5.75rem;width:43.75rem;font-size:2rem;line-height:2.5rem;font-weight:600;letter-spacing:-.03em}
.pp-ft{position:absolute;left:3rem;top:44.75rem;width:37.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:500;color:rgba(255,255,255,.85)}
.pp-svg{position:absolute;left:3rem;top:14.75rem;width:45.5rem}
.pp-svg svg{display:block;width:45.5rem;height:auto}
.gt-band{position:absolute;top:12.5rem;width:5.5rem;height:27.5rem;background:rgba(255,255,255,.08)}
.gt-wk{position:absolute;top:13.125rem;width:5.5rem;text-align:center;font-size:0.75rem;line-height:1rem;font-weight:600;color:rgba(255,255,255,.72)}
.gt-lb{position:absolute;left:3rem;font-size:0.9375rem;line-height:1.25rem;font-weight:600;color:rgba(255,255,255,.85)}
.gt-bar{position:absolute;height:1.75rem;border-radius:0.5rem;background:#fff;transform-origin:left center}
.gt-bar.or{background:var(--or)}
.gt-dm{position:absolute;top:36.8125rem;width:1rem;height:1rem;border-radius:0.125rem;background:var(--or);transform:rotate(45deg)}
.gt-dl{position:absolute;top:39.125rem;width:5rem;text-align:center;font-size:0.75rem;line-height:1rem;font-weight:600;color:rgba(255,255,255,.72)}

/* ---------- 06 team ---------- */
.team{background:var(--g1);height:74.75rem}
.team-r{position:absolute;left:71rem;top:7.75rem;width:43rem}
.team-r .lead{width:43rem}
.lnk-d{margin-top:1.25rem;display:inline-flex;align-items:center;gap:0.5rem;font-size:1rem;line-height:1.375rem;font-weight:600}
.lnk-d svg{transition:transform .35s var(--eo)}
.lnk-d:hover svg{transform:translateX(0.25rem)}
.tm-grid{position:absolute;left:6rem;right:6rem;top:17.1875rem;display:grid;grid-template-columns:repeat(4,25.5rem);gap:2rem}
.tm-card{position:relative;height:23.75rem;cursor:pointer}
.tm-shape{position:absolute;inset:0;overflow:hidden;background:var(--g2)}
.tm-shape img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--eo)}
.tm-card:hover img{transform:scale(1.04)}
.tm-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,12,16,0) 0%,rgba(11,12,16,.05) 50%,rgba(11,12,16,.85) 100%)}
.tm-nm{position:absolute;left:1.75rem;top:18rem;font-size:1.75rem;line-height:2.125rem;font-weight:600;letter-spacing:-.02em;color:#fff}
.tm-rl{position:absolute;left:1.75rem;top:20.625rem;font-size:0.6875rem;line-height:0.875rem;font-weight:600;letter-spacing:.12em;color:rgba(255,255,255,.72)}

/* ---------- 07 news ---------- */
.news{height:67.5rem}
.nw-tabs{margin-top:2.25rem;display:flex;gap:0.625rem}
.nw-tab{height:2.5rem;padding:0 1rem;border-radius:0.75rem;background:var(--g1);font-size:0.875rem;font-weight:600;color:var(--ink);transition:background .3s,color .3s}
.nw-tab:hover{background:var(--g2)}
.nw-tab.on{background:var(--ink);color:#fff}
.nw-feat{position:absolute;left:6rem;top:19.25rem;width:61rem;display:block}
.nw-fimg{position:relative;width:61rem;height:27.5rem}
.nw-fimg .nw-clip{position:absolute;inset:0;overflow:hidden}
.nw-fimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--eo)}
.nw-feat:hover .nw-fimg img{transform:scale(1.03)}
.nw-ph{position:absolute;inset:0;display:grid;place-items:center;font-size:0.8125rem;font-weight:700;letter-spacing:.14em;color:var(--g4)}
.nw-meta{margin-top:1.5rem;display:flex;gap:1rem;font-size:0.6875rem;line-height:0.875rem;font-weight:600;letter-spacing:.14em}
.nw-meta .k{color:var(--or)}.nw-meta .m{color:var(--g4)}
.nw-feat h3{margin-top:1.125rem;width:61rem;font-size:2.5rem;line-height:2.875rem;font-weight:600;letter-spacing:-.03em;transition:color .2s}
.nw-feat:hover h3{color:var(--bl)}
.nw-feat p.x{margin-top:1rem;width:50rem;font-size:1rem;line-height:1.5rem;font-weight:500;color:var(--g5)}
.nw-list{position:absolute;left:71rem;top:19.25rem;width:43rem;display:flex;flex-direction:column;gap:2rem}
.nw-it{display:block}
.nw-it .mr{display:flex;justify-content:space-between;font-size:0.6875rem;line-height:0.875rem;font-weight:600}
.nw-it .mr .k{letter-spacing:.14em}.nw-it .mr .d{letter-spacing:.08em;color:var(--g4)}
.nw-it h4{margin-top:0.625rem;font-size:1.5rem;line-height:1.875rem;font-weight:600;letter-spacing:-.02em;transition:color .2s}
.nw-it:hover h4{color:var(--bl)}
.nw-it p{margin-top:0.625rem;font-size:0.9375rem;line-height:1.375rem;font-weight:500;color:var(--g5)}
.btn{display:inline-flex;align-items:center;justify-content:center;height:3.5rem;padding:0 1.5rem;border-radius:0.75rem;font-size:1rem;font-weight:600;color:var(--ink);transition:background .3s,color .3s,transform .1s;width:max-content}
.btn:active{transform:scale(.97)}
.btn-or{background:var(--or)}
.btn-or:hover{background:var(--ink);color:#fff}
.nw-more{align-self:flex-start}
.btn-gh{background:rgba(255,255,255,.12);color:#fff}
.btn-gh:hover{background:#fff;color:var(--ink)}
.cta .btn-or:hover{background:#fff;color:var(--ink)}

/* ---------- 08 cta ---------- */
.cta{height:45rem;background:var(--ink);color:#fff;padding-top:6rem}
.cta .label{color:rgba(255,255,255,.56)}
.cta-h{margin-top:1rem;font-size:8rem;line-height:8rem;font-weight:600;letter-spacing:-.05em;width:75rem}
.cta-h .d0{color:#fff}.cta-h .d1{color:rgba(255,255,255,.56)}
.cta-btns{position:absolute;left:6rem;top:27rem;display:flex;gap:0.5rem}
.cta-info{position:absolute;left:6rem;top:35.5rem;display:grid;grid-template-columns:repeat(3,30rem);column-gap:6rem}
.cta-info .label{color:rgba(255,255,255,.56);font-size:0.6875rem;line-height:0.875rem}
.ci{margin-top:0.625rem;font-size:1.375rem;line-height:1.875rem;font-weight:600;letter-spacing:-.01em}

/* ---------- 09 footer ---------- */
.ftr{height:57.5rem;background:#fff;padding:0}
.ft-news{position:absolute;left:6rem;top:6rem;width:35rem}
.ft-news h3{font-size:2.75rem;line-height:3.25rem;font-weight:600;letter-spacing:-.035em}
.fs{margin-top:0.75rem;width:32.5rem;font-size:1rem;line-height:1.625rem;color:var(--g6)}
.ft-form{margin-top:2.875rem;display:flex;align-items:center;justify-content:space-between;width:35rem;height:3.5rem;padding:0 0.5rem 0 1.25rem;border:1px solid rgba(11,12,16,.2);border-radius:0.75rem;background:#fff;transition:border-color .3s}
.ft-form:focus-within{border-color:var(--ink)}
.ft-form input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:1rem;color:var(--ink)}
.ft-form input::placeholder{color:#8A909C}
.ft-form button{height:3rem;padding:0 1.375rem;border-radius:0.625rem;background:var(--or);font-size:0.9375rem;font-weight:600;color:var(--ink);transition:background .3s,color .3s}
.ft-form button:hover{background:var(--ink);color:#fff}
.ft-consent{margin-top:1.3125rem;display:flex;align-items:flex-start;gap:0.75rem;width:35rem;font-size:0.8125rem;line-height:1.25rem;color:var(--g6);cursor:pointer}
.ft-consent input{position:absolute;opacity:0}
.ft-consent i{flex:none;width:1rem;height:1rem;margin-top:0.1875rem;border:1.5px solid rgba(11,12,16,.4);border-radius:0.25rem;transition:background .2s,border-color .2s}
.ft-consent input:checked+i{background:var(--ink);border-color:var(--ink);box-shadow:inset 0 0 0 0.1875rem #fff}
.ft-col{position:absolute;top:6rem;width:15rem}
.c1{left:48.5rem}.c2{left:65rem}.c3{left:81.5rem}.c4{left:98rem;width:16rem}
.ft-col .label{color:#8A909C}
.ft-col a{display:block;margin-top:0;font-size:1rem;line-height:2.125rem;color:var(--ink);transition:color .2s}
.ft-col .label+a{margin-top:1.25rem}
.ft-col a:hover{color:var(--or)}
.addr{margin-top:1.25rem;font-size:0.9375rem;line-height:1.625rem;color:var(--ink)}
.ft-div{position:absolute;left:6rem;right:6rem;top:34.5rem;height:1px;background:rgba(11,12,16,.14)}
.ft-legal{position:absolute;left:6rem;top:36.125rem;width:37.5rem;font-size:0.8125rem;line-height:1.25rem;color:var(--g6)}
.ft-links,.ft-soc{position:absolute;top:36.125rem;display:flex;gap:1.625rem;font-size:0.8125rem;line-height:1.25rem;font-weight:500}
.ft-links{left:48.5rem}.ft-soc{left:73.5rem}
.ft-links a:hover,.ft-soc a:hover{color:var(--or)}
.ft-lang{position:absolute;left:99.375rem;top:36.125rem;font-size:0.8125rem;line-height:1.25rem;font-weight:600;letter-spacing:.08em}
.ft-top{position:absolute;left:111.25rem;top:35.375rem;width:2.75rem;height:2.75rem;border-radius:0.75rem;background:var(--ink);color:#fff;display:grid;place-items:center;transition:background .3s,transform .3s var(--eo)}
.ft-top:hover{background:var(--or);color:var(--ink);transform:translateY(-0.1875rem)}
.ft-mark{position:absolute;left:4.5rem;top:32.5rem;width:80.0625rem;user-select:none;pointer-events:none}.ft-mark svg{display:block;width:100%;height:auto;overflow:visible}

/* plus marks where the project list lines meet the vertical line (design: 3 marks at x=50) */
.pj-list>.pjp1{left:3.125rem;top:-0.375rem}.pj-list>.pjp2{left:3.125rem;top:3.375rem}
.pj-rp{left:-2.875rem;bottom:-0.375rem;opacity:0;transition:opacity .35s}
.pj-row.is-on .pj-rp{opacity:.85}


/* ---------- mega menu (design: Mega menu — 1920 — Dịch vụ) ---------- */
.mega{position:absolute;left:0;right:0;top:0;z-index:1;pointer-events:none;visibility:hidden}
.mega.open{pointer-events:auto;visibility:visible}
.mega-panel{background:rgba(11,12,16,.8);backdrop-filter:blur(1.75rem) saturate(150%);-webkit-backdrop-filter:blur(1.75rem) saturate(150%);border-radius:0 0 1.5rem 1.5rem;border:1px solid rgba(255,255,255,.12);border-top:0;clip-path:inset(0 0 100% 0);color:#fff}
.mega-in{position:relative;height:45.25rem;margin:0 6rem}
.mega-dim{position:fixed;inset:0;z-index:49;background:rgba(11,12,16,.35);opacity:0;pointer-events:none;transition:opacity .4s}
.mega-dim.open{opacity:1;pointer-events:auto}
.mg-lab{position:absolute;top:9.5rem;font-size:0.75rem;line-height:1rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.mg-d1,.mg-d2{position:absolute;top:9.5rem;width:1px;height:33.75rem;background:rgba(255,255,255,.1)}
.mg-d1{left:26.5rem}.mg-d2{left:65.75rem}
.mg-c1{position:absolute;left:0;top:9.5rem;width:26.5rem}
.mg-area{position:relative;display:grid;grid-template-columns:2.25rem 1fr;align-items:center;width:100%;height:4.25rem;padding-right:2.4375rem;text-align:left;color:#fff}
.mg-area .mn{font-size:0.75rem;font-weight:600;color:rgba(255,255,255,.35);transition:color .25s}
.mg-area .mgm{font-size:1.875rem;line-height:2.25rem;font-weight:600;letter-spacing:-.02em;color:rgba(255,255,255,.35);transition:color .25s}
.mg-area .mc{font-size:1.0625rem;line-height:1;font-weight:600;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.35);transition:color .25s}
.mg-area.on .mn{color:var(--or)}.mg-area.on .mgm,.mg-area.on .mc{color:#fff}
.mg-area:hover .mgm,.mg-area:hover .mc{color:rgba(255,255,255,.8)}
.mg-c2{position:absolute;left:30.5rem;top:9.5rem;width:32.5rem}
.mg-sub{position:relative;display:flex;align-items:flex-start;justify-content:space-between;height:3.25rem;width:32.5rem;text-align:left;font-size:1.25rem;line-height:1.75rem;font-weight:500;color:rgba(255,255,255,.55);transition:color .25s}
.mg-sub::after{content:"";position:absolute;left:0;right:0;top:2.5rem;height:1px;background:rgba(255,255,255,.08);transition:background .25s}
.mg-sub::before{content:"";position:absolute;left:-1.125rem;top:0.6875rem;width:0.375rem;height:0.375rem;border-radius:0.125rem;background:var(--or);transform:scale(0);transition:transform .3s var(--eo)}
.mg-sub svg{opacity:0;transform:translateX(-0.5rem);transition:opacity .25s,transform .35s var(--eo);margin-top:0.25rem}
.mg-sub.on{color:#fff;font-weight:600}.mg-sub.on::after{background:rgba(255,255,255,.2)}.mg-sub.on::before{transform:scale(1)}.mg-sub.on svg{opacity:1;transform:none}
.mg-sub:hover{color:#fff}
.mg-c3{position:absolute;left:69.75rem;top:0;width:38.25rem}
.mg-items{position:absolute;top:12rem;left:0;display:grid;grid-template-columns:20rem 18.25rem;grid-auto-flow:column;grid-template-rows:repeat(4,1.5rem);row-gap:0.625rem}
.mg-items span{font-size:1rem;line-height:1.5rem;color:rgba(255,255,255,.85)}
.mg-feat{position:absolute;top:22.25rem;left:0;width:38.25rem;height:15.625rem;overflow:hidden;background:#1a1c22}
.mg-feat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mg-fm{position:absolute;top:38.875rem;left:0;width:38.25rem}
.mg-fm .k{display:block;font-size:0.75rem;line-height:1rem;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.5)}
.mg-fm .t{display:block;margin-top:0.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600;max-width:26.25rem}
.mg-fm .l,.mg-all{position:absolute;right:0;display:inline-flex;align-items:center;gap:0.5rem;font-size:0.9375rem;font-weight:500;line-height:1.25rem}
.mg-fm .l{top:1.75rem}
.mg-fm .l svg,.mg-all svg{transition:transform .35s var(--eo)}
.mg-fm .l:hover svg,.mg-all:hover svg{transform:translateX(0.25rem)}
.mg-line{position:absolute;left:0;right:0;top:44.25rem;height:1px;background:rgba(255,255,255,.1)}
.mg-il{position:absolute;left:0;top:46.375rem;font-size:0.75rem;line-height:1rem;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.5)}
.mg-chips{position:absolute;left:10.5rem;top:45.375rem;display:flex;gap:0.5rem}
.mg-chips a{display:inline-flex;align-items:center;height:2.3125rem;padding:0 0.9375rem;border:1px solid rgba(255,255,255,.2);border-radius:0.5rem;font-size:0.875rem;font-weight:500;color:rgba(255,255,255,.85);transition:background .25s,color .25s,border-color .25s}
.mg-chips a:hover{background:#fff;color:var(--ink);border-color:#fff}
.mg-all{top:45.75rem}
.mg-wide{position:absolute;left:30.5rem;top:9.5rem;width:77.5rem;height:30rem}
.mg-wide .mg-feat{top:0;left:0;width:47.5rem;height:26.875rem}
.mg-wide .mg-info{position:absolute;left:50.5rem;top:0;width:26.875rem}
.mg-info .k{font-size:0.75rem;letter-spacing:.14em;font-weight:600;color:rgba(255,255,255,.5)}
.mg-info h3{margin-top:0.875rem;font-size:2.5rem;line-height:2.875rem;font-weight:600;letter-spacing:-.03em}
.mg-info .r{margin-top:1.25rem;font-size:1.125rem;line-height:1.625rem;color:rgba(255,255,255,.85)}
.mg-info .l{margin-top:1.75rem;display:inline-flex;gap:0.5rem;align-items:center;font-size:0.9375rem;font-weight:500}
.mg-pj .mgm{font-size:1.3125rem;max-width:21.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mg-pjall{position:absolute;left:0;right:auto;top:31.25rem}
.mega.open .mg-stag{animation:mgIn .6s var(--eo) both;animation-delay:calc(var(--d,0) * 40ms + .15s)}
@keyframes mgIn{from{opacity:0;transform:translateY(0.875rem)}to{opacity:1;transform:none}}

/* design: sections overlap by 2rem from Dự án onward; Giới thiệu and Dịch vụ are contiguous */
.projects{margin-top:-5.5rem}.process,.team,.news,.cta,.ftr{margin-top:-2rem}
.design .pj-stage-wrap{position:relative;top:0}

.hdr-burger,.mm{display:none}
/* last resort when scripts fail: show the static page */
html.fail .pre{display:none!important}
html.fail *{opacity:1!important;visibility:visible!important}
html.fail .hero-bg,html.fail .hero-bg img,html.fail .ln,html.fail .li{clip-path:none!important;transform:none!important}

/* ---------- dark mood for sections 3 → news: ink, white and one orange accent only ---------- */
.services,.process,.team,.news{--ink:#fff;--g1:#0B0C10;--g2:rgba(255,255,255,.08);--g3:rgba(255,255,255,.34);--g4:rgba(255,255,255,.5);--g5:rgba(255,255,255,.66);--g6:rgba(255,255,255,.78);--bl:#FF5A14;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.services{background:radial-gradient(48% 30% at 92% 0%,rgba(255,90,20,.1),transparent 72%),#0B0C10}
.process{background:#0E1015}
.team{background:#0B0C10}
.news{background:#0E1015}
.services .sv-row{background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09)}
.services .sv-row:hover{background:rgba(255,255,255,.07)}
.services .sv-row.is-open{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--or)}
.services .chip{background:rgba(255,255,255,.08);color:#fff}
.team .tm-shape,.news .nw-clip{box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.news .nw-tab{color:rgba(255,255,255,.6);border-color:rgba(255,255,255,.18)}.news .nw-tab.on{background:#fff;color:#0B0C10;border-color:#fff}
.news .nw-it{border-color:rgba(255,255,255,.12)}
.pc-shape{background:#171A21}
.pp{background:#171A21}
.process .pp,.process .pc-body{color:#fff}
.bx-n{color:#0B0C10}
/* ---------- section 3 as a story (desktop) ---------- */
.services.is-story{height:auto;padding-bottom:10rem}
.sv-story{position:relative;margin-top:6rem;padding-left:4.5rem}
.sv-line{position:absolute;left:0.375rem;top:1.5rem;bottom:1.5rem;width:0.125rem;background:rgba(255,255,255,.14)}
.sv-line b{position:absolute;inset:0;background:var(--or);transform-origin:top;transform:scaleY(var(--p,0))}
.sv-ch{position:relative;display:grid;grid-template-columns:5fr 7fr;gap:4.5rem;min-height:58vh;padding:3rem 0 1.5rem;align-items:start}
.sv-dot{position:absolute;left:-4.5rem;top:5.25rem;width:0.875rem;height:0.875rem;margin-left:0;border-radius:50%;background:#0B0C10;box-shadow:0 0 0 0.125rem rgba(255,255,255,.3);transition:background .5s,box-shadow .5s,transform .5s var(--eo)}
.sv-ch.on .sv-dot{background:var(--or);box-shadow:0 0 0 0.375rem rgba(255,90,20,.25);transform:scale(1.25)}
.sv-l{position:sticky;top:11.25rem}
.sv-no{display:block;font-size:12.5rem;line-height:11.25rem;font-weight:600;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.4);transition:color .6s,-webkit-text-stroke-color .6s}
.sv-ch.on .sv-no{color:var(--or);-webkit-text-stroke-color:transparent}
.sv-r h3{font-size:4.75rem;line-height:5rem;font-weight:600;letter-spacing:-.045em;opacity:.45;transition:opacity .6s}
.sv-ch.on .sv-r h3{opacity:1}
.sv-p{margin-top:1.75rem;max-width:40rem;font-size:1.375rem;line-height:2.125rem;font-weight:500;color:rgba(255,255,255,.7)}
.sv-it{margin:2rem 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:0.625rem;max-width:47.5rem}
.sv-it li{padding:0.625rem 1.125rem;border-radius:62.4375rem;border:1px solid rgba(255,255,255,.2);font-size:0.9375rem;color:rgba(255,255,255,.88)}
.sv-go{display:inline-flex;gap:0.625rem;align-items:center;font-size:1rem;font-weight:600;color:#FF8A57}
.sv-br{display:flex;align-items:center;gap:1.25rem;margin-top:5rem;max-width:40rem;font-size:1.25rem;line-height:1.875rem;font-weight:600;letter-spacing:-.02em;color:rgba(255,255,255,.8)}
.sv-br span{flex:none;width:3.5rem;height:0.125rem;background:var(--or)}
.sv-r>*{opacity:0;transform:translateY(1.75rem);transition:opacity .9s var(--eo),transform .9s var(--eo)}
.sv-r>h3{transform:none}
.sv-ch.seen .sv-r>*{opacity:1;transform:none}.sv-ch.seen .sv-r>h3{opacity:.45}.sv-ch.on.seen .sv-r>h3{opacity:1}
.sv-ch.seen .sv-r>.sv-p{transition-delay:.08s}.sv-ch.seen .sv-r>.sv-it{transition-delay:.16s}.sv-ch.seen .sv-r>.sv-go{transition-delay:.24s}.sv-ch.seen .sv-r>.sv-br{transition-delay:.36s}
/* ---------- detail pages ---------- */
.dt{position:fixed;inset:0;z-index:40;background:#fff;color:var(--ink);overflow-y:auto;overscroll-behavior:contain;visibility:hidden;opacity:0;transition:opacity .35s,visibility 0s .35s}
.dt.on{visibility:visible;opacity:1;transition:opacity .35s}
.dt-in{padding:9rem 6rem 0;max-width:120rem;margin:0 auto}
.hdr.dt-on .hdr-glass{opacity:1;visibility:visible}
.dt .rv{opacity:0;transform:translateY(1.5rem);transition:opacity .8s var(--eo),transform .8s var(--eo)}.dt .rv.in{opacity:1;transform:none}
.dt-k{display:block;font-size:0.75rem;line-height:1rem;font-weight:600;letter-spacing:.1em;color:var(--g5)}
.dt-crumb{display:flex;gap:0.75rem;align-items:center;font-size:0.875rem;line-height:1.25rem;font-weight:500;color:var(--g5)}.dt-crumb a:hover{color:var(--ink)}.dt-crumb i{font-style:normal;opacity:.5}.dt-crumb span{color:var(--ink)}
.dt-h{padding:3.5rem 0 4rem}
.dt-h h1,.dt-mem h1{margin-top:1.25rem;font-size:6.5rem;line-height:6.5rem;font-weight:600;letter-spacing:-.045em}
.dt-lead{margin-top:1.75rem;max-width:47.5rem;font-size:1.375rem;line-height:2.125rem;font-weight:500;color:var(--g5)}
.dt-btns{display:flex;gap:0.75rem;margin-top:2.25rem;flex-wrap:wrap}
.dt-btn{display:inline-flex;align-items:center;height:3.5rem;padding:0 1.75rem;border-radius:0.875rem;font-size:1rem;font-weight:600;transition:background .3s,color .3s}
.dt-btn.or{background:var(--or);color:#fff}.dt-btn.or:hover{background:var(--ink)}
.dt-btn.gh{border:1px solid rgba(255,255,255,.3);color:#fff}.dt-btn.gh:hover{background:#fff;color:var(--ink)}
.dt-meta{display:flex;gap:4rem;margin-top:3.5rem;padding:0;list-style:none}
.dt-meta b{display:block;font-size:3rem;line-height:3.25rem;font-weight:600;letter-spacing:-.03em}.dt-meta span{font-size:0.875rem;color:var(--g5)}
.dt-s{padding:4.5rem 0;border-top:1px solid #E6E8EC}
.dt-sh{margin-bottom:2.5rem}.dt-sh h2{margin-top:0.875rem;max-width:56.25rem;font-size:3rem;line-height:3.5rem;font-weight:600;letter-spacing:-.035em}
.dt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.dt-card{padding:2rem;border-radius:1.5rem;background:#F3F4F7}
.dt-card .no{font-size:0.8125rem;font-weight:600;letter-spacing:.08em;color:var(--or)}
.dt-card h3{margin-top:1rem;font-size:1.625rem;line-height:2rem;font-weight:600;letter-spacing:-.025em}
.dt-card ul{margin:1.25rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0.625rem}
.dt-card li{position:relative;padding-left:1.25rem;font-size:0.9375rem;line-height:1.375rem;font-weight:500;color:var(--g5)}
.dt-card li::before{content:"";position:absolute;left:0;top:0.5rem;width:0.4375rem;height:0.4375rem;border-radius:0.125rem;background:var(--ink)}
.dt-two{display:grid;grid-template-columns:1fr 1fr;gap:6rem}
.dt-big{margin-top:1rem;font-size:2rem;line-height:2.75rem;font-weight:500;letter-spacing:-.025em}
.dt-check{margin:1rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:1.125rem}
.dt-check li{position:relative;padding-left:2.75rem;font-size:1.375rem;line-height:2rem;font-weight:500}
.dt-check li::before{content:"";position:absolute;left:0;top:0.25rem;width:1.625rem;height:1.625rem;border-radius:0.5rem;background:var(--or) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Cpath d='M7 13.5l4 4 8-9' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.dt-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin:0;padding:0;list-style:none}
.dt-steps li{padding:1.75rem;border-radius:1.25rem;background:#F3F4F7}
.dt-steps span{font-size:0.8125rem;font-weight:600;letter-spacing:.08em;color:var(--or)}.dt-steps h3{margin-top:2.5rem;font-size:1.625rem;line-height:2rem;font-weight:600;letter-spacing:-.025em}.dt-steps p{margin-top:0.625rem;font-size:0.9375rem;line-height:1.375rem;color:var(--g5)}
.dt-pc{display:block}.dt-pi{overflow:hidden;border-radius:1.5rem;aspect-ratio:3/2;background:#F3F4F7}.dt-pi img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--eo)}
.dt-pc:hover .dt-pi img,.dt-nc:hover .dt-pi img{transform:scale(1.04)}
.dt-pt{padding:1.25rem 0.25rem 0}.dt-pt h3{margin-top:0.625rem;font-size:2rem;line-height:2.5rem;font-weight:600;letter-spacing:-.03em}.dt-pt p{margin-top:0.5rem;font-size:1rem;color:var(--g5)}
.dt-pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:3.5rem 1.5rem;padding-bottom:6rem}
.dt-ngrid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem 1.5rem;padding-bottom:6rem}
.dt-nc h3{margin-top:0.75rem;font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-.025em}.dt-nc p{margin-top:0.5rem;font-size:0.9375rem;line-height:1.375rem;color:var(--g5)}.dt-nc .dt-k{margin-top:1.25rem}
.dt-tgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:3rem 1.5rem;padding-bottom:6rem}
.dt-ti{overflow:hidden;border-radius:1.5rem;aspect-ratio:4/5;background:#F3F4F7}.dt-ti img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--eo)}.dt-tc:hover .dt-ti img{transform:scale(1.04)}
.dt-tc h3{margin-top:1rem;font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-.025em}
.dt-mem{display:grid;grid-template-columns:35rem 1fr;gap:6rem;padding:3.5rem 0 6rem;align-items:center}
.dt-list{display:flex;flex-direction:column;border-top:1px solid #E6E8EC;margin-bottom:6rem}
.dt-row{display:grid;grid-template-columns:5rem 26.25rem 1fr 8.75rem 1.5rem;gap:1.5rem;align-items:center;padding:2.25rem 0;border-bottom:1px solid #E6E8EC;transition:padding .4s var(--eo)}
.dt-row:hover{padding-left:1.25rem}.dt-row .no{font-size:0.875rem;font-weight:600;color:var(--g4)}.dt-row h3{font-size:2.25rem;line-height:2.75rem;font-weight:600;letter-spacing:-.03em}.dt-row p{font-size:1rem;line-height:1.5rem;color:var(--g5)}.dt-row .ct{font-size:0.875rem;font-weight:600;color:var(--or)}
.dt-hero{margin:0 0 4.5rem}.dt-hero img{display:block;width:100%;aspect-ratio:21/9;object-fit:cover;border-radius:2rem}
.dt-res{display:flex;align-items:baseline;gap:1.25rem;margin-top:2.25rem}.dt-res b{font-size:4.5rem;line-height:4.5rem;font-weight:600;letter-spacing:-.05em;color:var(--or)}.dt-res span{font-size:1.375rem;color:var(--g5)}
.dt-info{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin:0 0 4.5rem;padding:2rem 0;border-top:1px solid #E6E8EC;border-bottom:1px solid #E6E8EC;list-style:none}
.dt-info span{display:block;font-size:0.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--g4);font-weight:600}.dt-info b{display:block;margin-top:0.5rem;font-size:1.125rem;line-height:1.625rem;font-weight:600}
.dt-outs{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:0;padding:0;list-style:none}.dt-outs li{padding:2rem;border-radius:1.5rem;background:#F3F4F7}.dt-outs span{font-size:0.8125rem;font-weight:600;letter-spacing:.08em;color:var(--or)}.dt-outs p{margin-top:2.5rem;font-size:1.375rem;line-height:1.875rem;font-weight:600;letter-spacing:-.02em}
.dt-q{margin:3.5rem 0 0;font-size:2.5rem;line-height:3.25rem;font-weight:600;letter-spacing:-.035em;max-width:68.75rem}.dt-q cite{display:block;margin-top:1.25rem;font-size:0.9375rem;font-style:normal;font-weight:500;color:var(--g5)}
.dt-note{margin:0 0 3.5rem;font-size:0.8125rem;color:var(--g4)}
.dt-art .dt-h{padding-bottom:3rem}.dt-art .dt-h h1{font-size:4.5rem;line-height:5rem;max-width:75rem}
.dt-body{max-width:47.5rem;margin:0 auto 6rem}.dt-body p{margin-bottom:1.75rem;font-size:1.25rem;line-height:2.125rem;font-weight:500;color:#2B2F38}
.dt-cta{margin:0 -6rem;padding:7.5rem 6rem;background:var(--ink);color:#fff}
.dt-cta h2{margin-top:1.25rem;max-width:56.25rem;font-size:5.5rem;line-height:5.75rem;font-weight:600;letter-spacing:-.045em}.dt-cta .dt-k{color:rgba(255,255,255,.6)}.dt-ci{margin-top:3rem;font-size:0.9375rem;color:rgba(255,255,255,.6)}
.dt-pn{display:grid;grid-template-columns:1fr 1fr;margin:0 -6rem;background:var(--ink);color:#fff;border-top:1px solid rgba(255,255,255,.12)}
.dt-pn a{display:block;padding:2.5rem 6rem;transition:background .3s}.dt-pn a:hover{background:rgba(255,255,255,.06)}.dt-pn a.r{text-align:right;border-left:1px solid rgba(255,255,255,.12)}
.dt-pn span{display:block;font-size:0.75rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55)}.dt-pn b{display:block;margin-top:0.5rem;font-size:1.75rem;line-height:2.25rem;font-weight:600;letter-spacing:-.025em}
.dt-keys{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.dt-key{display:flex;flex-direction:column;padding:2.5rem;border-radius:1.75rem;background:var(--ink);color:#fff;min-height:20rem;transition:transform .5s var(--eo)}
.dt-key:hover{transform:translateY(-0.25rem)}.dt-key .dt-k{color:rgba(255,255,255,.55)}.dt-key h3{margin-top:1rem;font-size:2.75rem;line-height:3rem;font-weight:600;letter-spacing:-.035em}.dt-key p{margin-top:1rem;max-width:32.5rem;font-size:1.125rem;line-height:1.75rem;color:rgba(255,255,255,.7)}.dt-key b{display:flex;gap:0.625rem;align-items:center;margin-top:auto;padding-top:2rem;font-size:0.875rem;font-weight:600;color:var(--or)}
.dt-acc{border-top:1px solid #E6E8EC}.dt-ai{border-bottom:1px solid #E6E8EC}
.dt-ah{display:grid;grid-template-columns:4.5rem 1fr auto 1.75rem;gap:1rem;align-items:center;width:100%;padding:1.75rem 0;text-align:left;color:var(--ink)}
.dt-ah .no{font-size:0.875rem;font-weight:600;color:var(--g4)}.dt-ah h3{font-size:1.875rem;line-height:2.375rem;font-weight:600;letter-spacing:-.03em}.dt-ah em{font-style:normal;font-size:0.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--or)}
.dt-ah i{position:relative;width:1.125rem;height:1.125rem}.dt-ah i::before,.dt-ah i::after{content:"";position:absolute;left:0;right:0;top:0.5rem;height:0.125rem;background:currentColor;border-radius:0.125rem;transition:transform .4s var(--eo)}.dt-ah i::after{transform:rotate(90deg)}.dt-ai.open .dt-ah i::after{transform:rotate(0)}
.dt-ab{height:0;overflow:hidden}.dt-abi{display:grid;grid-template-columns:1fr auto;gap:3rem;padding:0 0 2rem 5.5rem;align-items:end}
.dt-abi ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:0.625rem 2.5rem}.dt-abi li{position:relative;padding-left:1.25rem;font-size:1rem;line-height:1.5rem;color:var(--g5)}.dt-abi li::before{content:"";position:absolute;left:0;top:0.5625rem;width:0.4375rem;height:0.4375rem;border-radius:0.125rem;background:var(--or)}
.dt-lnk{display:inline-flex;gap:0.625rem;align-items:center;font-size:0.9375rem;font-weight:600;color:var(--or);white-space:nowrap}
.dt-grid.four{grid-template-columns:repeat(4,1fr)}.dt-card p{margin-top:0.75rem;font-size:0.9375rem;line-height:1.375rem;color:var(--g5)}.dt-card.dk{background:var(--ink);color:#fff}.dt-card.dk p{color:rgba(255,255,255,.7)}
.dt-steps.six{grid-template-columns:repeat(6,1fr)}.dt-steps.six h3{font-size:1.375rem;line-height:1.75rem}
.dt-rules{margin:1.25rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:1.5rem}.dt-rules h3{font-size:1.5rem;line-height:1.875rem;font-weight:600;letter-spacing:-.02em}.dt-rules p{margin-top:0.375rem;font-size:1rem;line-height:1.5rem;color:var(--g5)}
/* ---------- inner pages: one structure ----------
   header (crumb, eyebrow, title, lead, call to action) -> sticky page index -> sections with the label in a left column and the content on the right -> related items -> contact block */
.dt-s:has(>.dt-sh){display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:2rem;align-items:start}
.dt-s:has(>.dt-sh)>.dt-sh{grid-column:1;grid-row:1/span 20;position:sticky;top:13.5rem;margin:0;padding-right:2rem}
.dt-s:has(>.dt-sh)>.dt-sh h2{margin-top:0.875rem;font-size:2.5rem;line-height:2.875rem}
.dt-s:has(>.dt-sh)>:not(.dt-sh){grid-column:2;min-width:0}
.dt-s:has(>.dt-sh) .dt-grid,.dt-s:has(>.dt-sh) .dt-grid.four,.dt-s:has(>.dt-sh) .dt-keys{grid-template-columns:repeat(2,minmax(0,1fr))}
.dt-s:has(>.dt-sh) .dt-card{padding:1.75rem}
.dt-s:has(>.dt-sh) .dt-steps,.dt-s:has(>.dt-sh) .dt-steps.six{grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid #E6E8EC}
.dt-s:has(>.dt-sh) .dt-steps li{display:grid;grid-template-columns:4rem minmax(0,.9fr) minmax(0,1.3fr);gap:1.5rem;align-items:start;padding:1.75rem 0;border-radius:0;background:none;border-bottom:1px solid #E6E8EC}
.dt-s:has(>.dt-sh) .dt-steps h3,.dt-s:has(>.dt-sh) .dt-steps.six h3{margin:0;font-size:1.625rem;line-height:2rem}
.dt-s:has(>.dt-sh) .dt-steps p{margin:0;font-size:1rem;line-height:1.5625rem}
.dt-s:has(>.dt-sh) .dt-outs{grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid #E6E8EC}
.dt-s:has(>.dt-sh) .dt-outs li{display:grid;grid-template-columns:4rem minmax(0,1fr);gap:1.5rem;align-items:baseline;padding:1.875rem 0;border-radius:0;background:none;border-bottom:1px solid #E6E8EC}
.dt-s:has(>.dt-sh) .dt-outs p{margin:0;font-size:1.75rem;line-height:2.375rem;letter-spacing:-.025em}
.dt-s:has(>.dt-sh) .dt-row{grid-template-columns:3.5rem minmax(0,1fr) auto 1.5rem;gap:1.25rem;padding:1.75rem 0}
.dt-s:has(>.dt-sh) .dt-row h3{font-size:1.75rem;line-height:2.25rem}.dt-s:has(>.dt-sh) .dt-row p{display:none}
.dt-s:has(>.dt-sh) .dt-list{margin-bottom:0}
.dt-s:has(>.dt-sh) .dt-big{margin-top:0;font-size:2.125rem;line-height:2.875rem}
.dt-s:has(>.dt-sh) .dt-pc .dt-pt h3{font-size:1.875rem}
.dt-s:has(>.dt-sh) .dt-note{margin:1.5rem 0 0}
.dt-idx{position:sticky;top:7rem;z-index:6;display:flex;gap:0.375rem;margin:0 -6rem 0.5rem;padding:0.75rem 6rem;background:rgba(255,255,255,.92);backdrop-filter:blur(0.875rem);-webkit-backdrop-filter:blur(0.875rem);border-top:1px solid #E6E8EC;border-bottom:1px solid #E6E8EC;overflow-x:auto;scrollbar-width:none}
.dt-idx::-webkit-scrollbar{display:none}
.dt-idx a{flex:none;display:inline-flex;align-items:center;height:2.25rem;padding:0 0.875rem;border-radius:62.4375rem;font-size:0.75rem;font-weight:700;letter-spacing:.08em;color:var(--g5);transition:background .25s,color .25s}
.dt-idx a:hover{color:var(--ink)}
.dt-idx a.on{background:var(--ink);color:#fff}
.dt-qs{margin:0 -6rem;padding:6rem;background:#F3F4F7}
.dt-qs blockquote{position:relative;margin:0;max-width:77.5rem;padding-left:9.5rem;font-size:2.75rem;line-height:3.5rem;font-weight:600;letter-spacing:-.035em}
.dt-qs blockquote::before{content:"C";position:absolute;left:0;top:-0.25rem;font-size:8.5rem;line-height:1;font-weight:800;color:var(--or)}
.dt-qs cite{display:block;margin-top:1.5rem;font-size:1rem;font-style:normal;font-weight:600;color:var(--g5)}
.dt-rel{padding:6rem 0}.dt-rel .dt-sh{margin-bottom:2.5rem}
.dt-relg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 1.5rem}
.dt-relg .dt-pt h3{font-size:1.625rem;line-height:2rem}
.dt-artg{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:2rem;align-items:start;margin-bottom:6rem}
.dt-artg .dt-rail{position:sticky;top:7.5rem;display:flex;flex-direction:column;gap:1.25rem;padding-top:0.375rem}
.dt-rail dl{margin:0;display:flex;flex-direction:column;gap:1.125rem}.dt-rail dt{font-size:0.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--g4)}.dt-rail dd{margin:0.25rem 0 0;font-size:1.125rem;line-height:1.625rem;font-weight:600}
.dt-artg .dt-body{margin:0;max-width:47.5rem}
.dt-artg .dt-body p:first-child{font-size:1.5rem;line-height:2.375rem;color:var(--ink);font-weight:600;letter-spacing:-.015em}
/* ---------- service pages: each service has its own hero and signature section ---------- */
.dt-svh{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:3.5rem;align-items:center;padding-bottom:4.5rem}
.dt-svh h1{font-size:5.75rem;line-height:5.75rem}
.dt-svh .dt-meta{gap:2.5rem;flex-wrap:wrap;margin-top:2.75rem}.dt-svh .dt-meta b{font-size:2.5rem;line-height:2.75rem}.dt-svh .dt-meta span{display:block;max-width:11.25rem;margin-top:0.25rem;font-size:0.8125rem;line-height:1.125rem}
.dt-svart{position:relative;aspect-ratio:1;border-radius:2.25rem;background:linear-gradient(180deg,#171A21,#0C0E13);overflow:hidden;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.dt-svart i{position:absolute;inset:0;background:radial-gradient(55% 55% at 50% 56%,rgba(255,90,20,.32),transparent 70%)}
.dt-svart img{position:relative;width:82%;height:82%;object-fit:contain;filter:drop-shadow(0 1.875rem 2.5rem rgba(0,0,0,.55));animation:svmf 7s ease-in-out infinite alternate}
.sg-n{font-size:0.8125rem;font-weight:600;letter-spacing:.08em;color:var(--or)}
.sg-sk{margin:0 0 0.75rem;font-size:0.75rem;line-height:1rem;font-weight:600;letter-spacing:.1em;color:var(--g4)}
.sg-ch{display:flex;flex-wrap:wrap;gap:0.5rem;margin:1rem 0 0;padding:0;list-style:none}
.sg-ch li{padding:0.4375rem 0.75rem;border-radius:0.625rem;background:#fff;box-shadow:inset 0 0 0 1px #DADEE5;font-size:0.8125rem;line-height:1.125rem;font-weight:600}
.sg-cap{margin:1.5rem 0 0;font-size:1rem;line-height:1.5625rem;color:var(--g5)}
.sg-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0;padding:0;list-style:none}
.sg-st{padding:1.875rem;border-radius:1.5rem;background:#F3F4F7}
.sg-st h3,.sg-cmp h3,.sg-chain h3,.sg-tracks h3,.sg-hw h3,.sg-own h3,.sg-sla h3{margin-top:0.875rem;font-size:1.625rem;line-height:2rem;font-weight:600;letter-spacing:-.025em}
.sg-st p,.sg-chain p,.sg-own p,.sg-sla p{margin-top:0.625rem;font-size:0.9375rem;line-height:1.4375rem;color:var(--g5)}
.sg-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.75rem;margin:1rem 0 0;padding:0;list-style:none}
.sg-kpi li{padding:1.375rem;border-radius:1.25rem;background:var(--ink);color:#fff}
.sg-kpi span{font-size:0.75rem;letter-spacing:.1em;font-weight:700;color:rgba(255,255,255,.55)}
.sg-kpi b{display:block;margin-top:0.75rem;font-size:2.5rem;line-height:2.75rem;font-weight:700;letter-spacing:-.04em;color:#FF8A57}
.sg-kpi i{display:block;margin-top:0.375rem;font-style:normal;font-size:0.75rem;line-height:1.0625rem;color:rgba(255,255,255,.62)}
.sg-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem}
.sg-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.25rem 0;border-bottom:1px solid #E6E8EC;font-size:1.1875rem;line-height:1.625rem;font-weight:600}
.sg-row b{flex:none;font-size:0.8125rem;font-weight:600;color:var(--or)}
.sg-split .sg-sk{padding-bottom:0.75rem;border-bottom:1px solid var(--ink);margin-bottom:0}
.sg-hub{display:block;width:100%;height:auto;border-radius:1.75rem;background:#F3F4F7}
.sg-ln line{stroke:#B9BEC8;stroke-width:1.5;stroke-dasharray:4 5}
.sg-ring{fill:none;stroke:rgba(255,90,20,.4);stroke-width:1.5}
.sg-core{fill:#0B0C10}.sg-ct{fill:#fff;font:700 1.125rem Manrope,sans-serif}
.sg-node rect{fill:#fff;stroke:#0B0C10;stroke-width:1.5}.sg-node text{fill:#0B0C10;font:600 0.875rem Manrope,sans-serif}
.sg-base{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.75rem;margin-top:1rem}
.sg-base div{padding:1.375rem;border-radius:1.25rem;border:1px solid #E1E4EA}.sg-base b{display:block;font-size:1.125rem;line-height:1.5rem;font-weight:600;letter-spacing:-.015em}.sg-base span{display:block;margin-top:0.5rem;font-size:0.875rem;line-height:1.3125rem;color:var(--g5)}
.sg-cmp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.75rem}
.sg-cmp article{padding:1.75rem;border-radius:1.5rem;background:#F3F4F7}
.sg-cmp article.on{background:var(--ink);color:#fff}
.sg-cmp h3{font-size:1.375rem;line-height:1.75rem}
.sg-lead{margin-top:0.625rem;font-size:0.9375rem;line-height:1.4375rem;color:var(--g5)}.sg-cmp .on .sg-lead{color:rgba(255,255,255,.7)}
.sg-cmp dl{margin:1.5rem 0 0;padding-top:1.25rem;border-top:1px solid rgba(11,12,16,.12)}.sg-cmp .on dl{border-color:rgba(255,255,255,.18)}
.sg-cmp dt{margin-top:0.875rem;font-size:0.6875rem;letter-spacing:.1em;font-weight:700;text-transform:uppercase;color:var(--g4)}.sg-cmp .on dt{color:rgba(255,255,255,.5)}
.sg-cmp dd{margin:0.25rem 0 0;font-size:0.9375rem;line-height:1.375rem;font-weight:600}
.sg-sprint{display:grid;grid-template-columns:1fr 2.4fr 1.4fr 1fr;gap:0.5rem;margin:0;padding:0;list-style:none}
.sg-sprint li{padding:1.25rem;border-radius:1rem;background:#F3F4F7;min-height:8rem;display:flex;flex-direction:column;justify-content:space-between}
.sg-sprint span{font-size:0.75rem;letter-spacing:.08em;font-weight:700;color:var(--g5)}.sg-sprint b{font-size:1.25rem;line-height:1.625rem;font-weight:600;letter-spacing:-.02em}
.sg-sprint .s1{background:var(--or);color:var(--ink)}.sg-sprint .s1 span{color:rgba(11,12,16,.7)}.sg-sprint .s3{background:var(--ink);color:#fff}.sg-sprint .s3 span{color:rgba(255,255,255,.6)}
.sg-tech{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.75rem}
.sg-tech>div{padding:1.5rem;border-radius:1.25rem;border:1px solid #E1E4EA}.sg-tech b{display:block;font-size:1.1875rem;line-height:1.625rem;font-weight:600;letter-spacing:-.015em}
.sg-lanes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.sg-lane{padding:1.5rem;border-radius:1.5rem;background:#F3F4F7}
.sg-lane ol,.sg-final{display:flex;flex-direction:column;gap:0.625rem;margin:0;padding:0;list-style:none}
.sg-lane li,.sg-final li{position:relative;display:grid;grid-template-columns:2.5rem minmax(0,1fr);column-gap:0.5rem;padding:1rem;border-radius:0.875rem;background:#fff}
.sg-lane li+li::before{content:"";position:absolute;left:1.75rem;top:-0.625rem;height:0.625rem;width:0.125rem;background:var(--or)}
.sg-lane b,.sg-final b{font-size:1rem;line-height:1.375rem;font-weight:600}.sg-lane i,.sg-final i{grid-column:2;font-style:normal;font-size:0.8125rem;line-height:1.1875rem;color:var(--g5)}
.sg-join{display:flex;align-items:center;gap:1rem;margin:1.25rem 0}.sg-join::before,.sg-join::after{content:"";flex:1;height:1px;background:#C9CDD5}.sg-join span{padding:0.5rem 1rem;border-radius:62.4375rem;background:var(--ink);color:#fff;font-size:0.75rem;letter-spacing:.08em;font-weight:700;text-transform:uppercase}
.sg-final{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.75rem}.sg-final li{background:var(--ink);color:#fff}.sg-final i{color:rgba(255,255,255,.6)}
.sg-coop{margin-top:1.5rem;padding:1.5rem;border-radius:1.25rem;border:1px solid #E1E4EA}.sg-coop b{display:block;font-size:1.375rem;line-height:1.75rem;font-weight:600;letter-spacing:-.02em}
.sg-chain{margin:0;padding:0;list-style:none;border-top:1px solid #E6E8EC}
.sg-chain li{display:grid;grid-template-columns:4rem minmax(0,.8fr) minmax(0,1.3fr);gap:1.5rem;align-items:baseline;padding:1.625rem 0;border-bottom:1px solid #E6E8EC}
.sg-chain h3{margin:0}.sg-chain p{margin:0}
.sg-guard{display:flex;gap:1.5rem;align-items:center;margin-top:1rem;padding:1.5rem 1.75rem;border-radius:1.25rem;background:var(--ink);color:#fff;border-left:0.375rem solid var(--or)}
.sg-guard b{flex:none;font-size:1.25rem;line-height:1.625rem;font-weight:600}.sg-guard span{font-size:0.9375rem;line-height:1.4375rem;color:rgba(255,255,255,.7)}
.sg-tracks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.75rem}
.sg-tracks article{padding:1.625rem;border-radius:1.5rem;background:#F3F4F7}.sg-tracks h3{font-size:1.375rem;line-height:1.75rem}
.sg-tracks ul,.sg-hw ul{margin:1.125rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0.5rem}
.sg-tracks li,.sg-hw li{position:relative;padding-left:1rem;font-size:0.875rem;line-height:1.3125rem;color:var(--g5)}
.sg-tracks li::before,.sg-hw li::before{content:"";position:absolute;left:0;top:0.5rem;width:0.375rem;height:0.375rem;border-radius:0.125rem;background:var(--or)}
.sg-hw{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.75rem}
.sg-hw article{padding:1.75rem;border-radius:1.5rem;background:#F3F4F7}.sg-hw i{display:block;margin-top:1.25rem;font-style:normal;font-size:0.75rem;font-weight:600;letter-spacing:.04em;color:var(--g4)}
.sg-own{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.75rem}
.sg-own article{padding:1.75rem;border-radius:1.5rem;border:1px solid #E1E4EA}.sg-own b{display:block;margin-top:1.25rem;font-size:0.8125rem;font-weight:600;color:var(--or)}
.sg-sla{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.75rem;margin:0;padding:0;list-style:none}
.sg-sla li{padding:1.75rem;border-radius:1.5rem;background:var(--ink);color:#fff}.sg-sla b{display:block;font-size:2.5rem;line-height:2.75rem;font-weight:700;letter-spacing:-.04em;color:#FF8A57}.sg-sla p{color:rgba(255,255,255,.62)}.sg-sla h3{font-size:1.25rem;line-height:1.625rem}
/* ---------- story page ---------- */
.st{position:relative;margin:0 -6rem;padding:0 6rem;background:color-mix(in srgb,#0B0C10 calc(var(--p) * 100%),#fff);color:#0B0C10;transition:color .6s}
.st.dk{color:#fff}
.st .dt-k,.st .st-p,.st .st-it li,.st .dt-lead,.st .st-sc{color:inherit;opacity:.62}
.st.dk .dt-lnk{color:#FF8A57}
.st-line{position:absolute;left:3rem;top:7.5rem;bottom:7.5rem;width:0.125rem;background:currentColor;opacity:.14}
.st-line b{position:absolute;left:0;top:0;width:100%;height:100%;background:var(--or);transform-origin:top;transform:scaleY(var(--p))}
.st-line{opacity:1;background:rgba(127,127,127,.22)}
.st-h{padding:6rem 0 7.5rem;min-height:78vh}
.st-h h1{margin-top:1.25rem;font-size:8.25rem;line-height:7.75rem;font-weight:600;letter-spacing:-.05em}
.st-h .dt-lead{margin-top:2.25rem;max-width:51.25rem}
.st-sc{margin-top:4rem;font-size:0.8125rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.st-ch{position:relative;display:grid;grid-template-columns:5fr 7fr;gap:4.5rem;min-height:92vh;padding:6rem 0 2.5rem;align-items:start}
.st-dot{position:absolute;left:-3.25rem;top:7rem;width:0.875rem;height:0.875rem;border-radius:50%;background:#fff;box-shadow:0 0 0 0.125rem rgba(127,127,127,.4);transition:background .5s,box-shadow .5s,transform .5s var(--eo)}
.st-ch.on .st-dot{background:var(--or);box-shadow:0 0 0 0.375rem rgba(255,90,20,.22);transform:scale(1.2)}
.st-l{position:sticky;top:11.25rem}
.st-no{display:block;font-size:13.75rem;line-height:12.5rem;font-weight:600;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px currentColor;opacity:.26;transition:opacity .6s,color .6s}
.st-ch.on .st-no{opacity:.9;color:var(--or);-webkit-text-stroke:0}
.st-l .dt-k{margin-top:1.5rem}
.st-r h2{font-size:3.75rem;line-height:4rem;font-weight:600;letter-spacing:-.04em;max-width:47.5rem}
.st-p{margin-top:1.75rem;max-width:40rem;font-size:1.375rem;line-height:2.125rem;font-weight:500}
.st-it{margin:2.25rem 0 2.25rem;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:0.625rem;max-width:47.5rem}
.st-it li{padding:0.625rem 1.125rem;border-radius:62.4375rem;border:1px solid rgba(127,127,127,.35);font-size:0.9375rem;opacity:.9}
.st-br{display:flex;align-items:center;gap:1.25rem;margin-top:6rem;font-size:1.25rem;line-height:1.875rem;font-weight:600;letter-spacing:-.02em;max-width:40rem}
.st-br span{flex:none;width:3.5rem;height:0.125rem;background:var(--or)}
.st-ch .st-r>*{opacity:0;transform:translateY(1.75rem);transition:opacity .9s var(--eo),transform .9s var(--eo)}
.st-ch.on .st-r>*{opacity:1;transform:none}.st-ch.on .st-r>.st-p{transition-delay:.08s}.st-ch.on .st-r>.st-it{transition-delay:.16s}.st-ch.on .st-r>a{transition-delay:.24s}.st-ch.on .st-r>.st-br{transition-delay:.36s}
.st-end{padding:8.75rem 0 10rem}
.st-end p{font-size:5.5rem;line-height:5.75rem;font-weight:600;letter-spacing:-.045em}
.st.dk .dt-btn.gh{border-color:rgba(255,255,255,.3);color:#fff}
/* ---------- sections 3 → 7: Das Studio layouts, Nonus visual language (ink, white, one orange, cut-corner frames) ---------- */
.dz-head{display:flex;justify-content:space-between;align-items:flex-end;gap:6rem}
.dz-head .h2{max-width:68.75rem}
.dz-lead{flex:none;width:28.75rem;margin-bottom:0.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:500;color:rgba(255,255,255,.66)}
.services,.projects,.process,.team,.news{height:auto;overflow:hidden}
.services{padding:7rem 6rem 7.5rem;background:radial-gradient(46% 26% at 94% 0%,rgba(255,90,20,.12),transparent 72%),#0B0C10}
.projects{padding:7rem 6rem 8.75rem;background:#0E1015}
.process{padding:7rem 6rem 8.75rem;background:radial-gradient(40% 24% at 4% 0%,rgba(255,90,20,.1),transparent 72%),#0B0C10}
.team{padding:7rem 6rem 8.75rem;background:#0E1015}
.news{padding:7rem 6rem 8.75rem;background:#0B0C10}
/* services, desktop: hook copy, sideways pan, one service at a time beside a living line board */
.services>.dz-head,.services>.dz-list,.services>.dz-foot{display:none}
.services{padding:0;background:#fff;color:#0B0C10;overflow:visible}
.sx{position:relative;height:100vh;overflow:hidden}
.sx-track{display:flex;width:300%;height:100%;will-change:transform}
.sx-s1,.sx-s2,.sx-s3{position:relative;flex:none;width:33.3333%;height:100%}
.sx-s1{background:#fff}.sx-s2{background:#0B0C10}.sx-s3{background:#0E1015}
/* hook screen */
.sx-dc{position:absolute;inset:0;will-change:opacity}
.sx-hl{position:absolute;left:0;right:0;height:1px;background:#E3E5EA}
.sx-vl{position:absolute;top:0;bottom:0;width:1px;background:#E3E5EA}
.sx-pl{color:#0B0C10;opacity:0}
/* hook intro: once the frame fills the screen the lines draw first, then the copy comes in */
.sx-hl,.sx-vl{transform:scale(0,1);transform-origin:50% 50%}.sx-vl{transform:scale(1,0)}
.sx-dots{opacity:0}
.sx-ta .sx-h .d0,.sx-ta .sx-h .d1{opacity:0}
.sx-ta .sx-h{transform:translate3d(0,1.625rem,0)}
.sx-hl,.sx-vl,.sx-dots,.sx-ta .sx-h,.sx-pl{will-change:transform,opacity}
.hk-in .sx-hl{transform:none;transition:transform .9s cubic-bezier(.65,0,.15,1)}
.hk-in .sx-vl{transform:none;transition:transform .9s cubic-bezier(.65,0,.15,1) .1s}
.hk-in .sx-pl{opacity:.55;transition:opacity .4s .65s}
.hk-in .sx-dots{opacity:1;transition:opacity 1s .7s}
.hk-in .sx-ta .sx-h{transform:none;transition:transform .8s cubic-bezier(.16,1,.3,1) .6s}
.hk-in .sx-ta .sx-h .d0{opacity:1;transition:opacity .6s .6s}
.hk-in .sx-ta .sx-h .d1{opacity:1;transition:opacity .6s .8s}
.sx-dots{position:absolute;left:6rem;right:6rem;top:16%;bottom:16%;background-image:radial-gradient(#C3C8D1 1px,transparent 0.08125rem);background-size:2rem 2rem;-webkit-mask-image:radial-gradient(55% 70% at 78% 50%,#000,transparent);mask-image:radial-gradient(55% 70% at 78% 50%,#000,transparent)}
.sx-lb{position:absolute;margin:0;font-size:0.6875rem;line-height:0.875rem;font-weight:600;letter-spacing:.14em;color:#6B7280;display:flex;align-items:center;gap:0.875rem}
.sx-lb.l1{left:6rem;top:calc(16% - 1.875rem)}.sx-lb.r1{right:6rem;top:calc(16% - 1.875rem)}
.sx-lb.l2{left:6rem;top:calc(84% + 1.125rem)}.sx-lb.r2{right:6rem;top:calc(84% + 1.125rem)}
.sx-lb span{width:3rem;height:1px;background:#0B0C10;position:relative}
.sx-lb span::after{content:"";position:absolute;right:0;top:-0.1875rem;width:0.4375rem;height:0.4375rem;border-top:1px solid #0B0C10;border-right:1px solid #0B0C10;transform:rotate(45deg)}
.sx-tc{position:absolute;left:6rem;right:6rem;top:16%;bottom:16%}
.sx-t{position:absolute;left:0;right:0;top:50%;text-align:center;will-change:transform,opacity}
.sx-tb{opacity:0}
.sx-t .label{color:#6B7280}
.sx-h{margin:0 auto;font-size:4.25rem;line-height:4.75rem;font-weight:600;letter-spacing:-.045em;max-width:93.75rem}
.sx-h .d0{color:#0B0C10}.sx-h .d1{color:#A5ABB5}
.sx-lead{margin-top:2rem;max-width:40rem;font-size:1.25rem;line-height:2rem;font-weight:500;color:#4B5160}
/* one-at-a-time panel */
.sx-pn{position:absolute;left:0;top:0;bottom:0;width:50%;padding:7rem 4.5rem 3.5rem 6rem;background:#fff;color:#0B0C10;clip-path:polygon(0 0,calc(100% - 4rem) 0,100% 4rem,100% calc(100% - 4rem),calc(100% - 4rem) 100%,0 100%);display:flex;flex-direction:column}
.sx-pt{flex:none;display:flex;align-items:center;gap:1.25rem;font-size:0.75rem;line-height:1rem;font-weight:600;letter-spacing:.14em;color:#6B7280}
.sx-sg{display:flex;gap:0.375rem}.sx-sg b{width:1.625rem;height:0.1875rem;border-radius:0.125rem;background:#E3E5EA;transition:background .4s}
.sx-sg b.on{background:#FF5A14}
.sx-lw{position:relative;flex:1}
.sx-lc{position:absolute;inset:0;display:flex;flex-direction:column;pointer-events:none}
.sx-lc>*{opacity:0;transform:translate3d(0,2rem,0);transition:opacity .3s,transform .3s}
.sx-lc.past>*{transform:translate3d(0,-1.5rem,0)}
.sx-lc.on{pointer-events:auto}
.sx-lc.on>*{opacity:1;transform:none;transition:opacity .8s var(--d,0s),transform .9s var(--d,0s) var(--eo)}
.sx-lc>:nth-child(1){--d:.05s}.sx-lc>:nth-child(2){--d:.15s}.sx-lc>:nth-child(3){--d:.28s}.sx-lc>:nth-child(4){--d:.42s}
.sx-no{margin:0;font-size:1rem;line-height:1.25rem;font-weight:600;letter-spacing:.08em;color:#9AA0AB}
.sx-no b{color:#FF5A14}
.sx-ti{margin-top:0;font-size:5.5rem;line-height:5.875rem;font-weight:600;letter-spacing:-.055em;color:#0B0C10}
.sx-ds{margin-top:1.75rem;max-width:42.5rem;font-size:1.25rem;line-height:2rem;font-weight:500;color:#4B5160}
.sx-sub{margin-top:auto}
.sx-sk{margin:0 0 0.875rem;padding-top:1.125rem;border-top:1px solid #E3E5EA;font-size:0.6875rem;line-height:0.875rem;font-weight:600;letter-spacing:.14em;color:#6B7280}
.sx-sub ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;column-gap:2.5rem}
.sx-sub a{display:flex;gap:0.75rem;align-items:baseline;padding:0.5625rem 0;border-bottom:1px solid #EEF0F3;font-size:0.875rem;line-height:1.1875rem;font-weight:600;color:#0B0C10;transition:color .25s,transform .35s var(--eo)}
.sx-sub a span{flex:none;font-size:0.6875rem;font-weight:600;letter-spacing:.08em;color:#9AA0AB}
.sx-sub a:hover{color:#E0480A;transform:translateX(0.25rem)}
/* line board */
.sx-dk{position:absolute;right:0;top:0;bottom:0;width:50%;overflow:hidden;background:#0E1015}
.sxb{--g:7.5rem;position:absolute;inset:0;background:radial-gradient(70% 40% at 90% 0%,rgba(255,90,20,.14),transparent 72%),linear-gradient(rgba(255,255,255,.075) 1px,transparent 1px) 0 0/var(--g) var(--g),linear-gradient(90deg,rgba(255,255,255,.075) 1px,transparent 1px) 0 0/var(--g) var(--g),#0E1015}
.sxb-c{position:absolute;left:calc(var(--c) * var(--g) + 1px);top:calc(var(--r) * var(--g) + 1px);width:calc(var(--g) - 1px);height:calc(var(--g) - 1px);background:rgba(255,255,255,.05);opacity:0;animation:sxbc 9s var(--dl) ease-in-out infinite alternate}
.sxb-h{position:absolute;left:0;right:0;top:calc(var(--r) * var(--g));height:1px;overflow:hidden}
.sxb-h b{position:absolute;left:0;top:0;width:28%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);animation:sxbx var(--du) var(--dl) ease-in-out infinite alternate}
.sxb-v{position:absolute;top:0;bottom:0;left:calc(var(--c) * var(--g));width:1px;overflow:hidden}
.sxb-v b{position:absolute;left:0;top:0;width:1px;height:26%;background:linear-gradient(180deg,transparent,rgba(255,255,255,.95),transparent);animation:sxby var(--du) var(--dl) ease-in-out infinite alternate}
.sxb-h.or b{background:linear-gradient(90deg,transparent,#FF5A14,transparent)}.sxb-v.or b{background:linear-gradient(180deg,transparent,#FF5A14,transparent)}
.sxb-p{position:absolute;left:calc(var(--c) * var(--g) - 0.375rem);top:calc(var(--r) * var(--g) - 0.375rem);width:0.8125rem;height:0.8125rem;opacity:.55}
.sxb-p::before,.sxb-p::after{content:"";position:absolute;background:#fff}.sxb-p::before{left:0.375rem;top:0;width:1px;height:0.8125rem}.sxb-p::after{top:0.375rem;left:0;height:1px;width:0.8125rem}
@keyframes sxbx{from{transform:translate3d(-100%,0,0)}to{transform:translate3d(360%,0,0)}}
@keyframes sxby{from{transform:translate3d(0,-100%,0)}to{transform:translate3d(0,390%,0)}}
@keyframes sxbc{from{opacity:0}to{opacity:1}}
.sxb-sl{position:absolute;inset:0;pointer-events:none}
.sxb-slot{position:absolute;left:calc(1 * var(--g));top:calc(2 * var(--g));width:calc(6 * var(--g));height:calc(5 * var(--g));border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.03);opacity:0;transform:translate3d(0,3rem,0);transition:opacity .3s,transform .3s}
.sxb-sl.past .sxb-slot{transform:translate3d(0,-2rem,0)}
.sxb-sl.on .sxb-slot{opacity:1;transform:none;transition:opacity .9s .12s,transform 1s .12s var(--eo)}
.sxb-slot span{position:absolute;left:1.25rem;top:-1.625rem;font-size:0.6875rem;line-height:0.875rem;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.55)}
.sxb-k{position:absolute;width:0.8125rem;height:0.8125rem}
.sxb-k::before,.sxb-k::after{content:"";position:absolute;background:#FF5A14}.sxb-k::before{left:0.375rem;top:0;width:1px;height:0.8125rem}.sxb-k::after{top:0.375rem;left:0;height:1px;width:0.8125rem}
.sxb-k.a{left:-0.4375rem;top:-0.4375rem}.sxb-k.b{right:-0.4375rem;top:-0.4375rem}.sxb-k.c{left:-0.4375rem;bottom:-0.4375rem}.sxb-k.d{right:-0.4375rem;bottom:-0.4375rem}
/* services accordion */
.dz-list{margin-top:5rem;border-top:1px solid rgba(255,255,255,.14)}
.dz-row{border-bottom:1px solid rgba(255,255,255,.14)}
.dz-hd{position:relative;width:100%;display:grid;grid-template-columns:4.375rem 1fr 40rem 3.375rem;align-items:center;padding:2.125rem 0;background:none;border:0;color:#fff;text-align:left;cursor:pointer;font:inherit}
.dz-mark{position:absolute;left:0;top:50%;width:0.625rem;height:0.625rem;margin-top:-0.3125rem;border-radius:0.125rem;background:#FF5A14;transform:scale(0);transition:transform .35s var(--eo)}
.dz-row.is-open .dz-mark{transform:scale(1)}
.dz-no{padding-left:0;font-size:1rem;line-height:1.25rem;font-weight:600;letter-spacing:.08em;color:rgba(255,255,255,.4);transition:color .3s,transform .4s var(--eo)}
.dz-row.is-open .dz-no{color:#fff;transform:translateX(1.5rem)}
.dz-nm{font-size:3.5rem;line-height:4rem;font-weight:600;letter-spacing:-.045em;color:rgba(255,255,255,.88);transition:color .3s,transform .55s var(--eo)}
.dz-row:not(.is-open) .dz-hd:hover .dz-nm{color:#fff;transform:translateX(1rem)}
.dz-row.is-open .dz-nm{color:#fff;transform:translateX(1.5rem)}
.dz-sm{font-size:0.9375rem;line-height:1.375rem;font-weight:500;color:rgba(255,255,255,.5);transition:opacity .25s}
.dz-row.is-open .dz-sm{opacity:0}
.dz-ar{justify-self:end;width:3.375rem;height:3.375rem;display:grid;place-items:center;color:#fff;opacity:.4;transition:transform .45s var(--eio),opacity .3s,color .3s}
.dz-hd:hover .dz-ar{opacity:1}
.dz-row.is-open .dz-ar{transform:rotate(-45deg);opacity:1;color:#FF5A14}
.dz-bd{overflow:hidden;height:0}
.dz-in{display:grid;grid-template-columns:1fr 47.5rem;gap:4.5rem;padding:0.5rem 0 4rem 5.875rem}
.dz-tx{max-width:40rem}
.dz-tx p{font-size:1.25rem;line-height:2rem;font-weight:500;color:rgba(255,255,255,.74)}
.dz-chips{margin:2rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:0.5rem}
.dz-go{margin-top:2.5rem;display:inline-flex;align-items:center;gap:0.5rem;font-size:1rem;line-height:1.375rem;font-weight:600;color:#FF5A14}
.dz-go svg{transition:transform .35s var(--eo)}.dz-go:hover svg{transform:translateX(0.25rem)}
.dz-vis{position:relative;display:block;margin-top:0}
.dz-cap{position:absolute;left:0.125rem;top:0.375rem;font-size:0.6875rem;line-height:0.875rem;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.6)}
.dz-shape{position:relative;aspect-ratio:760/430;overflow:hidden;background:#171A21}
.dz-shape img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--eo)}
.dz-vis:hover img{transform:scale(1.04)}
.dz-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,12,16,0) 40%,rgba(11,12,16,.82) 100%)}
.dz-pn{position:absolute;left:1.75rem;right:1.75rem;bottom:1.5rem;display:flex;flex-direction:column;gap:0.375rem}
.dz-pn b{font-size:1.5rem;line-height:1.875rem;font-weight:600;letter-spacing:-.03em;color:#fff}
.dz-pn span{font-size:0.875rem;line-height:1.125rem;font-weight:600;color:#FF8A57}
/* projects grid: one lead project, then an asymmetric 7/5 rhythm, closed by a single call to action */
.dp-grid{margin-top:6rem;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6rem 2rem;align-items:start}
.dp-card{display:block;color:#fff;grid-column:span 6}
.dp-card:nth-child(1){grid-column:1/-1}
.dp-card:nth-child(2),.dp-card:nth-child(5),.dp-card:nth-child(6){grid-column:span 7}
.dp-card:nth-child(3),.dp-card:nth-child(4),.dp-card:nth-child(7){grid-column:span 5}
.dp-img{position:relative;height:35rem;overflow:hidden;background:#171A21}
.dp-card:nth-child(1) .dp-img{height:45rem}
.dp-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--eo)}
.dp-card:hover .dp-img img{transform:scale(1.045)}
.dp-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,12,16,.5) 0%,rgba(11,12,16,0) 28%,rgba(11,12,16,0) 52%,rgba(11,12,16,.78) 100%)}
.dp-tag{position:absolute;left:1.75rem;top:1.625rem;padding:0.5rem 0.75rem;border-radius:0.5rem;background:rgba(11,12,16,.55);backdrop-filter:blur(0.75rem);-webkit-backdrop-filter:blur(0.75rem);font-size:0.6875rem;line-height:0.875rem;font-weight:600;letter-spacing:.14em;color:#fff}
.dp-res{position:absolute;left:1.75rem;bottom:1.625rem;right:7rem;display:flex;flex-direction:column;gap:0.25rem;color:#fff}
.dp-res b{font-size:3.5rem;line-height:1;font-weight:700;letter-spacing:-.05em}
.dp-res i{font-style:normal;font-size:0.875rem;line-height:1.25rem;font-weight:600;color:rgba(255,255,255,.82)}
.dp-card:nth-child(1) .dp-res b{font-size:6rem}
.dp-card:nth-child(1) .dp-res i{font-size:1.125rem;line-height:1.625rem}
.dp-go{position:absolute;right:1.75rem;bottom:1.75rem;width:3.5rem;height:3.5rem;border-radius:0.875rem;background:#FF5A14;color:#0B0C10;display:grid;place-items:center;opacity:0;transform:translateY(0.625rem) scale(.9);transition:opacity .35s,transform .5s var(--eo)}
.dp-card:hover .dp-go,.dp-card:focus-visible .dp-go{opacity:1;transform:none}
.dp-row{margin-top:1.75rem;display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem}
.dp-nm{font-size:2.25rem;line-height:2.625rem;font-weight:600;letter-spacing:-.04em;transition:color .3s}
.dp-card:nth-child(1) .dp-nm{font-size:3.5rem;line-height:3.75rem}
.dp-card:hover .dp-nm{color:#FF5A14}
.dp-no{flex:none;font-size:0.8125rem;line-height:1rem;font-weight:600;letter-spacing:.08em;color:rgba(255,255,255,.4)}
.dp-meta{margin:0.75rem 0 0;padding-bottom:1.625rem;font-size:1rem;line-height:1.5rem;font-weight:500;color:rgba(255,255,255,.6)}
.dp-ul{display:block;position:relative;height:1px;background:rgba(255,255,255,.14)}
.dp-ul::after{content:"";position:absolute;inset:0;background:#FF5A14;transform:scaleX(0);transform-origin:left;transition:transform .7s var(--eo)}
.dp-card:hover .dp-ul::after{transform:scaleX(1)}
.dp-more{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:3rem;padding-top:3.5rem;border-top:1px solid rgba(255,255,255,.14)}
.dp-more p{margin:0;max-width:47.5rem;font-size:1.75rem;line-height:2.5rem;font-weight:500;letter-spacing:-.02em;color:rgba(255,255,255,.78)}
.dp-more .btn-or{flex:none;color:#0B0C10}.dp-more .btn-or:hover{background:#fff}
.dp-more .btn svg{margin-left:0.5rem}
/* process */
.dq-grid{margin-top:5rem;display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;align-items:start;min-height:65rem}
.dq-col{padding-top:calc(var(--i) * 4.75rem)}
.dq-ill{border-radius:0.875rem;overflow:hidden;background:#171A21;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.dq-ill svg{display:block;width:100%;height:auto}
.dq-top{margin-top:1.75rem;display:flex;align-items:center;gap:0.75rem}
.dq-mark{width:0.625rem;height:0.625rem;border-radius:0.125rem;background:#FF5A14}
.dq-no{font-size:0.875rem;line-height:1.125rem;font-weight:600;letter-spacing:.08em;color:rgba(255,255,255,.55)}
.dq-nm{margin-top:0.875rem;font-size:2.25rem;line-height:2.625rem;font-weight:600;letter-spacing:-.04em;color:#fff}
.dq-d{margin-top:0.875rem;font-size:0.9375rem;line-height:1.4375rem;font-weight:500;color:rgba(255,255,255,.66)}
.dq-o{margin:1.375rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:0.5rem}
.dq-o .chip{height:2.125rem;padding:0 0.875rem;font-size:0.8125rem;background:rgba(255,255,255,.08);color:#fff}
.dq-pc{margin-top:2.25rem}
.dq-pn{display:block;font-size:0.875rem;line-height:1.125rem;font-weight:600;letter-spacing:.04em;color:#fff}
.dq-bar{display:block;margin-top:0.75rem;height:0.1875rem;background:rgba(255,255,255,.14)}
.dq-bar b{display:block;height:100%;width:var(--w);background:#FF5A14;transform-origin:left}
/* team */
.tm-grid{position:static;margin-top:5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:4rem 2rem}
.tm-card{display:block;height:auto;color:#fff}
.tm-shape{position:relative;inset:auto;aspect-ratio:408/380;overflow:hidden;background:#171A21;box-shadow:none}
.tm-shape img{transition:transform .9s var(--eo)}
.tm-card:hover .tm-shape img{transform:scale(1.045)}
.tm-ln{margin-top:1.375rem;padding-bottom:1.25rem;display:flex;flex-direction:column;gap:0.5rem}
.tm-nm{position:static;margin:0;font-size:1.875rem;line-height:2.25rem;font-weight:600;letter-spacing:-.035em;color:#fff;transition:color .3s}
.tm-card:hover .tm-nm{color:#FF5A14}
.tm-rl{position:static;font-size:0.6875rem;line-height:0.875rem;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.6)}
/* news */
.news .nw-tabs{margin-top:3.5rem}
.nw-body{margin-top:2.5rem;display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;align-items:start}
.nw-feat{position:static;width:auto;display:block;color:#fff}
.nw-fimg{position:relative;width:auto;height:auto;aspect-ratio:976/440}
.nw-fimg .nw-clip{position:absolute;inset:0;overflow:hidden;background:#171A21}
.nw-feat h3{width:auto;font-size:2.5rem;line-height:2.875rem}
.nw-feat p.x{width:auto;max-width:45rem}
.nw-list{position:static;width:auto;gap:0;border-top:1px solid rgba(255,255,255,.14)}
.nw-it{padding:1.625rem 0;border-bottom:1px solid rgba(255,255,255,.14)}
.nw-more{margin-top:2.25rem}

/* about: the liquid-metal canvas fills the whole box and replaces the CSS gradient layers when WebGL2 is available */
.lq canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.lq.gl::before,.lq.gl i{display:none}
.lq.gl::after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:overlay;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1.4 -.2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.bx-box.gl{background:#0B0C10}
.bx-box.gl .lq{inset:-1.875rem}
.bx-box.gl .bx-g{inset:0.5rem;border:0;border-radius:1.125rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),inset 0 1px 0 rgba(255,255,255,.45);background:linear-gradient(180deg,rgba(8,10,18,.52) 0,rgba(8,10,18,.2) 42%,rgba(8,10,18,.3) 100%);text-shadow:0 1px 0.625rem rgba(6,8,16,.55);backdrop-filter:blur(1rem) saturate(125%);-webkit-backdrop-filter:blur(1rem) saturate(125%)}
/* about: mission and vision are two separate animated icons; the copy sits large at the bottom */
.icb{position:relative;flex:none;width:6.25rem;height:6.25rem;border-radius:1.625rem;background:#fff;box-shadow:0 0.875rem 2.125rem rgba(6,8,16,.28),inset 0 0 0 1px rgba(11,12,16,.06);overflow:hidden}
.ic{position:absolute;inset:1.25rem;width:calc(100% - 2.5rem);height:calc(100% - 2.5rem);transition:opacity .8s var(--eo),transform .8s var(--eo)}
.ic.i1{opacity:0;transform:translateY(1.125rem)}
.bx-box.v1 .ic.i0{opacity:0;transform:translateY(-1.125rem)}.bx-box.v1 .ic.i1{opacity:1;transform:none}
.bx-box .ic.i1 *{animation-play-state:paused}.bx-box.v1 .ic.i1 *{animation-play-state:running}.bx-box.v1 .ic.i0 *{animation-play-state:paused!important}
.bx-box.off .ic *{animation-play-state:paused!important}
.m-r,.m-c,.m-rp,.m-ar,.v-ey,.v-ir,.v-rp,.v-ray{transform-box:fill-box;transform-origin:center}
.m-r{animation:mrb 4s ease-in-out infinite;animation-delay:var(--d,0s)}
@keyframes mrb{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
.m-ar{animation:marr 4s cubic-bezier(.55,0,.25,1) infinite;transform:translate(11.875rem,3.125rem)}
@keyframes marr{0%{transform:translate(11.875rem,3.125rem);opacity:0}8%{opacity:1}48%{transform:translate(7.5rem,7.5rem);opacity:1}80%{transform:translate(7.5rem,7.5rem);opacity:1}94%,100%{transform:translate(7.5rem,7.5rem);opacity:0}}
.m-c{animation:mcp 4s ease-in-out infinite}
@keyframes mcp{0%,40%{transform:scale(1)}50%{transform:scale(1.7)}64%,100%{transform:scale(1)}}
.m-rp{opacity:0;animation:mrp 4s ease-out infinite}.m-rp2{animation-delay:.28s}
@keyframes mrp{0%,46%{transform:scale(.3);opacity:0}50%{opacity:.9}100%{transform:scale(2.6);opacity:0}}
.v-ey{animation:veb 6s ease-in-out infinite}
@keyframes veb{0%,86%,100%{transform:scaleY(1)}90%{transform:scaleY(.08)}94%{transform:scaleY(1)}}
.v-ir{animation:vir 5.4s ease-in-out infinite alternate}
@keyframes vir{0%{transform:translate(-1.375rem,0.125rem)}45%{transform:translate(0.5rem,-0.1875rem)}100%{transform:translate(1.5rem,0.1875rem)}}
.v-rp{opacity:0;animation:vrp 4.2s ease-out infinite}.v-rp2{animation-delay:2.1s}
@keyframes vrp{0%{transform:scale(.7);opacity:.6}100%{transform:scale(1.9);opacity:0}}
.v-ray{animation:vry 2.8s ease-in-out infinite;animation-delay:calc(var(--i) * -.5s)}
@keyframes vry{0%,100%{opacity:.25;transform:translateY(0.1875rem)}50%{opacity:1;transform:translateY(-0.1875rem)}}
.mi-2,.mi-3,.vi-s,.vi-r{transform-box:fill-box;transform-origin:center}
.mi-2{animation:mi2 4.2s ease-in-out infinite}
@keyframes mi2{0%{transform:rotate(0) scale(1)}50%{transform:rotate(90deg) scale(.7)}100%{transform:rotate(180deg) scale(1)}}
.mi-3{animation:mi3 4.2s ease-in-out infinite}
@keyframes mi3{0%,100%{transform:scale(1)}50%{transform:scale(1.7)}}
.vi-s{animation:vis 5s ease-in-out infinite}
@keyframes vis{0%{transform:rotate(0) scale(1)}50%{transform:rotate(45deg) scale(1.28)}100%{transform:rotate(90deg) scale(1)}}
.vi-r{animation:vir 3.2s ease-out infinite}
@keyframes vir{0%{transform:scale(.7);opacity:.9}100%{transform:scale(1.5);opacity:0}}
.sxb-slot.has{left:6%;top:calc(50% - 3.2 * var(--g));width:88%;height:calc(6.4 * var(--g));background:none;border-color:transparent;overflow:visible;perspective:93.75rem}
.sxb-slot.has .sxb-k{display:none}
.sxb-3d{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(calc(var(--rx,0) * 1deg)) rotateY(calc(var(--ry,0) * 1deg));will-change:transform}
.sxb-fl{position:absolute;inset:0;transform-style:preserve-3d}
.sxb-sl.on .sxb-fl{animation:sxbs 9s ease-in-out infinite alternate}
@keyframes sxbs{from{transform:rotateY(-15deg) rotateX(4deg) translate3d(0,0.375rem,0)}to{transform:rotateY(15deg) rotateX(-3deg) translate3d(0,-0.75rem,0)}}
.sxb-img,.sxb-ex{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.sxb-img{transform:translateZ(0);filter:drop-shadow(0 1.875rem 3.75rem rgba(255,90,20,.2))}
.sxb-ex{transform:translateZ(calc(var(--z) * -0.5rem))}
.sxb-sh{position:absolute;inset:0;pointer-events:none;transform:translateZ(1px);-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;background:linear-gradient(105deg,transparent 36%,rgba(255,255,255,.6) 50%,transparent 64%) 160% 0/300% 100% no-repeat;mix-blend-mode:screen}
.sxb-sl.on .sxb-sh{animation:sxbh 5.5s ease-in-out infinite}
@keyframes sxbh{0%,15%{background-position:160% 0}75%,100%{background-position:-60% 0}}
.sxb-slot.has::after{content:"";position:absolute;left:18%;right:18%;bottom:-2%;height:9%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.55),transparent);filter:blur(0.625rem);z-index:-1}
/* ---------- CTA pixel arrow ---------- */
.pxa{--pxw:1.125rem;display:inline-flex;flex:none;line-height:0;color:inherit}
.pxa svg{display:block;width:var(--pxw);height:var(--pxw);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;overflow:visible;transition:transform .35s var(--eo)}
.cx:hover .pxa svg,.cx:focus-visible .pxa svg{transform:translateX(0.25rem)}
@keyframes pxs{from{transform:translateX(0)}to{transform:translateX(0.25rem)}}
.cx-cell{flex:none;display:grid;place-items:center;background:#fff;color:#0B0C10;transition:background .3s,color .3s}
.btn.cx,.dt-btn.cx{padding:0 0.25rem 0 1.5rem;gap:1.25rem}
.btn.cx .cx-cell,.dt-btn.cx .cx-cell{width:3.5rem;height:3rem;border-radius:0.625rem}
.btn-or.cx:hover .cx-cell,.dt-btn.or.cx:hover .cx-cell{background:var(--or);color:#0B0C10}
.btn-gh.cx:hover .cx-cell,.dt-btn.gh.cx:hover .cx-cell{background:#0B0C10;color:#fff}
.dz-btn.cx{padding:0.375rem 0.375rem 0.375rem 1.75rem;gap:1rem}
.dz-btn.cx .cx-cell{width:3rem;height:2.125rem;border-radius:62.4375rem;background:#0B0C10;color:#fff}
.dz-btn.cx:hover .cx-cell{background:#fff;color:#0B0C10}
.cx-l{gap:0.625rem}
.cx-l .pxa{--pxw:1rem}
.hdr-cta .pxa{--pxw:1.125rem;width:2.5rem;height:2.5rem;flex:none;display:grid;place-items:center;transition:transform .55s var(--eo)}
.hdr-cta:hover .pxa{transform:translateX(-2.09375rem) scale(.85)}
.btn-a .ba-cell .pxa{--pxw:1.25rem}
/* ---------- cursor ---------- */
html.mc-on,html.mc-on *{cursor:none!important}
.mc{position:fixed;inset:0;pointer-events:none;z-index:2147483000;opacity:0;transition:opacity .25s}
.mc.on{opacity:1}
.mc-cv{position:absolute;inset:0;width:100%;height:100%}
.mc-a{position:absolute;left:0;top:0;width:1.625rem;height:1.7875rem;transform-origin:0 0;will-change:transform;filter:drop-shadow(0 0.375rem 0.4375rem rgba(0,0,0,.45))}
.mc-a.mc-g{filter:none}
.mc-a svg{display:block;width:100%;height:100%;overflow:visible}
.mc .inner{fill:#2F6BFF;transition:fill .25s}
.mc-a.hot .inner{fill:#FF5A14}
.mc .slit{stroke:#FF8A2B;filter:drop-shadow(0 0 0.1875rem rgba(255,138,43,.9));transition:stroke .25s}
.mc-a.hot .slit{stroke:#fff}
/* ---------- compact layout (< 75rem): tablet and phone, real px, single column ---------- */
@media (max-width:1199px){
  html{font-size:16px}
  .pre-logo{width:220px;height:58px;margin:-29px 0 0 -110px}
  .pre-bars{left:24px;right:24px;bottom:56px;height:44px;gap:3px}
  .pre-count{right:24px;bottom:112px}
  .hdr{height:64px}
  .hl-t{top:0}.hl-b{top:63px}
  .vl-l,.vl-r,.p1,.p2,.p3,.p4,.hdr-nav,.mega,.mega-dim{display:none}
  .hdr-glass{top:0;height:64px}
  .hdr-logo{left:20px;top:21px}
  .hdr-cta{right:12px;top:10px;width:116px;height:44px;padding:0 6px 0 14px}
  .hdr-cta .t{font-size:12px}.hdr-cta svg{width:30px;height:30px;padding:6px}
  .hdr-burger{display:block;position:absolute;right:136px;top:10px;width:44px;height:44px;z-index:3;border:1px solid rgba(255,255,255,.28);border-radius:12px;color:inherit}
  .hdr[data-theme=light] .hdr-burger{border-color:rgba(11,12,16,.25)}.hdr.mega-open .hdr-burger{border-color:rgba(255,255,255,.28)}
  .hdr-burger i{position:absolute;left:12px;right:12px;height:2px;background:currentColor;border-radius:2px;transition:transform .4s var(--eo),top .4s var(--eo)}
  .hdr-burger i:nth-child(1){top:16px}.hdr-burger i:nth-child(2){top:25px}
  .hdr-burger.x i:nth-child(1){top:20px;transform:rotate(45deg)}.hdr-burger.x i:nth-child(2){top:20px;transform:rotate(-45deg)}
  .mm{display:block;position:fixed;left:0;right:0;top:64px;bottom:0;z-index:48;background:rgba(11,12,16,.9);backdrop-filter:blur(28px) saturate(150%);-webkit-backdrop-filter:blur(28px) saturate(150%);overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .4s,transform .5s var(--eo),visibility .4s;color:#fff}
  .mm.open{opacity:1;visibility:visible;transform:none}
  .mm-in{padding:8px 24px 48px}
  .mm-h,.mm-l{display:flex;align-items:center;justify-content:space-between;width:100%;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:30px;line-height:1.1;font-weight:600;letter-spacing:-.03em;text-align:left;color:#fff}
  .mm-c{position:relative;width:14px;height:14px;flex:none}
  .mm-c::before,.mm-c::after{content:"";position:absolute;left:0;right:0;top:6px;height:2px;background:currentColor;border-radius:2px;transition:transform .4s var(--eo)}
  .mm-c::after{transform:rotate(90deg)}
  [aria-expanded=true]>.mm-c::after{transform:rotate(0)}
  .mm-h.on{color:var(--or)}.mm-ah.on{color:#fff}
  .mm-b{overflow:hidden;height:0}
  .mm-a{border-bottom:1px solid rgba(255,255,255,.08)}
  .mm-ah{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 0 16px 12px;font-size:19px;font-weight:500;color:rgba(255,255,255,.75);text-align:left}
  .mm-ah.on{font-weight:600}
  .mm-ab{overflow:hidden;height:0}
  .mm-ab a{display:block;padding:10px 0 10px 28px;font-size:15px;line-height:22px;color:rgba(255,255,255,.6)}
  .mm-ab a:last-child{padding-bottom:18px}
  .mm-pj{display:flex;gap:16px;padding:14px 0 14px 12px;border-bottom:1px solid rgba(255,255,255,.08);font-size:18px;font-weight:500;color:rgba(255,255,255,.8)}
  .mm-pj b{font-size:12px;font-weight:600;color:rgba(255,255,255,.4);padding-top:5px}
  .mm-all{display:block;padding:18px 0 22px 12px;font-size:15px;font-weight:600;color:var(--or)}
  .mm-cta{display:flex;align-items:center;justify-content:center;height:56px;margin-top:28px;border-radius:12px;background:var(--or);color:var(--ink);font-size:16px;font-weight:600}

  .sec{padding:56px 24px 0;--cut:36px}
  .h2{font-size:clamp(34px,8vw,64px);line-height:1.1;margin-top:12px;max-width:none}
  .lead{font-size:16px;line-height:24px}
  .about,.services,.team,.news,.cta,.ftr,.projects{height:auto;padding-bottom:72px}
  .projects{margin-top:-24px}.process,.team,.news,.cta,.ftr{margin-top:-24px}

  .hero{height:auto;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:0 24px 96px}
  .hero-bg img{object-position:62% 50%}
  .vl-hero,.hp1,.hp2{display:none}
  .evt{right:24px;bottom:132px;width:260px;padding:18px;gap:8px}.evt-t{font-size:18px;line-height:24px;min-height:48px}.evt-k{font-size:11px}
  .pager{right:24px;bottom:76px;gap:14px}.pg-n{font-size:13px}
  .hero-copy{position:relative;left:auto;top:auto;padding-top:140px}
  .hero-h{font-size:clamp(40px,10vw,72px);line-height:1.08;width:auto;margin-top:16px}
  .hero-lead{width:auto;max-width:520px;margin-top:20px;font-size:16px;line-height:24px}
  .btn-a{margin-top:28px}
  .strip{bottom:0;height:56px}.strip-in{left:24px;right:0}.strip-track img{width:calc(var(--w)*.62px);height:calc(var(--h)*.62px)}.strip-track{gap:40px}.sg{gap:40px}

  .statement{width:auto;font-size:clamp(26px,5.6vw,44px);line-height:1.18;margin-top:12px}
  .cta-info{position:static;display:grid;grid-template-columns:1fr;gap:28px;margin-top:48px}

  .bento{position:static;display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:12px;margin-top:40px}
  .bento>.bx{grid-column:auto;grid-row:auto}.bx-p{min-height:240px}.bento>.bx-box{grid-column:auto;grid-row:auto;min-height:520px}.tg{left:20px;right:20px;top:20px}.tg .tx{font-size:21px;line-height:28px}.pg{right:20px;top:20px}.bx-x h3{font-size:20px}.stk-l{display:none}.stk{left:0;right:auto;width:100%;top:6%;height:78%}
  .services .lead{width:auto;margin-top:16px}
  .sv-list{position:static;margin-top:28px}
  .sv-row{height:auto!important;border-radius:16px;margin-bottom:8px}
  .sv-head{position:relative}
  .sv-mark{left:16px;top:35px}
  .sv-no{left:16px;top:36px;font-size:13px}
  .sv-row.is-open .sv-no{left:36px;top:36px}
  .sv-nm{position:relative;left:auto;top:auto;display:block;padding:24px 64px 24px 64px;font-size:22px;line-height:32px;white-space:normal}
  .sv-row.is-open .sv-nm{font-size:22px;line-height:32px;top:auto}
  .sv-sum{display:none}
  .sv-arr{right:8px;top:15px;width:54px;height:54px}.sv-arr svg{width:24px;height:24px}
  .sv-row.is-open .sv-arr{transform:rotate(-45deg)}
  .sv-more{position:static;width:auto;height:0;overflow:hidden;padding:0 20px 0 64px}
  .sv-d{width:auto;font-size:15px;line-height:24px}
  .sv-chips{width:auto;margin-top:16px}
  .sv-link{margin-top:20px;margin-bottom:24px}

  .vl-proj{display:none}
  .pj-body{margin:28px -24px 0}
  .pj-stage-wrap{position:relative;top:auto;height:auto;overflow:visible}
  .pj-stage{position:static;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 24px 8px;scrollbar-width:none;perspective:none}
  .pj-stage::-webkit-scrollbar{display:none}
  .pj-card{position:relative;left:auto;top:auto;flex:none;width:min(86vw,560px);height:auto;aspect-ratio:960/560;margin:0;scroll-snap-align:center}
  .pj-info{left:18px;right:18px;bottom:16px}
  .pj-kind{font-size:10px}.pj-ti{font-size:clamp(20px,5.4vw,30px);line-height:1.12;margin-top:8px}.pj-re{font-size:13px;line-height:18px;margin-top:8px}
  .pj-nav{display:none}
  .pj-list{margin-top:28px;padding:0 24px}
  .pj-lab{margin:0 -24px;padding-left:24px;height:48px}
  .pj-row{grid-template-columns:34px 1fr auto;height:auto;padding:14px 0;gap:8px}
  .pj-row::before{left:-24px;right:-24px}.pj-row::after{left:-24px;right:-24px}.pj-row[data-i="0"]{height:auto}
  .pj-mark,.pj-rp,.pj-fd,.pj-ar,.pjp1,.pjp2{display:none}
  .pj-no{padding-left:0}
  .pj-nm{font-size:18px;line-height:24px}
  .pj-rs{font-size:14px}

  .pc-pin{height:auto;min-height:0;padding:56px 24px 72px}
  .pc-list{position:static;width:auto;margin-top:20px}
  .pc-it{padding-bottom:12px}.pc-it.is-on{padding-bottom:24px}
  .pc-no{top:16px;font-size:13px}.pc-it.is-on .pc-no{left:24px}
  .pc-mk{top:18px;width:10px;height:10px}
  .pc-t{margin-left:56px;font-size:clamp(30px,8vw,48px);line-height:1.15}
  .pc-tag{display:none}
  .pc-more{margin-left:56px}.pc-d{width:auto;font-size:15px;line-height:24px}.pc-chips{margin-top:16px;flex-wrap:wrap}
  .pc-panel{position:relative;left:auto;top:auto;width:100%;height:auto;margin-top:28px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
  .pc-body{position:absolute;left:0;top:0;width:824px;height:812px;right:auto;bottom:auto;transform-origin:0 0}

  .team-r{position:static;width:auto;margin-top:16px}.team-r .lead{width:auto}
  .tm-grid{position:static;margin-top:32px;grid-template-columns:1fr 1fr;gap:12px}
  .tm-card{height:auto;aspect-ratio:408/380}
  .tm-nm{left:14px;top:auto;bottom:34px;font-size:clamp(16px,4.4vw,24px);line-height:1.2}
  .tm-rl{left:14px;top:auto;bottom:14px;font-size:9px;letter-spacing:.1em}

  .nw-tabs{margin-top:24px;overflow-x:auto;scrollbar-width:none;margin-right:-24px;padding-right:24px}
  .nw-tabs::-webkit-scrollbar{display:none}.nw-tab{flex:none}
  .nw-feat{position:static;width:auto;margin-top:28px}
  .nw-fimg{width:auto;height:auto;aspect-ratio:976/440}
  .nw-feat h3{width:auto;font-size:clamp(24px,6vw,36px);line-height:1.15}.nw-feat p.x{width:auto}
  .nw-list{position:static;width:auto;margin-top:36px}
  .nw-it h4{font-size:20px;line-height:26px}

  .cta{padding-top:64px}
  .cta-h{font-size:clamp(44px,12vw,96px);line-height:1;width:auto}
  .cta-btns{position:static;margin-top:32px;flex-wrap:wrap}
  .cta-info{margin-top:44px}.ci{font-size:20px}

  .ftr{padding-top:56px}
  .ft-news,.ft-col,.ft-div,.ft-legal,.ft-links,.ft-soc,.ft-lang,.ft-top{position:static;width:auto;margin-top:0}
  .ft-news h3{font-size:30px;line-height:36px}.fs{width:auto}.ft-form,.ft-consent{width:100%}
  .ft-col{margin-top:36px}.addr{margin-top:12px}
  .ft-col .label+a{margin-top:8px}
  .ft-div{display:block;margin-top:40px}
  .ft-legal{margin-top:20px}.ft-links,.ft-soc{margin-top:14px;flex-wrap:wrap}.ft-lang{margin-top:14px;display:block}
  .ft-top{margin-top:20px}
  .ft-mark{position:relative;left:auto;top:auto;width:calc(100% + 4vw);margin:32px 0 -3vw -2vw}
}
/* hero on phone and portrait tablet: the event card and its pager keep their place, in the flow under the copy */
@media (max-width:899px){
  .hero{padding-bottom:104px}
  .hero .evt{position:relative;right:auto;bottom:auto;width:auto;max-width:460px;margin-top:28px;padding:18px 20px;gap:8px}
  .hero .evt-t{min-height:0;font-size:19px;line-height:25px}
  .hero .pager{position:relative;left:auto;right:auto;bottom:auto;margin-top:18px}
}
@media (min-width:700px) and (max-width:1199px){
  .evt{right:48px}.pager{right:48px}
  .sec{padding-left:48px;padding-right:48px}
  .pc-pin,.pj-list{padding-left:48px;padding-right:48px}
  .pj-body{margin-left:-48px;margin-right:-48px}.pj-stage{padding-left:48px}.pj-lab{margin:0 -48px;padding-left:48px}.pj-row::before{left:-48px;right:-48px}
  .hero{padding:0 48px 96px}.strip-in{left:48px}
  .cta-info{grid-template-columns:repeat(3,1fr);gap:32px}
  .tm-grid{grid-template-columns:repeat(4,1fr)}
  .nw-tabs{margin-right:-48px;padding-right:48px}
  .ft-top{margin-top:20px}
}


/* Section 02: credibility at a glance */
.about{height:auto;padding-bottom:7.5rem}
.about .statement{width:min(88rem,100%)}
.about-lead{margin-top:28px;max-width:640px;font-size:18px;line-height:28px;font-weight:500;color:var(--g5)}
.bento{position:static;margin-top:56px;display:grid;grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:352px 292px;gap:16px}
.bx-box{grid-column:1;grid-row:1/3}
/* credibility row: avatars, response time, radial dial, quote */
.bq{position:relative;border-radius:24px;overflow:hidden;color:var(--ink)}
.bq-av{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center;border:1.5px dashed rgba(11,12,16,.28)}
.bq-avs{display:flex}
.bq-avs img{width:64px;height:64px;margin-left:-16px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px #fff,0 0 0 5px rgba(11,12,16,.06)}
.bq-avs img:first-child{margin-left:0}
.bq-avt{margin:0;font-size:18px;line-height:24px;font-weight:500}.bq-avt b{font-size:30px;font-weight:700;letter-spacing:-.03em;margin-right:6px;color:#254ED4}
.bq-avc{margin:0;max-width:300px;font-size:14px;line-height:21px;font-weight:500;color:var(--g5)}
.bq-pl{grid-column:2;grid-row:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:16px;padding:28px;background:#F3F4F7}
.bq-big{flex:none;font-size:76px;line-height:1;font-weight:700;letter-spacing:-.055em}
.bq-pl p{margin:0;max-width:300px;font-size:15px;line-height:22px;font-weight:500;color:var(--g5)}
.bq-dl{grid-column:3;grid-row:1;display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:24px 28px;background:#F3F4F7}
.bq-dial{position:relative;flex:none;width:176px;height:176px;margin:0 auto;display:grid;place-items:center}
.bq-dial svg{width:100%;height:100%}
.bq-dial line{stroke:#C9CDD5;stroke-width:2.2;stroke-linecap:round}.bq-dial line.on{stroke:#0B0C10}.bq-dial line.hd{stroke:#254ED4;stroke-width:3.2}
.bq-dc{position:absolute;left:50%;top:50%;width:68px;height:68px;margin:-34px 0 0 -34px;display:grid;place-items:center;border-radius:50%;background:#0B0C10;color:#fff}
.bq-dc b{font-size:20px;line-height:1;font-weight:700;letter-spacing:-.04em}
.bq-t{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end}
.bq-t h3{font-size:22px;line-height:28px;font-weight:600;letter-spacing:-.025em}
.bq-t p{margin:6px 0 0;font-size:14px;line-height:21px;font-weight:500;color:var(--g5)}
.bq-q{grid-column:3;grid-row:2;display:flex;flex-direction:column;padding:24px 28px;background:#fff;box-shadow:inset 0 0 0 1px rgba(11,12,16,.08)}
.bq-qh{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;color:#0B0C10}
.bq-qh span{margin-top:4px;font-size:10px;line-height:13px;font-weight:600;letter-spacing:.14em;color:var(--g4)}
.bq-q blockquote{margin:14px 0 0;font-size:18px;line-height:26px;font-weight:500;letter-spacing:-.012em}
.bq-who{margin:10px 0 0;font-size:13px;line-height:19px;font-weight:500;color:var(--g5);padding-left:14px;position:relative}
.bq-who::before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--or)}
.bq-st{margin-top:auto;padding-top:14px;border-top:1px solid rgba(11,12,16,.1);display:flex;align-items:center;gap:14px}
.bq-st b{flex:none;font-size:32px;line-height:1;font-weight:700;letter-spacing:-.05em}
.bq-st span{font-size:12px;line-height:17px;font-weight:500;color:var(--g5)}
.trust-primary::after{content:"";position:absolute;width:18rem;height:18rem;right:-5rem;top:-8rem;border:1px solid rgba(255,255,255,.22);border-radius:50%;box-shadow:0 0 0 5rem rgba(255,255,255,.04);pointer-events:none}
.trust-kicker{position:relative;z-index:1;font-size:.75rem;line-height:1.3;letter-spacing:.11em;font-weight:700;color:rgba(255,255,255,.7)}
.trust-primary h2{position:relative;z-index:1;max-width:30rem;font-size:2.75rem;line-height:1.04;letter-spacing:-.04em;font-weight:650}
.trust-summary{position:relative;z-index:1;max-width:28rem;font-size:1rem;line-height:1.5;color:rgba(255,255,255,.85)}
.trust-checks{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:.5rem}
.trust-checks span{padding:.55rem .7rem;border:1px solid rgba(255,255,255,.25);border-radius:999px;font-size:.72rem;font-weight:650;color:#fff}
.trust-card{justify-content:space-between;overflow:hidden;padding:1.5rem}
.trust-card::after{content:"";position:absolute;width:12rem;height:12rem;right:-4rem;top:-6rem;border:1px solid rgba(37,78,212,.14);border-radius:50%;box-shadow:0 0 0 3rem rgba(37,78,212,.035);pointer-events:none}
.trust-card .trust-no{position:relative;z-index:1;font-size:.75rem;letter-spacing:.08em;font-weight:750;color:#254ED4}
.trust-card h3{position:relative;z-index:1;max-width:24rem;font-size:1.625rem;line-height:1.12;letter-spacing:-.035em;font-weight:650}
.trust-card p{position:relative;z-index:1;margin-top:.7rem;max-width:25rem;font-size:.94rem;line-height:1.45;color:#5B6270}
.trust-card.bx-b{background:#FFF1D7}.trust-card.bx-e{background:#E9EEFF}
@media (max-width:1199px){
  .about{height:auto}
  .bento.trust-grid{top:auto;grid-template-rows:none}
  .bento.trust-grid>.trust-primary{min-height:360px;padding:28px}
  .trust-primary h2{font-size:clamp(32px,8vw,46px)}
  .trust-summary{font-size:16px}
  .trust-checks span{font-size:11px}
  .trust-card{min-height:210px;padding:22px}
  .trust-card h3{font-size:24px}
  .trust-card p{font-size:15px}
}

@media (max-width:1199px){
  .dt-in{padding:96px 24px 0}.dt-h{padding:32px 0 40px}.dt-h h1,.dt-mem h1{font-size:clamp(40px,11vw,72px);line-height:1.02}.dt-lead{font-size:18px;line-height:28px}
  .dt-meta{flex-direction:column;gap:20px;margin-top:36px}.dt-meta b{font-size:36px;line-height:40px}
  .dt-s{padding:48px 0}.dt-sh h2{font-size:30px;line-height:38px}
  .dt-grid,.dt-steps,.dt-outs,.dt-info,.dt-pgrid,.dt-ngrid,.dt-two{grid-template-columns:1fr;gap:16px}.dt-two{gap:32px}
  .dt-tgrid{grid-template-columns:1fr 1fr;gap:28px 14px}.dt-mem{grid-template-columns:1fr;gap:32px}
  .dt-big{font-size:24px;line-height:34px}.dt-check li{font-size:18px;line-height:26px}
  .dt-row{grid-template-columns:36px 1fr 20px;gap:12px;padding:24px 0}.dt-row p,.dt-row .ct{display:none}.dt-row h3{font-size:24px;line-height:30px}
  .dt-hero img{aspect-ratio:3/2;border-radius:20px}.dt-res b{font-size:48px;line-height:48px}.dt-res{flex-direction:column;gap:8px}
  .dt-q{font-size:26px;line-height:34px}.dt-art .dt-h h1{font-size:34px;line-height:40px}.dt-body p{font-size:17px;line-height:28px}
  .dt-cta{margin:0 -24px;padding:72px 24px;--cut:36px}.dt-cta h2{font-size:44px;line-height:48px}
  .dt-pn{margin:0 -24px;grid-template-columns:1fr}.dt-pn a{padding:28px 24px}.dt-pn a.r{text-align:left;border-left:0;border-top:1px solid rgba(255,255,255,.12)}
  .dt-pt h3{font-size:24px;line-height:30px}.dt-steps h3{margin-top:20px}.dt-outs p{margin-top:20px}
}

@media (max-width:1199px){
  .dt-keys,.dt-grid.four{grid-template-columns:1fr}.dt-steps.six{grid-template-columns:1fr}.dt-key{padding:28px;min-height:240px}.dt-key h3{font-size:30px;line-height:34px}
  .dt-ah{grid-template-columns:36px 1fr 20px;gap:10px;padding:20px 0}.dt-ah em{display:none}.dt-ah h3{font-size:20px;line-height:26px}.dt-abi{grid-template-columns:1fr;gap:20px;padding:0 0 24px 46px}.dt-abi ul{grid-template-columns:1fr}
  .dt-ah>span:not(.no){display:none}.dt-ah h3{min-width:0}.dt-abi{min-width:0}.dt-abi>*{min-width:0}.dt-abi .dt-lnk{white-space:normal;align-items:flex-start;line-height:22px}.dt-abi .dt-lnk svg{flex:none;margin-top:3px}
}

@media (max-width:1199px){
  .st{margin:0 -24px;padding:0 24px}.st-line{left:12px}.st-dot{left:-18px;top:36px}
  .st-h{padding:40px 0 64px;min-height:0}.st-h h1{font-size:clamp(44px,13vw,80px);line-height:1}
  .st-ch{grid-template-columns:1fr;gap:12px;min-height:0;padding:56px 0 24px}.st-l{position:static}.st-no{font-size:88px;line-height:84px}
  .st-r h2{font-size:32px;line-height:38px}.st-p{font-size:17px;line-height:27px}.st-br{margin-top:48px;font-size:17px}
  .st-end{padding:72px 0 96px}.st-end p{font-size:38px;line-height:42px}
}

@media (max-width:1199px){
  .services,.projects,.process,.team,.news{padding:72px 24px 72px}
  .services{background:radial-gradient(46% 26% at 94% 0%,rgba(255,90,20,.12),transparent 72%),#0B0C10;color:#fff;overflow:hidden}
  .sx{display:none}.services>.dz-head{display:flex}.services>.dz-list{display:block}
  .services>.dz-foot{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-top:32px}.dz-foot p{margin:0;font-size:16px;line-height:25px;font-weight:500;color:rgba(255,255,255,.7)}
  .dz-btn{display:inline-flex;align-items:center;height:48px;border-radius:999px;background:#FF5A14;color:#0B0C10;font-size:13px;font-weight:700;letter-spacing:.06em}
  .dz-head{flex-direction:column;align-items:flex-start;gap:16px}
  .dz-head .h2{font-size:44px;line-height:48px}
  .dz-lead{width:auto;margin:0;font-size:16px;line-height:25px}
  .dz-list{margin-top:36px}
  .dz-hd{grid-template-columns:30px 1fr 40px;padding:20px 0}
  .dz-sm{display:none}
  .dz-nm{font-size:24px;line-height:30px}
  .dz-row.is-open .dz-nm,.dz-row:not(.is-open) .dz-hd:hover .dz-nm,.dz-row.is-open .dz-no{transform:none}
  .dz-mark{display:none}
  .dz-ar{width:40px;height:40px}.dz-ar svg{width:20px;height:20px}
  .dz-in{grid-template-columns:1fr;gap:24px;padding:4px 0 28px}
  .dz-tx p{font-size:15px;line-height:24px}
  .dz-pn{left:16px;right:16px;bottom:14px}.dz-pn b{font-size:17px;line-height:22px}
  .dp-grid{margin-top:36px;grid-template-columns:1fr;gap:44px}
  .dp-nm{font-size:24px;line-height:30px}
  .dp-more p{font-size:16px;line-height:25px}
  .dq-grid{margin-top:36px;grid-template-columns:1fr;gap:48px;min-height:0}
  .dq-col{padding-top:0}
  .dq-nm{font-size:28px;line-height:34px}
  .tm-grid{margin-top:36px;grid-template-columns:1fr 1fr;gap:32px 14px}
  .tm-nm{font-size:19px;line-height:24px}.tm-ln{margin-top:14px;padding-bottom:14px}
  .nw-body{margin-top:28px;grid-template-columns:1fr;gap:36px}
  .nw-feat h3{font-size:26px;line-height:32px}
}


@media (max-width:1199px){
  .about{padding-bottom:72px}
  .about-lead{margin-top:16px;font-size:16px;line-height:25px}
  .bento{margin-top:32px;grid-template-columns:1fr;grid-template-rows:none;gap:12px}
  .bento>.bx-box,.bento>.bq{grid-column:auto;grid-row:auto}
  .bento>.bx-box{min-height:520px}
  .bq-av{padding:36px 20px}
  .bq-pl{padding:24px;gap:12px}.bq-big{font-size:56px}
  .bq-dl{min-height:0;flex-direction:column;align-items:flex-start;padding:22px;gap:20px}.bq-dial{width:min(260px,100%);height:auto;aspect-ratio:1}
  .bq-q{min-height:0;padding:22px}.bq-q blockquote{font-size:18px;line-height:27px}
}
@media (max-width:1199px){
  .bt{left:22px;right:22px;bottom:22px;gap:18px}.tg .tx{font-size:24px;line-height:31px}
  .tk{left:22px;top:24px}.pg{right:22px;top:24px}
  .icb{width:84px;height:84px;border-radius:22px}.ic{inset:17px;width:calc(100% - 34px);height:calc(100% - 34px)}
  .bento>.bx-box{min-height:540px}
}

/* detail pages: breadcrumb stays on one line and scrolls sideways when it is long */
@media (max-width:1199px){
  .dt-crumb{flex-wrap:nowrap;gap:8px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .dt-crumb::-webkit-scrollbar{display:none}
  .dt-crumb>*{flex:none}
}

/* detail pages on tablet: two columns where the phone layout would stretch a single column */
@media (min-width:640px) and (max-width:1199px){
  .dt-meta{flex-direction:row;flex-wrap:wrap;gap:24px 48px}
  .dt-grid,.dt-grid.four,.dt-steps,.dt-steps.six,.dt-info,.dt-pgrid,.dt-ngrid,.dt-keys{grid-template-columns:repeat(2,1fr);gap:16px}
  .dt-outs{grid-template-columns:repeat(3,1fr);gap:16px}.dt-outs li{padding:24px}
  .dt-pgrid,.dt-ngrid{gap:40px 20px}
  .dt-info{gap:24px 32px}
  .dt-two{grid-template-columns:1fr 1fr;gap:40px}
  .dt-tgrid{grid-template-columns:repeat(3,1fr)}
  .dt-key{min-height:0}
}

/* ---------- lead form (brief / consult) ---------- */
html.ld-open{overflow:hidden}
.ld{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:16px;visibility:hidden;opacity:0;transition:opacity .3s,visibility 0s .3s;overflow-y:auto}
.ld.on{visibility:visible;opacity:1;transition:opacity .3s}
.ld-bd{position:fixed;inset:0;background:rgba(11,12,16,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ld-box{position:relative;width:min(640px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;background:#0E1015;color:#fff;border-radius:28px;padding:40px;box-shadow:0 40px 100px rgba(0,0,0,.5);transform:translateY(18px);transition:transform .5s cubic-bezier(.16,1,.3,1)}
.ld.on .ld-box{transform:none}
.ld-close{position:absolute;right:16px;top:16px;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.08);color:#fff;transition:background .25s}
.ld-close:hover{background:rgba(255,255,255,.16)}
.ld-k{margin:0;font-size:12px;font-weight:700;letter-spacing:.14em;color:#FF8A57}
.ld-box h2{margin:12px 0 0;font-size:34px;line-height:40px;font-weight:700;letter-spacing:-.04em;padding-right:40px}
.ld-lead{margin:12px 0 0;font-size:16px;line-height:25px;color:rgba(255,255,255,.66)}
.ld-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.ld-grid label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;letter-spacing:.02em;color:rgba(255,255,255,.7);min-width:0}
.ld-grid .w{grid-column:1/-1}
.ld-grid input,.ld-grid select,.ld-grid textarea{width:100%;font:500 16px/24px 'Manrope',system-ui,sans-serif;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:12px 14px;transition:border-color .25s,background .25s}
.ld-grid textarea{resize:vertical;min-height:110px}
.ld-grid select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23fff' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.ld-grid select option{color:#0B0C10}
.ld-grid input:focus,.ld-grid select:focus,.ld-grid textarea:focus{outline:0;border-color:#FF5A14;background:rgba(255,255,255,.1)}
.ld-err{margin:16px 0 0;font-size:14px;line-height:22px;color:#FF8A57}.ld-err a{text-decoration:underline}
.ld-send{margin-top:24px;height:52px;padding:0 28px;border-radius:12px;background:#FF5A14;color:#0B0C10;font-size:15px;font-weight:700;transition:background .25s,transform .25s}
.ld-send:hover{background:#fff}.ld-send:disabled{opacity:.6;cursor:wait}
.ld-note{margin:16px 0 0;font-size:13px;color:rgba(255,255,255,.5)}
.ld-done{text-align:left;padding:24px 0 8px}.ld-done[hidden],.ld-form[hidden],.ld-err[hidden]{display:none}
.ld-ok{display:block;width:44px;height:44px;border-radius:12px;background:#FF5A14;position:relative}.ld-ok::after{content:"";position:absolute;left:15px;top:10px;width:9px;height:17px;border:solid #0B0C10;border-width:0 3px 3px 0;transform:rotate(45deg)}
.ld-done h2{margin-top:20px}.ld-done p{margin:12px 0 0;color:rgba(255,255,255,.7)}
.ft-msg{margin:12px 0 0;font-size:14px;line-height:20px}.ft-msg.ok{color:#1E8A4C}.ft-msg.err{color:#C2410C}
.dt.adm .dt-ft{display:none}
@media (max-width:640px){.ld-box{padding:28px 20px;border-radius:22px}.ld-box h2{font-size:26px;line-height:32px}.ld-grid{grid-template-columns:1fr}}

/* ---------- admin ---------- */
.adm-h{padding-bottom:24px}
.adm{padding-bottom:96px;color:var(--ink)}
.adm-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px;padding:6px;border-radius:16px;background:#F3F4F7;width:fit-content;max-width:100%}
.adm-tabs button{height:44px;padding:0 20px;border-radius:12px;font-size:15px;font-weight:600;color:#4B5563;display:inline-flex;align-items:center;gap:8px;transition:background .25s,color .25s}
.adm-tabs button[aria-selected="true"]{background:#0B0C10;color:#fff}
.adm-tabs i{font-style:normal;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#FF5A14;color:#0B0C10;font-size:12px;font-weight:700;display:grid;place-items:center}
.adm-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:24px}
.adm-stats div{padding:20px;border-radius:18px;background:#F3F4F7}.adm-stats b{display:block;font-size:34px;line-height:38px;font-weight:700;letter-spacing:-.03em}.adm-stats span{font-size:13px;color:#6B7280;font-weight:600}
.adm-stats .new b{color:#FF5A14}
.adm-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}
.adm-bar select,.adm-bar input[type=search]{height:44px;padding:0 14px;border:1px solid #D9DCE3;border-radius:12px;font:500 15px 'Manrope',system-ui,sans-serif;color:var(--ink);background:#fff;min-width:0}
.adm-bar input[type=search]{flex:1 1 240px}
.adm-sub{margin:0;flex:1 1 320px;font-size:15px;line-height:22px;color:#6B7280}
.adm-btn{height:44px;padding:0 18px;border-radius:12px;border:1px solid #D9DCE3;background:#fff;font-size:14px;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s,color .25s;cursor:pointer}
.adm-btn:hover{border-color:#0B0C10}.adm-btn:disabled{opacity:.45;cursor:default}
.adm-btn.pri{background:#0B0C10;border-color:#0B0C10;color:#fff}.adm-btn.pri:hover{background:#FF5A14;border-color:#FF5A14;color:#0B0C10}
.adm-btn.danger{color:#B42318;border-color:#F0B4AE}.adm-btn.danger:hover{background:#B42318;border-color:#B42318;color:#fff}
.adm-empty{margin:32px 0;padding:40px;border-radius:20px;background:#F3F4F7;font-size:16px;line-height:26px;color:#4B5563;text-align:center}
.adm-tbl{border-top:1px solid #E6E8EC}
.adm-th,.adm-tr{display:grid;grid-template-columns:150px 120px minmax(0,1.2fr) minmax(0,1.3fr) minmax(0,1fr) 140px;gap:16px;align-items:center;padding:16px 8px}
.adm-th{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9AA0AB;padding-top:14px;padding-bottom:14px}
.adm-tr{border-bottom:1px solid #E6E8EC;font-size:14px;line-height:20px;cursor:pointer;transition:background .2s}
.adm-tr:hover,.adm-tr.on{background:#F7F8FA}.adm-tr:focus-visible{outline:2px solid #FF5A14;outline-offset:-2px}
.adm-tr span{min-width:0;overflow-wrap:anywhere}.adm-tr small{display:block;color:#6B7280;font-size:13px}.adm-tr .t{color:#6B7280}.adm-tr .s{color:#4B5563}
.adm-tr em,.adm-tg{font-style:normal;display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#E8EAEE;color:#374151}
.adm-ty.brief{background:#FFE9DE;color:#B93B05}.adm-ty.consult{background:#E1ECFF;color:#1D4FB8}.adm-ty.newsletter{background:#E8EAEE}
.adm-st.new{background:#FF5A14;color:#0B0C10}.adm-st.contacted{background:#E1ECFF;color:#1D4FB8}.adm-st.quoted{background:#FFF1C9;color:#8A5A00}.adm-st.won{background:#D8F3E2;color:#1E7A45}.adm-st.lost{background:#EEE;color:#6B7280}
.adm-pn{position:fixed;right:0;top:0;bottom:0;width:min(440px,100%);z-index:60;background:#fff;box-shadow:-20px 0 60px rgba(11,12,16,.18);padding:96px 28px 28px;overflow-y:auto;animation:admin .4s cubic-bezier(.16,1,.3,1)}
@keyframes admin{from{transform:translateX(32px);opacity:0}to{transform:none;opacity:1}}
.adm-pn-h{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px}.adm-pn h3{margin:6px 0 0;font-size:26px;line-height:32px;font-weight:700;letter-spacing:-.03em}
.adm-k{margin:0;font-size:12px;font-weight:700;letter-spacing:.1em;color:#6B7280;text-transform:uppercase}
.adm-x{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:12px;background:#F3F4F7}.adm-x:hover{background:#E8EAEE}
.adm-dl{display:grid;grid-template-columns:120px 1fr;gap:10px 12px;margin:0 0 16px;font-size:14px;line-height:20px}.adm-dl dt{color:#6B7280}.adm-dl dd{margin:0;overflow-wrap:anywhere;font-weight:600}
.adm-msg{margin:0 0 20px;padding:16px;border-radius:14px;background:#F3F4F7;font-size:15px;line-height:24px;white-space:pre-wrap;overflow-wrap:anywhere}
.adm-fl{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;color:#4B5563;margin-bottom:16px;min-width:0}
.adm-fl input,.adm-fl select,.adm-fl textarea{width:100%;font:500 15px/22px 'Manrope',system-ui,sans-serif;color:var(--ink);background:#fff;border:1px solid #D9DCE3;border-radius:12px;padding:11px 14px}
.adm-fl textarea{resize:vertical}.adm-fl input:focus,.adm-fl select:focus,.adm-fl textarea:focus{outline:0;border-color:#FF5A14}
.adm-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.adm-cl{display:flex;flex-direction:column;border-top:1px solid #E6E8EC}
.adm-ci{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:18px 8px;border-bottom:1px solid #E6E8EC}
.adm-ci.off .adm-ci-t{opacity:.45}.adm-ci-t b{display:block;font-size:17px;line-height:24px}.adm-ci-t small{color:#6B7280;font-size:13px}
.adm-ci-m{display:flex;gap:8px}.adm-tg.off{background:#EEE;color:#6B7280}
.adm-ci-a{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.adm-ci-a .adm-btn{height:38px;padding:0 14px}
.adm-ov{position:fixed;inset:0;z-index:58;background:rgba(11,12,16,.5)}
.adm-ed{position:fixed;right:0;top:0;bottom:0;width:min(620px,100%);z-index:60;background:#fff;padding:96px 28px 28px;overflow-y:auto;box-shadow:-20px 0 60px rgba(11,12,16,.18);animation:admin .4s cubic-bezier(.16,1,.3,1)}
.adm-fs{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.adm-fs .w{grid-column:1/-1}
.adm-ph{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:start}.adm-ph>img,.adm-ph>i{width:120px;height:90px;border-radius:12px;object-fit:cover;background:#F3F4F7;display:grid;place-items:center;font-style:normal;font-size:12px;color:#9AA0AB;text-align:center}
.adm-ph>div{display:flex;flex-direction:column;gap:10px;min-width:0}.adm-row{display:flex;gap:8px;flex-wrap:wrap}.adm-btn.up{height:38px;cursor:pointer}.adm-ph small{font-size:13px;color:#6B7280;min-height:18px}
.adm-toast{position:fixed;left:50%;bottom:28px;z-index:2000;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:14px 22px;border-radius:14px;background:#0B0C10;color:#fff;font-size:15px;font-weight:600;box-shadow:0 20px 50px rgba(0,0,0,.3);transition:opacity .3s,transform .4s cubic-bezier(.16,1,.3,1)}
.adm-toast.on{opacity:1;transform:translate(-50%,0)}.adm-toast.bad{background:#B42318}
.adm-deny{padding:56px 0}.adm-deny h2{margin:0;font-size:32px;font-weight:700;letter-spacing:-.03em}.adm-deny p{margin:12px 0 24px;max-width:52ch;color:#4B5563}
@media (max-width:1199px){
  .adm-stats{grid-template-columns:repeat(3,1fr)}
  .adm-th{display:none}
  .adm-tr{grid-template-columns:1fr auto;grid-template-areas:"n st" "c c" "t ty";gap:6px 12px;padding:16px 4px}
  .adm-tr>span:nth-child(1){grid-area:t}.adm-tr>span:nth-child(2){grid-area:ty;justify-self:end}.adm-tr>span:nth-child(3){grid-area:n}.adm-tr>span:nth-child(4){grid-area:c}.adm-tr>span:nth-child(5){display:none}.adm-tr>span:nth-child(6){grid-area:st;justify-self:end}
  .adm-ci{grid-template-columns:1fr;gap:10px}.adm-ci-a{justify-content:flex-start}
  .adm-fs{grid-template-columns:1fr}.adm-pn,.adm-ed{padding:88px 20px 24px}
  .adm-ph{grid-template-columns:1fr}
}
@media (max-width:520px){.adm-stats{grid-template-columns:repeat(2,1fr)}.adm-tabs button{padding:0 14px}}


/* team + closing lines: keep the grid inside the screen and the closing line below the photos */
.team .dz-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px;margin-top:56px;padding-top:32px;border-top:1px solid rgba(255,255,255,.14)}
.team .dz-foot p{margin:0;max-width:560px;font-size:18px;line-height:28px;color:rgba(255,255,255,.7)}
@media (max-width:1199px){
  .tm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tm-card{aspect-ratio:auto;height:auto}
  .team .dz-foot{margin-top:40px;flex-direction:column;align-items:flex-start}
  .team .dz-foot p{font-size:16px;line-height:25px}
}
@media (min-width:700px) and (max-width:1199px){.tm-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* phone arrangement: shorter, swipeable and two-up where a single column wastes the screen */
@media (max-width:699px){
  .bento>.bx-box{min-height:430px}
  /* projects: one swipeable rail instead of seven stacked cards */
  .dp-grid{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:0 24px;-webkit-overflow-scrolling:touch;margin:32px -24px 0;padding:0 24px 12px;scrollbar-width:none}
  .dp-grid::-webkit-scrollbar{display:none}
  .dp-card,.dp-more{flex:0 0 82%;scroll-snap-align:start;min-width:0}
  .dp-more{justify-content:flex-end;padding:24px;border-radius:20px;background:#12151C;align-self:stretch}
  .dp-row{margin-top:16px}
  /* process: copy first, the illustration after it */
  .dq-col{display:flex;flex-direction:column}
  .dq-ill{order:5;margin-top:22px}.dq-pc{order:6;margin-top:22px}
  .dq-grid{gap:44px}
  /* footer: link columns in pairs */
  .ftr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;align-content:start}
  .ftr>*{grid-column:1/-1}
  .ftr>.ft-col{grid-column:auto;min-width:0}
  .ftr .ft-col{margin-top:28px}
  .ftr .ft-col.c4 .addr{font-size:14px;line-height:21px;overflow-wrap:anywhere}
}

/* hero banner on phone and tablet: no hairlines or corner marks; long CTAs show only their icon */
@media (max-width:699px){
  .hero .vl-hero{display:block;left:12px;top:63px;bottom:56px}
  .hero .hp1{display:block;left:12px;bottom:56px}.hero .hp2{display:block;left:12px;bottom:0}.hero .hp3,.hero .hp4{display:none}
}
.cta-ico{font-size:0!important;gap:0!important;letter-spacing:0}
.btn.cta-ico,.dt-btn.cta-ico{padding:0 4px!important}
.dz-btn.cta-ico{padding:6px!important}
.btn-a.cta-ico .ba-body{display:none}
.btn-a.cta-ico .ba-cell{width:56px;height:56px;border-radius:12px;background:var(--or)}
.btn-a.cta-ico:hover .ba-cell{background:#fff}
.cta-ico .cta-cell{flex:none}

/* hero on phone: the copy sits low and spans the width, so the shade follows the copy (bottom) and the artwork keeps the desktop colours above it */
@media (max-width:899px){
  .hero-sc-l{background:linear-gradient(90deg,rgba(11,12,16,.5),rgba(11,12,16,.18) 55%,rgba(11,12,16,0))}
  .hero-sc-b{background:linear-gradient(180deg,rgba(11,12,16,0) 26%,rgba(11,12,16,.55) 54%,rgba(11,12,16,.9))}
}

/* services on phone and tablet: one illustrated card per service, cards stack as you scroll */
.svm{border-top:0;margin-top:32px;display:flex;flex-direction:column;gap:14px;padding-bottom:8px}
.svm-c{position:sticky;top:calc(84px + var(--i) * 12px);display:flex;flex-direction:column;gap:18px;padding:22px 22px 24px;border-radius:26px;background:linear-gradient(180deg,#171A21 0%,#0F1217 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09),0 -14px 30px rgba(0,0,0,.4);color:#fff;overflow:hidden}
.svm-top{display:flex;align-items:baseline;gap:8px;font-weight:700}
.svm-no{font-size:15px;letter-spacing:.08em;color:#FF5A14}.svm-of{font-size:13px;letter-spacing:.08em;color:rgba(255,255,255,.4)}
.svm-art{position:relative;height:190px;display:grid;place-items:center}
.svm-art::before{content:"";position:absolute;inset:-10% 0;background:radial-gradient(55% 55% at 50% 55%,rgba(255,90,20,.24),transparent 72%)}
.svm-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(0,0,0,.5));animation:svmf 6s ease-in-out infinite alternate}
@keyframes svmf{from{transform:translateY(5px) rotate(-1.2deg)}to{transform:translateY(-7px) rotate(1.2deg)}}
.svm-nm{margin:0;font-size:28px;line-height:34px;font-weight:700;letter-spacing:-.04em}
.svm-d{margin:10px 0 0;font-size:15px;line-height:24px;color:rgba(255,255,255,.7)}
.svm-ch{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none}
.svm-more{background:transparent!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);color:rgba(255,255,255,.7)}
.svm-ft{display:flex;flex-direction:column;gap:14px;margin-top:20px}
.svm-go{display:inline-flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:#FF5A14}
.svm-pj{display:flex;flex-direction:column;gap:2px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}
.svm-pj span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);font-weight:700}.svm-pj b{font-size:15px;font-weight:600;color:#fff}
@media (min-width:700px){.svm-c{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:32px;grid-template-areas:"top top" "art tx";align-items:center;padding:28px 32px}.svm-top{grid-area:top}.svm-art{grid-area:art;height:300px}.svm-tx{grid-area:tx}.svm-nm{font-size:36px;line-height:42px}}
@media (max-width:1199px){.services{overflow:clip}}

/* about on phone and tablet: the mission card leads, proof points sit in a two-up tile row instead of a long single column */
@media (max-width:1199px){
  .bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .bento>.bx-box,.bento>.bq-av,.bento>.bq-q{grid-column:1/-1}
  .bq-av{padding:22px 18px;gap:12px}.bq-avs img{width:52px;height:52px;margin-left:-14px}
  .bq-pl{padding:18px;gap:10px;justify-content:flex-start;min-height:0}.bq-big{font-size:44px}.bq-pl p{font-size:13px;line-height:19px}
  .bq-dl{padding:18px;gap:12px;align-items:flex-start}.bq-dial{width:100%;max-width:112px;height:auto;aspect-ratio:1;margin:0}
  .bq-dc{width:44px;height:44px;margin:-22px 0 0 -22px}.bq-dc b{font-size:14px}
  .bq-t h3{font-size:16px;line-height:21px}.bq-t p{font-size:12px;line-height:17px}
}

/* process on phone: a vertical timeline; the illustration keeps a readable size and swipes sideways */
@media (max-width:699px){
  .dq-grid{gap:44px;grid-template-columns:minmax(0,1fr)}
  .dq-col{position:relative;padding-left:26px;min-width:0}
  .dq-col::before{content:"";position:absolute;left:4px;top:14px;bottom:-44px;width:1px;background:rgba(255,255,255,.16)}
  .dq-col:last-child::before{display:none}
  .dq-top{margin-top:0}
  .dq-mark{position:absolute;left:0;top:6px;width:9px;height:9px}
  .dq-ill{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-right:-24px;border-radius:14px 0 0 14px}
  .dq-ill::-webkit-scrollbar{display:none}
  .dq-ill svg{width:560px;max-width:none;height:auto}
}

/* phone menu: service sub-items are real links, one per line */
@media (max-width:1199px){
  .mm-ab>a:first-child{color:var(--or);font-weight:600}
  .mm-ab .mm-sub{display:block;padding:9px 0 9px 28px;font-size:15px;line-height:22px;color:rgba(255,255,255,.62)}
  .mm-ab .mm-sub:hover{color:#fff}
}

/* projects on tablet and phone */
@media (max-width:1199px){
  .dp-grid{margin-top:36px;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 20px}
  .dp-card,.dp-card:nth-child(n){grid-column:auto}
  .dp-card:nth-child(1){grid-column:1/-1}
  .dp-img,.dp-card:nth-child(1) .dp-img{height:auto;aspect-ratio:3/2}
  .dp-card:nth-child(1) .dp-img{aspect-ratio:16/9}
  .dp-res b{font-size:34px}.dp-card:nth-child(1) .dp-res b{font-size:56px}
  .dp-card:nth-child(1) .dp-nm{font-size:36px;line-height:42px}
  .dp-nm{font-size:24px;line-height:30px}
  .dp-go{opacity:1;transform:none;width:44px;height:44px;right:20px;bottom:20px}
  .dp-tag{left:18px;top:18px}.dp-res{left:20px;bottom:20px;right:80px}
  .dp-more{flex-direction:column;align-items:flex-start;gap:24px;padding-top:36px}
  .dp-more p{font-size:20px;line-height:30px}
}
@media (max-width:699px){
  .dp-card:nth-child(1){grid-column:auto}
  .dp-img,.dp-card:nth-child(1) .dp-img{aspect-ratio:4/3}
  .dp-card:nth-child(1) .dp-nm{font-size:24px;line-height:30px}
  .dp-card:nth-child(1) .dp-res b{font-size:40px}.dp-res b{font-size:34px}
  .dp-more{border-top:0;padding-top:24px}.dp-more p{font-size:16px;line-height:25px}
}

/* inner pages on tablet and phone: single column, the label sits above the content, the index scrolls sideways */
@media (max-width:1199px){
  .dt-s:has(>.dt-sh){display:block}
  .dt-s:has(>.dt-sh)>.dt-sh{position:static;margin:0 0 28px;padding-right:0}
  .dt-s:has(>.dt-sh)>.dt-sh h2{font-size:32px;line-height:38px}
  .dt-s:has(>.dt-sh)>:not(.dt-sh)+:not(.dt-sh){margin-top:20px}
  .dt-idx{top:64px;margin:0 -24px 4px;padding:10px 24px}
  .dt-qs{margin:0 -24px;padding:56px 24px}
  .dt-qs blockquote{padding-left:0;padding-top:72px;font-size:28px;line-height:36px}
  .dt-qs blockquote::before{top:-14px;font-size:120px}
  .dt-relg{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dt-artg{grid-template-columns:minmax(0,1fr);margin-bottom:56px}
  .dt-artg .dt-rail{position:static;flex-direction:row;flex-wrap:wrap;gap:12px 28px;margin-bottom:28px}
  .dt-rail dl{flex-direction:row;flex-wrap:wrap;gap:12px 28px}
  .dt-artg .dt-body p:first-child{font-size:20px;line-height:31px}
  .dt-s:has(>.dt-sh) .dt-steps li{grid-template-columns:44px minmax(0,1fr);row-gap:8px}
  .dt-s:has(>.dt-sh) .dt-steps li p{grid-column:2}
  .dt-s:has(>.dt-sh) .dt-outs li{grid-template-columns:44px minmax(0,1fr);gap:16px}
  .dt-s:has(>.dt-sh) .dt-outs p{font-size:21px;line-height:29px}
  .dt-s:has(>.dt-sh) .dt-grid,.dt-s:has(>.dt-sh) .dt-grid.four{grid-template-columns:minmax(0,1fr)}
  .dt-s:has(>.dt-sh) .dt-big{font-size:24px;line-height:33px}
  .dt-s:has(>.dt-sh) .dt-row h3{font-size:22px;line-height:28px}
}
@media (min-width:640px) and (max-width:1199px){
  .dt-s:has(>.dt-sh) .dt-grid,.dt-s:has(>.dt-sh) .dt-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:699px){.dt-relg{grid-template-columns:minmax(0,1fr)}}

/* service pages on tablet and phone */
@media (max-width:1199px){
  .dt-svh{grid-template-columns:minmax(0,1fr);gap:32px;padding-bottom:40px}
  .dt-svh h1{font-size:clamp(40px,11vw,72px);line-height:1.02}
  .dt-svart{aspect-ratio:4/3;border-radius:26px}.dt-svart img{width:70%;height:90%}
  .dt-svh .dt-meta{gap:20px 28px;margin-top:32px}.dt-svh .dt-meta b{font-size:32px;line-height:36px}
  .sg-flow,.sg-split,.sg-tech,.sg-lanes,.sg-hw{grid-template-columns:minmax(0,1fr)}
  .sg-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sg-kpi b{font-size:32px;line-height:36px}
  .sg-cmp,.sg-own,.sg-sla,.sg-tracks,.sg-base,.sg-final{grid-template-columns:minmax(0,1fr)}
  .sg-sprint{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sg-sprint li{min-height:100px}
  .sg-chain li{grid-template-columns:44px minmax(0,1fr);row-gap:8px}.sg-chain p{grid-column:2}
  .sg-guard{flex-direction:column;align-items:flex-start;gap:8px}
  .sg-st{padding:24px}
}
@media (min-width:700px) and (max-width:1199px){
  .sg-flow,.sg-tech,.sg-hw,.sg-lanes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sg-cmp,.sg-own,.sg-sla,.sg-tracks{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sg-sprint{grid-template-columns:1fr 2.4fr 1.4fr 1fr}
}

@media (max-width:699px){.sg-hubw{overflow-x:auto;margin-right:-24px;scrollbar-width:none;border-radius:20px 0 0 20px}.sg-hubw::-webkit-scrollbar{display:none}.sg-hub{width:640px;max-width:none;border-radius:20px}}

/* touch polish: press feedback, no grey tap flash, scroll targets clear the header, cards ease in as they enter */
html{scroll-padding-top:84px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (hover:none){
  a,button,[role=button]{-webkit-tap-highlight-color:transparent}
  .btn,.btn-a,.dz-btn,.dt-btn,.svm-go,.dp-card,.tm-card,.nw-it,.dt-row,.dt-pc,.dt-nc,.dt-tc,.mm-h,.mm-l,.mm-cta,.svm-pj{transition:transform .28s var(--eo),background .3s,color .3s}
  .btn:active,.btn-a:active,.dz-btn:active,.dt-btn:active,.mm-cta:active{transform:scale(.97)}
  .dp-card:active,.tm-card:active,.dt-pc:active,.dt-nc:active,.dt-tc:active,.nw-it:active{transform:scale(.985)}
  .dt-row:active,.mm-h:active,.mm-l:active{opacity:.7}
}
@supports (animation-timeline:view()){
  @media (max-width:1199px){
    .svm-c{animation:svmIn linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
    @keyframes svmIn{from{opacity:.25;transform:translateY(36px) scale(.97)}to{opacity:1;transform:none}}
  }
}

@media (min-width:700px) and (max-width:1199px){
  .bento{gap:14px}
  .bq-big{font-size:64px}.bq-pl p{font-size:15px;line-height:22px}
  .bq-dl{padding:24px}.bq-dial{max-width:150px}.bq-dc{width:56px;height:56px;margin:-28px 0 0 -28px}.bq-dc b{font-size:18px}
  .bq-t h3{font-size:20px;line-height:26px}.bq-t p{font-size:14px;line-height:21px}
  .bq-pl{padding:24px}
}

/* footer on tablet: four link columns side by side */
@media (min-width:700px) and (max-width:1199px){
  .ftr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:24px;align-content:start}
  .ftr>*{grid-column:1/-1}
  .ftr>.ft-col{grid-column:auto;min-width:0}
  .ftr .ft-col{margin-top:36px}
  .ftr .ft-col.c4 .addr{font-size:14px;line-height:21px;overflow-wrap:anywhere}
}
@media (max-width:1199px){.ftr>.ft-top{justify-self:start}}

/* hero on iPad: the hairlines and corner marks of the desktop hero stay, the copy is balanced against the event card */
@media (min-width:700px) and (max-width:1199px){
  .hero .vl-hero{display:block;left:48px;top:0;bottom:0}
  .hero .hp1{display:block;left:42px;bottom:50px}.hero .hp2{display:block;left:42px;bottom:0}
}
@media (min-width:900px) and (max-width:1199px){
  .hero-copy{max-width:58%}
  .hero-h{font-size:clamp(44px,5.2vw,62px);line-height:1.06}
  .hero-lead{max-width:min(480px,100%)}
}
@media (min-width:700px) and (max-width:899px){
  .hero-h{font-size:clamp(44px,7vw,60px);line-height:1.06}
}

/* header and hero share one grid on phone and iPad: gutter 24 on phones, 48 on iPad; logo and copy start on the same edge, the call to action ends on the same edge,
   the frame line sits outside the gutter and starts under the header hairline instead of cutting through the logo */
@media (max-width:1199px){
  .hdr-logo{left:24px}
  .hdr-cta{right:24px}
  .hdr-burger{right:152px}
}
@media (min-width:700px) and (max-width:1199px){
  .hdr-logo{left:48px}
  .hdr-cta{right:48px}
  .hdr-burger{right:176px}
  .hero .vl-hero{left:24px;top:63px}
  .hero .hp1,.hero .hp2{left:18px}
}

/* decorative crosses and hairlines are removed everywhere; the frame lines of the services intro and the story timeline are content and stay */
.svm-go{min-height:44px}

/* admin: site-wide text groups */
.adm-sg{margin:0 0 24px;padding:28px;border-radius:24px;background:#F7F8FA}
.adm-sgh{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.adm-sgh h3{margin:0;font-size:22px;line-height:28px;font-weight:700;letter-spacing:-.02em}
.adm-sg .adm-fs{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1199px){.adm-sg{padding:20px}.adm-sg .adm-fs{grid-template-columns:minmax(0,1fr)}}

/* CRM v2: role bar, dashboard, kanban, staff, log */
.adm-me{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 16px;font-size:14px;color:#4B5563}
.adm-me small{flex-basis:100%;color:#B42318;font-size:13px}
.adm-role{font-style:normal;display:inline-block;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em;background:#E8EAEE;color:#374151}
.adm-role.r-owner{background:#0B0C10;color:#fff}.adm-role.r-admin{background:#FFE9DE;color:#B93B05}.adm-role.r-sales{background:#E1ECFF;color:#1D4FB8}.adm-role.r-editor{background:#D8F3E2;color:#1E7A45}
.adm-seg{display:inline-flex;padding:4px;border-radius:12px;background:#F3F4F7;gap:4px;max-width:100%;flex-wrap:wrap}
.adm-seg.wide{margin-bottom:20px}
.adm-seg button{height:36px;padding:0 16px;border-radius:9px;font-size:14px;font-weight:600;color:#4B5563}
.adm-seg button[aria-pressed="true"]{background:#0B0C10;color:#fff}
.adm-chk{display:inline-flex;gap:8px;align-items:center;font-size:14px;font-weight:600;color:#4B5563;height:44px}
.adm-chk input{width:18px;height:18px;accent-color:#FF5A14}
.adm-kpi{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}
.adm-kpi div{padding:20px;border-radius:18px;background:#F3F4F7}.adm-kpi b{display:block;font-size:34px;line-height:38px;font-weight:700;letter-spacing:-.03em}.adm-kpi span{font-size:13px;color:#6B7280;font-weight:600}
.adm-kpi .hot b{color:#FF5A14}
.adm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.adm-grid.one{grid-template-columns:minmax(0,1fr)}
.adm-card{padding:24px;border-radius:20px;background:#F7F8FA;min-width:0}.adm-card.w2{grid-column:span 2}
.adm-card h3{margin:0 0 16px;font-size:18px;line-height:24px;font-weight:700;letter-spacing:-.02em}
.adm-cap{margin:0 0 12px;font-size:14px;line-height:22px;color:#6B7280}
.adm-bar2{display:grid;grid-template-columns:minmax(0,110px) 1fr 28px;gap:10px;align-items:center;margin-bottom:10px;font-size:13px;color:#4B5563}
.adm-bar2 span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-bar2 i{height:8px;border-radius:4px;background:#E6E8EC;overflow:hidden}.adm-bar2 b{display:block;height:100%;background:#0B0C10;border-radius:4px}.adm-bar2 em{font-style:normal;font-weight:700;text-align:right}
.adm-col{display:flex;align-items:flex-end;gap:6px;height:150px}
.adm-col div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%;min-width:0}
.adm-col b{display:block;width:100%;min-height:3px;background:#FF5A14;border-radius:4px 4px 0 0}.adm-col span{font-size:11px;color:#9AA0AB}
.adm-fu{display:block;width:100%;text-align:left;padding:12px 14px;margin-bottom:8px;border-radius:12px;background:#fff;border:1px solid #E6E8EC}.adm-fu:hover{border-color:#0B0C10}
.adm-fu b{display:block;font-size:15px}.adm-fu span{font-size:13px;color:#6B7280}
.adm-act{margin:0 0 12px;font-size:14px;line-height:21px;color:#374151}.adm-act small{display:block;color:#9AA0AB;font-size:12px}
.adm-board{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:12px;overflow-x:auto;padding-bottom:12px}
.adm-lane{background:#F3F4F7;border-radius:16px;padding:12px;min-height:240px;transition:background .2s,outline-color .2s;outline:2px solid transparent}
.adm-lane.over{background:#FFF1EA;outline-color:#FF5A14}
.adm-lane header{display:flex;justify-content:space-between;align-items:center;padding:4px 6px 12px;font-size:14px}
.adm-lane header em{font-style:normal;font-size:12px;font-weight:700;color:#6B7280}
.adm-cards{display:flex;flex-direction:column;gap:10px}
.adm-kc{padding:14px;border-radius:12px;background:#fff;border:1px solid #E6E8EC;display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.adm-kc[draggable="true"]{cursor:grab}.adm-kc:hover,.adm-kc.on{border-color:#0B0C10}.adm-kc.drag{opacity:.4}.adm-kc:focus-visible{outline:2px solid #FF5A14}
.adm-kc b{font-size:15px;line-height:20px}.adm-kc small{font-size:13px;color:#6B7280;overflow-wrap:anywhere}
.adm-kt,.adm-kf{display:flex;justify-content:space-between;align-items:center;gap:8px}.adm-kf{font-size:12px;color:#9AA0AB;margin-top:4px}
.adm-kt .adm-ty{font-style:normal;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700}
.adm-due{font-style:normal;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700;background:#E8EAEE;color:#374151;display:inline-block}.adm-due.od{background:#FF5A14;color:#0B0C10}
.adm-pr{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;background:#9AA0AB;vertical-align:middle}.adm-pr.high{background:#FF5A14}.adm-pr.mid{background:#0B0C10}.adm-pr.low{background:#D9DCE3}
.adm-av{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#0B0C10;color:#fff;font-size:10px;font-weight:700;margin-right:6px}.adm-av.lg{width:40px;height:40px;font-size:13px;margin:0;flex:none}
.adm-tr .s{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.adm-two{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.adm-h4{margin:28px 0 12px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6B7280}
.adm-tl{list-style:none;margin:0;padding:0 0 0 16px;border-left:2px solid #E6E8EC;display:flex;flex-direction:column;gap:14px}
.adm-tl li{font-size:14px;line-height:21px;position:relative}.adm-tl li::before{content:"";position:absolute;left:-22px;top:6px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #0B0C10}
.adm-tl li span{color:#9AA0AB;font-size:12px;margin-left:6px}.adm-tl p{margin:2px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:#374151}
.adm-mx{overflow-x:auto;border-radius:14px;background:#fff;border:1px solid #E6E8EC}
.adm-mr{display:grid;grid-template-columns:minmax(220px,2.2fr) repeat(5,minmax(96px,1fr));gap:8px;align-items:center;padding:12px 16px;border-bottom:1px solid #EEF0F3;font-size:14px;min-width:760px}
.adm-mr:last-child{border-bottom:0}.adm-mr.h{background:#F7F8FA;font-weight:700}.adm-mr span:not(:first-child){text-align:center}
.adm-ok{font-style:normal;font-weight:700;color:#1E7A45}.adm-no{font-style:normal;color:#C4C8D0}
.adm-pp{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #E6E8EC;flex-wrap:wrap}
.adm-pp.off{opacity:.55}.adm-pp-t{flex:1 1 200px;min-width:0}.adm-pp-t b{display:block;font-size:15px}.adm-pp-t small{font-size:13px;color:#6B7280}
.adm-pp select{height:40px;padding:0 12px;border:1px solid #D9DCE3;border-radius:10px;font:500 14px 'Manrope',system-ui,sans-serif;background:#fff;color:var(--ink)}
.adm-pp .adm-btn{height:40px;padding:0 14px}
.adm-addr{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.adm-addr input{flex:1 1 240px;height:44px;padding:0 14px;border:1px solid #D9DCE3;border-radius:12px;font:500 15px 'Manrope',system-ui,sans-serif;background:#fff;color:var(--ink);min-width:0}.adm-addr select{height:44px;padding:0 12px;border:1px solid #D9DCE3;border-radius:12px;font:500 14px 'Manrope',system-ui,sans-serif;background:#fff;color:var(--ink)}
.adm-lg{border-top:1px solid #E6E8EC}
.adm-lr{display:grid;grid-template-columns:150px 160px minmax(0,1fr);gap:16px;padding:12px 8px;border-bottom:1px solid #E6E8EC;font-size:14px;line-height:21px}.adm-lr .t{color:#9AA0AB}.adm-lr span:last-child{overflow-wrap:anywhere;color:#374151}
@media (max-width:1199px){
  .adm-kpi{grid-template-columns:repeat(3,minmax(0,1fr))}
  .adm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .adm-card.w2{grid-column:1/-1}
}
@media (max-width:767px){
  .adm-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.adm-grid{grid-template-columns:minmax(0,1fr)}
  .adm-two{grid-template-columns:minmax(0,1fr)}
  .adm-lr{grid-template-columns:minmax(0,1fr);gap:2px}
  .adm-board{grid-template-columns:repeat(5,82vw);scroll-snap-type:x mandatory}.adm-lane{scroll-snap-align:start}
  .adm-tr>span:nth-child(5){display:flex}
  .adm-tr{grid-template-areas:"n st" "c c" "t ty" "as as"}.adm-tr>span:nth-child(5){grid-area:as}
}

/* CRM v3: full-screen application shell */
.dt.adm{overflow:hidden}.dt.adm .dt-in{padding:0;max-width:none;margin:0}
html.adm-open .hdr,html.adm-open .mc{display:none!important}
html.adm-open.mc-on,html.adm-open.mc-on *{cursor:auto!important}
html.adm-open.mc-on button,html.adm-open.mc-on a,html.adm-open.mc-on select,html.adm-open.mc-on label,html.adm-open.mc-on [data-lead],html.adm-open.mc-on summary{cursor:pointer!important}
html.adm-open.mc-on input[type=search],html.adm-open.mc-on input[type=text],html.adm-open.mc-on textarea{cursor:text!important}
.adm.adm-app{position:fixed;inset:0;z-index:1900;display:grid;grid-template-columns:264px minmax(0,1fr);padding:0;background:#F4F5F8;color:var(--ink);font-family:'Manrope',system-ui,sans-serif}
.ap-wait{grid-column:1/-1;display:grid;place-items:center;padding:24px;text-align:center;color:#4B5563}
.ap-side{background:#0B0C10;color:#fff;display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:22px 14px 16px}
.ap-brand{display:flex;align-items:baseline;gap:8px;padding:6px 12px 22px;color:#fff}.ap-brand span{font-size:24px;font-weight:700;letter-spacing:-.03em}.ap-brand small{font-size:11px;font-weight:700;letter-spacing:.14em;color:#FF5A14}
.ap-nav{flex:1;display:flex;flex-direction:column;gap:18px}
.ap-g p{margin:0 0 6px;padding:0 12px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.38)}
.ap-n{width:100%;height:42px;display:flex;align-items:center;gap:12px;padding:0 12px;border-radius:10px;color:rgba(255,255,255,.72);font-size:15px;font-weight:600;text-align:left;transition:background .2s,color .2s}
.ap-n:hover{background:rgba(255,255,255,.07);color:#fff}.ap-n[aria-current="true"]{background:#fff;color:#0B0C10}
.ap-ic{width:19px;height:19px;flex:none}
.ap-n span{flex:1;min-width:0}
.ap-n i{font-style:normal;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#FF5A14;color:#0B0C10;font-size:12px;font-weight:700;display:grid;place-items:center}.ap-n i.od{background:#fff;color:#B42318;box-shadow:inset 0 0 0 1.5px #B42318}
.ap-n[aria-current="true"] i.od{background:#FFE9E6}
.ap-foot{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:12px}
.ap-me{display:flex;gap:10px;align-items:center;padding:0 6px;min-width:0}.ap-me>div{min-width:0;display:flex;flex-direction:column;gap:4px}.ap-me b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-me .adm-av{background:#FF5A14;color:#0B0C10}
.ap-foot .adm-role{align-self:flex-start;background:rgba(255,255,255,.12);color:#fff;font-size:11px;padding:3px 10px}
.ap-back{display:block;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:600;color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.16);text-align:center}.ap-back:hover{background:#fff;color:#0B0C10}
.ap-main{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;position:relative}
.ap-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;padding:16px 32px;background:rgba(244,245,248,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #E6E8EC}
.ap-title{margin:0;font-size:24px;line-height:30px;font-weight:700;letter-spacing:-.03em;white-space:nowrap}
.ap-gs{flex:1 1 280px;max-width:460px;margin-left:auto;height:44px;padding:0 16px;border:1px solid #D9DCE3;border-radius:12px;background:#fff;font:500 15px 'Manrope',system-ui,sans-serif;color:var(--ink);min-width:0}
.ap-gs:focus{outline:0;border-color:#FF5A14}
.ap-top .adm-btn{flex:none}
.ap-burger{display:none;width:44px;height:44px;border-radius:12px;background:#fff;border:1px solid #D9DCE3;place-items:center;flex:none}
.ap-scrim{display:none}
.ap-body{padding:28px 32px 80px;max-width:1500px}
.ap-note{margin:0 0 20px;padding:12px 16px;border-radius:12px;background:#FFF1C9;color:#8A5A00;font-size:14px;font-weight:600}
.adm-app .adm-card,.adm-app .adm-kpi div,.adm-app .adm-sg,.adm-app .adm-empty{background:#fff;border:1px solid #E6E8EC}
.adm-app .adm-tbl{background:#fff;border:1px solid #E6E8EC;border-radius:16px;overflow:hidden}
.adm-app .adm-cl{background:#fff;border:1px solid #E6E8EC;border-radius:16px;padding:0 12px}.adm-app .adm-cl .adm-ci:last-child{border-bottom:0}
.adm-app .adm-ci:first-child{padding-top:18px}
.adm-app .adm-lg{background:#fff;border:1px solid #E6E8EC;border-radius:16px;overflow:hidden}.adm-app .adm-lr:last-child{border-bottom:0}
.adm-app .adm-lane{background:#ECEEF2}
.adm-app .adm-seg{background:#E6E8EC}
.adm-app .adm-pn,.adm-app .adm-ed{padding:28px;z-index:60}
.adm-app .adm-pn-h{margin-bottom:20px}
.adm-app .adm-ov{z-index:58}
.adm-kpi{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important}.adm-kpi b{font-size:30px!important}
.adm-grid{align-items:start}.adm-card.w3{grid-column:1/-1}
.adm-app .adm-th,.adm-app .adm-tr{grid-template-columns:136px 108px minmax(0,1.3fr) minmax(0,1.3fr) 110px 100px 130px}
.adm-app .adm-th{padding-left:16px;padding-right:16px;background:#F7F8FA}.adm-app .adm-tr{padding-left:16px;padding-right:16px}.adm-tr .v{font-weight:600}
.adm-app .adm-cth,.adm-app .adm-ctr{grid-template-columns:minmax(0,2fr) 90px 120px 110px 120px}
.adm-ctr{width:100%;text-align:left;background:none;border-radius:0}.adm-co{border-bottom:1px solid #E6E8EC}.adm-co:last-child{border-bottom:0}.adm-co .adm-tr{border-bottom:0}
.adm-cin{padding:4px 16px 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;background:#F7F8FA}
.adm-btn.sm{height:34px;padding:0 12px;font-size:13px}
.adm-lv{margin:0 6px 10px;font-size:13px;font-weight:700;color:#4B5563;min-height:18px}
.adm-val{font-size:14px;color:#0B0C10}
.adm-fn{display:grid;grid-template-columns:90px 1fr 70px;gap:10px;align-items:center;margin-bottom:12px;font-size:13px;color:#4B5563}
.adm-fn i{height:10px;border-radius:5px;background:#E6E8EC;overflow:hidden}.adm-fn b{display:block;height:100%;background:#FF5A14;border-radius:5px;min-width:3px}.adm-fn em{font-style:normal;font-weight:700;text-align:right;color:#0B0C10}.adm-fn small{margin-left:6px;color:#9AA0AB;font-weight:600}
.adm-rr{grid-template-columns:minmax(160px,1.6fr) repeat(5,minmax(80px,1fr))!important;min-width:640px}
.adm-card .adm-mx{border:0}
.tkc{margin-bottom:16px}.tkc h3{display:flex;align-items:center;gap:10px}.tkc h3.od{color:#B42318}.tkc h3 em{font-style:normal;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;background:#ECEEF2;color:#4B5563}
.adm-tk{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #EEF0F3}.adm-tk:last-child{border-bottom:0}.adm-tk-t{flex:1;min-width:0}.adm-tk-t b{display:block;font-size:15px;line-height:21px;overflow-wrap:anywhere}.adm-tk-t small{font-size:13px;color:#6B7280}
.adm-tk.done .adm-tk-t{opacity:.5;text-decoration:line-through}
.adm-ck{width:24px;height:24px;flex:none;border-radius:8px;border:2px solid #C4C8D0;background:#fff;position:relative;transition:background .2s,border-color .2s}.adm-ck:hover{border-color:#0B0C10}
.adm-ck[aria-pressed="true"]{background:#0B0C10;border-color:#0B0C10}.adm-ck[aria-pressed="true"]::after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.adm-ck:disabled{opacity:.5}
.adm-tf{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding:14px;border-radius:16px;background:#fff;border:1px solid #E6E8EC}
.adm-tf input,.adm-tf select{height:44px;padding:0 14px;border:1px solid #D9DCE3;border-radius:12px;font:500 15px 'Manrope',system-ui,sans-serif;background:#fff;color:var(--ink);min-width:0}
.adm-tf input[name=title]{flex:1 1 260px}.adm-tf.in{padding:0;border:0;background:none;margin:12px 0 0}.adm-tf.in input[name=title]{flex:1 1 160px}
@media (max-width:1199px){
  .adm.adm-app{grid-template-columns:220px minmax(0,1fr)}
  .ap-top{padding:14px 20px}.ap-body{padding:22px 20px 72px}
  .adm-app .adm-th,.adm-app .adm-tr{grid-template-columns:110px 96px minmax(0,1.3fr) minmax(0,1.2fr) 90px 80px 120px;gap:12px}
}
@media (max-width:900px){
  .adm.adm-app{grid-template-columns:minmax(0,1fr)}
  .ap-side{position:fixed;left:0;top:0;bottom:0;width:min(300px,84vw);z-index:70;transform:translateX(-100%);transition:transform .4s cubic-bezier(.16,1,.3,1)}
  .adm-app.nav-open .ap-side{transform:none}
  .adm-app.nav-open .ap-scrim{display:block;position:fixed;inset:0;z-index:65;background:rgba(11,12,16,.5)}
  .ap-burger{display:grid}
  .ap-top{flex-wrap:wrap;gap:10px;padding:12px 16px}.ap-title{font-size:20px;flex:1}.ap-gs{order:5;flex:1 1 100%;max-width:none;margin:0}
  .ap-body{padding:18px 16px 64px}
  .adm-app .adm-th{display:none}
  .adm-app .adm-tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n st" "c c" "t ty" "as v";gap:6px 12px;padding:14px 14px}
  .adm-app .adm-tr>span:nth-child(1){grid-area:t}.adm-app .adm-tr>span:nth-child(2){grid-area:ty;justify-self:end}.adm-app .adm-tr>span:nth-child(3){grid-area:n}.adm-app .adm-tr>span:nth-child(4){grid-area:c}.adm-app .adm-tr>span:nth-child(5){grid-area:as;display:flex}.adm-app .adm-tr>span:nth-child(6){grid-area:v;justify-self:end}.adm-app .adm-tr>span:nth-child(7){grid-area:st;justify-self:end}
  .adm-app .adm-ctr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n c" "v w";gap:4px 12px}.adm-app .adm-cth{display:none}
  .adm-app .adm-ctr>span:nth-child(1){grid-area:n}.adm-app .adm-ctr>span:nth-child(2){grid-area:c;justify-self:end}.adm-app .adm-ctr>span:nth-child(3){grid-area:v}.adm-app .adm-ctr>span:nth-child(4){display:none}.adm-app .adm-ctr>span:nth-child(5){grid-area:w;justify-self:end}
  .adm-app .adm-pn,.adm-app .adm-ed{padding:20px 16px 28px;width:100%}
  .adm-kpi{grid-template-columns:repeat(2,minmax(0,1fr))!important}.adm-fn{grid-template-columns:76px 1fr 60px}
  .adm-board{grid-template-columns:repeat(5,82vw)}
  .adm-tk{flex-wrap:wrap}.adm-tf input[name=title]{flex:1 1 100%}
}

/* CRM sign-in gate */
.adm-app.ap-gated{grid-template-columns:minmax(0,1fr);background:#0B0C10}
.ap-gated .ap-wait{color:rgba(255,255,255,.7);flex-direction:column;gap:16px}
.ap-spin{width:28px;height:28px;border-radius:50%;border:3px solid rgba(255,255,255,.2);border-top-color:#FF5A14;animation:apspin .8s linear infinite;margin:0 auto 14px}
@keyframes apspin{to{transform:rotate(360deg)}}
.ap-auth{grid-column:1/-1;display:grid;place-items:center;padding:24px;overflow-y:auto}
.ap-ac{width:min(520px,100%);background:#fff;border-radius:24px;padding:40px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.ap-ac .ap-brand{padding:0 0 24px}.ap-brand.dark{color:#0B0C10}
.ap-ac h2{margin:0;font-size:30px;line-height:36px;font-weight:700;letter-spacing:-.03em}
.ap-ac>p{margin:12px 0 22px;font-size:16px;line-height:26px;color:#4B5563}
.ap-ac .adm-acts{margin-top:20px}
.ap-id{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 16px;padding:12px 14px;border-radius:12px;background:#F3F4F7;font-size:13px}.ap-id span{color:#6B7280;font-weight:600}.ap-id code{font:600 13px/1.2 ui-monospace,Consolas,monospace;overflow-wrap:anywhere;flex:1 1 140px}
.ap-st{margin:0 0 16px;padding:12px 14px;border-radius:12px;font-size:14px;line-height:22px;font-weight:600}.ap-st.wait{background:#FFF1C9;color:#8A5A00}.ap-st.ok{background:#D8F3E2;color:#1E7A45}.ap-st.no{background:#FDE7E4;color:#B42318}
@media (max-width:640px){.ap-ac{padding:28px 20px;border-radius:20px}.ap-ac h2{font-size:25px;line-height:31px}}
.ap-modes{margin:0 0 18px;width:100%}.ap-modes button{flex:1 1 auto;height:36px;padding:0 10px;font-size:13px}
.ap-form{display:flex;flex-direction:column;gap:2px}.ap-form .adm-btn{margin-top:8px;height:48px}
.ap-form .ap-st{margin:6px 0 0}

/* CRM: user menu, settings */
.ap-foot{position:relative}
.ap-me{width:100%;text-align:left;padding:8px;border-radius:12px;transition:background .2s}.ap-me:hover{background:rgba(255,255,255,.07)}
.ap-me>div{flex:1}.ap-chev{flex:none;opacity:.6;transition:transform .25s}.adm-app.menu-open .ap-chev{transform:rotate(180deg)}
.ap-menu{display:none;position:absolute;left:0;right:0;bottom:calc(100% + 8px);flex-direction:column;padding:6px;border-radius:14px;background:#1A1C22;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 40px rgba(0,0,0,.4);z-index:5}
.adm-app.menu-open .ap-menu{display:flex}
.ap-menu button,.ap-menu a{display:block;width:100%;text-align:left;padding:11px 12px;border-radius:9px;font-size:14px;font-weight:600;color:rgba(255,255,255,.82)}
.ap-menu button:hover,.ap-menu a:hover{background:#fff;color:#0B0C10}
.adm-set{display:flex;flex-direction:column;gap:16px;max-width:760px}
.adm-chl{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}
.adm-chr{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.adm-chr input:not([type=checkbox]){flex:1 1 240px;height:44px;padding:0 14px;border:1px solid #D9DCE3;border-radius:12px;font:500 15px 'Manrope',system-ui,sans-serif;background:#fff;color:var(--ink);min-width:0}
.adm-chr input:disabled{background:#F3F4F7}
.adm-tr small{display:block}
.adm-bar .adm-btn.sm{height:44px}
