/* Marketing Creattivo — 28.10.2026 cohesive enhancements */
.skip-link{position:fixed;left:16px;top:-80px;z-index:1500;background:#fff;color:#111;padding:12px 18px;text-decoration:none;box-shadow:0 8px 25px #0008}
.skip-link:focus{top:12px}
:focus-visible{outline:2px solid #e31b23;outline-offset:4px}
html{scroll-padding-top:86px}
.mobile-navigation[hidden]{display:none!important}
.mobile-navigation{display:none}
body.kiwi-motion .hero-mascot-frame>img:first-child{object-fit:cover}
body.kiwi-motion .hero-authentic-logo{position:absolute;right:16px;bottom:16px;width:clamp(82px,27%,132px);height:auto;aspect-ratio:1;display:flex;justify-content:center;align-items:center;padding:9px;background:rgba(247,244,240,.96);border:1px solid rgba(255,255,255,.8);border-radius:4px;box-shadow:0 14px 34px #0008}
body.kiwi-motion .hero-authentic-logo img{width:100%;height:100%;object-fit:contain}
body.kiwi-motion .hero-bg img{opacity:.045}
/* Client marques: 7 source logos, second aria-hidden sequence for seamless marquee */
body.kiwi-motion .client-ticker{padding:24px 0;border-color:rgba(0,0,0,.12);background:transparent}
body.kiwi-motion .client-ticker .ticker-track{width:max-content;gap:0;animation:clientMarquee 40s linear infinite;align-items:stretch;mask-image:none}
.client-logo-row{display:flex;gap:16px;padding-right:16px;align-items:center;flex:none}
body.kiwi-motion .client-logo-card{flex:none;display:flex;justify-content:center;align-items:center;width:clamp(160px,17vw,228px);height:112px;padding:18px 24px;border:1px solid rgba(0,0,0,.1);border-radius:6px;background:#1c1d1f;box-shadow:0 7px 25px #00000016}
.client-logo-card img{display:block;max-width:100%;max-height:68px;width:auto;height:auto;object-fit:contain;filter:none}
@keyframes clientMarquee{to{transform:translate3d(-50%,0,0)}}
.client-ticker:hover .ticker-track,.client-ticker:focus-within .ticker-track{animation-play-state:paused}
body.kiwi-motion .sectors-title{max-width:760px}
body.kiwi-motion .sectors-copy{max-width:575px}
.dept-label{font-family:var(--fl);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#e31b23;margin:0 0 16px}
.department-note{max-width:1440px;margin:12px auto 0;padding:0 52px;color:rgba(255,255,255,.72);font-family:var(--fl);font-size:10px;letter-spacing:.17em;text-transform:uppercase}
.card-p .pbtn{cursor:pointer}
/* Complete interactive exploded logo, built from original Illustrator vector paths. */
.cs-lead{margin-bottom:32px}
.cs-section .cs-in{max-width:1460px}
.brand3d-experience{--brandred:#d72c29;display:grid;grid-template-columns:minmax(0,1.14fr) minmax(300px,.86fr);min-height:min(780px,calc(100svh - 100px));border:1px solid rgba(255,255,255,.12);border-radius:13px;overflow:hidden;background:#101112;box-shadow:0 40px 120px rgba(0,0,0,.27);isolation:isolate}
.brand3d-visual{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:610px;padding:48px 28px 24px;background:radial-gradient(ellipse 55% 55% at 50% 47%,rgba(147,155,166,.16),transparent 78%),linear-gradient(137deg,#1e2022,#090a0b 66%);overflow:hidden;perspective:900px}
.brand3d-visual::after{content:"";position:absolute;inset:auto 12% 14% 12%;height:12%;background:radial-gradient(ellipse at center,rgba(0,0,0,.8),transparent 66%);filter:blur(12px);pointer-events:none}
.brand3d-light{position:absolute;inset:0;background:linear-gradient(125deg,transparent 22%,rgba(255,255,255,.035) 40%,transparent 60%);pointer-events:none}
.brand3d-kicker{position:absolute;top:34px;left:36px;font-family:var(--fl);font-size:10px;letter-spacing:.2em;color:#9ca3af}
.brand3d-graphic{position:relative;z-index:1;width:min(95%,530px);aspect-ratio:1.12;transform-style:preserve-3d;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.brand3d-svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0px 28px 23px #000b)}
.brand3d-piece{cursor:pointer;outline:none;transition:transform .68s cubic-bezier(.2,.75,.18,1),opacity .45s ease,filter .45s ease;transform-box:fill-box;transform-origin:center;opacity:.76}
.brand3d-piece:focus-visible .brand3d-face{stroke:#ffffff;stroke-width:.38px;paint-order:stroke fill}
.brand3d-piece .brand3d-face{filter:drop-shadow(1.2px 1.2px .7px rgba(255,255,255,.12)) drop-shadow(2px 5px 3px rgba(0,0,0,.6))}
.brand3d-piece.brand3d-c{transform:translate(-4px,-3px) rotate(-5deg)}
.brand3d-piece.brand3d-cavalluccio{transform:translate(7px,-2px) rotate(6deg)}
.brand3d-piece.brand3d-accenti{transform:translate(10px,2px) rotate(-10deg)}
.brand3d-experience[data-active="c"] .brand3d-c{transform:translate(-5px,-4px) rotate(-6deg) scale(1.055);opacity:1;filter:drop-shadow(0 0 6px #ffffff25)}
.brand3d-experience[data-active="cavalluccio"] .brand3d-cavalluccio{transform:translate(8px,-2px) rotate(8deg) scale(1.12);opacity:1;filter:drop-shadow(0 0 8px #d72c294d)}
.brand3d-experience[data-active="accenti"] .brand3d-accenti{transform:translate(11px,2px) rotate(-8deg) scale(1.17);opacity:1;filter:drop-shadow(0 0 6px #d72c2966)}
.brand3d-experience[data-active="c"] .brand3d-cavalluccio,.brand3d-experience[data-active="c"] .brand3d-accenti,
.brand3d-experience[data-active="cavalluccio"] .brand3d-c,.brand3d-experience[data-active="cavalluccio"] .brand3d-accenti,
.brand3d-experience[data-active="accenti"] .brand3d-c,.brand3d-experience[data-active="accenti"] .brand3d-cavalluccio{opacity:.42}
.brand3d-experience.brand3d-recompose .brand3d-piece{transform:none;opacity:1}
.brand3d-hint{position:absolute;bottom:23px;left:22px;right:22px;text-align:center;color:#a3a3a3;font-family:var(--fl);font-size:10px;letter-spacing:.1em}
.brand3d-copy{padding:clamp(35px,5vw,82px);display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 100% 0,rgba(215,44,41,.065),transparent 45%),#111213}
.brand3d-copy .sec-eye{font-family:var(--fl);font-size:10px;letter-spacing:.2em;color:#d72c29;margin-bottom:26px}
.brand3d-title{font-family:var(--fd);font-size:clamp(37px,4.2vw,64px);font-weight:850;line-height:.98;letter-spacing:-.015em;text-transform:uppercase;color:#fff;margin:0 0 24px}
.brand3d-description{font-family:var(--fb);font-size:15px;line-height:1.7;color:rgba(244,241,237,.74);min-height:100px}
.brand3d-highlights{margin:22px 0 34px;padding:0;list-style:none;display:grid;gap:11px}
.brand3d-highlights li{padding-left:22px;position:relative;color:rgba(244,241,237,.8);font-size:12px;line-height:1.5}
.brand3d-highlights li::before{content:"";position:absolute;top:7px;left:0;width:7px;height:7px;border-radius:50%;background:var(--red)}
.brand3d-controls{display:grid;gap:8px}
.brand3d-control{display:flex;align-items:center;gap:15px;width:100%;padding:15px 16px;text-align:left;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.025);color:rgba(255,255,255,.78);font-family:var(--fl);font-size:11px;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:background .25s,border-color .25s,color .25s}
.brand3d-control:hover,.brand3d-control[aria-pressed="true"]{border-color:var(--red);background:rgba(215,44,41,.11);color:#fff}
.brand3d-control-number{color:var(--red);font-weight:700}
.brand3d-reset{align-self:flex-start;padding:15px 0 0;border:0;background:none;color:#ddd;cursor:pointer;font-family:var(--fl);letter-spacing:.12em;font-size:10px;text-transform:uppercase}
.brand3d-reset:hover{color:#fff}
.cs-values{padding:70px 24px;background:#171819;border-block:1px solid rgba(255,255,255,.1)}
.cs-values-inner{max-width:920px;margin:auto;text-align:center}
.cs-values-inner h2{font-family:var(--fd);font-size:clamp(30px,5vw,60px);text-transform:uppercase;color:#fff;margin:18px 0}
.cs-values-inner>p:last-child{font-size:15px;color:rgba(255,255,255,.65);line-height:1.7}
/* Team photo-ready cards; no invented portrait assets */
.team-card{padding:0 0 32px;min-height:300px;display:flex;flex-direction:column}
.team-card .team-avatar-photo{width:100%;height:auto;aspect-ratio:1.35;border-radius:0;background:linear-gradient(145deg,#303135,#141618);border:0;border-bottom:1px solid rgba(255,255,255,.1);margin:0 0 26px;color:rgba(255,255,255,.22);font-size:66px;position:relative;overflow:hidden}
.team-avatar-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.26),transparent 55%);pointer-events:none}
.team-avatar-photo .team-photo{width:100%;height:100%;display:block;object-fit:cover;position:absolute;inset:0}
.team-card:hover .team-avatar-photo{background:linear-gradient(145deg,#303135,#141618);color:rgba(255,255,255,.22)}
.team-card .team-name,.team-card .team-role,.team-card .team-body{margin-left:28px;margin-right:28px}
.team-card .team-body{margin-top:0}
@media(max-width:980px){.brand3d-experience{grid-template-columns:1fr}.brand3d-visual{min-height:440px}.brand3d-graphic{max-width:440px}.brand3d-description{min-height:0}.brand3d-copy{padding:40px}}
@media(max-width:768px){
  .mobile-navigation{display:flex;position:fixed;z-index:999;inset:70px 0 auto 0;max-height:calc(100svh - 70px);overflow:auto;padding:22px 24px 30px;flex-direction:column;background:#101112;box-shadow:0 30px 50px #0009;border-bottom:1px solid #333}
  .mobile-navigation a{font-family:var(--fd);font-weight:750;font-size:28px;line-height:1.3;color:#f4f1ed;padding:12px 0;border-bottom:1px solid #ffffff20;text-decoration:none;text-transform:uppercase}
  .mobile-nav-call{margin-top:18px;width:100%;padding:15px;background:var(--red);border:0;color:#fff;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
  .mobile-menu-open{overflow:hidden}
  body.kiwi-motion .client-logo-card{width:165px;height:86px;padding:15px}
  body.kiwi-motion .client-logo-card img{max-height:55px}
  .department-note{padding:0 24px;line-height:1.7}
  .brand3d-experience{border-radius:8px}
  .brand3d-visual{min-height:330px;padding:50px 10px 18px}
  .brand3d-kicker{top:18px;left:16px;font-size:9px}
  .brand3d-graphic{width:min(90%,320px)}
  .brand3d-hint{font-size:9px;bottom:12px}
  .brand3d-copy{padding:30px 22px 34px}
  .brand3d-title{font-size:clamp(34px,9vw,49px)}
  .brand3d-description{font-size:14px}
  .brand3d-control{min-height:50px}
  .team-card .team-avatar-photo{aspect-ratio:1.45}
}
@media(prefers-reduced-motion:reduce){
 .brand3d-graphic,.brand3d-piece,.brand3d-control{transition:none!important}
 .brand3d-experience .brand3d-piece{transform:none!important;opacity:1!important}
 .client-ticker .ticker-track{animation:none!important}
 .client-ticker{overflow-x:auto!important}
 body.kiwi-motion .hero-mascot-frame{transform:none!important}
}
/* Prevent legacy off-screen reveal transforms and decorative rings from widening mobile pages. */
html,body{max-width:100%;overflow-x:clip}
@media(max-width:768px){
  footer{padding:38px 24px}
  .f-in{display:flex;flex-direction:column;align-items:flex-start;gap:22px;min-width:0;width:100%}
  .f-links{max-width:100%;display:flex;flex-wrap:wrap;gap:14px 20px;padding:0}
  .f-copy{max-width:100%;overflow-wrap:anywhere;line-height:1.6}
  .cta-fin{overflow:hidden}
  
}

/* Photo area is a real image slot: replace assets/team/{person}.webp with an authentic portrait. */
.team-avatar-photo .team-photo-fallback{display:flex;align-items:center;justify-content:center;position:absolute;inset:0;color:rgba(255,255,255,.28);font-family:var(--fd);font-size:66px;font-weight:750}
.team-avatar-photo .team-photo[hidden]{display:none!important}
.team-avatar-photo .team-photo:not([hidden]){z-index:1}
.team-avatar-photo::after{z-index:2}
