/* ═══════════════════════════════════════════════════════
   PREMIUM SUSHI PACK — styles.css
   Bodoni Moda · Black · Gold · EN/HR
═══════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,300;0,6..96,400;0,6..96,500;1,6..96,300;1,6..96,400&family=DM+Sans:ital,wght@0,200;0,300;0,400;1,300&display=swap');

/* ─── TOKENS ─────────────────────────────────── */
:root {
  --black:     #060606;
  --black-2:   #0E0E0E;
  --white:     #FFFFFF;
  --gold:      #C4A263;
  --gold-lt:   #D9BC8E;
  --gold-dk:   #8C6D3F;
  --gold-glow: rgba(196,162,99,.12);
  --cream:     #F4EFE6;
  --text-mute: rgba(255, 255, 255, 0.67);
  --text-dim:  rgba(255,255,255,.55);

  --fd: 'Bodoni Moda', 'Bodoni 72', Georgia, serif;
  --fs: 'DM Sans', 'Helvetica Neue', sans-serif;

  --nav-h: 80px;
  --expo: cubic-bezier(0.76,0,0.24,1);
  --out:  cubic-bezier(0.22,1,0.36,1);
}

/* ─── RESET ──────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:hidden;font-size:16px;scroll-behavior:auto}
body{
  background:var(--black);
  color:var(--white);
  font-family:var(--fs);
  font-weight:300;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
*{cursor:none!important}

/* ─── LANG ───────────────────────────────────── */
[data-lang="hr"] { display: none; }
body.hr [data-lang="en"] { display: none; }
body.hr [data-lang="hr"] { display: initial; }
body.hr .lang-block-en { display: none; }
body.hr .lang-block-hr { display: block; }
.lang-block-hr { display: none; }

/* ─── CURSOR ─────────────────────────────────── */
.cursor{
  width:8px;height:8px;
  background:var(--gold);border-radius:50%;
  position:fixed;top:0;left:0;
  pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);
  transition:width .25s,height .25s,background .25s;
}
.cursor-ring{
  width:30px;height:30px;
  border:1px solid rgba(196,162,99,.4);border-radius:50%;
  position:fixed;top:0;left:0;
  pointer-events:none;z-index:9998;
  transform:translate(-50%,-50%);
  transition:width .35s var(--expo),height .35s var(--expo),border-color .3s;
}
.cursor.hov{width:14px;height:14px;background:var(--gold-lt)}
.cursor-ring.hov{width:46px;height:46px;border-color:var(--gold)}

/* ─── NAV ────────────────────────────────────── */
#nav{
  position:fixed;top:0;left:0;right:0;
  z-index:500;height:var(--nav-h);
  display:flex;align-items:center;justify-content:space-between;
  padding:0 4rem;
  transition:background .5s,backdrop-filter .5s;
}
#nav.scrolled{
  background:rgba(6,6,6,.88);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(196,162,99,.08);
}
.nav-brand{display:flex;flex-direction:column;gap:.05rem}
.nav-brand-top{
  font-family:var(--fd);font-size:.95rem;font-weight:400;
  letter-spacing:.26em;text-transform:uppercase;line-height:1;
}
.nav-brand-sub{
  font-size:.5rem;letter-spacing:.35em;
  text-transform:uppercase;color:var(--gold);line-height:1;
}
.nav-right{display:flex;align-items:center;gap:3rem}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{
  font-size:.62rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--text-mute);
  transition:color .3s;position:relative;
}
.nav-links a::after{
  content:'';position:absolute;bottom:-4px;left:0;right:0;height:1px;
  background:var(--gold);transform:scaleX(0);transform-origin:right;
  transition:transform .4s var(--expo);
}
.nav-links a:hover{color:var(--white)}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}

/* Language toggle */
.lang-toggle{
  display:flex;align-items:center;gap:0;
  border:1px solid rgba(196,162,99,.25);
  overflow:hidden;
}
.lang-btn{
  padding:.45rem .85rem;
  font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--text-mute);background:transparent;border:none;
  transition:background .3s,color .3s;
  font-family:var(--fs);font-weight:300;
}
.lang-btn.active{background:var(--gold);color:var(--black);}
.lang-btn:not(.active):hover{color:var(--white)}

