/* =====================================================================
   WECOMM — wecomm.css v1.0.0
   Blu #0002FA · Crema #F3EFE6 · Helvetica Neue Extend
   Il quarto fratello: quello acceso. Sistema "we + verbo".
   ===================================================================== */

/* ---------- Font — come Turiya: Bricolage + Space Mono ---------- */
@font-face {
	font-family: 'Bricolage';
	src: url('../fonts/Bricolage-Variable.ttf') format('truetype');
	font-weight: 200 800;
	font-display: swap;
}

@font-face {
	font-family: 'Space Mono';
	src: url('../fonts/SpaceMono-Regular.ttf') format('truetype');
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: 'Space Mono';
	src: url('../fonts/SpaceMono-Bold.ttf') format('truetype');
	font-weight: 700;
	font-display: swap;
}

@font-face {
	font-family: 'HN Extend';
	src: url('../fonts/HelveticaNeue-Extend.woff2') format('woff2'),
	     url('../fonts/HelveticaNeue-Extend.woff') format('woff');
	font-weight: 400 800;
	font-display: swap;
}

/* ---------- Tokens ---------- */
:root {
	--blu: #0002FA;
	--blu-deep: #0001C4;
	--bone: #F3EFE6;
	--ink: #0A0A1E;
	--dim: rgba(243, 239, 230, .62);
	--line: rgba(243, 239, 230, .18);
	--line-inv: rgba(0, 2, 250, .16);
	--ff-x: 'Bricolage', 'Helvetica Neue', Arial, sans-serif;
	--ff: 'Bricolage', 'Helvetica Neue', Arial, sans-serif;
	--ff-m: 'Space Mono', ui-monospace, monospace;
	--pad: clamp(18px, 4vw, 60px);
	--header-h: 78px;
	--ease-out: cubic-bezier(.16, 1, .3, 1);
	--ease-snap: cubic-bezier(.72, 0, .18, 1);
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body.wc-body {
	background: var(--blu);
	color: var(--bone);
	font-family: var(--ff);
	font-size: 17px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

body.wc-lock { overflow: hidden; }

img, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }

::selection { background: var(--bone); color: var(--blu); }

::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: var(--blu-deep); }
::-webkit-scrollbar-thumb { background: rgba(243, 239, 230, .35); border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: var(--bone); }

:focus { outline: none; }
:focus-visible { outline: 2px solid var(--bone); outline-offset: 3px; }

/* ---------- Il label "we" ---------- */
.wc-we {
	display: inline-flex;
	align-items: baseline;
	gap: 10px;
	font-family: var(--ff-m);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: .12em;
	text-transform: lowercase;
	margin-bottom: 18px;
}

.wc-we span {
	display: inline-block;
	padding: 4px 10px 6px;
	background: var(--bone);
	color: var(--blu);
	border-radius: 4px;
}

/* ---------- Header ---------- */
.wc-header {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 900;
	height: var(--header-h);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 0 var(--pad);
	transition: background .3s, box-shadow .3s;
}

.wc-header.is-scrolled { background: var(--blu); box-shadow: 0 1px 0 var(--line); }

.wc-header__logo img { height: 20px; width: auto; transition: opacity .25s; }
.wc-header__logo:hover img { opacity: .75; }

.wc-header__nav { display: flex; gap: 26px; }

.wc-header__nav a {
	position: relative;
	font-family: var(--ff-x);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: lowercase;
	padding: 6px 0;
}

.wc-header__nav a::after {
	content: '';
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 2px;
	background: var(--bone);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .3s var(--ease-out);
}

.wc-header__nav a:hover::after { transform: scaleX(1); }

.wc-header__utils { display: flex; align-items: center; gap: 14px; }

.wc-lang { display: flex; font-size: 11px; font-weight: 700; letter-spacing: .1em; }
.wc-lang__item { padding: 6px 7px; color: var(--dim); transition: color .2s; }
.wc-lang__item.is-active { color: var(--bone); }
.wc-lang__item + .wc-lang__item { border-left: 1px solid var(--line); }
.wc-lang__item:hover { color: var(--bone); }

/* CTA — il bottone crema */
.wc-cta {
	display: inline-block;
	padding: 12px 22px;
	background: var(--bone);
	color: var(--blu);
	border-radius: 99px;
	font-family: var(--ff-x);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .04em;
	transition: transform .25s var(--ease-out), box-shadow .25s;
	white-space: nowrap;
}

.wc-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0, 0, 20, .35); }
.wc-cta--big { font-size: clamp(14px, 1.6vw, 19px); padding: 18px 34px; }

.wc-menu-toggle {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--ff-m);
	font-weight: 700;
	font-size: 11px;
	letter-spacing: .2em;
	padding: 10px 0 10px 10px;
}

