/* ==========================================================================
   MEGA QUIP · Modern design layer  v1.0.0
   Theme: megaquip (Omnivus) + Elementor
   ========================================================================== */

:root {
	--mq-ink: #06111b;
	--mq-navy: #0a1b29;
	--mq-navy-2: #0f2738;
	--mq-brand: #003049;
	--mq-red: #ef3f3d;
	--mq-red-2: #ff6a4f;
	--mq-red-dark: #c42b2b;
	--mq-steel: #93a6b6;
	--mq-paper: #f3f5f8;
	--mq-white: #ffffff;
	--mq-text: #15232e;
	--mq-muted: #5c6c79;
	--mq-line: rgba(255, 255, 255, .09);
	--mq-line-dark: rgba(10, 27, 41, .09);
	--mq-glass: rgba(255, 255, 255, .06);
	--mq-glass-b: rgba(255, 255, 255, .14);
	--mq-radius: 22px;
	--mq-radius-lg: 32px;
	--mq-shadow: 0 1px 2px rgba(6, 17, 27, .04), 0 12px 32px -12px rgba(6, 17, 27, .14);
	--mq-shadow-lg: 0 30px 80px -24px rgba(6, 17, 27, .35);
	--mq-glow: 0 10px 30px -8px rgba(239, 63, 61, .55);
	--mq-ease: cubic-bezier(.2, .7, .2, 1);
	--mq-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--mq-font-head: "Sora", "Inter", system-ui, sans-serif;
	--mq-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

/* --------------------------------------------------------------------------
   1. GLOBAL BASE
   -------------------------------------------------------------------------- */
html { scroll-behavior: smooth; }

body.mq-modern {
	font-family: var(--mq-font) !important;
	color: var(--mq-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	background: var(--mq-white);
}

body.mq-modern p,
body.mq-modern li,
body.mq-modern input,
body.mq-modern textarea,
body.mq-modern select,
body.mq-modern button,
body.mq-modern .elementor-widget-text-editor,
body.mq-modern .elementor-tab-content {
	font-family: var(--mq-font) !important;
}

body.mq-modern h1,
body.mq-modern h2,
body.mq-modern h3,
body.mq-modern h4,
body.mq-modern h5,
body.mq-modern h6,
body.mq-modern .elementor-heading-title,
body.mq-modern .elementor-icon-box-title,
body.mq-modern .elementor-tab-title,
body.mq-modern .elementor-button,
body.mq-modern .widget-title {
	font-family: var(--mq-font-head) !important;
	letter-spacing: -.02em;
}

body.mq-modern ::selection { background: var(--mq-red); color: #fff; }

body.mq-modern a { transition: color .25s var(--mq-ease), opacity .25s var(--mq-ease); }

/* Scrollbar */
@media (min-width: 1025px) {
	html::-webkit-scrollbar { width: 11px; }
	html::-webkit-scrollbar-track { background: var(--mq-ink); }
	html::-webkit-scrollbar-thumb { background: linear-gradient(var(--mq-red), var(--mq-red-dark)); border-radius: 10px; border: 3px solid var(--mq-ink); }
}

/* Preloader */
body.mq-modern .preloader,
body.mq-modern #preloader { background: var(--mq-ink) !important; }

/* --------------------------------------------------------------------------
   2. HEADER (top bar + main menu)
   -------------------------------------------------------------------------- */
body.mq-modern .header-area { position: relative; z-index: 999; padding-bottom: 1px; margin-bottom: -1px; }

body.mq-modern .top-bar {
	background: var(--mq-ink) !important;
	border-bottom: 1px solid var(--mq-line);
	padding: 8px 0 !important;
}
body.mq-modern .top-bar,
body.mq-modern .top-bar p,
body.mq-modern .top-bar a,
body.mq-modern .top-bar i {
	color: rgba(255, 255, 255, .72) !important;
	font-size: 13px !important;
	letter-spacing: .01em;
}
body.mq-modern .top-bar a:hover,
body.mq-modern .top-bar a:hover i { color: #fff !important; }
body.mq-modern .top-left-contact p { margin: 0 22px 0 0 !important; display: inline-flex; align-items: center; gap: 8px; }
body.mq-modern .top-left-contact i,
body.mq-modern .top-left-contact svg { color: var(--mq-red) !important; fill: var(--mq-red) !important; }
body.mq-modern .social-profile ul li a {
	width: 30px; height: 30px; border-radius: 50%;
	display: inline-flex !important; align-items: center; justify-content: center;
	border: 1px solid var(--mq-line);
	transition: all .3s var(--mq-ease);
}
body.mq-modern .social-profile ul li a:hover { background: var(--mq-red) !important; border-color: var(--mq-red); transform: translateY(-2px); }

/* Main menu bar */
body.mq-modern .mainmenu-area,
body.mq-modern .mainmenu-area-bg {
	background: rgba(8, 21, 32, .82) !important;
	-webkit-backdrop-filter: saturate(160%) blur(18px);
	backdrop-filter: saturate(160%) blur(18px);
	border-bottom: 1px solid var(--mq-line);
	box-shadow: none !important;
}
body.mq-modern .mainmenu-area-bg { display: none; }
body.mq-modern .is-sticky .mainmenu-area {
	background: rgba(6, 17, 27, .9) !important;
	box-shadow: 0 18px 40px -20px rgba(0, 0, 0, .6) !important;
}
body.mq-modern .mainmenu-area .navbar { margin: 0; min-height: 0; border: 0; background: transparent !important; box-shadow: none !important; }
body.mq-modern .mainmenu-area .flex-v-center { min-height: 82px; }
body.mq-modern .navbar-header .custom-logo-link img { max-height: 46px !important; width: auto !important; transition: transform .35s var(--mq-ease); }
body.mq-modern .navbar-header .custom-logo-link:hover img { transform: scale(1.03); }

/* Desktop links */
body.mq-modern .stellarnav.desktop > ul > li > a {
	color: rgba(255, 255, 255, .78) !important;
	font-family: var(--mq-font) !important;
	font-weight: 500 !important;
	font-size: 14.5px !important;
	letter-spacing: .005em;
	text-transform: none !important;
	position: relative;
	padding-left: 16px !important;
	padding-right: 16px !important;
}
body.mq-modern .stellarnav.desktop > ul > li > a::after {
	content: "";
	position: absolute; left: 16px; right: 16px; bottom: 22px; height: 2px;
	background: var(--mq-red);
	border-radius: 2px;
	transform: scaleX(0); transform-origin: right;
	transition: transform .4s var(--mq-ease);
}
body.mq-modern .stellarnav.desktop > ul > li:hover > a,
body.mq-modern .stellarnav.desktop > ul > li.current-menu-item > a,
body.mq-modern .stellarnav.desktop > ul > li.current_page_item > a { color: #fff !important; }
body.mq-modern .stellarnav.desktop > ul > li:hover > a::after,
body.mq-modern .stellarnav.desktop > ul > li.current-menu-item > a::after,
body.mq-modern .stellarnav.desktop > ul > li.current_page_item > a::after { transform: scaleX(1); transform-origin: left; }
body.mq-modern .stellarnav.desktop > ul > li > a::before { display: none !important; }

/* Dropdowns */
body.mq-modern .stellarnav.desktop ul ul {
	background: rgba(8, 21, 32, .96) !important;
	border: 1px solid var(--mq-line) !important;
	border-radius: 16px !important;
	padding: 8px !important;
	box-shadow: var(--mq-shadow-lg) !important;
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
}
body.mq-modern .stellarnav.desktop ul ul li a { color: rgba(255, 255, 255, .8) !important; border-radius: 10px; }
body.mq-modern .stellarnav.desktop ul ul li a:hover { background: rgba(255, 255, 255, .06) !important; color: #fff !important; }

/* Header CTA + search */
body.mq-modern .header-action { display: flex; align-items: center; gap: 12px; }
body.mq-modern .header-action .action-button {
	background: linear-gradient(135deg, var(--mq-red), var(--mq-red-dark)) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-family: var(--mq-font-head) !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	padding: 0 26px !important;
	height: 48px; line-height: 48px !important;
	display: inline-flex !important; align-items: center;
	box-shadow: var(--mq-glow) !important;
	transition: transform .35s var(--mq-ease), box-shadow .35s var(--mq-ease) !important;
	position: relative; overflow: hidden;
}
body.mq-modern .header-action .action-button::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(110deg, transparent 20%, rgba(255, 255, 255, .35) 50%, transparent 80%);
	transform: translateX(-120%);
	transition: transform .8s var(--mq-ease);
}
body.mq-modern .header-action .action-button:hover { transform: translateY(-2px); box-shadow: 0 16px 36px -10px rgba(239, 63, 61, .7) !important; }
body.mq-modern .header-action .action-button:hover::after { transform: translateX(120%); }
body.mq-modern .header-action .search-button {
	width: 44px !important; height: 44px !important; line-height: 44px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, .06) !important;
	border: 1px solid var(--mq-glass-b) !important;
	color: #fff !important;
	display: inline-flex !important; align-items: center; justify-content: center;
	box-shadow: none !important;
	transition: all .3s var(--mq-ease);
}
body.mq-modern .header-action .search-button:hover { background: var(--mq-red) !important; border-color: var(--mq-red) !important; }
body.mq-modern .header-action .search-button i { color: #fff !important; }

/* Search overlay */
body.mq-modern .search-control-bg { background: rgba(6, 17, 27, .92) !important; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
body.mq-modern .search-form-one input {
	background: transparent !important;
	border: 0 !important; border-bottom: 2px solid rgba(255, 255, 255, .25) !important;
	color: #fff !important; font-family: var(--mq-font-head) !important; font-size: 28px !important;
}

/* Mobile menu */
body.mq-modern .stellarnav .menu-toggle,
body.mq-modern .stellarnav .menu-toggle i,
body.mq-modern .stellarnav .menu-toggle i::before,
body.mq-modern .stellarnav .menu-toggle span { color: #fff !important; opacity: 1 !important; }
body.mq-modern .stellarnav .menu-toggle i { display: none !important; }
body.mq-modern .stellarnav .menu-toggle::after {
	content: ""; display: block; width: 18px; height: 2px; border-radius: 2px;
	background: #fff; box-shadow: 0 -6px 0 #fff, 0 6px 0 #fff;
}
body.mq-modern .stellarnav.mobile .menu-toggle {
	width: 46px; height: 46px; padding: 0 !important;
	display: inline-flex !important; align-items: center; justify-content: center;
	border-radius: 14px; border: 1px solid var(--mq-glass-b);
	background: rgba(255, 255, 255, .06);
	font-size: 20px;
}
body.mq-modern .stellarnav .menu-toggle span.bars span { background: #fff !important; }
body.mq-modern .stellarnav.mobile > ul {
	background: var(--mq-ink) !important;
	border-top: 1px solid var(--mq-line);
}
body.mq-modern .stellarnav.mobile ul li { border-color: var(--mq-line) !important; }
body.mq-modern .stellarnav.mobile ul li a { color: rgba(255, 255, 255, .85) !important; font-family: var(--mq-font) !important; }
body.mq-modern .stellarnav.mobile ul li a:hover { color: var(--mq-red) !important; }
body.mq-modern .stellarnav.mobile .close-menu,
body.mq-modern .stellarnav.mobile .dd-toggle i { color: #fff !important; }

/* --------------------------------------------------------------------------
   3. ELEMENTOR & CONTENT POLISH (all pages)
   -------------------------------------------------------------------------- */
body.mq-modern .elementor-button {
	border-radius: 999px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	transition: transform .35s var(--mq-ease), box-shadow .35s var(--mq-ease), background-color .3s, color .3s !important;
}
body.mq-modern .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -12px rgba(6, 17, 27, .45); }

body.mq-modern .elementor-widget-icon-box .elementor-widget-container,
body.mq-modern .elementor-widget-image-box .elementor-widget-container {
	transition: transform .45s var(--mq-ease), box-shadow .45s var(--mq-ease);
}
body.mq-modern .elementor-widget-icon-box:hover .elementor-widget-container,
body.mq-modern .elementor-widget-image-box:hover .elementor-widget-container { transform: translateY(-4px); }

body.mq-modern .elementor-accordion .elementor-accordion-item {
	border: 1px solid var(--mq-line-dark) !important;
	border-radius: 14px; margin-bottom: 10px; overflow: hidden;
	background: #fff;
}
body.mq-modern .elementor-accordion .elementor-tab-title { padding: 18px 22px !important; }
body.mq-modern .elementor-accordion .elementor-tab-title.elementor-active { background: var(--mq-paper); }

body.mq-modern .elementor-widget-image img { border-radius: 14px; }
body.mq-modern .elementor-widget-image-carousel img { border-radius: 0; }

/* Forms (Elementor Pro, CF7, comments, search) */
body.mq-modern input[type="text"],
body.mq-modern input[type="email"],
body.mq-modern input[type="tel"],
body.mq-modern input[type="number"],
body.mq-modern input[type="search"],
body.mq-modern input[type="url"],
body.mq-modern select,
body.mq-modern textarea,
body.mq-modern .elementor-field-group .elementor-field {
	border-radius: 12px !important;
	border: 1px solid #d9e0e6 !important;
	background-color: #fff;
	transition: border-color .25s, box-shadow .25s !important;
}
body.mq-modern input:focus,
body.mq-modern select:focus,
body.mq-modern textarea:focus,
body.mq-modern .elementor-field-group .elementor-field:focus {
	border-color: var(--mq-red) !important;
	box-shadow: 0 0 0 4px rgba(239, 63, 61, .14) !important;
	outline: none !important;
}
body.mq-modern .elementor-form .elementor-button,
body.mq-modern input[type="submit"],
body.mq-modern button[type="submit"] {
	background: linear-gradient(135deg, var(--mq-red), var(--mq-red-dark)) !important;
	border: 0 !important; border-radius: 999px !important; color: #fff !important;
	box-shadow: var(--mq-glow);
}

/* Blog / pages from the theme */
body.mq-modern .single-blog-post,
body.mq-modern .blog-post,
body.mq-modern article.post {
	border-radius: var(--mq-radius);
	overflow: hidden;
}
body.mq-modern .single-blog-post,
body.mq-modern .blog-post { box-shadow: var(--mq-shadow); transition: transform .45s var(--mq-ease), box-shadow .45s var(--mq-ease); }
body.mq-modern .single-blog-post:hover,
body.mq-modern .blog-post:hover { transform: translateY(-6px); box-shadow: var(--mq-shadow-lg); }
body.mq-modern .single-blog-post img,
body.mq-modern .blog-post img { transition: transform .8s var(--mq-ease); }
body.mq-modern .single-blog-post:hover img,
body.mq-modern .blog-post:hover img { transform: scale(1.05); }
body.mq-modern .pagination li a,
body.mq-modern .pagination li span,
body.mq-modern .page-numbers { border-radius: 12px !important; }
body.mq-modern .sidebar .single-widgets,
body.mq-modern .widget-area .single-widgets { border-radius: var(--mq-radius); }

/* Theme page banner (blog, archives, single) */
body.mq-modern .barner-area,
body.mq-modern .page-title-area,
body.mq-modern .breadcrumb-area {
	position: relative;
	background-color: var(--mq-ink) !important;
	isolation: isolate;
}
body.mq-modern .barner-area::before,
body.mq-modern .page-title-area::before,
body.mq-modern .breadcrumb-area::before {
	content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background:
		radial-gradient(600px 300px at 85% 20%, rgba(239, 63, 61, .28), transparent 70%),
		linear-gradient(180deg, rgba(6, 17, 27, .65), rgba(6, 17, 27, .92));
}
body.mq-modern .barner-area h1,
body.mq-modern .barner-area h2,
body.mq-modern .barner-area h3,
body.mq-modern .barner-area p,
body.mq-modern .barner-area li,
body.mq-modern .barner-area span,
body.mq-modern .barner-area a,
body.mq-modern .page-title-area h1,
body.mq-modern .page-title-area h2,
body.mq-modern .page-title-area p,
body.mq-modern .page-title-area li,
body.mq-modern .page-title-area a,
body.mq-modern .breadcrumb-area h1,
body.mq-modern .breadcrumb-area h2,
body.mq-modern .breadcrumb-area li,
body.mq-modern .breadcrumb-area a { color: #fff !important; }
body.mq-modern .barner-area a:hover,
body.mq-modern .page-title-area a:hover,
body.mq-modern .breadcrumb-area a:hover { color: var(--mq-red-2) !important; }
body.mq-modern .barner-area > .container,
body.mq-modern .page-title-area > .container,
body.mq-modern .breadcrumb-area > .container { position: relative; z-index: 1; }
body.mq-modern .barner-area > .barner-area-bg {
	position: absolute !important; inset: 0; width: auto !important; height: auto !important; z-index: -1;
	background-size: cover !important; background-position: center !important;
	filter: grayscale(1); opacity: .28;
}
body.mq-modern .barner-area { padding-top: 230px !important; padding-bottom: 110px !important; }
body.mq-modern .barner-area .page-title h1,
body.mq-modern .barner-area .page-title h2 { font-size: clamp(36px, 5vw, 64px) !important; font-weight: 800 !important; letter-spacing: -.04em !important; }
body.mq-modern .barner-area .breadcumb,
body.mq-modern .barner-area .breadcumb * { font-family: var(--mq-font-mono) !important; font-size: 12.5px !important; letter-spacing: .12em; text-transform: uppercase; }

/* Inner pages: solid header (no hero behind it) */
body.mq-modern:not(.mq-home) .mainmenu-area { background: var(--mq-navy) !important; }

/* Back to top */
body.mq-modern .scrolltotop,
body.mq-modern .scroll-to-top,
body.mq-modern a[href="#scrolltotop"].scrolltotop {
	background: linear-gradient(135deg, var(--mq-red), var(--mq-red-dark)) !important;
	color: #fff !important; border: 0 !important;
	box-shadow: var(--mq-glow) !important;
}
body.mq-modern .scrolltotop i,
body.mq-modern .scroll-to-top i { color: #fff !important; }

/* --------------------------------------------------------------------------
   4. FOOTER
   -------------------------------------------------------------------------- */
body.mq-modern .footer-area {
	position: relative;
	background: var(--mq-ink) !important;
	overflow: hidden;
	isolation: isolate;
}
body.mq-modern .footer-area::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background-image:
		linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
	background-size: 64px 64px;
	-webkit-mask-image: radial-gradient(ellipse at 50% 0%, #000 0%, transparent 75%);
	mask-image: radial-gradient(ellipse at 50% 0%, #000 0%, transparent 75%);
}
body.mq-modern .footer-area::after {
	content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; z-index: 1;
	background: linear-gradient(90deg, transparent, var(--mq-red), transparent);
}
body.mq-modern .footer-area-bg { opacity: .05 !important; }
body.mq-modern .footer-area,
body.mq-modern .footer-area p,
body.mq-modern .footer-area li,
body.mq-modern .footer-area a,
body.mq-modern .footer-area span { color: rgba(255, 255, 255, .66) !important; }
body.mq-modern .footer-area .widget-title {
	color: #fff !important;
	font-size: 17px !important;
	font-weight: 600 !important;
}
body.mq-modern .footer-area a:hover { color: #fff !important; }
body.mq-modern .footer-area .menu li a { display: inline-block; transition: transform .3s var(--mq-ease), color .3s !important; }
body.mq-modern .footer-area .menu li a:hover { transform: translateX(4px); }
body.mq-modern .footer-area .footer-bottom,
body.mq-modern .footer-bottom-area {
	background: rgba(0, 0, 0, .28) !important;
	border-top: 1px solid var(--mq-line);
}
body.mq-modern .footer-area .footer-bottom-bg { background: transparent !important; }
body.mq-modern .footer-area .footer-copyright { background: transparent !important; padding-left: 0 !important; font-size: 13.5px; }
body.mq-modern .footer-area i,
body.mq-modern .footer-area svg { color: rgba(255, 255, 255, .75) !important; fill: currentColor !important; }
body.mq-modern .footer-area .widget_block i,
body.mq-modern .footer-area .widget_text i { color: var(--mq-red) !important; }
body.mq-modern .footer-area .social-profile a,
body.mq-modern .footer-area .footer-social a {
	transition: transform .3s var(--mq-ease), color .3s !important;
}
body.mq-modern .footer-area .social-profile a:hover,
body.mq-modern .footer-area .footer-social a:hover { color: var(--mq-red) !important; transform: translateY(-2px); }

/* ==========================================================================
   5. MODERN HOME PAGE
   ========================================================================== */
.mq-home-main { overflow: hidden; background: #fff; }
.mq-home-main *,
.mq-home-main *::before,
.mq-home-main *::after { box-sizing: border-box; }
.mq-home-main .mq-container { width: 100%; max-width: 1260px; margin: 0 auto; padding: 0 24px; }
.mq-home-main .mq-section { position: relative; padding: clamp(72px, 9vw, 128px) 0; }
.mq-home-main img { max-width: 100%; height: auto; }
.mq-home-main p { font-size: 16.5px; line-height: 1.72; color: var(--mq-muted); margin: 0 0 16px; }
.mq-home-main h1,
.mq-home-main h2,
.mq-home-main h3,
.mq-home-main h4 { margin: 0; color: var(--mq-text); font-family: var(--mq-font-head) !important; }

.mq-home-main .mq-ico { width: 20px; height: 20px; flex: none; }
.mq-home-main .mq-red { color: var(--mq-red); }
.mq-home-main .mq-mono {
	font-family: var(--mq-font-mono) !important;
	font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase;
	color: var(--mq-steel);
}

.mq-home-main .mq-eyebrow {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: var(--mq-font-mono) !important;
	font-size: 12.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
	color: var(--mq-red);
	margin-bottom: 20px;
}
.mq-home-main .mq-dot {
	width: 8px; height: 8px; border-radius: 2px; background: var(--mq-red);
	box-shadow: 0 0 0 4px rgba(239, 63, 61, .18);
	transform: rotate(45deg);
}
.mq-home-main .mq-h2 {
	font-size: clamp(2rem, 4.2vw, 3.4rem);
	font-weight: 700; line-height: 1.08; letter-spacing: -.035em;
	margin-bottom: 22px;
}

/* Buttons */
.mq-home-main .mq-btn {
	display: inline-flex; align-items: center; gap: 10px;
	padding: 16px 28px;
	border-radius: 999px;
	font-family: var(--mq-font-head) !important;
	font-size: 15px; font-weight: 600; line-height: 1;
	text-decoration: none !important;
	border: 1px solid transparent;
	cursor: pointer;
	transition: transform .4s var(--mq-ease), box-shadow .4s var(--mq-ease), background .3s, color .3s, border-color .3s;
	will-change: transform;
}
.mq-home-main .mq-btn .mq-ico { width: 18px; height: 18px; transition: transform .4s var(--mq-ease); }
.mq-home-main .mq-btn:hover .mq-ico-arrow { transform: translateX(4px); }
.mq-home-main .mq-btn--primary {
	background: linear-gradient(135deg, var(--mq-red-2), var(--mq-red) 45%, var(--mq-red-dark));
	color: #fff; box-shadow: var(--mq-glow);
}
.mq-home-main .mq-btn--primary:hover { color: #fff; box-shadow: 0 18px 40px -10px rgba(239, 63, 61, .75); }
.mq-home-main .mq-btn--ghost {
	background: rgba(255, 255, 255, .06); color: #fff;
	border-color: rgba(255, 255, 255, .22);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.mq-home-main .mq-btn--ghost:hover { background: rgba(255, 255, 255, .14); color: #fff; transform: translateY(-2px); }
.mq-home-main .mq-btn--dark { background: var(--mq-navy); color: #fff; }
.mq-home-main .mq-btn--dark:hover { background: var(--mq-red); color: #fff; transform: translateY(-2px); box-shadow: var(--mq-glow); }
.mq-home-main .mq-btn--white { background: #fff; color: var(--mq-text); }
.mq-home-main .mq-btn--white:hover { color: var(--mq-red); transform: translateY(-2px); box-shadow: 0 18px 40px -14px rgba(0, 0, 0, .45); }
.mq-home-main .mq-btn--outline { background: transparent; color: var(--mq-text); border-color: var(--mq-line-dark); }
.mq-home-main .mq-btn--outline:hover { border-color: var(--mq-red); color: var(--mq-red); }

.mq-home-main .mq-link {
	display: inline-flex; align-items: center; gap: 8px;
	font-family: var(--mq-font-head) !important; font-weight: 600; font-size: 14.5px;
	color: var(--mq-text); text-decoration: none !important;
}
.mq-home-main .mq-link .mq-ico { width: 16px; height: 16px; transition: transform .35s var(--mq-ease); }
.mq-home-main .mq-link:hover { color: var(--mq-red); }
.mq-home-main .mq-link:hover .mq-ico { transform: translateX(4px); }

.mq-home-main .mq-glass {
	background: linear-gradient(160deg, rgba(255, 255, 255, .11), rgba(255, 255, 255, .03));
	border: 1px solid var(--mq-glass-b);
	-webkit-backdrop-filter: blur(20px) saturate(140%);
	backdrop-filter: blur(20px) saturate(140%);
	border-radius: var(--mq-radius);
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .12);
}

/* Spotlight hover (mouse-follow glow) */
.mq-home-main .mq-spot { position: relative; isolation: isolate; }
.mq-home-main .mq-spot::before {
	content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: -1; pointer-events: none;
	background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%), rgba(239, 63, 61, .12), transparent 45%);
	opacity: 0; transition: opacity .4s var(--mq-ease);
}
.mq-home-main .mq-spot:hover::before { opacity: 1; }

/* ---------------- HERO ---------------- */
.mq-home-main .mq-hero {
	position: relative;
	min-height: clamp(720px, 100vh, 980px);
	display: flex; align-items: center;
	background: var(--mq-ink);
	color: #fff;
	isolation: isolate;
	overflow: hidden;
	padding: 210px 0 130px;
}
.mq-home-main .mq-hero__media { position: absolute; inset: 0; z-index: -3; }
.mq-home-main .mq-slide {
	position: absolute; inset: -2%;
	background-size: cover; background-position: center 45%;
	opacity: 0; transform: scale(1.14);
	transition: opacity 1.4s ease, transform 0s linear 1.4s;
	will-change: opacity, transform;
}
.mq-home-main .mq-slide.is-active {
	opacity: 1; transform: scale(1.02);
	transition: opacity 1.4s ease, transform 9s cubic-bezier(.25, .1, .25, 1);
}

/* Slider UI */
.mq-home-main .mq-slider-ui {
	position: absolute; left: 50%; bottom: 34px; transform: translateX(-50%);
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
	z-index: 3;
}
.mq-home-main .mq-slider-meta { display: flex; align-items: center; gap: 18px; min-width: 0; }
.mq-home-main .mq-slider-count { font-family: var(--mq-font-mono) !important; font-size: 13px; color: rgba(255, 255, 255, .55); letter-spacing: .08em; white-space: nowrap; }
.mq-home-main .mq-slider-count b { color: #fff; font-weight: 600; }
.mq-home-main .mq-slide-cap {
	font-size: 14px; color: rgba(255, 255, 255, .85);
	padding-left: 18px; border-left: 1px solid rgba(255, 255, 255, .25);
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
	transition: opacity .4s ease, transform .4s var(--mq-ease);
}
.mq-home-main .mq-slide-cap.is-changing { opacity: 0; transform: translateY(6px); }
.mq-home-main .mq-slider-bars { display: flex; gap: 8px; margin-left: auto; }
.mq-home-main .mq-slider-bars button {
	width: 46px; height: 18px; padding: 0; border: 0 !important; background: none !important; cursor: pointer;
	position: relative; box-shadow: none !important;
}
.mq-home-main .mq-slider-bars button::before,
.mq-home-main .mq-slider-bars button i {
	content: ""; position: absolute; left: 0; top: 50%; height: 3px; margin-top: -1.5px; border-radius: 3px;
}
.mq-home-main .mq-slider-bars button::before { right: 0; width: 100% !important; opacity: 1 !important; transform: none !important; background: rgba(255, 255, 255, .28); transition: background .3s; }
.mq-home-main .mq-slider-bars button:hover::before { background: rgba(255, 255, 255, .5); }
.mq-home-main .mq-slider-bars button i { width: 0; background: var(--mq-red); display: block; }
.mq-home-main .mq-slider-bars button.is-active i { animation: mqBar 6.5s linear forwards; }
.mq-home-main .mq-hero:hover .mq-slider-bars button.is-active i { animation-play-state: paused; }
.mq-home-main .mq-slider-nav { display: flex; gap: 8px; }
.mq-home-main .mq-slider-nav button {
	width: 44px; height: 44px; border-radius: 50%; padding: 0; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(255, 255, 255, .06) !important; border: 1px solid rgba(255, 255, 255, .22) !important; color: #fff !important;
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	box-shadow: none !important;
	transition: background .3s, border-color .3s, transform .3s var(--mq-ease);
}
.mq-home-main .mq-slider-nav button:hover { background: var(--mq-red) !important; border-color: var(--mq-red) !important; transform: translateY(-2px); }
.mq-home-main .mq-slider-nav .mq-ico { width: 18px; height: 18px; }
.mq-home-main .mq-slider-prev .mq-ico { transform: rotate(180deg); }
@keyframes mqBar { from { width: 0; } to { width: 100%; } }
.mq-home-main .mq-hero__shade {
	position: absolute; inset: 0; z-index: -2;
	background:
		linear-gradient(90deg, rgba(6, 17, 27, .95) 0%, rgba(6, 17, 27, .82) 36%, rgba(6, 17, 27, .38) 68%, rgba(6, 17, 27, .5) 100%),
		linear-gradient(0deg, var(--mq-ink) 0%, rgba(6, 17, 27, .6) 14%, transparent 40%),
		linear-gradient(180deg, rgba(6, 17, 27, .7) 0%, transparent 28%);
}
.mq-home-main .mq-hero__grid {
	position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background-image:
		linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
	background-size: 72px 72px;
	-webkit-mask-image: radial-gradient(ellipse 70% 60% at 30% 40%, #000 10%, transparent 75%);
	mask-image: radial-gradient(ellipse 70% 60% at 30% 40%, #000 10%, transparent 75%);
}
.mq-home-main .mq-hero__glow {
	position: absolute; z-index: -1; pointer-events: none;
	width: 720px; height: 720px; right: -160px; top: -120px;
	background: radial-gradient(circle, rgba(239, 63, 61, .38), transparent 62%);
	filter: blur(30px);
	animation: mqGlow 9s ease-in-out infinite alternate;
}
.mq-home-main .mq-hero__inner {
	display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	gap: 64px; align-items: center;
}
.mq-home-main .mq-hero .mq-eyebrow { color: #fff; }
.mq-home-main .mq-hero__title {
	color: #fff;
	font-size: clamp(2.5rem, 5.3vw, 4.6rem);
	font-weight: 800; line-height: 1; letter-spacing: -.045em;
	margin: 0 0 28px;
}
.mq-home-main .mq-outline { color: #fff; }
@supports (-webkit-text-stroke: 1px #fff) {
	.mq-home-main .mq-outline {
		color: transparent;
		-webkit-text-stroke: 1.6px rgba(255, 255, 255, .9);
		background: linear-gradient(90deg, #ffffff, #c9d6e0) no-repeat;
		background-size: 0% 100%;
		-webkit-background-clip: text; background-clip: text;
		animation: mqFill 1.6s .9s var(--mq-ease) forwards;
	}
}
.mq-home-main .mq-hero__lead {
	font-size: clamp(16px, 1.35vw, 19px);
	color: rgba(255, 255, 255, .72);
	max-width: 560px; margin-bottom: 36px;
}
.mq-home-main .mq-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 40px; }
.mq-home-main .mq-hero__call {
	display: inline-flex; align-items: center; gap: 14px;
	color: #fff; text-decoration: none !important;
	font-family: var(--mq-font-head) !important; font-weight: 600; font-size: 17px;
}
.mq-home-main .mq-hero__call small {
	display: block; font-family: var(--mq-font) !important; font-weight: 400; font-size: 13px;
	color: rgba(255, 255, 255, .55); margin-bottom: 2px;
}
.mq-home-main .mq-hero__call:hover { color: #fff; }
.mq-home-main .mq-hero__call-ico {
	width: 48px; height: 48px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid rgba(255, 255, 255, .2);
	position: relative;
}
.mq-home-main .mq-hero__call-ico::after {
	content: ""; position: absolute; inset: -1px; border-radius: 50%;
	border: 1px solid var(--mq-red);
	animation: mqRing 2.4s ease-out infinite;
}

.mq-home-main .mq-hero__panel { position: relative; }
.mq-home-main .mq-stat-card { padding: 30px; transform-style: preserve-3d; transition: transform .2s ease-out; background: linear-gradient(160deg, rgba(15, 39, 56, .78), rgba(6, 17, 27, .7)); }
.mq-home-main .mq-stat-card__head { display: flex; justify-content: space-between; align-items: center; margin: 44px 0 26px; }
.mq-home-main .mq-stat-card__rows strong .mq-count { font-size: inherit; color: inherit; }
.mq-home-main .mq-chip {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 7px 13px; border-radius: 999px;
	background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14);
	font-size: 12.5px; font-weight: 500; color: #fff;
}
.mq-home-main .mq-pulse { width: 8px; height: 8px; border-radius: 50%; background: #2fd47a; box-shadow: 0 0 0 0 rgba(47, 212, 122, .6); animation: mqPulse 2s infinite; }
.mq-home-main .mq-stat-card__big {
	font-family: var(--mq-font-head) !important;
	font-size: clamp(80px, 9vw, 132px); font-weight: 800; line-height: .9; letter-spacing: -.06em;
	background: linear-gradient(180deg, #fff 30%, rgba(255, 255, 255, .45));
	-webkit-background-clip: text; background-clip: text; color: transparent;
}
.mq-home-main .mq-stat-card__big sup { font-size: .45em; top: -.9em; color: var(--mq-red); -webkit-text-fill-color: var(--mq-red); }
.mq-home-main .mq-stat-card__label { color: rgba(255, 255, 255, .7); font-size: 15px; margin: 12px 0 26px; max-width: 320px; }
.mq-home-main .mq-stat-card__rows { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--mq-line); }
.mq-home-main .mq-stat-card__rows > div { padding-top: 20px; }
.mq-home-main .mq-stat-card__rows > div + div { padding-left: 22px; border-left: 1px solid var(--mq-line); }
.mq-home-main .mq-stat-card__rows strong { display: block; font-family: var(--mq-font-head) !important; font-size: 26px; font-weight: 700; color: #fff; letter-spacing: -.03em; }
.mq-home-main .mq-stat-card__rows span { font-size: 13px; color: rgba(255, 255, 255, .58); }

.mq-home-main .mq-float-card {
	position: absolute; left: -48px; top: -34px;
	display: flex; align-items: center; gap: 14px;
	padding: 16px 20px; border-radius: 18px;
	animation: mqFloat 6s ease-in-out infinite;
}
.mq-home-main .mq-float-card .mq-ico {
	width: 42px; height: 42px; padding: 10px; border-radius: 12px;
	background: linear-gradient(135deg, var(--mq-red), var(--mq-red-dark)); color: #fff;
	box-shadow: var(--mq-glow);
}
.mq-home-main .mq-float-card strong { display: block; font-family: var(--mq-font-head) !important; font-size: 15px; color: #fff; }
.mq-home-main .mq-float-card span { font-size: 13px; color: rgba(255, 255, 255, .6); }

.mq-home-main .mq-scroll {
	position: absolute; left: 50%; bottom: 34px; transform: translateX(-50%);
	width: 26px; height: 42px; border-radius: 14px;
	border: 1.5px solid rgba(255, 255, 255, .35);
}
.mq-home-main .mq-scroll span {
	position: absolute; left: 50%; top: 8px; width: 3px; height: 8px; margin-left: -1.5px;
	background: #fff; border-radius: 3px;
	animation: mqScroll 1.8s ease-in-out infinite;
}

/* ---------------- BRANDS ---------------- */
.mq-home-main .mq-brands {
	background: var(--mq-ink);
	padding: 8px 0 54px;
	border-bottom: 1px solid var(--mq-line);
}
.mq-home-main .mq-brands__head { text-align: center; margin-bottom: 26px; }
.mq-home-main .mq-marquee {
	position: relative; overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
.mq-home-main .mq-marquee__track {
	display: flex; align-items: center; width: max-content;
	animation: mqMarquee 46s linear infinite;
}
.mq-home-main .mq-marquee:hover .mq-marquee__track { animation-play-state: paused; }
.mq-home-main .mq-marquee__item { flex: none; padding: 0 44px; display: flex; align-items: center; height: 56px; }
.mq-home-main .mq-marquee__item img {
	max-height: 34px; width: auto; max-width: 150px;
	filter: brightness(0) invert(1); opacity: .5;
	transition: filter .4s var(--mq-ease), opacity .4s var(--mq-ease), transform .4s var(--mq-ease);
}
.mq-home-main .mq-marquee__item:hover img { filter: none; opacity: 1; transform: scale(1.08); }

/* ---------------- PILLARS ---------------- */
.mq-home-main .mq-pillars { background: #fff; padding-bottom: 40px; }
.mq-home-main .mq-pillars__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.mq-home-main .mq-pillar {
	padding: 36px 32px 32px;
	border-radius: var(--mq-radius);
	background: #fff;
	border: 1px solid var(--mq-line-dark);
	box-shadow: var(--mq-shadow);
	transition: transform .5s var(--mq-ease), box-shadow .5s var(--mq-ease), border-color .5s;
}
.mq-home-main .mq-pillar:hover { transform: translateY(-8px); box-shadow: var(--mq-shadow-lg); border-color: rgba(239, 63, 61, .3); }
.mq-home-main .mq-pillar__num { position: absolute; top: 28px; right: 30px; font-family: var(--mq-font-mono) !important; font-size: 13px; font-weight: 600; color: #8796a3; }
.mq-home-main .mq-pillar__ico {
	width: 58px; height: 58px; border-radius: 16px; margin-bottom: 26px;
	display: flex; align-items: center; justify-content: center;
	background: rgba(239, 63, 61, .09); color: var(--mq-red);
	transition: background .4s, color .4s, transform .5s var(--mq-ease);
}
.mq-home-main .mq-pillar__ico .mq-ico { width: 28px; height: 28px; }
.mq-home-main .mq-pillar:hover .mq-pillar__ico { background: var(--mq-red); color: #fff; transform: rotate(-6deg) scale(1.05); }
.mq-home-main .mq-pillar h3 { font-size: 21px; font-weight: 700; margin-bottom: 10px; letter-spacing: -.02em; }
.mq-home-main .mq-pillar p { font-size: 15.5px; margin-bottom: 22px; }

/* ---------------- ABOUT ---------------- */
.mq-home-main .mq-about { background: #fff; }
.mq-home-main .mq-about__grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 72px; align-items: center; }
.mq-home-main .mq-about__copy .mq-btn { margin-top: 14px; }
.mq-home-main .mq-about__bento {
	display: grid; gap: 16px;
	grid-template-columns: 1fr 1fr;
	grid-template-areas: "a b" "a c" "d d";
}
.mq-home-main .mq-bento {
	padding: 26px; border-radius: var(--mq-radius);
	background: var(--mq-paper); border: 1px solid var(--mq-line-dark);
	overflow: hidden;
	transition: transform .5s var(--mq-ease), box-shadow .5s var(--mq-ease);
}
.mq-home-main .mq-bento:hover { transform: translateY(-5px); box-shadow: var(--mq-shadow); }
.mq-home-main .mq-bento:nth-child(1) { grid-area: a; }
.mq-home-main .mq-bento:nth-child(2) { grid-area: b; }
.mq-home-main .mq-bento:nth-child(3) { grid-area: c; }
.mq-home-main .mq-bento:nth-child(4) { grid-area: d; }
.mq-home-main .mq-bento > .mq-ico { width: 30px; height: 30px; color: var(--mq-red); margin-bottom: 16px; }
.mq-home-main .mq-bento h4 { font-size: 17px; font-weight: 700; margin-bottom: 6px; }
.mq-home-main .mq-bento p { font-size: 14.5px; line-height: 1.6; margin: 0; }
.mq-home-main .mq-bento--dark {
	background:
		radial-gradient(120% 80% at 100% 0%, rgba(239, 63, 61, .4), transparent 55%),
		linear-gradient(180deg, rgba(6, 17, 27, .35) 0%, rgba(6, 17, 27, .92) 75%),
		var(--bg, none) center / cover no-repeat,
		var(--mq-navy);
	border-color: transparent;
	display: flex; flex-direction: column; justify-content: flex-end;
	min-height: 320px; color: #fff; position: relative;
}
.mq-home-main .mq-bento__big {
	font-family: var(--mq-font-head) !important; font-weight: 800;
	font-size: clamp(72px, 8vw, 112px); line-height: .9; letter-spacing: -.06em; color: #fff;
}
.mq-home-main .mq-bento__label { color: rgba(255, 255, 255, .7); font-size: 15px; margin-top: 10px; }
.mq-home-main .mq-bento__lines {
	position: absolute; inset: 0; z-index: -1; opacity: .6;
	background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 14px);
	-webkit-mask-image: linear-gradient(180deg, #000, transparent 70%);
	mask-image: linear-gradient(180deg, #000, transparent 70%);
}
.mq-home-main .mq-bento--red {
	background: linear-gradient(135deg, var(--mq-red), var(--mq-red-dark));
	border-color: transparent;
	display: grid; grid-template-columns: auto 1fr; column-gap: 18px; align-items: center;
}
.mq-home-main .mq-bento--red > .mq-ico { color: #fff; grid-row: span 2; margin: 0; width: 38px; height: 38px; animation: mqSpin 14s linear infinite; }
.mq-home-main .mq-bento--red h4 { color: #fff; }
.mq-home-main .mq-bento--red p { color: rgba(255, 255, 255, .82); }

/* ---------------- EXPERTISE (dark) ---------------- */
.mq-home-main .mq-dark { background: var(--mq-ink); color: #fff; isolation: isolate; }
.mq-home-main .mq-dark .mq-h2 { color: #fff; }
.mq-home-main .mq-dark p { color: rgba(255, 255, 255, .62); }
.mq-home-main .mq-expertise .mq-hero__grid {
	-webkit-mask-image: radial-gradient(ellipse 60% 50% at 50% 0%, #000 10%, transparent 80%);
	mask-image: radial-gradient(ellipse 60% 50% at 50% 0%, #000 10%, transparent 80%);
}
.mq-home-main .mq-section-head { max-width: 720px; margin: 0 auto 56px; text-align: center; }
.mq-home-main .mq-section-head .mq-eyebrow { justify-content: center; }
.mq-home-main .mq-section-head--row {
	max-width: none; text-align: left;
	display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap;
}
.mq-home-main .mq-section-head--row .mq-h2 { margin-bottom: 0; }

.mq-home-main .mq-domains {
	display: grid; gap: 16px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: minmax(230px, auto);
}
.mq-home-main .mq-domain:nth-child(1) { grid-column: 1 / 3; grid-row: 1 / 3; }
.mq-home-main .mq-domain:nth-child(2) { grid-column: 3 / 5; }
.mq-home-main .mq-domain:nth-child(3) { grid-column: 3 / 4; }
.mq-home-main .mq-domain:nth-child(4) { grid-column: 4 / 5; }
.mq-home-main .mq-domain:nth-child(5) { grid-column: 1 / 2; }
.mq-home-main .mq-domain:nth-child(6) { grid-column: 2 / 5; }

.mq-home-main .mq-domain {
	display: flex; flex-direction: column;
	padding: 28px; border-radius: var(--mq-radius);
	background: linear-gradient(160deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .015));
	border: 1px solid var(--mq-line);
	color: #fff; text-decoration: none !important;
	overflow: hidden;
	transition: transform .5s var(--mq-ease), border-color .5s, background .5s;
}
.mq-home-main .mq-domain::before { background: radial-gradient(380px circle at var(--mx, 50%) var(--my, 50%), rgba(239, 63, 61, .22), transparent 45%); }
.mq-home-main .mq-domain:hover { transform: translateY(-6px); border-color: rgba(239, 63, 61, .45); color: #fff; }
.mq-home-main .mq-domain__idx { font-family: var(--mq-font-mono) !important; font-size: 12px; color: rgba(255, 255, 255, .35); letter-spacing: .1em; }
.mq-home-main .mq-domain__ico {
	width: 52px; height: 52px; margin: 18px 0 auto; border-radius: 14px;
	display: flex; align-items: center; justify-content: center;
	background: rgba(239, 63, 61, .14); color: var(--mq-red-2);
	border: 1px solid rgba(239, 63, 61, .25);
}
.mq-home-main .mq-domain__ico .mq-ico { width: 26px; height: 26px; }
.mq-home-main .mq-domain h3 { color: #fff; font-size: 20px; font-weight: 700; margin: 26px 0 8px; letter-spacing: -.02em; }
.mq-home-main .mq-domain p { font-size: 14.5px; line-height: 1.6; margin: 0 0 16px; color: rgba(255, 255, 255, .6); }
.mq-home-main .mq-domain__brands { font-family: var(--mq-font-mono) !important; font-size: 11.5px; letter-spacing: .06em; color: var(--mq-steel); }
.mq-home-main .mq-domain__go {
	position: absolute; right: 22px; top: 22px;
	width: 42px; height: 42px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	border: 1px solid var(--mq-line); color: #fff;
	transform: rotate(-45deg);
	transition: transform .5s var(--mq-ease), background .4s, border-color .4s;
}
.mq-home-main .mq-domain__go .mq-ico { width: 18px; height: 18px; }
.mq-home-main .mq-domain:hover .mq-domain__go { transform: rotate(0); background: var(--mq-red); border-color: var(--mq-red); }

.mq-home-main .mq-domain--lg {
	background:
		radial-gradient(90% 70% at 100% 100%, rgba(239, 63, 61, .38), transparent 60%),
		linear-gradient(180deg, rgba(6, 17, 27, .55) 0%, rgba(6, 17, 27, .95) 78%),
		var(--bg, none) center / cover no-repeat,
		var(--mq-navy);
	background-size: auto, auto, 108%, auto;
	transition: transform .5s var(--mq-ease), border-color .5s, background-size 1.2s var(--mq-ease);
}
.mq-home-main .mq-domain--lg:hover { background-size: auto, auto, 116%, auto; }
.mq-home-main .mq-domain--lg h3 { font-size: clamp(26px, 2.6vw, 36px); letter-spacing: -.035em; }
.mq-home-main .mq-domain--lg p { font-size: 16px; max-width: 420px; }
.mq-home-main .mq-domain--lg .mq-domain__ico { width: 72px; height: 72px; border-radius: 20px; }
.mq-home-main .mq-domain--lg .mq-domain__ico .mq-ico { width: 36px; height: 36px; }

/* ---------------- STATS ---------------- */
.mq-home-main .mq-stats { background: #fff; border-bottom: 1px solid var(--mq-line-dark); }
.mq-home-main .mq-stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.mq-home-main .mq-stat { padding: 54px 26px; text-align: center; position: relative; }
.mq-home-main .mq-stat + .mq-stat::before {
	content: ""; position: absolute; left: 0; top: 30%; bottom: 30%; width: 1px;
	background: linear-gradient(transparent, var(--mq-line-dark), transparent);
}
.mq-home-main .mq-stat strong {
	display: block;
	font-family: var(--mq-font-head) !important; font-weight: 800;
	font-size: clamp(40px, 4.6vw, 64px); line-height: 1; letter-spacing: -.05em;
	color: var(--mq-navy);
}
.mq-home-main .mq-stat strong small { font-size: .5em; color: var(--mq-red); letter-spacing: 0; }
.mq-home-main .mq-stat > span { display: block; margin-top: 10px; font-size: 14.5px; color: var(--mq-muted); }

/* ---------------- SAV ---------------- */
.mq-home-main .mq-sav { background: var(--mq-paper); }
.mq-home-main .mq-sav__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.mq-home-main .mq-sav__media { position: relative; }
.mq-home-main .mq-sav__img {
	aspect-ratio: 4 / 4.4;
	border-radius: var(--mq-radius-lg);
	background-size: cover; background-position: center;
	box-shadow: var(--mq-shadow-lg);
	position: relative; overflow: hidden;
}
.mq-home-main .mq-sav__img::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(200deg, transparent 50%, rgba(6, 17, 27, .55));
}
.mq-home-main .mq-sav__media::before {
	content: ""; position: absolute; z-index: 0;
	width: 62%; height: 62%; left: -28px; top: -28px;
	border-radius: var(--mq-radius-lg);
	background-image: radial-gradient(rgba(239, 63, 61, .45) 1.5px, transparent 1.5px);
	background-size: 18px 18px;
}
.mq-home-main .mq-sav__img { z-index: 1; }
.mq-home-main .mq-sav__badge {
	position: absolute; z-index: 2; right: -26px; bottom: 40px;
	display: flex; align-items: center; gap: 14px; padding: 18px 22px;
	background: rgba(10, 27, 41, .78);
	animation: mqFloat 7s ease-in-out infinite;
}
.mq-home-main .mq-sav__badge .mq-ico { width: 42px; height: 42px; padding: 10px; border-radius: 12px; background: var(--mq-red); color: #fff; }
.mq-home-main .mq-sav__badge strong { display: block; color: #fff; font-family: var(--mq-font-head) !important; font-size: 15px; }
.mq-home-main .mq-sav__badge span { color: rgba(255, 255, 255, .65); font-size: 13px; }

.mq-home-main .mq-steps { list-style: none; margin: 30px 0 0; padding: 0; position: relative; }
.mq-home-main .mq-steps::before {
	content: ""; position: absolute; left: 23px; top: 10px; bottom: 10px; width: 1px;
	background: linear-gradient(var(--mq-red), rgba(239, 63, 61, .05));
}
.mq-home-main .mq-steps li { display: flex; gap: 22px; padding: 14px 0; position: relative; }
.mq-home-main .mq-steps__n {
	flex: none; width: 47px; height: 47px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: #fff; border: 1px solid rgba(239, 63, 61, .35);
	font-family: var(--mq-font-mono) !important; font-size: 13px; font-weight: 600; color: var(--mq-red);
	box-shadow: 0 0 0 6px var(--mq-paper);
	transition: background .4s, color .4s;
}
.mq-home-main .mq-steps li:hover .mq-steps__n { background: var(--mq-red); color: #fff; }
.mq-home-main .mq-steps h4 { font-size: 18px; font-weight: 700; margin: 4px 0 6px; }
.mq-home-main .mq-steps p { margin: 0; font-size: 15px; }

/* ---------------- FAQ ---------------- */
.mq-home-main .mq-faq { background: #fff; }
.mq-home-main .mq-faq__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: start; }
.mq-home-main .mq-faq__head { position: sticky; top: 130px; }
.mq-home-main .mq-hours {
	margin-top: 30px; padding: 8px 24px; border-radius: var(--mq-radius);
	background: var(--mq-navy); color: #fff;
	box-shadow: var(--mq-shadow-lg);
}
.mq-home-main .mq-hours__row { display: flex; justify-content: space-between; gap: 14px; padding: 16px 0; font-size: 14.5px; }
.mq-home-main .mq-hours__row + .mq-hours__row { border-top: 1px solid var(--mq-line); }
.mq-home-main .mq-hours__row span { color: rgba(255, 255, 255, .6); }
.mq-home-main .mq-hours__row strong { font-family: var(--mq-font-mono) !important; font-weight: 600; font-size: 13.5px; color: #fff; text-align: right; }
.mq-home-main .mq-hours__row--hl strong { color: var(--mq-red-2); }

.mq-home-main .mq-acc { border-bottom: 1px solid var(--mq-line-dark); }
.mq-home-main .mq-acc:first-child { border-top: 1px solid var(--mq-line-dark); }
.mq-home-main .mq-acc__btn {
	width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px;
	padding: 28px 0; background: none !important; border: 0 !important; cursor: pointer; text-align: left;
	font-family: var(--mq-font-head) !important; font-size: clamp(17px, 1.6vw, 21px); font-weight: 600; letter-spacing: -.02em;
	color: var(--mq-text) !important; box-shadow: none !important;
	transition: color .3s;
}
.mq-home-main .mq-acc__btn:hover,
.mq-home-main .mq-acc.is-open .mq-acc__btn { color: var(--mq-red) !important; }
.mq-home-main .mq-acc__btn:focus-visible { outline: 2px solid var(--mq-red); outline-offset: 4px; border-radius: 6px; }
.mq-home-main .mq-acc__ico {
	flex: none; width: 40px; height: 40px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	border: 1px solid var(--mq-line-dark); color: var(--mq-text);
	transition: transform .5s var(--mq-ease), background .3s, color .3s, border-color .3s;
}
.mq-home-main .mq-acc__ico .mq-ico { width: 18px; height: 18px; }
.mq-home-main .mq-acc.is-open .mq-acc__ico { transform: rotate(135deg); background: var(--mq-red); border-color: var(--mq-red); color: #fff; }
.mq-home-main .mq-acc__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .5s var(--mq-ease); }
.mq-home-main .mq-acc__panel > div { overflow: hidden; }
.mq-home-main .mq-acc.is-open .mq-acc__panel { grid-template-rows: 1fr; }
.mq-home-main .mq-acc__panel p { padding: 0 60px 28px 0; margin: 0; }

/* ---------------- CTA ---------------- */
.mq-home-main .mq-cta-wrap { padding-top: 0; }
.mq-home-main .mq-cta {
	position: relative; isolation: isolate; overflow: hidden;
	display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; gap: 40px;
	padding: clamp(40px, 6vw, 80px);
	border-radius: var(--mq-radius-lg);
	background:
		radial-gradient(80% 120% at 100% 100%, rgba(6, 17, 27, .55), transparent 60%),
		linear-gradient(135deg, var(--mq-red-2), var(--mq-red) 40%, var(--mq-red-dark));
	box-shadow: 0 40px 90px -40px rgba(239, 63, 61, .8);
}
.mq-home-main .mq-cta .mq-hero__grid {
	-webkit-mask-image: radial-gradient(ellipse 70% 90% at 0% 0%, #000 0%, transparent 70%);
	mask-image: radial-gradient(ellipse 70% 90% at 0% 0%, #000 0%, transparent 70%);
	background-image:
		linear-gradient(rgba(255, 255, 255, .12) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .12) 1px, transparent 1px);
}
.mq-home-main .mq-cta .mq-mono { color: rgba(255, 255, 255, .78); }
.mq-home-main .mq-cta h2 {
	color: #fff; font-size: clamp(30px, 3.6vw, 50px); font-weight: 800; line-height: 1.05; letter-spacing: -.04em;
	margin: 14px 0 34px;
}
.mq-home-main .mq-cta__actions { display: flex; flex-wrap: wrap; gap: 14px; }
.mq-home-main .mq-cta__visual { position: relative; display: flex; justify-content: center; }
.mq-home-main .mq-cta__visual img {
	display: block;
	width: min(100%, 300px); height: 360px;
	object-fit: cover; object-position: 93% center;
	border-radius: 24px;
	border: 1px solid rgba(255, 255, 255, .25);
	transform: rotate(-6deg);
	box-shadow: 0 40px 70px -20px rgba(0, 0, 0, .55);
	animation: mqFloat 7s ease-in-out infinite;
}

/* ---------------- BLOG ---------------- */
.mq-home-main .mq-blog { background: var(--mq-paper); }
.mq-home-main .mq-blog .mq-section-head { margin-bottom: 48px; }
.mq-home-main .mq-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.mq-home-main .mq-post {
	background: #fff; border-radius: var(--mq-radius); overflow: hidden;
	border: 1px solid var(--mq-line-dark);
	display: flex; flex-direction: column;
	transition: transform .5s var(--mq-ease), box-shadow .5s var(--mq-ease);
}
.mq-home-main .mq-post:hover { transform: translateY(-8px); box-shadow: var(--mq-shadow-lg); }
.mq-home-main .mq-post__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--mq-navy); }
.mq-home-main .mq-post__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--mq-ease); }
.mq-home-main .mq-post:hover .mq-post__media img { transform: scale(1.07); }
.mq-home-main .mq-post__ph { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; color: rgba(255, 255, 255, .3); }
.mq-home-main .mq-post__ph .mq-ico { width: 48px; height: 48px; }
.mq-home-main .mq-post__body { padding: 26px 26px 28px; display: flex; flex-direction: column; flex: 1; }
.mq-home-main .mq-post__date { font-family: var(--mq-font-mono) !important; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--mq-red); margin-bottom: 12px; }
.mq-home-main .mq-post h3 { font-size: 19px; font-weight: 700; line-height: 1.32; letter-spacing: -.02em; margin-bottom: 12px; }
.mq-home-main .mq-post h3 a { color: var(--mq-text); text-decoration: none !important; background: linear-gradient(var(--mq-red), var(--mq-red)) 0 100% / 0 2px no-repeat; transition: background-size .5s var(--mq-ease), color .3s; }
.mq-home-main .mq-post:hover h3 a { background-size: 100% 2px; }
.mq-home-main .mq-post p { font-size: 15px; line-height: 1.6; flex: 1; }

/* ---------------- CONTACT STRIP ---------------- */
.mq-home-main .mq-contact-strip { background: var(--mq-ink); padding: 40px 0; border-bottom: 1px solid var(--mq-line); }
.mq-home-main .mq-contact-strip__grid { display: grid; grid-template-columns: 1fr 1.25fr 1fr; gap: 16px; }
.mq-home-main .mq-cs {
	display: flex; align-items: center; gap: 16px;
	padding: 22px 24px; border-radius: 18px;
	border: 1px solid var(--mq-line);
	background: rgba(255, 255, 255, .03);
	color: #fff; text-decoration: none !important;
	font-family: var(--mq-font-head) !important; font-weight: 600; font-size: 15.5px; line-height: 1.35;
	overflow: hidden;
	transition: transform .4s var(--mq-ease), border-color .4s;
}
.mq-home-main .mq-cs:hover { color: #fff; transform: translateY(-3px); border-color: rgba(255, 255, 255, .25); }
.mq-home-main .mq-cs small { display: block; font-family: var(--mq-font) !important; font-weight: 400; font-size: 12.5px; color: rgba(255, 255, 255, .5); margin-bottom: 3px; }
.mq-home-main .mq-cs__ico {
	flex: none; width: 46px; height: 46px; border-radius: 14px;
	display: flex; align-items: center; justify-content: center;
	background: rgba(239, 63, 61, .14); color: var(--mq-red-2);
}
.mq-home-main .mq-cs--red { justify-content: space-between; background: linear-gradient(135deg, var(--mq-red), var(--mq-red-dark)); border-color: transparent; box-shadow: var(--mq-glow); }
.mq-home-main .mq-cs--red small { color: rgba(255, 255, 255, .8); }
.mq-home-main .mq-cs--red .mq-cs__ico { background: rgba(255, 255, 255, .18); color: #fff; transition: transform .4s var(--mq-ease); }
.mq-home-main .mq-cs--red:hover .mq-cs__ico { transform: translateX(4px); }

/* --------------------------------------------------------------------------
   6. REVEAL ANIMATIONS
   -------------------------------------------------------------------------- */
.mq-js .mq-home-main .mq-reveal {
	opacity: 0;
	transform: translate3d(0, 34px, 0);
	transition: opacity .9s var(--mq-ease), transform .9s var(--mq-ease);
	transition-delay: calc(var(--d, 0) * 90ms);
}
.mq-js .mq-home-main .mq-reveal.is-in { opacity: 1; transform: none; }
.mq-home-main [data-delay="1"] { --d: 1; }
.mq-home-main [data-delay="2"] { --d: 2; }
.mq-home-main [data-delay="3"] { --d: 3; }
.mq-home-main [data-delay="4"] { --d: 4; }

@keyframes mqKen { from { transform: scale(1.08) translate3d(0, 0, 0); } to { transform: scale(1.18) translate3d(-1.5%, -1%, 0); } }
@keyframes mqGlow { from { opacity: .7; transform: translate3d(0, 0, 0) scale(1); } to { opacity: 1; transform: translate3d(-60px, 40px, 0) scale(1.12); } }
@keyframes mqFill { to { background-size: 100% 100%; -webkit-text-stroke-color: rgba(255, 255, 255, .25); color: transparent; } }
@keyframes mqFloat { 0%, 100% { transform: translate3d(0, 0, 0); } 50% { transform: translate3d(0, -12px, 0); } }
@keyframes mqPulse { 0% { box-shadow: 0 0 0 0 rgba(47, 212, 122, .55); } 70% { box-shadow: 0 0 0 10px rgba(47, 212, 122, 0); } 100% { box-shadow: 0 0 0 0 rgba(47, 212, 122, 0); } }
@keyframes mqRing { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(1.6); opacity: 0; } }
@keyframes mqScroll { 0% { transform: translateY(0); opacity: 1; } 70% { transform: translateY(14px); opacity: 0; } 100% { opacity: 0; } }
@keyframes mqMarquee { to { transform: translate3d(-50%, 0, 0); } }
@keyframes mqSpin { to { transform: rotate(360deg); } }

/* CTA image already rotated: keep rotation inside float */
.mq-home-main .mq-cta__visual img { animation-name: mqFloatRot; }
@keyframes mqFloatRot { 0%, 100% { transform: rotate(-6deg) translate3d(0, 0, 0); } 50% { transform: rotate(-4deg) translate3d(0, -14px, 0); } }

/* --------------------------------------------------------------------------
   7. RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width: 1199px) {
	.mq-home-main .mq-hero__inner { gap: 40px; }
	.mq-home-main .mq-float-card { left: -14px; }
	.mq-home-main .mq-sav__badge { right: 12px; }
	.mq-home-main .mq-slide-cap { max-width: 260px; }
}

@media (max-width: 1024px) {
	.mq-home-main .mq-hero { min-height: 0; padding: 190px 0 110px; }
	.mq-home-main .mq-hero__inner { grid-template-columns: 1fr; }
	.mq-home-main .mq-hero__panel { max-width: 520px; }
	.mq-home-main .mq-float-card { left: auto; right: -10px; top: auto; bottom: -34px; }
	.mq-home-main .mq-stat-card__head { margin-top: 0; }
	.mq-home-main .mq-about__grid,
	.mq-home-main .mq-sav__grid,
	.mq-home-main .mq-faq__grid { grid-template-columns: 1fr; gap: 52px; }
	.mq-home-main .mq-faq__head { position: static; }
	.mq-home-main .mq-domains { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mq-home-main .mq-domain:nth-child(n) { grid-column: auto; grid-row: auto; }
	.mq-home-main .mq-domain:nth-child(1) { grid-column: 1 / 3; }
	.mq-home-main .mq-domain:nth-child(6) { grid-column: 1 / 3; }
	.mq-home-main .mq-stats__grid { grid-template-columns: repeat(2, 1fr); }
	.mq-home-main .mq-stat:nth-child(3)::before { display: none; }
	.mq-home-main .mq-cta { grid-template-columns: 1fr; }
	.mq-home-main .mq-cta__visual img { height: 280px; width: min(100%, 240px); }
	.mq-home-main .mq-posts { grid-template-columns: repeat(2, 1fr); }
	.mq-home-main .mq-contact-strip__grid { grid-template-columns: 1fr; }
	.mq-home-main .mq-sav__img { aspect-ratio: 16 / 11; }
}

@media (max-width: 767px) {
	body.mq-modern .mainmenu-area .flex-v-center { min-height: 70px; }
	body.mq-modern .navbar-header .custom-logo-link img { max-height: 38px !important; }
	.mq-home-main .mq-container { padding: 0 18px; }
	.mq-home-main .mq-hero { padding: 150px 0 90px; }
	.mq-home-main .mq-hero__title { font-size: clamp(2.3rem, 11vw, 3.2rem); }
	.mq-home-main .mq-hero__actions .mq-btn { flex: 1 1 100%; justify-content: center; }
	.mq-home-main .mq-stat-card { padding: 24px; }
	.mq-home-main .mq-float-card { position: relative; right: auto; bottom: auto; margin-top: 14px; }
	.mq-home-main .mq-marquee__item { padding: 0 26px; }
	.mq-home-main .mq-marquee__item img { max-height: 26px; max-width: 110px; }
	.mq-home-main .mq-pillars__grid { grid-template-columns: 1fr; }
	.mq-home-main .mq-about__bento { grid-template-columns: 1fr; grid-template-areas: "a" "b" "c" "d"; }
	.mq-home-main .mq-bento--dark { min-height: 220px; }
	.mq-home-main .mq-domains { grid-template-columns: 1fr; }
	.mq-home-main .mq-domain:nth-child(n) { grid-column: auto; }
	.mq-home-main .mq-stat { padding: 34px 12px; }
	.mq-home-main .mq-sav__badge { right: 10px; left: 10px; bottom: 14px; }
	.mq-home-main .mq-sav__media::before { left: -12px; top: -12px; }
	.mq-home-main .mq-acc__panel p { padding-right: 0; }
	.mq-home-main .mq-posts { grid-template-columns: 1fr; }
	.mq-home-main .mq-cta__actions .mq-btn { flex: 1 1 100%; justify-content: center; }
	.mq-home-main .mq-slide-cap { display: none; }
	.mq-home-main .mq-slider-ui { bottom: 22px; gap: 14px; }
	.mq-home-main .mq-slider-bars { margin-left: 0; }
	.mq-home-main .mq-slider-bars button { width: 28px; }
	.mq-home-main .mq-slider-nav button { width: 38px; height: 38px; }
}

@media (prefers-reduced-motion: reduce) {
	.mq-home-main *,
	.mq-home-main *::before,
	.mq-home-main *::after { animation: none !important; transition-duration: .01ms !important; }
	.mq-js .mq-home-main .mq-reveal { opacity: 1; transform: none; }
	html { scroll-behavior: auto; }
}

/* ==========================================================================
   8. CATALOGUE INTERACTIF (Nos Produits / Catalogue)
   ========================================================================== */
.mq-home-main.mq-cat-main { overflow: visible; }
.mq-cat-main .mq-cat-hero {
	position: relative; isolation: isolate; overflow: hidden;
	background: var(--mq-ink); color: #fff;
	padding: 220px 0 110px;
}
.mq-cat-main .mq-cat-hero__mosaic {
	position: absolute; inset: -20% -10%; z-index: -3;
	display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px;
	transform: rotate(-8deg) scale(1.15);
	opacity: .55;
	animation: mqMosaic 60s linear infinite alternate;
}
.mq-cat-main .mq-cat-hero__mosaic span {
	display: block; aspect-ratio: 4 / 5; border-radius: 18px;
	background-size: cover; background-position: center;
	filter: saturate(.9);
}
.mq-cat-main .mq-cat-hero__mosaic span:nth-child(2n) { transform: translateY(40%); }
.mq-cat-main .mq-cat-hero__shade {
	position: absolute; inset: 0; z-index: -2;
	background:
		radial-gradient(70% 90% at 20% 50%, rgba(6, 17, 27, .97) 0%, rgba(6, 17, 27, .86) 45%, rgba(6, 17, 27, .55) 100%),
		linear-gradient(0deg, var(--mq-ink) 0%, transparent 30%);
}
.mq-cat-main .mq-cat-hero__inner { max-width: 1260px; }
.mq-cat-main .mq-cat-hero .mq-eyebrow { color: #fff; }
.mq-cat-main .mq-cat-hero__title {
	color: #fff; font-size: clamp(2.5rem, 5.6vw, 5rem); font-weight: 800; line-height: 1.02; letter-spacing: -.045em;
	margin: 0 0 24px; max-width: 900px;
}
.mq-cat-main .mq-cat-hero__lead { color: rgba(255, 255, 255, .72); font-size: clamp(16px, 1.3vw, 18.5px); max-width: 640px; margin-bottom: 34px; }

.mq-cat-main .mq-cat-search {
	position: relative; max-width: 680px; margin: 0 0 34px;
	display: flex; align-items: center;
	background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 999px; padding: 6px 8px 6px 22px;
	-webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
	transition: border-color .3s, box-shadow .3s, background .3s;
}
.mq-cat-main .mq-cat-search:focus-within { border-color: var(--mq-red); box-shadow: 0 0 0 5px rgba(239, 63, 61, .2); background: rgba(255, 255, 255, .12); }
.mq-cat-main .mq-cat-search svg { width: 22px; height: 22px; color: rgba(255, 255, 255, .7); flex: none; }
.mq-cat-main .mq-cat-search input {
	flex: 1; min-width: 0; background: transparent !important; border: 0 !important; box-shadow: none !important;
	color: #fff !important; font-size: 16px !important; padding: 14px 14px !important; outline: none !important;
}
.mq-cat-main .mq-cat-search input::placeholder { color: rgba(255, 255, 255, .5); }
.mq-cat-main .mq-cat-search__count { font-family: var(--mq-font-mono) !important; font-size: 12px; color: rgba(255, 255, 255, .6); padding-right: 14px; white-space: nowrap; }

.mq-cat-main .mq-cat-hero__stats { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 40px; }
.mq-cat-main .mq-cat-hero__stats > div strong { display: block; font-family: var(--mq-font-head) !important; font-size: 34px; font-weight: 800; letter-spacing: -.04em; color: #fff; line-height: 1; }
.mq-cat-main .mq-cat-hero__stats > div span { font-size: 13.5px; color: rgba(255, 255, 255, .55); }
.mq-cat-main .mq-cat-hero__stats .mq-btn { margin-left: auto; }

/* Category cards */
.mq-cat-main .mq-cat-list { background: #fff; }
.mq-cat-main .mq-cat-list__hint { margin: 0; color: var(--mq-muted); }
.mq-cat-main .mq-cats {
	display: grid; gap: 18px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: 270px;
	grid-auto-flow: dense;
}
.mq-cat-main .mq-cat:nth-child(7n + 1) { grid-column: span 2; grid-row: span 2; }
.mq-cat-main .mq-cat:nth-child(7n + 5) { grid-column: span 2; }
.mq-cat-main .mq-cat {
	position: relative; display: block; overflow: hidden; isolation: isolate;
	border-radius: var(--mq-radius); background: var(--mq-navy);
	color: #fff; text-decoration: none !important;
	box-shadow: var(--mq-shadow);
	transform: translateZ(0);
}
.mq-cat-main .mq-cat__img {
	position: absolute; inset: 0; z-index: -2;
	background-size: cover; background-position: center;
	transform: scale(1.04);
	transition: transform 1.2s var(--mq-ease), filter .6s;
}
.mq-cat-main .mq-cat__shade {
	position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(180deg, rgba(6, 17, 27, 0) 30%, rgba(6, 17, 27, .88) 100%);
	transition: background .6s;
}
.mq-cat-main .mq-cat::after {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(135deg, rgba(239, 63, 61, .0), rgba(239, 63, 61, .55));
	opacity: 0; transition: opacity .6s var(--mq-ease);
}
.mq-cat-main .mq-cat:hover .mq-cat__img { transform: scale(1.12); }
.mq-cat-main .mq-cat:hover::after { opacity: 1; }
.mq-cat-main .mq-cat__idx {
	position: absolute; left: 22px; top: 20px;
	font-family: var(--mq-font-mono) !important; font-size: 12px; letter-spacing: .1em;
	padding: 6px 10px; border-radius: 999px;
	background: rgba(6, 17, 27, .5); border: 1px solid rgba(255, 255, 255, .18);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.mq-cat-main .mq-cat__go {
	position: absolute; right: 20px; top: 18px;
	width: 44px; height: 44px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .25);
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	transform: rotate(-45deg);
	transition: transform .5s var(--mq-ease), background .4s, border-color .4s;
}
.mq-cat-main .mq-cat__go .mq-ico { width: 18px; height: 18px; }
.mq-cat-main .mq-cat:hover .mq-cat__go { transform: rotate(0); background: var(--mq-red); border-color: var(--mq-red); }
.mq-cat-main .mq-cat__body { position: absolute; left: 22px; right: 22px; bottom: 20px; }
.mq-cat-main .mq-cat__name {
	display: block; font-family: var(--mq-font-head) !important; font-weight: 700;
	font-size: 21px; line-height: 1.15; letter-spacing: -.025em;
	text-shadow: 0 2px 20px rgba(0, 0, 0, .4);
}
.mq-cat-main .mq-cat:nth-child(7n + 1) .mq-cat__name { font-size: clamp(28px, 3vw, 40px); letter-spacing: -.04em; }
.mq-cat-main .mq-cat__meta {
	display: flex; align-items: center; gap: 10px; margin-top: 8px;
	font-size: 13px; color: rgba(255, 255, 255, .75);
}
.mq-cat-main .mq-cat__meta em {
	font-style: normal; font-family: var(--mq-font-mono) !important; font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
	color: #fff; opacity: 0; transform: translateX(-8px);
	transition: opacity .4s, transform .4s var(--mq-ease);
}
.mq-cat-main .mq-cat:hover .mq-cat__meta em { opacity: 1; transform: none; }
.mq-cat-main .mq-cat.is-hidden { display: none; }
.mq-cat-main .mq-cat-empty { text-align: center; padding: 40px 0 0; }

/* Category overlay layer */
.mq-cat-main .mq-cv-layer {
	position: fixed; inset: 0; z-index: 100000;
	background: var(--mq-paper);
	overflow-y: auto; overscroll-behavior: contain;
	opacity: 0; visibility: hidden;
	transform: translateY(30px);
	transition: opacity .5s var(--mq-ease), transform .6s var(--mq-ease), visibility 0s .6s;
}
.mq-cat-main .mq-cv-layer.is-open { opacity: 1; visibility: visible; transform: none; transition: opacity .5s var(--mq-ease), transform .6s var(--mq-ease), visibility 0s; }
html.mq-lock, html.mq-lock body { overflow: hidden !important; }
.mq-cat-main .mq-cv-close {
	position: fixed; top: 22px; right: 22px; z-index: 5;
	width: 52px; height: 52px; border-radius: 50%; padding: 0; cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	background: rgba(6, 17, 27, .6) !important; color: #fff !important; border: 1px solid rgba(255, 255, 255, .25) !important;
	-webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
	transition: background .3s, transform .4s var(--mq-ease);
}
.mq-cat-main .mq-cv-close .mq-ico { width: 22px; height: 22px; transform: rotate(45deg); }
.mq-cat-main .mq-cv-close:hover { background: var(--mq-red) !important; transform: rotate(90deg); }

.mq-cat-main .mq-cv__hero {
	position: relative; isolation: isolate; overflow: hidden;
	min-height: min(78vh, 720px);
	display: flex; align-items: flex-end;
	color: #fff; background: var(--mq-ink);
	padding: 120px 0 64px;
}
.mq-cat-main .mq-cv__img {
	position: absolute; inset: -4%; z-index: -2;
	background-size: cover; background-position: center;
	transform: scale(1.12);
	transition: transform 2.4s var(--mq-ease);
}
.mq-cat-main .mq-cv.is-active .mq-cv__img { transform: scale(1); }
.mq-cat-main .mq-cv__shade {
	position: absolute; inset: 0; z-index: -1;
	background:
		linear-gradient(90deg, rgba(6, 17, 27, .9) 0%, rgba(6, 17, 27, .55) 45%, rgba(6, 17, 27, .1) 100%),
		linear-gradient(0deg, rgba(6, 17, 27, .95) 0%, transparent 55%);
}
.mq-cat-main .mq-cv__hero-inner > * { opacity: 0; transform: translateY(26px); transition: opacity .8s var(--mq-ease), transform .8s var(--mq-ease); }
.mq-cat-main .mq-cv.is-active .mq-cv__hero-inner > * { opacity: 1; transform: none; }
.mq-cat-main .mq-cv.is-active .mq-cv__hero-inner > *:nth-child(2) { transition-delay: .1s; }
.mq-cat-main .mq-cv.is-active .mq-cv__hero-inner > *:nth-child(3) { transition-delay: .2s; }
.mq-cat-main .mq-cv.is-active .mq-cv__hero-inner > *:nth-child(4) { transition-delay: .3s; }
.mq-cat-main .mq-cv.is-active .mq-cv__hero-inner > *:nth-child(5) { transition-delay: .4s; }
.mq-cat-main .mq-cv__back {
	display: inline-flex; align-items: center; gap: 10px; margin-bottom: 26px;
	color: rgba(255, 255, 255, .8) !important; text-decoration: none !important;
	font-family: var(--mq-font-head) !important; font-weight: 600; font-size: 14px;
}
.mq-cat-main .mq-cv__back .mq-ico { width: 18px; height: 18px; transform: rotate(180deg); transition: transform .35s var(--mq-ease); }
.mq-cat-main .mq-cv__back:hover { color: #fff !important; }
.mq-cat-main .mq-cv__back:hover .mq-ico { transform: rotate(180deg) translateX(4px); }
.mq-cat-main .mq-cv .mq-eyebrow { color: #fff; }
.mq-cat-main .mq-cv__title {
	color: #fff !important; font-family: var(--mq-font-head) !important;
	font-size: clamp(2.6rem, 7vw, 6rem); font-weight: 800; line-height: .98; letter-spacing: -.05em;
	margin: 0 0 18px; max-width: 900px;
}
.mq-cat-main .mq-cv__lead { color: rgba(255, 255, 255, .78) !important; font-size: clamp(16px, 1.4vw, 19px) !important; max-width: 620px; margin: 0 0 30px !important; }
.mq-cat-main .mq-cv__actions { display: flex; flex-wrap: wrap; gap: 12px; }

.mq-cat-main .mq-cv__body { padding: 70px 0 90px; }
.mq-cat-main .mq-cv__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 26px; scroll-margin-top: 30px; }
.mq-cat-main .mq-cv__head h3 { font-size: clamp(26px, 3vw, 38px) !important; font-weight: 800; letter-spacing: -.035em; color: var(--mq-text); margin: 0; }
.mq-cat-main .mq-cv__head--boards { margin-top: 80px; }

.mq-cat-main .mq-prods { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 16px; }
.mq-cat-main .mq-prod {
	margin: 0; background: #fff; border-radius: 18px; overflow: hidden;
	border: 1px solid var(--mq-line-dark);
	display: flex; flex-direction: column;
	transition: transform .45s var(--mq-ease), box-shadow .45s var(--mq-ease), border-color .45s;
	opacity: 0; transform: translateY(20px);
}
.mq-cat-main .mq-prod.is-in { opacity: 1; transform: none; }
.mq-cat-main .mq-prod.is-in:hover { transform: translateY(-6px); box-shadow: var(--mq-shadow-lg); border-color: rgba(239, 63, 61, .3); }
.mq-cat-main .mq-prod__media {
	display: flex; align-items: center; justify-content: center;
	aspect-ratio: 1 / 1; padding: 18px; cursor: zoom-in;
	background: radial-gradient(circle at 50% 40%, #fff 0%, #f1f4f7 100%) !important;
	border: 0 !important; box-shadow: none !important; border-radius: 0 !important;
}
.mq-cat-main .mq-prod__media img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; transition: transform .7s var(--mq-ease); mix-blend-mode: multiply; }
.mq-cat-main .mq-prod:hover .mq-prod__media img { transform: scale(1.08); }
.mq-cat-main .mq-prod figcaption { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px; border-top: 1px solid var(--mq-line-dark); margin-top: auto; }
.mq-cat-main .mq-prod__name { font-family: var(--mq-font-head) !important; font-weight: 600; font-size: 14px; line-height: 1.3; color: var(--mq-text); }
.mq-cat-main .mq-prod__cta {
	flex: none; display: inline-flex; align-items: center; gap: 6px;
	font-family: var(--mq-font-mono) !important; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase;
	color: var(--mq-red) !important; text-decoration: none !important;
}
.mq-cat-main .mq-prod__cta .mq-ico { width: 14px; height: 14px; transition: transform .3s var(--mq-ease); }
.mq-cat-main .mq-prod__cta:hover .mq-ico { transform: translateX(3px); }

.mq-cat-main .mq-boards { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 18px; }
.mq-cat-main .mq-board {
	position: relative; padding: 0; cursor: zoom-in; overflow: hidden;
	border-radius: 16px; border: 1px solid var(--mq-line-dark) !important; background: #fff !important;
	box-shadow: var(--mq-shadow) !important;
	transition: transform .45s var(--mq-ease), box-shadow .45s var(--mq-ease);
}
.mq-cat-main .mq-board img { display: block; width: 100%; height: auto; }
.mq-cat-main .mq-board > span {
	position: absolute; right: 14px; bottom: 14px; width: 42px; height: 42px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: var(--mq-red); color: #fff; box-shadow: var(--mq-glow);
	transform: scale(.6); opacity: 0; transition: transform .4s var(--mq-ease), opacity .4s;
}
.mq-cat-main .mq-board:hover { transform: translateY(-6px); box-shadow: var(--mq-shadow-lg) !important; }
.mq-cat-main .mq-board:hover > span { transform: scale(1); opacity: 1; }

.mq-cat-main .mq-cv__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 90px; }
.mq-cat-main .mq-cv__nav-item {
	position: relative; isolation: isolate; overflow: hidden;
	display: flex; flex-direction: column; justify-content: flex-end;
	min-height: 180px; padding: 26px; border-radius: var(--mq-radius);
	color: #fff !important; text-decoration: none !important; background: var(--mq-navy);
}
.mq-cat-main .mq-cv__nav-img { position: absolute; inset: 0; z-index: -2; background-size: cover; background-position: center; transition: transform 1s var(--mq-ease); }
.mq-cat-main .mq-cv__nav-item::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(6, 17, 27, .9), rgba(6, 17, 27, .3)); }
.mq-cat-main .mq-cv__nav-item:hover .mq-cv__nav-img { transform: scale(1.08); }
.mq-cat-main .mq-cv__nav-item small { font-family: var(--mq-font-mono) !important; font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .7); }
.mq-cat-main .mq-cv__nav-item strong { font-family: var(--mq-font-head) !important; font-size: clamp(20px, 2.2vw, 28px); letter-spacing: -.03em; margin-top: 6px; }
.mq-cat-main .mq-cv__nav-item--next { text-align: right; }

/* Lightbox */
.mq-home-main .mq-lb {
	position: fixed; inset: 0; z-index: 100002;
	display: flex; align-items: center; justify-content: center; gap: 18px;
	padding: 30px;
	background: rgba(6, 17, 27, .94);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	animation: mqFadeIn .35s ease;
}
.mq-home-main .mq-lb[hidden] { display: none; }
.mq-home-main .mq-lb__fig { margin: 0; max-width: min(1100px, 100%); max-height: 100%; display: flex; flex-direction: column; align-items: center; gap: 18px; }
.mq-home-main .mq-lb__fig img { max-width: 100%; max-height: calc(100vh - 170px); width: auto; height: auto; border-radius: 16px; background: #fff; box-shadow: var(--mq-shadow-lg); animation: mqZoomIn .45s var(--mq-ease); }
.mq-home-main .mq-lb__fig figcaption { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; justify-content: center; }
.mq-home-main .mq-lb__name { color: #fff; font-family: var(--mq-font-head) !important; font-weight: 700; font-size: 20px; letter-spacing: -.02em; }
.mq-home-main .mq-lb__close,
.mq-home-main .mq-lb__nav {
	flex: none; width: 52px; height: 52px; border-radius: 50%; padding: 0; cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	background: rgba(255, 255, 255, .08) !important; color: #fff !important; border: 1px solid rgba(255, 255, 255, .2) !important;
	transition: background .3s, transform .3s var(--mq-ease);
}
.mq-home-main .mq-lb__close { position: absolute; top: 20px; right: 20px; }
.mq-home-main .mq-lb__close .mq-ico { transform: rotate(45deg); width: 22px; height: 22px; }
.mq-home-main .mq-lb__prev .mq-ico { transform: rotate(180deg); }
.mq-home-main .mq-lb__close:hover,
.mq-home-main .mq-lb__nav:hover { background: var(--mq-red) !important; border-color: var(--mq-red) !important; }

@keyframes mqMosaic { from { transform: rotate(-8deg) scale(1.15) translate3d(0, 0, 0); } to { transform: rotate(-8deg) scale(1.15) translate3d(-6%, -10%, 0); } }
@keyframes mqFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes mqZoomIn { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: none; } }

@media (max-width: 1024px) {
	.mq-cat-main .mq-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 230px; }
	.mq-cat-main .mq-cat:nth-child(7n + 1) { grid-column: span 2; grid-row: span 1; }
	.mq-cat-main .mq-cat:nth-child(7n + 5) { grid-column: span 1; }
	.mq-cat-main .mq-cat-hero__mosaic { grid-template-columns: repeat(4, 1fr); }
	.mq-cat-main .mq-cat-hero__stats .mq-btn { margin-left: 0; }
}
@media (max-width: 767px) {
	.mq-cat-main .mq-cat-hero { padding: 160px 0 80px; }
	.mq-cat-main .mq-cats { grid-template-columns: 1fr; grid-auto-rows: 210px; }
	.mq-cat-main .mq-cat:nth-child(7n + 1) { grid-column: auto; }
	.mq-cat-main .mq-cat-search__count { display: none; }
	.mq-cat-main .mq-prods { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.mq-cat-main .mq-prod figcaption { flex-direction: column; align-items: flex-start; }
	.mq-cat-main .mq-cv__nav { grid-template-columns: 1fr; }
	.mq-cat-main .mq-cv__hero { min-height: 70vh; padding-bottom: 44px; }
	.mq-cat-main .mq-cv-close { top: 14px; right: 14px; width: 46px; height: 46px; }
	.mq-home-main .mq-lb { padding: 70px 10px 20px; }
	.mq-home-main .mq-lb__nav { position: absolute; bottom: 18px; }
	.mq-home-main .mq-lb__prev { left: 18px; }
	.mq-home-main .mq-lb__next { right: 18px; }
}
@media (prefers-reduced-motion: reduce) {
	.mq-cat-main .mq-cat-hero__mosaic { animation: none; }
	.mq-cat-main .mq-prod { opacity: 1; transform: none; }
}

.mq-cat-main .mq-prod__name small { display: block; font-family: var(--mq-font-mono) !important; font-size: 10.5px; font-weight: 500; letter-spacing: .08em; color: var(--mq-red); margin-bottom: 3px; }

/* ==========================================================================
   9. PAGES INTERNES MODERNES
   ========================================================================== */
.mq-page-main .mq-phero {
	position: relative; isolation: isolate; overflow: hidden;
	min-height: clamp(560px, 78vh, 820px);
	display: flex; align-items: flex-end;
	background: var(--mq-ink); color: #fff;
	padding: 210px 0 90px;
}
.mq-page-main .mq-phero__img {
	position: absolute; inset: -3%; z-index: -3;
	background-size: cover; background-position: center;
	transform: scale(1.06);
	animation: mqPhero 18s ease-in-out infinite alternate;
}
.mq-page-main .mq-phero__shade {
	position: absolute; inset: 0; z-index: -2;
	background:
		linear-gradient(90deg, rgba(6, 17, 27, .95) 0%, rgba(6, 17, 27, .78) 42%, rgba(6, 17, 27, .35) 100%),
		linear-gradient(0deg, var(--mq-ink) 0%, transparent 40%),
		linear-gradient(180deg, rgba(6, 17, 27, .7) 0%, transparent 30%);
}
.mq-page-main .mq-phero .mq-eyebrow { color: #fff; }
.mq-page-main .mq-phero__title {
	color: #fff; font-size: clamp(2.6rem, 6vw, 5.4rem); font-weight: 800; line-height: 1; letter-spacing: -.045em;
	margin: 0 0 24px; max-width: 920px;
}
.mq-page-main .mq-phero__lead { color: rgba(255, 255, 255, .74); font-size: clamp(16px, 1.35vw, 19px); max-width: 640px; margin-bottom: 30px; }
.mq-page-main .mq-crumbs {
	display: flex; gap: 10px; align-items: center; margin-bottom: 26px;
	font-family: var(--mq-font-mono) !important; font-size: 12px; letter-spacing: .12em; text-transform: uppercase;
	color: rgba(255, 255, 255, .55);
}
.mq-page-main .mq-crumbs a { color: rgba(255, 255, 255, .8) !important; text-decoration: none !important; }
.mq-page-main .mq-crumbs a:hover { color: var(--mq-red-2) !important; }
@keyframes mqPhero { from { transform: scale(1.06); } to { transform: scale(1.16) translate3d(-1%, -1%, 0); } }

/* Services */
.mq-page-main .mq-svc-nav { position: relative; z-index: 2; margin-top: -54px; }
.mq-page-main .mq-svc-nav__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.mq-page-main .mq-svc-chip {
	display: flex; align-items: center; gap: 14px;
	padding: 20px 22px; border-radius: 18px;
	background: #fff; border: 1px solid var(--mq-line-dark); box-shadow: var(--mq-shadow-lg);
	color: var(--mq-text) !important; text-decoration: none !important;
	font-family: var(--mq-font-head) !important; font-weight: 700; font-size: 15.5px; line-height: 1.25;
	overflow: hidden;
	transition: transform .4s var(--mq-ease), border-color .4s;
}
.mq-page-main .mq-svc-chip small { display: block; font-family: var(--mq-font-mono) !important; font-weight: 500; font-size: 11px; color: var(--mq-red); letter-spacing: .1em; margin-bottom: 3px; }
.mq-page-main .mq-svc-chip:hover { transform: translateY(-4px); border-color: rgba(239, 63, 61, .35); }
.mq-page-main .mq-svc-chip__ico { flex: none; width: 48px; height: 48px; border-radius: 14px; display: flex; align-items: center; justify-content: center; background: rgba(239, 63, 61, .1); color: var(--mq-red); }
.mq-page-main .mq-svc-chip__ico .mq-ico { width: 24px; height: 24px; }
.mq-page-main .mq-svc { background: #fff; }
.mq-page-main .mq-svc--alt { background: var(--mq-paper); }
.mq-page-main .mq-svc__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.mq-page-main .mq-svc--alt .mq-svc__media { order: 2; }
.mq-page-main .mq-svc__media { position: relative; }
.mq-page-main .mq-svc__img { aspect-ratio: 5 / 4.4; border-radius: var(--mq-radius-lg); background-size: cover; background-position: center; box-shadow: var(--mq-shadow-lg); }
.mq-page-main .mq-svc__num {
	position: absolute; left: -18px; bottom: -30px;
	font-family: var(--mq-font-head) !important; font-weight: 800; font-size: clamp(90px, 11vw, 150px); line-height: 1; letter-spacing: -.06em;
	color: transparent; -webkit-text-stroke: 2px var(--mq-red); opacity: .9;
}
.mq-page-main .mq-svc--alt .mq-svc__num { left: auto; right: -18px; }
.mq-page-main .mq-checks { list-style: none; padding: 0; margin: 10px 0 30px; display: grid; gap: 12px; }
.mq-page-main .mq-checks li { display: flex; align-items: center; gap: 12px; font-weight: 500; color: var(--mq-text); }
.mq-page-main .mq-checks .mq-ico { width: 26px; height: 26px; padding: 5px; border-radius: 50%; background: rgba(239, 63, 61, .1); color: var(--mq-red); }
.mq-page-main .mq-svc-stats .mq-stat strong { color: #fff; }
.mq-page-main .mq-svc-stats .mq-stat > span { color: rgba(255, 255, 255, .6); }
.mq-page-main .mq-svc-stats .mq-stat + .mq-stat::before { background: linear-gradient(transparent, var(--mq-line), transparent); }
.mq-page-main .mq-svc-stats { display: grid; grid-template-columns: repeat(4, 1fr); }

/* About */
.mq-page-main .mq-values .mq-domain { min-height: 240px; }
.mq-page-main .mq-values .mq-domain__ico { margin: 0 0 auto; }
.mq-page-main .mq-gallery { background: var(--mq-paper); }
.mq-page-main .mq-gal { columns: 4 260px; column-gap: 14px; }
.mq-page-main .mq-gal__item {
	display: block; width: 100%; margin: 0 0 14px; padding: 0; cursor: zoom-in;
	border: 0 !important; border-radius: 16px; overflow: hidden; break-inside: avoid;
	background: var(--mq-navy) !important; box-shadow: var(--mq-shadow) !important;
}
.mq-page-main .mq-gal__item img { display: block; width: 100%; height: auto; transition: transform .9s var(--mq-ease), opacity .4s; }
.mq-page-main .mq-gal__item:hover img { transform: scale(1.06); opacity: .9; }
.mq-page-main .mq-brands--light { background: #fff; border-bottom: 1px solid var(--mq-line-dark); padding: 50px 0; }
.mq-page-main .mq-brands--light .mq-marquee__item img { filter: grayscale(1); opacity: .6; }
.mq-page-main .mq-brands--light .mq-marquee__item:hover img { filter: none; opacity: 1; }

/* Map */
.mq-page-main .mq-map-sec { background: #fff; }
.mq-page-main .mq-map-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 28px; align-items: stretch; }
.mq-page-main .mq-map-card { padding: clamp(28px, 4vw, 48px); border-radius: var(--mq-radius-lg); background: var(--mq-paper); border: 1px solid var(--mq-line-dark); }
.mq-page-main .mq-map-card .mq-h2 { font-size: clamp(28px, 3vw, 40px); }
.mq-page-main .mq-map-card .mq-hours { margin: 24px 0 26px; }
.mq-page-main .mq-map { min-height: 420px; border-radius: var(--mq-radius-lg); overflow: hidden; box-shadow: var(--mq-shadow-lg); background: var(--mq-paper); }
.mq-page-main .mq-map--tall { min-height: 520px; }
.mq-page-main .mq-map iframe { display: block; width: 100%; height: 100%; min-height: inherit; border: 0; filter: grayscale(.35) contrast(1.05); }

/* Contact */
.mq-page-main .mq-contact { background: #fff; }
.mq-page-main .mq-contact__cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: -150px 0 60px; position: relative; z-index: 2; }
.mq-page-main .mq-ccard {
	position: relative; display: flex; flex-direction: column; gap: 6px;
	padding: 26px; border-radius: var(--mq-radius); min-height: 200px;
	background: #fff; border: 1px solid var(--mq-line-dark); box-shadow: var(--mq-shadow-lg);
	color: var(--mq-text) !important; text-decoration: none !important; overflow: hidden;
	transition: transform .45s var(--mq-ease), border-color .45s;
}
.mq-page-main .mq-ccard:hover { transform: translateY(-6px); border-color: rgba(239, 63, 61, .35); }
.mq-page-main .mq-ccard__ico { width: 52px; height: 52px; border-radius: 15px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--mq-red), var(--mq-red-dark)); color: #fff; box-shadow: var(--mq-glow); margin-bottom: auto; }
.mq-page-main .mq-ccard__ico .mq-ico { width: 24px; height: 24px; }
.mq-page-main .mq-ccard small { margin-top: 22px; font-family: var(--mq-font-mono) !important; font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--mq-muted); }
.mq-page-main .mq-ccard strong { font-family: var(--mq-font-head) !important; font-size: 17px; line-height: 1.35; letter-spacing: -.01em; }
.mq-page-main .mq-ccard__go { position: absolute; top: 24px; right: 24px; color: var(--mq-muted); transform: rotate(-45deg); transition: transform .4s var(--mq-ease), color .3s; }
.mq-page-main .mq-ccard:hover .mq-ccard__go { transform: none; color: var(--mq-red); }
.mq-page-main .mq-contact__map .mq-hero__actions { margin-bottom: 0; }

/* Form pages (Elementor form restyled) */
.mq-page-main .mq-formsec { background: var(--mq-paper); }
.mq-page-main .mq-formsec__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 56px; align-items: start; }
.mq-page-main .mq-formsec__aside { position: sticky; top: 120px; }
.mq-page-main .mq-formsec__aside .mq-steps { margin-top: 0; }
.mq-page-main .mq-formsec__aside .mq-steps__n { box-shadow: 0 0 0 6px var(--mq-paper); }
.mq-page-main .mq-formsec__aside .mq-hours { margin-top: 28px; }
.mq-page-main .mq-hours a { color: #fff !important; text-decoration: none !important; }
.mq-page-main .mq-hours a:hover { color: var(--mq-red-2) !important; }
.mq-page-main .mq-formcard {
	position: relative; margin-top: -170px; z-index: 2;
	padding: clamp(26px, 4vw, 48px);
	border-radius: var(--mq-radius-lg); background: #fff;
	border: 1px solid var(--mq-line-dark); box-shadow: var(--mq-shadow-lg);
}
.mq-page-main .mq-formcard__chip {
	display: inline-flex; margin-bottom: 18px; padding: 9px 16px; border-radius: 999px;
	background: rgba(239, 63, 61, .1); color: var(--mq-red-dark); font-weight: 600; font-size: 14px;
}
.mq-page-main .mq-formcard__chip[hidden] { display: none; }
.mq-page-main .mq-formcard .elementor-section,
.mq-page-main .mq-formcard .e-con { padding: 0 !important; margin: 0 !important; background: none !important; min-height: 0 !important; }
.mq-page-main .mq-formcard .elementor-container { max-width: none !important; }
.mq-page-main .mq-formcard .elementor-column > .elementor-widget-wrap { padding: 0 !important; }
.mq-page-main .mq-formcard .elementor-heading-title { color: var(--mq-text) !important; font-size: clamp(24px, 2.4vw, 32px) !important; font-weight: 800 !important; letter-spacing: -.03em !important; text-align: left !important; }
.mq-page-main .mq-formcard .elementor-widget-text-editor { color: var(--mq-muted) !important; text-align: left !important; }
.mq-page-main .mq-formcard .elementor-field-group { margin-bottom: 16px !important; }
.mq-page-main .mq-formcard .elementor-field-label { font-family: var(--mq-font-head) !important; font-weight: 600 !important; font-size: 14px !important; color: var(--mq-text) !important; margin-bottom: 8px !important; }
.mq-page-main .mq-formcard .elementor-field-group .elementor-field:not(.elementor-select-wrapper),
.mq-page-main .mq-formcard .elementor-field-group select,
.mq-page-main .mq-formcard .elementor-field-group textarea {
	min-height: 52px; padding: 14px 16px !important; font-size: 15.5px !important;
	background: var(--mq-paper) !important; border: 1px solid #dde3e8 !important; border-radius: 14px !important; color: var(--mq-text) !important;
}
.mq-page-main .mq-formcard .elementor-field-group textarea { min-height: 150px; }
.mq-page-main .mq-formcard .elementor-field-group .elementor-field:focus { background: #fff !important; }
.mq-page-main .mq-formcard .elementor-field-type-upload .elementor-field { padding: 18px !important; border-style: dashed !important; cursor: pointer; }
.mq-page-main .mq-formcard .elementor-button {
	min-height: 56px; padding: 0 34px !important; font-size: 16px !important;
	background: linear-gradient(135deg, var(--mq-red-2), var(--mq-red) 45%, var(--mq-red-dark)) !important;
	box-shadow: var(--mq-glow) !important; border: 0 !important;
}
.mq-page-main .mq-formcard .elementor-message { border-radius: 12px; padding: 14px 16px; margin-top: 14px; }

@media (max-width: 1024px) {
	.mq-page-main .mq-svc-nav__grid { grid-template-columns: repeat(2, 1fr); }
	.mq-page-main .mq-svc__grid,
	.mq-page-main .mq-map-grid,
	.mq-page-main .mq-formsec__grid { grid-template-columns: 1fr; gap: 48px; }
	.mq-page-main .mq-svc--alt .mq-svc__media { order: 0; }
	.mq-page-main .mq-svc-stats { grid-template-columns: repeat(2, 1fr); }
	.mq-page-main .mq-contact__cards { grid-template-columns: repeat(2, 1fr); }
	.mq-page-main .mq-formsec__aside { position: static; order: 2; }
	.mq-page-main .mq-formcard { margin-top: -120px; }
}
@media (max-width: 767px) {
	.mq-page-main .mq-phero { padding: 150px 0 70px; min-height: 0; }
	.mq-page-main .mq-svc-nav { margin-top: -30px; }
	.mq-page-main .mq-svc-nav__grid { grid-template-columns: 1fr; }
	.mq-page-main .mq-contact__cards { grid-template-columns: 1fr; margin-top: -60px; }
	.mq-page-main .mq-ccard { min-height: 0; }
	.mq-page-main .mq-map,
	.mq-page-main .mq-map--tall { min-height: 340px; }
	.mq-page-main .mq-formcard { margin-top: -50px; }
	.mq-page-main .mq-svc__num { font-size: 80px; bottom: -20px; }
}

/* ==========================================================================
   10. BLOG & ARTICLES
   ========================================================================== */
.mq-page-main .mq-blog-list { background: var(--mq-paper); }
.mq-page-main .mq-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 40px; }
.mq-page-main .mq-chip-link {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 10px 18px; border-radius: 999px;
	background: #fff; border: 1px solid var(--mq-line-dark);
	font-family: var(--mq-font-head) !important; font-weight: 600; font-size: 14px;
	color: var(--mq-text) !important; text-decoration: none !important;
	transition: background .3s, color .3s, border-color .3s, transform .3s var(--mq-ease);
}
.mq-page-main .mq-chip-link small { font-family: var(--mq-font-mono) !important; font-size: 11px; color: var(--mq-muted); }
.mq-page-main .mq-chip-link:hover { border-color: var(--mq-red); color: var(--mq-red) !important; transform: translateY(-2px); }
.mq-page-main .mq-chip-link.is-active { background: var(--mq-navy); border-color: var(--mq-navy); color: #fff !important; }
.mq-page-main .mq-chip-link.is-active small { color: rgba(255, 255, 255, .6); }

.mq-page-main .mq-bposts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.mq-page-main .mq-bpost {
	display: flex; flex-direction: column; overflow: hidden;
	background: #fff; border-radius: var(--mq-radius); border: 1px solid var(--mq-line-dark);
	transition: transform .5s var(--mq-ease), box-shadow .5s var(--mq-ease);
}
.mq-page-main .mq-bpost:hover { transform: translateY(-8px); box-shadow: var(--mq-shadow-lg); }
.mq-page-main .mq-bpost__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--mq-navy); }
.mq-page-main .mq-bpost__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--mq-ease); }
.mq-page-main .mq-bpost:hover .mq-bpost__media img { transform: scale(1.07); }
.mq-page-main .mq-bpost__body { padding: 26px 26px 28px; display: flex; flex-direction: column; flex: 1; }
.mq-page-main .mq-bpost__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-bottom: 14px; font-family: var(--mq-font-mono) !important; font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--mq-muted); }
.mq-page-main .mq-bpost__cat { padding: 4px 10px; border-radius: 999px; background: rgba(239, 63, 61, .1); color: var(--mq-red); }
.mq-page-main .mq-bpost__title { font-size: 20px !important; font-weight: 700; line-height: 1.3; letter-spacing: -.02em; margin: 0 0 12px !important; }
.mq-page-main .mq-bpost__title a { color: var(--mq-text) !important; text-decoration: none !important; background: linear-gradient(var(--mq-red), var(--mq-red)) 0 100% / 0 2px no-repeat; transition: background-size .5s var(--mq-ease); }
.mq-page-main .mq-bpost:hover .mq-bpost__title a { background-size: 100% 2px; }
.mq-page-main .mq-bpost p { font-size: 15px; flex: 1; }
.mq-page-main .mq-bpost--feat { grid-column: 1 / -1; display: grid; grid-template-columns: 1.25fr 1fr; }
.mq-page-main .mq-bpost--feat .mq-bpost__media { aspect-ratio: auto; min-height: 420px; }
.mq-page-main .mq-bpost--feat .mq-bpost__body { padding: clamp(28px, 4vw, 54px); justify-content: center; }
.mq-page-main .mq-bpost--feat .mq-bpost__title { font-size: clamp(26px, 2.8vw, 38px) !important; font-weight: 800; letter-spacing: -.035em; }
.mq-page-main .mq-bpost--feat p { flex: none; margin-bottom: 26px; font-size: 16.5px; }
.mq-page-main .mq-empty { text-align: center; padding: 40px 0; }

.mq-page-main .mq-pager { margin-top: 50px; display: flex; justify-content: center; }
.mq-page-main .mq-pager .nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.mq-page-main .mq-pager .page-numbers {
	min-width: 46px; height: 46px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center;
	border-radius: 14px !important; background: #fff; border: 1px solid var(--mq-line-dark);
	font-family: var(--mq-font-head) !important; font-weight: 600; color: var(--mq-text) !important; text-decoration: none !important;
}
.mq-page-main .mq-pager .page-numbers.current,
.mq-page-main .mq-pager .page-numbers:hover { background: var(--mq-red); border-color: var(--mq-red); color: #fff !important; }
.mq-page-main .mq-pager .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Single post */
.mq-page-main .mq-phero--post { min-height: clamp(520px, 72vh, 760px); }
.mq-page-main .mq-phero--post .mq-phero__title { font-size: clamp(2.2rem, 4.6vw, 4rem); max-width: 1000px; }
.mq-page-main .mq-post-meta { display: flex; flex-wrap: wrap; gap: 10px 26px; color: rgba(255, 255, 255, .75); font-size: 14.5px; }
.mq-page-main .mq-post-meta span { display: inline-flex; align-items: center; gap: 8px; }
.mq-page-main .mq-post-meta .mq-ico { width: 18px; height: 18px; color: var(--mq-red-2); }
.mq-page-main .mq-article-sec { background: #fff; }
.mq-page-main .mq-article-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 64px; align-items: start; }
.mq-page-main .mq-article { max-width: 760px; font-size: 17.5px; line-height: 1.8; color: var(--mq-text); }
.mq-page-main .mq-article p,
.mq-page-main .mq-article li { font-size: 17.5px; line-height: 1.8; color: #2c3b47; }
.mq-page-main .mq-article h2 { font-size: clamp(26px, 2.6vw, 34px) !important; font-weight: 800; letter-spacing: -.03em; margin: 48px 0 16px !important; }
.mq-page-main .mq-article h3 { font-size: clamp(21px, 2vw, 26px) !important; font-weight: 700; letter-spacing: -.02em; margin: 36px 0 12px !important; }
.mq-page-main .mq-article h2::before { content: ""; display: block; width: 44px; height: 4px; border-radius: 4px; background: var(--mq-red); margin-bottom: 18px; }
.mq-page-main .mq-article img { border-radius: 18px; margin: 18px 0; box-shadow: var(--mq-shadow); }
.mq-page-main .mq-article a { color: var(--mq-red) !important; text-decoration: underline; text-underline-offset: 3px; }
.mq-page-main .mq-article ul { padding-left: 0; list-style: none; }
.mq-page-main .mq-article ul li { position: relative; padding-left: 28px; margin-bottom: 8px; }
.mq-page-main .mq-article ul li::before { content: ""; position: absolute; left: 4px; top: .7em; width: 9px; height: 9px; border-radius: 2px; background: var(--mq-red); transform: rotate(45deg); }
.mq-page-main .mq-article blockquote { margin: 30px 0; padding: 24px 28px; border-radius: 18px; background: var(--mq-paper); border-left: 4px solid var(--mq-red); font-size: 19px; }
.mq-page-main .mq-article table { width: 100%; border-collapse: collapse; margin: 24px 0; font-size: 15px; }
.mq-page-main .mq-article th,
.mq-page-main .mq-article td { padding: 12px 14px; border-bottom: 1px solid var(--mq-line-dark); text-align: left; }
.mq-page-main .mq-article th { background: var(--mq-navy); color: #fff; font-family: var(--mq-font-head) !important; }
.mq-page-main .mq-article .mq-chips { margin: 40px 0 0; }
.mq-page-main .mq-article-aside { position: sticky; top: 120px; display: grid; gap: 16px; }
.mq-page-main .mq-aside-card { padding: 26px; border-radius: var(--mq-radius); background: var(--mq-paper); border: 1px solid var(--mq-line-dark); }
.mq-page-main .mq-aside-card .mq-mono { display: block; margin-bottom: 14px; }
.mq-page-main .mq-share { display: flex; flex-wrap: wrap; gap: 8px; }
.mq-page-main .mq-share a { padding: 9px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--mq-line-dark); font-weight: 600; font-size: 13.5px; color: var(--mq-text) !important; text-decoration: none !important; }
.mq-page-main .mq-share a:hover { background: var(--mq-red); border-color: var(--mq-red); color: #fff !important; }
.mq-page-main .mq-aside-card--dark { background: radial-gradient(120% 80% at 100% 0%, rgba(239, 63, 61, .35), transparent 55%), var(--mq-navy); border: 0; color: #fff; display: grid; gap: 12px; }
.mq-page-main .mq-aside-card--dark h3 { color: #fff; font-size: 22px; font-weight: 800; letter-spacing: -.03em; }
.mq-page-main .mq-aside-card--dark p { color: rgba(255, 255, 255, .7); margin: 0; font-size: 15px; }
.mq-page-main .mq-aside-card--dark .mq-btn { justify-content: center; }
.mq-page-main .mq-aside-card--dark .mq-mono { color: rgba(255, 255, 255, .6); margin: 0; }

@media (max-width: 1024px) {
	.mq-page-main .mq-bposts { grid-template-columns: repeat(2, 1fr); }
	.mq-page-main .mq-bpost--feat { grid-template-columns: 1fr; }
	.mq-page-main .mq-bpost--feat .mq-bpost__media { min-height: 300px; }
	.mq-page-main .mq-article-grid { grid-template-columns: 1fr; }
	.mq-page-main .mq-article-aside { position: static; }
}
@media (max-width: 767px) {
	.mq-page-main .mq-bposts { grid-template-columns: 1fr; }
	.mq-page-main .mq-article,
	.mq-page-main .mq-article p,
	.mq-page-main .mq-article li { font-size: 16.5px; }
}

.mq-page-main .mq-formcard .elementor-widget-text-editor,
.mq-page-main .mq-formcard .elementor-widget-text-editor * { text-align: left !important; }
.mq-page-main .mq-formcard .elementor-widget-text-editor p { font-size: 15.5px !important; color: var(--mq-muted) !important; }
.mq-page-main .mq-formcard .elementor-column { width: 100% !important; }
.mq-page-main .mq-formcard .elementor-widget-icon,
.mq-page-main .mq-formcard .elementor-widget-image { display: none; }
.mq-page-main .mq-formcard__title { font-size: clamp(24px, 2.4vw, 32px) !important; font-weight: 800; letter-spacing: -.03em; margin: 0 0 10px !important; }
.mq-page-main .mq-formcard__note { margin-bottom: 20px; }
/* catalogue hero fixes */
.mq-cat-main .mq-cat-hero__stats > div > span { font-size: 13.5px; color: rgba(255, 255, 255, .55); }
.mq-cat-main .mq-cat-hero__stats > div strong .mq-count { font-size: inherit; color: inherit; }
.mq-cat-main .mq-cat-hero__mosaic { grid-template-columns: repeat(8, 1fr); inset: -25% -15%; opacity: .5; }
.mq-page-main .mq-formcard__note ~ .elementor .elementor-widget-heading,
.mq-page-main .mq-formcard__note ~ .elementor .elementor-widget-text-editor { display: none; }

/* ==========================================================================
   11. CALENDRIER DE RENDEZ-VOUS
   ========================================================================== */
.mq-rdv-main .mq-formsec__grid { grid-template-columns: .62fr 1.38fr; }
.mq-rdv__steps { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 26px; }
.mq-rdv__steps span {
	display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px 8px 8px; border-radius: 999px;
	background: var(--mq-paper); color: var(--mq-muted); font-family: var(--mq-font-head) !important; font-weight: 600; font-size: 13.5px;
	transition: background .3s, color .3s;
}
.mq-rdv__steps b { width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #fff; font-size: 12px; color: var(--mq-muted); border: 1px solid var(--mq-line-dark); }
.mq-rdv__steps span.is-active { background: var(--mq-navy); color: #fff; }
.mq-rdv__steps span.is-active b { background: var(--mq-red); border-color: var(--mq-red); color: #fff; }
.mq-rdv__steps span.is-done b { background: rgba(239, 63, 61, .12); border-color: transparent; color: var(--mq-red); }
.mq-rdv__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.mq-rdv__cal { padding: 22px; border-radius: 22px; background: var(--mq-navy); color: #fff; box-shadow: var(--mq-shadow-lg); }
.mq-rdv__cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.mq-rdv__month { font-family: var(--mq-font-head) !important; font-size: 18px; letter-spacing: -.02em; }
.mq-rdv__nav {
	width: 38px; height: 38px; border-radius: 50%; padding: 0; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(255, 255, 255, .08) !important; border: 1px solid rgba(255, 255, 255, .15) !important; color: #fff !important; box-shadow: none !important;
}
.mq-rdv__nav .mq-ico { width: 16px; height: 16px; }
.mq-rdv__nav[data-nav="-1"] .mq-ico { transform: rotate(180deg); }
.mq-rdv__nav:hover:not(:disabled) { background: var(--mq-red) !important; border-color: var(--mq-red) !important; }
.mq-rdv__nav:disabled { opacity: .3; cursor: default; }
.mq-rdv__dow, .mq-rdv__days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; }
.mq-rdv__dow span { text-align: center; font-family: var(--mq-font-mono) !important; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .45); padding: 6px 0; }
.mq-rdv__days button {
	aspect-ratio: 1; padding: 0; border-radius: 12px; cursor: pointer;
	font-family: var(--mq-font-head) !important; font-weight: 600; font-size: 14.5px;
	background: rgba(255, 255, 255, .06) !important; border: 1px solid rgba(255, 255, 255, .08) !important; color: #fff !important; box-shadow: none !important;
	transition: background .25s, border-color .25s, transform .25s var(--mq-ease);
}
.mq-rdv__days button:hover:not(:disabled) { background: rgba(239, 63, 61, .25) !important; border-color: rgba(239, 63, 61, .6) !important; transform: translateY(-2px); }
.mq-rdv__days button.is-today { border-color: rgba(255, 255, 255, .5) !important; }
.mq-rdv__days button.is-sel { background: linear-gradient(135deg, var(--mq-red-2), var(--mq-red-dark)) !important; border-color: transparent !important; box-shadow: var(--mq-glow) !important; }
.mq-rdv__days button:disabled { cursor: default; color: rgba(255, 255, 255, .22) !important; background: transparent !important; border-color: transparent !important; }
.mq-rdv__days button.is-off { text-decoration: line-through; }
.mq-rdv__legend { display: flex; align-items: center; gap: 8px; margin: 14px 0 0; font-size: 12.5px; color: rgba(255, 255, 255, .55) !important; }
.mq-rdv__legend span { width: 12px; height: 12px; border-radius: 4px; display: inline-block; }
.mq-rdv__legend .d-free { background: rgba(255, 255, 255, .15); }
.mq-rdv__legend .d-off { background: transparent; border: 1px dashed rgba(255, 255, 255, .3); margin-left: 10px; }
.mq-rdv__h { font-size: 21px !important; font-weight: 800; letter-spacing: -.03em; margin: 0 0 6px !important; color: var(--mq-text); }
.mq-rdv__date-label { font-size: 14.5px; margin-bottom: 14px; }
.mq-rdv__group { font-family: var(--mq-font-mono) !important; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--mq-muted); margin: 14px 0 8px; }
.mq-rdv__chips { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 8px; }
.mq-rdv__chips button {
	height: 44px; border-radius: 12px; cursor: pointer; padding: 0;
	font-family: var(--mq-font-head) !important; font-weight: 600; font-size: 14.5px;
	background: #fff !important; border: 1px solid #dbe2e8 !important; color: var(--mq-text) !important; box-shadow: none !important;
	transition: border-color .2s, color .2s, transform .2s var(--mq-ease), background .2s;
}
.mq-rdv__chips button:hover:not(:disabled) { border-color: var(--mq-red) !important; color: var(--mq-red) !important; transform: translateY(-2px); }
.mq-rdv__chips button:disabled { background: var(--mq-paper) !important; color: #b3bec7 !important; text-decoration: line-through; cursor: not-allowed; }
.mq-rdv__none { padding: 18px; border-radius: 14px; background: var(--mq-paper); font-size: 14.5px; }
.mq-rdv__loading { display: block; width: 34px; height: 34px; margin: 26px auto; border-radius: 50%; border: 3px solid var(--mq-line-dark); border-top-color: var(--mq-red); animation: mqSpin .8s linear infinite; }
.mq-rdv__summary { padding: 12px 14px; border-radius: 12px; background: rgba(239, 63, 61, .08); color: var(--mq-red-dark) !important; font-size: 14.5px; margin-bottom: 16px; }
.mq-rdv__summary strong { display: inline-block; }
.mq-rdv__summary strong::first-letter { text-transform: uppercase; }
.mq-rdv__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.mq-rdv__fields label { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.mq-rdv__fields label span { font-family: var(--mq-font-head) !important; font-weight: 600; font-size: 13px; color: var(--mq-text); }
.mq-rdv__fields input,
.mq-rdv__fields select,
.mq-rdv__fields textarea { width: 100%; min-height: 46px; padding: 11px 14px !important; font-size: 15px !important; background: var(--mq-paper) !important; color: var(--mq-text) !important; }
.mq-rdv__full { grid-column: 1 / -1; }
.mq-rdv__hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0; }
.mq-rdv__err { margin: 12px 0 0; padding: 10px 14px; border-radius: 10px; background: #fff1f0; color: var(--mq-red-dark) !important; font-size: 14px; }
.mq-rdv__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.mq-rdv__actions .mq-btn { padding: 14px 22px; font-size: 14.5px; }
.mq-rdv .mq-btn.is-loading { opacity: .6; pointer-events: none; }
.mq-rdv__ok { text-align: left; padding: 10px 0; }
.mq-rdv__ok-ico { width: 64px; height: 64px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #2fd47a, #16a35a); color: #fff; margin-bottom: 18px; box-shadow: 0 14px 30px -10px rgba(22, 163, 90, .6); animation: mqZoomIn .5s var(--mq-ease); }
.mq-rdv__ok-ico .mq-ico { width: 30px; height: 30px; }
.mq-rdv [hidden] { display: none !important; }
@media (max-width: 1199px) { .mq-rdv__grid { grid-template-columns: 1fr; } }
@media (max-width: 1024px) { .mq-rdv-main .mq-formsec__grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .mq-rdv__fields { grid-template-columns: 1fr; } .mq-rdv__cal { padding: 14px; } .mq-rdv__days button { border-radius: 9px; font-size: 13.5px; } }

/* Inputs inside their own visual container (no inner border / ring) */
body.mq-modern .mq-cat-main .mq-cat-search input[type="search"],
body.mq-modern .mq-cat-main .mq-cat-search input[type="search"]:focus,
body.mq-modern .mq-cat-main .mq-cat-search input[type="search"]:hover {
	border: 0 !important; border-radius: 0 !important; box-shadow: none !important; outline: none !important;
	background: transparent !important; -webkit-appearance: none; appearance: none;
}
body.mq-modern .mq-cat-main .mq-cat-search input[type="search"]::-webkit-search-decoration,
body.mq-modern .mq-cat-main .mq-cat-search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }
body.mq-modern .header-area .search-form-one input,
body.mq-modern .header-area .search-form-one input:focus {
	border: 0 !important; border-bottom: 2px solid rgba(255, 255, 255, .25) !important; border-radius: 0 !important;
	box-shadow: none !important; outline: none !important; background: transparent !important; color: #fff !important;
	-webkit-appearance: none; appearance: none;
}
body.mq-modern .header-area .search-form-one input:focus { border-bottom-color: var(--mq-red) !important; }
body.mq-modern .header-area .search-form-one input::placeholder { color: rgba(255, 255, 255, .45); }
body.mq-modern .header-area .search-form-one button,
body.mq-modern .header-area .search-form-one input[type="submit"] { box-shadow: none !important; }

/* Pas d'écran de chargement (preloader du thème désactivé sur tout le site) */
.preeloader,
.preloader,
#preloader,
.preloader-spinner { display: none !important; visibility: hidden !important; opacity: 0 !important; }
