    :root{
      --primary:#E5FF00;
      --secondary:#06615E;
      --bg:#F9FAFB;
      --text:#0f172a;
      --muted:#64748b;
      --border:#e5e7eb;
	  --radius: 8px;

      --container: 1280px;  
      --gutter: 32px;

      --r-sm: 12px;
      --r: 16px;
      --r-lg: 24px;
      --r-btn: 8px;

      --shadow-sm: 0 4px 14px rgba(0,0,0,.06);
      --shadow-md: 0 14px 40px rgba(0,0,0,.16);
      --shadow-lg: 0 24px 70px rgba(0,0,0,.22);

      --nav-h: 80px;
    }

    /* Base */
    *{ box-sizing:border-box; }
    html{ scroll-behavior:smooth; }
    body{
      margin:0;
      font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      font-weight:400;
      color:var(--text);
      background:var(--bg);
    }
    img{ max-width:100%; display:block; }
    a{ color:inherit; text-decoration:none; }
    button{ font:inherit; }
    strong{ font-weight:600; }

    .material-symbols-outlined{
      font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;
      line-height:1;
      vertical-align:middle;
    }

    /* Layout */
    .container{
      width: min(var(--container), calc(100% - var(--gutter)));
      margin-inline:auto;
    }
    .section{
      position:relative;
      padding: 88px 0; /* ↑ mais respiro */
    }
    @media (min-width: 1024px){
      .section{ padding: 128px 0; }
    }

    /* Background photo layer (hero/contato) */
    .photo-bg{
      color:#fff;
      overflow:hidden;
      background:var(--secondary);
    }
    
	.photo-bg{
	  position: relative;
	  color:#fff;
	  overflow:hidden;
	  background: var(--secondary);
	}
	
	.photo-bg::before{
	  content:"";
	  position:absolute;
	  inset:0;
	  z-index:0;
	  background-image:
	    linear-gradient(rgba(6,97,94,.86), rgba(6,97,94,.28)),
	    url(../img/field.jpg);
	  background-size:cover;
	  background-position:center;
	  background-attachment:fixed;
	}
	
	.photo-bg .bg-multiply{
	  position:absolute;
	  inset:0;
	  z-index:1;
	  background: #06615E;
	  opacity:.58;              
	  mix-blend-mode:multiply;  
	  pointer-events:none;
	}
	
	.photo-bg .bg-grid{
	  position:absolute;
	  inset:0;
	  z-index:2;
	  pointer-events:none;
	  background-image:
	    linear-gradient(rgba(255,255,255,.065) 1px, transparent 1px),
	    linear-gradient(90deg, rgba(255,255,255,.065) 1px, transparent 1px);
	  background-size:40px 40px;
	  opacity: .55;            
	}
	
	.layer{ position:relative; z-index:3; }

    /* NAV */
    .nav{
      position:fixed;
      inset:0 0 auto 0;
      z-index:50;
      background:transparent;
      transition: background-color .35s ease, box-shadow .35s ease, border-color .35s ease;
    }
    .nav.scrolled{
      background: rgba(255,255,255,.86);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      box-shadow: 0 8px 24px rgba(0,0,0,.06);
      border-bottom: 1px solid rgba(229,231,235,.8);
    }
    .nav__bar{
      height: var(--nav-h);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 16px;
    }

    /* Logo (cor muda com scroll via currentColor) */
    .logo{
      display:flex;
      align-items:center;
      color: var(--primary);
      transition: color .35s ease;
    }
    .nav.scrolled .logo{ color: var(--secondary); }
    .logo svg{ width:200px; height:45px; display:block; }

    /* Links desktop */
    .nav__links{
      display:none;
      align-items:center;
      gap: 32px;
    }
    .nav__link{
      font-weight:600;
      letter-spacing:.2px;
      color: rgba(255,255,255,.92);
      transition: color .2s ease;
    }
    .nav.scrolled .nav__link{ color: #334155; }
    .nav__link:hover{ color: var(--primary); }
    .nav.scrolled .nav__link:hover{ color: var(--secondary); }

    .nav__cta{
      height:44px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding: 0 20px;
      border-radius: var(--r-btn);
      font-weight:600;
      transition: transform .2s ease, background-color .2s ease, color .2s ease;
      will-change: transform;
    }
    .nav:not(.scrolled) .nav__cta{
      background: var(--primary);
      color: var(--secondary);
      box-shadow: 0 14px 30px rgba(229,255,0,.18);
    }
    .nav:not(.scrolled) .nav__cta:hover{
      background:#d4ed00;
      transform: translateY(-2px);
    }
    .nav.scrolled .nav__cta{
      background: transparent;
      color:#334155;
      box-shadow:none;
    }
    .nav.scrolled .nav__cta:hover{
      color: var(--secondary);
      background: transparent;
      transform:none;
    }

    /* Mobile controls */
    .nav__mobile{
      display:flex;
      align-items:center;
      gap: 8px;
    }
    .icon-btn{
      border:0;
      background:transparent;
      color: rgba(255,255,255,.92);
      padding: 10px;
      border-radius: 12px;
      cursor:pointer;
      transition: background-color .2s ease, color .2s ease;
    }
    .nav.scrolled .icon-btn{ color:#334155; }
    .icon-btn:hover{ background: rgba(255,255,255,.10); }
    .nav.scrolled .icon-btn:hover{ background: rgba(2,6,23,.06); }

    .mobile-panel{
      position:fixed;
      top: var(--nav-h);
      left:0; right:0;
      z-index:49;
      background: rgba(255,255,255,.92);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border-bottom:1px solid rgba(229,231,235,.9);
      box-shadow: 0 18px 50px rgba(0,0,0,.10);
      transform: translateY(-12px);
      opacity:0;
      pointer-events:none;
      transition: opacity .2s ease, transform .2s ease;
    }
    .mobile-panel.open{
      transform: translateY(0);
      opacity:1;
      pointer-events:auto;
    }
    .mobile-panel__inner{
      padding: 16px 0;
      display:flex;
      flex-direction:column;
      gap: 10px;
    }
    .mobile-panel a{
      display:block;
      padding: 14px 16px;
      border-radius: 14px;
      font-weight:600;
      color:#0f172a;
      background: rgba(2,6,23,.04);
      transition: background-color .2s ease, color .2s ease;
    }
    .mobile-panel a:hover{
      background: rgba(6,97,94,.10);
      color: var(--secondary);
    }

    @media (min-width: 768px){
      .nav__links{ display:flex; }
      .nav__mobile, .mobile-panel{ display:none; }
    }

    .pill, .tag{
      display:inline-flex;
      align-items:center;
      gap: 10px;
      padding: 10px 16px;           
      border-radius: 999px;
      font-size: .95rem;
      letter-spacing:.2px;
      font-weight:400;            
      white-space: nowrap;
    }
    .pill{
      color: rgba(236,253,245,.92);
      border:1px solid rgba(255,255,255,.20);
	  margin-bottom: clamp(10px, 2vw, 16px);
      background: rgba(255,255,255,.05);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }
    .pill .material-symbols-outlined{ color: var(--primary); font-size: 18px; }

    .tag{
      color: var(--secondary);
      border:1px solid rgba(6,97,94,.12);
      background: rgba(6,97,94,.10);
    }
    .tag .material-symbols-outlined{ font-size: 18px; }

    /* HERO */
    #hero{ padding: calc(var(--nav-h) + 72px) 0 140px; } /* ↑ mais respiro */
    @media (min-width: 1024px){
      #hero{ padding: calc(var(--nav-h) + 92px) 0 170px; }
    }
    .hero__grid{
      display:grid;
      grid-template-columns: 1fr;
      gap: 56px; /* ↑ */
      align-items:center;
    }
    @media (min-width: 1024px){
      .hero__grid{ grid-template-columns: 1.05fr .95fr; }
    }
    .hero__title{
      margin: 18px 0 14px;
      font-weight:200;
      letter-spacing:-.02em;
      line-height:1.02;
      font-size: clamp(2.8rem, 4vw + 1rem, 5rem);
    }
    .hero__title .accent{ color: var(--primary); font-weight:600; }
    .hero__sub{
      max-width: 40rem;
      margin:0;
      color: rgba(236,253,245,.90);
      font-size: 1.12rem;
      line-height:1.65;
    }
    .actions{
      display:flex;
      flex-direction:column;
      gap: 14px;
      margin-top: 34px;
      align-items:flex-start;
    }
    @media (min-width: 520px){
      .actions{ flex-direction:row; align-items:center; }
    }

    /* Buttons */
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap: 10px;
      padding: 16px 22px;
      border-radius: 14px;
      font-weight:600;
      border:1px solid transparent;
      cursor:pointer;
      user-select:none;
      transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease, border-color .2s ease;
    }
    .btn.primary{
      background:#fff;
      color: var(--secondary);
      box-shadow: var(--shadow-md);
    }
    .btn.primary:hover{
      background:#f8fafc;
      transform: translateY(-2px);
    }
    .btn.ghost{
      color:#fff;
      background: rgba(6,97,94,.30);
      border-color: rgba(255,255,255,.20);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }
    .btn.ghost:hover{ background: rgba(6,97,94,.42); }

    /* Mock */
    .mock-wrap{ position:relative; display:flex; justify-content:center; padding: 12px 0; }
    .glow{
      position:absolute;
      width: 420px; height: 420px;
      border-radius: 999px;
      background: rgba(229,255,0,.16);
      filter: blur(120px);
      z-index:0;
    }
    .mock{
      position:relative;
      z-index:1;
      width:min(560px, 100%);
      transition: transform .7s ease;
    }
    .mock:hover{ transform: scale(1.01); }
    .mock__top{
      background:#1f2937;
      border:1px solid rgba(148,163,184,.25);
      border-bottom:0;
      border-radius: 22px 22px 0 0;
      padding: 10px;
      box-shadow: var(--shadow-lg);
    }
    .mock__screen{
      border-radius: 14px 14px 0 0;
      overflow:hidden;
      background:#000;
      aspect-ratio: 16/9;
      border: 1px solid rgba(148,163,184,.18);
      position:relative;
    }
    .mock__screen img{ width:100%; height:100%; object-fit:cover; opacity:.82; }
    .mock__overlay{
      position:absolute; inset:0;
      background: linear-gradient(to top, rgba(0,0,0,.72), rgba(0,0,0,0) 55%);
      display:flex; align-items:flex-end;
      padding: 22px;
    }
    .mock__kicker{
      font-size:.65rem;
      letter-spacing:.22em;
      text-transform:uppercase;
      color: rgba(74,222,128,.88);
      margin:0 0 6px;
      font-weight:600;
    }
    .mock__title{
      margin:0;
      font-weight:600;
      font-size:1.12rem;
      color:#fff;
    }
    .mock__bottom{
      height: 18px;
      width:104%;
      margin-left:-2%;
      background:#0f172a;
      border-top:1px solid rgba(148,163,184,.25);
      border-radius: 0 0 22px 22px;
      display:flex; align-items:center; justify-content:center;
      box-shadow: var(--shadow-lg);
    }
    .mock__notch{ width:64px;height:4px;border-radius:999px;background:rgba(148,163,184,.35); }
    .mock__shadow{
      position:absolute;
      bottom:-18px; left:50%;
      transform:translateX(-50%);
      width:75%; height:10px;
      border-radius:999px;
      background: rgba(0,0,0,.35);
      filter: blur(14px);
      z-index:0;
    }

    /* Headings */
    .h2{
      margin: 14px 0 10px;
      font-size: clamp(2.1rem, 2vw + 1.2rem, 3.2rem);
      letter-spacing:-.02em;
      font-weight:600;
    }
    .lead{
      margin:0;
      color: var(--muted);
      font-size: 1.18rem;
      line-height:1.65;
    }

    /* Solução */
    #solucao{ background: var(--bg); }
    .grid-2{
      display:grid;
      grid-template-columns: 1fr;
      gap: 64px; /* ↑ */
      align-items:start;
    }
    @media (min-width: 1024px){
      .grid-2{ grid-template-columns: 1fr 1fr; align-items:center; }
    }

	.media-card{
	  position:relative;
	  border-radius: 100px 0 100px 0;
	  box-shadow: var(--shadow-lg);
	}
	
	/* wrapper que realmente faz o clipping */
	.media-clip{
	  overflow:hidden;
	  border-radius: inherit; /* herda os cantos assimétricos */
	  border:4px solid rgba(255,255,255,.95);
	  background:#fff;
	  position:relative;
	}
	
	/* imagem */
	.media-clip img{
	  width:100%;
	  display:block;
	  transition: transform 1s ease;
	}
	
	/* hover suave */
	.media-card:hover .media-clip img{
	  transform: scale(1.05);
	}
	
	/* overlay continua funcionando */
	.media-clip::after{
	  content:"";
	  position:absolute;
	  inset:0;
	  background: linear-gradient(45deg, rgba(6,97,94,.45), rgba(6,97,94,0));
	  mix-blend-mode:multiply;
	  pointer-events:none;
	}

    .badge{
      position:absolute;
      left: 20px; bottom: 20px;
      display:flex;
      gap: 14px;
      align-items:center;
      background: rgba(255,255,255,.92);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      border: 1px solid rgba(255,255,255,.30);
      border-radius: 18px;
      padding: 16px;
      max-width: 340px;
      box-shadow: var(--shadow-sm);
      z-index:2;
    }
    .badge__icon{
      width:48px;height:48px;border-radius:14px;
      display:grid;place-items:center;
      background: rgba(6,97,94,.10);
      color: var(--secondary);
      flex:0 0 auto;
    }
    .badge__kicker{
      margin:0 0 6px;
      font-size:.65rem;
      letter-spacing:.22em;
      text-transform:uppercase;
      color:#64748b;
      font-weight:600;
    }
    .badge__text{
      margin:0;
      font-weight:600;
      color:#0f172a;
      line-height:1.2;
    }

/* Ticker sobre a imagem */
.ticker{
  position:absolute;
  left: 20px;
  bottom: 20px;
  z-index: 3;

  display:flex;
  align-items:center;
  gap: 14px;

  width: fit-content;
  max-width: calc(100% - 40px);
  padding: 16px 18px;

  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.22);

  background: rgba(255,255,255,.80); /* + transparência */
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  box-shadow: 0 18px 50px rgba(0,0,0,.14);
  color: #0f172a;

  overflow:hidden;
  isolation:isolate;
}

