* { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --white: #FFFFFF;
  --off-white: #F6F3EC;
  --off-white-2: #FAF8F2;
  --blue: #2A8BC7;
  --blue-dark: #1E7AB0;
  --pink: #E56B96;
  --purple-mid: #A05FA8;
  --text: #1B2540;
  --text-soft: #4E5670;
  --text-muted: #8B92A6;
  --divider: rgba(27, 37, 64, 0.08);
  --sans: 'DM Sans', system-ui, -apple-system, sans-serif;
}

html { scroll-behavior: smooth; }

body {
  background: var(--white);
  color: var(--text);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

.container {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 40px;
}

/* ---------- Header ---------- */
.site-header {
  padding: 28px 0;
  background: var(--white);
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid var(--divider);
}

.site-header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.logo-img {
  height: 52px;
  width: auto;
  display: block;
}

.nav {
  display: flex;
  gap: 40px;
  align-items: center;
}

.nav a {
  color: var(--text);
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  transition: color 0.2s ease;
}

.nav a:hover, .nav a.active { color: var(--blue); }

.nav .cta-nav {
  background: var(--text);
  color: var(--white);
  padding: 11px 22px;
  border-radius: 100px;
  font-weight: 500;
  transition: background 0.2s ease;
}

.nav .cta-nav:hover, .nav .cta-nav.active {
  background: var(--blue);
  color: var(--white);
}

/* ---------- Hero ---------- */
.hero {
  padding: 100px 0 70px;
  background: var(--white);
}

.hero h1 {
  font-family: var(--sans);
  font-weight: 500;
  font-size: clamp(44px, 6.5vw, 88px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--text);
  max-width: 1080px;
  margin-bottom: 48px;
}

.hero .subtitle {
  font-size: clamp(20px, 1.8vw, 24px);
  color: var(--text-soft);
  max-width: 720px;
  line-height: 1.45;
  font-weight: 400;
}

/* Smaller hero for internal pages */
.hero-small { padding: 80px 0 60px; }

.hero-small h1 {
  font-size: clamp(38px, 5.2vw, 68px);
  line-height: 1.08;
  margin-bottom: 32px;
}

.hero-small .subtitle {
  font-size: clamp(19px, 1.6vw, 22px);
}

.breadcrumb {
  font-size: 14px;
  color: var(--text-muted);
  margin-bottom: 32px;
}

.breadcrumb a {
  color: var(--text-muted);
  text-decoration: none;
  transition: color 0.2s;
}

.breadcrumb a:hover { color: var(--blue); }

/* ---------- Gradient bar ---------- */
.gradient-bar {
  height: 6px;
  background: linear-gradient(90deg, var(--blue) 0%, var(--purple-mid) 50%, var(--pink) 100%);
}

/* ---------- Blue block section ---------- */
.blue-block {
  background: var(--blue);
  color: var(--white);
  padding: 110px 0;
  border-radius: 40px 40px 0 0;
  margin-top: -1px;
}

.blue-block .container {
  max-width: 900px;
}

.blue-block .body {
  font-size: clamp(20px, 1.7vw, 24px);
  line-height: 1.55;
  font-weight: 400;
  color: var(--white);
  letter-spacing: -0.005em;
}

.blue-block .body p {
  margin-bottom: 28px;
}

.blue-block .body p:last-child { margin-bottom: 0; }

.blue-block.with-mark .body p:last-child::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background: var(--pink);
  margin-top: 40px;
  border-radius: 2px;
}

/* ---------- Standard content section ---------- */
.section {
  padding: 110px 0;
}

.section-off-white { background: var(--off-white); }

.section-label {
  font-size: 14px;
  font-weight: 600;
  color: var(--pink);
  margin-bottom: 24px;
  letter-spacing: 0.02em;
}

.section-heading {
  font-size: clamp(30px, 3.8vw, 44px);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--text);
  max-width: 800px;
  margin-bottom: 40px;
}

.section-body {
  max-width: 720px;
  font-size: 18px;
  line-height: 1.7;
  color: var(--text-soft);
}

.section-body p {
  margin-bottom: 24px;
}

.section-body p:last-child { margin-bottom: 0; }

