:root{
  --night:#101426;
  --deep:#0A0D1A;
  --panel:#182036;
  --text:#F1EDE2;
  --gold:#E0B34C;
  --ember:#C25450;
  --hair:#262F4A;
}

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

html{
  scroll-behavior:smooth;
}

body{
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  line-height:1.7;
  color:var(--text);
  background-color:var(--night);
  overflow-x:hidden;
}

a{
  color:var(--gold);
  text-decoration:none;
}

img{
  max-width:100%;
  display:block;
}

.stage-wrap{
  max-width:1160px;
  margin:0 auto;
  padding:0 24px;
}

/* ---------------------------------------------------------
   FUSE LINE NAV
   --------------------------------------------------------- */
.fusekit{
  background-color:var(--deep);
}

.fusenav{
  position:sticky;
  top:0;
  z-index:50;
  background-color:var(--deep);
}

.fuse-run{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  flex-wrap:wrap;
  padding:18px 0 10px;
}

.tube-brand{
  position:relative;
  width:auto;
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  background-color:var(--gold);
  border-radius:6px;
  border:1px solid #B78F36;
  padding:8px 18px;
  min-height:52px;
  box-shadow:0 0 0 2px var(--deep),6px 8px 0 -4px var(--hair);
}

.tube-brand .brand-mark{
  font-family:Arial,Helvetica,sans-serif;
  font-weight:bold;
  font-size:20px;
  letter-spacing:3px;
  color:var(--deep);
  line-height:1.1;
}

.tube-brand .brand-sub{
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  letter-spacing:1px;
  color:#5c4a14;
}

.fuse-wire{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex:1 1 auto;
  padding:12px 34px 12px 20px;
}

.fuse-wire::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  margin-top:-1px;
  height:3px;
  background-color:var(--hair);
  border-radius:2px;
}

.fuse-wire::after{
  content:"";
  position:absolute;
  right:-4px;
  top:50%;
  margin-top:-6px;
  width:10px;
  height:10px;
  background-color:var(--gold);
  box-shadow:0 0 9px var(--gold);
}

.fuse-wire::after,
.fuse-wire::before{
  z-index:0;
}

.nav-links{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  justify-content:flex-end;
  align-items:center;
}

.burst-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transform:rotate(-45deg);
  width:58px;
  height:58px;
  background-color:var(--panel);
  border:1px solid var(--hair);
  box-shadow:0 0 0 1px var(--deep);
  position:relative;
}

.burst-tag span{
  transform:rotate(45deg);
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  letter-spacing:1px;
  color:var(--gold);
  text-transform:uppercase;
  text-align:center;
}

.burst-tag::before{
  content:"";
  position:absolute;
  top:6px;
  left:50%;
  width:5px;
  height:5px;
  transform:translateX(-50%);
  border-radius:50%;
  background-color:var(--ember);
}

.burst-tag:hover{
  background-color:var(--gold);
  border-color:#B78F36;
}

.burst-tag:hover span{
  color:var(--deep);
}

.nav-toggle{
  display:none;
  background-color:var(--gold);
  color:var(--deep);
  border:none;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:bold;
  font-size:14px;
  letter-spacing:1px;
  padding:9px 14px;
  border-radius:3px;
  cursor:pointer;
  align-self:flex-start;
}

/* ---------------------------------------------------------
   HERO  NIGHT BURST SKY
   --------------------------------------------------------- */
.burstsky{
  position:relative;
  background-color:var(--deep);
  overflow:hidden;
  padding:74px 0 40px;
}

.burstsky-sky{
  position:absolute;
  inset:auto 0 0 0;
  height:100%;
  pointer-events:none;
}

.sky-spark{
  position:absolute;
  width:3px;
  height:3px;
  border-radius:50%;
  background-color:#4B5678;
}

