.topbar { background-color: var(--color-light); border-bottom: 1px solid var(--color-border); padding: 8px 0; font-size: 12px; color: var(--color-gray); }
.topbar-inner { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 32px; }
.topbar-left { display: flex; align-items: center; gap: 30px; flex-wrap: wrap; }
.topbar-item { display: inline-flex; align-items: center; gap: 6px; color: var(--color-gray); text-decoration: none; transition: color 0.2s; white-space: nowrap; line-height: 1.4; }
.topbar-item svg { color: var(--color-primary); flex-shrink: 0; }
.topbar-item:hover { color: var(--color-dark); }
.topbar-right { display: flex; align-items: center; white-space: nowrap; }
.topbar-hours { color: var(--color-gray); font-size: 12px; letter-spacing: 0.01em; }
@media (max-width: 640px) { .topbar-inner { flex-direction: column; gap: 6px; text-align: center; } .topbar-left { justify-content: center; gap: 14px; } }

.header { background-color: var(--color-white); border-bottom: 1px solid var(--color-border); padding: 0; }
.header-inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: 120px; gap: 24px; }
.logo-link { display: flex; align-items: center; justify-self: start; flex-shrink: 0; }
.logo { height: 61px; width: auto; display: block; }
.desktop-nav { justify-self: center; }
.desktop-nav ul { display: flex; gap: 36px; list-style: none; align-items: center; }
.desktop-nav a { font-size: 14px; font-weight: 500; color: var(--color-dark); transition: color 0.2s; padding: 6px 0; border-bottom: 2px solid transparent; white-space: nowrap; }
.desktop-nav a:hover { color: var(--color-primary); }
.desktop-nav a.nav-active { color: var(--color-primary); border-bottom-color: var(--color-primary); }
.header-actions { display: flex; align-items: center; gap: 16px; justify-self: end; flex-shrink: 0; }
.btn-cta { display: inline-flex; align-items: center; justify-content: center; gap: 10px; background-color: var(--color-primary); color: var(--color-white); width: 180px; height: 50px; padding: 0 20px; border-radius: 8px; font-size: 14px; font-weight: 700; text-decoration: none; box-shadow: 0 4px 14px rgba(0, 138, 61, 0.28); transition: background-color 0.2s, transform 0.1s, box-shadow 0.2s; white-space: nowrap; }
.btn-cta:hover { background-color: var(--color-primary-dark); transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0, 138, 61, 0.34); }
.mobile-menu-btn { display: none; background: none; border: none; cursor: pointer; padding: 8px; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; }
.hamburger { display: block; width: 24px; height: 2px; background-color: var(--color-dark); position: relative; transition: background-color 0.3s; }
.hamburger::before, .hamburger::after { content: ''; position: absolute; width: 24px; height: 2px; background-color: var(--color-dark); left: 0; transition: transform 0.3s; }
.hamburger::before { top: -7px; } .hamburger::after { top: 7px; }
.mobile-menu-btn[aria-expanded="true"] .hamburger { background-color: transparent; }
.mobile-menu-btn[aria-expanded="true"] .hamburger::before { transform: translateY(7px) rotate(45deg); }
.mobile-menu-btn[aria-expanded="true"] .hamburger::after { transform: translateY(-7px) rotate(-45deg); }
.mobile-menu-btn:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; }
@media (max-width: 1100px) { .desktop-nav ul { gap: 16px; } .desktop-nav a { font-size: 0.85rem; } }
@media (max-width: 900px) { .header-inner { display: flex; justify-content: space-between; height: 72px; } .logo { height: 40px; } .desktop-nav, .desktop-cta { display: none; } .mobile-menu-btn { display: inline-flex; } }

