:root{--blue:#133ff0;--ink:#142431;--yellow:#dfff75;--paper:#f6f8fb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:white;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ff9e30;outline-offset:5px}.skip{position:fixed;top:-100px;z-index:10;background:white;padding:12px}.skip:focus{top:0}header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e0e5ec;background:white}.brand{font-size:38px;font-weight:900;letter-spacing:-2px;line-height:1}.brand span{display:block;font-size:10px;letter-spacing:1.5px;font-weight:700;margin-top:8px}nav{display:flex;gap:34px;align-items:center;font-size:14px;font-weight:600}.nav-contact{border:1px solid #ccd3dc;padding:11px 23px;border-radius:30px}nav a:hover,.text-link:hover{color:var(--blue)}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:630px}.hero-copy{padding:72px 8% 24px 9.5%;display:flex;flex-direction:column}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.6px;display:block}h1,h2,h3,p{margin:0}h1{font-size:clamp(54px,5.4vw,86px);line-height:1.03;letter-spacing:-4px;margin:32px 0 25px;font-weight:750}em{font-family:Georgia,serif;font-weight:400}h1 em{color:var(--blue)}.hero p{color:#5b6570;font-size:17px;line-height:1.7}.actions{display:flex;gap:28px;align-items:center;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 25px;background:var(--blue);color:white;border-radius:32px;font-size:14px;font-weight:700;transition:transform .2s,background .2s}.button:hover{background:#082bbb;transform:translateY(-2px)}.text-link{font-size:14px;font-weight:700;border-bottom:1px solid;padding-bottom:4px}.hero-bottom{display:flex;justify-content:space-between;gap:15px;margin-top:auto;padding-top:54px;font-size:10px;letter-spacing:1px;font-weight:700}.hero-photo{position:relative;overflow:hidden;background:#0c455c}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:54% center}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,26,39,.72),transparent 70%)}.photo-label{position:absolute;bottom:58px;left:42px;color:white;z-index:1}.photo-label>span{font-size:11px;letter-spacing:2px}.photo-label strong{display:block;font-size:48px;line-height:1.1;letter-spacing:-2px;margin-top:15px}.photo-index{position:absolute;right:25px;bottom:22px;z-index:1;color:white;font-size:11px;letter-spacing:1px}.ribbon{background:var(--yellow);padding:21px 5%;display:flex;justify-content:space-between;gap:24px;font-size:14px;font-weight:700}.ribbon span:before{content:'✳';margin-right:18px}.section{padding:95px 7%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:40px}h2{font-size:clamp(40px,4.4vw,64px);line-height:1.07;letter-spacing:-2.6px;margin-top:20px}.section-heading>p{max-width:340px;color:#606b76}.activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.activity{min-height:430px;border-radius:8px;overflow:hidden}.swimming{background:var(--blue);color:white;padding:35px;display:flex;flex-direction:column}.card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;letter-spacing:1px}.category{border:1px solid #ffffff70;border-radius:25px;padding:7px 12px;letter-spacing:0;font-size:12px}.activity h3{font-size:44px;letter-spacing:-1.6px;line-height:1.1;margin:40px 0 20px}.activity p{max-width:360px;line-height:1.65}.activity a{display:table;width:fit-content;margin-top:30px;border-bottom:1px solid;font-size:14px;font-weight:700;padding-bottom:4px}.football{position:relative;color:white;background:#27352c}.football>img{position:absolute;width:100%;height:100%;object-fit:cover}.football-content{position:relative;z-index:1;padding:35px;background:linear-gradient(0deg,rgba(13,29,20,.96),rgba(13,29,20,.4));height:100%}.summer{display:grid;grid-template-columns:1.1fr 1fr;background:var(--yellow)}.summer-image{min-height:580px;position:relative;background:#075974}.summer-image img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:45% center}.image-caption{position:absolute;left:28px;bottom:23px;color:white;background:#142431cc;padding:8px 13px;font-size:11px;letter-spacing:1px}.summer-copy{padding:70px 13%}.summer h2{font-size:72px;margin-bottom:28px}.summer p{margin-bottom:20px;max-width:330px}.small{font-size:14px}.dark{background:var(--ink);margin-top:8px}.dark:hover{background:#000}.family-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:8px}.family-grid>div{padding-top:24px}.large-copy{font-size:28px;line-height:1.3;letter-spacing:-.7px;margin-bottom:25px}.family-grid>div>p:not(.large-copy){color:#606b76;max-width:440px}.bar-note{display:flex;gap:20px;border-top:1px solid #dce3eb;margin-top:32px;padding-top:30px}.bar-icon{font-size:28px}.bar-note h3{font-size:20px;margin-bottom:8px}.bar-note p{font-size:15px;color:#606b76}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;background:var(--paper)}details{border-bottom:1px solid #d5dce5;padding:21px 0}summary{cursor:pointer;font-weight:600;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:25px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:24px;font-weight:400}details[open] summary:after{content:'−'}details p{padding:17px 28px 0 0;color:#606b76}.contact{background:var(--blue);color:white;display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact h2{font-size:70px;margin-bottom:35px}.light{background:white;color:var(--blue)}.light:hover{background:var(--yellow)}.contact-info{display:flex;flex-direction:column;gap:29px;padding-top:12px}.contact-info div>span{display:block;font-size:11px;letter-spacing:1.5px;margin-bottom:10px}.contact-info div>p,.contact-info div>a{font-size:23px;line-height:1.4;display:block}.contact-info a:hover{text-decoration:underline}.contact-note{max-width:370px;font-size:14px;color:#dce3ff}footer{padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer .brand{font-size:30px}footer p,footer>span{font-size:12px;color:#69717d}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:720px}}@media(max-width:900px){header{height:85px}nav{gap:18px}.hero{min-height:540px}.hero-copy{padding-top:50px}h1{letter-spacing:-2.5px}.hero p br{display:none}.actions{gap:18px;flex-wrap:wrap}.hero-bottom{flex-direction:column;font-size:10px}.photo-label{left:25px}.photo-label strong{font-size:38px}.section{padding:65px 5%}.swimming,.football-content{padding:25px}.activity h3{font-size:36px}.summer-copy{padding:50px 10%}.summer h2{font-size:56px}.family-grid{gap:40px}.ribbon{font-size:12px;flex-wrap:wrap;justify-content:space-around}.contact h2{font-size:58px}.contact-info div>a{font-size:20px}}@media(max-width:620px){header{height:80px;padding:0 6%;position:relative}.brand{font-size:32px}.brand span{font-size:9px}.menu-toggle{display:block;background:white;border:1px solid #cbd3dc;border-radius:30px;padding:8px 17px;font-size:14px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:white;padding:24px 6%;z-index:3;flex-direction:column;align-items:flex-start;box-shadow:0 12px 20px #14243115}nav.open{display:flex}.hero{display:flex;flex-direction:column}.hero-copy{padding:42px 6% 25px}h1{font-size:57px;margin:22px 0}.hero p{font-size:16px}.hero-bottom{margin-top:26px;padding-top:0;flex-direction:row;font-size:9px;flex-wrap:wrap}.hero-photo{height:320px}.photo-label{bottom:35px}.photo-label strong{font-size:36px}.ribbon{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:19px 6%;font-size:11px}.ribbon span:before{margin-right:8px}.section{padding:58px 6%}.section-heading{display:block}.section-heading>p{margin-top:24px}h2{font-size:46px;letter-spacing:-2px}.activity-grid{grid-template-columns:1fr}.activity{min-height:400px}.activity h3{font-size:40px}.summer{grid-template-columns:1fr}.summer-image{min-height:300px}.summer-copy{padding:45px 6%}.summer h2{font-size:58px}.summer p{max-width:none}.family-grid,.faq,.contact{grid-template-columns:1fr;gap:30px}.family-grid{margin-top:5px}.family-grid>div{padding-top:0}.large-copy{font-size:26px}.faq h2 br{display:none}.questions{margin-top:0}.contact h2{font-size:57px}.contact-info{padding-top:0}.contact-info div>a{font-size:21px;overflow-wrap:anywhere}footer{padding:30px 6%;flex-wrap:wrap}footer p{max-width:220px}footer>span{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* ULPIA: marchio originale, orari e affiliazioni */
header{height:118px}.brand{display:flex;flex-direction:column;align-items:center}.ulpia-logo{display:block;width:118px;height:78px;object-fit:contain}.brand span{font-size:9px;margin-top:5px;letter-spacing:1px}footer .ulpia-logo{width:100px;height:78px}.ribbon span:before{content:none}.ribbon{text-transform:uppercase;letter-spacing:.5px}.football>img{object-position:55% center}.football-content{background:linear-gradient(0deg,rgba(9,25,16,.94),rgba(9,25,16,.12))}.schedule{background:#f1f5fa}.schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.schedule-card{background:white;border:1px solid #d8e1eb;border-radius:8px;padding:32px}.schedule-card>h3{font-size:28px;letter-spacing:-.7px;color:var(--blue);margin-bottom:24px}.schedule-days+ .schedule-days{margin-top:27px;padding-top:24px;border-top:1px solid #e3e8ef}.schedule-days h4{font-size:16px;font-weight:600;margin:0 0 14px}.time-slots{list-style:none;margin:0;padding:0;display:flex;gap:10px;flex-wrap:wrap}.time-slots li{background:#edf2fb;color:#233d71;border-radius:6px;font-size:16px;font-variant-numeric:tabular-nums;padding:7px 12px}.schedule-footer{display:flex;gap:24px;align-items:center;justify-content:space-between;margin-top:28px}.schedule-footer p{font-size:15px;color:#606b76}.free-swim{display:grid;grid-template-columns:1fr 1fr;gap:70px}.free-swim-copy>p:not(.large-copy){max-width:470px;color:#606b76}.personal-options{margin:27px 0 30px;padding-top:25px;border-top:1px solid #dce3eb;display:grid;grid-template-columns:1fr 1fr;gap:24px}.personal-options h3{font-size:17px;margin-bottom:8px}.personal-options p{font-size:15px;color:#606b76}.affiliations{border-top:1px solid #e1e7ef;padding-top:65px;padding-bottom:65px;background:#f1f5fa}.affiliations h2{font-size:44px}.affiliation-grid{display:grid;grid-template-columns:repeat(4,1fr);align-items:start;gap:40px;margin-top:45px}.affiliation-grid figure{margin:0;text-align:center}.affiliation-grid img{width:100%;height:120px;object-fit:contain}.affiliation-grid figcaption{font-size:14px;margin-top:20px;color:#536171}.questions a{color:var(--blue);text-decoration:underline}@media(max-width:900px){nav{gap:15px}.nav-contact{padding:10px 17px}.free-swim{gap:35px}.affiliation-grid{gap:25px}}@media(max-width:620px){header{height:102px}nav{top:102px}.ulpia-logo{width:105px;height:66px}.brand span{font-size:8px}.schedule-grid,.free-swim{grid-template-columns:1fr}.schedule-card{padding:25px}.schedule-footer{align-items:flex-start;flex-direction:column}.schedule-footer .button{width:100%}.free-swim{gap:25px}.personal-options{grid-template-columns:1fr;gap:20px}.affiliation-grid{grid-template-columns:1fr 1fr;gap:35px 25px}.affiliation-grid img{height:100px}.affiliations h2{font-size:40px}}

.summer-video{grid-column:1/-1;padding:0 7% 65px}.summer-video-heading{max-width:1024px;margin:0 auto 22px}.summer-video-heading h3{font-size:30px;letter-spacing:-.8px;line-height:1.2;margin-top:12px}.summer-video video{display:block;width:100%;max-width:1024px;aspect-ratio:16/9;object-fit:contain;background:#101b22;border-radius:8px;margin:0 auto}.summer-image img{object-position:50% center}@media(max-width:620px){.summer-video{padding:0 6% 45px}.summer-video-heading h3{font-size:25px}.summer-image{min-height:390px}}

.swimming{position:relative;display:block;padding:0;background:#034267}.swimming-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 44%}.swimming-content{position:relative;z-index:1;min-height:430px;height:100%;padding:35px;background:linear-gradient(0deg,rgba(3,24,47,.95) 0%,rgba(3,24,47,.65) 46%,rgba(3,24,47,.23) 100%);display:flex;flex-direction:column}.swimming-content>a{margin-top:auto;padding-top:26px}@media(max-width:900px){.swimming-content{padding:25px}}@media(max-width:620px){.swimming-content{min-height:400px}}

.contact h2{font-size:clamp(40px,4.4vw,64px);max-width:600px;line-height:1.12}.contact-info div>a.directions-link{font-size:14px;text-decoration:underline;margin-top:12px}.contact-info div>a{overflow-wrap:anywhere}
/* La piscina accompagna tutta la prima schermata */
.hero{position:relative;display:block;min-height:650px;background:#063c57;color:white;isolation:isolate}.hero-photo{position:absolute;inset:0;z-index:0;height:auto;overflow:hidden;background:#063c57}.hero-photo>img{object-position:center 58%}.hero-photo:after{background:linear-gradient(90deg,rgba(3,21,39,.92) 0%,rgba(3,29,49,.76) 40%,rgba(3,29,49,.22) 76%),linear-gradient(0deg,rgba(3,21,39,.48),transparent 50%)}.hero-copy{position:relative;z-index:1;width:68%;max-width:900px;min-height:650px;padding:70px 5% 28px 7%}.hero h1{font-size:clamp(56px,5.4vw,86px);margin-top:30px}.hero h1 em{color:var(--yellow)}.hero p{color:#f0f5fa;max-width:510px;text-shadow:0 1px 4px #0005}.hero .eyebrow{color:#e5eef6}.hero .button{background:var(--yellow);color:#142431}.hero .button:hover{background:#c8f653}.hero .text-link{color:white}.hero .text-link:hover{color:var(--yellow)}.hero-bottom{color:#e6edf2;max-width:560px}.photo-label{left:auto;right:5%;bottom:65px;text-align:right}.photo-label strong{font-size:38px}.photo-index{right:5%}@media(min-width:1600px){.hero,.hero-copy{min-height:720px}}@media(max-width:900px){.hero-copy{width:78%;padding-left:6%}.photo-label{right:4%;bottom:58px}.photo-label strong{font-size:29px}.photo-label>span{font-size:10px}.hero .hero-bottom{max-width:430px}}@media(max-width:620px){.hero{display:block;min-height:600px}.hero-copy{width:100%;min-height:600px;padding:44px 6% 30px}.hero-photo{height:auto}.hero-photo>img{object-position:54% center}.hero-photo:after{background:linear-gradient(90deg,rgba(3,21,39,.88),rgba(3,29,49,.60)),linear-gradient(0deg,rgba(3,21,39,.6),transparent)}.hero h1{font-size:57px;letter-spacing:-2.5px}.hero .hero-bottom{margin-top:auto;padding-top:44px}.hero .photo-label,.hero .photo-index{display:none}.hero .actions{align-items:flex-start;gap:23px}.hero .button{padding:15px 22px}}

/* Scuola, calcetto e agonismo: tre percorsi */
.hero .hero-story{max-width:620px;font-size:17px;line-height:1.7}.hero-copy{min-height:700px}.hero{min-height:700px}.activity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-grid .activity{min-height:590px}.activity-grid .activity h3{font-size:35px;letter-spacing:-1.1px;margin:35px 0 24px}.activity-grid .card-top{flex-wrap:wrap;gap:9px}.activity-grid .swimming-content,.activity-grid .football-content{padding:28px;min-height:590px;display:flex;flex-direction:column}.activity-grid .football-content>a{margin-top:auto;padding-top:28px}.competitive{position:relative;color:white;background:#063b58}.competitive>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}.competitive-content{position:relative;z-index:1;padding:28px;min-height:590px;height:100%;display:flex;flex-direction:column;background:linear-gradient(0deg,rgba(2,24,42,.96) 0%,rgba(2,24,42,.77) 55%,rgba(2,24,42,.38) 100%)}.training-group h4{margin:0 0 10px;font-size:17px;line-height:1.35}.training-group p{font-size:15px;line-height:1.6;margin-top:7px}.training-group+ .training-group{border-top:1px solid #ffffff50;margin-top:23px;padding-top:20px}.competitive-content>a{margin-top:auto;padding-top:26px}@media(max-width:1050px){.activity-grid{grid-template-columns:1fr 1fr}.competitive{grid-column:1/-1}.activity-grid .competitive,.competitive-content{min-height:500px}.competitive-content{max-width:none;padding:35px}.competitive-content .training-group{max-width:520px}.competitive>img{object-position:50% 43%}.competitive-content{background:linear-gradient(90deg,rgba(2,24,42,.94),rgba(2,24,42,.55) 65%,rgba(2,24,42,.28))}}@media(max-width:620px){.hero,.hero-copy{min-height:740px}.hero .hero-story{font-size:16px;line-height:1.65}.hero h1{font-size:52px}.hero-copy{padding-top:38px}.hero .hero-bottom{font-size:9px}.activity-grid{grid-template-columns:1fr}.competitive{grid-column:auto}.activity-grid .activity,.activity-grid .swimming-content,.activity-grid .football-content{min-height:440px}.competitive-content{padding:28px;min-height:590px}.activity-grid .competitive{min-height:590px}.activity-grid .activity h3{font-size:37px}.competitive-content{background:linear-gradient(0deg,rgba(2,24,42,.95),rgba(2,24,42,.7))}}

.summer-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-height:660px;background:#c5e3a3}.summer-pair figure{position:relative;margin:0;overflow:hidden;min-width:0}.summer-pair figure img{object-position:50% center}.summer-pair figure:nth-child(2) img{object-position:50% 62%}.summer-pair .image-caption{left:12px;right:12px;bottom:16px;font-size:10px;padding:9px 10px;line-height:1.5;letter-spacing:.7px}@media(max-width:900px){.summer{grid-template-columns:1fr}.summer-pair{min-height:580px}.summer-copy{padding:55px 7%}.summer-copy h2 br{display:none}.summer-copy h2{font-size:60px}.summer-copy p{max-width:620px}}@media(max-width:620px){.summer-pair{min-height:420px;gap:6px}.summer-pair .image-caption{left:8px;right:8px;bottom:12px;font-size:10px;letter-spacing:.3px}.summer-copy{padding:45px 6%}.summer-copy h2{font-size:52px}}

/* Collegamenti WhatsApp: tocco diretto, senza redirect via JavaScript */
a[href^="https://wa.me/"]{touch-action:manipulation;cursor:pointer}.button,.nav-contact{min-height:48px}nav a[href^="https://wa.me/"]{min-height:44px;display:inline-flex;align-items:center}.hero-photo,.activity>img,.swimming-photo{pointer-events:none}@media(max-width:620px){a.text-link[href^="https://wa.me/"]{display:inline-flex;align-items:center;min-height:44px}.contact-info a[href^="https://wa.me/"]{min-height:44px;display:flex;align-items:center}}
/* La foto della piscina resta visibile, con ombra soltanto dietro al testo. */
.hero-photo:after{background:linear-gradient(90deg,rgba(3,21,39,.92) 0%,rgba(3,29,49,.86) 38%,rgba(3,29,49,.68) 52%,rgba(3,29,49,.08) 70%,transparent 82%)}.hero-copy{width:62%;padding-right:3%}.hero .hero-story{max-width:560px}.hero .photo-label,.hero .photo-index{text-shadow:0 2px 8px rgba(0,0,0,.85)}@media(min-width:621px) and (max-width:900px){.hero-copy{width:78%}.hero-photo:after{background:linear-gradient(90deg,rgba(3,21,39,.92),rgba(3,29,49,.8) 52%,rgba(3,29,49,.12) 86%,transparent)}}@media(max-width:620px){.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{width:100%;max-width:none;min-height:0;padding:38px 6% 32px;background:#063c57}.hero .hero-story{max-width:none}.hero .hero-bottom{margin-top:28px;padding-top:0}.hero-photo{position:relative;inset:auto;width:100%;height:auto;min-height:0;overflow:visible;background:transparent}.hero-photo>img{display:block;position:static;width:100%;height:auto;object-fit:contain}.hero-photo:after{display:none}.hero .photo-label,.hero .photo-index{display:none}}
