* {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body {
  margin: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
img {
  max-width: 100%;
  height: auto;
  display: block;
}

section,
header,
.hero,
.container {
  max-width: 100%;
}

.hero,
.header {
  width: 100%;
}
:root{
  --bg:#fffaf5;
  
  --primary:#efbb8f;
  --primary-dark:#d99f71;
  --primary-soft:#fde8d7;
  --ink:#242424;
  --muted:#6f655f;
  --shadow:0 14px 34px rgba(56,34,18,.10);
  --shadow-hover:0 22px 52px rgba(56,34,18,.17);
  --radius-xl:32px;
  --nav-height:82px;
  --container:min(1180px, calc(100% - 2rem));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;
scroll-padding-top:calc(var(--nav-height) + 18px);
}
body{
  margin:0;
  font-family:'Inter',sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at top left,#fff0e4 0,transparent 26%),
    radial-gradient(circle at bottom right,#fde7d5 0,transparent 28%),
    var(--bg);
  line-height:1.6;
  overflow-x:hidden;
}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button{font:inherit}

.container{width:var(--container);margin-inline:auto}
.section{padding:100px 0;scroll-margin-top:calc(var(--nav-height) + 18px)}
.section-head{display:grid;gap:12px;margin-bottom:38px}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  color:var(--primary-dark);
  font-size:.84rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase
}
.eyebrow::before{content:'';width:34px;height:1px;background:currentColor;opacity:.55}
.eyebrow.light{color:#ffe3c6}
h1,h2,h3,h4{margin:0;font-family:'Playfair Display',serif;line-height:1.08}
h1{font-size:clamp(3rem,7vw,6rem)}
h2{font-size:clamp(2.2rem,4vw,3.7rem)}
h3{font-size:clamp(1.3rem,2vw,1.85rem)}
h4{font-size:1.18rem}
p{margin:0;color:var(--muted)}

.site-header{
  position:sticky;top:0;z-index:1000;height:var(--nav-height);
  background:rgba(255,250,245,.78);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(36,36,36,.05)
}
.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:inline-flex;align-items:center;gap:14px;min-width:0}
.brand-logo{
  width:56px;height:56px;border-radius:50%;object-fit:cover;
  border:2px solid rgba(0,0,0,.06);background:#f6d0a9;
  box-shadow:0 6px 16px rgba(0,0,0,.08)
}
.brand-text strong{display:block;font-size:1rem;letter-spacing:.02em}
.brand-text span{display:block;font-size:.82rem;color:var(--muted);white-space:nowrap}

.nav-panel{display:flex}
.nav-links{display:flex;align-items:center;gap:6px;list-style:none;padding:0;margin:0}
.nav-links a{
  display:inline-flex;padding:12px 16px;border-radius:999px;
  color:var(--muted);font-size:.95rem;transition:.25s ease
}
.nav-links a:hover,.nav-links a.active{
  background:rgba(239,187,143,.18);color:var(--ink)
}

.menu-toggle{
  width:50px;height:50px;display:none;align-items:center;justify-content:center;
  border-radius:16px;border:1px solid rgba(36,36,36,.08);
  background:rgba(255,255,255,.78);box-shadow:var(--shadow);
  cursor:pointer;position:relative;transition:.25s ease
}
.menu-toggle:hover{transform:translateY(-2px)}
.menu-toggle span,.menu-toggle::before,.menu-toggle::after{
  content:'';position:absolute;width:22px;height:2px;background:var(--ink);
  border-radius:2px;transition:.25s ease
}
.menu-toggle::before{transform:translateY(-7px)}
.menu-toggle::after{transform:translateY(7px)}
.menu-toggle.open span{opacity:0}
.menu-toggle.open::before{transform:rotate(45deg)}
.menu-toggle.open::after{transform:rotate(-45deg)}

.hero{
  position:relative;min-height:calc(100vh - var(--nav-height));
  display:flex;align-items:center;overflow:hidden;isolation:isolate
}
.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.04);
}
.hero-overlay{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(120deg,rgba(17,17,17,.62),rgba(17,17,17,.18)),
    linear-gradient(to top,rgba(255,250,245,.92) 0%,rgba(255,250,245,.12) 32%,rgba(255,250,245,0) 48%)
}
.hero-inner{
  position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;
  gap:40px;align-items:center;padding:62px 0
}
.hero-copy{color:#fff;max-width:680px}
.hero-copy p{color:rgba(255,255,255,.82);font-size:1.06rem;max-width:560px;margin-top:20px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:54px;
  padding:0 24px;border-radius:999px;border:none;cursor:pointer;
  font-weight:700;transition:transform .25s ease, box-shadow .25s ease, background .25s ease
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{
  background:linear-gradient(135deg,var(--primary),#f4cfaa);color:#1b1b1b;
  box-shadow:0 16px 28px rgba(239,187,143,.28)
}
.btn-secondary{
  background:rgba(255,255,255,.1);color:#fff;
  border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(12px)
}
.hero-feature{
  justify-self:end;width:min(410px,100%);padding:20px;border-radius:30px;
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(18px);box-shadow:0 24px 58px rgba(0,0,0,.18)
}
.hero-feature img{border-radius:22px;aspect-ratio:4/5;object-fit:cover}
.hero-feature-text{padding:16px 6px 6px;color:#fff}
.hero-feature-text small{color:rgba(255,255,255,.72)}
.hero-feature-text p{color:rgba(255,255,255,.78);margin-top:10px}

.about-grid,.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.about-card,.panel{
  background:rgba(255,255,255,.84);
  border:1px solid rgba(36,36,36,.06);
  box-shadow:var(--shadow)
}
.about-card{
  padding:30px;border-radius:var(--radius-xl)
}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.stat{
  padding:18px;border-radius:20px;background:var(--primary-soft);
  border:1px solid rgba(239,187,143,.28)
}
.stat strong{display:block;color:var(--ink);font-size:1.2rem}
.stat span{font-size:.9rem;color:var(--muted)}
.about-visual{position:relative}
.about-visual img{
  width:100%;min-height:560px;object-fit:cover;border-radius:34px;
  box-shadow:var(--shadow-hover)
}
.floating-note{
  position:absolute;left:24px;bottom:24px;max-width:310px;
  padding:18px 20px;border-radius:22px;background:rgba(255,255,255,.88);
  backdrop-filter:blur(12px);box-shadow:var(--shadow)
}
.floating-note strong{display:block;margin-bottom:4px}
.floating-note span{color:var(--muted)}

.menu-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}

.menu-bottom{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
  margin-top:24px;
}
.menu-bottom{margin-top:24px}
.panel{padding:28px;border-radius:30px}
.panel-head{
  display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:18px
}
.panel-head span{
  color: var(--ink);
  font-weight: 800;
  font-size: 1rem;
}
.panel-subsection{margin-top:30px}
.menu-list{display:grid;gap:12px}
.menu-item{
  display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;
  padding:14px 16px;border-radius:18px;background:linear-gradient(180deg,#fff,#fffaf6);
  border:1px solid rgba(36,36,36,.05);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease
}
.menu-item:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:rgba(239,187,143,.35)}
.menu-item strong{display:block}
.menu-item small{display:block;font-size:.82rem;color:var(--muted);margin-top:2px}
.menu-item span{font-weight:800;white-space:nowrap}

.flavor-block + .flavor-block{margin-top:24px}
.flavor-block h4{margin-bottom:14px}
.ball-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
}
.flavor-subgroup{
  position:relative;
  padding-right:34px;
}

.flavor-subgroup + .flavor-subgroup{
  margin-top:22px;
  padding-top:22px;
  border-top:1px solid rgba(36,36,36,.08);
}

.flavor-side-label{
  position:absolute;
  top:6px;
  right:-2px;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--primary-dark);
  opacity:.9;
}
.ball{
   width:100%;
  max-width:108px;
  aspect-ratio:1;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;text-align:center;
  padding:14px;font-size:.8rem;font-weight:700;position:relative;overflow:hidden;
  box-shadow:inset 0 12px 18px rgba(255,255,255,.22),0 10px 22px rgba(0,0,0,.14);
  transition:transform .3s ease, box-shadow .3s ease
}
.ball::after{
  content:'';position:absolute;inset:9% 20% auto 20%;height:22%;
  border-radius:50%;background:rgba(255,255,255,.16);filter:blur(8px)
}
.ball:hover{transform:translateY(-8px) scale(1.05) rotate(-2deg);box-shadow:inset 0 14px 20px rgba(255,255,255,.25),0 18px 30px rgba(0,0,0,.18)}
.ball.dark{color:#fff}
.chocolate{background:#704126}.vanilla{background:#f6dc7b}.kinderlada{background:#d3a06a}.donvito{background:#f2d05e}.rafaelo{background:#faf4ef}
.hazelnut{background:#c89a68}.snikers{background:#9c6842}.stracciatella{background:radial-gradient(circle at 30% 30%,#fff,#f4f4f4 60%,#ececec)}
.pistachio{background:#9bbb72}.smurf{background:#60b8ff}.rumpunc{background:#c18c6d}.cookies{background:#dfc4a3}.amarena{background:#f3ccd6}
.strawberry{background:#ff7d98}.blueberry{background:#6e62d9}.apple{background:#8ed05b}.forest{background:#933152}.lemon{background:#fff0a5}
.watermelon{background:#ff8d88}.ferrero{background:#6a422e}.redbull{background:#d73a34}.redorange{background:#ff8a53}.banana{background:#ffe18a}.mango{background:#ffbc5b}

.section-note{
  margin-bottom:18px;padding:14px 16px;border-radius:18px;
  background:var(--primary-soft);border:1px solid rgba(239,187,143,.26)
}

.cups-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
}
.cup-card{
  overflow:hidden;border-radius:24px;background:#fff;border:1px solid rgba(36,36,36,.05);
  box-shadow:var(--shadow);transition:transform .28s ease, box-shadow .28s ease
}
.cup-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover)}
.cup-card img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .45s ease}
.cup-card:hover img{transform:scale(1.06)}
.cup-body{padding:16px}
.cup-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:10px}
.badge{
  padding:8px 12px;border-radius:999px;background:var(--primary-soft);
  font-weight:800;white-space:nowrap
}

.info-list{display:grid;gap:12px;margin-bottom:22px}
.info-row{
  display:flex;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:18px;
  background:#fffaf5;border:1px solid rgba(36,36,36,.05)
}
.map-wrap{overflow:hidden;border-radius:24px;border:1px solid rgba(36,36,36,.06);min-height:380px}
.map-wrap iframe{width:100%;height:100%;min-height:380px;border:0}

.socials{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.social{
  padding:12px 16px;border-radius:999px;background:var(--primary-soft);
  border:1px solid rgba(239,187,143,.28);font-weight:700;transition:.25s ease
}
.social:hover{transform:translateY(-3px)}

.site-footer{
  padding:36px 0 48px;border-top:1px solid rgba(36,36,36,.06);
  background:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,.88))
}
.footer-inner{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:center
}
.footer-nav{display:flex;flex-wrap:wrap;gap:10px}
.footer-nav a{padding:10px 14px;border-radius:999px;color:var(--muted);transition:.25s ease}
.footer-nav a:hover{background:rgba(239,187,143,.18);color:var(--ink)}

.reveal{
  opacity:0;
  transform:translateY(46px) rotateX(8deg) scale(.96);
  transform-origin:center top;
  transition:
    opacity .85s cubic-bezier(.16,1,.3,1),
    transform .85s cubic-bezier(.16,1,.3,1);
}

.reveal.visible{
  opacity:1;
  transform:translateY(0) rotateX(0) scale(1);
}

.reveal.delay-1{transition-delay:.08s}
.reveal.delay-2{transition-delay:.14s}
.reveal.delay-3{transition-delay:.20s}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .reveal{
    opacity:1;
    transform:none;
    filter:none;
    transition:none;
  }
}

