@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Inter:wght@300;400;500;600;700;800&display=swap');

:root{
  --olive:#556b2f;
  --olive-dark:#32401e;
  --olive-soft:#87966a;
  --brown:#7b4f32;
  --brown-dark:#3a2417;
  --clay:#b9784f;
  --cream:#f6efe2;
  --sand:#eadbc3;
  --sage:#dce3cc;
  --white:#fffaf1;
  --ink:#2a211a;
  --shadow:0 24px 70px rgba(58,36,23,.18);
  --display:'DM Serif Display', serif;
  --body:'Inter', sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--cream);color:var(--ink);line-height:1.7;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1180px,92%);margin:auto;}

/* NAV */
.nav{position:fixed;top:0;left:0;width:100%;z-index:50;background:rgba(246,239,226,.82);backdrop-filter:blur(16px);border-bottom:1px solid rgba(85,107,47,.16);transition:box-shadow .3s ease,background .3s ease}
.nav.scrolled{background:rgba(246,239,226,.96);box-shadow:0 10px 30px rgba(58,36,23,.08)}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.is-visible{opacity:1;transform:translateY(0)}

/* Accessible focus states */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--olive);outline-offset:3px;border-radius:4px}
.nav-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.logo{display:flex;align-items:center;gap:.75rem;font-weight:700;color:var(--brown-dark)}
.logo-mark{width:46px;height:46px;border-radius:50%;background:linear-gradient(145deg,var(--olive),var(--brown));display:grid;place-items:center;color:var(--cream);box-shadow:0 10px 25px rgba(85,107,47,.25)}
.logo-mark svg{width:28px;height:28px}
.logo-text{line-height:1.05;font-family:var(--display);font-size:1.55rem;letter-spacing:.02em}
.logo-text span{display:block;font-family:var(--body);font-size:.68rem;text-transform:uppercase;letter-spacing:.22em;color:var(--olive)}
.nav-links{display:flex;align-items:center;gap:1.35rem;font-size:.93rem;font-weight:600;color:var(--brown-dark)}
.nav-links a{position:relative}
.nav-links a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--olive);transition:.3s}
.nav-links a:hover:after,.nav-links a.active:after{width:100%}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:0;background:transparent;cursor:pointer;flex-shrink:0;padding:0}
.nav-toggle span{display:block;width:24px;height:2px;margin:0 auto;background:var(--brown-dark);border-radius:2px;transition:.3s ease}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* HERO */
.hero{min-height:100vh;padding-top:45px;display:grid;place-items:center;position:relative;background-size:cover;background-position:center;isolation:isolate}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(42,33,26,.78),rgba(42,33,26,.45),rgba(42,33,26,.20));z-index:-1}
.hero:after{content:"";position:absolute;inset:auto 0 0 0;height:180px;background:linear-gradient(transparent,var(--cream));z-index:-1}
.hero-content{width:min(780px,92%);margin-right:auto;color:var(--white);padding: 0}
.kicker{display:inline-flex;align-items:center;gap:.55rem;background:rgba(246,239,226,.14);border:1px solid rgba(246,239,226,.28);backdrop-filter:blur(10px);padding:.48rem .8rem;border-radius:999px;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:700;margin-bottom:1.2rem}
.kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sage)}
h1{font-family:var(--display);font-size:clamp(3rem,8vw,7rem);font-weight:400;line-height:.92;letter-spacing:-.04em;margin-bottom:1.1rem}
.hero p{font-size:clamp(1rem,2vw,1.22rem);max-width:630px;color:rgba(255,250,241,.88);margin-top:20px;margin-bottom:1.8rem}
.btn-row{
    display: flex;
    
    gap: 20px;   /* Increase this value */
}
.hero-btn{
    display:inline-flex;
    align-items:center;
    gap:50px;
    padding:14px 30px;
    background:#556f2c;
    color:#fff;
    text-decoration:none;
    border-radius:50px;
    font-weight:600;
    font-size:16px;
    letter-spacing:.2px;
    transition:all .35s ease;
    box-shadow:0 14px 35px rgba(69,87,40,.25);
    position:relative;
    overflow:hidden;
}

.hero-btn::before{
    content:"";
    position:absolute;
    top:0;
    left:-120%;
    width:100%;
    height:100%;
    background:linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,.35),
        transparent
    );
    transition:.7s;
}

.hero-btn:hover::before{
    left:120%;
}

.hero-btn:hover{
    background:#445728;
    transform:translateY(-4px);
    box-shadow:0 22px 45px rgba(69,87,40,.35);
}

.hero-btn svg{
    transition:.35s;
}

.hero-btn:hover svg{
    transform:translateX(5px);
}

.hero-btn:active{
    transform:translateY(-1px);
}

/* Sections */
.section{padding:2rem 0;position:relative}
.section-title{font-family:var(--display);font-size:clamp(2.3rem,5vw,4.4rem);line-height:1;margin-bottom:1rem;color:var(--clay);font-weight:400}
.section-title em{
  color: var(--olive-dark)
}
.section-lead{max-width:720px;color:#6b594b;font-size:1.05rem;margin-bottom:2.4rem}
.label{color:var(--olive);text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:800;margin-bottom:.7rem}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:top}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.35rem}
.card{background:rgba(255,250,241,.72);border:1px solid rgba(85,107,47,.16);border-radius:28px;padding:1.5rem;box-shadow:0 12px 35px rgba(58,36,23,.07);transition:.35s;position:relative;overflow:hidden}
.card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.card h3{font-family:var(--display);font-size:1.7rem;font-weight:400;color:var(--brown-dark);line-height:1.1;margin-bottom:.7rem}
.card p{color:#6b594b;font-size:.96rem}
.image-card{border-radius:34px;overflow:hidden;box-shadow:var(--shadow);position:relative;min-height:430px}
.image-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.image-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(42,33,26,.34))}

/* earthy patterns */
.doodle{position:absolute;opacity:.11;pointer-events:none;color:var(--brown)}
.doodle.one{right:3%;top:12%;font-size:10rem;transform:rotate(-12deg)}
.doodle.two{left:4%;bottom:10%;font-size:7rem;transform:rotate(18deg)}
.doodle-card:before{content:"🥖";position:absolute;right:16px;top:8px;font-size:4rem;opacity:.07;transform:rotate(-20deg)}

/* Home */
.home-hero{background-image:url('https://images.unsplash.com/photo-1543352634-a1c51d9f1fa7?auto=format&fit=crop&w=1800&q=85')}
.feature-strip{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;
    margin-top:-20px;
    position:relative;
    z-index:5;
}

.feature{
    position:relative;
    overflow:hidden;
    background:#FFF8EC;
    border-radius:24px;
    padding:34px 28px;
    border:1px solid #e8deca;
    box-shadow:0 18px 45px rgba(0,0,0,.08);
    transition:.35s ease;
}

/* Olive line animation */
.feature::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:0;
    height:5px;
    background:#556B2F;
    transition:width .35s ease;
}

.feature:hover::before{
    width:100%;
}

.feature:hover{
    transform:translateY(-8px);
    box-shadow:0 28px 55px rgba(0,0,0,.14);
}

.feature-icon{
    width:54px;
    height:54px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#EEF2E4;
    font-size:24px;
    margin-bottom:20px;
}

.feature strong{
    display:inline-block;
    position:relative;
    font-family:'DM Serif Display',serif;
    font-size:1.9rem;
    color:#3F2B1D;
    margin-bottom:14px;
    line-height:1.2;
}

/* Underline animation */
.feature strong::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-6px;
    width:0;
    height:3px;
    background:#556B2F;
    transition:.35s;
}

.feature:hover strong::after{
    width:100%;
}

.feature span{
    display:block;
    color:#6b5a4a;
    line-height:1.8;
    font-size:.98rem;
}.menu-preview{background:var(--olive-dark);color:var(--cream);overflow:hidden}.menu-preview .section-title,.menu-preview .label{color:var(--cream)}.menu-preview .section-lead{color:rgba(246,239,226,.78)}.menu-item p{
    margin:.35rem 0 0;
    color:#6b6257;
    font-size:1rem;
}
.menu-item{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(246,239,226,.15);padding:1rem 0;opacity : 1}.menu-item h4{
    margin:0;
    color:#2b221b;
    font-size:1.4rem;
    font-family:"Playfair Display", serif;
    font-weight:600;
}.price{
    color:#556b2f;
    font-weight:700;
    font-size:1.2rem;
}

