

:root{--teal:#2f8da0;--teal-dark:#124f5f;--teal-deep:#0f4654;--orange:#ff7a18;--orange-light:#ff8a35;--gold:#d9a12b;--cream:#f4efe4;--paper:#f7f2e8;--white:#f8f3ea;--black:#121417;--muted:#6e747d;--border:rgba(18,20,23,.12);--shadow:0 24px 70px rgba(16,30,34,.14);--shadow-hover:0 30px 82px rgba(16,30,34,.22);--radius:22px;--container:1180px;--font-body:Poppins,system-ui,sans-serif;--font-heading:"Peace Sans",Poppins,system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--white);color:var(--black);font-family:var(--font-body);font-weight:500;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}h1,h2,.section-title,.hero-title,.partner-card h3,.news-card h3,.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}.eyebrow{margin:0 0 18px;color:var(--teal);font-size:.76rem;font-weight:800;letter-spacing:.42em;text-transform:uppercase}.section-title{margin:0;font-size:clamp(2rem,4.4vw,3.55rem);line-height:1.16;letter-spacing:-.018em;font-weight:400;overflow-wrap:normal}.accent{color:var(--orange)}.accent-light{color:var(--orange-light)}.section-text{margin:22px 0 0;max-width:760px;color:var(--muted);font-size:clamp(1rem,1.8vw,1.15rem);line-height:1.8}.section-text,.hero-lead p,.mission-card p,.partner-card p{text-align:justify;text-justify:inter-word}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 30px;border-radius:14px;border:1px solid transparent;font-weight:850;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--orange);color:#fff;box-shadow:0 14px 30px rgba(216,99,34,.18)}.btn-primary:hover{background:#d86322}.btn-outline{border-color:rgba(255,255,255,.34);color:var(--white);background:rgba(255,255,255,.04)}
.site-header{position:fixed;inset:0 0 auto 0;z-index:100;background:var(--teal);color:#fff}.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:22px}.logo{display:inline-flex;align-items:center;line-height:1;transition:transform .18s ease,opacity .18s ease}.logo:hover{transform:translateY(-1px);opacity:.96}.logo img{height:42px;width:auto;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:clamp(18px,2.2vw,34px);font-size:1.04rem;font-weight:800}.desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--orange);outline:0}.header-cta{min-height:44px;padding-inline:26px;border-radius:12px;font-size:.95rem}.menu-button{display:none;width:46px;height:46px;border:0;border-radius:12px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;position:relative;z-index:104}.menu-button span,.menu-button span:before,.menu-button span:after{content:"";display:block;width:24px;height:3px;margin-inline:auto;border-radius:999px;background:currentColor}.menu-button span:before{transform:translateY(-8px)}.menu-button span:after{transform:translateY(5px)}.mobile-nav{display:none}
.hero{min-height:100svh;padding:72px 0 0;background:var(--teal-dark);color:var(--white);overflow:hidden}.hero-stage{position:relative;min-height:calc(100svh - 72px);display:flex;align-items:flex-end;padding:clamp(56px,9vw,130px) 0 clamp(44px,7vw,90px)}.hero-bg{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;background:var(--teal-dark)}.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.96;transform:scale(1.01);transition:transform .5s ease}.hero-bg:hover img{transform:scale(1.035)}.hero-bg:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--teal-dark) 0%,rgba(18,79,95,.82) 27%,rgba(18,79,95,.34) 55%,rgba(18,79,95,.05) 100%),linear-gradient(to top,rgba(18,79,95,.78) 0%,rgba(18,79,95,.05) 44%);z-index:1}.hero-copy{position:relative;z-index:2;width:min(720px,100%);padding-top:80px}.hero-title{margin:0;font-size:clamp(2.45rem,4.8vw,4.2rem);line-height:1.12;letter-spacing:-.018em;font-weight:400;overflow-wrap:normal}.hero-lead{margin:30px 0 0;padding-left:22px;border-left:3px solid var(--gold);color:rgba(255,255,255,.75);font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.9}.hero-lead p{margin:0}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:38px}
.trust-strip{background:var(--white);padding:28px 0;border-bottom:1px solid var(--border)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.trust-item{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:center}.icon-box{width:52px;height:52px;display:grid;place-items:center;border-radius:13px;background:#eaf4f6;color:var(--teal);transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.icon-box svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.trust-item:hover .icon-box,.service:hover .icon-box,.contact-row:hover .icon-box{transform:translateY(-4px) scale(1.04);box-shadow:0 14px 28px rgba(16,30,34,.13)}.trust-item:hover .icon-box{background:var(--teal);color:var(--white)}.trust-item strong{display:block;font-size:1rem;line-height:1.25}.trust-item span{display:block;margin-top:4px;color:var(--muted);font-size:.93rem}
.quote-band{background:var(--teal-dark);color:#fff;padding:clamp(42px,7vw,76px) 0}.quote-inner{display:grid;grid-template-columns:minmax(0,880px);justify-content:center;text-align:center}.quote-text{margin:0;font-size:clamp(1.35rem,2.8vw,2rem);line-height:1.55;font-style:italic;letter-spacing:-.02em;text-align:center}.quote-author{margin-top:18px;color:#e8a85b;font-weight:850;font-size:.9rem}section{padding:clamp(74px,10vw,130px) 0;background:var(--white)}.about-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(48px,8vw,92px);align-items:center}.image-card{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--cream);transition:transform .22s ease,box-shadow .22s ease}.image-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover)}.image-card img{width:100%;height:auto;aspect-ratio:4/4.65;object-fit:cover;object-position:center;transition:transform .5s ease,filter .22s ease}.image-card:hover img{transform:scale(1.04);filter:saturate(1.04) contrast(1.02)}.badge{position:absolute;left:26px;bottom:24px;border-radius:12px;background:var(--orange);color:#fff;padding:16px 22px;box-shadow:0 16px 40px rgba(216,99,34,.26)}.badge span{display:block;margin-top:5px;font-size:.9rem}.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.tag{padding:8px 16px;border-radius:8px;border:1px solid #d8d1c3;background:var(--cream);color:var(--teal-dark);font-size:.82rem;font-weight:650}.cream-section{background:linear-gradient(180deg,var(--white) 0%,var(--cream) 92px,var(--cream) 100%)}.cream-section+.cream-section{background:var(--cream)}
.reasons-grid{display:grid;grid-template-columns:repeat(2,1fr);margin-top:54px;background:var(--paper);border:1px solid #ddd5c7}.reason{min-height:150px;padding:34px 42px;display:grid;grid-template-columns:58px 1fr;gap:18px;border-right:1px solid #ddd5c7;border-bottom:1px solid #ddd5c7;transition:transform .18s ease,background .18s ease}.reason:hover{background:#faf3e6;transform:translateY(-2px)}.reason:nth-child(2n){border-right:0}.reason:nth-last-child(-n+2){border-bottom:0}.reason-number{color:#dce7e9;font-size:2rem;font-weight:950;letter-spacing:-.05em}.reason h3,.service h3,.value h3{margin:0;font-size:1.06rem;letter-spacing:-.02em}.reason p,.service p,.value p{margin:8px 0 0;color:var(--muted);line-height:1.65;font-size:.96rem}
.services-section{background:linear-gradient(180deg,var(--teal) 0%,#2b8799 100%);color:var(--white);border-top:10px solid var(--paper)}.services-section .eyebrow{color:#e8a85b}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:54px;background:rgba(255,255,255,.12)}.service{min-height:190px;padding:32px;border-right:1px solid rgba(18,79,95,.2);border-bottom:1px solid rgba(18,79,95,.2);transition:transform .19s ease,background .19s ease,box-shadow .19s ease}.service:hover{transform:translateY(-6px);background:rgba(255,255,255,.09);box-shadow:0 18px 44px rgba(0,0,0,.08)}.service:nth-child(4n){border-right:0}.service:nth-last-child(-n+4){border-bottom:0}.service .icon-box{background:rgba(248,243,234,.15);color:#fff;margin-bottom:20px}.service p{color:rgba(248,243,234,.74)}.values-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:clamp(42px,7vw,76px);align-items:stretch;margin-top:50px}.mission-card{border-radius:var(--radius);background:var(--teal);color:#fff;padding:clamp(34px,5vw,58px)}.mission-card h3{margin:0 0 22px;color:#e8a85b;font-size:1.2rem}.mission-card p{margin:0;color:rgba(248,243,234,.88);line-height:1.85;font-size:1.04rem}.mission-card p+p{margin-top:22px}.values-list{display:grid;gap:14px}.value{position:relative;border:1px solid #ddd5c7;background:var(--paper);border-radius:10px;padding:22px 28px 22px 50px;transition:transform .18s ease,box-shadow .18s ease}.value:hover{transform:translateX(4px);box-shadow:0 14px 32px rgba(16,30,34,.08)}.value:before{content:"";position:absolute;left:24px;top:29px;width:6px;height:6px;border-radius:50%;background:var(--orange)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:46px;align-items:stretch}.gallery-grid img{width:100%;height:clamp(420px,38vw,620px);object-fit:cover;border-radius:18px;box-shadow:0 16px 40px rgba(16,30,34,.1);transition:transform .24s ease,box-shadow .24s ease,filter .24s ease}.gallery-grid img:nth-child(1){object-position:center top}.gallery-grid img:hover{transform:translateY(-8px) scale(1.018);box-shadow:0 26px 64px rgba(16,30,34,.18);filter:saturate(1.04) contrast(1.02)}.partner-card{margin-top:50px;background:var(--paper);border-radius:14px;border-top:5px solid var(--teal);box-shadow:var(--shadow);padding:clamp(40px,6vw,76px);text-align:center;transition:transform .22s ease,box-shadow .22s ease}.partner-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}.partner-logo{width:min(220px,72%);height:auto;margin:0 auto 28px;filter:contrast(1.04) saturate(1.05)}.partner-card h3{margin:0;font-size:1.3rem}.partner-card p{max-width:680px;margin:18px auto 0;color:var(--muted);line-height:1.85;text-align:center}
.news-section{background:var(--white);padding:clamp(70px,9vw,110px) 0}.news-list{margin-top:46px;display:grid;gap:26px}.news-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,58px);align-items:center;background:var(--paper);border:1px solid #ddd5c7;border-radius:var(--radius);padding:clamp(30px,5vw,56px);box-shadow:var(--shadow);transition:transform .22s ease,box-shadow .22s ease}.news-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}.news-source{display:inline-flex;align-items:center;width:fit-content;padding:8px 14px;border-radius:999px;background:rgba(47,141,160,.1);color:var(--teal);font-size:.78rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.news-card h3{margin:18px 0 0;font-size:clamp(1.65rem,3vw,2.6rem);line-height:1.08;letter-spacing:-.05em}.news-card p{margin:18px 0 0;color:var(--muted);line-height:1.8;text-align:justify}.news-card .btn{margin-top:28px}.news-image{min-height:260px;border-radius:18px;overflow:hidden;background:var(--cream);box-shadow:0 16px 40px rgba(16,30,34,.1);display:block}.news-highlight:before{content:"";position:absolute;width:170px;height:170px;border-radius:999px;background:rgba(244,122,32,.2);right:-42px;top:-42px}.news-highlight strong{position:relative;z-index:1;font-size:clamp(2rem,5vw,3.4rem);line-height:1;letter-spacing:-.06em}
.social-section{background:var(--teal-dark);color:#fff;text-align:center;padding:clamp(70px,9vw,110px) 0}.social-section .section-text{margin-inline:auto;color:rgba(255,255,255,.62);text-align:center}.social-actions{display:flex;justify-content:center;gap:16px;margin-top:34px;flex-wrap:wrap}.social-btn{min-width:170px;min-height:52px;border:1px solid rgba(255,255,255,.18);border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:rgba(255,255,255,.04);font-weight:750;transition:transform .18s ease,background .18s ease,border-color .18s ease}.social-btn svg{width:20px;height:20px;fill:currentColor}.social-btn:hover{transform:translateY(-3px);background:rgba(255,255,255,.08);border-color:rgba(244,122,32,.52)}.contact-section{background:#101112;color:#fff;padding-bottom:110px}.contact-section .section-text{color:rgba(255,255,255,.62)}.contact-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:60px;align-items:start;margin-top:42px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}.field label{color:rgba(255,255,255,.42);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800}.field input,.field textarea{width:100%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#fff;border-radius:10px;padding:16px 18px;outline:0}.field textarea{min-height:136px;resize:vertical}.form-grid .btn{grid-column:1/-1;width:100%;margin-top:4px}.contact-info{display:grid;gap:22px;padding-top:8px}.contact-row{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:center}.contact-row .icon-box{background:rgba(255,255,255,.06);color:var(--gold)}.contact-row small{display:block;color:rgba(255,255,255,.35);letter-spacing:.16em;text-transform:uppercase;font-weight:800;font-size:.7rem;margin-bottom:6px}.contact-row a,.contact-row strong{color:#fff;font-size:1.05rem}.contact-row a.highlight{color:var(--gold)}.whatsapp{margin-top:8px;background:#1f9d4c;color:#fff;min-height:58px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 26px;font-weight:900;width:min(100%,440px);transition:transform .18s ease,filter .18s ease}.whatsapp svg{width:22px;height:22px;fill:currentColor;flex:0 0 auto}.whatsapp:hover{transform:translateY(-3px);filter:brightness(1.05)}.site-footer{background:#161719;color:rgba(255,255,255,.36);padding:28px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:.88rem}.site-footer .logo img{height:38px}
@media(max-width:1100px){.services-grid{grid-template-columns:repeat(2,1fr)}.service:nth-child(4n){border-right:1px solid rgba(18,79,95,.2)}.service:nth-child(2n){border-right:0}.service:nth-last-child(-n+4){border-bottom:1px solid rgba(18,79,95,.2)}.service:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:900px){body.menu-open{overflow:hidden}.mobile-nav{position:fixed;inset:68px 18px auto 18px;z-index:103;display:grid;gap:8px;padding:18px;border-radius:18px;background:rgba(18,79,95,.98);border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 70px rgba(0,0,0,.22);opacity:0;pointer-events:none;transform:translateY(-10px);transition:opacity .18s ease,transform .18s ease}body.menu-open .mobile-nav{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-nav a{padding:15px 16px;border-radius:12px;color:#fff;font-weight:850;background:rgba(255,255,255,.06)}.mobile-nav a:hover{color:var(--orange);background:rgba(255,255,255,.1)}.mobile-nav .mobile-cta{margin-top:4px;background:var(--orange);color:#fff;text-align:center}.container{width:min(100% - 36px,var(--container))}.desktop-nav,.header-cta{display:none}.menu-button{display:block}.hero{padding-top:72px}.hero-stage{min-height:calc(100svh - 72px);align-items:flex-end;padding:0 0 58px}.hero-bg img{object-position:62% center}.hero-bg:before{background:linear-gradient(to bottom,rgba(18,79,95,.06) 0%,rgba(18,79,95,.34) 42%,var(--teal-dark) 100%),linear-gradient(90deg,rgba(18,79,95,.82) 0%,rgba(18,79,95,.45) 48%,rgba(18,79,95,.08) 100%)}.hero-copy{padding-top:0}.hero-title{font-size:clamp(2.45rem,10vw,4.25rem)}.hero-actions{flex-direction:column;align-items:stretch;width:min(100%,390px)}.trust-grid{grid-template-columns:repeat(2,1fr)}.quote-inner,.about-grid,.values-grid,.news-card,.contact-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(3,minmax(220px,1fr));overflow-x:auto;padding-bottom:12px;scroll-snap-type:none}.gallery-grid img{height:460px;aspect-ratio:3/4;scroll-snap-align:none}}
@media(max-width:640px){.header-inner{height:68px}.site-header .logo img{height:34px}.hero{padding-top:68px}.hero-stage{min-height:calc(100svh - 68px);padding-bottom:42px}.hero-title{font-size:2.2rem;line-height:1.14;letter-spacing:-.01em}.hero-lead{margin-top:24px;font-size:1rem;line-height:1.75}.btn{width:100%;min-height:58px}.trust-grid,.reasons-grid,.services-grid{grid-template-columns:1fr}.reason,.service{border-right:0!important;border-bottom:1px solid rgba(18,79,95,.16)!important}.reason:last-child,.service:last-child{border-bottom:0!important}.reason{grid-template-columns:1fr;gap:8px;padding:28px 24px}.service{min-height:auto;padding:28px 24px}.mission-card,.partner-card{padding:32px 26px}.form-grid{grid-template-columns:1fr}.footer-inner{flex-direction:column;text-align:center}}

.news-image{min-height:260px;border-radius:18px;overflow:hidden;background:var(--cream);box-shadow:0 16px 40px rgba(16,30,34,.1);display:block}
.news-image img{width:100%;height:100%;min-height:260px;object-fit:cover;object-position:center;transition:transform .42s ease,filter .22s ease}
.news-card:hover .news-image img{transform:scale(1.035);filter:saturate(1.04) contrast(1.02)}


.news-image{min-height:260px;border-radius:18px;overflow:hidden;background:var(--cream);box-shadow:0 16px 40px rgba(16,30,34,.1);display:block}
.news-image img{width:100%;height:100%;min-height:260px;object-fit:cover;object-position:center;transition:transform .42s ease,filter .22s ease}
.news-card:hover .news-image img{transform:scale(1.035);filter:saturate(1.04) contrast(1.02)}
.logo img{object-fit:contain}
.site-header .logo img{height:42px;width:auto}
.site-footer .logo img{height:38px;width:auto}

/* =========================================================
   MOBILE POLISH — preview temporária com imagens embutidas
   ========================================================= */
@media (max-width: 760px) {
  :root {
    --mobile-pad: 30px;
  }

  html,
  body {
    overflow-x: hidden;
    background: var(--brand-white, #f8f3ea);
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  .container {
    width: min(100% - 60px, var(--container, 1180px));
  }

  .site-header {
    min-height: 76px;
  }

  .nav-inner {
    min-height: 76px;
    padding: 0 20px;
  }

  .site-header .logo img {
    width: auto !important;
    height: 46px !important;
    max-width: 230px !important;
    object-fit: contain;
  }

  .menu-button {
    width: 48px;
    height: 48px;
    flex: 0 0 auto;
  }

  .hero {
    min-height: calc(100svh - 76px);
    padding: 96px 0 70px;
    background-position: 58% center;
  }

  .hero::before {
    background:
      linear-gradient(180deg, rgba(var(--brand-teal-dark-rgb, 18, 79, 95), 0.55) 0%, rgba(var(--brand-teal-dark-rgb, 18, 79, 95), 0.88) 58%, rgba(var(--brand-teal-dark-rgb, 18, 79, 95), 0.96) 100%),
      linear-gradient(90deg, rgba(var(--brand-teal-dark-rgb, 18, 79, 95), 0.62), rgba(var(--brand-teal-dark-rgb, 18, 79, 95), 0.2));
  }

  .hero-copy {
    width: 100%;
    padding-top: 0;
  }

  .hero-title {
    max-width: 10.5ch;
    font-size: clamp(2.55rem, 13vw, 4rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.012em !important;
    font-weight: 400 !important;
  }

  .hero-lead {
    margin-top: 26px;
    padding-left: 18px;
    font-size: 1rem;
    line-height: 1.75;
    letter-spacing: 0;
    text-align: left !important;
    word-spacing: normal !important;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 30px;
  }

  .btn {
    width: 100%;
    min-height: 58px;
    padding: 0 22px;
    font-size: 0.98rem;
  }

  .trust-strip {
    background: var(--paper, #f2eadc) !important;
    color: var(--ink, #121417) !important;
    padding: 34px 0;
  }

  .trust-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .trust-item {
    align-items: center;
    gap: 18px;
  }

  .trust-item strong,
  .trust-item span {
    text-align: left;
  }

  .quote-band {
    padding: 64px 0;
  }

  .quote-text {
    font-size: clamp(1.55rem, 7vw, 2.15rem);
    line-height: 1.42;
    text-align: center !important;
    word-spacing: normal !important;
  }

  .quote-author {
    margin-top: 26px;
    text-align: center;
    line-height: 1.55;
  }

  section,
  .section,
  .about-section,
  .visit-section,
  .visits-section,
  .mission-section,
  .values-section,
  .partner-section,
  .news-section {
    padding-top: 74px;
    padding-bottom: 74px;
  }

  .about-section,
  .visit-section,
  .visits-section,
  .partner-section,
  .news-section {
    background: var(--brand-white, #f8f3ea) !important;
    color: var(--ink, #121417) !important;
  }

  .mission-section,
  .values-section,
  .ideal-section,
  .reasons-section {
    background: var(--paper, #f2eadc) !important;
    color: var(--ink, #121417) !important;
  }

  .services-section,
  .social-section,
  .contact-section {
    background: var(--teal-900, #124f5f) !important;
    color: var(--white, #f7f4ec) !important;
  }

  .eyebrow {
    font-size: 0.76rem;
    letter-spacing: 0.46em;
    line-height: 1.5;
  }

  .section-title,
  .news-card h3,
  .partner-card h3 {
    max-width: 12ch;
    font-size: clamp(2.15rem, 10vw, 3.15rem) !important;
    line-height: 1.13 !important;
    letter-spacing: -0.012em !important;
    overflow-wrap: normal;
    word-break: normal;
    font-weight: 400 !important;
  }

  .section-title .accent,
  .section-title .accent-light {
    display: inline;
  }

  p,
  .section-text,
  .hero-lead,
  .about-copy p,
  .profile-copy p,
  .mission-card p,
  .partner-card p,
  .news-card p,
  .contact-intro,
  .contact-card p,
  .service p,
  .reason p,
  .value p {
    text-align: left !important;
    word-spacing: normal !important;
    letter-spacing: normal !important;
    hyphens: none !important;
  }

  .section-text,
  .about-copy p,
  .profile-copy p,
  .mission-card p,
  .partner-card p,
  .news-card p,
  .contact-intro {
    font-size: 1rem;
    line-height: 1.78;
  }

  .about-grid,
  .values-grid,
  .contact-grid,
  .news-card {
    grid-template-columns: 1fr !important;
    gap: 32px;
  }

  .image-card,
  .profile-image,
  .gallery-card {
    border-radius: 22px;
  }

  .profile-copy .section-title,
  .profile-copy h2 {
    max-width: 100%;
  }

  .profile-copy p {
    max-width: 100%;
  }

  .tags,
  .tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  .tag,
  .tags span,
  .tag-list span {
    font-size: 0.78rem;
    line-height: 1.35;
    padding: 10px 12px;
  }

  .reasons-grid,
  .ideal-grid {
    display: grid;
    grid-template-columns: 1fr !important;
    border: 0 !important;
    gap: 16px;
    background: transparent !important;
  }

  .reason,
  .ideal-card {
    border: 1px solid rgba(18, 79, 95, 0.16);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.48);
    padding: 26px 24px;
  }

  .reason-number,
  .reason .number,
  .reason strong:first-child {
    font-size: 2.15rem;
    line-height: 1;
  }

  .mission-card,
  .value-card,
  .partner-card,
  .news-card {
    border-radius: 24px;
    padding: 30px 26px;
  }

  .services-grid {
    grid-template-columns: 1fr !important;
  }

  .service {
    min-height: auto;
    padding: 28px 24px;
  }

  .news-list {
    gap: 22px;
  }

  .news-card {
    display: flex !important;
    flex-direction: column;
  }

  .news-image {
    order: 2;
    min-height: 220px;
    margin-top: 8px;
  }

  .news-image img {
    min-height: 220px;
    object-position: left center;
  }

  .news-card .btn {
    order: 3;
    margin-top: 22px;
  }

  .social-section {
    padding-top: 82px;
    padding-bottom: 82px;
  }

  .social-section .section-title {
    max-width: 12ch;
    margin-inline: auto;
    text-align: center !important;
    font-size: clamp(2.2rem, 10vw, 3.2rem) !important;
  }

  .social-section .section-text {
    max-width: 31ch;
    margin-inline: auto;
    text-align: center !important;
    font-size: 1rem;
    line-height: 1.85;
  }

  .social-actions {
    grid-template-columns: 1fr !important;
    gap: 14px;
    width: min(100%, 360px);
    margin-inline: auto;
  }

  .contact-section {
    padding-top: 78px;
  }

  .contact-card,
  .form-card {
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
  }

  .form-grid {
    grid-template-columns: 1fr !important;
    gap: 18px;
  }

  input,
  textarea {
    min-height: 58px;
    font-size: 1rem;
  }

  textarea {
    min-height: 150px;
  }

  .contact-row {
    align-items: flex-start;
    gap: 16px;
  }

  .contact-row strong {
    line-height: 1.45;
    word-break: normal;
  }

  .whatsapp-btn,
  .whatsapp-link {
    width: 100%;
    min-height: 58px;
  }

  .site-footer {
    padding: 44px 0 52px;
  }

  .site-footer .logo img {
    height: 44px !important;
    max-width: 260px !important;
    object-fit: contain;
  }
}

@media (max-width: 420px) {
  .container {
    width: min(100% - 46px, var(--container, 1180px));
  }

  .site-header .logo img {
    height: 40px !important;
    max-width: 210px !important;
  }

  .hero-title {
    font-size: clamp(2.35rem, 12.2vw, 3.25rem) !important;
  }

  .section-title,
  .news-card h3,
  .partner-card h3 {
    font-size: clamp(2rem, 9.4vw, 2.75rem) !important;
  }
}


/* =========================================================
   FINAL MOBILE ADAPTATION V2 — desktop intacto
   ========================================================= */
html, body {
  font-family: var(--font-body, "Poppins", system-ui, sans-serif);
}
h1, h2, .hero-title, .section-title, .partner-card h3, .news-card h3 {
  font-family: var(--font-heading, "Peace Sans", "Poppins", system-ui, sans-serif);
}

@media (max-width: 760px) {
  html,
  body {
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    background: var(--brand-white, #f8f3ea);
    font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
  }

  .container {
    width: min(100% - 44px, var(--container, 1180px)) !important;
  }

  .site-header {
    min-height: 66px !important;
    background: var(--teal, #2f8da0) !important;
  }

  .header-inner,
  .nav-inner {
    height: 66px !important;
    min-height: 66px !important;
    padding-inline: 20px !important;
  }

  .site-header .logo img,
  .header-inner .logo img {
    height: 34px !important;
    width: auto !important;
    max-width: 188px !important;
    object-fit: contain !important;
    opacity: 1 !important;
    filter: brightness(1.38) contrast(1.16) saturate(1.15) !important;
  }

  .menu-button {
    width: 46px !important;
    height: 46px !important;
    border-radius: 14px !important;
    background: rgba(18, 79, 95, 0.16) !important;
  }

  .hero-stage {
    min-height: calc(100svh - 66px) !important;
    align-items: flex-end !important;
    padding: 92px 0 64px !important;
  }

  .hero-bg img {
    object-position: 57% center !important;
  }

  .hero-bg::before {
    background:
      linear-gradient(180deg, rgba(18, 79, 95, 0.42) 0%, rgba(18, 79, 95, 0.84) 57%, rgba(18, 79, 95, 0.96) 100%),
      linear-gradient(90deg, rgba(18, 79, 95, 0.72), rgba(18, 79, 95, 0.1)) !important;
  }

  .hero-copy {
    width: 100% !important;
    padding-top: 0 !important;
  }

  .hero-title {
    max-width: 11ch !important;
    font-family: var(--font-heading, "Peace Sans", "Poppins", system-ui, sans-serif) !important;
    font-size: clamp(2.05rem, 10.8vw, 3.25rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.01em !important;
    font-weight: 400 !important;
  }

  .hero-lead {
    margin-top: 24px !important;
    padding-left: 16px !important;
    font-size: 0.98rem !important;
    line-height: 1.72 !important;
    text-align: left !important;
    word-spacing: normal !important;
    letter-spacing: normal !important;
  }

  .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 13px !important;
    margin-top: 28px !important;
  }

  .btn {
    width: 100% !important;
    min-height: 54px !important;
    padding: 0 20px !important;
    font-size: 0.96rem !important;
  }

  .hero + .container.trust-grid,
  .container.trust-grid {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 34px 28px !important;
    background: var(--brand-white, #f8f3ea) !important;
    color: var(--ink, #121417) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .trust-item {
    grid-template-columns: 52px 1fr !important;
    gap: 16px !important;
  }

  .trust-item strong,
  .trust-item span {
    text-align: left !important;
  }

  .quote-band {
    padding: 58px 0 !important;
    background: var(--teal-900, #124f5f) !important;
  }

  .quote-inner {
    width: min(100% - 46px, var(--container, 1180px)) !important;
  }

  .quote-text {
    max-width: 24ch !important;
    margin-inline: auto !important;
    font-size: clamp(1.32rem, 6.2vw, 1.85rem) !important;
    line-height: 1.48 !important;
    text-align: center !important;
    word-spacing: normal !important;
    letter-spacing: normal !important;
  }

  .quote-author {
    margin-top: 22px !important;
    font-size: 0.88rem !important;
    line-height: 1.45 !important;
    text-align: center !important;
  }

  #sobre,
  .news-section,
  .partner-section {
    background: var(--brand-white, #f8f3ea) !important;
    color: var(--ink, #121417) !important;
  }

  .cream-section {
    background: var(--cream, #f2eadc) !important;
    color: var(--ink, #121417) !important;
  }

  .services-section,
  .social-section {
    background: var(--teal, #2f8da0) !important;
    color: var(--white, #f7f4ec) !important;
  }

  .contact-section {
    background: #101112 !important;
    color: var(--white, #f7f4ec) !important;
  }

  section,
  .cream-section,
  .news-section,
  .services-section,
  .social-section,
  .contact-section {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
  }

  .eyebrow {
    font-size: 0.72rem !important;
    letter-spacing: 0.38em !important;
    line-height: 1.5 !important;
  }

  .section-title,
  .partner-card h3,
  .news-card h3 {
    max-width: 13ch !important;
    font-family: var(--font-heading, "Peace Sans", "Poppins", system-ui, sans-serif) !important;
    font-size: clamp(1.78rem, 8.8vw, 2.55rem) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.006em !important;
    font-weight: 400 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .news-card h3 {
    max-width: 12ch !important;
    font-size: clamp(1.55rem, 8vw, 2.2rem) !important;
  }

  p,
  .section-text,
  .about-copy p,
  .profile-copy p,
  .mission-card p,
  .partner-card p,
  .news-card p,
  .contact-section .section-text,
  .service p,
  .reason p,
  .value p {
    text-align: left !important;
    word-spacing: normal !important;
    letter-spacing: normal !important;
    hyphens: none !important;
    line-height: 1.75 !important;
  }

  .about-grid,
  .values-grid,
  .contact-grid,
  .news-card {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .reasons-grid {
    grid-template-columns: 1fr !important;
    border: 0 !important;
    gap: 16px !important;
    background: transparent !important;
  }

  .reason {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
    border: 1px solid rgba(18, 79, 95, 0.14) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, 0.52) !important;
    padding: 26px 24px !important;
  }

  .reason-number {
    font-size: 2rem !important;
  }

  .mission-card,
  .partner-card,
  .news-card {
    border-radius: 24px !important;
    padding: 30px 24px !important;
  }

  .services-grid {
    grid-template-columns: 1fr !important;
  }

  .news-card {
    display: flex !important;
    flex-direction: column !important;
  }

  .news-image {
    order: 2 !important;
    min-height: 220px !important;
    margin-top: 6px !important;
  }

  .news-image img {
    min-height: 220px !important;
    object-position: left center !important;
  }

  .news-card .btn {
    order: 3 !important;
    margin-top: 20px !important;
  }

  .social-section .section-title,
  .social-section .section-text {
    text-align: center !important;
    margin-inline: auto !important;
  }

  .social-section .section-title {
    max-width: 12ch !important;
  }

  .social-section .section-text {
    max-width: 31ch !important;
  }

  .social-actions {
    grid-template-columns: 1fr !important;
    width: min(100%, 360px) !important;
    margin-inline: auto !important;
    gap: 14px !important;
  }

  .form-grid {
    grid-template-columns: 1fr !important;
  }

  .field input,
  .field textarea {
    min-height: 56px !important;
    font-size: 1rem !important;
  }

  .contact-info {
    margin-top: 22px !important;
  }

  .site-footer .logo img {
    height: 38px !important;
    max-width: 220px !important;
    filter: none !important;
  }
}

@media (max-width: 420px) {
  .container {
    width: min(100% - 40px, var(--container, 1180px)) !important;
  }

  .site-header .logo img,
  .header-inner .logo img {
    height: 31px !important;
    max-width: 174px !important;
  }

  .hero-title {
    font-size: clamp(1.95rem, 10.2vw, 2.75rem) !important;
  }

  .section-title,
  .partner-card h3 {
    font-size: clamp(1.7rem, 8.1vw, 2.3rem) !important;
  }

  .news-card h3 {
    font-size: clamp(1.45rem, 7.4vw, 2.05rem) !important;
  }
}


/* =========================================================
   MOBILE COLOR LOCK V3 — igualar mobile ao desktop
   ========================================================= */
@media (max-width: 760px) {
  :root {
    --orange: #ff7a18;
    --orange-soft: #ff7a18;
    --brand-orange: #ff7a18;
    --brand-orange-rgb: 244, 122, 32;
  }

  .accent,
  .accent-light,
  .section-title .accent,
  .hero-title .accent,
  .quote-author,
  .contact-row strong,
  .footer-logo .brand-two,
  .logo .brand-two {
    color: var(--orange) !important;
  }

  .btn-primary,
  button[type="submit"],
  .form-submit,
  .mobile-cta {
    background: var(--orange) !important;
    border-color: var(--orange) !important;
    color: #ffffff !important;
    box-shadow: 0 20px 45px rgba(244, 122, 32, 0.22) !important;
  }

  .eyebrow,
  .news-source,
  .service-icon,
  .icon-box svg,
  .trust-icon svg {
    color: var(--teal, #2f8da0) !important;
    stroke: var(--teal, #2f8da0) !important;
  }

  .site-header,
  header.site-header,
  .topbar,
  .navbar {
    background: var(--teal, #2f8da0) !important;
  }

  .site-header .logo img,
  .topbar .logo img,
  .navbar .logo img {
    height: 31px !important;
    max-width: 174px !important;
    width: auto !important;
    object-fit: contain !important;
    opacity: 1 !important;
    filter: brightness(1.52) contrast(1.22) saturate(1.22) !important;
  }

  .trust-strip,
  .trust-section,
  .features-strip,
  .features-band,
  .stats-strip,
  .benefits-strip,
  .trust-grid {
    background: var(--brand-white, #f8f3ea) !important;
    color: var(--ink, #121417) !important;
  }

  .trust-item,
  .feature-item,
  .benefit-item {
    background: transparent !important;
    color: var(--ink, #121417) !important;
  }

  .trust-item strong,
  .feature-item strong,
  .benefit-item strong {
    color: var(--ink, #121417) !important;
  }

  .trust-item span,
  .feature-item span,
  .benefit-item span {
    color: var(--muted, #6e747d) !important;
  }

  #sobre,
  .about-section,
  .profile-section,
  .visit-section,
  .visits-section,
  .partner-section,
  .news-section {
    background: var(--brand-white, #f8f3ea) !important;
    color: var(--ink, #121417) !important;
  }

  #missao,
  .mission-section,
  .values-section,
  .ideal-section,
  .reasons-section,
  .cream-section {
    background: var(--cream, #f2eadc) !important;
    color: var(--ink, #121417) !important;
  }

  #servicos,
  .services-section {
    background: var(--teal, #2f8da0) !important;
    color: var(--white, #f7f4ec) !important;
  }

  .quote-band,
  .social-section {
    background: var(--teal-900, #124f5f) !important;
    color: var(--white, #f7f4ec) !important;
  }

  #contacto,
  .contact-section {
    background: #101112 !important;
    color: var(--white, #f7f4ec) !important;
  }

  .mission-card,
  .value-card,
  .partner-card,
  .news-card,
  .reason,
  .ideal-card,
  .service,
  .form-card,
  .contact-card {
    background: var(--paper, #f4efe4) !important;
    color: var(--ink, #121417) !important;
    border-color: rgba(18, 79, 95, 0.14) !important;
  }

  .services-section .service,
  #servicos .service {
    background: rgba(255, 255, 255, 0.12) !important;
    color: var(--white, #f7f4ec) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
  }

  .contact-section .form-card,
  .contact-section .contact-card,
  #contacto .form-card,
  #contacto .contact-card {
    background: transparent !important;
    color: var(--white, #f7f4ec) !important;
    border-color: transparent !important;
  }

  .news-card,
  .partner-card {
    background: var(--paper, #f4efe4) !important;
  }

  input,
  textarea {
    background: rgba(255, 255, 255, 0.045) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: var(--white, #f7f4ec) !important;
  }

  input::placeholder,
  textarea::placeholder {
    color: rgba(255, 255, 255, 0.42) !important;
  }
}


/* =========================================================
   ORANGE LOCK V4 — usar sempre o laranja do cartão AO VET
   ========================================================= */
@media (max-width: 760px) {
  :root {
    --orange: #ff7a18;
    --orange-soft: #ff7a18;
    --brand-orange: #ff7a18;
    --brand-orange-rgb: 243, 122, 31;
  }

  .accent,
  .accent-light,
  .hero-title .accent,
  .section-title .accent,
  .section-title .accent-light,
  .quote-author,
  .news-card h3 .accent,
  .profile-copy .accent,
  .contact-row strong,
  a:not(.btn):not(.social-btn) {
    color: #ff7a18 !important;
  }

  .btn-primary,
  .hero-actions .btn-primary,
  .mobile-cta,
  button[type="submit"],
  .form-submit,
  .submit-btn,
  .badge-orange,
  .image-badge,
  .profile-badge {
    background: #ff7a18 !important;
    border-color: #ff7a18 !important;
    color: #ffffff !important;
    box-shadow: 0 20px 45px rgba(243, 122, 31, 0.24) !important;
  }

  .btn-primary:hover,
  .mobile-cta:hover,
  button[type="submit"]:hover {
    background: #ff7a18 !important;
    border-color: #ff7a18 !important;
  }

  .site-header .logo img,
  .topbar .logo img,
  .navbar .logo img,
  .header-inner .logo img {
    filter: none !important;
    opacity: 1 !important;
  }

  .site-footer .logo img {
    filter: none !important;
    opacity: 1 !important;
  }
}


/* =========================================================
   MOBILE HERO FIX V5 — resolver sobreposição, logo e laranja
   ========================================================= */
@media (max-width: 760px) {
  :root {
    --orange: #ff7a18;
    --brand-orange: #ff7a18;
    --orange-soft: #ff7a18;
    --brand-orange-rgb: 243, 122, 31;
  }

  .site-header,
  header.site-header,
  .topbar,
  .navbar {
    height: 68px !important;
    min-height: 68px !important;
    background: var(--teal, #2f8da0) !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1000 !important;
  }

  .header-inner,
  .nav-inner {
    height: 68px !important;
    min-height: 68px !important;
    padding: 0 22px !important;
  }

  .site-header .logo img,
  .header-inner .logo img,
  .topbar .logo img,
  .navbar .logo img {
    height: 28px !important;
    max-width: 158px !important;
    width: auto !important;
    object-fit: contain !important;
    filter: none !important;
    opacity: 1 !important;
  }

  .menu-button {
    width: 44px !important;
    height: 44px !important;
  }

  .hero,
  .hero-stage {
    min-height: 100svh !important;
    padding-top: 140px !important;
    padding-bottom: 58px !important;
    display: flex !important;
    align-items: center !important;
  }

  .hero-copy {
    width: 100% !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  .hero-title {
    max-width: 12ch !important;
    font-size: clamp(2rem, 9.2vw, 2.75rem) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.008em !important;
    font-weight: 400 !important;
    margin-top: 0 !important;
  }

  .hero-title .accent,
  .section-title .accent,
  .section-title .accent-light,
  .accent,
  .accent-light,
  .quote-author,
  .profile-copy .accent,
  .news-card h3 .accent,
  .contact-row strong {
    color: #ff7a18 !important;
  }

  .btn-primary,
  .hero-actions .btn-primary,
  .mobile-cta,
  button[type="submit"],
  .form-submit,
  .submit-btn,
  .image-badge,
  .profile-badge,
  .badge-orange {
    background-color: #ff7a18 !important;
    border-color: #ff7a18 !important;
    color: #fff !important;
  }

  .hero-lead {
    margin-top: 22px !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
  }

  .hero-actions {
    margin-top: 26px !important;
    gap: 12px !important;
  }

  .hero-actions .btn {
    min-height: 52px !important;
    border-radius: 13px !important;
  }

  .quote-text {
    padding-top: 0 !important;
    font-size: clamp(1.25rem, 5.8vw, 1.75rem) !important;
  }

  .about-section,
  .profile-section,
  .news-section,
  .partner-section,
  #sobre {
    background: var(--brand-white, #f8f3ea) !important;
  }

  .cream-section,
  .mission-section,
  .values-section,
  .reasons-section,
  .ideal-section,
  #missao {
    background: var(--cream, #f2eadc) !important;
  }

  .services-section,
  #servicos {
    background: var(--teal, #2f8da0) !important;
  }

  .quote-band,
  .social-section {
    background: var(--teal-900, #124f5f) !important;
  }

  .contact-section,
  #contacto {
    background: #101112 !important;
  }
}


/* ORANGE MASTER LOCK — laranja único AO VET Member */
:root {
  --orange: #ff7a18;
  --orange-soft: #ff7a18;
  --brand-orange: #ff7a18;
  --brand-orange-rgb: 240, 120, 30;
}

.accent,
.accent-light,
.hero-title .accent,
.section-title .accent,
.section-title .accent-light,
.quote-author,
.profile-copy .accent,
.news-card h3 .accent,
.contact-row strong {
  color: #ff7a18 !important;
}

.btn-primary,
.hero-actions .btn-primary,
.mobile-cta,
button[type="submit"],
.form-submit,
.submit-btn,
.image-badge,
.profile-badge,
.badge-orange {
  background: #ff7a18 !important;
  border-color: #ff7a18 !important;
  color: #ffffff !important;
}

@media (max-width: 760px) {
  .accent,
  .accent-light,
  .hero-title .accent,
  .section-title .accent,
  .section-title .accent-light,
  .quote-author,
  .profile-copy .accent,
  .news-card h3 .accent,
  .contact-row strong {
    color: #ff7a18 !important;
  }

  .btn-primary,
  .hero-actions .btn-primary,
  .mobile-cta,
  button[type="submit"],
  .form-submit,
  .submit-btn,
  .image-badge,
  .profile-badge,
  .badge-orange {
    background: #ff7a18 !important;
    border-color: #ff7a18 !important;
    color: #ffffff !important;
  }

  .site-header .logo img,
  .header-inner .logo img,
  .topbar .logo img,
  .navbar .logo img,
  .site-footer .logo img {
    filter: none !important;
    opacity: 1 !important;
  }
}


/* =========================================================
   V7 — laranja vivo + fundos mobile alinhados com desktop
   ========================================================= */
:root {
  --orange: #ff7a18;
  --orange-soft: #ff7a18;
  --brand-orange: #ff7a18;
  --brand-orange-rgb: 255, 122, 24;
}

.accent,
.accent-light,
.hero-title .accent,
.section-title .accent,
.section-title .accent-light,
.quote-author,
.profile-copy .accent,
.news-card h3 .accent,
.contact-row strong {
  color: #ff7a18 !important;
}

.btn-primary,
.hero-actions .btn-primary,
.mobile-cta,
button[type="submit"],
.form-submit,
.submit-btn,
.image-badge,
.profile-badge,
.badge-orange {
  background: #ff7a18 !important;
  border-color: #ff7a18 !important;
  color: #ffffff !important;
}

@media (max-width: 760px) {
  :root {
    --orange: #ff7a18;
    --orange-soft: #ff7a18;
    --brand-orange: #ff7a18;
    --brand-orange-rgb: 255, 122, 24;
  }

  .accent,
  .accent-light,
  .hero-title .accent,
  .section-title .accent,
  .section-title .accent-light,
  .quote-author,
  .profile-copy .accent,
  .news-card h3 .accent,
  .contact-row strong {
    color: #ff7a18 !important;
  }

  .btn-primary,
  .hero-actions .btn-primary,
  .mobile-cta,
  button[type="submit"],
  .form-submit,
  .submit-btn,
  .image-badge,
  .profile-badge,
  .badge-orange {
    background: #ff7a18 !important;
    border-color: #ff7a18 !important;
    color: #ffffff !important;
    box-shadow: 0 22px 48px rgba(255, 122, 24, 0.22) !important;
  }

  .site-header .logo img,
  .header-inner .logo img,
  .topbar .logo img,
  .navbar .logo img {
    height: 28px !important;
    max-width: 158px !important;
    filter: none !important;
    opacity: 1 !important;
  }

  /* Fundos principais por secção — mesma lógica do desktop */
  body {
    background: var(--brand-white, #f8f3ea) !important;
  }

  .trust-strip,
  .trust-section,
  .features-strip,
  .features-band,
  .benefits-strip {
    background: #ffffff !important;
    color: var(--ink, #111315) !important;
  }

  #sobre,
  .about-section,
  .profile-section,
  .visit-section,
  .visits-section {
    background: #ffffff !important;
    color: var(--ink, #111315) !important;
  }

  #missao,
  .mission-section,
  .values-section,
  .ideal-section,
  .reasons-section,
  .cream-section {
    background: var(--cream, #f2eadc) !important;
    color: var(--ink, #111315) !important;
  }

  .partner-section,
  .news-section {
    background: var(--brand-white, #f8f3ea) !important;
    color: var(--ink, #111315) !important;
  }

  .quote-band,
  .social-section {
    background: var(--teal-900, #124f5f) !important;
    color: var(--white, #f7f4ec) !important;
  }

  .services-section,
  #servicos {
    background: var(--teal, #2f8da0) !important;
    color: var(--white, #f7f4ec) !important;
  }

  .contact-section,
  #contacto {
    background: #101112 !important;
    color: var(--white, #f7f4ec) !important;
  }

  /* Boxes/cards claros iguais ao desktop */
  .mission-card,
  .value-card,
  .partner-card,
  .news-card,
  .reason,
  .ideal-card {
    background: #fffaf0 !important;
    color: var(--ink, #111315) !important;
    border: 1px solid rgba(18, 79, 95, 0.14) !important;
    box-shadow: 0 24px 70px rgba(16, 30, 34, 0.08) !important;
  }

  /* Cards de serviços mantêm a lógica do bloco azul */
  .services-section .service,
  #servicos .service {
    background: rgba(255, 255, 255, 0.13) !important;
    color: var(--white, #f7f4ec) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
  }

  .services-section .service h3,
  .services-section .service p,
  #servicos .service h3,
  #servicos .service p {
    color: var(--white, #f7f4ec) !important;
  }

  .service-icon,
  .icon-box,
  .trust-icon {
    background: rgba(47, 141, 160, 0.10) !important;
  }

  .services-section .service-icon,
  #servicos .service-icon {
    background: rgba(255,255,255,0.14) !important;
  }

  /* Contacto fica transparente sobre o fundo escuro, como no desktop */
  .contact-section .form-card,
  .contact-section .contact-card,
  #contacto .form-card,
  #contacto .contact-card {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: var(--white, #f7f4ec) !important;
  }

  input,
  textarea {
    background: rgba(255, 255, 255, 0.045) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    color: var(--white, #f7f4ec) !important;
  }

  input::placeholder,
  textarea::placeholder {
    color: rgba(255, 255, 255, 0.42) !important;
  }
}


/* =========================================================
   MOBILE PALETTE LOCK V8 — azul / branco / bege / cinzento escuro
   ========================================================= */
@media (max-width: 760px) {
  :root {
    --mobile-blue: #2f8da0;
    --mobile-blue-dark: #124f5f;
    --mobile-white: #fffaf0;
    --mobile-beige: #f2eadc;
    --mobile-dark: #101112;
    --mobile-orange: #ff7a18;
  }

  body {
    background: var(--mobile-white) !important;
  }

  .site-header,
  header.site-header,
  .topbar,
  .navbar {
    background: var(--mobile-blue) !important;
  }

  .hero,
  .hero-stage {
    background-color: var(--mobile-blue-dark) !important;
  }

  .hero-bg::before {
    background:
      linear-gradient(180deg, rgba(18, 79, 95, 0.34) 0%, rgba(18, 79, 95, 0.78) 58%, rgba(18, 79, 95, 0.96) 100%),
      linear-gradient(90deg, rgba(18, 79, 95, 0.70), rgba(18, 79, 95, 0.12)) !important;
  }

  .trust-strip,
  .trust-section,
  .features-strip,
  .features-band,
  .benefits-strip,
  .trust-grid,
  #sobre,
  .about-section,
  .profile-section,
  .visit-section,
  .visits-section {
    background: var(--mobile-white) !important;
    color: var(--ink, #111315) !important;
  }

  .cream-section,
  #missao,
  .mission-section,
  .values-section,
  .ideal-section,
  .reasons-section {
    background: var(--mobile-beige) !important;
    color: var(--ink, #111315) !important;
  }

  #servicos,
  .services-section {
    background: var(--mobile-blue) !important;
    color: var(--white, #f7f4ec) !important;
  }

  .quote-band,
  .social-section {
    background: var(--mobile-blue-dark) !important;
    color: var(--white, #f7f4ec) !important;
  }

  .partner-section,
  .news-section {
    background: var(--mobile-white) !important;
    color: var(--ink, #111315) !important;
  }

  #contacto,
  .contact-section {
    background: var(--mobile-dark) !important;
    color: var(--white, #f7f4ec) !important;
  }

  .mission-card {
    background: var(--mobile-blue) !important;
    color: var(--white, #f7f4ec) !important;
    border-color: rgba(255,255,255,0.14) !important;
  }

  .mission-card h3,
  .mission-card .accent {
    color: var(--mobile-orange) !important;
  }

  .mission-card p {
    color: rgba(255,255,255,0.82) !important;
  }

  .value-card,
  .value,
  .reason,
  .ideal-card,
  .partner-card,
  .news-card {
    background: var(--mobile-white) !important;
    color: var(--ink, #111315) !important;
    border-color: rgba(18, 79, 95, 0.14) !important;
    box-shadow: 0 24px 70px rgba(16, 30, 34, 0.08) !important;
  }

  .services-section .service,
  #servicos .service {
    background: rgba(255, 255, 255, 0.13) !important;
    color: var(--white, #f7f4ec) !important;
    border-color: rgba(255,255,255,0.14) !important;
  }

  .services-section .service h3,
  .services-section .service p,
  #servicos .service h3,
  #servicos .service p {
    color: var(--white, #f7f4ec) !important;
  }

  .contact-section .form-card,
  .contact-section .contact-card,
  #contacto .form-card,
  #contacto .contact-card {
    background: transparent !important;
    color: var(--white, #f7f4ec) !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }

  .accent,
  .accent-light,
  .hero-title .accent,
  .section-title .accent,
  .section-title .accent-light,
  .quote-author,
  .profile-copy .accent,
  .news-card h3 .accent,
  .contact-row strong {
    color: var(--mobile-orange) !important;
  }

  .btn-primary,
  .hero-actions .btn-primary,
  .mobile-cta,
  button[type="submit"],
  .form-submit,
  .submit-btn,
  .image-badge,
  .profile-badge,
  .badge-orange {
    background: var(--mobile-orange) !important;
    border-color: var(--mobile-orange) !important;
    color: #fff !important;
  }
}


/* CONTACT + GREEN BUTTON FIX — em fundos escuros/verdes o texto fica branco */
@media (max-width: 760px) {
  #contacto .contact-row strong,
  .contact-section .contact-row strong,
  #contacto a:not(.btn):not(.social-btn),
  .contact-section a:not(.btn):not(.social-btn),
  #contacto .contact-info strong,
  .contact-section .contact-info strong {
    color: var(--white, #f7f4ec) !important;
  }

  #contacto .contact-row small,
  .contact-section .contact-row small,
  #contacto .contact-info small,
  .contact-section .contact-info small {
    color: rgba(255, 255, 255, 0.42) !important;
  }

  .whatsapp-btn,
  .whatsapp-link,
  a.whatsapp-btn,
  a.whatsapp-link {
    background: #1ca345 !important;
    border-color: #1ca345 !important;
    color: #ffffff !important;
  }

  .whatsapp-btn *,
  .whatsapp-link *,
  a.whatsapp-btn *,
  a.whatsapp-link * {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
  }
}


/* =========================================================
   V10 FINAL MOBILE PALETTE + SOCIAL ICONS
   azul / branco / bege / cinzento escuro
   ========================================================= */
@media (max-width: 760px) {
  :root {
    --m-blue: #2f8da0;
    --m-blue-dark: #124f5f;
    --m-white: #fffaf0;
    --m-beige: #f2eadc;
    --m-dark: #101112;
    --m-orange: #ff7a18;
  }

  body {
    background: var(--m-white) !important;
  }

  /* Fundos por ordem real das secções */
  body > section:nth-of-type(1) { background: var(--m-blue-dark) !important; color: var(--white, #f7f4ec) !important; }
  body > section:nth-of-type(2) { background: var(--m-blue-dark) !important; color: var(--white, #f7f4ec) !important; }
  body > section:nth-of-type(3) { background: var(--m-white) !important; color: var(--ink, #121417) !important; }
  body > section:nth-of-type(4) { background: var(--m-beige) !important; color: var(--ink, #121417) !important; }
  body > section:nth-of-type(5) { background: var(--m-beige) !important; color: var(--ink, #121417) !important; }
  body > section:nth-of-type(6) { background: var(--m-blue) !important; color: var(--white, #f7f4ec) !important; }
  body > section:nth-of-type(7) { background: var(--m-white) !important; color: var(--ink, #121417) !important; }
  body > section:nth-of-type(8) { background: var(--m-beige) !important; color: var(--ink, #121417) !important; }
  body > section:nth-of-type(9) { background: var(--m-white) !important; color: var(--ink, #121417) !important; }
  body > section:nth-of-type(10) { background: var(--m-blue) !important; color: var(--white, #f7f4ec) !important; }
  body > section:nth-of-type(11) { background: var(--m-dark) !important; color: var(--white, #f7f4ec) !important; }

  .site-header,
  header.site-header,
  .topbar,
  .navbar {
    background: var(--m-blue) !important;
  }

  .trust-strip,
  .trust-section,
  .features-strip,
  .features-band,
  .benefits-strip,
  .trust-grid {
    background: var(--m-white) !important;
    color: var(--ink, #121417) !important;
  }

  .mission-card {
    background: var(--m-blue) !important;
    color: var(--white, #f7f4ec) !important;
    border-color: rgba(255,255,255,.16) !important;
  }

  .mission-card h3 {
    color: var(--m-orange) !important;
  }

  .mission-card p {
    color: rgba(255,255,255,.84) !important;
  }

  .reason,
  .ideal-card,
  .value,
  .value-card,
  .partner-card,
  .news-card {
    background: var(--m-white) !important;
    color: var(--ink, #121417) !important;
    border-color: rgba(18,79,95,.14) !important;
    box-shadow: 0 24px 70px rgba(16,30,34,.08) !important;
  }

  .services-section .service,
  #servicos .service {
    background: rgba(255,255,255,.13) !important;
    color: var(--white, #f7f4ec) !important;
    border-color: rgba(255,255,255,.14) !important;
  }

  .services-section .service h3,
  .services-section .service p,
  #servicos .service h3,
  #servicos .service p {
    color: var(--white, #f7f4ec) !important;
  }

  /* Redes sociais: fundo azul e botões com ícones */
  .social-section .section-title,
  .social-section .section-text,
  .social-section .accent,
  .social-section .accent-light {
    color: var(--white, #f7f4ec) !important;
  }

  .social-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .social-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    color: var(--white, #f7f4ec) !important;
    border-color: rgba(255,255,255,.18) !important;
    background: rgba(255,255,255,.08) !important;
  }

  .social-btn svg {
    width: 22px !important;
    height: 22px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.9 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  .social-btn:hover,
  .social-btn:focus-visible {
    background: rgba(255,255,255,.14) !important;
    color: var(--white, #f7f4ec) !important;
  }

  /* Contacto: cinzento escuro, texto branco */
  #contacto .accent,
  .contact-section .accent,
  #contacto .contact-row strong,
  .contact-section .contact-row strong,
  #contacto a:not(.btn):not(.social-btn),
  .contact-section a:not(.btn):not(.social-btn) {
    color: var(--white, #f7f4ec) !important;
  }

  #contacto .contact-row small,
  .contact-section .contact-row small {
    color: rgba(255,255,255,.42) !important;
  }

  .whatsapp-btn,
  .whatsapp-link,
  a.whatsapp-btn,
  a.whatsapp-link {
    background: #1ca345 !important;
    border-color: #1ca345 !important;
    color: #fff !important;
  }

  .whatsapp-btn *,
  .whatsapp-link * {
    color: #fff !important;
    fill: #fff !important;
    stroke: #fff !important;
  }

  .btn-primary,
  .hero-actions .btn-primary,
  .mobile-cta,
  button[type="submit"],
  .form-submit,
  .submit-btn,
  .image-badge,
  .profile-badge,
  .badge-orange {
    background: var(--m-orange) !important;
    border-color: var(--m-orange) !important;
    color: #fff !important;
  }
}


/* =========================================================
   PATCH FINAL — hero sem corte, contacto laranja, Andicat centrado
   ========================================================= */
.hero {
  padding-top: 0 !important;
}

.hero-stage {
  min-height: 100svh !important;
  padding-top: calc(72px + clamp(56px, 9vw, 130px)) !important;
}

.contact-section .section-title .accent,
#contacto .section-title .accent {
  color: #e8a85b !important;
}

.partner-card h3 {
  text-align: center !important;
  margin-inline: auto !important;
}

@media (max-width: 760px) {
  .hero {
    padding-top: 0 !important;
  }

  .hero-stage {
    min-height: 100svh !important;
    padding-top: 140px !important;
  }

  .contact-section .section-title .accent,
  #contacto .section-title .accent {
    color: #e8a85b !important;
  }

  .partner-card h3 {
    text-align: center !important;
    margin-inline: auto !important;
  }
}


/* PATCH — notícias no menu + letras brancas no menu hambúrguer */
.mobile-nav a,
.mobile-nav a:visited,
.mobile-nav a:hover,
.mobile-nav a:focus-visible,
.mobile-nav .mobile-cta {
  color: #ffffff !important;
}

.mobile-nav {
  color: #ffffff !important;
}

@media (max-width: 900px) {
  .mobile-nav a,
  .mobile-nav a:visited,
  .mobile-nav a:hover,
  .mobile-nav a:focus-visible,
  .mobile-nav .mobile-cta {
    color: #ffffff !important;
  }
}


/* PATCH — hero mobile com imagem mais visível */
@media (max-width: 760px) {
  .hero-bg img {
    opacity: 1 !important;
    object-position: 60% center !important;
  }

  .hero-bg::before {
    background:
      linear-gradient(180deg, rgba(18, 79, 95, 0.18) 0%, rgba(18, 79, 95, 0.46) 56%, rgba(18, 79, 95, 0.76) 100%),
      linear-gradient(90deg, rgba(18, 79, 95, 0.46), rgba(18, 79, 95, 0.04)) !important;
  }
}


/* FINAL PATCH — hamburger readability + hero image */
@media (max-width: 900px) {
  .mobile-nav,
  .mobile-nav * {
    color: #ffffff !important;
  }

  .mobile-nav a,
  .mobile-nav a:link,
  .mobile-nav a:visited,
  .mobile-nav a:hover,
  .mobile-nav a:active,
  .mobile-nav a:focus,
  .mobile-nav .mobile-cta,
  .mobile-nav .mobile-cta:link,
  .mobile-nav .mobile-cta:visited,
  .mobile-nav .mobile-cta:hover,
  .mobile-nav .mobile-cta:active,
  .mobile-nav .mobile-cta:focus {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  .mobile-nav .mobile-cta {
    background: var(--orange, #ff7a18) !important;
    border-color: #e8a85b !important;
  }

  .hero-bg img {
    opacity: 1 !important;
  }

  .hero-bg::before {
    background:
      linear-gradient(180deg, rgba(18, 79, 95, 0.18) 0%, rgba(18, 79, 95, 0.46) 56%, rgba(18, 79, 95, 0.76) 100%),
      linear-gradient(90deg, rgba(18, 79, 95, 0.46), rgba(18, 79, 95, 0.04)) !important;
  }
}


/* PATCH — menu hambúrguer funcional e acima do hero */
@media (max-width: 900px) {
  .menu-button {
    position: relative !important;
    z-index: 2002 !important;
    pointer-events: auto !important;
  }

  .mobile-nav {
    z-index: 2001 !important;
    pointer-events: none !important;
  }

  body.menu-open .mobile-nav {
    pointer-events: auto !important;
  }

  .mobile-nav,
  .mobile-nav * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }
}


/* PATCH — serviços mobile compactos com ícones brancos */
.service .icon-box svg {
  color: var(--white, #fffaf0);
  stroke: currentColor;
}

@media (max-width: 760px) {
  .services-grid {
    grid-template-columns: 1fr !important;
  }

  .service {
    min-height: auto !important;
    padding: 22px 22px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
    background: rgba(255, 255, 255, 0.13) !important;
    display: grid !important;
    grid-template-columns: 52px 1fr !important;
    column-gap: 16px !important;
    row-gap: 6px !important;
    align-items: center !important;
  }

  .service:last-child {
    border-bottom: 0 !important;
  }

  .service .icon-box {
    grid-row: 1 / span 2 !important;
    width: 52px !important;
    height: 52px !important;
    margin: 0 !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, 0.16) !important;
    color: var(--white, #fffaf0) !important;
  }

  .service .icon-box svg {
    width: 23px !important;
    height: 23px !important;
    color: var(--white, #fffaf0) !important;
    stroke: currentColor !important;
  }

  .service h3 {
    align-self: end !important;
    margin: 0 !important;
    font-size: 1.02rem !important;
    line-height: 1.22 !important;
    color: var(--white, #fffaf0) !important;
  }

  .service p {
    align-self: start !important;
    margin: 0 !important;
    font-size: 0.92rem !important;
    line-height: 1.5 !important;
    color: rgba(255, 250, 240, 0.82) !important;
  }
}



/* PATCH — redes sociais + hero mobile sem espaço/corte extra */
@media (max-width: 760px) {
  .hero {
    min-height: auto !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .hero-stage {
    min-height: auto !important;
    padding-top: 112px !important;
    padding-bottom: 24px !important;
    align-items: flex-start !important;
  }

  .hero-copy {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  .hero-actions {
    margin-top: 22px !important;
    margin-bottom: 0 !important;
  }

  .hero-bg::before,
  .hero-bg:before {
    background:
      linear-gradient(to bottom, rgba(18,79,95,0.12) 0%, rgba(18,79,95,0.22) 32%, rgba(18,79,95,0.44) 68%, rgba(18,79,95,0.62) 100%),
      linear-gradient(90deg, rgba(18,79,95,0.54) 0%, rgba(18,79,95,0.24) 50%, rgba(18,79,95,0.08) 100%) !important;
  }

  .hero + .container.trust-grid,
  .container.trust-grid {
    margin-top: 0 !important;
  }
}


/* PATCH — consistência contacto + legibilidade de títulos longos */
.contact-row a,
.contact-row strong {
  color: var(--gold, #d9a12b) !important;
  font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

.contact-row small {
  color: rgba(255, 255, 255, 0.36) !important;
}

.whatsapp,
.whatsapp *,
.whatsapp-btn,
.whatsapp-btn *,
.whatsapp-link,
.whatsapp-link * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Peace Sans funciona bem em títulos curtos, mas em frases longas perde legibilidade */
.partner-card h3,
.news-card h3 {
  font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.18 !important;
}

.partner-card h3 {
  text-align: center !important;
  margin-inline: auto !important;
  font-size: clamp(1.18rem, 2vw, 1.45rem) !important;
  line-height: 1.28 !important;
}

.news-card h3 {
  max-width: 18ch !important;
  font-size: clamp(1.7rem, 3vw, 2.55rem) !important;
}

@media (max-width: 760px) {
  .contact-row a,
  .contact-row strong {
    color: var(--gold, #d9a12b) !important;
    font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
  }

  .contact-section .section-title .accent,
  #contacto .section-title .accent {
    color: #e8a85b !important;
  }

  .partner-card h3,
  .news-card h3 {
    font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
    font-weight: 800 !important;
    letter-spacing: -0.025em !important;
    line-height: 1.22 !important;
  }

  .partner-card h3 {
    text-align: center !important;
    font-size: 1.12rem !important;
  }

  .news-card h3 {
    max-width: 100% !important;
    font-size: clamp(1.45rem, 7vw, 2rem) !important;
  }
}


/* PATCH — ícone Instagram legível */
.social-btn[aria-label*="Instagram"] svg {
  fill: currentColor !important;
  stroke: none !important;
}

.social-btn[aria-label*="Instagram"] svg path {
  fill: currentColor !important;
  stroke: none !important;
}


/* PATCH — WhatsApp icon, contacto uniforme, hero mobile sem corte azul */
.contact-row a,
.contact-row strong,
#contacto .contact-row a,
#contacto .contact-row strong,
.contact-section .contact-row a,
.contact-section .contact-row strong {
  color: var(--gold, #d9a12b) !important;
  font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  -webkit-text-fill-color: var(--gold, #d9a12b) !important;
}

.whatsapp,
.whatsapp-btn,
.whatsapp-link,
a.whatsapp,
a.whatsapp-btn,
a.whatsapp-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background: #1ca345 !important;
  border-color: #1ca345 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.whatsapp svg,
.whatsapp-btn svg,
.whatsapp-link svg {
  width: 22px !important;
  height: 22px !important;
  flex: 0 0 auto !important;
  fill: currentColor !important;
  stroke: none !important;
  color: #ffffff !important;
}

.whatsapp *,
.whatsapp-btn *,
.whatsapp-link * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  fill: currentColor !important;
}

@media (max-width: 760px) {
  .hero {
    min-height: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    background: transparent !important;
  }

  .hero-stage {
    min-height: auto !important;
    padding-top: 110px !important;
    padding-bottom: 22px !important;
    margin-bottom: 0 !important;
    align-items: flex-start !important;
  }

  .hero-copy {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .hero-actions {
    margin-bottom: 0 !important;
  }

  .hero-bg {
    bottom: 0 !important;
  }

  .hero-bg img {
    opacity: 1 !important;
  }

  .hero-bg::before,
  .hero-bg:before {
    background:
      linear-gradient(to bottom, rgba(18,79,95,0.10) 0%, rgba(18,79,95,0.22) 34%, rgba(18,79,95,0.44) 70%, rgba(18,79,95,0.58) 100%),
      linear-gradient(90deg, rgba(18,79,95,0.52) 0%, rgba(18,79,95,0.22) 50%, rgba(18,79,95,0.06) 100%) !important;
  }

  .hero + .trust-strip,
  .hero + aside,
  .trust-strip {
    margin-top: 0 !important;
    border-top: 0 !important;
  }
}


/* PATCH — hero desktop mais visível + texto mais alto + Andicat numa linha no mobile */
@media (min-width: 901px) {
  .hero-stage {
    align-items: center !important;
    padding-top: calc(72px + clamp(18px, 4vw, 58px)) !important;
  }

  .hero-bg::before,
  .hero-bg:before {
    background:
      linear-gradient(90deg, rgba(18, 79, 95, 0.72) 0%, rgba(18, 79, 95, 0.54) 30%, rgba(18, 79, 95, 0.18) 58%, rgba(18, 79, 95, 0.02) 100%),
      linear-gradient(to top, rgba(18, 79, 95, 0.50) 0%, rgba(18, 79, 95, 0.04) 44%) !important;
  }

  .hero-copy {
    transform: translateY(-22px);
  }
}

.partner-card h3 {
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  .partner-card h3 {
    max-width: none !important;
    white-space: nowrap !important;
    font-size: clamp(1rem, 4.8vw, 1.18rem) !important;
    line-height: 1.25 !important;
  }
}


/* PATCH FINAL — top bar desktop mais equilibrada + hero web 10/10 */
@media (min-width: 901px) {
  .header-inner {
    width: min(1280px, calc(100% - 64px)) !important;
    max-width: 1280px !important;
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    align-items: center !important;
    gap: 34px !important;
  }

  .site-header .logo {
    justify-self: start !important;
  }

  .site-header .logo img {
    height: 38px !important;
  }

  .desktop-nav {
    justify-content: center !important;
    gap: 26px !important;
  }

  .header-cta {
    justify-self: end !important;
    min-width: 176px !important;
  }

  .hero-bg::before,
  .hero-bg:before {
    background:
      linear-gradient(90deg, rgba(18, 79, 95, 0.60) 0%, rgba(18, 79, 95, 0.42) 30%, rgba(18, 79, 95, 0.14) 58%, rgba(18, 79, 95, 0.02) 100%),
      linear-gradient(to top, rgba(18, 79, 95, 0.46) 0%, rgba(18, 79, 95, 0.03) 44%) !important;
  }

  .hero-copy {
    transform: translateY(-34px) !important;
  }

  .hero-title {
    font-size: clamp(2.35rem, 4.35vw, 3.9rem) !important;
    line-height: 1.11 !important;
  }

  .hero-lead {
    margin-top: 24px !important;
    max-width: 720px !important;
    line-height: 1.75 !important;
  }

  .hero-actions {
    margin-top: 30px !important;
  }
}


/* PATCH FINAL 2 — header mais compacto e hero desktop com menos espaço vazio */
@media (min-width: 901px) {
  .site-header {
    min-height: 58px !important;
  }

  .header-inner {
    height: 58px !important;
    min-height: 58px !important;
    width: min(1540px, calc(100% - 96px)) !important;
    max-width: 1540px !important;
    grid-template-columns: auto 1fr auto !important;
    gap: 40px !important;
  }

  .site-header .logo img {
    height: 34px !important;
  }

  .desktop-nav {
    gap: 24px !important;
    font-size: 0.96rem !important;
  }

  .header-cta {
    min-height: 40px !important;
    min-width: 168px !important;
    padding-inline: 24px !important;
    border-radius: 11px !important;
    font-size: 0.92rem !important;
  }

  .hero {
    padding-top: 58px !important;
    min-height: calc(100svh - 58px) !important;
  }

  .hero-stage {
    min-height: calc(100svh - 58px) !important;
    padding-top: 0 !important;
    padding-bottom: 42px !important;
    align-items: center !important;
  }

  .hero-copy {
    transform: translateY(-72px) !important;
    max-width: 690px !important;
  }

  .hero-title {
    font-size: clamp(2.25rem, 4.05vw, 3.68rem) !important;
    line-height: 1.10 !important;
  }

  .hero-lead {
    margin-top: 20px !important;
    max-width: 690px !important;
    line-height: 1.68 !important;
  }

  .hero-actions {
    margin-top: 24px !important;
  }

  .hero-bg::before,
  .hero-bg:before {
    background:
      linear-gradient(90deg, rgba(18, 79, 95, 0.56) 0%, rgba(18, 79, 95, 0.38) 30%, rgba(18, 79, 95, 0.12) 58%, rgba(18, 79, 95, 0.02) 100%),
      linear-gradient(to top, rgba(18, 79, 95, 0.38) 0%, rgba(18, 79, 95, 0.02) 44%) !important;
  }
}


/* PATCH FINAL 3 — header quase ponta a ponta e menu mais espaçado */
@media (min-width: 901px) {
  .header-inner {
    width: min(1680px, calc(100% - 48px)) !important;
    max-width: 1680px !important;
    grid-template-columns: auto 1fr auto !important;
    gap: 56px !important;
  }

  .site-header .logo {
    justify-self: start !important;
  }

  .header-cta {
    justify-self: end !important;
  }

  .desktop-nav {
    justify-self: center !important;
    justify-content: center !important;
    gap: clamp(30px, 2.6vw, 48px) !important;
  }
}

@media (min-width: 1400px) {
  .header-inner {
    width: min(1720px, calc(100% - 56px)) !important;
  }

  .desktop-nav {
    gap: 46px !important;
  }
}


/* PATCH — números da secção "Ideal saber" mais visíveis no desktop */
@media (min-width: 901px) {
  .reason-number {
    color: rgba(47, 141, 160, 0.34) !important;
    font-size: clamp(2.15rem, 2.8vw, 3rem) !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    letter-spacing: -0.06em !important;
  }

  .reason:hover .reason-number {
    color: rgba(47, 141, 160, 0.52) !important;
  }
}


/* PATCH — header fosco em scroll, desktop e mobile */
.site-header {
  transition:
    background 220ms ease,
    box-shadow 220ms ease,
    backdrop-filter 220ms ease,
    -webkit-backdrop-filter 220ms ease,
    border-color 220ms ease;
}

.site-header.is-scrolled {
  background: rgba(47, 141, 160, 0.82) !important;
  backdrop-filter: blur(14px) saturate(1.12) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.12) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.14) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
}

@media (max-width: 900px) {
  .site-header.is-scrolled {
    background: rgba(47, 141, 160, 0.86) !important;
    backdrop-filter: blur(14px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.12) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.16) !important;
  }

  body.menu-open .site-header {
    background: rgba(47, 141, 160, 0.92) !important;
    backdrop-filter: blur(16px) saturate(1.12) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.12) !important;
  }
}


/* PATCH — header fosco com mais presença em baixo no scroll */
.site-header.is-scrolled::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -10px;
  height: 10px;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(47, 141, 160, 0.26),
    rgba(47, 141, 160, 0)
  );
}

@media (min-width: 901px) {
  .site-header.is-scrolled .header-inner {
    height: 68px !important;
    min-height: 68px !important;
  }
}

@media (max-width: 900px) {
  .site-header.is-scrolled::after {
    bottom: -12px;
    height: 12px;
    background: linear-gradient(
      to bottom,
      rgba(47, 141, 160, 0.30),
      rgba(47, 141, 160, 0)
    );
  }

  .site-header.is-scrolled .header-inner {
    min-height: 74px !important;
  }
}


/* PATCH — header fosco fundido com o background */
.site-header.is-scrolled {
  background: rgba(47, 141, 160, 0.58) !important;
  backdrop-filter: blur(18px) saturate(1.18) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
  box-shadow: none !important;
  border-bottom: 0 !important;
}

.site-header.is-scrolled::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -34px;
  height: 34px;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(47, 141, 160, 0.46) 0%,
    rgba(47, 141, 160, 0.22) 42%,
    rgba(47, 141, 160, 0.00) 100%
  ) !important;
}

@media (min-width: 901px) {
  .site-header.is-scrolled .header-inner {
    height: 68px !important;
    min-height: 68px !important;
  }

  .site-header.is-scrolled .header-cta {
    box-shadow: 0 10px 24px rgba(255, 122, 24, 0.18) !important;
  }
}

@media (max-width: 900px) {
  .site-header.is-scrolled {
    background: rgba(47, 141, 160, 0.66) !important;
    backdrop-filter: blur(18px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
    box-shadow: none !important;
    border-bottom: 0 !important;
  }

  .site-header.is-scrolled::after {
    bottom: -30px;
    height: 30px;
    background: linear-gradient(
      to bottom,
      rgba(47, 141, 160, 0.50) 0%,
      rgba(47, 141, 160, 0.22) 44%,
      rgba(47, 141, 160, 0.00) 100%
    ) !important;
  }

  body.menu-open .site-header {
    background: rgba(47, 141, 160, 0.88) !important;
    backdrop-filter: blur(18px) saturate(1.18) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
  }
}


/* PATCH — footer alinhado e ano atualizado */
.site-footer .footer-inner {
  width: min(1280px, calc(100% - 64px)) !important;
  max-width: 1280px !important;
  display: grid !important;
  grid-template-columns: auto 1fr auto !important;
  align-items: center !important;
  gap: 32px !important;
  margin-inline: auto !important;
}

.site-footer .logo {
  justify-self: start !important;
}

.site-footer .logo img {
  height: 34px !important;
  width: auto !important;
  opacity: 0.95 !important;
}

.site-footer span,
.site-footer p,
.site-footer .copyright {
  justify-self: end !important;
  text-align: right !important;
  margin: 0 !important;
}

@media (max-width: 760px) {
  .site-footer .footer-inner {
    width: min(100% - 48px, 1280px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 16px !important;
    text-align: center !important;
  }

  .site-footer .logo {
    justify-self: center !important;
  }

  .site-footer .logo img {
    height: 32px !important;
  }

  .site-footer span,
  .site-footer p,
  .site-footer .copyright {
    justify-self: center !important;
    text-align: center !important;
  }
}


/* PATCH — footer mais discreto e alinhado como o header */
.site-footer {
  padding: 22px 0 !important;
}

.site-footer .footer-inner {
  width: min(100% - 64px, 1580px) !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  align-items: center !important;
  gap: 32px !important;
  margin-inline: auto !important;
}

.site-footer .logo {
  justify-self: start !important;
}

.site-footer .logo img {
  height: 26px !important;
  width: auto !important;
  opacity: 0.82 !important;
}

.site-footer span,
.site-footer p,
.site-footer .copyright {
  justify-self: end !important;
  text-align: right !important;
  margin: 0 !important;
  font-size: 0.86rem !important;
  color: rgba(255, 255, 255, 0.34) !important;
}

@media (max-width: 760px) {
  .site-footer {
    padding: 26px 0 !important;
  }

  .site-footer .footer-inner {
    width: min(100% - 48px, 1580px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 14px !important;
    text-align: center !important;
  }

  .site-footer .logo img {
    height: 28px !important;
    opacity: 0.86 !important;
  }

  .site-footer span,
  .site-footer p,
  .site-footer .copyright {
    text-align: center !important;
    font-size: 0.82rem !important;
  }
}


/* PATCH — mobile final: Andicat centrado, serviços com eyebrow, laranja uniforme e fontes consistentes */
:root {
  --orange: #ff7a18;
  --orange-light: #ff7a18;
  --brand-orange: #ff7a18;
}

.accent,
.accent-light,
.section-title .accent,
.contact-section .section-title .accent,
#contacto .section-title .accent {
  color: var(--orange) !important;
}

.btn-primary,
.header-cta,
.mobile-nav .mobile-cta,
.hero-actions .btn-primary,
.form-grid .btn,
.news-card .btn,
.news-card .btn-primary {
  background: var(--orange) !important;
  border-color: var(--orange) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.services-eyebrow {
  display: block !important;
  margin-bottom: 18px !important;
}

@media (max-width: 760px) {
  body {
    font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
  }

  p,
  li,
  input,
  textarea,
  button,
  a,
  small,
  .section-text,
  .hero-lead,
  .service p,
  .reason p,
  .mission-card p,
  .partner-card p,
  .news-card p,
  .contact-row a,
  .contact-row strong {
    font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
  }

  h1,
  h2,
  .hero-title,
  .section-title,
  .service h3,
  .reason h3 {
    font-family: var(--font-title, "Peace Sans", "Poppins", system-ui, sans-serif) !important;
  }

  .partner-card h3,
  .news-card h3 {
    font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
  }

  .partner-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  .partner-card h3 {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    white-space: normal !important;
    font-size: clamp(1rem, 4.7vw, 1.16rem) !important;
    line-height: 1.25 !important;
  }

  .partner-card p {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .services-eyebrow {
    margin: 0 0 16px !important;
    color: var(--teal, #2f8da0) !important;
    font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
    font-size: 0.72rem !important;
    font-weight: 850 !important;
    letter-spacing: 0.38em !important;
    text-transform: uppercase !important;
  }

  #servicos .section-title,
  .services-section .section-title {
    margin-top: 0 !important;
  }

  .accent,
  .accent-light,
  .hero-title .accent-light,
  .section-title .accent,
  .contact-section .section-title .accent,
  #contacto .section-title .accent {
    color: var(--orange) !important;
    -webkit-text-fill-color: var(--orange) !important;
  }

  .btn-primary,
  .mobile-nav .mobile-cta,
  .hero-actions .btn-primary,
  .form-grid .btn,
  .news-card .btn,
  .news-card .btn-primary {
    background: var(--orange) !important;
    border-color: var(--orange) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }
}


/* PATCH — mobile: "O que fazemos" visível + títulos dos serviços mais legíveis */
.services-mobile-eyebrow {
  display: block;
  margin: 0 0 16px;
  color: var(--teal, #2f8da0);
  font-family: var(--font-body, "Poppins", system-ui, sans-serif);
  font-size: 0.74rem;
  line-height: 1.2;
  font-weight: 850;
  letter-spacing: 0.38em;
  text-transform: uppercase;
}

@media (max-width: 760px) {
  .services-mobile-eyebrow {
    display: block !important;
    width: 100% !important;
    margin: 0 0 14px !important;
    color: var(--teal, #2f8da0) !important;
    font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
    font-size: 0.72rem !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    letter-spacing: 0.36em !important;
    text-transform: uppercase !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  #servicos .section-title,
  .services-section .section-title {
    margin-top: 0 !important;
  }

  /* Títulos dos cards de serviço: Peace Sans fica pesado/fechado em mobile.
     Usamos Poppins ExtraBold para leitura melhor, mantendo presença. */
  .service h3,
  .services-grid .service h3 {
    font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
    font-weight: 850 !important;
    font-size: clamp(1rem, 4.15vw, 1.18rem) !important;
    line-height: 1.26 !important;
    letter-spacing: -0.015em !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-wrap: balance;
  }

  .service p,
  .services-grid .service p {
    font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
    font-weight: 500 !important;
    font-size: clamp(0.9rem, 3.75vw, 1rem) !important;
    line-height: 1.55 !important;
    color: rgba(255, 255, 255, 0.86) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.86) !important;
  }

  .service .icon-box {
    color: #ffffff !important;
  }

  .service .icon-box svg {
    color: #ffffff !important;
    stroke: currentColor !important;
  }
}


/* PATCH — mobile: eyebrow dos serviços via CSS + títulos do Ideal Saber legíveis */
@media (max-width: 760px) {
  #servicos .section-title::before,
  .services-section .section-title::before {
    content: "O que fazemos";
    display: block !important;
    margin: 0 0 14px !important;
    color: var(--teal, #2f8da0) !important;
    font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
    font-size: 0.72rem !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    letter-spacing: 0.36em !important;
    text-transform: uppercase !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  #servicos .services-mobile-eyebrow,
  #servicos .services-eyebrow {
    display: none !important;
  }

  /* Ideal Saber — títulos dos cards 01/02/03/04 mais legíveis no mobile */
  .reason h3,
  .reasons-grid .reason h3 {
    font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
    font-weight: 850 !important;
    font-size: clamp(1rem, 4.25vw, 1.18rem) !important;
    line-height: 1.28 !important;
    letter-spacing: -0.015em !important;
    color: #111214 !important;
    -webkit-text-fill-color: #111214 !important;
  }

  .reason p,
  .reasons-grid .reason p {
    font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
    font-weight: 500 !important;
    font-size: clamp(0.92rem, 3.85vw, 1rem) !important;
    line-height: 1.58 !important;
    color: rgba(17, 18, 20, 0.64) !important;
    -webkit-text-fill-color: rgba(17, 18, 20, 0.64) !important;
  }

  .reason-number {
    color: rgba(47, 141, 160, 0.28) !important;
    -webkit-text-fill-color: rgba(47, 141, 160, 0.28) !important;
    font-family: var(--font-title, "Peace Sans", "Poppins", system-ui, sans-serif) !important;
    font-size: clamp(1.8rem, 8vw, 2.35rem) !important;
    line-height: 1 !important;
  }
}


/* PATCH — corrigir duplicado "O que fazemos" + legibilidade mobile Ideal Saber */
.services-eyebrow-final {
  display: block !important;
  margin: 0 0 18px !important;
  color: var(--teal, #2f8da0) !important;
  font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
  font-size: 0.76rem !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: 0.42em !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Desativa tentativas anteriores que criavam duplicados */
#servicos .section-title::before,
.services-section .section-title::before {
  content: none !important;
  display: none !important;
}

#servicos .services-mobile-eyebrow,
#servicos .services-eyebrow,
.services-mobile-eyebrow,
.services-eyebrow {
  display: none !important;
}

@media (max-width: 760px) {
  .services-eyebrow-final {
    display: block !important;
    margin: 0 0 14px !important;
    color: #e8a85b !important;
    -webkit-text-fill-color: #e8a85b !important;
    font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
    font-size: 0.72rem !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    letter-spacing: 0.36em !important;
    text-transform: uppercase !important;
  }

  /* Títulos dos cards 01/02/03/04 do Ideal Saber: mais abertos e legíveis */
  .reason h3,
  .reasons-grid .reason h3 {
    font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
    font-weight: 850 !important;
    font-size: clamp(1rem, 4.2vw, 1.18rem) !important;
    line-height: 1.3 !important;
    letter-spacing: -0.01em !important;
    color: #111214 !important;
    -webkit-text-fill-color: #111214 !important;
  }

  .reason p,
  .reasons-grid .reason p {
    font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
    font-weight: 500 !important;
    font-size: clamp(0.92rem, 3.85vw, 1rem) !important;
    line-height: 1.6 !important;
    color: rgba(17, 18, 20, 0.66) !important;
    -webkit-text-fill-color: rgba(17, 18, 20, 0.66) !important;
  }
}


/* PATCH — "O que fazemos" final: cor e espaçamento iguais aos restantes eyebrows */
.services-eyebrow-final {
  display: block !important;
  width: 100% !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: #e8a85b !important;
  -webkit-text-fill-color: #e8a85b !important;
  font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
  font-size: 0.76rem !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: 0.42em !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Garantia: não volta a aparecer duplicado via pseudo-elemento */
#servicos .section-title::before,
.services-section .section-title::before {
  content: none !important;
  display: none !important;
}

/* Mantém o título dos serviços com o mesmo ritmo visual das outras secções */
#servicos .section-title,
.services-section .section-title {
  margin-top: 0 !important;
}

@media (max-width: 760px) {
  .services-eyebrow-final {
    display: block !important;
    margin: 0 0 16px !important;
    color: #e8a85b !important;
    -webkit-text-fill-color: #e8a85b !important;
    font-size: 0.72rem !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    letter-spacing: 0.36em !important;
    text-transform: uppercase !important;
  }

  #servicos .section-title,
  .services-section .section-title {
    margin-top: 0 !important;
  }
}


/* =========================================================
   REVISÃO FINAL — limpeza visual e consistência
   ========================================================= */

/* Evita qualquer duplicação antiga de "O que fazemos" via CSS */
#servicos .section-title::before,
.services-section .section-title::before,
.section-title::before {
  content: none !important;
  display: none !important;
}

.services-eyebrow-final,
.services-mobile-eyebrow,
.services-eyebrow {
  display: none !important;
}

/* Único "O que fazemos" válido */
.services-eyebrow-single {
  display: block !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: #e8a85b !important;
  -webkit-text-fill-color: #e8a85b !important;
  font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
  font-size: 0.76rem !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: 0.42em !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 760px) {
  .services-eyebrow-single {
    margin: 0 0 16px !important;
    color: #e8a85b !important;
    -webkit-text-fill-color: #e8a85b !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.36em !important;
  }

  .reason h3,
  .reasons-grid .reason h3,
  .service h3,
  .services-grid .service h3 {
    font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
    font-weight: 850 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.01em !important;
  }
}


/* PATCH — mobile final: sem movimento nos cards de serviços + menu hambúrguer centrado */
@media (max-width: 760px) {
  .service,
  .services-grid .service {
    transition: none !important;
    transform: none !important;
  }

  .service:hover,
  .service:active,
  .service:focus-within,
  .services-grid .service:hover,
  .services-grid .service:active,
  .services-grid .service:focus-within {
    transform: none !important;
    box-shadow: none !important;
  }

  .mobile-nav a,
  .mobile-nav .mobile-cta {
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
  }
}

@media (max-width: 900px) {
  .mobile-nav a,
  .mobile-nav .mobile-cta {
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
  }
}


/* PATCH — galeria Visitas ao Domicílio em scroll horizontal também no web */
.gallery-grid {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 22px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding-bottom: 14px !important;
  scroll-snap-type: none !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: thin !important;
}

.gallery-grid img {
  flex: 0 0 clamp(290px, 28vw, 420px) !important;
  width: clamp(290px, 28vw, 420px) !important;
  height: clamp(420px, 38vw, 560px) !important;
  object-fit: cover !important;
  scroll-snap-align: none !important;
}

.gallery-grid::-webkit-scrollbar {
  height: 8px;
}

.gallery-grid::-webkit-scrollbar-track {
  background: rgba(18, 79, 95, 0.08);
  border-radius: 999px;
}

.gallery-grid::-webkit-scrollbar-thumb {
  background: rgba(47, 141, 160, 0.34);
  border-radius: 999px;
}

.gallery-grid::-webkit-scrollbar-thumb:hover {
  background: rgba(47, 141, 160, 0.48);
}

@media (max-width: 760px) {
  .gallery-grid {
    gap: 16px !important;
    padding-bottom: 12px !important;
    scrollbar-width: none !important;
  }

  .gallery-grid::-webkit-scrollbar {
    display: none !important;
  }

  .gallery-grid img {
    flex: 0 0 min(82vw, 340px) !important;
    width: min(82vw, 340px) !important;
    height: 430px !important;
  }
}


/* PATCH — galeria com scroll por rato/trackpad sem barra visível */
.gallery-grid {
  cursor: grab !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.gallery-grid:active {
  cursor: grabbing !important;
}

.gallery-grid::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.gallery-grid.is-dragging {
  scroll-snap-type: none !important;
}

.gallery-grid.is-dragging img {
  pointer-events: none !important;
  user-select: none !important;
}


/* PATCH — Netlify Forms nativo com mensagem ao voltar ao site */
.form-status {
  grid-column: 1 / -1;
  margin: 6px 0 0 !important;
  padding: 16px 18px;
  border-radius: 14px;
  font-family: var(--font-body, "Poppins", system-ui, sans-serif);
  font-weight: 700;
  line-height: 1.5;
}

.form-status.is-success {
  display: block;
  color: #f8f3ea !important;
  background: rgba(31, 160, 82, 0.20);
  border: 1px solid rgba(31, 160, 82, 0.42);
}


/* PATCH — Netlify Forms sem salto para o topo */
.form-status {
  grid-column: 1 / -1;
  margin: 6px 0 0 !important;
  padding: 16px 18px;
  border-radius: 14px;
  font-family: var(--font-body, "Poppins", system-ui, sans-serif);
  font-weight: 700;
  line-height: 1.5;
}

.form-status.is-success {
  display: block;
  color: #f8f3ea !important;
  background: rgba(31, 160, 82, 0.20);
  border: 1px solid rgba(31, 160, 82, 0.42);
}

.form-status.is-error {
  display: block;
  color: #f8f3ea !important;
  background: rgba(255, 122, 24, 0.18);
  border: 1px solid rgba(255, 122, 24, 0.42);
}

form[name="contacto-vet2home"] button[disabled] {
  opacity: .72;
  cursor: wait;
}


/* PATCH — campos extra do formulário e obrigatórios */
.form-grid .field {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.form-grid .field span {
  font-family: var(--font-body, "Poppins", system-ui, sans-serif);
  font-size: 0.72rem;
  line-height: 1.2;
  font-weight: 850;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(248,243,234,.52);
}

.form-grid input:required,
.form-grid textarea:required {
  box-shadow: none;
}

.form-grid input:invalid:not(:placeholder-shown),
.form-grid textarea:invalid:not(:placeholder-shown) {
  border-color: rgba(255,122,24,.48) !important;
}


/* PATCH — RGPD / Política de Privacidade */
.privacy-note,
.privacy-consent {
  grid-column: 1 / -1;
}

.privacy-note {
  margin: 2px 0 0 !important;
  color: rgba(255, 255, 255, 0.56) !important;
  font-family: var(--font-body, "Poppins", system-ui, sans-serif);
  font-size: 0.86rem;
  line-height: 1.65;
}

.privacy-consent {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 12px;
  align-items: start;
  margin: 0 0 4px;
  color: rgba(255, 255, 255, 0.68);
  font-family: var(--font-body, "Poppins", system-ui, sans-serif);
  font-size: 0.86rem;
  line-height: 1.55;
}

.privacy-consent input {
  width: 18px !important;
  height: 18px !important;
  margin: 2px 0 0 !important;
  accent-color: var(--orange, #ff7a18);
}

.privacy-consent a {
  color: var(--gold, #e8a85b) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.site-footer .privacy-link {
  color: rgba(255,255,255,.50) !important;
  text-decoration: none;
}

.site-footer .privacy-link:hover {
  color: #e8a85b !important;
}

@media (max-width: 760px) {
  .privacy-note,
  .privacy-consent {
    font-size: 0.82rem;
  }

  .privacy-consent {
    grid-template-columns: 20px 1fr;
    gap: 11px;
  }

  .privacy-consent input {
    width: 20px !important;
    height: 20px !important;
  }
}


/* PATCH — footer com política alinhada e equilibrada */
.site-footer {
  padding: 24px 0 !important;
}

.site-footer .footer-inner {
  width: min(100% - 64px, 1580px) !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 28px !important;
  margin-inline: auto !important;
}

.site-footer .logo {
  justify-self: start !important;
}

.site-footer .logo img {
  height: 26px !important;
  width: auto !important;
  opacity: 0.82 !important;
}

.site-footer .privacy-link {
  justify-self: center !important;
  color: rgba(255,255,255,.48) !important;
  font-family: var(--font-body, "Poppins", system-ui, sans-serif) !important;
  font-size: 0.84rem !important;
  font-weight: 750 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.site-footer .privacy-link:hover {
  color: #e8a85b !important;
}

.site-footer span,
.site-footer p,
.site-footer .copyright {
  justify-self: end !important;
  text-align: right !important;
  margin: 0 !important;
  font-size: 0.84rem !important;
  color: rgba(255, 255, 255, 0.34) !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  .site-footer {
    padding: 28px 0 !important;
  }

  .site-footer .footer-inner {
    width: min(100% - 48px, 1580px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 14px !important;
    text-align: center !important;
  }

  .site-footer .logo,
  .site-footer .privacy-link,
  .site-footer span,
  .site-footer p,
  .site-footer .copyright {
    justify-self: center !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .site-footer .logo img {
    height: 28px !important;
    opacity: 0.86 !important;
  }

  .site-footer .privacy-link {
    font-size: 0.82rem !important;
  }

  .site-footer span,
  .site-footer p,
  .site-footer .copyright {
    font-size: 0.82rem !important;
  }
}


/* PATCH — formulário animal + aviso eutanásia + política uniforme mobile/web */
.form-grid select {
  width: 100%;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  color: #fff;
  border-radius: 10px;
  padding: 16px 18px;
  outline: 0;
  appearance: auto;
}

.form-grid select option {
  color: #111214;
  background: #ffffff;
}

.site-footer .privacy-link {
  color: rgba(255,255,255,.48) !important;
}

.site-footer .privacy-link:hover {
  color: #e8a85b !important;
}

@media (max-width: 760px) {
  .site-footer .privacy-link {
    color: rgba(255,255,255,.48) !important;
    font-size: 0.82rem !important;
    font-weight: 750 !important;
  }
}


/* PATCH — dropdown personalizado para espécie */
.field:has(.custom-select) {
  position: relative;
}

.native-select-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  left: 18px;
  bottom: 18px;
}

.custom-select {
  position: relative;
  width: 100%;
}

.custom-select-trigger {
  width: 100%;
  min-height: 58px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.92);
  border-radius: 10px;
  padding: 0 18px;
  outline: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  font-family: var(--font-body, "Poppins", system-ui, sans-serif);
  font-size: 0.96rem;
  font-weight: 650;
  text-align: left;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.custom-select-trigger:hover,
.custom-select.is-open .custom-select-trigger {
  border-color: rgba(232,168,91,.42);
  background: rgba(255,255,255,.075);
  box-shadow: 0 0 0 4px rgba(232,168,91,.08);
}

.custom-select-arrow {
  color: #e8a85b;
  font-size: 1.05rem;
  line-height: 1;
  transform: translateY(-1px);
  transition: transform .18s ease;
}

.custom-select.is-open .custom-select-arrow {
  transform: rotate(180deg) translateY(1px);
}

.custom-select-options {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  z-index: 40;
  display: none;
  overflow: hidden;
  border-radius: 12px;
  border: 1px solid rgba(232,168,91,.24);
  background: #181a1c;
  box-shadow: 0 18px 44px rgba(0,0,0,.36);
}

.custom-select.is-open .custom-select-options {
  display: grid;
}

.custom-select-option {
  min-height: 48px;
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
  background: transparent;
  color: rgba(255,255,255,.86);
  padding: 0 18px;
  text-align: left;
  font-family: var(--font-body, "Poppins", system-ui, sans-serif);
  font-size: 0.94rem;
  font-weight: 700;
  cursor: pointer;
}

.custom-select-option:last-child {
  border-bottom: 0;
}

.custom-select-option:hover,
.custom-select-option.is-selected {
  color: #ffffff;
  background: rgba(232,168,91,.16);
}

@media (max-width: 760px) {
  .custom-select-trigger {
    min-height: 58px;
    font-size: 0.95rem;
  }

  .custom-select-options {
    top: calc(100% + 7px);
  }

  .custom-select-option {
    min-height: 50px;
    font-size: 0.95rem;
  }
}


/* PATCH — corrigir logo do header em larguras intermédias */
.site-header .logo {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
}

.site-header .logo img {
  width: auto !important;
  height: clamp(34px, 3.2vw, 48px) !important;
  min-width: 168px !important;
  object-fit: contain !important;
}

@media (max-width: 1180px) and (min-width: 901px) {
  .header-inner {
    gap: 28px !important;
  }

  .desktop-nav {
    gap: clamp(18px, 2.1vw, 34px) !important;
  }

  .site-header .logo img {
    height: 38px !important;
    min-width: 172px !important;
  }

  .header-cta {
    min-width: 170px !important;
  }
}

@media (max-width: 900px) {
  .site-header .logo img {
    height: 38px !important;
    min-width: 176px !important;
  }
}

@media (max-width: 420px) {
  .site-header .logo img {
    height: 34px !important;
    min-width: 154px !important;
  }
}


/* PATCH — validação do dropdown sem abrir automaticamente */
.custom-select.is-invalid .custom-select-trigger {
  border-color: rgba(255,122,24,.58) !important;
  box-shadow: 0 0 0 4px rgba(255,122,24,.10) !important;
}


/* PATCH — validação visual uniforme em todos os campos obrigatórios */
.form-grid .field.is-invalid input,
.form-grid .field.is-invalid textarea,
.form-grid .field.is-invalid select,
.form-grid .field.is-invalid .custom-select-trigger {
  border-color: rgba(255,122,24,.58) !important;
  box-shadow: 0 0 0 4px rgba(255,122,24,.10) !important;
}

.form-grid .field.is-invalid label {
  color: rgba(255,122,24,.92) !important;
}

.privacy-consent.is-invalid {
  color: rgba(255,255,255,.86) !important;
}

.privacy-consent.is-invalid input {
  outline: 2px solid rgba(255,122,24,.72) !important;
  outline-offset: 3px !important;
}

.form-grid .field.is-valid input,
.form-grid .field.is-valid textarea,
.form-grid .field.is-valid .custom-select-trigger {
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: none !important;
}

