.public-icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle;margin-right:8px}.public-header{position:relative;z-index:10}.public:has(.home-carousel) .public-header{position:absolute;top:0;left:0;width:100%;background:transparent;backdrop-filter:none}.public .contactbar{align-items:center;min-height:42px;background:rgba(242,238,231,.75);padding-top:4px;padding-bottom:4px}.top-social{display:flex;align-items:center;gap:9px}.top-social>a{display:inline-flex;align-items:center;white-space:nowrap}.top-social .social-link,.footer-social .social-link{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%}.social-link .public-icon{margin:0;width:17px;height:17px}.public .publicnav{background:transparent;min-height:100px;padding-top:18px;padding-bottom:18px}.public .home-carousel .hero-inner{padding-top:240px;padding-bottom:80px}.public .contact-section{align-items:start;gap:48px}.contact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.contact-card{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line,#ddd);border-radius:14px;padding:22px;background:#fff;box-shadow:0 6px 22px #172b2007;min-width:0}.contact-card>.public-icon{color:var(--olive);width:25px;height:25px;margin:0}.contact-card h3{font:600 13px/1.4 Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px;color:var(--olive)}.contact-card a,.contact-card p{font-size:16px!important;line-height:1.6;overflow-wrap:anywhere;margin:0;text-decoration:none}.contact-card small{display:block;font-size:12px;line-height:1.5;margin-top:8px;color:#62665f}.contact-cards>p{grid-column:1/-1;font-size:14px}.site-footer{padding:30px 28px 0;font-size:13px;line-height:1.6}.site-footer-inner{gap:32px;padding-bottom:22px}.site-footer h2{font-size:20px;margin-bottom:16px}.site-footer h2:after{margin-top:8px}.site-footer address{margin-bottom:10px}.footer-contacts{gap:5px}.footer-contacts a:before{display:none!important}.footer-links{gap:9px 18px}.footer-highlights{gap:7px}.site-footer-bottom{padding:12px 0}.footer-social{max-width:1150px;margin:0 auto 14px;display:flex;gap:8px}.site-footer-contact .footer-whatsapp .public-icon{width:18px;height:18px}.site-footer .footer-note{display:block;margin:6px 0;font-size:11px}.site-footer-contact>a{margin:6px 0}.public>.language-picker{margin:12px 4% 12px auto;width:max-content}
@media(max-width:1000px){.contact-cards{grid-template-columns:1fr}.public .publicnav nav{gap:14px}.top-social>a:first-child{font-size:11px}}
@media(max-width:760px){.public .contactbar{padding:6px 14px;flex-wrap:wrap;justify-content:space-between;gap:4px}.contactbar>span{font-size:10px}.top-social{gap:6px}.top-social>a:first-child{font-size:10px}.top-social .social-link{width:30px;height:30px}.public .publicnav{gap:12px;padding:12px 18px}.public .publicnav img{width:175px}.public .home-carousel .hero-inner{padding-top:300px;padding-bottom:55px}.public .contact-section{gap:24px}.contact-card{padding:18px}.site-footer{padding:25px 20px 0}.site-footer-inner{grid-template-columns:1fr;gap:24px;padding-bottom:18px}.site-footer-inner>section:last-child{grid-column:auto}.site-footer h2{margin-bottom:12px}.site-footer-bottom>div{gap:4px}.public .contactbar .language-picker{margin:0}}

/* V028 — photograph fills the opening screen, including the transparent header. */
.public:has(.home-carousel) .public-header,.public:has(.home-carousel) .contactbar,.public:has(.home-carousel) .publicnav{background:transparent!important;backdrop-filter:none!important;box-shadow:none;border:0}
.public:has(.home-carousel) .contactbar,.public:has(.home-carousel) .publicnav,.public:has(.home-carousel) .publicnav nav>a:not(.button),.public:has(.home-carousel) .language-picker{color:#fff;text-shadow:0 1px 5px #0009}
.public:has(.home-carousel) .language-picker summary{background:transparent;border-color:#ffffff70}
.public:has(.home-carousel) .language-picker nav{color:#263b30;text-shadow:none}
.public .publicnav img{width:290px;max-width:100%;height:auto;max-height:105px;object-fit:contain;filter:drop-shadow(0 2px 5px #0007)}
.public .publicnav img.home-logo-light{filter:brightness(0) invert(1) drop-shadow(0 2px 5px #0008)}
.public .home-carousel .home-slide{min-height:100vh;min-height:100svh}
.public .home-carousel .home-slide::after{background:rgba(0,0,0,.27)}
.public .home-carousel .hero-inner{padding-top:230px;padding-bottom:100px;text-shadow:0 2px 8px #0006}
.public .home-carousel .hero-inner .button{text-shadow:none}
.public .home-carousel-dots{position:relative;background:#fff}
@media(max-width:760px){.public .publicnav img{width:225px;max-height:90px}.public .home-carousel .hero-inner{padding-top:310px;padding-bottom:65px}.public .publicnav nav>a:not(.button){text-shadow:0 1px 5px #000}.public .publicnav nav{row-gap:10px}.public .contactbar>span{max-width:none}}
@media(max-width:400px){.public .home-carousel .hero-inner{padding-top:350px}.public .publicnav img{width:200px}}
/* V029 — compact navigation remains visible while browsing the page. */
.public:has(.home-carousel) .public-header.is-compact{position:fixed;inset:0 0 auto;z-index:100;background:var(--olive,#294437)!important;box-shadow:0 2px 12px #0002}
.public-header.is-compact .contactbar{display:none}
.public .public-header.is-compact .publicnav{min-height:68px;padding-top:9px;padding-bottom:9px;gap:20px}
.public .public-header.is-compact .publicnav img{width:175px;max-height:50px}
.public .public-header.is-compact .publicnav nav>a{font-size:13px}
.public .public-header.is-compact .publicnav nav .button{min-height:40px;padding:9px 16px}
.public:has(.public-header) [id]{scroll-margin-top:calc(var(--public-menu-height,0px) + 24px)}
@media(max-width:760px){.public .public-header.is-compact .publicnav{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:7px 16px;padding:8px 14px}.public .public-header.is-compact .publicnav img{width:140px;max-height:40px}.public .public-header.is-compact .publicnav nav{gap:7px 12px}.public .public-header.is-compact .publicnav nav>a{font-size:12px}.public .public-header.is-compact .publicnav nav .button{min-height:36px;padding:7px 10px}}
/* V031 — softer compact header and larger contact details. */
.public:has(.home-carousel) .public-header.is-compact{background:rgba(41,68,55,.2)!important;background:color-mix(in srgb,var(--olive,#294437) 20%,transparent)!important;backdrop-filter:none!important;box-shadow:0 2px 12px #0001}
.public .publicnav{transition:padding .5s ease,min-height .5s ease,gap .5s ease}
.public .publicnav img{transition:width .5s ease,max-height .5s ease}
.public .publicnav nav>a{transition:font-size .5s ease,padding .5s ease}
.public .contactbar{max-height:160px;opacity:1;transition:max-height .5s ease,opacity .35s ease,padding .5s ease}
.public-header.is-compact .contactbar{display:flex;max-height:0;min-height:0;padding-top:0;padding-bottom:0;opacity:0;overflow:hidden;pointer-events:none;visibility:hidden}
.public .contactbar>span,.public .contactbar .top-social>a:first-child{font-size:18px;line-height:1.5;font-weight:500}
.public .contactbar .top-social>a:first-child .public-icon{width:21px;height:21px}
@media(max-width:760px){.public .contactbar>span,.public .contactbar .top-social>a:first-child{font-size:16px}.public .contactbar{row-gap:8px}}
@media(prefers-reduced-motion:reduce){.public .publicnav,.public .publicnav img,.public .publicnav nav>a,.public .contactbar{transition:none}}

.public .public-header{transition:background-color .5s ease,box-shadow .5s ease}
@media(prefers-reduced-motion:reduce){.public .public-header{transition:none}}
