/* Consolidated design CSS extracted from /design/index.html (and shared pages)
   This file contains the visual styles for the Xyphla theme design. */

:root {
    --bg-deep: #030712;
    --bg-card: rgba(17, 24, 39, 0.7);
    --primary-blue: #3b82f6;
    --cyan-glow: #06b6d4;
    --text-main: #f8fafc;
    --text-dim: #94a3b8;
    --glass-border: rgba(255, 255, 255, 0.1);
    --neon-shadow: 0 0 20px rgba(59, 130, 246, 0.5);
}

* { margin: 0; padding: 0; box-sizing: border-box; scroll-behavior: smooth; }
html,body{width:100%;}
body{font-family: 'Inter', sans-serif; background-color: var(--bg-deep); color: var(--text-main); line-height:1.6;}
h1,h2,h3,h4,.logo{font-family: 'Space Grotesk', sans-serif; font-weight:700}

.bg-grid{position:fixed;top:0;left:0;width:100vw;height:100vh;background-image:linear-gradient(rgba(59, 130, 246, 0.05) 1px, transparent 1px),linear-gradient(90deg, rgba(59, 130, 246, 0.05) 1px, transparent 1px);background-size:50px 50px;z-index:-2}
.orb{position:fixed;width:50vw;height:50vw;max-width:500px;max-height:500px;background:radial-gradient(circle, rgba(59, 130, 246, 0.15) 0%, transparent 70%);border-radius:50%;z-index:-1;filter:blur(80px)}

