.h4a-lab-cover {display:block; width:100%; height:auto;}
body.single-h4a_lab div.h4a-lab-description {width:100%!important; max-width:none!important;}
.h4a-lab-motivation {width:100%; max-width:none; margin:40px 0 55px;}
.h4a-lab-motivation-text {width:100%; max-width:none; font-size:17px; line-height:1.65; color:inherit;}
.h4a-lab-motivation-text p {width:100%; max-width:none; font-size:inherit; line-height:inherit; margin:0 0 14px;}
.h4a-lab-motivation-text p:last-child {margin-bottom:0;}
.h4a-lab-info {margin:20px 0 0;}
.h4a-lab-info .h4a-lab-info-row {margin:0 0 14px;}
.h4a-lab-info dt {font-weight:600; font-size:.85em; opacity:.7; margin:0 0 3px;}
.h4a-lab-info dd {margin:0;}
.h4a-lab-category {display:inline-block; max-width:100%; padding:5px 16px; border:1px solid #111; border-radius:999px; background:#fff; color:#111; font-size:12px; line-height:1.3; letter-spacing:.02em; overflow-wrap:anywhere;}
body.single-h4a_lab h1.h4a-lab-title {font-size:48px!important; font-weight:700!important; line-height:1.05!important; color:#000; margin:8px 0 12px!important; overflow-wrap:anywhere;}
body.single-h4a_lab .h4a-lab-summary {font-family:inherit; font-size:16px; line-height:1.5; margin:18px 0 0;}
.h4a-lab-summary dl.h4a-lab-summary-line {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:0 0 18px; padding:0;}
.h4a-lab-summary dl.h4a-lab-summary-line:last-of-type {margin-bottom:0;}
.h4a-lab-summary .h4a-lab-summary-item {min-width:0; margin:0!important; padding:0; overflow-wrap:anywhere;}
body.single-h4a_lab .h4a-lab-summary .h4a-lab-summary-item dt {display:block; font-family:inherit!important; font-size:14px!important; line-height:1.4; font-weight:500!important; color:#555; opacity:1; margin:0 0 4px; padding:0;}
body.single-h4a_lab .h4a-lab-summary .h4a-lab-summary-item dd {font-family:inherit!important; font-size:22px!important; line-height:1.5; font-weight:700!important; color:#111; margin:0!important; padding:0!important;}
.h4a-lab-summary .h4a-lab-website {margin:18px 0 0; text-align:left;}
.h4a-lab-summary a.h4a-lab-website-link {box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; gap:8px; width:auto; max-width:100%; min-height:42px; padding:10px 22px; border:1px solid #111; border-radius:999px; background:#111; color:#fff!important; font-size:14px; font-weight:600; line-height:1.3; text-decoration:none!important;}
.h4a-lab-summary a.h4a-lab-website-link:hover {background:#333; border-color:#333;}
.h4a-lab-summary a.h4a-lab-website-link:focus-visible {outline:2px solid #111; outline-offset:3px;}
.h4a-lab-gallery {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:24px 0;}
.h4a-lab-photo-link {display:block; overflow:hidden; border-radius:8px;}
.h4a-lab-gallery .h4a-lab-photo-link {aspect-ratio:4/3;}
.h4a-lab-photo-link img.h4a-lab-photo {display:block; width:100%; height:100%; object-fit:cover; margin:0; transition:transform .2s ease;}
.h4a-lab-photo-link:hover img.h4a-lab-photo {transform:scale(1.025);}
.h4a-lab-timeline {--h4a-lab-accent:var(--nectar-accent-color,#c53e2d); margin:48px 0;}
.h4a-lab-timeline h2 {margin:0 0 32px;}
.h4a-lab-timeline ol.h4a-lab-timeline-list {list-style:none; padding:0; margin:0;}
.h4a-lab-timeline li.h4a-lab-timeline-item {list-style:none; position:relative; display:grid; grid-template-columns:160px minmax(0,1fr); gap:36px; margin:0; padding:0 0 28px;}
.h4a-lab-timeline-item::before {content:""; position:absolute; left:177px; top:19px; bottom:-19px; width:2px; background:#e5e5e5;}
.h4a-lab-timeline-item:last-child::before {bottom:28px;}
.h4a-lab-timeline-item::after {content:""; position:absolute; left:172px; top:25px; width:12px; height:12px; border-radius:50%; background:var(--h4a-lab-accent); box-shadow:0 0 0 5px #fff;}
.h4a-lab-date {font-size:.9em; font-weight:600; padding-top:20px; text-align:right; white-space:normal;}
.h4a-lab-card {min-width:0; padding:24px; border:1px solid #e7e7e7; border-radius:10px; background:#fff; color:#222;}
.h4a-lab-card h3 {margin:8px 0 14px; line-height:1.35; color:inherit;}
.h4a-lab-type {display:inline-block; font-size:.75em; font-weight:600; color:var(--h4a-lab-accent);}
.h4a-lab-card p {margin:0 0 14px;}
.h4a-lab-card p:last-child {margin-bottom:0;}
.h4a-lab-outcome {margin:18px 0; padding:14px 16px; background:#f7f7f7; border-left:3px solid var(--h4a-lab-accent); border-radius:0 6px 6px 0;}
.h4a-lab-outcome strong {display:block; font-size:.85em; margin-bottom:5px;}
/* Activity media: compact, left-aligned and consistent without dominating the card. */
.h4a-lab-card > .h4a-lab-photo-link {width:58%; max-width:620px; aspect-ratio:4/3; margin:18px 0 0; overflow:hidden;}
.h4a-lab-card > .h4a-lab-photo-link img.h4a-lab-photo {width:100%; height:100%; max-height:none; object-fit:cover; object-position:center; margin:0;}
.h4a-lab-activity-gallery {display:grid; gap:10px; margin:18px 0 0; max-width:760px;}
.h4a-lab-activity-gallery--two {grid-template-columns:repeat(2,minmax(0,1fr)); width:58%; max-width:620px;}
.h4a-lab-activity-gallery--many {grid-template-columns:repeat(3,minmax(0,1fr)); width:68%;}
.h4a-lab-activity-gallery .h4a-lab-photo-link {aspect-ratio:4/3; margin:0; min-width:0;}
.h4a-lab-activity-gallery .h4a-lab-photo-link img.h4a-lab-photo {width:100%; height:100%; max-height:none; object-fit:cover; object-position:center; margin:0;}
.h4a-lab-activity-video {margin:18px 0 0; overflow:hidden; border-radius:8px; background:#000;}
.h4a-lab-activity-video--standard {width:58%; max-width:620px; aspect-ratio:16/9;}
.h4a-lab-activity-video--short {width:320px; max-width:100%; aspect-ratio:9/16;}
.h4a-lab-activity-video iframe {display:block; width:100%!important; height:100%!important; max-width:none!important; border:0;}
.h4a-lab-read-more {display:inline-block; margin-top:18px; font-weight:600; text-decoration:underline; text-underline-offset:3px;}
button.h4a-lab-show-more {display:block; margin:8px 0 0 196px; padding:13px 22px; border:1px solid var(--h4a-lab-accent); border-radius:6px; background:var(--h4a-lab-accent); color:#fff; font:inherit; font-weight:600; cursor:pointer;}
.h4a-lab-timeline [hidden], .h4a-lab-lightbox [hidden] {display:none!important;}
.h4a-lab-timeline button:focus-visible, .h4a-lab-photo-link:focus-visible, .h4a-lab-lightbox button:focus-visible {outline:3px solid currentColor; outline-offset:4px;}
dialog.h4a-lab-lightbox {box-sizing:border-box; padding:44px 52px 18px; border:0; border-radius:10px; background:#151515; color:#fff; width:max-content; max-width:calc(100vw - 32px); max-height:calc(100vh - 32px); margin:auto;}
dialog.h4a-lab-lightbox::backdrop {background:rgba(0,0,0,.85);}
.h4a-lab-lightbox img {display:block; max-width:calc(100vw - 136px); max-height:calc(100vh - 150px); width:auto; height:auto; margin:0 auto; object-fit:contain;}
.h4a-lab-lightbox p {margin:12px 0 0; font-size:.85em; text-align:center; color:#fff;}
.h4a-lab-lightbox button {position:absolute; display:block; padding:8px; border:0; background:transparent; color:#fff; cursor:pointer; font:inherit; font-size:26px; line-height:1;}
.h4a-lab-lightbox-close {top:8px; right:12px;}
.h4a-lab-lightbox-previous {left:8px; top:50%;}
.h4a-lab-lightbox-next {right:8px; top:50%;}
@media (max-width:767px) {
  .h4a-lab-motivation {margin:32px 0 42px;}
  .h4a-lab-motivation-text {font-size:16px;}
  body.single-h4a_lab h1.h4a-lab-title {font-size:32px!important; line-height:1.1!important;}
  .h4a-lab-summary dl.h4a-lab-summary-line {gap:16px;}
  .h4a-lab-gallery {grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;}
  .h4a-lab-timeline li.h4a-lab-timeline-item {grid-template-columns:minmax(0,1fr); gap:10px; padding:0 0 24px 28px;}
  .h4a-lab-timeline-item::before {left:5px; top:14px; bottom:-14px;}
  .h4a-lab-timeline-item::after {left:0; top:9px;}
  .h4a-lab-date {padding-top:0; text-align:left;}
  .h4a-lab-card {padding:20px;}
  .h4a-lab-card > .h4a-lab-photo-link,
  .h4a-lab-activity-gallery--two,
  .h4a-lab-activity-gallery--many,
  .h4a-lab-activity-video--standard {width:100%; max-width:none;}
  .h4a-lab-activity-video--short {width:min(320px,100%); max-width:100%;}
  .h4a-lab-activity-gallery--many {grid-template-columns:repeat(2,minmax(0,1fr));}
  button.h4a-lab-show-more {margin-left:28px;}
}
@media (max-width:420px) {
  .h4a-lab-gallery {grid-template-columns:minmax(0,1fr);}
  .h4a-lab-activity-gallery--two, .h4a-lab-activity-gallery--many {grid-template-columns:minmax(0,1fr);}
  dialog.h4a-lab-lightbox {padding-left:36px; padding-right:36px;}
  .h4a-lab-lightbox img {max-width:calc(100vw - 104px);}
}
@media (prefers-reduced-motion:reduce) {
  .h4a-lab-photo-link img.h4a-lab-photo {transition:none;}
}

/* Same-page CTA target: keep the contact form clear of the sticky header. */
body.single-h4a_lab #contatti {scroll-margin-top:120px;}
