:root{
  --gold-light:#f0c063;
  --gold-mid:#efc267;
  --gold-warm:#c4903d;
  --gold-deep:#89601a;
  --black:#000000;
  --black-soft:#0a0a0a;
  --black-card:#111111;
  --black-border:#1e1e1e;
  --white:#ffffff;
  --white-muted:#c8c8c8;
  --white-dim:#888888;

  --footer-bg:#000000;
  --footer-bottom-bg:#242424;

  --gold-light-rgb:240 192 99;
  --gold-mid-rgb:239 194 103;
  --gold-warm-rgb:196 144 61;
  --gold-deep-rgb:137 96 26;
  --black-rgb:0 0 0;
  --black-soft-rgb:10 10 10;
  --black-card-rgb:17 17 17;
  --black-border-rgb:30 30 30;
  --white-rgb:255 255 255;
  --white-muted-rgb:200 200 200;
  --white-dim-rgb:136 136 136;

  --whatsapp:#25D366;
  --whatsapp-hover:#1da851;
  --whatsapp-rgb:37 211 102;
  --whatsapp-hover-rgb:29 168 81;

  --shadow-gold:0 14px 34px rgb(var(--gold-light-rgb) / 0.22);
  --shadow-soft:0 14px 30px rgb(var(--black-rgb) / 0.55);
  --transition:200ms ease;

  --font-display:'Cinzel',serif;
  --font-body:'Raleway',sans-serif;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:var(--font-body);
  font-weight:300;
  background:var(--black-soft);
  color:var(--white);
  overflow-x:hidden;
}

body.theme-light{
  --black:#ffffff;
  --black-soft:#f6f6f6;
  --black-card:#ffffff;
  --black-border:#dedede;
  --white:#0a0a0a;
  --white-muted:#2b2b2b;
  --white-dim:#555555;

  --black-soft-rgb:246 246 246;
  --black-card-rgb:255 255 255;
  --black-border-rgb:222 222 222;
  --white-rgb:10 10 10;
  --white-muted-rgb:43 43 43;
  --white-dim-rgb:85 85 85;

  --footer-bg:#ffffff;
  --footer-bottom-bg:#f0f0f0;

  --shadow-soft:0 14px 30px rgb(var(--black-rgb) / 0.18);
}

body.theme-light .navbar-toggler-icon{
  filter:invert(1) grayscale(1);
}

h1,h2,h3,h4,h5,h6,.display-font{
  font-family:var(--font-display);
}

a{
  color:inherit;
}

.text-gold{
  color:var(--gold-light);
}

.highlight{
  background-image:linear-gradient(90deg,var(--gold-light),var(--gold-mid),var(--gold-warm));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.lv-text-muted{
  color:var(--white-muted);
}

.lv-text-dim{
  color:var(--white-dim);
}

.lv-eyebrow{
  color:var(--white);
  font-size:12px;
  font-family:var(--font-body);
  font-weight:200;
  letter-spacing:6px;
  text-transform:uppercase;
}

.lv-section-title{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(2rem, 4vw, 3rem);
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--white);
}

.lv-section-subtitle{
  color:var(--white-muted);
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}

.lv-note{
  color:var(--white-dim);
  font-size:13px;
}

.lv-cta-title{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(1.76rem, 4vw, 3.2rem);
  line-height:1.05;
  letter-spacing:4px;
  text-transform:uppercase;
  color:var(--white);
}

.lv-placeholder{
  background:var(--black-card);
  border:1px solid var(--black-border);
}

.services-section{
  background:var(--black-soft);
}

.about-section{
  background:var(--black);
  border-top:1px solid var(--black-border);
  border-bottom:1px solid var(--black-border);
}

.testimonials-section{
  background:var(--black-soft);
}

.cta-section{
  background:var(--black);
  border-top:1px solid var(--black-border);
  position:relative;
  overflow:hidden;
}

.cta-section::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:url('/imgfondoseccionpie.png');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  opacity:0.08;
  pointer-events:none;
}

.cta-section > .container{
  position:relative;
  z-index:1;
}

.lv-price-meta{
  color:var(--white);
  font-size:12px;
  font-family:var(--font-body);
  font-weight:600;
  letter-spacing:4px;
  text-transform:uppercase;
}