.footer { background-color: var(--color-dark); color: var(--color-light); padding-top: 56px; }
.footer-grid { display: grid; grid-template-columns: 1.8fr 1.25fr 1fr 1fr; gap: 40px 76px; padding-bottom: 48px; align-items: start; }
.footer-brand { max-width: 300px; } .footer-logo { height: 55px; width: auto; margin-bottom: 20px; display: block; }
.brand-desc { font-size: 14px; color: rgba(255, 255, 255, 0.75); line-height: 1.6; margin-bottom: 24px; max-width: 280px; }
.social-links { display: flex; gap: 12px; }
.social-link { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.2); color: var(--color-muted); transition: border-color 0.2s ease, color 0.2s ease; text-decoration: none; }
.social-link:hover { border-color: var(--color-primary); color: var(--color-primary); }
.footer-col h4 { color: var(--color-white); font-family: var(--font-body); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.6px; margin-bottom: 18px; }
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.footer-col ul li { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; color: rgba(255, 255, 255, 0.72); line-height: 1.6; }
.footer-col ul li svg { flex-shrink: 0; margin-top: 2px; color: var(--color-primary); opacity: 0.8; }
.footer-col a { color: rgba(255, 255, 255, 0.72); text-decoration: none; transition: color 0.2s; } .footer-col a:hover { color: var(--color-white); }
.footer-bottom { background-color: #171A18; min-height: 44px; display: flex; align-items: center; }
.footer-bottom-inner { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.footer-bottom p { font-size: 13px; color: var(--color-muted); margin: 0; } .footer-credit .heart { color: var(--color-primary); }
@media (max-width: 1024px) { .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; } .footer-brand { grid-column: 1 / -1; } }
@media (max-width: 580px) { .footer-grid { grid-template-columns: 1fr; gap: 28px; } .footer-brand { grid-column: 1; } .brand-desc { max-width: 100%; } }

.hero { position: relative; min-height: 580px; display: flex; align-items: center; overflow: hidden; background-color: var(--color-white); }
.hero-slideshow { position: absolute; inset: 0 0 0 auto; width: 72vw; height: 100%; z-index: 0; overflow: hidden; }
.hero-slides { position: absolute; inset: 0; }
.hero-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 1s ease, visibility 1s ease; pointer-events: none; }
.hero-slide.is-active { opacity: 1; visibility: visible; z-index: 1; pointer-events: auto; }
.hero-slide-media { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; display: block; transform-origin: center center; will-change: transform; }
.hero-slide.is-active .hero-slide-media.kb-a { animation: heroKenBurnsA 12s ease-in-out infinite alternate; }
.hero-slide.is-active .hero-slide-media.kb-b { animation: heroKenBurnsB 12s ease-in-out infinite alternate; }
@keyframes heroKenBurnsA {
	from { transform: scale(1) translate(0, 0); }
	to { transform: scale(1.08) translate(-1.5%, -1%); }
}
@keyframes heroKenBurnsB {
	from { transform: scale(1.06) translate(-1%, 0.5%); }
	to { transform: scale(1) translate(0.5%, -0.5%); }
}
.hero-dots { position: absolute; right: 28px; bottom: 28px; z-index: 3; display: flex; gap: 8px; align-items: center; }
.hero-dot { width: 8px; height: 8px; padding: 0; border: none; border-radius: 50%; background: rgba(255,255,255,.45); box-shadow: 0 1px 4px rgba(31,37,34,.18); cursor: pointer; transition: background-color .25s ease, transform .25s ease; }
.hero-dot:hover { background: rgba(255,255,255,.75); }
.hero-dot.is-active { background: var(--color-white); transform: scale(1.25); }
.hero-dot:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; }
.hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.96) 30%, rgba(255,255,255,.72) 46%, rgba(255,255,255,.28) 62%, rgba(255,255,255,0) 78%); pointer-events: none; }
.hero-content { position: relative; z-index: 2; } .hero-text { width: 540px; max-width: 100%; padding-top: 82px; padding-bottom: 72px; }
.hero-heading { font-family: var(--font-heading); font-size: 46px; line-height: 1.1; color: var(--color-dark); margin-bottom: 22px; letter-spacing: -0.6px; } .text-green { color: var(--color-primary); }
.hero-desc { font-size: 15.5px; color: var(--color-gray); line-height: 1.6; margin-bottom: 28px; max-width: 420px; }
.hero-actions { display: flex; gap: 16px; margin-top: 34px; flex-wrap: wrap; align-items: center; }
.btn-wa { display: inline-flex; align-items: center; gap: 10px; height: 52px; padding: 0 28px; background-color: var(--color-primary); color: var(--color-white); border-radius: 8px; font-size: 15px; font-weight: 600; text-decoration: none; transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease; white-space: nowrap; } .btn-wa:hover { background-color: var(--color-primary-dark); }
.btn-outline { display: inline-flex; align-items: center; height: 52px; padding: 0 24px; border-radius: 8px; font-size: 15px; font-weight: 600; text-decoration: none; border: 1px solid var(--color-dark); color: var(--color-dark); background-color: var(--color-white); transition: border-color .2s ease, color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s ease; white-space: nowrap; } .btn-outline:hover { border-color: var(--color-primary); color: var(--color-primary); }
.hero-actions .btn-outline { flex: 0 1 auto; max-width: 100%; }
.hero-actions .btn-wa { box-shadow: 0 2px 8px rgba(0,138,61,.16); }
.hero-actions .btn-wa svg { flex-shrink: 0; transition: transform 220ms ease; }
.hero-actions .btn-wa:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0,138,61,.22); }
.hero-actions .btn-wa:hover svg { transform: scale(1.08) rotate(-6deg); }
.hero-actions .btn-wa:active { transform: translateY(0); box-shadow: 0 2px 8px rgba(0,138,61,.16); }
.hero-actions .btn-wa:active svg { transform: none; }
.hero-actions .btn-wa:focus-visible { outline: 2px solid var(--color-primary-dark); outline-offset: 3px; }
.hero-actions .btn-outline { box-shadow: 0 1px 4px rgba(31,37,34,.06); }
.hero-actions .btn-outline:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(31,37,34,.1); }
.hero-actions .btn-outline:active { transform: translateY(0); box-shadow: 0 1px 4px rgba(31,37,34,.06); }
.hero-actions .btn-outline:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; }
.trust-badges { display: flex; gap: 34px; align-items: center; flex-wrap: wrap; margin-top: 42px; }
.badge-item { display: flex; align-items: center; gap: 10px; min-width: 120px; max-width: 150px; }
.badge-icon { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background-color: var(--color-primary-soft); color: var(--color-primary); flex-shrink: 0; }
.badge-label { font-size: 13px; font-weight: 600; color: var(--color-dark); line-height: 1.3; }
@media (max-width: 1024px) { .hero-slideshow { width: 62vw; } .hero-heading { font-size: clamp(40px,6vw,56px); } .hero-text { width: 460px; } }
@media (max-width: 900px) { .hero { min-height: auto; } .hero-slideshow { width: 100%; } .hero::before { background: linear-gradient(to bottom,rgba(255,255,255,.97) 0%,rgba(255,255,255,.9) 50%,rgba(255,255,255,.62) 100%); } .hero-text { width: 100%; padding-top: 56px; padding-bottom: 48px; } .trust-badges { gap: 20px; } .hero-dots { right: 20px; bottom: 20px; } }
@media (max-width: 480px) { .hero-heading { font-size: clamp(34px,9vw,44px); } .hero-actions { flex-direction: column; align-items: stretch; } .btn-wa, .btn-outline { justify-content: center; width: 100%; } .hero-actions .btn-outline { white-space: normal; text-align: center; line-height: 1.25; height: auto; min-height: 52px; padding: 12px 20px; } .badge-item { max-width: none; } .badge-label { white-space: normal; } }
@media (prefers-reduced-motion: reduce) {
	.hero-slide { transition: none; }
	.hero-slide.is-active .hero-slide-media.kb-a,
	.hero-slide.is-active .hero-slide-media.kb-b { animation: none; transform: none; }
	.hero-actions .btn-wa,
	.hero-actions .btn-outline,
	.hero-actions .btn-wa svg { transition: none; }
	.hero-actions .btn-wa:hover,
	.hero-actions .btn-outline:hover { transform: none; }
	.hero-actions .btn-wa:hover svg { transform: none; }
}

