
*{margin:0;padding:0;box-sizing:border-box}
:root{--primary-red:#C41E3A;--accent-gold:#D4AF37;--deep-charcoal:#0D0D0D;--slate:#1A1A1A;--text-primary:#FFF;--text-secondary:#A8A8A8}
body{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',sans-serif;background:var(--deep-charcoal);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}
html{overflow-x:hidden;scroll-behavior:smooth}
.fade-in{opacity:1;transform:translateY(0);transition:opacity 0.8s ease,transform 0.8s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}
.testimonial-slider{position:relative;overflow:hidden}
.testimonial-slides{display:flex;transition:transform 0.5s ease}
.testimonial-slide{min-width:100%;padding:0 1rem;box-sizing:border-box}
.testimonial-dots{display:flex;justify-content:center;gap:0.75rem;margin-top:2.5rem}
.testimonial-dot{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,0.2);cursor:pointer;transition:all 0.3s}
.testimonial-dot.active{background:var(--primary-red);transform:scale(1.2)}
.testimonial-dot:hover{background:rgba(255,255,255,0.4)}
nav{position:fixed;top:0;width:100%;background:rgba(13,13,13,0.85);backdrop-filter:blur(20px);z-index:1000;padding:1.75rem 0;border-bottom:1px solid rgba(255,255,255,0.06);transition:all 0.4s}
nav.scrolled{padding:1.2rem 0;background:rgba(13,13,13,0.95)}
nav.scrolled .logo-img{height:55px}
.nav-container{max-width:1600px;margin:0 auto;padding:0 4rem;display:flex;justify-content:space-between;align-items:center}
.logo-container{display:flex;flex-direction:column;gap:0.25rem;cursor:pointer}
.logo-main{font-size:2rem;font-weight:900;letter-spacing:-1px}
.logo-sub{font-size:0.5rem;letter-spacing:2px;color:var(--primary-red);font-weight:600}
.logo-img{height:75px;width:auto;object-fit:contain;display:block}
.footer-logo-img{height:90px;width:auto;object-fit:contain;display:block;margin-bottom:1.5rem}
.nav-links{display:flex;gap:4rem;list-style:none;align-items:center}
.nav-links a{color:var(--text-secondary);text-decoration:none;font-size:0.875rem;font-weight:500;letter-spacing:0.5px;text-transform:uppercase;transition:all 0.3s;position:relative}
.nav-links a:hover{color:var(--text-primary)}
.nav-links a.active{color:var(--text-primary);font-weight:600}
.nav-links a::after{content:'';position:absolute;bottom:-8px;left:0;width:0;height:1px;background:var(--primary-red);transition:width 0.3s}
.nav-links a:hover::after{width:100%}
.nav-links a.active::after{width:100%}
.nav-cta{background:var(--primary-red);color:var(--text-primary);padding:0.875rem 2rem;border-radius:2px;text-decoration:none;font-weight:600;font-size:0.875rem;letter-spacing:0.5px;text-transform:uppercase;transition:all 0.3s;border:1px solid var(--primary-red)}
.nav-cta:hover{background:transparent;color:var(--primary-red)}
.hero{margin-top:90px;min-height:calc(100vh - 90px);display:flex;align-items:flex-start;justify-content:flex-start;position:relative;padding:3rem 0 2rem}
.hero::before{content:'';position:absolute;top:0;right:0;width:60%;height:100%;background:radial-gradient(circle at 80% 50%,rgba(196,30,58,0.08) 0%,transparent 60%);filter:blur(120px)}
.hero-container{max-width:1600px;margin:0 auto;padding:0 4rem;position:relative;z-index:1;display:grid;grid-template-columns:1.1fr 1fr;gap:8rem;align-items:center}
.hero-content h1{font-size:7rem;font-weight:300;line-height:1.1;margin-bottom:0.75rem;letter-spacing:-3px}
.hero-content h1 .line{display:block}
.hero-content h1 .accent{color:var(--primary-red);font-weight:600}
.hero-tagline{font-size:1.4rem;color:var(--text-secondary);margin-bottom:3.5rem;font-weight:300;line-height:1.7}
.hero-ctas{display:flex;gap:1.5rem}
.primary-btn{background:var(--primary-red);color:var(--text-primary);padding:1.5rem 3.5rem;border-radius:2px;text-decoration:none;font-weight:600;font-size:0.9rem;letter-spacing:1px;text-transform:uppercase;transition:all 0.4s ease;border:1px solid var(--primary-red);display:inline-block}
.primary-btn:hover{background:transparent;color:var(--primary-red);transform:translateY(-2px)}
/* Hero stats row */
.hero-stats-row{display:flex;gap:2rem;margin-top:3rem;align-items:center}
.hero-stat{font-size:0.8rem;color:var(--text-secondary);font-weight:500}
.hero-stat span{color:var(--text-primary);font-weight:700;font-size:1.1rem;margin-right:5px}
.hero-stat-divider{width:1px;height:16px;background:rgba(255,255,255,0.15)}

.hero-headline{font-size:4.5rem;font-weight:300;letter-spacing:-3px;line-height:1.05;margin-bottom:1.25rem}
/* Hero Chat — premium wordmark layout */
.hero-chat-center{width:100%;max-width:740px}

/* Cai Wordmark Hero */
/* Cai Wordmark Hero — Internal Style */
.hp-welcome-wrap{display:flex;flex-direction:column;align-items:center;margin-bottom:18px}
.welcome-orb-wrap{width:80px;height:80px;margin-bottom:20px;position:relative}
.welcome-orb-wrap::before{content:'';position:absolute;inset:-28px;border-radius:50%;background:radial-gradient(circle,rgba(196,30,58,.18) 0%,rgba(196,30,58,.05) 40%,transparent 70%);animation:heroAmbPulse 4s ease-in-out infinite}
.hp-welcome-title{font-family:'Fraunces',serif;font-size:1.4rem;font-weight:400;color:rgba(255,255,255,.85);margin-bottom:6px}
.hp-welcome-sub{font-size:.74rem;color:rgba(255,255,255,.4);letter-spacing:.01em}


/* Prompt pill cards */
.hero-prompt-cards{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:4px}
.hero-prompt-card{padding:9px 18px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.06);border-radius:100px;color:rgba(255,255,255,0.45);font-size:0.76rem;font-weight:500;cursor:pointer;transition:all 0.25s;font-family:inherit;white-space:nowrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hero-prompt-card:hover{background:rgba(196,30,58,0.06);border-color:rgba(196,30,58,0.2);color:rgba(255,255,255,0.8)}

/* Input area */
.hero-chat-input-wrap{display:flex;align-items:center;gap:0;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.14);border-radius:14px;padding:4px 4px 4px 18px;transition:all 0.3s;box-shadow:0 0 0 1px rgba(255,255,255,0.03),0 4px 24px rgba(0,0,0,0.3);position:relative;margin-top:16px}
.hero-chat-input-wrap:focus-within{border-color:rgba(196,30,58,0.45);background:rgba(255,255,255,0.05);box-shadow:0 0 28px rgba(196,30,58,0.08),0 4px 24px rgba(0,0,0,0.3)}
.hero-chat-disclaimer{margin:8px 0 0;color:rgba(255,255,255,0.58);font-size:0.65rem;line-height:1.4;text-align:center}
#hp-chat-input{flex:1;background:none;border:none;color:var(--text-primary);font-size:0.92rem;font-family:inherit;outline:none;padding:12px 0;font-weight:400;letter-spacing:0.2px}
#hp-chat-input::placeholder{color:rgba(255,255,255,0.25);font-weight:400}
.hp-send-btn{background:rgba(196,30,58,0.8);border:none;color:#fff;width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s;flex-shrink:0;box-shadow:0 2px 8px rgba(196,30,58,0.2)}
.hp-send-btn:hover{background:#C41E3A;box-shadow:0 2px 16px rgba(196,30,58,0.3)}
.hp-send-btn:disabled{opacity:0.3;cursor:not-allowed;transform:none;box-shadow:none}

/* Chat response area — matches internal Cai design */
.hero-chat-response{margin-top:1.5rem;max-width:680px;width:100%;max-height:420px;overflow-y:auto;display:flex;flex-direction:column;gap:0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.1) transparent}
.hp-bot-msg,.hp-welcome-msg{display:flex;gap:0;animation:cbsMsgFade 0.3s ease;padding:14px 0;justify-content:flex-start}
.hp-user-msg{display:flex;gap:0;justify-content:flex-end;animation:cbsMsgFade 0.3s ease;padding:10px 0}
.hp-bot-avatar{display:none}
.hp-user-avatar{display:none}
.hp-bot-msg .hp-msg-text,.hp-welcome-msg .hp-msg-text{background:none;border:none;border-radius:0;padding:0;font-size:0.88rem;line-height:1.85;color:rgba(255,255,255,0.92);max-width:100%;box-shadow:none;letter-spacing:0.005em;backdrop-filter:none;-webkit-backdrop-filter:none}
.hp-user-msg .hp-msg-text{background:linear-gradient(135deg,rgba(196,30,58,0.14),rgba(196,30,58,0.07));border:1px solid rgba(196,30,58,0.15);border-radius:18px;border-bottom-right-radius:4px;padding:12px 18px;font-size:0.86rem;line-height:1.7;color:rgba(255,255,255,0.88);max-width:85%;box-shadow:0 2px 16px rgba(196,30,58,0.05);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hp-msg-text strong{font-weight:600;color:rgba(255,255,255,0.95)}
.hp-msg-text code{background:rgba(255,255,255,0.05);padding:2px 6px;border-radius:3px;font-size:0.8rem}
.hp-msg-text .md-h3{font-family:'Fraunces',serif;font-size:0.88rem;font-weight:500;margin:20px 0 8px;color:rgba(255,255,255,0.85)}
.hp-msg-text .md-h3:first-child{margin-top:0}
.hp-msg-text .md-h4{font-size:0.84rem;font-weight:600;margin:16px 0 6px;color:rgba(255,255,255,0.85)}
.hp-msg-text .md-li-num{padding-left:16px;margin-bottom:4px;position:relative}
.hp-msg-text .md-li-num::before{content:'';position:absolute;left:4px;top:9px;width:4px;height:4px;background:rgba(196,30,58,0.4);border-radius:50%}
.hp-msg-text .md-li-disc{padding-left:16px;margin-bottom:4px;position:relative}
.hp-msg-text .md-li-disc::before{content:'';position:absolute;left:4px;top:9px;width:4px;height:4px;background:rgba(255,255,255,0.3);border-radius:50%}
.hp-dots{display:flex;gap:6px;padding:16px 0;align-items:center}
.hp-dots span{width:7px;height:7px;background:rgba(196,30,58,0.4);border-radius:50%;animation:cbsTypingDot 1.4s ease-in-out infinite}
.hp-dots span:nth-child(2){animation-delay:0.2s}
.hp-dots span:nth-child(3){animation-delay:0.4s}
@keyframes cbsMsgFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes cursorBlink{0%,100%{opacity:1}50%{opacity:0}}
@keyframes cbsTypingDot{0%,60%,100%{opacity:0.3;transform:translateY(0) scale(0.85)}30%{opacity:1;transform:translateY(-4px) scale(1)}}
/* Cai Orb Avatar */
.cai-orb{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.cai-orb-core{position:absolute;border-radius:50%;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,0.22),transparent 40%),radial-gradient(circle at 50% 50%,#FF4D6A,#C41E3A 30%,#9B1830 50%,#5A0E1E 70%,#2A0710 90%);box-shadow:0 0 12px rgba(196,30,58,0.6),0 0 25px rgba(196,30,58,0.25),inset 0 -4px 8px rgba(0,0,0,0.3),inset 0 2px 5px rgba(255,255,255,0.1);z-index:2;animation:caiCorePulse 3.5s ease-in-out infinite;inset:3px}
.cai-orb-core::after{content:'';position:absolute;top:10%;left:16%;width:38%;height:24%;background:radial-gradient(ellipse,rgba(255,255,255,0.4),transparent);border-radius:50%}
@keyframes caiCorePulse{0%,100%{transform:scale(1);box-shadow:0 0 12px rgba(196,30,58,0.6),0 0 25px rgba(196,30,58,0.25),inset 0 -4px 8px rgba(0,0,0,0.3),inset 0 2px 5px rgba(255,255,255,0.1)}50%{transform:scale(1.04);box-shadow:0 0 16px rgba(196,30,58,0.7),0 0 32px rgba(196,30,58,0.35),inset 0 -4px 8px rgba(0,0,0,0.3),inset 0 2px 5px rgba(255,255,255,0.12)}}
.cai-orb-swoosh{position:absolute;inset:-2px;z-index:3;animation:caiSwooshSpin 10s linear infinite}
@keyframes caiSwooshSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
/* Hero Orb - Large Showcase */
.cai-orb-standalone .hero-orb-ambient{position:absolute;width:200%;height:200%;top:-50%;left:-50%;background:radial-gradient(circle,rgba(196,30,58,0.12) 0%,rgba(196,30,58,0.03) 35%,transparent 55%);animation:heroAmbPulse 4s ease-in-out infinite;pointer-events:none}
.hero-orb-ambient{position:absolute;width:220%;height:220%;top:-60%;left:-60%;background:radial-gradient(circle,rgba(196,30,58,0.14) 0%,rgba(196,30,58,0.04) 35%,transparent 55%);animation:heroAmbPulse 4s ease-in-out infinite;pointer-events:none}
@keyframes heroAmbPulse{0%,100%{opacity:0.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}
.hero-orb-ring{position:absolute;z-index:9;width:72px;height:72px;border-radius:50%;border:1px solid rgba(196,30,58,0.15);box-shadow:inset 0 0 12px rgba(196,30,58,0.08),0 0 8px rgba(196,30,58,0.08);animation:heroCoreBreathe 3.5s ease-in-out infinite}
.hero-orb-core{width:58px;height:58px;border-radius:50%;position:relative;z-index:10;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,0.25),transparent 40%),radial-gradient(circle at 70% 75%,rgba(255,215,0,0.12),transparent 30%),radial-gradient(circle at 50% 50%,#FF4D6A,#C41E3A 25%,#9B1830 45%,#5A0E1E 65%,#2A0710 85%,#150408 100%);box-shadow:0 0 40px rgba(196,30,58,0.65),0 0 80px rgba(196,30,58,0.28),0 0 130px rgba(196,30,58,0.12),inset 0 -10px 20px rgba(0,0,0,0.4),inset 0 5px 14px rgba(255,255,255,0.08),inset 0 0 40px rgba(196,30,58,0.3);animation:heroCoreBreathe 3.5s ease-in-out infinite}
.hero-orb-core::before{content:'';position:absolute;top:8%;left:18%;width:40%;height:28%;background:radial-gradient(ellipse at 50% 50%,rgba(255,255,255,0.45),rgba(255,255,255,0.12) 40%,transparent 70%);border-radius:50%;filter:blur(2px);transform:rotate(-15deg)}
.hero-orb-core::after{content:'';position:absolute;bottom:15%;right:12%;width:22%;height:14%;background:radial-gradient(ellipse,rgba(255,215,0,0.18),transparent 70%);border-radius:50%;filter:blur(3px)}
@keyframes heroCoreBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.hero-orb-swoosh1{position:absolute;inset:-16px;z-index:12;animation:caiSwooshSpin 10s linear infinite}
.hero-orb-swoosh2{position:absolute;inset:-16px;z-index:11;animation:caiSwooshSpin 14s linear infinite reverse}
.hero-orb-swoosh3{position:absolute;inset:-16px;z-index:8;animation:caiSwooshSpin 18s linear infinite;opacity:0.3}
.hero-orb-particle{position:absolute;border-radius:50%;z-index:13}
.hero-orb-p1{width:4px;height:4px;background:#FFD700;box-shadow:0 0 6px #FFD700,0 0 12px rgba(255,215,0,0.4);animation:heroParticle1 10s linear infinite}
.hero-orb-p2{width:3px;height:3px;background:#C41E3A;box-shadow:0 0 5px #C41E3A,0 0 10px rgba(196,30,58,0.4);animation:heroParticle2 14s linear infinite reverse}
@keyframes heroParticle1{0%{transform:rotate(0deg) translateX(50px) rotate(0deg)}100%{transform:rotate(360deg) translateX(50px) rotate(-360deg)}}
@keyframes heroParticle2{0%{transform:rotate(0deg) translateX(46px) rotate(0deg)}100%{transform:rotate(360deg) translateX(46px) rotate(-360deg)}}
.hero-orb-label{text-align:center;font-size:0.7rem;font-weight:500;color:rgba(255,255,255,0.35);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:16px}
.hero-orb-label span{display:block;font-size:0.65rem;font-weight:400;color:rgba(255,255,255,0.2);letter-spacing:0.5px;text-transform:none;margin-top:3px}
.hero-visual{position:relative;height:600px}
.visual-box{position:absolute;background:linear-gradient(135deg,rgba(26,26,26,0.6),rgba(42,42,42,0.4));backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,0.03);padding:3.5rem 3rem;border-radius:1px;transition:all 0.5s ease}
.visual-box:hover{transform:translateY(-8px);border-color:rgba(196,30,58,0.2);background:linear-gradient(135deg,rgba(26,26,26,0.75),rgba(42,42,42,0.55))}
.visual-box.box-1{top:0;right:0;width:290px}
.visual-box.box-2{top:180px;right:210px;width:330px}
.visual-box.box-3{bottom:0;right:50px;width:270px}
.visual-stat{font-size:3.5rem;font-weight:300;color:var(--primary-red);margin-bottom:0.75rem;letter-spacing:-1px}
.visual-label{font-size:0.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.5px;font-weight:400}
.brands-showcase{padding:3.5rem 0;border-top:1px solid rgba(255,255,255,0.06);border-bottom:1px solid rgba(255,255,255,0.06);background:rgba(20,20,20,0.6)}
.brands-label{text-align:center;color:rgba(255,255,255,0.62);font-size:0.7rem;font-weight:500;letter-spacing:0.25em;text-transform:uppercase;margin-bottom:2.5rem}
.brands-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;max-width:1100px;margin:0 auto;padding:0 2rem}
.brand-tile{height:90px;display:flex;align-items:center;justify-content:center;padding:1rem 1.5rem;border:1px solid rgba(255,255,255,0.08);border-radius:12px;background:rgba(30,30,35,0.7);transition:all 0.3s}
.brand-tile:hover{background:rgba(45,45,50,0.8);border-color:rgba(255,255,255,0.15)}
.brand-tile img{max-height:36px;max-width:85%;width:auto;object-fit:contain;opacity:0.85;transition:opacity 0.3s}
.brand-tile:hover img{opacity:1}
.brand-tile.tile-square img{max-height:50px}

/* SERVICES HUB — tabbed industry expertise */
.services-hub{padding:10rem 0;position:relative;background:linear-gradient(180deg,rgba(26,26,26,0.5) 0%,transparent 20%,transparent 80%,rgba(26,26,26,0.5) 100%);border-top:1px solid rgba(255,255,255,0.04);border-bottom:1px solid rgba(255,255,255,0.04)}
.services-hub::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:900px;height:900px;background:radial-gradient(circle,rgba(196,30,58,0.05) 0%,transparent 70%);filter:blur(120px);pointer-events:none}
.services-hub .section-container{position:relative;z-index:1}
.hub-header{text-align:center;margin-bottom:4rem}
.hub-header h2{font-size:3.5rem;font-weight:300;letter-spacing:-2px;margin-bottom:0}
.hub-header h2 strong{font-weight:700}

/* Tabs */
.hub-tabs{display:flex;justify-content:center;gap:0.5rem;margin-bottom:4rem;flex-wrap:wrap}
.hub-tab{padding:0.85rem 2rem;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.08);color:var(--text-secondary);font-size:0.75rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all 0.4s;font-family:inherit;position:relative;overflow:hidden;border-radius:6px}
.hub-tab .tab-icon{margin-right:0.5rem;font-size:0.85rem}
.tab-svg{width:16px;height:16px;margin-right:0.6rem;vertical-align:-2px;opacity:0.5;transition:opacity 0.3s;flex-shrink:0}
.hub-tab:hover .tab-svg,.hub-tab.active .tab-svg{opacity:0.9}
.hub-tab::before{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--primary-red),var(--accent-gold));transition:width 0.4s}
.hub-tab:hover{border-color:rgba(196,30,58,0.3);color:var(--text-primary);background:rgba(255,255,255,0.04)}
.hub-tab:hover::before{width:100%}
.hub-tab.active{background:linear-gradient(145deg,rgba(30,30,30,0.95),rgba(40,40,40,0.85));border-color:rgba(196,30,58,0.4);color:var(--text-primary);box-shadow:0 4px 20px rgba(0,0,0,0.3)}
.hub-tab.active::before{width:100%}

