/* EUREKA APS — stile pubblico
   Idea: i cerchi di dimensioni diverse della lampadina del logo diventano le fotografie.
   Colori presi dal logo, un solo carattere, nessun ornamento. */

:root{
  --bg:#f5f7fa; --surface:#ffffff; --ink:#10243f; --muted:#3d4f66;
  --blue:#1f6ab5; --blue-d:#174f88; --orange:#ee7d22; --magenta:#ea4189; --green:#7cba48; --teal:#139c84; --sky:#00b5e2;
  --t-blue:#e3edf8; --t-sky:#dff3fa; --t-orange:#e3edf8; --t-green:#e6f3da; --t-magenta:#fce1ee;
  --navy:#10243f; --navy-ink:#f1f5fa; --navy-muted:#b4c2d6;
  --font:'Bricolage Grotesque','Segoe UI',system-ui,sans-serif;
  --out:cubic-bezier(.23,1,.32,1);
  --m:clamp(1.25rem,5.5vw,5rem);          /* margine laterale unico */
  --gap:clamp(5rem,11vw,10rem);           /* distanza tra sezioni */
  --step-small:1rem;
  --step-ui:1.125rem;
  --step-body:clamp(1.0625rem,1rem + .3vw,1.25rem);
  --step-lead:clamp(1.25rem,1.05rem + .8vw,1.75rem);
  --step-title:clamp(2.1rem,1.2rem + 2.9vw,3.8rem);
  --step-hero:clamp(2.25rem,1rem + 4.1vw,4.6rem);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:400 var(--step-body)/1.55 var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-optical-sizing:auto}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.22em}
a:hover{color:var(--blue)}
::selection{background:var(--sky);color:var(--ink)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{font-weight:700;line-height:1.04;letter-spacing:-.03em;margin:0 0 .5em;text-wrap:balance}
h1{font-size:var(--step-hero);font-weight:800;letter-spacing:-.04em}
h2{font-size:var(--step-title);letter-spacing:-.035em}
h3{font-size:var(--step-lead);letter-spacing:-.02em;line-height:1.15}
p{margin:0 0 1em}
.wrap{padding-inline:var(--m);max-width:1520px;margin-inline:auto}
.section{padding-block:var(--gap)}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.7rem 1rem;z-index:100}
.skip:focus{left:0}
.muted{color:var(--muted)}
.lead{font-size:var(--step-lead);line-height:1.35;max-width:34ch;letter-spacing:-.01em}
.small{font-size:var(--step-small)}