.service-title{
  font-family:var(--font-display);
  font-weight:600;
  font-size:28px;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--white);
}

.lv-pillar-card{
  padding:1rem;
  background:var(--black-card);
  border:1px solid var(--black-border);
}

.lv-pillar-title{
  font-family:var(--font-display);
  font-weight:600;
  font-size:20px;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--white);
}

.lv-pillar-desc{
  color:var(--white-dim);
  font-size:13px;
}

.lv-person-name{
  color:var(--white);
  font-weight:600;
}

.lv-person-role{
  color:var(--white-dim);
  font-size:13px;
}

.btn-gold{
  background-image:linear-gradient(135deg,var(--gold-light),var(--gold-mid),var(--gold-warm));
  border:1px solid rgb(var(--gold-warm-rgb) / 0.9);
  color:var(--black);
  font-size:12px;
  font-family:var(--font-body);
  font-weight:600;
  letter-spacing:3px;
  text-transform:uppercase;
  border-radius:0;
  padding:.85rem 1.25rem;
  transition:transform var(--transition), box-shadow var(--transition), filter var(--transition);
}

.btn-gold:hover{
  color:var(--black);
  transform:translateY(-2px);
  box-shadow:var(--shadow-gold);
  filter:saturate(1.05);
}

.btn-outline-gold{
  background:transparent;
  border:1px solid var(--gold-light);
  color:var(--gold-light);
  font-size:12px;
  font-family:var(--font-body);
  font-weight:600;
  letter-spacing:3px;
  text-transform:uppercase;
  border-radius:0;
  padding:.85rem 1.25rem;
  transition:background var(--transition), color var(--transition), transform var(--transition), box-shadow var(--transition);
}

.btn-outline-gold:hover{
  background:var(--gold-light);
  color:var(--black);
  transform:translateY(-2px);
  box-shadow:var(--shadow-gold);
}

.btn-whatsapp{
  background:var(--whatsapp);
  border:1px solid var(--whatsapp);
  color:rgb(var(--black-soft-rgb) / 1);
  font-weight:600;
  border-radius:0;
  transition:background var(--transition), border-color var(--transition), transform var(--transition), box-shadow var(--transition);
}

.btn-whatsapp:hover{
  background:var(--whatsapp-hover);
  border-color:var(--whatsapp-hover);
  color:rgb(var(--black-soft-rgb) / 1);
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgb(var(--whatsapp-rgb) / 0.18);
}

.lv-topbar{
  background:var(--black-card);
  border-bottom:1px solid var(--black-border);
  color:var(--white-muted);
  font-size:12px;
  font-family:var(--font-body);
  font-weight:300;
}

.lv-topbar a{
  color:var(--white-muted);
  text-decoration:none;
  transition:color var(--transition), opacity var(--transition);
}

.lv-topbar a:hover{
  color:var(--gold-light);
}

.lv-navbar{
  background:var(--black);
  border-bottom:1px solid var(--black-border);
}

.lv-navbar .navbar-brand{
  height:78px;
  overflow:visible;
}

.lv-navbar.scrolled{
  box-shadow:var(--shadow-soft);
}

.lv-navbar .navbar-toggler{
  border-color:rgb(var(--white-dim-rgb) / 0.3);
}

.lv-navbar .navbar-brand{
  color:var(--white);
}

.lv-logo{
  height:78px;
  width:auto;
  display:block;
  transform:scale(1.2);
  transform-origin:left center;
}

.lv-nav-link{
  position:relative;
  font-size:11px;
  font-family:var(--font-body);
  font-weight:400;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--white-muted);
  padding-left:.85rem;
  padding-right:.85rem;
  transition:color var(--transition);
}

.lv-nav-link::after{
  content:"";
  position:absolute;
  left:.85rem;
  right:.85rem;
  bottom:-6px;
  height:1px;
  background:var(--gold-light);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 250ms ease;
}

.lv-nav-link:hover{
  color:var(--white);
}

.lv-nav-link:hover::after{
  transform:scaleX(1);
}

.lv-nav-link.active{
  color:var(--white);
}

.lv-nav-link.active::after{
  transform:scaleX(1);
}