/* Panels */
.hub-panel{display:none;max-width:1400px;margin:0 auto;animation:hubFade 0.4s ease;border-radius:12px;overflow:hidden}
.hub-panel.active{display:grid;grid-template-columns:1.2fr 1fr;gap:0;border:1px solid rgba(255,255,255,0.08)}
@keyframes hubFade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* Panel content */
.hub-content{padding:4rem;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,rgba(20,20,20,0.95),rgba(30,30,30,0.9))}
.hub-eyebrow{font-size:0.7rem;color:var(--accent-gold);letter-spacing:3px;font-weight:700;text-transform:uppercase;margin-bottom:1.25rem}
.hub-content h3{font-size:2.25rem;font-weight:600;letter-spacing:-1px;line-height:1.2;margin-bottom:1.25rem;color:var(--text-primary)}
.hub-content p{color:var(--text-secondary);line-height:1.85;font-size:0.95rem;margin-bottom:1.5rem}

/* Capability tags */
.hub-caps{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:2rem}
.hub-caps span{padding:0.4rem 1rem;background:rgba(196,30,58,0.06);border:1px solid rgba(196,30,58,0.15);font-size:0.75rem;color:var(--text-secondary);letter-spacing:0.5px;font-weight:500;border-radius:4px}

/* Link */
.hub-link{color:var(--primary-red);text-decoration:none;font-weight:600;font-size:0.8rem;letter-spacing:1.5px;text-transform:uppercase;transition:all 0.3s}
.hub-link:hover{letter-spacing:2.5px}

