/*
Theme Name: Inova Arquitetura e Engenharia
Theme URI: https://inovaarqeng.com.br/
Author: Inova Arquitetura e Engenharia
Description: Tema institucional da Inova com portfólio, Insights e landing page para anúncios.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: inova-arquitetura
*/

:root { --navy:#0e1427; --navy-soft:#151d34; --paper:#efeee9; --white:#f7f7f4; --ink:#11182a; --muted:#767a80; --line:rgba(15,21,39,.18); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1240px,calc(100% - 64px)); margin-inline:auto; }
.hero { position:relative; min-height:100vh; overflow:hidden; background:linear-gradient(90deg,rgba(8,14,30,.9) 0%,rgba(8,14,30,.76) 47%,rgba(8,14,30,.28) 100%),url('assets/images/hero-residencia.png') center/cover no-repeat; color:var(--white); }
.hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(0deg,rgba(5,10,23,.24),transparent 42%); background-size:calc(100vw / 12) 100%,100% 100%; pointer-events:none; }
.nav { position:fixed; z-index:20; top:0; left:0; width:100%; height:88px; padding-inline:max(32px,calc((100vw - 1240px)/2)); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.14); background:rgba(8,14,30,.76); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.wordmark { display:inline-flex; align-items:center; gap:16px; white-space:nowrap; font-size:25px; line-height:1; font-weight:500; letter-spacing:.28em; }
.wordmark small { display:block; font-size:7px; line-height:1; font-weight:400; letter-spacing:.18em; opacity:.65; transform:translateY(1px); }
.nav-links { display:flex; align-items:center; gap:27px; font-size:12px; }
.nav-links a,.nav-cta { transition:opacity .2s ease; }
.nav-links a:hover,.nav-cta:hover { opacity:.55; }
.nav-cta { font-size:11px; text-transform:uppercase; letter-spacing:.12em; border-bottom:1px solid rgba(255,255,255,.65); padding:10px 0; }
.hero-content { position:relative; z-index:2; padding-top:clamp(170px,23vh,260px); }
.kicker,.eyebrow { margin:0; font-size:10px; text-transform:uppercase; letter-spacing:.24em; opacity:.62; }
.hero h1 { margin:26px 0 0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(74px,11vw,164px); line-height:.88; font-weight:400; letter-spacing:-.055em; }
.hero-bottom { margin-top:72px; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; }
.hero-bottom p { max-width:530px; margin:0; font-size:17px; line-height:1.7; color:rgba(255,255,255,.67); }
.hero-actions { justify-self:end; width:min(100%,320px); display:grid; gap:12px; }
.hero-actions a { display:flex; justify-content:space-between; align-items:center; font-size:11px; text-transform:uppercase; letter-spacing:.1em; transition:transform .22s ease,background-color .22s ease,color .22s ease; }
.hero-primary { min-height:52px; padding:0 19px; background:var(--white); color:var(--navy); }
.hero-primary:hover { transform:translateY(-3px); background:#dcded7; }
.hero-secondary { padding:13px 0; border-bottom:1px solid rgba(255,255,255,.6); }
.hero-secondary:hover { transform:translateX(5px); }
.hero-drawing { position:absolute; right:-8%; top:13%; width:54%; height:70%; opacity:.2; }
.line { position:absolute; display:block; background:white; transform-origin:left center; }
.roof-one { width:60%; height:1px; left:12%; top:27%; transform:rotate(36deg); }
.roof-two { width:60%; height:1px; left:61%; top:62%; transform:rotate(-36deg); }
.wall-one { width:1px; height:44%; left:12%; top:27%; }
.wall-two { width:1px; height:45%; left:97%; top:27%; }
.trust-strip { background:#090f20; color:rgba(255,255,255,.66); border-top:1px solid rgba(255,255,255,.12); }
.trust-strip>div { min-height:86px; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; }
.trust-strip span { position:relative; padding-left:20px; font-size:9px; text-transform:uppercase; letter-spacing:.15em; }
.trust-strip span::before { content:""; position:absolute; left:0; top:3px; width:5px; height:5px; border-radius:50%; background:#a9ad9f; }

.projects { padding-block:115px 105px; }
.section-title { display:grid; grid-template-columns:.72fr 1.5fr; gap:70px; margin-bottom:62px; }
.section-title>div { display:flex; gap:24px; align-items:flex-start; }
.section-title span,.section-title p,.section-number { margin:0; font-size:10px; text-transform:uppercase; letter-spacing:.18em; color:#777d84; }
.section-title h2,.expertise h2,.contact h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(42px,5vw,68px); line-height:1.04; font-weight:400; letter-spacing:-.04em; }
.project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px 22px; }
.project-card:nth-child(3) { grid-column:auto; width:auto; margin-left:0; }
.project-placeholder { position:relative; min-height:0; aspect-ratio:4 / 3; overflow:hidden; background:var(--navy-soft); }
.project-placeholder::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(5,10,23,.42),transparent 45%); pointer-events:none; }
.project-placeholder img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.project-card:hover .project-placeholder img { transform:scale(1.035); }
.project-b .project-placeholder { min-height:0; background:#747b7a; }
.project-c .project-placeholder { min-height:0; background:#b7b3aa; }
.project-placeholder>span { position:absolute; z-index:2; left:24px; bottom:20px; font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.75); }
.project-info { display:flex; justify-content:space-between; align-items:flex-start; gap:25px; padding-top:20px; border-top:1px solid var(--line); margin-top:16px; }
.project-info h3 { margin:0 0 7px; font-family:Georgia,serif; font-size:21px; font-weight:400; }
.project-info p,.project-info>span { margin:0; font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:#767b80; }
.projects-footer { display:flex; justify-content:space-between; align-items:center; gap:32px; margin-top:46px; padding-top:24px; border-top:1px solid var(--line); }
.project-note { margin:0; color:#8a8e91; font-size:10px; letter-spacing:.08em; }
.projects-all-link { display:flex; justify-content:space-between; align-items:center; width:240px; padding:14px 0; border-bottom:1px solid var(--ink); font-size:10px; text-transform:uppercase; letter-spacing:.13em; transition:width .25s ease,color .2s ease; }
.projects-all-link:hover { width:255px; color:#555d64; }

.archive-hero { min-height:560px; padding-top:190px; background:var(--navy); color:var(--white); }
.archive-hero-inner { display:grid; grid-template-columns:.65fr 1.35fr; gap:80px; align-items:start; }
.archive-hero h1 { max-width:900px; margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(66px,8vw,116px); line-height:.91; font-weight:400; letter-spacing:-.055em; }
.archive-hero-copy { grid-column:2; max-width:610px; margin:42px 0 0; color:rgba(255,255,255,.6); font-size:15px; line-height:1.75; }
.archive-projects { padding-block:110px 125px; }
.archive-intro { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:54px; }
.archive-intro p { margin:0; color:#747a7e; font-size:10px; text-transform:uppercase; letter-spacing:.16em; }
.archive-intro a { padding-bottom:9px; border-bottom:1px solid var(--ink); font-size:9px; text-transform:uppercase; letter-spacing:.13em; }
.archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:58px 22px; }
.archive-grid .project-card:nth-child(3) { width:auto; margin:0; }
.archive-cta { margin-top:100px; padding:75px 0; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:end; gap:50px; }
.archive-cta h2 { max-width:760px; margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(42px,5vw,66px); line-height:1.04; font-weight:400; letter-spacing:-.04em; }
.archive-cta a { flex:0 0 210px; padding:15px 0; border-bottom:1px solid var(--ink); font-size:10px; text-transform:uppercase; letter-spacing:.13em; }
.archive-footer { background:var(--navy); color:rgba(255,255,255,.55); }
.archive-footer>div { min-height:125px; display:flex; justify-content:space-between; align-items:center; gap:30px; font-size:9px; text-transform:uppercase; letter-spacing:.13em; }

.about { padding-block:130px; background:#d9d7d0; }
.about-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:110px; align-items:center; }
.about-image { position:relative; min-height:620px; overflow:hidden; background:var(--navy); }
.about-image::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(8,14,30,.48),transparent 48%); }
.about-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.about-image>span { position:absolute; z-index:2; left:28px; bottom:24px; color:rgba(255,255,255,.78); font-size:9px; text-transform:uppercase; letter-spacing:.17em; }
.about-logo-panel { display:grid; place-items:center; background:#e9e7e0; border:1px solid rgba(14,20,39,.13); }
.about-logo-panel::after { background:linear-gradient(90deg,rgba(14,20,39,.035) 1px,transparent 1px); background-size:20% 100%; }
.about-logo-panel img { position:relative; z-index:1; inset:auto; width:84%; height:84%; object-fit:contain; }
.about-logo-panel>span { color:rgba(14,20,39,.58); }
.about-number { display:block; margin-bottom:68px; color:#74797d; font-size:10px; letter-spacing:.18em; }
.about-copy h2 { max-width:660px; margin:25px 0 34px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(44px,5vw,68px); line-height:1.04; font-weight:400; letter-spacing:-.04em; }
.about-copy>p:not(.eyebrow-dark) { max-width:610px; margin:0 0 18px; color:#62676b; font-size:15px; line-height:1.75; }
.about-regions { display:flex; flex-wrap:wrap; gap:9px; margin-top:38px; }
.about-regions span { padding:10px 13px; border:1px solid rgba(14,20,39,.2); border-radius:99px; color:#666b6e; font-size:9px; text-transform:uppercase; letter-spacing:.1em; transition:background-color .2s ease,color .2s ease,border-color .2s ease; }
.about-regions span:hover { background:var(--navy); border-color:var(--navy); color:var(--white); }

.expertise { background:var(--navy); color:var(--white); padding-top:130px; }
.expertise-grid { display:grid; grid-template-columns:1fr 1fr; gap:120px; }
.expertise-copy { position:relative; }
.section-number { display:block; color:rgba(255,255,255,.45); margin-bottom:70px; }
.eyebrow { color:rgba(255,255,255,.58); opacity:1; }
.expertise h2 { max-width:570px; margin-top:28px; }
.body-copy { max-width:490px; margin:34px 0 0; color:rgba(255,255,255,.62); line-height:1.75; font-size:15px; }
.outline-link { display:inline-block; margin-top:45px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.65); font-size:11px; text-transform:uppercase; letter-spacing:.14em; transition:padding-right .22s ease,color .22s ease; }
.outline-link:hover { padding-right:14px; color:#cfd2c8; }
.service-list { border-top:1px solid rgba(255,255,255,.2); }
.service-list details { position:relative; border-bottom:1px solid rgba(255,255,255,.2); }
.service-list details::before { content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background:#b5b9ab; transform:scaleY(0); transform-origin:top; transition:transform .25s ease; }
.service-list details[open]::before { transform:scaleY(1); }
.service-list summary { min-height:78px; display:grid; grid-template-columns:45px 1fr 30px; align-items:center; cursor:pointer; list-style:none; transition:background-color .2s ease; }
.service-list summary::-webkit-details-marker { display:none; }
.service-list summary:hover { background:rgba(255,255,255,.035); }
.service-list span { font-size:9px; color:rgba(255,255,255,.42); letter-spacing:.16em; }
.service-list h3 { margin:0; font-family:Georgia,serif; font-size:21px; font-weight:400; }
.service-list b { justify-self:end; font-size:16px; font-weight:300; color:rgba(255,255,255,.55); transition:transform .25s ease,color .25s ease; }
.service-list details[open] b { transform:rotate(45deg); color:#fff; }
.service-list details>p { max-width:520px; margin:-4px 30px 24px 45px; color:rgba(255,255,255,.66); font-size:13px; line-height:1.7; }
.service-list details[open] summary { min-height:68px; }
.contact { margin-top:130px; padding:110px 0; border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.contact p { margin:0 0 26px; font-size:10px; text-transform:uppercase; letter-spacing:.2em; color:rgba(255,255,255,.5); }
.contact { position:relative; }
.contact h2 { max-width:850px; font-size:clamp(52px,7vw,92px); }
.contact>a { position:absolute; right:0; bottom:120px; font-size:11px; text-transform:uppercase; letter-spacing:.14em; border-bottom:1px solid white; padding:12px 0; }
.footer { padding:72px 0 32px; display:grid; grid-template-columns:1.6fr .7fr .85fr; gap:80px; color:rgba(255,255,255,.55); font-size:10px; }
.wordmark-footer { color:white; font-size:18px; justify-self:start; }
.footer-brand p { max-width:310px; margin:28px 0 20px; font-size:12px; line-height:1.7; letter-spacing:0; text-transform:none; color:rgba(255,255,255,.5); }
.footer-brand>span,.footer-title { text-transform:uppercase; letter-spacing:.15em; }
.footer-title { margin:0 0 24px; color:rgba(255,255,255,.85); font-size:9px; }
.footer-column,.footer-socials { display:flex; flex-direction:column; align-items:flex-start; gap:15px; }
.footer-column .footer-title,.footer-socials .footer-title { margin-bottom:9px; }
.footer-column a { transition:color .2s ease; }
.footer-column a:hover { color:white; }
.social-link { display:flex; align-items:center; gap:11px; min-height:24px; }
.social-link svg { width:18px; height:18px; fill:currentColor; flex:0 0 auto; }
a.social-link { color:rgba(255,255,255,.78); }
.footer-bottom { grid-column:1 / -1; display:flex; justify-content:space-between; gap:25px; padding-top:30px; margin-top:28px; border-top:1px solid rgba(255,255,255,.16); text-transform:uppercase; letter-spacing:.12em; font-size:8px; }

.insights { padding-block:130px; }
.insights-heading { display:grid; grid-template-columns:.72fr 1.5fr; gap:70px; align-items:start; margin-bottom:70px; }
.insights-heading>div:first-child { display:flex; gap:24px; }
.insights-heading>div:first-child span,.insights-heading>div:first-child p { margin:0; font-size:10px; text-transform:uppercase; letter-spacing:.18em; color:#777d84; }
.eyebrow-dark { margin:0 0 25px; font-size:10px; text-transform:uppercase; letter-spacing:.2em; color:#777d84; }
.insights-heading h2,.reviews h2 { margin:0; max-width:780px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(42px,5vw,68px); line-height:1.04; font-weight:400; letter-spacing:-.04em; }
.insight-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.insight-card { border-top:1px solid var(--line); padding-top:16px; transition:transform .3s ease; }
.insight-card:hover { transform:translateY(-6px); }
.insight-art { position:relative; height:270px; overflow:hidden; background:var(--navy); margin-bottom:22px; }
.insight-art::before,.insight-art::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.26); }
.insight-art::before { width:60%; height:48%; left:20%; top:26%; transform:rotate(-7deg); }
.insight-art::after { width:28%; height:58%; right:13%; bottom:-8%; }
.insight-art-2 { background:#858a88; }
.insight-art-2::before { border-radius:50%; width:180px; height:180px; top:45px; left:calc(50% - 90px); }
.insight-art-3 { background:#bcb8ae; }
.insight-art-3::before,.insight-art-3::after { border-color:rgba(14,20,39,.28); transform:rotate(5deg); }
.insight-art>span { position:absolute; left:18px; bottom:15px; font-size:9px; color:rgba(255,255,255,.6); letter-spacing:.16em; }
.insight-art img { width:100%; height:100%; object-fit:cover; }
.insight-art::before,.insight-art::after { transition:transform .55s ease; }
.insight-card:hover .insight-art::before { transform:rotate(0deg) scale(1.04); }
.insight-card:hover .insight-art::after { transform:translateY(-7px); }
.insight-card>p { display:flex; justify-content:space-between; gap:12px; margin:0; color:#747a7e; font-size:9px; text-transform:uppercase; letter-spacing:.14em; }
.insight-card h3 { min-height:92px; margin:20px 0 22px; font-family:Georgia,serif; font-size:25px; line-height:1.25; font-weight:400; }
.read-more { display:inline-block; border-bottom:1px solid var(--ink); padding-bottom:9px; font-size:9px; text-transform:uppercase; letter-spacing:.14em; }

.reviews { padding-block:120px; background:#d9d7d0; }
.reviews-grid { display:grid; grid-template-columns:1fr 1fr; gap:110px; align-items:center; }
.reviews-intro>span { display:block; margin-bottom:65px; font-size:10px; color:#757a7e; letter-spacing:.18em; }
.reviews-intro .eyebrow { color:#777d84; opacity:1; margin-bottom:25px; }
.reviews-intro>p:last-child { max-width:510px; margin:30px 0 0; color:#676c70; font-size:15px; line-height:1.7; }
.google-profile-card { position:relative; padding:42px; background:var(--white); box-shadow:0 22px 70px rgba(14,20,39,.1); transition:transform .3s ease,box-shadow .3s ease; }
.google-profile-card:hover { transform:translateY(-5px); box-shadow:0 28px 80px rgba(14,20,39,.15); }
.google-profile-head { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.google-profile-head>span { color:#8a8e91; font-size:8px; text-transform:uppercase; letter-spacing:.15em; }
.google-label { display:flex; align-items:center; gap:10px; color:#686d72; font-size:13px; }
.google-label b { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#4285f4; color:white; font-size:17px; }
.google-profile-card h3 { margin:35px 0 12px; font-family:Georgia,serif; font-size:28px; font-weight:400; }
.google-profile-card>p { margin:0 0 12px; color:#73777b; line-height:1.7; font-size:13px; }
.google-profile-card>a { display:inline-block; margin-bottom:25px; color:#60666a; font-size:12px; border-bottom:1px solid rgba(14,20,39,.25); padding-bottom:5px; }
.google-map { position:relative; height:230px; overflow:hidden; background:#d1d2cf; }
.google-map iframe { width:100%; height:100%; border:0; filter:saturate(.72) contrast(.95); }
.google-actions { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:36px; }
.google-actions a { padding-bottom:9px; border-bottom:1px solid rgba(14,20,39,.55); color:#454b50; font-size:9px; text-transform:uppercase; letter-spacing:.13em; }
.closing { background:var(--navy); color:var(--white); }
.whatsapp-float { position:fixed; z-index:30; right:25px; bottom:24px; display:flex; align-items:center; gap:10px; min-height:52px; padding:0 20px; border-radius:99px; background:#25d366; color:#062c18; box-shadow:0 12px 34px rgba(0,0,0,.22); font-size:11px; font-weight:700; letter-spacing:.04em; transition:transform .2s ease,box-shadow .2s ease; }
.whatsapp-float:hover { transform:translateY(-3px); box-shadow:0 16px 38px rgba(0,0,0,.28); }
.whatsapp-float svg { width:25px; height:25px; fill:currentColor; flex:0 0 auto; }

@media (max-width:900px) {
  .nav-links { display:none; }
  .hero-bottom,.section-title,.expertise-grid { grid-template-columns:1fr; }
  .hero-bottom { gap:40px; }
  .hero-actions { justify-self:start; }
  .project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-card:nth-child(3) { grid-column:1 / -1; width:calc(50% - 11px); margin-inline:auto 0; }
  .archive-hero-inner { grid-template-columns:1fr; gap:35px; }
  .archive-hero-copy { grid-column:1; margin-top:0; }
  .archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .archive-grid .project-card:nth-child(3) { grid-column:1 / -1; width:calc(50% - 11px); margin-left:auto; }
  .expertise-grid { gap:80px; }
  .contact>a { position:static; display:inline-block; margin-top:40px; }
  .insights-heading,.reviews-grid { grid-template-columns:1fr; }
  .about-grid { grid-template-columns:1fr; gap:70px; }
  .about-image { min-height:540px; }
  .insight-grid { grid-template-columns:1fr; gap:60px; }
  .insight-art { height:420px; }
  .reviews-grid { gap:70px; }
  .footer { grid-template-columns:1.4fr 1fr; }
  .footer-bottom { grid-column:1 / -1; }
}
@media (max-width:600px) {
  .shell { width:min(100% - 34px,1240px); }
  .nav { height:76px; padding-inline:17px; }
  .wordmark { font-size:20px; }
  .wordmark small { display:none; }
  .nav-cta { font-size:9px; }
  .hero-content { padding-top:150px; }
  .hero h1 { font-size:70px; }
  .hero-bottom { margin-top:55px; }
  .hero-drawing { width:95%; right:-35%; }
  .projects { padding-block:90px; }
  .section-title { gap:28px; margin-bottom:50px; }
  .section-title h2 { font-size:42px; }
  .project-grid { grid-template-columns:1fr; gap:48px; }
  .project-card:nth-child(3) { grid-column:auto; width:100%; margin:0; }
  .project-placeholder,.project-b .project-placeholder,.project-c .project-placeholder { min-height:0; aspect-ratio:4 / 3; }
  .project-info { flex-direction:column; }
  .projects-footer { align-items:flex-start; flex-direction:column; }
  .projects-all-link { width:100%; }
  .archive-hero { min-height:520px; padding-top:150px; }
  .archive-hero h1 { font-size:64px; }
  .archive-projects { padding-block:80px 95px; }
  .archive-intro { align-items:flex-start; flex-direction:column; }
  .archive-grid { grid-template-columns:1fr; gap:48px; }
  .archive-grid .project-card:nth-child(3) { grid-column:auto; width:100%; margin:0; }
  .archive-cta { margin-top:70px; padding-block:60px; align-items:flex-start; flex-direction:column; }
  .archive-cta a { flex-basis:auto; width:100%; }
  .archive-footer>div { padding-block:36px; align-items:flex-start; flex-direction:column; }
  .expertise { padding-top:90px; }
  .section-number { margin-bottom:45px; }
  .service-list h3 { font-size:18px; }
  .service-list summary { min-height:70px; grid-template-columns:36px 1fr 24px; }
  .service-list details>p { margin:0 24px 20px 36px; }
  .contact { margin-top:90px; padding:80px 0; }
  .contact h2 { font-size:50px; }
  .trust-strip>div { grid-template-columns:1fr 1fr; gap:18px; padding-block:22px; }
  .footer { grid-template-columns:1fr 1fr; gap:45px 24px; padding-block:55px 28px; }
  .footer-brand { grid-column:1 / -1; }
  .footer-bottom { flex-direction:column; gap:12px; margin-top:5px; }
  .insights { padding-block:90px; }
  .insights-heading { gap:30px; margin-bottom:50px; }
  .insights-heading h2,.reviews h2 { font-size:42px; }
  .insight-art { height:300px; }
  .reviews { padding-block:85px; }
  .google-profile-card { padding:28px; }
  .google-profile-head { align-items:flex-start; }
  .about { padding-block:85px; }
  .about-grid { gap:50px; }
  .about-image { min-height:430px; }
  .about-number { margin-bottom:40px; }
  .about-copy h2 { font-size:42px; }
  .whatsapp-float { right:15px; bottom:15px; min-height:48px; padding:0 16px; }
}

/* WordPress */
.admin-bar .nav { top:32px; }
.screen-reader-text { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.wp-site-blocks { padding:0; }
.inova-empty { padding:80px 0; color:#747a7e; }
.inova-project-link { display:block; }
.archive-projects .project-card { min-width:0; }
.inova-posts-hero { min-height:500px; padding-top:190px; background:var(--navy); color:var(--white); }
.inova-posts-hero h1 { max-width:900px; margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(66px,8vw,110px); line-height:.92; font-weight:400; letter-spacing:-.055em; }
.inova-post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:55px 24px; padding-block:110px; }
.inova-post-card { border-top:1px solid var(--line); padding-top:16px; }
.inova-post-card img { width:100%; aspect-ratio:4/3; object-fit:cover; background:var(--navy); }
.inova-post-card .insight-art { height:auto; aspect-ratio:4/3; }
.inova-post-card h2 { margin:20px 0 14px; font-family:Georgia,serif; font-size:27px; line-height:1.2; font-weight:400; }
.inova-post-card p { color:#6d7377; line-height:1.7; }
.inova-single { padding-block:170px 110px; }
.inova-single-header { max-width:900px; margin:0 auto 60px; }
.inova-single-header p { color:#777d84; font-size:10px; text-transform:uppercase; letter-spacing:.16em; }
.inova-single-header h1 { margin:24px 0; font-family:Georgia,serif; font-size:clamp(48px,7vw,88px); line-height:1; font-weight:400; letter-spacing:-.045em; }
.inova-single-image { width:min(1100px,100%); margin:0 auto 60px; }
.inova-single-image img { width:100%; height:auto; display:block; }
.inova-entry { max-width:760px; margin:auto; color:#454b50; font-size:17px; line-height:1.8; }
.inova-entry h2,.inova-entry h3 { font-family:Georgia,serif; font-weight:400; color:var(--ink); }
.inova-entry a { text-decoration:underline; }
.inova-pagination { grid-column:1/-1; display:flex; justify-content:center; gap:18px; margin-top:35px; }
@media (max-width:900px) { .inova-post-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:782px) { .admin-bar .nav { top:46px; } }
@media (max-width:600px) { .inova-post-grid { grid-template-columns:1fr; padding-block:80px; } .inova-single { padding-block:130px 80px; } }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *{transition:none!important} }

/* Landing page de anúncios */
.lp-page { --lp-cream:#f0eee8; --lp-sand:#d9d6ce; --lp-green:#b7bcae; background:var(--lp-cream); color:var(--ink); }
.lp-shell { width:min(1160px,calc(100% - 64px)); margin-inline:auto; }
.lp-nav { position:absolute; z-index:5; top:0; left:50%; width:min(1160px,calc(100% - 64px)); height:94px; transform:translateX(-50%); display:flex; justify-content:space-between; align-items:center; color:white; border-bottom:1px solid rgba(255,255,255,.22); }
.lp-wordmark { display:inline-flex; align-items:center; gap:16px; white-space:nowrap; font-size:25px; line-height:1; font-weight:500; letter-spacing:.28em; }
.lp-wordmark small { display:block; font-size:7px; line-height:1; letter-spacing:.18em; opacity:.65; transform:translateY(1px); }
.lp-nav-cta { display:flex; align-items:center; gap:28px; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.75); font-size:10px; text-transform:uppercase; letter-spacing:.13em; }
.lp-hero { min-height:100vh; background:var(--navy); color:white; }
.lp-hero-grid { min-height:calc(100vh - 86px); display:grid; grid-template-columns:1.03fr .97fr; gap:74px; align-items:center; padding-top:120px; }
.lp-hero-copy { padding-block:70px; }
.lp-kicker { margin:0; color:rgba(255,255,255,.55); font-size:9px; text-transform:uppercase; letter-spacing:.2em; }
.lp-hero h1 { max-width:690px; margin:28px 0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(54px,5.8vw,86px); line-height:.96; font-weight:400; letter-spacing:-.05em; }
.lp-lead { max-width:590px; margin:0; color:rgba(255,255,255,.67); font-size:16px; line-height:1.75; }
.lp-primary { display:flex; justify-content:space-between; align-items:center; width:min(100%,370px); min-height:60px; margin-top:38px; padding:0 21px; background:var(--lp-green); color:var(--navy); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; transition:transform .2s ease,background-color .2s ease; }
.lp-primary:hover { transform:translateY(-3px); background:#d1d5ca; }
.lp-response { display:block; max-width:370px; margin-top:15px; color:rgba(255,255,255,.42); font-size:9px; line-height:1.5; }
.lp-hero-image { position:relative; height:min(68vh,690px); min-height:520px; overflow:hidden; }
.lp-hero-image::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(8,14,30,.5),transparent 48%); }
.lp-hero-image img { width:100%; height:100%; object-fit:cover; }
.lp-image-label { position:absolute; z-index:2; left:25px; right:25px; bottom:23px; display:flex; justify-content:space-between; align-items:center; color:white; }
.lp-image-label span { font-size:11px; letter-spacing:.22em; }
.lp-image-label small { font-size:8px; text-transform:uppercase; letter-spacing:.14em; opacity:.7; }
.lp-proof-bar { background:#080e1d; border-top:1px solid rgba(255,255,255,.14); }
.lp-proof-bar>div { min-height:86px; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; }
.lp-proof-bar span { position:relative; padding-left:18px; color:rgba(255,255,255,.62); font-size:8px; text-transform:uppercase; letter-spacing:.15em; }
.lp-proof-bar span::before { content:""; position:absolute; left:0; top:2px; width:5px; height:5px; border-radius:50%; background:var(--lp-green); }
.lp-problem { padding-block:130px; display:grid; grid-template-columns:.55fr 1.45fr; gap:80px; }
.lp-section-label { display:flex; gap:22px; align-items:flex-start; }
.lp-section-label span,.lp-section-label p { margin:0; color:#7a7f82; font-size:9px; text-transform:uppercase; letter-spacing:.16em; }
.lp-problem h2,.lp-heading-row h2,.lp-local h2,.lp-faq h2,.lp-final h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(42px,4.9vw,66px); line-height:1.04; font-weight:400; letter-spacing:-.04em; }
.lp-problem-copy>p { max-width:760px; margin:34px 0 55px; color:#646a6d; font-size:15px; line-height:1.8; }
.lp-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.lp-benefits article { padding-top:20px; border-top:1px solid var(--line); }
.lp-benefits b,.lp-process-grid span { color:#8a8f91; font-size:9px; letter-spacing:.16em; }
.lp-benefits h3,.lp-process-grid h3 { margin:28px 0 12px; font-family:Georgia,serif; font-size:21px; font-weight:400; }
.lp-benefits p,.lp-process-grid p { margin:0; color:#74797c; font-size:12px; line-height:1.7; }
.lp-services { padding-block:125px; background:var(--navy); color:white; }
.lp-heading-row { display:grid; grid-template-columns:.55fr 1.45fr; gap:80px; margin-bottom:66px; }
.lp-heading-row>div:last-child>.lp-kicker { margin-bottom:22px; }
.lp-light span,.lp-light p { color:rgba(255,255,255,.42); }
.lp-service-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.2); border-left:1px solid rgba(255,255,255,.2); }
.lp-service-grid article { min-height:245px; padding:27px 30px; border-right:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); transition:background-color .25s ease; }
.lp-service-grid article:hover { background:rgba(255,255,255,.045); }
.lp-service-grid span { color:rgba(255,255,255,.38); font-size:9px; letter-spacing:.16em; }
.lp-service-grid h3 { max-width:300px; margin:50px 0 17px; font-family:Georgia,serif; font-size:25px; line-height:1.15; font-weight:400; }
.lp-service-grid p { margin:0; color:rgba(255,255,255,.55); font-size:12px; line-height:1.65; }
.lp-outline { display:flex; justify-content:space-between; align-items:center; width:310px; margin:48px 0 0 auto; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.7); font-size:9px; text-transform:uppercase; letter-spacing:.13em; }
.lp-process { padding-block:130px; }
.lp-dark { color:#747a7e; }
.lp-process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.lp-process-grid article { min-height:270px; padding:27px 27px 30px 0; border-right:1px solid var(--line); }
.lp-process-grid article:not(:first-child) { padding-left:27px; }
.lp-process-grid article:last-child { border-right:0; }
.lp-portfolio { padding-block:125px; background:#d9d7d0; }
.lp-project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:23px; }
.lp-project-grid article>div { position:relative; height:330px; overflow:hidden; background:var(--navy); }
.lp-project-grid article>div::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(8,14,30,.44),transparent 48%); }
.lp-project-grid img { width:100%; height:100%; object-fit:cover; transition:transform .65s ease; }
.lp-project-grid article:hover img { transform:scale(1.035); }
.lp-project-grid article>div span { position:absolute; z-index:2; left:18px; bottom:16px; color:rgba(255,255,255,.7); font-size:8px; text-transform:uppercase; letter-spacing:.14em; }
.lp-project-grid h3 { margin:18px 0 7px; font-family:Georgia,serif; font-size:21px; font-weight:400; }
.lp-project-grid p { margin:0; color:#73787b; font-size:9px; text-transform:uppercase; letter-spacing:.13em; }
.lp-concept-note { margin:38px 0 0; color:#85898b; font-size:9px; letter-spacing:.07em; }
.lp-local { padding-block:125px; background:#11182a; color:white; }
.lp-local-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:110px; align-items:center; }
.lp-local h2 { max-width:680px; margin:24px 0 30px; }
.lp-local-grid>div>p:not(.lp-kicker) { max-width:620px; color:rgba(255,255,255,.6); font-size:14px; line-height:1.75; }
.lp-city-list { display:flex; flex-wrap:wrap; gap:9px; margin-top:35px; }
.lp-city-list span { padding:10px 13px; border:1px solid rgba(255,255,255,.22); border-radius:99px; color:rgba(255,255,255,.68); font-size:8px; text-transform:uppercase; letter-spacing:.1em; }
.lp-local aside { padding:42px; background:white; color:var(--ink); box-shadow:0 24px 70px rgba(0,0,0,.18); }
.lp-google-g { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#4285f4; color:white; font-weight:700; }
.lp-local aside>p { margin:20px 0 0; color:#777c80; font-size:9px; text-transform:uppercase; letter-spacing:.14em; }
.lp-local aside h3 { margin:28px 0 12px; font-family:Georgia,serif; font-size:29px; font-weight:400; }
.lp-local aside small { display:block; color:#74797c; font-size:12px; line-height:1.65; }
.lp-local aside a { display:flex; justify-content:space-between; margin-top:32px; padding:14px 0; border-bottom:1px solid var(--ink); font-size:9px; text-transform:uppercase; letter-spacing:.12em; }
.lp-faq { padding-block:125px; display:grid; grid-template-columns:.7fr 1.3fr; gap:100px; }
.lp-faq-title h2 { margin-top:24px; }
.lp-faq-list { border-top:1px solid var(--line); }
.lp-faq-list details { border-bottom:1px solid var(--line); }
.lp-faq-list summary { min-height:82px; display:flex; justify-content:space-between; align-items:center; gap:30px; cursor:pointer; list-style:none; }
.lp-faq-list summary::-webkit-details-marker { display:none; }
.lp-faq-list h3 { margin:0; font-family:Georgia,serif; font-size:21px; font-weight:400; }
.lp-faq-list summary span { color:#747a7e; transition:transform .2s ease; }
.lp-faq-list details[open] summary span { transform:rotate(45deg); }
.lp-faq-list details>p { max-width:700px; margin:-3px 40px 25px 0; color:#697073; font-size:13px; line-height:1.7; }
.lp-final { padding-block:130px; background:var(--lp-green); color:var(--navy); text-align:center; }
.lp-final .lp-kicker { color:rgba(14,20,39,.58); }
.lp-final h2 { max-width:920px; margin:28px auto; font-size:clamp(50px,6.5vw,90px); }
.lp-final>div>p:not(.lp-kicker) { max-width:590px; margin:0 auto; color:rgba(14,20,39,.68); font-size:15px; line-height:1.7; }
.lp-primary-light { margin:38px auto 0; background:var(--navy); color:white; }
.lp-primary-light:hover { background:#232c43; }
.lp-footer { background:#080e1d; color:rgba(255,255,255,.58); }
.lp-footer>div { min-height:125px; display:flex; justify-content:space-between; align-items:center; gap:35px; font-size:8px; text-transform:uppercase; letter-spacing:.13em; }
.lp-footer .lp-wordmark { color:white; font-size:18px; }
.lp-mobile-cta { display:none; }

@media (max-width:900px) {
  .lp-hero-grid { grid-template-columns:1fr 1fr; gap:35px; }
  .lp-hero h1 { font-size:56px; }
  .lp-problem,.lp-heading-row,.lp-faq { grid-template-columns:1fr; gap:42px; }
  .lp-benefits,.lp-service-grid { grid-template-columns:repeat(2,1fr); }
  .lp-process-grid { grid-template-columns:repeat(2,1fr); }
  .lp-process-grid article:nth-child(2) { border-right:0; }
  .lp-process-grid article:nth-child(n+3) { border-top:1px solid var(--line); }
  .lp-local-grid { gap:55px; }
}
@media (max-width:600px) {
  .lp-shell,.lp-nav { width:calc(100% - 34px); }
  .lp-nav { height:76px; }
  .lp-wordmark { font-size:20px; }
  .lp-wordmark small { display:none; }
  .lp-nav-cta { gap:10px; font-size:8px; }
  .lp-hero-grid { min-height:auto; grid-template-columns:1fr; padding-top:125px; padding-bottom:70px; }
  .lp-hero-copy { padding-block:20px 0; }
  .lp-hero h1 { font-size:52px; }
  .lp-lead { font-size:14px; }
  .lp-hero-image { height:430px; min-height:0; }
  .lp-proof-bar>div { grid-template-columns:1fr 1fr; gap:20px; padding-block:24px; }
  .lp-problem,.lp-services,.lp-process,.lp-portfolio,.lp-local,.lp-faq { padding-block:85px; }
  .lp-problem h2,.lp-heading-row h2,.lp-local h2,.lp-faq h2 { font-size:40px; }
  .lp-benefits,.lp-service-grid,.lp-process-grid,.lp-project-grid,.lp-local-grid { grid-template-columns:1fr; }
  .lp-benefits { gap:35px; }
  .lp-service-grid article { min-height:220px; }
  .lp-outline { width:100%; }
  .lp-process-grid article,.lp-process-grid article:not(:first-child) { min-height:220px; padding:27px 0; border-right:0; border-top:1px solid var(--line); }
  .lp-process-grid article:first-child { border-top:0; }
  .lp-project-grid { gap:48px; }
  .lp-project-grid article>div { height:300px; }
  .lp-local aside { padding:30px; }
  .lp-faq-list h3 { font-size:18px; }
  .lp-final { padding-block:95px 125px; }
  .lp-final h2 { font-size:50px; }
  .lp-footer>div { min-height:150px; flex-direction:column; justify-content:center; gap:18px; }
  .lp-mobile-cta { position:fixed; z-index:40; left:12px; right:12px; bottom:12px; display:flex; justify-content:space-between; align-items:center; min-height:54px; padding:0 20px; border-radius:4px; background:#25d366; color:#062c18; box-shadow:0 12px 35px rgba(0,0,0,.28); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.09em; }
}
