@font-face{
  font-family:"Microgramma";
  src:url("microgramma.woff2") format("woff2"),
      url("microgramma.woff") format("woff");
  font-weight:400 900;font-style:normal;font-display:swap;
}
/* ============================================================
   AES Ltd — Architecture & Engineering Services
   Design system v2.0 — "Backlit Wall" professional identity
   Palette drawn from the AES oval logo and the intro-video set:
   deep boardroom navy, platinum steel, AES signal red, warm halo.
   ============================================================ */

:root{
  --ink:#0A1622;          /* deepest wall */
  --wall:#0F1E2E;         /* page background */
  --panel:#152838;        /* raised panel */
  --panel-2:#1B3145;      /* hover panel */
  --line:rgba(201,212,224,.14);
  --line-soft:rgba(201,212,224,.08);
  --steel:#C9D4E0;        /* body text */
  --mute:#8FA3B8;         /* secondary text */
  --white:#F4F8FC;
  --red:#D10000;          /* AES signal red — sampled from the logo artwork */
  --red-soft:rgba(209,0,0,.16);
  --blue:#2E7FC2;         /* logo swoosh blue */
  --blue-soft:rgba(46,127,194,.16);
  --halo:#FFE3BC;         /* warm backlight from the studio wall */
  --halo-soft:rgba(255,201,139,.10);
  --maxw:1180px;
  --r:10px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(1100px 640px at 50% -220px, rgba(46,127,194,.14), transparent 62%),
    radial-gradient(900px 560px at 88% 112%, rgba(209,0,0,.05), transparent 55%),
    linear-gradient(180deg,#0C1927 0%, var(--wall) 42%, #0C1A28 100%);
  background-attachment:fixed;
  color:var(--steel);
  font-family:"Rajdhani",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:17.5px;line-height:1.6;font-weight:500;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.mono{font-family:"Share Tech Mono",ui-monospace,monospace}

h1,h2,h3,h4{font-family:"Orbitron",sans-serif;color:var(--white);margin:0;line-height:1.12;letter-spacing:.005em}
h1{font-weight:700}
h2{font-weight:700;font-size:clamp(26px,3.4vw,38px)}
h3{font-weight:600;font-size:19px}
p{margin:0 0 1em}
em{font-style:italic}

/* ---------- micro-labels (drawing title-block style) ---------- */
.spec{
  font-family:"Orbitron",sans-serif;font-weight:800;font-size:13.5px;letter-spacing:.05em;
  text-transform:uppercase;color:#7C8794;
  text-shadow:0 -1px 1px rgba(0,0,0,.85),0 -2px 2px rgba(0,0,0,.5),0 1px 0 rgba(210,222,236,.28),0 2px 2px rgba(210,222,236,.12);
  display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.spec::before{content:"";width:22px;height:2px;background:var(--red);flex:none}
.spec .idx{color:var(--halo)}

/* ================= NAV ================= */
header.nav{
  position:sticky;top:0;z-index:80;
  background:rgba(10,22,34,.86);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:74px}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand img{width:92px;height:auto;flex:none;filter:drop-shadow(0 0 10px rgba(255,201,139,.25))}
.brand .nm{display:flex;flex-direction:column;line-height:1.15;white-space:nowrap}
.brand .nm b{font-family:"Orbitron",sans-serif;font-weight:700;font-size:14.5px;letter-spacing:.06em;color:var(--white)}
.brand .nm small{font-family:"Share Tech Mono",monospace;font-size:10.5px;letter-spacing:.24em;color:#B9C3CE;text-shadow:0 1px 0 rgba(255,255,255,.14),0 -1px 0 rgba(0,0,0,.55)}
.nav-links{display:flex;gap:20px;align-items:center}
.nav-links a{
  font-family:"Orbitron",sans-serif;font-weight:700;font-size:13.5px;letter-spacing:.05em;color:#8792A0;
  text-shadow:0 -1px 1px rgba(0,0,0,.6),0 1px 0 rgba(210,222,236,.28);
  padding:6px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s,text-shadow .2s;
}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--white);border-color:var(--red);text-shadow:0 -1px 1px rgba(0,0,0,.5),0 1px 0 rgba(255,255,255,.35)}
.nav-burger{display:none;background:none;border:1px solid var(--line);border-radius:8px;color:var(--steel);
  font-size:20px;line-height:1;padding:8px 12px;cursor:pointer}
@media(max-width:640px){.brand .nm{display:none}}
/* REV37 - the full-bleed mobile panel formerly declared here is REMOVED.
   assets/aes-nav.css is now the sole authority for the header at every width.
   The two survivors below are NOT nav-panel rules and are deliberately kept. */
@media(max-width:1140px){
  .nav-burger{display:block}
  .brand .nm small{display:none}
}

/* ================= HERO — the backlit sign ================= */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:#0F1E2E}
.hero-scene{position:relative;line-height:0;width:min(50%,960px);margin:34px auto 0}
@media(max-width:900px){.hero-scene{width:min(86%,960px)}}
.hero-scene img{display:block;width:100%;height:auto;filter:drop-shadow(0 18px 40px rgba(0,0,0,.5))}
.scene-fade{display:none}
.hero-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:6px 28px 84px}




@media(prefers-reduced-motion:reduce){
  .logo-wall .halo{animation:none}
  *{transition:none!important}
}
.hero h1{font-family:"Microgramma","Orbitron",sans-serif;font-style:normal;font-weight:400;text-transform:uppercase;font-size:clamp(13px,3.05vw,44px);line-height:1.14;letter-spacing:.005em;max-width:none;margin:0 auto 18px}
.hero h1 span{display:block;white-space:nowrap}
.hero .sub{max-width:62ch;margin:0 auto 12px;font-size:clamp(17px,1.9vw,20px);color:var(--steel)}
.hero .spec{margin-bottom:26px;color:#D9E3EE;text-shadow:0 1px 12px rgba(10,18,28,.85)}
.hero-tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:20px 0 34px}
.hero-tags span{
  font-family:"Orbitron",sans-serif;font-weight:800;font-size:13.5px;letter-spacing:.04em;color:#7C8794;
  text-shadow:0 -1px 1px rgba(0,0,0,.85),0 -2px 2px rgba(0,0,0,.5),0 1px 0 rgba(210,222,236,.28),0 2px 2px rgba(210,222,236,.12);
  border:1px solid var(--line);border-radius:999px;padding:7px 14px;background:rgba(21,40,56,.5)
}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.btn{
  display:inline-flex;align-items:center;gap:10px;cursor:pointer;
  font-family:"Orbitron",sans-serif;font-weight:600;font-size:14px;letter-spacing:.05em;
  padding:14px 26px;border-radius:8px;border:1px solid var(--line);
  color:var(--white);background:var(--panel);transition:transform .15s,background .2s,border-color .2s;
}
.btn:hover{transform:translateY(-2px);background:var(--panel-2);border-color:rgba(201,212,224,.3)}
.btn.primary{background:var(--red);border-color:var(--red)}
.btn.primary:hover{background:#E5303A;border-color:#E5303A}
.btn svg{flex:none}

/* ================= credentials strip ================= */
.creds{border-bottom:1px solid var(--line);background:rgba(10,22,34,.55)}
.creds-in{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.creds-4{grid-template-columns:repeat(4,1fr)}
.cred{padding:26px 18px;text-align:center;border-left:1px solid var(--line-soft)}
.cred:first-child{border-left:none}
.cred b{display:block;font-family:"Orbitron",sans-serif;font-weight:700;font-size:clamp(19px,2.2vw,25px);color:var(--white)}
.cred span{font-family:"Share Tech Mono",monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
@media(max-width:900px){.creds-in,.creds-4{grid-template-columns:repeat(2,1fr)}.cred{border-left:none;border-top:1px solid var(--line-soft)}}
@media(max-width:420px){.creds-in,.creds-4{grid-template-columns:1fr}}

/* ================= sections ================= */
section.band{padding:84px 0;border-bottom:1px solid var(--line-soft)}
.band-head{max-width:760px;margin-bottom:44px}
.band-head .spec{margin-bottom:16px}
.band-head p{color:var(--mute);margin-top:14px;font-size:17.5px}

.grid{display:grid;gap:18px}
.grid.c3{grid-template-columns:repeat(3,1fr)}
.grid.c2{grid-template-columns:repeat(2,1fr)}
@media(max-width:960px){.grid.c3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid.c3,.grid.c2{grid-template-columns:1fr}}

.card{
  position:relative;display:block;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--r);padding:24px 24px 22px;overflow:hidden;
  transition:transform .18s,border-color .2s,background .2s;
}
.card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--red);
  transform:scaleY(0);transform-origin:top;transition:transform .22s}
.card:hover{transform:translateY(-4px);border-color:rgba(201,212,224,.28);background:var(--panel-2)}
.card:hover::before{transform:scaleY(1)}
.card .k{font-family:"Orbitron",sans-serif;font-weight:800;font-size:13.5px;letter-spacing:.04em;
  color:#7C8794;text-transform:uppercase;display:block;margin-bottom:10px;white-space:nowrap;
  /* heavily sunken / engraved into the panel */
  text-shadow:0 -1px 1px rgba(0,0,0,.85),0 -2px 2px rgba(0,0,0,.5),0 1px 0 rgba(210,222,236,.28),0 2px 2px rgba(210,222,236,.12)}
.card h3{margin-bottom:8px}
.card p{color:var(--mute);font-size:15px;margin:0}
.card .go{position:absolute;right:18px;top:20px;color:var(--mute);font-size:15px;opacity:0;transition:opacity .2s}
.card:hover .go{opacity:1;color:var(--white)}

/* SMR band */
.smr{
  background:
    radial-gradient(720px 400px at 50% 0%, rgba(255,201,139,.06), transparent 65%),
    rgba(10,22,34,.5);
}
.smr-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:start}
@media(max-width:920px){.smr-grid{grid-template-columns:1fr}}
.smr-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.smr-list li{position:relative;padding-left:26px;color:var(--steel)}
.smr-list li::before{content:"";position:absolute;left:0;top:9px;width:12px;height:2px;background:var(--red)}
.smr-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.smr-panel h3{margin-bottom:14px}
.smr-panel .row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid var(--line-soft);font-size:15px}
.smr-panel .row:first-of-type{border-top:none}
.smr-panel .row b{color:var(--white);font-weight:600;text-align:right}

