:root{
  --mint-cream:#F0FDF4;
  --pure-paper:#FFFFFF;
  --deep-olive:#3F6212;
  --warm-olive:#65A30D;
  --electric-lime:#84CC16;
  --vivid-citron:#A3E635;
  --pale-lime:#D9F99D;
  --soft-yellow:#FEF08A;
  --pastel-lime:#ECFCCB;
  --ink-shadow:rgba(63,98,18,0.18);
  --lime-glow:rgba(132,204,22,0.45);
  --soft-glow:rgba(132,204,22,0.18);
  --radius-xl:64px;
  --radius-lg:32px;
  --radius-md:24px;
  --radius-sm:16px;
  --side-w:280px;
  --side-w-compact:88px;
}

strong, p, span, h1, h2, h3, h4, h5, h6, li, a, button, label, input, textarea, select{
  color:inherit;
}

*{box-sizing:border-box;}

html, body{
  margin:0;
  padding:0;
  background:var(--mint-cream);
  color:var(--deep-olive);
  font-family:'Outfit',system-ui,sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  scroll-behavior:smooth;
  overflow-x:hidden;
}

body{
  padding-left:var(--side-w);
  min-height:100vh;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  background-image:
    linear-gradient(to right, rgba(132,204,22,0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(132,204,22,0.04) 1px, transparent 1px);
  background-size:100px 100px;
  pointer-events:none;
  z-index:0;
}

main, header, footer{position:relative; z-index:1;}

::-webkit-scrollbar{width:8px; height:8px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--electric-lime); border-radius:64px; opacity:0.6;}
::-webkit-scrollbar-thumb:hover{background:var(--warm-olive);}

.font-display{font-family:'Anton',sans-serif; font-weight:400; letter-spacing:-0.04em; line-height:0.95;}
.font-mono{font-family:'JetBrains Mono',monospace;}
.font-body{font-family:'Outfit',sans-serif;}

.ink-text{color:var(--deep-olive);}
.olive-text{color:var(--warm-olive);}
.lime-text{color:var(--electric-lime);}
.cream-text{color:var(--mint-cream);}

.bg-mint{background:var(--mint-cream)!important; color:var(--deep-olive);}
.bg-paper{background:var(--pure-paper)!important; color:var(--deep-olive);}
.bg-lime{background:var(--electric-lime)!important; color:var(--pure-paper);}
.bg-deep{background:var(--deep-olive)!important; color:var(--mint-cream);}

.savor-sidebar{
  position:fixed;
  top:0; left:0; bottom:0;
  width:var(--side-w);
  background:var(--pure-paper);
  border-right:1px solid var(--pale-lime);
  box-shadow:4px 0 24px var(--soft-glow);
  display:flex;
  flex-direction:column;
  padding:28px 22px;
  z-index:1000;
  transition:width 0.4s cubic-bezier(0.34,1.56,0.64,1);
  overflow:hidden;
}

.savor-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  padding-bottom:28px;
  border-bottom:1px dashed var(--pale-lime);
  margin-bottom:28px;
}

.savor-mark{
  width:64px; height:64px;
  background:var(--electric-lime);
  border-radius:24px 64px 24px 64px;
  display:grid; place-items:center;
  color:var(--pure-paper);
  font-family:'Anton',sans-serif;
  font-size:38px;
  line-height:1;
  position:relative;
  transform:rotate(-6deg);
  box-shadow:0 8px 24px var(--lime-glow);
}
.savor-mark::after{
  content:"";
  position:absolute;
  width:14px; height:14px;
  background:var(--pure-paper);
  border-radius:50%;
  top:8px; right:8px;
}

.savor-domain{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  color:var(--electric-lime);
  background:var(--deep-olive);
  padding:3px 10px;
  border-radius:64px;
  letter-spacing:0.06em;
  text-transform:lowercase;
  white-space:nowrap;
}

.savor-title{
  font-family:'Anton',sans-serif;
  font-size:22px;
  line-height:1;
  color:var(--deep-olive);
  letter-spacing:-0.02em;
}
.savor-title small{
  display:block;
  font-family:'Outfit',sans-serif;
  font-size:10px;
  font-weight:600;
  color:var(--warm-olive);
  letter-spacing:0.18em;
  text-transform:uppercase;
  margin-top:6px;
}

.savor-nav{
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:1;
}

.savor-nav a{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 18px;
  border-radius:var(--radius-lg);
  text-decoration:none;
  color:var(--deep-olive);
  font-weight:600;
  font-size:14px;
  transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1);
  position:relative;
}
.savor-nav a .nav-glyph{
  width:28px; height:28px;
  display:grid; place-items:center;
  background:var(--pastel-lime);
  border-radius:12px;
  color:var(--deep-olive);
  font-size:14px;
  transition:all 0.3s ease;
}
.savor-nav a:hover{
  background:rgba(132,204,22,0.18);
  color:var(--deep-olive);
  transform:translateX(4px);
}
.savor-nav a:hover .nav-glyph{
  background:var(--electric-lime);
  color:var(--pure-paper);
  transform:rotate(-8deg) scale(1.1);
}
.savor-nav a.active{
  background:var(--electric-lime);
  color:var(--pure-paper);
}
.savor-nav a.active .nav-glyph{
  background:var(--deep-olive);
  color:var(--electric-lime);
}

