<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="description" content="Mario Tarello - Marketing &amp; Brand Manager | Creative Director | UX Design Lead">
<meta name="keywords" content="Mario Tarello, UX Design, Creative Director, Brand Manager, Marketing">
<meta name="author" content="Mario Tarello">
<meta property="og:title" content="Mario Tarello">
<meta property="og:description" content="Marketing &amp; Brand Manager | Creative Director | UX Design Lead">
<meta property="og:type" content="website">
<meta property="og:url" content="https://www.tarello.it">
<title>Mario Tarello</title>
<link href="https://fonts.googleapis.com/css2?family=Miriam+Libre:wght@400;700&display=swap" rel="stylesheet">
<link rel="icon" href="/favicon.ico" sizes="any">
<style>
*, *::before, *::after { -webkit-box-sizing: border-box; box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --black: #0c0c0c;
  --white: #f0ede8;
  --grey: #888880;
  --client-grey: #2e2e2e;
  --divider: #222222;
  --section-pad: clamp(60px, 10vw, 120px);
  --content-max: 1100px;
  --gutter: clamp(24px, 5vw, 80px);
}

body.light-mode {
  --black: #f5f3ee;
  --white: #1a1a1a;
  --grey: #777770;
  --client-grey: #cccccc;
  --divider: #dddddd;
}

/* THEME TOGGLE */
#theme-toggle {
  position: fixed;
  top: clamp(20px, 3vw, 32px);
  right: clamp(20px, 3vw, 32px);
  z-index: 1002;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
  cursor: pointer !important;
  opacity: 0.5;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

#theme-toggle:hover { opacity: 1; }

.toggle-icon {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1px solid var(--white);
  -webkit-transition: background 0.3s ease, border-color 0.3s ease;
  transition: background 0.3s ease, border-color 0.3s ease;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

body.light-mode .toggle-icon {
  background: var(--white);
}

body.light-mode .toggle-thumb {
  -webkit-transform: translateX(14px);
  transform: translateX(14px);
}

.toggle-track {
  width: 28px;
  height: 14px;
  border-radius: 7px;
  border: 1px solid var(--white);
  position: relative;
  -webkit-transition: border-color 0.3s ease;
  transition: border-color 0.3s ease;
}

.toggle-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--white);
  -webkit-transition: -webkit-transform 0.3s ease, background 0.3s ease;
  transition: transform 0.3s ease, background 0.3s ease;
}

@media (max-width: 767px) {
  #theme-toggle { display: none; }
}

body.light-mode .hero-logo {
  -webkit-filter: invert(1);
  filter: invert(1);
}

html {
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

body {
  scroll-behavior: smooth;
  background: var(--black);
  color: var(--white);
  font-family: 'Miriam Libre', Georgia, serif;
  font-size: clamp(14px, 1.6vw, 16px);
  line-height: 1.7;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition: background 0.6s ease, color 0.6s ease;
  transition: background 0.6s ease, color 0.6s ease;
}

body::after {
  content: '';
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  pointer-events: none;
  z-index: 998;
  opacity: 0.04;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 200px 200px;
}

/* SCROLL BAR */
#scroll-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  height: 10px;
  width: 0%;
  background: var(--white);
  z-index: 1000;
}

/* LAYOUT */
.container {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 var(--gutter);
}

section { padding: var(--section-pad) 0; position: relative; z-index: 1; }

.section-divider {
  width: 100%;
  height: 1px;
  background: var(--divider);
  position: relative;
  overflow: hidden;
}

.section-divider::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 1px;
  width: 0%;
  background: var(--white);
  opacity: 0.25;
  -webkit-transition: width 8s cubic-bezier(0.16, 1, 0.3, 1);
  transition: width 8s cubic-bezier(0.16, 1, 0.3, 1);
}

.section-divider.line-visible::after {
  width: 100%;
}

.section-label {
  font-size: clamp(12px, 1.3vw, 13px);
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--grey);
  margin-bottom: clamp(36px, 5vw, 60px);
}

/* HERO */
#hero {
  padding: clamp(48px, 8vw, 96px) 0 clamp(56px, 9vw, 110px);
}

.hero-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: clamp(18px, 2.5vw, 28px);
}

.hero-identity {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: clamp(32px, 5vw, 56px);
}