.wc-menu-toggle__bars { display: inline-flex; flex-direction: column; gap: 5px; }
.wc-menu-toggle__bars i { width: 26px; height: 2px; background: var(--bone); transition: transform .3s var(--ease-snap), width .3s; }

body.wc-menu-open .wc-menu-toggle__bars i:first-child { transform: translateY(3.5px) rotate(45deg); }
body.wc-menu-open .wc-menu-toggle__bars i:last-child { transform: translateY(-3.5px) rotate(-45deg); }
.wc-menu-toggle:hover .wc-menu-toggle__bars i { width: 20px; }

@media (max-width: 1080px) {
	.wc-header__nav { display: none; }
}

/* ---------- Menu overlay ---------- */
.wc-menu {
	position: fixed;
	inset: 0;
	z-index: 1000;
	background: var(--blu-deep);
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	transition: opacity .35s var(--ease-out), visibility 0s linear .35s;
}

.wc-menu.is-open { opacity: 1; visibility: visible; transition: opacity .35s var(--ease-out); }

.wc-menu__inner {
	position: relative;
	z-index: 2;
	height: 100%;
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: clamp(30px, 5vw, 90px);
	align-items: center;
	padding: calc(var(--header-h) + 20px) var(--pad) 60px;
	overflow-y: auto;
}

.wc-menu__nav { display: flex; flex-direction: column; }

.wc-menu__item {
	display: flex;
	align-items: baseline;
	gap: 18px;
	padding: 10px 0;
	font-family: var(--ff-x);
	font-weight: 700;
	font-size: clamp(36px, 6.5vw, 80px);
	line-height: 1;
	text-transform: lowercase;
	letter-spacing: -.02em;
	opacity: 0;
	transform: translateY(26px);
	transition: opacity .5s var(--ease-out), transform .5s var(--ease-out), padding-left .3s var(--ease-out), color .2s;
	transition-delay: calc(var(--i, 0) * 60ms);
}

.wc-menu.is-open .wc-menu__item { opacity: 1; transform: none; }

.wc-menu__item em {
	font-style: normal;
	font-family: var(--ff-m);
	font-weight: 700;
	font-size: 13px;
	color: var(--dim);
}

.wc-menu__item:hover { padding-left: 16px; color: rgba(243, 239, 230, .75); }

.wc-menu__side {
	display: flex;
	flex-direction: column;
	gap: 30px;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .5s var(--ease-out) .25s, transform .5s var(--ease-out) .25s;
}

.wc-menu.is-open .wc-menu__side { opacity: 1; transform: none; }

.wc-menu__label {
	font-family: var(--ff-m);
	font-weight: 700;
	font-size: 10px;
	letter-spacing: .24em;
	color: var(--dim);
	margin-bottom: 12px;
}

.wc-onair__frame { border-radius: 12px; overflow: hidden; background: rgba(0, 0, 20, .3); }
.wc-onair__frame iframe { width: 100%; height: 152px; border: 0; display: block; }

.wc-menu__socials { display: flex; flex-direction: column; gap: 8px; }
.wc-menu__socials a { font-family: var(--ff-x); font-weight: 600; font-size: 17px; transition: padding-left .25s var(--ease-out), opacity .2s; }
.wc-menu__socials a:hover { padding-left: 8px; opacity: .8; }

.wc-menu__mail { display: inline-block; font-family: var(--ff-x); font-weight: 700; font-size: 18px; border-bottom: 2px solid var(--bone); padding-bottom: 2px; margin-bottom: 14px; }
.wc-menu__mail:hover { opacity: .8; }

.wc-menu__we {
	position: absolute;
	right: -6vw; bottom: -12vh;
	width: clamp(280px, 38vw, 640px);
	opacity: .1;
	border-radius: 30px;
	pointer-events: none;
	transform: rotate(-8deg) scale(.9);
	transition: transform 1s var(--ease-out);
}

.wc-menu.is-open .wc-menu__we { transform: rotate(-8deg) scale(1); }

@media (max-width: 960px) {
	.wc-menu__inner { grid-template-columns: 1fr; align-items: start; }
	.wc-menu__item { font-size: clamp(32px, 9vw, 54px); }
}

/* ---------- Hero — come il wecomm attuale: gradient blu su reel di foto ---------- */
.wc-hero {
	position: relative;
	min-height: 100vh;
	min-height: 100svh;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: var(--header-h) var(--pad) clamp(50px, 8vh, 90px);
	overflow: hidden;
	background: var(--blu);
}

.wc-hero__reel { position: absolute; inset: 0; }

.wc-hero__slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity .35s ease;
}

.wc-hero__slide.is-on { opacity: 1; }

