:root {
  --primary:         #8b5cf6;
  --primary-hover:   #7c3aed;
  --primary-light:   #a78bfa;
  --primary-lighter: #c4b5fd;
  --primary-dark:    #6d28d9;
  --background:      #fafaf9;
  --background-alt:  #f5f5f4;
  --foreground:      #18181b;
  --card:            #ffffff;
  --secondary:            #f3f0ff;
  --muted-foreground:     #71717a;
  --accent:               #ede9fe;
  --success: #10b981;
  --border:     rgba(139,92,246,0.12);
  --border-mid: rgba(139,92,246,0.25);
  --shadow-md: 0 4px 6px -1px rgba(139,92,246,0.08),0 2px 4px -1px rgba(139,92,246,0.04);
  --shadow-xl: 0 20px 25px -5px rgba(139,92,246,0.15),0 10px 10px -5px rgba(139,92,246,0.08);
  --shadow-glow: 0 0 20px rgba(139,92,246,0.3);
  --radius:     0.75rem;
  --radius-sm:  0.5rem;
  --radius-lg:  1rem;
  --radius-xl:  1.5rem;
  --radius-2xl: 2rem;
  --font-display: 'Ubuntu', sans-serif;
  --font-body:    'Open Sans', sans-serif;
  --nav-h: 72px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;overflow-x: hidden;}
body{font-family:var(--font-body);background:var(--background);color:var(--foreground);line-height:1.7;overflow-x: hidden;}
::selection{background:var(--primary);color:#fff;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button{font-family:inherit;cursor: pointer;}
:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.skip-link { position: absolute; top: -100px; left: 50%; transform: translateX(-50%); background: var(--primary); color: #fff; padding: 0.75rem 1.5rem; border-radius: var(--radius); font-family: var(--font-display); font-weight: 600; z-index: 9999; transition: top 0.3s; }
.skip-link:focus { top: 10px; }

.prod-icon i, .diff-icon i, .exp-icon i, .val-emoji i, .ci-icon i { color: var(--primary); }
.partner-emoji { color: var(--primary); }
.h-chip-icon i { color: green; }

::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-track{background:var(--background-alt);}
::-webkit-scrollbar-thumb{background:var(--primary-lighter);border-radius:3px;}

h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.1;letter-spacing:-0.02em;}
h4,h5,h6{font-family:var(--font-display);font-weight:500;}
p{color:var(--muted-foreground);line-height:1.75;}

.text-gradient{background:linear-gradient(135deg,var(--primary),var(--primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.text-gradient-animated{background:linear-gradient(135deg,var(--primary-dark),var(--primary),var(--primary-light),var(--primary-dark));background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:grad-move 4s ease infinite;}
@keyframes grad-move{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}

.container{max-width:1200px;margin:0 auto;padding:0 2rem;}
/* Increased top spacing for sections */
.section{padding:5.5rem 0 5rem 0;}
.section-sm{padding:3rem 0;}

.btn{display:inline-flex;align-items:center;gap:0.55rem;font-family:var(--font-display);font-size:0.875rem;font-weight:500;padding:0.75rem 1.75rem;border-radius:var(--radius);border:none;cursor: pointer;transition:all 0.28s cubic-bezier(0.4,0,0.2,1);white-space:nowrap;position:relative;overflow:hidden;}
.btn::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,0.15),transparent);opacity:0;transition:opacity 0.3s;}
.btn:hover::after{opacity:1;}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:var(--shadow-md);}
.btn-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:var(--shadow-xl),var(--shadow-glow);}
.btn-outline{background:transparent;color:var(--foreground);border:1.5px solid var(--border-mid);}
.btn-outline:hover{background:var(--secondary);border-color:var(--primary);color:var(--primary-dark);transform:translateY(-2px);}
.btn-lg{padding:1rem 2.25rem;font-size:1rem;}
.btn-sm{padding:0.45rem 1rem;font-size:0.8rem;}
.btn svg{width:16px;height:16px;flex-shrink:0;transition:transform 0.25s;}
.btn:hover svg{transform:translateX(4px);}

.badge{display:inline-flex;align-items:center;gap:0.4rem;font-family:var(--font-display);font-size:0.7rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;padding:0.3rem 0.85rem;border-radius:100px;background:var(--secondary);color:var(--primary-dark);border:1px solid var(--border-mid);}
.badge-dot{width:5px;height:5px;border-radius:50%;background:var(--primary);animation:pulse-dot 2s infinite;}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.5;transform:scale(0.8)}}

.reveal{opacity:1;transform:translateY(0);transition:opacity 0.65s cubic-bezier(0.4,0,0.2,1),transform 0.65s cubic-bezier(0.4,0,0.2,1);}
.reveal.pre{opacity:0;transform:translateY(28px);}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal-left{opacity:1;transform:translateX(0);transition:opacity 0.65s ease,transform 0.65s ease;}
.reveal-left.pre{opacity:0;transform:translateX(-32px);}
.reveal-left.in{opacity:1;transform:translateX(0);}
.reveal-right{opacity:1;transform:translateX(0);transition:opacity 0.65s ease,transform 0.65s ease;}
.reveal-right.pre{opacity:0;transform:translateX(32px);}
.reveal-right.in{opacity:1;transform:translateX(0);}
@keyframes fade-up{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}

section[id]{scroll-margin-top:calc(var(--nav-h) + 8px);}

