/**
 * TellersTech Shared Styles
 * Base CSS for all TellersTech pages
 * Version: 1.0.7
 */

*{margin:0;padding:0;box-sizing:border-box}
:root{--deep:#050d1a;--blue:#0ea5e9;--purple:#8b5cf6;--pink:#ec4899;--cyan:#22d3ee;--text:#e2e8f0;--dim:#a1afc4;--card:rgba(15,25,40,.6)}

/* ===========================================
   ASTRA THEME OVERRIDES
   Target ONLY Astra's problematic defaults, not our styles
   =========================================== */
/* Disable Astra's scroll-to-top completely */
.ast-scroll-top,#ast-scroll-top,.ast-scroll-to-top{display:none!important;visibility:hidden!important;pointer-events:none!important}
/* Reset Astra mobile menu button sticky states */
.ast-mobile-menu-trigger:focus,.ast-mobile-menu-trigger:active,
.ast-button-wrap .menu-toggle:focus,.ast-button-wrap .menu-toggle:active,
.main-header-menu-toggle:focus,.main-header-menu-toggle:active{
    outline:none!important;
    box-shadow:none!important;
}
/* Prevent Astra hover states sticking on touch */
@media(hover:none){
.ast-mobile-menu-trigger:hover,.ast-button-wrap .menu-toggle:hover,
.main-header-menu-toggle:hover{
    background:transparent!important;
}
}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif!important;background:var(--deep)!important;color:var(--text);overflow-x:hidden;line-height:1.7;margin:0!important;padding:0!important}
.scroll-prog{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--purple),var(--pink));z-index:9999;width:0;box-shadow:0 0 20px var(--blue)}
.aurora{position:fixed;inset:0;z-index:-3;overflow:hidden}
.aurora-blob{position:absolute;border-radius:50%;filter:blur(100px);mix-blend-mode:screen;animation:aurora 15s ease-in-out infinite;will-change:transform}
.aurora-blob:nth-child(1){width:800px;height:800px;background:rgba(14,165,233,.15);top:-20%;left:-10%}
.aurora-blob:nth-child(2){width:600px;height:600px;background:rgba(139,92,246,.12);top:30%;right:-15%;animation-delay:-5s}
.aurora-blob:nth-child(3){width:700px;height:700px;background:rgba(236,72,153,.1);bottom:-20%;left:30%;animation-delay:-10s}
.aurora-blob:nth-child(4){width:500px;height:500px;background:rgba(34,211,238,.1);top:50%;left:50%;animation-delay:-7s}
@keyframes aurora{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(50px,-50px) scale(1.1)}50%{transform:translate(-30px,30px) scale(.95)}75%{transform:translate(-50px,-30px) scale(1.05)}}
.grid-bg{position:fixed;inset:0;z-index:-2;background-image:linear-gradient(rgba(14,165,233,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(14,165,233,.03) 1px,transparent 1px);background-size:60px 60px}
.tt-container{max-width:1200px;margin:0 auto;padding:0 24px}
.tt-nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:12px 0;background:rgba(5,13,26,.9);backdrop-filter:blur(20px);border-bottom:1px solid rgba(14,165,233,.1);transition:all .4s}
.tt-nav.scrolled{background:rgba(5,13,26,.95)}
.nav-inner{display:flex;justify-content:space-between;align-items:center}
.logo{font-family:'JetBrains Mono',monospace;font-size:1.4rem;font-weight:700;text-decoration:none!important;display:flex;align-items:center;gap:8px}
.logo-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--blue),var(--purple));border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px}
.logo-text{background:linear-gradient(135deg,var(--blue),var(--purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.logo-cursor{display:inline-block;width:2px;height:18px;background:var(--blue);margin-left:2px;animation:blink 1s step-end infinite}
@keyframes blink{50%{opacity:0}}
.nav-links{display:flex;gap:8px;list-style:none!important;margin:0!important;padding:0!important;align-items:center}
.nav-links li{list-style:none!important}
.nav-links a{color:var(--dim)!important;text-decoration:none!important;font-size:.9rem;font-weight:500;padding:10px 16px;border-radius:8px;transition:all .3s;display:block}
.nav-links a:hover{color:var(--text)!important;background:rgba(14,165,233,.1)}
.nav-links a.active{color:var(--blue)!important;background:rgba(14,165,233,.15);box-shadow:0 0 12px rgba(14,165,233,.3)}
.nav-links a.nav-cta{background:linear-gradient(135deg,var(--blue),var(--purple))!important;color:#fff!important;font-weight:600}
.nav-social{display:flex;gap:6px}
.nav-social a{width:34px;height:34px;border-radius:8px;background:rgba(255,255,255,.05);border:1px solid rgba(14,165,233,.1);display:flex;align-items:center;justify-content:center;color:var(--dim)!important;transition:all .2s;text-decoration:none!important}
.nav-social a:hover{background:rgba(14,165,233,.15);color:var(--blue)!important;transform:translateY(-2px)}
.nav-social a svg{width:16px;height:16px}
.hamburger{display:none;width:44px;height:44px;background:rgba(14,165,233,.1);border:1px solid rgba(14,165,233,.2);border-radius:12px;cursor:pointer;position:relative;transition:all .3s;outline:none;-webkit-tap-highlight-color:transparent}
.hamburger:focus,.hamburger:active{outline:none;background:rgba(14,165,233,.1)}
.hamburger svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:22px;height:22px;stroke:var(--blue);stroke-width:2;fill:none;stroke-linecap:round}
.hamburger .line1,.hamburger .line2,.hamburger .line3{transition:all .3s;transform-box:fill-box;transform-origin:center}
.hamburger.active .line1{transform:translateY(6px) rotate(45deg)}
.hamburger.active .line2{opacity:0}
.hamburger.active .line3{transform:translateY(-6px) rotate(-45deg)}
.mobile-menu{position:fixed;top:60px;right:20px;width:280px;background:rgba(10,20,35,.95);backdrop-filter:blur(20px);border:1px solid rgba(14,165,233,.15);border-radius:16px;padding:8px;opacity:0;visibility:hidden;transform:translateY(-10px) scale(.95);transition:all .3s;z-index:999;box-shadow:0 25px 50px rgba(0,0,0,.5)}
.mobile-menu.active{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.mobile-menu a{display:flex!important;align-items:center;gap:12px;padding:14px 16px!important;color:var(--dim)!important;text-decoration:none!important;border-radius:10px;transition:all .3s;font-weight:500}
.mobile-menu a:hover{background:rgba(14,165,233,.1);color:var(--text)!important}
.back-link{color:var(--dim)!important;text-decoration:none!important;font-size:.9rem;padding:10px 20px;border-radius:8px;border:1px solid rgba(14,165,233,.2);transition:all .3s;outline:none;-webkit-tap-highlight-color:transparent}
.back-link:hover{background:rgba(14,165,233,.1);border-color:var(--blue);color:var(--text)!important}
.back-link:focus,.back-link:active{outline:none}
.tt-footer{border-top:1px solid rgba(14,165,233,.08);padding:50px 0 25px;background:rgba(5,10,20,.5)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer-brand p{color:var(--dim);font-size:.85rem;margin-top:14px;max-width:280px}
.footer-col h4{font-size:.85rem;font-weight:700;margin-bottom:16px;color:var(--text)}
.footer-col a{display:block;color:var(--dim)!important;text-decoration:none!important;font-size:.85rem;padding:6px 0;transition:all .3s}
.footer-col a:hover{color:var(--blue)!important}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:25px;border-top:1px solid rgba(14,165,233,.08)}
.footer-bottom p{color:var(--dim);font-size:.8rem}
.social-links{display:flex;gap:10px}
.social-links a{width:38px;height:38px;border-radius:10px;background:rgba(14,165,233,.08);border:1px solid rgba(14,165,233,.1);display:flex;align-items:center;justify-content:center;color:var(--dim)!important;transition:all .3s;text-decoration:none!important}
.social-links a:hover{background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff!important;transform:translateY(-3px)}
.social-links a svg{width:16px;height:16px}
.footer-legal{text-align:center;padding-top:24px;margin-top:24px;border-top:1px solid rgba(14,165,233,.08)}
.footer-legal a{color:var(--dim)!important;text-decoration:none!important;font-size:.8rem;margin:0 8px;transition:color .3s}
.footer-legal a:hover{color:var(--blue)!important}
.footer-legal span{color:#475569}
.footer-simple{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
.footer-simple p{color:var(--dim);font-size:.85rem}
.tt-footer{padding-bottom:100px}
.scroll-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background:linear-gradient(135deg,var(--blue),var(--purple));border:none;border-radius:14px;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(20px) translateZ(0);transition:opacity .3s,visibility .3s,transform .3s,box-shadow .3s;z-index:1000;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(14,165,233,.3);outline:none;-webkit-tap-highlight-color:transparent;-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:bottom,transform,opacity}
.scroll-top.visible{opacity:1;visibility:visible;transform:translateY(0) translateZ(0)}
.scroll-top:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(14,165,233,.4)}
.scroll-top:focus,.scroll-top:active{outline:none;transform:translateY(0);box-shadow:0 4px 20px rgba(14,165,233,.3)}
button#scrollTop.scroll-top svg,button.scroll-top svg,.scroll-top svg{width:22px!important;height:22px!important;min-width:22px!important;fill:none!important;stroke:#fff!important;stroke-width:2.5!important;stroke-linecap:round!important;stroke-linejoin:round!important;display:block!important}
/* Hide Astra/theme scroll-to-top elements */
.ast-scroll-top,.ast-scroll-to-top,#ast-scroll-top,.back-to-top,a[href="#top"]:not(.nav-links a),.scrollup,.scroll-to-top:not(.scroll-top),[class*="scroll-to-top"]:not(.scroll-top),[id*="scroll-top"]:not(#scrollTop){display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;width:0!important;height:0!important;overflow:hidden!important}
@media(max-width:1024px){
.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:850px){
.nav-links{display:none!important}
.hamburger{display:flex!important;align-items:center;justify-content:center}
}
@media(max-width:768px){
.footer-grid{grid-template-columns:1fr}
.footer-bottom,.footer-simple{flex-direction:column;gap:16px;text-align:center}
.footer-legal a{display:inline-block;margin:4px 6px}
}
