*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--black:#000000;--blue:#0080FF;--white:#FFFFFF;--gray:#888888;--dark:#121212;--border:#1e1e1e;--border-blue:rgba(0,128,255,0.5)}
html{scroll-behavior:smooth;overflow-x:hidden}
body{background:var(--black);color:var(--white);font-family:"Space Grotesk","Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden;width:100%}
#nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(0,0,0,0.97);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.nav-inner{max-width:1440px;width:100%;margin:0 auto;padding:0 48px;height:72px;display:flex;align-items:center;justify-content:space-between}
.logo-link{display:flex;align-items:center;gap:14px;text-decoration:none}
.logo-img{height:52px;width:auto}.logo-wordmark{display:none}

.nav-links{display:flex;align-items:center;gap:48px}
.nav-links a{color:var(--white);text-decoration:none;font-size:12px;letter-spacing:3px;font-weight:500;opacity:.7;transition:opacity .2s;text-transform:uppercase}
.nav-links a:hover{opacity:1}
.nav-hamburger{display:none;background:none;border:none;color:var(--white);font-size:22px;cursor:pointer}
.nav-mobile{display:none;flex-direction:column;background:var(--black);border-top:1px solid var(--border)}
.nav-mobile a{color:var(--white);text-decoration:none;font-size:12px;letter-spacing:3px;padding:18px 24px;border-bottom:1px solid var(--border);display:block;text-transform:uppercase}
.nav-mobile.open{display:flex}
#hero{position:relative;background:var(--black);padding-top:72px}




.btn-outline{display:inline-block;background:transparent;border:1px solid var(--blue);color:var(--white);padding:13px 32px;font-size:12px;letter-spacing:3px;text-transform:uppercase;cursor:pointer;font-family:"Space Grotesk",sans-serif;font-weight:500;transition:background .2s}
.btn-outline:hover{background:rgba(0,128,255,.08)}
.section-infrastructure{background:var(--black);border-top:1px solid var(--border-blue);border-bottom:1px solid var(--border-blue)}
.infra-grid{max-width:1440px;width:100%;margin:0 auto;display:grid;grid-template-columns:160px 1fr 1fr 1fr}
.infra-label{display:flex;align-items:center;justify-content:center;padding:80px 0;border-right:1px solid var(--border);overflow:hidden;position:relative}
.infra-label span{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:20px;letter-spacing:8px;text-transform:uppercase;writing-mode:vertical-rl;-webkit-writing-mode:vertical-rl;transform:rotate(180deg);display:block;color:var(--white)}
.infra-card{padding:72px 48px;border-right:1px solid var(--border);background:var(--dark);display:flex;flex-direction:column;justify-content:flex-start}
.infra-card:last-child{border-right:none}
.infra-card h3{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:24px;letter-spacing:1px;color:var(--blue);margin-bottom:28px;line-height:1.25;text-transform:uppercase}
.infra-card p{font-size:15px;color:rgba(255,255,255,.7);line-height:1.7;font-weight:300;max-width:380px}
.section-audit{background:var(--black);padding:120px 48px}
.section-audit h2{max-width:1440px;margin:0 auto;font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:clamp(40px,5.5vw,72px);line-height:1.05;text-transform:uppercase;letter-spacing:-1px}
.section-sovereignty{background:var(--black);padding:120px 48px}
.sovereignty-inner{max-width:1440px;width:100%;margin:0 auto}
.sovereignty-inner h2{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:clamp(40px,5.5vw,72px);line-height:1.05;text-transform:uppercase;letter-spacing:-1px}
.section-stack{background:var(--black);border-top:1px solid var(--border-blue);border-bottom:1px solid var(--border-blue)}
.stack-inner{max-width:1440px;width:100%;margin:0 auto}
.stack-row{display:grid;border-bottom:1px solid var(--border)}
.stack-row-1{grid-template-columns:160px 1fr 1fr}
.stack-row-2{grid-template-columns:160px 1fr 1fr}
.stack-label-cell{display:flex;align-items:center;justify-content:center;padding:72px 32px;border-right:1px solid var(--border)}
.stack-label-cell span{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:20px;letter-spacing:8px;text-transform:uppercase;writing-mode:vertical-rl;-webkit-writing-mode:vertical-rl;transform:rotate(180deg);display:block;color:var(--white)}
.stack-label-empty{border-right:1px solid var(--border)}
.stack-card{padding:80px 64px;border-right:1px solid var(--border);background:var(--dark)}
.stack-card:last-child{border-right:none}
.stack-card-num{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:12px;color:var(--blue);letter-spacing:3px;margin-bottom:24px;opacity:0.6}
.stack-card-title{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:28px;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;line-height:1.1}
.stack-card-sub{font-family:"Space Grotesk",sans-serif;font-weight:500;font-size:13px;color:var(--blue);letter-spacing:2px;text-transform:uppercase;margin-bottom:32px;line-height:1.4}
.stack-card p{font-size:15px;color:rgba(255,255,255,.65);line-height:1.9;font-weight:300;max-width:480px}
.section-team{background:var(--black);padding:120px 0;border-bottom:1px solid var(--border);overflow:hidden}@media(max-width:768px){.section-team{overflow:visible}}
.team-track-wrap{overflow:hidden}
.team-track{display:flex;gap:56px;width:max-content;transition:transform 0.4s cubic-bezier(0.25,0.46,0.45,0.94);padding:0 48px;align-items:flex-start}
.team-member{display:flex;flex-direction:column;align-items:center;min-width:160px}
.team-photo-wrap{position:relative;margin-bottom:24px}
.team-photo{width:100px;height:100px;min-width:100px;min-height:100px;border-radius:50%;-webkit-border-radius:50%;object-fit:cover;object-position:top center;filter:grayscale(15%);transition:filter 0.3s ease;display:block}
.team-photo:hover{filter:grayscale(0%)}
.team-linkedin{position:absolute;bottom:2px;right:2px;width:24px;height:24px;background:rgba(255,255,255,0.95);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:1}
.team-photo-wrap:hover .team-linkedin{opacity:1}
.team-linkedin svg{width:13px;height:13px;fill:#0077B5}
.team-name{font-family:"Space Grotesk",sans-serif;font-weight:400;font-size:14px;color:var(--blue);letter-spacing:1px;margin-bottom:4px;text-align:center}
.team-role{font-family:"Space Grotesk",sans-serif;font-weight:300;font-size:12px;color:rgba(255,255,255,.5);letter-spacing:1px;text-align:center}
.section-cta{background:var(--black);padding:140px 48px;border-top:1px solid var(--border)}
.cta-inner{max-width:1440px;width:100%;margin:0 auto;text-align:center}
.cta-inner h2{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:clamp(28px,3vw,48px);line-height:1.1;text-transform:uppercase;letter-spacing:-0.5px;margin-bottom:48px}
.blue{color:var(--blue)}
#footer{background:var(--black);border-top:1px solid var(--border);padding:64px 48px}
.footer-inner{max-width:1440px;width:100%;margin:0 auto}
.footer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid var(--border)}
.footer-brand{display:flex;align-items:center;gap:14px}
.footer-tagline{font-family:"Space Grotesk",sans-serif;font-weight:300;font-size:11px;letter-spacing:4px;color:rgba(255,255,255,.4);text-transform:uppercase;margin-top:4px}
.footer-nav{display:flex;gap:40px}
.footer-nav a{color:rgba(255,255,255,.45);text-decoration:none;font-size:11px;letter-spacing:3px;text-transform:uppercase;transition:color .2s;font-weight:500}
.footer-nav a:hover{color:var(--white)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px}
.footer-partners{display:flex;align-items:center;gap:8px}
.footer-partners span{font-size:10px;letter-spacing:2px;color:rgba(255,255,255,.3);text-transform:uppercase;margin-right:16px}
.partner-logo{height:80px;width:auto;opacity:1;filter:grayscale(0%) brightness(1);transition:opacity 0.25s ease,filter 0.25s ease}
.partner-logo:hover{opacity:1;filter:grayscale(0%) brightness(1)}
.hacken-logo{height:80px;margin-left:40px}
.footer-right{display:flex;align-items:center;gap:24px}
.footer-copy{font-size:10px;color:rgba(255,255,255,.25);letter-spacing:1px}
.footer-linkedin{width:32px;height:32px;border:1px solid rgba(255,255,255,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:border-color .2s}
.footer-linkedin:hover{border-color:var(--blue)}
.footer-linkedin svg{width:14px;height:14px;fill:rgba(255,255,255,.5)}
.modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.88);z-index:1000;align-items:center;justify-content:center;padding:20px}
.modal-overlay.open{display:flex}
.modal-box{background:var(--black);border:1px solid var(--blue);width:100%;max-width:640px;max-height:90vh;max-height:90svh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:48px;position:relative}
.modal-close{position:absolute;top:18px;right:22px;background:none;border:none;color:var(--gray);font-size:24px;cursor:pointer;line-height:1}
.modal-close:hover{color:var(--white)}
.modal-title{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:24px;letter-spacing:4px;margin-bottom:8px;text-transform:uppercase}
.modal-sub{font-size:12px;color:var(--gray);letter-spacing:1px;margin-bottom:28px;line-height:1.6;font-weight:300}
.type-row{display:flex;gap:8px;margin-bottom:28px;flex-wrap:wrap}
.type-btn{flex:1;min-width:120px;background:transparent;border:1px solid var(--border);color:var(--gray);padding:10px 8px;font-size:9px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;font-family:"Space Grotesk",sans-serif;transition:all .2s}
.type-btn.active{border-color:var(--blue);color:var(--blue)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}
.field{display:flex;flex-direction:column}
.field-full{grid-column:1/-1}
.field label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gray);margin-bottom:6px;font-weight:500}
.field input,.field select,.field textarea{background:#0f0f0f;border:1px solid var(--border);border-bottom-color:#333;color:var(--white);padding:11px 12px;font-size:16px;font-family:"Space Grotesk",sans-serif;outline:none;transition:border-color .2s;-webkit-appearance:none;font-weight:300}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue)}
.field input::placeholder,.field textarea::placeholder{color:#333}
.field select{color:var(--white);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23666'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}
.field select option{background:#111;color:var(--white)}
.field textarea{resize:none;height:80px;line-height:1.5}
.btn-submit{width:100%;background:transparent;border:1px solid var(--blue);color:var(--white);padding:14px;font-size:11px;letter-spacing:3px;text-transform:uppercase;cursor:pointer;font-family:"Space Grotesk",sans-serif;font-weight:500;transition:background .2s;margin-bottom:12px}
.btn-submit:hover{background:rgba(0,128,255,.08)}
.btn-submit:disabled{opacity:.3;cursor:not-allowed}
.form-error{color:#cc3333;font-size:10px;letter-spacing:1px;text-transform:uppercase;min-height:16px;margin-bottom:8px}
.form-note{font-size:10px;color:#333;letter-spacing:1px;line-height:1.6}
.success-msg{text-align:center;padding:60px 20px}
.success-msg h3{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:20px;letter-spacing:4px;color:var(--blue);margin-bottom:16px}
.success-msg p{font-size:13px;color:var(--gray);letter-spacing:1px;line-height:1.8;font-weight:300}
@media(max-width:1024px){.stack-row-1{grid-template-columns:1fr 1fr}.stack-row-2{grid-template-columns:1fr 1fr}.stack-label-cell{display:none}.stack-label-empty{display:none}.infra-grid{grid-template-columns:1fr 1fr}.infra-label{grid-column:1/-1;border-right:none;border-bottom:1px solid var(--border)}}
@media(max-width:768px){.nav-inner{padding:0 24px}.nav-links{display:none}.nav-hamburger{display:block}.section-audit{padding:80px 24px}.section-sovereignty{padding:80px 24px}.infra-grid{grid-template-columns:1fr}.infra-label{border-right:none;border-bottom:1px solid var(--border);padding:32px 24px;overflow:visible;word-break:normal}.infra-label span{writing-mode:horizontal-tb;-webkit-writing-mode:horizontal-tb;transform:none;font-size:22px;letter-spacing:6px}.infra-card{border-right:none;border-bottom:1px solid var(--border);padding:32px 24px}.infra-card h3{font-size:18px;letter-spacing:0px}.stack-row-1,.stack-row-2{grid-template-columns:1fr}.stack-card{border-right:none;border-bottom:1px solid var(--border)}.section-team{padding:60px 0}.section-cta{padding:80px 24px}.cta-inner{text-align:center}#footer{padding:48px 24px}.footer-top{flex-direction:column;align-items:flex-start;gap:32px}.footer-bottom{flex-direction:column;align-items:flex-start}.form-grid{grid-template-columns:1fr}.modal-box{padding:28px 20px}}
@media(max-width:480px){.infra-label span{font-size:20px;letter-spacing:4px}.stack-label-cell span{font-size:14px;letter-spacing:2px}}
@keyframes lightBeam{0%{transform:translateY(-100%);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translateY(800%);opacity:0}}
.stack-card{position:relative;overflow:hidden}
.stack-card::after{content:'';position:absolute;top:0;left:0;width:1px;height:30%;background:linear-gradient(to bottom,transparent,rgba(0,128,255,0.6),transparent);animation:lightBeam 4s ease-in-out infinite;animation-delay:calc(var(--i,0) * 0.6s)}
.stack-row-1 .stack-card:nth-child(1){--i:0}
.stack-row-1 .stack-card:nth-child(2){--i:1}
.stack-row-1 .stack-card:nth-child(3){--i:2}
.stack-row-1 .stack-card:nth-child(4){--i:3}
.stack-row-2 .stack-card:nth-child(1){--i:1}
.stack-row-2 .stack-card:nth-child(2){--i:2}
.stack-row-2 .stack-card:nth-child(3){--i:3}.section-risk{background:#080808;padding:120px 48px;border-top:1px solid var(--border-blue);border-bottom:1px solid var(--border-blue)}
.risk-inner{max-width:1440px;width:100%;margin:0 auto}
.risk-label{font-size:10px;letter-spacing:4px;color:var(--blue);text-transform:uppercase;font-weight:500;display:block;margin-bottom:24px}
.risk-header h2{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:clamp(32px,4vw,56px);line-height:1.05;text-transform:uppercase;letter-spacing:-1px;margin-bottom:80px}
.risk-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;border:1px solid var(--border)}
.risk-card{padding:56px 48px;border-right:1px solid var(--border)}
.risk-card:last-child{border-right:none}
.risk-num{font-size:11px;font-weight:700;letter-spacing:3px;color:rgba(0,128,255,0.5);margin-bottom:24px}
.risk-card h3{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:16px;letter-spacing:1px;text-transform:uppercase;color:var(--white);margin-bottom:20px;line-height:1.3}
.risk-card p{font-size:14px;color:rgba(255,255,255,.55);line-height:1.9;font-weight:300}
.risk-footer{margin-top:64px;padding-top:40px;border-top:1px solid var(--border)}
.risk-footer p{font-family:"Space Grotesk",sans-serif;font-size:13px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.4)}
@media(max-width:768px){.risk-grid{grid-template-columns:1fr}.risk-card{border-right:none;border-bottom:1px solid var(--border)}.section-risk{padding:80px 24px}}

.section-deployment{background:var(--black);padding:120px 48px;border-top:1px solid var(--border)}
.deployment-inner{max-width:1440px;width:100%;margin:0 auto}
.deployment-label{font-size:10px;letter-spacing:4px;color:var(--blue);text-transform:uppercase;font-weight:500;display:block;margin-bottom:24px}
.deployment-header h2{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:clamp(32px,4vw,56px);line-height:1.05;text-transform:uppercase;letter-spacing:-1px;margin-bottom:24px}
.deployment-sub{font-size:15px;color:rgba(255,255,255,.55);line-height:1.8;font-weight:300;max-width:640px;margin-bottom:80px}
.deployment-flow{display:grid;grid-template-columns:1fr 32px 1fr 32px 1fr 32px 1fr;align-items:start;border:1px solid var(--border)}
.deployment-step{padding:56px 40px;background:var(--dark)}
.deployment-arrow{display:flex;align-items:flex-start;justify-content:center;width:32px;padding-top:72px;color:rgba(0,128,255,0.35);font-size:14px;background:var(--dark);border-left:1px solid var(--border);border-right:1px solid var(--border)}
.deployment-step-num{font-size:11px;font-weight:700;letter-spacing:3px;color:rgba(0,128,255,0.5);margin-bottom:28px}
.deployment-step-line{width:32px;height:1px;background:var(--blue);opacity:0.3;margin-bottom:28px}
.deployment-step-title{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--white);margin-bottom:16px;line-height:1.3}
.deployment-step-desc{font-size:13px;color:rgba(255,255,255,.5);line-height:1.85;font-weight:300}
.deployment-note{margin-top:40px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.deployment-note span{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.25)}
.deployment-dot{color:rgba(0,128,255,0.4) !important}
@media(max-width:1024px){.deployment-flow{grid-template-columns:1fr 1fr}.deployment-arrow{display:none}}
@media(max-width:768px){.deployment-flow{grid-template-columns:1fr}.section-deployment{padding:80px 24px}}

.stack-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.stack-header-left{display:flex;flex-direction:column}
.stack-main-title{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:48px;line-height:1;text-transform:uppercase;letter-spacing:-1.5px;color:var(--blue);margin:0}
.stack-list{display:flex;flex-direction:column}
.stack-row-item{display:grid;grid-template-columns:140px 280px 1fr auto;align-items:center;padding:44px 48px;border-bottom:1px solid var(--border);background:var(--dark);transition:background 0.2s;cursor:default;position:relative;overflow:hidden}
.stack-row-item:hover{background:#0d0d0d}
.stack-row-item:hover .stack-row-active{opacity:1}
.stack-row-item:last-child{border-bottom:none}
.stack-row-num{font-size:13px;font-weight:600;color:var(--blue);letter-spacing:3px;font-family:"Space Grotesk",sans-serif;line-height:1}
.stack-row-title{font-size:26px;font-weight:700;color:var(--white);text-transform:uppercase;letter-spacing:-0.5px;margin-bottom:8px;font-family:"Space Grotesk",sans-serif}
.stack-row-sub{font-size:10px;letter-spacing:3px;color:var(--blue);text-transform:uppercase;font-weight:500}
.stack-row-desc{font-size:14px;color:rgba(255,255,255,0.45);line-height:1.9;font-weight:300;max-width:520px;padding-left:48px;border-left:1px solid var(--border)}
.stack-row-active{opacity:0;transition:opacity 0.2s;font-size:10px;letter-spacing:2px;color:rgba(0,128,255,0.7);text-transform:uppercase;padding-left:32px}
@media(max-width:1024px){.stack-row-item{grid-template-columns:80px 1fr}.stack-row-desc{display:none}.stack-row-active{display:none}}
@media(max-width:768px){.stack-header{flex-direction:column;gap:24px;padding:48px 24px 32px}.stack-main-title{font-size:40px}.stack-header-sub{text-align:left}.stack-row-item{padding:24px 20px;grid-template-columns:48px 1fr}}
@keyframes mBeam{0%{left:-40%;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:140%;opacity:0}}
@keyframes mGlow{0%,100%{background:var(--dark);border-left:2px solid transparent}50%{background:#0a0f1a;border-left:2px solid rgba(0,128,255,0.4)}}
@keyframes mNum{0%,100%{color:var(--blue)}50%{color:var(--white)}}
.stack-row-item.m-on{animation:mGlow 1s ease forwards}
.stack-row-item.m-on .stack-row-num{animation:mNum 0.8s ease}
.m-beam{position:absolute;top:0;height:100%;width:35%;background:linear-gradient(90deg,transparent,rgba(0,128,255,0.07),rgba(0,128,255,0.12),rgba(0,128,255,0.07),transparent);animation:mBeam 0.85s ease forwards;pointer-events:none;z-index:2}
.stack-label-top{font-family:"Space Grotesk",sans-serif;font-weight:600;font-size:11px;letter-spacing:6px;color:var(--blue);text-transform:uppercase}
.stack-label-main{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:80px;letter-spacing:-3px;color:var(--white);text-transform:uppercase;line-height:1}
.stack-header-sub{font-size:12px;color:rgba(255,255,255,0.25);letter-spacing:2px;font-weight:300}

.stack-header{padding:80px 48px 48px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;border-bottom:1px solid var(--border)}
.stack-eyebrow{font-family:"Space Grotesk",sans-serif;font-size:11px;font-weight:600;letter-spacing:6px;color:var(--blue);text-transform:uppercase}
.stack-title-main{font-family:"Space Grotesk",sans-serif;font-size:80px;font-weight:700;letter-spacing:-3px;color:var(--white);text-transform:uppercase;line-height:1;text-align:center}
.stack-tagline{font-size:12px;color:rgba(255,255,255,0.25);letter-spacing:0.5px;font-weight:300;text-align:center;margin:0;overflow-wrap:break-word}
@media(max-width:768px){.stack-title-main{font-size:clamp(40px,14vw,72px)}}
@media(max-width:480px){.stack-title-main{font-size:40px}}
@media(max-width:768px){.team-track-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none}.team-track-wrap::-webkit-scrollbar{display:none}.team-track{width:auto;padding:0 24px 8px}.team-member{scroll-snap-align:start;flex-shrink:0}}
/* ── SAFARI COMPAT ──────────────────────────────────── */
/* SF-01: flex gap fallback Safari <14.1 */
@supports not (gap:1px){
  .nav-links>*+*{margin-left:48px}
  .logo-link>*+*{margin-left:14px}
  .footer-brand>*+*{margin-left:14px}
  .footer-nav>*+*{margin-left:40px}
  .footer-right>*+*{margin-left:24px}
  .footer-partners>*+*{margin-left:8px}
  .type-row>*+*{margin-left:8px}
  .team-track>*+*{margin-left:56px}
  .deployment-note>*+*{margin-left:16px}
}
/* SF-05: letter-spacing Safari añade phantom spacing en texto centrado — compensar con padding-right */
@supports (-webkit-hyphens:none){
  .stack-title-main{padding-right:0.1em}
  .stack-eyebrow{padding-right:0.5em}
  .btn-outline,.btn-submit{padding-right:calc(32px + 3px)}
}

/* ── SECTION REPLACE ─────────────────────────────── */
.section-replace{background:#080808;padding:120px 48px;border-top:1px solid var(--border-blue);border-bottom:1px solid var(--border-blue)}
.replace-inner{max-width:1440px;width:100%;margin:0 auto}
.replace-eyebrow{font-size:10px;letter-spacing:4px;color:var(--blue);text-transform:uppercase;font-weight:500;display:block;margin-bottom:24px}
.replace-header h2{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:clamp(32px,4vw,56px);line-height:1.05;text-transform:uppercase;letter-spacing:-1px;margin-bottom:24px}
.replace-sub{font-size:15px;color:rgba(255,255,255,.45);line-height:1.8;font-weight:300;margin-bottom:72px}
.replace-grid{display:flex;flex-direction:column;border:1px solid var(--border)}
.replace-item{display:grid;grid-template-columns:1fr 64px 1fr;align-items:center;padding:40px 48px;border-bottom:1px solid var(--border);transition:background 0.2s}
.replace-item:last-child{border-bottom:none}
.replace-item:hover{background:#0a0a0a}
.replace-category{display:block;font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:13px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:8px}
.replace-risk{display:block;font-size:12px;color:rgba(255,255,255,.2);letter-spacing:0.5px;font-weight:300}
.replace-arrow-col{text-align:center;font-size:18px;color:rgba(0,128,255,0.4);font-weight:300}
.replace-module-name{display:block;font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:22px;letter-spacing:-0.5px;color:var(--white);text-transform:uppercase;margin-bottom:8px}
.replace-module-desc{display:block;font-size:12px;color:rgba(0,128,255,0.7);letter-spacing:1px;font-weight:400}
.replace-footer{margin-top:48px;padding-top:32px;border-top:1px solid var(--border);text-align:center}
.replace-footer p{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.2)}
@media(max-width:1024px){.replace-item{grid-template-columns:1fr 40px 1fr}}
@media(max-width:768px){.section-replace{padding:80px 24px}.replace-item{grid-template-columns:1fr;gap:8px;padding:28px 20px}.replace-arrow-col{display:none}.replace-footer p{letter-spacing:1px}.replace-category{font-size:11px;letter-spacing:2px}.replace-module-name{font-size:18px}}





/* ═══ HERO ════════════════════════════════════════════════════ */
#hero { background:#000; padding-top:72px; position:relative; overflow:hidden; }

.hero-content {
  max-width:1440px; width:100%; margin:0 auto;
  padding:80px 48px 80px;
  display:flex; flex-direction:column;
  align-items:flex-start;
  position:relative; z-index:2;
}

.hero-eyebrow {
  font-size:10px; font-weight:600; letter-spacing:4px;
  color:rgba(255,255,255,0.6); text-transform:uppercase;
  border-left:2px solid #0080FF; padding-left:12px;
  margin-bottom:20px; white-space:nowrap;
}
.hero-eyebrow .blue { color:#0080FF; }

.hero-content h1 {
  font-family:"Space Grotesk",sans-serif; font-weight:700;
  font-size:clamp(48px,6vw,80px); line-height:1.0;
  text-transform:uppercase; letter-spacing:-2px;
  color:#fff; margin:0 0 20px 0;
}

.hero-tagline { display:none; }

.hero-claim { display:none; }

.sovereign-stamp {
  display:block; font-size:9px; letter-spacing:2px; font-weight:400;
  color:rgba(255,255,255,0.2); text-transform:uppercase;
  font-style:italic; font-family:"Space Grotesk",sans-serif;
  border-right:1px solid rgba(0,128,255,0.2); padding-right:10px;
  white-space:nowrap; line-height:1; text-align:right; margin-top:4px;
}

.hero-desc {
  font-size:14px; color:rgba(255,255,255,0.55); font-weight:300;
  line-height:1.9; max-width:520px; margin:0 0 16px 0;
}

.btn-hero {
  display:inline-block; background:transparent;
  border:1px solid #0080FF; color:#fff;
  padding:13px 40px; font-size:10px; letter-spacing:4px;
  text-transform:uppercase; cursor:pointer;
  font-family:"Space Grotesk",sans-serif; font-weight:500;
  transition:background 0.2s; margin-bottom:48px;
}
.btn-hero:hover { background:rgba(0,128,255,0.08); }

/* ── HERO STATS BAR ──────────────────────────────── */
.hero-stats {
  display:grid; grid-template-columns:repeat(4,1fr);
  width:100%; border:1px solid rgba(0,128,255,0.25);
  background:rgba(0,5,20,0.7);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  box-shadow:0 0 60px rgba(0,128,255,0.1),inset 0 0 40px rgba(0,128,255,0.03);
  position:relative; overflow:hidden;
}
.hero-stats::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(0,128,255,0.8),transparent);
  animation:heroScan 3s ease-in-out infinite;
}
@keyframes heroScan { 0%{transform:translateX(-100%)} 100%{transform:translateX(100%)} }

.hero-stat {
  padding:20px 28px;
  border-right:1px solid rgba(0,128,255,0.15);
  display:flex; flex-direction:row;
  align-items:center; justify-content:space-between; gap:12px;
  position:relative;
}
.hero-stat:last-child { border-right:none; }

.stat-val {
  font-size:24px; font-weight:700; color:#0080FF;
  letter-spacing:-0.5px; font-family:"Space Grotesk",sans-serif;
  line-height:1; white-space:nowrap;
}
.stat-val.green { color:#28ca41; }
.stat-lbl {
  font-size:8px; letter-spacing:2px; color:rgba(255,255,255,0.28);
  text-transform:uppercase; text-align:right; white-space:nowrap;
}

.sovereign-stamp-wrap {
  display:flex; justify-content:center; padding:10px 0 0;
}
.sovereign-stamp {
  font-size:9px; letter-spacing:3px; font-weight:500;
  color:#0080FF; opacity:0.6; text-transform:uppercase;
  font-family:"Space Grotesk",sans-serif; line-height:1;
}

/* ── HERO CANVAS PARTICLES ───────────────────────── */
#hero-canvas {
  position:absolute; top:0; left:0;
  width:100%; height:100%;
  pointer-events:none; z-index:1;
}



/* ══════════════════════════════════════════════════════════════ */

/* ── ARCHITECTURE SECTION ─────────────────────────── */
.section-architecture{background:#030609;padding:80px 48px;border-top:1px solid rgba(0,128,255,0.25);border-bottom:1px solid rgba(0,128,255,0.15);position:relative;overflow:hidden}
.section-architecture::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(0,128,255,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,128,255,0.025) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}
.arch-inner{max-width:1300px;width:100%;margin:0 auto;position:relative;z-index:2}
.arch-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;padding-bottom:14px;border-bottom:1px solid rgba(0,128,255,0.12)}
.arch-header-left .arch-eyebrow{display:block;font-size:9px;letter-spacing:5px;color:rgba(0,128,255,0.55);text-transform:uppercase;margin-bottom:6px;font-family:"Space Grotesk",monospace}
.arch-title{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:clamp(22px,3vw,36px);text-transform:uppercase;letter-spacing:-1.5px;color:#fff;margin:0;line-height:1}
.arch-header-right{font-family:monospace;font-size:8px;letter-spacing:2px;color:rgba(255,255,255,0.15);text-align:right;line-height:2}
.arch-nominal{color:rgba(40,202,65,0.65)}
.arch-diagram{width:100%}
.arch-svg{width:100%;display:block}
.arch-specs{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,0.05)}
.arch-spec{display:flex;flex-direction:column;gap:4px}
.arch-spec-k{font-size:8px;letter-spacing:2px;color:rgba(255,255,255,0.18);text-transform:uppercase;font-family:monospace}
.arch-spec-v{font-size:12px;font-weight:500;color:rgba(255,255,255,0.7);font-family:monospace}
@media(max-width:1024px){.arch-header{flex-direction:column;gap:16px}.arch-header-right{text-align:left}.arch-specs{grid-template-columns:repeat(3,1fr)}}

/* ─────────────────────────────────────────────────── */
/* ── MOBILE COMPREHENSIVE PATCH ──────────────────── */
@media(max-width:768px){

  /* Hero */
  .hero-content h1{letter-spacing:-0.5px;font-size:clamp(32px,10vw,48px)}
  .hero-eyebrow{white-space:normal;font-size:9px}
  .hero-tagline{white-space:normal;font-size:9px}
  .hero-desc{font-size:13px}
  .btn-hero{width:100%;text-align:center;padding:14px 24px}
  .hero-stats{grid-template-columns:repeat(2,1fr)}
  .stat-val{font-size:18px}
  .stat-lbl{font-size:7px}

  /* Architecture — hide SVG, show mobile card list */
  .arch-svg{display:none}
  .arch-header{flex-direction:column;gap:16px;align-items:flex-start}
  .arch-header-right{text-align:left;font-size:8px}
  .arch-mobile{display:flex!important}
  .arch-specs{grid-template-columns:repeat(2,1fr);gap:12px}
  .arch-spec-v{font-size:11px}

  /* Stack */
  .stack-row-item{grid-template-columns:48px 1fr;padding:20px 20px}
  .stack-row-title{font-size:20px}

  /* Risk */
  .risk-card h3{font-size:14px}
  .risk-card p{font-size:13px}

  /* Deployment */
  .deployment-step-title{font-size:13px;letter-spacing:1px}
  .deployment-step-desc{font-size:12px}

  /* Replace */
  .replace-module-name{font-size:18px}

  /* Footer */
  .partner-logo,.hacken-logo{height:40px}
  .hacken-logo{margin-left:12px}
}

@media(max-width:480px){
  .hero-content h1{font-size:clamp(28px,9vw,40px)}
  .hero-stats{grid-template-columns:repeat(2,1fr)}
  .hero-stat{flex-direction:column;align-items:flex-start;gap:4px}
  .stat-val{font-size:18px;white-space:normal;word-break:break-word}
  .arch-specs{grid-template-columns:repeat(2,1fr)}
  .section-audit h2,.sovereignty-inner h2{font-size:clamp(28px,9vw,40px);letter-spacing:-0.5px}
}
/* ─────────────────────────────────────────────────── */

/* ── ARCH MOBILE FALLBACK ─────────────────────────── */
.arch-mobile{
  display:none;
  flex-direction:row;
  gap:8px;
  margin-bottom:24px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  padding-bottom:8px;
}
.arch-mobile-zone{
  border:1px solid rgba(0,128,255,0.2);
  padding:14px 16px;
  background:rgba(0,6,20,0.8);
  min-width:220px;
  flex-shrink:0;
}
.arch-mobile-zone-title{
  font-size:8px;letter-spacing:3px;color:rgba(0,128,255,0.5);
  text-transform:uppercase;font-family:monospace;margin-bottom:10px;
  display:block;border-bottom:1px solid rgba(0,128,255,0.1);padding-bottom:6px;
}
.arch-mobile-modules{
  display:grid;grid-template-columns:repeat(3,1fr);gap:6px;
}
.arch-mobile-mod{
  border:1px solid rgba(0,128,255,0.2);padding:8px;
  background:rgba(0,128,255,0.05);text-align:center;
}
.arch-mobile-mod-name{
  font-size:11px;font-weight:700;color:#fff;font-family:monospace;
  display:block;margin-bottom:3px;
}
.arch-mobile-mod-spec{
  font-size:7px;letter-spacing:1px;color:rgba(0,128,255,0.7);
  font-family:monospace;text-transform:uppercase;
}
.arch-mobile-audit{
  border:1px solid rgba(40,202,65,0.35);padding:12px 16px;
  background:rgba(40,202,65,0.04);margin-top:0;
  min-width:180px;flex-shrink:0;
}
.arch-mobile-result{
  display:contents;
}
.arch-mobile-sov{
  border:1px solid rgba(40,202,65,0.4);padding:12px;
  background:rgba(40,202,65,0.04);text-align:center;
  min-width:140px;flex-shrink:0;
}
.arch-mobile-blocked{
  border:1px solid rgba(255,60,60,0.25);padding:12px;
  background:rgba(255,30,30,0.04);text-align:center;
  min-width:140px;flex-shrink:0;
}
/* ─────────────────────────────────────────────────── */
