/* ===== Hero ===== */
#hero{position:relative;min-height:100svh;background:var(--navy);color:#fff;overflow:hidden;display:flex;align-items:center}
.hbg{position:absolute;inset:-5% 0;will-change:transform;z-index:0}
.hbg div{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(9,26,46,.88) 0%,rgba(9,26,46,.66) 40%,rgba(9,26,46,.18) 80%),
  linear-gradient(180deg,rgba(9,26,46,.55) 0%,rgba(9,26,46,0) 28%,rgba(9,26,46,.25) 100%),
  url(../assets/images/hero-blue-hour.webp) center 56%/cover;
  animation:kb 20s cubic-bezier(.2,.6,.2,1) forwards;will-change:transform}
@keyframes kb{from{transform:scale(1.14)}to{transform:scale(1)}}
#hero .w{position:relative;z-index:3;padding-top:96px;padding-bottom:180px}
.hg{display:grid;grid-template-columns:1.35fr .8fr;gap:40px;align-items:center}
#hero h1{font-size:clamp(46px,7.4vw,112px);line-height:.94;font-weight:800;text-shadow:0 4px 40px rgba(9,26,46,.35)}
.ln{display:block;overflow:hidden;padding:.04em 0 .14em}
.ln i{display:block;font-style:normal;transform:translateY(118%);animation:up 1.2s cubic-bezier(.16,.84,.24,1) .15s forwards}
.ln:nth-child(2) i{animation-delay:.3s}
#hero em{font:italic 500 1.02em 'Fraunces',Georgia,serif;letter-spacing:0;background:linear-gradient(120deg,#C8A97E,#F0E2C2);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.1em}
@keyframes up{to{transform:none}}
#hero .tag{display:inline-block;font:700 13px var(--bd);letter-spacing:.14em;text-transform:uppercase;color:#E3CFA6;margin-bottom:22px}
#hero .hp{max-width:520px;font-size:20px;color:#EEF2F7;margin:24px 0 34px;text-shadow:0 2px 20px rgba(9,26,46,.4)}
.hb{display:flex;gap:14px;flex-wrap:wrap}
.hl .tag,.hl .hp,.hb{opacity:0;transform:translateY(20px);animation:fi 1s cubic-bezier(.2,.8,.2,1) forwards}
.hl .tag{animation-delay:.1s}.hl .hp{animation-delay:.7s}.hb{animation-delay:.9s}
@keyframes fi{to{opacity:1;transform:none}}

/* glass stat chips */
.hr{position:relative;height:480px}
.gl{position:absolute;max-width:240px;padding:20px 24px;border-radius:26px;background:rgba(15,42,68,.46);border:1px solid rgba(255,255,255,.26);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);box-shadow:0 24px 60px rgba(5,15,28,.35);
  opacity:0;animation:chip 1s cubic-bezier(.2,.8,.2,1) var(--d,1s) forwards,bob 7s ease-in-out calc(var(--d,1s) + 1s) infinite}
.gl b{display:block;font:800 clamp(36px,4vw,54px)/1 var(--hd);background:linear-gradient(120deg,#D9BF94,#F0E2C2);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.gl span{display:block;margin-top:6px;font-size:14.5px;line-height:1.4;color:#EEF2F7}
.g1{top:2%;right:0;--d:1.0s}.g2{top:37%;left:0;--d:1.25s}.g3{bottom:2%;right:0;--d:1.5s}
@keyframes chip{from{opacity:0;transform:translateY(36px) scale(.96)}to{opacity:1;transform:none}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* rotating badge with logo */
.badge{position:absolute;left:6%;bottom:-6%;width:118px;height:118px;border-radius:50%;background:rgba(250,247,242,.96);display:grid;place-items:center;box-shadow:0 18px 44px rgba(5,15,28,.35);opacity:0;animation:chip 1s cubic-bezier(.2,.8,.2,1) 1.75s forwards}
.badge .spin{position:absolute;inset:0;width:100%;height:100%;animation:rot 28s linear infinite}
.badge .spin text{fill:#0F2A44;font:700 12.5px var(--bd);letter-spacing:.04em}
.badge .mk{width:44px;height:44px;--mk-bg:#0F2A44;--mk-w:#FAF7F2}
@keyframes rot{to{transform:rotate(360deg)}}

/* waves */
.wv{position:absolute;left:0;bottom:-2px;width:200%;height:190px;z-index:2;animation:fl 22s linear infinite;will-change:transform}
.wv.b{height:150px;animation-duration:34s;animation-direction:reverse;z-index:4}
.wv.wc{height:110px;animation-duration:16s;z-index:5}
@keyframes fl{to{transform:translate3d(-50%,0,0)}}
.fw{fill:#C8A97E}

@media(max-width:900px){.hg{grid-template-columns:1fr;gap:30px}.hr{height:330px}.gl{padding:14px 18px;max-width:210px}.g2{top:34%}.badge{width:92px;height:92px;bottom:-4%}.badge .mk{width:34px;height:34px}.badge .spin text{font-size:13px}}
@media(prefers-reduced-motion:reduce){.hbg div,.ln i,.hl .tag,.hl .hp,.hb,.gl,.badge{animation:none;transform:none;opacity:1}.badge .spin,.wv{animation:none}}

/* tighten headline + keep badge clear of chips */
.ln{padding:.02em 0 .1em;line-height:.92}
#hero em{line-height:.8;display:inline-block;vertical-align:baseline}
.badge{left:-2%;bottom:-9%}
@media(max-width:900px){.badge{left:2%;bottom:-6%}}
@media(max-width:900px){.hbg div{background:linear-gradient(180deg,rgba(9,26,46,.8),rgba(9,26,46,.58) 55%,rgba(9,26,46,.72)),url(../assets/images/hero-blue-hour.webp) center 56%/cover}}
@media(max-width:620px){
  #hero{min-height:100svh;align-items:flex-start}
  .hbg{inset:0}
  .hbg div{
    background:
      linear-gradient(180deg,rgba(7,20,36,.88) 0%,rgba(7,20,36,.68) 42%,rgba(7,20,36,.54) 100%),
      linear-gradient(90deg,rgba(7,20,36,.8) 0%,rgba(7,20,36,.38) 58%,rgba(7,20,36,.18) 100%),
      url(../assets/images/hero-blue-hour.webp) 72% 50%/cover;
  }
  #hero .w{padding-top:118px;padding-bottom:110px}
  .hg{gap:18px}
  #hero h1{font-size:clamp(40px,13vw,56px);line-height:.96;max-width:8.5ch}
  #hero .tag{font-size:11px;line-height:1.45;letter-spacing:.1em;max-width:280px;margin-bottom:16px}
  #hero .hp{font-size:16.5px;line-height:1.55;max-width:310px;margin:18px 0 24px}
  .hb{gap:10px}
  .hb .btn{padding:12px 18px;font-size:14px}
  .hr{height:110px}
  .wv{height:120px}.wv.b{height:100px}.wv.wc{height:80px}
}
