:root{
      --bg:#08111f;
      --bg-soft:#0f172a;
      --bg-soft-2:#111c31;
      --card:rgba(255,255,255,0.05);
      --card-2:rgba(255,255,255,0.03);
      --line:rgba(255,255,255,0.10);
      --text:#f8fafc;
      --muted:#94a3b8;
      --accent:#facc15;
      --accent-2:#eab308;
      --success:#25d366;
      --danger:#ef4444;
      --shadow:0 20px 50px rgba(0,0,0,.28);
      --radius:10px;
      --hero-overlay:linear-gradient(135deg, rgba(8,17,31,.92), rgba(15,23,42,.78));
      --glass:rgba(8,17,31,.72);
    }

    body.light-mode{
      --bg:#eef3f9;
      --bg-soft:#f7fafc;
      --bg-soft-2:#ffffff;
      --card:rgba(255,255,255,0.88);
      --card-2:rgba(255,255,255,0.72);
      --line:rgba(15,23,42,0.08);
      --text:#0f172a;
      --muted:#475569;
      --accent:#d4a800;
      --accent-2:#c49300;
      --shadow:0 20px 50px rgba(15,23,42,.08);
      --hero-overlay:linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,255,255,.75));
      --glass:rgba(255,255,255,.84);
    }

    *{
      box-sizing:border-box;
      -webkit-tap-highlight-color:transparent;
    }

    html,body{
      margin:0;
      padding:0;
      overflow-x:hidden;
      scroll-behavior:auto;
    }

    body{
      font-family:"Inter",sans-serif;
      color:var(--text);
      background:
        radial-gradient(circle at top right, rgba(250,204,21,.12), transparent 18%),
        radial-gradient(circle at bottom left, rgba(148,163,184,.10), transparent 25%),
        linear-gradient(135deg, var(--bg) 0%, var(--bg-soft) 45%, var(--bg-soft-2) 100%);
      transition:background .35s ease,color .35s ease;
    }

    img{
      max-width:100%;
      display:block;
    }

    a{
      color:inherit;
      text-decoration:none;
    }

    button,input,textarea,select{
      font:inherit;
    }

    .container{
      width:min(100% - 1.5rem, 1240px);
      margin-inline:auto;
    }

    .section{
      padding:88px 0;
      position:relative;
      scroll-margin-top:110px;
    }

    .section-sm{
      padding:70px 0;
      scroll-margin-top:110px;
    }

    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:.65rem;
      padding:.7rem 1rem;
      border:1px solid rgba(250,204,21,.18);
      border-radius:999px;
      background:rgba(250,204,21,.10);
      color:var(--accent);
      font-size:.78rem;
      font-weight:500;
      text-transform:uppercase;
      letter-spacing:.18em;
    }

    .eyebrow-dot{
      width:8px;
      height:8px;
      border-radius:999px;
      background:var(--accent);
      box-shadow:0 0 14px rgba(250,204,21,.45);
    }

    .title-xl,
    .title-lg,
    .title-md{
      font-family:"Rajdhani",sans-serif;
      letter-spacing:.02em;
    }

    .title-xl{
      font-size:clamp(2.4rem, 5vw, 5.3rem);
      line-height:.92;
      margin:0;
    }

    .title-lg{
      font-size:clamp(2rem, 4vw, 3.4rem);
      line-height:.95;
      margin:0;
    }

    .title-md{
      font-size:clamp(1.35rem, 2vw, 2rem);
      line-height:1;
      margin:0;
    }

    .muted{
      color:var(--muted);
    }

    .lead{
      font-size:clamp(1rem,1.35vw,1.08rem);
      line-height:1.8;
      color:var(--muted);
    }

    .panel,
    .stat,
    .service-card,
    .contact-card,
    .about-card,
    .steps-card,
    .area-card,
    .munck-card,
    .slider-shell{
      position:relative;
      border:1px solid var(--line);
      background:linear-gradient(180deg, var(--card), var(--card-2));
      backdrop-filter:blur(14px);
      -webkit-backdrop-filter:blur(14px);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      overflow:hidden;
    }

    .panel::before,
    .stat::before,
    .service-card::before,
    .contact-card::before,
    .about-card::before,
    .steps-card::before,
    .area-card::before,
    .munck-card::before,
    .slider-shell::before{
      content:"";
      position:absolute;
      inset:0;
      border-radius:inherit;
      padding:1px;
      background:linear-gradient(135deg, rgba(250,204,21,.22), rgba(255,255,255,.06), rgba(250,204,21,.05));
      -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite:xor;
      mask-composite:exclude;
      pointer-events:none;
    }

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:.7rem;
      min-height:56px;
      padding:0 1.35rem;
      border-radius:10px;
      font-weight:600;
      transition:.28s ease;
      cursor:pointer;
      border:none;
    }

    .btn-primary{
      background:linear-gradient(135deg, var(--accent), var(--accent-2));
      color:#0f172a;
      box-shadow:0 14px 35px rgba(250,204,21,.22);
    }

    .btn-primary:hover{
      transform:translateY(-2px);
      box-shadow:0 20px 42px rgba(250,204,21,.30);
    }

    .btn-outline{
      color:var(--text);
      background:rgba(255,255,255,.04);
      border:1px solid var(--line);
    }

    body.light-mode .btn-outline{
      background:rgba(15,23,42,.04);
    }

    .btn-outline:hover{
      transform:translateY(-2px);
      border-color:rgba(250,204,21,.26);
    }

    .navbar-wrap{
      position:fixed;
      top:0;
      left:0;
      right:0;
      z-index:1000;
    }

    .navbar{
      background:var(--glass);
      border-bottom:1px solid var(--line);
      backdrop-filter:blur(16px);
      -webkit-backdrop-filter:blur(16px);
      transition:.3s ease;
    }

    .navbar.scrolled{
      box-shadow:0 16px 40px rgba(0,0,0,.12);
      background:color-mix(in srgb, var(--glass) 92%, black 8%);
    }

    .nav-inner{
      width:min(100% - 1.2rem, 1280px);
      margin:0 auto;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:1rem;
      padding:.9rem 0;
    }

    .brand-wrap{
      display:flex;
      align-items:center;
      min-width:0;
    }

    .logo-image-wrap{
      display:flex;
      align-items:center;
      min-width:0;
      flex-shrink:0;
    }

    .site-logo{
      display:block;
      width:auto;
      height:68px;
      object-fit:contain;
      cursor:pointer;
      transition:transform .35s ease, filter .35s ease, drop-shadow .35s ease;
      transform-origin:center;
    }

    .site-logo:active{
      transform:scale(.96);
    }

    .logo-image-wrap,
    .footer-logo-wrap{
      transition:transform .3s ease, opacity .3s ease;
    }

    .logo-image-wrap.is-clicking,
    .footer-logo-wrap.is-clicking{
      transform:translateY(-1px) scale(.985);
      opacity:.96;
    }

    .brand-wrap:hover .site-logo,
    .logo-image-wrap:hover .site-logo{
      transform:translateY(-2px) scale(1.03) rotate(-1.5deg);
      filter:drop-shadow(0 10px 20px rgba(250,204,21,.18));
    }

    .footer-logo{
      height:82px;
      margin:0 auto;
    }

    .nav-menu{
      display:flex;
      align-items:center;
      gap:1.7rem;
    }

    .nav-link{
      position:relative;
      font-size:.96rem;
      font-weight:500;
      color:var(--text);
      transition:color .28s ease, transform .28s ease, opacity .28s ease;
    }

    .nav-link::after{
      content:"";
      position:absolute;
      left:0;
      bottom:-.45rem;
      width:0;
      height:2px;
      background:var(--accent);
      transition:width .28s ease;
    }

    .nav-link:hover::after,
    .nav-link.is-active::after{
      width:100%;
    }

    .nav-link.is-active,
    .mobile-link.is-active{
      color:var(--accent);
    }

    .nav-link:active,
    .mobile-link:active{
      transform:scale(.98);
    }

    .nav-link.is-clicking,
    .mobile-link.is-clicking{
      color:var(--accent);
      transform:translateY(-1px) scale(1.02);
    }

    .nav-actions{
      display:flex;
      align-items:center;
      gap:.8rem;
    }

    .theme-toggle,
    .menu-toggle,
    .slider-btn{
      width:46px;
      height:46px;
      border-radius:10px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.04);
      color:var(--text);
      display:grid;
      place-items:center;
      cursor:pointer;
      transition:.25s ease;
    }

    body.light-mode .theme-toggle,
    body.light-mode .menu-toggle,
    body.light-mode .slider-btn{
      background:rgba(15,23,42,.04);
    }

    .theme-toggle:hover,
    .menu-toggle:hover,
    .slider-btn:hover{
      transform:translateY(-2px) scale(1.06);
      border-color:rgba(250,204,21,.26);
      background:rgba(250,204,21,.18);
    }

    .theme-toggle{
      position:relative;
      overflow:hidden;
      flex:0 0 auto;
    }

    .theme-icon{
      position:relative;
      width:22px;
      height:22px;
      display:block;
    }

    .theme-icon-svg{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      stroke:currentColor;
      fill:none;
      stroke-width:1.9;
      stroke-linecap:round;
      stroke-linejoin:round;
      transition:transform .38s ease, opacity .28s ease, filter .28s ease;
      transform-origin:center;
    }

    .sun-icon{
      opacity:0;
      transform:scale(.55) rotate(-65deg);
    }

    .moon-icon{
      opacity:1;
      transform:scale(1) rotate(0deg);
    }

    body.light-mode .sun-icon{
      opacity:1;
      transform:scale(1) rotate(0deg);
    }

    body.light-mode .moon-icon{
      opacity:0;
      transform:scale(.55) rotate(70deg);
    }

    .theme-toggle:hover .sun-icon,
    .theme-toggle:hover .moon-icon{
      filter:drop-shadow(0 0 10px rgba(250,204,21,.22));
    }

    .menu-toggle{
      display:none;
    }


    .mobile-nav{
      display:grid;
      gap:.65rem;
    }

    .mobile-link{
      padding:1rem 1rem;
      border:1px solid var(--line);
      border-radius:10px;
      background:rgba(255,255,255,.04);
      font-weight:600;
      transition:transform .28s ease, color .28s ease, border-color .28s ease, background .28s ease;
    }

    body.light-mode .mobile-link{
      background:rgba(15,23,42,.04);
    }

    .mobile-link:hover{
      border-color:rgba(250,204,21,.26);
      transform:translateX(4px);
    }

    .hero{
      min-height:100svh;
      display:grid;
      align-items:center;
      padding-top:126px;
      position:relative;
      overflow:hidden;
    }

    .hero-grid{
      display:grid;
      grid-template-columns:1.08fr .92fr;
      gap:2rem;
      align-items:center;
      padding:2rem 0 4rem;
    }

    .hero-copy{
      position:relative;
      z-index:2;
    }

    .hero-copy .sub{
      margin:.8rem 0 0;
      font-family:"Rajdhani",sans-serif;
      font-size:clamp(1.15rem,2vw,1.7rem);
      font-weight:600;
      color:color-mix(in srgb, var(--text) 92%, transparent);
    }

    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:1rem;
      margin-top:2rem;
    }

    .hero-points{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:1rem;
      margin-top:2rem;
    }

    .stat{
      padding:1.1rem;
    }

    .stat strong{
      display:block;
      font-family:"Rajdhani",sans-serif;
      font-size:2rem;
      color:var(--accent);
      line-height:.95;
    }

    .hero-visual{
      position:relative;
      z-index:1;
    }

    .hero-frame{
      position:relative;
      padding:.6rem;
      border-radius:10px;
      overflow:hidden;
    }

    .hero-media{
      position:relative;
      border-radius:10px;
      overflow:hidden;
      min-height:640px;
      background:
        linear-gradient(135deg, rgba(8,17,31,.65), rgba(15,23,42,.42)),
        url(../assets/hero.jpg) center center/cover no-repeat;
      background-size:cover;
    }


    .hero-badge-panel{
      position:absolute;
      left:18px;
      right:18px;
      bottom:18px;
      padding:1rem;
      border-radius:10px;
      border:1px solid var(--line);
      background:rgba(8,17,31,.56);
      backdrop-filter:blur(12px);
    }

    body.light-mode .hero-badge-panel{
      background:rgba(255,255,255,.72);
    }

    .hero-chip-wrap{
      display:flex;
      flex-wrap:wrap;
      gap:.6rem;
      margin-bottom:.85rem;
    }

    .chip{
      padding:.5rem .8rem;
      border-radius:10px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.04);
      font-size:.82rem;
      font-weight:700;
      color:var(--text);
    }

    .hero-bg-grid{
      position:absolute;
      inset:0;
      background-image:
        linear-gradient(rgba(148,163,184,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148,163,184,.06) 1px, transparent 1px);
      background-size:40px 40px;
      mask-image:radial-gradient(circle at center, black 40%, transparent 88%);
      pointer-events:none;
      opacity:.55;
    }

    .section-head{
      max-width:760px;
      margin-bottom:2.2rem;
    }

    .services-grid{
      display:grid;
      grid-template-columns:repeat(12,1fr);
      gap:1rem;
    }

    .service-card{
      padding:1.1rem;
      transition:.32s ease;
    }

    .service-card:hover{
      transform:translateY(-6px);
      border-color:rgba(250,204,21,.26);
    }

    .service-card.span-4{grid-column:span 4;}
    .service-card.span-6{grid-column:span 6;}

    .service-image{
      height:220px;
      border-radius:10px;
      overflow:hidden;
      margin-bottom:1rem;
      position:relative;
    }

    .service-image img{
      width:100%;
      height:100%;
      object-fit:cover;
      transition:transform .55s ease, filter .55s ease;
    }

    .service-card:hover .service-image img{
      transform:scale(1.04);
      filter:brightness(1.08) saturate(1.08) contrast(1.04);
    }

    .service-image::before{
      content:"";
      position:absolute;
      inset:-20% auto auto -120%;
      width:58%;
      height:160%;
      background:linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent);
      transform:rotate(16deg);
      transition:transform .7s ease;
      z-index:2;
      pointer-events:none;
    }

    .service-card:hover .service-image::before{
      transform:translateX(280%) rotate(16deg);
    }

    .service-image::after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(to top, rgba(8,17,31,.66), rgba(8,17,31,.15));
    }

    .service-list{
      margin:1rem 0 0;
      padding:0;
      list-style:none;
      display:grid;
      gap:.7rem;
    }

    .service-list li{
      display:flex;
      align-items:flex-start;
      gap:.7rem;
      color:var(--muted);
      line-height:1.65;
      font-size:.96rem;
    }

    .service-list li::before{
      content:"";
      width:10px;
      height:10px;
      border-radius:999px;
      background:var(--accent);
      margin-top:.45rem;
      flex:0 0 auto;
      box-shadow:0 0 12px rgba(250,204,21,.35);
    }


    .service-list-icons li{
      display:flex;
      align-items:flex-start;
      gap:.7rem;
    }

    .service-list-icons li::before{
      display:none;
    }

    .service-list-icons .icon{
      width:20px;
      height:20px;
      flex:0 0 auto;
      margin-top:.25rem;
      color:var(--accent);
    }

    .service-list-icons .icon svg{
      width:100%;
      height:100%;
      stroke:currentColor;
      fill:none;
      stroke-width:2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    .service-list-icons .icon-trust{
      color:#22c55e;
    }

    .service-list-icons .highlight-item{
      font-weight:500;
    }

    .slider-shell{
      width:100%;
      padding:0;
      height:min(72vh, 760px);
      min-height:480px;
      display:flex;
      flex-direction:column;
      border-radius:10px;
      overflow:hidden;
      position:relative;
    }

    .slider-top{
      position:absolute;
      top:0;
      left:0;
      right:0;
      z-index:5;
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:1rem;
      padding:2rem;
      flex-wrap:wrap;
      background:linear-gradient(to bottom, rgba(0,0,0,.66), transparent);
    }

    .slider-actions{
      display:flex;
      gap:.7rem;
    }

    .slider-viewport{
      overflow:hidden;
      border-radius:10px;
      position:relative;
      flex:1;
      height:100%;
    }

    .slider-track{
      display:flex;
      transition:transform 1.8s cubic-bezier(.22,.61,.36,1);
      will-change:transform;
    }

    .slide{
      min-width:100%;
      height:min(72vh, 760px);
      min-height:480px;
      position:relative;
      overflow:hidden;
    }

    .slide-media{
      position:relative;
      height:100%;
      min-height:unset;
      overflow:hidden;
      border-radius:10px;
    }

    .slide-media img{
      width:100%;
      height:100%;
      min-height:unset;
      object-fit:cover;
      transform:scale(1.04);
      transition:transform 1.05s ease, filter .6s ease;
    }

    .slide:hover .slide-media img{
      transform:scale(1.07);
      filter:brightness(1.08) saturate(1.06) contrast(1.04);
    }

    .slide.active .slide-media img{
      transform:scale(1.08);
    }

    .slide-overlay{
      position:absolute;
      inset:0;
      background:
        linear-gradient(to top, rgba(0,0,0,.86), rgba(0,0,0,.22)),
        linear-gradient(to right, rgba(0,0,0,.72), transparent 58%);
      display:flex;
      align-items:flex-end;
      padding:3rem;
    }

    .slide-content{
      max-width:720px;
    }

    .slide-kicker{
      display:inline-flex;
      align-items:center;
      gap:.5rem;
      padding:.55rem .85rem;
      border:1px solid rgba(250,204,21,.2);
      border-radius:10px;
      background:rgba(250,204,21,.12);
      color:var(--accent);
      font-size:.78rem;
      font-weight:700;
      text-transform:uppercase;
      letter-spacing:.14em;
      margin-bottom:1rem;
    }

    .slide-title{
      font-family:"Rajdhani",sans-serif;
      font-size:clamp(2rem,4vw,3.5rem);
      line-height:.95;
      margin:0 0 1rem;
    }

    .slide-text{
      color:rgba(255,255,255,.9);
      font-size:clamp(1rem,1.3vw,1.08rem);
      line-height:1.85;
      margin:0;
      max-width:62ch;
    }

    body.light-mode .slide-text{
      color:#334155;
    }

    .slider-dots{
      position:absolute;
      left:50%;
      bottom:20px;
      transform:translateX(-50%);
      display:flex;
      justify-content:center;
      gap:.55rem;
      margin-top:0;
      flex-wrap:wrap;
      z-index:6;
    }

    .slider-dot{
      width:12px;
      height:12px;
      border-radius:999px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.16);
      cursor:pointer;
      transition:.28s ease;
      padding:0;
    }

    body.light-mode .slider-dot{
      background:rgba(15,23,42,.12);
    }

    .slider-dot.active{
      width:34px;
      background:var(--accent);
      border-color:transparent;
    }

    .about-grid,
    .contact-grid-main,
    .munck-grid,
    .steps-grid,
    .areas-grid{
      display:grid;
      gap:1rem;
    }

    .about-grid{
      grid-template-columns:1fr 1fr;
    }

    .about-card,
    .steps-card,
    .area-card,
    .munck-card,
    .contact-card{
      padding:1.5rem;
    }

    .steps-grid{
      grid-template-columns:repeat(4,1fr);
    }

    .step-number{
      width:48px;
      height:48px;
      border-radius:10px;
      display:grid;
      place-items:center;
      background:rgba(250,204,21,.12);
      color:var(--accent);
      font-family:"Rajdhani",sans-serif;
      font-size:1.45rem;
      font-weight:700;
      margin-bottom:1rem;
    }

    .munck-grid{
      grid-template-columns:1.05fr .95fr;
      align-items:center;
    }

    .munck-media{
      min-height:460px;
      border-radius:10px;
      background:
        linear-gradient(135deg, rgba(8,17,31,.82), rgba(8,17,31,.58)),
        url("https://images.unsplash.com/photo-1504307651254-35680f356dfd?auto=format&fit=crop&w=1400&q=80") center/cover no-repeat;
    }

    .areas-grid{
      grid-template-columns:repeat(4,1fr);
    }

    .area-card{
      padding:1.2rem;
      text-align:center;
      font-weight:700;
      color:var(--text);
    }

    .contact-grid-main{
      display:grid;
      grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
      align-items:start;
      gap:1.5rem;
    }

    .contact-info-column,
    .contact-form-column{
      min-width:0;
    }

    .contact-form-column .contact-card{
      height:100%;
    }

    .contact-info-grid{
      display:grid;
      gap:1rem;
      margin-top:1.4rem;
    }

    .contact-item{
      display:flex;
      gap:.9rem;
      padding:1rem;
      border-radius:10px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.04);
      transition:transform .28s ease, border-color .28s ease, box-shadow .28s ease, background .28s ease;
    }

    .contact-item:hover{
      transform:translateY(-4px);
      border-color:rgba(250,204,21,.28);
      box-shadow:0 18px 32px rgba(0,0,0,.16);
    }

    body.light-mode .contact-item{
      background:rgba(15,23,42,.04);
    }

    .contact-icon{
      width:44px;
      height:44px;
      border-radius:10px;
      background:rgba(250,204,21,.12);
      color:var(--accent);
      display:grid;
      place-items:center;
      flex:0 0 auto;
      transition:transform .3s ease, background .3s ease, box-shadow .3s ease, color .3s ease;
      box-shadow:0 0 0 0 rgba(250,204,21,0);
    }

    .contact-item:hover .contact-icon{
      transform:translateY(-2px) scale(1.08) rotate(-4deg);
      background:rgba(250,204,21,.2);
      box-shadow:0 12px 24px rgba(250,204,21,.16);
    }

    .contact-icon svg{
      width:22px;
      height:22px;
      stroke:currentColor;
      fill:none;
      stroke-width:1.9;
      stroke-linecap:round;
      stroke-linejoin:round;
      transition:transform .3s ease;
    }

    .contact-item:hover .contact-icon svg{
      transform:scale(1.04);
    }

    .area-banner{
      position:relative;
      padding:2.6rem 2.2rem;
      border-radius:var(--radius);
      overflow:hidden;
      border:1px solid var(--line);
      background:
        linear-gradient(115deg, rgba(8,17,31,.92) 0%, rgba(8,17,31,.78) 46%, rgba(8,17,31,.58) 100%),
        url("https://images.unsplash.com/photo-1581092921461-eab62e97a780?auto=format&fit=crop&w=1600&q=80") center/cover no-repeat;
      box-shadow:var(--shadow);
      min-height:320px;
      display:flex;
      align-items:center;
      isolation:isolate;
    }

    .area-banner::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at top right, rgba(250,204,21,.18), transparent 30%),
        linear-gradient(90deg, rgba(250,204,21,.08), transparent 55%);
      z-index:0;
      pointer-events:none;
    }

    .area-banner-copy{
      position:relative;
      z-index:1;
      max-width:720px;
      display:flex;
      flex-direction:column;
      justify-content:center;
    }

    .area-banner-list{
      display:flex;
      flex-wrap:wrap;
      gap:.75rem;
      margin-top:1.3rem;
    }

    .area-pill{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:.82rem 1rem;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.12);
      background:rgba(255,255,255,.08);
      backdrop-filter:blur(10px);
      -webkit-backdrop-filter:blur(10px);
      font-weight:700;
      color:#f8fafc;
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
    }

    body.light-mode .area-pill{
      background:rgba(255,255,255,.16);
      color:#f8fafc;
      border-color:rgba(255,255,255,.16);
    }

    .location-card{
      margin-top:1.5rem;
      padding:1rem;
      border-radius:var(--radius);
      border:1px solid var(--line);
      background:linear-gradient(180deg, var(--card), var(--card-2));
      backdrop-filter:blur(14px);
      -webkit-backdrop-filter:blur(14px);
      box-shadow:var(--shadow);
      position:relative;
      overflow:hidden;
      width:100%;
      grid-column:1 / -1;
    }

    .location-card::before{
      content:"";
      position:absolute;
      inset:0;
      border-radius:inherit;
      padding:1px;
      background:linear-gradient(135deg, rgba(250,204,21,.22), rgba(255,255,255,.06), rgba(250,204,21,.05));
      -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
      -webkit-mask-composite:xor;
      mask-composite:exclude;
      pointer-events:none;
    }

    .location-header{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:1rem;
      flex-wrap:wrap;
      margin-bottom:1rem;
      position:relative;
      z-index:1;
    }

    .location-title{
      margin:0 0 1rem;
      position:relative;
      z-index:1;
    }

    .location-actions{
      margin-top:1rem;
      display:flex;
      justify-content:flex-end;
      flex-wrap:wrap;
      gap:.8rem;
    }

    body.light-mode .navbar,
    body.light-mode .navbar.scrolled{
      background:rgba(8,17,31,.72);
      border-bottom:1px solid rgba(255,255,255,.10);
      color:#f8fafc;
    }

    body.light-mode .nav-link,
    body.light-mode .menu-toggle,
    body.light-mode .navbar .theme-toggle{
      color:#f8fafc;
    }

    body.light-mode .menu-toggle,
    body.light-mode .navbar .theme-toggle{
      background:rgba(255,255,255,.04);
      border-color:rgba(255,255,255,.10);
    }

    body.light-mode .footer{
      background:#08111f;
      border-top:1px solid rgba(255,255,255,.10);
    }

    body.light-mode .footer .muted{
      color:#94a3b8;
    }

    .menu-toggle{
      overflow:hidden;
    }

    .menu-toggle-box{
      position:relative;
      width:20px;
      height:14px;
      display:block;
    }

    .menu-toggle-line{
      position:absolute;
      left:0;
      width:100%;
      height:2px;
      border-radius:999px;
      background:currentColor;
      transition:transform .32s ease, opacity .22s ease, top .32s ease;
      transform-origin:center;
    }

    .menu-toggle-line:nth-child(1){ top:0; }
    .menu-toggle-line:nth-child(2){ top:6px; }
    .menu-toggle-line:nth-child(3){ top:12px; }

    .menu-toggle.is-open .menu-toggle-line:nth-child(1){
      top:6px;
      transform:rotate(45deg);
    }

    .menu-toggle.is-open .menu-toggle-line:nth-child(2){
      opacity:0;
      transform:scaleX(.2);
    }

    .menu-toggle.is-open .menu-toggle-line:nth-child(3){
      top:6px;
      transform:rotate(-45deg);
    }

    .mobile-menu{
      display:block;
      max-height:0;
      opacity:0;
      overflow:hidden;
      border-top:1px solid transparent;
      padding:0;
      transform:translateY(-8px);
      pointer-events:none;
      transition:max-height .38s ease, opacity .28s ease, transform .28s ease, padding .28s ease, border-color .28s ease;
    }

    .mobile-menu.open{
      max-height:420px;
      opacity:1;
      padding:1rem 0 1.2rem;
      transform:translateY(0);
      pointer-events:auto;
      border-top-color:var(--line);
    }

    .socials{
      display:flex;
      flex-wrap:wrap;
      gap:.8rem;
      margin-top:1.2rem;
    }

    .social{
      padding:.85rem 1rem;
      border-radius:10px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.04);
      font-weight:700;
      transition:.25s ease;
    }

    body.light-mode .social{
      background:rgba(15,23,42,.04);
    }

    .social:hover{
      transform:translateY(-2px);
      border-color:rgba(250,204,21,.26);
      color:var(--accent);
    }

    .form-grid{
      display:grid;
      gap:1rem;
    }

    .input,
    .textarea,
    .select{
      width:100%;
      border:1px solid var(--line);
      background:rgba(255,255,255,.04);
      color:var(--text);
      border-radius:10px;
      padding:0 1rem;
      min-height:56px;
      transition:.25s ease;
    }

    .select{
      background:rgba(255,255,255,.10);
      color:var(--text);
      -webkit-appearance:none;
      appearance:none;
    }

    .select option{
      background:#0f172a;
      color:#f8fafc;
    }

    body.light-mode .input,
    body.light-mode .textarea,
    body.light-mode .select{
      background:rgba(15,23,42,.04);
    }

    .textarea{
      padding-top:1rem;
      min-height:150px;
      resize:vertical;
    }

    .input::placeholder,
    .textarea::placeholder{
      color:var(--muted);
    }

    .input:focus,
    .textarea:focus,
    .select:focus{
      outline:none;
      background:rgba(255,255,255,.14);
      border-color:rgba(250,204,21,.55);
      box-shadow:0 0 0 4px rgba(250,204,21,.10);
    }

    .invalid{
      border-color:rgba(239,68,68,.8)!important;
      box-shadow:0 0 0 4px rgba(239,68,68,.12)!important;
    }

    .form-message{
      display:none;
      padding:1rem 1rem;
      border-radius:10px;
      font-size:.95rem;
      font-weight:600;
    }

    .form-message.show{
      display:block;
    }

    .form-message.success{
      background:rgba(37,211,102,.12);
      border:1px solid rgba(37,211,102,.24);
      color:#25d366;
    }

    .form-message.error{
      background:rgba(239,68,68,.10);
      border:1px solid rgba(239,68,68,.18);
      color:#ef4444;
    }

    .map-wrap{
      margin-top:0;
      border-radius:10px;
      overflow:hidden;
      border:1px solid var(--line);
      box-shadow:var(--shadow);
      background:rgba(255,255,255,.03);
      width:100%;
      position:relative;
      z-index:1;
    }

    .map-wrap iframe{
      width:100%;
      height:520px;
      min-height:520px;
      border:0;
      display:block;
    }

    .footer{
      border-top:1px solid var(--line);
      padding:0.6rem 0 3rem
    }

    .footer-inner{
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:.9rem;
      text-align:center;
    }

    .footer-logo-wrap{
      display:flex;
      justify-content:center;
      align-items:center;
    }

    .whatsapp-float{
      position:fixed;
      right:18px;
      bottom:18px;
      width:62px;
      height:62px;
      border-radius:999px;
      display:grid;
      place-items:center;
      background:#25D366;
      color:#fff;
      box-shadow:0 16px 40px rgba(0,0,0,.28);
      z-index:999;
      transition:.25s ease;
      animation:floatPulse 2s infinite;
    }

    .whatsapp-float:hover{
      transform:scale(1.04);
    }

    .whatsapp-float svg{
      width:32px;
      height:32px;
    }

    @keyframes floatPulse{
      0%{box-shadow:0 0 0 0 rgba(37,211,102,.38),0 16px 40px rgba(0,0,0,.28);}
      70%{box-shadow:0 0 0 18px rgba(37,211,102,0),0 16px 40px rgba(0,0,0,.28);}
      100%{box-shadow:0 0 0 0 rgba(37,211,102,0),0 16px 40px rgba(0,0,0,.28);}
    }

    .fade-up{
      opacity:0;
      transform:translateY(26px);
      transition:opacity .7s ease, transform .7s ease;
    }

    .fade-up.show{
      opacity:1;
      transform:none;
    }

    .section-highlight{
      animation:sectionFocus .85s ease;
    }

    @keyframes sectionFocus{
      0%{
        transform:translateY(10px);
        opacity:.82;
        filter:blur(1px);
      }
      100%{
        transform:translateY(0);
        opacity:1;
        filter:blur(0);
      }
    }

    /* ===== GALERIA COM HEADER ADAPTÁVEL E SLIDER FIXO NO DARK ===== */
    #galeria .section-head{
      position:relative;
      z-index:2;
    }

    #galeria .section-head .title-lg{
      color:var(--text);
    }

    #galeria .section-head .lead{
      color:var(--muted);
    }

    body.light-mode #galeria .section-head .title-lg{
      color:#0f172a;
    }

    body.light-mode #galeria .section-head .lead{
      color:#475569;
    }

    body.light-mode #galeria .section-head .eyebrow{
      background:rgba(250,204,21,.12);
      color:#b58900;
      border-color:rgba(250,204,21,.25);
    }

    #galeria .slider-shell,
    body.light-mode #galeria .slider-shell{
      background:linear-gradient(180deg, rgba(8,17,31,.95), rgba(8,17,31,.85)) !important;
      border:1px solid rgba(255,255,255,.08) !important;
    }

    #galeria .slider-top,
    #galeria .slider-top *,
    #galeria .slide-overlay,
    #galeria .slide-overlay *,
    #galeria .slider-btn,
    #galeria .slider-dots,
    #galeria .slider-dots *{
      color:#f8fafc !important;
    }

    #galeria .slide-overlay{
      background:
        linear-gradient(to top, rgba(0,0,0,.85), rgba(0,0,0,.2)),
        linear-gradient(to right, rgba(0,0,0,.7), transparent) !important;
    }

    #galeria .slider-btn{
      background:rgba(255,255,255,.08) !important;
      border:1px solid rgba(255,255,255,.15) !important;
      color:#fff !important;
    }

    #galeria .slider-dot{
      background:rgba(255,255,255,.2) !important;
    }

    #galeria .slider-dot.active{
      background:#facc15 !important;
    }

    #galeria .slider-top .muted,
    #galeria .slide-text{
      color:#cbd5e1 !important;
    }


    @media (max-width: 1100px){
      .hero-grid,
      .munck-grid,
      .about-grid{
        grid-template-columns:1fr;
      }

      .hero-media{
        min-height:520px;
      }

      .steps-grid{
        grid-template-columns:repeat(2,1fr);
      }

      .areas-grid{
        grid-template-columns:repeat(2,1fr);
      }

      .service-card.span-4,
      .service-card.span-6{
        grid-column:span 6;
      }

      .slider-shell{
        height:520px;
        min-height:520px;
      }

      .slide{
        height:520px;
        min-height:520px;
      }

      .slide-overlay{
        padding:2rem;
      }

      .area-banner{
        padding:2rem 1.5rem;
        min-height:280px;
      }
    }


    @media (max-width: 980px){
      .contact-grid-main{
        grid-template-columns:1fr;
      }
    }

    @media (max-width: 932px){
      .nav-menu,
      .nav-actions .desktop-cta{
        display:none;
      }

      .menu-toggle{
        display:grid;
      }

      .hero{
        padding-top:112px;
      }

      .hero-points{
        grid-template-columns:1fr;
      }

      .services-grid{
        grid-template-columns:1fr;
      }

      .service-card.span-4,
      .service-card.span-6{
        grid-column:auto;
      }

      .slide-overlay{
        padding:1.35rem;
      }

      .site-logo{
        height:58px;
      }

      .footer-logo{
        height:72px;
      }
    }

    @media (max-width: 640px){
      .section{
        padding:72px 0;
      }

      .section-sm{
        padding:56px 0;
      }

      .nav-inner{
        padding:.8rem 0;
      }

      .hero-grid{
        padding:1rem 0 3rem;
      }

      .hero-actions{
        flex-direction:column;
      }

      .btn{
        width:100%;
      }

      .hero-media{
        min-height:420px;
        background-position:center top;
        background-size:cover;
      }

      .service-image{
        height:200px;
      }

      .steps-grid,
      .areas-grid{
        grid-template-columns:1fr;
      }

      .map-wrap iframe{
        height:320px;
      }

      .whatsapp-float{
        right:14px;
        bottom:14px;
        width:58px;
        height:58px;
      }

      .slider-shell{
        height:420px;
        min-height:420px;
      }

      .slide{
        height:420px;
        min-height:420px;
      }

      .slider-top{
        align-items:flex-start;
        padding:1.2rem;
      }

      .slide-title{
        font-size:1.7rem;
      }

      .slide-overlay{
        padding:1.35rem;
      }

      .site-logo{
        height:50px;
      }

      .footer-logo{
        height:64px;
      }
    }


    @media (max-width: 932px) and (orientation: landscape){
      .hero-media{
        min-height:320px;
        background-position:center 28%;
        background-size:cover;
      }
    }

    @media (prefers-reduced-motion: reduce){
      *{
        animation:none!important;
        transition:none!important;
        scroll-behavior:auto!important;
      }

      .fade-up{
        opacity:1!important;
        transform:none!important;
      }
    }


    main > section:not(.hero){
      content-visibility:auto;
      contain-intrinsic-size: 900px;
    }

img[loading="lazy"]{content-visibility:auto;}
.service-image img,.slide-media img{backface-visibility:hidden;}
