.about-page { --yellow: #f5c400; --ink: #080808; --cream: #f5f2ea; --muted: rgba(245,242,234,.62); background: var(--ink); }
.about-page .minimal-nav { mix-blend-mode: normal; background: linear-gradient(180deg, rgba(7,7,7,.75), transparent); }
.about-page .nav-links a[aria-current="page"] { color: var(--yellow); }
.skip-link { position: fixed; left: 20px; top: -60px; z-index: 40; padding: 12px 16px; color: var(--ink); background: var(--yellow); }
.skip-link:focus { top: 20px; }
.about-wrap { width: min(1180px, calc(100% - 80px)); margin: 0 auto; }
.section-dark { color: var(--cream); background: var(--ink); }
.section-paper { color: var(--ink); background: var(--cream); }
.section-yellow { color: var(--ink); background: var(--yellow); }
.section-label { margin: 0; color: var(--yellow); font: 600 10px/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; }
.section-paper .section-label { color: #857000; }
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s cubic-bezier(.22,1,.36,1); }
.reveal.is-visible { opacity: 1; transform: none; }
.reveal-delay-1 { transition-delay: .1s; }.reveal-delay-2 { transition-delay: .2s; }.reveal-delay-3 { transition-delay: .3s; }
.about-hero { position: relative; min-height: 100svh; overflow: hidden; background: var(--ink); }
.about-hero-media { position: absolute; inset: 0; overflow: hidden; }
.about-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: grayscale(1) contrast(1.2) brightness(.48); transform: scale(1.06); transition: transform 1.8s cubic-bezier(.22,1,.36,1); }
.about-hero:hover .about-hero-media img { transform: scale(1.1); }
.about-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,7,7,.9), rgba(7,7,7,.25) 68%, rgba(7,7,7,.7)), linear-gradient(0deg, rgba(7,7,7,.9), transparent 45%); }
.about-hero-content { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; width: min(1180px, calc(100% - 80px)); min-height: 100svh; margin: 0 auto; padding-top: 40px; }
.about-kicker { color: var(--yellow); font: 500 10px/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; }
.about-hero h1 { margin: 26px 0 24px; color: var(--cream); font-size: clamp(5rem, 13vw, 12.5rem); font-weight: 500; letter-spacing: -.11em; line-height: .74; }
.about-hero h1 em, .intro-copy em, .section-heading em, .spaces-copy em, .method-intro em { color: var(--yellow); font-style: normal; }
.about-hero-lead { max-width: 440px; margin: 0; color: rgba(245,242,234,.78); font-size: clamp(1rem, 1.4vw, 1.2rem); line-height: 1.5; }
.about-scroll { display: inline-flex; align-items: center; gap: 14px; width: fit-content; margin-top: 70px; color: var(--cream); font: 600 10px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; }
.about-scroll span { width: 38px; height: 1px; background: var(--yellow); transition: width .4s ease; }.about-scroll:hover span { width: 62px; }
.hero-index { position: absolute; right: 4vw; bottom: 42px; color: var(--yellow); font: 500 10px/1 var(--sans); letter-spacing: .16em; }.hero-index span { color: rgba(245,242,234,.4); margin: 0 8px; }
.about-intro { position: relative; padding: 150px 0 170px; overflow: hidden; }
.about-signal { position: absolute; top: 95px; left: 0; display: flex; align-items: center; gap: 10px; width: 100%; height: 30px; opacity: .65; }.about-signal::before { content: ""; position: absolute; left: 0; right: 0; height: 1px; background: rgba(245,196,0,.35); }.about-signal span { position: relative; width: 2px; height: calc(5px + var(--signal-height, 12px)); background: var(--yellow); transform-origin: center; }.about-signal span:nth-child(2n) { --signal-height: 25px; }.about-signal span:nth-child(3n) { --signal-height: 8px; }.about-signal span:nth-child(4n) { --signal-height: 38px; }
.intro-grid { display: grid; grid-template-columns: 1fr 2.2fr; gap: 50px; }.intro-copy { max-width: 820px; }.intro-copy h2, .section-heading h2, .spaces-copy h2, .method-intro h2 { margin: 0 0 28px; font-size: clamp(2.8rem, 5.5vw, 6rem); font-weight: 500; letter-spacing: -.09em; line-height: .88; }.intro-copy p, .section-heading > p, .spaces-copy > p { max-width: 600px; margin: 0; color: var(--muted); font-size: 1.05rem; line-height: 1.6; }
.founders-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; margin-top: 110px; }.founder-card { position: relative; min-height: 600px; overflow: hidden; background: #161616; cursor: pointer; }.founder-card--offset { margin-top: 90px; }.founder-image, .founder-image img { position: absolute; inset: 0; width: 100%; height: 100%; }.founder-image img { object-fit: cover; filter: grayscale(1) contrast(1.1) brightness(.7); transition: transform .9s cubic-bezier(.22,1,.36,1), filter .7s ease; }.founder-card:hover .founder-image img, .founder-card:focus .founder-image img { transform: scale(1.06); filter: grayscale(.1) contrast(1.06) brightness(.78); }.founder-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,7,7,.94), transparent 62%); }.founder-meta { position: absolute; z-index: 1; right: 34px; bottom: 32px; left: 34px; }.founder-meta p { margin: 0 0 22px; color: var(--yellow); font: 500 9px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; }.founder-meta h3 { margin: 0; color: var(--cream); font-size: clamp(2.4rem, 4vw, 4.5rem); font-weight: 500; letter-spacing: -.1em; line-height: .8; }.founder-meta h3 em { color: var(--yellow); font-style: normal; }.founder-open { position: absolute; right: 0; bottom: 0; display: grid; place-items: center; width: 42px; height: 42px; color: var(--ink); background: var(--yellow); font-size: 24px; transition: transform .4s ease; }.founder-card:hover .founder-open, .founder-card:focus .founder-open { transform: rotate(45deg); }.founder-detail { position: absolute; z-index: 2; right: 26px; bottom: 26px; left: 26px; padding: 22px; color: var(--ink); background: var(--yellow); opacity: 0; transform: translateY(20px); transition: opacity .45s ease, transform .45s cubic-bezier(.22,1,.36,1); }.founder-detail p { margin: 0; font-size: .95rem; line-height: 1.5; }.founder-card:hover .founder-detail, .founder-card:focus .founder-detail { opacity: 1; transform: none; }
.team-section { padding: 160px 0; }.section-heading { display: grid; grid-template-columns: 1fr 1.4fr; gap: 30px; margin-bottom: 100px; }.section-heading h2 { margin-bottom: 0; }.section-heading > p { align-self: end; color: rgba(8,8,8,.6); }.staff-list { border-top: 1px solid rgba(8,8,8,.18); }.staff-line { position: relative; display: grid; grid-template-columns: 1fr 2fr 1.3fr; align-items: center; min-height: 105px; border-bottom: 1px solid rgba(8,8,8,.18); transition: padding .45s cubic-bezier(.22,1,.36,1), background .45s ease; }.staff-line:hover { padding: 0 24px; background: var(--yellow); }.staff-portrait { position: absolute; left: 38%; z-index: 2; width: 120px; height: 145px; overflow: hidden; opacity: 0; transform: translateY(18px) rotate(-4deg); pointer-events: none; transition: opacity .35s ease, transform .45s cubic-bezier(.22,1,.36,1); }.staff-line:hover .staff-portrait { opacity: 1; transform: translateY(0) rotate(-4deg); }.staff-portrait img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); }.staff-name { display: flex; align-items: baseline; gap: 22px; }.staff-name span { color: #857000; font: 500 10px/1 var(--sans); letter-spacing: .1em; }.staff-name h3 { margin: 0; font-size: clamp(1.5rem, 2.4vw, 2.7rem); font-weight: 500; letter-spacing: -.07em; }.staff-line > p { margin: 0; color: rgba(8,8,8,.58); font: 500 10px/1.3 var(--sans); letter-spacing: .08em; text-align: right; text-transform: uppercase; }
.spaces-section { padding: 170px 0; }.spaces-layout { display: grid; grid-template-columns: .9fr 1.6fr; gap: 8vw; align-items: center; }.spaces-copy h2 { margin-bottom: 28px; }.text-link { display: inline-flex; gap: 20px; margin-top: 42px; padding-bottom: 10px; border-bottom: 1px solid var(--yellow); color: var(--cream); font: 600 10px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; }.text-link span { color: var(--yellow); transition: transform .3s ease; }.text-link:hover span { transform: translate(4px,-4px); }.spaces-gallery { display: grid; grid-template-columns: 1.4fr 1fr; gap: 14px; }.spaces-gallery figure { position: relative; margin: 0; overflow: hidden; background: #151515; }.spaces-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.6); transition: transform .8s ease, filter .8s ease; }.spaces-gallery figure:hover img { transform: scale(1.05); filter: saturate(1); }.space-main { min-height: 570px; }.space-secondary { display: grid; grid-template-rows: 1fr 1fr; gap: 14px; }.space-secondary figure { min-height: 278px; }.spaces-gallery figcaption { position: absolute; right: 16px; bottom: 14px; left: 16px; color: var(--cream); font: 500 10px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.method-section { padding: 160px 0; }.method-layout { display: grid; grid-template-columns: 1fr 1.4fr; gap: 8vw; }.method-intro h2 { margin-top: 30px; }.method-steps { border-top: 1px solid rgba(8,8,8,.25); }.method-step { display: grid; grid-template-columns: 1fr 1.4fr; gap: 26px; padding: 28px 0; border-bottom: 1px solid rgba(8,8,8,.25); }.method-step span { font-size: clamp(1.4rem, 2.6vw, 2.6rem); letter-spacing: -.08em; }.method-step p { margin: 0; color: rgba(8,8,8,.62); line-height: 1.5; }
.about-cta { padding: 100px 0; }.cta-layout { display: flex; align-items: center; justify-content: space-between; gap: 40px; }.cta-layout h2 { margin: 22px 0 0; font-size: clamp(3rem, 7vw, 7rem); font-weight: 500; letter-spacing: -.1em; line-height: .8; }.cta-circle { display: grid; place-items: center; width: 170px; height: 170px; border: 1px solid var(--ink); border-radius: 50%; color: var(--ink); transition: color .4s ease, background .4s ease, transform .4s ease; }.cta-circle span { font: 600 11px/1 var(--sans); letter-spacing: .13em; text-transform: uppercase; }.cta-circle b { margin-top: 12px; font-size: 25px; font-weight: 400; }.cta-circle:hover { color: var(--yellow); background: var(--ink); transform: rotate(-8deg); }
.about-footer { padding: 70px 0 28px; color: var(--cream); background: var(--ink); }.footer-layout { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 30px; align-items: start; }.footer-layout .brand-mark img { width: 150px; }.footer-layout p { margin: 0; color: var(--muted); font-size: .85rem; line-height: 1.5; }.footer-layout > div { display: flex; flex-direction: column; gap: 10px; }.footer-layout > div a { color: var(--cream); font: 500 10px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; }.footer-bottom { display: flex; justify-content: space-between; margin-top: 90px; padding-top: 18px; border-top: 1px solid rgba(245,242,234,.2); color: rgba(245,242,234,.48); font: 500 9px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.about-hero-gallery { position: absolute; inset: 0; overflow: hidden; background: var(--ink); }
.about-gallery-slide { position: absolute; inset: 0; margin: 0; opacity: 0; transform: scale(1.06); transition: opacity 1.4s ease, transform 7s cubic-bezier(.22,1,.36,1); }
.about-gallery-slide.is-active { opacity: 1; transform: scale(1); }
.about-gallery-slide img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.58) contrast(1.12) brightness(.58); }
.about-gallery-slide.is-active img { animation: gallery-drift 3.6s ease-in-out both; }
@keyframes gallery-drift { from { transform: scale(1.03) translate3d(-1.2%, .5%, 0); } to { transform: scale(1.12) translate3d(1.2%, -.7%, 0); } }
.about-hero-content.hero-copy { position: absolute; z-index: 4; left: 50%; top: 50%; display: block; width: min(90vw, 820px); height: 410px; margin: 0; padding: 0; transform: translate(-50%, -50%); text-align: center; pointer-events: none; }
.about-hero-content .about-copy-step { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; opacity: 1; transform: none; filter: none; }
.about-hero-content .about-copy-step p { margin: 0 0 18px; color: var(--yellow); font: 500 10px/1 var(--sans); letter-spacing: .24em; text-transform: uppercase; }
.about-hero-content .about-copy-step h1 { margin: 0; color: var(--cream); font-size: clamp(2.8rem, 5.2vw, 5.6rem); font-weight: 500; letter-spacing: -.085em; line-height: .86; }
.about-hero-content .about-copy-step h1 em { color: var(--yellow); font-style: normal; }
.about-hero-content .about-copy-step > span { display: block; margin-top: 26px; color: rgba(245,242,234,.72); font: 500 10px/1 var(--sans); letter-spacing: .3em; text-transform: uppercase; }
.about-hero-content .about-copy-paragraph { max-width: 790px; margin: 0; color: var(--cream); font: 500 clamp(2.8rem, 5.2vw, 5.6rem)/.88 var(--sans); letter-spacing: -.085em; text-align: center; text-transform: none; text-wrap: balance; text-shadow: 0 10px 40px rgba(0,0,0,.55); }
.about-gallery-status { position: absolute; z-index: 5; right: clamp(22px, 4vw, 60px); bottom: 38px; display: flex; align-items: center; gap: 10px; color: var(--yellow); font: 500 10px/1 var(--sans); letter-spacing: .15em; }
.about-gallery-status i { display: block; width: 58px; height: 1px; background: rgba(245,196,0,.5); }
.about-scroll { position: absolute; z-index: 5; bottom: 38px; left: clamp(22px, 4vw, 60px); margin: 0; }
@media (max-width: 760px) { .about-hero-content.hero-copy { width: calc(100% - 40px); height: 450px; }.about-hero-content .about-copy-step h1 { font-size: clamp(2.8rem, 12vw, 4.8rem); }.about-gallery-status { right: 20px; bottom: 28px; }.about-scroll { bottom: 28px; left: 20px; } }
@media (max-width: 760px) { .about-hero-content .about-copy-paragraph { font-size: clamp(2.8rem, 12vw, 4.8rem); } }
@media (max-width: 760px) { .about-wrap, .about-hero-content { width: calc(100% - 40px); }.about-hero h1 { font-size: clamp(5rem, 24vw, 8rem); }.about-hero-lead { max-width: 330px; }.about-scroll { margin-top: 48px; }.about-intro, .team-section, .spaces-section, .method-section { padding: 100px 0; }.intro-grid, .section-heading, .founders-grid, .spaces-layout, .method-layout { display: block; }.intro-copy { margin-top: 36px; }.founders-grid { margin-top: 70px; }.founder-card { min-height: 480px; margin: 0 0 18px; }.founder-card--offset { margin-top: 0; }.section-heading > p { margin-top: 28px; }.staff-line { display: block; padding: 25px 0; }.staff-line:hover { padding: 25px 14px; }.staff-name { gap: 14px; }.staff-line > p { margin: 12px 0 0 34px; text-align: left; }.staff-portrait { left: auto; right: 20px; top: 12px; width: 84px; height: 105px; }.space-main { min-height: 380px; }.spaces-gallery { grid-template-columns: 1fr; margin-top: 54px; }.space-secondary { grid-template-columns: 1fr 1fr; grid-template-rows: 180px; }.space-secondary figure { min-height: 180px; }.method-intro { margin-bottom: 60px; }.method-step { grid-template-columns: 1fr; gap: 10px; }.cta-layout { display: block; }.cta-circle { margin-top: 55px; }.footer-layout { grid-template-columns: 1fr 1fr; }.footer-layout .brand-mark { grid-column: 1 / -1; }.footer-bottom { gap: 14px; flex-direction: column; margin-top: 60px; } }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; transition: none; }.founder-image img, .about-hero-media img, .about-gallery-slide.is-active img { transition: none; animation: none; } }
.founder-card.is-open .founder-open { transform: rotate(45deg); }
.founder-card.is-open .founder-detail { opacity: 1; transform: none; }