/* Logo side */
.hub-logos{background:rgba(13,13,13,0.95);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem}
.hub-logos-label{font-size:0.7rem;color:var(--text-secondary);letter-spacing:2.5px;text-transform:uppercase;font-weight:600;margin-bottom:2rem}
.hub-logos-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0.5rem;width:100%;max-width:360px}
.hub-logo-tile{background:rgba(30,30,35,0.7);border:1px solid rgba(255,255,255,0.08);border-radius:10px;height:80px;display:flex;align-items:center;justify-content:center;padding:1rem;transition:all 0.3s}
.hub-logo-tile:hover{border-color:rgba(196,30,58,0.3);background:rgba(40,40,45,0.8)}
.hub-logo-tile img{max-height:42px;max-width:130px;object-fit:contain;opacity:0.85;transition:opacity 0.3s}
.hub-logo-tile:hover img{opacity:1}
.hub-logo-tile .text-logo{font-size:0.8rem;font-weight:600;color:rgba(255,255,255,0.45);letter-spacing:1.5px}

/* AI CHAT SECTION — full-page experience */
.ai-chat-section{padding:8rem 0;position:relative;background:linear-gradient(180deg,rgba(13,13,13,1) 0%,rgba(18,18,20,1) 50%,rgba(13,13,13,1) 100%)}
.ai-chat-section::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(196,30,58,0.04) 0%,transparent 70%);filter:blur(100px);pointer-events:none}
.ai-chat-header{text-align:center;margin-bottom:3.5rem;position:relative;z-index:1}
.ai-chat-badge{display:inline-block;padding:0.4rem 1.2rem;background:rgba(196,30,58,0.1);border:1px solid rgba(196,30,58,0.25);border-radius:20px;font-size:0.65rem;font-weight:700;letter-spacing:2.5px;color:var(--primary-red);margin-bottom:1.5rem}
.ai-chat-header h2{font-size:3.5rem;font-weight:300;letter-spacing:-2px;margin-bottom:1rem}
.ai-chat-header h2 strong{font-weight:700}
.ai-chat-header p{font-size:1.05rem;color:var(--text-secondary);max-width:600px;margin:0 auto}
.ai-chat-main{position:relative;z-index:1;max-width:800px;margin:0 auto}
.ai-chat-box{background:rgba(20,20,22,0.9);border:1px solid rgba(255,255,255,0.08);border-radius:20px;overflow:hidden;box-shadow:0 20px 80px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.03)}
.ai-chat-messages{min-height:120px;max-height:400px;overflow-y:auto;padding:2rem 2rem 1rem;display:flex;flex-direction:column;gap:1.25rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.1) transparent}
.hp-welcome-msg,.hp-bot-msg{display:flex;gap:0;animation:cbsMsgFade 0.3s ease;padding:14px 0;justify-content:flex-start}
.hp-user-msg{display:flex;gap:0;justify-content:flex-end;animation:cbsMsgFade 0.3s ease;padding:10px 0}
.hp-bot-avatar{display:none}
.hp-user-avatar{display:none}
.hp-welcome-msg .hp-msg-text,.hp-bot-msg .hp-msg-text{background:none;border:none;border-radius:0;padding:0;font-size:0.88rem;line-height:1.85;color:rgba(255,255,255,0.92);max-width:100%;box-shadow:none;letter-spacing:0.005em;backdrop-filter:none;-webkit-backdrop-filter:none}
.hp-user-msg .hp-msg-text{background:linear-gradient(135deg,rgba(196,30,58,0.14),rgba(196,30,58,0.07));border:1px solid rgba(196,30,58,0.15);border-radius:18px;border-bottom-right-radius:4px;padding:12px 18px;font-size:0.86rem;line-height:1.7;color:rgba(255,255,255,0.88);max-width:85%;box-shadow:0 2px 16px rgba(196,30,58,0.05);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hp-dots{display:flex;gap:6px;padding:16px 0;align-items:center}
.hp-dots span{width:7px;height:7px;background:rgba(196,30,58,0.4);border-radius:50%;animation:cbsTypingDot 1.4s ease-in-out infinite}
.hp-dots span:nth-child(2){animation-delay:0.2s}
.hp-dots span:nth-child(3){animation-delay:0.4s}
@keyframes cbsMsgFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes cbsTypingDot{0%,60%,100%{opacity:0.3;transform:scale(0.8)}30%{opacity:1;transform:scale(1)}}
.ai-chat-suggestions{display:flex;flex-wrap:wrap;gap:8px;padding:0 2rem 1.5rem;justify-content:center}
.ai-chat-suggestions button{padding:10px 18px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:24px;color:var(--text-secondary);font-size:0.8rem;cursor:pointer;transition:all 0.2s;font-family:inherit}
.ai-chat-suggestions button:hover{background:rgba(196,30,58,0.08);border-color:rgba(196,30,58,0.25);color:var(--text-primary)}
.ai-chat-input-bar{display:flex;align-items:center;gap:10px;padding:1.25rem 2rem;border-top:1px solid rgba(255,255,255,0.06);background:rgba(26,26,28,0.8)}
#hp-chat-input{flex:1;background:none;border:none;color:var(--text-primary);font-size:0.92rem;font-family:inherit;outline:none;padding:12px 0;font-weight:400;letter-spacing:0.2px;transition:all 0.3s}
#hp-chat-input:focus{border-color:transparent}
#hp-chat-input::placeholder{color:rgba(255,255,255,0.3);font-weight:400}
.hp-send-btn{background:rgba(196,30,58,0.85);border:none;color:#fff;width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s;flex-shrink:0;box-shadow:0 2px 8px rgba(196,30,58,0.25)}
.hp-send-btn:hover{background:#C41E3A;box-shadow:0 2px 16px rgba(196,30,58,0.35)}
.hp-send-btn:disabled{opacity:0.3;cursor:not-allowed;transform:none;box-shadow:none}

.section-eyebrow{font-size:0.875rem;letter-spacing:3px;text-transform:uppercase;color:var(--accent-gold);margin-bottom:2rem;font-weight:600}
/* CST DIFFERENTIATOR */
.differentiator{
    padding:12rem 0;
    background-image:url('/images/cst-overhead.png');
    background-size:cover;
    background-position:center;
    background-attachment:fixed;
    position:relative;
}
.differentiator::after{
    content:'';
    position:absolute;
    inset:0;
    background:rgba(13,13,13,0.50);
    z-index:0;
}
.diff-container{
    max-width:1200px;
    margin:0 auto;
    padding:0 4rem;
    position:relative;
    z-index:1;
    text-align:center;
}
.diff-visual{display:none}
.diff-content{max-width:900px;margin:0 auto}
.diff-content 
/* SERVICES HUB — tabbed industry expertise */
.services-hub{padding:10rem 0;position:relative;background:linear-gradient(180deg,rgba(26,26,26,0.5) 0%,transparent 20%,transparent 80%,rgba(26,26,26,0.5) 100%);border-top:1px solid rgba(255,255,255,0.04);border-bottom:1px solid rgba(255,255,255,0.04)}
.services-hub::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:900px;height:900px;background:radial-gradient(circle,rgba(196,30,58,0.05) 0%,transparent 70%);filter:blur(120px);pointer-events:none}
.services-hub .section-container{position:relative;z-index:1}
.hub-header{text-align:center;margin-bottom:4rem}
.hub-header h2{font-size:3.5rem;font-weight:300;letter-spacing:-2px;margin-bottom:0}
.hub-header h2 strong{font-weight:700}

/* Tabs */
.hub-tabs{display:flex;justify-content:center;gap:0.5rem;margin-bottom:4rem;flex-wrap:wrap}
.hub-tab{padding:0.85rem 2rem;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.08);color:var(--text-secondary);font-size:0.75rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all 0.4s;font-family:inherit;position:relative;overflow:hidden;border-radius:6px}
.hub-tab .tab-icon{margin-right:0.5rem;font-size:0.85rem}
.hub-tab::before{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--primary-red),var(--accent-gold));transition:width 0.4s}
.hub-tab:hover{border-color:rgba(196,30,58,0.3);color:var(--text-primary);background:rgba(255,255,255,0.04)}
.hub-tab:hover::before{width:100%}
.hub-tab.active{background:linear-gradient(145deg,rgba(30,30,30,0.95),rgba(40,40,40,0.85));border-color:rgba(196,30,58,0.4);color:var(--text-primary);box-shadow:0 4px 20px rgba(0,0,0,0.3)}
.hub-tab.active::before{width:100%}