@media (max-width:1120px){
  .hero-inner,.about-grid,.menu-grid,.menu-bottom,.info-grid{grid-template-columns:1fr}
  .hero-feature{justify-self:start}
}
@media (max-width:860px){
  :root{--nav-height:76px}
  .menu-toggle{display:inline-flex}
  .nav-panel{
    position:fixed;inset:var(--nav-height) 0 auto 0;
    background:rgba(255,250,245,.97);backdrop-filter:blur(20px);
    border-bottom:1px solid rgba(36,36,36,.06);
    transform:translateY(-115%);opacity:0;pointer-events:none;transition:.3s ease
  }
  .nav-panel.open{transform:translateY(0);opacity:1;pointer-events:auto}
  .nav-links{
    width:var(--container);margin-inline:auto;padding:18px 0 22px;
    flex-direction:column;align-items:stretch
  }
  .nav-links a{
    width:100%;justify-content:space-between;background:rgba(255,255,255,.72);
    border:1px solid rgba(36,36,36,.06)
  }
  .hero{min-height:auto;padding:36px 0 60px}
  .hero-inner{padding:26px 0 0}
  .stats,.cups-grid{grid-template-columns:repeat(2,1fr)}
  .ball{width:96px}
  .section{padding:82px 0}
  .ball-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}
}
@media (max-width:560px){
  .brand-text span{display:none}
  .section{padding:72px 0}
  .panel,.about-card,.review-card{padding:22px}
  .hero-actions .btn{width:100%}
  .stats{grid-template-columns:1fr}
  .cups-grid{grid-template-columns:repeat(2,1fr)}
  .panel-head,.info-row,.footer-inner{flex-direction:column;align-items:flex-start}
  .menu-item{grid-template-columns:1fr}
  .ball{width:88px;font-size:.76rem}
  .ball-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .nav-wrap{
    width:calc(100% - 1rem);
  }

  .menu-toggle{
    margin-left:auto;
  }
}