.savor-cta-side{
  margin-top:24px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.btn-savor{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:18px 28px;
  background:var(--electric-lime);
  color:var(--pure-paper);
  border:none;
  border-radius:var(--radius-xl);
  font-family:'Outfit',sans-serif;
  font-weight:700;
  font-size:15px;
  text-decoration:none;
  cursor:pointer;
  transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1);
  box-shadow:0 8px 24px var(--lime-glow);
  white-space:nowrap;
  min-height:54px;
  letter-spacing:0.01em;
}
.btn-savor:hover{
  background:var(--warm-olive);
  color:var(--pure-paper);
  transform:translateY(-3px);
  box-shadow:0 14px 32px var(--lime-glow);
}
.btn-savor:active{transform:translateY(-1px);}

.btn-ghost{
  background:transparent;
  color:var(--deep-olive);
  border:2px solid var(--electric-lime);
  box-shadow:none;
}
.btn-ghost:hover{
  background:var(--pale-lime);
  color:var(--deep-olive);
  border-color:var(--warm-olive);
  box-shadow:none;
}

.btn-ink{
  background:var(--deep-olive);
  color:var(--mint-cream);
  box-shadow:0 8px 24px rgba(63,98,18,0.35);
}
.btn-ink:hover{background:var(--warm-olive); color:var(--pure-paper);}

.btn-paper{
  background:var(--pure-paper);
  color:var(--deep-olive);
  box-shadow:0 8px 24px rgba(63,98,18,0.12);
  border:1px solid var(--pale-lime);
}
.btn-paper:hover{background:var(--pastel-lime); color:var(--deep-olive);}

.savor-burger{
  display:none;
  position:fixed;
  top:18px; right:18px;
  z-index:1100;
  width:54px; height:54px;
  background:var(--electric-lime);
  color:var(--pure-paper);
  border:none;
  border-radius:18px;
  box-shadow:0 8px 24px var(--lime-glow);
  cursor:pointer;
  flex-direction:column;
  gap:5px;
  align-items:center;
  justify-content:center;
}
.savor-burger span{
  display:block;
  width:22px; height:2.5px;
  background:var(--pure-paper);
  border-radius:2px;
  transition:all 0.3s ease;
}
.savor-burger.is-open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.savor-burger.is-open span:nth-child(2){opacity:0;}
.savor-burger.is-open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}

.savor-mobile{
  position:fixed;
  inset:0;
  background:rgba(240,253,244,0.97);
  backdrop-filter:blur(20px);
  z-index:1050;
  display:none;
  flex-direction:column;
  padding:100px 32px 40px;
  overflow-y:auto;
}
.savor-mobile.is-open{display:flex;}
.savor-mobile a{
  display:block;
  padding:18px 0;
  font-family:'Anton',sans-serif;
  font-size:38px;
  text-decoration:none;
  color:var(--deep-olive);
  border-bottom:1px dashed var(--pale-lime);
  letter-spacing:-0.02em;
  opacity:0;
  transform:translateY(20px);
  transition:all 0.5s cubic-bezier(0.34,1.56,0.64,1);
}
.savor-mobile.is-open a{
  opacity:1;
  transform:translateY(0);
}
.savor-mobile.is-open a:nth-child(1){transition-delay:0.08s;}
.savor-mobile.is-open a:nth-child(2){transition-delay:0.16s;}
.savor-mobile.is-open a:nth-child(3){transition-delay:0.24s;}
.savor-mobile.is-open a:nth-child(4){transition-delay:0.32s;}
.savor-mobile.is-open a:nth-child(5){transition-delay:0.40s;}
.savor-mobile.is-open a:nth-child(6){transition-delay:0.48s;}
.savor-mobile.is-open a:nth-child(7){transition-delay:0.56s;}

.savor-mobile::before, .savor-mobile::after{
  content:"";
  position:absolute;
  width:300px; height:300px;
  border-radius:50%;
  filter:blur(80px);
  pointer-events:none;
  animation:floatBlob 14s ease-in-out infinite;
}
.savor-mobile::before{
  background:var(--electric-lime);
  top:-100px; left:-100px;
  opacity:0.4;
}
.savor-mobile::after{
  background:var(--soft-yellow);
  bottom:-100px; right:-100px;
  opacity:0.5;
  animation-delay:-7s;
}

@keyframes floatBlob{
  0%,100%{transform:translate(0,0) scale(1);}
  33%{transform:translate(40px,-30px) scale(1.1);}
  66%{transform:translate(-30px,30px) scale(0.95);}
}

.savor-shell{
  max-width:1400px;
  margin:0 auto;
  padding:60px 56px;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  color:var(--warm-olive);
  text-transform:uppercase;
  letter-spacing:0.18em;
  margin-bottom:18px;
  padding:8px 16px;
  background:var(--pastel-lime);
  border-radius:64px;
  border:1px dashed var(--electric-lime);
}
.eyebrow::before{
  content:"";
  width:8px; height:8px;
  background:var(--electric-lime);
  border-radius:50%;
  animation:pulseDot 1.6s ease-in-out infinite;
}
@keyframes pulseDot{
  0%,100%{transform:scale(1); opacity:1;}
  50%{transform:scale(1.4); opacity:0.6;}
}