.lv-cta{
  background:var(--gold-light);
  border-color:var(--gold-warm);
  color:var(--black);
  font-size:11px;
  font-family:var(--font-body);
  font-weight:600;
  letter-spacing:3px;
  text-transform:uppercase;
  padding:.6rem 1.1rem;
  border-radius:0;
  transition:transform var(--transition), box-shadow var(--transition), background var(--transition), border-color var(--transition);
}

.lv-cta:hover{
  background:var(--gold-mid);
  border-color:var(--gold-mid);
  transform:translateY(-2px);
  box-shadow:var(--shadow-gold);
}

.hero{
  min-height:70vh;
  background-color:var(--black-soft);
  background-image:
    linear-gradient(180deg, rgb(var(--black-soft-rgb) / 0.78) 0%, rgb(var(--black-soft-rgb) / 0.92) 65%, rgb(var(--black-soft-rgb) / 1) 100%),
    url('/imghero.png'),
    radial-gradient(650px circle at 85% 15%, rgb(var(--gold-light-rgb) / 0.18), rgb(var(--black-soft-rgb) / 0) 60%),
    linear-gradient(to right, rgb(var(--gold-light-rgb) / 0.04) 1px, rgb(var(--black-soft-rgb) / 0) 1px),
    linear-gradient(to bottom, rgb(var(--gold-light-rgb) / 0.04) 1px, rgb(var(--black-soft-rgb) / 0) 1px);
  background-size:cover, cover, auto, 72px 72px, 72px 72px;
  background-position:center, center top, center, center, center;
  background-repeat:no-repeat, no-repeat, no-repeat, repeat, repeat;
  background-attachment:scroll, fixed, scroll, scroll, scroll;
  position:relative;
  overflow:hidden;
}

.hero-title{
  font-size:clamp(1.7rem, 4.2vw, 3.3rem);
  line-height:1.02;
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:4px;
  text-transform:uppercase;
}

