:root {
  --font-heading: Arial, Helvetica, sans-serif;
  --font-body: Arial, Helvetica, sans-serif;
  --violet: #7740FF;
  --sapphire: #0032FF;
  --ink: #111827;
  --deep: #080B2E;
  --cyan: #AEEBFF;
}

html { scroll-behavior: smooth; }
body { min-width: 320px; overflow-x: hidden; }
body.menu-open { overflow: hidden; }

h1, h2, h3, h4 { font-family: var(--font-heading); color: var(--heading); letter-spacing: -0.035em; }
h1 { font-size: clamp(39px, 5.6vw, 74px); line-height: 0.96; }
h2 { font-size: clamp(31px, 4vw, 48px); line-height: 1.06; }
h3, h4 { font-size: clamp(22px, 2vw, 28px); line-height: 1.15; }
h2::after, h3::after, h4::after { content: ""; display: block; width: 54px; height: 4px; margin-top: 13px; background: linear-gradient(90deg, var(--sapphire), var(--violet), var(--cyan)); }
.text-center h2::after, .text-center h3::after, .text-center h4::after { margin-left: auto; margin-right: auto; }
p, li, a, button, input, textarea { font-size: 16px; }
.site-footer, .site-footer p, .site-footer li, .site-footer a { font-size: 14px; }

@media (max-width: 767px) {
  h1 { font-size: clamp(39px, 12vw, 52px); }
  h2 { font-size: clamp(31px, 9vw, 38px); }
  body { padding-bottom: 86px; }
}

.desktop-only { display: none !important; }
.mobile-only { display: block !important; }
@media (min-width: 768px) {
  .desktop-only { display: flex !important; }
  .mobile-only { display: none !important; }
  .logo-text { max-width: none; white-space: nowrap; }
}

