*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--site-bg);color:var(--text);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 40px));margin:auto}.narrow{width:min(820px,100%)}.icon{width:24px;height:24px}.site-main{padding-top:80px}.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--primary);box-shadow:0 5px 20px rgba(0,0,0,.14)}body.admin-bar .site-header{top:32px}.header-inner{height:80px;display:flex;align-items:center;justify-content:space-between}.brand{height:58px;display:flex;align-items:center;min-width:180px}.brand img{max-height:56px;width:auto;max-width:220px;object-fit:contain}.brand-fallback{display:none;color:#fff;font-weight:800;letter-spacing:.12em}.nav-list{list-style:none;padding:0;margin:0;display:flex;gap:8px}.nav-list a{display:block;color:#d9ddd5;padding:12px 16px;font-size:14px;font-weight:600;position:relative}.nav-list a:hover,.nav-list .current-menu-item>a,.nav-list .current_page_item>a{color:#fff}.nav-list .current-menu-item>a:after,.nav-list .current_page_item>a:after{content:"";position:absolute;left:16px;right:16px;bottom:5px;height:2px;background:var(--secondary)}.mobile-toggle{display:none;background:transparent;border:0;color:#fff;padding:8px;cursor:pointer}.mobile-toggle .close-icon{display:none}.mobile-toggle.open>svg:first-child{display:none}.mobile-toggle.open .close-icon{display:block}.hero{position:relative;background-image:var(--hero-image);background-size:cover;background-position:center;overflow:hidden}.hero-home{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;text-align:center}.hero-inner{min-height:340px;display:flex;align-items:center;text-align:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 94%,transparent),color-mix(in srgb,var(--secondary) 84%,transparent));}.hero-overlay.dark{background:rgba(0,0,0,.5)}.hero-overlay.soft{opacity:.82}.hero-content{position:relative;z-index:2;color:#fff}.hero-content h1,.contact-hero h1{margin:0 0 24px;font-family:"Playfair Display",serif;font-size:clamp(44px,7vw,80px);line-height:1.04;font-weight:800}.hero-home h1{font-family:Inter,Arial,sans-serif;font-size:clamp(42px,6.5vw,76px);letter-spacing:.15em}.hero-content p{font-size:clamp(18px,2.4vw,25px);color:#edf0eb;max-width:820px;margin:0 auto 32px;line-height:1.55}.light-title .hero-content h1{color:#fff}.btn{display:inline-flex;align-items:center;gap:9px;padding:15px 26px;border:0;border-radius:9px;font-weight:700;cursor:pointer;transition:.22s}.btn .icon,.text-link .icon{width:19px;height:19px}.btn-secondary{background:var(--secondary);color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.18)}.btn-secondary:hover{transform:translateY(-2px);filter:brightness(1.08)}.full{width:100%;justify-content:center;font-size:16px}.scroll-indicator{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);width:25px;height:40px;border:2px solid rgba(255,255,255,.5);border-radius:18px;z-index:3;display:flex;justify-content:center;padding-top:7px}.scroll-indicator span{width:4px;height:10px;background:rgba(255,255,255,.6);border-radius:10px;animation:scrollDot 2s infinite}@keyframes scrollDot{50%{transform:translateY(9px)}}.section{padding:82px 0}.bg-white{background:#fff}.alt,.testimonials-section{background:#f5f6f3}.section-head{text-align:center;margin-bottom:48px}.section-head h2,.soft-card h2,.contact-grid h2{font-family:"Playfair Display",serif;color:var(--primary);font-size:clamp(34px,4.5vw,52px);line-height:1.1;margin:0 0 15px}.section-head p{max-width:720px;margin:0 auto;color:#666;font-size:18px;line-height:1.6}.cards-grid{display:grid;gap:28px}.cards-grid.three{grid-template-columns:repeat(3,1fr)}.service-card,.value-card,.testimonial-card,.team-card,.expand-card,.form-card,.contact-info,.soft-card{background:var(--card);border-radius:14px;box-shadow:0 9px 26px rgba(0,0,0,.09)}.service-card,.value-card{padding:28px;transition:.25s}.service-card:hover,.value-card:hover{transform:translateY(-6px);box-shadow:0 17px 38px rgba(0,0,0,.13)}.icon-box{width:58px;height:58px;border-radius:10px;background:color-mix(in srgb,var(--secondary) 13%,transparent);display:flex;align-items:center;justify-content:center;color:var(--secondary);flex:none}.service-card h3,.value-card h3,.expand-card h3,.team-card h3{color:var(--primary);font-size:21px;margin:17px 0 10px}.service-card p,.value-card p,.expand-card p{color:#666;line-height:1.65}.service-card p{min-height:78px}.text-link{display:inline-flex;gap:8px;align-items:center;color:var(--secondary);font-weight:700}.text-link:hover{color:var(--primary)}.text-link.large{font-size:17px}.section-cta{text-align:center;margin-top:42px}.testimonial-card{padding:26px;border:1px solid var(--secondary);display:flex;flex-direction:column;min-height:270px;transition:.25s}.testimonial-card:hover{transform:scale(1.025);box-shadow:0 18px 35px rgba(0,0,0,.1)}.testimonial-card blockquote{margin:0 0 24px;color:var(--primary);font-style:italic;line-height:1.7;flex:1}.testimonial-person{display:flex;align-items:center;gap:15px;padding-top:17px;border-top:1px solid #eee}.testimonial-person img{width:78px;height:78px;object-fit:cover;border-radius:50%;border:2px solid var(--secondary)}.testimonial-person strong,.testimonial-person span{display:block}.testimonial-person strong{color:var(--primary);font-size:17px}.testimonial-person span{color:var(--secondary);font-size:14px;margin-top:5px}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.soft-card{padding:34px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 5%,#fff),color-mix(in srgb,var(--secondary) 5%,#fff));box-shadow:none}.soft-card h2{font-size:36px}.soft-card p{line-height:1.75;color:#555}.team-card{overflow:hidden}.team-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.team-content{padding:24px}.team-content h3{margin:0 0 8px}.team-content strong{color:var(--secondary)}.team-content p{margin:8px 0 0;color:#666}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.expand-card{padding:26px;overflow:hidden}.expand-top{display:flex;gap:18px;align-items:flex-start}.expand-copy{flex:1}.expand-card h3{margin:2px 0 8px}.expand-card p{margin:0 0 12px}.expand-btn{background:none;border:0;padding:0;color:var(--secondary);font-weight:700;display:flex;align-items:center;gap:8px;cursor:pointer;font-size:15px}.expand-btn .icon{width:18px;transition:.25s}.expand-card.expanded .expand-btn .icon{transform:rotate(180deg)}.expand-details{max-height:0;overflow:hidden;opacity:0;border-top:1px solid #eee;margin-top:0;padding-top:0;transition:.35s}.expand-card.expanded .expand-details{max-height:350px;opacity:1;margin-top:18px;padding-top:18px}.expand-details strong{color:var(--primary);font-size:14px}.expand-details ul{padding:0;margin:12px 0 0;list-style:none}.expand-details li{position:relative;padding:5px 0 5px 15px;color:#666;font-size:14px}.expand-details li:before{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:var(--secondary);left:0;top:12px}.contact-hero{padding:100px 0 62px;background:#fff;text-align:center}.contact-hero h1{color:var(--primary);font-size:clamp(44px,6vw,66px)}.contact-hero p{color:var(--secondary);font-size:22px;margin:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px}.form-card{padding:34px}.form-card h2,.contact-side>h2{font-size:34px}.contact-form{display:grid;gap:18px}.contact-form label{font-size:14px;font-weight:600;color:#555}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:8px;border:1px solid #d7d7d7;background:#fff;padding:13px 14px;border-radius:9px;font:inherit;color:#222;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--secondary);box-shadow:0 0 0 3px color-mix(in srgb,var(--secondary) 18%,transparent)}.contact-side{display:flex;flex-direction:column;gap:16px}.contact-info{padding:18px;display:flex;gap:15px;align-items:center}.icon-box.small{width:46px;height:46px}.contact-info strong{display:block;color:var(--primary);margin-bottom:4px}.contact-info p{margin:0;color:#666}.map-placeholder{background:#fff;padding:16px;border-radius:14px;box-shadow:0 9px 26px rgba(0,0,0,.09);margin-top:8px}.map-placeholder>div{height:270px;background:#e9ebe8;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;color:#777}.map-placeholder .icon{width:50px;height:50px;color:var(--secondary)}.map-placeholder strong{font-size:17px}.map-placeholder span{font-size:13px;max-width:85%}.form-alert{padding:13px 15px;border-radius:8px;margin-bottom:18px;font-size:14px}.form-alert.success{background:#e7f7ea;color:#225a2e}.form-alert.error{background:#fde9e9;color:#8b2222}.site-footer{background:var(--primary);color:#d9ddd5;padding-top:58px}.footer-grid{display:grid;grid-template-columns:1.15fr .8fr 1.25fr .8fr;gap:34px}.site-footer h3{color:#fff;margin:0 0 16px}.site-footer p,.site-footer li{font-size:14px;line-height:1.65}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:7px 0}.site-footer a:hover{color:#fff}.footer-brand{display:flex;gap:11px;align-items:center;color:#fff;font-size:20px}.footer-icon{background:color-mix(in srgb,var(--secondary) 22%,transparent);color:var(--secondary);width:42px;height:42px;border-radius:9px;display:flex;align-items:center;justify-content:center}.footer-contact li{display:flex;gap:9px;align-items:flex-start}.footer-contact .icon{width:17px;height:17px;color:var(--secondary);margin-top:3px}.social-links{display:flex;gap:10px}.social-links a{width:42px;height:42px;border-radius:9px;background:color-mix(in srgb,var(--secondary) 22%,transparent);display:flex;align-items:center;justify-content:center;transition:.2s}.social-links a:hover{background:var(--secondary);transform:scale(1.08)}.social-links .icon{width:20px;height:20px}.copyright{margin-top:40px;padding:24px 0;border-top:1px solid color-mix(in srgb,var(--secondary) 35%,transparent);text-align:center;font-size:14px}.floating-editor{position:fixed;right:20px;bottom:20px;z-index:9999;background:#202020;color:#fff;border-radius:999px;padding:13px 16px;box-shadow:0 8px 25px rgba(0,0,0,.28);display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}.floating-editor .icon{width:20px;height:20px;animation:gearspin 8s linear infinite}@keyframes gearspin{to{transform:rotate(360deg)}}.generic-page{min-height:65vh;background:#fff}.generic-page h1{font-family:"Playfair Display",serif;color:var(--primary);font-size:48px}.post-card{padding:20px 0;border-bottom:1px solid #ddd}.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){body.admin-bar .site-header{top:46px}.mobile-toggle{display:block}.primary-nav{position:absolute;top:80px;left:0;right:0;background:var(--primary);border-top:1px solid color-mix(in srgb,var(--secondary) 35%,transparent);max-height:0;opacity:0;overflow:hidden;transition:.3s}.primary-nav.open{max-height:360px;opacity:1}.nav-list{display:block;padding:12px 20px 18px}.nav-list a{padding:13px 14px;border-radius:8px}.nav-list .current-menu-item>a:after,.nav-list .current_page_item>a:after{display:none}.nav-list .current-menu-item>a,.nav-list .current_page_item>a{background:var(--secondary)}.cards-grid.three{grid-template-columns:repeat(2,1fr)}.services-grid,.contact-grid,.split-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,1fr)}.hero-home{min-height:680px}.service-card p{min-height:0}}
@media(max-width:620px){.container{width:min(100% - 28px,1180px)}.site-main{padding-top:72px}.header-inner{height:72px}.brand{height:48px}.brand img{max-height:46px;max-width:185px}.primary-nav{top:72px}.hero-home{min-height:calc(100svh - 72px);padding:70px 0}.hero-home h1{letter-spacing:.1em}.hero-inner{min-height:310px}.section{padding:62px 0}.cards-grid.three{grid-template-columns:1fr}.section-head{margin-bottom:34px}.footer-grid{grid-template-columns:1fr}.floating-editor span{display:none}.floating-editor{padding:13px}.testimonial-card{min-height:0}.form-card{padding:24px}.expand-card{padding:21px}.expand-top{gap:13px}.icon-box{width:52px;height:52px}.contact-hero{padding:75px 0 48px}.site-footer{padding-top:48px}}

/* Performance / smooth-scroll refinements — v1.1 */
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{overflow-x:hidden;text-rendering:optimizeSpeed}
.site-header{transform:translateZ(0);backface-visibility:hidden}
.hero{transform:translateZ(0)}
img{height:auto}
.section,.testimonials-section,.site-footer{content-visibility:auto;contain-intrinsic-size:auto 760px}
.reveal{opacity:0;transform:translate3d(0,16px,0);transition:opacity .46s ease-out,transform .46s ease-out;backface-visibility:hidden}
.reveal.visible{opacity:1;transform:translate3d(0,0,0)}
.floating-editor .icon{animation:gearspin .7s ease-out 1}

@media (hover:hover) and (pointer:fine){
  .service-card:hover,.value-card:hover{transform:translate3d(0,-5px,0);box-shadow:0 14px 30px rgba(0,0,0,.11)}
  .testimonial-card:hover{transform:scale(1.018);box-shadow:0 14px 28px rgba(0,0,0,.09)}
  .btn-secondary:hover{transform:translate3d(0,-2px,0)}
  .social-links a:hover{transform:scale(1.06)}
}

@media (max-width:620px){
  .service-card,.value-card,.testimonial-card,.team-card,.expand-card,.form-card,.contact-info,.map-placeholder{box-shadow:0 5px 16px rgba(0,0,0,.07)}
  .reveal{transform:translate3d(0,10px,0);transition-duration:.36s}
  .scroll-indicator span{animation-duration:2.4s}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important}
}
.scroll-indicator span{animation-iteration-count:3}
@media (hover:none){
  .service-card:hover,.value-card:hover,.testimonial-card:hover,.btn-secondary:hover,.social-links a:hover{transform:none}
}

