/* Sialwear Pro. Red, white and black. */
:root {
	--red: #d71920;
	--red-d: #a8131a;
	--ink: #111111;
	--ink-2: #1c1c1c;
	--text: #2e2e2e;
	--muted: #6b6b6b;
	--line: #e6e6e6;
	--grey: #f4f4f4;
	--white: #ffffff;
	--wrap: 1240px;
	--head: "Barlow Condensed", "Arial Narrow", Impact, sans-serif;
	--body: "Inter", "Helvetica Neue", Arial, sans-serif;
	--r: 10px;
	--shadow: 0 14px 40px rgba(0, 0, 0, 0.12);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body.swp {
	margin: 0;
	font-family: var(--body);
	font-size: 16px;
	line-height: 1.65;
	color: var(--text);
	background: var(--white);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
.swp img { max-width: 100%; height: auto; display: block; }
.swp a { color: inherit; text-decoration: none; }
.swp h1, .swp h2, .swp h3, .swp h4 { font-family: var(--head); color: var(--ink); line-height: 1.05; margin: 0 0 .5em; text-transform: uppercase; letter-spacing: .01em; font-weight: 800; }
.swp p { margin: 0 0 1em; }
.swp ul, .swp ol { margin: 0; padding: 0; list-style: none; }
.swp-i { width: 1.25em; height: 1.25em; flex: none; }
.swp-wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 20px; }
.swp-narrow { max-width: 900px; }
.swp-center { text-align: center; margin-top: 36px; }
.swp-skip { position: absolute; left: -999px; top: 0; background: var(--red); color: #fff; padding: 10px 16px; z-index: 999; }
.swp-skip:focus { left: 10px; top: 10px; }
.screen-reader-text { position: absolute; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }
:focus-visible { outline: 2px solid var(--red); outline-offset: 2px; }

/* Buttons */
.swp-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	font-family: var(--head); font-weight: 700; font-size: 18px; letter-spacing: .06em; text-transform: uppercase;
	padding: 13px 26px; border-radius: 6px; border: 2px solid transparent; cursor: pointer; line-height: 1.1;
	transition: background .2s, color .2s, border-color .2s, transform .2s;
}
.swp-btn:hover { transform: translateY(-2px); }
.swp-btn--red { background: var(--red); color: #fff !important; }
.swp-btn--red:hover { background: var(--red-d); }
.swp-btn--dark { background: var(--ink); color: #fff !important; }
.swp-btn--dark:hover { background: var(--red); }
.swp-btn--white { background: #fff; color: var(--red) !important; }
.swp-btn--white:hover { background: var(--ink); color: #fff !important; }
.swp-btn--ghost { border-color: rgba(255,255,255,.6); color: #fff !important; background: transparent; }
.swp-btn--ghost:hover { background: #fff; color: var(--ink) !important; border-color: #fff; }
.swp-btn--lg { padding: 16px 32px; font-size: 20px; }
.swp-btn--sm { padding: 9px 18px; font-size: 16px; }
.swp-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--red) !important; }
.swp-link:hover { gap: 10px; }
.swp-link--light { color: #fff !important; }
.swp-eyebrow { font-family: var(--head); font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--red); font-size: 17px; margin: 0 0 10px; }
.swp-eyebrow--light { color: #ff5a60; }

/* Top bar */
.swp-top { background: var(--ink); color: #d9d9d9; font-size: 13px; }
.swp-top__in { display: flex; justify-content: space-between; align-items: center; min-height: 38px; gap: 16px; }
.swp-top__item { display: inline-flex; align-items: center; gap: 7px; }
.swp-top__item .swp-i { color: var(--red); width: 1.1em; height: 1.1em; }
.swp-top__right { display: flex; gap: 22px; }
.swp-top a:hover { color: #fff; }

/* Header */
.swp-header { position: sticky; top: 0; z-index: 90; background: #fff; border-bottom: 1px solid var(--line); transition: box-shadow .25s; }
.swp-header.is-stuck { box-shadow: 0 6px 24px rgba(0,0,0,.1); }
.admin-bar .swp-header { top: 32px; }
.swp-header__in { display: flex; align-items: center; gap: 24px; min-height: 76px; }
.swp-logo { display: flex; flex-direction: column; line-height: 1; margin-right: auto; }
.swp-logo__mark { font-family: var(--head); font-weight: 800; font-size: 36px; letter-spacing: .04em; color: var(--ink); text-transform: uppercase; }
.swp-logo__mark b { color: var(--red); font-weight: 800; }
.swp-logo__sub { font-family: var(--head); font-size: 13px; letter-spacing: .5em; text-transform: uppercase; color: var(--muted); margin-top: 2px; }
.swp-logo--light .swp-logo__mark { color: #fff; }
.swp-logo--light .swp-logo__sub { color: #aaa; }
.swp-logo img { max-height: 54px; width: auto; }
.swp-nav { display: flex; align-items: center; gap: 28px; }
.swp-menu { display: flex; gap: 6px; align-items: center; }
.swp-menu > li { position: relative; }
.swp-menu a { display: block; padding: 10px 14px; font-weight: 600; font-size: 15px; color: var(--ink); border-radius: 6px; position: relative; }
.swp-menu a::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 4px; height: 2px; background: var(--red); transform: scaleX(0); transform-origin: left; transition: transform .25s; }
.swp-menu a:hover, .swp-menu .current-menu-item > a { color: var(--red); }
.swp-menu a:hover::after, .swp-menu .current-menu-item > a::after { transform: scaleX(1); }
.swp-menu .sub-menu { position: absolute; left: 0; top: 100%; min-width: 220px; background: #fff; box-shadow: var(--shadow); border-top: 3px solid var(--red); padding: 8px; opacity: 0; visibility: hidden; transform: translateY(8px); transition: .2s; }
.swp-menu li:hover > .sub-menu, .swp-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.swp-nav__cta { display: none; }
.swp-burger { display: none; background: none; border: 0; color: var(--ink); padding: 8px; cursor: pointer; }
.swp-burger .swp-i { width: 28px; height: 28px; }
.swp-burger__close { display: none; }
.swp-burger[aria-expanded="true"] .swp-burger__open { display: none; }
.swp-burger[aria-expanded="true"] .swp-burger__close { display: block; }

/* Hero */
.swp-hero { background: radial-gradient(1200px 600px at 80% 30%, #3a0b0e 0%, rgba(17,17,17,0) 60%), linear-gradient(135deg, #0c0c0c 0%, #1a1a1a 100%); color: #fff; overflow: hidden; position: relative; }
.swp-hero::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(115deg, rgba(215,25,32,.0) 0 60px, rgba(215,25,32,.06) 60px 62px); pointer-events: none; }
.swp-hero__in { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: 30px; padding-top: 70px; padding-bottom: 70px; min-height: 620px; position: relative; }
.swp-hero h1 { color: #fff; font-size: clamp(46px, 7vw, 92px); line-height: .95; margin-bottom: 22px; }
.swp-hero__text { font-size: 19px; color: #d6d6d6; max-width: 540px; margin-bottom: 30px; }
.swp-hero__btns { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 28px; }
.swp-hero__ticks { display: flex; flex-wrap: wrap; gap: 8px 24px; color: #e8e8e8; font-weight: 500; font-size: 15px; }
.swp-hero__ticks li { display: inline-flex; align-items: center; gap: 8px; }
.swp-hero__ticks .swp-i { color: var(--red); background: #fff; border-radius: 50%; padding: 3px; width: 22px; height: 22px; }
.swp-hero__art { position: relative; height: 520px; }
.swp-hero__img { position: absolute; filter: drop-shadow(0 24px 30px rgba(0,0,0,.55)); }
.swp-hero__img--a { width: 52%; left: 0; top: 4%; z-index: 2; animation: swpFloat 7s ease-in-out infinite; }
.swp-hero__img--b { width: 58%; right: 0; top: 28%; z-index: 3; animation: swpFloat 8s ease-in-out -2s infinite; }
.swp-hero__img--c { width: 40%; right: 6%; top: -4%; z-index: 1; animation: swpFloat 9s ease-in-out -4s infinite; }
@keyframes swpFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }

/* Facts strip */
.swp-facts { background: var(--red); color: #fff; }
.swp-facts__in { display: grid; grid-template-columns: repeat(4, 1fr); }
.swp-fact { display: flex; align-items: center; gap: 14px; padding: 22px 18px; border-right: 1px solid rgba(255,255,255,.25); }
.swp-fact:last-child { border-right: 0; }
.swp-fact .swp-i { width: 34px; height: 34px; opacity: .95; }
.swp-fact strong { display: block; font-family: var(--head); font-size: 24px; text-transform: uppercase; line-height: 1.1; letter-spacing: .02em; }
.swp-fact span { font-size: 13px; opacity: .9; }

/* Sections */
.swp-sec { padding: 90px 0; }
.swp-sec--tight { padding: 50px 0; }
.swp-sec--grey { background: var(--grey); }
.swp-sec--dark { background: var(--ink); color: #cfcfcf; }
.swp-head { max-width: 760px; margin: 0 auto 48px; text-align: center; }
.swp-head p { color: var(--muted); font-size: 17px; }
.swp-head--light p { color: #bdbdbd; }
.swp-h2 { font-size: clamp(34px, 4.6vw, 56px); }
.swp-h2--light, .swp-sec--dark .swp-h2 { color: #fff; }
.swp-sec--dark h3 { color: #fff; }

/* Split */
.swp-split { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.swp-split__media { position: relative; background: var(--grey); border-radius: 16px; padding: 36px; }
.swp-sec--grey .swp-split__media { background: #fff; }
.swp-split__media--dark { background: #1f1f1f; }
.swp-split__media img { margin: 0 auto; max-height: 520px; width: auto; filter: drop-shadow(0 18px 24px rgba(0,0,0,.25)); }
.swp-badge { position: absolute; left: 20px; bottom: 20px; background: var(--red); color: #fff; padding: 14px 20px; border-radius: 8px; box-shadow: var(--shadow); }
.swp-badge strong { display: block; font-family: var(--head); font-size: 28px; text-transform: uppercase; line-height: 1; }
.swp-badge span { font-size: 12px; opacity: .92; }
.swp-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 24px; margin: 28px 0; }
.swp-benefits li { display: flex; gap: 12px; align-items: flex-start; }
.swp-benefits .swp-i { color: var(--red); width: 30px; height: 30px; margin-top: 2px; }
.swp-benefits strong { display: block; color: var(--ink); font-size: 16px; }
.swp-benefits span { font-size: 14px; color: var(--muted); line-height: 1.5; display: block; }

/* Paths */
.swp-paths { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.swp-path { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 10px; background: var(--ink); color: #cfcfcf; border-radius: 16px; padding: 34px; overflow: hidden; min-height: 340px; transition: transform .3s, box-shadow .3s; }
.swp-path:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.swp-path--red { background: var(--red); color: #ffe5e6; }
.swp-path h3 { color: #fff; font-size: 38px; }
.swp-path p { font-size: 15px; }
.swp-path img { max-height: 280px; width: auto; margin: 0 auto; filter: drop-shadow(0 16px 20px rgba(0,0,0,.4)); transition: transform .4s; }
.swp-path:hover img { transform: scale(1.06) rotate(-2deg); }
.swp-path__tag { display: inline-block; font-size: 12px; text-transform: uppercase; letter-spacing: .1em; font-weight: 600; background: rgba(255,255,255,.14); padding: 4px 10px; border-radius: 40px; margin-bottom: 12px; }
.swp-path > div { order: -1; }

/* Categories */
.swp-cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.swp-cat { position: relative; border-radius: 14px; overflow: hidden; background: var(--ink); aspect-ratio: 4 / 3.3; display: block; }
.swp-cat img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.swp-cat:hover img { transform: scale(1.08); }
.swp-cat::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.82) 0%, rgba(0,0,0,0) 55%); }
.swp-cat__body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; display: flex; align-items: flex-end; justify-content: space-between; padding: 18px; gap: 10px; }
.swp-cat h3 { color: #fff; font-size: 26px; margin: 0; }
.swp-cat__go { background: var(--red); color: #fff; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; flex: none; transition: transform .25s; }
.swp-cat:hover .swp-cat__go { transform: translateX(4px); }

/* Techniques */
.swp-techs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.swp-tech { background: #1d1d1d; border: 1px solid #2c2c2c; border-radius: 12px; padding: 26px 22px; transition: border-color .25s, transform .25s; position: relative; overflow: hidden; }
.swp-tech::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 3px; background: var(--red); transform: scaleX(0); transform-origin: left; transition: transform .35s; }
.swp-tech:hover { border-color: var(--red); transform: translateY(-4px); }
.swp-tech:hover::before { transform: scaleX(1); }
.swp-tech__tag { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #ff6a70; margin-bottom: 10px; }
.swp-tech h3 { font-size: 24px; margin-bottom: 8px; }
.swp-tech p { font-size: 14px; color: #a9a9a9; margin: 0; }
.swp-tech--light { background: #fff; border-color: var(--line); }
.swp-tech--light h3 { color: var(--ink); }
.swp-tech--light p { color: var(--muted); }
.swp-tech--light .swp-tech__tag { color: var(--red); }
.swp-tech--light .swp-link { margin-top: 14px; font-size: 14px; }
.swp-tech.is-hidden { display: none; }
.swp-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 36px; }
.swp-filter button { font-family: var(--head); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: 17px; padding: 10px 24px; border: 2px solid var(--ink); background: #fff; color: var(--ink); border-radius: 40px; cursor: pointer; transition: .2s; }
.swp-filter button:hover, .swp-filter button.is-on { background: var(--red); border-color: var(--red); color: #fff; }

/* Steps */
.swp-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; counter-reset: s; position: relative; }
.swp-step { position: relative; padding: 30px 24px; background: #fff; border: 1px solid var(--line); border-radius: 14px; transition: transform .3s, box-shadow .3s; }
.swp-step:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.swp-step__n { font-family: var(--head); font-weight: 800; font-size: 64px; line-height: 1; color: var(--red); display: block; margin-bottom: 10px; }
.swp-step h3 { font-size: 26px; }
.swp-step p { font-size: 15px; color: var(--muted); margin: 0; }

/* Scope */
.swp-scope { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.swp-scope__card { background: #fff; border-radius: 14px; padding: 28px 24px; border-bottom: 4px solid var(--red); }
.swp-scope__card > .swp-i { width: 38px; height: 38px; color: var(--red); margin-bottom: 14px; }
.swp-scope__card h3 { font-size: 26px; }
.swp-scope__card li { position: relative; padding-left: 20px; font-size: 14.5px; color: var(--text); margin-bottom: 8px; }
.swp-scope__card li::before { content: ""; position: absolute; left: 0; top: 9px; width: 8px; height: 8px; background: var(--red); border-radius: 2px; transform: rotate(45deg); }

/* Logos and reviews */
.swp-logos { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 24px 50px; margin-top: 20px; }
.swp-logos img { max-height: 54px; width: auto; filter: grayscale(1); opacity: .7; transition: .25s; }
.swp-logos img:hover { filter: none; opacity: 1; }
.swp-reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.swp-review { margin: 0; background: var(--grey); border-radius: 14px; padding: 30px 26px; border-top: 4px solid var(--red); }
.swp-review p { font-size: 16px; font-style: italic; color: var(--ink); }
.swp-review footer strong { color: var(--ink); }
.swp-review footer span { color: var(--muted); font-size: 14px; display: block; }

/* FAQ */
.swp-faq__item { border: 1px solid var(--line); border-radius: 10px; background: #fff; margin-bottom: 12px; overflow: hidden; }
.swp-faq__item summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; font-weight: 600; color: var(--ink); }
.swp-faq__item summary::-webkit-details-marker { display: none; }
.swp-faq__item summary .swp-i { color: var(--red); transition: transform .25s; }
.swp-faq__item[open] summary .swp-i { transform: rotate(45deg); }
.swp-faq__item[open] { border-color: var(--red); }
.swp-faq__item p { padding: 0 22px 20px; margin: 0; color: var(--muted); }

/* Posts */
.swp-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.swp-post { background: #fff; border-radius: 14px; overflow: hidden; border: 1px solid var(--line); display: flex; flex-direction: column; transition: transform .3s, box-shadow .3s; }
.swp-post:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.swp-post__img { aspect-ratio: 3 / 2; background: var(--grey); display: block; overflow: hidden; }
.swp-post__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.swp-post:hover .swp-post__img img { transform: scale(1.06); }
.swp-post__ph { display: grid; place-items: center; height: 100%; color: #bbb; }
.swp-post__ph .swp-i { width: 48px; height: 48px; }
.swp-post__body { padding: 22px; display: flex; flex-direction: column; flex: 1; }
.swp-post__date { font-size: 13px; color: var(--muted); margin-bottom: 6px; }
.swp-post h3 { font-size: 26px; text-transform: none; font-family: var(--head); }
.swp-post h3 a:hover { color: var(--red); }
.swp-post p { font-size: 15px; color: var(--muted); flex: 1; }
.swp-pager { margin-top: 40px; text-align: center; }
.swp-pager .page-numbers { display: inline-block; padding: 8px 14px; margin: 0 3px; border: 1px solid var(--line); border-radius: 6px; font-weight: 600; }
.swp-pager .current, .swp-pager .page-numbers:hover { background: var(--red); border-color: var(--red); color: #fff; }

/* CTA band */
.swp-cta { background: var(--red); color: #fff; position: relative; overflow: hidden; }
.swp-cta::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(115deg, rgba(0,0,0,0) 0 50px, rgba(0,0,0,.07) 50px 52px); }
.swp-cta__in { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-top: 60px; padding-bottom: 60px; position: relative; }
.swp-cta h2 { color: #fff; font-size: clamp(32px, 4vw, 50px); margin-bottom: 8px; }
.swp-cta p { margin: 0; max-width: 560px; color: #ffe0e1; }
.swp-cta__btns { display: flex; gap: 12px; flex-wrap: wrap; }

/* Page head */
.swp-pagehead { background: linear-gradient(135deg, #0c0c0c, #1f1f1f); color: #fff; padding: 64px 0 56px; position: relative; overflow: hidden; }
.swp-pagehead::after { content: ""; position: absolute; right: -80px; top: 0; bottom: 0; width: 360px; background: var(--red); transform: skewX(-18deg); opacity: .9; }
.swp-pagehead .swp-wrap { position: relative; z-index: 2; }
.swp-pagehead h1 { color: #fff; font-size: clamp(38px, 5.4vw, 68px); margin-bottom: 10px; max-width: 800px; }
.swp-pagehead__sub { color: #cfcfcf; max-width: 680px; font-size: 18px; margin: 0; }
.swp-crumbs { font-size: 13px; color: #aaa; margin-bottom: 16px; display: flex; gap: 8px; }
.swp-crumbs a:hover { color: #fff; }

/* Expertise rows */
.swp-exp { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; margin-bottom: 70px; }
.swp-exp--flip .swp-exp__img { order: 2; }
.swp-exp__img { border-radius: 16px; overflow: hidden; display: block; aspect-ratio: 5 / 3.3; background: var(--ink); }
.swp-exp__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.swp-exp__img:hover img { transform: scale(1.06); }
.swp-exp__n { font-family: var(--head); font-weight: 800; font-size: 20px; color: var(--red); letter-spacing: .2em; }
.swp-exp h2 { font-size: clamp(32px, 4vw, 48px); }
.swp-ticks li { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-weight: 500; }
.swp-ticks .swp-i { color: var(--red); width: 20px; height: 20px; }
.swp-ticks--light li { color: #e5e5e5; }
.swp-exp__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.swp-custom { display: flex; align-items: center; justify-content: space-between; gap: 24px; background: var(--ink); color: #cfcfcf; border-radius: 16px; padding: 38px 40px; }
.swp-custom h3 { color: #fff; font-size: 34px; }
.swp-custom p { margin: 0; }

/* Pillars */
.swp-grid4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.swp-pillar { display: block; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 28px 24px; transition: transform .3s, box-shadow .3s, border-color .3s; }
.swp-sec--grey .swp-pillar { border-color: transparent; }
a.swp-pillar:hover, .swp-pillar:hover { transform: translateY(-5px); box-shadow: var(--shadow); border-color: var(--red); }
.swp-pillar > .swp-i { width: 40px; height: 40px; color: var(--red); margin-bottom: 14px; }
.swp-pillar h3 { font-size: 26px; }
.swp-pillar p { font-size: 15px; color: var(--muted); margin: 0; }

/* Forms */
.swp-quote { display: grid; grid-template-columns: 1.6fr 1fr; gap: 40px; align-items: start; }
.swp-quote__form, .swp-formcard { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 34px; box-shadow: 0 10px 30px rgba(0,0,0,.05); }
.swp-quote__side { background: var(--ink); color: #cfcfcf; border-radius: 16px; padding: 32px; position: sticky; top: 110px; }
.swp-quote__side h3 { color: #fff; font-size: 30px; }
.swp-quote__side ol { counter-reset: q; margin-bottom: 24px; }
.swp-quote__side li { counter-increment: q; position: relative; padding-left: 40px; margin-bottom: 14px; }
.swp-quote__side ol li::before { content: counter(q); position: absolute; left: 0; top: 0; width: 28px; height: 28px; border-radius: 50%; background: var(--red); color: #fff; display: grid; place-items: center; font-family: var(--head); font-weight: 700; }
.swp-quote__side strong { color: #fff; }
.swp-quote__contact { display: grid; gap: 10px; margin: 22px 0; padding: 18px 0; border-top: 1px solid #333; border-bottom: 1px solid #333; }
.swp-quote__contact a { display: flex; align-items: center; gap: 10px; color: #fff; font-weight: 500; }
.swp-quote__contact a:hover { color: #ff6a70; }
.swp-quote__side .swp-ticks li { padding-left: 0; }
.swp-quote__side .swp-ticks li::before { display: none; }
.swp-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
.swp-form label { display: block; font-weight: 600; font-size: 14px; color: var(--ink); }
.swp-form input[type="text"], .swp-form input[type="email"], .swp-form input[type="tel"], .swp-form select, .swp-form textarea {
	display: block; width: 100%; margin-top: 6px; padding: 13px 14px; font: inherit; font-weight: 400; color: var(--ink);
	border: 1.5px solid #d6d6d6; border-radius: 8px; background: #fff; transition: border-color .2s, box-shadow .2s;
}
.swp-form input:focus, .swp-form select:focus, .swp-form textarea:focus { outline: 0; border-color: var(--red); box-shadow: 0 0 0 3px rgba(215,25,32,.15); }
.swp-form__full { margin-bottom: 18px; }
.swp-checks { border: 0; padding: 0; margin: 0 0 18px; display: flex; flex-wrap: wrap; gap: 8px 22px; }
.swp-checks legend { font-weight: 600; font-size: 14px; color: var(--ink); margin-bottom: 8px; padding: 0; }
.swp-checks label { font-weight: 500; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.swp-checks input { accent-color: var(--red); width: 18px; height: 18px; }
.swp-file__box { display: flex; align-items: center; gap: 12px; margin-top: 6px; padding: 14px; border: 2px dashed #cfcfcf; border-radius: 8px; background: var(--grey); font-weight: 400; }
.swp-file__box .swp-i { color: var(--red); }
.swp-file__box em { font-size: 12.5px; color: var(--muted); font-style: normal; }
.swp-hp { position: absolute; left: -9999px; }
.swp-alert { padding: 16px 20px; border-radius: 10px; margin-bottom: 22px; }
.swp-alert--ok { background: #eaf7ee; border: 1px solid #98d3a8; color: #145a2a; }
.swp-alert--err { background: #fdecec; border: 1px solid #f0a3a6; color: #8a1217; }
.swp-search { display: flex; gap: 8px; }
.swp-search input { flex: 1; padding: 10px 14px; border: 1.5px solid #d6d6d6; border-radius: 8px; font: inherit; }

/* Content (WP editor output) */
.swp-content { font-size: 17px; }
.swp-content h2, .swp-content h3 { text-transform: none; margin-top: 1.6em; }
.swp-content a { color: var(--red); text-decoration: underline; }
.swp-content ul { list-style: disc; padding-left: 22px; margin-bottom: 1em; }
.swp-content ol { list-style: decimal; padding-left: 22px; margin-bottom: 1em; }
.swp-content img { border-radius: 10px; margin: 1.2em 0; }
.swp-single__img { margin-bottom: 30px; border-radius: 14px; overflow: hidden; }
.swp-single__nav { display: flex; justify-content: space-between; gap: 20px; margin-top: 50px; padding-top: 24px; border-top: 1px solid var(--line); font-weight: 600; }
.swp-single__nav a:hover { color: var(--red); }

/* 404 */
.swp-404 { text-align: center; padding: 110px 0; }
.swp-404__n { font-family: var(--head); font-weight: 800; font-size: clamp(120px, 22vw, 260px); line-height: .9; color: var(--red); display: block; }
.swp-404 h1 { font-size: 46px; }

/* Footer */
.swp-footer { background: var(--ink); color: #b9b9b9; }
.swp-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 40px; padding-top: 70px; padding-bottom: 50px; }
.swp-footer h3 { color: #fff; font-size: 22px; letter-spacing: .08em; margin-bottom: 18px; }
.swp-footer li { margin-bottom: 9px; font-size: 14.5px; }
.swp-footer a:hover { color: var(--red); }
.swp-footer__brand p { margin: 18px 0; font-size: 14.5px; }
.swp-footer__contact li { display: flex; gap: 10px; align-items: flex-start; }
.swp-footer__contact .swp-i { color: var(--red); margin-top: 3px; width: 1.1em; height: 1.1em; }
.swp-footer__quote .swp-btn { margin: 0 10px 10px 0; }
.swp-footer__bar { border-top: 1px solid #2b2b2b; font-size: 13px; }
.swp-footer__bar-in { display: flex; justify-content: space-between; gap: 16px; padding-top: 20px; padding-bottom: 20px; flex-wrap: wrap; }
.swp-footer__social { display: flex; gap: 18px; }

/* WhatsApp float */
.swp-wa { position: fixed; right: 18px; bottom: 18px; z-index: 80; width: 56px; height: 56px; border-radius: 50%; background: #25d366; color: #fff; display: grid; place-items: center; box-shadow: 0 8px 24px rgba(0,0,0,.3); transition: transform .25s; }
.swp-wa:hover { transform: scale(1.1); }
.swp-wa .swp-i { width: 30px; height: 30px; }

/* Reveal */
.swp-js .swp-reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s ease; }
.swp-js .swp-reveal.is-in { opacity: 1; transform: none; }

/* WooCommerce */
.swp-shop .woocommerce-products-header, .swp-shop .woocommerce-breadcrumb, .swp-shop .product_title, .swp-shop .woocommerce-ordering { display: none; }
.swp-shop ul.products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin: 0; padding: 0; }
.swp-shop ul.products::before, .swp-shop ul.products::after { display: none; }
.swp-shop ul.products li.product { float: none; width: auto; margin: 0; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 14px; text-align: center; display: flex; flex-direction: column; transition: transform .3s, box-shadow .3s; }
.swp-shop ul.products li.product:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.swp-shop ul.products li.product img { border-radius: 10px; margin-bottom: 12px; aspect-ratio: 1; object-fit: cover; width: 100%; }
.swp-shop ul.products li.product .woocommerce-loop-product__title { font-family: var(--head); font-size: 22px; text-transform: uppercase; color: var(--ink); padding: 0; flex: 1; }
.swp-shop ul.products li.product .swp-btn { margin-top: 12px; }
.swp-shop ul.products li.product .onsale, .swp-shop span.onsale { display: none; }
.swp-shop div.product { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start; }
.swp-shop div.product div.images, .swp-shop div.product div.summary { float: none; width: auto; margin: 0; }
.swp-shop div.product .woocommerce-tabs, .swp-shop div.product .related, .swp-shop div.product .up-sells { grid-column: 1 / -1; }
.swp-shop .woocommerce-tabs ul.tabs { display: flex; gap: 6px; padding: 0; margin: 0 0 20px; border-bottom: 2px solid var(--line); }
.swp-shop .woocommerce-tabs ul.tabs::before { display: none; }
.swp-shop .woocommerce-tabs ul.tabs li { border: 0; background: none; margin: 0; }
.swp-shop .woocommerce-tabs ul.tabs li a { font-family: var(--head); font-weight: 700; font-size: 20px; text-transform: uppercase; padding: 10px 18px; display: block; }
.swp-shop .woocommerce-tabs ul.tabs li.active a { color: var(--red); box-shadow: inset 0 -3px 0 var(--red); }
.swp-shop .related > h2 { font-size: 36px; }
.swp-pbox { margin-top: 24px; border: 1px solid var(--line); border-radius: 14px; padding: 24px; background: var(--grey); }
.swp-pbox__specs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 20px; }
.swp-pbox__specs li { background: #fff; padding: 12px 14px; border-radius: 8px; }
.swp-pbox__specs span { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.swp-pbox__specs strong { color: var(--ink); font-size: 15px; }
.swp-pbox__btns { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.swp-pbox__list li { display: flex; gap: 8px; align-items: center; font-size: 14.5px; margin-bottom: 6px; }
.swp-pbox__list .swp-i { color: var(--red); width: 18px; height: 18px; }

/* Responsive */
@media (max-width: 1100px) {
	.swp-cats, .swp-techs, .swp-grid4, .swp-scope, .swp-shop ul.products { grid-template-columns: repeat(2, 1fr); }
	.swp-steps { grid-template-columns: repeat(2, 1fr); }
	.swp-footer__grid { grid-template-columns: 1fr 1fr; }
	.swp-posts, .swp-reviews { grid-template-columns: repeat(2, 1fr); }
	.swp-hero__in { grid-template-columns: 1fr; padding-top: 50px; }
	.swp-hero__art { height: 440px; max-width: 560px; margin: 0 auto; width: 100%; }
	.swp-quote { grid-template-columns: 1fr; }
	.swp-quote__side { position: static; }
	.swp-path { grid-template-columns: 1fr; text-align: left; }
	.swp-path img { max-height: 220px; }
	.swp-path > div { order: 0; }
}
@media (max-width: 900px) {
	.swp-header__cta { display: none; }
	.swp-burger { display: block; }
	.swp-nav { position: fixed; left: 0; right: 0; top: 0; bottom: 0; background: #fff; flex-direction: column; align-items: stretch; justify-content: flex-start; padding: 110px 24px 30px; gap: 20px; transform: translateX(100%); transition: transform .3s; overflow-y: auto; z-index: 95; visibility: hidden; }
	.swp-nav.is-open { transform: none; visibility: visible; }
	.swp-menu { flex-direction: column; align-items: stretch; gap: 0; }
	.swp-menu a { font-family: var(--head); font-size: 30px; text-transform: uppercase; padding: 14px 0; border-bottom: 1px solid var(--line); }
	.swp-menu a::after { display: none; }
	.swp-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding-left: 14px; }
	.swp-nav__cta { display: inline-flex; }
	.swp-burger { position: relative; z-index: 99; }
	.swp-split, .swp-exp, .swp-paths { grid-template-columns: 1fr; gap: 30px; }
	.swp-exp--flip .swp-exp__img { order: 0; }
	.swp-facts__in { grid-template-columns: 1fr 1fr; }
	.swp-fact:nth-child(2) { border-right: 0; }
	.swp-fact { border-bottom: 1px solid rgba(255,255,255,.25); }
	.swp-sec { padding: 64px 0; }
	.swp-cta__in, .swp-custom { flex-direction: column; align-items: flex-start; }
	.swp-shop div.product { grid-template-columns: 1fr; gap: 24px; }
	.swp-top__mail { display: none; }
}
@media (max-width: 600px) {
	.swp-cats { grid-template-columns: 1fr 1fr; gap: 12px; }
	.swp-cat h3 { font-size: 20px; }
	.swp-cat__go { display: none; }
	.swp-techs, .swp-scope, .swp-grid4, .swp-steps, .swp-posts, .swp-reviews, .swp-benefits, .swp-footer__grid, .swp-form__grid { grid-template-columns: 1fr; }
	.swp-shop ul.products { grid-template-columns: 1fr 1fr; gap: 12px; }
	.swp-hero__in { min-height: 0; padding-top: 40px; padding-bottom: 30px; }
	.swp-hero__art { height: 320px; }
	.swp-hero__text { font-size: 17px; }
	.swp-hero__btns .swp-btn { flex: 1 1 100%; }
	.swp-top__right { gap: 12px; }
	.swp-top__in > .swp-top__item { display: none; }
	.swp-top__in { justify-content: center; }
	.swp-quote__form, .swp-formcard { padding: 22px; }
	.swp-pagehead::after { width: 140px; right: -60px; }
	.swp-pbox__specs { grid-template-columns: 1fr; }
	.swp-logo__mark { font-size: 30px; }
	.swp-path { padding: 24px; }
	.swp-path h3 { font-size: 32px; }
	.swp-split__media { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
	.swp-js .swp-reveal { opacity: 1; transform: none; }
}

/* Fixes */
.swp-quote > *, .swp-split > *, .swp-exp > *, .swp-paths > *, .swp-form__grid > * { min-width: 0; }
.swp-file__box { flex-wrap: wrap; }
.swp-file__box input[type="file"] { max-width: 100%; font-size: 14px; }
.swp-hero__art { height: 560px; }
.swp-hero__img--a { width: 56%; }
.swp-hero__img--b { width: 62%; top: 30%; }
.swp-hero__img--c { width: 42%; right: 8%; }
@media (max-width: 1100px) { .swp-hero__art { height: 460px; } }
@media (max-width: 600px) { .swp-hero__art { height: 330px; } }
.swp p.swp-center { margin-top: 40px; margin-bottom: 0; }
.swp .swp-head p.swp-eyebrow { color: var(--red); font-size: 17px; margin-bottom: 10px; }
.swp .swp-head--light p.swp-eyebrow, .swp .swp-eyebrow--light { color: #ff5a60; }
.swp .swp-eyebrow { margin: 0 0 10px; }
.swp p.swp-eyebrow.swp-center { margin-top: 0; }
.swp a.swp-path { color: #cfcfcf; }
.swp a.swp-path--red { color: #ffe5e6; }
.swp a.swp-path .swp-link--light { color: #fff; }
@media (max-width: 600px) {
	.swp-fact { padding: 16px 12px; gap: 10px; flex-direction: column; align-items: flex-start; }
	.swp-fact .swp-i { width: 26px; height: 26px; }
	.swp-fact strong { font-size: 19px; }
	.swp-fact span { font-size: 12px; }
}
@media (max-width: 600px) { .swp-pagehead::after { width: 60px; right: -30px; } .swp-pagehead__sub { font-size: 16px; } }
/* Hide the enquiry plugin floating cart (quote form is used instead) */
#pi-eqw-cart, #pi-eqw-mini-cart { display: none !important; }
.swp-shop h1.page-title, .swp-shop .term-description { display: none; }
.swp-shop div.product .product_title + .woocommerce-product-details__short-description, .swp-shop .woocommerce-product-details__short-description { font-size: 16px; color: var(--muted); }

/* ============ v2.1: Glass header, curves and light 3D ============ */
:root {
	--r: 20px;
	--r-lg: 28px;
	--sh-1: 0 1px 2px rgba(17,17,17,.04), 0 4px 10px rgba(17,17,17,.05), 0 14px 30px rgba(17,17,17,.06);
	--sh-2: 0 2px 4px rgba(17,17,17,.05), 0 12px 24px rgba(17,17,17,.08), 0 30px 60px rgba(17,17,17,.10);
	--sh-red: 0 6px 16px rgba(215,25,32,.28), 0 18px 40px rgba(215,25,32,.22);
	--glass: rgba(255,255,255,.72);
	--glass-line: rgba(255,255,255,.55);
}

/* Glass header: floating pill */
.swp-header { position: sticky; top: 0; background: transparent; border-bottom: 0; padding: 12px 0; margin-bottom: -100px; z-index: 90; transition: padding .3s; pointer-events: none; }
.swp-header .swp-wrap { pointer-events: auto; }
.swp-header__in {
	min-height: 70px; padding: 0 14px 0 26px; border-radius: 22px;
	background: var(--glass);
	-webkit-backdrop-filter: blur(18px) saturate(180%); backdrop-filter: blur(18px) saturate(180%);
	border: 1px solid var(--glass-line);
	box-shadow: 0 1px 0 rgba(255,255,255,.8) inset, 0 10px 30px rgba(0,0,0,.12);
	max-width: calc(var(--wrap) - 40px);
	transition: background .3s, box-shadow .3s, min-height .3s;
}
.swp-header .swp-wrap.swp-header__in { width: calc(100% - 40px); }
.swp-header.is-stuck { padding: 8px 0; box-shadow: none; }
.swp-header.is-stuck .swp-header__in { background: rgba(255,255,255,.82); min-height: 62px; box-shadow: 0 1px 0 rgba(255,255,255,.9) inset, 0 14px 40px rgba(0,0,0,.16); }
.swp-menu a { border-radius: 12px; }
.swp-menu a:hover, .swp-menu .current-menu-item > a { background: rgba(215,25,32,.08); }
.swp-menu a::after { display: none; }
.admin-bar .swp-header { top: 32px; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.swp-header__in { background: rgba(255,255,255,.96); }
}

/* Push first section under the floating header */
.swp-hero__in { padding-top: 150px; }
.swp-pagehead { padding-top: 150px; }
.swp-404 { padding-top: 170px; }

/* Buttons: pill + soft 3D */
.swp-btn { border-radius: 999px; position: relative; }
.swp-btn--red { background: linear-gradient(180deg, #e8262d 0%, #c8141b 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.25), var(--sh-red); }
.swp-btn--red:hover { background: linear-gradient(180deg, #d71920 0%, #a8131a 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 10px 24px rgba(215,25,32,.35), 0 24px 50px rgba(215,25,32,.25); }
.swp-btn--dark { background: linear-gradient(180deg, #2a2a2a 0%, #0e0e0e 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 8px 20px rgba(0,0,0,.25); }
.swp-btn--white { box-shadow: 0 8px 22px rgba(0,0,0,.18); }
.swp-btn--ghost { -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); background: rgba(255,255,255,.06); }
.swp-btn:active { transform: translateY(1px) scale(.98); }

/* Hero: curved bottom and depth */
.swp-hero { border-radius: 0 0 56px 56px; }
.swp-hero__art { perspective: 1200px; }
.swp-hero__art::before { content: ""; position: absolute; left: 10%; right: 10%; bottom: 2%; height: 60px; background: radial-gradient(closest-side, rgba(215,25,32,.45), transparent); filter: blur(20px); }
.swp-hero__img { will-change: transform; }

/* Facts: floating glass-red card overlapping hero */
.swp-facts { background: transparent; margin-top: -48px; position: relative; z-index: 5; }
.swp-facts__in { background: linear-gradient(135deg, #e3242b 0%, #b5121a 100%); border-radius: var(--r-lg); box-shadow: inset 0 1px 0 rgba(255,255,255,.25), var(--sh-red), 0 30px 60px rgba(0,0,0,.18); overflow: hidden; padding: 0; width: calc(100% - 40px); }
.swp-fact .swp-i { background: rgba(255,255,255,.16); border-radius: 14px; padding: 7px; width: 44px; height: 44px; box-shadow: inset 0 1px 0 rgba(255,255,255,.3); }

/* Curved, floating sections */
.swp-sec--grey { border-radius: 56px; margin: 0 14px; }
.swp-sec--dark { border-radius: 56px; margin: 0 14px; background: radial-gradient(900px 400px at 85% 0%, rgba(215,25,32,.22), transparent 60%), linear-gradient(160deg, #151515, #0b0b0b); }
.swp-sec--grey + .swp-sec--grey, .swp-sec--dark + .swp-sec--grey { margin-top: 14px; }
.swp-pagehead { border-radius: 0 0 56px 56px; }
.swp-pagehead::after { border-radius: 0 0 56px 0; }
.swp-cta { border-radius: var(--r-lg); margin: 40px auto 60px; width: calc(100% - 40px); max-width: calc(var(--wrap) - 40px); background: linear-gradient(135deg, #e3242b 0%, #a8131a 100%); box-shadow: var(--sh-red), 0 40px 80px rgba(0,0,0,.15); }
.swp-cta .swp-wrap { padding-left: 44px; padding-right: 44px; }
.swp-footer { border-radius: 56px 56px 0 0; }

/* Cards: rounder, layered shadow, glossy edge */
.swp-cat, .swp-path, .swp-exp__img, .swp-split__media, .swp-custom, .swp-quote__side, .swp-quote__form, .swp-formcard { border-radius: var(--r-lg); }
.swp-step, .swp-scope__card, .swp-pillar, .swp-post, .swp-review, .swp-tech, .swp-pbox, .swp-faq__item { border-radius: var(--r); }
.swp-step, .swp-scope__card, .swp-pillar, .swp-post, .swp-tech--light, .swp-faq__item, .swp-quote__form, .swp-formcard, .swp-shop ul.products li.product {
	box-shadow: var(--sh-1); border-color: rgba(17,17,17,.06);
	background: linear-gradient(180deg, #ffffff 0%, #fbfbfb 100%);
}
.swp-step:hover, .swp-scope__card:hover, .swp-pillar:hover, .swp-post:hover, .swp-tech--light:hover, .swp-shop ul.products li.product:hover { box-shadow: var(--sh-2); }
.swp-cat, .swp-path, .swp-exp__img { box-shadow: var(--sh-2); }
.swp-split__media { background: linear-gradient(160deg, #ffffff 0%, #eeeeee 100%); box-shadow: inset 0 1px 0 #fff, var(--sh-2); }
.swp-sec--grey .swp-split__media { background: linear-gradient(160deg, #ffffff, #f3f3f3); }
.swp-split__media--dark { background: linear-gradient(160deg, #262626, #141414); }
.swp-tech { background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); border-color: rgba(255,255,255,.08); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.swp-badge { border-radius: 18px; box-shadow: var(--sh-red); }
.swp-cat__go { box-shadow: 0 6px 14px rgba(215,25,32,.45); }
.swp-path { box-shadow: inset 0 1px 0 rgba(255,255,255,.08), var(--sh-2); }
.swp-path--red { background: linear-gradient(145deg, #e3242b, #a8131a); }
.swp-path:not(.swp-path--red) { background: linear-gradient(145deg, #262626, #0e0e0e); }

/* 3D icon chips */
.swp-scope__card > .swp-i, .swp-pillar > .swp-i, .swp-benefits .swp-i {
	width: 54px; height: 54px; padding: 13px; border-radius: 16px; color: #fff;
	background: linear-gradient(145deg, #ef3a40 0%, #b5121a 100%);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.35), inset 0 -3px 6px rgba(0,0,0,.15), 0 8px 18px rgba(215,25,32,.3);
}
.swp-benefits .swp-i { width: 44px; height: 44px; padding: 10px; border-radius: 13px; margin-top: 0; }
.swp-step__n { background: linear-gradient(180deg, #ef3a40, #a8131a); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: none; }
.swp-scope__card { border-bottom: 0; }
.swp-scope__card::after { content: ""; display: block; height: 4px; border-radius: 4px; margin-top: 16px; background: linear-gradient(90deg, var(--red), rgba(215,25,32,0)); }

/* Forms: soft inset fields */
.swp-form input[type="text"], .swp-form input[type="email"], .swp-form input[type="tel"], .swp-form select, .swp-form textarea { border-radius: 14px; background: #fafafa; box-shadow: inset 0 1px 2px rgba(0,0,0,.06); border-color: #e2e2e2; }
.swp-file__box { border-radius: 14px; }
.swp-filter button { box-shadow: var(--sh-1); }
.swp-wa { box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 10px 26px rgba(37,211,102,.45); }

/* Tilt (JS adds .swp-tilt) */
.swp-tilt { transform-style: preserve-3d; will-change: transform; transition: transform .25s ease, box-shadow .3s; }
.swp-tilt:hover { transition: transform .08s linear, box-shadow .3s; }

@media (max-width: 900px) {
	.swp-header { padding: 8px 0; }
	.swp-header__in { padding: 0 8px 0 18px; border-radius: 18px; min-height: 62px; }
	.swp-hero__in, .swp-pagehead { padding-top: 120px; }
	.swp-sec--grey, .swp-sec--dark { border-radius: 36px; margin: 0 8px; }
	.swp-hero, .swp-pagehead { border-radius: 0 0 36px 36px; }
	.swp-footer { border-radius: 36px 36px 0 0; }
	.swp-cta .swp-wrap { padding-left: 26px; padding-right: 26px; }
	.swp-nav { border-radius: 0; }
	.swp-burger { border-radius: 12px; }
}
@media (max-width: 600px) {
	.swp-header .swp-wrap.swp-header__in { width: calc(100% - 20px); }
	.swp-facts__in { width: calc(100% - 20px); border-radius: 22px; }
	.swp-cta { width: calc(100% - 20px); }
	.swp-sec--grey, .swp-sec--dark { border-radius: 28px; margin: 0 6px; }
	.swp-hero, .swp-pagehead { border-radius: 0 0 28px 28px; }
	.swp-fact .swp-i { width: 38px; height: 38px; }
}
/* Glass via pseudo element so the fixed mobile menu is not trapped inside the header */
.swp-header__in, .swp-header.is-stuck .swp-header__in { background: none; -webkit-backdrop-filter: none; backdrop-filter: none; position: relative; isolation: isolate; }
.swp-header__in::before {
	content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit;
	background: var(--glass); -webkit-backdrop-filter: blur(18px) saturate(180%); backdrop-filter: blur(18px) saturate(180%);
	transition: background .3s;
}
.swp-header.is-stuck .swp-header__in::before { background: rgba(255,255,255,.84); }
.swp-header { margin-bottom: -94px; }
:root { --glass: rgba(255,255,255,.9); }
.swp-header__in { box-shadow: inset 0 1px 0 rgba(255,255,255,.95), inset 0 -1px 0 rgba(0,0,0,.04), 0 12px 34px rgba(0,0,0,.18); }
@media (max-width: 900px) { .swp-header { margin-bottom: -78px; } }

/* ============ v2.2: Products mega menu ============ */
.swp-menu > li.swp-has-mega { position: static; }
.swp-caret { display: inline-block; width: 7px; height: 7px; margin-left: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-3px) rotate(45deg); transition: transform .25s; }
.swp-has-mega:hover .swp-caret, .swp-has-mega.is-open .swp-caret { transform: translateY(1px) rotate(-135deg); }
.swp-has-mega > a { display: inline-flex !important; align-items: center; }
.swp-mega__toggle { display: none; }
.swp-mega {
	position: absolute; left: 0; right: 0; top: calc(100% + 12px);
	display: grid; grid-template-columns: 1fr 280px; gap: 22px;
	padding: 22px; border-radius: 24px;
	background: rgba(255,255,255,.97);
	-webkit-backdrop-filter: blur(20px) saturate(180%); backdrop-filter: blur(20px) saturate(180%);
	border: 1px solid rgba(255,255,255,.7);
	box-shadow: inset 0 1px 0 #fff, 0 24px 60px rgba(0,0,0,.22);
	opacity: 0; visibility: hidden; transform: translateY(10px) scale(.985); transform-origin: top center;
	transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s;
	z-index: 5;
}
.swp-mega::before { content: ""; position: absolute; left: 0; right: 0; top: -16px; height: 16px; }
.swp-has-mega:hover > .swp-mega, .swp-has-mega:focus-within > .swp-mega, .swp-has-mega.is-open > .swp-mega {
	opacity: 1; visibility: visible; transform: none; transition: opacity .22s ease, transform .22s ease, visibility 0s;
}
.swp-mega__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.swp .swp-mega__item { display: flex; flex-direction: column; gap: 8px; padding: 8px; border-radius: 16px; background: none; transition: background .2s, transform .2s, box-shadow .2s; }
.swp .swp-mega__item::after { display: none; }
.swp .swp-mega__item:hover { background: #fff; box-shadow: 0 10px 24px rgba(0,0,0,.10); transform: translateY(-3px); color: var(--ink); }
.swp-mega__img { display: block; aspect-ratio: 16 / 10; border-radius: 12px; overflow: hidden; background: var(--grey); }
.swp-mega__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.swp-mega__item:hover .swp-mega__img img { transform: scale(1.07); }
.swp-mega__txt strong { display: block; font-family: var(--head); font-size: 19px; text-transform: uppercase; color: var(--ink); line-height: 1.1; }
.swp-mega__item:hover .swp-mega__txt strong { color: var(--red); }
.swp-mega__txt em { display: block; font-style: normal; font-size: 12px; color: var(--muted); font-weight: 400; margin-top: 2px; }
.swp-mega__cta { border-radius: 18px; padding: 24px 22px; color: #cfcfcf; display: flex; flex-direction: column; gap: 10px;
	background: radial-gradient(260px 180px at 100% 0%, rgba(215,25,32,.45), transparent 70%), linear-gradient(160deg, #1d1d1d, #0b0b0b);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 14px 30px rgba(0,0,0,.25); }
.swp-mega__eyebrow { font-family: var(--head); letter-spacing: .16em; text-transform: uppercase; color: #ff5a60; font-size: 14px; font-weight: 700; }
.swp-mega__title { font-family: var(--head); font-size: 30px; text-transform: uppercase; color: #fff; line-height: 1; }
.swp-mega__cta p { font-size: 13.5px; margin: 0; line-height: 1.5; }
.swp-mega__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 4px 0 6px; }
.swp-mega__facts li { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 8px 10px; }
.swp-mega__facts span { display: block; font-size: 10.5px; text-transform: uppercase; letter-spacing: .1em; color: #9a9a9a; }
.swp-mega__facts b { color: #fff; font-size: 13px; font-weight: 600; line-height: 1.3; display: block; }
.swp-mega__cta .swp-btn { align-self: flex-start; }
.swp .swp-mega__all { display: inline-flex; align-items: center; gap: 6px; color: #fff !important; font-size: 13.5px; font-weight: 600; padding: 0; background: none; }
.swp .swp-mega__all:hover { color: #ff6a70 !important; background: none; }
.swp .swp-mega a.swp-btn, .swp .swp-mega a.swp-btn:hover { background: linear-gradient(180deg, #e8262d 0%, #c8141b 100%); color: #fff !important; padding: 10px 20px; }
@media (max-width: 1180px) and (min-width: 901px) {
	.swp-mega { grid-template-columns: 1fr 240px; }
	.swp-mega__grid { grid-template-columns: repeat(2, 1fr); }
	.swp-mega__item { flex-direction: row; align-items: center; }
	.swp-mega__img { width: 90px; flex: none; }
}

/* Mobile: accordion */
@media (max-width: 900px) {
	.swp-menu > li.swp-has-mega { position: relative; display: flex; flex-wrap: wrap; align-items: center; }
	.swp-has-mega > a { flex: 1; }
	.swp-has-mega > a .swp-caret { display: none; }
	.swp-mega__toggle { display: block; position: absolute; right: 0; top: 8px; width: 48px; height: 48px; border: 0; border-radius: 14px; background: var(--grey); cursor: pointer; }
	.swp-mega__toggle::before { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; border-right: 2.5px solid var(--ink); border-bottom: 2.5px solid var(--ink); transform: translate(-50%, -70%) rotate(45deg); transition: transform .25s; }
	.swp-has-mega.is-open .swp-mega__toggle::before { transform: translate(-50%, -30%) rotate(-135deg); }
	.swp-mega { position: static; width: 100%; display: none; opacity: 1; visibility: visible; transform: none; grid-template-columns: 1fr; padding: 10px 0 16px; background: none; border: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; border-radius: 0; }
	.swp-has-mega:hover > .swp-mega { display: none; }
	.swp-has-mega.is-open > .swp-mega { display: grid; }
	.swp-mega__grid { grid-template-columns: 1fr 1fr; gap: 8px; }
	.swp .swp-menu .swp-mega__item { flex-direction: column; padding: 6px; border-bottom: 0; font-family: var(--body); font-size: 14px; text-transform: none; }
	.swp-mega__txt strong { font-size: 16px; }
	.swp-mega__txt em { display: none; }
	.swp-mega__cta { display: none; }
}
@media (max-width: 900px) { .swp-menu a:hover, .swp-menu .current-menu-item > a { background: none; } }

/* ============ v2.3: Smooth scroll and scroll animations ============ */
html.swp-smooth { scroll-behavior: auto; height: auto; }
html.lenis-stopped { overflow: hidden; }
[data-lenis-prevent] { overscroll-behavior: contain; }

.swp-progress { position: fixed; left: 0; top: 0; height: 3px; width: 100%; z-index: 120; transform-origin: 0 50%; transform: scaleX(0); background: linear-gradient(90deg, #ff4d55, var(--red) 60%, #a8131a); box-shadow: 0 0 12px rgba(215,25,32,.6); pointer-events: none; }
.admin-bar .swp-progress { top: 32px; }

/* Masked word reveal for headings */
.swp-split-words .swp-w { display: inline-block; overflow: hidden; vertical-align: bottom; padding-bottom: .06em; margin-bottom: -.06em; }
.swp-split-words .swp-w > span { display: inline-block; transform: translateY(105%); transition: transform .9s cubic-bezier(.2,.75,.2,1); }
.swp-split-words.is-in .swp-w > span { transform: none; }
.swp-js .swp-reveal .swp-split-words, .swp-js .swp-head.swp-reveal { opacity: 1; transform: none; }

/* Image wipe */
.swp-wipe { clip-path: inset(12% 12% 12% 12% round 28px); transition: clip-path 1.2s cubic-bezier(.2,.75,.2,1), opacity .8s, transform .9s cubic-bezier(.2,.75,.2,1) !important; }
.swp-wipe.is-in { clip-path: inset(0 0 0 0 round 28px); }

/* Slide in from the sides */
.swp-js .swp-from-left { opacity: 0; transform: translateX(-60px); transition: opacity .9s ease, transform 1s cubic-bezier(.2,.75,.2,1); }
.swp-js .swp-from-right { opacity: 0; transform: translateX(60px); transition: opacity .9s ease, transform 1s cubic-bezier(.2,.75,.2,1); }
.swp-js .swp-from-left.is-in, .swp-js .swp-from-right.is-in { opacity: 1; transform: none; }
.swp-js .swp-wipe.swp-from-left:not(.is-in), .swp-js .swp-wipe.swp-from-right:not(.is-in) { opacity: 0; }

/* Cards pop in with a slight 3D tilt */
.swp-js .swp-pop { opacity: 0; transform: perspective(900px) translateY(40px) rotateX(10deg) scale(.96); transition: opacity .7s ease, transform .9s cubic-bezier(.2,.75,.2,1), box-shadow .3s; }
.swp-js .swp-pop.is-in { opacity: 1; transform: none; }
.swp-js .swp-pop.is-in.swp-tilt { transition: transform .25s ease, box-shadow .3s, opacity .7s; }

/* Eyebrows slide in */
.swp-js .swp-pagehead .swp-eyebrow, .swp-js .swp-hero .swp-eyebrow { opacity: 0; transform: translateX(-24px); transition: opacity .7s ease .1s, transform .8s cubic-bezier(.2,.75,.2,1) .1s; }
.swp-js .swp-pagehead .swp-eyebrow.is-in, .swp-js .swp-hero .swp-eyebrow.is-in { opacity: 1; transform: none; }

/* Hero layers */
.swp-hero__copy, .swp-hero__art { will-change: transform, opacity; }
.swp-cat img, .swp-exp__img img, .swp-split__media img, .swp-path img { will-change: translate; }

/* Marquee band */
.swp-marquee { overflow: hidden; background: var(--ink); color: #fff; padding: 20px 0; margin: 0 14px; border-radius: 999px; box-shadow: inset 0 1px 0 rgba(255,255,255,.06), var(--sh-2); transform: rotate(-1.2deg); }
.swp-marquee__track { display: flex; align-items: center; gap: 34px; white-space: nowrap; width: max-content; will-change: transform; }
.swp-marquee span { font-family: var(--head); font-weight: 800; font-size: clamp(26px, 3.4vw, 44px); text-transform: uppercase; letter-spacing: .02em; line-height: 1; }
.swp-marquee span:nth-of-type(even) { color: transparent; -webkit-text-stroke: 1.5px rgba(255,255,255,.75); }
.swp-marquee i { width: 14px; height: 14px; border-radius: 50%; background: var(--red); box-shadow: 0 0 14px rgba(215,25,32,.8); flex: none; }

/* Process line that fills on scroll */
.swp-steps { --swp-line: 0; }
.swp-steps::before { content: ""; position: absolute; left: 0; right: 0; top: -22px; height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--red), #ff5a60); transform-origin: 0 50%; transform: scaleX(var(--swp-line)); box-shadow: 0 0 14px rgba(215,25,32,.45); }
.swp-steps::after { content: ""; position: absolute; left: 0; right: 0; top: -22px; height: 4px; border-radius: 4px; background: rgba(17,17,17,.07); z-index: -1; }

@media (max-width: 900px) {
	.swp-marquee { margin: 0 8px; padding: 14px 0; }
	.swp-js .swp-from-left, .swp-js .swp-from-right { transform: translateY(40px); }
}
@media (prefers-reduced-motion: reduce) {
	.swp-progress, .swp-steps::before, .swp-steps::after { display: none; }
	.swp-wipe { clip-path: none; }
	.swp-js .swp-pop, .swp-js .swp-from-left, .swp-js .swp-from-right { opacity: 1; transform: none; }
}
.swp-marquee { margin: 10px 14px 70px; }
@media (max-width: 900px) { .swp-marquee { margin: 0 8px 46px; } }

/* ============ v2.5: Loading screen ============ */
.swp-loader { display: none; }
html.swp-loading, html.swp-loading body { overflow: hidden; }
html.swp-loading .swp-loader, .swp-loader.is-done { display: flex; }
.swp-loader {
	position: fixed; inset: 0; z-index: 9999; align-items: center; justify-content: center;
	background: #0b0b0b; color: #fff;
	border-radius: 0 0 0 0;
	transition: transform 1s cubic-bezier(.76,0,.24,1), border-radius 1s cubic-bezier(.76,0,.24,1);
}
.swp-loader::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(115deg, transparent 0 60px, rgba(215,25,32,.06) 60px 62px); }
.swp-loader__glow { position: absolute; width: 60vmax; height: 60vmax; border-radius: 50%; background: radial-gradient(closest-side, rgba(215,25,32,.35), transparent); filter: blur(10px); animation: swpGlow 3s ease-in-out infinite; }
@keyframes swpGlow { 0%,100% { transform: scale(.9); opacity: .7; } 50% { transform: scale(1.05); opacity: 1; } }
.swp-loader__in { position: relative; width: min(520px, 82vw); text-align: center; transition: opacity .5s ease, transform .6s ease; }
.swp-loader__logo { font-family: var(--head); font-weight: 800; font-size: clamp(56px, 12vw, 112px); line-height: .9; letter-spacing: .04em; display: flex; justify-content: center; overflow: hidden; }
.swp-loader__logo span, .swp-loader__logo b { display: inline-block; transform: translateY(110%); animation: swpRise .9s cubic-bezier(.2,.75,.2,1) forwards; }
.swp-loader__logo b { color: var(--red); font-weight: 800; animation-delay: .12s; }
@keyframes swpRise { to { transform: none; } }
.swp-loader__sub { font-family: var(--head); font-size: clamp(13px, 2vw, 17px); letter-spacing: .7em; text-transform: uppercase; color: #9b9b9b; margin: 10px 0 34px; padding-left: .7em; opacity: 0; animation: swpFade .8s ease .45s forwards; }
@keyframes swpFade { to { opacity: 1; } }
.swp-loader__bar { height: 4px; border-radius: 4px; background: rgba(255,255,255,.1); overflow: hidden; }
.swp-loader__bar i { display: block; height: 100%; width: 100%; transform-origin: 0 50%; transform: scaleX(0); background: linear-gradient(90deg, #ff4d55, var(--red) 60%, #a8131a); box-shadow: 0 0 14px rgba(215,25,32,.7); border-radius: 4px; }
.swp-loader__meta { display: flex; justify-content: space-between; align-items: baseline; margin-top: 12px; font-size: 12px; color: #8a8a8a; letter-spacing: .04em; }
.swp-loader__meta strong { font-family: var(--head); font-size: 26px; color: #fff; font-weight: 700; min-width: 3ch; text-align: right; }
.swp-loader.is-done { transform: translateY(-100%); border-radius: 0 0 50% 50% / 0 0 18vh 18vh; pointer-events: none; }
.swp-loader.is-done .swp-loader__in { opacity: 0; transform: translateY(-40px); }
@media (max-width: 600px) { .swp-loader__meta span { display: none; } .swp-loader__meta { justify-content: center; } }

/* ============ v2.6: Counters, statement, showcase ============ */
.swp-counters { padding: 20px 0 90px; }
.swp-counters__in { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.swp-counter { position: relative; text-align: center; padding: 30px 18px 26px; border-radius: var(--r-lg); background: linear-gradient(180deg, #fff, #f7f7f7); box-shadow: var(--sh-1); overflow: hidden; }
.swp-counter__ring { position: absolute; left: 50%; top: 18px; width: 120px; height: 120px; transform: translateX(-50%) rotate(-90deg); }
.swp-counter__ring circle { fill: none; stroke: rgba(17,17,17,.06); stroke-width: 6; }
.swp-counter__ring .swp-counter__arc { stroke: var(--red); stroke-linecap: round; stroke-dasharray: 327; stroke-dashoffset: 327; transition: stroke-dashoffset 1.8s cubic-bezier(.2,.75,.2,1); filter: drop-shadow(0 0 6px rgba(215,25,32,.4)); }
.swp-counter.is-counted .swp-counter__arc { stroke-dashoffset: 82; }
.swp-counter__num { position: relative; height: 120px; display: flex; align-items: center; justify-content: center; font-family: var(--head); font-weight: 800; font-size: 54px; color: var(--ink); line-height: 1; margin-top: -12px; margin-bottom: 14px; }
.swp-counter strong { display: block; font-family: var(--head); font-size: 22px; text-transform: uppercase; color: var(--ink); letter-spacing: .02em; }
.swp-counter em { display: block; font-style: normal; font-size: 13.5px; color: var(--muted); }

.swp-statement { padding: 110px 0; }
.swp-statement .swp-wrap { max-width: 1100px; }
.swp-statement__text { font-family: var(--head); font-weight: 800; text-transform: uppercase; font-size: clamp(34px, 5.2vw, 72px); line-height: 1.04; letter-spacing: .005em; margin: 0 0 34px !important; }
.swp-sw { color: rgba(17,17,17,.12); transition: color .35s ease; }
.swp-sw.is-lit { color: var(--ink); }
.swp-sw--hot.is-lit { color: var(--red); }

.swp-show { position: relative; margin: 0 14px; border-radius: 56px; background: radial-gradient(900px 500px at 15% 0%, rgba(215,25,32,.25), transparent 60%), linear-gradient(160deg, #151515, #0a0a0a); color: #cfcfcf; }
.swp-show__pin { padding: 90px 0 80px; }
.swp-show.is-pinned .swp-show__pin { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; justify-content: center; padding: 100px 0 40px; overflow: hidden; border-radius: 56px; }
.swp-show__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.swp-show__head .swp-h2 { margin: 0; }
.swp-show__nav { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; min-width: 180px; }
.swp-show__count { font-family: var(--head); font-size: 20px; color: #8a8a8a; letter-spacing: .08em; }
.swp-show__count b { color: #fff; font-size: 34px; }
.swp-show__bar { display: block; width: 180px; height: 3px; border-radius: 3px; background: rgba(255,255,255,.12); overflow: hidden; }
.swp-show__bar i { display: block; height: 100%; background: var(--red); transform-origin: 0 50%; transform: scaleX(.04); }
.swp-show__viewport { overflow: hidden; padding: 0 max(20px, calc((100vw - var(--wrap)) / 2 + 20px)); }
.swp-show__track { display: flex; gap: 22px; width: max-content; will-change: transform; }
.swp .swp-show__card { position: relative; flex: none; width: clamp(260px, 26vw, 340px); border-radius: 26px; overflow: hidden; background: #fff; color: var(--ink); box-shadow: 0 20px 50px rgba(0,0,0,.45); transition: transform .4s cubic-bezier(.2,.75,.2,1); display: flex; flex-direction: column; }
.swp .swp-show__card:hover { transform: translateY(-8px); }
.swp-show__img { display: block; aspect-ratio: 1 / 1.05; background: #f2f2f2; overflow: hidden; }
.swp-show__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.75,.2,1); }
.swp-show__card:hover .swp-show__img img { transform: scale(1.07); }
.swp-show__meta { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px 20px; flex: 1; }
.swp-show__meta em { font-style: normal; font-size: 11.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--red); }
.swp-show__meta strong { font-family: var(--head); font-size: 22px; text-transform: uppercase; line-height: 1.08; color: var(--ink); flex: 1; }
.swp-show__go { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 600; color: var(--ink); margin-top: 8px; }
.swp-show__card:hover .swp-show__go { color: var(--red); }
.swp-show__n { position: absolute; top: 14px; left: 14px; font-family: var(--head); font-weight: 800; font-size: 15px; background: rgba(255,255,255,.9); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); color: var(--ink); border-radius: 999px; padding: 4px 10px; box-shadow: 0 4px 12px rgba(0,0,0,.12); }
.swp .swp-show__card--end { background: linear-gradient(150deg, #e3242b, #a8131a); color: #fff; justify-content: center; }
.swp-show__end { display: flex; flex-direction: column; gap: 14px; padding: 34px 28px; }
.swp-show__end strong { font-family: var(--head); font-size: 40px; text-transform: uppercase; line-height: 1; }
.swp-show__end > span:not(.swp-btn) { color: #ffe0e1; font-size: 15px; }
.swp-show__end .swp-btn { align-self: flex-start; background: #fff; color: var(--red) !important; box-shadow: 0 10px 24px rgba(0,0,0,.25); }

@media (max-width: 1100px) {
	.swp-counters__in { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
	.swp-show { margin: 0 8px; border-radius: 36px; }
	.swp-show__pin { padding: 64px 0 50px; }
	.swp-show__head { flex-direction: column; align-items: flex-start; }
	.swp-show__nav { align-items: flex-start; }
	.swp-show__viewport { overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-bottom: 14px; }
	.swp-show__viewport::-webkit-scrollbar { display: none; }
	.swp .swp-show__card { scroll-snap-align: center; width: 76vw; max-width: 320px; }
	.swp-statement { padding: 70px 0; }
	.swp-counters { padding: 10px 0 60px; }
}
@media (max-width: 600px) {
	.swp-counters__in { grid-template-columns: 1fr 1fr; gap: 12px; }
	.swp-counter { padding: 22px 10px 18px; }
	.swp-counter__ring { width: 96px; height: 96px; top: 14px; }
	.swp-counter__num { height: 96px; font-size: 42px; margin-bottom: 10px; }
	.swp-counter strong { font-size: 18px; }
	.swp-counter em { font-size: 12px; }
	.swp-show { border-radius: 28px; }
}
@media (prefers-reduced-motion: reduce) { .swp-sw { color: var(--ink); } .swp-sw--hot { color: var(--red); } }
.swp .swp-h2--light, .swp .swp-show h2 { color: #fff; }

/* ============ v2.7: Catalog mega menu (6 groups) ============ */
.swp-mega--catalog { grid-template-columns: 1fr 250px; max-height: calc(100vh - 160px); overflow-y: auto; overscroll-behavior: contain; }
.swp-mega__cols { column-count: 3; column-gap: 26px; }
.swp-mega__group { break-inside: avoid; -webkit-column-break-inside: avoid; margin-bottom: 18px; padding: 12px 12px 8px; border-radius: 16px; transition: background .2s; }
.swp-mega__group:hover { background: rgba(17,17,17,.035); }
.swp .swp-mega__ghead { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; padding: 0; background: none; }
.swp-mega__gimg { width: 44px; height: 44px; flex: none; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 10px rgba(0,0,0,.12); }
.swp-mega__gimg img { width: 100%; height: 100%; object-fit: cover; }
.swp-mega__ghead strong { font-family: var(--head); font-size: 18px; line-height: 1.05; text-transform: uppercase; color: var(--ink); }
.swp .swp-mega__ghead:hover strong { color: var(--red); }
.swp-mega__links { margin: 0; padding: 0 0 0 54px; list-style: none; }
.swp .swp-mega__links a { display: block; padding: 3px 0; font-family: var(--body); font-size: 13.5px; font-weight: 500; text-transform: none; color: #444; border-radius: 0; background: none; transition: color .15s, transform .15s; }
.swp .swp-mega__links a::after { display: none; }
.swp .swp-mega__links a:hover { color: var(--red); background: none; transform: translateX(3px); }
@media (max-width: 1180px) and (min-width: 901px) {
	.swp-mega--catalog { grid-template-columns: 1fr; }
	.swp-mega--catalog .swp-mega__cta { display: none; }
}
@media (max-width: 900px) {
	.swp-mega--catalog { max-height: none; overflow: visible; }
	.swp-mega__cols { column-count: 1; }
	.swp-mega__group { padding: 8px 0; margin-bottom: 8px; border-bottom: 1px solid var(--line); border-radius: 0; }
	.swp .swp-menu .swp-mega__ghead { font-family: var(--body); text-transform: none; border-bottom: 0; padding: 6px 0; }
	.swp-mega__ghead strong { font-size: 19px; }
	.swp-mega__links { padding-left: 54px; }
	.swp .swp-menu .swp-mega__links a { font-family: var(--body); font-size: 15px; text-transform: none; border-bottom: 0; padding: 7px 0; }
}
.swp-mega--catalog { grid-template-columns: 1fr; padding: 22px 22px 8px; }
.swp-mega__cols { column-count: auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px 18px; }
.swp-mega__col { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.swp-mega__group { margin-bottom: 4px; padding: 10px 12px 8px; }
.swp-mega__links { padding-left: 0; }
.swp .swp-mega__links a { padding: 3px 0 3px 54px; font-size: 13.5px; }
.swp-mega--catalog .swp-mega__cta { padding: 20px; gap: 8px; margin-top: 6px; }
.swp-mega--catalog .swp-mega__title { font-size: 26px; }
@media (max-width: 1180px) and (min-width: 901px) {
	.swp-mega__cols { grid-template-columns: repeat(2, 1fr); }
	.swp-mega--catalog .swp-mega__cta { display: flex; }
}
@media (max-width: 900px) {
	.swp-mega__cols { grid-template-columns: 1fr; }
	.swp .swp-menu .swp-mega__links a { padding-left: 54px; }
	.swp-mega--catalog .swp-mega__cta { display: none; }
}
.swp-mega__group { position: relative; }
.swp-mega__gtoggle { display: none; }
@media (max-width: 900px) {
	.swp-mega__group { padding: 4px 0; margin: 0; }
	.swp .swp-menu .swp-mega__ghead { padding: 8px 52px 8px 0; margin: 0; }
	.swp-mega__gimg { width: 38px; height: 38px; border-radius: 10px; }
	.swp-mega__ghead strong { font-size: 18px; }
	.swp-mega__gtoggle { display: block; position: absolute; right: 0; top: 6px; width: 42px; height: 42px; border: 0; border-radius: 12px; background: var(--grey); cursor: pointer; }
	.swp-mega__gtoggle::before, .swp-mega__gtoggle::after { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 2.5px; background: var(--ink); border-radius: 2px; transform: translate(-50%, -50%); transition: transform .25s; }
	.swp-mega__gtoggle::after { transform: translate(-50%, -50%) rotate(90deg); }
	.swp-mega__group.is-open .swp-mega__gtoggle::after { transform: translate(-50%, -50%) rotate(0deg); }
	.swp-mega__links { display: none; padding: 0 0 8px 48px; }
	.swp-mega__group.is-open .swp-mega__links { display: block; }
	.swp .swp-menu .swp-mega__links a { padding: 7px 0; font-size: 15px; }
}
@media (max-width: 900px) {
	.swp-mega__cols { display: flex; flex-direction: column; }
	.swp-mega__col { display: contents; }
	.swp .swp-mega__links { padding: 0 0 10px 50px; }
	.swp-mega__group:hover { background: none; }
}
@media (max-width: 900px) { .swp-mega__group { order: var(--o, 0); } }