/* ---------- intestazione ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--bg)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:76px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:800;font-size:var(--step-body);letter-spacing:-.02em}
.brand:hover{color:var(--ink)}
.brand img{width:42px;height:42px;object-fit:contain}
.brand span span{color:var(--orange)}
.menu{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2.2rem)}
.menu a{text-decoration:none;font-weight:500;font-size:var(--step-ui);padding:.4rem 0;position:relative}
.menu a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:.12em;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--out)}
.menu a:not(.btn):hover::after,.menu a[aria-current]::after{transform:scaleX(1)}
.menu a:not(.btn):hover,.menu a[aria-current]{color:var(--ink)}
.menu .btn{padding:.7rem 1.4rem;color:#fff}
.menu .btn:hover{color:#fff}
.burger{display:none;background:none;border:0;padding:.7rem;margin-right:-.7rem;cursor:pointer;color:var(--ink)}
.burger span{display:block;width:26px;height:3px;background:currentColor;margin:5px 0;border-radius:3px;transition:transform .25s var(--out),opacity .2s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){opacity:0}
.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* ---------- pulsanti (sempre tondi) ---------- */
.btn{display:inline-block;background:var(--blue);color:#fff;border:0;border-radius:999px;padding:1rem 1.9rem;font:600 var(--step-ui)/1 var(--font);text-decoration:none;cursor:pointer;transition:transform .16s var(--out),background-color .2s}
.btn:hover{background:var(--blue-d);color:#fff}
.btn:active{transform:scale(.97)}
.btn-light{background:#fff;color:var(--ink)}
.btn-light:hover{background:var(--t-sky);color:var(--ink)}
.btn.block{display:block;text-align:center}
.link-arrow{font-weight:600;text-decoration:none;display:inline-flex;gap:.45em;align-items:center}
.link-arrow::after{content:"→";transition:transform .25s var(--out)}
.link-arrow:hover::after{transform:translateX(5px)}
.actions{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center}

/* ---------- hero ---------- */
.hero{padding-block:clamp(.5rem,2vw,2rem) clamp(3rem,7vw,6rem)}
.hero-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(1.5rem,3vw,3rem);align-items:center}
.hero h1{margin-bottom:.45em}
.hero .lead{margin-bottom:2rem}
.constellation{position:relative;aspect-ratio:1;width:100%;max-width:700px;justify-self:end}
.constellation svg{position:absolute;inset:0;width:100%;height:100%}
.constellation line{stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;vector-effect:non-scaling-stroke}
.node{position:absolute;aspect-ratio:1;border-radius:50%;overflow:hidden;translate:-50% -50%;background:var(--t-blue)}
.node img{width:100%;height:100%;object-fit:cover}
.node.disc{background:var(--c)}
.node .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease-in-out}
.node .slide.on{opacity:1}
.pop{opacity:0;scale:.9;animation:pop .8s var(--out) forwards;animation-delay:calc(var(--i)*70ms + 150ms)}
@keyframes pop{to{opacity:1;scale:1}}

/* ---------- Insieme in Campo (campo navy) ---------- */
.feature{background:var(--navy);color:var(--navy-ink);padding-block:clamp(4rem,9vw,8rem)}
.feature-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.feature h2{color:#fff;font-size:var(--step-hero);margin-bottom:.35em}
.feature .kicker{font-size:var(--step-lead);color:var(--orange);font-weight:600;margin-bottom:1.2rem;max-width:34ch;letter-spacing:-.01em}
.feature .lead{color:var(--navy-ink);max-width:40ch;margin-bottom:1.6rem}
.feature-points{list-style:none;margin:0 0 2.2rem;padding:0;display:grid;gap:1rem;max-width:56ch}
.feature-points li{padding-left:1.7rem;position:relative;color:var(--navy-muted)}
.feature-points li strong{color:#fff;font-weight:600}
.feature-points li::before{content:"";position:absolute;left:0;top:.5em;width:.7rem;height:.7rem;border-radius:50%;background:var(--c,var(--orange))}
.feature-points li:nth-child(2)::before{--c:var(--sky)}
.feature-points li:nth-child(3)::before{--c:var(--green)}
.feature-points li:nth-child(4)::before{--c:var(--magenta)}
.feature .link-arrow{color:#fff}
.feature .link-arrow:hover{color:var(--sky)}
.feature-side{display:grid;gap:1.8rem;padding-top:.5rem}
.feature-side p{margin:0}
.feature-side .l{display:block;color:var(--navy-muted);font-size:var(--step-small)}
.feature-side .v{display:block;font-size:var(--step-lead);font-weight:700;letter-spacing:-.02em;color:#fff;line-height:1.15}

/* ---------- corsi in evidenza: foto a misure diverse ---------- */
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;flex-wrap:wrap;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.sec-head h2{margin:0}
.uneven{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2vw,2rem);row-gap:clamp(3rem,6vw,5rem);align-items:start}
.entry{display:block;text-decoration:none;color:inherit}
.entry:hover{color:inherit}
.entry .ph{overflow:hidden;border-radius:0;background:var(--t-blue)}
.entry .ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--out)}
.entry:hover .ph img{transform:scale(1.035)}
.entry h3{margin:1rem 0 .4rem;font-size:var(--step-lead)}
.entry .code{color:var(--blue);margin-right:.35em}
.entry .meta{color:var(--muted);font-size:var(--step-small);margin:0}
.status{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--step-small);font-weight:600;margin-bottom:.4rem}
.status::before{content:"";width:.7rem;height:.7rem;border-radius:50%;background:var(--c,var(--green))}
.status.in_programma{--c:var(--sky)}
.status.in_corso{--c:var(--orange)}
.status.concluso{--c:#8b99ab}
.uneven .e1{grid-column:1/6}.uneven .e1 .ph{aspect-ratio:3/4}
.uneven .e2{grid-column:7/13;margin-top:clamp(2rem,8vw,7rem)}.uneven .e2 .ph{aspect-ratio:16/10}
.uneven .e3{grid-column:3/9}.uneven .e3 .ph{aspect-ratio:16/9}

/* ---------- missione ---------- */
.mission{background:var(--t-sky)}
.mission-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2vw,2rem);row-gap:3rem;align-items:start}
.mission .text{grid-column:1/7}
.mission .text h2{max-width:none}
.mission .text p{max-width:42ch}
.mission .photos{grid-column:8/13;display:grid;gap:1.5rem}
.mission .photos .a{aspect-ratio:4/5;margin-left:18%}
.mission .photos .b{aspect-ratio:16/10;margin-top:-4rem;margin-right:22%}
.mission .photos img{width:100%;height:100%;object-fit:cover}
.values{list-style:none;margin:2rem 0 2.2rem;padding:0;display:grid;gap:1.1rem;max-width:44ch}
.values li{padding-left:1.7rem;position:relative}
.values li::before{content:"";position:absolute;left:0;top:.45em;width:.8rem;height:.8rem;border-radius:50%;background:var(--c)}
.values li:nth-child(1){--c:var(--orange)}.values li:nth-child(2){--c:var(--blue)}.values li:nth-child(3){--c:var(--green)}.values li:nth-child(4){--c:var(--magenta)}
.values strong{display:block;font-weight:700}

