
.studio-page{background:#051d2d}
.studio-page .language-switch{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.72);font-size:11px;letter-spacing:.12em}
.studio-page .lang-button{appearance:none;-webkit-appearance:none;padding:0;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;opacity:.55}
.studio-page .lang-button:hover,.studio-page .lang-button:focus-visible,.studio-page .lang-button.is-active{color:#fff;opacity:1;outline:none}
.studio-hero{position:relative;min-height:calc(100vh - var(--header-h));display:flex;align-items:center;overflow:hidden;color:#fff;background:#051d2d}
.studio-hero__image,.studio-hero__shade{position:absolute;inset:0}
.studio-hero__image{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.015);animation:studioHeroDrift 16s ease-in-out infinite alternate}
@keyframes studioHeroDrift{from{transform:scale(1.015) translate3d(0,0,0)}to{transform:scale(1.05) translate3d(-.8%,-.4%,0)}}
.studio-hero__shade{background:linear-gradient(90deg,rgba(5,29,45,.95) 0%,rgba(5,29,45,.88) 34%,rgba(5,29,45,.55) 54%,rgba(5,29,45,.12) 100%),linear-gradient(180deg,rgba(5,29,45,.08),rgba(5,29,45,.24))}
.studio-hero__content{position:relative;z-index:3;width:min(980px,100%);padding:100px var(--page-pad) 80px}
.studio-hero h1{max-width:960px;margin:0 0 34px;font-size:clamp(58px,6.2vw,112px);font-weight:300;line-height:.96;letter-spacing:-.055em}
.studio-hero__text{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;max-width:920px}
.studio-hero__text p{margin:0;color:rgba(255,255,255,.78);font-size:clamp(15px,1vw,18px);line-height:1.72}
.studio-hero__link{display:inline-flex;align-items:center;gap:28px;margin-top:34px;padding:12px 0;color:#fff;border-bottom:1px solid rgba(255,255,255,.55);text-decoration:none;font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.experience-section{position:relative;display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(50px,7vw,120px);padding:clamp(110px,10vw,170px) var(--page-pad);color:#152330;background:linear-gradient(rgba(21,35,48,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(21,35,48,.035) 1px,transparent 1px),#eeece6;background-size:120px 120px;overflow:hidden}
.experience-year{position:sticky;top:130px;align-self:start;min-height:360px}
.experience-year__eyebrow{display:block;margin-bottom:10px;font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.experience-year strong{display:block;font-size:clamp(120px,16vw,290px);font-weight:300;line-height:.8;letter-spacing:-.08em;color:#0b3956}
.experience-year__line{display:block;width:0;height:1px;margin-top:40px;background:#0b3956;transition:width 1.1s var(--ease)}
.experience-year.is-visible .experience-year__line{width:100%}
.experience-copy h2{margin:0 0 32px;font-size:clamp(48px,5vw,86px);font-weight:300;line-height:1;letter-spacing:-.045em}
.experience-copy__body{display:grid;gap:20px;max-width:820px}
.experience-copy__body p{margin:0;color:#667079;font-size:clamp(16px,1.04vw,19px);line-height:1.75}
.experience-timeline{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid rgba(21,35,48,.16)}
.experience-timeline article{padding:30px 28px 8px 0;border-right:1px solid rgba(21,35,48,.16)}
.experience-timeline article:not(:first-child){padding-left:28px}.experience-timeline article:last-child{border-right:0}
.experience-timeline span{display:block;margin-bottom:20px;font-size:42px;font-weight:500;color:#0b3956}
.experience-timeline strong{display:block;margin-bottom:10px;font-size:16px;letter-spacing:.08em;text-transform:uppercase}
.experience-timeline p{margin:0;color:#667079;font-size:14px;line-height:1.65}
.skills-section{position:relative;min-height:1100px;padding:clamp(120px,11vw,190px) var(--page-pad);color:#fff;background:radial-gradient(circle at 68% 54%,rgba(43,96,126,.24),transparent 32%),linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px),#051d2d;background-size:auto,120px 120px,120px 120px,auto;overflow:hidden}
.skills-copy{max-width:920px;position:relative;z-index:3}.skills-copy h2{margin:0 0 28px;font-size:clamp(54px,5.8vw,100px);font-weight:300;line-height:.98;letter-spacing:-.05em}
.skills-copy>p:last-child{max-width:760px;margin:0;color:rgba(255,255,255,.72);font-size:clamp(16px,1.05vw,19px);line-height:1.74}
.skills-diagram{position:relative;min-height:760px;max-width:1180px;margin:60px auto 0}
.skills-core{position:absolute;top:50%;left:50%;z-index:4;width:250px;height:250px;display:grid;place-items:center;align-content:center;gap:14px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(5,29,45,.9);transform:translate(-50%,-50%);box-shadow:0 0 0 24px rgba(255,255,255,.025),0 0 90px rgba(55,130,168,.18)}
.skills-core img{width:150px;height:auto}.skills-core span{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;opacity:.75}
.skills-orbit{position:absolute;top:50%;left:50%;border:1px solid rgba(255,255,255,.16);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.skills-orbit--1{width:470px;height:470px;animation:skillsPulse 4.5s ease-in-out infinite}.skills-orbit--2{width:680px;height:680px;animation:skillsPulse 4.5s 1.8s ease-in-out infinite}
@keyframes skillsPulse{0%,100%{opacity:.12;transform:translate(-50%,-50%) scale(.95)}50%{opacity:.48;transform:translate(-50%,-50%) scale(1.04)}}
.skill-node{position:absolute;z-index:5;width:190px;min-height:190px;display:grid;place-items:center;align-content:center;padding:20px;text-align:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(5,29,45,.82);opacity:0;transform:scale(.78);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.skills-diagram.is-visible .skill-node{opacity:1;transform:scale(1)}
.skills-diagram.is-visible .skill-node--1{transition-delay:.1s}.skills-diagram.is-visible .skill-node--2{transition-delay:.2s}.skills-diagram.is-visible .skill-node--3{transition-delay:.3s}.skills-diagram.is-visible .skill-node--4{transition-delay:.4s}.skills-diagram.is-visible .skill-node--5{transition-delay:.5s}.skills-diagram.is-visible .skill-node--6{transition-delay:.6s}
.skill-node--1{top:0;left:50%;transform:translateX(-50%) scale(.78)}
.skill-node--2{top:16%;right:0}.skill-node--3{bottom:3%;right:10%}.skill-node--4{bottom:3%;left:10%}.skill-node--5{top:16%;left:0}.skill-node--6{bottom:-2%;left:50%;transform:translateX(-50%) scale(.78)}
.skills-diagram.is-visible .skill-node--1,.skills-diagram.is-visible .skill-node--6{transform:translateX(-50%) scale(1)}
.skill-node__number{display:block;margin-bottom:8px;font-size:34px;font-weight:500;color:#fff}
.skill-node svg{width:42px;height:42px;margin-bottom:12px;fill:none;stroke:rgba(255,255,255,.78);stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.skill-node h3{margin:0;font-size:12px;font-weight:500;letter-spacing:.04em;line-height:1.35;text-transform:uppercase}
.studio-coordinate-cursor,.skills-coordinate-cursor{position:absolute;z-index:20;inset:0;pointer-events:none;opacity:0;transition:opacity .14s ease}
.studio-coordinate-cursor.is-visible,.skills-coordinate-cursor.is-visible{opacity:1}
.studio-coordinate-cursor__x,.skills-coordinate-cursor__x,.studio-coordinate-cursor__y,.skills-coordinate-cursor__y,.studio-coordinate-cursor__point,.skills-coordinate-cursor__point,.studio-coordinate-cursor__label,.skills-coordinate-cursor__label{position:absolute;pointer-events:none}
.studio-coordinate-cursor__x,.skills-coordinate-cursor__x{left:0;right:0;top:var(--cursor-y,50%);height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent)}
.studio-coordinate-cursor__y,.skills-coordinate-cursor__y{top:0;bottom:0;left:var(--cursor-x,50%);width:1px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.18),transparent)}
.studio-coordinate-cursor__point,.skills-coordinate-cursor__point{left:var(--cursor-x,50%);top:var(--cursor-y,50%);width:7px;height:7px;border:1px solid rgba(255,255,255,.62);border-radius:50%;transform:translate(-50%,-50%)}
.studio-coordinate-cursor__label,.skills-coordinate-cursor__label{left:calc(var(--cursor-x,50%) + 14px);top:calc(var(--cursor-y,50%) + 13px);padding:4px 6px;color:rgba(255,255,255,.74);background:rgba(5,29,45,.72);font-size:9px;font-weight:600;letter-spacing:.12em;white-space:nowrap}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1100px){.experience-section{grid-template-columns:1fr}.experience-year{position:relative;top:auto;min-height:auto}.experience-year strong{font-size:150px}.skills-diagram{min-height:820px}}
@media(max-width:760px){.studio-hero{min-height:82vh}.studio-hero__content{padding-top:80px}.studio-hero h1{font-size:48px}.studio-hero__text{grid-template-columns:1fr}.experience-section{padding-top:80px;padding-bottom:80px}.experience-timeline{grid-template-columns:1fr}.experience-timeline article,.experience-timeline article:not(:first-child){padding:24px 0;border-right:0;border-bottom:1px solid rgba(21,35,48,.16)}.skills-section{min-height:auto;padding-top:90px;padding-bottom:90px}.skills-diagram{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-height:auto;margin-top:40px}.skills-core,.skills-orbit{display:none}.skill-node,.skill-node--1,.skill-node--2,.skill-node--3,.skill-node--4,.skill-node--5,.skill-node--6{position:static;width:auto;min-height:170px;border-radius:16px;transform:none;display:grid}.skills-diagram.is-visible .skill-node,.skills-diagram.is-visible .skill-node--1,.skills-diagram.is-visible .skill-node--6{transform:none}.studio-coordinate-cursor,.skills-coordinate-cursor{display:none}}


/* ===== STUDIO V2 ===== */

/* Hero: testo in colonna unica */
.studio-hero__text {
  display: block;
  max-width: 720px;
}
.studio-hero__text p + p {
  margin-top: 18px;
}

/* Blocco 2 più pieno, senza grande 2003 e senza timeline numerata */
.experience-section {
  grid-template-columns: .48fr 1.52fr;
  align-items: start;
}
.experience-year {
  position: relative;
  top: auto;
  min-height: 0;
  padding-top: 8px;
}
.experience-year strong {
  font-size: clamp(72px, 8vw, 136px);
  line-height: .9;
  letter-spacing: -.06em;
}
.experience-copy {
  padding-right: min(5vw, 80px);
}
.experience-statement {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34%;
  gap: 40px;
  align-items: center;
  margin-top: 56px;
  padding-top: 34px;
  border-top: 1px solid rgba(21,35,48,.18);
}
.experience-statement p {
  margin: 0;
  font-size: clamp(28px, 3.1vw, 52px);
  font-weight: 300;
  line-height: 1.12;
  letter-spacing: -.035em;
}
.experience-statement span {
  display: block;
  height: 1px;
  background: linear-gradient(90deg, rgba(11,57,86,.12), #0b3956);
  box-shadow: 0 0 12px rgba(11,57,86,.18);
}

/* Blocco 3: griglia fotografica editoriale */
.skills-section {
  min-height: auto;
  padding-bottom: clamp(120px, 10vw, 180px);
}
.skills-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 26px;
  margin-top: 62px;
}
.skills-card {
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 24px;
  padding: 18px 18px 26px;
  background: rgba(255,255,255,.025);
  transition: transform .45s var(--ease), border-color .45s var(--ease), background .45s var(--ease);
}
.skills-card:hover {
  transform: translateY(-8px);
  border-color: rgba(255,255,255,.34);
  background: rgba(255,255,255,.05);
}
.skills-card__image {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 16px;
  margin-bottom: 24px;
  background:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(135deg, rgba(28,73,98,.5), rgba(5,29,45,.92));
  background-size: 34px 34px, 34px 34px, auto;
}
.skills-card__image::before,
.skills-card__image::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 22px;
}
.skills-card__image::before {
  width: 68%;
  height: 58%;
  left: 14%;
  top: 18%;
}
.skills-card__image::after {
  width: 42%;
  height: 34%;
  right: 8%;
  bottom: 10%;
}
.skills-card__image span {
  position: absolute;
  z-index: 2;
  left: 18px;
  bottom: 14px;
  font-size: 46px;
  font-weight: 600;
  line-height: 1;
  color: rgba(255,255,255,.9);
}
.skills-card h3 {
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.skills-card p {
  margin: 0;
  color: rgba(255,255,255,.66);
  font-size: 14px;
  line-height: 1.7;
}

/* rimuove vecchio diagramma */
.skills-diagram,
.skills-core,
.skills-orbit,
.skill-node {
  display: none !important;
}

@media (max-width: 980px) {
  .skills-gallery {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}
@media (max-width: 700px) {
  .experience-section {
    grid-template-columns: 1fr;
  }
  .experience-statement {
    grid-template-columns: 1fr;
  }
  .skills-gallery {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   BLOCCO 4 — PERSONE E PARTNER
   ========================================================= */

.network-section {
  position: relative;
  overflow: hidden;
  padding: clamp(110px, 10vw, 170px) var(--page-pad) 0;
  color: #152330;
  background:
    linear-gradient(rgba(21,35,48,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(21,35,48,.035) 1px, transparent 1px),
    #eeece6;
  background-size: 120px 120px;
}

.network-head {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(40px, 7vw, 120px);
  align-items: end;
}

.network-head h2 {
  margin: 0;
  font-size: clamp(54px, 5.8vw, 98px);
  font-weight: 300;
  line-height: .98;
  letter-spacing: -.05em;
}

.network-head > p:last-child {
  margin: 0 0 6px;
  color: #667079;
  font-size: clamp(16px, 1.05vw, 19px);
  line-height: 1.75;
}

.network-values {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 72px;
  border-top: 1px solid rgba(21,35,48,.17);
}

.network-value {
  min-height: 240px;
  padding: 34px 28px 30px 0;
  border-right: 1px solid rgba(21,35,48,.17);
}

.network-value:not(:first-child) {
  padding-left: 28px;
}

.network-value:last-child {
  border-right: 0;
}

.network-value strong,
.network-value > span {
  display: inline-block;
  color: #0b3956;
  font-size: clamp(84px, 9vw, 150px);
  font-weight: 300;
  line-height: .86;
  letter-spacing: -.07em;
}

.network-value > span {
  margin-left: 5px;
  font-size: clamp(38px, 4vw, 68px);
  vertical-align: top;
}

.network-value p {
  margin: 22px 0 0;
  color: #59656e;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.professions-marquee {
  position: relative;
  width: calc(100% + (var(--page-pad) * 2));
  margin-left: calc(var(--page-pad) * -1);
  margin-top: 44px;
  overflow: hidden;
  color: #fff;
  background: #072238;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.professions-track {
  display: flex;
  align-items: center;
  gap: 42px;
  width: max-content;
  padding: 32px 0;
  animation: professionsMove 52s linear infinite;
}

.professions-track span {
  position: relative;
  padding-left: 18px;
  color: rgba(255,255,255,.85);
  font-size: clamp(18px, 1.55vw, 28px);
  font-weight: 300;
  letter-spacing: .04em;
  white-space: nowrap;
}

.professions-track span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #d2e8ff;
  transform: translateY(-50%);
  box-shadow: 0 0 10px rgba(210,232,255,.5);
}

@keyframes professionsMove {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* =========================================================
   BLOCCO 5 — CHIUSURA
   ========================================================= */

.studio-closing {
  position: relative;
  min-height: 88vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: #051d2d;
}

.studio-closing__placeholder,
.studio-closing__shade {
  position: absolute;
  inset: 0;
}

.studio-closing__placeholder {
  display: grid;
  place-items: center;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    radial-gradient(circle at 74% 44%, rgba(56,116,148,.26), transparent 28%),
    linear-gradient(135deg, #102d3e, #051d2d 62%);
  background-size: 92px 92px, 92px 92px, auto, auto;
}

.studio-closing__placeholder::before,
.studio-closing__placeholder::after {
  content: "";
  position: absolute;
  right: 8%;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 28px;
}

.studio-closing__placeholder::before {
  width: 38%;
  height: 56%;
  top: 17%;
}

.studio-closing__placeholder::after {
  width: 28%;
  height: 42%;
  top: 27%;
  right: 15%;
}

.studio-closing__placeholder span {
  position: absolute;
  right: 18%;
  bottom: 15%;
  color: rgba(255,255,255,.34);
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.studio-closing__shade {
  background: linear-gradient(90deg, rgba(5,29,45,.96) 0%, rgba(5,29,45,.84) 42%, rgba(5,29,45,.32) 72%, rgba(5,29,45,.15) 100%);
}

.studio-closing__content {
  position: relative;
  z-index: 3;
  width: min(820px, 100%);
  padding: 90px var(--page-pad);
}

.studio-closing h2 {
  margin: 0 0 28px;
  font-size: clamp(60px, 6.3vw, 112px);
  font-weight: 300;
  line-height: .95;
  letter-spacing: -.055em;
}

.studio-closing__content > p:not(.section-label) {
  max-width: 620px;
  margin: 0 0 32px;
  color: rgba(255,255,255,.76);
  font-size: clamp(16px, 1.05vw, 19px);
  line-height: 1.75;
}

.studio-closing__link {
  display: inline-flex;
  align-items: center;
  gap: 28px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,.55);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .15em;
  text-decoration: none;
  text-transform: uppercase;
}

@media (max-width: 980px) {
  .network-head {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .network-values {
    grid-template-columns: 1fr;
  }

  .network-value,
  .network-value:not(:first-child) {
    min-height: 190px;
    padding: 28px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(21,35,48,.17);
  }

  .studio-closing {
    min-height: 76vh;
  }

  .studio-closing h2 {
    font-size: 50px;
  }
}

/* IMMAGINI DEFINITIVE — COMPETENZE */
.skills-card__image {
  display: grid;
  grid-template-rows: 78% 22%;
  background: #08253a;
}
.skills-card__image img {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: block;
  object-fit: cover;
}
.skills-card__technical {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px),
    #08253a;
  background-size: 24px 24px;
}
.skills-card__technical::after {
  content: "";
  position: absolute;
  right: 12%;
  top: 50%;
  width: 42%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(210,232,255,.72));
  box-shadow: 0 0 10px rgba(210,232,255,.28);
}
.skills-card__technical span {
  position: absolute;
  left: 16px;
  bottom: 10px;
  color: rgba(255,255,255,.92);
  font-size: 38px;
  font-weight: 600;
  line-height: 1;
}
.skills-card__image::before,
.skills-card__image::after,
.skills-card__image > span {
  display: none !important;
}
.studio-closing__placeholder img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
