:root{
  --bg:#f6efe9;
  --accent:#f6c86b;
  --dark:#0b0b0b;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;min-height:100vh;display:flex;flex-direction:column;font-family: Inter, -apple-system, system-ui, Roboto, 'Segoe UI', 'Helvetica Neue', Arial;
  color:var(--dark);background:var(--bg);
}
.site-header{position:fixed;top:18px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:20px;z-index:20}
.title{margin:0;text-align:center;font-weight:700;line-height:0.9;font-size:36px;letter-spacing:1px;}
.greeting{display:block;font-family: 'JetBrains Mono', monospace;font-size:28px;font-weight:500;opacity:0;transform:translateY(30px);animation:liftIn .9s cubic-bezier(0.4, 0, 0.2, 1) forwards;transition:all .18s cubic-bezier(0.4, 0, 0.2, 1);animation-delay:0.5s}
.greeting:hover{transform:translateY(-6px);text-shadow:0 12px 32px rgba(0,0,0,0.15)}
.brand{display:block;font-size:58px;font-family: 'Fredoka', sans-serif;font-weight:700;letter-spacing:1px;opacity:0;transform:translateY(30px);animation:liftIn .9s cubic-bezier(0.4, 0, 0.2, 1) forwards;transition:all .18s cubic-bezier(0.4, 0, 0.2, 1);cursor:default;animation-delay:0.8s}
.brand:hover{transform:translateY(-16px);text-shadow:0 16px 40px rgba(0,0,0,0.2)}