.section-body strong {
  color: var(--text);
  font-weight: 600;
}

/* ---------- Areas grid ---------- */
.areas-heading {
  font-size: clamp(34px, 4.5vw, 56px);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.025em;
  color: var(--text);
  margin-bottom: 24px;
  max-width: 900px;
}

.areas-intro {
  font-size: 18px;
  color: var(--text-soft);
  max-width: 640px;
  margin-bottom: 72px;
  line-height: 1.6;
}

.areas-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.area-card {
  background: var(--white);
  border-radius: 20px;
  padding: 44px 40px;
  border: 1px solid var(--divider);
  text-decoration: none;
  color: var(--text);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 240px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.area-card:nth-child(4n+1) { border-top: 3px solid var(--blue); }
.area-card:nth-child(4n+2) { border-top: 3px solid var(--pink); }
.area-card:nth-child(4n+3) { border-top: 3px solid var(--pink); }
.area-card:nth-child(4n+0) { border-top: 3px solid var(--blue); }

.area-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(27, 37, 64, 0.08);
  border-color: rgba(27, 37, 64, 0.15);
}

.area-title {
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.015em;
  margin-bottom: 16px;
  color: var(--text);
}

.area-desc {
  font-size: 15.5px;
  color: var(--text-soft);
  line-height: 1.55;
  margin-bottom: 24px;
}

.area-link {
  font-size: 14px;
  font-weight: 500;
  color: var(--blue);
  letter-spacing: 0.005em;
}

.area-card:nth-child(4n+2) .area-link,
.area-card:nth-child(4n+3) .area-link { color: var(--pink); }

/* ---------- Joihr intro (two-column) ---------- */
.joihr-intro {
  background: var(--off-white-2);
  padding: 110px 0;
}

.joihr-intro-grid {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 80px;
  align-items: start;
  max-width: 1080px;
}

.joihr-icon {
  width: 100%;
  max-width: 220px;
  height: auto;
}

.joihr-intro-content { padding-top: 8px; }

.joihr-intro-content .body {
  font-size: 21px;
  line-height: 1.55;
  color: var(--text);
  font-weight: 400;
  letter-spacing: -0.005em;
  margin-bottom: 32px;
}

.link-underline {
  color: var(--text);
  text-decoration: none;
  border-bottom: 2px solid var(--pink);
  padding-bottom: 3px;
  font-size: 15px;
  font-weight: 500;
  display: inline-block;
  transition: color 0.2s;
}

.link-underline:hover { color: var(--pink); }

/* ---------- CTA final ---------- */
.cta-final {
  background: var(--text);
  color: var(--white);
  padding: 130px 0;
  position: relative;
  overflow: hidden;
}

.cta-final::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background: linear-gradient(90deg, var(--blue) 0%, var(--purple-mid) 50%, var(--pink) 100%);
}

.cta-text {
  font-size: clamp(28px, 3.6vw, 46px);
  font-weight: 400;
  line-height: 1.25;
  max-width: 880px;
  margin-bottom: 52px;
  color: var(--white);
  letter-spacing: -0.02em;
}

.cta-button {
  display: inline-block;
  padding: 20px 40px;
  background: var(--white);
  color: var(--text);
  text-decoration: none;
  font-weight: 500;
  font-size: 16px;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  font-family: var(--sans);
  transition: background 0.2s, color 0.2s, transform 0.2s;
}

.cta-button:hover {
  background: var(--pink);
  color: var(--white);
  transform: translateY(-2px);
}

.cta-button.dark {
  background: var(--text);
  color: var(--white);
}

.cta-button.dark:hover {
  background: var(--blue);
  color: var(--white);
}

/* ---------- Footer ---------- */
.footer {
  background: var(--white);
  padding: 56px 0 40px;
  border-top: 1px solid var(--divider);
}

.footer-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
  font-size: 14px;
  color: var(--text-muted);
}

.footer-brand {
  display: flex;
  align-items: center;
  gap: 16px;
}

.footer-logo { height: 32px; width: auto; }

.footer-nav {
  display: flex;
  gap: 24px;
}

.footer-nav a {
  color: var(--text-muted);
  text-decoration: none;
  transition: color 0.2s;
}

