/* ═══════════════════════════════════════════
   LUMIARO — Site Styles
   ═══════════════════════════════════════════ */

:root {
    --deep-navy: #070b16;
    --panel-dark: #0c1220;
    --surface: #111827;
    --accent-cyan: #00e5ff;
    --accent-lime: #76ff03;
    --accent-orange: #ff6d00;
    --accent-magenta: #e040fb;
    --accent-gold: #ffd740;
    --accent-blue: #448aff;
    --accent-red: #ff1744;
    --text-primary: #e8eaf6;
    --text-muted: #7986cb;
    --grid-line: rgba(0,229,255,0.06);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{overflow-x:hidden;scroll-behavior:auto;}
body{font-family:'Outfit',sans-serif;background:var(--deep-navy);color:var(--text-primary);overflow-x:hidden;}

/* ══════════════ FIXED LAYERS ══════════════ */
.bg-gradient{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;transition:background 1.4s ease;}
.bg-gradient.ph0{background:linear-gradient(170deg,#0a1628 0%,#07101e 40%,var(--deep-navy) 100%);}
.bg-gradient.ph1{background:linear-gradient(170deg,#0d1f12 0%,#091a0e 30%,#07101e 65%,var(--deep-navy) 100%);}
.bg-gradient.ph2{background:linear-gradient(170deg,#0a1430 0%,#0a0e1a 40%,var(--deep-navy) 100%);}
.bg-gradient.ph3{background:linear-gradient(170deg,#1a0a12 0%,#0f0a1a 30%,var(--deep-navy) 100%);}
.bg-gradient.ph4{background:linear-gradient(170deg,var(--panel-dark) 0%,var(--deep-navy) 50%,#050810 100%);}

.noise{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100;opacity:0.02;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.scanlines{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:99;opacity:0;transition:opacity 1s;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,0.02) 2px,rgba(0,0,0,0.02) 4px);}
.scanlines.vis{opacity:1;}
.grid-ov{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:0;transition:opacity 1s;background:repeating-linear-gradient(0deg,var(--grid-line) 0px,transparent 1px,transparent 60px),repeating-linear-gradient(90deg,var(--grid-line) 0px,transparent 1px,transparent 60px);}
.grid-ov.vis{opacity:1;}

.glow-orb{position:fixed;border-radius:50%;pointer-events:none;z-index:1;filter:blur(100px);opacity:0;transition:opacity 2s;}
.glow-orb.vis{opacity:1;}
.orb1{width:500px;height:500px;background:rgba(0,229,255,0.06);top:-10%;left:-10%;}
.orb2{width:400px;height:400px;background:rgba(118,255,3,0.04);bottom:-10%;right:-10%;}
.orb3{width:350px;height:350px;background:rgba(224,64,251,0.04);top:30%;right:15%;}

canvas#starC,canvas#trailC{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;}
#starC{z-index:1;}
#trailC{z-index:2;}

.particles{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:0;transition:opacity 1s;}
.particles.vis{opacity:1;}
.particle{position:absolute;border-radius:50%;animation:fp linear infinite;}
@keyframes fp{0%{transform:translateY(0) translateX(0) scale(1);opacity:0;}10%{opacity:1;}90%{opacity:1;}100%{transform:translateY(-100vh) translateX(30px) scale(0.4);opacity:0;}}

.connectors{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:0;transition:opacity 1s;}
.connectors.vis{opacity:1;}
.conn-line{position:absolute;height:1px;transform-origin:left center;animation:pl 3s ease-in-out infinite;}
@keyframes pl{0%,100%{opacity:0.1;}50%{opacity:0.3;}}

.par-layer{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden;}
.h-el{position:absolute;opacity:0.03;font-family:'JetBrains Mono',monospace;user-select:none;}

/* ══════════════ BALL ══════════════ */
#scrollC{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:3;overflow:hidden;}
.ball{position:absolute;width:56px;height:56px;filter:drop-shadow(0 0 18px rgba(0,229,255,0.4)) drop-shadow(0 6px 16px rgba(0,0,0,0.7));z-index:10;opacity:0;}
.ball canvas{width:100%;height:100%;border-radius:50%;}

/* ══════════════ CONTENT ══════════════ */
.content{position:relative;z-index:4;}
section{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:80px 5vw;position:relative;}
.spacer{height:32vh;position:relative;z-index:4;}

/* Hero */
.hero{min-height:110vh;flex-direction:column;text-align:center;}
.hero-logo{margin-bottom:36px;opacity:0;transform:translateY(20px);animation:fu 1s ease .2s forwards;}
.logo-mark{display:inline-flex;align-items:center;gap:14px;}
.logo-icon{width:44px;height:44px;}
.logo-icon svg{width:100%;height:100%;}
.logo-text{font-family:'Outfit',sans-serif;font-weight:800;font-size:1.9rem;letter-spacing:-0.03em;background:linear-gradient(135deg,var(--text-primary),var(--accent-cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

.hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,6vw,6rem);font-weight:700;line-height:1.06;margin-bottom:24px;opacity:0;transform:translateY(30px);animation:fu 1s ease .5s forwards;}
.hero h1 em{font-style:italic;background:linear-gradient(135deg,var(--accent-cyan),var(--accent-blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

.hero-sub{font-size:clamp(1rem,1.7vw,1.25rem);font-weight:300;color:var(--text-muted);max-width:660px;margin:0 auto 44px;line-height:1.75;opacity:0;transform:translateY(20px);animation:fu .8s ease .8s forwards;}

.hero-clients{display:flex;justify-content:center;gap:36px;flex-wrap:wrap;opacity:0;animation:fu .8s ease 1s forwards;}
.hero-clients span{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:2px;text-transform:uppercase;color:rgba(121,134,203,0.5);padding:6px 16px;border:1px solid rgba(121,134,203,0.12);border-radius:100px;}

.scroll-ind{margin-top:56px;opacity:0;animation:fu .8s ease 1.2s forwards;}
.scroll-ind span{display:block;font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;}
.scroll-arrow{width:22px;height:40px;border:2px solid rgba(121,134,203,.25);border-radius:11px;margin:0 auto;position:relative;}
.scroll-arrow::after{content:'';position:absolute;top:7px;left:50%;width:3px;height:7px;background:var(--accent-cyan);border-radius:2px;transform:translateX(-50%);animation:sb 1.8s ease-in-out infinite;}
@keyframes sb{0%,100%{transform:translateX(-50%) translateY(0);opacity:1;}50%{transform:translateX(-50%) translateY(13px);opacity:.2;}}
@keyframes fu{to{opacity:1;transform:translateY(0);}}

/* Sections */
.si{max-width:1200px;width:100%;opacity:0;transform:translateY(50px);transition:opacity .9s,transform .9s;}
.si.vis{opacity:1;transform:translateY(0);}
.sl{font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:4px;text-transform:uppercase;color:var(--accent-cyan);margin-bottom:14px;display:flex;align-items:center;gap:12px;}
.sl::before{content:'';width:28px;height:1px;background:var(--accent-cyan);}
.st{font-family:'Playfair Display',serif;font-size:clamp(1.9rem,4.2vw,3.5rem);font-weight:700;margin-bottom:18px;line-height:1.12;}
.sd{font-size:1.05rem;font-weight:300;color:var(--text-muted);max-width:620px;line-height:1.8;margin-bottom:44px;}

/* Cards */
.cg{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px;}
.fc{background:rgba(12,18,32,.6);border:1px solid rgba(0,229,255,.06);border-radius:16px;padding:32px 28px;backdrop-filter:blur(14px);transition:transform .4s,border-color .4s,box-shadow .4s;position:relative;overflow:hidden;}
.fc::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,transparent,var(--accent-cyan),transparent);opacity:0;transition:opacity .4s;}
.fc:hover{transform:translateY(-3px);border-color:rgba(0,229,255,.16);box-shadow:0 16px 50px rgba(0,0,0,.35);}
.fc:hover::before{opacity:1;}
.ci{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.ci svg{width:24px;height:24px;}
.ci.cy{background:rgba(0,229,255,.1);color:var(--accent-cyan);}
.ci.li{background:rgba(118,255,3,.1);color:var(--accent-lime);}
.ci.or{background:rgba(255,109,0,.1);color:var(--accent-orange);}
.ci.ma{background:rgba(224,64,251,.1);color:var(--accent-magenta);}
.ci.go{background:rgba(255,215,64,.1);color:var(--accent-gold);}
.ci.bl{background:rgba(68,138,255,.1);color:var(--accent-blue);}
.ci.rd{background:rgba(255,23,68,.1);color:var(--accent-red);}
.fc h3{font-size:1.1rem;font-weight:600;margin-bottom:8px;letter-spacing:-0.02em;}
.fc p{font-size:.87rem;color:var(--text-muted);line-height:1.7;font-weight:300;}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);max-width:1200px;width:100%;border:1px solid rgba(0,229,255,.07);border-radius:16px;overflow:hidden;background:rgba(12,18,32,.55);backdrop-filter:blur(16px);}
.stat{padding:40px 28px;text-align:center;border-right:1px solid rgba(0,229,255,.05);}
.stat:last-child{border-right:none;}
.stat-n{font-family:'JetBrains Mono',monospace;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:500;color:var(--accent-cyan);line-height:1;margin-bottom:8px;}
.stat-l{font-size:.8rem;color:var(--text-muted);line-height:1.4;}

/* Dashboard Mockup */
.dash{background:rgba(8,12,22,.85);border:1px solid rgba(0,229,255,.09);border-radius:16px;padding:26px;margin-top:44px;position:relative;overflow:hidden;}
.dash::after{content:'';position:absolute;top:-40%;right:-15%;width:380px;height:380px;background:radial-gradient(circle,rgba(0,229,255,.04) 0%,transparent 70%);pointer-events:none;}
.dash-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid rgba(0,229,255,.05);}
.dash-t{font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);}
.dash-dots{display:flex;gap:5px;}
.dash-dots span{width:9px;height:9px;border-radius:50%;}
.dash-dots span:nth-child(1){background:var(--accent-orange);}
.dash-dots span:nth-child(2){background:var(--accent-gold);}
.dash-dots span:nth-child(3){background:var(--accent-lime);}
.dash-g{display:grid;grid-template-columns:2fr 1fr;gap:16px;}
.dash-ch{background:rgba(15,20,36,.65);border:1px solid rgba(0,229,255,.05);border-radius:12px;padding:20px;min-height:170px;}
.dash-cl{font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;}
.mini-chart{display:flex;align-items:flex-end;gap:3px;height:105px;padding-top:14px;}
.mini-bar{flex:1;border-radius:2px 2px 0 0;transition:height 1.5s cubic-bezier(.25,.46,.45,.94);}
.mini-bar.cy{background:linear-gradient(180deg,var(--accent-cyan),rgba(0,229,255,.2));}
.mini-bar.li{background:linear-gradient(180deg,var(--accent-lime),rgba(118,255,3,.2));}
.mini-bar.or{background:linear-gradient(180deg,var(--accent-orange),rgba(255,109,0,.2));}
.dash-sb{display:flex;flex-direction:column;gap:12px;}
.dash-m{background:rgba(15,20,36,.65);border:1px solid rgba(0,229,255,.05);border-radius:12px;padding:16px;}
.dash-mv{font-family:'JetBrains Mono',monospace;font-size:1.4rem;font-weight:500;margin-bottom:2px;}
.dash-ml{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;}
.dash-mc{font-family:'JetBrains Mono',monospace;font-size:.68rem;margin-top:5px;}
.dash-mc.up{color:var(--accent-lime);}
.dash-mc.dn{color:var(--accent-orange);}

/* Pitch */
.pitch-viz{width:100%;max-width:680px;margin:0 auto;}
.pitch-svg-c{width:100%;aspect-ratio:1.5;}
.pitch-svg-c svg{width:100%;height:100%;}

/* Audience pills */
.audience{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:44px;}
.aud-pill{display:flex;align-items:center;gap:8px;padding:10px 20px;border:1px solid rgba(0,229,255,.1);border-radius:100px;font-size:.85rem;font-weight:400;color:var(--text-muted);background:rgba(0,229,255,.02);backdrop-filter:blur(8px);}
.aud-pill .ad{width:7px;height:7px;border-radius:50%;}

/* Contact Form */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:44px;}
.contact-info h3{font-size:1.3rem;font-weight:600;margin-bottom:16px;}
.contact-info p{font-size:.92rem;color:var(--text-muted);line-height:1.7;font-weight:300;margin-bottom:24px;}
.contact-detail{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:.9rem;color:var(--text-muted);}
.contact-detail svg{width:18px;height:18px;color:var(--accent-cyan);flex-shrink:0;}
.form-wrap{background:rgba(12,18,32,.6);border:1px solid rgba(0,229,255,.07);border-radius:16px;padding:32px;backdrop-filter:blur(14px);}
.form-row{margin-bottom:18px;}
.form-row label{display:block;font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;}
/* Style both raw inputs and Blazor InputText/InputSelect/InputTextArea */
.form-row input,
.form-row select,
.form-row textarea{width:100%;padding:12px 16px;background:rgba(7,11,22,.8);border:1px solid rgba(0,229,255,.1);border-radius:10px;color:var(--text-primary);font-family:'Outfit',sans-serif;font-size:.92rem;outline:none;transition:border-color .3s;}
.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus{border-color:rgba(0,229,255,.35);}
.form-row textarea{min-height:120px;resize:vertical;}
.form-row select{cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%237986cb' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;}
.form-row select option{background:var(--panel-dark);color:var(--text-primary);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-btn{display:inline-block;padding:14px 40px;background:var(--accent-cyan);color:var(--deep-navy);font-family:'Outfit',sans-serif;font-size:.95rem;font-weight:600;border:none;border-radius:100px;cursor:pointer;transition:all .35s;letter-spacing:.3px;margin-top:8px;}
.form-btn:hover{transform:translateY(-2px);box-shadow:0 10px 35px rgba(0,229,255,.3);}
.form-success{display:none;text-align:center;padding:40px 20px;}
.form-success.show{display:block;}
.form-success h3{font-size:1.3rem;margin-bottom:12px;color:var(--accent-cyan);}
.form-success p{color:var(--text-muted);font-weight:300;}

/* Blazor form validation - remove default red borders */
.valid.modified:not([type=checkbox]){outline:none;}
.invalid{border-color:var(--accent-orange) !important;}
.validation-message{color:var(--accent-orange);font-size:.75rem;margin-top:4px;}

/* CTA */
.cta-s{text-align:center;min-height:70vh;}
.cta-btn{display:inline-block;padding:18px 48px;background:var(--accent-cyan);color:var(--deep-navy);font-family:'Outfit',sans-serif;font-size:1rem;font-weight:600;border:none;border-radius:100px;cursor:pointer;text-decoration:none;transition:all .35s;}
.cta-btn:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(0,229,255,.3);}

/* Footer */
footer{position:relative;z-index:4;padding:48px 5vw;border-top:1px solid rgba(0,229,255,.05);}
.foot-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;margin-bottom:44px;}
.foot-brand .flogo{font-family:'Outfit',sans-serif;font-weight:700;font-size:1.2rem;background:linear-gradient(135deg,var(--text-primary),var(--accent-cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:14px;}
.foot-brand p{font-size:.85rem;color:var(--text-muted);line-height:1.7;font-weight:300;max-width:280px;}
.foot-col h4{font-size:.65rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--text-muted);margin-bottom:18px;font-weight:500;}
.foot-col a{display:block;color:var(--text-muted);text-decoration:none;font-size:.88rem;font-weight:300;margin-bottom:11px;transition:color .3s;}
.foot-col a:hover{color:var(--accent-cyan);}
.foot-bottom{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid rgba(0,229,255,.03);font-size:.78rem;color:rgba(121,134,203,.4);}

/* ══════════════ RESPONSIVE ══════════════ */
@media(max-width:900px){
    .contact-grid,.foot-grid{grid-template-columns:1fr;}
    .form-grid{grid-template-columns:1fr;}
}
@media(max-width:768px){
    .stats{grid-template-columns:repeat(2,1fr);}
    .stat:nth-child(2){border-right:none;}
    .dash-g{grid-template-columns:1fr;}
    .cg{grid-template-columns:1fr;}
    .hero-clients{gap:10px;}
    .spacer{height:18vh;}
}
@media(max-width:480px){
    section{padding:50px 4.5vw;}
    .hero{min-height:100vh;padding-top:60px;padding-bottom:40px;}
    .hero h1{font-size:2.2rem;line-height:1.12;}
    .hero-sub{font-size:.95rem;line-height:1.65;margin-bottom:32px;}
    .hero-clients span{font-size:.6rem;letter-spacing:1.5px;padding:5px 12px;}
    .hero-clients{gap:7px;}
    .scroll-ind{margin-top:36px;}
    .spacer{height:12vh;}
    .st{font-size:1.7rem;}
    .sd{font-size:.95rem;margin-bottom:32px;}
    .sl{font-size:.6rem;letter-spacing:3px;}
    .stats{grid-template-columns:1fr 1fr;}
    .stat{padding:24px 16px;}
    .stat-n{font-size:1.6rem;}
    .stat-l{font-size:.72rem;}
    .fc{padding:24px 20px;}
    .fc h3{font-size:1rem;}
    .fc p{font-size:.83rem;}
    .ci{width:40px;height:40px;border-radius:10px;margin-bottom:16px;}
    .audience{gap:8px;}
    .aud-pill{padding:8px 14px;font-size:.78rem;}
    .dash{padding:16px;}
    .dash-t{font-size:.58rem;letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70vw;}
    .dash-mv{font-size:1.2rem;}
    .mini-chart{height:75px;}
    .pitch-svg-c{aspect-ratio:auto;}
    .contact-grid{gap:32px;margin-top:32px;}
    .contact-info h3{font-size:1.1rem;}
    .form-wrap{padding:20px 16px;}
    .form-row input,.form-row select,.form-row textarea{padding:11px 14px;font-size:.88rem;}
    .form-btn{width:100%;text-align:center;}
    .foot-grid{gap:28px;margin-bottom:28px;}
    .foot-bottom{flex-direction:column;gap:8px;text-align:center;}
    .logo-text{font-size:1.5rem;}
    .ball{width:40px;height:40px;}
}
