:root{
    --bg:#0a0a0a;
    --bg-2:#111111;
    --bg-3:#161616;
    --line:#1f1f1f;
    --line-2:#2a2a2a;
    --text:#f5f5f5;
    --text-dim:#9a9a9a;
    --text-soft:#cfcfcf;
    --accent:#028f03;
    --accent-glow:#03b504;
    --accent-soft:rgba(2,143,3,.12);
    --accent-border:rgba(2,143,3,.35);
    --display:'Bebas Neue', 'Arial Narrow', sans-serif;
    --body:'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --nav-logo-h:96px;
    --nav-pad-y:24px;
    --nav-height:calc(var(--nav-logo-h) + var(--nav-pad-y));
  }

  @font-face{
    font-family:'Bebas Neue';
    font-style:normal;
    font-weight:400;
    font-display:swap;
    src:url('fonts/BebasNeue-Regular.ttf') format('truetype');
  }

  *{margin:0;padding:0;box-sizing:border-box}
  html{
    scroll-behavior:smooth;
    scroll-padding-top:calc(var(--nav-height) + 20px);
  }
  body{
    background:var(--bg);
    color:var(--text);
    font-family:var(--body);
    font-weight:300;
    line-height:1.6;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }

  /* ====== Grain overlay ====== */
  body::before{
    content:"";
    position:fixed;inset:0;
    pointer-events:none;
    z-index:1000;
    opacity:.04;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  }

  .container{max-width:1280px;margin:0 auto;padding:0 28px}

  /* ====== Headings ====== */
  h1,h2,h3,h4{
    font-family:var(--display);
    font-weight:400;
    letter-spacing:.02em;
    line-height:1;
    color:var(--text);
  }
  .eyebrow{
    font-family:var(--body);
    font-weight:500;
    font-size:11px;
    letter-spacing:.32em;
    text-transform:uppercase;
    color:var(--accent);
    display:inline-flex;
    align-items:center;
    gap:12px;
  }
  .eyebrow::before{
    content:"";
    width:28px;height:1px;
    background:var(--accent);
  }

  /* ====== Buttons ====== */
  .btn{
    display:inline-flex;
    align-items:center;
    gap:12px;
    padding:18px 32px;
    font-family:var(--body);
    font-weight:500;
    font-size:13px;
    letter-spacing:.12em;
    text-transform:uppercase;
    text-decoration:none;
    border:none;
    cursor:pointer;
    transition:all .35s cubic-bezier(.2,.8,.2,1);
    position:relative;
    overflow:hidden;
  }
  .btn-primary{
    background:var(--accent);
    color:#000;
  }
  .btn-primary:hover{
    background:var(--accent-glow);
    transform:translateY(-2px);
    box-shadow:0 12px 30px -10px var(--accent);
  }
  .btn-ghost{
    background:transparent;
    color:var(--text);
    border:1px solid var(--line-2);
  }
  .btn-ghost:hover{
    border-color:var(--accent);
    color:var(--accent);
  }
  .btn .arrow{
    display:inline-block;
    transition:transform .35s ease;
  }
  .btn:hover .arrow{transform:translateX(6px)}

  /* ====== NAV ====== */
  nav{
    position:fixed;
    top:0;left:0;right:0;
    z-index:100;
    backdrop-filter:blur(12px);
    background:rgba(10,10,10,.7);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:20px 28px;
    max-width:1280px;
    margin:0 auto;
  }
  .logo{
    display:flex;
    align-items:center;
    text-decoration:none;
  }
  .logo img{
    height:var(--nav-logo-h);
    width:auto;
    max-width:160px;
    display:block;
    object-fit:contain;
  }
  .nav-links{
    display:flex;
    gap:38px;
    list-style:none;
  }
  .nav-links a{
    color:var(--text-dim);
    text-decoration:none;
    font-size:13px;
    font-weight:400;
    letter-spacing:.1em;
    text-transform:uppercase;
    transition:color .25s ease;
    position:relative;
  }
  .nav-links a:hover{color:var(--accent)}
  .nav-cta{
    background:var(--accent);
    color:#000;
    padding:11px 22px;
    font-size:12px;
    font-weight:500;
    letter-spacing:.1em;
    text-transform:uppercase;
    text-decoration:none;
    transition:all .3s ease;
  }
  .nav-cta:hover{background:var(--accent-glow);box-shadow:0 0 24px -4px var(--accent)}
  .menu-toggle{display:none;background:none;border:none;color:var(--text);cursor:pointer}

  /* ====== HERO ====== */
  .hero{
    position:relative;
    min-height:100vh;
    padding:calc(var(--nav-height) + 48px) 0 100px;
    display:flex;
    align-items:center;
    overflow:hidden;
  }
  .hero .container{
    position:relative;
    z-index:3;
    padding-top:8px;
  }
  section[id]{scroll-margin-top:calc(var(--nav-height) + 20px)}
  .hero-bg{
    position:absolute;
    inset:0;
    z-index:0;
    background:url("casabannerfundo.webp") center/cover no-repeat;
  }
  .hero-bg::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.85);
    z-index:1;
  }
  .hero-bg::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    background:linear-gradient(to bottom, rgba(0,0,0,.35) 0%, rgba(0,0,0,.6) 100%);
    pointer-events:none;
  }
  .hero-lights{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    overflow:hidden;
  }
  .hero-light{
    position:absolute;
    border-radius:50%;
    filter:blur(80px);
    opacity:.55;
  }
  .hero-light--1{
    width:480px;height:480px;
    top:10%;left:-12%;
    background:radial-gradient(circle, var(--accent-glow) 0%, transparent 70%);
  }
  .hero-light--2{
    width:400px;height:400px;
    top:-8%;right:5%;
    background:radial-gradient(circle, rgba(3,181,4,.9) 0%, transparent 68%);
    opacity:.4;
  }
  .hero-light--3{
    width:360px;height:360px;
    bottom:-15%;right:20%;
    background:radial-gradient(circle, var(--accent) 0%, transparent 72%);
    opacity:.35;
  }
  .hero-grid{
    position:relative;
    z-index:3;
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:80px;
    align-items:center;
  }
  .hero-left .eyebrow{margin-bottom:32px}
  .hero h1{
    font-size:clamp(48px, 6.8vw, 96px);
    line-height:.92;
    margin-bottom:32px;
  }
  .hero h1 .accent{color:var(--accent)}
  .hero-sub{
    font-size:17px;
    color:var(--text-soft);
    max-width:520px;
    margin-bottom:44px;
  }
  .hero-ctas{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:36px;
  }
  .hero-micro{
    display:flex;
    gap:24px;
    flex-wrap:wrap;
    font-size:12px;
    color:var(--text-dim);
    letter-spacing:.06em;
  }
  .hero-micro span{display:flex;align-items:center;gap:8px}
  .hero-micro span::before{
    content:"";
    width:5px;height:5px;
    background:var(--accent);
    border-radius:50%;
  }

  /* Hero right card */
  .hero-card{
    position:relative;
    aspect-ratio:3/4;
    background:var(--bg-2);
    border:1px solid var(--line);
    overflow:hidden;
  }
  .hero-card::before{
    content:"";
    position:absolute;
    top:20px;left:20px;right:20px;bottom:20px;
    border:1px solid var(--accent-border);
    z-index:3;
    pointer-events:none;
  }
  .hero-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    filter:contrast(1.05) brightness(.85);
  }
  .hero-card picture{
    display:block;
    width:100%;
    height:100%;
  }
  .hero-card-label{
    position:absolute;
    bottom:36px;left:36px;
    z-index:4;
    font-family:var(--display);
    font-size:14px;
    letter-spacing:.3em;
    color:var(--text);
  }
  .hero-card-label::before{
    content:"";
    display:inline-block;
    width:30px;height:1px;
    background:var(--accent);
    margin-right:14px;
    vertical-align:middle;
  }
  .hero-card-num{
    position:absolute;
    top:36px;right:36px;
    z-index:4;
    font-family:var(--display);
    font-size:48px;
    color:var(--accent);
    line-height:1;
  }

  /* Stats bar (below hero) */
  section.stats-bar{
    padding:0;
    background:var(--accent);
    position:relative;
    z-index:2;
  }
  .stats-bar .container{padding:0;max-width:100%}
  .stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    max-width:1280px;
    margin:0 auto;
  }
  .stats-bar .stat{
    padding:36px 20px;
    border-right:1px solid rgba(0,0,0,.12);
    text-align:center;
  }
  .stats-bar .stat:last-child{border-right:none}
  .stats-bar .stat-num{
    font-family:var(--display);
    font-size:44px;
    color:#0a0a0a;
    line-height:1;
  }
  .stats-bar .stat-label{
    font-size:11px;
    color:rgba(0,0,0,.7);
    letter-spacing:.18em;
    text-transform:uppercase;
    margin-top:8px;
  }

  /* ====== SECTION BASE ====== */
  section{padding:140px 0;position:relative}
  #servicos,#galeria,#como-funciona,#quem-somos,#faq,.final{
    content-visibility:auto;
    contain-intrinsic-size:auto 800px;
  }
  .section-head{
    display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:80px;
    margin-bottom:80px;
    align-items:end;
  }
  .section-head h2{
    font-size:clamp(44px, 5.5vw, 84px);
    line-height:.95;
  }
  .section-head .lead{
    font-size:16px;
    color:var(--text-soft);
    max-width:520px;
  }

  /* ====== TRUST STRIP ====== */
  .trust{
    position:relative;
    padding:80px 0;
    background:url("IMG_7851.png.webp") center/cover no-repeat;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    overflow:hidden;
  }
  .trust::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.82);
    z-index:0;
  }
  .trust .container{
    position:relative;
    z-index:1;
  }
  .trust-grid{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:80px;
    align-items:center;
  }
  .trust h3{
    font-size:36px;
    line-height:1.05;
  }
  .trust h3 .accent{color:var(--accent)}
  .trust p{
    color:var(--text-soft);
    font-size:14px;
    margin-bottom:24px;
    max-width:560px;
  }
  .trust-tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
  }
  .tag{
    padding:9px 16px;
    border:1px solid var(--line-2);
    font-size:11px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--text-soft);
    transition:all .3s ease;
  }
  .tag:hover{border-color:var(--accent);color:var(--accent)}

  /* ====== SERVICES ====== */
  .services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    border-top:1px solid var(--line);
  }
  .service{
    padding:48px 36px 60px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    position:relative;
    transition:background .4s ease;
    overflow:hidden;
  }
  .service:last-child{border-right:none}
  .service:hover{background:var(--bg-2)}
  .service:hover .service-num{color:var(--accent)}
  .service:hover .service-icon{transform:translateY(-4px);border-color:var(--accent)}
  .service-num{
    font-family:var(--display);
    font-size:14px;
    letter-spacing:.3em;
    color:var(--text-dim);
    margin-bottom:36px;
    transition:color .35s ease;
  }
  .service-icon{
    width:64px;height:64px;
    border:1px solid var(--line-2);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:32px;
    transition:all .35s ease;
  }
  .service-icon svg{width:28px;height:28px;stroke:var(--accent);fill:none;stroke-width:1.5}
  .service h3{
    font-size:34px;
    margin-bottom:18px;
    line-height:1.05;
  }
  .service p{
    color:var(--text-soft);
    font-size:14px;
    line-height:1.7;
  }
  .service-cta-wrap{
    margin-top:64px;
    text-align:center;
  }

  /* ====== BENEFITS ====== */
  section.benefits{
    padding:72px 0 56px;
    background:var(--bg-2);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .benefits-grid{
    display:grid;
    grid-template-columns:1fr 1.4fr;
    gap:56px;
    align-items:start;
    margin-bottom:40px;
  }
  .benefits-left h2{
    font-size:clamp(40px,4.5vw,64px);
    margin-bottom:18px;
    line-height:.98;
  }
  .benefits-left .eyebrow{margin-bottom:0}
  .benefits-left h2[style]{margin-top:16px!important}
  .benefits-left h2 .accent{color:var(--accent)}
  .benefits-left p{
    color:var(--text-soft);
    font-size:15px;
  }
  .benefits-list{list-style:none}
  .benefits-list li{
    padding:22px 0;
    border-bottom:1px solid var(--line);
    display:grid;
    grid-template-columns:60px 1fr;
    gap:30px;
    align-items:center;
    transition:padding-left .3s ease;
  }
  .benefits-list li:hover{padding-left:14px}
  .benefits-list li:first-child{border-top:1px solid var(--line)}
  .benefit-num{
    font-family:var(--display);
    font-size:32px;
    color:var(--accent);
  }
  .benefit-title{
    font-family:var(--display);
    font-size:22px;
    letter-spacing:.04em;
  }
  /* ====== VIDEO (inside benefits) ====== */
  .benefits .video-banner{
    margin-top:0;
    padding:0;
    line-height:0;
  }
  .video-banner__inner{
    width:100%;
    max-width:100%;
    height:clamp(200px,28vh,320px);
    margin:0 auto;
    overflow:hidden;
    border-radius:2px;
    border:1px solid var(--line);
  }
  .video-banner__media{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center 72%;
    border-radius:2px;
  }

  /* ====== GALLERY ====== */
  .gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
  }
  .gallery-item{
    position:relative;
    overflow:hidden;
    aspect-ratio:4/3;
    background:var(--bg-2);
    border:1px solid var(--line);
    cursor:zoom-in;
  }
  .gallery-item picture{
    display:block;
    width:100%;
    height:100%;
  }
  .gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
    transition:transform .6s cubic-bezier(.2,.8,.2,1), filter .5s ease;
    filter:brightness(.92) contrast(1.08) saturate(.88);
  }
  .gallery-item:hover img{
    transform:scale(1.05);
    filter:brightness(1) contrast(1.12) saturate(1);
  }

  .gallery-cta{text-align:center;margin-top:64px}
  .gallery-more-wrap{text-align:center;margin-top:48px}
  .gallery-more-wrap[hidden],#gallery-more[hidden]{display:none}

  /* ====== LIGHTBOX ====== */
  .lightbox{
    position:fixed;
    inset:0;
    z-index:2000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
  }
  .lightbox[hidden]{display:none}
  .lightbox__backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.92);
    backdrop-filter:blur(6px);
  }
  .lightbox__figure{
    position:relative;
    z-index:1;
    margin:0;
    max-width:min(1200px,96vw);
    max-height:92vh;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .lightbox__img{
    max-width:100%;
    max-height:92vh;
    width:auto;
    height:auto;
    object-fit:contain;
    border:1px solid var(--line-2);
    box-shadow:0 24px 80px rgba(0,0,0,.55);
  }
  .lightbox__btn{
    position:absolute;
    z-index:2;
    border:none;
    background:rgba(10,10,10,.75);
    color:var(--text);
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .25s ease, color .25s ease, transform .25s ease;
    font-family:var(--display);
    line-height:1;
  }
  .lightbox__btn:hover{
    background:var(--accent);
    color:#000;
  }
  .lightbox__close{
    top:20px;
    right:20px;
    width:48px;
    height:48px;
    font-size:32px;
  }
  .lightbox__prev,
  .lightbox__next{
    top:50%;
    transform:translateY(-50%);
    width:52px;
    height:72px;
    font-size:40px;
  }
  .lightbox__prev{left:16px}
  .lightbox__next{right:16px}
  .lightbox__prev:hover,
  .lightbox__next:hover{transform:translateY(-50%) scale(1.05)}

  @media (max-width:768px){
    .lightbox{padding:12px}
    .lightbox__prev,.lightbox__next{width:44px;height:56px;font-size:32px}
    .lightbox__close{top:12px;right:12px;width:44px;height:44px;font-size:28px}
  }

  /* ====== HOW IT WORKS ====== */
  .how{
    position:relative;
    overflow:hidden;
    background:var(--bg-2);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .how-bg{
    position:absolute;
    inset:0;
    background-image:url("como-funciona-bg.webp");
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    opacity:.05;
    pointer-events:none;
    z-index:0;
  }
  .how .container{
    position:relative;
    z-index:1;
  }
  .steps{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:0;
    position:relative;
  }
  .steps::before{
    content:"";
    position:absolute;
    top:40px;
    left:10%;
    right:10%;
    height:1px;
    background:linear-gradient(to right, transparent, var(--accent) 20%, var(--accent) 80%, transparent);
    opacity:.4;
  }
  .step{
    text-align:center;
    padding:0 18px;
    position:relative;
  }
  .step-circle{
    width:80px;height:80px;
    border-radius:50%;
    background:var(--bg-2);
    border:1px solid var(--accent-border);
    margin:0 auto 28px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:var(--display);
    font-size:32px;
    color:var(--accent);
    position:relative;
    z-index:2;
    transition:all .35s ease;
  }
  .step:hover .step-circle{
    background:var(--accent);
    color:#000;
    transform:scale(1.06);
    box-shadow:0 0 30px -4px var(--accent);
  }
  .step h4{
    font-size:22px;
    margin-bottom:10px;
    letter-spacing:.04em;
  }
  .step p{
    color:var(--text-dim);
    font-size:13px;
    line-height:1.6;
  }
  .how-cta{text-align:center;margin-top:80px}

  /* ====== ABOUT ====== */
  .about-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:100px;
    align-items:stretch;
  }
  .about-left{
    display:flex;
    flex-direction:column;
  }
  .about-left .eyebrow{margin-bottom:28px}
  .about-left h2{
    font-size:clamp(44px,5.5vw,84px);
    margin-bottom:32px;
    line-height:.95;
  }
  .about-left p{
    color:var(--text-soft);
    font-size:15px;
    margin-bottom:24px;
  }
  .about-left .btn{margin-top:auto;padding-top:14px}

  .mvv{
    display:flex;
    flex-direction:column;
    gap:14px;
    margin-top:52px;
    min-height:0;
    flex:1;
  }
  .mvv-card{
    flex:1;
    display:grid;
    grid-template-columns:auto 1fr;
    grid-template-rows:auto 1fr;
    column-gap:16px;
    row-gap:10px;
    align-content:start;
    align-items:center;
    background:var(--bg-2);
    border:1px solid var(--line);
    padding:28px 32px;
    position:relative;
    overflow:hidden;
    transition:all .4s ease;
  }
  .mvv-card::before{
    content:"";
    position:absolute;
    top:0;left:0;
    width:3px;
    height:100%;
    background:var(--accent);
    transform:scaleY(0);
    transform-origin:top;
    transition:transform .4s ease;
  }
  .mvv-card:hover{border-color:var(--accent-border);transform:translateX(6px)}
  .mvv-card:hover::before{transform:scaleY(1)}
  .mvv-icon{
    width:48px;
    height:48px;
    grid-column:1;
    grid-row:1;
    border:1px solid var(--line-2);
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
    flex-shrink:0;
    transition:border-color .35s ease;
  }
  .mvv-card:hover .mvv-icon{border-color:var(--accent)}
  .mvv-icon svg{
    width:24px;
    height:24px;
    stroke:var(--accent);
    fill:none;
    stroke-width:1.5;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mvv-card h4{
    grid-column:2;
    grid-row:1;
    font-size:24px;
    color:var(--accent);
    margin:0;
    letter-spacing:.06em;
    align-self:center;
  }
  .mvv-card p{
    grid-column:1 / -1;
    grid-row:2;
    color:var(--text-soft);
    font-size:13.5px;
    line-height:1.7;
    margin:0;
  }

  /* ====== FAQ ====== */
  .faq-list{
    max-width:900px;
    margin:0 auto;
  }
  .faq-item{
    border-bottom:1px solid var(--line);
    padding:0;
  }
  .faq-q{
    width:100%;
    background:none;
    border:none;
    color:var(--text);
    font-family:var(--body);
    font-size:18px;
    font-weight:400;
    padding:32px 60px 32px 0;
    text-align:left;
    cursor:pointer;
    position:relative;
    transition:color .3s ease;
  }
  .faq-q::after{
    content:"+";
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    font-family:var(--display);
    font-size:32px;
    color:var(--accent);
    transition:transform .35s ease;
  }
  .faq-item.open .faq-q::after{transform:translateY(-50%) rotate(45deg)}
  .faq-item.open .faq-q{color:var(--accent)}
  .faq-q:hover{color:var(--accent)}
  .faq-a{
    max-height:0;
    overflow:hidden;
    transition:max-height .45s ease, padding .45s ease;
  }
  .faq-item.open .faq-a{
    max-height:300px;
    padding:0 60px 36px 0;
  }
  .faq-a p{
    color:var(--text-soft);
    font-size:15px;
    line-height:1.75;
  }

  /* ====== FINAL CTA ====== */
  .final{
    position:relative;
    overflow:hidden;
    text-align:center;
    padding:160px 0;
    background:var(--bg);
  }
  .final-bg{
    position:absolute;
    inset:0;
    background-image:url("solicitabanner.webp");
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    z-index:0;
  }
  .final::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.9);
    z-index:1;
  }
  .final .container{
    position:relative;
    z-index:2;
  }
  .final-content{
    position:relative;
    z-index:2;
    max-width:900px;
    margin:0 auto;
  }
  .final .eyebrow{margin-bottom:32px}
  .final h2{
    font-size:clamp(52px,7vw,108px);
    margin-bottom:32px;
    line-height:.95;
  }
  .final h2 .accent{color:var(--accent)}
  .final p{
    color:var(--text-soft);
    font-size:17px;
    margin-bottom:44px;
    max-width:620px;
    margin-left:auto;
    margin-right:auto;
  }
  .final-ctas{
    display:flex;
    gap:14px;
    justify-content:center;
    flex-wrap:wrap;
  }

  /* ====== FOOTER ====== */
  footer{
    background:var(--bg);
    border-top:1px solid var(--line);
    padding:80px 0 30px;
  }
  .footer-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr;
    gap:60px;
    margin-bottom:60px;
  }
  .footer-col h5{
    font-family:var(--display);
    font-size:18px;
    color:var(--accent);
    letter-spacing:.2em;
    margin-bottom:24px;
  }
  .footer-brand{
    display:inline-block;
    margin-bottom:18px;
    text-decoration:none;
  }
  .footer-brand img{
    height:130px;
    width:auto;
    max-width:180px;
    display:block;
    object-fit:contain;
  }
  .footer-col p{
    color:var(--text-dim);
    font-size:13.5px;
    line-height:1.7;
    margin-bottom:12px;
  }
  .footer-col a{
    display:block;
    color:var(--text-soft);
    text-decoration:none;
    padding:7px 0;
    font-size:14px;
    transition:color .25s ease, padding-left .25s ease;
  }
  .footer-col a:hover{color:var(--accent);padding-left:6px}
  .footer-col .contact-item{
    color:var(--text-soft);
    font-size:14px;
    padding:7px 0;
    display:flex;
    align-items:center;
    gap:10px;
  }
  .footer-col .contact-item svg{width:14px;height:14px;color:var(--accent)}
  .footer-bottom{
    padding-top:32px;
    border-top:1px solid var(--line);
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
  }
  .footer-bottom p{
    color:var(--text-dim);
    font-size:12px;
    letter-spacing:.06em;
  }
  .footer-bottom .cnpj{font-size:11px;color:#666}

  /* ====== WHATSAPP FLOAT ====== */
  .wa-float{
    position:fixed;
    bottom:28px;right:28px;
    width:60px;height:60px;
    border-radius:50%;
    background:var(--accent);
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:90;
    text-decoration:none;
    box-shadow:0 8px 30px -6px var(--accent);
    transition:transform .3s ease;
    animation:pulse 2.5s infinite;
  }
  .wa-float:hover{transform:scale(1.08)}
  .wa-float svg{width:28px;height:28px;fill:#000}

  /* ====== Animations ====== */
  @keyframes fadeUp{
    from{opacity:0;transform:translateY(28px)}
    to{opacity:1;transform:translateY(0)}
  }
  @keyframes fadeIn{
    from{opacity:0}
    to{opacity:1}
  }
  @keyframes pulse{
    0%,100%{box-shadow:0 8px 30px -6px var(--accent), 0 0 0 0 rgba(2,143,3,.6)}
    50%{box-shadow:0 8px 30px -6px var(--accent), 0 0 0 14px rgba(2,143,3,0)}
  }

  .reveal{opacity:0;transform:translateY(40px);transition:opacity .9s ease, transform .9s ease}
  .reveal.in{opacity:1;transform:translateY(0)}

  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .reveal{opacity:1;transform:none;transition:none}
    .wa-float{animation:none}
    .btn,.gallery-item img{transition:none}
  }

  /* ====== RESPONSIVE ====== */
  @media (max-width:1024px){
    .hero-grid{grid-template-columns:1fr;gap:60px}
    .hero-card{max-width:420px;margin:0 auto}
    .section-head{grid-template-columns:1fr;gap:30px}
    .services-grid{grid-template-columns:1fr}
    .service{border-right:none}
    section.benefits{padding:56px 0 40px}
    .benefits-grid{grid-template-columns:1fr;gap:36px;margin-bottom:28px}
    .video-banner__inner{height:clamp(180px,32vh,260px)}
    .about-grid{grid-template-columns:1fr;gap:60px}
    .mvv{margin-top:0;flex:none}
    .mvv-card{flex:none}
    .about-left .btn{margin-top:14px}
    .steps{grid-template-columns:repeat(2,1fr);gap:50px}
    .steps::before{display:none}
    .footer-grid{grid-template-columns:1fr 1fr}
  }
  @media (max-width:768px){
    .nav-links{display:none}
    .menu-toggle{display:block}
    .logo img{max-width:120px}
    nav{backdrop-filter:none;background:rgba(10,10,10,.96)}
    .hero-bg{background-image:url("casabannerfundo-mobile.webp")}
    .hero-lights{display:none}
    body::before{display:none}
    .reveal{opacity:1;transform:none;transition:none}
    .wa-float{animation:none}
    section{padding:90px 0}
    :root{--nav-logo-h:72px;--nav-pad-y:20px}
    .hero{padding:calc(var(--nav-height) + 32px) 0 80px;min-height:auto}
    .stats-grid{grid-template-columns:repeat(2,1fr)}
    .stats-bar .stat{border-bottom:1px solid rgba(0,0,0,.12)}
    .stats-bar .stat:nth-child(3),.stats-bar .stat:nth-child(4){border-bottom:none}
    .stats-bar .stat:nth-child(2){border-right:none}
    .trust-grid{grid-template-columns:1fr;gap:30px}
    .gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px}
    .steps{grid-template-columns:1fr;gap:40px}
    .footer-grid{grid-template-columns:1fr}
    .hero-ctas{flex-direction:column;align-items:stretch}
    .hero-ctas .btn{justify-content:center}
  }
