  :root{
    --bg: #060b16;
    --bg-2: #0a1526;
    --panel: #0d1c32;
    --line: #1c2f4c;
    --blue: #2f9bff;
    --blue-soft: #7dd3fc;
    --silver: #dbe6f2;
    --green: #4dffb0;
    --text: #e9f0f8;
    --muted: #7d8ba3;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--text);
    font-family:'Inter', sans-serif;
    overflow-x:hidden;
  }
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
  }
  h1,h2,h3, .display{
    font-family:'Chakra Petch', sans-serif;
    letter-spacing:0.01em;
  }
  .mono{ font-family:'IBM Plex Mono', monospace; }
  a{color:inherit; text-decoration:none;}
  :focus-visible{ outline:2px solid var(--blue-soft); outline-offset:3px; border-radius:4px; }
  .wrap{ max-width:1120px; margin:0 auto; padding:0 24px; }
  .chrome-text{
    background:linear-gradient(180deg, #ffffff 0%, var(--silver) 40%, #8fa4bd 60%, #dbe6f2 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }

  .bg-grid{
    position:fixed; inset:0; z-index:0; pointer-events:none;
    background-image:
      linear-gradient(var(--line) 1px, transparent 1px),
      linear-gradient(90deg, var(--line) 1px, transparent 1px);
    background-size: 42px 42px;
    opacity:0.3;
    mask-image: radial-gradient(ellipse 80% 60% at 50% 20%, black 40%, transparent 90%);
  }

  header{
    position:sticky; top:0; z-index:50;
    background:rgba(6,11,22,0.82);
    backdrop-filter: blur(10px);
    border-bottom:1px solid var(--line);
  }
  nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 24px; max-width:1120px; margin:0 auto;
  }
  .logo{
    display:flex; align-items:center; gap:10px;
    font-family:'Chakra Petch'; font-weight:700; font-size:1.05rem;
  }
  .logo img{
    width:38px; height:38px; border-radius:50%;
    box-shadow:0 0 14px rgba(47,155,255,0.6);
  }
  nav ul{ display:flex; gap:32px; list-style:none; }
  nav ul a{
    font-size:0.9rem; color:var(--muted); transition:color 0.2s;
  }
  nav ul a:hover{ color:var(--blue-soft); }
  .nav-cta{
    background:transparent; border:1px solid var(--blue); color:var(--blue-soft);
    padding:9px 18px; border-radius:4px; font-size:0.85rem; font-weight:500;
    font-family:'IBM Plex Mono'; transition:all 0.2s; cursor:pointer;
    display:inline-flex; align-items:center; gap:8px;
  }
  .nav-cta:hover{ background:var(--blue); color:#04121a; box-shadow:0 0 20px rgba(47,155,255,0.5); }
  .icon-sm{ width:15px; height:15px; }

  /* MENU MOBILE */
  .nav-toggle{
    display:none; background:transparent; border:1px solid var(--line);
    border-radius:6px; padding:9px; cursor:pointer; color:var(--text);
    align-items:center; justify-content:center;
  }
  .nav-toggle:hover{ border-color:var(--blue); }
  .nav-toggle svg{ width:20px; height:20px; }
  .nav-toggle .bar-close{ display:none; }
  .nav-toggle[aria-expanded="true"] .bar-open{ display:none; }
  .nav-toggle[aria-expanded="true"] .bar-close{ display:block; }

  /* HERO */
  .hero{
    position:relative; z-index:1;
    padding:90px 24px 70px;
    max-width:1120px; margin:0 auto;
    display:grid; grid-template-columns: 1.05fr 0.95fr; gap:48px; align-items:center;
  }
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-family:'IBM Plex Mono'; font-size:0.78rem; color:var(--green);
    border:1px solid rgba(77,255,176,0.3); background:rgba(77,255,176,0.06);
    padding:6px 12px; border-radius:20px; margin-bottom:22px;
  }
  .eyebrow .blip{
    width:6px; height:6px; border-radius:50%; background:var(--green);
    box-shadow:0 0 8px var(--green);
    animation: blink 1.6s ease-in-out infinite;
  }
  @keyframes blink{ 0%,100%{opacity:1;} 50%{opacity:0.25;} }
  .hero h1{
    font-size:clamp(2rem, 3.8vw, 3.1rem);
    line-height:1.1; font-weight:700;
    margin-bottom:20px;
  }
  .hero p{
    color:var(--muted); font-size:1.03rem; line-height:1.65;
    max-width:480px; margin-bottom:30px;
  }
  .hero-actions{ display:flex; gap:14px; flex-wrap:wrap; }
  .btn-primary{
    background:var(--blue); color:#04121a; border:none;
    padding:14px 26px; border-radius:5px; font-weight:600; font-size:0.95rem;
    cursor:pointer; transition:all 0.2s; display:inline-flex; align-items:center; gap:9px;
  }
  .btn-primary:hover{ box-shadow:0 0 28px rgba(47,155,255,0.55); transform:translateY(-1px); }
  .btn-ghost{
    background:transparent; border:1px solid var(--line); color:var(--text);
    padding:14px 26px; border-radius:5px; font-weight:500; font-size:0.95rem;
    cursor:pointer; transition:all 0.2s; display:inline-flex; align-items:center; gap:9px;
  }
  .btn-ghost:hover{ border-color:var(--muted); }

  .stat-row{ display:flex; gap:30px; margin-top:40px; flex-wrap:wrap; }
  .stat-row .num{ font-family:'Chakra Petch'; font-size:1.5rem; font-weight:700; color:var(--blue-soft); }
  .stat-row .lbl{ font-size:0.75rem; color:var(--muted); font-family:'IBM Plex Mono'; }

  /* HERO LOGO PANEL */
  .logo-panel{
    position:relative; display:flex; align-items:center; justify-content:center;
  }
  .logo-glow-ring{
    position:absolute; width:340px; height:340px; border-radius:50%;
    border:1px dashed rgba(125,211,252,0.25);
    animation: spin 30s linear infinite;
  }
  .logo-glow-ring.r2{ width:400px; height:400px; animation-duration:45s; animation-direction:reverse; }
  @keyframes spin{ from{transform:rotate(0deg);} to{transform:rotate(360deg);} }
  .logo-panel img{
    width:300px; height:300px; border-radius:50%; object-fit:cover;
    box-shadow:0 0 60px rgba(47,155,255,0.45), 0 0 120px rgba(47,155,255,0.2);
    animation: floaty 5s ease-in-out infinite;
    position:relative; z-index:2;
  }
  @keyframes floaty{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-10px);} }

  section{ position:relative; z-index:1; padding:80px 24px; }
  .section-head{ text-align:center; max-width:600px; margin:0 auto 52px; }
  .section-head .tag{
    font-family:'IBM Plex Mono'; font-size:0.78rem; color:var(--blue-soft);
    display:block; margin-bottom:12px; letter-spacing:0.05em;
  }
  .section-head h2{ font-size:clamp(1.5rem,3vw,2.1rem); margin-bottom:14px; }
  .section-head p{ color:var(--muted); line-height:1.6; }

  /* SERVICES */
  .services{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:1120px; margin:0 auto; }
  .service-card{
    background:var(--panel); border:1px solid var(--line); border-radius:12px;
    padding:30px 24px; position:relative; overflow:hidden;
    transition:border-color 0.25s, transform 0.25s;
    display:flex; flex-direction:column;
  }
  .service-card:hover{ border-color:var(--blue); transform:translateY(-4px); }
  .service-cta{
    margin-top:auto; align-self:flex-start;
    display:inline-flex; align-items:center; gap:7px;
    padding:13px 16px; border:1px solid var(--line); border-radius:6px;
    font-family:'Chakra Petch'; font-size:0.86rem; font-weight:600;
    color:var(--text); transition:all 0.2s;
  }
  .service-cta:hover{
    border-color:var(--blue); color:var(--blue-soft);
    box-shadow:0 0 16px rgba(47,155,255,0.25);
  }
  .service-cta svg{ width:14px; height:14px; }
  .service-icon{
    width:50px; height:50px; border-radius:10px;
    background:var(--bg-2); border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:18px; position:relative;
  }
  .service-icon svg{ width:23px; height:23px; color:var(--blue-soft); }
  .service-card h3{ font-size:1.1rem; margin-bottom:9px; }
  .service-card p{ color:var(--muted); font-size:0.88rem; line-height:1.6; margin-bottom:16px; }
  .service-list{ list-style:none; display:flex; flex-direction:column; gap:7px; }
  .service-list li{
    font-family:'IBM Plex Mono'; font-size:0.8rem; color:var(--text);
    display:flex; align-items:center; gap:8px;
  }
  .service-list li::before{ content:'▸'; color:var(--blue); }
  .delivery-tag{
    display:inline-flex; align-items:center; gap:6px; margin-top:14px; margin-bottom:18px;
    align-self:flex-start;
    font-family:'IBM Plex Mono'; font-size:0.74rem; color:var(--green);
    background:rgba(77,255,176,0.08); border:1px solid rgba(77,255,176,0.25);
    padding:5px 10px; border-radius:14px;
  }

  /* VIDEO SHOWCASE */
  .showcase{ background:var(--bg-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .showcase-inner{
    max-width:1120px; margin:0 auto; display:grid; grid-template-columns:0.85fr 1.15fr; gap:48px; align-items:center;
  }
  .video-frame{
    position:relative; border-radius:16px; overflow:hidden; border:1px solid var(--line);
    box-shadow:0 0 50px rgba(47,155,255,0.15);
    max-width:280px; margin:0 auto;
  }
  .video-frame video{ display:block; width:100%; height:auto; }
  .showcase h2{ font-size:clamp(1.5rem,3vw,2rem); margin-bottom:16px; }
  .showcase p{ color:var(--muted); line-height:1.65; margin-bottom:20px; max-width:480px; }
  .showcase ul{ list-style:none; display:flex; flex-direction:column; gap:10px; }
  .showcase ul li{ font-size:0.92rem; display:flex; align-items:center; gap:10px; }
  .showcase ul li::before{ content:'✓'; color:var(--green); font-weight:700; }

  /* DEPOIMENTOS */
  .reviews-wrap{ max-width:620px; margin:0 auto; }
  .review-card{
    background:var(--panel); border:1px solid var(--line); border-radius:14px;
    padding:26px 26px 22px; position:relative; overflow:hidden;
  }
  .review-card::before{
    content:'\201C'; position:absolute; top:-22px; right:12px;
    font-family:'Chakra Petch'; font-size:7rem; line-height:1;
    color:var(--blue); opacity:0.12; pointer-events:none;
  }
  .review-badge{
    display:inline-flex; align-items:center; gap:8px; position:relative;
    font-family:'IBM Plex Mono'; font-size:0.68rem; color:var(--muted);
    letter-spacing:0.06em; text-transform:uppercase; margin-bottom:18px;
  }
  .review-badge .g{
    width:18px; height:18px; border-radius:50%; flex:0 0 18px;
    background:#fff; color:#4285f4;
    font-family:'Chakra Petch'; font-weight:700; font-size:0.7rem;
    display:flex; align-items:center; justify-content:center;
  }
  .review-stack{ display:grid; position:relative; }
  .review-slide{
    grid-area:1/1; display:flex; flex-direction:column; gap:16px;
    opacity:0; visibility:hidden; transform:translateY(6px);
    transition:opacity 0.45s ease, transform 0.45s ease, visibility 0.45s;
  }
  .review-slide.is-active{ opacity:1; visibility:visible; transform:none; }
  .review-slide blockquote{
    font-size:1rem; line-height:1.65; color:var(--text);
    border-left:2px solid var(--blue); padding-left:14px;
  }
  .review-author{ display:flex; align-items:center; gap:11px; margin-top:auto; }
  .review-avatar{
    width:36px; height:36px; border-radius:50%; flex:0 0 36px;
    background:linear-gradient(135deg, var(--blue), var(--blue-soft));
    color:#04121a; font-family:'Chakra Petch'; font-weight:700; font-size:0.9rem;
    display:flex; align-items:center; justify-content:center;
  }
  .review-author strong{ display:block; font-size:0.88rem; font-weight:600; }
  .review-author span{
    display:block; font-family:'IBM Plex Mono'; font-size:0.68rem;
    color:var(--muted); margin-top:2px;
  }
  .review-slide--cta{ justify-content:center; align-items:center; text-align:center; gap:14px; }
  .review-slide--cta p{ color:var(--muted); font-size:0.92rem; line-height:1.6; max-width:420px; }
  .review-slide--cta .review-link-btn{
    display:inline-flex; align-items:center; gap:8px; padding:12px 18px;
    border:1px solid var(--blue); border-radius:6px; color:var(--blue-soft);
    font-family:'Chakra Petch'; font-weight:600; font-size:0.86rem;
    transition:background 0.2s, box-shadow 0.2s;
  }
  .review-slide--cta .review-link-btn:hover{
    background:rgba(47,155,255,0.12); box-shadow:0 0 18px rgba(47,155,255,0.25);
  }
  .review-controls{ display:flex; justify-content:center; gap:2px; margin-top:14px; }
  .review-dot{
    width:26px; height:26px; border:none; background:transparent; padding:0;
    position:relative; cursor:pointer; border-radius:6px;
  }
  .review-dot::after{
    content:''; position:absolute; inset:9px 9px; border-radius:2px;
    background:var(--line); transition:background 0.25s, inset 0.25s;
  }
  .review-dot:hover::after{ background:var(--muted); }
  .review-dot.is-active::after{ inset:9px 3px; background:var(--blue); }

  /* GALERIA */
  .gallery{
    display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
    max-width:1120px; margin:0 auto;
  }
  .gallery-card{
    background:var(--panel); border:1px solid var(--line); border-radius:14px;
    overflow:hidden; display:flex; flex-direction:column;
    transition:border-color 0.25s, transform 0.25s;
  }
  .gallery-card:hover{ border-color:var(--blue); transform:translateY(-3px); }
  .gallery-card--wide{ grid-column:1 / -1; }
  .gallery-media{
    display:block; position:relative; overflow:hidden;
    aspect-ratio:3/5; background:#0a1020;
  }
  .gallery-media img{
    display:block; width:100%; height:100%; object-fit:cover; object-position:center;
    transition:transform 0.45s ease;
  }
  .gallery-card:hover .gallery-media img{ transform:scale(1.04); }
  .gallery-strip{ display:grid; grid-template-columns:repeat(4,1fr); gap:2px; }
  .gallery-strip .gallery-media{ aspect-ratio:3/4; }
  .gallery-body{ padding:16px 18px 18px; }
  .gallery-chip{
    display:inline-block; font-family:'IBM Plex Mono'; font-size:0.66rem;
    letter-spacing:0.07em; color:var(--blue-soft);
    border:1px solid var(--line); border-radius:999px;
    padding:3px 9px; margin-bottom:10px;
  }
  .gallery-body h3{ font-size:1rem; margin-bottom:6px; }
  .gallery-body p{ color:var(--muted); font-size:0.84rem; line-height:1.55; }
  .gallery-foot{ text-align:center; margin-top:36px; }
  .gallery-note{
    font-family:'IBM Plex Mono'; font-size:0.72rem; color:var(--muted);
    margin-top:16px;
  }

  /* GARANTIA */
  .warranty{ background:var(--bg-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .warranty-inner{
    max-width:980px; margin:0 auto; display:grid;
    grid-template-columns:0.62fr 1.38fr; gap:44px; align-items:center;
  }
  .warranty-badge{
    text-align:center; border:1px solid var(--line); border-radius:14px;
    padding:28px 18px; background:var(--panel);
  }
  .warranty-badge .num{
    font-family:'Chakra Petch'; font-size:3.4rem; font-weight:700; line-height:1;
    background:linear-gradient(180deg,#fff,var(--blue-soft));
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .warranty-badge .lbl{
    display:block; font-family:'IBM Plex Mono'; font-size:0.7rem; color:var(--muted);
    letter-spacing:0.08em; margin-top:10px;
  }
  .warranty h2{ font-size:clamp(1.4rem,2.6vw,1.9rem); margin-bottom:16px; }
  .warranty ul{ list-style:none; display:flex; flex-direction:column; gap:11px; }
  .warranty li{
    font-size:0.9rem; line-height:1.55; color:var(--text);
    display:flex; gap:10px; align-items:flex-start;
  }
  .warranty li::before{ content:'✓'; color:var(--green); font-weight:700; flex:0 0 auto; }
  .warranty li.nao{ color:var(--muted); }
  .warranty li.nao::before{ content:'✕'; color:#ff8f8f; }
  .warranty li strong{ color:var(--text); font-weight:600; }

  /* PROCESS */
  .steps{
    display:grid; grid-template-columns:repeat(4,1fr); gap:0; max-width:1120px; margin:0 auto;
    position:relative;
  }
  .steps::before{
    content:''; position:absolute; top:19px; left:12.5%; right:12.5%; height:1px;
    background:linear-gradient(90deg, var(--blue), var(--blue-soft));
    opacity:0.35;
  }
  .step{ text-align:center; padding:0 16px; position:relative; }
  .step-num{
    width:40px; height:40px; border-radius:50%; margin:0 auto 20px;
    background:var(--bg); border:1px solid var(--blue); color:var(--blue-soft);
    display:flex; align-items:center; justify-content:center;
    font-family:'IBM Plex Mono'; font-size:0.85rem; position:relative; z-index:1;
  }
  .step h4{ font-size:0.96rem; margin-bottom:8px; }
  .step p{ color:var(--muted); font-size:0.83rem; line-height:1.55; }

  /* CTA */
  .cta-band{
    max-width:1120px; margin:0 auto;
    background:linear-gradient(120deg, rgba(47,155,255,0.1), rgba(125,211,252,0.06));
    border:1px solid var(--line); border-radius:16px;
    padding:50px 40px; text-align:center; position:relative; overflow:hidden;
  }
  .cta-band h2{ font-size:clamp(1.4rem,3vw,1.9rem); margin-bottom:10px; }
  .cta-band .loc{ font-family:'IBM Plex Mono'; font-size:0.8rem; color:var(--blue-soft); margin-bottom:18px; }
  .cta-band p{ color:var(--muted); margin-bottom:26px; }
  .cta-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
  .social-row{ display:flex; gap:14px; justify-content:center; margin-top:26px; }
  .social-row a{
    width:42px; height:42px; border-radius:50%; border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center; transition:all 0.2s;
  }
  .social-row a:hover{ border-color:var(--blue); box-shadow:0 0 16px rgba(47,155,255,0.4); }
  .social-row svg{ width:19px; height:19px; color:var(--blue-soft); }

  /* ABOUT / VALUES */
  .about{ background:var(--bg-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .about-inner{
    max-width:1120px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;
  }
  .about h2{ font-size:clamp(1.5rem,3vw,2rem); margin-bottom:16px; }
  .about p{ color:var(--muted); line-height:1.7; margin-bottom:20px; }
  .values{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  .value-card{
    background:var(--panel); border:1px solid var(--line); border-radius:10px;
    padding:20px; text-align:center;
  }
  .value-card .v-icon{ font-size:1.4rem; margin-bottom:8px; }
  .value-card span{ display:block; font-family:'IBM Plex Mono'; font-size:0.78rem; color:var(--blue-soft); letter-spacing:0.04em; }

  /* HOURS + FAQ */
  .info-grid{
    max-width:1120px; margin:0 auto; display:grid; grid-template-columns:0.8fr 1.2fr; gap:56px;
  }
  .hours-card{
    background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:28px; height:fit-content;
  }
  .hours-card h3{ font-size:1.05rem; margin-bottom:18px; display:flex; align-items:center; gap:8px; }
  .hours-row{
    display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--line);
    font-size:0.88rem;
  }
  .hours-row:last-child{ border-bottom:none; }
  .hours-row span:first-child{ color:var(--muted); }
  .hours-row span:last-child{ font-family:'IBM Plex Mono'; }
  .hours-note{
    margin-top:18px; padding-top:16px; border-top:1px dashed var(--line);
    font-size:0.78rem; color:var(--muted); line-height:1.6;
  }
  .hours-address{
    margin-top:16px; padding-top:16px; border-top:1px dashed var(--line);
  }
  .hours-address__label{
    display:block; font-family:'IBM Plex Mono'; font-size:0.7rem;
    letter-spacing:0.08em; color:var(--blue-soft); margin-bottom:8px;
  }
  .hours-address p{ font-size:0.86rem; line-height:1.6; margin-bottom:10px; }
  .hours-address a{
    font-size:0.8rem; font-family:'IBM Plex Mono'; color:var(--blue-soft);
    display:inline-flex; align-items:center; gap:6px;
  }
  .hours-address a:hover{ text-decoration:underline; }
  .faq-item{
    border-bottom:1px solid var(--line); padding:18px 0;
  }
  .faq-item summary{
    cursor:pointer; font-weight:600; font-size:0.96rem; list-style:none;
    display:flex; justify-content:space-between; align-items:center;
  }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item summary::after{ content:'+'; color:var(--blue-soft); font-size:1.2rem; }
  .faq-item[open] summary::after{ content:'−'; }
  .faq-item p{ color:var(--muted); font-size:0.87rem; line-height:1.6; margin-top:10px; }

  footer{
    border-top:1px solid var(--line); padding:32px 24px; text-align:center;
    color:var(--muted); font-size:0.8rem; font-family:'IBM Plex Mono';
    position:relative; z-index:1;
  }
  footer .foot-brand{ color:var(--silver); margin-bottom:6px; }
  .foot-contact{ margin-bottom:8px; }
  footer a, .loc--tel a{ color:var(--blue-soft); }
  footer a:hover, .loc--tel a:hover{ text-decoration:underline; }
  .loc--tel{ margin-top:-10px; }

  /* BOTAO FLUTUANTE DE WHATSAPP */
  .wa-float{
    position:fixed; right:20px; bottom:20px; z-index:90;
    width:56px; height:56px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    background:#25d366; color:#04121a;
    box-shadow:0 8px 24px rgba(0,0,0,0.45), 0 0 0 1px rgba(255,255,255,0.12);
    transition:transform 0.2s, box-shadow 0.2s;
  }
  .wa-float:hover{ transform:translateY(-3px) scale(1.04); box-shadow:0 10px 30px rgba(37,211,102,0.45); }
  .wa-float svg{ width:30px; height:30px; }
  .wa-float::after{
    content:''; position:absolute; inset:0; border-radius:50%;
    border:2px solid rgba(37,211,102,0.55);
    animation: waPulse 2.4s ease-out infinite;
  }
  @keyframes waPulse{
    0%{ transform:scale(1); opacity:0.8; }
    70%{ transform:scale(1.45); opacity:0; }
    100%{ transform:scale(1.45); opacity:0; }
  }
  @media (max-width:860px){ .wa-float{ right:14px; bottom:14px; width:52px; height:52px; } }
  @media (prefers-reduced-motion: reduce){ .wa-float::after{ animation:none; } }

  @media (max-width:1080px){
    nav ul{ gap:20px; }
    nav ul a{ font-size:0.84rem; }
  }

  @media (max-width:860px){
    .hero{ grid-template-columns:1fr; padding-top:36px; }
    .logo-panel{ order:-1; }
    .logo-panel img{ width:220px; height:220px; }
    .logo-glow-ring{ width:260px; height:260px; }
    .logo-glow-ring.r2{ width:300px; height:300px; }
    .services{ grid-template-columns:1fr; }
    .gallery{ grid-template-columns:1fr 1fr; }
    .steps{ grid-template-columns:1fr; gap:32px; }
    .steps::before{ display:none; }
    .showcase-inner{ grid-template-columns:1fr; }
    .about-inner{ grid-template-columns:1fr; gap:32px; }
    .info-grid{ grid-template-columns:1fr; gap:32px; }
    .warranty-inner{ grid-template-columns:1fr; gap:26px; }
    .warranty-badge{ padding:22px 16px; }
    .warranty-badge .num{ font-size:2.8rem; }
    .stat-row{ gap:22px; }
    nav{ position:relative; gap:10px; }
    .nav-toggle{ display:inline-flex; }
    .logo{ font-size:0.95rem; }
    nav ul{
      position:absolute; top:100%; left:0; right:0;
      flex-direction:column; gap:0; align-items:stretch;
      background:rgba(6,11,22,0.98);
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
      box-shadow:0 18px 40px rgba(0,0,0,0.55);
      padding:6px 0; display:none; backdrop-filter:blur(10px);
    }
    nav ul.open{ display:flex; }
    nav ul li{ width:100%; }
    nav ul a{
      display:block; padding:14px 24px;
      font-size:0.98rem; font-family:'Chakra Petch'; letter-spacing:0.02em;
    }
    nav ul a:hover{ background:rgba(47,155,255,0.08); color:var(--blue-soft); }
  }
  @media (max-width:560px){
    .gallery{ grid-template-columns:1fr; }
    .gallery-strip{ grid-template-columns:repeat(2,1fr); }
  }
  @media (max-width:420px){
    .nav-cta{ padding:9px 11px; }
    .nav-cta .cta-text{ display:none; }
    .logo img{ width:34px; height:34px; }
  }

  /* CONTATO + FORMULÁRIO DE ORÇAMENTO */
  .cta-band--split{ text-align:left; padding:44px; }
  .contact-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:44px; align-items:start; }
  .contact-copy .tag{
    font-family:'IBM Plex Mono'; font-size:0.78rem; color:var(--blue-soft);
    display:block; margin-bottom:12px; letter-spacing:0.05em;
  }
  .cta-band--split .cta-actions{ justify-content:flex-start; }
  .cta-band--split .social-row{ justify-content:flex-start; }

  .quote-card{
    background:rgba(6,11,22,0.62);
    border:1px solid var(--line);
    border-radius:12px;
    padding:26px;
    position:relative;
    overflow:hidden;
  }
  .quote-card::before{
    content:""; position:absolute; top:0; left:22px; right:22px; height:1px;
    background:linear-gradient(90deg, transparent, var(--blue), transparent);
  }
  .quote-card .tag{
    font-family:'IBM Plex Mono'; font-size:0.68rem; color:var(--blue-soft);
    display:block; margin-bottom:10px; letter-spacing:0.08em;
  }
  .quote-card h3{ font-size:1.16rem; margin-bottom:6px; }
  .quote-card > p{ color:var(--muted); font-size:0.82rem; line-height:1.6; margin-bottom:18px; }

  .quote-form .field{ margin-bottom:12px; }
  .quote-form .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .quote-form label{
    display:block; margin-bottom:6px;
    font-family:'IBM Plex Mono'; font-size:0.66rem; letter-spacing:0.06em;
    text-transform:uppercase; color:var(--blue-soft);
  }
  .quote-form input,
  .quote-form select,
  .quote-form textarea{
    width:100%; padding:11px 12px;
    background:#071021; border:1px solid var(--line); border-radius:6px;
    color:var(--text); font-family:'Inter', sans-serif; font-size:0.88rem;
    transition:border-color 0.2s, box-shadow 0.2s;
  }
  .quote-form input::placeholder,
  .quote-form textarea::placeholder{ color:#52627c; }
  .quote-form input:focus,
  .quote-form select:focus,
  .quote-form textarea:focus{
    outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(47,155,255,0.12);
  }
  .quote-form input[aria-invalid="true"],
  .quote-form textarea[aria-invalid="true"]{ border-color:#ff7b7b; }
  .quote-form textarea{ resize:vertical; min-height:92px; }
  .quote-form select{
    appearance:none; -webkit-appearance:none; padding-right:36px; cursor:pointer;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237dd3fc' stroke-width='2.4'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 12px center;
  }
  .quote-form select option{ background:#0a1526; color:var(--text); }
  .quote-form .btn-primary{
    width:100%; justify-content:center; margin-top:4px;
    font-family:'Chakra Petch'; font-size:0.92rem;
  }
  .quote-form .btn-primary svg{ width:18px; height:18px; flex:none; }
  .quote-form .form-note{
    margin:10px 0 0; color:#5f7089; font-size:0.7rem; line-height:1.5;
  }
  .quote-form .form-feedback{
    min-height:16px; margin:6px 0 0; color:#ff8b8b; font-size:0.75rem; line-height:1.5;
  }
  .quote-form .form-feedback.success{ color:var(--green); }

  @media (max-width:860px){
    .cta-band--split{ padding:34px 24px; }
    .contact-grid{ grid-template-columns:1fr; gap:30px; }
  }
  @media (max-width:560px){
    .cta-band--split{ padding:28px 18px; }
    .quote-card{ padding:20px; }
    .quote-form .form-row{ grid-template-columns:1fr; gap:0; }
    .cta-band--split .cta-actions{ flex-direction:column; }
    .cta-band--split .cta-actions > a{ width:100%; justify-content:center; }
  }

  /* PÁGINAS DE SERVIÇO (SEO local) */
  .breadcrumb{
    max-width:1120px; margin:0 auto; padding:18px 24px 0;
    font-family:'IBM Plex Mono'; font-size:0.72rem; color:var(--muted);
    position:relative; z-index:1;
  }
  .breadcrumb a{ color:var(--blue-soft); }
  .breadcrumb a:hover{ text-decoration:underline; }
  .breadcrumb span{ margin:0 7px; color:var(--line); }
  .hero--page{ grid-template-columns:1fr; max-width:860px; padding-top:34px; padding-bottom:44px; }
  .hero--page h1{ font-size:clamp(1.8rem,3.6vw,2.7rem); }
  .hero--page p{ max-width:660px; }
  .prose{ max-width:820px; margin:0 auto; }
  .prose h2{ font-size:clamp(1.4rem,2.6vw,1.9rem); margin-bottom:16px; }
  .prose h3{ font-size:1.08rem; margin:24px 0 8px; }
  .prose p{ color:var(--muted); line-height:1.75; margin-bottom:16px; }
  .prose strong{ color:var(--text); }
  .check-list{
    list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:13px 26px;
    max-width:860px; margin:0 auto;
  }
  .check-list li{ display:flex; gap:10px; align-items:flex-start; font-size:0.94rem; line-height:1.5; }
  .check-list li::before{ content:'✓'; color:var(--green); font-weight:700; flex:0 0 auto; }
  .pill-row{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; max-width:820px; margin:0 auto 8px; }
  .pill{
    font-family:'IBM Plex Mono'; font-size:0.76rem; color:var(--text);
    border:1px solid var(--line); border-radius:999px; padding:7px 14px; background:var(--panel);
  }
  .page-faq{ max-width:820px; margin:0 auto; }
  .service-more{
    display:inline-flex; align-items:center; gap:6px; margin-bottom:14px;
    font-family:'IBM Plex Mono'; font-size:0.76rem; color:var(--blue-soft);
  }
  .service-more:hover{ text-decoration:underline; }
  .related{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; max-width:1120px; margin:0 auto; }
  .related a{
    background:var(--panel); border:1px solid var(--line); border-radius:12px;
    padding:20px; transition:border-color 0.25s, transform 0.25s;
  }
  .related a:hover{ border-color:var(--blue); transform:translateY(-3px); }
  .related strong{ display:block; font-family:'Chakra Petch'; font-size:1rem; margin-bottom:6px; }
  .related span{ color:var(--muted); font-size:0.84rem; line-height:1.5; }
  @media (max-width:860px){
    .related{ grid-template-columns:1fr; }
  }
  @media (max-width:560px){
    .check-list{ grid-template-columns:1fr; }
  }
