:root {
    --orange: #B8861A; --orange-light: #D4A030;
    --dark: #22347E; --dark2: #1B2758; --dark3: #2F458F;
    --dark-rgb: 34, 52, 126;
    --blue: #001964; --blue-light: #0D2E8C;
    --white: #F5F5F0; --gray: #8A8A8A; --gray-light: #C5C5C0;
  }
  * { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body { background:var(--dark); color:var(--white); font-family:'Barlow',sans-serif; overflow-x:hidden; }

  /* NAV */
  nav {
    position:fixed; top:0; width:100%; z-index:1000;
    background:rgba(var(--dark-rgb),0.97); backdrop-filter:blur(12px);
    border-bottom:2px solid var(--orange);
    display:flex; align-items:center; justify-content:space-between;
    padding:0 5%; height:80px;
  }
  .nav-logo { font-family:'Bebas Neue',sans-serif; font-size:2rem; letter-spacing:6px; color:var(--white); text-decoration:none; z-index:1001; position:relative; display:flex; align-items:center; }
  .nav-logo span { color:var(--orange); }
  .nav-links { display:flex; gap:2rem; list-style:none; align-items:center; }
  .nav-links a { font-family:'Barlow Condensed',sans-serif; font-size:1rem; font-weight:500; letter-spacing:2px; text-transform:uppercase; color:var(--gray-light); text-decoration:none; transition:color 0.2s; }
  .nav-links a:hover { color:var(--orange); }

  /* HAMBURGER */
  .hamburger {
    display:none; flex-direction:column; justify-content:center; align-items:center;
    width:54px; height:54px; cursor:pointer; z-index:1001; position:relative;
    gap:6px; background:none; border:none; padding:4px;
  }
  .hamburger span {
    display:block; width:30px; height:3px; background:var(--white);
    border-radius:2px; transition:all 0.35s cubic-bezier(.77,0,.175,1);
  }
  .hamburger.open span:nth-child(1) { transform:translateY(10px) rotate(45deg); }
  .hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
  .hamburger.open span:nth-child(3) { transform:translateY(-10px) rotate(-45deg); }

  /* MOBILE MENU */
  .mobile-menu {
    position:fixed; inset:0; z-index:999;
    background:rgba(var(--dark-rgb),0.99); backdrop-filter:blur(20px);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    opacity:0; pointer-events:none;
    transition:opacity 0.35s ease;
  }
  .mobile-menu.open { opacity:1; pointer-events:all; }
  .mobile-menu nav-mobile-list { list-style:none; text-align:center; }
  .mobile-nav-list { list-style:none; text-align:center; }
  .mobile-nav-list li {
    opacity:0; transform:translateY(20px);
    transition:opacity 0.4s ease, transform 0.4s ease;
    border-bottom:1px solid rgba(255,255,255,0.07);
  }
  .mobile-menu.open .mobile-nav-list li { opacity:1; transform:translateY(0); }
  .mobile-menu.open .mobile-nav-list li:nth-child(1) { transition-delay:0.06s; }
  .mobile-menu.open .mobile-nav-list li:nth-child(2) { transition-delay:0.12s; }
  .mobile-menu.open .mobile-nav-list li:nth-child(3) { transition-delay:0.18s; }
  .mobile-menu.open .mobile-nav-list li:nth-child(4) { transition-delay:0.24s; }
  .mobile-menu.open .mobile-nav-list li:nth-child(5) { transition-delay:0.30s; }
  .mobile-nav-list li a {
    display:block; font-family:'Bebas Neue',sans-serif; font-size:3rem; letter-spacing:4px;
    color:var(--white); text-decoration:none; padding:1.1rem 3.4rem; transition:color 0.2s;
  }
  .mobile-nav-list li a:hover { color:var(--orange); }
  .mobile-cta-wrap {
    margin-top:2.5rem;
    opacity:0; transform:translateY(20px);
    transition:opacity 0.4s 0.36s ease, transform 0.4s 0.36s ease;
  }
  .mobile-menu.open .mobile-cta-wrap { opacity:1; transform:translateY(0); }

  .nav-cta-d { display:inline-block; }

  /* HERO */
  .hero {
    min-height:100vh; background:var(--dark);
    display:flex; align-items:center;
    position:relative; overflow:hidden; padding-top:80px;
  }
  .hero-grid-bg {
    position:absolute; inset:0;
    background-image: linear-gradient(rgba(232,92,13,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(232,92,13,0.05) 1px, transparent 1px);
    background-size:60px 60px; animation:gridMove 20s linear infinite;
  }
  @keyframes gridMove { from{transform:translateY(0)} to{transform:translateY(60px)} }
  .hero-accent { position:absolute; right:-10%; top:50%; transform:translateY(-50%); width:600px; height:600px; background:radial-gradient(circle,rgba(34,96,168,0.25) 0%,transparent 70%); border-radius:50%; }
  .hero-accent2 { position:absolute; left:30%; bottom:-100px; width:400px; height:400px; background:radial-gradient(circle,rgba(232,92,13,0.15) 0%,transparent 70%); border-radius:50%; }
  .hero-content { position:relative; z-index:2; padding:0 8%; max-width:900px; }
  .hero-tag { display:inline-block; font-family:'Barlow Condensed',sans-serif; font-size:0.75rem; letter-spacing:4px; text-transform:uppercase; color:var(--orange); border:1px solid var(--orange); padding:4px 16px; margin-bottom:2rem; animation:fadeUp 0.8s ease both; font-weight:700; }
  .hero h1 { font-family:'Bebas Neue',sans-serif; font-size:clamp(3rem,9vw,8rem); line-height:0.92; letter-spacing:2px; color:var(--white); animation:fadeUp 0.8s 0.15s ease both; }
  .hero h1 .accent { color:var(--orange); }
  .hero-sub { font-family:'Barlow Condensed',sans-serif; font-size:clamp(0.9rem,2vw,1.4rem); font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--gray-light); margin:1.2rem 0 2.5rem; animation:fadeUp 0.8s 0.3s ease both; }
  .hero-desc {font-weight:bold; font-size:1rem; color:black; max-width:560px; line-height:1.7; margin-bottom:3rem; animation:fadeUp 0.8s 0.45s ease both; font-weight:700; }
  .hero-copy-stack { transition:opacity 0.4s ease, transform 0.4s ease; }
  .hero-content.hero-copy-dim .hero-copy-stack { opacity:0; transform:translateY(14px); }
  @media (prefers-reduced-motion:reduce) {
    .hero-copy-stack { transition:none; }
    .hero-content.hero-copy-dim .hero-copy-stack { transform:none; }
  }
  .hero-ctas { display:flex; gap:1rem; flex-wrap:wrap; animation:fadeUp 0.8s 0.6s ease both; }
  .btn-primary { background:var(--orange); color:var(--white); font-family:'Barlow Condensed',sans-serif; font-size:0.85rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; border:none; cursor:pointer; padding:14px 36px; text-decoration:none; display:inline-block; clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px)); transition:background 0.2s, transform 0.2s; }
  .btn-primary:hover { background:var(--orange-light); transform:translateY(-2px); }
  .btn-outline { background:transparent; color:var(--white); font-family:'Barlow Condensed',sans-serif; font-size:0.85rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; border:1px solid rgba(255,255,255,0.3); cursor:pointer; padding:14px 36px; text-decoration:none; display:inline-block; transition:border-color 0.2s, color 0.2s; }
  .btn-outline:hover { border-color:var(--orange); color:var(--orange); }
  .hero-scroll { position:absolute; bottom:2.5rem; left:8%; z-index:6; display:flex; align-items:center; gap:12px; animation:fadeUp 1s 0.9s ease both; }
  .hero-scroll span { font-family:'Barlow Condensed',sans-serif; font-size:0.7rem; letter-spacing:3px; text-transform:uppercase; color:var(--gray); }
  .scroll-line { width:50px; height:1px; background:linear-gradient(to right,var(--orange),transparent); animation:pulse 2s ease-in-out infinite; }

  /* HERO SLIDER */
  .hero-slider {
    position:absolute; inset:0; z-index:0; overflow:hidden;
    background:var(--dark2);
  }
  .hero-slide {
    position:absolute; inset:0; opacity:0; transition:opacity 1.1s ease-in-out; pointer-events:none;
  }
  .hero-slide.active { opacity:1; z-index:1; }
  .hero-slide img {
    width:100%; height:100%; object-fit:cover;
    transform:scale(1.02);
    filter:brightness(1.06) contrast(1.04) saturate(1.05);
  }
  .hero-slider-overlay {
    position:absolute; inset:0; z-index:2;
    background:linear-gradient(105deg, rgba(var(--dark-rgb),0.72) 0%, rgba(var(--dark-rgb),0.48) 32%, rgba(var(--dark-rgb),0.2) 58%, rgba(var(--dark-rgb),0.08) 100%);
    pointer-events:none;
  }
  .hero-grid-bg { z-index:3; }
  .hero-accent, .hero-accent2 { z-index:3; }
  .hero-content { z-index:5; }
  .hero-slider-ui {
    position:absolute; bottom:2.5rem; left:50%; transform:translateX(-50%); z-index:6;
    display:flex; align-items:center; justify-content:center; gap:1rem;
  }
  .hero-slider-arrow {
    position:absolute; top:50%; transform:translateY(-50%); z-index:6;
    width:52px; height:52px; padding:0; margin:0;
    border:1px solid rgba(255,255,255,0.28); background:rgba(var(--dark-rgb),0.5); color:var(--white);
    cursor:pointer; display:flex; align-items:center; justify-content:center;
    clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));
    transition:border-color 0.2s, background 0.2s, color 0.2s, transform 0.2s;
  }
  .hero-slider-arrow:hover { border-color:var(--orange); color:var(--orange); background:rgba(var(--dark-rgb),0.78); }
  .hero-slider-arrow:focus-visible { outline:2px solid var(--orange); outline-offset:3px; }
  .hero-slider-arrow:active { transform:translateY(-50%) scale(0.96); }
  .hero-slider-arrow--prev { left:max(12px,3%); }
  .hero-slider-arrow--next { right:max(12px,3%); }
  .hero-slider-arrow svg { width:24px; height:24px; display:block; }
  body.light-mode .hero-slider-arrow {
    background:rgba(244,244,240,0.35); border-color:rgba(10,14,26,0.2); color:var(--dark);
  }
  body.light-mode .hero-slider-arrow:hover { background:rgba(244,244,240,0.55); border-color:var(--orange); color:var(--orange); }
  .hero-slider-dots { display:flex; gap:8px; align-items:center; }
  .hero-slider-dot {
    width:10px; height:10px; border-radius:50%; border:1px solid rgba(255,255,255,0.35); background:transparent; padding:0; cursor:pointer;
    transition:background 0.2s, border-color 0.2s, transform 0.2s;
  }
  .hero-slider-dot:hover { border-color:var(--orange); }
  .hero-slider-dot.active { background:var(--orange); border-color:var(--orange); transform:scale(1.15); }
  body.light-mode .hero-slider-overlay {
    background:linear-gradient(105deg, rgba(244,244,240,0.78) 0%, rgba(244,244,240,0.42) 38%, rgba(244,244,240,0.18) 65%, rgba(244,244,240,0.06) 100%);
  }
  @keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.3} }
  @keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }

  /* STATS */
  .stats-bar { background:var(--blue); border-top:3px solid var(--orange); border-bottom:3px solid var(--orange); display:flex; justify-content:center; flex-wrap:wrap; }
  .stat { padding:2rem 4rem; text-align:center; border-right:1px solid rgba(255,255,255,0.1); flex:1; min-width:140px; }
  .stat:last-child { border-right:none; }
  .stat-number { font-family:'Bebas Neue',sans-serif; font-size:2.8rem; color:var(--orange); letter-spacing:2px; }
  .stat-label { font-family:'Barlow Condensed',sans-serif; font-size:0.7rem; letter-spacing:3px; text-transform:uppercase; color:rgba(255,255,255,0.7); margin-top:4px; }

  /* SECTIONS */
  section { padding:6rem 8%; }
  .section-label { font-family:'Barlow Condensed',sans-serif; font-size:0.7rem; letter-spacing:5px; text-transform:uppercase; color:var(--orange); margin-bottom:0.8rem; display:flex; align-items:center; gap:12px; }
  .section-label::before { content:''; display:block; width:30px; height:2px; background:var(--orange); }
  .section-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(2.2rem,5vw,4rem); letter-spacing:2px; line-height:1; color:var(--white); margin-bottom:1.5rem; }
  .section-title span { color:var(--orange); }

  /* ABOUT */
  .about { background:var(--dark2); }
  .about-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
  .about-text p { color:var(--gray-light); line-height:1.8; font-size:1rem; margin-bottom:1.2rem; }
  .mvv-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-top:2rem; }
  .mvv-card { background:var(--dark3); border-left:3px solid var(--orange); padding:1.4rem; }
  .mvv-card h4 { font-family:'Bebas Neue',sans-serif; font-size:1.1rem; letter-spacing:2px; color:var(--orange); margin-bottom:0.5rem; }
  .mvv-card p { font-size:0.9rem; color:var(--gray); line-height:1.6; }
  .mvv-card.full { grid-column:1/-1; }
  .values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
  .value-item { background:var(--dark3); border:1px solid rgba(255,255,255,0.06); padding:1.5rem; position:relative; overflow:hidden; transition:border-color 0.2s; }
  .value-item::before { content:''; position:absolute; top:0; left:0; width:100%; height:3px; background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform 0.3s; }
  .value-item:hover::before { transform:scaleX(1); }
  .value-item:hover { border-color:var(--orange); }
  .value-icon { font-size:1.8rem; margin-bottom:0.8rem; }
  .value-item h4 { font-family:'Barlow Condensed',sans-serif; font-size:1rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--white); margin-bottom:0.4rem; }
  .value-item p { font-size:0.85rem; color:var(--gray); line-height:1.5; }

  /* SERVICES */
  .services { background:var(--dark); }
  .services-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1.5px; background:rgba(255,255,255,0.06); margin-top:3rem; }
  .service-card { background:var(--dark2); padding:2.5rem 2rem; position:relative; overflow:hidden; transition:background 0.3s; }
  .service-card:hover { background:var(--dark3); }
  .service-card::after { content:attr(data-num); position:absolute; top:-0.5rem; right:1rem; font-family:'Bebas Neue',sans-serif; font-size:5rem; color:rgba(232,92,13,0.06); line-height:1; pointer-events:none; }
  .service-icon { width:48px; height:48px; background:var(--orange); display:flex; align-items:center; justify-content:center; font-size:1.4rem; margin-bottom:1.2rem; clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px)); }
  .service-card h3 { font-family:'Barlow Condensed',sans-serif; font-size:1.1rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--white); margin-bottom:0.7rem; }
  .service-card p { font-size:0.9rem; color:var(--gray); line-height:1.6; }

  /* USOS */
  .usos { background:var(--dark2); }
  .usos-intro { color:var(--gray-light); max-width:600px; line-height:1.7; margin-bottom:3rem; }
  .usos-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:1rem; }
  .uso-item { background:var(--dark3); border:1px solid rgba(255,255,255,0.06); padding:1.2rem 1.5rem; display:flex; align-items:center; gap:1rem; transition:border-color 0.2s, transform 0.2s; }
  .uso-item:hover { border-color:var(--orange); transform:translateX(4px); }
  .uso-check { color:var(--orange); font-size:1.1rem; flex-shrink:0; }
  .uso-item span { font-family:'Barlow Condensed',sans-serif; font-size:1rem; letter-spacing:1px; text-transform:uppercase; color:var(--white); }

  /* WHY */
  .why { background:var(--dark); }
  .why-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; margin-top:3rem; }
  .why-reasons { display:flex; flex-direction:column; gap:1.5rem; }
  .why-reason { display:flex; gap:1.5rem; padding:1.5rem; background:var(--dark2); border-bottom:2px solid transparent; transition:border-color 0.2s; }
  .why-reason:hover { border-color:var(--orange); }
  .why-num { font-family:'Bebas Neue',sans-serif; font-size:2.5rem; color:var(--orange); opacity:0.4; line-height:1; flex-shrink:0; min-width:50px; }
  .why-text h4 { font-family:'Barlow Condensed',sans-serif; font-size:1.05rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--white); margin-bottom:0.4rem; }
  .why-text p { font-size:0.9rem; color:var(--gray); line-height:1.6; }
  .why-cta-block { position:sticky; top:80px; background:var(--blue); padding:3rem 2.5rem; border-top:4px solid var(--orange); }
  .why-cta-block h3 { font-family:'Bebas Neue',sans-serif; font-size:2.5rem; letter-spacing:2px; line-height:1; margin-bottom:1rem; }
  .why-cta-block p { color:rgba(255,255,255,0.75); line-height:1.7; margin-bottom:2rem; }

  /* CONTACT */
  .contact { background:var(--dark2); border-top:3px solid var(--orange); }
  .contact-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:5rem; margin-top:3rem; }
  .contact-info { display:flex; flex-direction:column; gap:2rem; }
  .contact-block h4 { font-family:'Barlow Condensed',sans-serif; font-size:0.75rem; letter-spacing:3px; text-transform:uppercase; color:var(--orange); margin-bottom:0.7rem; }
  .contact-block p, .contact-block a { color:var(--gray-light); font-size:0.95rem; line-height:1.8; text-decoration:none; display:block; transition:color 0.2s; }
  .contact-block a:hover { color:var(--orange); }
  .contact-form { background:var(--dark3); padding:2.5rem; }
  .contact-form h3 { font-family:'Bebas Neue',sans-serif; font-size:1.8rem; letter-spacing:2px; color:var(--white); margin-bottom:1.5rem; }
  .form-group { margin-bottom:1.2rem; }
  .form-group label { display:block; font-family:'Barlow Condensed',sans-serif; font-size:0.7rem; letter-spacing:3px; text-transform:uppercase; color:var(--gray); margin-bottom:0.5rem; }
  .form-group input, .form-group textarea, .form-group select { width:100%; background:var(--dark2); border:1px solid rgba(255,255,255,0.1); color:var(--white); font-family:'Barlow',sans-serif; font-size:0.95rem; padding:12px 14px; outline:none; transition:border-color 0.2s; appearance:none; }
  .form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color:var(--orange); }
  .form-group textarea { resize:vertical; min-height:120px; }
  .form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }

  /* FOOTER */

  /* ── FOOTER ── */
  footer {
    background: var(--dark2);
    border-top: 3px solid var(--orange);
    padding: 0;
  }
  .footer-top {
    display: grid;
    grid-template-columns: 1.8fr 1fr 1fr 1fr;
    gap: 3rem;
    padding: 4rem 8% 3rem;
    border-bottom: 1px solid rgba(255,255,255,0.06);
  }
  .footer-brand-logo { height: 76px; width: auto; object-fit: contain; margin-bottom: 1.2rem; display: block; }
  .footer-brand-sub {
    font-family:'Barlow Condensed',sans-serif;
    font-size: 0.7rem; letter-spacing: 3px; text-transform: uppercase;
    color: var(--orange); margin-bottom: 1rem;
  }
  .footer-brand-desc { font-size: 0.88rem; color: var(--gray); line-height: 1.75; max-width: 280px; }
  .footer-col h5 {
    font-family:'Bebas Neue',sans-serif;
    font-size: 1rem; letter-spacing: 3px; color: var(--white);
    margin-bottom: 1.2rem;
    padding-bottom: 0.6rem;
    border-bottom: 2px solid var(--orange);
    display: inline-block;
  }
  .footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 0.6rem; }
  .footer-col ul li a {
    font-size: 0.88rem; color: var(--gray);
    text-decoration: none; transition: color 0.2s, padding-left 0.2s;
    display: block;
  }
  .footer-col ul li a:hover { color: var(--orange); padding-left: 6px; }
  .footer-contact-item { display: flex; gap: 0.7rem; margin-bottom: 0.8rem; align-items: flex-start; }
  .footer-contact-icon { color: var(--orange); font-size: 0.9rem; flex-shrink: 0; margin-top: 2px; }
  .footer-contact-item a, .footer-contact-item p {
    font-size: 0.85rem; color: var(--gray); text-decoration: none;
    line-height: 1.5; transition: color 0.2s;
  }
  .footer-contact-item a:hover { color: var(--orange); }

  .footer-bottom {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 1rem;
    padding: 1.4rem 8%;
  }
  .footer-copy {
    font-family:'Barlow Condensed',sans-serif;
    font-size: 0.7rem; letter-spacing: 2px; text-transform: uppercase;
    color: rgba(255,255,255);
  }
  .footer-by {
    font-family:'Barlow Condensed',sans-serif;
    font-size: 0.7rem; letter-spacing: 2px; text-transform: uppercase;
    color: rgba(255,255,255);
    display: flex; align-items: center; gap: 6px;
  }
  .footer-by a { color: white; text-decoration: none; ; transition: opacity 0.2s; }
  .footer-by a:hover { opacity: 1; }
  .footer-socials { display: flex; gap: 0.8rem; }
  .footer-social-btn {
    width: 34px; height: 34px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    display: flex; align-items: center; justify-content: center;
    font-size: 0.9rem; text-decoration: none; color: var(--gray);
    transition: background 0.2s, border-color 0.2s, color 0.2s;
    clip-path: polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px));
  }
  .footer-social-btn:hover { background: var(--orange); border-color: var(--orange); color: #fff; }

  /* light mode footer */
  body.light-mode footer { background: #1a2350; }
  body.light-mode .footer-bottom { background: #151c42; }

  @media (max-width: 900px) {
    .footer-top { grid-template-columns: 1fr 1fr; gap: 2.5rem; padding: 3rem 6% 2.5rem; }
  }
  @media (max-width: 560px) {
    .footer-top { grid-template-columns: 1fr; }
    .footer-bottom { flex-direction: column; align-items: flex-start; padding: 1.2rem 6%; }
  }
  .orange-divider { height:3px; background:linear-gradient(to right,var(--orange),var(--blue),transparent); }

  /* RESPONSIVE */
  @media (max-width:900px) {
    .nav-links, .nav-cta-d { display:none; }
    .hamburger { display:flex; }
    .about-grid, .why-grid, .contact-grid { grid-template-columns:1fr; gap:3rem; }
    .mvv-grid { grid-template-columns:1fr; }
    .values-grid { grid-template-columns:1fr 1fr; }
    .why-cta-block { position:static; }
    section { padding:4rem 6%; }
    .hero-content { padding:0 6%; }
    .hero-slider-ui { bottom:6.5rem; }
    .hero-slider-arrow { width:46px; height:46px; }
    .hero-slider-arrow svg { width:20px; height:20px; }
    .hero-scroll { bottom:1.5rem; }
  }
  @media (max-width:560px) {
    .values-grid { grid-template-columns:1fr; }
    .form-row { grid-template-columns:1fr; }
    .stat { padding:1.5rem 1.5rem; }
    .mobile-nav-list li a { font-size:2.4rem; padding:0.9rem 2.4rem; }
    .hero-slider-arrow--prev { left:8px; }
    .hero-slider-arrow--next { right:8px; }
  }

  /* THEME TOGGLE */
  .theme-toggle {
    display: flex; align-items: center; gap: 8px;
    cursor: pointer; z-index: 1001; position: relative;
    background: none; border: none; padding: 4px;
  }
  .toggle-track {
    width: 44px; height: 24px;
    background: var(--dark3);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 12px;
    position: relative;
    transition: background 0.3s;
  }
  .toggle-thumb {
    position: absolute; top: 3px; left: 3px;
    width: 16px; height: 16px; border-radius: 50%;
    background: var(--orange);
    transition: transform 0.3s, background 0.3s;
  }
  body.light-mode .toggle-track { background: #e0e0e0; border-color: #ccc; }
  body.light-mode .toggle-thumb { transform: translateX(20px); background: #001964; }
  .toggle-icon { font-size: 1rem; line-height: 1; }

  .nav-logo-img { height: 60px; width: auto; object-fit: contain; display: block; }
  .nav-logo-img,
  .footer-brand-logo {
    transition: filter 0.35s ease;
  }
  body:not(.light-mode) .nav-logo-img,
  body:not(.light-mode) .footer-brand-logo {
    filter: brightness(0) invert(1);
  }
  body.light-mode .nav-logo-img,
  body.light-mode .footer-brand-logo {
    filter: none;
  }

  /* LIGHT MODE */
  body.light-mode {
    --dark: #F4F4F0;
    --dark2: #E8E8E4;
    --dark3: #DCDCD8;
    --white: #1A1A1A;
    --gray: #555555;
    --gray-light: #333333;
  }
  body.light-mode nav { background: rgba(244,244,240,0.97); }
  body.light-mode .mobile-menu { background: rgba(244,244,240,0.99); }
  body.light-mode .stats-bar { background: var(--blue); }
  body.light-mode .footer-logo { color: var(--white); }
  body.light-mode footer { background: var(--dark); }
  body.light-mode .why-cta-block { background: var(--blue); color: #fff; }
  body.light-mode .why-cta-block p { color: rgba(255,255,255,0.85); }
  body.light-mode .form-group input,
  body.light-mode .form-group textarea,
  body.light-mode .form-group select { background: #fff; color: #1A1A1A; border-color: #ccc; }
  body.light-mode .nav-links a { color: #444; }
  body.light-mode .mobile-nav-list li a { color: #1A1A1A; }
  body.light-mode .hamburger span { background: #1A1A1A; }

  /* Botones flotantes izquierda (por encima del menú móvil y nav) */
  .scroll-top-btn {
    position: fixed;
    left: auto;
    right: max(1.35rem, env(safe-area-inset-right, 0px));
    bottom: max(1.35rem, env(safe-area-inset-bottom, 0px));
    z-index: 10002;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    border: none;
    padding: 0;
    cursor: pointer;
    background: var(--orange);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 22px rgba(0, 0, 0, 0.35);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease, background 0.2s, box-shadow 0.2s;
  }
  .scroll-top-btn--visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
  .scroll-top-btn:hover { background: var(--orange-light); box-shadow: 0 6px 28px rgba(184, 134, 26, 0.4); }
  .scroll-top-btn--visible:hover { transform: scale(1.06); }
  .scroll-top-btn:focus-visible {
    outline: 2px solid var(--orange-light);
    outline-offset: 3px;
  }
  .scroll-top-btn svg { width: 28px; height: 28px; display: block; }
  @media (prefers-reduced-motion: reduce) {
    .scroll-top-btn { transition: none; }
    .scroll-top-btn--visible:hover { transform: none; }
  }

  .whatsapp-float {
    position: fixed;
    left: max(1.35rem, env(safe-area-inset-left, 0px));
    right: auto;
    bottom: max(1.35rem, env(safe-area-inset-bottom, 0px));
    z-index: 10002;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 22px rgba(0, 0, 0, 0.35);
    text-decoration: none;
    pointer-events: auto;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  .whatsapp-float:hover {
    transform: scale(1.06);
    box-shadow: 0 6px 28px rgba(37, 211, 102, 0.45);
  }
  .whatsapp-float:focus-visible {
    outline: 2px solid var(--orange);
    outline-offset: 3px;
  }
  .whatsapp-float svg { width: 30px; height: 30px; display: block; }
  @media (prefers-reduced-motion: reduce) {
    .whatsapp-float { transition: none; }
    .whatsapp-float:hover { transform: none; }
  }