@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Inter:wght@400;500;600&display=swap');

:root{
  --background:hsl(210 40% 99%);
  --foreground:hsl(222 47% 11%);
  --card:hsl(0 0% 100%);
  --card-foreground:hsl(222 47% 11%);
  --primary:hsl(217 71% 18%);
  --primary-deep:hsl(217 71% 14%);
  --primary-foreground:hsl(200 100% 97%);
  --primary-glow:hsl(200 95% 55%);
  --secondary:hsl(200 60% 96%);
  --secondary-foreground:hsl(217 71% 18%);
  --muted:hsl(210 30% 95%);
  --muted-foreground:hsl(215 16% 42%);
  --accent:hsl(188 95% 45%);
  --accent-foreground:hsl(0 0% 100%);
  --gold:hsl(42 88% 55%);
  --gold-foreground:hsl(217 71% 12%);
  --mint:hsl(160 70% 45%);
  --mint-foreground:hsl(0 0% 100%);
  --destructive:hsl(0 84% 60%);
  --border:hsl(214 32% 91%);
  --input:hsl(214 32% 91%);
  --ring:hsl(200 95% 55%);
  --radius:1rem;
  --gradient-hero:linear-gradient(135deg,hsl(217 71% 14%) 0%,hsl(210 80% 22%) 50%,hsl(195 90% 35%) 100%);
  --gradient-primary:linear-gradient(135deg,hsl(200 95% 50%),hsl(188 95% 45%));
  --gradient-gold:linear-gradient(135deg,hsl(42 95% 60%),hsl(35 90% 50%));
  --gradient-mint:linear-gradient(135deg,hsl(160 70% 45%),hsl(180 70% 45%));
  --gradient-card:linear-gradient(180deg,hsl(0 0% 100%) 0%,hsl(200 60% 98%) 100%);
  --gradient-overlay:linear-gradient(135deg,hsl(217 71% 14% / .85) 0%,hsl(195 80% 25% / .55) 100%);
  --shadow-sm:0 1px 2px hsl(217 71% 18% / .06);
  --shadow-md:0 4px 16px -4px hsl(217 71% 18% / .10);
  --shadow-lg:0 20px 40px -12px hsl(217 71% 18% / .18);
  --shadow-glow:0 0 40px hsl(200 95% 55% / .35);
  --shadow-gold:0 10px 30px -8px hsl(42 88% 55% / .40);
  --transition-smooth:all .3s cubic-bezier(.4,0,.2,1);
}

