/* MMS Enterprises — site styles */
:root {
  color-scheme: light only;
  --bg: #F4F1EA;
  --surface: #FFFFFF;
  --surface-2: #EAE6DC;
  --text: #1F1F1F;
  --text-2: #5B5B55;
  --line: rgba(31, 31, 31, .12);
  --line-strong: rgba(31, 31, 31, .3);
  --olive: #4B5320;
  --olive-ink: #4B5320;
  --orange: #E8762B;
  --on-olive: #F4F1EA;
  --img-bg: #F4F1EA;
  --whatsapp: #25D366;
  --whatsapp-ink: #0B1F12;
  --display: Oswald, sans-serif;
  --body: Inter, system-ui, sans-serif;
}


*, *::before, *::after { box-sizing: border-box }
html, body { margin: 0; padding: 0; background: var(--bg); color: var(--text); font-family: var(--body); -webkit-font-smoothing: antialiased }
html { scroll-padding-top: 84px; -webkit-text-size-adjust: 100%; text-size-adjust: 100% }
body { overflow-x: hidden }
img, video { max-width: 100%; height: auto; display: block }
a { color: var(--olive-ink) }
a:hover { color: var(--orange) }
::selection { background: var(--orange); color: #141414 }
input, textarea, select, button { font: inherit }
:focus-visible { outline: 2px solid var(--orange); outline-offset: 2px }

.page { min-height: 100vh; display: flex; flex-direction: column }
main { flex: 1 }
.wrap { max-width: 1200px; margin: 0 auto; padding-left: 20px; padding-right: 20px }
.skip-link { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--text); color: var(--bg); padding: 10px 14px; border-radius: 4px }
.skip-link:focus { left: 8px }

/* ---------- Header ---------- */
.site-header { position: sticky; top: 0; z-index: 50; background: var(--bg); border-bottom: 1px solid var(--line) }
.site-header .wrap { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--text); padding: 10px 0 }
.brand:hover { color: var(--text) }
.brand img { width: 40px; height: 41px }
.brand span { font: 600 20px var(--display); letter-spacing: .04em; text-transform: uppercase }
.nav { display: flex; align-items: center; gap: 2px; flex-wrap: wrap }
.nav a { padding: 12px 11px; min-height: 44px; display: inline-flex; align-items: center; text-decoration: none; color: var(--text-2); font: 500 14px var(--body); border-bottom: 2px solid transparent }
.nav a:hover { color: var(--text) }
.nav a[aria-current="page"] { color: var(--text); border-bottom-color: var(--orange) }
.nav-toggle, .nav-head, .nav-backdrop { display: none }

/* ---------- Type ---------- */
.eyebrow { font: 500 12px var(--body); letter-spacing: .14em; text-transform: uppercase; color: var(--olive-ink) }
.eyebrow.muted { color: var(--text-2) }
.dot { color: var(--orange) }
.h-hero { margin: 0; font: 700 clamp(44px, 7vw, 84px)/0.98 var(--display); text-transform: uppercase; letter-spacing: -.01em; text-wrap: balance }
.h-page { margin: 0; font: 700 clamp(40px, 6vw, 72px)/1 var(--display); text-transform: uppercase; text-wrap: balance }
.h-section { margin: 0; font: 700 clamp(32px, 4.5vw, 52px)/1 var(--display); text-transform: uppercase }
.h-product { margin: 0; font: 700 clamp(34px, 5vw, 56px)/1 var(--display); text-transform: uppercase }
.h-card { margin: 0; font: 600 24px var(--display); text-transform: uppercase }
.h-panel { margin: 0; font: 600 26px var(--display); text-transform: uppercase }
.lead { margin: 0; color: var(--text-2); line-height: 1.6; font-size: 17px; text-wrap: pretty }
.lead.lg { font-size: 18px; max-width: 560px }
.muted { color: var(--text-2) }
.small { font-size: 13px; color: var(--text-2) }
.stack { display: flex; flex-direction: column }
.gap-8 { gap: 8px } .gap-12 { gap: 12px } .gap-14 { gap: 14px } .gap-20 { gap: 20px } .gap-22 { gap: 22px } .gap-28 { gap: 28px } .gap-40 { gap: 40px } .gap-48 { gap: 48px } .gap-72 { gap: 72px }

