:root{
    --green: #78BE20;
    --green-dark: #5B9418;
    --green-soft: #EAF6D9;
    --orange: #FF6C0E;
    --orange-dark: #E85D04;
    --orange-soft: #FFE9D9;
    --ink: #1C2230;
    --ink-2: #5B6472;
    --ink-3: #939BA6;
    --bg: #FBFAF6;
    --white: #FFFFFF;
    --border: rgba(28,34,48,0.08);
    --shadow: 0 20px 50px rgba(28,34,48,0.08);
    --shadow-lg: 0 30px 70px rgba(28,34,48,0.14);
    --radius-lg: 32px;
    --radius-md: 22px;
  }
  *{ box-sizing:border-box; margin:0; padding:0; }
  html{ scroll-behavior:smooth; }
  body{
    font-family:var(--font-site);
    color:var(--ink);
    background:
      radial-gradient(circle at 6% 4%, rgba(120,190,32,0.28), transparent 32rem),
      radial-gradient(circle at 96% 14%, rgba(44,184,164,0.22), transparent 34rem),
      radial-gradient(circle at 84% 56%, rgba(255,108,14,0.18), transparent 32rem),
      radial-gradient(circle at 8% 62%, rgba(120,190,32,0.16), transparent 30rem),
      radial-gradient(circle at 48% 98%, rgba(255,178,107,0.20), transparent 34rem),
      linear-gradient(160deg, #f7fbef 0%, #eef8e8 30%, #fdf6ee 62%, #eefaf4 84%, #f6fbf0 100%);
    line-height:1.65;
    overflow-x:hidden;
    position:relative;
  }
  body::before{
    content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
    background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22120%22%20height%3D%22120%22%3E%3Cg%20fill%3D%22%23145a12%22%20fill-opacity%3D%220.055%22%20transform%3D%22rotate%28-18%2060%2060%29%22%3E%3Cellipse%20cx%3D%2260%22%20cy%3D%2274%22%20rx%3D%2220%22%20ry%3D%2215%22/%3E%3Ccircle%20cx%3D%2236%22%20cy%3D%2246%22%20r%3D%228.5%22/%3E%3Ccircle%20cx%3D%2255%22%20cy%3D%2234%22%20r%3D%228.5%22/%3E%3Ccircle%20cx%3D%2275%22%20cy%3D%2236%22%20r%3D%228.5%22/%3E%3Ccircle%20cx%3D%2290%22%20cy%3D%2254%22%20r%3D%227.5%22/%3E%3C/g%3E%3C/svg%3E");
    background-size:130px 130px;
    mask-image:radial-gradient(circle at 50% 0%, rgba(0,0,0,.85), transparent 78%);
    -webkit-mask-image:radial-gradient(circle at 50% 0%, rgba(0,0,0,.85), transparent 78%);
  }
  h1,h2,h3,h4{ font-weight:800; line-height:1.14; letter-spacing:-0.01em; }
  a{ text-decoration:none; color:inherit; }
  img{ max-width:100%; display:block; }
  ul{ list-style:none; }
  .container{ width:min(1180px, calc(100% - 48px)); margin:0 auto; padding:0; }
  section{ position:relative; z-index:1; }
  .center{ text-align:center; }

  /* ambient gradient corners */
  .bg-fx{
    position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden;
  }
  .bg-fx span{ position:absolute; border-radius:50%; filter:blur(110px); opacity:0.42; }
  .bg-fx .a{ width:520px; height:520px; background:#91de2a; top:-220px; left:-180px; animation:driftA 22s ease-in-out infinite; }
  .bg-fx .b{ width:560px; height:560px; background:#20b899; top:10%; right:-240px; opacity:0.25; animation:driftB 26s ease-in-out infinite; }
  .bg-fx .c{ width:420px; height:420px; background:#78be20; bottom:-180px; right:10%; opacity:0.25; animation:driftC 19s ease-in-out infinite; }
  .bg-fx .d{ width:460px; height:460px; background:#ff6c0e; bottom:12%; left:-160px; opacity:0.20; animation:driftD 24s ease-in-out infinite; }
  .bg-fx .e{ width:380px; height:380px; background:#ffb26b; top:48%; left:38%; opacity:0.16; animation:driftA 30s ease-in-out infinite reverse; }
  @keyframes driftA{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(50px,40px); } }
  @keyframes driftB{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(-45px,55px); } }
  @keyframes driftC{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(35px,-50px); } }
  @keyframes driftD{ 0%,100%{ transform:translate(0,0); } 50%{ transform:translate(-40px,-35px); } }
  @media (prefers-reduced-motion: reduce){
    .bg-fx span{ animation:none; }
  }

  .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){ .reveal{ opacity:1; transform:none; } html{scroll-behavior:auto;} }

  /* buttons */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    font-weight:700; font-size:15.5px;
    padding:16px 32px; border-radius:999px; border:1.5px solid transparent;
    cursor:pointer; transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
    white-space:nowrap;
  }
  .btn:hover{ transform:translateY(-2px); }
  .btn-primary{ background:var(--green); color:#fff; box-shadow:0 14px 30px rgba(120,190,32,0.35); }
  .btn-primary:hover{ background:var(--green-dark); box-shadow:0 18px 36px rgba(120,190,32,0.42); }
  .btn-ghost{ background:var(--white); color:var(--ink); border-color:var(--border); box-shadow:var(--shadow); }
  .btn-ghost:hover{ border-color:rgba(28,34,48,0.2); }
  .btn-sm{ padding:11px 22px; font-size:14px; }

  .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-weight:700; font-size:12.5px; letter-spacing:0.07em; text-transform:uppercase;
    color:var(--green-dark); background:var(--green-soft);
    padding:8px 18px; border-radius:999px; margin-bottom:20px;
  }
  .eyebrow.alt{ color:var(--orange-dark); background:var(--orange-soft); }

  /* header */
  header{ position:sticky; top:16px; z-index:100; display:flex; justify-content:center; }
  .nav-pill{
    width:min(1180px, calc(100% - 48px)); margin:0; padding:12px 20px;
    display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
    background:rgba(255,255,255,0.72); backdrop-filter:blur(18px) saturate(140%);
    border:1px solid var(--border); border-radius:999px; box-shadow:var(--shadow);
  }
  .logo{ display:flex; align-items:center; }
  .logo img{ height:42px; width:auto; }
  .nav-links{ display:flex; gap:30px; font-weight:600; font-size:14.5px; color:var(--ink-2); }
  .nav-pill nav{ justify-self:center; }
  .nav-links a:hover{ color:var(--green-dark); }
  .nav-cta{ display:flex; align-items:center; justify-self:end; gap:12px; }
  .menu-toggle{ display:none; background:none; border:none; font-size:22px; color:var(--ink); cursor:pointer; }
  @media (max-width:860px){
    .nav-pill{ display:flex; justify-content:space-between; }
    .nav-links{
      position:absolute; top:calc(100% + 10px); left:16px; right:16px;
      flex-direction:column; gap:0;
      background:#fff; padding:8px 22px 16px; border-radius:20px; border:1px solid var(--border);
      display:none; box-shadow:var(--shadow-lg);
    }
    .nav-links.open{ display:flex; }
    .nav-links a{ padding:13px 0; border-bottom:1px solid var(--border); }
    .menu-toggle{ display:block; }
  }

  /* Hero: fotografia original em tela ampla, conforme referência. */
  section[id]{ scroll-margin-top:110px; }
  .hero{ margin:32px 16px 0; padding:78px 0 68px; min-height:680px; border-radius:32px; overflow:hidden; isolation:isolate; color:#fff; background:#10291b; }
  .hero-photo-frame{ position:absolute; inset:0; z-index:-2; }
  .hero-photo-frame img{ width:100%; height:100%; object-fit:cover; object-position:center 52%; }
  .hero::before{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(5,30,17,.94) 0%,rgba(5,30,17,.83) 35%,rgba(5,30,17,.36) 70%,rgba(5,30,17,.12) 100%),linear-gradient(0deg,rgba(5,30,17,.55),transparent 60%); }
  .hero-content{ max-width:790px; text-align:left; }
  .hero .eyebrow{ background:none; color:#d6f1b3; padding:0; border-radius:0; font-size:11px; letter-spacing:.09em; margin-bottom:24px; }
  .hero .eyebrow::before{ content:""; width:8px; height:8px; background:var(--green); border-radius:50%; box-shadow:0 0 0 5px rgba(120,190,32,.18); margin-right:5px; }
  .hero h1{ font-size:clamp(44px,5.25vw,72px); line-height:1.04; letter-spacing:-.055em; margin-bottom:24px; text-wrap:balance; }
  .hero h1 .accent{ display:block; color:var(--green); }
  .hero p.lead{ font-size:16px; line-height:1.8; color:rgba(255,255,255,.84); max-width:570px; margin:0 0 28px; }
  .hero-actions{ display:flex; gap:22px; align-items:center; flex-wrap:wrap; margin-bottom:30px; }
  .hero .btn-primary{ color:#17320d; box-shadow:none; border-radius:12px; padding:15px 22px; font-size:13px; }
  .hero .btn-ghost{ color:#fff; border:0; border-bottom:1px solid rgba(255,255,255,.55); box-shadow:none; border-radius:0; background:none; padding:12px 0; font-size:13px; }
  .hero-reviews{ display:flex; align-items:stretch; gap:12px; max-width:610px; }
  .float-badge{ display:flex; align-items:center; gap:11px; border:1px solid rgba(255,255,255,.2); border-radius:13px; padding:14px 16px; background:rgba(9,34,22,.38); backdrop-filter:blur(6px); }
  .float-badge.b1{ flex-shrink:0; }
  .float-badge .ico{ flex-shrink:0; font-size:20px; }
  .float-badge strong{ display:block; font-size:12px; line-height:1.6; }
  .float-badge span{ display:block; font-size:10px; color:rgba(255,255,255,.7); margin-top:3px; }
  .review-content{ transition:opacity .45s ease,transform .45s ease; }
  .review-content.fade-out{ opacity:0; transform:translateY(4px); }
  @media(max-width:860px){
    .hero{ padding:64px 0 48px; min-height:640px; }
    .hero-content{ max-width:650px; }
    .hero::before{ background:linear-gradient(90deg,rgba(5,30,17,.94),rgba(5,30,17,.62) 70%,rgba(5,30,17,.4)); }
    .hero h1{ max-width:640px; }
  }
  @media(max-width:540px){
    .container{ width:calc(100% - 36px); }
    header{ top:10px; }
    .nav-pill{ width:calc(100% - 24px); padding:10px 14px; }
    .logo img{ height:34px; }
    .nav-cta{ gap:10px; }
    .nav-cta .btn{ padding:10px 12px; font-size:10px; }
    .hero{ margin:24px 8px 0; padding:48px 0 36px; min-height:0; border-radius:24px; }
    .hero .container{ width:calc(100% - 40px); }
    .hero h1{ font-size:clamp(35px,9.4vw,49px); }
    .hero .eyebrow{ font-size:9px; letter-spacing:.055em; }
    .hero p.lead{ font-size:14px; }
    .hero-actions{ gap:10px 20px; }
    .hero-reviews{ flex-wrap:wrap; }
    .float-badge.b1{ width:100%; }
    .float-badge.b2{ width:100%; }
    .hero-photo-frame img{ object-position:60% center; }
    .section-pad{ padding:70px 0; }
  }

  /* section head */
  .section-pad{ padding:110px 0; }
  .section-head{ max-width:640px; margin:0 auto 56px; }
  .section-head h2{ font-size:36px; margin-bottom:14px; }
  .section-head p{ color:var(--ink-2); font-size:16.5px; }

  /* setores mosaico */
  .setores-mosaic{
    display:grid; gap:20px;
    grid-template-columns:1.25fr 1fr 1fr;
    grid-template-rows:230px 190px 190px 190px;
    grid-template-areas:
      "racoes farmacia farmacia"
      "racoes petiscos acessorios"
      "higiene aves aves"
      "gatos camas comedouros";
  }
  .setor-tile{
    position:relative; border-radius:20px; overflow:hidden;
    box-shadow:0 10px 26px rgba(20,40,10,0.10);
    transition:box-shadow .3s ease;
  }
  .setor-tile img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    transition:transform .55s cubic-bezier(.2,.7,.2,1);
  }
  .setor-tile::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(0deg, rgba(15,46,10,0.90) 0%, rgba(20,60,15,0.55) 38%, rgba(20,60,15,0.06) 70%),
               linear-gradient(100deg, rgba(255,108,14,0.22), transparent 45%);
    transition:opacity .3s ease;
  }
  .setor-tile::before{
    content:""; position:absolute; inset:0; z-index:2; border-radius:inherit;
    border:2px solid transparent; transition:border-color .3s ease; pointer-events:none;
  }
  .setor-tile:hover{ box-shadow:0 20px 40px rgba(20,60,15,0.28); }
  .setor-tile:hover img{ transform:scale(1.09); }
  .setor-tile:hover::before{ border-color:rgba(255,255,255,0.55); }
  .setor-content{
    position:relative; z-index:3; height:100%; display:flex; flex-direction:column;
    justify-content:flex-end; padding:22px 24px;
  }
  .setor-content h4{ color:#fff; font-size:19px; font-weight:800; margin-bottom:6px; }
  .setor-content p{ color:rgba(255,255,255,0.88); font-size:13px; line-height:1.45; max-width:290px; }
  .tile-racoes{ grid-area:racoes; }
  .tile-farmacia{ grid-area:farmacia; }
  .tile-petiscos{ grid-area:petiscos; }
  .tile-acessorios{ grid-area:acessorios; }
  .tile-higiene{ grid-area:higiene; }
  .tile-aves{ grid-area:aves; }
  .tile-gatos{ grid-area:gatos; }
  .tile-camas{ grid-area:camas; }
  .tile-comedouros{ grid-area:comedouros; }
  @media (max-width:900px){
    .setores-mosaic{
      grid-template-columns:1fr 1fr;
      grid-template-rows:repeat(6, 200px);
      grid-template-areas:
        "racoes racoes"
        "farmacia farmacia"
        "petiscos acessorios"
        "higiene aves"
        "gatos camas"
        "comedouros comedouros";
    }
  }
  @media (max-width:560px){
    .setores-mosaic{
      grid-template-columns:1fr;
      grid-template-rows:repeat(9, 210px);
      grid-template-areas:
        "racoes" "farmacia" "petiscos" "acessorios"
        "higiene" "aves" "gatos" "camas" "comedouros";
    }
  }

  /* Campanha em destaque: mascotes em camadas e oferta central. */
  .promotions{ padding:76px 0 64px; }
  .promotions .section-head{ max-width:800px; margin-bottom:34px; }
  .promotions .section-head h2{ font-size:clamp(32px,3.5vw,46px); letter-spacing:-.045em; }
  .promo-stage{ position:relative; isolation:isolate; min-height:530px; display:grid; grid-template-columns:1fr minmax(0,490px) 1fr; align-items:center; border-radius:32px; background:linear-gradient(125deg,#173f20,#0d2919 65%,#244b19); box-shadow:0 24px 45px rgba(17,56,27,.19); }
  .promo-stage::before{ content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; background:radial-gradient(ellipse at 4% 65%,rgba(120,190,32,.46),transparent 42%),radial-gradient(ellipse at 96% 55%,rgba(255,108,14,.25),transparent 40%); }
  .promo-glow{ position:absolute; inset:18px; z-index:-1; border:1px solid rgba(191,222,129,.16); border-radius:22px; pointer-events:none; }
  .promo-main{ grid-column:2; grid-row:1; position:relative; z-index:3; color:#fff; text-align:center; padding:34px 0 40px; }
  .promo-kicker{ display:block; text-transform:uppercase; letter-spacing:.17em; font-size:10px; font-weight:800; color:#c7eaa2; margin-bottom:12px; }
  .promo-main h3{ font-size:clamp(24px,2.7vw,35px); line-height:1.16; letter-spacing:-.035em; }
  .promo-main h3 span{ color:#b0e16e; }
  .promo-days{ display:flex; justify-content:center; gap:8px; margin:20px 0 4px; }
  .promo-days span{ color:#fff; border:1px solid rgba(255,255,255,.26); border-radius:8px; padding:5px 15px; font-size:11px; font-weight:800; letter-spacing:.1em; }
  .promo-discount{ display:flex; justify-content:center; align-items:center; gap:10px; color:var(--orange); line-height:1; margin:5px 0 10px; filter:drop-shadow(0 5px 0 #9c3807); }
  .promo-discount strong{ font-size:142px; letter-spacing:-.09em; font-weight:800; }
  .promo-discount strong span{ font-size:79px; letter-spacing:-.07em; }
  .discount-label{ font-size:26px; font-weight:800; writing-mode:vertical-rl; }
  .promo-all{ font-size:19px; margin-bottom:10px; }
  .promo-description{ font-size:13px; line-height:1.7; color:#d7e4d4; max-width:390px; margin:0 auto 23px; }
  .promo-cta{ border-radius:12px; background:var(--orange); color:#172515; padding:15px 23px; font-size:13px; box-shadow:0 9px 24px rgba(0,0,0,.16); white-space:normal; }
  .promo-cta:hover{ background:#ff8b43; }
  .promo-cta span{ margin-left:10px; font-size:19px; }
  .promo-pet{ grid-row:1; position:relative; z-index:2; width:145%; max-width:none; height:auto; align-self:center; filter:drop-shadow(0 22px 12px rgba(0,0,0,.38)); pointer-events:none; }
  .promo-cat{ grid-column:1; justify-self:center; transform:translate(-1%,7%) rotate(-8deg); }
  .promo-dog{ grid-column:3; justify-self:center; transform:translate(0,7%) rotate(8deg); }
  .promo-conditions{ display:grid; grid-template-columns:1fr 1fr 1.2fr; gap:20px; padding:26px 30px; margin:22px auto 0; border:1px solid rgba(91,148,24,.16); border-radius:20px; background:rgba(255,255,255,.72); }
  .promo-conditions>div{ display:flex; align-items:center; gap:12px; }
  .condition-icon{ display:flex; flex-shrink:0; align-items:center; justify-content:center; background:var(--green-soft); color:#436c16; border-radius:12px; width:42px; height:42px; font-size:20px; font-weight:800; }
  .promo-conditions strong{ display:block; font-size:13px; }
  .promo-conditions p>span{ display:block; font-size:11px; color:var(--ink-2); margin-top:2px; }
  a:focus-visible,button:focus-visible{ outline:3px solid var(--orange); outline-offset:5px; }
  @media(max-width:1050px){
    .promo-stage{ grid-template-columns:1fr minmax(0,420px) 1fr; }
    .promo-pet{ width:100%; }
    .promo-conditions{ padding:22px 18px; gap:12px; }
  }
  @media(max-width:760px){
    .promo-stage{ grid-template-columns:1fr minmax(0,340px) 1fr; }
    .promo-pet{ width:100%; }
    .promo-main h3{ font-size:27px; }
    .promo-discount strong{ font-size:112px; }
    .promo-discount strong span{ font-size:66px; }
    .promo-description{ max-width:290px; }
    .promo-conditions{ grid-template-columns:1fr; gap:18px; padding:24px; }
  }
  @media(max-width:900px){
    .promotions{ padding:55px 0 34px; }
    .promotions .section-head{ margin-bottom:26px; }
    .promo-stage{ grid-template-columns:1fr 1fr; padding:0 22px; border-radius:26px; }
    .promo-main{ grid-column:1/-1; grid-row:1; padding:30px 0 0; }
    .promo-main h3{ font-size:clamp(23px,6.4vw,31px); }
    .promo-description{ max-width:100%; }
    .promo-discount strong{ font-size:115px; }
    .promo-cta{ width:100%; padding:14px 12px; font-size:12px; }
    .promo-pet{ grid-row:2; width:105%; max-width:260px; margin-top:5px; margin-bottom:-20px; }
    .promo-cat{ grid-column:1; justify-self:end; transform:rotate(-6deg); }
    .promo-dog{ grid-column:2; justify-self:start; transform:rotate(6deg); }
    .promo-conditions{ margin-top:36px; }
  }

  /* cashback */
  .cashback-panel{
    position:relative; isolation:isolate;
    background:#4f8f13;
    border-radius:var(--radius-lg); padding:56px 40px; color:#fff; text-align:center;
    box-shadow:0 30px 80px rgba(34,97,11,0.28); overflow:hidden;
    border:1px solid rgba(255,255,255,0.34);
  }
  .cashback-panel::before{
    content:""; position:absolute; inset:0; z-index:-2;
    background-image:url('images/app1.webp'), url('images/app2.webp'), url('images/app3.webp');
    background-repeat:no-repeat;
    background-size:34% 100%, 34% 100%, 34% 100%;
    background-position:left center, center center, right center;
    filter:saturate(1.12) contrast(1.04);
  }
  .cashback-panel::after{
    content:""; position:absolute; inset:0; z-index:-1;
    background:
      linear-gradient(90deg, rgba(25,82,5,0.60), rgba(28,111,11,0.45) 50%, rgba(18,73,7,0.62)),
      linear-gradient(180deg, rgba(18,66,7,0.15), rgba(12,52,5,0.50));
  }
  .cashback-panel .section-head, .cashback-panel .cashback-steps{ position:relative; z-index:1; }
  .cashback-panel .section-head h2, .cashback-panel .section-head p{ color:#fff; text-shadow:0 2px 16px rgba(0,0,0,0.26); }
  .cashback-panel .section-head p{ color:rgba(255,255,255,0.88); }
  .cashback-panel .eyebrow{ background:rgba(255,255,255,0.18); color:#fff; }
  .cashback-steps{ display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; margin-top:10px; }
  .cashback-step{
    position:relative; min-height:286px; overflow:hidden;
    background:rgba(7,37,10,0.42);
    border:1px solid rgba(255,255,255,0.34); border-radius:20px; padding:30px 24px;
    backdrop-filter:blur(11px) saturate(145%);
    display:flex; flex-direction:column; align-items:center; justify-content:center;
  }
  .cashback-step::before{
    content:""; position:absolute; inset:0;
    background:linear-gradient(135deg, rgba(255,255,255,0.12), transparent 46%);
  }
  .cashback-step > *{ position:relative; z-index:1; }
  .cashback-step .num{
    width:38px; height:38px; border-radius:50%; background:#fff; color:var(--green-dark);
    display:flex; align-items:center; justify-content:center; font-weight:800; margin:0 auto 16px;
  }
  .cashback-step .ico{ font-size:26px; margin-bottom:10px; }
  .cashback-step h4{ font-size:16px; margin-bottom:8px; }
  .cashback-step p{ font-size:14px; color:rgba(255,255,255,0.85); }
  @media (max-width:860px){ .cashback-steps{ grid-template-columns:1fr; } }
  .app-download{ position:relative; z-index:1; margin-top:36px; text-align:center; }
  .app-download-label{ color:rgba(255,255,255,0.9); font-weight:600; font-size:15px; margin-bottom:16px; }
  .app-download-btns{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
  .store-btn{
    display:inline-flex; align-items:center; gap:10px;
    background:rgba(0,0,0,0.28); border:1.5px solid rgba(255,255,255,0.3);
    border-radius:14px; padding:10px 20px; transition:transform .2s ease, background .2s ease, border-color .2s ease;
  }
  .store-btn:hover{ transform:translateY(-3px); background:rgba(0,0,0,0.4); border-color:rgba(255,255,255,0.55); }
  .store-btn span{ display:flex; flex-direction:column; text-align:left; color:#fff; line-height:1.2; }
  .store-btn small{ font-size:11px; color:rgba(255,255,255,0.8); font-weight:500; }
  .store-btn strong{ font-size:16px; font-weight:700; }

  /* localização */
  .local-card{
    background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg);
    box-shadow:var(--shadow); overflow:hidden;
    display:grid; grid-template-columns:1fr 1fr;
  }
  .local-photo{ height:100%; min-height:380px; }
  .local-photo img{ width:100%; height:100%; object-fit:cover; }
  .local-map{ height:100%; min-height:380px; background:var(--green-soft); }
  .local-map iframe{ display:block; width:100%; height:100%; min-height:380px; border:0; filter:saturate(0.9) contrast(1.04); }
  .local-info{ padding:44px 40px; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; }
  .local-item{ margin-bottom:22px; }
  .local-item:last-of-type{ margin-bottom:28px; }
  .local-icon{
    width:44px; height:44px; border-radius:12px; background:var(--green-soft);
    display:flex; align-items:center; justify-content:center; font-size:18px; margin:0 auto 10px;
  }
  .local-item h4{ font-size:14.5px; font-weight:700; margin-bottom:4px; }
  .local-item p, .local-item a{ font-size:14.5px; color:var(--ink-2); }
  .local-item a:hover{ color:var(--green-dark); }
  @media (max-width:900px){ .local-card{ grid-template-columns:1fr; } .local-photo{ min-height:260px; } }

  /* marcas parceiras */
  .brands-section{ padding-top:26px; }
  .brands-panel{
    position:relative; overflow:visible; padding:42px 34px 12px;
    border:1px solid rgba(120,190,32,0.18); border-radius:var(--radius-lg);
    background:rgba(255,255,255,0.62); backdrop-filter:blur(14px) saturate(135%);
    box-shadow:var(--shadow);
  }
  .brands-panel::before{
    content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
    background:linear-gradient(135deg, rgba(120,190,32,0.10), transparent 38%, rgba(32,184,153,0.08));
  }
  .brands-panel .section-head{ position:relative; z-index:1; margin-bottom:32px; }
  .brands-marquee{
    position:relative; z-index:1; overflow:hidden;
    padding:24px 0 34px;
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  }
  .brands-track{
    display:flex; gap:14px; width:max-content;
    animation:brandsScroll 38s linear infinite;
  }
  .brands-marquee:hover .brands-track{ animation-play-state:paused; }
  @keyframes brandsScroll{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
  }
  .brand-card{
    flex:0 0 160px; min-height:124px; position:relative; z-index:1; overflow:hidden;
    display:flex; align-items:center; justify-content:center; padding:16px;
    background:rgba(255,255,255,0.94); border:1px solid rgba(28,34,48,0.10);
    border-radius:16px; box-shadow:0 8px 18px rgba(28,34,48,0.06);
    transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  }
  .brand-card::after{
    content:""; position:absolute; inset:0; opacity:0; pointer-events:none;
    background:linear-gradient(135deg, rgba(120,190,32,0.22), transparent 48%, rgba(32,184,153,0.16));
    transition:opacity .28s ease;
  }
  .brand-card img{
    position:relative; z-index:1; display:block; width:100%; height:78px; object-fit:contain;
    mix-blend-mode:multiply; transition:transform .28s ease, filter .28s ease;
  }
  .brand-card:hover{
    z-index:4; transform:translateY(-9px) scale(1.09); border-color:rgba(120,190,32,0.60);
    box-shadow:0 22px 36px rgba(38,105,17,0.24);
  }
  .brand-card:hover::after{ opacity:1; }
  .brand-card:hover img{ transform:scale(1.08); filter:saturate(1.12) contrast(1.04); }
  .brand-card.solid-logo img{ mix-blend-mode:normal; border-radius:10px; height:66px; }
  @media (prefers-reduced-motion: reduce){
    .brands-track{ animation:none; }
  }
  @media (max-width:620px){
    .container{ width:min(100% - 32px, 1180px); }
    .brands-panel{ padding:32px 16px 16px; }
    .brand-card{ flex:0 0 128px; min-height:108px; padding:12px; }
    .brand-card img{ height:68px; }
  }

  /* footer */
  footer{ border-top:1px solid var(--border); padding:56px 0 30px; text-align:center; }
  .footer-logo img{ height:44px; margin:0 auto 22px; }
  .footer-contact{ display:flex; justify-content:center; gap:28px; flex-wrap:wrap; font-size:14px; color:var(--ink-2); margin-bottom:26px; }
  .footer-contact a{ color:var(--ink-2); }
  .footer-contact a:hover{ color:var(--green-dark); }
  .footer-bottom{ font-size:13px; color:var(--ink-3); padding-top:22px; border-top:1px solid var(--border); }

  /* whatsapp float */
  .whats-float{
    position:fixed; bottom:24px; right:24px; z-index:200;
    width:60px; height:60px; border-radius:50%;
    background:var(--green); display:flex; align-items:center; justify-content:center;
    font-size:27px; color:#fff; box-shadow:0 14px 30px rgba(120,190,32,0.45);
    animation:waBounce 2.2s ease-in-out infinite;
  }
  .whatsapp-icon{ width:1em; height:1em; fill:currentColor; flex:none; position:relative; z-index:2; }
  .whats-float::before, .whats-float::after{
    content:""; position:absolute; inset:0; border-radius:50%;
    border:2.5px solid var(--green); pointer-events:none;
  }
  .whats-float::before{ animation:waRipple 2.2s ease-out infinite; }
  .whats-float::after{ animation:waRipple 2.2s ease-out infinite; animation-delay:0.55s; }
  @keyframes waBounce{
    0%,100%{ transform:scale(1); }
    50%{ transform:scale(1.09); }
  }
  @keyframes waRipple{
    0%{ transform:scale(1); opacity:0.65; }
    100%{ transform:scale(1.9); opacity:0; }
  }
  @media (prefers-reduced-motion: reduce){
    .whats-float, .whats-float::before, .whats-float::after{ animation:none; }
  }