*{box-sizing:border-box;border-color:var(--border)}
html{scroll-behavior:smooth}
body{margin:0;background:var(--background);color:var(--foreground);font-family:'Plus Jakarta Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
svg{flex-shrink:0}
h1,h2,h3,h4{font-family:'Plus Jakarta Sans',system-ui,sans-serif;letter-spacing:-.035em}
.main{min-height:60vh}.container{width:100%;max-width:1280px;margin-inline:auto;padding-inline:1rem}.section{padding-block:5rem}.page-head{padding-top:7rem;padding-bottom:2.5rem}.center{text-align:center}.hidden{display:none!important}.w-full{width:100%}.mb-0{margin-bottom:0!important}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.muted{color:var(--muted-foreground)}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.items-center{align-items:center}
.icon{width:1.375rem;height:1.375rem}.icon-sm{width:1rem;height:1rem}.icon-lg{width:2rem;height:2rem}

.glass{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:hsl(0 0% 100% / .70);border:1px solid hsl(0 0% 100% / .40)}
.glass-dark{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:hsl(217 71% 18% / .40);border:1px solid hsl(0 0% 100% / .10)}
.text-gradient,.gold-gradient{background-clip:text;-webkit-background-clip:text;color:transparent}.text-gradient{background-image:linear-gradient(90deg,var(--primary-glow),var(--accent))}.gold-gradient{background-image:var(--gradient-gold)}
.card{background:var(--gradient-card);border:1px solid var(--border);border-radius:1.5rem;box-shadow:var(--shadow-sm)}.card-pad{padding:1.75rem}.shadow-card{box-shadow:var(--shadow-md)}
.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:999px;background:hsl(188 95% 45% / .10);color:var(--accent);font-size:.75rem;line-height:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.badge.glass-dark{background:hsl(217 71% 18% / .40);border-color:hsl(188 95% 45% / .30);color:#fff;text-transform:none;letter-spacing:0;font-size:.875rem;font-weight:700;padding:.5rem 1rem;margin-bottom:1.5rem}.badge.glass-dark svg{color:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.875rem;padding:.75rem 1.25rem;border:0;border-radius:.875rem;font-weight:800;font-size:.875rem;line-height:1;white-space:nowrap;transition:var(--transition-smooth)}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-hero{background:var(--gradient-primary);color:white;box-shadow:var(--shadow-glow)}.btn-gold{background:var(--gradient-gold);color:var(--gold-foreground);box-shadow:var(--shadow-gold)}.btn-mint{background:var(--gradient-mint);color:white}.btn-glass{background:hsl(0 0% 100% / .15);color:white;border:1px solid hsl(0 0% 100% / .22)}.btn-outline{background:white;color:var(--primary);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.btn-ghost{background:transparent;color:var(--primary)}.btn-sm{min-height:2.25rem;padding:.5rem .75rem;border-radius:.625rem;font-size:.8125rem}.btn-lg{min-height:3rem;padding:.75rem 1.25rem}.btn-xl{min-height:3.5rem;padding:1rem 1.5rem;font-size:1rem;border-radius:1rem}

/* Navbar: mirrors the original fixed glass header */
.navbar{position:fixed;top:0;left:0;right:0;z-index:50;transition:all .3s cubic-bezier(.4,0,.2,1)}.navbar.scrolled,.navbar.open{background:hsl(0 0% 100% / .70);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid hsl(214 32% 91% / .80);box-shadow:var(--shadow-md)}.nav-inner{height:4rem;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:.5rem}.brand-icon{width:2.5rem;height:2.5rem;border-radius:.75rem;background:var(--gradient-primary);display:grid;place-items:center;color:white;box-shadow:var(--shadow-glow);transition:var(--transition-smooth)}.brand:hover .brand-icon{transform:scale(1.1)}.brand-name{display:block;font-weight:900;font-size:1.125rem;line-height:1;color:var(--primary)}.brand-sub{display:block;margin-top:.15rem;font-size:.625rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted-foreground)}.nav-links{display:none;align-items:center;gap:.25rem;margin:0;padding:0;list-style:none}.nav-links a{display:block;padding:.5rem .75rem;border-radius:.5rem;font-size:.875rem;font-weight:600;color:hsl(222 47% 11% / .80);transition:color .2s ease,background .2s ease}.nav-links a:hover{color:var(--primary);background:hsl(200 60% 96% / .70)}.nav-links a.active{color:var(--accent);background:transparent}.nav-cta{display:none;align-items:center;gap:.75rem}.phone-link{display:flex;align-items:center;gap:.5rem;color:var(--primary);font-size:.875rem;font-weight:700;transition:color .2s ease}.phone-link:hover{color:var(--accent)}.mobile-toggle{display:grid;width:2.5rem;height:2.5rem;place-items:center;border:0;border-radius:.5rem;background:transparent;color:var(--primary)}.mobile-toggle:hover{background:var(--muted)}.mobile-menu{padding:.75rem 1rem 1rem;background:hsl(0 0% 100% / .80);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:1px solid var(--border);animation:fadeIn .25s ease-out}.mobile-menu a:not(.btn){display:block;padding:.75rem 1rem;border-radius:.5rem;font-weight:700;color:hsl(222 47% 11% / .80)}.mobile-menu a.active{background:hsl(217 71% 18% / .10);color:var(--accent)}

/* Hero slider */
.hero{position:relative;height:100svh;min-height:640px;max-height:860px;width:100%;overflow:hidden;background:var(--primary-deep)}.hero-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity 1s ease}.hero-slide.active{opacity:1;pointer-events:auto}.hero-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.05)}.hero-overlay{position:absolute;inset:0;background:var(--gradient-overlay)}.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,hsl(217 71% 18% / .80),transparent 55%,transparent)}.hero-content{position:relative;z-index:2;height:100%;display:flex;align-items:center;color:white}.hero-box{max-width:42rem}.hero h1{margin:0;font-size:clamp(2rem,5.8vw,3.95rem);line-height:1.05;font-weight:900;letter-spacing:-.055em}.hero p{margin:1.5rem 0 0;max-width:36rem;color:hsl(0 0% 100% / .85);font-size:clamp(.95rem,1.45vw,1.0625rem);line-height:1.75}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.hero-arrows button,.slider-btn{position:absolute;border:0;border-radius:999px;background:hsl(217 71% 18% / .40);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid hsl(0 0% 100% / .10);color:white;display:grid;place-items:center;transition:background .2s ease,color .2s ease}.hero-arrows button{display:none;top:50%;transform:translateY(-50%);width:3rem;height:3rem;z-index:5}.hero-arrows button:hover,.slider-btn:hover{background:var(--accent);border-color:var(--accent)}.hero-prev{left:1.5rem}.hero-next{right:1.5rem}.hero-dots{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;gap:.5rem;z-index:6}.dot{width:.5rem;height:.5rem;padding:0;border:0;border-radius:999px;background:hsl(0 0% 100% / .50);transition:all .25s ease}.dot:hover{background:hsl(0 0% 100% / .80)}.dot.active{width:2.5rem;background:var(--accent)}

