﻿  :root{
    --black: #060606;
    --surface: #121214;
    --surface-2: #1c1c1f;
    --line: #2a2a2e;
    --orange: #F2661D;
    --orange-deep: #C24A0E;
    --orange-glow: rgba(242,102,29,0.35);
    --white: #F7F5F1;
    --muted: #97969B;
    --muted-2: #5c5b60;
    --radius: 14px;
    --wrap: 1180px;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--black);
    color:var(--white);
    font-family:'Inter',sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ::selection{background:var(--orange);color:var(--black);}

  .wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px;}
  .eyebrow{
    font-family:'JetBrains Mono',monospace;
    font-size:12.5px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--orange);
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-weight:500;
  }
  .eyebrow::before{
    content:"";
    width:22px;height:1px;
    background:var(--orange);
    display:inline-block;
  }
  h1,h2,h3{
    font-family:'Anton',sans-serif;
    font-weight:400;
    letter-spacing:0.005em;
    text-transform:uppercase;
    line-height:0.98;
  }
  .btn{
    font-family:'Inter',sans-serif;
    font-weight:700;
    font-size:15px;
    padding:16px 30px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    gap:10px;
    cursor:pointer;
    border:1.5px solid transparent;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
    white-space:nowrap;
  }
  .btn-primary{
    background:linear-gradient(135deg, var(--orange), var(--orange-deep));
    color:var(--white);
    box-shadow:0 8px 24px -8px var(--orange-glow);
  }
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px -8px var(--orange-glow);}
  .btn-ghost{
    background:transparent;
    border-color:var(--line);
    color:var(--white);
  }
  .btn-ghost:hover{border-color:var(--orange);color:var(--orange);transform:translateY(-2px);}
  .btn svg{width:16px;height:16px;flex:none;}

  /* ---------- NAV ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(6,6,6,0.78);
    backdrop-filter:blur(14px);
    border-bottom:1px solid transparent;
    transition:border-color .3s ease, background .3s ease;
  }
  header.scrolled{border-bottom-color:var(--line);background:rgba(6,6,6,0.94);}
  nav{
    display:flex;align-items:center;justify-content:space-between;
    padding:16px 32px;max-width:var(--wrap);margin:0 auto;
  }
  .brand{display:flex;align-items:center;gap:14px;}
  .brand img{height:64px;width:64px;object-fit:cover;border-radius:14px;filter:drop-shadow(0 4px 12px rgba(242,102,29,0.25));}
  @media(max-width:879px){.brand img{height:80px;width:80px;border-radius:16px;}}
  .brand-text{display:flex;flex-direction:column;gap:2px;}
  .brand-word{font-family:'Anton',sans-serif;font-size:22px;letter-spacing:0.02em;text-transform:uppercase;line-height:1;}
  .brand-word span{color:var(--orange);}
  .brand-tagline{font-family:'Inter',sans-serif;font-size:10px;font-weight:500;color:var(--muted);letter-spacing:0.06em;text-transform:uppercase;line-height:1;}
  .nav-links{display:flex;gap:36px;font-size:14.5px;font-weight:500;color:var(--muted);}
  .nav-links a{position:relative;padding:4px 0;transition:color .2s ease;}
  .nav-links a:hover{color:var(--white);}
  .nav-links a::after{
    content:"";position:absolute;left:0;bottom:0;height:1px;width:0;
    background:var(--orange);transition:width .2s ease;
  }
  .nav-links a:hover::after{width:100%;}
  .nav-cta{display:none;}
  @media(min-width:880px){.nav-cta{display:inline-flex;}}
  .nav-links{display:none;}
  @media(min-width:880px){.nav-links{display:flex;}}

  /* ---------- ROAD SPINE ---------- */
  .road-spine{
    position:absolute;left:50%;top:0;bottom:0;width:3px;
    transform:translateX(-50%);
    z-index:0;pointer-events:none;
  }
  .road-spine svg{width:100%;height:100%;}
  .road-line{
    stroke:var(--muted-2);
    stroke-width:3;
    stroke-dasharray:2 16;
    stroke-linecap:round;
    fill:none;
  }
  .road-line.lit{stroke:var(--orange);}

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    padding:168px 0 90px;
    overflow:hidden;
  }
  .hero::before{
    content:"";
    position:absolute;
    top:-10%;right:-10%;
    width:60%;height:80%;
    background:radial-gradient(circle, var(--orange-glow) 0%, transparent 70%);
    opacity:0.5;
    filter:blur(10px);
    z-index:0;
  }
  .hero-grid{
    position:relative;z-index:1;
    display:grid;grid-template-columns:1fr;gap:56px;align-items:center;
  }
  @media(min-width:960px){.hero-grid{grid-template-columns:1.15fr 0.85fr;gap:40px;}}
  .hero h1{
    font-size:clamp(40px,6.4vw,74px);
    margin:20px 0 26px;
  }
  .hero h1 .accent{color:var(--orange);}
  .hero p.lead{
    font-size:18px;line-height:1.65;color:var(--muted);
    max-width:520px;margin-bottom:36px;
  }
  .hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:52px;}
  .hero-visual{
    position:relative;
    border-radius:22px;
    overflow:hidden;
    border:1px solid var(--line);
    background:var(--surface);
    box-shadow:0 30px 70px -30px rgba(0,0,0,0.7);
  }
  .hero-visual img{width:100%;height:100%;object-fit:cover;}
  .hero-visual::after{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg, transparent 55%, rgba(6,6,6,0.55) 100%);
  }

  .pillars{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:1px;background:var(--line);
    border:1px solid var(--line);border-radius:var(--radius);
    overflow:hidden;
  }
  .pillar{
    background:var(--surface);
    padding:22px 20px;
    display:flex;gap:14px;align-items:flex-start;
  }
  .pillar svg{flex:none;width:22px;height:22px;color:var(--orange);margin-top:2px;}
  .pillar h4{font-family:'Inter';font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:0.04em;margin-bottom:4px;}
  .pillar p{font-size:13px;color:var(--muted);line-height:1.5;}
  @media(max-width:760px){.pillars{grid-template-columns:1fr;}}

  /* ---------- SECTION GENERIC ---------- */
  section{position:relative;z-index:1;padding:110px 0;}
  .section-head{max-width:640px;margin-bottom:64px;}
  .section-head h2{font-size:clamp(30px,4.2vw,46px);margin-top:16px;}
  .section-head p{color:var(--muted);font-size:16px;margin-top:16px;line-height:1.6;}

  /* ---------- ROTA / HOW IT WORKS ---------- */
  .route{
    display:flex;flex-direction:column;gap:0;
  }
  .stop{
    display:grid;grid-template-columns:56px 1fr;gap:28px;
    padding-bottom:56px;position:relative;
  }
  .stop:last-child{padding-bottom:0;}
  .stop-marker{
    position:relative;
    display:flex;justify-content:center;
  }
  .stop-marker .dot{
    width:14px;height:14px;border-radius:50%;
    background:var(--black);border:3px solid var(--muted-2);
    margin-top:6px;z-index:2;transition:border-color .4s ease, background .4s ease, box-shadow .4s ease;
  }
  .stop.in-view .stop-marker .dot{
    border-color:var(--orange);
    background:var(--orange);
    box-shadow:0 0 0 6px var(--orange-glow);
  }
  .stop-marker .stem{
    position:absolute;top:20px;bottom:-56px;left:50%;
    transform:translateX(-50%);width:2px;
    background:var(--line);
  }
  .stop:last-child .stop-marker .stem{display:none;}
  .stop-content{padding-top:0;}
  .stop-tag{
    font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted-2);
    letter-spacing:0.1em;margin-bottom:6px;display:block;
  }
  .stop h3{font-family:'Inter';font-weight:800;font-size:20px;text-transform:none;margin-bottom:8px;}
  .stop p{color:var(--muted);font-size:15px;line-height:1.6;max-width:540px;}

  /* ---------- SERVICES ---------- */
  .services-grid{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  }
  .service{
    background:var(--surface);padding:34px 28px;
    transition:background .25s ease;
  }
  .service:hover{background:var(--surface-2);}
  .service .num{
    font-family:'JetBrains Mono',monospace;color:var(--orange);font-size:13px;margin-bottom:20px;display:block;
  }
  .service h3{font-family:'Inter';font-weight:800;font-size:18px;text-transform:none;margin-bottom:10px;line-height:1.3;}
  .service p{color:var(--muted);font-size:14.5px;line-height:1.6;}

  /* ---------- DIFERENCIAIS ---------- */
  .diff-grid{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:20px;
  }
  .diff-card{
    border:1px solid var(--line);border-radius:var(--radius);
    padding:26px;background:var(--surface);
    display:flex;gap:16px;align-items:flex-start;
  }
  .diff-card svg{flex:none;width:24px;height:24px;color:var(--orange);}
  .diff-card h4{font-family:'Inter';font-weight:700;font-size:15.5px;text-transform:none;margin-bottom:6px;}
  .diff-card p{color:var(--muted);font-size:13.5px;line-height:1.55;}

  /* ---------- CTA BAND ---------- */
  .cta-band{
    border-radius:26px;
    background:linear-gradient(120deg, #1a1a1c, #0e0e10 60%);
    border:1px solid var(--line);
    padding:64px 48px;
    display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between;
    position:relative;overflow:hidden;
  }
  .cta-band::before{
    content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;
    background:radial-gradient(circle, var(--orange-glow), transparent 70%);
  }
  .cta-band h2{font-size:clamp(26px,3.4vw,38px);max-width:480px;position:relative;z-index:1;}
  .cta-band .cta-actions{display:flex;gap:14px;flex-wrap:wrap;position:relative;z-index:1;}

  /* ---------- CONTATO ---------- */
  .contact-grid{display:grid;grid-template-columns:1fr;gap:48px;}
  @media(min-width:900px){.contact-grid{grid-template-columns:0.9fr 1.1fr;}}
  .contact-info h2{font-size:clamp(28px,3.6vw,40px);margin:16px 0 18px;}
  .contact-info p{color:var(--muted);font-size:15.5px;line-height:1.65;max-width:420px;margin-bottom:28px;}
  .contact-list{display:flex;flex-direction:column;gap:16px;}
  .contact-item{display:flex;gap:14px;align-items:center;font-size:14.5px;}
  .contact-item svg{width:18px;height:18px;color:var(--orange);flex:none;}
  .contact-item span{color:var(--muted);}

  form{
    background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
    padding:32px;display:flex;flex-direction:column;gap:16px;
  }
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  @media(max-width:520px){.form-row{grid-template-columns:1fr;}}
  label{font-size:12.5px;color:var(--muted);margin-bottom:6px;display:block;font-weight:500;}
  input,textarea{
    width:100%;background:var(--black);border:1px solid var(--line);border-radius:9px;
    padding:12px 14px;color:var(--white);font-family:'Inter';font-size:14px;
    transition:border-color .2s ease;
  }
  input:focus,textarea:focus{outline:none;border-color:var(--orange);}
  textarea{resize:vertical;min-height:90px;}
  .form-submit{margin-top:6px;}
  .form-note{font-size:12px;color:var(--muted-2);margin-top:4px;}

  /* ---------- FOOTER ---------- */
  footer{
    border-top:1px solid var(--line);
    padding:44px 0 32px;
  }
  .footer-row{display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;}
  .footer-brand{display:flex;align-items:center;gap:10px;}
  .footer-brand img{height:30px;width:30px;object-fit:cover;border-radius:7px;}
  .footer-brand span{font-family:'Anton';font-size:16px;text-transform:uppercase;}
  .footer-note{color:var(--muted-2);font-size:12.5px;}
  .footer-social{display:flex;gap:16px;}
  .footer-social a{color:var(--muted);transition:color .2s ease;}
  .footer-social a:hover{color:var(--orange);}
  .footer-social svg{width:18px;height:18px;}

  .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease, transform .7s ease;}
  .reveal.in-view{opacity:1;transform:translateY(0);}

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