/* =========================================================================
   Faithfully Made — Warm Artisan Boutique design system
   Tokens + global typography + WooCommerce restyle + homepage sections
   ========================================================================= */

:root{
  /* palette */
  --fm-cream:#FBF7F0;
  --fm-cream-2:#F6EFE3;
  --fm-sand:#F1E7D6;
  --fm-sand-2:#EADCC6;
  --fm-ink:#2A2622;
  --fm-ink-soft:#5B5247;
  --fm-clay:#B23A2E;        /* brand brick-red / terracotta accent */
  --fm-clay-deep:#9E2B22;   /* logo crimson */
  --fm-clay-soft:#C7634F;
  --fm-sage:#7E8B6D;
  --fm-sage-deep:#5F6B50;
  --fm-gold:#C8A368;
  --fm-line:#E7DDCD;
  --fm-white:#ffffff;

  /* type */
  --fm-serif:'Fraunces',Georgia,'Times New Roman',serif;
  --fm-sans:'Mulish',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;

  /* spacing / shape */
  --fm-r-sm:10px; --fm-r:16px; --fm-r-lg:24px; --fm-r-pill:999px;
  --fm-shadow:0 18px 40px -24px rgba(60,42,28,.45);
  --fm-shadow-sm:0 8px 22px -16px rgba(60,42,28,.4);
  --fm-shadow-lift:0 26px 60px -28px rgba(60,42,28,.55);
  --fm-maxw:1240px;
  --fm-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- base ---------- */
body.fm-theme{
  font-family:var(--fm-sans);
  color:var(--fm-ink);
  background:var(--fm-cream);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
body.fm-theme h1,body.fm-theme h2,body.fm-theme h3,body.fm-theme h4,
.fm-theme .entry-title,.fm-theme .woocommerce-loop-product__title,
.fm-theme .product_title{
  font-family:var(--fm-serif);
  font-weight:500;
  letter-spacing:-.01em;
  line-height:1.12;
  color:var(--fm-ink);
}
.fm-theme a{color:var(--fm-clay-deep);text-decoration:none;transition:color .2s var(--fm-ease)}
.fm-theme a:hover{color:var(--fm-clay)}
.fm-theme ::selection{background:var(--fm-clay);color:#fff}
.fm-eyebrow{font-family:var(--fm-sans);font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;color:var(--fm-clay)}
.fm-script{font-family:var(--fm-serif);font-style:italic;font-weight:400}

/* ---------- buttons ---------- */
.fm-theme .button,
.fm-theme .wp-block-button__link,
.fm-theme button.single_add_to_cart_button,
.fm-theme .woocommerce a.button,
.fm-theme .woocommerce button.button,
.fm-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:var(--fm-sans);font-weight:700;font-size:.95rem;letter-spacing:.02em;
  background:var(--fm-clay);color:#fff !important;border:none;cursor:pointer;
  padding:.85em 1.7em;border-radius:var(--fm-r-pill);
  box-shadow:var(--fm-shadow-sm);
  transition:transform .25s var(--fm-ease),background .25s var(--fm-ease),box-shadow .25s var(--fm-ease);
}
.fm-theme .button:hover,
.fm-theme .woocommerce a.button:hover,
.fm-theme button.single_add_to_cart_button:hover,
.fm-btn:hover{background:var(--fm-clay-deep);transform:translateY(-2px);box-shadow:var(--fm-shadow);color:#fff !important}
.fm-btn--ghost{background:transparent;color:var(--fm-ink) !important;border:1.5px solid var(--fm-ink)}
.fm-btn--ghost:hover{background:var(--fm-ink);color:var(--fm-cream) !important}
.fm-btn--sage{background:var(--fm-sage)}
.fm-btn--sage:hover{background:var(--fm-sage-deep)}

/* ---------- layout helpers ---------- */
.fm-wrap{max-width:var(--fm-maxw);margin:0 auto;padding:0 clamp(18px,4vw,40px)}
.fm-section{padding:clamp(56px,8vw,110px) 0}
.fm-section--sand{background:var(--fm-sand)}
.fm-section--cream2{background:var(--fm-cream-2)}
.fm-section-head{text-align:center;max-width:640px;margin:0 auto clamp(32px,5vw,56px)}
.fm-section-head h2{font-size:clamp(2rem,4.4vw,3.1rem);margin:.4rem 0 .6rem}
.fm-section-head p{color:var(--fm-ink-soft);font-size:1.06rem;margin:0}

/* ---------- scroll reveal ---------- */
.fm-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--fm-ease),transform .8s var(--fm-ease)}
.fm-reveal.is-in{opacity:1;transform:none}
.fm-reveal[data-d="1"]{transition-delay:.08s}
.fm-reveal[data-d="2"]{transition-delay:.16s}
.fm-reveal[data-d="3"]{transition-delay:.24s}
.fm-reveal[data-d="4"]{transition-delay:.32s}

/* =========================================================================
   HERO
   ========================================================================= */
.fm-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--fm-sand) 0%,var(--fm-cream) 60%)}
.fm-hero__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,64px);align-items:center;
  min-height:clamp(460px,68vh,660px);padding:clamp(62px,8vw,108px) 0 clamp(44px,6vw,80px)}