.footer-nav a:hover { color: var(--text); }

.footer-contact {
  display: flex;
  gap: 28px;
}

.footer-contact a {
  color: var(--text-muted);
  text-decoration: none;
  transition: color 0.2s;
}

.footer-contact a:hover { color: var(--text); }

/* ---------- Detailed area page ---------- */
.area-section {
  padding: 90px 0;
}

.area-section-heading {
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--text);
  margin-bottom: 32px;
  max-width: 780px;
}

.area-section .section-body {
  max-width: 780px;
  font-size: 19px;
  color: var(--text-soft);
}

/* ---------- Chi siamo — people ---------- */
.person {
  padding: 90px 0;
  border-bottom: 1px solid var(--divider);
}

.person:last-of-type { border-bottom: none; }

.person-grid {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 60px;
  align-items: start;
}

.person-name {
  font-size: 28px;
  font-weight: 600;
  color: var(--text);
  letter-spacing: -0.02em;
  padding-top: 6px;
}

.person-body {
  font-size: 18px;
  line-height: 1.7;
  color: var(--text-soft);
  max-width: 720px;
}

.te-block {
  background: var(--blue);
  color: var(--white);
  padding: 100px 0;
  border-radius: 40px 40px 0 0;
}

.te-block .container { max-width: 900px; }

.te-block .body {
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: -0.01em;
}

.te-block .label {
  font-size: 14px;
  font-weight: 600;
  color: var(--pink);
  margin-bottom: 24px;
  letter-spacing: 0.04em;
}

.believe-section {
  padding: 110px 0;
  background: var(--off-white-2);
}

.believe-list {
  max-width: 780px;
  margin-top: 40px;
}

.believe-list p {
  font-size: 21px;
  line-height: 1.5;
  color: var(--text);
  margin-bottom: 32px;
  padding-left: 24px;
  border-left: 3px solid var(--pink);
  padding-top: 4px;
  padding-bottom: 4px;
  font-weight: 400;
  letter-spacing: -0.005em;
}

.believe-list p:nth-child(even) { border-left-color: var(--blue); }

.believe-list p:last-child { margin-bottom: 0; }

/* ---------- Contact form ---------- */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
  max-width: 1080px;
}

.contact-info h3 {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-muted);
  margin-bottom: 12px;
  letter-spacing: 0.02em;
}

.contact-info-item {
  margin-bottom: 40px;
}

.contact-info-item a, .contact-info-item span {
  font-size: 22px;
  color: var(--text);
  text-decoration: none;
  font-weight: 500;
  letter-spacing: -0.01em;
  transition: color 0.2s;
  display: inline-block;
}

.contact-info-item a:hover { color: var(--blue); }

.form-field {
  margin-bottom: 24px;
}

.form-field label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: var(--text-soft);
  margin-bottom: 8px;
}

.form-field input,
.form-field textarea {
  width: 100%;
  padding: 14px 18px;
  border: 1px solid var(--divider);
  border-radius: 10px;
  font-family: var(--sans);
  font-size: 16px;
  color: var(--text);
  background: var(--white);
  transition: border-color 0.2s;
}

.form-field input:focus,
.form-field textarea:focus {
  outline: none;
  border-color: var(--blue);
}

.form-field textarea {
  resize: vertical;
  min-height: 140px;
}

.form-note {
  font-size: 13px;
  color: var(--text-muted);
  margin-top: 12px;
  line-height: 1.5;
}

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
  .container { padding: 0 24px; }
  .nav { gap: 20px; }
  .hero { padding: 60px 0 50px; }
  .blue-block, .te-block { padding: 70px 0; border-radius: 28px 28px 0 0; }
  .section, .joihr-intro, .believe-section { padding: 70px 0; }
  .cta-final { padding: 80px 0; }
  .area-section { padding: 60px 0; }
  .person { padding: 60px 0; }
  .areas-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .area-card {
    padding: 36px 30px;
    min-height: auto;
  }
  .joihr-intro-grid, .person-grid, .contact-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .joihr-icon { max-width: 140px; }
}