/* Panels */
.hub-panel{display:none;max-width:1400px;margin:0 auto;animation:hubFade 0.4s ease;border-radius:12px;overflow:hidden}
.hub-panel.active{display:grid;grid-template-columns:1.2fr 1fr;gap:0;border:1px solid rgba(255,255,255,0.08)}
@keyframes hubFade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* Panel content */
.hub-content{padding:4rem;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,rgba(20,20,20,0.95),rgba(30,30,30,0.9))}
.hub-eyebrow{font-size:0.7rem;color:var(--accent-gold);letter-spacing:3px;font-weight:700;text-transform:uppercase;margin-bottom:1.25rem}
.hub-content h3{font-size:2.25rem;font-weight:600;letter-spacing:-1px;line-height:1.2;margin-bottom:1.25rem;color:var(--text-primary)}
.hub-content p{color:var(--text-secondary);line-height:1.85;font-size:0.95rem;margin-bottom:1.5rem}

/* Capability tags */
.hub-caps{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:2rem}
.hub-caps span{padding:0.4rem 1rem;background:rgba(196,30,58,0.06);border:1px solid rgba(196,30,58,0.15);font-size:0.75rem;color:var(--text-secondary);letter-spacing:0.5px;font-weight:500;border-radius:4px}

/* Link */
.hub-link{color:var(--primary-red);text-decoration:none;font-weight:600;font-size:0.8rem;letter-spacing:1.5px;text-transform:uppercase;transition:all 0.3s}
.hub-link:hover{letter-spacing:2.5px}

/* Logo side */
.hub-logos{background:rgba(13,13,13,0.95);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem}
.hub-logos-label{font-size:0.7rem;color:var(--text-secondary);letter-spacing:2.5px;text-transform:uppercase;font-weight:600;margin-bottom:2rem}
.hub-logos-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0.5rem;width:100%;max-width:360px}
.hub-logo-tile{background:rgba(30,30,35,0.7);border:1px solid rgba(255,255,255,0.08);border-radius:10px;height:80px;display:flex;align-items:center;justify-content:center;padding:1rem;transition:all 0.3s}
.hub-logo-tile:hover{border-color:rgba(196,30,58,0.3);background:rgba(40,40,45,0.8)}
.hub-logo-tile img{max-height:42px;max-width:130px;object-fit:contain;opacity:0.85;transition:opacity 0.3s}
.hub-logo-tile:hover img{opacity:1}
.hub-logo-tile .text-logo{font-size:0.8rem;font-weight:600;color:rgba(255,255,255,0.45);letter-spacing:1.5px}