.h1-hero{
  font-family:'Anton',sans-serif;
  font-weight:400;
  font-size:clamp(46px,7.5vw,108px);
  line-height:0.92;
  color:var(--deep-olive);
  letter-spacing:-0.045em;
  margin:0 0 28px;
}
.h1-hero .accent{color:var(--electric-lime);}
.h1-hero .italic{font-style:italic; color:var(--warm-olive);}

.h2-section{
  font-family:'Anton',sans-serif;
  font-weight:400;
  font-size:clamp(38px,5.5vw,72px);
  line-height:0.95;
  color:var(--deep-olive);
  letter-spacing:-0.04em;
  margin:0 0 24px;
}

.h3-sub{
  font-family:'Outfit',sans-serif;
  font-weight:700;
  font-size:clamp(20px,2.4vw,32px);
  color:var(--deep-olive);
  margin:0 0 12px;
  letter-spacing:-0.01em;
}

.lead-text{
  font-size:clamp(16px,1.4vw,20px);
  line-height:1.7;
  color:var(--warm-olive);
  font-weight:400;
}

.mono-tag{
  font-family:'JetBrains Mono',monospace;
  font-size:13px;
  color:var(--warm-olive);
  letter-spacing:0.05em;
}

.hero-stage{
  min-height:calc(100vh - 60px);
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:60px;
  align-items:center;
  position:relative;
  padding:40px 0 60px;
}

.hero-stage::before, .hero-stage::after{
  content:"";
  position:absolute;
  border-radius:50%;
  filter:blur(70px);
  pointer-events:none;
  z-index:0;
}
.hero-stage::before{
  width:380px; height:380px;
  background:var(--electric-lime);
  top:0; right:18%;
  opacity:0.45;
  animation:floatBlob 18s ease-in-out infinite;
}
.hero-stage::after{
  width:320px; height:320px;
  background:var(--soft-yellow);
  bottom:0; left:8%;
  opacity:0.6;
  animation:floatBlob 22s ease-in-out infinite;
  animation-delay:-6s;
}

.hero-content{position:relative; z-index:2;}
.hero-visual{
  position:relative;
  z-index:1;
  height:560px;
  max-width:100%;
  border-radius:var(--radius-xl) var(--radius-lg) var(--radius-xl) var(--radius-lg);
  overflow:hidden;
  background:var(--pure-paper);
  border:2px solid var(--pale-lime);
  box-shadow:0 24px 60px rgba(63,98,18,0.18);
  transform:rotate(2deg);
  transition:transform 0.6s cubic-bezier(0.34,1.56,0.64,1);
}
.hero-visual:hover{transform:rotate(0deg) scale(1.02);}
.hero-visual img{width:100%; height:100%; object-fit:cover;}

.hero-stamp{
  position:absolute;
  top:24px; left:24px;
  background:var(--pure-paper);
  color:var(--deep-olive);
  padding:12px 18px;
  border-radius:64px;
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  box-shadow:0 8px 20px rgba(63,98,18,0.18);
  z-index:3;
  display:flex; align-items:center; gap:8px;
}
.hero-stamp::before{content:""; width:8px; height:8px; background:var(--electric-lime); border-radius:50%;}

.hero-tag-row{
  display:flex; flex-wrap:wrap; gap:10px;
  margin-bottom:24px;
}
.hero-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--pure-paper);
  color:var(--deep-olive);
  padding:8px 16px;
  border-radius:64px;
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  border:1px solid var(--pale-lime);
  box-shadow:0 4px 12px rgba(63,98,18,0.08);
}

.hero-cta-row{
  display:flex; flex-wrap:wrap; gap:16px;
  margin-top:36px;
}

.hero-metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:48px;
  padding-top:36px;
  border-top:1px dashed var(--pale-lime);
}
.metric-block{
  display:flex; flex-direction:column;
  gap:4px;
}
.metric-num{
  font-family:'Anton',sans-serif;
  font-size:42px;
  color:var(--electric-lime);
  line-height:1;
}
.metric-label{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  color:var(--warm-olive);
  letter-spacing:0.1em;
  text-transform:uppercase;
}

.bento-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:auto;
  gap:18px;
}
.bento-cell{
  background:var(--pure-paper);
  border-radius:var(--radius-md);
  padding:24px;
  position:relative;
  overflow:hidden;
  border:1px solid var(--pale-lime);
  transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1);
  display:flex; flex-direction:column;
  justify-content:space-between;
  color:var(--deep-olive);
}
.bento-cell:hover{
  transform:scale(1.04) translateY(-6px);
  z-index:10;
  border-color:var(--electric-lime);
  box-shadow:0 20px 40px var(--lime-glow);
}
.bento-cell.large{grid-column:span 2; grid-row:span 2;}
.bento-cell.medium-h{grid-column:span 1; grid-row:span 2;}
.bento-cell.wide{grid-column:span 2; grid-row:span 1;}
.bento-cell img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
.bento-cell .bento-content{position:relative; z-index:2; display:flex; flex-direction:column; height:100%; justify-content:space-between;}
.bento-cell.dark{background:var(--deep-olive); color:var(--mint-cream);}
.bento-cell.dark:hover{background:var(--warm-olive); color:var(--pure-paper);}
.bento-cell.citron{background:var(--electric-lime); color:var(--pure-paper);}
.bento-cell.citron:hover{background:var(--warm-olive);}
.bento-cell.citron .bento-title, .bento-cell.citron .bento-text{color:var(--pure-paper);}
.bento-cell.amber{background:var(--soft-yellow); color:var(--deep-olive);}
.bento-cell.pastel{background:var(--pastel-lime); color:var(--deep-olive);}

