/* ===== Domus Minato: blocchi condivisi (sistema visivo della home) =====
   Un solo foglio per tutte le pagine e tutte le lingue: cambiando qui, cambia ovunque.
   Blocchi: hero, who (elenco numerato), pq (pilastri), sq (citazione), hw (nastro servizi),
   tf (riquadri impilati), qa (domande), tell (chiusura). Prefisso: blk- */
:root{ --ty-lead:clamp(2rem,2.55vw,3.1rem); --ty-body:clamp(1.1rem,1.2vw,1.4rem); --ty-t2:clamp(2.4rem,3.4vw,4rem); }
@media (max-width:1023px){ :root{ --ty-lead:7vw; --ty-body:1.4rem; --ty-t2:9vw; } }
html{ background:var(--calce,#f5f2e5) !important; }
/* lo scorrimento morbido lo gestisce Lenis: quello del foglio di stile generale lo bloccava */
html{ scroll-behavior:auto !important; }
html, body{ overflow-x:clip !important; }
body.blk{ margin:0; color:var(--poseidone,#051f38); background:transparent !important; }
/* il viaggio di colore della home: giada, vesta, grano, calce */
.blk-grad{ position:absolute; left:0; top:0; width:100%; z-index:0; pointer-events:none;
  background:linear-gradient(180deg, rgb(140,222,208) 0%, rgb(202,233,212) 18%, rgb(237,229,212) 38%, rgb(250,210,143) 58%, rgb(222,201,169) 76%, rgb(237,229,212) 100%); }
.blk-main{ position:relative; z-index:1; }
html body .ty-lead{ font-family:"Plus Jakarta Sans",sans-serif !important; font-weight:500 !important; font-size:var(--ty-lead) !important;
  line-height:1.06 !important; letter-spacing:-.022em !important; max-width:none !important; margin:0 !important; }
html body .ty-body{ font-family:"Plus Jakarta Sans",sans-serif !important; font-weight:400 !important; font-size:var(--ty-body) !important;
  line-height:1.5 !important; letter-spacing:-.005em !important; max-width:none !important; margin:0 !important; }
html body .ty-lead + .ty-body, html body .ty-body + .ty-body{ margin-top:1em !important; }
.blk-main a{ color:inherit; }
.blk-meta{ margin:0; font-family:"JetBrains Mono",monospace; font-weight:500; font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; line-height:1.5; max-width:none; }

/* titoli in pixel che salgono dalla fessura */
.blk-t{ margin:0; font-family:"JetBrains Mono",monospace; font-weight:400; text-transform:uppercase; letter-spacing:0; line-height:1.02; max-width:none !important; }
.blk-tl{ display:block; overflow:hidden; padding-bottom:.06em; }
.blk-tn{ display:inline-block; image-rendering:pixelated; color:var(--chia,#4cccb3); transform:translateY(115%); transition:transform .9s cubic-bezier(.7,0,.84,0); }
.blk-t.is-in .blk-tn{ transform:none; transition:transform 1.1s cubic-bezier(.16,1,.3,1); }
.blk-t.is-in .blk-tl:nth-child(2) .blk-tn{ transition-delay:.07s; }
.blk-t--xl{ font-size:clamp(5rem,15vw,17rem); }
.blk-t--l{ font-size:clamp(3rem,8.4vw,9.5rem); }
.blk-t--m{ font-size:clamp(2.6rem,5vw,5.6rem); }

/* righe che salgono (animazione della home) */
.rv-l{ display:block; overflow:clip; padding-bottom:.14em; margin-bottom:-.14em; }
.rv-i{ display:block; transform:translateY(115%); transition:transform .9s cubic-bezier(.7,0,.84,0); }
.rv-on .rv-i{ transform:none; transition:transform 1.1s cubic-bezier(.16,1,.3,1); transition-delay:var(--rvd,0s); }
@media (prefers-reduced-motion:reduce){ .rv-i, .blk-tn{ transform:none !important; } }


/* tasti */
.blk-go{ position:relative; display:inline-block; border:0; background:none; padding:0; cursor:pointer; text-decoration:none; }
.blk-go img{ display:block; height:clamp(44px,3.2vw,60px); width:auto; image-rendering:pixelated; }
.blk-go span{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; white-space:nowrap;
  font-family:"JetBrains Mono",monospace; font-size:clamp(.56rem,.64vw,.76rem); letter-spacing:.12em; text-transform:uppercase; color:var(--poseidone,#051f38); }
.blk-go--l img{ height:clamp(58px,4vw,78px); }
.blk-links{ display:flex; flex-wrap:wrap; gap:1.2rem; margin-top:2rem; }

/* apertura: scena ferma */
.blk-open{ position:relative; height:430vh; z-index:2; }
.blk-st{ position:sticky; top:0; height:100vh; overflow:clip; }
.blk-trk{ position:absolute; inset:0; }
.blk-bx{ position:absolute; will-change:transform; overflow:hidden; }
.blk-bx img{ display:block; width:100%; height:100%; object-fit:cover; }
.blk-bx--mob, .blk-leadm{ display:none; }
@media (max-width:1023px){
  .blk-bx--mob{ display:block; } .blk-lead{ display:none !important; }
  .blk-leadm{ display:block; position:absolute; left:0; right:0; top:0; box-sizing:border-box; }
  .blk-lm{ position:absolute; left:7vw; right:7vw; will-change:transform; }
  .blk-open{ height:610svh !important; }
}
.blk-ttl{ position:absolute; left:6vw; bottom:16vh; width:44vw; }
.blk-px--xl{ white-space:nowrap; }
.blk-sw{ position:absolute; left:0; bottom:0; width:100%; }
.blk-px{ margin:0; font-family:"JetBrains Mono",monospace; font-weight:400; text-transform:uppercase; letter-spacing:0; line-height:1;
  max-width:none !important; image-rendering:pixelated; color:var(--chia,#4cccb3); }
.blk-px > span{ display:inline-block; }
.blk-px--xl{ font-size:clamp(5rem,12vw,14rem); }
.blk-sub{ margin-top:2vw; }
.blk-sw{ will-change:opacity, transform; }
.blk-sw--b{ opacity:0; }
.blk-sw--b{ top:auto; }
/* il testo dopo il lead: due colonne */
.blk-narr__txt{ column-count:2; column-gap:4vw; }
.blk-narr__txt .ty-body{ break-inside:avoid-column; }
.blk-tbox{ position:absolute; background-repeat:no-repeat; opacity:0; }
.blk-lead{ position:absolute; box-sizing:border-box; display:flex; align-items:center; }
.blk-wave{ position:absolute; left:0; right:0; bottom:-1px; height:7.8125vw; overflow:hidden; pointer-events:none; z-index:3; will-change:transform; }
.blk-wave__m{ position:absolute; top:0; bottom:0; left:-6vw; width:calc(100% + 12vw); background:var(--calce,#f5f2e5);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1200' height='120' preserveAspectRatio='none'><path d='M0,120 V22 C150,22 150,80 300,80 S450,22 600,22 S750,80 900,80 S1050,22 1200,22 V120 Z' fill='%23000'/></svg>") repeat-x left center;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1200' height='120' preserveAspectRatio='none'><path d='M0,120 V22 C150,22 150,80 300,80 S450,22 600,22 S750,80 900,80 S1050,22 1200,22 V120 Z' fill='%23000'/></svg>") repeat-x left center;
  -webkit-mask-size:62.5vw 100%; mask-size:62.5vw 100%; }
.blk-wave__px{ position:absolute; inset:0; width:100%; height:100%; display:block; }
/* il testo prosegue sotto il lead, nella stessa colonna */
.blk-narr{ position:relative; z-index:2; padding:0 0 22vh; }
/* desktop: il testo sale nella scena al posto del lead; su mobile resta nello scorrimento normale */
/* al caricamento i testi delle fasi successive restano nascosti finche' la regia non e' pronta */
body:not(.blk-pronto) .blk-lead, body:not(.blk-pronto) .blk-leadm, body:not(.blk-pronto) .blk-bpan, body:not(.blk-pronto) .blk-sw--b, body:not(.blk-pronto) .blk-tbox, body:not(.blk-pronto) .blk-q__d{ visibility:hidden !important; }
.blk-bpan{ position:absolute; box-sizing:border-box; display:flex; align-items:center; background-repeat:no-repeat; will-change:transform; }
.blk-bpan__in{ column-count:2; column-gap:4vw; width:100%; }
.blk-bpan__in .ty-body{ break-inside:avoid-column; }
/* citazione che apre il testo dell'apertura: una riga vuota prima del paragrafo con il capolettera */
/* la citazione occupa tutta la larghezza sopra le due colonne, che restano allineate in alto e di uguale lunghezza */
.blk-hqw{ position:relative; column-span:all; width:fit-content; max-width:100%; margin:0 auto 2.6em; padding:0 1.4em .2em; break-inside:avoid; }
html body .blk-hq{ font-style:italic; font-weight:300 !important; text-align:center; }
html body .blk-hq em{ font-style:italic; }
/* le due colonne si bilanciano: i paragrafi possono passare da una colonna all'altra, le righe no */
.blk-bpan__in.blk-ch__txt--dc .ty-body, .blk-narr__txt.blk-ch__txt--dc .ty-body{ break-inside:auto; }
.blk-ch__txt--dc .rv-l{ break-inside:avoid; }
.blk-hq__m{ position:absolute; right:-.42em; top:100%; margin-top:-.06em; font-family:"Plus Jakarta Sans",sans-serif; font-weight:500; font-size:calc(var(--ty-lead) * 3.2); line-height:.62;
  image-rendering:pixelated; color:var(--chia,#4cccb3); pointer-events:none; clip-path:inset(100% 0 0 0); transition:clip-path .9s cubic-bezier(.7,0,.84,0); }
.blk-ch__txt--dc.dc-in .blk-hq__m{ clip-path:inset(0 0 0 0); transition:clip-path 1.2s cubic-bezier(.16,1,.3,1) .3s; }
.blk-bpan__in .blk-cs__dc{ break-before:avoid; }
@media (min-width:1024px){ .blk-open{ height:625vh !important; } .blk-narr{ display:none; } }
@media (max-width:1023px){ .blk-bpan, .blk-bxb{ display:none; } }
.blk-bxb{ position:absolute; will-change:transform; }
.blk-narr__txt{ box-sizing:border-box; }

/* sezioni con titolo */
.blk-sec{ padding:14vh 6vw 18vh; }
.blk-sec > .blk-t{ margin-bottom:9vh; }
.blk-h3{ margin:0 0 1.2rem; font-family:"JetBrains Mono",monospace; font-weight:500; text-transform:uppercase; letter-spacing:.14em;
  font-size:clamp(1rem,1.2vw,1.3rem); line-height:1.3; }

/* chi siamo: righe numerate */
.blk-who{ position:relative; z-index:2; padding:0 6vw 18vh; }
/* sovrapposizioni tra blocchi: valgono per la coppia (blocco precedente + questo), non per la pagina */
@media (min-width:1024px){ .blk-hero + .blk-who{ margin-top:-100vh; } }
.blk-who__pin{ height:200vh; margin:0 -6vw; }
.blk-who__st{ position:sticky; top:0; height:100vh; display:flex; align-items:center; justify-content:center; }
.blk-who__t{ text-align:center; }
.blk-rows{ display:flex; flex-direction:column; max-width:78rem; margin:-38vh auto 0; position:relative; }
.blk-who__t{ will-change:transform; }
/* separatori: tratteggio di quadretti calce sulla griglia da 8px (come Q&A) */
.blk-row{ padding-top:8px; background:linear-gradient(90deg, var(--calce,#f5f2e5) 8px, transparent 8px) 0 0 / 32px 8px repeat-x; }
/* le voci arrivano dal basso con lo scorrimento normale; il titolo resta fermo al centro e
   riparte insieme alle voci quando queste arrivano alla loro distanza dal titolo */
.blk-row:last-child{ padding-bottom:8px; background:linear-gradient(90deg, var(--calce,#f5f2e5) 8px, transparent 8px) 0 0 / 32px 8px repeat-x, linear-gradient(90deg, var(--calce,#f5f2e5) 8px, transparent 8px) 0 100% / 32px 8px repeat-x; }
.blk-row__q{ width:100%; display:grid; grid-template-columns:minmax(6rem,12vw) 1fr auto; align-items:center; gap:3vw; padding:3.4vh 0;
  border:0; background:none; cursor:pointer; text-align:left; color:var(--poseidone,#051f38); }
.blk-row__q .blk-h3{ margin:0; }
.blk-row__n{ display:inline-block; font-family:"JetBrains Mono",monospace; font-size:clamp(3.2rem,6vw,7rem); line-height:.8; image-rendering:pixelated; color:var(--chia,#4cccb3); }
.blk-row__q i{ position:relative; width:18px; height:18px; }
.blk-row__q i::before, .blk-row__q i::after{ content:""; position:absolute; left:0; top:7px; width:18px; height:4px; background:var(--chia,#4cccb3); transition:transform .5s cubic-bezier(.22,.61,.36,1); }
.blk-row__q i::after{ transform:rotate(90deg); }
.blk-row.is-open .blk-row__q i::after{ transform:rotate(0deg); }
.blk-row__a{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .6s cubic-bezier(.22,.61,.36,1); }
.blk-row__a > .blk-row__c{ overflow:hidden; }
.blk-row.is-open .blk-row__a{ grid-template-rows:1fr; }
.blk-row__c{ max-width:58rem; margin-left:calc(12vw + 3vw); }
.blk-row.is-open .blk-row__c{ padding-bottom:4vh; }


/* pilastri: schermo diviso in quattro */
.blk-pq{ position:relative; z-index:3; height:360vh; }
.blk-who + .blk-pq{ margin-top:-35vh; }
/* slogan: citazione in mono maiuscolo piccolo, al centro dello schermo */
.blk-sq{ position:relative; z-index:4; pointer-events:none; height:215vh; }
.blk-pq + .blk-sq{ margin-top:-115vh; }
.blk-sq__st{ position:sticky; top:0; height:100vh; display:flex; align-items:center; justify-content:center; padding:0 6vw; box-sizing:border-box; }
.blk-sq__q{ margin:0; text-align:center; max-width:none !important; font-family:"JetBrains Mono",monospace; font-weight:500; text-transform:uppercase;
  letter-spacing:.14em; font-size:15px; line-height:1.6; color:var(--poseidone,#051f38); }
.blk-sq__l{ display:block; overflow:hidden; padding-bottom:.1em; }
.blk-sq__n{ display:block; transform:translateY(115%); transition:transform .9s cubic-bezier(.7,0,.84,0); }
.blk-sq.is-in .blk-sq__n{ transform:none; transition:transform 1.1s cubic-bezier(.16,1,.3,1); }
/* servizi: titolo al centro che sale, nastro orizzontale da destra a sinistra */
.blk-hw{ position:relative; z-index:2; height:480vh; }
.blk-sq + .blk-hw{ margin-top:-100vh; }
.blk-hw__st{ position:sticky; top:0; height:100vh; overflow:hidden; }
.blk-hw__hd{ position:absolute; left:6vw; right:6vw; top:50%; text-align:center; transform:translateY(-50%); will-change:transform; }
.blk-hw__ld{ position:absolute; left:9vw; width:36vw; top:40vh; will-change:transform; }
.blk-hw__trk{ position:absolute; left:0; top:40vh; display:flex; transform:translateX(100vw); will-change:transform; }
.blk-hw__it{ flex:0 0 26vw; box-sizing:border-box; padding:0 2.4vw; background:linear-gradient(180deg, var(--calce,#f5f2e5) 8px, transparent 8px) 0 0 / 8px 32px repeat-y; display:flex; flex-direction:column; align-items:flex-start; }
.blk-hw__it:last-child{ background:linear-gradient(180deg, var(--calce,#f5f2e5) 8px, transparent 8px) 0 0 / 8px 32px repeat-y, linear-gradient(180deg, var(--calce,#f5f2e5) 8px, transparent 8px) 100% 0 / 8px 32px repeat-y; }
.blk-hw__n{ display:inline-block; font-family:"JetBrains Mono",monospace; font-size:clamp(3.2rem,6vw,7rem); line-height:.8; image-rendering:pixelated; color:var(--chia,#4cccb3); margin-bottom:3.4vh; }
.blk-hw__it .blk-h3{ margin:0 0 1.4vh; }
.blk-hw__it .ty-body{ margin:0; padding-bottom:max(6.8vh, 2em); }
.blk-hw__it .blk-go{ margin-top:auto; }
/* capitolo: racconto con fotografie, tre impaginazioni da alternare */
.blk-ch{ position:relative; z-index:2; padding:0 6vw 35vh; }
.blk-ch__t{ margin-bottom:6vh; }
.blk-ch__ld{ padding-bottom:5vh; }
.blk-ch__txt .ty-body{ max-width:none; }
.blk-ch__ph{ position:relative; overflow:hidden; }
.blk-ch__ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
  clip-path:inset(0 0 100% 0); transition:clip-path .9s cubic-bezier(.7,0,.84,0); }
/* la foto si apre dall'alto verso il basso, come i pilastri */
.blk-ch__ph.is-in img{ clip-path:inset(0 0 0 0); transition:clip-path 1.4s cubic-bezier(.16,1,.3,1); }
@media (min-width:1024px){
  /* 1: foto a tutta larghezza; sotto, titolo a sinistra e testo in due colonne */
  .blk-ch--v1 .blk-ch__ph--wide{ height:72vh; margin:0 -6vw 12vh; }
  .blk-ch--v1 .blk-ch__grid{ display:grid; grid-template-columns:1fr 2fr; column-gap:6vw; align-items:start; }
  .blk-ch--v1 .blk-ch__txt{ column-count:2; column-gap:4vw; }
  .blk-ch--v1 .blk-ch__txt .ty-body{ break-inside:avoid-column; }
}
@media (max-width:1023px){
  .blk-ch{ padding:0 7vw 30svh; }
  .blk-ch__t{ margin-bottom:4svh; }
  .blk-ch__ph--wide{ height:56svh; margin:0 -7vw 6svh; }
}
/* capitolo, variante 3: foto su meta' schermo; titolo e lead entrano accanto, poi passano sulla foto ed entra il testo */
.blk-ch.blk-cx{ padding:0 0 30vh; }
.blk-cx__st{ position:sticky; top:0; height:100vh; overflow:hidden; }
.blk-cx__ph{ position:absolute !important; left:0; top:0; bottom:0; width:50%; }
.blk-cx__veil{ position:absolute; left:0; top:0; bottom:0; width:50%; pointer-events:none; opacity:0; transition:opacity .9s ease;
  background:linear-gradient(90deg, rgba(2,15,28,.5), rgba(2,15,28,.2)); }
.blk-cx.is-over .blk-cx__veil{ opacity:1; }
/* la foto si apre dal bordo destro fino al sinistro */
.blk-cx__ph img{ clip-path:inset(0 0 0 100%); }
.blk-cx__ph.is-in img{ clip-path:inset(0 0 0 0); }
.blk-ch--flip.blk-cx .blk-cx__ph img{ clip-path:inset(0 100% 0 0); }
.blk-ch--flip.blk-cx .blk-cx__ph.is-in img{ clip-path:inset(0 0 0 0); }
.blk-cx__hd{ position:absolute; left:56vw; right:6vw; top:50%; transform:translateY(-50%); will-change:transform; }
.blk-cx__ld{ padding-top:5vh; transition:color .6s ease; }
.blk-cx.is-over .blk-cx__ld{ color:var(--calce,#f5f2e5); }
.blk-cx__body{ position:absolute; left:56vw; right:6vw; top:50%; transform:translateY(-50%); column-count:2; column-gap:3vw; isolation:isolate; }
.blk-cx__body .rv-l, .blk-cx__bodym .rv-l{ break-inside:avoid; }
.blk-cx__bodym{ display:none; }
.blk-ch--flip.blk-cx .blk-cx__ph, .blk-ch--flip.blk-cx .blk-cx__veil{ left:auto; right:0; }
.blk-ch--flip.blk-cx .blk-cx__hd, .blk-ch--flip.blk-cx .blk-cx__body{ left:6vw; right:56vw; }
@media (max-width:1023px){
  .blk-ch.blk-cx{ padding:0 0 26svh; }
  .blk-cx__st{ height:100svh; height:100dvh; }
  .blk-cx__ph, .blk-cx__veil, .blk-ch--flip.blk-cx .blk-cx__ph, .blk-ch--flip.blk-cx .blk-cx__veil{ left:0; right:0; width:auto; bottom:auto; height:62svh; }
  .blk-cx__hd, .blk-ch--flip.blk-cx .blk-cx__hd{ left:7vw; right:7vw; top:66svh; transform:none; }
  .blk-cx__ld{ padding-top:3svh; }
  .blk-cx__body{ display:none; }
  .blk-cx__bodym{ display:block; padding:4svh 7vw 0; }
}
/* capitolo, variante 4: scorrimento semplice. Foto piccola con molto bianco e titolo; sotto lead e testo su due colonne */
.blk-ch--v4 .blk-ch__r1{ position:relative; height:100vh; margin:0 -6vw; }
.blk-ch--v4 .blk-ch__ph--sm{ position:absolute; left:15vw; width:20vw; top:21vh; height:58vh; }
.blk-ch--v4 .blk-ch__hd{ position:absolute; left:56vw; right:6vw; top:50%; transform:translateY(-50%); }
.blk-ch--v4 .blk-ch__hd .blk-ch__t{ margin:0; }
.blk-ch--v4 .blk-ch__r2{ display:grid; grid-template-columns:1fr 1fr; column-gap:6vw; align-items:start; padding-top:8vh; }
.blk-ch--v4 .blk-ch__ld{ padding-bottom:0; }
.blk-ch--v4 .blk-ch__txt{ column-count:2; column-gap:3vw; isolation:isolate; }
.blk-ch--v4 .blk-ch__txt .rv-l{ break-inside:avoid; }
.blk-ch--v4.blk-ch--flip .blk-ch__ph--sm{ left:auto; right:15vw; }
.blk-ch--v4.blk-ch--flip .blk-ch__hd{ left:6vw; right:56vw; }
.blk-ch--v4.blk-ch--flip .blk-ch__ld{ order:2; }
@media (max-width:1023px){
  .blk-ch--v4 .blk-ch__r1{ height:auto; margin:0 0 8svh; }
  .blk-ch--v4 .blk-ch__ph--sm, .blk-ch--v4.blk-ch--flip .blk-ch__ph--sm{ position:relative; left:auto; right:auto; width:52vw; height:44svh; margin:6svh auto 6svh; }
  .blk-ch--v4 .blk-ch__hd, .blk-ch--v4.blk-ch--flip .blk-ch__hd{ position:static; transform:none; }
  .blk-ch--v4 .blk-ch__r2{ display:block; padding-top:0; }
  .blk-ch--v4 .blk-ch__ld{ padding-bottom:5svh; }
  .blk-ch--v4 .blk-ch__txt{ column-count:1; }
}
/* capitolo, variante 2: scena ferma con la foto che si forma a fasce, poi il testo su tre colonne */
.blk-ch.blk-cs{ padding:0 0 30vh; }
.blk-cs__st{ position:sticky; top:0; height:100vh; overflow:hidden; }
.blk-cs__fr{ position:absolute; inset:2vw; will-change:clip-path; }
.blk-cs__s{ position:absolute; top:0; bottom:0; left:calc(var(--k) * 100% / 8); width:calc(100% / 8 + 1px); overflow:hidden; clip-path:inset(0 50% 0 50%); }
.blk-cs__s img{ position:absolute; top:0; height:100%; width:var(--fw,96vw); max-width:none; left:calc(var(--k) * var(--fw,96vw) / -8); object-fit:cover; display:block; }
.blk-cs__veil{ position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .9s ease;
  background:linear-gradient(90deg, rgba(2,15,28,.5), rgba(2,15,28,.12) 50%, rgba(2,15,28,.45)); }
.blk-cs.is-formed .blk-cs__veil{ opacity:1; }
.blk-cs__tw{ position:absolute; left:6vw; top:50%; transform:translateY(-50%); }
.blk-cs__ld{ position:absolute; left:52%; right:6vw; top:50%; transform:translateY(-50%); color:var(--calce,#f5f2e5); }
.blk-cs--flip .blk-cs__tw{ left:auto; right:6vw; text-align:right; } .blk-cs--flip .blk-cs__ld{ left:6vw; right:52%; }
.blk-cs__body{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:min(84vw,96rem); column-count:3; column-gap:4vw; }
.blk-cs__body .rv-l, .blk-cs__bodym .rv-l{ break-inside:avoid; }
.blk-cs__bodym{ display:none; }
/* capolettera: la prima lettera esce dal testo, grande; stessa distanza a destra e sotto */
.blk-cs__dc{ float:left; font-family:"JetBrains Mono",monospace; font-weight:400; text-transform:uppercase; image-rendering:pixelated; color:var(--chia,#4cccb3);
  font-size:calc(var(--ty-body) * 8); line-height:.74; padding:.07em 0 .04em; margin:-.03em .16em .04em 0;   /* il riquadro include le lettere tonde (G, O, S) che sporgono sopra e sotto */
  clip-path:inset(100% 0 0 0); transition:clip-path .9s cubic-bezier(.7,0,.84,0); }
.blk-ch__txt--dc.dc-in .blk-cs__dc, .blk-cs.is-body .blk-cs__dc{ clip-path:inset(0 0 0 0); transition:clip-path 1.2s cubic-bezier(.16,1,.3,1); }
@media (max-width:1023px){
  .blk-ch.blk-cs{ padding:0 0 26svh; }
  .blk-cs__st{ height:100svh; height:100dvh; }
  .blk-cs__fr{ inset:3vw; }
  .blk-cs__tw, .blk-cs--flip .blk-cs__tw{ left:6vw; right:6vw; top:14%; transform:none; text-align:left; }
  .blk-cs__ld, .blk-cs--flip .blk-cs__ld{ left:6vw; right:6vw; top:auto; bottom:9%; transform:none; }
  .blk-cs__body{ display:none; }
  .blk-cs__bodym{ display:block; padding:4svh 7vw 0; }
}
/* sovrapposizioni per coppie che compaiono nella pagina del fondatore */
@media (min-width:1024px){ .blk-cs + .blk-cx{ margin-top:-65vh; } .blk-hero + .blk-sq{ margin-top:-100vh; } .blk-sq + .blk-ch{ margin-top:-60vh; } .blk-ch + .blk-hw{ margin-top:-40vh; } }
@media (max-width:1023px){ .blk-cs + .blk-cx{ margin-top:-26svh; } .blk-sq + .blk-ch{ margin-top:-60svh; } .blk-ch + .blk-hw{ margin-top:-40svh; } }
/* per chi: riquadri colorati che arrivano uno sull'altro */
.blk-tf{ position:relative; z-index:2; }
.blk-tf__tw{ position:sticky; top:0; height:0; z-index:6; pointer-events:none; }
.blk-tf__t{ position:absolute; left:6vw; top:0; will-change:transform; }
.blk-tf__bx{ box-sizing:border-box; color:var(--poseidone,#051f38); }
.blk-tf__bx--chia{ background:var(--chia,#4cccb3); } .blk-tf__bx--calce{ background:var(--calce,#f5f2e5); }
.blk-tf__bx--giada{ background:var(--giada,#8cded0); } .blk-tf__bx--grano{ background:var(--grano,#c79f6c); }
.blk-tf__ld{ margin:0; }
.blk-tf__x{ margin:0; } .blk-tf__x dd{ margin:0; } .blk-tf__x dt{ padding-bottom:.9rem; }
.blk-tf__x dt{ clip-path:inset(0 0 100% 0); transition:clip-path .7s cubic-bezier(.7,0,.84,0); }
/* l'etichetta entra insieme al suo testo */
.blk-tf__x div.rv-in dt{ clip-path:inset(0 0 0 0); transition:clip-path .9s cubic-bezier(.16,1,.3,1); }
.blk-tf__gow{ display:block; overflow:hidden; clip-path:inset(0 0 100% 0); transition:clip-path .7s cubic-bezier(.7,0,.84,0); }
.blk-tf__bx.is-on .blk-tf__gow{ clip-path:inset(0 0 0 0); transition:clip-path .9s cubic-bezier(.3,.1,.25,1) .9s; }
/* scena ferma: il titolo resta fuori dai riquadri; i riquadri salgono e si posano uno sotto il lead del precedente */
.blk-tf__tw{ position:fixed; left:0; right:0; top:0; }
.blk-tf__st{ position:sticky; top:0; height:100vh; overflow:hidden; }
.blk-tf__vw{ position:absolute; left:0; right:0; top:25vh; bottom:0; will-change:transform; }
.blk-tf__bx{ position:absolute; top:0; right:3.5vw; will-change:transform; }
.blk-tf__bx{ width:calc(93vw - var(--i,0) * 3vw); }
@media (min-width:1024px){
  .blk-tf__in{ display:grid; grid-template-columns:1fr 1fr; column-gap:6vw; align-items:start; padding:5vh 4vw; }
  .blk-tf__ld{ padding-bottom:4vh; }
  .blk-tf__x div + div{ padding-top:4vh; }
  .blk-tf__gow{ grid-column:2; justify-self:end; margin-top:5vh; }
}
@media (max-width:1023px){
  .blk-tf__t{ left:7vw; }
  .blk-tf__st{ height:100svh; height:100dvh; }
  .blk-tf__vw{ top:25svh; }
  .blk-tf__bx{ right:3vw; }
  .blk-tf__bx{ width:calc(94vw - var(--i,0) * 3vw); }
  .blk-tf__in{ padding:5svh 6vw; }
  .blk-tf__ld{ padding-bottom:5svh; }
  .blk-tf__x div + div{ padding-top:4svh; }
  .blk-tf__gow{ margin:5svh 0 0 auto; width:max-content; }
}
/* la scena dei pilastri si sovrappone in parte a Who we are: solo le immagini ricevono i clic */
.blk-pq, .blk-pq__st{ pointer-events:none; } .blk-q{ pointer-events:auto; }
/* i quarti si sovrappongono di 1px: nessuna fessura di sfondo tra le immagini mentre si formano */
.blk-q--0, .blk-q--2{ padding-right:1px; } .blk-q--0, .blk-q--1{ padding-bottom:1px; } .blk-q{ box-sizing:content-box; }
.blk-pq__st{ position:sticky; top:0; height:100vh; overflow:hidden; }
/* le quattro immagini unite, dentro una cornice del colore del fondo */
.blk-pq__g{ position:absolute; inset:2vw; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:0; }
.blk-q{ cursor:pointer; }
.blk-q{ position:relative; overflow:hidden; clip-path:inset(50% 50% 50% 50%); will-change:clip-path; }
.blk-q__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.04); transition:transform 1.2s cubic-bezier(.16,1,.3,1); }
.blk-q::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(2,15,28,0) 45%, rgba(2,15,28,.55)); transition:background .6s ease; pointer-events:none; }
.blk-q.is-open::after{ background:rgba(2,15,28,.62); }
.blk-q.is-open .blk-q__img{ transform:scale(1.1); }
.blk-q__b{ position:absolute; left:0; right:0; bottom:0; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:2rem;
  padding:3vh 3vw; border:0; background:none; cursor:pointer; text-align:left; }
.blk-q__t{ font-family:"JetBrains Mono",monospace; font-weight:500; text-transform:uppercase; letter-spacing:.14em; font-size:clamp(.95rem,1.2vw,1.3rem); color:var(--calce,#f5f2e5); }
.blk-q__b i{ position:relative; flex:0 0 18px; width:18px; height:18px; }
.blk-q__b i::before, .blk-q__b i::after{ content:""; position:absolute; left:0; top:7px; width:18px; height:4px; background:var(--calce,#f5f2e5); transition:transform .5s cubic-bezier(.22,.61,.36,1); }
.blk-q__b i::after{ transform:rotate(90deg); }
.blk-q.is-open .blk-q__b i::after{ transform:rotate(0deg); }
.blk-q__d{ position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  padding:0 8%; box-sizing:border-box; color:var(--calce,#f5f2e5); opacity:0; pointer-events:none; transition:opacity .4s ease; }
.blk-q__d .ty-lead{ max-width:44rem; }
.blk-q.is-open .blk-q__d{ opacity:1; pointer-events:auto; transition-delay:.35s; }
.blk-q__d .blk-go{ margin-top:2.4rem; }
/* al clic la foto si allarga sulla riga; quella accanto resta come una striscia sul lato */
.blk-pq__g{ display:block !important; }
.blk-q{ position:absolute !important; top:0; height:50%; transition:left .9s cubic-bezier(.65,0,.35,1), width .9s cubic-bezier(.65,0,.35,1); }
.blk-q--2, .blk-q--3{ top:50%; }
.blk-q--0, .blk-q--2{ left:0; width:50%; } .blk-q--1, .blk-q--3{ left:50%; width:50%; }
.blk-pq__g.o0 .blk-q--0, .blk-pq__g.o2 .blk-q--2{ width:88%; } .blk-pq__g.o0 .blk-q--1, .blk-pq__g.o2 .blk-q--3{ left:88%; width:12%; }
.blk-pq__g.o1 .blk-q--0, .blk-pq__g.o3 .blk-q--2{ width:12%; } .blk-pq__g.o1 .blk-q--1, .blk-pq__g.o3 .blk-q--3{ left:12%; width:88%; }
.blk-q.is-narrow .blk-q__b{ opacity:0; pointer-events:none; }
/* desktop: si allarga sul pilastro sopra o sotto; quello che si riduce diventa una striscia orizzontale */
@media (min-width:1024px){
  .blk-q{ transition:top .9s cubic-bezier(.65,0,.35,1), height .9s cubic-bezier(.65,0,.35,1) !important; }
  .blk-pq__g[class*=" o"] .blk-q{ width:50% !important; }
  .blk-pq__g[class*=" o"] .blk-q--0, .blk-pq__g[class*=" o"] .blk-q--2{ left:0 !important; }
  .blk-pq__g[class*=" o"] .blk-q--1, .blk-pq__g[class*=" o"] .blk-q--3{ left:50% !important; }
  .blk-pq__g.o0 .blk-q--0{ top:0; height:88%; } .blk-pq__g.o0 .blk-q--2{ top:88%; height:12%; }
  .blk-pq__g.o2 .blk-q--0{ top:0; height:12%; } .blk-pq__g.o2 .blk-q--2{ top:12%; height:88%; }
  .blk-pq__g.o1 .blk-q--1{ top:0; height:88%; } .blk-pq__g.o1 .blk-q--3{ top:88%; height:12%; }
  .blk-pq__g.o3 .blk-q--1{ top:0; height:12%; } .blk-pq__g.o3 .blk-q--3{ top:12%; height:88%; }
}
/* il tasto si apre da una striscia, dall'alto verso il basso */
/* tendina: un contenitore che si apre in altezza dall'alto verso il basso, il tasto resta fermo */
.blk-gow{ display:block; overflow:hidden; height:0; margin-top:2.4rem; }
.blk-gow .blk-go{ margin-top:0 !important; display:block; }
.blk-q__b{ transition:opacity .4s ease; overflow:hidden; }
/* titolo e + del quarto salgono dalla fessura quando l'immagine si e' formata */
.blk-q__sl{ display:block; overflow:hidden; padding-bottom:.14em; }
.blk-q__sl--i{ padding:4px 0; }
.blk-q__t, .blk-q__b i{ display:block; transform:translateY(130%); visibility:hidden; transition:transform .7s cubic-bezier(.7,0,.84,0), visibility 0s .7s; }
.blk-q.is-formed .blk-q__t, .blk-q.is-formed .blk-q__b i{ transform:none; visibility:visible; transition:transform 1.1s cubic-bezier(.16,1,.3,1); }
.blk-q.is-formed .blk-q__b i{ transition-delay:.07s; }
.blk-q__b i{ transform-origin:center; }
.blk-q.is-open .blk-q__img{ transform:scale(1.04); }
.blk-q--0, .blk-q--2{ } 
/* i quarti in alto hanno il titolo in alto, lontano dal titolo centrale */
.blk-q--0 .blk-q__b, .blk-q--1 .blk-q__b{ bottom:auto; top:0; }
.blk-q--0::after, .blk-q--1::after{ background:linear-gradient(0deg, rgba(2,15,28,0) 45%, rgba(2,15,28,.55)); }
.blk-pq__c{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:4; pointer-events:none; }
.blk-pq__c .blk-t{ white-space:nowrap; }
/* il titolo entra ed esce dalla fessura, come gli altri titoli */
.blk-pq__t .blk-tn{ transition:transform 1.1s cubic-bezier(.16,1,.3,1); }


/* domande */
.blk-faq__h{ margin:-5vh auto 8vh; max-width:44rem; text-align:center; }
/* Q&A: arriva poco dopo l'uscita delle schede; titolo al centro */
.blk-qa{ position:relative; z-index:3; }
.blk-tf + .blk-qa{ margin-top:-76vh; }
.blk-qa__hd .blk-t{ text-align:center; margin:0; }
/* il lead entra dopo il titolo */
.blk-faq__h.rv-on .rv-i{ transition-delay:calc(var(--rvd,0s) + .55s); }
.blk-faq__a .rv-l{ break-inside:avoid; }
@media (min-width:1024px){
  /* Q&A: titolo al centro della meta' sinistra, lead nella meta' destra; sotto le domande */
  .blk-qa__hd{ display:grid; grid-template-columns:1fr 1fr; align-items:center; column-gap:6vw; margin-bottom:16vh; }
  .blk-qa__hd .blk-faq__h{ margin:0; max-width:30rem; text-align:left; }
  .blk-qa .blk-faq{ max-width:none; }
}
@media (max-width:1023px){ .blk-qa__hd .blk-t{ margin-bottom:6svh; } }
/* separatori: tratteggio di quadretti calce sulla griglia da 8px, come in heritage management (qui orizzontale e fermo) */
.blk-faq{ max-width:70rem; padding-top:8px; background:linear-gradient(90deg, var(--calce,#f5f2e5) 8px, transparent 8px) 0 0 / 32px 8px repeat-x; }
/* l'elenco entra solo quando il blocco precedente e' uscito: si apre dall'alto; risalendo si richiude */
.blk-faq{ clip-path:inset(0 0 100% 0); transition:clip-path .7s cubic-bezier(.7,0,.84,0); }
.blk-faq.is-in{ clip-path:inset(0 0 0 0); transition:clip-path 1.1s cubic-bezier(.16,1,.3,1) .3s; }
.blk-faq__i{ padding-bottom:8px; background:linear-gradient(90deg, var(--calce,#f5f2e5) 8px, transparent 8px) 0 100% / 32px 8px repeat-x; }
.blk-faq__q{ width:100%; display:flex; justify-content:space-between; align-items:center; gap:2rem; padding:2.08rem 0; border:0; background:none; cursor:pointer; text-align:left;
  font-family:"JetBrains Mono",monospace; font-weight:500; text-transform:uppercase; letter-spacing:.12em; font-size:clamp(.9rem,1.1vw,1.15rem); color:var(--poseidone,#051f38); }
.blk-faq__q i{ position:relative; flex:0 0 18px; width:18px; height:18px; }
.blk-faq__q i::before, .blk-faq__q i::after{ content:""; position:absolute; left:0; top:7px; width:18px; height:4px; background:var(--chia,#4cccb3); transition:transform .5s cubic-bezier(.22,.61,.36,1); }
.blk-faq__q i::after{ transform:rotate(90deg); }
.blk-faq__i.is-open .blk-faq__q i::after{ transform:rotate(0deg); }
.blk-faq__a{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .6s cubic-bezier(.22,.61,.36,1); }
.blk-faq__a > p{ overflow:hidden; }
.blk-faq__i.is-open .blk-faq__a{ grid-template-rows:1fr; }
.blk-faq__i.is-open .blk-faq__a > p{ padding-bottom:2rem; }

.blk-night{ position:fixed; inset:0; z-index:0; pointer-events:none; opacity:0; background:linear-gradient(160deg, var(--poseidone,#051f38), var(--notte,#020f1c)); }
.blk-tell{ position:relative; z-index:2; height:170vh; }
/* sopra l'ondina del footer si vede lo stesso fondo notte, senza stacchi (come in home) */
.footer-wave-wrap{ background:transparent !important; }
.blk-tell__st{ position:sticky; top:0; height:100vh; display:grid; place-items:center; }
.blk-tell__b{ text-align:center; opacity:0; pointer-events:none; }
.blk-tell__w{ position:relative; margin:0 0 clamp(48px,8vh,96px); }
html body .blk-tell__q{ margin:0; font-family:"JetBrains Mono",monospace !important; font-weight:400 !important; text-transform:uppercase !important;
  font-size:var(--ty-t2) !important; line-height:1.02 !important; letter-spacing:0 !important; color:var(--calce,#f5f2e5); max-width:none !important; }
@media (max-width:1023px){ .blk-tell__b{ margin:0 24px; } .blk-tell__st{ height:100svh; height:100dvh; } }

/* ===== mobile ===== */
@media (max-width:1023px){
  .blk-open{ height:430svh; } .blk-st{ height:100svh; height:100dvh; overflow:visible; overflow-x:clip; }
  /* l'altezza segue la barra del browser: l'ondina resta attaccata al bordo inferiore */
  /* il lead lungo continua sotto il bordo dello schermo e si legge quando la pagina riparte */
  .blk-ttl{ left:7vw; right:7vw; width:auto; bottom:auto; top:62svh; }
  .blk-sw{ bottom:auto; top:0; }
  .blk-px--xl{ font-size:22vw; }
  .blk-narr__txt{ column-count:1; }
  .blk-sub{ margin-top:4vw; }
  .blk-narr{ padding-bottom:14svh; }
  .blk-t--xl{ font-size:26vw; } .blk-t--l{ font-size:15vw; } .blk-t--m{ font-size:11vw; }
  .blk-wave{ height:16vw; } .blk-wave__m{ -webkit-mask-size:128vw 100%; mask-size:128vw 100%; }
  .blk-sec{ padding:10svh 7vw 12svh; }
  .blk-sec > .blk-t{ margin-bottom:6svh; }
  .blk-who{ padding:0 7vw 12svh; } .blk-who__pin{ height:200svh; margin:0 -7vw; } .blk-who__st{ height:100svh; }
  .blk-rows{ margin-top:-38svh; }
  .blk-row__q{ grid-template-columns:auto 1fr auto; gap:5vw; padding:3svh 0; }
  .blk-row__n{ font-size:14vw; }
  .blk-row__c{ margin-left:0; }
  .blk-pq{ height:360svh; } .blk-who + .blk-pq{ margin-top:-34svh; }
  .blk-hw{ height:650svh; } .blk-sq + .blk-hw{ margin-top:-100svh; } .blk-hw__ld{ left:7vw; width:78vw; top:34svh; } .blk-hw__st{ height:100svh; height:100dvh; } .blk-hw__trk{ top:34svh; } .blk-hw__it{ flex-basis:78vw; padding:0 6vw; }
  .blk-sq{ height:215svh; } .blk-pq + .blk-sq{ margin-top:-115svh; } .blk-sq__st{ height:100svh; padding:0 7vw; } .blk-pq__st{ height:100svh; height:100dvh; }
  .blk-q__b{ padding:2.4svh 4vw; } .blk-q__t{ font-size:.72rem; letter-spacing:.1em; }
  .blk-pq__g{ inset:3vw; }
  /* il testo resta tra il titolo del quarto e il bordo */
  .blk-q__d{ padding:calc(8svh + 2.4rem) 6% 3.4rem; } .blk-q--2 .blk-q__d, .blk-q--3 .blk-q__d{ padding:2.4rem 6% calc(2.4svh + 3rem); }
  .blk-q__d .blk-go{ margin-top:1.2rem; }
  /* in alto il titolo del quarto sta sopra, lontano dal titolo centrale */
  .blk-q--0 .blk-q__b, .blk-q--1 .blk-q__b{ bottom:auto; top:8svh; }
  .blk-q--0::after, .blk-q--1::after{ background:linear-gradient(0deg, rgba(2,15,28,0) 45%, rgba(2,15,28,.55)); }
  /* a quarto chiuso: titolo al centro del riquadro, il + sotto; aperto torna alla posizione del testo */
  .blk-q:not(.is-open) .blk-q__b{ top:50% !important; bottom:auto !important; transform:translateY(-50%); flex-direction:column; justify-content:center; gap:1.4svh; text-align:center; }
  .blk-faq__h{ margin:-3svh auto 0; padding-bottom:10svh; }
  .blk-tf + .blk-qa{ margin-top:-95svh; }
  .blk-faq__q{ font-size:.9rem; }
}

/* colonne di testo distribuite a mano (vedi blocks.js): stessa altezza, stessa linea di partenza */
.blk-colsOn{ column-count:auto !important; columns:auto !important; }
.blk-cols{ display:flex; align-items:flex-start; }
.blk-col{ flex:1 1 0; min-width:0; }
