/* V07. Photographs remain visible: no blue overlay, no text on faces. */
.hero-clear { height:auto; overflow:visible; color:#fff; background:#0043b7; }
.hero-clear .hero-stage { position:relative; max-width:1600px; margin:0 auto; }
.hero-clear .hero-slide { position:relative; inset:auto; display:grid; grid-template-columns:minmax(0,42%) minmax(0,58%); min-height:560px; align-items:stretch; }
.hero-clear .hero-slide[hidden] { display:none!important; }
.hero-clear .hero-content { position:relative; width:auto; max-width:none; margin:0; padding:46px clamp(28px,4vw,64px); align-self:center; }
.hero-clear .hero-content .eyebrow { margin-bottom:22px; font-size:11px; line-height:1.65; letter-spacing:.15em; }
.hero-clear .hero-title { font-size:clamp(45px,4.5vw,70px); line-height:1.04; margin-bottom:23px; max-width:100%; letter-spacing:-.045em; overflow-wrap:break-word; }
.hero-clear .hero-content>p { font-size:16px; line-height:1.65; max-width:440px; margin:0 0 27px; }
.hero-clear .hero-content>.button { font-size:13px; padding:16px 22px; }
.hero-clear .hero-visual { min-width:0; margin:0; display:flex; flex-direction:column; justify-content:center; background:#082a5c; padding:28px 32px 16px 26px; }
.hero-clear .hero-open { position:relative; width:100%; aspect-ratio:3/2; padding:0; margin:0; background:#082a5c; border:0; border-radius:3px; display:flex; align-items:center; justify-content:center; overflow:hidden; cursor:zoom-in; }
.hero-clear .hero-open:focus-visible { outline:3px solid #fff; outline-offset:4px; }
.hero-clear .hero-photo { position:absolute; inset:0; padding:0; width:100%; height:100%; object-fit:contain; object-position:50% 50%!important; background:transparent; opacity:1; filter:none; transform:none; }
.hero-clear .hero-open[data-fit=cover] .hero-photo { object-fit:cover; object-position:var(--photo-position,50% 40%)!important; }
.hero-clear .hero-photo-caption { position:static; display:flex; justify-content:space-between; align-items:center; gap:15px; max-width:none; width:100%; padding:14px 0 0; font-size:11px; text-align:left; line-height:1.5; color:#edf3fc; text-shadow:none; }
.hero-clear .hero-zoom-hint { flex-shrink:0; font-size:10px; color:#d0e1ff; }
.hero-clear .hero-controls-shell { border-top:1px solid #ffffff28; }
.hero-clear .hero-controls { position:static; top:auto; min-height:66px; gap:22px; margin:0 auto; pointer-events:auto; }
.hero-clear .hero-control-buttons { display:flex; gap:10px; margin-left:auto; }
.hero-clear .slider-control { width:38px; height:38px; font-size:17px; }
.hero-clear .slider-dots button { width:30px; height:26px; position:relative; background:transparent; border:0; padding:0; }
.hero-clear .slider-dots button::before { content:""; display:block; width:24px; height:3px; margin:auto; background:#ffffff50; transition:background .2s; }
.hero-clear .slider-dots button[aria-pressed=true]::before { background:#fff; }
/* Show entire photographs in news previews and gallery; captions have their own row. */
.news-photo img { object-fit:contain; object-position:center!important; transform:none!important; }
.photo-grid .photo-tile { height:auto; display:flex; flex-direction:column; border:1px solid #e0e7f0; background:#eef3fa; }
.photo-grid .photo-tile>img { height:260px; object-fit:contain; object-position:center!important; transform:none!important; }
.photo-grid .photo-tile>span { position:static; background:#fff; color:#0043b7; padding:15px 16px; min-height:62px; align-items:center; flex:1; }
.feature-testo .module-figure>img, .feature-archivio .module-figure>img { object-fit:contain; object-position:center!important; background:#eef3fa; }
.congress-gallery .photo-tile>img { height:340px; }
.lightbox figure img { object-fit:contain; }
@media(min-width:1800px) { .hero-clear .hero-slide {min-height:615px;} }
@media(max-width:1080px) and (min-width:761px) {
 .hero-clear .hero-slide { grid-template-columns:minmax(0,43%) minmax(0,57%); min-height:510px; }
 .hero-clear .hero-content { padding:32px 28px; }
 .hero-clear .hero-title { font-size:46px; }
 .hero-clear .hero-content>p { font-size:14px; }
 .hero-clear .hero-visual { padding:24px 22px 18px; }
}
@media(max-width:760px) {
 .hero-clear .hero-slide { display:flex; flex-direction:column; min-height:0; }
 .hero-clear .hero-visual { order:-1; padding:0; }
 .hero-clear .hero-open { border-radius:0; width:100%; aspect-ratio:3/2; max-height:440px; }
 .hero-clear .hero-photo { height:100%; top:0; bottom:0; object-fit:contain!important; object-position:center!important; }
 .hero-clear .hero-open[data-fit-mobile=cover] .hero-photo { object-fit:cover!important; object-position:var(--photo-position,50% 40%)!important; }
 .hero-clear .hero-photo-caption { display:flex; padding:11px 20px 13px; font-size:10px; gap:12px; }
 .hero-clear .hero-zoom-hint { font-size:9px; }
 .hero-clear .hero-content { align-self:stretch; padding:28px 22px 29px; }
 .hero-clear .hero-content .eyebrow { font-size:9px; margin-bottom:14px; letter-spacing:.14em; }
 .hero-clear .hero-title { font-size:clamp(36px,7.2vw,49px); line-height:1.05; margin-bottom:17px; max-width:100%; }
 .hero-clear .hero-content>p { font-size:13px; line-height:1.65; max-width:520px; margin-bottom:22px; }
 .hero-clear .hero-content>.button { font-size:12px; padding:13px 18px; }
 .hero-clear .hero-controls { min-height:61px; gap:13px; width:calc(100% - 40px); }
 .hero-clear .hero-control-buttons { gap:7px; }
 .hero-clear .slider-control { width:32px; height:32px; }
 .hero-clear .slider-dots { gap:3px; }
 .hero-clear .slider-dots button { width:24px; }
 .hero-clear .slider-dots button::before { width:18px; }
 .photo-grid .photo-tile>img { height:220px; }
 .photo-grid .photo-tile>span { font-size:11px; padding:12px; min-height:64px; }
 .congress-gallery .photo-tile>img { height:300px; }
}
@media(max-width:380px) { .hero-clear .hero-controls { gap:7px; } .hero-clear .slider-dots button {width:20px;} .hero-clear .hero-content {padding:25px 19px;} .photo-grid{grid-template-columns:1fr;} .photo-grid .photo-tile>img{height:260px;} }
@media print { .hero-clear .hero-slide{display:block;} .hero-clear .hero-content{color:#000;padding:20px;} .hero-clear .hero-content>*{color:#000!important;} .hero-clear .hero-visual{padding:0;background:#fff;} .hero-clear .hero-controls-shell{display:none;} }
/* Avoid duplicate indicators from the legacy stylesheet. */
.hero-clear .slider-dots button::after { content:none; }
/* Do not stretch a small source photograph beyond its native CSS width. */
.hero-clear .hero-photo { max-width:min(100%,var(--photo-native-width,100%)); margin:auto; }
.hero-clear .hero-open[data-fit=cover] .hero-photo { max-width:100%; }
@media(max-width:760px) { .hero-clear .hero-open[data-fit-mobile=contain] .hero-photo { max-width:min(100%,var(--photo-native-width,100%)); } .hero-clear .hero-open[data-fit-mobile=cover] .hero-photo { max-width:100%; } }