/* page specific heroes */
.about-hero{background-image:url('https://images.unsplash.com/photo-1600335895229-6e75511892c8?auto=format&fit=crop&w=1800&q=85')}
.menu-hero{background-image:url('https://images.unsplash.com/photo-1662982693758-f69fcb81e7d2?q=80&w=1074&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D')}
.community-hero{background-image:url('https://images.unsplash.com/photo-1506126613408-eca07ce68773?auto=format&fit=crop&w=1800&q=85')}
.journal-hero{background-image:url('https://images.unsplash.com/photo-1570145820386-15a56730192c?q=80&w=1074&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D')}
.roots-hero{background-image:url('https://plus.unsplash.com/premium_photo-1686285541215-015dfccebe27?q=80&w=1170&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D')}
.philosophy-hero{background-image:url('https://images.unsplash.com/photo-1464226184884-fa280b87c399?auto=format&fit=crop&w=1900&q=85')}
.contact-hero{background-image:url('https://images.unsplash.com/photo-1728060361464-aa73da809dc6?q=80&w=1388&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D')}
.journal-library-hero{background-image: url('https://images.unsplash.com/photo-1457369804613-52c61a468e7d?q=80&w=1170&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D')}
.menu-category{margin-bottom:3rem}.menu-category h2{font-family:var(--display);font-size:2.4rem;font-weight:400;color:var(--brown-dark);margin-bottom:.8rem}.menu-list{background:var(--white);border-radius:30px;padding:1.2rem 1.5rem;border:1px solid rgba(85,107,47,.15)}
.community-card{min-height:430px;border-radius:32px;overflow:hidden;position:relative;display:flex;align-items:end;padding:1.5rem;color:var(--white);box-shadow:var(--shadow);background-size:cover;background-position:center}.community-card:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(42,33,26,.78))}.community-card>*{position:relative}.community-card h3{font-family:var(--display);font-size:2.25rem;font-weight:400;line-height:1}.community-card p{color:rgba(255,250,241,.86)}
.community-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.35rem}.blog-card{background:var(--white);border-radius:30px;overflow:hidden;border:1px solid rgba(85,107,47,.15);box-shadow:0 15px 40px rgba(58,36,23,.08)}.blog-card img{height:230px;width:100%;object-fit:cover}.blog-body{padding:1.35rem}.blog-body small{color:var(--olive);font-weight:800;text-transform:uppercase;letter-spacing:.12em}.blog-body h3{font-family:var(--display);font-size:1.55rem;line-height:1.1;font-weight:400;margin:.5rem 0;color:var(--brown-dark)}
.timeline{display:grid;gap:1rem}.timeline-item{display:grid;grid-template-columns:110px 1fr;gap:1.4rem;background:var(--white);border-radius:24px;padding:1.2rem;border:1px solid rgba(85,107,47,.15)}.timeline-item strong{font-family:var(--display);font-size:1.45rem;color:var(--olive)}
.contact-box{background:var(--white);border-radius:32px;padding:2rem;border:1px solid rgba(85,107,47,.15);box-shadow:var(--shadow)}.form{display:grid;gap:1rem}.form input,.form textarea{width:100%;padding:1rem;border:1px solid rgba(85,107,47,.25);border-radius:16px;background:#fffdf7;font:inherit}.form textarea{min-height:140px;resize:vertical}.form button{border:0;cursor:pointer;background:var(--olive);color:var(--cream)}
.logo-showcase{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.logo-concept{background:var(--white);border-radius:26px;padding:1.5rem;text-align:center;border:1px solid rgba(85,107,47,.18)}.logo-concept svg{height:86px;margin:auto auto .8rem}.logo-concept h3{font-family:var(--display);font-weight:400;color:var(--brown-dark)}
.footer{background:var(--brown-dark);color:var(--cream);padding:4rem 0 2rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}.footer h3{font-family:"Cormorant Garamond", serif;font-size:2rem;font-weight:100}.footer a,.footer p{color:rgba(246,239,226,.72);display:block;margin:.35rem 0}.copy{border-top:1px solid rgba(246,239,226,.14);margin-top:2rem;padding-top:1rem;color:rgba(246,239,226,.55)}

@media(max-width:900px){.nav-toggle{display:flex}.nav-links{position:absolute;top:78px;left:0;width:100%;background:var(--cream);padding:1.1rem 1.5rem 1.6rem;display:none;flex-direction:column;align-items:flex-start;gap:.35rem;border-bottom:1px solid rgba(85,107,47,.18);box-shadow:0 20px 40px rgba(58,36,23,.1)}.nav-links a{width:100%;padding:.6rem 0;border-bottom:1px solid rgba(85,107,47,.1)}.nav-links a:last-child{border-bottom:0}.nav-links.show{display:flex}.grid-2,.card-grid,.community-grid,.blog-grid,.feature-strip,.footer-grid,.logo-showcase{grid-template-columns:1fr}.feature-strip{margin-top:auto}.hero{min-height:82vh}h1{font-size:3.8rem}.section{padding:4rem 0}.image-card{min-height:320px}.timeline-item{grid-template-columns:1fr}}
@media(max-width:600px){.logo-img{height:46px}.nav-inner{height:66px}.hero{padding-top:66px}.card-grid,.making-grid{gap:1rem}h1{font-size:2.6rem}.section-title{font-size:2.1rem}.btn-row{flex-direction:column;align-items:stretch}}

.logo{
    display:flex;
    align-items:center;
    gap:14px;
    text-decoration:none;
    flex-shrink:0;
}

.logo-img{
    width:auto;
    height:58px;
    max-height:58px;
    object-fit:contain;
    display:block;
    transition:.3s ease;
}

.logo-text{
    display:flex;
    flex-direction:column;
    color:#4f5f2f;
    font-weight:700;
    font-size:1.25rem;
    line-height:1.1;
}

.logo-text span{
    font-size:.78rem;
    font-weight:500;
    color:#8b6b47;
    letter-spacing:.08em;
    text-transform:uppercase;
}


.section-note{
    color : black;
    font-size: 1.125rem;
    margin-top: 30px;
}

.hero1{
  min-height:100vh;
  padding:78px;
  display:grid;
  place-items:center;
  justify-content:flex-start;
  text-align:left;
  color:var(--cream);
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(
      to right,
      rgba(47,58,34,.78),
      rgba(47,58,34,.48),
      rgba(47,58,34,.28)
    ),
    url("https://images.unsplash.com/photo-1464226184884-fa280b87c399?auto=format&fit=crop&w=1900&q=85")
    center/cover no-repeat;
}

.hero1::after{
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:180px;
  background:linear-gradient(transparent,var(--cream));
  pointer-events:none;
  z-index:-1
}

.hero1-content{
  width:min(780px,92%);margin-right:auto;color:var(--white);padding: 0;margin-left: clamp(14px, 3vw, 40px);
}

.hero1-content-inner{
  max-width:650px;
}

.eyebrow{
  margin:0 0 18px;
  font-size:12px;
  font-weight:900;
  letter-spacing:3px;
  text-transform:uppercase;
  color:#e8dcc6;
}

h1,h2,h3{
  font-family:var(--display);
  margin:0;
  line-height:1.08;
  
}

.hero1 h1{
  font-size:clamp(62px,10vw,132px);
  font-weight:400;
  color:var(--cream);
  letter-spacing:-3px;
}

.hero1-sub{
  font-size:clamp(1rem,2vw,1.22rem);max-width:630px;color:rgba(255,250,241,.88);margin-bottom:1.8rem
}

    /* ======================================================
   PHILOSOPHY PAGE
====================================================== */

.paper{
  width:min(1200px, calc(100% - 36px));
  margin:-70px auto 0;
  position:relative;
  z-index:5;
  background:var(--cream);
  border:1px solid rgba(79,95,47,.12);
  border-radius:38px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.philosophy-container{
    position: relative;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
}


/* ======================================================
   COMMON SECTION STYLING
====================================================== */

.section1{
  padding:20px clamp(14px, 3vw, 40px);
  background:#f8f1e5;
}

.section1.alt{
  background:var(--soft, #f8eedf);
  position:relative;
    overflow:visible;
}
.philosophy-doodle-top{
    position:absolute;
    top:40px;
    right:-10px;

    width:180px;

    opacity:.5;

    pointer-events:none;

    z-index:1;
}
.section1-head{
  width:100%;
  max-width:1050px;
  margin:0 0 44px;
}

.section1-head .kicker{
  margin-bottom:18px;
}

.section1-head h2{
  font-family:var(--display);font-size:clamp(2.3rem,5vw,4.4rem);line-height:1;margin-bottom:1rem;color:var(--clay);font-weight:400
}

.section1-head h2 em{
  color : var(--olive)
}

.section1-head p{
  max-width:920px;
  margin:0;

  font-size:17px;
  line-height:1.75;
  color:rgba(74,50,31,.78);
}


/* ======================================================
   KICKER / SMALL SECTION LABEL
====================================================== */

.kicker{
  display:inline-flex;
  align-items:center;
  gap:14px;

  font-size:13px;
  font-weight:800;
  letter-spacing:3px;
  text-transform:uppercase;

  color:#c28352;
}

.kicker::before,
.kicker::after{
  content:"";
  display:block;
  width:36px;
  height:1px;
  background:rgba(154,107,63,.30);
}


/* ======================================================
   BELIEF CARDS
====================================================== */

.belief-grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:16px;
  margin-top:34px;
}

.mini-card{
  min-height:170px;
  padding:26px 18px;

  display:grid;
  place-items:center;

  text-align:center;
  border:1px solid var(--line);
  border-radius:26px;
  background:rgba(255,248,236,.82);

  box-shadow:0 12px 30px rgba(74,50,31,.055);
  transition:transform .3s ease, box-shadow .3s ease;
}

.mini-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 38px rgba(74,50,31,.10);
}

.mini-card strong{
  display:block;
  margin-bottom:7px;

  font-family:'DM Serif Display',serif;
  font-size:25px;
  line-height:1.1;
  color:var(--olive);
}

.mini-card span{
  display:block;
  font-size:13px;
  line-height:1.6;
  color:rgba(74,50,31,.75);
}

/* ======================================================
   STORY CARD
====================================================== */

.story-card{
    position:relative;
    overflow:hidden;

    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:60px;
    align-items:center;

    max-width:1200px;
    margin:auto;

    padding:60px;

    background:#FFF8EC;

    border:2px solid #5D7240;
    border-radius:34px;

    box-shadow:0 24px 55px rgba(0,0,0,.08);

    transition:.35s ease;
}

.story-card:hover{
    transform:translateY(-6px);
    border-color:#42572A;
    box-shadow:0 35px 70px rgba(0,0,0,.12);
}

/* Olive Strip */

.story-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;

    width:100%;
    height:7px;

    background:#5D7240;
}

/* Decorative Circle */

.story-card::after{
    content:"";
    position:absolute;

    width:220px;
    height:220px;

    right:-90px;
    bottom:-90px;

    border-radius:50%;

    background:rgba(93,114,64,.06);
}

/* ==========================
   CORNER DOODLE
========================== */

.story-doodle{
    position:absolute;

    top:18px;
    right:22px;

    width:195px;
    height:auto;

    opacity:.7;

    filter:grayscale(100%);

  

    pointer-events:none;
    user-select:none;

    z-index:1;
}

/* ==========================
   CONTENT
========================== */

.story-content{
    position:relative;
    z-index:2;
}

.story-content h2{
    font-family:var(--display);font-size:clamp(2.3rem,5vw,4.4rem);line-height:1;margin-bottom:1rem;color:var(--clay);font-weight:400
}

.story-content h2 em{
  color : var(--olive)
}
.story-content p{
    color:#6B594A;
    font-size:1.08rem;
    line-height:1.9;
    margin-bottom:20px;
}

/* ==========================
   IMAGE
========================== */

.story-image{
    position:relative;
    z-index:2;
}

.story-image img{
    width:100%;
    display:block;

    border-radius:28px;
    border:6px solid #fff;

    transition:.4s ease;
}

.story-card:hover .story-image img{
    transform:scale(1.03);
}

/* Olive Accent */

.story-image::before{

    content:"";

    position:absolute;

    inset:18px -18px -18px 18px;

    background:#5D7240;

    border-radius:28px;

    z-index:-1;

    opacity:.15;
}

/* ==========================
   RESPONSIVE
========================== */

@media (max-width:900px){

    .story-card{
        grid-template-columns:1fr;
        gap:40px;
        padding:40px 28px;
    }

    .story-content h2{
        font-size:2.3rem;
    }

    .story-doodle{
        width:70px;
        top:15px;
        right:15px;
    }
}
/* ======================================================
   FLOWCHART
====================================================== */

.flow{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:nowrap;
    gap:18px;
}

.flow-box{
    flex:1;
}

.arrow{
    flex:0 0 auto;
    font-size:28px;
    color:#c28352;
}

.flow-box h3{
  margin:0 0 7px;

  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:29px;
  font-weight:500;
  color:var(--olive);
}

.flow-box p{
  margin:0;
  font-size:12px;
  line-height:1.55;
  color:rgba(74,50,31,.72);
}




/* ======================================================
   NAME MEANING CARDS
====================================================== */

.name-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:24px;
}

.meaning-card{
  min-height:50px;
  padding:20px;
  position:relative;
  overflow:hidden;

  border:1px solid var(--line);
  border-radius:34px;
  background:var(--cream);
  box-shadow:0 14px 34px rgba(74,50,31,.06);
}

.meaning-card::after{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  right:-65px;
  top:-65px;

  border-radius:50%;
  background:rgba(79,95,47,.07);
}

.meaning-card h3{
  position:relative;
  z-index:1;
  margin:0 0 18px;

  font-size:50px;
  font-weight:500;
  color:var(--olive);
}

.meaning-card p{
  position:relative;
  z-index:1;

  margin:0 0 15px;
  font-size:16px;
  line-height:1.8;
  color:rgba(74,50,31,.82);
}


/* ======================================================
   GOODNESS WITHIN PANEL
====================================================== */

.goodness-panel{
  margin-top:20px;
  padding:34px clamp(30px, 7vw, 88px);

  text-align:center;
  color:var(--sand);

  border-radius:38px;
  overflow:hidden;

  background:
    linear-gradient(rgba(47,58,34,.93), rgba(47,58,34,.95)),
    url("https://images.unsplash.com/photo-1542838132-92c53300491e?auto=format&fit=crop&w=1600&q=85")
    center/cover no-repeat;
}

.goodness-panel h2{
  font-family:var(--display);font-size:clamp(2.3rem,5vw,4.4rem);line-height:1;margin-bottom:1rem;font-weight:400;
  color:var(--cream);
}

.goodness-panel p{
  max-width:720px;
  margin:14px auto 0;

  font-size:17px;
  line-height:1.75;
  color:rgba(255,248,236,.84);
}


/* ======================================================
   OUR MARK LAYOUT
====================================================== */

.mark-layout{
  display:grid;
  grid-template-columns:minmax(360px, 460px) minmax(0, 1fr);
  gap:64px;
  align-items:start;

  width:100%;
  max-width:1120px;
  margin:0 auto;
}


/* Left symbol card */

.symbol-card{
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:300px;
    height: 600px;
    background:#FFF8EC;

    border:2px solid #5D7240;   /* Olive green */

    border-radius:30px;

    padding:60px;

    position:relative;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

    transition:.35s ease;
}

.symbol-card:hover{
    transform:translateY(-6px);
    border-color:#42572A;
    box-shadow:0 30px 60px rgba(0,0,0,.12);
}

/* Inner border */

.symbol-card::before{
    content:"";
    position:absolute;
    inset:18px;
    border:1px dashed rgba(93,114,64,.25);
    border-radius:22px;
}

.philosophy-symbol{
    width:500px;
    max-width:100%;
    position:relative;
    z-index:2;
    height:500px;
}




/* Right cards */

.symbol-info-card{
  display:grid;
  gap:18px;
  position:relative;
}

.symbol-row{
  display:grid;
  grid-template-columns:64px minmax(0, 1fr);
  gap:22px;
  align-items:center;

  padding:24px 26px;

  background:#fffaf2;
  border:1px solid rgba(79,95,47,.14);
  border-radius:28px;
  box-shadow:0 11px 28px rgba(74,50,31,.045);

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

.symbol-row:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 38px rgba(74,50,31,.10);
}

