j*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --black:#080808;
  --black2:#0f0f0f;
  --black3:#161616;
  --white:#f7f7f7;
  --gold:#c9a96e;
  --gold-dim:rgba(201,169,110,0.12);
  --gold-glow:rgba(201,169,110,0.05);
  --line:rgba(247,247,247,0.07);
  --line2:rgba(247,247,247,0.12);
  --muted:rgba(247,247,247,0.36);
  --body:rgba(247,247,247,0.72);
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{
  background:var(--black);color:var(--body);
  font-family:'Inter',sans-serif;font-weight:300;font-size:15px;line-height:1.7;
  -webkit-font-smoothing:antialiased;cursor:none;overflow-x:hidden;
}

/* CURSOR */
.cdot{position:fixed;z-index:9999;pointer-events:none;width:6px;height:6px;background:var(--white);border-radius:50%;transform:translate(-50%,-50%);transition:width .3s,height .3s,background .3s}
.cring{position:fixed;z-index:9998;pointer-events:none;width:34px;height:34px;border:1px solid rgba(247,247,247,0.2);border-radius:50%;transform:translate(-50%,-50%);transition:width .4s cubic-bezier(.25,.46,.45,.94),height .4s,border-color .4s}
body.h .cdot{width:4px;height:4px;background:var(--gold)}
body.h .cring{width:56px;height:56px;border-color:rgba(201,169,110,0.45)}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:600;display:flex;justify-content:space-between;align-items:center;padding:24px 52px;background:rgba(5,5,5,.82);backdrop-filter:blur(16px);border-bottom:.5px solid rgba(255,255,255,.08);transition:background .5s,border-color .5s,padding .4s}
nav.s{background:rgba(8,8,8,.96);backdrop-filter:blur(20px);border-bottom-color:var(--line);padding:18px 52px}
.nlogo{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:400;letter-spacing:.24em;text-transform:uppercase;color:var(--white);text-decoration:none}
.nright{display:flex;align-items:center;gap:36px}
.nright a{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.68);text-decoration:none;transition:color .2s}
.nright a:hover{color:var(--white)}
.nav-tabs{display:flex;gap:0;border:.5px solid rgba(255,255,255,.45)}
.nav-tab{font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.78);padding:9px 18px;cursor:pointer;transition:background .2s,color .2s;text-decoration:none}
.nav-tab.active,.nav-tab:hover{background:var(--gold-dim);color:var(--white)}
.nav-tab:first-child{border-right:.5px solid rgba(255,255,255,.45)}

/* HERO */
.hero{height:100vh;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden}
.hero-l{display:flex;flex-direction:column;justify-content:flex-end;padding:0 0 72px 52px;position:relative;z-index:2}
.hero-tag{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:28px;display:flex;align-items:center;gap:14px}
.hero-tag::before{content:'';width:28px;height:.5px;background:var(--gold);display:block}
.hero-h{font-family:'Cormorant Garamond',serif;font-size:clamp(52px,6.5vw,96px);font-weight:300;line-height:1.0;color:var(--white);letter-spacing:-.02em}
.hero-h em{font-style:italic;color:var(--gold)}
.hero-sub{margin-top:1px;font-size:13px;color:var(--white);max-width:360px;line-height:1.8}
.hero-r{position:relative;overflow:hidden}
.hero-img{position:absolute;inset:0;background:url('../images/MainCover.png') center/cover no-repeat;;animation:zIn 10s ease-out forwards}
@keyframes zIn{from{transform:scale(1.1)}to{transform:scale(1)}}
.hero-img-ov{position:absolute;inset:0;background:linear-gradient(90deg,var(--black) 0%,transparent 35%),linear-gradient(to top,rgba(8,8,8,.5) 0%,transparent 40%)}
.hero-bottom{position:absolute;bottom:48px;left:52px;right:52px;display:flex;justify-content:space-between;align-items:flex-end;z-index:2}
.scroll-cue{display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.sbar{width:0;height:.5px;background:var(--muted);animation:bg 1.2s ease forwards .5s}
@keyframes bg{to{width:44px}}

/* SIDE DOTS */
.pdots{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:400;display:flex;flex-direction:column;gap:10px}
.pdot{width:4px;height:4px;border-radius:50%;background:rgba(247,247,247,0.18);transition:background .3s,height .3s;cursor:pointer}
.pdot.on{background:var(--gold);height:18px;border-radius:2px}

/* SECTION HEADER */
.sec-head{padding:80px 52px 0;display:flex;justify-content:space-between;align-items:flex-end}
.sec-eye{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:12px}
.sec-eye::before{content:'';width:20px;height:.5px;background:var(--gold);display:block}
.sec-title{font-family:'Cormorant Garamond',serif;font-size:clamp(18px,4vw,44px);font-weight:100;color:var(--white);line-height:1.05;margin-top:16px}
.sec-title em{font-style:italic;color:var(--gold)}
.sec-count{font-size:11px;color:var(--muted);letter-spacing:.08em}

/* CASE STUDIES */
.case-intro{
  padding:5px 3vw 20px;
  background:var(--black);
}

.case-intro-inner{
  max-width:1180px;
  margin:0;
}

.case-intro-copy{
  max-width: 500px;
}

.case-label{
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:22px;
}

.case-intro h1{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(54px,7vw,96px);
  font-weight:300;
  line-height:1;
  color:var(--white);
  margin:0 0 28px;
}

.case-intro h1 em{
  color:var(--gold);
  font-weight:300;
}

.case-intro-text{
  font-size:15px;
  line-height:1.8;
  color:var(--body);
  max-width:560px;
  margin:0;
}

.case-meta{
  display:flex;
  gap:70px;
  margin-top:60px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.1);
}