.env-section { --env-bg:#F4F3F0; --env-border:#E5E2DB; --env-icon-bg:#EAF6EF; --env-icon-border:rgba(0,138,61,.08); --env-label-warm:#9A958D; --env-shadow:0 2px 10px rgba(31,37,34,.05); --env-transition:.28s cubic-bezier(.4,0,.2,1); --env-cinematic:850ms cubic-bezier(.22,1,.36,1); background-color:var(--env-bg); padding:60px 0; }
.env-container { width:min(100% - 40px,1240px); margin-inline:auto; }
.env-layout { display:grid; grid-template-columns:minmax(0,480px) minmax(0,1fr); gap:40px; align-items:start; }
.env-left,
.env-right { min-width:0; width:100%; }
.env-left { display:flex; flex-direction:column; gap:0; }
.env-left > * { max-width:100%; }
.env-section-title { width:100%; overflow-wrap:break-word; word-break:normal; font-family:var(--font-heading); font-size:clamp(42px,3.2vw,56px); font-weight:400; line-height:1.02; letter-spacing:-.02em; color:var(--color-dark); margin-bottom:28px; }
.env-tabs { width:100%; display:flex; flex-wrap:nowrap; gap:10px; margin-bottom:24px; }
.env-tab { flex:1 1 auto; height:48px; background:var(--color-white); border:1px solid var(--env-border); padding-inline:14px; font-size:14.5px; font-weight:500; color:var(--color-graphite); cursor:pointer; border-radius:12px; transition:background-color var(--env-transition),border-color var(--env-transition),color var(--env-transition),box-shadow var(--env-transition); font-family:var(--font-body); white-space:nowrap; text-align:center; }
.env-tab:hover:not(.active) { border-color:#C8C4BC; background-color:#FDFCFB; color:var(--color-dark); } .env-tab.active { background-color:var(--color-primary); border-color:var(--color-primary); color:var(--color-white); box-shadow:0 3px 12px rgba(0,138,61,.18); }
.env-info-card { display:none; align-items:flex-start; gap:16px; width:100%; max-width:100%; box-sizing:border-box; background:var(--color-white); border:1px solid var(--env-border); border-radius:16px; padding:24px; box-shadow:var(--env-shadow); } .env-info-card.active { display:flex; }
.env-info-icon { display:flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:14px; background-color:var(--env-icon-bg); border:1px solid var(--env-icon-border); color:var(--color-primary); flex-shrink:0; font-size:21px; } .env-info-content { min-width:0; padding-top:2px; }
.env-info-label { font-weight:500; font-size:17px; color:var(--color-dark); margin-bottom:8px; font-family:var(--font-body); line-height:1.35; letter-spacing:-.01em; } .env-info-desc { font-size:15px; font-weight:400; color:var(--color-gray); line-height:1.55; }
.env-right { position:relative; min-height:330px; }
.env-display-panel { display:none; width:100%; grid-template-columns:57fr 43fr; min-height:330px; background:var(--color-white); border:1px solid var(--env-border); border-radius:20px; overflow:hidden; box-shadow:var(--env-shadow); } .env-display-panel.active { display:grid; }
.env-image-wrap { position:relative; min-height:330px; overflow:hidden; background-color:#EDEAE4; } .env-image-wrap::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,rgba(20,18,14,.12) 0%,rgba(20,18,14,.22) 100%); opacity:.35; transition:opacity var(--env-cinematic); }
.env-img { display:block; width:100%; height:100%; min-height:330px; object-fit:cover; object-position:center; transform:scale(1); filter:brightness(1) contrast(1); transition:transform var(--env-cinematic),filter var(--env-cinematic); }
@media (hover:hover) and (pointer:fine) { .env-img { transform:scale(1.04) translateX(-.5%); filter:brightness(.94) contrast(1.04) saturate(.96); } .env-image-wrap:hover .env-img { transform:scale(1) translateX(0); filter:brightness(1.02) contrast(1) saturate(1); } .env-image-wrap:hover::after { opacity:.08; } }
.env-suggestion { display:flex; flex-direction:column; justify-content:center; padding:38px 40px; } .sug-label { font-size:12.5px; font-weight:500; color:var(--env-label-warm); text-transform:uppercase; letter-spacing:.08em; margin-bottom:14px; font-family:var(--font-body); line-height:1.4; } .sug-title { font-family:var(--font-heading); font-size:clamp(24px,2vw,32px); font-weight:400; color:var(--color-dark); line-height:1.12; letter-spacing:-.01em; margin-bottom:14px; } .sug-desc { font-size:15.5px; font-weight:400; color:var(--color-gray); line-height:1.65; margin-bottom:28px; max-width:38ch; }
.sug-cta { display:inline-flex; align-items:center; align-self:flex-start; gap:8px; height:47px; padding-inline:22px; background-color:var(--color-primary); color:var(--color-white); font-size:15px; font-weight:500; font-family:var(--font-body); text-decoration:none; border-radius:12px; border:none; cursor:pointer; transition:background-color .28s ease,transform .28s ease,box-shadow .28s ease; box-shadow:0 3px 12px rgba(0,138,61,.16); } .sug-cta i { font-size:13px; transition:transform .28s ease; } .sug-cta:hover { background-color:var(--color-primary-dark); transform:translateY(-1px); box-shadow:0 5px 16px rgba(0,138,61,.22); } .sug-cta:hover i { transform:translateX(2px); }
@media (max-width:1180px) { .env-display-panel.active { grid-template-columns:56fr 44fr; } .env-suggestion { padding:34px 32px; } }
@media (max-width:1024px) { .env-layout { grid-template-columns:1fr; gap:32px; } .env-section-title { font-size:clamp(36px,5vw,48px); margin-bottom:24px; } .env-right { min-height:auto; } }
@media (max-width:768px) { .env-section { padding:52px 0; } .env-layout { gap:24px; } .env-tabs { flex-wrap:wrap; gap:10px; margin-bottom:20px; } .env-tab { flex:1 1 calc(50% - 5px); height:46px; padding-inline:18px; font-size:14.5px; } .env-display-panel.active { grid-template-columns:1fr; grid-template-rows:auto auto; min-height:auto; } .env-image-wrap { min-height:240px; } .env-img { min-height:240px; aspect-ratio:16 / 10; transform:scale(1); filter:none; } .env-image-wrap::after { opacity:.15; } .env-suggestion { padding:28px 24px 32px; } .sug-desc { max-width:none; font-size:15px; } .sug-cta { width:100%; justify-content:center; } }
@media (max-width:480px) { .env-section-title { font-size:clamp(32px,8vw,40px); line-height:1.05; } .env-image-wrap { min-height:210px; } .env-img { min-height:210px; } }

.solutions-section { padding-top:72px; padding-bottom:72px; background:#FFF; } .solutions-title { font-family:var(--font-heading); font-size:36px; line-height:1.15; color:var(--color-dark); margin-bottom:42px; text-align:center; position:relative; } .solutions-title::after { content:""; display:block; width:54px; height:3px; border-radius:2px; background:var(--color-primary); margin:14px auto 0; }
.solutions-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; width:100%; max-width:1200px; margin-inline:auto; } .sol-card { position:relative; display:flex; flex-direction:column; background:#FFF; border-radius:16px; border:1px solid #E3E8E5; box-shadow:0 16px 40px rgba(31,37,34,.08); overflow:hidden; text-decoration:none; color:inherit; transition:transform .2s,box-shadow .2s; min-height:335px; height:335px; } .sol-card:hover { transform:translateY(-4px); box-shadow:0 22px 48px rgba(31,37,34,.12); } .sol-image-wrapper { width:100%; height:160px; min-height:160px; flex-shrink:0; } .sol-img { width:100%; height:160px; min-height:160px; object-fit:cover; object-position:center; display:block; }
.sol-icon { position:absolute; left:24px; top:132px; width:56px; height:56px; border-radius:50%; background:#FFF; border:1px solid #E3E8E5; box-shadow:0 10px 24px rgba(0,0,0,.1); display:flex; align-items:center; justify-content:center; z-index:3; } .sol-icon svg { width:28px; height:28px; color:#008A3D; } .sol-body { padding:46px 26px 26px; flex:1; display:flex; flex-direction:column; } .sol-body h3 { font-size:23px; line-height:1.15; margin-bottom:12px; color:#1F2522; font-family:Georgia,"Times New Roman",serif; font-weight:700; } .sol-body p { font-size:14px; line-height:1.5; color:#6F7672; margin:0; }
@media (max-width:1024px) { .solutions-grid { grid-template-columns:repeat(2,1fr); gap:24px; } .sol-card { min-height:330px; height:330px; } } @media (max-width:580px) { .solutions-section { padding-top:56px; padding-bottom:56px; } .solutions-grid { grid-template-columns:1fr; } .sol-card { height:auto; min-height:320px; } .sol-image-wrapper,.sol-img { height:170px; min-height:170px; } .sol-icon { top:142px; } }

.simulator-section { background:var(--color-light); padding:48px 0; border-top:1px solid var(--color-border); border-bottom:1px solid var(--color-border); } .simulator-top { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:24px; gap:32px; flex-wrap:wrap; } .sim-header-left { flex:1; min-width:200px; } .sim-title { font-family:var(--font-heading); font-size:clamp(26px,2.8vw,34px); color:var(--color-dark); margin-bottom:6px; } .sim-desc { font-size:.88rem; color:var(--color-gray); margin:0; }
.sim-stepper { display:flex; align-items:center; gap:0; flex-shrink:0; } .step { display:flex; align-items:center; gap:8px; opacity:.45; } .step.active,.step.completed { opacity:1; } .step-num { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; border:2px solid var(--color-muted); font-size:.8rem; font-weight:700; color:var(--color-muted); background:transparent; } .step.active .step-num,.step.completed .step-num { background-color:var(--color-primary); border-color:var(--color-primary); color:white; } .step.completed .step-num { opacity:.85; } .step-label { font-size:.8rem; font-weight:600; color:var(--color-gray); white-space:nowrap; } .step.active .step-label,.step.completed .step-label { color:var(--color-dark); } .step-divider { width:36px; height:1px; background-color:var(--color-border); margin:0 8px; flex-shrink:0; }
.simulator-form { display:flex; flex-direction:column; gap:20px; background:var(--color-white); border:1px solid var(--color-border); border-radius:var(--radius-md); padding:28px 32px; box-shadow:0 4px 20px rgba(31,37,34,.04); width:100%; } .sim-step-panel { width:100%; } .form-fields { display:flex; gap:18px; flex:1; flex-wrap:wrap; } .form-fields--dados .field-group { flex:1 1 200px; min-width:180px; } .form-fields--prefs .field-group { flex:1 1 140px; min-width:120px; } .field-group { display:flex; flex-direction:column; gap:6px; flex:1; min-width:120px; } .field-group--full { flex:1 1 100%; min-width:100%; } .field-group--consent { flex:1 1 100%; min-width:100%; } .simulator-form label { font-size:13px; font-weight:600; color:var(--color-dark); white-space:normal; } .simulator-form .optional { font-weight:400; color:var(--color-muted); } .simulator-form .required { color:var(--color-primary); } .simulator-form select,.simulator-form input[type="text"],.simulator-form input[type="tel"],.simulator-form input[type="email"],.simulator-form textarea { padding:11px 14px; border:1px solid var(--color-border); border-radius:var(--radius-sm); font-size:.875rem; font-family:var(--font-body); color:var(--color-dark); background-color:var(--color-white); width:100%; appearance:auto; } .simulator-form select,.simulator-form input[type="text"],.simulator-form input[type="tel"],.simulator-form input[type="email"] { height:46px; } .simulator-form textarea { min-height:90px; resize:vertical; height:auto; } .simulator-form select:focus,.simulator-form input:focus,.simulator-form textarea:focus { outline:none; border-color:var(--color-primary); box-shadow:0 0 0 2px var(--color-primary-soft); } .simulator-form [aria-invalid="true"] { border-color:#c0392b; } .sim-field-error { margin:0; font-size:.75rem; color:#c0392b; } .sim-consent { display:flex; gap:10px; align-items:flex-start; font-size:.82rem; font-weight:400; line-height:1.45; color:var(--color-gray); cursor:pointer; white-space:normal; } .sim-consent input { width:auto; height:auto; margin-top:3px; flex-shrink:0; } .sim-consent a { color:var(--color-primary); font-weight:600; } .sim-honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; } .sim-form-status { padding:12px 14px; border-radius:var(--radius-sm); font-size:.875rem; } .sim-form-status.is-error { background:#fdecea; color:#8a1f11; border:1px solid #f5c6cb; } .sim-form-status.is-success { background:#e8f6ee; color:#0d5c2e; border:1px solid #b7e0c5; } .sim-actions { display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; align-items:center; margin-top:4px; } .sim-btn { display:inline-flex; align-items:center; justify-content:center; height:48px; padding:0 22px; border-radius:8px; font-size:.9rem; font-weight:700; font-family:var(--font-body); cursor:pointer; border:2px solid transparent; transition:background-color .2s,border-color .2s,color .2s; } .sim-btn--primary { background:var(--color-primary); color:#fff; border-color:var(--color-primary); } .sim-btn--primary:hover { background:var(--color-primary-dark); } .sim-btn--secondary { background:transparent; color:var(--color-dark); border-color:var(--color-border); } .sim-btn--secondary:hover { border-color:var(--color-primary); color:var(--color-primary); } .sim-summary { background:var(--color-light); border:1px solid var(--color-border); border-radius:var(--radius-sm); padding:20px 22px; } .sim-summary__title { font-family:var(--font-heading); font-size:1.15rem; margin:0 0 14px; color:var(--color-dark); } .sim-summary__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; margin:0; } .sim-summary__list div { display:flex; flex-direction:column; gap:2px; min-width:0; } .sim-summary__list dt { font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; color:var(--color-muted); font-weight:700; } .sim-summary__list dd { margin:0; font-size:.9rem; color:var(--color-dark); word-break:break-word; } .sim-summary__obs { grid-column:1 / -1; } .sim-cta { display:inline-flex; align-items:center; justify-content:center; gap:10px; background-color:var(--color-primary); color:var(--color-white); padding:0 28px; border:none; border-radius:8px; font-size:.9rem; font-weight:700; cursor:pointer; font-family:var(--font-body); transition:background-color .2s,opacity .2s; text-align:left; line-height:1.3; width:210px; min-width:210px; height:56px; flex-shrink:0; white-space:nowrap; } .sim-cta:hover:not(:disabled) { background-color:var(--color-primary-dark); } .sim-cta:disabled { opacity:.75; cursor:wait; } .sim-cta__idle { display:inline-flex; align-items:center; gap:10px; } @media (max-width:900px) { .simulator-top { flex-direction:column; align-items:flex-start; } .sim-stepper { width:100%; justify-content:flex-start; overflow-x:auto; } .form-fields { flex-direction:column; } .field-group,.form-fields--dados .field-group,.form-fields--prefs .field-group { min-width:100%; flex:1 1 100%; } .sim-summary__list { grid-template-columns:1fr; } .sim-actions { flex-direction:column-reverse; align-items:stretch; } .sim-btn,.sim-cta { width:100%; min-width:0; justify-content:center; text-align:center; } }

.projects-section { padding:56px 0 64px; } .proj-title { font-family:var(--font-heading); font-size:clamp(30px,3.6vw,38px); color:var(--color-dark); text-align:center; margin-bottom:24px; } .proj-filters { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin-bottom:28px; } .filter-pill { display:inline-flex; align-items:center; height:32px; padding:0 18px; border-radius:var(--radius-pill); border:1px solid var(--color-border); background:var(--color-white); font-size:.85rem; font-weight:600; color:var(--color-gray); cursor:pointer; font-family:var(--font-body); transition:border-color .2s ease, color .2s ease, background-color .2s ease; } .filter-pill:hover { border-color:var(--color-primary); color:var(--color-primary); } .filter-pill.active { background-color:var(--color-primary); border-color:var(--color-primary); color:var(--color-white); }
.proj-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-bottom:32px; } .proj-card { display:flex; flex-direction:column; text-decoration:none; color:inherit; border-radius:12px; overflow:hidden; background:var(--color-white); box-shadow:var(--shadow-soft); border:1px solid var(--color-border); transition:transform .2s,box-shadow .2s; } .proj-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-card); } .proj-card.hidden { display:none; } .proj-img-wrapper { position:relative; width:100%; aspect-ratio:16 / 10; overflow:hidden; } .proj-img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; } .proj-card:hover .proj-img { transform:scale(1.04); } .proj-info { padding:14px 16px 16px; } .proj-info h3 { font-size:.9rem; font-weight:600; color:var(--color-dark); margin:0; font-family:var(--font-body); line-height:1.35; } .proj-footer { text-align:center; } .btn-secondary-link { display:inline-flex; align-items:center; gap:8px; color:var(--color-primary); font-weight:700; font-size:.9rem; text-decoration:none; border:2px solid var(--color-primary); padding:10px 24px; border-radius:var(--radius-pill); transition:background-color .2s ease, color .2s ease, border-color .2s ease; } .btn-secondary-link:hover { background-color:var(--color-primary); color:white; } @media (max-width:1024px) { .proj-grid { grid-template-columns:repeat(2,1fr); } } @media (max-width:640px) { .proj-grid { grid-template-columns:1fr; } }

.architects-section { padding:20px 0 48px; background-color:var(--color-light); } .architects-banner { position:relative; overflow:hidden; min-height:190px; border-radius:16px; background:linear-gradient(135deg,#005C2D 0%,#00783A 100%); color:var(--color-white); padding:38px 46px; box-shadow:var(--shadow-banner); display:flex; align-items:center; } .architects-banner::before { content:''; position:absolute; inset:0; background-image:radial-gradient(circle at 15% 80%,rgba(255,255,255,.06) 0%,transparent 45%),radial-gradient(circle at 85% 20%,rgba(255,255,255,.05) 0%,transparent 40%),repeating-linear-gradient(-45deg,transparent,transparent 12px,rgba(255,255,255,.015) 12px,rgba(255,255,255,.015) 13px); pointer-events:none; } .banner-layout { position:relative; z-index:1; width:100%; display:grid; grid-template-columns:280px 1fr 244px; gap:32px; align-items:center; } .banner-eyebrow { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; color:rgba(255,255,255,.55); margin-bottom:12px; } .banner-left h2 { font-family:var(--font-heading); font-size:clamp(30px,3.2vw,37px); color:var(--color-white); line-height:1.1; margin-bottom:14px; letter-spacing:-.3px; } .banner-desc { font-size:.9rem; color:rgba(255,255,255,.72); line-height:1.55; margin:0; max-width:240px; }
.banner-benefits { display:flex; gap:24px; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; } .benefit-block { display:flex; gap:16px; align-items:flex-start; max-width:210px; } .benefit-icon { display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background-color:rgba(255,255,255,.14); color:rgba(255,255,255,.95); flex-shrink:0; } .benefit-icon svg { width:20px; height:20px; } .benefit-title { font-size:.9rem; font-weight:700; color:var(--color-white); margin-bottom:6px; line-height:1.3; } .benefit-desc { font-size:.82rem; color:rgba(255,255,255,.65); line-height:1.45; margin:0; } .banner-cta { flex-shrink:0; } .btn-consult { display:inline-flex; align-items:center; justify-content:center; gap:10px; width:236px; height:60px; background-color:var(--color-white); color:var(--color-primary-dark); padding:0 24px; border:none; border-radius:8px; font-size:.95rem; font-weight:700; text-decoration:none; box-shadow:0 4px 16px rgba(0,0,0,.12); transition:background-color .2s ease, transform .2s ease, box-shadow .2s ease; white-space:nowrap; } .btn-consult:hover { background-color:#f4f7f5; transform:translateY(-1px); box-shadow:0 6px 20px rgba(0,0,0,.16); } @media (max-width:1024px) { .architects-banner { padding:40px 36px; } .banner-layout { grid-template-columns:1fr 1fr; gap:36px; } .banner-left,.banner-cta { grid-column:1 / -1; } } @media (max-width:640px) { .architects-banner { padding:32px 24px; } .banner-layout { grid-template-columns:1fr; gap:28px; } .banner-desc { max-width:100%; } .banner-benefits { flex-direction:column; gap:24px; } .benefit-block { max-width:100%; } }

.tf-section { padding:50px 0 48px; } .tf-layout { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; } .col-title { font-family:var(--font-heading); font-size:clamp(20px,2.5vw,28px); color:var(--color-dark); margin-bottom:20px; } .testimonials-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; } .testimonial-card { background:var(--color-white); border:1px solid var(--color-border); border-radius:12px; padding:22px; min-height:150px; display:flex; flex-direction:column; gap:8px; } .quote-mark { font-family:var(--font-heading); font-size:2rem; color:var(--color-primary); line-height:1; opacity:.45; margin-bottom:-4px; } .testimonial-text { font-size:.82rem; color:var(--color-gray); line-height:1.5; flex:1; font-style:italic; margin:0; } .testimonial-footer { display:flex; flex-direction:column; gap:4px; margin-top:4px; } .stars { color:var(--color-primary); font-size:.8rem; letter-spacing:1px; } .author-info { display:flex; flex-direction:column; } .author-info strong { font-size:.875rem; color:var(--color-dark); } .author-info span { font-size:.78rem; color:var(--color-muted); } @media (max-width:900px) { .tf-layout { grid-template-columns:1fr; gap:48px; } } @media (max-width:480px) { .testimonials-grid { grid-template-columns:1fr; } }

.faq-accordion { display:flex; flex-direction:column; gap:0; background:var(--color-white); border:1px solid var(--color-border); border-radius:var(--radius-md); overflow:hidden; } .faq-item { border-bottom:1px solid var(--color-border); } .faq-item:last-child { border-bottom:none; } .faq-question { width:100%; text-align:left; padding:16px 20px; background:none; border:none; font-size:.875rem; font-weight:600; color:var(--color-dark); display:flex; justify-content:space-between; align-items:center; cursor:pointer; transition:background-color .2s; font-family:var(--font-body); line-height:1.4; gap:12px; min-height:52px; } .faq-question:hover { background-color:var(--color-light); } .icon { font-size:1.5rem; font-weight:400; color:var(--color-primary); transition:transform .3s ease; } .faq-question[aria-expanded="true"] .icon { transform:rotate(45deg); } .faq-answer { max-height:0; overflow:hidden; transition:max-height .3s ease; } .faq-answer-inner { padding:0 20px 16px; color:var(--color-gray); font-size:.85rem; line-height:1.6; }

.final-cta { background-color:var(--color-primary-banner); padding:28px 0; } .cta-layout { display:grid; grid-template-columns:80px 1fr 260px; gap:28px; align-items:center; min-height:74px; } .cta-icon-wrap { display:flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:50%; background-color:rgba(255,255,255,.1); color:var(--color-white); flex-shrink:0; } .cta-icon-wrap svg { width:40px; height:40px; } .cta-text { flex:1; } .cta-text h2 { font-family:var(--font-heading); font-size:clamp(20px,2.4vw,28px); color:var(--color-white); margin-bottom:6px; line-height:1.3; } .cta-text p { font-size:.9rem; color:rgba(255,255,255,.7); margin:0; line-height:1.5; max-width:480px; } .cta-btn-wrap { flex-shrink:0; } .cta-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; width:240px; height:54px; background-color:var(--color-white); color:var(--color-primary-dark); padding:0 20px; border-radius:8px; font-size:.9rem; font-weight:700; text-decoration:none; transition:background-color .2s ease, transform .2s ease, box-shadow .2s ease; white-space:nowrap; } .cta-btn:hover { background-color:var(--color-primary-soft); transform:translateY(-1px); } @media (max-width:768px) { .cta-layout { grid-template-columns:auto 1fr; gap:20px; } .cta-btn-wrap { grid-column:1 / -1; } .cta-btn { width:100%; justify-content:center; } } @media (max-width:480px) { .cta-icon-wrap { display:none; } .cta-layout { grid-template-columns:1fr; } }

.internal-hero { position:relative; overflow:hidden; background-color:var(--color-light); padding:60px 0 80px; border-bottom:1px solid var(--color-border); }
.internal-hero > .container { position:relative; z-index:2; }
.internal-hero .hero-content { margin-top:24px; max-width:800px; }
.internal-hero h1 { margin-bottom:16px; }
.internal-hero .subtitle { font-size:1.2rem; color:var(--color-gray); }
.internal-hero--compact { padding:36px 0 40px; }
.internal-hero--compact .hero-content { margin-top:16px; max-width:720px; }
.internal-hero--compact h1 { margin-bottom:12px; }
.internal-hero--compact .subtitle { font-size:1.05rem; line-height:1.55; margin:0 0 8px; }
.internal-hero .hero-complement { margin:0 0 20px; color:var(--color-primary-dark); font-size:.95rem; font-weight:600; }
.internal-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:4px; }

/* Internal hero — photo background + Ken Burns (premium) */
.internal-hero--media {
	background-color:#1A211D;
	border-bottom:none;
	min-height:clamp(360px, 48vh, 620px);
	display:flex;
	align-items:center;
	padding:90px 0;
}
.internal-hero--media.internal-hero--compact {
	min-height:clamp(360px, 48vh, 620px);
	display:flex;
	align-items:center;
	padding:90px 0;
}
.internal-hero--media .breadcrumb {
	margin-bottom:28px;
	font-size:.85rem;
	letter-spacing:.03em;
}
.internal-hero--media .hero-content {
	margin-top:0;
	max-width:640px;
}
.internal-hero--media h1 {
	margin-bottom:18px;
	letter-spacing:-.4px;
	line-height:1.08;
}
.internal-hero--media.internal-hero--compact h1 { margin-bottom:16px; }
.internal-hero--media .subtitle {
	font-size:1.12rem;
	line-height:1.65;
	margin:0;
	max-width:36em;
	color:rgba(255,255,255,.9);
}
.internal-hero--media.internal-hero--compact .subtitle {
	font-size:1.08rem;
	line-height:1.65;
	margin:0;
}
.internal-hero--media .hero-complement {
	margin:18px 0 0;
	font-size:.98rem;
	letter-spacing:.01em;
}
.internal-hero--media .internal-hero-actions {
	margin-top:28px;
	gap:14px;
}
.internal-hero-media { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.internal-hero-media-img {
	display:block; width:100%; height:100%; object-fit:cover; object-position:center 35%;
	transform-origin:center center; will-change:transform;
	transform:scale(1.04);
	animation:internalHeroKenBurns 22s ease-in-out infinite alternate;
}
.internal-hero-overlay {
	position:absolute; inset:0; z-index:1; pointer-events:none;
	background:
		linear-gradient(100deg, rgba(14,18,16,.78) 0%, rgba(14,18,16,.55) 36%, rgba(14,18,16,.32) 68%, rgba(14,18,16,.22) 100%),
		linear-gradient(180deg, rgba(14,18,16,.22) 0%, rgba(14,18,16,.08) 42%, rgba(14,18,16,.38) 100%);
}
.internal-hero--media h1 {
	color:var(--color-white);
	text-shadow:0 2px 24px rgba(0,0,0,.35);
}
.internal-hero--media .subtitle {
	text-shadow:0 1px 14px rgba(0,0,0,.28);
}
.internal-hero--media .hero-complement {
	color:#A8E6BF;
	text-shadow:0 1px 10px rgba(0,0,0,.25);
}
.internal-hero--media .breadcrumb a { color:rgba(255,255,255,.78); }
.internal-hero--media .breadcrumb a:hover { color:var(--color-white); }
.internal-hero--media .breadcrumb [aria-current="page"] { color:var(--color-white); font-weight:500; }
.internal-hero--media .breadcrumb .separator { color:rgba(255,255,255,.45); }
.internal-hero--media .btn-outline {
	border-color:rgba(255,255,255,.9);
	color:var(--color-white);
	background-color:rgba(255,255,255,.1);
	backdrop-filter:blur(6px);
}
.internal-hero--media .btn-outline:hover {
	border-color:var(--color-white);
	color:var(--color-dark);
	background-color:var(--color-white);
}
.internal-hero--media .btn-wa {
	box-shadow:0 8px 24px rgba(0,138,61,.28);
}
@keyframes internalHeroKenBurns {
	from { transform:scale(1.04) translate(0, 0); }
	to { transform:scale(1.14) translate(-2%, -1.4%); }
}
@media (prefers-reduced-motion: reduce) {
	.internal-hero-media-img { animation:none; transform:scale(1.04); }
}
.project-card { display:flex; flex-direction:column; text-decoration:none; color:inherit; height:100%; } .project-card .image-wrapper { width:100%; aspect-ratio:4/3; overflow:hidden; } .project-card .image-wrapper img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; } .project-card:hover .image-wrapper img { transform:scale(1.05); } .project-card .card-content { padding:24px; flex:1; } .project-card .category { font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; display:block; margin-bottom:8px; } .project-card h3 { margin:0; font-size:1.2rem; }
.wa-link-text { display:inline-flex; align-items:center; gap:8px; font-weight:600; color:var(--color-primary); transition:color .2s; } .wa-link-text:hover { color:var(--color-primary-dark); }
.filter-nav { display:flex; justify-content:center; gap:16px; margin-bottom:48px; flex-wrap:wrap; } .filter-btn { background:none; border:1px solid var(--color-border); padding:8px 24px; border-radius:var(--radius-pill); font-weight:500; cursor:pointer; transition:border-color .2s ease, color .2s ease, background-color .2s ease; } .filter-btn:hover { border-color:var(--color-primary); color:var(--color-primary); } .filter-btn.active { background:var(--color-primary); border-color:var(--color-primary); color:var(--color-white); } .projects-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; } .project-wrapper { display:flex; } @media (max-width:992px) { .projects-grid { grid-template-columns:repeat(2,1fr); } } @media (max-width:640px) { .projects-grid { grid-template-columns:1fr; } }

/* —— Contact page —— */
.contact-container-max { width:min(100% - 40px, 1140px); margin-inline:auto; }
.contact-main { padding-top:56px; padding-bottom:64px; background:var(--color-white); }
.contact-layout {
  display:grid;
  grid-template-columns:minmax(0, 1.4fr) minmax(320px, 0.8fr);
  gap:48px;
  align-items:start;
}
.contact-section-title {
  font-family:var(--font-heading);
  font-size:clamp(1.35rem, 2.2vw, 1.75rem);
  margin:0 0 12px;
  color:var(--color-dark);
}
.contact-form-card {
  background:var(--color-white);
  border:1px solid var(--color-border);
  border-radius:16px;
  box-shadow:0 8px 28px rgba(31, 37, 34, 0.05);
  padding:32px;
}
.contact-form-card__title { margin:0 0 10px; font-size:1.35rem; }
.contact-form-card__intro { margin:0 0 28px; color:var(--color-gray); line-height:1.55; }
.contact-lead-form { display:flex; flex-direction:column; gap:18px; }
.contact-field { display:flex; flex-direction:column; gap:8px; min-width:0; }
.contact-field label { font-size:.9rem; font-weight:600; color:var(--color-dark); }
.contact-field .required { color:var(--color-primary); }
.contact-field .optional { font-weight:500; color:var(--color-muted); font-size:.8rem; }
.contact-field input:not([type="checkbox"]),
.contact-field select,
.contact-field textarea {
  width:100%;
  min-height:50px;
  padding:12px 14px;
  border:1px solid var(--color-border);
  border-radius:12px;
  background:var(--color-white);
  color:var(--color-dark);
  font-family:var(--font-body);
  font-size:1rem;
  transition:border-color .2s, box-shadow .2s;
}
.contact-field textarea { min-height:120px; resize:vertical; }
.contact-field input:not([type="checkbox"]):focus,
.contact-field select:focus,
.contact-field textarea:focus {
  outline:none;
  border-color:var(--color-primary);
  box-shadow:0 0 0 3px rgba(0, 138, 61, 0.12);
}
.contact-field input:not([type="checkbox"])[aria-invalid="true"],
.contact-field select[aria-invalid="true"],
.contact-field textarea[aria-invalid="true"] {
  border-color:#c0392b;
}
.contact-field-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.contact-field-error {
  margin:0;
  font-size:.82rem;
  color:#c0392b;
  line-height:1.4;
}
.contact-field--consent {
  gap:6px;
}
.contact-consent {
  display:flex;
  gap:12px;
  align-items:flex-start;
  font-size:.9rem;
  font-weight:500;
  line-height:1.5;
  color:var(--color-gray);
  cursor:pointer;
  white-space:normal;
  overflow:visible;
}
.contact-consent span {
  flex:1 1 auto;
  min-width:0;
  white-space:normal;
  overflow:visible;
  text-overflow:unset;
}
.contact-consent input[type="checkbox"] {
  appearance:auto;
  -webkit-appearance:checkbox;
  width:18px;
  height:18px;
  min-width:18px;
  min-height:18px;
  max-width:18px;
  margin:2px 0 0;
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
  flex-shrink:0;
  accent-color:var(--color-primary);
  cursor:pointer;
}
.contact-consent input[type="checkbox"][aria-invalid="true"] {
  outline:2px solid #c0392b;
  outline-offset:2px;
}
.contact-form-submit {
  width:100%;
  justify-content:center;
  border:none;
  cursor:pointer;
  margin-top:4px;
}
.contact-form-submit[disabled] { opacity:.72; cursor:wait; }
.contact-form-status {
  margin-bottom:16px;
  padding:12px 14px;
  border-radius:12px;
  font-size:.92rem;
  line-height:1.45;
}
.contact-form-status.is-error {
  background:#fdecea;
  color:#9b1c1c;
  border:1px solid #f5c6c2;
}
.contact-form-success {
  margin-top:8px;
  padding:24px;
  border-radius:14px;
  background:var(--color-primary-soft);
  border:1px solid #cfe9da;
}
.contact-form-success__title {
  margin:0 0 8px;
  font-size:1.1rem;
  font-weight:700;
  color:var(--color-primary-dark);
}
.contact-form-success__protocol {
  margin:0 0 20px;
  color:var(--color-dark);
}
.contact-form-success .btn-wa { justify-content:center; width:100%; max-width:320px; }

.contact-sidebar { display:flex; flex-direction:column; gap:16px; }
.contact-side-card {
  background:var(--color-white);
  border:1px solid var(--color-border);
  border-radius:16px;
  box-shadow:0 6px 20px rgba(31, 37, 34, 0.04);
  padding:24px;
}
.contact-side-card__icon {
  width:36px;
  height:36px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--color-primary-soft);
  color:var(--color-primary);
  margin-bottom:12px;
}
.contact-side-card__title { margin:0 0 8px; font-size:1.05rem; }
.contact-side-card__text { margin:0 0 12px; color:var(--color-gray); font-size:.92rem; line-height:1.55; }
.contact-side-card__value {
  display:block;
  margin:0 0 16px;
  font-weight:700;
  color:var(--color-dark);
  word-break:break-word;
  overflow-wrap:anywhere;
}
.contact-side-card__link { color:var(--color-primary); text-decoration:none; }
.contact-side-card__link:hover { text-decoration:underline; }
.contact-side-card__btn { width:100%; justify-content:center; }
.contact-hours-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; color:var(--color-dark); font-weight:600; }

