html { scroll-behavior:smooth; }
.private-page {
  --private-ink:#173b24; --private-green:#0c4b28; --private-leaf:#78934c;
  --private-cream:#f6f5ef; --private-paper:#fffefa; --private-line:#d9dfd2;
  color:var(--private-ink); background:var(--private-paper); overflow-x:hidden;
  font-family:Arial,Helvetica,sans-serif;
}
.private-page main { overflow:hidden; }
.private-page [id] { scroll-margin-top:100px; }
.private-header { position:sticky; top:0; z-index:20; min-height:76px; padding:10px clamp(20px,5vw,78px); display:flex; align-items:center; justify-content:space-between; gap:24px; background:rgba(255,254,250,.97); border-bottom:1px solid rgba(23,59,36,.1); }
.private-brand { display:block; flex:0 0 auto; color:#b7d7a6; font-family:Arial,Helvetica,sans-serif; font-size:clamp(34px,2.7vw,48px); font-weight:800; letter-spacing:-.075em; line-height:1; text-decoration:none; white-space:nowrap; }
.private-nav { flex:1; display:flex; align-items:center; justify-content:flex-end; gap:clamp(16px,1.8vw,30px); }
.private-nav a { font-size:.88rem; font-weight:600; white-space:nowrap; padding:10px 0; transition:color .2s ease; }
.private-nav a:hover,.private-nav a:focus-visible { color:#658241; }
.private-nav .private-nav__order { padding:12px 19px; border:1px solid var(--private-green); border-radius:999px; }
.private-nav__order span { padding-left:10px; }
.private-page a:focus-visible { outline:3px solid #b6c879; outline-offset:4px; }
.private-intro { min-height:610px; display:grid; grid-template-columns:1fr 1fr; background:var(--private-cream); }
.private-intro__heading { padding:clamp(70px,10vw,150px) clamp(32px,8vw,125px); align-self:center; }
.private-kicker { margin:0 0 20px; color:#66804a; font-size:.73rem; letter-spacing:.17em; font-weight:700; text-transform:uppercase; }
.private-intro h1,.micro-heading h2,.use-heading h2,.order-section h2 { margin:0; font-family:Georgia,'Times New Roman',serif; font-weight:400; font-size:clamp(2.8rem,5vw,5.6rem); line-height:1.03; letter-spacing:-.045em; }
.private-page em { color:#71884f; font-weight:400; }
.private-intro__lead { max-width:490px; margin:27px 0 25px; color:#506250; font-size:1.05rem; line-height:1.75; }
.private-text-link { display:inline-flex; align-items:center; gap:18px; padding:10px 0; font-weight:700; font-size:.9rem; border-bottom:1px solid #829369; }
.private-intro__image { min-height:610px; position:relative; overflow:hidden; }
.private-intro__image img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.private-intro__caption { position:absolute; right:25px; bottom:25px; padding:12px 17px; color:#fff; background:rgba(16,48,27,.68); font-size:.8rem; letter-spacing:.04em; }
.about-story { padding:0 0 90px; }
.story-band { --story-align:flex-start; --story-shift:38px; position:relative; height:clamp(340px,33vw,440px); margin:0 0 14px; overflow:hidden; isolation:isolate; display:flex; align-items:flex-end; color:#fff; background:#29452d; }
.story-band:last-child { margin-bottom:0; }
.story-band__image { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 48%; transition:transform 800ms cubic-bezier(.2,.65,.25,1); }
.story-band::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(8,26,14,.65),rgba(8,26,14,.25) 58%,rgba(8,26,14,.15)),linear-gradient(0deg,rgba(6,22,12,.46),transparent 75%); transition:background-color 650ms ease,opacity 650ms ease; }
.story-band:hover .story-band__image,.story-band:focus-within .story-band__image,.story-band.is-open .story-band__image { transform:scale(1.035); }
.story-band:hover::before,.story-band:focus-within::before,.story-band.is-open::before { background-color:rgba(7,27,14,.3); }
.story-band--two { --story-align:center; --story-shift:0; }
.story-band--three { --story-align:center; --story-shift:24px; }
.story-band--four { --story-align:flex-end; --story-shift:0; }
.story-band__content { width:min(100%,750px); padding:44px clamp(26px,9vw,140px); align-self:var(--story-align); transition:transform 650ms cubic-bezier(.2,.65,.25,1); }
.story-band--two .story-band__content { margin-left:auto; padding-top:52px; padding-bottom:52px; }
.story-band--three .story-band__content { width:min(100%,820px); margin-inline:auto; }
.story-band--four .story-band__content { margin-left:auto; }
.story-band__index { margin:0 0 12px; color:#e0e8d3; font-size:.7rem; font-weight:700; letter-spacing:.18em; }
.story-band h2 { max-width:700px; margin:0; font:400 clamp(2rem,4vw,3.6rem)/1.08 Georgia,'Times New Roman',serif; letter-spacing:-.035em; }
.story-band__toggle { width:100%; padding:0; border:0; display:flex; align-items:center; justify-content:space-between; gap:24px; text-align:left; color:inherit; background:none; font:inherit; cursor:pointer; }
.story-band__toggle:focus-visible { outline:2px solid #eaf0d9; outline-offset:8px; }
.story-band__copy { max-width:610px; max-height:0; margin-top:0; overflow:hidden; opacity:0; transform:translate(var(--story-shift),12px); transition:max-height 700ms ease,margin-top 650ms ease,opacity 550ms ease,transform 700ms cubic-bezier(.2,.65,.25,1); }
.story-band:hover .story-band__copy,.story-band:focus-within .story-band__copy,.story-band.is-open .story-band__copy { max-height:240px; margin-top:22px; opacity:1; transform:translate(0,0); }
.story-band__copy p { margin:0 0 12px; color:rgba(255,255,255,.94); font-size:.97rem; line-height:1.7; text-shadow:0 1px 8px rgba(0,0,0,.28); }
.story-band__copy p:last-child { margin-bottom:0; }
.story-band.is-visible { animation:story-band-enter 1200ms cubic-bezier(.2,.65,.25,1) both; }
/* On hover, the photo reveals a separate copy panel instead of sitting behind it. */
.story-band__image { clip-path:inset(0); transition:clip-path 1500ms cubic-bezier(.2,.65,.25,1),transform 1600ms cubic-bezier(.2,.65,.25,1); }
.story-band::before { z-index:-1; clip-path:inset(0); transition:clip-path 1500ms cubic-bezier(.2,.65,.25,1),opacity 1400ms ease; }
.story-band__content { position:absolute; z-index:1; inset:0 0 0 auto; width:45%; height:100%; padding:30px clamp(20px,3vw,46px); display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; background:transparent; transition:background-color 1300ms ease; }
.story-band--one .story-band__content { align-items:flex-end; text-align:right; }
.story-band--one .story-band__content .story-band__index,.story-band--one .story-band__content h2,.story-band--one .story-band__copy { width:100%; max-width:100%; text-align:right; }
.story-band--one .story-band__toggle { justify-content:flex-end; text-align:right; }
.story-band--two .story-band__content,.story-band--four .story-band__content { inset:0 auto 0 0; margin:0; }
.story-band--two .story-band__content,.story-band--three .story-band__content { width:45%; max-width:none; }
.story-band__copy { transform:translateX(28px); }
.story-band--two .story-band__copy,.story-band--four .story-band__copy { transform:translateX(-28px); }
.story-band:hover .story-band__image,.story-band:focus-within .story-band__image,.story-band.is-open .story-band__image { clip-path:inset(0 45% 0 0); }
.story-band:hover::before,.story-band:focus-within::before,.story-band.is-open::before { clip-path:inset(0 45% 0 0); background-color:transparent; }
.story-band--two:hover .story-band__image,.story-band--two:focus-within .story-band__image,.story-band--two.is-open .story-band__image,.story-band--four:hover .story-band__image,.story-band--four:focus-within .story-band__image,.story-band--four.is-open .story-band__image { clip-path:inset(0 0 0 45%); }
.story-band--two:hover::before,.story-band--two:focus-within::before,.story-band--two.is-open::before,.story-band--four:hover::before,.story-band--four:focus-within::before,.story-band--four.is-open::before { clip-path:inset(0 0 0 45%); }
.story-band:hover .story-band__content,.story-band:focus-within .story-band__content,.story-band.is-open .story-band__content { background:var(--color-bg-secondary,#1d2d24); }
.story-band--two:hover .story-band__content,.story-band--two:focus-within .story-band__content,.story-band--two.is-open .story-band__content,.story-band--four:hover .story-band__content,.story-band--four:focus-within .story-band__content,.story-band--four.is-open .story-band__content { inset:0 auto 0 0; }
.story-band--three .story-band__content { margin:0; }
.story-band__copy { transition:max-height 1500ms ease,margin-top 1400ms ease,opacity 1250ms ease,transform 1500ms cubic-bezier(.2,.65,.25,1); }
.story-band__copy p { color:var(--color-text-secondary,#c0c9be); text-shadow:none; }
@keyframes story-band-enter { from { opacity:.45; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
.micro-section { background:#f0f1e9; padding:clamp(68px,9vw,130px) max(6vw,24px); }
.micro-heading { max-width:1150px; margin:0 auto 42px; display:grid; grid-template-columns:1fr .75fr; gap:9%; align-items:end; }
.micro-heading h2,.use-heading h2,.order-section h2 { font-size:clamp(2.6rem,5vw,5rem); }
.micro-heading > p { max-width:470px; margin:0 0 5px; color:#526050; line-height:1.8; font-size:1.02rem; }
.micro-feature { max-width:1150px; margin:0 auto; position:relative; height:clamp(300px,48vw,590px); overflow:hidden; background:#dfe5d7; }
.micro-feature img { width:100%; height:100%; object-fit:cover; display:block; }
.micro-feature__label { position:absolute; bottom:20px; left:22px; padding:11px 15px; color:#fff; background:rgba(20,50,29,.72); font-size:.77rem; letter-spacing:.04em; }
.micro-facts { max-width:1150px; margin:50px auto 0; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #cbd2c1; }
.micro-facts article { padding:23px 28px 12px 0; border-right:1px solid #cbd2c1; }
.micro-facts article+article { padding-left:28px; }
.micro-facts article:last-child { border:0; }
.micro-facts article>span { color:#7d905f; font-size:.76rem; letter-spacing:.1em; }
.micro-facts h3 { margin:17px 0 9px; font:400 1.55rem Georgia,serif; }
.micro-facts p { margin:0; max-width:330px; color:#5e695b; font-size:.9rem; line-height:1.7; }
.micro-closing { max-width:1150px; margin:35px auto 0; text-align:center; color:#536443; font:italic 1.4rem Georgia,serif; }
.use-section { padding:clamp(75px,10vw,140px) max(6vw,24px); background:#fffefa; }
.use-heading { max-width:900px; margin:0 auto 48px; text-align:center; }
.use-heading > p:last-child { max-width:630px; margin:20px auto 0; color:#586657; font-size:1rem; line-height:1.75; }
.use-gallery { max-width:1160px; margin:34px auto 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.use-category { position:relative; display:block; min-width:0; aspect-ratio:.91; overflow:hidden; isolation:isolate; color:#fff; background:#25412d; text-decoration:none; }
.use-category img { position:absolute; z-index:-2; inset:0; display:block; width:100%; height:100%; object-fit:cover; transition:transform 550ms cubic-bezier(.2,.65,.25,1); }
.use-category__shade { position:absolute; z-index:-1; inset:0; background:linear-gradient(0deg,rgba(9,29,16,.78),rgba(9,29,16,.08) 72%); transition:background-color 400ms ease; }
.use-category__content { position:absolute; inset:auto 0 0; padding:clamp(20px,2.6vw,35px); display:flex; flex-direction:column; align-items:flex-start; }
.use-category__content strong { display:block; font:400 clamp(1.45rem,2.4vw,2.25rem)/1.1 Georgia,'Times New Roman',serif; transform-origin:left bottom; transition:transform 400ms cubic-bezier(.2,.65,.25,1); }
.use-category__content > span { max-width:300px; margin-top:12px; font-size:.91rem; line-height:1.55; opacity:0; transform:translateY(10px); transition:opacity 350ms ease,transform 400ms cubic-bezier(.2,.65,.25,1); }
.use-category:hover img,.use-category:focus-visible img { transform:scale(1.045); }
.use-category:hover .use-category__shade,.use-category:focus-visible .use-category__shade { background-color:rgba(8,25,14,.15); }
.use-category:hover .use-category__content strong,.use-category:focus-visible .use-category__content strong { transform:scale(1.07); }
.use-category:hover .use-category__content>span,.use-category:focus-visible .use-category__content>span { opacity:1; transform:translateY(0); }
.use-category:focus-visible { outline:3px solid #71884f; outline-offset:4px; }
.private-button { display:inline-flex; align-items:center; gap:30px; padding:17px 24px; min-height:54px; border:1px solid #dbe7cf; border-radius:999px; color:#173b24; background:#eaf0d9; font-size:.88rem; font-weight:700; transition:transform .2s ease,background .2s ease; }
.order-section .private-button { gap:18px; }
.private-button:hover { transform:translateY(-2px); background:#f5f8e9; }
.private-button--light { background:#f4f4e9; border-color:#f4f4e9; white-space:nowrap; }
.recipe-video { max-width:900px; margin:0 auto 38px; aspect-ratio:16/9; overflow:hidden; background:#000; }
.recipe-video iframe { display:block; width:100%; height:100%; border:0; }
.order-section { min-height:400px; padding:68px max(8vw,28px); display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:8%; background:#e9eddf; }
.order-section > div { max-width:590px; justify-self:end; }
.order-section h2 { font-size:clamp(2.6rem,4.5vw,4.5rem); }
.order-section > div > p:not(.private-kicker) { color:#526050; line-height:1.75; max-width:470px; margin:20px 0 26px; }
.order-section img { width:100%; max-height:320px; object-fit:cover; }
.private-footer { padding:48px 6vw 25px; text-align:center; background:#143f27; color:#f7f8f1; }
.private-footer__brand { font:2rem Georgia,serif; }
.private-footer>p { margin:9px 0 28px; color:#d0dbc9; font-size:.88rem; }
.private-footer nav { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 28px; margin-bottom:30px; }
.private-footer nav a { color:#e1e8db; font-size:.84rem; }
.private-footer nav a:hover { text-decoration:underline; }
.private-footer small { color:#afc1ae; font-size:.75rem; }
@media(max-width:1100px) {
  .private-header { align-items:flex-start; flex-direction:column; gap:5px; }
  .private-brand { font-size:36px; }
  .private-nav { width:100%; justify-content:flex-start; flex-wrap:wrap; gap:0 24px; }
}
@media(max-width:800px) {
  .private-header { align-items:flex-start; flex-direction:column; gap:5px; padding:10px 22px; }
  .private-brand { flex-basis:auto; width:auto; font-size:26px; }
  .private-nav { width:100%; justify-content:flex-start; flex-wrap:wrap; gap:0 20px; }
  .private-nav a { padding:8px 0; font-size:.78rem; }
  .private-nav .private-nav__order { padding:7px 12px; }
  .private-page [id] { scroll-margin-top:130px; }
  .private-intro { grid-template-columns:1fr; }
  .private-intro__heading { padding:70px 8vw 50px; }
  .private-intro__image { min-height:0; height:60vw; max-height:480px; }
  .story-band { height:360px; }
  .story-band__content { padding:34px clamp(24px,6vw,54px); }
  .micro-heading { gap:35px; }
  .order-section { gap:35px; }
}
@media(max-width:560px) {
  .private-header { padding-inline:18px; }
  .private-brand { font-size:24px; }
  .private-nav { column-gap:14px; }
  .private-nav a { font-size:.72rem; }
  .private-nav .private-nav__order { padding:6px 10px; }
  .private-page [id] { scroll-margin-top:145px; }
  .private-intro__heading { padding:56px 25px 40px; }
  .private-intro h1 { font-size:clamp(2.55rem,12vw,3.6rem); }
  .private-intro__lead { font-size:.97rem; }
  .private-intro__image { height:76vw; }
  .about-story { padding-bottom:65px; }
  .story-band { height:auto; min-height:0; margin-bottom:9px; display:flex; flex-direction:column; }
  .story-band__image { position:relative; z-index:0; inset:auto; width:100%; height:235px; flex:none; clip-path:none!important; transform:none!important; }
  .story-band::before { z-index:1; inset:0 0 auto; height:235px; clip-path:none!important; }
  .story-band__content,.story-band--two .story-band__content,.story-band--three .story-band__content,.story-band--four .story-band__content { position:relative; inset:auto; z-index:2; width:100%; height:auto; min-height:0; padding:21px 23px 24px; display:block; overflow:visible; background:var(--color-bg-secondary,#1d2d24); }
  .story-band:hover .story-band__content,.story-band:focus-within .story-band__content,.story-band.is-open .story-band__content { width:100%; padding:21px 23px 24px; background:var(--color-bg-secondary,#1d2d24); }
  .story-band h2 { font-size:clamp(1.75rem,8vw,2.5rem); }
  .story-band__toggle { gap:12px; }
  .story-band__copy p { font-size:.91rem; }
  .story-band--two,.story-band--three,.story-band--four { height:auto; }
  .micro-section,.use-section { padding-inline:24px; }
  .micro-heading { display:block; }
  .micro-heading > p { margin-top:23px; }
  .micro-feature { height:72vw; }
  .micro-facts { display:block; margin-top:32px; }
  .micro-facts article,.micro-facts article+article { padding:20px 0; border-right:0; border-bottom:1px solid #cbd2c1; }
  .micro-facts article:last-child { border-bottom:0; }
  .micro-facts h3 { margin:9px 0; }
  .micro-closing { font-size:1.2rem; line-height:1.5; }
  .use-heading { text-align:left; }
  .use-heading > p:last-child { margin-inline:0; }
  .use-gallery { grid-template-columns:1fr; gap:14px; }
  .use-category { aspect-ratio:1.25; }
  .use-category__content { padding:24px; }
  .use-category__content strong { font-size:2rem; }
  .use-category__content>span { opacity:1; transform:none; }
  .order-section { padding:58px 24px; grid-template-columns:1fr; gap:32px; }
  .order-section > div { justify-self:stretch; }
  .order-section img { max-height:250px; }
  .private-footer { padding-inline:22px; }
  .private-footer nav { gap:12px 18px; }
}
@media(hover:none) {
  .story-band:not(.is-open) .story-band__copy { max-height:0; opacity:0; }
}
@media(hover:none) {
  .use-category__content>span { opacity:1; transform:none; }
}
@media(prefers-reduced-motion:reduce) {
  .private-page { scroll-behavior:auto; }
  .private-page *, .private-page *::before, .private-page *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; }
  .story-band__image { transform:none!important; }
  .story-band__image,.story-band::before { clip-path:none!important; }
  .use-category:hover img,.use-category:focus-visible img { transform:none; }
  .use-category:hover .use-category__content strong,.use-category:focus-visible .use-category__content strong { transform:none; }
  .use-category__content>span { transform:none; }
}