/* ─── UTILS ──────────────────────────────────── */
.eyebrow{
  font-size:.58rem;letter-spacing:.35em;
  text-transform:uppercase;color:var(--gold);
  display:inline-flex;align-items:center;gap:1rem;
}
.eyebrow::before{content:'';display:block;width:2.5rem;height:1px;background:var(--gold)}

.divider{
  width:100%;height:1px;
  background:linear-gradient(to right,transparent,rgba(196,162,99,.2),transparent);
}

.btn{
  display:inline-flex;align-items:center;gap:1rem;
  padding:1.1rem 2.8rem;
  border:1px solid var(--gold);color:var(--gold);
  font-family:var(--fs);font-size:.62rem;font-weight:300;
  letter-spacing:.22em;text-transform:uppercase;
  position:relative;overflow:hidden;transition:color .5s var(--expo);
}
.btn::before{
  content:'';position:absolute;inset:0;background:var(--gold);
  transform:translateX(-105%);transition:transform .5s var(--expo);
}
.btn:hover::before{transform:translateX(0)}
.btn:hover{color:var(--black)}
.btn span,.btn-arrow{position:relative;z-index:1}

/* reveal states */
.r-up{opacity:0;transform:translateY(60px)}
.r-fade{opacity:0}
.r-scale{opacity:0;transform:scale(.92)}

/* ─── HERO ───────────────────────────────────── */
#hero{
  height:100vh;min-height:700px;
  display:grid;grid-template-columns:1fr 1fr;
  align-items:center;padding:0 4rem;
  position:relative;overflow:hidden;background:var(--black);
}
.hero-ghost{
  position:absolute;bottom:-.05em;left:-.02em;
  font-family:var(--fd);font-size:clamp(10rem,19vw,19rem);
  font-weight:400;line-height:1;color:transparent;
  -webkit-text-stroke:1px rgba(196,162,99,.045);
  pointer-events:none;user-select:none;white-space:nowrap;
}
.hero-left{position:relative;z-index:2}
.hero-eyebrow{margin-bottom:2.5rem}
.hero-title{
  font-family:var(--fd);
  font-size:clamp(3.2rem,6vw,6.8rem);
  font-weight:300;line-height:.92;letter-spacing:-.018em;
  margin-bottom:2rem;
}
.hero-title em{font-style:italic;color:var(--gold-lt);display:block}
.hero-sub{
  font-size:.98rem;line-height:1.88;
  color:var(--text-mute);max-width:30rem;
  margin-bottom:3.5rem;letter-spacing:.02em;
}
.hero-right{
  position:relative;z-index:2;
  display:flex;align-items:center;justify-content:center;height:100%;
}
.hero-mockup{
  height:570px;display:flex;align-items:center;justify-content:center;
}
.hero-mockup img{
  height:100%;width:auto;object-fit:contain;
  filter:drop-shadow(0 40px 100px rgba(196,162,99,.18))
         drop-shadow(0 0 60px rgba(0,0,0,.7));
}
.hero-scroll{
  position:absolute;bottom:2.8rem;left:50%;
  transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:.7rem;
  z-index:3;
}
.hero-scroll span{font-size:.52rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.25)}
.scroll-line{
  width:1px;height:44px;
  background:linear-gradient(to bottom,var(--gold),transparent);
  animation:spulse 2.2s ease-in-out infinite;
}
@keyframes spulse{
  0%,100%{opacity:.22;transform:scaleY(.5);transform-origin:top}
  50%{opacity:1;transform:scaleY(1);transform-origin:top}
}

/* ─── ABOUT ──────────────────────────────────── */
#about{
  padding:1rem 4rem;background:var(--black);
}
.about-wrap{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:1fr 2.2fr;gap:8rem;align-items:start;
}
.about-label{
  font-size:3.56rem;letter-spacing:.3em;
  text-transform:uppercase;color:var(--gold);padding-top:.8rem;
}
.about-ghost{
  font-family:var(--fd);
  font-size:clamp(7rem,11vw,11rem);font-weight:400;line-height:.8;
  color:transparent;-webkit-text-stroke:1px rgba(196,162,99,.09);
  margin-bottom:-1.8rem;display:block;
}
.about-headline{
  font-family:var(--fd);
  font-size:clamp(2.6rem,4vw,4rem);
  font-weight:300;line-height:1.07;letter-spacing:-.015em;margin-bottom:2.8rem;
}
.about-headline em{font-style:italic;color:var(--gold-lt)}
.about-body{
  font-size:1.06rem;line-height:1.95;color:var(--text-mute);
  max-width:46rem;letter-spacing:.02em;
}
.about-body+.about-body{margin-top:1.4rem}
.about-hr{height:1px;background:rgba(196,162,99,.12);margin:3rem 0}
.about-stats{display:flex;gap:5rem;flex-wrap:wrap}
.sv{
  font-family:var(--fd);font-size:2.7rem;font-weight:300;
  color:var(--gold);display:block;letter-spacing:-.02em;line-height:1;
}
.sk{
  font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.28);margin-top:.4rem;display:block;
}

