/* ── HERO ── */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;padding-top:100px;transform-style:preserve-3d}
.hero-content{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;transform-style:preserve-3d}
.hero .ambient-glow-1{width:500px;height:500px;background:var(--accent-primary);top:-15%;right:10%}
.hero .ambient-glow-2{width:400px;height:400px;background:var(--accent-purple);bottom:-10%;left:-5%;animation-delay:-3s}
.hero-text{display:flex;flex-direction:column;gap:20px}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;border-radius:999px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;background:rgba(59,130,246,.08);color:var(--accent-cyan);border:1px solid rgba(59,130,246,.15);width:fit-content}
.badge-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-green);animation:pulse 2s ease-in-out infinite}
.typing-cursor{display:inline-block;margin-left:-4px;font-weight:400;color:var(--accent-cyan);animation:blink 1s step-end infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}
.hero-headline{font-size:clamp(2.8rem,6vw,4.5rem);font-weight:800;line-height:1.1;letter-spacing:-.03em}
.neon-glow{animation:softNeonPulse 3s infinite alternate ease-in-out}
@keyframes softNeonPulse{0%{text-shadow:0 0 5px rgba(59,130,246,.3),0 0 10px rgba(59,130,246,.2)}100%{text-shadow:0 0 10px rgba(59,130,246,.7),0 0 25px rgba(59,130,246,.5),0 0 50px rgba(59,130,246,.3)}}
.hero-subtitle{font-size:1.15rem;color:var(--text-secondary);line-height:1.8;max-width:540px}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px}
.hero-trust{display:flex;align-items:center;gap:24px;margin-top:16px;padding-top:24px;border-top:1px solid var(--border-color)}
.trust-item strong{font-family:var(--font-display);font-size:1.3rem;font-weight:800;background:linear-gradient(135deg,var(--accent-primary),var(--accent-cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:block}
.trust-item span{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}
.trust-divider{width:1px;height:32px;background:var(--border-color)}
.hero-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:480px;width:100%;transform-style:preserve-3d}
.orbit-path{position:absolute;top:50%;left:50%;border-radius:50%;border:1px solid rgba(59,130,246,.08);pointer-events:none}
.orbit-path-1{width:300px;height:300px;transform:translate(-50%,-50%)}
.orbit-path-2{width:440px;height:440px;transform:translate(-50%,-50%);border-style:dashed;border-color:rgba(6,182,212,.06)}
.orbit-path-3{width:560px;height:560px;transform:translate(-50%,-50%);border-color:rgba(124,58,237,.04);border-style:dotted}
.orb{position:relative;width:140px;height:140px;display:flex;align-items:center;justify-content:center;z-index:10;transform-style:preserve-3d}
.orb-core{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,rgba(59,130,246,.15),rgba(124,58,237,.15));display:flex;align-items:center;justify-content:center;box-shadow:0 0 60px rgba(220,80,20,.3);animation:orbPulse 4s ease-in-out infinite}
.orb-logo{width:70px;height:70px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(220,80,20,.6));animation:logoGlow 3s ease-in-out infinite alternate}
@keyframes logoGlow{0%{filter:drop-shadow(0 0 12px rgba(220,80,20,.5))}100%{filter:drop-shadow(0 0 24px rgba(220,80,20,.8))}}
@keyframes orbPulse{0%,100%{box-shadow:0 0 60px rgba(220,80,20,.25)}50%{box-shadow:0 0 100px rgba(220,80,20,.4)}}
.orb-ring{position:absolute;inset:-10px;border:1px solid rgba(59,130,246,.2);border-radius:50%;animation:orbRotate 12s linear infinite}
.orb-ring::after{content:'';position:absolute;top:-4px;left:50%;width:8px;height:8px;background:var(--accent-primary);border-radius:50%;box-shadow:0 0 12px var(--accent-primary)}
.orb-ring-2{position:absolute;inset:-28px;border:1px dashed rgba(6,182,212,.15);border-radius:50%;animation:orbRotate 20s linear infinite reverse}
@keyframes orbRotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.planet-orbit{position:absolute;top:50%;left:50%;width:0;height:0;z-index:5}
.planet{position:relative;display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:rgba(10,15,30,.75);backdrop-filter:blur(12px);border:1px solid rgba(148,163,184,.1);font-size:.78rem;font-weight:600;color:var(--text-primary);white-space:nowrap}
.planet-icon{font-size:1rem;line-height:1}
.planet-label{font-size:.75rem;letter-spacing:.02em}
.orbit-1{animation:orbitSpin 18s linear infinite}
.orbit-1 .planet{transform:translateX(150px);animation:pcs1 18s linear infinite}
.orbit-2{animation:orbitSpin 24s linear infinite;animation-delay:-4s}
.orbit-2 .planet{transform:translateX(220px);animation:pcs2 24s linear infinite;animation-delay:-4s}
.orbit-3{animation:orbitSpinR 20s linear infinite;animation-delay:-6s}
.orbit-3 .planet{transform:translateX(155px);animation:pcsr3 20s linear infinite;animation-delay:-6s}
.orbit-4{animation:orbitSpin 26s linear infinite;animation-delay:-13s}
.orbit-4 .planet{transform:translateX(215px);animation:pcs4 26s linear infinite;animation-delay:-13s}
.orbit-5{animation:orbitSpin 16s linear infinite;animation-delay:-8s}
.orbit-5 .planet{transform:translateX(148px);animation:pcs5 16s linear infinite;animation-delay:-8s}
.orbit-6{animation:orbitSpinR 22s linear infinite;animation-delay:-11s}
.orbit-6 .planet{transform:translateX(218px);animation:pcsr6 22s linear infinite;animation-delay:-11s}
@keyframes orbitSpin{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes orbitSpinR{from{transform:translate(-50%,-50%) rotate(360deg)}to{transform:translate(-50%,-50%) rotate(0)}}
@keyframes pcs1{from{transform:translateX(150px) rotate(0)}to{transform:translateX(150px) rotate(-360deg)}}
@keyframes pcs2{from{transform:translateX(220px) rotate(0)}to{transform:translateX(220px) rotate(-360deg)}}
@keyframes pcsr3{from{transform:translateX(155px) rotate(0)}to{transform:translateX(155px) rotate(360deg)}}
@keyframes pcs4{from{transform:translateX(215px) rotate(0)}to{transform:translateX(215px) rotate(-360deg)}}
@keyframes pcs5{from{transform:translateX(148px) rotate(0)}to{transform:translateX(148px) rotate(-360deg)}}
@keyframes pcsr6{from{transform:translateX(218px) rotate(0)}to{transform:translateX(218px) rotate(360deg)}}
.floating-shapes{position:absolute;inset:0;pointer-events:none;z-index:0}
.shape{position:absolute;border-radius:50%;opacity:.08;animation:shapeFloat 10s ease-in-out infinite}
@keyframes shapeFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.05)}}
.shape-1{width:300px;height:300px;background:var(--accent-primary);top:10%;left:-5%}
.shape-2{width:200px;height:200px;background:var(--accent-purple);top:60%;right:5%;animation-delay:-3s}
.shape-3{width:150px;height:150px;background:var(--accent-cyan);bottom:10%;left:30%;animation-delay:-6s}
.shape-4{width:100px;height:100px;background:var(--accent-gold);top:20%;right:20%;animation-delay:-8s}
@media(max-width:900px){.hero-content{grid-template-columns:1fr;text-align:center}.hero-subtitle{margin:0 auto}.hero-ctas{justify-content:center}.hero-trust{justify-content:center;flex-wrap:wrap}.hero-visual{min-height:380px;transform:scale(.72)}}
@media(max-width:600px){.hero{padding-top:80px;min-height:auto;padding-bottom:40px}.hero-headline{font-size:clamp(2rem,8vw,2.8rem)}.hero-visual{display:none}}