.ticker__icon{
  width: 55px;
  height: 55px;
  min-width: 54px; /* segurança extra */
  min-height: 54px;
  
  border-radius: 16px;

  display:grid;
  place-items:center;

  background: rgba(6,97,94,.10);
  color: var(--secondary);
  flex: 0 0 auto;

  width: fit-content;
  max-width: calc(100% - 40px);

  transition: width .35s ease, height .35s ease, transform .25s ease;
  will-change: width, height, transform;

}

.ticker__ms{ font-size: 26px; }

.ticker__text{
  min-width: 0;
  flex: 1 1 auto;
}

.ticker__kicker{
  margin: 0 0 6px;
  font-size: .70rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(100,116,139,.95);
  font-weight: 600;
}

.ticker__title{
  margin: 0 0 4px;
  font-weight: 600;
  font-size: 1.15rem;
  line-height: 1.15;
}

.ticker__desc{
  margin: 0;
  color: rgba(71,85,105,.95);
  font-size: .98rem;
  line-height: 1.35;
}

.ticker.is-swapping .ticker__text{
  animation: tickerOut .28s ease forwards;
}
.ticker.is-swapping-in .ticker__text{
  animation: tickerIn .34s ease forwards;
}

@keyframes tickerOut{
  to{ opacity:0; transform: translateY(6px); }
}
@keyframes tickerIn{
  from{ opacity:0; transform: translateY(-6px); }
  to{ opacity:1; transform: translateY(0); }
}

    /* Benefícios */
    #beneficios{
      background:#fff;
      border-top:1px solid rgba(229,231,235,.7);
      border-bottom:0;
      padding-bottom: 120px; /* ↑ para manter respiro antes do contato */
    }
    .center{
      text-align:center;
      max-width: 860px;
      margin: 0 auto 52px;
    }
    .benefits{
      display:grid;
      grid-template-columns: 1fr;
      gap: 18px;
    }
    @media (min-width: 640px){
      .benefits{ grid-template-columns: repeat(2, 1fr); gap: 20px; }
    }
    @media (min-width: 1024px){
      .benefits{ grid-template-columns: repeat(4, 1fr); gap: 20px; }
    }
    .card{
      background: var(--bg);
      border:1px solid rgba(2,6,23,.04);
      border-radius: var(--r);
      padding: 30px 24px; /* ↑ */
      text-align:center;
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }
    .card:hover{
      transform: translateY(-2px);
      box-shadow: inset 0 0 20px rgba(46, 204, 113, 0.10), inset 0 0 10px rgba(0, 255, 255, 0.05);
      border-color: rgba(6,97,94,.20);
    }
    .card__icon{
      display:inline-grid;
      place-items:center;
      width: 84px;
      height: 84px;
      margin: 0 auto 16px;
      color: var(--secondary);
      transition: transform .2s ease;
    }
    .card:hover .card__icon{ transform: scale(1.08); }
    .card__icon .material-symbols-outlined{ font-size: 64px; }
    .card__title{ margin:0 0 8px; font-weight:600; font-size:1.08rem; }
    .card__desc{ margin:0; color: var(--muted); font-size:.95rem; line-height:1.55; }

    /* Contato */
    #contato{
      padding: 150px 0 120px;  /* ↑ muito mais respiro */
      margin-top: -1px;        /* elimina seam */
    }
    .contact-head{
      text-align:center;
      margin: 0 auto 44px;
      max-width: 900px;
      padding-top: 26px;       /* ↑ afasta do wave */
    }
    .contact-head h2{
      margin:0 0 14px;
      font-size: clamp(2.1rem, 2.2vw + 1rem, 3.4rem);
      font-weight:600;
      letter-spacing:-.02em;
    }
    .contact-head p{
      margin:0;
      color: rgba(236,253,245,.90);
      font-size:1.15rem;
      line-height:1.7;
    }
    .form-card{
      width:min(720px, 100%);  /* ↑ mais largo */
      margin: 0 auto;
      background: rgba(255,255,255,.98);
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 28px;
      padding: 36px;
      box-shadow: var(--shadow-lg);
      color: var(--text);
    }
    @media (min-width: 768px){
      .form-card{ padding: 44px; }
    }
    .form-grid{
      display:grid;
      grid-template-columns: 1fr;
      gap: 18px;
    }
    @media (min-width: 768px){
      .form-grid{ grid-template-columns: 1fr 1fr; gap: 20px; }
    }
    label{
      display:block;
      font-size:.9rem;
      font-weight:600;
      color:#334155;
      margin:0 0 10px;
    }
    .input{
      width:100%;
      border-radius: 14px;
      border:1px solid var(--border);
      background:#f8fafc;
      padding: 14px 16px;
      outline:none;
      transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
    }
    .input:focus{
      border-color: rgba(6,97,94,.45);
      box-shadow: 0 0 0 4px rgba(6,97,94,.12);
      background:#fff;
    }
    .fine{
      text-align:center;
      color:#64748b;
      font-size:.78rem;
      margin:0;
    }
    .contact-footer{
      margin-top: 56px;
      display:flex;
      flex-direction:column;
      align-items:center;
      gap: 16px;
      color: rgba(255,255,255,.75);
      text-align:center;
    }
    .email-pill{
      display:inline-flex;
      align-items:center;
      gap: 12px;
      padding: 14px 22px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.14);
      background: rgba(255,255,255,.10);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      transition: border-color .2s ease, color .2s ease, background-color .2s ease;
      color:#fff;
      font-weight:600;
    }
    .email-pill:hover{
      border-color: rgba(229,255,0,.45);
      color: var(--primary);
      background: rgba(255,255,255,.12);
    }
    .email-pill .material-symbols-outlined{ font-size:20px; }

	.btn,
	.input {
	  border-radius: var(--radius);
	}

    /* Waves */
    .wave{
      position:absolute;
      left:0;
      width:100%;
      overflow:hidden;
      line-height:0;
      z-index:4;
    }
    .wave svg{
      display:block;
      width: calc(100% + 1.3px);
      height: 120px;
    }
    .wave.bottom{ bottom:0; }
    .wave.top{ top:-1px; transform: rotate(180deg); }
    .fill-hero{ fill: var(--bg); }
    .fill-white{ fill: #ffffff; }

    /* Tiny utility (centralize tag no benefits) */
    .center-inline{ display:flex; justify-content:center; }

    /* Improve fixed background on mobile */
    @media (max-width: 768px){
      .photo-bg::before{ background-attachment: scroll; }
    }