/* ===== Hero v3 — heavy italic serif headline, 3D shapes, curved project carousel ===== */
.hero-v3{padding-top:170px;background:#000}
.hero-v3 .hero-center{position:relative}
.serif-hero{position:relative;font-family:"Fraunces",Georgia,serif;font-style:italic;font-weight:900;font-variation-settings:"opsz" 144,"SOFT" 0,"WONK" 1;
  font-size:clamp(46px,8.2vw,124px);line-height:1.02;letter-spacing:-.01em;color:#fff;max-width:1200px}
.serif-hero .line{padding-bottom:.08em}
.serif-hero .line>span{animation-duration:1.2s}
.shape3d{position:absolute;pointer-events:none;filter:drop-shadow(0 18px 30px rgba(0,0,0,.6));will-change:transform}
.star3d{width:clamp(80px,11vw,160px);left:-4%;top:-26%;transform:rotate(-12deg);animation:starFloat 7s ease-in-out infinite}
.ast3d{width:clamp(80px,11vw,165px);right:-6%;bottom:-24%;animation:astSpin 18s linear infinite}
@keyframes starFloat{50%{transform:rotate(-4deg) translateY(-12px)}}
@keyframes astSpin{to{transform:rotate(360deg)}}
.h-dot{position:absolute;left:-7%;top:2%;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 0 20px rgba(255,255,255,.4)}
.hero-v3 .hero-sub{max-width:760px;margin-top:44px;color:#8d8d8d;font-size:clamp(15px,1.25vw,18px);line-height:1.6}
.hero-v3 .hero-sub b{color:#e6e6e6;font-weight:600}
.hero-v3 .hero-ctas{margin-top:34px}
.pill-btn{display:inline-flex;align-items:center;gap:18px;padding:8px 8px 8px 26px;border-radius:999px;background:#5c5c5c;color:#fff;font-weight:600;font-size:16px;
  transition:background .3s}
.pill-btn:hover{background:#6e6e6e}
.pill-arr{width:40px;height:40px;border-radius:50%;background:#fff;color:#0a0a0a;display:grid;place-items:center;font-size:20px;transition:transform .4s var(--ease)}
.pill-btn:hover .pill-arr{transform:rotate(-45deg)}

/* curved carousel */
.arc{position:relative;margin-top:90px;height:clamp(300px,30vw,420px);overflow:hidden;perspective:1400px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.arc-track{position:absolute;left:0;top:20px;display:flex;gap:28px;transform-style:preserve-3d;will-change:transform}
.arc-card{position:relative;flex:none;width:clamp(260px,26vw,380px);aspect-ratio:380/280;border-radius:26px;overflow:hidden;background:#111;
  border:1.5px solid #2a2a2a;transform-origin:50% 100%;will-change:transform}
.arc-card img{width:100%;height:100%;object-fit:cover;object-position:top left;transition:transform .8s var(--ease)}
.arc-card:hover img{transform:scale(1.05)}
.arc-card span{position:absolute;left:12px;bottom:12px;font-size:12px;padding:6px 10px;border-radius:10px;background:rgba(10,10,10,.75);backdrop-filter:blur(8px);color:#fff;
  opacity:0;transform:translateY(6px);transition:.4s var(--ease)}
.arc-card:hover span{opacity:1;transform:none}

@media (max-width:760px){
  .hero-v3{padding-top:130px}
  .serif-hero{font-size:clamp(40px,12vw,64px)}
  .star3d{left:-2%;top:-18%;width:64px}
  .ast3d{right:-2%;bottom:-16%;width:64px}
  .h-dot{left:2%;top:-6%;width:12px;height:12px}
  .arc{margin-top:60px;height:300px}
}
@media (prefers-reduced-motion:reduce){.star3d,.ast3d{animation:none}}
@media (min-width:761px){
  .serif-hero{font-size:clamp(46px,6.9vw,118px);max-width:none}
  .serif-hero .line{white-space:nowrap}
  .star3d{left:2%;top:-30%}
  .ast3d{right:1%;bottom:-20%}
  .h-dot{left:-1%;top:4%}
}