/* Home sections */
.trust{position:relative;z-index:10;margin-top:-4rem}.trust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1.5rem;border-radius:1.5rem;box-shadow:var(--shadow-lg)}.trust-item{display:flex;align-items:center;gap:.75rem;color:var(--primary);font-size:.875rem;font-weight:800}.mini-icon{width:3rem;height:3rem;border-radius:.75rem;background:var(--gradient-primary);display:grid;place-items:center;color:white;box-shadow:var(--shadow-glow);flex:0 0 auto}.section-header{max-width:42rem;margin:0 auto 3rem;text-align:center}.section-header.left{margin-left:0;text-align:left}.section-header h1,.section-header h2{margin:.75rem 0 0;color:var(--primary);font-size:clamp(1.65rem,3.25vw,2.5rem);line-height:1.05;font-weight:900;letter-spacing:-.05em}.section-header p{margin:1rem 0 0;color:var(--muted-foreground);font-size:clamp(.95rem,1.25vw,1.05rem);line-height:1.75}.dark-section{position:relative;overflow:hidden;background:var(--gradient-hero);color:white}.dark-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,hsl(200 95% 55% / .30),transparent 50%);opacity:.9}.dark-section>.container{position:relative}.dark-section .section-header .badge{background:hsl(0 0% 100% / .10);color:var(--primary-glow)}.dark-section .section-header h2{color:white}.dark-section .section-header p{color:hsl(0 0% 100% / .75)}
.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.stat-card{text-align:center;padding:1.5rem;border-radius:1rem}.stat-card .mini-icon{width:3.5rem;height:3.5rem;border-radius:1rem;margin:0 auto 1rem}.stat-value{font-size:clamp(1.65rem,3vw,2.05rem);line-height:1.1;font-weight:900;color:var(--primary-glow)}.stat-label{margin-top:.25rem;color:hsl(0 0% 100% / .75);font-size:.875rem}.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;max-width:64rem;margin-inline:auto}.step-card{position:relative;padding:1.75rem;border-radius:1rem;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-sm);text-align:center}.step-num{position:absolute;top:-1rem;left:50%;transform:translateX(-50%);width:2rem;height:2rem;border-radius:999px;background:var(--gradient-gold);color:var(--gold-foreground);font-size:.875rem;font-weight:900;display:grid;place-items:center;box-shadow:var(--shadow-gold)}.step-card h3{margin:0 0 .5rem;color:var(--primary);font-size:1.125rem;font-weight:800}.step-card p{margin:0;font-size:.875rem;line-height:1.625}.area-map{height:20rem;border-radius:1rem;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-md);position:relative;background:var(--gradient-hero);display:grid;place-items:center;text-align:center;color:white}.area-map:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,hsl(200 95% 55% / .40),transparent 60%)}.area-map>div{position:relative}.area-map svg{width:4rem;height:4rem;margin:0 auto .75rem;color:var(--accent)}.area-map h3{margin:0;color:white;font-size:1.5rem;font-weight:800}.area-map p{margin:.25rem 0 0;color:hsl(0 0% 100% / .70);font-size:.875rem}.pill-wrap{display:flex;flex-wrap:wrap;gap:.5rem}.area-pill{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--border);background:var(--secondary);color:var(--secondary-foreground);padding:.5rem 1rem;font-size:.875rem;font-weight:700;transition:var(--transition-smooth)}.area-pill:hover{background:var(--accent);border-color:var(--accent);color:white}.promo-banner{position:relative;overflow:hidden;border-radius:1.5rem;background:var(--gradient-hero);padding:2.5rem;color:white}.promo-banner:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 30%,hsl(42 88% 55% / .50),transparent 50%);opacity:.30}.promo-banner>*{position:relative}.promo-banner h2{color:white;font-weight:900;letter-spacing:-.045em}.promo-banner p{line-height:1.7}.promo-banner.center:before{background:radial-gradient(circle at 50% 50%,hsl(200 95% 55% / .40),transparent 70%);opacity:.40}

/* Cards */
.service-card{position:relative;display:block;padding:1.5rem;border-radius:1rem;overflow:hidden;transition:all .3s ease;background:var(--gradient-card);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.service-card:hover{transform:translateY(-.25rem);box-shadow:var(--shadow-lg)}.service-card:before{content:"";position:absolute;top:-3rem;right:-3rem;width:8rem;height:8rem;border-radius:999px;background:var(--gradient-primary);filter:blur(1.5rem);opacity:0;transition:opacity .3s ease}.service-card:hover:before{opacity:.10}.service-card .icon-wrap{position:relative;width:3.5rem;height:3.5rem;border-radius:1rem;background:var(--gradient-primary);display:grid;place-items:center;color:white;box-shadow:var(--shadow-glow);margin-bottom:1.25rem;transition:var(--transition-smooth)}.service-card:hover .icon-wrap{transform:scale(1.1)}.service-card h3{position:relative;margin:0 0 .25rem;color:var(--primary);font-size:1.125rem;font-weight:800}.service-card p{position:relative;margin:0 0 1rem;color:var(--muted-foreground);font-size:.875rem;line-height:1.625}.card-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--border)}.price{font-size:1rem;font-weight:900;color:var(--primary)}.unit{font-size:.75rem;color:var(--muted-foreground);font-weight:400}.arrow-circle{width:2.25rem;height:2.25rem;border-radius:999px;background:var(--secondary);display:grid;place-items:center;transition:var(--transition-smooth)}.service-card:hover .arrow-circle{background:var(--accent);color:white}.pricing-card{position:relative;padding:1.75rem;border-radius:1rem;border:1px solid var(--border);background:white;box-shadow:var(--shadow-sm);transition:all .3s ease}.pricing-card:hover{transform:translateY(-.25rem);box-shadow:var(--shadow-md)}.pricing-card.popular{background:var(--gradient-hero);border-color:var(--accent);color:white;box-shadow:var(--shadow-lg);transform:scale(1.02)}.pricing-card.popular:hover{transform:scale(1.02) translateY(-.25rem)}.popular-badge{position:absolute;top:-.75rem;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:.25rem;border-radius:999px;background:var(--gradient-gold);color:var(--gold-foreground);padding:.25rem .75rem;font-size:.75rem;font-weight:900;box-shadow:var(--shadow-gold);white-space:nowrap}.pricing-card h3{margin:0;color:var(--primary);font-size:1.25rem;font-weight:800}.pricing-card.popular h3{color:white}.pricing-card p{margin:.25rem 0 1.25rem;color:var(--muted-foreground);font-size:.875rem;line-height:1.6}.pricing-card.popular p{color:hsl(0 0% 100% / .75)}.big-price{font-size:2rem;line-height:1;font-weight:900;color:var(--primary);letter-spacing:-.045em}.pricing-card.popular .big-price{color:white}.feature-list{list-style:none;margin:1.5rem 0 1.75rem;padding:0;display:grid;gap:.75rem}.feature-list li{display:flex;gap:.75rem;align-items:flex-start;font-size:.875rem;color:hsl(222 47% 11% / .82)}.pricing-card.popular .feature-list li{color:hsl(0 0% 100% / .90)}.check-dot{width:1.25rem;height:1.25rem;border-radius:999px;background:hsl(160 70% 45% / .15);color:var(--mint);display:grid;place-items:center;flex:0 0 auto}.pricing-card.popular .check-dot{background:hsl(188 95% 45% / .30);color:var(--accent)}

