/*
Theme Name: CWCAM Engenharia
Theme URI: https://cwcam.com.br/
Author: CWCAM
Description: Tema CWCAM com páginas e conteúdo editáveis no editor nativo do WordPress.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: cwcam-engenharia
License: GPL-2.0-or-later
*/
:root{--navy:#083a65;--dark:#062d50;--ink:#123d60;--muted:#52677b;--line:#dce6ee;--pale:#f0f5f9;--light:#f8fafc;--radius:12px;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:white;color:var(--ink);font:17px/1.65 "Segoe UI",Arial,sans-serif}h1,h2,h3,h4{font-family:Arial,sans-serif;line-height:1.12;letter-spacing:-.035em;color:var(--navy);margin:0 0 22px}h1{font-size:clamp(40px,4.3vw,66px)}h2{font-size:clamp(30px,3vw,44px)}h3{font-size:25px}p{margin:0 0 22px}a{color:inherit;text-decoration:none}a,button,input,select,textarea{touch-action:manipulation}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #2c87bf;outline-offset:5px}button{cursor:pointer}img{display:block;max-width:100%;height:auto}.container{width:min(calc(100% - 80px),var(--max));margin:auto}.section{padding:88px 0}.light{background:var(--light)}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:12px;font-weight:600;color:#587291;display:block;margin-bottom:18px}.lead{font-size:21px;line-height:1.6;color:var(--muted);max-width:680px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;border:1px solid var(--navy);border-radius:6px;padding:14px 23px;background:var(--navy);color:white;font-size:15px;font-weight:600;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:var(--dark);transform:translateY(-2px)}.button.outline{color:var(--navy);background:white;border-color:#99afc2}.button.outline:hover{background:var(--pale)}.button.white{background:white;color:var(--navy);border-color:white}.button.small{padding:11px 18px;font-size:14px}.text-link{font-size:15px;font-weight:650;display:inline-flex;align-items:center;gap:15px;color:var(--navy)}.text-link:hover{gap:22px}.button-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.header{height:94px;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #e6edf2}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{display:block;width:204px;flex-shrink:0}.brand img{width:100%;height:auto}nav{display:flex;align-items:center;gap:32px}nav>a:not(.button){font-size:15px;position:relative;padding:12px 0}nav>a[aria-current="page"]::after{content:"";height:2px;background:var(--navy);position:absolute;bottom:2px;left:0;right:0}nav>a:hover{color:#2875a4}.menu-toggle{display:none;border:0;background:transparent;width:40px;padding:8px}.menu-toggle span{display:block;height:2px;background:var(--navy);margin:5px 0}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.hero{overflow:hidden;position:relative;background:linear-gradient(112deg,white 48%,#f0f5fa 100%)}.hero::before{content:"";position:absolute;width:250px;height:200px;border-radius:0 0 100% 0;border-bottom:1px solid #b5c8d9;left:-130px;bottom:0;box-shadow:-12px 12px 0 var(--navy)}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:35px;align-items:center;min-height:635px;padding:65px 0}.hero h1{max-width:650px;font-size:clamp(40px,4.4vw,65px)}.hero .lead{font-size:19px;max-width:520px}.hero-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:470px;padding:30px;background-image:linear-gradient(#cbd9e342 1px,transparent 1px),linear-gradient(90deg,#cbd9e342 1px,transparent 1px);background-size:38px 38px;border-radius:120px 12px 12px 12px}.hero-visual img{width:100%;max-height:430px;object-fit:contain;mix-blend-mode:multiply}.image-caption{position:absolute;bottom:0;left:30px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#55708a;background:#f2f6fa;padding:5px 12px}.intro-line{padding:24px 0;border-bottom:1px solid var(--line)}.intro-line .container{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#63798e}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:35px}.section-head h2{margin-bottom:12px}.section-head p{color:var(--muted);margin:0}.section-head .text-link{white-space:nowrap;margin-bottom:9px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{border:1px solid var(--line);border-radius:var(--radius);padding:32px;background:white;transition:transform .2s,border-color .2s;display:flex;flex-direction:column}.service-card:hover{transform:translateY(-4px);border-color:#9ab7cc}.service-icon{height:52px;width:52px;color:var(--navy);background:var(--pale);border-radius:12px;display:grid;place-items:center;margin-bottom:30px}.service-icon svg{height:28px;width:28px}.service-card h3{font-size:24px}.service-card p{font-size:16px;color:var(--muted)}.service-card .text-link{margin-top:auto}.service-foot{padding-top:28px;display:flex;gap:30px;align-items:center;justify-content:space-between}.service-foot p{font-size:15px;color:var(--muted);margin:0}.projects-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px}.project-card{grid-column:span 2;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:white;transition:box-shadow .25s,transform .25s}.project-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px #083a6510}.project-card.featured{grid-column:span 3}.project-art{position:relative;display:flex;height:240px;padding:24px;align-items:center;justify-content:center;background:linear-gradient(125deg,#e9f1f7,#f8fafc);overflow:hidden}.project-art::before{content:"";position:absolute;width:400px;height:400px;border:1px solid #fff9;border-radius:50%;right:-190px;top:-180px}.project-art img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .4s}.project-card:hover .project-art img{transform:scale(1.035)}.featured .project-art{height:370px}.project-body{padding:25px}.project-body .eyebrow{font-size:10px;margin-bottom:10px}.project-body h3{font-size:25px;margin-bottom:7px}.project-code{display:block;font-size:13px;color:#64788c;letter-spacing:.03em;margin-bottom:12px}.project-body p{font-size:15px;color:var(--muted);margin-bottom:20px}.project-body .text-link{font-size:14px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:40px}.process-item{border-top:1px solid #bacddd;padding-top:25px}.step-number{display:inline-flex;background:#eaf1f6;border-radius:50%;align-items:center;justify-content:center;width:48px;height:48px;font-size:14px;margin-bottom:24px}.process-item h3{font-size:23px;margin-bottom:15px}.process-item p{font-size:15px;color:var(--muted)}.about-preview{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.technical-panel{padding:42px;background:var(--pale);border-radius:0 80px 0 0;position:relative}.technical-panel .panel-title{font-size:36px;font-family:Arial;line-height:1.15;max-width:300px;letter-spacing:-.035em}.technical-panel img{height:200px;width:100%;object-fit:contain;mix-blend-mode:multiply;margin:20px auto}.technical-panel p{font-size:13px;color:var(--muted);margin:0}.cta{background:var(--navy);color:white;position:relative;overflow:hidden}.cta::after{content:"";position:absolute;right:-100px;bottom:-240px;border-radius:50%;width:420px;height:420px;border:1px solid #7191ac;pointer-events:none}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:52px 0}.cta h2{color:white;font-size:34px;margin-bottom:14px}.cta p{color:#d7e3ec;margin:0;max-width:640px}.cta .button{flex-shrink:0;position:relative;z-index:1}.footer{background:white}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:65px;padding:65px 0 45px}.footer .brand{width:160px;margin-bottom:22px}.footer h2{font-family:"Segoe UI",Arial;font-size:14px;letter-spacing:0;margin:4px 0 21px}.footer p,.footer a:not(.brand){font-size:14px;color:var(--muted)}.footer-grid>div>a:not(.brand){display:block;margin-bottom:10px}.footer a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#718294;padding:22px 0}.page-intro{padding:65px 0 40px}.page-intro h1{font-size:clamp(38px,4vw,57px);margin-bottom:20px}.page-intro .lead{margin:0}.breadcrumb{font-size:13px;color:#6b8194;display:flex;gap:12px;flex-wrap:wrap;margin-bottom:35px}.breadcrumb a:hover{text-decoration:underline}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 30px}.filter{border:1px solid var(--line);border-radius:30px;background:white;color:var(--navy);padding:9px 20px;font-size:14px}.filter[aria-pressed="true"]{color:white;background:var(--navy);border-color:var(--navy)}.portfolio-section{padding-top:15px}.results-count{font-size:13px;color:#6c8092;margin-bottom:24px}.detail-top{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding-bottom:60px}.detail-top .project-art{height:520px;border-radius:var(--radius);padding:35px}.detail-top .project-art button{border:0;background:transparent;position:absolute;inset:0;z-index:2;width:100%;padding:35px}.detail-top .project-art button img{object-fit:contain;height:100%;width:100%;mix-blend-mode:multiply}.enlarge-hint{position:absolute;right:16px;bottom:13px;background:white;border:1px solid var(--line);padding:4px 12px;border-radius:4px;font-size:12px;z-index:3;pointer-events:none}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0}.tag{font-size:12px;background:var(--pale);border-radius:20px;padding:6px 13px}.detail-copy h1{font-size:clamp(38px,4vw,56px)}.detail-copy p{color:var(--muted)}.detail-content{display:grid;grid-template-columns:1.1fr 1fr;gap:75px}.detail-content h2{font-size:29px}.detail-content p,.detail-content li{color:var(--muted);font-size:16px}.detail-content ul{padding-left:20px}.detail-content li{padding:8px 0}.detail-note{font-size:12px;color:#718294;border-top:1px solid var(--line);padding-top:20px;margin-top:30px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.related-grid .project-card{grid-column:auto}.service-list{display:grid;gap:26px;padding:10px 0 80px}.service-detail{display:grid;grid-template-columns:.65fr 1.35fr;gap:50px;padding:45px;border:1px solid var(--line);border-radius:12px}.service-detail h2{font-size:30px}.service-detail p{color:var(--muted)}.service-detail ul{margin:0 0 25px;padding-left:20px;color:var(--muted);font-size:16px}.service-detail li{margin:9px 0}.about-main{display:grid;grid-template-columns:1fr .85fr;gap:80px;align-items:start}.about-main p{color:var(--muted)}.about-main h2{font-size:30px}.value-list{border:1px solid var(--line);border-radius:12px;padding:35px}.value-list>div+div{border-top:1px solid var(--line);padding-top:22px}.value-list h3{font-size:20px}.value-list p{font-size:15px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding:10px 0 80px}.contact-info{background:var(--pale);border-radius:0 65px 0 0;padding:36px;height:fit-content}.contact-info h2{font-size:28px}.contact-info p{font-size:16px;color:var(--muted)}.contact-info a{font-size:16px;overflow-wrap:anywhere}.contact-info hr{border:0;border-top:1px solid #d1dfe9;margin:26px 0}.contact-info .contact-label{font-size:11px;text-transform:uppercase;letter-spacing:.15em;margin-bottom:6px}.contact-form{display:grid;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600}.field input,.field textarea,.field select{border:1px solid #b6c7d5;border-radius:5px;padding:12px 14px;color:var(--navy);background:white;width:100%;font-size:16px;font-weight:400}.field textarea{resize:vertical;min-height:150px}.form-note{font-size:13px;color:var(--muted);margin:0}.form-status{font-size:14px;background:var(--pale);padding:16px;border-left:3px solid var(--navy)}.form-status:empty{display:none}.form-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.copy-button{border:0;background:none;padding:6px;color:var(--navy);text-decoration:underline;font-size:14px}.not-found{text-align:center;padding:100px 20px}.not-found h1{font-size:48px}.icon-button{border:1px solid var(--line);background:white;border-radius:5px;height:40px;width:40px;color:var(--navy);font-size:20px}dialog{border:0;border-radius:12px;width:min(1100px,94vw);max-height:94vh;padding:16px;background:white;color:var(--navy)}dialog::backdrop{background:#041d36bb}dialog>img{max-height:78vh;width:100%;object-fit:contain}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}.viewer-toolbar p{font-size:14px;margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1450px){.hero-grid{min-height:700px}.hero-visual{min-height:520px}.hero-visual img{max-height:470px}}
@media(max-width:1050px){.container{width:calc(100% - 48px)}nav{gap:22px}.brand{width:175px}.hero-grid{gap:20px;min-height:570px}.hero h1{font-size:49px}.hero-visual{min-height:380px;padding:18px}.hero-visual img{max-height:370px}.service-card{padding:24px}.service-card h3{font-size:21px}.featured .project-art{height:320px}.project-art{height:200px}.about-preview{gap:40px}.detail-top{gap:35px}.detail-top .project-art{height:440px}.contact-grid{gap:40px}}
@media(max-width:780px){.header{height:77px}.container{width:calc(100% - 38px)}.brand{width:163px}.menu-toggle{display:block}nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:20px 25px 28px;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #083a6508}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:8px}nav>a:not(.button){padding:11px 0}nav .button{margin-top:12px}.hero-grid{grid-template-columns:1fr;padding:45px 0 30px;gap:35px}.hero h1{font-size:clamp(40px,7.5vw,56px);max-width:650px}.hero .lead{font-size:18px}.hero-visual{min-height:330px;border-radius:70px 8px 8px 8px}.hero-visual img{max-height:320px}.image-caption{left:15px;bottom:-5px;font-size:10px}.hero::before{display:none}.section{padding:60px 0}.section-head{align-items:start;flex-direction:column;gap:18px}.section-head h2{font-size:34px}.service-grid{grid-template-columns:1fr}.service-card{padding:28px}.service-icon{margin-bottom:20px}.service-card h3{font-size:25px}.service-foot{align-items:start;flex-direction:column;gap:18px}.project-card,.project-card.featured{grid-column:span 3}.project-card .project-art{height:240px}.project-card.featured .project-art{height:330px}.project-body{padding:20px}.project-body h3{font-size:24px}.process-grid{grid-template-columns:1fr 1fr;gap:25px}.about-preview,.about-main{grid-template-columns:1fr;gap:36px}.cta-inner{flex-direction:column;align-items:start;padding:40px 0;gap:26px}.cta h2{font-size:30px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px;padding:45px 0}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:5px}.page-intro{padding:40px 0 30px}.detail-top{grid-template-columns:1fr;gap:30px}.detail-top .project-art{height:440px;order:2}.detail-content{grid-template-columns:1fr;gap:25px}.related-grid{grid-template-columns:1fr 1fr}.related-grid .project-card:last-child{display:none}.service-detail{grid-template-columns:1fr;gap:20px;padding:28px}.service-detail .service-icon{margin-bottom:15px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-info{padding:28px}.contact-form{gap:18px}}
@media(max-width:480px){.hero h1{font-size:40px}.hero .eyebrow{font-size:10px;letter-spacing:.14em}.button-row .button{width:100%}.button-row .outline{padding:11px 18px}.intro-line .container{gap:8px;font-size:10px}.hero-visual{min-height:280px}.hero-visual img{max-height:270px}.projects-grid{grid-template-columns:1fr}.project-card,.project-card.featured{grid-column:auto}.project-card.featured .project-art{height:340px}.project-card .project-art{height:270px}.section-head h2{font-size:32px}.filter{font-size:12px;padding:8px 13px}.process-grid{gap:20px}.process-item h3{font-size:21px}.step-number{margin-bottom:18px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.detail-top .project-art{height:370px}.related-grid{grid-template-columns:1fr}.related-grid .project-card:last-child{display:block}.form-row{grid-template-columns:1fr}.technical-panel{padding:28px}.page-intro h1{font-size:39px}.contact-grid{padding-bottom:55px}.cta .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Integração com blocos nativos. */
.wp-site-blocks{padding:0}.wp-site-blocks>main{margin:0}body .wp-site-blocks>.wp-block-template-part{margin:0}.wp-block-post-content{margin:0!important;max-width:none!important}.wp-block-post-content>.wp-block-group{max-width:none!important}.wp-block-image{margin:0}.project-art .wp-block-image{height:100%;width:100%}.project-art .wp-block-image img{height:100%;width:100%;object-fit:contain}.hero-visual .wp-block-image{width:100%}.hero-grid>.wp-block-group{min-width:0}.button-row>.wp-block-buttons{margin:0}.cw-button .wp-block-button__link{border:1px solid #083a65;transition:transform .2s,background .2s}.cw-button .wp-block-button__link:hover{background:#062d50;transform:translateY(-2px)}.cw-button.is-style-outline .wp-block-button__link{background:white;color:#083a65;border:1px solid #99afc2}.cta .cw-button .wp-block-button__link{background:white;color:#083a65}.header .header-inner{min-height:94px}.header .brand{margin:0}.header .brand img{max-height:65px;object-fit:contain}.header .wp-block-navigation{font-size:15px;gap:30px}.header .wp-block-navigation-item__label{white-space:nowrap}.footer .wp-block-heading{font-size:15px;letter-spacing:0}.footer .wp-block-group p{font-size:14px;color:#52677b}.detail-top{padding-top:20px}.cw-zoom{cursor:zoom-in}.cw-detail-extra img{max-height:350px;object-fit:contain}.wp-block-post-content .project-card[hidden]{display:none!important}.hero-visual .image-caption{margin:0}.project-code{margin-bottom:12px!important}.section>.container>h2{margin-bottom:22px}.projects-grid,.service-grid{margin-top:30px}.text-link a:hover{text-decoration:underline}.project-art{margin:0}.project-body>p.text-link{margin-bottom:0}.project-body>h3{margin-top:0}.cta .cta-inner>.wp-block-group:first-child{max-width:760px}.cta .wp-block-buttons{flex-shrink:0}.wp-block-navigation__responsive-container.is-menu-open{padding:30px}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:flex-start;padding-top:45px}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{font-size:22px}.wp-block-template-part.cw-header{position:sticky;top:0;z-index:30;background:white}body.admin-bar .wp-block-template-part.cw-header{top:32px}.header{position:relative}.wp-block-navigation__responsive-container-close{background:transparent;color:#083a65}dialog.cw-viewer{width:min(1000px,94vw);padding:20px}dialog.cw-viewer img{max-height:75vh;object-fit:contain}dialog.cw-viewer .viewer-toolbar{justify-content:space-between}.technical-panel .wp-block-image img{max-height:250px;object-fit:contain}.footer-bottom p{margin:0;font-size:12px}.wp-block-group.container{width:min(calc(100% - 80px),1240px);margin-left:auto;margin-right:auto}.wp-block-template-part a:focus-visible{outline:3px solid #2c87bf}.editor-styles-wrapper .hero-grid,.editor-styles-wrapper .detail-top,.editor-styles-wrapper .about-main{display:grid}.editor-styles-wrapper .wp-block-group{box-sizing:border-box}.wp-block-heading{overflow-wrap:normal}
@media(max-width:1050px){.wp-block-group.container{width:calc(100% - 48px)}}
@media(max-width:780px){.wp-block-group.container{width:calc(100% - 38px)}.header .header-inner{min-height:77px}.header .brand{width:163px}.header .wp-block-navigation{margin-left:auto;display:flex}.header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}.header .wp-block-navigation__responsive-container-open{display:flex}.header .header-cta{display:none}.footer .wp-block-group{min-width:0}.cta-inner .wp-block-buttons{width:100%}body.admin-bar .wp-block-template-part.cw-header{top:46px}.detail-top{padding-top:0}}
@media(max-width:600px){body.admin-bar .wp-block-template-part.cw-header{top:0}}
.header nav.wp-block-navigation{position:static;padding:0;box-shadow:none;border:0;background:transparent;flex-direction:row;align-items:center;gap:0}
