﻿*{box-sizing:border-box}
:root{
  --brand:#283080;
  --brand-deep:#1c235f;
  --brand-soft:#eef0fb;
  --accent:#f2b230;
  --accent-deep:#d99616;
  --ink:#202638;
  --muted:#687083;
  --surface:#f6f7fb;
  --line:#e4e7ef;
  --white:#fff;
  --shadow:0 14px 40px rgba(28,35,95,.10);
  --radius:18px;
}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.7;color:var(--muted);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--brand);text-decoration:none;transition:color .2s ease,opacity .2s ease,transform .2s ease}
a:hover{color:var(--accent-deep)}
.container{width:min(1180px,calc(100% - 48px));margin:0 auto}
.topbar{background:var(--brand-deep);color:rgba(255,255,255,.78);font-size:13px}
.topbar-inner{min-height:34px;display:flex;align-items:center;justify-content:flex-end;gap:24px}
.topbar a{color:#fff}.topbar a:hover{color:#fff;opacity:.78}
.site-header{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(228,231,239,.85);backdrop-filter:blur(12px)}
.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:flex;align-items:center;flex:0 0 auto}.brand img{display:block;width:330px;max-width:100%;height:auto}
.main-nav ul{list-style:none;margin:0;padding:0}.main-nav>ul{display:flex;align-items:center;gap:4px}
.main-nav li{position:relative}
.main-nav a{display:block;color:#51596c;font-size:14px;font-weight:600;padding:34px 13px 31px;border-bottom:3px solid transparent}
.main-nav a:hover,.main-nav a.active{color:var(--brand);border-bottom-color:var(--accent)}
.main-nav li ul{display:none;position:absolute;z-index:50;top:calc(100% - 1px);left:0;width:220px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:0 0 14px 14px;box-shadow:var(--shadow)}
.main-nav li:hover>ul,.main-nav li:focus-within>ul{display:block}
.main-nav li ul a{padding:10px 12px;margin:0;border:0;border-radius:8px;font-size:13px;font-weight:500}
.main-nav li ul a:hover{background:var(--surface);border:0}
.nav-cta{margin-left:8px!important;padding:11px 16px!important;border-radius:10px!important;border:1px solid var(--brand)!important;background:var(--brand)!important;color:#fff!important}
.nav-cta:hover{background:var(--brand-deep)!important;color:#fff!important;border-color:var(--brand-deep)!important}
.nav-toggle{display:none;background:var(--brand);color:#fff;border:0;border-radius:9px;padding:9px 14px;font:inherit;font-size:14px;font-weight:600}

.hero-modern{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden;background:#f5f6fa url('images/hero-offset.jpg') center center/cover no-repeat;border-bottom:1px solid var(--line)}
.hero-modern:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.95) 36%,rgba(255,255,255,.70) 54%,rgba(255,255,255,.14) 76%,rgba(255,255,255,0) 100%)}
.hero-modern .container{position:relative;z-index:2}
.hero-copy{max-width:660px;padding:70px 0}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;color:var(--brand);font-size:13px;line-height:1;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.eyebrow:before{content:"";width:30px;height:3px;border-radius:3px;background:var(--accent)}
.hero-copy h1{margin:0 0 18px;color:var(--ink);font-size:56px;line-height:1.04;letter-spacing:-.035em;font-weight:750}
.hero-copy h1 span{color:var(--brand)}
.hero-copy p{max-width:610px;margin:0 0 28px;color:#596174;font-size:19px;line-height:1.65}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.hero-meta{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:30px;color:#5d6475;font-size:13px;font-weight:600}
.hero-meta span{display:flex;align-items:center;gap:8px}.hero-meta span:before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:12px;font-weight:800}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:1px solid transparent;border-radius:10px;background:var(--accent);color:#27220f!important;font-weight:750;font-size:14px;padding:12px 20px;cursor:pointer;box-shadow:0 7px 20px rgba(242,178,48,.22);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn:hover{background:#f7bd49;color:#27220f!important;transform:translateY(-1px);box-shadow:0 10px 24px rgba(242,178,48,.28)}
.btn-secondary{background:#fff;border-color:#d8dcec;color:var(--brand)!important;box-shadow:none}.btn-secondary:hover{background:var(--brand-soft);border-color:#cbd0e7;color:var(--brand)!important;box-shadow:none}
.btn-light{background:#fff;color:var(--brand)!important;box-shadow:none}.btn-light:hover{background:#f7f7fb;color:var(--brand-deep)!important}

.home-content{padding-top:72px;padding-bottom:76px}.page-content{padding-top:58px;padding-bottom:72px}
.section-kicker{margin:0 0 7px;color:var(--brand);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.075em}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin:0 0 26px}
.section-heading h2{margin:0;color:var(--ink);font-size:34px;line-height:1.15;letter-spacing:-.02em;font-weight:730}.section-heading p{max-width:620px;margin:0;color:var(--muted)}
.section-link{font-size:14px;font-weight:750;white-space:nowrap}
.section-title{position:relative;display:block;color:var(--ink);font-size:28px;line-height:1.25;font-weight:720;letter-spacing:-.015em;border:0;padding:0 0 13px;margin:34px 0 22px}
.section-title:after{content:"";position:absolute;left:0;bottom:0;width:42px;height:3px;border-radius:2px;background:var(--accent)}
.section-title.first{margin-top:0}

.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:74px}
.service-card{position:relative;min-height:260px;padding:28px 25px 24px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 5px 20px rgba(28,35,95,.045);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#d7daea}
.service-number{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:13px;background:var(--brand-soft);color:var(--brand);font-weight:800;font-size:14px;margin-bottom:20px}
.service-card h3{margin:0 0 9px;color:var(--ink);font-size:20px;line-height:1.25}.service-card p{margin:0 0 18px;font-size:14px;line-height:1.65}.service-card>a{position:absolute;left:25px;bottom:22px;font-size:13px;font-weight:750}

.portfolio-section{padding:66px 0;background:var(--surface);border-top:1px solid #eef0f5;border-bottom:1px solid #eef0f5}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.home-grid{grid-template-columns:repeat(3,1fr)}
.portfolio-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 5px 18px rgba(28,35,95,.04);transition:transform .22s ease,box-shadow .22s ease}
.portfolio-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.thumb{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#edf0f5}.thumb:after{content:"Ver projeto";position:absolute;inset:auto 16px 16px auto;padding:7px 10px;border-radius:8px;background:rgba(28,35,95,.88);color:#fff;font-size:11px;font-weight:700;opacity:0;transform:translateY(4px);transition:.2s ease}
.thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.portfolio-card:hover .thumb img{transform:scale(1.04)}.portfolio-card:hover .thumb:after{opacity:1;transform:none}
.portfolio-card h3{font-size:16px;line-height:1.35;margin:0;padding:17px 18px 5px;border:0}.portfolio-card h3 a{color:var(--ink)}.portfolio-card h3 a:hover{color:var(--brand)}
.details-link{display:block;padding:0 18px 17px;font-size:12px;font-weight:700;color:var(--brand)}

.quote-wrap{padding:62px 0}.quote-box{margin:0;padding:34px 38px;border:0;border-radius:20px;background:linear-gradient(120deg,var(--brand-deep),var(--brand));color:rgba(255,255,255,.80);display:flex;align-items:center;justify-content:space-between;gap:28px;box-shadow:0 18px 45px rgba(28,35,95,.17)}
.quote-box h3{margin:0 0 5px;color:#fff;font-size:27px;line-height:1.25}.quote-box p{margin:0;font-size:15px}
.clients-section{padding-bottom:20px}.client-logos{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.client-logos div{min-height:108px;display:flex;align-items:center;justify-content:center;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.client-logos img{max-width:100%;max-height:62px;width:auto;height:auto;filter:grayscale(100%);opacity:.70;transition:.2s ease}.client-logos div:hover img{filter:none;opacity:1}

.page-title{position:relative;overflow:hidden;background:linear-gradient(120deg,#f7f8fc 0%,#f0f2f9 100%);border-bottom:1px solid var(--line)}
.page-title:after{content:"";position:absolute;right:-80px;top:-140px;width:390px;height:390px;border-radius:50%;border:70px solid rgba(40,48,128,.035)}
.page-title .container{position:relative;z-index:1;padding-top:45px;padding-bottom:45px}.page-title h1{margin:0;color:var(--ink);font-size:42px;line-height:1.1;font-weight:740;letter-spacing:-.03em}.page-title p{max-width:650px;margin:9px 0 0;font-size:16px}
.content-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr);gap:52px;align-items:start}.content-grid p{margin:0 0 17px}
.content-grid>aside{padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.check-list{list-style:none;margin:0 0 20px;padding:0}.check-list li{position:relative;padding:8px 0 8px 28px;border-bottom:1px solid rgba(228,231,239,.85)}.check-list li:last-child{border-bottom:0}.check-list li:before{content:'✓';position:absolute;left:0;top:9px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:11px;font-weight:850}.check-list.two-columns{columns:2;column-gap:34px}.check-list.two-columns li{break-inside:avoid}
.notice{margin:26px 0;border:1px solid #dfe3f3;background:var(--brand-soft);border-radius:14px;padding:20px 22px}.notice h3{font-size:17px;margin:0 0 5px;color:var(--brand)}.notice p{margin:0}
.feature-inline{display:flex;gap:16px;align-items:flex-start;margin:26px 0}.feature-inline h3{font-size:18px;color:var(--ink);margin:2px 0 4px}.feature-inline p{margin:0}.feature-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:13px;background:var(--brand);color:#fff;font-size:11px;font-weight:800;margin-top:2px}
.side-image,.slogan{width:100%;height:auto;display:block;border:0;border-radius:14px}.side-image.tall{margin:auto;max-height:530px;object-fit:cover}.video{position:relative;padding-top:56.25%;background:#e9ebf2;border-radius:14px;overflow:hidden}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.team-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.team-card img{width:100%;max-width:none;aspect-ratio:1/1;object-fit:cover;border-radius:12px}.team-card h3{font-size:18px;margin:14px 0 0;color:var(--ink)}.team-card strong{display:block;color:var(--brand);font-size:13px;margin:1px 0 9px}.team-card p{font-size:14px;margin:0 0 8px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px;padding:0}.filters button{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 13px;color:#626a7b;cursor:pointer;font:inherit;font-size:12px;font-weight:650;transition:.2s ease}.filters button:hover,.filters button.active{background:var(--brand);border-color:var(--brand);color:#fff}.portfolio-card[hidden]{display:none}
.portfolio-detail{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(290px,.75fr);gap:40px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.gallery a{display:block;background:#eef0f5;overflow:hidden;border-radius:14px;border:1px solid var(--line)}.gallery img{display:block;width:100%;height:285px;object-fit:cover;transition:transform .3s ease}.gallery a:hover img{transform:scale(1.025)}.project-info{align-self:start;position:sticky;top:124px;padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.project-info p{margin:0 0 9px}.back-link{margin-top:20px!important;font-size:13px;font-weight:650}
.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.map-grid>div{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}.map-grid .section-title{margin-top:3px}.map-frame{display:block;border:0;width:100%;height:340px;border-radius:12px}.contact-grid{margin-top:34px}.contact-form label{display:block;margin:0 0 16px;color:var(--ink);font-size:13px;font-weight:700}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:6px;border:1px solid #cfd4df;border-radius:10px;padding:11px 12px;background:#fff;color:var(--ink);font:inherit}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid rgba(40,48,128,.10);border-color:var(--brand)}.field-validation-error,.validation{color:#a33;font-size:12px}.success{padding:13px 15px;background:#edf8ef;border:1px solid #b9dcbf;border-radius:10px;color:#32683b;margin-bottom:16px}.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.contact-details{list-style:none;margin:0;padding:0}.contact-details li{padding:12px 0;border-bottom:1px solid var(--line)}.contact-details li:last-child{border-bottom:0}.contact-details strong{display:block;color:var(--ink);font-size:13px;margin-bottom:1px}
.error-page{text-align:center;padding-top:90px;padding-bottom:100px}.error-page h1{font-size:48px;color:var(--ink)}

.site-footer{margin-top:20px;background:var(--brand-deep);color:rgba(255,255,255,.67)}.footer-main{padding:50px 0 40px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px}.footer-grid h3{margin:0 0 14px;color:#fff;font-size:16px}.footer-brand{font-size:20px;font-weight:750;color:#fff;margin-bottom:8px}.footer-grid p{margin:0 0 9px;font-size:14px}.footer-grid a{color:rgba(255,255,255,.82)}.footer-grid a:hover{color:#fff}.footer-links{list-style:none;margin:0;padding:0}.footer-links li{margin:6px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.09);color:rgba(255,255,255,.46);font-size:12px}.footer-bottom .container{padding:18px 0;display:flex;justify-content:space-between;gap:20px}
.back-to-top{position:fixed;right:22px;bottom:22px;width:42px;height:42px;border:0;border-radius:12px;background:var(--brand);color:#fff;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;cursor:pointer;box-shadow:0 8px 24px rgba(28,35,95,.2)}.back-to-top.show{opacity:.92;pointer-events:auto}.back-to-top:hover{transform:translateY(-2px)}

@media(max-width:1050px){.brand img{width:290px}.main-nav a{padding-left:9px;padding-right:9px}.services-grid{grid-template-columns:repeat(2,1fr)}.hero-copy{max-width:590px}.hero-copy h1{font-size:49px}.portfolio-grid,.home-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.container{width:min(100% - 32px,1180px)}.topbar-inner{justify-content:center;gap:16px}.header-inner{min-height:78px}.brand img{width:250px}.nav-toggle{display:block}.main-nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 18px 35px rgba(28,35,95,.12);z-index:100;padding:8px 16px 18px}.main-nav.open{display:block}.main-nav>ul{display:block}.main-nav a{padding:11px 7px;margin:0;border-bottom:1px solid #eef0f4}.main-nav a.active{border-bottom-color:#eef0f4;color:var(--brand)}.main-nav li ul{display:block;position:static;width:auto;border:0;box-shadow:none;padding:0 0 0 16px}.main-nav li ul a{padding:8px 7px}.nav-cta{display:inline-flex!important;margin:10px 0 0!important;padding:10px 14px!important}.hero-modern{min-height:500px;background-position:58% center}.hero-modern:before{background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.96) 54%,rgba(255,255,255,.50) 82%,rgba(255,255,255,.24) 100%)}.hero-copy{max-width:570px;padding:60px 0}.hero-copy h1{font-size:44px}.hero-copy p{font-size:17px}.section-heading{align-items:flex-start;display:block}.section-link{display:inline-block;margin-top:12px}.content-grid,.portfolio-detail{grid-template-columns:1fr;gap:32px}.project-info{position:static}.client-logos{grid-template-columns:repeat(3,1fr)}.map-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:34px}.footer-grid>div:first-child{grid-column:1/-1}.page-title h1{font-size:36px}}
@media(max-width:560px){body{font-size:15px}.container{width:min(100% - 24px,1180px)}.topbar{display:none}.brand img{width:220px}.hero-modern{min-height:520px;background-position:66% center}.hero-modern:before{background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.96) 66%,rgba(255,255,255,.62) 100%)}.hero-copy{padding:50px 0}.hero-copy h1{font-size:38px}.hero-copy p{font-size:16px}.hero-actions{align-items:stretch;flex-direction:column;max-width:270px}.hero-actions .btn{width:100%}.hero-meta{display:none}.home-content{padding-top:52px;padding-bottom:56px}.services-grid,.portfolio-grid,.home-grid,.team-grid,.gallery{grid-template-columns:1fr}.services-grid{margin-bottom:54px}.portfolio-section{padding:52px 0}.section-heading h2{font-size:29px}.quote-wrap{padding:48px 0}.quote-box{display:block;padding:28px 24px}.quote-box h3{font-size:24px}.quote-box .btn{margin-top:18px}.client-logos{grid-template-columns:repeat(2,1fr)}.page-title .container{padding-top:34px;padding-bottom:34px}.page-title h1{font-size:32px}.page-content{padding-top:42px;padding-bottom:55px}.content-grid>aside,.project-info{padding:20px}.check-list.two-columns{columns:1}.map-frame{height:270px}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-grid>div:first-child{grid-column:auto}.footer-bottom .container{display:block}.footer-bottom span{display:block;margin-top:4px}}
