/* home.css */

/* ── Hero ── */
#hero{
  min-height:100vh;padding-top:var(--nav-h);
  display:flex;flex-direction:column;
  background:var(--bg);position:relative;overflow:hidden;
}
#hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");
  opacity:.55;z-index:0;
}
#hero::after{
  content:'';position:absolute;top:-160px;right:-120px;
  width:650px;height:650px;border-radius:50%;
  background:radial-gradient(circle,rgba(224,62,18,.065) 0%,transparent 65%);
  pointer-events:none;z-index:0;
}
.hero-inner{
  flex:1;display:flex;flex-direction:column;justify-content:center;
  padding:2.5rem var(--pad) 2rem;
  max-width:var(--max);margin:0 auto;width:100%;
  position:relative;z-index:2;
}
.hero-pill{
  display:inline-flex;align-items:center;gap:.55rem;
  font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--red);margin-bottom:2rem;
}
.hero-pill::before{content:'';width:24px;height:1.5px;background:var(--red);}
.hero-name{
  font-family:var(--serif);font-weight:700;
  font-size:clamp(60px,10.5vw,130px);
  line-height:.92;letter-spacing:-.04em;color:var(--ink);
  margin-bottom:clamp(1.5rem,3vw,2.5rem);
}
.hero-name em{font-style:italic;color:var(--red);display:block;}
.hero-bottom{
  display:grid;grid-template-columns:1fr 1fr 1fr;
  gap:2rem;padding-top:2rem;border-top:1px solid var(--border);align-items:end;
}
.hero-tagline{font-size:clamp(.9rem,1.3vw,1.05rem);color:var(--ink-2);line-height:1.75;}
.hero-tagline strong{color:var(--ink);font-weight:600;}
.hero-stats{display:flex;gap:2rem;justify-content:center;}
.h-stat-n{font-family:var(--serif);font-size:2.5rem;font-weight:700;color:var(--ink);line-height:1;display:block;}
.h-stat-n sup{font-size:.55em;color:var(--red);}
.h-stat-l{font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:.3rem;}
.hero-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.65rem;}
.scroll-hint{display:flex;align-items:center;gap:.45rem;font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);animation:bob 2.5s ease-in-out infinite;}
.scroll-hint svg{width:14px;height:14px;}
@keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(4px);}}

/* Work preview strip */
.hero-strip{
  display:flex;gap:1.5px;height:clamp(90px,13vw,170px);
  margin:0 var(--pad);overflow:hidden;border-radius:var(--r-md);
}
.hs-item{
  flex:1;overflow:hidden;position:relative;cursor:pointer;
  transition:flex .5s cubic-bezier(.4,0,.2,1);
}
.hs-item:hover{flex:2.8;}
.hs-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.hs-item:hover img{transform:scale(1.05);}
.hs-item-label{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(8,9,18,.75) 0%,transparent 55%);
  display:flex;align-items:flex-end;padding:.75rem .85rem;
  opacity:0;transition:opacity .3s;
}
.hs-item:hover .hs-item-label{opacity:1;}
.hs-item-label span{font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;}

@media(max-width:900px){.hero-bottom{grid-template-columns:1fr 1fr;gap:1.5rem;}.hero-actions{align-items:flex-start;}}
@media(max-width:600px){.hero-bottom{grid-template-columns:1fr;}.hero-stats{justify-content:flex-start;}.hero-strip{height:80px;margin:0 1.25rem;}}

