 :root{--bg:#06121e;--panel:#0c1d2c;--text:#f3f7fb;--muted:#9db0c0;--line:#20384b;--accent:#53d6ff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 70% 10%,#12324a 0,transparent 35%),var(--bg);color:var(--text);font:16px/1.6 Arial,sans-serif}a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:2rem;padding:1rem 6vw;background:rgba(6,18,30,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex-shrink:0;min-height:38px;font-family:Arial,sans-serif;white-space:nowrap}.brand-name{color:#fff;font-size:24px;line-height:1;font-weight:700;letter-spacing:.02em}.brand-tagline{color:#a9c7da;font-size:11px;line-height:1;font-weight:400;letter-spacing:0}.brand:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:2px}nav{display:flex;gap:1.5rem;margin-left:auto}nav a{color:var(--muted)}nav a:hover{color:#fff}.language-switch{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px}.language-switch button{border:0;background:none;color:var(--muted);padding:.35rem .65rem;border-radius:999px;cursor:pointer}.language-switch .active{background:var(--accent);color:#00131d}.hero{min-height:78vh;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:5vw;padding:7rem 8vw}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;color:var(--accent);font-weight:700}h1{font-size:clamp(3rem,6.4vw,6rem);line-height:1;max-width:950px;margin:.6rem 0 1.5rem}.lead{max-width:760px;color:var(--muted);font-size:1.2rem}.actions{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap}.button{padding:.85rem 1.2rem;border-radius:999px;border:1px solid var(--line);font:inherit;cursor:pointer}.primary{background:var(--accent);color:#00131d;border-color:var(--accent)}.hero-visual{width:min(440px,80vw);aspect-ratio:1;border-radius:50%;border:1px solid var(--line);position:relative;background:radial-gradient(circle,#53d6ff22 0 2%,transparent 3%),radial-gradient(circle,#53d6ff11 0 35%,transparent 36%)}.orbit{position:absolute;inset:12%;border:1px solid #53d6ff66;border-radius:50%;transform:rotate(-24deg)}.orbit:after{content:"";position:absolute;width:10px;height:10px;background:var(--accent);border-radius:50%;top:8%;left:18%;box-shadow:0 0 20px var(--accent)}.section{padding:6rem 8vw;border-top:1px solid var(--line)}.intro{display:grid;grid-template-columns:.6fr 1.4fr;gap:2rem}.intro h2,.section h2{font-size:clamp(2rem,4vw,4rem);margin:.2rem 0 1rem}.intro p:last-child{font-size:1.25rem;color:var(--muted);max-width:850px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.5rem}.cards article{padding:1.5rem;background:linear-gradient(180deg,#0d2131,#091825);border:1px solid var(--line);border-radius:18px}.cards span{color:var(--accent);font-size:.8rem}.cards p{color:var(--muted)}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:2rem;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.contact-form label{display:flex;flex-direction:column;gap:.45rem;color:var(--muted)}.contact-form input,.contact-form textarea{width:100%;padding:.85rem 1rem;color:var(--text);background:#071521;border:1px solid var(--line);border-radius:10px;font:inherit}.full{grid-column:1/-1}.privacy-note,.direct-email{color:var(--muted);font-size:.9rem}.direct-email a{color:var(--accent)}footer{display:flex;justify-content:space-between;gap:2rem;padding:2rem 8vw;color:var(--muted);border-top:1px solid var(--line)}footer div{display:flex;gap:1rem}@media(max-width:900px){nav{display:none}.hero{grid-template-columns:1fr;padding-top:4rem}.hero-visual{margin:auto}.intro,.contact{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}}@media(max-width:620px){.cards,.contact-form{grid-template-columns:1fr}.site-header{padding:1rem 5vw}.hero,.section{padding-left:5vw;padding-right:5vw}footer{flex-direction:column;padding-left:5vw;padding-right:5vw}} \n.email-contact{padding:2rem;border:1px solid var(--line);border-radius:18px;background:var(--panel);align-self:start}.email-contact p{color:var(--muted);margin:0 0 .6rem}.email-address{color:var(--accent);font-size:clamp(1.15rem,2.3vw,1.8rem);overflow-wrap:anywhere}.email-address:hover{text-decoration:underline}\n.cards{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.cards{grid-template-columns:1fr}}

/* Match About alignment to the other sections. */
#about.intro{display:block;text-align:left}
#about.intro > div{max-width:900px}
#about.intro h2{margin-top:.2rem}


/* Photorealistic CubeSat and Earth hero, using a locally hosted image. */
.hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:min(790px,88vh);overflow:hidden;background:#06121e}
.hero>div{position:relative;z-index:1;max-width:750px}
.hero::before{content:"";position:absolute;z-index:-2;inset:-2%;background-image:url("hero-cubesat-earth.png");background-size:cover;background-position:center center;transform:scale(1.025);animation:hero-drift 38s ease-in-out infinite alternate}
.hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(4,13,23,.97) 0%,rgba(4,13,23,.92) 23%,rgba(4,13,23,.78) 43%,rgba(4,13,23,.24) 69%,rgba(4,13,23,.06) 100%),linear-gradient(0deg,rgba(6,18,30,.5),transparent 28%)}
.hero h1{text-shadow:0 2px 24px rgba(0,0,0,.45)}
.hero .lead{color:#d2dee7;text-shadow:0 2px 14px rgba(0,0,0,.65)}
@keyframes hero-drift{from{transform:scale(1.025) translate3d(0,0,0)}to{transform:scale(1.07) translate3d(-.6%,.3%,0)}}
@media(max-width:900px){.hero{min-height:680px}.hero::before{background-position:63% center}.hero::after{background:linear-gradient(90deg,rgba(4,13,23,.94),rgba(4,13,23,.78) 60%,rgba(4,13,23,.35)),linear-gradient(0deg,rgba(4,13,23,.6),transparent 40%)}}
@media(max-width:620px){.hero{min-height:650px;padding-top:5rem;padding-bottom:5rem}.hero::before{background-position:64% center}.hero::after{background:rgba(4,13,23,.73)}.hero h1{font-size:clamp(2.8rem,10vw,4.5rem)}}
@media(prefers-reduced-motion:reduce){.hero::before{animation:none}}