.hero-logo {
  width: clamp(36px, 5vw, 52px);
  height: auto;
  opacity: 0;
  -webkit-animation: fadeUp 0.8s ease forwards 0.1s;
  animation: fadeUp 0.8s ease forwards 0.1s;
}

.hero-name {
  font-size: clamp(26px, 4.5vw, 52px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.01em;
  color: var(--white);
  opacity: 0;
  -webkit-animation: fadeUp 0.9s ease forwards 0.3s;
  animation: fadeUp 0.9s ease forwards 0.3s;
}

.hero-title {
  font-size: clamp(13px, 1.8vw, 19px);
  font-weight: 400;
  letter-spacing: 0.01em;
  color: var(--grey);
  line-height: 1.4;
  opacity: 0;
  -webkit-animation: fadeUp 0.9s ease forwards 0.5s;
  animation: fadeUp 0.9s ease forwards 0.5s;
}

/* ABOUT */
.about-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: clamp(28px, 4vw, 48px);
}

@media (min-width: 768px) {
  .about-grid {
    -ms-grid-columns: clamp(100px, 18%, 180px) clamp(40px, 6vw, 80px) 1fr;
    grid-template-columns: clamp(100px, 18%, 180px) 1fr;
    gap: clamp(40px, 6vw, 80px);
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
  }
}

.about-text p {
  font-size: clamp(15px, 1.8vw, 19px);
  line-height: 1.8;
  color: var(--white);
}

.about-text p + p { margin-top: 1.3em; }

/* CLIENTS */
.clients-intro {
  font-size: clamp(13px, 1.4vw, 14px);
  color: var(--grey);
  letter-spacing: 0.06em;
  margin-bottom: clamp(24px, 3.5vw, 40px);
}

.clients-flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-column-gap: clamp(10px, 2vw, 20px);
  -moz-column-gap: clamp(10px, 2vw, 20px);
  column-gap: clamp(10px, 2vw, 20px);
  row-gap: 0;
  line-height: 1.1;
}

.client-name {
  font-size: clamp(22px, 4vw, 42px);
  font-weight: 700;
  color: var(--client-grey);
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
  cursor: default;
  padding-bottom: clamp(4px, 0.8vw, 8px);
  white-space: nowrap;
}

.client-name:hover { color: var(--white); }
.client-name.lit { color: var(--white); }

/* SKILLS */
.skills-grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: clamp(48px, 7vw, 80px);
}

@media (min-width: 768px) {
  .skills-grid {
    -ms-grid-columns: 1fr clamp(40px, 6vw, 100px) 1fr;
    grid-template-columns: 1fr 1fr;
    gap: clamp(40px, 6vw, 100px);
  }
}

.skills-col-title {
  font-size: clamp(20px, 2.4vw, 24px);
  font-weight: 700;
  margin-bottom: clamp(24px, 3.5vw, 36px);
  color: var(--white);
}

.skill-item {
  padding: clamp(18px, 2.5vw, 26px) 0;
  border-top: 1px solid var(--divider);
}

.skill-item:last-child { border-bottom: 1px solid var(--divider); }

.skill-name {
  font-size: clamp(16px, 1.8vw, 18px);
  font-weight: 400;
  margin-bottom: 7px;
  color: var(--white);
}

.skill-desc {
  font-size: clamp(14px, 1.5vw, 16px);
  color: var(--grey);
  line-height: 1.7;
}

/* CAREER */
.career-company {
  padding: clamp(28px, 4.5vw, 52px) 0;
  border-top: 1px solid var(--divider);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: clamp(16px, 2.5vw, 24px);
}

.career-company:last-child { border-bottom: 1px solid var(--divider); }

@media (min-width: 768px) {
  .career-company {
    -ms-grid-columns: clamp(140px, 18%, 210px) clamp(32px, 5vw, 64px) 1fr;
    grid-template-columns: clamp(140px, 18%, 210px) 1fr;
    gap: clamp(32px, 5vw, 64px);
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
  }
}

.career-company-name {
  font-size: clamp(20px, 2.4vw, 24px);
  font-weight: 700;
  color: var(--white);
  line-height: 1.2;
  padding-top: 2px;
}

.career-roles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: clamp(22px, 3vw, 32px);
}