/* skills two-column */
.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:820px){.skills-grid{grid-template-columns:1fr}}
.skillcol{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.skillcol .spec{margin-bottom:8px}
.skillcol h3{margin-bottom:16px}
.skillcol ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
@media(max-width:520px){.skillcol ul{grid-template-columns:1fr}}
.skillcol li{font-size:14.5px;color:var(--steel);position:relative;padding-left:16px}
.skillcol li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:2px;background:var(--blue)}
.qual-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.qual-strip span{font-family:"Share Tech Mono",monospace;font-size:11.5px;letter-spacing:.12em;color:var(--steel);
  border:1px solid var(--line);border-radius:6px;padding:8px 13px;background:rgba(10,22,34,.5)}

/* ================= sub-page hero ================= */
.rhero{border-bottom:1px solid var(--line);padding:70px 0 54px;position:relative;overflow:hidden;
  background:linear-gradient(rgba(12,20,30,.88),rgba(15,30,46,.94)),url("marble.jpg") center/cover no-repeat #10202F}
.rhero::after{content:"";position:absolute;right:-140px;top:50%;transform:translateY(-50%);
  width:520px;height:520px;border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side, rgba(255,201,139,.09), transparent 70%)}
.rhero .spec{margin-bottom:18px}
.rhero h1{font-size:clamp(32px,4.6vw,52px);margin-bottom:14px}
.rhero .thesis{font-size:clamp(18px,2.1vw,22px);color:var(--steel);max-width:56ch}
.rhero .pos{font-family:"Orbitron",sans-serif;font-weight:800;font-size:13.5px;letter-spacing:.04em;
  text-transform:uppercase;color:#7C8794;text-shadow:0 -1px 1px rgba(0,0,0,.85),0 -2px 2px rgba(0,0,0,.5),0 1px 0 rgba(210,222,236,.28),0 2px 2px rgba(210,222,236,.12);margin-top:16px}
.rhero .wm{position:absolute;right:4%;top:50%;transform:translateY(-50%);width:280px;opacity:.10;
  filter:drop-shadow(0 0 26px rgba(255,201,139,.6));pointer-events:none}
@media(max-width:760px){.rhero .wm{display:none}}

/* sub-page body */
.rbody{padding:64px 0 80px}
.cols{display:grid;grid-template-columns:1.5fr .9fr;gap:44px;align-items:start}
@media(max-width:880px){.cols{grid-template-columns:1fr}}
.prose .block{margin-bottom:40px}
.prose h2{font-size:clamp(22px,2.6vw,28px);margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.prose .lead{font-size:18.5px;color:var(--white)}
.dolist{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:11px}
.dolist li{position:relative;padding-left:26px}
.dolist li::before{content:"";position:absolute;left:0;top:10px;width:12px;height:2px;background:var(--red)}
.side{display:grid;gap:18px;position:sticky;top:96px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.panel h3{font-size:12.5px;font-family:"Orbitron",sans-serif;font-weight:800;letter-spacing:.03em;
  text-transform:uppercase;color:#7C8794;text-shadow:0 -1px 1px rgba(0,0,0,.85),0 -2px 2px rgba(0,0,0,.5),0 1px 0 rgba(210,222,236,.28),0 2px 2px rgba(210,222,236,.12);margin-bottom:14px}
.panel p{font-size:15px;color:var(--steel);margin:0}
.sig{font-family:"Orbitron",sans-serif;font-weight:600;font-size:17px;line-height:1.35;color:var(--white)}
.meter{height:6px;border-radius:3px;background:rgba(201,212,224,.12);position:relative;margin:6px 0 10px}
.meter i{position:absolute;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;border-radius:50%;
  background:var(--red);box-shadow:0 0 10px rgba(209,0,0,.6)}
.meter-ends{display:flex;justify-content:space-between;font-family:"Share Tech Mono",monospace;font-size:10.5px;
  letter-spacing:.16em;color:var(--mute)}

/* pager */
.pager{border-top:1px solid var(--line);background:rgba(10,22,34,.5)}
.pager .wrap{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;padding:26px 28px;align-items:center}
.pager a{display:block;transition:color .2s;color:var(--steel);font-family:"Orbitron",sans-serif;font-weight:600;font-size:15px}
.pager a:hover{color:var(--white)}
.pager .lab{display:block;font-family:"Share Tech Mono",monospace;font-weight:400;font-size:10.5px;
  letter-spacing:.2em;color:var(--mute);margin-bottom:5px}
.pager .home{justify-self:center;font-family:"Share Tech Mono",monospace;font-size:11.5px;letter-spacing:.18em;color:var(--mute)}
.pager .nxt{text-align:right}
@media(max-width:640px){.pager .wrap{grid-template-columns:1fr 1fr}.pager .home{display:none}}

/* ================= contact ================= */
.cgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start}
@media(max-width:860px){.cgrid{grid-template-columns:1fr}}
.cfield{display:block;margin-bottom:18px}
.cfield span{display:block;font-family:"Share Tech Mono",monospace;font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.cfield input,.cfield textarea{
  width:100%;background:rgba(10,22,34,.6);border:1px solid var(--line);border-radius:8px;color:var(--white);
  font-family:"Rajdhani",sans-serif;font-size:16px;padding:13px 15px;outline:none;transition:border-color .2s;
}
.cfield input:focus,.cfield textarea:focus{border-color:var(--blue)}
.cline{display:block;font-family:"Orbitron",sans-serif;font-weight:600;font-size:19px;color:var(--white);
  padding:14px 0;border-bottom:1px solid var(--line-soft)}
.cline:hover{color:var(--halo)}
.signoff{margin-top:28px;padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  font-size:15px;line-height:1.75}
.signoff b{color:var(--white)}
.signoff a{color:var(--halo)}

/* downloads */
.dl-card{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;background:var(--panel);
  border:1px solid var(--line);border-radius:var(--r);padding:24px;margin-bottom:16px;
  transition:border-color .2s,background .2s}
.dl-card:hover{border-color:rgba(201,212,224,.28);background:var(--panel-2)}
.dl-card h3{margin-bottom:7px}
.dl-card p{color:var(--mute);font-size:15px;margin:0}
.dl-card .file{font-family:"Share Tech Mono",monospace;font-size:11.5px;letter-spacing:.06em;color:var(--halo);
  display:block;margin-top:9px}
.dl-btn{white-space:nowrap}
@media(max-width:620px){.dl-card{grid-template-columns:1fr}}

/* ================= footer ================= */
footer.site{border-top:1px solid var(--line);background:rgba(10,22,34,.7)}
.foot-in{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center;padding:30px 28px;
  font-family:"Share Tech Mono",monospace;font-size:11.5px;letter-spacing:.14em;color:var(--mute)}
.foot-in a:hover{color:var(--white)}
body.has-player footer.site{padding-bottom:86px}

/* ================= video modal ================= */
.vmodal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;
  background:rgba(6,12,20,.9);backdrop-filter:blur(6px);padding:28px}
.vmodal.open{display:flex}
.vmodal-in{position:relative;width:min(960px,96vw)}
.vmodal video{width:100%;border-radius:12px;border:1px solid var(--line);
  box-shadow:0 0 60px rgba(255,201,139,.15),0 30px 80px rgba(0,0,0,.7);background:#000}
.vclose{position:absolute;top:-46px;right:0;background:none;border:1px solid var(--line);border-radius:8px;
  color:var(--steel);font-family:"Share Tech Mono",monospace;font-size:12px;letter-spacing:.16em;
  padding:9px 16px;cursor:pointer}
.vclose:hover{color:var(--white);border-color:rgba(201,212,224,.4)}

/* ================= soundtrack player ================= */
.player{
  position:fixed;left:50%;transform:translateX(-50%);bottom:14px;z-index:150;
  display:flex;align-items:center;gap:12px;
  width:min(760px,calc(100vw - 24px));
  background:rgba(10,22,34,.92);backdrop-filter:blur(14px);
  border:1px solid var(--line);border-radius:14px;padding:10px 14px;
  box-shadow:0 14px 40px rgba(0,0,0,.5);
}
.pbtn{background:none;border:1px solid var(--line);border-radius:8px;color:var(--steel);cursor:pointer;
  width:38px;height:38px;display:flex;align-items:center;justify-content:center;flex:none;
  transition:color .2s,border-color .2s}
.pbtn:hover{color:var(--white);border-color:rgba(201,212,224,.35)}
.pbtn.pplay{background:var(--red);border-color:var(--red);color:#fff;width:42px;height:42px}
.pbtn.pplay:hover{background:#E5303A}
.pbtn svg{width:14px;height:14px;fill:currentColor}
.pcore{flex:1;min-width:0}
.pline{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}
.ptitle{font-family:"Share Tech Mono",monospace;font-size:10.5px;letter-spacing:.16em;color:var(--halo);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ptime{font-family:"Share Tech Mono",monospace;font-size:10.5px;color:var(--mute);white-space:nowrap}
.pseek{height:5px;border-radius:3px;background:rgba(201,212,224,.14);position:relative;cursor:pointer}
.pseek-fill{position:absolute;left:0;top:0;bottom:0;border-radius:3px;background:var(--red);width:0}
.psel{background:rgba(21,40,56,.9);border:1px solid var(--line);border-radius:8px;color:var(--steel);
  font-family:"Share Tech Mono",monospace;font-size:11px;letter-spacing:.06em;padding:9px 8px;max-width:180px}
.pvolwrap{display:flex;align-items:center;gap:8px;flex:none}
.pvol{width:78px;accent-color:var(--red)}
@media(max-width:700px){.pvolwrap,.psel{display:none}}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}

/* focus visibility */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--halo);outline-offset:2px}


/* ================= opening reveal (index, once per session) ================= */
#aesSplash{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;
  background:url("marble.jpg") center/cover no-repeat #10202F;
  transition:transform .75s cubic-bezier(.65,0,.35,1);will-change:transform}
#aesSplash::before{content:"";position:absolute;inset:0;
  background:radial-gradient(55% 50% at 50% 50%, rgba(0,0,0,0) 0%, rgba(30,38,48,.32) 100%);
  transition:opacity .6s}
#aesSplash .strip{position:absolute;top:0;bottom:0;width:3px;opacity:0;transition:opacity .8s;
  background:linear-gradient(180deg,transparent,var(--halo) 22%,var(--halo) 78%,transparent);filter:blur(1px)}
#aesSplash .strip.l{left:6%}#aesSplash .strip.r{right:6%}
#aesSplash .s-logo{position:relative;width:min(836px,74vw)}
#aesSplash .s-halo{position:absolute;inset:-34% -20%;border-radius:50%;opacity:0;transition:opacity 1s ease;
  background:radial-gradient(closest-side, rgba(255,227,188,0) 44%, rgba(255,224,180,.36) 62%, transparent 80%);
  filter:blur(8px)}