.nav{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nav-h);background:#ffffff;border-bottom:1px solid var(--border);transition:box-shadow 0.3s ease;}
.nav.scrolled{background:#ffffff;border-bottom:1px solid var(--border-mid);box-shadow:0 2px 16px rgba(139,92,246,0.08);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:1200px;margin:0 auto;padding:0 2rem;}
.nav-logo{display:flex;align-items:center;gap:0.5rem;font-family:var(--font-display);font-weight:700;font-size:1.15rem;letter-spacing:-0.03em;color:var(--foreground);}
.nav-logo-mark{width:34px;height:34px;background:var(--primary);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;box-shadow:0 2px 12px rgba(139,92,246,0.35);transition:transform 0.3s;}
.nav-logo:hover .nav-logo-mark{transform:rotate(-6deg) scale(1.1);}
.nav-links{display:flex;align-items:center;gap:0.1rem;list-style:none;}
/* Base Navigation Link */
.nav-links a {
    font-family: var(--font-display);
    font-size: 0.875rem;
    font-weight: 400;
    color: var(--muted-foreground);
    padding: 0.5rem 0.9rem;
    border-radius: var(--radius);
    transition: color 0.2s, background 0.2s;
    position: relative;
    text-decoration: none;
}

/* The Underline (Pseudo-element) */
.nav-links a::after {
    content: '';
    position: absolute;
    bottom: 4px;
    /* Matches your horizontal padding (0.9rem) */
    left: 0.9rem; 
    right: 0.9rem;
    height: 1.5px;
    background: var(--primary);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.25s ease;
}
.nav-links a:hover {
    color: var(--foreground);
}
.nav-links a:hover::after {
    transform: scaleX(1);
}
.nav-links a.active {
    color: var(--foreground) !important; 
}
.nav-links a.active::after {
    transform: scaleX(1); 
}
.nav-cta{display:flex;align-items:center;gap:0.75rem;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;}
.hamburger span{display:block;width:22px;height:2px;background:var(--foreground);border-radius:2px;transition:all 0.3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobile-menu{display:none;position:fixed;top:var(--nav-h);left:0;right:0;background:rgba(250,250,249,0.97);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:2rem;flex-direction:column;gap:0.5rem;z-index:199;box-shadow:var(--shadow-xl);overflow-y: auto; max-height: calc(100vh - 72px);}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-size:1.1rem;font-weight:500;color:var(--muted-foreground);padding:0.875rem 1rem;border-radius:var(--radius);transition:all 0.2s;}
.mobile-menu a:hover{color:var(--primary);background:var(--secondary);}

@media(max-width:768px){.nav-links,.nav-cta .btn-outline{display:none;}.hamburger{display:flex;}}

.hero{min-height:100vh;padding-top:var(--nav-h);position:relative;overflow:hidden;display:flex;align-items:center;background:var(--background);perspective: 1000px;}
.hero-geo{position:absolute;inset:0;pointer-events:none;overflow:hidden;transform-style: preserve-3d;}
.hero-circle-lg{position:absolute;width:780px;height:780px;top:-120px;right:-180px;border:1px solid var(--border);border-radius:50%;transform: translateZ(-50px) scale(1.2);}
.hero-circle-md{position:absolute;width:520px;height:520px;top:40px;right:0px;border:1px solid rgba(139,92,246,0.08);border-radius:50%;transform: translateZ(-30px) scale(1.1);}
.hero-dots{position:absolute;right:5%;top:15%;width:280px;height:280px;background-image:radial-gradient(circle,rgba(139,92,246,0.18) 1.5px,transparent 1.5px);background-size:24px 24px;border-radius:50%;mask-image:radial-gradient(circle,black 60%,transparent 100%);-webkit-mask-image:radial-gradient(circle,black 60%,transparent 100%);animation:dots-rotate 40s linear infinite;transform: translateZ(-40px) scale(1.15);}
@keyframes dots-rotate{from{transform:rotate(0deg) translateZ(-40px) scale(1.15);}to{transform:rotate(360deg) translateZ(-40px) scale(1.15);}}
.hero-band{position:absolute;bottom:0;left:0;right:0;height:200px;background:linear-gradient(to top,rgba(243,240,255,0.6),transparent);}
.hero-bg-num{position:absolute;font-family:var(--font-display);font-weight:700;font-size:clamp(180px,28vw,380px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(139,92,246,0.06);right:-2%;bottom:-8%;animation:float-num 8s ease-in-out infinite;transform: translateZ(-60px) scale(1.3);}
@keyframes float-num{0%,100%{transform:translateY(0) translateZ(-60px) scale(1.3);}50%{transform:translateY(-20px) translateZ(-60px) scale(1.3);}}
.hero-diagonal{position:absolute;top:0;bottom:0;left:55%;right:0;background:linear-gradient(135deg,var(--secondary) 0%,rgba(243,240,255,0.4) 100%);clip-path:polygon(8% 0,100% 0,100% 100%,0% 100%);pointer-events:none;transform: translateZ(-10px);}

.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;width:100%;padding:4rem 0 3rem;transform-style: preserve-3d;}
@media(max-width:900px){.hero-inner{grid-template-columns:1fr;}}

.hero-eyebrow{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-display);font-size:0.72rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--primary);background:var(--secondary);border:1px solid var(--border-mid);padding:0.35rem 1rem;border-radius:100px;margin-bottom:1.5rem;animation:fade-up 0.7s both 0.1s;}
.hero-eyebrow-pulse{width:6px;height:6px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 0 rgba(139,92,246,0.4);animation:radar 2s infinite;}
@keyframes radar{0%{box-shadow:0 0 0 0 rgba(139,92,246,0.5);}70%{box-shadow:0 0 0 8px rgba(139,92,246,0);}100%{box-shadow:0 0 0 0 rgba(139,92,246,0);}}
.hero-title{font-size:clamp(2.8rem,5.5vw,4.5rem);font-weight:700;line-height:1.08;letter-spacing:-0.03em;margin-bottom:1rem;animation:fade-up 0.7s both 0.2s;}
.hero-title .line-accent{display:block;font-weight:300;font-style:italic;font-size:0.75em;color:var(--muted-foreground);letter-spacing:-0.01em;margin-bottom:0.1em;}
.hero-title .line-big{display:block;}
.hero-desc{font-size:1rem;color:var(--muted-foreground);line-height:1.8;max-width:500px;margin-bottom:2rem;animation:fade-up 0.7s both 0.3s;}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;animation:fade-up 0.7s both 0.4s;}
.hero-proof-strip{display:flex;align-items:center;gap:2rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border);animation:fade-up 0.7s both 0.5s;flex-wrap:wrap;}
.hps-num{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--foreground);letter-spacing:-0.04em;display:block;}
.hps-lbl{font-size:0.7rem;color:var(--muted-foreground);font-weight:500;}
.hps-sep{width:1px;height:30px;background:var(--border-mid);}

.hero-right{position:relative;}
.hero-card-stack{position:relative;}
.h-card-main{background:var(--card);border:1px solid var(--border-mid);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-xl);position:relative;z-index:3;animation:card-in 1s cubic-bezier(0.4,0,0.2,1) both 0.4s;transform-style: preserve-3d;transition: transform 0.3s ease;}
.h-card-main:hover{transform: translateZ(30px) rotateX(2deg) rotateY(2deg);box-shadow: var(--shadow-glow);}
@keyframes card-in{from{opacity:0;transform:translateY(20px) scale(0.96);}to{opacity:1;transform:translateY(0) scale(1);}}
.h-card-rear{position:absolute;top:16px;right:-16px;bottom:-16px;left:16px;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-xl);z-index:1;}
.h-card-rear-2{position:absolute;top:28px;right:-28px;bottom:-28px;left:28px;background:var(--accent);border:1px solid rgba(139,92,246,0.08);border-radius:var(--radius-xl);z-index:0;opacity:0.5;}

.hc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-wrap:wrap;gap:0.5rem;}
.hc-head-title{font-family:var(--font-display);font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted-foreground);}
.hc-live{display:flex;align-items:center;gap:0.4rem;font-size:0.72rem;font-weight:600;color:var(--success);}
.hc-live-dot{width:7px;height:7px;border-radius:50%;background:var(--success);animation:pulse-dot 1.6s infinite;}
.hc-metrics{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;margin-bottom:1rem;}
.hc-metric{background:var(--background-alt);border:1px solid var(--border);border-radius:var(--radius);padding:0.75rem;transition:background 0.25s;position:relative;}
.hc-metric:hover{background:var(--secondary);}
.hc-metric-val{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--primary);letter-spacing:-0.04em;display:block;}
.hc-metric-lbl{font-size:0.65rem;color:var(--muted-foreground);margin-top:0.15rem;}