.bento-title{
  font-family:'Anton',sans-serif;
  font-size:26px;
  line-height:1;
  color:var(--deep-olive);
  margin:0;
  letter-spacing:-0.02em;
}
.bento-cell.large .bento-title{font-size:42px;}
.bento-text{
  font-size:14px;
  line-height:1.5;
  color:var(--warm-olive);
  margin:6px 0 0;
}
.bento-cell.dark .bento-title, .bento-cell.dark .bento-text{color:var(--mint-cream);}
.bento-tag{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  color:var(--electric-lime);
  text-transform:uppercase;
  letter-spacing:0.1em;
}
.bento-cell.dark .bento-tag{color:var(--pale-lime);}
.bento-cell.citron .bento-tag{color:var(--deep-olive);}
.bento-price{
  font-family:'Anton',sans-serif;
  font-size:30px;
  color:var(--electric-lime);
  line-height:1;
}
.bento-cell.dark .bento-price{color:var(--vivid-citron);}

.split-sticky{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:start;
  padding:80px 0;
}
.split-left{
  position:sticky;
  top:80px;
  height:fit-content;
  border-radius:var(--radius-xl);
  overflow:hidden;
  box-shadow:0 30px 60px rgba(63,98,18,0.18);
}
.split-left img{width:100%; height:640px; object-fit:cover; display:block;}
.split-right h2{margin-top:0;}

.story-block{
  margin-bottom:40px;
  padding-bottom:36px;
  border-bottom:1px dashed var(--pale-lime);
}
.story-block:last-child{border-bottom:none; padding-bottom:0; margin-bottom:0;}
.story-block .story-num{
  display:inline-block;
  font-family:'Anton',sans-serif;
  font-size:64px;
  color:var(--electric-lime);
  line-height:1;
  margin-bottom:8px;
}
.story-block h3{
  font-family:'Anton',sans-serif;
  font-size:32px;
  color:var(--deep-olive);
  margin:0 0 12px;
  letter-spacing:-0.02em;
}

.chef-stack{
  display:flex;
  flex-direction:column;
  gap:24px;
  max-width:900px;
  margin:0 auto;
}
.chef-card{
  background:var(--pure-paper);
  border-radius:var(--radius-lg);
  padding:32px;
  display:grid;
  grid-template-columns:200px 1fr;
  gap:32px;
  align-items:center;
  border:1px solid var(--pale-lime);
  transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1);
  position:relative;
  z-index:1;
}
.chef-card:hover{
  transform:scale(1.04) translateY(-8px);
  z-index:10;
  border-color:var(--electric-lime);
  box-shadow:0 24px 50px var(--lime-glow);
}
.chef-card .chef-portrait{
  width:200px; height:200px;
  border-radius:var(--radius-md);
  overflow:hidden;
  background:var(--pastel-lime);
  border:3px solid var(--pure-paper);
  box-shadow:0 12px 24px rgba(63,98,18,0.2);
}
.chef-card .chef-portrait img{width:100%; height:100%; object-fit:cover; display:block;}
.chef-card h3{
  font-family:'Anton',sans-serif;
  font-size:32px;
  margin:0 0 6px;
  color:var(--deep-olive);
  letter-spacing:-0.02em;
}
.chef-card .chef-role{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  color:var(--electric-lime);
  text-transform:uppercase;
  letter-spacing:0.12em;
  margin-bottom:12px;
}
.chef-card .chef-spec{
  font-size:15px;
  color:var(--warm-olive);
  line-height:1.6;
  margin:0;
}
.chef-card .chef-exp{
  display:inline-block;
  margin-top:14px;
  padding:6px 14px;
  background:var(--electric-lime);
  color:var(--pure-paper);
  border-radius:64px;
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  font-weight:700;
}

.masonry-waterfall{
  columns:3 280px;
  column-gap:24px;
}
.masonry-card{
  break-inside:avoid;
  background:var(--pure-paper);
  border-radius:var(--radius-md);
  overflow:hidden;
  margin-bottom:24px;
  border:1px solid var(--pale-lime);
  transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1);
  display:block;
  text-decoration:none;
  color:var(--deep-olive);
}
.masonry-card:hover{
  transform:scale(1.03) translateY(-6px);
  z-index:10;
  position:relative;
  border-color:var(--electric-lime);
  box-shadow:0 24px 48px var(--lime-glow);
}
.masonry-card .ms-photo{
  width:100%;
  display:block;
  background:var(--pastel-lime);
}
.masonry-card .ms-photo img{width:100%; height:auto; display:block; object-fit:cover;}
.masonry-card .ms-body{padding:22px 24px 26px;}
.masonry-card .ms-tag{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  color:var(--electric-lime);
  text-transform:uppercase;
  letter-spacing:0.1em;
  margin-bottom:8px;
}
.masonry-card .ms-title{
  font-family:'Anton',sans-serif;
  font-size:28px;
  line-height:1;
  color:var(--deep-olive);
  margin:0 0 10px;
  letter-spacing:-0.02em;
}
.masonry-card .ms-desc{
  font-size:14px;
  color:var(--warm-olive);
  line-height:1.6;
  margin:0 0 14px;
}
.masonry-card .ms-meta{
  display:flex; justify-content:space-between; align-items:center;
  padding-top:14px;
  border-top:1px dashed var(--pale-lime);
}
.masonry-card .ms-items{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  color:var(--deep-olive);
}
.masonry-card .ms-price{
  font-family:'Anton',sans-serif;
  font-size:26px;
  color:var(--electric-lime);
  line-height:1;
}