.contact-how { border-top:1px solid var(--color-border); }
.contact-how .contact-section-title { margin-bottom:28px; }
.contact-how-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:20px;
}
.contact-how-card {
  background:var(--color-white);
  border:1px solid var(--color-border);
  border-radius:16px;
  padding:24px;
  box-shadow:0 4px 16px rgba(31, 37, 34, 0.03);
}
.contact-how-card__top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
}
.contact-how-card__num {
  font-family:var(--font-heading);
  font-size:1.25rem;
  font-weight:700;
  color:var(--color-primary);
}
.contact-how-card__icon {
  width:32px;
  height:32px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--color-primary-dark);
  background:var(--color-primary-soft);
}
.contact-how-card__title { margin:0 0 8px; font-size:1.05rem; }
.contact-how-card__text { margin:0; color:var(--color-gray); font-size:.92rem; line-height:1.55; }

.contact-service-area { background:var(--color-white); border-top:1px solid var(--color-border); }
.contact-service-area__inner {
  border:1px solid var(--color-border);
  border-radius:16px;
  padding:32px clamp(20px, 3vw, 40px);
  background:linear-gradient(180deg, #fbfcfb 0%, var(--color-light) 100%);
}
.contact-service-area__text { margin:0 0 16px; color:var(--color-gray); max-width:640px; line-height:1.55; }
.contact-service-area__list {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.contact-service-area__list li {
  padding:8px 14px;
  border-radius:999px;
  background:var(--color-white);
  border:1px solid var(--color-border);
  font-size:.88rem;
  font-weight:600;
  color:var(--color-dark);
}

.contact-final-cta { background:var(--color-light); border-top:1px solid var(--color-border); }
.contact-final-cta__inner {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  max-width:640px;
}
.contact-final-cta__text { margin:0 0 16px; color:var(--color-gray); line-height:1.55; }
.contact-final-cta .btn-wa { justify-content:center; }

.breadcrumb { font-size: 0.9rem; margin-bottom: 24px; }
.breadcrumb ol { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.breadcrumb a { color: var(--color-gray); transition: color 0.2s; }
.breadcrumb a:hover { color: var(--color-primary); }
.breadcrumb [aria-current="page"] { color: var(--color-dark); font-weight: 500; }
.breadcrumb .separator { color: var(--color-muted); }

/* —— Service pages (cortinas / persianas / arquitetos) —— */
.service-section-header { max-width: 640px; margin-bottom: 36px; }
.service-section-header h2 { margin-bottom: 0; }

.service-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
}
.service-intro.is-reverse .service-intro-grid { grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); }
.service-intro.is-reverse .service-intro-copy { order: 2; }
.service-intro.is-reverse .service-intro-media { order: 1; }
.service-intro-copy { min-width: 0; max-width: 560px; }
.service-intro-copy h2 { margin-bottom: 16px; }
.service-intro-copy > p { color: var(--color-gray); font-size: 1.05rem; line-height: 1.7; margin-bottom: 24px; }
.service-benefits { list-style: none; display: grid; gap: 12px; margin: 0; padding: 0; }
.service-benefits li {
  position: relative;
  padding-left: 28px;
  color: var(--color-dark);
  font-weight: 500;
  line-height: 1.45;
}
.service-benefits li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--color-primary);
}
.service-intro-media {
  margin: 0;
  min-width: 0;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--color-light);
}
.service-intro-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.service-models-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.service-model-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 16px;
  overflow: hidden;
  height: 100%;
  box-shadow: 0 12px 28px rgba(31, 37, 34, 0.06);
}
.service-model-media {
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--color-light);
}
.service-model-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}
.service-model-card:hover .service-model-img { transform: scale(1.04); }
.service-model-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 22px 22px 24px;
  flex: 1;
}
.service-model-body h3 { margin: 0; font-size: 1.2rem; }
.service-model-body p { margin: 0; color: var(--color-gray); line-height: 1.55; flex: 1; }
.service-model-cta {
  align-self: flex-start;
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}
.service-models-note {
  margin: 28px 0 0;
  color: var(--color-gray);
  font-size: 0.95rem;
  max-width: 720px;
}

