/* Stargazer Farm - site styles */
:root{
  --night:#121833;
  --night-2:#1a2145;
  --night-line:#2c3561;
  --barn:#8c2e21;
  --barn-dark:#6e2219;
  --cream:#f6efe1;
  --paper:#fffaf0;
  --parchment:#ebdfc4;
  --line:#e2d5b8;
  --ink:#2a2c20;
  --navy-ink:#1c2340;
  --sage:#4d5a35;
  --lavender:#6a5a92;
  --lavender-soft:#d9cfe8;
  --gold:#e2c06b;
  --muted-light:#c9c3b3;
  --logo:url(logo-400.webp);
  --gutter:24px;
  --edit-bar:0px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:rgba(226,192,106,.25)}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Lora',Georgia,'Times New Roman',serif;font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:break-word}
img{max-width:100%;height:auto;display:block}
a{color:var(--barn)}
a:hover{color:var(--barn-dark)}
h1,h2,h3,h4{font-family:'Cinzel',Georgia,serif;font-weight:600;margin:0;letter-spacing:.03em;line-height:1.2}
p{margin:0}
button,input,select,textarea{font:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--gold);color:var(--night);padding:10px 16px;border-radius:4px;font-weight:600;text-decoration:none}
.skip-link:focus{top:12px}
.wrap{max-width:1200px;margin:0 auto}
.section{padding:100px var(--gutter)}
.dark{background:var(--night);color:#f4ecdc}
.tan{background:var(--parchment)}
.eyebrow{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:24px;color:var(--lavender)}
.dark .eyebrow{color:var(--gold)}
.h2{font-size:clamp(30px,3.6vw,46px);color:var(--navy-ink)}
.dark .h2{color:#f4ecdc}
.head{display:flex;flex-direction:column;gap:10px}
.head.center{align-items:center;text-align:center}
.muted{color:var(--muted-light)}
.star{width:26px;height:26px;fill:var(--gold);flex:none}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:4px;font-family:'Cinzel',Georgia,serif;font-size:15px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:0;cursor:pointer;text-align:center;line-height:1.2;-webkit-appearance:none;appearance:none;transition:background-color .2s,color .2s}
.btn-red{background:var(--barn);color:#fbf6ea}
.btn-gold{border:1.5px solid var(--gold);color:var(--gold);background:transparent}
.btn-cream{background:#f4ecdc;color:var(--barn-dark)}
@media (hover:hover){
  .btn-red:hover{background:var(--barn-dark);color:#fbf6ea}
  .btn-gold:hover{background:var(--gold);color:var(--night)}
  .btn-cream:hover{background:#fff;color:var(--barn-dark)}
}
.link-caps{font-family:'Cinzel',Georgia,serif;font-size:15px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:12px 0;display:inline-block}

/* Header: cream bar with lively links */
.site-header{position:-webkit-sticky;position:sticky;top:var(--edit-bar);z-index:20;background:rgba(251,247,238,.97);color:var(--navy-ink);border-bottom:1px solid var(--line);transition:box-shadow .35s ease,background-color .35s ease}
@supports ((-webkit-backdrop-filter:blur(6px)) or (backdrop-filter:blur(6px))){.site-header{background:rgba(251,247,238,.9);-webkit-backdrop-filter:saturate(1.3) blur(10px);backdrop-filter:saturate(1.3) blur(10px)}}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,rgba(226,192,106,0),var(--gold) 22%,var(--barn) 50%,var(--gold) 78%,rgba(226,192,106,0));opacity:.6;pointer-events:none}
.site-header.scrolled{box-shadow:0 10px 28px rgba(18,24,51,.12)}
.site-header .bar{max-width:1240px;margin:0 auto;padding:10px max(var(--gutter),env(safe-area-inset-right)) 10px max(var(--gutter),env(safe-area-inset-left));display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;transition:padding .35s ease}
.site-header.scrolled .bar{padding-top:6px;padding-bottom:6px}
.logo{display:block;flex:none;background:var(--logo) center/contain no-repeat}
.brand{display:flex;align-items:center;gap:16px;color:var(--navy-ink);text-decoration:none}
.brand .logo{width:84px;height:84px;transition:width .35s ease,height .35s ease,transform .5s cubic-bezier(.34,1.56,.64,1)}
.site-header.scrolled .brand .logo{width:58px;height:58px}
@media (hover:hover){.brand:hover .logo{transform:rotate(-8deg) scale(1.06)}}
.brand-name{font-family:'Cinzel',Georgia,serif;font-size:23px;font-weight:600;letter-spacing:.08em;transition:color .25s}
.brand:hover{color:var(--navy-ink)}
@media (hover:hover){.brand:hover .brand-name{color:var(--barn)}}
.nav-toggle{display:none;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--barn);color:var(--barn);border-radius:999px;min-height:46px;padding:0 18px;font-family:'Cinzel',Georgia,serif;font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;-webkit-appearance:none;appearance:none;transition:background-color .2s,color .2s}
.nav-toggle[aria-expanded="true"]{background:var(--barn);color:#fff}
.burger{display:inline-flex;flex-direction:column;justify-content:space-between;width:18px;height:13px}
.burger i{display:block;height:2px;background:currentColor;border-radius:2px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .2s}
.nav-toggle[aria-expanded="true"] .burger i:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .burger i:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .burger i:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
.main-nav{display:flex;flex-wrap:wrap;gap:6px 22px;font-family:'Cinzel',Georgia,serif;font-size:15px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.main-nav a{position:relative;color:var(--navy-ink);text-decoration:none;padding:16px 2px 12px;transition:color .25s ease,transform .25s ease}
.main-nav a::after{content:"";position:absolute;left:50%;right:50%;bottom:6px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--gold),var(--barn),var(--gold));transition:left .35s cubic-bezier(.2,.8,.2,1),right .35s cubic-bezier(.2,.8,.2,1)}
.main-nav a::before{content:"";position:absolute;left:50%;top:-2px;width:16px;height:16px;margin-left:-8px;background:url(floral-bloom.webp) center/contain no-repeat;opacity:0;transform:translateY(8px) scale(.2) rotate(-120deg);transition:opacity .3s ease,transform .45s cubic-bezier(.34,1.56,.64,1)}
.main-nav a[aria-current="page"]{color:var(--barn)}
.main-nav a[aria-current="page"]::after{left:0;right:0}
.main-nav a[aria-current="page"]::before{opacity:1;transform:none}
@media (hover:hover){
  .main-nav a:hover{color:var(--barn);transform:translateY(-1px)}
  .main-nav a:hover::after{left:0;right:0}
  .main-nav a:hover::before{opacity:1;transform:none}
}
/* Small screens: the menu folds into a button. site.js adds "nav-compact" only when the links no longer fit on one line. */
  html.nav-compact .nav-toggle{display:inline-flex}
  html.nav-compact .main-nav{display:none;width:100%;flex-direction:column;gap:0;padding:4px 0 12px;max-height:calc(100vh - 110px);overflow-y:auto;-webkit-overflow-scrolling:touch}
  html.nav-compact .main-nav.open{display:flex}
  html.nav-compact .main-nav a{padding:15px 4px 15px 34px;border-bottom:1px solid var(--line);font-size:16px}
  html.nav-compact .main-nav a::after{display:none}
  html.nav-compact .main-nav a::before{left:6px;top:50%;margin:-9px 0 0;width:18px;height:18px;opacity:.35;transform:none}
  html.nav-compact .main-nav a[aria-current="page"]{background:linear-gradient(90deg,rgba(226,192,106,.18),rgba(226,192,106,0))}
  html.nav-compact .main-nav a[aria-current="page"]::before{opacity:1}
  html.nav-compact .main-nav.open a{-webkit-animation:navIn .45s cubic-bezier(.2,.8,.2,1) both;animation:navIn .45s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0) * 45ms)}
  html.nav-compact .brand .logo{width:64px;height:64px}
  html.nav-compact .site-header.scrolled .brand .logo{width:52px;height:52px}
  html.nav-compact .brand-name{font-size:20px}