.wc-hero__grad {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 2, 250, 0) 0%, rgba(0, 2, 250, .35) 55%, var(--blu) 100%);
}

.wc-hero__grad::after {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--blu);
	mix-blend-mode: color;
	opacity: .35;
}

.wc-hero__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	text-align: left;
	margin-left: auto;
	max-width: 900px;
}

.wc-hero__word {
	width: min(66vw, 760px);
	height: auto;
	filter: none;
}

.wc-hero__cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(24px, 5vw, 90px);
	margin-top: clamp(22px, 4vh, 40px);
	width: min(66vw, 760px);
}

.wc-hero__col p { margin-bottom: 14px; font-size: clamp(13px, 1.3vw, 17px); line-height: 1.5; }
.wc-hero__col a { border-bottom: 1px solid transparent; transition: border-color .2s; }
.wc-hero__col a:hover { border-color: var(--bone); }

.wc-hero__cta {
	display: inline-block;
	font-family: var(--ff-x);
	font-weight: 700;
	font-size: clamp(15px, 1.6vw, 20px);
	border-bottom: 2px solid var(--bone);
	padding-bottom: 3px;
	margin-bottom: 14px;
	text-align: left;
	transition: opacity .2s, padding-left .25s var(--ease-out);
}

.wc-hero__cta:hover { opacity: .8; padding-left: 6px; }

.wc-hero__scroll {
	position: absolute;
	left: var(--pad);
	bottom: 26px;
	z-index: 2;
	font-family: var(--ff-m);
	font-weight: 700;
	font-size: 10px;
	letter-spacing: .3em;
	color: var(--dim);
	animation: wc-pulse 2.4s ease-in-out infinite;
}

@media (max-width: 760px) {
	.wc-hero__content { align-items: flex-start; margin-left: 0; }
	.wc-hero__word, .wc-hero__cols { width: 100%; }
	.wc-hero__cols { grid-template-columns: 1fr; gap: 10px; }
}

/* ---------- Intro — la scritta si rivela, poi vanish ---------- */
.wc-intro {
	position: fixed;
	inset: 0;
	z-index: 3000;
	background: var(--blu);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 26px;
}

.wc-intro.is-removed { display: none; }

.wc-intro__word {
	width: min(72vw, 720px);
	overflow: hidden;
	clip-path: inset(0 100% 0 0);
}

.wc-intro__word img {
	width: 100%;
	height: auto;
	transform: translateX(-4%) scale(1.02);
	filter: blur(6px);
}

.wc-intro.is-run .wc-intro__word { animation: wc-wipe 1s var(--ease-snap) .15s forwards; }
.wc-intro.is-run .wc-intro__word img { animation: wc-settle 1s var(--ease-out) .15s forwards; }

@keyframes wc-wipe {
	to { clip-path: inset(0 0 0 0); }
}

@keyframes wc-settle {
	to { transform: none; filter: none; }
}

.wc-intro__line {
	width: min(72vw, 720px);
	height: 3px;
	background: var(--bone);
	transform: scaleX(0);
	transform-origin: left;
}

.wc-intro.is-run .wc-intro__line { animation: wc-line .8s var(--ease-snap) .35s forwards; }

@keyframes wc-line {
	to { transform: scaleX(1); }
}

.wc-intro.is-out {
	transition: opacity .55s var(--ease-out), filter .55s var(--ease-out);
	opacity: 0;
	filter: blur(18px);
}

@keyframes wc-pulse {
	0%, 100% { opacity: .5; }
	50% { opacity: 1; }
}

/* ---------- Sezioni ---------- */
.wc-sec__head { padding: 0 0 clamp(26px, 4vh, 46px); }

.wc-sec__h {
	font-family: var(--ff-x);
	font-weight: 800;
	font-size: clamp(34px, 6.4vw, 96px);
	line-height: .96;
	letter-spacing: -.02em;
	text-transform: uppercase;
	max-width: 18ch;
}

.wc-sec__head--row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	padding-right: var(--pad);
}

.wc-arrows { display: flex; gap: 10px; }

.wc-arrow {
	width: 54px; height: 54px;
	border: 1px solid var(--line);
	border-radius: 50%;
	font-size: 18px;
	transition: background .2s, color .2s, border-color .2s, transform .2s;
}

.wc-arrow:hover { background: var(--bone); color: var(--blu); border-color: var(--bone); transform: translateY(-2px); }

.wc-sec__cta { margin-top: 28px; }

.wc-link {
	font-family: var(--ff-x);
	font-weight: 700;
	font-size: 14px;
	border-bottom: 2px solid var(--bone);
	padding-bottom: 3px;
	transition: opacity .2s, padding-left .25s var(--ease-out);
}

.wc-link:hover { opacity: .75; padding-left: 6px; }

