.team-visual{height:clamp(560px,65vw,820px);display:grid;grid-template-columns:minmax(0,1fr) clamp(110px,14vw,220px);background:var(--deep)}
.team-visual img{object-fit:contain;object-position:center;background:#e8f1f1}
.team-visual>span{color:var(--sky);font:500 clamp(70px,11vw,170px)/1 var(--serif);writing-mode:vertical-rl;transform:rotate(180deg);display:grid;place-items:center;letter-spacing:.03em}
.portrait{background-repeat:no-repeat;background-size:cover;background-position:center 30%}
.portrait.mariagrazia,.profile-portrait.mariagrazia{background-image:url("assets/mariagrazia-da-IMG-9803.png")}.portrait.lisa,.profile-portrait.lisa{background-image:url("assets/lisa-ritratto.png")}.portrait.emanuela,.profile-portrait.emanuela{background-image:url("assets/emanuela-ritratto.png")}.portrait.andrea,.profile-portrait.andrea{background-image:url("assets/andrea-ritratto.png")}.portrait.davide,.profile-portrait.davide{background-image:url("assets/davide-ritratto.png")}.portrait.luca,.profile-portrait.luca{background-image:url("assets/luca-ritratto.png")}
.profile-portrait{background-repeat:no-repeat;background-size:cover;background-position:center 30%}
.portrait.emanuela{background-size:contain;background-position:center;background-color:#dceff1}.profile-portrait.emanuela{background-size:cover;background-position:center 24%;background-color:#dceff1}
.project-card>img{object-fit:contain;object-position:center;background:#dceff1}.project-hero img{max-height:820px;object-fit:contain;object-position:center}
@media(max-width:560px){.team-visual{height:520px;grid-template-columns:minmax(0,1fr) 70px}.team-visual>span{font-size:54px}}
.official-brand{display:block;width:clamp(190px,22vw,320px);height:58px}.official-brand img{width:100%;height:100%;object-fit:contain;object-position:left center}.topbar.scrolled .official-brand{height:48px}@media(max-width:560px){.official-brand{width:190px;height:48px}}
.team-intro{display:grid;grid-template-columns:1fr 1fr;background:var(--sky);margin:calc(-1 * clamp(90px,12vw,180px)) calc(-1 * clamp(24px,7vw,110px)) 90px;min-height:720px}.team-intro>img{width:100%;height:100%;min-height:720px;object-fit:contain;object-position:center;background:#e8f1f1}.team-intro>div{padding:clamp(60px,8vw,120px);display:flex;flex-direction:column;justify-content:center}.team-intro h2{font-size:clamp(55px,7vw,105px);margin-bottom:35px}.team-intro>div>p:not(.eyebrow){font-size:18px;max-width:560px}.team-intro .text-link{align-self:flex-start;margin-top:20px}@media(max-width:850px){.team-intro{grid-template-columns:1fr;margin-bottom:60px}.team-intro>img{min-height:560px;height:560px}.team-intro>div{padding:65px 24px}}
.workshop-head{padding:clamp(90px,12vw,170px) clamp(24px,8vw,130px);background:var(--deep);color:#fff}.workshop-head h1{font-size:clamp(70px,10vw,145px)}.workshop-head>p:last-child{font-size:20px;max-width:620px}.workshop-list{padding:clamp(70px,9vw,130px) clamp(24px,8vw,130px)}.workshop-list>a{display:grid;grid-template-columns:.8fr 1fr;background:var(--sky);min-height:620px}.workshop-list img{width:100%;height:100%;object-fit:contain;background:#dceff1}.workshop-list a>div{padding:clamp(45px,7vw,100px);display:flex;flex-direction:column;justify-content:center}.workshop-list small{text-transform:uppercase;letter-spacing:.14em}.workshop-list h2{font-size:clamp(50px,7vw,100px);margin:28px 0}.workshop-list strong{margin-top:20px;align-self:flex-start;border-bottom:1px solid}@media(max-width:800px){.workshop-list>a{grid-template-columns:1fr}.workshop-list img{height:560px}}
.workshop-section-title{padding:80px 0 28px}.workshop-section-title:first-child{padding-top:0}.workshop-section-title h2{font-size:clamp(38px,5vw,70px);margin:10px 0}.workshop-section-title.past{margin-top:30px;border-top:1px solid var(--line)}.workshop-past{display:grid;grid-template-columns:.55fr 1fr;background:#eef1f1;min-height:440px}.workshop-past>img{width:100%;height:100%;max-height:540px;object-fit:contain;background:#dceff1;filter:saturate(.75)}.workshop-past>div{padding:clamp(40px,6vw,80px);display:flex;flex-direction:column;justify-content:center}.workshop-past h2{font-size:clamp(40px,6vw,78px);margin:22px 0}.workshop-past a{align-self:flex-start;border-bottom:1px solid;margin-top:15px}@media(max-width:800px){.workshop-past{grid-template-columns:1fr}.workshop-past>img{height:520px}.workshop-section-title{padding-top:60px}}
.person-card .portrait{height:auto;aspect-ratio:1/1;background-size:contain;background-position:center;background-color:#dceff1}
.person-card .portrait.nicholas{background-size:145% auto;background-position:center 38%}
.profile-portrait.davide,.profile-portrait.luca{background-size:contain;background-position:center;background-color:#dceff1}
.hero h1{font-size:clamp(48px,6.8vw,105px);max-width:1050px}
.studio-gallery{padding:0 clamp(24px,7vw,110px) clamp(90px,10vw,150px);display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:repeat(2,minmax(260px,34vw));gap:18px;background:var(--paper)}.studio-gallery figure{margin:0;position:relative;overflow:hidden}.studio-gallery .gallery-large{grid-row:1/3}.studio-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.studio-gallery figure:hover img{transform:scale(1.025)}.studio-gallery figcaption{position:absolute;left:20px;bottom:18px;padding:8px 13px;background:rgba(245,243,237,.9);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.gallery-large img{object-position:center 58%}
.service-photo-break{min-height:650px;position:relative;background:var(--deep);color:#fff}.service-photo-break>img{width:100%;height:650px;object-fit:cover;object-position:center 34%;opacity:.73}.service-photo-break:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,43,50,.75),transparent 65%)}.service-photo-break>div{position:absolute;z-index:1;left:clamp(24px,7vw,110px);bottom:clamp(45px,7vw,100px);max-width:670px}.service-photo-break>div>p:last-child{font:500 clamp(32px,4vw,60px)/1.15 var(--serif)}
@media(max-width:700px){.studio-gallery{grid-template-columns:1fr;grid-template-rows:520px 360px 360px}.studio-gallery .gallery-large{grid-row:auto}.service-photo-break,.service-photo-break>img{min-height:560px;height:560px}}

.event-hero{display:grid;grid-template-columns:minmax(300px,.8fr) 1fr;min-height:760px;background:var(--deep);color:#fff}.event-hero>img{width:100%;height:100%;max-height:900px;object-fit:cover;object-position:center top}.event-hero>div{display:flex;flex-direction:column;justify-content:center;padding:clamp(45px,8vw,130px)}.event-hero h1{font:500 clamp(64px,9vw,140px)/.84 var(--serif);margin:18px 0 30px}.event-hero>div>p:last-child{font-size:clamp(20px,2vw,30px);max-width:600px}.event-poster{padding:clamp(55px,8vw,120px);display:flex;justify-content:center;background:var(--paper)}.event-poster img{width:min(100%,850px);height:auto;box-shadow:0 24px 70px rgba(8,43,50,.16)}
@media(max-width:800px){.event-hero{grid-template-columns:1fr}.event-hero>img{height:620px}.event-hero>div{padding:55px 24px}.event-poster{padding:55px 24px}}
.studio-gallery .gallery-slider img{position:absolute;inset:0;opacity:0;transform:scale(1.015);transition:opacity .8s ease,transform 2.8s ease}.studio-gallery .gallery-slider img.active{opacity:1;transform:scale(1)}.studio-gallery .gallery-slider:hover img{transform:scale(1.025)}.gallery-slider figcaption{z-index:2}
@media(prefers-reduced-motion:reduce){.studio-gallery .gallery-slider img{transition:none}}

.journey-animation{position:relative;margin:-30px 0 55px;overflow:hidden}.journey-animation svg{display:block;width:100%;height:auto;min-height:210px}.journey-animation path,.journey-animation circle{vector-effect:non-scaling-stroke}.journey-line,.journey-stop,.line-person,.speech,.movement-marks,.exercise-ball{fill:none;stroke:#f4f1e8;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.journey-line{stroke-width:5;opacity:.95}.journey-stop{fill:var(--deep);stroke-width:4}.line-person{filter:drop-shadow(0 3px 0 rgba(0,0,0,.12))}.line-person.patient{transform:translate(130px,183px);animation:patientJourney 12s ease-in-out infinite}.line-person.patient .line-body{animation:personWalk .48s ease-in-out infinite alternate;transform-origin:0 20px}.line-person.patient .line-arm{animation:armTalk .55s ease-in-out infinite alternate;transform-origin:3px -18px}.doctor-coat{fill:rgba(188,221,226,.12)}.doctor-details{stroke-width:3}.doctor-head{stroke-width:5.5}.therapist-one{opacity:0;animation:therapistOne 12s infinite}.therapist-two{opacity:0;animation:therapistTwo 12s infinite}.therapist-two .helping-arm{animation:helpingGesture .75s ease-in-out infinite alternate;transform-origin:1066px 168px}.speech-one,.speech-two{stroke-width:3;opacity:0}.speech-one{animation:speechOne 12s infinite}.speech-two{animation:speechTwo 12s infinite}.movement-marks{opacity:0;animation:movementHelp 12s infinite}.exercise-ball{stroke-width:3;opacity:0;transform-origin:962px 205px;animation:exerciseBall 12s infinite}.journey-caption{display:grid;grid-template-columns:repeat(3,1fr);margin:-15px 0 0;color:var(--sky);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.journey-caption span:nth-child(2){text-align:center}.journey-caption span:last-child{text-align:right}
@keyframes patientJourney{0%,15%{transform:translate(130px,183px)}25%,42%{transform:translate(520px,183px)}52%,68%{transform:translate(650px,183px)}80%,100%{transform:translate(995px,183px)}}@keyframes personWalk{to{transform:skewX(-6deg) rotate(-3deg)}}@keyframes armTalk{to{transform:rotate(-24deg)}}@keyframes helpingGesture{to{transform:rotate(-8deg)}}@keyframes speechOne{0%,3%,16%,100%{opacity:0;transform:translateY(8px)}5%,14%{opacity:1;transform:none}}@keyframes therapistOne{0%,22%,45%,100%{opacity:0}26%,42%{opacity:1}}@keyframes speechTwo{0%,27%,43%,100%{opacity:0;transform:translateY(8px)}30%,40%{opacity:1;transform:none}}@keyframes therapistTwo{0%,73%,100%{opacity:0}78%,96%{opacity:1}}@keyframes movementHelp{0%,78%,100%{opacity:0}82%,96%{opacity:1}}@keyframes exerciseBall{0%,74%,100%{opacity:0;transform:translateY(8px) scale(.88)}80%,86%,94%{opacity:1;transform:none}90%{opacity:1;transform:translateY(-5px) rotate(5deg)}}
@media(max-width:700px){.journey-animation{margin:-20px -10px 35px}.journey-animation svg{width:175%;max-width:none}.journey-caption{display:none}}@media(prefers-reduced-motion:reduce){.line-person.patient{animation:none;transform:translate(1000px,183px)}.therapist-two,.movement-marks{animation:none;opacity:1}.therapist-one,.speech-one,.speech-two{animation:none}}
.line-person.patient .walking-gap{stroke:var(--deep);stroke-width:13;filter:none}
.speech-two .dialogue-patient,.speech-two .dialogue-doctor{stroke-width:3}.speech-two .dialogue-patient{animation:dialoguePatient 1.1s ease-in-out infinite}.speech-two .dialogue-doctor{animation:dialogueDoctor 1.1s .55s ease-in-out infinite}@keyframes dialoguePatient{0%,45%,100%{opacity:.28}15%,35%{opacity:1}}@keyframes dialogueDoctor{0%,45%,100%{opacity:.28}60%,85%{opacity:1}}
.services-explorer{display:grid;grid-template-columns:minmax(320px,.78fr) 1.22fr;gap:clamp(45px,7vw,110px);align-items:start}.services-visual{position:sticky;top:100px;height:min(680px,75vh);margin:0;overflow:hidden;background:var(--deep)}.services-visual:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(4,32,38,.88))}.services-visual img{width:100%;height:100%;object-fit:cover;transition:opacity .28s,transform .8s}.services-visual.changing img{opacity:.15;transform:scale(1.035)}.services-visual figcaption{position:absolute;z-index:1;left:clamp(24px,3vw,46px);right:30px;bottom:35px;color:#fff}.services-visual small{display:block;margin-bottom:12px;color:var(--sky);font-size:11px;font-weight:600;letter-spacing:.17em;text-transform:uppercase}.services-visual strong{display:block;font:500 clamp(28px,3vw,46px)/1.08 var(--serif)}.services-explorer .service-list{border-color:var(--line)}.service-item{border-bottom:1px solid var(--line);transition:background .3s}.service-item button{width:100%;display:grid;grid-template-columns:45px 1fr 30px;gap:15px;align-items:center;padding:25px 0;border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.service-item button>span:first-child{align-self:start;padding-top:8px;color:var(--petrol);font-size:11px;letter-spacing:.15em}.service-title small{display:block;margin-bottom:5px;color:var(--petrol);font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.service-title strong{display:block;font:500 clamp(23px,2.4vw,36px)/1.12 var(--serif)}.service-item button i{width:28px;height:28px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-style:normal;transition:.3s}.service-detail{display:grid;grid-template-rows:0fr;opacity:0;padding-left:60px;transition:grid-template-rows .45s ease,opacity .35s}.service-detail>*{overflow:hidden}.service-detail p{max-width:600px;margin:0;color:rgba(10,52,60,.75)}.service-detail>a,.service-links{font-size:13px;font-weight:600}.service-detail>a{display:inline-block;margin-top:20px;border-bottom:1px solid;width:max-content}.service-item.active{background:linear-gradient(90deg,rgba(188,221,226,.22),transparent);padding:0 18px;margin:0 -18px}.service-item.active .service-detail{grid-template-rows:1fr;opacity:1;padding-bottom:28px}.service-item.active button i{color:#fff;background:var(--petrol);border-color:var(--petrol);transform:rotate(180deg)}.service-links{display:flex;gap:25px;margin-top:20px!important}.service-links a{border-bottom:1px solid}@media(max-width:850px){.services-explorer{grid-template-columns:1fr}.services-visual{position:relative;top:auto;height:520px}.service-item button{padding:22px 0}.service-detail{padding-left:60px}}@media(max-width:520px){.services-visual{height:430px}.service-item button{grid-template-columns:34px 1fr 28px;gap:8px}.service-title strong{font-size:23px}.service-detail{padding-left:42px}}
.workshop-past+.workshop-past{margin-top:24px}