.case-meta p{
  font-size:13px;
  color:var(--body);
  margin:0;
}

.case-meta span{
  display:block;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:8px;
}

@media(max-width:768px){
  .case-intro{
    padding:105px 24px 70px;
  }

  .case-meta{
    flex-direction:column;
    gap:22px;
    margin-top:45px;
  }
}
.cs-wrap{padding:52px 52px 100px}
.proj{height:100vh;display:grid;position:relative;overflow:hidden}
.proj:nth-child(odd){grid-template-columns:55% 45%}
.proj:nth-child(even){grid-template-columns:45% 55%}
.pphoto{position:relative;overflow:hidden}
.proj:nth-child(even) .pphoto{order:2}
.proj:nth-child(even) .pinfo{order:1}
.pimg{
  position:absolute;
  top:10%;
  left:10%;
  width:60%;
  height:60%;
  background-size:cover;
  background-position:center;
}.proj.vis .pimg{transform:scale(1)}
.pov{position:absolute;inset:0;background:linear-gradient(to right,transparent 60%,var(--black) 100%)}
.proj:nth-child(even) .pov{background:linear-gradient(to left,transparent 60%,var(--black) 100%)}
.pinfo{display:flex;flex-direction:column;justify-content:center;padding:0 52px;position:relative;z-index:2}
.pnum-bg{position:absolute;font-family:'Cormorant Garamond',serif;font-size:180px;font-weight:300;line-height:1;color:rgba(247,247,247,0.025);letter-spacing:-.04em;user-select:none;pointer-events:none;right:-10px;bottom:20px}
.proj:nth-child(even) .pnum-bg{right:auto;left:-10px}
.pidx{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:20px;display:flex;align-items:center;gap:12px}
.pidx::before{content:'';width:18px;height:.5px;background:var(--muted);display:block}
.pcat{font-size:15px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.pname{font-family:'Cormorant Garamond',serif;font-size:clamp(40px,3.8vw,58px);font-weight:300;color:var(--white);line-height:1.08;margin-bottom:16px;transform:translateX(-14px);opacity:0;transition:transform .9s cubic-bezier(.25,.46,.45,.94) .1s,opacity .9s .1s}
.proj.vis .pname{transform:translateX(0);opacity:1}
.pline{font-size:18px;color:var(--body);line-height:1.8;max-width:5000px;transform:translateX(-10px);opacity:0;transition:transform .9s .25s,opacity .9s .25s}.proj.vis .pline{transform:translateX(0);opacity:1}
.pyear{margin-top:28px;font-size:11px;letter-spacing:.1em;color:var(--muted);display:flex;align-items:center;gap:10px;transform:translateX(-6px);opacity:0;transition:transform .9s .38s,opacity .9s .38s}
.proj.vis .pyear{transform:translateX(0);opacity:1}
.pyear::before{content:'';width:12px;height:.5px;background:rgba(247,247,247,.2);display:block}

/* ── GALLERY ── */
.gallery{padding:0 52px 100px}

/* Section label */
.glabel{
  display:flex;align-items:center;justify-content:space-between;
  padding:56px 0 28px;
  border-top:.5px solid var(--line);
}
.glabel:first-child{border-top:none}
.glabel-left{display:flex;align-items:center;gap:16px}
.glabel-num{font-family:'Cormorant Garamond',serif;font-size:13px;color:var(--muted);letter-spacing:.06em}
.glabel-name{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;color:var(--white)}
.glabel-name em{font-style:italic;color:var(--gold)}
.glabel-count{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* Editorial grid — each section has its own layout */
.gedit{display:grid;gap:8px;margin-bottom:8px}

/* LOGOS section — 1 big + 4 small */
.g-logos{grid-template-columns:repeat(5,1fr);grid-template-rows:280px 200px}
.g-logos .gi:nth-child(1){grid-column:1/3;grid-row:1/3}
.g-logos .gi:nth-child(2){grid-column:3/4;grid-row:1/2}
.g-logos .gi:nth-child(3){grid-column:4/5;grid-row:1/2}
.g-logos .gi:nth-child(4){grid-column:5/6;grid-row:1/2}
.g-logos .gi:nth-child(5){grid-column:3/6;grid-row:2/3}

/* PACKAGING — full bleed + 3 */
.g-pack{grid-template-columns:repeat(3,1fr);grid-template-rows:420px 260px}
.g-pack .gi:nth-child(1){grid-column:1/4;grid-row:1/2}
.g-pack .gi:nth-child(2){grid-column:1/2;grid-row:2/3}
.g-pack .gi:nth-child(3){grid-column:2/3;grid-row:2/3}
.g-pack .gi:nth-child(4){grid-column:3/4;grid-row:2/3}

/* VISUAL IDENTITY — asymmetric 2-col */
.g-vi{grid-template-columns:3fr 2fr 2fr;grid-template-rows:340px 220px}
.g-vi .gi:nth-child(1){grid-column:1/2;grid-row:1/3}
.g-vi .gi:nth-child(2){grid-column:2/4;grid-row:1/2}
.g-vi .gi:nth-child(3){grid-column:2/3;grid-row:2/3}
.g-vi .gi:nth-child(4){grid-column:3/4;grid-row:2/3}

/* SOCIAL — 5 equal tiles */
.g-social{grid-template-columns:repeat(5,1fr);grid-template-rows:300px}
.g-social .gi{grid-row:1/2}

/* GRAPHIC DESIGN — 2 big + strip */
.g-gd{grid-template-columns:1fr 1fr;grid-template-rows:360px 200px}
.g-gd .gi:nth-child(1){grid-column:1/2;grid-row:1/2}
.g-gd .gi:nth-child(2){grid-column:2/3;grid-row:1/2}
.g-gd .gi:nth-child(3){grid-column:1/2;grid-row:2/3}
.g-gd .gi:nth-child(4){grid-column:2/3;grid-row:2/3}

.identity-system{
  padding:100px 4vw;
  border-top:.5px solid var(--line);
}

.identity-label{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(38px,4vw,58px);
  font-weight:300;
  color:var(--white);
  margin:0 0 55px;
}

.identity-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:50px 70px;
}

.identity-item{
  padding-top:20px;
  border-top:.5px solid var(--line);
}

.identity-item h3{
  font-family:'Cormorant Garamond',serif;
  font-size:28px;
  font-weight:400;
  color:var(--gold);
  margin:0 0 12px;
}

.identity-item p{
  font-size:15px;
  line-height:1.8;
  color:var(--body);
  max-width:460px;
  margin:0;
}

@media(max-width:768px){
  .identity-system{
    padding:75px 24px;
  }

  .identity-grid{
    grid-template-columns:1fr;
    gap:38px;
  }
}

/* GALLERY ITEM */
.gi{
  position:relative;overflow:hidden;
  background:var(--black3);cursor:none;
}
.gi-img{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  transition:transform .8s cubic-bezier(.25,.46,.45,.94);
  will-change:transform;
}
.gi:hover .gi-img{transform:scale(1.06)}
.gi-ov{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(8,8,8,.88) 0%,transparent 55%);
  opacity:0;transition:opacity .4s;
}
.gi:hover .gi-ov{opacity:1}
.gi-info{
  position:absolute;bottom:0;left:0;right:0;padding:20px 22px;
  transform:translateY(6px);opacity:0;transition:transform .4s,opacity .4s;
}
.gi:hover .gi-info{transform:translateY(0);opacity:1}
.gi-name{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:300;color:var(--white);margin-bottom:2px}
.gi-cat{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}

