
:root{
  --blue:#2469BE;
  --blue-deep:#174B88;
  --white:#FCFCFB;
  --cream:#F4ECE2;
  --stone:#DDD0C2;
  --oak:#B79064;
  --gold:#D2AE6C;
  --olive:#84907B;
  --ink:#173A62;
  --text:#3f4851;
  --shadow:0 24px 70px rgba(33,55,81,.12);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  overflow-x:clip;
  color:var(--text);
  background:var(--white);
  font-family:"Montserrat",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
::selection{background:rgba(36,105,190,.18)}
.container{width:min(1160px,calc(100% - 40px));margin:0 auto}
.eyebrow{
  letter-spacing:.19em;text-transform:uppercase;font-size:.75rem;font-weight:600;
  color:var(--blue);margin:0 0 .7rem;
}
h1,h2,h3{
  font-family:"Playfair Display",Georgia,serif;color:var(--ink);font-weight:500;
  line-height:1.05;margin:0;
}
h1{font-size:clamp(3rem,7vw,6.4rem);letter-spacing:-.04em}
h2{font-size:clamp(2.3rem,4.8vw,4.2rem);letter-spacing:-.025em}
h3{font-size:1.55rem}
.lead{font-size:clamp(1.05rem,2vw,1.28rem);max-width:690px;color:#536273}
.serif-italic{font-family:"Playfair Display",Georgia,serif;font-style:italic;color:var(--oak)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  min-height:50px;padding:0 22px;border-radius:999px;border:1px solid transparent;
  font-weight:600;font-size:.9rem;transition:.25s ease;cursor:pointer;
}
.btn-primary{background:var(--blue);color:white;box-shadow:0 14px 35px rgba(36,105,190,.22)}
.btn-primary:hover{transform:translateY(-2px);background:var(--blue-deep)}
.btn-ghost{border-color:rgba(23,58,98,.16);background:rgba(255,255,255,.72);color:var(--ink)}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue)}
.pill{
  display:inline-flex;align-items:center;gap:.55rem;padding:9px 14px;border-radius:999px;
  background:rgba(210,174,108,.12);border:1px solid rgba(210,174,108,.35);
  color:#725421;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
}
.dot{width:7px;height:7px;background:var(--gold);border-radius:50%}
.nav{
  position:sticky;top:0;z-index:30;background:rgba(252,252,251,.9);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(23,58,98,.07);
}
.nav-inner{height:94px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;flex:0 1 auto;min-width:0}
.brand img{width:clamp(210px,18vw,252px);height:auto}
.nav-links{display:flex;align-items:center;gap:20px;color:#536273;font-size:.88rem;white-space:nowrap}
.nav-links a:hover{color:var(--blue)}
.mobile-toggle{display:none;border:0;background:none;font-size:1.5rem;color:var(--ink)}
.hero{
  position:relative;overflow:hidden;padding:68px 0 76px;
  background:
    radial-gradient(circle at 12% 10%,rgba(210,174,108,.16),transparent 30%),
    radial-gradient(circle at 95% 12%,rgba(36,105,190,.11),transparent 34%),
    linear-gradient(180deg,#fff 0%,#fbf8f3 100%);
}
.hero:after{
  content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(36,105,190,.08);
  border-radius:50%;right:-110px;bottom:-150px;
}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:62px}
.hero-copy{position:relative;z-index:2}
.hero-copy .pill{margin-bottom:24px}
.hero-copy .aventura{color:var(--blue)}
.hero-copy p{margin:24px 0 29px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:31px;color:#687583;font-size:.82rem}
.hero-meta span{display:flex;gap:7px;align-items:center}
.hero-visual{position:relative}
.hero-card{
  background:#fff;padding:13px;border-radius:34px;box-shadow:var(--shadow);
  transform:rotate(1.4deg);position:relative;z-index:2;
}
.hero-card img{border-radius:25px;aspect-ratio:1/1;object-fit:cover}
.hero-orbit{
  position:absolute;inset:-38px;border:1px solid rgba(210,174,108,.38);border-radius:50%;
  pointer-events:none;
}
.hero-note{
  position:absolute;bottom:35px;left:-42px;background:rgba(252,252,251,.94);
  border:1px solid rgba(23,58,98,.09);box-shadow:0 15px 45px rgba(33,55,81,.12);
  border-radius:18px;padding:14px 17px;z-index:3;color:var(--ink);
}
.hero-note strong{display:block;font-family:"Playfair Display",Georgia,serif;font-size:1.15rem}
.section{padding:100px 0}
.section-soft{background:var(--cream)}
.center{text-align:center}
.center .lead{margin:18px auto 0}
.story-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;align-items:start}
.story-mark{
  position:sticky;top:125px;background:linear-gradient(145deg,#fff,#fbf6ed);
  border:1px solid rgba(23,58,98,.08);border-radius:var(--radius);padding:38px;box-shadow:var(--shadow)
}
.story-mark img{width:190px;border-radius:50%;margin:0 auto 23px}
.story-mark p{margin:0;text-align:center;font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:1.23rem;color:var(--ink)}
.story-copy p{font-size:1.08rem;margin:0 0 22px}
.story-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:36px}
.mini-card{background:white;border:1px solid rgba(23,58,98,.08);padding:20px;border-radius:18px}
.mini-card b{color:var(--blue);display:block;margin-bottom:4px;font-size:.9rem}
.flavors-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:36px}
.flavor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.flavor-card{
  background:white;border:1px solid rgba(23,58,98,.08);border-radius:24px;overflow:hidden;
  transition:.25s ease;box-shadow:0 10px 35px rgba(33,55,81,.055)
}
.flavor-card:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgba(33,55,81,.11)}
.flavor-card .flavor-media{aspect-ratio:1/1;overflow:hidden;background:#FCFCFB}
.flavor-card .flavor-media img{width:100%;height:100%;display:block;object-fit:contain;object-position:center}
.flavor-copy{padding:20px 21px 23px}
.flavor-copy p{margin:8px 0 0;color:#667380;font-size:.9rem}
.flavor-tag{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--oak);font-weight:700}
.quality{
  background:
    linear-gradient(90deg,rgba(252,252,251,.97),rgba(252,252,251,.88)),
    url("../images/quality-product.webp") center/cover no-repeat;
}
.quality-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:66px;align-items:center}
.quality-panel{
  padding:42px;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border-radius:var(--radius);border:1px solid rgba(23,58,98,.08);box-shadow:var(--shadow)
}
.quality-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:30px}
.quality-item{background:#fff;border:1px solid rgba(23,58,98,.07);border-radius:18px;padding:17px}
.quality-item .icon{
  width:34px;height:34px;border:1px solid rgba(210,174,108,.8);border-radius:50%;
  display:grid;place-items:center;color:#8a6826;margin-bottom:10px;font-weight:700;
}
.quality-item b{display:block;color:var(--ink);font-size:.91rem}
.quality-item small{color:#78828d}
.kosher-row{display:flex;align-items:center;gap:10px;margin-top:16px;color:#685d4b;font-size:.82rem}
.kbadge{
  width:31px;height:31px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;
  color:#876723;font-family:Georgia,serif;font-weight:700;
}
.quality-photo{border-radius:30px;overflow:hidden;box-shadow:var(--shadow);transform:rotate(-1deg)}
.quality-photo img{width:100%;height:610px;object-fit:cover}
.experience{
  background:var(--ink);color:#fff;overflow:hidden;position:relative
}
.experience:before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 85% 20%,rgba(36,105,190,.36),transparent 35%);
}
.experience .container{position:relative}
.experience h2{color:#fff;max-width:780px}
.experience .lead{color:#dbe4ed}
.moments{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:42px}
.moment{border-top:1px solid rgba(255,255,255,.18);padding-top:17px}
.moment b{font-family:"Playfair Display",Georgia,serif;font-size:1.25rem;font-weight:500}
.moment p{font-size:.86rem;color:#cbd5df}
.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.location-card,.signup-card{
  border:1px solid rgba(23,58,98,.08);border-radius:var(--radius);padding:42px;background:white;
  box-shadow:0 15px 45px rgba(33,55,81,.06)
}
.address{font-family:"Playfair Display",Georgia,serif;color:var(--ink);font-size:1.45rem;line-height:1.45}
.location-info{display:grid;gap:18px;margin-top:27px}
.location-line{display:flex;gap:14px}
.location-line .bullet{
  width:36px;height:36px;border-radius:50%;background:rgba(36,105,190,.08);
  display:grid;place-items:center;color:var(--blue);flex:0 0 auto
}
.signup-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:25px}
.signup-form input[type=email]{
  min-height:52px;border-radius:999px;border:1px solid rgba(23,58,98,.15);padding:0 19px;
  background:var(--white);outline:none
}
.signup-form input[type=email]:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(36,105,190,.09)}
.form-note{font-size:.76rem;color:#77828c;margin-top:10px}
.form-note a{text-decoration:underline}
.form-message{font-size:.84rem;margin-top:10px;color:var(--blue-deep);min-height:1.2em}
.social-strip{
  margin-top:30px;padding:22px 25px;border-radius:22px;background:linear-gradient(135deg,var(--cream),#fff);
  display:flex;align-items:center;justify-content:space-between;gap:22px
}
.social-strip strong{color:var(--ink)}
.footer{padding:42px 0;border-top:1px solid rgba(23,58,98,.08);font-size:.8rem;color:#74808b}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:26px}
.footer-brand{display:flex;align-items:center;gap:13px}
.footer-brand img{width:46px;border-radius:50%}
.footer-links{display:flex;gap:18px;flex-wrap:wrap}
.footer a:hover{color:var(--blue)}
.disclaimer{
  border-top:1px solid rgba(23,58,98,.07);padding:18px 0;background:#fbfaf7;
  color:#7b858e;font-size:.72rem
}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}
.page-hero{padding:78px 0 45px;background:var(--cream)}
.prose{width:min(840px,calc(100% - 40px));margin:0 auto;padding:55px 0 90px}
.prose h2{font-size:2rem;margin:38px 0 12px}
.prose p,.prose li{color:#586572}
.prose a{color:var(--blue);text-decoration:underline}
.not-found{min-height:70vh;display:grid;place-items:center;text-align:center;padding:50px 20px}
.not-found img{width:140px;border-radius:50%;margin:0 auto 22px}
@media(max-width:980px){
  .nav-links{display:none;position:absolute;top:94px;left:0;right:0;background:var(--white);padding:22px 28px;box-shadow:0 20px 30px rgba(33,55,81,.08);flex-direction:column;align-items:flex-start}
  .nav-links.open{display:flex}
  .mobile-toggle{display:block}
  .hero-grid,.story-grid,.quality-grid,.location-grid{grid-template-columns:1fr}
  .hero-grid{gap:42px}
  .hero-visual{max-width:650px;margin:0 auto}
  .story-mark{position:relative;top:0}
  .flavor-grid{grid-template-columns:repeat(2,1fr)}
  .moments{grid-template-columns:repeat(2,1fr)}
  .quality-photo img{height:500px}
}
@media(max-width:640px){
  .container{width:min(100% - 28px,1160px)}
  .nav-inner{gap:10px}
  .brand img{width:min(270px,calc(100vw - 82px))}
  .mobile-toggle{
    display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;
    border:1px solid rgba(23,58,98,.10);background:rgba(255,255,255,.72)
  }

  h1{font-size:clamp(2.65rem,13vw,3.55rem);letter-spacing:-.035em}
  h2{font-size:clamp(2.05rem,10vw,2.85rem)}
  h3{font-size:1.4rem}
  .lead{font-size:1rem;line-height:1.7}

  .hero{padding:44px 0 54px}
  .hero-grid{gap:34px}
  .hero-copy .pill{margin-bottom:18px}
  .hero-copy p{margin:19px 0 23px}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .hero-actions .btn{width:100%}
  .hero-meta{display:grid;gap:9px;margin-top:24px}
  .hero-card{transform:none;border-radius:26px;padding:10px}
  .hero-card img{border-radius:19px}
  .hero-orbit{display:none}
  .hero-note{
    position:relative;left:auto;bottom:auto;margin:14px auto 0;
    width:max-content;max-width:100%;text-align:center
  }

  .section{padding:72px 0}
  .story-grid,.quality-grid,.location-grid{gap:34px}
  .story-mark{padding:28px}
  .story-mark img{width:150px}
  .story-copy p{font-size:1rem}
  .flavors-head{display:block;margin-bottom:27px}
  .flavors-head .lead{margin-top:14px}
  .flavor-grid,.quality-list,.story-highlights,.moments{grid-template-columns:1fr}
  .flavor-grid{gap:17px}
  .quality-panel,.location-card,.signup-card{padding:27px}
  .quality-photo img{height:390px}
  .quality-list{gap:10px}
  .quality-item{padding:15px}
  .kosher-row{align-items:flex-start}
  .moments{gap:12px}
  .location-info{gap:16px}
  .address{font-size:1.25rem}
  .signup-form{grid-template-columns:1fr}
  .signup-form .btn{width:100%}
  .social-strip{align-items:flex-start;flex-direction:column;padding:20px}
  .social-strip .btn{width:100%}
  .footer-inner{align-items:flex-start;flex-direction:column}
  .footer-links{gap:14px 18px}

  /* Keeps iOS Safari from zooming form fields on focus. */
  .signup-form input[type=email]{font-size:16px}

  /* Comfortable touch targets on phones. */
  .footer-links a,.nav-links a{min-height:44px;display:flex;align-items:center}
}

@media(max-width:390px){
  h1{font-size:2.58rem}
  h2{font-size:2rem}
  .container{width:min(100% - 24px,1160px)}
  .quality-panel,.location-card,.signup-card{padding:23px}
  .hero-note{font-size:.78rem}
}

@supports not (overflow:clip){
  body{overflow-x:hidden}
}