/* ── ECOSYSTEM ── */
.ecosystem-header{padding:120px 0 40px;position:relative;overflow:hidden}
.product-wrap{position:relative;transform-style:preserve-3d}
.product-wrap::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:1px;height:80px;background:linear-gradient(to bottom,transparent,var(--border-color))}

/* ── PAGE HEROES (about, services, team, contact, tour) ── */
.page-hero{min-height:60vh;display:flex;align-items:center;text-align:center;padding-top:120px;position:relative}
.page-hero-bg{position:absolute;inset:0;pointer-events:none}
.page-hero-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:16px}
.page-hero-sub{max-width:600px;font-size:1.15rem;color:var(--text-secondary)}
@media(max-width:768px){.page-hero{padding-top:90px;min-height:50vh}.page-hero-sub{font-size:1rem}}
@media(max-width:480px){.page-hero{padding-top:80px;min-height:auto}.page-hero-sub{font-size:.9rem}}

/* ── ABOUT ── */
.about-hero{min-height:70vh;overflow:hidden}
.about-hero-img-bg{position:absolute;inset:0;z-index:0}
.about-hero-img-bg img{width:100%;height:100%;object-fit:cover;opacity:.25}
.about-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(5,8,22,.5) 0%,rgba(5,8,22,.7) 50%,var(--bg-primary) 100%)}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.story-img{width:100%;height:auto;border-radius:var(--radius-xl);display:block;box-shadow:0 20px 60px rgba(0,0,0,.5);transition:transform 600ms cubic-bezier(.16,1,.3,1)}
.story-visual:hover .story-img{transform:scale(1.02)}
.story-img-glow{position:absolute;inset:-16px;border-radius:var(--radius-xl);background:radial-gradient(ellipse,rgba(59,130,246,.1) 0%,transparent 70%);z-index:-1;pointer-events:none}
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.mv-card{text-align:center;padding:40px}
.mv-icon{font-size:2.5rem;display:block;margin-bottom:16px}
.value-card{text-align:center;padding:28px 20px}
.value-icon{font-size:2rem;display:block;margin-bottom:12px}
.timeline{position:relative;max-width:700px;margin:0 auto;padding-left:40px}
.timeline::before{content:'';position:absolute;left:12px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--accent-primary),var(--accent-purple),transparent)}
.tl-item{position:relative;margin-bottom:40px}
.tl-dot{position:absolute;left:-34px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--accent-primary);border:3px solid var(--bg-primary);box-shadow:0 0 12px rgba(59,130,246,.4)}
.tl-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px 24px}
.tl-year{font-family:var(--font-mono);font-size:.8rem;color:var(--accent-cyan);font-weight:600}
.tech-grid{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.tech-item{padding:14px 28px;font-weight:600;font-size:.9rem;color:var(--text-primary);cursor:default}
@media(max-width:768px){.story-grid,.mv-grid{grid-template-columns:1fr}}

/* ── SERVICES ── */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.service-card{padding:32px;position:relative;overflow:hidden}
.card-icon{width:56px;height:56px;border-radius:16px;border:1px solid;display:flex;align-items:center;justify-content:center;margin-bottom:20px;font-size:1.4rem}
.card-line{position:absolute;bottom:0;left:0;right:0;height:3px;opacity:0;transition:opacity 400ms ease}
.service-card:hover .card-line{opacity:1}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.process-card{text-align:center;padding:32px 20px}
.step-num{font-family:var(--font-display);font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,var(--accent-primary),var(--accent-cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:block;margin-bottom:12px}
.genai-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.tilt-card-wrap{perspective:1000px;transform-style:preserve-3d;height:100%}
.tilt-card{padding:32px 24px;height:100%;display:flex;flex-direction:column;transition:transform .3s ease-out,box-shadow .3s ease-out}
.tilt-card:hover{box-shadow:0 20px 40px rgba(0,0,0,.4)}
.tilt-icon-wrap{font-size:2rem;margin-bottom:20px;background:rgba(255,255,255,.03);width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.05)}
.faq-list{max-width:700px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.faq-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;transition:border-color 300ms ease}
.faq-item[open]{border-color:var(--accent-primary)}
.faq-q{padding:18px 24px;cursor:pointer;font-weight:600;color:var(--text-primary);font-size:1rem;list-style:none;display:flex;align-items:center;justify-content:space-between}
.faq-q::after{content:'+';font-size:1.3rem;color:var(--accent-primary);transition:transform 300ms ease}
.faq-item[open] .faq-q::after{transform:rotate(45deg)}
.faq-q::-webkit-details-marker{display:none}
.faq-a{padding:0 24px 18px;font-size:.95rem;color:var(--text-secondary);line-height:1.7}
@media(max-width:1200px){.genai-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.service-grid{grid-template-columns:repeat(2,1fr)}.process-grid,.genai-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.service-grid,.process-grid,.genai-grid{grid-template-columns:1fr}}

/* ── TEAM ── */
.leader-card{display:flex;gap:40px;align-items:center;max-width:700px;margin:0 auto;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:40px}
.leader-avatar{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary),var(--accent-purple));display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:800;color:white;flex-shrink:0;box-shadow:0 0 40px rgba(59,130,246,.2);overflow:hidden}
.leader-avatar img{width:100%;height:100%;object-fit:cover}
.leader-role{display:block;color:var(--accent-cyan);font-size:.9rem;font-weight:600;margin-bottom:12px}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.team-card{text-align:center;padding:28px 16px}
.member-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary),var(--accent-cyan));display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;color:white;margin:0 auto 16px;filter:grayscale(40%);transition:filter 400ms ease,box-shadow 400ms ease;overflow:hidden}
.member-avatar img{width:100%;height:100%;object-fit:cover}
.team-card:hover .member-avatar{filter:grayscale(0%);box-shadow:0 0 20px rgba(59,130,246,.3)}
.member-role{display:block;font-size:.85rem;color:var(--text-secondary)}
.member-dept{display:inline-block;margin-top:8px;padding:3px 12px;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:rgba(59,130,246,.1);color:var(--accent-primary);border:1px solid rgba(59,130,246,.15)}
.perk-card{text-align:center;padding:28px 20px}
.perk-icon{font-size:2rem;display:block;margin-bottom:12px}
@media(max-width:900px){.team-grid{grid-template-columns:repeat(2,1fr)}.leader-card{flex-direction:column;text-align:center}}
@media(max-width:600px){.team-grid{grid-template-columns:1fr}}