/* ── UX Work (dark) ── */
#ux-work{background:var(--dark);padding:clamp(4rem,7vw,7rem) 0;position:relative;overflow:hidden;}
#ux-work::before{content:'';position:absolute;bottom:-200px;right:-200px;width:800px;height:800px;border-radius:50%;background:radial-gradient(circle,rgba(80,60,200,.1) 0%,transparent 60%);pointer-events:none;}
.ux-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:clamp(2.5rem,4vw,3.5rem);flex-wrap:wrap;gap:1rem;}
.ux-title{font-family:var(--serif);font-size:clamp(26px,4vw,50px);font-weight:700;letter-spacing:-.03em;line-height:1.05;color:var(--dark-ink);}
.ux-title em{font-style:italic;color:var(--red);}
.see-all{font-size:.78rem;font-weight:600;color:var(--dark-ink-2);display:flex;align-items:center;gap:.35rem;transition:color .18s;}
.see-all:hover{color:var(--red);}
.see-all svg{width:13px;height:13px;transition:transform .18s;}
.see-all:hover svg{transform:translateX(3px);}

/* Work cards grid */
.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5px;background:rgba(255,255,255,.04);border:1.5px solid rgba(255,255,255,.04);border-radius:var(--r-lg);overflow:hidden;}
.work-card{background:var(--dark-2);padding:2.25rem 2rem;cursor:pointer;transition:background .22s;position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:280px;}
.work-card:hover{background:#131526;}
.work-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
.work-card:hover::before{transform:scaleX(1);}
.wc-bg-num{position:absolute;bottom:-.1em;right:.15em;font-family:var(--serif);font-size:7rem;font-weight:900;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.04);line-height:1;pointer-events:none;user-select:none;transition:opacity .3s;}
.work-card:hover .wc-bg-num{opacity:.35;}
.wc-cat{font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:.9rem;display:flex;align-items:center;gap:.45rem;}
.wc-cat::before{content:'';width:16px;height:1.5px;background:var(--red);flex-shrink:0;}
.wc-title{font-family:var(--serif);font-size:clamp(1.2rem,2.2vw,1.75rem);font-weight:700;letter-spacing:-.025em;color:var(--dark-ink);line-height:1.15;margin-bottom:.8rem;}
.wc-desc{font-size:.85rem;color:var(--dark-ink-2);line-height:1.7;flex:1;}
.wc-footer{display:flex;align-items:center;justify-content:space-between;margin-top:1.75rem;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.06);gap:.75rem;flex-wrap:wrap;}
.wc-meta{font-size:.7rem;color:#484860;}
.wc-metric{font-size:.72rem;font-weight:700;color:#4ade80;background:rgba(74,222,128,.08);border:1px solid rgba(74,222,128,.18);padding:.22rem .65rem;border-radius:20px;white-space:nowrap;}
.wc-arrow{color:#484860;font-size:1.1rem;transition:transform .2s,color .2s;margin-left:auto;flex-shrink:0;}
.work-card:hover .wc-arrow{transform:translate(4px,-4px);color:var(--red);}
.work-card.featured{grid-column:span 2;}.work-card.featured .wc-title{font-size:clamp(1.4rem,3vw,2.5rem);}
@media(max-width:720px){.work-grid{grid-template-columns:1fr;}.work-card.featured{grid-column:span 1;}.work-card{min-height:220px;padding:1.75rem 1.5rem;}}

/* ── Visual overview (light) ── */
#visual-overview{background:var(--bg);padding:clamp(4rem,7vw,7rem) 0;}
.vo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;margin-top:2.5rem;}
.vo-card{background:var(--bg-card);padding:2rem 1.8rem;position:relative;overflow:hidden;transition:background .2s;cursor:pointer;display:flex;flex-direction:column;}
.vo-card:hover{background:var(--bg-muted);}
.vo-card.wide{grid-column:span 2;}
.vo-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2.5px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .3s;}
.vo-card:hover::after{transform:scaleX(1);}
.vo-img-strip{display:flex;gap:5px;height:86px;margin-bottom:1.1rem;border-radius:var(--r-sm);overflow:hidden;}
.vo-img-strip>div{flex:1;overflow:hidden;border-radius:4px;background:var(--bg-muted);}
.vo-img-strip img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.vo-card:hover .vo-img-strip img{transform:scale(1.07);}
.vo-logo-strip{display:flex;gap:7px;height:58px;margin-bottom:1.1rem;align-items:center;}
.vo-logo-chip{flex:1;height:100%;background:var(--bg-muted);border:1px solid var(--border);border-radius:5px;display:flex;align-items:center;justify-content:center;transition:border-color .2s;}
.vo-card:hover .vo-logo-chip{border-color:var(--border-md);}
.vo-video-thumb{position:relative;height:90px;border-radius:5px;overflow:hidden;margin-bottom:1.1rem;background:#111;}
.vo-video-thumb img{width:100%;height:100%;object-fit:cover;opacity:.65;}
.vo-play-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.vo-play-icon div{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;transition:transform .2s;}
.vo-card:hover .vo-play-icon div{transform:scale(1.1);}
.vo-play-icon svg{width:13px;height:13px;color:var(--red);margin-left:2px;}
.vo-label{font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:.55rem;}
.vo-title{font-family:var(--serif);font-size:clamp(1rem,1.6vw,1.25rem);font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.18;margin-bottom:.5rem;}
.vo-desc{font-size:.78rem;color:var(--ink-3);line-height:1.6;flex:1;}
.vo-link{display:inline-flex;align-items:center;gap:.3rem;font-size:.76rem;font-weight:600;color:var(--ink);margin-top:.9rem;transition:color .18s,gap .18s;}
.vo-card:hover .vo-link{color:var(--red);gap:.5rem;}
@media(max-width:800px){.vo-grid{grid-template-columns:1fr 1fr;}.vo-card.wide{grid-column:span 2;}}
@media(max-width:500px){.vo-grid{grid-template-columns:1fr;}.vo-card.wide{grid-column:span 1;}}

/* ── Process (dark) ── */
#process{background:var(--dark);padding:clamp(4rem,7vw,7rem) 0;}
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:2.75rem;border:1px solid rgba(255,255,255,.06);border-radius:var(--r-lg);overflow:hidden;}
.proc-step{padding:2rem 1.65rem;border-right:1px solid rgba(255,255,255,.06);transition:background .22s;}
.proc-step:last-child{border-right:none;}
.proc-step:hover{background:rgba(255,255,255,.025);}
.proc-n{font-size:.63rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:.9rem;display:flex;align-items:center;gap:.5rem;}
.proc-n::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.06);}
.proc-title{font-family:var(--serif);font-size:1.02rem;font-weight:700;letter-spacing:-.02em;color:var(--dark-ink);margin-bottom:.55rem;line-height:1.22;}
.proc-desc{font-size:.78rem;color:var(--dark-ink-2);line-height:1.65;}
@media(max-width:680px){.proc-grid{grid-template-columns:1fr 1fr;}.proc-step{border-right:1px solid rgba(255,255,255,.06);}.proc-step:nth-child(2n){border-right:none;}.proc-step:nth-child(n+3){border-top:1px solid rgba(255,255,255,.06);}}

/* ── CTA band ── */
#cta{background:var(--bg-muted);padding:clamp(4rem,6vw,6rem) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
.cta-h{font-family:var(--serif);font-size:clamp(22px,3.5vw,44px);font-weight:700;letter-spacing:-.03em;line-height:1.08;color:var(--ink);margin-bottom:.65rem;}
.cta-h em{font-style:italic;color:var(--red);}
.cta-sub{font-size:.88rem;color:var(--ink-2);max-width:460px;line-height:1.75;}
.cta-actions{display:flex;gap:.65rem;flex-shrink:0;flex-wrap:wrap;}

/* ── Footer ── */
footer{background:var(--dark);padding:2.2rem var(--pad);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
.footer-logo{font-family:var(--serif);font-size:.95rem;color:rgba(255,255,255,.45);font-style:italic;}
.footer-info{font-size:.72rem;color:rgba(255,255,255,.22);letter-spacing:.04em;}