nav{position:fixed;top:0;left:0;width:100%;background:rgba(3, 7, 18, 0.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);padding:1rem 5%;display:flex;justify-content:space-between;align-items:center;z-index:1000}
.logo{font-size:clamp(1.4rem,3vw,1.8rem);color:#fff;text-decoration:none;letter-spacing:-1px}
.logo span{color:var(--primary-blue)}
.menu-toggle{display:none;font-size:1.5rem;color:#fff;cursor:pointer;z-index:1001}
.nav-menu{display:flex;gap:2rem;align-items:center}
.nav-menu ul{display:flex;list-style:none;gap:2rem;align-items:center;margin:0;padding:0}
.nav-menu a{text-decoration:none;color:var(--text-dim);font-size:0.95rem;transition:0.3s}
.nav-menu a:hover{color:var(--primary-blue)}
.nav-menu a.btn-primary:hover{color:#fff !important}

.btn{padding:12px 25px;border-radius:10px;text-decoration:none;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:0.3s}
.btn-primary{background:var(--primary-blue);color:#fff;box-shadow:var(--neon-shadow);border:none}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 0 35px rgba(59,130,246,0.7);color:#fff}
.btn-outline{color:#fff;border:1px solid var(--glass-border)}

/* Hero */
.hero{padding:150px 5% 80px;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:40px;min-height:90vh;max-width:1400px;margin:0 auto}
.badge{background:rgba(59,130,246,0.1);color:var(--primary-blue);padding:6px 16px;border-radius:30px;font-size:0.75rem;border:1px solid rgba(59,130,246,0.3);display:inline-block;margin-bottom:20px;text-transform:uppercase;letter-spacing:1px}
.hero h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.1;margin-bottom:20px;background:linear-gradient(to bottom right,#fff 50%,#64748b);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero p{font-size:clamp(1rem,2vw,1.2rem);color:var(--text-dim);margin-bottom:40px;max-width:550px}
.hero-btns{display:flex;gap:15px;flex-wrap:wrap}
.hero-img{position:relative;animation:float 6s ease-in-out infinite}
.hero-img img{width:100%;border-radius:30px;filter:drop-shadow(0 0 30px rgba(59,130,246,0.2))}

/* Cards */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px;padding:0 5%;max-width:1400px;margin:0 auto}
.card{background:var(--bg-card);border:1px solid var(--glass-border);padding:35px;border-radius:24px;backdrop-filter:blur(10px);transition:0.4s;position:relative;overflow:hidden}
.card:hover{border-color:var(--primary-blue);transform:translateY(-10px);background:rgba(30,41,59,0.8)}
.card i{font-size:2.5rem;color:var(--primary-blue);margin-bottom:20px;display:block}
.card h3{font-size:1.5rem;margin-bottom:15px}
.card p{color:var(--text-dim);font-size:0.95rem}

.section-header{text-align:center;padding:100px 5% 40px}
.section-header h2{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:15px}

.process-section{padding:80px 5%;margin-top:20px;max-width:1200px;margin-inline:auto}
.process-timeline{display:flex;flex-direction:column;max-width:860px}
.process-step{display:flex;gap:24px;align-items:flex-start}
.step-marker{display:flex;flex-direction:column;align-items:center;flex-shrink:0}
.step-num{width:62px;height:62px;border-radius:50%;background:rgba(59,130,246,0.1);border:2px solid rgba(59,130,246,0.4);display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:800;color:var(--primary-blue);flex-shrink:0;font-family:'Space Grotesk',sans-serif}
.step-line{width:2px;flex:1;min-height:32px;background:linear-gradient(to bottom,rgba(59,130,246,0.35),rgba(59,130,246,0.03));margin:6px 0}
.process-step:last-child .step-line{display:none}
.step-card{flex:1;background:rgba(17,24,39,0.7);border:1px solid rgba(255,255,255,0.08);border-radius:16px;padding:26px 28px;backdrop-filter:blur(10px);margin-bottom:20px;transition:border-color .3s,background .3s}
.step-card:hover{border-color:var(--primary-blue);background:rgba(30,41,59,0.85)}
.step-icon{width:42px;height:42px;background:rgba(59,130,246,0.1);border:1px solid rgba(59,130,246,0.3);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--primary-blue);font-size:1rem;margin-bottom:14px}
.step-card h3{font-size:1.18rem;margin-bottom:8px;color:#fff}
.step-card p{color:var(--text-dim);font-size:0.95rem;line-height:1.75;margin:0}

footer{background:#010409;padding:80px 5% 30px;border-top:1px solid var(--glass-border);margin-top:60px}
.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:40px;margin-bottom:50px;max-width:1400px;margin-inline:auto}
.footer-widget h4{margin-bottom:25px;color:var(--primary-blue);font-size:1.1rem}
.footer-widget ul{list-style:none}
.footer-widget ul li{margin-bottom:12px}
.footer-widget ul a{color:var(--text-dim);text-decoration:none;transition:0.3s;font-size:0.95rem}
.footer-widget ul a:hover{color:#fff}
.social-links{display:flex;gap:15px;margin-top:20px}
.social-links a{width:40px;height:40px;border-radius:50%;background:var(--bg-card);display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;border:1px solid var(--glass-border);transition:0.3s}
.social-links a:hover{background:var(--primary-blue);transform:scale(1.1)}

@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}
.reveal{opacity:0;transform:translateY(30px);transition:all 0.8s ease-out}
.reveal.active{opacity:1;transform:translateY(0)}

/* Responsive tweaks */
@media (max-width: 992px){
    .hero{grid-template-columns:1fr;text-align:center;padding-top:120px;gap:20px;min-height:auto}
    .hero p{margin-inline:auto}
    .hero-btns{justify-content:center}
    .hero-img{width:70%;margin:20px auto 0}
    .footer-content{grid-template-columns:1fr 1fr;gap:40px 20px}
}

@media (max-width: 768px){
    .menu-toggle{display:block}
    .nav-menu{position:absolute;top:100%;left:0;width:100%;background:rgba(3,7,18,0.95);backdrop-filter:blur(20px);flex-direction:column;padding:2rem 5%;gap:1.5rem;border-bottom:1px solid var(--glass-border);transform:translateY(-20px);opacity:0;pointer-events:none;transition:all 0.3s}
    .nav-menu.active{transform:translateY(0);opacity:1;pointer-events:all}
    .nav-menu ul{flex-direction:column;width:100%;gap:1.5rem}
    .nav-menu ul a{font-size:1.1rem;display:block;text-align:center;width:100%}
    .nav-menu .btn{width:100%;margin-top:10px}
    .hero{padding:100px 5% 40px}
    .hero h1{font-size:2.2rem}
    .hero-img{width:90%}
    .hero-btns{flex-direction:column;width:100%}
    .hero-btns .btn{width:100%}
    .section-header{padding:60px 5% 30px}
    .services-grid{grid-template-columns:1fr;gap:15px}
    .card{padding:25px}
    .process-section{padding:50px 5%}
    .step-card{padding:20px;margin-bottom:14px}
    .step-num{width:52px;height:52px;font-size:1rem}
    .step-line{min-height:20px}
    .footer-content{grid-template-columns:1fr;text-align:center;gap:30px}
    .social-links{justify-content:center}
}
