:root {
    --blue:    #45f8ff;
    --purple:  #bf4aa8;
    --gold:    #c9a84c;
    --grad:    linear-gradient(135deg, #45f8ff 0%, #bf4aa8 100%);
    --bg:      #f0f0f0;
    --bg2:     #e6e6e6;
    --surface: #ffffff;
    --border:  #d0d0d0;
    --border-s:#b0b0b0;
    --text:    #111111;
    --text2:   #444444;
    --muted:   #888888;
    --dark-ft: #0d0d0d;
  }
  * { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body {
    background:var(--bg);
    color:var(--text);
    font-family:'Montserrat',sans-serif;
    font-size:14px; font-weight:400; line-height:1.7;
    overflow-x:hidden;
  }

  /* ── NAVBAR ── */
  nav {
    position:fixed; top:0; left:0; right:0; z-index:200;
    display:flex; align-items:center; justify-content:space-between;
    padding:0 56px; height:72px; transition:all 0.4s;
  }
  nav.scrolled {
    background:rgba(240,240,240,0.97);
    backdrop-filter:blur(16px);
    border-bottom:1px solid var(--border);
    box-shadow:0 1px 20px rgba(0,0,0,0.07);
  }
  .nav-logo img { height:42px; width:auto; display:block; }
  .nav-links { display:flex; gap:40px; list-style:none; }
  .nav-links a {
    color:rgba(255,255,255,0.7);
    text-decoration:none; font-size:10px; font-weight:600;
    letter-spacing:3px; text-transform:uppercase; transition:color 0.2s;
  }
  nav.scrolled .nav-links a { color:var(--muted); }
  nav.scrolled .nav-links a:hover { color:#0abfcc; }
  .nav-links a:hover { color:#fff; }
  .nav-cta {
    background:var(--grad); color:#111; border:none;
    padding:10px 28px; font-family:'Montserrat',sans-serif;
    font-size:10px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase;
    cursor:pointer; text-decoration:none; display:inline-block; transition:opacity 0.2s;
    border-radius:50px;
  }
  .nav-cta:hover { opacity:0.85; }

  /* ── HERO SLIDER ── */
  .hero { position:relative; width:100%; height:100vh; min-height:620px; overflow:hidden; }
  .slide {
    position:absolute; inset:0; opacity:0; transition:opacity 1.2s ease;
    background-size:cover; background-position:center;
  }
  .slide.active { opacity:1; }
  .slide-1 { background-image:url('../images/slider/slider-01.jpg'); }
  .slide-2 { background-image:url('../images/slider/slider-02.jpg'); }
  .slide-3 { background-image:url('../images/slider/slider-03.jpg'); }
  .slide-4 { background-image:url('../images/slider/slider-04.jpg'); }
  .slide-5 { background-image:url('../images/slider/slider-05.jpg'); }
  .slide-6 { background-image:url('../images/slider/slider-06.jpg'); }
  .slide-7 { background-image:url('../images/slider/slider-07.jpg'); }
  .slide::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,0.03) 0px,rgba(255,255,255,0.03) 1px,transparent 1px,transparent 10px);
  }
  .slide::after {
    content:''; position:absolute; inset:0; pointer-events:none;
    background:
      radial-gradient(ellipse 50% 50% at 14% 18%,rgba(69,248,255,0.09) 0%,transparent 55%),
      radial-gradient(ellipse 38% 42% at 84% 80%,rgba(191,74,168,0.08) 0%,transparent 55%);
  }
  .slide-overlay {
    position:absolute; inset:0; z-index:1;
    background:linear-gradient(to bottom,rgba(0,0,0,0.25) 0%,rgba(0,0,0,0.15) 30%,rgba(0,0,0,0.55) 72%,rgba(0,0,0,0.88) 100%);
  }
  .slide-line { position:absolute; top:0; left:0; width:3px; height:100%; z-index:2; background:var(--grad); }
  .slide-tag {
    position:absolute; bottom:148px; left:56px; z-index:5;
    font-size:9px; font-weight:500; letter-spacing:4px; text-transform:uppercase;
    color:rgba(255,255,255,0.45);
    opacity:0; transform:translateY(8px); transition:all 0.7s ease 0.5s;
  }
  .slide.active .slide-tag { opacity:1; transform:translateY(0); }

  .hero-content {
    position:absolute; inset:0; z-index:10;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center; padding:100px 52px 220px; pointer-events:none;
  }
  .hero-eyebrow {
    font-size:9px; font-weight:700; letter-spacing:6px; text-transform:uppercase;
    margin-bottom:28px;
    background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
    pointer-events:auto;
  }
  .hero h1 {
    font-size:clamp(52px,9vw,112px); font-weight:800;
    line-height:0.96; letter-spacing:-1px;
    color:#ffffff; margin-bottom:16px;
    text-shadow:0 2px 28px rgba(0,0,0,0.3); text-transform:uppercase;
  }
  .hero h1 .accent {
    font-weight:200;
    background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  }
  .hero-sub {
    font-size:9px; font-weight:500; letter-spacing:6px; text-transform:uppercase;
    color:rgba(255,255,255,0.45); margin-bottom:48px;
  }
  .hero-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; pointer-events:auto; }
  .btn-grad {
    background:var(--grad); color:#111; border:none; padding:13px 38px;
    font-family:'Montserrat',sans-serif; font-size:10px; font-weight:700;
    letter-spacing:2.5px; text-transform:uppercase;
    cursor:pointer; text-decoration:none; display:inline-block; transition:opacity 0.2s;
    border-radius:50px;
  }
  .btn-grad:hover { opacity:0.85; }
  .btn-ghost-hero {
    background:transparent; color:#fff; border:1px solid rgba(255,255,255,0.3); padding:13px 38px;
    font-family:'Montserrat',sans-serif; font-size:10px; font-weight:500;
    letter-spacing:2.5px; text-transform:uppercase;
    cursor:pointer; text-decoration:none; display:inline-block; transition:all 0.2s;
    border-radius:50px;
  }
  .btn-ghost-hero:hover { border-color:var(--blue); color:var(--blue); }

  /* ── Slider controls ── */
  .slider-controls {
    position:absolute; bottom:56px; left:0; right:0;
    display:flex; align-items:center; justify-content:center; gap:10px; z-index:20;
  }
  .dot { width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,0.25); cursor:pointer; transition:all 0.3s; border:none; padding:0; }
  .dot.active { background:var(--blue); width:26px; border-radius:2px; box-shadow:0 0 10px var(--blue); }
  .slider-arrows { position:absolute; bottom:44px; right:56px; display:flex; gap:8px; z-index:20; }
  .arrow-btn {
    width:42px; height:42px; border:1px solid rgba(255,255,255,0.2);
    background:rgba(0,0,0,0.3); color:#fff; cursor:pointer; font-size:14px;
    display:flex; align-items:center; justify-content:center;
    transition:all 0.2s; backdrop-filter:blur(4px); font-family:'Montserrat',sans-serif;
  }
  .arrow-btn:hover { border-color:var(--blue); color:var(--blue); }
  .slide-counter {
    position:absolute; bottom:60px; left:56px;
    font-size:9px; font-weight:600; letter-spacing:3px; color:rgba(255,255,255,0.35); z-index:20;
  }
  .slide-counter span { color:var(--blue); }
  .slide-progress { position:absolute; bottom:0; left:0; height:3px; background:var(--grad); z-index:20; }

  /* ── HERO BADGES (bottom center, above dots) ── */
  .hero-badges {
    position:absolute; bottom:80px; left:50%; transform:translateX(-50%);
    z-index:20; display:flex; align-items:center; gap:16px;
  }
  .hero-badge-img {
    height:80px; width:auto; opacity:0.92;
    filter:drop-shadow(0 2px 8px rgba(0,0,0,0.4));
    transition:opacity 0.2s, transform 0.2s;
  }
  .hero-badge-img:hover { opacity:1; transform:scale(1.04); }

  /* ── AWARDS BAR (abaixo do hero) ── */
  .awards-bar {
    background:var(--surface); border-bottom:1px solid var(--border);
    padding:28px 56px;
    display:flex; align-items:center; justify-content:center; gap:48px; flex-wrap:wrap;
  }
  .awards-bar a { display:flex; align-items:center; gap:0; text-decoration:none; transition:opacity 0.2s; }
  .awards-bar a:hover { opacity:0.8; }
  .award-badge { height:80px; width:auto; }
  .awards-divider { width:1px; height:64px; background:var(--border); flex-shrink:0; }
  .social-links { display:flex; align-items:center; gap:20px; }
  .social-link {
    display:flex; align-items:center; gap:8px;
    text-decoration:none; color:var(--text2); transition:color 0.2s;
  }
  .social-link:hover { color:#0abfcc; }
  .social-icon { height:28px; width:auto; }
  .social-text { font-size:10px; font-weight:600; letter-spacing:1.5px; line-height:1.5; }
  .social-label { font-size:8px; font-weight:500; letter-spacing:2px; text-transform:uppercase; color:var(--muted); display:block; }
  .social-name { font-size:11px; font-weight:700; display:block; }

  /* ── SECTIONS ── */
  .section-inner { padding:96px 56px; max-width:1240px; margin:0 auto; }
  .section-eyebrow {
    font-size:9px; font-weight:700; letter-spacing:4px; text-transform:uppercase;
    margin-bottom:14px; display:inline-block;
    background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  }
  .section-title {
    font-size:clamp(32px,4.5vw,52px); font-weight:800; text-transform:uppercase;
    letter-spacing:-0.5px; color:var(--text); margin-bottom:8px; line-height:1.05;
  }
  .section-title .light { font-weight:200; }
  .section-divider { width:40px; height:2px; background:var(--grad); margin-bottom:44px; margin-top:16px; }

  /* ── SOBRE ── */
  .sobre-wrap { background:var(--surface); border-bottom:1px solid var(--border); }
  .sobre-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
  .sobre-text p { color:var(--text2); margin-bottom:18px; line-height:1.9; font-size:14px; font-weight:300; }
  .btn-outline-dark {
    background:transparent; color:var(--text); border:1px solid var(--border-s); padding:12px 30px;
    font-family:'Montserrat',sans-serif; font-size:9px; font-weight:700;
    letter-spacing:2.5px; text-transform:uppercase;
    cursor:pointer; text-decoration:none; display:inline-block; transition:all 0.2s; margin-top:8px;
    border-radius:50px;
  }
  .btn-outline-dark:hover { border-color:#45f8ff; color:#0abfcc; }

  .stats-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .stat-box {
    background:var(--bg); border:1px solid var(--border);
    padding:28px 24px; text-align:center; position:relative; overflow:hidden;
  }
  .stat-box::before { content:''; position:absolute; top:0;left:0;right:0;height:2px; background:var(--grad); }
  .stat-number {
    font-size:54px; font-weight:800; line-height:1; margin-bottom:6px;
    background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  }
  .stat-label { font-size:8px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--muted); }

  /* ── AWARDS SECTION (dentro do sobre ou standalone) ── */
  .awards-section {
    background:var(--bg2); border-top:1px solid var(--border); border-bottom:1px solid var(--border);
    padding:48px 56px;
  }
  .awards-section-inner { max-width:1240px; margin:0 auto; }
  .awards-section-title {
    font-size:9px; font-weight:700; letter-spacing:4px; text-transform:uppercase; color:var(--muted);
    text-align:center; margin-bottom:32px;
  }
  .awards-grid {
    display:flex; align-items:center; justify-content:center;
    gap:40px; flex-wrap:wrap;
  }
  .awards-grid a { display:block; text-decoration:none; transition:transform 0.2s, opacity 0.2s; }
  .awards-grid a:hover { transform:scale(1.05); opacity:0.85; }
  .awards-grid img { height:100px; width:auto; display:block; }

  /* ── SERVIÇOS ── */
  .servicos-wrap { background:var(--bg); }
  .servicos-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
  .servico-card {
    background:var(--surface); border:1px solid var(--border);
    padding:36px 24px; transition:all 0.3s; position:relative; overflow:hidden;
  }
  .servico-card::after { content:''; position:absolute; bottom:0;left:0;right:0;height:2px; background:var(--grad); transform:scaleX(0); transition:transform 0.3s; }
  .servico-card:hover { box-shadow:0 8px 40px rgba(69,248,255,0.08); border-color:#aadede; }
  .servico-card:hover::after { transform:scaleX(1); }
  .servico-card:hover .servico-icon { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
  .servico-icon { font-size:24px; margin-bottom:20px; color:var(--muted); transition:all 0.3s; }
  .servico-title { font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:1px; color:var(--text); margin-bottom:12px; }
  .servico-desc { font-size:13px; color:var(--text2); line-height:1.9; font-weight:300; }

  /* ── PORTFÓLIO ── */
  .portfolio-wrap { background:var(--surface); }
  .gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
  .gallery-item {
    background:var(--bg); border:1px solid var(--border);
    aspect-ratio:4/3; display:flex; align-items:center; justify-content:center;
    position:relative; overflow:hidden; cursor:pointer; transition:border-color 0.3s;
  }
  .gallery-item:first-child { grid-column:span 2; aspect-ratio:16/7; }
  .gallery-item:hover { border-color:#45f8ff; }
  .gallery-placeholder { display:flex; flex-direction:column; align-items:center; gap:10px; color:var(--muted); }
  .gallery-placeholder span { font-size:26px; }
  .gallery-placeholder p { font-size:8px; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; }
  .gallery-overlay { position:absolute; inset:0; opacity:0; transition:opacity 0.3s; background:linear-gradient(135deg,rgba(69,248,255,0.07),rgba(191,74,168,0.07)); display:flex; align-items:center; justify-content:center; }
  .gallery-item:hover .gallery-overlay { opacity:1; }
  .gallery-overlay span { font-size:24px; }

  /* ── VÍDEO ── */
  .video-wrap { background:#0c0c0c; border-top:1px solid #1c1c1c; border-bottom:1px solid #1c1c1c; }
  .video-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
  .video-frame { background:#181818; border:1px solid #282828; aspect-ratio:16/9; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
  .video-play-btn { width:68px; height:68px; border-radius:50%; background:var(--grad); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:opacity 0.2s; }
  .video-play-btn:hover { opacity:0.85; }
  .video-play-btn::after { content:''; border-top:11px solid transparent; border-bottom:11px solid transparent; border-left:19px solid #111; margin-left:4px; }
  .video-label { position:absolute; bottom:14px; left:16px; font-size:8px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:#3a3a3a; }
  .video-content .section-title { color:#d9d9d9; }
  .video-content .section-title .light { color:#555; }
  .video-content p { color:#ffffff; line-height:1.9; margin-bottom:20px; font-size:13px; font-weight:300; }

  /* ── TESTEMUNHOS ── */
  .testimonials-wrap { background:var(--bg); }
  .testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:48px; }
  .testimonial { background:var(--surface); border:1px solid var(--border); padding:32px 28px; transition:all 0.3s; }
  .testimonial:hover { box-shadow:0 6px 28px rgba(69,248,255,0.07); border-color:#aadede; }
  .stars { font-size:12px; margin-bottom:16px; letter-spacing:3px; background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
  .testimonial-text { font-size:14px; font-weight:300; color:var(--text2); line-height:1.9; margin-bottom:24px; }
  .testimonial-author { display:flex; align-items:center; gap:12px; }
  .author-avatar { width:38px; height:38px; border-radius:50%; background:var(--grad); display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:800; color:#111; flex-shrink:0; }
  .author-name { font-size:12px; font-weight:700; color:var(--text); margin-bottom:2px; }
  .author-event { font-size:9px; font-weight:500; color:var(--muted); letter-spacing:1.5px; text-transform:uppercase; }

  /* ── TRUST BAR (antes do CTA) ── */
  .trust-bar {
    background:var(--surface); border-top:1px solid var(--border); border-bottom:1px solid var(--border);
    padding:36px 56px;
    display:flex; align-items:center; justify-content:center; gap:48px; flex-wrap:wrap;
  }
  .trust-bar a { display:block; text-decoration:none; transition:transform 0.2s,opacity 0.2s; }
  .trust-bar a:hover { transform:scale(1.04); opacity:0.85; }
  .trust-bar img { height:88px; width:auto; display:block; }

  /* ── CTA ── */
  .cta-band { padding:80px 56px; text-align:center; background:linear-gradient(135deg,#0a1818 0%,#140d1a 100%); position:relative; overflow:hidden; }
  .cta-band::before { content:''; position:absolute; top:-80px;left:50%;transform:translateX(-50%);width:600px;height:280px;background:radial-gradient(ellipse,rgba(69,248,255,0.06) 0%,transparent 65%); }
  .cta-band h2 { font-size:clamp(28px,4.5vw,50px); font-weight:800; text-transform:uppercase; letter-spacing:-0.5px; color:#d9d9d9; margin-bottom:12px; }
  .cta-band h2 .light { font-weight:200; }
  .cta-band p { color:#ffffff; font-size:13px; margin-bottom:36px; font-weight:300; }

  /* ── CONTACTO ── */
  .contacto-wrap { background:var(--surface); border-top:1px solid var(--border); }
  .contacto-grid { display:grid; grid-template-columns:1fr 1fr; gap:88px; align-items:start; }
  .contact-items { display:flex; flex-direction:column; gap:20px; margin-top:28px; }
  .contact-item { display:flex; align-items:flex-start; gap:14px; }
  .contact-icon-wrap { width:32px; height:32px; display:flex; align-items:center; justify-content:center; font-size:22px; flex-shrink:0; }
  .contact-label { font-size:8px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--muted); margin-bottom:3px; }
  .contact-value { font-size:13px; font-weight:400; color:var(--text); }
  .contact-value a { color:var(--text); text-decoration:none; transition:color 0.2s; }
  .contact-value a:hover { color:#0abfcc; }
  .contact-form { display:flex; flex-direction:column; gap:12px; }
  .form-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .form-group { display:flex; flex-direction:column; gap:5px; }
  .form-label { font-size:8px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--muted); }
  .form-input,.form-select,.form-textarea {
    background:var(--bg); border:1px solid var(--border); color:var(--text);
    padding:11px 13px; font-family:'Montserrat',sans-serif; font-size:13px; font-weight:400;
    outline:none; transition:border-color 0.2s; width:100%; -webkit-appearance:none;
  }
  .form-input:focus,.form-select:focus,.form-textarea:focus { border-color:#45f8ff; background:var(--surface); }
  .form-input::placeholder,.form-textarea::placeholder { color:var(--muted); font-weight:300; }
  .form-select { cursor:pointer; color:var(--text2); }
  .form-textarea { resize:vertical; min-height:110px; }

  /* ── FOOTER ── */
  footer { background:var(--dark-ft); padding:36px 56px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; }
  .footer-logo img { height:34px; width:auto; }
  .footer-badges { display:flex; align-items:center; gap:16px; }
  .footer-badges img { height:44px; width:auto; opacity:0.75; transition:opacity 0.2s; }
  .footer-badges img:hover { opacity:1; }
  .footer-copy { font-size:9px; font-weight:500; letter-spacing:1.5px; text-transform:uppercase; color:#ffffff; }
  .footer-links { display:flex; gap:10px; }
  .footer-links a { width:36px; height:36px; border:1px solid #1e1e1e; display:flex; align-items:center; justify-content:center; font-size:15px; color:#333; text-decoration:none; transition:all 0.2s; }
  .footer-links a:hover { color:var(--blue); border-color:var(--blue); }

  /* ── RESPONSIVE ── */
  @media(max-width:900px){
    nav { padding:0 24px; }
    .nav-links { display:none; }
    .nav-links a { color:var(--muted); }
    .section-inner { padding:60px 24px; }
    .sobre-grid,.contacto-grid,.video-grid { grid-template-columns:1fr; gap:40px; }
    .stats-grid { grid-template-columns:repeat(4,1fr); }
    .servicos-grid { grid-template-columns:repeat(2,1fr); }
    .gallery-grid { grid-template-columns:repeat(2,1fr); }
    .gallery-item:first-child { grid-column:span 2; }
    .testimonials-grid { grid-template-columns:1fr; }
    footer { flex-direction:column; align-items:flex-start; padding:28px 24px; }
    .form-row { grid-template-columns:1fr; }
    .cta-band { padding:52px 24px; }
    .slide-counter,.slider-arrows,.slide-tag,.hero-badges { display:none; }
    .hero-content { padding:80px 24px 150px; }
    .awards-bar { padding:20px 24px; gap:24px; }
    .trust-bar { padding:28px 24px; gap:24px; }
    .awards-section { padding:32px 24px; }
    .awards-grid img { height:72px; }
  }
  @media(max-width:600px){
    .stats-grid { grid-template-columns:repeat(2,1fr); }
    .servicos-grid { grid-template-columns:1fr; }
    .gallery-grid { grid-template-columns:1fr; }
    .gallery-item:first-child { grid-column:span 1; aspect-ratio:4/3; }
  }

  /* ── PORTFOLIO SLIDER ── */
  .pf-slider-wrap {
    position:relative; overflow:hidden; width:100%;
    border-radius:0;
  }
  .pf-track {
    display:flex; transition:transform 0.5s cubic-bezier(0.4,0,0.2,1);
    will-change:transform;
  }
  .pf-slide {
    min-width:100%; height:520px;
    background-size:cover; background-position:center;
    flex-shrink:0;
  }
  @media(max-width:900px){ .pf-slide { height:280px; } }
  .pf-arrow {
    position:absolute; top:50%; transform:translateY(-50%);
    width:48px; height:48px;
    background:rgba(0,0,0,0.45); backdrop-filter:blur(4px);
    border:1px solid rgba(255,255,255,0.2); color:#fff;
    cursor:pointer; font-size:18px; font-family:'Montserrat',sans-serif;
    display:flex; align-items:center; justify-content:center;
    transition:all 0.2s; z-index:10;
  }
  .pf-arrow:hover { background:var(--grad); border-color:transparent; color:#111; }
  .pf-prev { left:16px; }
  .pf-next { right:16px; }
  .pf-dots {
    position:absolute; bottom:16px; left:50%; transform:translateX(-50%);
    display:flex; gap:8px; z-index:10;
  }
  .pf-dot {
    width:6px; height:6px; border-radius:50%;
    background:rgba(255,255,255,0.4); cursor:pointer;
    transition:all 0.3s; border:none; padding:0;
  }
  .pf-dot.active { background:#fff; width:20px; border-radius:3px; }