/* Unravel base reset: neutralize Bricks' 62.5% rem base + blockquote defaults.
   'body blockquote' beats Bricks' bare 'blockquote' on specificity, so load order is irrelevant. */
html{font-size:100% !important;}
body{background-color:#08090d;}
body blockquote{border:none; margin:0; padding:0; background:none; font-family:inherit; font-size:inherit; position:static;}

/* ---------- Formidable restyle: contact form (mirrors the cf-form design) ---------- */
.cf-grid .frm_forms form{display:grid; gap:1.05rem; background:#fff; border:1px solid rgba(8,9,13,.14); border-radius:20px; padding:clamp(1.3rem,2.5vw,1.9rem); box-shadow:0 18px 50px rgba(8,9,13,.07);}
.cf-grid .frm_form_fields, .cf-grid .frm_forms fieldset{border:none; margin:0; padding:0; min-width:0;}
.cf-grid .frm_fields_container{display:grid; grid-template-columns:1fr 1fr; gap:1.05rem;}
.cf-grid .frm_form_field{margin:0 !important; display:grid; gap:.4rem; align-content:start;}
.cf-grid .frm_form_field.cfx-full, .cf-grid .frm_submit{grid-column:1 / -1;}
.cf-grid .frm_primary_label{font-family:var(--mono); font-size:.6rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:rgba(8,9,13,.55);}
.cf-grid .frm_required{color:var(--magenta);}
.cf-grid .frm_form_field input, .cf-grid .frm_form_field textarea, .cf-grid .frm_form_field select{font-family:var(--body); font-size:.95rem; color:var(--ink); background:#fff; border:1.5px solid rgba(8,9,13,.22); border-radius:12px; padding:.8rem 1rem; width:100%; transition:border-color .2s ease, box-shadow .2s ease;}
.cf-grid .frm_form_field textarea{min-height:130px; resize:vertical;}
.cf-grid .frm_form_field input:focus, .cf-grid .frm_form_field textarea:focus, .cf-grid .frm_form_field select:focus{outline:none; border-color:var(--cyan-hi); box-shadow:0 0 0 3px rgba(16,176,240,.18);}
.cf-grid .frm_form_field select{appearance:none; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1 L6 6 L11 1' stroke='%2308090d' stroke-width='2' fill='none' stroke-linecap='round'/></svg>"); background-repeat:no-repeat; background-position:right 1rem center;}
.cf-grid .frm_submit{margin:0;}
.cf-grid .frm_submit button{font-family:var(--mono); font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#fff; background:linear-gradient(90deg,var(--magenta),var(--purple),var(--cyan-hi)); border:none; border-radius:999px; padding:1rem 2rem; cursor:pointer; transition:transform .25s ease, box-shadow .25s ease;}
.cf-grid .frm_submit button:hover{transform:translateY(-2px); box-shadow:0 12px 30px rgba(216,50,133,.35);}
.cf-grid .frm_message{font-family:var(--mono); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--cyan-hi); background:none; border:none; padding:0; margin:0;}
.cf-grid .frm_error, .cf-grid .frm_error_style{font-family:var(--mono); font-size:.6rem; letter-spacing:.08em; color:var(--magenta); background:none; border:none;}
@media(max-width:640px){ .cf-grid .frm_fields_container{grid-template-columns:1fr;} .cf-grid .frm_form_field{grid-column:1 / -1;} }

/* ---------- footer newsletter (styles both the Formidable form and the static lookalike) ---------- */
.footer-news{margin-top:1.3rem; max-width:300px;}
.footer-news .fn-label{font-family:var(--mono); font-size:.6rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:rgba(245,244,239,.62); margin-bottom:.55rem;}
.footer-news form{display:flex; gap:.5rem; align-items:center; margin:0;}
.footer-news .frm_form_fields, .footer-news fieldset{border:none; margin:0; padding:0; min-width:0; width:100%;}
.footer-news .frm_fields_container{display:flex; gap:.5rem; align-items:center; width:100%;}
.footer-news .frm_form_field{flex:1; margin:0 !important;}
.footer-news .frm_primary_label{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
.footer-news input[type="email"]{width:100%; background:rgba(255,255,255,.05); border:1px solid rgba(245,244,239,.14); border-radius:999px; padding:.62rem 1rem; color:#f5f4ef; font-size:.85rem; transition:border-color .2s ease;}
.footer-news input[type="email"]:focus{outline:none; border-color:#10b0f0;}
.footer-news input::placeholder{color:rgba(245,244,239,.4);}
.footer-news .frm_submit{margin:0; flex:none;}
.footer-news button{font-family:var(--mono, monospace); font-size:.58rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#fff; background:linear-gradient(90deg,#d83285,#10b0f0); border:none; border-radius:999px; padding:.66rem 1.05rem; cursor:pointer; flex:none; transition:transform .2s ease;}
.footer-news button:hover{transform:translateY(-1px);}
.footer-news .frm_message{font-family:var(--mono, monospace); font-size:.6rem; letter-spacing:.08em; color:#10b0f0; background:none; border:none; padding:.5rem 0 0; margin:0;}

/* ===== CHROME CRITICAL (anti-FOUC) v6 ===== */

:root{
  --ink:#08090d; --ink-2:#0d0f15; --ink-3:#14161e;
  --bone:#f5f4ef; --muted:rgba(245,244,239,.64); --muted2:rgba(245,244,239,.40);
  --line:rgba(245,244,239,.11); --line-2:rgba(245,244,239,.055);
  --magenta:#d83285; --purple:#9a5ea7; --cyan:#499bd5; --cyan-hi:#10b0f0;
  --grad:linear-gradient(100deg,#d83285 0%,#9a5ea7 52%,#499bd5 100%);
  --grad-bright:linear-gradient(100deg,#e63f93 0%,#a869b6 48%,#10b0f0 100%);
  --display:'Space Grotesk',system-ui,'Segoe UI',sans-serif;
  --body:'Instrument Sans',system-ui,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',monospace;
  --maxw:1340px;
}

*{margin:0;padding:0;box-sizing:border-box;}

html{background:var(--ink); color-scheme:dark; scroll-behavior:smooth;-webkit-text-size-adjust:100%;}

body{
  background:var(--ink); color:var(--bone);
  font-family:var(--body); font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility; overflow-x:clip;
}


/* ---------- nav ---------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.35rem clamp(1.25rem,4vw,2.6rem);
  border-bottom:1px solid transparent;
  transition:padding .4s ease, background .4s ease, border-color .4s ease;
}

.nav.scrolled{
  padding-top:.82rem; padding-bottom:.82rem;
  background:rgba(8,9,13,.72);
  backdrop-filter:blur(18px) saturate(150%); -webkit-backdrop-filter:blur(18px) saturate(150%);
  border-bottom-color:var(--line);
}

.nav-logo{height:34px; display:inline-flex; align-items:center; transition:height .4s ease, opacity .25s ease;}

.nav-logo:hover{opacity:.85;}

.nav.scrolled .nav-logo{height:22px;}

.nav-logo svg{height:100%; width:auto;}

.nav-right{display:flex; align-items:center; gap:clamp(1.2rem,2.4vw,2.4rem);}

.nav-links{display:flex; gap:clamp(1.1rem,2.1vw,2.1rem); list-style:none;}

.nav-drop{position:relative;}

.nav-drop > a .nv-car{display:inline-block; margin-left:.35em; font-size:.62em; transform:translateY(-1px); transition:transform .25s ease;}

.nav-drop:hover > a .nv-car, .nav-drop:focus-within > a .nv-car{transform:translateY(0) rotate(180deg);}

.nav-panel{position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(6px); padding-top:1rem; opacity:0; visibility:hidden; transition:opacity .22s ease, transform .22s ease, visibility .22s; z-index:60;}

.nav-drop:hover .nav-panel, .nav-drop:focus-within .nav-panel{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);}

.mm-services{display:grid; grid-template-columns:1fr; gap:.1rem; margin:-0.4rem 0 .4rem; padding:.5rem 0 .7rem; border-bottom:1px solid var(--line);}

.mm-services a{font-family:var(--mono); font-size:.68rem; letter-spacing:.09em; text-transform:uppercase; color:rgba(245,244,239,.82); padding:.34rem 0;}

.mm-services a:hover{color:var(--bone);}


.nav-links a{
  font-family:var(--mono); font-size:.73rem; letter-spacing:.16em; text-transform:uppercase;
  color:rgba(245,244,239,.92); position:relative; padding:.3rem 0; transition:color .25s ease;
}

.nav-links a::after{content:""; position:absolute; left:0; bottom:0; height:1px; width:0; background:var(--grad); transition:width .3s ease;}

.nav-links a:hover{color:var(--bone);}

.nav-links a:hover::after{width:100%;}

.nav-links a.active{color:var(--bone);}

.nav-links a.active::after{width:100%;}

.nav-cta{
  font-family:var(--mono); font-size:.73rem; letter-spacing:.13em; text-transform:uppercase; font-weight:500;
  padding:.7rem 1.2rem; border-radius:100px; background:var(--bone); color:var(--ink);
  white-space:nowrap; transition:transform .3s ease, box-shadow .3s ease;
}

.nav-cta:hover{transform:translateY(-2px); box-shadow:0 12px 32px -12px rgba(216,50,133,.55);}

.nav-burger{display:none; width:30px; height:30px; position:relative; background:none; border:0; cursor:pointer; padding:0;}

.nav-burger span{position:absolute; left:3px; right:3px; height:2px; background:var(--bone); border-radius:2px; transition:transform .35s ease, opacity .25s ease, top .35s ease;}

.nav-burger span:nth-child(1){top:8px;}

.nav-burger span:nth-child(2){top:14px;}

.nav-burger span:nth-child(3){top:20px;}

body.menu-open .nav-burger span:nth-child(1){top:14px; transform:rotate(45deg);}

body.menu-open .nav-burger span:nth-child(2){opacity:0;}

body.menu-open .nav-burger span:nth-child(3){top:14px; transform:rotate(-45deg);}

.mobile-menu{position:fixed; inset:0; z-index:45; background:rgba(8,9,13,.97); backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px); display:flex; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:calc(76px + env(safe-area-inset-top)) 1.25rem calc(2rem + env(safe-area-inset-bottom)); opacity:0; visibility:hidden; transition:opacity .4s ease, visibility .4s ease;}

body.menu-open .mobile-menu{opacity:1; visibility:visible;}

.mobile-menu-inner{display:flex; flex-direction:column; align-items:center; gap:1.1rem; text-align:center; margin:auto; width:100%; max-width:420px;}

.mobile-menu-inner > a:not(.btn){font-family:var(--display); font-weight:700; font-size:clamp(2rem,9vw,2.9rem); letter-spacing:-.03em; color:var(--bone); opacity:0; transform:translateY(16px); transition:opacity .5s ease, transform .5s ease, color .25s ease;}

.mobile-menu-inner > a:not(.btn):hover{-webkit-text-fill-color:transparent; background:var(--grad-bright); -webkit-background-clip:text; background-clip:text;}

body.menu-open .mobile-menu-inner > a:not(.btn){opacity:1; transform:none;}

body.menu-open .mobile-menu-inner > a:nth-child(1){transition-delay:.06s;}

body.menu-open .mobile-menu-inner > a:nth-child(2){transition-delay:.12s;}

body.menu-open .mobile-menu-inner > a:nth-child(3){transition-delay:.18s;}

body.menu-open .mobile-menu-inner > a:nth-child(4){transition-delay:.24s;}

.mobile-menu-cta{margin-top:1rem;}


/* ---------- layout primitives ---------- */
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 clamp(1.25rem,4vw,2.6rem); position:relative; z-index:1;}

/* page-wide faint starfield (cosmic cohesion with the hero) */
.sky-bg{position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.5;}


/* ---------- buttons ---------- */
.btn{
  font-family:var(--mono); font-size:.77rem; letter-spacing:.12em; text-transform:uppercase; font-weight:500;
  display:inline-flex; align-items:center; gap:.6rem; padding:1rem 1.7rem; border-radius:100px;
  cursor:pointer; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease, background .3s ease, color .3s ease;
}

.btn .arr{transition:transform .3s ease;}

.btn:hover .arr{transform:translateX(4px);}

.btn-primary{background:var(--grad); color:#fff; box-shadow:0 14px 40px -16px rgba(216,50,133,.6);}

.btn-primary:hover{transform:translateY(-3px); box-shadow:0 22px 52px -16px rgba(73,155,213,.6);}

.btn-ghost{border:1px solid var(--line); color:var(--bone);}

.btn-ghost:hover{transform:translateY(-3px); border-color:rgba(245,244,239,.42);}

.hero .wrap{position:relative; z-index:2; width:100%;}

/* inverted (light) section — opaque bg lifts above the fixed grid/starfield */
.section.inverted{ position:relative; z-index:1; background:#f5f5f7; }

.industries .btn-ghost{ border-color:rgba(8,9,13,.22); color:var(--ink); }

.industries .btn-ghost:hover{ border-color:rgba(8,9,13,.5); background:rgba(8,9,13,.035); }

.cta-panel .wrap{position:relative; z-index:2;}

.cta-card .btn-primary{background:#fff; color:var(--ink); box-shadow:0 18px 54px -18px rgba(0,0,0,.55);}

.cta-card .btn-primary:hover{transform:translateY(-3px); box-shadow:0 26px 64px -18px rgba(0,0,0,.6);}


/* ---------- footer ---------- */
.footer{position:relative; z-index:1; background:var(--ink-2); border-top:1px solid var(--line); padding:clamp(3.5rem,7vw,5.5rem) 0 2.4rem;}

.footer-top{display:grid; grid-template-columns:1.5fr 1fr 1fr 1.1fr; gap:2.5rem;}

.footer-logo{height:30px; display:inline-flex; margin-bottom:1.3rem;}

.footer-logo svg{height:100%; width:auto;}

.footer-brand p{color:rgba(245,244,239,.85); font-size:.92rem; max-width:32ch; line-height:1.6;}

.footer-col h4{font-family:var(--mono); font-size:.67rem; letter-spacing:.18em; text-transform:uppercase; color:rgba(245,244,239,.6); margin-bottom:1.1rem;}

.footer-col a, .footer-col .ln{display:block; color:rgba(245,244,239,.9); font-size:.92rem; padding:.32rem 0; transition:color .25s ease;}

.footer-col a:hover{color:var(--bone);}

.footer-bottom{margin-top:3rem; padding-top:1.8rem; border-top:1px solid var(--line); display:flex; justify-content:space-between; flex-wrap:wrap; gap:.8rem; font-family:var(--mono); font-size:.67rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(245,244,239,.68);}
.footer-legal{display:flex; align-items:center; gap:1.4rem; flex-wrap:wrap;}
.footer-bottom a{color:rgba(245,244,239,.68); text-decoration:none; transition:color .25s ease;}
.footer-bottom a:hover{color:var(--bone);}
@media(max-width:820px){
.nav-panel{display:none;}
}
@media(max-width:820px){
 .nav-links{display:none;}
 .nav-cta{display:none;}
 .nav .nav-burger{display:block;}
}
@media (hover:hover){

  .solar-syst:has(.body:hover, .sun:hover) .orbit, .solar-syst:has(.body:hover, .sun:hover) .orbit *, .solar-syst:has(.body:hover, .sun:hover) .sun{ animation-play-state:paused; }
}
@media(max-width:820px){
 .footer-top{grid-template-columns:1fr 1fr; gap:2.5rem 1.5rem;}
}
@media(max-width:480px){
 .footer-top{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){

  *{animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; scroll-behavior:auto!important;}
}

/* ---------- Formidable submit: brand gradient everywhere (beats plugin css) v7 ---------- */
.with_frm_style .frm_submit button, .with_frm_style .frm_submit input[type="submit"],
.frm_forms .frm_submit button, .frm_forms .frm_submit input[type="submit"],
.frm_button_submit{
  font-family:var(--mono, "JetBrains Mono", monospace) !important; font-size:.68rem !important; font-weight:700 !important;
  letter-spacing:.14em !important; text-transform:uppercase !important;
  color:#fff !important;
  background:linear-gradient(90deg,#d83285,#9a5ea7,#499bd5) !important;
  border:none !important; border-radius:100px !important;
  padding:.95rem 1.6rem !important; cursor:pointer !important; width:auto !important;
  box-shadow:0 14px 40px -16px rgba(216,50,133,.6) !important;
  transition:transform .3s ease, box-shadow .3s ease !important;
}
.with_frm_style .frm_submit button:hover, .with_frm_style .frm_submit input[type="submit"]:hover,
.frm_forms .frm_submit button:hover, .frm_forms .frm_submit input[type="submit"]:hover,
.frm_button_submit:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 12px 30px rgba(216,50,133,.35) !important;
  background:linear-gradient(90deg,#d83285,#9a5ea7,#499bd5) !important;
}
.footer-news .frm_submit button, .footer-news .frm_submit input[type="submit"]{
  padding:.72rem 1.15rem !important; font-size:.6rem !important; box-shadow:none !important; white-space:nowrap !important;
}