/* ---------- progetti: elenco spostato a destra ---------- */
.list-sec .head{max-width:22ch;margin-left:3vw;margin-bottom:clamp(2.5rem,5vw,4rem)}
.rows{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2vw,2rem)}
.rows-in{grid-column:6/13;display:grid}
.row-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem 1.5rem;padding-block:1.35rem;text-decoration:none;align-items:baseline;transition:padding .3s var(--out),background-color .2s}
.row-link:hover{color:var(--ink);padding-left:.8rem;background:var(--t-orange)}
.row-link h3{margin:0;font-size:var(--step-lead)}
.row-link .meta{grid-column:1;color:var(--muted);font-size:var(--step-small);margin:0}
.row-link .go{grid-row:1/3;grid-column:2;font-size:var(--step-lead);font-weight:600;color:var(--blue)}
.rows-label{grid-column:1/6;color:var(--muted);align-self:start;padding-top:1.5rem}

/* ---------- numeri ---------- */
.figures{background:var(--surface)}
.figures-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2vw,2rem);align-items:center}
.figures .l{grid-column:1/6}
.figures .r{grid-column:7/13}
.figures h2{margin:0}
.fig{display:grid;grid-template-columns:minmax(7rem,9rem) 1fr;gap:1.5rem;align-items:baseline;margin-bottom:1.6rem}
.fig b{font-size:var(--step-title);font-weight:800;letter-spacing:-.04em;text-align:right;font-variant-numeric:tabular-nums;color:var(--blue)}
.fig:nth-child(2) b{color:var(--orange)}.fig:nth-child(3) b{color:var(--teal)}.fig:nth-child(4) b{color:var(--magenta)}
.fig span{max-width:34ch}

/* ---------- news ---------- */
.news-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2vw,2rem);row-gap:2.5rem}
.news-item{display:block;text-decoration:none;grid-column:span 4}
.news-item:hover{color:inherit}
.news-item .date{display:block;margin-top:.8rem;color:var(--muted);font-size:var(--step-small)}
.news-item h3{margin:0 0 .6rem;transition:color .2s}
.news-item:hover h3{color:var(--blue)}
.news-item p{color:var(--muted);margin:0;max-width:44ch}
.news-item .ph{aspect-ratio:16/10;overflow:hidden;margin-bottom:1rem;background:var(--t-blue)}
.news-item .ph img{width:100%;height:100%;object-fit:cover}
.news-item.big{grid-column:span 7}
.news-item.big h3{font-size:var(--step-lead)}
.news-item.side{grid-column:span 5;align-self:end}

