body{margin:0;background:#0A0A0A;-webkit-font-smoothing:antialiased}
a{color:#2BD98B}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,label.burger:focus-visible{outline:3px solid #2BD98B;outline-offset:3px}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mq{display:flex;width:max-content;animation:mq 30s linear infinite;will-change:transform}
.hdr{position:sticky;top:0;z-index:50;background:#0A0A0A;border-bottom:1px solid rgba(255,255,255,.08)}
.hdr-in{max-width:1328px;margin:0 auto;height:76px;box-sizing:border-box;padding:0 clamp(16px,4vw,56px);display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:block;line-height:0}.brand img{width:140px;height:auto;display:block}
.nav{display:flex;align-items:center;gap:36px}
.nl{position:relative;color:#D4D4D4;text-decoration:none;font-family:'Mona Sans',system-ui,sans-serif;font-size:14px;font-weight:600;letter-spacing:.02em;padding:10px 0;transition:color .2s}
.nl::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;border-radius:2px;background:#2BD98B;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.nl:hover,.nl[aria-current=page]{color:#FFFFFF}.nl:hover::after,.nl[aria-current=page]::after{transform:scaleX(1)}
.navt{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.burger{display:none;width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.16);flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;box-sizing:border-box}
.burger span{display:block;width:18px;height:2px;border-radius:2px;background:#FFFFFF;transition:transform .25s,opacity .2s}
.navt:checked ~ .hdr-in .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.navt:checked ~ .hdr-in .burger span:nth-child(2){opacity:0}
.navt:checked ~ .hdr-in .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.navt:focus-visible ~ .hdr-in .burger{outline:3px solid #2BD98B;outline-offset:3px}
.mnav{display:none;position:fixed;top:77px;left:0;right:0;bottom:0;background:#0A0A0A;flex-direction:column;padding:16px clamp(16px,4vw,56px) 32px;overflow-y:auto;box-sizing:border-box}
.mnav > a{font-family:Montserrat,sans-serif;font-weight:900;font-size:34px;letter-spacing:-.01em;text-transform:uppercase;color:#FFFFFF;text-decoration:none;padding:18px 0;border-bottom:1px solid #1F1F1F}
.mnav > a[aria-current=page]{color:#2BD98B}
.mnav-foot{margin-top:auto;padding-top:32px;display:flex;flex-direction:column;gap:20px}
.mnav-foot .btn{width:100%}
.mnav-foot p{margin:0;font-family:'Mona Sans',system-ui,sans-serif;font-size:14px;line-height:1.7;color:#A3A3A3}
.mtel{color:#FFFFFF;text-decoration:none}
@media (max-width:880px){.nav{display:none}.burger{display:flex}.navt:checked ~ .mnav{display:flex}}
.btn{min-width:210px;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 28px;box-sizing:border-box;border-radius:999px;border:1.5px solid transparent;font-family:'Mona Sans',system-ui,sans-serif;font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,transform .2s}
.btn svg{width:18px;height:18px;transition:transform .2s}.btn:hover svg{transform:translateX(3px)}
.btn:active{transform:translateY(1px)}
.btn-sm{height:42px;padding:0 20px;font-size:13px;min-width:0}
.btn-primary{background:#2BD98B;color:#0A0A0A}.btn-primary:hover{background:#5FE6A8;color:#0A0A0A}
.btn-dark{background:#0A0A0A;color:#FFFFFF}.btn-dark:hover{background:#262626;color:#FFFFFF}
.btn-ghost{background:transparent;color:#FFFFFF;border-color:rgba(255,255,255,.35)}.btn-ghost:hover{border-color:#FFFFFF;background:rgba(255,255,255,.06);color:#FFFFFF}
.btn-ghost-dark{background:transparent;color:#0A0A0A;border-color:rgba(10,10,10,.25)}.btn-ghost-dark:hover{border-color:#0A0A0A;color:#0A0A0A}
.btns{display:flex;flex-wrap:wrap;gap:12px}.btns .btn{min-width:240px}
.tlink{display:inline-flex;align-items:center;gap:8px;color:#0A0A0A;text-decoration:none;font-family:'Mona Sans',system-ui,sans-serif;font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;padding-bottom:6px;border-bottom:2px solid #2BD98B;transition:gap .2s}
.tlink:hover{gap:12px}.tlink svg{width:16px;height:16px}
@media (max-width:560px){.btns .btn,.hero-cta .btn{width:100%}}
@media (prefers-reduced-motion: reduce){.mq{animation:none}*{transition:none!important}}
.s1{font-family: 'Mona Sans', system-ui, sans-serif; color: #0A0A0A; background: #FFFFFF; width: 100%}
.s2{position: relative; min-height: 88vh; background: #0A0A0A; color: #FFFFFF; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end}
.s3{position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block}
.s4{position: absolute; inset: 0; background: rgba(10,10,10,0.45)}
.s5{position: relative; max-width: 1328px; margin: 0 auto; width: 100%; box-sizing: border-box; padding: clamp(80px, 10vw, 140px) clamp(16px, 4vw, 56px) clamp(56px, 7vw, 96px)}
.s6{margin: 0}
.s7{display: block; margin: 0 0 20px; font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: #A3A3A3; color: #CFCFCF}
.s8{color: #2BD98B}
.s9{display: block; margin: 0; font-family: Montserrat, sans-serif; font-weight: 900; text-transform: uppercase; font-size: clamp(46px, 7.6vw, 116px); line-height: 0.95; letter-spacing: -0.02em; max-width: 1180px}
.s10{display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 32px 64px; margin-top: clamp(40px, 5vw, 64px); padding-top: 32px; border-top: 1px solid rgba(255,255,255,0.25)}
.s11{margin: 0; font-size: clamp(18px, 1.5vw, 21px); line-height: 1.5; font-weight: 500; color: #EDEDED; max-width: 560px}
.s12{display: flex; flex-direction: column; gap: 12px}
.s13{margin: 0; font-family: Montserrat, sans-serif; font-weight: 800; text-transform: uppercase; font-size: clamp(20px, 1.8vw, 24px); line-height: 1.15}
.s14{margin: 0; font-size: 17px; line-height: 1.55; color: #D6D6D6; max-width: 520px}
.s15{margin-top: 40px}
.s16{background: #FFFFFF; padding: clamp(80px, 10vw, 144px) clamp(16px, 4vw, 56px)}
.s17{max-width: 1328px; margin: 0 auto}
.s18{margin: 0; font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: #454545}
.s19{color: #0B7F4E}
.s20{display: flex; flex-direction: column; align-items: flex-start; gap: 20px; margin-top: 20px}
.s21{margin: 0; font-family: Montserrat, sans-serif; font-weight: 900; text-transform: uppercase; font-size: clamp(36px, 4.6vw, 64px); line-height: 1; letter-spacing: -0.015em; max-width: 760px}
.s22{margin: 0; max-width: 620px; font-size: 18px; line-height: 1.6; color: #333333}
.s23{display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; margin-top: 56px}
.s24{background: #FFFFFF; border: 1px solid #E3E3E3; border-radius: 20px; padding: 32px; display: flex; flex-direction: column; gap: 14px; background: #F9F9F9}
.s25{font-family: 'IBM Plex Mono', monospace; font-size: 14px; color: #0B7F4E}
.s26{margin: 0; font-family: Montserrat, sans-serif; font-weight: 800; text-transform: uppercase; font-size: 20px; line-height: 1.2}
.s27{margin: 0; font-size: 16px; line-height: 1.6; color: #2E2E2E}
.s28{background: #0A0A0A; color: #FFFFFF; padding: clamp(64px, 8vw, 112px) clamp(16px, 4vw, 56px)}
.s29{margin: 0 0 40px; font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: #A3A3A3}
.s30{display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr))}
.s31{padding: 32px 32px 32px 0; border-top: 1px solid #2A2A2A}
.s32{font-family: 'IBM Plex Mono', monospace; font-size: 13px; color: #A3A3A3}
.s33{margin-top: 20px; font-family: Montserrat, sans-serif; font-weight: 900; font-size: clamp(56px, 6vw, 88px); line-height: 1; color: #2BD98B}
.s34{margin-top: 12px; font-family: Montserrat, sans-serif; font-weight: 800; font-size: 19px; text-transform: uppercase; line-height: 1.25}
.s35{margin-top: 6px; font-size: 15px; color: #B5B5B5}
.s36{max-width: 1328px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 40px 80px}
.s37{flex: 1 1 280px; min-width: 0; margin: 0; font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: #454545}
.s38{flex: 999 1 640px; min-width: 0}
.s39{margin: 0; font-family: Montserrat, sans-serif; font-weight: 900; text-transform: uppercase; font-size: clamp(36px, 4.6vw, 64px); line-height: 1; letter-spacing: -0.015em}
.s40{margin: 32px 0 0; max-width: 720px; font-size: 18px; line-height: 1.6; color: #333333; font-size: 19px}
.s41{display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 0; margin-top: 48px; border-top: 1px solid #E0E0E0}
.s42{padding: 24px 24px 24px 0; border-bottom: 1px solid #E0E0E0}
.s43{margin: 0; font-family: Montserrat, sans-serif; font-weight: 800; text-transform: uppercase; font-size: 20px; line-height: 1.2; font-size: 18px}
.s44{margin: 8px 0 0; font-size: 16px; line-height: 1.55; color: #2E2E2E}
.s45{margin-top: 36px}
.s46{background: #F9F9F9; padding: clamp(80px, 10vw, 144px) clamp(16px, 4vw, 56px)}
.s47{margin-bottom: 40px}
.s48{margin-top: 20px; margin: 0; font-family: Montserrat, sans-serif; font-weight: 900; text-transform: uppercase; font-size: clamp(36px, 4.6vw, 64px); line-height: 1; letter-spacing: -0.015em}
.s49{border-top: 1px solid #E0E0E0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr)); column-gap: 64px}
.s50{padding: 28px 0; border-bottom: 1px solid #E0E0E0}
.s51{margin: 12px 0 0; font-size: 17px; line-height: 1.6; color: #2E2E2E}
.s52{background: #2BD98B; color: #0A0A0A; overflow: hidden; padding: 24px 0}
.s53{gap: 48px; font-family: Montserrat, sans-serif; font-weight: 900; font-size: clamp(34px, 4.6vw, 64px); text-transform: uppercase; letter-spacing: -0.015em; white-space: nowrap}
.s54{color: #0A0A0A}
.s55{background: #FFFFFF; padding: clamp(96px, 12vw, 176px) clamp(16px, 4vw, 56px)}
.s56{max-width: 1328px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 40px 80px; align-items: flex-end; justify-content: space-between}
.s57{margin: 0; font-family: Montserrat, sans-serif; font-weight: 900; text-transform: uppercase; font-size: clamp(44px, 6.4vw, 96px); line-height: 0.98; letter-spacing: -0.02em}
.s58{display: flex; flex-direction: column; gap: 24px; align-items: flex-start; max-width: 420px}
.s59{margin: 0; font-size: 20px; line-height: 1.5; color: #333333}
.s60{background: #0A0A0A; color: #FFFFFF; padding: clamp(64px, 8vw, 112px) clamp(16px, 4vw, 56px) 32px}
.s61{display: flex; flex-wrap: wrap; gap: 48px 80px; justify-content: space-between}
.s62{flex: 1 1 360px; min-width: 0}
.s63{width: 200px; height: auto; display: block}
.s64{margin: 32px 0 0; font-family: Montserrat, sans-serif; font-weight: 900; text-transform: uppercase; font-size: clamp(32px, 3.6vw, 48px); line-height: 1; letter-spacing: -0.01em}
.s65{margin: 20px 0 0; max-width: 380px; font-size: 15px; line-height: 1.6; color: #A3A3A3}
.s66{flex: 2 1 520px; min-width: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 32px}
.s67{font-family: 'IBM Plex Mono', monospace; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: #A3A3A3}
.s68{color: #FFFFFF; text-decoration: none; font-size: 16px}
.s69{font-style: normal; display: flex; flex-direction: column; gap: 12px}
.s70{font-size: 16px; line-height: 1.5}
.s71{color: #FFFFFF; text-decoration: none; font-size: 16px; word-break: break-all}
.s72{font-size: 16px; color: #C9C9C9}
.s73{margin-top: 64px; padding-top: 24px; border-top: 1px solid #2A2A2A; display: flex; flex-wrap: wrap; gap: 12px 32px; justify-content: space-between; font-size: 13px; color: #A3A3A3}
.s74{background: #0A0A0A; color: #FFFFFF; padding: clamp(96px, 12vw, 176px) clamp(16px, 4vw, 56px) clamp(56px, 6vw, 88px)}
.s75{display: block; margin: 0; font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: #A3A3A3}
.s76{display: block; margin: 20px 0 0; font-family: Montserrat, sans-serif; font-weight: 900; text-transform: uppercase; font-size: clamp(64px, 12vw, 180px); line-height: 0.9; letter-spacing: -0.03em}
.s77{margin: 20px 0 0; max-width: 720px; font-size: 18px; line-height: 1.6; color: #333333; font-size: 19px}
.s78{margin: 0; max-width: 860px; font-family: Montserrat, sans-serif; font-weight: 700; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.42; letter-spacing: -0.01em}
.s79{background: #2BD98B; color: #0A0A0A; padding: clamp(72px, 9vw, 128px) clamp(16px, 4vw, 56px)}
.s80{margin: 0; font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: #454545; color: #0A3D27}
.s81{margin: 20px 0 0; max-width: 1100px; font-family: Montserrat, sans-serif; font-weight: 900; text-transform: uppercase; font-size: clamp(30px, 4vw, 56px); line-height: 1.05; letter-spacing: -0.015em}
.s82{background: #0A0A0A; color: #FFFFFF; overflow: hidden; padding: 24px 0}
.s83{background: #0A0A0A; color: #FFFFFF; padding: clamp(80px, 10vw, 144px) clamp(16px, 4vw, 56px); padding-top: 32px}
.s84{flex: 1 1 280px; min-width: 0; margin: 0; font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: #A3A3A3}
.s85{flex: 999 1 640px; min-width: 0; margin: 0; max-width: 900px; font-family: Montserrat, sans-serif; font-weight: 700; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.42; letter-spacing: -0.01em; color: #E6E6E6}
.s86{display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); margin-top: 56px; border-top: 1px solid #E0E0E0; border-left: 1px solid #E0E0E0}
.s87{padding: 36px; border-right: 1px solid #E0E0E0; border-bottom: 1px solid #E0E0E0}
.s88{margin: 16px 0 0;  font-family: Montserrat, sans-serif; font-weight: 800; text-transform: uppercase; font-size: 20px; line-height: 1.2}
.s89{margin: 12px 0 0; font-size: 16px; line-height: 1.6; color: #2E2E2E}
.s90{background: #0A0A0A; color: #FFFFFF; padding: clamp(80px, 10vw, 144px) clamp(16px, 4vw, 56px)}
.s91{margin: 0; font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: #A3A3A3}
.s92{display: flex; flex-wrap: wrap; gap: 24px 80px; align-items: flex-end; justify-content: space-between; margin: 20px 0 56px}
.s93{margin: 0; max-width: 440px; font-size: 18px; line-height: 1.6; color: #C9C9C9}
.s94{background: #2BD98B; color: #0A0A0A; padding: clamp(80px, 10vw, 144px) clamp(16px, 4vw, 56px)}
.s95{max-width: 1328px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 32px 80px; align-items: flex-end; justify-content: space-between}
.s96{margin-top: 20px; margin: 0; font-family: Montserrat, sans-serif; font-weight: 900; text-transform: uppercase; font-size: clamp(44px, 6.4vw, 96px); line-height: 0.98; letter-spacing: -0.02em; max-width: 900px}
.s97{position: relative; min-height: 80vh; background: #0A0A0A; color: #FFFFFF; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end}
.s98{position: absolute; inset: 0; background: rgba(10,10,10,0.5)}
.s99{display: block; margin: 0; font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: #A3A3A3; color: #CFCFCF}
.s100{display: block; margin: 20px 0 0; font-family: Montserrat, sans-serif; font-weight: 900; text-transform: uppercase; font-size: clamp(48px, 8vw, 120px); line-height: 0.95; letter-spacing: -0.02em}
.s101{display: flex; flex-wrap: wrap; gap: 24px 64px; align-items: flex-end; justify-content: space-between; margin-top: 40px}
.s102{margin: 0; max-width: 640px; font-size: clamp(17px, 1.4vw, 20px); line-height: 1.55; color: #E6E6E6}
.s103{max-width: 1328px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 48px 80px; align-items: center}
.s104{flex: 999 1 560px; min-width: 0}
.s105{margin: 24px 0 0; font-family: Montserrat, sans-serif; font-weight: 800; font-size: 22px; line-height: 1.3; color: #0B7F4E}
.s106{margin: 20px 0 0; max-width: 640px; font-size: 18px; line-height: 1.6; color: #333333}
.s107{flex: 1 1 380px; min-width: 0; background: #0A0A0A; color: #FFFFFF; border-radius: 20px; padding: clamp(32px, 4vw, 48px)}
.s108{list-style: none; margin: 24px 0 0; padding: 0; display: flex; flex-direction: column}
.s109{padding: 18px 0; border-top: 1px solid #2A2A2A; font-family: Montserrat, sans-serif; font-weight: 800; font-size: 18px; text-transform: uppercase}
.s110{padding: 18px 0; border-top: 1px solid #2A2A2A; border-bottom: 1px solid #2A2A2A; font-family: Montserrat, sans-serif; font-weight: 800; font-size: 18px; text-transform: uppercase}
.s111{background: #0A0A0A; color: #FFFFFF; padding: clamp(56px, 7vw, 96px) clamp(16px, 4vw, 56px)}
.s112{max-width: 1328px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 32px}
.s113{border-left: 3px solid #2BD98B; padding-left: 24px}
.s114{font-family: Montserrat, sans-serif; font-weight: 900; font-size: clamp(56px, 6vw, 88px); line-height: 1; color: #2BD98B; font-size: clamp(48px, 5vw, 72px)}
.s115{margin: 0; max-width: 460px; font-size: 18px; line-height: 1.6; color: #333333}
.s116{display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); margin-top: 56px; border-top: 1px solid #E0E0E0; border-left: 1px solid #E0E0E0}
.s117{margin: 20px 0 0; font-size: 19px; line-height: 1.5; color: #B5B5B5}
.s118{list-style: none; margin: 56px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px}
.s119{border-radius: 16px; border: 1px solid #2A2A2A; padding: 28px; display: flex; flex-direction: column; justify-content: space-between; gap: 40px; min-height: 180px}
.s120{font-family: Montserrat, sans-serif; font-weight: 900; font-size: 26px; text-transform: uppercase}
.s121{border-radius: 16px; background: #2BD98B; color: #0A0A0A; padding: 28px; display: flex; flex-direction: column; justify-content: space-between; gap: 40px; min-height: 180px}
.s122{font-family: 'IBM Plex Mono', monospace; font-size: 13px; color: #0A3D27}
.s123{margin: 0; font-family: Montserrat, sans-serif; font-weight: 900; text-transform: uppercase; font-size: clamp(44px, 6.4vw, 96px); line-height: 0.98; letter-spacing: -0.02em; max-width: 900px}
.s124{display: flex; flex-direction: column; gap: 24px; align-items: flex-start; max-width: 460px}
.s125{margin: 0; font-size: 19px; line-height: 1.55; color: #333333}
.s126{background: #0A0A0A; color: #FFFFFF; padding: clamp(96px, 12vw, 176px) clamp(16px, 4vw, 56px) clamp(72px, 9vw, 128px)}
.s127{display: block; margin: 0 0 20px; font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: #A3A3A3}
.s128{display: block; font-family: Montserrat, sans-serif; font-weight: 900; text-transform: uppercase; font-size: clamp(64px, 12vw, 180px); line-height: 0.9; letter-spacing: -0.03em}
.s129{display: flex; flex-wrap: wrap; gap: 40px 80px; margin-top: clamp(56px, 7vw, 96px); padding-top: 40px; border-top: 1px solid #2A2A2A}
.s130{margin: 0; font-family: Montserrat, sans-serif; font-weight: 900; text-transform: uppercase; font-size: clamp(32px, 4vw, 56px); line-height: 1.02; letter-spacing: -0.015em}
.s131{margin: 28px 0 0; max-width: 720px; font-size: 18px; line-height: 1.6; color: #C9C9C9; font-size: 19px}
.s132{margin: 28px 0 0; font-family: Montserrat, sans-serif; font-weight: 800; font-size: 18px; letter-spacing: 0.06em; text-transform: uppercase; color: #0B7F4E}
.s133{margin: 14px 0 0; max-width: 640px; font-size: 18px; line-height: 1.6; color: #333333}
.s134{flex: 1 1 360px; min-width: 0; background: #0A0A0A; color: #FFFFFF; border-radius: 20px; padding: clamp(32px, 4vw, 48px)}
.s135{list-style: none; margin: 24px 0 0; padding: 0}
.s136{padding: 18px 0; border-top: 1px solid #2A2A2A; font-family: Montserrat, sans-serif; font-weight: 900; font-size: 26px; text-transform: uppercase}
.s137{padding: 18px 0; border-top: 1px solid #2A2A2A; border-bottom: 1px solid #2A2A2A; font-family: Montserrat, sans-serif; font-weight: 900; font-size: 26px; text-transform: uppercase}
.s138{margin: 20px 0 0; max-width: 680px; font-size: 18px; line-height: 1.6; color: #C9C9C9}
.s139{border: 1px solid #2A2A2A; border-radius: 20px; padding: 32px; display: flex; flex-direction: column; gap: 14px}
.s140{margin: 0; font-family: Montserrat, sans-serif; font-weight: 800; text-transform: uppercase; font-size: 20px; line-height: 1.2; color: #2BD98B}
.s141{margin: 0; font-size: 18px; line-height: 1.6; color: #C9C9C9; font-size: 16px}
.s142{display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; margin-top: 56px}
.s143{background: #FFFFFF; border: 1px solid #E3E3E3; border-radius: 20px; padding: 32px; display: flex; flex-direction: column; gap: 14px}
.s144{font-family: Montserrat, sans-serif; font-weight: 900; font-size: 44px; line-height: 1; color: #0B7F4E}
.s145{margin: 0; font-family: Montserrat, sans-serif; font-weight: 800; text-transform: uppercase; font-size: 20px; line-height: 1.2; font-size: 19px}
.s146{margin: 28px 0 0; max-width: 720px; font-size: 18px; line-height: 1.6; color: #333333; font-size: 19px}
.s147{background: #2BD98B; color: #0A0A0A; padding: clamp(96px, 12vw, 176px) clamp(16px, 4vw, 56px)}
.s148{margin: 0; font-family: Montserrat, sans-serif; font-weight: 900; text-transform: uppercase; font-size: clamp(44px, 6.4vw, 96px); line-height: 0.98; letter-spacing: -0.02em; max-width: 960px}
.s149{margin: 0; font-size: 19px; line-height: 1.55; color: #0A2A1C}
.s150{display: block; margin: 20px 0 0; font-family: Montserrat, sans-serif; font-weight: 900; text-transform: uppercase; font-size: clamp(56px, 10vw, 150px); line-height: 0.9; letter-spacing: -0.03em}
.s151{margin: 28px 0 0; max-width: 640px; font-size: 18px; line-height: 1.6; color: #C9C9C9; font-size: 19px}
.s152{flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 32px}
.s153{margin: 12px 0 0; font-size: 20px; line-height: 1.5; font-weight: 600}
.s154{display: inline-block; margin-top: 10px; color: #0B7F4E; font-weight: 600}
.s155{display: inline-block; margin-top: 12px; font-size: 20px; font-weight: 600; color: #0A0A0A; text-decoration: none}
.s156{display: inline-block; margin-top: 12px; font-size: 18px; font-weight: 600; color: #0A0A0A; word-break: break-all}
.s157{margin: 12px 0 0; font-size: 20px; font-weight: 600}
.s158{flex: 999 1 560px; min-width: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; align-content: start}
.s159{display: none}
.s160{display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 600; color: #333333}
.s161{height: 54px; border-radius: 12px; border: 1px solid #CFCFCF; background: #FFFFFF; color: #0A0A0A; padding: 0 16px; font: inherit; font-size: 16px}
.s162{height: 54px; border-radius: 12px; border: 1px solid #CFCFCF; background: #FFFFFF; color: #0A0A0A; padding: 0 16px; font: inherit; font-size: 16px; padding: 0 12px}
.s163{grid-column: 1 / -1; display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 600; color: #333333}
.s164{border-radius: 12px; border: 1px solid #CFCFCF; background: #FFFFFF; color: #0A0A0A; padding: 14px 16px; font: inherit; font-size: 16px; resize: vertical}
.s165{grid-column: 1 / -1}
.s166{border: none; font-family: inherit; cursor: pointer}
.s167{background: #0A0A0A; color: #FFFFFF; min-height: 60vh; padding: clamp(96px, 12vw, 176px) clamp(16px, 4vw, 56px)}
.s168{margin: 28px 0 0; max-width: 600px; font-size: 18px; line-height: 1.6; color: #C9C9C9; font-size: 19px}
@media (max-width:880px){.nav{display:none}.burger{display:flex}.navt:checked ~ .mnav{display:flex}}
@media (max-width:560px){.btns .btn,.hero-cta .btn{width:100%}}
@media (prefers-reduced-motion: reduce){.mq{animation:none}*{transition:none!important}}

.legal{min-height:auto}.legal-in{max-width:760px}
.legal-upd{margin:24px 0 0;font-family:"IBM Plex Mono",monospace;font-size:13px;letter-spacing:.04em;color:#A3A3A3}
.legal-body{margin-top:48px;font-family:"Mona Sans",system-ui,sans-serif;font-size:17px;line-height:1.7;color:#C9C9C9}
.legal-body h2{margin:44px 0 12px;font-family:Montserrat,system-ui,sans-serif;font-weight:800;font-size:clamp(20px,2.4vw,24px);line-height:1.25;color:#FFFFFF}
.legal-body p{margin:0 0 16px}.legal-body ul{margin:0 0 16px;padding-left:22px}.legal-body li{margin:6px 0}
.legal-body a{color:#2BD98B;overflow-wrap:anywhere}
.legal-links{display:flex;gap:24px}.legal-links a{color:#A3A3A3;text-decoration:none}.legal-links a:hover{color:#FFFFFF}
.form-note{grid-column:1/-1;margin:4px 0 0;font-size:13px;color:#555555}.form-note a{color:inherit}

.ppl{display:flex;flex-direction:column;gap:20px;margin:0 0 clamp(48px,6vw,72px)}
.ppl-h{margin:0;font-family:Montserrat,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(36px,4.6vw,64px);line-height:1;letter-spacing:-0.015em;max-width:900px;color:#FFFFFF;text-wrap:balance}
.ppl-p{margin:0;max-width:620px;font-size:18px;line-height:1.6;color:#D6D6D6}
.cmp-h{margin:0 0 24px;font-family:Montserrat,sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(20px,1.8vw,24px);line-height:1.15;color:#FFFFFF}
.cmp-wrap{overflow-x:auto;border:1px solid #2A2A2A;border-radius:16px}
.cmp{width:100%;min-width:640px;border-collapse:collapse;font-size:16px;line-height:1.5;color:#D6D6D6}
.cmp th,.cmp td{padding:20px 24px;text-align:left;vertical-align:top;border-bottom:1px solid #2A2A2A}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:0}
.cmp thead th{font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#A3A3A3}
.cmp thead th.cmp-us{color:#2BD98B}
.cmp tbody th{width:18%;font-family:Montserrat,sans-serif;font-weight:800;text-transform:uppercase;font-size:15px;color:#FFFFFF}
.cmp td:last-child{color:#FFFFFF;background:rgba(43,217,139,.06)}
.cmp-cta{margin-top:40px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:720px){.cmp{min-width:0}.cmp thead{display:none}.cmp,.cmp tbody,.cmp tr,.cmp th,.cmp td{display:block;width:auto}.cmp tr{padding:20px;border-bottom:1px solid #2A2A2A}.cmp tbody tr:last-child{border-bottom:0}.cmp th,.cmp td{padding:0;border:0}.cmp tbody th{width:auto;margin-bottom:12px}.cmp td{padding:10px 12px;border-radius:10px}.cmp td+td{margin-top:8px}.cmp td::before{content:attr(data-label);display:block;margin-bottom:4px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#A3A3A3}.cmp td:last-child::before{color:#2BD98B}.cmp td:last-child{background:rgba(43,217,139,.08)}}

/* ===== Design pass: contrast, type rhythm, cards, imagery, CTAs ===== */
/* Body copy: larger and darker on light sections */
.s27,.s44,.s89{font-size:17px;line-height:1.6}
.s40,.s77,.s106,.s133,.s146{color:#222222}
/* Type rhythm: short section titles stay uppercase; long titles and card titles go sentence case */
.s39,.s130{text-transform:none;font-weight:800;letter-spacing:-0.025em;line-height:1.05;text-wrap:balance}
.s26,.s43,.s88,.s140,.s145{text-transform:none;letter-spacing:-0.01em;font-size:22px;line-height:1.25}
.s43{font-size:20px}
/* Why face to face cards: defined edges, equal rhythm */
.s23{gap:20px}
.s24{background:#FFFFFF;border:1px solid #D5DBD8;box-shadow:0 1px 2px rgba(10,10,10,.04),0 10px 28px rgba(10,10,10,.06);padding:36px;display:grid;grid-template-rows:subgrid;grid-row:span 3;gap:14px;align-content:start}
.s143{background:#FFFFFF;border:1px solid #D5DBD8;box-shadow:0 1px 2px rgba(10,10,10,.04),0 10px 28px rgba(10,10,10,.06);display:grid;grid-template-rows:subgrid;grid-row:span 3;gap:14px;align-content:start}
/* Values: dark cards with green accents on the light background */
.s86,.s116{border:0;gap:16px}
.s87{background:#0A0A0A;color:#FFFFFF;border:0;border-radius:20px;padding:36px;box-shadow:0 10px 28px rgba(10,10,10,.12)}
.s87 .s25{color:#2BD98B}
.s87 .s88{color:#FFFFFF}
.s87 .s89{color:#C9C9C9}
/* Ticker sits tight against the philosophy it introduces */
.after-mq{padding-top:40px}
/* Secondary buttons on dark backgrounds are filled, not outlined */
.btn-ghost{background:#FFFFFF;color:#0A0A0A;border-color:#FFFFFF}
.btn-ghost:hover{background:#E9FBF2;border-color:#E9FBF2;color:#0A0A0A}
/* Text + photo split layouts */
.split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,64px);align-items:center}
.split-txt{min-width:0}
.split-dark{margin-bottom:clamp(48px,6vw,72px)}
.split-dark .ppl{margin:0}
.media{position:relative;margin:0;min-height:380px;height:100%;border-radius:24px;overflow:hidden;background:#0A2A1C}
.media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.media-alt{display:none}
.media.nophoto img{display:none}
.media.nophoto .media-alt{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:clamp(28px,3.5vw,44px);background:radial-gradient(120% 90% at 85% 10%,#0F4A31 0%,#0A2A1C 45%,#0A0A0A 100%);color:#FFFFFF}

.ma-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#2BD98B;margin-bottom:auto}
.ma-big{font-family:Montserrat,sans-serif;font-weight:900;font-size:clamp(56px,7vw,96px);line-height:.95;letter-spacing:-0.03em;color:#2BD98B}
.ma-label{font-size:18px;line-height:1.45;color:#E6E6E6;max-width:280px}
.ma-stack{display:flex;flex-direction:column;font-family:Montserrat,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(44px,5.4vw,76px);line-height:.95;letter-spacing:-0.02em;color:#FFFFFF}
.ma-g{color:#2BD98B}
@media (max-width:900px){.split{grid-template-columns:1fr}.media{min-height:300px}}
.split{align-items:stretch}
.ma-big{white-space:nowrap;font-size:clamp(48px,5.2vw,80px)}
.ma-stack{font-size:clamp(40px,4.4vw,64px)}
.ma-quote{font-family:Montserrat,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(26px,2.6vw,36px);line-height:1.08;letter-spacing:-0.015em;color:#FFFFFF}
.s86{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}
@media (min-width:1000px){.s86,.s116{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ===== Layout pass: structure, alignment and spacing only (no colour or type changes) ===== */
/* Shared grid: every page uses one content width (1328px) with the same side gutter */
:root{--gut:clamp(16px,4vw,56px);--wrap:1328px;--card-gap:24px}

/* 1. Header: same container width and gutter as the page content, everything on one centre line */
.hdr-in{max-width:calc(var(--wrap) + 2 * var(--gut));padding:0 var(--gut);height:76px;align-items:center}
.brand,.nav .nl,.nav .btn{display:flex;align-items:center}
@media (min-width:881px){.nav{display:flex;align-items:center}}
.brand{height:100%}
.nav{height:100%;margin:0}
.nav .nl{height:44px;padding:0}
.nav .nl::after{bottom:6px}
.burger{align-self:center}

/* 2. Heroes: kicker, headline, copy and CTAs all sit on the page's left guide line */
.s5{max-width:calc(var(--wrap) + 2 * var(--gut));padding-left:var(--gut);padding-right:var(--gut)}
.s2,.s97{min-height:82vh}
.s5{padding-top:clamp(96px,12vw,176px);padding-bottom:clamp(64px,8vw,112px)}
.s74,.s126{padding-top:clamp(96px,12vw,176px);padding-bottom:clamp(64px,8vw,112px)}
.s7,.s75,.s99,.s127{margin-left:0;padding-left:0}
/* Careers hero: button anchored to the bottom line of its paragraph, not floating right */
.s101{justify-content:flex-start;align-items:flex-end;column-gap:40px}
.s101 .s102{flex:0 1 640px}
.s101 .btn{flex:0 0 auto}
/* Home hero: CTAs anchored directly under the paragraph */
.s10{margin-bottom:0}
.hero-cta.s15{margin-top:32px}
/* Partners hero: label and content share a top line */
.s129{column-gap:clamp(48px,6vw,96px);align-items:flex-start}

/* 3. Split rows with dark sidebar cards: top edges flush */
.s103{align-items:flex-start;column-gap:clamp(48px,6vw,96px)}
.s103 .s39{margin-top:0}
.s107,.s134{padding:2.5rem;box-sizing:border-box}
.s108,.s135{margin:24px 0 0;padding:0;display:flex;flex-direction:column}
.s109,.s110,.s136,.s137{padding:18px 0;margin:0;line-height:1.25;display:flex;align-items:center;min-height:0}
.split{align-items:start}
.media{align-self:stretch}

/* 4. Card grids: equal heights, copy top-aligned, bottoms locked, one gutter size */
.s23,.s142,.s86,.s116{gap:var(--card-gap)}
.s139{display:grid;grid-template-rows:subgrid;grid-row:span 2;gap:14px;align-content:start}
.s24,.s143{align-self:stretch}
.s87{display:flex;flex-direction:column;justify-content:flex-start;height:100%;box-sizing:border-box}

/* 5. Banners and labelled detail sections */
.s52,.s82{display:flex;align-items:center}
.mq{align-items:center}
.mq > span{display:inline-flex;align-items:center;line-height:1}
/* Labels line up with the first line of the copy beside them, with a fixed minimum gutter */
.s36{column-gap:clamp(48px,6vw,96px)}
.s36 > .s84,.s36:has(.s78) > .s37{padding-top:calc(clamp(22px,2.2vw,30px) * 0.71 - 9px)}
.s36:has(.s39) > .s37{padding-top:calc(clamp(36px,4.6vw,64px) * 0.525 - 9px)}
.s129 > .s84{padding-top:calc(clamp(32px,4vw,56px) * 0.525 - 9px)}
@media (max-width:1060px){.s36 > .s84,.s36 > .s37,.s129 > .s84{padding-top:0}}

/* ===== Home rebuild (Nov 2026) — new sections, existing colours and fonts ===== */
.skip{position:absolute;left:16px;top:-60px;z-index:100;background:#2BD98B;color:#0A0A0A;padding:12px 18px;border-radius:999px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}
.hx-h{font-size:clamp(40px,6.2vw,96px);max-width:1120px;text-wrap:balance}
.hx{position:relative}
.vid-toggle{position:absolute;right:max(16px,env(safe-area-inset-right,0px));bottom:16px;z-index:2;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(10,10,10,.55);color:#FFFFFF;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.vid-toggle:hover{border-color:#FFFFFF}
/* Proof strip directly under the hero */
.proof{padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(40px,5vw,64px);border-top:1px solid #2A2A2A}
.proof .s30{gap:var(--card-gap)}
.nonum{grid-row:span 2}
/* How it works: a real sequence, laid out as connected steps */
.steps{list-style:none;margin:clamp(40px,5vw,56px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--card-gap);counter-reset:none}
.step{position:relative;padding:28px 0 0;border-top:2px solid #0A0A0A}
.step-n{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#0B7F4E}
.step-h{margin:14px 0 0;font-family:Montserrat,sans-serif;font-weight:800;font-size:24px;line-height:1.2;letter-spacing:-0.01em;color:#0A0A0A}
.step-p{margin:12px 0 0;font-size:17px;line-height:1.6;color:#2E2E2E;max-width:420px}
.how .s45{display:inline-flex;margin-top:40px}
@media (max-width:860px){.steps{grid-template-columns:1fr;gap:32px}}
/* Sectors: list rows, a different layout family from the cards above */
.sec-h{max-width:820px}
.sec-list{list-style:none;margin:clamp(40px,5vw,56px) 0 0;padding:0;border-top:1px solid #D5DBD8}
.sec-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px clamp(32px,5vw,80px);align-items:baseline;padding:28px 0;border-bottom:1px solid #D5DBD8}
.sec-name{margin:0;font-family:Montserrat,sans-serif;font-weight:900;text-transform:uppercase;font-size:clamp(26px,3vw,40px);line-height:1;letter-spacing:-0.015em;color:#0A0A0A}
.sec-p{margin:0;font-size:18px;line-height:1.6;color:#222222;max-width:560px}
@media (max-width:720px){.sec-row{grid-template-columns:1fr;gap:10px}}
/* Careers teaser */
.ct-btns{margin-top:32px}
.careers-teaser .split-dark{margin-bottom:0}
/* Ticker with a pause control */
.mq-wrap{position:relative}
.mq-wrap.paused .mq{animation-play-state:paused}
.mq-toggle{position:absolute;right:max(16px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%);z-index:2;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(10,10,10,.35);background:#2BD98B;color:#0A0A0A;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
/* Mobile: comfortable tap targets for footer links */
@media (max-width:720px){.s60 .s68,.s60 .s71,.s73 a{display:inline-flex;align-items:center;min-height:44px}}
