@font-face{font-family:Montserrat;src:url('../brand/fonts/Montserrat-Variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Montserrat;src:url('../brand/fonts/Montserrat-Italic-Variable.ttf') format('truetype');font-style:italic;font-weight:100 900;font-display:swap}
@font-face{font-family:Cormorant;src:url('../brand/fonts/Cormorant-Variable.ttf') format('truetype');font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:Cormorant;src:url('../brand/fonts/Cormorant-Italic-Variable.ttf') format('truetype');font-style:italic;font-weight:300 700;font-display:swap}
@font-face{font-family:'Sloop Script Pro';src:url('../brand/fonts/Sloop-Script-Pro.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Gogol;src:url('../brand/fonts/Gogol-Regular.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
:root{--fm-burgundy:#7B1E28;--fm-burgundy-dark:#5A171E;--fm-wine:#7B1E28;--fm-graphite:#2E2B2B;--fm-cream:#F8F4EC;--fm-cream-light:#F8F4EC;--fm-ivory:#EDE6DA;--fm-white:#F8F4EC;--fm-surface:#F8F4EC;--fm-text:#2E2B2B;--fm-blue:#5A85A0;--fm-muted:#746D65;--fm-border:rgba(123,30,40,.16);--fm-font-ui:'Montserrat',sans-serif;--fm-font-display:'Cormorant',serif;--fm-font-script:'Sloop Script Pro',cursive;--fm-radius:14px;--fm-shadow:0 12px 32px rgba(46,43,43,.07);--fm-container:1520px;--fm-header-height:96px}
html{scroll-padding-top:calc(var(--fm-header-height) + 72px)}
body,body button,body input,body select,body textarea{font-family:var(--fm-font-ui)}
body{background:var(--fm-cream);color:var(--fm-graphite)}
.fm-container{width:min(100% - 64px,var(--fm-container))}
.fm-header{background:var(--fm-cream);border-bottom:1px solid rgba(123,30,40,.16);backdrop-filter:none}
.fm-header__inner{min-height:96px;display:grid;grid-template-columns:minmax(170px,200px) minmax(0,1fr) minmax(260px,300px);align-items:center;gap:26px;padding-inline:0}
.fm-brand{display:flex;width:100%;min-width:0;align-items:center;justify-content:flex-start;white-space:normal}
.fm-brand__wordmark{display:block;width:190px;height:auto;max-height:64px;object-fit:contain;flex:none}
.fm-nav{justify-content:center;gap:clamp(18px,2.5vw,40px);margin:0;color:var(--fm-graphite);font:400 15px/1.35 var(--fm-font-ui)}
.fm-nav a{transition:color .2s ease}
.fm-nav a:hover,.fm-nav a:focus-visible{color:var(--fm-burgundy)}
.fm-header__actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-left:0}
.fm-header__contact{text-align:right}
.fm-phone{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--fm-burgundy);font:600 18px/1.2 var(--fm-font-ui)}
.fm-phone img{width:18px;height:18px;object-fit:contain}
.fm-header__hours{margin:4px 0 0;color:rgba(46,43,43,.68);font:400 12px/1.3 var(--fm-font-ui);white-space:nowrap}
.fm-menu-toggle{display:none}
.fm-mobile-nav{background:var(--fm-cream);border-top:1px solid var(--fm-border)}
.fm-mobile-nav a{color:var(--fm-graphite);font:500 20px/1.35 var(--fm-font-display)}
.fm-mobile-nav__contact{padding-top:14px;color:var(--fm-muted)}
.fm-mobile-nav__contact a{color:var(--fm-burgundy);font:600 16px/1.3 var(--fm-font-ui)}
.fm-mobile-nav__contact p{margin:5px 0 0;font:400 12px/1.4 var(--fm-font-ui)}
.fm-eyebrow{color:var(--fm-burgundy);font-family:var(--fm-font-ui)}
.fm-concept{border:0;background:var(--fm-cream)}
.home .fm-concept__eyebrow{color:var(--fm-graphite);font-family:var(--fm-font-ui)}
.home .fm-concept__eyebrow::after{background:rgba(123,30,40,.45)}
.home .fm-concept__copy h1{font-family:var(--fm-font-display);font-weight:600}
.home .fm-concept__copy h1 span{color:var(--fm-burgundy)}
.home .fm-concept__copy h1 em{color:var(--fm-graphite)}
.home .fm-concept__ornament{color:var(--fm-blue,#5A85A0)}
.home .fm-concept__ornament>span{background:rgba(90,133,160,.42)}
.home .fm-concept__ornament img{display:block;width:72px;height:34px;object-fit:contain}
.home .fm-concept__subtitle{color:var(--fm-graphite);font-family:var(--fm-font-display)}
.home .fm-concept__cta{background:var(--fm-burgundy);color:var(--fm-cream);font-family:var(--fm-font-display)}
.home .fm-concept__cta:hover{background:var(--fm-burgundy-dark)}
.home .fm-concept__cta span{border-color:rgba(248,244,236,.7)}
.home .fm-concept__cta img{display:block;width:30px;height:30px;filter:brightness(0) invert(1)}
.fm-hero h1,.fm-intro h2,.fm-section-heading h2,.fm-page h1,.fm-category__heading h3,.fm-cart-panel h2,.fm-checkout-extra h3,.woocommerce-checkout h3{font-family:var(--fm-font-display);color:var(--fm-burgundy-dark)}
.fm-hero h1 em,.fm-intro h2 em,.fm-section-heading h2 em{color:var(--fm-burgundy)}
.fm-section-heading h2{font-weight:500}
.fm-menu-section{padding-top:34px}
.fm-category-bar{top:var(--fm-header-height);background:rgba(248,244,236,.97)}
.fm-category-bar a{border-color:rgba(123,30,40,.2);background:transparent;color:var(--fm-graphite);font:500 13px/1.3 var(--fm-font-ui)}
.fm-category-bar a:hover,.fm-category-bar a.is-active{border-color:var(--fm-burgundy);background:var(--fm-burgundy);color:var(--fm-cream)}
.fm-category__heading{border-color:var(--fm-border)}
.fm-category__heading h3{font-weight:500}
.fm-products{align-items:stretch}
.fm-product-card{border:1px solid rgba(123,30,40,.12);border-radius:12px;background:var(--fm-cream);box-shadow:0 2px 12px rgba(46,43,43,.035)}
.fm-product-card:hover{box-shadow:0 8px 22px rgba(46,43,43,.08);transform:translateY(-2px)}
.fm-product-card__image{background:var(--fm-ivory)}
.fm-product-card__image img{object-fit:cover}
.fm-product-card__body{padding:14px}
.fm-product-card h4{color:var(--fm-graphite);font:600 16px/1.25 var(--fm-font-ui)}
.fm-product-card p,.fm-product-card__weight{color:var(--fm-muted);font:400 12px/1.45 var(--fm-font-ui)}
.fm-product-card__bottom strong{color:var(--fm-graphite);font:600 15px/1.3 var(--fm-font-ui)}
.fm-add,.woocommerce ul.products li.product .button,.single-product div.product form.cart .single_add_to_cart_button,.woocommerce-cart .return-to-shop .button,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,.woocommerce-checkout #place_order,.woocommerce-account form .button{background:var(--fm-burgundy);color:var(--fm-cream)}
.fm-add:hover,.woocommerce ul.products li.product .button:hover,.single-product div.product form.cart .single_add_to_cart_button:hover,.woocommerce-cart .return-to-shop .button:hover,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,.woocommerce-checkout #place_order:hover,.woocommerce-account form .button:hover{background:var(--fm-burgundy-dark);color:var(--fm-cream)}
.fm-add{width:44px;height:44px}
.fm-cart-panel{border-color:var(--fm-border);border-radius:14px;background:var(--fm-cream);box-shadow:0 8px 28px rgba(46,43,43,.07)}
.fm-cart-panel__inner{background:transparent}
.fm-cart-item{border-color:var(--fm-border)}
.fm-cart-item__actions{color:var(--fm-burgundy)}
.fm-cart-item__actions button,.home .fm-cart-close{background:var(--fm-ivory);color:var(--fm-burgundy)}
.fm-cart-panel:after,.home .fm-cart-panel:after,.home .fm-cart-mobile-toggle{background:var(--fm-burgundy);color:var(--fm-cream)}
.fm-cart-mobile-toggle{background:var(--fm-burgundy);color:var(--fm-cream)}
.fm-cart-mobile-toggle strong{color:var(--fm-cream)}
.fm-info-strip{background:var(--fm-ivory);color:var(--fm-graphite)}
.fm-info-grid span,.fm-info-grid h3{color:var(--fm-burgundy)}
.fm-info-grid p{color:var(--fm-graphite)}
.fm-footer{position:relative;isolation:isolate;overflow:hidden;background:var(--fm-burgundy);border-top:0;color:var(--fm-cream)}
.fm-footer::before{position:absolute;z-index:-1;inset:0;content:"";background:url('../brand/patterns/waves-burgundy.svg') right center/auto 115% repeat-x;opacity:.04;pointer-events:none}
.fm-footer__brand,.fm-footer strong,.fm-footer__phone,.fm-footer__section h2{color:var(--fm-cream)}
.fm-footer__wordmark{display:block;width:min(210px,100%);height:auto;max-height:90px;object-fit:contain}
.fm-footer__tagline{color:rgba(248,244,236,.78)}
.fm-footer__action{border-color:rgba(248,244,236,.42);background:transparent;color:var(--fm-cream)}
.fm-footer__action--primary{border-color:var(--fm-cream);background:var(--fm-cream);color:var(--fm-burgundy);box-shadow:none}
.fm-footer__action:hover{border-color:var(--fm-cream);background:rgba(248,244,236,.12);color:var(--fm-cream)}
.fm-footer__action--primary:hover{background:var(--fm-ivory);color:var(--fm-burgundy-dark);box-shadow:none}
.fm-footer__section a:not(.fm-footer__phone),.fm-footer__address,.fm-footer__section .fm-opening-hours,.fm-footer__bottom>span,.fm-footer__legal a,.fm-footer p{color:rgba(248,244,236,.8)}
.fm-footer__section a:hover,.fm-footer__legal a:hover{color:var(--fm-cream)}
.fm-footer__bottom{border-color:rgba(248,244,236,.24)}
.fm-footer__brand-link:focus-visible,.fm-footer__action:focus-visible,.fm-footer__legal a:focus-visible,.fm-footer__section a:focus-visible{outline-color:var(--fm-cream)}
.fm-banquet-form{position:relative;isolation:isolate;border:0;border-radius:0;background:transparent}
.fm-banquet-form::before{position:absolute;z-index:-1;inset:-8px;content:"";background:url('../brand/frames/frame-04-burgundy.svg') center/100% 100% no-repeat;opacity:.17;pointer-events:none}
.fm-banquet-form input,.fm-banquet-form textarea,.woocommerce form .input-text,.woocommerce form select,.woocommerce-account form .form-row input.input-text{border-color:rgba(123,30,40,.24);background:var(--fm-cream);color:var(--fm-graphite)}
.fm-banquet-form input:focus,.fm-banquet-form textarea:focus,.fm-search input:focus,.woocommerce form .input-text:focus,.woocommerce form select:focus{outline:2px solid rgba(123,30,40,.42);outline-offset:2px;border-color:var(--fm-burgundy)}
.fm-banquet-form .fm-consent-field>label{display:flex;min-height:44px;align-items:flex-start;gap:10px;line-height:1.5;cursor:pointer}
.fm-banquet-form input[type=checkbox]{width:20px;height:20px;min-width:20px;min-height:20px;flex:0 0 20px;margin:2px 0 0;padding:0;accent-color:var(--fm-burgundy);cursor:pointer}
.fm-banquet-form input[type=checkbox]:focus-visible{outline:3px solid var(--fm-blue);outline-offset:3px}
.fm-banquet-form .fm-consent-field a{color:var(--fm-burgundy);text-decoration:underline;text-underline-offset:3px}
.fm-search{border-color:rgba(123,30,40,.32);color:var(--fm-burgundy)}
.fm-button--primary{background:var(--fm-burgundy);color:var(--fm-cream);box-shadow:none}
.fm-button--primary:hover{background:var(--fm-burgundy-dark)}
.fm-button:focus-visible,.fm-add:focus-visible,.fm-nav a:focus-visible,.fm-category-bar a:focus-visible,.fm-text-link:focus-visible,.fm-phone:focus-visible,.fm-menu-toggle:focus-visible,.fm-cart-panel button:focus-visible,.fm-cart-mobile-toggle:focus-visible,.woocommerce button:focus-visible,.woocommerce a:focus-visible{outline:3px solid var(--fm-blue,#5A85A0);outline-offset:3px}
.woocommerce-message,.woocommerce-info{border-left-color:var(--fm-burgundy);background:var(--fm-ivory);color:var(--fm-graphite)}
.woocommerce-error{border-left-color:var(--fm-burgundy);background:var(--fm-ivory);color:var(--fm-graphite)}
.woocommerce-checkout,.woocommerce-cart{color:var(--fm-graphite)}
.woocommerce-checkout #order_review,.woocommerce-checkout form.checkout_coupon,.woocommerce-checkout form.login,.woocommerce-cart .woocommerce-cart-form,.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-account form.woocommerce-ResetPassword{border-color:var(--fm-border);background:var(--fm-cream);box-shadow:none}
.woocommerce-checkout input,.woocommerce-checkout select,.woocommerce-checkout textarea,.woocommerce-cart input,.woocommerce-account input{accent-color:var(--fm-burgundy)}
.woocommerce-checkout h3{color:var(--fm-burgundy-dark)}
.woocommerce-checkout #payment{background:var(--fm-ivory);color:var(--fm-graphite)}
.woocommerce-checkout #payment div.payment_box{background:var(--fm-cream);color:var(--fm-graphite)}
.fm-text-link,.fm-local-intro__links a,.fm-search-clear,.fm-search-empty button,.woocommerce .page-numbers{color:var(--fm-burgundy)}
.fm-search-clear,.fm-search-empty button,.woocommerce .page-numbers{border-color:var(--fm-border);background:var(--fm-cream)}
.woocommerce .page-numbers.current{border-color:var(--fm-burgundy);background:var(--fm-burgundy);color:var(--fm-cream)}
@media(max-width:1100px){.fm-container{width:min(100% - 48px,var(--fm-container))}.fm-header__inner{grid-template-columns:minmax(150px,175px) minmax(0,1fr) minmax(220px,260px);gap:16px}.fm-brand__wordmark{width:170px}.fm-nav{gap:clamp(12px,1.7vw,20px);font-size:13px}.fm-phone{font-size:16px}.fm-header__hours{font-size:10px}.fm-products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.fm-header__inner{grid-template-columns:minmax(140px,1fr) auto auto;min-height:86px;gap:18px}.fm-brand__wordmark{width:170px}.fm-nav{display:none}.fm-header__contact{display:block}.fm-header__actions{display:contents}.fm-menu-toggle{display:flex;width:44px;height:44px;flex:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0;border:1px solid rgba(123,30,40,.2);border-radius:50%;background:transparent;color:var(--fm-burgundy)}.fm-menu-toggle span{display:block;width:19px;height:1.5px;background:currentColor;transition:transform .2s ease}.fm-menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7.5px) rotate(45deg)}.fm-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.fm-menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7.5px) rotate(-45deg)}.fm-mobile-nav.is-open{padding:18px 24px 24px}.fm-catalog-layout{grid-template-columns:1fr}.fm-cart-panel{background:var(--fm-cream)}}
@media(max-width:767px){:root{--fm-header-height:124px}.fm-container{width:min(100% - 40px,var(--fm-container))}.fm-header__inner{grid-template-columns:minmax(0,1fr) 44px;grid-template-rows:66px auto;min-height:0;gap:2px 16px;padding:14px 20px 12px}.fm-brand{grid-column:1;grid-row:1;width:auto}.fm-brand__wordmark{width:160px;height:auto;max-height:60px;flex:none}.fm-header__contact{grid-column:1 / -1;grid-row:2;text-align:left}.fm-header__actions{display:contents}.fm-phone{justify-content:flex-start;font-size:16px}.fm-phone img{width:15px;height:15px}.fm-header__hours{margin-top:3px;font-size:11px;white-space:normal}.fm-menu-toggle{grid-column:2;grid-row:1;width:44px;height:44px;border:0;border-radius:0}.fm-mobile-nav.is-open{padding:16px 20px 22px}.home .fm-concept__inner{padding:40px 20px 30px}.home .fm-concept__copy{max-width:390px}.home .fm-concept__eyebrow{font-size:10px;letter-spacing:.18em}.home .fm-concept__copy h1{font-family:var(--fm-font-display)}.home .fm-concept__subtitle{font-family:var(--fm-font-display)}.home .fm-concept__ornament img{width:62px;height:28px}.home .fm-concept__cta{background:var(--fm-burgundy);color:var(--fm-cream)}.home .fm-concept__visual{margin-bottom:0}.fm-menu-section{padding-top:28px}.fm-category-bar{top:var(--fm-header-height);margin-inline:-20px;padding-inline:20px}.fm-products{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-product-card__body{padding:11px}.fm-product-card h4{font-size:13px}.fm-product-card__bottom strong{font-size:13px}.fm-add{width:42px;height:42px}.home .fm-cart-panel{background:var(--fm-cream)}.fm-footer__wordmark{width:min(190px,100%)}.fm-banquet-form::before{inset:-4px}}
@media(max-width:360px){.fm-container{width:min(100% - 32px,var(--fm-container))}.fm-brand__wordmark{width:145px;max-height:46px}.fm-header__hours{font-size:10px}.home .fm-concept__inner{padding-inline:16px}.home .fm-concept__eyebrow{letter-spacing:.14em}.home .fm-concept__eyebrow::after{width:26px}.home .fm-concept__copy h1{font-size:42px}.fm-product-card__body{padding:9px}.fm-product-card h4{font-size:12px}.fm-footer__actions{gap:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

body.home .fm-header__inner{grid-template-columns:minmax(165px,190px) minmax(0,1fr) minmax(260px,300px);min-height:96px}
body.home .fm-header__contact{display:block}
body.home .fm-phone{display:flex;color:var(--fm-burgundy);font:600 18px/1.2 var(--fm-font-ui)}
body.home .fm-footer{background:var(--fm-burgundy);color:var(--fm-cream)}
body.home .fm-footer__brand,body.home .fm-footer strong,body.home .fm-footer__section h2{color:var(--fm-cream)}
body.home .fm-footer__section a:not(.fm-footer__phone),body.home .fm-footer__address,body.home .fm-footer__section .fm-opening-hours,body.home .fm-footer__bottom>span,body.home .fm-footer__legal a,body.home .fm-footer p{color:rgba(248,244,236,.8)}
body.home .fm-product-card{border-color:rgba(123,30,40,.12);background:var(--fm-cream);box-shadow:0 2px 12px rgba(46,43,43,.035)}
body.home .fm-product-card h4{color:var(--fm-graphite);font:600 16px/1.25 var(--fm-font-ui)}
body.home .fm-product-card__bottom strong{color:var(--fm-graphite);font:600 15px/1.3 var(--fm-font-ui)}
body.home .fm-product-card__controls .fm-add{border-color:rgba(123,30,40,.28);background:var(--fm-burgundy);color:var(--fm-cream)}
body.home .fm-product-card__controls .fm-add:hover{background:var(--fm-burgundy-dark);color:var(--fm-cream)}
body.home .fm-card-stepper{border-color:rgba(123,30,40,.22);background:var(--fm-ivory);color:var(--fm-burgundy)}
body.home .fm-card-stepper button{color:var(--fm-burgundy)}
body.home .fm-card-stepper button:hover:not(:disabled){background:var(--fm-burgundy);color:var(--fm-cream)}
body.home .fm-concept__eyebrow{color:var(--fm-graphite)}
body.home .fm-concept__ornament{color:var(--fm-blue)}
body.home .fm-concept__ornament>span{background:rgba(90,133,160,.42)}
body.home .fm-concept__copy h1 em{color:var(--fm-graphite)}
body.home .fm-concept__cta{background:var(--fm-burgundy);color:var(--fm-cream)}
body.home .fm-concept__cta:hover{background:var(--fm-burgundy-dark)}
@media(max-width:900px){body.home .fm-header__inner{grid-template-columns:minmax(140px,1fr) auto auto;min-height:86px}}
@media(max-width:767px){body.home .fm-header__inner{grid-template-columns:minmax(0,1fr) 44px;grid-template-rows:56px auto;min-height:0;padding:14px 0 12px}body.home .fm-header__contact{grid-column:1/-1;grid-row:2;text-align:left}body.home .fm-phone{justify-content:flex-start;font-size:16px}body.home .fm-menu-toggle{grid-column:2;grid-row:1}body.home .fm-concept__inner{padding:40px 20px 30px}body.home .fm-concept__copy h1{font-size:clamp(46px,12.5vw,60px)}body.home .fm-concept__subtitle{font-size:clamp(19px,5.1vw,22px)}body.home .fm-concept__cta{height:64px;background:var(--fm-burgundy);color:var(--fm-cream)}body.home .fm-product-card h4{font-size:13px}body.home .fm-product-card__bottom strong{font-size:13px}}

.fm-footer__location-icon{width:18px;height:18px;flex:none;filter:brightness(0) invert(1)}

@media(max-width:767px){body.home .fm-header__inner{grid-template-rows:minmax(70px,auto) auto;padding:14px 0 12px}body.home .fm-brand__wordmark{width:145px;height:auto;max-height:none}}
@media(max-width:360px){body.home .fm-header__inner{grid-template-rows:minmax(70px,auto) auto}body.home .fm-brand__wordmark{width:140px}}
body.home .fm-footer__bottom .fm-staging-note{color:rgba(248,244,236,.8)}.fm-footer__bottom .fm-staging-note{color:rgba(248,244,236,.8)}
@media(max-width:767px){.woocommerce-checkout .fm-header__inner{grid-template-columns:minmax(0,1fr) 44px;grid-template-rows:minmax(64px,auto) auto;min-height:0;padding:10px 0}.woocommerce-checkout .fm-brand{grid-column:1;grid-row:1;width:auto}.woocommerce-checkout .fm-brand__wordmark{width:145px;height:auto;max-height:none}.woocommerce-checkout .fm-header__actions{display:contents}.woocommerce-checkout .fm-header__contact{grid-column:1/-1;grid-row:2;text-align:left}.woocommerce-checkout .fm-phone{justify-content:flex-start}.woocommerce-checkout .fm-menu-toggle{grid-column:2;grid-row:1}}

/* Mobile hero, reference 3: one sunlit scene with the dish below the copy. */
@media (max-width: 767px) {
  body.home .fm-menu-section > .fm-section-heading h2 {
    display: none;
  }

  body.home {
    --fm-mobile-gutter: clamp(22px, 6vw, 32px);
    --fm-header-height: calc(100.5px + max(12px, env(safe-area-inset-top, 0px)) + clamp(14px, 3.92vw, 16.8px));
  }

  body.home .fm-header__inner {
    width: 100%;
    grid-template-columns: minmax(0, 1fr) 44px;
    grid-template-rows: 60px auto;
    gap: 6px 16px;
    padding: max(12px, env(safe-area-inset-top, 0px)) var(--fm-mobile-gutter) 12px;
  }

  body.home .fm-brand {
    width: fit-content;
  }

  body.home .fm-brand__wordmark {
    width: 124px;
    height: auto;
    max-height: 60px;
  }

  body.home .fm-phone {
    gap: 7px;
    font: 500 15px/1.3 var(--fm-font-ui);
  }

  body.home .fm-header__hours {
    margin-top: 2px;
    font: 400 clamp(10px, 2.8vw, 12px)/1.4 var(--fm-font-ui);
    white-space: nowrap;
  }

  body.home .fm-menu-toggle span {
    width: 27px;
    height: 1.5px;
  }

  body.home .fm-concept {
    display: block;
    height: auto;
    min-height: 0;
    overflow: hidden;
    background: var(--fm-cream);
  }

  body.home .fm-concept__visual {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
  }

  body.home .fm-concept__visual img {
    object-fit: cover;
    object-position: center bottom;
  }

  body.home .fm-concept::after {
    display: block;
    background: linear-gradient(180deg, rgba(248, 244, 236, .16), rgba(248, 244, 236, .2) 40%, transparent 62%);
  }

  body.home .fm-concept__inner {
    display: block;
    width: 100%;
    height: auto;
    padding: clamp(64px, 18vw, 78px) var(--fm-mobile-gutter) clamp(280px, 84vw, 380px);
  }

  body.home .fm-concept__copy {
    width: 100%;
    max-width: 390px;
    margin-inline: auto;
  }

  body.home .fm-concept__eyebrow {
    gap: 12px;
    margin: 0 0 18px;
    color: var(--fm-graphite);
    font: 500 10px/1.4 var(--fm-font-ui);
    letter-spacing: .17em;
  }

  body.home .fm-concept__eyebrow::after {
    width: clamp(28px, 10vw, 44px);
    background: rgba(123, 30, 40, .45);
  }

  body.home .fm-concept__copy h1 {
    font: 500 clamp(44px, 13.2vw, 58px)/.94 var(--fm-font-display);
    letter-spacing: -.035em;
  }

  body.home .fm-concept__copy h1 span,
  body.home .fm-concept__copy h1 em {
    white-space: nowrap;
  }

  body.home .fm-concept__ornament {
    display: none;
  }

  body.home .fm-concept__subtitle {
    max-width: 370px;
    margin: 20px 0 22px;
    font: 400 clamp(18px, 5vw, 22px)/1.2 var(--fm-font-display);
  }

  body.home .fm-concept__desktop-break {
    display: initial;
  }

  body.home .fm-concept__cta {
    width: 236px;
    max-width: 100%;
    min-width: 0;
    height: 56px;
    gap: 16px;
    padding: 5px 5px 5px 24px;
    border-radius: 999px;
    font: 500 14px/1.2 var(--fm-font-ui);
  }

  body.home .fm-concept__cta span {
    width: 46px;
    height: 46px;
  }

  body.home .fm-concept__cta img {
    width: 24px;
    height: 24px;
  }
}

@media (max-width: 359px) {
  body.home { --fm-header-height: calc(113.8px + max(12px, env(safe-area-inset-top, 0px))); }
  body.home .fm-header__hours { font-size: 9.5px; }
  body.home .fm-concept__eyebrow { gap: 9px; letter-spacing: .12em; }
  body.home .fm-concept__cta { width: 226px; }
}

/* Wide phones keep a quiet reading area above the full-width photograph. */
@media (min-width: 540px) and (max-width: 767px) {
  body.home .fm-concept__inner { padding-bottom: 70vw; }
  body.home .fm-concept::after {
    background: linear-gradient(180deg, var(--fm-cream), rgba(248, 244, 236, .94) 30%, rgba(248, 244, 236, .65) 42%, transparent 58%);
  }
}

/* Horizontal lockup assembled from the official persona and wordmark assets. */
.fm-brand__lockup {
  display: flex;
  width: 206px;
  height: 70px;
  align-items: center;
  gap: 10px;
}

.fm-brand__persona {
  display: block;
  width: 64px;
  height: 68px;
  flex: none;
  object-fit: contain;
}

.fm-brand__wordmark,
body.home .fm-brand__wordmark {
  display: block;
  width: 132px;
  height: 64px;
  max-height: none;
  flex: none;
  object-fit: contain;
}

.fm-header__inner,
body.home .fm-header__inner {
  grid-template-columns: minmax(210px, 230px) minmax(0, 1fr) minmax(260px, 300px);
}

.fm-brand,
body.home .fm-brand {
  width: 210px;
}

.fm-footer__lockup,
body.home .fm-footer__lockup {
  width: 258px;
  height: 84px;
  gap: 12px;
}

.fm-footer__lockup .fm-brand__persona {
  width: 78px;
  height: 82px;
}

.fm-footer__lockup .fm-brand__wordmark,
body.home .fm-footer__lockup .fm-brand__wordmark {
  width: 168px;
  height: 82px;
}

@media (max-width: 1100px) {
  .fm-header__inner,
  body.home .fm-header__inner {
    grid-template-columns: minmax(174px, 188px) minmax(0, 1fr) minmax(220px, 260px);
  }

  .fm-brand,
  body.home .fm-brand {
    width: 174px;
  }

  .fm-brand__lockup {
    width: 170px;
    height: 58px;
    gap: 8px;
  }

  .fm-brand__persona {
    width: 52px;
    height: 55px;
  }

  .fm-brand__wordmark,
  body.home .fm-brand__wordmark {
    width: 110px;
    height: 54px;
  }
}

@media (max-width: 900px) {
  .fm-header__inner,
  body.home .fm-header__inner {
    grid-template-columns: minmax(174px, 1fr) auto 44px;
  }
}

@media (max-width: 767px) {
  body.home {
    --fm-header-height: calc(100.5px + max(12px, env(safe-area-inset-top, 0px)) + clamp(14px, 3.92vw, 16.8px));
  }

  .fm-header__inner,
  body.home .fm-header__inner,
  .woocommerce-checkout .fm-header__inner {
    grid-template-columns: minmax(0, 1fr) 44px;
    grid-template-rows: 60px auto;
  }

  .fm-brand,
  body.home .fm-brand,
  .woocommerce-checkout .fm-brand {
    width: 160px;
  }

  .fm-brand__lockup,
  body.home .fm-brand__lockup,
  .woocommerce-checkout .fm-brand__lockup {
    width: 160px;
    height: 54px;
    gap: 8px;
  }

  .fm-brand__persona,
  body.home .fm-brand__persona,
  .woocommerce-checkout .fm-brand__persona {
    width: 48px;
    height: 51px;
  }

  .fm-brand__wordmark,
  body.home .fm-brand__wordmark,
  .woocommerce-checkout .fm-brand__wordmark {
    width: 104px;
    height: 51px;
    max-height: none;
  }

  .fm-footer__lockup,
  body.home .fm-footer__lockup {
    width: 226px;
    height: 74px;
    gap: 10px;
  }

  .fm-footer__lockup .fm-brand__persona,
  body.home .fm-footer__lockup .fm-brand__persona {
    width: 68px;
    height: 72px;
  }

  .fm-footer__lockup .fm-brand__wordmark,
  body.home .fm-footer__lockup .fm-brand__wordmark {
    width: 148px;
    height: 72px;
  }
}

@media (max-width: 560px) {
  .fm-footer__brand-block,
  .home .fm-footer__brand-block {
    width: 100%;
    grid-column: 1 / -1;
    align-items: center;
    text-align: center;
  }

  .fm-footer__brand-link,
  .home .fm-footer__brand-link {
    width: 100%;
    justify-content: center;
  }

  .fm-footer__tagline,
  .home .fm-footer__tagline {
    width: 100%;
    text-align: center;
  }

  .fm-footer__actions,
  .home .fm-footer__actions {
    width: min(100%, 360px);
    align-items: stretch;
    margin-inline: auto;
  }

  .fm-footer__action,
  .home .fm-footer__action {
    width: 100%;
    text-align: center;
  }
}

/* Editorial reading layout for privacy and consent documents. */
.fm-page--legal {
  padding-block: clamp(42px, 6vw, 82px) 110px;
}

.fm-page--legal > .fm-eyebrow {
  margin: 0 0 14px;
  color: var(--fm-burgundy);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.fm-page--legal > h1 {
  max-width: 920px;
  margin: 0 0 clamp(28px, 4vw, 48px);
  color: var(--fm-graphite);
  font: 500 clamp(42px, 5.6vw, 72px)/.98 var(--fm-font-display);
  text-wrap: balance;
}

.fm-legal-layout {
  max-width: 900px;
  margin-inline: auto;
}

.fm-legal-layout--with-toc {
  display: grid;
  grid-template-columns: minmax(190px, 230px) minmax(0, 760px);
  align-items: start;
  gap: clamp(32px, 5vw, 76px);
  max-width: 1180px;
}

.fm-legal-toc {
  position: sticky;
  top: calc(var(--fm-header-height, 96px) + 24px);
  padding: 20px 0 20px 20px;
  border-left: 1px solid var(--fm-border);
}

.fm-legal-toc__title {
  margin: 0 0 14px;
  color: var(--fm-burgundy);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.fm-legal-toc ol {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fm-legal-toc a {
  color: var(--fm-muted);
  font-size: 13px;
  line-height: 1.45;
  text-decoration: none;
  transition: color .2s ease;
}

.fm-legal-toc a:hover,
.fm-legal-toc a:focus-visible {
  color: var(--fm-burgundy);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.fm-legal-article,
.fm-legal-article .fm-page__content {
  width: 100%;
  max-width: none;
  margin: 0;
}

.fm-legal-document {
  color: var(--fm-graphite);
  font: 400 15px/1.75 var(--fm-font-ui);
  overflow-wrap: anywhere;
}

.fm-legal-document > p:first-child {
  margin: 0 0 20px;
  color: var(--fm-burgundy);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .025em;
}

.fm-legal-meta {
  margin: 0 0 38px;
  padding: 22px 26px;
  border-left: 2px solid var(--fm-burgundy);
  background: rgba(237, 230, 218, .55);
}

.fm-legal-meta p {
  margin: 0;
  color: var(--fm-graphite);
  font-size: 13px;
  line-height: 1.7;
}

.fm-legal-meta p + p { margin-top: 8px; }
.fm-legal-meta strong { color: var(--fm-burgundy); font-weight: 600; }

.fm-legal-document h2 {
  margin: 38px 0 12px;
  padding-top: 22px;
  border-top: 1px solid var(--fm-border);
  color: var(--fm-burgundy);
  font: 500 clamp(25px, 3vw, 32px)/1.12 var(--fm-font-display);
  scroll-margin-top: calc(var(--fm-header-height, 96px) + 28px);
}

.fm-legal-document p,
.fm-legal-document li {
  max-width: 68ch;
}

.fm-legal-document p { margin: 0 0 16px; }
.fm-legal-document ul { margin: 0 0 20px; padding-left: 22px; }
.fm-legal-document li { padding-left: 4px; }
.fm-legal-document li + li { margin-top: 10px; }
.fm-legal-document li::marker { color: var(--fm-burgundy); }
.fm-legal-document a { color: var(--fm-burgundy); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.fm-legal-document a:hover { color: var(--fm-burgundy-dark); }
.fm-legal-document a:focus-visible,
.fm-legal-toc a:focus-visible { outline: 2px solid var(--fm-blue); outline-offset: 3px; }

@media (max-width: 767px) {
  .fm-page--legal { padding-block: 34px 72px; }
  .fm-page--legal > .fm-eyebrow { font-size: 10px; }
  .fm-page--legal > h1 { margin-bottom: 28px; font-size: clamp(38px, 10vw, 52px); }
  .fm-legal-layout--with-toc { grid-template-columns: 1fr; gap: 26px; }
  .fm-legal-toc { position: static; padding: 15px 16px; border: 1px solid var(--fm-border); }
  .fm-legal-toc__title { margin-bottom: 11px; }
  .fm-legal-toc ol { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; row-gap: 8px; }
  .fm-legal-toc a { font-size: 12px; }
  .fm-legal-document { font-size: 14px; line-height: 1.72; }
  .fm-legal-meta { margin-bottom: 30px; padding: 17px 18px; }
  .fm-legal-meta p { font-size: 12px; }
  .fm-legal-document h2 { margin-top: 30px; padding-top: 18px; }
}

@media (max-width: 360px) {
  .fm-legal-toc ol { grid-template-columns: 1fr; }
  .fm-page--legal > h1 { font-size: 38px; }
}
:where(.fm-form-honeypot) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
