/* JB — revision 3. Layout, imagery and hierarchy tailored to each service. */
@property --edge-angle { syntax:'<angle>'; initial-value:110deg; inherits:false; }
.button { position:relative; isolation:isolate; min-height:56px; padding:17px 22px; border:1px solid transparent; border-radius:7px; background:linear-gradient(120deg,#2563eb,#1c4eb8) padding-box,conic-gradient(from var(--edge-angle),#2563eb,#bbd9ff,#2563eb,#639dff,#2563eb) border-box; box-shadow:0 7px 20px #2563eb24,0 0 0 3px #2563eb0a; transition:transform .18s,box-shadow .18s; }
.button::before { content:''; position:absolute; inset:-2px; border-radius:9px; border:1px solid #84b8ff60; pointer-events:none; }
.button:hover,.button:focus-visible { color:white; background:linear-gradient(120deg,#2563eb,#143a8b) padding-box,conic-gradient(from var(--edge-angle),#2563eb,#dceeff,#2563eb,#639dff,#2563eb) border-box; box-shadow:0 10px 28px #2563eb38,0 0 16px #72adff35; transform:translateY(-2px); animation:edge-turn 1.3s linear 1; }
@keyframes edge-turn { to { --edge-angle:470deg; } }
.design-v3 { --ink:#172338; --muted:#526071; --line:#dce4ef; --container:1180px; color:var(--ink); font-size:18px; }
.design-v3 .container { width:min(var(--container),calc(100% - 96px)); }
.design-v3 h1,.design-v3 h2,.design-v3 h3 { font-weight:700; letter-spacing:-.025em; }
.design-v3 h1 { font-size:54px; line-height:1.13; margin-bottom:26px; max-width:none; text-wrap:balance; }
.design-v3 h1 span { font:inherit; color:var(--blue); letter-spacing:inherit; }
.design-v3 h2 { font-size:38px; line-height:1.2; margin-bottom:24px; text-wrap:balance; }
.design-v3 h3 { font-size:22px; line-height:1.35; letter-spacing:-.015em; }
.design-v3 p { line-height:1.7; }
.design-v3 .site-header { height:92px; }
.design-v3 .brand,.design-v3 .brand img { width:76px; height:76px; }
.design-v3 .site-nav a { font-weight:500; font-size:14px; color:#435269; }
.design-v3 .site-nav a:hover { color:var(--blue); }
.design-v3 .header-contact { padding:11px 17px; border:1px solid #d1ddf0; border-radius:6px; color:var(--deep); background:#f8faff; }
.design-v3 .header-contact:hover { background:#eef4ff; }
.design-v3 .hero { position:relative; padding:78px 0 80px; overflow:hidden; }
.design-v3 .hero-grid { display:block; min-height:0; }
.design-v3 .hero-copy { padding:0; position:relative; z-index:2; }
.design-v3 .hero-copy>p { font-size:18px; max-width:540px; margin-bottom:30px; }
.design-v3 .hero-copy .coverage { font-size:13px; line-height:1.6; margin:22px 0 0; max-width:455px; }
.design-v3 .hero-copy .coverage .icon { width:16px; height:18px; }
.hero-background { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.hero-background img { width:100%; height:100%; object-fit:cover; }
/* Installation: natural white space, photograph as atmosphere, one quiet air effect. */
.hero-installation { background:#f8faff; min-height:650px; display:flex; align-items:center; }
.hero-installation .hero-copy { max-width:610px; }
.installation-background { left:40%; display:flex; align-items:center; background:#f0f3f8; }
.installation-background .ambient-equipment { width:100%; min-width:650px; height:auto; transform:translateX(2%); }
.installation-background::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#f8faff 0%,#f8faffc9 17%,#f8faff10 42%,transparent 70%),linear-gradient(0deg,#f8faff 0%,transparent 16%); }
.ambient-air { fill:none; stroke:#2563eb; stroke-width:1.4; opacity:.2; }
.ambient-air path { stroke-dasharray:38 14; }

.ambient-air path:nth-child(2) { opacity:.7; }
.ambient-air path:nth-child(3) { opacity:.4; }

/* Maintenance: full photographic background with a controlled blue overlay. */
.hero-maintenance { background:#10294f; min-height:660px; display:flex; align-items:center; color:white; }
.hero-maintenance .hero-copy { max-width:635px; }
.hero-maintenance h1 { font-size:52px; }
.hero-maintenance h1 span { color:#c0d8ff; }
.maintenance-background { left:29%; }
.maintenance-background img { object-position:54% 55%; }
.maintenance-background::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#10294f 0%,#10294feb 21%,#10294f65 56%,#10294f24),linear-gradient(0deg,#10294f55,transparent 70%); }
.hero-maintenance .hero-copy>p { color:#e1e9f4; max-width:565px; }
.hero-maintenance .hero-copy .coverage { color:#d4e1f3; }
.hero-maintenance .coverage .icon { color:#a2c6ff; }
.hero-maintenance .button { background:linear-gradient(120deg,#2868e9,#2563eb) padding-box,linear-gradient(100deg,#9bc3ff,#437afa) border-box; box-shadow:0 6px 25px #040f2425,0 0 18px #649cf92a; }
.hero-secondary { display:inline-flex; align-items:center; gap:12px; color:#e3edff; text-decoration:none; font-size:13px; margin-top:29px; padding-bottom:4px; border-bottom:1px solid #b4cff84d; }
.hero-secondary:hover { color:white; border-color:white; }
/* PMOC: editorial opening, complete headline and a clear service summary. */
.hero-pmoc { text-align:center; background:radial-gradient(ellipse at 50% 0%,#ebf2ff 0%,#f8faff 47%,white 80%); border-bottom:1px solid #e8edf5; }
.hero-pmoc .hero-copy { max-width:830px; margin:auto; }
.hero-pmoc h1 { font-size:54px; }
.hero-pmoc .hero-copy>p { max-width:710px; margin:0 auto 24px; }
.hero-pmoc .hero-copy .definition { border:0; padding:0; font-size:14px; color:#526681; margin-bottom:28px; }
.hero-pmoc .hero-copy .coverage { max-width:510px; margin:24px auto 0; justify-content:center; text-align:left; }
.pmoc-summary { display:grid; grid-template-columns:repeat(3,1fr); max-width:970px; margin:54px auto 0; border-top:1px solid #dbe5f4; padding-top:28px; gap:25px; text-align:left; }
.pmoc-summary>div { display:flex; align-items:center; justify-content:center; gap:12px; font-size:15px; color:#243c61; }
.summary-symbol { color:var(--blue); width:25px; height:25px; background:#eaf1ff; display:grid; place-items:center; border-radius:50%; font-size:13px; flex:none; }
/* Useful content, without the numbered headings from the production outline. */
.design-v3 .section { padding:88px 0; }
.design-v3 .section-heading { gap:70px; margin-bottom:38px; }
.design-v3 .section-heading.single { max-width:760px; }
.design-v3 .section-heading h2 { margin-bottom:0; }
.design-v3 .section-heading p { font-size:17px; }
.design-v3 .service-card { background:#fff; padding:32px; border:1px solid #dee6f0; border-radius:10px; box-shadow:0 12px 30px #183c6808; transition:transform .2s,box-shadow .2s; }
.design-v3 .service-card::before { display:none; }
.design-v3 .service-card:hover { transform:translateY(-4px); box-shadow:0 16px 35px #183c6814; }
.design-v3 .card-icon { display:grid; place-items:center; width:46px; height:46px; background:#edf3ff; border-radius:10px; color:var(--blue); margin-bottom:25px; }
.design-v3 .card-icon .icon { width:25px; height:25px; }
.design-v3 .service-card h3 { font-size:21px; margin-bottom:14px; }
.design-v3 .service-card p { font-size:16px; }
.design-v3 .support-note { border:0; border-radius:8px; padding:23px 27px; background:#f3f6fb; font-size:15px; margin-top:30px; }
.design-v3 .support-note p { margin:0; }
.services-maintenance { background:#f4f7fc; }
.services-maintenance .section-heading { max-width:650px!important; margin:auto auto 40px; text-align:center; }
.maintenance-services { gap:22px!important; }
.maintenance-services .service-card { display:grid; grid-template-columns:48px 1fr; column-gap:22px; padding:34px; }
.maintenance-services .card-icon { grid-row:1/3; margin:0; }
.maintenance-services .service-card h3 { grid-column:2; }
.maintenance-services .service-card p { grid-column:2; }
.services-pmoc .section-heading { max-width:680px!important; margin:auto auto 38px; text-align:center; }
.services-pmoc .service-card { border-radius:0; border:0; border-left:2px solid #dce7f8; box-shadow:none; padding:5px 28px 8px; }
.services-pmoc .service-card:hover { box-shadow:none; transform:none; }
.services-pmoc .card-icon { background:transparent; padding:0; width:28px; height:28px; margin-bottom:20px; }
.pmoc-scope { background:#143a8b; color:white; }
.pmoc-scope .section-heading { max-width:700px!important; margin-bottom:40px; }
.pmoc-scope .deliverables { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.pmoc-scope .deliverable { padding:30px 32px; background:#fff; color:var(--ink); border:1px solid #e8eef9; border-radius:9px; box-shadow:0 12px 28px #00183b25; }
.pmoc-scope .deliverable::before { display:none; }
.pmoc-scope .deliverable .card-icon { margin-bottom:22px; }
.pmoc-scope .deliverable h3 { font-size:22px; margin-bottom:14px; }
.pmoc-scope .deliverable p { font-size:16px; margin:0; }
.pmoc-scope .support-note { background:#ffffff0a; color:#e5eeff; border:1px solid #ffffff26; margin-top:25px; }
.pmoc-scope .support-note p { color:#e5eeff; }
/* Responsibility is presented as verified text, not an unrelated stock portrait. */
.design-v3 .authority-box { background:transparent; border:0; padding:0; gap:80px; grid-template-columns:1.2fr .8fr; border-radius:0; align-items:center; }
.design-v3 .authority-box p { font-size:17px; }
.design-v3 .authority-box .button { margin-top:12px; }
.design-v3 .authority-person { background:#f5f8fd; border:1px solid #dde6f3; border-radius:10px; padding:36px; box-shadow:0 14px 35px #112c5210; }
.design-v3 .authority-person>.icon { width:34px; height:34px; margin-bottom:24px; }
.design-v3 .authority-person .eyebrow { font:500 13px/1.5 Plex; letter-spacing:0; text-transform:none; margin-bottom:16px; gap:0; }
.design-v3 .authority-person .eyebrow::before { display:none; }
.design-v3 .authority-person h3 { font-size:28px; line-height:1.28; margin-bottom:17px; }
.design-v3 .authority-person .role { font-size:15px; margin:0; color:#47617f; }
.authority-installation { background:#143a8b; color:white; }
.authority-installation .authority-box p { color:#e1eaff; }
.authority-installation .authority-person { background:#ffffff0b; border-color:#ffffff30; box-shadow:none; }
.authority-installation .authority-person>.icon,.authority-installation .authority-person .eyebrow { color:#bdd8ff; }
.authority-installation .authority-person .role { color:#e1eaff; }
.authority-maintenance { background:white; }
.authority-pmoc { background:#f6f8fc; }
.authority-pmoc .authority-person { background:white; border-top:3px solid var(--blue); }
.design-v3 .process-layout { gap:80px; }
.design-v3 .process-intro h2 { max-width:none; }
.design-v3 .budget-note p { font-size:16px; }
.design-v3 .step { grid-template-columns:42px 1fr; gap:20px; padding-bottom:27px; margin-bottom:27px; }
.design-v3 .step::before { content:attr(data-step); display:grid; place-items:center; width:36px; height:36px; padding:0; border-radius:50%; background:#edf3ff; color:var(--blue); font-size:15px; font-weight:600; }
.design-v3 .step h3 { font-size:21px; margin-bottom:12px; }
.design-v3 .step p { font-size:16px; }
.process-installation { display:block!important; }
.process-installation .process-intro { max-width:700px; margin-bottom:38px; }
.process-installation .steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.process-installation .step { display:block; border:0; border-top:1px solid #dce4ef; padding:26px 0 0; margin:0; }
.process-installation .step::before { margin-bottom:20px; }
.process-pmoc .process-intro { background:#edf3fd; border-radius:10px; padding:34px; align-self:start; }
.design-v3 .faq-section { background:#fafbfd; border-top:0; }
.design-v3 .faq-layout { gap:80px; }
.design-v3 .faq-list details { background:white; border:1px solid #dfe6ef; border-radius:8px; margin-bottom:12px; padding:0 24px; }
.design-v3 .faq-list summary { font-size:17px; padding:21px 30px 21px 0; }
.design-v3 .faq-list summary::after { top:19px; right:0; }
.design-v3 .faq-list details[open] { border-color:#9bb8ed; box-shadow:0 5px 18px #17447b08; }
.design-v3 .faq-answer { padding-right:12px; }
.design-v3 .guide-link { background:#eaf1ff; border-radius:8px; font-size:15px; }
.design-v3 .closing { padding:78px 0; background:white; }
.design-v3 .closing-box { background:#143a8b; color:white; padding:52px; border:0; border-radius:12px; position:relative; overflow:hidden; isolation:isolate; gap:55px; box-shadow:0 18px 42px #143a8b16; }
.design-v3 .closing-box h2 { font-size:34px; }
.design-v3 .closing-box p { color:#e3ecff; }
.design-v3 .closing-action small { color:#d5e4ff; font-size:13px; line-height:1.6; }
.design-v3 .closing-action .button { font-size:15px; gap:16px; }
.closing-photo { position:absolute; inset:0; z-index:-1; background:linear-gradient(95deg,#143a8bfa,#143a8bf0 45%,#143a8bbf),url(images/split-real.jpg) right center/cover; }
.closing-maintenance { background:linear-gradient(120deg,#10294f,#143a8b)!important; }
.closing-pmoc { background:linear-gradient(95deg,#143a8bfa,#143a8bec 45%,#143a8bc4),url(images/hvac-rooftop.webp) center 42%/cover!important; }
.design-v3 .site-footer { padding-top:40px; }
.design-v3 .footer-brand p { color:#5e6b7c; }
.review-cover { width:calc(100% + 56px); max-width:none; height:210px; object-fit:cover; margin:-28px -28px 25px; }
.review-card { overflow:hidden; }
.credits-page { max-width:900px; margin:70px auto; padding:24px; }
.credits-page li { margin-bottom:20px; }
.credits-page h1 { font-size:40px; }
@media(min-width:960px) and (max-width:1199px) {
 .design-v3 h1,.hero-maintenance h1,.hero-pmoc h1 { font-size:46px; }
 .hero-installation .hero-copy { max-width:510px; }
 .hero-maintenance .hero-copy { max-width:565px; }
 .installation-background { left:35%; }
 .design-v3 .hero-copy>p { max-width:470px; }
 .design-v3 .authority-box,.design-v3 .process-layout,.design-v3 .faq-layout { gap:45px; }
 .design-v3 .closing-box { padding:38px; gap:35px; }
 .design-v3 .closing-action .button { font-size:13px; padding:17px; }
 .design-v3 .site-nav { gap:20px; }
 .design-v3 .header-inner { gap:20px; }
 .design-v3 h2 { font-size:34px; }
}
@media(max-width:959px) {
 .design-v3 { font-size:16px; }
 .design-v3 .container { width:calc(100% - 48px); }
 .design-v3 .site-header { height:auto; min-height:84px; }
 .design-v3 .header-inner { min-height:84px; }
 .design-v3 .brand,.design-v3 .brand img { width:68px; height:68px; }
 .design-v3 .header-contact { padding:9px 12px; margin-right:14px; font-size:12px; }
 .design-v3 .site-nav a { font-size:13px; }
 .design-v3 h1,.hero-maintenance h1,.hero-pmoc h1 { font-size:clamp(34px,5.4vw,46px); line-height:1.16; letter-spacing:-.025em; }
 .design-v3 h2 { font-size:30px; line-height:1.22; }
 .design-v3 h3 { font-size:22px; }
 .design-v3 .hero { padding:50px 0 54px; min-height:0; }
 .design-v3 .hero-copy { max-width:680px; }
 .design-v3 .hero-copy>p { font-size:17px; max-width:650px; margin-bottom:26px; }
 .design-v3 .hero-copy .coverage { font-size:12px; max-width:455px; margin-top:20px; }
 .design-v3 .hero-installation { padding-bottom:300px; }
 .installation-background { left:0; top:auto; height:300px; background:transparent; align-items:center; justify-content:center; }
 .installation-background .ambient-equipment { width:min(100%,580px); min-width:0; transform:translate(0,-12px); }
 .installation-background::after { background:linear-gradient(180deg,#f8faff 0%,#f8faff00 25%,#f8faff00 85%,#f8faff 100%); }
 .design-v3 .hero-maintenance { padding-bottom:275px; }
 .maintenance-background { left:0; top:0; }
 .maintenance-background img { height:340px; position:absolute; bottom:0; object-position:center 50%; }
 .maintenance-background::after { background:linear-gradient(180deg,#10294f 0%,#10294f 49%,#10294ff5 58%,#10294f30 78%,#10294f30 100%); }
 .hero-maintenance .hero-copy>p { max-width:650px; }
 .hero-secondary { margin-top:24px; }
 .hero-pmoc .hero-copy { max-width:680px; }
 .hero-pmoc .hero-copy>p { margin-inline:auto; }
 .hero-pmoc .hero-copy .coverage { margin-inline:auto; }
 .hero-pmoc .hero-copy .definition { font-size:13px; }
 .pmoc-summary { margin-top:36px; gap:16px; padding-top:24px; }
 .pmoc-summary>div { font-size:13px; gap:8px; justify-content:flex-start; }
 .design-v3 .section { padding:62px 0; }
 .design-v3 .section-heading { gap:22px; margin-bottom:30px; }
 .design-v3 .section-heading p { font-size:16px; }
 .design-v3 .service-card { padding:28px; }
 .design-v3 .card-icon { margin-bottom:22px; }
 .design-v3 .support-note { padding:23px; font-size:15px; }
 .maintenance-services .service-card { padding:28px; column-gap:20px; }
 .maintenance-services .card-icon { margin:0; }
 .services-pmoc .service-card { padding:10px 24px 20px; border-radius:0; }
 .pmoc-scope .deliverables { grid-template-columns:1fr; gap:18px; }
 .pmoc-scope .deliverable { padding:28px; border-left:1px solid #e8eef9; }
 .pmoc-scope .deliverable:last-child { padding-bottom:28px; }
 .design-v3 .authority-box { grid-template-columns:1fr; gap:35px; padding:0; }
 .design-v3 .authority-box p { font-size:16px; }
 .design-v3 .authority-person { padding:29px; }
 .design-v3 .authority-person h3 { font-size:27px; }
 .design-v3 .authority-person .role { font-size:15px; }
 .design-v3 .process-layout,.design-v3 .faq-layout { grid-template-columns:1fr; gap:32px; }
 .process-installation .steps { grid-template-columns:1fr; gap:26px; }
 .process-installation .step { display:grid; grid-template-columns:38px 1fr; border:0; padding:0; gap:17px; }
 .process-installation .step::before { margin:0; }
 .process-pmoc .process-intro { padding:28px; }
 .design-v3 .faq-list details { padding:0 20px; }
 .design-v3 .faq-list summary { font-size:16px; }
 .design-v3 .closing { padding:55px 0; }
 .design-v3 .closing-box { padding:32px; gap:28px; grid-template-columns:1fr; }
 .design-v3 .closing-box h2 { font-size:29px; }
 .design-v3 .closing-action .button { font-size:15px; }
 .design-v3 .footer-grid { gap:28px; }
}
@media(max-width:600px) {
 .pmoc-summary { grid-template-columns:1fr; max-width:300px; }
 .pmoc-summary>div { justify-content:flex-start; font-size:14px; }
 .design-v3 .hero-copy .button { width:100%; justify-content:space-between; font-size:15px; padding:17px; gap:12px; }
 .design-v3 .hero-pmoc { text-align:left; }
 .hero-pmoc .hero-copy .coverage { justify-content:flex-start; }
 .hero-pmoc .pmoc-summary { max-width:none; }
 .design-v3 .hero-maintenance { padding-bottom:260px; }
 .maintenance-background img { height:310px; }
 .maintenance-background::after { background:linear-gradient(180deg,#10294f 0%,#10294f 54%,#10294ff5 64%,#10294f35 82%,#10294f35 100%); }
 .maintenance-services .service-card { grid-template-columns:1fr; }
 .maintenance-services .card-icon { grid-row:auto; margin-bottom:22px; }
 .maintenance-services .service-card h3,.maintenance-services .service-card p { grid-column:1; }
 .services-maintenance .section-heading,.services-pmoc .section-heading { text-align:left; }
 .design-v3 .closing-box { padding:27px; }
 .design-v3 .closing-action .button { width:100%; font-size:14px; gap:10px; padding:16px; justify-content:space-between; }
 .review-cover { width:calc(100% + 48px); margin-left:-24px; margin-right:-24px; }
}
@media(prefers-reduced-motion:reduce) {
 .ambient-air path { animation:none; stroke-dasharray:none; }
 .button:hover,.design-v3 .service-card:hover { transform:none; }
}
/* Keep a service name together without changing the headline scale. */
.design-v3 h1 .keep-word{white-space:nowrap}.design-v3 h1 .original-color{color:inherit}
@media(min-width:960px){.maintenance-background img{transform:scale(1.12);transform-origin:50% 78%}}
.pmoc-scope{background:linear-gradient(100deg,#143a8bf7,#143a8bd9),url(images/hvac-rooftop.webp) center 58%/cover}
.closing-pmoc{background:linear-gradient(120deg,#143a8b,#1e4b9f)!important}

.maintenance-services .service-card{align-content:start;grid-template-rows:auto 1fr}
.photo-origin{position:absolute;right:24px;bottom:18px;z-index:3;font-size:10px;color:#fff;background:#10294fb3;padding:5px 9px;border-radius:4px;text-decoration:none}.photo-origin:hover{color:white;text-decoration:underline}
/* Revision 4 — original JB imagery, refined cards and scroll-only movement. */
.design-v4 .hero h1 span:not(.original-color){background:linear-gradient(transparent 82%,#2563eb13 82%,#2563eb13 96%,transparent 96%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.design-v4 .hero-maintenance h1 span:not(.original-color){background:linear-gradient(transparent 83%,#aacbff20 83%,#aacbff20 96%,transparent 96%)}
.design-v4 .service-card{border-color:#d5e2f2;border-radius:12px;background:linear-gradient(160deg,#fff 65%,#f8faff);box-shadow:0 3px 8px #16366708,0 17px 40px #16366712;transition:transform .25s,box-shadow .25s,border-color .25s}
.design-v4 .service-card:hover{border-color:#aac5f2;transform:translateY(-5px);box-shadow:0 5px 10px #16366708,0 24px 48px #16366722}
.design-v4 .services-pmoc .service-card{border:1px solid #d5e2f2;padding:28px;border-top:3px solid #bad0f5;box-shadow:0 3px 8px #16366706,0 16px 35px #1636670e}
.design-v4 .services-pmoc .card-icon{background:#edf3ff;border-radius:10px;width:46px;height:46px}
.design-v4 .pmoc-scope{background:linear-gradient(100deg,#143a8bf7,#143a8bd9),url(images/jb-manutencao-cobertura.webp) center/cover}
.design-v4 .pmoc-scope .deliverable{border-radius:12px;box-shadow:0 5px 12px #00153618,0 20px 40px #00153624;transition:transform .25s,box-shadow .25s}
.design-v4 .pmoc-scope .deliverable:hover{transform:translateY(-4px);box-shadow:0 10px 18px #00153622,0 26px 45px #00153630}
.design-v4 .card-icon{box-shadow:inset 0 1px 0 #fff,0 4px 10px #2563eb06}
.design-v4 .reveal.is-ready{animation:jb-card-enter .6s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:var(--entry-delay,0ms)}
@keyframes jb-card-enter{from{opacity:.55;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.js .design-v4 .hero-copy{animation:jb-hero-enter .65s cubic-bezier(.2,.7,.2,1) both}
@keyframes jb-hero-enter{from{opacity:.65;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.design-v4 .maintenance-background{left:0;background:#10294f}
.design-v4 .maintenance-background img{object-position:77% center;transform:translateY(var(--photo-shift,0px)) scale(1.06);transform-origin:70% center}
.design-v4 .maintenance-background::after{background:linear-gradient(90deg,#10294f 0%,#10294fed 31%,#10294f7a 61%,#10294f16 100%)}
.design-v4 .authority-person{padding:0;overflow:hidden;background:white;border:1px solid #d5e2f2;border-radius:14px;box-shadow:0 5px 15px #102c5110,0 25px 50px #102c5117;color:var(--ink)}
.authority-portrait{margin:0;overflow:hidden;aspect-ratio:1.35;background:#dce4ec}
.authority-portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:35% center;transition:transform .4s ease}
@media(hover:hover){.authority-person:hover .authority-portrait img{transform:scale(1.025)}}
.authority-bio{padding:26px 30px 30px}
.design-v4 .authority-person .eyebrow{color:#345a92;margin-bottom:10px}
.design-v4 .authority-person h3{font-size:26px;margin-bottom:12px;color:#172338}
.design-v4 .authority-person .role{color:#4d5e73!important}
.design-v4 .authority-installation .authority-person{border-color:#ffffff65;box-shadow:0 24px 55px #001a4140}
.design-v4 .authority-maintenance .authority-box{grid-template-columns:.85fr 1.15fr}
.design-v4 .authority-maintenance .authority-person{order:-1}
.design-v4 .authority-pmoc .authority-person{border:1px solid #d5e2f2}
.design-v4 .closing-maintenance{background:linear-gradient(95deg,#10294ff5,#143a8bf2 45%,#143a8b85),url(images/jb-limpeza-equipamento.webp) 65% center/cover!important}
@media(min-width:960px){.design-v4 .authority-maintenance .authority-box{gap:85px}.design-v4 .authority-pmoc .authority-portrait{aspect-ratio:1.6}}
@media(max-width:959px){
 .design-v4 .maintenance-background img{object-position:80% center;transform:none;height:340px}
 .design-v4 .maintenance-background::after{background:linear-gradient(180deg,#10294f 0%,#10294f 49%,#10294ff5 58%,#10294f30 78%,#10294f30 100%)}
 .design-v4 .authority-box,.design-v4 .authority-maintenance .authority-box{grid-template-columns:1fr;gap:35px}
 .design-v4 .authority-maintenance .authority-person{order:0}
 .design-v4 .authority-person{padding:0;max-width:520px;width:100%;margin-inline:auto}
 .authority-portrait{aspect-ratio:1.4}
 .authority-bio{padding:25px 28px}
 .design-v4 .authority-person h3{font-size:25px}
}
@media(max-width:600px){.design-v4 .maintenance-background img{height:310px;object-position:76% center}.design-v4 .maintenance-background::after{background:linear-gradient(180deg,#10294f 0%,#10294f 54%,#10294ff5 64%,#10294f35 82%,#10294f35 100%)}}
@media(prefers-reduced-motion:reduce){.design-v4 .reveal.is-ready,.js .design-v4 .hero-copy{animation:none!important}.design-v4 .maintenance-background img{transform:none!important}.design-v4 .service-card:hover,.design-v4 .pmoc-scope .deliverable:hover,.authority-person:hover .authority-portrait img{transform:none!important}}
/* Mobile: show the service photograph before the headline, keeping desktop intact. */
@media(max-width:959px){
 .design-v4 .hero-installation,.design-v4 .hero-maintenance{display:block;padding:0 0 54px}
 .design-v4 .hero-installation>.hero-background,.design-v4 .hero-maintenance>.hero-background{position:relative;inset:auto;width:100%;height:clamp(224px,62vw,360px)}
 .design-v4 .hero-installation>.container,.design-v4 .hero-maintenance>.container{padding-top:26px}
 .design-v4 .installation-background .ambient-equipment{width:min(100%,580px);transform:none}
 .design-v4 .installation-background::after{background:linear-gradient(180deg,#f8faff10 0%,#f8faff00 65%,#f8faff 100%)}
 .design-v4 .hero-maintenance .maintenance-background img{inset:0;width:100%;height:100%;object-position:77% center;transform:none}
 .design-v4 .hero-maintenance .maintenance-background::after{background:linear-gradient(180deg,#10294f10 0%,#10294f00 55%,#10294f 100%)}
}