/* Cecilia: la sorgente è un ritratto verticale; ancoriamo il crop in alto
   per non tagliare la testa nelle card più basse. */
.about-person--left .about-person-photo img,
.founder-card:first-child .founder-image img {
  object-position: center top;
}
.about-hero { min-height: 0; height: 480vh; }
.about-hero { overflow: visible; }
.about-hero-sticky { position: sticky; top: 0; height: 100svh; min-height: 560px; overflow: hidden; background: var(--ink); }
.about-hero-content.hero-copy { transition: transform .12s linear; }
.about-hero-content .about-copy-paragraph { max-width: 980px; font-size: clamp(3.5rem, 6.4vw, 7.2rem); line-height: .86; }
.about-hero-content .about-copy-step h1 { margin: 0; color: var(--cream); font-size: clamp(2.8rem, 5.2vw, 5.6rem); font-weight: 500; letter-spacing: -.085em; line-height: .86; }
.about-hero-content .about-copy-step h1 em { color: var(--yellow); font-style: normal; }
.about-hero-content .about-copy-step > span { display: block; margin-top: 26px; color: rgba(245,242,234,.72); font: 500 10px/1 var(--sans); letter-spacing: .3em; text-transform: uppercase; }
.about-hero-content .about-copy-paragraph span { display: inline; margin: 0; color: var(--cream); font: inherit; letter-spacing: inherit; text-transform: none; }
.about-hero-content .about-copy-paragraph strong { color: var(--yellow); font-weight: 700; }
.about-copy-support { max-width: 430px; margin: 30px 0 0; color: rgba(245,242,234,.72); font: 500 12px/1.4 var(--sans); letter-spacing: .04em; text-transform: none; }
.about-hero-content .about-copy-support { text-transform: none; }
.about-people-stage { position: absolute; z-index: 5; inset: 0; pointer-events: none; }
.about-person { position: absolute; top: 50%; display: flex; align-items: flex-end; gap: 18px; width: min(31vw, 390px); opacity: 0; transition: opacity .15s linear, transform .15s linear; }
.about-person--left { left: clamp(22px, 5vw, 80px); transform: translate3d(-80px, -50%, 0); }
.about-person--right { right: clamp(22px, 5vw, 80px); flex-direction: row-reverse; transform: translate3d(80px, -50%, 0); text-align: right; }
.about-person-photo { flex: 0 0 clamp(92px, 10vw, 145px); width: clamp(92px, 10vw, 145px); height: clamp(132px, 15vw, 205px); overflow: hidden; background: #151515; }
.about-person-photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.1); }
.about-person-copy { min-width: 0; }.about-person-copy p { margin: 0 0 12px; color: var(--yellow); font: 500 9px/1.2 var(--sans); letter-spacing: .14em; text-transform: uppercase; }.about-person-copy h2 { margin: 0 0 16px; color: var(--cream); font-size: clamp(1.8rem, 3vw, 3.5rem); font-weight: 500; letter-spacing: -.1em; line-height: .82; }.about-person-copy h2 em { color: var(--yellow); font-style: normal; }.about-person-copy > span { display: block; color: rgba(245,242,234,.72); font: 500 11px/1.4 var(--sans); }
@media (max-width: 760px) { .about-hero { height: 560vh; }.about-person { top: auto; bottom: 58px; width: calc(100% - 40px); gap: 14px; }.about-person--left { left: 20px; transform: translate3d(-40px, 0, 0); }.about-person--right { right: 20px; transform: translate3d(40px, 0, 0); }.about-person-photo { flex-basis: 84px; width: 84px; height: 118px; }.about-person-copy h2 { font-size: 2.2rem; }.about-copy-support { max-width: 300px; margin-top: 24px; font-size: 11px; } }
.about-people-stage { perspective: 1200px; }
.about-person { top: auto; bottom: clamp(34px, 6vh, 74px); display: block; width: min(24vw, 320px); min-width: 250px; overflow: hidden; border: 1px solid rgba(245,242,234,.28); background: linear-gradient(145deg, rgba(245,242,234,.15), rgba(7,7,7,.72) 45%, rgba(245,196,0,.12)); box-shadow: 0 24px 80px rgba(0,0,0,.4), inset 0 1px rgba(245,242,234,.2); transform: translate3d(0, var(--card-y, 110px), 0) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transform-style: preserve-3d; will-change: transform; transition: opacity .15s linear, transform .18s ease-out, border-color .35s ease, box-shadow .35s ease; }
.about-person::before { content: ""; position: absolute; z-index: 3; inset: 0; pointer-events: none; background: radial-gradient(circle at var(--light-x, 50%) var(--light-y, 20%), rgba(245,196,0,.3), transparent 42%); mix-blend-mode: screen; opacity: .65; }
.about-person::after { content: ""; position: absolute; z-index: -1; inset: 12px -12px -12px 12px; border: 1px solid rgba(245,196,0,.32); transform: translateZ(-28px); }
.about-person--left, .about-person--right { left: auto; right: auto; text-align: left; }
.about-person--left { left: clamp(22px, 5vw, 80px); }
.about-person--right { right: clamp(22px, 5vw, 80px); }
.about-person:hover { border-color: var(--yellow); box-shadow: 0 34px 90px rgba(0,0,0,.55), 0 0 42px rgba(245,196,0,.14), inset 0 1px rgba(245,242,234,.35); }
.about-person-photo { position: relative; width: 100%; height: clamp(180px, 20vw, 270px); overflow: hidden; transform: translateZ(25px); }
.about-person-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,7,7,.6), transparent 55%); }
.about-person-photo img { filter: grayscale(.85) contrast(1.1); transition: transform .8s cubic-bezier(.22,1,.36,1), filter .6s ease; }
.about-person:hover .about-person-photo img { filter: grayscale(.1) contrast(1.06); transform: scale(1.08); }
.about-person-copy { position: relative; z-index: 4; padding: 22px 22px 24px; transform: translateZ(38px); }
.about-person-copy p { margin-bottom: 14px; }.about-person-copy h2 { margin-bottom: 14px; }.about-person-copy > span { max-width: 250px; }
.about-person--right { text-align: left; }
@media (max-width: 760px) { .about-person { top: 20%; bottom: auto; left: 20px!important; right: auto!important; width: calc(100% - 40px); min-width: 0; padding-bottom: 20px; }.about-person-photo { height: clamp(220px, 58vw, 320px); }.about-person-copy { padding: 20px 20px 8px; }.about-person-copy p { margin-bottom: 10px; font-size: 9px; letter-spacing: .1em; }.about-person-copy h2 { margin-bottom: 12px; font-size: clamp(2.4rem, 12vw, 4.2rem); }.about-person-copy > span { max-width: 100%; font-size: 11px; line-height: 1.45; }.about-person::after { inset: 8px -8px -8px 8px; } }
@media (max-width: 370px) { .about-person { width: calc(50% - 23px); }.about-person-copy { padding: 11px 10px 12px; }.about-person-copy h2 { font-size: 1.35rem; }.about-person-copy > span { font-size: 8px; } }
.about-staff-stage { width: min(760px, calc(100% - 48px)); }
.about-staff-stage { width: min(980px, calc(100% - 48px)); filter: none; }
.about-staff-stack { position: relative; width: 100%; height: 500px; }
.about-staff-card { position: absolute; inset: 0 auto auto 0; display: flex; align-items: center; gap: 14px; width: min(290px, 100%); min-height: 128px; padding: 14px; opacity: 0; border: 1px solid rgba(245,242,234,.32); background: linear-gradient(135deg, rgba(245,242,234,.17), rgba(7,7,7,.84) 75%); box-shadow: 0 24px 70px rgba(0,0,0,.48), inset 0 1px rgba(245,242,234,.22); transition: opacity .28s ease, transform .42s cubic-bezier(.22,1,.36,1), border-color .3s ease, background .3s ease; }
.about-staff-card:hover { border-color: var(--yellow); background: linear-gradient(135deg, rgba(245,196,0,.22), rgba(7,7,7,.88) 75%); }
.about-staff-card img { flex: 0 0 78px; width: 78px; height: 78px; border: 2px solid rgba(245,196,0,.7); border-radius: 50%; object-fit: cover; filter: grayscale(.55) contrast(1.08); }
.about-staff-card h3 { margin: 0 0 8px; color: var(--cream); font-size: clamp(1.15rem, 1.8vw, 1.75rem); font-weight: 600; letter-spacing: -.065em; line-height: .9; }
.about-staff-card p { max-width: 180px; margin: 0; color: var(--yellow); font: 500 9px/1.35 var(--sans); letter-spacing: .06em; text-transform: uppercase; }
@media (max-width: 760px) { .about-staff-stage { width: calc(100% - 32px); }.about-staff-stack { height: 680px; }.about-staff-card { left: 0; width: 100%; min-height: 96px; gap: 12px; padding: 11px; }.about-staff-card img { flex-basis: 62px; width: 62px; height: 62px; }.about-staff-card h3 { margin-bottom: 6px; font-size: 1.05rem; }.about-staff-card p { font-size: 8px; } }
@media (max-width: 370px) { .about-staff-stack { height: 300px; }.about-staff-card { gap: 6px; padding: 7px; }.about-staff-card img { flex-basis: 44px; width: 44px; height: 44px; }.about-staff-card h3 { font-size: .76rem; }.about-staff-card p { font-size: 6px; } }

