/* ==========================================================================
   Feta & Olive — widgets
   Every QB section widget. Loaded only on views that use a widget
   (Elementor get_style_depends). Tokens only — no hard-coded brand values
   except inside illustrations.
   ========================================================================== */

.fno-actions{display:flex;flex-wrap:wrap;gap:14px;margin-block-start:34px}
.fno-head--center + .fno-actions,.fno-head--center .fno-actions{justify-content:center}
.fno-w-heading{padding-block:10px}

/* --------------------------------------------------------------------- Hero */
.fno-hero{
  position:relative;isolation:isolate;overflow:hidden;
  min-block-size:max(640px,min(100svh,860px));
  display:flex;align-items:center;
  padding:calc(var(--fno-header-h) + 30px) var(--fno-gutter) 160px;
  color:var(--fno-bg);background:var(--fno-primary-dark);
}
.fno-hero__media{position:absolute;inset:0;z-index:-1}
.fno-hero__slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.6s var(--fno-ease)}
.fno-hero__slide.is-active{opacity:1}
.fno-hero__slide img{inline-size:100%;block-size:100%;object-fit:cover}
.fno-hero__shade{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(var(--fno-primary-dark-rgb),.86) 0%,rgba(var(--fno-primary-dark-rgb),.55) 45%,rgba(var(--fno-primary-dark-rgb),.1) 75%),
  linear-gradient(180deg,rgba(var(--fno-primary-dark-rgb),.55) 0%,transparent 28%,transparent 70%,rgba(var(--fno-primary-dark-rgb),.6) 100%)}
.fno-hero__content{position:relative;inline-size:100%;max-inline-size:var(--fno-container);margin-inline:auto}
.fno-hero__eyebrow{color:var(--fno-gold-light)}
.fno-hero__greet{opacity:.85}
.fno-hero__title{margin:0;max-inline-size:14ch;font-size:clamp(2.6rem,1.5rem + 3.9vw,4.6rem);line-height:1;color:var(--fno-bg)}
.fno-hero__title .fno-accent{display:block;color:var(--fno-gold-light);font-size:1.12em}
.fno-word-w{display:inline-block;white-space:nowrap}
.fno-hero__text{margin:22px 0 0;max-inline-size:500px;font-size:16.5px;line-height:1.75;color:rgba(var(--fno-bg-rgb),.82)}
.fno-hero__nav{position:absolute;inset-inline-end:var(--fno-gutter);inset-block-end:130px;display:flex;align-items:center;gap:18px;z-index:3}
.fno-hero__count{font-family:var(--fno-font-accent);font-style:italic;font-size:22px;color:var(--fno-gold-light)}
.fno-hero__prog{position:relative;inline-size:120px;block-size:1px;background:rgba(var(--fno-bg-rgb),.25);overflow:hidden}
.fno-hero__prog i{position:absolute;inset:0;background:var(--fno-bg);transform-origin:left;transform:scaleX(0)}
.fno-hero__thumbs{display:flex;gap:12px}
.fno-hero__thumb{inline-size:92px;block-size:62px;border-radius:12px;overflow:hidden;opacity:.55;outline:1px solid transparent;outline-offset:4px;transition:opacity .4s,outline-color .4s}
.fno-hero__thumb:hover{opacity:.9}
.fno-hero__thumb.is-active{opacity:1;outline-color:var(--fno-gold)}
.fno-hero__thumb img{inline-size:100%;block-size:100%;object-fit:cover}
.fno-hero__tagline{position:absolute;inset-inline-start:var(--fno-gutter);inset-block-end:170px;margin:0;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:rgba(var(--fno-bg-rgb),.6)}

/* Now serving card */
.fno-now{
  position:absolute;inset-inline-end:var(--fno-gutter);inset-block-start:calc(var(--fno-header-h) + 60px);z-index:3;
  display:flex;align-items:center;gap:16px;max-inline-size:360px;padding:12px 22px 12px 12px;
  border-radius:999px;background:rgba(var(--fno-bg-rgb),.12);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  box-shadow:inset 0 0 0 1px rgba(var(--fno-bg-rgb),.18);
  opacity:0;transform:translateY(-10px);transition:opacity .8s var(--fno-ease),transform .8s var(--fno-ease);
}
.fno-now.is-ready{opacity:1;transform:none}
.fno-now__img{flex:0 0 auto;inline-size:66px;block-size:66px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 3px rgba(var(--fno-gold-rgb),.6)}
.fno-now__img img{inline-size:100%;block-size:100%;object-fit:cover}
.fno-now__body{display:grid;gap:2px;min-inline-size:0}
.fno-now__label{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--fno-gold-light)}
.fno-now__title{font-family:var(--fno-font-display);font-size:17px;line-height:1.25;color:var(--fno-bg)}
.fno-now__sub{font-size:13px;color:rgba(var(--fno-bg-rgb),.72)}

/* Hill under the hero */
.fno-hero__hill{position:absolute;inset-inline:0;inset-block-end:-1px;block-size:120px;z-index:2}
.fno-hero__hill svg{inline-size:100%;block-size:100%}
.fno-hero__scroll{
  position:absolute;inset-inline-start:50%;inset-block-start:4px;transform:translateX(-50%);
  inline-size:52px;block-size:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--fno-bg);color:var(--fno-primary);box-shadow:0 0 0 1px rgba(var(--fno-gold-rgb),.6),var(--fno-shadow-s);
  animation:fnoBob 2.4s ease-in-out infinite;
}
@keyframes fnoBob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}
@media (max-width:1024px){
  .fno-now{position:relative;inset:auto;margin-block-start:34px;max-inline-size:100%}
  .fno-hero{flex-direction:column;align-items:stretch;justify-content:center}
  .fno-hero__nav{inset-block-end:140px}
  .fno-hero__tagline{display:none}
}
@media (max-width:640px){
  .fno-hero{padding-block-end:170px}
  .fno-hero__thumbs,.fno-hero__prog{display:none}
  .fno-hero__nav{inset-inline-end:auto;inset-inline-start:var(--fno-gutter);inset-block-end:130px}
}

/* ------------------------------------------------------------------ About */
.fno-about__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,5vw,80px);align-items:center}
.fno-about__media{position:relative;padding-block-end:60px}
.fno-about__arch{inline-size:min(100%,390px);aspect-ratio:460/600;box-shadow:var(--fno-shadow-l)}
.fno-about__round{position:absolute;inset-inline-end:4%;inset-block-end:0;inline-size:clamp(130px,14vw,180px);aspect-ratio:1;border-radius:50%;overflow:hidden;border:8px solid var(--fno-bg);box-shadow:var(--fno-shadow-m)}
.fno-about__round img{inline-size:100%;block-size:100%;object-fit:cover}
.fno-about__badge{position:absolute;inset-inline-end:0;inset-block-start:0;inline-size:150px;block-size:150px}
.fno-about__badge svg{inline-size:100%;block-size:100%}
.fno-about__badge text,.fno-welcome__badge text,.fno-plate__centre text{font:600 12.5px var(--fno-font-body);letter-spacing:0;fill:var(--fno-brass)}
.fno-about__badge img{position:absolute;inset:26%;inline-size:48%;block-size:48%;object-fit:contain}
.fno-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:36px 0 0;padding:28px 0 0;list-style:none;border-block-start:1px solid var(--fno-line)}
.fno-stats__v{display:block;font-family:var(--fno-font-accent);font-style:italic;font-weight:500;font-size:clamp(1.9rem,1.5rem + 1.1vw,2.5rem);line-height:1;color:var(--fno-brass)}
.fno-stats__l{display:block;margin-block-start:8px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fno-mute)}
@media (max-width:900px){.fno-about__grid{grid-template-columns:1fr}.fno-about__arch{margin-inline:auto}}

