@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Space+Grotesk:wght@400;500;600;700&display=swap');

/* Titoli espressivi, ma con un tono conversazionale. */
.dossier:has(.group-details:not([open])) .lead{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.group-details{margin-top:18px;padding-top:0;border-top:0}
.group-details>summary{display:inline-flex;align-items:center;padding:8px 0;list-style:none;font:12px "DM Mono",monospace;color:var(--accent)}
.group-details>summary::-webkit-details-marker{display:none}
.group-details>summary:hover{text-decoration:underline;text-underline-offset:5px}
.group-details>summary .group-read,.group-details>summary .group-close{align-items:center;gap:10px}
.group-details>summary .group-read{display:inline-flex}
.group-details>summary .group-close{display:none}
.group-details[open]>summary .group-read{display:none}
.group-details[open]>summary .group-close{display:inline-flex}
.group-full-text{padding-top:12px}
.kbb-laboratory,.kbb-shows{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.kbb-laboratory>.label,.kbb-shows>.label{margin-bottom:8px}
.kbb-laboratory>h3,.kbb-shows>h3{margin-top:0}
.kbb-show-list{display:grid;gap:22px;margin-top:24px}
.kbb-show-list h4{margin:0 0 10px;font-size:22px;line-height:1.2;letter-spacing:-.035em}
.kbb-show-list h4 span{display:block;margin-top:6px;font:11px "DM Mono",monospace;color:var(--muted)}
.opening h1,.ledger-row h2,.two-columns h2,.three-columns h2,.people-intro h2,.page-heading h1,.dossier h2,.partner-grid h2,.portraits h2{text-transform:none!important}


:root{--paper:#f6f3ec;--ink:#171716;--muted:#625f58;--accent:#e34422;--lime:#c9e85b;--line:#171716}
body{font-family:"Space Grotesk",Arial,sans-serif;font-size:17px;line-height:1.45;letter-spacing:-.015em}
.head,main,footer{max-width:1440px}.head{min-height:88px;padding:20px 4vw;border-bottom:2px solid var(--ink);align-items:center}.brand{font-size:34px;letter-spacing:-2.2px}.brand sup{font-family:"DM Mono",monospace;font-size:9px}.head nav{gap:clamp(12px,2vw,32px);font-family:"DM Mono",monospace;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.head nav a{padding:7px 0}.head nav a:hover{color:var(--accent);text-decoration:line-through}
main{padding:0 4vw}.label,.source{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.04em}.label{color:var(--ink);font-weight:500}.opening{padding:clamp(72px,11vw,170px) 0 80px}.opening h1{max-width:1100px;margin:30px 0 65px;font-size:clamp(58px,8.5vw,142px);letter-spacing:-.085em;line-height:.84;text-transform:uppercase}.opening h1 em{color:var(--accent)}.opening-bottom{gap:50px;grid-template-columns:1.4fr 1fr}.opening-bottom p{font-size:clamp(19px,2vw,27px);line-height:1.25;letter-spacing:-.035em}.arrow-link{font-family:"DM Mono",monospace;font-size:11px;text-transform:uppercase;border-bottom:2px solid var(--ink)}
.section-title{border-top:2px solid var(--ink);padding-top:12px;margin-bottom:0}.section-title p{font-family:"DM Mono",monospace;font-size:10px;text-transform:uppercase;color:var(--ink)}.ledger{padding:55px 0 90px}.ledger-row{grid-template-columns:60px 1.6fr 1fr 24px;padding:30px 8px;border-top:1px solid var(--ink)}.ledger-row:last-child{border-bottom:2px solid var(--ink)}.ledger-row h2{font-size:clamp(30px,4vw,60px);text-transform:uppercase;letter-spacing:-.065em}.ledger-row p{font-family:"DM Mono",monospace;font-size:11px;color:var(--ink)}.ledger-row:hover{background:var(--lime);color:var(--ink)}.number{font-family:"DM Mono",monospace;font-size:18px;color:var(--accent)}
.evidence,.services{padding:65px 0 80px}.two-columns{gap:0}.two-columns article{padding:32px 40px 32px 0}.two-columns article+article{padding-left:40px}.two-columns h2{font-size:clamp(36px,4.3vw,68px);line-height:.94;letter-spacing:-.07em;text-transform:uppercase}.two-columns p{font-size:18px;line-height:1.35}.two-columns a,.people-intro a{font-family:"DM Mono",monospace;font-size:11px;text-transform:uppercase}.three-columns{gap:0}.three-columns article{padding:25px 30px 20px 0;border-top:1px solid var(--ink)}.three-columns article+article{padding-left:30px;border-left:1px solid var(--ink)}.three-columns h2{font-size:31px;letter-spacing:-.06em;text-transform:uppercase}.people-intro{padding:75px 0;grid-template-columns:180px 1.2fr 1fr}.people-intro h2{font-size:clamp(38px,4.5vw,64px);line-height:.92;letter-spacing:-.07em;text-transform:uppercase}.association{border-top:2px solid var(--ink)}
.page-heading{padding:clamp(70px,11vw,160px) 0 65px}.page-heading h1{font-size:clamp(60px,8vw,125px);line-height:.84;letter-spacing:-.09em;text-transform:uppercase}.page-heading>p:last-of-type{font-size:22px;line-height:1.25;letter-spacing:-.035em}.anchors{font-family:"DM Mono",monospace;text-transform:uppercase;font-size:10px;border-top:1px solid var(--ink);padding-top:13px}.dossier{grid-template-columns:25% 1fr;gap:40px;padding:65px 0;border-top:2px solid var(--ink)}.index-letter{font-family:"DM Mono",monospace;font-size:22px;margin-bottom:22px}.dossier h2{font-size:clamp(44px,5.5vw,82px);line-height:.88;letter-spacing:-.08em;text-transform:uppercase}.lead{font-size:clamp(21px,2vw,30px);line-height:1.22;letter-spacing:-.04em}.dossier h3{font-family:"DM Mono",monospace;text-transform:uppercase;font-size:12px;letter-spacing:.03em}dl{font-family:"DM Mono",monospace;font-size:11px}dt,dd{border-top:1px solid var(--ink)}.partner-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 55px}.partner-card{position:relative;display:block;padding:26px 0;border-top:1px solid var(--ink);color:var(--ink);text-decoration:none}.partner-grid h2{font-size:36px;letter-spacing:-.06em;text-transform:uppercase}.partner-grid p:last-of-type{max-width:490px}.partners{padding:60px 0 85px;border-bottom:2px solid var(--ink)}
.portraits{gap:50px 28px}.portrait{background:var(--lime);border-bottom:2px solid var(--ink)}.portrait>span{font-family:"DM Mono",monospace;color:var(--ink)}.portraits h2{font-size:29px;letter-spacing:-.06em;text-transform:uppercase}.portraits p{font-family:"DM Mono",monospace;font-size:10px;text-transform:uppercase}.portraits a{font-family:"DM Mono",monospace;font-size:10px;text-transform:uppercase}footer{border-top:2px solid var(--ink);padding:28px 4vw 42px;font-family:"DM Mono",monospace;font-size:10px;text-transform:uppercase}
@media(max-width:760px){body{font-size:16px}.head{padding:18px 22px}.head nav{gap:14px}.opening h1{line-height:.88}.opening-bottom{gap:28px}.two-columns article,.two-columns article+article{padding:28px 0}.three-columns article+article{padding-left:0;border-left:0}.partner-grid{grid-template-columns:1fr;gap:0}.dossier{grid-template-columns:1fr}.dossier aside{gap:12px}.page-heading h1{line-height:.88}footer{padding:24px 22px}.section-title{padding-top:10px}}

/* Forme e colori condivisi: incontro, ritmo, partecipazione. */
:root{--ink:#252d27;--accent:#a53f2a;--line:#c4c7bc;--sage:#c5dba8;--lilac:#d9d4ee;--peach:#f0c5b4;--lime:#c5dba8}
.head{border-bottom:1px solid var(--line)}
.brand span{color:var(--accent)}
.brand{display:block;width:clamp(210px,21vw,280px);line-height:0}
.brand img{display:block;width:100%;height:auto}
.head nav a:hover{text-decoration:underline}
.head nav a[aria-current]{background:var(--sage);border-radius:30px;padding:7px 12px;color:var(--ink)}
.skip{z-index:10}
.opening{--opening-spacing:65px;padding:var(--opening-spacing) 0 60px}
.opening > .label{margin-bottom:0}
.opening-stage{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);align-items:center;gap:50px;margin:0 0 45px}
.opening-stage h1{font-size:clamp(44px,6.3vw,96px);line-height:1.03;letter-spacing:-.065em;margin:0}
.opening-art{display:block;width:100%;height:auto;justify-self:stretch}
.opening-bottom{align-items:center}
.arrow-link{background:var(--sage);border:1px solid var(--ink);border-radius:4px 26px 26px 4px;padding:19px 22px;gap:20px;text-transform:none;font-size:12px}
.arrow-link span{color:var(--ink);font-size:24px;line-height:1}
.arrow-link:hover{background:var(--lilac);color:var(--ink)}
.ledger .section-title{margin-bottom:24px}
.ledger-row{--group-color:var(--sage);padding:24px 18px;border-top:1px solid var(--line);gap:20px}
.ledger-row:nth-of-type(2){--group-color:var(--peach)}
.ledger-row:nth-of-type(3){--group-color:var(--lilac)}
.ledger-row:nth-of-type(4){--group-color:#e7d696}
.ledger-row .number{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--group-color);color:var(--ink);transform:rotate(-10deg)}
.ledger-row:nth-of-type(even) .number{border-radius:9px 24px 9px 24px;transform:rotate(8deg)}
.ledger-row:hover{background:var(--group-color)}
.evidence .two-columns{gap:24px;margin-top:24px}
.evidence .two-columns article{background:var(--lilac);padding:34px;border:0;border-radius:3px 48px 3px 3px}
.evidence .two-columns article+article{background:var(--sage);padding:34px;border:0;border-radius:48px 3px 3px 3px}
.evidence+.evidence .two-columns article{background:var(--peach)}
.evidence+.evidence .two-columns article+article{background:#eae3cc}
.evidence .two-columns h2{font-size:clamp(32px,3.7vw,56px);line-height:1.06}
.services .three-columns{gap:28px;margin-top:25px;counter-reset:practice}
.services .three-columns article,.services .three-columns article+article{padding:0 0 15px;border:0;counter-increment:practice}
.services .three-columns article::before{content:"0" counter(practice);display:grid;place-items:center;width:58px;height:58px;margin-bottom:23px;background:var(--sage);border-radius:50%;font:14px "DM Mono",monospace}
.services .three-columns article:nth-child(2)::before{background:var(--lilac);border-radius:5px 25px 5px 25px;transform:rotate(-8deg)}
.services .three-columns article:nth-child(3)::before{background:var(--peach);border-radius:50% 50% 5px 5px}
.people-intro{background:var(--sage);margin:35px 0 65px;padding:40px;border-radius:4px 65px 4px 4px;grid-template-columns:140px 1.2fr 1fr}
.people-intro h2{font-size:clamp(34px,3.8vw,54px);line-height:1.06}
.page-heading{padding-top:70px;background:url("assets/brand/ribaltamente-logo-arcobaleno-solo.svg") no-repeat right 30px / 150px auto}
.page-heading h1{font-size:clamp(48px,7.2vw,106px);line-height:1.03;letter-spacing:-.065em;max-width:calc(100% - 170px)}
.anchors{border:0;gap:12px}
.anchors a{padding:9px 16px;border:1px solid var(--line);border-radius:24px;text-decoration:none;background:var(--lilac);color:var(--ink)}
.anchors a:nth-child(even){background:var(--sage)}
.anchors a:hover{border-color:var(--ink)}
.dossier{border-top:1px solid var(--line)}
.dossier h2{line-height:1.03;letter-spacing:-.065em}
.dossier .index-letter{display:grid;place-items:center;background:var(--sage);width:84px;height:84px;border-radius:50%;color:var(--ink)}
#tld .index-letter,#proposta .index-letter{background:var(--peach);border-radius:8px 32px 8px 32px}
#ritmo .index-letter{background:var(--lilac)}
#ricordium .index-letter{background:#e7d696;border-radius:50% 50% 6px 6px}
.partner-grid{gap:20px;margin-top:24px}
.partner-card{background:var(--sage);border:1px solid transparent;padding:28px;border-radius:4px 32px 4px 4px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.partner-card:nth-child(2),.partner-card:nth-child(3){background:var(--lilac)}
.partner-card:nth-child(4){background:var(--peach)}
.partner-card:hover,.partner-card:focus-visible{color:var(--ink);transform:translateY(-3px);border-color:var(--ink);box-shadow:0 7px 0 rgba(41,41,35,.16)}
.partner-card:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.partner-arrow{position:absolute;top:20px;right:23px;font-size:25px;line-height:1;transition:transform .18s ease}
.partner-card:hover .partner-arrow,.partner-card:focus-visible .partner-arrow{transform:translate(2px,-2px)}
.portraits article{--portrait-shadow:var(--sage)}
.portraits article:nth-child(3n+2){--portrait-shadow:var(--peach)}
.portraits article:nth-child(3n){--portrait-shadow:var(--lilac)}
.portrait{isolation:isolate;overflow:visible;border:0;border-radius:0;background:transparent}
.portrait::before,.portrait::after{display:none}
.portrait>span{font-family:"Space Grotesk",Arial,sans-serif;font-size:64px;letter-spacing:-.06em}
.portrait>img{position:relative;z-index:1;display:block;width:auto;height:102%;max-width:none;object-fit:contain;object-position:center bottom;align-self:flex-end;filter:drop-shadow(16px 13px 0 var(--portrait-shadow))}
.featured-person .portrait>img{height:135%}
.portrait[role="img"]{border:2px solid var(--ink);box-shadow:16px 13px 0 var(--portrait-shadow)}
.portrait small{color:var(--ink);background:var(--paper);padding:5px 8px;border-radius:3px}
.association{border-top:1px solid var(--line)}
footer{background:var(--lilac);border-top:0;border-radius:36px 36px 0 0;flex-wrap:wrap}
.footer-contact { display: grid; align-content: start; gap: 4px; text-transform: none; }
@media(max-width:1000px){.people-intro{grid-template-columns:1fr 1fr;gap:22px}.people-intro>.label{grid-column:1/-1}.people-intro>a{grid-column:1}.head{flex-wrap:wrap;gap:12px}.head nav{flex-wrap:wrap}}
@media(max-width:760px){
  .opening{padding-top:40px}.opening-stage{grid-template-columns:1fr;gap:8px;margin-bottom:25px}.opening-stage h1{font-size:clamp(39px,8.2vw,62px)}.opening-art{width:min(78vw,320px);justify-self:end;margin-top:-5px}
  .opening-bottom{grid-template-columns:1fr}.ledger-row{grid-template-columns:48px minmax(0,1fr) 20px;padding:24px 0;gap:12px}.ledger-row h2{font-size:clamp(25px,6.5vw,38px);overflow-wrap:anywhere}.ledger-row .number{width:40px;height:40px;grid-row:1/3;align-self:start}.ledger-row p{grid-column:2}
  .evidence .two-columns article,.evidence .two-columns article+article{padding:26px}.services .three-columns{grid-template-columns:1fr;gap:20px}.services .three-columns article{padding:0 0 18px}
  .people-intro{grid-template-columns:1fr;padding:28px 24px;gap:14px}.people-intro>.label,.people-intro>a{grid-column:1}
  .page-heading{padding-top:55px;background-size:75px auto;background-position:right 10px}.page-heading h1{max-width:100%;padding-top:34px;font-size:clamp(42px,9.5vw,66px)}
  .dossier{gap:28px}.dossier .index-letter{width:56px;height:56px;margin:0}.dossier h2{font-size:clamp(34px,8.5vw,52px);overflow-wrap:anywhere}.partner-grid{grid-template-columns:1fr}
}

/* Identità dei gruppi: gli stessi segni nell'illustrazione, nei pin e nei link. */
:root {
  --kbb: #e7d696; --kbb-wash: #f3ead0;
  --tld: #719bc4; --tld-wash: #dce8f3;
  --ritmo: #a8c68f; --ritmo-wash: #e5eddc;
  --ricordium: #c76e55; --ricordium-wash: #f4ded4;
}
.group-kbb { --group-color: var(--kbb); --group-wash: var(--kbb-wash); --group-hover: #f8f2e1; }
.group-tld { --group-color: var(--tld); --group-wash: var(--tld-wash); --group-hover: #eef4f9; }
.group-ritmo { --group-color: var(--ritmo); --group-wash: var(--ritmo-wash); --group-hover: #f2f6eb; }
.group-ricordium { --group-color: var(--ricordium); --group-wash: var(--ricordium-wash); --group-hover: #fcf0e9; }
.group-pin, .dossier-pin, .mini-pin { display: block; flex: none; object-fit: contain; }
.group-pin { width: 76px; height: 76px; }
.mini-pin { width: 28px; height: 28px; }
.dossier-pin { width: 110px; height: 110px; margin: 0 0 22px; }
.head nav { text-transform: none; font-size: 12px; gap: clamp(12px, 1.7vw, 25px); }
.head nav a { display: inline-flex; align-items: center; min-height: 40px; }
.menu-toggle { display: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.back-link { display: inline-block; font: 12px "DM Mono", monospace; margin-bottom: 30px; }
.page-heading { padding-top: 32px; }
.section-title h2 { font-size: clamp(26px, 3vw, 38px); line-height: 1.1; margin: 0; letter-spacing: -.04em; }
.section-title > a { font: 12px "DM Mono", monospace; white-space: nowrap; }
.home-groups { padding: 25px 0 65px; }
.group-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 25px; }
.group-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; padding: 25px; background: var(--group-wash); border: 1px solid transparent; border-radius: 4px 38px 4px 4px; text-decoration: none; color: var(--ink); }
.group-card:nth-child(even) { border-radius: 38px 4px 4px 4px; }
.group-card h3 { font-size: clamp(23px, 2.2vw, 30px); line-height: 1.1; letter-spacing: -.04em; margin: 0; }
.group-card p { font-size: 14px; line-height: 1.4; margin: 0; }
.group-card .card-arrow { margin-top: auto; align-self: flex-end; font-size: 24px; }
.group-card:hover, .group-card:focus-visible { color: var(--ink); border-color: var(--ink); background: var(--group-hover); }
.entry-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 45px; margin-top: 28px; }
.entry-grid article { border-top: 1px solid var(--line); padding-top: 22px; }
.entry-grid h3 { font-size: clamp(25px, 2.6vw, 35px); line-height: 1.12; letter-spacing: -.04em; margin-bottom: 15px; }
.entry-grid p { max-width: 530px; }
.entry-grid a { font: 12px "DM Mono", monospace; display: inline-block; padding: 8px 0; }
.group-anchors { gap: 10px; }
.group-anchors a { display: inline-flex; align-items: center; gap: 9px; background: var(--group-wash); padding: 7px 13px; text-transform: none; font-size: 12px; }
.group-anchors a:nth-child(even) { background: var(--group-wash); }
.dossier[class*="group-"] { border-top: 3px solid var(--group-color); }
.dossier aside { align-content: start; }
.group-link { display: inline-flex; align-items: center; gap: 0; box-sizing: border-box; width: auto; min-width: 40px; max-width: 40px; height: 40px; padding: 5px; overflow: hidden; white-space: nowrap; border: 1px solid var(--group-color); border-radius: 50%; background: var(--group-wash); text-decoration: none; transition: max-width .28s ease, border-radius .2s ease, gap .2s ease, padding .2s ease, background .2s ease; }
.group-link span { display: block; max-width: 0; overflow: hidden; opacity: 0; transition: max-width .28s ease, opacity .16s ease; }
.group-link:hover, .group-link:focus-visible { max-width: 280px; gap: 8px; padding-right: 12px; border-radius: 22px; background: var(--group-hover); color: var(--ink); }
.group-link:hover span, .group-link:focus-visible span { max-width: 225px; opacity: 1; }
.person-groups { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.cv-button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;padding:0;border:1px solid var(--ink);border-radius:50%;background:var(--paper);color:var(--ink);font:500 11px "DM Mono",monospace;text-decoration:none;cursor:pointer;transition:background .18s ease}
.cv-button:hover,.cv-button[aria-expanded="true"]{background:var(--sage);color:var(--ink)}
.cv-button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.cv-dropdown{position:relative;flex:none}
.cv-options{position:absolute;z-index:5;top:100%;right:0;min-width:120px;padding:8px;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:4px 5px 0 var(--sage)}
.portraits .cv-download{display:block;padding:10px 12px;border-radius:9px;white-space:nowrap;font:11px "DM Mono",monospace;text-decoration:none}
.cv-download:hover,.cv-download:focus-visible{background:var(--sage);color:var(--ink)}
.contact-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.contact-links a { display: grid; place-items: center; width: 38px; height: 38px; padding: 8px; border: 1px solid var(--line); border-radius: 5px 16px 5px 5px; background: var(--group-wash); transition: transform .16s ease, border-color .16s ease; }
.contact-links a:nth-child(even) { border-radius: 16px 5px 5px 5px; }
.contact-links a:hover, .contact-links a:focus-visible { border-color: var(--ink); transform: rotate(-4deg); }
.contact-links img { display: block; width: 20px; height: 20px; }
.portraits .group-link { text-transform: none; font-size: 11px; }
.portraits .association-role { color: var(--accent); font-weight: 500; }
#paolo { --portrait-shadow: var(--ritmo); }
#alessandro { --portrait-shadow: var(--tld); }
#federico { --portrait-shadow: var(--ricordium); }
.page-next { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 18px; padding: 28px 0 45px; border-top: 1px solid var(--line); }
.page-next p { margin: 0; color: var(--muted); }
.page-next a { font: 13px "DM Mono", monospace; }
.practice-examples { padding-bottom: 55px; }
.related-practice { margin-top: 30px; padding-top: 18px; border-top: 1px solid var(--line); }
.related-practice .label { margin-bottom: 8px; }
.related-practice h3 { margin-top: 0; }
@media (max-width: 1000px) {
  .group-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .head { display: grid; grid-template-columns: minmax(0, 1fr) 48px; gap: 0 16px; align-items: center; }
  .brand { min-width: 0; width:min(54vw,220px); }
  .menu-toggle { position: relative; display: block; width: 48px; height: 48px; padding: 0; border: 0; background: transparent; color: var(--ink); cursor: pointer; }
  .menu-toggle > span:not(.sr-only) { position: absolute; left: 13px; width: 20px; height: 2px; border-radius: 2px; background: currentColor; transform-origin: center; transition: transform .22s ease, opacity .16s ease, top .22s ease; }
  .menu-toggle > span:nth-child(1) { top: 16px; }
  .menu-toggle > span:nth-child(2) { top: 22px; }
  .menu-toggle > span:nth-child(3) { top: 28px; }
  .menu-toggle[aria-expanded="true"] > span:nth-child(1) { top: 22px; transform: rotate(45deg); }
  .menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] > span:nth-child(3) { top: 22px; transform: rotate(-45deg); }
  .head nav { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr; gap: 0; width: 100%; margin: 12px 0 0; }
  .head nav a { min-height: 48px; padding: 10px 2px; border-top: 1px solid var(--line); font-size: 14px; }
  .menu-ready .head nav { max-height: 0; margin-top: 0; overflow: hidden; visibility: hidden; opacity: 0; transition: max-height .28s ease, margin .28s ease, opacity .2s ease, visibility 0s linear .28s; }
  .menu-ready .menu-open .head nav { max-height: 280px; margin-top: 12px; visibility: visible; opacity: 1; transition: max-height .28s ease, margin .28s ease, opacity .2s ease; }
  .head nav a[aria-current] { padding: 5px 10px; }
  .group-cards { gap: 12px; }
  .group-card { padding: 20px 15px; gap: 12px; }
  .group-card h3 { font-size: 22px; overflow-wrap: anywhere; }
  .group-card p { font-size: 13px; }
  .group-pin { width: 64px; height: 64px; }
  .section-title > a { display: inline-block; margin-top: 14px; }
  .entry-grid { grid-template-columns: 1fr; gap: 24px; }
  .home-groups { padding-bottom: 40px; }
  .dossier-pin { width: 70px; height: 70px; margin: 0; }
  .dossier aside .label { margin: 0; }
  .dossier[class*="group-"] aside { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 10px 16px; }
  .dossier[class*="group-"] aside .dossier-pin { grid-row: 1 / span 3; }
  .dossier[class*="group-"] aside .label, .dossier[class*="group-"] aside a { grid-column: 2; }
  .dossier[class*="group-"] aside .contact-links { grid-column: 2; margin-top: 3px; }
  .dossier[class*="group-"] aside .contact-links a { grid-column: auto; }
  .dossier[class*="group-"] aside br { display: none; }
  .group-anchors { gap: 8px; }
  .group-anchors a { font-size: 11px; }
  .page-heading { padding-top: 25px; }
  .page-heading h1 { padding-top: 10px; }
  .back-link { margin-bottom: 25px; }
  footer .footer-contact { grid-column: 1 / -1; }
}
@media (max-width: 360px) {
  .group-cards { grid-template-columns: 1fr; }
  .group-card { display: grid; grid-template-columns: 64px 1fr; align-items: center; }
  .group-card .group-pin { grid-row: span 2; }
  .group-card p { grid-column: 2; }
  .group-card .card-arrow { display: none; }
}

/* Intentional picture placeholders: replace the illustration with a real photo. */
.photo-preview { margin: 28px 0 36px; min-width: 0; }
.photo-preview-frame { position: relative; overflow: hidden; background: var(--group-wash, #e8e9de); border-radius: 4px 38px 4px 4px; aspect-ratio: 16 / 10; }
.photo-preview-frame > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.photo-preview-badge { position: absolute; top: 14px; left: 14px; padding: 6px 10px; background: var(--paper); border-radius: 20px; font: 10px/1.4 "DM Mono", monospace; color: var(--ink); }
.photo-preview figcaption { display: flex; gap: 14px; align-items: baseline; padding-top: 12px; }
.photo-preview figcaption > span { flex: none; font: 10px/1.4 "DM Mono", monospace; color: var(--muted); }
.photo-preview figcaption p { margin: 0; font-size: 13px; line-height: 1.4; color: var(--ink); }
.photo-preview-wide { margin: 20px 0 60px; }
.photo-preview-wide .photo-preview-frame { aspect-ratio: 24 / 9; }
.photo-preview-wide .photo-preview-frame > img { object-fit: cover; object-position: center 52%; }
.home-photo { margin-top: 0; }
.photo-stack { display: flex; align-items: center; justify-content: center; isolation: isolate; padding: 42px 24px 52px; margin: 0 0 38px; }
.polaroid { --tilt: -7deg; --offset: 7px; position: relative; z-index: 1; flex: 0 0 28%; min-width: 0; padding: 12px 12px 18px; background: #fffdf7; border: 1px solid rgba(23,23,22,.12); box-shadow: 2px 5px 10px rgba(23,23,22,.12), 0 18px 24px -18px rgba(23,23,22,.35); text-decoration: none; color: var(--ink); transform: translateY(var(--offset)) rotate(var(--tilt)); transition: transform .22s ease, box-shadow .22s ease; }
.polaroid + .polaroid { margin-left: -5%; }
.polaroid:nth-child(2) { --tilt: 5deg; --offset: -12px; z-index: 2; }
.polaroid:nth-child(3) { --tilt: -4deg; --offset: 13px; z-index: 3; }
.polaroid:nth-child(4) { --tilt: 7deg; --offset: -4px; z-index: 4; }
.polaroid > img { display: block; width: 100%; height: auto; aspect-ratio: 5 / 4; object-fit: cover; background: var(--group-wash); }
.polaroid > span { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding-top: 15px; font: 11px/1.4 "DM Mono", monospace; }
.polaroid > span > span { color: var(--group-color); font-size: 20px; }
.polaroid:hover, .polaroid:focus-visible { z-index: 5; color: var(--ink); transform: translateY(-16px) rotate(0deg) scale(1.06); box-shadow: 3px 12px 24px rgba(23,23,22,.2); }
@media (max-width: 760px) {
  .photo-stack { flex-wrap: wrap; padding: 26px 12px 36px; gap: 18px 0; margin-bottom: 20px; }
  .polaroid { flex-basis: 48%; padding: 8px 8px 12px; }
  .polaroid + .polaroid { margin-left: 0; }
  .polaroid:nth-child(even) { margin-left: -4%; }
  .polaroid > span { font-size: 10px; padding-top: 10px; min-height: 40px; }
  .polaroid:hover, .polaroid:focus-visible { transform: translateY(-8px) rotate(0deg) scale(1.04); }
}
@media (prefers-reduced-motion: reduce) {
  .polaroid { transition: none; }
}
.practice-examples .entry-grid > article { border-top: 0; padding-top: 0; }
.practice-examples .photo-preview { margin-top: 0; margin-bottom: 28px; }
@media (max-width: 760px) {
  .photo-preview-wide .photo-preview-frame { aspect-ratio: 16 / 10; }
  .photo-preview-frame { border-top-right-radius: 26px; }
  .photo-preview figcaption { display: block; }
  .photo-preview figcaption p { margin-top: 5px; }
  .photo-preview-badge { top: 10px; left: 10px; font-size: 9px; }
  .photo-preview-wide { margin-bottom: 40px; }
}

/* Mobile reading order: generous title, centred mark, then the introduction and action. */
@media (max-width: 760px) {
  .opening { --opening-spacing: 42px; padding: var(--opening-spacing) 0 48px; }
  .opening > .label { line-height: 1.5; }
  .opening-stage { gap: 22px; margin: 24px 0 30px; }
  .opening-stage h1 { max-width: 620px; font-size: clamp(36px, 7.8vw, 52px); line-height: 1.1; letter-spacing: -.055em; text-wrap: balance; }
  .opening-art { width: min(90%, 360px); max-width: 100%; margin: 0; justify-self: center; }
  .opening-bottom { gap: 24px; }
  .opening-bottom p { max-width: 38ch; font-size: clamp(17px, 4.4vw, 21px); line-height: 1.42; letter-spacing: -.025em; }
  .arrow-link { width: 100%; min-height: 60px; align-items: center; }
  .home-groups { padding-top: 16px; }
}
@media (max-width: 600px) {
  .group-cards { grid-template-columns: 1fr; gap: 12px; }
  .group-card, .group-card:nth-child(even) { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 5px 16px; align-items: start; padding: 18px; border-radius: 4px 30px 4px 4px; }
  .group-card .group-pin { grid-row: 1 / span 2; }
  .group-card h3 { grid-column: 2; padding-right: 24px; font-size: clamp(21px, 5.5vw, 25px); overflow-wrap: normal; }
  .group-card p { grid-column: 2; font-size: 14px; line-height: 1.45; }
  .group-card .card-arrow { display: block; position: absolute; top: 15px; right: 17px; font-size: 21px; }
}

/* Richiamo 5×1000 nella pagina Associazione. */
.head { position: relative; z-index: 10; background: var(--paper); }
.five-popup { position: fixed; z-index: 9; top: 110px; right: max(24px, calc((100vw - 1320px) / 2)); width: min(360px, calc(100vw - 44px)); padding: 25px 54px 24px 26px; background: var(--sage); border: 1px solid var(--ink); border-radius: 5px 38px 5px 5px; box-shadow: 9px 9px 0 rgba(37,45,39,.18); transform: rotate(-1deg); }
.five-popup[hidden] { display: none; }
.five-popup .label { margin-bottom: 12px; }
.five-popup h2 { margin-bottom: 11px; font-size: clamp(27px,3vw,39px); letter-spacing: -.055em; }
.five-popup p:not(.label) { margin-bottom: 13px; font-size: 14px; line-height: 1.4; }
.five-popup strong { display: inline-block; font: 500 20px/1.2 "DM Mono",monospace; letter-spacing: .03em; }
.five-popup-close { position: absolute; top: 12px; right: 14px; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid var(--ink); border-radius: 50%; background: var(--paper); color: var(--ink); font: 26px/1 "Space Grotesk",Arial,sans-serif; cursor: pointer; transition: transform .16s ease,background .16s ease; }
.five-popup-close:hover,.five-popup-close:focus-visible { background: var(--lilac); transform: rotate(7deg); }
@media (max-width: 760px) {
  .five-popup { top: 84px; right: 22px; padding: 21px 50px 21px 22px; box-shadow: 7px 7px 0 rgba(37,45,39,.18); }
  .five-popup h2 { font-size: 28px; }
}