.symbol-icon{
  width:62px;
  height:62px;
  min-width:62px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;
  background:#efe1c5;
  color:#556634;

  font-size:23px;
  font-weight:700;
  line-height:1;
}

.symbol-row h3{
  margin:0 0 7px;

  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:31px;
  line-height:1.08;
  font-weight:500;
  color:#556634;
}

.symbol-row p{
  margin:0;

  font-size:15px;
  line-height:1.7;
  color:#6a5039;
}


/* ======================================================
   WHAT WE HOPE YOU FEEL
====================================================== */

.hope-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:20px;
  margin-top:24px;
}

.hope-card{
    position: relative;
    overflow: hidden;

    min-height:150px;
    padding:10px 11px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    text-align:center;
    background:#fff8ec;
    border:1px solid rgba(79,95,47,.18);
    border-radius:28px;
    box-shadow:0 14px 35px rgba(74,50,31,.075);

    transition:transform .35s ease,
               box-shadow .35s ease;
}

/* Top olive line */
.hope-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:3px;
    background:#5D7240;
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .35s ease;
}

/* Hover */
.hope-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 42px rgba(74,50,31,.12);
}

.hope-card:hover::before{
    transform:scaleX(1);
}

.hope-card h3{
  margin:0 0 11px;

  font-family:var(display);
  font-size:30px;
  line-height:1;
  font-weight:500;
  color:#4f5f2f;
}

.hope-card p{
  max-width:220px;
  margin:0;

  font-size:14px;
  line-height:1.65;
  color:#4a321f;
}


/* ======================================================
   FINAL SECTION
====================================================== */

.final1{
  padding:30px clamp(28px, 8vw, 100px);

  text-align:center;
  color:var(--sand);
  background:var(--olive-dark, #2f3a22);
}

.final1 h2{
  font-family:var(--display);font-size:clamp(2.3rem,5vw,4.4rem);line-height:1;margin-bottom:1rem;font-weight:400;

  color:var(--cream);
}
.final1 h2 em{
  color : var(--brown-dark)
}
.final1 p{
  max-width:760px;
  margin:0 auto 18px;

  font-size:18px;
  line-height:1.75;
  color:rgba(255,248,236,.82);
}

.quote{
  max-width:920px;
  margin:46px auto 0;

  font-family:var(--display);
  font-size:clamp(34px, 5vw, 58px);
  line-height:1.12;

  color:var(--cream);
}


/* ======================================================
   TABLET
====================================================== */

@media(max-width:980px){

  .section1{
    padding:76px 34px;
  }

  .belief-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .story-card,
  .mark-layout,
  .name-grid{
    grid-template-columns:1fr;
  }

  .story-card img{
    min-height:320px;
  }

  .flow{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .arrow{
    transform:rotate(90deg);
    min-height:28px;
  }

  .symbol-card{
    position:relative;
    top:auto;
    min-height:420px;
  }

  .section1-head h2{
    font-size:clamp(46px, 8vw, 68px);
  }

  .hope-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}


/* ======================================================
   MOBILE
====================================================== */

@media(max-width:560px){

  .paper{
    width:calc(100% - 18px);
    margin-top:-38px;
    border-radius:26px;
  }

  .section1{
    padding:62px 20px;
  }

  .section1-head{
    margin-bottom:34px;
  }

  .section1-head h2{
    font-size:42px;
    line-height:1.02;
    letter-spacing:-.8px;
  }

  .belief-grid,
  .hope-grid{
    grid-template-columns:1fr;
  }

  .story-card{
    padding:24px;
  }

  .story-card img{
    min-height:250px;
  }

  .meaning-card{
    min-height:auto;
    padding:10px 12px;
  }

  .goodness-panel{
    padding:60px 22px;
    border-radius:28px;
  }

  .mark-layout{
    gap:38px;
  }

  .symbol-card{
    min-height:330px;
    padding:28px;
  }

  .philosophy-symbol{
    width:min(240px, 75%);
  }

  .symbol-row{
    grid-template-columns:54px minmax(0, 1fr);
    gap:16px;
    padding:20px;
  }

  .symbol-icon{
    width:54px;
    height:54px;
    min-width:54px;
    font-size:20px;
  }

  .symbol-row h3{
    font-size:26px;
  }

  .symbol-row p{
    font-size:14px;
  }

  .hope-card{
    min-height:180px;
  }

  .final1{
    padding:76px 22px;
  }
}

.making-section{
  padding:50px 0;
  background: var(--olive-dark);
  position:relative;
    overflow:hidden;
}

.making-section .container{
  width:min(1240px, calc(100% - 40px));
  margin:0 auto;
}
/* Common style */
.making-doodle{
    position:absolute;
    pointer-events:none;
    opacity:.2;
    z-index:0;
    user-select:none;
}

/* Bring actual content above doodles */
.making-section .container{
    position:relative;
    z-index:2;
}

/* Positions */
.doodle-top-right1{
    width:300px;
    top:20px;
    right:10px;
    
}

.doodle-top-left{
    width:150px;
    top:40px;
    left:-30px;
    transform:rotate(-15deg);
}
.doodle-top-left2{
    width:150px;
    top:40px;
    left:10px;
    transform:rotate(-15deg);
}
.doodle-bottom-left1{
    width:140px;
    bottom:30px;
    left:20px;
}

.doodle-top-right{
    width:140px;
    top:80px;
    right:-10px;
    transform:rotate(20deg);
}

.doodle-top-right2{
    width:140px;
    top:1200px;
    right:-10px;
    transform:rotate(20deg);
}

.doodle-middle-left{
    width:120px;
    top:45%;
    left:-30px;
    transform:translateY(-50%) rotate(-10deg);
}
.doodle-middle-left1{
    width:120px;
    top:25%;
    left:0px;
    transform:translateY(-50%) rotate(-10deg);
}

.doodle-middle-right{
    width:120px;
    top:55%;
    right:-25px;
    transform:translateY(-50%) rotate(12deg);
}
.doodle-middle-right2{
    width:120px;
    top:65%;
    right:-25px;
    transform:translateY(-50%) rotate(12deg);
}
.doodle-middle-right1{
    width:120px;
    top:75%;
    right:0px;
    transform:translateY(-50%) rotate(12deg);
}

.doodle-bottom-left{
    width:140px;
    bottom:30px;
    left:40px;
    transform:rotate(15deg);
}

.doodle-bottom-left1{
    width:140px;
    bottom:800px;
    left:0px;
    transform:rotate(15deg);
}

.doodle-bottom-right{
    width:170px;
    bottom:-20px;
    right:-30px;
    transform:rotate(-18deg);
}
.making-header{
  max-width:820px;
  margin-bottom:46px;
}

.section-label{
  margin:0 0 14px;
  color:#9a6b3f;
  font-size:12px;
  font-weight:800;
  letter-spacing:2.8px;
  text-transform:uppercase;
}

.making-header h2{
  margin:0 0 8px;
  font-family:var(--display);
  font-size:clamp(46px, 6vw, 78px);
  line-height:.98;
  font-weight:500;
  color: #fff8ec;
}

.making-header > p:last-child{
  max-width:720px;
  margin:0;
  font-size:17px;
  line-height:1.75;
  color:#fffade;
}

.making-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:20px;
}

.making-card{
  position:relative;
  min-height:430px;
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(79,95,47,.14);
  box-shadow:0 18px 42px rgba(74,50,31,.10);
  background:#2f3a22;
  isolation:isolate;
}

.making-card img{
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  object-fit:cover;
  transition:transform .65s ease;
}

.making-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:24px;
  background:
    linear-gradient(
      to top,
      rgba(28,37,19,.94) 0%,
      rgba(28,37,19,.66) 42%,
      rgba(28,37,19,.12) 78%
    );
}

.card-number{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,248,236,.90);
  color:#4f5f2f;
  font-size:12px;
  font-weight:800;
}

.card-category{
  margin:0 0 8px;
  color:#e4d6bb;
  font-size:11px;
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
}

.making-card h3{
  margin:0;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:36px;
  line-height:1;
  font-weight:500;
  color:#fff8ec;
}

.hover-description{
  max-height:0;
  opacity:0;
  overflow:hidden;
  transform:translateY(16px);
  transition:
    max-height .45s ease,
    opacity .35s ease,
    transform .45s ease,
    margin .45s ease;
}

.hover-description p{
  margin:16px 0 14px;
  font-size:14px;
  line-height:1.65;
  color:rgba(255,248,236,.84);
}

.card-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.card-tags span{
  padding:7px 11px;
  border:1px solid rgba(255,248,236,.25);
  border-radius:999px;
  color:#fff8ec;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.making-card:hover img{
  transform:scale(1.08);
}

.making-card:hover .hover-description{
  max-height:180px;
  opacity:1;
  transform:translateY(0);
}

.making-action{
  margin-top:38px;
  text-align:center;
}

.making-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 28px;
  border-radius:999px;
  background:#4f5f2f;
  color:#fff8ec;
  font-size:13px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  transition:.3s ease;
}

.making-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(74,50,31,.18);
}

/* Tablet */
@media(max-width:980px){
  .making-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .making-card{
    min-height:410px;
  }
}

/* Mobile */
@media(max-width:580px){
  .making-section{
    padding:70px 0;
  }

  .making-section .container{
    width:min(100% - 26px, 1240px);
  }

  .making-grid{
    grid-template-columns:1fr;
  }

  .making-card{
    min-height:420px;
  }

  .hover-description{
    max-height:180px;
    opacity:1;
    transform:none;
  }
}
/* JOURNEY STRIP */

.journey-strip{
    width:100%;
    margin:60px auto;
    padding:30px;
    box-sizing:border-box;
    background:#49642f;
    border-radius:34px;
    box-shadow:0 24px 50px rgba(57,68,40,.14);
    position:relative;
    overflow:visible;
}

/* Doodle */
.journey-doodle-left{
    position:absolute;
    left:0px;
    bottom:-70px;

    width:280px;

    opacity:.6;

    pointer-events:none;

    z-index:2;             /* NOT -1 */
}
.journey-strip .flow{
    display:grid;
    grid-template-columns:
        minmax(0,1fr) 24px
        minmax(0,1fr) 24px
        minmax(0,1fr) 24px
        minmax(0,1fr) 24px
        minmax(0,1fr) 24px
        minmax(0,1.15fr);
    align-items:center;
    gap:10px;
}

.journey-strip .flow-box{
    min-width:0;
    min-height:145px;
    padding:20px 12px;
    box-sizing:border-box;
    border:1px solid rgba(255,248,236,.14);
    border-radius:20px;
    background:rgba(255,255,255,.055);
    text-align:center;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    transition:.3s ease;
}

.journey-strip .flow-box:hover{
    transform:translateY(-5px);
    background:rgba(255,255,255,.1);
    border-color:rgba(255,248,236,.28);
}

.journey-strip .flow-box h3{
    margin:0 0 10px;
    color:#fff8ec;
    font-family:Georgia, "Times New Roman", serif;
    font-size:1.65rem;
    font-weight:400;
    line-height:1;
}

.journey-strip .flow-box p{
    margin:0;
    color:rgba(255,248,236,.8);
    font-family:Arial, Helvetica, sans-serif;
    font-size:.76rem;
    line-height:1.45;
}

.journey-strip .arrow{
    display:flex;
    align-items:center;
    justify-content:center;
    color:#d8a066;
    font-size:1.4rem;
}

/* Tablet */

@media (max-width:1100px){

    .journey-strip{
        padding:24px 18px;
    }

    .journey-strip .flow{
        grid-template-columns:
            minmax(0,1fr) 18px
            minmax(0,1fr) 18px
            minmax(0,1fr) 18px
            minmax(0,1fr) 18px
            minmax(0,1fr) 18px
            minmax(0,1.1fr);
        gap:6px;
    }

    .journey-strip .flow-box{
        min-height:130px;
        padding:16px 8px;
    }

    .journey-strip .flow-box h3{
        font-size:1.35rem;
    }

    .journey-strip .flow-box p{
        font-size:.66rem;
    }
}
/* Mobile */
@media (max-width:768px){

    .journey-strip{
        padding:22px;
    }

    .journey-strip .flow{
        display:flex;
        flex-direction:column;
        gap:10px;
    }

    .journey-strip .flow-box{
        width:100%;
        min-height:110px;
    }

    .journey-strip .arrow{
        transform:rotate(90deg);
        height:22px;
    }
}

