:root {
	--ml-cream: #fefefe;
	--ml-paper: #fefefe;
	--ml-ink: #3c3038;
	--ml-muted: #82757b;
	--ml-berry: #b93663;
	--ml-berry-light: #f5a2b8;
	--ml-mint: #c6e9d7;
	--ml-lavender: #dcccf4;
	--ml-sky: #b9ddf3;
	--ml-lemon: #ffd929;
	--ml-cobalt: #0756cf;
	--ml-cobalt-dark: #073a9a;
	--ml-shadow: 0 14px 38px rgba(86, 51, 65, 0.1);
	--ml-shadow-hover: 0 22px 48px rgba(86, 51, 65, 0.17);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 7rem; }
body { background: var(--ml-cream); color: var(--ml-ink); font-family: Nunito, "Trebuchet MS", ui-rounded, system-ui, sans-serif; }
a { color: var(--ml-cobalt); text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
a:hover { color: var(--ml-ink); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--ml-sky); outline-offset: 3px; }
img { max-width: 100%; height: auto; }
.wp-site-blocks { overflow: clip; }
.wp-block-post-content > :first-child { margin-top: 0; }

/* Header */
.ml-site-header { position: sticky; z-index: 50; top: 0; padding: 0.4rem 1.2rem; background: #fefefe; border-bottom: 1px solid rgba(7, 58, 154, 0.08); }
.ml-header-inner { position: relative; min-height: 0; flex-direction: column !important; justify-content: center !important; gap: 0.35rem; padding: 0.35rem 0; }
.ml-wordmark { flex: 0 1 auto; align-self: center; margin: 0; line-height: 0; }
.ml-wordmark a { display: block; width: clamp(16rem, 27vw, 21rem); aspect-ratio: 2126 / 740; overflow: hidden; background: url("../brand/mimoloo-logo.png") center / contain no-repeat; color: transparent; font-size: 0; line-height: 0; text-decoration: none; }
.ml-wordmark a::after { content: none; }
.ml-primary-nav { width: 100%; justify-content: center; margin-inline: auto; }
.ml-primary-nav .wp-block-navigation__container { gap: clamp(0.8rem, 2.3vw, 2.2rem); }
.ml-primary-nav .wp-block-navigation-item__content { color: var(--ml-ink); font-size: 0.93rem; font-weight: 800; text-decoration: none; transition: color 180ms ease, transform 180ms ease; }
.ml-primary-nav .wp-block-navigation-item__content:hover { color: var(--ml-cobalt); transform: translateY(-2px); }
.ml-primary-nav .wp-block-navigation__submenu-container { min-width: 13rem; padding: 0.45rem; border: 1px solid rgba(7, 58, 154, 0.1); border-radius: 1rem; background: #fefefe; box-shadow: var(--ml-shadow); }
.ml-primary-nav .wp-block-navigation-submenu .wp-block-navigation-item__content { display: block; padding: 0.65rem 0.8rem; border-radius: 0.7rem; }
.ml-primary-nav .wp-block-navigation-submenu .wp-block-navigation-item__content:hover { background: #eff6ff; }
.ml-header-actions { position: absolute; z-index: 2; top: 1.1rem; right: 0; gap: 0.65rem; }
.ml-header-actions .wp-block-woocommerce-product-search { width: min(16rem, 22vw); }
.ml-header-actions .wp-block-woocommerce-product-search form { position: relative; }
.ml-header-actions .wc-block-product-search__fields { display: flex; width: 100%; padding: 0.25rem 0.35rem 0.25rem 0.8rem; border: 1px solid #f0e6e6; border-radius: 999px; background: var(--ml-paper); }
.ml-header-actions .wc-block-product-search__field { min-width: 0; border: 0; border-radius: 0.6rem; background: transparent; font-size: 0.8rem; }
.ml-header-actions .wc-block-product-search__button { border-radius: 0.7rem; background: var(--ml-cobalt); }
.ml-header-actions .wc-block-mini-cart__button, .ml-header-actions .wp-block-woocommerce-mini-cart__button { min-width: 2.8rem; min-height: 2.8rem; padding: 0.55rem; border: 1px solid rgba(7, 86, 207, 0.14); border-radius: 999px; background: #eff6ff; color: var(--ml-cobalt); transition: transform 180ms ease, background-color 180ms ease; }
.ml-header-actions .wc-block-mini-cart__button:hover { transform: rotate(-7deg) scale(1.06); background: #dcecff; }
.ml-header-actions .wc-block-mini-cart__badge { background: var(--ml-lemon); color: var(--ml-cobalt-dark); }
.wp-block-navigation__responsive-container.is-menu-open { padding: 5rem 1.5rem 2rem; background: var(--ml-cream); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.1rem; font-size: 1.3rem; }

.ml-kicker { margin: 0 0 0.65rem; color: var(--ml-berry); font-size: 0.74rem; font-weight: 900; letter-spacing: 0.15em; line-height: 1.5; text-align: center; text-transform: uppercase; }

/* Shared section rhythm */
.ml-section { margin: 0 1.15rem; padding: clamp(4.3rem, 8vw, 7rem) clamp(0.2rem, 1vw, 1rem); }
.ml-section-heading { margin: 0 auto 2rem; text-align: center; }
.ml-section-heading .ml-kicker { margin-bottom: 0.5rem; }
.ml-section-title { margin: 0; font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -0.045em; }
.ml-section-copy { margin: 0.55rem auto 0; color: var(--ml-muted); }

/* Character cards */
.ml-character-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(0.7rem, 1.7vw, 1.3rem); }
.ml-character-card { position: relative; isolation: isolate; display: flex; min-height: 21rem; flex-direction: column; align-items: center; justify-content: flex-end; padding: 1rem 0.8rem 1.15rem; overflow: hidden; border: 1px solid rgba(60, 48, 56, 0.06); border-radius: 1.8rem; background: var(--ml-sky); color: var(--ml-ink); text-align: center; text-decoration: none; box-shadow: 0 8px 24px rgba(73, 74, 91, 0.06); transition: transform 220ms ease, box-shadow 220ms ease; }
.ml-character-card:hover, .ml-character-card:focus-visible { transform: translateY(-7px); color: var(--ml-ink); box-shadow: var(--ml-shadow-hover); }
.ml-character-cha { background: linear-gradient(145deg, #cde8f5, #a7d5f0); }
.ml-character-boom { background: linear-gradient(145deg, #f9c4c8, #f39aa8); }
.ml-character-chicky { background: linear-gradient(145deg, #fff1b4, #f6d76c); }
.ml-character-lya { background: linear-gradient(145deg, #f6c6d9, #e6a4c6); }
.ml-character-halo { position: absolute; z-index: -1; top: 3.2rem; left: 50%; width: 11.5rem; aspect-ratio: 1; border-radius: 50%; background: rgba(255, 254, 252, 0.56); transform: translateX(-50%); }
.ml-character-label { align-self: flex-start; padding: 0.35rem 0.62rem; border-radius: 999px; background: rgba(255, 254, 252, 0.72); color: var(--ml-ink); font-size: 0.65rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.ml-character-portrait { position: absolute; top: 2.4rem; left: 50%; width: min(84%, 13rem); height: 14.7rem; object-fit: contain; object-position: center bottom; transform: translateX(-50%); transform-origin: 50% 85%; }
.ml-character-name { z-index: 1; display: block; margin-top: 0.1rem; font-size: clamp(1.05rem, 1.5vw, 1.35rem); font-weight: 1000; letter-spacing: -0.035em; }
.ml-character-cta { z-index: 1; margin-top: 0.18rem; color: rgba(60, 48, 56, 0.75); font-size: 0.78rem; font-weight: 800; }
.ml-character-tap { position: absolute; top: 44%; right: 16%; color: #fff; font-size: 1.2rem; opacity: 0; transform: scale(0.3) rotate(-20deg); transition: opacity 180ms ease, transform 180ms ease; }
.ml-character-card:hover .ml-character-tap { opacity: 1; transform: scale(1) rotate(8deg); }
.ml-character-card:hover .ml-character-portrait { animation-name: ml-character-wave; animation-duration: 420ms; animation-delay: 0s; animation-iteration-count: 1; animation-fill-mode: both; }
.ml-float-1 { animation: ml-character-float 5.2s ease-in-out infinite; }
.ml-float-2 { animation: ml-character-float 5.8s ease-in-out -1.7s infinite; }
.ml-float-3 { animation: ml-character-float 5.4s ease-in-out -2.5s infinite; }
.ml-float-4 { animation: ml-character-float 6s ease-in-out -0.8s infinite; }
.ml-character-card.is-bouncing .ml-character-portrait { animation: ml-tap-bounce 460ms cubic-bezier(.2,.8,.25,1.25) 1; }

/* Category tiles */
.ml-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; }
.ml-category-card { position: relative; isolation: isolate; display: flex; min-height: 17.5rem; align-items: center; overflow: hidden; padding: clamp(1.4rem, 3vw, 2.3rem); border-radius: 1.8rem; color: var(--ml-ink); text-decoration: none; box-shadow: 0 8px 24px rgba(73, 74, 91, 0.06); transition: transform 220ms ease, box-shadow 220ms ease; }
.ml-category-card:hover { transform: translateY(-6px); color: var(--ml-ink); box-shadow: var(--ml-shadow-hover); }
.ml-category-apparel { background: #f4dce8; }
.ml-category-toys { background: #d8efe3; }
.ml-category-stationery { background: #e4ddf4; }
.ml-category-copy { position: relative; z-index: 2; display: flex; max-width: 58%; flex-direction: column; align-items: flex-start; }
.ml-category-eyebrow { color: rgba(60, 48, 56, 0.72); font-size: 0.72rem; font-weight: 900; letter-spacing: 0.09em; text-transform: uppercase; }
.ml-category-copy strong { margin: 0.35rem 0 1rem; font-size: clamp(1.5rem, 2.6vw, 2.3rem); font-weight: 1000; letter-spacing: -0.05em; line-height: 1; }
.ml-category-link { display: inline-flex; gap: 0.35rem; align-items: center; padding: 0.58rem 0.85rem; border-radius: 999px; background: var(--ml-paper); color: var(--ml-berry); font-size: 0.78rem; font-weight: 900; }
.ml-category-card > img { position: absolute; z-index: 1; right: -0.15rem; bottom: -0.8rem; width: 54%; height: 92%; object-fit: contain; object-position: bottom right; transition: transform 260ms ease; }
.ml-category-card:hover > img { transform: translateY(-0.35rem) rotate(2deg); }
.ml-category-shape { position: absolute; z-index: -1; right: -1.9rem; bottom: -3.2rem; width: 14rem; aspect-ratio: 1; border-radius: 50%; background: rgba(255, 254, 252, 0.43); }

/* Product sections and WooCommerce */
.ml-products-section { padding-top: clamp(3.2rem, 6vw, 5.5rem); }
.ml-products-heading { margin-bottom: 1.5rem; }
.ml-products-heading .ml-kicker { text-align: left; }
.ml-view-all { margin: 0; font-size: 0.9rem; font-weight: 900; }
.ml-view-all a, .ml-text-link { color: var(--ml-berry); text-decoration: none; }
.ml-empty-products { display: grid; min-height: 12rem; place-content: center; justify-items: center; padding: 2rem; border: 1px dashed #dfc5cf; border-radius: 1.5rem; background: rgba(255, 254, 252, 0.65); text-align: center; }
.ml-empty-products p { margin: 0.2rem 0 0.8rem; color: var(--ml-muted); }
.ml-empty-spark { color: #e7b62f; font-size: 2.6rem; animation: ml-drift 4s ease-in-out infinite; }
.ml-sweatshirt-preview-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.ml-sweatshirt-preview { min-width: 0; overflow: hidden; border: 1px solid rgba(60, 48, 56, 0.07); border-radius: 1.35rem; background: var(--ml-paper); box-shadow: 0 7px 20px rgba(86, 51, 65, 0.055); transition: transform 200ms ease, box-shadow 200ms ease; }
.ml-sweatshirt-preview:hover { transform: translateY(-6px); box-shadow: var(--ml-shadow-hover); }
.ml-sweatshirt-preview-image { position: relative; display: block; overflow: hidden; background: #eeeae6; }
.ml-sweatshirt-preview-image img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; transition: transform 300ms ease; }
.ml-sweatshirt-preview:hover .ml-sweatshirt-preview-image img { transform: scale(1.025); }
.ml-product-preview-badge { position: absolute; top: 0.65rem; left: 0.65rem; padding: 0.4rem 0.65rem; border-radius: 999px; background: #fff; color: var(--ml-cobalt-dark); font-size: 0.68rem; font-weight: 900; }
.ml-sweatshirt-preview-copy { display: flex; min-height: 10.2rem; flex-direction: column; align-items: flex-start; padding: 0.85rem 0.9rem 1rem; }
.ml-product-character { color: var(--ml-cobalt); font-size: 0.73rem; font-weight: 900; letter-spacing: 0.06em; text-transform: uppercase; }
.ml-sweatshirt-preview-copy h3 { margin: 0.3rem 0; color: var(--ml-ink); font-size: 0.98rem; font-weight: 900; line-height: 1.3; }
.ml-sweatshirt-preview-copy p { margin: 0 0 0.65rem; color: var(--ml-muted); font-size: 0.83rem; }
.ml-preview-shop-link { margin-top: auto; color: var(--ml-berry); font-size: 0.78rem; font-weight: 900; text-decoration: none; }
.ml-preview-shop-link:hover { color: var(--ml-cobalt); }
.products, .wc-block-product-template { gap: 1rem !important; }
.products li.product, .wc-block-product-template > li, .wc-block-grid__product { position: relative; display: flex !important; flex-direction: column; padding: 0.7rem 0.7rem 1.2rem !important; overflow: hidden; border: 1px solid rgba(60, 48, 56, 0.07); border-radius: 1.35rem; background: var(--ml-paper); box-shadow: 0 7px 20px rgba(86, 51, 65, 0.055); transition: transform 200ms ease, box-shadow 200ms ease; }
.products li.product:hover, .wc-block-product-template > li:hover, .wc-block-grid__product:hover { z-index: 2; transform: translateY(-6px); box-shadow: var(--ml-shadow-hover); }
.products li.product a img, .wc-block-components-product-image img, .wc-block-grid__product-image img { border-radius: 0.95rem; background: #f7f1ee; }
.products li.product .woocommerce-loop-product__title, .wc-block-components-product-name, .wc-block-grid__product-title { color: var(--ml-ink); font-size: 1rem; font-weight: 900; line-height: 1.35; }
.products li.product .price, .wc-block-components-product-price, .wc-block-grid__product-price { color: var(--ml-berry) !important; font-size: 0.95rem; font-weight: 900; }
.products li.product .button, .wc-block-components-product-button__button, .wc-block-grid__product-add-to-cart .wp-block-button__link { align-self: flex-start; margin-top: auto !important; padding: 0.65rem 0.9rem !important; border-radius: 999px !important; background: #fff0f4 !important; color: var(--ml-berry) !important; font-size: 0.8rem !important; font-weight: 900 !important; text-decoration: none !important; transition: background-color 180ms ease, color 180ms ease, transform 180ms ease; }
.products li.product .button:hover, .wc-block-components-product-button__button:hover { transform: translateY(-2px); background: var(--ml-berry) !important; color: #fff !important; }
.wc-block-components-product-sale-badge, .onsale { border: 0 !important; border-radius: 999px !important; background: var(--ml-lemon) !important; color: var(--ml-ink) !important; font-weight: 900 !important; }
.woocommerce-breadcrumb, .wc-block-components-breadcrumb { margin: 1.2rem 0 !important; color: var(--ml-muted) !important; font-size: 0.82rem !important; }
.ml-shop-page { padding: 1.3rem 1.15rem 5rem; }
.ml-shop-intro { margin: 1rem auto 2.2rem; text-align: center; }
.ml-shop-intro h1 { margin: 0 0 1rem; font-size: clamp(2.3rem, 5vw, 4rem); letter-spacing: -0.05em; }
.ml-shop-intro .ml-kicker { margin-top: 1.5rem; }
.ml-character-filter { gap: 0.5rem; margin-top: 1rem; }
.ml-filter-chip { padding: 0.55rem 0.9rem; border: 1px solid rgba(60, 48, 56, 0.1); border-radius: 999px; background: var(--ml-paper); color: var(--ml-ink); font-size: 0.82rem; font-weight: 900; text-decoration: none; transition: transform 150ms ease, box-shadow 150ms ease; }
.ml-filter-chip:hover { transform: translateY(-2px); box-shadow: var(--ml-shadow); color: var(--ml-berry); }
.ml-filter-cha { background: #e5f4fb; }
.ml-filter-boom { background: #fde6e7; }
.ml-filter-chicky { background: #fff6d2; }
.ml-filter-lya { background: #fae7f0; }
.ml-shop-toolbar { margin: 0.6rem 0 1rem; color: var(--ml-muted); font-size: 0.87rem; }
.ml-shop-toolbar select { padding: 0.55rem 2rem 0.55rem 0.85rem; border: 1px solid #e8dce0; border-radius: 999px; background-color: var(--ml-paper); color: var(--ml-ink); }
.ml-shop-page .wp-block-woocommerce-product-collection { margin-top: 0.8rem; }
.ml-shop-page .wp-block-woocommerce-product-collection .wp-block-post-title { margin: 0.75rem 0 0.25rem; font-weight: 900; }
.ml-shop-page .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-price { margin-bottom: 0.65rem; color: var(--ml-berry); font-weight: 900; }
.ml-shop-page .wp-block-woocommerce-product-collection .wp-block-woocommerce-product-button .wp-block-button__link { padding: 0.6rem 0.9rem; border-radius: 999px; background: #fff0f4; color: var(--ml-berry); font-size: 0.8rem; text-decoration: none; }
.woocommerce div.product, .woocommerce .woocommerce-cart-form, .woocommerce .cart-collaterals, .wc-block-components-sidebar, .wc-block-cart, .wc-block-checkout { color: var(--ml-ink); }
.woocommerce div.product .product_title { font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -0.04em; }
.woocommerce div.product .price { color: var(--ml-berry); font-size: 1.4rem; font-weight: 900; }
.woocommerce div.product form.cart .button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .wc-block-components-button:not(.is-link) { border: 0; border-radius: 999px; background: var(--ml-berry); color: #fff; font-weight: 900; transition: transform 180ms ease, background-color 180ms ease; }
.woocommerce div.product form.cart .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .wc-block-components-button:not(.is-link):hover { transform: translateY(-2px); background: #9f2d55; color: #fff; }
.woocommerce table.shop_table, .wc-block-cart-items, .wc-block-components-order-summary { border-color: #efdee4 !important; border-radius: 1rem; overflow: hidden; }
.woocommerce input.input-text, .woocommerce textarea, .woocommerce select, .wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input { border: 1px solid #e8dce0 !important; border-radius: 0.8rem !important; background: var(--ml-paper) !important; box-shadow: none !important; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { border-top-color: var(--ml-berry) !important; border-radius: 0.8rem; background: #fff2f5 !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--ml-berry) !important; }

/* Brand story and footer */
.ml-story-section { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(19rem, 0.9fr); align-items: center; gap: clamp(2rem, 6vw, 5rem); margin: 1rem 1.15rem 5rem; padding: clamp(1.2rem, 3vw, 2.2rem); overflow: hidden; border: 1px solid rgba(60, 48, 56, 0.06); border-radius: 2rem; background: linear-gradient(120deg, #e5f2eb, #f5eaf2 65%, #f8efce); }
.ml-story-art { position: relative; overflow: hidden; border-radius: 1.35rem; }
.ml-story-art img { display: block; width: 100%; min-height: 16rem; object-fit: cover; }
.ml-story-star { position: absolute; color: #fff; text-shadow: 0 2px 9px rgba(60,48,56,.2); }
.ml-story-star-one { top: 12%; right: 12%; font-size: 2rem; }
.ml-story-star-two { bottom: 15%; left: 11%; font-size: 1.5rem; }
.ml-story-copy { padding: 1rem clamp(0.2rem, 2vw, 1.5rem); }
.ml-story-copy .ml-kicker { text-align: left; }
.ml-story-title { margin: 0 0 0.85rem; font-size: clamp(2rem, 3.5vw, 3rem); letter-spacing: -0.05em; }
.ml-story-copy > p { color: #655b61; }
.ml-story-copy .wp-block-buttons { margin-top: 1.4rem; }
.ml-site-footer { margin-top: 2rem; padding: 3.5rem clamp(1.2rem, 5vw, 4.5rem) 1.6rem; background: #f2e9e6; }
.ml-footer-main { gap: 2rem; }
.ml-footer-brand { max-width: 20rem; }
.ml-wordmark-footer { margin-bottom: 0.7rem; }
.ml-footer-tagline { margin: 0 0 0.2rem; color: var(--ml-berry); font-weight: 900; }
.ml-footer-note, .ml-copyright, .ml-currency-note { margin: 0; color: var(--ml-muted); font-size: 0.82rem; }
.ml-footer-links { gap: clamp(2.2rem, 7vw, 6rem); }
.ml-footer-links h3 { margin: 0 0 0.7rem; color: var(--ml-ink); font-weight: 900; }
.ml-footer-links .wp-block-navigation__container { align-items: flex-start; gap: 0.38rem; }
.ml-footer-links .wp-block-navigation-item__content { color: #685b62; font-size: 0.85rem; text-decoration: none; }
.ml-footer-links .wp-block-navigation-item__content:hover { color: var(--ml-berry); }
.ml-footer-rule { margin: 2.2rem 0 1.2rem; border-color: rgba(60,48,56,.12); }
.ml-footer-bottom { gap: 0.6rem 1.5rem; }
.ml-footer-bottom p { margin: 0; }

/* Content and utility pages */
.ml-content-page { min-height: 50vh; padding-top: clamp(2.7rem, 6vw, 5rem); padding-bottom: clamp(3.5rem, 7vw, 6rem); }
.ml-content-page > h1 { margin-bottom: 1.6rem; font-size: clamp(2.25rem, 5vw, 3.5rem); letter-spacing: -0.05em; }
.ml-content-page > .wp-block-post-featured-image { margin-bottom: 2rem; overflow: hidden; border-radius: 1.6rem; }
.ml-content-page .wp-block-post-content { color: #574a52; }
.ml-content-page .wp-block-post-content h2, .ml-content-page .wp-block-post-content h3 { color: var(--ml-ink); }
.ml-not-found { display: flex; min-height: 65vh; flex-direction: column; align-items: center; justify-content: center; padding: 5rem 1.2rem; text-align: center; }
.ml-not-found .ml-kicker { margin-bottom: 0.4rem; }
.ml-not-found h1 { max-width: 13ch; margin: 0 auto 0.8rem; }
.ml-not-found > p { color: var(--ml-muted); }
.ml-not-found .wp-block-search { width: min(100%, 26rem); margin-top: 1.6rem; }
.ml-post-card { padding: 1.2rem; border-radius: 1.4rem; background: var(--ml-paper); box-shadow: var(--ml-shadow); }
.ml-post-card .wp-block-post-featured-image { overflow: hidden; border-radius: 1rem; }

/* Reduced reveal motion and cart feedback */
.ml-reveal { opacity: 1; transform: none; }
.ml-motion-ready .ml-reveal { opacity: 0; transform: translateY(14px); transition: opacity 500ms ease, transform 500ms cubic-bezier(.2,.7,.25,1); }
.ml-motion-ready .ml-reveal.is-visible { opacity: 1; transform: translateY(0); }
.ml-cart-star { position: fixed; z-index: 99999; top: var(--ml-start-y); left: var(--ml-start-x); color: #eabf35; font-size: 1.35rem; line-height: 1; pointer-events: none; text-shadow: 0 2px 4px rgba(78, 58, 25, .17); transform: translate(-50%, -50%) scale(0.4) rotate(-35deg); opacity: 0; }
.ml-cart-star.is-flying { animation: ml-star-to-cart 650ms cubic-bezier(.2,.7,.3,1) forwards; }
.ml-cart-bump { animation: ml-cart-bump 420ms ease-out; }
@keyframes ml-logo-breathe { 0%, 100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-4px) scale(1.004); } }
@keyframes ml-drift { 0%, 100% { transform: translateY(0) rotate(-4deg); } 50% { transform: translateY(-9px) rotate(5deg); } }
@keyframes ml-character-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -7px; } }
@keyframes ml-character-wave { 0%, 100% { rotate: 0deg; } 25% { rotate: -3deg; } 75% { rotate: 3deg; } }
@keyframes ml-tap-bounce { 0% { transform: translateX(-50%) scale(1); } 38% { transform: translateX(-50%) translateY(-0.6rem) scale(1.04); } 72% { transform: translateX(-50%) translateY(0.18rem) scale(.97); } 100% { transform: translateX(-50%) scale(1); } }
@keyframes ml-cart-bump { 30% { transform: rotate(-10deg) scale(1.18); } 70% { transform: rotate(8deg) scale(.95); } 100% { transform: rotate(0) scale(1); } }
@keyframes ml-star-to-cart {
	0% { opacity: 0; transform: translate(-50%, -50%) scale(.35) rotate(-30deg); }
	15% { opacity: 1; }
	78% { opacity: 1; transform: translate(calc(-50% + var(--ml-travel-x) * .85), calc(-50% + var(--ml-travel-y) * .85)) scale(1.05) rotate(180deg); }
	100% { opacity: 0; transform: translate(calc(-50% + var(--ml-travel-x)), calc(-50% + var(--ml-travel-y))) scale(.3) rotate(240deg); }
}

@media (max-width: 980px) {
	.ml-primary-nav .wp-block-navigation__container { gap: 1rem; }
	.ml-character-card { min-height: 19rem; }
	.ml-character-portrait { height: 13rem; }
	.ml-category-card { min-height: 15rem; }
	.ml-sweatshirt-preview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
	.ml-site-header { padding: 0.45rem 0.85rem; }
	.ml-header-inner { gap: 0.35rem; }
	.ml-wordmark a { width: min(54vw, 14rem); }
	.ml-primary-nav .wp-block-navigation__container { justify-content: center; flex-wrap: wrap; gap: 0.45rem 0.85rem; }
	.ml-header-actions { top: 0.6rem; right: 0; margin-left: 0; }
	.ml-header-actions .wp-block-woocommerce-product-search { display: none; }
	.ml-header-actions .wc-block-product-search__fields { display: none; }
	.ml-section { margin: 0 0.6rem; padding: 3.7rem 0.5rem; }
	.ml-character-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem; }
	.ml-character-card { min-height: 17.5rem; padding: 0.75rem 0.5rem 1rem; border-radius: 1.35rem; }
	.ml-character-halo { top: 2.8rem; width: 9.5rem; }
	.ml-character-portrait { top: 2.1rem; width: 88%; height: 12.4rem; }
	.ml-character-label { padding: 0.28rem 0.48rem; font-size: 0.58rem; }
	.ml-character-name { font-size: 1.1rem; }
	.ml-character-cta { font-size: 0.7rem; }
	.ml-category-grid { grid-template-columns: 1fr; gap: 0.8rem; }
	.ml-category-card { min-height: 13.2rem; border-radius: 1.4rem; }
	.ml-category-copy { max-width: 57%; }
	.ml-category-copy strong { font-size: 2rem; }
	.ml-category-card > img { right: 0; width: 48%; height: 96%; }
	.ml-story-section { grid-template-columns: 1fr; gap: 1rem; margin: 0.5rem 0.65rem 3rem; padding: 0.75rem; border-radius: 1.5rem; }
	.ml-story-art img { min-height: 12rem; }
	.ml-story-copy { padding: 1rem 0.5rem 1.1rem; }
	.ml-story-title { font-size: 2rem; }
	.ml-story-copy .ml-kicker { text-align: left; }
	.ml-products-heading { align-items: flex-end !important; }
	.products, .wc-block-product-template { gap: 0.55rem !important; }
	.products.columns-4 li.product, .wc-block-product-template.columns-4 > li { width: calc(50% - .3rem) !important; margin-right: 0 !important; }
	.products li.product, .wc-block-product-template > li { padding: 0.45rem 0.45rem 0.9rem !important; border-radius: 1rem; }
	.products li.product .woocommerce-loop-product__title, .wc-block-components-product-name { font-size: 0.85rem; }
	.ml-shop-page { padding-inline: 0.8rem; }
	.ml-shop-page .wp-block-woocommerce-product-collection .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.ml-footer-main { flex-direction: column; }
	.ml-footer-links { gap: 2rem; }
	.ml-footer-bottom { flex-direction: column; }
}
@media (max-width: 390px) {
	.ml-character-card { min-height: 16rem; }
	.ml-character-portrait { height: 11rem; }
	.ml-category-card { min-height: 12rem; padding: 1.15rem; }
	.ml-category-copy strong { font-size: 1.7rem; }
	.ml-category-eyebrow { max-width: 11ch; font-size: 0.65rem; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
	.ml-reveal { opacity: 1; transform: none; }
}

/* Full-resolution campaign artwork stays at its original 3:2 ratio. */
.ml-campaign-banner.alignfull { width: auto; max-width: none; margin: 0 calc(50% - 50vw) .6rem !important; padding: 0; overflow: hidden; border: 0; background: #fefefe; line-height: 0; }
.ml-campaign-banner.alignfull::before, .ml-campaign-banner.alignfull::after { content: none; }
.ml-campaign-banner-frame { position: relative; width: min(100%, 1536px); margin-inline: auto; line-height: 0; }
.ml-campaign-banner-link { position: absolute; top: 91.5%; left: 66%; display: block; width: 25%; height: 9%; border-radius: 999px; transform: translate(-50%, -50%); }
.ml-campaign-banner-link:hover { box-shadow: 0 0 0 3px rgba(255,255,255,.7); }
.ml-campaign-banner-link:focus-visible { outline-offset: 3px; outline-color: #0756cf; }
.ml-campaign-banner-image { display: block; width: 100%; max-width: 1536px; height: auto; margin-inline: auto; aspect-ratio: 3 / 2; object-fit: contain; image-rendering: auto; }

.ml-site-footer { margin-top: 2rem; padding: 3.5rem clamp(1.2rem, 5vw, 4.5rem) 1.6rem; border-radius: 2.5rem 2.5rem 0 0; background: linear-gradient(140deg, #0756cf, #073a9a); color: #e9f5ff; }
.ml-site-footer h3, .ml-site-footer .ml-footer-tagline { color: #fff; }
.ml-site-footer .ml-footer-note, .ml-site-footer .ml-copyright, .ml-site-footer .ml-currency-note { color: #cce2ff; }
.ml-site-footer a { color: #ffe768; }
.ml-site-footer a:hover { color: #fff; }
.ml-footer-rule { border-color: rgba(255,255,255,.28); }
.ml-wordmark-footer a { background-color: #fefefe; border-radius: .55rem; }

@media (max-width: 680px) {
    .ml-site-footer { margin-top: 1rem; padding: 2.6rem 1.2rem 1.4rem; border-radius: 1.8rem 1.8rem 0 0; }
}