/* --------------------------------------------------------------- Features */
.fno-features{padding:0 var(--fno-gutter) clamp(40px,5vw,64px)}
.fno-features__capsule{
  position:relative;isolation:isolate;overflow:hidden;
  max-inline-size:var(--fno-container);margin:0 auto;padding:30px clamp(20px,4vw,56px);
  display:flex;flex-wrap:wrap;justify-content:space-around;gap:24px;
  list-style:none;border-radius:100px;box-shadow:var(--fno-shadow-l);
}
.fno-feat{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;color:var(--fno-bg);transition:transform .5s var(--fno-ease)}
.fno-feat:hover{transform:translateY(-6px)}
.fno-feat__ring{inline-size:66px;block-size:66px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(var(--fno-bg-rgb),.35);transition:background-color .5s,color .5s,transform .8s var(--fno-ease)}
.fno-feat:hover .fno-feat__ring{background:var(--fno-bg);color:var(--fno-primary);transform:rotate(360deg)}
.fno-feat__label{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
@media (max-width:767px){.fno-features__capsule{border-radius:40px;justify-content:center}.fno-feat{flex:0 0 40%}}

/* ------------------------------------------------------ Signature tabs */
.fno-sig{position:relative;isolation:isolate;padding-block:calc(var(--fno-space-section) + 40px)}
.fno-sig__inner{position:relative;z-index:2}
.fno-sig__grid{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(30px,5vw,70px);align-items:start}
.fno-sig__tabs{display:grid;gap:6px}
.fno-sig__tab{
  position:relative;isolation:isolate;overflow:hidden;
  display:flex;align-items:center;gap:18px;inline-size:100%;block-size:84px;padding-inline:24px;
  border-radius:18px;text-align:start;color:rgba(var(--fno-bg-rgb),.72);
  transition:color .5s,padding .5s var(--fno-ease);
}
.fno-sig__tab::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:18px;background:var(--fno-bg);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--fno-curtain)}
.fno-sig__tab:hover{color:var(--fno-bg);padding-inline-start:32px}
.fno-sig__tab.is-active{color:var(--fno-primary);padding-inline-start:32px}
.fno-sig__tab.is-active::before{transform:scaleX(1)}
.fno-sig__ic{flex:0 0 auto;inline-size:44px;block-size:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px currentColor;transition:transform .6s var(--fno-ease)}
.fno-sig__tab:hover .fno-sig__ic,.fno-sig__tab.is-active .fno-sig__ic{transform:rotate(-20deg)}
.fno-sig__tabtxt{display:grid}
.fno-sig__name{font-family:var(--fno-font-display);font-size:21px}
.fno-sig__count{font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.7;margin-block-start:4px}
.fno-sig__tabs .fno-actions{margin-block-start:18px}
.fno-sig__panel{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,3vw,44px);align-items:center}
.fno-sig__panel.is-active{animation:fnoSwap .9s var(--fno-ease) both}
@keyframes fnoSwap{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.fno-sig__hero{position:relative;aspect-ratio:4/5;border-radius:999px 999px 28px 28px;overflow:hidden}
.fno-sig__hero img{inline-size:100%;block-size:100%;object-fit:cover}
.fno-sig__from{position:absolute;inset-inline-end:16px;inset-block-end:16px;inline-size:96px;block-size:96px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--fno-gold);color:#1E1606;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.fno-sig__from b{font-family:var(--fno-font-display);font-weight:400;font-size:22px;letter-spacing:0;text-transform:none}
.fno-sig__list{margin:0;padding:0;list-style:none}
.fno-dish{display:grid;grid-template-columns:84px minmax(0,1fr);gap:20px;align-items:center;padding-block:16px;border-block-end:1px dashed rgba(var(--fno-bg-rgb),.16);animation:fnoRise .8s var(--fno-ease) both;animation-delay:calc(var(--i) * 80ms)}
.fno-dish__ph{inline-size:84px;block-size:84px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:rgba(var(--fno-bg-rgb),.06);color:var(--fno-gold-light);box-shadow:0 0 0 4px rgba(var(--fno-bg-rgb),.08);transition:box-shadow .5s}
.fno-dish:hover .fno-dish__ph{box-shadow:0 0 0 4px var(--fno-gold)}
.fno-dish__ph img{inline-size:100%;block-size:100%;object-fit:cover;transition:transform .9s var(--fno-ease)}
.fno-dish:hover .fno-dish__ph img{transform:scale(1.15) rotate(8deg)}
.fno-dish__row{display:flex;align-items:baseline;gap:12px}
.fno-dish__name{font-family:var(--fno-font-display);font-size:21px;color:var(--fno-bg);transition:color .3s}
.fno-dish:hover .fno-dish__name{color:var(--fno-gold-light)}
.fno-dish__lead{flex:1 1 auto;border-block-end:1px dotted rgba(var(--fno-bg-rgb),.35);transform:translateY(-6px)}
.fno-dish__price{font-family:var(--fno-font-display);font-size:19px;color:var(--fno-gold-light);font-variant-numeric:tabular-nums}
.fno-dish__desc{display:block;margin-block-start:6px;font-size:14.5px;line-height:1.6;color:rgba(var(--fno-bg-rgb),.7)}
@media (max-width:1024px){.fno-sig__grid{grid-template-columns:1fr}.fno-sig__tabs{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}
@media (max-width:700px){.fno-sig__panel{grid-template-columns:1fr}.fno-sig__hero{max-inline-size:320px;margin-inline:auto}}

/* ------------------------------------------------------------- Plate */
.fno-plate__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(40px,6vw,90px);align-items:center}
.fno-plate__stage{position:relative;inline-size:min(100%,520px);aspect-ratio:1;margin-inline:auto}
.fno-plate__disc{position:absolute;inset:6%;border-radius:50%;background:var(--fno-card);box-shadow:0 0 0 14px var(--fno-bg-soft),0 0 0 15px rgba(var(--fno-gold-rgb),.4),var(--fno-shadow-l)}
.fno-plate__ring{--rot:0deg;position:absolute;inset:0;transform:rotate(var(--rot));transition:transform 1.3s var(--fno-curtain)}
.fno-plate__dish{
  position:absolute;left:38.5%;top:38.5%;
  inline-size:23%;aspect-ratio:1;border-radius:50%;overflow:hidden;
  transform:rotate(var(--a)) translateX(165%) rotate(calc(-1 * var(--a))) rotate(calc(-1 * var(--rot)));
  transition:transform 1.3s var(--fno-curtain),box-shadow .6s,scale .8s var(--fno-ease);
}
.fno-plate__dish img{inline-size:100%;block-size:100%;object-fit:cover}
.fno-plate__dish:hover{box-shadow:0 0 0 5px rgba(var(--fno-gold-rgb),.6)}
.fno-plate__dish.is-active{box-shadow:0 0 0 6px var(--fno-gold),0 30px 60px -20px rgba(0,0,0,.6);scale:1.3;z-index:2}
.fno-plate__centre{position:absolute;inset:31%;display:flex;align-items:center;justify-content:center}
.fno-plate__centre svg{position:absolute;inset:0;inline-size:100%;block-size:100%}
.fno-plate__centre text{font-size:11px}
.fno-plate__centre img{inline-size:58%;block-size:58%;object-fit:contain}
.fno-plate__meta{display:flex;align-items:center;gap:14px}
.fno-plate__no{font-family:var(--fno-font-accent);font-style:italic;font-size:32px;color:var(--fno-brass)}
.fno-plate__sig{padding:6px 12px;border-radius:999px;background:var(--fno-primary);color:var(--fno-gold-light);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.fno-plate__name{margin:10px 0 0;font-size:clamp(1.8rem,1.35rem + 1.4vw,2.6rem)}
.fno-plate__desc{margin:14px 0 0;font-size:16px;line-height:1.75;max-inline-size:460px}
.fno-plate__foot{display:flex;flex-wrap:wrap;align-items:baseline;gap:16px;margin:18px 0 0}
.fno-plate__price{font-family:var(--fno-font-display);font-size:26px;color:var(--fno-primary)}
.fno-plate__pairs{font-size:14px;color:var(--fno-mute)}
.fno-plate__detail.is-swap > *{animation:fnoSwap .8s var(--fno-ease) both}
.fno-plate__ctrl{display:flex;align-items:center;gap:12px;margin-block:34px 26px}
.fno-plate__dots{display:flex;gap:8px;margin-inline-start:14px}
.fno-plate__dot{inline-size:9px;block-size:9px;border-radius:5px;background:rgba(var(--fno-primary-rgb),.22);transition:inline-size .5s var(--fno-ease),background-color .4s}
.fno-plate__dot.is-active{inline-size:30px;background:var(--fno-primary)}
@media (max-width:900px){.fno-plate__grid{grid-template-columns:1fr;text-align:center}.fno-plate__ctrl,.fno-plate__meta,.fno-plate__foot{justify-content:center}.fno-plate__desc{margin-inline:auto}}

/* --------------------------------------------------------------- Chef */
.fno-chef__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(36px,5vw,80px);align-items:center}
.fno-chef__media{position:relative;min-block-size:440px;display:flex;align-items:flex-end;justify-content:center}
.fno-chef__arch{position:absolute;inset-inline:6%;inset-block:10% 0;border-radius:999px 999px 36px 36px;overflow:hidden}
.fno-chef__wm{position:absolute;inset-inline-end:-80px;inset-block-end:-80px;inline-size:340px;block-size:340px;opacity:.08;object-fit:contain}
.fno-chef__cut{position:relative;inline-size:auto;max-inline-size:82%;max-block-size:500px;object-fit:contain}
.fno-chef__photo{inline-size:min(100%,360px);aspect-ratio:420/560}
.fno-chef__round{position:absolute;inset-inline-end:2%;inset-block-end:-30px;inline-size:200px;aspect-ratio:1;border-radius:50%;overflow:hidden;border:10px solid var(--fno-bg)}
.fno-chef__round img{inline-size:100%;block-size:100%;object-fit:cover}
.fno-quote{position:relative;margin:34px 0 0;padding:30px 34px 30px 74px;border-radius:28px;font-style:normal}
.fno-quote__mark{position:absolute;inset-inline-start:22px;inset-block-start:-12px;font-family:var(--fno-font-accent);font-style:italic;font-size:110px;line-height:1;color:var(--fno-gold)}
.fno-quote p{margin:0;font-family:var(--fno-font-accent);font-style:italic;font-weight:500;font-size:23px;line-height:1.45;color:var(--fno-bg)}
.fno-chef__sign{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-block-start:26px}
.fno-chef__name{font-family:var(--fno-font-accent);font-style:italic;font-size:34px;color:var(--fno-primary)}
.fno-chef__role{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--fno-mute)}
@media (max-width:900px){.fno-chef__grid{grid-template-columns:1fr}.fno-chef__media{min-block-size:440px}}

/* ------------------------------------------------------ Strip + trail */
.fno-strip{position:relative;isolation:isolate;overflow:hidden;padding-block:calc(var(--fno-space-section) + 20px) clamp(50px,6vw,80px)}
.fno-strip__wm{inset-inline-start:-160px;inset-block-start:10%;inline-size:520px;block-size:520px}
.fno-strip__head{position:relative;z-index:2}
.fno-strip__hint{margin:-30px 0 40px;text-align:center;font-size:12px;letter-spacing:.24em;text-transform:uppercase;opacity:.6}
.fno-strip__track{overflow:hidden}
.fno-strip__row{display:flex;gap:22px;inline-size:max-content;animation:fnoStrip 60s linear infinite}
.fno-strip__row:hover{animation-play-state:paused}
@keyframes fnoStrip{to{transform:translateX(-50%)}}
.fno-strip__item{flex:0 0 auto;inline-size:clamp(170px,17vw,240px);aspect-ratio:300/380;border-radius:999px 999px 0 0;overflow:hidden}
.fno-strip__item:nth-child(even){border-radius:0 0 999px 999px;margin-block-start:40px}
.fno-strip__item img{inline-size:100%;block-size:100%;object-fit:cover;transition:transform 1.2s var(--fno-ease)}
.fno-strip__item:hover img{transform:scale(1.1)}
.fno-trail{position:absolute;z-index:1;inline-size:170px;block-size:210px;margin:-105px 0 0 -85px;border-radius:85px 85px 0 0;overflow:hidden;opacity:0;pointer-events:none;box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
.fno-trail img{inline-size:100%;block-size:100%;object-fit:cover}
.fno-trail.is-go{animation:fnoTrail 1.4s var(--fno-ease) forwards}
@keyframes fnoTrail{0%{opacity:0;transform:scale(.4) rotate(-8deg)}15%{opacity:1;transform:scale(1) rotate(0)}70%{opacity:1}100%{opacity:0;transform:scale(.8) translateY(40px)}}

/* ------------------------------------------------------------ Hours */
.fno-hoursw{position:relative;isolation:isolate;overflow:hidden}
.fno-hoursw__wm{inset-inline-end:-160px;inset-block-start:-120px;inline-size:620px;block-size:620px;opacity:.06}
.fno-hoursw__grid{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,70px);align-items:center}
.fno-hoursw__photo{inline-size:min(100%,420px);aspect-ratio:1/1.1;margin-inline:auto;border-radius:270px 270px 32px 32px;overflow:hidden;box-shadow:var(--fno-shadow-l)}
.fno-hoursw__photo img{inline-size:100%;block-size:100%;object-fit:cover}
.fno-hoursw__card{padding:clamp(30px,4vw,54px);border-radius:36px;background:var(--fno-card);box-shadow:var(--fno-shadow-m)}
.fno-hoursw__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.fno-hoursw__top .fno-eyebrow{margin:0}
.fno-hoursw__title{margin:16px 0 22px}
.fno-hoursw__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-block-start:28px;padding-block-start:24px;border-block-start:1px solid var(--fno-line)}
.fno-hoursw__call{display:flex;align-items:center;gap:14px;color:var(--fno-primary)}
.fno-hoursw__ic{inline-size:48px;block-size:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--fno-bg-soft);color:var(--fno-primary)}
.fno-hoursw__call small{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--fno-mute)}
.fno-hoursw__call b{font-family:var(--fno-font-display);font-weight:400;font-size:21px;color:var(--fno-primary)}
@media (max-width:900px){.fno-hoursw__grid{grid-template-columns:1fr}.fno-hoursw__photo{max-inline-size:440px}}