/* ═══════════════════════════════════════
   MENU CONTENT
═══════════════════════════════════════ */

.menu-content{
    --olive:#445728;
    --olive-dark:#33431e;
    --forest:#263719;
    --brown:#5a3826;
    --clay:#b87950;
    --cream:#fff8ec;
    --beige:#f3e7d3;
    --paper:#fbf5e9;
    --gold:#c8a46a;

    overflow:hidden;
    background:var(--cream);
    color:var(--brown);
}

.menu-container{
    width:min(1180px, calc(100% - 48px));
    margin:0 auto;
}

.menu-eyebrow{
    margin:0 0 14px;
    color:#718044;
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.21em;
    text-transform:uppercase;
}

.menu-content h2,
.menu-content h3{
    margin-top:0;
    color:var(--clay);
    font-family:var(--display);
    font-weight:400;
}

.menu-content h2{
    font-size:clamp(2.5rem, 5vw, 4.6rem);
    line-height:1.02;
    letter-spacing:-.04em;
}

.menu-content h2 em{
    color:var(--olive);
    font-weight:400;
}

.menu-content p{
    font-size:1rem;
    line-height:1.8;
}

.menu-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 28px;
    border:1px solid var(--olive);
    border-radius:100px;
    background:var(--olive);
    color:#fff;
    font-size:.82rem;
    font-weight:700;
    letter-spacing:.08em;
    text-decoration:none;
    text-transform:uppercase;
    transition:.3s ease;
}

.menu-btn:hover{
    transform:translateY(-3px);
    background:var(--olive-dark);
}


/* INTRO */

.menu-intro{
    padding:20px 0 30px;
    background:
        radial-gradient(circle at 75% 20%, rgba(200,164,106,.15), transparent 30%),
        var(--cream);
        position:relative;
        overflow:hidden;
}

.menu-intro-grid{
    display:grid;
    grid-template-columns:.92fr 1.08fr;
    align-items:center;
    gap:90px;
}

.menu-intro-copy h2{
    max-width:650px;
    margin-bottom:28px;
    font-family: var(--display);
}

.menu-intro-copy > p:not(.menu-eyebrow){
    max-width:570px;
    margin:0 0 34px;
}

.menu-intro-images{
    position:relative;
    min-height:630px;
}

.intro-image{
    position:absolute;
    margin:0;
    overflow:hidden;
    border-radius:36px;
    box-shadow:0 28px 65px rgba(64,48,32,.17);
}

.intro-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .7s ease;
}

.intro-image:hover img{
    transform:scale(1.045);
}

.intro-image-large{
    top:0;
    right:0;
    width:78%;
    height:530px;
}

.intro-image-small{
    left:0;
    bottom:0;
    width:44%;
    height:280px;
    border:12px solid var(--cream);
}

.menu-doodle{
    position:absolute;
    right:8%;
    bottom:5%;
    display:grid;
    width:74px;
    height:74px;
    place-items:center;
    border:1px solid rgba(68,87,40,.35);
    border-radius:50%;
    color:var(--olive);
    font-size:2rem;
}


/* CATEGORIES */

.menu-categories{
    padding:20px 0;
    background:var(--beige);
    position:relative;
    overflow:hidden;
}

.menu-section-heading{
    display:grid;
    grid-template-columns:1.1fr .7fr;
    align-items:end;
    gap:70px;
    margin-bottom:55px;
}

.menu-section-heading h2{
    max-width:760px;
    margin-bottom:0;
    font-family: var(--display);
}
.menu-section-heading h2 em{
  color : var(--olive)
}
.menu-section-heading > p{
    max-width:440px;
    margin:0 0 8px;
}

.menu-category-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:22px;
}

.menu-category-card{
    position:relative;
    min-height:440px;
    overflow:hidden;
    border-radius:30px;
    isolation:isolate;
}

.menu-category-card-wide{
    grid-column:1 / -1;
    min-height:560px;
}

.menu-category-card img{
    position:absolute;
    inset:0;
    z-index:-2;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .8s ease;
}

.menu-category-card:hover img{
    transform:scale(1.055);
}

.menu-category-overlay{
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(
        180deg,
        rgba(21,30,14,.03) 15%,
        rgba(21,30,14,.82) 100%
    );
}

.menu-category-content{
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    padding:38px;
    color:#fff;
}

.menu-category-content span{
    display:inline-block;
    margin-bottom:14px;
    color:#efe1c3;
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.18em;
}

.menu-category-content h3{
    margin-bottom:10px;
    color:#fff;
    font-size:clamp(2rem, 4vw, 3.3rem);
}

.menu-category-content p{
    max-width:550px;
    margin:0;
    color:rgba(255,255,255,.82);
}


/* SIGNATURE */

.signature-menu{
    padding:20px 0;
    background:var(--cream);
    position:relative;
    overflow:hidden;
}

.signature-heading{
    max-width:780px;
    margin-bottom:65px;
}

.signature-heading h2{
    margin-bottom:0;
}

.signature-list{
    border-top:1px solid rgba(90,56,38,.18);
}

.signature-item{
    display:grid;
    grid-template-columns:300px 1fr;
    align-items:center;
    gap:54px;
    padding:34px 0;
    border-bottom:1px solid rgba(90,56,38,.18);
}

.signature-image{
    height:205px;
    overflow:hidden;
    border-radius:24px;
}

.signature-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s ease;
}

.signature-item:hover .signature-image img{
    transform:scale(1.05);
}

.signature-copy{
    display:grid;
    grid-template-columns:55px 1fr;
    align-items:start;
    gap:24px;
}

.signature-number{
    padding-top:9px;
    color:var(--clay);
    font-size:.82rem;
    font-weight:700;
    letter-spacing:.12em;
}

.signature-copy h3{
    margin-bottom:12px;
    font-size:clamp(2rem, 4vw, 3.4rem);
}

.signature-copy p{
    max-width:670px;
    margin:0;
}


/* INGREDIENT STORY */

.ingredient-story{
    padding:20px 0;
    background:var(--paper);
    position:relative;
    overflow:hidden;
}

.ingredient-story-grid{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    align-items:center;
    gap:90px;
}

.ingredient-story-image{
    position:relative;
    height:650px;
}

.ingredient-story-image > img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:38px;
}

.ingredient-badge{
    position:absolute;
    right:-35px;
    bottom:55px;
    display:flex;
    width:185px;
    height:185px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border:10px solid var(--paper);
    border-radius:50%;
    background:var(--olive);
    color:#fff;
    text-align:center;
}

.ingredient-badge strong{
    font-family:Georgia, "Times New Roman", serif;
    font-size:1.35rem;
    font-weight:400;
}

.ingredient-badge span{
    margin-top:7px;
    font-size:.76rem;
}

.ingredient-story-copy h2{
    margin-bottom:28px;
    font-family: var(--display);
}

.ingredient-story-copy > p:not(.menu-eyebrow){
    margin-bottom:34px;
}

.ingredient-points{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:14px;
    margin:0;
    padding:0;
    list-style:none;
}

.ingredient-points li{
    padding:17px 18px;
    border:1px solid rgba(68,87,40,.18);
    border-radius:16px;
    background:#fffaf1;
    color:var(--olive);
    font-size:.9rem;
    font-weight:700;
}


/* CTA */

.menu-contact-cta{
    padding:20px 0;
    background:var(--olive);
}

.menu-contact-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:60px;
}

.menu-contact-inner > div{
    max-width:830px;
}

.menu-eyebrow-light{
    color:#d8c49e;
}

.menu-contact-inner h2{
    margin-bottom:22px;
    color:#fff8ec;
    font-family: var(--display);
}

.menu-contact-inner h2 em{
    color:#e0be88;
}

.menu-contact-inner p{
    max-width:740px;
    margin:0;
    color:rgba(255,255,255,.75);
}

.menu-btn-light{
    flex:none;
    border-color:#fff8ec;
    background:#fff8ec;
    color:var(--olive);
}

.menu-btn-light:hover{
    background:#ead9b9;
}


/* RESPONSIVE */

@media (max-width:900px){

    .menu-intro-grid,
    .menu-section-heading,
    .ingredient-story-grid{
        grid-template-columns:1fr;
    }

    .menu-intro-grid,
    .ingredient-story-grid{
        gap:55px;
    }

    .menu-section-heading{
        gap:20px;
    }

    .menu-intro-images{
        min-height:570px;
    }

    .menu-category-grid{
        grid-template-columns:1fr;
    }

    .menu-category-card-wide{
        grid-column:auto;
    }

    .signature-item{
        grid-template-columns:220px 1fr;
        gap:30px;
    }

    .ingredient-badge{
        right:25px;
    }

    .menu-contact-inner{
        align-items:flex-start;
        flex-direction:column;
    }
}

@media (max-width:650px){

    .menu-container{
        width:min(100% - 30px, 1180px);
    }

    .menu-intro,
    .menu-categories,
    .signature-menu,
    .ingredient-story{
        padding:80px 0;
    }

    .menu-intro-images{
        min-height:470px;
    }

    .intro-image-large{
        width:88%;
        height:390px;
    }

    .intro-image-small{
        width:52%;
        height:210px;
        border-width:8px;
    }

    .menu-category-card,
    .menu-category-card-wide{
        min-height:410px;
        border-radius:22px;
    }

    .menu-category-content{
        padding:26px;
    }

    .signature-item{
        grid-template-columns:1fr;
        gap:22px;
    }

    .signature-image{
        height:270px;
    }

    .signature-copy{
        grid-template-columns:38px 1fr;
        gap:12px;
    }

    .ingredient-story-image{
        height:480px;
    }

    .ingredient-badge{
        right:20px;
        bottom:20px;
        width:145px;
        height:145px;
        border-width:7px;
    }

    .ingredient-points{
        grid-template-columns:1fr;
    }

    .menu-contact-cta{
        padding:75px 0;
    }
}

/* ═══════════════════════════════════════
   OUR ROOTS — MIDDLE CONTENT
═══════════════════════════════════════ */

.roots-content{
    --olive:#45582d;
    --olive-dark:#2f3d20;
    --brown:#563725;
    --clay:#b77950;
    --cream:#fff8ec;
    --paper:#f8eedf;
    --beige:#efe1cd;
    --gold:#c7a268;

    overflow:hidden;
    background:var(--cream);
    color:var(--brown);
}

.roots-container{
    width:min(1180px, calc(100% - 48px));
    margin:0 auto;
    position: relative;
    overflow:hidden;
}

.roots-label{
    margin:0 0 14px;
    color:#78884b;
    font-family:var(--display);
    font-size:.74rem;
    font-weight:700;
    letter-spacing:.22em;
    text-transform:uppercase;
}

.roots-content h2,
.roots-content h3{
    margin-top:0;
    color:var(--clay);
    font-weight:400;
}

.roots-content h2{
    margin-bottom:26px;
    font-size:clamp(2.7rem, 5.5vw, 5.3rem);
    line-height:.98;
    letter-spacing:-.045em;
}

.roots-content h2 em{
    color:var(--olive);
    font-weight:400;
}

.roots-content p{
    font-family:Arial, Helvetica, sans-serif;
    font-size:1rem;
    line-height:1.8;
}


/* ORIGIN */

.roots-origin{
    padding:20px 0;
    background:
        radial-gradient(circle at 90% 15%, rgba(183,121,80,.13), transparent 28%),
        var(--cream);
        position:relative;
        overflow:hidden;
}

.roots-origin-grid{
    display:grid;
    grid-template-columns:1.04fr .96fr;
    align-items:center;
    gap:90px;
}

.roots-origin-image{
    position:relative;
    height:690px;
}

.roots-origin-image > img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:42px 42px 160px 42px;
}

.roots-image-note{
    position:absolute;
    right:-35px;
    bottom:60px;
    width:195px;
    padding:24px;
    border:10px solid var(--cream);
    border-radius:24px;
    background:var(--olive);
    color:#fff;
}

.roots-image-note span{
    display:block;
    margin-bottom:10px;
    color:#dcc49b;
    font-size:.74rem;
    font-weight:700;
    letter-spacing:.18em;
}

.roots-image-note p{
    margin:0;
    color:#fff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:1.35rem;
    line-height:1.25;
}

.roots-origin-copy{
    max-width:560px;
}

.roots-lead{
    color:#4f3c2f;
    font-size:1.12rem !important;
}