.hc-bars{display:flex;flex-direction:column;gap:0.5rem;}
.hc-bar-top{display:flex;justify-content:space-between;font-size:0.7rem;margin-bottom:0.2rem;}
.hc-bar-key{color:var(--muted-foreground);font-weight:500;}
.hc-bar-pct{color:var(--foreground);font-weight:700;}
.hc-bar-track{height:4px;background:var(--background-alt);border-radius:2px;overflow:hidden;}
.hc-bar-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--primary),var(--primary-light));transform-origin:left;animation:bar-expand 1.4s cubic-bezier(0.4,0,0.2,1) both;}
@keyframes bar-expand{from{transform:scaleX(0);}to{transform:scaleX(1);}}
.hc-status{display:flex;align-items:center;gap:0.5rem;margin-top:1rem;padding:0.5rem 0.75rem;background:rgba(16,185,129,0.07);border:1px solid rgba(16,185,129,0.18);border-radius:var(--radius);flex-wrap:wrap;}
.hc-status-dot{width:6px;height:6px;border-radius:50%;background:var(--success);animation:pulse-dot 1.8s infinite;}
.hc-status-text{font-size:0.7rem;color:#059669;font-weight:600;}

.h-chip{position:absolute;background:var(--card);border:1px solid var(--border-mid);border-radius:var(--radius);padding:0.5rem 0.75rem;display:flex;align-items:center;gap:0.3rem;font-family:var(--font-display);font-size:0.7rem;font-weight:600;color:var(--foreground);box-shadow:var(--shadow-lg);z-index:4;transition: transform 0.3s ease, box-shadow 0.3s ease;transform-style: preserve-3d;}
.h-chip-1{top:-20px;left:20px;animation:float-a 3.5s ease-in-out infinite;}
.h-chip-2{bottom:10px;left:-30px;animation:float-b 4s ease-in-out infinite;}
.h-chip:hover{transform: translateZ(20px) scale(1.05);box-shadow: var(--shadow-xl);}
.h-chip-icon{width:18px;height:18px;border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:0.7rem;}
.icon-green{background:rgba(16,185,129,0.12);}
.icon-purple{background:var(--secondary);}
@keyframes float-a{0%,100%{transform:translateY(0) rotate(0deg) translateZ(0);}50%{transform:translateY(-8px) rotate(1deg) translateZ(10px);}}
@keyframes float-b{0%,100%{transform:translateY(0) rotate(0deg) translateZ(0);}50%{transform:translateY(-6px) rotate(-1deg) translateZ(10px);}}



.ticker-section{overflow:hidden;padding:1rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--secondary);position:relative;}
.ticker-section::before,.ticker-section::after{content:'';position:absolute;top:0;bottom:0;width:100px;z-index:2;}
.ticker-section::before{left:0;background:linear-gradient(to right,var(--secondary),transparent);}
.ticker-section::after{right:0;background:linear-gradient(to left,var(--secondary),transparent);}
.ticker-row{display:flex;gap:0;width:max-content;animation:ticker-scroll 28s linear infinite;}
.ticker-row:hover{animation-play-state:paused;}
.ticker-item{display:flex;align-items:center;gap:0.4rem;padding:0 1.5rem;font-family:var(--font-display);font-size:0.8rem;font-weight:500;color:var(--muted-foreground);white-space:nowrap;transition:color 0.2s;}
.ticker-item:hover{color:var(--primary);}
.ticker-sep{color:var(--primary-lighter);font-size:0.6rem;}
@keyframes ticker-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

.about-section{background:var(--background);}
.section-label{font-family:var(--font-display);font-size:0.72rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--primary);display:flex;align-items:center;gap:0.75rem;margin-bottom:1.5rem;}
.section-label::before{content:'';display:block;width:2rem;height:1.5px;background:var(--primary);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
@media(max-width:860px){.about-grid{grid-template-columns:1fr;gap:2rem;}}
.about-big-stat{position:relative;padding:2rem;background:linear-gradient(135deg,var(--secondary),var(--accent));border-radius:var(--radius-xl);border:1px solid var(--border-mid);overflow:hidden;transform-style: preserve-3d;transition: transform 0.3s ease;}
.about-big-stat:hover{transform: translateZ(30px) rotateX(1deg) rotateY(1deg);}
.about-big-stat::before{content:'';position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,0.12),transparent 70%);top:-80px;right:-80px;pointer-events:none;}
.stat-display-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);}
.stat-display-cell{background:var(--card);padding:1.25rem 1rem;transition:background 0.25s;}
.stat-display-cell:hover{background:var(--secondary);}
.stat-display-cell:first-child{border-radius:var(--radius) 0 0 0;}
.stat-display-cell:nth-child(2){border-radius:0 var(--radius) 0 0;}
.stat-display-cell:nth-child(3){border-radius:0 0 0 var(--radius);}
.stat-display-cell:last-child{border-radius:0 0 var(--radius) 0;}
.sdc-num{font-family:var(--font-display);font-size:2rem;font-weight:700;letter-spacing:-0.05em;color:var(--primary);display:block;}
.sdc-lbl{font-size:0.7rem;color:var(--muted-foreground);margin-top:0.2rem;font-weight:500;}
.trust-quote{margin-top:1rem;padding:1rem 1.25rem;background:var(--card);border-left:3px solid var(--primary);border-radius:0 var(--radius) var(--radius) 0;box-shadow:var(--shadow-md);}
.tq-text{font-size:0.8rem;font-style:italic;color:var(--muted-foreground);line-height:1.6;}
.tq-source{font-size:0.7rem;font-weight:700;color:var(--primary);margin-top:0.5rem;letter-spacing:0.03em;}
.about-checks{display:flex;flex-direction:column;gap:0;}
.about-check{display:flex;align-items:flex-start;gap:0.8rem;padding:0.8rem 0;border-bottom:1px solid var(--border);transition:background 0.2s;}
.about-check:last-child{border-bottom:none;}
.about-check:hover{padding-left:0.5rem;}
.ac-icon{width:22px;height:22px;border-radius:50%;flex-shrink:0;background:rgba(16,185,129,0.1);border:1.5px solid rgba(16,185,129,0.25);display:flex;align-items:center;justify-content:center;font-size:0.6rem;color:var(--success);margin-top:1px;}
.ac-body h5{font-size:0.85rem;font-weight:600;color:var(--foreground);margin-bottom:0.1rem;}
.ac-body p{font-size:0.8rem;line-height:1.5;}