/* ---------- Buttons ---------- */
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 24px; font: 600 15px var(--body); text-decoration: none; border-radius: 4px; border: 1.5px solid transparent; cursor: pointer; transition: filter .15s, background-color .15s }
.btn:hover { filter: brightness(1.06) }
.btn-orange { background: var(--orange); color: #141414 }
.btn-orange:hover { color: #141414 }
.btn-olive { background: var(--olive); color: var(--on-olive) }
.btn-olive:hover { color: var(--on-olive) }
.btn-dark { background: var(--text); color: var(--bg) }
.btn-dark:hover { color: var(--bg) }
.btn-outline { background: transparent; color: var(--text); border-color: var(--line-strong) }
.btn-outline:hover { color: var(--text); background: rgba(31, 31, 31, .04) }
.btn { gap: 10px }
.btn-market { background: var(--surface); color: var(--text); border-color: var(--line-strong) }
.btn-market:hover { color: var(--text); background: #fff; border-color: var(--text) }
.btn-market img { display: inline-block }
.logo-amazon { height: 21px; width: auto; margin-top: 6px }
.logo-flipkart { height: 24px; width: auto }
.wa-icon { width: 22px; height: 22px; flex: none }
.btn-whatsapp { background: var(--whatsapp); color: var(--whatsapp-ink) }
.btn-whatsapp:hover { color: var(--whatsapp-ink) }
.self-start { align-self: flex-start }

/* ---------- Layout helpers ---------- */
.grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 40px }
.grid-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 20px }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: 6px }
.card-pad { padding: 28px }
.page-body { padding-top: 48px; padding-bottom: 72px }

/* ---------- Home ---------- */
.hero { padding-top: 48px; padding-bottom: 24px; align-items: center }
.hero-media { background: var(--img-bg); border: 1px solid var(--line); border-radius: 6px; display: flex; flex-direction: column; overflow: hidden }
.hero-stage { position: relative; aspect-ratio: 640/672 }
.hero-media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: 0; transition: opacity .35s ease }
.hero-media video.is-active { opacity: 1 }
.size-tabs { position: absolute; left: 16px; top: 16px; z-index: 2; display: inline-flex; gap: 3px; padding: 3px; background: rgba(255, 255, 255, .92); border: 1px solid var(--line); border-radius: 999px; box-shadow: 0 2px 10px rgba(0, 0, 0, .08); backdrop-filter: blur(6px) }
.size-tabs button { min-width: 64px; min-height: 40px; padding: 0 16px; border: 0; border-radius: 999px; background: transparent; color: var(--text-2); font: 600 15px var(--display); letter-spacing: .06em; cursor: pointer; transition: background-color .2s, color .2s }
.size-tabs button:hover { color: var(--text) }
.size-tabs button[aria-pressed="true"] { background: var(--olive); color: var(--on-olive) }
.size-caption { padding: 14px 18px; border-top: 1px solid var(--line); background: var(--surface); font-size: 14px; color: var(--text-2) }
.size-caption strong { color: var(--text); font: 700 18px var(--display) }
.size-caption a { white-space: nowrap }
[hidden] { display: none !important }

.features { padding-top: 40px; padding-bottom: 40px }
.feature { overflow: hidden; display: flex; flex-direction: column }
.feature img { width: 100%; aspect-ratio: 1; object-fit: contain; background: var(--img-bg) }
.feature-body { padding: 24px; display: flex; flex-direction: column; gap: 8px }
.feature-body p { margin: 0; color: var(--text-2); line-height: 1.6; font-size: 15px }