/* Hours list (shared) */
.fno-hours{margin:0;padding:0;list-style:none}
.fno-hours__row{display:flex;align-items:baseline;gap:12px;padding:13px 16px;margin-inline:-16px;border-radius:14px;font-size:16px;font-variant-numeric:tabular-nums;transition:background-color .4s}
.fno-hours__day{font-family:var(--fno-font-display);color:var(--fno-primary)}
.fno-hours__lead{flex:1 1 auto;border-block-end:1px dotted rgba(var(--fno-primary-rgb),.3);transform:translateY(-5px)}
.fno-hours__row.is-closed{color:var(--fno-mute)}
.fno-hours__row.is-closed .fno-hours__day{color:var(--fno-mute)}
.fno-hours__row.is-today{background:var(--fno-primary);color:var(--fno-bg)}
.fno-hours__row.is-today .fno-hours__day{color:var(--fno-bg)}
.fno-hours__row.is-today .fno-hours__day::after{content:"Today";margin-inline-start:10px;padding:3px 9px;border-radius:999px;background:var(--fno-gold);color:#1E1606;font:600 10px var(--fno-font-body);letter-spacing:.14em;text-transform:uppercase;vertical-align:2px}
.fno-hours__row.is-today .fno-hours__lead{border-color:rgba(var(--fno-bg-rgb),.3)}
.fno-hours__note{margin:12px 0 0;font-size:13.5px;color:var(--fno-mute)}

/* ----------------------------------------------------------- Reviews */
/* reviews: see the Reviews block at the end of this file */

/* --------------------------------------------------------------- CTA */
.fno-cta{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(56px,6vw,90px) clamp(80px,8vw,120px)}
.fno-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.fno-cta__title{margin:0;font-size:clamp(2.2rem,1.4rem + 2.6vw,3.4rem)}
.fno-cta__text{margin:16px 0 0;max-inline-size:540px;font-size:16.5px}
.fno-cta__logo{flex:0 0 auto;inline-size:clamp(140px,15vw,210px);transition:transform .6s var(--fno-ease)}
.fno-cta__logo img{inline-size:100%;block-size:auto}
.fno-cta--big{text-align:center}
.fno-cta--big .fno-cta__inner{justify-content:center}
.fno-cta--big .fno-actions{justify-content:center}
.fno-cta--big .fno-cta__text{margin-inline:auto}
.fno-cta__big{margin:6px 0 0;line-height:1}
.fno-cta__big .fno-accent{display:block;font-size:clamp(4rem,2.2rem + 6.5vw,8rem);line-height:1;color:var(--fno-primary)}
.fno-cta__wm{inset-inline-start:50%;inset-block-start:40px;inline-size:420px;block-size:420px;margin-inline-start:-210px}
@media (max-width:767px){.fno-cta__inner{flex-direction:column;text-align:center}.fno-cta .fno-actions{justify-content:center}}

/* ------------------------------------------------------------ Timeline */
.fno-timeline{position:relative;isolation:isolate;overflow:hidden;padding-block:calc(var(--fno-space-section) + 40px)}
.fno-timeline__wm{inset-inline-start:-120px;inset-block-end:-160px;inline-size:460px;block-size:460px}
.fno-timeline .fno-container{position:relative;z-index:2}
.fno-timeline__track{position:relative;margin-block-start:20px}
.fno-timeline__line{position:absolute;inset-inline:0;inset-block-start:20px;inline-size:100%;block-size:40px}
.fno-timeline__line path{stroke-dasharray:1400;stroke-dashoffset:1400;animation:fnoDraw 6s var(--fno-ease) forwards}
.fno-timeline__list{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:30px;margin:0;padding:0;list-style:none}
.fno-timeline__dot{display:block;inline-size:18px;block-size:18px;margin-block-start:31px;border-radius:50%;background:var(--fno-gold-light);box-shadow:0 0 0 1px var(--fno-gold-light),0 0 0 8px var(--fno-primary-dark),0 0 0 9px rgba(var(--fno-gold-rgb),.35)}
.fno-timeline__year{display:block;margin-block-start:30px;font-family:var(--fno-font-accent);font-style:italic;font-size:44px;line-height:1;color:var(--fno-gold-light)}
.fno-timeline__title{margin:8px 0 0;font-size:24px;color:var(--fno-bg)}
.fno-timeline__step p{margin:10px 0 0;font-size:15px;line-height:1.65;color:rgba(var(--fno-bg-rgb),.7)}
@media (max-width:900px){.fno-timeline__list{grid-template-columns:1fr 1fr}.fno-timeline__line{display:none}}
@media (max-width:560px){.fno-timeline__list{grid-template-columns:1fr}}

/* -------------------------------------------------------------- Values */
.fno-values__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:0;padding:0 0 40px;list-style:none}
.fno-value{padding:44px 40px;border-radius:28px;background:var(--fno-card);text-align:center;transition:transform .7s var(--fno-ease),box-shadow .7s var(--fno-ease)}
.fno-value:hover{box-shadow:var(--fno-shadow-m)}
.fno-value--green{transform:translateY(40px);background:var(--fno-primary)}
.fno-value__ic{inline-size:90px;block-size:90px;margin-inline:auto;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--fno-primary);color:var(--fno-bg)}
.fno-value--green .fno-value__ic{background:var(--fno-bg);color:var(--fno-primary)}
.fno-value__no{display:block;margin-block-start:26px;font-family:var(--fno-font-accent);font-style:italic;font-size:30px;color:var(--fno-gold)}
.fno-value--green .fno-value__no{color:var(--fno-gold-light)}
.fno-value__title{margin:6px 0 0;font-size:28px}
.fno-value p{margin:14px 0 0;font-size:16px;line-height:1.7}
@media (max-width:900px){.fno-values__grid{grid-template-columns:1fr}.fno-value--green{transform:none}}

/* --------------------------------------------------------------- Place */
.fno-place{position:relative;isolation:isolate;overflow:hidden}
.fno-place__wm{inset-inline-end:-160px;inset-block-start:-120px;inline-size:620px;block-size:620px;opacity:.06}
.fno-place__grid{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,6vw,90px);align-items:center}
.fno-place__media{position:relative}
.fno-place__photo{aspect-ratio:1;border-radius:280px 0 0 0;overflow:hidden;box-shadow:var(--fno-shadow-l)}
.fno-place__photo img{inline-size:100%;block-size:100%;object-fit:cover}
.fno-place__pill{position:absolute;inset-inline-start:-60px;inset-block-end:40px;display:flex;align-items:center;gap:14px;margin:0;padding:18px 26px;border-radius:999px;background:var(--fno-bg);color:var(--fno-primary);font-size:15px;box-shadow:var(--fno-shadow-m)}
@media (max-width:900px){.fno-place__grid{grid-template-columns:1fr}.fno-place__pill{position:relative;inset:auto;margin:-30px 20px 0}}

/* ------------------------------------------------------------- Welcome */
.fno-welcome__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(40px,6vw,90px);align-items:center}
.fno-welcome__title{margin:0;line-height:.98;font-size:clamp(2.5rem,1.6rem + 2.6vw,3.6rem)}
.fno-welcome__title .fno-accent{font-size:1.6em}
.fno-welcome__say{display:flex;align-items:center;gap:18px;margin-block-start:26px}
.fno-welcome__ph{display:block;font-family:var(--fno-font-accent);font-style:italic;font-size:28px;color:var(--fno-primary)}
.fno-welcome__hint{display:block;margin-block-start:2px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--fno-mute)}
.fno-welcome__text{margin-block-start:22px;font-size:16.5px;line-height:1.8}
.fno-welcome__text p{margin:0}
.fno-welcome__text b{color:var(--fno-primary)}
.fno-welcome__rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:40px 0 0;padding:30px 0 0;list-style:none;border-block-start:1px solid var(--fno-line)}
.fno-welcome__rules li{font-size:14.5px;line-height:1.6}
.fno-welcome__rw{display:block;font-family:var(--fno-font-accent);font-style:italic;font-size:34px;line-height:1.1;color:var(--fno-gold)}
.fno-welcome__media{position:relative;padding-block-end:60px}
.fno-welcome__arch{inline-size:min(100%,420px);aspect-ratio:500/640;margin-inline-start:auto;box-shadow:var(--fno-shadow-l)}
.fno-welcome__round{position:absolute;inset-inline-start:-40px;inset-block-end:0;inline-size:clamp(150px,16vw,230px);aspect-ratio:1;border-radius:50%;overflow:hidden;border:10px solid var(--fno-bg)}
.fno-welcome__round img{inline-size:100%;block-size:100%;object-fit:cover}
.fno-welcome__badge{position:absolute;inset-inline-end:-20px;inset-block-start:-40px;inline-size:200px;block-size:200px}
.fno-welcome__badge svg{inline-size:100%;block-size:100%}
.fno-welcome__badge img{position:absolute;inset:25%;inline-size:50%;block-size:50%;border-radius:50%;background:var(--fno-bg);object-fit:contain}
@media (max-width:900px){.fno-welcome__grid{grid-template-columns:1fr}.fno-welcome__rules{grid-template-columns:1fr}.fno-welcome__round{inset-inline-start:0}}

/* Sound-bars "say it" button */
.fno-say{flex:0 0 auto;inline-size:66px;block-size:66px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;gap:3px;background:var(--fno-gold);color:#1E1606;transition:transform .5s var(--fno-ease),background-color .4s}
.fno-say:hover{transform:scale(1.08);background:var(--fno-gold-light)}
.fno-say i{display:block;inline-size:3px;block-size:10px;border-radius:2px;background:currentColor}
.fno-say.is-talking i{animation:fnoBar .7s ease-in-out infinite alternate}
.fno-say.is-talking i:nth-child(2){animation-delay:-.2s}.fno-say.is-talking i:nth-child(3){animation-delay:-.45s}.fno-say.is-talking i:nth-child(4){animation-delay:-.1s}
@keyframes fnoBar{from{block-size:6px}to{block-size:26px}}

/* ---------------------------------------------------------------- Acts */
.fno-acts{position:relative;isolation:isolate;overflow:hidden;padding-block:calc(var(--fno-space-section) + 40px)}
.fno-acts__wm{inset-inline-end:-180px;inset-block-start:60px;inline-size:520px;block-size:520px}
.fno-acts .fno-container{position:relative;z-index:2}
.fno-acts__row{display:flex;gap:14px;block-size:clamp(380px,34vw,470px)}
.fno-act{position:relative;isolation:isolate;overflow:hidden;flex:1 1 0;min-inline-size:0;border-radius:28px;text-align:start;color:var(--fno-bg);transition:flex-grow .9s var(--fno-ease)}
.fno-act.is-active{flex-grow:3.4}
.fno-act img{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover;z-index:-2;filter:saturate(.75) brightness(.78);transition:transform 1.6s var(--fno-ease),filter .8s}
.fno-act.is-active img{filter:none;transform:scale(1.05)}
.fno-act__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(var(--fno-primary-dark-rgb),0) 30%,rgba(var(--fno-primary-dark-rgb),.94))}
.fno-act__num{position:absolute;inset-inline-start:22px;inset-block-start:18px;font-family:var(--fno-font-accent);font-style:italic;font-size:46px;transition:color .5s}
.fno-act.is-active .fno-act__num{color:var(--fno-gold-light)}
.fno-act__body{position:absolute;inset-inline:22px;inset-block-end:28px}
.fno-act__label{display:block;font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--fno-gold-light);white-space:nowrap;opacity:0;transition:opacity .5s}
.fno-act__title{display:block;margin-block-start:10px;font-family:var(--fno-font-display);font-size:26px;line-height:1.1;white-space:nowrap;transition:font-size .8s var(--fno-ease)}
.fno-act.is-active .fno-act__title{font-size:38px}
.fno-act__more{display:block;max-inline-size:420px;opacity:0;transform:translateY(18px);transition:opacity .5s,transform .8s var(--fno-ease)}
.fno-act.is-active .fno-act__label,.fno-act.is-active .fno-act__more{opacity:1;transform:none;transition-delay:.25s}
.fno-act__line{display:block;margin-block-start:8px;font-family:var(--fno-font-accent);font-style:italic;font-size:24px;color:var(--fno-gold-light)}
.fno-act__text{display:block;margin-block-start:12px;font-size:15.5px;line-height:1.7;color:rgba(var(--fno-bg-rgb),.82)}
@media (max-width:900px){
  .fno-acts__row{flex-direction:column;block-size:auto}
  .fno-act{min-block-size:90px;flex:0 0 auto;transition:min-block-size .8s var(--fno-ease)}
  .fno-act.is-active{min-block-size:420px}
}