/* ---------- partner ---------- */
.partner-words{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem 2.6rem;font-size:var(--step-lead);font-weight:600;letter-spacing:-.02em;color:var(--muted)}
.partner-words a{text-decoration:none}
.partner-words img{max-height:48px;width:auto}

/* ---------- chiusura / contatti ---------- */
.closing{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2vw,2rem);row-gap:2.5rem;align-items:start}
.closing .say{grid-column:1/8;font-size:clamp(1.4rem,1rem + 1.2vw,2.1rem);line-height:1.15;letter-spacing:-.02em;font-weight:700;margin:0;max-width:34ch}
.closing .ph{grid-column:9/11;aspect-ratio:1;border-radius:50%;overflow:hidden}
.closing .ph img{width:100%;height:100%;object-fit:cover}
.closing .how{grid-column:11/13}
.closing .how p{margin:0 0 .8rem;font-weight:600}
.closing .how a{display:block;margin-bottom:.4rem}

/* ---------- pagine interne ---------- */
.page-head{padding-block:clamp(.5rem,2vw,2rem) clamp(2.5rem,5vw,4.5rem)}
.page-head h1{font-size:var(--step-title)}
.page-head .lead{margin:1rem 0 0;max-width:40ch}
.crumbs{margin-bottom:1.2rem;font-size:var(--step-small)}
.crumbs a{font-weight:600}
.narrow{max-width:46rem}
.prose{max-width:46rem}
.prose h2{font-size:var(--step-lead);margin-top:2.2em}
.prose h3{margin-top:1.8em}
.prose ul,.prose ol{padding-left:1.3rem}
.prose li{margin:.35em 0}
.prose img,.cover{width:100%;margin-bottom:2rem}
.about-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2vw,2rem);row-gap:3rem;align-items:start}
.about-top .prose{grid-column:1/7}
.about-top .ph-col{grid-column:8/13;display:grid;gap:1.5rem}
.about-top .ph-col .a{aspect-ratio:4/5;margin-right:20%}
.about-top .ph-col .b{aspect-ratio:16/10;margin-left:20%;margin-top:-3rem}
.about-top .ph-col img{width:100%;height:100%;object-fit:cover}
.board{list-style:none;margin:1.5rem 0 2rem;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:2rem}
.board strong{display:block;font-size:var(--step-lead);letter-spacing:-.02em}
.board span{color:var(--muted)}

