:root{
  --blue:#0086c9;
  --blue-2:#1798d7;
  --blue-soft:#e9f6fd;
  --navy:#071c3b;
  --navy-2:#0d2e59;
  --green:#9bd643;
  --green-dark:#6f9f1e;
  --cream:#f7f5ef;
  --white:#fff;
  --text:#13213a;
  --muted:#5e6b7e;
  --line:#dfe8ef;
  --shadow:0 14px 36px rgba(7,28,59,.10);
  --radius:22px;
  --radius-sm:14px;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--white);line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{cursor:pointer}
.container{width:min(calc(100% - 32px),var(--max));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:12px;top:12px;z-index:9999;background:#fff;color:#000;padding:10px 14px;border-radius:8px}
.site-header{position:sticky;top:0;z-index:1000;background:var(--blue);box-shadow:0 3px 12px rgba(0,0,0,.14)}
.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand img{width:190px;height:auto}
.desktop-nav{display:none;align-items:center;gap:26px;color:#fff;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em}
.desktop-nav a{position:relative;padding:28px 0 24px}
.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:18px;height:3px;background:var(--green);transition:right .2s ease}
.desktop-nav a:hover::after,.desktop-nav a[aria-current="page"]::after{right:0}
.header-cta{display:none;background:var(--navy);color:#fff;border-radius:12px;padding:12px 18px;font-weight:800;box-shadow:0 8px 20px rgba(7,28,59,.18)}
.menu-toggle{width:46px;height:46px;border:0;border-radius:12px;background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center}
.menu-toggle span,.menu-toggle::before,.menu-toggle::after{content:"";display:block;width:22px;height:2px;background:currentColor;transition:.2s}.menu-toggle span{margin:5px 0}
.mobile-menu{display:none;background:#fff;border-top:1px solid rgba(255,255,255,.2);box-shadow:0 18px 35px rgba(7,28,59,.18)}
.mobile-menu.open{display:block}
.mobile-menu .container{padding:14px 16px 22px;display:grid;gap:6px}
.mobile-menu a{padding:13px 12px;border-radius:10px;font-weight:800;color:var(--navy);text-transform:uppercase;font-size:.92rem}
.mobile-menu a:hover,.mobile-menu a[aria-current="page"]{background:var(--blue-soft);color:var(--blue)}
.hero{background:linear-gradient(135deg,var(--blue) 0%,var(--blue-2) 100%);color:#fff;overflow:hidden}
.hero-grid{display:grid;min-height:610px}
.hero-copy{padding:70px 0 44px;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.eyebrow{display:inline-block;color:var(--green);font-weight:900;text-transform:uppercase;letter-spacing:.19em;font-size:.78rem;margin-bottom:15px}
.hero h1,.page-hero h1,.section-title,.article-title{font-family:Georgia,"Times New Roman",serif;line-height:1.02;letter-spacing:-.025em}
.hero h1{font-size:clamp(2.7rem,8vw,5.5rem);margin:0 0 24px;max-width:720px}.hero h1 em{font-style:normal;color:#fff}.hero h1 .accent{color:var(--cream)}
.hero p{font-size:1.05rem;max-width:650px;margin:0 0 28px;color:rgba(255,255,255,.96)}
.button-row{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;border-radius:11px;padding:0 19px;font-weight:850;border:2px solid transparent;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(7,28,59,.18)}
.btn-dark{background:var(--navy);color:#fff}.btn-light{background:#fff;color:var(--navy)}.btn-green{background:var(--green);color:var(--navy)}.btn-outline{background:transparent;border-color:#b7d8ed;color:var(--navy)}
.hero-media{min-height:340px;position:relative}.hero-media::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,134,201,.15),rgba(7,28,59,.1));z-index:1}.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-curve{display:none;position:absolute;left:-70px;top:-3%;bottom:-3%;width:170px;background:var(--blue);border-radius:0 100% 100% 0/0 50% 50% 0;z-index:2;box-shadow:28px 0 0 rgba(255,255,255,.20),48px 0 0 rgba(155,214,67,.65)}
.trust-strip{background:var(--cream);padding:20px 0;border-bottom:1px solid #ebe6da}
.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.trust-item{background:#fff;border:1px solid #e5edf3;border-radius:14px;padding:16px;display:flex;gap:12px;align-items:flex-start;box-shadow:0 5px 16px rgba(7,28,59,.05)}
.icon-badge{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-weight:900;font-size:1.25rem}.icon-badge.green{background:#edf7dc;color:var(--green-dark)}
.trust-item strong{display:block;font-size:.92rem;color:var(--navy)}.trust-item span{display:block;font-size:.78rem;color:var(--muted);margin-top:2px}
.section{padding:72px 0}.section.alt{background:var(--cream)}.section.blue-soft{background:var(--blue-soft)}
.section-head{text-align:center;margin:0 auto 34px;max-width:780px}.section-kicker{color:var(--green-dark);font-size:.78rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase;margin-bottom:8px}.section-title{font-size:clamp(2rem,5vw,3.25rem);margin:0;color:var(--navy)}.section-lead{margin:13px auto 0;color:var(--muted);max-width:720px}
.service-grid{display:grid;gap:16px}.service-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:25px;box-shadow:0 8px 26px rgba(7,28,59,.06);display:flex;flex-direction:column;min-height:250px}.service-card .icon-badge{margin-bottom:18px}.service-card h3{margin:0 0 10px;color:var(--navy);font-size:1.13rem}.service-card p{margin:0 0 16px;color:var(--muted);font-size:.92rem}.text-link{margin-top:auto;color:var(--green-dark);font-weight:900;display:inline-flex;align-items:center;gap:7px}.text-link:hover{color:var(--blue)}
.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.area-pill{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;display:flex;align-items:center;gap:10px;font-weight:800;color:var(--navy);box-shadow:0 6px 18px rgba(7,28,59,.04)}
.split-grid{display:grid;gap:18px}.panel{border-radius:var(--radius);overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.panel-copy{padding:28px}.panel-copy h2{font-family:Georgia,"Times New Roman",serif;font-size:2rem;line-height:1.1;margin:0 0 15px;color:var(--navy)}.panel-copy p{color:var(--muted)}.panel-media{min-height:280px}.panel-media img{width:100%;height:100%;object-fit:cover}
.ong-panel{background:linear-gradient(145deg,var(--blue-soft),#fff)}.ong-visual{min-height:280px;background:linear-gradient(135deg,var(--navy),var(--blue));display:grid;place-items:center;padding:36px;color:white;text-align:center}.ong-visual .big-mark{font-family:Georgia,"Times New Roman",serif;font-size:4rem;color:var(--green);line-height:1}.ong-visual p{max-width:330px;margin:12px auto 0;color:rgba(255,255,255,.88)}
.cta-band{background:var(--navy);color:#fff;padding:34px 0}.cta-band .container{display:flex;flex-direction:column;gap:18px;align-items:flex-start}.cta-band h2{font-family:Georgia,"Times New Roman",serif;margin:0;font-size:2rem}.cta-band p{margin:5px 0 0;color:#c7d8ed}
.contact-bar{background:var(--navy);color:#fff}.contact-grid{display:grid;gap:0}.contact-item{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.12);display:flex;gap:12px;align-items:flex-start}.contact-item:last-child{border-bottom:0}.contact-item strong{display:block;color:var(--green);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.contact-item span,.contact-item a{font-size:.92rem;color:#fff}.contact-item a:hover{text-decoration:underline}
.footer{background:#06142c;color:#c8d4e5;padding:22px 0;text-align:center;font-size:.82rem}.footer-links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:10px}.footer a:hover{color:#fff}
.page-hero{padding:70px 0;background:linear-gradient(135deg,var(--blue) 0%,#56b7e1 100%);color:#fff}.page-hero h1{font-size:clamp(2.7rem,7vw,5rem);margin:0 0 15px}.page-hero p{max-width:720px;margin:0;font-size:1.05rem}.breadcrumbs{font-size:.82rem;margin-bottom:14px;color:rgba(255,255,255,.8)}
.content-grid{display:grid;gap:24px}.content-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:26px;box-shadow:0 8px 24px rgba(7,28,59,.05)}.content-card h2,.content-card h3{color:var(--navy)}.content-card h2{font-family:Georgia,"Times New Roman",serif;font-size:2rem;margin-top:0}.content-card ul{padding-left:20px}.content-card li{margin:.45rem 0}
.value-grid{display:grid;gap:14px}.value-card{padding:20px;border-radius:14px;background:var(--cream);border-left:4px solid var(--green)}
.service-detail-grid{display:grid;gap:18px}.service-detail{overflow:hidden;border-radius:var(--radius);border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}.service-detail img{width:100%;height:220px;object-fit:cover}.service-detail .copy{padding:24px}.service-detail h2{font-family:Georgia,"Times New Roman",serif;color:var(--navy);margin:0 0 12px}.service-detail ul{padding-left:20px;color:var(--muted)}
.area-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.area-photo{position:relative;min-height:190px;overflow:hidden;border-radius:18px}.area-photo img{width:100%;height:100%;object-fit:cover}.area-photo::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(7,28,59,.88))}.area-photo span{position:absolute;left:16px;bottom:14px;z-index:2;color:#fff;font-weight:900}
.blog-grid{display:grid;gap:18px}.blog-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:24px;box-shadow:0 8px 24px rgba(7,28,59,.05);display:flex;flex-direction:column}.blog-card .meta{font-size:.76rem;color:var(--green-dark);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.blog-card h2{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:1.55rem;line-height:1.12;margin:9px 0}.blog-card p{color:var(--muted)}
.article{padding:64px 0}.article-shell{max-width:850px;margin:auto}.article-title{font-size:clamp(2.45rem,7vw,4.5rem);color:var(--navy);margin:0 0 18px}.article-meta{color:var(--green-dark);font-weight:800;margin-bottom:30px}.article-body{font-size:1.05rem}.article-body p{margin:0 0 1.2em}.article-body blockquote{border-left:4px solid var(--green);margin:24px 0;padding:8px 0 8px 20px;color:var(--muted)}
.contact-layout{display:grid;gap:20px}.contact-card{background:var(--cream);border-radius:var(--radius);padding:28px}.contact-card h2{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:2rem;margin-top:0}.contact-list{display:grid;gap:14px}.contact-row{display:flex;gap:12px;align-items:flex-start}.contact-form{display:grid;gap:14px}.field{display:grid;gap:6px}.field label{font-weight:800;color:var(--navy);font-size:.9rem}.field input,.field textarea{width:100%;border:1px solid #cddbe5;border-radius:11px;padding:13px;background:#fff;color:var(--text);outline:none}.field input:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,134,201,.14)}.field textarea{min-height:145px;resize:vertical}.form-note{font-size:.8rem;color:var(--muted)}
.floating-wa{position:fixed;right:18px;bottom:18px;z-index:900;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:var(--navy);font-weight:950;box-shadow:0 10px 25px rgba(7,28,59,.22);border:3px solid #fff}.mobile-actions{position:fixed;left:0;right:0;bottom:0;z-index:850;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 -6px 20px rgba(7,28,59,.16)}.mobile-actions a{min-height:54px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:900}.mobile-actions .wa{background:var(--green);color:var(--navy)}.mobile-actions .call{background:var(--navy);color:#fff}.has-mobile-actions{padding-bottom:54px}
.notice{border:1px solid #cfe8f5;background:var(--blue-soft);padding:16px 18px;border-radius:12px;color:var(--navy)}
@media (min-width:680px){.service-grid{grid-template-columns:1fr 1fr}.area-grid{grid-template-columns:repeat(3,1fr)}.value-grid{grid-template-columns:1fr 1fr}.blog-grid{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:repeat(2,1fr)}.contact-item{padding:22px;border-bottom:0;border-right:1px solid rgba(255,255,255,.12)}.contact-item:nth-child(2n){border-right:0}.area-photo-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:900px){.container{width:min(calc(100% - 56px),var(--max))}.desktop-nav,.header-cta{display:flex}.menu-toggle,.mobile-menu{display:none!important}.header-inner{min-height:88px}.brand img{width:205px}.hero-grid{grid-template-columns:1.02fr 1fr;min-height:560px;position:relative}.hero-copy{padding:72px 0}.hero-media{min-height:560px}.hero-curve{display:block}.trust-strip{padding:0;background:#fff}.trust-grid{grid-template-columns:repeat(4,1fr);transform:translateY(-34px);position:relative;z-index:4}.trust-item{padding:20px;min-height:100px}.section{padding:88px 0}.service-grid{grid-template-columns:repeat(4,1fr)}.area-grid{grid-template-columns:repeat(6,1fr)}.split-grid{grid-template-columns:1fr 1fr}.panel{display:grid;grid-template-columns:1.05fr .95fr}.ong-panel{grid-template-columns:1fr 1.1fr}.cta-band .container{flex-direction:row;align-items:center;justify-content:space-between}.contact-grid{grid-template-columns:1.05fr .9fr 1.35fr 1.7fr}.contact-item{border-right:1px solid rgba(255,255,255,.12);padding:22px 18px}.contact-item:nth-child(2n){border-right:1px solid rgba(255,255,255,.12)}.contact-item:last-child{border-right:0}.content-grid{grid-template-columns:1.2fr .8fr}.value-grid{grid-template-columns:repeat(3,1fr)}.service-detail-grid{grid-template-columns:1fr 1fr}.blog-grid{grid-template-columns:repeat(3,1fr)}.contact-layout{grid-template-columns:.85fr 1.15fr}.mobile-actions{display:none}.has-mobile-actions{padding-bottom:0}.floating-wa{right:28px;bottom:28px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* ======================================================================
   HOME V2 — implementação alinhada ao mockup aprovado (28/08/2026)
   ====================================================================== */
.home-v2{--blue:#238dca;--blue-2:#2e9bd4;--blue-soft:#eaf6fd;--navy:#082552;--green:#a8d23f;--cream:#f8f6f0;background:#fff;color:var(--navy)}
.home-v2 .container{width:min(calc(100% - 34px),1260px)}
.home-v2 .site-header{background:linear-gradient(90deg,#1782c7,#238fce);box-shadow:none;position:sticky}
.home-v2 .header-inner{min-height:70px}
.home-v2 .brand img{width:162px}
.home-v2 .desktop-nav{gap:28px;font-size:.72rem;letter-spacing:.02em}
.home-v2 .desktop-nav a{padding:26px 0 22px}
.home-v2 .desktop-nav a::after{bottom:17px;height:2px}
.home-v2 .header-cta{background:var(--green);color:#fff;border-radius:9px;padding:11px 18px;font-size:.78rem;box-shadow:none}
.home-v2 .menu-toggle{background:transparent;border-radius:0}

.home-hero{background:linear-gradient(100deg,#fff 0%,#f5fbff 54%,#edf8fd 100%);overflow:hidden}
.home-hero-grid{display:grid;min-height:0}
.home-hero-copy{padding:42px 0 32px}
.home-hero-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.25rem,10vw,4.3rem);line-height:1.05;letter-spacing:-.035em;margin:0;color:var(--navy);max-width:640px}
.home-hero-copy h1 span{color:var(--blue)}
.home-hero-copy .mini-accent{display:block;width:27px;height:3px;background:var(--green);margin:17px 0 14px;border-radius:4px}
.home-hero-copy p{margin:0 0 20px;max-width:610px;color:#16335d;font-size:.94rem;line-height:1.55}
.home-v2 .btn{min-height:44px;border-radius:8px;padding:0 17px;font-size:.83rem}
.home-v2 .btn-dark{background:var(--navy)}
.btn-outline-home{background:#fff;color:var(--green-dark);border-color:var(--green);box-shadow:none}
.hero-dots{display:flex;gap:8px;margin-top:22px;align-items:center}.hero-dots b,.hero-dots i{display:block;width:8px;height:8px;border-radius:50%;background:#b9d6e9}.hero-dots b{background:var(--green)}
.home-hero-media{display:none;position:relative;overflow:hidden}.home-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}.home-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,141,202,.10),transparent 30%)}

.home-trust{background:linear-gradient(180deg,#f8fbfd,#f3f8fb);border-top:1px solid #e9f0f4;border-bottom:1px solid #e5edf2}
.home-trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:11px 0}
.home-trust-item{display:flex;gap:9px;padding:12px 9px;align-items:flex-start}.home-line-icon{font-size:1.55rem;color:#157bd4;line-height:1}.home-trust-item strong{display:block;font-size:.72rem;color:var(--navy);line-height:1.25}.home-trust-item small{display:block;font-size:.63rem;color:#4d637d;margin-top:3px;line-height:1.3}

.home-services{padding:42px 0 24px;background:#fff}.home-section-head{text-align:center;margin-bottom:20px}.home-section-head span{color:var(--green-dark);font-size:.70rem;font-weight:900;letter-spacing:.17em}.home-section-head h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.65rem,6vw,2.4rem);line-height:1.05;margin:5px 0 0;color:var(--navy)}
.home-services-grid{display:grid;gap:10px}.home-service-card{border:1px solid #dbe5ec;border-radius:10px;background:#fff;padding:14px 15px;display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start;box-shadow:0 5px 16px rgba(8,37,82,.05)}.home-service-icon{width:40px;height:40px;border-radius:50%;background:#eef6fb;display:grid;place-items:center;color:#0c78d0;font-size:1.3rem}.home-service-card h3{font-size:.82rem;margin:2px 0 5px}.home-service-card p{display:none}.home-service-card a{color:var(--green-dark);font-size:.72rem;font-weight:900}.home-service-card a span{margin-left:4px}

.home-areas{padding:12px 0 28px;background:#fff}.home-section-head.compact{margin-bottom:12px}.home-section-head.compact span{color:var(--navy)}.home-section-head.compact span::after{content:"";display:block;width:22px;height:2px;background:var(--green);margin:6px auto 0}.home-areas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.home-areas-grid a{min-height:78px;border:1px solid #e1e9ef;border-radius:12px;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:5px;font-size:.64rem;font-weight:800;box-shadow:0 4px 14px rgba(8,37,82,.04)}.home-areas-grid b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f3f7ed;color:#5d8d2c;font-size:1.1rem}

.home-feature-panels{padding:6px 0 24px}.home-feature-grid{display:grid;gap:12px}.home-feature-card{border:1px solid #dbe5ec;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 5px 16px rgba(8,37,82,.05)}.home-feature-copy{padding:18px}.home-feature-copy h2{font-size:1rem;margin:0 0 9px;color:var(--navy)}.home-feature-copy h2 span{color:var(--blue)}.home-feature-copy h3{font-size:.87rem;margin:-3px 0 9px}.home-feature-copy p{font-size:.78rem;color:#28415f;line-height:1.45;margin:0 0 9px}.home-small-btn{display:inline-flex;align-items:center;gap:8px;border-radius:6px;padding:8px 11px;font-size:.69rem;font-weight:850}.home-small-btn.green{background:var(--green);color:#fff}.home-small-btn.blue{background:#166cb6;color:#fff}.home-feature-media{min-height:170px}.home-feature-media img{width:100%;height:100%;object-fit:cover}.ong-art{background:linear-gradient(135deg,#0a2f61,#167fc6);color:#fff;display:grid;place-items:center;text-align:center;padding:20px}.ijr-mark{font-family:Georgia,"Times New Roman",serif;color:var(--green);font-size:3.3rem;line-height:1}.ong-art small{max-width:230px;color:#e9f5ff}

.home-contact-strip{background:var(--navy);color:#fff}.home-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.home-contact-grid>a,.home-contact-grid>div:not(.social-mini){display:flex;align-items:center;gap:8px;padding:13px 8px;border-bottom:1px solid rgba(255,255,255,.12);font-size:.70rem}.home-contact-grid b{color:var(--green);font-size:1rem}.social-mini{display:flex;align-items:center;justify-content:center;gap:11px;padding:10px;grid-column:1/-1}.social-mini a,.social-mini span{width:30px;height:30px;border:1px solid var(--green);border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800}.home-footer{background:#238dca;color:#fff;text-align:center;padding:8px 0;font-size:.68rem}

@media (min-width:900px){
  .home-v2 .container{width:min(calc(100% - 48px),1260px)}
  .home-v2 .header-inner{min-height:70px}.home-v2 .brand img{width:156px}.home-v2 .desktop-nav,.home-v2 .header-cta{display:flex}.home-v2 .menu-toggle{display:none}
  .home-hero-grid{grid-template-columns:.94fr 1.06fr;min-height:337px}.home-hero-copy{padding:46px 0 38px;display:flex;flex-direction:column;justify-content:center}.home-hero-copy h1{font-size:2.75rem;max-width:535px}.home-hero-copy p{font-size:.87rem;max-width:560px}.hero-dots{display:none}
  .home-hero-media{display:block;min-height:337px;margin-right:calc((100vw - min(calc(100vw - 48px),1260px))/ -2);clip-path:ellipse(85% 76% at 76% 50%)}
  .home-hero-media::before{content:"";position:absolute;left:-22px;top:-18px;bottom:-18px;width:56px;border-left:6px solid rgba(35,141,202,.50);border-radius:50%;z-index:2;box-shadow:-13px 0 0 rgba(168,210,63,.65)}
  .home-trust{display:none}
  .home-services{padding:20px 0 16px}.home-section-head{margin-bottom:14px}.home-section-head h2{font-size:1.75rem}.home-section-head span{font-size:.65rem}
  .home-services-grid{grid-template-columns:repeat(4,1fr);gap:10px}.home-service-card{grid-template-columns:54px 1fr;min-height:116px;padding:14px 16px}.home-service-icon{width:50px;height:50px;font-size:1.55rem}.home-service-card h3{font-size:.86rem;margin-top:3px}.home-service-card p{display:block;font-size:.69rem;line-height:1.42;color:#304a68;margin:4px 0 8px}.home-service-card a{font-size:.68rem}
  .home-areas{padding:0 0 14px}.home-section-head.compact{margin-bottom:8px}.home-areas-grid{grid-template-columns:repeat(6,1fr);gap:12px}.home-areas-grid a{min-height:43px;flex-direction:row;justify-content:flex-start;padding:6px 13px;border-radius:9px;font-size:.66rem}.home-areas-grid b{width:30px;height:30px;flex:0 0 30px;font-size:1rem}
  .home-feature-panels{padding:2px 0 0}.home-feature-grid{grid-template-columns:1fr 1fr;gap:10px}.home-feature-card{display:grid;grid-template-columns:1.05fr .95fr;min-height:170px}.home-feature-copy{padding:15px 18px}.home-feature-copy h2{font-size:.97rem}.home-feature-copy h3{font-size:.77rem}.home-feature-copy p{font-size:.65rem;line-height:1.42;margin-bottom:7px}.home-feature-media{min-height:170px}.home-small-btn{padding:7px 10px;font-size:.62rem}
  .home-contact-grid{grid-template-columns:.82fr .82fr 1.15fr 1.45fr auto;align-items:stretch}.home-contact-grid>a,.home-contact-grid>div:not(.social-mini){padding:10px 12px;border:0;font-size:.65rem}.social-mini{grid-column:auto;padding:7px 0 7px 10px}.social-mini a,.social-mini span{width:30px;height:30px}.home-footer{font-size:.65rem;padding:7px 0}
  .home-v2 .mobile-actions{display:none}.home-v2{padding-bottom:0}
}
@media (min-width:1180px){.home-v2 .desktop-nav{gap:31px}.home-hero-copy h1{font-size:3.05rem}.home-hero-grid{min-height:355px}.home-hero-media{min-height:355px}}


/* ======================================================================
   PATCH HOME / UI REFINEMENTS — 28/08/2026
   ====================================================================== */
:root{--tsp-blue:#0086c9;--tsp-blue-dark:#071c3b;--tsp-green:#9bd643;--tsp-off:#f7f5ef;--tsp-blue-soft:#eef7fd}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.header-cta,.button-row .btn-dark,.floating-wa,.mobile-actions .wa,.contact-grid .contact-item:nth-child(2) a,.home-contact-grid>a:nth-child(2){position:relative}
.header-cta::before,.button-row .btn-dark::before{content:none!important}
.floating-wa::before,.mobile-actions .wa::before,.contact-grid .contact-item:nth-child(2) .icon-badge::before,.home-contact-grid>a:nth-child(2) b::before{content:"";display:block;width:18px;height:18px;background:url('../icons/whatsapp.svg') center/contain no-repeat}
.mobile-actions .wa,.floating-wa{display:flex;align-items:center;justify-content:center;gap:8px}
.mobile-actions .call{display:flex;align-items:center;justify-content:center;gap:8px}
.mobile-actions .call::before{content:"";display:block;width:18px;height:18px;background:url('../icons/phone.svg') center/contain no-repeat}
.floating-wa{font-size:0}.floating-wa .sr-only{position:static!important;width:auto;height:auto;margin:0;clip:auto;color:transparent}

/* shared icon badge refinement */
.icon-badge{position:relative;font-size:0!important;display:grid;place-items:center}
.icon-badge::before{content:"";display:block;width:18px;height:18px;background-position:center;background-repeat:no-repeat;background-size:contain}
.contact-grid .contact-item:nth-child(1) .icon-badge::before{background-image:url('../icons/phone.svg')}
.contact-grid .contact-item:nth-child(2) .icon-badge::before{background-image:url('../icons/whatsapp.svg')}
.contact-grid .contact-item:nth-child(3) .icon-badge::before{background-image:url('../icons/map-pin.svg')}
.contact-grid .contact-item:nth-child(4) .icon-badge::before{background-image:url('../icons/book.svg')}

/* home icons */
.home-line-icon,.home-service-icon,.home-areas-grid b,.home-contact-grid b,.social-mini a,.social-mini span{position:relative;font-size:0!important;background-position:center;background-repeat:no-repeat;background-size:20px 20px}
.home-line-icon{width:44px;height:44px;border-radius:50%;background-color:#edf5fc;flex:0 0 44px;background-size:22px 22px}
.home-trust-item:nth-child(1) .home-line-icon{background-image:url('../icons/shield-check.svg')}
.home-trust-item:nth-child(2) .home-line-icon{background-image:url('../icons/users.svg')}
.home-trust-item:nth-child(3) .home-line-icon{background-image:url('../icons/settings.svg')}
.home-trust-item:nth-child(4) .home-line-icon{background-image:url('../icons/certificate.svg')}
.home-service-icon{background-size:24px 24px}
.home-service-card:nth-child(1) .home-service-icon{background-image:url('../icons/snowflake.svg')}
.home-service-card:nth-child(2) .home-service-icon{background-image:url('../icons/fridge.svg')}
.home-service-card:nth-child(3) .home-service-icon{background-image:url('../icons/fan.svg')}
.home-service-card:nth-child(4) .home-service-icon{background-image:url('../icons/wrench.svg')}
.home-areas-grid b{background-color:#eef4df;background-size:20px 20px}
.home-areas-grid a:nth-child(1) b{background-image:url('../icons/restaurant.svg')}
.home-areas-grid a:nth-child(2) b{background-image:url('../icons/school.svg')}
.home-areas-grid a:nth-child(3) b{background-image:url('../icons/beauty.svg')}
.home-areas-grid a:nth-child(4) b{background-image:url('../icons/factory.svg')}
.home-areas-grid a:nth-child(5) b{background-image:url('../icons/cross.svg')}
.home-areas-grid a:nth-child(6) b{background-image:url('../icons/building.svg')}
.home-contact-grid b{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:#eef4df;background-size:20px 20px}
.home-contact-grid>a:nth-child(1) b{background-image:url('../icons/phone.svg')}
.home-contact-grid>a:nth-child(2) b{background-image:url('../icons/whatsapp.svg')}
.home-contact-grid>div:nth-child(3) b{background-image:url('../icons/map-pin.svg')}
.home-contact-grid>a:nth-child(4) b{background-image:url('../icons/mail.svg')}
.social-mini a,.social-mini span{background-size:15px 15px}
.social-mini a:first-child{background-image:url('../icons/instagram.svg')}
.social-mini a:nth-child(2){background-image:url('../icons/facebook.svg')}
.social-mini a,.social-mini span{font-size:0!important}

.home-v2 .header-cta{background:var(--tsp-green);color:var(--tsp-blue-dark);font-weight:800}
.home-v2 .header-cta:hover{background:#b0e156;color:var(--tsp-blue-dark)}
.home-v2 .btn-dark{background:var(--tsp-blue-dark);color:#fff}
.home-v2 .btn-dark:hover{background:#0d2a52}
.btn-outline-home{background:var(--tsp-green);color:var(--tsp-blue-dark);border-color:var(--tsp-green)!important;font-weight:800}
.btn-outline-home:hover{background:#b0e156;color:var(--tsp-blue-dark);transform:translateY(-1px)}
.home-service-card a,.home-service-card a:visited,.home-small-btn.green,.home-small-btn.blue{color:#5f8f24}
.home-service-card a span{color:inherit}
.home-small-btn.green{background:var(--tsp-green);color:var(--tsp-blue-dark)}
.home-small-btn.blue{background:var(--tsp-green);color:var(--tsp-blue-dark)}
.home-small-btn.green:hover,.home-small-btn.blue:hover{background:#b0e156;color:var(--tsp-blue-dark)}

/* hero fix */
.home-hero{background:linear-gradient(100deg,#f2f8fd 0%,#edf7fd 54%,#edf8fd 100%);overflow:hidden}
.home-hero-grid{align-items:stretch}
.home-hero-copy{position:relative;z-index:3}
.home-hero-copy h1{max-width:600px}
.home-hero-media{display:none;position:relative;overflow:hidden;min-height:320px;border-top-left-radius:110px;border-bottom-left-radius:110px;isolation:isolate}
.home-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.home-hero-media::before{content:"";position:absolute;left:-150px;top:-70px;width:330px;height:520px;border-radius:0 260px 260px 0;background:rgba(210,232,246,.8);z-index:1}
.home-hero-media::after{content:"";position:absolute;left:-110px;top:-46px;width:250px;height:470px;border-radius:0 220px 220px 0;border:18px solid rgba(155,214,67,.62);border-left:0;box-shadow:-22px 0 0 0 rgba(0,134,201,.28);z-index:2}

.ong-art{background:url('../images/ong-formacao.jpg') center/cover no-repeat;min-height:190px;position:relative}
.ong-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,28,59,.08),rgba(7,28,59,.18))}
.ong-art > *{display:none!important}

.home-contact-strip{background:var(--tsp-blue-dark)}
.home-contact-grid>a,.home-contact-grid>div:not(.social-mini){gap:10px}
.home-contact-grid span{line-height:1.45}
.social-mini a,.social-mini span{border-color:rgba(255,255,255,.36);background-color:transparent}

.home-footer{background:var(--tsp-blue-dark)}
.footer,.contact-bar{background:var(--tsp-blue-dark)}
.footer{color:#fff}
.footer a{color:#fff}

@media (max-width:899px){
  .home-v2 .brand img{width:148px}
  .home-trust-item{gap:12px;padding:14px 10px}
  .home-line-icon{width:40px;height:40px;flex-basis:40px;background-size:20px 20px}
  .home-v2 .btn{min-height:48px}
  .button-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .home-contact-grid>a,.home-contact-grid>div:not(.social-mini){padding:12px 8px}
}
@media (min-width:900px){
  .home-hero-grid{grid-template-columns:.95fr 1.05fr;min-height:350px}
  .home-hero-copy{padding:42px 0 32px}
  .home-hero-copy h1{font-size:3.2rem;max-width:560px}
  .home-hero-copy p{font-size:1.02rem;line-height:1.52;max-width:520px}
  .home-hero-media{display:block;min-height:350px;margin-right:calc((100vw - min(calc(100vw - 48px),1260px))/ -2)}
  .home-hero-media img{object-position:center}
  .home-services-grid{gap:14px}
  .home-service-card{min-height:162px;padding:18px}
  .home-service-card p{display:block;font-size:.89rem;line-height:1.55;min-height:84px}
  .home-service-card a{font-size:.86rem}
  .home-service-icon{width:56px;height:56px;font-size:0;background-size:26px 26px}
  .home-section-head h2{font-size:3rem}
  .home-section-head.compact{margin-bottom:16px}
  .home-areas-grid a{min-height:58px;padding:8px 14px;font-size:.94rem;gap:10px}
  .home-areas-grid b{width:38px;height:38px;flex-basis:38px}
  .home-feature-card{min-height:235px}
  .home-feature-copy{padding:24px}
  .home-feature-copy h2{font-size:1.15rem}
  .home-feature-copy h3{font-size:1.18rem;margin:0 0 12px}
  .home-feature-copy p{font-size:1rem;line-height:1.62;margin-bottom:14px}
  .home-small-btn{font-size:.88rem;padding:12px 16px;border-radius:10px}
  .home-contact-grid{grid-template-columns:.85fr .9fr 1.35fr 1.55fr auto}
  .home-contact-grid>a,.home-contact-grid>div:not(.social-mini){padding:18px 14px;font-size:.95rem}
  .home-contact-grid b{width:48px;height:48px;flex-basis:48px}
  .social-mini{padding-left:14px;gap:12px}
  .social-mini a,.social-mini span{width:38px;height:38px}
}

/* ======================================================================
   V4 FINAL — iconography, standardized footer, ONG photo, contact number
   ====================================================================== */
.home-service-icon{background:#f7f9fc!important;border-radius:50%!important;background-position:center!important;background-repeat:no-repeat!important;background-size:31px 31px!important}
.home-service-card:nth-child(1) .home-service-icon{background-image:url('../icons/snowflake.svg')!important}
.home-service-card:nth-child(2) .home-service-icon{background-image:url('../icons/fridge.svg')!important}
.home-service-card:nth-child(3) .home-service-icon{background-image:url('../icons/fan.svg')!important}
.home-service-card:nth-child(4) .home-service-icon{background-image:url('../icons/wrench.svg')!important}
.home-areas-grid b{background-color:#fff!important;border:1.5px solid rgba(120,168,47,.48)!important;background-size:22px 22px!important}
.home-areas-grid a:nth-child(1) b{background-image:url('../icons/restaurant.svg')!important}.home-areas-grid a:nth-child(2) b{background-image:url('../icons/school.svg')!important}.home-areas-grid a:nth-child(3) b{background-image:url('../icons/beauty.svg')!important}.home-areas-grid a:nth-child(4) b{background-image:url('../icons/factory.svg')!important}.home-areas-grid a:nth-child(5) b{background-image:url('../icons/cross.svg')!important}.home-areas-grid a:nth-child(6) b{background-image:url('../icons/building.svg')!important}
.home-service-card a{color:#5f8f24!important}
.ong-art{background:url('../images/ONG-IJR.webp') center/cover no-repeat!important;min-height:100%!important}.ong-art::after{background:linear-gradient(180deg,rgba(7,28,59,.02),rgba(7,28,59,.08))!important}
.ong-photo-card{border-radius:22px;overflow:hidden;min-height:280px;background:#eef7fd;box-shadow:0 8px 22px rgba(7,28,59,.08)}.ong-photo-card img{display:block;width:100%;height:100%;min-height:280px;object-fit:cover;object-position:center}
.site-contact-strip{background:#071c3b;color:#fff;border-top:1px solid rgba(255,255,255,.08)}.site-contact-grid{display:grid;grid-template-columns:1fr;align-items:stretch}.site-contact-item{display:flex;align-items:center;gap:14px;padding:17px 4px;border-bottom:1px solid rgba(255,255,255,.11);color:#fff;min-width:0}.site-contact-item img{display:block;width:27px;height:27px;flex:0 0 27px;object-fit:contain}.site-contact-item span{display:block;min-width:0;font-size:.82rem;line-height:1.42;color:#fff}.site-contact-item strong{display:block;color:#9bd643;text-transform:uppercase;letter-spacing:.12em;font-size:.67rem;margin-bottom:3px}.site-contact-item:hover{color:#fff}.site-contact-item.contact-email span{overflow-wrap:anywhere}.site-social-links{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 4px}.site-social-links a{width:38px;height:38px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;transition:.2s ease}.site-social-links a:hover{border-color:#9bd643;background:rgba(155,214,67,.08)}.site-social-links img{width:18px;height:18px}.site-footer-bottom{background:#071c3b;color:#fff;text-align:center;border-top:1px solid rgba(255,255,255,.08);padding:12px 0;font-size:.75rem}.site-contact-strip a,.site-footer-bottom a{color:#fff}
.floating-wa{position:fixed!important;left:auto!important;right:18px!important;bottom:72px!important;width:58px!important;height:58px!important;border-radius:50%!important;overflow:visible!important;background:#9bd643!important;border:3px solid #fff!important;box-shadow:0 10px 25px rgba(7,28,59,.24)!important;z-index:950!important;font-size:0!important;display:grid!important;place-items:center!important}.floating-wa::before{content:""!important;width:27px!important;height:27px!important;background:url('../icons/whatsapp.svg') center/contain no-repeat!important;display:block!important}.mobile-actions{z-index:940!important}.mobile-actions .wa::before{background-image:url('../icons/whatsapp.svg')!important}.mobile-actions .call::before{background-image:url('../icons/phone.svg')!important}
.whatsapp-contact-icon{font-size:0!important}.whatsapp-contact-icon::before{content:"";display:block;width:20px;height:20px;background:url('../icons/whatsapp.svg') center/contain no-repeat}
@media (min-width:720px){.site-contact-grid{grid-template-columns:.82fr .92fr 1.28fr 1.5fr auto}.site-contact-item{padding:18px 16px;border-bottom:0;border-right:1px solid rgba(255,255,255,.12)}.site-social-links{padding:14px 0 14px 18px}.site-social-links a{width:38px;height:38px}}
@media (min-width:900px){.floating-wa{right:26px!important;bottom:26px!important}}
@media (max-width:719px){.site-contact-grid{padding-top:6px;padding-bottom:6px}.site-contact-item{padding-left:2px;padding-right:2px}.site-footer-bottom{padding-bottom:16px}}

/* ======================================================================
   IMAGE RESPONSIVENESS / FRAMING PATCH — 28/08/2026
   Keep grid items inside the viewport and make the wide WebP images fill
   their designed media areas without distortion or letterboxing.
   ====================================================================== */
img{height:auto}
.content-grid>*{min-width:0}
.service-detail-grid>*{min-width:0}
.home-feature-grid>*{min-width:0}
.home-feature-copy,.home-feature-media{min-width:0}

.service-detail img{
  width:100%;
  height:auto;
  object-fit:contain;
  background:#eef7fd;
}

/* Home: the company photo must fill the right-hand media panel. */
.company-card .home-feature-media{
  position:relative;
  overflow:hidden;
  background:#eef7fd;
}
.company-card .home-feature-media img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
  object-position:center;
}

/* Home: fill the ONG media panel instead of showing a horizontal strip. */
.ong-art{
  background-image:url('../images/ONG-IJR.webp')!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-color:#eef7fd!important;
  min-height:170px!important;
}

/* ONG page: make the image occupy the complete card while preserving ratio. */
.ong-photo-card{
  min-width:0;
  min-height:280px;
  position:relative;
  overflow:hidden;
  background:#eef7fd;
}
.ong-photo-card img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center center;
}


/* ======================================================================
   V7 MOBILE FRAMING / OVERFLOW PATCH — 28/08/2026
   - fix ONG image crop on index mobile
   - remove residual horizontal scroll on ong.html mobile
   ====================================================================== */
html,body{max-width:100%;overflow-x:clip}
.home-feature-card,.ong-photo-card,.content-grid>*,.site-contact-grid>*,.site-contact-item,.mobile-actions a{min-width:0}
.content-card,.site-contact-item span{overflow-wrap:anywhere}

.home-v2 .ong-card .home-feature-media{
  position:relative;
  overflow:hidden;
  background:#eef7fd;
}
.home-v2 .ong-card .home-feature-media picture,
.home-v2 .ong-card .home-feature-media img{
  display:block;
  width:100%;
  height:100%;
}
.home-v2 .ong-card .home-feature-media img{
  object-fit:cover;
  object-position:center;
}
.home-v2 .ong-card .home-feature-media::after{content:none!important}

.ong-photo-card picture{display:block;width:100%;height:100%}

@media (max-width:899px){
  .home-v2 .ong-card .home-feature-media{
    min-height:0!important;
    aspect-ratio:4 / 3;
  }

  .home-v2 .ong-card .home-feature-media img{
    object-fit:cover;
  }

  .content-grid{gap:18px}
  .ong-photo-card{
    min-height:0;
    aspect-ratio:4 / 3;
    width:100%;
    max-width:100%;
    overflow:hidden;
  }
  .ong-photo-card picture,
  .ong-photo-card img{
    position:static;
    inset:auto;
  }
  .ong-photo-card img{
    width:100%;
    height:100%;
    min-height:0;
    object-fit:cover;
    object-position:center;
  }
  .site-contact-strip,.site-contact-grid,.site-social-links{max-width:100%}
}

@media (min-width:900px){
  .home-v2 .ong-card .home-feature-media{
    min-height:170px!important;
    aspect-ratio:auto;
  }
  .ong-photo-card{
    min-height:280px;
    aspect-ratio:auto;
    position:relative;
  }
  .ong-photo-card picture,
  .ong-photo-card img{
    position:absolute;
    inset:0;
  }
}

/* Contact page icons: explicit image elements for reliable rendering */
.contact-card .contact-row .icon-badge > img{display:block!important;width:20px!important;height:20px!important;object-fit:contain!important}
.contact-card .contact-row .icon-badge::before{display:none!important;content:none!important}

/* Contact page icons v10: smaller, proportional, and without colored badge backgrounds */
.contact-card .contact-row{
  gap:14px!important;
  align-items:flex-start!important;
}
.contact-card .contact-row .icon-badge,
.contact-card .contact-row .icon-badge.green{
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
  min-width:20px!important;
  border-radius:0!important;
  background:transparent!important;
  padding:0!important;
  margin-top:4px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.contact-card .contact-row .icon-badge > img{
  display:block!important;
  width:18px!important;
  height:18px!important;
  max-width:18px!important;
  max-height:18px!important;
  object-fit:contain!important;
}
.contact-card .contact-row strong{
  display:inline-block!important;
  margin-bottom:2px!important;
}