/* Testimonials and FAQ */
.testimonial-slider{position:relative}.testimonial-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.testimonial-card{position:relative;padding:1.75rem;border-radius:1rem;background:var(--gradient-card);border:1px solid var(--border);box-shadow:var(--shadow-sm);animation:fadeUp .6s ease-out both}.quote-mark{position:absolute;top:1.25rem;right:1.25rem;color:hsl(188 95% 45% / .20)}.stars{display:flex;gap:.25rem;margin-bottom:.75rem;color:var(--gold)}.testimonial-card p{margin:0 0 1.25rem;color:hsl(222 47% 11% / .85);line-height:1.7}.avatar{width:2.75rem;height:2.75rem;border-radius:999px;background:var(--gradient-primary);display:grid;place-items:center;color:white;font-weight:900}.slider-controls{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:2rem}.round-btn{width:2.5rem;height:2.5rem;border:0;border-radius:999px;background:var(--secondary);color:var(--primary);display:grid;place-items:center;transition:var(--transition-smooth)}.round-btn:hover{background:var(--accent);color:white}.slider-controls .hero-dots{position:static;transform:none}.slider-controls .dot{background:var(--border)}.slider-controls .dot.active{background:var(--accent);width:2rem}.accordion{display:grid;gap:.75rem}.faq-item{background:var(--card);border:1px solid var(--border);border-radius:1rem;box-shadow:var(--shadow-sm);padding-inline:1.25rem;transition:var(--transition-smooth);overflow:hidden}.faq-item.open{box-shadow:var(--shadow-md)}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;background:transparent;border:0;padding:1.25rem 0;color:var(--primary);font-weight:800}.faq-question span:last-child{font-size:1.25rem;color:var(--accent);transition:transform .2s}.faq-item.open .faq-question span:last-child{transform:rotate(45deg)}.faq-answer{display:none;color:var(--muted-foreground);line-height:1.7;padding:0 0 1.25rem}.faq-item.open .faq-answer{display:block;animation:fadeIn .25s ease-out}