.fm-hero__eyebrow{margin-bottom:1rem}
.fm-hero h1{font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.04;margin:0 0 1.1rem}
.fm-hero h1 em{font-style:italic;color:var(--fm-clay)}
.fm-hero__lead{font-size:1.18rem;color:var(--fm-ink-soft);max-width:34ch;margin:0 0 1.9rem}
.fm-hero__cta{display:flex;gap:.9rem;flex-wrap:wrap}
.fm-hero__media{position:relative;width:100%;max-width:430px;margin-left:auto}
.fm-hero__carousel{position:relative;width:100%;aspect-ratio:4/5;border-radius:var(--fm-r-lg);overflow:hidden;box-shadow:var(--fm-shadow-lift);background:var(--fm-sand-2)}
.fm-hero__slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s var(--fm-ease);display:block}
.fm-hero__slide.is-active{opacity:1}
.fm-hero__slide img,.fm-hero__slide video{width:100%;height:100%;object-fit:cover;display:block}
.fm-hero__slide-cap{position:absolute;left:0;right:0;bottom:0;padding:1.6rem 1rem .9rem;color:#fff;font-size:.82rem;font-weight:600;letter-spacing:.02em;background:linear-gradient(to top,rgba(42,38,34,.8),transparent)}
.fm-hero__badge{position:absolute;bottom:-22px;left:-22px;background:var(--fm-white);border-radius:var(--fm-r);
  padding:1rem 1.3rem;box-shadow:var(--fm-shadow);display:flex;align-items:center;gap:.8rem;max-width:260px}
.fm-hero__badge b{font-family:var(--fm-serif);font-size:1.4rem;color:var(--fm-clay);line-height:1}
.fm-hero__badge span{font-size:.82rem;color:var(--fm-ink-soft);line-height:1.3}
.fm-hero__ring{position:absolute;inset:auto -8% -14% auto;width:46%;opacity:.5;pointer-events:none}

/* trust strip */
.fm-trust{background:var(--fm-ink);color:var(--fm-cream)}
.fm-trust__row{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(18px,5vw,64px);padding:18px 0;text-align:center}
.fm-trust__item{display:flex;align-items:center;gap:.55rem;font-size:.9rem;letter-spacing:.02em}
.fm-trust__item svg{width:20px;height:20px;stroke:var(--fm-gold);fill:none;stroke-width:1.6}

/* =========================================================================
   CATEGORY TILES
   ========================================================================= */
.fm-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,22px)}
.fm-cat{position:relative;display:block;border-radius:var(--fm-r);overflow:hidden;aspect-ratio:3/4;
  background:var(--fm-sand-2);box-shadow:var(--fm-shadow-sm);isolation:isolate}