.roots-signature{
    display:grid;
    grid-template-columns:45px 1fr;
    gap:18px;
    margin-top:36px;
    padding-top:26px;
    border-top:1px solid rgba(69,88,45,.2);
}

.roots-signature span{
    display:block;
    width:45px;
    height:2px;
    margin-top:14px;
    background:var(--clay);
}

.roots-signature p{
    margin:0;
    color:var(--olive);
    font-family:Georgia, "Times New Roman", serif;
    font-size:1.35rem;
    font-style:italic;
    line-height:1.45;
}


/* SOIL */

.roots-soil{
    padding:20px 0;
    background:var(--paper);
    position:relative;
    overflow:hidden;
}

.roots-section-heading{
    display:grid;
    grid-template-columns:1.15fr .65fr;
    align-items:end;
    gap:75px;
    margin-bottom:60px;
}

.roots-section-heading h2{
    max-width:780px;
    margin-bottom:0;
}

.roots-section-heading > p{
    margin:0 0 8px;
}

.roots-soil-layout{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:24px;
}

.roots-soil-main{
    position:relative;
    min-height:680px;
    overflow:hidden;
    border-radius:34px;
}

.roots-soil-main > img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.roots-soil-card{
    position:absolute;
    right:28px;
    bottom:28px;
    left:28px;
    padding:30px;
    border-radius:24px;
    background:rgba(255,248,236,.94);
    backdrop-filter:blur(12px);
}

.roots-number{
    display:block;
    margin-bottom:11px;
    color:var(--clay);
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.18em;
}

.roots-soil-card h3,
.roots-mini-story h3{
    margin-bottom:10px;
    font-size:2rem;
}

.roots-soil-card p,
.roots-mini-story p{
    margin:0;
}

.roots-soil-side{
    display:grid;
    gap:24px;
}

.roots-mini-story{
    display:grid;
    grid-template-columns:1fr;
    align-content:start;
    min-height:328px;
    padding:24px;
    border:1px solid rgba(69,88,45,.14);
    border-radius:30px;
    background:#fffaf1;
}

.roots-mini-image{
    height:190px;
    margin-bottom:24px;
    overflow:hidden;
    border-radius:20px;
}

.roots-mini-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.roots-mini-story-dark{
    grid-template-columns:1fr 90px;
    align-items:end;
    background:var(--olive);
}

.roots-mini-story-dark h3,
.roots-mini-story-dark p{
    color:#fff8ec;
}

.roots-season-doodle{
    display:grid;
    width:74px;
    height:74px;
    place-items:center;
    border:1px solid rgba(255,255,255,.3);
    border-radius:50%;
    color:#f2dec0;
    font-size:2rem;
}


/* GROWERS */

.roots-growers{
    padding:20px 0;
    background:var(--cream);
    position: relative;
    overflow:hidden;
}

.roots-growers-grid{
    display:grid;
    grid-template-columns:.86fr 1.14fr;
    align-items:center;
    gap:90px;
}

.roots-growers-copy{
    max-width:520px;
}

.roots-values-list{
    margin-top:42px;
    border-top:1px solid rgba(86,55,37,.16);
}

.roots-values-list div{
    display:grid;
    grid-template-columns:50px 1fr;
    gap:18px;
    padding:18px 0;
    border-bottom:1px solid rgba(86,55,37,.16);
}

.roots-values-list span{
    color:var(--clay);
    font-size:.75rem;
    font-weight:700;
    letter-spacing:.14em;
}

.roots-values-list p{
    margin:0;
    color:var(--olive);
    font-weight:700;
}

.roots-growers-gallery{
    position:relative;
    min-height:680px;
}

.roots-growers-gallery figure{
    position:absolute;
    margin:0;
    overflow:hidden;
    box-shadow:0 26px 65px rgba(63,45,32,.16);
}

.roots-growers-large{
    top:0;
    right:0;
    width:78%;
    height:560px;
    border-radius:38px;
}

.roots-growers-small{
    bottom:0;
    left:0;
    width:47%;
    height:300px;
    border:12px solid var(--cream);
    border-radius:30px;
}

.roots-growers-gallery img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.roots-gallery-caption{
    position:absolute;
    right:4%;
    bottom:15px;
    display:flex;
    flex-direction:column;
    width:190px;
    padding:20px;
    border-radius:18px;
    background:var(--olive);
    color:#fff;
}

.roots-gallery-caption strong{
    font-family:Georgia, "Times New Roman", serif;
    font-size:1.3rem;
    font-weight:400;
}

.roots-gallery-caption span{
    margin-top:5px;
    color:#ddc9a6;
    font-size:.78rem;
}


/* JOURNEY */

.roots-journey{
    padding:20px 0;
    background:var(--olive-dark);
    position:relative;
    overflow:hidden;
}

.roots-label-light{
    color:#d8be94;
}

.roots-journey-heading{
    max-width:900px;
    margin-bottom:60px;
}

.roots-journey-heading h2{
    color:#fff8ec;
}

.roots-journey-heading h2 em{
    color:#ddb77f;
}

.roots-journey-heading > p:last-child{
    max-width:670px;
    color:rgba(255,255,255,.7);
}

.roots-journey-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:16px;
    margin-bottom:28px;
}

.roots-journey-card{
    min-height:300px;
    padding:28px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:24px;
    background:#fffade;
}

.roots-journey-icon{
    display:grid;
    width:48px;
    height:48px;
    margin-bottom:20px;
    place-items:center;
    border:1px solid olive;
    border-radius:50%;
    color:var(--olive);
    font-size:.72rem;
    font-weight:700;
}

.roots-journey-card h3{
    margin-bottom:12px;
    color:var(--brown-dark);
    font-size:1.65rem;
}

.roots-journey-card p{
    margin:0;
    color:var(--olive-dark);
}

.roots-journey-photo{
    position:relative;
    height:540px;
    overflow:hidden;
    border-radius:34px;
}

.roots-journey-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.roots-journey-photo::after{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(26,35,18,.75), transparent 60%);
    content:"";
}

.roots-journey-photo-copy{
    position:absolute;
    bottom:44px;
    left:44px;
    z-index:2;
    color:#fff;
}

.roots-journey-photo-copy span{
    display:block;
    margin-bottom:10px;
    color:#e5c99d;
    font-size:.75rem;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.roots-journey-photo-copy p{
    margin:0;
    color:#fff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:2.4rem;
}


/* FINAL STORY */

.roots-final-story{
    padding:20px 0;
    background:var(--beige);
    position:relative;
    overflow:hidden;
}

.roots-final-grid{
    display:grid;
    grid-template-columns:.92fr 1.08fr;
    align-items:center;
    gap:90px;
    position: relative;
    overflow: hidden;
}

.roots-final-copy{
    max-width:580px;
}

.roots-poem{
    margin-top:38px;
    padding-left:26px;
    border-left:3px solid var(--olive);
}

.roots-poem p{
    margin:0 0 5px;
    color:#4c382b;
    font-family:Georgia, "Times New Roman", serif;
    font-size:1.3rem;
    font-style:italic;
    line-height:1.55;
}

.roots-final-image{
    position:relative;
    height:650px;
}

.roots-final-image > img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:180px 38px 38px 38px;
}

.roots-final-badge{
    position:absolute;
    right:-28px;
    bottom:44px;
    display:flex;
    width:190px;
    height:190px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border:10px solid var(--beige);
    border-radius:50%;
    background:var(--clay);
    color:#fff;
    text-align:center;
}

.roots-final-badge span{
    margin-bottom:7px;
    font-size:.72rem;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.roots-final-badge strong{
    max-width:130px;
    font-family:Georgia, "Times New Roman", serif;
    font-size:1.35rem;
    font-weight:400;
}


/* RESPONSIVE */

@media (max-width:950px){

    .roots-origin-grid,
    .roots-section-heading,
    .roots-growers-grid,
    .roots-final-grid{
        grid-template-columns:1fr;
    }

    .roots-origin-grid,
    .roots-growers-grid,
    .roots-final-grid{
        gap:60px;
    }

    .roots-soil-layout{
        grid-template-columns:1fr;
    }

    .roots-journey-grid{
        grid-template-columns:repeat(2, 1fr);
    }

    .roots-origin-copy,
    .roots-growers-copy,
    .roots-final-copy{
        max-width:100%;
    }

    .roots-origin-image{
        height:620px;
    }
}

@media (max-width:650px){

    .roots-container{
        width:min(100% - 30px, 1180px);
    }

    .roots-origin,
    .roots-soil,
    .roots-growers,
    .roots-journey,
    .roots-final-story{
        padding:85px 0;
    }

    .roots-origin-image{
        height:500px;
    }

    .roots-image-note{
        right:15px;
        bottom:18px;
        width:165px;
        border-width:7px;
    }

    .roots-soil-main{
        min-height:560px;
    }

    .roots-soil-card{
        right:16px;
        bottom:16px;
        left:16px;
        padding:22px;
    }

    .roots-growers-gallery{
        min-height:520px;
    }

    .roots-growers-large{
        width:88%;
        height:430px;
    }

    .roots-growers-small{
        width:55%;
        height:220px;
        border-width:8px;
    }

    .roots-journey-grid{
        grid-template-columns:1fr;
    }

    .roots-journey-card{
        min-height:auto;
    }

    .roots-journey-photo{
        height:430px;
    }

    .roots-journey-photo-copy{
        bottom:28px;
        left:25px;
    }

    .roots-final-image{
        height:500px;
    }

    .roots-final-badge{
        right:12px;
        bottom:16px;
        width:150px;
        height:150px;
        border-width:7px;
    }
}

/* ═══════════════════════════════════════
   FROM SOIL TO SOUL
═══════════════════════════════════════ */

.root-journey-section{
  --journey-olive:#4c6034;
  --journey-olive-light:#83966b;
  --journey-soft-green:#edf2e8;
  --journey-cream:#fffaf1;
  --journey-brown:#4d3426;
  --journey-muted:#756b62;
  --journey-line:#dfe6d8;

  position:relative;
  overflow:hidden;
  padding:40px 0 40px;
  background:
    radial-gradient(
      circle at 50% 10%,
      rgba(131,150,107,.10),
      transparent 34%
    ),
    var(--journey-cream);
}

/* subtle decorative circles */

.root-journey-section::before,
.root-journey-section::after{
  position:absolute;
  border:1px solid rgba(76,96,52,.12);
  border-radius:50%;
  content:"";
  pointer-events:none;
}

.root-journey-section::before{
  top:-150px;
  left:-100px;
  width:360px;
  height:360px;
}

.root-journey-section::after{
  right:-120px;
  bottom:-170px;
  width:420px;
  height:420px;
}

.root-journey-container{
  position:relative;
  z-index:2;
  width:min(1180px, calc(100% - 48px));
  margin:0 auto;
}

.root-journey-heading{
  max-width:760px;
  margin:0 auto 78px;
  text-align:center;
}

.root-journey-label{
  margin:0 0 14px;
  color:var(--journey-olive-light);
  font-family:Arial, Helvetica, sans-serif;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.28em;
  text-transform:uppercase;
}

.root-journey-heading h2{
  margin:0 0 20px;
  color:var(--clay);
  font-family:var(--display);
  font-size:clamp(3rem, 6vw, 5.4rem);
  font-weight:400;
  line-height:1;
  letter-spacing:-.045em;
}

.root-journey-heading h2 em{
  color:var(--olive);
  font-weight:400;
}

.root-journey-intro{
  max-width:660px;
  margin:0 auto;
  color:var(--journey-muted);
  font-family:Arial, Helvetica, sans-serif;
  font-size:1rem;
  line-height:1.8;
}

.root-journey-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:26px;
}

.root-journey-item{
  position:relative;
  min-height:300px;
  padding:28px 16px 22px;
  border:1px solid rgba(76,96,52,.12);
  border-radius:28px;
  background:rgba(255,255,255,.56);
  text-align:center;
  transition:
    transform .35s ease,
    box-shadow .35s ease,
    border-color .35s ease,
    background .35s ease;
}

.root-journey-item:hover{
  transform:translateY(-10px);
  border-color:rgba(76,96,52,.28);
  background:#fffdf8;
  box-shadow:0 24px 55px rgba(68,76,52,.12);
}

.root-icon-wrap{
  display:grid;
  width:78px;
  height:78px;
  margin:0 auto 24px;
  place-items:center;
  border:1px solid rgba(76,96,52,.12);
  border-radius:50%;
  background:var(--journey-soft-green);
  transition:
    transform .35s ease,
    background .35s ease;
}