/* ===== Paleta oficial R&F + dark mode + carrossel — v1.3 ===== */
:root{
  --surface:#f6efe1;
  --surface-alt:#ede3ce;
  --heading:#3c4138;
  --muted:#5e6257;
  --line:rgba(60,65,56,.16);
  --header-text:#f6efe1;
  --footer-text:#ede3ce;
  --shadow-soft:0 12px 28px rgba(60,65,56,.10);
  --shadow-strong:0 16px 36px rgba(60,65,56,.15);
  --toggle-bg:#ede3ce;
  --toggle-ring:rgba(60,65,56,.28);
  --toggle-icon:#3c4138;
  --testimonial-gap:24px;
}

html[data-theme='dark']{
  --primary:#252b24;
  --secondary:#6f8260;
  --site-bg:#1e241e;
  --text:#f6efe1;
  --card:#30372f;
  --surface:#2a3029;
  --surface-alt:#252b24;
  --heading:#f6efe1;
  --muted:#d2c8b7;
  --line:rgba(237,227,206,.14);
  --header-text:#f6efe1;
  --footer-text:#ddd4c3;
  --shadow-soft:0 14px 32px rgba(0,0,0,.28);
  --shadow-strong:0 18px 38px rgba(0,0,0,.38);
  --toggle-bg:#3c4138;
  --toggle-ring:rgba(237,227,206,.22);
  --toggle-icon:#f6efe1;
}