@keyframes navIn{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
@media (max-width:420px){
  :root{--gutter:18px}
  .brand{gap:10px}
  .brand .logo,.site-header.scrolled .brand .logo{width:50px;height:50px}
  .brand-name{font-size:17px;letter-spacing:.05em}
  .nav-toggle{padding:0 14px}
}
@media (max-width:340px){.brand-name{display:none}}

/* Night sky with shooting stars */
.sky{position:relative;overflow:hidden;color:#f4ecdc;background-color:var(--night);
  background-image:url(stars.svg),linear-gradient(180deg,#0e1330 0%,#121833 55%,#1d2148 100%);
  background-size:900px 700px,100% 100%;
  background-position:center top,0 0}
.sky-fx{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}
.sky > .wrap{position:relative;z-index:1}
.meteor{position:absolute;height:2px;border-radius:999px;opacity:0;pointer-events:none;-webkit-transform-origin:left center;transform-origin:left center;
  background:linear-gradient(90deg,#fffaf0 0%,rgba(255,236,170,.95) 9%,rgba(242,215,140,.45) 42%,rgba(242,215,140,0) 100%)}
.meteor::before{content:"";position:absolute;left:-2px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:#fff8e1;box-shadow:0 0 10px 3px rgba(255,236,170,.8)}
.meteor.faint{height:1.5px;opacity:.7}
.tw{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 6px 1px rgba(255,255,255,.6);animation:tw 3.6s ease-in-out infinite}
.spark{position:absolute;fill:var(--gold);animation:tw 4.2s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(242,215,140,.7))}
@keyframes tw{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}
.ridge{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:90px;fill:#0b0f24;z-index:0}

/* Home hero */
.hero{padding:56px var(--gutter) 150px}
.hero-center{display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px;max-width:880px}
.logo-hero{--logo:url(logo-600.webp);width:480px;height:480px;max-width:82vw;max-height:82vw;margin-bottom:8px;filter:drop-shadow(0 0 46px rgba(226,192,106,.28));animation:rise 1.4s ease-out both, glow 6s ease-in-out 1.4s infinite}
@keyframes rise{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
@keyframes glow{0%,100%{filter:drop-shadow(0 0 40px rgba(226,192,106,.22))}50%{filter:drop-shadow(0 0 64px rgba(226,192,106,.42))}}
.hero-tag{display:flex;align-items:center;gap:12px;color:var(--gold);font-family:'Cinzel',Georgia,serif;font-size:14px;letter-spacing:.22em;text-transform:uppercase}
.hero h1{font-size:clamp(34px,5vw,62px);line-height:1.08}
.hero .lede{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:28px;line-height:1.35;color:var(--lavender-soft);max-width:680px}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}
@media (max-width:600px){.hero{padding:36px var(--gutter) 110px}.hero .lede{font-size:23px}.ridge{height:56px}.hero-tag{font-size:12px;letter-spacing:.16em}}

/* Page header (inner pages) */
.page-head{padding:56px var(--gutter) 80px;text-align:center}
.page-head .wrap{max-width:820px;display:flex;flex-direction:column;align-items:center;gap:16px}
.logo-head{width:180px;height:180px;margin-bottom:4px;filter:drop-shadow(0 0 30px rgba(226,192,106,.25));animation:rise 1s ease-out both}
.page-head h1{font-size:clamp(36px,5vw,60px)}
.page-head .eyebrow{font-size:26px;color:var(--lavender-soft)}
@media (max-width:600px){.logo-head{width:130px;height:130px}.page-head{padding:40px var(--gutter) 60px}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .meteor{display:none}
  .tw,.spark{animation:none;opacity:.7}
  .logo-hero,.logo-head{animation:none}
  .brand .logo,.btn{transition:none}}

/* Ribbon */
.ribbon{background:var(--barn);color:#fbf6ea;padding:22px var(--gutter)}
.ribbon .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 36px;font-family:'Cinzel',Georgia,serif;font-size:16px;letter-spacing:.12em;text-transform:uppercase;text-align:center}
.ribbon strong{color:#f2d78c}
.ribbon a{color:#fbf6ea;text-underline-offset:4px}
@media (max-width:600px){.ribbon .wrap{gap:6px 20px;font-size:14px}}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:32px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.card > img,.card > a > img{width:100%;height:270px;object-fit:cover}
.card .body{padding:28px;display:flex;flex-direction:column;gap:10px;flex:1}
.card h3{font-size:24px;color:var(--navy-ink)}
.num{font-family:'Cinzel',Georgia,serif;font-size:15px;color:var(--barn);letter-spacing:.1em}
.pill{align-self:flex-start;background:#e7e0f1;color:#4b3d72;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:99px}
.price-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;border-top:1px solid var(--line);padding-top:14px;margin-top:auto}
.price{font-family:'Cinzel',Georgia,serif;font-size:20px;color:var(--barn)}
.ph-photo{height:270px;background:var(--parchment);display:flex;align-items:center;justify-content:center;color:#6b5f45;font-size:16px;text-align:center;padding:24px}
@media (max-width:600px){.cards{gap:22px}.card .body{padding:22px}.card > img,.card > a > img{height:230px}}

/* Split layouts */
.split{display:flex;flex-wrap:wrap;gap:60px;align-items:center}
.split > *{flex:1 1 420px;min-width:0}
.split.reverse{flex-wrap:wrap-reverse}
.arch{width:100%;object-fit:cover;border-radius:300px 300px 8px 8px}
.arch.framed{border:6px solid #fffaf0;box-shadow:0 0 0 1px var(--line)}
.dark .arch.framed{border-color:#f4ecdc;box-shadow:none}
.rounded{width:100%;object-fit:cover;border-radius:8px}
.img-xl{height:640px}.img-lg{height:560px}.img-md{height:460px}.img-sm{height:340px}
@media (max-width:900px){.split{gap:40px}.img-xl,.img-lg{height:460px}.img-md{height:400px}}
@media (max-width:600px){.img-xl,.img-lg,.img-md{height:360px}.img-sm{height:260px}.arch{border-radius:200px 200px 8px 8px}}
.stack{display:flex;flex-direction:column;gap:20px}

/* Text from the editor */
.rich > * + *{margin-top:1em}
.rich h2{font-size:28px;color:var(--navy-ink);margin-top:1.4em}
.rich h3{font-size:22px;color:var(--navy-ink);margin-top:1.3em}
.rich h4{font-size:19px;margin-top:1.2em}
.rich ul,.rich ol{padding-left:1.4em}
.rich li + li{margin-top:.35em}
.rich blockquote{margin:1.4em 0;padding:4px 0 4px 22px;border-left:3px solid var(--gold);font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:1.35em;line-height:1.4;color:var(--navy-ink)}
.rich img{border-radius:8px;margin:1.5em auto}
.rich hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.dark .rich,.dark .rich h2,.dark .rich h3{color:inherit}

/* Values */
.values{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:28px 36px}
.value{display:flex;flex-direction:column;gap:8px;border-top:2px solid var(--barn);padding-top:16px}
.value h3{font-size:22px;color:var(--navy-ink)}
.value p{font-size:17px}
.values-dark{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:24px}
.values-dark .value{border:1px solid #343e6c;border-radius:8px;padding:32px;background:var(--night-2);gap:12px}
.values-dark .value h3{color:#f4ecdc;font-size:24px}
.values-dark .value p{color:var(--muted-light)}
.values-dark .label{color:var(--gold)}

/* Hens */
.hens{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:24px}
.hen{margin:0;background:var(--night-2);border:1px solid #343e6c;border-radius:8px;overflow:hidden}
.hen img{width:100%;height:280px;object-fit:cover}
.hen figcaption{padding:18px 22px 22px;display:flex;flex-direction:column;gap:2px}
.hen .name{font-family:'Cinzel',Georgia,serif;font-size:23px;color:#f4ecdc}
.hen .breed{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:20px;color:var(--gold)}
.hen-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:20px}
.hen-strip figure{margin:0;display:flex;flex-direction:column;gap:12px}
.hen-strip img{width:100%;height:280px;object-fit:cover;border-radius:140px 140px 6px 6px}
.hen-strip figcaption{font-family:'Cinzel',Georgia,serif;font-size:18px;text-align:center;letter-spacing:.06em}
@media (max-width:600px){.hen-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hen-strip img{height:200px;border-radius:100px 100px 6px 6px}}

/* Gallery */
.thumbs{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.thumbs img{display:block;height:340px;width:auto;max-width:100%;object-fit:contain;border-radius:6px;cursor:zoom-in;background:rgba(255,255,255,.04)}
@media (max-width:900px){.thumbs img{height:260px}}
@media (max-width:600px){.thumbs{display:block;columns:2;column-gap:10px}.thumbs img{width:100%;height:auto;margin:0 0 10px;break-inside:avoid}}
.masonry{-webkit-columns:3 300px;columns:3 300px;-webkit-column-gap:16px;column-gap:16px}
.masonry a{display:block;margin-bottom:16px;-webkit-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid}
.masonry img{width:100%;height:auto;border-radius:6px;transition:opacity .2s}
@media (hover:hover){.masonry a:hover img{opacity:.85}}
@media (max-width:600px){.masonry{-webkit-columns:2;columns:2;-webkit-column-gap:10px;column-gap:10px}.masonry a{margin-bottom:10px}}
.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(10,13,30,.94);display:none;align-items:center;justify-content:center;padding:24px;z-index:150}
.lightbox.open{display:flex}
.lightbox img{max-height:86vh;max-width:100%;border-radius:6px}
.lightbox button{position:absolute;top:max(16px,env(safe-area-inset-top));right:16px;min-height:46px;padding:0 18px;background:#f4ecdc;color:var(--night);border:0;border-radius:4px;font-family:'Cinzel',Georgia,serif;font-weight:600;letter-spacing:.1em;cursor:pointer}
.lightbox .lb-prev,.lightbox .lb-next{top:50%;right:auto;transform:translateY(-50%);min-width:46px;padding:0;font-size:22px}
.lightbox .lb-prev{left:12px}.lightbox .lb-next{left:auto;right:12px}

/* Steps, seasons, info boxes */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:28px}
.step{background:var(--paper);border-radius:8px;padding:32px;display:flex;flex-direction:column;gap:12px;border-top:4px solid var(--barn)}
.step .big{font-family:'Cinzel',Georgia,serif;font-size:40px;line-height:1;color:var(--barn)}
.step h3{font-size:22px;color:var(--navy-ink)}
.step.green{border-top-color:var(--sage)} .step.green .big{color:var(--sage)}
.step.purple{border-top-color:var(--lavender)} .step.purple .big{color:var(--lavender)}
.seasons{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:20px}
.season{border:1px solid #d8c9a6;border-radius:8px;padding:28px;background:var(--paper);display:flex;flex-direction:column;gap:8px}
.season h3{font-size:22px}
.infobox{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:20px}
.label{font-family:'Cinzel',Georgia,serif;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--barn)}
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:16px}

/* CTA band */
.cta-band{background:var(--barn);color:#fbf6ea;padding:72px var(--gutter)}
.cta-band .wrap{max-width:1000px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.cta-band h2{font-size:clamp(26px,3vw,38px)}
.cta-band p{color:#f3dcd3}
.quote{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:clamp(26px,3vw,38px);line-height:1.35;color:var(--navy-ink)}

/* Forms */
.signup{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:100%;max-width:560px}
.field{display:flex;flex-direction:column;gap:6px;flex:1 1 220px}
.field label{font-size:15px;font-weight:600;color:var(--navy-ink)}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=date],select,textarea{min-height:50px;padding:0 16px;border:1.5px solid #b9a984;border-radius:4px;background:#fff;font-family:'Lora',Georgia,serif;font-size:17px;color:var(--ink);width:100%;-webkit-appearance:none;appearance:none}
select{padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%231c2340' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
textarea{padding:14px 16px;resize:vertical;min-height:150px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--lavender);outline-offset:1px}
.signup input{flex:1 1 280px;width:auto}
.form-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:40px;display:flex;flex-direction:column;gap:22px}
@media (max-width:600px){.form-card{padding:24px 20px}.signup .btn{width:100%}}
.check{display:flex;align-items:center;gap:12px;font-size:16px;min-height:44px;cursor:pointer}
.check input{width:22px;height:22px;flex:none;accent-color:var(--barn)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.notice{padding:16px 20px;border-radius:6px;background:#e4ecd7;color:#2f3a1d;border:1px solid #b9c99a}
.notice.err{background:#f6dcd6;color:#6e2219;border-color:#e0a99c}
.contact-card{background:var(--night);color:#f4ecdc;border-radius:8px;padding:32px;display:flex;flex-direction:column;gap:20px}
.contact-card .label{color:var(--gold)}
.contact-card a{color:#f4ecdc}
.map-ph{height:240px;border-radius:8px;background:var(--parchment);border:1px dashed #b9a984;display:flex;align-items:center;justify-content:center;color:#6b5f45;font-size:16px;text-align:center;padding:20px}
.faq{display:flex;flex-direction:column;gap:14px}
.faq > div{background:var(--paper);border-radius:8px;padding:24px 28px}
.faq h3{font-size:20px;color:var(--navy-ink);margin-bottom:6px}

/* News */
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:32px}
.news-card{background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.news-card .cover{display:block;aspect-ratio:16/10;background:var(--parchment) center/cover no-repeat;overflow:hidden}
.news-card .cover img{width:100%;height:100%;object-fit:cover}
.news-card .cover.empty{display:flex;align-items:center;justify-content:center;background:var(--night) url(stars.svg) center/600px}
.news-card .cover.empty span{width:96px;height:96px}
.news-card .body{padding:26px;display:flex;flex-direction:column;gap:10px;flex:1}
.news-card h3{font-size:23px;line-height:1.25}
.news-card h3 a{color:var(--navy-ink);text-decoration:none}
@media (hover:hover){.news-card h3 a:hover{color:var(--barn)}}
.news-card .more{margin-top:auto}
.meta{font-size:15px;color:#6b5f45}
.dark .meta{color:var(--muted-light)}
.pager{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px}
.pager a,.pager span{min-width:46px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1.5px solid var(--line);border-radius:4px;text-decoration:none;background:var(--paper)}
.pager span[aria-current]{background:var(--navy-ink);color:#fff;border-color:var(--navy-ink)}
.empty-state{text-align:center;padding:48px 24px;border:1.5px dashed var(--line);border-radius:8px;background:var(--paper)}
.post-head{padding:56px var(--gutter) 70px;text-align:center}
.post-head .wrap{max-width:860px;display:flex;flex-direction:column;align-items:center;gap:16px}
.post-head h1{font-size:clamp(32px,4.6vw,54px);line-height:1.15}
.post-cover{max-width:1000px;margin:-40px auto 0;padding:0 var(--gutter);position:relative;z-index:2}
.post-cover img{width:100%;max-height:620px;object-fit:cover;border-radius:10px;box-shadow:0 18px 40px rgba(18,24,51,.18)}
.post-body{max-width:740px;margin:0 auto;padding:56px var(--gutter) 40px;font-size:19px;line-height:1.75}
.share{max-width:740px;margin:0 auto;padding:0 var(--gutter) 80px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.share a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1.5px solid var(--line);border-radius:4px;background:var(--paper);text-decoration:none;font-size:15px}
.post-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:16px}
.post-nav a{display:block;padding:20px 24px;background:var(--paper);border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--navy-ink)}
.post-nav small{display:block;color:#6b5f45;font-size:14px;margin-bottom:4px}
.draft-flag{background:#fdeccd;color:#6b4a0f;border:1px solid #e8c77d;padding:10px 16px;border-radius:6px;font-size:16px}

/* Footer */
.site-footer{background:var(--night);color:var(--muted-light);padding:64px var(--gutter) max(40px,env(safe-area-inset-bottom))}
.site-footer .cols{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between}
.foot-brand{flex:1 1 320px;display:flex;gap:20px;align-items:center}
.foot-brand .logo{width:150px;height:150px}
.foot-brand p{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:22px;line-height:1.4;color:#f4ecdc}
.foot-col{flex:0 1 260px;display:flex;flex-direction:column;gap:6px}
.foot-col .label{color:var(--gold);font-size:14px;letter-spacing:.16em}
.foot-col a{color:#f4ecdc;text-decoration:none;padding:5px 0}
@media (hover:hover){.foot-col a:hover{color:var(--gold)}}
.copy{border-top:1px solid var(--night-line);padding-top:24px;margin-top:40px;font-size:15px}
.copy a{color:var(--muted-light)}
@media (max-width:600px){.foot-brand{flex-direction:column;align-items:flex-start}.foot-brand .logo{width:120px;height:120px}.section{padding:70px var(--gutter)}}

/* Admin shortcut shown to logged-in admins */
.admin-float{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:90;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:calc(100% - 32px)}
.admin-float a{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;border-radius:999px;background:#fff;color:var(--navy-ink);text-decoration:none;font-family:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;font-size:16px;font-weight:600;box-shadow:0 6px 20px rgba(18,24,51,.25)}
.admin-float a.primary{background:var(--barn);color:#fff}
.admin-float svg{width:20px;height:20px}

/* Printing */
@media print{
  .site-header,.sky-fx,.ridge,.admin-float,.nav-toggle,.btn-row,.signup,.share,.skip-link,.lightbox{display:none!important}
  body{background:#fff;color:#000;font-size:12pt}
  .sky,.dark{background:#fff!important;color:#000!important}
  .section,.page-head,.hero{padding:24px 0}
  a{color:#000}
}

/* Floral touches from the logo */
.flourish{display:block;width:300px;max-width:72%;height:80px;background:url(floral-garland.webp) center/contain no-repeat;margin:2px auto 0;pointer-events:none}
.flourish.sm{width:210px;height:56px}
.flourish.left{margin-left:-6px}
.dark .flourish,.sky .flourish{filter:drop-shadow(0 0 12px rgba(226,192,106,.18))}
.bloom{display:inline-block;width:20px;height:20px;flex:none;background:url(floral-bloom.webp) center/contain no-repeat;vertical-align:-4px}
.num{display:inline-flex;align-items:center;gap:8px}
.num::before{content:"";width:18px;height:18px;background:url(floral-bloom.webp) center/contain no-repeat;transition:transform .6s cubic-bezier(.34,1.56,.64,1)}
.sprigs{position:relative}
.sprigs::before,.sprigs::after{content:"";position:absolute;bottom:10px;width:190px;height:122px;background:url(floral-sprig.webp) left bottom/contain no-repeat;opacity:.95;pointer-events:none;z-index:0}
.sprigs::before{left:max(8px,calc(50% - 600px))}
.sprigs::after{right:max(8px,calc(50% - 600px));transform:scaleX(-1)}
.sprigs > .wrap{position:relative;z-index:1}
@media (max-width:900px){.sprigs::before,.sprigs::after{width:120px;height:78px;opacity:.75}}
@media (max-width:600px){.sprigs::before,.sprigs::after{width:84px;height:54px;opacity:.6;bottom:6px}}
.ribbon .bloom{width:18px;height:18px}
.site-footer{position:relative}
.foot-flourish{position:absolute;top:-34px;left:50%;width:260px;height:70px;margin-left:-130px;background:url(floral-garland.webp) center/contain no-repeat;pointer-events:none}
.rich ul{list-style:none;padding-left:0}
.rich ul li{position:relative;padding-left:30px}
.rich ul li::before{content:"";position:absolute;left:0;top:.3em;width:18px;height:18px;background:url(floral-bloom.webp) center/contain no-repeat}
@media (hover:hover){
  .card,.news-card,.step,.season,.hen{transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease}
  .card:hover,.news-card:hover,.step:hover,.season:hover,.hen:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(18,24,51,.13)}
  .card:hover .num::before{transform:rotate(180deg)}
}
@media (prefers-reduced-motion:reduce){
  .main-nav a,.main-nav a::before,.main-nav a::after,.card,.news-card,.step,.season,.hen,.num::before,.brand .logo,.site-header .bar{transition:none!important;animation:none!important}
}
.post-head .eyebrow{color:var(--lavender-soft)}
.sky .meta{color:var(--muted-light)}

/* ---------- Shop ---------- */
.cart-btn{order:2;position:relative;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--navy-ink);text-decoration:none;font-family:'Cinzel',Georgia,serif;font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;transition:border-color .2s,transform .2s}
.cart-btn svg{width:22px;height:22px}
@media (hover:hover){.cart-btn:hover{border-color:var(--barn);color:var(--barn)}}
.cart-count{position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:var(--barn);color:#fff;font-family:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;font-size:12.5px;font-weight:700;letter-spacing:0;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #fbf7ee}
.cart-count[hidden]{display:none}
.cart-btn.bump{animation:cartBump .6s cubic-bezier(.34,1.56,.64,1)}
@keyframes cartBump{0%{transform:scale(1)}30%{transform:scale(1.18) rotate(-6deg)}60%{transform:scale(.95)}100%{transform:none}}

.shop-closed{background:var(--parchment);border-bottom:1px solid var(--line);padding:16px var(--gutter);text-align:center;font-size:17px}
.shop-closed .wrap{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;justify-content:center}
.shop-filter{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.chip{display:inline-flex;align-items:center;gap:8px;text-decoration:none;min-height:44px;padding:0 20px;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);color:var(--navy-ink);font-family:'Cinzel',Georgia,serif;font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.chip[aria-current="true"],.chip[aria-pressed="true"]{background:var(--navy-ink);border-color:var(--navy-ink);color:#fff}
@media (hover:hover){.chip:hover{border-color:var(--barn)}}

.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:28px}
.product{background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.product[hidden]{display:none}
.pimg{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--parchment)}
.pimg img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:opacity .45s ease,transform .6s ease}
.pimg .second{opacity:0}
@media (hover:hover){.product:hover .pimg.has-2 .second{opacity:1}.product:hover .pimg img{transform:scale(1.04)}}
.noimg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--night) url(stars.svg) center/600px}
.noimg .logo{width:110px;height:110px}
.badge{position:absolute;top:12px;left:12px;z-index:2;padding:5px 12px;border-radius:99px;font-family:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;font-size:13px;font-weight:700;letter-spacing:.02em;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.b-available{background:#e3f1e7;color:#1d5134}
.b-low{background:#fdeccd;color:#71460a}
.b-soldout{background:#2a2c33;color:#fff}
.b-soon{background:#e7e0f1;color:#3f3366}
.product.soldout .pimg img{filter:grayscale(.55) brightness(.92)}
.product .body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.pcat{font-family:'Cinzel',Georgia,serif;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--lavender)}
.product h3{font-size:22px;line-height:1.25}
.product h3 a{color:var(--navy-ink);text-decoration:none}
@media (hover:hover){.product h3 a:hover{color:var(--barn)}}
.pdesc{font-size:16px;color:#4a4a3c}
.pprice{font-size:16px;color:#5a5446}
.pprice strong{font-family:'Cinzel',Georgia,serif;font-size:22px;color:var(--barn)}
.pnote{font-size:15px;color:#5a5446;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;min-height:1em}
.tag-pickup,.ci-tag{display:inline-block;font-family:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;font-size:12.5px;font-weight:600;padding:2px 9px;border-radius:99px;background:#efe6d2;color:#5d5236}
.pbtns{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;margin-top:auto;padding-top:8px}
.pbtns .btn{min-height:48px;padding:0 20px}
.btn-ghost{border:1.5px solid var(--navy-ink);color:var(--navy-ink);background:transparent}
@media (hover:hover){.btn-ghost:hover{background:var(--navy-ink);color:#fff}}
.dark .btn-ghost{border-color:var(--gold);color:var(--gold)}
.btn svg{width:20px;height:20px;margin-right:6px}
.btn.added{background:#2e7d4f;color:#fff}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn-block{width:100%}
.steps.four{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}

/* Product page */
.product-page{padding-top:40px}
.back-link{display:inline-block;margin-bottom:18px;font-weight:600;text-decoration:none;padding:6px 0}
.pp-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:start}
@media (max-width:900px){.pp-grid{grid-template-columns:minmax(0,1fr);gap:28px}}
.gmain{position:relative;aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:var(--parchment);box-shadow:0 14px 34px rgba(18,24,51,.12)}
.gmain img{width:100%;height:100%;object-fit:cover}
.gthumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:10px;margin-top:12px}
.gthumb{padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;background:none;aspect-ratio:1/1}
.gthumb img{width:100%;height:100%;object-fit:cover}
.gthumb[aria-pressed="true"]{border-color:var(--barn)}
.pp-info{display:flex;flex-direction:column;gap:14px}
.pp-info h1{font-size:clamp(30px,4vw,46px);color:var(--navy-ink);line-height:1.15}
.pp-price strong{font-family:'Cinzel',Georgia,serif;font-size:32px;color:var(--barn)}
.pp-price span{color:#5a5446;font-size:18px}
.pp-status{font-size:17px}
.pp-status.s-available strong{color:#1d5134}.pp-status.s-low strong{color:#8a5a0e}.pp-status.s-soldout strong{color:#2a2c33}.pp-status.s-soon strong{color:#3f3366}
.pp-pickup{display:flex;gap:10px;align-items:center;background:var(--parchment);padding:10px 14px;border-radius:8px;font-size:16px}
.pp-buy{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:6px 0}
.pp-buy .btn{flex:1 1 200px}
.pp-desc{border-top:1px solid var(--line);padding-top:18px;margin-top:6px}
.pp-how{font-size:15px;color:#5a5446}
.qty{display:inline-flex;align-items:stretch;border:1.5px solid #b9a984;border-radius:6px;overflow:hidden;background:#fff}
.qty button{width:50px;min-height:52px;border:0;background:#f4ede0;color:var(--navy-ink);font-size:24px;line-height:1;cursor:pointer}
@media (hover:hover){.qty button:hover{background:#e9dfca}}
.qty input{width:62px;min-height:52px!important;border:0!important;border-radius:0!important;text-align:center;padding:0!important;font-size:19px;font-weight:600;-moz-appearance:textfield;appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty.small button{width:44px;min-height:44px;font-size:20px}
.qty.small input{width:52px;min-height:44px!important;font-size:17px}

/* Toast */
.shop-toast{position:fixed;left:50%;bottom:max(18px,env(safe-area-inset-bottom));z-index:120;transform:translate(-50%,24px);opacity:0;pointer-events:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;max-width:calc(100% - 28px);padding:14px 18px;border-radius:12px;background:var(--navy-ink);color:#fff;font-size:16px;box-shadow:0 12px 32px rgba(0,0,0,.3);transition:opacity .25s ease,transform .3s cubic-bezier(.2,.8,.2,1)}
.shop-toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.shop-toast.ok{background:#1f3d2b}
.shop-toast.warn{background:#6e2219}
.shop-toast a{color:var(--gold);font-family:'Cinzel',Georgia,serif;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:14px;padding:6px 0}

/* Cart page */
.small-head{padding-bottom:56px}
.cart-section{padding-top:56px}
.cart-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;align-items:start}
@media (max-width:960px){.cart-layout{grid-template-columns:minmax(0,1fr)}}
.cart-h{font-size:26px;color:var(--navy-ink);margin-bottom:14px}
.cart-items{list-style:none;margin:0 0 6px;padding:0;border-top:1px solid var(--line)}
.cart-item{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);align-items:start}
.ci-img{display:block;width:96px;height:96px;border-radius:8px;overflow:hidden;background:var(--night)}
.ci-img img{width:100%;height:100%;object-fit:cover}
.ci-img .logo{width:96px;height:96px}
.ci-info{display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.ci-name{font-family:'Cinzel',Georgia,serif;font-weight:600;font-size:19px;color:var(--navy-ink);text-decoration:none}
.ci-each{font-size:15px;color:#5a5446}
.ci-row{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-top:6px}
.ci-remove{background:none;border:0;padding:10px 4px;color:var(--barn);text-decoration:underline;font-size:15px;cursor:pointer}
.ci-max{font-size:14px;color:#8a5a0e}
.ci-line{font-family:'Cinzel',Georgia,serif;font-weight:600;font-size:18px;color:var(--navy-ink);white-space:nowrap}
@media (max-width:520px){.cart-item{grid-template-columns:72px minmax(0,1fr);gap:12px}.ci-img,.ci-img .logo{width:72px;height:72px}.ci-line{grid-column:2}}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:16px 0 4px;font-size:18px}
.cart-total strong{font-family:'Cinzel',Georgia,serif;font-size:26px;color:var(--barn)}
.cart-total-note{font-size:15px;color:#5a5446;margin-bottom:16px}
.order-card{position:-webkit-sticky;position:sticky;top:calc(var(--edit-bar) + 120px);gap:16px}
@media (max-width:960px){.order-card{position:static}}
.order-intro{font-size:16px;color:#4a4a3c}
.order-small{font-size:14px;color:#6b5f45;text-align:center}
.req{font-weight:400;color:var(--barn);font-size:14px}
.opt{font-weight:400;color:#6b5f45;font-size:14px}
[aria-invalid="true"]{border-color:var(--barn)!important;box-shadow:0 0 0 3px rgba(140,46,33,.15)}
.fulfil{border:0;margin:0;padding:0;display:grid;gap:10px}
.fulfil legend{font-size:15px;font-weight:600;color:var(--navy-ink);margin-bottom:8px;padding:0}
.radio-card{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1.5px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;transition:border-color .2s,background-color .2s}
.radio-card input{width:22px;height:22px;margin:2px 0 0;flex:none;accent-color:var(--barn)}
.radio-card strong{display:block;font-size:17px;color:var(--navy-ink)}
.radio-card small{display:block;font-size:14.5px;color:#5a5446;line-height:1.45;margin-top:2px}
.radio-card:has(input:checked){border-color:var(--barn);background:#fdf6f2}
.cart-done{text-align:center;max-width:700px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:14px;outline:none}
.cart-done .logo{width:150px;height:150px}
@media print{.cart-btn,.shop-toast{display:none!important}}

.order-card .field{flex:none}
@media (max-width:1400px){html:not(.nav-compact) .main-nav{gap:6px 17px;font-size:14px;letter-spacing:.1em}html:not(.nav-compact) .brand-name{font-size:21px}html:not(.nav-compact) .brand .logo{width:74px;height:74px}}
@media (max-width:1180px){html:not(.nav-compact) .main-nav{gap:6px 14px;font-size:13px;letter-spacing:.08em}html:not(.nav-compact) .brand-name{font-size:19px;letter-spacing:.06em}html:not(.nav-compact) .brand{gap:12px}html:not(.nav-compact) .brand .logo{width:62px;height:62px}html:not(.nav-compact) .site-header .bar{gap:10px 18px}}
html:not(.js) .main-nav{flex-wrap:wrap}

.notice.warn{background:#fdeccd;color:#6b4a0f;border-color:#e8c77d}
.nav-label{display:inline}
@media (max-width:480px){
  .site-header .bar{gap:8px}
  .nav-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .nav-toggle{width:46px;padding:0;justify-content:center}
}

/* Cart button: inside the menu on big screens, beside the Menu button on small screens */
.brand{margin-right:auto}
.main-nav{flex-wrap:nowrap;align-items:center}
.cart-btn{order:0;width:46px;min-height:46px;height:46px;padding:0;justify-content:center;border-radius:50%;flex:none}
.main-nav .cart-btn{margin-left:4px;border-bottom:1.5px solid var(--line)}
.main-nav .cart-btn::before,.main-nav .cart-btn::after{display:none!important}
.cart-mobile{display:none}
  html.nav-compact .cart-mobile{display:inline-flex;order:2}
  html.nav-compact .nav-toggle{order:3}
  html.nav-compact .main-nav{order:5;flex-wrap:nowrap}
  html.nav-compact .main-nav .cart-btn{display:none}

.main-nav a.cart-btn{padding:0;border:1.5px solid var(--line);border-radius:50%;background:#fff;color:var(--navy-ink)}
@media (hover:hover){.main-nav a.cart-btn:hover{border-color:var(--barn);color:var(--barn)}}
.pp-ask{background:#eee8f6;color:#3f3366;padding:12px 16px;border-radius:8px;font-size:16px}
.ci-ask{display:inline-block;font-family:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;font-size:12.5px;font-weight:600;padding:2px 9px;border-radius:99px;background:#e7e0f1;color:#3f3366}
.cart-group{font-family:'Cinzel',Georgia,serif;font-size:16px;letter-spacing:.1em;text-transform:uppercase;color:var(--lavender);margin:26px 0 6px}
.cart-group:first-child{margin-top:0}
.cart-group small{display:block;font-family:'Lora',Georgia,serif;text-transform:none;letter-spacing:0;font-size:14.5px;color:#5a5446;margin-top:2px}

/* Map */
.farm-map{margin-top:80px}
.map-embed{position:relative;border-radius:12px;overflow:hidden;border:6px solid #fffaf0;box-shadow:0 0 0 1px var(--line),0 14px 34px rgba(18,24,51,.12);aspect-ratio:16/7;background:var(--parchment)}
.map-embed.small{aspect-ratio:4/3;border-width:4px}
.map-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
@media (max-width:700px){.map-embed{aspect-ratio:4/3}}
.map-links{text-align:center;margin-top:16px}
.map-embed.small + .map-links{text-align:left;margin-top:10px}

/* Classes */
.class-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:24px}
.class-card{background:var(--night-2);border:1px solid #343e6c;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.cc-img img{width:100%;aspect-ratio:16/9;object-fit:cover}
.cc-body{padding:24px;display:flex;flex-direction:column;gap:14px;flex:1}
.cc-top{display:flex;gap:16px;align-items:flex-start}
.cc-date{flex:none;width:62px;height:66px;border-radius:10px;background:#f4ecdc;color:var(--navy-ink);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.cc-date b{font-family:'Cinzel',Georgia,serif;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--barn)}
.cc-date i{font-style:normal;font-family:'Cinzel',Georgia,serif;font-size:28px;font-weight:700;margin-top:4px}
.cc-date.repeat .bloom{width:30px;height:30px}
.class-card h3{font-size:23px;color:#f4ecdc;line-height:1.25}
.cc-when{color:var(--gold);font-size:16px;margin-top:4px}
.cc-facts{list-style:none;margin:0;padding:12px 0;border-top:1px solid #343e6c;border-bottom:1px solid #343e6c;display:flex;flex-wrap:wrap;gap:8px 22px;color:#f4ecdc;font-size:16px}
.cc-facts .label{display:block;color:var(--muted-light);font-size:12px;letter-spacing:.14em}
.cc-desc{color:var(--muted-light);font-size:16px}
.cc-btns{margin-top:auto;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}
.cc-full{color:#f2d78c;font-weight:600}
.classes-empty{text-align:center;color:var(--muted-light);border:1.5px dashed #343e6c;border-radius:10px;padding:28px}
.classes-empty a{color:var(--gold)}
.cm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:160;background:rgba(10,13,30,.7);display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.cm-box{position:relative;background:var(--paper);border-radius:14px;width:100%;max-width:520px;max-height:calc(100vh - 32px);overflow-y:auto;padding:30px 28px 26px;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.cm-box form{display:flex;flex-direction:column;gap:14px;margin-top:16px}
.cm-box .field{flex:none}
.cm-when{color:#5a5446;margin-top:4px}
.cm-x{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;font-size:28px;line-height:1;color:var(--navy-ink);cursor:pointer}
.cm-x:hover{background:var(--parchment)}
@media (max-width:480px){.cm-box{padding:26px 18px 20px}}

/* Product types */
.chip-n{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:rgba(28,35,64,.08);font-family:inherit;font-size:12px;letter-spacing:0}
.chip[aria-current="true"] .chip-n{background:rgba(255,255,255,.2)}
.type-groups{display:flex;flex-direction:column;gap:56px}
.type-group{scroll-margin-top:110px}
.type-head{display:flex;flex-direction:column;gap:6px;margin-bottom:22px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.type-head h2{display:flex;align-items:center;gap:12px;font-family:'Cinzel',Georgia,serif;font-size:clamp(24px,3vw,30px);color:var(--navy-ink);margin:0}
.type-head h2 .bloom{width:30px;height:30px;flex:none}
.type-head p{color:#5a5446;max-width:62ch;margin:0}
.psize{display:inline-block;margin-left:10px;padding:2px 10px;border-radius:999px;background:var(--cream-2,#f3ead6);color:var(--navy-ink);font-size:13px;vertical-align:middle}
.pp-size{color:#5a5446;font-size:17px;margin-top:-6px}
.pp-size strong{color:var(--navy-ink)}
.pp-ingr{border-top:1px solid var(--line);padding-top:16px}
.pp-ingr h2{font-family:'Cinzel',Georgia,serif;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--navy-ink);margin:0 0 6px}
.pp-ingr p{color:#4a4538;margin:0}
.btn.buy-online::after{content:"";display:inline-block;width:.55em;height:.55em;margin-left:.5em;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.type-groups.grouped .pcat{display:none}
@media (max-width:640px){
  .shop-filter{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -16px;padding:4px 16px 8px;scroll-padding:0 16px}
  .shop-filter::-webkit-scrollbar{display:none}
  .shop-filter .chip{flex:none;min-height:40px;padding:0 14px;font-size:12px}
}

/* Class photos */
.cc-main{position:relative;display:block}
.cc-count{position:absolute;right:12px;bottom:12px;background:rgba(18,24,51,.78);color:#fff;font-family:'Inter',system-ui,sans-serif;font-size:13px;font-weight:600;padding:4px 10px;border-radius:99px;pointer-events:none}
.cc-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px 4px 0}
.cc-thumbs a{position:relative;display:block}
.cc-thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:4px}
.cc-thumbs b{position:absolute;inset:0;display:grid;place-items:center;background:rgba(18,24,51,.6);color:#fff;font-size:18px;border-radius:4px}
a[data-lb]{cursor:zoom-in}

/* Recipes */
.recipe-card .rc-img{position:relative;display:block;height:270px;overflow:hidden}
.recipe-card .rc-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
@media (hover:hover){.recipe-card:hover .rc-img img{transform:scale(1.04)}}
.rc-count{position:absolute;right:12px;bottom:12px;background:rgba(18,24,51,.78);color:#fff;font-size:13px;font-weight:600;padding:4px 10px;border-radius:99px}
.recipe-card h3 a{color:inherit;text-decoration:none}
.rc-meta{font-size:15px;color:#6b6453}
.recipe-card .link-caps{margin-top:auto;align-self:flex-start}
@media (max-width:600px){.recipe-card .rc-img{height:230px}}
.rp-summary{font-size:19px;color:#4a4538}
.rp-facts{list-style:none;margin:0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 30px}
.rp-facts .label{display:block;font-size:12px}
.rp-block h2{font-family:'Cinzel',Georgia,serif;font-size:22px;color:var(--navy-ink);margin:0 0 12px}
.rp-ings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.rp-ings li{position:relative;padding-left:24px}
.rp-ings li::before{content:"";position:absolute;left:4px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--barn)}
.rp-ings li.rp-sub{padding-left:0;margin-top:10px;font-family:'Cinzel',Georgia,serif;font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-ink)}
.rp-ings li.rp-sub::before{display:none}
.rp-print{align-self:flex-start}
.rp-lower{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;margin-top:56px;padding-top:40px;border-top:1px solid var(--line)}
@media (max-width:900px){.rp-lower{grid-template-columns:minmax(0,1fr);gap:32px;margin-top:36px}}
.rp-steps{margin:0;padding:0;list-style:none;counter-reset:st;display:flex;flex-direction:column;gap:18px}
.rp-steps li{counter-increment:st;position:relative;padding-left:52px;min-height:36px}
.rp-steps li::before{content:counter(st);position:absolute;left:0;top:-2px;width:36px;height:36px;border-radius:50%;background:var(--navy-ink);color:#f4ecdc;display:grid;place-items:center;font-family:'Cinzel',Georgia,serif;font-size:16px}
.rp-notes{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:24px;align-self:start}
@media print{
  .site-header,.site-footer,.back-link,.rp-print,.no-print,.gthumbs,.admin-float,.skip-link{display:none!important}
  .recipe-page .pp-grid{grid-template-columns:200px 1fr;gap:24px}
  .recipe-page .gmain{box-shadow:none}
  .rp-lower{grid-template-columns:1fr;margin-top:20px}
  body{background:#fff}
}

/* Hens */
.hens .hen{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.hen-img{position:relative;display:block;height:280px;overflow:hidden;background:var(--night)}
.hen-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.hen .hen-img img{height:100%}
@media (hover:hover){.hens .hen:hover .hen-img img{transform:scale(1.05)}.hens .hen:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.35)}}
.hen-cap{padding:18px 22px 22px;display:flex;flex-direction:column;gap:2px;flex:1}
.hen-more{margin-top:auto;padding-top:10px;font-family:'Cinzel',Georgia,serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.hens .hen:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.hen-mini{text-decoration:none;color:inherit;display:block}
.hen-mini img{transition:transform .4s ease}
@media (hover:hover){.hen-mini:hover img{transform:translateY(-4px)}}
.hen-facts{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:12px}
.hen-facts div{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:12px 16px}
.hen-facts dt{font-family:'Cinzel',Georgia,serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--barn)}
.hen-facts dd{margin:2px 0 0;color:var(--navy-ink);font-size:18px}

/* Back to top */
.to-top{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:85;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--navy-ink);color:#f4ecdc;border:2px solid var(--gold);box-shadow:0 8px 22px rgba(18,24,51,.3);text-decoration:none;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s,background-color .2s}
.to-top.show{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease,transform .25s ease,visibility 0s,background-color .2s}
.to-top svg{width:24px;height:24px}
@media (hover:hover){.to-top:hover{background:var(--barn)}}
.to-top:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.to-top.above-admin{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 64px)}
@media (max-width:600px){.to-top{width:46px;height:46px}.to-top.above-admin{bottom:calc(max(16px,env(safe-area-inset-bottom)) + 120px)}}
@media (prefers-reduced-motion:reduce){.to-top{transition:none}}
@media print{.to-top{display:none!important}}
main:focus{outline:none}
.hen-img img,.hen-strip img,.hen img{object-position:center 30%}
.is-editing .to-top{display:none!important}
/* Links to a spot on a page (like See the Farm #hens) stop below the sticky menu bar */
[id]{scroll-margin-top:96px}
@media (max-width:900px){[id]{scroll-margin-top:80px}}

/* Education page */
.edu-blurb{max-width:680px;margin:0 auto;color:#d9cfe8;font-size:19px;line-height:1.65}
.edu-blurb p{margin:0}
.edu-jump{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px}
.edu-jump a{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border:1.5px solid rgba(226,192,106,.7);border-radius:999px;color:#f4ecdc;text-decoration:none;font-family:'Cinzel',Georgia,serif;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;transition:background-color .2s,color .2s}
@media (hover:hover){.edu-jump a:hover{background:#e2c06b;color:#121833}}
.nutri-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:22px}
.nutri-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.nutri-card img{width:100%;height:170px;object-fit:cover}
.nutri-card .body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px}
.nutri-card h3{font-family:'Cinzel',Georgia,serif;font-size:20px;color:var(--navy-ink);margin:0}
.nutri-card p{margin:0;font-size:16px;line-height:1.6;color:#3d3a30}
.nutri-note{text-align:center;font-size:14px;color:#6b6453;font-style:italic;margin:0}

/* Social media buttons */
.follow-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:22px 24px;display:flex;flex-direction:column;gap:8px}
.follow-card p{margin:0;font-size:16px;color:#4a4538}
.social-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.social-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;background:var(--navy-ink);color:#f4ecdc;text-decoration:none;font-family:'Cinzel',Georgia,serif;font-size:13px;font-weight:600;letter-spacing:.1em;transition:background-color .2s,transform .2s}
.social-btn svg{width:14px;height:14px;opacity:.8}
@media (hover:hover){.social-btn:hover{background:var(--barn);transform:translateY(-1px)}}
.social-btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.social-btns.foot{margin-top:10px;gap:8px}
.social-btns.foot .social-btn{min-height:40px;padding:0 14px;background:transparent;border:1px solid rgba(226,192,106,.55);color:#f4ecdc;font-size:12px}
@media (hover:hover){.social-btns.foot .social-btn:hover{background:#e2c06b;color:#121833}}
.social-empty{margin:0;padding:14px 16px;border:1.5px dashed #c9b88f;border-radius:10px;font-size:15px;color:#5a5446;background:rgba(255,255,255,.4)}

/* Nutrition Facts panel on product pages */
.nutri-label{max-width:340px;background:#fff;color:#000;border:1.5px solid #000;padding:8px 10px 10px;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:1.3}
.nutri-label h2{margin:0;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:900;font-size:32px;letter-spacing:-.01em;line-height:1.05;color:#000}
.nutri-label p{margin:0}
.nf-servings{font-size:15px;padding-top:2px}
.nf-size{display:flex;justify-content:space-between;gap:12px;font-size:16px;font-weight:700}
.nf-rule{border-top:1px solid #000;margin:2px 0}
.nf-rule.thick{border-top-width:9px;margin:4px 0 2px}
.nf-rule.mid{border-top-width:4px;margin:2px 0}
.nf-cal{display:flex;justify-content:space-between;align-items:flex-end;font-weight:800}
.nf-cal span{display:flex;flex-direction:column;font-size:24px;line-height:1}
.nf-cal small{font-size:12px;font-weight:700;margin-bottom:2px}
.nf-cal b{font-size:36px;line-height:1}
.nutri-label table{width:100%;border-collapse:collapse;font-size:14px}
.nutri-label thead th{text-align:right;font-size:12px;font-weight:700;padding:2px 0;border-bottom:1px solid #000}
.nutri-label tbody th{text-align:left;font-weight:400;padding:3px 0;border-bottom:1px solid #000}
.nutri-label tbody td{text-align:right;padding:3px 0;border-bottom:1px solid #000}
.nutri-label tbody tr:last-child th,.nutri-label tbody tr:last-child td{border-bottom:0}
.nutri-label tr.sub th{padding-left:16px}
.nf-extra{font-size:13px;padding:3px 0}
.nf-foot{font-size:11px;line-height:1.35;padding-top:4px}
/* Education: Classes & Events on warm parchment, with the night-sky class cards standing out */
.classes-sec .classes-empty{color:#5a5446;border-color:#c9b88f;background:rgba(255,250,240,.6)}
.classes-sec .classes-empty a{color:var(--barn)}
.classes-sec .class-card{box-shadow:0 14px 30px rgba(18,24,51,.18)}

/* Smooth scrolling only after the page has loaded, so a link like farm.php#hens lands at once instead of gliding down a page that is still loading */
html.smooth{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html.smooth{scroll-behavior:auto}}

/* ---------- YouTube videos (See the Farm, and videos inside text) ---------- */
.yt-player{position:relative;aspect-ratio:16/9;background:#0e1226;border-radius:10px;overflow:hidden;box-shadow:0 14px 36px rgba(28,35,64,.22)}
.yt-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt-play{position:absolute;inset:0;display:block;cursor:pointer;color:inherit}
.yt-play img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,filter .3s}
.yt-play:hover img{transform:scale(1.025);filter:brightness(.9)}
.yt-btn{position:absolute;left:50%;top:50%;width:76px;height:54px;transform:translate(-50%,-50%);filter:drop-shadow(0 4px 12px rgba(0,0,0,.35));transition:transform .2s}
.yt-btn svg{width:100%;height:100%;display:block}
.yt-btn .yt-bg{fill:var(--barn);opacity:.94;transition:opacity .2s}
.yt-play:hover .yt-btn,.yt-play:focus-visible .yt-btn{transform:translate(-50%,-50%) scale(1.08)}
.yt-play:hover .yt-bg,.yt-play:focus-visible .yt-bg{opacity:1}
.yt-play:focus-visible{outline:4px solid var(--gold);outline-offset:-4px}
.videos-sec .yt-intro{margin:6px 0 0;color:#5a5446;font-size:18px}
.yt-feature{width:100%;max-width:960px;margin:0 auto}
.yt-cap{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 18px;padding:16px 4px 0}
.yt-title{margin:0;font-size:24px;line-height:1.25;color:var(--navy-ink)}
.yt-date{color:#5a5446;font-size:15px}
.yt-strip{list-style:none;margin:0 auto;padding:0;width:100%;max-width:960px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.yt-thumb{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--navy-ink);border-radius:8px}
.yt-tframe{position:relative;display:block;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#0e1226;border:2px solid transparent;transition:border-color .2s}
.yt-tframe img{width:100%;height:100%;object-fit:cover;display:block}
.yt-thumb:hover .yt-tframe{border-color:var(--gold)}
.yt-thumb:focus-visible{outline:3px solid var(--barn);outline-offset:3px}
.yt-tname{font-weight:600;font-size:15px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.yt-thumb small{color:#5a5446;font-size:13px}
.yt-now{position:absolute;left:8px;bottom:8px;background:var(--barn);color:#fff;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:3px;display:none}
.yt-thumb[aria-current="true"] .yt-tframe{border-color:var(--barn)}
.yt-thumb[aria-current="true"] .yt-now{display:block}
@media (max-width:760px){.yt-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.yt-title{font-size:20px}.yt-btn{width:62px;height:44px}}
.yt-ph{border:1.5px dashed #b9a984;border-radius:10px;background:var(--paper);padding:28px 24px;text-align:center;display:flex;flex-direction:column;gap:6px;color:#5a5446}
.yt-ph strong{color:var(--navy-ink);font-size:18px}
/* A video added inside a story or page text */
figure.yt{margin:1.6em 0;max-width:100%}
figure.yt > a{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--barn)}
figure.yt > a::before{content:"";width:22px;height:16px;border-radius:4px;background:var(--barn) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 16'%3E%3Cpath d='M9 4.5l6 3.5-6 3.5z' fill='%23fff'/%3E%3C/svg%3E") center/100% no-repeat}
figure.yt figcaption{margin-top:8px;font-size:15px;color:#5a5446}
.rich figure.yt .yt-player img{margin:0;border-radius:0}
.dark figure.yt figcaption{color:var(--muted-light)}

/* ---------- Pickup or shipping ---------- */
.tag-ship{display:inline-flex;align-items:center;gap:5px;font-family:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;font-size:12.5px;font-weight:600;padding:3px 10px 3px 8px;border-radius:99px;line-height:1.3}
.tag-ship svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;flex:none}
.tag-ship.pickup{background:#efe6d2;color:#5d4a1f}
.tag-ship.ships{background:#e1ecdf;color:#2f5a32}
.get-it{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:16px}
.get-card{display:flex;gap:14px;align-items:flex-start;text-align:left;padding:18px 20px;border:1.5px solid var(--line);border-radius:12px;background:var(--paper);font:inherit;color:var(--ink)}
button.get-card{cursor:pointer;transition:border-color .2s,box-shadow .2s}
button.get-card:hover:not(:disabled){border-color:var(--barn)}
button.get-card[aria-pressed="true"]{border-color:#2f5a32;box-shadow:0 0 0 2px #2f5a32 inset;background:#f3f8f1}
button.get-card:disabled{opacity:.6;cursor:default}
button.get-card:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.get-ic{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--parchment);color:var(--navy-ink)}
.get-ic svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.get-card strong{display:block;font-family:'Cinzel',Georgia,serif;font-size:18px;color:var(--navy-ink);letter-spacing:.04em}
.get-card small{display:block;font-size:15px;color:#5a5446;line-height:1.45;margin-top:2px}
.get-card em{display:inline-block;margin-top:8px;font-style:normal;font-weight:600;font-size:14px;color:var(--barn)}
.ship-filter-note{margin:-16px 0 0;font-size:15px;color:#2f5a32}
.link-btn{background:none;border:0;padding:0;font:inherit;color:var(--barn);text-decoration:underline;cursor:pointer}
.product.ship-off,.type-group.ship-off{display:none}
.pp-get{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px 14px;border-radius:8px;background:var(--parchment);font-size:16px}
.pp-get.ships{background:#eef4ec}
.pp-get p{margin:0;color:#4a4538}
.ship-addr{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px dashed var(--line);border-radius:8px;background:#fffdf7}
.ship-addr[hidden]{display:none}
.addr-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}
@media (max-width:480px){.addr-row{grid-template-columns:1fr 1fr}.addr-row .field:first-child{grid-column:1/-1}}
.paybox{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.paybox legend{font-weight:600;margin-bottom:6px;padding:0}
.pay-intro{margin:-4px 0 2px;font-size:14px;color:#5a5446}
.radio-card.is-off{opacity:.5}
.radio-card.is-off,.radio-card.is-off *{cursor:not-allowed}
.store-home{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.store-home-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px 28px}
.store-home-text{margin:10px 0 0;max-width:560px;color:#5a5446;font-size:18px}
.home-grid{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:22px}
.home-grid .product h3{font-size:20px}

/* ---------- Classes: in person or virtual ---------- */
.fmt-badge{display:inline-flex;align-items:center;gap:5px;font-family:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.02em;padding:3px 10px 3px 8px;border-radius:99px;margin-bottom:4px}
.fmt-badge svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.fmt-badge.virtual{background:#e6e0f2;color:#4a3a78}
.fmt-badge.onsite{background:#e1ecdf;color:#2f5a32}
.cc-virt{margin:0;font-size:15px;color:#d9cfe8}
.cc-join-note{font-size:14px;color:#5a5446;align-self:center}
.class-card[hidden]{display:none}
.class-filter{justify-content:center}
button.chip{font:inherit;font-family:'Cinzel',Georgia,serif;font-size:14px;font-weight:600;letter-spacing:.1em}
.split > div:empty{display:none}
.addr-row{align-items:end}
/* Readable text on light backgrounds (hen pages and any light section) */
.hen-intro{margin:0;font-size:18px;line-height:1.6;color:#3d3a2f}
.hen-page .pcat{color:#5a4a86}
.section:not(.dark):not(.sky) > .wrap .muted{color:#5a5446}
.yt-sample-note{margin:12px 4px 0;padding:10px 14px;border:1px dashed #b9a984;border-radius:8px;background:var(--paper);font-size:15px;color:#5a5446}

/* ---------- Farmers markets on the News page ---------- */
.market-band{background:var(--parchment);border-bottom:1px solid var(--line);padding:40px var(--gutter)}
.market-band .wrap{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:24px 40px;align-items:center}
@media (max-width:860px){.market-band .wrap{grid-template-columns:1fr}}
.market-head{display:flex;gap:16px;align-items:center}
.market-ic{flex:none;width:58px;height:58px;border-radius:50%;background:#2e6b3a;color:#fff;display:grid;place-items:center}
.market-ic svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.market-head h2{margin:0;font-family:'Cinzel',Georgia,serif;font-size:24px;color:var(--navy-ink);line-height:1.2}
.market-head p{margin:4px 0 0;color:#4a4538;font-size:16px}
.market-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:12px}
.market-list a{display:flex;gap:14px;align-items:center;padding:12px 14px;background:var(--paper);border:1px solid var(--line);border-left:4px solid #2e6b3a;border-radius:10px;text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}
.market-list a:hover{border-color:#2e6b3a;transform:translateY(-1px)}
.market-list .cal-date{flex:none;width:52px;display:flex;flex-direction:column;align-items:center;background:#fff;border:1.5px solid #2e6b3a;border-radius:8px;padding:5px 0;line-height:1.1}
.market-list .cal-date b{font-family:'Cinzel',Georgia,serif;font-size:21px;color:var(--navy-ink)}
.market-list .cal-date span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#2e6b3a;font-weight:600}
.market-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.market-text strong{font-size:16px;line-height:1.35;color:var(--navy-ink)}
.market-text small{font-size:14px;color:#5a5446}

/* ---------- Farm list sign-up: bands inside pages and the footer ---------- */
.list-band{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:44px var(--gutter);position:relative}
.list-band::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,rgba(226,192,106,0),var(--gold) 25%,var(--barn) 50%,var(--gold) 75%,rgba(226,192,106,0));opacity:.7}
.list-band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px}
.list-band-text{display:flex;gap:16px;align-items:center;flex:1 1 380px}
.list-ic{flex:none;width:58px;height:58px;border-radius:50%;background:var(--barn);color:#fff;display:grid;place-items:center}
.list-ic svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.list-band h2{margin:0;font-family:'Cinzel',Georgia,serif;font-size:26px;line-height:1.2;color:var(--navy-ink)}
.list-band p{margin:4px 0 0;color:#4a4538;font-size:16px;max-width:520px}
.list-band .signup{flex:1 1 420px;max-width:520px;justify-content:flex-end}
.list-band .form-msg{flex-basis:100%;margin:0}
@media (max-width:700px){.list-band .signup{justify-content:stretch}.list-band .signup .btn{flex:1 1 auto}}
.foot-join{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 40px;padding:0 0 36px;margin:0 0 40px;border-bottom:1px solid var(--night-line)}
.foot-join-text{flex:1 1 320px}
.foot-join-text .label{color:var(--gold);font-size:14px;letter-spacing:.16em}
.foot-join-text p{margin:6px 0 0;color:#e6dfcf;font-size:16px;max-width:460px}
.foot-join .signup{flex:1 1 380px;max-width:480px;justify-content:flex-end}
.foot-join .signup input{background:#fffaf0;border-color:#3a4370}
.foot-join .signup .btn{background:var(--gold);color:var(--night)}
@media (hover:hover){.foot-join .signup .btn:hover{background:#efd28a}}
.foot-join .form-msg{flex-basis:100%;margin:0}
.form-msg.notice{color:var(--ink)}

/* ---------- Local Restaurant Partnership ---------- */
.partner-sec .partner-list ul{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.partner-sec .partner-list li{position:relative;padding-left:30px;color:#efe7d6;font-size:17px}
.partner-sec .partner-list li::before{content:"";position:absolute;left:0;top:.2em;width:20px;height:20px;background:url(floral-bloom.webp) center/contain no-repeat}
.partner-sec p{color:#e6dfcf}
.partner-band-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 56px;align-items:center}
@media (max-width:860px){.partner-band-in{grid-template-columns:1fr}}
.partner-card{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--barn);border-radius:10px;padding:20px 22px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.partner-card .label{color:var(--barn);font-family:'Cinzel',Georgia,serif;font-size:14px;letter-spacing:.12em;text-transform:uppercase}
.partner-card p{margin:0;color:#4a4538}
.list-kicker{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:18px;color:var(--lavender);margin-bottom:2px}
.list-band{border-bottom:0}
.list-band{padding-bottom:72px}

/* ---------- The Stargazer family: menu on the header logo, links in the footer ---------- */
.brand-wrap{position:relative;margin-right:auto;display:flex;align-items:center}
.brand-wrap .brand{margin-right:0}
.brand-caret{width:12px;height:8px;flex:none;color:var(--barn);margin-left:-6px;transition:transform .25s}
.brand-wrap.open .brand-caret{transform:rotate(180deg)}
.sites-menu{position:absolute;z-index:30;top:100%;left:0;min-width:290px;margin-top:6px;padding:8px;background:#fffaf0;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(18,24,51,.18);display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility 0s .2s}
.sites-menu::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.brand-wrap.open .sites-menu{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .2s}
@media (hover:hover) and (pointer:fine){.brand-wrap:hover .sites-menu{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .2s}.brand-wrap:hover .brand-caret{transform:rotate(180deg)}}
.brand-wrap:has(.sites-menu :focus) .sites-menu{opacity:1;visibility:visible;transform:none}
.site-item{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:10px;color:var(--navy-ink);text-decoration:none}
.site-item img{width:44px;height:44px;border-radius:50%;flex:none}
.site-item span{display:flex;flex-direction:column;line-height:1.25}
.site-item strong{font-family:'Cinzel',Georgia,serif;font-size:15px;letter-spacing:.04em}
.site-item small{font-size:13px;color:#5a5446}
.site-item:hover,.site-item:focus-visible{background:#f1e8d4;color:var(--barn)}
.site-item.here{border-bottom:1px solid var(--line);border-radius:10px 10px 4px 4px;margin-bottom:2px}
@media (max-width:420px){.sites-menu{min-width:0;width:calc(100vw - 2 * var(--gutter))}}
.foot-family{margin-top:36px;padding-top:28px;border-top:1px solid var(--night-line);display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.foot-family .label{color:var(--gold);font-size:14px;letter-spacing:.16em}
.foot-sites{display:flex;flex-wrap:wrap;gap:12px 28px}
.foot-sites a{display:flex;align-items:center;gap:12px;color:#f4ecdc;text-decoration:none;padding:4px 0}
.foot-sites img{width:56px;height:56px;border-radius:50%}
.foot-sites span{display:flex;flex-direction:column;line-height:1.3}
.foot-sites strong{font-family:'Cinzel',Georgia,serif;font-size:16px;letter-spacing:.04em}
.foot-sites small{color:var(--muted-light);font-size:14px}
@media (hover:hover){.foot-sites a:hover strong{color:var(--gold)}}
