/* ── HERO ── */
.hero-section{
  position:relative;height:100vh;min-height:640px;max-height:900px;
  display:grid;grid-template-columns:1fr 400px;overflow:hidden;
  background:var(--white);
}
/* Persistent depth grid behind hero */
.hero-section::before{
  content:'';position:absolute;inset:0;z-index:0;
  background-image:linear-gradient(rgba(60,202,216,0.06) 1px,transparent 1px),linear-gradient(90deg,rgba(60,202,216,0.06) 1px,transparent 1px);
  background-size:56px 56px;
  perspective:900px;
  transform:perspective(900px) rotateX(72deg);
  transform-origin:50% 100%;
  top:20%;
}
.hero-bg{position:absolute;inset:0;z-index:0;}
.hero-image{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:brightness(0.22) saturate(0.6);}

.hero-content{
  position:relative;z-index:2;display:flex;flex-direction:column;
  justify-content:flex-end;padding:0 0 72px 72px;grid-column:1;
  will-change:transform;
}
.hero-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:24px;}
.hero-eyebrow-line{
  width:32px;height:2px;background:var(--cyan);flex-shrink:0;
  position:relative;overflow:hidden;
}
.hero-eyebrow-line::after{
  content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:rgba(255,255,255,0.8);
  animation:eyebrowScan 4s ease-in-out infinite 2s;
}
@keyframes eyebrowScan{0%{left:-100%;}100%{left:100%;}}
.hero-eyebrow span{font-family:'Outfit',sans-serif;font-size:10px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--cyan);}

.hero-title{
  font-family:'Outfit',sans-serif;
  color:var(--black);font-size:clamp(40px,5.2vw,72px);
  font-weight:800;line-height:1.0;letter-spacing:-1.5px;
  margin-bottom:28px;max-width:620px;
  will-change:transform;
}
.hero-title em{font-style:normal;color:var(--cyan);}
.hero-title .hl{position:relative;display:inline;}
.hero-title .hl::after{
  content:'';position:absolute;bottom:5px;left:0;right:0;height:10px;
  background:var(--cyan-lt);z-index:-1;
  transform:scaleX(0);transform-origin:left;
  animation:hlGrow 0.9s cubic-bezier(.16,1,.3,1) forwards 1.2s;
}
@keyframes hlGrow{to{transform:scaleX(1);}}

.hero-subtitle{font-size:15px;color:var(--gray);font-weight:300;max-width:480px;line-height:1.75;margin-bottom:40px;}
.hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}

/* Top cyan stripe — logo S-block motif */
.hero-stripe-top{position:absolute;top:0;right:0;width:400px;height:4px;background:var(--cyan);z-index:5;}
.hero-stripe-top::after{
  content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.8),transparent);
  animation:stripeShimmer 3.5s ease-in-out infinite 1s;
}
@keyframes stripeShimmer{0%{left:-50%;}100%{left:150%;}}

/* ── HERO PANEL ── */
.hero-panel{
  position:relative;z-index:2;grid-column:2;
  background:rgba(9,10,11,0.97);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-left:none;display:flex;flex-direction:column;
  justify-content:flex-end;padding:48px 40px;gap:0;
  will-change:transform;
}
.hero-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--cyan);}
.hero-panel::after{
  content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(60,202,216,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(60,202,216,0.04) 1px,transparent 1px);
  background-size:32px 32px;pointer-events:none;
}
.hero-panel-title{font-family:'Outfit',sans-serif;font-size:9px;font-weight:700;letter-spacing:0.24em;text-transform:uppercase;color:rgba(255,255,255,0.22);margin-bottom:28px;position:relative;z-index:1;}
.hero-stat{padding:20px 0;border-top:1px solid rgba(255,255,255,0.07);position:relative;z-index:1;overflow:hidden;}
.hero-stat:last-child{border-bottom:1px solid rgba(255,255,255,0.07);}
.hero-stat::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(60,202,216,0.08),transparent);transform:translateX(-101%);transition:transform 0.45s ease;}
.hero-stat:hover::before{transform:translateX(0);}
.hero-stat-number{font-family:'Outfit',sans-serif;font-size:34px;font-weight:800;color:var(--white);line-height:1;margin-bottom:4px;}
.hero-stat-number span{font-size:14px;color:var(--cyan);margin-left:2px;}
.hero-stat-label{font-size:10px;color:rgba(255,255,255,0.3);letter-spacing:0.04em;line-height:1.5;}

/* ── SCROLL INDICATOR ── */
.hero-scroll{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0.4;animation:scrollBounce 2.4s ease-in-out infinite;}
.hero-scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,transparent,var(--cyan));}
.hero-scroll span{font-family:'Outfit',sans-serif;font-size:9px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--cyan);}
@keyframes scrollBounce{0%,100%{opacity:0.4;transform:translateX(-50%) translateY(0);}50%{opacity:0.8;transform:translateX(-50%) translateY(6px);}}

@media(max-width:900px){
  .hero-section{grid-template-columns:1fr;max-height:none;height:auto;min-height:100svh;}
  .hero-content{padding:120px 28px 48px;}
  .hero-panel{grid-column:1;flex-direction:row;flex-wrap:wrap;padding:28px;gap:0;border-left:none;border-top:1px solid rgba(255,255,255,0.07);background:rgba(9,10,11,0.95);}
  .hero-panel-title{width:100%;}
  .hero-stat{flex:1 1 40%;border-top:none;border-right:1px solid rgba(255,255,255,0.07);padding:14px 20px 14px 0;}
  .hero-stat:last-child{border-bottom:none;border-right:none;}
  .hero-scroll{display:none;}
  .hero-stripe-top{width:100%;}
}
