/* Proteon 6.5 – safe WordPress/Elementor live-site layout corrections. */
/* 1. Footer image had been stretched vertically by Elementor/global image rules. */
.proteon-wordpress .footer .footer-logo,
.proteon-wordpress .footer a.footer-logo {
  display:inline-flex !important; align-items:center; justify-content:center;
  width:193px !important; min-height:66px; height:auto !important;
  max-width:100%; padding:13px 14px !important; border-radius:12px;
  background:#fff; overflow:hidden; box-sizing:border-box; text-decoration:none;
}
.proteon-wordpress .footer .footer-logo img,
.proteon-wordpress .footer a.footer-logo img {
  display:block !important; width:165px !important; height:auto !important;
  max-width:100% !important; max-height:48px !important;
  min-height:0 !important; aspect-ratio:2048 / 482 !important;
  object-fit:contain !important; object-position:center !important;
  transform:none !important; margin:0 !important; padding:0 !important;
}
.proteon-wordpress .footer .footer-top {
  display:grid; grid-template-columns:minmax(235px,1.45fr) minmax(125px,.8fr) minmax(150px,.92fr) minmax(190px,1fr);
  gap:clamp(23px,3.2vw,46px); align-items:start;
}
.proteon-wordpress .footer .footer-top > div {min-width:0;}
.proteon-wordpress .footer .footer-top > div:first-child {max-width:360px;}
.proteon-wordpress .footer .footer-top p {line-height:1.8;overflow-wrap:anywhere;}
.proteon-wordpress .footer .footer-top h3 {margin:0 0 17px;}
.proteon-wordpress .footer .footer-top a:not(.footer-logo) {line-height:1.55;}
/* 2. Fix gray empty area: Elementor sets img height:auto, overruling theme's height:100%. */
.proteon-wordpress .p6-park-panel {align-items:stretch !important;}
.proteon-wordpress .p6-park-panel > .p6-park-visual,
.proteon-wordpress .p6-park-panel .p6-park-visual {
  position:relative !important; align-self:stretch !important; min-height:510px;
  height:100% !important; overflow:hidden !important;
  background:#d5d9df;
}
.proteon-wordpress .p6-park-visual img.p6-park-image {
  display:block !important; position:absolute !important;
  inset:0 !important; width:100% !important; height:100% !important;
  min-height:100% !important; max-width:none !important; max-height:none !important;
  aspect-ratio:auto !important; object-fit:cover !important;
  object-position:center center !important; transform:none !important;
}
.proteon-wordpress .p6-park-visual::after {
  background:linear-gradient(to top,rgba(4,20,34,.64) 0%,rgba(4,20,34,.2) 24%,transparent 54%) !important;
}
.proteon-wordpress .p6-park-image-caption {bottom:22px;}
.proteon-wordpress .p6-park-brand-card img {
  width:59px !important; height:56px !important; object-fit:contain !important;
}
/* 3. Image crop sizes also on the destination Park landing and solution card grids. */
.proteon-wordpress .park-hero-media > img,
.proteon-wordpress .park-detail-visual > img,
.proteon-wordpress .card-photo > img,
.proteon-wordpress .sector .card-photo > img {
  width:100% !important; height:100% !important;
  max-height:none !important; object-fit:cover !important;
}
.proteon-wordpress .park-hero-media > img {position:absolute !important;inset:0 !important;}
.proteon-wordpress .sector .card-photo {aspect-ratio:16 / 9; height:auto; min-height:146px;}
.proteon-wordpress .sector .card-photo > img {position:absolute !important;inset:0 !important;}
.proteon-wordpress .sector .card-photo::before {content:"";position:absolute;inset:0;background-image:var(--photo-bg);background-position:center;background-size:cover;}
.proteon-wordpress .sector .photo-credit-tag {position:absolute;z-index:1;bottom:12px;left:13px;}
/* Mobile layout: allow the Park image to follow the text and fill its box without extra gray strip. */
@media (max-width:1040px) {
 .proteon-wordpress .footer .footer-top {grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;}
 .proteon-wordpress .footer .footer-top>div:first-child {grid-column:auto;max-width:100%;}
}
@media (max-width:820px) {
 .proteon-wordpress .p6-park-panel {display:grid !important;grid-template-columns:1fr !important;}
 .proteon-wordpress .p6-park-panel > .p6-park-visual {height:375px !important;min-height:375px !important;}
}
@media (max-width:600px) {
 .proteon-wordpress .p6-park-panel > .p6-park-visual {height:315px !important;min-height:315px !important;}
 .proteon-wordpress .p6-park-visual img.p6-park-image {object-position:center center !important;}
 .proteon-wordpress .footer .footer-top {grid-template-columns:1fr;gap:25px;}
 .proteon-wordpress .footer .footer-top>div:first-child {grid-column:auto;}
 .proteon-wordpress .footer {padding-top:45px;}
 .proteon-wordpress .footer .footer-bottom {display:flex;flex-direction:column;gap:7px;margin-top:30px;}
 .proteon-wordpress .sector .card-photo {aspect-ratio:16 / 10;}
}

/* Transparent, accessible photo credits in Elementor's editable HTML section. */
.proteon-wordpress .proteon-credits-list {padding-top:58px;padding-bottom:70px;}
.proteon-wordpress .proteon-credits-list h2 {font-size:clamp(27px,3vw,38px);color:#0b2545;}
.proteon-wordpress .proteon-credits-list p {font-size:14px;max-width:800px;color:#526477;line-height:1.8;}
.proteon-wordpress .photo-license-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px;}
.proteon-wordpress .photo-license-item {background:#fff;padding:17px 20px;border:1px solid #dce7ef;border-radius:10px;font-size:12px;line-height:1.8;color:#39526a;}
.proteon-wordpress .photo-license-item strong {color:#0b2545;font-size:13px;}
.proteon-wordpress .photo-license-item a {color:#155eb9;text-decoration:underline;text-underline-offset:2px;}
@media(max-width:650px){.proteon-wordpress .photo-license-grid{grid-template-columns:1fr}}