/* --------------------------------------------------------------- Words */
.fno-words__grid{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:40px;align-items:stretch}
.fno-words__card{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;padding:50px;border-radius:40px;box-shadow:var(--fno-shadow-l)}
.fno-words__wm{inset-inline-end:-140px;inset-block-end:-140px;inline-size:400px;block-size:400px;opacity:.06}
.fno-words__count{margin:0;font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--fno-sage)}
.fno-words__word{margin:22px 0 0;font-family:var(--fno-font-display);font-size:clamp(2.5rem,1.8rem + 2.2vw,3.8rem);line-height:1;color:var(--fno-bg)}
.fno-words__say{display:flex;align-items:center;gap:18px;margin-block-start:26px}
.fno-words__ph{font-family:var(--fno-font-accent);font-style:italic;font-size:34px;color:var(--fno-gold-light)}
.fno-words__mean{margin-block-start:38px;padding-block-start:28px;border-block-start:1px solid var(--fno-line-light)}
.fno-words__label{margin:0 0 14px;font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--fno-sage)}
.fno-words__mean p:last-child{margin:0;font-size:19px;line-height:1.65;color:rgba(var(--fno-bg-rgb),.9)}
.fno-words__tip{display:flex;align-items:center;gap:14px;margin:auto 0 0;padding:16px 22px;border-radius:999px;background:rgba(var(--fno-bg-rgb),.08);font-size:14.5px;line-height:1.5;color:rgba(var(--fno-bg-rgb),.85)}
.fno-words__tip svg{color:var(--fno-gold);flex:0 0 auto}
.fno-words__mean{margin-block-end:30px}
.fno-words__card.is-swap .fno-words__word,.fno-words__card.is-swap .fno-words__ph,.fno-words__card.is-swap .fno-words__mean p:last-child{animation:fnoSwap .7s var(--fno-ease) both}
.fno-words__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.fno-word{
  position:relative;isolation:isolate;overflow:hidden;
  display:flex;flex-direction:column;justify-content:space-between;inline-size:100%;block-size:136px;padding:20px 22px;
  border-radius:22px;background:var(--fno-card);color:var(--fno-primary);text-align:start;
  transition:color .5s,transform .6s var(--fno-ease),box-shadow .6s;
}
.fno-word::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--fno-primary);clip-path:circle(0% at 100% 100%);transition:clip-path .8s var(--fno-curtain)}
.fno-word:hover{transform:translateY(-4px);box-shadow:var(--fno-shadow-s)}
.fno-word.is-active{color:var(--fno-bg)}
.fno-word.is-active::before{clip-path:circle(150% at 100% 100%)}
.fno-word__no{font-family:var(--fno-font-accent);font-style:italic;font-size:20px;opacity:.6}
.fno-word__w{display:block;font-family:var(--fno-font-display);font-size:23px;line-height:1.1}
.fno-word__ph{display:block;margin-block-start:4px;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--fno-brass);transition:color .5s}
.fno-word.is-active .fno-word__ph{color:var(--fno-gold-light)}
@media (max-width:1024px){.fno-words__grid{grid-template-columns:1fr}}
@media (max-width:560px){.fno-words__list{grid-template-columns:1fr 1fr}.fno-words__card{padding:34px 26px}}

/* -------------------------------------------------------------- Pantry */
.fno-pantry{position:relative;isolation:isolate;overflow:hidden}
.fno-pantry__wm{inset-inline-start:-200px;inset-block-start:-160px;inline-size:560px;block-size:560px}
.fno-pantry__grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 22px;margin:0;padding:0;list-style:none}
.fno-jar{block-size:300px;perspective:1400px;outline:0}
.fno-jar__in{position:relative;inline-size:100%;block-size:100%;transform-style:preserve-3d;transition:transform 1.1s var(--fno-ease)}
.fno-jar:hover .fno-jar__in,.fno-jar:focus-visible .fno-jar__in,.fno-jar.is-open .fno-jar__in{transform:rotateY(180deg)}
.fno-jar:focus-visible .fno-jar__in{box-shadow:0 0 0 2px var(--fno-gold);border-radius:30px}
.fno-jar__face,.fno-jar__back{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding:34px 26px;border-radius:30px;text-align:center;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.fno-jar__face{background:var(--fno-bg)}
.fno-jar__back{justify-content:center;transform:rotateY(180deg)}
.fno-jar__pot{
  inline-size:130px;block-size:130px;border-radius:50%;
  box-shadow:0 0 0 10px var(--fno-bg),0 0 0 11px rgba(138,106,44,.35),0 30px 40px -24px rgba(var(--fno-primary-dark-rgb),.45);
  background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.55) 0,rgba(255,255,255,0) 26%),radial-gradient(circle at 50% 45%,var(--light),var(--base) 75%);
  transition:transform .9s var(--fno-ease);
}
.fno-jar__pot.is-grain{background:
  radial-gradient(circle at 34% 28%,rgba(255,255,255,.45) 0,rgba(255,255,255,0) 24%),
  radial-gradient(rgba(0,0,0,.2) 1.2px,transparent 1.8px) 0 0/8px 8px,
  radial-gradient(rgba(255,255,255,.18) 1px,transparent 1.6px) 4px 4px/8px 8px,
  radial-gradient(circle at 50% 45%,var(--light),var(--base) 75%)}
.fno-jar:hover .fno-jar__pot{transform:rotate(-12deg) scale(1.04)}
.fno-jar__name{margin:30px 0 0;font-size:25px}
.fno-jar__native{margin:8px 0 0;font-size:10.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--fno-brass)}
.fno-jar__bname{margin:0;font-family:var(--fno-font-accent);font-style:italic;font-size:30px;line-height:1.1;color:var(--fno-gold-light)}
.fno-jar__what{margin:12px 0 0;font-size:14.5px;line-height:1.6;color:rgba(var(--fno-bg-rgb),.88)}
.fno-jar__rule{inline-size:40px;block-size:1px;margin-block:16px;background:var(--fno-gold)}
.fno-jar__label{margin:0;font-size:10.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--fno-sage)}
.fno-jar__find{margin:6px 0 0;font-size:14.5px;line-height:1.5;color:var(--fno-bg)}
@media (max-width:1024px){.fno-pantry__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.fno-pantry__grid{grid-template-columns:1fr}}

/* ----------------------------------------------------------------- Cup */
.fno-cup{position:relative;isolation:isolate;overflow:hidden;padding-block:calc(var(--fno-space-section) + 60px)}
.fno-cup__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(40px,6vw,90px);align-items:center}
.fno-cup__text2{margin:14px 0 0;font-size:17.5px;line-height:1.8;color:rgba(var(--fno-bg-rgb),.78)}
.fno-cup__card{margin-block-start:36px;min-block-size:160px;padding:30px 34px;border-radius:30px;background:rgba(var(--fno-bg-rgb),.06);box-shadow:inset 0 0 0 1px rgba(var(--fno-gold-rgb),.22)}
.fno-cup__label{margin:0;font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--fno-sage)}
.fno-cup__title{margin:8px 0 0;font-family:var(--fno-font-accent);font-style:italic;font-size:40px;line-height:1.1;color:var(--fno-gold-light)}
.fno-cup__msg{margin:8px 0 0;font-size:18px;line-height:1.6;color:rgba(var(--fno-bg-rgb),.85)}
.fno-cup.is-read .fno-cup__read{animation:fnoSwap .8s var(--fno-ease) both}
.fno-cup__actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-block-start:30px}
.fno-cup__actions small{font-size:13px;color:rgba(var(--fno-bg-rgb),.5)}
.fno-cup__stage{position:relative;display:flex;flex-direction:column;align-items:center}
.fno-cup__glow{position:absolute;inset-block-start:8%;inline-size:min(480px,90%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(var(--fno-gold-rgb),.18),transparent 70%)}
.fno-cup__steam{position:relative;z-index:2;inline-size:200px;block-size:120px;margin-block-end:-40px}
.fno-cup__steam path{fill:none;stroke:rgba(var(--fno-bg-rgb),.5);stroke-width:3;stroke-linecap:round;animation:fnoSteam 3.6s ease-in-out infinite}
.fno-cup__steam path:nth-child(2){animation-delay:-1.2s}.fno-cup__steam path:nth-child(3){animation-delay:-2.4s}
@keyframes fnoSteam{0%{opacity:0;transform:translateY(10px)}40%{opacity:.8}100%{opacity:0;transform:translateY(-34px)}}
.fno-cup.is-read .fno-cup__steam,.fno-cup.is-turning .fno-cup__steam{opacity:0}
.fno-cup__btn{position:relative;inline-size:min(460px,86vw);transition:transform .6s var(--fno-ease)}
.fno-cup__btn:hover{transform:scale(1.03) rotate(-3deg)}
.fno-cup__svg{inline-size:100%;block-size:auto}
.fno-cup.is-turning .fno-cup__svg{animation:fnoCupTurn 1.2s var(--fno-curtain) both}
@keyframes fnoCupTurn{0%{transform:none}35%{transform:rotate(-24deg) scale(.92)}100%{transform:rotate(360deg) scale(1)}}
.fno-cup__grounds{opacity:0;transition:opacity .6s}
.fno-cup.is-read .fno-cup__grounds{opacity:1}
.fno-cup.is-read .fno-cup__coffee{opacity:0}
.fno-cup__shape{transform-origin:230px 230px}
.fno-cup.is-read .fno-cup__shape{animation:fnoReveal 1.1s var(--fno-ease) both}
@keyframes fnoReveal{from{opacity:0;transform:scale(.6) rotate(-30deg)}to{opacity:1;transform:none}}
.fno-cup__caption{margin:26px 0 0;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(var(--fno-bg-rgb),.55)}
@media (max-width:900px){.fno-cup__grid{grid-template-columns:1fr}.fno-cup__stage{order:-1}}

