@font-face{font-family:Jacquard;src:url('/assets/fonts/jacquard12.ttf') format('truetype');font-display:swap}
:root{--red:#d5ef98;--paper:#073b55;--blue:var(--red)}
html[data-mood="noir"]{--blue:var(--red);--mark-color:var(--red)}
html,body{background:#073b55}body:not(.portfolio-open){overflow:hidden}
.arrival{position:fixed;inset:0;z-index:150;pointer-events:none;color:#fff}
.arrival-photo{position:absolute;inset:0;overflow:hidden;background:#073b55;transform-origin:50% 0;transition:transform 1.3s cubic-bezier(.7,0,.15,1),opacity 1.1s .1s}
.arrival-photo>img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) blur(12px) brightness(.43);transform:scale(1.04)}
.arrival-photo>canvas{position:absolute;inset:0;width:100%;height:100%;filter:grayscale(1);pointer-events:none}
.arrival{pointer-events:auto}
.arrival-top{position:absolute;top:22px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;font:14px monospace}
.arrival-top a,.locale-switch{pointer-events:auto}.locale-switch{display:flex;gap:8px}.locale-switch button{border:1px solid #777;background:#080808c9;color:white;padding:7px 10px;min-height:40px;cursor:pointer}.locale-switch button[aria-pressed=true]{border-color:var(--red)}
.arrival-name{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);font:400 clamp(60px,9.4vw,155px)/.9 Jacquard,serif;color:var(--red);letter-spacing:-.025em;white-space:nowrap;margin:0;text-transform:none;transition:top 1.3s cubic-bezier(.7,0,.15,1),transform 1.3s cubic-bezier(.7,0,.15,1);pointer-events:none}
.arrival-contact{position:absolute;top:44%;left:28px;transform:translateY(-50%);font:14px/1.5 monospace;pointer-events:auto;max-width:220px}.arrival-contact summary{cursor:pointer;list-style:none}.arrival-contact summary span{margin-left:18px}.arrival-contact details[open]{padding:18px;background:#080808e6;border:1px solid #666}.arrival-contact a{display:block;font-size:12px;margin-top:20px;overflow-wrap:anywhere}
.arrival-enter{position:absolute;top:62%;left:50%;transform:translateX(-50%);border:1px solid #aaa;background:#08080885;color:white;padding:16px 28px;min-width:230px;cursor:pointer;font:14px monospace;transition:background .2s,opacity .3s}.arrival-enter:hover{background:var(--red);border-color:var(--red)}.arrival-enter span{margin-left:24px}.arrival-index{position:absolute;bottom:28px;left:28px;font:12px monospace}
.portfolio-open .arrival{pointer-events:none}.portfolio-open .arrival-photo{transform:translateY(-12vh) scale(.06);opacity:0}.portfolio-open .arrival-name{top:75px;transform:translate(-50%,0)}.portfolio-open .arrival-enter,.portfolio-open .arrival-index{opacity:0;pointer-events:none}.portfolio-open .arrival-contact{top:27px;transform:none;left:100px}.project-open .arrival-name{display:none}
.site-header{margin-top:225px}.project-open .site-header{margin-top:65px}.site-header>.wordmark,.header-note{display:none}.site-header{padding:16px 3%;width:100%;border-bottom:1px solid #383838}.site-header nav{width:100%;justify-content:space-between}.hero-top,.hero-copy,.hero-bottom,.exhibit-note,.hero-close{display:none!important}.hero-body{display:block}.hero{padding:0;border:0}.hero-visual{width:100%;height:70vh;min-height:520px;background:#073b55!important}.hero-exhibit{background:none!important}.hero-visual:after{display:none}.hero-model{filter:none!important}.exhibit-item{outline-offset:8px}
.hero-exhibit .exhibit-book{left:40%;top:65%;width:20%;height:32%}.hero-exhibit .exhibit-moka{left:39%;top:0;width:23%;height:68%}.hero-exhibit .exhibit-chair{left:10%;top:48%;width:23%;height:46%}.hero-exhibit .exhibit-kaytranada{left:9%;top:0;width:24%;height:47%}.hero-exhibit .exhibit-hanger{left:68%;top:0;width:24%;height:43%}.hero-exhibit .exhibit-back{left:69%;top:45%;width:22%;height:50%}
h1,h2,.detail-title h1{color:var(--red)}.work-by h2{color:#fff}.arrival-top a{color:#fff}.project-detail{padding-top:24px}
@media(max-width:800px){.arrival-name{font-size:12vw;top:44%}.arrival-contact{top:100px;left:20px}.arrival-top{left:20px;right:20px}.portfolio-open .arrival-name{top:85px}.portfolio-open .arrival-contact{left:85px;top:28px}.site-header{margin-top:155px}.hero-visual{min-height:540px;height:70vh}.arrival-enter{top:58%}.site-header nav{gap:12px}.arrival-name{white-space:nowrap}.hero-exhibit .exhibit-item{width:31%;height:42%;left:2%;top:3%}.hero-exhibit .exhibit-moka{left:35%;top:5%;height:48%}.hero-exhibit .exhibit-hanger{left:68%;top:5%}.hero-exhibit .exhibit-chair{top:53%;left:1%}.hero-exhibit .exhibit-book{left:35%;top:57%;height:35%}.hero-exhibit .exhibit-back{left:68%;top:53%}}
@media(prefers-reduced-motion:reduce){.arrival-photo,.arrival-name{transition:none}}
.project-wall{padding:60px 0 90px}.wall-heading{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #42717a;padding:24px 0}.wall-heading h2{font:400 clamp(36px,5vw,80px)/1 Arial,sans-serif;margin:0}.wall-heading>span{font:14px monospace}.wall-grid{columns:4;column-gap:22px}.wall-item{display:block;margin:0 0 22px;break-inside:avoid;overflow:hidden;background:#073b55;transition:filter .3s}.wall-item img{width:100%;height:auto;display:block;transition:transform .5s}.wall-item:hover img{transform:scale(1.035)}.wall-cutout{padding:25px 10px}.wall-type{display:block;padding:40px 16px;font:600 clamp(26px,4vw,58px)/.95 Arial;min-height:230px}.wall-item:focus-visible{outline:2px solid var(--red);outline-offset:3px}.wall-grid:has(.wall-item:hover) .wall-item:not(:hover){filter:brightness(.7)}.gallery-hubert .gallery-grid{grid-template-columns:repeat(4,1fr)}.gallery-hubert img{object-fit:contain;background:#073b55}.detail-cover-hubert{display:none}.book-stage{height:65vh;min-height:400px}.book-stage .hero-model{height:100%;width:100%}.book-stage canvas{height:100%;width:100%}.portfolio-open .arrival-photo{visibility:hidden;transition:transform 1.3s cubic-bezier(.7,0,.15,1),opacity 1.1s .1s,visibility 0s 1.3s}
@media(max-width:800px){.wall-grid{columns:2;column-gap:12px}.wall-item{margin-bottom:12px}.wall-cutout{padding:16px 4px}.gallery-hubert .gallery-grid{grid-template-columns:repeat(2,1fr)}}
.moving-index{overflow:hidden;border-bottom:1px solid #42717a;font:400 28px/1.2 Arial,sans-serif;padding:10px 0;position:relative;z-index:3}.moving-index-track{display:flex;width:max-content;animation:menu-travel 28s linear infinite}.moving-index-track>div{display:flex;gap:50px;padding-right:50px;flex-shrink:0}.moving-index a{white-space:nowrap}.moving-index a:hover{color:var(--red)}.moving-index:focus-within .moving-index-track,.moving-index:hover .moving-index-track{animation-play-state:paused}.project-open .moving-index{display:none}.wall-item[hidden]{display:none}.site-header{margin-bottom:0}.portfolio-open:not(.project-open) .arrival-name{background:linear-gradient(#073b55 78%,transparent);padding-bottom:16px}.arrival-top{z-index:2}.arrival-name{z-index:1}
@keyframes menu-travel{to{transform:translateX(-50%)}}
#lavori,#project-wall,#info,#percorso{scroll-margin-top:235px}.portfolio-open:not(.project-open) .arrival:before{content:'';position:absolute;inset:0 0 auto;height:225px;background:linear-gradient(#073b55 88%,transparent)}
@media(max-width:800px){#lavori,#project-wall,#info,#percorso{scroll-margin-top:165px}.portfolio-open:not(.project-open) .arrival:before{height:160px}}
@media(prefers-reduced-motion:reduce){.moving-index-track{animation:none}}
.hero-body{padding-top:0;min-height:0}.hero-visual{border:0;min-height:600px;height:72vh;max-height:820px}.hero-exhibit{min-height:0;height:100%}
.hero-exhibit .exhibit-kaytranada{left:5%!important;top:0!important;width:26%!important;height:45%!important}
.hero-exhibit .exhibit-chair{left:5%!important;top:52%!important;width:26%!important;height:45%!important}
.hero-exhibit .exhibit-moka{left:37%!important;top:0!important;width:26%!important;height:63%!important}
.hero-exhibit .exhibit-book{left:39%!important;top:68%!important;width:22%!important;height:30%!important}
.hero-exhibit .exhibit-hanger{left:69%!important;top:0!important;width:26%!important;height:45%!important}
.hero-exhibit .exhibit-back{left:69%!important;top:52%!important;width:26%!important;height:45%!important}
.portfolio-open .arrival-enter,.portfolio-open .arrival-index{visibility:hidden}.portfolio-open .arrival-photo{pointer-events:none}.project-open .arrival:before{content:'';position:absolute;inset:0 0 auto;height:65px;background:#073b55}
.site-header{margin-top:215px;height:48px;min-height:48px;padding:10px 3%}.hero-visual{height:calc(100svh - 335px);min-height:450px}.hero-model .model-fallback{opacity:.35}.model-ready{opacity:1}.project-open .site-header{height:65px}
.book-stage canvas{pointer-events:auto;touch-action:none}.book-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;font-size:14px;margin:15px 0 60px}.book-links a{border-bottom:1px solid #777;padding-bottom:6px}
@media(max-width:800px){.hero-visual{min-height:480px;height:65vh}.site-header nav{margin:0}.site-header{min-height:65px}.hero-exhibit .exhibit-item{width:32%!important}.hero-exhibit .exhibit-kaytranada,.hero-exhibit .exhibit-chair{left:0!important}.hero-exhibit .exhibit-moka,.hero-exhibit .exhibit-book{left:34%!important}.hero-exhibit .exhibit-hanger,.hero-exhibit .exhibit-back{left:68%!important}}

@media(max-width:800px){.site-header{margin-top:155px}}
/* Review: natural proportions for every project heading. */
:root{--project-font:Arial,Helvetica,sans-serif;--project-weight:500}
.project-detail h1,.project-detail h2,.project-detail h3,.bike-experience h2,.next-project>span:last-child{font-family:var(--project-font)!important;font-weight:var(--project-weight)!important;font-stretch:normal!important;letter-spacing:-.025em!important;text-transform:none!important;transform:none!important;line-height:1.08!important}
.project-detail h1{font-size:clamp(46px,7vw,110px)!important;overflow-wrap:break-word}
.project-detail h2,.bike-experience h2{font-size:clamp(32px,4.5vw,68px)!important}
.project-detail h3{font-size:clamp(24px,2.4vw,36px)!important}
.project-detail h2 em,.bike-experience h2 em{font:inherit!important;letter-spacing:inherit!important}
.bike-story-box{border-top:1px solid #555;border-bottom:1px solid #555;padding:48px 5%;margin:55px 0;background:#093f59}
.bike-story-box p{max-width:850px;font-size:clamp(19px,2vw,28px);line-height:1.5}.bike-story-box h2{margin:28px 0}
.portfolio-open .arrival-contact{top:22px;transform:none;min-height:40px;display:flex;align-items:center}
.portfolio-open .arrival-contact summary{line-height:40px}.portfolio-open .arrival-contact details[open]{position:absolute;top:0;padding:0 18px 18px}
.gallery-discoteche .gallery-grid{grid-template-columns:1fr 1fr;gap:44px 28px}.gallery-discoteche img{height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}.gallery-discoteche figure:first-child{grid-column:1/-1}
.gallery-gruccia figure:last-child{width:100%;max-width:560px;justify-self:center}.gallery-gruccia figure:last-child img{height:auto;max-height:380px;object-fit:contain}
@media(max-width:700px){.gallery-discoteche .gallery-grid{grid-template-columns:1fr}.portfolio-open .arrival-contact{top:22px}.bike-story-box{padding:32px 20px}}
/* Image-only, continuous fisheye surface. Each photograph keeps its own proportions. */
#project-wall{padding:0;margin:70px 0;border:0}
.fisheye-grid{position:relative;width:100%;height:clamp(520px,78svh,950px);overflow:hidden;background:#073b55;cursor:grab;touch-action:none;border-radius:24px}
.fisheye-grid[data-dragging=true]{cursor:grabbing}.fisheye-grid:focus-visible{outline:2px solid var(--red);outline-offset:5px}
.fisheye-grid canvas{display:block;width:100%;height:100%}
.fisheye-fallback{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;overflow:auto;touch-action:auto}
.fisheye-fallback img{width:100%;height:240px;object-fit:contain;border-radius:18px}
@media(max-width:700px){.fisheye-grid{height:65svh;min-height:420px;border-radius:18px}.fisheye-fallback{grid-template-columns:repeat(2,1fr)}}
.arrival-name.particles-ready{color:transparent}.title-particles{position:absolute;left:-80px;top:-80px;width:calc(100% + 160px);height:calc(100% + 160px);pointer-events:none}
.project-open .arrival-name{display:block}.project-open .site-header{margin-top:215px}.project-open .arrival:before{height:225px;background:linear-gradient(#073b55 88%,transparent)}
@media(max-width:800px){.project-open .site-header{margin-top:155px}.project-open .arrival:before{height:160px}}
@media(prefers-reduced-motion:reduce){.title-particles{display:none}}

.category-projects{padding:40px 4% 80px}.category-projects .detail-topline{margin-bottom:48px}.category-projects .section-heading h2{color:var(--red)}
/* Compact header controls: red, gently enlarged on hover and keyboard focus. */
.arrival-top .arrival-home,.arrival-contact summary{display:inline-block;transform-origin:left center;transition:color .18s ease,transform .22s ease}
.arrival-top .arrival-home:hover,.arrival-top .arrival-home:focus-visible,.arrival-contact summary:hover,.arrival-contact summary:focus-visible{color:var(--red);transform:scale(1.07)}
@media(prefers-reduced-motion:reduce){.arrival-top .arrival-home,.arrival-contact summary{transition:none}}

@media(hover:hover) and (pointer:fine){html.red-cursor,html.red-cursor *{cursor:none!important}.site-cursor{position:fixed;left:0;top:0;width:10px;height:10px;border-radius:50%;background:var(--red,#d5ef98);pointer-events:none;z-index:2147483647;opacity:0;will-change:transform}.site-cursor.is-visible{opacity:1}}

.kaytranada-process-video{display:block;width:100%;height:auto;margin-top:28px;border-radius:16px;background:#000;object-fit:contain}
/* Scrolling only hides the name band; utility links remain available. */
.portfolio-open .arrival-name{transition:top 1.3s cubic-bezier(.7,0,.15,1),transform 1.3s cubic-bezier(.7,0,.15,1),opacity .2s,translate .25s}
.portfolio-open .arrival:before{transition:height .25s}
.portfolio-open.title-scroll-hidden .arrival-name{opacity:0;translate:0 -24px;visibility:hidden;transition:opacity .2s,translate .25s,visibility 0s .25s}
.portfolio-open.title-scroll-hidden .arrival:before{height:65px;background:#073b55}
@media(prefers-reduced-motion:reduce){.portfolio-open .arrival-name,.portfolio-open .arrival:before,.portfolio-open.title-scroll-hidden .arrival-name{transition:none}}
.hero-exhibit .model-fallback{transition:filter .2s}
@media(hover:hover){.hero-exhibit .exhibit-item:hover .model-fallback{filter:brightness(0) saturate(100%) invert(24%) sepia(98%) saturate(3998%) hue-rotate(350deg) brightness(101%) contrast(105%)}}
.hero-exhibit .exhibit-item:focus-visible .model-fallback{filter:brightness(0) saturate(100%) invert(24%) sepia(98%) saturate(3998%) hue-rotate(350deg) brightness(101%) contrast(105%)}

/* Invert the photograph through the lettering. */
.work-by{isolation:isolate}
.work-by h2{color:#fff;mix-blend-mode:difference;opacity:1}
/* Consistent breathing room for every numbered project photograph. */
.gallery-grid figcaption{margin:0;padding:14px 16px 16px;gap:16px;align-items:baseline;box-sizing:border-box}
.gallery-grid figcaption>span{flex-shrink:0;min-width:2ch}
@media(max-width:700px){.gallery-grid figcaption{padding:12px 12px 14px;gap:12px}}
/* Preserve photo proportions without adding visible matte borders. */
.detail-cover{background:transparent}
.detail-cover>img{display:block;width:auto;max-width:100%;height:auto;margin-inline:auto}
.gallery-grid button{padding:0;background:transparent!important}
.gallery-grid img{display:block;width:100%;height:auto;max-height:none;background:transparent!important}