/* WE ARE */
.wc-are { padding: clamp(70px, 12vh, 140px) var(--pad); max-width: 1100px; }

.wc-are__p { margin-top: 20px; font-size: 18px; line-height: 1.6; color: rgba(243, 239, 230, .9); max-width: 820px; }

.wc-are__p--lead {
	font-family: var(--ff-x);
	font-weight: 800;
	font-size: clamp(26px, 3.8vw, 54px);
	line-height: 1.12;
	color: var(--bone);
	letter-spacing: -.018em;
}

/* WE MAKE — strip orizzontale */
.wc-make { padding: clamp(60px, 10vh, 120px) 0 clamp(60px, 10vh, 120px) var(--pad); border-top: 1px solid var(--line); }
.wc-make .wc-sec__cta { padding-right: var(--pad); }

.wc-slider {
	display: flex;
	gap: clamp(20px, 3vw, 46px);
	overflow-x: auto;
	padding: 30px var(--pad) 10px 0;
	scrollbar-width: none;
	cursor: grab;
	scroll-behavior: smooth;
}

.wc-slider::-webkit-scrollbar { display: none; }
.wc-slider.is-grabbing { cursor: grabbing; scroll-behavior: auto; }

.wc-bigslide {
	position: relative;
	flex: 0 0 auto;
	width: min(78vw, 880px);
	padding-bottom: 40px;
}

.wc-bigslide__media {
	overflow: hidden;
	border-radius: 10px;
	aspect-ratio: 16 / 10;
	background: var(--blu-deep);
}

.wc-bigslide__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .8s var(--ease-out);
}

.wc-bigslide:hover .wc-bigslide__media img { transform: scale(1.04); }

.wc-bigslide__title {
	position: absolute;
	left: -8px;
	bottom: 26px;
	z-index: 2;
	font-family: var(--ff-x);
	font-weight: 800;
	font-size: clamp(38px, 6.5vw, 100px);
	line-height: .9;
	letter-spacing: -.02em;
	text-transform: uppercase;
	color: var(--bone);
	text-shadow: 0 8px 40px rgba(0, 0, 30, .45);
	max-width: 95%;
	transition: transform .4s var(--ease-out);
}

.wc-bigslide:hover .wc-bigslide__title { transform: translateX(10px); }

.wc-bigslide__meta {
	position: absolute;
	left: 0;
	bottom: 4px;
	font-family: var(--ff-m);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--dim);
}

.wc-card { cursor: pointer; }

.wc-card__media {
	position: relative;
	overflow: hidden;
	border-radius: 8px;
	background: var(--blu-deep);
	aspect-ratio: 4 / 3;
}

.wc-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .7s var(--ease-out), filter .4s;
}

.wc-card:hover .wc-card__media img { transform: scale(1.045); }

.wc-card__zoom {
	position: absolute;
	right: 14px; bottom: 14px;
	width: 42px; height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--bone);
	color: var(--blu);
	border-radius: 50%;
	font-family: var(--ff-x);
	font-weight: 700;
	font-size: 16px;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity .3s, transform .3s var(--ease-out);
}

.wc-card:hover .wc-card__zoom { opacity: 1; transform: none; }

.wc-card__caption { margin-top: 12px; font-size: 15px; }
.wc-card__caption b { font-family: var(--ff-x); font-weight: 700; }
.wc-card__caption span { color: var(--dim); }

/* WE DO — sezione invertita crema */
.wc-do { padding: clamp(60px, 10vh, 120px) var(--pad); background: var(--bone); color: var(--blu); }

.wc-we--inv span { background: var(--blu); color: var(--bone); }
.wc-we--inv { color: var(--blu); }

.wc-units {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(24px, 3.5vw, 60px);
	margin-top: 10px;
}

.wc-unit { border-top: 3px solid var(--blu); padding-top: 22px; }

.wc-unit__n { font-family: var(--ff-x); font-weight: 700; font-size: 13px; opacity: .55; }

.wc-unit__t {
	font-family: var(--ff-x);
	font-weight: 800;
	font-size: clamp(34px, 4.6vw, 68px);
	letter-spacing: -.01em;
	line-height: 1;
	margin-top: 8px;
}

.wc-unit__s { font-family: var(--ff-x); font-weight: 700; font-size: 14px; margin-top: 6px; opacity: .6; }

.wc-unit__list { margin-top: 22px; }

.wc-unit__list li {
	padding: 11px 0;
	border-bottom: 1px solid var(--line-inv);
	font-size: 16px;
	font-weight: 500;
	transition: padding-left .25s var(--ease-out);
}

.wc-unit__list li:hover { padding-left: 10px; }

@media (max-width: 960px) { .wc-units { grid-template-columns: 1fr; } }

