*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --blue:#1903AE;--coral:#DD5353;--chalk:#F5F4FA;--navy:#0D0080;
  --violet:#6657C5;--plum:#622B4F;--green:#1B6B3A;--mid:#888;
  --font-d:'Bebas Neue',sans-serif;--font-b:'DM Sans',sans-serif;--font-m:'JetBrains Mono',monospace;
}
html{scroll-behavior:smooth}
body{font-family:var(--font-b);background:var(--chalk);color:var(--blue);overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 56px;height:64px;background:rgba(25,3,174,0.97);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,0.07);transition:background 0.3s}
.nav-logo{font-family:var(--font-d);font-size:22px;letter-spacing:1px;color:var(--chalk)}.nav-logo span{color:var(--coral)}
.nav-links{display:flex;gap:28px}.nav-links a{font-size:12px;font-weight:400;color:rgba(245,244,250,0.55);letter-spacing:0.5px;transition:color 0.2s}.nav-links a:hover{color:var(--chalk)}
.nav-cta{background:var(--coral);color:#fff;padding:8px 22px;border-radius:4px;font-size:13px;font-weight:500;transition:opacity 0.2s; text-decoration:none;}.nav-cta:hover{opacity:0.85;color:#fff;}

/* HERO */
.hero{min-height:100vh;background:var(--blue);display:grid;grid-template-columns:55% 45%;position:relative;overflow:hidden;padding-top:64px}
.hero-bg-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,0.05) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.hero-coral-slice{position:absolute;right:0;top:0;bottom:0;width:47%;background:var(--coral);clip-path:polygon(15% 0%,100% 0%,100% 100%,0% 100%);z-index:0}
.hero-left{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:80px 64px 80px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(102,87,197,0.25);border:1px solid rgba(102,87,197,0.45);border-radius:20px;padding:5px 16px;margin-bottom:28px;width:fit-content}
.eyebrow-dot{width:6px;height:6px;border-radius:50%;background:#4ade80;animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.3}}
.eyebrow span{font-size:10px;font-weight:500;color:#a0f0c0;letter-spacing:1.8px;text-transform:uppercase}
.hero-h1{font-family:var(--font-d);font-size:clamp(60px,8vw,108px);line-height:0.92;color:var(--chalk);letter-spacing:2px;margin-bottom:28px}
.hero-h1 .ac{color:var(--coral)}
.hero-sub{font-size:16px;font-weight:300;line-height:1.75;color:rgba(245,244,250,0.6);max-width:440px;margin-bottom:36px}
.hero-sub strong{color:var(--chalk);font-weight:500}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:52px}
.btn-hero-p{background:var(--coral);color:#fff;padding:14px 32px;border-radius:4px;font-size:14px;font-weight:500;transition:transform 0.2s,opacity 0.2s;text-decoration:none;}.btn-hero-p:hover{transform:translateY(-2px);opacity:0.9;color:#fff;}
.btn-hero-g{border:1.5px solid rgba(245,244,250,0.25);color:var(--chalk);padding:14px 32px;border-radius:4px;font-size:14px;transition:border-color 0.2s;text-decoration:none;}.btn-hero-g:hover{border-color:rgba(245,244,250,0.65);color:var(--chalk);}
.hero-stats{display:flex;gap:40px;padding-top:36px;border-top:1px solid rgba(245,244,250,0.1)}
.stat-n{font-family:var(--font-d);font-size:38px;color:var(--chalk);line-height:1}.stat-n span{color:var(--coral)}
.stat-l{font-size:11px;color:rgba(245,244,250,0.4);letter-spacing:0.3px;margin-top:3px;line-height:1.4}

/* HERO RIGHT */
.hero-right{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:80px 48px 80px 24px;gap:10px}
.chain-card{background:rgba(255,255,255,0.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.18);border-radius:14px;padding:20px 24px;width:100%;max-width:350px;position:relative;transition:transform 0.2s}
.chain-card:hover{transform:translateY(-2px)}
.chain-card.hero-active{background:rgba(255,255,255,0.96);border:none;box-shadow:0 12px 40px rgba(0,0,0,0.18)}
.cc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cc-stage{font-size:10px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,0.45)}
.chain-card.hero-active .cc-stage{color:var(--coral)}
.cc-live{font-size:9px;font-weight:500;letter-spacing:1px;text-transform:uppercase;padding:3px 9px;border-radius:10px;background:rgba(74,222,128,0.2);color:#4ade80}
.chain-card.hero-active .cc-live{background:rgba(27,107,58,0.12);color:var(--green)}
.cc-title{font-size:15px;font-weight:500;color:rgba(255,255,255,0.9)}
.chain-card.hero-active .cc-title{color:var(--blue)}
.cc-detail{font-size:12px;color:rgba(255,255,255,0.45);margin-top:4px}
.chain-card.hero-active .cc-detail{color:var(--mid)}
/* Real QR code in active card */
.cc-qr{position:absolute;right:18px;bottom:18px;width:62px;height:62px;border-radius:8px;overflow:hidden;background:#fff;padding:3px;box-shadow:0 2px 8px rgba(0,0,0,0.12)}
.cc-qr img{width:100%;height:100%;border-radius:4px}
.chain-arr{display:flex;align-items:center;gap:6px;padding:0 20px;color:rgba(255,255,255,0.25);font-size:10px;letter-spacing:1.5px;text-transform:uppercase}
.chain-arr-line{flex:1;height:1px;background:rgba(255,255,255,0.15)}
.chain-arr-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,0.25);flex-shrink:0}

/* USP STRIP - THE KEY DIFFERENTIATOR */
.usp-strip{background:var(--navy);padding:0}
.usp-header{text-align:center;padding:80px 64px 56px}
.usp-header .section-eyebrow{font-size:11px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:var(--coral);margin-bottom:14px}
.usp-header h2{font-family:var(--font-d);font-size:clamp(38px,5vw,62px);color:var(--chalk);letter-spacing:1px;line-height:1;margin-bottom:18px}
.usp-header h2 em{font-style:normal;color:var(--coral)}
.usp-header p{font-size:16px;font-weight:300;line-height:1.8;color:rgba(245,244,250,0.5);max-width:640px;margin:0 auto}

/* Central QR visual */
.qr-universe{position:relative;display:flex;justify-content:center;align-items:center;padding:20px 64px 80px;overflow:visible}
.qr-center{position:relative;z-index:10;background:#fff;border-radius:16px;padding:16px;box-shadow:0 24px 64px rgba(0,0,0,0.4);width:160px;height:160px;flex-shrink:0}
.qr-center img{width:100%;height:100%;border-radius:8px}
.qr-center-label{position:absolute;bottom:-32px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:11px;font-weight:500;color:rgba(245,244,250,0.4);letter-spacing:1px}

/* Role spokes */
.roles-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1100px;margin:0 auto;padding:0 64px 80px}
.role-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:28px 24px;position:relative;overflow:hidden;transition:background 0.25s,border-color 0.25s,transform 0.25s}
.role-card:hover{background:rgba(255,255,255,0.08);border-color:rgba(221,83,83,0.35);transform:translateY(-4px)}
.role-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--coral);transform:scaleX(0);transform-origin:left;transition:transform 0.3s}
.role-card:hover::before{transform:scaleX(1)}
.role-who{font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--coral);margin-bottom:14px}
.role-icon{font-size:28px;margin-bottom:12px}
.role-card h3{font-size:15px;font-weight:500;color:var(--chalk);margin-bottom:10px;line-height:1.3}
.role-card p{font-size:12.5px;line-height:1.7;color:rgba(245,244,250,0.45)}
.role-tag{margin-top:14px;display:inline-block;font-family:var(--font-m);font-size:10px;color:rgba(245,244,250,0.3);letter-spacing:0.5px}