.fm-cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--fm-ease)}
.fm-cat::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(42,38,34,.72) 8%,rgba(42,38,34,0) 58%)}
.fm-cat:hover img{transform:scale(1.07)}
.fm-cat__label{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.1rem 1.2rem;color:#fff}
.fm-cat__label b{font-family:var(--fm-serif);font-size:1.3rem;display:block}
.fm-cat__label span{font-size:.8rem;opacity:.85}
.fm-cat--tall{grid-row:span 1}

/* =========================================================================
   PRODUCT CARDS (used in homepage + WooCommerce loop)
   ========================================================================= */
.fm-theme ul.products{display:grid !important;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,28px);margin:0;list-style:none}
.fm-theme ul.products::before,.fm-theme ul.products::after{display:none}
.fm-theme ul.products li.product{width:auto !important;margin:0 !important;float:none !important}
.fm-card,
.fm-theme ul.products li.product{
  background:var(--fm-white);border:1px solid var(--fm-line);border-radius:var(--fm-r);
  overflow:hidden;display:flex;flex-direction:column;
  transition:transform .35s var(--fm-ease),box-shadow .35s var(--fm-ease),border-color .35s var(--fm-ease);
}
.fm-card:hover,
.fm-theme ul.products li.product:hover{transform:translateY(-6px);box-shadow:var(--fm-shadow);border-color:var(--fm-sand-2)}
.fm-theme ul.products li.product a img,
.fm-card__media img{aspect-ratio:1/1;object-fit:cover;width:100%;margin:0;border-radius:0;background:var(--fm-cream-2)}
.fm-theme ul.products li.product .woocommerce-loop-product__title{padding:.9rem 1rem .2rem;font-size:1.06rem}
.fm-theme ul.products li.product .price{padding:0 1rem;color:var(--fm-ink-soft);font-weight:600;font-family:var(--fm-sans)}
.fm-theme ul.products li.product .price del{opacity:.5;font-weight:400;margin-right:.4em}
.fm-theme ul.products li.product .price ins{color:var(--fm-clay);text-decoration:none}
.fm-theme ul.products li.product .button,
.fm-theme ul.products li.product .added_to_cart{margin:.7rem 1rem 1rem;align-self:stretch;white-space:nowrap;text-align:center;padding-left:1rem;padding-right:1rem}
.fm-theme .onsale{background:var(--fm-clay);color:#fff;border-radius:var(--fm-r-pill);
  padding:.3em .8em;font-weight:700;font-size:.72rem;letter-spacing:.04em;min-height:0;min-width:0}

/* =========================================================================
   STORY / SPLIT
   ========================================================================= */
.fm-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.fm-split__media img{width:100%;border-radius:var(--fm-r-lg);box-shadow:var(--fm-shadow);object-fit:cover;aspect-ratio:4/3}
.fm-split h2{font-size:clamp(1.9rem,3.6vw,2.7rem);margin:.4rem 0 1rem}
.fm-split p{color:var(--fm-ink-soft);margin:0 0 1rem}
.fm-split__stats{display:flex;gap:2.2rem;margin:1.6rem 0}
.fm-split__stats b{font-family:var(--fm-serif);font-size:2rem;color:var(--fm-clay);display:block;line-height:1}
.fm-split__stats span{font-size:.82rem;color:var(--fm-ink-soft)}

/* =========================================================================
   PERSONALISATION STEPS
   ========================================================================= */
.fm-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,36px)}
.fm-step{text-align:center;padding:2rem 1.4rem;background:var(--fm-white);border-radius:var(--fm-r);border:1px solid var(--fm-line)}
.fm-step__n{width:54px;height:54px;border-radius:50%;background:var(--fm-sand);color:var(--fm-clay-deep);
  font-family:var(--fm-serif);font-size:1.5rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1.1rem}
.fm-step h3{font-size:1.25rem;margin:0 0 .5rem}
.fm-step p{color:var(--fm-ink-soft);font-size:.96rem;margin:0}

/* =========================================================================
   TESTIMONIALS
   ========================================================================= */
