:root {
  color-scheme: dark;
  --bg:#0b1120;
  --surface:#080e19;
  --card:#142039;
  --subtle:#18233a;
  --fg:#f5f7fe;
  --muted:#aebbd1;
  --border:rgba(238,245,255,.12);
  --accent:#65a6ff;
  --accent-fg:#091324;
  --font: "Instrument Sans", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: ui-monospace, "SFMono-Regular", "JetBrains Mono", Consolas, monospace;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--fg); font-family:var(--font); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
a:hover { color:var(--fg); }
button { font:inherit; }
a:focus-visible,button:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
:target { scroll-margin-top:5rem; }
.skip-link { position:fixed; top:10px; left:10px; padding:12px 16px; z-index:100; background:var(--accent); color:var(--accent-fg); transform:translateY(-180%); }
.skip-link:focus { transform:none; }
.container { width:min(100% - 40px, 1140px); margin-inline:auto; }
.site-header { position:sticky; top:0; z-index:50; border-bottom:1px solid var(--border); background:rgba(11,17,32,.87); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.header-inner { min-height:68px; display:flex; align-items:center; gap:24px; justify-content:space-between; }
.site-logo { display:inline-flex; align-items:center; flex:0 0 auto; gap:8px; font-size:14px; font-weight:700; letter-spacing:.12em; min-width:0; }
.site-logo img { width:39px; height:30px; object-fit:contain; }
.site-logo span { white-space:nowrap; }
.site-nav { display:flex; align-items:center; gap:25px; margin-left:auto; font-size:14px; color:var(--muted); }
.site-nav a { min-height:44px; display:inline-flex; align-items:center; white-space:nowrap; }
.site-nav a:hover,.site-nav a[aria-current="page"] { color:var(--fg); }
.header-actions { display:flex; flex:0 0 auto; align-items:center; gap:9px; }
.lang-switch { display:flex; gap:1px; padding:2px; border:1px solid var(--border); border-radius:99px; font:12px var(--mono); }
.lang-switch a { min-width:37px; min-height:43px; display:inline-flex; align-items:center; justify-content:center; border-radius:99px; color:var(--muted); }
.lang-switch a[aria-current="true"] { background:var(--accent); color:var(--accent-fg); font-weight:600; }
.lang-switch a:hover:not([aria-current="true"]) { color:var(--fg); background:var(--subtle); }
.menu-toggle { display:none; width:44px; height:44px; border:1px solid var(--border); background:transparent; color:var(--fg); border-radius:8px; cursor:pointer; align-items:center; justify-content:center; flex-direction:column; gap:6px; }
.menu-toggle span { height:1px; width:18px; background:currentColor; display:block; }
.mobile-nav { display:none; border-top:1px solid var(--border); padding:8px 20px 18px; }
.mobile-nav[hidden] { display:none!important; }
.mobile-nav a { display:flex; align-items:center; min-height:51px; border-bottom:1px solid var(--border); font-size:16px; }
.mobile-nav a:last-child { border-bottom:0; }
.hero { position:relative; overflow:hidden; isolation:isolate; }
.hero::before { content:""; position:absolute; inset:0; z-index:-2; background:radial-gradient(ellipse 66% 62% at 72% 18%, rgba(47,104,205,.24), transparent 75%); }
.hero::after { content:""; position:absolute; inset:0; z-index:-1; opacity:.45; background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px); background-size:64px 64px; mask-image:radial-gradient(ellipse 65% 78% at 61% 33%,#000 5%, transparent 85%); }
.hero-inner { padding:120px 0 140px; }
.status-pill { display:inline-flex; align-items:center; gap:10px; max-width:100%; padding:8px 14px; border-radius:99px; border:1px solid var(--border); background:rgba(23,37,59,.78); font:11px/1.5 var(--mono); color:var(--muted); }
.status-dot { width:7px; height:7px; flex-shrink:0; border-radius:50%; background:var(--accent); box-shadow:0 0 9px rgba(81,156,255,.6); }
h1,h2,h3,p { margin-top:0; overflow-wrap:anywhere; }
h1,h2,h3 { letter-spacing:-.035em; font-weight:500; }
.hero h1 { font-size:clamp(43px,7.1vw,94px); line-height:1.055; max-width:975px; margin:30px 0 26px; text-wrap:balance; }
.hero-intro { max-width:700px; color:var(--muted); font-size:clamp(17px,1.8vw,20px); line-height:1.72; margin-bottom:34px; }
.button-group { display:flex; gap:12px; flex-wrap:wrap; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:47px; padding:12px 24px; border-radius:99px; font-size:14px; font-weight:600; border:1px solid var(--border); background:transparent; transition:background .15s,color .15s; }
.button:hover { background:var(--subtle); }
.button-primary { background:var(--accent); color:var(--accent-fg); border-color:var(--accent); }
.button-primary:hover { background:#8fc0ff; color:var(--accent-fg); }
.content-section { border-top:1px solid var(--border); }
.content-section.alt { background:var(--surface); }
.section-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,3fr); gap:44px; padding-top:105px; padding-bottom:105px; }
.section-label { color:var(--accent); font:12px/1.65 var(--mono); text-transform:uppercase; letter-spacing:.10em; }
.section-body { min-width:0; }
.section-body h2 { font-size:clamp(32px,3.6vw,52px); line-height:1.16; text-wrap:balance; margin:0 0 21px; }
.section-copy { max-width:750px; font-size:18px; line-height:1.74; color:var(--muted); margin:25px 0 0; }
.section-tag { font:13px var(--mono); color:var(--accent); margin:33px 0 0; }
.research-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin-top:45px; border:1px solid var(--border); border-radius:12px; background:var(--border); overflow:hidden; }
.research-card { background:var(--card); padding:28px 26px 32px; }
.research-card:hover { background:var(--subtle); }
.card-code { font:14px var(--mono); color:var(--accent); }
.research-card h3 { font-size:21px; line-height:1.3; margin:21px 0 7px; }
.research-card p { font-size:15px; line-height:1.65; color:var(--muted); margin:0; }
.pipeline { display:flex; flex-wrap:wrap; gap:10px; margin:37px 0 0; padding:0; list-style:none; align-items:center; font:13px var(--mono); }
.pipeline li { display:flex; align-items:center; gap:10px; }
.pipeline span { border:1px solid var(--border); padding:12px 17px; border-radius:99px; }
.pipeline li:last-child span { color:var(--accent); border-color:var(--accent); }
.pipeline i { font-style:normal; color:var(--muted); }
.projects-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:42px; }
.project-card { display:flex; flex-direction:column; min-width:0; min-height:255px; border:1px solid var(--border); border-radius:12px; padding:24px; background:var(--card); }
.project-card .card-badge { color:var(--muted); font:11px/1.55 var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.project-card h3 { font-size:17px; line-height:1.35; letter-spacing:.015em; text-transform:uppercase; margin:28px 0 12px; }
.project-card p { font-size:14px; line-height:1.6; color:var(--muted); margin:0; }
.partner-chips { display:flex; flex-wrap:wrap; gap:9px; list-style:none; margin:30px 0 38px; padding:0; }
.partner-chips li { display:flex; align-items:center; padding:10px 16px; border-radius:99px; background:var(--subtle); font-size:14px; }
.final-contact { text-align:center; background:var(--surface); border-top:1px solid var(--border); padding:110px 0 125px; }
.final-contact .eyebrow { color:var(--accent); font:12px var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.final-contact h2 { font-size:clamp(35px,5vw,65px); line-height:1.13; max-width:830px; margin:27px auto 35px; text-wrap:balance; }
.mail-link { color:var(--accent); font-size:clamp(18px,2vw,24px); overflow-wrap:anywhere; }
.mail-link:hover { text-decoration:underline; }
.site-footer { border-top:1px solid var(--border); background:var(--surface); }
.footer-inner { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:43px 0 49px; font-size:14px; }
.site-footer p { color:var(--muted); margin:10px 0 0; }
.footer-right { text-align:right; }
.footer-right a { display:inline-flex; min-height:40px; align-items:center; }
.footer-right p { margin:2px 0 0; }
.contact-hero { position:relative; overflow:hidden; isolation:isolate; }
.contact-hero::before { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(ellipse at 70% 12%, rgba(59,109,203,.18), transparent 75%); }
.contact-content { width:min(100% - 40px, 900px); margin:0 auto; padding:120px 0 135px; }
.contact-content .eyebrow { color:var(--accent); text-transform:uppercase; letter-spacing:.1em; font:12px var(--mono); }
.contact-content h1 { font-size:clamp(44px,5.6vw,76px); line-height:1.1; margin:28px 0; text-wrap:balance; }
.contact-content p { max-width:700px; color:var(--muted); font-size:18px; line-height:1.75; }
.contact-content p a { color:var(--accent); }
.contact-content .button-group { margin-top:34px; }
@media(max-width:1199px) { .projects-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:1023px) {
  .site-nav { display:none; }
  .menu-toggle { display:flex; }
  .mobile-nav:not([hidden]) { display:block; }
  .header-inner { gap:8px; }
  .section-inner { grid-template-columns:1fr; gap:27px; padding-top:83px; padding-bottom:86px; }
  .hero-inner { padding:92px 0 112px; }
}
@media(max-width:680px) {
  .container { width:min(100% - 36px,1140px); }
  .header-inner { min-height:64px; }
  .site-logo { font-size:12px; gap:5px; letter-spacing:.075em; }
  .site-logo img { width:29px; height:24px; }
  .lang-switch a { min-width:35px; min-height:42px; }
  .header-actions { gap:7px; }
  .hero-inner { padding:78px 0 93px; }
  .hero h1 { margin:27px 0 27px; font-size:clamp(42px,10.5vw,62px); }
  .section-body h2 { font-size:34px; }
  .research-grid,.projects-grid { grid-template-columns:1fr; }
  .research-card { padding:26px; }
  .project-card { min-height:auto; padding:25px; }
  .section-inner { padding-top:69px; padding-bottom:75px; }
  .footer-inner { align-items:flex-start; flex-direction:column; gap:22px; }
  .footer-right { text-align:left; }
  .final-contact { padding:89px 0 100px; }
  .contact-content { padding:83px 0 100px; }
  .contact-content h1 { font-size:clamp(40px,9.5vw,56px); }
}
@media(max-width:380px) {
  .container { width:calc(100% - 28px); }
  .site-logo span { font-size:11px; letter-spacing:0; }
  .site-logo img { width:26px; }
  .lang-switch a { min-width:31px; padding:0 2px; }
  .menu-toggle { width:39px; height:42px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }


/* Secure Corporate contact form — displays only after the backend is configured */
.direct-contact { max-width:700px; margin-top:65px; padding-top:32px; border-top:1px solid var(--border); }
.direct-contact h2 { font-size:clamp(25px,4vw,32px); margin:0 0 10px; }
.direct-contact .contact-intro { font-size:15px; line-height:1.65; margin:0 0 21px; }
.contact-form { display:flex; flex-direction:column; gap:17px; }
.contact-form label { display:flex; flex-direction:column; gap:8px; font-size:14px; color:var(--fg); }
.contact-form input:not(.contact-honeypot),.contact-form textarea { width:100%; padding:12px 14px; background:var(--card); color:var(--fg); border:1px solid var(--border); border-radius:8px; font:inherit; }
.contact-form textarea { resize:vertical; min-height:120px; }
.contact-form input:focus-visible,.contact-form textarea:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.contact-form button { align-self:flex-start; cursor:pointer; }
.contact-form button:disabled { opacity:.65; cursor:wait; }
.contact-form .contact-status { font-size:14px; margin:0; min-height:1.5em; }
.contact-honeypot { position:absolute; width:1px; height:1px; left:-9999px; opacity:0; pointer-events:none; }
.contact-form-area>p { font-size:14px; }
.contact-form-area>.button { display:inline-flex; margin-top:6px; }
@media(max-width:680px) { .direct-contact { margin-top:45px; } }



/* HAWZION legal links and localized notice pages */
.footer-legal { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:12px; font-size:12px; line-height:1.7; color:var(--muted); }
.footer-legal a { color:var(--muted); text-decoration:underline; text-underline-offset:3px; min-height:32px; display:inline-flex; align-items:center; }
.footer-legal a:hover,.footer-legal a:focus-visible { color:var(--fg); }
.legal-content { max-width:820px; }
.legal-content h1 { overflow-wrap:break-word; }
.legal-content h2 { font-size:20px; margin:36px 0 8px; line-height:1.35; }
.legal-content .legal-section p { color:var(--muted); overflow-wrap:anywhere; }
.legal-content .legal-section p a { text-decoration:underline; color:var(--accent); }
.legal-content .legal-muted { font-size:13px; opacity:.9; margin-top:42px; }
@media(max-width:680px) {
 .footer-legal { justify-content:flex-start; }
 .legal-content h2 { font-size:18px; margin-top:30px; }
}