/* DIVIDER MARQUEE */
.mq{height:56px;border-top:.5px solid var(--line);border-bottom:.5px solid var(--line);overflow:hidden;display:flex;align-items:center;background:var(--black2)}
.mq-inner{display:inline-flex;animation:mqs 22s linear infinite;white-space:nowrap}
@keyframes mqs{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mq-inner span{font-family:'Cormorant Garamond',serif;font-size:12px;font-weight:300;letter-spacing:.22em;text-transform:uppercase;color:rgba(247,247,247,.18);padding:0 24px}
.mq-inner em{color:var(--gold);font-style:italic}

/* STATEMENT */
.statement{padding:120px 52px;display:flex;flex-direction:column;align-items:center;text-align:center;border-top:.5px solid var(--line);position:relative;overflow:hidden}
.statement::before{content:'';position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(201,169,110,0.04) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}
.st-eye{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:32px;display:flex;align-items:center;gap:16px}
.st-eye::before,.st-eye::after{content:'';width:32px;height:.5px;background:var(--gold);display:block}
.st-q{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4.5vw,66px);font-weight:300;color:var(--white);line-height:1.1;max-width:860px;margin-bottom:20px}
.st-q em{font-style:italic;color:var(--gold)}
.st-attr{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

.outcome-section{
  padding:100px 4vw;
  border-top:.5px solid var(--line);
}

.outcome-label{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(38px,4vw,58px);
  font-weight:300;
  color:var(--gold);
  margin:0 0 24px;
}

.outcome-text{
  font-size:15px;
  line-height:1.8;
  color:var(--body);
  max-width:700px;
  margin:0;
}

/* CTA */
.cta{padding:100px 52px;display:flex;justify-content:space-between;align-items:center;border-top:.5px solid var(--line);background:var(--black2)}
.cta-h{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4vw,54px);font-weight:300;color:var(--white);line-height:1.1}
.cta-h em{font-style:italic;color:var(--gold)}
.cta-btn{display:inline-flex;align-items:center;gap:16px;padding:18px 40px;border:.5px solid rgba(247,247,247,.2);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--white);text-decoration:none;flex-shrink:0;transition:border-color .3s,background .3s}
.cta-btn:hover{border-color:var(--gold);background:var(--gold-dim)}
.cta-btn span{width:28px;height:.5px;background:currentColor;display:block;transition:width .3s}
.cta-btn:hover span{width:48px}