#aesSplash img{position:relative;width:100%;height:auto;opacity:0;transform:scale(.9);
  transition:opacity .9s ease,transform 1.1s cubic-bezier(.2,.7,.2,1);
  filter:drop-shadow(0 14px 34px rgba(0,0,0,.55))}
#aesSplash .s-shine{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:50%}
#aesSplash .s-shine::after{content:"";position:absolute;top:-20%;bottom:-20%;left:-40%;width:34%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-18deg) translateX(0);opacity:0}
#aesSplash .tag{position:absolute;bottom:7%;left:0;right:0;text-align:center;font-family:"Orbitron",sans-serif;font-weight:900;font-size:clamp(11px,2.86vw,42px);letter-spacing:.10em;padding:0 2%;box-sizing:border-box;white-space:nowrap;color:#B7B0A8;text-shadow:0 1px 0 rgba(255,255,255,.85),0 2px 1px rgba(255,255,255,.35),0 -1px 1px rgba(28,22,16,.75),0 -2px 3px rgba(20,15,10,.5),0 3px 4px rgba(20,15,10,.3);opacity:0;transition:opacity .8s}
#aesSplash.lit .strip,#aesSplash.lit .s-halo,#aesSplash.lit .tag{opacity:1}
#aesSplash.lit img{opacity:1;transform:scale(1)}
#aesSplash.sweep .s-shine::after{opacity:1;animation:sweep 1s ease forwards}
@keyframes sweep{to{transform:skewX(-18deg) translateX(430%)}}
#aesSplash.exit{transform:translateY(-101%)}
body.splashing{overflow:hidden}
@media(prefers-reduced-motion:reduce){#aesSplash{display:none}}


/* ---- moving halo on the splash logo (breathing + rotating sheen) ---- */
#aesSplash .s-halo{animation:aeshalo 3.6s ease-in-out infinite}
#aesSplash.lit .s-halo{opacity:1}
@keyframes aeshalo{0%,100%{transform:scale(1);opacity:.55}50%{transform:scale(1.08);opacity:1}}
}
@media(prefers-reduced-motion:reduce){#aesSplash .s-halo,}

/* sectors chips (services) */
.sector-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.sector-strip span{font-family:"Share Tech Mono",monospace;font-size:11.5px;letter-spacing:.14em;color:var(--steel);
  border:1px solid var(--line);border-radius:999px;padding:8px 15px;background:rgba(21,40,56,.55)}
.svc-block{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:26px;margin-bottom:18px}
.svc-block h3{margin-bottom:10px}
.svc-block p{color:var(--mute);font-size:15.5px}
.svc-block ul{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:9px 20px}
@media(max-width:640px){.svc-block ul{grid-template-columns:1fr}}
.svc-block li{font-size:14.5px;position:relative;padding-left:18px;color:var(--steel)}
.svc-block li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:2px;background:var(--red)}
.pull{border-left:3px solid var(--red);padding:6px 0 6px 26px;margin:0;
  font-family:"Orbitron",sans-serif;font-weight:600;font-size:clamp(21px,2.6vw,28px);line-height:1.35;color:var(--white)}