body{background:var(--site-bg);color:var(--text)}
.site-header,.site-footer{background:var(--primary)}
.nav-list a{color:rgba(246,239,225,.82)}
.nav-list a:hover,.nav-list .current-menu-item>a,.nav-list .current_page_item>a{color:#fff}
.bg-white,.contact-hero,.generic-page{background:var(--surface)}
.alt,.testimonials-section{background:var(--surface-alt)}
.section-head p,.service-card p,.value-card p,.expand-card p,.team-content p,.soft-card p,.contact-info p,.map-placeholder span{color:var(--muted)}
.section-head h2,.soft-card h2,.contact-grid h2,.service-card h3,.value-card h3,.expand-card h3,.team-card h3,.generic-page h1,.contact-hero h1,.testimonial-card blockquote,.testimonial-person strong{color:var(--heading)}
.service-card,.value-card,.testimonial-card,.team-card,.expand-card,.form-card,.contact-info,.soft-card,.map-placeholder{background:var(--card);box-shadow:var(--shadow-soft)}
.service-card:hover,.value-card:hover,.testimonial-card:hover{box-shadow:var(--shadow-strong)}
.soft-card{background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 86%,var(--primary) 14%),color-mix(in srgb,var(--surface) 90%,var(--secondary) 10%))}
.text-link,.testimonial-person span,.contact-hero p,.footer-contact .icon,.social-links a,.footer-icon,.team-content strong,.contact-info strong{color:var(--secondary)}
.testimonial-card{border-color:color-mix(in srgb,var(--secondary) 42%,transparent)}
.testimonial-person{border-top-color:var(--line)}
.expand-details,.copyright{border-top-color:var(--line)}
.expand-details li{color:var(--muted)}
.contact-form label{color:var(--muted)}
.contact-form input,.contact-form textarea{background:var(--surface);border-color:var(--line);color:var(--text)}
.map-placeholder>div{background:color-mix(in srgb,var(--surface-alt) 84%,var(--primary) 16%);color:var(--muted)}
.hero-content p{color:rgba(255,255,255,.92)}
.site-footer p,.site-footer li,.copyright,.footer-contact span{color:var(--footer-text)}
.site-footer h3,.footer-brand strong{color:#fff}

.brand{height:62px;gap:10px}
.brand img{max-height:60px;max-width:225px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.16))}
.footer-brand{align-items:center}
.footer-logo{height:42px;width:auto;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.18))}
.footer-brand strong{font-size:18px;letter-spacing:.04em}
.header-actions{display:flex;align-items:center;gap:12px;flex:none}
.theme-toggle{appearance:none;border:0;background:transparent;padding:0;cursor:pointer;display:grid;place-items:center;line-height:0;transition:transform .22s ease}
.theme-toggle:hover{transform:translateY(-1px)}
.theme-toggle-shell{position:relative;display:grid;place-items:center;width:58px;height:58px;background:var(--toggle-bg);box-shadow:0 8px 18px rgba(0,0,0,.08)}
.theme-toggle-shell::before{content:"";position:absolute;inset:11px;border:1.3px solid var(--toggle-ring);border-radius:50%}
.theme-toggle-icon{position:relative;z-index:1;display:grid;place-items:center;color:var(--toggle-icon);transition:opacity .24s ease,transform .24s ease}
.theme-toggle-icon .icon{width:18px;height:18px;stroke-width:1.9}
.theme-toggle-icon-sun{display:none}
html[data-theme='dark'] .theme-toggle-icon-moon{display:none}
html[data-theme='dark'] .theme-toggle-icon-sun{display:grid}
.mobile-toggle{margin-left:2px}