/* ---------------------------------------------------------- Polaroids */
.fno-polas{position:relative;padding-block:var(--fno-space-section);background:var(--fno-bg-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3Cpath d='M0 3h6M3 0v6' stroke='%23003E3B' stroke-opacity='.035'/%3E%3C/svg%3E")}
.fno-polas__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin-block-end:60px}
.fno-polas__head .fno-head{margin:0}
.fno-polas__filters{display:flex;flex-wrap:wrap;gap:8px;padding:8px;border-radius:999px;background:var(--fno-bg);box-shadow:var(--fno-shadow-s)}
.fno-polas__filters .fno-chip{box-shadow:none}
.fno-polas__table{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:34px 26px;margin:0;padding:0;list-style:none}
.fno-pola{--r:0deg;position:relative;transform:rotate(var(--r));transition:transform .8s var(--fno-ease),opacity .6s,filter .6s;z-index:1}
.fno-pola:nth-child(3n+2){margin-block-start:28px}
.fno-pola:nth-child(4n+3){margin-block-start:-10px}
.fno-pola:hover{transform:rotate(0) scale(1.08) translateY(-10px);z-index:5}
.fno-pola.is-dim{opacity:.14;filter:grayscale(1) blur(1px);pointer-events:none}
.fno-pola__btn{display:block;inline-size:100%;padding:12px 12px 0;background:#FFFDF8;text-align:center;box-shadow:0 2px 3px rgba(var(--fno-primary-rgb),.08),0 26px 40px -26px rgba(var(--fno-primary-dark-rgb),.45);transition:box-shadow .8s}
.fno-pola:hover .fno-pola__btn{box-shadow:0 4px 6px rgba(var(--fno-primary-rgb),.08),0 50px 70px -34px rgba(var(--fno-primary-dark-rgb),.6)}
.fno-pola__im{display:block;aspect-ratio:1;overflow:hidden;background:var(--fno-bg-soft)}
.fno-pola__im img{inline-size:100%;block-size:100%;object-fit:cover;transition:transform 1.4s var(--fno-ease)}
.fno-pola:hover .fno-pola__im img{transform:scale(1.12)}
.fno-pola__cap{display:flex;align-items:center;justify-content:center;block-size:58px;font-family:var(--fno-font-accent);font-style:italic;font-weight:500;font-size:21px;color:var(--fno-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fno-pola--tape::before{content:"";position:absolute;inset-inline-start:50%;inset-block-start:-12px;z-index:2;inline-size:86px;block-size:26px;margin-inline-start:-43px;background:rgba(233,207,148,.6);transform:rotate(-3deg);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.fno-pola--pin::before{content:"";position:absolute;inset-inline-start:50%;inset-block-start:-7px;z-index:2;inline-size:16px;block-size:16px;margin-inline-start:-8px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--fno-gold-light),var(--fno-brass));box-shadow:0 3px 5px rgba(0,0,0,.25)}
.fno-pola__notecard{display:flex;flex-direction:column;justify-content:center;aspect-ratio:232/278;padding:30px 26px;box-shadow:var(--fno-shadow-m)}
.fno-pola__notecard p{margin:12px 0 0;font-size:14px;line-height:1.6;color:rgba(var(--fno-bg-rgb),.8)}
.fno-pola__nt{margin:0!important;font-family:var(--fno-font-accent);font-style:italic;font-size:30px!important;line-height:1.15!important;color:var(--fno-gold-light)!important}

/* Lightbox */
.fno-lb{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:var(--fno-gutter);background:rgba(var(--fno-primary-dark-rgb),.96);color:var(--fno-bg);opacity:0;transition:opacity .5s var(--fno-ease)}
.fno-lb.is-open{opacity:1}
.fno-lb__close{position:absolute;inset-inline-end:var(--fno-gutter);inset-block-start:var(--fno-gutter);z-index:2}
.fno-lb__grid{position:relative;display:grid;grid-template-columns:minmax(0,640px) minmax(0,460px);gap:clamp(30px,5vw,80px);align-items:center;inline-size:100%;max-inline-size:1180px}
.fno-lb__frame{margin:0;padding:18px 18px 0;background:#FFFDF8;transform:rotate(-2deg);box-shadow:0 60px 100px -50px rgba(0,0,0,.8)}
.fno-lb__frame.is-in{animation:fnoLbImg 1s var(--fno-ease) both}
@keyframes fnoLbImg{from{opacity:0;transform:scale(.9) rotate(-4deg)}to{opacity:1;transform:rotate(-2deg)}}
.fno-lb__frame img{inline-size:100%;aspect-ratio:1;max-block-size:62vh;object-fit:cover;background:var(--fno-bg-soft)}
.fno-lb__frame figcaption{display:flex;align-items:center;justify-content:center;block-size:74px;font-family:var(--fno-font-accent);font-style:italic;font-size:30px;color:var(--fno-primary)}
.fno-lb__no{margin:0;font-family:var(--fno-font-accent);font-style:italic;font-size:30px;color:var(--fno-gold)}
.fno-lb__no small{font-size:20px;opacity:.6}
.fno-lb__info .fno-eyebrow{margin-block:26px 0;color:var(--fno-sage)}
.fno-lb__title{margin:14px 0 0;font-size:clamp(1.9rem,1.4rem + 1.5vw,2.7rem);color:var(--fno-bg)}
.fno-lb__story{margin:20px 0 0;font-size:16.5px;line-height:1.75;color:rgba(var(--fno-bg-rgb),.82)}
.fno-lb__ctrl{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-block-start:40px}
@media (max-width:900px){.fno-lb{align-items:flex-start;overflow:auto}.fno-lb__grid{grid-template-columns:1fr;padding-block:70px 30px}.fno-lb__frame{max-inline-size:440px;margin-inline:auto}}

/* ------------------------------------------------------------ Swatches */
.fno-swatches{position:relative;isolation:isolate;overflow:hidden;padding-block:calc(var(--fno-space-section) + 40px)}
.fno-swatches .fno-container{position:relative;z-index:2}
.fno-swatches__row{display:flex;gap:14px;margin:0;padding:0;list-style:none;block-size:clamp(340px,30vw,440px)}
/* Hover opens a swatch. One soft curve for everything (no layout-animated sizes:
   the photo scales with transform, the text never re-wraps) so it glides open. */
.fno-swatches{--sw-ease:cubic-bezier(.22,1,.36,1);--sw-dur:1.05s}
.fno-sw{position:relative;overflow:hidden;flex:1 1 0;min-inline-size:0;border-radius:999px;background:var(--sw);color:var(--swfg);outline:0;cursor:pointer;will-change:flex-grow;transition:flex-grow var(--sw-dur) var(--sw-ease),box-shadow .6s var(--sw-ease),filter .6s}
.fno-swatches__row:hover .fno-sw:not(:hover){filter:saturate(.8) brightness(.94)}
.fno-sw:hover,.fno-sw:focus-visible,.fno-sw.is-open{flex-grow:2.4;box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
.fno-sw:focus-visible{box-shadow:0 0 0 3px var(--fno-gold-light),0 30px 60px -30px rgba(0,0,0,.55)}
.fno-sw__ci{position:absolute;inset-inline-start:50%;inset-block-start:22px;inline-size:112px;block-size:112px;margin-inline-start:-56px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 5px rgba(255,255,255,.25);transform-origin:50% 0;transition:transform var(--sw-dur) var(--sw-ease),box-shadow .6s}
.fno-sw:hover .fno-sw__ci,.fno-sw:focus-visible .fno-sw__ci,.fno-sw.is-open .fno-sw__ci{transform:scale(1.5) rotate(-14deg);box-shadow:0 0 0 4px rgba(255,255,255,.35),0 24px 40px -20px rgba(0,0,0,.5)}
.fno-sw__ci img{inline-size:100%;block-size:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.6s var(--sw-ease)}
.fno-sw:hover .fno-sw__ci img{transform:scale(1)}
.fno-sw__txt{position:absolute;inset-inline-start:50%;inset-block-end:44px;inline-size:150px;margin-inline-start:-75px;text-align:center;transition:transform var(--sw-dur) var(--sw-ease)}
.fno-sw__name{display:block;font-family:var(--fno-font-accent);font-style:italic;font-weight:500;font-size:25px;line-height:1.1;transform-origin:50% 100%;transition:transform var(--sw-dur) var(--sw-ease)}
.fno-sw:hover .fno-sw__name,.fno-sw.is-open .fno-sw__name{transform:scale(1.12)}
.fno-sw__dish{display:block;margin-block-start:10px;font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;opacity:.75;white-space:nowrap}
.fno-sw__hex{display:block;margin-block-start:8px;font-size:12px;letter-spacing:.12em;opacity:0;transform:translateY(6px);transition:opacity .45s,transform .7s var(--sw-ease)}
.fno-sw:hover .fno-sw__hex,.fno-sw.is-open .fno-sw__hex{opacity:.8;transform:none;transition-delay:.25s}
@media (prefers-reduced-motion:reduce){.fno-sw,.fno-sw__ci,.fno-sw__name{transition-duration:.01s}}
@media (max-width:900px){
  .fno-swatches__row{flex-wrap:wrap;block-size:auto}
  .fno-sw{flex:1 1 40%;block-size:280px;border-radius:40px}
  .fno-sw:hover{flex-grow:1}
}

/* --------------------------------------------------------------- Share */
.fno-share{position:relative;isolation:isolate;overflow:hidden}
.fno-share__wm{inset-inline-start:-180px;inset-block-end:-200px;inline-size:560px;block-size:560px}
.fno-share__grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,90px);align-items:center}
.fno-share__stack{position:relative;block-size:540px;margin:0;padding:0;list-style:none}
.fno-share__stack .fno-pola{position:absolute;inline-size:232px}
.fno-share__stack .fno-pola:nth-child(1){inset-inline-start:0;inset-block-start:70px}
.fno-share__stack .fno-pola:nth-child(2){inset-inline-start:52%;inset-block-start:10px}
.fno-share__stack .fno-pola:nth-child(3){inset-inline-start:28%;inset-block-start:240px;z-index:3}
.fno-share__stack .fno-pola:hover{transform:rotate(var(--r)) scale(1.04)}
@media (max-width:900px){.fno-share__grid{grid-template-columns:1fr}.fno-share__stack{block-size:460px;max-inline-size:520px;margin-inline:auto;inline-size:100%}}

/* --------------------------------------------------------------- Visit */
.fno-visit__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:30px;align-items:stretch}
.fno-visit__map{position:relative;isolation:isolate;overflow:hidden;min-block-size:520px;border-radius:40px;background:var(--fno-bg-soft);box-shadow:var(--fno-shadow-m)}
.fno-visit__cover{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover;filter:saturate(.6) brightness(.85)}
.fno-visit__map::after{content:"";position:absolute;inset:0;background:rgba(var(--fno-primary-rgb),.35)}
.fno-visit__pin{position:absolute;inset-inline-start:50%;inset-block-start:44%;z-index:2;inline-size:104px;block-size:104px;margin:-52px 0 0 -52px;border-radius:50%;background:var(--fno-bg);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 12px rgba(var(--fno-bg-rgb),.25),var(--fno-shadow-m);animation:fnoFloat 6s ease-in-out infinite}
.fno-visit__pin img{inline-size:80%;block-size:80%;object-fit:contain}
.fno-visit__load{position:absolute;inset-inline-start:50%;inset-block-end:34px;z-index:2;transform:translateX(-50%)}
.fno-visit__map iframe{position:absolute;inset:0;z-index:4;inline-size:100%;block-size:100%;border:0}
.fno-visit__side{display:grid;gap:24px;align-content:start}
.fno-vcard{padding:clamp(26px,3vw,40px);border-radius:32px;background:var(--fno-card);box-shadow:var(--fno-shadow-s)}
.fno-vcard__label{margin:0 0 12px;font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--fno-brass)}
.fno-vcard__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-block-end:10px}
.fno-vcard__row .fno-vcard__label{margin:0}
.fno-vcard__big{margin:0 0 18px;font-family:var(--fno-font-display);font-size:24px;line-height:1.35;color:var(--fno-primary)}
@media (max-width:900px){.fno-visit__grid{grid-template-columns:1fr}.fno-visit__map{min-block-size:420px}}

/* Contact cards */
.fno-contact{padding-block-end:var(--fno-space-section)}
.fno-contact__grid{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none}
.fno-ccard{border-radius:28px;background:var(--fno-card);transition:transform .7s var(--fno-ease),box-shadow .7s var(--fno-ease)}
.fno-ccard:hover{transform:translateY(-6px);box-shadow:var(--fno-shadow-m)}
.fno-ccard__a,.fno-ccard > .fno-ccard__ic{color:inherit}
.fno-ccard__a,.fno-ccard{display:flex;flex-direction:column;gap:6px;padding:30px}
.fno-ccard__a{padding:0}
.fno-ccard__ic{inline-size:54px;block-size:54px;margin-block-end:12px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--fno-bg-soft);color:var(--fno-primary);transition:background-color .4s,color .4s,transform .6s var(--fno-ease)}
.fno-ccard:hover .fno-ccard__ic{background:var(--fno-primary);color:var(--fno-bg);transform:rotate(-12deg)}
.fno-ccard__label{font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--fno-mute)}
.fno-ccard__value{font-family:var(--fno-font-display);font-size:20px;line-height:1.35;color:var(--fno-primary);overflow-wrap:anywhere}
@media (max-width:1024px){.fno-contact__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.fno-contact__grid{grid-template-columns:1fr}}