.root-journey-item:hover .root-icon-wrap{
  transform:rotate(-5deg) scale(1.06);
  background:#e5edde;
}

.root-icon-wrap svg{
  width:34px;
  height:34px;
  fill:none;
  stroke:var(--journey-olive);
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:2;
}

.root-step-number{
  display:block;
  margin-bottom:14px;
  color:#b2bca7;
  font-family:Arial, Helvetica, sans-serif;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.18em;
}

.root-journey-item h3{
  margin:0 0 8px;
  color:var(--journey-brown);
  font-family:Georgia, "Times New Roman", serif;
  font-size:2rem;
  font-weight:400;
  line-height:1.1;
}

.root-step-tag{
  margin:0 0 20px;
  color:var(--journey-olive-light);
  font-family:Arial, Helvetica, sans-serif;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.root-step-text{
  margin:0;
  color:var(--journey-muted);
  font-family:Arial, Helvetica, sans-serif;
  font-size:.9rem;
  line-height:1.75;
}

/* journey connector */

.root-journey-line{
  position:absolute;
  top:260px;
  right:10%;
  left:10%;
  z-index:-1;
  height:1px;
  background:var(--journey-line);
}

.root-journey-line span{
  position:absolute;
  top:50%;
  width:8px;
  height:8px;
  transform:translate(-50%, -50%);
  border:2px solid var(--journey-cream);
  border-radius:50%;
  background:var(--journey-olive-light);
}

.root-journey-line span:nth-child(1){
  left:12.5%;
}

.root-journey-line span:nth-child(2){
  left:37.5%;
}

.root-journey-line span:nth-child(3){
  left:62.5%;
}

.root-journey-line span:nth-child(4){
  left:87.5%;
}

/* bottom quote */

.root-journey-quote{
  position:relative;
  max-width:850px;
  margin:72px auto 0;
  padding:18px 20px;
  border:1px solid rgba(76,96,52,.14);
  border-radius:24px;
  background:#f2eee4;
  text-align:center;
}

.root-journey-quote::before,
.root-journey-quote::after{
  position:absolute;
  top:50%;
  width:68px;
  height:1px;
  background:rgba(76,96,52,.2);
  content:"";
}

.root-journey-quote::before{
  left:-34px;
}

.root-journey-quote::after{
  right:-34px;
}

.root-quote-mark{
  position:absolute;
  top:-34px;
  left:50%;
  transform:translateX(-50%);
  color:var(--journey-olive);
  font-family:Georgia, "Times New Roman", serif;
  font-size:4.5rem;
  line-height:1;
}

.root-journey-quote p{
  max-width:680px;
  margin:0 auto;
  color:var(--journey-olive);
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(1.35rem, 2.4vw, 2rem);
  font-style:italic;
  line-height:1.45;
}

/* RESPONSIVE */

@media (max-width:950px){

  .root-journey-grid{
    grid-template-columns:repeat(2, 1fr);
  }

  .root-journey-line{
    display:none;
  }

  .root-journey-item{
    min-height:360px;
  }
}

@media (max-width:600px){

  .root-journey-section{
    padding:82px 0 75px;
  }

  .root-journey-container{
    width:min(100% - 30px, 1180px);
  }

  .root-journey-heading{
    margin-bottom:48px;
  }

  .root-journey-grid{
    grid-template-columns:1fr;
    gap:16px;
  }

  .root-journey-item{
    min-height:auto;
    padding:30px 24px;
  }

  .root-icon-wrap{
    width:68px;
    height:68px;
  }

  .root-journey-quote{
    margin-top:52px;
    padding:35px 24px;
  }

  .root-journey-quote::before,
  .root-journey-quote::after{
    display:none;
  }
}

/* ═══════════════════════════════════════
   JOURNAL — MIDDLE CONTENT
═══════════════════════════════════════ */

.journal-page{
  --journal-olive:#45582d;
  --journal-olive-dark:#2f3d20;
  --journal-sage:#889873;
  --journal-brown:#503323;
  --journal-clay:#b8754d;
  --journal-cream:#fff8ec;
  --journal-paper:#f8eedf;
  --journal-beige:#eddfca;
  --journal-line:rgba(80,51,35,.16);

  overflow:hidden;
  background:var(--journal-cream);
  color:var(--journal-brown);
}

.journal-container{
  width:min(1180px, calc(100% - 48px));
  margin:0 auto;
}

.journal-label{
  margin:0 0 13px;
  color:#73834e;
  font-family:Arial, Helvetica, sans-serif;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.journal-page h2,
.journal-page h3{
  margin-top:0;
  color:var(--clay);
  font-family:var(--display);
  font-weight:400;
}

.journal-page h2{
  margin-bottom:0;
  font-size:clamp(2.8rem, 5vw, 5rem);
  line-height:1;
  letter-spacing:-.045em;
}

.journal-page h2 em{
  color:var(--olive);
  font-weight:400;
}

.journal-page p{
  font-family:Arial, Helvetica, sans-serif;
  line-height:1.75;
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}


/* FEATURED */

.journal-featured{
  padding:20px 0;
  background:
    radial-gradient(circle at 92% 10%, rgba(184,117,77,.12), transparent 30%),
    var(--journal-cream);
    position:relative;
    overflow:hidden;
}

.journal-heading-row{
  display:grid;
  grid-template-columns:1fr .62fr;
  align-items:end;
  gap:75px;
  margin-bottom:58px;
}
.journal-heading-row h2{
  font-family: var(--display);
}
.journal-heading-copy{
  max-width:450px;
  margin:0 0 8px;
  color:#6a594c;
}

.featured-grid{
  display:grid;
  grid-template-columns:1.22fr .78fr;
  gap:22px;
}

.featured-side{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:22px;
}

.featured-card{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  background:#29351f;
}

.featured-card-large{
  min-height:670px;
}

.featured-card-small{
  min-height:324px;
}

.featured-card-link{
  position:absolute;
  inset:0;
  display:block;
  color:#fff;
  text-decoration:none;
}

.featured-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .8s ease;
}

.featured-card:hover img{
  transform:scale(1.055);
}

.featured-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(
      180deg,
      rgba(20,28,15,.05) 15%,
      rgba(20,28,15,.88) 100%
    );
}

.featured-card-content{
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  padding:38px;
}

.featured-card-content h3{
  max-width:660px;
  margin:14px 0 12px;
  color:#fff8ec;
  font-size:clamp(2rem, 4vw, 3.8rem);
  line-height:1.02;
}

.featured-card-small .featured-card-content{
  padding:28px;
}

.featured-card-small .featured-card-content h3{
  max-width:460px;
  font-size:clamp(1.65rem, 2.6vw, 2.45rem);
}

.featured-card-content p{
  max-width:560px;
  margin:0 0 22px;
  color:rgba(255,255,255,.78);
}

.article-tag{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 12px;
  border:1px solid rgba(69,88,45,.22);
  border-radius:100px;
  background:#eef2e8;
  color:var(--journal-olive);
  font-family:Arial, Helvetica, sans-serif;
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.article-tag-light{
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.14);
  color:#fff8ec;
  backdrop-filter:blur(10px);
}


/* JOURNAL LIBRARY */

.journal-library{
  padding:20px 0 80px;
  background:var(--journal-paper);
  position:relative;
    overflow:hidden;
}

.journal-library-top{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  align-items:end;
  gap:70px;
  margin-bottom:58px;
}


.journal-library-top h2{
  max-width:670px;
  font-family: var(--display);
}
.journal-library-top h2 em{
  color : var(--olive)
}
.journal-filters{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:9px;
}

.journal-filter{
  padding:11px 17px;
  border:1px solid rgba(69,88,45,.2);
  border-radius:100px;
  background:transparent;
  color:var(--journal-olive);
  cursor:pointer;
  font-family:Arial, Helvetica, sans-serif;
  font-size:.76rem;
  font-weight:700;
  transition:.3s ease;
}

.journal-filter:hover,
.journal-filter.active{
  border-color:var(--journal-olive);
  background:var(--journal-olive);
  color:#fff;
}

.journal-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}

.journal-card{
  overflow:hidden;
  border:1px solid rgba(69,88,45,.14);
  border-radius:28px;
  background:#fffaf1;
  transition:
    transform .35s ease,
    box-shadow .35s ease;
}

.journal-card:hover{
  transform:translateY(-8px);
  box-shadow:0 24px 55px rgba(66,50,35,.12);
}

.journal-card-image{
  position:relative;
  display:block;
  height:275px;
  overflow:hidden;
}

.journal-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .65s ease;
}

.journal-card:hover .journal-card-image img{
  transform:scale(1.055);
}

.journal-card-number{
  position:absolute;
  top:18px;
  right:18px;
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border:1px solid rgba(255,255,255,.5);
  border-radius:50%;
  background:rgba(36,48,25,.72);
  color:#fff;
  font-size:.68rem;
  font-weight:700;
  backdrop-filter:blur(8px);
}

.journal-card-body{
  padding:28px;
}

.journal-card-body h3{
  margin:18px 0 13px;
  font-size:2rem;
  line-height:1.1;
}

.journal-card-body h3 a{
  color:inherit;
  text-decoration:none;
}

.journal-card-body p{
  margin:0 0 22px;
  color:#6a594c;
  font-size:.92rem;
}

.journal-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--journal-olive);
  font-family:Arial, Helvetica, sans-serif;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.07em;
  text-decoration:none;
  text-transform:uppercase;
}

.journal-link span{
  transition:transform .25s ease;
}

.journal-link:hover span{
  transform:translateX(5px);
}

.journal-link-light{
  color:#fff8ec;
}


/* EDITORIAL FEATURE */

.journal-editorial{
  padding:40px 0;
  background:var(--journal-cream);
  position:relative;
  overflow:hidden;
}

.journal-editorial-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  align-items:center;
  gap:90px;
}

.journal-editorial-image{
  position:relative;
  height:680px;
}

.journal-editorial-image > img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:40px 40px 150px 40px;
}

.editorial-image-label{
  position:absolute;
  right:-35px;
  bottom:50px;
  display:flex;
  width:210px;
  min-height:160px;
  flex-direction:column;
  justify-content:center;
  padding:25px;
  border:10px solid var(--journal-cream);
  border-radius:24px;
  background:var(--journal-olive);
  color:#fff;
}

.editorial-image-label span{
  margin-bottom:10px;
  color:#dfc69d;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.editorial-image-label strong{
  font-family:Georgia, "Times New Roman", serif;
  font-size:1.35rem;
  font-weight:400;
  line-height:1.3;
}

.journal-editorial-copy{
  max-width:550px;
}

.journal-editorial-copy h2{
  margin-bottom:28px;
  font-family: var(--display);
}

.journal-editorial-copy > p:not(.journal-label){
  margin-bottom:30px;
  color:#645347;
}

.journal-editorial-copy blockquote{
  margin:0 0 34px;
  padding:24px 0 24px 25px;
  border-left:3px solid var(--journal-clay);
  color:var(--journal-olive);
  font-family:Georgia, "Times New Roman", serif;
  font-size:1.35rem;
  font-style:italic;
  line-height:1.5;
}

.journal-primary-btn{
  display:inline-flex;
  min-height:54px;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:0 27px;
  border-radius:100px;
  background:var(--journal-olive);
  color:#fff;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.07em;
  text-decoration:none;
  text-transform:uppercase;
  transition:.3s ease;
}

.journal-primary-btn:hover{
  transform:translateY(-3px);
  background:var(--journal-olive-dark);
}


/* NEWSLETTER */

.journal-newsletter{
  padding:40px 0;
  background:var(--journal-olive-dark);
}

.journal-newsletter-inner{
  display:grid;
  grid-template-columns:1fr .65fr;
  align-items:center;
  gap:80px;
}

.journal-label-light{
  color:#d8bf96;
}

.journal-newsletter h2{
  margin-bottom:20px;
  color:#fff8ec;
  font-size:clamp(2.5rem, 4vw, 4.3rem);
  font-family: var(--display);
}

.journal-newsletter p{
  max-width:690px;
  margin:0;
  color:rgba(255,255,255,.7);
}

.journal-newsletter-form{
  display:flex;
  padding:7px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:100px;
  background:rgba(255,255,255,.06);
}

.journal-newsletter-form input{
  min-width:0;
  flex:1;
  padding:0 20px;
  border:0;
  outline:0;
  background:transparent;
  color:#fff;
  font:inherit;
}