/* Area, promo, contact */
.area-card{padding:1.25rem;border-radius:1rem;background:var(--gradient-card);border:1px solid var(--border);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:.75rem;transition:var(--transition-smooth);font-weight:800;color:var(--primary)}.area-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.area-card .mini-icon{width:2.5rem;height:2.5rem}.promo-card{overflow:hidden;border-radius:1rem;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-md)}.promo-top{height:8rem;position:relative;background:linear-gradient(135deg,var(--accent),var(--primary-glow));color:white}.promo-top.gold{background:linear-gradient(135deg,var(--gold),var(--accent))}.promo-top.mint{background:linear-gradient(135deg,var(--mint),var(--accent))}.promo-code{position:absolute;left:1rem;bottom:.75rem}.promo-code small{text-transform:uppercase;letter-spacing:.16em;opacity:.72}.promo-code strong{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:900}.contact-list{display:grid;gap:1rem}.contact-item{display:block;padding:1.25rem;border-radius:1rem;background:var(--gradient-card);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:var(--transition-smooth)}.contact-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.contact-item>div{display:flex;align-items:center;gap:1rem}.contact-item .mini-icon{width:3rem;height:3rem}.form-card{padding:1.5rem;border-radius:1rem;background:var(--gradient-card);border:1px solid var(--border);box-shadow:var(--shadow-md)}.form-card h3{font-size:1.25rem;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field label{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem;color:var(--foreground);font-weight:700;font-size:.875rem}.field input,.field textarea,.field select,input,textarea,select{width:100%;border:1px solid var(--input);background:white;border-radius:.625rem;padding:.65rem .85rem;color:var(--foreground);outline:none;transition:border-color .2s,box-shadow .2s}.field input:focus,.field textarea:focus,.field select:focus,input:focus,textarea:focus,select:focus{border-color:var(--ring);box-shadow:0 0 0 3px hsl(200 95% 55% / .18)}textarea{resize:vertical}.full{grid-column:1/-1}

/* Booking page */
.booking-wrap{max-width:56rem}.stepper{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.5rem;overflow-x:auto}.step-dot-wrap{display:flex;align-items:center;flex:1;min-width:max-content}.step-dot{width:2.5rem;height:2.5rem;border-radius:999px;background:var(--secondary);color:var(--muted-foreground);display:grid;place-items:center;font-size:.875rem;font-weight:900;transition:var(--transition-smooth)}.step-dot.active{background:var(--gradient-primary);color:white;box-shadow:var(--shadow-glow);transform:scale(1.1)}.step-dot.done{background:var(--gradient-mint);color:white}.step-label{margin-top:.5rem;text-align:center;font-size:.75rem;font-weight:700;color:var(--muted-foreground)}.step-dot.active+.step-label,.step-dot-wrap:has(.step-dot.active) .step-label{color:var(--primary)}.step-line{height:.25rem;flex:1;min-width:2rem;margin:0 .5rem;border-radius:999px;background:var(--secondary);transition:background .25s}.step-line.done{background:var(--mint)}.booking-panel{border-radius:1.5rem;background:var(--gradient-card);border:1px solid var(--border);box-shadow:var(--shadow-md);padding:1.5rem}.booking-step{display:none;animation:fadeIn .35s ease-out}.booking-step.active{display:block}.booking-step h2{font-size:1.25rem;font-weight:800;color:var(--primary);margin:0 0 .25rem}.booking-step>p{font-size:.875rem;margin:0 0 1.5rem}.service-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.service-option{text-align:left;padding:1rem;border-radius:.75rem;border:2px solid var(--border);background:transparent;display:flex;gap:.75rem;align-items:flex-start;transition:var(--transition-smooth)}.service-option:hover{border-color:hsl(188 95% 45% / .50)}.service-option.active{border-color:var(--accent);background:hsl(188 95% 45% / .05);box-shadow:var(--shadow-md)}.service-option .mini-icon{width:2.75rem;height:2.75rem;border-radius:.5rem;background:var(--secondary);color:var(--primary);box-shadow:none}.service-option.active .mini-icon{background:var(--gradient-primary);color:white;box-shadow:var(--shadow-glow)}.unit-control{display:flex;align-items:center;gap:1rem;margin-top:.75rem}.unit-button{width:3rem;height:3rem;border:0;border-radius:.75rem;background:var(--secondary);color:var(--primary);display:grid;place-items:center;font-size:1.25rem;font-weight:900;transition:var(--transition-smooth)}.unit-button:hover{background:var(--accent);color:white}.unit-display{flex:1;text-align:center}.unit-number{font-size:2rem;line-height:1.1;font-weight:900;color:var(--primary)}.estimate-box{margin-top:1.5rem;padding:1rem;border-radius:.75rem;border:1px solid hsl(188 95% 45% / .20);background:hsl(188 95% 45% / .05);display:flex;align-items:center;justify-content:space-between}.time-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;margin-top:.5rem}.time-option{padding:.75rem;border-radius:.5rem;border:2px solid var(--border);background:var(--card);font-size:.875rem;font-weight:700;transition:var(--transition-smooth)}.time-option:hover{border-color:var(--accent)}.time-option.active{background:var(--gradient-primary);color:white;border-color:var(--accent);box-shadow:var(--shadow-glow)}.review-box{border-radius:1rem;overflow:hidden;background:var(--secondary);border:1px solid var(--border)}.review-row{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid var(--border);font-size:.875rem}.review-row:last-child{border-bottom:0}.review-row strong{text-align:right}.booking-nav{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.success-box{border-radius:1.5rem;background:var(--gradient-card);border:1px solid var(--border);box-shadow:var(--shadow-lg);padding:2rem;text-align:center;animation:scaleIn .3s ease-out}.success-icon{width:5rem;height:5rem;margin:0 auto 1.25rem;border-radius:999px;background:var(--gradient-mint);display:grid;place-items:center;color:white;box-shadow:var(--shadow-lg)}

/* Flash / warning */
.flash-wrap{position:fixed;top:5rem;right:1rem;z-index:1000;display:grid;gap:.5rem;max-width:min(24rem,calc(100% - 2rem))}.flash{padding:.85rem 1rem;border-radius:.75rem;background:white;border:1px solid var(--border);box-shadow:var(--shadow-lg);font-weight:700;transition:all .3s ease}.flash.success{border-color:hsl(160 70% 45% / .35);color:hsl(160 70% 28%)}.flash.error{border-color:hsl(0 84% 60% / .35);color:hsl(0 74% 42%)}.db-warning{margin-top:1rem;padding:1rem;border-radius:1rem;background:hsl(42 88% 55% / .14);border:1px solid hsl(42 88% 55% / .35);color:var(--primary);font-size:.875rem}

/* Footer and floating CTA */
.footer{margin-top:5rem;background:var(--primary);color:var(--primary-foreground)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:2.5rem;padding-block:4rem}.footer .brand-name{color:white}.footer .brand-sub{color:var(--primary-glow)}.footer p,.footer li,.footer a{color:hsl(200 100% 97% / .70)}.footer p{max-width:20rem;font-size:.875rem;line-height:1.7}.footer h4{margin:0 0 1rem;color:var(--primary-glow);font-size:1rem;font-weight:800}.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;font-size:.875rem}.footer a:hover{color:var(--accent)}.socials{display:flex;gap:.75rem;margin-top:1.25rem}.socials a{width:2.25rem;height:2.25rem;border-radius:.5rem;background:hsl(0 0% 100% / .10);display:grid;place-items:center;color:white;transition:background .2s}.socials a:hover{background:var(--accent);color:white}.footer-bottom{border-top:1px solid hsl(0 0% 100% / .10);padding-block:1.25rem;display:flex;justify-content:space-between;gap:1rem;color:hsl(200 100% 97% / .60);font-size:.75rem}.whatsapp-float{position:fixed;right:1.25rem;bottom:1.5rem;z-index:40}.wa-ping{position:absolute;inset:0;border-radius:999px;background:var(--mint);opacity:.30;animation:ping 1.8s cubic-bezier(0,0,.2,1) infinite}.wa-button{position:relative;width:3.5rem;height:3.5rem;border-radius:999px;background:var(--gradient-mint);box-shadow:var(--shadow-lg);color:white;display:grid;place-items:center;transition:transform .2s}.whatsapp-float:hover .wa-button{transform:scale(1.1)}.mobile-sticky{display:none}