/* WE OWN — sezione crema, righe grandi */
.wc-own {
	padding: clamp(60px, 10vh, 120px) var(--pad);
	background: var(--bone);
	color: var(--blu);
}

.wc-own__intro { margin-top: 22px; max-width: 620px; font-size: 17px; line-height: 1.55; opacity: .78; }

.wc-owns { margin-top: clamp(30px, 5vh, 60px); border-top: 1px solid var(--line-inv); }

.wc-own__row {
	position: relative;
	display: grid;
	grid-template-columns: 60px minmax(180px, 280px) 1fr;
	gap: clamp(20px, 4vw, 60px);
	align-items: center;
	padding: clamp(26px, 4vh, 44px) 0;
	border-bottom: 1px solid var(--line-inv);
	transition: padding-left .4s var(--ease-out);
}

.wc-own__row:hover { padding-left: 16px; }

.wc-own__n {
	font-family: var(--ff-m);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .12em;
	opacity: .45;
	align-self: start;
	padding-top: 6px;
}

.wc-own__mark { display: flex; align-items: center; }

.wc-own__app {
	display: inline-flex;
	width: 96px; height: 96px;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 18px 44px rgba(0, 2, 250, .22);
	transition: transform .35s var(--ease-out);
}

.wc-own__app img { width: 100%; height: 100%; object-fit: cover; }
.wc-own__row:hover .wc-own__app { transform: scale(1.06) rotate(-2deg); }

.wc-own__logo { max-height: 74px; width: auto; max-width: 100%; object-fit: contain; }

.wc-own__type {
	font-family: var(--ff-x);
	font-weight: 800;
	font-size: clamp(28px, 3.2vw, 46px);
	letter-spacing: -.02em;
	text-transform: lowercase;
	line-height: 1;
}

.wc-own__type i { font-style: normal; opacity: .45; }

.wc-own__body { display: flex; flex-direction: column; gap: 8px; max-width: 62ch; }

.wc-own__name {
	font-family: var(--ff-x);
	font-weight: 800;
	font-size: clamp(24px, 3vw, 40px);
	text-transform: lowercase;
	letter-spacing: -.02em;
	line-height: 1;
}

.wc-own__role {
	font-family: var(--ff-m);
	font-weight: 700;
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	opacity: .55;
}

.wc-own__desc { font-size: 16px; line-height: 1.55; opacity: .86; }

.wc-own__cta {
	margin-top: 6px;
	align-self: flex-start;
	font-family: var(--ff-x);
	font-weight: 700;
	font-size: 14px;
	border-bottom: 2px solid var(--blu);
	padding-bottom: 2px;
	transition: opacity .2s;
}

.wc-own__row:hover .wc-own__cta { opacity: .65; }

@media (max-width: 860px) {
	.wc-own__row { grid-template-columns: 34px 1fr; row-gap: 16px; }
	.wc-own__mark { grid-column: 2; }
	.wc-own__body { grid-column: 2; }
	.wc-own__app { width: 74px; height: 74px; border-radius: 18px; }
	.wc-own__logo { max-height: 52px; }
}

/* WE ARE — team */
.wc-team { padding: clamp(60px, 10vh, 120px) 0 clamp(60px, 10vh, 120px) var(--pad); border-top: 1px solid var(--line); }
.wc-team .wc-sec__head { padding-right: var(--pad); }

.wc-founder {
	display: grid;
	grid-template-columns: minmax(280px, 44%) 1fr;
	gap: clamp(24px, 4vw, 70px);
	align-items: start;
	padding-right: var(--pad);
	margin-bottom: clamp(40px, 7vh, 80px);
}

.wc-founder__photo {
	position: relative;
	border-radius: 10px;
	overflow: hidden;
	background: var(--blu-deep);
	aspect-ratio: 4 / 5;
}

.wc-founder__photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); transition: filter .5s, transform .8s var(--ease-out); }
.wc-founder:hover .wc-founder__photo img { filter: none; transform: scale(1.03); }

.wc-founder__ph {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--ff-m);
	font-size: 11px;
	letter-spacing: .2em;
	color: var(--dim);
}

.wc-founder__name {
	font-family: var(--ff-x);
	font-weight: 800;
	font-size: clamp(38px, 6.4vw, 96px);
	line-height: .9;
	letter-spacing: -.025em;
	text-transform: uppercase;
}

.wc-founder__role {
	margin-top: 14px;
	font-family: var(--ff-m);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--dim);
}

.wc-founder__p { margin-top: 18px; font-size: 16px; line-height: 1.6; color: rgba(243, 239, 230, .88); max-width: 62ch; }

.wc-founder__links { display: flex; flex-wrap: wrap; gap: 26px; margin-top: 30px; }

