/* EVA Ops shared foundation, loaded by every page (homepage + sub-pages).
   Look from the company brochure: navy grid, thin teal outlines, uppercase labels, glow.
   Homepage-only rules live in home.css, sub-page content rules in pages.css. */
:root{--bg:#060b15;--panel:#08101cb8;--line:#65e7dc52;--line-soft:#65e7dc29;--text:#f5f8ff;--muted:#aab8cc;--quiet:#8794aa;--accent:#65e7dc;--accent-dark:#052d32;--grey-bar:#586275}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.6 "Manrope",system-ui,sans-serif;overflow-x:hidden}
/* brochure grid + soft glow, fixed behind everything */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 45% at 85% 0%,#65e7dc1c,transparent 70%),linear-gradient(#65e7dc12 1px,transparent 1px) 0 0/56px 56px,linear-gradient(90deg,#65e7dc12 1px,transparent 1px) 0 0/56px 56px}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,textarea,select{font:inherit;color:inherit}
h1,h2,h3,p,dl,dd,blockquote,figure{margin:0}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
::selection{background:var(--accent);color:var(--accent-dark)}
.skip-link{position:absolute;z-index:100;top:-80px;left:16px;background:var(--accent);color:var(--accent-dark);padding:8px 16px;font-weight:700}.skip-link:focus{top:12px}
.shell,.inner{width:min(100% - 48px,1120px);margin-inline:auto}
strong{font-weight:700;color:var(--text)}
.section{padding:clamp(40px,5.5vw,72px) 0}

/* labels */
.label{font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--quiet)}
.label-accent,.eyebrow{color:var(--accent)}
.eyebrow{display:block;margin:0 0 18px;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.label-accent::before,.eyebrow::before{content:"";display:inline-block;width:6px;height:6px;margin-right:10px;vertical-align:1px;background:var(--accent);box-shadow:0 0 12px var(--accent)}

/* buttons (.btn-primary / .btn-secondary are the blog's names for the same two styles) */
.button,.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 24px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-dark);font-size:.92rem;font-weight:700;line-height:1.2;text-align:center;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .2s ease,transform .2s ease;cursor:pointer}
.button:hover,.btn-primary:hover{background:#a0fff4;border-color:#a0fff4;box-shadow:0 0 32px #65e7dc66;transform:translateY(-2px)}
.button-outline,.btn-secondary{background:transparent;border-color:var(--line);color:var(--text)}
.button-outline:hover,.btn-secondary:hover{background:transparent;border-color:var(--accent);color:var(--accent);box-shadow:0 0 26px #65e7dc30;transform:translateY(-2px)}
.button-small{min-height:40px;padding:8px 16px;font-size:.82rem}
.button:disabled{opacity:.6;cursor:wait}
.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-size:.92rem;font-weight:600;transition:gap .2s ease}.text-link:hover{gap:14px}

/* header */
.site-header{position:sticky;top:0;z-index:30;background:#060b15e6;border-bottom:1px solid var(--line-soft);backdrop-filter:blur(14px)}
.header-inner{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:12px;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;white-space:nowrap}
.brand img{width:38px;height:38px;filter:drop-shadow(0 0 8px #65e7dc66)}
.brand-light{font-weight:300}
.site-nav{display:flex;align-items:center;gap:22px}
.site-nav a:not(.button){font-size:.88rem;color:var(--muted);transition:color .15s ease}.site-nav a:not(.button):hover,.site-nav a[aria-current="page"]{color:var(--accent)}
.menu-toggle{display:none;width:44px;height:44px;padding:0;border:1px solid var(--line);background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.menu-toggle span{display:block;width:20px;height:2px;background:var(--accent)}

/* glass panel with a cursor-following glow (main.js sets --mx/--my). Sub-page cards join this family in pages.css. */
.panel,.card{position:relative;backdrop-filter:blur(8px);transition:border-color .15s ease,box-shadow .25s ease}
.panel::before,.card::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .25s ease;background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%),#65e7dc24,transparent 70%)}
.panel:hover::before,.card:hover::before{opacity:1}
.panel:hover,.card:hover{border-color:#65e7dca0;box-shadow:0 0 36px #65e7dc20}
.panel{border:1px solid var(--line);background:var(--panel)}

/* form controls */
form{display:grid;gap:16px}
label{display:grid;gap:6px;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--quiet)}
input,textarea,select{width:100%;padding:12px 14px;border:1px solid var(--line);background:#ffffff08;color:var(--text);font-size:.95rem;letter-spacing:0;text-transform:none;font-weight:400;transition:border-color .15s ease;border-radius:0}
select option{background:#0a1322;color:var(--text)}
input:focus,textarea:focus,select:focus{border-color:var(--accent);outline:none}
input::placeholder,textarea::placeholder{color:#6f7b90}
textarea{resize:vertical;min-height:110px}
.form-status{margin:0;color:var(--quiet);font-size:.8rem;line-height:1.5}
.form-status a{text-decoration:underline}
#form-status[data-state="success"]{color:var(--accent)}
#form-status[data-state="error"]{color:#ff9d9d}

/* decorative layers: glow curves + wireframe orb/prism, drifting slowly behind the content */
.mesh-stage,.ambient-stage{position:relative;overflow:hidden;isolation:isolate}
.mesh-stage>.shell,.mesh-stage>.inner,.ambient-stage>.shell,.ambient-stage>.inner{position:relative;z-index:1}
.mesh-accent,.ambient-wave{position:absolute;z-index:0;height:auto;pointer-events:none;user-select:none}
.mesh-accent{width:clamp(210px,25vw,370px);opacity:.5;animation:mesh-drift 24s ease-in-out infinite alternate}
.mesh-accent--right{right:-110px;top:-10px}
.mesh-accent--header{right:1%;top:6%;width:clamp(230px,28vw,430px);opacity:.4}
.mesh-accent--left{left:-95px;top:34%;opacity:.38;animation-name:mesh-drift-reverse}
.mesh-accent--low{right:-95px;bottom:0;opacity:.4;animation-name:mesh-drift-reverse;-webkit-mask-image:linear-gradient(#000 45%,transparent 90%);mask-image:linear-gradient(#000 45%,transparent 90%)}
.ambient-wave{width:min(58vw,780px);opacity:.64;-webkit-mask-image:linear-gradient(transparent,#000 18%,#000 72%,transparent);mask-image:linear-gradient(transparent,#000 18%,#000 72%,transparent);animation:ambient-flow 21s ease-in-out infinite alternate}
.ambient-wave--right{right:-135px;top:4%}
.ambient-wave--bottom{right:-115px;bottom:0}
.ambient-wave--left{left:-150px;bottom:0;animation-name:ambient-flow-reverse}
@keyframes mesh-drift{from{transform:translate3d(0,0,0) rotate(-8deg)}to{transform:translate3d(-18px,14px,0) rotate(14deg)}}
@keyframes mesh-drift-reverse{from{transform:translate3d(0,0,0) rotate(10deg)}to{transform:translate3d(20px,-16px,0) rotate(-13deg)}}
@keyframes ambient-flow{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-19px,14px,0) scale(1.035)}}
@keyframes ambient-flow-reverse{from{transform:translate3d(0,0,0) scaleX(-1)}to{transform:translate3d(18px,-13px,0) scaleX(-1.035)}}
@keyframes glow-pulse{from{opacity:.6}to{opacity:1}}

/* footer */
.site-footer{margin-top:clamp(32px,5vw,56px);border-top:1px solid var(--line-soft);padding:32px 0;color:var(--quiet);font-size:.82rem}
.footer-inner{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:32px 48px}
.footer-brand{display:grid;gap:12px}
.footer-cols{display:grid;grid-template-columns:repeat(5,auto);gap:24px 48px}
.footer-cols>div{display:grid;gap:8px;align-content:start}
.footer-cols .label{margin-bottom:4px}
.site-footer a:hover{color:var(--text)}

@media (max-width:1080px){
  .menu-toggle{display:inline-flex}
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:2px;padding:12px 24px 24px;background:var(--bg);border-bottom:1px solid var(--line);max-height:calc(100vh - 68px);overflow-y:auto}
  .site-nav.is-open{display:flex}
  .site-nav a:not(.button){padding:11px 0;font-size:1rem}
}
@media (max-width:900px){
  .mesh-accent{width:230px;opacity:.22}
  .mesh-accent--right,.mesh-accent--header{right:-95px;top:10px}
  .mesh-accent--left{left:-105px}
  .mesh-accent--low{right:-100px;bottom:0}
  .ambient-wave{width:540px;opacity:.38}
  .ambient-wave--right,.ambient-wave--bottom{right:-270px}
  .ambient-wave--left{left:-280px}
}
@media (max-width:760px){
  .footer-cols{grid-template-columns:repeat(2,auto);gap:28px 40px}
}
@media (max-width:520px){
  .shell,.inner{width:min(100% - 40px,1120px)}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .mesh-accent,.ambient-wave{animation:none}
}