.journal-newsletter-form input::placeholder{
  color:rgba(255,255,255,.54);
}

.journal-newsletter-form button{
  display:flex;
  min-height:50px;
  align-items:center;
  gap:10px;
  padding:0 23px;
  border:0;
  border-radius:100px;
  background:#fff8ec;
  color:var(--journal-olive);
  cursor:pointer;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}


/* RESPONSIVE */

@media (max-width:950px){

  .journal-heading-row,
  .journal-library-top,
  .journal-editorial-grid,
  .journal-newsletter-inner{
    grid-template-columns:1fr;
  }

  .featured-grid{
    grid-template-columns:1fr;
  }

  .featured-side{
    grid-template-columns:repeat(2, 1fr);
    grid-template-rows:auto;
  }

  .journal-grid{
    grid-template-columns:repeat(2, 1fr);
  }

  .journal-filters{
    justify-content:flex-start;
  }

  .journal-editorial-grid,
  .journal-newsletter-inner{
    gap:55px;
  }
}

@media (max-width:650px){

  .journal-container{
    width:min(100% - 30px, 1180px);
  }

  .journal-featured,
  .journal-library,
  .journal-editorial{
    padding:82px 0;
  }

  .journal-heading-row,
  .journal-library-top{
    gap:26px;
    margin-bottom:42px;
  }

  .featured-card-large{
    min-height:520px;
  }

  .featured-side{
    grid-template-columns:1fr;
  }

  .featured-card-small{
    min-height:350px;
  }

  .featured-card-content{
    padding:26px;
  }

  .journal-grid{
    grid-template-columns:1fr;
  }

  .journal-card-image{
    height:300px;
  }

  .journal-editorial-image{
    height:520px;
  }

  .editorial-image-label{
    right:12px;
    bottom:18px;
    width:180px;
    min-height:135px;
    border-width:7px;
  }

  .journal-newsletter{
    padding:75px 0;
  }

  .journal-newsletter-form{
    align-items:stretch;
    flex-direction:column;
    gap:8px;
    padding:8px;
    border-radius:24px;
  }

  .journal-newsletter-form input{
    min-height:50px;
  }

  .journal-newsletter-form button{
    justify-content:center;
  }
}

/* =========================================
   WHAT GUIDES US SECTION
========================================= */

.values-section{
  padding:30px 0;
  background:#fff8ec;
}

.values-strip{
  position:relative;
  overflow:hidden;
  background:#4f5f2f;
  border-radius:38px;
  padding:68px 55px 58px;
  box-shadow:0 30px 70px rgba(48,61,31,.18);
}

.values-strip::before{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  border-radius:50%;
  background:rgba(255,255,255,.04);
  top:-130px;
  right:-80px;
}

.values-strip::after{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  bottom:-120px;
  left:-70px;
}

.values-heading{
  position:relative;
  z-index:2;
  max-width:720px;
  margin-bottom:40px;
}
.values-heading em{
  color : var(--brown-dark)

}

.values-heading .label{
  margin:0 0 10px;
  font-family:Arial, Helvetica, sans-serif;
  font-size:12px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#d9c89e;
}

.values-heading .section-title{
  margin:0 0 15px;
  font-family:var(--display);
  font-size:58px;
  line-height:1.05;
  font-weight:500;
  color:#fff8ec;
}

.values-intro{
  max-width:640px;
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  font-size:17px;
  line-height:1.7;
  color:rgba(255,248,236,.78);
}

.values-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
}

.value-card{
  position:relative;
  min-height:260px;
  padding:34px 30px 32px;
  overflow:hidden;
  background:#fff8ec;
  border:1px solid rgba(217,200,158,.55);
  border-radius:24px;
  box-shadow:0 18px 40px rgba(29,38,18,.14);
  transition:
    transform .35s ease,
    box-shadow .35s ease,
    background .35s ease;
}

.value-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:7px;
  background:#b8a36c;
}

.value-card::after{
  content:"";
  position:absolute;
  width:105px;
  height:105px;
  border-radius:50%;
  right:-45px;
  bottom:-50px;
  background:rgba(79,95,47,.07);
  transition:transform .35s ease;
}

.value-card:hover{
  transform:translateY(-9px);
  background:#fffaf1;
  box-shadow:0 28px 55px rgba(25,34,15,.22);
}

.value-card:hover::after{
  transform:scale(1.35);
}

.value-number{
  position:absolute;
  top:25px;
  right:25px;
  font-family:Georgia, "Times New Roman", serif;
  font-size:15px;
  color:rgba(79,95,47,.48);
}

.value-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:50px;
  height:50px;
  margin-bottom:24px;
  border-radius:50%;
  background:#e7eadb;
  font-size:23px;
}

.value-card h3{
  margin:0 0 13px;
  font-family:Georgia, "Times New Roman", serif;
  font-size:27px;
  line-height:1.2;
  font-weight:500;
  color:#422b1e;
}

.value-card p{
  position:relative;
  z-index:2;
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  font-size:16px;
  line-height:1.7;
  color:#70533f;
}

.values-doodles{
  position:absolute;
  right:42px;
  top:38px;
  display:flex;
  gap:16px;
  pointer-events:none;
  opacity:.12;
  transform:rotate(-5deg);
}

.values-doodles span{
  display:block;
  font-size:34px;
  filter:grayscale(1) brightness(3);
}

/* =========================================
   RESPONSIVE
========================================= */

@media (max-width:1000px){

  .values-strip{
    padding:58px 38px 48px;
  }

  .values-heading .section-title{
    font-size:48px;
  }

  .values-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .value-card:last-child{
    grid-column:1 / -1;
  }
}

@media (max-width:700px){

  .values-section{
    padding:60px 0;
  }

  .values-strip{
    border-radius:25px;
    padding:45px 20px 30px;
  }

  .values-heading{
    margin-bottom:30px;
  }

  .values-heading .section-title{
    font-size:39px;
  }

  .values-intro{
    font-size:15px;
  }

  .values-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .value-card,
  .value-card:last-child{
    grid-column:auto;
  }

  .value-card{
    min-height:auto;
    padding:30px 24px;
  }

  .value-card h3{
    font-size:24px;
  }

  .values-doodles{
    right:18px;
    top:20px;
    gap:7px;
  }

  .values-doodles span{
    font-size:22px;
  }
}
.food-divider{
    display:flex;
    gap:170px;

    margin:15px 0 15px;
}

.food-divider img{
    width:75px;
    opacity:1;
    transition:.35s;
}

.food-divider img:nth-child(2){
    width:80px;
    transform:rotate(-12deg);
}

.food-divider img:nth-child(3){
    width:78px;
    transform:rotate(8deg);
}

.food-divider img:nth-child(4){
    width:90px;
    transform:rotate(-15deg);
}

.food-divider img:hover{
    opacity:.35;
    transform:translateY(-6px) rotate(0deg);
}
.food-divider img:nth-child(6){
    width:90px;
    transform:rotate(-15deg);
    top:30px;
    right:30px;
}
/* =========================================
   COMMUNITY SECTION
========================================= */

.community-section{
  position:relative;
  overflow:hidden;
  padding:50px 0 80px;
  background:#fff8ec;
}

.community-heading{
  max-width:760px;
  margin-bottom:52px;
}

.community-heading .label,
.growing-heading .label{
  margin:0 0 14px;
  font-family:Inter, Arial, sans-serif;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#a36f42;
}

.community-heading .section-title,
.growing-heading .section-title{
  margin:0 0 20px;
  font-family:var(--display);
  font-size:clamp(3rem, 6vw, 5.5rem);
  line-height:.98;
  font-weight:400;
  color:var(--clay);
}

.community-heading .section-title em,
.growing-heading .section-title em{
  color:var(--olive);
  font-weight:400;
}

.community-heading .section-lead{
  max-width:680px;
  margin:0;
  font-family:Inter, Arial, sans-serif;
  font-size:1.08rem;
  line-height:1.8;
  color:#715c4d;
}


/* =========================================
   COMMUNITY GRID
========================================= */

.community-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:28px;
    margin-top:55px;
}

.community-card{
    position:relative;
    height:430px;
    border-radius:28px;
    overflow:hidden;

    background-size:cover;
    background-position:center;

    display:flex;
    align-items:flex-end;

    padding:35px;

    transition:.4s ease;
}

.community-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  border:1px solid rgba(255,255,255,.22);
  border-radius:inherit;
}

.community-card::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:0;
  height:6px;
  background:#829652;
  transition:width .45s ease;
}

.community-card:hover{
  transform:translateY(-8px);
  box-shadow:0 34px 70px rgba(38,48,25,.22);
}

.community-card:hover::after{
  width:100%;
}

.community-card-content{
  max-width:540px;
  transition:transform .45s ease;
}

.community-card:hover .community-card-content{
  transform:translateY(-5px);
}

.community-card-label{
  display:inline-block;
  margin-bottom:12px;
  padding:7px 12px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(8px);
  font-family:Inter, Arial, sans-serif;
  font-size:.7rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#fffaf1;
}

.community-card h3{
  margin:0 0 12px;
  font-family:"DM Serif Display", Georgia, serif;
  font-size:clamp(2rem, 3vw, 3rem);
  line-height:1.08;
  font-weight:400;
  color:#fffaf1;
}

.community-card p{
  max-width:520px;
  margin:0;
  font-family:Inter, Arial, sans-serif;
  font-size:.98rem;
  line-height:1.7;
  color:rgba(255,250,241,.82);
}

.community-number{
  position:absolute;
  top:28px;
  right:30px;
  font-family:"DM Serif Display", Georgia, serif;
  font-size:1.1rem;
  color:rgba(255,255,255,.72);
}




/* =========================================
   COMMUNITY CORNER DOODLES
========================================= */

.community-doodle{
  position:absolute;
  pointer-events:none;
  color:#61763d;
  opacity:.09;
}

.community-doodle svg{
  display:block;
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.community-doodle-left{
  width:160px;
  height:160px;
  left:-35px;
  top:90px;
  transform:rotate(-14deg);
}

.community-doodle-right{
  width:135px;
  height:135px;
  right:-22px;
  bottom:90px;
  transform:rotate(14deg);
}


/* =========================================
   WHAT'S GROWING
========================================= */

.growing-section{
  padding:0 0 80px;
  background:#fff8ec;
  position:relative;
  overflow:hidden;
}

.growing-panel{
  position:relative;
  overflow:hidden;
  padding:72px 54px 58px;
  border-radius:40px;
  background:#4d6032;
  box-shadow:0 34px 75px rgba(44,56,29,.2);
}

.growing-panel::before{
  content:"";
  position:absolute;
  width:340px;
  height:340px;
  top:-190px;
  right:-120px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
}

.growing-panel::after{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  left:-120px;
  bottom:-160px;
  border-radius:50%;
  background:rgba(255,255,255,.025);
}

.growing-heading{
  position:relative;
  z-index:2;
  max-width:760px;
  margin-bottom:45px;
}

.growing-heading .label-light{
  color:#d9c68f;
}

.growing-heading .section-title-light{
  color:#fff8ec;
}

.growing-heading .section-title-light em{
  color:#d8c68e;
}

.growing-heading > p:last-child{
  max-width:670px;
  margin:0;
  font-family:Inter, Arial, sans-serif;
  font-size:1rem;
  line-height:1.8;
  color:rgba(255,248,236,.72);
}


/* =========================================
   GROWING CARDS
========================================= */

.growing-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
}

.growing-card{
  position:relative;
  overflow:hidden;
  min-height:300px;
  padding:34px 30px;
  border:1px solid rgba(94,116,60,.18);
  border-radius:25px;
  background:#fff8ec;
  box-shadow:0 18px 38px rgba(24,32,16,.15);
  transition:
    transform .4s ease,
    box-shadow .4s ease;
}

.growing-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:0;
  height:6px;
  background:#718746;
  transition:width .4s ease;
}

.growing-card::after{
  content:"";
  position:absolute;
  width:125px;
  height:125px;
  right:-65px;
  bottom:-70px;
  border-radius:50%;
  background:rgba(97,118,61,.08);
  transition:transform .4s ease;
}

.growing-card:hover{
  transform:translateY(-8px);
  box-shadow:0 28px 50px rgba(24,32,16,.23);
}

.growing-card:hover::before{
  width:100%;
}

.growing-card:hover::after{
  transform:scale(1.35);
}

