/* Springfield Farm Shop design refresh */
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/inter-var-latin.woff2") format("woff2");}

:root{
  --sfs-olive:#5C6732; --sfs-olive-deep:#454E24; --sfs-olive-ink:#2F3518;
  --sfs-cream:#F6F3EA; --sfs-ivory:#FBFAF5; --sfs-white:#fff; --sfs-black:#111;
  --sfs-ink:#1E2019; --sfs-text:#45473F; --sfs-muted:#6A6C62;
  --sfs-rule:rgba(92,103,50,.28); --sfs-rule-strong:rgba(92,103,50,.55);
  --sfs-wrap:1180px; --sfs-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---- Typography: Inter everywhere ---- */
*,*:before,*:after{-webkit-box-sizing:border-box;box-sizing:border-box;}
html,body,div,span,h1,h2,h3,h4,h5,h6,p,blockquote,a,address,img,dl,dt,dd,ol,ul,li,fieldset,form,label,article,aside,figure,figcaption,footer,header,nav,section,video{margin:0;padding:0;border:0;outline:0;}
article,aside,details,figcaption,figure,footer,header,main,nav,section,summary{display:block;}
ol,ul{list-style:none;}
p{padding-bottom:1em;}
p:last-of-type{padding-bottom:0;}
img,video,iframe{max-width:100%;height:auto;}
button,input,select,textarea{font-family:inherit;}
html{-webkit-text-size-adjust:100%;}
body,body *:not(.et-pb-icon):not(.et_pb_font_icon):not([class*="fa-"]):not(.fa){font-family:"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif !important;}
.et_pb_button:after,.et_pb_button:before,.et-pb-icon,.et_pb_font_icon,#et_search_icon:before,.mobile_menu_bar:before,.et_pb_toggle_title:before{font-family:ETmodules !important;}
body{color:var(--sfs-text);font-size:17px;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:var(--sfs-ivory);}
h1,h2,h3,h4,h5,h6,.et_pb_module_header{color:var(--sfs-ink);font-weight:700;letter-spacing:-.02em;line-height:1.15;}
.et_pb_text_inner p,.et_pb_text p{color:var(--sfs-text);}
a{color:var(--sfs-olive);text-underline-offset:.18em;}
a:hover{color:var(--sfs-olive-deep);}
::selection{background:var(--sfs-olive);color:#fff;}
:focus-visible{outline:2px solid var(--sfs-olive);outline-offset:3px;}

/* ---- Header ---- */
#main-header{background:rgba(251,250,245,.96)!important;box-shadow:none!important;border-bottom:1px solid var(--sfs-rule);backdrop-filter:saturate(1.2) blur(6px);}
#top-menu li a,#top-menu li a span{font-size:13px!important;font-weight:500!important;letter-spacing:.14em!important;text-transform:uppercase;color:var(--sfs-ink)!important;opacity:1!important;}
#top-menu li.current-menu-item>a,#top-menu li a:hover{color:var(--sfs-olive)!important;}
#top-menu li.current-menu-item>a{box-shadow:inset 0 -1px 0 var(--sfs-olive);}
#top-menu li.sfs-nav-cta>a{border:1px solid var(--sfs-olive);padding:10px 16px!important;margin-top:-10px;color:var(--sfs-olive)!important;transition:all .3s var(--sfs-ease);}
#top-menu li.sfs-nav-cta>a:hover{background:var(--sfs-olive);color:#fff!important;}
.et_mobile_menu{border-top-color:var(--sfs-olive)!important;background:var(--sfs-ivory)!important;}
.et_mobile_menu li a{font-size:15px;letter-spacing:.06em;color:var(--sfs-ink)!important;}
.mobile_menu_bar:before,#et_search_icon:before{color:var(--sfs-olive)!important;}
#logo{max-height:62%!important;}

/* Remove Divi's default blue and the old teal accent everywhere */
.et_pb_bg_layout_dark h4[style*="14f1d9"],[style*="#14f1d9"],[style*="#14F1D9"]{color:#fff!important;}
#top-menu li.current-menu-ancestor>a,.et_pb_contact_submit,.et_pb_button{color:inherit;}

/* ---- Buttons (Divi + ours) ---- */
.et_pb_button,.sfs-btn{font-size:13px!important;font-weight:600!important;letter-spacing:.14em!important;text-transform:uppercase;border-radius:0!important;border-width:1px!important;padding:.95em 2em!important;line-height:1.2!important;transition:background .35s var(--sfs-ease),color .35s var(--sfs-ease),border-color .35s var(--sfs-ease)!important;}
.et_pb_button{background:var(--sfs-olive)!important;border-color:var(--sfs-olive)!important;color:#fff!important;}
.et_pb_button:hover{background:var(--sfs-olive-deep)!important;border-color:var(--sfs-olive-deep)!important;padding:.95em 2em!important;}
.et_pb_button:after{display:none!important;}
.sfs-btn{display:inline-flex;align-items:center;gap:.6em;text-decoration:none!important;border:1px solid currentColor;}
.sfs-btn--solid{background:var(--sfs-olive);border-color:var(--sfs-olive);color:#fff!important;}
.sfs-btn--solid:hover{background:var(--sfs-olive-deep);border-color:var(--sfs-olive-deep);}
.sfs-btn--ghost{color:var(--sfs-olive)!important;background:transparent;}
.sfs-btn--ghost:hover{background:var(--sfs-olive);color:#fff!important;border-color:var(--sfs-olive);}
.sfs-btn--light{color:#fff!important;border-color:rgba(255,255,255,.8);}
.sfs-btn--light:hover{background:#fff;color:var(--sfs-olive-ink)!important;}
.sfs-btn--white{background:#fff;color:var(--sfs-olive-ink)!important;border-color:#fff;}
.sfs-btn--white:hover{background:transparent;color:#fff!important;}
.sfs-link{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none!important;border-bottom:1px solid currentColor;padding-bottom:2px;}

/* ---- Layout primitives ---- */
.sfs-wrap{max-width:var(--sfs-wrap);margin:0 auto;padding:0 28px;}
.sfs-section{padding:120px 0;}
.sfs-section--tight{padding:72px 0;}
.sfs-cream{background:var(--sfs-cream);}
.sfs-ivory{background:var(--sfs-ivory);}
.sfs-olive{background:var(--sfs-olive);color:#fff;}
.sfs-olive h2,.sfs-olive h3,.sfs-olive p,.sfs-olive .sfs-label{color:#fff;}
.sfs-label{display:block;font-size:12px!important;font-weight:600!important;letter-spacing:.22em;text-transform:uppercase;color:var(--sfs-olive);margin:0 0 22px;padding:0;}
.sfs-label--rule{display:flex;align-items:center;gap:16px;}
.sfs-label--rule:before{content:"";width:36px;height:1px;background:currentColor;opacity:.7;}
.sfs-display{font-size:clamp(34px,4.6vw,58px)!important;font-weight:400!important;line-height:1.08!important;letter-spacing:-.02em!important;color:var(--sfs-ink);margin:0 0 28px;padding:0;}
.sfs-h3{font-size:22px!important;font-weight:700!important;letter-spacing:-.02em!important;margin:0 0 10px;padding:0;color:var(--sfs-ink);}
.sfs-lede{font-size:clamp(18px,1.6vw,21px);line-height:1.65;color:var(--sfs-text);max-width:40em;font-weight:400;}
.sfs-rule{border:0;height:1px;background:var(--sfs-rule);margin:0;}
.sfs-center{text-align:center;}
.sfs-center .sfs-lede{margin-left:auto;margin-right:auto;}
.sfs-center .sfs-label--rule{justify-content:center;}
.sfs-center .sfs-label--rule:after{content:"";width:36px;height:1px;background:currentColor;opacity:.7;}
.sfs-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px;}
.sfs-center .sfs-actions{justify-content:center;}
.sfs-split{display:grid;grid-template-columns:1.05fr .95fr;gap:88px;align-items:center;}
.sfs-split--rev>:first-child{order:2;}
.sfs-frame{position:relative;overflow:hidden;background:#e9e6dc;}
.sfs-frame img,.sfs-frame video{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--sfs-ease);}
.sfs-frame--portrait{aspect-ratio:4/5;}
.sfs-frame--land{aspect-ratio:3/2;}
.sfs-frame--wide{aspect-ratio:16/9;}
.sfs-frame--square{aspect-ratio:1/1;}
a:hover .sfs-frame img,.sfs-card:hover .sfs-frame img{transform:scale(1.035);}
.sfs-frame:after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.55);pointer-events:none;}
.sfs-frame--plain:after{display:none;}

/* ---- Hero ---- */
.sfs-hero{position:relative;min-height:min(92vh,900px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#2b2d22;}
.sfs-hero__media{position:absolute;inset:0;}
.sfs-hero__media video,.sfs-hero__media img{width:100%;height:100%;object-fit:cover;display:block;}
.sfs-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,16,8,.78) 0%,rgba(14,16,8,.64) 32%,rgba(14,16,8,.36) 60%,rgba(14,16,8,.08) 85%),linear-gradient(180deg,rgba(14,16,8,.42) 0%,rgba(14,16,8,.10) 35%,rgba(14,16,8,.22) 62%,rgba(14,16,8,.70) 100%);}
@media (max-width:640px){.sfs-hero__shade{background:linear-gradient(180deg,rgba(14,16,8,.45) 0%,rgba(14,16,8,.35) 40%,rgba(14,16,8,.62) 70%,rgba(14,16,8,.85) 100%);}}
.sfs-hero__content{position:relative;z-index:2;width:100%;padding:0 0 92px;}
.sfs-hero .sfs-label{color:rgba(255,255,255,.9);}
.sfs-hero h1{font-size:clamp(40px,5.2vw,74px)!important;font-weight:400!important;line-height:1.04!important;letter-spacing:-.025em!important;color:#fff!important;max-width:10.2em;margin:0 0 26px;padding:0;text-shadow:0 1px 30px rgba(0,0,0,.25);}
.sfs-hero p.sfs-hero__sub{font-size:clamp(17px,1.5vw,20px);line-height:1.6;color:rgba(255,255,255,.92)!important;max-width:34em;margin:0;}
.sfs-hero__toggle{position:absolute;right:28px;bottom:28px;z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:rgba(0,0,0,.18);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s;}
.sfs-hero__toggle:hover{background:rgba(0,0,0,.4);}
.sfs-hero__toggle svg{width:14px;height:14px;fill:#fff;}
.sfs-hero__scroll{position:absolute;left:50%;bottom:26px;z-index:3;width:1px;height:46px;background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.85));}

/* ---- Visit strip ---- */
.sfs-strip{background:var(--sfs-ivory);border-bottom:1px solid var(--sfs-rule);}
.sfs-strip__grid{display:grid;grid-template-columns:repeat(4,1fr);}
.sfs-strip__item{padding:30px 28px;border-left:1px solid var(--sfs-rule);}
.sfs-strip__item:first-child{border-left:0;padding-left:0;}
.sfs-strip__item .sfs-label{margin-bottom:8px;font-size:11px!important;}
.sfs-strip__item p{margin:0;padding:0;color:var(--sfs-ink);font-size:16px;line-height:1.5;}
.sfs-strip__item a{color:var(--sfs-ink);text-decoration:none;border-bottom:1px solid var(--sfs-rule-strong);}
.sfs-strip__item a:hover{color:var(--sfs-olive);border-color:var(--sfs-olive);}
.sfs-open{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sfs-olive);margin-left:8px;}

/* ---- Pillars ---- */
.sfs-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:84px;border-top:1px solid var(--sfs-rule);}
.sfs-pillar{padding:40px 40px 0 0;}
.sfs-pillar+.sfs-pillar{padding-left:40px;border-left:1px solid var(--sfs-rule);}
.sfs-pillar .sfs-num{display:block;font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--sfs-olive);margin-bottom:18px;}
.sfs-pillar p{margin:0;font-size:16px;}

/* ---- Produce cards ---- */
.sfs-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:64px;}
.sfs-card{display:block;text-decoration:none!important;color:inherit;}
.sfs-card .sfs-frame{margin-bottom:26px;}
.sfs-card p{font-size:16px;margin:0 0 16px;color:var(--sfs-text);}
.sfs-card .sfs-link{color:var(--sfs-olive);}

/* ---- Film ---- */
.sfs-film{background:var(--sfs-olive-ink);color:#fff;}
.sfs-film .sfs-display,.sfs-film p{color:#fff!important;}
.sfs-film .sfs-label{color:rgba(255,255,255,.75);}
.sfs-film__player{position:relative;margin-top:56px;aspect-ratio:16/9;background:#000;}
.sfs-film__player video{width:100%;height:100%;display:block;object-fit:cover;}
.sfs-film__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:16px;background:rgba(17,19,10,.28);border:0;color:#fff;cursor:pointer;font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;transition:background .4s;}
.sfs-film__play:hover{background:rgba(17,19,10,.12);}
.sfs-film__play span.sfs-ring{width:74px;height:74px;border-radius:50%;border:1px solid rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center;}
.sfs-film__play svg{width:18px;height:18px;fill:#fff;margin-left:4px;}
.sfs-film__player.is-playing .sfs-film__play{display:none;}

/* ---- Place (video background) ---- */
.sfs-place{position:relative;color:#fff;overflow:hidden;}
.sfs-place__media{position:absolute;inset:0;}
.sfs-place__media video{width:100%;height:100%;object-fit:cover;}
.sfs-place__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,19,10,.78) 0%,rgba(17,19,10,.45) 55%,rgba(17,19,10,.15) 100%);}
.sfs-place .sfs-wrap{position:relative;z-index:2;}
.sfs-place .sfs-display,.sfs-place p,.sfs-place li{color:#fff!important;}
.sfs-place .sfs-label{color:rgba(255,255,255,.85);}
.sfs-place__inner{max-width:560px;padding:140px 0;}
.sfs-place ul{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid rgba(255,255,255,.3);}
.sfs-place li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.3);display:flex;justify-content:space-between;font-size:15px;}
.sfs-place li span{opacity:.8;}

/* ---- Recipes ---- */
.sfs-recipes{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:64px;}
.sfs-recipe .sfs-meta{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--sfs-muted);margin:0 0 8px;}
.sfs-recipe-full{padding:72px 0;border-top:1px solid var(--sfs-rule);}
.sfs-recipe-full:first-of-type{border-top:0;}
.sfs-recipe-full .sfs-split{align-items:start;}
.sfs-recipe-full h2{font-size:clamp(28px,3vw,40px)!important;font-weight:400!important;letter-spacing:-.02em!important;margin:0 0 14px;padding:0;}
.sfs-recipe-full h3{font-size:13px!important;font-weight:600!important;letter-spacing:.18em!important;text-transform:uppercase;color:var(--sfs-olive)!important;margin:30px 0 12px;padding:0;}
.sfs-recipe-full ul,.sfs-recipe-full ol{margin:0 0 0 1.1em;padding:0;}
.sfs-recipe-full li{margin:0 0 8px;color:var(--sfs-text);}
.sfs-recipe-full .sfs-shopnote{margin-top:26px;padding:18px 22px;background:var(--sfs-cream);border-left:2px solid var(--sfs-olive);font-size:15px;}

/* ---- Food ---- */
.sfs-food .sfs-frame--portrait{max-width:520px;}

/* ---- Visit ---- */
.sfs-visit__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:stretch;}
.sfs-hours{display:grid;grid-template-columns:auto 1fr;gap:10px 28px;margin:0 0 30px;}
.sfs-hours dt{font-weight:500;color:var(--sfs-ink);}
.sfs-hours dd{margin:0;color:var(--sfs-text);}
.sfs-visit address{font-style:normal;font-size:17px;line-height:1.7;color:var(--sfs-ink);margin:0 0 26px;}
.sfs-visit__contact{margin:0 0 6px;}
.sfs-visit__contact a{color:var(--sfs-ink);text-decoration:none;border-bottom:1px solid var(--sfs-rule-strong);}
.sfs-map{position:relative;min-height:440px;background:#e9e6dc;border:1px solid var(--sfs-rule);}
.sfs-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.35) contrast(.95);}

/* ---- Shop band ---- */
.sfs-band{padding:96px 0;}
.sfs-band .sfs-display{color:#fff!important;max-width:16em;}

/* ---- Footer ---- */
#main-footer{display:none!important;}
.sfs-footer{background:var(--sfs-olive-ink);color:rgba(255,255,255,.82);padding:96px 0 0;font-size:15px;line-height:1.75;}
.sfs-footer a{color:#fff;text-decoration:none;}
.sfs-footer a:hover{color:#e7e3cf;}
.sfs-footer .sfs-label{color:rgba(255,255,255,.62);margin-bottom:16px;}
.sfs-footer address{font-style:normal;}
.sfs-footer p{color:rgba(255,255,255,.82);}
.sfs-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:48px;padding-bottom:72px;}
.sfs-footer__brand img{width:132px;height:auto;background:#fff;padding:10px;margin-bottom:22px;}
.sfs-footer__brand p{max-width:26em;}
.sfs-hours--footer{gap:4px 20px;margin:0;}
.sfs-hours--footer dt,.sfs-hours--footer dd{color:rgba(255,255,255,.86);font-weight:400;}
.sfs-footer__base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:26px;padding-bottom:26px;border-top:1px solid rgba(255,255,255,.18);font-size:13px;letter-spacing:.04em;}
.sfs-footer__base p{margin:0;color:rgba(255,255,255,.66);}
.sfs-footer__base a{border-bottom:1px solid rgba(255,255,255,.4);}
.sfs-mobilebar{display:none;}

/* ---- Inner pages: polish existing Divi layouts ---- */
.et_pb_section{background-color:inherit;}
#main-content,.et_pb_section{background-color:var(--sfs-ivory);}
.et_pb_section[style*="5c6732"],.et_pb_section.et_pb_with_background[class*="olive"]{}
.et_pb_image .et_pb_image_wrap{overflow:hidden;}
.et_pb_image img{transition:transform 1.2s var(--sfs-ease);}
.et_pb_image:hover img{transform:scale(1.03);}
.et_pb_text h1{font-size:clamp(34px,4.4vw,56px);font-weight:400;letter-spacing:-.02em;}
.et_pb_text h2{font-size:clamp(28px,3.2vw,42px);font-weight:400;letter-spacing:-.02em;}
.et_pb_text h3,.et_pb_text h4,.et_pb_text h5{font-weight:700;letter-spacing:-.02em;}
.et_pb_text_inner p{font-size:17px;line-height:1.75;}
.et_pb_gallery_item img{transition:transform 1.2s var(--sfs-ease);}
.et_pb_gallery_image{overflow:hidden;}
.et_pb_gallery_item:hover img{transform:scale(1.04);}
.et_pb_row[style*="box-shadow"],.et_pb_row{box-shadow:none;}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 textarea{width:100%;border:1px solid var(--sfs-rule-strong);background:#fff;padding:14px 16px;font-size:16px;color:var(--sfs-ink);border-radius:0;}
.wpcf7 input:focus,.wpcf7 textarea:focus{outline:2px solid var(--sfs-olive);outline-offset:0;border-color:var(--sfs-olive);}
.wpcf7 input[type=submit]{background:var(--sfs-olive);color:#fff;border:1px solid var(--sfs-olive);padding:16px 34px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border-radius:0;}
.wpcf7 input[type=submit]:hover{background:var(--sfs-olive-deep);}
.wpcf7 label{font-size:14px;font-weight:500;color:var(--sfs-ink);}

/* Page intro used on inner pages */
.sfs-pagehead{padding:150px 0 70px;background:var(--sfs-cream);border-bottom:1px solid var(--sfs-rule);}
.sfs-pagehead h1{font-size:clamp(40px,5.4vw,72px)!important;font-weight:400!important;letter-spacing:-.025em!important;line-height:1.04!important;margin:0 0 22px;padding:0;color:var(--sfs-ink);}

/* ---- Motion ---- */
.sfs-reveal{opacity:0;transform:translateY(18px);transition:opacity 1s var(--sfs-ease),transform 1s var(--sfs-ease);}
.sfs-reveal.is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.sfs-reveal{opacity:1;transform:none;transition:none;}.sfs-frame img,.et_pb_image img{transition:none;}}

/* ---- Responsive ---- */
@media (max-width:980px){
  .sfs-section{padding:84px 0;}
  .sfs-split,.sfs-visit__grid{grid-template-columns:1fr;gap:48px;}
  .sfs-split--rev>:first-child{order:0;}
  .sfs-strip__grid{grid-template-columns:1fr 1fr;}
  .sfs-strip__item{padding:22px 20px;border-left:0;border-top:1px solid var(--sfs-rule);}
  .sfs-strip__item:nth-child(-n+2){border-top:0;}
  .sfs-strip__item:nth-child(even){border-left:1px solid var(--sfs-rule);}
  .sfs-strip__item:first-child{padding-left:20px;}
  .sfs-pillars,.sfs-cards,.sfs-recipes{grid-template-columns:1fr;gap:0;}
  .sfs-cards,.sfs-recipes{gap:56px;}
  .sfs-pillar,.sfs-pillar+.sfs-pillar{padding:32px 0;border-left:0;border-bottom:1px solid var(--sfs-rule);}
  .sfs-footer__grid{grid-template-columns:1fr 1fr;}
  .sfs-place__inner{padding:100px 0;}
  .sfs-split--head{gap:12px;}
}
@media (max-width:640px){
  body{font-size:16px;}
  .sfs-wrap{padding-left:22px;padding-right:22px;}
  .sfs-section{padding:68px 0;}
  .sfs-hero{min-height:88svh;}
  .sfs-hero__content{padding-bottom:84px;}
  .sfs-hero__scroll{display:none;}
  .sfs-actions .sfs-btn{width:100%;justify-content:center;}
  .sfs-strip__item{padding:18px 16px;}
  .sfs-strip__item:first-child{padding-left:16px;}
  .sfs-strip__item p{font-size:15px;}
  .sfs-footer__grid{grid-template-columns:1fr;gap:36px;}
  .sfs-map{min-height:320px;}
  .sfs-place li{display:block;}
  .sfs-place li span{display:block;font-size:14px;}
  .sfs-split--head{gap:8px;}
  .sfs-mobilebar{display:grid;grid-template-columns:repeat(2,1fr);position:fixed;left:0;right:0;bottom:0;z-index:9999;background:var(--sfs-olive-ink);border-top:1px solid rgba(255,255,255,.15);padding-bottom:env(safe-area-inset-bottom);}
  .sfs-mobilebar a{color:#fff;text-align:center;padding:15px 6px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;}
  .sfs-mobilebar a+a{border-left:1px solid rgba(255,255,255,.15);}
  body{padding-bottom:52px;}
  .sfs-pagehead{padding:110px 0 50px;}
}

/* ---- Inner pages ---- */
.sfs-pagehead--split{padding:120px 0 96px;}
.sfs-pagehead--split .sfs-split{align-items:center;}
.sfs-pagehead .sfs-lede{max-width:34em;}
.sfs-videohead .sfs-place__inner{padding:170px 0 130px;}
.sfs-videohead h1.sfs-display{font-size:clamp(40px,5.4vw,72px)!important;color:#fff!important;margin-bottom:24px;}
.sfs-cards--4{grid-template-columns:repeat(4,1fr);gap:32px;}
.sfs-cards--4 .sfs-h3{font-size:19px!important;}
.sfs-strip-images{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.sfs-strip-images .sfs-frame{aspect-ratio:1/1;}
.sfs-split--top{align-items:start;}
.sfs-film .sfs-split--head{align-items:end;}
.sfs-film .sfs-split--head .sfs-display{margin-bottom:0;}
.sfs-album{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:56px;}
.sfs-album--2{grid-template-columns:repeat(2,1fr);margin-top:0;}
.sfs-album--4{grid-template-columns:repeat(4,1fr);}
.sfs-gallery .sfs-album{margin-top:0;}
.sfs-album__item{margin:0;}
.sfs-album__item a{display:block;position:relative;overflow:hidden;aspect-ratio:4/3;background:#e9e6dc;}
.sfs-album__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--sfs-ease),filter .6s;}
.sfs-album__item a:hover img{transform:scale(1.04);}
.sfs-album__item a:after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.5);pointer-events:none;}
.sfs-album__item figcaption{font-size:13px;letter-spacing:.04em;color:var(--sfs-muted);padding-top:12px;}
.sfs-recipes-list{padding:40px 0 60px;}
.sfs-recipe-full .sfs-label{margin-bottom:10px;}
.sfs-form{background:#fff;padding:40px;border:1px solid var(--sfs-rule);}
.sfs-form p{margin:0 0 18px;}
.sfs-form label{display:block;}
.sfs-form .wpcf7-form-control-wrap{display:block;margin-top:6px;}
.sfs-form textarea{min-height:160px;}
.sfs-lightbox-overlay{position:fixed;inset:0;z-index:100000;background:rgba(17,19,10,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 20px 30px;opacity:0;transition:opacity .35s var(--sfs-ease);}
.sfs-lightbox-overlay.is-open{opacity:1;}
.sfs-lightbox-overlay img{max-width:min(1400px,100%);max-height:80vh;object-fit:contain;box-shadow:0 10px 60px rgba(0,0,0,.5);}
.sfs-lightbox-overlay p{color:rgba(255,255,255,.85);font-size:14px;letter-spacing:.04em;margin:18px 0 0;text-align:center;}
.sfs-lightbox-overlay button{position:absolute;top:16px;background:none;border:1px solid rgba(255,255,255,.5);color:#fff;width:44px;height:44px;border-radius:50%;cursor:pointer;font-size:20px;line-height:1;}
.sfs-lb-close{right:18px;}
.sfs-lb-prev{left:18px;top:50%!important;}
.sfs-lb-next{right:18px;top:50%!important;}
#top-menu li.sfs-nav-cta>a{padding:10px 16px!important;}
@media (max-width:980px){
  .sfs-cards--4{grid-template-columns:1fr 1fr;gap:40px 24px;}
  .sfs-album,.sfs-album--4{grid-template-columns:1fr 1fr;gap:16px;}
  .sfs-strip-images{grid-template-columns:1fr 1fr;}
  .sfs-videohead .sfs-place__inner{padding:120px 0 90px;}
  .sfs-pagehead--split{padding:90px 0 70px;}
}
@media (max-width:640px){
  .sfs-cards--4{grid-template-columns:1fr;}
  .sfs-album--2{grid-template-columns:1fr;}
  .sfs-form{padding:24px 20px;}
  .sfs-lb-prev,.sfs-lb-next{top:auto!important;bottom:20px;}
}

/* ---- Blog posts ---- */
.single-post .entry-content .wp-block-image{margin:36px 0;}
.single-post .entry-content .wp-block-image img{display:block;width:auto;max-width:100%;height:auto;max-height:640px;margin:0 auto;}
.single-post .entry-content h2{font-size:clamp(26px,2.6vw,34px);font-weight:400;margin-top:48px;}
.single-post .entry-content h3{font-size:20px;margin-top:32px;}
.single-post .entry-content p,.single-post .entry-content li{font-size:17px;line-height:1.75;}
.single-post #left-area{max-width:760px;margin:0 auto;float:none;padding-right:0;}
.single-post .et_post_meta_wrapper h1{font-size:clamp(32px,4vw,48px);font-weight:400;letter-spacing:-.02em;}

/* Divi core defaults that still use the old blue */
.nav li ul,.et_mobile_menu,#top-menu li ul{border-top-color:var(--sfs-olive)!important;}
.nav-single a,.posted_in a,.et_pb_more_button,.et_pb_bg_layout_light .et_pb_more_button,.post-meta a,.comment-reply-link,.form-submit .et_pb_button{color:var(--sfs-olive)!important;}
#top-menu li.current-menu-ancestor>a{color:var(--sfs-olive)!important;}
.footer-widget h4,.footer-widget li:before{color:var(--sfs-olive);border-color:var(--sfs-olive);}

/* ---- Gallery slideshow ---- */
.sfs-ss{background:var(--sfs-cream);border-bottom:1px solid var(--sfs-rule);}
.sfs-ss__viewport{position:relative;width:100%;aspect-ratio:16/8;max-height:82vh;overflow:hidden;background:#1d1f15;outline:none;touch-action:pan-y;}
.sfs-ss__viewport:focus-visible{outline:2px solid var(--sfs-olive);outline-offset:-2px;}
.sfs-ss__slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.1s var(--sfs-ease);}
.sfs-ss__slide.is-active{opacity:1;z-index:1;}
.sfs-ss__slide img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transform:scale(1.015);transition:transform 4.6s linear;}
.sfs-ss__slide.is-active img{transform:scale(1.06);}
.sfs-ss__viewport:after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.45);pointer-events:none;z-index:3;}
.sfs-ss__viewport:before{content:"";position:absolute;inset:auto 0 0 0;height:30%;background:linear-gradient(180deg,rgba(14,16,8,0),rgba(14,16,8,.35));z-index:2;pointer-events:none;}
.sfs-ss__arrow{position:absolute;top:50%;z-index:4;width:52px;height:52px;margin-top:-26px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:rgba(14,16,8,.22);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.85;transition:background .3s,opacity .3s;}
.sfs-ss__arrow:hover,.sfs-ss__arrow:focus-visible{background:rgba(14,16,8,.5);opacity:1;}
.sfs-ss__arrow svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.5;}
.sfs-ss__arrow--prev{left:36px;}
.sfs-ss__arrow--next{right:36px;}
.sfs-ss__progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.25);z-index:4;}
.sfs-ss__progress span{display:block;height:100%;width:0;background:var(--sfs-olive);}
.sfs-ss.is-running .sfs-ss__progress span{animation:sfs-ss-progress var(--sfs-ss-dur,3600ms) linear forwards;}
.sfs-ss.is-paused .sfs-ss__progress span{animation-play-state:paused;}
@keyframes sfs-ss-progress{from{width:0}to{width:100%}}
.sfs-ss__bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:20px;padding-bottom:20px;}
.sfs-ss__caption{margin:0;padding:0;font-size:14px;letter-spacing:.02em;color:var(--sfs-text);min-height:1.5em;transition:opacity .4s;}
.sfs-ss__controls{display:flex;align-items:center;gap:18px;flex-shrink:0;}
.sfs-ss__count{font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--sfs-olive);font-variant-numeric:tabular-nums;}
.sfs-ss__pause{width:38px;height:38px;border-radius:50%;border:1px solid var(--sfs-rule-strong);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--sfs-olive);transition:background .3s,border-color .3s;}
.sfs-ss__pause:hover{background:var(--sfs-olive);border-color:var(--sfs-olive);}
.sfs-ss__pause svg{width:13px;height:13px;fill:var(--sfs-olive);}
.sfs-ss__pause:hover svg{fill:#fff;}
.sfs-ss__pause .i-play{display:none;}
.sfs-ss.is-paused .sfs-ss__pause .i-play,.sfs-ss.is-static .sfs-ss__pause .i-play{display:block;}
.sfs-ss.is-paused .sfs-ss__pause .i-pause,.sfs-ss.is-static .sfs-ss__pause .i-pause{display:none;}
.sfs-gallery__head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:36px;}
.sfs-gallery__head .sfs-lede{margin:0;font-size:16px;}
.sfs-gallery .sfs-album{margin-top:0;}
@media (max-width:980px){.sfs-ss__viewport{aspect-ratio:3/2;}.sfs-ss__arrow--prev{left:20px;}.sfs-ss__arrow--next{right:20px;}}
@media (max-width:640px){
  .sfs-ss__viewport{aspect-ratio:4/5;max-height:72vh;}
  .sfs-ss__viewport:after{inset:10px;}
  .sfs-ss__arrow{width:42px;height:42px;margin-top:-21px;}
  .sfs-ss__arrow--prev{left:14px;}.sfs-ss__arrow--next{right:14px;}
  .sfs-ss__bar{align-items:flex-start;}
  .sfs-ss__caption{font-size:13px;}
  .sfs-gallery__head{display:block;}
}
@media (prefers-reduced-motion:reduce){.sfs-ss__slide{transition:opacity .2s linear;}.sfs-ss__slide img,.sfs-ss__slide.is-active img{transform:none;transition:none;}.sfs-ss__progress{display:none;}}