/* Tri-card aerospace panel — 3-vertical layout override */
.hub-panel-tri.active{display:block !important;grid-template-columns:none !important;background:linear-gradient(145deg,rgba(20,20,20,0.95),rgba(30,30,30,0.9));padding:3rem 3rem 3.5rem}
.hub-tri-intro{text-align:center;max-width:760px;margin:0 auto 2.5rem}
.hub-tri-intro h3{font-size:2.25rem;font-weight:600;letter-spacing:-1px;line-height:1.2;margin-bottom:1rem;color:var(--text-primary)}
.hub-tri-intro p{color:var(--text-secondary);line-height:1.75;font-size:0.95rem}
.hub-tri-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.hub-tri-card{display:flex;flex-direction:column;padding:2rem 1.75rem;background:rgba(13,13,13,0.7);border:1px solid rgba(255,255,255,0.08);border-radius:12px;text-decoration:none;color:inherit;transition:all 0.3s ease;position:relative;overflow:hidden}
.hub-tri-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--primary-red),transparent);opacity:0;transition:opacity 0.3s}
.hub-tri-card:hover{border-color:rgba(196,30,58,0.35);background:rgba(20,20,22,0.85);transform:translateY(-2px)}
.hub-tri-card:hover::before{opacity:1}
.hub-tri-icon{width:48px;height:48px;color:var(--primary-red);margin-bottom:1.25rem;opacity:0.9}
.hub-tri-icon svg{width:100%;height:100%}
.hub-tri-eyebrow{font-size:0.65rem;color:var(--text-secondary);letter-spacing:2px;text-transform:uppercase;font-weight:600;margin-bottom:0.5rem}
.hub-tri-card h4{font-size:1.5rem;font-weight:600;letter-spacing:-0.5px;line-height:1.2;margin-bottom:0.85rem;color:var(--text-primary)}
.hub-tri-card p{color:var(--text-secondary);line-height:1.65;font-size:0.85rem;margin-bottom:1.25rem;flex-grow:1}
.hub-tri-caps{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:1.5rem}
.hub-tri-caps span{font-size:0.65rem;color:rgba(255,255,255,0.6);letter-spacing:1px;text-transform:uppercase;font-weight:600;padding:0.4rem 0.7rem;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:4px}
.hub-tri-link{color:var(--primary-red);font-weight:600;font-size:0.75rem;letter-spacing:1.5px;text-transform:uppercase;margin-top:auto;transition:letter-spacing 0.3s}
.hub-tri-card:hover .hub-tri-link{letter-spacing:2.5px}

.section-eyebrow{text-align:center;margin-bottom:2rem}
.diff-content h2{font-size:4.5rem;font-weight:300;margin-bottom:2.5rem;letter-spacing:-2px;line-height:1.1;text-align:center}
.diff-content h2 strong{font-weight:700;color:var(--primary-red)}
.diff-content p{font-size:1.3rem;color:var(--text-secondary);line-height:1.9;margin-bottom:1.5rem;text-align:center}
.diff-features{list-style:none;margin-top:4rem;display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;border-top:1px solid rgba(255,255,255,0.1);padding-top:4rem}
.diff-features li{padding:2rem;background:rgba(26,26,26,0.6);border:1px solid rgba(255,255,255,0.08);color:var(--text-secondary);font-size:1.05rem;transition:all 0.3s;text-align:left}
.diff-features li:hover{border-color:rgba(196,30,58,0.4);background:rgba(26,26,26,0.8);transform:translateY(-4px)}
.diff-features li strong{color:var(--text-primary);font-weight:600;display:block;margin-bottom:0.5rem;font-size:1.1rem}

/* CARRIER NETWORK */
.carrier-network{
    padding:12rem 0;
    background:linear-gradient(180deg,rgba(196,30,58,0.04) 0%,transparent 30%,transparent 70%,rgba(196,30,58,0.04) 100%);
    border-top:1px solid rgba(255,255,255,0.04);
    border-bottom:1px solid rgba(255,255,255,0.04);
    position:relative;
}
.carrier-network::after{
    display:none;
}

.services{padding:10rem 0}
.section-container{max-width:1600px;margin:0 auto;padding:0 4rem}
.section-header{text-align:center;margin-bottom:6rem}
.section-header h2{font-size:4rem;font-weight:300;margin-bottom:1.5rem;letter-spacing:-2px}
.section-header h2 strong{font-weight:700}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;max-width:1400px;margin:0 auto}
.service-card{
    background:linear-gradient(135deg,rgba(26,26,26,0.95),rgba(42,42,42,0.85));
    border:1px solid rgba(255,255,255,0.08);
    padding:0;
    overflow:hidden;
    transition:all 0.4s;
    cursor:pointer;
    position:relative;
}
.service-card::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:2px;
    background:linear-gradient(90deg, var(--primary-red), var(--accent-gold));
    transform:scaleX(0);
    transform-origin:left;
    transition:transform 0.5s ease;
}
.service-card:hover{transform:translateY(-6px);border-color:rgba(196,30,58,0.25);box-shadow:0 20px 60px rgba(0,0,0,0.4)}
.service-card:hover::before{transform:scaleX(1)}
.service-image{
    height:200px;
    background:linear-gradient(135deg,rgba(196,30,58,0.08),rgba(42,42,42,0.6));
    display:flex;
    align-items:center;
    justify-content:center;
    border-bottom:1px solid rgba(255,255,255,0.06);
    color:var(--primary-red);
    position:relative;
}
.service-image::after{
    content:'';
    position:absolute;
    inset:0;
    background:radial-gradient(circle at center, rgba(196,30,58,0.12), transparent 70%);
}
.service-content{padding:3.5rem 3rem 3rem}
.service-number{font-size:0.7rem;color:var(--accent-gold);letter-spacing:2.5px;font-weight:600;margin-bottom:1.75rem;text-transform:uppercase}
.service-card h3{font-size:1.85rem;margin-bottom:1.25rem;font-weight:600;line-height:1.2;letter-spacing:-0.5px}
.service-card p{color:var(--text-secondary);line-height:1.8;font-size:0.975rem;margin-bottom:2.5rem}
.service-link{
    color:var(--primary-red);
    text-decoration:none;
    font-weight:600;
    font-size:0.8rem;
    letter-spacing:1.5px;
    text-transform:uppercase;
    display:inline-flex;
    align-items:center;
    gap:0.5rem;
    transition:all 0.3s;
    border-bottom:1px solid transparent;
    padding-bottom:2px;
}
.service-link:hover{gap:1rem;border-bottom-color:var(--primary-red)}
.service-link::after{content:'→';transition:transform 0.3s}
.service-link:hover::after{transform:translateX(4px)}
.stats-showcase{padding:8rem 0;background:linear-gradient(135deg,rgba(26,26,26,0.9),rgba(42,42,42,0.7));border-top:1px solid rgba(196,30,58,0.2);border-bottom:1px solid rgba(196,30,58,0.2)}
.stats-grid{max-width:1400px;margin:0 auto;padding:0 4rem;display:grid;grid-template-columns:repeat(4,1fr);gap:4rem}
.stat-box{text-align:center;padding:3rem 2rem;background:rgba(196,30,58,0.05);border:1px solid rgba(196,30,58,0.1);transition:all 0.3s}
.stat-box:hover{background:rgba(196,30,58,0.08);transform:translateY(-5px)}
.stat-big{font-size:4.5rem;font-weight:700;color:var(--primary-red);margin-bottom:1rem;letter-spacing:-2px}
.stat-label{font-size:0.875rem;color:var(--text-secondary);letter-spacing:1px;text-transform:uppercase}
.testimonial{padding:12rem 0;position:relative;background-image:url('/images/mt-hood-truck.jpg');background-size:cover;background-position:center;background-attachment:fixed}
.testimonial::after{content:'';position:absolute;inset:0;background:rgba(13,13,13,0.55);z-index:0}
.testimonial .section-container{position:relative;z-index:1}
.testimonial-card{background:linear-gradient(135deg,rgba(26,26,26,0.8),rgba(42,42,42,0.6));backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.06);padding:5rem;max-width:1000px;margin:0 auto}
.testimonial-quote{font-size:1.75rem;line-height:1.7;margin-bottom:3rem;font-style:italic}
.testimonial-author{display:flex;align-items:center;gap:1.5rem}
.author-initial{width:60px;height:60px;background:var(--primary-red);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700}
.author-info h3{font-size:1.125rem;margin-bottom:0.25rem;font-weight:600}
.author-info p{font-size:0.875rem;color:var(--text-secondary)}
.cta-section{padding:12rem 0;position:relative}
.cta-section::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(196,30,58,0.12) 0%,transparent 70%);filter:blur(100px)}
.cta-box{max-width:1000px;margin:0 auto;padding:0 4rem;text-align:center;position:relative}
.cta-box h2{font-size:4.5rem;font-weight:300;margin-bottom:2rem;letter-spacing:-2px}
.cta-box h2 strong{font-weight:700}
.cta-box p{font-size:1.25rem;color:var(--text-secondary);margin-bottom:3rem;line-height:1.8}
footer{padding:6rem 0;background:rgba(13,13,13,0.9);border-top:1px solid rgba(255,255,255,0.06)}
.footer-container{max-width:1600px;margin:0 auto;padding:0 4rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:4rem}
.footer-brand{max-width:400px}
.footer-logo{margin-bottom:2rem}
.footer-logo-main{font-size:2.5rem;font-weight:900;letter-spacing:-1px}
.footer-logo-sub{font-size:0.6rem;letter-spacing:2px;color:var(--primary-red);font-weight:600}
.footer-brand p{color:var(--text-secondary);line-height:1.8;margin-bottom:2rem}
.cert-badges{display:flex;gap:1rem}
.cert-badge{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);padding:0.5rem 1rem;font-size:0.75rem;color:var(--text-secondary)}
.footer-links h3{font-size:0.875rem;letter-spacing:1px;text-transform:uppercase;margin-bottom:2rem;color:var(--text-primary)}

