
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:#07080c;
  color:#e8e0d0;
  font-family:'Inter',sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

:root{
  --gold:#D4A843;
  --gold-dim:rgba(212,168,67,0.45);
  --gold-line:rgba(212,168,67,0.13);
  --text-mute:rgba(220,210,195,0.5);
  --text-body:rgba(220,210,195,0.72);
}

/* ── reveal ── */
.rv{opacity:0;transform:translateY(18px);transition:opacity .75s ease,transform .75s cubic-bezier(.23,1,.32,1);}
.rv.on{opacity:1;transform:none;}
.d1{transition-delay:.07s;}.d2{transition-delay:.14s;}.d3{transition-delay:.21s;}
.d4{transition-delay:.28s;}.d5{transition-delay:.35s;}.d6{transition-delay:.42s;}

/* ══════════════════════════════════
   HERO  —  compact 56vh
══════════════════════════════════ */
.hero{
  position:relative;
  height:56vh;
  min-height:400px;
  max-height:580px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}
.hero-photo{
  position:absolute;inset:0;
  background:url("/assets/vendor/f9cac64ee6f4bbfa.bin") center 35%/cover no-repeat;
  filter:grayscale(30%) brightness(0.22);
  transform:scale(1.04);
  animation:hzoom 14s ease forwards;
}
@keyframes hzoom{to{transform:scale(1);}}
.hero-over{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(7,8,12,.1) 0%,rgba(7,8,12,.55) 50%,#07080c 100%),
    linear-gradient(90deg,rgba(7,8,12,.8) 0%,transparent 60%);
}
.hero-rule{position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(212,168,67,.38),transparent);}
.hero-body{
  position:relative;z-index:2;
  width:100%;max-width:1300px;margin:0 auto;
  padding:0 7% 56px;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:10px;font-weight:700;letter-spacing:5px;text-transform:uppercase;
  color:var(--gold);margin-bottom:18px;
}
.eyebrow::before{content:'';width:26px;height:1px;background:var(--gold-dim);}
.hero-h{
  font-family:'Orbitron',sans-serif;
  font-size:clamp(22px,3.2vw,42px);
  font-weight:700;color:#fff;
  letter-spacing:-1px;line-height:1.1;
  margin-bottom:14px;
  text-shadow:0 0 80px rgba(212,168,67,.1);
}
.hero-h em{font-style:normal;color:var(--gold);}
.hero-p{
  font-size:15px;color:var(--text-mute);
  line-height:1.72;max-width:460px;font-weight:300;
}

/* ══════════════════════════════════
   INDUSTRY GRID  —  3 × 2
══════════════════════════════════ */
.industries{
  padding:56px 7% 64px;
  background:#07080c;
}

.ind-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-template-rows:repeat(2,380px);
  gap:14px;
}

/* card */
.card{
  position:relative;
  overflow:hidden;
  border-radius:5px;
  background:#0a0c10;
  cursor:default;
  /* resting border */
  box-shadow:inset 0 0 0 1px rgba(212,168,67,0.1);
  transition:transform .45s cubic-bezier(.23,1,.32,1),
             box-shadow .45s ease;
}
.card:hover{
  transform:translateY(-5px);
  box-shadow:
    inset 0 0 0 1px rgba(212,168,67,0.28),
    0 24px 56px rgba(0,0,0,.55),
    0 0 36px rgba(212,168,67,.06);
}

/* photo */
.card-photo{
  position:absolute;inset:0;
  background-size:cover;
  background-position:center;
  filter:grayscale(15%) brightness(0.52);
  transform:scale(1.04);
  transition:transform .65s cubic-bezier(.23,1,.32,1),
             filter .5s ease;
}
.card:hover .card-photo{
  transform:scale(1);
  filter:grayscale(8%) brightness(0.6);
}

/* gradient overlay — strong bottom */
.card-over{
  position:absolute;inset:0;
  background:linear-gradient(
    180deg,
    rgba(7,8,12,.04) 0%,
    rgba(7,8,12,.28) 40%,
    rgba(7,8,12,.84) 72%,
    rgba(7,8,12,.97) 100%
  );
}

/* gold top accent line */
.card::before{
  content:'';
  position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,rgba(212,168,67,0),transparent);
  z-index:3;pointer-events:none;
  transition:background .4s;
}
.card:hover::before{
  background:linear-gradient(90deg,transparent,rgba(212,168,67,.5),transparent);
}

/* text */
.card-text{
  position:absolute;
  bottom:0;left:0;right:0;
  padding:28px 30px 30px;
  z-index:2;
}
.card-name{
  font-family:'Orbitron',sans-serif;
  font-size:clamp(16px,1.5vw,22px);
  font-weight:700;
  color:#fff;
  letter-spacing:-.2px;
  line-height:1.2;
  margin-bottom:10px;
  text-shadow:0 2px 12px rgba(0,0,0,.6);
}
.card-desc{
  font-size:clamp(13px,1.1vw,15px);
  color:rgba(220,210,195,.62);
  line-height:1.65;
  font-weight:300;
  max-width:340px;
  text-shadow:0 1px 8px rgba(0,0,0,.5);
}

/* ══════════════════════════════════
   CLOSING STATEMENT
══════════════════════════════════ */
.closing{
  padding:80px 7% 96px;
  background:#07080c;
  position:relative;
}
.closing::before{
  content:'';position:absolute;top:0;left:7%;right:7%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(212,168,67,.15),transparent);
}
.closing-inner{
  max-width:760px;
  margin:0 auto;
  text-align:center;
}
.closing-kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-size:10px;font-weight:700;letter-spacing:5px;text-transform:uppercase;
  color:var(--gold-dim);margin-bottom:24px;
}
.closing-kicker::before,.closing-kicker::after{content:'';width:24px;height:1px;background:var(--gold-dim);}
.closing-h{
  font-family:'Orbitron',sans-serif;
  font-size:clamp(20px,2.6vw,32px);
  font-weight:700;color:#fff;
  letter-spacing:-.5px;line-height:1.2;
  margin-bottom:22px;
}
.closing-h em{font-style:normal;color:var(--gold);}
.closing-p{
  font-size:16px;
  color:var(--text-mute);
  line-height:1.9;
  font-weight:300;
  letter-spacing:.1px;
}

/* ══════════════════════════════════
   RESPONSIVE
══════════════════════════════════ */
@media(max-width:1024px){
  .ind-grid{
    grid-template-columns:repeat(2,1fr);
    grid-template-rows:repeat(3,340px);
  }
}
@media(max-width:640px){
  .hero{height:52vh;min-height:360px;}
  .hero-body,.industries,.closing{padding-left:5%;padding-right:5%;}
  .ind-grid{
    grid-template-columns:1fr;
    grid-template-rows:repeat(6,300px);
    gap:12px;
  }
  .card-name{font-size:18px;}
  .card-desc{font-size:14px;}
  .closing{padding:64px 5% 80px;}
}
@media(prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none;}
  .hero-photo,.card-photo,.card{animation:none !important;transition:none !important;}
}