/* ── CONTACT ── */
.option-card{text-align:center;padding:32px 24px}
.option-icon{font-size:2rem;display:block;margin-bottom:16px}
.option-link{display:inline-block;margin-top:12px;font-size:.85rem;color:var(--accent-primary);font-weight:600}
.contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:48px;align-items:start}
.form-wrap{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:40px}
.contact-form{display:flex;flex-direction:column;gap:20px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:.85rem;font-weight:600;color:var(--text-secondary)}
.field input,.field select,.field textarea{padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-primary);font-family:var(--font-body);font-size:.95rem;transition:border-color 300ms ease,box-shadow 300ms ease;outline:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(59,130,246,.15)}
.field input::placeholder,.field textarea::placeholder{color:var(--text-muted)}
.field textarea{resize:vertical;min-height:100px}
.field select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'%3e%3cpath d='M6 9l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}
.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.9rem;color:var(--text-secondary)}
.checkbox-label input{width:18px;height:18px;accent-color:var(--accent-primary);cursor:pointer}
.success-msg{text-align:center;padding:60px 20px;display:none}
.success-msg span{font-size:3rem;display:block;margin-bottom:16px}
.success-msg h3{color:var(--accent-green);margin-bottom:8px}
.error-msg{color:#EF4444;font-size:.9rem;margin-bottom:16px;background:rgba(239,68,68,.1);padding:12px;border-radius:6px;border:1px solid rgba(239,68,68,.3);display:none}
.social-list-contact{display:flex;flex-direction:column;gap:8px}
.social-contact-item{display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card);transition:all 300ms ease;text-decoration:none;color:var(--text-primary)}
.social-contact-item:hover{border-color:var(--accent-primary);background:rgba(59,130,246,.05);transform:translateX(4px);color:var(--text-primary)}
.social-contact-item .s-icon{font-size:1.3rem;flex-shrink:0}
.social-contact-item strong{display:block;font-size:.85rem}
.social-handle{display:block;font-size:.78rem;color:var(--text-muted)}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}}