.fm-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,28px)}
.fm-quote{background:var(--fm-cream);border:1px solid var(--fm-line);border-radius:var(--fm-r);padding:1.8rem}
.fm-quote__stars{color:var(--fm-gold);letter-spacing:.15em;margin-bottom:.7rem;font-size:.95rem}
.fm-quote p{font-family:var(--fm-serif);font-style:italic;font-size:1.08rem;color:var(--fm-ink);margin:0 0 1rem;line-height:1.5}
.fm-quote cite{font-style:normal;font-weight:700;font-size:.9rem;color:var(--fm-ink-soft)}

/* =========================================================================
   NEWSLETTER / CTA BAND
   ========================================================================= */
.fm-band{background:linear-gradient(135deg,var(--fm-clay-deep),var(--fm-clay));color:#fff;border-radius:var(--fm-r-lg);
  padding:clamp(36px,6vw,72px);text-align:center;position:relative;overflow:hidden}
.fm-theme .fm-band h2{color:#fff;font-size:clamp(1.8rem,4vw,2.8rem);margin:0 0 .6rem}
.fm-band p{opacity:.92;max-width:46ch;margin:0 auto 1.6rem}
.fm-band form{display:flex;gap:.6rem;max-width:460px;margin:0 auto;flex-wrap:wrap;justify-content:center}
.fm-band input[type=email]{flex:1;min-width:220px;padding:.9em 1.2em;border-radius:var(--fm-r-pill);border:none;font-size:1rem}
.fm-band .fm-btn{background:var(--fm-ink)}
.fm-band .fm-btn:hover{background:#000}

/* =========================================================================
   WooCommerce single product + cart polish
   ========================================================================= */
.fm-theme .single-product div.product .price,
.fm-theme .single-product div.product span.price{color:var(--fm-clay);font-family:var(--fm-serif);font-weight:500}
.fm-theme .woocommerce-tabs ul.tabs li.active{border-bottom-color:var(--fm-clay)}
.fm-theme table.cart img,.fm-theme .woocommerce table.shop_table{border-radius:var(--fm-r-sm)}
.fm-theme .woocommerce-message,.fm-theme .woocommerce-info{border-top-color:var(--fm-clay)}
.fm-theme input[type=text],.fm-theme input[type=email],.fm-theme input[type=tel],
.fm-theme textarea,.fm-theme select,.fm-theme .input-text{
  border:1px solid var(--fm-line);border-radius:var(--fm-r-sm);padding:.7em .9em;background:#fff;font-family:var(--fm-sans)}
.fm-theme input:focus,.fm-theme textarea:focus,.fm-theme select:focus{outline:none;border-color:var(--fm-clay);box-shadow:0 0 0 3px rgba(178,58,46,.12)}

/* =========================================================================
   WooCommerce BLOCKS (cart + checkout) buttons → clay
   ========================================================================= */
.fm-theme .wc-block-components-button:not(.is-link),
.fm-theme .wp-element-button,
.fm-theme .wc-block-cart__submit-button,
.fm-theme .wc-block-components-checkout-place-order-button{
  background:var(--fm-clay) !important;color:#fff !important;border-radius:var(--fm-r-pill) !important;
  font-family:var(--fm-sans);font-weight:700;box-shadow:var(--fm-shadow-sm);transition:background .25s var(--fm-ease),transform .25s var(--fm-ease)}
.fm-theme .wc-block-components-button:not(.is-link):hover,
.fm-theme .wp-element-button:hover,
.fm-theme .wc-block-components-checkout-place-order-button:hover{background:var(--fm-clay-deep) !important;transform:translateY(-2px)}
.fm-theme .wc-block-components-radio-control__option--checked-option-highlight,
.fm-theme .wc-block-components-radio-control__input:checked{accent-color:var(--fm-clay)}
.fm-theme .wc-block-checkout__sidebar .wc-block-components-totals-item__value{color:var(--fm-ink)}

/* =========================================================================
   FOOTER badge / misc
   ========================================================================= */
.fm-madein{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--fm-ink-soft)}
.fm-madein svg{width:18px;height:13px}

/* =========================================================================
   CONTENT PAGES (About / Contact / Policy)
   ========================================================================= */
.fm-page{max-width:860px;margin:0 auto;padding:clamp(8px,2vw,24px) 0}
.fm-page__title{font-size:clamp(2.1rem,5vw,3.2rem);margin:.3rem 0 1rem}
.fm-page .fm-lead{font-size:1.2rem;color:var(--fm-ink-soft);margin:0 0 2rem;max-width:52ch}
.fm-prose h2{font-size:clamp(1.4rem,2.6vw,1.8rem);margin:2.2rem 0 .8rem}
.fm-prose p,.fm-prose li{color:var(--fm-ink-soft);margin:0 0 1rem;line-height:1.75}
.fm-prose ul{padding-left:1.2rem}
.fm-prose strong{color:var(--fm-ink)}
.fm-contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(28px,5vw,56px);margin-top:1.5rem}
.fm-contact-aside h3{font-size:1.15rem;margin:1.4rem 0 .5rem}
.fm-contact-aside h3:first-child{margin-top:0}
.fm-contact-aside p{color:var(--fm-ink-soft);font-size:.96rem;margin:0 0 1rem}
.fm-madein-dark{color:var(--fm-clay-deep) !important;font-weight:600}
.fm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fm-page .wpcf7 label{display:block;font-weight:600;font-size:.9rem;color:var(--fm-ink-soft);margin-bottom:1rem}
.fm-page .wpcf7 input,.fm-page .wpcf7 textarea{width:100%;margin-top:.35rem}
.fm-page .wpcf7 .fm-btn{margin-top:.4rem}
@media(max-width:760px){.fm-contact-grid{grid-template-columns:1fr}.fm-form-row{grid-template-columns:1fr}}

/* =========================================================================
   HEADER tweaks — logo carries the brand name, hide redundant site title
   ========================================================================= */
.site-title-container{display:none !important}
.fm-theme .ct-header [data-id] .menu-item > a{font-family:var(--fm-sans);font-weight:600;letter-spacing:.01em}
/* ensure header has comfortable side gutters (was trimmed flush on mobile) */
.fm-theme .ct-header > .ct-container{padding-inline:clamp(16px,4vw,40px)}
@media(max-width:768px){
  .fm-theme .ct-header > .ct-container{padding-left:22px !important;padding-right:22px !important}
  .fm-theme .site-logo-container .ct-image-container,
  .fm-theme .site-logo-container img{max-width:148px;height:auto}
}

/* =========================================================================
   CUSTOM FOOTER
   ========================================================================= */
.fm-footer{background:var(--fm-ink);color:#e9e1d4}
.fm-footer a{color:#e9e1d4}
.fm-footer a:hover{color:#fff}
.fm-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:clamp(24px,4vw,56px);padding:clamp(48px,6vw,80px) clamp(20px,4vw,40px) clamp(28px,3vw,44px)}
.fm-footer__logo{width:170px;background:var(--fm-cream);padding:.7rem .9rem;border-radius:var(--fm-r-sm);margin-bottom:1.1rem}
.fm-footer__brand p{color:#bcb3a4;font-size:.95rem;margin:0 0 1rem;max-width:42ch}
.fm-footer .fm-madein{color:#d8cfc0}
.fm-footer__col h4{font-family:var(--fm-serif);color:#fff;font-size:1.1rem;margin:0 0 1rem;font-weight:500}
.fm-footer__col a{display:block;padding:.32rem 0;font-size:.95rem;color:#bcb3a4;transition:color .2s var(--fm-ease)}
.fm-footer__col p{color:#bcb3a4;font-size:.95rem;margin:0 0 1rem}
.fm-footer__btn{border-color:#5a5246;color:#e9e1d4 !important}
.fm-footer__btn:hover{background:var(--fm-clay);border-color:var(--fm-clay);color:#fff !important}
.fm-footer__bar{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.3rem clamp(20px,4vw,40px);border-top:1px solid rgba(255,255,255,.1);font-size:.84rem;color:#9d958a}
.fm-footer__pay{max-width:100%}
/* hide Blocksy's default footer entirely — our custom footer (sibling, rendered before it) carries everything */
.fm-theme #footer.ct-footer{display:none !important}

@media(max-width:860px){
  .fm-footer__grid{grid-template-columns:1fr 1fr;gap:32px}
  .fm-footer__brand{grid-column:1/-1}
}
@media(max-width:600px){
  .fm-footer__grid{grid-template-columns:1fr;text-align:center}
  .fm-footer__brand p{margin-left:auto;margin-right:auto}
  .fm-footer__logo{margin-left:auto;margin-right:auto;display:block}
  .fm-footer .fm-madein{justify-content:center}
  .fm-footer__btn{margin-left:auto;margin-right:auto}
  .fm-footer__bar{flex-direction:column;align-items:center;text-align:center;gap:.5rem}
}

/* =========================================================================
   DISPLAY FIXES — select dropdowns + product-card alignment
   ========================================================================= */
/* consistent custom select styling + chevron (fixes Blocksy variation clip) */
.fm-theme select,
.fm-theme table.variations select,
.fm-theme .variations select{
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  height:auto !important;min-height:52px;line-height:1.5 !important;
  padding:.75em 2.6em .75em .95em !important;
  background-color:#fff;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath fill='none' stroke='%235B5247' stroke-width='1.6' d='M1 1l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1em center;background-size:13px;
  border:1px solid var(--fm-line);border-radius:var(--fm-r-sm);font-family:var(--fm-sans);font-size:1rem;color:var(--fm-ink);
  width:100%;box-sizing:border-box;text-overflow:ellipsis;
}
.fm-theme .reset_variations{display:inline-block;margin:.5rem 0;font-size:.85rem}

/* product card alignment — uniform titles + bottom-pinned buttons */
.fm-theme ul.products li.product{height:100%}
.fm-theme ul.products li.product .woocommerce-loop-product__title{
  min-height:2.7em;line-height:1.32;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.fm-theme ul.products li.product .price{margin:.15rem 1rem .55rem;min-height:1.4em}
.fm-theme ul.products li.product .button,
.fm-theme ul.products li.product .added_to_cart{margin-top:auto !important}
/* category meta under cards: tidy, single line */
.fm-theme ul.products li.product .ct-woo-card-extra,
.fm-theme ul.products li.product .product_meta,
.fm-theme ul.products li.product .posted_in{
  padding:0 1rem;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fm-ink-soft);opacity:.75}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media(max-width:1024px){
  .fm-cats{grid-template-columns:repeat(2,1fr)}
  .fm-theme ul.products{grid-template-columns:repeat(3,1fr) !important}
  .fm-steps,.fm-quotes{grid-template-columns:1fr}
  .fm-quotes{grid-template-columns:repeat(1,1fr)}
}
@media(max-width:860px){
  .fm-hero__inner{grid-template-columns:1fr;text-align:center;min-height:0}
  .fm-hero__lead{margin-left:auto;margin-right:auto}
  .fm-hero__cta{justify-content:center}
  .fm-hero__media{order:-1;margin:0 auto 1rem;max-width:330px}
  .fm-hero__badge{left:8px;bottom:-14px;padding:.7rem 1rem;max-width:215px}
  .fm-split{grid-template-columns:1fr}
  .fm-split__media{order:-1}
  .fm-theme ul.products{grid-template-columns:repeat(2,1fr) !important}
  .fm-split__stats{justify-content:center}
}
@media(max-width:560px){
  body.fm-theme{font-size:16px}
  .fm-cats{grid-template-columns:repeat(2,1fr)}
  .fm-quotes{grid-template-columns:1fr}
}

/* reduced motion */
@media(prefers-reduced-motion:reduce){
  .fm-reveal{opacity:1 !important;transform:none !important;transition:none}
  .fm-cat img,.fm-card,.fm-btn,.fm-theme ul.products li.product{transition:none !important}
}