/* ONE QR banner */
.one-qr-banner{background:rgba(221,83,83,0.12);border-top:1px solid rgba(221,83,83,0.2);border-bottom:1px solid rgba(221,83,83,0.2);padding:28px 64px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.one-qr-big{font-family:var(--font-d);font-size:56px;color:var(--coral);line-height:1;flex-shrink:0}
.one-qr-text{font-size:15px;font-weight:300;color:rgba(245,244,250,0.65);line-height:1.7;max-width:700px}
.one-qr-text strong{color:var(--chalk);font-weight:500}

/* PROBLEM SECTION */
.section-wrap{max-width:1200px;margin:0 auto;padding:100px 64px}
.section-eyebrow{font-size:11px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:var(--coral);margin-bottom:14px}
.section-h2{font-family:var(--font-d);font-size:clamp(36px,5vw,60px);letter-spacing:1px;line-height:1;margin-bottom:18px}
.section-h2 em{font-style:normal;color:var(--coral)}
.section-lead{font-size:16px;font-weight:300;line-height:1.8;color:rgba(25,3,174,0.55);max-width:620px}

.problem-bg{background:var(--navy)}
.problem-bg .section-eyebrow{color:var(--coral)}
.problem-bg .section-h2{color:var(--chalk)}
.problem-bg .section-lead{color:rgba(245,244,250,0.5)}
.prob-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;margin-top:52px}
.prob-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.07);padding:40px 36px;transition:background 0.25s}
.prob-card:hover{background:rgba(255,255,255,0.07)}
.prob-card:nth-child(1){border-radius:12px 0 0 0}.prob-card:nth-child(2){border-radius:0 12px 0 0}
.prob-card:nth-child(3){border-radius:0 0 0 12px}.prob-card:nth-child(4){border-radius:0 0 12px 0}
.prob-num{font-family:var(--font-d);font-size:52px;color:rgba(221,83,83,0.15);line-height:1;margin-bottom:8px}
.prob-card h3{font-size:16px;font-weight:500;color:var(--chalk);margin-bottom:12px}
.prob-card p{font-size:13.5px;line-height:1.75;color:rgba(245,244,250,0.45)}
.prob-impact{margin-top:16px;display:inline-block;font-family:var(--font-m);font-size:10px;color:var(--coral);letter-spacing:0.5px}

