:root{--forest:#234b34;--leaf:#54753c;--cream:#f7f7f0}html{scroll-behavior:smooth;scroll-padding-top:24px}body{color:#435242;background:var(--cream);font-size:18px;line-height:1.65}a{color:var(--forest)}a:hover{color:#6e8435}a:focus-visible,button:focus-visible{outline:3px solid #bdcc62;outline-offset:4px}h1,h2,h3,.h1,.h2,.h3{line-height:1.25;color:var(--forest)}p{line-height:1.65}section{padding:72px 0}section:nth-of-type(even),.fosc{background:#e9eee4}header{height:650px;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1000px #09270e20}header .text-top{padding:60px 0 0!important;text-align:right}header .text-top p{font-size:clamp(28px,4vw,48px);font-weight:600;text-shadow:0 2px 12px #17351e}header .logo{padding-top:70px}header .logo img{max-width:300px}header .nav-container{background:#102d23d9;bottom:0;top:auto;padding:18px 0;height:auto}#nav-menu{display:flex;flex-wrap:wrap;gap:8px}#nav-menu li{float:none;margin:0}#nav-menu li a{padding:14px 18px;height:auto;font-size:15px;border-radius:4px}header .text-info-top{font-size:16px}header .text-info-top a{color:white}img{max-width:100%;height:auto}img.img-circle{box-shadow:0 12px 40px #203b2520}.flexslider{background:transparent;border:0;box-shadow:none;margin-bottom:22px}.flexslider .slides>li:first-child{display:block}.flexslider .slides img{border-radius:8px;max-height:470px;object-fit:cover}.slider-controls{display:flex;justify-content:center;gap:10px;margin-top:12px}.slider-controls button{border:1px solid #899c7c;border-radius:50%;background:white;color:var(--forest);width:44px;height:44px;font-size:24px}.portfolio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%!important;height:auto!important}.portfolio .entry{float:none!important;position:relative!important;top:auto!important;left:auto!important;width:100%!important;margin:0!important;transform:none!important;border-radius:8px;overflow:hidden}.portfolio .entry[hidden]{display:none!important}.portfolio .entry img{width:100%;height:250px;object-fit:cover}.portfolio .overlay{display:block!important;position:static!important;height:auto!important;background:var(--forest)!important;color:white}.portfolio .overlay:empty{display:none!important}.portfolio .overlay a{color:white;display:block;padding:10px}.photo-open{display:block;border:0;padding:0;width:100%;background:transparent;cursor:zoom-in}.photo-dialog{border:0;border-radius:8px;padding:42px 12px 12px;max-width:94vw;max-height:94vh;background:#f7f7f0}.photo-dialog::backdrop{background:#071b10df}.photo-dialog img{display:block;max-height:80vh;max-width:88vw;object-fit:contain}.photo-dialog button{position:absolute;right:10px;top:2px;border:0;background:transparent;font-size:30px;color:var(--forest)}.contact-direct{background:white;border-radius:12px;max-width:850px;margin:30px auto;box-shadow:0 8px 35px #203b2510}.btn{padding:14px 24px;border-radius:4px}.contact-direct .btn{background:var(--forest);color:white;border:0}.blog-item-seguir{display:inline-block;padding:8px 16px;border:1px solid #adb99b;border-radius:4px}footer{line-height:1.7}nav.primary ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.tab-pane{scroll-margin-top:30px}.nav-pills>li>a{border-radius:4px}#pull{color:white}section .h1{font-size:36px}body>section:first-of-type{padding-top:60px}@media(max-width:991px){header .nav-container{position:absolute}header .logo{padding-top:70px}header .text-top{text-align:center}header .logo img{margin:auto}#nav-menu{justify-content:center}.portfolio{grid-template-columns:repeat(2,minmax(0,1fr))}header .text-info-top{font-size:14px}}@media(max-width:767px){body{font-size:17px}header{height:580px}header .logo{padding-top:55px}header .logo img{max-width:250px}header .text-top{padding-top:36px!important}section{padding:42px 0}.portfolio{grid-template-columns:1fr}.portfolio .entry img{height:260px}#nav-menu{display:none!important;margin:12px 0}#nav-menu.menu-open{display:flex!important}#nav-menu li{width:auto}#nav-menu li a{padding:8px 12px}#pull{display:block!important;padding:10px;font-size:18px}.nav-container .row{overflow:visible}header .nav-container{padding:6px 0}header .text-info-top{font-size:15px}.text-top p{margin:0}.nav-pills{display:flex;flex-wrap:wrap;gap:5px}.nav-pills>li{float:none}.photo-dialog{width:95vw}h1,.h1{font-size:30px!important}h2,.h2{font-size:26px!important}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.photo-dialog{position:fixed;inset:0;margin:auto;box-sizing:border-box;width:fit-content;overflow:hidden}.photo-dialog img{max-width:100%;width:auto}.photo-dialog[open]{display:block}@media(max-width:767px){.photo-dialog{width:94vw;margin:auto}.photo-dialog img{max-width:100%}}
.post{text-align:left;line-height:1.75}.post p,.post li{line-height:1.75}.post ul,.post ol{padding-left:25px}.post img{height:auto!important;max-width:100%!important}.post h1{font-size:36px}.post h2{font-size:29px}.post h3{font-size:24px}

/* Bootstrap clearfix pseudo-elements must not occupy CSS grid cells. */
.portfolio::before,.portfolio::after{display:none!important;content:none!important}

.portfolio .entry{height:auto!important;min-height:250px}

html{scroll-padding-top:var(--nav-offset,24px)}
@media(min-width:992px){header .nav-container.is-fixed{position:fixed!important;top:0!important;bottom:auto!important;left:0;right:0;width:100%;z-index:1000;background:rgba(16,45,35,.485);box-shadow:0 4px 16px #0003}}
.projecte{max-width:1200px;margin:0 auto;padding:30px 20px}.project-back{display:block;text-align:left;margin-bottom:24px}.projecte .flexslider .slides img{object-fit:contain;max-height:70vh;width:auto;margin:auto}.projecte .col-xs-5{width:41.6667%}@media(max-width:767px){.projecte .col-xs-5{width:100%}.projecte h3{margin-top:24px!important}}

.photo-dialog img{height:auto!important;width:auto!important;max-height:80vh;max-width:100%;object-fit:contain}

.photo-caption{margin:8px 0 0;font-size:13px;color:#52614e;line-height:1.3}.photo-caption:empty{display:none}.photo-dialog img{max-height:74vh}

/* Subtle gallery feedback, preserving the existing rounded corners. */
.portfolio .photo-open img{transition:filter .22s ease}
.portfolio .photo-open:hover img,.portfolio .photo-open:focus-visible img{filter:brightness(.82)}
@media(prefers-reduced-motion:reduce){.portfolio .photo-open img{transition:none}}

.blog-image-link{display:block;cursor:pointer}.blog-image-link img{transition:filter .22s ease}
.blog-image-link:hover img,.blog-image-link:focus-visible img{filter:brightness(.82)}
@media(prefers-reduced-motion:reduce){.blog-image-link img{transition:none}}