/* Ultimo override mobile: tutte le sezioni restano nel normale flusso verticale. */
@media (max-width: 760px), (pointer: coarse) {
  body.about-page { overflow-x: hidden; }
  .about-page .about-hero { height: auto!important; min-height: 0!important; overflow: visible!important; }
  .about-page .about-hero-sticky { position: relative!important; inset: auto!important; height: auto!important; min-height: 100svh; overflow: visible!important; padding: 150px 0 140px!important; }
  .about-page .about-hero-content.hero-copy,
  .about-page .about-people-stage,
  .about-page .about-staff-stage,
  .about-page .about-info-stage,
  .about-page .about-contact-stage {
    position: relative!important;
    inset: auto!important;
    left: auto!important;
    right: auto!important;
    top: auto!important;
    bottom: auto!important;
    width: calc(100% - 40px)!important;
    height: auto!important;
    min-height: 0!important;
    margin-left: auto!important;
    margin-right: auto!important;
    transform: none!important;
    filter: none!important;
    pointer-events: auto!important;
  }
  .about-page .about-hero-content.hero-copy { margin-bottom: 120px!important; opacity: 1!important; }
  .about-page .about-people-stage { display: flex!important; flex-direction: column!important; gap: 56px; margin-bottom: 120px!important; perspective: none; }
  .about-page .about-person,
  .about-page .about-person--left,
  .about-page .about-person--right {
    position: relative!important;
    inset: auto!important;
    width: 100%!important;
    min-width: 0!important;
    margin: 0!important;
    opacity: 1!important;
    transform: none!important;
    filter: none!important;
  }
  .about-page .about-person-photo { width: 100%!important; height: clamp(260px, 72vw, 390px)!important; }
  .about-page .about-staff-stage { margin-top: 0!important; margin-bottom: 130px!important; padding-top: 24px; opacity: 1!important; }
  .about-page .about-staff-stack { height: auto!important; }
  .about-page .about-staff-card { position: relative!important; inset: auto!important; width: 100%!important; min-height: 104px; margin: 0 0 30px!important; opacity: 1!important; transform: none!important; pointer-events: auto!important; }
  .about-page .about-info-stage { display: block!important; margin-top: 0!important; margin-bottom: 0!important; padding: 50px 0 170px!important; opacity: 1!important; }
  .about-page .about-timeline-track { margin: 56px 0 48px!important; }
  .about-page .about-timeline-details { height: 420px!important; }
  .about-page .about-contact-stage { margin-top: 90px!important; padding: 80px 0!important; opacity: 1!important; }

  .about-page .about-timeline-track {
    display: flex!important;
    flex-direction: column!important;
    align-items: flex-start!important;
    justify-content: flex-start!important;
    gap: 28px;
    width: 100%!important;
    min-height: 245px;
    margin: 56px 0 48px!important;
  }
  .about-page .about-timeline-track::before,
  .about-page .about-timeline-progress {
    top: 7px!important;
    right: auto!important;
    bottom: 7px!important;
    left: 7px!important;
    width: 2px!important;
    height: auto;
    transform: none!important;
  }
  .about-page .about-timeline-progress { height: 0; }
  .about-page .about-timeline-point {
    display: flex!important;
    flex-direction: row!important;
    align-items: center!important;
    justify-content: flex-start!important;
    gap: 14px;
    width: 100%;
    min-height: 18px;
    text-align: left;
  }
  .about-page .about-timeline-point i { flex: 0 0 15px; }
}