.hero-title .highlight{
  background-image:linear-gradient(90deg,var(--gold-light),var(--gold-mid),var(--gold-warm));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.hero-subtitle{
  color:var(--white-muted);
}

.hero-stats{
  display:flex;
  gap:1.5rem;
  flex-wrap:wrap;
}

.hero-stat{
  display:flex;
  flex-direction:row;
  align-items:baseline;
  gap:.75rem;
}

.hero-stat .stat-number{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(1.55rem, 2.8vw, 2.25rem);
  line-height:1;
  letter-spacing:2px;
  background-image:linear-gradient(135deg,var(--gold-light),var(--gold-mid),var(--gold-warm));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.hero-stat .stat-label{
  font-size:12px;
  font-family:var(--font-body);
  font-weight:200;
  letter-spacing:4px;
  text-transform:uppercase;
  color:var(--white);
}

.hero-image-frame{
  position:relative;
  border:1px solid rgb(var(--gold-light-rgb) / 0.35);
  padding:14px;
  background:rgb(var(--black-soft-rgb) / 0.6);
  box-shadow:var(--shadow-soft);
  display:flex;
  align-items:center;
  justify-content:center;
}

.hero-image-frame::before{
  content:"";
  position:absolute;
  inset:-10px;
  border:1px solid rgb(var(--gold-light-rgb) / 0.18);
  transform:translate(12px, 12px);
  pointer-events:none;
}

.hero-image-frame--clean{
  border:none;
  background:transparent;
  box-shadow:none;
  padding:0;
}

.hero-image-frame--clean::before{
  content:none;
}

.hero-badge{
  position:absolute;
  right:18px;
  bottom:18px;
  background:var(--black-card);
  border:1px solid var(--black-border);
  box-shadow:var(--shadow-soft);
  padding:14px 16px;
  max-width:220px;
}

.lv-hero-photo-wrap{
  position:relative;
  width:min(380px, 84%);
  aspect-ratio:1 / 1;
  border-radius:999px;
  padding:10px;
  background-image:linear-gradient(135deg, rgb(var(--gold-light-rgb) / 0.85), rgb(var(--gold-mid-rgb) / 0.75), rgb(var(--gold-warm-rgb) / 0.75));
  box-shadow:var(--shadow-soft);
}

.lv-hero-photo-wrap::after{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:999px;
  border:1px solid rgb(var(--gold-light-rgb) / 0.18);
  transform:translate(10px, 10px);
  pointer-events:none;
}

.lv-hero-photo{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:999px;
  border:1px solid rgb(var(--black-border-rgb) / 1);
  background:var(--black-card);
}

.hero-badge .badge-number{
  font-family:var(--font-display);
  font-weight:700;
  font-size:36px;
  line-height:1;
  letter-spacing:2px;
  background-image:linear-gradient(135deg,var(--gold-light),var(--gold-mid),var(--gold-warm));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.hero-badge .badge-text{
  color:var(--white-dim);
  font-size:12px;
  font-family:var(--font-body);
  font-weight:200;
  letter-spacing:6px;
  text-transform:uppercase;
  margin-top:6px;
}

.service-card{
  position:relative;
  background:var(--black-card);
  border:1px solid var(--black-border);
  padding:40px;
  transition:transform var(--transition), border-color var(--transition), box-shadow var(--transition);
  overflow:hidden;
}

.service-media{
  border:1px solid var(--black-border);
  background:var(--black-soft);
  padding:10px;
  margin-bottom:18px;
}

.service-media img{
  width:100%;
  height:auto;
  display:block;
  border:1px solid var(--black-border);
}

.service-card::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background-image:linear-gradient(90deg,var(--gold-light),var(--gold-mid),var(--gold-warm));
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform 300ms ease;
}

.service-card:hover{
  transform:translateY(-6px);
  border-color:rgb(var(--gold-light-rgb) / 0.35);
  box-shadow:var(--shadow-soft);
}

.service-card:hover::before{
  transform:scaleX(1);
}

.service-icon{
  width:56px;
  height:56px;
  border:1px solid rgb(var(--gold-light-rgb) / 0.55);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--gold-light);
  transition:background var(--transition), color var(--transition), border-color var(--transition), transform var(--transition);
}

.service-card:hover .service-icon{
  background-image:linear-gradient(135deg,var(--gold-light),var(--gold-mid),var(--gold-warm));
  border-color:rgb(var(--gold-light-rgb) / 0.85);
  color:var(--black);
  transform:translateY(-1px);
}

.testi-card{
  position:relative;
  background:var(--black-card);
  border:1px solid var(--black-border);
  padding:34px;
  box-shadow:var(--shadow-soft);
}

.testi-card::before{
  content:"“";
  position:absolute;
  top:10px;
  left:14px;
  font-family:var(--font-display);
  font-size:74px;
  line-height:1;
  color:rgb(var(--gold-light-rgb) / 0.35);
  pointer-events:none;
}

.testi-card::before{
  display:none;
}

.testi-avatar{
  width:54px;
  height:54px;
  border-radius:999px;
  background-image:linear-gradient(135deg,var(--gold-light),var(--gold-mid),var(--gold-warm));
  color:var(--black);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  letter-spacing:.04em;
}

.testi-stars{
  color:var(--gold-light);
}

.plan-card{
  position:relative;
  background:var(--black-card);
  border:1px solid var(--black-border);
  padding:28px;
  cursor:pointer;
  transition:border-color var(--transition), transform var(--transition), box-shadow var(--transition);
}

.plan-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-soft);
}

.plan-card.active,
.plan-card.is-active{
  border-color:rgb(var(--gold-light-rgb) / 0.75);
  box-shadow:var(--shadow-soft);
}

.plan-badge{
  position:absolute;
  top:14px;
  right:14px;
  background-image:linear-gradient(135deg,var(--gold-light),var(--gold-mid),var(--gold-warm));
  color:var(--black);
  font-size:10px;
  font-family:var(--font-body);
  font-weight:600;
  letter-spacing:3px;
  text-transform:uppercase;
  padding:.35rem .6rem;
  border-radius:0;
}

.checkout-hero{
  padding-top:1.25rem;
  padding-bottom:1.25rem;
}

.lv-checkout .container{
  max-width:1164px;
}

.lv-checkout .checkout-hero{
  padding-top:1rem;
  padding-bottom:1rem;
}