.platform-section{background:var(--background-alt);position:relative;overflow:hidden;}
.platform-section::before{content:'';position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,0.05),transparent 70%);right:-150px;top:-150px;pointer-events:none;}
.platform-head{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin-bottom:2.5rem;}
@media(max-width:768px){.platform-head{grid-template-columns:1fr;}}
.ph-left h2{font-size:clamp(2rem,4vw,2.8rem);}
.ph-right p{font-size:0.95rem;line-height:1.7;}
.ph-right{display:flex;flex-direction:column;gap:1rem;justify-content:flex-end;}
.prod-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:auto auto;gap:1rem;}
@media(max-width:960px){.prod-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:580px){.prod-grid{grid-template-columns:1fr;}}
.prod-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.5rem;transition:all 0.35s cubic-bezier(0.4,0,0.2,1);position:relative;overflow:hidden;display:flex;flex-direction:column;transform-style: preserve-3d;}
.prod-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primary),var(--primary-light));transform:scaleX(0);transform-origin:left;transition:transform 0.4s cubic-bezier(0.4,0,0.2,1);}
.prod-card:hover{background:linear-gradient(135deg,rgba(243,240,255,0.5),var(--card));border-color:var(--primary-lighter);transform: translateZ(30px) rotateX(1deg) rotateY(1deg) translateY(-3px);box-shadow:var(--shadow-xl);}
.prod-card:hover::after{transform:scaleX(1);}
.prod-card.featured{grid-row:span 2;background:linear-gradient(145deg,var(--card),rgba(243,240,255,0.4));border-color:var(--border-mid);}
.prod-card.featured::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-dark),var(--primary),var(--primary-light));}
@media(max-width:960px){.prod-card.featured{grid-row:auto;}}
.prod-icon{width:42px;height:42px;border-radius:12px;background:var(--secondary);border:1px solid var(--border-mid);display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:1rem;flex-shrink:0;transition:all 0.3s;}
.prod-card:hover .prod-icon{transform:scale(1.1) rotate(4deg);box-shadow:var(--shadow-md);}
.prod-card h4{font-size:0.95rem;margin-bottom:0.4rem;}
.prod-card p{font-size:0.8rem;line-height:1.6;flex:1;}
.prod-card.featured h3{font-size:1.2rem;margin-bottom:0.5rem;}
.prod-link{display:inline-flex;align-items:center;gap:0.3rem;font-size:0.75rem;font-weight:600;color:var(--primary);margin-top:1rem;transition:gap 0.2s;}
.prod-link:hover{gap:0.5rem;}
.prod-tag{position:absolute;top:1rem;right:1rem;}
.cbs-dash{margin-top:1rem;background:var(--background-alt);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;}
.cbs-dash-title{font-family:var(--font-display);font-size:0.65rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted-foreground);margin-bottom:0.8rem;}
.cbs-dash-rows{display:flex;flex-direction:column;gap:0.5rem;}
.cbs-dr-top{display:flex;justify-content:space-between;font-size:0.7rem;margin-bottom:0.2rem;}
.cbs-dr-key{color:var(--muted-foreground);font-weight:500;}
.cbs-dr-val{color:var(--primary);font-weight:700;}
.cbs-dr-bar{height:4px;background:var(--background);border-radius:2px;overflow:hidden;}
.cbs-dr-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--primary),var(--primary-light));}

.why-section{background:var(--background);}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;}
@media(max-width:860px){.why-grid{grid-template-columns:1fr;gap:2rem;}}
.diff-list{display:flex;flex-direction:column;gap:0;}
.diff-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border);position:relative;transition:padding-left 0.3s;}
.diff-item:last-child{border-bottom:none;}
.diff-item:hover{padding-left:0.5rem;}
.diff-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--primary);transform:scaleY(0);transform-origin:top;transition:transform 0.3s;}
.diff-item:hover::before{transform:scaleY(1);}
.diff-num{font-family:var(--font-display);font-size:0.75rem;font-weight:700;color:var(--primary-lighter);min-width:1.5rem;flex-shrink:0;margin-top:2px;}
.diff-icon{width:36px;height:36px;border-radius:10px;flex-shrink:0;background:var(--secondary);border:1px solid var(--border-mid);display:flex;align-items:center;justify-content:center;font-size:0.95rem;transition:all 0.3s;}
.diff-item:hover .diff-icon{background:var(--accent);border-color:var(--primary-lighter);transform:scale(1.05);}
.diff-text h4{font-size:0.9rem;margin-bottom:0.2rem;}
.diff-text p{font-size:0.8rem;line-height:1.55;}
.compare-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);transform-style: preserve-3d;}
.compare-card:hover{transform: translateZ(30px) rotateX(1deg) rotateY(1deg);box-shadow: var(--shadow-xl);}
.compare-head{background:linear-gradient(135deg,var(--secondary),var(--accent));padding:1rem 1.25rem;border-bottom:1px solid var(--border-mid);display:flex;align-items:center;gap:0.5rem;}
.compare-head-title{font-family:var(--font-display);font-size:0.8rem;font-weight:700;color:var(--primary-dark);}
.compare-cols-head{display:grid;grid-template-columns:1fr 70px 70px;padding:0.6rem 1.25rem;background:var(--background-alt);border-bottom:1px solid var(--border);}
.cch-guru{font-size:0.65rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--primary);text-align:center;}
.cch-other{font-size:0.65rem;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;color:var(--muted-foreground);text-align:center;}
.compare-row{display:grid;grid-template-columns:1fr 70px 70px;padding:0.8rem 1.25rem;border-bottom:1px solid var(--border);align-items:center;transition:background 0.2s;}
.compare-row:last-child{border-bottom:none;}
.compare-row:hover{background:var(--secondary);}
.cr-feat{font-size:0.8rem;font-weight:500;color:var(--muted-foreground);}
.cr-yes{color:var(--success);font-weight:700;font-size:0.85rem;text-align:center;}
.compare-footer{padding:1rem 1.25rem;border-top:1px solid var(--border-mid);}

.stats-banner{background:var(--foreground);position:relative;overflow:hidden;}
.stats-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(139,92,246,0.25) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgba(109,40,217,0.2) 0%,transparent 50%);}
.stats-banner::after{content:'2013';position:absolute;font-family:var(--font-display);font-weight:700;font-size:20vw;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,0.03);right:-5%;bottom:-10%;user-select:none;pointer-events:none;}
.stats-inner{position:relative;z-index:1;padding:4rem 0;}
.stats-top{text-align:center;margin-bottom:2.5rem;}
.stats-top h2{background:linear-gradient(135deg,#ffffff 40%,var(--primary-lighter));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:clamp(1.6rem,4vw,2.5rem);}
.stats-top p{color:rgba(255,255,255,0.72);margin-top:0.5rem;}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-xl);overflow:hidden;}
@media(max-width:700px){.stats-row{grid-template-columns:repeat(2,1fr);}}
@media(max-width:400px){.stats-row{grid-template-columns:1fr;}}
.stat-cell{background:rgba(255,255,255,0.04);padding:2rem 1rem;text-align:center;transition:background 0.25s;backdrop-filter:blur(4px);}
.stat-cell:hover{background:rgba(139,92,246,0.12);}
.sc-num{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.5rem);font-weight:700;color:#fff;letter-spacing:-0.05em;display:block;}
.sc-lbl{font-size:0.8rem;color:rgba(255,255,255,0.55);margin-top:0.3rem;font-weight:500;}

.clients-section { background: var(--background); position: relative; }
.clients-wrapper { position: relative; margin-top: 1.5rem; display: flex; align-items: center; gap: 0.5rem; }
/* Fade edges sit on the wrapper, above buttons, so blur is always visible */
.clients-wrapper::before,
.clients-wrapper::after { content: ''; position: absolute; top: 0; bottom: 0; width: 90px; z-index: 3; pointer-events: none; }
.clients-wrapper::before { left: 48px;  background: linear-gradient(to right, var(--background), transparent); }
.clients-wrapper::after  { right: 48px; background: linear-gradient(to left,  var(--background), transparent); }