.stream-facade{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#090909;cursor:pointer;overflow:hidden;color:#fff}
.stream-facade img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,filter .35s ease}
.stream-facade::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.32));transition:background .3s ease}
.stream-facade-play{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:rgba(196,30,58,.94);border:1px solid rgba(255,255,255,.28);box-shadow:0 12px 34px rgba(0,0,0,.45);font-size:1.35rem;padding-left:4px;transition:transform .25s ease,background .25s ease}
.stream-facade:hover img{transform:scale(1.025);filter:brightness(.88)}
.stream-facade:hover .stream-facade-play,.stream-facade:focus-visible .stream-facade-play{transform:translate(-50%,-50%) scale(1.08);background:#d62445}
.stream-facade:focus-visible{outline:3px solid #fff;outline-offset:-3px}
.footer-links ul{list-style:none}
.footer-links li{margin-bottom:1rem}
.footer-links a{color:var(--text-secondary);text-decoration:none;font-size:0.9rem;transition:color 0.3s}
.footer-links a:hover{color:var(--text-primary)}
.footer-bottom{max-width:1600px;margin:0 auto;padding:4rem 4rem 0;border-top:1px solid rgba(255,255,255,0.06);margin-top:4rem;text-align:center}
.footer-bottom p{color:var(--text-secondary);font-size:0.875rem}
}
}
.mobile-menu-toggle{display:none;background:none !important;background-color:transparent !important;border:0 !important;cursor:pointer;padding:0.5rem;-webkit-appearance:none !important;appearance:none !important;outline:none !important;box-shadow:none !important;border-radius:0 !important}
.mobile-menu-toggle span{display:block;width:28px;height:2px;background:#FFFFFF;margin:6px 0}
.mobile-menu{display:none;position:fixed;top:90px;left:0;width:100%;background:rgba(13,13,13,0.98);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,0.06);padding:2rem 0;z-index:999}
.mobile-menu.active{display:block}
.mobile-menu a{display:block;padding:1rem 4rem;color:var(--text-secondary);text-decoration:none;font-size:0.875rem;font-weight:500;letter-spacing:0.5px;text-transform:uppercase;transition:all 0.3s}
.mobile-menu a:hover{color:var(--text-primary);background:rgba(255,255,255,0.02)}
@media (max-width:1200px) {
.hero{min-height:auto;margin-top:70px}
.hero-content h1{font-size:4rem}
.hero-container{grid-template-columns:1fr;gap:4rem}
.hero-visual{display:none}
.hero-chat{max-width:100%;margin-top:2rem}
.hero-chat-box{border-radius:12px}
.hero-chat-messages{padding:1rem}
.hero-chat-suggestions{padding:0 1rem 0.75rem}
.hero-chat-suggestions button{font-size:0.65rem;padding:6px 10px}
.hero-chat-input-bar{padding:0.75rem 1rem}
.hero-chat-center{max-width:100%}
.hero-chat-input-wrap{border-radius:12px;padding:3px 3px 3px 14px}
.hero-prompt-cards{gap:6px}
.hero-prompt-card{font-size:0.7rem;padding:7px 14px}
.cai-orb-standalone{width:80px;height:80px;margin-bottom:10px}
.welcome-orb-wrap{width:64px;height:64px;margin-bottom:16px}
.hp-welcome-title{font-size:1.2rem}
.hp-welcome-sub{font-size:.68rem}
.hero-orb-core{width:48px;height:48px}
.hero-orb-ring{width:58px;height:58px}
#hp-chat-input{font-size:16px;padding:14px 0}
.hp-send-btn{width:40px;height:40px;border-radius:0}
.hero-suggestions button{font-size:0.68rem;padding:6px 12px}
.hero-stats-row{gap:1rem;margin-top:2rem;flex-wrap:wrap;justify-content:center}
.hero-stat{font-size:0.7rem}
.hero-stat span{font-size:0.85rem}
.nav-links{display:none}
.mobile-menu-toggle{display:block}
.services-grid{grid-template-columns:1fr}
.stats-grid{grid-template-columns:repeat(2,1fr)}
.diff-container{grid-template-columns:1fr}
.diff-features{grid-template-columns:1fr}
.footer-container{grid-template-columns:1fr 1fr}
.section-container,.intro-container,.cta-box,.stats-grid{padding-left:2rem;padding-right:2rem}
}



/* ========================================
   COMPREHENSIVE MOBILE OVERHAUL v2
   iPhone-first — premium, intentional
   ======================================== */

/* --- TABLET (1200px) --- */
@media (max-width:1200px) {
  .nav-links { display:none }
  .mobile-menu-toggle { display:block }
  .hero { min-height:auto }
  .footer-container { grid-template-columns:1fr 1fr }
}