.glass-header { background: rgba(8, 11, 46, 0.86); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(174, 235, 255, 0.16); }
.logo-text { font-size: 24px; font-weight: 900; letter-spacing: -0.04em; color: #fff; line-height: .95; max-width: 164px; }
.nav-link { color: #fff; opacity: .9; white-space: nowrap; }
.nav-link:hover { color: var(--cyan); opacity: 1; }

.hero-section { min-height: 760px; background-image: linear-gradient(115deg, rgba(8, 11, 46, 0.92), rgba(0, 50, 255, 0.72), rgba(119, 64, 255, 0.72)), url('../images/hero-kitchen.jpg'); background-size: cover; background-position: center; position: relative; overflow: hidden; }
.hero-section:before { content: ""; position: absolute; inset: -30%; background: radial-gradient(circle at 22% 24%, rgba(174,235,255,.32), transparent 28%), radial-gradient(circle at 75% 15%, rgba(119,64,255,.36), transparent 30%), radial-gradient(circle at 58% 88%, rgba(0,50,255,.3), transparent 25%); animation: aura 9s ease-in-out infinite alternate; }
.hero-content { position: relative; z-index: 1; }
.hero-stars { color: #AEEBFF; font-size: 28px; letter-spacing: .16em; text-shadow: 0 0 26px rgba(174,235,255,.65); }
.hero-icons img { width: auto; height: 48px; object-fit: contain; background: rgba(255,255,255,.92); border: 1px solid rgba(174,235,255,.55); padding: 6px 10px; box-shadow: 0 18px 54px rgba(0,0,0,.28); }

.btn-primary { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px; background: linear-gradient(135deg, var(--sapphire), var(--violet)); color: #fff !important; font-weight: 900; padding: 16px 24px; min-height: 58px; border: 0; text-decoration: none; white-space: nowrap; box-shadow: 0 18px 45px rgba(0,50,255,.32); transition: transform .2s ease, box-shadow .2s ease, filter .2s ease; }
.btn-primary:hover { transform: translateY(-2px); filter: brightness(1.08); box-shadow: 0 22px 55px rgba(119,64,255,.42); }
.btn-primary:before { content: ""; position: absolute; inset: -8px; border: 2px solid rgba(255,255,255,.42); opacity: .8; animation: pulseGlow 2.2s infinite; pointer-events: none; }
.btn-light { background: #fff; color: #000 !important; box-shadow: 0 18px 45px rgba(255,255,255,.18); }
.btn-light:before { border-color: rgba(255,255,255,.72); }
.phone-nowrap { white-space: nowrap !important; }

.badge-kicker { display: inline-flex; align-items: center; gap: 8px; color: var(--primary-dark); background: rgba(0,50,255,.1); border-left: 4px solid var(--sapphire); padding: 8px 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; font-size: 12px; }
.heading-rule { width: 86px; height: 5px; margin-top: 18px; background: linear-gradient(90deg, var(--sapphire), var(--violet), var(--cyan)); }
.heading-rule.center { margin-left: auto; margin-right: auto; }

.section-gradient { background: linear-gradient(145deg, #F7F8FF 0%, #FFFFFF 45%, #ECEFFF 100%); }
.dark-gradient { background: radial-gradient(circle at 20% 0%, rgba(119,64,255,.34), transparent 30%), linear-gradient(135deg, #080B2E 0%, #101A5E 52%, #1B0F55 100%); color: #fff; }
.dark-gradient h2, .dark-gradient h4 { color: #fff; }
.dark-gradient p, .dark-gradient h3, .dark-gradient li { color: #000000; }

.card-hard { background: #fff; color: #1f2937; border: 1px solid rgba(0,50,255,.1); box-shadow: 0 24px 80px rgba(20, 26, 84, .09); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.card-hard:hover { transform: translateY(-4px); border-color: rgba(119,64,255,.35); box-shadow: 0 30px 90px rgba(20, 26, 84, .14); }
.card-hard h3, .card-hard h4 { color: #111827; }
.service-icon, .trust-icon { width: 54px; height: 54px; flex: 0 0 54px; display: grid; place-items: center; background: linear-gradient(135deg, rgba(0,50,255,.12), rgba(119,64,255,.16)); color: var(--primary-dark); border: 1px solid rgba(0,50,255,.18); }
.service-icon svg, .trust-icon svg { width: 31px; height: 31px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: square; stroke-linejoin: miter; }

.split-image { width: 30%; min-width: 260px; }
.split-text { width: 70%; }
@media (max-width: 767px) { .split-image, .split-text { width: 100%; } }

.review-track { display: flex; transition: transform .45s ease; }
.review-slide { flex: 0 0 100%; padding: 10px; }
@media (min-width: 1024px) { .review-slide { flex-basis: 33.3333%; } }
.review-card { height: 100%; background: rgba(255,255,255,.96); color: #1f2937; padding: 28px; border: 1px solid rgba(174,235,255,.45); box-shadow: 0 22px 60px rgba(0,0,0,.18); }
.review-card p, .review-card h3 { color: #111827; }
.review-stars { color: #0032FF; letter-spacing: .1em; }

.mobile-menu { position: fixed; top: 72px; left: 0; right: 0; background: rgba(8, 11, 46, .98); border-top: 1px solid rgba(174,235,255,.16); transform: translateY(-120%); opacity: 0; pointer-events: none; transition: transform .25s ease, opacity .25s ease; z-index: 40; }
.mobile-menu.is-open { transform: translateY(0); opacity: 1; pointer-events: auto; }
.hamburger-line { display: block; width: 28px; height: 2px; background: #fff; margin: 6px 0; transition: transform .2s ease, opacity .2s ease; }
.hamburger.is-active .hamburger-line:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.hamburger.is-active .hamburger-line:nth-child(2) { opacity: 0; }
.hamburger.is-active .hamburger-line:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

.mobile-sticky-call { display: none !important; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; background: #05071f; padding: 12px 14px calc(12px + env(safe-area-inset-bottom)); transform: translateY(100%); opacity: 0; transition: transform .25s ease, opacity .25s ease; box-shadow: 0 -16px 40px rgba(0,0,0,.35); }
.mobile-sticky-call.is-visible { transform: translateY(0); opacity: 1; }
@media (max-width: 767px) { .mobile-sticky-call { display: block !important; } }
@media (min-width: 768px) { .mobile-sticky-call { display: none !important; } }

.fade-up { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.fade-up.is-visible { opacity: 1; transform: translateY(0); }
.cta-band { background: linear-gradient(135deg, #0032FF, #7740FF); color: #fff; box-shadow: 0 24px 80px rgba(0,50,255,.25); }
.cta-band h2, .cta-band h3, .cta-band p { color: #fff; }

@keyframes aura { from { transform: translate3d(-2%, -1%, 0) scale(1); } to { transform: translate3d(2%, 1%, 0) scale(1.04); } }
@keyframes pulseGlow { 0% { transform: scale(.98); opacity: .75; } 70% { transform: scale(1.12); opacity: 0; } 100% { transform: scale(1.12); opacity: 0; } }
