@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Sora:wght@400;500;600;700&display=swap');

@theme inline { --color-background:var(--background); --color-foreground:var(--foreground); --color-card:var(--card); --color-card-foreground:var(--card-foreground); --color-primary:var(--primary); --color-primary-foreground:var(--primary-foreground); --color-secondary:var(--secondary); --color-secondary-foreground:var(--secondary-foreground); --color-muted:var(--muted); --color-muted-foreground:var(--muted-foreground); --color-accent:var(--accent); --color-accent-foreground:var(--accent-foreground); --color-border:var(--border); --font-display:'Sora', sans-serif; --font-sans:'DM Sans', sans-serif; }
html { scroll-behavior:auto; background:#050b1a; } body { margin:0; font-family:'DM Sans',sans-serif; overflow-x:hidden; } a,button { -webkit-tap-highlight-color:transparent; } button:focus-visible,a:focus-visible{outline:2px solid #22d3ee;outline-offset:4px}.scene{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.58}.page-shell{position:relative;margin:auto;max-width:48rem;padding:6.5rem clamp(1.25rem,7vw,2.5rem)}.hero-layout{display:flex;align-items:flex-end;min-height:74vh}.eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.19em;color:#aab9d2}.text-gradient{background:linear-gradient(100deg,#fff 15%,#8aefff 48%,#b3aaff 90%);background-clip:text;-webkit-background-clip:text;color:transparent}.btn{display:inline-flex;align-items:center;gap:.75rem;border-radius:999px;padding:.86rem 1.15rem;font-size:.84rem;font-weight:700;transition:.25s transform,.25s box-shadow}.btn:hover{transform:translateY(-3px)}.btn span{font-size:1.1rem}.btn-cyan{background:#22d3ee;color:#04111d;box-shadow:0 0 24px #22d3ee44}.btn-violet{background:#7c6cff;color:#fff;box-shadow:0 0 24px #7c6cff44}.btn-quiet{border:1px solid #ffffff2b;background:#0d1933bb;color:#f5f7fa}.scroll-cue{position:absolute;bottom:2.1rem;left:50%;display:flex;transform:translateX(-50%);flex-direction:column;align-items:center;gap:.55rem;font-size:.62rem;letter-spacing:.16em;color:#9eacc5}.scroll-cue span{height:2.5rem;width:1px;background:linear-gradient(#22d3ee,transparent);animation:scroll 1.8s infinite}@keyframes scroll{50%{transform:scaleY(.55);transform-origin:top}}.section-rule{border-top:1px solid #ffffff12}.wide-copy{max-width:48rem}.section-title{margin-top:1.2rem;font-family:Sora,sans-serif;font-size:clamp(2.35rem,10vw,4.2rem);font-weight:600;line-height:1.04;letter-spacing:-.06em;color:white}.wide-copy>p:last-of-type,.section-body{margin-top:1.7rem;max-width:39rem;font-size:1.03rem;line-height:1.75;color:#b8c4d7}.stream-diagram{margin-top:3.5rem;display:flex;gap:10px;align-items:center}.stream-diagram i{display:block;height:2px;flex:1;border-radius:99px}.cyan-stream{background:linear-gradient(90deg,transparent,#22d3ee)}.violet-stream{background:linear-gradient(90deg,#7c6cff,transparent)}.section-grid{display:grid;grid-template-columns:1fr;align-items:center;gap:3.5rem}.zone{min-height:unset}.zone-cyan{background:linear-gradient(90deg,#22d3ee08,transparent 55%)}.zone-violet{background:linear-gradient(270deg,#7c6cff0b,transparent 55%)}.gates{display:grid;gap:1rem}.gate{display:flex;align-items:center;gap:1.1rem;border:1px solid #22d3ee39;background:#06132688;padding:1.25rem;box-shadow:inset 0 0 25px #22d3ee0a,0 0 20px #22d3ee12;clip-path:polygon(9% 0,100% 0,91% 100%,0 100%);transition:.2s}.gate:hover{transform:translateX(10px);border-color:#22d3ee}.gate b{margin-left: 20px;color:#22d3ee;font-size:.7rem;letter-spacing:.1em}.gate span{font-family:Sora;font-size:.84rem;font-weight:600;color:#e7faff}.section-tagline{margin-top:4rem;text-align:center;font-family:Sora;font-size:clamp(1.25rem,2vw,1.7rem);color:#e3fbff}.alert-wrap{position:relative;margin:auto;display:grid;place-items:center;min-height:24rem;max-width:47rem}.alert-orbit{position:absolute;height:25rem;width:25rem;border:1px solid #22d3ee25;border-radius:50%;box-shadow:0 0 70px #7c6cff18;transform:rotateX(67deg)}.alert-card{position:relative;width:min(100%,40rem);border:1px solid #fbbf2460;background:linear-gradient(135deg,#182034e8,#0a132ae8);padding:1.5rem;box-shadow:0 22px 65px #0008,0 0 42px #fbbf2412;backdrop-filter:blur(14px)}.alert-status{display:flex;gap:.5rem;align-items:center;font-size:.6rem;font-weight:700;letter-spacing:.15em;color:#fcd56e}.alert-status i{height:.45rem;width:.45rem;border-radius:50%;background:#fbbf24;box-shadow:0 0 8px #fbbf24}.alert-card h3{max-width:35rem;margin:1.5rem 0;font-family:Sora;font-size:clamp(1.25rem,3vw,2.05rem);line-height:1.25;color:white}.investigate{border-top:1px solid #ffffff14;padding-top:1rem;color:#c2f5ff;font-size:.78rem;font-weight:700}.investigate span{padding-left:.6rem}.investigation{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1.2rem;border-top:1px solid #ffffff12;padding-top:1.2rem;font-size:.62rem;color:#88a3c3}.investigation b{display:block;margin-top:.32rem;color:#eff7ff;font-size:.72rem;font-weight:500;line-height:1.4}.advisory-core{position:relative;min-height:22rem;display:grid;place-items:center}.core{position:relative;z-index:2;display:grid;height:10rem;width:10rem;place-items:center;border-radius:50%;background:#171342;color:#d6d1ff;font-family:Sora;font-weight:700;box-shadow:0 0 50px #7c6cff77}.module{position:absolute;background:#121138dd;padding:.75rem 1rem;color:#dedaff;font-size:.73rem;box-shadow:0 0 27px #7c6cff1a;backdrop-filter:blur(6px)}.module-0{top:0;left:12%}.module-1{top:13%;right:0}.module-2{bottom:9%;left:4%}.module-3{bottom:0;right:11%}.calm-section{background:linear-gradient(180deg,transparent,#0e1a321e,transparent)}.tech-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem 1rem;margin:4rem 0}.tech-item{text-align:center;font-size:.72rem;color:#c3d1e5}.iso{position:relative;margin:0 auto 1rem;height:5.25rem;width:5.25rem;transform:rotateX(55deg) rotateZ(45deg);transform-style:preserve-3d}.iso i{position:absolute;inset:0;border:1px solid #54ddea77;background:#22d3ee12;box-shadow:0 0 20px #22d3ee12}.iso i:nth-child(2){transform:translateZ(15px);border-color:#7c6cffbb}.iso i:nth-child(3){inset:20%;transform:translateZ(28px);background:#7c6cff3b;border-color:#c3bbff}.iso-1{transform:rotateX(55deg) rotateZ(45deg) scale(.85)}.iso-2{transform:rotateX(55deg) rotateZ(45deg) scale(1.08)}.iso-3{transform:rotateX(55deg) rotateZ(45deg) scale(.75)}.partner-section{padding-bottom:10rem}.partner-shield{display:grid;place-items:center;margin:0 auto 2rem;height:5.4rem;width:5.4rem;border-radius:50%;background:radial-gradient(circle,#1c2b52,#0a1226);color:#e9fbff;box-shadow:0 0 45px #22d3ee3d}.loader{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;background:#050b1a;transition:opacity .6s,visibility .6s}.loader--done{visibility:hidden;opacity:0}.loader-mark{display:flex;align-items:center;gap:.65rem;color:#eefbff}.loader-mark svg{color:#dffaff}.loader-mark span{font-family:Sora;font-size:.72rem;font-weight:700;letter-spacing:.12em}.loader-line{width:9rem;height:1px;background:#263853;overflow:hidden}.loader-line i{display:block;height:100%;background:#22d3ee;animation:load 1s ease-out forwards}@keyframes load{from{width:0}to{width:100%}}.loader em{font-size:.63rem;font-style:normal;color:#7790ad}@media(min-width:901px){.scene{opacity:.75}.page-shell{max-width:80rem;padding:8rem clamp(1.5rem,6vw,5.5rem)}.hero-layout{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;min-height:68vh}.section-grid{grid-template-columns:1fr 1fr;gap:4rem}.zone{min-height:48rem}.tech-grid{grid-template-columns:repeat(4,1fr);gap:1rem}.advisory-core{order:initial}}@media(max-width:560px){.page-shell{padding-top:6rem;padding-bottom:6rem}.alert-card{padding:1.2rem}.investigation{grid-template-columns:1fr}.module{font-size:.62rem}.module-0{left:0}.module-1{right:-5%}.scroll-cue{bottom:1.25rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scene{display:none}.loader{display:none}.scroll-cue span{animation:none}.reveal{opacity:1!important;transform:none!important}}

/* ---- plain-CSS replacements for the Tailwind classes ---- */
html{scroll-behavior:smooth}
body{background:#050b1a;color:#f5f7fa}
a{color:inherit;text-decoration:none}
::selection{background:#67e8f9;color:#020617}
.bg-glow{position:fixed;inset:0;background:radial-gradient(ellipse at 50% 15%,#102d5f 0%,#050b1a 48%,#030714 100%)}
.scene canvas{display:block;width:100%;height:100%}
main{position:relative;z-index:10;overflow:hidden}
.shield{width:2.5rem;height:2.5rem}.shield.sm{width:2rem;height:2rem}
.header{position:fixed;left:0;right:0;top:0;z-index:40;padding:1rem 1rem 0}
.nav{max-width:80rem;margin:auto;display:flex;align-items:center;justify-content:space-between;border:1px solid #ffffff1a;border-radius:999px;background:#081126b3;padding:.75rem 1.25rem;backdrop-filter:blur(20px);box-shadow:0 25px 50px #0004}
.brand{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:.875rem;font-weight:700;letter-spacing:.13em}
.brand b{font-weight:400;color:#67e8f9}
.links{display:none;gap:1.25rem;font-size:.75rem}
.links a,.mobile-menu a{color:#cbd5e1;transition:color .2s}.links a:hover{color:#fff}
.menu-btn{border:1px solid #ffffff26;background:none;color:#fff;border-radius:999px;padding:.4rem .8rem;font-size:.75rem;cursor:pointer}
.mobile-menu{display:none;margin-top:.5rem;border:1px solid #ffffff1a;border-radius:1rem;background:#081126f2;padding:1rem;text-align:center;font-size:.875rem;backdrop-filter:blur(20px)}
.mobile-menu.open{display:grid}.mobile-menu a{padding:.75rem}
@media(min-width:1024px){.links{display:flex}.menu-btn,.mobile-menu.open{display:none}}
.hero{min-height:100vh;display:flex;align-items:center;padding-top:6rem}
.hero-copy{max-width:42rem}
.hero-title{margin-top:1.5rem;font-family:Sora,sans-serif;font-size:clamp(3rem,8vw,4.5rem);font-weight:600;line-height:1;letter-spacing:-.055em;color:#fff}
.hero-sub{margin-top:1.5rem;font-size:1.125rem;font-style:italic;color:#ecfeffd9}
.hero-text{margin-top:1.5rem;max-width:36rem;line-height:1.75;color:#cbd5e1}
.actions{margin-top:2.25rem;display:flex;flex-wrap:wrap;gap:.75rem}
.mt{margin-top:2rem}
.center{text-align:center;margin-inline:auto}
.center .section-body,.center .section-title{margin-inline:auto}
.c-cyan{color:#67e8f9}.c-violet{color:#c4b5fd}
.alert-top{display:flex;justify-content:space-between;align-items:center}
.alert-top button{background:none;border:0;color:#a5f3fc;font-size:1rem;cursor:pointer}
.investigate{display:block;width:100%;background:none;border-left:0;border-right:0;border-bottom:0;text-align:left;cursor:pointer;font-family:inherit}
.investigation[hidden]{display:none}
.alert-note{margin:2.25rem auto 0;max-width:28rem;text-align:center;font-size:.875rem;line-height:1.5;color:#cbd5e1}
.partners-copy{max-width:48rem;margin:auto;text-align:center}
.footer{position:relative;z-index:10;margin:0 1rem 1rem;border:1px solid #ffffff1a;border-radius:1.5rem;background:#091329b3;padding:2.5rem 1.5rem;backdrop-filter:blur(20px)}
.footer-in{max-width:80rem;margin:auto;display:flex;flex-direction:column;align-items:center;gap:2rem}
.footer-logo{display:flex;align-items:center;gap:.75rem}.footer-logo img{height:2.75rem;width:auto}
.footer-logo span{display:none;border-left:1px solid #ffffff26;padding-left:.75rem;font-size:.75rem;color:#94a3b8}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem 1.25rem;font-size:.75rem;color:#cbd5e1}.footer-links a:hover{color:#fff}
@media(min-width:768px){.footer{margin:0 2rem 1rem;padding:2.5rem 3rem}.footer-in{flex-direction:row;justify-content:space-between}.footer-logo span{display:block}}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease-out,transform .8s ease-out}
.reveal.in{opacity:1;transform:none}
.bg-glow,.scene{height:100vh;height:100lvh;bottom:auto}
.scene canvas{position:absolute;inset:0;width:100%;height:100%}

/* ---- People section: text + image side by side ---- */
.people-grid{display:grid;grid-template-columns:1fr;align-items:center;gap:2.5rem}
.people-figure{margin:0;display:flex;justify-content:center}
.people-figure img{display:block;width:100%;max-width:34rem;height:auto;filter:drop-shadow(0 20px 50px #22d3ee22)}
@media(min-width:901px){.people-grid{grid-template-columns:1fr 1fr;gap:4rem}.people-figure img{max-width:none}}

.hero{flex-direction:column;justify-content:center;gap:2.5rem}
.hero-figure{margin:0;display:flex;justify-content:center}
.hero-figure img{display:block;width:100%;max-width:24rem;height:auto;filter:drop-shadow(0 20px 60px #22d3ee33)}
@media(min-width:901px){.hero{flex-direction:row;gap:4rem}.hero-copy{flex:1.1 1 0}.hero-figure{flex:.9 1 0}.hero-figure img{max-width:100%}}

/* Image animations */
@keyframes float-y{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes glow-pulse{0%,100%{filter:drop-shadow(0 20px 50px #22d3ee22)}50%{filter:drop-shadow(0 26px 70px #22d3ee66)}}
.hero-figure img{animation:float-y 6s ease-in-out infinite,glow-pulse 6s ease-in-out infinite}
.people-figure img{animation:float-y 7s ease-in-out -2s infinite,glow-pulse 7s ease-in-out -2s infinite}
@media(prefers-reduced-motion:reduce){.hero-figure img,.people-figure img{animation:none}}

/* Technology service icons */
.tech-visual{position:relative;height:5.25rem;width:5.25rem;margin:0 auto 1rem;display:grid;place-items:center}
.tech-visual .iso{position:absolute;inset:0;margin:0}
.tech-icon{position:relative;z-index:2;width:2.4rem;height:2.4rem;color:#c8f6ff;opacity:.85;filter:drop-shadow(0 0 8px #22d3ee88);transition:.25s transform,.25s opacity}
.tech-item:hover .tech-icon{transform:translateY(-4px) scale(1.08);opacity:1}

/* Technology service images (replace icon tiles) */
.tech-visual{width:100%;height:auto;aspect-ratio:3/2;margin:0 auto 1.1rem;display:flex;align-items:center;justify-content:center}
.tech-visual img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 12px 28px #22d3ee22);transition:transform .35s ease,filter .35s ease}
.tech-item:hover .tech-visual img{transform:translateY(-6px) scale(1.04);filter:drop-shadow(0 18px 36px #22d3ee55)}
@media(prefers-reduced-motion:reduce){.tech-visual img{transition:none}}