/* Admin */
.admin-body{background:hsl(210 40% 97%)}.admin-shell{min-height:100vh;display:grid;grid-template-columns:17rem 1fr}.admin-sidebar{background:var(--primary);color:white;padding:1.5rem;position:sticky;top:0;height:100vh}.admin-sidebar .brand{margin-bottom:1.75rem}.admin-sidebar .brand-name{color:white}.admin-sidebar .brand-sub{color:var(--primary-glow)}.admin-menu{display:grid;gap:.4rem}.admin-menu a{padding:.75rem .9rem;border-radius:.75rem;color:hsl(200 100% 97% / .72);font-weight:700}.admin-menu a:hover,.admin-menu a.active{background:hsl(0 0% 100% / .10);color:white}.admin-main{padding:2rem;min-width:0}.admin-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.admin-title h1{margin:0;color:var(--primary);font-size:1.625rem;font-weight:900}.admin-title p{margin:.25rem 0 0;color:var(--muted-foreground)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.metric,.table-card,.login-box{background:white;border:1px solid var(--border);border-radius:1rem;box-shadow:var(--shadow-sm);padding:1.25rem}.metric strong{display:block;color:var(--primary);font-size:1.55rem}.metric span{color:var(--muted-foreground);font-size:.875rem}.table-card{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:.8rem;border-bottom:1px solid var(--border);text-align:left;font-size:.875rem}th{color:var(--primary);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}tr:last-child td{border-bottom:0}.status{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .65rem;font-size:.75rem;font-weight:900;background:var(--muted);color:var(--primary)}.status.pending{background:hsl(42 88% 55% / .16);color:hsl(35 90% 35%)}.status.confirmed{background:hsl(200 95% 55% / .16);color:hsl(200 95% 32%)}.status.completed{background:hsl(160 70% 45% / .16);color:hsl(160 70% 30%)}.status.cancelled{background:hsl(0 84% 60% / .14);color:hsl(0 74% 42%)}.alert{padding:1rem;border-radius:1rem;background:hsl(200 60% 96%);border:1px solid var(--border)}.empty{padding:2rem;text-align:center;color:var(--muted-foreground)}.login-screen{min-height:100vh;display:grid;place-items:center;padding:1rem;background:var(--gradient-hero)}.login-box{width:min(28rem,100%)}

@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes scaleIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes ping{75%,100%{transform:scale(1.7);opacity:0}}.animate-float{animation:float 6s ease-in-out infinite}.animate-fade-up{animation:fadeUp .6s ease-out both}.animate-fade-in{animation:fadeIn .5s ease-out both}

@media (min-width:640px){.container{padding-inline:1.5rem}.trust-grid{padding:2rem}.form-card{padding:2rem}.booking-panel{padding:2.5rem}.success-box{padding:3rem}.nav-inner{height:4rem}}
@media (min-width:1024px){.container{padding-inline:2rem}.nav-inner{height:5rem}.navbar{min-height:5rem}.nav-links,.nav-cta{display:flex}.mobile-toggle{display:none}.hero-arrows button{display:grid}.section{padding-block:7rem}.page-head{padding-top:7rem}.promo-banner{padding:3.5rem}.area-map{height:24rem}}
@media (max-width:1100px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.admin-menu{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.grid-2,.grid-3,.steps-grid,.testimonial-track{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.promo-banner .grid-2{grid-template-columns:1fr}.promo-banner .actions{justify-content:flex-start!important}.service-picker,.form-grid{grid-template-columns:1fr}.time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:639px){body{padding-bottom:4.5rem}.container{padding-inline:1rem}.hero{min-height:620px}.hero h1{font-size:2.2rem}.hero-arrows{display:none}.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:1.5rem}.trust-item{font-size:.8rem}.grid-4,.stats-grid{grid-template-columns:1fr}.section{padding-block:5rem}.page-head{padding-top:6.5rem}.section-header{margin-bottom:2.5rem}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.whatsapp-float{bottom:6rem}.mobile-sticky{position:fixed;left:0;right:0;bottom:0;z-index:45;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.75rem;background:hsl(0 0% 100% / .76);backdrop-filter:blur(24px);border-top:1px solid var(--border)}.mobile-sticky .btn{height:3rem;border-radius:.75rem}.step-label{display:none}.booking-nav{align-items:stretch}.booking-nav .btn{flex:1}.admin-menu{grid-template-columns:1fr}.admin-main{padding:1rem}.metric-grid{grid-template-columns:1fr}}
.service-option{position:relative}.service-option.active:after{content:"✓";position:absolute;right:1rem;top:1rem;color:var(--accent);font-weight:900;font-size:1.2rem}.footer .flex{align-items:flex-start}.footer svg{color:var(--accent)}

/* Branding media and refined type scale */
.brand-text{display:inline-block}.brand-logo{height:2.5rem;min-width:2.5rem;max-width:9.5rem;border-radius:.75rem;background:hsl(0 0% 100% / .92);display:grid;place-items:center;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid hsl(214 32% 91% / .85);transition:var(--transition-smooth)}.brand-logo img{width:100%;height:100%;object-fit:contain;padding:.18rem}.brand:hover .brand-logo{transform:scale(1.04);box-shadow:var(--shadow-md)}.footer .brand-logo,.admin-sidebar .brand-logo,.login-box .brand-logo{background:hsl(0 0% 100% / .96)}
.promo-banner h2{font-size:clamp(1.45rem,3vw,2.2rem);line-height:1.1}.area-map h3{font-size:1.35rem}.promo-code strong{font-size:1.35rem}.form-card h3,.pricing-card h3{font-size:1.12rem}.service-card h3,.step-card h3{font-size:1.05rem}.success-box h2{font-size:1.45rem}.admin-section-title{color:var(--primary);margin:0;font-size:1.35rem;font-weight:900}.admin-subtitle{color:var(--primary);margin:0 0 .5rem;font-size:1.05rem;font-weight:900}.actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.media-admin-grid{align-items:start}.media-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.media-preview-card{min-height:12rem;border:1px dashed hsl(214 32% 80%);background:hsl(200 60% 98%);border-radius:1rem;padding:1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.65rem}.media-preview-card strong{font-size:.85rem;color:var(--primary)}.media-preview-card small{max-width:100%;word-break:break-word;color:var(--muted-foreground);font-size:.75rem}.media-preview-img{max-width:100%;width:auto;height:7rem;object-fit:contain;border-radius:.75rem;background:white;border:1px solid var(--border);padding:.5rem}.logo-preview-img{min-width:7rem}.favicon-preview-img{width:5rem;height:5rem}.media-empty-preview{min-height:7rem;width:100%;border-radius:.75rem;background:white;border:1px solid var(--border);display:grid;place-items:center;color:var(--muted-foreground);padding:1rem}.media-empty-preview svg{color:var(--accent)}
@media (max-width:900px){.media-preview-grid{grid-template-columns:1fr}.brand-logo{max-width:8rem}.media-admin-grid{grid-template-columns:1fr}}

/* Flexible logo slots: keeps any uploaded logo ratio safe in header, footer, login, and admin */
.brand{--logo-slot-w:2.6rem;--logo-slot-h:2.6rem;--logo-slot-max:10.5rem;min-width:0;flex-shrink:0}.brand-header{--logo-slot-h:2.7rem;--logo-slot-w:2.9rem;--logo-slot-max:10.25rem;max-width:min(42vw,15.5rem)}.brand-footer{--logo-slot-h:3rem;--logo-slot-w:3rem;--logo-slot-max:12.5rem;max-width:100%}.brand-admin{--logo-slot-h:2.9rem;--logo-slot-w:3rem;--logo-slot-max:11.25rem;max-width:100%}.brand-login{--logo-slot-h:3.25rem;--logo-slot-w:3.25rem;--logo-slot-max:13rem;justify-content:center;max-width:100%}.brand-text{min-width:0;max-width:9.5rem}.brand-name,.brand-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-logo,.brand-logo-custom{height:var(--logo-slot-h);min-width:var(--logo-slot-w);max-width:var(--logo-slot-max);width:auto;flex:0 0 auto;border-radius:.85rem;background:hsl(0 0% 100% / .94);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid hsl(214 32% 91% / .85);padding:.28rem .42rem;transition:var(--transition-smooth)}.brand-logo-custom img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center}.brand-icon{flex:0 0 auto}.brand-header .brand-logo-custom{background:hsl(0 0% 100% / .88);padding:.22rem .36rem}.brand-footer .brand-logo-custom,.brand-admin .brand-logo-custom,.brand-login .brand-logo-custom{background:hsl(0 0% 100% / .96)}.brand-login .brand-text{text-align:left}.navbar .brand{overflow:hidden}.admin-sidebar .brand{overflow:hidden}.footer .brand{overflow:hidden}.brand:hover .brand-logo-custom{transform:scale(1.035);box-shadow:var(--shadow-md)}
.logo-ui-demo{display:grid;gap:.75rem;width:100%;margin-top:.25rem}.logo-ui-demo-row{border-radius:.85rem;padding:.75rem;background:white;border:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:1rem}.logo-ui-demo-row.dark{background:var(--primary);border-color:hsl(0 0% 100% / .08)}.logo-ui-demo-row .brand{pointer-events:none}.logo-ui-demo-row.dark .brand-name{color:white}.logo-ui-demo-row.dark .brand-sub{color:var(--primary-glow)}.logo-ui-demo-note{font-size:.72rem;color:var(--muted-foreground);white-space:nowrap}.logo-ui-demo-row.dark .logo-ui-demo-note{color:hsl(200 100% 97% / .65)}
@media (min-width:1024px){.brand-header{--logo-slot-h:2.9rem;--logo-slot-max:11rem}.nav-inner{gap:1rem}.nav-links{flex:1;justify-content:center;min-width:0}.nav-cta{flex:0 0 auto}.brand-header .brand-text{max-width:8rem}}
@media (max-width:900px){.brand-header{max-width:calc(100vw - 5.5rem);--logo-slot-max:9rem}.brand-text{max-width:8rem}.brand-footer{--logo-slot-max:11rem}.brand-admin{--logo-slot-max:10rem}}
@media (max-width:420px){.brand-header{--logo-slot-h:2.45rem;--logo-slot-w:2.55rem;--logo-slot-max:7.8rem}.brand-header .brand-text{max-width:6.6rem}.brand-name{font-size:1rem}.brand-sub{font-size:.56rem;letter-spacing:.12em}.brand-login{--logo-slot-max:10.5rem}}


/* Header/menu safety revision: prevent CMS menu items from dropping over the hero */
.navbar{isolation:isolate}.nav-inner{flex-wrap:nowrap;gap:.75rem;position:relative}.brand-header{flex:0 0 auto}.nav-links{flex-wrap:nowrap;overflow:hidden}.nav-links a{white-space:nowrap;flex:0 0 auto}.nav-cta{flex:0 0 auto;white-space:nowrap}.mobile-menu{position:fixed;top:4rem;left:1rem;right:1rem;z-index:60;display:block;max-height:calc(100vh - 5.5rem);overflow:auto;border:1px solid hsl(214 32% 91% / .85);border-radius:1rem;box-shadow:var(--shadow-lg)}.mobile-menu.hidden{display:none!important}.navbar.open{background:hsl(0 0% 100% / .82)}
@media (min-width:640px){.mobile-menu{top:4rem;left:1.5rem;right:1.5rem}}
@media (min-width:1024px){.nav-inner{height:5rem}.mobile-menu{top:5rem}.nav-links,.nav-cta{display:none!important}.mobile-toggle{display:grid!important}.hero{padding-top:0}}
@media (min-width:1280px){.nav-links,.nav-cta{display:flex!important}.mobile-toggle{display:none!important}.mobile-menu{display:none!important}.nav-links{flex:1 1 auto;justify-content:center;min-width:0;gap:.12rem}.nav-links a{font-size:.8125rem;padding:.45rem .55rem}.nav-cta{gap:.5rem}.nav-cta .btn-ghost{padding-inline:.65rem}.brand-header{max-width:13rem}.brand-header .brand-text{max-width:7.5rem}}
@media (min-width:1400px){.nav-links{gap:.25rem}.nav-links a{font-size:.875rem;padding:.5rem .75rem}.nav-cta{gap:.75rem}.nav-cta .btn-ghost{padding-inline:1rem}.brand-header{max-width:15.5rem}.brand-header .brand-text{max-width:8rem}}
@media (max-width:1279px){.nav-links,.nav-cta{display:none!important}.mobile-toggle{display:grid!important}.brand-header{max-width:calc(100vw - 5.5rem)}}

/* Demo mode overlay and read-only controls */
.demo-version-badge{position:fixed;left:50%;bottom:.75rem;transform:translateX(-50%);z-index:9999;background:linear-gradient(135deg,#ff9800,#f97316);color:#fff;border-radius:999px;padding:.48rem 1.05rem;font-size:.75rem;font-weight:900;letter-spacing:.06em;text-align:center;box-shadow:0 14px 32px rgb(249 115 22 / .38);border:1px solid rgb(255 255 255 / .35);white-space:nowrap;pointer-events:none}.demo-admin-alert{margin-bottom:1rem;border-color:rgb(249 115 22 / .35)!important;background:rgb(255 237 213)!important;color:#9a3412!important}.demo-login-list{display:grid;gap:.65rem;margin-top:1rem}.demo-login-card{width:100%;text-align:left;border:1px solid rgb(249 115 22 / .30);background:rgb(255 247 237);border-radius:1rem;padding:.75rem .9rem;color:var(--primary);cursor:pointer}.demo-login-card strong{display:block;color:#c2410c}.demo-login-card span{display:block;margin-top:.2rem;font-size:.82rem;color:var(--muted-foreground)}.demo-login-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.admin-body .admin-main input[readonly],.admin-body .admin-main textarea[readonly],.admin-body .admin-main select:disabled{background:rgb(248 250 252);color:var(--muted-foreground);cursor:not-allowed}.admin-body .admin-main button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.admin-body .admin-main input[type=file]:disabled{cursor:not-allowed}@media (max-width:639px){.demo-version-badge{bottom:4.95rem;font-size:.68rem;padding:.4rem .8rem;max-width:calc(100vw - 1rem);overflow:hidden;text-overflow:ellipsis}}