.lv-checkout .lv-checkout-title{
  font-size:clamp(1.6rem, 3.2vw, 2.4rem);
  letter-spacing:3px;
}

.lv-checkout .lv-checkout-subtitle{
  max-width:640px;
  font-size:14px;
}

.lv-checkout .lv-step-chip{
  font-size:11px;
  letter-spacing:4px;
  padding:.55rem .85rem;
}

.lv-checkout .plan-card{
  padding:22px;
}

.lv-checkout .lv-plan-title{
  font-size:18px;
  letter-spacing:5px;
}

.lv-checkout .lv-plan-price{
  font-size:30px;
}

.lv-checkout .lv-panel{
  padding:20px;
}

.lv-checkout .lv-panel-title{
  font-size:22px;
  letter-spacing:5px;
}

.lv-checkout .payment-method-btn{
  padding:12px 14px;
}

.lv-checkout .order-summary{
  padding:20px;
  top:88px;
}

.lv-checkout-title{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(2.2rem, 5vw, 3.2rem);
  line-height:1.05;
  letter-spacing:4px;
  text-transform:uppercase;
  color:var(--white);
}

.lv-checkout-subtitle{
  color:var(--white-muted);
  max-width:720px;
}

.lv-breadcrumb{
  --bs-breadcrumb-divider: '>';
}

.lv-breadcrumb .breadcrumb-item,
.lv-breadcrumb .breadcrumb-item::before{
  color:var(--white-dim);
}

.lv-breadcrumb .breadcrumb-item.active{
  color:var(--white-muted);
}

.lv-step-chip{
  background:var(--black-card);
  border:1px solid var(--black-border);
  color:var(--white-dim);
  font-size:12px;
  font-family:var(--font-body);
  font-weight:200;
  letter-spacing:6px;
  text-transform:uppercase;
}

.lv-panel{
  background:var(--black-card);
  border:1px solid var(--black-border);
  padding:24px;
}

.lv-step-label{
  color:var(--white-dim);
  font-size:12px;
  font-family:var(--font-body);
  font-weight:200;
  letter-spacing:6px;
  text-transform:uppercase;
}

.lv-panel-title{
  font-family:var(--font-body);
  font-weight:200;
  font-size:28px;
  letter-spacing:6px;
  text-transform:uppercase;
  color:var(--white);
}

.lv-subtitle-title{
  font-family:var(--font-body);
  font-weight:200;
  font-size:26px;
  letter-spacing:6px;
  text-transform:uppercase;
  color:var(--white);
}

.lv-summary-title{
  font-family:var(--font-body);
  font-weight:200;
  font-size:26px;
  letter-spacing:6px;
  text-transform:uppercase;
  color:var(--white);
}

.lv-plan-title{
  font-family:var(--font-body);
  font-weight:200;
  font-size:22px;
  letter-spacing:6px;
  text-transform:uppercase;
  color:var(--white);
}

.lv-plan-duration{
  color:var(--white-dim);
}

.lv-plan-price{
  font-family:var(--font-display);
  font-weight:700;
  font-size:34px;
  letter-spacing:2px;
  color:var(--white);
}

.lv-plan-per{
  color:var(--white-dim);
  font-size:13px;
}

.lv-feature-badge{
  background:rgb(var(--gold-light-rgb) / .12);
  border:1px solid rgb(var(--gold-light-rgb) / .3);
  color:var(--gold-light);
  border-radius:0;
}

.lv-label{
  color:var(--white-dim);
  font-family:var(--font-body);
  font-weight:400;
  letter-spacing:2px;
}

.lv-payment-title{
  color:var(--white);
  font-family:var(--font-body);
  font-weight:400;
  letter-spacing:3px;
  text-transform:uppercase;
}

.lv-payment-sub{
  color:var(--white-dim);
  font-size:13px;
  font-family:var(--font-body);
  font-weight:200;
  letter-spacing:4px;
  text-transform:uppercase;
}

.lv-payment-meta{
  color:var(--white-dim);
  font-size:12px;
  font-family:var(--font-body);
  font-weight:200;
  letter-spacing:6px;
  text-transform:uppercase;
}

.lv-payment-icons{
  color:var(--white-dim);
  font-size:18px;
}