.service-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.service-gallery-item { margin: 0; border-radius: 12px; overflow: hidden; background: var(--color-light); }
.service-gallery-link {
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.service-gallery-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}
.service-gallery-link:hover .service-gallery-img,
.service-gallery-link:focus-visible .service-gallery-img { transform: scale(1.05); }
.service-gallery.is-premium .service-gallery-item { border-radius: 14px; box-shadow: 0 10px 28px rgba(31, 37, 34, 0.08); }

.service-benefit-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.service-benefit-card {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 14px;
  padding: 24px 22px;
  box-shadow: 0 10px 24px rgba(31, 37, 34, 0.05);
}
.service-benefit-card h3 { margin: 0 0 8px; font-size: 1.05rem; }
.service-benefit-card p { margin: 0; color: var(--color-gray); line-height: 1.5; font-size: 0.95rem; }

.service-steps-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  counter-reset: none;
}
.service-step {
  background: var(--color-light);
  border-radius: 14px;
  padding: 28px 22px;
  border: 1px solid var(--color-border);
}
.service-step-num {
  display: block;
  font-family: var(--font-heading);
  font-size: clamp(2.4rem, 4vw, 3.2rem);
  line-height: 1;
  color: var(--color-primary);
  margin-bottom: 14px;
}
.service-step h3 { margin: 0 0 8px; font-size: 1.1rem; }
.service-step p { margin: 0; color: var(--color-gray); line-height: 1.5; }

