/* Layout: ICOMAT-style alternating light/black bands, technical corner-dot frames, mono chips, full-bleed hero, extended wordmark. Committed single look (light paper + black bands). */
:root{
  color-scheme:light;
  --paper:#F2F2F1; --white:#FFFFFF; --ink:#0B0B0C; --grey:#6E6E6E; --line:#D9D9D7;
  --black:#0B0B0C; --on-black:#F2F2F1; --dim:#7C7C7C; --bline:#262626; --slate:#1C2430;
  --accent:#3EA094; --steel:#7FA9BC; --petrol:#123444;
  --deep:#0B0B0C; --on-deep:#F2F2F1; --deep-muted:#8A8A8A; --deep-line:#2A2A2A; --on-accent:#06110F; --soft:#F2F2F1; --muted:#6E6E6E; --bg:#F2F2F1;
  --f:"Geist","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"Geist Mono",ui-monospace,Menlo,Consolas,monospace;
  --wide:"Michroma","Arial Black",Arial,sans-serif;
  --max:1360px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
[hidden]{display:none!important}
img{max-width:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:500 17px/1.45 var(--f);-webkit-font-smoothing:antialiased;letter-spacing:-.01em}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:80;background:var(--paper)}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
@media (min-width:800px){.wrap{padding-left:max(40px,env(safe-area-inset-left,0px));padding-right:max(40px,env(safe-area-inset-right,0px))}}
h1,h2,h3{margin:0;font-weight:500;letter-spacing:-.035em;text-wrap:balance}
h1{font-size:clamp(40px,6.4vw,96px);line-height:1}
h2{font-size:clamp(34px,4.8vw,72px);line-height:1}
h3{font-size:clamp(20px,1.9vw,26px);line-height:1.15;letter-spacing:-.025em}
p{margin:0;max-width:62ch}
.mono{font:500 12px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.06em}
.label{font-size:clamp(17px,1.5vw,20px);font-weight:500;letter-spacing:-.02em}
.grey{color:var(--grey)}
section{padding-block:clamp(80px,11vw,160px)}
.dark{background:var(--black);color:var(--on-black)}
.dark .grey{color:var(--dim)}
.head{display:grid;gap:22px;margin-bottom:clamp(40px,5vw,72px);max-width:900px}
.head.split{max-width:none;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:end;gap:40px}
@media (max-width:900px){.head.split{grid-template-columns:1fr;gap:20px}}
.lead{font-size:clamp(17px,1.5vw,20px);line-height:1.4;font-weight:500}
.link{display:inline-flex;gap:6px;align-items:center;font-weight:500;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}

