@font-face{font-family:Manrope;src:url('./assets/fonts/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:Barlow;src:url('./assets/fonts/barlow-condensed-bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--paper:#fcfbf9;--ink:#27262a;--muted:#66646b;--line:#d8d5d8;--accent:#fcfbf9;--brand-gradient:linear-gradient(100deg,#ebd9c9 0%,#eca57b 17%,#dc49ab 34%,#7145a6 53%,#5567ba 74%,#5cc0d1 100%);--gutter:clamp(20px,3.35vw,64px);--mono:'Courier New',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:6px}.skip{position:fixed;top:-100px;left:20px;z-index:20;background:var(--ink);color:white;padding:12px}.skip:focus{top:10px}.wrap{max-width:1800px;margin:auto;padding-inline:var(--gutter)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Barlow,Impact,sans-serif;font-weight:700;line-height:.95;text-transform:uppercase;letter-spacing:-.025em}em{font:inherit}
.preview-note{font:11px/1.5 var(--mono);padding:12px var(--gutter);display:flex;justify-content:space-between;gap:16px;background:var(--accent)}header{position:relative;z-index:5;background:var(--accent)}.header-inner{min-height:108px;border-block:1px solid #27262a55;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{display:flex;align-items:center;gap:12px;font:700 30px/.95 Barlow,Impact,sans-serif;text-transform:uppercase;letter-spacing:-.02em}.wordmark small{display:block;font:11px/1.4 var(--mono);letter-spacing:0;text-transform:none;margin-top:10px}.wordmark img{width:48px;height:48px;flex-shrink:0}.nav{display:flex;align-items:center;gap:35px;font:13px/1.5 var(--mono)}.nav a{padding-block:12px}.nav a:hover{text-decoration:underline;text-underline-offset:6px}.menu-button{display:none;border:0;background:none;padding:12px 0 12px 20px}.hero{background:var(--accent);margin-inline:calc(-1 * var(--gutter));padding:18px var(--gutter) 38px;overflow:hidden}.hero-kicker{display:flex;justify-content:space-between;gap:20px;font:11px/1.5 var(--mono)}.hero-stage{position:relative;min-height:clamp(600px,48vw,840px);display:flex;align-items:center;isolation:auto}.hero h1{font-size:clamp(90px,14vw,240px);line-height:.91;letter-spacing:-.04em;position:relative;z-index:2;pointer-events:none;padding-bottom:50px}.hero h1 span{display:block}.hero-product{position:absolute;right:-1%;top:-3%;width:46%;margin:0;mix-blend-mode:normal}.hero-product img{width:100%;transform:rotate(7deg);animation:product-arrive .9s ease-out both}.hero-product figcaption{position:relative;margin-top:8%;padding-inline:12px;font:12px/1.5 var(--mono);text-align:center;color:var(--ink)}.registration{position:absolute;right:0;top:12%;bottom:12%;display:flex;align-items:center;flex-direction:column;width:15px;font:24px/1 var(--mono)}.registration i{flex:1;width:1px;background:var(--ink);margin:16px 0;opacity:.5}.hero-bottom{display:grid;grid-template-columns:2fr 1fr auto;gap:45px;align-items:center;position:relative}.hero-cta{display:flex;align-items:center;gap:20px;width:fit-content}.hero-cta>span{width:70px;height:70px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(var(--paper),var(--paper)) padding-box,var(--brand-gradient) border-box;border:2px solid transparent;color:var(--ink);font-size:45px;line-height:1;transition:transform .25s}.hero-cta:hover>span{transform:rotate(45deg)}.hero-cta b{font-size:19px;border-bottom:1px solid;padding-bottom:6px}.hero-bottom p{font-size:15px;line-height:1.5}.explore{font:10px/1.5 var(--mono);text-align:right}.explore span{display:block;font:35px/1.4 Manrope,sans-serif}.section-top{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px;margin:0 0 36px;font:11px/1.5 var(--mono)}#progetti{padding-top:64px}.works-title{font-size:clamp(64px,8vw,130px);margin-bottom:48px}.project-link{display:block}.bora-spread{display:grid;grid-template-columns:1fr 1fr;background:white;overflow:hidden}.bora-spread img{aspect-ratio:1;object-fit:cover;transition:transform .6s ease}.project-link:hover img{transform:scale(1.02)}.project-meta{display:flex;justify-content:space-between;gap:20px;align-items:start;border-bottom:1px solid var(--line);padding:20px 0 25px}.project-meta h3{font-size:44px}.project-meta p{font:11px/1.5 var(--mono);color:var(--muted);margin-top:10px}.arrow{display:inline-block;font-size:35px;transition:transform .25s}.project-link:hover .arrow{transform:translate(4px,-4px)}.dulac-project{margin:80px 0 90px 18%}.image-window{overflow:hidden}.image-window img{transition:transform .6s ease}
.approach{border-top:1px solid var(--line);background:var(--paper);color:var(--ink);margin-inline:calc(-1 * var(--gutter));padding:65px var(--gutter) 85px;display:grid;grid-template-columns:1fr 2.4fr;gap:50px}.section-label{font:12px/1.5 var(--mono)}.approach h2{font-size:clamp(55px,6.6vw,110px);color:var(--ink)}.intro{font-size:19px;line-height:1.6;max-width:680px;margin-top:30px}.services{margin-top:45px}.services details{border-top:1px solid var(--line)}.services details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:24px 0;display:flex;justify-content:space-between;gap:20px;font:700 36px/1.1 Barlow,Impact,sans-serif;text-transform:uppercase}summary::-webkit-details-marker{display:none}summary::after{content:'+';font:28px/1 var(--mono);color:var(--ink)}details[open] summary::after{content:'−'}details p{padding:0 45px 27px 0;max-width:650px;font-size:16px;line-height:1.6}.about{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-block:85px}.about h2{font-size:clamp(70px,8vw,130px)}.about p{font-size:18px;max-width:590px}.about p+p{margin-top:22px}.contact{position:relative;border-top:1px solid var(--line);background:var(--accent);margin-inline:calc(-1 * var(--gutter));padding:42px var(--gutter) 65px}.contact-title{font-size:clamp(70px,12vw,190px);margin:35px 0}.email{font-size:clamp(16px,2.3vw,34px);display:inline-block;border-bottom:1px solid;padding-bottom:10px;overflow-wrap:anywhere}.footer{padding-block:24px;display:flex;justify-content:space-between;gap:20px;font:11px/1.5 var(--mono)}.footer button{border:0;background:none;text-decoration:underline;cursor:pointer;padding:0}.footer a{text-decoration:underline}.project-head{padding-block:35px 50px}.back{font:12px/1.5 var(--mono);display:inline-block;margin-bottom:45px;text-decoration:underline;text-underline-offset:5px}.project-head h1{font-size:clamp(75px,11vw,175px)}.project-description{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px}.project-description p{max-width:610px;font-size:18px}.project-description dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;font:13px/1.5 var(--mono)}.project-description dt{color:var(--muted)}.project-description dd{margin:0}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px}.gallery figure{margin:0}.gallery .wide{grid-column:1/-1}.gallery img{object-fit:contain}.gallery figcaption{font:11px/1.5 var(--mono);color:var(--muted);padding-top:12px}.source-note{border-top:1px solid var(--line);font-size:13px;max-width:820px;margin-block:48px 70px;padding-top:20px;color:var(--muted)}.source-note a{text-decoration:underline}.next-project{display:flex;justify-content:space-between;font:700 clamp(36px,5vw,80px)/1 Barlow,Impact,sans-serif;text-transform:uppercase;border-block:1px solid var(--ink);padding:30px 0;margin-bottom:70px}.reveal{animation:arrive .8s ease-out both}@keyframes arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes product-arrive{from{opacity:0;transform:translateY(25px) rotate(11deg)}to{opacity:1;transform:translateY(0) rotate(7deg)}}body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html:has(body.reduce-motion){scroll-behavior:auto}