.flex-grow-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.flex-card{
  background:var(--pure-paper);
  border-radius:var(--radius-md);
  padding:30px 26px;
  border:1px solid var(--pale-lime);
  transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1);
  display:flex;
  flex-direction:column;
  gap:12px;
  position:relative;
  overflow:hidden;
  color:var(--deep-olive);
}
.flex-card:hover{
  transform:scale(1.08);
  z-index:10;
  background:var(--electric-lime);
  color:var(--pure-paper);
  border-color:var(--deep-olive);
  box-shadow:0 20px 40px var(--lime-glow);
}
.flex-card:hover .flex-icon{
  background:var(--deep-olive);
  color:var(--electric-lime);
}
.flex-card:hover .flex-label{color:var(--pure-paper); opacity:0.85;}
.flex-card:hover .flex-text{color:var(--pure-paper);}
.flex-icon{
  width:54px; height:54px;
  background:var(--pastel-lime);
  border-radius:18px;
  display:grid; place-items:center;
  color:var(--deep-olive);
  font-size:24px;
  transition:all 0.4s ease;
}
.flex-label{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  color:var(--warm-olive);
  text-transform:uppercase;
  letter-spacing:0.14em;
  transition:color 0.4s ease;
}
.flex-title{
  font-family:'Anton',sans-serif;
  font-size:28px;
  color:var(--deep-olive);
  margin:0;
  letter-spacing:-0.02em;
  transition:color 0.4s ease;
}
.flex-card:hover .flex-title{color:var(--pure-paper);}
.flex-text{
  font-size:14px;
  color:var(--warm-olive);
  line-height:1.55;
  margin:0;
  transition:color 0.4s ease;
}

.coverflow-carousel{
  position:relative;
  perspective:1200px;
  padding:40px 0 60px;
  overflow:hidden;
}
.coverflow-track{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:24px;
  min-height:420px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  padding:0 calc(50vw - 190px);
  scrollbar-width:none;
}
.coverflow-track::-webkit-scrollbar{display:none;}
.coverflow-card{
  flex:0 0 380px;
  background:var(--pure-paper);
  border-radius:var(--radius-lg);
  padding:36px 32px;
  border:1px solid var(--pale-lime);
  transition:all 0.6s cubic-bezier(0.34,1.56,0.64,1);
  transform:scale(0.85) rotateY(35deg);
  opacity:0.4;
  position:relative;
  color:var(--deep-olive);
  z-index:1;
  scroll-snap-align:center;
}
.coverflow-card.is-center{
  transform:scale(1) rotateY(0deg);
  opacity:1;
  z-index:5;
  border-color:var(--electric-lime);
  box-shadow:0 30px 60px var(--lime-glow);
}
.coverflow-card.is-left{transform:scale(0.85) rotateY(35deg) translateX(0); opacity:0.4;}
.coverflow-card.is-right{transform:scale(0.85) rotateY(-35deg) translateX(0); opacity:0.4;}
.coverflow-card.is-far{transform:scale(0.7) rotateY(45deg); opacity:0.2;}
.coverflow-stars{
  color:var(--electric-lime);
  font-size:22px;
  letter-spacing:4px;
  margin-bottom:16px;
}
.coverflow-quote{
  font-size:18px;
  line-height:1.6;
  color:var(--deep-olive);
  margin:0 0 24px;
  font-style:italic;
}
.coverflow-author{
  display:flex; flex-direction:column;
  gap:2px;
  padding-top:18px;
  border-top:1px dashed var(--pale-lime);
}
.coverflow-author .cf-name{
  font-family:'Anton',sans-serif;
  font-size:22px;
  color:var(--deep-olive);
}
.coverflow-author .cf-date{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  color:var(--warm-olive);
}
.coverflow-nav{
  display:flex; justify-content:center; gap:14px;
  margin-top:30px;
}
.coverflow-nav button{
  width:54px; height:54px;
  background:var(--pure-paper);
  color:var(--deep-olive);
  border:1px solid var(--pale-lime);
  border-radius:50%;
  font-size:20px;
  cursor:pointer;
  transition:all 0.3s ease;
}
.coverflow-nav button:hover{
  background:var(--electric-lime);
  color:var(--pure-paper);
  transform:scale(1.08);
  box-shadow:0 8px 20px var(--lime-glow);
}