.lv-qr{
  background:var(--black-soft);
  border:1px solid var(--black-border);
}

.lv-ol{
  color:var(--white-dim);
}

.lv-subtitle-dim{
  color:var(--white-dim);
}

.lv-bank-card{
  padding:1rem;
  background:var(--black-soft);
  border:1px solid var(--black-border);
}

.lv-bank-name{
  color:var(--white);
  font-weight:600;
}

.lv-bank-line{
  color:var(--white-dim);
  font-size:13px;
}

.lv-summary-meta{
  color:var(--white-dim);
}

.lv-summary-lines{
  color:var(--white-muted);
}

.lv-summary-total-label{
  color:var(--white);
  font-weight:600;
}

.lv-help{
  color:var(--white-dim);
  font-size:13px;
}

.lv-message{
  border:1px solid rgb(var(--white-rgb) / .12);
  background:rgb(var(--white-rgb) / .06);
  color:var(--white);
  padding:16px;
}

.lv-message.is-success{
  border-color:rgb(var(--gold-light-rgb) / .25);
  background:rgb(var(--gold-light-rgb) / .10);
}

.payment-method-btn{
  position:relative;
  width:100%;
  display:flex;
  align-items:center;
  gap:.75rem;
  padding:14px 16px;
  background:rgb(var(--black-soft-rgb) / 0.6);
  border:1px solid var(--black-border);
  color:var(--white-muted);
  transition:border-color var(--transition), background var(--transition), transform var(--transition);
}

.payment-method-btn:hover{
  transform:translateY(-2px);
  border-color:rgb(var(--gold-light-rgb) / 0.35);
}

.payment-method-btn.active,
.payment-method-btn.is-active{
  border-color:rgb(var(--gold-light-rgb) / 0.75);
  background:rgb(var(--black-card-rgb) / 1);
  color:var(--white);
}

.payment-method-btn.active::after,
.payment-method-btn.is-active::after{
  content:"✓";
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  width:22px;
  height:22px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background-image:linear-gradient(135deg,var(--gold-light),var(--gold-mid),var(--gold-warm));
  color:var(--black);
  font-size:14px;
  font-weight:800;
}

.order-summary{
  position:sticky;
  top:96px;
  background:var(--black-card);
  border:1px solid var(--black-border);
  padding:24px;
  box-shadow:var(--shadow-soft);
}

.summary-total{
  border-top:1px solid var(--black-border);
  padding-top:16px;
  margin-top:16px;
}