.reviews-cta{
  display:flex;
  justify-content:center;
  margin-top:28px;
}

@media (max-width: 700px){
  .reviews-slider{
    grid-template-columns:1fr;
    gap:14px;
  }

  .review-arrow{
    display:none;
  }
}

@media (max-width: 560px){
  .flavor-subgroup{
    padding-right:34px;
  }

  .flavor-side-label{
    font-size:.68rem;
    letter-spacing:.08em;
  }
}


.panel{
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.panel:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-hover);
  border-color:rgba(239,187,143,.32);
}


.brand-logo{
  transition:transform .3s ease, box-shadow .3s ease;
}

.brand:hover .brand-logo{
  transform:rotate(-5deg) scale(1.05);
  box-shadow:0 12px 28px rgba(0,0,0,.14);
}

.btn{
  position:relative;
  overflow:hidden;
}

.btn::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);
  transform:translateX(-120%);
  transition:transform .6s ease;
}

.btn:hover::after{
  transform:translateX(120%);
}


@media (max-width:860px){
  .panel:hover,
  .cup-card:hover,
  .menu-item:hover{
    transform:translateY(-5px);
  }

}

@media (prefers-reduced-motion: reduce){
  .hero-feature,
  .panel,
  .cup-card,
  .menu-item{
    animation:none !important;
    transform:none !important;
    transition:none !important;
  }
}