.pull small{display:block;margin-top:12px;font-family:"Share Tech Mono",monospace;font-weight:400;
  font-size:12px;letter-spacing:.2em;color:var(--halo)}

/* AI INSIDE THE MODEL panel */
.ai-model{margin-top:26px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  padding:30px;position:relative;overflow:hidden}
.ai-model::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--halo)}
.ai-model h3{font-size:clamp(19px,2.3vw,25px)}
.ai-model p{color:var(--steel);font-size:16px;margin:0 0 12px}
.ai-model p:last-child{margin-bottom:0}


/* --- link-box titles: match attached page (Orbitron 800 + glow) --- */
.card h3, .dl-card h3, .svc-block h3{
  font-family:"Orbitron",sans-serif;font-weight:800;letter-spacing:.01em;
  text-shadow:0 0 22px rgba(46,127,194,.25);
}


/* --- engraved signature line under the pull-quote --- */
.pull small{font-family:"Orbitron",sans-serif;font-weight:800;font-size:13.5px;letter-spacing:.04em;
  text-transform:uppercase;color:#7C8794;text-shadow:0 -1px 1px rgba(0,0,0,.85),0 -2px 2px rgba(0,0,0,.5),0 1px 0 rgba(210,222,236,.28),0 2px 2px rgba(210,222,236,.12);}


/* ===== DISPLAY TITLE FACE — Microgramma, all caps ===== */
.band-head h2, .smr h2, .band h2, .prose h2, .rhero h1,
section.band .wrap > h2{
  font-family:"Microgramma","Orbitron",sans-serif;
  text-transform:uppercase;letter-spacing:.01em;
}
/* the closing centred h2 also */
.band .wrap h2{font-family:"Microgramma","Orbitron",sans-serif;text-transform:uppercase}