/* corner-dot technical frame */
.frame{position:relative;border:1px solid var(--line);
  background:
   linear-gradient(currentColor,currentColor) 6px 6px/3px 3px no-repeat,
   linear-gradient(currentColor,currentColor) calc(100% - 6px) 6px/3px 3px no-repeat,
   linear-gradient(currentColor,currentColor) 6px calc(100% - 6px)/3px 3px no-repeat,
   linear-gradient(currentColor,currentColor) calc(100% - 6px) calc(100% - 6px)/3px 3px no-repeat;
  color:#9A9A9A}
.frame > *{color:var(--ink)}
.dark .frame{border-color:var(--bline);color:#5A5A5A}
.dark .frame > *{color:var(--on-black)}

/* chip */
.chip{display:inline-flex;align-items:center;gap:14px;padding:13px 14px 13px 16px;border-radius:6px;border:0;background:rgba(38,38,38,.86);color:#E8E8E8;font:500 12.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .25s}
.chip:hover{background:rgba(70,70,70,.92)}
.chip .plus{width:20px;height:20px;border-radius:50%;border:1.2px solid currentColor;display:grid;place-items:center;font:400 15px/1 var(--f);transition:transform .25s}
.chip:hover .plus{transform:rotate(90deg)}
.btn{display:inline-flex;align-items:center;gap:12px;height:48px;padding:0 18px;border-radius:6px;font:500 13px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;text-decoration:none;border:0;cursor:pointer;background:var(--ink);color:var(--paper);transition:background .25s,color .25s}
.btn:hover{background:var(--accent);color:var(--ink)}
.btn.light{background:#E4E4E2;color:var(--ink)}
.btn.light:hover{background:var(--ink);color:var(--paper)}
.dark .btn{background:var(--on-black);color:var(--black)}
.dark .btn:hover{background:var(--accent)}
.sq{width:50px;height:42px;border-radius:6px;border:0;background:#E2E2E0;display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:background .25s}
.sq:hover{background:#D2D2D0}
.burger{width:18px;height:8px;background:repeating-linear-gradient(180deg,currentColor 0 1px,transparent 1px 3.5px)}

/* header */
.top{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:70;transition:background .3s}
.top.solid{background:rgba(242,242,241,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:84px;max-width:none}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.logo svg{width:30px;height:30px}
.logo b{font:400 21px/1 var(--wide);letter-spacing:.02em}
.logo small{font:500 10px/1 var(--mono);letter-spacing:.14em;color:var(--grey);margin-top:6px;display:block}
.top-r{display:flex;align-items:center;gap:16px}
.top-r .mono{color:var(--ink)}
.lang-s{display:flex;gap:10px}
.lang-s a{text-decoration:none;color:var(--grey)}
.lang-s a[aria-current="page"]{color:var(--ink)}
@media (max-width:520px){.lang-s{display:none}.logo small{display:none}}

/* overlay menu */
.ov{position:fixed;inset:0;z-index:90;background:#0B0B0C;color:var(--on-black);padding:calc(env(safe-area-inset-top,0px) + 20px) max(20px,env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 24px) max(20px,env(safe-area-inset-left,0px));display:grid;grid-template-rows:auto 1fr auto;gap:clamp(20px,4vh,44px);opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s;overflow-y:auto}
@media (min-width:800px){.ov{padding-left:max(40px,env(safe-area-inset-left,0px));padding-right:max(40px,env(safe-area-inset-right,0px))}}
.ov.open{opacity:1;visibility:visible}
.ov-top{display:flex;justify-content:space-between;align-items:center;width:100%;height:44px}
.ov-top .logo{color:var(--on-black)}
.ov-top .logo small{color:#6E6E6E}
.ov-close{display:flex;align-items:center;gap:14px;background:none;border:0;color:var(--on-black);cursor:pointer;padding:0}
.ov-close .sq{background:rgba(255,255,255,.08);color:var(--on-black)}
.ov-close:hover .sq{background:rgba(255,255,255,.16)}
.ov-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(32px,6vw,96px);max-width:var(--max);width:100%;margin:0 auto;align-items:center}
.ov-group{font:500 11.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#4A4A4A;margin:0 0 10px}
.ov-group.sub{margin-top:clamp(18px,3vh,30px)}
.ov ul{list-style:none;margin:0;padding:0;display:grid}
.ov li a{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:clamp(8px,1.4vh,14px) 0;border-bottom:1px solid #1F1F1F;text-decoration:none;font:500 clamp(24px,2.9vw,40px)/1.1 var(--f);letter-spacing:-.035em;color:#6E6E6E;transition:color .25s,padding .3s}
.ov ul.big li:first-child a{border-top:1px solid #1F1F1F}
.ov ul.small{display:flex;flex-wrap:wrap;gap:8px 26px}
.ov ul.small li a{display:inline-flex;border:0;padding:6px 0;font:500 13px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#8A8A8A}
.ov ul.small li a:hover,.ov ul.small li a:focus-visible{color:#F2F2F1;padding-left:0}
.ov li a .n{font:500 12px/1 var(--mono);letter-spacing:.06em;color:#4A4A4A;transition:color .25s}
.ov li a .go{font:400 clamp(18px,1.8vw,24px)/1 var(--f);color:var(--accent);opacity:0;transform:translateX(-10px);transition:opacity .25s,transform .25s}
.ov ul.big li a:hover,.ov ul.big li a:focus-visible,.ov ul.big li a.on,.ov ul.big li a[aria-current="page"]{color:#F2F2F1;padding-left:6px}
.ov li a:hover .n,.ov li a.on .n,.ov li a[aria-current="page"] .n{color:var(--accent)}
.ov li a:hover .go,.ov li a:focus-visible .go,.ov li a.on .go{opacity:1;transform:none}
.ov.open ul.big li a{animation:rowin .5s both;animation-delay:calc(var(--i,0) * 40ms + 80ms)}
@keyframes rowin{from{opacity:0;transform:translateY(12px)}}
.ov-prev{margin:0;position:relative;width:100%;aspect-ratio:4/5;max-height:70vh;border-radius:12px;overflow:hidden;background:#151515}
.ov-prev img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .35s,transform 1.2s cubic-bezier(.2,.8,.2,1);transform:scale(1.04)}
.ov-prev img.in{transform:none}
.ov-prev::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,11,12,.75),rgba(11,11,12,0) 45%)}
.ov-prev figcaption{position:absolute;left:20px;right:20px;bottom:18px;z-index:1;display:grid;gap:8px;color:#F2F2F1}
.ov-prev figcaption b{font:500 clamp(18px,1.6vw,22px)/1.2 var(--f);letter-spacing:-.02em;text-transform:none}
.ov-prev figcaption span{color:#B5B5B5;text-transform:none;letter-spacing:0;font:450 14px/1.45 var(--f)}
.ov-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;max-width:var(--max);width:100%;margin:0 auto;color:#8A8A8A}
.ov-foot a{text-decoration:none}
.ov-foot .lang-o{display:flex;gap:14px}
.ov-foot .lang-o a{color:#6E6E6E}
.ov-foot a[aria-current="page"]{color:var(--on-black)}
.ov-foot .btn{background:var(--on-black);color:var(--black)}
.ov-foot .btn:hover{background:var(--accent)}
@media (max-width:900px){.ov-body{grid-template-columns:1fr;align-items:start}.ov-prev{display:none}}
@media (max-width:520px){.ov li a{grid-template-columns:36px minmax(0,1fr) auto}.ov-foot{flex-direction:column;align-items:flex-start}}

/* hero */
.hero{position:relative;height:clamp(600px,92vh,980px);background:#E9EAEA;overflow:hidden;padding:0}
#hero-field{position:absolute;inset:0;width:100%;height:100%}
.hero .wrap{position:relative;height:100%;max-width:none;display:grid;align-content:space-between;padding-top:calc(84px + env(safe-area-inset-top,0px) + clamp(48px,9vh,110px));padding-bottom:24px}
.hero h1{max-width:13ch}
.hero-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.hero-foot p{max-width:36ch;font-size:17px}
.hero-foot .r{display:flex;gap:10px;align-items:center}
.hero-fig{position:absolute;right:max(20px,env(safe-area-inset-right,0px));top:calc(84px + env(safe-area-inset-top,0px) + 20px);color:var(--grey);text-align:right;max-width:240px}
@media (max-width:760px){.hero-fig{display:none}.hero-foot{flex-direction:column;align-items:flex-start}.hero-foot .r{width:100%;justify-content:space-between}}

/* marquee */
.marq{border-bottom:1px solid var(--line);overflow:hidden;background:var(--paper)}
.marq-track{display:flex;gap:48px;padding:18px 0;width:max-content;animation:tick 50s linear infinite}
.marq span{white-space:nowrap;color:var(--grey)}
.marq b{color:var(--ink);font-weight:500}
@keyframes tick{to{transform:translateX(-50%)}}

/* intro */
.intro{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.intro-txt{display:grid;gap:28px;position:sticky;top:120px}
.intro-txt p{font-size:clamp(19px,1.8vw,24px);line-height:1.3;letter-spacing:-.02em}
.intro .frame{aspect-ratio:1/1.05;display:grid;place-items:center;padding:28px;max-width:100%}
.intro .frame .mono{position:absolute;top:28px;left:28px;color:var(--grey);max-width:24ch}
.intro .frame svg{width:82%;height:auto}
.intro .frame .chip{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%)}
@media (max-width:900px){.intro{grid-template-columns:1fr}.intro-txt{position:static}}

/* stage */
.stage{position:relative;aspect-ratio:16/9;max-width:100%;overflow:hidden;
  background:
   linear-gradient(var(--bline),var(--bline)) 50% 0/1px 100% no-repeat,
   var(--black)}
#stage-field{position:absolute;inset:0;width:100%;height:100%}
.stage .chip{position:absolute;z-index:2}
.stage .c0{left:4%;top:8%}.stage .c1{left:56%;top:22%}.stage .c2{left:10%;top:52%}.stage .c3{left:62%;top:62%}.stage .c4{left:30%;top:80%}
.stage-cap{display:flex;justify-content:space-between;gap:12px;margin-top:14px;color:var(--dim)}
@media (max-width:760px){.stage{aspect-ratio:3/4}.stage .c0{left:5%;top:6%}.stage .c1{left:38%;top:24%}.stage .c2{left:6%;top:46%}.stage .c3{left:30%;top:66%}.stage .c4{left:8%;top:84%}}

/* modal */
dialog.card{border:0;padding:0;border-radius:12px;width:min(560px,calc(100% - 32px));max-height:calc(100% - 48px);background:#F4F4F3;color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.35)}
dialog.card::backdrop{background:rgba(10,10,10,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
dialog.card[open]{animation:pop .35s cubic-bezier(.2,.8,.2,1)}
@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.98)}}
.card-in{padding:24px;display:grid;gap:22px}
.card-h{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.card-h h3{font-size:clamp(28px,4vw,38px);letter-spacing:-.04em}
.x{width:38px;height:38px;border-radius:4px;border:0;background:#D9D9D7;display:grid;place-items:center;cursor:pointer;flex:0 0 auto}
.x span{width:22px;height:22px;border-radius:50%;border:1.2px solid var(--ink);display:grid;place-items:center;font:400 13px/1 var(--f)}
.card-in .lead{font-weight:600}
.card-in p.grey{font-size:16.5px}
.card-media{border-radius:8px;overflow:hidden;background:var(--black);color:var(--on-black);position:relative;min-height:220px;display:grid;place-items:center;padding:22px}
.card-media svg{width:100%;height:auto}

/* reveal statement */
.reveal{font-size:clamp(32px,4.6vw,68px);line-height:1.04;letter-spacing:-.04em;font-weight:500;max-width:22ch}
.reveal .w{color:#3A3A3A;transition:color .3s}
.reveal .w.lit{color:var(--on-black)}
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:clamp(48px,6vw,90px)}
.duo figure{margin:0;display:grid;gap:12px}
.duo .m{border-radius:10px;overflow:hidden;background:#E9EAEA;color:var(--ink);aspect-ratio:4/3;position:relative}
.duo .m svg{position:absolute;inset:0;width:100%;height:100%}
.duo figcaption{color:var(--dim)}
@media (max-width:760px){.duo{grid-template-columns:1fr}}

/* advantage */
.adv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:end}
.adv-pts{display:grid;gap:0}
.adv-pts > div{padding:22px 0;border-top:1px solid var(--bline);display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px}
.adv-pts .n{color:var(--dim)}
.adv-pts p{color:var(--dim);margin-top:6px;font-size:16px}
@media (max-width:900px){.adv{grid-template-columns:1fr}}

/* timeline */
.tl-wrap{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-right:calc(-1 * max(20px,env(safe-area-inset-right,0px)))}
.tl-wrap::-webkit-scrollbar{display:none}
.tl{list-style:none;margin:0;padding:0 max(20px,env(safe-area-inset-right,0px)) 0 0;display:grid;grid-auto-flow:column;grid-auto-columns:clamp(280px,30vw,420px);gap:20px}
.tl li{scroll-snap-align:start;display:grid;gap:16px;align-content:start}
.tl .num{font:300 clamp(40px,4vw,56px)/1 var(--f);color:transparent;-webkit-text-stroke:1px #4A4A4A;letter-spacing:-.04em}
.tl .dots{display:flex;align-items:center;gap:8px;color:#4A4A4A}
.tl .dots::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.tl .dots::after{content:"";flex:1;border-top:1px dotted currentColor}
.tl .img{border-radius:8px;overflow:hidden;aspect-ratio:4/3;background:#151515;color:var(--on-black);position:relative;display:grid;place-items:center;padding:20px}
.tl .img svg{width:100%;height:auto;max-height:100%}
.tl .img > div{transform:scale(.86)}
.tl h3{font:500 12.5px/1.35 var(--mono);text-transform:uppercase;letter-spacing:.06em}
.tl p{color:var(--dim);font-size:15px}
.tl-nav{display:flex;gap:8px;margin-top:28px}
.tl-nav button{width:46px;height:40px;border-radius:6px;border:0;background:#1E1E1E;color:var(--on-black);cursor:pointer;font:400 18px/1 var(--f)}
.tl-nav button:hover{background:#2E2E2E}

/* trust */
.trust{background:linear-gradient(180deg,var(--black) 0%,var(--petrol) 52%,var(--steel) 100%);color:var(--on-black)}
.trust .bar-rule{height:1px;background:rgba(255,255,255,.25);margin:28px 0 34px;position:relative}
.trust .bar-rule::before{content:"";position:absolute;left:0;top:-1px;height:3px;width:28%;background:rgba(255,255,255,.6)}
.logos{list-style:none;margin:0;padding:0;display:grid;gap:10px;max-width:760px}
.logos li{border-radius:8px;background:rgba(255,255,255,.07);padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:background .3s,color .3s}
.logos li b{font:800 clamp(16px,1.6vw,20px)/1 var(--f);letter-spacing:.02em;text-transform:uppercase}
.logos li span{color:rgba(255,255,255,.55)}
.logos li:hover{background:linear-gradient(180deg,#FFFFFF,#DCE6EA);color:var(--ink)}
.logos li:hover span{color:var(--grey)}

/* model + way */
.model{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px);border-top:1px solid var(--bline);padding-top:32px}
.model div{display:grid;gap:10px;align-content:start}
.model p{color:var(--dim);font-size:16px}
@media (max-width:900px){.model{grid-template-columns:1fr}}
.way{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);margin-top:clamp(64px,8vw,120px);align-items:start}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px;border-radius:8px;background:#1A1A1A;margin-bottom:24px}
.tabs button{height:44px;border-radius:5px;border:0;background:transparent;color:var(--dim);font:500 12.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;text-align:left;padding:0 14px}
.tabs button[aria-selected="true"]{background:var(--on-black);color:var(--ink)}
.way ul{list-style:none;margin:0;padding:0;display:grid}
.way li{font-size:clamp(19px,1.8vw,24px);letter-spacing:-.02em;padding:16px 0 18px;position:relative}
.way li::after{content:"";position:absolute;left:0;bottom:0;width:72px;height:1px;background:#3A3A3A}
.way .them li{color:var(--dim)}
.way h2{align-self:end}
@media (max-width:900px){.way{grid-template-columns:1fr}}

/* light content blocks */
.cards2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.box{background:var(--white);padding:30px;display:grid;gap:16px;align-content:start;min-width:0}
.box .mono{color:var(--grey);display:flex;justify-content:space-between;gap:12px}
.box .mono b{color:var(--ink);font-weight:500}
.box p{color:var(--grey);font-size:16px;font-weight:450}
.box ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.box li{position:relative;padding-left:17px;font-size:15.5px;color:#3E3E3E;font-weight:450;line-height:1.45}
.box li::before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;background:var(--ink)}
code{font-family:var(--mono);font-size:.84em}
@media (max-width:1000px){.cards3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.cards2,.cards3{grid-template-columns:1fr}}
.codes-wrap{overflow-x:auto;margin-top:12px;background:var(--white)}
.codes{width:100%;border-collapse:collapse;min-width:660px}
.codes th,.codes td{text-align:left;padding:18px 24px;border-bottom:1px solid var(--line);vertical-align:top}
.codes th{font:500 12px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--grey)}
.codes tr:last-child td{border-bottom:0}
.codes td{font-size:15.5px;color:var(--grey);font-weight:450}
.codes td:first-child{color:var(--ink);font-weight:500}
.codes code{white-space:nowrap;color:var(--ink)}
.loads{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.loads li{background:var(--paper);padding:24px 20px;display:grid;gap:10px;align-content:start;min-width:0}
.loads code{font-size:11.5px;color:var(--grey);text-transform:uppercase;letter-spacing:.04em}
.loads h3{font-size:18px}
.loads p{font-size:14.5px;color:var(--grey);font-weight:450;line-height:1.45}
@media (max-width:1100px){.loads{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.loads{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.loads{grid-template-columns:1fr}}
.proto{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:12px}
.ptrack{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;counter-reset:p}
.ptrack li{counter-increment:p;padding:24px 20px;display:grid;gap:8px;align-content:start}
.ptrack li::before{content:counter(p,decimal-leading-zero);font:500 12px/1 var(--mono);color:var(--grey)}
.ptrack h3{font-size:19px}
.ptrack p{font-size:14.5px;color:var(--grey);font-weight:450}
.m2c{background:var(--black);color:var(--on-black);border-radius:10px;padding:30px;display:grid;gap:18px;align-content:space-between;min-height:320px}
.m2c p{color:var(--dim);font-size:16px}
.m2c svg{width:100%;height:auto}
@media (max-width:1000px){.proto{grid-template-columns:1fr}}
@media (max-width:640px){.ptrack{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:400px){.ptrack{grid-template-columns:1fr}}
.sectors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sectors a{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:3/4;background:linear-gradient(180deg,#1A2027,#0B0B0C);color:var(--on-black);display:grid;align-content:space-between;padding:22px;text-decoration:none;min-width:0}
.sectors a svg{position:absolute;inset:18% 12% auto;width:76%;opacity:.8}
.sectors .mono{color:#A9B1B9;position:relative}
.sectors h3{position:relative}
.sectors p{position:relative;font-size:14.5px;color:#A9B1B9;font-weight:450;margin-top:8px}
@media (max-width:1000px){.sectors{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.sectors{grid-template-columns:1fr}.sectors a{aspect-ratio:4/3}}
.train{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.train-intro{display:grid;gap:24px;position:sticky;top:120px}
.levels{display:grid;gap:12px}
.level{background:var(--white);padding:28px;display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px}
.level .lv{font:400 26px/1 var(--wide);color:var(--ink)}
.level > div{display:grid;gap:8px;min-width:0}
.level p{color:var(--grey);font-size:15.5px;font-weight:450}
.level .mono{color:var(--grey)}
@media (max-width:900px){.train{grid-template-columns:1fr}.train-intro{position:static}}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:24px;font:500 clamp(18px,1.8vw,23px)/1.3 var(--f);letter-spacing:-.025em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:0 0 22px;height:22px;border-radius:50%;border:1.2px solid currentColor;display:grid;place-items:center;font:400 15px/1 var(--f);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 26px;color:var(--grey);font-weight:450}


/* marine */
.marine{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:12px;align-items:stretch}
.marine-fig{background:var(--black);color:var(--on-black);border-radius:10px;padding:28px;display:grid;gap:16px;align-content:space-between;min-height:420px}
.marine-fig svg{width:100%;height:auto;max-height:520px}
.marine-fig .mono{color:var(--dim)}
.parts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.parts li{padding:22px 20px;display:grid;gap:8px;align-content:start}
.parts code{font-size:11.5px;color:var(--grey);text-transform:uppercase;letter-spacing:.04em}
.parts h3{font-size:19px}
.parts p{font-size:14.5px;color:var(--grey);font-weight:450;line-height:1.45}
@media (max-width:1000px){.marine{grid-template-columns:1fr}.marine-fig{min-height:0}}
@media (max-width:520px){.parts{grid-template-columns:1fr}}

/* photos */
.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hero .ph{filter:grayscale(1) contrast(1.05)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(242,242,241,.88) 0%,rgba(242,242,241,.55) 32%,rgba(242,242,241,0) 58%),linear-gradient(0deg,rgba(242,242,241,.8) 0%,rgba(242,242,241,0) 26%);pointer-events:none}
@media (max-width:760px){.hero::after{background:linear-gradient(180deg,rgba(242,242,241,.85) 0%,rgba(242,242,241,.2) 38%,rgba(242,242,241,.2) 55%,rgba(242,242,241,.92) 82%)}}
.hero .wrap{z-index:1}
.stage .ph{opacity:.55}
.stage::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(11,11,12,.1),rgba(11,11,12,.75));pointer-events:none}
.stage .chip{z-index:3}
.duo .m img,.tl .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tl .img{padding:0}
.sectors a{background:#111}
.sectors a .ph{opacity:.62;transition:opacity .4s,transform .6s}
.sectors a:hover .ph{opacity:.8;transform:scale(1.03)}
.sectors a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,12,.55) 0%,rgba(11,11,12,0) 35%,rgba(11,11,12,.85) 100%)}
.sectors a > *{z-index:1}
.sectors{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1100px){.sectors{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.sectors{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:440px){.sectors{grid-template-columns:1fr}}
.auto-fig{position:relative;overflow:hidden;padding:0}
.auto-fig .ph{opacity:.9}
.auto-fig figcaption{position:absolute;left:24px;bottom:22px;z-index:1;color:#F2F2F1}
.auto-fig::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,11,12,.75),rgba(11,11,12,0) 45%)}

/* fans */
.apps-h{margin:clamp(40px,5vw,64px) 0 20px;font-size:clamp(22px,2.2vw,30px)}
.apps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.apps li{background:var(--black);color:var(--on-black);border-radius:10px;padding:22px 20px;display:grid;gap:10px;align-content:start;min-width:0}
.apps code{font-size:11.5px;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}
.apps h3{font-size:18px}
.apps p{font-size:14.5px;color:var(--dim);font-weight:450;line-height:1.45}
@media (max-width:1100px){.apps{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.apps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:440px){.apps{grid-template-columns:1fr}}

/* automation */
.partners{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.partners li{background:var(--black);color:var(--on-black);border-radius:10px;padding:26px 24px;display:grid;gap:10px;align-content:start;min-width:0}
.partners code{font-size:11.5px;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}
.partners h3{font-size:clamp(20px,2vw,26px)}
.partners p{font-size:15px;color:var(--dim);font-weight:450;line-height:1.5}
@media (max-width:700px){.partners{grid-template-columns:1fr}}
/* contact + footer */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px)}
.contact-grid > div{display:grid;gap:26px;align-content:start;min-width:0}
.mail{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.mail strong{font:500 clamp(20px,2.4vw,30px)/1.1 var(--f);letter-spacing:-.03em;user-select:all;word-break:break-all}
form{position:relative;display:grid;gap:12px;background:#151515;border-radius:10px;padding:26px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.row{grid-template-columns:1fr}}
label.f{display:grid;gap:8px;font:500 11.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--dim)}
input,select,textarea{font:500 16px/1.4 var(--f);color:var(--on-black);background:#0B0B0C;border:1px solid #2A2A2A;border-radius:6px;padding:14px;width:100%;color-scheme:dark}
textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}
form .btn{justify-self:start}
.sent{font:500 12.5px/1.4 var(--mono);color:var(--accent)}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
footer{position:relative;background:var(--black);color:var(--on-black);overflow:hidden;padding-block:clamp(64px,8vw,110px) 28px;border-top:1px solid var(--bline)}
#foot-field{position:absolute;inset:0;width:100%;height:100%;opacity:.5}
footer .wrap{position:relative;display:grid;gap:clamp(40px,6vw,80px)}
.foot-word{font:400 clamp(54px,14vw,220px)/.9 var(--wide);letter-spacing:-.02em;text-align:right;white-space:nowrap;color:#D5D7DA}
.foot-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 22px;list-style:none;margin:0;padding:0}
.foot-nav a{text-decoration:none}
.foot-nav a:hover{color:var(--accent)}
.foot-low{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end}
.foot-low .tag{font-size:clamp(22px,2.4vw,30px);line-height:1.05;letter-spacing:-.03em}
.foot-low .mono{color:var(--dim)}
.foot-meta{display:grid;gap:8px;justify-items:end;text-align:right}
@media (max-width:700px){.foot-word{text-align:left}.foot-nav{justify-content:flex-start}.foot-low{grid-template-columns:1fr}.foot-meta{justify-items:start;text-align:left}}

/* category pages */
.phero{padding-top:calc(84px + env(safe-area-inset-top,0px) + clamp(36px,6vh,72px));padding-bottom:clamp(56px,8vw,110px)}
.phero .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,80px);align-items:end}
.phero-txt{display:grid;gap:24px;min-width:0}
.phero h1{font-size:clamp(38px,5.2vw,80px);line-height:1;letter-spacing:-.05em}
.phero .lead{color:var(--grey);max-width:46ch}
.phero-img{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:4/3;background:#DADAD8;max-width:100%}
.phero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phero-img .chip{position:absolute;left:16px;bottom:16px}
.crumb{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:var(--grey)}
.crumb a{text-decoration:none;color:var(--grey)}
.crumb a:hover{color:var(--ink)}
.crumb b{color:var(--ink);font-weight:500}
.phero-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
@media (max-width:900px){.phero .wrap{grid-template-columns:1fr}}
.cards1{display:grid;gap:12px}
/* category cards */
.cats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.cat{position:relative;grid-column:span 2;min-height:360px;border-radius:10px;overflow:hidden;background:#111;color:#F2F2F1;text-decoration:none;display:grid;align-content:space-between;padding:24px;min-width:0}
.cats .cat:nth-child(1),.cats .cat:nth-child(2){grid-column:span 3;min-height:440px}
.cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72;transition:opacity .4s,transform .8s cubic-bezier(.2,.8,.2,1)}
.cat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,12,.55) 0%,rgba(11,11,12,0) 32%,rgba(11,11,12,.88) 100%)}
.cat > *{position:relative;z-index:1}
.cat:hover img{opacity:.85;transform:scale(1.03)}
.cat .top{display:flex;justify-content:space-between;gap:12px;color:#C9CDD2}
.cat h3{font-size:clamp(24px,2.4vw,34px);letter-spacing:-.035em}
.cat p{color:#C9CDD2;font-size:15.5px;font-weight:450;line-height:1.45;margin-top:10px;max-width:44ch}
.cat .more{display:inline-flex;gap:8px;margin-top:16px;font:500 12.5px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#F2F2F1}
.cat .more i{font-style:normal;color:var(--accent);transition:transform .25s}
.cat:hover .more i{transform:translateX(4px)}
.cats.mini{grid-template-columns:repeat(4,minmax(0,1fr))}
.cats.mini .cat,.cats.mini .cat:nth-child(1),.cats.mini .cat:nth-child(2){grid-column:span 1;min-height:280px}
.cats.mini .cat h3{font-size:clamp(20px,1.8vw,24px)}
.cats.mini .cat p{display:none}
@media (max-width:1000px){.cats{grid-template-columns:repeat(2,minmax(0,1fr))}.cat,.cats .cat:nth-child(1),.cats .cat:nth-child(2){grid-column:span 1;min-height:340px}.cats .cat:nth-child(5){grid-column:1/-1}.cats.mini{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cats,.cats.mini{grid-template-columns:1fr}.cat,.cats .cat:nth-child(1),.cats .cat:nth-child(2),.cats .cat:nth-child(5){grid-column:auto;min-height:300px}.cats.mini .cat{min-height:200px}}