/* Scrollable container — no overflow fade here, handled by wrapper above */
.clients-auto-outer { flex: 1; overflow-x: auto; overflow-y: hidden; position: relative; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.clients-auto-outer::-webkit-scrollbar { display: none; }

/* Track */
.clients-auto-track { display: flex; gap: 1.25rem; width: max-content; padding: 0.5rem 0; }

.client-card { min-width: 160px; flex: 0 0 auto; background: var(--card); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1.25rem 0.75rem; text-align: center; transition: border-color 0.28s cubic-bezier(0.4,0,0.2,1), transform 0.28s cubic-bezier(0.4,0,0.2,1), box-shadow 0.28s cubic-bezier(0.4,0,0.2,1); display: flex; flex-direction: column; align-items: center; gap: 0.5rem; }
.client-card:hover { border-color: var(--primary-lighter); transform: translateY(-4px) scale(1.03); box-shadow: var(--shadow-xl); }
.client-icon { width: 48px; height: 48px; background: var(--secondary); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; color: var(--primary); border: 1px solid var(--border-mid); transition: background 0.25s, transform 0.25s cubic-bezier(0.4,0,0.2,1); }
.client-card:hover .client-icon { background: var(--accent); transform: scale(1.12) rotate(4deg); }
.client-name { font-family: var(--font-display); font-weight: 600; font-size: 0.8rem; color: var(--foreground); }
.client-type { font-size: 0.65rem; color: var(--muted-foreground); text-transform: uppercase; letter-spacing: 0.05em; }

.slider-btn { flex-shrink: 0; width: 40px; height: 40px; background: var(--card); border: 1px solid var(--border-mid); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--primary); font-size: 1rem; cursor: pointer; transition: background 0.22s, color 0.22s, border-color 0.22s, transform 0.22s cubic-bezier(0.4,0,0.2,1), box-shadow 0.22s; box-shadow: var(--shadow-md); }
.slider-btn:hover { background: var(--primary); color: #fff; border-color: var(--primary); transform: scale(1.12); box-shadow: var(--shadow-glow); }

/* ── DOPAMINE MICRO-INTERACTIONS ────────────────────── */
/* Smoother nav link underline */
.nav-links a { transition: color 0.22s cubic-bezier(0.4,0,0.2,1); }
.nav-links a::after { transition: transform 0.3s cubic-bezier(0.4,0,0.2,1); }
/* Partner card enhanced hover */
.partner-card { transition: border-color 0.28s cubic-bezier(0.4,0,0.2,1), transform 0.28s cubic-bezier(0.4,0,0.2,1), box-shadow 0.28s cubic-bezier(0.4,0,0.2,1); }
.partner-card:hover { border-color: var(--primary-lighter); transform: translateY(-4px) scale(1.02); box-shadow: var(--shadow-xl); }
/* City chip */
.city-chip { transition: border-color 0.22s, background 0.22s, color 0.22s, transform 0.22s cubic-bezier(0.4,0,0.2,1); }
.city-chip:hover { transform: translateY(-2px); }
/* Contact item */
.contact-item { transition: border-color 0.25s, box-shadow 0.25s, transform 0.25s cubic-bezier(0.4,0,0.2,1); }
.contact-item:hover { transform: translateX(4px); }
/* Form controls */
.form-ctrl { transition: border-color 0.22s, box-shadow 0.22s, background 0.22s; }
/* Prod link arrow */
.prod-link svg { transition: transform 0.22s cubic-bezier(0.4,0,0.2,1); }
.prod-link:hover svg { transform: translateX(5px); }

.expertise-section{background:var(--background-alt);}
.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem;}
@media(max-width:900px){.exp-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.exp-grid{grid-template-columns:1fr;}}
.exp-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.5rem;display:flex;flex-direction:column;gap:0.65rem;transition:all 0.32s;position:relative;overflow:hidden;transform-style: preserve-3d;}
.exp-card::before{content:'';position:absolute;top:-60px;right:-60px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,0.08),transparent 70%);transition:transform 0.4s;}
.exp-card:hover{border-color:var(--primary-lighter);transform: translateZ(20px) rotateX(1deg) rotateY(1deg) translateY(-3px);box-shadow:var(--shadow-lg);}
.exp-card:hover::before{transform:scale(1.5);}
.exp-num{font-family:var(--font-display);font-size:1.8rem;font-weight:700;color:var(--primary-lighter);letter-spacing:-0.04em;line-height:1;}
.exp-icon{width:40px;height:40px;border-radius:10px;background:var(--secondary);border:1px solid var(--border-mid);display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all 0.3s;}
.exp-card:hover .exp-icon{transform:scale(1.1) rotate(4deg);box-shadow:var(--shadow-md);}
.exp-card h4{font-size:0.95rem;}
.exp-card p{font-size:0.8rem;line-height:1.6;}

.values-section{background:var(--background);}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem;}
@media(max-width:860px){.values-grid{grid-template-columns:1fr;max-width:400px;margin-left:auto;margin-right:auto;}}
.val-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.75rem 1.5rem;text-align:center;transition:all 0.32s;position:relative;overflow:hidden;transform-style: preserve-3d;}
.val-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-dark),var(--primary),var(--primary-light));transform:scaleX(0);transform-origin:center;transition:transform 0.4s;}
.val-card:hover{border-color:var(--primary-lighter);transform: translateZ(20px) rotateX(1deg) rotateY(1deg) translateY(-3px);box-shadow:var(--shadow-lg);}
.val-card:hover::after{transform:scaleX(1);}
.val-emoji{font-size:2rem;display:block;margin-bottom:1rem;}
.val-card h3{font-size:1.1rem;margin-bottom:0.5rem;}
.val-card p{font-size:0.85rem;}

.cta-section{background:var(--foreground);position:relative;overflow:hidden;}
.cta-decor{position:absolute;pointer-events:none;}
.cta-decor-ring-1{width:700px;height:700px;border-radius:50%;border:1px solid rgba(139,92,246,0.15);top:-300px;right:-200px;}
.cta-decor-ring-2{width:400px;height:400px;border-radius:50%;border:1px solid rgba(139,92,246,0.1);bottom:-200px;left:-100px;}
.cta-decor-fill{width:350px;height:350px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,0.15),transparent 70%);top:-100px;right:100px;}
.cta-inner{position:relative;z-index:1;text-align:center;max-width:640px;margin:0 auto;padding:4rem 2rem;}
.cta-inner h2{color:#fff;font-size:clamp(1.8rem,5vw,2.8rem);margin-bottom:1rem;}
.cta-inner p{color:rgba(255,255,255,0.6);font-size:0.95rem;margin-bottom:2rem;}
.cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.btn-cta-primary{background:var(--primary);color:#fff;box-shadow:0 4px 20px rgba(139,92,246,0.4);}
.btn-cta-primary:hover{background:var(--primary-hover);transform:translateY(-3px);box-shadow:0 8px 32px rgba(139,92,246,0.5);}
.btn-cta-ghost{background:rgba(255,255,255,0.07);color:rgba(255,255,255,0.8);border:1px solid rgba(255,255,255,0.15);}
.btn-cta-ghost:hover{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.3);}
.cta-micro{margin-top:1.25rem;font-size:0.75rem;color:rgba(255,255,255,0.3);}

.contact-section{background:var(--background-alt);}
.contact-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:4rem;align-items:start;}
@media(max-width:800px){.contact-grid{grid-template-columns:1fr;gap:2rem;}}
.contact-info h2{font-size:clamp(1.6rem,4vw,2.2rem);margin-bottom:0.75rem;}
.contact-info .lead{font-size:0.95rem;margin-bottom:1.75rem;}
.contact-items{display:flex;flex-direction:column;gap:0.6rem;}
.contact-item{display:flex;align-items:center;gap:0.8rem;padding:0.8rem 1rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color 0.25s,box-shadow 0.25s;}
.contact-item:hover{border-color:var(--primary-lighter);box-shadow:var(--shadow-md);}
.ci-icon{width:36px;height:36px;border-radius:10px;flex-shrink:0;background:var(--secondary);border:1px solid var(--border-mid);display:flex;align-items:center;justify-content:center;font-size:0.9rem;}
.ci-lbl{font-size:0.65rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted-foreground);}
.ci-val{font-size:0.85rem;font-weight:600;color:var(--foreground);}
.hours-box{margin-top:1rem;padding:1rem 1.25rem;background:var(--secondary);border:1px solid var(--border-mid);border-radius:var(--radius);}
.hb-lbl{font-size:0.65rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted-foreground);margin-bottom:0.2rem;}
.hb-time{font-size:0.85rem;font-weight:700;color:var(--foreground);}
.hb-note{font-size:0.75rem;color:var(--muted-foreground);margin-top:0.2rem;}
.form-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-2xl);padding:2rem;box-shadow:var(--shadow-xl);}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:0.8rem;}
@media(max-width:500px){.form-row-2{grid-template-columns:1fr;}}
.form-group{display:flex;flex-direction:column;gap:0.3rem;margin-bottom:0.8rem;}
.form-lbl{font-family:var(--font-display);font-size:0.75rem;font-weight:600;color:var(--foreground);}
.form-ctrl{background:var(--background-alt);border:1.5px solid rgba(139,92,246,0.12);border-radius:var(--radius);padding:0.65rem 0.9rem;font-family:var(--font-body);font-size:0.85rem;color:var(--foreground);outline:none;width:100%;transition:all 0.22s;}
.form-ctrl::placeholder{color:var(--muted-foreground);opacity:0.65;}
.form-ctrl:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(139,92,246,0.1);background:var(--card);}
textarea.form-ctrl{resize:vertical;min-height:100px;}

