/* ==========================================================================
   Feta & Olive — base
   Tokens, reset, typography, buttons, chips, motion primitives, animation
   engine, prose and globally reachable UI. Loaded on every view.
   Real token values are printed by inc/dynamic-css.php; the values below are
   fallbacks so the page never renders unstyled.
   ========================================================================== */

:root{
  --fno-primary:#003E3B;--fno-primary-rgb:0,62,59;
  --fno-primary-dark:#002624;--fno-primary-dark-rgb:0,38,36;
  --fno-bg:#F7F1E1;--fno-bg-rgb:247,241,225;
  --fno-bg-soft:#EFE6D1;
  --fno-card:#FFFFFF;
  --fno-gold:#C9A45C;--fno-gold-rgb:201,164,92;
  --fno-gold-light:#E9CF94;
  --fno-brass:#8A6A2C;
  --fno-ink:#1B2624;--fno-ink-rgb:27,38,36;
  --fno-body:#45524F;
  --fno-mute:#6B7673;
  --fno-sage:#9CC3AE;

  --fno-container:1240px;
  --fno-radius:28px;
  --fno-fs-base:17px;
  --fno-h1:clamp(2.6rem,1.7rem + 2.9vw,3.9rem);
  --fno-h2:clamp(2.05rem,1.45rem + 1.8vw,2.95rem);
  --fno-h3:clamp(1.55rem,1.25rem + .9vw,2rem);
  --fno-h4:clamp(1.25rem,1.12rem + .45vw,1.5rem);
  --fno-h5:1.15rem;--fno-h6:1rem;
  --fno-logo-h:74px;--fno-logo-h-m:56px;
  --fno-anim-dur:1100ms;--fno-anim-dist:34px;--fno-anim-stagger:90ms;
  --fno-ease:cubic-bezier(.2,.8,.2,1);

  /* Type */
  --fno-font-display:'Marcellus',Georgia,'Times New Roman',serif;
  --fno-font-accent:'Cormorant Garamond',Georgia,serif;
  --fno-font-body:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;

  /* Derived */
  --fno-gutter:clamp(20px,4.6vw,56px);
  --fno-space-section:clamp(56px,6.2vw,92px);
  --fno-topbar-h:0px;
  --fno-main-h:110px;
  --fno-sticky-h:88px;
  --fno-header-h:calc(var(--fno-topbar-h) + var(--fno-main-h));
  --fno-line:rgba(var(--fno-primary-rgb),.14);
  --fno-line-light:rgba(var(--fno-bg-rgb),.14);
  --fno-shadow-s:0 20px 40px -30px rgba(var(--fno-primary-dark-rgb),.5);
  --fno-shadow-m:0 30px 60px -38px rgba(var(--fno-primary-dark-rgb),.55);
  --fno-shadow-l:0 50px 90px -60px rgba(var(--fno-primary-dark-rgb),.7);
  --fno-curtain:cubic-bezier(.65,0,.2,1);

  /* Aliases kept for the ported blog / generic widget styles */
  --fno-font-h:var(--fno-font-display);
  --fno-font-b:var(--fno-font-body);
  --fno-primary-soft:var(--fno-bg-soft);
  --fno-dark:var(--fno-primary-dark);
  --fno-dark-rgb:var(--fno-primary-dark-rgb);
  --fno-h-weight:400;
  --fno-h-track:0;
}