@media(max-width:1000px){.hero-stage{min-height:460px}.hero h1{font-size:14vw}.hero-product{top:4%;width:48%}.hero-bottom{gap:24px;grid-template-columns:1.5fr 1fr}.explore{display:none}.nav{gap:20px}.approach{grid-template-columns:1fr 3fr;gap:30px}.about{gap:35px}}
@media(max-width:767px){.preview-note{font-size:9px;padding-block:10px}.header-inner{min-height:88px}.wordmark{font-size:25px}.wordmark small{font-size:10px;margin-top:7px}.menu-button{display:block;font:12px/1.5 var(--mono)}.nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--accent);padding:20px var(--gutter) 30px;border-bottom:1px solid}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:5px}.nav a{font-size:20px}.hero{padding-top:16px;padding-bottom:28px}.hero-kicker{font-size:9px}.hero-kicker span:last-child{max-width:110px;text-align:right}.hero-stage{min-height:0;display:block;padding-top:28px}.hero h1{font-size:17.3vw;line-height:.95;padding:0;z-index:2}.hero-product{position:relative;top:auto;right:auto;width:92%;margin:-12px -5% 0 auto;z-index:1}.hero-product figcaption{font-size:12px;margin-top:9%}.registration{top:40%;bottom:12%;right:0;font-size:19px}.hero-bottom{grid-template-columns:1fr;gap:24px;margin-top:30px}.hero-cta>span{width:50px;height:50px;font-size:34px}.hero-cta{gap:14px}.hero-cta b{font-size:17px}.hero-bottom p{font-size:14px;max-width:280px}.section-top{font-size:9px;margin-bottom:25px;padding-top:16px}#progetti{padding-top:38px}.works-title{font-size:58px;margin-bottom:28px}.bora-spread{grid-template-columns:1fr}.bora-spread img+img{display:none}.project-meta{padding:18px 0}.project-meta h3{font-size:32px}.project-meta p{font-size:9px}.dulac-project{margin:45px 0 55px}.dulac-project img{min-height:250px;object-fit:cover;object-position:center}.approach{grid-template-columns:1fr;gap:25px;padding-top:38px;padding-bottom:48px}.approach h2{font-size:51px}.intro,.about p{font-size:16px}.intro{margin-top:22px}.services{margin-top:28px}summary{font-size:29px;padding:20px 0}details p{font-size:15px;padding-right:15px}.about{grid-template-columns:1fr;gap:28px;padding-block:48px}.about h2{font-size:68px}.contact{padding-block:35px 45px}.contact-title{font-size:16vw;margin:27px 0}.email{font-size:16px}.footer{flex-wrap:wrap;font-size:10px}.project-head{padding-block:25px 35px}.back{margin-bottom:30px}.project-head h1{font-size:64px}.project-description{grid-template-columns:1fr;gap:28px;margin-top:26px}.project-description p{font-size:16px}.gallery{grid-template-columns:1fr;gap:26px}.gallery .wide{grid-column:auto}.source-note{margin-block:32px 45px}.next-project{font-size:34px;margin-bottom:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.contact::before{content:"";position:absolute;top:-2px;left:var(--gutter);height:3px;width:96px;background:var(--brand-gradient)}
@media(max-width:767px){.wordmark{font-size:23px;gap:9px}.wordmark img{width:40px;height:40px}.wordmark small{font-size:9px}.header-inner{gap:15px}}
/* V4: services, selected work and collaborations each have a distinct place. */
.hero-product img{transform:none;animation:arrive .9s ease-out both}.hero-product figcaption{margin-top:18px;font-size:10px}.hero-product{top:4%;right:0;width:44%}.service-section{padding-block:65px 90px}.section-heading{display:grid;grid-template-columns:1.8fr 1fr;gap:50px;align-items:end;margin-bottom:48px}.section-heading h2{font-size:clamp(60px,7.5vw,112px)}.section-heading>p{font-size:16px;line-height:1.6;max-width:330px;padding-bottom:7px}.service-workbench{display:grid;grid-template-columns:minmax(220px,1fr) 3.1fr;gap:45px}.service-index{display:flex;flex-direction:column;align-self:start;border-top:1px solid var(--line)}.service-index a{position:relative;display:grid;grid-template-columns:22px 1fr 20px;gap:10px;align-items:baseline;padding:27px 0;border-bottom:1px solid var(--line)}.service-index a>span:first-child{font:11px/1.5 var(--mono);color:var(--muted)}.service-index b{font:700 29px/1.05 Barlow,Impact,sans-serif;text-transform:uppercase}.service-arrow{font-size:21px}.service-index a[aria-selected="true"]::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--brand-gradient)}.service-index a[aria-selected="false"]{color:var(--muted)}.service-panel{background:transparent;display:grid;grid-template-columns:1.35fr 1fr;gap:32px;align-items:center}.service-panel[hidden]{display:none}.service-panel figure{margin:0}.service-panel figure img{width:100%;aspect-ratio:1;object-fit:contain;background:transparent;mix-blend-mode:multiply}.service-panel figcaption{font:9px/1.5 var(--mono);margin-top:14px;color:var(--muted)}.service-description h3{font-size:44px;margin:22px 0;line-height:1.02}.service-description>p:not(.section-label){font-size:15px;line-height:1.75}.text-link{display:inline-flex;align-items:center;gap:22px;border-bottom:1px solid var(--ink);padding:12px 0;font-size:13px;font-weight:600;margin-top:22px;min-height:44px}.service-panel+.service-panel{margin-top:40px}.service-panels[data-ready] .service-panel{margin-top:0;animation:arrive .35s ease-out both}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 35px;margin-bottom:100px}.portfolio-image{overflow:hidden;background:#f5f4f2}.portfolio-image img{aspect-ratio:4/3;object-fit:cover;transition:transform .6s ease}.portfolio-item .project-meta h3{font-size:38px}.collaborations{padding-block:15px 90px}.brand-row{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;align-items:center;padding:45px 35px;border-block:1px solid var(--line)}.brand-row figure{margin:0;display:flex;align-items:center;justify-content:center}.brand-row img{width:100%;max-width:240px;height:92px;object-fit:contain;filter:grayscale(1)}
@media(max-width:1100px){.service-workbench{grid-template-columns:210px 1fr;gap:28px}.service-panel{grid-template-columns:1fr;gap:22px}.service-description h3{font-size:40px;margin:12px 0}.service-index b{font-size:26px}.service-description{max-width:600px}.nav{gap:20px}}
@media(max-width:767px){.hero-product{width:92%;top:auto;right:auto}.hero-product figcaption{font-size:9px;max-width:280px;margin:14px auto 0}.service-section{padding-block:40px 55px}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.section-heading h2{font-size:58px}.section-heading>p{font-size:15px}.service-workbench{grid-template-columns:1fr;gap:28px}.service-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.service-index a{grid-template-columns:1fr;gap:9px;padding:17px 8px 18px 0;align-content:start}.service-index b{font-size:20px}.service-arrow{display:none}.service-panel{gap:23px}.service-panel figure img{aspect-ratio:1}.service-panel figcaption{font-size:9px}.service-description h3{font-size:39px}.service-description>p:not(.section-label){font-size:16px}.service-description .text-link{margin-top:14px}.portfolio-grid{grid-template-columns:1fr;gap:36px;margin-bottom:55px}.portfolio-item .project-meta h3{font-size:32px}.collaborations{padding-bottom:48px}.brand-row{gap:25px;padding:25px 0}.brand-row img{height:55px}.nav a{font-size:20px}}
@media(prefers-reduced-motion:reduce){.hero-product img,.service-panels[data-ready] .service-panel{animation:none}}

@media(max-width:767px){.service-index a{min-width:0}.service-index b{overflow-wrap:anywhere}}

.service-short{display:none}
@media(max-width:767px){.service-full{display:none}.service-short{display:block}.service-index b{overflow-wrap:normal}}

/* Ritratto originale dalla sezione Chi sono del portfolio. */
.about{grid-template-columns:.85fr 1.15fr;align-items:center}.about-portrait{margin:0;max-width:500px}.about-portrait img{aspect-ratio:4/5;object-fit:cover;object-position:center bottom}.about-copy h2{margin-bottom:35px}
@media(max-width:767px){.about{grid-template-columns:1fr}.about-portrait{max-width:none}.about-copy h2{margin-bottom:28px}}

/* V6: a unified illustrative studio scene using the supplied design artwork. */
.hero-kicker span:last-child{max-width:none;white-space:nowrap}
.hero-stage{display:grid;grid-template-columns:1fr 1.05fr;gap:12px;min-height:0;padding-block:55px 35px;align-items:center}
.hero h1{font-size:clamp(60px,8.6vw,148px);padding:0;line-height:.95}
.hero-product{position:relative;top:auto;right:auto;width:100%;margin:0;min-width:0}
.hero-composition{position:relative;background:transparent;line-height:0}
.hero-composition .hero-studio{position:static;width:100%;height:auto;transform:none;animation:none;mix-blend-mode:normal;box-shadow:none}
.hero-product figcaption{margin:26px 0 0;padding:0;font-size:9px;text-align:right}
.hero-bottom{padding-top:18px;padding-bottom:14px}
.service-section{background:linear-gradient(110deg,#f4d4bc 0%,#edc9e3 35%,#d6cbe9 65%,#c2e5eb 100%);margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter)}
.service-index a[aria-selected="true"]::after{height:4px}
.approach{border-top:5px solid transparent;border-image:var(--brand-gradient) 1}
.contact{background:linear-gradient(110deg,#f4d4bc 0%,#edc9e3 35%,#d6cbe9 65%,#c2e5eb 100%);border-top:0;padding-block:60px 70px}
.contact::before{height:6px;width:auto;left:0;right:0;top:0}
.contact-title{font-size:clamp(65px,9.4vw,160px);margin:30px 0}
.contact-copy{max-width:520px;font-size:18px;margin-bottom:30px}
@media(max-width:767px){.hero-kicker{gap:8px;font-size:8px}.hero-stage{display:block;padding-block:32px 15px}.hero h1{font-size:18vw}.hero-product{width:100%;margin:30px 0 0}.hero-product figcaption{font-size:8px;max-width:none;margin-top:22px}.hero-bottom{margin-top:12px;gap:24px}.hero-bottom p{max-width:none}.contact{padding-block:40px 48px}.contact-title{font-size:14.5vw}.contact-copy{font-size:16px}.section-heading h2{font-size:clamp(46px,12.5vw,58px)}}
#servizio-grafica figure img{aspect-ratio:auto}

#servizio-editoria figure img{aspect-ratio:auto;mix-blend-mode:normal}

/* Clip only the service image to its product silhouettes; preserve original print colours. */
#servizio-packaging figure img{mix-blend-mode:normal;-webkit-mask:url("assets/bora-rose-mask.svg") center/100% 100% no-repeat;mask:url("assets/bora-rose-mask.svg") center/100% 100% no-repeat}

.footer-identity{display:flex;flex-direction:column;gap:5px}.footer{align-items:center}

.preview-note{justify-content:flex-end}.icon-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0}.hero-cta .icon-arrow{width:.75em;height:.75em}