.testimonial-marquee{position:relative;overflow:hidden;padding:4px 0 8px;mask-image:linear-gradient(to right,transparent 0,#000 6%,#000 94%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 6%,#000 94%,transparent 100%)}
.testimonial-track{display:flex;gap:var(--testimonial-gap);width:max-content;will-change:transform;animation:crfMarquee 42s linear infinite}
.testimonial-marquee:hover .testimonial-track{animation-play-state:paused}
.testimonial-track .testimonial-card{flex:0 0 clamp(292px,32vw,360px);min-height:290px}
@keyframes crfMarquee{from{transform:translateX(0)}to{transform:translateX(calc(-50% - (var(--testimonial-gap) / 2)))}}

html[data-theme='dark'] .btn-secondary{background:var(--secondary);color:#fff}
html[data-theme='dark'] .social-links a{background:color-mix(in srgb,var(--secondary) 22%,transparent);color:#f6efe1}
html[data-theme='dark'] .social-links a:hover{background:var(--secondary);color:#fff}
html[data-theme='dark'] .form-alert.success{background:#26392a;color:#d9f0d9}
html[data-theme='dark'] .form-alert.error{background:#402523;color:#ffd8d3}
html[data-theme='dark'] .nav-list .current-menu-item>a:after,
html[data-theme='dark'] .nav-list .current_page_item>a:after{background:var(--secondary)}

@media(max-width:940px){
  .header-inner{gap:14px}
  .primary-nav{order:3;flex-basis:100%}
  .header-actions{margin-left:auto}
  .theme-toggle-shell{width:52px;height:52px}
}

@media(max-width:620px){
  .brand{height:50px}
  .brand img{max-height:48px;max-width:170px}
  .theme-toggle-shell{width:50px;height:50px}
  .theme-toggle-shell::before{inset:10px}
  .testimonial-track .testimonial-card{flex-basis:84vw;min-height:0}
  .testimonial-track{animation-duration:48s}
}

@media(prefers-reduced-motion:reduce){
  .testimonial-track{animation:none}
  .testimonial-marquee{overflow:auto;mask-image:none;-webkit-mask-image:none}
}
