/*
Theme Name: GeneratePress Child
Template: generatepress
*/
/* Home V2 visual proposal. All rules will be scoped to body.page-id-229. */
body.page-id-229 .es-home {
 --es-ink:#202b27; --es-muted:#506057; --es-green:#327039;
 --es-green-hover:#25572b; --es-lime:#6db549; --es-pale:#e7f2e1;
 --es-soft:#f6f8f5; --es-line:#dce6d7; --es-gutter:40px;
 --es-space:100px; --es-radius:20px;
 color:var(--es-ink); background:#fff;
 font:400 1rem/1.65 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 overflow-wrap:break-word;
}
body.page-id-229 .es-home *, body.page-id-229 .es-home *::before, body.page-id-229 .es-home *::after { box-sizing:border-box; }
body.page-id-229 .es-home :where(h1,h2,h3,p) { margin:0 0 20px; }
body.page-id-229 .es-home :where(h1,h2,h3) { color:var(--es-ink); font-weight:700; line-height:1.12; letter-spacing:-.035em; text-wrap:balance; }
body.page-id-229 .es-home h1 { font-size:clamp(3rem,4.4vw,4.5rem); line-height:1.04; max-width:19ch; margin-bottom:28px; }
body.page-id-229 .es-home h2 { font-size:clamp(2rem,3vw,3rem); max-width:25ch; }
body.page-id-229 .es-home h3 { font-size:1.375rem; line-height:1.25; letter-spacing:-.02em; }
body.page-id-229 .es-home p { max-width:68ch; }
body.page-id-229 .es-home :where(p:last-child) { margin-bottom:0; }
body.page-id-229 .es-home a { color:var(--es-green); text-underline-offset:.2em; }
body.page-id-229 .es-home a:focus-visible { outline:3px solid #ac6200; outline-offset:5px; }
body.page-id-229 .es-home [id] { scroll-margin-top:96px; }
body.page-id-229 .es-home .es-container { width:min(1280px,calc(100% - 2 * var(--es-gutter))); margin-inline:auto; }
body.page-id-229 .es-home .es-section { padding-block:var(--es-space); }
body.page-id-229 .es-home .es-intro, body.page-id-229 .es-home .es-lead { color:var(--es-muted); }
body.page-id-229 .es-home .es-intro { font-size:1.125rem; max-width:62ch; }
body.page-id-229 .es-home .es-lead { font-size:1.2rem; max-width:53ch; }
body.page-id-229 .es-home .es-eyebrow { font-size:.73rem; font-weight:750; letter-spacing:.12em; color:var(--es-green); margin-bottom:28px; }
body.page-id-229 .es-home .es-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }
body.page-id-229 .es-home .es-button { display:inline-flex; justify-content:center; align-items:center; min-height:52px; max-width:100%; padding:14px 24px; border:2px solid var(--es-green); border-radius:9px; background:var(--es-green); color:#fff; font-size:.96rem; font-weight:650; line-height:1.4; text-decoration:none; text-align:center; transition:background-color .18s,box-shadow .18s; }
body.page-id-229 .es-home .es-button--secondary { background:transparent; color:var(--es-green); }
body.page-id-229 .es-home .es-button:where(:hover) { background:var(--es-green-hover); border-color:var(--es-green-hover); color:#fff; }
body.page-id-229 .es-home .es-hero { background:var(--es-pale); padding-block:112px; }
body.page-id-229 .es-home .es-hero-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr); gap:60px; align-items:center; }
body.page-id-229 .es-home .es-hero-copy { min-width:0; }
/* Future real media replaces the decorative panel without changing the copy. */
body.page-id-229 .es-home .es-hero-photo { display:block; width:100%; height:auto; aspect-ratio:1/1.12; object-fit:cover; border-radius:var(--es-radius); }
body.page-id-229 .es-home .es-services { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:26px; margin-top:44px; }
body.page-id-229 .es-home .es-card { grid-column:span 2; min-width:0; display:flex; flex-direction:column; align-items:flex-start; padding:36px; border:1px solid var(--es-line); border-radius:var(--es-radius); background:#fff; box-shadow:0 8px 28px #233f2410; transition:transform .2s,box-shadow .2s; }
body.page-id-229 .es-home .es-card--wide { grid-column:span 3; }
body.page-id-229 .es-home .es-card p { margin-bottom:28px; }
body.page-id-229 .es-home .es-card .es-button { width:100%; margin-top:auto; padding:13px 12px; background:var(--es-soft); border:0; color:var(--es-green); border-radius:8px; }
body.page-id-229 .es-home .es-card .es-button::after { content:'\2192'; padding-left:12px; font-size:1.2rem; }
body.page-id-229 .es-home .es-card .es-button:where(:hover) { background:var(--es-pale); }
body.page-id-229 .es-home .es-service-icon { display:grid; place-items:center; width:66px; height:66px; flex-shrink:0; margin-bottom:28px; background:var(--es-pale); border-radius:18px; }
body.page-id-229 .es-home .es-service-icon::before { content:''; width:34px; height:34px; background:var(--es-green); mask:var(--es-icon) center/contain no-repeat; }
body.page-id-229 .es-home .es-card-photo { display:block; width:calc(100% + 72px); max-width:none; margin:-36px -36px 28px; aspect-ratio:16/10; object-fit:cover; border-radius:20px 20px 0 0; }
body.page-id-229 .es-home .es-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:80px; align-items:start; }
body.page-id-229 .es-home .es-section-heading h2 { margin-bottom:0; }
body.page-id-229 .es-home .es-area--enginyeria { padding-top:32px; }
body.page-id-229 .es-home .es-area--enginyeria .es-container { border-top:1px solid var(--es-line); padding-top:64px; }
body.page-id-229 .es-home .es-area--enginyeria h2::before { content:''; display:block; width:54px; height:5px; background:var(--es-lime); border-radius:3px; margin-bottom:24px; }
body.page-id-229 .es-home .es-area--climatitzacio { padding-block:0 var(--es-space); }
body.page-id-229 .es-home .es-area--climatitzacio .es-container { padding:64px; border-radius:28px; background:var(--es-pale); gap:64px; align-items:center; }
body.page-id-229 .es-home .es-area--climatitzacio h2::before { content:''; display:block; width:72px; height:72px; margin-bottom:24px; background:var(--es-green); mask:var(--es-climate-icon) center/contain no-repeat; }
body.page-id-229 .es-home .es-area--climatitzacio .es-button { margin-top:8px; background:var(--es-green); color:#fff; }
body.page-id-229 .es-home .es-area--manteniment { background:var(--es-soft); }
body.page-id-229 .es-home .es-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:36px 0 28px; }
body.page-id-229 .es-home .es-detail { padding:28px; border:1px solid var(--es-line); border-radius:16px; background:#fff; }
body.page-id-229 .es-home .es-detail h3::before { content:''; display:inline-block; width:10px; height:10px; margin:0 12px 2px 0; border-radius:50%; background:var(--es-lime); box-shadow:0 0 0 5px var(--es-pale); }
body.page-id-229 .es-home .es-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; margin-top:48px; }
body.page-id-229 .es-home .es-step { position:relative; min-width:0; }
body.page-id-229 .es-home .es-step:not(:last-child)::before { content:''; position:absolute; top:28px; left:60px; width:calc(100% - 28px); height:1px; background:#bfd3b5; }
body.page-id-229 .es-home .es-step-title { display:flex; flex-direction:column; align-items:flex-start; gap:24px; font-weight:700; line-height:1.35; }
body.page-id-229 .es-home .es-step-number { display:grid; place-items:center; width:56px; height:56px; border-radius:50%; color:var(--es-green); background:var(--es-pale); font-size:1.1rem; position:relative; }
body.page-id-229 .es-home .es-area--ressenyes { background:var(--es-pale); }
body.page-id-229 .es-home .es-area--ressenyes .es-container { padding-block:8px; }
body.page-id-229 .es-home .es-area--ressenyes h2 { max-width:none; }
body.page-id-229 .es-home .es-area--pressupost .es-container { position:relative; isolation:isolate; overflow:hidden; border-radius:28px; padding:80px; color:#fff; background:#202a25; }
body.page-id-229 .es-home .es-area--pressupost h2 { font-size:clamp(2.4rem,4vw,3.8rem); max-width:17ch; color:#fff; }
body.page-id-229 .es-home .es-area--pressupost .es-intro { color:#dce6d7; max-width:52ch; margin-bottom:32px; }
body.page-id-229 .es-home .es-area--pressupost .es-button { color:#17231b; background:var(--es-lime); border-color:var(--es-lime); padding-inline:32px; }
body.page-id-229 .es-home .es-area--pressupost .es-button:where(:hover) { background:#83c663; border-color:#83c663; }
body.page-id-229 .es-home .es-area--pressupost .es-container::after { content:''; position:absolute; z-index:-1; width:360px; height:360px; right:-130px; top:-80px; border:60px solid #304333; border-radius:50%; }
/* Case-study components: only enabled in the separate editorial component review
   until real cases, photography and destinations are supplied. */
body.page-id-229 .es-home .es-project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:40px; }
body.page-id-229 .es-home .es-project-card { border:1px solid var(--es-line); border-radius:24px; overflow:hidden; background:#fff; box-shadow:0 8px 28px #233f2410; }
body.page-id-229 .es-home .es-project-media { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
body.page-id-229 .es-home .es-project-copy { padding:32px; }
body.page-id-229 .es-home .es-project-meta { color:var(--es-green); font-size:.8rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
body.page-id-229 .es-home .es-project-data { display:inline-block; padding:10px 16px; margin-top:8px; background:var(--es-pale); border-radius:8px; font-weight:600; }
body.page-id-229 .es-home .es-project-card--featured { grid-column:1/-1; display:grid; grid-template-columns:1.2fr 1fr; align-items:center; }
body.page-id-229 .es-home .es-project-card--featured .es-project-media { height:100%; min-height:360px; }
@media (hover:hover) and (pointer:fine) {
 body.page-id-229 .es-home .es-card:hover { transform:translateY(-4px); box-shadow:0 14px 36px #233f2419; }
}
@media (max-width:1100px) {
 body.page-id-229 .es-home { --es-gutter:32px; --es-space:80px; }
 body.page-id-229 .es-home .es-hero { padding-block:88px; }
 body.page-id-229 .es-home .es-hero-grid { gap:32px; grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr); }
 body.page-id-229 .es-home h1 { font-size:3.2rem; }
 body.page-id-229 .es-home .es-card { padding:28px; }
 body.page-id-229 .es-home .es-card-photo { width:calc(100% + 56px); margin:-28px -28px 24px; }
 body.page-id-229 .es-home .es-split { gap:40px; }
 body.page-id-229 .es-home .es-area--climatitzacio .es-container { padding:44px; gap:40px; }
}
@media (max-width:900px) {
 body.page-id-229 .es-home .es-hero-grid { grid-template-columns:1fr; }
 body.page-id-229 .es-home h1 { max-width:22ch; }
 body.page-id-229 .es-home .es-services { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.page-id-229 .es-home .es-card { grid-column:auto; }
 body.page-id-229 .es-home .es-card:last-child { grid-column:1/-1; }
 body.page-id-229 .es-home .es-split { grid-template-columns:1fr; gap:24px; }
 body.page-id-229 .es-home .es-area--climatitzacio .es-container { gap:24px; }
 body.page-id-229 .es-home .es-details { gap:16px; }
 body.page-id-229 .es-home .es-detail { padding:22px; }
 body.page-id-229 .es-home .es-steps { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:36px; }
 body.page-id-229 .es-home .es-step:nth-child(2)::before { display:none; }
 body.page-id-229 .es-home .es-area--pressupost .es-container { padding:56px; }
 body.page-id-229 .es-home .es-project-card--featured { grid-template-columns:1fr; }
 body.page-id-229 .es-home .es-project-card--featured .es-project-media { min-height:0; }
}
@media (max-width:640px) {
 body.page-id-229 .es-home { --es-gutter:20px; --es-space:64px; }
 body.page-id-229 .es-home .es-hero { padding-block:64px; }
 body.page-id-229 .es-home h1 { font-size:clamp(2.25rem,9.1vw,3.2rem); }
 body.page-id-229 .es-home h2 { font-size:2rem; }
 body.page-id-229 .es-home .es-lead { font-size:1.1rem; }
 body.page-id-229 .es-home .es-eyebrow { font-size:.65rem; letter-spacing:.09em; }
 body.page-id-229 .es-home .es-actions { flex-direction:column; }
 body.page-id-229 .es-home .es-button { width:100%; }
 body.page-id-229 .es-home .es-services, body.page-id-229 .es-home .es-details, body.page-id-229 .es-home .es-project-grid { grid-template-columns:1fr; gap:20px; }
 body.page-id-229 .es-home .es-service-icon { width:58px; height:58px; margin-bottom:24px; }
 body.page-id-229 .es-home .es-area--enginyeria .es-container { padding-top:40px; }
 body.page-id-229 .es-home .es-area--climatitzacio .es-container { padding:32px 24px; border-radius:20px; }
 body.page-id-229 .es-home .es-area--climatitzacio h2::before { width:52px; height:52px; }
 body.page-id-229 .es-home .es-steps { grid-template-columns:1fr; gap:28px; }
 body.page-id-229 .es-home .es-step { padding-left:78px; }
 body.page-id-229 .es-home .es-step-number { position:absolute; top:0; left:0; }
 body.page-id-229 .es-home .es-step-title { display:block; padding-top:6px; margin-bottom:12px; }
 body.page-id-229 .es-home .es-step:not(:last-child)::before { display:block; left:27px; top:60px; width:1px; height:calc(100% - 32px); }
 body.page-id-229 .es-home .es-area--pressupost .es-container { padding:44px 28px; border-radius:22px; }
 body.page-id-229 .es-home .es-area--pressupost h2 { font-size:2.5rem; }
 body.page-id-229 .es-home .es-area--pressupost .es-container::after { opacity:.4; }
 body.page-id-229 .es-home .es-project-copy { padding:24px; }
}
@media (prefers-reduced-motion:reduce) {
 body.page-id-229 .es-home .es-card, body.page-id-229 .es-home .es-button { transition:none; }
 body.page-id-229 .es-home .es-card:hover { transform:none; }
}

body.page-id-229 .es-home .es-service-icon--1 { --es-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0ibTUgMTggMTUtMTIgMTUgMTJNOSAxNXYyMGgyMlYxNU0xNiAzNVYyM2g4djEyIi8+PC9zdmc+"); }

body.page-id-229 .es-home .es-service-icon--2 { --es-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0ibTQgMjQgMy0xMGgxN2w0IDEwdjloLTR2LTRIOHY0SDRaTTUgMjNoMjJNMTAgMThoMTFNMzEgMTBoNHYxOGgtM00xMSAyNWgxbTkgMGgxIi8+PC9zdmc+"); }

body.page-id-229 .es-home .es-service-icon--3 { --es-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTcgMzVWNWgxOHYzME0yNSAxNmg4djE5TTEyIDExaDJtNSAwaDFtLTggNmgybTUgMGgxbS04IDZoMm01IDBoMU0xNCAzNXYtNmg1djZNNCAzNWgzMiIvPjwvc3ZnPg=="); }

body.page-id-229 .es-home .es-service-icon--4 { --es-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0ibTQgMTQgMTYtOSAxNiA5SDRaTTcgMTh2MTJtOS0xMnYxMm04LTEydjEybTktMTJ2MTJNNCAzNWgzMk02IDMxaDI4Ii8+PC9zdmc+"); }

body.page-id-229 .es-home .es-service-icon--5 { --es-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTIzIDMgOSAyM2gxMGwtMiAxNCAxNC0yMUgyMVoiLz48L3N2Zz4="); }

body.page-id-229 .es-home { --es-climate-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PGNpcmNsZSBjeD0iMjAiIGN5PSIyMCIgcj0iMyIvPjxwYXRoIGQ9Ik0xOCAxN0M5IDkgMjMgMiAyNSA5YzEgNC0yIDctNCA4TTIzIDE5YzExLTMgMTAgMTMgMyAxMS00LTEtNS01LTUtN00xOCAyMmMtMiAxMS0xNSAzLTEwLTIgMy0zIDctMiAxMCAwIi8+PC9zdmc+"); }
/* V4: photography remains editable media content, never CSS backgrounds. */
body.page-id-229 .es-home .es-photo-frame { min-width:0; }
body.page-id-229 .es-home .es-photo { display:block; width:100%; max-width:100%; height:auto; object-fit:cover; border-radius:20px; }
body.page-id-229 .es-home .es-hero-photo { aspect-ratio:1/1.12; object-position:42% center; }
body.page-id-229 .es-home .es-photo-credit { font-size:.7rem; line-height:1.5; color:var(--es-muted); margin:10px 0 0; }
body.page-id-229 .es-home .es-photo-credit a { color:inherit; }
body.page-id-229 .es-home .es-engineering-photo { aspect-ratio:4/3; object-position:center 38%; margin-top:28px; }
body.page-id-229 .es-home .es-area--enginyeria .es-section-body { padding-top:32px; }
body.page-id-229 .es-home .es-climate-photo { aspect-ratio:4/3; object-position:center; margin-top:28px; }
body.page-id-229 .es-home .es-area--climatitzacio .es-container { align-items:start; }
body.page-id-229 .es-home .es-maintenance-subtitle { font-size:1.2rem; font-weight:600; color:var(--es-green); }
body.page-id-229 .es-home .es-area--projectes { background:var(--es-soft); margin-bottom:var(--es-space); }
body.page-id-229 .es-home .es-example-notice { color:var(--es-muted); font-size:.85rem; }
body.page-id-229 .es-home .es-example-label { color:var(--es-green); font-size:.7rem; font-weight:700; letter-spacing:.06em; }
body.page-id-229 .es-home .es-project-photo { aspect-ratio:16/10; border-radius:0; }
body.page-id-229 .es-home .es-project-card .es-photo-credit { padding:0 20px 12px; }
body.page-id-229 .es-home .es-project-card--featured .es-photo-frame { align-self:stretch; }
body.page-id-229 .es-home .es-project-card--featured .es-project-photo { height:calc(100% - 48px); min-height:360px; }
body.page-id-229 .es-home .es-project-data { font-size:.85rem; }
body.page-id-229 .es-home .es-button--inactive { cursor:default; color:var(--es-muted); border-color:var(--es-line); background:var(--es-soft); }
body.page-id-229 .es-home .es-button--inactive:where(:hover) { color:var(--es-muted); border-color:var(--es-line); background:var(--es-soft); }
@media (max-width:900px) {
 body.page-id-229 .es-home .es-hero-photo { aspect-ratio:16/9; }
 body.page-id-229 .es-home .es-area--enginyeria .es-section-body { padding-top:0; }
 body.page-id-229 .es-home .es-project-card--featured .es-project-photo { height:auto; min-height:0; }
}
@media (max-width:640px) {
 body.page-id-229 .es-home .es-hero-photo { aspect-ratio:4/3; }
 body.page-id-229 .es-home .es-project-data { display:block; }
}

/* Addendum to visual-v5. Only the real projects section of page 229. */
body.page-id-229 .es-home .es-projects-real .es-project-photo { height:320px; aspect-ratio:auto; object-fit:cover; object-position:center 65%; border-radius:0; }
body.page-id-229 .es-home .es-projects-real .es-project-card--featured .es-project-photo { height:500px; min-height:0; object-position:center 60%; }
body.page-id-229 .es-home .es-projects-real .es-project-card--featured { align-items:center; }
body.page-id-229 .es-home .es-projects-real .es-project-card--featured .es-project-copy { height:auto; }
body.page-id-229 .es-home .es-projects-real .es-project-data { margin-bottom:0; }
body.page-id-229 .es-home .es-projects-real .es-project-card:nth-child(2) .es-project-photo { object-position:center 65%; }
body.page-id-229 .es-home .es-projects-real .es-project-card:nth-child(3) .es-project-photo { object-position:center 28%; }
@media (max-width:900px) {
 body.page-id-229 .es-home .es-projects-real .es-project-photo { height:300px; }
 body.page-id-229 .es-home .es-projects-real .es-project-card--featured .es-project-photo { height:400px; }
}
@media (max-width:640px) {
 body.page-id-229 .es-home .es-projects-real .es-project-card--featured .es-project-photo { height:380px; }
}

/* Home V2 final-review-v2: scoped additions, existing CSS preserved. */

/* hero-v2/hero.css */
/* Hero image only. Header, projects and other sections remain unchanged. */
body.page-id-229 .es-home .es-hero .es-hero-photo { object-fit:cover; object-position:50% 55%; }
@media(max-width:900px){
 body.page-id-229 .es-home .es-hero .es-hero-photo { width:min(100%,320px); height:auto; aspect-ratio:1122/1402; margin-inline:auto; }
}
@media(max-width:640px){
 body.page-id-229 .es-home .es-hero .es-hero-photo { aspect-ratio:10/11; object-position:50% 50%; }
}

/* entorns-v2/entorns.css */
/* Entorns v2 only: header, hero, projects and other sections are unchanged. */
body.page-id-229 .es-home .es-env-v2 .es-env-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:32px}
body.page-id-229 .es-home .es-env-v2 .es-env-card{background:#fff;border:1px solid var(--es-line);border-radius:var(--es-radius);padding:28px 32px;box-shadow:0 6px 20px #233f240a;min-width:0}
body.page-id-229 .es-home .es-env-v2 .es-env-card h3{margin-bottom:12px}
body.page-id-229 .es-home .es-env-v2 .es-env-card p{margin:0;max-width:60ch;color:var(--es-muted);font-size:1rem;line-height:1.5}
body.page-id-229 .es-home .es-env-v2 .es-env-card--home{border-top:4px solid var(--es-green);padding-top:25px}
body.page-id-229 .es-home .es-env-v2 .es-env-card--support{grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:24px;padding-block:22px;box-shadow:none}
body.page-id-229 .es-home .es-env-v2 .es-env-card--support h3{margin:0}
@media(max-width:640px){
 body.page-id-229 .es-home .es-env-v2 .es-env-grid{grid-template-columns:1fr;gap:12px;margin-top:24px}
 body.page-id-229 .es-home .es-env-v2 .es-env-card{padding:20px 22px}
 body.page-id-229 .es-home .es-env-v2 .es-env-card--home{padding-top:17px}
 body.page-id-229 .es-home .es-env-v2 .es-env-card h3{font-size:1.25rem;margin-bottom:8px}
 body.page-id-229 .es-home .es-env-v2 .es-env-card--support{display:block}
}

/* enginyeria-v2/enginyeria.css */
/* Only the proposed engineering section of Home V2. */
body.page-id-229 .es-home .es-engineering-v1{background:var(--es-soft);padding-block:72px}
body.page-id-229 .es-home .es-engineering-v1 .es-engineering-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:80px;align-items:start}
body.page-id-229 .es-home .es-engineering-v1 h2{max-width:19ch;margin-bottom:24px}
body.page-id-229 .es-home .es-engineering-v1 .es-engineering-intro{padding-top:20px}
body.page-id-229 .es-home .es-engineering-v1 .es-intro{max-width:43ch;margin:0}
body.page-id-229 .es-home .es-engineering-v1 .es-engineering-list{list-style:none;margin:0;padding:0}
body.page-id-229 .es-home .es-engineering-v1 .es-engineering-point{display:grid;grid-template-columns:42px minmax(0,1fr);gap:18px;padding:20px 0;margin:0;border-bottom:1px solid var(--es-line)}
body.page-id-229 .es-home .es-engineering-v1 .es-engineering-point:last-child{border:0}
body.page-id-229 .es-home .es-engineering-v1 .es-engineering-number{display:grid;place-items:center;align-self:start;width:42px;height:42px;border-radius:10px;background:var(--es-pale);color:var(--es-green);font-weight:700;font-size:.9rem;margin:0}
body.page-id-229 .es-home .es-engineering-v1 h3{font-size:1.25rem;line-height:1.3;margin:0 0 8px}
body.page-id-229 .es-home .es-engineering-v1 .es-engineering-point-copy p{font-size:1rem;line-height:1.5;max-width:54ch;color:var(--es-muted);margin:0}
@media(max-width:900px){body.page-id-229 .es-home .es-engineering-v1 .es-engineering-layout{grid-template-columns:1fr;gap:20px}}
@media(max-width:640px){
 body.page-id-229 .es-home .es-engineering-v1{padding-block:48px}
 body.page-id-229 .es-home .es-engineering-v1 .es-engineering-intro{padding-top:0}
 body.page-id-229 .es-home .es-engineering-v1 h2{margin-bottom:20px}
 body.page-id-229 .es-home .es-engineering-v1 .es-engineering-point{grid-template-columns:34px minmax(0,1fr);gap:12px;padding:18px 0}
 body.page-id-229 .es-home .es-engineering-v1 .es-engineering-number{width:34px;height:34px;border-radius:9px}
}

/* Small execution assurance within the existing introduction. */
body.page-id-229 .es-home .es-engineering-v1 .es-engineering-team{margin-top:28px;padding:14px 0 14px 18px;border-left:3px solid var(--es-green);max-width:43ch}
body.page-id-229 .es-home .es-engineering-v1 .es-team-title{color:var(--es-green);font-size:1rem;font-weight:700;line-height:1.4;margin:0 0 6px}
body.page-id-229 .es-home .es-engineering-v1 .es-engineering-team p:last-child{color:var(--es-muted);font-size:1rem;line-height:1.5;margin:0}

/* climatitzacio-v1/climatitzacio.css */
/* Only the local climate section. No image placeholders. */
body.page-id-229 .es-home .es-climate-v1{padding-block:64px}
body.page-id-229 .es-home .es-climate-v1 .es-climate-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:64px;row-gap:24px;align-items:start;padding:44px 48px;background:#f0f6ec;border:1px solid var(--es-line);border-radius:28px}
body.page-id-229 .es-home .es-climate-v1 .es-climate-intro{grid-column:1;grid-row:1}
body.page-id-229 .es-home .es-climate-v1 h2{font-size:clamp(2rem,2.5vw,2.5rem);max-width:19ch;margin-bottom:20px}
body.page-id-229 .es-home .es-climate-v1 .es-intro{max-width:40ch;margin:0}
body.page-id-229 .es-home .es-climate-v1 .es-climate-points{grid-column:2;grid-row:1 / span 2;list-style:none;margin:0;padding:0}
body.page-id-229 .es-home .es-climate-v1 .es-climate-point{margin:0;padding:18px 0;border-top:1px solid var(--es-line)}
body.page-id-229 .es-home .es-climate-v1 .es-climate-point:first-child{padding-top:0;border:0}
body.page-id-229 .es-home .es-climate-v1 .es-climate-point:last-child{padding-bottom:0}
body.page-id-229 .es-home .es-climate-v1 h3{font-size:1.2rem;line-height:1.3;margin:0 0 8px}
body.page-id-229 .es-home .es-climate-v1 .es-climate-point p{font-size:1rem;line-height:1.5;margin:0;color:var(--es-muted);max-width:48ch}
body.page-id-229 .es-home .es-climate-v1 .es-climate-action{grid-column:1;grid-row:2}
body.page-id-229 .es-home .es-climate-v1 .es-climate-link{display:inline-flex;align-items:center;min-height:44px;font-weight:650;text-decoration:underline;text-underline-offset:5px;color:var(--es-green)}
body.page-id-229 .es-home .es-climate-v1 .es-climate-link:hover{color:var(--es-green-hover)}
body.page-id-229 .es-home .es-climate-v1 .es-climate-link:focus-visible{outline:3px solid #ac6200;outline-offset:4px}
@media(max-width:900px){
 body.page-id-229 .es-home .es-climate-v1 .es-climate-panel{grid-template-columns:1fr;gap:28px;padding:32px}
 body.page-id-229 .es-home .es-climate-v1 :is(.es-climate-intro,.es-climate-points,.es-climate-action){grid-column:1;grid-row:auto}
}
@media(max-width:640px){
 body.page-id-229 .es-home .es-climate-v1{padding-block:40px}
 body.page-id-229 .es-home .es-climate-v1 .es-climate-panel{padding:28px 24px;border-radius:20px;gap:24px}
 body.page-id-229 .es-home .es-climate-v1 .es-climate-point{padding-block:16px}
}

/* manteniment-v2/manteniment.css */
/* Only the local maintenance section. */
body.page-id-229 .es-home .es-maintenance-v1{padding-block:64px}
body.page-id-229 .es-home .es-maintenance-v1 .es-maintenance-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:64px;row-gap:24px;align-items:start;padding:44px 48px;background:#20382c;border:1px solid #20382c;color:#f6faf4;border-radius:28px}
body.page-id-229 .es-home .es-maintenance-v1 .es-maintenance-intro{grid-column:1;grid-row:1}
body.page-id-229 .es-home .es-maintenance-v1 h2{font-size:clamp(2rem,2.5vw,2.5rem);max-width:19ch;margin-bottom:20px}
body.page-id-229 .es-home .es-maintenance-v1 .es-intro{max-width:40ch;margin:0}
body.page-id-229 .es-home .es-maintenance-v1 .es-maintenance-points{grid-column:2;grid-row:1 / span 2;list-style:none;margin:0;padding:0}
body.page-id-229 .es-home .es-maintenance-v1 .es-maintenance-point{margin:0;padding:18px 0;border-top:1px solid #486151}
body.page-id-229 .es-home .es-maintenance-v1 .es-maintenance-point:first-child{padding-top:0;border:0}
body.page-id-229 .es-home .es-maintenance-v1 .es-maintenance-point:last-child{padding-bottom:0}
body.page-id-229 .es-home .es-maintenance-v1 h3{font-size:1.2rem;line-height:1.3;margin:0 0 8px}
body.page-id-229 .es-home .es-maintenance-v1 .es-maintenance-point p{font-size:1rem;line-height:1.5;margin:0;color:#dce8dc;max-width:48ch}
body.page-id-229 .es-home .es-maintenance-v1 .es-maintenance-action{grid-column:1;grid-row:2}
body.page-id-229 .es-home .es-maintenance-v1 .es-maintenance-link{display:inline-flex;align-items:center;min-height:44px;font-weight:650;text-decoration:underline;text-underline-offset:5px;color:#d5efc8}
body.page-id-229 .es-home .es-maintenance-v1 .es-maintenance-link:hover{color:#fff}
body.page-id-229 .es-home .es-maintenance-v1 .es-maintenance-link:focus-visible{outline:3px solid #c5e8b6;outline-offset:4px}
@media(max-width:900px){
 body.page-id-229 .es-home .es-maintenance-v1 .es-maintenance-panel{grid-template-columns:1fr;gap:28px;padding:32px}
 body.page-id-229 .es-home .es-maintenance-v1 :is(.es-maintenance-intro,.es-maintenance-points,.es-maintenance-action){grid-column:1;grid-row:auto}
}
@media(max-width:640px){
 body.page-id-229 .es-home .es-maintenance-v1{padding-block:40px}
 body.page-id-229 .es-home .es-maintenance-v1 .es-maintenance-panel{padding:28px 24px;border-radius:20px;gap:24px}
 body.page-id-229 .es-home .es-maintenance-v1 .es-maintenance-point{padding-block:16px}
}

body.page-id-229 .es-home .es-maintenance-v1 :is(h2,h3){color:#f6faf4}
body.page-id-229 .es-home .es-maintenance-v1 .es-intro{color:#dce8dc}

/* proces-v1/proces.css */
/* Work process only. */
body.page-id-229 .es-home .es-process-v1{padding-block:64px;background:#fff}
body.page-id-229 .es-home .es-process-v1 .es-intro{max-width:65ch;margin:0}
body.page-id-229 .es-home .es-process-v1 .es-process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;list-style:none;margin:36px 0 0;padding:0}
body.page-id-229 .es-home .es-process-v1 .es-process-step{position:relative;min-width:0;margin:0;padding:0}
body.page-id-229 .es-home .es-process-v1 .es-process-step:not(:last-child)::before{content:'';position:absolute;left:58px;right:-14px;top:23px;height:1px;background:var(--es-line)}
body.page-id-229 .es-home .es-process-v1 .es-process-number{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;color:var(--es-green);background:var(--es-pale);font-size:1rem;font-weight:700;margin:0 0 20px;position:relative}
body.page-id-229 .es-home .es-process-v1 h3{font-size:1.25rem;line-height:1.3;margin:0 0 12px}
body.page-id-229 .es-home .es-process-v1 .es-process-step>p:last-child{color:var(--es-muted);font-size:1rem;line-height:1.5;margin:0}
body.page-id-229 .es-home .es-process-v1 .es-process-action{margin-top:32px}
body.page-id-229 .es-home .es-process-v1 .es-process-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 20px;border:1px solid var(--es-green);border-radius:9px;background:#fff;color:var(--es-green);font-weight:650;text-decoration:none}
body.page-id-229 .es-home .es-process-v1 .es-process-cta:hover{background:var(--es-pale)}
body.page-id-229 .es-home .es-process-v1 .es-process-cta:focus-visible{outline:3px solid #ac6200;outline-offset:4px}
@media(max-width:900px){body.page-id-229 .es-home .es-process-v1 .es-process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}body.page-id-229 .es-home .es-process-v1 .es-process-step:nth-child(2)::before{display:none}}
@media(max-width:640px){
 body.page-id-229 .es-home .es-process-v1{padding-block:48px}
 body.page-id-229 .es-home .es-process-v1 .es-process-steps{grid-template-columns:1fr;gap:24px;margin-top:28px}
 body.page-id-229 .es-home .es-process-v1 .es-process-step{padding-left:56px}
 body.page-id-229 .es-home .es-process-v1 .es-process-number{position:absolute;left:0;top:0;width:36px;height:36px;margin:0}
 body.page-id-229 .es-home .es-process-v1 .es-process-step:not(:last-child)::before{display:block;left:17px;right:auto;top:44px;bottom:-16px;width:1px;height:auto}
 body.page-id-229 .es-home .es-process-v1 h3{margin-bottom:8px}
 body.page-id-229 .es-home .es-process-v1 .es-process-action{margin-top:28px}
}

/* ressenyes-cta-v1/ressenyes-cta.css */
/* Only reviews and final CTA. No Trustindex internal overrides. */
body.page-id-229 .es-home .es-reviews-v1{background:#fff;padding-block:56px 32px}
body.page-id-229 .es-home .es-reviews-v1 h2{max-width:none;margin-bottom:16px}
body.page-id-229 .es-home .es-reviews-v1 .es-intro{margin-bottom:24px}
body.page-id-229 .es-home .es-reviews-v1 .es-reviews-widget{min-width:0;max-width:100%}
body.page-id-229 .es-home .es-closing-v1{background:#fff;padding-block:32px 64px}
body.page-id-229 .es-home .es-closing-v1 .es-closing-panel{background:#20382c;color:#f6faf4;border-radius:28px;padding:56px 64px;text-align:center}
body.page-id-229 .es-home .es-closing-v1 h2{color:#f6faf4;font-size:clamp(2.25rem,3.2vw,3.25rem);max-width:24ch;margin:0 auto 20px}
body.page-id-229 .es-home .es-closing-v1 .es-intro{color:#dce8dc;max-width:60ch;margin:0 auto 28px}
body.page-id-229 .es-home .es-closing-v1 .es-closing-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 26px;border:2px solid #6db549;border-radius:9px;background:#6db549;color:#17231b;font-weight:700;text-decoration:none}
body.page-id-229 .es-home .es-closing-v1 .es-closing-button:hover{background:#83c663;border-color:#83c663}
body.page-id-229 .es-home .es-closing-v1 .es-closing-button:focus-visible{outline:3px solid #f6faf4;outline-offset:4px}
@media(max-width:640px){
 body.page-id-229 .es-home .es-reviews-v1{padding-block:40px 12px}
 body.page-id-229 .es-home .es-closing-v1{padding-block:20px 40px}
 body.page-id-229 .es-home .es-closing-v1 .es-closing-panel{padding:36px 24px;border-radius:20px;text-align:left}
 body.page-id-229 .es-home .es-closing-v1 h2{font-size:2.25rem}
 body.page-id-229 .es-home .es-closing-v1 .es-closing-button{width:100%;box-sizing:border-box}
}

/* final-review-v2/poliment.css */
/* Local polish only: approved structure and content unchanged. */
/* Reduce accumulated whitespace around adjacent inset panels. */
body.page-id-229 .es-home .es-climate-v1 { padding-bottom:48px; }
body.page-id-229 .es-home .es-maintenance-v1 { padding-block:48px; }
/* Match small point headings without changing primary service hierarchy. */
body.page-id-229 .es-home .es-climate-v1 h3,
body.page-id-229 .es-home .es-maintenance-v1 h3 { font-size:1.25rem; }
/* Match button typography while preserving primary/secondary/link treatments. */
body.page-id-229 .es-home .es-process-v1 .es-process-cta,
body.page-id-229 .es-home .es-closing-v1 .es-closing-button { font-size:.96rem; line-height:1.4; }
/* Project card corners follow the existing image/card radius. */
body.page-id-229 .es-home .es-projects-real .es-project-card { border-radius:var(--es-radius); }
@media(max-width:640px) {
 body.page-id-229 .es-home .es-climate-v1 { padding-bottom:32px; }
 body.page-id-229 .es-home .es-maintenance-v1 { padding-block:32px; }
}

/* Draft-only approved header */
body.page-id-229 .es-home .es-header-local{position:relative;z-index:10;background:#fff;color:#202b27;border-bottom:1px solid #dce6d7;font:500 14px/1.4 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body.page-id-229 .es-home .es-header-local *{box-sizing:border-box}body.page-id-229 .es-home .es-header-row{width:min(1440px,calc(100% - 80px));height:79px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}body.page-id-229 .es-home .es-header-brand{font-size:28px;font-weight:750;letter-spacing:-1px;color:#327039;text-decoration:none;flex-shrink:0}body.page-id-229 .es-home .es-header-local nav,body.page-id-229 .es-home .es-nav-list{display:flex;align-items:center;gap:22px}body.page-id-229 .es-home .es-header-local ul{list-style:none;margin:0;padding:0}body.page-id-229 .es-home .es-header-local a{text-decoration:none}body.page-id-229 .es-home .es-nav-list>li>a,body.page-id-229 .es-home .es-sub-toggle{display:flex;align-items:center;gap:7px;min-height:44px;padding:10px 8px;color:#202b27;white-space:nowrap;border:0;border-radius:7px;background:transparent;font:inherit;cursor:pointer}body.page-id-229 .es-home .es-header-local :is(a,button):focus-visible{outline:3px solid #ac6200;outline-offset:3px}body.page-id-229 .es-home .es-nav-list>li>a:hover,body.page-id-229 .es-home .es-sub-toggle:hover,body.page-id-229 .es-home .es-sub-toggle[aria-expanded=true]{color:#327039;background:#e7f2e1}body.page-id-229 .es-home .es-nav-group{position:relative}body.page-id-229 .es-home .es-submenu{position:absolute;top:calc(100% + 7px);left:0;width:270px;padding:8px!important;border:1px solid #dce6d7;border-radius:12px;box-shadow:0 6px 20px #233f2410;background:#fff}body.page-id-229 .es-home .es-submenu[hidden]{display:none}body.page-id-229 .es-home .es-submenu a{display:block;padding:12px;min-height:44px;border-radius:7px;color:#202b27}body.page-id-229 .es-home .es-submenu a:hover,body.page-id-229 .es-home .es-submenu a:focus-visible{background:#e7f2e1;color:#327039}body.page-id-229 .es-home .es-header-cta{color:#fff;background:#327039;border:2px solid #327039;border-radius:9px;padding:12px 18px;white-space:nowrap;font-weight:650}body.page-id-229 .es-home .es-header-cta:hover{background:#25572b;border-color:#25572b}body.page-id-229 .es-home .es-menu-toggle{display:none}@media(max-width:1200px){body.page-id-229 .es-home .es-header-row{width:calc(100% - 40px);height:auto;min-height:67px;flex-wrap:wrap;gap:0}body.page-id-229 .es-home .es-header-brand{font-size:25px}body.page-id-229 .es-home .es-menu-toggle{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 12px;border:1px solid #dce6d7;border-radius:9px;background:white;color:#202b27;font:600 14px/1.4 system-ui,sans-serif;cursor:pointer}body.page-id-229 .es-home .es-menu-toggle span{font-size:22px;line-height:1}body.page-id-229 .es-home .es-header-local nav{display:none}body.page-id-229 .es-home .es-header-local.is-open nav{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:12px;padding:8px 0 20px}body.page-id-229 .es-home .es-nav-list{display:block}body.page-id-229 .es-home .es-nav-list>li>a,body.page-id-229 .es-home .es-sub-toggle{width:100%;justify-content:space-between;padding:11px 8px}body.page-id-229 .es-home .es-submenu{position:static;width:auto;margin:0 0 6px 10px!important;padding:4px!important;box-shadow:none;border-radius:9px;background:#f6f8f5}body.page-id-229 .es-home .es-submenu a{padding:10px 12px}body.page-id-229 .es-home .es-header-cta{text-align:center}}@media(max-width:1200px){body.page-id-229 .es-home .es-header-local.is-open nav{gap:6px;padding:2px 0 10px}body.page-id-229 .es-home .es-nav-list>li>a,body.page-id-229 .es-home .es-sub-toggle{min-height:38px;padding-block:8px}body.page-id-229 .es-home .es-submenu{margin-bottom:2px!important;padding:2px!important}body.page-id-229 .es-home .es-submenu a{min-height:36px;padding-block:7px}body.page-id-229 .es-home .es-header-cta{padding-block:10px}
}

/* GeneratePress layout integration, page 229 only. */
body.page-id-229 #masthead,body.page-id-229 #site-navigation,body.page-id-229 #mobile-header{display:none}
body.page-id-229 #page.grid-container{max-width:none}
body.page-id-229 #primary{width:100%}
body.page-id-229 #main{margin:0}
body.page-id-229 #main .inside-article{padding:0;background:transparent}
body.page-id-229 #main .entry-content{margin:0}
body.page-id-229 .es-home .es-header-brand{display:flex;align-items:center}
body.page-id-229 .es-home .es-header-logo{display:block;width:160px;height:auto;max-height:44px;object-fit:contain}
body.page-id-229 .es-home .es-header-local a[aria-disabled="true"]{cursor:default}
@media(max-width:1200px){body.page-id-229 .es-home .es-header-logo{width:140px;max-height:36px}}