/* ─── COLLECTION — CINEMATIC ─────────────────── */
#collection{background:var(--black)}

.coll-intro{
  padding:12rem 4rem 0;
  max-width:1200px;margin:0 auto;
  display:flex;justify-content:space-between;align-items:flex-end;gap:4rem;
}
.coll-title{
  font-family:var(--fd);
  font-size:clamp(3rem,5.5vw,5.5rem);
  font-weight:300;line-height:1.02;letter-spacing:-.022em;
}
.coll-title em{font-style:italic;color:var(--gold-lt)}
.coll-note{
  font-size:1.15rem;color:var(--text-mute);
  max-width:22rem;line-height:1.85;letter-spacing:.03em;
}

/* Each cinematic product */
.cine-product{
  position:relative;min-height:100vh;
  display:grid;grid-template-columns:1fr 1fr;
  align-items:center;gap:0;
  margin-top:6rem;overflow:hidden;
}
.cine-product:nth-child(even) .cine-visual{order:2}
.cine-product:nth-child(even) .cine-info{order:1}

/* Atmospheric bg */
.cine-product::before{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:0;
  transition:opacity 1.2s;
}
.cine-onyx::before{
  background:radial-gradient(ellipse 55% 60% at 70% 50%, rgba(255,255,255,.025) 0%, transparent 65%);
}
.cine-gold::before{
  background:radial-gradient(ellipse 55% 60% at 30% 50%, rgba(196,162,99,.07) 0%, transparent 65%);
}
.cine-product.in-view::before{opacity:1}