.uses { background: var(--olive); color: var(--on-olive) }
.uses .wrap { padding-top: 56px; padding-bottom: 56px; display: flex; flex-direction: column; gap: 28px }
.uses-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px }
.uses-head .eyebrow { color: var(--on-olive); opacity: .85 }
.use { margin: 0; display: flex; flex-direction: column; gap: 14px }
.use img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 4px }
.use strong { display: block; font: 600 22px var(--display); text-transform: uppercase }
.use span { font-size: 15px; line-height: 1.6; opacity: .9 }
.carousel { --per: 3; --gap: 20px; display: flex; flex-direction: column; gap: 20px }
.carousel-viewport { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none }
.carousel-viewport::-webkit-scrollbar { display: none }
.carousel.is-ready .carousel-viewport { overflow: hidden; scroll-snap-type: none; touch-action: pan-y; cursor: grab }
.carousel.is-ready .carousel-viewport.is-dragging { cursor: grabbing }
.carousel-track { display: flex; gap: var(--gap); transition: transform .8s cubic-bezier(.25, .8, .25, 1); will-change: transform }
.carousel-track > .use { flex: 0 0 calc((100% - (var(--per) - 1) * var(--gap)) / var(--per)); min-width: 0; scroll-snap-align: start; user-select: none }
.carousel-track img { -webkit-user-drag: none; pointer-events: none }
.carousel-controls { display: flex; align-items: center; justify-content: center; gap: 12px }
.carousel-arrow { width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid rgba(244, 241, 234, .45); background: transparent; color: var(--on-olive); font: 600 18px var(--body); cursor: pointer; transition: background-color .2s, border-color .2s }
.carousel-arrow:hover { background: rgba(244, 241, 234, .12); border-color: var(--on-olive) }
@media (max-width: 900px) { .carousel { --per: 2 } }
@media (max-width: 600px) { .carousel { --per: 1.15; --gap: 14px } }
.dots { display: flex; gap: 8px; justify-content: center }
.dots button { width: 44px; height: 44px; padding: 0; border: 0; background: transparent; cursor: pointer; display: grid; place-items: center }
.dots button span { display: block; width: 8px; height: 8px; border-radius: 4px; background: rgba(244, 241, 234, .45); transition: width .25s, background-color .25s }
.dots button[aria-pressed="true"] span { width: 28px; background: var(--orange) }

.posters-section { padding-top: 72px; padding-bottom: 24px; display: flex; flex-direction: column; gap: 36px }
.posters-head { display: flex; flex-direction: column; gap: 10px; max-width: 720px }
.posters-head .lead { font-size: 16px }
.poster-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: start }
.poster { margin: 0; display: flex; flex-direction: column; gap: 14px }
.poster-open { padding: 0; border: 0; background: var(--surface-2); border-radius: 8px; overflow: hidden; cursor: zoom-in; display: block; box-shadow: 0 10px 30px rgba(31, 31, 31, .12); transition: transform .3s ease, box-shadow .3s ease }
.poster-open:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(31, 31, 31, .18) }
.poster-open img { width: 100%; aspect-ratio: 2/3; object-fit: cover; display: block }
.poster figcaption { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; align-items: baseline }
.poster-num { grid-row: 1 / span 2; font: 700 32px/1 var(--display); color: var(--orange) }
.poster figcaption strong { font: 600 20px var(--display); text-transform: uppercase }
.poster figcaption span:last-child { font-size: 14px; line-height: 1.55; color: var(--text-2) }
.lightbox { border: 0; padding: 0; background: transparent; max-width: min(92vw, 720px); max-height: 92vh }
.lightbox::backdrop { background: rgba(20, 20, 20, .82) }
.lightbox img { display: block; max-width: 92vw; max-height: 92vh; border-radius: 6px }
.lightbox-close { position: absolute; top: -14px; right: -14px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--orange); color: #141414; font: 600 24px/1 var(--body); cursor: pointer }
@media (max-width: 900px) { .poster-row { grid-template-columns: 1fr 1fr } .poster:nth-child(3) { grid-column: 1 / -1; max-width: 50%; margin: 0 auto } }
@media (max-width: 600px) { .posters-section { padding-top: 48px } .poster-row { grid-template-columns: 1fr; gap: 32px } .poster:nth-child(3) { max-width: none } .poster-num { font-size: 28px } }

