:root{
    --bg:#131009;
    --bg-1:#1B160E;
    --bg-2:#242015;
    --panel:#1E1A12;
    --line: rgba(217,199,164,0.14);
    --line-strong: rgba(217,199,164,0.28);
    --orange:#E2801E;
    --orange-2:#F5A83C;
    --orange-deep:#B8560E;
    --ember:#FF5A2E;
    --steel:#D7DBE0;
    --steel-dim:#8B8E92;
    --cream:#F4EEE0;
    --cream-dim:#C9C0A8;
    --radius:14px;
    --maxw:1180px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:
      radial-gradient(1100px 620px at 82% -8%, rgba(226,128,30,0.16), transparent 60%),
      radial-gradient(900px 500px at -10% 20%, rgba(226,128,30,0.08), transparent 55%),
      var(--bg);
    color:var(--cream);
    font-family:'Work Sans', sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3,.display{
    font-family:'Oswald', sans-serif;
    text-transform:uppercase;
    letter-spacing:0.01em;
    margin:0;
  }
  .mono{ font-family:'JetBrains Mono', monospace; }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
  ::selection{ background:var(--orange); color:#131009; }

  /* leather-ish texture overlay */
  .grain{
    position:fixed; inset:0; pointer-events:none; z-index:1; opacity:0.5; mix-blend-mode:overlay;
    background-image:
      repeating-linear-gradient(115deg, rgba(255,255,255,0.025) 0px, rgba(255,255,255,0.025) 1px, transparent 1px, transparent 3px),
      repeating-linear-gradient(25deg, rgba(0,0,0,0.12) 0px, rgba(0,0,0,0.12) 1px, transparent 1px, transparent 4px);
  }

  /* progress bar - "speedometer" of the page */
  .speed-bar{
    position:fixed; top:0; left:0; height:3px; width:0%;
    background:linear-gradient(90deg, var(--orange-deep), var(--orange), var(--orange-2));
    box-shadow:0 0 12px rgba(245,168,60,0.7);
    z-index:1000; transition:width 0.08s linear;
  }

  /* NAV */
  header.nav{
    position:sticky; top:0; z-index:100;
    background:rgba(19,16,9,0.86);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 24px; max-width:var(--maxw); margin:0 auto; gap:20px;
  }
  .brand{ display:flex; align-items:center; gap:10px; }
  .brand-badge{
    width:38px; height:38px; border-radius:9px; flex-shrink:0;
    background:linear-gradient(155deg, #2B2419, #171309);
    border:1px solid var(--line-strong);
    display:flex; align-items:center; justify-content:center;
  }
  .brand-name{ font-family:'Oswald', sans-serif; font-size:17px; letter-spacing:0.03em; line-height:1.05; }
  .brand-name b{ color:var(--orange-2); display:block; font-size:11px; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; }
  nav.links{ display:flex; gap:28px; }
  nav.links a{
    font-size:13.5px; letter-spacing:0.03em; color:var(--cream-dim);
    text-transform:uppercase; font-weight:600; transition:color 0.2s;
    position:relative; padding-bottom:3px;
  }
  nav.links a:hover{ color:var(--orange-2); }
  .nav-cta{ display:flex; align-items:center; gap:14px; }
  .phone-quick{ font-family:'JetBrains Mono', monospace; font-size:13px; color:var(--steel-dim); display:none; }
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:11px 20px; border-radius:999px; font-weight:700; font-size:13.5px;
    letter-spacing:0.02em; cursor:pointer; border:1px solid transparent;
    white-space:nowrap;
  }
  .btn-primary{
    background:linear-gradient(180deg, var(--orange-2), var(--orange-deep));
    color:#1B1206; box-shadow:0 8px 22px -8px rgba(226,128,30,0.65), inset 0 1px 0 rgba(255,255,255,0.25);
    transition:transform 0.18s ease, box-shadow 0.18s ease;
  }
  .btn-primary:hover{ transform:translateY(-2px); box-shadow:0 12px 26px -8px rgba(226,128,30,0.8); 
  }
  
  
  .btn-ghost:hover{ border-color:var(--orange-2); background:rgba(226,128,30,0.08); }

  /* HERO */
  .hero{ position:relative; padding:76px 0 40px; }
  .hero-grid{
    display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;
  }
  .eyebrow{
    display:inline-flex; align-items:center; gap:9px;
    font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:0.14em;
    color:var(--orange-2); text-transform:uppercase; margin-bottom:22px;
    padding:7px 13px; border:1px solid rgba(226,128,30,0.35); border-radius:999px;
    background:rgba(226,128,30,0.06);
  }
  .eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--ember); box-shadow:0 0 8px var(--ember); }
  .hero h1{
    font-size:clamp(38px, 5.4vw, 62px); line-height:0.98; color:var(--cream);
  }
  .hero h1 .accent{
    background:linear-gradient(95deg, var(--orange-2), var(--orange), var(--ember));
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .hero p.lead{
    margin-top:22px; font-size:17px; line-height:1.65; color:var(--cream-dim); max-width:490px;
  }
  .hero-ctas{ display:flex; gap:14px; margin-top:32px; flex-wrap:wrap; }
  .trust-row{
    display:flex; gap:26px; margin-top:40px; flex-wrap:wrap;
    padding-top:26px; border-top:1px solid var(--line);
  }
  .trust-item{ display:flex; align-items:center; gap:9px; font-size:13px; color:var(--cream-dim); font-weight:600; }
  .trust-item svg{ flex-shrink:0; }

  /* GAUGE SIGNATURE */
  .gauge-stage{
    position:relative; display:flex; align-items:center; justify-content:center;
    padding:20px;
  }
  .gauge-plate{
    position:relative; width:100%; max-width:400px; aspect-ratio:1/1;
    border-radius:50%;
    background:
      radial-gradient(circle at 32% 28%, rgba(255,255,255,0.05), transparent 45%),
      radial-gradient(circle at 50% 50%, #1c1710 0%, #0f0c07 70%, #0a0805 100%);
    border:1px solid var(--line-strong);
    box-shadow:
      0 30px 70px -25px rgba(0,0,0,0.8),
      0 0 0 10px rgba(255,255,255,0.02),
      inset 0 0 40px rgba(0,0,0,0.6),
      inset 0 2px 4px rgba(255,255,255,0.05);
  }
  .gauge-plate svg{ width:100%; height:100%; }
  .gauge-caption{
    position:absolute; bottom:-6px; left:50%; transform:translateX(-50%);
    background:var(--panel); border:1px solid var(--line-strong);
    padding:8px 18px; border-radius:999px; font-family:'JetBrains Mono', monospace;
    font-size:11px; letter-spacing:0.1em; color:var(--orange-2); white-space:nowrap;
    box-shadow:0 10px 20px -8px rgba(0,0,0,0.6);
  }

  /* TICKER / CREDENTIAL STRIP */
  .ticker-band{
    background:linear-gradient(90deg, var(--orange-deep), var(--orange) 45%, var(--orange-2));
    border-top:1px solid rgba(0,0,0,0.25); border-bottom:1px solid rgba(0,0,0,0.25);
    overflow:hidden; position:relative;
  }
  .ticker-track{
    display:flex; white-space:nowrap; padding:12px 0;
    animation:scroll-left 32s linear infinite;
    width:max-content;
  }
  .ticker-track span{
    font-family:'JetBrains Mono', monospace; font-weight:700; font-size:13px;
    letter-spacing:0.09em; color:#1B1206; padding:0 22px; text-transform:uppercase;
    display:flex; align-items:center; gap:22px;
  }
  .ticker-track span::after{ content:'◆'; font-size:9px; opacity:0.6; }
  @keyframes scroll-left{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

  /* SECTION generic */
  section{ padding:96px 0; position:relative; }
  .section-head{ max-width:640px; margin-bottom:56px; }
  .section-eyebrow{
    font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:0.16em;
    color:var(--orange-2); text-transform:uppercase; margin-bottom:14px; display:block;
  }
  .section-head h2{ font-size:clamp(28px,3.6vw,40px); color:var(--cream); line-height:1.08; }
  .section-head p{ margin-top:16px; color:var(--cream-dim); font-size:16px; line-height:1.6; }

  /* SERVICES */
  .services-grid{
    display:grid; grid-template-columns:repeat(4, 1fr); gap:1px;
    background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  }
  .service-card{
    background:var(--bg-1); padding:34px 26px; transition:background 0.25s;
    display:flex; flex-direction:column; gap:16px; position:relative;
  }
  .service-card:hover{ background:var(--bg-2); }
  .service-card .num{
    font-family:'JetBrains Mono', monospace; font-size:12px; color:var(--steel-dim);
  }
  .service-icon{
    width:46px; height:46px; border-radius:10px;
    background:rgba(226,128,30,0.09); border:1px solid rgba(226,128,30,0.25);
    display:flex; align-items:center; justify-content:center; color:var(--orange-2);
  }
  .service-card h3{ font-size:18px; color:var(--cream); letter-spacing:0.01em; }
  .service-card p{ font-size:14px; color:var(--cream-dim); line-height:1.55; margin:0; }

  /* DIFERENCIAIS */
  .diff-strip{
    background:var(--panel); border:1px solid var(--line); border-radius:var(--radius);
    display:grid; grid-template-columns:repeat(3,1fr);
  }
  .diff-item{
    padding:38px 30px; text-align:center; border-right:1px solid var(--line);
    display:flex; flex-direction:column; align-items:center; gap:14px;
  }
  .diff-item:last-child{ border-right:none; }
  .diff-badge{
    width:56px; height:56px; border-radius:50%;
    background:radial-gradient(circle at 35% 30%, var(--orange-2), var(--orange-deep));
    display:flex; align-items:center; justify-content:center; color:#1B1206;
    box-shadow:0 10px 22px -8px rgba(226,128,30,0.6);
  }
  .diff-item h3{ font-size:15px; color:var(--cream); letter-spacing:0.03em; }
  .diff-item p{ font-size:13.5px; color:var(--cream-dim); margin:0; line-height:1.5; }

  /* ESTRUTURA / FACADE */
  .estrutura{
    display:grid; grid-template-columns:1.15fr 0.85fr; gap:52px; align-items:center;
  }
  .estrutura-media{ position:relative; }
  .estrutura-media .frame{
    border-radius:var(--radius); overflow:hidden; border:1px solid var(--line-strong);
    box-shadow:0 40px 80px -30px rgba(0,0,0,0.7);
  }
  .estrutura-media img{ width:100%; height:auto; display:block; filter:saturate(1.05) contrast(1.03); }
  .estrutura-tag{
    position:absolute; left:20px; bottom:20px;
    background:rgba(19,16,9,0.82); backdrop-filter:blur(6px);
    border:1px solid var(--line-strong); border-radius:999px;
    padding:9px 16px; font-family:'JetBrains Mono', monospace; font-size:11.5px;
    letter-spacing:0.08em; color:var(--orange-2); text-transform:uppercase;
  }
  .estrutura-copy ul{ list-style:none; margin:26px 0 0; padding:0; display:flex; flex-direction:column; gap:16px; }
  .estrutura-copy li{ display:flex; gap:14px; align-items:flex-start; font-size:15px; color:var(--cream-dim); line-height:1.55; }
  .estrutura-copy li svg{ flex-shrink:0; margin-top:2px; color:var(--orange-2); }
  .estrutura-copy li b{ color:var(--cream); }

  /* LOCATION */
  .loc-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:1px;
    background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  }
  .loc-card{ background:var(--bg-1); padding:38px; }
  .loc-card h3{
    font-family:'Oswald', sans-serif; text-transform:uppercase; font-size:14px;
    letter-spacing:0.1em; color:var(--orange-2); margin-bottom:18px;
  }
  .loc-row{ display:flex; gap:14px; padding:14px 0; border-top:1px solid var(--line); }
  .loc-row:first-of-type{ border-top:none; }
  .loc-row svg{ flex-shrink:0; color:var(--orange-2); margin-top:2px; }
  .loc-row div b{ display:block; color:var(--cream); font-size:14.5px; margin-bottom:3px; }
  .loc-row div span{ color:var(--cream-dim); font-size:14px; line-height:1.5; }
  .loc-card .btn{ margin-top:22px; width:100%; justify-content:center; }
  .schedule-list{ display:flex; flex-direction:column; gap:0; }
  .schedule-row{
    display:flex; justify-content:space-between; padding:12px 0; border-top:1px solid var(--line);
    font-size:14px;
  }
  .schedule-row:first-child{ border-top:none; }
  .schedule-row span:first-child{ color:var(--cream-dim); }
  .schedule-row span:last-child{ font-family:'JetBrains Mono', monospace; color:var(--cream); }
  .schedule-note{ margin-top:18px; font-size:12.5px; color:var(--steel-dim); line-height:1.5; }

  /* TESTIMONIALS */
  .testi-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
  .testi-card{
    background:var(--bg-1); border:1px solid var(--line); border-radius:var(--radius);
    padding:32px; position:relative;
  }
  .testi-stars{ display:flex; gap:4px; color:var(--orange-2); margin-bottom:18px; }
  .testi-card p{ font-size:17px; line-height:1.6; color:var(--cream); font-style:italic; margin:0 0 20px; }
  .testi-source{ font-size:12.5px; color:var(--steel-dim); font-family:'JetBrains Mono', monospace; letter-spacing:0.04em; }

  /* FINAL CTA */
  .final-cta{
    background:
      radial-gradient(700px 340px at 20% 0%, rgba(255,255,255,0.08), transparent 60%),
      linear-gradient(120deg, var(--orange-deep), var(--orange) 55%, var(--orange-2));
    border-radius:20px; padding:64px 48px; text-align:center; position:relative; overflow:hidden;
  }
  .final-cta h2{ color:#1B1206; font-size:clamp(28px,4vw,44px); }
  .final-cta p{ color:rgba(27,18,6,0.75); font-size:16px; margin:16px auto 30px; max-width:480px; }
  .final-cta .btn-primary{
    background:#1B1206; color:var(--orange-2); box-shadow:0 12px 30px -10px rgba(0,0,0,0.5);
  }
  .final-cta .btn-primary:hover{ background:#241809; }

  /* FOOTER */
  footer{ border-top:1px solid var(--line); padding:56px 0 32px; }
  .footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; margin-bottom:40px; }
  .footer-brand{ display:flex; align-items:center; gap:12px; margin-bottom:16px; }
  .footer-col h4{
    font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:0.12em;
    text-transform:uppercase; color:var(--orange-2); margin-bottom:16px;
  }
  .footer-col p, .footer-col a{ display:block; font-size:14px; color:var(--cream-dim); margin-bottom:10px; line-height:1.5; }
  .footer-col a:hover{ color:var(--orange-2); }
  .footer-bottom{
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;
    padding-top:24px; border-top:1px solid var(--line); font-size:12.5px; color:var(--steel-dim);
  }

  .instagram-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(45deg, #f9ce34, #ee2a7b, #6228d7);
    font-size: 22px;
    text-decoration: none;
    transition: 0.3s ease;
}

.instagram-link:hover {
    transform: scale(1.1);
}

  /* FLOATING WHATSAPP */
  .float-wa{
    position:fixed; bottom:24px; right:24px; z-index:200;
    width:58px; height:58px; border-radius:50%;
    background:linear-gradient(160deg,#2CC96A,#1F9E52);
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 14px 30px -10px rgba(31,158,82,0.7);
    animation:float-pulse 2.6s ease-in-out infinite;
  }
  @keyframes float-pulse{
    0%,100%{ transform:scale(1); }
    50%{ transform:scale(1.06); }
  }

  /* reveal on scroll */
  .reveal{ opacity:0; transform:translateY(24px); transition:opacity 0.7s ease, transform 0.7s ease; }
  .reveal.in{ opacity:1; transform:translateY(0); }

  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    .reveal{ opacity:1; transform:none; transition:none; }
    .ticker-track{ animation:none; }
    .float-wa{ animation:none; }
  }

  @media (max-width: 980px){
    .hero-grid{ grid-template-columns:1fr; gap:40px; }
    .gauge-stage{ order:-1; }
    .gauge-plate{ max-width:280px; }
    .services-grid{ grid-template-columns:repeat(2,1fr); }
    .diff-strip{ grid-template-columns:1fr; }
    .diff-item{ border-right:none; border-bottom:1px solid var(--line); }
    .diff-item:last-child{ border-bottom:none; }
    .estrutura{ grid-template-columns:1fr; }
    .loc-grid{ grid-template-columns:1fr; }
    .testi-grid{ grid-template-columns:1fr; }
    .footer-grid{ grid-template-columns:1fr; gap:28px; }
    nav.links{ display:none; }
  }
  @media (max-width: 620px){
    .services-grid{ grid-template-columns:1fr; }
    .hero{ padding:52px 0 30px; }
    section{ padding:64px 0; }
    .final-cta{ padding:44px 24px; }
  }