@keyframes liftIn{
  0%{opacity:0;transform:translateY(60px)}
  100%{opacity:1;transform:translateY(0)}
}
.btns{position:absolute;right:220px;top:18px;display:flex;gap:10px;z-index:30}
.pill-btn{background:var(--accent);color:#000;padding:6px 12px;border-radius:18px;text-decoration:none;font-size:12px;box-shadow:0 2px 0 rgba(0,0,0,0.08);transition:transform .18s ease, box-shadow .18s ease;opacity:0;transform:translateY(-30px);animation:slideInTop .8s cubic-bezier(.25,.46,.45,.94) forwards}
.pill-btn:hover{transform:translateY(-3px);box-shadow:0 6px 18px rgba(0,0,0,0.12)}

/* staggered drop-in for header buttons */
.btns .pill-btn:nth-child(1){animation-delay:0.08s}
.btns .pill-btn:nth-child(2){animation-delay:0.22s}
.btns .pill-btn:nth-child(3){animation-delay:0.36s}

@keyframes slideInTop{
  0%{opacity:0;transform:translateY(-40px)}
  100%{opacity:1;transform:translateY(0)}
}

/* hamburger button (mobile) */
.hamburger{display:block;position:absolute;right:18px;top:14px;width:48px;height:44px;background:transparent;border:0;cursor:pointer;z-index:120;transition:transform .18s ease}
.hamburger:hover{transform:scale(1.08)}
.hamburger .bar{display:block;height:3px;background:var(--dark);border-radius:3px;margin:5px 0;transition:transform .35s cubic-bezier(.2,.9,.2,1),opacity .28s ease}
.hamburger.active .bar:nth-child(1){transform:translateY(8px) rotate(45deg)}
.hamburger.active .bar:nth-child(2){opacity:0}
.hamburger.active .bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* side nav (right) */
.nav-menu{position:fixed;right:0;top:8px;bottom:8px;width:500px;border-radius:24px 0 0 24px;background:#FFECC7;box-shadow:-6px 0 48px rgba(0,0,0,0.12);opacity:1;transform:translateX(100%);pointer-events:none;transition:transform .5s cubic-bezier(.2,.9,.25,1),box-shadow .4s ease;z-index:140;overflow:hidden;display:flex;align-items:center;justify-content:center}
body.nav-open .nav-menu{transform:translateX(0);pointer-events:auto}
body.nav-open .hamburger{z-index:160;background:rgba(246,200,107,0.12);border-radius:8px}
body.nav-open .hamburger .bar{background:var(--dark)}

.nav-links{display:flex;flex-direction:column;gap:20px;padding:40px}
.nav-link{font-family:'Fredoka', sans-serif;font-size:24px;text-decoration:none;color:var(--dark);padding:12px 24px;border-radius:12px;transition:all .18s ease;background:rgba(255,255,255,0.3)}
.nav-link:hover{background:rgba(255,255,255,0.6);transform:translateX(-8px)}
.scene{flex:1;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.waves{position:relative;width:100%;height:100vh}
.wave{position:absolute;left:0;bottom:0;width:200%;height:50vh}
.wave--back{z-index:1;opacity:1;transform-origin:center;animation:driftBack 30s ease-in-out infinite;will-change:transform}
.wave--mid{z-index:2;opacity:0.95;animation:driftMid 22s ease-in-out infinite;will-change:transform}
.wave--front{z-index:3;opacity:1;animation:driftFront 18s ease-in-out infinite;will-change:transform}

@keyframes driftBack{
  0%{transform:translateX(0) translateY(0)}
  50%{transform:translateX(-10%) translateY(8px)}
  100%{transform:translateX(0) translateY(0)}
}
@keyframes driftMid{
  0%{transform:translateX(0) translateY(0)}
  50%{transform:translateX(-6%) translateY(10px)}
  100%{transform:translateX(0) translateY(0)}
}
@keyframes driftFront{
  0%{transform:translateX(0) translateY(0)}
  50%{transform:translateX(-3%) translateY(12px)}
  100%{transform:translateX(0) translateY(0)}
}

/* subtle paper texture using CSS gradient overlay */
.scene::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(0,0,0,0.02) 1px, transparent 1px);background-size:6px 6px;opacity:0.4;pointer-events:none}

/* header entrance */
.site-header{transform:translateY(-6px);opacity:0;animation:headerIn 1s ease forwards 0.3s}
@keyframes headerIn{to{transform:none;opacity:1}}

.shop-btn{transition:transform .18s ease, box-shadow .18s ease}
.shop-btn:hover{transform:translateY(-3px);box-shadow:0 6px 18px rgba(0,0,0,0.12)}

/* responsive tweaks */
@media (max-width:600px){
  .title{font-size:24px}
  .brand{font-size:38px;transform:translateY(-4px)}
  .brand:hover{transform:translateY(-8px);text-shadow:0 8px 24px rgba(0,0,0,0.15)}
  .shop-btn{right:12px;top:12px}
  .btns{right:12px}
}

/* Large-screen optimizations (e.g. 1920x1080) */
@media (min-width:1600px){
  .title{font-size:42px}
  .brand{font-size:78px;transform:translateY(-18px)}
  .brand:hover{transform:translateY(-24px);text-shadow:0 20px 48px rgba(0,0,0,0.2)}
  .btns{right:360px}
  .waves{height:110vh}
}

@media (max-width:900px){
  .hamburger{display:block}
}

/* Page content styles */
.page-content{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:120px 20px 20px;
}

.content-box{
  background:rgba(255,255,255,0.7);
  backdrop-filter:blur(10px);
  border-radius:24px;
  padding:40px 60px;
  max-width:600px;
  width:100%;
  box-shadow:0 8px 32px rgba(0,0,0,0.08);
}

.content-box h2{
  font-family:'Fredoka', sans-serif;
  font-size:36px;
  margin:0 0 16px 0;
  color:var(--dark);
}

.content-box p{
  font-size:18px;
  line-height:1.6;
  margin:0;
  color:var(--dark);
  opacity:0.8;
}

/* Social links styles */
.social-links{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:32px;
  justify-content:center;
}

.social-btn{
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px 24px;
  background:rgba(255,255,255,0.5);
  border-radius:16px;
  text-decoration:none;
  color:var(--dark);
  font-weight:600;
  font-size:16px;
  transition:all .2s ease;
  box-shadow:0 2px 8px rgba(0,0,0,0.06);
}

.social-btn:hover{
  transform:translateY(-4px);
  box-shadow:0 8px 24px rgba(0,0,0,0.12);
  background:rgba(255,255,255,0.8);
}

.social-btn svg{
  flex-shrink:0;
}