.compare { padding-top: 64px; padding-bottom: 64px; display: flex; flex-direction: column; gap: 28px }
.split { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 6px; overflow: hidden }
.split > * { background: var(--surface); padding: 28px; display: flex; flex-direction: column; gap: 16px }
.split img { width: 100%; aspect-ratio: 1; object-fit: contain; background: var(--img-bg); border-radius: 4px }
.size-title { margin: 0; font: 700 40px/1 var(--display) }
.size-title small { font-size: 18px; color: var(--text-2); font-weight: 500 }
.specs { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 8px 20px; font-size: 15px }
.specs dt { color: var(--text-2) }
.specs dd { margin: 0 }
.text-link { font: 600 14px var(--body); color: var(--olive-ink) }

.cta-band-wrap { padding-bottom: 72px }
.cta-band { background: var(--surface-2); border-radius: 6px; padding: 40px 32px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px }
.cta-band h2 { margin: 0; font: 700 clamp(28px, 4vw, 42px)/1.05 var(--display); text-transform: uppercase }
.cta-band p { margin: 0; color: var(--text-2); line-height: 1.6; font-size: 16px }

/* ---------- Products ---------- */
.gallery-main { width: 100%; aspect-ratio: 1; object-fit: cover; background: var(--img-bg); border: 1px solid var(--line); border-radius: 6px }
.thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px }
.thumbs button { padding: 0; border: 2px solid var(--line); border-radius: 4px; background: var(--img-bg); cursor: pointer; aspect-ratio: 1; overflow: hidden; min-height: 44px }
.thumbs button[aria-pressed="true"] { border-color: var(--orange) }
.thumbs img { width: 100%; height: 100%; object-fit: cover }
.spec-table { border-collapse: collapse; width: 100%; font-size: 15px }
.spec-table tr { border-top: 1px solid var(--line) }
.spec-table tr:last-child { border-bottom: 1px solid var(--line) }
.spec-table th { text-align: left; padding: 12px 12px 12px 0; color: var(--text-2); font-weight: 500; width: 42% }
.spec-table td { padding: 12px 0 }
.product p { margin: 0; color: var(--text-2); line-height: 1.6; font-size: 16px }
.product .btn { padding: 0 22px }

/* ---------- Order ---------- */
.steps { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 6px; overflow: hidden }
.steps li { background: var(--surface); padding: 28px; display: flex; flex-direction: column; gap: 10px }
.steps .num { font: 700 40px/1 var(--display); color: var(--orange) }
.steps strong { font: 600 20px var(--display); text-transform: uppercase }
.steps span:last-child { color: var(--text-2); font-size: 15px; line-height: 1.6 }
.info p { margin: 0; font-size: 16px; line-height: 1.6 }

/* ---------- Bulk ---------- */
.bulk-hero { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 40px; align-items: center }
.bulk-hero-img { width: auto; max-width: 100%; height: auto; max-height: 620px; justify-self: center; border-radius: 6px; box-shadow: 0 10px 30px rgba(31, 31, 31, .12) }
.trust { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px }
.trust li { font: 500 13px var(--body); color: var(--text); background: var(--surface); border: 1px solid var(--line); border-radius: 999px; padding: 7px 12px }
.trust li::before { content: "✓"; color: var(--olive); font-weight: 700; margin-right: 6px }
.bulk-cta { background: var(--olive); color: var(--on-olive); border-radius: 6px; padding: 44px 36px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 32px; align-items: center }
.bulk-cta p { margin: 0; font-size: 16px; line-height: 1.6; opacity: .92; max-width: 520px }
.chips { margin: 4px 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px }
.chips li { font: 500 13px var(--body); border: 1px solid rgba(244, 241, 234, .4); border-radius: 999px; padding: 6px 12px }
.bulk-cta-note { font-size: 13px; line-height: 1.55; opacity: .85; max-width: 420px }
.gap-10 { gap: 10px }
@media (max-width: 600px) { .bulk-cta { padding: 28px 20px } }
.checklist { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; font-size: 15px; line-height: 1.5 }
.panel { padding: 32px; display: flex; flex-direction: column; gap: 20px }
.panel p { margin: 0; color: var(--text-2); line-height: 1.6; font-size: 15px }

/* ---------- About ---------- */
.square-img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 6px }
.value { border-top: 2px solid var(--olive-ink); padding-top: 18px; display: flex; flex-direction: column; gap: 8px }
.value strong { font: 600 22px var(--display); text-transform: uppercase }
.value span { color: var(--text-2); font-size: 15px; line-height: 1.6 }
.facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 20px; font-size: 15px }
.fact { display: flex; flex-direction: column; gap: 6px }