/* SOLUTION SECTION */
.sol-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;margin-top:52px}
.sol-card{background:#fff;border:1px solid rgba(25,3,174,0.08);padding:40px;position:relative;overflow:hidden;transition:box-shadow 0.25s,transform 0.25s}
.sol-card:hover{box-shadow:0 16px 48px rgba(25,3,174,0.1);transform:translateY(-3px)}
.sol-card:nth-child(1){border-radius:12px 0 0 0}.sol-card:nth-child(2){border-radius:0 12px 0 0}
.sol-card:nth-child(3){border-radius:0 0 0 12px}.sol-card:nth-child(4){border-radius:0 0 12px 0}
.sol-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform 0.3s}
.sol-card:hover::after{transform:scaleX(1)}
.sol-num{font-family:var(--font-d);font-size:72px;line-height:1;color:rgba(25,3,174,0.05);position:absolute;top:16px;right:24px}
.sol-icon{width:50px;height:50px;border-radius:10px;background:rgba(25,3,174,0.07);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:20px}
.sol-card h3{font-size:18px;font-weight:500;color:var(--blue);margin-bottom:12px}
.sol-card p{font-size:14px;line-height:1.75;color:rgba(25,3,174,0.55)}
.sol-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.sol-tag{font-family:var(--font-m);font-size:10px;color:var(--blue);background:rgba(25,3,174,0.07);border-radius:4px;padding:3px 8px;letter-spacing:0.3px}