.accordion-list{
  display:flex; flex-direction:column; gap:14px;
  max-width:880px; margin:0 auto;
}
.acc-item{
  background:var(--pure-paper);
  border:1px solid var(--pale-lime);
  border-radius:var(--radius-md);
  overflow:hidden;
  transition:all 0.3s ease;
}
.acc-item.is-open{
  border-color:var(--electric-lime);
  box-shadow:0 12px 30px var(--lime-glow);
}
.acc-trigger{
  width:100%;
  background:transparent;
  border:none;
  padding:24px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  text-align:left;
  color:var(--deep-olive);
  font-family:'Anton',sans-serif;
  font-size:20px;
  letter-spacing:-0.01em;
}
.acc-trigger .acc-icon{
  width:38px; height:38px;
  border-radius:50%;
  background:var(--pastel-lime);
  color:var(--deep-olive);
  display:grid; place-items:center;
  font-size:22px;
  transition:all 0.3s ease;
  flex-shrink:0;
}
.acc-item.is-open .acc-trigger .acc-icon{
  background:var(--electric-lime);
  color:var(--pure-paper);
  transform:rotate(45deg);
}
.acc-content{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.4s ease, padding 0.4s ease;
  padding:0 28px;
  color:var(--warm-olive);
  font-size:15px;
  line-height:1.7;
}
.acc-item.is-open .acc-content{
  max-height:500px;
  padding:0 28px 26px;
}

.cta-band{
  background:var(--deep-olive);
  color:var(--mint-cream);
  border-radius:var(--radius-xl);
  padding:60px 48px;
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:40px;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.cta-band::before{
  content:"";
  position:absolute;
  width:300px; height:300px;
  background:var(--electric-lime);
  border-radius:50%;
  filter:blur(80px);
  opacity:0.45;
  top:-100px; right:-100px;
}
.cta-band h2{color:var(--mint-cream); margin:0 0 18px;}
.cta-band p{color:var(--pale-lime); margin:0;}
.cta-band .btn-savor{z-index:2;}

.contact-shell{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:40px;
  align-items:start;
}
.contact-form{
  background:var(--pure-paper);
  border-radius:var(--radius-xl);
  padding:48px 44px;
  border:1px solid var(--pale-lime);
  box-shadow:0 20px 50px rgba(63,98,18,0.1);
}
.form-field{
  margin-bottom:22px;
  position:relative;
}
.form-field label{
  display:block;
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  color:var(--warm-olive);
  text-transform:uppercase;
  letter-spacing:0.12em;
  margin-bottom:8px;
}
.form-field input,
.form-field textarea,
.form-field select{
  width:100%;
  padding:14px 0;
  background:transparent;
  border:none;
  border-bottom:2px solid var(--pale-lime);
  font-family:'Outfit',sans-serif;
  font-size:16px;
  color:var(--deep-olive);
  transition:border-color 0.3s ease;
  outline:none;
  border-radius:0;
}
.form-field input::placeholder,
.form-field textarea::placeholder{
  color:var(--warm-olive);
  opacity:0.65;
}
.form-field input:focus,
.form-field textarea:focus,
.form-field select:focus{
  border-bottom-color:var(--electric-lime);
}
.form-field textarea{resize:vertical; min-height:100px;}
.form-grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.contact-info-card{
  background:var(--electric-lime);
  color:var(--pure-paper);
  border-radius:var(--radius-xl);
  padding:48px 44px;
  position:relative;
  overflow:hidden;
}
.contact-info-card::after{
  content:"";
  position:absolute;
  width:200px; height:200px;
  background:var(--soft-yellow);
  border-radius:50%;
  filter:blur(60px);
  bottom:-50px; right:-50px;
  opacity:0.7;
}
.contact-info-card h3{
  font-family:'Anton',sans-serif;
  font-size:34px;
  color:var(--pure-paper);
  margin:0 0 18px;
  letter-spacing:-0.02em;
  position:relative; z-index:2;
}
.contact-info-card .ci-row{
  position:relative; z-index:2;
  margin-bottom:22px;
  padding-bottom:22px;
  border-bottom:1px dashed rgba(255,255,255,0.35);
}
.contact-info-card .ci-row:last-child{border-bottom:none;}
.ci-label{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  color:var(--deep-olive);
  text-transform:uppercase;
  letter-spacing:0.16em;
  margin-bottom:6px;
  display:block;
}
.ci-value{
  font-family:'Anton',sans-serif;
  font-size:26px;
  color:var(--pure-paper);
  line-height:1.1;
  text-decoration:none;
  display:block;
}
.ci-value:hover{color:var(--deep-olive);}
.ci-text{
  font-size:15px;
  color:var(--pure-paper);
  line-height:1.6;
  margin:0;
}

.savor-footer{
  background:var(--deep-olive);
  color:var(--mint-cream);
  border-radius:var(--radius-xl) var(--radius-xl) 0 0;
  margin-top:80px;
  padding:72px 56px 32px;
  position:relative;
  overflow:hidden;
}
.savor-footer::before{
  content:"";
  position:absolute;
  width:340px; height:340px;
  background:var(--electric-lime);
  border-radius:50%;
  filter:blur(100px);
  opacity:0.3;
  top:-120px; right:-100px;
}
.savor-footer .foot-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:40px;
  position:relative;
  z-index:2;
}
.savor-footer h5{
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  color:var(--electric-lime);
  text-transform:uppercase;
  letter-spacing:0.16em;
  margin:0 0 18px;
}
.savor-footer ul{list-style:none; padding:0; margin:0;}
.savor-footer ul li{margin-bottom:10px;}
.savor-footer ul li a{
  color:var(--mint-cream);
  text-decoration:none;
  font-size:15px;
  transition:color 0.2s ease;
}
.savor-footer ul li a:hover{color:var(--electric-lime);}
.savor-footer .foot-mark{
  display:flex; align-items:center; gap:10px;
  margin-bottom:18px;
}
.savor-footer .foot-mark .savor-mark{
  width:54px; height:54px;
  font-size:30px;
  border-radius:18px 48px 18px 48px;
}
.savor-footer .foot-brand{
  font-family:'Anton',sans-serif;
  font-size:30px;
  color:var(--mint-cream);
  letter-spacing:-0.02em;
  line-height:1;
}
.savor-footer .foot-tag{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  color:var(--electric-lime);
  background:rgba(132,204,22,0.15);
  padding:3px 10px;
  border-radius:64px;
  display:inline-block;
  margin-top:6px;
}
.savor-footer .foot-blurb{
  font-size:14px;
  line-height:1.7;
  color:var(--pale-lime);
  max-width:340px;
  margin:14px 0 0;
}
.savor-footer .foot-bottom{
  margin-top:48px;
  padding-top:24px;
  border-top:1px dashed rgba(217,249,157,0.3);
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px;
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  color:var(--pale-lime);
  position:relative;
  z-index:2;
}
.savor-footer .foot-bottom a{color:var(--pale-lime); text-decoration:none;}
.savor-footer .foot-bottom a:hover{color:var(--electric-lime);}