/* Contact form */
.fno-cform__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,90px);align-items:start}
.fno-cform__photo{inline-size:min(100%,360px);aspect-ratio:360/440;margin-block-start:20px}
.fno-cform__card{padding:clamp(30px,4vw,54px);border-radius:36px;background:var(--fno-card);box-shadow:var(--fno-shadow-m)}
.fno-cform__form{display:grid;grid-template-columns:1fr 1fr;gap:26px 28px}
.fno-fld{display:flex;flex-direction:column;gap:8px}
.fno-fld--full,.fno-cform__foot{grid-column:1/-1}
.fno-fld label{font:600 12px var(--fno-font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--fno-mute)}
.fno-fld input,.fno-fld select,.fno-fld textarea{inline-size:100%;block-size:56px;padding:0 2px;border:0;border-block-end:1px solid rgba(var(--fno-primary-rgb),.3);border-radius:0;background:transparent;font-size:17px;color:var(--fno-ink);outline:none;transition:border-color .4s}
.fno-fld textarea{block-size:130px;padding-block-start:14px;resize:vertical}
.fno-fld input:focus,.fno-fld select:focus,.fno-fld textarea:focus{border-block-end-color:var(--fno-gold)}
.fno-fld.is-bad input,.fno-fld.is-bad textarea{border-block-end-color:#A3303A}
.fno-hp{position:absolute;inset-inline-start:-9999px;block-size:1px;overflow:hidden}
.fno-cform__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.fno-cform__note{margin:0;font-size:13.5px;color:var(--fno-mute)}
.fno-cform__note.is-error{color:#A3303A}
.fno-cform__ok{text-align:center;padding-block:30px;animation:fnoSwap .8s var(--fno-ease) both}
.fno-cform__okic{inline-size:74px;block-size:74px;margin:0 auto 18px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--fno-primary);color:var(--fno-gold-light)}
.fno-cform__ok h3{margin:0}
.fno-cform__ok p{margin:14px auto 26px;max-inline-size:420px}
@media (max-width:900px){.fno-cform__grid{grid-template-columns:1fr}.fno-cform__photo{display:none}}
@media (max-width:560px){.fno-cform__form{grid-template-columns:1fr}}

/* FAQ */
.fno-faq__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,6vw,90px);align-items:start}
.fno-faq__grid .fno-head{position:sticky;inset-block-start:calc(var(--fno-sticky-h) + 20px)}
.fno-acc{border-block-end:1px solid var(--fno-line)}
.fno-acc__h{margin:0;font-size:inherit}
.fno-acc__btn{display:flex;align-items:center;justify-content:space-between;gap:20px;inline-size:100%;padding-block:26px;text-align:start;font-family:var(--fno-font-display);font-size:21px;line-height:1.3;color:var(--fno-primary)}
.fno-acc__pl{flex:0 0 auto;inline-size:40px;block-size:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(var(--fno-primary-rgb),.3);transition:transform .5s var(--fno-ease),background-color .4s,color .4s}
.fno-acc.is-open .fno-acc__pl{transform:rotate(45deg);background:var(--fno-primary);color:var(--fno-bg)}
.fno-acc__panel p{margin:0;padding-block-end:26px;max-inline-size:640px;font-size:16.5px;line-height:1.75}
.fno-acc.is-open .fno-acc__panel{animation:fnoSwap .6s var(--fno-ease) both}
@media (max-width:900px){.fno-faq__grid{grid-template-columns:1fr}.fno-faq__grid .fno-head{position:static}}

/* Tight heading blocks inside two-column copy */
.fno-cup .fno-head,.fno-about .fno-head,.fno-chef .fno-head,.fno-place .fno-head,.fno-share .fno-head,.fno-cform .fno-head,.fno-faq .fno-head{margin-block-end:0}
.fno-cup .fno-head__text,.fno-place .fno-head__text,.fno-share .fno-head__text{font-size:17.5px;line-height:1.8}
.fno-on-green .fno-head__text{color:rgba(var(--fno-bg-rgb),.78)}
@media (max-width:560px){
  .fno-polas__table{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}
  .fno-pola__btn{padding:8px 8px 0}
  .fno-pola__cap{block-size:40px;font-size:16px}
  .fno-pola:nth-child(3n+2),.fno-pola:nth-child(4n+3){margin-block-start:0}
  .fno-pola:nth-child(even){margin-block-start:18px}
  .fno-polas__filters{border-radius:24px}
  .fno-features__capsule{padding:26px 18px}
}

/* ================================================================ Reviews
   A green panel: live Google score on the left, a hand-dealt deck of real
   review cards on the right (auto-advances, swipe, read-more). */
