﻿/*
 * Merchant Hero WordPress theme styles
 * Self-contained utility layer; no Tailwind build is required.
 */
@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700;800;900&display=swap");

:root {
  --background: 224 67% 6%;
  --surface: 220 55% 10%;
  --card: 219 60% 14%;
  --card-foreground: 210 40% 98%;
  --foreground: 210 40% 98%;
  --popover: 219 60% 14%;
  --popover-foreground: 210 40% 98%;
  --primary: 222 78% 48%;
  --primary-glow: 218 90% 60%;
  --primary-foreground: 0 0% 100%;
  --secondary: 220 55% 14%;
  --secondary-foreground: 210 40% 98%;
  --muted: 220 30% 20%;
  --muted-foreground: 215 25% 64%;
  --accent: 218 90% 60%;
  --accent-foreground: 224 67% 6%;
  --chrome: 215 22% 78%;
  --silver: 214 32% 91%;
  --gold: 41 56% 59%;
  --destructive: 0 75% 55%;
  --destructive-foreground: 0 0% 100%;
  --border: 220 40% 18%;
  --input: 220 40% 14%;
  --ring: 218 90% 60%;
  --radius: .75rem;
  --gradient-card: linear-gradient(160deg, hsl(219 60% 14%) 0%, hsl(220 55% 10%) 100%);
  --gradient-primary: linear-gradient(135deg, hsl(var(--primary)), hsl(var(--primary-glow)));
  --gradient-text: linear-gradient(135deg, hsl(218 90% 70%), hsl(214 32% 91%));
  --gradient-radial-glow: radial-gradient(circle at center, hsl(218 90% 50% / .45), transparent 60%);
  --shadow-glow: 0 0 40px hsl(218 90% 60% / .45);
  --shadow-glow-strong: 0 0 80px hsl(218 90% 60% / .55), 0 0 30px hsl(222 78% 48% / .6);
  --shadow-card: 0 20px 50px -20px hsl(224 67% 2% / .8);
  --shadow-elevated: 0 30px 80px -20px hsl(224 67% 2% / .9), 0 0 0 1px hsl(220 40% 18%);
  --transition-cinematic: cubic-bezier(.22, 1, .36, 1);
}

*,
*::before,
*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  min-width: 320px; margin: 0; overflow-x: hidden;
  background: hsl(var(--background)); color: hsl(var(--foreground));
  font-family: "Inter", system-ui, sans-serif; line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img, svg, video { display: block; max-width: 100%; }
/* Icon SVGs — never add padding/background; keep explicit pixel size from style attr */
svg.mh-icon,
.mh-icon {
  display: inline-block !important;
  flex-shrink: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  vertical-align: middle;
  color: inherit;
  overflow: visible !important;
}
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, .font-display { font-family: "Cinzel", Georgia, serif; line-height: 1.1; }
h1, h2, h3, p { margin-top: 0; }