/* FOOTER */
footer{padding:36px 52px;border-top:.5px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.flogo{font-family:'Cormorant Garamond',serif;font-size:16px;letter-spacing:.24em;text-transform:uppercase;color:rgba(247,247,247,.35)}
.fnote{font-size:10px;color:rgba(247,247,247,.18);letter-spacing:.08em}

/* REVEAL */
.rv{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s ease}
.rv.on{opacity:1;transform:translateY(0)}

@media(max-width:900px){
  nav,nav.s{padding:18px 24px}
  .pdots{display:none}
  .hero{grid-template-columns:1fr;grid-template-rows:55% 45%}
  .hero-r{order:-1}
  .hero-l{padding:0 24px 48px}
  .hero-bottom{left:24px;right:24px}
  .sec-head{padding:60px 24px 0;flex-direction:column;gap:8px;align-items:flex-start}
  .cs-wrap{padding:40px 24px 80px}
  .proj{grid-template-columns:1fr!important;grid-template-rows:50vh auto}
  .pphoto,.pinfo{order:unset!important}
  .pov{background:linear-gradient(to top,var(--black) 0%,transparent 60%)!important}
  .pinfo{padding:32px 24px 48px}
  .pnum-bg{display:none}
  .gallery{padding:0 24px 80px}
  .gedit{grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important}
  .gi{height:200px}
  .gi:nth-child(n){grid-column:auto!important;grid-row:auto!important}
  .statement,.cta{padding:72px 24px}
  .cta{flex-direction:column;gap:32px;text-align:center}
  footer{padding:28px 24px;flex-direction:column;gap:10px;text-align:center}
}