.s-p1{left:7%;top:14%;}
.s-p2{left:20%;top:64%;background-color:#3A4566;}
.s-p3{left:12%;top:40%;background-color:#505c83;}
.s-p4{left:36%;top:10%;background-color:#465276;}
.s-p5{left:52%;top:68%;background-color:#414b6e;}
.s-p6{left:66%;top:24%;background-color:#4d5780;}
.s-p7{left:80%;top:52%;background-color:#3d4769;}
.s-p8{left:90%;top:10%;background-color:#525d88;}
.s-p9{left:44%;top:36%;background-color:#465276;}
.s-p10{left:73%;top:80%;background-color:#4d5780;}
.s-p11{left:60%;top:34%;background-color:#565f86;}
.s-p13{left:88%;top:34%;background-color:#3d4969;}
.s-p14{left:16%;top:78%;background-color:#4e5a83;}

.firework-gold{
  position:absolute;
  top:56px;
  right:110px;
  width:210px;
  height:210px;
}

.burst-orbit{
  position:absolute;
  inset:0;
}

.ray{
  position:absolute;
  top:105px;
  left:104px;
  width:2px;
  height:86px;
  background-color:var(--gold);
  transform-origin:0 0;
  opacity:1;
}

.ray-dot{
  position:absolute;
  top:50%;
  left:50%;
  width:11px;
  height:11px;
  margin:-5px 0 0 -5px;
  border-radius:50%;
  background-color:var(--gold);
}

.w-r1{transform:rotate(18deg);}
.w-r2{transform:rotate(60deg);}
.w-r3{transform:rotate(102deg);}
.w-r4{transform:rotate(144deg);}
.w-r5{transform:rotate(186deg);}
.w-r6{transform:rotate(228deg);}
.w-r7{transform:rotate(270deg);}
.w-r8{transform:rotate(312deg);}
.w-r9{transform:rotate(354deg);}

.ring-band{
  position:absolute;
  inset:16%;
  border-radius:50%;
  border:1px solid var(--gold);
}

.ring-band::after{
  content:"";
  position:absolute;
  inset:12%;
  border-radius:50%;
  border:2px solid var(--gold);
}

.ring-spark{
  position:absolute;
  width:5px;
  height:5px;
  border-radius:50%;
  background-color:var(--gold);
}

.rg1{top:-3px;left:50%;}
.rg2{right:9px;top:28%;}
.rg3{bottom:5px;left:14%;}
.rg4{top:14%;left:8%;}

.firework-ember{
  position:absolute;
  top:42%;
  left:70px;
  width:130px;
  height:130px;
}

.firework-ember .ray{
  top:65px;
  left:64px;
  height:52px;
  background-color:var(--ember);
}

.firework-ember .ray-dot{
  background-color:var(--ember);
  width:9px;
  height:9px;
  margin:-4px 0 0 -4px;
}

.firework-ember .ring-band{
  inset:16%;
  border-color:var(--ember);
}

.firework-ember .ring-band::after{
  border-color:var(--ember);
}

.firework-ember .ring-spark{
  background-color:var(--ember);
}

.skyline{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:150px;
}

.skyline-building{
  position:absolute;
  bottom:0;
  background-color:#0A0E21;
  border-top:2px solid var(--hair);
}

.roof-a{left:0;width:170px;height:120px;}
.roof-b{left:150px;width:120px;height:96px;}
.roof-c{left:250px;width:150px;height:131px;}
.roof-d{left:382px;width:110px;height:76px;}
.roof-e{left:476px;width:160px;height:118px;}
.roof-f{left:618px;width:120px;height:104px;}
.roof-g{left:720px;width:160px;height:142px;}
.roof-h{left:862px;width:130px;height:88px;}
.roof-i{left:972px;width:200px;height:126px;}
.roof-j{left:63px;width:90px;height:64px;}
.roof-k{left:427px;width:86px;height:54px;}

.lit-window{
  position:absolute;
  width:7px;
  height:8px;
  background-color:var(--gold);
  border-radius:1px;
}

.lw1{left:20px;top:18px;}
.lw2{left:52px;top:52px;}
.lw3{left:30px;top:86px;}
.lw4{left:30px;top:24px;}
.lw5{left:62px;top:12px;}
.lw6{left:42px;top:60px;}
.lw7{right:18px;top:40px;}
.lw8{left:70px;top:22px;}
.lw9{left:22px;top:96px;}
.lw10{right:30px;bottom:22px;}
.lw11{left:40px;top:60px;}
.lw12{right:20px;top:40px;}
.lw13{left:84px;bottom:16px;}
.lw14{left:26px;top:40px;}
.lw15{right:34px;top:18px;}
.lw16{left:52px;top:86px;}
.lw17{left:120px;top:28px;}
.lw18{left:24px;top:70px;}
.lw19{left:98px;top:96px;}
.lw20{right:22px;bottom:44px;}
.lw21{left:34px;top:20px;}
.lw22{right:42px;top:56px;}
.lw23{left:60px;top:14px;}
.lw24{left:22px;top:100px;}
.lw25{right:20px;top:26px;}
.lw26{left:96px;bottom:30px;}
.lw27{right:44px;top:72px;}
.lw28{left:150px;top:30px;}
.lw30{right:38px;top:10px;}

.hero-inner{
  position:relative;
  z-index:2;
  max-width:760px;
  padding:10px 0 130px;
}

.hero-kicker{
  display:inline-block;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  letter-spacing:4px;
  color:var(--ember);
  text-transform:uppercase;
  margin-bottom:24px;
  border-bottom:1px solid var(--hair);
  padding-bottom:8px;
}

.headline{
  font-size:58px;
  line-height:1.08;
  font-weight:bold;
  color:var(--text);
  letter-spacing:-1px;
}

.headline .hl-gold{
  color:var(--gold);
}

.hero-lede{
  margin-top:26px;
  font-size:18px;
  line-height:1.85;
  color:var(--text);
  max-width:640px;
}

.hero-lede strong{
  color:var(--gold);
  font-weight:bold;
}

.hero-lede a{
  text-decoration:none;
  border-bottom:1px solid var(--gold);
  color:var(--gold);
}

.cta-row{
  margin-top:34px;
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  align-items:center;
}

.match-btn{
  display:inline-block;
  position:relative;
  font-family:Arial,Helvetica,sans-serif;
  font-size:15px;
  font-weight:bold;
  letter-spacing:1px;
  padding:14px 28px 17px;
  background-color:var(--ember);
  color:#fff3ea;
  border-radius:4px 4px 6px 6px;
  border:1px solid #9a3f3c;
  cursor:pointer;
}

.match-btn::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background-color:var(--gold);
  border-radius:0 0 6px 6px;
}

.match-btn--gold{
  background-color:var(--gold);
  border-color:#B78F36;
  color:var(--deep);
}

.match-btn--gold::after{
  background-color:var(--ember);
}

.match-btn--ghost{
  background-color:transparent;
  border-color:var(--hair);
  color:var(--gold);
}

.match-btn--ghost::after{
  background-color:var(--ember);
}

/* ---------------------------------------------------------
   LAUNCH RACKS
   --------------------------------------------------------- */
.launchzone{
  padding:84px 0;
  background-color:var(--night);
}

.zone-head{
  max-width:760px;
}

.zone-title{
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  letter-spacing:4px;
  color:var(--ember);
  text-transform:uppercase;
  margin-bottom:14px;
}

.zone-h2{
  font-size:38px;
  line-height:1.2;
  color:var(--text);
}

.zone-h2 .accent-gold{
  color:var(--gold);
}

.zone-sub{
  margin-top:16px;
  color:var(--text);
  max-width:700px;
}

.zone-sub a{
  color:var(--gold);

}

.flight-links a{
  color:var(--gold);
  border-bottom:1px solid var(--hair);
}

.launchracks{
  position:relative;
  margin-top:60px;
}

.rack{
  position:relative;
  display:block;
}

.rack-a{
  margin-bottom:70px;
}

.rack-b{
  width:88%;
  margin-left:auto;
  transform:translateY(-34px);
}

.rack-headline{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:26px;
}

.rack-headline .rk-pin{
  width:12px;
  height:12px;
  background-color:var(--ember);
  transform:rotate(45deg);
}

.rack-headline h3{
  font-family:Arial,Helvetica,sans-serif;
  font-size:15px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--text);
}

.slots{
  display:flex;
  flex-direction:column;
  gap:46px;
  position:relative;
}

.slot{
  display:grid;
  grid-template-columns:118px 1fr;
  gap:34px;
  align-items:center;
}

.rack-a .slot:nth-child(even){
  margin-left:17%;
}

@media (min-width:861px){
  .rack-b .slot{margin-left:22%;}
  .rack-b .slot:nth-child(even){margin-left:0;}
  .rack-b .slot:nth-child(odd){margin-left:14%;}
}

.tube{
  position:relative;
  width:88px;
  height:210px;
  background-color:var(--panel);
  border:2px solid var(--hair);
  border-radius:34px 34px 12px 12px;
  box-shadow:inset 0 0 0 1px var(--deep),8px 14px 0 -10px #0b0f1f;
  justify-self:start;
}

.tube.small{
  height:170px;
}

.tube .tube-tip{
  position:absolute;
  top:-16px;
  left:50%;
  margin-left:5px;
  width:18px;
  height:18px;
  background-color:var(--gold);
  border-radius:2px;
  transform:rotate(45deg);
}

.tube .tube-fuse{
  content:"";
  position:absolute;
  top:-22px;
  right:-30px;
  width:42px;
  height:3px;
  background-color:#CBB980;
  border-radius:2px;
}

.tube .tube-fuse::after{
  content:"";
  position:absolute;
  right:-4px;
  top:-2px;
  width:7px;
  height:7px;
  border-radius:50%;
  background-color:var(--ember);
}

.tube .tube-strip{
  content:"";
  position:absolute;
  top:26px;
  left:17px;
  width:4px;
  height:150px;
  background-color:#c7a358;
}

.tube .tube-label{
  position:absolute;
  left:-7px;
  right:-7px;
  top:78px;
  height:54px;
  background-color:#B78F36;
  border:1px solid #9a7930;
  border-radius:2px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-family:Arial,Helvetica,sans-serif;
  font-size:9px;
  letter-spacing:.5px;
  line-height:1.25;
  color:var(--deep);
  padding:6px;
}

.tube.t-accent{
  background-color:#3A4866;
  border-color:var(--ember);
}

.tube.t-accent .tube-tip{
  background-color:var(--ember);
}

.tube.t-accent .tube-label{
  background-color:var(--ember);
  border-color:#8f3b38;
  color:#fff2ea;
}

.tube.stub{
  height:120px;
  width:64px;
}

.slot-copy{
  display:flex;
  flex-direction:column;
}

.slot-copy h4{
  font-family:Arial,Helvetica,sans-serif;
  font-size:20px;
  color:var(--gold);
  margin-bottom:10px;
}

.slot-copy .slot-index{
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  letter-spacing:2px;
  color:var(--ember);
  text-transform:uppercase;
  margin-bottom:6px;
}

.slot-copy p{
  color:var(--text);
  font-size:15px;
  line-height:1.85;
  max-width:640px;
}

.slot-copy .flight-link{
  display:inline-block;
  margin-top:12px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  letter-spacing:1px;
  color:var(--gold);
  border-bottom:1px solid var(--gold);
  padding-bottom:2px;
}

.rack-b .slot{
  grid-template-columns:1fr 118px;
}

.rack-b .slot .tube{
  grid-column:2;
  grid-row:1;
  justify-self:end;
}

.rack-b .slot .slot-copy{
  grid-column:1;
  grid-row:1;
}

.scatter{
  display:flex;
  gap:6px;
  margin-top:6px;
}

.scatter i{
  width:5px;
  height:5px;
  border-radius:50%;
  background-color:var(--ember);
  display:block;
}

.scatter i.sg{
  background-color:var(--gold);
}

/* ---------------------------------------------------------
   GRAND FINALE STRIP
   --------------------------------------------------------- */
.grandfinale{
  background-color:var(--ember);
  padding:48px 0;
}

.gf-inner{
  max-width:1160px;
  margin:0 auto;
  padding:0 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  flex-wrap:wrap;
}

.gf-label{
  font-family:Arial,Helvetica,sans-serif;
  text-transform:uppercase;
  letter-spacing:4px;
  font-size:13px;
  color:#FFD9A0;
}

.gf-head{
  font-size:32px;
  line-height:1.18;
  color:#FFF6EA;
  font-weight:bold;
}

.gf-head .gf-note{
  display:block;
  font-size:16px;
  font-weight:normal;
  margin-top:8px;
  color:#FFE0BC;
  max-width:700px;
  line-height:1.6;
}

.gf-cta{
  background-color:var(--deep);
  color:var(--gold);
  font-family:Arial,Helvetica,sans-serif;
  font-weight:bold;
  letter-spacing:1px;
  padding:14px 26px;
  border-radius:4px;
  display:inline-block;
}

/* ---------------------------------------------------------
   EMBER GROUND FOOTER
   --------------------------------------------------------- */
.emberground{
  background-color:var(--deep);
  border-top:1px solid var(--hair);
}

.ember-band{
  height:24px;
  position:relative;
}

.ember-band .ember-em{
  position:absolute;
  width:4px;
  height:4px;
  border-radius:50%;
  background-color:var(--ember);
  box-shadow:0 0 7px var(--ember);
}

.eb1{left:5%;top:16px;}
.eb2{left:12%;top:6px;background-color:var(--gold);box-shadow:none;}
.eb3{left:20%;top:14px;}
.eb4{left:29%;top:4px;}
.eb5{left:37%;top:16px;background-color:var(--gold);box-shadow:none;}
.eb6{left:45%;top:8px;}
.eb7{left:54%;top:18px;}
.eb8{left:62%;top:6px;background-color:var(--gold);box-shadow:none;}
.eb9{left:71%;top:14px;}
.eb10{left:80%;top:4px;}
.eb11{left:88%;top:16px;}
.eb12{left:95%;top:8px;background-color:var(--gold);box-shadow:none;}

.emberground-body{
  max-width:1160px;
  margin:0 auto;
  padding:40px 24px 10px;
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:44px;
}

.foot-brand{
  color:var(--gold);
  font-family:Arial,Helvetica,sans-serif;
  font-weight:bold;
  font-size:20px;
  letter-spacing:3px;
}

.foot-blurb{
  margin-top:14px;
  color:var(--text);
  font-size:14px;
  line-height:1.8;
  max-width:430px;
}

.foot-col h4{
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--ember);
  margin-bottom:16px;
}

.foot-col a{
  display:block;
  margin-bottom:12px;
  color:var(--text);
  font-size:15px;
}

.foot-col a:hover{
  color:var(--gold);
}

.groundline{
  border-top:1px solid var(--hair);
  max-width:1160px;
  margin:26px auto 0;
  padding:18px 24px 26px;
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  justify-content:space-between;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  color:#93a0c0;
  line-height:1.8;
}

.groundline .ground-info{
  flex:1 1 300px;
}

.groundline a{
  color:#c6cfe4;
  text-decoration:underline;
}

.groundline a:hover{
  color:var(--gold);
}

/* ---------------------------------------------------------
   PAGE / SERVICES / CONTACT derived sections
   --------------------------------------------------------- */
.page-title-band{
  background-color:var(--deep);
  padding:60px 0 34px;
  position:relative;
}

.page-h1{
  font-size:46px;
  line-height:1.15;
  color:var(--text);
}

.page-h1 .hl-gold{
  color:var(--gold);
}

.page-lede{
  margin-top:18px;
  color:var(--text);
  max-width:760px;
}

.services-main{
  background-color:var(--night);
  padding:0 0 84px;
}

.svc-intro{
  padding:66px 0 20px;
}

.device-belt{
  max-width:1160px;
  margin:0 auto;
  padding:40px 24px;
}

.detail-cols{
  grid-column:1 / -1;
}

.detail-cols .cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:34px;
  margin-top:10px;
}

.detail-cols li{
  margin-left:20px;
  color:var(--text);
  margin-bottom:12px;
}

.process-block{
  background-color:var(--panel);
  border-top:1px solid var(--hair);
  border-bottom:1px solid var(--hair);
  padding:64px 0;
}

.process-cols{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:26px;
  margin-top:40px;
}

.fourstep{
  border-left:3px solid var(--ember);
  padding-left:20px;
  min-height:150px;
}

.fourstep .stepno{
  font-family:Arial,Helvetica,sans-serif;
  font-size:34px;
  font-weight:bold;
  color:var(--gold);
  line-height:1;
}

.fourstep h4{
  margin-top:12px;
  color:var(--text);
  font-size:19px;
}

.fourstep p{
  margin-top:10px;
  color:var(--text);
  font-size:14px;
  line-height:1.7;
}

.service-detail{
  max-width:1160px;
  margin:0 auto;
  padding:70px 24px 20px;
}

.svc-divider{
  height:1px;
  background-color:var(--hair);
  margin:60px 0 0;
  max-width:1160px;
  margin-left:auto;
  margin-right:auto;
}

.svc-chunk{
  display:grid;
  grid-template-columns:210px 1fr;
  gap:44px;
  margin-bottom:46px;
  align-items:start;
}

.svc-chunk.rev{
  grid-template-columns:1fr 230px;
}

.svc-nummer{
  font-family:Arial,Helvetica,sans-serif;
  font-size:15px;
  letter-spacing:3px;
  color:var(--ember);
  text-transform:uppercase;
  margin-bottom:14px;
}

.svc-chunk h3{
  font-size:30px;
  color:var(--gold);
  margin-bottom:18px;
  line-height:1.2;
}

.svc-chunk h3 span{
  color:var(--text);
}

.svc-chunk p{
  color:var(--text);
  margin-bottom:18px;
  max-width:760px;
  font-size:16px;
  line-height:1.85;
}

.svc-chunk ul{
  margin:10px 0 0 22px;
}

.svc-chunk li{
  color:var(--text);
  margin-bottom:12px;
  line-height:1.7;
}

.svc-sidepanel{
  background-color:var(--panel);
  border-left:4px solid var(--ember);
  padding:26px;
  border-radius:0 8px 8px 0;
  min-height:120px;
}

.svc-sidepanel h5{
  font-family:Arial,Helvetica,sans-serif;
  color:var(--ember);
  font-size:13px;
  letter-spacing:2px;
  text-transform:uppercase;
  margin-bottom:14px;
}

.svc-sidepanel p{
  font-size:15px;
  color:var(--text);
}

.svc-sidepanel b{
  color:var(--gold);
}

.container-width{
  max-width:1160px;
  margin:0 auto;
  padding:0 24px;
}

/* ---------------------------------------------------------
   CONTACT
   --------------------------------------------------------- */
.contact-grid{
  padding:56px 0 80px;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:48px;
  align-items:start;
}

.contact-form-wrap{
  background-color:var(--panel);
  border-radius:0 10px 10px 0;
  border-left:5px solid var(--ember);
  padding:36px;
}

.block-note{
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  letter-spacing:2px;
  color:var(--ember);
  text-transform:uppercase;
  margin-bottom:24px;
}

.field{
  margin-bottom:20px;
}

.field label{
  display:block;
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:8px;
}

.field input,
.field textarea{
  width:100%;
  padding:13px 14px;
  background-color:var(--deep);
  border:1px solid var(--hair);
  border-radius:4px;
  color:var(--text);
  font-size:16px;
  font-family:Arial,Helvetica,sans-serif;
}

.field textarea{
  min-height:150px;
  resize:vertical;
}

.field input:focus,
.field textarea:focus{
  outline:none;
  border-color:var(--gold);
}

.field-hint{
  font-size:13px;
  color:#93a0c0;
  margin-top:6px;
}

.form-status{
  display:inline-block;
  margin-top:14px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:14px;
  color:#d8e07a;
}

.contact-info-block{
  margin-top:6px;
}

.contact-info-block > p{
  color:var(--text);
  margin-bottom:22px;
  line-height:1.8;
}

.side-group{
  margin-bottom:34px;
}

.side-group h4{
  font-family:Arial,Helvetica,sans-serif;
  font-size:13px;
  letter-spacing:2px;
  color:var(--ember);
  text-transform:uppercase;
  margin-bottom:16px;
}

.info-line{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin-bottom:14px;
  padding-bottom:12px;
  border-bottom:1px solid var(--hair);
}

.info-line .info-ic{
  flex:0 0 40px;
  height:40px;
  border:1px solid var(--hair);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold);
  font-size:13px;
  font-weight:bold;
  background-color:var(--deep);
  font-family:Arial,Helvetica,sans-serif;
}

.info-line .info-tx b{
  color:var(--gold);
  display:block;
  font-family:Arial,Helvetica,sans-serif;
  font-size:14px;
  margin-bottom:3px;
}

.info-line .info-tx a,
.info-line .info-tx span{
  color:var(--text);
  font-size:15px;
  line-height:1.6;
}

.info-line .info-tx a:hover{
  color:var(--gold);
}

.biz-hours{
  margin-top:8px;
}

.hours-row{
  display:flex;
  justify-content:space-between;
  border-bottom:1px solid var(--hair);
  padding:8px 0;
  font-family:Arial,Helvetica,sans-serif;
  font-size:14px;
}

.hours-row .h-day{
  color:var(--text);
}

.hours-row .h-time{
  color:var(--gold);
}

.ditto{
  margin:6px 0 0 0;
}

.faq-list{
  margin-top:6px;
}

.faq-item{
  border:1px solid var(--hair);
  border-radius:6px;
  margin-bottom:14px;
  background-color:var(--panel);
  overflow:hidden;
}

.faq-item summary{
  cursor:pointer;
  padding:16px 18px;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:bold;
  color:var(--gold);
  list-style:none;
  line-height:1.5;
}

.faq-item summary::-webkit-details-marker{
  display:none;
}

.faq-item summary::before{
  content:"+ ";
  color:var(--ember);
  font-weight:bold;
}

.faq-item[open] summary::before{
  content:"- ";
}

.faq-item .faq-body{
  padding:0 20px 20px 42px;
  color:var(--text);
  line-height:1.8;
}

/* scroll reveal is visible by default; JS adds .anime-on to hide then reveal */
.fade-up{
  opacity:1;
  transform:none;
}

@supports (transform-style: preserve-3d){
  .anime-on .fade-up{
    opacity:0;
    transform:translateY(26px);
    transition:opacity .7s ease,transform .7s ease;
  }
}

.anime-on .fade-up.visible{
  opacity:1;
  transform:none;
}

@media (max-width:1024px){
  .rack-b{
    width:100%;
    transform:none;
  }
  .rack-b .slot:nth-child(even),
  .slot:nth-child(even){
    margin-left:6%;
  }
  .svc-chunk,
  .svc-chunk.rev{
    grid-template-columns:1fr;
  }
  .emberground-body{
    grid-template-columns:1fr 1fr;
    gap:30px;
  }
}

@media (max-width:900px){
  .fuse-wire{
    width:100%;
    flex-direction:column;
    align-items:stretch;
  }
  .nav-toggle{
    display:inline-block;
    align-self:flex-end;
    margin-bottom:10px;
  }
  .fuse-wire .nav-links{
    display:none;
    flex-direction:column;
    align-items:stretch;
    width:100%;
    gap:10px;
  }
  .fuse-wire.nav-open .nav-links{
    display:flex;
  }
  .fuse-wire.nav-open .nav-links a{
    width:100%;
    justify-content:center;
  }

  .headline{
    font-size:42px;
  }
  .contact-grid{
    grid-template-columns:1fr;
  }
  .process-cols{
    grid-template-columns:1fr 1fr;
  }
  .detail-cols .cols{
    grid-template-columns:1fr;
  }
  .emberground-body{
    grid-template-columns:1fr 1fr;
  }
  .slots{
    gap:36px;
  }
  .slot{
    grid-template-columns:78px 1fr;
    gap:22px;
  }
  .tube{
    width:70px;
    height:180px;
  }
  .rack-b .slot{
    grid-template-columns:1fr 70px;
    gap:22px;
  }
}

@media (max-width:560px){
  .headline{
    font-size:32px;
  }
  .emberground-body{
    grid-template-columns:1fr;
  }
  .process-cols{
    grid-template-columns:1fr;
  }
  .firework-gold{
    right:20px;
  }
  .fuse-wire{
    padding-right:18px;
  }
  .groundline{
    flex-direction:column;
  }
}