/* Mobile: flusso reale, sfondo sticky e dissolvenze tra i blocchi. */
@media (max-width: 760px), (pointer: coarse) {
  .about-hero { height: auto!important; min-height: 0; overflow: visible; isolation: isolate; }
  .about-hero-sticky { position: relative; top: auto; height: auto; min-height: 100svh; overflow: visible; padding: 118px 0 96px; background: transparent; }
  .about-hero-gallery { position: fixed; z-index: 0; inset: 0; height: 100svh; }
  .about-hero-shade { position: fixed; z-index: 1; inset: 0; height: 100svh; }
  .about-hero-content.hero-copy,
  .about-people-stage,
  .about-staff-stage,
  .about-info-stage,
  .about-contact-stage { position: relative; inset: auto; left: auto; top: auto; z-index: 2; width: calc(100% - 40px); height: auto; min-height: 0; margin: 0 auto; transform: translateY(34px)!important; opacity: 0; filter: blur(8px); pointer-events: auto; transition: opacity .8s ease, transform .9s cubic-bezier(.22,1,.36,1), filter .9s ease; }
  .about-hero-content.hero-copy.is-mobile-visible,
  .about-people-stage.is-mobile-visible,
  .about-staff-stage.is-mobile-visible,
  .about-info-stage.is-mobile-visible,
  .about-contact-stage.is-mobile-visible { transform: none!important; opacity: 1; filter: none; }
  .about-hero-content.hero-copy { margin-bottom: 96px; }
  .about-hero-content .about-copy-step { position: relative; inset: auto; min-height: 320px; opacity: 1; transform: none; filter: none; }
  .about-people-stage { display: flex; flex-direction: column; gap: 38px; padding: 0; perspective: none; }
  .about-person,
  .about-person--left,
  .about-person--right { position: relative; inset: auto!important; left: auto!important; right: auto!important; top: auto; bottom: auto; width: 100%; min-width: 0; margin: 0; opacity: 1!important; transform: none!important; filter: none!important; pointer-events: auto; }
  .about-person-photo { height: clamp(260px, 72vw, 390px); }
  .about-staff-stage { overflow: visible; max-height: none; }
  .about-staff-kicker { margin-bottom: 22px; }
  .about-staff-stack { height: auto; }
  .about-staff-card { position: relative; inset: auto!important; left: auto!important; width: 100%; min-height: 104px; margin: 0 0 18px; opacity: 1!important; transform: none!important; pointer-events: auto!important; }
  .about-info-stage { padding: 0; }
  .about-timeline-track { margin-top: 34px; }
  .about-contact-stage { margin-top: 112px; }
}