/* --- MOBILE (768px) --- */
@media (max-width:768px) {
  /* GLOBAL */
  * { -webkit-text-size-adjust:100% }
  body { overflow-x:hidden }
  img { max-width:100%;height:auto }
  
  /* NAV */
  nav { padding:0.6rem 0 }
  nav.scrolled { padding:0.5rem 0 }
  .nav-container { padding:0 1rem }
  .logo-main { font-size:1.75rem }
  .logo-sub { font-size:0.4rem;letter-spacing:1.5px }
  .nav-cta { font-size:0.65rem;padding:0.5rem 1rem;letter-spacing:0.5px }
  .logo-img { height:55px !important }
  .footer-logo-img { height:75px !important }
  .mobile-menu { top:55px }
  .mobile-menu a { padding:0.85rem 1.5rem;font-size:0.85rem }
  
  /* HERO — generous, breathable */
  .hero { 
    min-height:auto !important;
    padding:4rem 0 3rem !important;
    margin-top:55px !important;
    background-attachment:scroll !important;
  }
  .hero-container { 
    padding:0 1.5rem !important;
    grid-template-columns:1fr !important;
    gap:2rem !important;
  }
  .hero h1,.hero-headline { font-size:2.75rem !important;letter-spacing:-1.5px !important;margin-bottom:1.5rem !important;line-height:1.1 !important;font-weight:300 !important }
  .hero-container h1 { font-size:2.75rem !important;letter-spacing:-1.5px !important }
  .hero { min-height:100svh !important;display:flex !important;align-items:center !important }
  /* CST section — collapse body text on mobile */
  .diff-content p { display:none }
  .diff-content p:last-of-type { display:none }
  .diff-content h2 { margin-bottom:1.25rem }
  .diff-features { margin-top:0 }
  .hero-eyebrow { font-size:0.7rem !important;margin-bottom:1.25rem !important;letter-spacing:2.5px !important }
  .hero-description,.hero-tagline,.hero p { font-size:0.95rem !important;margin-bottom:1.75rem !important;line-height:1.6 !important;max-width:90% !important }
  .hero-visual { display:none !important }
  .hero-ctas { flex-direction:column;gap:0.75rem }
  .primary-btn { 
    padding:1rem 2rem !important;
    font-size:0.75rem !important;
    letter-spacing:1.2px !important;
    text-align:center;
  }
  
  /* SECTION EYEBROWS */
  .section-eyebrow { font-size:0.6rem !important;letter-spacing:2.5px !important;margin-bottom:0.75rem !important }
  
  /* SECTION HEADERS */
  .section-header { margin-bottom:2rem !important }
  .section-header h2 { font-size:2rem !important;letter-spacing:-1px !important;margin-bottom:0.75rem !important;font-weight:300 !important }
  .section-header p { font-size:0.88rem !important;line-height:1.6 !important;color:var(--text-secondary) !important }
  
  /* CONTAINERS — consistent 1.5rem padding */
  .section-container,
  .diff-container,
  .cta-box { 
    padding-left:1.5rem !important;
    padding-right:1.5rem !important;
  }
  
  /* PARALLAX SECTIONS — force scroll, keep overlays working */
  .differentiator,
  .carrier-network,
  .cst-section,
  .tech-section,
  .cst-experience,
  .opportunities,
  .testimonials,
  [data-parallax-bg] {
    background-attachment:scroll !important;
  }

  /* ALL SECTIONS — reduce desktop padding */
  .section,
  .services,
  .differentiator,
  .carrier-network,
  .testimonial,
  .cta-section,
  .benefits,
  .opportunities,
  .testimonials,
  .cst-section,
  .commission-section,
  .tech-section,
  .turvo-section,
  .why-section,
  .cst-experience,
  section.section { 
    padding:3.5rem 0 !important;
  }
  
  /* INLINE STYLE OVERRIDES */
  h2[style*="font-size:4.5rem"],
  h2[style*="font-size:4rem"],
  h2[style*="font-size:3.5rem"],
  h2[style*="font-size:3rem"] { 
    font-size:1.85rem !important;
    letter-spacing:-0.5px !important;
    margin-bottom:1rem !important;
  }
  h2[style*="margin-bottom:6rem"],
  h2[style*="margin-bottom:5rem"],
  h2[style*="margin-bottom:4rem"],
  h2[style*="margin-bottom:3rem"] {
    margin-bottom:1.25rem !important;
  }
  p[style*="margin-bottom:6rem"],
  p[style*="margin-bottom:5rem"],
  p[style*="margin-bottom:4rem"] {
    margin-bottom:1.5rem !important;
  }
  p[style*="font-size:1.3rem"],
  p[style*="font-size:1.2rem"] {
    font-size:0.95rem !important;
    line-height:1.65 !important;
  }
  
  /* INLINE GRIDS — force single column */
  [style*="grid-template-columns:repeat(3"],
  [style*="grid-template-columns:repeat(4"] {
    grid-template-columns:1fr !important;
    gap:0.75rem !important;
  }
  [style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns:1fr !important;
    gap:1.5rem !important;
  }
  [style*="grid-template-columns:repeat(2,1fr)"][style*="gap:2.5rem"] {
    grid-template-columns:1fr !important;
    gap:1.25rem !important;
  }
  [style*="gap:4rem"] { gap:1.5rem !important }
  [style*="gap:3rem"] { gap:1rem !important }
  /* VIDEO SECTION — stack on mobile */
  [style*="grid-template-columns:1.2fr 0.8fr"] {
    grid-template-columns:1fr !important;
    gap:2rem !important;
  }
  [style*="padding:0 4rem"] {
    padding:0 1.5rem !important;
  }
  [style*="font-size:2.8rem"] {
    font-size:1.85rem !important;
  }

  [style*="margin-top:4rem"] { margin-top:1.5rem !important }
  
  /* INLINE PADDING overrides */
  [style*="padding:5rem"],
  [style*="padding:4rem"],
  [style*="padding:3.5rem"] {
    padding:1.5rem 1.25rem !important;
  }
  [style*="padding:2.5rem 2rem"] { padding:1.25rem 1rem !important }
  
  /* INLINE FONT overrides - tame desktop sizes */
  [style*="font-size:2rem"] { font-size:1.35rem !important }
  [style*="font-size:0.95rem"][style*="line-height:1.8"] { font-size:0.85rem !important;line-height:1.6 !important }
  [style*="font-size:1.1rem"][style*="line-height:1.7"] { font-size:0.88rem !important }
  [style*="font-size:0.7rem"][style*="letter-spacing:2.5px"] { font-size:0.6rem !important;letter-spacing:2px !important }
  [style*="font-size:0.65rem"][style*="letter-spacing:2.5px"] { font-size:0.55rem !important }
  [style*="font-size:0.75rem"][style*="letter-spacing:2px"] { font-size:0.6rem !important }
  
  /* CARDS — universal */
  .benefit-card,
  .opp-card,
  .cst-card,
  .tech-card,
  .why-card,
  .commission-card,
  .service-card {
    padding:1.5rem 1.25rem !important;
  }
  .benefit-card h3,.opp-card h3,.service-card h3 { font-size:1.2rem !important;margin-bottom:0.5rem !important }
  .benefit-card p,.opp-card p,.service-card p { font-size:0.88rem !important;line-height:1.6 !important;margin-bottom:1rem !important }
  .cst-card h4 { font-size:1.1rem !important;margin-bottom:0.5rem !important }
  .cst-card p { font-size:0.88rem !important;line-height:1.55 !important }
  .benefit-icon { width:45px !important;height:45px !important;margin-bottom:0.75rem !important;border-radius:8px !important }
  .benefit-icon svg { width:20px !important;height:20px !important }
  
  /* GRIDS — force single column */
  .benefits-grid,
  .opp-grid,
  .testimonial-grid,
  .cst-grid,
  .tech-grid,
  .tech-grid.three,
  .tech-grid.two,
  .commission-grid,
  .why-grid,
  .services-grid {
    grid-template-columns:1fr !important;
    gap:0.75rem !important;
  }
  .cst-grid { margin-bottom:1.5rem !important }
  
  /* STATS */
  .stats-grid,
  .stats-ribbon-inner {
    grid-template-columns:1fr 1fr !important;
    gap:0 !important;
    padding:0 !important;
  }
  .stat-box,.stat-cell {
    padding:1.25rem 1rem !important;
    text-align:center;
  }
  .stat-big,.stat-cell h3 { font-size:1.5rem !important;margin-bottom:0.25rem !important }
  .stat-label,.stat-cell p { font-size:0.6rem !important;letter-spacing:1px !important }
  .stat-cell .stat-detail { font-size:0.75rem !important }
  .stats-showcase { padding:2rem 0 !important }
  
  /* LOGO SHOWCASE — uniform containers */
  .brands-showcase { padding:2rem 0 !important }
  .brands-label { font-size:0.6rem !important;margin-bottom:1.5rem !important }
  .brands-grid { 
    grid-template-columns:repeat(2,1fr) !important;
    gap:0.75rem !important;
    padding:0 1rem !important;
  }
  .brand-tile { height:70px !important;padding:0.75rem 1rem !important;border-radius:8px !important }
  .brand-tile img { max-height:28px !important;opacity:0.8 !important }
  .brand-tile.tile-square img { max-height:40px !important }
  
  /* HOMEPAGE: hero line display */
  .hero-content h1 .line { display:block }
  
  /* HOMEPAGE: tighter industry expertise section */
  .services { padding:2.5rem 0 !important }
  .services .section-header { margin-bottom:1.5rem !important }
  .services [style*="margin:4rem auto 0"] { margin-top:1.5rem !important }
  
  /* LOGO GRIDS inside specialty cards */
  [style*="grid-template-columns:repeat(4,1fr)"][style*="gap:0.75rem"] {
    grid-template-columns:repeat(2,1fr) !important;
    gap:0.5rem !important;
  }
  [style*="height:55px"] { height:45px !important }
  [style*="height:55px"] img { max-height:24px !important;max-width:70px !important }
  
  /* DIFFERENTIATOR / CARRIER NETWORK — text sections with bg images */
  .diff-content h2 { font-size:1.85rem !important }
  .diff-content p { font-size:0.92rem !important }
  .diff-features { 
    grid-template-columns:1fr !important;
    gap:0.5rem !important;
    margin-top:1.5rem !important;
    padding-top:1.5rem !important;
  }
  .diff-features li { 
    padding:1.25rem !important;
    font-size:0.88rem !important;
  }
  .diff-features li strong { font-size:0.88rem !important }
  
  /* CARRIER NETWORK inline cards */
  .carrier-network [style*="padding:2.5rem 2rem"] {
    padding:1.25rem 1rem !important;
    text-align:center;
  }
  .carrier-network [style*="font-size:1.1rem"] { font-size:0.92rem !important }
  .carrier-network [style*="font-size:0.95rem"] { font-size:0.82rem !important }
  

  /* SPECIALTY CARDS — proper class-based control */
  .specialty-grid {
    grid-template-columns:1fr !important;
    gap:1rem !important;
    margin-top:1.5rem !important;
  }
  .specialty-card {
    padding:1.75rem 1.25rem !important;
  }
  .specialty-title {
    font-size:1.35rem !important;
    margin-bottom:0.75rem !important;
  }
  .specialty-body {
    font-size:0.85rem !important;
    line-height:1.65 !important;
    margin-bottom:1.5rem !important;
  }
  .specialty-logos {
    grid-template-columns:repeat(2,1fr) !important;
    gap:0.5rem !important;
  }
  .specialty-logo-tile {
    height:65px !important;
    padding:0.5rem 0.75rem !important;
    border-radius:8px !important;
  }
  .specialty-logo-tile img {
    max-height:30px !important;
    max-width:90% !important;
  }
  
  /* CARRIER NETWORK cards */
  .cn-card {
    padding:1.25rem 1rem !important;
  }
  .cn-card h4 {
    font-size:1rem !important;
    margin-bottom:0.35rem !important;
  }
  .cn-card p {
    font-size:0.8rem !important;
    line-height:1.55 !important;
  }

  /* TESTIMONIALS - clean and readable */
  .testimonial { padding:3rem 0 !important;background-attachment:scroll !important }
  .testimonial-card { padding:1.75rem 1.25rem !important }
  .testimonial-quote { font-size:0.95rem !important;line-height:1.7 !important;margin-bottom:1.5rem !important }
  .testimonial-inner .testimonial-quote { font-size:1.05rem !important }
  .author-initial { width:40px !important;height:40px !important;font-size:1rem !important }
  .author-info h3 { font-size:0.88rem !important }
  .author-info p { font-size:0.75rem !important }
  .testimonial-dots { margin-top:1.5rem !important }
  .testimonial-dot { width:8px !important;height:8px !important }
  
  /* CTA */
  .cta-section { padding:4rem 0 !important }
  .cta-box h2 { font-size:2rem !important;margin-bottom:1rem !important }
  .cta-box p { font-size:0.95rem !important;line-height:1.7 !important }
  .cta-section .primary-btn { padding:1rem 2rem !important;font-size:0.75rem !important }
  .cta-inner { margin:0 1rem !important;padding:2.5rem 1.5rem !important }
  .cta-inner h2 { font-size:1.75rem !important }
  .cta-inner > p { font-size:0.92rem !important }
  

  /* HUB — mobile */
  .ai-chat-section { padding:3rem 0 !important }
  .ai-chat-header h2 { font-size:2rem !important }
  .ai-chat-header p { font-size:0.85rem !important }
  .ai-chat-box { border-radius:12px !important }
  .ai-chat-messages { padding:1.25rem 1rem 0.75rem !important }
  .ai-chat-suggestions { padding:0 1rem 1rem !important;gap:6px !important }
  .ai-chat-suggestions button { padding:8px 12px !important;font-size:0.7rem !important }
  .ai-chat-input-bar { padding:1rem !important }
  #hp-chat-input { padding:14px 0 !important;font-size:16px !important }
  .hp-send-btn { width:40px !important;height:40px !important;background:none !important;border-radius:0 !important;box-shadow:none !important }
  .hp-msg-text { font-size:0.85rem !important;padding:11px 14px !important }
  /* HUB — mobile */
  .services-hub { padding:3rem 0 !important }
  .hub-header { margin-bottom:2rem !important }
  .hub-header h2 { font-size:2rem !important }
  .hub-header p { font-size:0.9rem !important }
  .hub-tabs { gap:0.35rem !important;margin-bottom:2rem !important }
  .hub-tab { padding:0.6rem 1rem !important;font-size:0.6rem !important;letter-spacing:1.5px !important;border-radius:4px !important }
  .hub-tab .tab-icon { display:none }
  .hub-panel.active { grid-template-columns:1fr !important;border-radius:8px !important }
  .hub-content { padding:2rem 1.5rem !important }
  .hub-content h3 { font-size:1.5rem !important }
  .hub-content p { font-size:0.85rem !important;line-height:1.65 !important }
  .hub-caps { gap:0.35rem !important;margin-bottom:1.25rem !important }
  .hub-caps span { padding:0.3rem 0.75rem !important;font-size:0.65rem !important }
  .hub-logos { padding:1.5rem !important }
  .hub-logos-label { margin-bottom:1rem !important;font-size:0.6rem !important }
  .hub-logos-grid { gap:0.5rem !important }
  .hub-logo-tile { height:65px !important;padding:0.75rem !important;border-radius:8px !important }
  .hub-logo-tile img { max-height:32px !important;max-width:100px !important }
  .hub-panel-tri.active { padding:1.5rem 1rem 2rem !important }
  .hub-tri-intro { margin-bottom:1.5rem !important }
  .hub-tri-intro h3 { font-size:1.5rem !important }
  .hub-tri-intro p { font-size:0.85rem !important;line-height:1.65 !important }
  .hub-tri-grid { grid-template-columns:1fr !important;gap:0.85rem !important }
  .hub-tri-card { padding:1.5rem 1.25rem !important }
  .hub-tri-icon { width:40px !important;height:40px !important;margin-bottom:0.85rem !important }
  .hub-tri-card h4 { font-size:1.25rem !important }

  /* FOOTER */
  footer { padding:3rem 0 !important }
  .footer-container { 
    grid-template-columns:1fr !important;
    gap:2rem !important;
    padding:0 1.5rem !important;
  }
  .footer-logo-main { font-size:2rem !important }
  .footer-logo-sub { font-size:0.5rem !important }
  .footer-brand p { font-size:0.88rem !important;line-height:1.7 !important }
  .footer-links h3 { font-size:0.8rem !important;margin-bottom:0.75rem !important }
  .footer-links a { font-size:0.85rem !important }
  .footer-links li { margin-bottom:0.5rem !important;font-size:0.85rem !important;color:var(--text-secondary) !important }
  .footer-bottom { padding:1.5rem 1.5rem 0 !important;margin-top:2rem !important }
  .footer-bottom p { font-size:0.75rem !important }
  .cert-badges { gap:0.5rem !important }
  .cert-badge { font-size:0.7rem !important;padding:0.4rem 0.75rem !important }

  /* HOMEPAGE: hero lines stay block on mobile too */
  .hero-content h1 .line { display:block }
  .hp-hide-mobile { display:none !important }
  .hero-stats-row { display:none !important }
}

/* --- SMALL PHONES (480px) --- */
@media (max-width:480px) {
  .hero h1,.hero-headline { font-size:1.9rem !important;letter-spacing:-1px !important }
  .hero-container h1 { font-size:1.9rem !important;letter-spacing:-1px !important }
  h2[style*="font-size:4.5rem"],
  h2[style*="font-size:4rem"],
  h2[style*="font-size:3.5rem"],
  h2[style*="font-size:3rem"],
  .section-header h2,
  .diff-content h2,
  .cta-box h2 { font-size:1.6rem !important }
}



/* Hide floating chat widget on homepage — replaced by inline chat */
#cbs-chat-toggle{display:none!important}
#cbs-chat-window{display:none!important}