/* ---------- Contact ---------- */
.contact-list { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 14px 24px; font-size: 16px }
.contact-list dt { color: var(--text-2) }
.contact-list dd { margin: 0; line-height: 1.5 }
.map { border: 1px solid var(--line); border-radius: 6px; overflow: hidden; background: var(--surface-2) }
.map iframe { display: block; width: 100%; height: 340px }
.form { padding: 32px; display: flex; flex-direction: column; gap: 16px }
.form label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 500 }
.form input, .form textarea { font-size: 16px; min-height: 48px; padding: 0 14px; border: 1px solid var(--line-strong); border-radius: 4px; background: var(--bg); color: var(--text) }
.form textarea { padding: 12px 14px; resize: vertical }
.form button { border: 0 }

/* ---------- Legal ---------- */
.legal { max-width: 760px; margin: 0 auto; padding: 48px 20px 72px; display: flex; flex-direction: column; gap: 40px; font-size: 16px; line-height: 1.7; color: var(--text-2) }
.legal h1 { margin: 0; font: 700 clamp(40px, 6vw, 64px)/1 var(--display); text-transform: uppercase; color: var(--text) }
.legal section { display: flex; flex-direction: column; gap: 10px }
.legal h2 { margin: 0; font: 600 28px var(--display); text-transform: uppercase; color: var(--text) }
.legal p { margin: 0 }

/* ---------- Footer ---------- */
.site-footer { border-top: 1px solid var(--line); background: var(--surface) }
.footer-grid { padding-top: 40px; padding-bottom: 40px; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 32px; font-size: 14px; color: var(--text-2) }
.footer-grid > div { display: flex; flex-direction: column; gap: 8px }
.footer-grid a { color: var(--text-2); text-decoration: none }
.footer-grid a:hover { color: var(--orange) }
.footer-brand { font: 600 18px var(--display); letter-spacing: .04em; text-transform: uppercase; color: var(--text) }
.footer-grid .eyebrow { color: var(--text-2) }
.copyright { padding-bottom: 24px; font-size: 13px; color: var(--text-2) }
.lh { line-height: 1.6 }

/* ---------- Floating size switcher (right edge) ---------- */
.size-float { position: fixed; right: 20px; top: 50%; transform: translateY(-50%); z-index: 60; display: flex; flex-direction: column; gap: 4px; padding: 6px; background: rgba(255, 255, 255, .95); border: 1px solid var(--line); border-radius: 999px; box-shadow: 0 6px 20px rgba(0, 0, 0, .14); backdrop-filter: blur(6px) }
.size-float-label { font: 500 10px var(--body); letter-spacing: .14em; text-transform: uppercase; color: var(--text-2); text-align: center; padding: 6px 0 2px }
.size-float button, .size-float a { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border: 0; border-radius: 50%; background: transparent; color: var(--text-2); font: 600 14px var(--display); letter-spacing: .04em; text-decoration: none; cursor: pointer; transition: background-color .2s, color .2s }
.size-float button:hover, .size-float a:hover { color: var(--text); background: var(--surface-2) }
.size-float button[aria-pressed="true"] { background: var(--olive); color: var(--on-olive) }
.is-auto-size .size-float button[aria-pressed="true"] { animation: size-pulse 7s linear infinite }
@keyframes size-pulse { 0% { box-shadow: 0 0 0 0 rgba(75, 83, 32, .45) } 60% { box-shadow: 0 0 0 8px rgba(75, 83, 32, 0) } 100% { box-shadow: 0 0 0 0 rgba(75, 83, 32, 0) } }
/* Keep the floating switcher off the text: give content a right margin on mid-size screens,
   and dock it above the WhatsApp button on phones */
@media (min-width: 601px) and (max-width: 1340px) { .wrap { padding-right: 92px } }
@media (max-width: 600px) {
  .size-float { top: auto; right: 16px; bottom: 80px; transform: none; flex-direction: row; padding: 4px; gap: 2px }
  .size-float-label { display: none }
  .size-float button, .size-float a { width: 44px; height: 44px; font-size: 13px }
  .copyright { padding-bottom: 150px }
}
@media (prefers-reduced-motion: reduce) { .is-auto-size .size-float button[aria-pressed="true"] { animation: none } }