.service-categories-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
.service-category-card { min-width: 0; }
.service-category-media {
  margin: 0 0 14px;
  border-radius: 14px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #fff;
}
.service-category-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}
.service-category-card:hover .service-category-img { transform: scale(1.04); }
.service-category-card h3 { margin: 0; font-size: 1.05rem; }

.service-partner-box {
  background: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 100%);
  color: #fff;
  border-radius: 18px;
  padding: clamp(32px, 5vw, 48px);
  text-align: center;
  max-width: 820px;
  margin-inline: auto;
}
.service-partner-box h2 { color: #fff; margin: 0 0 12px; }
.service-partner-box p {
  margin: 0 auto 24px;
  max-width: 560px;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.6;
}
.service-partner-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.realcy-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(12, 18, 15, 0.86);
}
.realcy-lightbox.is-open { display: flex; }
.realcy-lightbox img {
  max-width: min(960px, 100%);
  max-height: min(88vh, 100%);
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
}
.realcy-lightbox-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  color: var(--color-dark);
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
}

@media (max-width: 992px) {
  .service-intro-grid,
  .service-intro.is-reverse .service-intro-grid { grid-template-columns: 1fr; }
  .service-intro.is-reverse .service-intro-copy,
  .service-intro.is-reverse .service-intro-media { order: initial; }
  .service-intro-copy { max-width: none; }
  .service-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-benefit-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-steps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-categories-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .service-models-grid,
  .service-gallery-grid,
  .service-benefit-cards,
  .service-steps-grid,
  .service-categories-grid { grid-template-columns: 1fr; }
}