.fno-reviews__panel{
  position:relative;isolation:isolate;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,5vw,80px);align-items:center;
  padding:clamp(34px,4.4vw,64px);border-radius:40px;
}
.fno-reviews__panel::before{content:"";position:absolute;inset:14px;border-radius:30px;box-shadow:inset 0 0 0 1px rgba(var(--fno-gold-rgb),.2);pointer-events:none}
.fno-reviews__panel.is-empty{grid-template-columns:1fr;text-align:center;justify-items:center}
.fno-reviews__side{position:relative;z-index:1}
.fno-reviews__title{margin:0;font-size:clamp(1.9rem,1.4rem + 1.5vw,2.6rem)}
.fno-reviews__score{display:flex;align-items:center;gap:20px;margin-block-start:26px}
.fno-reviews__score > b{font-family:var(--fno-font-display);font-weight:400;font-size:clamp(3.6rem,2.8rem + 2.4vw,5rem);line-height:.9;color:var(--fno-bg);font-variant-numeric:tabular-nums}
.fno-rstars{position:relative;display:inline-block;font-size:22px;letter-spacing:.14em;line-height:1;color:rgba(var(--fno-bg-rgb),.2)}
.fno-rstars__on{position:absolute;inset:0 auto 0 0;overflow:hidden;white-space:nowrap;color:var(--fno-gold);inline-size:var(--p);transition:inline-size 1.4s var(--fno-ease)}
.fno-reviews__panel:not(.is-counted) [data-fno-count-to] + div .fno-rstars__on{inline-size:0}
.fno-reviews__based{display:flex;align-items:center;gap:8px;margin:10px 0 0;font-size:14px;color:rgba(var(--fno-bg-rgb),.72)}
.fno-reviews__based .fno-g{flex:none;padding:3px;border-radius:50%;background:#fff;box-sizing:content-box}
.fno-reviews__lead{margin:18px 0 0;max-inline-size:440px;font-size:16px;line-height:1.7}
.fno-reviews__panel.is-empty .fno-reviews__lead{margin-inline:auto}
.fno-reviews__acts{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-block-start:32px}
.fno-reviews__panel.is-empty .fno-reviews__acts{justify-content:center}
.fno-reviews__all{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;letter-spacing:.04em;color:var(--fno-gold-light);border-block-end:1px solid rgba(var(--fno-gold-rgb),.5);padding-block-end:3px;transition:gap .4s var(--fno-ease),color .3s}
.fno-reviews__all:hover{gap:12px;color:var(--fno-bg)}
.fno-reviews__credit{margin:14px 0 0;text-align:end;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(var(--fno-bg-rgb),.45)}

.fno-rdeck{position:relative;z-index:1}
.fno-rdeck__cards{position:relative;display:grid;margin:0;padding:0;list-style:none}
.fno-rcard{
  --pos:0;grid-area:1/1;position:relative;display:flex;flex-direction:column;
  padding:38px 36px 26px;border-radius:26px;background:#FFFDF8;color:var(--fno-ink);
  box-shadow:0 30px 60px -34px rgba(0,0,0,.55);
  transform-origin:50% 120%;
  transform:translate(calc(var(--pos) * 14px),calc(var(--pos) * -12px)) rotate(calc(var(--pos) * 2.2deg)) scale(calc(1 - var(--pos) * .04));
  z-index:calc(10 - var(--pos));opacity:calc(1 - var(--pos) * .18);
  transition:transform .8s var(--fno-ease),opacity .6s;
}
.fno-rcard:not(.is-top){pointer-events:none}
.fno-rcard:not(.is-top) > *{opacity:.0;transition:opacity .3s}
.fno-rcard.is-top > *{opacity:1;transition:opacity .5s .15s}
.fno-rcard.is-gone{opacity:0}
.fno-rcard.is-out{animation:fnoCardOut .65s var(--fno-ease) both}
.fno-rcard.is-back{animation:fnoCardBack .65s var(--fno-ease) both}
@keyframes fnoCardOut{0%{transform:none;opacity:1;z-index:20}100%{transform:translate(-40%,30px) rotate(-14deg);opacity:0;z-index:20}}
@keyframes fnoCardBack{0%{transform:translate(40%,30px) rotate(14deg);opacity:0;z-index:20}100%{transform:none;opacity:1;z-index:20}}
.fno-rcard__mark{position:absolute;inset-inline-end:28px;inset-block-start:4px;font-family:var(--fno-font-accent);font-style:italic;font-size:110px;line-height:1;color:rgba(var(--fno-gold-rgb),.35);pointer-events:none}
.fno-rcard__stars{font-size:17px;letter-spacing:.12em;color:var(--fno-gold)}
.fno-rcard__stars span{color:rgba(var(--fno-primary-rgb),.15)}
.fno-rcard__text{margin:16px 0 0;padding:0;border:0}
.fno-rcard__text p{margin:0;font-size:19px;line-height:1.6;color:var(--fno-ink);display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.fno-rcard.is-open .fno-rcard__text p{-webkit-line-clamp:unset;display:block;max-block-size:280px;overflow:auto}
.fno-rcard__more{align-self:flex-start;margin-block-start:8px;font-size:13px;font-weight:600;color:var(--fno-brass);text-decoration:underline;text-underline-offset:3px}
.fno-rcard__more[hidden]{display:none}
.fno-rcard__who{display:flex;align-items:center;gap:12px;margin-block-start:auto;padding-block-start:22px;border-block-start:1px solid var(--fno-line);margin-top:22px}
.fno-rcard__av{flex:none;display:grid;place-items:center;inline-size:44px;block-size:44px;border-radius:50%;overflow:hidden;background:var(--fno-primary);color:var(--fno-gold-light);font-family:var(--fno-font-display);font-size:19px}
.fno-rcard__av img{inline-size:100%;block-size:100%;object-fit:cover}
.fno-rcard__meta{display:flex;flex-direction:column;min-inline-size:0;flex:1}
.fno-rcard__meta b{font-weight:600;font-size:15px;color:var(--fno-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fno-rcard__meta small{font-size:12.5px;color:var(--fno-mute)}
.fno-rcard__g{flex:none;display:grid;place-items:center;inline-size:38px;block-size:38px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--fno-line);transition:transform .4s var(--fno-ease)}
a.fno-rcard__g:hover{transform:rotate(-12deg) scale(1.08)}
.fno-rdeck__ctrl{display:flex;align-items:center;gap:16px;margin-block-start:34px}
.fno-rdeck__count{margin:0;font-size:13px;letter-spacing:.14em;color:rgba(var(--fno-bg-rgb),.6);font-variant-numeric:tabular-nums}
.fno-rdeck__count b{font-family:var(--fno-font-display);font-weight:400;font-size:20px;letter-spacing:0;color:var(--fno-bg)}
.fno-rdeck__bar{flex:1;block-size:1px;background:rgba(var(--fno-bg-rgb),.2);overflow:hidden}
.fno-rdeck__bar i{display:block;block-size:100%;background:var(--fno-gold);transform:scaleX(0);transform-origin:left}
@media (max-width:960px){
  .fno-reviews__panel{grid-template-columns:1fr;border-radius:30px}
  .fno-rcard{padding:30px 24px 20px}
  .fno-rcard__mark{font-size:84px}
}

/* ============================================================ Review popup */
.fno-rmodal,.fno-gmodal{position:fixed;inset:0;z-index:400;display:grid;place-items:center;padding:16px;visibility:hidden;transition:visibility 0s .5s}
.fno-rmodal.is-open,.fno-gmodal.is-open{visibility:visible;transition:none}
.fno-rmodal__scrim,.fno-gmodal__scrim{position:absolute;inset:0;background:rgba(var(--fno-primary-dark-rgb),.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .5s}
.is-open > .fno-rmodal__scrim,.is-open > .fno-gmodal__scrim{opacity:1}
.fno-rmodal__panel,.fno-gmodal__panel{
  position:relative;inline-size:min(560px,100%);max-block-size:calc(100svh - 32px);overflow:auto;overscroll-behavior:contain;
  padding:clamp(30px,4vw,48px);border-radius:32px;background:var(--fno-bg);text-align:center;
  box-shadow:0 50px 100px -40px rgba(0,0,0,.6);
  opacity:0;transform:translateY(30px) scale(.96);transition:opacity .45s,transform .6s var(--fno-ease);
}
.is-open > .fno-rmodal__panel,.is-open > .fno-gmodal__panel{opacity:1;transform:none}
.fno-rmodal__x,.fno-gmodal__x{position:absolute;inset-inline-end:16px;inset-block-start:16px;z-index:3;inline-size:42px;block-size:42px;border-radius:50%;display:grid;place-items:center;color:var(--fno-primary);box-shadow:inset 0 0 0 1px var(--fno-line);transition:transform .5s var(--fno-ease),background-color .3s}
.fno-rmodal__x:hover,.fno-gmodal__x:hover{transform:rotate(90deg);background:var(--fno-card)}
.fno-rmodal__step{display:none}
.fno-rmodal__step.is-on{display:block;animation:fnoStepIn .6s var(--fno-ease) both}
@keyframes fnoStepIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.fno-rmodal__logo{inline-size:64px;block-size:64px;margin:0 auto 18px}
.fno-rmodal__title{margin:6px 0 0;font-size:clamp(1.7rem,1.4rem + 1vw,2.2rem);line-height:1.15}
.fno-rmodal__sub{margin:12px auto 0;max-inline-size:420px;font-size:15px;line-height:1.65}
.fno-rpick{display:flex;justify-content:center;gap:6px;margin-block-start:26px}
.fno-rpick__s{padding:4px;border-radius:14px;color:rgba(var(--fno-primary-rgb),.14);transition:transform .35s var(--fno-ease),color .25s}
.fno-rpick__s svg{display:block;fill:currentColor;stroke:rgba(var(--fno-primary-rgb),.2);stroke-width:.8}
.fno-rpick__s:hover{transform:translateY(-4px) scale(1.08)}
.fno-rpick__s.is-lit{color:var(--fno-gold)}
.fno-rpick__s.is-lit svg{stroke:var(--fno-brass)}
.is-picked .fno-rpick__s.is-lit{animation:fnoStarPop .5s var(--fno-ease) both;animation-delay:var(--d)}
@keyframes fnoStarPop{50%{transform:scale(1.3) rotate(-8deg)}}
.fno-rpick__mood{min-block-size:1.5em;margin:12px 0 0;font-family:var(--fno-font-accent);font-style:italic;font-size:22px;color:var(--fno-brass)}
.fno-rmodal__step[data-step="2"] .fno-eyebrow span{letter-spacing:.14em}
.fno-rphr{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-block-start:20px}
.fno-rphr__b{padding:8px 14px;border-radius:999px;font-size:13.5px;color:var(--fno-primary);background:var(--fno-card);box-shadow:inset 0 0 0 1px var(--fno-line);transition:background-color .3s,color .3s,box-shadow .3s,transform .3s var(--fno-ease)}
.fno-rphr__b:hover{box-shadow:inset 0 0 0 1px rgba(var(--fno-primary-rgb),.4)}
.fno-rphr__b[aria-pressed="true"]{background:var(--fno-primary);color:var(--fno-bg);box-shadow:none;transform:scale(1.03)}
.fno-rmodal__text,.fno-gf input,.fno-gf textarea{
  inline-size:100%;padding:14px 18px;border:0;border-radius:18px;background:var(--fno-card);color:var(--fno-ink);
  font:inherit;font-size:15.5px;line-height:1.55;box-shadow:inset 0 0 0 1px var(--fno-line);outline:none;resize:vertical;transition:box-shadow .3s
}
.fno-rmodal__text{margin-block-start:16px;text-align:start}
.fno-rmodal__text:focus,.fno-gf input:focus,.fno-gf textarea:focus{box-shadow:inset 0 0 0 1px var(--fno-gold),0 0 0 4px rgba(var(--fno-gold-rgb),.16)}
.fno-rmodal__go{display:flex;align-items:center;justify-content:center;gap:22px;margin-block-start:22px}
.fno-rmodal__cta,.fno-gmodal__send{
  position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:12px;block-size:56px;padding-inline:22px 24px;border-radius:999px;
  background:var(--fno-primary);color:var(--fno-bg);font-size:14.5px;font-weight:600;letter-spacing:.03em;transition:background-color .3s,transform .4s var(--fno-ease)
}
.fno-rmodal__cta .fno-g{padding:4px;border-radius:50%;background:#fff;box-sizing:content-box}
.fno-rmodal__cta svg:last-child{transition:transform .4s var(--fno-ease)}
.fno-rmodal__cta:hover{background:var(--fno-primary-dark)}
.fno-rmodal__cta:hover svg:last-child{transform:translateX(4px)}
.fno-rmodal__qr{display:flex;flex-direction:column;align-items:center;gap:6px}
.fno-rmodal__qr[hidden]{display:none}
.fno-rmodal__qrbox{display:block;inline-size:84px;block-size:84px;padding:6px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px var(--fno-line)}
.fno-rmodal__qrbox svg{display:block;inline-size:100%;block-size:100%}
.fno-rmodal__qr small{max-inline-size:110px;font-size:11px;line-height:1.3;color:var(--fno-mute)}
.fno-rmodal__private{margin:22px 0 0;font-size:13.5px;color:var(--fno-mute)}
.fno-rmodal__private a{color:var(--fno-brass);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.fno-rmodal__done{display:inline-block;margin-block-end:10px}
.fno-rmodal__done svg{fill:none;stroke-linecap:round;stroke-linejoin:round}
.fno-rmodal__done circle{stroke:var(--fno-gold);stroke-width:2;stroke-dasharray:151;stroke-dashoffset:151}
.fno-rmodal__done path{stroke:var(--fno-primary);stroke-width:3;stroke-dasharray:40;stroke-dashoffset:40}
.is-on .fno-rmodal__done circle,.fno-gmodal__thanks:not([hidden]) .fno-rmodal__done circle{animation:fnoDraw .8s var(--fno-ease) .1s forwards}
.is-on .fno-rmodal__done path,.fno-gmodal__thanks:not([hidden]) .fno-rmodal__done path{animation:fnoDraw .5s var(--fno-ease) .7s forwards}
@keyframes fnoDraw{to{stroke-dashoffset:0}}
.fno-rmodal__kbd{margin:16px 0 0;font-size:13px;color:var(--fno-mute)}
.fno-rmodal__kbd[hidden]{display:none}
.fno-rmodal__kbd kbd{display:inline-block;padding:3px 8px;border-radius:6px;background:var(--fno-card);box-shadow:inset 0 -2px 0 var(--fno-line),inset 0 0 0 1px var(--fno-line);font:600 12px var(--fno-font-body);color:var(--fno-primary)}
.fno-rmodal__again{display:inline-block;margin-block-start:18px;font-size:13px;color:var(--fno-brass);text-decoration:underline;text-underline-offset:3px}
@media (max-width:560px){.fno-rpick__s svg{inline-size:40px;block-size:40px}.fno-rmodal__go{flex-direction:column}}

/* ========================================================= Guest popup */
.fno-gmodal__panel{
  inline-size:min(940px,100%);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,50px);align-items:center;text-align:start;
  background:var(--fno-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72'%3E%3Cg fill='none' stroke='%23003E3B' stroke-opacity='.04'%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");
}
.fno-gmodal__preview{display:flex;flex-direction:column;align-items:center;gap:18px}
.fno-gpola{position:relative;margin:0;inline-size:min(100%,300px);padding:14px 14px 0;background:#FFFDF8;transform:rotate(-4deg);box-shadow:0 2px 3px rgba(var(--fno-primary-rgb),.08),0 40px 60px -34px rgba(var(--fno-primary-dark-rgb),.55);transition:transform .8s var(--fno-ease)}
.fno-gpola__tape{position:absolute;inset-inline-start:50%;inset-block-start:-13px;z-index:2;inline-size:92px;block-size:26px;margin-inline-start:-46px;background:rgba(233,207,148,.7);transform:rotate(3deg)}
.fno-gpola__im{position:relative;display:grid;place-items:center;aspect-ratio:1;overflow:hidden;background:var(--fno-bg-soft);cursor:pointer;box-shadow:inset 0 0 0 1.5px transparent;transition:box-shadow .3s}
.fno-gpola__im.is-over{box-shadow:inset 0 0 0 2px var(--fno-gold)}
.fno-gpola__im img{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover}
.fno-gpola__im img[hidden]{display:none}
.fno-gpola__ph{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--fno-brass);font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.fno-gpola__ph svg{inline-size:56px;block-size:56px;padding:14px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(var(--fno-gold-rgb),.6);box-sizing:border-box}
.has-img .fno-gpola__ph{display:none}
.fno-gpola figcaption{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px 18px;text-align:center}
.fno-gpola__note{font-family:var(--fno-font-accent);font-style:italic;font-weight:500;font-size:20px;line-height:1.25;color:var(--fno-primary);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.fno-gpola__name{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fno-brass)}
.fno-gpola.is-drop{animation:fnoPolaDrop .8s var(--fno-ease) both}
@keyframes fnoPolaDrop{0%{transform:rotate(-12deg) translateY(-24px) scale(.94)}100%{transform:rotate(-4deg)}}
.fno-gpola.is-pinned{transform:rotate(2deg) scale(1.02)}
.fno-gmodal__hint{margin:0;font-size:12.5px;letter-spacing:.1em;color:var(--fno-mute);text-align:center}
.fno-gmodal__title{margin:6px 0 0;font-size:clamp(1.7rem,1.4rem + 1vw,2.2rem);line-height:1.15}
.fno-gmodal__sub{margin:12px 0 0;font-size:15px;line-height:1.65}
.fno-gfile{position:relative;display:flex;align-items:center;gap:14px;margin-block-start:22px;padding:14px 16px;border-radius:20px;background:var(--fno-card);box-shadow:inset 0 0 0 1.5px rgba(var(--fno-gold-rgb),.55);cursor:pointer;transition:box-shadow .3s,background-color .3s}
.fno-gfile:hover,.fno-gfile.is-over{box-shadow:inset 0 0 0 1.5px var(--fno-gold);background:#fff}
.fno-gfile input{position:absolute;inset:0;opacity:0;cursor:pointer}
.fno-gfile__ic{flex:none;display:grid;place-items:center;inline-size:44px;block-size:44px;border-radius:50%;background:var(--fno-primary);color:var(--fno-bg);transition:transform .5s var(--fno-ease)}
.fno-gfile:hover .fno-gfile__ic{transform:rotate(90deg)}
.fno-gfile.is-set .fno-gfile__ic{background:var(--fno-gold);color:#1E1606}
.fno-gfile__t{display:flex;flex-direction:column;min-inline-size:0}
.fno-gfile__t b{font-weight:600;font-size:15px;color:var(--fno-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fno-gfile__t small{font-size:12.5px;color:var(--fno-mute)}
.fno-gfields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-block-start:14px}
.fno-gf{display:flex;flex-direction:column;gap:6px}
.fno-gf--wide{grid-column:1/-1}
.fno-gf > span{display:flex;justify-content:space-between;font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--fno-primary)}
.fno-gf em{font-style:normal;font-weight:500;color:var(--fno-mute)}
.fno-gf input,.fno-gf textarea{padding:12px 16px;border-radius:14px;font-size:15px}
.fno-gcheck{display:flex;gap:12px;align-items:flex-start;margin-block-start:14px;font-size:13px;line-height:1.55;cursor:pointer}
.fno-gcheck input{flex:none;inline-size:20px;block-size:20px;margin-block-start:1px;accent-color:var(--fno-primary)}
.fno-gmodal__err{margin:12px 0 0;padding:10px 14px;border-radius:12px;background:rgba(163,48,58,.08);color:#A3303A;font-size:13.5px}
.fno-gmodal__err[hidden]{display:none}
.fno-gmodal__send{inline-size:100%;margin-block-start:16px}
.fno-gmodal__send:hover{background:var(--fno-primary-dark)}
.fno-gmodal__prog{position:absolute;inset:auto 0 0;block-size:3px;background:transparent}
.fno-gmodal__prog i{display:block;block-size:100%;background:var(--fno-gold);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.is-sending .fno-gmodal__send{pointer-events:none;background:var(--fno-primary-dark)}
.is-sending .fno-gmodal__send span::after{content:"…"}
.fno-gmodal__fine{margin:12px 0 0;font-size:12px;line-height:1.5;color:var(--fno-mute);text-align:center}
.fno-gmodal__thanks{text-align:center;padding-block:20px}
.fno-gmodal__thanks[hidden]{display:none}
.fno-gmodal__thanks .fno-btn{margin-block-start:22px}
[data-gm="fields"][hidden]{display:none}
@media (max-width:820px){
  .fno-gmodal{place-items:end center;padding:0}
  .fno-gmodal__panel{grid-template-columns:1fr;border-radius:28px 28px 0 0;max-block-size:92svh;padding:26px 20px calc(24px + env(safe-area-inset-bottom))}
  .fno-gpola{inline-size:190px;padding:10px 10px 0}
  .fno-gpola__note{font-size:16px}
  .fno-gmodal__hint{display:none}
  .fno-gfields{grid-template-columns:1fr}
}

/* Guest polaroids in the Gallery + the "Your table could be next" card */
.fno-pola__cap--guest{flex-direction:column;gap:2px;block-size:auto;min-block-size:58px;padding:10px 6px 12px;white-space:normal}
.fno-pola__gnote{font-size:17px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fno-pola__gname{font-family:var(--fno-font-body);font-style:normal;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fno-brass)}
.fno-pola__badge{position:absolute;inset-inline-end:20px;inset-block-start:20px;padding:5px 10px;border-radius:999px;background:var(--fno-primary);color:var(--fno-gold-light);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.fno-pola__btn{position:relative}
button.fno-pola__notecard{inline-size:100%;text-align:start;cursor:pointer;transition:box-shadow .6s var(--fno-ease)}
button.fno-pola__notecard:hover{box-shadow:0 50px 70px -34px rgba(var(--fno-primary-dark-rgb),.6)}
.fno-pola__ntx{display:block;margin:12px 0 0;font-size:14px;line-height:1.6;color:rgba(var(--fno-bg-rgb),.8)}
.fno-pola__ncta{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-block-start:18px;padding:9px 14px;border-radius:999px;background:var(--fno-bg);color:var(--fno-primary);font-size:12.5px;font-weight:600;letter-spacing:.04em;transition:gap .4s var(--fno-ease),background-color .3s}
button.fno-pola__notecard:hover .fno-pola__ncta{gap:12px;background:var(--fno-gold-light)}
.fno-pola__nt{display:block}

/* ===================================================== V2 · Mobile layouts
   Phones get their own arrangements, not squeezed desktop ones: swipe rows
   instead of tall stacks, tighter photos, thumb-size controls. */
.fno-swipe-hint{display:none}
@media (max-width:767px){
  /* Hero: one-line eyebrow, legible shade, slide nav tucked away */
  .fno-hero__greet{display:none}
  .fno-hero__eyebrow{white-space:nowrap;font-size:11px}
  .fno-hero__shade{background:linear-gradient(180deg,rgba(var(--fno-primary-dark-rgb),.7) 0%,rgba(var(--fno-primary-dark-rgb),.55) 45%,rgba(var(--fno-primary-dark-rgb),.85) 100%)}
  .fno-hero__title{font-size:clamp(2.5rem,1.8rem + 4vw,3.1rem)}
  .fno-hero .fno-actions{flex-wrap:nowrap;gap:10px}
  .fno-hero .fno-actions .fno-btn{padding-inline:20px;font-size:12px}
  .fno-now{margin-block-start:26px;padding:8px 16px 8px 8px}
  .fno-now__img{inline-size:52px;block-size:52px}

  /* Features: one swipeable row */
  .fno-features{padding-inline:0}
  .fno-features__capsule{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:0;padding:22px var(--fno-gutter);gap:10px;box-shadow:none}
  .fno-features__capsule::-webkit-scrollbar{display:none}
  .fno-feat{flex:0 0 auto!important;scroll-snap-align:start;flex-direction:row;gap:10px;padding:8px 16px 8px 8px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(var(--fno-bg-rgb),.2)}
  .fno-feat__ring{inline-size:40px;block-size:40px}
  .fno-feat__ring svg{inline-size:18px;block-size:18px}
  .fno-feat__label{font-size:11px;white-space:nowrap}

  /* Signature: chapter tabs become a swipe row of pills */
  .fno-sig{padding-block:calc(var(--fno-space-section) + 20px)}
  .fno-sig__tabs{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(var(--fno-gutter) * -1);padding-inline:var(--fno-gutter)}
  .fno-sig__tabs::-webkit-scrollbar{display:none}
  .fno-sig__tab{flex:0 0 auto;inline-size:auto;block-size:56px;padding-inline:8px 18px!important;gap:10px;scroll-snap-align:start;box-shadow:inset 0 0 0 1px rgba(var(--fno-bg-rgb),.2);border-radius:999px}
  .fno-sig__tab::before{border-radius:999px}
  .fno-sig__ic{inline-size:40px;block-size:40px}
  .fno-sig__name{font-size:16px;white-space:nowrap}
  .fno-sig__count{display:none}
  .fno-sig__tabs .fno-actions{display:none}
  .fno-sig__hero{max-inline-size:280px;margin-inline:auto}

  /* Plate: room for the orbit, no overlap */
  .fno-plate__stage{inline-size:min(100%,330px);margin-block-end:34px}
  .fno-plate__name{font-size:2rem}

  /* Chef + about + welcome photos a touch smaller */
  .fno-chef__media{min-block-size:360px}
  .fno-chef__cut{max-block-size:380px}
  .fno-about__arch{inline-size:min(100%,320px)}
  .fno-about__badge{inline-size:112px;block-size:112px}
  .fno-welcome__arch{inline-size:min(100%,330px);margin-inline:auto}

  /* Hours: short landscape arch */
  .fno-hoursw__photo{max-inline-size:none;inline-size:100%;aspect-ratio:4/3;border-radius:200px 200px 24px 24px}

  /* Strip: smaller cards, hint off */
  .fno-strip__hint{margin:-20px 0 26px}
  .fno-strip__item{inline-size:150px}
  .fno-strip__item:nth-child(even){margin-block-start:24px}

  /* CTA: logo shrinks into a seal */
  .fno-cta__logo{inline-size:110px;order:-1}
  .fno-cta__title{font-size:2.1rem}

  /* Values: compact rows (icon left) */
  .fno-values__grid{gap:12px;padding-block-end:10px}
  .fno-value{display:grid;grid-template-columns:56px 1fr;gap:4px 16px;padding:20px;text-align:start;align-items:center}
  .fno-value__ic{inline-size:56px;block-size:56px;grid-row:span 3;margin:0}
  .fno-value__ic svg{inline-size:22px;block-size:22px}
  .fno-value__title{margin:0;font-size:21px}
  .fno-value__no{margin:0;font-size:20px}
  .fno-value > *:not(.fno-value__ic){grid-column:2}
  .fno-value p{margin:2px 0 0;font-size:14.5px}

  /* Visit: contact cards 2 × 2 */
  .fno-contact__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  .fno-ccard{padding:18px;border-radius:22px}
  .fno-ccard__value{font-size:15.5px}

  /* Pantry: two jars a row, shorter */
  .fno-pantry__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}
  .fno-jar{block-size:220px}
  .fno-jar__back,.fno-jar__face{padding:20px 14px}
  .fno-jar__pot{transform:scale(.7);margin-block:-16px}
  .fno-jar__name{margin-block-start:12px;font-size:19px}
  .fno-jar__bname{font-size:22px}
  .fno-jar__what,.fno-jar__find{font-size:12.5px}

  /* Gallery filters: one swipe row */
  .fno-polas__filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;border-radius:999px;margin-inline:calc(var(--fno-gutter) * -1);padding-inline:var(--fno-gutter);background:transparent;box-shadow:none}
  .fno-polas__filters::-webkit-scrollbar{display:none}
  .fno-polas__filters .fno-chip{flex:0 0 auto;background:var(--fno-bg);box-shadow:inset 0 0 0 1px var(--fno-line)}
  .fno-polas__filters .fno-chip.is-active{background:var(--fno-primary);box-shadow:none}

  /* Swatches: swipe row of pills */
  .fno-swatches__row{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;block-size:340px;margin-inline:calc(var(--fno-gutter) * -1);padding-inline:var(--fno-gutter)}
  .fno-swatches__row::-webkit-scrollbar{display:none}
  .fno-sw{flex:0 0 150px!important;scroll-snap-align:start}
  .fno-sw .fno-sw__ci,.fno-sw:hover .fno-sw__ci,.fno-sw:focus-visible .fno-sw__ci,.fno-sw.is-open .fno-sw__ci{inline-size:96px;block-size:96px;margin-inline-start:-48px;inset-block-start:18px;transform:none}
  .fno-sw__txt{inline-size:140px;margin-inline-start:-70px}
  .fno-sw:hover .fno-sw__name{transform:none}
  .fno-sw__name{font-size:21px}
  .fno-contact__grid > li:last-child:nth-child(odd){grid-column:1/-1}

  .fno-swipe-hint{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 0 0;font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.55}
}

/* Captcha placement (QB Captcha module styles itself). */
.fno-cform__captcha{margin:-6px 0 -8px}
.fno-gmodal__captcha{margin:14px 0 4px}
.fno-gmodal__captcha .qbc-card{max-inline-size:none}
