.cpb-page { background:#fff; color:#111; }
.cpb-hero { position:relative; min-height:100vh; min-height:100svh; display:flex; align-items:flex-end; overflow:hidden; color:#fff; }
.cpb-hero-bg { position:absolute; inset:0; background:url('../../assets/img/banner_cpb.jpg') center/cover no-repeat; transform:scale(1.02); }
.cpb-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,5,5,.9) 0%,rgba(5,5,5,.68) 45%,rgba(5,5,5,.18) 100%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 55%); }
.cpb-hero-content { position:relative; z-index:2; width:min(850px,86%); margin-left:6vw; padding:170px 0 8vh; }
.cpb-back { display:inline-block; margin-bottom:44px; color:rgba(255,255,255,.68); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.cpb-back:hover { color:#fff; }
.cpb-hero-logo { display:block; width:min(290px,62vw); height:auto; margin-bottom:34px; }
.cpb-kicker,.cpb-kicker-dark { margin:0 0 18px; font-size:10px; font-weight:700; letter-spacing:.2em; }
.cpb-kicker { color:rgba(255,255,255,.62); }
.cpb-kicker-dark { color:#777; }
.cpb-hero h1 { max-width:850px; margin:0; font-size:clamp(48px,6.2vw,100px); line-height:.94; letter-spacing:-.055em; }
.cpb-lead { max-width:680px; margin:28px 0 0; color:rgba(255,255,255,.76); font-size:18px; line-height:1.65; }
.cpb-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:36px; }
.cpb-button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 24px; border:1px solid transparent; font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; transition:.25s ease; }
.cpb-button-primary { background:#fff; color:#111; }
.cpb-button-primary:hover { background:#00a6df; color:#fff; }
.cpb-button-secondary { border-color:rgba(255,255,255,.4); color:#fff; }
.cpb-button-secondary:hover { border-color:#fff; background:rgba(255,255,255,.1); }
.cpb-story,.cpb-values { max-width:1240px; margin:auto; padding:clamp(80px,9vw,140px) 6vw; display:grid; grid-template-columns:1fr 1fr; gap:clamp(50px,7vw,105px); }
.cpb-section-heading > p { margin:0 0 20px; color:#008fca; font-size:10px; font-weight:700; letter-spacing:.2em; }
.cpb-section-heading h2,.cpb-products h2,.cpb-contact h2 { margin:0; font-size:clamp(42px,5vw,72px); line-height:.98; letter-spacing:-.05em; }
.cpb-story-copy { max-width:680px; }
.cpb-story-copy p { margin:0 0 22px; color:#555; font-size:17px; line-height:1.75; }
.cpb-services { padding:clamp(80px,9vw,135px) 6vw; background:#111; color:#fff; }
.cpb-services > * { max-width:1240px; margin-left:auto; margin-right:auto; }
.cpb-section-heading-light > p { color:#777; }
.cpb-section-heading-light h2 { color:#fff; }
.cpb-service-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:65px; border-top:1px solid #303030; border-left:1px solid #303030; }
.cpb-service-grid article { min-height:250px; padding:30px; border-right:1px solid #303030; border-bottom:1px solid #303030; }
.cpb-service-grid span { color:#00a6df; font-size:10px; letter-spacing:.15em; }
.cpb-service-grid h3 { margin:55px 0 14px; font-size:25px; }
.cpb-service-grid p { margin:0; color:#999; font-size:14px; line-height:1.65; }
.cpb-products { display:grid; grid-template-columns:1.08fr .92fr; min-height:620px; background:#f2f4f5; }
.cpb-products-image {
    min-height: 520px;
    background-color: #f2f4f5;
    background-image: url('../../assets/img/porsche_2.png');
    background-position: center;
    background-size: 92% auto;
    background-repeat: no-repeat;
}
.cpb-products-content { padding:clamp(64px,6.5vw,100px); display:flex; flex-direction:column; justify-content:center; }
.cpb-product-list { margin-top:52px; border-top:1px solid #ddd; }
.cpb-product-list > div { padding:25px 0; border-bottom:1px solid #ddd; }
.cpb-product-list h3 { margin:0 0 9px; font-size:20px; }
.cpb-product-list p { margin:0; color:#666; font-size:14px; line-height:1.65; }
.cpb-values { background:#fff; }
.cpb-values-grid { display:grid; gap:30px; }
.cpb-values-grid > div { padding-bottom:28px; border-bottom:1px solid #ddd; }
.cpb-values-grid h3 { margin:0 0 10px; font-size:22px; }
.cpb-values-grid p { margin:0; color:#666; line-height:1.65; }
.cpb-contact { padding:clamp(80px,9vw,125px) 6vw; display:grid; grid-template-columns:1fr 1fr; gap:clamp(50px,9vw,150px); background:#063b55; color:#fff; }
.cpb-contact > div:first-child { margin-left:max(0px,calc((100vw - 1240px)/2)); }
.cpb-contact > div:first-child > p:last-child { margin-top:30px; color:#999; line-height:1.7; }
.cpb-contact-details { max-width:560px; }
.cpb-contact-details p { margin:0 0 24px; color:#999; line-height:1.65; }
.cpb-contact-details strong { color:#fff; }
.cpb-contact-details a:not(.cpb-button) { color:#fff; }
.cpb-contact-details .cpb-button { margin-top:12px; }
.cpb-contact .cpb-kicker { color:#67ccef; }
.cpb-page > footer { background:#0b0b0b !important; border-top:1px solid rgba(255,255,255,.08) !important; }
.cpb-page > footer .footer-main { padding-top:52px !important; padding-bottom:44px !important; }
@media(max-width:900px){.cpb-story,.cpb-values,.cpb-products,.cpb-contact{grid-template-columns:1fr}.cpb-service-grid{grid-template-columns:1fr 1fr}.cpb-products-image{min-height:480px}.cpb-contact>div:first-child{margin-left:0}}
@media(max-width:600px){.cpb-hero-content{margin-left:25px;padding-bottom:7vh}.cpb-back{margin-bottom:30px}.cpb-hero-logo{margin-bottom:25px}.cpb-lead{font-size:16px}.cpb-story,.cpb-values,.cpb-services,.cpb-contact{padding-left:25px;padding-right:25px}.cpb-service-grid{grid-template-columns:1fr;margin-top:45px}.cpb-service-grid article{min-height:210px}.cpb-products-image{min-height:330px}.cpb-products-content{padding:70px 25px}}

/* Altura visual comum dos logótipos empresariais */
.cpb-hero-logo{width:auto;height:96px;max-width:min(320px,70vw);object-fit:contain}
@media(max-width:600px){.cpb-hero-logo{height:76px;max-width:72vw}}

/* Navegação sequencial entre empresas e áreas */
.company-next{position:absolute;z-index:5;right:5.8vw;bottom:7vh;display:flex;min-width:235px;padding-top:72px;flex-direction:column;align-items:flex-end;color:#fff;text-align:right}
.company-next::before{content:"";position:absolute;top:0;right:0;width:1px;height:54px;background:rgba(255,255,255,.62);transition:height .25s ease,background .25s ease}
.company-next span{color:rgba(255,255,255,.55);font-size:9px;font-weight:700;letter-spacing:.17em}
.company-next strong{margin-top:9px;font-size:17px;line-height:1.2;transition:transform .25s ease}
.company-next:hover::before{height:62px;background:#fff}
.company-next:hover strong{transform:translateY(3px)}
@media(max-width:1100px){.company-next{display:none}}