.footer{background:var(--foreground);padding:3.5rem 0 1.5rem;}
.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:2.5rem;}
@media(max-width:860px){.footer-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:500px){.footer-grid{grid-template-columns:1fr;}}
.f-logo{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.8rem;}
.f-logo-mark{width:28px;height:28px;background:var(--primary);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:0.8rem;color:#fff;}
.f-logo-text{font-family:var(--font-display);font-size:0.95rem;font-weight:700;color:#fff;letter-spacing:-0.02em;}
.f-desc{font-size:0.8rem;color:rgba(255,255,255,0.4);line-height:1.7;max-width:240px;}
.f-reg{margin-top:0.8rem;font-size:0.7rem;color:rgba(255,255,255,0.25);}
.f-col-title{font-family:var(--font-display);font-size:0.68rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.45);margin-bottom:1rem;}
.f-col ul{list-style:none;display:flex;flex-direction:column;gap:0.5rem;}
.f-col ul li a{font-size:0.8rem;color:rgba(255,255,255,0.45);transition:color 0.2s;}
.f-col ul li a:hover{color:var(--primary-lighter);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.07);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.f-copy{font-size:0.75rem;color:rgba(255,255,255,0.3);}
.f-right{font-size:0.7rem;color:rgba(255,255,255,0.25);}
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--border-mid),transparent);}

.partners-section { background: var(--background); }
.partners-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem; }
@media(max-width: 960px) { .partners-grid { grid-template-columns: repeat(3, 1fr); } }
@media(max-width: 560px) { .partners-grid { grid-template-columns: repeat(2, 1fr); } }
.partner-card { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1.25rem 0.75rem; text-align: center; transition: all 0.3s; cursor: default; }
.partner-card:hover { border-color: var(--primary-lighter); transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.partner-logo-wrap { width: 48px; height: 48px; background: var(--secondary); border: 1px solid var(--border-mid); border-radius: 12px; display: flex; align-items: center; justify-content: center; margin: 0 auto 0.75rem; transition: all 0.3s; }
.partner-card:hover .partner-logo-wrap { transform: scale(1.1) rotate(3deg); box-shadow: var(--shadow-md); }
.partner-emoji { font-size: 1.4rem; }
.partner-name { font-family: var(--font-display); font-size: 0.8rem; font-weight: 700; color: var(--foreground); margin-bottom: 0.2rem; }
.partner-type { font-size: 0.65rem; color: var(--muted-foreground); font-weight: 500; }

.support-inner { display: grid; grid-template-columns: 1fr 1.2fr; gap: 4rem; align-items: center; }
@media(max-width: 860px) { .support-inner { grid-template-columns: 1fr; gap: 2rem; } }
.support-cities-label { font-family: var(--font-display); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted-foreground); margin-bottom: 0.8rem; }
.city-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0.5rem; }
@media(max-width: 600px) { .city-grid { grid-template-columns: repeat(2, 1fr); } }
.city-chip { display: flex; align-items: center; gap: 0.4rem; background: var(--card); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 0.5rem 0.6rem; font-family: var(--font-display); font-size: 0.75rem; font-weight: 600; color: var(--foreground); transition: all 0.2s; }
.city-chip:hover { border-color: var(--primary); background: var(--secondary); color: var(--primary-dark); }
.city-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--primary); flex-shrink: 0; }

.nav-links a { padding: 0.5rem 0.7rem; font-size: 0.83rem; }
@media(max-width: 960px) { .nav-links { display: none; } .hamburger { display: flex; } }
@media(min-width: 961px) { .hamburger { display: none; } }
.compare-head-title { font-size: 0.8rem; }