/* Visual side */
.cine-visual{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  min-height:100vh;padding:6rem 4rem;
  overflow:hidden;
}
.cine-visual-bg{
  position:absolute;inset:0;
  transition:transform 1.4s var(--expo);
}
.cine-onyx .cine-visual-bg{background:var(--cream)}
.cine-gold  .cine-visual-bg{background:linear-gradient(135deg,#0d0b07 0%,#1a140a 100%)}
.cine-product:hover .cine-visual-bg{transform:scale(1.04)}

.cine-img{
  position:relative;z-index:2;
  height:520px;width:auto;
  object-fit:contain;
  transition:transform 1.2s var(--expo),filter 1s;
}
.cine-onyx .cine-img{
  filter:drop-shadow(0 40px 80px rgba(0,0,0,.25));
}
.cine-gold .cine-img{
  filter:drop-shadow(0 40px 80px rgba(196,162,99,.35))
         sepia(.45) saturate(1.4) brightness(1.08);
}
.cine-product:hover .cine-img{transform:translateY(-12px) scale(1.03)}

/* Vertical label overlay */
.cine-edition-label{
  position:absolute;top:50%;left:3rem;
  transform:translateY(-50%) rotate(-90deg);
  transform-origin:center center;
  font-family:var(--fd);font-size:.52rem;font-weight:400;
  letter-spacing:.5em;text-transform:uppercase;
  color:rgba(196,162,99,.3);white-space:nowrap;
  z-index:3;pointer-events:none;
}

/* Info side */
.cine-info{
  padding:8rem 5rem 8rem 6rem;
  display:flex;flex-direction:column;justify-content:center;
  position:relative;z-index:2;
  background:var(--black);
}
.cine-product:nth-child(even) .cine-info{
  padding:8rem 6rem 8rem 5rem;
}
.cine-onyx .cine-info{
  background:var(--cream);
  color:var(--black);
}
.cine-onyx .cine-info .cine-name{color:var(--black)}
.cine-onyx .cine-info .cine-name-sub{color:var(--gold-dk)}
.cine-onyx .cine-info .cine-badge{color:var(--gold-dk)}
.cine-onyx .cine-info .cine-desc{color:rgba(6,6,6,.65)}
.cine-onyx .cine-info .spec-k{color:rgba(6,6,6,.4)}
.cine-onyx .cine-info .cine-specs{
  border-top-color:rgba(140,109,63,.2);
  border-bottom-color:rgba(140,109,63,.2);
}
.cine-badge{
  font-size:.55rem;letter-spacing:.35em;
  text-transform:uppercase;color:var(--gold);
  margin-bottom:1.5rem;display:block;
}
.cine-name{
  font-family:var(--fd);
  font-size:clamp(3.5rem,5.5vw,5.8rem);
  font-weight:300;line-height:.9;letter-spacing:-.025em;
  margin-bottom:.6rem;
}
.cine-name-sub{
  font-family:var(--fd);font-size:1.1rem;font-style:italic;
  color:var(--gold-lt);display:block;margin-bottom:3rem;
  letter-spacing:.02em;
}
.cine-desc{
  font-size:.98rem;line-height:1.92;color:var(--text-mute);
  max-width:36rem;letter-spacing:.02em;margin-bottom:2.5rem;
}
.cine-specs{
  display:flex;flex-direction:column;gap:.9rem;
  margin-bottom:3.5rem;
  padding:2rem 0;
  border-top:1px solid rgba(196,162,99,.12);
  border-bottom:1px solid rgba(196,162,99,.12);
}
.cine-spec{
  display:flex;justify-content:space-between;align-items:center;
}
.spec-k{
  font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.3);
}
.spec-v{
  font-family:var(--fd);font-size:.9rem;font-weight:300;
  color:var(--gold-lt);letter-spacing:.05em;font-style:italic;
}
.cine-num{
  position:absolute;
  font-family:var(--fd);font-size:clamp(9rem,14vw,16rem);
  font-weight:400;line-height:1;color:transparent;
  -webkit-text-stroke:1px rgba(196,162,99,.055);
  pointer-events:none;user-select:none;bottom:2rem;right:3rem;
  z-index:1;
}

/* ─── HOW IT WORKS ───────────────────────────── */
#how{
  padding:13rem 4rem;
  background:var(--cream);color:var(--black);
}
.how-wrap{max-width:1200px;margin:0 auto}
.how-ey{margin-bottom:5rem}
.how-ey.eyebrow{color:var(--gold-dk)}
.how-ey.eyebrow::before{background:var(--gold-dk)}
.how-title{
  font-family:var(--fd);
  font-size:clamp(2.8rem,4.8vw,4.8rem);
  font-weight:300;line-height:1.06;
  letter-spacing:-.02em;margin-bottom:8rem;
}
.how-title em{font-style:italic;color:var(--gold-dk)}
.steps{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(0,0,0,.1);
  border-left:1px solid rgba(0,0,0,.1);
}
.step{
  padding:4rem 3rem;
  border-right:1px solid rgba(0,0,0,.1);
  border-bottom:1px solid rgba(0,0,0,.1);
  position:relative;overflow:hidden;
}
.step::after{
  content:'';position:absolute;inset:0;
  background:var(--black);
  transform:translateY(102%);
  transition:transform .65s var(--expo);
}
.step:hover::after{transform:translateY(0)}
.step-n{
  font-family:var(--fd);font-size:5rem;font-weight:300;
  color:rgba(0,0,0,.07);line-height:1;
  position:relative;z-index:1;transition:color .65s;
}
.step-t{
  font-family:var(--fd);font-size:1.65rem;font-weight:400;
  margin:1.5rem 0 1rem;letter-spacing:-.01em;
  position:relative;z-index:1;transition:color .65s;
}
.step-b{
  font-size:.82rem;line-height:1.85;color:rgba(0,0,0,.48);
  position:relative;z-index:1;transition:color .65s;
}
.step:hover .step-n{color:rgba(196,162,99,.15)}
.step:hover .step-t{color:var(--gold-lt)}
.step:hover .step-b{color:rgba(255,255,255,.42)}

