@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;500;600;700&family=Raleway:wght@300;400;500;600;700&display=swap");
:root{--black:#0b0c0b;--ink:#141514;--paper:#f3f2ee;--grey:#d8d7d2;--muted:#777873;--gold:#c5a04a;--line:rgba(20,21,20,.16);--edge:clamp(24px,6vw,92px);--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{background:var(--black);scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}
.company-nav{position:fixed;inset:0 0 auto;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:88px;padding:0 var(--edge);color:#f4f2ed;background:linear-gradient(180deg,rgba(5,6,5,.84),rgba(5,6,5,.08));border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(15px)}
.company-brand{display:flex;align-items:center;gap:13px;width:max-content}.company-brand img{width:36px;height:36px;object-fit:contain}.company-brand span{display:grid}.company-brand strong{font-size:1rem;font-weight:300;letter-spacing:-.03em}.company-brand small{color:rgba(255,255,255,.55);font-size:.55rem;text-transform:uppercase;letter-spacing:.1em}
.company-nav__links{display:flex;gap:32px}.company-nav__links a{color:rgba(255,255,255,.62);font-size:.7rem;transition:color .2s ease}.company-nav__links a:hover,.company-nav__links a[aria-current=page]{color:#fff}.company-menu-button{justify-self:end;width:42px;height:42px;border:0;background:transparent;color:inherit;cursor:pointer}.company-menu-button span{display:block;width:24px;height:1px;margin:6px auto;background:currentColor}
.company-hero{position:relative;min-height:94svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--black);color:#f4f2ed}.company-hero__media,.company-hero__media img{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:cover}.company-hero__media img{animation:settle 1.6s var(--ease) both}.company-hero__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,8,7,.9),rgba(7,8,7,.28) 65%),linear-gradient(0deg,rgba(7,8,7,.78),transparent 58%)}.company-hero__copy{position:relative;z-index:2;width:min(780px,90vw);padding:160px var(--edge) clamp(72px,10vh,120px)}.company-kicker{color:var(--gold);font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.company-hero h1,.company-intro h2,.company-image-split h2,.company-team h2,.company-outro h2{margin:18px 0 0;font-weight:300;letter-spacing:-.055em;line-height:.91}.company-hero h1{font-size:clamp(4.2rem,10vw,9.5rem)}.company-hero h1 em{font-style:normal;color:var(--gold)}.company-hero p{max-width:48ch;margin:34px 0 34px;color:rgba(255,255,255,.72);font-size:1.02rem;line-height:1.65}
.company-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid rgba(20,21,20,.55);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.09em;transition:background .2s ease,color .2s ease,border-color .2s ease}.company-button:hover{background:var(--gold);border-color:var(--gold);color:var(--black)}.company-button--gold{background:var(--gold);border-color:var(--gold);color:var(--black)}
.company-intro{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:clamp(48px,10vw,160px);padding:clamp(100px,13vw,190px) var(--edge);background:var(--paper)}.company-intro h2{font-size:clamp(3.2rem,6.5vw,7rem)}.company-intro__copy{max-width:58ch;padding-top:34px}.company-intro__copy p{margin:0;color:#4f514d;font-size:1rem;line-height:1.85}.company-intro__copy p+p{margin-top:28px}
.company-image-split{display:grid;grid-template-columns:1.15fr .85fr;min-height:700px;background:var(--black);color:#f4f2ed}.company-image-split figure{margin:0;min-height:600px;overflow:hidden}.company-image-split figure img{width:100%;height:100%;object-fit:cover;transition:scale 1s var(--ease)}.company-image-split:hover figure img{scale:1.02}.company-image-split__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(64px,8vw,128px) var(--edge)}.company-image-split h2{font-size:clamp(3.1rem,5.6vw,6rem)}.company-image-split p{max-width:44ch;margin:30px 0 0;color:rgba(255,255,255,.62);line-height:1.75}.company-image-split ul{display:grid;gap:12px;margin:36px 0 0;padding:0;list-style:none}.company-image-split li{padding-top:13px;border-top:1px solid rgba(255,255,255,.18);font-size:.78rem;color:rgba(255,255,255,.78)}
.company-team{padding:clamp(100px,12vw,180px) var(--edge);background:var(--grey)}.company-team h2{font-size:clamp(3.2rem,6.5vw,7rem)}.company-team__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:72px}.company-team article{min-width:0}.company-team article .company-team__portrait img{width:100%;aspect-ratio:1/1.12;object-fit:cover;filter:grayscale(1);transition:filter .4s ease,scale .7s var(--ease)}.company-team article:hover .company-team__portrait img{filter:grayscale(0);scale:1.015}.company-team article div{padding-top:16px}.company-team article span{color:#73746e;font-size:.6rem;text-transform:uppercase;letter-spacing:.12em}.company-team h3{margin:8px 0 0;font-size:1.1rem;font-weight:400;letter-spacing:-.03em}.company-team p{margin:5px 0 0;color:#73746e;font-size:.75rem}
.company-outro{padding:clamp(100px,13vw,190px) var(--edge);background:var(--gold)}.company-outro h2{font-size:clamp(4rem,9vw,9rem)}.company-outro p{max-width:48ch;margin:32px 0 34px;color:rgba(11,12,11,.7);line-height:1.75}.company-outro .company-button{border-color:var(--black)}.company-footer{display:flex;justify-content:space-between;gap:24px;padding:32px var(--edge);background:var(--black);color:rgba(255,255,255,.58);font-size:.66rem}.company-footer a{color:var(--gold)}
.company-menu{position:fixed;inset:0;z-index:40;display:grid;grid-template-rows:auto 1fr auto;padding:34px var(--edge);background:rgba(11,12,11,.98);color:#f4f2ed;opacity:0;visibility:hidden;overflow-y:auto;transition:opacity .22s ease,visibility .22s ease}.menu-open .company-menu{opacity:1;visibility:visible}.company-menu__top,.company-menu__foot{display:flex;justify-content:space-between;gap:24px;color:rgba(255,255,255,.56);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.company-menu__top button{border:0;background:transparent;color:#fff;cursor:pointer;text-transform:uppercase;font-size:.65rem}.company-menu nav{align-self:center;display:grid;width:min(900px,100%);margin:auto}.company-menu nav a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.16);font-size:clamp(2.4rem,6vw,6rem);font-weight:300;letter-spacing:-.05em;line-height:1;transition:color .2s ease,padding-left .3s var(--ease)}.company-menu nav a:hover,.company-menu nav a[aria-current=page]{padding-left:18px;color:var(--gold)}.reveal{opacity:0;translate:0 26px;transition:opacity .7s var(--ease),translate .7s var(--ease)}.reveal.is-visible{opacity:1;translate:0 0}@keyframes settle{from{opacity:.3;scale:1.06}to{opacity:1;scale:1.01}}
@media(max-width:900px){.company-nav{grid-template-columns:1fr auto}.company-nav__links{display:none}.company-intro{grid-template-columns:1fr}.company-intro__copy{padding-top:0}.company-image-split{grid-template-columns:1fr}.company-image-split figure{min-height:min(100vw,680px)}.company-team__grid{grid-template-columns:repeat(2,1fr);row-gap:44px}}
@media(max-width:560px){.company-nav{min-height:74px}.company-brand img{width:30px;height:30px}.company-hero{min-height:88svh}.company-hero__copy{padding-bottom:58px}.company-hero h1{font-size:clamp(4rem,21vw,7rem)}.company-hero p{font-size:.95rem}.company-button{width:100%}.company-image-split__copy{padding-block:76px}.company-team__grid{grid-template-columns:1fr}.company-footer{display:grid}.company-menu nav a{font-size:clamp(2.1rem,12vw,3.7rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.reveal{opacity:1;translate:none}}
/* Video hero: same crop and motion treatment as the poster image. */
.company-hero__media video{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:cover}
.company-brand img{width:88px;height:64px;object-fit:contain}
@media(max-width:560px){.company-brand img{width:72px;height:54px}}
.company-brand img{width:76px;height:64px;object-fit:contain}
@media(max-width:560px){.company-brand img{width:62px;height:54px}}

/* Shared brand lockup: never crop or stretch the Emmesse mark. */
.company-brand img{width:78px;height:64px;object-fit:contain;flex:0 0 auto}
@media(max-width:560px){.company-brand img{width:64px;height:52px}}

/* Menu stabile: nessuno spostamento laterale del testo. */
.company-menu nav a:hover,
.company-menu nav a:focus-visible,
.company-menu nav a[aria-current="page"] { padding-left: 0; transform: none; }

/* Definitive hover lock: company menu labels stay anchored. */
.company-menu nav a:hover,
.company-menu nav a:focus-visible,
.company-menu nav a[aria-current="page"] { padding-left: 0 !important; transform: none !important; translate: none !important; }

/* Final no-shift policy: hover may change color, never geometry. */
a:hover, a:focus-visible,
button:hover, button:focus-visible,
summary:hover, summary:focus-visible { transform: none !important; translate: none !important; }
.company-menu nav a:hover, .company-menu nav a:focus-visible { padding-left: 0 !important; }

/* Team portraits: half-bust crop without stretching the source images.
   The portrait wrapper clips the zoom so it can't bleed onto the caption below. */
.company-team__portrait{display:block;aspect-ratio:1/1;overflow:hidden;}
.team-card__portrait img,.company-team__grid article>.company-team__portrait img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 34%;}
.company-team__grid article>.company-team__portrait img{transform:scale(1.28);transform-origin:center 34%;}
.company-team__grid article:hover>.company-team__portrait img{transform:scale(1.33);}

/* Mezzo busto uniforme: ogni scatto ha distanza e inquadratura diverse,
   quindi zoom e posizione sono calibrati singolarmente sulla stessa resa. */
.company-team__grid article:nth-child(1)>.company-team__portrait img{object-position:center 22%;transform:scale(1.9);transform-origin:center 40%;}
.company-team__grid article:nth-child(2)>.company-team__portrait img{object-position:76% 20%;transform:scale(2.25);transform-origin:76% 36%;}
.company-team__grid article:nth-child(3)>.company-team__portrait img{object-position:center 14%;transform:scale(2.55);transform-origin:center 14%;}
.company-team__grid article:nth-child(4)>.company-team__portrait img{object-position:center 12%;transform:scale(1.15);transform-origin:center 12%;}
.company-team__grid article:hover>.company-team__portrait img{scale:1.04;}

/* Shared Luxury Style typography: titles Raleway, body Lato. */
:root { --luxury-display: "Raleway", "Helvetica Neue", Arial, sans-serif; --luxury-body: "Lato", "Helvetica Neue", Arial, sans-serif; }
body, button, input, textarea, select { font-family: var(--luxury-body); }
h1, h2, h3, h4,
.company-nav strong,
.company-menu nav a { font-family: var(--luxury-display); }

/* ---------------- Outro kicker on the gold panel ----------------
   .company-outro paints the section gold, so a gold kicker was invisible
   (1:1 contrast). The label takes the dark ink used by the rest of the block. */
.company-outro .company-kicker { color: rgba(11, 12, 11, .78); }

/* Team page notes: lift the small print to a readable contrast on grey. */
.company-team-page__note span { color: #55564f; }

/* The intro and team chapters are paper/grey: the bright gold label needs the
   darker gold to stay readable there (the dark chapters keep the bright one). */
.company-intro .company-kicker,
.company-team .company-kicker,
.company-team-page__intro .company-kicker { color: #7d6526; }

/* Team captions on the grey panel: lift the grey for comfortable reading. */
.company-team article span,
.company-team p { color: #55564f; }

/* ==================== Scala tipografica allineata alla homepage ====================
   L'hero era a 144px contro gli 86px della home e i titoli di sezione a 130px
   contro 100px. Stessa scala della homepage su tutte le pagine. */
.company-hero h1,
.company-team-page__intro h1 { font-size: clamp(3.2rem, 6vw, 6.35rem); }
.company-hero p { font-size: 1.02rem; }

.company-intro h2,
.company-image-split h2,
.company-team h2,
.company-outro h2 { font-size: clamp(2.8rem, 5.8vw, 6rem); }

/* Rombo prima dei kicker, come nella homepage — mancava su Azienda/Team/Metodo. */
.company-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.company-kicker::before {
  content: "";
  width: 7px;
  height: 7px;
  background: currentColor;
  transform: rotate(45deg);
  flex-shrink: 0;
}

/* Lineetta oro sotto i titoli di sezione, come nella homepage — mancava qui. */
.company-intro h2::after,
.company-image-split h2::after,
.company-team h2::after,
.company-outro h2::after,
.company-team-page__intro h1::after {
  content: "";
  display: block;
  width: 42px;
  height: 2px;
  margin-top: 22px;
  background: var(--gold);
}
/* Il blocco finale ha già lo sfondo oro: la lineetta resta scura per essere visibile. */
.company-outro h2::after {
  background: rgba(11, 12, 11, .78);
}