/* ------------------------------------------------------------------- Reset */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--fno-sticky-h) + 16px)}
body.fno-has-topbar{--fno-topbar-h:44px}
body{--fno-header-h:calc(var(--fno-topbar-h) + var(--fno-main-h))}
@media (max-width:1180px){body.fno-has-topbar{--fno-topbar-h:0px}body{--fno-main-h:88px}}
body{
  margin:0;
  font-family:var(--fno-font-body);
  font-size:var(--fno-fs-base);
  line-height:1.7;
  color:var(--fno-body);
  background:var(--fno-bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:clip;
  text-rendering:optimizeLegibility;
}
img,svg,video{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
a{color:inherit;text-decoration:none;transition:color .35s var(--fno-ease)}
a:hover{color:var(--fno-brass)}
:focus-visible{outline:2px solid var(--fno-gold);outline-offset:3px;border-radius:4px}
::selection{background:var(--fno-gold-light);color:var(--fno-primary-dark)}
[hidden]{display:none!important}
hr{border:0;border-block-start:1px solid var(--fno-line);margin:2.4em 0}

/* --------------------------------------------------------------- Typography */
h1,h2,h3,h4,h5,h6{
  margin:0 0 .55em;
  font-family:var(--fno-font-display);
  font-weight:400;
  line-height:1.06;
  letter-spacing:0;
  color:var(--fno-primary);
}
h1{font-size:var(--fno-h1)}h2{font-size:var(--fno-h2)}h3{font-size:var(--fno-h3)}
h4{font-size:var(--fno-h4);line-height:1.2}h5{font-size:var(--fno-h5);line-height:1.3}h6{font-size:var(--fno-h6);line-height:1.3}
p{margin:0 0 1.2em}
strong,b{font-weight:600;color:var(--fno-ink)}
small{font-size:.85em}
blockquote{margin:2em 0;padding:0;font-family:var(--fno-font-accent);font-style:italic;font-size:1.6em;line-height:1.35;color:var(--fno-primary)}

/* The gold italic accent word — the signature of every heading */
.fno-accent{
  font-family:var(--fno-font-accent);
  font-style:italic;font-weight:500;
  font-size:1.16em;line-height:.9;
  color:var(--fno-brass);
  letter-spacing:0;
}
.fno-on-green .fno-accent,.fno-dark .fno-accent{color:var(--fno-gold-light)}

.fno-eyebrow{
  display:inline-flex;align-items:center;gap:14px;
  margin:0 0 18px;
  font-family:var(--fno-font-body);
  font-size:12.5px;font-weight:600;
  letter-spacing:.26em;text-transform:uppercase;
  color:var(--fno-brass);
}
.fno-on-green .fno-eyebrow,.fno-dark .fno-eyebrow{color:var(--fno-gold-light)}
.fno-lead{font-size:1.06em;line-height:1.8}
.fno-tab{font-variant-numeric:lining-nums tabular-nums}
.fno-cg{font-family:var(--fno-font-accent);font-style:italic;font-weight:500}
.fno-mc{font-family:var(--fno-font-display);font-weight:400}

/* Olive-branch ornament */
.fno-branch{inline-size:60px;block-size:16px;color:var(--fno-gold-light);flex:0 0 auto}
.fno-branch--flip{transform:scaleX(-1)}
.fno-branch path,.fno-branch ellipse{stroke-dasharray:400;stroke-dashoffset:400;animation:fnoDraw 6s var(--fno-ease) infinite alternate}
@keyframes fnoDraw{to{stroke-dashoffset:0}}

/* ---------------------------------------------------------------- Layout */
.fno-container{inline-size:100%;max-inline-size:calc(var(--fno-container) + var(--fno-gutter) * 2);margin-inline:auto;padding-inline:var(--fno-gutter)}
.fno-section{padding-block:var(--fno-space-section);position:relative}
.fno-on-green,.fno-dark{background:var(--fno-primary);color:rgba(var(--fno-bg-rgb),.78)}
.fno-on-green h1,.fno-on-green h2,.fno-on-green h3,.fno-on-green h4,
.fno-dark h1,.fno-dark h2,.fno-dark h3,.fno-dark h4{color:var(--fno-bg)}
.fno-night{background:var(--fno-primary-dark)}
.fno-cream{background:var(--fno-bg)}
.fno-cream-2{background:var(--fno-bg-soft)}

/* Section heading block used by every widget */
.fno-head{margin-block-end:clamp(32px,4vw,52px)}
.fno-head--center{text-align:center;margin-inline:auto;max-inline-size:760px}
.fno-head__title{margin:0}
.fno-head__text{margin:18px 0 0;font-size:1.02em;line-height:1.75;max-inline-size:640px}
.fno-head--center .fno-head__text{margin-inline:auto}
.fno-head--split{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;flex-wrap:wrap}
.fno-head--split .fno-head__text{margin:0;max-inline-size:420px}

/* Star pattern (layered under green sections) */
.fno-stars{
  position:absolute;inset:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72'%3E%3Cg fill='none' stroke='%23F7F1E1' stroke-opacity='.055'%3E%3Crect x='22' y='22' width='28' height='28'/%3E%3Crect x='22' y='22' width='28' height='28' transform='rotate(45 36 36)'/%3E%3C/g%3E%3C/svg%3E");
}
/* Hill curves between sections */
.fno-hill{position:absolute;inset-inline:0;block-size:clamp(40px,6vw,90px);pointer-events:none;z-index:1}
.fno-hill svg{inline-size:100%;block-size:100%}
.fno-hill--top{inset-block-start:-1px}
.fno-hill--bottom{inset-block-end:-1px}

/* Logo watermark */
.fno-wm{position:absolute;pointer-events:none;object-fit:contain;opacity:.05;z-index:0}

/* ---------------------------------------------------------------- Buttons */
/* Pill with a curved "curtain" fill that drops from the top on hover. */
.fno-btn{
  --btn-bg:var(--fno-primary);--btn-fg:var(--fno-bg);--btn-fill:var(--fno-gold);--btn-hover-fg:#1E1606;--btn-ring:transparent;
  position:relative;isolation:isolate;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  block-size:56px;padding-inline:32px;
  font-family:var(--fno-font-body);font-size:13.5px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;line-height:1;white-space:nowrap;
  color:var(--btn-fg);background:var(--btn-bg);
  border:0;border-radius:999px;box-shadow:inset 0 0 0 1px var(--btn-ring);
  cursor:pointer;
  transition:color .6s var(--fno-ease),transform .6s var(--fno-ease),box-shadow .6s var(--fno-ease);
}
.fno-btn::before{
  content:"";position:absolute;inset-inline:-10%;inset-block-start:0;block-size:220%;z-index:-1;
  border-radius:50%;background:var(--btn-fill);
  transform:translateY(-105%);transition:transform .8s var(--fno-curtain);
}
.fno-btn:hover{color:var(--btn-hover-fg);box-shadow:inset 0 0 0 1px var(--btn-ring),0 18px 36px -20px rgba(var(--fno-primary-dark-rgb),.45)}
.fno-btn:hover::before{transform:translateY(-28%)}
.fno-btn svg{flex:0 0 auto}
.fno-btn--green{--btn-bg:var(--fno-primary);--btn-fg:var(--fno-bg);--btn-fill:var(--fno-gold);--btn-hover-fg:#1E1606}
.fno-btn--cream{--btn-bg:var(--fno-bg);--btn-fg:var(--fno-primary);--btn-fill:var(--fno-gold);--btn-hover-fg:#1E1606}
.fno-btn--line{--btn-bg:transparent;--btn-fg:var(--fno-bg);--btn-ring:rgba(var(--fno-bg-rgb),.55);--btn-fill:var(--fno-bg);--btn-hover-fg:var(--fno-primary)}
.fno-btn--gline{--btn-bg:transparent;--btn-fg:var(--fno-primary);--btn-ring:rgba(var(--fno-primary-rgb),.4);--btn-fill:var(--fno-primary);--btn-hover-fg:var(--fno-bg)}
.fno-btn--sm{block-size:46px;padding-inline:24px;font-size:12px}
.fno-btn--lg{block-size:62px;padding-inline:38px}
.fno-btn--block{inline-size:100%}
.fno-btn.is-loading{pointer-events:none;opacity:.7}
.fno-mag{will-change:transform}
/* Legacy variants used by ported generic widgets */
.fno-btn--solid{--btn-bg:var(--fno-primary);--btn-fg:var(--fno-bg)}
.fno-btn--outline{--btn-bg:transparent;--btn-fg:var(--fno-primary);--btn-ring:rgba(var(--fno-primary-rgb),.4);--btn-fill:var(--fno-primary);--btn-hover-fg:var(--fno-bg)}
.fno-btn--light{--btn-bg:var(--fno-bg);--btn-fg:var(--fno-primary)}
.fno-btn--dark{--btn-bg:var(--fno-primary-dark);--btn-fg:var(--fno-bg)}
.fno-btn--ghost{--btn-bg:transparent;--btn-fg:var(--fno-primary);padding-inline:0}
.fno-btn__icon{display:inline-flex}

/* Text link with a drawn underline */
.fno-link{
  display:inline-flex;align-items:center;gap:10px;padding-block-end:3px;
  font-size:13.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fno-primary);
  background:linear-gradient(currentColor,currentColor) left bottom/100% 1px no-repeat;
  transition:background-size .6s var(--fno-ease),color .3s;
}
.fno-link:hover{background-size:0 1px;background-position:right bottom;color:var(--fno-brass)}

/* Icon button (round) */
.fno-iconbtn,.fno-arrow{
  inline-size:58px;block-size:58px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--fno-primary);box-shadow:inset 0 0 0 1px rgba(var(--fno-primary-rgb),.35);
  transition:background-color .4s,color .4s,transform .5s var(--fno-ease);
}
.fno-iconbtn:hover,.fno-arrow:hover{background:var(--fno-primary);color:var(--fno-bg);transform:scale(1.08)}
.fno-on-green .fno-arrow,.fno-dark .fno-arrow{color:var(--fno-bg);box-shadow:inset 0 0 0 1px rgba(var(--fno-bg-rgb),.4)}
.fno-on-green .fno-arrow:hover,.fno-dark .fno-arrow:hover{background:var(--fno-bg);color:var(--fno-primary)}

/* ------------------------------------------------------------------- Chips */
.fno-chip{
  display:inline-flex;align-items:center;gap:8px;block-size:42px;padding-inline:18px;
  border-radius:999px;border:0;
  font:600 13.5px/1 var(--fno-font-body);
  color:var(--fno-primary);background:transparent;
  box-shadow:inset 0 0 0 1px rgba(var(--fno-primary-rgb),.25);
  cursor:pointer;white-space:nowrap;
  transition:background-color .4s,color .4s,box-shadow .4s;
}
.fno-chip:hover{box-shadow:inset 0 0 0 1px var(--fno-primary)}
.fno-chip.is-active,.fno-chip[aria-pressed="true"]{background:var(--fno-primary);color:var(--fno-bg);box-shadow:none}
.fno-chip__count{font-size:11.5px;opacity:.6}

/* Dietary tag (V, VG, S, N…) */
.fno-tag{
  display:inline-flex;align-items:center;justify-content:center;
  block-size:22px;min-inline-size:22px;padding-inline:6px;border-radius:11px;
  font:600 10.5px/1 var(--fno-font-body);letter-spacing:.06em;
  color:var(--fno-primary);box-shadow:inset 0 0 0 1px rgba(var(--fno-primary-rgb),.3);
}
.fno-tag--v,.fno-tag--vg{color:#2F6B45;box-shadow:inset 0 0 0 1px rgba(47,107,69,.4)}
.fno-tag--s{color:#A3303A;box-shadow:inset 0 0 0 1px rgba(163,48,58,.35)}
.fno-tag--n{color:var(--fno-brass);box-shadow:inset 0 0 0 1px rgba(138,106,44,.4)}
.fno-tag--sig{background:var(--fno-primary);color:var(--fno-gold-light);box-shadow:none}

/* ----------------------------------------------------------- Live status */
.fno-status{
  display:inline-flex;align-items:center;gap:10px;
  block-size:38px;padding-inline:16px;border-radius:19px;
  font-size:13px;line-height:1;white-space:nowrap;
  background:rgba(var(--fno-primary-rgb),.06);
}
.fno-live{position:relative;inline-size:7px;block-size:7px;border-radius:50%;background:#8FD9B0;flex:0 0 auto}
.fno-live::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1.5px solid #8FD9B0;animation:fnoPing 2s cubic-bezier(0,0,.2,1) infinite}
.fno-live.is-off{background:#E8A0A0}.fno-live.is-off::after{border-color:#E8A0A0}
@keyframes fnoPing{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.9);opacity:0}}

/* ------------------------------------------------------ Motion primitives */
.fno-rise{animation:fnoRise 1.3s var(--fno-ease) both}
.fno-d1{animation-delay:.15s}.fno-d2{animation-delay:.3s}.fno-d3{animation-delay:.45s}.fno-d4{animation-delay:.6s}
@keyframes fnoRise{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
.fno-spin{animation:fnoSpin 30s linear infinite}
.fno-spin-slow{animation:fnoSpin 60s linear infinite}
@keyframes fnoSpin{to{transform:rotate(360deg)}}
.fno-float1{animation:fnoFloat 7s ease-in-out infinite}
.fno-float2{animation:fnoFloat 8s ease-in-out -3s infinite}
.fno-float3{animation:fnoFloat 9s ease-in-out -5s infinite}
@keyframes fnoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.fno-kb{animation:fnoKb 18s ease-in-out infinite alternate}
@keyframes fnoKb{from{transform:scale(1.04)}to{transform:scale(1.14) translate(-1.5%,1%)}}
.fno-zoom{overflow:hidden}
.fno-zoom img{transition:transform 1.4s var(--fno-ease)}
.fno-zoom:hover img{transform:scale(1.08)}
.fno-arch{border-radius:999px 999px 32px 32px;overflow:hidden}
.fno-arch img{inline-size:100%;block-size:100%;object-fit:cover}

/* -------------------------------------------------- Animation engine */
/* Elements opt in with data-fno-anim="<type>". animations.js adds .fno-in. */
body.fno-anim-on [data-fno-anim]{
  --fno-delay:0ms;
  opacity:0;
  transition:
    opacity var(--fno-anim-dur) var(--fno-ease) var(--fno-delay),
    transform var(--fno-anim-dur) var(--fno-ease) var(--fno-delay),
    clip-path var(--fno-anim-dur) var(--fno-ease) var(--fno-delay),
    filter var(--fno-anim-dur) var(--fno-ease) var(--fno-delay);
}
body.fno-anim-on [data-fno-anim="up"]{transform:translate3d(0,var(--fno-anim-dist),0)}
body.fno-anim-on [data-fno-anim="down"]{transform:translate3d(0,calc(var(--fno-anim-dist) * -1),0)}
body.fno-anim-on [data-fno-anim="start"]{transform:translate3d(calc(var(--fno-anim-dist) * -1),0,0)}
body.fno-anim-on [data-fno-anim="end"]{transform:translate3d(var(--fno-anim-dist),0,0)}
body.fno-anim-on [data-fno-anim="fade"]{transform:none}
body.fno-anim-on [data-fno-anim="zoom"]{transform:scale(.94)}
body.fno-anim-on [data-fno-anim="reveal"]{clip-path:inset(100% 0 0 0);opacity:1}
body.fno-anim-on [data-fno-anim="reveal-x"]{clip-path:inset(0 100% 0 0);opacity:1}
body.fno-anim-on [data-fno-anim="blur"]{filter:blur(12px);transform:translate3d(0,14px,0)}
body.fno-anim-on [data-fno-anim].fno-in{opacity:1;transform:none;clip-path:inset(0 0 0 0);filter:none}
body.fno-anim-on [data-fno-anim="reveal"] img{transform:scale(1.18);transition:transform calc(var(--fno-anim-dur) * 1.5) var(--fno-ease) var(--fno-delay)}
body.fno-anim-on [data-fno-anim="reveal"].fno-in img{transform:scale(1)}

/* Split-line headings */
.fno-split{display:block;overflow:hidden;padding-block-end:.08em}
.fno-split__line{display:block;transform:translate3d(0,110%,0);transition:transform 1.05s var(--fno-ease) var(--fno-line-delay,0ms)}
.fno-in .fno-split__line,.fno-split.fno-in .fno-split__line{transform:translate3d(0,0,0)}

/* Letter-by-letter heading (hero) */
.fno-ch{display:inline-block;animation:fnoCh 1s var(--fno-ease) both}
@keyframes fnoCh{from{opacity:0;transform:translateY(60%) rotate(8deg);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  body.fno-anim-on [data-fno-anim],body.fno-anim-on [data-fno-anim] img,.fno-split__line{opacity:1!important;transform:none!important;clip-path:none!important;filter:none!important}
}
html.no-js body.fno-anim-on [data-fno-anim]{opacity:1;transform:none;clip-path:none;filter:none}

/* ------------------------------------------------------------------- Prose */
.fno-prose{max-width:820px}
.fno-prose > *:first-child{margin-block-start:0}
.fno-prose h2,.fno-prose h3,.fno-prose h4{margin-block-start:1.6em}
.fno-prose ul,.fno-prose ol{margin:0 0 1.3em;padding-inline-start:1.3em}
.fno-prose li{margin-block-end:.5em}
.fno-prose ul li::marker{color:var(--fno-gold)}
.fno-prose a{color:var(--fno-primary);text-decoration:underline;text-decoration-color:var(--fno-gold);text-decoration-thickness:1px;text-underline-offset:3px}
.fno-prose img,.fno-prose figure{border-radius:var(--fno-radius)}
.fno-prose figure{margin:2em 0}
.fno-prose figcaption{margin-block-start:.8em;font-size:.85rem;color:var(--fno-mute)}
.fno-prose table{width:100%;border-collapse:collapse;margin:2em 0;font-size:.94rem}
.fno-prose th,.fno-prose td{padding:14px 16px;border-block-end:1px solid var(--fno-line);text-align:start}
.fno-prose th{font-family:var(--fno-font-display);font-weight:400;color:var(--fno-primary);background:var(--fno-bg-soft)}
.fno-page-content .fno-prose{max-width:none}
.fno-page-article{margin:0}

.fno-dot{display:inline-block;inline-size:4px;block-size:4px;border-radius:50%;background:currentColor;opacity:.45;margin-inline:.7em;vertical-align:middle}

/* ------------------------------------------------------------- Pagination */
.fno-pagination{margin-block-start:clamp(40px,4.5vw,68px)}
.fno-pagination ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none}
.fno-pagination a,.fno-pagination span{
  display:inline-flex;align-items:center;justify-content:center;
  min-inline-size:46px;block-size:46px;padding-inline:12px;border-radius:999px;
  font-family:var(--fno-font-display);color:var(--fno-primary);
  box-shadow:inset 0 0 0 1px var(--fno-line);transition:.35s var(--fno-ease);
}
.fno-pagination a:hover{background:var(--fno-primary);color:var(--fno-bg)}
.fno-pagination .current{background:var(--fno-gold);color:#1E1606;box-shadow:none}

/* ----------------------------------------------------------- Empty states */
.fno-empty{max-width:640px;margin-inline:auto;text-align:center;padding-block:clamp(30px,5vw,70px)}
.fno-empty__icon{display:inline-flex;align-items:center;justify-content:center;inline-size:88px;block-size:88px;margin-block-end:26px;color:var(--fno-primary);background:var(--fno-bg-soft);border-radius:50%}

/* ----------------------------------------------------------- Accessibility */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;word-wrap:normal!important}
.fno-skip{position:absolute;inset-block-start:-60px;inset-inline-start:20px;z-index:99999;padding:12px 22px;background:var(--fno-primary);color:var(--fno-bg);border-radius:999px;transition:inset-block-start .3s var(--fno-ease)}
.fno-skip:focus{inset-block-start:20px;color:var(--fno-bg)}

/* --------------------------------------------------------------- Utilities */
.fno-u-center{text-align:center}
.fno-hide{display:none!important}
@media (max-width:767px){.fno-hide-m{display:none!important}}
@media (min-width:768px){.fno-hide-d{display:none!important}}

/* =========================================================== Global forms */
.fno-searchform{position:relative;display:flex;align-items:center}
.fno-searchform__input{inline-size:100%;block-size:58px;padding:0 60px 0 24px;background:var(--fno-card);border:0;border-radius:999px;box-shadow:inset 0 0 0 1px var(--fno-line);font-size:.95rem;transition:.4s var(--fno-ease)}
.fno-searchform__input:focus{outline:0;box-shadow:inset 0 0 0 1px var(--fno-gold),0 0 0 4px rgba(var(--fno-gold-rgb),.18)}
.fno-searchform__btn{position:absolute;inset-inline-end:7px;inline-size:44px;block-size:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--fno-bg);background:var(--fno-primary);border-radius:50%;transition:.4s var(--fno-ease)}
.fno-searchform__btn:hover{background:var(--fno-gold);color:#1E1606}

/* Sidebar / widgets / comments (blog) */
.fno-single__thumb{margin:0 0 clamp(28px,3vw,46px);border-radius:var(--fno-radius);overflow:hidden;aspect-ratio:16/9}
.fno-single__thumb img{inline-size:100%;block-size:100%;object-fit:cover}
.fno-sidebar{display:grid;gap:26px;position:sticky;inset-block-start:calc(var(--fno-sticky-h) + 20px)}
.fno-widget{padding:26px;background:var(--fno-card);border-radius:var(--fno-radius)}
.fno-widget__title{margin:0 0 18px;font:600 .8rem var(--fno-font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--fno-brass)}
.fno-widget ul{margin:0;padding:0;list-style:none;display:grid;gap:11px}
.fno-comments{margin-block-start:clamp(40px,4.5vw,68px)}
.fno-comments__list{margin:0 0 40px;padding:0;list-style:none;display:grid;gap:22px}
.fno-comments__list .comment-body{padding:24px;background:var(--fno-card);border-radius:var(--fno-radius)}
.comment-respond form{display:grid;gap:16px}
.comment-respond input[type="text"],.comment-respond input[type="email"],.comment-respond input[type="url"],.comment-respond textarea{inline-size:100%;padding:14px 18px;border:0;border-radius:18px;box-shadow:inset 0 0 0 1px var(--fno-line);background:var(--fno-card)}
.comment-respond .submit{block-size:52px;padding-inline:30px;font-size:.83rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--fno-bg);background:var(--fno-primary);border:0;border-radius:999px;cursor:pointer}
.fno-linkpages{display:flex;gap:8px;margin-block-start:26px;font-size:.9rem}
.fno-menu--fallback{display:flex;align-items:center;gap:28px;margin:0;padding:0;list-style:none}

/* Performance: off-screen sections are not painted until they come near. */
body.fno-cv .fno-footer,body.fno-cv .fno-reviews,body.fno-cv .fno-cta,body.fno-cv .fno-hoursw,body.fno-cv .fno-strip,body.fno-cv .fno-swatches,body.fno-cv .fno-pantry,body.fno-cv .fno-cup,body.fno-cv .fno-faq,body.fno-cv .fno-share,body.fno-cv .fno-timeline{content-visibility:auto;contain-intrinsic-size:auto 900px}
@media print{body.fno-cv *{content-visibility:visible!important}}