/* HOW IT WORKS */
.how-bg{background:var(--blue)}
.how-bg .section-eyebrow{color:var(--coral)}
.how-bg .section-h2{color:var(--chalk)}
.how-bg .section-lead{color:rgba(245,244,250,0.5)}
.stages-wrap{margin-top:64px;position:relative}
.stages-track{position:absolute;top:36px;left:60px;right:60px;height:2px;background:linear-gradient(90deg,var(--coral) 0%,rgba(102,87,197,0.3) 100%);z-index:0}
.stages-row{display:flex;gap:0;position:relative;z-index:1}
.stage{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 8px}
.stage-circle{width:72px;height:72px;border-radius:50%;background:var(--blue);border:2px solid rgba(102,87,197,0.35);display:flex;align-items:center;justify-content:center;margin-bottom:20px;transition:border-color 0.3s,transform 0.3s;position:relative}
.stage-circle.sc-active{background:var(--coral);border-color:var(--coral);box-shadow:0 0 0 8px rgba(221,83,83,0.18)}
.stage:hover .stage-circle{border-color:var(--coral);transform:scale(1.08)}
.stage-n{font-family:var(--font-d);font-size:26px;color:rgba(245,244,250,0.35)}
.stage-circle.sc-active .stage-n{color:#fff}
.stage-title{font-size:13px;font-weight:500;color:var(--chalk);margin-bottom:8px;line-height:1.3}
.stage-desc{font-size:12px;line-height:1.65;color:rgba(245,244,250,0.4)}
.stage-tag{margin-top:10px;font-family:var(--font-m);font-size:9px;color:rgba(221,83,83,0.7);letter-spacing:1px;text-transform:uppercase}

/* OUTCOMES / BENEFITS */
.outcomes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px}
.outcome-card{padding:36px 32px;border:1px solid rgba(25,3,174,0.1);border-radius:14px;background:#fff;transition:box-shadow 0.25s,transform 0.25s;position:relative;overflow:hidden}
.outcome-card::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--coral);transform:scaleX(0);transform-origin:center;transition:transform 0.3s}
.outcome-card:hover{box-shadow:0 12px 40px rgba(25,3,174,0.08);transform:translateY(-4px)}
.outcome-card:hover::before{transform:scaleX(1)}
.oc-dept{font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--coral);margin-bottom:16px}
.oc-icon{font-size:32px;margin-bottom:14px}
.outcome-card h3{font-size:16px;font-weight:500;color:var(--blue);margin-bottom:10px}
.outcome-card p{font-size:13px;line-height:1.75;color:rgba(25,3,174,0.55)}
.oc-metric{margin-top:16px;font-family:var(--font-m);font-size:11px;color:var(--blue);background:rgba(25,3,174,0.06);border-radius:4px;padding:5px 10px;display:inline-block}