/* Fallback per browser mobile che dichiarano un viewport desktop. */
.about-page.mobile-flow .about-hero { height: auto!important; min-height: 0; overflow: visible; isolation: isolate; }
.about-page.mobile-flow .about-hero-sticky { position: relative; top: auto; height: auto; min-height: 100svh; overflow: visible; padding: 118px 0 96px; background: transparent; }
.about-page.mobile-flow .about-hero-gallery { position: fixed; z-index: 0; inset: 0; height: 100svh; }
.about-page.mobile-flow .about-hero-shade { position: fixed; z-index: 1; inset: 0; height: 100svh; }
.about-page.mobile-flow .about-hero-content.hero-copy,
.about-page.mobile-flow .about-people-stage,
.about-page.mobile-flow .about-staff-stage,
.about-page.mobile-flow .about-info-stage,
.about-page.mobile-flow .about-contact-stage { position: relative; inset: auto; left: auto; top: auto; right: auto; z-index: 2; width: calc(100% - 40px); height: auto; min-height: 0; margin: 0 auto; transform: translateY(34px)!important; opacity: 0; filter: blur(8px); pointer-events: auto; }
.about-page.mobile-flow .about-hero-content.hero-copy.is-mobile-visible,
.about-page.mobile-flow .about-people-stage.is-mobile-visible,
.about-page.mobile-flow .about-staff-stage.is-mobile-visible,
.about-page.mobile-flow .about-info-stage.is-mobile-visible,
.about-page.mobile-flow .about-contact-stage.is-mobile-visible { transform: none!important; opacity: 1; filter: none; }
.about-page.mobile-flow .about-hero-content.hero-copy { margin-bottom: 96px; }
.about-page.mobile-flow .about-hero-content .about-copy-step { position: relative; inset: auto; min-height: 320px; opacity: 1; transform: none; filter: none; }
.about-page.mobile-flow .about-people-stage { display: flex; flex-direction: column; gap: 38px; padding: 0; perspective: none; }
.about-page.mobile-flow .about-person,
.about-page.mobile-flow .about-person--left,
.about-page.mobile-flow .about-person--right { position: relative; inset: auto!important; left: auto!important; right: auto!important; top: auto; bottom: auto; width: 100%; min-width: 0; margin: 0; opacity: 1!important; transform: none!important; filter: none!important; pointer-events: auto; }
.about-page.mobile-flow .about-person-photo { height: clamp(260px, 72vw, 390px); }
.about-page.mobile-flow .about-staff-stage { overflow: visible; max-height: none; }
.about-page.mobile-flow .about-staff-stack { height: auto; }
.about-page.mobile-flow .about-staff-card { position: relative; inset: auto!important; left: auto!important; width: 100%; min-height: 104px; margin: 0 0 18px; opacity: 1!important; transform: none!important; pointer-events: auto!important; }
.about-page.mobile-flow .about-info-stage { padding: 0; }
.about-page.mobile-flow .about-staff-stage { margin-top: 128px; }
.about-page.mobile-flow .about-staff-card { margin-bottom: 24px; }
.about-page.mobile-flow .about-info-stage { margin-top: 156px; padding: 46px 0 150px; }
.about-page.mobile-flow .about-timeline-track { margin-top: 48px; }
.about-page.mobile-flow .about-timeline-details { height: 390px; }
.about-page.mobile-flow .about-contact-stage { margin-top: 170px; padding-bottom: 80px; }

/* Mobile finale: una pagina continua, con timeline separata e leggibile. */
@media (max-width: 760px), (pointer: coarse) {
  .about-hero-sticky { padding-top: 150px; padding-bottom: 140px; }
  .about-hero-content.hero-copy { margin-bottom: 120px; }
  .about-people-stage { gap: 56px; margin-bottom: 120px; }
  .about-staff-stage { margin: 0 auto 130px!important; padding-top: 24px; }
  .about-staff-card { margin-bottom: 30px; }
  .about-info-stage {
    position: relative!important;
    display: block;
    inset: auto!important;
    width: calc(100% - 40px)!important;
    height: auto!important;
    min-height: 0;
    margin: 0 auto 0!important;
    padding: 50px 0 170px!important;
    transform: none!important;
    opacity: 1;
    filter: none;
  }
  .about-timeline-track { margin: 56px 0 48px!important; }
  .about-timeline-details { height: 420px!important; }
  .about-contact-stage {
    position: relative!important;
    inset: auto!important;
    width: calc(100% - 40px)!important;
    margin: 90px auto 0!important;
    padding: 80px 0 80px!important;
    transform: none!important;
    opacity: 1;
    filter: none;
  }
}
.about-person--left { left: calc(50% - min(34vw, 520px)); right: auto; }
.about-person--right { left: calc(50% + 40px); right: auto; }
@media (max-width: 760px) { .about-person--left { left: 20px; right: auto; width: calc(50% - 26px); }.about-person--right { left: auto; right: 20px; width: calc(50% - 26px); } }
.about-person--left { left: calc(50% - min(34vw, 520px)); right: auto; }
.about-person--right { left: calc(50% + 40px); right: auto; }
@media (max-width: 760px) { .about-person--left { left: 20px; right: auto; width: calc(50% - 26px); }.about-person--right { left: auto; right: 20px; width: calc(50% - 26px); } }
.about-person { top: 30%; bottom: auto; display: block; width: min(24vw, 370px); min-width: 300px; min-height: 0; padding: 0 0 24px; overflow: hidden; border-radius: 30px 10px 30px 10px; }
.about-person--right { border-radius: 10px 30px 10px 30px; }
.about-person--left { left: calc(50% - min(34vw, 520px)); right: auto; }
.about-person--right { left: calc(50% + 40px); right: auto; }
.about-person-photo { width: 100%; height: clamp(190px, 17vw, 260px); border: 0; border-bottom: 1px solid rgba(245,196,0,.65); border-radius: 0; box-shadow: none; }
.about-person-photo::after { border-radius: 0; }
.about-person-copy { padding: 22px 24px 0; }
.about-person-copy h2 { font-size: clamp(2.6rem, 4vw, 4.5rem); }
.about-person-copy > span { max-width: 280px; font-size: 12px; }
@media (max-width: 1100px) and (min-width: 761px) { .about-person { width: 30vw; min-width: 260px; }.about-person--left { left: 10vw; }.about-person--right { left: auto; right: 10vw; }.about-person-photo { height: 230px; } }
@media (max-width: 760px) { .about-person { top: 50%; bottom: auto; width: calc(50% - 26px); min-width: 0; padding-bottom: 14px; border-radius: 18px 7px 18px 7px; }.about-person--right { border-radius: 7px 18px 7px 18px; }.about-person--left { left: 20px; }.about-person--right { left: auto; right: 20px; }.about-person-photo { height: 150px; }.about-person-copy { padding: 13px 14px 0; }.about-person-copy p { margin-bottom: 7px; font-size: 7px; }.about-person-copy h2 { margin-bottom: 7px; font-size: clamp(1.4rem, 6vw, 2.2rem); }.about-person-copy > span { font-size: 8px; line-height: 1.25; } }