/* ---------- Floating WhatsApp ---------- */
.wa-float { position: fixed; right: 20px; bottom: 20px; z-index: 60; display: inline-flex; align-items: center; gap: 10px; min-height: 56px; padding: 0 20px 0 12px; background: var(--whatsapp); color: var(--whatsapp-ink); font: 600 15px var(--body); text-decoration: none; border-radius: 28px; box-shadow: 0 6px 20px rgba(0, 0, 0, .18) }
.wa-float:hover { color: var(--whatsapp-ink); filter: brightness(1.05) }
.wa-float img { width: 28px; height: 28px }

@media (max-width: 720px) {
  /* Header: brand left, hamburger right; nav becomes a slide-in panel */
  .site-header .wrap { flex-wrap: nowrap }
  .brand { padding: 12px 0 }
  .nav-toggle { display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; width: 44px; height: 44px; padding: 0 9px; border: 0; border-radius: 6px; background: transparent; cursor: pointer }
  .nav-toggle span { display: block; height: 2px; background: var(--text); border-radius: 2px; transition: transform .25s, opacity .2s }
  .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg) }
  .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0 }
  .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg) }
  .nav { position: fixed; top: 0; right: 0; bottom: 0; z-index: 90; width: min(82vw, 320px); flex-direction: column; align-items: stretch; gap: 0; padding: 0 0 24px; background: var(--bg); border-left: 1px solid var(--line); box-shadow: -12px 0 32px rgba(0, 0, 0, .18); transform: translateX(100%); transition: transform .3s cubic-bezier(.25, .8, .25, 1); overflow-y: auto }
  .nav.is-open { transform: none }
  .nav-head { display: flex; align-items: center; justify-content: space-between; padding: 12px 12px 12px 20px; border-bottom: 1px solid var(--line) }
  .nav-title { font: 600 14px var(--body); letter-spacing: .12em; text-transform: uppercase; color: var(--text-2) }
  .nav-close { width: 44px; height: 44px; border: 0; border-radius: 6px; background: transparent; color: var(--text); font: 400 28px/1 var(--body); cursor: pointer }
  .nav a { padding: 16px 20px; min-height: 52px; font-size: 17px; border-bottom: 1px solid var(--line); border-left: 3px solid transparent }
  .nav a[aria-current="page"] { border-bottom-color: var(--line); border-left-color: var(--orange); background: var(--surface) }
  .nav-backdrop { position: fixed; inset: 0; z-index: 80; background: rgba(20, 20, 20, .45) }
  .nav-backdrop:not([hidden]) { display: block }
  body.nav-open { overflow: hidden }
  body.nav-open .site-header { z-index: 100 } /* menu + backdrop above the floating buttons */
  html { scroll-padding-top: 84px }
}
@media (prefers-reduced-motion: reduce) { .nav { transition: none } }
}

@media (max-width: 600px) {
  .size-tabs { left: 12px; top: 12px }
  .hero, .page-body { padding-top: 32px }
  .hero { gap: 28px }
  .btn-row > .btn { flex: 1 1 auto }
  .cta-band { padding: 28px 20px }
  .card-pad, .split > *, .steps li { padding: 22px }
  .panel, .form { padding: 22px }
  .uses .wrap { padding-top: 44px; padding-bottom: 44px }
  .compare { padding-top: 48px; padding-bottom: 48px }
  .cta-band-wrap { padding-bottom: 48px }
  .size-title { font-size: 34px }
  .spec-table th { width: 46% }
  .contact-list { grid-template-columns: 1fr; gap: 4px }
  .contact-list dd { margin-bottom: 12px }
  .footer-grid { gap: 24px }
  .copyright { padding-bottom: 96px }
  .wa-float { right: 16px; bottom: 16px; min-height: 52px; padding: 0 18px 0 14px }
}

@media (prefers-reduced-motion: reduce) {
  .carousel-track { transition: none }
  .dots button span { transition: none }
}
