:root{--ink:#111;--paper:#f4f1eb;--white:#fff;--muted:#6c6a65;--line:rgba(17,17,17,.16);--accent:#f14b79;--yellow:#e8ff38;--max:1600px;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
body:before{content:'RO5';position:fixed;z-index:10000;inset:0;display:grid;place-items:center;background:var(--ink);color:var(--white);font-family:var(--sans);font-size:clamp(4rem,14vw,11rem);font-weight:900;line-height:1;letter-spacing:-.1em;opacity:1;visibility:visible;transition:opacity .55s cubic-bezier(.4,0,.2,1),visibility .55s;animation:preloader-fallback 0s 4s forwards}
body:after{content:'';position:fixed;z-index:10001;left:50%;top:calc(50% + clamp(3.5rem,10vw,8rem));width:min(180px,32vw);height:3px;background:linear-gradient(90deg,var(--accent) 0 45%,rgba(255,255,255,.22) 45% 100%);background-size:220% 100%;transform:translateX(-50%);animation:preloader-progress 1s ease-in-out infinite,preloader-fallback 0s 4s forwards;opacity:1;visibility:visible;transition:opacity .4s ease,visibility .4s}
body.site-loaded:before,body.site-loaded:after{opacity:0;visibility:hidden;pointer-events:none}
@keyframes preloader-progress{0%{background-position:100% 0}100%{background-position:-100% 0}}
@keyframes preloader-fallback{to{opacity:0;visibility:hidden;pointer-events:none}}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}body.menu-open{overflow:hidden}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:200;background:var(--yellow);padding:.8rem 1rem}.skip-link:focus{top:1rem}.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.2rem,3vw,3.5rem);color:#fff;mix-blend-mode:difference}.brand{font-weight:900;font-size:2rem;letter-spacing:-.12em}.brand span{color:var(--accent)}.desktop-nav{display:flex;gap:clamp(.8rem,1.4vw,1.7rem);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.desktop-nav a{position:relative}.desktop-nav a:after{content:'';position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:.25s}.desktop-nav a:hover:after,.desktop-nav a[aria-current=page]:after{transform:scaleX(1);transform-origin:left}.menu-toggle{display:none;color:inherit;background:none;border:0;width:48px;height:48px;padding:0}.mobile-menu{position:fixed;z-index:90;inset:0;background:var(--ink);color:#fff;padding:7rem 1.5rem 2rem;display:grid;align-content:start;gap:.5rem;transform:translateY(-100%);transition:.45s cubic-bezier(.7,0,.2,1)}.mobile-menu.open{transform:none}.mobile-menu a{font-family:var(--serif);font-size:clamp(2rem,9vw,4rem);line-height:1.05}.container{width:min(calc(100% - 2.4rem),var(--max));margin:auto}.narrow{width:min(calc(100% - 2.4rem),760px);margin:auto}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700}.display{font-family:var(--serif);font-weight:400;line-height:.92;letter-spacing:-.055em;font-size:clamp(3.2rem,8vw,8rem);margin:.15em 0}.lead{font-size:clamp(1.15rem,2vw,1.65rem);line-height:1.35}.hero{min-height:96svh;position:relative;display:grid;align-items:end;color:#fff;background:#111;overflow:hidden}.hero>img{position:absolute;inset:0;height:100%;object-fit:cover;opacity:.76;filter:saturate(.92)}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.65),transparent 70%),linear-gradient(0deg,rgba(0,0,0,.58),transparent 55%)}.hero-content{position:relative;z-index:1;padding:9rem 0 clamp(4rem,8vw,8rem);max-width:1000px}.hero h1{font-size:clamp(5rem,18vw,16rem);font-weight:900;line-height:.7;letter-spacing:-.1em;margin:0}.hero h1 span{color:var(--accent)}.hero-sub{font-family:var(--serif);font-size:clamp(1.8rem,4vw,4rem);line-height:1;margin:1.2rem 0 2rem}.actions{display:flex;gap:.8rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid currentColor;padding:.75rem 1.2rem;text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;font-weight:700;transition:.25s;background:transparent}.btn:hover,.btn:focus-visible{background:var(--yellow);border-color:var(--yellow);color:#111}.btn-solid{background:var(--ink);color:#fff;border-color:var(--ink)}.hero .btn-solid{background:var(--yellow);color:#111;border-color:var(--yellow)}section,.section{padding:clamp(4rem,9vw,9rem) 0}.section-dark{background:var(--ink);color:#fff}.section-pink{background:var(--accent);color:#111}.section-yellow{background:var(--yellow)}.manifesto{display:grid;grid-template-columns:1fr 2fr;gap:clamp(2rem,8vw,10rem);align-items:start}.manifesto p{font-family:var(--serif);font-size:clamp(1.65rem,3.2vw,3.4rem);line-height:1.1;margin:0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:clamp(2rem,5vw,5rem)}.section-head h2{font-family:var(--serif);font-size:clamp(2.8rem,6vw,6rem);line-height:.95;letter-spacing:-.05em;margin:0}.art-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,2.2rem)}.art-card{grid-column:span 4}.art-card:nth-child(5n+2){grid-column:span 5}.art-card:nth-child(5n+3){grid-column:span 3}.art-card figure{margin:0;overflow:hidden;background:#ddd;aspect-ratio:4/5}.art-card.wide figure{aspect-ratio:5/3}.art-card img{height:100%;object-fit:cover;transition:transform .6s}.art-card:hover img{transform:scale(1.025)}.art-meta{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding:.8rem 0}.art-title{font-weight:700}.art-type{color:var(--muted);font-size:.82rem}.feature-split{display:grid;grid-template-columns:1.2fr 1fr;min-height:70vh}.feature-split>div{padding:clamp(2.5rem,7vw,8rem);display:flex;flex-direction:column;justify-content:center}.feature-split .visual{padding:0;min-height:55vh}.feature-split img{height:100%;object-fit:cover}.feature-split h2{font-family:var(--serif);font-size:clamp(3rem,6vw,6rem);line-height:.92;letter-spacing:-.055em;margin:.2em 0}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.three>*{background:var(--paper);padding:clamp(2rem,4vw,4rem)}.num{font-family:var(--serif);font-size:4rem;color:var(--accent)}.page-hero{padding:clamp(9rem,15vw,14rem) 0 clamp(4rem,8vw,8rem);border-bottom:1px solid var(--line)}.page-hero h1{font-family:var(--serif);font-size:clamp(4rem,11vw,11rem);line-height:.82;letter-spacing:-.065em;margin:.15em 0}.page-hero .lead{max-width:760px}.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:3rem}.filter{border:1px solid var(--line);background:transparent;padding:.65rem 1rem;cursor:pointer}.filter.active{background:var(--ink);color:white}.bio-grid,.contact-grid,.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,8rem);align-items:start}.portrait{position:sticky;top:90px}.portrait img{height:min(75vh,850px);object-fit:cover}.prose h2{font-family:var(--serif);font-size:clamp(2.3rem,4vw,4.5rem);line-height:1;margin-top:1.5em}.quote{font-family:var(--serif);font-size:clamp(2rem,4vw,4.5rem);line-height:1.05;border-left:6px solid var(--accent);padding-left:1rem}.service-hero{min-height:75svh;display:grid;align-items:end;color:#fff;background-size:cover;background-position:center;position:relative}.service-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.75),rgba(0,0,0,.1))}.service-hero .container{position:relative;padding-bottom:5rem}.service-hero h1{font-family:var(--serif);font-size:clamp(3.5rem,8vw,8rem);line-height:.9;letter-spacing:-.055em;max-width:1100px;margin:.15em 0}.form{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.field{display:grid;gap:.4rem}.field.full{grid-column:1/-1}.field label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:.75rem .15rem;border-radius:0}.field textarea{min-height:130px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:3px}.form-note{font-size:.8rem;color:var(--muted)}.event-list{border-top:1px solid var(--line)}.event{display:grid;grid-template-columns:100px 1fr 1fr;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--line);align-items:baseline}.event h3{font-family:var(--serif);font-size:clamp(1.8rem,4vw,3.8rem);margin:0}.press-card{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr auto;gap:2rem;padding:2rem 0}.press-card h3{font-size:1.35rem;margin:0}.detail-image{position:sticky;top:90px}.detail-image img{max-height:82vh;object-fit:contain;background:#e5e0d7}.detail-info h1{font-family:var(--serif);font-size:clamp(3rem,7vw,7rem);line-height:.9;margin:.2em 0}.meta-table{margin:2rem 0;border-top:1px solid var(--line)}.meta-row{display:flex;justify-content:space-between;padding:.8rem 0;border-bottom:1px solid var(--line)}footer{background:var(--ink);color:#fff;padding:4rem 0 2rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem}.footer-brand{font-size:clamp(4rem,12vw,10rem);font-weight:900;letter-spacing:-.1em;line-height:.7}.footer-links{display:grid;align-content:start;gap:.65rem}.legal{display:flex;justify-content:space-between;border-top:1px solid #444;margin-top:4rem;padding-top:1.5rem;font-size:.75rem;color:#aaa}.reveal{opacity:0;transform:translateY(24px);transition:.7s}.reveal.in{opacity:1;transform:none}:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:block}.manifesto,.feature-split,.bio-grid,.contact-grid,.detail-grid{grid-template-columns:1fr}.feature-split .visual{order:-1}.three{grid-template-columns:1fr}.art-card,.art-card:nth-child(n){grid-column:span 6}.portrait,.detail-image{position:static}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.event{grid-template-columns:80px 1fr}.event>:last-child{grid-column:2}.press-card{grid-template-columns:1fr}.form{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(max-width:560px){.site-header{height:66px}.hero h1{font-size:30vw}.hero-sub{font-size:1.7rem}.section-head{display:block}.section-head .btn{margin-top:1rem}.art-grid{gap:2.5rem}.art-card,.art-card:nth-child(n){grid-column:1/-1}.footer-grid{grid-template-columns:1fr}.legal{display:grid;gap:.5rem}.event{grid-template-columns:1fr;gap:.5rem}.event>:last-child{grid-column:auto}.page-hero h1{font-size:18vw}.three>*{padding:2rem 1.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Navbar isolata e motion system condiviso */
.site-header{mix-blend-mode:normal;transition:height .35s ease,background-color .35s ease,color .35s ease,box-shadow .35s ease,border-color .35s ease,backdrop-filter .35s ease;border-bottom:1px solid transparent;text-shadow:0 1px 12px rgba(0,0,0,.38)}
.site-header.is-scrolled{height:66px;color:var(--ink);background:rgba(244,241,235,.94);border-bottom-color:var(--line);box-shadow:0 10px 35px rgba(17,17,17,.1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);text-shadow:none}
.site-header.on-light:not(.is-scrolled){color:var(--ink);background:rgba(244,241,235,.72);border-bottom-color:rgba(17,17,17,.08);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);text-shadow:none}
.hero-content>.eyebrow{margin-bottom:clamp(1.5rem,3vw,3rem)}
.manifesto>div:last-child{display:flex;flex-direction:column;align-items:flex-start}
.manifesto>div:last-child>p:first-child{margin-bottom:clamp(1.75rem,3vw,3rem)}
.manifesto p.lead{font-family:var(--sans);font-size:clamp(1.05rem,1.7vw,1.4rem);line-height:1.5;margin:0 0 clamp(2rem,4vw,3.5rem);max-width:680px}
.manifesto .btn{margin-top:0}
.service-hero{min-height:auto;padding:clamp(10rem,16vw,15rem) 0 clamp(5rem,9vw,9rem);color:var(--ink);background-image:none!important;background-color:var(--paper);border-bottom:1px solid var(--line);align-items:end}
.service-hero:before{display:none}
.service-hero .container{padding-bottom:0}
#artworks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:8px;column-gap:clamp(1rem,2vw,2.2rem);row-gap:0;align-items:start}
#artworks .art-card,#artworks .art-card:nth-child(n){grid-column:span 1;margin-bottom:clamp(1.5rem,3vw,3rem)}
#artworks .art-card figure,#artworks .art-card.wide figure{aspect-ratio:auto}
#artworks .art-card img{width:100%;height:auto;object-fit:contain}
@media(max-width:900px){#artworks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){#artworks{grid-template-columns:1fr}}
@media(max-width:560px){
  .filters{flex-wrap:nowrap;gap:.35rem;width:100%;overflow-x:auto;padding-bottom:.35rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .filters::-webkit-scrollbar{display:none}
  .filters .filter{flex:0 0 auto;padding:.55rem .65rem;font-size:.72rem;white-space:nowrap}
  .section-dark .art-grid{display:flex;flex-direction:column;width:100%;max-width:100%;gap:2.5rem;overflow:hidden}
  .section-dark .art-grid .art-card,.section-dark .art-grid .art-card:nth-child(n){display:block;width:100%;max-width:100%;min-width:0}
  .section-dark .art-grid .art-card figure{width:100%;max-width:100%;aspect-ratio:4/5}
  .section-dark .art-grid .art-card img{width:100%;max-width:100%;height:100%;object-fit:cover}
  .section-dark .art-grid .art-meta{width:100%;min-width:0;flex-wrap:wrap}
  .section-dark{overflow-x:hidden}
}
.reveal,.motion-item{opacity:0;transform:translateY(30px) scale(.985);filter:blur(3px);transition:opacity .65s ease,transform .75s cubic-bezier(.2,.75,.2,1),filter .65s ease;transition-delay:var(--motion-delay,0ms);will-change:opacity,transform}
.reveal.in,.motion-item.is-visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
.motion-item.is-leaving{opacity:0;transform:translateY(-22px) scale(.99);filter:blur(2px);transition-delay:0ms}
.site-header,.mobile-menu,footer{will-change:auto}
@media(prefers-reduced-motion:reduce){.reveal,.motion-item,.motion-item.is-leaving{opacity:1;transform:none;filter:none}}
@media(prefers-reduced-motion:reduce){body:after{animation:none}body:before,body:after{transition-duration:.01ms}}
@media(hover:none),(pointer:coarse){
  a,button,.btn,.filter{touch-action:manipulation;-webkit-tap-highlight-color:rgba(241,75,121,.2)}
  .art-card:hover img{transform:none}
  .btn:hover{background:inherit;border-color:currentColor;color:inherit}
  .hero .btn-solid:hover,.btn-solid:hover{background:var(--ink);border-color:var(--ink);color:var(--white)}
  .hero .btn-solid:hover{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
  .desktop-nav a:hover:after{transform:scaleX(0)}
}
.page-live .section-dark{background:#e8d9df;color:var(--ink)}
.page-live .section-dark .three{background:rgba(241,75,121,.34);border:1px solid rgba(241,75,121,.34)}
.page-live .section-dark .three>article{background:#f8f4ef}
.page-live .section-dark .three h2{color:var(--ink)}
.page-live .section-dark .num{color:#c92f62}
@media(max-width:560px){.page-contact .page-hero h1{font-size:clamp(3.25rem,14vw,4.7rem);letter-spacing:-.055em;overflow-wrap:anywhere}}