@keyframes count-up { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.sc-num, .hps-num, .sdc-num { animation: count-up 0.6s cubic-bezier(0.4, 0, 0.2, 1) both; }


@keyframes bounce { 0%, 20%, 50%, 80%, 100% {transform: translateX(-50%) translateY(0);} 40% {transform: translateX(-50%) translateY(-8px);} 60% {transform: translateX(-50%) translateY(-4px);} }

.floating-3d-left { position: absolute; left: -100px; top: 20%; width: 300px; height: 300px; transform-style: preserve-3d; animation: rotate3d-left 30s infinite linear; z-index: 5; pointer-events: none; opacity: 0.3; }
.floating-3d-left .cube-face { position: absolute; width: 100%; height: 100%; background: linear-gradient(135deg, var(--primary-light), var(--primary-dark)); border: 2px solid rgba(255,255,255,0.2); box-shadow: 0 0 30px rgba(139,92,246,0.3); border-radius: 20px; backface-visibility: visible; }
.floating-3d-left .front  { transform: translateZ(150px); }
.floating-3d-left .back   { transform: rotateY(180deg) translateZ(150px); }
.floating-3d-left .right  { transform: rotateY(90deg) translateZ(150px); }
.floating-3d-left .left   { transform: rotateY(-90deg) translateZ(150px); }
.floating-3d-left .top    { transform: rotateX(90deg) translateZ(150px); }
.floating-3d-left .bottom { transform: rotateX(-90deg) translateZ(150px); }
@keyframes rotate3d-left { 0% { transform: rotateX(0deg) rotateY(0deg) translateZ(-50px); } 100% { transform: rotateX(360deg) rotateY(360deg) translateZ(-50px); } }

.floating-3d-right { position: absolute; right: -100px; bottom: 10%; width: 250px; height: 250px; transform-style: preserve-3d; animation: rotate3d-right 25s infinite linear reverse; z-index: 5; pointer-events: none; opacity: 0.25; }
.floating-3d-right .sphere { width: 100%; height: 100%; border-radius: 50%; background: radial-gradient(circle at 30% 30%, var(--primary-light), var(--primary-dark)); box-shadow: 0 0 50px rgba(139,92,246,0.5); transform: rotateX(45deg) rotateY(45deg); position: relative; }
.floating-3d-right .sphere::before { content: ''; position: absolute; top: -20px; left: -20px; right: -20px; bottom: -20px; border-radius: 50%; border: 2px solid rgba(139,92,246,0.3); animation: pulse-ring 3s infinite; }
@keyframes pulse-ring { 0% { transform: scale(0.8); opacity: 0.5; } 50% { transform: scale(1.2); opacity: 0.2; } 100% { transform: scale(0.8); opacity: 0.5; } }
@keyframes rotate3d-right { 0% { transform: rotateX(0deg) rotateY(0deg) translateZ(30px); } 100% { transform: rotateX(-360deg) rotateY(360deg) translateZ(30px); } }

@media (max-width: 1200px) { .floating-3d-left, .floating-3d-right { opacity: 0.1; } }
@media (max-width: 768px) { .floating-3d-left, .floating-3d-right { display: none; } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  .ticker-row, .hero-dots, .hero-bg-num, .floating-3d-left, .floating-3d-right { animation: none; }
  .reveal, .reveal-left, .reveal-right { opacity: 1; transform: none; }
}

/* ── TIMELINE SECTION ──────────────────────────────── */
.timeline-section { background: var(--foreground); position: relative; overflow: hidden; padding: 5rem 0; border-top: 1px solid rgba(139,92,246,0.2); }
.timeline-section::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 10% 50%, rgba(139,92,246,0.2) 0%, transparent 45%), radial-gradient(circle at 90% 30%, rgba(109,40,217,0.15) 0%, transparent 45%); pointer-events: none; }
.tl-head { text-align: center; position: relative; z-index: 1; margin-bottom: 3rem; padding: 0 2rem; }
.tl-head .section-label { justify-content: center; color: var(--primary-lighter); }
.tl-head .section-label::before { background: var(--primary-lighter); }
.tl-head h2 { color: #fff; font-size: clamp(1.8rem, 4vw, 2.6rem); margin-bottom: 0.5rem; }
.tl-head p { color: rgba(255,255,255,0.72); font-size: 0.9rem; max-width: 480px; margin: 0 auto; }
.tl-scroll-hint { text-align: center; font-family: var(--font-display); font-size: 0.65rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.3); margin-bottom: 1.25rem; position: relative; z-index: 1; }
/* Outer scroll wrapper with fade edges */
.tl-outer { position: relative; z-index: 1; }
.tl-outer::before,.tl-outer::after { content: ''; position: absolute; top: 0; bottom: 0; width: 80px; z-index: 2; pointer-events: none; }
.tl-outer::before { left: 0; background: linear-gradient(to right, var(--foreground), transparent); }
.tl-outer::after  { right: 0; background: linear-gradient(to left,  var(--foreground), transparent); }
/* Scroll track */
.tl-track { display: flex; overflow-x: auto; -webkit-overflow-scrolling: touch; cursor: grab; padding: 0 2rem 2rem; scrollbar-width: none; scroll-snap-type: x mandatory; align-items: flex-start; }
.tl-track:active { cursor: grabbing; }
.tl-track::-webkit-scrollbar { display: none; }
/* The continuous horizontal line lives INSIDE the flex, full width via inline block */
.tl-line { position: absolute; left: 0; right: 0; top: 20px; height: 2px; background: linear-gradient(90deg, rgba(139,92,246,0.15) 0%, rgba(139,92,246,0.6) 10%, rgba(167,139,250,0.5) 90%, rgba(139,92,246,0.15) 100%); pointer-events: none; }
/* Wrapper spans full content width so line always covers all cards */
.tl-inner { display: flex; position: relative; min-width: max-content; gap: 0; padding-top: 0; }
/* Each card item */
.tl-item { flex: 0 0 220px; scroll-snap-align: start; position: relative; padding: 52px 1.5rem 0 0; display: flex; flex-direction: column; }
.tl-item:first-child { padding-left: 0.5rem; }
.tl-item:last-child  { padding-right: 2.5rem; }
/* Dot sits on the line */
.tl-dot-wrap { position: absolute; top: 9px; left: 0; z-index: 3; }
.tl-item:first-child .tl-dot-wrap { left: 0.25rem; }
.tl-dot { width: 22px; height: 22px; border-radius: 50%; background: var(--primary); border: 3px solid var(--foreground); box-shadow: 0 0 0 3px rgba(139,92,246,0.5), 0 0 16px rgba(139,92,246,0.4); position: relative; z-index: 3; transition: transform 0.28s cubic-bezier(0.4,0,0.2,1), box-shadow 0.28s cubic-bezier(0.4,0,0.2,1); cursor: default; }
.tl-item:hover .tl-dot { transform: scale(1.25); box-shadow: 0 0 0 4px rgba(167,139,250,0.6), 0 0 28px rgba(139,92,246,0.7); }
.tl-dot.milestone { background: linear-gradient(135deg, var(--primary-light), var(--primary-dark)); width: 26px; height: 26px; margin-top: -2px; }
/* Cards — FIXED HEIGHT so all are equal */
.tl-card { background: rgba(255,255,255,0.05); border: 1px solid rgba(139,92,246,0.2); border-radius: var(--radius-lg); padding: 1rem 1.1rem; transition: background 0.28s, border-color 0.28s, transform 0.28s cubic-bezier(0.4,0,0.2,1), box-shadow 0.28s; height: 190px; display: flex; flex-direction: column; overflow: hidden; }
.tl-item:hover .tl-card { background: rgba(139,92,246,0.12); border-color: rgba(139,92,246,0.45); transform: translateY(-5px); box-shadow: 0 14px 32px rgba(0,0,0,0.35); }
.tl-year  { font-family: var(--font-display); font-size: 1.1rem; font-weight: 700; color: var(--primary-lighter); letter-spacing: -0.03em; display: block; margin-bottom: 0.3rem; flex-shrink: 0; }
.tl-title { font-family: var(--font-display); font-size: 0.8rem; font-weight: 700; color: #fff; margin-bottom: 0.3rem; flex-shrink: 0; line-height: 1.3; }
.tl-desc  { font-size: 0.7rem; color: rgba(255,255,255,0.5); line-height: 1.5; flex: 1; overflow: hidden; }
.tl-badge { display: inline-block; font-size: 0.58rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; background: rgba(139,92,246,0.2); color: var(--primary-lighter); border: 1px solid rgba(139,92,246,0.35); border-radius: 100px; padding: 0.15rem 0.5rem; margin-top: 0.5rem; flex-shrink: 0; align-self: flex-start; }
/* Progress bar */
.tl-progress-wrap { padding: 0 2rem; margin-bottom: 0.75rem; position: relative; z-index: 1; }
.tl-progress { height: 2px; background: rgba(255,255,255,0.07); border-radius: 2px; overflow: hidden; }
.tl-progress-bar { height: 100%; width: 0%; background: linear-gradient(90deg, var(--primary-dark), var(--primary-light)); border-radius: 2px; transition: width 0.08s linear; }

/* ── HERO CARD MOBILE OVERFLOW FIX ─────────────────── */
@media(max-width:480px) {
  .hero-right { overflow: visible; }
  .h-card-rear, .h-card-rear-2 { display: none; }
  .hero-card-stack { width: 100%; }
  .h-card-main { width: 100%; }
}

/* ── SLIDER BUTTON SAFE ZONE ON SMALL SCREENS ────── */
@media(max-width:500px) {
  .slider-btn.prev { left: 0; }
  .slider-btn.next { right: 0; }
  .clients-wrapper { padding: 0 2.5rem; }
}

@media (max-width: 480px) {
  .container { padding: 0 1rem; }
  .section { padding: 3rem 0 3rem 0; }
  .stat-display-grid { grid-template-columns: 1fr; }
  .stat-display-cell { padding: 1rem; border-radius: 0 !important; }
  .stat-display-cell:first-child { border-radius: var(--radius) var(--radius) 0 0 !important; }
  .stat-display-cell:last-child { border-radius: 0 0 var(--radius) var(--radius) !important; }
  h1.hero-title { font-size: 1.8rem; line-height: 1.15; }
  h2 { font-size: 1.4rem; }
  .hero-proof-strip { gap: 1rem; margin-top: 1.5rem; padding-top: 1rem; }
  .hps-num { font-size: 1.2rem; }
  .hps-lbl { font-size: 0.6rem; }
  .hero-right { display: block; width: 100%; max-width: 320px; margin: 0 auto; padding-top: 1.5rem; }
  .h-card-rear, .h-card-rear-2 { display: none; }
  .h-chip { display: none; }
  .compare-card { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .compare-row, .compare-cols-head { min-width: 280px; font-size: 0.7rem; }
  .btn { padding: 0.6rem 1rem; }
  .btn-lg { padding: 0.75rem 1.25rem; font-size: 0.85rem; }
  .footer { padding: 2rem 0 1rem; }
  .footer-grid { gap: 1.5rem; }
  .prod-card, .exp-card, .val-card { padding: 1.25rem; }
  .about-big-stat { padding: 1.25rem; }
  .form-card { padding: 1.25rem; }
  .slider-btn { width: 35px; height: 35px; font-size: 0.9rem; }
}


/* ════════════════════════════════════════════════════
   HERO GUTTER ELEMENTS + STICKY CONTACT
════════════════════════════════════════════════════ */

/* 1. Vertical Schedule Demo CTA — left gutter */
.hero-side-cta {
  position: fixed; left: 0; top: 50%; transform: translateY(-50%);
  z-index: 100; display: flex; flex-direction: column; align-items: center;
}
.hero-side-cta-inner {
  writing-mode: vertical-rl; text-orientation: mixed;
  transform: rotate(180deg);
  display: flex; align-items: center; gap: 0.6rem;
  background: var(--primary); color: #fff;
  font-family: var(--font-display); font-size: 0.68rem; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  padding: 1.25rem 0.6rem; border-radius: 0 var(--radius) var(--radius) 0;
  cursor: pointer; text-decoration: none;
  box-shadow: 3px 0 20px rgba(139,92,246,0.35);
  transition: background 0.25s, box-shadow 0.25s, transform 0.25s cubic-bezier(0.4,0,0.2,1);
  position: relative; overflow: hidden;
}
.hero-side-cta-inner::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.12), transparent);
  opacity: 0; transition: opacity 0.25s;
}
.hero-side-cta-inner:hover { background: var(--primary-dark); transform: rotate(180deg) translateX(-3px); box-shadow: 4px 0 28px rgba(139,92,246,0.5); }
.hero-side-cta-inner:hover::before { opacity: 1; }
.side-cta-pulse { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,0.9); flex-shrink: 0; animation: side-pulse 2s infinite; }
@keyframes side-pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.4;transform:scale(0.7)} }