/* Fondatori: vetro leggero e ritratti circolari, integrati nel paesaggio dello studio. */
.about-person { display: grid; grid-template-columns: clamp(92px, 9vw, 126px) minmax(0, 1fr); align-items: center; gap: clamp(14px, 1.6vw, 24px); width: min(32vw, 430px); min-width: 300px; min-height: 154px; padding: 16px; overflow: visible; border: 1px solid rgba(245,242,234,.24); border-radius: 28px 10px 28px 10px; background: linear-gradient(125deg, rgba(8,8,12,.72), rgba(35,29,48,.34) 58%, rgba(245,196,0,.1)); box-shadow: 0 24px 70px rgba(0,0,0,.36), inset 0 1px rgba(245,242,234,.18); backdrop-filter: blur(12px) saturate(125%); }
.about-person--right { border-radius: 10px 28px 10px 28px; }
.about-person::after { inset: 8px -8px -8px 8px; border: 1px solid rgba(245,196,0,.22); border-radius: inherit; }
.about-person-photo { width: clamp(92px, 9vw, 126px); height: clamp(92px, 9vw, 126px); border: 1px solid rgba(245,196,0,.72); border-radius: 50%; box-shadow: 0 0 0 5px rgba(245,196,0,.08), 0 12px 30px rgba(0,0,0,.3); transform: translateZ(25px); }
.about-person-photo::after { border-radius: 50%; background: linear-gradient(145deg, transparent 42%, rgba(7,7,7,.48)); }
.about-person-copy { padding: 0; transform: translateZ(34px); }
.about-person-copy p { margin-bottom: 10px; font-size: 8px; }
.about-person-copy h2 { margin-bottom: 10px; font-size: clamp(1.8rem, 2.8vw, 3.1rem); line-height: .86; }
.about-person-copy > span { max-width: 220px; font-size: 10px; line-height: 1.35; }
@media (max-width: 760px) { .about-person { grid-template-columns: 64px minmax(0, 1fr); gap: 10px; width: calc(50% - 26px); min-width: 0; min-height: 0; padding: 11px; border-radius: 18px 7px 18px 7px; }.about-person--right { border-radius: 7px 18px 7px 18px; }.about-person::after { inset: 6px -6px -6px 6px; }.about-person-photo { width: 64px; height: 64px; }.about-person-copy p { margin-bottom: 7px; font-size: 7px; letter-spacing: .06em; }.about-person-copy h2 { margin-bottom: 7px; font-size: clamp(1.25rem, 5.2vw, 2rem); }.about-person-copy > span { font-size: 8px; line-height: 1.25; } }
.about-page > footer { display: none; }
.about-person--left, .about-person--right { left: calc(50% - min(21vw, 310px)); right: auto; }
@media (max-width: 760px) { .about-person--left, .about-person--right { left: 20px; right: auto; width: calc(100% - 40px); }.about-person { top: 50%; } }
.about-person { top: 30%; bottom: auto; display: block; width: min(24vw, 370px); min-width: 300px; min-height: 0; padding: 0 0 24px; overflow: hidden; border-radius: 30px 10px 30px 10px; }
.about-person--left { left: calc(50% - min(34vw, 520px)); right: auto; }
.about-person--right { left: calc(50% + 40px); right: auto; }
.about-person-photo { width: 100%; height: clamp(190px, 17vw, 260px); border: 0; border-bottom: 1px solid rgba(245,196,0,.65); border-radius: 0; box-shadow: none; }
.about-person-photo::after { border-radius: 0; }
.about-person-copy { padding: 22px 24px 0; }
.about-person-copy p { margin-bottom: 14px; font-size: 9px; }
.about-person-copy h2 { margin-bottom: 14px; font-size: clamp(2.6rem, 4vw, 4.5rem); }
.about-person-copy > span { max-width: 280px; font-size: 12px; line-height: 1.45; }
@media (max-width: 1100px) and (min-width: 761px) { .about-person { width: min(40vw, 460px); min-width: 340px; grid-template-columns: 120px minmax(0, 1fr); min-height: 190px; padding: 17px; gap: 16px; }.about-person--left { left: 5vw; }.about-person--right { right: 5vw; }.about-person-photo { width: 120px; height: 120px; }.about-person-copy h2 { font-size: clamp(2rem, 3.5vw, 3.2rem); }.about-person-copy > span { font-size: 10px; } }
@media (max-width: 760px) { .about-person { top: 38%; bottom: auto; width: calc(50% - 26px); min-width: 0; min-height: 0; grid-template-columns: 1fr; padding: 0 0 14px; gap: 0; }.about-person--left { left: 20px; right: auto; }.about-person--right { left: auto; right: 20px; }.about-person-photo { width: 100%; height: 185px; border-radius: 0; }.about-person-copy { padding: 13px 14px 0; }.about-person-copy h2 { font-size: clamp(1.4rem, 6vw, 2.2rem); }.about-person-copy > span { font-size: 8px; } }
.about-page main > section:not(.about-hero) { display: none; }
.about-info-stage { position: absolute; z-index: 7; inset: 50% auto auto 50%; width: min(900px, calc(100% - 48px)); height: 420px; opacity: 0; pointer-events: none; transform: translate(-50%, calc(-50% + 50px)); filter: blur(4px); transition: opacity .2s linear, transform .25s ease-out, filter .3s ease; }
.about-info-panel { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; opacity: 0; transform: translateY(34px); text-align: center; transition: opacity .18s linear, transform .25s ease-out, filter .25s ease; }.about-info-panel.is-active { opacity: 1; transform: none; }.about-info-label { margin: 0 0 25px; color: var(--yellow); font: 600 10px/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; }.about-info-panel h2 { margin: 0; color: var(--cream); font-size: clamp(3rem, 6vw, 6.8rem); font-weight: 500; letter-spacing: -.1em; line-height: .84; }.about-info-panel h2 em { color: var(--yellow); font-style: normal; }.about-info-panel > p:last-child { max-width: 520px; margin: 32px 0 0; color: rgba(245,242,234,.7); font-size: 1.05rem; line-height: 1.5; }
.about-timeline-year { margin: 0 0 16px; color: rgba(245,242,234,.7); font: 500 clamp(1.1rem, 2vw, 1.6rem)/1 var(--sans); letter-spacing: .14em; }
@media (max-width: 760px) { .about-info-stage { width: calc(100% - 40px); height: 420px; }.about-info-panel h2 { font-size: clamp(2.8rem, 13vw, 5rem); }.about-info-panel > p:last-child { max-width: 310px; font-size: .95rem; }.about-timeline-year { margin-bottom: 14px; font-size: 1rem; } }
.about-info-stage { width: min(1120px, calc(100% - 80px)); height: 520px; filter: none; }
.about-info-stage > .about-info-label { margin: 0; text-align: center; }
.about-timeline-track { position: relative; display: flex; justify-content: space-between; align-items: center; width: 100%; margin: 54px 0 48px; }
.about-timeline-track::before, .about-timeline-progress { content: ""; position: absolute; top: 50%; right: 6%; left: 6%; height: 2px; transform: translateY(-50%); background: rgba(245,242,234,.48); }
.about-timeline-progress { right: auto; width: 0; background: var(--yellow); transition: width .75s cubic-bezier(.22,1,.36,1); }
.about-timeline-point { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 0; border: 0; color: rgba(245,242,234,.82); background: transparent; cursor: pointer; font: inherit; transition: color .35s ease, transform .35s ease; }.about-timeline-point i { display: block; width: 15px; height: 15px; border: 2px solid rgba(245,242,234,.72); border-radius: 50%; background: var(--black); transition: background .35s ease, border-color .35s ease, transform .35s ease; }.about-timeline-point strong { font: 600 10px/1 var(--sans); letter-spacing: .14em; }.about-timeline-point.is-active, .about-timeline-point:hover { color: var(--yellow); transform: translateY(-3px); }.about-timeline-point.is-active i { border-color: var(--yellow); background: var(--yellow); transform: scale(1.35); }
.about-timeline-details { position: relative; width: min(720px, 100%); height: 260px; margin: 0 auto; text-align: center; }.about-timeline-detail { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transform: translateY(20px); transition: opacity .3s ease, transform .3s ease, visibility 0s linear .3s; }.about-timeline-detail.is-active { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }.about-timeline-detail h2 { margin: 0; color: var(--cream); font-size: clamp(2.7rem, 5vw, 5.7rem); font-weight: 500; letter-spacing: -.1em; line-height: .84; }.about-timeline-detail h2 em { color: var(--yellow); font-style: normal; }.about-timeline-detail p { max-width: 520px; margin: 28px auto 0; color: rgba(245,242,234,.88); font-size: 1rem; line-height: 1.5; }
@media (max-width: 760px) { .about-info-stage { width: calc(100% - 40px); height: 560px; top: calc(50% + 70px); }.about-timeline-track { display: flex; margin: 40px 0 28px; }.about-timeline-track::before, .about-timeline-progress { right: auto; left: 7px; top: 7px; bottom: 7px; width: 2px; height: auto; transform: none; }.about-timeline-progress { height: 0; width: 2px; transition: height .35s ease; }.about-timeline-point { flex-direction: row; gap: 12px; }.about-timeline-point strong { font-size: 9px; }.about-timeline-details { height: 250px; }.about-timeline-detail h2 { font-size: clamp(2.5rem, 12vw, 4.6rem); }.about-timeline-detail p { max-width: 310px; font-size: .92rem; } }
.about-timeline-point { transition: color .65s ease, transform .65s cubic-bezier(.22,1,.36,1); }
.about-timeline-point i { transition: background .65s ease, border-color .65s ease, transform .65s cubic-bezier(.22,1,.36,1); }
.about-timeline-detail { transition: opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1), visibility 0s linear .7s; }
@media (max-width: 760px) { .about-timeline-progress { transition: height .75s cubic-bezier(.22,1,.36,1); } }
.about-contact-stage { position: absolute; z-index: 8; inset: 50% auto auto 50%; width: min(720px, calc(100% - 48px)); padding: 30px 24px; text-align: center; opacity: 0; pointer-events: none; transform: translate(-50%, calc(-50% + 46px)); filter: blur(4px); transition: opacity .35s linear, transform .7s cubic-bezier(.22,1,.36,1), filter .7s ease; }
.about-contact-label { margin: 0 0 22px; color: var(--yellow); font: 600 10px/1 var(--sans); letter-spacing: .24em; text-transform: uppercase; }
.about-contact-stage h2 { margin: 0; color: var(--cream); font-size: clamp(3.2rem, 7vw, 7.5rem); font-weight: 500; letter-spacing: -.1em; line-height: .84; }
.about-contact-stage h2 em { color: var(--yellow); font-style: normal; }
.about-contact-copy { max-width: 520px; margin: 28px auto 32px; color: rgba(245,242,234,.86); font-size: 1.05rem; line-height: 1.5; }
.about-whatsapp-cta { display: inline-flex; align-items: center; gap: 22px; min-height: 64px; padding: 0 28px 0 30px; color: var(--black); background: var(--yellow); border: 1px solid var(--yellow); border-radius: 999px; font: 600 12px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; transition: color .35s ease, background .35s ease, transform .35s ease, box-shadow .35s ease; }
.about-whatsapp-cta b { font-size: 20px; font-weight: 400; }
.about-whatsapp-cta:hover { color: var(--yellow); background: transparent; box-shadow: 0 0 0 8px rgba(245,196,0,.12); transform: translateY(-4px); }
@media (max-width: 760px) { .about-contact-stage { width: calc(100% - 40px); padding: 20px 0; }.about-contact-stage h2 { font-size: clamp(2.8rem, 13vw, 5rem); }.about-contact-copy { max-width: 310px; font-size: .95rem; }.about-whatsapp-cta { min-height: 56px; padding: 0 22px; font-size: 10px; } }
.story-scroll { position: relative; height: 360vh; color: var(--cream); background: var(--ink); }
.story-scroll--light { color: var(--ink); background: var(--cream); height: 300vh; }
.story-scroll-sticky { position: sticky; top: 0; height: 100svh; min-height: 560px; overflow: hidden; }
.story-scroll-intro { position: absolute; z-index: 2; top: 34px; right: clamp(22px, 5vw, 80px); left: clamp(22px, 5vw, 80px); display: flex; justify-content: space-between; align-items: center; }
.story-scroll--light .section-label { color: #857000; }.story-scroll-count { margin: 0; color: var(--yellow); font: 500 10px/1 var(--sans); letter-spacing: .15em; }.story-scroll--light .story-scroll-count { color: #857000; }
.story-panels { position: absolute; inset: 0; }
.story-panel { position: absolute; top: 50%; left: 50%; width: min(890px, calc(100% - 48px)); opacity: 0; filter: blur(12px); transform: translate(-50%, calc(-50% + 42px)); transition: opacity .18s linear, filter .35s ease, transform .25s cubic-bezier(.22,1,.36,1); pointer-events: none; }.story-panel.is-active { opacity: 1; filter: blur(0); transform: translate(-50%, -50%); }
.story-panel-label { margin: 0 0 24px; color: var(--yellow); font: 600 10px/1 var(--sans); letter-spacing: .2em; text-align: center; text-transform: uppercase; }.story-scroll--light .story-panel-label { color: #857000; }.story-panel h2 { margin: 0; color: var(--cream); font-size: clamp(3.3rem, 7vw, 8rem); font-weight: 500; letter-spacing: -.105em; line-height: .83; text-align: center; }.story-scroll--light .story-panel h2 { color: var(--ink); }.story-panel h2 em { color: var(--yellow); font-style: normal; }.story-scroll--light .story-panel h2 em { color: #b08a00; }.story-panel > p:last-child { max-width: 460px; margin: 32px auto 0; color: rgba(245,242,234,.68); font-size: 1.05rem; line-height: 1.5; text-align: center; }.story-scroll--light .story-panel > p:last-child { color: rgba(8,8,8,.62); }
.proof-section { padding: 170px 0 190px; }.proof-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; }.proof-heading h2 { margin: 24px 0 0; font-size: clamp(3rem, 6vw, 6.6rem); font-weight: 500; letter-spacing: -.1em; line-height: .84; }.proof-heading h2 em { color: var(--yellow); font-style: normal; }.proof-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; margin: 110px 0 150px; border-top: 1px solid rgba(245,242,234,.25); }.proof-stat { padding-top: 20px; border-top: 2px solid var(--yellow); }.proof-stat strong { display: block; color: var(--cream); font-size: clamp(3rem, 5vw, 5.5rem); font-weight: 500; letter-spacing: -.1em; line-height: .8; }.proof-stat strong span { color: var(--yellow); }.proof-stat p { margin: 22px 0 0; color: rgba(245,242,234,.6); font: 500 10px/1 var(--sans); letter-spacing: .13em; text-transform: uppercase; }.proof-timeline { max-width: 900px; margin-left: auto; }.proof-event { display: grid; grid-template-columns: 1fr 3fr; gap: 26px; padding: 26px 0; border-top: 1px solid rgba(245,242,234,.25); }.proof-event > span { color: var(--yellow); font: 500 11px/1 var(--sans); letter-spacing: .12em; }.proof-event h3 { margin: 0 0 10px; color: var(--cream); font-size: clamp(1.5rem, 2.4vw, 2.4rem); font-weight: 500; letter-spacing: -.06em; }.proof-event p { margin: 0; color: rgba(245,242,234,.62); line-height: 1.5; }
@media (max-width: 760px) { .story-scroll { height: 420vh; }.story-scroll--light { height: 360vh; }.story-scroll-intro { top: 24px; }.story-panel { width: calc(100% - 40px); }.story-panel h2 { font-size: clamp(2.8rem, 13vw, 5rem); }.story-panel > p:last-child { max-width: 300px; margin-top: 26px; font-size: .95rem; }.proof-section { padding: 100px 0; }.proof-heading { display: block; }.proof-stats { grid-template-columns: repeat(2,1fr); margin: 80px 0 100px; row-gap: 48px; }.proof-event { grid-template-columns: 1fr; gap: 12px; }.proof-event h3 { font-size: 1.7rem; } }
.about-hero-content.hero-copy { opacity: var(--copy-opacity, 1); filter: blur(var(--copy-blur, 0px)); }
.about-hero { height: 620vh; }
.about-person { transform: translate3d(var(--card-x, 0px), var(--card-y, 110px), 0) scale(var(--card-scale, .92)) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); }
.about-staff-stage { position: absolute; z-index: 6; inset: 50% auto auto 50%; width: min(940px, calc(100% - 80px)); opacity: 0; pointer-events: none; transform: translate(-50%, calc(-42% + 70px)) scale(.92); filter: blur(12px); transition: opacity .16s linear, transform .2s ease-out, filter .3s ease; }
.about-staff-kicker { margin: 0 0 24px; color: var(--yellow); font: 600 10px/1 var(--sans); letter-spacing: .22em; text-align: center; text-transform: uppercase; }
.about-staff-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.about-staff-card { display: flex; align-items: center; gap: 14px; min-height: 92px; padding: 10px; border: 1px solid rgba(245,242,234,.28); background: linear-gradient(135deg, rgba(245,242,234,.16), rgba(7,7,7,.72)); box-shadow: 0 16px 45px rgba(0,0,0,.34), inset 0 1px rgba(245,242,234,.16); transform: translateZ(0); transition: border-color .3s ease, background .3s ease; }
.about-staff-card:hover { border-color: var(--yellow); background: linear-gradient(135deg, rgba(245,196,0,.22), rgba(7,7,7,.76)); }
.about-staff-card img { flex: 0 0 64px; width: 64px; height: 72px; object-fit: cover; filter: grayscale(.75) contrast(1.08); }
.about-staff-card h3 { margin: 0 0 7px; color: var(--cream); font-size: clamp(.95rem, 1.35vw, 1.25rem); font-weight: 600; letter-spacing: -.045em; line-height: 1; }
.about-staff-card p { margin: 0; color: rgba(245,242,234,.65); font: 500 9px/1.25 var(--sans); letter-spacing: .06em; text-transform: uppercase; }
@media (max-width: 760px) { .about-staff-stage { width: calc(100% - 32px); }.about-staff-kicker { margin-bottom: 14px; }.about-staff-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }.about-staff-card { min-height: 72px; gap: 8px; padding: 7px; }.about-staff-card img { flex-basis: 42px; width: 42px; height: 54px; }.about-staff-card h3 { margin-bottom: 5px; font-size: .8rem; }.about-staff-card p { font-size: 7px; letter-spacing: .03em; } }
.about-staff-stage { width: min(980px, calc(100% - 48px)); filter: none; }
.about-staff-stack { position: relative; width: 100%; height: 500px; }
.about-staff-card { position: absolute; inset: 0 auto auto 0; display: flex; align-items: center; gap: 14px; width: min(290px, 100%); min-height: 128px; padding: 14px; opacity: 0; border: 1px solid rgba(245,242,234,.32); background: linear-gradient(135deg, rgba(245,242,234,.17), rgba(7,7,7,.84) 75%); box-shadow: 0 24px 70px rgba(0,0,0,.48), inset 0 1px rgba(245,242,234,.22); transform: translateY(0); transition: opacity .28s ease, transform .42s cubic-bezier(.22,1,.36,1), border-color .3s ease, background .3s ease; }
.about-staff-card img { flex: 0 0 78px; width: 78px; height: 78px; border: 2px solid rgba(245,196,0,.7); border-radius: 50%; object-fit: cover; filter: grayscale(.55) contrast(1.08); }
.about-staff-card h3 { margin: 0 0 8px; color: var(--cream); font-size: clamp(1.15rem, 1.8vw, 1.75rem); font-weight: 600; letter-spacing: -.065em; line-height: .9; }
.about-staff-card p { max-width: 180px; margin: 0; color: var(--yellow); font: 500 9px/1.35 var(--sans); letter-spacing: .06em; text-transform: uppercase; }
@media (max-width: 760px) { .about-staff-stage { width: calc(100% - 32px); }.about-staff-stack { height: 330px; }.about-staff-card { left: 0; width: calc(50% - 6px); min-height: 92px; gap: 8px; padding: 9px; }.about-staff-card img { flex-basis: 54px; width: 54px; height: 54px; }.about-staff-card h3 { margin-bottom: 6px; font-size: .9rem; }.about-staff-card p { font-size: 7px; } }