.summary-total .price{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(1.8rem, 3.5vw, 2.4rem);
  line-height:1;
  letter-spacing:2px;
  background-image:linear-gradient(135deg,var(--gold-light),var(--gold-mid),var(--gold-warm));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.form-control,
.form-select{
  background:rgb(var(--black-soft-rgb) / 0.6);
  border:1px solid var(--black-border);
  color:var(--white);
  border-radius:0;
}

.form-control::placeholder{
  color:rgb(var(--white-dim-rgb) / 1);
}

.form-control:focus,
.form-select:focus{
  background:rgb(var(--black-soft-rgb) / 0.75);
  border-color:rgb(var(--gold-light-rgb) / 0.75);
  box-shadow:0 0 0 .2rem rgb(var(--gold-light-rgb) / 0.18);
  color:var(--white);
}

.secure-badges{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem 1rem;
  color:var(--white-dim);
  font-size:13px;
}

.secure-badges i{
  color:var(--gold-light);
}

.lv-footer{
  background:var(--footer-bg);
  border-top:1px solid var(--black-border);
}

.lv-footer-title{
  font-family:var(--font-body);
  font-weight:200;
  font-size:20px;
  letter-spacing:6px;
  text-transform:uppercase;
  color:var(--white);
}

.lv-footer-text{
  font-family:var(--font-body);
  font-weight:300;
  color:var(--white-muted);
}

.lv-footer-logo{
  height:58px;
  width:auto;
}

.lv-footer-bottom-text{
  color:var(--white-dim);
  font-size:13px;
}

.lv-footer-link{
  color:var(--white-dim);
  text-decoration:none;
  transition:color var(--transition);
}

.lv-footer-link:hover{
  color:var(--gold-light);
}

.lv-social-square{
  width:40px;
  height:40px;
  border-radius:10px;
  background:var(--black);
  border:1px solid var(--black-border);
  color:var(--white-muted);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background var(--transition), color var(--transition), border-color var(--transition), transform var(--transition);
}

.lv-social-square:hover{
  background:var(--gold-light);
  border-color:var(--gold-light);
  color:var(--black);
  transform:translateY(-2px);
}

.lv-footer-bottom{
  background:var(--footer-bottom-bg);
  border-top:1px solid var(--black-border);
}

.lv-wa-float{
  position:fixed;
  right:18px;
  bottom:18px;
  width:54px;
  height:54px;
  border-radius:999px;
  background:var(--whatsapp);
  color:rgb(var(--black-soft-rgb) / 1);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:var(--shadow-soft);
  z-index:1030;
  text-decoration:none;
  transition:transform 150ms ease, background var(--transition), box-shadow var(--transition);
}

.lv-wa-float:hover{
  transform:translateY(-2px);
  background:var(--whatsapp-hover);
  box-shadow:0 18px 38px rgb(var(--black-rgb) / 0.55);
}

.lv-theme-toggle{
  position:fixed;
  right:18px;
  bottom:86px;
  width:54px;
  height:54px;
  border-radius:999px;
  background:var(--black-card);
  border:1px solid var(--black-border);
  color:var(--white);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:var(--shadow-soft);
  z-index:1030;
  transition:transform 150ms ease, background var(--transition), box-shadow var(--transition), border-color var(--transition), color var(--transition);
}

.lv-theme-toggle:hover{
  transform:translateY(-2px);
  border-color:rgb(var(--gold-light-rgb) / 0.35);
}

@keyframes fadeUp{
  from{
    opacity:0;
    transform:translateY(18px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

.fade-up{
  opacity:0;
  transform:translateY(18px);
}

.fade-up.visible{
  animation:fadeUp .8s ease forwards;
}

.delay-1{animation-delay:.12s;}
.delay-2{animation-delay:.24s;}
.delay-3{animation-delay:.36s;}

@media (max-width: 991px){
  .lv-navbar .navbar-brand{
    height:64px;
  }
  .lv-logo{
    height:64px;
    transform:scale(1.05);
  }
  .lv-nav-link{
    letter-spacing:3px;
  }

  .lv-nav-link{
    padding-left:.65rem;
    padding-right:.65rem;
  }
  .lv-nav-link::after{
    left:.65rem;
    right:.65rem;
  }
  .hero{
    min-height:auto;
    padding-top:2rem;
    padding-bottom:2rem;
    background-attachment:scroll, scroll, scroll, scroll, scroll;
  }
  .hero-title{
    text-align:center;
  }
  .hero-subtitle{
    text-align:center;
    max-width:720px;
    margin-left:auto;
    margin-right:auto;
  }
  .hero .lv-eyebrow{
    text-align:center;
  }
  .hero .btn-gold,
  .hero .btn-outline-gold{
    width:100%;
  }
  .hero-stats{
    justify-content:center;
  }
  .hero-image-frame{
    margin-left:auto;
    margin-right:auto;
    max-width:520px;
  }
  .hero-image-frame--clean{
    padding:0;
  }
  .hero .hero-badge{
    position:static;
    margin-top:16px;
    width:100%;
    max-width:none;
    text-align:center;
  }
  .order-summary{
    position:static;
    top:auto;
  }
}

@media (min-width: 992px){
  .hero-stats{
    flex-wrap:nowrap;
  }
  .hero-stat{
    white-space:nowrap;
  }
}

@media (max-width: 767px){
  .lv-navbar .navbar-brand{
    height:58px;
  }
  .lv-logo{
    height:58px;
    transform:scale(1);
  }
  .hero-stats{
    gap:1.25rem;
  }
  .hero-stat{
    gap:.5rem;
  }
  .lv-hero-photo-wrap{
    width:min(280px, 88%);
  }
  .service-card{
    padding:28px;
  }
  .service-media{
    margin-bottom:14px;
  }
  .testi-card{
    padding:26px;
  }
  .hero-badge{
    right:12px;
    bottom:12px;
  }
}