.wc-founder__links a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: var(--ff-x);
	font-weight: 700;
	font-size: 16px;
	border-bottom: 2px solid var(--bone);
	padding-bottom: 3px;
	transition: opacity .2s;
}

.wc-founder__links a em {
	font-style: normal;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px; height: 34px;
	border-radius: 50%;
	background: var(--bone);
	color: var(--blu);
	font-size: 14px;
	transition: transform .25s var(--ease-out);
}

.wc-founder__links a:hover { opacity: .82; }
.wc-founder__links a:hover em { transform: translateX(4px); }

@media (max-width: 860px) { .wc-founder { grid-template-columns: 1fr; } }

.wc-crew {
	display: flex;
	gap: 14px;
	overflow-x: auto;
	padding: 4px var(--pad) 10px 0;
	scrollbar-width: none;
	cursor: grab;
	scroll-behavior: smooth;
}

.wc-crew::-webkit-scrollbar { display: none; }
.wc-crew.is-grabbing { cursor: grabbing; scroll-behavior: auto; }

.wc-crew__card { position: relative; flex: 0 0 auto; width: min(72vw, 340px); }

.wc-crew__photo {
	border-radius: 8px;
	overflow: hidden;
	background: var(--blu-deep);
	aspect-ratio: 3 / 4;
}

.wc-crew__photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); transition: filter .4s, transform .7s var(--ease-out); }
.wc-crew__card:hover .wc-crew__photo img { filter: none; transform: scale(1.04); }

.wc-crew__name {
	margin-top: 14px;
	font-family: var(--ff-x);
	font-weight: 800;
	font-size: clamp(18px, 1.9vw, 24px);
	letter-spacing: -.01em;
}

.wc-crew__role {
	display: inline-block;
	margin-top: 8px;
	padding: 5px 11px;
	border: 1px solid var(--line);
	border-radius: 99px;
	font-family: var(--ff-m);
	font-weight: 700;
	font-size: 10px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--dim);
}

/* Popup candidatura */
.wc-apply {
	position: fixed;
	inset: 0;
	z-index: 2400;
	background: rgba(0, 1, 140, .82);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(12px, 3vw, 40px);
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s var(--ease-out), visibility 0s linear .3s;
	overflow-y: auto;
}

.wc-apply.is-open { opacity: 1; visibility: visible; transition: opacity .3s var(--ease-out); }

.wc-apply__panel {
	position: relative;
	width: min(760px, 100%);
	max-height: 92vh;
	overflow-y: auto;
	padding: clamp(26px, 4vw, 46px);
	background: var(--bone);
	color: var(--blu);
	border-radius: 14px;
	transform: translateY(20px) scale(.98);
	transition: transform .35s var(--ease-out);
	box-shadow: 0 40px 120px rgba(0, 0, 20, .5);
}

.wc-apply.is-open .wc-apply__panel { transform: none; }

.wc-apply__panel .wc-we { color: var(--blu); }
.wc-apply__panel .wc-we span { background: var(--blu); color: var(--bone); }

.wc-apply__close {
	position: absolute;
	top: 16px; right: 16px;
	width: 42px; height: 42px;
	background: var(--blu);
	color: var(--bone);
	border-radius: 50%;
	font-size: 15px;
	font-weight: 700;
	transition: transform .2s;
}

.wc-apply__close:hover { transform: rotate(90deg); }

.wc-apply__h {
	font-family: var(--ff-x);
	font-weight: 800;
	font-size: clamp(26px, 3.6vw, 44px);
	line-height: 1;
	letter-spacing: -.02em;
	text-transform: uppercase;
	margin-bottom: 22px;
}

.wc-apply__note {
	padding: 12px 16px;
	border-radius: 8px;
	margin-bottom: 18px;
	font-size: 14px;
	font-weight: 600;
	border: 1px solid var(--line-inv);
}

.wc-apply__note--ok { background: rgba(0, 2, 250, .08); }
.wc-apply__note--err { background: rgba(255, 0, 0, .07); border-color: rgba(200, 0, 0, .3); }

.wc-apply__form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; }

.wc-field { display: flex; flex-direction: column; gap: 7px; }
.wc-field--full { grid-column: 1 / -1; }

.wc-field span {
	font-family: var(--ff-m);
	font-weight: 700;
	font-size: 10px;
	letter-spacing: .16em;
	text-transform: uppercase;
	opacity: .65;
}

.wc-field input,
.wc-field select,
.wc-field textarea {
	font: inherit;
	color: var(--blu);
	background: transparent;
	border: 0;
	border-bottom: 1px solid rgba(0, 2, 250, .28);
	padding: 8px 0 10px;
	border-radius: 0;
	transition: border-color .2s;
	resize: vertical;
}

