:root{--orange:#df5b2b;--blue:#192742;--muted:#6f7f7d;--text:#1d1d1d;--max:1120px}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff;font-size:15px;line-height:1.45}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{max-width:var(--max);margin:auto;padding:64px 24px}.site-header{height:105px;display:flex;align-items:center;gap:36px;padding:16px 7%;background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 1px 0 #eee}.logo img{width:70px}.site-header nav{display:flex;gap:34px;margin-left:auto;text-transform:uppercase;font-size:13px}.site-header nav a{padding:8px 0;border-bottom:3px solid transparent}.site-header nav a:hover{border-color:var(--muted)}.langs{display:flex;gap:8px;font-weight:700;font-size:12px}.burger{display:none;background:none;border:0;font-size:26px}.hero{position:relative;min-height:360px;display:flex;align-items:center;overflow:hidden}.hero video,.hero:before{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:before{content:"";background:url('../img/hero.jpg') center/cover no-repeat}.hero-overlay{position:absolute;inset:0;background:rgba(25,39,66,.72)}.hero-content{position:relative;color:#fff;margin-left:7%;max-width:520px}.hero h1{font-size:42px;letter-spacing:5px;margin:0 0 10px}.hero p{font-weight:700}.btn,.small-btn{display:inline-block;border:1px solid var(--text);padding:12px 28px;background:#fff;text-transform:uppercase;font-weight:700;font-size:12px;cursor:pointer}.btn.light{border-color:#fff;background:transparent;color:#fff}.about h2,.about h3,.contact h3{color:var(--orange);font-size:18px}.counter{width:105px;height:105px;border:2px solid var(--orange);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:45px auto;color:var(--orange);font-weight:700}.counter strong{font-size:26px}.featured h2,.companies h2,.projects h2{text-align:center;font-size:28px;color:var(--orange)}.featured h2::after{content:' ';color:#8a918f;font-weight:400}.cards,.company-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:54px}.cards article{text-align:center}.cards img{aspect-ratio:1.35;object-fit:cover;background:#eee}.cards h3,.projects h3{font-weight:800;text-transform:uppercase;font-style:italic}.small-btn{padding:7px 18px;border-radius:20px;background:#78918b;color:#fff;border:0}.company{text-align:center}.company>a img{height:105px;object-fit:contain;margin:auto;transition:.25s}.company>a:hover img{transform:scale(1.08)}.service-toggle{margin:22px auto;border:1px solid #777;background:#fff;padding:9px 24px;cursor:pointer}.service-list{display:none;text-align:left;line-height:1.9;max-width:330px;margin:10px auto}.service-list.open{display:block}.projects h3{text-align:center;margin-top:70px;font-size:24px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery-item{border:0;padding:0;background:none;cursor:zoom-in}.gallery img{width:100%;height:190px;object-fit:cover;background:#e8e8e8}.contact{display:grid;grid-template-columns:1fr 2fr 1fr;gap:38px;align-items:start}.orange{color:var(--orange);font-weight:700}.contact-form label{display:block;margin-bottom:13px;font-size:12px}.contact-form input,.contact-form textarea{width:100%;border:1px solid #ccc;padding:11px;margin-top:4px}.contact-form textarea{height:120px}.check{display:flex!important;gap:8px;align-items:flex-start}.check input{width:auto}.legal-text{font-size:10px;color:#666}.notice{padding:12px;margin-bottom:15px}.ok{background:#edf8ef}.error{background:#fff0f0}footer{display:grid;grid-template-columns:100px 1fr 220px;gap:35px;padding:45px 7%;font-size:13px}footer img{width:75px}footer ul{list-style:none;padding:0;margin:0}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:50;display:grid;place-items:center;padding:60px}.lightbox img{max-height:88vh}.lightbox .close{position:absolute;top:20px;right:35px;font-size:44px;background:none;border:0;color:#fff;cursor:pointer}.cookie-banner{position:fixed;inset:0;background:rgba(25,25,35,.78);z-index:60;display:grid;place-items:center;padding:18px}.cookie-modal{background:#fff;max-width:560px;padding:28px;box-shadow:0 20px 80px rgba(0,0,0,.25);position:relative}.cookie-modal h2{margin-top:0}.cookie-modal label{display:block;margin:14px 0}.cookie-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.cookie-actions button,.cookie-x{border:1px solid #111;background:#111;color:#fff;padding:10px 16px;cursor:pointer}.cookie-x{position:absolute;right:12px;top:10px;background:#fff;color:#111;border:0;font-size:18px}@media(max-width:850px){.site-header{height:auto;flex-wrap:wrap}.burger{display:block;margin-left:auto}.site-header nav{display:none;width:100%;flex-direction:column;gap:8px}.site-header nav.open{display:flex}.cards,.company-grid,.contact,footer{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.hero-content{margin:0 24px}.hero h1{font-size:32px}}
.cookie-banner[hidden]{display:none!important}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.lightbox[hidden]{display:none!important}

/* Fix: uniform project gallery thumbnails, including Passeig Sant Joan */
.projects .gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:stretch}
.projects .gallery .gallery-item{grid-column:auto!important;grid-row:auto!important;width:100%;height:auto}
.projects .gallery .gallery-item img{width:100%;height:190px!important;aspect-ratio:auto!important;object-fit:cover}
@media(max-width:850px){.projects .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.projects .gallery .gallery-item img{height:170px!important}}

/* v4 fixes */
html{scroll-behavior:smooth;scroll-padding-top:120px}
.companies.container,.projects.container{padding-top:48px}
.companies>h2,.projects>h2{display:none!important}
.counter{width:138px;height:138px;padding:28px;margin:55px auto;border-width:2px;gap:2px}
.counter strong{font-size:30px;line-height:1.05}.counter span{font-size:16px;line-height:1.1;color:#111;font-weight:500;text-transform:uppercase;text-align:center}
.social-icons{display:flex;gap:8px;align-items:center}.social-icons img{width:28px;height:28px;display:inline-block}
footer{grid-template-columns:100px 1fr 310px 220px;align-items:end}.funding-logos{display:flex;gap:8px;align-items:center;justify-content:flex-end}.funding-logos img{height:34px;width:auto;object-fit:contain;max-width:96px}
@media(max-width:850px){footer{grid-template-columns:1fr}.funding-logos{justify-content:flex-start;flex-wrap:wrap}.counter{width:128px;height:128px}}

.lightbox-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:56px;
    height:56px;
    border:none;
    border-radius:50%;
    background:rgba(255,255,255,.15);
    backdrop-filter:blur(10px);
    color:#fff;
    font-size:32px;
    cursor:pointer;
    z-index:9999;
    transition:.2s;
}

.lightbox-arrow:hover{
    transform:translateY(-50%) scale(1.08);
}

.lightbox-arrow.prev{
    left:30px;
}

.lightbox-arrow.next{
    right:30px;
}

.lightbox img{
    max-width:90vw;
    max-height:90vh;
    object-fit:contain;
}
