:root{--black:#0A0A0A;--yellow:#F5A623;--hover:#E28E0F;--white:#FFFFFF;--gray:#F5F4F1;--text:#6B6B6B;--line:#E7E2D8;--wa:#25D366;--shadow:0 16px 45px rgba(10,10,10,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:var(--white);line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}.container{width:min(1160px,calc(100% - 32px));margin-inline:auto}.skip-link{position:absolute;left:-999px;top:8px;background:var(--yellow);color:var(--black);padding:8px;z-index:30}.skip-link:focus{left:8px}.site-header{position:sticky;top:0;z-index:20;background:var(--black);color:var(--white);box-shadow:0 8px 24px rgba(0,0,0,.18)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:66px}.brand{font-size:1.35rem;font-weight:950;letter-spacing:-.04em;color:var(--white);line-height:1}.brand span{color:var(--yellow)}.ej-site-brand{display:inline-flex;align-items:center;min-width:0}.ej-brand-text{display:inline-block;text-transform:uppercase}.ej-header-logo{width:auto;max-width:176px;max-height:46px;object-fit:contain}.ej-footer-logo{width:auto;max-width:180px;max-height:64px;object-fit:contain}.main-nav{position:absolute;inset:66px 0 auto 0;display:none;flex-direction:column;gap:6px;background:var(--black);padding:16px 24px;border-top:1px solid rgba(255,255,255,.08)}.main-nav.is-open{display:flex}.primary-menu-list{display:contents;list-style:none;margin:0;padding:0}.primary-menu-list li{display:contents}.main-nav a{padding:10px 0;color:#ddd;font-size:.84rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.main-nav a:hover{color:var(--yellow)}.menu-toggle{display:grid;gap:5px;background:transparent;border:0;padding:8px}.menu-toggle span:not(.screen-reader-text){display:block;width:26px;height:2px;background:var(--white)}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden}.header-cta{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:12px 20px;min-height:46px;font-weight:950;text-transform:uppercase;letter-spacing:.05em;border:2px solid transparent;transition:.2s ease}.btn--yellow{background:var(--yellow);color:var(--black);box-shadow:0 12px 28px rgba(245,166,35,.25)}.btn--yellow:hover{background:var(--hover)}.btn--ghost{border-color:rgba(255,255,255,.32);color:var(--white)}.btn--ghost:hover{border-color:var(--yellow);color:var(--yellow)}.btn--dark{background:var(--black);color:var(--white)}.btn--dark:hover{background:#252525}.hero{position:relative;z-index:0;background:var(--black);color:var(--white);padding:48px 0 78px;overflow:hidden}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(245,166,35,.14),transparent 32%),linear-gradient(90deg,rgba(255,255,255,.05),transparent 52%);pointer-events:none}.hero-grid{position:relative;z-index:2;display:grid;gap:30px;align-items:center}.eyebrow{margin:0 0 10px;color:var(--yellow);font-weight:950;text-transform:uppercase;letter-spacing:.16em;font-size:.75rem}.hero h1,.section h2,.contact h2{margin:0;color:inherit;text-transform:uppercase;font-size:clamp(2.25rem,10vw,4.95rem);line-height:.92;letter-spacing:-.055em}.hero h1::first-line,.section h2::first-line{color:var(--yellow)}.hero p{font-size:1rem;color:#ddd;max-width:560px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.hero-badges{display:grid;grid-template-columns:1fr;gap:10px;margin-top:24px;max-width:610px}.hero-badges span{display:flex;align-items:center;gap:10px;color:#f6f6f6;font-weight:850;text-transform:uppercase;font-size:.78rem;letter-spacing:.04em}.hero-badges svg,.card-icon svg,.features-grid svg,.step-icon svg,.about-mark svg,.whatsapp-float svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hero-badges svg{color:var(--yellow);flex:0 0 auto}.hero-media.ej-hero-media{position:relative;display:grid;place-items:center;aspect-ratio:16/11;min-height:260px;border:1px solid rgba(255,255,255,.12);border-radius:26px;background:#151515;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.36)}.hero-media.ej-hero-media::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(245,166,35,.18),transparent 38%);pointer-events:none}.ej-hero-media .ej-hero-image{position:relative;width:100%;height:100%;object-fit:contain;object-position:center center;padding:10px}.image-placeholder{display:grid;place-items:center;height:100%;width:100%;padding:24px;background:repeating-linear-gradient(135deg,#1b1b1b,#1b1b1b 14px,#242424 14px,#242424 28px);color:var(--yellow);font-weight:950;text-transform:uppercase}.ej-hero-placeholder{min-height:100%}.hero-slash{position:absolute;z-index:1;top:0;right:0;width:min(38vw,380px);height:100%;background:var(--yellow);clip-path:polygon(42% 0,100% 0,100% 100%,8% 100%);opacity:.9;pointer-events:none}.section{padding:58px 0}.section--gray{background:var(--gray)}.section-heading{max-width:720px;margin-bottom:28px}.section-heading--center{text-align:center;margin-inline:auto}.section-heading h2{color:var(--black);font-size:clamp(1.9rem,6vw,3.35rem)}.section-heading p:not(.eyebrow){margin:12px auto 0;max-width:680px}.card-grid,.features-grid,.steps-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-card,.features-grid article,.steps-grid article,.faq-item{position:relative;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.service-card{display:flex;flex-direction:column;min-height:210px;overflow:hidden}.service-card::after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:4px;background:var(--yellow);border-radius:999px 999px 0 0}.card-icon,.features-grid span,.step-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(245,166,35,.14);color:var(--black);border:1px solid rgba(245,166,35,.42)}.service-card h3,.features-grid h3,.steps-grid h3{margin:14px 0 8px;color:var(--black);line-height:1.12;text-transform:uppercase;font-size:1rem}.service-card p,.features-grid p,.steps-grid p{margin:0;font-size:.92rem}.features-grid article{text-align:center}.features-grid span{margin-inline:auto;border-radius:50%;background:var(--yellow)}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-grid .ej-work-card{display:block;margin:0;border-radius:18px;overflow:hidden;background:var(--black);aspect-ratio:4/3;min-height:0;box-shadow:var(--shadow)}.ej-work-media{width:100%;height:100%}.ej-work-image{width:100%;height:100%;object-fit:cover;object-position:center center}.ej-work-placeholder{min-height:0;color:var(--yellow)}.about{position:relative;background:var(--black);color:var(--white);overflow:hidden}.about::before{content:"";position:absolute;right:-120px;top:-120px;width:320px;height:320px;border:44px solid rgba(245,166,35,.08);border-radius:50%}.about-grid{position:relative;display:grid;gap:24px;align-items:center}.about h2{font-size:clamp(2rem,6vw,3.55rem)}.about p:not(.eyebrow){font-size:1rem;color:#d7d7d7}.about-mark{display:grid;place-items:center;gap:16px;min-height:220px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:linear-gradient(135deg,rgba(245,166,35,.16),rgba(255,255,255,.04));text-align:center;color:var(--yellow);font-weight:950;text-transform:uppercase}.about-mark svg{width:78px;height:78px}.process-section{background:var(--white)}.steps-grid{counter-reset:steps}.steps-grid article{padding-top:22px;text-align:center}.step-icon{margin-inline:auto;margin-top:0;width:54px;height:54px}.faq-wrap{max-width:1120px}.faq-grid{display:grid;gap:12px}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;background:transparent;border:0;padding:0;color:var(--black);font-size:.98rem;font-weight:950;text-align:left;cursor:pointer;text-transform:uppercase}.faq-question span{display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:var(--yellow);color:var(--black);font-size:1.25rem;line-height:1}.faq-answer{padding-top:12px}.faq-answer p{margin:0}.contact{padding:58px 0;background:var(--yellow);color:var(--black)}.contact-grid{display:grid;gap:24px;align-items:center}.contact .eyebrow{color:var(--black)}.contact h2{color:var(--black)}.contact-form{display:grid;gap:12px;background:var(--white);padding:18px;border:1px solid rgba(10,10,10,.08);border-radius:20px;box-shadow:0 18px 50px rgba(10,10,10,.18)}.contact-form label{display:grid;gap:5px;font-weight:850;color:var(--black)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #d8d4ca;border-radius:10px;padding:11px 12px;font:inherit;color:var(--black);background:#fff}.contact-form textarea{min-height:104px;resize:vertical}.contact-form-status{border-radius:12px;background:#fff7e8;color:#5c3900;border:1px solid rgba(245,166,35,.55);padding:12px;font-weight:850}.site-footer{background:var(--black);color:var(--white);padding:38px 0 22px}.footer-grid{display:grid;gap:22px}.site-footer strong{display:block;margin-bottom:8px;color:var(--yellow);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}.site-footer p,.site-footer a{color:#cfcfcf}.footer-bottom{margin-top:24px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);color:#aaa;font-size:.9rem}.whatsapp-float{position:fixed;right:18px;bottom:18px;z-index:21;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--wa);color:var(--white);box-shadow:0 12px 30px rgba(37,211,102,.35)}.whatsapp-float svg{width:30px;height:30px;stroke-width:1.7}
@media (min-width:640px){.hero-badges{grid-template-columns:repeat(3,minmax(0,1fr))}.faq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:760px){.header-cta{display:inline-flex}.menu-toggle{display:none}.main-nav{position:static;display:flex;flex-direction:row;align-items:center;justify-content:center;background:transparent;padding:0;border:0;gap:18px;flex:1}.hero{padding:82px 0 108px}.hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr 1fr}.hero-grid{gap:46px}.hero-media.ej-hero-media{aspect-ratio:1/1;min-height:430px}.services-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.features-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.features-grid article{padding:16px 12px}.gallery-grid{grid-template-columns:1.2fr 1fr 1fr;grid-auto-rows:180px}.gallery-grid .ej-work-card{aspect-ratio:auto}.gallery-grid .ej-work-card:nth-child(1),.gallery-grid .ej-work-card:nth-child(4){grid-row:span 2}.steps-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.steps-grid article:not(:last-child)::after{content:"→";position:absolute;right:-17px;top:48px;color:var(--yellow);font-size:1.8rem;font-weight:950}.footer-grid{grid-template-columns:2fr 1fr 1fr}.section{padding:70px 0}.contact{padding:72px 0}}
@media (max-width:420px){.card-grid,.features-grid,.steps-grid,.gallery-grid{grid-template-columns:1fr}}
@media (min-width:1024px){.section .eyebrow,.contact .eyebrow{font-size:clamp(1rem,1.3vw,1.3rem);line-height:1.2;letter-spacing:.16em;font-weight:800}.section-heading h2{font-size:3.65rem;line-height:1.05}.service-card .card-icon{width:72px;height:72px;border-radius:18px}.service-card .card-icon svg{width:44px;height:44px}.steps-grid .step-icon{width:84px;height:84px;border-radius:22px}.steps-grid .step-icon svg{width:48px;height:48px}.service-card h3{margin-top:18px}.steps-grid article{padding-top:28px}.steps-grid article:not(:last-child)::after{top:62px}}
@media (min-width:1080px){.hero h1{font-size:5.35rem}.main-nav{gap:24px}.features-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-grid{grid-auto-rows:210px}}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.footer-legal{display:flex;flex-wrap:wrap;gap:12px}.footer-credit a,.footer-legal a{font-weight:850}.footer-credit a{color:var(--yellow)}.legal-page{background:var(--gray);color:var(--text);padding-top:74px}.legal-page__content{max-width:860px}.legal-page h1{margin:0 0 24px;color:var(--black);text-transform:uppercase;font-size:clamp(2rem,6vw,3.4rem);line-height:1}.legal-page__body{display:grid;gap:14px;background:var(--white);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow)}.legal-page__body p{margin:0}.cookie-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:40;display:grid;gap:14px;max-width:720px;margin-inline:auto;padding:16px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:var(--black);color:var(--white);box-shadow:0 18px 55px rgba(0,0,0,.35)}.cookie-consent[hidden]{display:none}.cookie-consent p{margin:0;color:#ededed}.cookie-consent a{color:var(--yellow);font-weight:850}.cookie-consent__actions{display:flex;flex-wrap:wrap;gap:10px}.cookie-consent__actions .btn{min-height:42px;padding:10px 16px}.cookie-consent__actions .btn--ghost{background:transparent;color:var(--white)}
.cookie-consent h2{margin:0;color:var(--white);font-size:1rem;text-transform:uppercase}.cookie-consent__main{display:grid;gap:8px}.cookie-consent__choices{display:grid;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.05)}.cookie-consent__choices label{display:flex;gap:10px;align-items:center;color:#f5f5f5;font-weight:850}.footer-cookie-link{appearance:none;border:0;background:transparent;color:#cfcfcf;font:inherit;font-weight:850;padding:0;cursor:pointer}.footer-cookie-link:hover,.footer-cookie-link:focus{color:var(--yellow)}

/* Legal pages mobile readability: scoped only to configured legal page IDs via page.php classes. */
.legal-page.legal-page--privacy,.legal-page.legal-page--terms{padding:42px 0 calc(98px + env(safe-area-inset-bottom));background:var(--gray);color:var(--text);overflow-x:hidden}.legal-page--privacy .legal-page__content,.legal-page--terms .legal-page__content{width:min(100% - 36px,860px);max-width:860px;margin-inline:auto}.legal-page--privacy h1,.legal-page--terms h1{max-width:18ch;margin:0 0 22px;color:var(--black);font-size:clamp(1.8rem,8vw,2.2rem);line-height:1.1;text-transform:none;letter-spacing:-.03em;overflow-wrap:anywhere;hyphens:auto}.legal-page--privacy .legal-page__body,.legal-page--terms .legal-page__body{display:block;background:var(--white);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 10px 28px rgba(10,10,10,.06);max-width:100%;overflow-x:hidden}.legal-page--privacy .legal-page__body h2,.legal-page--terms .legal-page__body h2{margin:30px 0 12px;color:var(--black);font-size:clamp(1.35rem,6vw,1.6rem);line-height:1.2;font-weight:900;text-transform:none;letter-spacing:0;overflow-wrap:anywhere;hyphens:auto}.legal-page--privacy .legal-page__body h2:first-child,.legal-page--terms .legal-page__body h2:first-child{margin-top:0}.legal-page--privacy .legal-page__body h3,.legal-page--terms .legal-page__body h3{margin:24px 0 10px;color:var(--black);font-size:1.18rem;line-height:1.25;font-weight:850;text-transform:none;letter-spacing:0}.legal-page--privacy .legal-page__body h4,.legal-page--privacy .legal-page__body h5,.legal-page--privacy .legal-page__body h6,.legal-page--terms .legal-page__body h4,.legal-page--terms .legal-page__body h5,.legal-page--terms .legal-page__body h6{margin:20px 0 8px;color:var(--black);font-size:1.05rem;line-height:1.3;font-weight:800;text-transform:none;letter-spacing:0}.legal-page--privacy .legal-page__body p,.legal-page--terms .legal-page__body p{margin:0 0 16px;font-size:1rem;line-height:1.65;color:#3f3f3f;overflow-wrap:anywhere;hyphens:auto}.legal-page--privacy .legal-page__body ul,.legal-page--privacy .legal-page__body ol,.legal-page--terms .legal-page__body ul,.legal-page--terms .legal-page__body ol{margin:0 0 18px;padding-left:1.25rem;font-size:1rem;line-height:1.62;color:#3f3f3f;overflow-wrap:anywhere}.legal-page--privacy .legal-page__body li+li,.legal-page--terms .legal-page__body li+li{margin-top:8px}.legal-page--privacy .legal-page__body a,.legal-page--terms .legal-page__body a{color:var(--black);font-weight:850;text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:2px;text-underline-offset:3px;overflow-wrap:anywhere}.legal-page--privacy .legal-page__body a:hover,.legal-page--privacy .legal-page__body a:focus,.legal-page--terms .legal-page__body a:hover,.legal-page--terms .legal-page__body a:focus{color:var(--hover);outline:2px solid transparent;text-decoration-color:currentColor}@media (min-width:760px){.legal-page.legal-page--privacy,.legal-page.legal-page--terms{padding-top:74px;padding-bottom:96px}.legal-page--privacy h1,.legal-page--terms h1{max-width:none;margin-bottom:24px;font-size:clamp(2rem,6vw,3.4rem);line-height:1;text-transform:uppercase;letter-spacing:-.04em}.legal-page--privacy .legal-page__body,.legal-page--terms .legal-page__body{display:grid;gap:14px;padding:24px;box-shadow:var(--shadow)}.legal-page--privacy .legal-page__body p,.legal-page--terms .legal-page__body p{margin:0}.legal-page--privacy .legal-page__body h2,.legal-page--terms .legal-page__body h2{font-size:1.7rem;line-height:1.18}}

/* v1.7.7: mobile/tablet hero contrast and legal-document WhatsApp spacing. */
@media (max-width:1023px){.hero{isolation:isolate}.hero-copy{position:relative;z-index:3}.hero h1{color:var(--white)}.hero h1::first-line{color:var(--white)}.hero-slash{z-index:0;right:-24vw;width:min(30vw,190px);transform:skewX(-3deg);opacity:.82}}
@media (max-width:759px){.hero-slash{right:-42vw;width:64vw;opacity:.58}.hero-copy{max-width:100%}}

/* v1.7.8: legal-page WhatsApp CTA stays in document flow on mobile. */
body.legal-document .legal-page{padding-bottom:32px}
.legal-whatsapp-cta{display:flex;align-items:center;justify-content:center;width:100%;padding:22px 18px calc(28px + env(safe-area-inset-bottom));background:var(--gray);overflow-x:hidden}
.legal-whatsapp-cta .whatsapp-float{position:static;right:auto;bottom:auto;flex:0 0 58px}
@media (min-width:1024px){.legal-whatsapp-cta{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:21;width:auto;padding:0;background:transparent;overflow:visible}}

/* v1.7.9: accessible ochre labels on light section backgrounds. */
#servicos .eyebrow,.section--gray:not(#faq) .eyebrow,#trabalhos .eyebrow,.process-section .eyebrow,#faq .eyebrow{color:#8a5700}