.cookie-banner{
  position:fixed;
  bottom:24px;
  left:calc(var(--side-w) + 24px);
  max-width:480px;
  background:var(--pure-paper);
  color:var(--deep-olive);
  border:1px solid var(--pale-lime);
  border-radius:var(--radius-lg);
  padding:22px 24px;
  box-shadow:0 20px 50px rgba(63,98,18,0.25);
  z-index:2000;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.cookie-banner.is-hidden{display:none;}
.cookie-banner .cb-title{
  font-family:'Anton',sans-serif;
  font-size:20px;
  color:var(--deep-olive);
  display:flex; align-items:center; gap:8px;
}
.cookie-banner .cb-text{
  font-size:13px;
  color:var(--warm-olive);
  line-height:1.55;
  margin:0;
}
.cookie-banner .cb-text a{color:var(--electric-lime); text-decoration:underline;}
.cookie-banner .cb-actions{display:flex; gap:8px; flex-wrap:wrap;}
.cookie-banner .cb-btn{
  padding:10px 16px;
  border-radius:64px;
  font-family:'Outfit',sans-serif;
  font-weight:700;
  font-size:13px;
  border:none;
  cursor:pointer;
  min-height:42px;
  transition:all 0.3s ease;
}
.cookie-banner .cb-accept{background:var(--electric-lime); color:var(--pure-paper);}
.cookie-banner .cb-accept:hover{background:var(--warm-olive);}
.cookie-banner .cb-decline{background:var(--pastel-lime); color:var(--deep-olive);}
.cookie-banner .cb-decline:hover{background:var(--pale-lime);}

.page-header{
  padding:60px 0 40px;
  position:relative;
}
.page-header .ph-stamp{
  display:inline-block;
  font-family:'JetBrains Mono',monospace;
  font-size:12px;
  color:var(--deep-olive);
  background:var(--electric-lime);
  padding:6px 14px;
  border-radius:64px;
  margin-bottom:18px;
  text-transform:uppercase;
  letter-spacing:0.1em;
}

.reveal{
  opacity:0;
  transform:translateY(30px);
  transition:opacity 0.7s ease, transform 0.7s cubic-bezier(0.34,1.56,0.64,1);
}
.reveal.in{
  opacity:1;
  transform:translateY(0);
}
.reveal[data-delay="1"]{transition-delay:0.08s;}
.reveal[data-delay="2"]{transition-delay:0.16s;}
.reveal[data-delay="3"]{transition-delay:0.24s;}
.reveal[data-delay="4"]{transition-delay:0.32s;}
.reveal[data-delay="5"]{transition-delay:0.40s;}

.text-stretch{
  font-feature-settings:"palt" 1;
  letter-spacing:0.04em;
}

.price-jpy{
  font-family:'Anton',sans-serif;
  color:var(--electric-lime);
}
.price-jpy.on-paper{color:var(--electric-lime);}
.price-jpy.on-deep{color:var(--vivid-citron);}

.section-pad-lg{padding:80px 0;}
.section-pad-md{padding:60px 0;}

.savor-shell > section{position:relative;}

.thanks-stage{
  min-height:80vh;
  display:grid;
  place-items:center;
  text-align:center;
  padding:40px 0;
}
.thanks-card{
  background:var(--pure-paper);
  border-radius:var(--radius-xl);
  padding:60px 48px;
  max-width:680px;
  margin:0 auto;
  box-shadow:0 30px 60px rgba(63,98,18,0.15);
  border:1px solid var(--pale-lime);
  position:relative;
  overflow:hidden;
}
.thanks-card::before{
  content:"";
  position:absolute;
  width:280px; height:280px;
  background:var(--electric-lime);
  border-radius:50%;
  filter:blur(100px);
  opacity:0.35;
  top:-80px; right:-80px;
}
.thanks-card h1{margin:0 0 16px;}
.thanks-card .t-mark{
  width:80px; height:80px;
  background:var(--electric-lime);
  color:var(--pure-paper);
  border-radius:50%;
  display:grid; place-items:center;
  font-size:40px;
  margin:0 auto 24px;
  box-shadow:0 12px 28px var(--lime-glow);
  position:relative; z-index:2;
}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.gallery-tile{
  border-radius:var(--radius-md);
  overflow:hidden;
  background:var(--pastel-lime);
  border:1px solid var(--pale-lime);
  aspect-ratio:1/1;
  transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1);
  position:relative;
  display:block;
}
.gallery-tile img{width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease;}
.gallery-tile:hover{transform:scale(1.04); z-index:5; box-shadow:0 20px 40px var(--lime-glow); border-color:var(--electric-lime);}
.gallery-tile:hover img{transform:scale(1.08);}
.gallery-tile .tile-label{
  position:absolute;
  bottom:14px; left:14px;
  background:var(--pure-paper);
  color:var(--deep-olive);
  padding:6px 12px;
  border-radius:64px;
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  opacity:0; transform:translateY(8px);
  transition:all 0.3s ease;
}
.gallery-tile:hover .tile-label{opacity:1; transform:translateY(0);}