/* WordPress page templates */
.mh-section{padding:5rem 0}.mh-section--surface{background:hsl(var(--surface))}.mh-narrow{max-width:900px}.eyebrow{color:hsl(var(--primary-glow));font-size:.75rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.mh-page-hero{padding:5rem 0;background:radial-gradient(circle at center,hsl(var(--primary)/.2),transparent 55%)}.mh-breadcrumb{display:flex;gap:.5rem;color:hsl(var(--silver)/.7);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.mh-page-hero__content,.mh-section-heading{text-align:center;max-width:860px;margin:3rem auto 0}.mh-page-hero h1,.mh-section-heading h2,.mh-bottom-cta h2{font-size:clamp(2.2rem,5vw,4.6rem);color:#fff}.mh-page-hero h1 span,.mh-section-heading h2 span,.mh-bottom-cta h2 span{display:block;color:hsl(var(--primary-glow))}.mh-page-hero__subtitle{max-width:700px;margin:1.5rem auto;color:hsl(var(--silver)/.8)}.mh-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;margin-top:2rem}.button--outline{background:transparent;border:1px solid hsl(var(--silver)/.5)}.mh-card-grid{display:grid;gap:1.5rem;margin-top:3rem}.mh-card-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.mh-card-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.mh-card-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.mh-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1rem;padding:1.75rem}.mh-card h3{color:#fff}.mh-card p,.mh-card li{color:hsl(var(--silver)/.8)}.mh-card ul{padding:0;list-style:none}.mh-card li{margin:.55rem 0}.mh-icon-box{display:inline-flex;padding:.8rem;border-radius:.7rem;background:hsl(var(--primary)/.15);color:hsl(var(--primary-glow))}.mh-industry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:3rem}.mh-industry{display:flex;align-items:center;gap:.75rem;padding:1rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.7rem}.mh-comparison-table{margin-top:3rem;border:1px solid hsl(var(--border));border-radius:1rem;overflow:hidden}.mh-comparison-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;padding:1rem;border-bottom:1px solid hsl(var(--border));background:hsl(var(--card))}.mh-comparison-row span:last-child{color:hsl(var(--primary-glow))}.mh-comparison-row--head{background:hsl(var(--primary)/.15);text-transform:uppercase;font-size:.75rem}.mh-tag{display:inline-block;margin-top:1rem;color:hsl(var(--primary-glow));border:1px solid hsl(var(--primary)/.5);border-radius:99px;padding:.3rem .7rem;font-size:.75rem}.mh-mid-cta{margin:3rem auto 0;padding:2rem;text-align:center;border:1px solid hsl(var(--primary)/.4);border-radius:1rem}.mh-bottom-cta{text-align:center;padding:5rem 0;background:radial-gradient(circle,hsl(var(--primary)/.2),transparent 60%)}.mh-process-list{margin-top:4rem}.mh-process-step{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin:4rem 0}.mh-process-step.is-reversed .mh-process-copy{order:2}.mh-process-visual{display:grid;place-items:center;gap:1rem}.mh-process-number{font:700 2rem Cinzel;color:hsl(var(--primary-glow))}.mh-process-decorative-card{display:grid;gap:1rem;width:min(100%,360px);padding:2rem;border:1px solid hsl(var(--primary)/.4);border-radius:1rem;background:hsl(var(--card));text-align:center}.mh-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:3rem;text-align:center}.mh-timeline span{display:grid;place-items:center;margin:auto auto 1rem;width:3.5rem;height:3.5rem;border-radius:50%;background:hsl(var(--primary));font-weight:bold}.mh-timeline strong,.mh-timeline small{display:block}.mh-faq-item{margin:1rem 0;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.8rem;overflow:hidden}.mh-faq-item button{display:flex;justify-content:space-between;width:100%;padding:1.2rem;border:0;background:transparent;color:#fff;text-align:left;font-weight:700}.mh-faq-panel{display:none;padding:0 1.2rem 1.2rem;color:hsl(var(--silver)/.8)}.mh-faq-item.is-open .mh-faq-panel{display:block}.mh-featured-quote{text-align:center;font-size:1.2rem}.mh-featured-quote p{font:1.5rem/1.6 Cinzel;color:#fff}.mh-metrics,.mh-summary-bar{padding:3rem 0;background:hsl(var(--surface));border-block:1px solid hsl(var(--primary)/.3)}.mh-metrics .container,.mh-summary-bar .container{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;text-align:center}.mh-metrics strong,.mh-summary-bar strong{display:block;color:hsl(var(--primary-glow));font:2.5rem Cinzel}.mh-metrics span,.mh-summary-bar span{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.mh-story-block{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;margin:3rem 0}.mh-story-metric{padding:3rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1rem;color:hsl(var(--primary-glow));font:3rem Cinzel;text-align:center}.mh-center{text-align:center}.mh-filter-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;margin:2rem 0}.mh-filter-buttons button{padding:.6rem 1rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:99px;color:#fff}.mh-filter-buttons .is-active{background:hsl(var(--primary))}.mh-testimonial-card footer{display:flex;gap:.75rem;border-top:1px solid hsl(var(--border));padding-top:1rem}.mh-testimonial-card footer small{display:block}.mh-avatar{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:hsl(var(--primary));font-weight:bold}.mh-video-placeholder,.mh-map-placeholder{display:grid;place-items:center;min-height:12rem;background:hsl(var(--secondary));color:hsl(var(--primary-glow));border-radius:.7rem}.mh-contact-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem}.mh-contact-form-wrap,.mh-contact-info{padding:2rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1rem}.mh-contact-form{display:grid;gap:1rem}.mh-contact-form label{display:grid;gap:.4rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.mh-contact-form input,.mh-contact-form select,.mh-contact-form textarea{width:100%;padding:.8rem;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:.45rem;color:#fff}.mh-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.mh-consent{display:flex!important;grid-template-columns:auto 1fr}.mh-contact-info{display:grid;gap:1rem;align-content:start}.mh-info-card{padding:1rem;border:1px solid hsl(var(--border));border-radius:.75rem}.mh-info-card h3{margin:.5rem 0;color:#fff}.mh-social-links{display:flex;gap:1rem}.mh-not-found{display:grid;min-height:70vh;place-items:center;text-align:center}.mh-not-found__code{font:clamp(5rem,15vw,10rem) Cinzel;color:hsl(var(--primary-glow))}
::selection { background: hsl(var(--primary) / .42); color: white; }
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: hsl(var(--background)); }
::-webkit-scrollbar-thumb { background: hsl(var(--border)); border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: hsl(var(--primary)); }

/* Layout and responsive utilities */
.container { width: 100%; max-width: 1280px; margin-inline: auto; padding-inline: 1.25rem; }
.section-padding { padding-block: 4.5rem; }
.section-padding-tight { padding-block: 3rem; }
.min-h-screen { min-height: 100vh; }
.min-h-\[100svh\] { min-height: 100svh; }
.relative { position: relative; } .absolute { position: absolute; } .fixed { position: fixed; }
.inset-0 { inset: 0; } .inset-x-0 { left:0;right:0; } .top-0{top:0}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.left-1\/2{left:50%}.top-1\/2{top:50%}
.z-0{z-index:0}.z-10 { z-index: 10; } .z-20 { z-index: 20; } .z-50 { z-index: 50; } .z-\[100\]{z-index:100}.z-\[150\]{z-index:150}
.overflow-hidden { overflow: hidden; } .hidden { display: none; } .block { display: block; }
.flex { display: flex; } .inline-flex { display: inline-flex; } .grid { display: grid; }
.flex-col { flex-direction: column; } .flex-wrap { flex-wrap: wrap; }
.items-center { align-items: center; } .items-start { align-items: flex-start; }
.justify-center { justify-content: center; } .justify-between { justify-content: space-between; }
.gap-1{gap:.25rem}.gap-2 { gap: .5rem; } .gap-3 { gap: .75rem; } .gap-4 { gap: 1rem; } .gap-5{gap:1.25rem}.gap-6 { gap: 1.5rem; }
.gap-8 { gap: 2rem; } .gap-10 { gap: 2.5rem; } .gap-12 { gap: 3rem; }
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.w-full { width: 100%; } .w-auto{width:auto}.h-full { height: 100%; } .mx-auto { margin-inline: auto; }.my-auto{margin-block:auto}
.text-center { text-align: center; } .text-left { text-align: left; }
.uppercase { text-transform: uppercase; } .tracking-wide { letter-spacing: .05em; }
.tracking-widest { letter-spacing: .16em; } .font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; } .font-bold { font-weight: 700; }
.text-xs { font-size: .75rem; } .text-sm { font-size: .875rem; } .text-base { font-size: 1rem; }
.text-lg { font-size: 1.125rem; } .text-xl { font-size: 1.25rem; } .text-2xl { font-size: 1.5rem; }
.text-3xl { font-size: 1.875rem; line-height: 1.2; } .text-4xl { font-size: 2.25rem; line-height: 1.15; }
.text-5xl { font-size: 3rem; line-height: 1.08; } .text-6xl { font-size: 3.75rem; line-height: 1; }
.leading-none { line-height: 1; }.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-relaxed { line-height: 1.75; }
.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4 { padding: 1rem; } .p-5 { padding: 1.25rem; } .p-6 { padding: 1.5rem; } .p-7{padding:1.75rem}.p-8 { padding: 2rem; }
.px-3 { padding-inline: .75rem; } .px-4 { padding-inline: 1rem; } .px-5 { padding-inline: 1.25rem; }
.px-6 { padding-inline: 1.5rem; }.px-7{padding-inline:1.75rem}.px-8{padding-inline:2rem}.py-1{padding-block:.25rem}.py-1\.5{padding-block:.375rem}.py-2 { padding-block: .5rem; } .py-2\.5{padding-block:.625rem}.py-3 { padding-block: .75rem; }.py-3\.5{padding-block:.875rem}
.py-4 { padding-block: 1rem; } .mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4 { margin-top: 1rem; }.mt-5{margin-top:1.25rem} .mt-6 { margin-top: 1.5rem; }.mt-7{margin-top:1.75rem}
.mt-8 { margin-top: 2rem; }.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mb-2{margin-bottom:.5rem}.mb-4 { margin-bottom: 1rem; } .mb-6 { margin-bottom: 1.5rem; }

/* Colors, backgrounds, borders, radii */
.bg-background { background-color: hsl(var(--background)); } .bg-surface { background-color: hsl(var(--surface)); }
.bg-card { background-color: hsl(var(--card)); } .bg-primary { background-color: hsl(var(--primary)); }.bg-primary\/10{background-color:hsl(var(--primary)/.1)}.bg-primary\/15{background-color:hsl(var(--primary)/.15)}.bg-primary-glow\/15{background-color:hsl(var(--primary-glow)/.15)}.bg-primary-glow\/20{background-color:hsl(var(--primary-glow)/.2)}.bg-primary-glow\/25{background-color:hsl(var(--primary-glow)/.25)}
.bg-secondary { background-color: hsl(var(--secondary)); } .bg-gradient-card { background: var(--gradient-card); }
.bg-gradient-primary { background: var(--gradient-primary); } .text-white { color: #fff; }
.text-silver { color: hsl(var(--silver)); }.text-silver\/50{color:hsl(var(--silver)/.5)}.text-silver\/60{color:hsl(var(--silver)/.6)}.text-silver\/65{color:hsl(var(--silver)/.65)}.text-silver\/70{color:hsl(var(--silver)/.7)}.text-silver\/75{color:hsl(var(--silver)/.75)}.text-silver\/80{color:hsl(var(--silver)/.8)}.text-silver\/85{color:hsl(var(--silver)/.85)} .text-primary-glow { color: hsl(var(--primary-glow)); }
.text-gold { color: hsl(var(--gold)); } .text-chrome { color: hsl(var(--chrome)); }
.text-primary-foreground { color: hsl(var(--primary-foreground)); }
.text-muted-foreground { color: hsl(var(--muted-foreground)); } .text-primary { color: hsl(var(--primary)); }
.border { border: 1px solid hsl(var(--border)); } .border-border { border-color: hsl(var(--border)); }
.border-primary { border-color: hsl(var(--primary)); }.border-primary\/30{border-color:hsl(var(--primary)/.3)}.border-primary\/40{border-color:hsl(var(--primary)/.4)}.border-primary-glow\/50{border-color:hsl(var(--primary-glow)/.5)} .border-t { border-top: 1px solid hsl(var(--border)); }.border-b{border-bottom:1px solid hsl(var(--border))}
.rounded { border-radius: .25rem; } .rounded-lg { border-radius: .75rem; } .rounded-xl { border-radius: 1rem; }
.rounded-2xl { border-radius: 1.25rem; } .rounded-3xl { border-radius: 1.75rem; } .rounded-full { border-radius: 9999px; }
.shadow-glow { box-shadow: var(--shadow-glow); } .shadow-glow-strong { box-shadow: var(--shadow-glow-strong); }
.shadow-elevated { box-shadow: var(--shadow-elevated); } .shadow-card { box-shadow: var(--shadow-card); }

/* Merchant Hero visual helpers */
.text-gradient-electric, .text-gradient-blue {
  color: transparent; background: var(--gradient-text); background-clip: text; -webkit-background-clip: text;
}
.text-gradient-electric { background-image:linear-gradient(135deg,hsl(218 90% 65%),hsl(222 78% 55%),hsl(214 32% 91%)); }.text-gradient-blue { background-image: var(--gradient-text); }
.text-shadow-glow { text-shadow: 0 0 24px hsl(var(--primary-glow) / .7); }
.btn-shimmer {
  position: relative; isolation: isolate; overflow: hidden; border: 0; color: white;
  background: var(--gradient-primary); box-shadow: var(--shadow-glow);
  transition: transform var(--transition-cinematic), box-shadow var(--transition-cinematic);
}
.btn-shimmer::after {
  position: absolute; inset: 0; z-index: -1; content: ""; transform: translateX(-120%) skewX(-20deg);
  background: linear-gradient(90deg, transparent, hsl(0 0% 100% / .45), transparent);
}
.btn-shimmer:hover { transform: translateY(-2px); box-shadow: var(--shadow-glow-strong); }
.btn-shimmer:hover::after { animation: shimmer-sweep .8s ease-out; }
.card-shine {
  position: relative; overflow: hidden; border: 1px solid hsl(var(--border)); background: var(--gradient-card);
  box-shadow: var(--shadow-card); transition: transform var(--transition-cinematic), border-color var(--transition-cinematic);
}
.card-shine::before {
  position: absolute; inset: 0; content: ""; pointer-events: none; opacity: .65;
  background: linear-gradient(125deg, hsl(0 0% 100% / .09), transparent 28%, transparent 65%, hsl(var(--primary) / .12));
}
.card-shine:hover { transform: translateY(-6px); border-color: hsl(var(--primary) / .55); }
.bg-blueprint {
  background-color: hsl(var(--background));
  background-image: linear-gradient(hsl(var(--primary) / .07) 1px, transparent 1px), linear-gradient(90deg, hsl(var(--primary) / .07) 1px, transparent 1px);
  background-size: 34px 34px;
}
.bg-blueprint-diagonal {
  background-image: repeating-linear-gradient(135deg, hsl(var(--primary) / .07) 0 1px, transparent 1px 18px);
}
.pulse-ring { position: relative; }
.pulse-ring::after { position: absolute; inset: -8px; content: ""; border: 1px solid hsl(var(--primary-glow) / .7); border-radius: inherit; animation: pulse-ring 2s ease-out infinite; }
.perspective-1200 { perspective: 1200px; } .preserve-3d { transform-style: preserve-3d; }
.animate-marquee { animation: marquee 28s linear infinite; } .animate-float-slow { animation: float-slow 7s ease-in-out infinite; }
.animate-float-slower { animation: float-slower 11s ease-in-out infinite; } .animate-pulse-glow { animation: pulse-glow 5s ease-in-out infinite; }.animate-drift-up{animation:drift-up 10s linear infinite}.animate-ping{animation:pulse-ring 1s cubic-bezier(0,0,.2,1) infinite}

/* Theme components — site header (React Navbar.tsx desktop parity) */
.site-header {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  left: 0;
  border-bottom: 1px solid transparent;
  background: transparent;
  transition: background .4s cubic-bezier(.22, 1, .36, 1), backdrop-filter .4s cubic-bezier(.22, 1, .36, 1), border-color .4s cubic-bezier(.22, 1, .36, 1), box-shadow .4s cubic-bezier(.22, 1, .36, 1);
}
.site-header.is-scrolled {
  border-color: hsl(var(--primary) / .2);
  background: hsl(var(--background) / .9);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  box-shadow: 0 4px 30px hsl(224 67% 2% / .6);
}
.site-header__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: .75rem;
  gap: 1.5rem;
}
.site-header__brand {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-shrink: 0;
  min-width: 0;
}
.site-header__logo {
  width: 3rem;
  height: 3rem;
  object-fit: contain;
  filter: drop-shadow(0 0 18px hsl(218 90% 60% / .5));
  transition: transform .5s ease;
}
.site-header__brand:hover .site-header__logo {
  transform: scale(1.1);
}
.site-header__brand-text {
  display: none;
  font-family: "Cinzel", Georgia, serif;
  font-size: .875rem;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: hsl(var(--silver));
  white-space: nowrap;
}
@media (min-width: 640px) {
  .site-header__brand-text { display: block; }
}
.site-header__menu {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: center;
  gap: 2rem;
}
.site-header__menu a {
  position: relative;
  display: inline-flex;
  align-items: center;
  font-size: .875rem;
  font-weight: 500;
  color: hsl(var(--silver) / .8);
  white-space: nowrap;
  transition: color .3s ease;
}
.site-header__menu a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  height: 1px;
  width: 100%;
  background: hsl(var(--primary-glow));
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .3s ease;
}
.site-header__menu a:hover,
.site-header__menu a[aria-current="page"] {
  color: #fff;
}
.site-header__menu a:hover::after,
.site-header__menu a[aria-current="page"]::after {
  transform: scaleX(1);
  transform-origin: left;
}
.site-header__cta {
  display: none;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 9999px;
  padding: .625rem 1.25rem;
  font-size: .875rem;
  font-weight: 600;
  color: #fff !important;
  white-space: nowrap;
  background: var(--gradient-primary) !important;
  box-shadow: none;
  transition: box-shadow .5s ease, transform .4s ease;
}
.site-header__cta:hover {
  box-shadow: var(--shadow-glow);
}
.site-header__burger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: .5rem;
  border: 0;
  background: transparent;
  color: hsl(var(--silver));
}
@media (min-width: 1024px) {
  .site-header__menu { display: flex; }
  .site-header__cta { display: inline-flex; }
  .site-header__burger { display: none; }
}
.nav-link { color: hsl(var(--silver)); transition: color var(--transition-cinematic); }
.nav-link:hover, .nav-link[aria-current="page"] { color: hsl(var(--primary-glow)); }
.mobile-menu-overlay {
  position: fixed; z-index: 150; inset: 0; display: flex; flex-direction: column; padding: 1rem 0 2rem;
  visibility: hidden; opacity: 0; background: hsl(var(--background) / .98); transform: translateY(-12px);
  transition: opacity var(--transition-cinematic), visibility var(--transition-cinematic), transform var(--transition-cinematic);
}
.mobile-menu-overlay.is-open { visibility: visible; opacity: 1; transform: translateY(0); }
.mobile-menu-overlay a { padding-block: .9rem; border-bottom: 1px solid hsl(var(--border)); font-family: "Cinzel", serif; font-size: 1.25rem; }
.mobile-break { display: block; } .touch-target { min-width: 44px; min-height: 44px; }

