
:root{--blue:#0877bd;--cyan:#10a8c7;--navy:#071925;--ink:#101820;--steel:#54636e;--paper:#f3f5f5;--line:#d7dcdf;--white:#fff}
*{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}img{display:block;width:100%}.section{padding:105px max(5vw,24px)}
.header{height:86px;padding:0 max(4vw,20px);display:flex;align-items:center;justify-content:space-between;gap:30px;background:white;position:relative;z-index:20;border-bottom:1px solid var(--line)}.logo{display:flex;align-items:center;gap:14px}.logo b{font-size:39px;line-height:1;color:var(--blue);font-weight:900;letter-spacing:-.12em;font-style:italic}.logo span{font-size:9px;line-height:1.25;letter-spacing:.17em;font-weight:900;border-left:1px solid #9aa5ac;padding-left:13px}.header nav{display:flex;gap:28px;font-size:12px;font-weight:800;letter-spacing:.05em}.header nav a:hover{color:var(--blue)}
.btn{background:var(--blue);color:white;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:17px 20px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;transition:.25s}.btn:hover{background:var(--cyan);transform:translateY(-2px)}.btn.compact{padding:13px 16px;font-size:10px}.btn i{font-style:normal;font-size:16px}.outline{display:inline-flex;align-items:center;color:white;padding:13px 0;border-bottom:1px solid #81909a;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.outline:hover{color:#55d2e7;border-color:#55d2e7}
.hero{height:calc(100vh - 86px);min-height:690px;position:relative;overflow:hidden;background:var(--navy);color:white}.hero>img{position:absolute;inset:0;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,14,23,.97) 0%,rgba(2,14,23,.82) 43%,rgba(2,14,23,.12) 78%),linear-gradient(0deg,rgba(4,17,25,.55),transparent 55%)}.hero-content{position:relative;z-index:2;padding:10vh max(7vw,28px);max-width:900px}.overline,.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:900}.overline{display:flex;align-items:center;gap:12px;color:#d9e0e4}.overline span{display:block;width:42px;height:3px;background:var(--cyan)}.hero h1{font-size:clamp(50px,6.6vw,98px);line-height:.91;letter-spacing:-.06em;margin:30px 0}.hero h1 em{font-style:normal;color:#59cfe3}.hero-content>p:not(.overline){max-width:650px;font-size:18px;line-height:1.7;color:#ced7dc}.hero-buttons{display:flex;align-items:center;gap:35px;margin-top:35px}.hero-side{position:absolute;z-index:2;right:max(4vw,20px);bottom:40px;padding-left:18px;border-left:3px solid var(--cyan);display:flex;align-items:center;gap:15px}.hero-side strong{font-size:28px;color:#59cfe3;font-style:italic}.hero-side span{font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.12em}
.credentials{padding:35px max(5vw,24px) 50px;background:white}.credentials>p{text-align:center;text-transform:uppercase;letter-spacing:.15em;font-size:9px;color:#71808a;font-weight:800;margin:0 0 28px}.credentials-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1100px;margin:auto;border:1px solid var(--line)}.credentials article{padding:25px 30px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;border-right:1px solid var(--line)}.credentials article:last-child{border-right:0}.partner-name{font-size:24px;font-weight:900;letter-spacing:-.03em;color:var(--blue)}.partner-name.weg{font-style:italic}.partner-name.siemens{font-size:20px;letter-spacing:.06em;color:#009999}.partner-name.novus{color:#e64c2e}.credentials article span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#7b858c;align-self:end}.credentials article strong{grid-column:2;grid-row:1/3;align-self:center;text-align:right;font-size:12px;max-width:120px}
.intro{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:end}.kicker{color:var(--blue);margin:0 0 20px}.intro h2,.process h2,.gallery h2{font-size:clamp(38px,5vw,72px);line-height:1;letter-spacing:-.055em;margin:0}.intro>div:last-child{color:#5b6871;font-size:17px;line-height:1.7}.solutions{padding-top:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px}.solutions article{min-height:300px;background:white;border:1px solid var(--line);padding:30px;display:flex;flex-direction:column;position:relative;transition:.25s}.solutions article:hover{background:#dff6fa;transform:translateY(-6px)}.solutions article>span{font-size:11px;font-weight:900;color:var(--blue)}.solutions h3{font-size:24px;letter-spacing:-.04em;margin:auto 0 15px}.solutions p{color:#65717a;line-height:1.6;font-size:13px;margin:0;max-width:330px}.solutions i{font-style:normal;position:absolute;right:25px;top:25px;font-size:20px}
.feature{background:var(--navy);color:white;display:grid;grid-template-columns:1fr 1fr;min-height:720px}.feature-image{min-height:640px}.feature-image img{height:100%;object-fit:cover}.feature-copy{padding:80px max(5vw,45px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.kicker.light{color:#55d2e7}.feature h2,.structure h2,.contact h2{font-size:clamp(38px,4.6vw,68px);line-height:1;letter-spacing:-.055em;margin:0 0 26px}.feature-copy>p:not(.kicker){font-size:16px;line-height:1.75;color:#b9c4ca}.feature ul{list-style:none;padding:0;margin:20px 0 30px;display:grid;gap:13px;font-size:13px;font-weight:700}.feature li span{color:#55d2e7;margin-right:10px}
.process{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw}.process ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.process li{padding:24px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:55px 1fr;gap:20px}.process li b{color:var(--blue);font-size:11px}.process li strong{font-size:19px}.process li p{font-size:13px;color:#66737b;margin:6px 0 0;line-height:1.5}
.structure{background:#132936;color:white;display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:center}.structure-copy>p:not(.kicker){color:#bac5ca;line-height:1.75;font-size:16px}.structure-photo{min-height:550px}.structure-photo img{height:100%;object-fit:cover}
.gallery-heading{display:grid;grid-template-columns:220px 1fr;gap:4vw;align-items:start;margin-bottom:50px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:380px;gap:12px}.gallery-grid figure{margin:0;position:relative;overflow:hidden;background:#ccd3d6}.gallery-grid .wide{grid-column:span 2}.gallery-grid img{height:100%;object-fit:cover;transition:.45s}.gallery-grid figure:hover img{transform:scale(1.04)}.gallery-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 20px 18px;background:linear-gradient(transparent,rgba(3,14,20,.8));color:white;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.contact{background:#061721;color:white;text-align:center;display:flex;flex-direction:column;align-items:center}.contact .overline{justify-content:center}.contact h2{max-width:1000px;margin:30px auto 22px}.contact>p:not(.overline){max-width:700px;color:#b8c4ca;line-height:1.7}.contact-buttons{display:flex;align-items:center;gap:30px;margin-top:30px}.contact-buttons>a:not(.btn){font-size:14px;font-weight:800;border-bottom:1px solid #71808a;padding:12px 0}.contact-buttons>a:not(.btn):hover{color:#55d2e7}
footer{background:#061721;color:#9eacb4;border-top:1px solid #243943;padding:20px max(5vw,24px) 38px;display:grid;grid-template-columns:190px 1fr auto;align-items:center;gap:25px;font-size:12px}footer .logo{color:white}footer p{line-height:1.6}footer>div{display:flex;gap:25px;color:white;font-weight:700}footer a:hover{color:#55d2e7}footer small{grid-column:1/-1;border-top:1px solid #243943;padding-top:24px}.whatsapp{position:fixed;z-index:30;right:22px;bottom:22px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:white;font-size:24px;box-shadow:0 10px 28px #0007;transition:.2s}.whatsapp:hover{background:var(--cyan);transform:scale(1.08)}
@media(max-width:900px){.header nav{display:none}.btn.compact{display:none}.hero{height:auto;min-height:690px}.hero-content{padding-top:90px;padding-bottom:150px}.credentials-grid,.intro,.feature,.process,.structure{grid-template-columns:1fr}.credentials article{border-right:0;border-bottom:1px solid var(--line)}.credentials article:last-child{border-bottom:0}.solutions{grid-template-columns:1fr 1fr}.feature-image{min-height:560px}.gallery-heading{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:360px}.contact-buttons{flex-direction:column}footer{grid-template-columns:1fr;justify-items:center;text-align:center}footer small{grid-column:auto;width:100%}}
@media(max-width:560px){.section{padding:75px 20px}.header{height:72px}.logo b{font-size:32px}.hero{min-height:730px}.hero-content{padding:80px 20px 160px}.hero h1{font-size:49px}.hero-buttons{flex-direction:column;align-items:flex-start;gap:18px}.hero-side{left:20px;right:auto}.solutions{grid-template-columns:1fr}.solutions article{min-height:240px}.feature-image{min-height:420px}.feature-copy{padding:65px 20px}.process{gap:50px}.structure{gap:45px}.structure-photo{min-height:420px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:380px}.gallery-grid .wide{grid-column:span 1}.contact h2{font-size:40px}.contact-buttons .btn{font-size:10px}.contact-buttons>a:not(.btn){font-size:12px}footer>div{flex-direction:column;gap:12px}}

/* Logotipo oficial CCR: arquivo aplicado sem recorte ou alteração. */
.logo{display:block;width:350px;max-width:30vw}
.logo img{display:block;width:100%;height:auto}
.partner-name.novus img{display:block;width:145px;max-height:46px;object-fit:contain;object-position:left center}
.partner-name.siemens img{display:block;width:145px;max-height:54px;object-fit:contain;object-position:left center}
footer{grid-template-columns:360px 1fr auto}
footer .logo{width:350px;max-width:100%;background:#fff}
@media(max-width:900px){footer{grid-template-columns:1fr}.header .logo{width:300px;max-width:55vw}}
@media(max-width:560px){.header .logo{width:235px;max-width:75vw}}

/* Rodapé claro para integrar o logotipo oficial sem caixa destacada. */
footer{background:#fff;color:#5b6871;border-top:1px solid var(--line);grid-template-columns:360px minmax(160px,1fr) auto;gap:40px}
footer .logo{background:transparent}
footer>div{color:var(--ink);flex-wrap:wrap;justify-content:flex-end}
footer small{border-top:1px solid var(--line);color:#65717a}
footer a:hover{color:var(--blue)}
@media(max-width:900px){footer{grid-template-columns:1fr;gap:22px}footer>div{justify-content:center}}
