/*
Theme Name: Mathfa for Blocksy
Theme URI: https://mathfa.com/
Description: Mathfa presentation layer for Blocksy. Preserves the custom interactive map homepage and adds reusable education, article, and shop styling.
Author: Mathfa
Template: blocksy
Version: 0.5.3
Text Domain: mathfa-blocksy
*/

:root {
  --mathfa-ink: #103f3c;
  --mathfa-cream: #f7f1e7;
  --mathfa-mint: #8ec8bf;
  --mathfa-coral: #f36f50;
  --mathfa-sun: #f6cf4f;
}

.mathfa-page-hero { background: var(--mathfa-cream); padding: clamp(3rem, 8vw, 7rem) 1.5rem; text-align: center; }
.mathfa-page-hero__eyebrow { color: #39716d; font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.mathfa-page-hero h1 { color: var(--mathfa-ink); font-family: Fraunces, Georgia, serif; font-size: clamp(2.7rem, 7vw, 5.6rem); line-height: 1; margin: .6rem auto 1.25rem; max-width: 900px; }
.mathfa-page-hero h1 em { color: var(--mathfa-coral); font-style: italic; }
.mathfa-page-hero p { color: #365f5b; font-size: 1.15rem; margin: auto; max-width: 720px; }
.mathfa-paths { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: clamp(2rem, 6vw, 5rem) auto; max-width: 1200px; padding: 0 1.5rem; }
.mathfa-path { background: #fffdf8; border-top: 5px solid var(--mathfa-mint); padding: 1.5rem; }
.mathfa-path:nth-child(2) { border-color: var(--mathfa-sun); }.mathfa-path:nth-child(3) { border-color: var(--mathfa-coral); }.mathfa-path:nth-child(4) { border-color: #7896df; }
.mathfa-path h2 { color: var(--mathfa-ink); font-family: Fraunces, Georgia, serif; font-size: 1.75rem; margin: .6rem 0; }
.mathfa-path p { color: #426864; margin: 0; }
.mathfa-resource-band { background: var(--mathfa-mint); margin: 3rem auto; max-width: 1200px; padding: clamp(2rem, 5vw, 4rem); }
.mathfa-resource-band h2 { color: var(--mathfa-ink); font-family: Fraunces, Georgia, serif; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.1; margin: 0 0 1rem; }
.mathfa-resource-band p { color: #214e49; font-size: 1.05rem; max-width: 760px; }
.mathfa-article-list { margin: 3rem auto; max-width: 920px; padding: 0 1.5rem; }
.mathfa-article-list article { border-bottom: 1px solid #d8d1c5; padding: 1.5rem 0; }
.mathfa-article-list h2 { font-family: Fraunces, Georgia, serif; font-size: clamp(1.8rem, 4vw, 2.8rem); margin: 0 0 .5rem; }
.mathfa-article-list a { color: var(--mathfa-ink); }
.mathfa-territory-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mathfa-state-page .entry-content,
.mathfa-stem-page .entry-content,
.mathfa-articles-page .entry-content,
.mathfa-territories-page .entry-content { margin-top: 0; }
body.mathfa-state-page,
body.mathfa-stem-page,
body.mathfa-articles-page,
body.mathfa-territories-page { background: #fffaf0; }
@media (max-width: 800px) { .mathfa-paths { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .mathfa-paths { grid-template-columns: 1fr; } }

/* Shared Mathfa editorial shell for every page except the static map homepage. */
body.mathfa-inner-shell { background: var(--mathfa-cream); color: var(--mathfa-ink); font-family: 'DM Sans', sans-serif; }
.mathfa-inner-shell #main-container, .mathfa-inner-shell .site-main { min-height: 70vh; }
.mathfa-skip-link { position: absolute; left: -9999px; top: 1rem; z-index: 100; background: var(--mathfa-sun); color: var(--mathfa-ink); padding: .75rem 1rem; }
.mathfa-skip-link:focus { left: 1rem; }
.mathfa-site-header { background: rgba(247,241,231,.96); border-bottom: 1px solid rgba(16,63,60,.16); position: relative; z-index: 10; }
.mathfa-header-inner { align-items: center; display: flex; gap: 2rem; justify-content: space-between; margin: auto; max-width: 1240px; min-height: 82px; padding: 0 2rem; }
.mathfa-brand, .mathfa-footer-brand { align-items: center; color: var(--mathfa-ink); display: inline-flex; font-size: 1.24rem; font-weight: 700; gap: .65rem; letter-spacing: -.03em; text-decoration: none; }
.mathfa-brand-mark { align-items: center; background: var(--mathfa-coral); border-radius: 50%; color: #fffaf0; display: inline-flex; font-family: 'DM Sans', sans-serif; font-size: 1rem; font-weight: 700; height: 36px; justify-content: center; width: 36px; }
.mathfa-main-nav { align-items: center; display: flex; gap: clamp(1rem, 2.5vw, 2.2rem); margin-left: auto; }
.mathfa-main-nav a, .mathfa-header-login, .mathfa-mobile-nav a { color: var(--mathfa-ink); font-size: .87rem; font-weight: 700; text-decoration: none; }
.mathfa-main-nav a:hover, .mathfa-mobile-nav a:hover { color: var(--mathfa-coral); }
.mathfa-header-actions { align-items: center; display: flex; gap: .8rem; }
.mathfa-header-cart { align-items: center; color: var(--mathfa-ink); display: inline-flex; font-size: 1.12rem; gap: .38rem; line-height: 1; text-decoration: none; }
.mathfa-header-cart:hover { color: var(--mathfa-coral); }
.mathfa-cart-icon-wrap { display: inline-flex; position: relative; }
.mathfa-cart-icon { display: inline-block; filter: saturate(.9); transform: translateY(-.02em); }
.mathfa-cart-count { align-items: center; background: #1ca053; border: 2px solid var(--mathfa-cream); border-radius: 50%; color: #fff; display: inline-flex; font-family: 'DM Sans', Arial, sans-serif; font-size: .62rem; font-weight: 700; height: 19px; justify-content: center; min-width: 19px; padding: 0 .15rem; position: absolute; right: -9px; top: -9px; }
.site-header .header-cart { position: relative; }
.site-header .header-cart-count { background: #1ca053; border: 2px solid var(--cream); border-radius: 50%; font-size: 11px; height: 19px; min-width: 19px; padding: 0 4px; position: absolute; right: -10px; top: -10px; }
.mathfa-cart-count.is-empty,
.site-header .header-cart-count.is-empty { background: #1ca053; }
.mathfa-cart-count.has-items,
.site-header .header-cart-count.has-items { background: #1ca053; }
.mathfa-header-login { border: 1px solid var(--mathfa-ink); border-radius: 999px; padding: .75rem 1.05rem; }
.mathfa-header-login:hover { background: var(--mathfa-ink); color: var(--mathfa-cream); }
.mathfa-menu-toggle { background: var(--mathfa-ink); border: 0; color: #fff; display: none; font: inherit; font-size: .82rem; font-weight: 700; padding: .7rem .85rem; }
.mathfa-mobile-nav { display: none; }
.mathfa-page-hero { background: var(--mathfa-mint); overflow: hidden; padding: clamp(4rem, 9vw, 8rem) 1.5rem clamp(3.5rem, 7vw, 6rem); position: relative; text-align: left; }
.mathfa-page-hero::after { border: 1px solid rgba(16,63,60,.2); border-radius: 50%; content: ''; height: 26rem; position: absolute; right: -7rem; top: -12rem; width: 26rem; }
.mathfa-page-hero > * { margin-left: auto; margin-right: auto; max-width: 1120px; position: relative; z-index: 1; }
.mathfa-page-hero__eyebrow { color: #286a65; font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; }
.mathfa-page-hero h1 { font-size: clamp(3.3rem, 8vw, 7.4rem); letter-spacing: -.07em; max-width: 1120px; }
.mathfa-page-hero h1 em { display: block; }
.mathfa-page-hero p:last-child { font-size: clamp(1rem, 2vw, 1.25rem); line-height: 1.55; margin-left: auto; max-width: 650px; }
.mathfa-paths { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0 auto; max-width: 1240px; padding: 0 2rem; transform: translateY(-2.5rem); }
.mathfa-path { background: #fffdf8; border: 1px solid rgba(16,63,60,.14); border-top: 5px solid var(--mathfa-mint); min-height: 220px; padding: 1.65rem; transition: transform .2s ease, box-shadow .2s ease; }
.mathfa-path + .mathfa-path { border-left: 0; }
.mathfa-path:hover { box-shadow: 0 14px 30px rgba(16,63,60,.12); transform: translateY(-7px); }
.mathfa-path h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); letter-spacing: -.05em; }
.mathfa-resource-band { align-items: end; display: grid; grid-template-columns: 1.2fr 1fr; margin: 0 auto 5rem; max-width: 1180px; padding: clamp(2rem, 5vw, 4.5rem); }
.mathfa-resource-band p { line-height: 1.7; margin-bottom: 0; }
.mathfa-article-list { display: grid; gap: 0; grid-template-columns: 1fr 1fr; max-width: 1120px; padding-bottom: 5rem; }
.mathfa-article-list article { border-bottom: 1px solid rgba(16,63,60,.18); padding: 2.2rem 2rem 2.2rem 0; }
.mathfa-article-list article:nth-child(even) { padding-left: 2rem; padding-right: 0; }
.mathfa-article-list h2 { letter-spacing: -.04em; }
.mathfa-article-list h2 a:hover { color: var(--mathfa-coral); }
.mathfa-site-footer { background: var(--mathfa-ink); color: #edf4e9; padding: 3.5rem 2rem 1.5rem; }
.mathfa-footer-inner, .mathfa-footer-bottom { display: flex; gap: 2rem; justify-content: space-between; margin: auto; max-width: 1240px; }
.mathfa-footer-inner { align-items: center; padding-bottom: 3rem; }
.mathfa-footer-brand { color: #fffaf0; }
.mathfa-footer-brand > div { display: grid; gap: .15rem; }
.mathfa-footer-brand span:last-child { color: #a8c8c2; font-size: .75rem; font-weight: 500; letter-spacing: .06em; }
.mathfa-footer-inner > p { color: #c9dfd9; margin: 0; }
.mathfa-footer-links { display: flex; flex-wrap: wrap; gap: 1.2rem; }
.mathfa-footer-links a, .mathfa-footer-bottom { color: #d5e7e0; font-size: .8rem; text-decoration: none; }
.mathfa-footer-links a:hover { color: var(--mathfa-sun); }
.mathfa-footer-bottom { border-top: 1px solid rgba(255,255,255,.2); padding-top: 1.2rem; }
@media (max-width: 850px) { .mathfa-main-nav { display: none; } .mathfa-menu-toggle { display: inline-block; } .mathfa-mobile-nav { background: var(--mathfa-cream); border-top: 1px solid rgba(16,63,60,.12); flex-direction: column; gap: 1rem; padding: 1.25rem 2rem; } .mathfa-mobile-nav.is-open { display: flex; } .mathfa-paths { grid-template-columns: 1fr 1fr; } .mathfa-path + .mathfa-path { border-left: 1px solid rgba(16,63,60,.14); } .mathfa-resource-band { grid-template-columns: 1fr; } .mathfa-footer-inner { align-items: flex-start; flex-direction: column; } }
@media (max-width: 560px) { .mathfa-header-inner { min-height: 70px; padding: 0 1rem; } .mathfa-header-login { display: none; } .mathfa-page-hero { padding-left: 1rem; padding-right: 1rem; } .mathfa-paths { grid-template-columns: 1fr; padding: 0 1rem; transform: translateY(-1.5rem); } .mathfa-path + .mathfa-path { border-left: 1px solid rgba(16,63,60,.14); border-top: 0; } .mathfa-article-list { grid-template-columns: 1fr; padding-left: 1rem; padding-right: 1rem; } .mathfa-article-list article, .mathfa-article-list article:nth-child(even) { padding-left: 0; padding-right: 0; } .mathfa-footer-bottom { align-items: flex-start; flex-direction: column; gap: .4rem; } }

/* Public book library at /books/. */
.mathfa-books-page { background: #f7f1e7; color: #103f3c; }
.mathfa-books-page .mathfa-books-hero h1,
.mathfa-books-page .mathfa-books-section-head h2,
.mathfa-books-page .mathfa-books-note h2 { font-family: 'DM Sans', Arial, sans-serif; font-weight: 800; letter-spacing: -.06em; line-height: .98; }
.mathfa-books-hero { background: #8ec8bf; overflow: hidden; padding: clamp(2.25rem, 5vw, 4rem) 1.5rem 3.25rem; position: relative; }
.mathfa-books-hero::after { border: 1px solid rgba(16,63,60,.24); border-radius: 50%; content: ''; height: 34rem; position: absolute; right: -11rem; top: -16rem; width: 34rem; }
.mathfa-books-hero-inner { margin: auto; max-width: 1180px; position: relative; z-index: 1; }
.mathfa-books-hero h1 { color: #103f3c; font-size: clamp(2.7rem, 6vw, 5.5rem); margin: .45rem 0 1rem; }
.mathfa-books-hero h1 em, .mathfa-books-section-head h2 em, .mathfa-books-note h2 em { color: #ee6c4d; font-style: normal; }
.mathfa-books-hero-inner > p:last-child { color: #315f5a; font-size: 1rem; line-height: 1.5; margin: 0; max-width: 520px; }
.mathfa-books-collection { margin: 0 auto; max-width: 1180px; padding: clamp(2.25rem, 5vw, 4.5rem) 1.5rem; }
.mathfa-books-section-head { align-items: end; display: grid; gap: 2rem; grid-template-columns: 1.1fr .9fr; margin-bottom: 3rem; }
.mathfa-books-section-head h2 { color: #103f3c; font-size: clamp(2.5rem, 4.5vw, 4.5rem); margin: .6rem 0 0; }
.mathfa-books-section-head > p { color: #52746f; font-size: 1rem; line-height: 1.65; margin: 0 0 .3rem; max-width: 350px; }
.mathfa-books-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(3, 1fr); }
.mathfa-book-card { background: #fffaf0; border: 1px solid rgba(16,63,60,.12); display: flex; flex-direction: column; min-width: 0; }
.mathfa-book-card-art { align-items: center; background: #8ec8bf; display: flex; height: 310px; justify-content: center; overflow: hidden; }
.mathfa-book-card:nth-child(2n) .mathfa-book-card-art { background: #f4c84c; }
.mathfa-book-card:nth-child(3n) .mathfa-book-card-art { background: #ef8fa3; }
.mathfa-book-card-art img { height: 80%; object-fit: contain; width: 70%; }
.mathfa-book-card-mark { align-items: center; border: 2px solid #103f3c; border-radius: 50%; color: #103f3c; display: inline-flex; font-size: 2rem; font-weight: 800; height: 70px; justify-content: center; width: 70px; }
.mathfa-book-card-copy { display: flex; flex: 1; flex-direction: column; padding: 1.5rem; }
.mathfa-book-card-copy h3 { font-family: Fraunces, Georgia, serif; font-size: 1.7rem; font-weight: 500; letter-spacing: -.045em; line-height: 1; margin: .65rem 0 .7rem; }
.mathfa-book-card-copy h3 a { color: #103f3c; text-decoration: none; }
.mathfa-book-card-copy > p:not(.mathfa-product-eyebrow) { color: #52746f; font-size: .88rem; line-height: 1.55; margin: 0; }
.mathfa-book-card-foot { align-items: center; border-top: 1px solid rgba(16,63,60,.14); display: flex; justify-content: space-between; margin-top: auto; padding-top: 1.25rem; }
.mathfa-book-card-foot strong { color: #ee6c4d; font-size: 1.1rem; }
.mathfa-book-card-foot a, .mathfa-books-note a { color: #103f3c; font-size: .82rem; font-weight: 800; text-decoration: none; }
.mathfa-book-card-foot a:hover, .mathfa-books-note a:hover { color: #ee6c4d; }
.mathfa-books-empty { background: #fffaf0; border-top: 4px solid #f4c84c; padding: 2rem; }
.mathfa-books-empty h3 { font-family: Fraunces, Georgia, serif; font-size: 2rem; margin: 0 0 .5rem; }
.mathfa-books-note { background: #103f3c; color: #f7f1e7; padding: clamp(3rem, 7vw, 6rem) max(1.5rem, calc((100% - 1180px) / 2)); }
.mathfa-books-note h2 { color: #f7f1e7; font-size: clamp(2.5rem, 4.5vw, 4.5rem); margin: .6rem 0 1.75rem; }
.mathfa-books-note .mathfa-product-eyebrow { color: #acd1c9; }
.mathfa-books-note a { color: #f7f1e7; }
@media (max-width: 760px) { .mathfa-books-section-head { align-items: start; grid-template-columns: 1fr; } .mathfa-books-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .mathfa-books-hero { padding-left: 1rem; padding-right: 1rem; } .mathfa-books-collection { padding-left: 1rem; padding-right: 1rem; } .mathfa-books-grid { grid-template-columns: 1fr; } .mathfa-book-card-art { height: 280px; } }

/* Book product page only. These rules are intentionally scoped so other pages are unchanged. */
.mathfa-product-page { background: var(--mathfa-cream) !important; display: block !important; margin: 0 !important; max-width: none !important; padding: 2rem 1.5rem 7rem !important; width: 100% !important; }
.mathfa-product-crumbs { color: #56817b; display: flex; flex-wrap: wrap; font-size: .76rem; gap: .6rem; margin: 0 auto 3rem; max-width: 1180px; }
.mathfa-product-crumbs a { color: var(--mathfa-ink); font-weight: 700; text-decoration: none; }
.mathfa-product-card { display: block !important; margin: auto !important; max-width: 1180px !important; width: 100% !important; }
.mathfa-product-summary { background: #fffdf8 !important; display: block !important; padding: clamp(1.5rem, 5vw, 5rem) !important; width: 100% !important; }
.mathfa-product-summary > .product-entry-wrapper { align-items: stretch !important; display: grid !important; gap: clamp(2rem, 6vw, 6rem) !important; grid-template-columns: minmax(300px, .9fr) minmax(360px, 1.1fr) !important; margin: 0 !important; max-width: none !important; width: 100% !important; }
.mathfa-product-summary > .woocommerce-product-gallery { grid-column: 1 !important; grid-row: 1 !important; }
.mathfa-product-summary > .mathfa-product-information { grid-column: 2 !important; grid-row: 1 !important; }
.mathfa-product-summary > .mathfa-product-promises { grid-column: 1 / -1 !important; grid-row: 2 !important; }
.mathfa-product-summary > .mathfa-product-details { grid-column: 1 / -1 !important; grid-row: 3 !important; }
.mathfa-product-gallery { align-items: center !important; background: var(--mathfa-mint) !important; display: flex !important; float: none !important; justify-content: center !important; min-height: 500px !important; overflow: hidden !important; padding: clamp(2rem, 5vw, 4rem) !important; position: relative !important; width: auto !important; }
.mathfa-product-gallery::before { border: 1px solid rgba(16,63,60,.3); border-radius: 50%; content: ''; height: 25rem; left: -10rem; position: absolute; top: -8rem; width: 25rem; }
.mathfa-product-gallery::after { border: 1px solid rgba(16,63,60,.3); border-radius: 50%; bottom: -8rem; content: ''; height: 23rem; position: absolute; right: -9rem; width: 23rem; }
.mathfa-product-gallery .woocommerce-product-gallery { float: none !important; margin: 0 !important; max-width: 100% !important; width: 100% !important; z-index: 1; }
.mathfa-product-gallery .woocommerce-product-gallery__image img { box-shadow: 15px 18px 0 rgba(16,63,60,.18); height: auto; margin: auto; max-height: 550px; object-fit: contain; width: auto; }
.mathfa-product-summary > .woocommerce-product-gallery { align-items: center !important; background: var(--mathfa-mint) !important; display: flex !important; float: none !important; justify-content: center !important; min-height: 500px !important; overflow: hidden !important; padding: clamp(2rem, 5vw, 4rem) !important; position: relative !important; width: auto !important; }
.mathfa-product-summary > .woocommerce-product-gallery::before { border: 1px solid rgba(16,63,60,.3); border-radius: 50%; content: ''; height: 25rem; left: -10rem; position: absolute; top: -8rem; width: 25rem; }
.mathfa-product-summary > .woocommerce-product-gallery::after { border: 1px solid rgba(16,63,60,.3); border-radius: 50%; bottom: -8rem; content: ''; height: 23rem; position: absolute; right: -9rem; width: 23rem; }
.mathfa-product-summary > .woocommerce-product-gallery .woocommerce-product-gallery__wrapper { margin: 0 !important; position: relative; width: 100% !important; z-index: 1; }
.mathfa-product-summary > .woocommerce-product-gallery .woocommerce-product-gallery__image img { box-shadow: 15px 18px 0 rgba(16,63,60,.18); height: auto; margin: auto; max-height: 550px; object-fit: contain; width: auto; }
.mathfa-product-summary > .product-entry-wrapper > .woocommerce-product-gallery { align-items: center !important; background: var(--mathfa-mint) !important; display: flex !important; float: none !important; justify-content: center !important; min-height: 500px !important; overflow: hidden !important; padding: clamp(2rem, 5vw, 4rem) !important; position: relative !important; width: 100% !important; }
.mathfa-product-summary > .product-entry-wrapper > .woocommerce-product-gallery::before { border: 1px solid rgba(16,63,60,.3); border-radius: 50%; content: ''; height: 25rem; left: -10rem; position: absolute; top: -8rem; width: 25rem; }
.mathfa-product-summary > .product-entry-wrapper > .woocommerce-product-gallery::after { border: 1px solid rgba(16,63,60,.3); border-radius: 50%; bottom: -8rem; content: ''; height: 23rem; position: absolute; right: -9rem; width: 23rem; }
.mathfa-product-summary > .product-entry-wrapper > .woocommerce-product-gallery .woocommerce-product-gallery__wrapper { margin: 0 !important; position: relative; width: 100% !important; z-index: 1; }
.mathfa-product-summary > .product-entry-wrapper > .woocommerce-product-gallery .woocommerce-product-gallery__image img { box-shadow: 15px 18px 0 rgba(16,63,60,.18); height: auto; margin: auto; max-height: 550px; object-fit: contain; width: auto; }
.mathfa-product-summary > .product-entry-wrapper > .woocommerce-product-gallery .woocommerce-product-gallery__image img { height: 470px !important; max-height: none !important; object-fit: cover !important; object-position: center !important; width: 330px !important; }
.mathfa-product-information { align-self: center !important; min-width: 0 !important; padding-top: 1.5rem; width: auto !important; }
.mathfa-product-kicker { color: #39716d; font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.mathfa-product-information .product_title { color: var(--mathfa-ink); font-family: Fraunces, Georgia, serif; font-size: clamp(2.7rem, 6vw, 5.3rem); letter-spacing: -.065em; line-height: .98; margin: .6rem 0 1.3rem; }
.mathfa-product-information .price { color: var(--mathfa-coral); font-size: 1.8rem; font-weight: 700; margin: 1.2rem 0; }
.mathfa-product-information .woocommerce-product-details__short-description { color: #426864; font-size: 1.05rem; line-height: 1.65; }
.mathfa-product-information form.cart { border-bottom: 1px solid rgba(16,63,60,.18); margin: 2rem 0 1.5rem; padding-bottom: 2rem; }
.mathfa-product-information .single_add_to_cart_button { background: var(--mathfa-ink); border-radius: 0; color: #fffdf8; font-size: .9rem; font-weight: 700; min-height: 54px; padding: 0 2rem; }
.mathfa-product-information .single_add_to_cart_button:hover { background: var(--mathfa-coral); }
.mathfa-product-information .quantity .qty { border: 1px solid var(--mathfa-ink); min-height: 54px; }
.mathfa-format-line { align-items: center; color: #426864; display: flex; flex-wrap: wrap; font-size: .86rem; gap: .5rem; margin: 1.25rem 0; }
.mathfa-format-line strong { color: var(--mathfa-ink); }
.mathfa-format-dot { color: var(--mathfa-coral); font-weight: 700; }
.mathfa-member-note { align-items: center; background: #edf5e8; display: flex; gap: .8rem; margin-top: 1.5rem; padding: 1rem; }
.mathfa-member-note__mark { align-items: center; background: var(--mathfa-coral); border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 30px; font-weight: 700; height: 30px; justify-content: center; width: 30px; }
.mathfa-member-note p { color: #315d57; font-size: .8rem; line-height: 1.45; margin: 0; }
.mathfa-product-promises { background: var(--mathfa-ink); color: #f7f1e7; display: grid !important; grid-template-columns: repeat(3, 1fr) !important; margin: 0 !important; width: 100% !important; }
.mathfa-product-promises > div { align-items: center; border-right: 1px solid rgba(247,241,231,.18); display: grid; gap: .2rem; grid-template-columns: 36px 1fr; padding: 1.3rem 1.5rem; }
.mathfa-product-promises > div:last-child { border-right: 0; }
.mathfa-promise-icon { align-items: center; border: 1px solid var(--mathfa-sun); border-radius: 50%; color: var(--mathfa-sun); display: inline-flex; font-size: .9rem; font-weight: 700; grid-row: span 2; height: 29px; justify-content: center; width: 29px; }
.mathfa-product-promises strong { font-size: .84rem; }
.mathfa-product-promises small { color: #b8d2cc; font-size: .72rem; }
.mathfa-product-details { background: #fffdf8; margin-top: 1px; padding: clamp(1.5rem, 5vw, 4.5rem); width: 100% !important; }
.mathfa-product-details .woocommerce-tabs { margin-top: 0; }
.mathfa-product-details .woocommerce-tabs ul.tabs { border-bottom: 1px solid rgba(16,63,60,.18); margin-bottom: 2rem; padding-left: 0; }
.mathfa-product-details .woocommerce-tabs ul.tabs li { background: transparent; border: 0; margin: 0 1.5rem 0 0; padding: 0 0 .8rem; }
.mathfa-product-details .woocommerce-tabs ul.tabs li.active { border-bottom: 3px solid var(--mathfa-coral); }
.mathfa-product-details .woocommerce-tabs ul.tabs li a { color: var(--mathfa-ink); font-weight: 700; }
.mathfa-product-details .woocommerce-Tabs-panel { color: #426864; line-height: 1.75; max-width: 780px; }
.mathfa-product-details .related.products { border-top: 1px solid rgba(16,63,60,.18); margin-top: 4rem; padding-top: 3rem; }
.mathfa-product-details .related.products h2 { color: var(--mathfa-ink); font-family: Fraunces, Georgia, serif; font-size: 2.4rem; letter-spacing: -.05em; }
@media (max-width: 760px) { .mathfa-product-page { padding-left: 1rem !important; padding-right: 1rem !important; } .mathfa-product-summary { gap: 1rem !important; grid-template-columns: 1fr !important; padding: 1.25rem !important; } .mathfa-product-summary > .mathfa-product-gallery, .mathfa-product-summary > .mathfa-product-information, .mathfa-product-summary > .mathfa-product-promises, .mathfa-product-summary > .mathfa-product-details { grid-column: 1 !important; } .mathfa-product-summary > .mathfa-product-gallery { grid-row: 1 !important; } .mathfa-product-summary > .mathfa-product-information { grid-row: 2 !important; } .mathfa-product-summary > .mathfa-product-promises { grid-row: 3 !important; } .mathfa-product-summary > .mathfa-product-details { grid-row: 4 !important; } .mathfa-product-gallery { min-height: 320px !important; } .mathfa-product-information { padding: 1.2rem .5rem .5rem; } .mathfa-product-promises { grid-template-columns: 1fr !important; } .mathfa-product-promises > div { border-bottom: 1px solid rgba(247,241,231,.18); border-right: 0; } }

/* Flagship book product page. Scoped to this template so the rest of the site remains untouched. */
.mathfa-primary-product { background: #f7f1e7; color: #103f3c; margin: 0; overflow: hidden; padding: 1.25rem 2rem 7rem; }
.mathfa-primary-product a { color: inherit; }
.mathfa-product-breadcrumbs { align-items: center; color: #52746f; display: flex; flex-wrap: wrap; font-size: .72rem; gap: .55rem; letter-spacing: .02em; margin: 0 auto 1.75rem; max-width: 1240px; }
.mathfa-product-breadcrumbs a { font-weight: 700; text-decoration: none; }
.mathfa-product-breadcrumbs a:hover { color: #ee6c4d; }
.mathfa-product-hero { align-items: center; display: grid; gap: clamp(3rem, 7vw, 8rem); grid-template-columns: minmax(330px, .88fr) minmax(360px, 1.12fr); margin: 0 auto; max-width: 1240px; padding: 2.5rem 0 5.5rem; }
.mathfa-cover-stage { align-items: center; background: #8bc7bd; display: flex; isolation: isolate; justify-content: center; min-height: 650px; overflow: hidden; padding: 4.5rem 3.25rem; position: relative; }
.mathfa-cover-stage::before { border: 1px solid rgba(16,63,60,.3); border-radius: 50%; content: ''; height: 31rem; left: -15rem; position: absolute; top: -12rem; width: 31rem; z-index: -1; }
.mathfa-cover-stage::after { border: 1px solid rgba(16,63,60,.3); border-radius: 50%; bottom: -15rem; content: ''; height: 34rem; position: absolute; right: -14rem; width: 34rem; z-index: -1; }
.mathfa-cover-stamp { color: #103f3c; font-size: .58rem; font-weight: 700; left: 1.5rem; letter-spacing: .2em; line-height: 1.35; position: absolute; text-transform: uppercase; top: 1.5rem; }
.mathfa-cover-shadow { background: rgba(16,63,60,.22); filter: blur(22px); height: 30rem; position: absolute; transform: translate(18px, 24px) rotate(4deg); width: 20rem; z-index: 0; }
.mathfa-book-cover { box-shadow: 18px 22px 0 rgba(16,63,60,.2), 0 22px 48px rgba(16,63,60,.18); display: block; height: 520px; object-fit: cover; object-position: center; position: relative; transform: rotate(-2.5deg); transition: transform .35s ease; width: 360px; z-index: 1; }
.mathfa-cover-stage:hover .mathfa-book-cover { transform: rotate(-1deg) translateY(-6px); }
.mathfa-cover-caption { bottom: 1.5rem; color: rgba(16,63,60,.7); font-size: .68rem; letter-spacing: .04em; position: absolute; right: 1.5rem; }
.mathfa-product-intro { max-width: 650px; }
.mathfa-product-eyebrow { color: #39716d; font-size: .68rem; font-weight: 700; letter-spacing: .2em; margin: 0 0 1.25rem; text-transform: uppercase; }
.mathfa-product-intro h1 { color: #103f3c; font-family: Fraunces, Georgia, serif; font-size: clamp(3.5rem, 6.5vw, 6.8rem); font-weight: 500; letter-spacing: -.075em; line-height: .86; margin: 0; max-width: 680px; }
.mathfa-product-lede { color: #4c706b; font-size: clamp(1rem, 1.5vw, 1.18rem); line-height: 1.65; margin: 2rem 0 1.25rem; max-width: 550px; }
.mathfa-product-price { color: #ee6c4d; font-size: 1.7rem; font-weight: 700; letter-spacing: -.03em; margin-bottom: 1.5rem; }
.mathfa-purchase-card { background: #103f3c; box-shadow: 12px 12px 0 #f4c84c; color: #f7f1e7; max-width: 570px; padding: 1.25rem 1.35rem 1.15rem; }
.mathfa-purchase-top { align-items: center; display: flex; font-size: .85rem; justify-content: space-between; margin-bottom: 1rem; }
.mathfa-purchase-top span { color: #acd1c9; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.mathfa-cart { align-items: stretch; display: flex; gap: .65rem; margin: 0; }
.mathfa-cart .quantity { margin: 0 !important; }
.mathfa-cart .quantity .qty { background: transparent; border: 1px solid rgba(247,241,231,.7); color: #fff; height: 54px; min-width: 72px; padding: 0 .6rem; text-align: center; }
.mathfa-cart .single_add_to_cart_button { background: #ee6c4d; border: 0; border-radius: 0; color: #fff; flex: 1; font-size: .85rem; font-weight: 700; min-height: 54px; padding: 0 1.25rem; }
.mathfa-cart .single_add_to_cart_button:hover { background: #f4c84c; color: #103f3c; }
.mathfa-purchase-note { color: #acd1c9; font-size: .72rem; line-height: 1.5; margin: 1rem 0 0; max-width: 430px; }
.mathfa-product-meta-line { border-top: 1px solid rgba(16,63,60,.18); color: #52746f; display: flex; flex-wrap: wrap; font-size: .76rem; gap: 1.6rem; margin-top: 2.25rem; padding-top: 1rem; }
.mathfa-product-meta-line span { display: grid; gap: .2rem; }
.mathfa-product-meta-line strong { color: #103f3c; font-size: .62rem; letter-spacing: .13em; text-transform: uppercase; }
.mathfa-proof-row { background: #103f3c; color: #f7f1e7; display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 auto 6.5rem; max-width: 1240px; }
.mathfa-proof-row > div { border-right: 1px solid rgba(247,241,231,.18); min-height: 165px; padding: 1.5rem 1.75rem; }
.mathfa-proof-row > div:last-child { border-right: 0; }
.mathfa-proof-row span { color: #f4c84c; display: block; font-size: .7rem; font-weight: 700; letter-spacing: .15em; margin-bottom: 1.5rem; }
.mathfa-proof-row strong { display: block; font-family: Fraunces, Georgia, serif; font-size: 1.35rem; font-weight: 500; }
.mathfa-proof-row p { color: #acd1c9; font-size: .78rem; line-height: 1.55; margin: .45rem 0 0; max-width: 240px; }
.mathfa-book-story { border-top: 1px solid rgba(16,63,60,.2); display: grid; gap: 3rem; grid-template-columns: minmax(140px, .3fr) 1fr; margin: 0 auto; max-width: 1240px; padding: 4rem 0 6rem; }
.mathfa-story-label > span { color: #ee6c4d; font-size: .75rem; font-weight: 700; letter-spacing: .12em; }
.mathfa-story-content { max-width: 840px; }
.mathfa-story-content h2 { color: #103f3c; font-family: Fraunces, Georgia, serif; font-size: clamp(3rem, 6vw, 5.7rem); font-weight: 500; letter-spacing: -.075em; line-height: .9; margin: 0 0 2.5rem; }
.mathfa-story-content h2 em { color: #ee6c4d; font-style: italic; }
.mathfa-description { color: #456c67; font-size: 1.05rem; line-height: 1.75; max-width: 650px; }
.mathfa-description p:first-child { margin-top: 0; }
.mathfa-feature-grid { border-top: 1px solid rgba(16,63,60,.18); display: grid; gap: 1.5rem; grid-template-columns: repeat(3, 1fr); margin-top: 3rem; padding-top: 1.5rem; }
.mathfa-feature-grid span { color: #ee6c4d; font-size: .68rem; font-weight: 700; letter-spacing: .15em; }
.mathfa-feature-grid h3 { color: #103f3c; font-family: Fraunces, Georgia, serif; font-size: 1.35rem; font-weight: 500; margin: 1.35rem 0 .45rem; }
.mathfa-feature-grid p { color: #52746f; font-size: .78rem; line-height: 1.55; margin: 0; }
.mathfa-product-facts { background: #e8efe5; display: grid; gap: 4rem; grid-template-columns: minmax(260px, .8fr) 1.2fr; margin: 0 auto 5rem; max-width: 1240px; padding: clamp(2rem, 5vw, 5rem); }
.mathfa-product-facts h2 { color: #103f3c; font-family: Fraunces, Georgia, serif; font-size: clamp(2.6rem, 4vw, 4rem); font-weight: 500; letter-spacing: -.065em; line-height: .95; margin: 0; }
.mathfa-product-facts dl { display: grid; gap: 0; grid-template-columns: 1fr 1fr; margin: 0; }
.mathfa-product-facts dl > div { border-top: 1px solid rgba(16,63,60,.2); padding: 1rem 1rem 1rem 0; }
.mathfa-product-facts dt { color: #39716d; font-size: .65rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.mathfa-product-facts dd { color: #103f3c; font-size: .9rem; line-height: 1.45; margin: .45rem 0 0; }
.mathfa-primary-product .related.products { border-top: 1px solid rgba(16,63,60,.18); margin: 0 auto; max-width: 1240px; padding-top: 3rem; }
.mathfa-primary-product .related.products h2 { color: #103f3c; font-family: Fraunces, Georgia, serif; font-size: 2.5rem; font-weight: 500; letter-spacing: -.06em; }
@media (max-width: 820px) { .mathfa-primary-product { padding-left: 1rem; padding-right: 1rem; } .mathfa-product-hero { gap: 3rem; grid-template-columns: 1fr; padding-top: 1rem; } .mathfa-cover-stage { min-height: 520px; } .mathfa-proof-row { grid-template-columns: 1fr; margin-bottom: 4rem; } .mathfa-proof-row > div { border-bottom: 1px solid rgba(247,241,231,.18); border-right: 0; } .mathfa-proof-row > div:last-child { border-bottom: 0; } .mathfa-book-story, .mathfa-product-facts { gap: 2rem; grid-template-columns: 1fr; } }
@media (max-width: 520px) { .mathfa-primary-product { padding-top: .75rem; } .mathfa-product-hero { padding-bottom: 4rem; } .mathfa-cover-stage { min-height: 430px; padding: 2.5rem 1.5rem; } .mathfa-book-cover { height: 390px; width: 270px; } .mathfa-product-intro h1 { font-size: 3.5rem; } .mathfa-cart { flex-wrap: wrap; } .mathfa-cart .single_add_to_cart_button { flex: 1 1 100%; } .mathfa-product-meta-line { gap: 1rem; } .mathfa-feature-grid, .mathfa-product-facts dl { grid-template-columns: 1fr; } }

/* Reference-matched product composition: compact book card, then description and benefits. */
.mathfa-primary-product { display: flex; flex-direction: column; padding-bottom: 6rem; }
.mathfa-primary-product .mathfa-product-breadcrumbs { flex: 0 0 auto; }
.mathfa-primary-product .mathfa-product-hero { background: #fffaf0; border: 1px solid rgba(16,63,60,.08); display: grid; gap: clamp(1.5rem, 3vw, 3rem); grid-template-columns: minmax(245px, 300px) minmax(0, 1fr); order: 1; padding: 1.5rem; }
.mathfa-primary-product .mathfa-cover-stage { min-height: 580px; padding: 2rem 1.5rem; }
.mathfa-primary-product .mathfa-book-cover { height: 432px; width: 330px; }
.mathfa-primary-product .mathfa-book-cover,
.mathfa-primary-product .mathfa-cover-stage:hover .mathfa-book-cover { transform: none; }
.mathfa-primary-product .mathfa-product-intro { align-self: start; padding: .4rem 1.75rem 0 .25rem; }
.mathfa-primary-product .mathfa-product-eyebrow { margin-bottom: .85rem; }
.mathfa-primary-product .mathfa-product-intro h1 { font-family: DM Sans, Arial, sans-serif; font-size: clamp(2rem, 4vw, 3.15rem); font-weight: 800; letter-spacing: -.065em; line-height: .98; max-width: none; }
.mathfa-primary-product .mathfa-product-lede { color: #173b38; font-size: clamp(1.05rem, 1.6vw, 1.25rem); font-weight: 700; line-height: 1.65; margin: 2.25rem auto 1rem; max-width: 720px; text-align: center; }
.mathfa-primary-product .mathfa-product-price { font-size: 1.55rem; margin: .6rem 0 1.25rem; }
.mathfa-primary-product .mathfa-purchase-card { background: transparent; box-shadow: none; color: #103f3c; max-width: none; padding: 0; }
.mathfa-primary-product .mathfa-purchase-top { display: none; }
.mathfa-primary-product .mathfa-cart { border-top: 1px solid rgba(16,63,60,.14); margin-top: 1.25rem; padding-top: 1.25rem; }
.mathfa-primary-product .mathfa-cart .quantity .qty { background: #fff; border-color: #103f3c; color: #103f3c; }
.mathfa-primary-product .mathfa-cart .single_add_to_cart_button { background: #103f3c !important; border-radius: 0; color: #fffaf0 !important; flex: 0 1 220px; min-height: 54px; }
.mathfa-primary-product .mathfa-cart .single_add_to_cart_button:hover { background: #ee6c4d !important; }
.mathfa-primary-product .mathfa-purchase-note { color: #52746f; }
.mathfa-primary-product .mathfa-product-meta-line { border-top: 0; justify-content: center; margin-top: 1.5rem; padding-top: 0; }
.mathfa-primary-product .mathfa-book-story { order: 2; padding-bottom: 2.5rem; padding-top: 3.5rem; }
.mathfa-primary-product .mathfa-story-content h2 { font-family: DM Sans, Arial, sans-serif; font-size: clamp(2rem, 3.5vw, 2.8rem); font-weight: 800; letter-spacing: -.06em; line-height: 1; margin-bottom: 1.1rem; }
.mathfa-primary-product .mathfa-story-content h2 br { display: none; }
.mathfa-primary-product .mathfa-story-content h2 em { color: #103f3c; font-style: normal; }
.mathfa-primary-product .mathfa-description { font-size: .98rem; max-width: none; }
.mathfa-primary-product .mathfa-feature-grid { gap: 1rem; grid-template-columns: repeat(4, 1fr); margin-top: 2rem; }
.mathfa-primary-product .mathfa-feature-grid > div { background: #e4f1ef; border-radius: 0 0 12px 12px; min-height: 145px; padding: 1rem; position: relative; }
.mathfa-primary-product .mathfa-feature-grid > div:nth-child(2) { background: #e5f5e8; }
.mathfa-primary-product .mathfa-feature-grid > div:nth-child(3) { background: #fff1dd; }
.mathfa-primary-product .mathfa-feature-grid > div:nth-child(4) { background: #eee8f8; }
.mathfa-primary-product .mathfa-feature-grid > div::before { background: #f4c84c; content: ''; height: 10px; position: absolute; right: 0; top: 0; width: 24px; }
.mathfa-primary-product .mathfa-feature-grid h3 { font-family: DM Sans, Arial, sans-serif; font-size: 1rem; font-weight: 800; margin: .85rem 0 .35rem; }
.mathfa-primary-product .mathfa-proof-row { margin-bottom: 3rem; order: 3; }
.mathfa-primary-product .mathfa-product-facts { order: 4; }
@media (max-width: 820px) { .mathfa-primary-product .mathfa-product-hero { grid-template-columns: 1fr; } .mathfa-primary-product .mathfa-cover-stage { min-height: 500px; } .mathfa-primary-product .mathfa-product-intro { padding: 1rem .5rem 1.5rem; } .mathfa-primary-product .mathfa-feature-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .mathfa-primary-product .mathfa-product-hero { padding: .75rem; } .mathfa-primary-product .mathfa-cover-stage { min-height: 430px; } .mathfa-primary-product .mathfa-book-cover { height: 354px; width: 270px; } .mathfa-primary-product .mathfa-feature-grid { grid-template-columns: 1fr; } }

/* Checkout: focused two-column order flow, scoped to WooCommerce checkout only. */
body.woocommerce-checkout { background: #fffdf9; }
body.woocommerce-checkout .post-12 { margin: 0 !important; max-width: none !important; padding: 0 0 5rem !important; }
body.woocommerce-checkout .post-12::before { background: #237fc2; color: #dcecff; content: 'MY BOOKS   →   CHECKOUT   →   ORDER COMPLETE'; display: block; font-size: clamp(.8rem, 1.6vw, 1.35rem); font-weight: 800; letter-spacing: .01em; line-height: 1; padding: .7rem 1rem .85rem; text-align: center; text-transform: uppercase; }
body.woocommerce-checkout .post-12 > .entry-header { margin: 3rem auto 1.5rem; max-width: 1180px; padding: 0 1.5rem; text-align: center; }
body.woocommerce-checkout .post-12 > .entry-header h1 { color: #122d56; font-family: Fraunces, Georgia, serif; font-size: clamp(2rem, 4vw, 2.7rem); letter-spacing: -.04em; margin: 0; }
body.woocommerce-checkout .wc-block-checkout { box-sizing: border-box; display: grid !important; gap: 1.25rem !important; grid-template-columns: minmax(0, 1.45fr) minmax(340px, .95fr) !important; margin: 0 auto !important; max-width: 1180px !important; padding: 0 1.5rem !important; }
body.woocommerce-checkout .wc-block-checkout__main { grid-column: 1; max-width: none !important; padding: 0 !important; }
body.woocommerce-checkout .wc-block-checkout__sidebar { align-self: start; background: #fffdf9; border: 1px solid #eadfce; border-radius: 18px; box-shadow: 0 7px 18px rgba(24,53,86,.07); grid-column: 2; max-width: none !important; padding: 1rem !important; position: sticky; top: 1rem; }
body.woocommerce-checkout .wc-block-checkout__sidebar::before { background: #fffdf9; border-bottom: 1px solid #eadfce; color: #122d56; content: 'Order Summary'; display: block; font-family: Fraunces, Georgia, serif; font-size: 1.45rem; font-weight: 600; margin: -.25rem -.25rem 1rem; padding: .25rem .25rem 1rem; text-align: center; }
body.woocommerce-checkout .wc-block-components-checkout-step { background: #fffdf9; border: 1px solid #eadfce; border-radius: 17px; margin: 0 0 1rem; padding: 1.25rem 1.35rem; }
body.woocommerce-checkout .wc-block-components-checkout-step__title { color: #122d56; font-family: Fraunces, Georgia, serif; font-size: 1.3rem; font-weight: 600; }
body.woocommerce-checkout .wc-block-components-checkout-step__heading-container { margin-bottom: 1rem; }
body.woocommerce-checkout .wc-block-components-checkout-step__heading-container::after { background: #8bc62d; content: ''; display: block; height: 3px; margin-top: .65rem; width: 42px; }
body.woocommerce-checkout .mathfa-book-left { background: #fffdf9; border: 1px solid #eadfce; border-radius: 17px; margin: 0 0 1rem; padding: 1.25rem 1.35rem; }
body.woocommerce-checkout .mathfa-book-left h2 { color: #122d56; font-family: Fraunces, Georgia, serif; font-size: 1.3rem; font-weight: 600; margin: 0 0 1rem; }
body.woocommerce-checkout .mathfa-book-left .wc-block-components-order-summary-item { background: #fff; border: 1px solid #eadfce; border-radius: 12px; padding: .8rem; }
body.woocommerce-checkout .mathfa-book-source-hidden { display: none !important; }
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-checkout__sidebar .wc-block-checkout__payment-method { margin-top: 1rem; }
/* Compact billing fields: name first, phone before the optional address. */
body.woocommerce-checkout .wc-block-components-checkout-step--billing .wc-block-components-address-form { display: grid; gap: .7rem 1rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
body.woocommerce-checkout .wc-block-checkout__billing-address .wc-block-components-address-form { display: grid; gap: .7rem 1rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form { display: grid; gap: .7rem 1rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
body.woocommerce-checkout .wc-block-components-checkout-step--billing .wc-block-components-address-form__first_name { grid-column: 1 / -1; }
body.woocommerce-checkout .wc-block-checkout__billing-address .wc-block-components-address-form__first_name { grid-column: 1 / -1; }
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form__first_name { grid-column: 1 / -1; }
body.woocommerce-checkout .wc-block-components-checkout-step--billing .wc-block-components-address-form__phone { grid-column: 1 / -1; grid-row: 2; }
body.woocommerce-checkout .wc-block-checkout__billing-address .wc-block-components-address-form__phone { grid-column: 1 / -1; grid-row: 2; }
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form__phone { grid-column: 1 / -1; grid-row: 2; }
body.woocommerce-checkout .wc-block-components-checkout-step--billing .wc-block-components-address-form__address_1 { grid-column: 1 / -1; grid-row: 3; }
body.woocommerce-checkout .wc-block-checkout__billing-address .wc-block-components-address-form__address_1 { grid-column: 1 / -1; grid-row: 3; }
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form__address_1 { grid-column: 1 / -1; grid-row: 3; }
body.woocommerce-checkout .mathfa-contact-relocated { display: none !important; }
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form__first_name { grid-column: 1 / -1; grid-row: 1; }
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form__phone { grid-column: 2; grid-row: 2; }
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form .mathfa-email-field { grid-column: 1; grid-row: 2; }
body.woocommerce-checkout .wc-block-checkout__billing-fields .wc-block-components-address-form__address_1 { grid-column: 1 / -1; grid-row: 3; }
body.woocommerce-checkout .wc-block-components-checkout-step--billing .wc-block-components-address-form__address_2 { display: none !important; }
body.woocommerce-checkout .wc-block-components-checkout-step--billing .wc-block-components-text-input input { min-height: 42px; }
body.woocommerce-checkout .wc-block-components-checkout-step--billing { padding-bottom: 1rem; }
body.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-address-form { display: grid; gap: .7rem 1rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
body.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-address-form__first_name { grid-column: 1 / -1; grid-row: 1; }
body.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-address-form__phone { grid-column: 2; grid-row: 2; }
body.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-address-form .mathfa-email-field { grid-column: 1; grid-row: 2; }
body.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-address-form__address_1 { grid-column: 1 / -1; grid-row: 3; }
body.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-address-form__address_2 { display: none !important; }
body.woocommerce-checkout .wc-block-checkout__shipping-fields .wc-block-components-text-input input { min-height: 42px; }
@media (max-width: 600px) { body.woocommerce-checkout .wc-block-components-checkout-step--billing .wc-block-components-address-form { display: block; } body.woocommerce-checkout .wc-block-components-checkout-step--billing .wc-block-components-address-form > * { margin-bottom: .7rem; } }
body.woocommerce-checkout .wc-block-components-text-input input, body.woocommerce-checkout .wc-blocks-components-select select { background: #fff; border: 1px solid #dfd3c4; border-radius: 10px; color: #173d5d; min-height: 49px; }
body.woocommerce-checkout .wc-block-components-text-input label, body.woocommerce-checkout .wc-blocks-components-select label { color: #173d5d; font-size: .78rem; font-weight: 700; }
body.woocommerce-checkout .wc-block-components-order-summary { background: #fff; border: 1px solid #eadfce; border-radius: 15px; }
body.woocommerce-checkout .wc-block-components-order-summary-item { padding: .8rem; }
body.woocommerce-checkout .wc-block-components-product-name { color: #122d56; font-size: .9rem; font-weight: 700; }
body.woocommerce-checkout .wc-block-components-order-summary-item__image img { border-radius: 8px; }
body.woocommerce-checkout .wc-block-components-totals-wrapper { border-color: #eadfce; }
body.woocommerce-checkout .wc-block-components-totals-item { color: #173d5d; padding: .8rem .35rem; }
body.woocommerce-checkout .wc-block-components-totals-item__label { font-weight: 700; }
body.woocommerce-checkout .wc-block-components-totals-item__value { color: #6b9e1d; font-weight: 800; }
body.woocommerce-checkout .wc-block-checkout__actions { background: #f8f3eb; border-radius: 14px; margin-top: 1rem; padding: 1rem; }
body.woocommerce-checkout .wc-block-components-checkout-place-order-button { background: #6c9f1d !important; border: 0 !important; border-radius: 11px !important; box-shadow: 0 8px 18px rgba(108,159,29,.25); color: #fff !important; font-size: 1rem !important; font-weight: 800 !important; min-height: 54px; }
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover { background: #557d16 !important; }
body.woocommerce-checkout .wc-block-components-checkbox__label, body.woocommerce-checkout .wc-block-checkout__terms { color: #58728c; font-size: .8rem; line-height: 1.5; }
@media (max-width: 820px) { body.woocommerce-checkout .wc-block-checkout { display: flex !important; flex-direction: column !important; } body.woocommerce-checkout .wc-block-checkout__sidebar { order: -1; position: static; } body.woocommerce-checkout .post-12::before { font-size: .72rem; } }
/* WooCommerce Blocks puts the two columns inside this inner layout wrapper. */
body.woocommerce-checkout .post-12 .entry-header { margin: 3rem auto 1.5rem; max-width: 1180px; padding: 0 1.5rem; text-align: center; }
body.woocommerce-checkout .post-12 .entry-header .page-title { color: #122d56; font-family: Fraunces, Georgia, serif; font-size: clamp(2rem, 4vw, 2.7rem); letter-spacing: -.04em; margin: 0; }
body.woocommerce-checkout .wc-block-checkout { display: block !important; margin: 0 !important; max-width: none !important; padding: 0 !important; }
body.woocommerce-checkout .wc-block-components-sidebar-layout { box-sizing: border-box; display: grid !important; gap: 1.25rem !important; grid-template-columns: minmax(0, 1.45fr) minmax(340px, .95fr) !important; margin: 0 auto !important; max-width: 1180px !important; padding: 0 1.5rem !important; }
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-checkout__main { grid-column: 1; min-width: 0; }
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-checkout__main { max-width: none !important; width: 100% !important; }
body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-checkout__sidebar { grid-column: 2; max-width: none !important; min-width: 0; width: 100% !important; }
@media (max-width: 820px) { body.woocommerce-checkout .wc-block-components-sidebar-layout { display: flex !important; flex-direction: column !important; } body.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-checkout__sidebar { order: -1; } }

/* Final reference alignment: one shared page rail and a restrained product card. */
.mathfa-primary-product { box-sizing: border-box; padding-left: 0; padding-right: 0; }
.mathfa-primary-product > * { box-sizing: border-box; width: min(1280px, calc(100% - 48px)); }
.mathfa-primary-product > .mathfa-product-breadcrumbs { margin-left: auto; margin-right: auto; }
.mathfa-primary-product > .mathfa-product-hero { background: #fffaf0; border: 0; margin-left: auto; margin-right: auto; padding: 2rem 1rem 2.5rem; }
.mathfa-primary-product .mathfa-cover-stage { align-items: center; background: transparent; min-height: 390px; padding: 0; }
.mathfa-primary-product .mathfa-cover-stage::before,
.mathfa-primary-product .mathfa-cover-stage::after,
.mathfa-primary-product .mathfa-cover-stamp,
.mathfa-primary-product .mathfa-cover-caption,
.mathfa-primary-product .mathfa-cover-shadow { display: none; }
.mathfa-primary-product .mathfa-book-cover { box-shadow: 0 14px 24px rgba(16,63,60,.2); height: 360px; object-fit: cover; object-position: center; width: 248px; }
.mathfa-primary-product .mathfa-product-intro { padding: .5rem 1.5rem 0 0; }
.mathfa-primary-product .mathfa-product-intro h1 { color: #173d5d; font-size: clamp(2rem, 3vw, 3rem); letter-spacing: -.055em; line-height: 1.05; text-align: left; }
.mathfa-primary-product .mathfa-product-lede { color: #1c1c1c; font-size: clamp(1rem, 1.4vw, 1.18rem); line-height: 1.55; margin: 1.5rem 0 .8rem; max-width: 680px; text-align: left; }
.mathfa-primary-product .mathfa-product-price { margin: .8rem 0 1rem; }
.mathfa-primary-product .mathfa-cart { border-top: 0; justify-content: flex-start; margin-top: .5rem; padding-top: 0; }
.mathfa-primary-product .mathfa-cart .single_add_to_cart_button { flex: 0 1 210px; }
.mathfa-primary-product .mathfa-product-meta-line { justify-content: flex-start; margin-top: 1.25rem; }
.mathfa-primary-product > .mathfa-book-story,
.mathfa-primary-product > .mathfa-product-facts,
.mathfa-primary-product > .mathfa-proof-row { margin-left: auto; margin-right: auto; }
.mathfa-primary-product > .woocommerce-tabs,
.mathfa-primary-product > .related.products { box-sizing: border-box; margin-left: auto; margin-right: auto; max-width: 1280px; padding-left: 1rem; padding-right: 1rem; width: min(1280px, calc(100% - 48px)); }
.mathfa-primary-product > .woocommerce-tabs { padding-top: 2.5rem; }
.mathfa-primary-product > .woocommerce-tabs .woocommerce-Tabs-panel { margin-left: 0; margin-right: 0; max-width: none; }
.mathfa-primary-product > .mathfa-book-story { background: #fffaf0; padding-left: 1rem; padding-right: 1rem; }
.mathfa-primary-product > .mathfa-product-facts { padding-left: 3rem; padding-right: 3rem; }
@media (max-width: 820px) { .mathfa-primary-product > * { width: min(100% - 24px, 680px); } .mathfa-primary-product > .mathfa-product-hero { padding-left: .75rem; padding-right: .75rem; } .mathfa-primary-product .mathfa-product-intro { padding-right: .5rem; } }

/* Keep WooCommerce's generated tabs after the custom hero content. */
.mathfa-primary-product > .woocommerce-tabs,
.mathfa-primary-product > .related.products,
.mathfa-primary-product > .woocommerce-product-gallery,
.mathfa-primary-product > .woocommerce-product-details__short-description { order: 5; }

/* The description is the opening block, matching the supplied reference. */
.mathfa-primary-product > .mathfa-product-breadcrumbs { order: 0; }
.mathfa-primary-product > .woocommerce-tabs { background: #f7f1e7; border-top: 1px solid rgba(16,63,60,.12); order: 2; padding-bottom: 4rem; padding-top: 3rem; }
.mathfa-primary-product > .woocommerce-tabs ul.tabs { align-items: flex-start; border: 0; display: flex; gap: 1.25rem; margin: 0 0 1.35rem; padding: 0; }
.mathfa-primary-product > .woocommerce-tabs ul.tabs::before,
.mathfa-primary-product > .woocommerce-tabs ul.tabs::after { display: none; }
.mathfa-primary-product > .woocommerce-tabs ul.tabs li { background: transparent; border: 0; margin: 0; padding: 0; }
.mathfa-primary-product > .woocommerce-tabs ul.tabs li a { color: #173d5d; font-family: DM Sans, Arial, sans-serif; font-size: .68rem; font-weight: 700; letter-spacing: .03em; line-height: 1.1; padding: 0; text-transform: uppercase; }
.mathfa-primary-product > .woocommerce-tabs ul.tabs li.active a { color: #ee6c4d; }
.mathfa-primary-product > .woocommerce-tabs .woocommerce-Tabs-panel { color: #103f5d; font-size: 1rem; line-height: 1.65; }
.mathfa-primary-product > .woocommerce-tabs .woocommerce-Tabs-panel > p { margin: 0 0 1.5rem; max-width: 1180px; }
.mathfa-primary-product > .woocommerce-tabs .woocommerce-Tabs-panel h2 { color: #173d5d; font-family: DM Sans, Arial, sans-serif; font-size: clamp(2rem, 3vw, 2.7rem); font-weight: 800; letter-spacing: -.055em; line-height: 1.05; margin: 2.5rem 0 1rem; }
.mathfa-primary-product > .woocommerce-tabs .woocommerce-Tabs-panel ul { margin: 0 0 1.6rem; padding-left: 1.5rem; }
.mathfa-primary-product > .woocommerce-tabs .woocommerce-Tabs-panel li { margin: .25rem 0; }
.mathfa-primary-product > .mathfa-product-hero { order: 1; }
.mathfa-primary-product > .mathfa-proof-row { order: 3; }
.mathfa-primary-product > .mathfa-book-story { display: block; order: 3; padding-bottom: 3rem; padding-top: 0; }
.mathfa-primary-product > .mathfa-book-story .mathfa-story-label,
.mathfa-primary-product > .mathfa-book-story .mathfa-story-content > h2,
.mathfa-primary-product > .mathfa-book-story .mathfa-story-content > .mathfa-description { display: none; }
.mathfa-primary-product > .mathfa-book-story .mathfa-story-content { max-width: none; width: 100%; }
.mathfa-primary-product > .mathfa-book-story .mathfa-feature-grid { border-top: 0; margin: 0; padding: 0; }
.mathfa-primary-product > .mathfa-proof-row { order: 4; }
.mathfa-primary-product > .mathfa-product-facts { order: 5; }
.mathfa-primary-product > .mathfa-related-book { align-items: stretch; background: #103f3c; color: #f7f1e7; display: grid; gap: 3rem; grid-template-columns: .8fr 1.2fr; margin-left: auto; margin-right: auto; order: 6; padding: 3rem; }
.mathfa-primary-product > .mathfa-related-book .mathfa-product-eyebrow { color: #acd1c9; }
.mathfa-primary-product > .mathfa-related-book h2 { font-family: Fraunces, Georgia, serif; font-size: clamp(2.5rem, 4vw, 4.4rem); font-weight: 500; letter-spacing: -.07em; line-height: .92; margin: 0; }
.mathfa-primary-product > .mathfa-related-book h2 em { color: #f4c84c; font-style: italic; }
.mathfa-related-book-card { background: #f7f1e7; color: #103f3c; display: flex; flex-direction: column; justify-content: center; min-height: 190px; padding: 1.5rem 1.75rem; }
.mathfa-related-book-number { color: #ee6c4d; font-size: .66rem; font-weight: 700; letter-spacing: .16em; }
.mathfa-related-book-card strong { font-family: DM Sans, Arial, sans-serif; font-size: 1.35rem; margin: 1rem 0 .35rem; }
.mathfa-related-book-card p { color: #52746f; font-size: .85rem; line-height: 1.55; margin: 0 0 1rem; max-width: 430px; }
.mathfa-related-book-card a { color: #103f3c; font-size: .8rem; font-weight: 700; text-decoration: none; }
.mathfa-related-book-card a:hover { color: #ee6c4d; }
@media (max-width: 820px) { .mathfa-primary-product > .mathfa-related-book { gap: 2rem; grid-template-columns: 1fr; padding: 2rem; } }
.mathfa-primary-product > .related.products { order: 5; }

/* Readable shared typography for every inner page. The homepage map keeps its own type system. */
body:not(.home) h1,
body:not(.home) h2,
body:not(.home) h3,
body:not(.home) h4,
body:not(.home) h5,
body:not(.home) h6 { font-family: 'DM Sans', Arial, sans-serif !important; font-style: normal; font-weight: 700; letter-spacing: -.045em; }
body:not(.home) h1 em,
body:not(.home) h2 em,
body:not(.home) h3 em { font-family: 'DM Sans', Arial, sans-serif !important; font-style: normal; }

/* STEM program landing page: four levels, one connected learning rhythm. */
.mathfa-stem-page { background:#f8f3e9; color:#123f3c; font-family:'DM Sans',Arial,sans-serif; line-height:1.55; }
.mf-stem-wrap { margin:auto; width:min(1200px,calc(100% - 48px)); }
.mf-stem-hero { overflow:hidden; padding:clamp(4rem,8vw,7rem) 0 5rem; position:relative; }
.mf-stem-hero:after { background:#ddefea; border-radius:50%; content:''; height:520px; position:absolute; right:-170px; top:-210px; width:520px; z-index:0; }
.mf-stem-hero-grid { align-items:center; display:grid; gap:clamp(3rem,7vw,6rem); grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr); position:relative; z-index:1; }
.mf-stem-kicker,.mf-stem-overline { color:#4d7874; font-size:11px; font-weight:800; letter-spacing:.17em; margin:0 0 13px; text-transform:uppercase; }
.mf-stem-hero h1,.mf-stem-section h2,.mf-stem-method h2,.mf-stem-library h2,.mf-stem-cta h2 { font-family:'DM Sans',Arial,sans-serif !important; font-style:normal; font-weight:800; letter-spacing:-.065em; line-height:.98; margin:0; }
.mf-stem-hero h1 { font-size:clamp(3.5rem,8vw,6.2rem); max-width:720px; }
.mf-stem-hero h1 em,.mf-stem-section h2 em { color:#f36f50; font-style:normal; }
.mf-stem-lede { color:#385f5c; font-size:clamp(1.1rem,2vw,1.4rem); line-height:1.55; margin:1.75rem 0 0; max-width:690px; }
.mf-stem-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:2rem; }
.mf-stem-button { align-items:center; background:#123f3c; border-radius:999px; color:#fff; display:inline-flex; font-size:.9rem; font-weight:800; justify-content:center; min-height:49px; padding:12px 20px; text-decoration:none; }
.mf-stem-button-alt { background:transparent; border:1px solid #123f3c; color:#123f3c; }
.mf-stem-orbit { aspect-ratio:1; background:#123f3c; border-radius:50%; box-shadow:0 35px 80px rgba(18,63,60,.2); margin:auto; max-width:470px; position:relative; width:100%; }
.mf-stem-orbit-center { align-items:center; background:#f8f3e9; border-radius:50%; display:flex; flex-direction:column; inset:31%; justify-content:center; line-height:1; position:absolute; text-align:center; }
.mf-stem-orbit-center strong { font-size:clamp(1.25rem,3vw,2.3rem); letter-spacing:-.06em; }
.mf-stem-orbit-center small { font-size:9px; font-weight:800; letter-spacing:.15em; margin-top:9px; text-transform:uppercase; }
.mf-stem-quadrant { align-items:center; border:5px solid #123f3c; border-radius:50%; color:#123f3c; display:flex; flex-direction:column; height:31%; justify-content:center; position:absolute; text-align:center; width:31%; }
.mf-stem-quadrant b { font-size:clamp(1.8rem,3.6vw,2.7rem); line-height:1; }.mf-stem-quadrant span { font-size:11px; font-weight:800; }.mf-stem-q1{background:#f47a5a;left:34.5%;top:2%}.mf-stem-q2{background:#f2c553;right:3%;top:35%}.mf-stem-q3{background:#8fcac1;bottom:2%;left:34.5%}.mf-stem-q4{background:#86a5ec;left:3%;top:35%}
.mf-stem-proof { background:#123f3c; color:#fff; }.mf-stem-proof-grid { display:grid; grid-template-columns:repeat(4,1fr); min-height:116px; }.mf-stem-proof-grid>div { border-left:1px solid rgba(255,255,255,.15); padding:24px 28px; }.mf-stem-proof-grid>div:last-child{border-right:1px solid rgba(255,255,255,.15)}.mf-stem-proof strong{color:#f2c553;display:block;font-size:1.8rem;letter-spacing:-.04em}.mf-stem-proof span{color:#cbe0dd;font-size:12px}
.mf-stem-section { padding:clamp(4rem,8vw,7rem) 0; }.mf-stem-section-head { align-items:end; display:grid; gap:3rem; grid-template-columns:1fr .75fr; margin-bottom:2.5rem; }.mf-stem-section h2,.mf-stem-method h2,.mf-stem-library h2,.mf-stem-cta h2{font-size:clamp(2.7rem,5vw,4rem)}.mf-stem-section-head>p,.mf-stem-library>div>p:not(.mf-stem-kicker),.mf-stem-method-grid>div>p:not(.mf-stem-kicker){color:#4d706d;font-size:1.05rem;margin:0}
.mf-stem-levels { display:grid; gap:20px; grid-template-columns:repeat(2,1fr); }.mf-stem-level { background:var(--stem-soft); border:1px solid rgba(18,63,60,.16); border-radius:24px; display:flex; flex-direction:column; min-height:390px; overflow:hidden; padding:28px; }.mf-stem-level-a{--stem-color:#f47a5a;--stem-soft:#ffe8df}.mf-stem-level-b{--stem-color:#e7b83f;--stem-soft:#fff2c8}.mf-stem-level-c{--stem-color:#52ae9d;--stem-soft:#dff3ee}.mf-stem-level-d{--stem-color:#698ee3;--stem-soft:#e2eaff}.mf-stem-level-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.mf-stem-level-top b{align-items:center;background:var(--stem-color);border-radius:15px;display:flex;font-size:1.8rem;height:54px;justify-content:center;width:54px}.mf-stem-level-top span{color:rgba(18,63,60,.45);font-size:1.4rem;font-weight:800}.mf-stem-level h3{font-size:clamp(2rem,4vw,3rem);margin:.35rem 0 .75rem}.mf-stem-level>p:not(.mf-stem-overline){color:#3f625f;margin:0;max-width:590px}.mf-stem-topics{display:flex;flex-wrap:wrap;gap:8px;margin:1.5rem 0 2rem}.mf-stem-topics span{background:rgba(255,255,255,.6);border-radius:999px;font-size:11px;font-weight:800;padding:7px 11px}.mf-stem-level footer{border-top:1px solid rgba(18,63,60,.14);display:flex;font-size:12px;gap:15px;justify-content:space-between;margin-top:auto;padding-top:17px}.mf-stem-level footer strong{font-size:13px}
.mf-stem-method { background:#dcefeb; padding:clamp(4rem,8vw,7rem) 0; }.mf-stem-method-grid{align-items:center;display:grid;gap:5rem;grid-template-columns:.8fr 1.2fr}.mf-stem-method-grid>div>p:not(.mf-stem-kicker){line-height:1.65;margin-top:1.5rem}.mf-stem-steps{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}.mf-stem-steps article{background:rgba(255,253,248,.82);border-radius:18px;min-height:170px;padding:23px}.mf-stem-steps b{align-items:center;background:#123f3c;border-radius:50%;color:white;display:flex;font-size:11px;height:33px;justify-content:center;width:33px}.mf-stem-steps h3{font-size:1.35rem;margin:1.2rem 0 .4rem}.mf-stem-steps p{color:#4d706d;font-size:.88rem;margin:0}
.mf-stem-library{align-items:center;display:grid;gap:4.5rem;grid-template-columns:1fr 1.15fr;padding:clamp(4rem,8vw,7rem) 0}.mf-stem-library-visual{background:#123f3c;border-radius:27px;min-height:480px;overflow:hidden;position:relative}.mf-stem-book{border-radius:7px 18px 18px 7px;box-shadow:14px 18px 35px rgba(0,0,0,.25);display:flex;flex-direction:column;height:68%;justify-content:space-between;padding:25px;position:absolute;top:16%;width:42%}.mf-stem-book-one{background:#89c9bf;left:11%;transform:rotate(-7deg)}.mf-stem-book-two{background:#f08b79;right:10%;transform:rotate(7deg)}.mf-stem-book small{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.mf-stem-book strong{font-size:clamp(1.8rem,3.6vw,2.8rem);letter-spacing:-.07em;line-height:.95}.mf-stem-book span{font-size:11px;font-weight:800}.mf-stem-library ul{list-style:none;margin:1.75rem 0;padding:0}.mf-stem-library li{border-bottom:1px solid rgba(18,63,60,.16);font-weight:700;padding:11px 0 11px 32px;position:relative}.mf-stem-library li:before{align-items:center;background:#f2c553;border-radius:50%;content:'+';display:flex;font-weight:900;height:21px;justify-content:center;left:0;position:absolute;top:10px;width:21px}.mf-stem-note{background:#fff7ed;border-left:5px solid #f36f50;color:#496a67;font-size:.88rem!important;padding:17px 20px!important}
.mf-stem-cta{align-items:center;background:#f36f50;border-radius:28px;display:flex;gap:3rem;justify-content:space-between;margin-bottom:5rem;padding:clamp(2.5rem,6vw,4.5rem)}.mf-stem-cta h2{max-width:700px}.mf-stem-cta p{color:#522c26;margin:13px 0 0;max-width:650px}.mf-stem-cta .mf-stem-button{background:#123f3c;color:#fff;flex:none}
@media(max-width:900px){.mf-stem-hero-grid,.mf-stem-section-head,.mf-stem-method-grid,.mf-stem-library{grid-template-columns:1fr}.mf-stem-orbit{width:min(100%,470px)}.mf-stem-proof-grid{grid-template-columns:repeat(2,1fr)}.mf-stem-levels{grid-template-columns:1fr}.mf-stem-method-grid,.mf-stem-library{gap:3rem}.mf-stem-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.mf-stem-wrap{width:min(100% - 28px,1200px)}.mf-stem-hero{padding-top:3rem}.mf-stem-hero h1{font-size:3.3rem}.mf-stem-proof-grid{grid-template-columns:repeat(2,1fr)}.mf-stem-proof-grid>div{padding:18px 14px}.mf-stem-proof strong{font-size:1.3rem}.mf-stem-steps{grid-template-columns:1fr}.mf-stem-level{padding:23px}.mf-stem-library-visual{min-height:390px}.mf-stem-book{padding:18px}.mf-stem-book-one{left:7%}.mf-stem-book-two{right:7%}}

/* Mathfa 404 */
.mathfa-404{background:var(--mathfa-cream);color:var(--mathfa-ink)}.mathfa-404-hero{width:min(1180px,calc(100% - 48px));min-height:610px;margin:auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center;gap:clamp(35px,8vw,110px)}.mathfa-404-kicker{margin:0 0 18px;color:#4b7771;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.mathfa-404 h1{max-width:620px;margin:0;font-family:'Fraunces',Georgia,serif;font-size:clamp(58px,8vw,102px);font-weight:500;line-height:.92;letter-spacing:-.055em}.mathfa-404 h1 em{display:block;color:var(--mathfa-coral);font-weight:500}.mathfa-404-lede{max-width:510px;margin:29px 0 0;color:#446a65;font-size:18px;line-height:1.6}.mathfa-404-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:34px}.mathfa-404-primary{display:inline-flex;align-items:center;gap:32px;padding:15px 19px;background:var(--mathfa-ink);color:var(--mathfa-cream);font-size:13px;font-weight:800;text-decoration:none}.mathfa-404-primary:hover,.mathfa-404-primary:focus-visible{background:var(--mathfa-coral);color:#fff}.mathfa-404-primary span{font-size:18px}.mathfa-404-secondary{color:var(--mathfa-ink);font-size:13px;font-weight:800;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}.mathfa-404-secondary:hover,.mathfa-404-secondary:focus-visible{color:var(--mathfa-coral)}.mathfa-404-visual{position:relative;min-height:430px;overflow:hidden;background:var(--mathfa-mint);border-radius:50% 42% 8px 8px}.mathfa-404-orbit{position:absolute;border:1px solid rgba(21,62,58,.55);border-radius:50%}.mathfa-404 .orbit-one{width:470px;height:470px;right:-105px;top:-150px}.mathfa-404 .orbit-two{width:300px;height:300px;left:-95px;bottom:-135px}.mathfa-404-card{position:absolute;display:grid;place-items:center;width:104px;height:124px;color:var(--mathfa-ink);font-family:'Fraunces',Georgia,serif;font-size:76px;line-height:1;box-shadow:9px 12px 0 rgba(21,62,58,.13)}.mathfa-404 .card-four{top:76px;left:92px;background:var(--mathfa-gold);transform:rotate(-9deg)}.mathfa-404 .card-zero{top:145px;right:85px;background:var(--mathfa-cream);transform:rotate(8deg)}.mathfa-404 .card-four-four{bottom:68px;left:195px;background:var(--mathfa-coral);color:var(--mathfa-cream);transform:rotate(5deg)}.mathfa-404-note{position:absolute;left:39px;bottom:34px;color:var(--mathfa-ink);font-family:'Fraunces',Georgia,serif;font-size:22px;line-height:1}.mathfa-404-note em{color:var(--mathfa-coral)}.mathfa-404-links{width:min(1180px,calc(100% - 48px));margin:auto;padding:25px 0 55px;border-top:1px solid rgba(21,62,58,.2);display:flex;align-items:center;gap:30px}.mathfa-404-links p{margin:0 auto 0 0;color:#557873;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.mathfa-404-links a{color:var(--mathfa-ink);font-size:13px;font-weight:800;text-decoration:none}.mathfa-404-links a:hover,.mathfa-404-links a:focus-visible{color:var(--mathfa-coral)}.mathfa-404-links a span{margin-left:7px;color:var(--mathfa-coral)}
@media(max-width:760px){.mathfa-404-hero{width:min(100% - 28px,560px);grid-template-columns:1fr;padding:64px 0 40px}.mathfa-404 h1{font-size:clamp(54px,16vw,76px)}.mathfa-404-visual{min-height:350px}.mathfa-404 .card-four{left:13%}.mathfa-404 .card-zero{right:11%}.mathfa-404 .card-four-four{left:36%}.mathfa-404-links{width:min(100% - 28px,560px);flex-wrap:wrap;gap:18px 24px}.mathfa-404-links p{width:100%}}