.mh-reveal { opacity: 0; transform: translateY(30px); transition: opacity 800ms cubic-bezier(.16, 1, .3, 1), transform 800ms cubic-bezier(.16, 1, .3, 1); }
.mh-reveal.is-visible { opacity: 1; transform: translateY(0); }
.mh-stagger > * { opacity: 0; transform: translateY(24px); transition: opacity 650ms cubic-bezier(.16, 1, .3, 1), transform 650ms cubic-bezier(.16, 1, .3, 1); }
.mh-stagger.is-visible > * { opacity: 1; transform: translateY(0); }
.mh-stagger.is-visible > :nth-child(1) { transition-delay: 0ms; } .mh-stagger.is-visible > :nth-child(2) { transition-delay: 100ms; }
.mh-stagger.is-visible > :nth-child(3) { transition-delay: 200ms; } .mh-stagger.is-visible > :nth-child(4) { transition-delay: 300ms; }
.mh-stagger.is-visible > :nth-child(5) { transition-delay: 400ms; } .mh-stagger.is-visible > :nth-child(6) { transition-delay: 500ms; }

.mh-form input, .mh-form textarea, .mh-form select {
  width: 100%; border: 1px solid hsl(var(--border)); border-radius: .75rem; outline: 0; padding: .82rem 1rem;
  background: hsl(var(--surface)); color: hsl(var(--chrome)); transition: border-color .2s, box-shadow .2s;
}
.mh-form textarea { min-height: 140px; resize: vertical; }
.mh-form input::placeholder, .mh-form textarea::placeholder { color: hsl(var(--muted-foreground)); }
.mh-form input:focus, .mh-form textarea:focus, .mh-form select:focus { border-color: hsl(var(--primary)); box-shadow: 0 0 0 3px hsl(var(--primary) / .18); }
.mh-form label { display: block; margin-bottom: .45rem; color: hsl(var(--silver)); font-size: .875rem; font-weight: 600; }
.mh-form .form-status { margin-top: 1rem; color: hsl(var(--primary-glow)); }
.mh-form .form-status.is-error { color: #ff8d99; }

.faq-item { border-bottom: 1px solid hsl(var(--border)); }
.faq-question { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 0; border: 0; background: transparent; color: hsl(var(--chrome)); text-align: left; font-weight: 600; }
.faq-question svg { flex: none; transition: transform var(--transition-cinematic); }
.faq-item.is-open .faq-question svg { transform: rotate(45deg); color: hsl(var(--primary-glow)); }
.faq-answer { display: grid; grid-template-rows: 0fr; color: hsl(var(--muted-foreground)); transition: grid-template-rows var(--transition-cinematic), padding var(--transition-cinematic); }
.faq-answer > div { overflow: hidden; }
.faq-item.is-open .faq-answer { grid-template-rows: 1fr; padding-bottom: 1.3rem; }
.testimonial-filters { display: flex; flex-wrap: wrap; gap: .6rem; }
.testimonial-filters button { border: 1px solid hsl(var(--border)); border-radius: 9999px; padding: .5rem 1rem; background: transparent; color: hsl(var(--silver)); transition: all .2s; }
.testimonial-filters button:hover, .testimonial-filters button.is-active { border-color: hsl(var(--primary)); background: hsl(var(--primary) / .15); color: white; }
.testimonial-card[hidden] { display: none; }

.mh-toast-stack { position: fixed; z-index: 100; right: 1rem; bottom: 1rem; display: grid; gap: .7rem; width: min(370px, calc(100vw - 2rem)); }
.mh-toast { display: flex; align-items: flex-start; gap: .7rem; border: 1px solid hsl(var(--primary) / .5); border-radius: .75rem; padding: 1rem; background: hsl(var(--surface) / .96); box-shadow: var(--shadow-elevated); color: hsl(var(--chrome)); animation: toast-in .35s cubic-bezier(.16, 1, .3, 1); }
.mh-toast.is-error { border-color: hsl(0 80% 62% / .7); }
.mh-toast.is-leaving { animation: toast-out .25s ease forwards; }
.cinematic-intro { position: fixed; z-index: 200; inset: 0; display: grid; place-items: center; overflow: hidden; background: hsl(var(--background)); }
.cinematic-intro::before { position: absolute; inset: 0; content: ""; background: radial-gradient(circle, hsl(var(--primary) / .2), transparent 42%); }
.cinematic-intro__glow{position:absolute;width:36rem;height:36rem;border-radius:50%;background:var(--gradient-radial-glow);filter:blur(12px);animation:pulse-glow 3s ease-in-out infinite}.cinematic-intro__logo { position: relative; opacity: 0; color: #fff; animation: logo-appear .75s .2s var(--transition-cinematic) forwards; }.cinematic-intro__img{width:14rem;height:14rem;object-fit:contain;filter:drop-shadow(0 0 28px hsl(var(--primary-glow)/.7));}.cinematic-intro__shimmer{position:absolute;inset:0;background:radial-gradient(circle,hsl(var(--primary-glow)/.35),transparent 68%);animation:logo-glow-pulse 1.8s 1s ease-in-out infinite}
.cinematic-intro.is-leaving { animation: intro-fade-out .7s ease forwards; pointer-events: none; }

@keyframes pulse-ring { 0% { opacity: .85; transform: scale(1); } 100% { opacity: 0; transform: scale(1.55); } }
@keyframes float-slow { 0%, 100% { transform: translate3d(0, 0, 0); } 50% { transform: translate3d(0, -18px, 0); } }
@keyframes float-slower { 0%, 100% { transform: translate3d(0, 0, 0) rotate(-2deg); } 50% { transform: translate3d(10px, -28px, 0) rotate(2deg); } }
@keyframes pulse-glow { 0%, 100% { box-shadow: 0 0 18px hsl(var(--primary) / .25); } 50% { box-shadow: 0 0 42px hsl(var(--primary-glow) / .65); } }
@keyframes drift-up { 0%{transform:translateY(100vh) translateX(0);opacity:0}10%,90%{opacity:.7}100%{transform:translateY(-10vh) translateX(40px);opacity:0} }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes shimmer-sweep { to { transform: translateX(140%) skewX(-20deg); } }
@keyframes intro-fade-out { to { visibility: hidden; opacity: 0; } }
@keyframes logo-appear { from { opacity: 0; transform: scale(.84); } to { opacity: 1; transform: scale(1); } }
@keyframes logo-glow-pulse { 0%{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1.4)}100%{opacity:0;transform:scale(2)} }
@keyframes toast-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes toast-out { to { opacity: 0; transform: translateY(12px); } }

@media (min-width: 640px) {
  .container { padding-inline: 2rem; } .section-padding { padding-block: 6rem; } .section-padding-tight { padding-block: 4rem; }
  .sm\:flex { display: flex; } .sm\:grid { display: grid; } .sm\:hidden { display: none; }
  .sm\:flex-row { flex-direction: row; } .sm\:items-center { align-items: center; } .sm\:justify-center{justify-content:center}.sm\:justify-between { justify-content: space-between; }.sm\:w-auto{width:auto}.sm\:p-8{padding:2rem}.sm\:px-4{padding-inline:1rem}.sm\:px-7{padding-inline:1.75rem}.sm\:py-4{padding-block:1rem}.sm\:mt-10{margin-top:2.5rem}
  .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sm\:text-4xl { font-size: 2.25rem; } .sm\:text-5xl { font-size: 3rem; }
  .mobile-break { display: inline; }
}
@media (min-width: 768px) {
  .section-padding { padding-block: 7.5rem; } .md\:flex { display: flex; } .md\:grid { display: grid; } .md\:hidden { display: none; } .md\:block { display: block; }
  .md\:flex-row { flex-direction: row; } .md\:items-center { align-items: center; } .md\:justify-between { justify-content: space-between; }.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:text-4xl{font-size:2.25rem}.md\:text-5xl{font-size:3rem}.md\:h-72{height:18rem}.md\:w-72{width:18rem}
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .md\:text-5xl { font-size: 3rem; } .md\:text-6xl { font-size: 3.75rem; }
}
@media (min-width: 1024px) {
  .container { padding-inline: 2.5rem; } .section-padding { padding-block: 9rem; }
  .lg\:flex { display: flex; } .lg\:grid { display: grid; } .lg\:hidden { display: none; } .lg\:block { display: block; }
  .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:inline-flex{display:inline-flex}.lg\:col-span-3{grid-column:span 3/span 3}
  .lg\:text-6xl { font-size: 3.75rem; } .lg\:text-7xl { font-size: 4.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media (max-width: 800px) {
  .mh-card-grid--two, .mh-card-grid--three, .mh-card-grid--four, .mh-industry-grid, .mh-contact-layout, .mh-process-step, .mh-story-block { grid-template-columns: 1fr; }
  .mh-process-step.is-reversed .mh-process-copy { order: initial; }
  .mh-timeline { grid-template-columns: repeat(2, 1fr); }
  .mh-comparison-row { grid-template-columns: 1fr; }
  .mh-comparison-row--head { display: none; }
  .mh-form-grid, .mh-metrics .container, .mh-summary-bar .container { grid-template-columns: 1fr; }
  .mh-section { padding-block: 3.5rem; }
}

/* Extra utilities used across templates */
.bg-footer { background: #020610; }
.site-header { z-index: 100; }
.fill-gold, .fill-gold svg, svg.fill-gold { fill: hsl(var(--gold)); color: hsl(var(--gold)); }
.mh-stars { display: inline-flex; gap: 2px; align-items: center; }
.mh-stars svg { fill: hsl(var(--gold)); color: hsl(var(--gold)); }
.mh-word {
  display: inline-block;
  opacity: 0;
  transform: translateY(30px);
  animation: mh-word-in .7s var(--transition-cinematic) forwards;
  animation-delay: calc(0.25s + (var(--i, 0) * 0.08s));
}
@keyframes mh-word-in {
  to { opacity: 1; transform: translateY(0); }
}
.drop-shadow-logo { filter: drop-shadow(0 0 18px hsl(218 90% 60% / .5)); }
.space-y-2 > * + * { margin-top: .5rem; }
.space-y-3 > * + * { margin-top: .75rem; }
.space-y-4 > * + * { margin-top: 1rem; }
.space-y-5 > * + * { margin-top: 1.25rem; }
.space-y-6 > * + * { margin-top: 1.5rem; }
.space-y-20 > * + * { margin-top: 5rem; }
.shrink-0, .flex-shrink-0 { flex-shrink: 0; }
.object-contain { object-fit: contain; }
.pointer-events-none { pointer-events: none; }
.whitespace-nowrap { white-space: nowrap; }
.antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.-translate-x-1\/2 { transform: translateX(-50%); }
.-translate-y-1\/2 { transform: translateY(-50%); }
.left-1\/2.-translate-x-1\/2.top-1\/2.-translate-y-1\/2 { transform: translate(-50%, -50%); }
.blur-3xl { filter: blur(64px); }
.blur-\[120px\] { filter: blur(120px); }
.blur-\[140px\] { filter: blur(140px); }
.blur-\[160px\] { filter: blur(160px); }
.opacity-30 { opacity: .3; }
.opacity-50 { opacity: .5; }
.opacity-60 { opacity: .6; }
.opacity-75 { opacity: .75; }
.h-2 { height: .5rem; } .w-2 { width: .5rem; }
.h-10 { height: 2.5rem; } .w-10 { width: 2.5rem; }
.h-11 { height: 2.75rem; } .w-11 { width: 2.75rem; }
.h-12 { height: 3rem; } .w-12 { width: 3rem; }
.h-14 { height: 3.5rem; } .w-14 { width: 3.5rem; }
.h-16 { height: 4rem; } .w-16 { width: 4rem; }
.h-20 { height: 5rem; } .w-20 { width: 5rem; }
.max-w-xs { max-width: 20rem; }
.max-w-xl { max-width: 36rem; }
.max-w-2xl { max-width: 42rem; }
.max-w-3xl { max-width: 48rem; }
.max-w-4xl { max-width: 56rem; }
.pt-24 { padding-top: 6rem; }
.pt-28 { padding-top: 7rem; }
.pb-8 { padding-bottom: 2rem; }
.pb-14 { padding-bottom: 3.5rem; }
.pb-16 { padding-bottom: 4rem; }
.lg\:sticky { position: sticky; }
.lg\:top-32 { top: 8rem; }
.lg\:col-span-2 { grid-column: span 2 / span 2; }
.primary-menu { list-style: none; margin: 0; padding: 0; }
.primary-menu a::after {
  content: "";
  position: absolute;
  left: 0; bottom: -4px;
  height: 1px; width: 100%;
  background: hsl(var(--primary-glow));
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .3s ease;
}
.primary-menu a:hover::after { transform: scaleX(1); transform-origin: left; }
.footer-menu { list-style: none; margin: 0; padding: 0; }
.footer-legal-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 1.25rem; }
.mobile-menu-overlay { display: flex; }
.mobile-menu-overlay:not(.is-open) { visibility: hidden; opacity: 0; pointer-events: none; }
.mh-faq-item .mh-faq-panel,
.mh-faq-item [data-faq-panel] {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .45s ease;
}
.mh-faq-item .mh-faq-panel > *,
.mh-faq-item [data-faq-panel] > * { overflow: hidden; }
.mh-faq-item.is-open .mh-faq-panel,
.mh-faq-item.is-open [data-faq-panel] { grid-template-rows: 1fr; }
.text-destructive { color: hsl(var(--destructive)); }
.bg-destructive\/10 { background: hsl(var(--destructive) / .1); }
.border-destructive\/40 { border-color: hsl(var(--destructive) / .4); }
.italic { font-style: italic; }
.backdrop-blur { backdrop-filter: blur(8px); }
.animate-ping { animation: mh-ping 1s cubic-bezier(0,0,.2,1) infinite; }
@keyframes mh-ping {
  75%, 100% { transform: scale(2); opacity: 0; }
}
@media (min-width: 640px) {
  .sm\:pt-28 { padding-top: 7rem; }
  .sm\:pt-36 { padding-top: 9rem; }
  .sm\:pb-20 { padding-bottom: 5rem; }
  .sm\:pb-24 { padding-bottom: 6rem; }
  .sm\:text-6xl { font-size: 3.75rem; line-height: 1; }
  .sm\:block { display: block; }
  .sm\:mt-6 { margin-top: 1.5rem; }
  .sm\:mt-7 { margin-top: 1.75rem; }
  .sm\:mt-9 { margin-top: 2.25rem; }
  .sm\:gap-4 { gap: 1rem; }
  .sm\:gap-5 { gap: 1.25rem; }
  .sm\:gap-10 { gap: 2.5rem; }
  .sm\:p-7 { padding: 1.75rem; }
  .sm\:text-2xl { font-size: 1.5rem; }
  .sm\:text-3xl { font-size: 1.875rem; }
  .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .lg\:text-\[78px\] { font-size: 78px; }
  .lg\:text-\[68px\] { font-size: 68px; }
  .lg\:h-\[560px\] { height: 560px; }
  .lg\:gap-8 { gap: 2rem; }
  .lg\:gap-10 { gap: 2.5rem; }
}

/* Page template layout utilities (React parity) */
.border-l-4 { border-left-width: 4px; border-left-style: solid; }
.border-l-primary { border-left-color: hsl(var(--primary)); }
.border-l-primary-glow { border-left-color: hsl(var(--primary-glow)); }
.border-t-4 { border-top-width: 4px; border-top-style: solid; }
.border-t-primary { border-top-color: hsl(var(--primary)); }
.border-y { border-top: 1px solid hsl(var(--border)); border-bottom: 1px solid hsl(var(--border)); }
.border-primary\/20 { border-color: hsl(var(--primary) / .2); }
.border-primary\/30 { border-color: hsl(var(--primary) / .3); }
.border-primary-glow { border-color: hsl(var(--primary-glow)); }
.border-primary-glow\/40 { border-color: hsl(var(--primary-glow) / .4); }
.border-primary-glow\/60 { border-color: hsl(var(--primary-glow) / .6); }
.border-silver\/40 { border-color: hsl(var(--silver) / .4); }
.border-border\/60 { border-color: hsl(var(--border) / .6); }
.border-2 { border-width: 2px; border-style: solid; }
.bg-input\/60 { background-color: hsl(var(--input) / .6); }
.bg-gold { background-color: hsl(var(--gold)); color: hsl(var(--background)); }
.btn-shimmer.bg-gold {
  background: hsl(var(--gold));
  color: hsl(var(--background));
  box-shadow: 0 0 40px hsl(41 56% 59% / .5);
}
.bg-surface\/60 { background-color: hsl(var(--surface) / .6); }
.bg-secondary\/40 { background-color: hsl(var(--secondary) / .4); }
.bg-secondary\/50 { background-color: hsl(var(--secondary) / .5); }
.bg-primary\/5 { background-color: hsl(var(--primary) / .05); }
.bg-primary\/20 { background-color: hsl(var(--primary) / .2); }
.text-background { color: hsl(var(--background)); }
.font-sans { font-family: "Inter", system-ui, sans-serif; }
.aspect-video { aspect-ratio: 16 / 9; }
.min-h-64 { min-height: 16rem; }
.min-h-52 { min-height: 13rem; }
.h-56 { height: 14rem; }
.line-through { text-decoration: line-through; }
.select-none { user-select: none; }
.break-words { overflow-wrap: anywhere; word-break: break-word; }
.self-start { align-self: flex-start; }
.self-auto { align-self: auto; }
.cursor-pointer { cursor: pointer; }
.opacity-20 { opacity: .2; }
.opacity-\[0\.04\] { opacity: .04; }
.opacity-10, .text-primary-glow\/10 { color: hsl(var(--primary-glow) / .1); }
.text-\[9px\] { font-size: 9px; }
.text-\[10px\] { font-size: 10px; }
.text-\[15px\] { font-size: 15px; }
.text-\[180px\] { font-size: 180px; }
.tracking-\[0\.3em\] { letter-spacing: .3em; }
.tracking-\[0\.4em\] { letter-spacing: .4em; }
.tracking-wider { letter-spacing: .08em; }
.space-y-24 > * + * { margin-top: 6rem; }
.gap-y-8 { row-gap: 2rem; }
.gap-x-4 { column-gap: 1rem; }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.left-\[10\%\] { left: 10%; }
.right-\[10\%\] { right: 10%; }
.-left-10 { left: -2.5rem; }
.-top-10 { top: -2.5rem; }
.-top-8 { top: -2rem; }
.h-px { height: 1px; }
.w-px { width: 1px; }
.h-\[500px\] { height: 500px; }
.h-\[600px\] { height: 600px; }
.w-\[600px\] { width: 600px; }
.w-\[800px\] { width: 800px; }
.min-h-\[44px\] { min-height: 44px; }
.pr-4 { padding-right: 1rem; }
.ml-1 { margin-left: .25rem; }
.mb-1\.5 { margin-bottom: .375rem; }
.disabled\:opacity-60:disabled { opacity: .6; }
.accent-primary { accent-color: hsl(var(--primary)); }
.hover\:-translate-y-0\.5:hover { transform: translateY(-2px); }
.hover\:-translate-y-1:hover { transform: translateY(-4px); }
.hover\:-translate-y-1\.5:hover { transform: translateY(-6px); }
.hover\:scale-110:hover { transform: scale(1.1); }
.hover\:scale-\[1\.02\]:hover { transform: scale(1.02); }
.hover\:scale-\[1\.04\]:hover { transform: scale(1.04); }
.hover\:gap-3:hover { gap: .75rem; }
.hover\:border-l-primary-glow:hover { border-left-color: hsl(var(--primary-glow)); }
.hover\:border-primary-glow:hover { border-color: hsl(var(--primary-glow)); }
.hover\:border-primary-glow\/60:hover { border-color: hsl(var(--primary-glow) / .6); }
.hover\:shadow-glow:hover { box-shadow: var(--shadow-glow); }
.hover\:shadow-glow-strong:hover { box-shadow: var(--shadow-glow-strong); }
.hover\:bg-primary:hover { background-color: hsl(var(--primary)); }
.hover\:border-primary:hover { border-color: hsl(var(--primary)); }
.hover\:text-primary-foreground:hover { color: hsl(var(--primary-foreground)); }
.hover\:text-white:hover { color: #fff; }
.hover\:bg-secondary\/50:hover { background-color: hsl(var(--secondary) / .5); }
.group:hover .group-hover\:scale-110 { transform: scale(1.1); }
.group:hover .group-hover\:shadow-glow-strong { box-shadow: var(--shadow-glow-strong); }
.group:hover .group-hover\:text-white { color: #fff; }
.transition-all { transition: all .3s var(--transition-cinematic); }
.transition-shadow { transition: box-shadow .3s ease; }
.transition-colors { transition: color .3s ease, background-color .3s ease, border-color .3s ease; }
.transition-transform { transition: transform .3s ease; }
.duration-300 { transition-duration: .3s; }
.duration-500 { transition-duration: .5s; }
.divide-y > * + * { border-top: 1px solid hsl(var(--primary) / .2); }
.divide-primary\/20 > * + * { border-color: hsl(var(--primary) / .2); }
.bg-gradient-to-r { background-image: linear-gradient(to right, var(--tw-gradient-stops, transparent, transparent)); }
.bg-gradient-to-b { background-image: linear-gradient(to bottom, var(--tw-gradient-stops, transparent, transparent)); }
.bg-gradient-to-br { background-image: linear-gradient(to bottom right, var(--tw-gradient-stops, transparent, transparent)); }
.from-primary { --tw-gradient-from: hsl(var(--primary)); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent); }
.from-primary\/20 { --tw-gradient-from: hsl(var(--primary) / .2); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent); }
.from-secondary { --tw-gradient-from: hsl(var(--secondary)); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent); }
.from-transparent { --tw-gradient-from: transparent; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent); }
.from-\[\#08122a\] { --tw-gradient-from: #08122a; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent); }
.via-primary-glow { --tw-gradient-via: hsl(var(--primary-glow)); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to, transparent); }
.via-primary-glow\/50 { --tw-gradient-via: hsl(var(--primary-glow) / .5); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to, transparent); }
.via-\[\#0e1e38\] { --tw-gradient-via: #0e1e38; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to, transparent); }
.via-card { --tw-gradient-via: hsl(var(--card)); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to, transparent); }
.to-primary { --tw-gradient-to: hsl(var(--primary)); }
.to-primary-glow { --tw-gradient-to: hsl(var(--primary-glow)); }
.to-primary-glow\/20 { --tw-gradient-to: hsl(var(--primary-glow) / .2); }
.to-transparent { --tw-gradient-to: transparent; }
.to-background { --tw-gradient-to: hsl(var(--background)); }
.to-\[\#08122a\] { --tw-gradient-to: #08122a; }
.shadow-\[0_0_40px_hsl\(41_56\%_59\%\/0\.5\)\] { box-shadow: 0 0 40px hsl(41 56% 59% / .5); }
.hover\:shadow-\[0_0_60px_hsl\(41_56\%_59\%\/0\.7\)\]:hover { box-shadow: 0 0 60px hsl(41 56% 59% / .7); }
.shadow-\[0_0_12px_hsl\(218_90\%_60\%\/0\.8\)\] { box-shadow: 0 0 12px hsl(218 90% 60% / .8); }
.shadow-\[0_0_20px_hsl\(218_90\%_60\%\/0\.5\)\] { box-shadow: 0 0 20px hsl(218 90% 60% / .5); }
.focus\:outline-none:focus { outline: none; }
.focus\:border-primary-glow:focus { border-color: hsl(var(--primary-glow)); }
.focus\:shadow-\[0_0_0_3px_hsl\(218_90\%_60\%\/0\.2\)\]:focus { box-shadow: 0 0 0 3px hsl(218 90% 60% / .2); }
.placeholder\:text-silver\/40::placeholder { color: hsl(var(--silver) / .4); }
.animate-pulse-glow { animation: mh-pulse-glow 3s ease-in-out infinite; }
@keyframes mh-pulse-glow {
  0%, 100% { opacity: .55; }
  50% { opacity: 1; }
}
.mh-faq-item.is-open { border-left: 4px solid hsl(var(--primary-glow)); box-shadow: var(--shadow-glow); }
.mh-faq-item.is-open .mh-icon[data-lucide="chevron-down"],
.mh-faq-item.is-open i[data-lucide="chevron-down"] { transform: rotate(180deg); }
[data-filter].is-active {
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  border-color: hsl(var(--primary));
  box-shadow: var(--shadow-glow);
}
.md\:text-7xl { font-size: 4.5rem; line-height: 1; }
.md\:text-8xl { font-size: 6rem; line-height: 1; }
@media (min-width: 640px) {
  .sm\:grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .sm\:p-5 { padding: 1.25rem; }
  .sm\:p-8 { padding: 2rem; }
  .sm\:px-5 { padding-inline: 1.25rem; }
  .sm\:px-8 { padding-inline: 2rem; }
  .sm\:py-2 { padding-block: .5rem; }
  .sm\:py-10 { padding-block: 2.5rem; }
  .sm\:gap-4 { gap: 1rem; }
  .sm\:text-sm { font-size: .875rem; }
  .sm\:flex-row { flex-direction: row; }
  .sm\:items-center { align-items: center; }
  .sm\:items-start { align-items: flex-start; }
  .sm\:justify-between { justify-content: space-between; }
  .sm\:self-auto { align-self: auto; }
  .sm\:hover\:scale-\[1\.04\]:hover { transform: scale(1.04); }
}
@media (min-width: 768px) {
  .md\:divide-y-0 > * + * { border-top: 0; }
  .md\:divide-x > * + * { border-top: 0; border-left: 1px solid hsl(var(--primary) / .2); }
  .md\:px-4 { padding-inline: 1rem; }
  .md\:py-0 { padding-block: 0; }
  .md\:p-5 { padding: 1.25rem; }
  .md\:p-12 { padding: 3rem; }
  .md\:text-4xl { font-size: 2.25rem; }
  .md\:grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .md\:block { display: block; }
}
@media (min-width: 1024px) {
  .lg\:order-1 { order: 1; }
  .lg\:order-2 { order: 2; }
  .lg\:order-3 { order: 3; }
  .lg\:text-right { text-align: right; }
  .lg\:ml-auto { margin-left: auto; }
  .lg\:flex-row-reverse { flex-direction: row-reverse; }
  .lg\:grid-cols-\[1fr_auto_1fr\] { grid-template-columns: 1fr auto 1fr; }
  .lg\:grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* Extra React-parity utilities */
.left-\[16\%\] { left: 16%; }
.right-\[16\%\] { right: 16%; }
.via-transparent { --tw-gradient-via: transparent; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to, transparent); }
.from-primary\/5 { --tw-gradient-from: hsl(var(--primary) / .05); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent); }
.to-primary\/5 { --tw-gradient-to: hsl(var(--primary) / .05); }
.animate-pulse { animation: mh-pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; }
@keyframes mh-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .45; }
}
.bg-card\/60 { background-color: hsl(var(--card) / .6); }
.text-silver\/30 { color: hsl(var(--silver) / .3); }
.text-4xl { font-size: 2.25rem; line-height: 1.15; }
.max-w-xs { max-width: 20rem; }
.origin-left { transform-origin: left; }
.scale-x-100 { transform: scaleX(1); }
.mh-timeline-line.is-visible { transform: scaleX(1); }
.mh-timeline-line {
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1.6s var(--transition-cinematic);
}
.text-primary-glow\/30 { color: hsl(var(--primary-glow) / .3); }
.top-5 { top: 1.25rem; }
.left-5 { left: 1.25rem; }
.mb-4 { margin-bottom: 1rem; }
.mx-8 { margin-inline: 2rem; }
.py-5 { padding-block: 1.25rem; }
.tracking-\[0\.25em\] { letter-spacing: .25em; }
.bg-primary { background-color: hsl(var(--primary)); }
.border-primary-glow\/40 { border-color: hsl(var(--primary-glow) / .4); }
.whitespace-nowrap { white-space: nowrap; }
.justify-end { justify-content: flex-end; }
.items-end { align-items: flex-end; }
.gap-14 { gap: 3.5rem; }
.pt-6 { padding-top: 1.5rem; }
.pb-2 { padding-bottom: .5rem; }
.pb-5 { padding-bottom: 1.25rem; }
.pb-6 { padding-bottom: 1.5rem; }
.rounded { border-radius: .25rem; }
.overflow-hidden { overflow: hidden; }
.h-full { height: 100%; }
.w-full { width: 100%; }
@media (min-width: 768px) {
  .md\:text-base { font-size: 1rem; }
}