.filters{display:flex;gap:1.5rem 2rem;flex-wrap:wrap;margin-bottom:3rem}
.filters label{display:grid;gap:.4rem;font-weight:600;font-size:var(--step-small)}
select,input,textarea{font:inherit;color:inherit}
.filters select{padding:.75rem 2.5rem .75rem 1.1rem;border:2px solid var(--ink);border-radius:999px;background:var(--bg);min-width:15rem;cursor:pointer;font-weight:500}
.course-rows{display:grid;gap:clamp(2.5rem,5vw,4rem)}
.course-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2vw,2rem);row-gap:1rem;text-decoration:none;align-items:center}
.course-row:hover{color:inherit}
.course-row .ph{grid-column:1/6;aspect-ratio:16/10;overflow:hidden;background:var(--t-blue)}
.course-row:nth-child(even) .ph{grid-column:8/13;grid-row:1}
.course-row:nth-child(even) .txt{grid-column:2/8;grid-row:1}
.course-row .ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--out)}
.course-row:hover .ph img{transform:scale(1.035)}
.course-row .txt{grid-column:7/13}
.course-row h2{font-size:var(--step-lead);margin:.2rem 0 .8rem}
.course-row .code{color:var(--blue);margin-right:.3em}
.course-row .meta{color:var(--muted);margin:0 0 1rem}
.empty{padding:3rem 0;color:var(--muted)}
.detail{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2vw,2rem);row-gap:3rem;align-items:start}
.detail .prose{grid-column:1/8}
.panel{grid-column:9/13;position:sticky;top:100px;background:var(--t-sky);padding:clamp(1.5rem,3vw,2.5rem)}
.panel h2{font-size:var(--step-lead);margin-bottom:1rem}
.panel dl{margin:0 0 1.5rem}
.panel dt{font-size:var(--step-small);color:var(--muted);margin-top:1rem}
.panel dd{margin:0;font-weight:600;font-size:var(--step-ui)}
.pager{display:flex;gap:.6rem;margin-top:3rem}
.pager a{padding:.55rem 1.1rem;border-radius:999px;text-decoration:none;font-weight:600}
.pager a[aria-current]{background:var(--ink);color:#fff}
.contact-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2vw,2rem);row-gap:3rem;align-items:start}
.contact-grid .form-col{grid-column:1/7}
.contact-grid .info-col{grid-column:8/13}
.form{display:grid;gap:1.2rem}
.form label,.aform label{display:grid;gap:.4rem;font-weight:600}
.form input,.form textarea{padding:.9rem 1.1rem;border:2px solid var(--ink);border-radius:14px;background:#fff;font-weight:400}
.form input:focus,.form textarea:focus{outline:3px solid var(--sky);outline-offset:1px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.check{display:flex!important;gap:.7rem;align-items:flex-start;font-weight:400!important}
.check input{width:1.2rem;height:1.2rem;margin-top:.25rem;accent-color:var(--blue)}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.map{height:300px;margin-bottom:2rem;background:var(--t-sky)}
.locations{list-style:none;padding:0;margin:0 0 2rem;display:grid;gap:1.2rem}
.locations strong{display:block}
.notice{padding:1rem 1.3rem;border-radius:14px;margin:1rem 0}
.notice ul{margin:0;padding-left:1.1rem}
.notice-ok{background:var(--t-green)}
.notice-err{background:var(--t-magenta)}

/* ---------- piè di pagina: il nome torna a tutta larghezza ---------- */
.site-footer{background:var(--navy);color:var(--navy-muted);padding-top:clamp(3.5rem,7vw,6rem);overflow:hidden}
.site-footer a{color:#fff}
.site-footer a:hover{color:var(--sky)}
.grid-footer{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2vw,2rem);row-gap:2.5rem;font-size:var(--step-small)}
.grid-footer>div:nth-child(1){grid-column:1/5}
.grid-footer>div:nth-child(2){grid-column:5/8}
.grid-footer>div:nth-child(3){grid-column:8/11}
.grid-footer>div:nth-child(4){grid-column:11/13}
.foot-title{font-weight:700;color:#fff;margin-bottom:.8rem;font-size:var(--step-ui)}
.site-footer p{margin:0 0 .9rem}
.big-name{font-weight:800;color:#fff;font-size:clamp(3.6rem,15.5vw,16rem);line-height:.8;letter-spacing:-.06em;margin:clamp(3rem,6vw,5rem) 0 0;white-space:nowrap;padding-bottom:.08em}
.big-name span{color:var(--orange)}
.copy{padding-block:1.6rem;font-size:var(--step-small);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}

/* ---------- movimento ---------- */
.reveal{opacity:0;translate:0 24px;transition:opacity .7s var(--out),translate .7s var(--out);transition-delay:calc(var(--d,0)*80ms)}
.reveal.in{opacity:1;translate:0 0}
.no-js .reveal{opacity:1;translate:none}

@media (max-width:1000px){
  .hero-grid,.feature-grid,.mission-grid,.about-top,.detail,.contact-grid,.figures-grid{grid-template-columns:1fr;display:grid}
  .mission .text,.mission .photos,.about-top .prose,.about-top .ph-col,.detail .prose,.panel,.contact-grid .form-col,.contact-grid .info-col,.figures .l,.figures .r{grid-column:1/-1}
  .constellation{justify-self:center;max-width:520px}
  .panel{position:static}
  .uneven .e1,.uneven .e2,.uneven .e3{grid-column:1/-1;margin-top:0}
  .uneven .e2{grid-column:4/13}.uneven .e3{grid-column:1/11}
  .uneven .e1 .ph{aspect-ratio:4/5}
  .rows-label{display:none}
  .rows-in{grid-column:1/-1}
  .list-sec .head{margin-left:0}
  .news-item,.news-item.big,.news-item.side{grid-column:1/-1}
  .closing .say,.closing .ph,.closing .how{grid-column:1/-1}
  .closing .ph{width:7rem}
  .course-row .ph,.course-row:nth-child(even) .ph{grid-column:1/-1;grid-row:auto}
  .course-row .txt,.course-row:nth-child(even) .txt{grid-column:1/-1;grid-row:auto}
  .grid-footer>div:nth-child(n){grid-column:span 6}
  .burger{display:block}
  .menu{display:none;position:absolute;top:76px;left:0;right:0;background:var(--bg);flex-direction:column;align-items:flex-start;padding:1rem var(--m) 2rem;gap:1.2rem;z-index:40}
  .menu.open{display:flex}
  .menu a{font-size:var(--step-lead);font-weight:600}
  .menu .btn{font-size:var(--step-ui)}
}
@media (max-width:600px){
  .row{grid-template-columns:1fr}
  .grid-footer>div:nth-child(n){grid-column:1/-1}
  .fig{grid-template-columns:5.5rem 1fr}
  .mission .photos .a{margin-left:0}.mission .photos .b{margin-right:0}
  .about-top .ph-col .a{margin-right:0}.about-top .ph-col .b{margin-left:0}
  .uneven .e2,.uneven .e3{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal,.pop{opacity:1;translate:none;scale:1}
}

/* intestazione di pagina con foto */
.head-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2vw,2rem);row-gap:2rem;align-items:center}
.head-text{grid-column:1/7}
.head-photo{grid-column:7/13;aspect-ratio:6/7;max-height:78vh;width:100%;overflow:hidden}
.head-photo img{width:100%;height:100%;object-fit:cover}
.head-grid.no-photo .head-text{grid-column:1/-1}
.page-head .status{margin:1rem 0 0}
@media (max-width:1000px){.head-text,.head-photo{grid-column:1/-1}.head-photo{aspect-ratio:16/10}}
.about-top .ph-col .c{aspect-ratio:16/10;margin-right:8%}
.about-top .ph-col .c img{width:100%;height:100%;object-fit:cover}
.partner-band{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2vw,2rem);row-gap:3rem;align-items:center}
.partner-band>div:first-child{grid-column:1/7}
.partner-band .pair{grid-column:8/13;display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}
.partner-band .a{aspect-ratio:3/4}.partner-band .b{aspect-ratio:3/4;margin-top:3rem}
.partner-band .pair img{width:100%;height:100%;object-fit:cover}
@media (max-width:1000px){.partner-band>div:first-child,.partner-band .pair{grid-column:1/-1}}
.wide-photo{aspect-ratio:21/9;overflow:hidden}.wide-photo img{width:100%;height:100%;object-fit:cover}
@media (max-width:700px){.wide-photo{aspect-ratio:4/3}}

/* catalogo corsi compatto (molti corsi): foto piccola, testo accanto */
@media (min-width:1001px){
  .course-rows{gap:clamp(1.5rem,2.5vw,2.25rem)}
  .course-row,.course-row:nth-child(even){align-items:center}
  .course-row .ph,.course-row:nth-child(even) .ph{grid-column:1/4;grid-row:1;aspect-ratio:4/3}
  .course-row .txt,.course-row:nth-child(even) .txt{grid-column:4/13;grid-row:1}
  .course-row h2{margin:.1rem 0 .4rem}
  .course-row .meta{margin:0 0 .6rem}
}
@media (max-width:1000px){.course-row .ph{aspect-ratio:16/9}}
.pager{flex-wrap:wrap;align-items:center}
.pager a{white-space:nowrap;line-height:1;min-width:2.6rem;text-align:center}
@media (max-width:1000px){.course-row .ph{aspect-ratio:21/9}.course-rows{gap:2rem}}