@media (max-width: 640px) {
  .container { padding: 0 20px; }
  .site-header { padding: 18px 0; }
  .logo-img { height: 42px; }
  .nav { gap: 12px; font-size: 14px; }
  .nav a:not(.cta-nav) { display: none; }
  .hero { padding: 40px 0 40px; }
  .hero h1 { margin-bottom: 32px; }
  .joihr-intro-content .body { font-size: 19px; }
  .blue-block .body, .te-block .body { font-size: 18px; }
  .believe-list p { font-size: 18px; }
  .footer-inner { flex-direction: column; align-items: flex-start; }
}

/* ---------- Joihr redesign v2 ---------- */
:root{--ink:#17233d;--blue:#178dcc;--blue-deep:#0877b1;--pink:#d7568e;--paper:#f7f7f4;--line:#dfe4ea}
body{font-family:'DM Sans',sans-serif;color:var(--ink);font-size:17px;line-height:1.65}
h1,h2,h3{font-family:'Manrope','DM Sans',sans-serif}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{padding:16px 0;background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}
.header-inner,.site-header>.container{display:flex;align-items:center;justify-content:space-between}
.brand img,.logo-img{height:56px;width:auto;display:block}.menu-toggle{display:none;border:0;background:none;padding:10px;cursor:pointer}.menu-toggle>span:not(.sr-only){display:block;width:27px;height:2px;background:var(--ink);margin:5px 0;transition:.2s}
.nav{gap:34px}.nav a{font-weight:600}.nav .cta-nav{background:var(--ink);padding:12px 23px}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:13px;font-weight:700;color:var(--pink);margin:0 0 20px}.eyebrow.light{color:#ffd3e6}
.hero-v2{min-height:760px;position:relative;display:flex;align-items:center;overflow:hidden;background:#eef5f8}.hero-photo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(238,245,248,.99) 0%,rgba(238,245,248,.95) 34%,rgba(238,245,248,.16) 64%),url('assets/hero-consulenza-esempio.png') center/cover no-repeat}.hero-v2-inner{position:relative;width:100%}.hero-copy{max-width:720px;padding:80px 0}.hero-copy h1{font-size:clamp(46px,5.7vw,78px);line-height:1.03;letter-spacing:-.045em;font-weight:600;margin:0 0 32px}.hero-lead{font-size:21px;line-height:1.55;max-width:660px;margin-bottom:38px;color:#3f4b61}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:16px 28px;text-decoration:none;font-weight:700;font-size:15px;transition:.2s}.button-primary{background:var(--ink);color:white}.button-primary:hover{background:var(--blue);transform:translateY(-2px)}.button-outline{border:1.5px solid var(--ink);color:var(--ink)}.button-outline:hover{background:var(--ink);color:white}.button-white{background:white;color:var(--ink)}.text-link{color:var(--ink);font-weight:700;text-decoration:none;border-bottom:2px solid var(--pink);padding-bottom:4px}.light-link{color:white}
.signal-section,.services-section,.method-section,.about-preview{padding:120px 0}.split-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:100px;align-items:end;margin-bottom:64px}.split-heading h2,.services-section h2,.approach-copy h2,.about-grid h2{font-size:clamp(35px,4vw,54px);line-height:1.12;letter-spacing:-.035em;margin:0;max-width:800px}.section-intro{font-size:19px;color:#556076;margin:0}
.signal-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.signal-grid article{padding:34px 28px 40px;border-right:1px solid var(--line)}.signal-grid article:last-child{border:0}.signal-grid span,.service-num{font-size:13px;font-weight:700;color:var(--pink)}.signal-grid h3{font-size:21px;line-height:1.25;margin:36px 0 14px}.signal-grid p{font-size:15px;line-height:1.6;color:#5b6578;margin:0}
.approach-section{background:var(--ink);color:white;padding:120px 0}.approach-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:120px;align-items:center}.approach-visual{border-left:5px solid var(--pink);padding-left:38px}.big-word{font-family:'Manrope';font-size:clamp(90px,13vw,170px);font-weight:700;letter-spacing:-.09em;line-height:.8;color:var(--blue)}.approach-visual p{font-size:20px;margin:25px 0 0}.approach-copy h2{color:white;margin-bottom:30px}.approach-copy>p:not(.eyebrow){font-size:19px;color:#dae0eb;margin:0 0 22px}.approach-copy .text-link{display:inline-block;margin-top:16px}
.services-section{background:white}.services-section>.container:first-child{margin-bottom:60px}.services-list{border-top:1px solid var(--line)}.services-list>a{display:grid;grid-template-columns:70px 1fr 40px;gap:22px;align-items:center;text-decoration:none;color:var(--ink);padding:33px 10px;border-bottom:1px solid var(--line);transition:.2s}.services-list>a:hover{padding-left:25px;background:#f5f8fa}.services-list h3{font-size:27px;margin:0 0 6px}.services-list p{margin:0;color:#667084}.services-list b{font-size:26px;color:var(--blue)}
.method-section{background:var(--paper)}.method-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:45px}.method-steps>div{background:white;padding:30px;border-top:4px solid var(--blue);min-height:250px}.method-steps>div:nth-child(even){border-color:var(--pink)}.method-steps b{font-size:34px;color:#c7d0da}.method-steps h3{font-size:20px;margin:30px 0 10px}.method-steps p{font-size:15px;color:#667084}
.proof-section{padding:120px 0;background:linear-gradient(135deg,var(--blue-deep),#376ab3);color:white}.proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.proof-grid h2{font-size:clamp(34px,4vw,53px);line-height:1.12;letter-spacing:-.035em}.case-card{background:white;color:var(--ink);padding:44px;border-radius:4px}.case-label{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--pink);font-weight:700}.case-card>p:not(.case-label){font-size:19px}.case-card ul{padding-left:20px;margin:25px 0}.case-card li{margin:10px 0}.case-card small{display:block;color:#7a8292;border-top:1px solid var(--line);padding-top:18px}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.about-grid img{width:100%;height:600px;object-fit:cover}.about-grid h2{margin-bottom:28px}.about-grid>div>p:not(.eyebrow){font-size:19px;color:#566175}.placeholder-note{font-size:13px!important;color:#8c6576!important;font-style:italic;margin:24px 0}.final-cta{padding:120px 0;background:var(--ink);color:white}.final-cta .container{max-width:1000px}.final-cta h2{font-size:clamp(43px,6vw,75px);line-height:1.03;letter-spacing:-.045em;margin:0 0 28px}.final-cta p:not(.eyebrow){font-size:20px;color:#d5dbe6;max-width:700px;margin-bottom:35px}

@media(max-width:960px){.hero-v2{min-height:700px}.hero-photo{background:linear-gradient(90deg,rgba(238,245,248,.97),rgba(238,245,248,.82)),url('assets/hero-consulenza-esempio.png') center/cover}.split-heading,.approach-grid,.proof-grid,.about-grid{grid-template-columns:1fr;gap:42px}.signal-grid,.method-steps{grid-template-columns:repeat(2,1fr)}.signal-grid article:nth-child(2){border-right:0}.signal-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.about-grid img{height:520px;max-width:620px}}
@media(max-width:640px){.site-header>.container,.header-inner{flex-wrap:wrap}.brand img,.logo-img{height:45px}.menu-toggle{display:block}.nav{display:none!important;order:3;width:100%;padding:22px 0 8px;grid-template-columns:1fr;gap:4px}.menu-open .nav{display:grid!important}.nav a:not(.cta-nav){display:block}.nav a{padding:11px 0}.nav .cta-nav{text-align:center;margin-top:8px}.hero-v2{min-height:auto}.hero-photo{position:absolute;background:linear-gradient(180deg,rgba(238,245,248,.97) 0%,rgba(238,245,248,.9) 60%,rgba(238,245,248,.68)),url('assets/hero-consulenza-esempio.png') 62% center/cover}.hero-copy{padding:75px 0}.hero-copy h1{font-size:42px}.hero-lead{font-size:18px}.signal-section,.services-section,.method-section,.about-preview,.approach-section,.proof-section,.final-cta{padding:76px 0}.split-heading{margin-bottom:40px}.signal-grid,.method-steps{grid-template-columns:1fr}.signal-grid article{border-right:0;border-bottom:1px solid var(--line)!important}.signal-grid article:last-child{border-bottom:0!important}.approach-grid{gap:60px}.big-word{font-size:105px}.services-list>a{grid-template-columns:42px 1fr 22px;align-items:start}.services-list h3{font-size:21px}.services-list p{font-size:14px}.method-steps>div{min-height:auto}.case-card{padding:28px}.about-grid img{height:420px}.footer-nav,.footer-contact{flex-direction:column;gap:10px}}

.about-photo-band{padding:80px 0;background:var(--paper)}.about-photo-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.about-photo-grid img{width:100%;height:520px;object-fit:cover}.about-photo-grid p{font-family:'Manrope';font-size:clamp(27px,3vw,41px);line-height:1.23;letter-spacing:-.025em;margin:0 0 24px}.about-photo-grid small{color:#846777;font-style:italic}
@media(max-width:960px){.about-photo-grid{grid-template-columns:1fr;gap:35px}.about-photo-grid img{height:520px;max-width:620px}}
@media(max-width:640px){.about-photo-band{padding:55px 0}.about-photo-grid img{height:420px}}

/* ---------- Home v3: definitive copy ---------- */
.hero-v3{min-height:760px;position:relative;display:flex;align-items:center;overflow:hidden;background:#eef5f8}.hero-v3-photo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(238,245,248,.99) 0%,rgba(238,245,248,.94) 38%,rgba(238,245,248,.12) 70%),url('assets/hero-consulenza-esempio.png') center/cover no-repeat}.hero-v3-inner{position:relative;width:100%}.hero-v3-copy{max-width:780px;padding:85px 0}.hero-v3-copy h1{font-size:clamp(48px,6vw,82px);line-height:1.02;letter-spacing:-.05em;font-weight:600;margin:0 0 28px}.hero-v3-subtitle{font-size:clamp(20px,2vw,25px);color:#3f4b61;max-width:620px;margin:0 0 38px}
.manifesto-section{padding:125px 0;background:#fff}.manifesto-grid{display:grid;grid-template-columns:260px 1fr;gap:90px;align-items:start}.manifesto-index{position:sticky;top:130px;border-top:3px solid var(--pink);padding-top:20px}.manifesto-index span{font-size:13px;font-weight:700;color:var(--pink)}.manifesto-index p{font-family:'Manrope';font-size:20px;font-weight:600;margin:12px 0}.manifesto-copy{max-width:820px}.manifesto-copy p{font-size:19px;line-height:1.75;color:#536075;margin:0 0 24px}.manifesto-copy .manifesto-lead{font-family:'Manrope';font-size:clamp(29px,3.2vw,43px);line-height:1.25;letter-spacing:-.025em;color:var(--ink);margin-bottom:34px}
.sensation-v3{padding:120px 0;background:var(--paper)}.sensation-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}.sensation-title h2{font-size:clamp(37px,4.2vw,57px);line-height:1.1;letter-spacing:-.04em;margin:0}.sensation-copy{padding-top:48px}.sensation-copy p{font-size:18px;line-height:1.75;color:#566175;margin:0 0 24px}.sensation-copy .opening-line{font-family:'Manrope';font-size:27px;line-height:1.35;color:var(--ink);font-weight:600;border-left:4px solid var(--pink);padding-left:22px;margin-bottom:30px}
.services-intro{margin-bottom:60px}.services-intro>p:last-child{font-size:19px;color:#627084;max-width:660px;margin-top:22px}.about-image-wrap{position:relative}.about-image-wrap span{position:absolute;left:16px;bottom:16px;background:rgba(23,35,61,.88);color:white;padding:7px 11px;font-size:12px;letter-spacing:.04em}.about-preview .button{margin-top:18px}.final-cta h2{max-width:1040px}.final-cta .button{margin-top:8px}

@media(max-width:960px){.hero-v3{min-height:700px}.hero-v3-photo{background:linear-gradient(90deg,rgba(238,245,248,.98),rgba(238,245,248,.78)),url('assets/hero-consulenza-esempio.png') 58% center/cover}.manifesto-grid{grid-template-columns:180px 1fr;gap:50px}.sensation-grid{grid-template-columns:1fr;gap:30px}.sensation-copy{padding-top:0}}
@media(max-width:640px){.hero-v3{min-height:auto}.hero-v3-photo{background:linear-gradient(180deg,rgba(238,245,248,.98),rgba(238,245,248,.82)),url('assets/hero-consulenza-esempio.png') 63% center/cover}.hero-v3-copy{padding:72px 0}.hero-v3-copy h1{font-size:43px}.hero-v3-subtitle{font-size:18px}.manifesto-section,.sensation-v3{padding:76px 0}.manifesto-grid{grid-template-columns:1fr;gap:32px}.manifesto-index{position:static;display:flex;align-items:center;gap:14px}.manifesto-index p{margin:0}.manifesto-copy p{font-size:17px}.manifesto-copy .manifesto-lead{font-size:28px}.sensation-copy .opening-line{font-size:23px}.about-image-wrap img{height:420px}}

/* ---------- Real Joihr photography ---------- */
.hero-v3{background:linear-gradient(115deg,#eef5f8 0%,#f8f6f2 100%)}.hero-v3-inner{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:70px;align-items:center}.hero-v3-copy{max-width:760px}.hero-v3-images{position:relative;height:620px;margin:60px 0}.hero-main-photo{position:absolute;right:0;top:0;width:84%;height:570px;object-fit:cover;object-position:center 28%;box-shadow:0 24px 65px rgba(23,35,61,.18)}.hero-small-photo{position:absolute;left:0;bottom:0;width:43%;height:245px;object-fit:cover;object-position:center 33%;border:10px solid #eef5f8;box-shadow:0 18px 45px rgba(23,35,61,.16)}
.about-image-wrap img{object-position:center 34%}.about-real-collage{position:relative;min-height:620px}.about-real-main{position:absolute;left:0;top:0;width:76%!important;height:535px!important;object-fit:cover;object-position:center 25%;box-shadow:0 20px 55px rgba(23,35,61,.15)}.about-real-secondary{position:absolute;right:0;bottom:0;width:43%!important;height:285px!important;object-fit:cover;object-position:center 70%;border:10px solid var(--paper);box-shadow:0 16px 38px rgba(23,35,61,.18)}
@media(max-width:960px){.hero-v3-inner{grid-template-columns:1fr;gap:0}.hero-v3-copy{padding-bottom:15px}.hero-v3-images{height:560px;margin:20px 0 65px}.hero-main-photo{width:78%;height:520px}.hero-small-photo{width:36%;height:225px}.about-real-collage{max-width:650px}}
@media(max-width:640px){.hero-v3-copy{padding-bottom:28px}.hero-v3-images{height:440px;margin:0 0 55px}.hero-main-photo{width:87%;height:410px}.hero-small-photo{width:45%;height:180px;border-width:7px}.about-real-collage{min-height:490px}.about-real-main{width:84%!important;height:430px!important}.about-real-secondary{width:45%!important;height:215px!important;border-width:7px}}

/* Final selected professional portraits */
.hero-v3-images{height:540px}.hero-main-photo{width:100%;height:540px;object-position:center;box-shadow:0 24px 65px rgba(23,35,61,.16)}.about-image-wrap img{object-position:center 30%}.about-real-collage{min-height:600px}.about-real-main{width:100%!important;height:600px!important;object-position:center 25%}.about-real-secondary{display:none}
@media(max-width:960px){.hero-v3-images{height:470px}.hero-main-photo{width:100%;height:470px}.about-real-collage{min-height:560px}.about-real-main{height:560px!important}}
@media(max-width:640px){.hero-v3-images{height:330px}.hero-main-photo{width:100%;height:330px}.about-real-collage{min-height:450px}.about-real-main{width:100%!important;height:450px!important}}

/* Show both people in the hero without lateral cropping */
.hero-v3-images{height:auto;margin:60px 0;display:flex;align-items:center}.hero-main-photo{position:static;width:100%;height:auto;object-fit:contain;object-position:center;display:block}.hero-small-photo{display:none}
@media(max-width:960px){.hero-v3-images{height:auto;margin:18px 0 65px}.hero-main-photo{height:auto}}
@media(max-width:640px){.hero-v3-images{height:auto;margin:0 0 50px}.hero-main-photo{height:auto}}

/* Large hero crop: both women visible, excess table and chairs removed */
@media(min-width:961px){.hero-v3{min-height:760px;background:linear-gradient(90deg,rgba(238,245,248,.98) 0%,rgba(238,245,248,.91) 37%,rgba(238,245,248,.18) 61%,rgba(238,245,248,0) 100%),url('assets/joihr-hero-sguardo-camera.png') center/cover no-repeat}.hero-v3-inner{display:block}.hero-v3-copy{max-width:720px;padding:105px 0}.hero-v3-images{display:none}}
@media(max-width:960px){.hero-v3{background:linear-gradient(115deg,#eef5f8 0%,#f8f6f2 100%)}.hero-v3-inner{display:grid}.hero-v3-images{display:flex}.hero-main-photo{width:100%;transform:scale(1.06);clip-path:inset(3% 3% 8% 3%)}}

/* Final hero: natural smiling portrait, no altered posture */
@media(min-width:961px){.hero-v3{min-height:760px;background:linear-gradient(115deg,#eef5f8 0%,#f8f6f2 100%)}.hero-v3-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(460px,.9fr);gap:70px;align-items:center}.hero-v3-copy{max-width:720px;padding:90px 0}.hero-v3-images{display:flex;height:650px;margin:55px 0}.hero-main-photo{position:static;width:100%;height:650px;object-fit:cover;object-position:center 28%;transform:none;clip-path:none}}

/* Hero definitiva: sala riunioni, volti visibili e tavolo solo di contesto */
@media(min-width:961px){.hero-v3{min-height:760px;background:linear-gradient(90deg,rgba(238,245,248,.99) 0%,rgba(238,245,248,.94) 38%,rgba(238,245,248,.35) 58%,rgba(238,245,248,0) 76%),url('assets/joihr-hero-riunione-finale.png') center/cover no-repeat}.hero-v3-inner{display:block}.hero-v3-copy{max-width:720px;padding:105px 0}.hero-v3-images{display:none}}
@media(max-width:960px){.hero-v3{background:linear-gradient(115deg,#eef5f8 0%,#f8f6f2 100%)}.hero-v3-inner{display:grid;grid-template-columns:1fr}.hero-v3-images{display:flex;height:auto;margin:18px 0 55px;overflow:hidden}.hero-main-photo{position:static;width:100%;height:auto;object-fit:cover;object-position:center;transform:none;clip-path:none}}
@media(max-width:960px){.hero-main-photo{transform:none;clip-path:none;object-fit:cover;object-position:center 25%;height:560px}}
@media(max-width:640px){.hero-main-photo{height:440px}}

/* ---------- Lo sguardo: due lenti ---------- */
.approach-visual.lenses{border-left:0;padding-left:0;display:flex;flex-direction:column;gap:18px}
.lens{border-top:3px solid var(--blue);padding-top:20px}
.lens-people{border-top-color:var(--pink)}
.lens-name{display:block;font-family:'Manrope';font-weight:700;font-size:clamp(34px,3.6vw,48px);letter-spacing:-.03em;line-height:1;color:white}
.lens p{font-size:17px!important;color:#c3cbd8;margin:12px 0 0!important}
.lens-join{font-family:'Manrope';font-size:34px;font-weight:600;color:#7f8ba0;line-height:1}
.areas-grid .area-card:nth-child(5):last-child{grid-column:1/-1}
.person-trait{font-style:italic;color:var(--text)!important;border-left:3px solid var(--pink);padding-left:18px;margin-top:22px}

/* ---------- Pagine legali e footer ---------- */
.legal{max-width:780px}
.legal h2{font-size:24px;margin:44px 0 12px;color:var(--text)}
.legal h3{font-size:18px;margin:24px 0 8px;color:var(--text)}
.legal p,.legal li{font-size:16.5px;line-height:1.7;color:var(--text-soft)}
.legal ul{padding-left:20px}.legal li{margin:8px 0}
.legal a{color:var(--blue)}
.footer-legal{margin-top:28px;padding-top:20px;border-top:1px solid var(--divider);font-size:13px;color:var(--text-muted)}
.footer-legal a{color:var(--text-muted);text-decoration:underline}