.page-id-6332 .sfs-pagehead{padding:56px 0 36px!important;border-bottom:0;}
.page-id-6332 .sfs-pagehead h1{font-size:clamp(34px,3.6vw,52px)!important;margin-bottom:12px!important;}
.page-id-6332 .sfs-pagehead p{font-size:16px;margin-bottom:0;}
@media (max-width:640px){.page-id-6332 .sfs-pagehead{padding:36px 0 26px!important;}.page-id-6332 .sfs-pagehead p{display:none;}}

/* Hero headline: two balanced lines */
.sfs-hero h1{font-size:clamp(44px,6.4vw,96px)!important;font-weight:300!important;line-height:1.02!important;letter-spacing:-.03em!important;max-width:none;margin-bottom:30px;}
.sfs-hero h1 .sfs-hero__l2{display:block;}
@media (max-width:640px){.sfs-hero h1{font-size:clamp(40px,11.5vw,52px)!important;line-height:1.05!important;margin-bottom:22px;}}

.sfs-tagline{font-size:clamp(18px,1.7vw,23px);font-weight:400;line-height:1.4;letter-spacing:-.005em;color:#fff;margin:-6px 0 18px;padding:0;max-width:30em;}
.sfs-food .sfs-display{font-size:clamp(30px,3.4vw,46px);}
.sfs-band .sfs-actions{gap:14px;flex-wrap:wrap;}
.sfs-frame img[src*="roast-beef-joint"]{object-position:38% 55%;}

/* ---- Privacy small print ---- */
.sfs-smallprint{padding-top:0;padding-bottom:26px;}
.sfs-smallprint details{font-family:"Inter",system-ui,sans-serif;font-size:12px;line-height:1.6;color:rgba(255,255,255,.62);}
.sfs-smallprint summary{cursor:pointer;display:inline-block;font-size:12px;letter-spacing:.04em;color:rgba(255,255,255,.72);list-style:none;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:1px;}
.sfs-smallprint summary::-webkit-details-marker{display:none;}
.sfs-smallprint summary:focus-visible{outline:1px solid rgba(255,255,255,.7);outline-offset:3px;}
.sfs-smallprint details[open] summary{margin-bottom:10px;}
.sfs-smallprint p{margin:0;padding:0;max-width:880px;font-size:12px;color:rgba(255,255,255,.62);}
.sfs-smallprint strong{font-weight:600;color:rgba(255,255,255,.75);}
@media (max-width:980px){.sfs-smallprint{padding-bottom:calc(26px + 64px);}}
/* ---- Click-to-load map ---- */
.sfs-map--placeholder{display:flex;align-items:center;justify-content:center;overflow:hidden;background:#ece9df;}
.sfs-map__art{position:absolute;inset:0;background:
 linear-gradient(115deg,transparent 47%,rgba(255,255,255,.9) 47.5%,rgba(255,255,255,.9) 49%,transparent 49.5%),
 linear-gradient(28deg,transparent 60%,rgba(255,255,255,.75) 60.4%,rgba(255,255,255,.75) 61.4%,transparent 61.8%),
 linear-gradient(160deg,transparent 30%,rgba(214,222,196,.9) 30%,rgba(214,222,196,.9) 44%,transparent 44%),
 repeating-linear-gradient(0deg,rgba(94,107,48,.07) 0 1px,transparent 1px 44px),
 repeating-linear-gradient(90deg,rgba(94,107,48,.07) 0 1px,transparent 1px 44px),#ece9df;}
.sfs-map__pin{position:absolute;left:50%;top:30%;width:18px;height:18px;margin-left:-9px;border-radius:50% 50% 50% 0;background:var(--sfs-olive);transform:rotate(-45deg);box-shadow:0 0 0 6px rgba(94,107,48,.18);}
.sfs-map__card{position:relative;z-index:1;background:rgba(251,250,245,.96);border:1px solid var(--sfs-rule);padding:28px 30px;max-width:340px;margin:60px 20px 20px;text-align:center;}
.sfs-map__card .sfs-label{margin:0 0 8px;padding:0;}
.sfs-map__addr{margin:0 0 18px;padding:0;font-size:15px;line-height:1.55;color:var(--sfs-ink);}
.sfs-map__note{margin:14px 0 0;padding:0;font-size:12px;line-height:1.5;color:var(--sfs-text);}
.sfs-map__load{cursor:pointer;}
.sfs-map.is-loaded{background:#e9e6dc;}
/* ---- Form note ---- */
.sfs-form-note{margin:14px 0 0;padding:0;font-size:13px;color:var(--sfs-text);}
.sfs-form-note a{color:var(--sfs-olive);border-bottom:1px solid currentColor;text-decoration:none;}

/* ---- Springfield header (replaces Divi #main-header in the DOM) ---- */
.et_fixed_nav #page-container,.et_fixed_nav.et_secondary_nav_enabled #page-container,.et_fixed_nav #et-main-area{padding-top:0!important;}
.sfs-header{position:sticky;top:0;z-index:10000;background:rgba(251,250,245,.96);border-bottom:1px solid var(--sfs-rule);backdrop-filter:saturate(1.2) blur(6px);}
.sfs-header__bar{max-width:1280px;margin:0 auto;padding:12px 28px;display:flex;align-items:center;gap:28px;}
.sfs-header__logo{display:flex;align-items:center;flex:0 0 auto;}
.sfs-header__logo img{height:54px;width:auto;display:block;}
.sfs-header__toggle{display:none;margin-left:auto;background:transparent;border:1px solid var(--sfs-olive);color:var(--sfs-olive);font:600 12px/1 "Inter",system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:10px 14px;cursor:pointer;}
.sfs-header__nav{margin-left:auto;}
.sfs-header__nav ul{display:flex;align-items:center;gap:6px 22px;list-style:none;margin:0;padding:0;}
.sfs-header__nav a{font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--sfs-ink);}
.sfs-header__nav a:hover,.sfs-header__nav a[aria-current="page"]{color:var(--sfs-olive);}
.sfs-header__nav a[aria-current="page"]{box-shadow:inset 0 -1px 0 var(--sfs-olive);}
.sfs-header__nav a.sfs-nav-cta{border:1px solid var(--sfs-olive);padding:10px 16px;color:var(--sfs-olive);}
.sfs-header__nav a.sfs-nav-cta:hover,.sfs-header__nav a.sfs-nav-cta[aria-current="page"]{background:var(--sfs-olive);color:#fff;box-shadow:none;}
@media (max-width:980px){
  .sfs-header__bar{padding:10px 18px;}
  .sfs-header__toggle{display:inline-flex;}
  .sfs-header__nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--sfs-ivory);border-bottom:1px solid var(--sfs-rule);padding:8px 18px 18px;}
  .sfs-header.is-open .sfs-header__nav{display:block;}
  .sfs-header__nav ul{flex-direction:column;align-items:flex-start;gap:4px;}
  .sfs-header__nav a{display:inline-block;padding:10px 0;}
}
.sfs-miss{background:var(--sfs-cream);min-height:70vh;padding:88px 0 100px;}
.sfs-miss h1{font-weight:400;font-size:clamp(36px,5vw,64px);margin:0 0 16px;}
.sfs-miss__links{display:flex;flex-wrap:wrap;gap:12px 18px;list-style:none;margin:32px 0 0;padding:0;}
.sfs-miss__links a{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;color:var(--sfs-olive);}