.wc-field select { appearance: none; cursor: pointer; }
.wc-field input:focus, .wc-field select:focus, .wc-field textarea:focus { outline: none; border-color: var(--blu); }
.wc-field--file input { border: 1px dashed rgba(0, 2, 250, .35); padding: 12px; border-radius: 8px; font-size: 13px; }

.wc-apply__form .wc-cta {
	grid-column: 1 / -1;
	justify-self: start;
	background: var(--blu);
	color: var(--bone);
	margin-top: 6px;
}

.wc-apply__form .wc-cta:hover { box-shadow: 0 12px 30px rgba(0, 2, 250, .3); }

@media (max-width: 640px) { .wc-apply__form { grid-template-columns: 1fr; } }

/* WE GROW — entra nella squadra */
.wc-join { padding: clamp(60px, 10vh, 120px) var(--pad); border-top: 1px solid var(--line); }

.wc-join__h {
	font-family: var(--ff-x);
	font-weight: 800;
	font-size: clamp(38px, 7.4vw, 112px);
	line-height: .94;
	letter-spacing: -.022em;
	text-transform: uppercase;
	max-width: 14ch;
}

.wc-join__sub { margin-top: 20px; max-width: 560px; font-size: 17px; color: rgba(243, 239, 230, .85); }

.wc-jobs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-top: 44px;
}

.wc-job {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
	min-height: 150px;
	padding: 22px;
	border: 1px solid var(--line);
	border-radius: 8px;
	transition: background .25s, color .25s, transform .25s var(--ease-out), border-color .25s;
}

.wc-job:hover { background: var(--bone); color: var(--blu); border-color: var(--bone); transform: translateY(-4px); }

.wc-job b { font-family: var(--ff-x); font-weight: 800; font-size: clamp(18px, 1.8vw, 24px); line-height: 1.1; }
.wc-job span { font-family: var(--ff-m); font-weight: 700; font-size: 12px; letter-spacing: .1em; }

@media (max-width: 960px) { .wc-jobs { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .wc-jobs { grid-template-columns: 1fr; } }

/* WE WORK WITH — wall */
.wc-with { padding: clamp(60px, 10vh, 120px) var(--pad); border-top: 1px solid var(--line); }

.wc-marquee {
	display: flex;
	flex-direction: column;
	gap: 26px;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	padding: 34px 0;
	overflow: hidden;
}

.wc-marquee__row { overflow: hidden; }

.wc-marquee__track {
	display: inline-flex;
	align-items: center;
	gap: clamp(50px, 7vw, 120px);
	padding-right: clamp(50px, 7vw, 120px);
	white-space: nowrap;
	width: max-content;
	animation: wc-marq 36s linear infinite;
}

.wc-marquee__row--rev .wc-marquee__track { animation-direction: reverse; }
.wc-marquee__row:hover .wc-marquee__track { animation-play-state: paused; }

@keyframes wc-marq {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

.wc-marquee__cell { display: inline-flex; align-items: center; }

.wc-marquee__cell img,
.wc-marquee__logo {
	height: 44px !important;
	width: auto !important;
	max-width: 220px !important;
	object-fit: contain;
	filter: brightness(0) invert(1);
	opacity: .92;
	transition: opacity .25s, transform .3s var(--ease-out);
}

.wc-marquee__cell:hover img { opacity: 1; transform: scale(1.06); }

/* ---------- Works page ---------- */
.wc-page { padding-top: var(--header-h); min-height: 100vh; }

.wc-workshead { padding: clamp(50px, 9vh, 100px) var(--pad) clamp(26px, 4vh, 50px); }

.wc-workshead__h {
	font-family: var(--ff-x);
	font-weight: 800;
	font-size: clamp(40px, 8.5vw, 140px);
	line-height: .98;
	letter-spacing: -.015em;
	text-transform: lowercase;
	max-width: 16ch;
}

.wc-workshead__sub { margin-top: 16px; font-size: 17px; color: var(--dim); }

.wc-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; }

.wc-filter {
	padding: 9px 16px;
	border: 1px solid var(--line);
	border-radius: 99px;
	font-family: var(--ff-x);
	font-weight: 700;
	font-size: 11px;
	letter-spacing: .06em;
	transition: all .2s;
}

.wc-filter:hover { border-color: var(--bone); }
.wc-filter.is-on { background: var(--bone); color: var(--blu); border-color: var(--bone); }

.wc-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(24px, 3.5vw, 56px) clamp(16px, 2.5vw, 40px);
	padding: 10px var(--pad) clamp(70px, 11vh, 130px);
}

.wc-card--grid { width: auto; }
.wc-card--grid .wc-card__media { aspect-ratio: 16 / 11; }
.wc-card.is-hidden { display: none; }

@media (max-width: 760px) { .wc-grid { grid-template-columns: 1fr; } }