/* ── TOUR ── */
.tour-layout{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:start}
.tour-nav{display:flex;flex-direction:column;gap:8px}
.tour-btn{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all 300ms ease;font-size:.9rem;font-weight:500;font-family:var(--font-body);text-align:left}
.tour-btn:hover,.tour-btn.active{border-color:var(--accent-primary);color:var(--text-primary);font-weight:600}
.tour-btn-icon{font-size:1.3rem}
.tour-view-inner{border:1px solid;border-radius:var(--radius-xl);padding:48px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;transition:all 500ms cubic-bezier(.16,1,.3,1);min-height:400px;background-size:cover;background-position:center}
.tour-view-icon{width:80px;height:80px;border-radius:24px;display:flex;align-items:center;justify-content:center;font-size:2.2rem;transition:all 500ms ease}
.tour-video-wrapper{position:relative;width:100%;max-width:1000px;margin:0 auto;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);background:var(--bg-card)}
.tour-video-wrapper iframe{position:absolute;inset:0;width:100%;height:100%}
.culture-card{text-align:center;padding:28px 20px}
.culture-icon{font-size:2rem;display:block;margin-bottom:12px}
@media(max-width:768px){.tour-layout{grid-template-columns:1fr}.tour-nav{flex-direction:row;overflow-x:auto;gap:8px;padding-bottom:8px}.tour-btn{white-space:nowrap;flex-shrink:0}.tour-view-inner{padding:32px 24px;min-height:320px}}

/* ── CTA Section ── */
.cta-section{text-align:center;position:relative;overflow:hidden}
.cta-bg{position:absolute;inset:0;z-index:0}
.cta-bg img{width:100%;height:100%;object-fit:cover;object-position:center top;opacity:.12}
.cta-bg-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,var(--bg-primary) 0%,rgba(5,8,22,.6) 40%,rgba(5,8,22,.6) 60%,var(--bg-primary) 100%)}
.cta-glow{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(59,130,246,.08) 0%,transparent 60%);pointer-events:none}
.cta-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:16px}
.cta-headline{font-size:clamp(2rem,5vw,3.5rem);max-width:700px}
.cta-subtext{color:var(--text-secondary);font-size:1.1rem;max-width:550px;line-height:1.8}
.cta-buttons{display:flex;gap:16px;margin-top:16px;flex-wrap:wrap;justify-content:center}
.cta-social-row{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap;justify-content:center}

/* ── 404 ── */
.not-found{min-height:80vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 20px 80px}