/* ===== Hero credit-card visual (React Hero.tsx parity) ===== */
.aspect-\[1\.6\/1\] { aspect-ratio: 1.6 / 1; }
.left-\[8\%\] { left: 8%; }
.bottom-\[12\%\] { bottom: 12%; }
.right-\[6\%\] { right: 6%; }
.top-\[8\%\] { top: 8%; }
.w-\[70\%\] { width: 70%; }
.w-\[78\%\] { width: 78%; }
.h-\[280px\] { height: 280px; }
.h-\[380px\] { height: 380px; }
.h-\[500px\] { height: 500px; }
.h-\[700px\] { height: 700px; }
.w-\[500px\] { width: 500px; }
.w-\[700px\] { width: 700px; }
.w-\[380px\] { width: 380px; }
.-right-32 { right: -8rem; }
.-left-40 { left: -10rem; }
.top-1\/4 { top: 25%; }
.m-auto { margin: auto; }
.h-1 { height: .25rem; }
.w-1 { width: .25rem; }
.min-h-\[calc\(100vh-7rem\)\] { min-height: calc(100vh - 7rem); }
.tracking-\[0\.35em\] { letter-spacing: .35em; }
.tracking-\[0\.3em\] { letter-spacing: .3em; }
.bottom-6 { bottom: 1.5rem; }
.left-6 { left: 1.5rem; }
.right-6 { right: 1.5rem; }
.rounded-md { border-radius: .375rem; }
.text-chrome\/70 { color: hsl(var(--chrome) / .7); }
.text-chrome\/60 { color: hsl(var(--chrome) / .6); }
.bg-primary-glow\/30 { background-color: hsl(var(--primary-glow) / .3); }
.bg-primary-glow\/70 { background-color: hsl(var(--primary-glow) / .7); }
.bg-primary\/20 { background-color: hsl(var(--primary) / .2); }
.bg-primary\/25 { background-color: hsl(var(--primary) / .25); }
.blur-\[120px\] { filter: blur(120px); }
.shadow-\[0_0_16px_hsl\(218_90\%_60\%\/0\.6\)\] { box-shadow: 0 0 16px hsl(218 90% 60% / .6); }
.shadow-\[0_0_20px_hsl\(218_90\%_60\%\/0\.25\)\] { box-shadow: 0 0 20px hsl(218 90% 60% / .25); }