/* ---------- Typeform popup ---------- */
.wc-typeform {
	position: fixed;
	inset: 0;
	z-index: 2400;
	background: rgba(0, 1, 140, .8);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(12px, 3vw, 40px);
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s var(--ease-out), visibility 0s linear .3s;
}

.wc-typeform.is-open { opacity: 1; visibility: visible; transition: opacity .3s var(--ease-out); }

.wc-typeform__frame {
	width: min(920px, 100%);
	height: min(86vh, 700px);
	background: var(--bone);
	border-radius: 14px;
	overflow: hidden;
	transform: translateY(20px) scale(.98);
	transition: transform .35s var(--ease-out);
	box-shadow: 0 40px 120px rgba(0, 0, 20, .5);
}

.wc-typeform.is-open .wc-typeform__frame { transform: none; }

.wc-typeform__frame iframe { width: 100%; height: 100%; border: 0; }

.wc-typeform__close {
	position: absolute;
	top: 18px; right: 18px;
	z-index: 2;
	width: 46px; height: 46px;
	background: var(--bone);
	color: var(--blu);
	border-radius: 50%;
	font-size: 16px;
	font-weight: 700;
	transition: transform .2s;
}

.wc-typeform__close:hover { transform: rotate(90deg); }

/* ---------- Footer / WE TALK ---------- */
.wc-footer { border-top: 1px solid var(--line); }

.wc-footer__talk { padding: clamp(60px, 11vh, 130px) var(--pad) clamp(40px, 7vh, 70px); }

.wc-footer__h {
	font-family: var(--ff-x);
	font-weight: 800;
	font-size: clamp(34px, 6.4vw, 96px);
	line-height: .98;
	letter-spacing: -.02em;
	text-transform: uppercase;
	max-width: 16ch;
}

.wc-footer__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 22px;
	margin-top: 34px;
}

.wc-footer__email {
	font-family: var(--ff-x);
	font-weight: 700;
	font-size: clamp(16px, 2vw, 24px);
	border-bottom: 2px solid var(--bone);
	padding-bottom: 3px;
	transition: opacity .2s;
}

.wc-footer__email:hover { opacity: .75; }

.wc-footer__note { margin-top: 18px; font-size: 14px; color: var(--dim); }

.wc-footer__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 26px;
	padding: clamp(30px, 5vh, 50px) var(--pad);
	border-top: 1px solid var(--line);
}

.wc-footer__label {
	font-family: var(--ff-m);
	font-weight: 700;
	font-size: 11px;
	letter-spacing: .16em;
	color: var(--dim);
	margin-bottom: 12px;
}

.wc-footer__col p { margin-bottom: 7px; font-size: 14px; }
.wc-footer__col a { transition: opacity .2s; }
.wc-footer__col a:hover { opacity: .7; }

.wc-footer__base {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	padding: 26px var(--pad) 30px;
	border-top: 1px solid var(--line);
}

.wc-footer__word {
	font-family: var(--ff-x);
	font-weight: 700;
	font-size: clamp(40px, 8vw, 110px);
	line-height: .9;
	text-transform: lowercase;
	letter-spacing: -.01em;
}

.wc-footer__word i { font-style: normal; opacity: .5; }

.wc-footer__sign { font-size: 12px; color: var(--dim); }

@media (max-width: 900px) { .wc-footer__grid { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Doc ---------- */
.wc-pagehead { padding: clamp(40px, 8vh, 80px) var(--pad) 20px; }
.wc-pagehead h1 { font-family: var(--ff-x); font-weight: 700; font-size: clamp(30px, 5vw, 64px); text-transform: lowercase; }

.wc-doc { padding: 16px var(--pad) 100px; max-width: 860px; }
.wc-doc h2, .wc-doc h3 { margin: 32px 0 12px; font-family: var(--ff-x); font-weight: 700; }
.wc-doc p, .wc-doc ul, .wc-doc ol { margin-bottom: 16px; }
.wc-doc ul { list-style: disc; padding-left: 22px; }
.wc-doc a { text-decoration: underline; }

/* ---------- Veil ---------- */
.wc-veil {
	position: fixed;
	inset: 0;
	z-index: 5000;
	background: var(--blu-deep);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .3s var(--ease-out), visibility 0s linear .3s;
}

.wc-veil.is-on { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity .3s var(--ease-out); }

/* ---------- Reveal ---------- */
.wc-vanish { opacity: 0; transform: translateY(24px); transition: opacity .6s var(--ease-out), transform .6s var(--ease-out); }
.wc-vanish.is-in { opacity: 1; transform: none; }

/* ---------- Riduzione movimento ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	.wc-vanish { opacity: 1; transform: none; }
	.wc-ticker span { transition: none; }
	html { scroll-behavior: auto; }
}