/* ─── CONTACT ────────────────────────────────── */
#contact{
  padding:16rem 4rem;background:var(--black);
  position:relative;overflow:hidden;
}
.contact-glow{
  position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 55% 50% at 50% 50%, rgba(196,162,99,.07) 0%, transparent 65%);
}
.contact-circles{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.contact-circles span{
  position:absolute;top:50%;left:50%;
  border:1px solid rgba(196, 162, 99, 0.398);
  border-radius:50%;transform:translate(-50%,-50%);
}
.contact-wrap{
  max-width:960px;margin:0 auto;
  text-align:center;position:relative;z-index:1;
}
.contact-ey{margin-bottom:2.5rem;justify-content:center}
.contact-title{
  font-family:var(--fd);
  font-size:clamp(3.5rem,7.5vw,8.5rem);
  font-weight:300;line-height:.88;
  letter-spacing:-.025em;margin-bottom:2.2rem;
}
.contact-title em{font-style:italic;color:var(--gold-lt);display:block}
.contact-sub{
  font-size:.88rem;color:var(--text-mute);
  letter-spacing:.03em;margin-bottom:4.5rem;
  line-height:1.75;max-width:38rem;margin-left:auto;margin-right:auto;
}
.contact-email-wrap{
  display:inline-flex;flex-direction:column;
  align-items:center;gap:.5rem;margin-bottom:5rem;
}
.contact-email-label{
  font-size:.52rem;letter-spacing:.3em;text-transform:uppercase;
  color:rgba(255,255,255,.25);
}
.contact-email{
  font-family:var(--fd);
  font-size:clamp(1.2rem,2.8vw,2.2rem);
  font-style:italic;font-weight:300;
  color:var(--gold);letter-spacing:.03em;
  border-bottom:1px solid rgba(196,162,99,.3);
  padding-bottom:.4rem;
  transition:color .3s,border-color .3s;
}
.contact-email:hover{color:var(--gold-lt);border-color:var(--gold-lt)}
.contact-sign{
  display:flex;align-items:center;gap:2rem;justify-content:center;
  color:rgba(255,255,255,.18);font-size:.58rem;letter-spacing:.25em;text-transform:uppercase;
}
.contact-sign::before,.contact-sign::after{
  content:'';flex:1;max-width:120px;height:1px;
  background:rgba(196,162,99,.15);
}

/* ─── FOOTER ─────────────────────────────────── */
footer{
  background:var(--black);
  border-top:1px solid rgba(196,162,99,.1);
  padding:3rem 4rem;
}
.footer-in{
  max-width:1200px;margin:0 auto;
  display:flex;justify-content:space-between;align-items:center;gap:2rem;
}
.footer-name{
  font-family:var(--fd);font-size:1.1rem;font-weight:300;
  letter-spacing:.25em;text-transform:uppercase;
}
.footer-tag{
  font-size:.55rem;color:rgba(255,255,255,.22);
  letter-spacing:.15em;text-transform:uppercase;margin-top:.3rem;
}
.footer-r{font-size:.58rem;color:rgba(255,255,255,.2);letter-spacing:.1em;text-align:right}
.footer-r a{color:rgba(196,162,99,.45);transition:color .3s}
.footer-r a:hover{color:var(--gold)}

/* ─── RESPONSIVE ─────────────────────────────── */
@media(max-width:1000px){
  #hero{grid-template-columns:1fr;text-align:center;padding:0 1.5rem;justify-items:center}
  .hero-eyebrow{justify-content:center}
  .hero-sub{margin-left:auto;margin-right:auto}
  .hero-right{display:none}
  .about-wrap{grid-template-columns:1fr;gap:3rem}
  .cine-product{grid-template-columns:1fr;min-height:auto}
  .cine-product:nth-child(even) .cine-visual{order:1}
  .cine-product:nth-child(even) .cine-info{order:2}
  .cine-visual{min-height:60vh}
  .cine-info{padding:4rem 2rem}
  .cine-product:nth-child(even) .cine-info{padding:4rem 2rem}
  .coll-intro{flex-direction:column;align-items:flex-start;padding:8rem 1.5rem 0}
  .steps{grid-template-columns:1fr}
  .step{border-right:none}
  #nav{padding:0 1.5rem}
  .nav-links{display:none}
  .footer-in{flex-direction:column;text-align:center}
  .footer-r{text-align:center}
  section,#about,#how,#contact{padding-left:1.5rem!important;padding-right:1.5rem!important}
}