/* 2. EST. 2013 rotated stamp — left gutter below CTA */
.hero-side-stamp {
  position: fixed; left: 0; bottom: 15%;
  z-index: 99; pointer-events: none;
}
.hero-side-stamp-inner {
  writing-mode: vertical-rl; text-orientation: mixed;
  transform: rotate(180deg);
  font-family: var(--font-display); font-size: 0.6rem; font-weight: 700;
  letter-spacing: 0.25em; text-transform: uppercase;
  color: var(--primary-lighter); opacity: 0.55;
  padding: 0.75rem 0.5rem;
  border-right: 1px solid rgba(139,92,246,0.2);
}

/* 3. Nepal map right gutter */
.nepal-map-gutter {
  position: fixed; right: 0; top: 50%; transform: translateY(-50%);
  z-index: 99; pointer-events: none; width: 110px;
  display: flex; flex-direction: column; align-items: center; gap: 0.5rem;
  padding-right: 0.5rem;
}
.nepal-map-label {
  font-family: var(--font-display); font-size: 0.55rem; font-weight: 700;
  letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--primary-lighter); opacity: 0.6; text-align: center; line-height: 1.5;
}
.nepal-map-svg { width: 88px; opacity: 0.75; }
.map-dot { animation: map-dot-pulse 2.5s ease-in-out infinite; }
.map-dot:nth-child(2)  { animation-delay: 0.25s; }
.map-dot:nth-child(3)  { animation-delay: 0.5s;  }
.map-dot:nth-child(4)  { animation-delay: 0.75s; }
.map-dot:nth-child(5)  { animation-delay: 1s;    }
.map-dot:nth-child(6)  { animation-delay: 1.25s; }
.map-dot:nth-child(7)  { animation-delay: 1.5s;  }
.map-dot:nth-child(8)  { animation-delay: 1.75s; }
.map-dot:nth-child(9)  { animation-delay: 2s;    }
.map-dot:nth-child(10) { animation-delay: 2.25s; }
@keyframes map-dot-pulse { 0%,100%{r:2.5;opacity:0.9} 50%{r:4;opacity:0.4} }

/* 4. Sticky phone + WhatsApp — bottom-right */
.sticky-contact {
  position: fixed; bottom: 2rem; right: 1.5rem;
  z-index: 200; display: flex; flex-direction: column; gap: 0.6rem; align-items: flex-end;
}
.sticky-btn {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.6rem 0.75rem; border-radius: 100px;
  font-family: var(--font-display); font-size: 0.72rem; font-weight: 700;
  text-decoration: none; color: #fff;
  box-shadow: 0 4px 20px rgba(0,0,0,0.18);
  max-width: 44px; overflow: hidden;
  transition: max-width 0.35s cubic-bezier(0.4,0,0.2,1), padding 0.35s cubic-bezier(0.4,0,0.2,1), box-shadow 0.22s, transform 0.22s cubic-bezier(0.4,0,0.2,1);
  white-space: nowrap; border: none;
}
.sticky-btn:hover { max-width: 200px; padding: 0.6rem 1rem 0.6rem 0.75rem; transform: translateY(-2px); }
.sticky-btn-icon { width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.85rem; flex-shrink: 0; background: rgba(255,255,255,0.2); }
.sticky-btn-text { opacity: 0; transition: opacity 0.18s 0.12s; white-space: nowrap; }
.sticky-btn:hover .sticky-btn-text { opacity: 1; }
.sticky-btn-phone { background: linear-gradient(135deg, var(--primary), var(--primary-dark)); }
.sticky-btn-wa    { background: linear-gradient(135deg, #25d366, #128c4a); }
.sticky-btn-phone:hover { box-shadow: 0 8px 28px rgba(139,92,246,0.45); }
.sticky-btn-wa:hover    { box-shadow: 0 8px 28px rgba(37,211,102,0.4); }

/* Hide gutter elements on screens where they'd overlap content */
@media(max-width: 1400px) { .hero-side-cta, .hero-side-stamp, .nepal-map-gutter { display: none; } }
/* Always show sticky contact */
@media(max-width: 480px) { .sticky-contact { bottom: 1rem; right: 1rem; } }