/* GS1 STANDARD SECTION */
.gs1-bg{background:#F0EFF8}
.gs1-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-top:0}
.gs1-left h2{font-family:var(--font-d);font-size:clamp(36px,4vw,52px);letter-spacing:1px;line-height:1;margin-bottom:20px;color:var(--blue)}
.gs1-left h2 em{font-style:normal;color:var(--coral)}
.gs1-left p{font-size:14px;line-height:1.8;color:rgba(25,3,174,0.55);margin-bottom:16px}
.gs1-uri{background:#fff;border:1px solid rgba(25,3,174,0.12);border-radius:8px;padding:14px 18px;font-family:var(--font-m);font-size:12px;color:var(--blue);margin:20px 0;word-break:break-all;line-height:1.6}
.gs1-uri .gs1-domain{color:var(--coral)}
.gs1-uri .gs1-ai{color:var(--violet)}
.gs1-points{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.gs1-pt{display:flex;gap:12px;align-items:flex-start}
.gs1-pt-dot{width:20px;height:20px;border-radius:50%;background:rgba(221,83,83,0.12);color:var(--coral);font-size:11px;font-weight:500;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.gs1-pt-text{font-size:13px;line-height:1.65;color:rgba(25,3,174,0.6)}
.gs1-pt-text strong{color:var(--blue);font-weight:500}
.gs1-right{background:var(--blue);border-radius:16px;padding:36px;position:relative;overflow:hidden}
.gs1-right::before{content:'';position:absolute;bottom:-60px;right:-60px;width:200px;height:200px;border-radius:50%;background:rgba(221,83,83,0.12)}
.gs1-scan-label{font-size:11px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:rgba(245,244,250,0.4);margin-bottom:20px}
.gs1-qr-wrap{background:#fff;border-radius:12px;padding:20px;width:180px;margin:0 auto 24px;box-shadow:0 8px 32px rgba(0,0,0,0.2)}
.gs1-qr-wrap img{width:100%;border-radius:6px}
.gs1-scan-hint{text-align:center;font-size:12px;color:rgba(245,244,250,0.5);margin-bottom:24px}
.gs1-decode{font-family:var(--font-m);font-size:10px;color:rgba(245,244,250,0.3);word-break:break-all;line-height:1.7;background:rgba(0,0,0,0.2);border-radius:6px;padding:12px}
.gs1-decode .dh{color:var(--coral)}.gs1-decode .da{color:#a0f0c0}

/* COMPLIANCE */
.compliance-band{background:var(--navy);padding:70px 64px;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.comp-left h2{font-family:var(--font-d);font-size:44px;color:var(--chalk);letter-spacing:1px;margin-bottom:10px}
.comp-left p{font-size:14px;font-weight:300;color:rgba(245,244,250,0.45);max-width:440px;line-height:1.75}
.comp-badges{display:flex;flex-wrap:wrap;gap:12px}
.cbadge{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:10px;padding:14px 18px;min-width:110px;text-align:center;transition:background 0.2s}
.cbadge:hover{background:rgba(255,255,255,0.1)}
.cbadge-l{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(245,244,250,0.3);margin-bottom:6px}
.cbadge-v{font-size:13px;font-weight:500;color:var(--chalk)}

/* CTA */
.cta-section{background:var(--coral);padding:100px 64px;text-align:center;position:relative;overflow:hidden}
.cta-section::before,.cta-section::after{content:'';position:absolute;border-radius:50%;background:rgba(0,0,0,0.07)}
.cta-section::before{width:500px;height:500px;top:-200px;left:-150px}
.cta-section::after{width:350px;height:350px;bottom:-150px;right:-100px}
.cta-section h2{font-family:var(--font-d);font-size:clamp(44px,6vw,80px);color:#fff;letter-spacing:1px;margin-bottom:20px;position:relative;z-index:1}
.cta-section p{font-size:17px;font-weight:300;color:rgba(255,255,255,0.8);max-width:540px;margin:0 auto 44px;line-height:1.75;position:relative;z-index:1}
.cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}
.btn-cw{background:#fff;color:var(--coral);padding:16px 40px;border-radius:4px;font-size:15px;font-weight:500;transition:transform 0.2s;text-decoration:none;}.btn-cw:hover{transform:translateY(-2px);color:var(--coral);}
.btn-co{border:2px solid rgba(255,255,255,0.45);color:#fff;padding:16px 40px;border-radius:4px;font-size:15px;transition:border-color 0.2s;text-decoration:none;}.btn-co:hover{border-color:#fff;color:#fff;}
.cta-note{margin-top:20px;font-size:12px;color:rgba(255,255,255,0.5);position:relative;z-index:1}

/* FOOTER */
footer{background:#06004A;padding:64px 64px 32px}
.ft{display:flex;justify-content:space-between;gap:48px;margin-bottom:52px;flex-wrap:wrap}
.fb-logo{font-family:var(--font-d);font-size:24px;letter-spacing:1px;color:var(--chalk);margin-bottom:12px}.fb-logo span{color:var(--coral)}
.fb-desc{font-size:13px;font-weight:300;color:rgba(245,244,250,0.3);max-width:240px;line-height:1.7}
.fc h4{font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:rgba(245,244,250,0.25);margin-bottom:16px}
.fc a{display:block;margin-bottom:10px;font-size:13px;color:rgba(245,244,250,0.45);transition:color 0.2s;text-decoration:none;}.fc a:hover{color:var(--chalk)}
.fb-bottom{border-top:1px solid rgba(255,255,255,0.06);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.fb-bottom p{font-size:12px;color:rgba(245,244,250,0.2)}
.fb-mono{font-family:var(--font-m);font-size:10px;color:rgba(245,244,250,0.15)}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.65s ease,transform 0.65s ease}
.reveal.visible{opacity:1;transform:none}
.reveal-d1{transition-delay:0.08s}.reveal-d2{transition-delay:0.16s}.reveal-d3{transition-delay:0.24s}.reveal-d4{transition-delay:0.32s}

/* DESIGNER BAR */
.dbar{background:#FFF8E1;border-bottom:3px solid #F5A623;padding:10px 48px;font-size:11.5px;color:#6B4500;display:flex;gap:6px;align-items:center;flex-wrap:wrap;display:none;} /* Hidden by default */
.dbar strong{font-weight:600}

@media(max-width:960px){
  nav{padding:0 24px}.nav-links{display:none}
  .hero{grid-template-columns:1fr}.hero-right{display:none}
  .hero-left{padding:100px 32px 64px}
  .prob-grid{grid-template-columns:1fr}.sol-grid{grid-template-columns:1fr}
  .roles-grid{grid-template-columns:1fr 1fr;padding:0 32px 64px}
  .outcomes-grid{grid-template-columns:1fr}.gs1-split{grid-template-columns:1fr}
  .section-wrap{padding:64px 32px}
  .usp-header{padding:64px 32px 40px}
  .compliance-band{padding:56px 32px}
  .cta-section{padding:72px 32px}
  footer{padding:48px 32px 24px}
}