/* Mobile: una persona alla volta, grande e leggibile; staff in colonna. */
@media (max-width: 760px) {
  .about-hero { height: 700vh; }
  .about-person,
  .about-person--left,
  .about-person--right { top: 20%; bottom: auto; left: 20px; right: auto; width: calc(100% - 40px); min-width: 0; min-height: 0; display: block; padding-bottom: 20px; border-radius: 28px 9px 28px 9px; }
  .about-person--right { border-radius: 9px 28px 9px 28px; }
  .about-person-photo { width: 100%; height: clamp(220px, 58vw, 320px); border-radius: 0; }
  .about-person-copy { padding: 20px 20px 8px; }
  .about-person-copy p { margin-bottom: 10px; font-size: 9px; letter-spacing: .1em; }
  .about-person-copy h2 { margin-bottom: 12px; font-size: clamp(2.4rem, 12vw, 4.2rem); }
  .about-person-copy > span { max-width: 100%; font-size: 11px; line-height: 1.45; }
  .about-staff-stage { top: calc(50% + 70px); height: calc(100svh - 150px); max-height: calc(100svh - 150px); overflow-y: auto; overflow-x: hidden; pointer-events: auto; scrollbar-width: none; }
  .about-staff-stage::-webkit-scrollbar { display: none; }
  .about-staff-stack { height: 680px; }
  .about-staff-card { left: 0!important; width: 100%; min-height: 96px; gap: 12px; padding: 11px; }
  .about-staff-card img { flex-basis: 62px; width: 62px; height: 62px; }
  .about-staff-card h3 { margin-bottom: 6px; font-size: 1.05rem; }
  .about-staff-card p { font-size: 8px; }
}
@media (max-width: 370px) { .about-staff-stack { height: 300px; }.about-staff-card { gap: 6px; padding: 7px; }.about-staff-card img { flex-basis: 44px; width: 44px; height: 44px; }.about-staff-card h3 { font-size: .76rem; }.about-staff-card p { font-size: 6px; } }
