/*
Theme Name: Morrow Intimates
Theme URI: https://dalin.l-langji.com/
Description: A fully custom, standalone WooCommerce storefront built from scratch.
Author: Site Team
Version: 2.4.1
Text Domain: morrow-intimates
*/

@import url('https://fonts.googleapis.com/css2?family=Halant:wght@400;500&family=Mulish:wght@400;700&display=swap');

*, *::before, *::after { box-sizing: border-box; }
html { margin: 0; scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; }
img { display: block; height: auto; max-width: 100%; }
figure, blockquote, p, h1, h2, h3, h4, ul, ol { margin-top: 0; }
a { text-decoration: none; }
button, input, select, textarea { font: inherit; }
.screen-reader-text { clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.screen-reader-text:focus { clip: auto; clip-path: none; background: #fff; color: #111; height: auto; left: 12px; padding: 12px; top: 12px; width: auto; z-index: 99999; }
.mi-site-shell { margin-left: auto; margin-right: auto; max-width: 1500px; width: calc(100% - 80px); }
.mi-home-main, .mi-home-main article, .mi-home-main .entry-content { margin: 0; padding: 0; width: 100%; }
.mi-inner-main, .mi-commerce-main { min-height: 55vh; padding-bottom: 100px; padding-top: 70px; }

:root {
  --mi-ink: #2e2521;
  --mi-muted: #746964;
  --mi-cream: #f8f4ef;
  --mi-blush: #ead7cf;
  --mi-rose: #b46f66;
  --mi-cocoa: #62463d;
  --mi-sage: #8b9681;
  --mi-line: #e8ded7;
  --mi-white: #fffdfb;
}

body { color: var(--mi-ink); background: var(--mi-white); font-family: "Mulish", sans-serif; }
body, button, input, textarea { font-size: 15px; line-height: 1.6; }
h1, h2, h3, h4, .site-title { color: var(--mi-ink); font-family: "Halant", Georgia, serif; font-weight: 400; letter-spacing: 0; }
a { color: var(--mi-cocoa); }
a:hover { color: var(--mi-rose); }

.mi-announcement { align-items: center; background: #2a555a; color: white; display: flex; font-family: "Mulish", sans-serif; font-size: 15px; font-weight: 700; gap: 92px; justify-content: center; letter-spacing: 0; line-height: 24px; min-height: 52px; padding: 14px 0; text-align: center; text-transform: none; }
.home .mi-announcement::before, .home .mi-announcement::after { content: '‹'; display: block; flex: 0 0 auto; font-size: 24px; font-weight: 400; line-height: 20px; margin: 0; transform: translateY(-1px); }
.home .mi-announcement::after { content: '›'; }
.mi-announcement a { color: white; text-decoration: underline; text-underline-offset: 3px; }
.site-header { background: rgba(255,253,251,.98); border-bottom: 1px solid var(--mi-line); height: 100px; padding: 0; position: relative; transition: background-color .2s ease, box-shadow .2s ease; width: 100%; z-index: 20; }
.site-branding .site-title a { color: var(--mi-ink); font-size: 30px; letter-spacing: .08em; text-transform: uppercase; }
.site-branding .site-description { color: var(--mi-muted); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.main-navigation ul.menu > li > a, .main-navigation ul.nav-menu > li > a { color: var(--mi-ink); font-size: 13px; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; }
.site-header-cart .cart-contents, .site-search .widget_product_search form:before { color: var(--mi-ink); }
.woocommerce-active .site-header .site-search { width: 24%; }

.col-full { max-width: 1500px; }
.site-content { outline: none; }
.home .site-main, .home .content-area { margin-bottom: 0; }
.home .entry-header { display: none; }
.home .entry-content { margin: 0; }
.home .hentry { margin-bottom: 0; }
.home .edit-link { display: none; }
.home .site-content .col-full { max-width: none; margin: 0; padding: 0; }
.home .content-area { float: none; width: 100%; }

.home .site-header { background: transparent; border: 0; left: 0; padding: 0; position: absolute; top: 52px; width: 100%; z-index: 20; }
.admin-bar.home .site-header { top: 84px; }
.home .site-header.is-scrolled { background: rgba(42,85,90,.94); box-shadow: 0 1px 12px rgba(0,0,0,.12); position: fixed; top: 0; }
.admin-bar.home .site-header.is-scrolled { top: 32px; }
.mi-home-nav-shell { align-items: center; color: white; display: grid; grid-template-columns: 650px 1fr 650px; height: 100px; margin: auto; max-width: 1500px; padding: 0; position: relative; }
.mi-home-links { align-items: center; display: flex; gap: clamp(24px,3vw,48px); }
.mi-home-links a, .mi-home-actions a, .mi-home-actions { color: white; }
.mi-home-links { gap: 40px; }
.mi-home-links a { font-family: "Mulish", sans-serif; font-size: 15px; font-weight: 700; line-height: 24px; white-space: nowrap; }
.mi-home-links a:hover, .mi-home-actions a:hover { color: rgba(255,255,255,.76); }
.mi-home-links span { font-size: 18px; margin-left: 4px; }
.mi-home-logo { color: white; font-family: "Halant", Georgia, serif; font-size: 40px; font-weight: 400; justify-self: center; letter-spacing: -.045em; line-height: 32px; }
.mi-home-logo:hover { color: white; opacity: .82; }
.mi-home-actions { align-items: center; display: flex; gap: 24px; justify-content: flex-end; }
.mi-home-actions svg { fill: none; height: 21px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; width: 21px; }
.mi-currency { align-items: center; display: flex; font-size: 13px; font-weight: 700; }
.mi-currency b { font-size: 16px; margin-left: 4px; }
.mi-cart-link { position: relative; }
.mi-cart-link small { align-items: center; background: white; border-radius: 99px; color: #24575b; display: flex; font-size: 9px; height: 15px; justify-content: center; position: absolute; right: -9px; top: -7px; width: 15px; }
.mi-mobile-menu { display: none; }
.mi-menu-toggle { display: none; }
.site-header:not(.is-overlay) .mi-home-nav-shell, .site-header:not(.is-overlay) .mi-home-links a, .site-header:not(.is-overlay) .mi-home-actions, .site-header:not(.is-overlay) .mi-home-actions a, .site-header:not(.is-overlay) .mi-home-logo { color: #2a555a; }

.mi-hero { align-items: stretch; aspect-ratio: auto; background: #c99d7e; height: calc(48.958333vw - 7.34375px); min-height: 0; overflow: hidden; padding: 0; }
.mi-hero::after { background: linear-gradient(90deg, rgba(56,35,24,.03) 0%, rgba(119,68,43,.05) 48%, rgba(93,49,30,.16) 100%); content: ''; inset: 0; position: absolute; z-index: 1; }
.mi-hero > .wp-block-cover__image-background { filter: brightness(.9) saturate(.86); object-position: center; transform: scaleX(-1); }
.home .site-content .mi-hero .wp-block-cover__inner-container { display: block; height: 100%; inset: 0; margin: 0 !important; max-width: none; min-height: 0; padding: 0 !important; position: absolute; width: 100%; z-index: 2; }
.mi-hero-copy { align-items: center; color: white; display: flex; flex-direction: column; height: 439px; justify-content: flex-start; margin: 0; max-width: none; padding: 0; position: absolute; right: 14.9vw; text-align: center; top: 274px; width: 520px; }
.mi-eyebrow { color: var(--mi-cocoa); font-size: 12px; font-weight: 750; letter-spacing: .16em; margin-bottom: 18px; text-transform: uppercase; }
.mi-hero .mi-eyebrow { display: none; }
.mi-hero h1 { color: white !important; font-family: "Halant", Georgia, serif; font-size: 70px !important; font-weight: 400; line-height: 1.3; margin: 0 0 12px; white-space: nowrap; }
.mi-hero p:not(.mi-eyebrow) { color: white; font-family: "Mulish", sans-serif; font-size: 24px !important; font-weight: 400; line-height: 32px; margin: 0 auto; max-width: 520px; }
.mi-hero .wp-block-buttons { margin-top: auto; width: 423px; }
.mi-hero .wp-block-button { width: 100%; }
.mi-hero .wp-block-button__link { background: white; border-color: rgba(98,70,61,.25); border-radius: 7px; color: #725230; display: block; font-family: "Mulish", sans-serif; font-size: 24px !important; font-weight: 400; letter-spacing: 0; line-height: 34px; padding: 14px 26px; text-transform: none; width: 100%; }
.mi-hero .wp-block-button__link:hover { background: #f7f0e9; border-color: white; color: #725230; }

/* Reference-aligned home page sequence */
.mi-proof-rail { align-items: stretch; background: #fff7f0; display: flex; height: 270px; overflow: hidden; }
.mi-proof-track { display: grid; grid-template-columns: repeat(6,1fr); height: 140px; margin: auto; max-width: 1500px; width: 100%; }
.mi-proof-item { align-items: center; border-left: 1px solid rgba(42,85,90,.18); color: #2a555a; display: flex; flex-direction: column; height: 140px; justify-content: flex-start; padding: 0 20px; text-align: center; }
.mi-proof-item:first-child { border-left: 0; }
.mi-proof-item p { font-size: 16px; line-height: 25.6px; margin: 0 0 30px; min-height: 51.2px; }
.mi-proof-item:first-child p { font-size: 18px; line-height: 28.8px; margin-bottom: 24px; }
.mi-proof-item strong { font-family: "Halant", Georgia, serif; font-size: 29px; font-weight: 500; line-height: 1; }
.mi-proof-item .mi-rating { color: #eab442; font-family: inherit; font-size: 21px; letter-spacing: 3px; }

.mi-facts { align-items: center; background: #fff; color: #2a555a; display: flex; flex-direction: column; height: 366px; justify-content: flex-start; padding: 80px 202.5px; text-align: center; }
.mi-facts .mi-kicker { font-size: 15px; font-weight: 700; line-height: 24px; margin: 0 0 24px; }
.mi-facts h2 { color: #2a555a; font-size: 48px !important; line-height: 52.8px; margin: 0 !important; max-width: 650px; }

.mi-impact { align-items: start; background: #fff; color: #2a555a; column-gap: 48px; display: grid; grid-template-columns: repeat(2,1fr); height: 340px; margin: auto; max-width: 1500px; padding-bottom: 80px; text-align: center; }
.mi-impact article { padding: 0; }
.mi-impact strong { color: #e3a58c; display: block; font-family: "Halant", Georgia, serif; font-size: 112.5px; font-weight: 400; letter-spacing: -1.125px; line-height: 112.5px; margin-bottom: 22.5px; }
.mi-js .mi-impact strong:not(.is-revealed) { opacity: 0; transform: translateY(10px); }
.mi-impact strong.is-revealed { opacity: 1; transform: translateY(0); }
.mi-count-number { display: inline-block; min-width: .55em; text-align: right; }
.mi-impact p { font-family: "Halant", Georgia, serif; font-size: 32px; line-height: 41.6px; margin: auto; max-width: 726px; }

.mi-hotspot-section { align-items: center; background: #fff; display: flex; height: 880px; justify-content: center; padding: 80px 0; }
.mi-hotspot-grid { border-radius: 16px; display: grid; grid-template-columns: repeat(3,1fr); height: 720px; max-width: 1500px; overflow: hidden; width: calc(100% - 80px); }
.mi-hotspot-card { margin: 0; overflow: visible; position: relative; }
.mi-hotspot-card::after { background: linear-gradient(0deg,rgba(20,12,8,.42),transparent 45%); content: ''; inset: 0; position: absolute; }
.mi-hotspot-card img { height: 100%; object-fit: cover; width: 100%; }
.mi-hotspot-card:nth-child(1) img { object-position: 16% center; }
.mi-hotspot-card:nth-child(2) img { object-position: 50% center; }
.mi-hotspot-card:nth-child(3) img { object-position: 84% center; }
.mi-hotspot-card figcaption { bottom: 38px; color: white; font-family: "Halant", Georgia, serif; font-size: 42px; left: 34px; position: absolute; z-index: 2; }
.mi-hotspot-dot { align-items: center; background: #fff; border: 0; border-radius: 9999px; color: #111; cursor: pointer; display: flex; font-family: Arial, sans-serif; font-size: 22px; font-weight: 400; height: 48px; justify-content: center; left: 50%; line-height: 1; padding: 0; position: absolute; top: 43%; transform: translate(-50%,-50%); transition: transform .2s ease-in-out; width: 48px; z-index: 5; }
.mi-hotspot-dot::before { content: ''; inset: -10px; position: absolute; }
.mi-hotspot-dot::after { animation: mi-dot-pulse 2s ease-in-out infinite alternate; background: radial-gradient(50% 50%,rgba(255,255,255,0),rgba(255,255,255,.3)); border-radius: 9999px; content: ''; inset: -16px; pointer-events: none; position: absolute; }
.mi-hotspot-dot > span[aria-hidden] { display: block; transform: translateY(-1px); }
.mi-hotspot-dot:hover, .mi-hotspot-dot:focus, .mi-hotspot-dot[aria-expanded="true"] { background: #fff; border-color: transparent; color: #111; }
.mi-hotspot-dot:focus-visible { outline: 2px solid white; outline-offset: 5px; }
.mi-hotspot-popover { background: #fff; color: #111; left: calc(50% + 42px); min-height: 122px; opacity: 0; padding: 33px; position: absolute; top: 43%; transform: translateY(-50%); visibility: hidden; width: 382px; z-index: 4; }
.mi-hotspot-popover[hidden] { display: none; }
.mi-hotspot-popover.is-open { opacity: 1; transition: opacity .15s ease; visibility: visible; }
.mi-hotspot-popover p { font-family: "Halant", Georgia, serif; font-size: 20px; line-height: 28px; margin: 0; }
.mi-hotspot-card:first-child .mi-hotspot-dot { left: 64.8%; top: 18.33%; }
.mi-hotspot-card:first-child .mi-hotspot-popover { left: calc(64.8% + 42px); top: 18.33%; }
.mi-hotspot-card:nth-child(2) .mi-hotspot-dot { left: 57.8%; top: 56.33%; }
.mi-hotspot-card:nth-child(2) .mi-hotspot-popover { left: auto; right: calc(42.2% + 42px); top: 56.33%; }
.mi-hotspot-card:nth-child(3) .mi-hotspot-dot { left: 44.8%; top: 41.33%; }
.mi-hotspot-card:nth-child(3) .mi-hotspot-popover { left: auto; right: calc(55.2% + 42px); top: 41.33%; }

.mi-video-intro { align-items: center; background: white; color: #2a555a; display: flex; flex-direction: column; height: 254px; justify-content: flex-start; padding: 80px 202.5px 52px; text-align: center; }
.mi-video-intro h2 { color: #2a555a; font-size: 60px !important; line-height: 66px; margin: 0 0 32px !important; }
.mi-video-intro p { font-size: 15px; line-height: 24px; margin: 0; }
.mi-video-stage { align-items: flex-start; background: white; display: flex; height: 780px; justify-content: center; padding: 0 0 80px; }
.mi-video-poster { align-items: center; background: #b9b9b9; border-radius: 14px; display: flex; height: 700px; justify-content: center; max-width: 1245px; overflow: hidden; position: relative; width: calc(100% - 80px); }
.mi-video-poster img { filter: grayscale(.2) brightness(.66); height: 100%; object-fit: cover; width: 100%; }
.mi-play { align-items: center; animation: mi-play-pulse 2s linear infinite alternate; background: white; border: 9px solid rgba(255,255,255,.42); border-radius: 50%; color: #2a555a; display: flex; font-size: 22px; height: 68px; justify-content: center; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%); width: 68px; }

.mi-product-carousel { background: white; height: 845px; overflow: hidden; padding: 0 0 80px; }
.mi-product-carousel > * { margin-left: auto; margin-right: auto; max-width: 1500px; }
.mi-carousel-head { align-items: center; display: flex; height: 100.8px; justify-content: flex-end; margin: 0; }
.mi-carousel-head h2 { height: 1px; overflow: hidden; position: absolute; width: 1px; }
.mi-carousel-head a { color: #2a555a; font-size: 13px; opacity: .7; transition: opacity .2s ease-in-out; }
.mi-carousel-head a:hover { opacity: 1; }
.mi-product-carousel ul.products { margin-bottom: 0; }
.mi-product-carousel ul.products li.product { margin-bottom: 0; }
.mi-product-carousel ul.products li.product img { height: 500px; object-fit: cover; }
.mi-product-carousel ul.products li.product .button { opacity: 0; transform: translateY(5px); transition: opacity .2s ease-in-out, transform .2s ease-in-out; }
.mi-product-carousel ul.products li.product:hover .button { opacity: 1; transform: translateY(0); }

.mi-home-testimonials { background: white; color: #2a555a; height: 638px; overflow: hidden; padding: 0 0 80px; }
.mi-home-testimonials > * { margin-left: auto; margin-right: auto; max-width: 1500px; }
.mi-home-testimonials h2 { color: #2a555a; font-family: "Mulish", sans-serif; font-size: 15px !important; font-weight: 400; height: 156.8px; line-height: 24px; margin: 0 auto !important; padding-top: 84.8px; }
.mi-home-testimonials .mi-review-grid { grid-template-columns: repeat(4,1fr); }
.mi-home-testimonials .mi-review { background: #f4f6f6; border: 0; min-height: 300px; padding: 34px; }
.mi-home-testimonials .mi-review blockquote { font-family: "Mulish", sans-serif; font-size: 15px; }

.mi-press-panel { align-items: center; background: #2a555a; color: white; display: flex; flex-direction: column; height: 491px; justify-content: center; padding: 50px 24px; text-align: center; }
.mi-press-panel .mi-stars { color: #efbc46; font-size: 24px; margin-bottom: 34px; }
.mi-press-panel blockquote { border: 0; color: white; font-family: "Halant", Georgia, serif; font-size: 36px; line-height: 1.3; margin: 0; max-width: 900px; padding: 0; }
.mi-press-panel cite { color: rgba(255,255,255,.72); font-style: normal; margin-top: 28px; }

.mi-media-story { align-items: stretch; background: white; display: grid; gap: 48px; grid-template-columns: 653.4px 1fr; height: 907px; margin: auto; max-width: 1500px; padding: 80px 0; }
.mi-media-story img { height: 747px; object-fit: cover; width: 100%; }
.mi-media-copy { color: #2a555a; display: flex; flex-direction: column; justify-content: flex-start; padding: 80px; }
.mi-media-copy .mi-kicker { font-size: 15px; font-weight: 700; line-height: 24px; margin: 0; }
.mi-media-copy h2 { color: #2a555a; font-size: 48px !important; line-height: 52.8px; margin: 24px 0 0 !important; }
.mi-media-copy p { font-size: 16px; line-height: 25.6px; margin: 32px 0 0; }
.mi-media-copy .button { margin-top: 20px; }

.mi-icon-strip { align-items: start; background: #fbfaf8; color: #2a555a; column-gap: 40px; display: grid; grid-template-columns: repeat(4,1fr); height: 272px; margin: auto; padding: 0 max(40px,calc((100% - 1500px)/2)) 80px; text-align: center; }
.mi-icon-strip article { padding: 44px 0 0; }
.mi-icon-strip b { color: #dda58f; display: block; font-family: "Halant", Georgia, serif; font-size: 38px; font-weight: 400; line-height: 1; margin-bottom: 18px; }
.mi-icon-strip h3 { color: #2a555a; font-family: "Halant", Georgia, serif; font-size: 20px; font-weight: 400; line-height: 28px; margin: 0 0 16px; }
.mi-icon-strip p { font-size: 15px; line-height: 24px; margin: 0; }

@keyframes mi-dot-pulse { from { transform: scale(1); } to { transform: scale(.8); } }
@keyframes mi-play-pulse { to { transform: translate(-50%,-50%) scale(1.08); } }
@media (prefers-reduced-motion: reduce) {
  .mi-hotspot-dot::after, .mi-play { animation: none; }
  .mi-product-carousel ul.products li.product .button { transition: none; }
  .mi-js .mi-impact strong:not(.is-revealed) { opacity: 1; transform: none; }
}
.wp-block-button__link, button, input[type="button"], input[type="reset"], input[type="submit"], .button, .added_to_cart { background: var(--mi-ink); border: 1px solid var(--mi-ink); border-radius: 0; color: white; font-size: 13px; font-weight: 750; letter-spacing: .08em; padding: 15px 26px; text-transform: uppercase; transition: .2s ease; }
.wp-block-button__link:hover, button:hover, input[type="submit"]:hover, .button:hover { background: var(--mi-rose); border-color: var(--mi-rose); color: white; }
.is-style-outline .wp-block-button__link { background: transparent; color: var(--mi-ink); }

.mi-trust { background: var(--mi-ink); color: white; display: grid; gap: 0; grid-template-columns: repeat(4,1fr); padding: 0 clamp(20px,6vw,90px); }
.mi-trust > div { border-right: 1px solid rgba(255,255,255,.14); padding: 22px 30px; text-align: center; }
.mi-trust > div:last-child { border: 0; }
.mi-trust strong { display: block; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.mi-trust span { color: #d9cfca; font-size: 12px; }

.mi-section { padding: clamp(72px,8vw,120px) clamp(24px,6vw,90px); }
.mi-section > * { max-width: 1360px; margin-left: auto; margin-right: auto; }
.mi-section-head { margin-bottom: 44px; text-align: center; }
.mi-section-head h2 { font-size: clamp(36px,4vw,56px); margin: 0 0 12px; }
.mi-section-head p { color: var(--mi-muted); margin: auto; max-width: 620px; }
.mi-tinted { background: var(--mi-cream); }

ul.products li.product { margin-bottom: 54px; text-align: left; }
ul.products li.product img { aspect-ratio: 4/5; background: var(--mi-cream); object-fit: cover; transition: transform .45s ease; }
ul.products li.product:hover img { transform: translateY(-4px); }
ul.products li.product .woocommerce-loop-product__title { color: var(--mi-ink); font-family: inherit; font-size: 15px; font-weight: 650; letter-spacing: .01em; }
ul.products li.product .price { color: var(--mi-cocoa); font-size: 14px; }
ul.products li.product .button { background: transparent; border: 0; border-bottom: 1px solid var(--mi-ink); color: var(--mi-ink); padding: 7px 0 5px; }
ul.products li.product .button:hover { color: var(--mi-rose); border-color: var(--mi-rose); }
.onsale { background: var(--mi-rose); border: 0; border-radius: 0; color: white; font-size: 11px; letter-spacing: .08em; padding: 7px 10px; text-transform: uppercase; }
.storefront-sorting { border-bottom: 1px solid var(--mi-line); padding-bottom: 20px; }

.mi-story { align-items: center; display: grid; gap: clamp(40px,7vw,100px); grid-template-columns: 1.1fr .9fr; }
.mi-story img { min-height: 560px; object-fit: cover; width: 100%; }
.mi-story h2 { font-size: clamp(40px,4.5vw,64px); line-height: 1.08; }
.mi-story p { color: var(--mi-muted); }
.mi-stats { display: grid; gap: 18px; grid-template-columns: repeat(3,1fr); margin-top: 36px; }
.mi-stats strong { display: block; font-family: Georgia, serif; font-size: 34px; font-weight: 500; }
.mi-stats span { color: var(--mi-muted); font-size: 12px; text-transform: uppercase; }

.mi-review-grid { display: grid; gap: 22px; grid-template-columns: repeat(3,1fr); }
.mi-review { background: white; border: 1px solid var(--mi-line); padding: 34px; }
.mi-stars { color: #b77855; letter-spacing: .12em; }
.mi-review blockquote { border: 0; font-family: Georgia, serif; font-size: 20px; margin: 20px 0; padding: 0; }
.mi-review cite { color: var(--mi-muted); font-size: 13px; font-style: normal; }

.mi-newsletter { background: var(--mi-blush); padding: 72px 24px; text-align: center; }
.mi-newsletter h2 { font-size: 44px; margin-bottom: 10px; }
.mi-newsletter p { color: #675751; }
.mi-newsletter form { display: flex; margin: 28px auto 0; max-width: 520px; }
.mi-newsletter input[type="email"] { background: white; border: 1px solid rgba(46,37,33,.2); flex: 1; min-width: 0; padding: 14px 16px; }

.site-footer { background: #f5f5f3; color: #2a555a; min-height: 579px; padding: 72px 0 32px; }
.site-footer a { color: #2a555a; }
.mi-footer-grid { display: grid; gap: 55px; grid-template-columns: .8fr 1fr 1fr 2fr; margin-bottom: 72px; }
.mi-footer-grid h3 { color: #2a555a; font-family: "Mulish", sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 0; text-transform: none; }
.mi-footer-grid ul { list-style: none; margin: 0; }
.mi-footer-grid li { margin-bottom: 9px; }
.mi-footer-grid p, .mi-footer-grid a { font-size: 12px; }
.mi-footer-brand { color: white; font-family: Georgia, serif; font-size: 30px; letter-spacing: .06em; text-transform: uppercase; }
.mi-footer-signup form { display: flex; margin-top: 22px; max-width: 470px; }
.mi-footer-signup input[type="email"] { background: white; border: 1px solid #d9dfde; flex: 1; min-width: 0; padding: 12px 14px; }
.mi-footer-signup button { background: white; border: 1px solid #d9dfde; border-left: 0; color: #2a555a; padding: 10px 16px; }
.site-info { border-top: 1px solid #d9dfde; color: #617a7d; font-size: 11px; padding-top: 24px; }

.page:not(.home) .entry-header, .woocommerce-products-header { background: var(--mi-cream); margin-bottom: 56px; padding: 64px 30px; text-align: center; }
.page:not(.home) .entry-title, .woocommerce-products-header__title { font-size: clamp(42px,5vw,66px); }
.entry-content h2 { font-size: 34px; margin-top: 1.6em; }
.mi-page-intro { color: var(--mi-muted); font-size: 20px; max-width: 760px; }
.mi-faq details { border-bottom: 1px solid var(--mi-line); padding: 18px 0; }
.mi-faq summary { cursor: pointer; font-weight: 650; }
.mi-size-table { border-collapse: collapse; width: 100%; }
.mi-size-table th, .mi-size-table td { border: 1px solid var(--mi-line); padding: 13px; text-align: center; }
.mi-size-table th { background: var(--mi-cream); }

.single-product div.product .product_title { font-size: clamp(38px,4vw,56px); }
.single-product div.product p.price { color: var(--mi-cocoa); font-size: 23px; }
.woocommerce-tabs ul.tabs li.active a { color: var(--mi-rose); }
.woocommerce-message, .woocommerce-info, .woocommerce-noreviews { background: var(--mi-cocoa); }

/* Standalone WooCommerce structure: no Storefront or page-builder CSS. */
.woocommerce .woocommerce-breadcrumb { color: #7b7470; font-size: 12px; margin: 0 0 30px; }
.woocommerce .woocommerce-breadcrumb a { color: #2a555a; }
.woocommerce-products-header { margin: 0 0 48px; padding: 35px 0 25px; text-align: center; }
.woocommerce-products-header__title { color: #2a555a; font-size: 60px; line-height: 1.1; margin: 0; }
.woocommerce .woocommerce-result-count { color: #746964; float: left; font-size: 13px; margin: 12px 0 32px; }
.woocommerce .woocommerce-ordering { float: right; margin: 0 0 32px; }
.woocommerce .woocommerce-ordering select { background: #fff; border: 1px solid #dcd5d0; color: #2e2521; padding: 10px 34px 10px 12px; }
.woocommerce ul.products { clear: both; display: grid; gap: 54px 48px; grid-template-columns: repeat(4,minmax(0,1fr)); list-style: none; margin: 0; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { float: none !important; margin: 0 !important; padding: 0; position: relative; width: auto !important; }
.woocommerce ul.products li.product a { display: block; }
.woocommerce ul.products li.product img { height: auto; margin: 0 0 18px; width: 100%; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { line-height: 1.45; margin: 0 0 4px; padding: 0; }
.woocommerce ul.products li.product .price { display: block; margin: 0 0 8px; }
.woocommerce ul.products li.product .star-rating { font-size: 12px; margin: 8px 0; }
.woocommerce nav.woocommerce-pagination { margin: 64px 0 0; text-align: center; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: inline-flex; gap: 8px; list-style: none; margin: 0; padding: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { align-items: center; border: 1px solid var(--mi-line); display: flex; height: 38px; justify-content: center; min-width: 38px; padding: 0 10px; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: #2a555a; color: white; }
.woocommerce span.onsale { left: 12px; margin: 0; min-height: 0; min-width: 0; position: absolute; top: 12px; z-index: 2; }
.woocommerce span.onsale { background: var(--mi-rose) !important; border: 0 !important; color: white !important; }
.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt { background: var(--mi-ink) !important; border-color: var(--mi-ink) !important; color: white !important; }
.woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover { background: var(--mi-rose) !important; border-color: var(--mi-rose) !important; }

.single-product div.product { display: grid; gap: 72px; grid-template-columns: minmax(0,1.08fr) minmax(380px,.92fr); }
.single-product div.product .woocommerce-product-gallery { float: none !important; grid-column: 1; grid-row: 1; margin: 0 !important; min-width: 0; position: relative; width: 100% !important; }
.single-product div.product .summary { float: none !important; grid-column: 2; grid-row: 1; margin: 0 !important; padding: 38px 0; width: 100% !important; }
.single-product .woocommerce-product-gallery__wrapper { margin: 0; }
.single-product .woocommerce-product-gallery__image img { width: 100%; }
.single-product div.product .product_title { color: #2a555a; line-height: 1.08; margin: 0 0 18px; }
.single-product div.product .woocommerce-product-rating { margin-bottom: 18px; }
.single-product div.product p.price { margin: 0 0 26px; }
.single-product div.product form.cart { align-items: stretch; display: flex; gap: 10px; margin: 30px 0; }
.single-product div.product form.cart .quantity input { border: 1px solid #dcd5d0; height: 52px; text-align: center; width: 68px; }
.single-product div.product form.cart .single_add_to_cart_button { flex: 1; }
.single-product .product_meta { border-top: 1px solid var(--mi-line); color: #746964; display: grid; font-size: 12px; gap: 7px; margin-top: 32px; padding-top: 22px; }
.single-product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 35px; width: 100%; }
.single-product .woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--mi-line); display: flex; gap: 34px; list-style: none; margin: 0 0 32px; padding: 0; }
.single-product .woocommerce-tabs ul.tabs li { background: none; border: 0; margin: 0; padding: 0 0 12px; }
.single-product .woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid #2a555a; }
.single-product .woocommerce-tabs ul.tabs::before, .single-product .woocommerce-tabs ul.tabs li::before, .single-product .woocommerce-tabs ul.tabs li::after { display: none; }
.single-product .related { grid-column: 1 / -1; margin-top: 70px; }
.single-product .related > h2 { color: #2a555a; font-size: 42px; margin-bottom: 35px; text-align: center; }
.single-product .storefront-product-pagination { display: none !important; }

.woocommerce-message, .woocommerce-info, .woocommerce-error { border: 0; color: white; list-style: none; margin: 0 0 28px; padding: 18px 22px; }
.woocommerce-error { background: #9e514a; }
.woocommerce-message a, .woocommerce-info a, .woocommerce-error a { color: white; float: right; text-decoration: underline; }
.woocommerce table.shop_table { border: 1px solid var(--mi-line); border-collapse: collapse; margin: 0 0 35px; width: 100%; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-bottom: 1px solid var(--mi-line); padding: 16px; text-align: left; }
.woocommerce table.shop_table .product-thumbnail img { width: 90px; }
.woocommerce .cart-collaterals { display: grid; justify-content: end; }
.woocommerce .cart_totals { min-width: 430px; }
.woocommerce .cart_totals h2, .woocommerce-checkout h3 { color: #2a555a; font-size: 30px; }
.woocommerce form .form-row { margin: 0 0 18px; padding: 0; }
.woocommerce form .form-row label { display: block; font-size: 13px; margin-bottom: 7px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { background: white; border: 1px solid #dcd5d0; border-radius: 0; padding: 12px 13px; width: 100%; }
.woocommerce-checkout .col2-set { display: grid; gap: 48px; grid-template-columns: 1fr 1fr; }
.woocommerce-checkout .col-1, .woocommerce-checkout .col-2 { float: none; width: auto; }
.woocommerce-checkout #order_review { background: #faf8f5; padding: 28px; }
.woocommerce-account .woocommerce { display: grid; gap: 50px; grid-template-columns: 260px 1fr; }
.woocommerce-account .woocommerce-MyAccount-navigation { width: auto; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--mi-line); }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 13px 0; }
.woocommerce-account .woocommerce-MyAccount-content { width: auto; }

/* Reference-paced content templates */
.mi-reference-page { color: #2a555a; width: 100%; }
.mi-reference-page h1, .mi-reference-page h2, .mi-reference-page h3 { color: #2a555a; }
.mi-section-label { font-size: 15px; font-weight: 700; line-height: 24px; margin: 0 0 24px; }
.mi-page-introduction, .mi-wide-title { margin: auto; max-width: 1500px; padding: 64px 0 56px; width: calc(100% - 80px); }
.mi-page-introduction { min-height: 296px; text-align: center; }
.mi-page-introduction h1, .mi-wide-title h1 { font-size: 60px; line-height: 66px; margin: 0 0 24px; }
.mi-page-introduction p:last-child, .mi-wide-title p { font-size: 16px; line-height: 25.6px; margin: 0 auto; max-width: 720px; }
.mi-wide-title { min-height: 290px; }
.mi-solid-button, .mi-light-button { align-items: center; display: inline-flex; font-size: 13px; font-weight: 700; justify-content: center; letter-spacing: .03em; min-height: 58px; padding: 14px 38px; }
.mi-solid-button { background: #2a555a; color: white; }
.mi-solid-button:hover { background: #21464a; color: white; }
.mi-light-button { background: white; color: #2a555a; }
.mi-light-button:hover { background: #f5f5f1; color: #2a555a; }

.mi-page-hero { height: 560px; overflow: hidden; position: relative; }
.mi-page-hero::after { background: linear-gradient(90deg,rgba(22,37,38,.3),rgba(22,37,38,.08)); content: ''; inset: 0; position: absolute; }
.mi-page-hero img { height: 100%; object-fit: cover; width: 100%; }
.mi-page-hero > div { color: white; left: max(40px,calc((100% - 1500px)/2)); position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; }
.mi-page-hero h1 { color: white; font-size: 60px; line-height: 66px; margin: 12px 0 0; }
.mi-page-hero p { font-size: 15px; font-weight: 700; margin: 0; }
.mi-page-hero--compact { height: 440px; }
.mi-story-row { display: grid; grid-template-columns: 1fr 1fr; height: 555px; margin: auto; max-width: 1905px; }
.mi-story-row--reverse .mi-story-row__media { grid-column: 2; }
.mi-story-row--reverse .mi-story-row__copy { grid-column: 1; grid-row: 1; }
.mi-story-row__media { overflow: hidden; }
.mi-story-row__media img { height: 100%; object-fit: cover; width: 100%; }
.mi-story-row__copy { align-items: flex-start; display: flex; flex-direction: column; justify-content: center; padding: 64px max(60px,10vw); }
.mi-story-row__copy h2 { font-size: 48px; line-height: 52.8px; margin: 0 0 28px; }
.mi-story-row__copy p:not(.mi-section-label) { font-size: 16px; line-height: 25.6px; margin-bottom: 26px; max-width: 590px; }

.mi-faq-group { display: grid; grid-template-columns: 630px 1fr; min-height: 458px; margin: auto; max-width: 1340px; padding: 72px 80px; }
.mi-faq-group h2 { font-size: 48px; line-height: 52.8px; margin: 0; }
.mi-faq-list details { border-bottom: 1px solid #d9dfde; padding: 0; }
.mi-faq-list summary { align-items: center; cursor: pointer; display: flex; font-size: 16px; font-weight: 700; justify-content: space-between; list-style: none; min-height: 66px; }
.mi-faq-list summary::-webkit-details-marker { display: none; }
.mi-faq-list summary span { font-size: 23px; font-weight: 400; transition: transform .2s ease; }
.mi-faq-list details[open] summary span { transform: rotate(45deg); }
.mi-faq-list details p { color: #546f72; margin: -4px 42px 24px 0; }
.mi-help-links { align-items: center; display: flex; height: 146px; justify-content: space-between; margin: auto; max-width: 1500px; width: calc(100% - 80px); }
.mi-help-links h2 { font-family: "Mulish",sans-serif; font-size: 15px; font-weight: 700; margin: 0; }
.mi-help-links nav { display: flex; gap: 34px; }
.mi-help-links a { border-bottom: 1px solid; color: #2a555a; font-size: 13px; }
.mi-contact-band { align-items: center; background: #2a555a; color: white; display: flex; min-height: 528px; text-align: center; }
.mi-contact-band > div { margin: auto; max-width: 760px; padding: 72px 24px; }
.mi-contact-band h2 { color: white; font-size: 48px; line-height: 52.8px; margin: 0 0 24px; }
.mi-contact-band p:not(.mi-section-label) { margin: 0 auto 34px; max-width: 600px; }

.mi-policy-section { display: grid; grid-template-columns: 1fr 1fr; margin: auto; max-width: 1500px; min-height: 280px; padding: 72px 80px; }
.mi-policy-section h2 { font-size: 48px; line-height: 52.8px; margin: 0; }
.mi-policy-section p { font-size: 16px; line-height: 25.6px; margin: 8px 0 0; max-width: 620px; }
.mi-table-wrap { margin: auto; max-width: 1340px; overflow-x: auto; width: calc(100% - 160px); }
.mi-table-wrap table { border-collapse: collapse; width: 100%; }
.mi-table-wrap th, .mi-table-wrap td { border-bottom: 1px solid #cdd8d7; font-size: 14px; padding: 22px 20px; text-align: left; }
.mi-table-wrap th { background: #f4f6f6; font-size: 13px; }
.mi-policy-page > .mi-table-wrap { min-height: 298px; }
.mi-policy-note { align-items: center; display: flex; height: 104px; justify-content: center; margin: 0; }
.mi-policy-note a { color: #2a555a; margin-left: 5px; text-decoration: underline; }

.mi-return-steps { display: grid; gap: 1px; grid-template-columns: repeat(3,1fr); margin: auto; max-width: 1500px; min-height: 630px; padding: 80px 0; width: calc(100% - 80px); }
.mi-return-steps article { background: #f4f6f6; padding: 72px 54px; }
.mi-return-steps span { color: #e3a58c; display: block; font-family: "Halant",serif; font-size: 58px; margin-bottom: 52px; }
.mi-return-steps h2 { font-size: 34px; line-height: 40px; }
.mi-return-steps p { line-height: 25.6px; }
.mi-returns-faq { display: grid; grid-template-columns: 1fr 1fr; margin: auto; max-width: 1100px; min-height: 706px; padding: 110px 0; }
.mi-returns-faq > h2 { font-size: 48px; line-height: 52.8px; margin: 0; }

.mi-review-summary { border-bottom: 1px solid #d9dfde; border-top: 1px solid #d9dfde; display: grid; grid-template-columns: 1fr 1fr; margin: auto; max-width: 1195px; min-height: 300px; padding: 54px 80px; }
.mi-review-summary > div:first-child { display: grid; justify-items: start; }
.mi-review-summary strong { font-family: "Halant",serif; font-size: 72px; font-weight: 400; line-height: 1; }
.mi-review-summary p { margin: 0; }
.mi-rating-bars { padding-top: 18px; }
.mi-rating-bars p { align-items: center; display: grid; gap: 12px; grid-template-columns: 12px 1fr 42px; margin: 0 0 18px; }
.mi-rating-bars i { background: #e5eceb; height: 6px; }
.mi-rating-bars i span { background: #2a555a; display: block; height: 100%; }
.mi-rating-bars em { font-size: 12px; font-style: normal; }
.mi-reviews-feed { margin: auto; max-width: 1195px; min-height: 3235px; padding: 64px 0 120px; width: calc(100% - 80px); }
.mi-reviews-feed .mi-review-grid { grid-template-columns: 1fr 1fr; }
.mi-reviews-feed .mi-review { min-height: 290px; }

.mi-contact-form-section { display: grid; gap: 110px; grid-template-columns: 1fr 1fr; margin: auto; max-width: 1500px; min-height: 528px; padding: 96px 0; width: calc(100% - 80px); }
.mi-contact-form-section h2, .mi-direct-contact h2 { font-size: 48px; line-height: 52.8px; margin: 0 0 24px; }
.mi-contact-form-section form { display: grid; gap: 18px; grid-template-columns: 1fr 1fr; }
.mi-contact-form-section label { font-size: 12px; font-weight: 700; }
.mi-contact-form-section label:last-of-type { grid-column: 1 / -1; }
.mi-contact-form-section input, .mi-contact-form-section textarea { border: 1px solid #cbd5d4; border-radius: 0; display: block; margin-top: 7px; padding: 12px; resize: vertical; width: 100%; }
.mi-contact-form-section button { justify-self: start; min-width: 184px; }
.mi-form-success { grid-column: 1 / -1; }
.mi-direct-contact { align-items: center; background: #f4f6f6; display: flex; min-height: 501px; }
.mi-direct-contact > div { margin: auto; max-width: 1500px; padding: 80px 0; width: calc(100% - 80px); }
.mi-direct-contact a { color: #2a555a; text-decoration: underline; }

.mi-measure-legend { display: grid; gap: 48px; grid-template-columns: 1fr 1fr; margin: auto; max-width: 1500px; min-height: 440px; padding: 80px 0; width: calc(100% - 80px); }
.mi-measure-legend article { align-items: flex-start; background: #f4f6f6; display: flex; gap: 34px; padding: 54px; }
.mi-measure-legend span { align-items: center; border: 1px solid #2a555a; border-radius: 50%; display: flex; flex: 0 0 50px; font-family: "Halant",serif; font-size: 26px; height: 50px; justify-content: center; }
.mi-measure-legend h2 { font-size: 34px; line-height: 40px; margin-bottom: 18px; }
.mi-size-chart { background: #fbfaf8; min-height: 1500px; padding: 112px max(40px,calc((100% - 1500px)/2)); }
.mi-size-chart > div:first-child { margin-bottom: 70px; text-align: center; }
.mi-size-chart h2 { font-size: 48px; line-height: 52.8px; margin: 0; }
.mi-size-chart .mi-table-wrap { max-width: 1200px; width: 100%; }
.mi-size-chart th, .mi-size-chart td { padding: 26px 24px; text-align: center; }
.mi-size-help { min-height: 700px; padding: 160px 24px; text-align: center; }
.mi-size-help h2 { font-size: 48px; line-height: 52.8px; }
.mi-size-help p { margin: 0 auto 34px; max-width: 620px; }

/* Product detail pacing */
.single-product .mi-commerce-main { max-width: none; padding: 0 0 100px; width: 100%; }
.single-product .mi-commerce-main > .woocommerce { margin: auto; max-width: 1500px; width: calc(100% - 80px); }
.single-product .mi-commerce-main > div.product { margin-left: auto; margin-right: auto; max-width: 1500px; min-height: 953px; padding-top: 0; width: calc(100% - 80px); }
.single-product div.product .summary { padding-top: 64px; }
.single-product div.product .product_title { font-size: 48px; line-height: 52.8px; }
.single-product .mi-product-story, .single-product .mi-product-gallery-band, .single-product .mi-product-features, .single-product .mi-product-review-stage { grid-column: 1 / -1; margin-left: calc((1500px - 100vw)/2); margin-right: calc((1500px - 100vw)/2); }
.mi-product-story { display: grid; grid-template-columns: 1fr 1fr; min-height: 411px; }
.mi-product-story > div:first-child { display: flex; flex-direction: column; justify-content: center; padding: 56px max(60px,calc((100vw - 1500px)/2 + 80px)); }
.mi-product-story h2 { color: #2a555a; font-size: 48px; line-height: 52.8px; margin: 0 0 24px; }
.mi-product-story-media img { height: 100%; object-fit: cover; width: 100%; }
.mi-product-gallery-band { display: grid; grid-template-columns: 1fr 1fr; height: 680px; overflow: hidden; }
.mi-product-gallery-band figure { margin: 0; overflow: hidden; position: relative; }
.mi-product-gallery-band figure::after { background: linear-gradient(0deg,rgba(0,0,0,.36),transparent 45%); content: ''; inset: 0; position: absolute; }
.mi-product-gallery-band img { height: 100%; object-fit: cover; width: 100%; }
.mi-product-gallery-band figcaption { bottom: 46px; color: white; font-family: "Halant",serif; font-size: 42px; left: 50px; position: absolute; z-index: 2; }
.mi-product-features { align-items: center; display: grid; gap: 50px; grid-template-columns: repeat(3,1fr); min-height: 952px; padding: 150px max(40px,calc((100vw - 1500px)/2)); }
.mi-product-features article { border-top: 1px solid #cdd8d7; min-height: 330px; padding: 44px 20px; }
.mi-product-features span { color: #e3a58c; font-family: "Halant",serif; font-size: 52px; }
.mi-product-features h3 { font-size: 30px; margin: 48px 0 18px; }
.mi-product-review-stage { background: #f4f6f6; min-height: 1180px; padding: 120px max(40px,calc((100vw - 1500px)/2)); }
.mi-product-review-stage > header { margin-bottom: 70px; text-align: center; }
.mi-product-review-stage h2 { color: #2a555a; font-size: 48px; line-height: 52.8px; margin: 0 0 20px; }
.mi-product-review-stage .mi-review-grid { grid-template-columns: repeat(2,1fr); }
.mi-product-review-stage .mi-review { min-height: 290px; }
.single-product .related { margin-top: 0; min-height: 1076px; padding-top: 120px; }
.single-product .related > h2 { font-size: 48px; line-height: 52.8px; }

/* Collection grid */
.post-type-archive-product .mi-commerce-main, .woocommerce-shop .mi-commerce-main, .tax-product_cat .mi-commerce-main { padding-top: 48px; }
.post-type-archive-product .woocommerce-products-header, .woocommerce-shop .woocommerce-products-header, .tax-product_cat .woocommerce-products-header { display: none; }
.post-type-archive-product .woocommerce-result-count, .woocommerce-shop .woocommerce-result-count, .tax-product_cat .woocommerce-result-count { display: none; }
.post-type-archive-product .woocommerce-ordering, .woocommerce-shop .woocommerce-ordering, .tax-product_cat .woocommerce-ordering { margin-bottom: 32px; }
.woocommerce ul.products { gap: 72px 48px; }
.woocommerce ul.products li.product .button { align-items: center; background: #2a555a; border: 0; color: white; display: flex; justify-content: center; min-height: 58px; padding: 14px 30px; text-transform: none; width: 100%; }
.woocommerce ul.products li.product .button:hover { background: #21464a; color: white; }

@media (max-width: 1540px) {
  .single-product .mi-product-story, .single-product .mi-product-gallery-band, .single-product .mi-product-features, .single-product .mi-product-review-stage { margin-left: calc((1500px - 100vw)/2); margin-right: calc((1500px - 100vw)/2); }
}

@media (max-width: 900px) {
  .mi-announcement { gap: 38px; }
  .mi-home-links, .mi-currency { display: none; }
  .mi-home-nav-shell { grid-template-columns: 1fr auto 1fr; height: 82px; padding: 0 20px; }
  .mi-home-logo { font-size: 34px; grid-column: 2; }
  .mi-home-actions { gap: 16px; grid-column: 3; }
  .mi-home-actions > a:first-of-type { display: none; }
  .mi-menu-toggle { background: transparent; border: 0; display: block; grid-column: 1; grid-row: 1; justify-self: start; padding: 5px 0; width: 27px; }
  .mi-menu-toggle span { background: currentColor; display: block; height: 2px; margin: 5px 0; transition: transform .2s ease, opacity .2s ease; width: 25px; }
  .site-header.is-overlay .mi-menu-toggle { color: white; }
  .site-header:not(.is-overlay) .mi-menu-toggle { color: #2a555a; }
  .mi-menu-open .mi-menu-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .mi-menu-open .mi-menu-toggle span:nth-child(2) { opacity: 0; }
  .mi-menu-open .mi-menu-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .mi-menu-open .mi-home-links { background: white; box-shadow: 0 18px 35px rgba(0,0,0,.14); display: grid; gap: 0; left: 0; padding: 22px 24px; position: absolute; top: 82px; width: min(330px,88vw); }
  .mi-menu-open .mi-home-links a { border-bottom: 1px solid #eee7e1; color: #2a555a; padding: 12px 0; }
  .mi-hero { aspect-ratio: auto; min-height: 720px; }
  .mi-hero-copy { background: transparent; height: calc(100% - 130px); margin: 0; padding: 160px 0 0; right: 24px; top: 82px; width: 58%; }
  .mi-trust { grid-template-columns: repeat(2,1fr); }
  .mi-story { grid-template-columns: 1fr; }
  .mi-review-grid { grid-template-columns: 1fr; }
  .mi-footer-grid { grid-template-columns: repeat(2,1fr); }
  .mi-proof-rail { height: 180px; padding: 35px 0; }
  .mi-proof-track { display: flex; height: 110px; max-width: none; overflow: hidden; }
  .mi-proof-item { flex: 0 0 210px; height: 110px; }
  .mi-proof-item p { font-size: 13px; line-height: 20px; margin-bottom: 18px; min-height: 40px; }
  .mi-proof-item:first-child p { font-size: 14px; line-height: 22px; margin-bottom: 14px; }
  .mi-proof-item strong { font-size: 22px; }
  .mi-facts { padding-left: 24px; padding-right: 24px; }
  .mi-impact { height: auto; padding: 60px 20px; }
  .mi-impact article { padding: 30px 20px; }
  .mi-impact strong { font-size: 68px; }
  .mi-hotspot-section { height: 600px; padding: 50px 20px; }
  .mi-hotspot-grid { display: flex; height: 500px; max-width: none; overflow-x: auto; scroll-snap-type: x mandatory; width: 100%; }
  .mi-hotspot-card { flex: 0 0 100%; scroll-snap-align: start; }
  .mi-hotspot-popover, .mi-hotspot-card:nth-child(n+2) .mi-hotspot-popover { bottom: 88px; left: 16px; min-height: 0; padding: 24px; right: 16px; top: auto; transform: none; width: auto; }
  .mi-hotspot-card figcaption { font-size: 30px; }
  .mi-video-stage { height: auto; padding: 0 20px 70px; }
  .mi-video-poster { height: 500px; width: 100%; }
  .mi-video-intro { padding-left: 24px; padding-right: 24px; }
  .mi-product-carousel { height: 720px; min-height: 0; padding: 0 20px 60px; }
  .mi-carousel-head { height: 88px; }
  .mi-product-carousel .woocommerce { overflow: hidden; }
  .mi-product-carousel .woocommerce ul.products { display: flex; gap: 16px; overflow-x: auto; padding-bottom: 15px; scroll-snap-type: x mandatory; }
  .mi-product-carousel .woocommerce ul.products li.product { flex: 0 0 min(78vw,340px); scroll-snap-align: start; }
  .mi-product-carousel ul.products li.product img { height: 460px; }
  .mi-home-testimonials { height: 560px; padding: 0 20px 60px; }
  .mi-home-testimonials h2 { height: 116px; padding-top: 60px; }
  .mi-home-testimonials .mi-review-grid { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .mi-home-testimonials .mi-review { flex: 0 0 min(82vw,350px); min-height: 330px; scroll-snap-align: start; }
  .mi-media-story { gap: 40px; grid-template-columns: 1fr; height: auto; padding: 60px 24px; }
  .mi-media-story img { height: 560px; }
  .mi-media-copy { padding: 0; }
  .mi-icon-strip { grid-template-columns: repeat(2,1fr); height: auto; padding: 45px 20px; }
  .woocommerce ul.products { gap: 40px 24px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .single-product div.product { gap: 38px; grid-template-columns: 1fr; }
  .single-product div.product .woocommerce-product-gallery, .single-product div.product .summary, .single-product .woocommerce-tabs, .single-product .related { grid-column: 1; }
  .single-product div.product .summary { grid-row: auto; }
  .woocommerce-checkout .col2-set { grid-template-columns: 1fr; }
  .mi-page-introduction, .mi-wide-title { width: calc(100% - 40px); }
  .mi-story-row, .mi-story-row--reverse { grid-template-columns: 1fr; height: auto; }
  .mi-story-row__media, .mi-story-row--reverse .mi-story-row__media { grid-column: 1; height: 520px; }
  .mi-story-row__copy, .mi-story-row--reverse .mi-story-row__copy { grid-column: 1; grid-row: auto; min-height: 430px; padding: 60px 32px; }
  .mi-faq-group { grid-template-columns: 1fr; min-height: 0; padding: 60px 32px; }
  .mi-faq-group h2 { margin-bottom: 28px; }
  .mi-help-links { align-items: flex-start; flex-direction: column; height: auto; padding: 45px 0; width: calc(100% - 64px); }
  .mi-help-links nav { flex-wrap: wrap; margin-top: 24px; }
  .mi-policy-section, .mi-returns-faq, .mi-contact-form-section { gap: 34px; grid-template-columns: 1fr; padding: 60px 32px; }
  .mi-table-wrap { width: calc(100% - 64px); }
  .mi-return-steps, .mi-measure-legend { grid-template-columns: 1fr; width: calc(100% - 40px); }
  .mi-reviews-feed .mi-review-grid, .mi-product-review-stage .mi-review-grid { grid-template-columns: 1fr; }
  .mi-review-summary { padding: 44px 28px; width: calc(100% - 40px); }
  .mi-product-story, .mi-product-gallery-band, .mi-product-features { grid-template-columns: 1fr; height: auto; }
  .single-product .mi-product-story, .single-product .mi-product-gallery-band, .single-product .mi-product-features, .single-product .mi-product-review-stage { margin-left: -20px; margin-right: -20px; }
  .mi-product-story > div:first-child { min-height: 420px; padding: 60px 32px; }
  .mi-product-story-media { height: 520px; }
  .mi-product-gallery-band figure { height: 560px; }
  .mi-product-features { padding: 80px 32px; }
}
@media (max-width: 600px) {
  .mi-announcement { font-size: 12px; gap: 12px; min-height: 44px; padding: 10px 4px; }
  .home .site-header { top: 44px; }
  .admin-bar.home .site-header { top: 90px; }
  .mi-home-actions > a:nth-of-type(2) { display: none; }
  .mi-hero { min-height: 680px; }
  .mi-hero > .wp-block-cover__image-background { object-position: 58% center; }
  .home .site-content .mi-hero .wp-block-cover__inner-container { background: linear-gradient(0deg, rgba(55,31,18,.55), transparent 62%); }
  .mi-hero-copy { bottom: 26px; height: 400px; justify-content: flex-end; max-width: none; padding: 0 20px; right: 0; top: auto; width: 100%; }
  .mi-hero h1 { font-size: 44px !important; margin-bottom: 18px; }
  .mi-hero h1 { white-space: normal; }
  .mi-hero p:not(.mi-eyebrow) { font-size: 16px; }
  .mi-hero .wp-block-buttons { margin-top: 28px; }
  .mi-hero .wp-block-button__link { font-size: 17px !important; padding: 13px 20px; }
  .mi-trust { grid-template-columns: 1fr; }
  .mi-trust > div { border-bottom: 1px solid rgba(255,255,255,.14); border-right: 0; }
  .mi-section { padding: 64px 20px; }
  .mi-footer-grid { grid-template-columns: 1fr; }
  .mi-newsletter form { display: block; }
  .mi-newsletter input, .mi-newsletter button { width: 100%; }
  .mi-proof-track { grid-template-columns: none; }
  .mi-proof-item { border-left: 1px solid rgba(42,85,90,.18); border-top: 0; height: 110px; }
  .mi-proof-item:first-child { border-left: 0; }
  .mi-facts { height: auto; min-height: 310px; padding: 60px 24px; }
  .mi-facts h2 { font-size: 36px; }
  .mi-impact { grid-template-columns: 1fr; }
  .mi-impact strong { font-size: 62px; margin-bottom: 16px; }
  .mi-impact p { font-size: 22px; }
  .mi-hotspot-grid { grid-template-columns: none; height: 500px; }
  .mi-hotspot-card { height: 500px; }
  .mi-video-intro { height: auto; min-height: 250px; padding: 60px 24px 40px; }
  .mi-video-intro h2 { font-size: 34px; }
  .mi-video-poster { height: 430px; }
  .mi-carousel-head h2 { font-size: 34px; }
  .mi-home-testimonials .mi-review-grid { grid-template-columns: none; }
  .mi-press-panel blockquote { font-size: 29px; }
  .mi-media-story img { height: 430px; }
  .mi-media-copy h2 { font-size: 39px; }
  .mi-icon-strip { grid-template-columns: 1fr; }
  .mi-footer-grid { gap: 28px; }
  .mi-site-shell { width: calc(100% - 40px); }
  .mi-inner-main, .mi-commerce-main { padding-bottom: 70px; padding-top: 42px; }
  .woocommerce-products-header__title { font-size: 44px; }
  .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { float: none; }
  .woocommerce .woocommerce-ordering select { width: 100%; }
  .woocommerce ul.products { gap: 34px 14px; }
  .woocommerce ul.products li.product img { margin-bottom: 12px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 13px; }
  .woocommerce .cart-collaterals { display: block; }
  .woocommerce .cart_totals { min-width: 0; width: 100%; }
  .woocommerce table.shop_table .product-thumbnail { display: none; }
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  .mi-page-hero, .mi-page-hero--compact { height: 430px; }
  .mi-page-hero > div { left: 24px; }
  .mi-page-hero h1, .mi-page-introduction h1, .mi-wide-title h1 { font-size: 44px; line-height: 48px; }
  .mi-page-introduction, .mi-wide-title { min-height: 260px; padding: 48px 0; }
  .mi-story-row__media, .mi-story-row--reverse .mi-story-row__media { height: 400px; }
  .mi-story-row__copy h2, .mi-faq-group h2, .mi-contact-band h2, .mi-policy-section h2, .mi-returns-faq > h2, .mi-contact-form-section h2, .mi-direct-contact h2, .mi-size-chart h2, .mi-size-help h2, .mi-product-story h2, .mi-product-review-stage h2 { font-size: 38px; line-height: 42px; }
  .mi-return-steps article { padding: 48px 30px; }
  .mi-review-summary { grid-template-columns: 1fr; }
  .mi-rating-bars { margin-top: 32px; }
  .mi-reviews-feed { min-height: 0; width: calc(100% - 40px); }
  .mi-contact-form-section { width: 100%; }
  .mi-contact-form-section form { grid-template-columns: 1fr; }
  .mi-contact-form-section label:last-of-type { grid-column: 1; }
  .mi-direct-contact > div { width: calc(100% - 48px); }
  .mi-size-chart { min-height: 1000px; padding-left: 24px; padding-right: 24px; }
  .single-product .mi-commerce-main > .woocommerce, .single-product .mi-commerce-main > div.product { width: calc(100% - 40px); }
}