.career-role {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 5px;
}

.career-period {
  font-size: clamp(12px, 1.2vw, 13px);
  color: var(--grey);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.career-role-title {
  font-size: clamp(16px, 1.8vw, 18px);
  font-weight: 400;
  color: var(--white);
  margin-bottom: 4px;
}

.career-role-desc {
  font-size: clamp(14px, 1.5vw, 16px);
  color: var(--grey);
  line-height: 1.7;
}

/* CONTACT */
#contact { padding-bottom: clamp(64px, 10vw, 128px); }

.contact-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: clamp(14px, 2vw, 18px);
}

@media (min-width: 480px) {
  .contact-links {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: clamp(32px, 5vw, 64px);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.contact-link {
  font-size: clamp(13px, 1.7vw, 16px);
  color: var(--grey);
  text-decoration: none;
  letter-spacing: 0.03em;
  -webkit-transition: color 0.22s ease;
  transition: color 0.22s ease;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 12px;
}

.contact-link::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 1px;
  background: currentColor;
  -webkit-transition: width 0.22s ease;
  transition: width 0.22s ease;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.contact-link:hover { color: var(--white); }
.contact-link:hover::before { width: 30px; }

/* ANIMATIONS */
@-webkit-keyframes fadeUp {
  from { opacity: 0; -webkit-transform: translateY(18px); transform: translateY(18px); }
  to   { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}
@keyframes fadeUp {
  from { opacity: 0; -webkit-transform: translateY(18px); transform: translateY(18px); }
  to   { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}

.reveal {
  opacity: 0;
  -webkit-transform: translateY(22px);
  transform: translateY(22px);
  -webkit-transition: opacity 0.65s ease, -webkit-transform 0.65s ease;
  transition: opacity 0.65s ease, transform 0.65s ease;
}

.reveal.visible { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
.reveal-d1 { -webkit-transition-delay: 0.1s; transition-delay: 0.1s; }
.reveal-d2 { -webkit-transition-delay: 0.2s; transition-delay: 0.2s; }

/* CUSTOM CURSOR */

#cursor {
  position: fixed;
  width: 28px;
  height: 28px;
  border: 1px solid var(--white);
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999;
  top: 0; left: 0;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: width 0.25s ease, height 0.25s ease, border-color 0.25s ease;
  transition: width 0.25s ease, height 0.25s ease, border-color 0.25s ease;
  opacity: 0;
  will-change: transform;
}

#cursor.expanded {
  width: 48px;
  height: 48px;
}

@media (max-width: 767px) {
  #cursor { display: none; }
}

/* NAV DOTS */
#nav-dots {
  position: fixed;
  right: clamp(16px, 2.5vw, 28px);
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 1001;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 14px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.nav-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--grey);
  -webkit-transition: background 0.3s ease, -webkit-transform 0.3s ease;
  transition: background 0.3s ease, transform 0.3s ease;
}

.nav-dot.active {
  background: var(--white);
  -webkit-transform: scale(1.8);
  transform: scale(1.8);
}

@media (max-width: 767px) {
  #nav-dots { display: none; }
}
</style>
</head>
<body>

<div id="scroll-bar"></div>
<div id="cursor"></div>
<div id="nav-dots">
  <div class="nav-dot active" data-target="hero"></div>
  <div class="nav-dot" data-target="about"></div>
  <div class="nav-dot" data-target="clients"></div>
  <div class="nav-dot" data-target="skills"></div>
  <div class="nav-dot" data-target="career"></div>
  <div class="nav-dot" data-target="contact"></div>
</div>

<div id="theme-toggle" role="button" aria-label="Toggle light/dark mode">
  <div class="toggle-icon"></div>
  <div class="toggle-track"><div class="toggle-thumb"></div></div>
</div>

<!-- HERO -->
<section id="hero">
  <div class="container">
    <div class="hero-inner">
      <div class="hero-identity">
        <svg class="hero-logo" viewBox="0 0 601.8 600" xmlns="http://www.w3.org/2000/svg" fill="#f0ede8" aria-hidden="true">
          <rect y="216" width="153.8" height="384"/>
          <polygon points="378.7 0 224.9 0 1.8 0 1.8 153.8 224.9 153.8 224.9 600 378.7 600 378.7 153.8 601.8 153.8 601.8 0 378.7 0"/>
          <rect x="448" y="216" width="153.8" height="384"/>
        </svg>
        <h1 class="hero-name">Mario Tarello</h1>
      </div>
      <p class="hero-title">Marketing &amp; Brand Manager&nbsp;&nbsp;|&nbsp;&nbsp;Creative Director&nbsp;&nbsp;|&nbsp;&nbsp;UX Design Lead</p>
    </div>
  </div>
</section>

<div class="section-divider"></div>

<!-- ABOUT -->
<section id="about">
  <div class="container">
    <div class="about-grid">
      <p class="section-label reveal">About</p>
      <div class="about-text reveal reveal-d1">
        <p>Senior professional with <span id="years-counter">0</span>+ years of experience in Creative Direction, Brand Management, User Experience and Marketing Strategy.</p>
        <p>I help companies design user-centered digital experiences that align business goals with creative strategy, integrating UX design, brand identity, and marketing communication across every touchpoint. I lead cross-functional teams and manage complex projects, ensuring consistency from concept to delivery.</p>
        <p>My work spans B2B and B2C industries, with a focus on building strong brand ecosystems and developing marketing strategies that drive engagement, differentiation, and measurable growth.</p>
      </div>
    </div>
  </div>
</section>

<div class="section-divider"></div>

<!-- CLIENTS -->
<section id="clients">
  <div class="container">
    <p class="section-label reveal">Selected Clients</p>
    <p class="clients-intro reveal reveal-d1">I have worked on digital experiences for clients like:</p>
    <div class="clients-flow reveal reveal-d2">
      <span class="client-name">Axa</span>
      <span class="client-name">Coca&#8209;Cola</span>
      <span class="client-name">Enel</span>
      <span class="client-name">Interflora</span>
      <span class="client-name">Intesa Sanpaolo</span>
      <span class="client-name">Kellogg's</span>
      <span class="client-name">Lavazza</span>
      <span class="client-name">Magneti Marelli</span>
      <span class="client-name">Mediaworld</span>
      <span class="client-name">North Sails</span>
      <span class="client-name">Paul &amp; Shark</span>
      <span class="client-name">Polti</span>
      <span class="client-name">Poste Italiane</span>
      <span class="client-name">Pringles</span>
      <span class="client-name">Reale Mutua</span>
      <span class="client-name">Regione Piemonte</span>
      <span class="client-name">Smeg</span>
      <span class="client-name">Telecom Italia</span>
      <span class="client-name">Walt Disney Pictures</span>
      <span class="client-name">Wind</span>
      <span class="client-name">Yamamay</span>
    </div>
  </div>
</section>

<div class="section-divider"></div>

<!-- SKILLS -->
<section id="skills">
  <div class="container">
    <p class="section-label reveal">Skills</p>
    <div class="skills-grid">

      <div class="reveal reveal-d1">
        <h3 class="skills-col-title">Soft Skills</h3>
        <div class="skill-item reveal skill-reveal" style="-webkit-transition-delay:0.05s;transition-delay:0.05s">
          <p class="skill-name">Creative leadership</p>
          <p class="skill-desc">Ability to inspire and guide cross-functional teams, fostering an environment that promotes innovation and collaboration, creating an enjoyable environment where people can have fun while solving hard problems.</p>
        </div>
        <div class="skill-item reveal skill-reveal" style="-webkit-transition-delay:0.12s;transition-delay:0.12s">
          <p class="skill-name">Strategic thinking</p>
          <p class="skill-desc">Strong aptitude for aligning creative concepts with business objectives, market trends, and user needs to drive measurable outcomes.</p>
        </div>
        <div class="skill-item reveal skill-reveal" style="-webkit-transition-delay:0.19s;transition-delay:0.19s">
          <p class="skill-name">Communication &amp; storytelling</p>
          <p class="skill-desc">Skilled in articulating ideas clearly and presenting concepts to stakeholders at all levels, both visually and verbally.</p>
        </div>
        <div class="skill-item reveal skill-reveal" style="-webkit-transition-delay:0.26s;transition-delay:0.26s">
          <p class="skill-name">Problem-solving</p>
          <p class="skill-desc">Identifying design or process challenges and finding data-driven, user-focused solutions.</p>
        </div>
        <div class="skill-item reveal skill-reveal" style="-webkit-transition-delay:0.33s;transition-delay:0.33s">
          <p class="skill-name">Team collaboration</p>
          <p class="skill-desc">Cooperative mindset for working closely with designers, developers, marketers and manage relationships at C-level, as well as to collaborate with all levels of the organization.</p>
        </div>
        <div class="skill-item reveal skill-reveal" style="-webkit-transition-delay:0.4s;transition-delay:0.4s">
          <p class="skill-name">Project Management</p>
          <p class="skill-desc">Define project goals, set clear milestones, and allocate resources effectively to ensure timely and successful project delivery.</p>
        </div>
      </div>

      <div class="reveal reveal-d2">
        <h3 class="skills-col-title">Tech Skills &amp; Knowledge</h3>
        <div class="skill-item reveal skill-reveal" style="-webkit-transition-delay:0.05s;transition-delay:0.05s">
          <p class="skill-name">Branding</p>
          <p class="skill-desc">Strong expertise in branding, corporate identity, and strategic communication, with a focus on crafting positioning strategies, visual systems, and compelling narratives to elevate brand presence and engagement.</p>
        </div>
        <div class="skill-item reveal skill-reveal" style="-webkit-transition-delay:0.12s;transition-delay:0.12s">
          <p class="skill-name">Design &amp; prototyping tools</p>
          <p class="skill-desc">Proficiency in Adobe Creative Suite (Photoshop, Illustrator, InDesign, XD) and Figma. Pixel-perfect maniac.</p>
        </div>
        <div class="skill-item reveal skill-reveal" style="-webkit-transition-delay:0.19s;transition-delay:0.19s">
          <p class="skill-name">UX &amp; UI methodologies</p>
          <p class="skill-desc">Strong experience with user research, journey mapping, wireframing, prototyping, and usability testing to create user-centric solutions for B2C and B2B.</p>
        </div>
        <div class="skill-item reveal skill-reveal" style="-webkit-transition-delay:0.26s;transition-delay:0.26s">
          <p class="skill-name">Video production &amp; editing</p>
          <p class="skill-desc">Experienced in end-to-end video production, from concept to post-production, using Adobe Premiere, After Effects and Generative AI tools.</p>
        </div>
        <div class="skill-item reveal skill-reveal" style="-webkit-transition-delay:0.33s;transition-delay:0.33s">
          <p class="skill-name">Presentation design &amp; delivery</p>
          <p class="skill-desc">Expertise in creating high-impact, visually engaging presentations with compelling storytelling techniques, ensuring clarity, engagement, and emotional impact.</p>
        </div>
        <div class="skill-item reveal skill-reveal" style="-webkit-transition-delay:0.4s;transition-delay:0.4s">
          <p class="skill-name">Events management</p>
          <p class="skill-desc">Experienced in planning and executing corporate events with a strong focus on visual identity, branding, content strategy, and supplier management.</p>
        </div>
      </div>

    </div>
  </div>
</section>

<div class="section-divider"></div>

<!-- CAREER -->
<section id="career">
  <div class="container">
    <p class="section-label reveal">Career</p>
    <div class="career-list">

      <div class="career-company reveal">
        <div class="career-company-name">RGI Group</div>
        <div class="career-roles">
          <div class="career-role">
            <span class="career-period">Feb 2025 – Present</span>
            <span class="career-role-title">Head of Marketing &amp; External Communication</span>
            <span class="career-role-desc">Driving the Brand and Marketing Strategy ensuring full alignment with the company's business goals and long-term growth ambitions. Reporting directly to the Group CEO.</span>
          </div>
          <div class="career-role">
            <span class="career-period">Jan 2024 – Feb 2025</span>
            <span class="career-role-title">Head of Insurance Digital Agency</span>
            <span class="career-role-desc">IDA is the RGI's full-service Insurance Digital Agency that provides a broad range of innovative digital services tailored to the insurance industry. Management of the IDAs team and related activities.</span>
          </div>
          <div class="career-role">
            <span class="career-period">Jan 2013 – Dec 2023</span>
            <span class="career-role-title">Art Director, Lead UX/UI Designer</span>
            <span class="career-role-desc">Management of the UX team in the definition of RGI's strategy in terms of UX and the UI of new products and solutions for internal projects and external customers (EMEA insurance companies). Management, through the multimedia team, the corporate brand identity, the company communication, the internal video production and the external events contents &amp; coordination.</span>
          </div>
        </div>
      </div>

      <div class="career-company reveal">
        <div class="career-company-name">Quid Web &amp; Media</div>
        <div class="career-roles">
          <div class="career-role">
            <span class="career-period">May 2008 – Dec 2012</span>
            <span class="career-role-title">Creative Director</span>
            <span class="career-role-desc">As an official Telecom Italia partner, Quid Web &amp; Media provides web solutions, advertising, brand identity and communication strategies to large Italian companies. Helping customers define winning strategies across Brand Identity, Online and Traditional Advertising, Websites, Intranets and Web Portals, Mobile and desktop UX/UI, Interactive ADV, Social Media Campaigns.</span>
          </div>
        </div>
      </div>

      <div class="career-company reveal">
        <div class="career-company-name">Wind</div>
        <div class="career-roles">
          <div class="career-role">
            <span class="career-period">May 2002 – May 2008</span>
            <span class="career-role-title">Web Designer &amp; Advertising Consultant</span>
            <span class="career-role-desc">UX &amp; UI of Libero.it, secondary channels and company websites. Promotion of the Wind/Infostrada offering. Strong experience in multimedia ads and rich media for internal brands and external customers: Coca-Cola, Columbia Pictures, Enel, Esercito Italiano, Kellogg, Lavazza, Mediaset, Mediaworld, Radio 105 Network, Walt Disney Pictures.</span>
          </div>
        </div>
      </div>

      <div class="career-company reveal">
        <div class="career-company-name">Italiaonline</div>
        <div class="career-roles">
          <div class="career-role">
            <span class="career-period">May 2001 – May 2002</span>
            <span class="career-role-title">Multimedia Designer &amp; Flash Developer</span>
            <span class="career-role-desc">Design and implementation of multimedia solutions &amp; interactive advertisements for Infostrada and Italia On Line, the first Italian web portal.</span>
          </div>
        </div>
      </div>

      <div class="career-company reveal">
        <div class="career-company-name">Freelance</div>
        <div class="career-roles">
          <div class="career-role">
            <span class="career-period">May 2000 – May 2001</span>
            <span class="career-role-title">Digital Art Director</span>
            <span class="career-role-desc">Freelance consultant for national and international companies. Specialized in Flash websites and multimedia solutions.</span>
          </div>
        </div>
      </div>

    </div>
  </div>
</section>

<div class="section-divider"></div>

<!-- CONTACT -->
<section id="contact">
  <div class="container">
    <p class="section-label reveal">Contact</p>
    <div class="contact-links">
      <a class="contact-link reveal reveal-d1" href="https://linkedin.com/in/mtarello" target="_blank" rel="noopener noreferrer">linkedin.com/in/mtarello</a>
      <span class="contact-link reveal reveal-d2">mario [at] tarello [dot] it</span>
    </div>
  </div>
</section>

<script>
(function() {
  // Scroll reveal
  var reveals = document.querySelectorAll('.reveal');
  if ('IntersectionObserver' in window) {
    var io = new IntersectionObserver(function(entries) {
      entries.forEach(function(e) {
        if (e.isIntersecting) {
          e.target.classList.add('visible');
          io.unobserve(e.target);
        }
      });
    }, { threshold: 0.08, rootMargin: '0px 0px -32px 0px' });
    reveals.forEach(function(el) { io.observe(el); });
  } else {
    reveals.forEach(function(el) { el.classList.add('visible'); });
  }

  // Divider line animation
  var dividers = document.querySelectorAll('.section-divider');
  if ('IntersectionObserver' in window) {
    var divObs = new IntersectionObserver(function(entries) {
      entries.forEach(function(e) {
        if (e.isIntersecting) {
          e.target.classList.add('line-visible');
          divObs.unobserve(e.target);
        }
      });
    }, { threshold: 0.5 });
    dividers.forEach(function(d) { divObs.observe(d); });
  } else {
    dividers.forEach(function(d) { d.classList.add('line-visible'); });
  }

  // Custom cursor
  var cursor = document.getElementById('cursor');
  var mouseX = 0, mouseY = 0, curX = 0, curY = 0;
  var cursorVisible = false;

  document.addEventListener('mousemove', function(e) {
    mouseX = e.clientX;
    mouseY = e.clientY;
    if (!cursorVisible) {
      cursorVisible = true;
      cursor.style.opacity = '1';
    }
  });

  document.addEventListener('mouseleave', function() {
    cursor.style.opacity = '0';
    cursorVisible = false;
  });

  var clickables = document.querySelectorAll('a, button, [role="button"], .nav-dot, #theme-toggle');
  clickables.forEach(function(el) {
    el.addEventListener('mouseenter', function() { cursor.classList.add('expanded'); });
    el.addEventListener('mouseleave', function() { cursor.classList.remove('expanded'); });
  });

  (function animateCursor() {
    curX += (mouseX - curX) * 0.12;
    curY += (mouseY - curY) * 0.12;
    cursor.style.transform = 'translate(' + (curX - 14) + 'px,' + (curY - 14) + 'px)';
    requestAnimationFrame(animateCursor);
  })();

  // Nav dots
  var dots = document.querySelectorAll('.nav-dot');
  var sections = ['hero','about','clients','skills','career','contact'];

  dots.forEach(function(dot) {
    dot.addEventListener('click', function() {
      var target = document.getElementById(dot.getAttribute('data-target'));
      if (target) target.scrollIntoView({ behavior: 'smooth' });
    });
  });

  function updateDots() {
    var scrollY = window.pageYOffset || document.documentElement.scrollTop;
    var winH = window.innerHeight;
    var docH = document.documentElement.scrollHeight;
    var active = 0;

    if (scrollY + winH >= docH - 10) {
      active = sections.length - 1;
    } else if (scrollY < 50) {
      active = 0;
    } else {
      sections.forEach(function(id, i) {
        var el = document.getElementById(id);
        if (el && el.getBoundingClientRect().top <= winH * 0.6) active = i;
      });
    }

    dots.forEach(function(d, i) {
      d.classList.toggle('active', i === active);
    });
  }

  window.addEventListener('scroll', updateDots, { passive: true });
  updateDots();

  // Theme toggle
  var toggle = document.getElementById('theme-toggle');
  if (toggle) {
    toggle.addEventListener('click', function() {
      document.body.classList.toggle('light-mode');
    });
  }

  // Years counter animation
  var counterEl = document.getElementById('years-counter');
  var counterDone = false;
  if (counterEl && 'IntersectionObserver' in window) {
    var counterObs = new IntersectionObserver(function(entries) {
      if (entries[0].isIntersecting && !counterDone) {
        counterDone = true;
        var start = 0;
        var end = 25;
        var duration = 6000;
        var startTime = null;
        function easeOut(t) { return 1 - Math.pow(1 - t, 3); }
        function step(ts) {
          if (!startTime) startTime = ts;
          var progress = Math.min((ts - startTime) / duration, 1);
          counterEl.textContent = Math.round(easeOut(progress) * end);
          if (progress < 1) requestAnimationFrame(step);
        }
        requestAnimationFrame(step);
        counterObs.unobserve(counterEl);
      }
    }, { threshold: 0.5 });
    counterObs.observe(counterEl);
  } else if (counterEl) {
    counterEl.textContent = '25';
  }

  // Client name cycling animation
  var clients = document.querySelectorAll('.client-name');
  var currentClient = 0;
  function cycleClients() {
    if (clients[currentClient]) {
      clients[currentClient].classList.remove('lit');
    }
    currentClient = (currentClient + 1) % clients.length;
    if (clients[currentClient]) {
      clients[currentClient].classList.add('lit');
    }
  }
  if (clients.length > 0) {
    clients[0].classList.add('lit');
    setInterval(cycleClients, 500);
  }
  var bar = document.getElementById('scroll-bar');
  function updateBar() {
    var scrolled = window.pageYOffset || document.documentElement.scrollTop;
    var total = document.documentElement.scrollHeight - window.innerHeight;
    var pct = total > 0 ? (scrolled / total) * 100 : 0;
    bar.style.width = pct + '%';
  }
  window.addEventListener('scroll', updateBar, { passive: true });
  updateBar();
})();
</script>
</body>
</html>