/* Hero card gradients â€” explicit (no Tailwind build) */
.bg-gradient-to-br { background-image: linear-gradient(to bottom right, var(--tw-gradient-stops, #0a1530, #040814)); }
.bg-gradient-to-tr { background-image: linear-gradient(to top right, var(--tw-gradient-stops, transparent, rgba(255,255,255,.1))); }
.from-\[\#0a1530\] { --tw-gradient-from: #0a1530; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent); }
.to-\[\#040814\] { --tw-gradient-to: #040814; }
.from-\[\#102447\] { --tw-gradient-from: #102447; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent); }
.via-\[\#0a1832\] { --tw-gradient-via: #0a1832; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to, transparent); }
.from-primary-glow { --tw-gradient-from: hsl(var(--primary-glow)); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent); }
.via-white\/5 { --tw-gradient-via: hsl(0 0% 100% / .05); --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-via), var(--tw-gradient-to, transparent); }
.to-white\/10 { --tw-gradient-to: hsl(0 0% 100% / .1); }
.from-transparent { --tw-gradient-from: transparent; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent); }

/* Dedicated hero card skins so they never collapse to empty outlines */
.mh-hero-card-back {
  background: linear-gradient(to bottom right, #0a1530, #040814) !important;
  border: 1px solid hsl(var(--primary) / .3);
  box-shadow: var(--shadow-elevated);
}
.mh-hero-card-front {
  background: linear-gradient(160deg, #102447 0%, #0a1832 45%, #040814 100%) !important;
  border: 1px solid hsl(var(--primary-glow) / .4);
  box-shadow: var(--shadow-glow-strong);
}
.mh-hero-chip {
  background: linear-gradient(to bottom right, hsl(var(--primary-glow)), hsl(var(--primary)));
  box-shadow: 0 0 16px hsl(218 90% 60% / .6);
}
.mh-hero-bloom {
  background: hsl(var(--primary-glow) / .3);
  filter: blur(64px);
}

@media (min-width: 400px) {
  .min-\[400px\]\:text-\[2\.25rem\] { font-size: 2.25rem; }
}
@media (min-width: 640px) {
  .sm\:h-\[380px\] { height: 380px; }
  .sm\:mr-4 { margin-right: 1rem; }
  .sm\:text-lg { font-size: 1.125rem; line-height: 1.75; }
  .sm\:leading-\[0\.95\] { line-height: .95; }
  .sm\:px-6 { padding-inline: 1.5rem; }
  .sm\:py-3 { padding-block: .75rem; }
  .sm\:text-lg { font-size: 1.125rem; }
}
@media (min-width: 1024px) {
  .lg\:h-\[560px\] { height: 560px; }
}

/* Float animations must preserve 3D card tilt transforms */
@keyframes float-slow {
  0%, 100% { transform: translateY(0) rotate(-6deg); }
  50% { transform: translateY(-18px) rotate(-4deg); }
}
@keyframes float-slower {
  0%, 100% { transform: translateY(0) rotate(8deg); }
  50% { transform: translateY(-26px) rotate(10deg); }
}
.animate-float-slow { animation: float-slow 6s ease-in-out infinite; }
.animate-float-slower { animation: float-slower 7.5s ease-in-out infinite; }

/* Pulse glow for ambient orbs (opacity based, not box-shadow) */
.animate-pulse-glow { animation: pulse-glow-orb 5s ease-in-out infinite; }
@keyframes pulse-glow-orb {
  0%, 100% { opacity: .45; transform: scale(1); }
  50% { opacity: .75; transform: scale(1.08); }
}

.group:hover .group-hover\:translate-x-1 { transform: translateX(4px); }
.group:hover .group-hover\:bg-primary\/25 { background-color: hsl(var(--primary) / .25); }
.group:hover .group-hover\:bg-primary\/30 { background-color: hsl(var(--primary) / .3); }
.group:hover .group-hover\:shadow-glow { box-shadow: var(--shadow-glow); }
.text-\[2rem\] { font-size: 2rem; }
.leading-\[0\.98\] { line-height: .98; }
.mr-2 { margin-right: .5rem; }
.mr-3 { margin-right: .75rem; }
.mr-4 { margin-right: 1rem; }
.tracking-tight { letter-spacing: -.025em; }
.backdrop-blur { backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.border-primary\/40 { border-color: hsl(var(--primary) / .4); }
.bg-primary\/10 { background-color: hsl(var(--primary) / .1); }
.text-\[10px\] { font-size: 10px; }
.tracking-wider { letter-spacing: .05em; }
.py-1\.5 { padding-block: .375rem; }
.sm\:text-xs { font-size: .75rem; }
.h-2 { height: .5rem; }
.w-2 { width: .5rem; }
.inline-flex { display: inline-flex; }
.items-center { align-items: center; }
.gap-2 { gap: .5rem; }
.rounded-full { border-radius: 9999px; }

/* Force clean icon rendering — wins over any leftover legacy rules */
svg.mh-icon {
  display: inline-block !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  max-width: none !important;
}
.mh-stars {
  display: inline-flex !important;
  gap: 3px;
  align-items: center;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.mh-stars .mh-icon,
.mh-stars svg.mh-icon {
  color: hsl(var(--gold)) !important;
  fill: hsl(var(--gold)) !important;
  stroke: hsl(var(--gold)) !important;
  background: none !important;
  padding: 0 !important;
}
.mh-contact-icon {
  display: inline-flex;
  color: hsl(var(--primary-glow));
  flex-shrink: 0;
}
.mh-contact-icon .mh-icon {
  color: hsl(var(--primary-glow)) !important;
  stroke: hsl(var(--primary-glow)) !important;
}
.mh-social-btn {
  color: hsl(var(--silver));
}
.mh-social-btn .mh-icon,
.mh-social-icon {
  color: hsl(var(--silver)) !important;
  stroke: hsl(var(--silver)) !important;
}
.mh-social-btn:hover,
.mh-social-btn:hover .mh-icon,
.mh-social-btn:hover .mh-social-icon {
  color: #fff !important;
  stroke: #fff !important;
}
.btn-shimmer .mh-icon,
.text-primary-foreground .mh-icon {
  color: #fff !important;
  stroke: #fff !important;
}
.text-primary-glow > .mh-icon,
.mh-icon.text-primary-glow {
  color: hsl(var(--primary-glow)) !important;
  stroke: hsl(var(--primary-glow)) !important;
}

/* Testimonial quote watermark — behind stars, not overlapping */
.mh-quote-mark {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 0;
  pointer-events: none;
  opacity: 0.22;
  color: hsl(var(--primary-glow));
  line-height: 0;
}
.mh-quote-mark .mh-icon {
  color: hsl(var(--primary-glow)) !important;
  stroke: hsl(var(--primary-glow)) !important;
}
.mh-testimonial-card .relative.z-10 {
  position: relative;
  z-index: 10;
}
.gap-0\.5 { gap: .125rem; }
.m-0 { margin: 0; }
.flex-row { flex-direction: row; }

/* ===== Site footer (React Footer.tsx parity) ===== */
.site-footer {
  position: relative;
  background: #020610;
  color: hsl(var(--silver));
  padding: 3rem 0 2rem;
}
@media (min-width: 640px) {
  .site-footer { padding-top: 4rem; }
}
.footer-top-line {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, hsl(var(--primary-glow) / .6), transparent);
}
.footer-grid {
  display: grid;
  gap: 2rem;
}
@media (min-width: 640px) {
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; }
}
@media (min-width: 768px) {
  .footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.footer-brand .font-display {
  font-size: .95rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: hsl(var(--silver));
}
.footer-brand p {
  margin: 1rem 0 0;
  color: hsl(var(--silver) / .6);
  line-height: 1.75;
  max-width: 22rem;
}
.footer-social-row {
  display: flex;
  gap: .75rem;
  margin-top: 1.25rem;
}
.footer-social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  min-width: 44px;
  min-height: 44px;
  border-radius: 9999px;
  border: 1px solid hsl(var(--border));
  color: hsl(var(--silver) / .7);
  transition: background .3s, color .3s, border-color .3s, box-shadow .3s;
}
.footer-social .mh-icon {
  color: hsl(var(--silver) / .7) !important;
  stroke: hsl(var(--silver) / .7) !important;
  background: none !important;
  padding: 0 !important;
}
.footer-social:hover {
  background: hsl(var(--primary));
  border-color: hsl(var(--primary));
  color: #fff;
  box-shadow: var(--shadow-glow);
}
.footer-social:hover .mh-icon {
  color: #fff !important;
  stroke: #fff !important;
}
.footer-links-col h4,
.footer-contact-col h4 {
  margin: 0;
  color: hsl(var(--silver));
  font-size: .875rem;
  letter-spacing: .16em;
}
.footer-quick-links {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  column-gap: 1.5rem;
}
.footer-quick-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: .875rem;
  color: hsl(var(--silver) / .7);
  transition: color .25s;
}
.footer-quick-links a:hover {
  color: hsl(var(--primary-glow));
}
.footer-contact-list {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
  display: grid;
  gap: .75rem;
  font-size: .875rem;
  color: hsl(var(--silver) / .7);
}
.footer-contact-list li {
  display: flex;
  align-items: center;
  gap: .5rem;
}
.footer-contact-list .footer-contact-email {
  align-items: flex-start;
}
.footer-contact-ico {
  color: hsl(var(--primary-glow)) !important;
  stroke: hsl(var(--primary-glow)) !important;
  flex-shrink: 0;
  background: none !important;
  padding: 0 !important;
}
.footer-contact-email .footer-contact-ico {
  margin-top: .15rem;
}
.footer-contact-list a {
  color: hsl(var(--silver) / .7);
  transition: color .25s;
}
.footer-contact-list a:hover {
  color: hsl(var(--silver));
}
.footer-meta {
  color: hsl(var(--silver) / .5) !important;
  display: block !important;
}
.footer-meta--first {
  padding-top: .5rem;
}
.footer-bottom {
  margin-top: 3rem;
  padding-top: 1.5rem;
  border-top: 1px solid hsl(var(--border));
  display: flex;
  flex-direction: column;
  gap: 1rem;
  font-size: .75rem;
  color: hsl(var(--silver) / .5);
}
@media (min-width: 768px) {
  .footer-bottom {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}
.footer-legal {
  display: flex;
  gap: 1.25rem;
}
.footer-legal a {
  color: hsl(var(--silver) / .5);
  transition: color .25s;
}
.footer-legal a:hover {
  color: hsl(var(--silver));
}

/* Blueprint diagonal match React */
.bg-blueprint-diagonal {
  background-image:
    linear-gradient(45deg, hsl(218 90% 60% / .04) 1px, transparent 1px),
    linear-gradient(-45deg, hsl(218 90% 60% / .04) 1px, transparent 1px);
  background-size: 50px 50px;
}

/* ===== Page hero (React PageHero.tsx parity) ===== */
.page-hero {
  position: relative;
  overflow: hidden;
  background: hsl(var(--background));
  padding: 7rem 0 4rem;
}
@media (min-width: 640px) {
  .page-hero { padding: 9rem 0 6rem; }
}
.page-hero__blueprint {
  position: absolute;
  inset: 0;
  opacity: .5;
  pointer-events: none;
  background-image:
    linear-gradient(45deg, hsl(218 90% 60% / .04) 1px, transparent 1px),
    linear-gradient(-45deg, hsl(218 90% 60% / .04) 1px, transparent 1px);
  background-size: 50px 50px;
}
.page-hero__glow {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(700px, 90vw);
  height: min(700px, 90vw);
  border-radius: 9999px;
  transform: translate(-50%, -50%);
  background: hsl(var(--primary-glow) / .25);
  filter: blur(140px);
  pointer-events: none;
  animation: page-hero-glow 5s ease-in-out infinite;
}
@keyframes page-hero-glow {
  0%, 100% { opacity: .55; }
  50% { opacity: .95; }
}
.page-hero__inner {
  position: relative;
  z-index: 1;
}
.page-hero__crumb {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  font-size: .75rem;
  letter-spacing: .16em;
  color: hsl(var(--silver) / .6);
}
@media (min-width: 640px) {
  .page-hero__crumb { justify-content: flex-start; }
}
.page-hero__crumb a {
  color: inherit;
  transition: color .25s;
}
.page-hero__crumb a:hover {
  color: hsl(var(--primary-glow));
}
.page-hero__crumb span {
  color: hsl(var(--silver));
}
.page-hero__crumb-ico {
  color: hsl(var(--silver) / .6) !important;
  stroke: hsl(var(--silver) / .6) !important;
}
.page-hero__content {
  margin: 2.5rem auto 0;
  max-width: 56rem;
  text-align: center;
}
.page-hero__badge {
  display: inline-flex;
  max-width: 100%;
  align-items: center;
  gap: .5rem;
  border-radius: 9999px;
  border: 1px solid hsl(var(--primary) / .4);
  background: hsl(var(--primary) / .1);
  padding: .375rem 1rem;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: hsl(var(--primary-glow));
  box-shadow: 0 0 20px hsl(218 90% 60% / .25);
}
@media (max-width: 639px) {
  .page-hero__badge {
    font-size: .625rem;
    letter-spacing: .2em;
    padding-inline: .75rem;
  }
}
.page-hero__pulse {
  position: relative;
  display: flex;
  width: .5rem;
  height: .5rem;
  flex-shrink: 0;
}
.page-hero__pulse-ring {
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  background: hsl(var(--primary-glow));
  opacity: .75;
  animation: mh-ping 1s cubic-bezier(0, 0, .2, 1) infinite;
}
.page-hero__pulse-dot {
  position: relative;
  display: inline-flex;
  width: .5rem;
  height: .5rem;
  border-radius: 9999px;
  background: hsl(var(--primary-glow));
}
.page-hero__title {
  margin: 1.75rem 0 0;
  font-family: "Cinzel", Georgia, serif;
  font-size: clamp(2.25rem, 6vw, 4.25rem);
  line-height: 1.05;
  letter-spacing: -.025em;
  font-weight: 400;
}
@media (min-width: 1024px) {
  .page-hero__title { font-size: 68px; line-height: 1.02; }
}
.page-hero__title-line {
  display: block;
}
.page-hero__title-line--solid {
  color: #fff;
  text-shadow: 0 0 24px hsl(var(--primary-glow) / .7);
}
.page-hero__title-line--gradient {
  margin-top: .5rem;
}
.page-hero__word {
  display: inline-block;
  margin-right: .5rem;
}
@media (min-width: 640px) {
  .page-hero__word { margin-right: .75rem; }
}
.page-hero__word--gradient {
  color: transparent !important;
  background-image: linear-gradient(135deg, hsl(218 90% 65%), hsl(222 78% 55%), hsl(214 32% 91%));
  background-clip: text;
  -webkit-background-clip: text;
  text-shadow: none;
}
.page-hero__subtitle {
  margin: 1.75rem auto 0;
  max-width: 42rem;
  padding-inline: .5rem;
  font-size: 1rem;
  line-height: 1.75;
  color: hsl(var(--silver) / .75);
}
@media (min-width: 640px) {
  .page-hero__subtitle { font-size: 1.125rem; }
}
.page-hero__actions {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: .75rem;
  margin-top: 2rem;
  padding-inline: .5rem;
}
@media (min-width: 640px) {
  .page-hero__actions {
    flex-direction: row;
    align-items: center;
    gap: 1rem;
    margin-top: 2.5rem;
  }
}
.page-hero__btn {
  display: inline-flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  border-radius: 9999px;
  padding: .875rem 1.75rem;
  font-size: .9375rem;
  font-weight: 600;
  transition: background .5s, border-color .5s, color .5s, box-shadow .5s, transform .4s;
}
@media (min-width: 640px) {
  .page-hero__btn { width: auto; }
}
.page-hero__btn--primary {
  color: #fff !important;
  background: var(--gradient-primary) !important;
  box-shadow: var(--shadow-glow);
}
.page-hero__btn--primary:hover {
  box-shadow: var(--shadow-glow-strong);
}
.page-hero__btn--ghost {
  border: 1px solid hsl(var(--silver) / .4);
  background: transparent;
  color: hsl(var(--silver));
}
.page-hero__btn--ghost:hover {
  background: hsl(var(--primary));
  border-color: hsl(var(--primary));
  color: #fff;
}
.page-hero__btn-ico {
  flex-shrink: 0;
  transition: transform .3s;
}
.page-hero__btn--primary:hover .page-hero__btn-ico {
  transform: translateX(4px);
}

/* ===== Contact page form (React ContactPage.tsx parity) ===== */
.contact-layout {
  display: grid;
  gap: 2rem;
}
@media (min-width: 1024px) {
  .contact-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.5rem;
  }
}
.contact-card {
  border-radius: 1.25rem;
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-top: 4px solid hsl(var(--primary));
  padding: 1.25rem;
  box-shadow: var(--shadow-elevated);
}
@media (min-width: 640px) {
  .contact-card { padding: 2rem; }
}
@media (min-width: 768px) {
  .contact-card { padding: 2.5rem; }
}
.contact-card__tag {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  border-radius: 9999px;
  border: 1px solid hsl(var(--primary) / .4);
  background: hsl(var(--primary) / .1);
  padding: .375rem 1rem;
  font-size: .625rem;
  font-weight: 600;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: hsl(var(--primary-glow));
}
.contact-card__pulse {
  position: relative;
  display: flex;
  width: .5rem;
  height: .5rem;
  flex-shrink: 0;
}
.contact-card__pulse-ring {
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  background: hsl(var(--primary-glow));
  opacity: .75;
  animation: mh-ping 1s cubic-bezier(0, 0, .2, 1) infinite;
}
.contact-card__pulse-dot {
  position: relative;
  display: inline-flex;
  width: .5rem;
  height: .5rem;
  border-radius: 9999px;
  background: hsl(var(--primary-glow));
}
.contact-card__title {
  margin: 1.25rem 0 0;
  font-family: "Cinzel", Georgia, serif;
  font-size: clamp(1.25rem, 3vw, 1.875rem);
  line-height: 1.15;
  color: #fff;
  font-weight: 400;
}
.contact-card__lead {
  margin: .75rem 0 0;
  font-size: .875rem;
  color: hsl(var(--silver) / .65);
  line-height: 1.6;
}
.contact-form {
  display: grid;
  gap: 1.25rem;
  margin-top: 1.75rem;
}
.contact-form__row {
  display: grid;
  gap: 1.25rem;
}
@media (min-width: 640px) {
  .contact-form__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.contact-field label {
  display: block;
  margin: 0 0 .5rem;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: hsl(var(--silver) / .7);
}
.contact-field input,
.contact-field select,
.contact-field textarea {
  display: block;
  width: 100%;
  margin: 0;
  border-radius: .5rem;
  border: 1px solid hsl(var(--border));
  background: hsl(var(--input) / .6);
  padding: .75rem 1rem;
  color: hsl(var(--silver));
  font: inherit;
  font-size: .9375rem;
  line-height: 1.4;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color .3s, box-shadow .3s, background .3s;
}
.contact-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%94a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.75rem;
  cursor: pointer;
}
.contact-field select option {
  background: hsl(var(--card));
  color: hsl(var(--silver));
}
.contact-field textarea {
  min-height: 7rem;
  resize: vertical;
}
.contact-field input::placeholder,
.contact-field textarea::placeholder {
  color: hsl(var(--silver) / .4);
}
.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus {
  outline: none;
  border-color: hsl(var(--primary-glow));
  box-shadow: 0 0 0 3px hsl(218 90% 60% / .2);
}
.contact-consent {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding: .25rem 0;
  font-size: .75rem;
  line-height: 1.5;
  color: hsl(var(--silver) / .7);
  cursor: pointer;
}
.contact-consent input[type="checkbox"] {
  width: 1.25rem;
  height: 1.25rem;
  margin: .15rem 0 0;
  flex-shrink: 0;
  accent-color: hsl(var(--primary));
  cursor: pointer;
}
.contact-form__submit {
  display: inline-flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  border: 0;
  border-radius: 9999px;
  padding: 1rem 1.5rem;
  font-size: 1rem;
  font-weight: 600;
  color: #fff !important;
  background: var(--gradient-primary) !important;
  box-shadow: var(--shadow-glow);
  cursor: pointer;
  transition: box-shadow .5s, opacity .3s;
}
.contact-form__submit:hover {
  box-shadow: var(--shadow-glow-strong);
}
.contact-form__submit:disabled {
  opacity: .6;
  cursor: wait;
}
.contact-form__submit.is-loading .contact-form__submit-ico {
  display: none;
}
.contact-form__secure {
  margin: 0;
  text-align: center;
  font-size: .75rem;
  color: hsl(var(--silver) / .55);
}
.contact-form__status {
  margin: 0;
  min-height: 1.25rem;
  font-size: .875rem;
  color: hsl(var(--primary-glow));
  text-align: center;
}
.contact-form__status.is-error {
  color: #ff8d99;
}
.contact-success {
  text-align: center;
  padding: 2.5rem 0;
}
.contact-success__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  margin: 0 auto;
  border-radius: 9999px;
  background: hsl(var(--primary));
  box-shadow: var(--shadow-glow-strong);
}
.contact-success__check {
  color: #fff !important;
  stroke: #fff !important;
  stroke-width: 3;
}
.contact-success__title {
  margin: 1.75rem 0 0;
  font-family: "Cinzel", Georgia, serif;
  font-size: 1.875rem;
  color: #fff;
  font-weight: 400;
}
.contact-success__text {
  margin: .75rem 0 0;
  color: hsl(var(--silver) / .75);
}
.contact-success__wait {
  margin: 2rem 0 0;
  font-size: .75rem;
  letter-spacing: .16em;
  color: hsl(var(--silver) / .6);
}
.contact-success__links {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .5rem;
  margin-top: .75rem;
}
.contact-success__links a {
  color: hsl(var(--primary-glow));
  transition: color .25s;
}
.contact-success__links a:hover {
  color: #fff;
}
.contact-aside {
  display: grid;
  gap: 1rem;
  align-content: start;
}
.contact-info-card {
  display: flex;
  gap: 1rem;
  border-radius: .75rem;
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  padding: 1.25rem;
  transition: transform .5s, border-color .5s, box-shadow .5s;
}
.contact-info-card:hover {
  transform: translateY(-2px);
  border-color: hsl(var(--primary-glow));
  box-shadow: var(--shadow-glow);
}
.contact-info-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  flex-shrink: 0;
  border-radius: .5rem;
  background: hsl(var(--primary) / .15);
  border: 1px solid hsl(var(--primary) / .3);
  color: hsl(var(--primary-glow));
}
.contact-info-card__label {
  font-size: .75rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: hsl(var(--silver) / .6);
}
.contact-info-card__main {
  display: block;
  margin-top: .25rem;
  font-weight: 600;
  color: #fff;
}
a.contact-info-card__main:hover {
  color: hsl(var(--primary-glow));
}
.contact-info-card__sub {
  font-size: .875rem;
  color: hsl(var(--silver) / .65);
}
.contact-info-card__extra {
  margin-top: .25rem;
  font-size: .75rem;
  color: hsl(var(--silver) / .5);
}
.contact-map {
  border-radius: 1.25rem;
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  overflow: hidden;
}
.contact-map__inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 14rem;
  background: hsl(var(--secondary));
  overflow: hidden;
}
.contact-map__blueprint {
  position: absolute;
  inset: 0;
  opacity: .4;
  background-image:
    linear-gradient(hsl(var(--primary) / .07) 1px, transparent 1px),
    linear-gradient(90deg, hsl(var(--primary) / .07) 1px, transparent 1px);
  background-size: 34px 34px;
}
.contact-map__content {
  position: relative;
  text-align: center;
}
.contact-map__pin {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  margin: 0 auto;
  border-radius: 9999px;
  background: hsl(var(--primary));
  box-shadow: var(--shadow-glow);
  color: #fff;
  animation: page-hero-glow 5s ease-in-out infinite;
}
.contact-map__city {
  margin-top: .75rem;
  font-weight: 600;
  color: #fff;
}
.contact-map__link {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  margin-top: .5rem;
  font-size: .875rem;
  color: hsl(var(--primary-glow));
  transition: color .25s;
}
.contact-map__link:hover {
  color: #fff;
}
.contact-social {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-top: .5rem;
}
.contact-social__label {
  font-size: .75rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: hsl(var(--silver) / .6);
}
.contact-social__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 9999px;
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  color: hsl(var(--primary-glow));
  transition: background .3s, color .3s, border-color .3s;
}
.contact-social__btn:hover {
  background: hsl(var(--primary));
  border-color: hsl(var(--primary));
  color: #fff;
}
.contact-social__btn .mh-icon {
  color: inherit !important;
  stroke: currentColor !important;
}