.growing-number{
  position:absolute;
  top:28px;
  right:28px;
  font-family:"DM Serif Display", Georgia, serif;
  color:rgba(77,96,50,.52);
}

.growing-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  margin-bottom:24px;
  border-radius:50%;
  background:#e5ead8;
  color:#596f37;
}

.growing-icon svg{
  width:29px;
  height:29px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.growing-card h3{
  margin:0 0 13px;
  font-family:"DM Serif Display", Georgia, serif;
  font-size:2rem;
  font-weight:400;
  color:#3c281d;
}

.growing-card p{
  position:relative;
  z-index:2;
  margin:0;
  font-family:Inter, Arial, sans-serif;
  font-size:.96rem;
  line-height:1.75;
  color:#705c4c;
}


/* =========================================
   GREEN-PANEL DOODLES
========================================= */

.growing-doodle{
  position:absolute;
  z-index:1;
  color:#fff8ec;
  opacity:.08;
  pointer-events:none;
}

.growing-doodle svg{
  display:block;
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.growing-doodle-bread{
  width:140px;
  height:110px;
  top:30px;
  right:42px;
  transform:rotate(10deg);
}

.growing-doodle-cherries{
  width:120px;
  height:120px;
  left:28px;
  bottom:20px;
  transform:rotate(-10deg);
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width:1000px){

  .community-grid{
    grid-template-rows:auto;
  }

  .community-card,
  .community-card-large,
  .community-card-wide{
    grid-column:auto;
    grid-row:auto;
    min-height:440px;
  }

  .growing-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .growing-card:last-child{
    grid-column:1 / -1;
  }
}

@media (max-width:720px){

  .community-section{
    padding:75px 0 85px;
  }

  .community-heading{
    margin-bottom:35px;
  }

  .community-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .community-card,
  .community-card-large,
  .community-card-wide{
    min-height:410px;
    padding:26px;
  }

  .community-doodle{
    display:none;
  }

  .growing-section{
    padding-bottom:80px;
  }

  .growing-panel{
    padding:50px 20px 28px;
    border-radius:28px;
  }

  .growing-grid{
    grid-template-columns:1fr;
    gap:17px;
  }

  .growing-card,
  .growing-card:last-child{
    grid-column:auto;
    min-height:auto;
    padding:30px 24px;
  }

  .growing-doodle{
    opacity:.05;
  }
}
@media(max-width:900px){

.community-grid{
    grid-template-columns:1fr;
}

.community-card{
    height:380px;
}

}
.video-section{
    position:relative;
    padding:30px 0;
    background:#fbf6eb;
    overflow:hidden;
}

.video-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:26px;
    margin-top:55px;
}

.video-card{
    position:relative;
    overflow:hidden;
    border-radius:24px;
    background:#fff;
    cursor:pointer;
    transition:.4s;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.video-card:hover{
    transform:translateY(-10px);
    box-shadow:0 25px 60px rgba(0,0,0,.12);
}

.video-card img{
    width:100%;
    height:260px;
    object-fit:cover;
    display:block;
}

.video-info{
    padding:22px;
}

.video-info h3{
    margin-bottom:8px;
    font-size:24px;
}

.video-info span{
    color:#6d6d6d;
}

.play-btn{
    position:absolute;
    left:50%;
    top:42%;
    transform:translate(-50%,-50%);
    width:72px;
    height:72px;
    border-radius:50%;
    background:rgba(68,87,40,.9);
    color:white;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
    transition:.3s;
}

.video-card:hover .play-btn{
    transform:translate(-50%,-50%) scale(1.15);
}

.view-all{
    display:inline-block;
    margin-top:50px;
    color:#445728;
    font-weight:600;
    text-decoration:none;
}

.video-doodle{
    position:absolute;
    width:120px;
    opacity:.5;
    pointer-events:none;
}

.doodle-left{
    top:80px;
    left:-25px;
    transform:rotate(-20deg);
}

.doodle-right{
    bottom:60px;
    right:-20px;
    transform:rotate(18deg);
}

@media(max-width:991px){

.video-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:768px){

.video-grid{
grid-template-columns:1fr;
}

}

.food-doodle{
    position:absolute;
    width:180px;
    opacity:.6;
    pointer-events:none;
    z-index:0;
}

.doodle-top-left{
    top:60px;
    left:-40px;
    transform:rotate(-15deg);
}

.doodle-top-right{
    top:80px;
    right:-40px;
    transform:rotate(12deg);
}

.doodle-bottom-left{
    bottom:40px;
    left:-30px;
    transform:rotate(18deg);
}

.doodle-bottom-right{
    bottom:60px;
    right:-40px;
    transform:rotate(-10deg);
}

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

.section .container{
    position:relative;
    z-index:2;
}

.contact-section{

    position:relative;
    padding:20px 0;
    background:#fbf6eb;
    overflow:hidden;

}

.contact-grid{

    display:grid;
    grid-template-columns:1fr 520px;
    gap:80px;
    align-items:center;

}

.contact-content{
    max-width:580px;
}

.contact-details{
    margin:25px 0 25px;
}

.contact-item{

    display:flex;
    align-items:flex-start;
    gap:22px;

    padding:15px 0;

    border-bottom:1px solid rgba(68,87,40,.15);

}

.contact-item:last-child{
    border-bottom:none;
}

.contact-icon{

    width:54px;
    height:54px;

    border-radius:50%;

    background:#eef1e6;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:22px;

    color:#556B2F;

    flex-shrink:0;

}

.contact-item span{

    display:block;

    font-size:10px;

    letter-spacing:.18em;

    text-transform:uppercase;

    color:#6e7b4a;

    margin-bottom:8px;

}

.contact-item h4{

    margin:0;

    font-size:18px;

    font-family:var(--font-heading);

    font-weight:500;

    color:#2f241d;

}

.contact-quote{

    margin-top:55px;

    padding-left:28px;

    border-left:4px solid #556B2F;

}

.contact-quote p{

    margin:0 0 14px;

    font-size:25px;

    line-height:1.35;

    font-family:var(--display);

    color:#445728;

}

.contact-quote small{

    font-size:16px;

    color:#6b6256;

    letter-spacing:.04em;

}


.contact-note{

    margin-top:40px;
    padding:28px;

    background:#445728;
    color:#fff;

    border-radius:24px;
    line-height:1.8;

}

.contact-box{

    background:#fff;
    border-radius:32px;
    padding:45px;

    border:1px solid rgba(68,87,40,.12);

    box-shadow:0 30px 70px rgba(0,0,0,.08);

}

.contact-form h3{

    margin-bottom:30px;

}

.form-group{

    margin-bottom:22px;

}

.form-group label{

    display:block;
    margin-bottom:10px;
    font-weight:600;

}

.form-group input,
.form-group select,
.form-group textarea{

    width:100%;

    padding:16px 18px;

    border-radius:16px;
    border:1px solid #d9d6c9;

    background:#fffdf8;

    transition:.3s;

    font-size:15px;

}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{

    outline:none;

    border-color:#556B2F;

    box-shadow:0 0 0 4px rgba(85,107,47,.12);

}

.root-send-btn{

    width:100%;
    height:64px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    background:#556B2F;
    color:#fff;

    border:none;
    border-radius:50px;

    font-size:17px;
    font-weight:600;
    letter-spacing:.02em;

    cursor:pointer;

    transition:all .35s ease;

    box-shadow:0 12px 30px rgba(85,107,47,.25);

}

.root-send-btn svg{

    transition:.35s ease;

}

.root-send-btn:hover{

    background:#445728;

    transform:translateY(-3px);

    box-shadow:0 18px 40px rgba(85,107,47,.35);

}

.root-send-btn:hover svg{

    transform:translateX(5px);

}

.root-send-btn:active{

    transform:translateY(0);

}


/* Doodles */

.contact-doodle{

    position:absolute;
    width:170px;
    opacity:.7;
    pointer-events:none;

}

.doodle-top-left{

    top:40px;
    left:-40px;
    transform:rotate(-20deg);

}

.doodle-bottom-right{

    right:-40px;
    bottom:40px;
    transform:rotate(18deg);

}

@media(max-width:991px){

.contact-grid{

    grid-template-columns:1fr;
    gap:60px;

}

.contact-info-grid{

    grid-template-columns:1fr;

}

.contact-box{

    padding:35px;

}

}

.kitchen1{
    margin: 0;
    font-family: var(--display);
    font-size: clamp(2.7rem, 5vw, 4.2rem);
    line-height: 1.12;
    font-weight: 900;
    color: #33421f;
    letter-spacing: -0.5px;
    
}
.kitchen1 h2 em{
  color : var(--brown-dark);
}
/* Description */
.kitchen-lead{
    max-width: 640px; 
    margin-top: 8px;
    font-size: 1.08rem;
    line-height: 1.9;
    color: #6f6b62;
    font-weight: 400;
}

.section-title1{font-family:var(--display);font-size:clamp(2.3rem,5vw,4.4rem);line-height:1;margin-bottom:1rem;color:var(--clay);font-weight:400}
.section-title1 em{
  color : var(--olive)
}

.journal-all-btn-wrap {
  display: flex;
  justify-content: center;
  margin: 20px 0 10px;
}

.journal-all-btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 7px 13px;

  background: #4f5f2f;
  color: #fff8ec;

  border-radius: 50px;
  text-decoration: none;

  font-family: inherit;
  font-size: 15px;
  font-weight: 600;

  transition: all 0.3s ease;
}

.journal-all-btn span {
  font-size: 20px;
  line-height: 1;
  transition: transform 0.3s ease;
}

.journal-all-btn:hover {
  background: #394622;
  transform: translateY(-3px);
  box-shadow: 0 12px 25px rgba(55, 70, 35, 0.18);
}

.journal-all-btn:hover span {
  transform: translateX(5px);
}

.article-library {
  max-width: 900px;
  margin: 0 auto;
  padding: 30px 30px;
}

.library-heading {
  text-align: center;
  margin-bottom: 30px;
}

.library-heading p {
  color: #4f5f2f;
  font-size: 13px;
  letter-spacing: 2px;
  font-weight: 600;
  margin-bottom: 15px;
}

.library-heading h2 {
  font-family: var(--display);
  font-size: 55px;
  color: #b56f49;
  margin: 0;
}

.article-list {
  border-top: 1px solid rgba(79, 95, 47, 0.25);
}

.article-item {
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid rgba(79, 95, 47, 0.25);
}

.article-list .article-link {
  display: grid;
  grid-template-columns: 60px 1fr 40px;
  align-items: center;
  gap: 20px;

  flex: 1;
  min-width: 0;

  padding: 25px 10px;

  text-decoration: none;
  color: #3e382e;

  transition: all 0.3s ease;
}

.article-list .article-link:hover {
  padding-left: 20px;
  color: #4f5f2f;
  background: #f8eedf;
}

.article-list .article-link > span:first-child {
  color: #4f5f2f;
  font-size: 13px;
  font-weight: 600;
}

.article-list strong {
  font-family: Georgia, serif;
  font-size: 25px;
  font-weight: 400;
}

.article-list .arrow {
  font-size: 22px;
  text-align: right;
  transition: transform 0.3s ease;
}

.article-list .article-link:hover .arrow {
  transform: translateX(5px);
}

.linkedin-icon {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 38px;
  height: 38px;
  flex-shrink: 0;
  margin-right: 10px;

  border-radius: 50%;
  background: #f3ead9;
  color: #4f5f2f;
  font-size: 15px;
  text-decoration: none;

  transition: all 0.3s ease;
}

.linkedin-icon:hover {
  background: #4f5f2f;
  color: #fff;
}

@media (max-width: 600px) {

  .article-library {
    padding: 70px 20px;
  }

  .library-heading h2 {
    font-size: 40px;
  }

  .article-list .article-link {
    grid-template-columns: 40px 1fr 25px;
    gap: 10px;
  }

  .article-list strong {
    font-size: 19px;
  }

  .linkedin-icon {
    width: 32px;
    height: 32px;
    font-size: 13px;
    margin-right: 5px;
  }

}

.hp-field{
    position:absolute;
    left:-9999px;
    top:-9999px;
    width:1px;
    height:1px;
    overflow:hidden;
}

.form-status{
    margin-top:16px;
    font-size:14px;
    line-height:1.5;
    text-align:center;
}

.form-status--success{
    color:#556B2F;
}

.form-status--error{
    color:#B3261E;
}