.process-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  position:relative;
}
.process-row::before{
  content:"";
  position:absolute;
  top:36px; left:8%; right:8%;
  height:2px;
  background:linear-gradient(to right, var(--electric-lime), var(--soft-yellow));
  z-index:0;
}
.process-step{
  background:var(--pure-paper);
  border-radius:var(--radius-md);
  padding:32px 24px;
  border:1px solid var(--pale-lime);
  position:relative;
  z-index:1;
  text-align:center;
  transition:all 0.4s ease;
}
.process-step:hover{
  transform:translateY(-6px);
  border-color:var(--electric-lime);
  box-shadow:0 16px 30px var(--lime-glow);
}
.process-step .ps-num{
  width:72px; height:72px;
  background:var(--electric-lime);
  color:var(--pure-paper);
  border-radius:50%;
  display:grid; place-items:center;
  font-family:'Anton',sans-serif;
  font-size:30px;
  margin:0 auto 18px;
  border:4px solid var(--mint-cream);
  box-shadow:0 8px 20px var(--lime-glow);
}
.process-step h4{
  font-family:'Anton',sans-serif;
  font-size:22px;
  color:var(--deep-olive);
  margin:0 0 8px;
  letter-spacing:-0.02em;
}
.process-step p{font-size:14px; color:var(--warm-olive); line-height:1.6; margin:0;}

.legal-page{
  max-width:880px;
  margin:0 auto;
  padding:60px 56px;
}
.legal-page h1{font-size:clamp(36px,4.5vw,60px); margin:0 0 20px;}
.legal-page h2{font-size:28px; margin:36px 0 14px; font-family:'Anton',sans-serif; color:var(--deep-olive); letter-spacing:-0.02em;}
.legal-page p{font-size:16px; line-height:1.75; color:var(--deep-olive); margin:0 0 16px;}
.legal-page ul{padding-left:20px;}
.legal-page ul li{margin-bottom:8px; color:var(--deep-olive);}

@media (max-width:1100px){
  body{padding-left:0;}
  .savor-sidebar{transform:translateX(-100%); width:var(--side-w);}
  .savor-sidebar.is-open{transform:translateX(0);}
  .savor-burger{display:flex;}
  .savor-shell{padding:80px 32px 40px;}
  .hero-stage{grid-template-columns:1fr; min-height:auto; padding:30px 0;}
  .hero-visual{height:420px; transform:none;}
  .split-sticky{grid-template-columns:1fr; gap:30px; padding:40px 0;}
  .split-left{position:static; }
  .split-left img{height:380px;}
  .contact-shell{grid-template-columns:1fr;}
  .bento-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:auto;}
  .bento-cell.large{grid-column:span 2;}
  .coverflow-card{flex:0 0 280px;}
  .process-row{grid-template-columns:repeat(2,1fr); gap:30px;}
  .process-row::before{display:none;}
  .savor-footer .foot-grid{grid-template-columns:1fr 1fr; gap:32px;}
  .cta-band{grid-template-columns:1fr; padding:40px 28px;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .cookie-banner{left:18px; right:18px; max-width:none; bottom:18px;}
  .flex-grow-grid{grid-template-columns:1fr 1fr;}
  .legal-page{padding:40px 24px;}
  .thanks-card{padding:40px 28px;}
}

@media (max-width:640px){
  .savor-shell{padding:84px 18px 32px;}
  .hero-metrics{grid-template-columns:1fr 1fr; gap:14px;}
  .metric-num{font-size:34px;}
  .chef-card{grid-template-columns:1fr; gap:20px; padding:24px;}
  .chef-card .chef-portrait{width:100%; height:240px;}
  .form-grid-2{grid-template-columns:1fr; gap:0;}
  .bento-grid{grid-template-columns:1fr; grid-auto-rows:auto;}
  .bento-cell{grid-column:span 1 !important; grid-row:span 1 !important; min-height:180px;}
  .bento-cell.large{min-height:300px;}
  .masonry-waterfall{columns:1;}
  .coverflow-card{flex:0 0 88%; max-width:100%; padding:24px 20px;}
  .coverflow-quote{font-size:16px;}
  .savor-footer .foot-grid{grid-template-columns:1fr; gap:30px;}
  .savor-footer{padding:48px 24px 24px;}
  .contact-form, .contact-info-card{padding:32px 24px;}
  .gallery-grid{grid-template-columns:1fr;}
  .process-row{grid-template-columns:1fr;}
  .flex-grow-grid{grid-template-columns:1fr;}
  .hero-pill{font-size:11px;}
  .hero-cta-row .btn-savor{width:100%;}
}
